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: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] fix-dup-patch: Backport several gdb-7.6.x stable branch fixes (BZ 1055155). Date: Thu, 23 Jul 2026 18:31:11 GMT Message-ID: <178483147172.1.9853386619314662340.rpms-gdb-1be7752b2c84@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: 1be7752b2c847d19afd5968d199c96935df8d6a3 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGZpeC1kdXAtcGF0Y2gKQ29tbWl0IDogMWJlNzc1MmIyYzg0N2QxOWFmZDU5NjhkMTk5Yzk2OTM1 ZGY4ZDZhMwpBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNv bT4KRGF0ZSAgIDogMjAxNC0wMS0xOVQxOTozODowNSswMTowMApTdGF0cyAgOiArODcyLy0xMSBp biA0IGZpbGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9n ZGIvYy8xYmU3NzUyYjJjODQ3ZDE5YWZkNTk2OGQxOTljOTY5MzVkZjhkNmEzP2JyYW5jaD1maXgt ZHVwLXBhdGNoCgpMb2c6CkJhY2twb3J0IHNldmVyYWwgZ2RiLTcuNi54IHN0YWJsZSBicmFuY2gg Zml4ZXMgKEJaIDEwNTUxNTUpLgoKLS0tCmRpZmYgLS1naXQgYS9nZGItNi42LWJ1aWxkaWQtbG9j YXRlLXJwbS5wYXRjaCBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLnBhdGNoCmluZGV4IDAx ZTU2MGQuLjMxOTJlZTEgMTAwNjQ0Ci0tLSBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLnBh dGNoCisrKyBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLnBhdGNoCkBAIC00MjksMTcgKzQy OSwxNyBAQCBJbmRleDogZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMvZ2RiL2VsZnJlYWQuYwogKyNp ZmRlZiBIQVZFX0xJQlJQTQogKyAgaWYgKG1pc3NpbmdfZXhlYyA9PSBNSVNTSU5HX0VYRUNfTk9U X1RSSUVEKQogKyAgICB7Ci0rICAgICAgY2hhciAqZXhlY19maWxlbmFtZTsKKysgICAgICBjaGFy ICpleGVjZmlsZW5hbWU7CiAgCiAtICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csCiAt CQkgICAgICBfKCJNaXNzaW5nIHNlcGFyYXRlIGRlYnVnaW5mbyBmb3IgJXNcbiIpLCBiaW5hcnkp OwogLSAgaWYgKGRlYnVnICE9IE5VTEwpCiAtICAgIGZwcmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0 ZGxvZywgXygiVHJ5IHRvIGluc3RhbGwgdGhlIGhhc2ggZmlsZSAlc1xuIiksCiAtCQkJZGVidWcp OwotKyAgICAgIGV4ZWNfZmlsZW5hbWUgPSBnZXRfZXhlY19maWxlICgwKTsKLSsgICAgICBpZiAo ZXhlY19maWxlbmFtZSAhPSBOVUxMKQorKyAgICAgIGV4ZWNmaWxlbmFtZSA9IGdldF9leGVjX2Zp bGUgKDApOworKyAgICAgIGlmIChleGVjZmlsZW5hbWUgIT0gTlVMTCkKICsJewotKwkgIGlmICht aXNzaW5nX3JwbV9lbmxpc3QgKGV4ZWNfZmlsZW5hbWUpID09IDApCisrCSAgaWYgKG1pc3Npbmdf cnBtX2VubGlzdCAoZXhlY2ZpbGVuYW1lKSA9PSAwKQogKwkgICAgbWlzc2luZ19leGVjID0gTUlT U0lOR19FWEVDX05PVF9GT1VORDsKICsJICBlbHNlCiArCSAgICBtaXNzaW5nX2V4ZWMgPSBNSVNT SU5HX0VYRUNfRU5MSVNURUQ7CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5w YXRjaCBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2gKaW5kZXggMmE1NTE3Zi4uMGI5Njdm ZCAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaAorKysgYi9nZGItNi42 LWJ1aWxkaWQtbG9jYXRlLnBhdGNoCkBAIC0yMyw3ICsyMyw3IEBAIEluZGV4OiBnZGItNy42LjUw LjIwMTMwNzMxLWN2cy9nZGIvY29yZWxvdy5jCiArewogKyAgQ09SRV9BRERSIGF0X2VudHJ5Owog KyAgc3RydWN0IGVsZl9idWlsZF9pZCAqYnVpbGRfaWQ7Ci0rICBjaGFyICpleGVjX2ZpbGVuYW1l LCAqZGVidWdfZmlsZW5hbWU7CisrICBjaGFyICpleGVjZmlsZW5hbWUsICpkZWJ1Z19maWxlbmFt ZTsKICsgIGNoYXIgKmJ1aWxkX2lkX2ZpbGVuYW1lOwogKyAgc3RydWN0IGNsZWFudXAgKmJhY2tf dG87CiArCkBAIC00NCwxNCArNDQsMTQgQEAgSW5kZXg6IGdkYi03LjYuNTAuMjAxMzA3MzEtY3Zz L2dkYi9jb3JlbG93LmMKICsgICAgIGZpbGUgLSBzdWNoIC5laF9mcmFtZSB3b3VsZCBub3QgYmUg Zm91bmQgaWYgU1lNRklMRV9PQkpGSUxFIHdvdWxkIHJlZmVyCiArICAgICBkaXJlY3RseSB0byB0 aGUgc2VwYXJhdGUgZGVidWcgaW5mbyBmaWxlLiAgKi8KICsKLSsgIGV4ZWNfZmlsZW5hbWUgPSBi dWlsZF9pZF90b19maWxlbmFtZSAoYnVpbGRfaWQsICZidWlsZF9pZF9maWxlbmFtZSwgMCk7Cisr ICBleGVjZmlsZW5hbWUgPSBidWlsZF9pZF90b19maWxlbmFtZSAoYnVpbGRfaWQsICZidWlsZF9p ZF9maWxlbmFtZSwgMCk7CiArICBtYWtlX2NsZWFudXAgKHhmcmVlLCBidWlsZF9pZF9maWxlbmFt ZSk7CiArCi0rICBpZiAoZXhlY19maWxlbmFtZSAhPSBOVUxMKQorKyAgaWYgKGV4ZWNmaWxlbmFt ZSAhPSBOVUxMKQogKyAgICB7Ci0rICAgICAgbWFrZV9jbGVhbnVwICh4ZnJlZSwgZXhlY19maWxl bmFtZSk7Ci0rICAgICAgZXhlY19maWxlX2F0dGFjaCAoZXhlY19maWxlbmFtZSwgZnJvbV90dHkp OwotKyAgICAgIHN5bWJvbF9maWxlX2FkZF9tYWluIChleGVjX2ZpbGVuYW1lLCBmcm9tX3R0eSk7 CisrICAgICAgbWFrZV9jbGVhbnVwICh4ZnJlZSwgZXhlY2ZpbGVuYW1lKTsKKysgICAgICBleGVj X2ZpbGVfYXR0YWNoIChleGVjZmlsZW5hbWUsIGZyb21fdHR5KTsKKysgICAgICBzeW1ib2xfZmls ZV9hZGRfbWFpbiAoZXhlY2ZpbGVuYW1lLCBmcm9tX3R0eSk7CiArICAgICAgaWYgKHN5bWZpbGVf b2JqZmlsZSAhPSBOVUxMKQogKyAgICAgICAgc3ltZmlsZV9vYmpmaWxlLT5mbGFncyB8PSBPQkpG X0JVSUxEX0lEX0NPUkVfTE9BREVEOwogKyAgICB9CgpkaWZmIC0tZ2l0IGEvZ2RiLXVwc3RyZWFt LnBhdGNoIGIvZ2RiLXVwc3RyZWFtLnBhdGNoCmluZGV4IGRhNGMxMjcuLjcyYmNjZTQgMTAwNjQ0 Ci0tLSBhL2dkYi11cHN0cmVhbS5wYXRjaAorKysgYi9nZGItdXBzdHJlYW0ucGF0Y2gKQEAgLTIw MSwzICsyMDEsODYxIEBAIGluZGV4IDkzMjQ2YjMuLmMyZDI3MWEgMTAwNjQ0CiAgCiAgICBmb3Ig KGkgPSAwOyBpIDwgY291bnQ7IGkrKykKICAgICAgeworCisKKworY29tbWl0IDlhOTVlNzVlZTk5 NDRjYmU2ZmUzMDIxYjkyYTdjNGRlODdiZTZmZTEKK0F1dGhvcjogWWFvIFFpIDx5YW9AY29kZXNv dXJjZXJ5LmNvbT4KK0RhdGU6ICAgV2VkIEF1ZyAxNCAxMTo1MzoxMSAyMDEzICswMDAwCisKKyAg ICBnZGIvCisgICAgCisgICAgCVBSIGdkYi8xNTgzNzoKKyAgICAJKiBmcmFtZS5oIChyZWFkX2Zy YW1lX2xvY2FsKTogRGVjbGFyZS4KKyAgICAJKiBtaS9taS1jbWQtc3RhY2suYyAobGlzdF9hcmdz X29yX2xvY2Fscyk6IENhbGwKKyAgICAJcmVhZF9mcmFtZV9sb2NhbC4KKyAgICAJKiBzdGFjay5j IChyZWFkX2ZyYW1lX2xvY2FsKTogTmV3LgorCisjIyMgYS9nZGIvQ2hhbmdlTG9nCisjIyMgYi9n ZGIvQ2hhbmdlTG9nCisjIyAtMSwzICsxLDExIEBACisrMjAxMy0wOC0xNCAgWWFvIFFpICA8eWFv QGNvZGVzb3VyY2VyeS5jb20+CisrCisrCVBSIGdkYi8xNTgzNzoKKysJKiBmcmFtZS5oIChyZWFk X2ZyYW1lX2xvY2FsKTogRGVjbGFyZS4KKysJKiBtaS9taS1jbWQtc3RhY2suYyAobGlzdF9hcmdz X29yX2xvY2Fscyk6IENhbGwKKysJcmVhZF9mcmFtZV9sb2NhbC4KKysJKiBzdGFjay5jIChyZWFk X2ZyYW1lX2xvY2FsKTogTmV3LgorKworIDIwMTMtMDYtMjggIFBlZHJvIEFsdmVzICA8cGFsdmVz QHJlZGhhdC5jb20+CisgCisgCVBSIHR1aS8xNDg4MAorLS0tIGEvZ2RiL2ZyYW1lLmgKKysrKyBi L2dkYi9mcmFtZS5oCitAQCAtNzE0LDYgKzcxNCw4IEBAIHN0cnVjdCBmcmFtZV9hcmcKKyBleHRl cm4gdm9pZCByZWFkX2ZyYW1lX2FyZyAoc3RydWN0IHN5bWJvbCAqc3ltLCBzdHJ1Y3QgZnJhbWVf aW5mbyAqZnJhbWUsCisgCQkJICAgIHN0cnVjdCBmcmFtZV9hcmcgKmFyZ3AsCisgCQkJICAgIHN0 cnVjdCBmcmFtZV9hcmcgKmVudHJ5YXJncCk7CisrZXh0ZXJuIHZvaWQgcmVhZF9mcmFtZV9sb2Nh bCAoc3RydWN0IHN5bWJvbCAqc3ltLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsCisrCQkJICAg ICAgc3RydWN0IGZyYW1lX2FyZyAqYXJncCk7CisgCisgZXh0ZXJuIHZvaWQgYXJnc19pbmZvIChj aGFyICosIGludCk7CisgCistLS0gYS9nZGIvbWkvbWktY21kLXN0YWNrLmMKKysrKyBiL2dkYi9t aS9taS1jbWQtc3RhY2suYworQEAgLTQxNyw3ICs0MTcsMTAgQEAgbGlzdF9hcmdzX29yX2xvY2Fs cyAoZW51bSB3aGF0X3RvX2xpc3Qgd2hhdCwgZW51bSBwcmludF92YWx1ZXMgdmFsdWVzLAorIAkJ ICAgICAgJiYgVFlQRV9DT0RFICh0eXBlKSAhPSBUWVBFX0NPREVfVU5JT04pCisgCQkgICAgewor IAkJY2FzZSBQUklOVF9BTExfVkFMVUVTOgorLQkJICAgICAgcmVhZF9mcmFtZV9hcmcgKHN5bTIs IGZpLCAmYXJnLCAmZW50cnlhcmcpOworKwkJICBpZiAoU1lNQk9MX0lTX0FSR1VNRU5UIChzeW0p KQorKwkJICAgIHJlYWRfZnJhbWVfYXJnIChzeW0yLCBmaSwgJmFyZywgJmVudHJ5YXJnKTsKKysJ CSAgZWxzZQorKwkJICAgIHJlYWRfZnJhbWVfbG9jYWwgKHN5bTIsIGZpLCAmYXJnKTsKKyAJCSAg ICB9CisgCQkgIGJyZWFrOworIAkJfQorLS0tIGEvZ2RiL3N0YWNrLmMKKysrKyBiL2dkYi9zdGFj ay5jCitAQCAtMjk2LDYgKzI5NiwyNyBAQCBwcmludF9mcmFtZV9hcmcgKGNvbnN0IHN0cnVjdCBm cmFtZV9hcmcgKmFyZykKKyAgIGFubm90YXRlX2FyZ19lbmQgKCk7CisgfQorIAorKy8qIFJlYWQg aW4gaW5mZXJpb3IgZnVuY3Rpb24gbG9jYWwgU1lNIGF0IEZSQU1FIGludG8gQVJHUC4gIENhbGxl ciBpcworKyAgIHJlc3BvbnNpYmxlIGZvciB4ZnJlZSBvZiBBUkdQLT5FUlJPUi4gIFRoaXMgZnVu Y3Rpb24gbmV2ZXIgdGhyb3dzIGFuCisrICAgZXhjZXB0aW9uLiAgKi8KKysKKyt2b2lkCisrcmVh ZF9mcmFtZV9sb2NhbCAoc3RydWN0IHN5bWJvbCAqc3ltLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJh bWUsCisrCQkgIHN0cnVjdCBmcmFtZV9hcmcgKmFyZ3ApCisreworKyAgdm9sYXRpbGUgc3RydWN0 IGdkYl9leGNlcHRpb24gZXhjZXB0OworKyAgc3RydWN0IHZhbHVlICp2YWwgPSBOVUxMOworKwor KyAgVFJZX0NBVENIIChleGNlcHQsIFJFVFVSTl9NQVNLX0VSUk9SKQorKyAgICB7CisrICAgICAg dmFsID0gcmVhZF92YXJfdmFsdWUgKHN5bSwgZnJhbWUpOworKyAgICB9CisrCisrICBhcmdwLT5l cnJvciA9ICh2YWwgPT0gTlVMTCkgPyB4c3RyZHVwIChleGNlcHQubWVzc2FnZSkgOiBOVUxMOwor KyAgYXJncC0+c3ltID0gc3ltOworKyAgYXJncC0+dmFsID0gdmFsOworK30KKysKKyAvKiBSZWFk IGluIGluZmVyaW9yIGZ1bmN0aW9uIHBhcmFtZXRlciBTWU0gYXQgRlJBTUUgaW50byBBUkdQLiAg Q2FsbGVyIGlzCisgICAgcmVzcG9uc2libGUgZm9yIHhmcmVlIG9mIEFSR1AtPkVSUk9SLiAgVGhp cyBmdW5jdGlvbiBuZXZlciB0aHJvd3MgYW4KKyAgICBleGNlcHRpb24uICAqLworCisKKworY29t bWl0IDRiMGY1ZmJiMjUzZmJiZTljMmY0NTc4ZWJkN2RkOTQyMDRhNDY0NzcKK0F1dGhvcjogSmFu IEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CitEYXRlOiAgIFRodSBBdWcg MjkgMTQ6MjQ6MTYgMjAxMyArMDAwMAorCisgICAgUFIgc2VydmVyLzE1NjA0CisgICAgCisgICAg Z2RiL2dkYnNlcnZlci8KKyAgICAyMDEzLTA4LTI5ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0 b2NodmlsQHJlZGhhdC5jb20+CisgICAgCisgICAgCVBSIHNlcnZlci8xNTYwNAorICAgIAkqIGxp bnV4LWxvdy5jCisgICAgCShsaW51eF9jcmVhdGVfaW5mZXJpb3IpIDxwaWQgPT0gMCAmJiAhcmVt b3RlX2Nvbm5lY3Rpb25faXNfc3RkaW8gKCk+OgorICAgIAlDbG9zZSBMSVNURU5fREVTQyBhbmQg b3B0aW9uYWxseSBSRU1PVEVfREVTQy4KKyAgICAJKGx5bnhfY3JlYXRlX2luZmVyaW9yKSA8cGlk ID09IDAgJiYgIXJlbW90ZV9jb25uZWN0aW9uX2lzX3N0ZGlvICgpPjoKKyAgICAJQ2xvc2UgTElT VEVOX0RFU0MgYW5kIG9wdGlvbmFsbHkgUkVNT1RFX0RFU0MuCisgICAgCSogcmVtb3RlLXV0aWxz LmMgKHJlbW90ZV9kZXNjLCBsaXN0ZW5fZGVzYyk6IFJlbW92ZSBzdGF0aWMgcXVhbGlmaWVyLgor ICAgIAkqIHNlcnZlci5oIChyZW1vdGVfZGVzYywgbGlzdGVuX2Rlc2MpOiBOZXcgZGVjbGFyYXRp b24uCisgICAgCSogc3B1LWxvdy5jCisgICAgCShzcHVfY3JlYXRlX2luZmVyaW9yKSA8cGlkID09 IDAgJiYgIXJlbW90ZV9jb25uZWN0aW9uX2lzX3N0ZGlvICgpPjoKKyAgICAJQ2xvc2UgTElTVEVO X0RFU0MgYW5kIG9wdGlvbmFsbHkgUkVNT1RFX0RFU0MuCisKKyMjIyBhL2dkYi9nZGJzZXJ2ZXIv Q2hhbmdlTG9nCisjIyMgYi9nZGIvZ2Ric2VydmVyL0NoYW5nZUxvZworIyMgLTEsMyArMSwxNyBA QAorKzIwMTMtMDgtMjkgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNv bT4KKysKKysJUFIgc2VydmVyLzE1NjA0CisrCSogbGludXgtbG93LmMKKysJKGxpbnV4X2NyZWF0 ZV9pbmZlcmlvcikgPHBpZCA9PSAwICYmICFyZW1vdGVfY29ubmVjdGlvbl9pc19zdGRpbyAoKT46 CisrCUNsb3NlIExJU1RFTl9ERVNDIGFuZCBvcHRpb25hbGx5IFJFTU9URV9ERVNDLgorKwkobHlu eF9jcmVhdGVfaW5mZXJpb3IpIDxwaWQgPT0gMCAmJiAhcmVtb3RlX2Nvbm5lY3Rpb25faXNfc3Rk aW8gKCk+OgorKwlDbG9zZSBMSVNURU5fREVTQyBhbmQgb3B0aW9uYWxseSBSRU1PVEVfREVTQy4K KysJKiByZW1vdGUtdXRpbHMuYyAocmVtb3RlX2Rlc2MsIGxpc3Rlbl9kZXNjKTogUmVtb3ZlIHN0 YXRpYyBxdWFsaWZpZXIuCisrCSogc2VydmVyLmggKHJlbW90ZV9kZXNjLCBsaXN0ZW5fZGVzYyk6 IE5ldyBkZWNsYXJhdGlvbi4KKysJKiBzcHUtbG93LmMKKysJKHNwdV9jcmVhdGVfaW5mZXJpb3Ip IDxwaWQgPT0gMCAmJiAhcmVtb3RlX2Nvbm5lY3Rpb25faXNfc3RkaW8gKCk+OgorKwlDbG9zZSBM SVNURU5fREVTQyBhbmQgb3B0aW9uYWxseSBSRU1PVEVfREVTQy4KKysKKyAyMDEzLTA1LTMxICBE b3VnIEV2YW5zICA8ZGplQGdvb2dsZS5jb20+CisgCisgCVBSIHNlcnZlci8xNTU5NAorLS0tIGEv Z2RiL2dkYnNlcnZlci9saW51eC1sb3cuYworKysrIGIvZ2RiL2dkYnNlcnZlci9saW51eC1sb3cu YworQEAgLTY2OCw2ICs2NjgsMTIgQEAgbGludXhfY3JlYXRlX2luZmVyaW9yIChjaGFyICpwcm9n cmFtLCBjaGFyICoqYWxsYXJncykKKyAJICAgICAgLyogRXJyb3JzIGlnbm9yZWQuICAqLzsKKyAJ ICAgIH0KKyAJfQorKyAgICAgIGVsc2UKKysJeworKwkgIGNsb3NlIChsaXN0ZW5fZGVzYyk7Cisr CSAgaWYgKGdkYl9jb25uZWN0ZWQgKCkpCisrCSAgICBjbG9zZSAocmVtb3RlX2Rlc2MpOworKwl9 CisgCisgICAgICAgZXhlY3YgKHByb2dyYW0sIGFsbGFyZ3MpOworICAgICAgIGlmIChlcnJubyA9 PSBFTk9FTlQpCistLS0gYS9nZGIvZ2Ric2VydmVyL2x5bngtbG93LmMKKysrKyBiL2dkYi9nZGJz ZXJ2ZXIvbHlueC1sb3cuYworQEAgLTIxOCw2ICsyMTgsMTIgQEAgbHlueF9jcmVhdGVfaW5mZXJp b3IgKGNoYXIgKnByb2dyYW0sIGNoYXIgKiphbGxhcmdzKQorICAgICAgIHBncnAgPSBnZXRwaWQo KTsKKyAgICAgICBzZXRwZ2lkICgwLCBwZ3JwKTsKKyAgICAgICBpb2N0bCAoMCwgVElPQ1NQR1JQ LCAmcGdycCk7CisrICAgICAgaWYgKCFyZW1vdGVfY29ubmVjdGlvbl9pc19zdGRpbyAoKSkKKysJ eworKwkgIGNsb3NlIChsaXN0ZW5fZGVzYyk7CisrCSAgaWYgKGdkYl9jb25uZWN0ZWQgKCkpCisr CSAgICBjbG9zZSAocmVtb3RlX2Rlc2MpOworKwl9CisgICAgICAgbHlueF9wdHJhY2UgKFBUUkFD RV9UUkFDRU1FLCBudWxsX3B0aWQsIDAsIDAsIDApOworICAgICAgIGV4ZWN2IChwcm9ncmFtLCBh bGxhcmdzKTsKKyAgICAgICBmcHJpbnRmIChzdGRlcnIsICJDYW5ub3QgZXhlYyAlczogJXMuXG4i LCBwcm9ncmFtLCBzdHJlcnJvciAoZXJybm8pKTsKKy0tLSBhL2dkYi9nZGJzZXJ2ZXIvcmVtb3Rl LXV0aWxzLmMKKysrKyBiL2dkYi9nZGJzZXJ2ZXIvcmVtb3RlLXV0aWxzLmMKK0BAIC0xMDgsOCAr MTA4LDggQEAgc3RydWN0IHVpX2ZpbGUgKmdkYl9zdGRsb2c7CisgCisgc3RhdGljIGludCByZW1v dGVfaXNfc3RkaW8gPSAwOworIAorLXN0YXRpYyBnZGJfZmlsZGVzX3QgcmVtb3RlX2Rlc2MgPSBJ TlZBTElEX0RFU0NSSVBUT1I7Cistc3RhdGljIGdkYl9maWxkZXNfdCBsaXN0ZW5fZGVzYyA9IElO VkFMSURfREVTQ1JJUFRPUjsKKytnZGJfZmlsZGVzX3QgcmVtb3RlX2Rlc2MgPSBJTlZBTElEX0RF U0NSSVBUT1I7CisrZ2RiX2ZpbGRlc190IGxpc3Rlbl9kZXNjID0gSU5WQUxJRF9ERVNDUklQVE9S OworIAorIC8qIEZJWE1FIGhlYWRlcml6ZT8gKi8KKyBleHRlcm4gaW50IHVzaW5nX3RocmVhZHM7 CistLS0gYS9nZGIvZ2Ric2VydmVyL3NlcnZlci5oCisrKysgYi9nZGIvZ2Ric2VydmVyL3NlcnZl ci5oCitAQCAtMjc0LDYgKzI3NCw4IEBAIGV4dGVybiB2b2lkIGhvc3Rpb19sYXN0X2Vycm9yX2Zy b21fZXJybm8gKGNoYXIgKm93bl9idWYpOworIC8qIEZyb20gcmVtb3RlLXV0aWxzLmMgKi8KKyAK KyBleHRlcm4gaW50IHJlbW90ZV9kZWJ1ZzsKKytleHRlcm4gZ2RiX2ZpbGRlc190IHJlbW90ZV9k ZXNjOworK2V4dGVybiBnZGJfZmlsZGVzX3QgbGlzdGVuX2Rlc2M7CisgZXh0ZXJuIGludCBub2Fj a19tb2RlOworIGV4dGVybiBpbnQgdHJhbnNwb3J0X2lzX3JlbGlhYmxlOworIAorLS0tIGEvZ2Ri L2dkYnNlcnZlci9zcHUtbG93LmMKKysrKyBiL2dkYi9nZGJzZXJ2ZXIvc3B1LWxvdy5jCitAQCAt MjczLDYgKzI3MywxMiBAQCBzcHVfY3JlYXRlX2luZmVyaW9yIChjaGFyICpwcm9ncmFtLCBjaGFy ICoqYWxsYXJncykKKyAKKyAgIGlmIChwaWQgPT0gMCkKKyAgICAgeworKyAgICAgIGlmICghcmVt b3RlX2Nvbm5lY3Rpb25faXNfc3RkaW8gKCkpCisrCXsKKysJICBjbG9zZSAobGlzdGVuX2Rlc2Mp OworKwkgIGlmIChnZGJfY29ubmVjdGVkICgpKQorKwkgICAgY2xvc2UgKHJlbW90ZV9kZXNjKTsK KysJfQorICAgICAgIHB0cmFjZSAoUFRSQUNFX1RSQUNFTUUsIDAsIDAsIDApOworIAorICAgICAg IHNldHBnaWQgKDAsIDApOworCisKKworY29tbWl0IDUxMDYwNGVlZTc4OTJjNTRkOThlZWZhMjg5 M2FmYjgyM2M3MjE0MDYKK0F1dGhvcjogSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJl ZGhhdC5jb20+CitEYXRlOiAgIFdlZCBBdWcgMjggMTc6NTU6NTYgMjAxMyArMDAwMAorCisgICAg UFIgZ2RiLzE1NDE1CisgICAgCisgICAgZ2RiLworICAgIDIwMTMtMDgtMjcgIEphbiBLcmF0b2No dmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKyAgICAKKyAgICAJUFIgZ2RiLzE1NDE1 CisgICAgCSogY29yZWZpbGUuYyAoZ2V0X2V4ZWNfZmlsZSk6IFVzZSBleGVjX2ZpbGVuYW1lLgor ICAgIAkqIGRlZnMuaCAoT1BGX0RJU0FCTEVfUkVBTFBBVEgpOiBOZXcgZGVmaW5pdGlvbi4gIEFk ZCBuZXcgY29tbWVudC4KKyAgICAJKiBleGVjLmMgKGV4ZWNfY2xvc2UpOiBGcmVlIEVYRUNfRklM RU5BTUUuCisgICAgCShleGVjX2ZpbGVfYXR0YWNoKTogTmV3IHZhcmlhYmxlIGNhbm9uaWNhbF9w YXRobmFtZS4gIFVzZQorICAgIAlPUEZfRElTQUJMRV9SRUFMUEFUSC4gIENhbGwgZ2RiX3JlYWxw YXRoIGV4cGxpY2l0bHkuICBTZXQKKyAgICAJRVhFQ19GSUxFTkFNRS4KKyAgICAJKiBleGVjLmgg KGV4ZWNfZmlsZW5hbWUpOiBOZXcuCisgICAgCSogaW5mZXJpb3IuYyAocHJpbnRfaW5mZXJpb3Is IGluZmVyaW9yX2NvbW1hbmQpOiBVc2UKKyAgICAJUFNQQUNFX0VYRUNfRklMRU5BTUUuCisgICAg CSogbWkvbWktbWFpbi5jIChwcmludF9vbmVfaW5mZXJpb3IpOiBMaWtld2lzZS4KKyAgICAJKiBw cm9nc3BhY2UuYyAoY2xvbmVfcHJvZ3JhbV9zcGFjZSwgcHJpbnRfcHJvZ3JhbV9zcGFjZSk6IExp a2V3aXNlLgorICAgIAkqIHByb2dzcGFjZS5oIChzdHJ1Y3QgcHJvZ3JhbV9zcGFjZSk6IE5ldyBm aWVsZCBwc3BhY2VfZXhlY19maWxlbmFtZS4KKyAgICAJKiBzb3VyY2UuYyAob3BlbnApOiBEZXNj cmliZSBPUEZfRElTQUJMRV9SRUFMUEFUSC4gIE5ldyB2YXJpYWJsZQorICAgIAlyZWFscGF0aF9m cHRyLCBpbml0aWFsaXplIGl0IGZyb20gT1BGX0RJU0FCTEVfUkVBTFBBVEgsIHVzZSBpdC4KKyAg ICAKKyAgICBnZGIvdGVzdHN1aXRlLworICAgIDIwMTMtMDgtMjcgIEphbiBLcmF0b2NodmlsICA8 amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKyAgICAKKyAgICAJUFIgZ2RiLzE1NDE1CisgICAg CSogZ2RiLmJhc2UvYXJndjAtc3ltbGluay5jOiBOZXcgZmlsZS4KKyAgICAJKiBnZGIuYmFzZS9h cmd2MC1zeW1saW5rLmV4cDogTmV3IGZpbGUuCisKK2RpZmYgLWR1cCAtcnVOcCBnZGItNy42LjUw LjIwMTMwNzMxLWN2cy1vcmlnL2dkYi9jb3JlZmlsZS5jIGdkYi03LjYuNTAuMjAxMzA3MzEtY3Zz L2dkYi9jb3JlZmlsZS5jCistLS0gZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMtb3JpZy9nZGIvY29y ZWZpbGUuYwkyMDEzLTA3LTMxIDIxOjQxOjU0LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjYu NTAuMjAxMzA3MzEtY3ZzL2dkYi9jb3JlZmlsZS5jCTIwMTQtMDEtMTkgMTY6MjQ6NDYuMjM4MzIz MDU0ICswMTAwCitAQCAtMTgyLDggKzE4Miw4IEBAIHZhbGlkYXRlX2ZpbGVzICh2b2lkKQorIGNo YXIgKgorIGdldF9leGVjX2ZpbGUgKGludCBlcnIpCisgeworLSAgaWYgKGV4ZWNfYmZkKQorLSAg ICByZXR1cm4gYmZkX2dldF9maWxlbmFtZSAoZXhlY19iZmQpOworKyAgaWYgKGV4ZWNfZmlsZW5h bWUpCisrICAgIHJldHVybiBleGVjX2ZpbGVuYW1lOworICAgaWYgKCFlcnIpCisgICAgIHJldHVy biBOVUxMOworIAorZGlmZiAtZHVwIC1ydU5wIGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzLW9yaWcv Z2RiL2RlZnMuaCBnZGItNy42LjUwLjIwMTMwNzMxLWN2cy9nZGIvZGVmcy5oCistLS0gZ2RiLTcu Ni41MC4yMDEzMDczMS1jdnMtb3JpZy9nZGIvZGVmcy5oCTIwMTMtMDctMzEgMjE6NDE6NTQuMDAw MDAwMDAwICswMjAwCisrKysgZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMvZ2RiL2RlZnMuaAkyMDE0 LTAxLTE5IDE2OjI0OjQ2LjIzOTMyMzA1NCArMDEwMAorQEAgLTM0Niw4ICszNDYsMTAgQEAgZXh0 ZXJuIGNvbnN0IGNoYXIgKnBjX3ByZWZpeCAoQ09SRV9BRERSKQorIAorIC8qIEZyb20gc291cmNl LmMgKi8KKyAKKysvKiBTZWUgb3BlbnAgZnVuY3Rpb24gZGVmaW5pdGlvbiBmb3IgdGhlaXIgZGVz Y3JpcHRpb24uICAqLworICNkZWZpbmUgT1BGX1RSWV9DV0RfRklSU1QgICAgIDB4MDEKKyAjZGVm aW5lIE9QRl9TRUFSQ0hfSU5fUEFUSCAgICAweDAyCisrI2RlZmluZSBPUEZfRElTQUJMRV9SRUFM UEFUSCAgMHgwNAorIAorIGV4dGVybiBpbnQgb3BlbnAgKGNvbnN0IGNoYXIgKiwgaW50LCBjb25z dCBjaGFyICosIGludCwgY2hhciAqKik7CisgCitkaWZmIC1kdXAgLXJ1TnAgZ2RiLTcuNi41MC4y MDEzMDczMS1jdnMtb3JpZy9nZGIvZXhlYy5jIGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzL2dkYi9l eGVjLmMKKy0tLSBnZGItNy42LjUwLjIwMTMwNzMxLWN2cy1vcmlnL2dkYi9leGVjLmMJMjAxMy0w Ny0zMSAyMTo0MTo1NC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy42LjUwLjIwMTMwNzMxLWN2 cy9nZGIvZXhlYy5jCTIwMTQtMDEtMTkgMTY6MjU6MTguNjE2MzE1MzU0ICswMTAwCitAQCAtMTAy LDYgKzEwMiw5IEBAIGV4ZWNfY2xvc2UgKHZvaWQpCisgICAgICAgZXhlY19iZmRfbXRpbWUgPSAw OworIAorICAgICAgIHJlbW92ZV90YXJnZXRfc2VjdGlvbnMgKCZleGVjX2JmZCk7CisrCisrICAg ICAgeGZyZWUgKGV4ZWNfZmlsZW5hbWUpOworKyAgICAgIGV4ZWNfZmlsZW5hbWUgPSBOVUxMOwor ICAgICB9CisgfQorIAorQEAgLTE3OSwxMiArMTgyLDEzIEBAIGV4ZWNfZmlsZV9hdHRhY2ggKGNo YXIgKmZpbGVuYW1lLCBpbnQgZnIKKyAgIGVsc2UKKyAgICAgeworICAgICAgIHN0cnVjdCBjbGVh bnVwICpjbGVhbnVwczsKKy0gICAgICBjaGFyICpzY3JhdGNoX3BhdGhuYW1lOworKyAgICAgIGNo YXIgKnNjcmF0Y2hfcGF0aG5hbWUsICpjYW5vbmljYWxfcGF0aG5hbWU7CisgICAgICAgaW50IHNj cmF0Y2hfY2hhbjsKKyAgICAgICBzdHJ1Y3QgdGFyZ2V0X3NlY3Rpb24gKnNlY3Rpb25zID0gTlVM TCwgKnNlY3Rpb25zX2VuZCA9IE5VTEw7CisgICAgICAgY2hhciAqKm1hdGNoaW5nOworIAorLSAg ICAgIHNjcmF0Y2hfY2hhbiA9IG9wZW5wIChnZXRlbnYgKCJQQVRIIiksIE9QRl9UUllfQ1dEX0ZJ UlNULCBmaWxlbmFtZSwKKysgICAgICBzY3JhdGNoX2NoYW4gPSBvcGVucCAoZ2V0ZW52ICgiUEFU SCIpLAorKwkJCSAgICBPUEZfVFJZX0NXRF9GSVJTVCB8IE9QRl9ESVNBQkxFX1JFQUxQQVRILCBm aWxlbmFtZSwKKyAJCSAgIHdyaXRlX2ZpbGVzID8gT19SRFdSIHwgT19CSU5BUlkgOiBPX1JET05M WSB8IE9fQklOQVJZLAorIAkJCSAgICAmc2NyYXRjaF9wYXRobmFtZSk7CisgI2lmIGRlZmluZWQo X19HTzMyX18pIHx8IGRlZmluZWQoX1dJTjMyKSB8fCBkZWZpbmVkKF9fQ1lHV0lOX18pCitAQCAt MTkzLDcgKzE5Nyw5IEBAIGV4ZWNfZmlsZV9hdHRhY2ggKGNoYXIgKmZpbGVuYW1lLCBpbnQgZnIK KyAJICBjaGFyICpleGVuYW1lID0gYWxsb2NhIChzdHJsZW4gKGZpbGVuYW1lKSArIDUpOworIAor IAkgIHN0cmNhdCAoc3RyY3B5IChleGVuYW1lLCBmaWxlbmFtZSksICIuZXhlIik7CistCSAgc2Ny YXRjaF9jaGFuID0gb3BlbnAgKGdldGVudiAoIlBBVEgiKSwgT1BGX1RSWV9DV0RfRklSU1QsIGV4 ZW5hbWUsCisrCSAgc2NyYXRjaF9jaGFuID0gb3BlbnAgKGdldGVudiAoIlBBVEgiKSwKKysJCQkJ T1BGX1RSWV9DV0RfRklSU1QgfCBPUEZfRElTQUJMRV9SRUFMUEFUSCwKKysJCQkJZXhlbmFtZSwK KyAJICAgICB3cml0ZV9maWxlcyA/IE9fUkRXUiB8IE9fQklOQVJZIDogT19SRE9OTFkgfCBPX0JJ TkFSWSwKKyAJICAgICAmc2NyYXRjaF9wYXRobmFtZSk7CisgCX0KK0BAIC0yMDMsMTEgKzIwOSwx NiBAQCBleGVjX2ZpbGVfYXR0YWNoIChjaGFyICpmaWxlbmFtZSwgaW50IGZyCisgCisgICAgICAg Y2xlYW51cHMgPSBtYWtlX2NsZWFudXAgKHhmcmVlLCBzY3JhdGNoX3BhdGhuYW1lKTsKKyAKKysg ICAgICAvKiBnZGJfYmZkX29wZW4gKGFuZCBpdHMgdmFyaWFudHMpIHByZWZlcnMgY2Fub25pY2Fs aXplZCBwYXRobmFtZSBmb3IKKysJIGJldHRlciBCRkQgY2FjaGluZy4gICovCisrICAgICAgY2Fu b25pY2FsX3BhdGhuYW1lID0gZ2RiX3JlYWxwYXRoIChzY3JhdGNoX3BhdGhuYW1lKTsKKysgICAg ICBtYWtlX2NsZWFudXAgKHhmcmVlLCBjYW5vbmljYWxfcGF0aG5hbWUpOworKworICAgICAgIGlm ICh3cml0ZV9maWxlcykKKy0JZXhlY19iZmQgPSBnZGJfYmZkX2ZvcGVuIChzY3JhdGNoX3BhdGhu YW1lLCBnbnV0YXJnZXQsCisrCWV4ZWNfYmZkID0gZ2RiX2JmZF9mb3BlbiAoY2Fub25pY2FsX3Bh dGhuYW1lLCBnbnV0YXJnZXQsCisgCQkJCSAgRk9QRU5fUlVCLCBzY3JhdGNoX2NoYW4pOworICAg ICAgIGVsc2UKKy0JZXhlY19iZmQgPSBnZGJfYmZkX29wZW4gKHNjcmF0Y2hfcGF0aG5hbWUsIGdu dXRhcmdldCwgc2NyYXRjaF9jaGFuKTsKKysJZXhlY19iZmQgPSBnZGJfYmZkX29wZW4gKGNhbm9u aWNhbF9wYXRobmFtZSwgZ251dGFyZ2V0LCBzY3JhdGNoX2NoYW4pOworIAorICAgICAgIGlmICgh ZXhlY19iZmQpCisgCXsKK0BAIC0yMTUsNiArMjI2LDkgQEAgZXhlY19maWxlX2F0dGFjaCAoY2hh ciAqZmlsZW5hbWUsIGludCBmcgorIAkJIHNjcmF0Y2hfcGF0aG5hbWUsIGJmZF9lcnJtc2cgKGJm ZF9nZXRfZXJyb3IgKCkpKTsKKyAJfQorIAorKyAgICAgIGdkYl9hc3NlcnQgKGV4ZWNfZmlsZW5h bWUgPT0gTlVMTCk7CisrICAgICAgZXhlY19maWxlbmFtZSA9IHhzdHJkdXAgKHNjcmF0Y2hfcGF0 aG5hbWUpOworKworICAgICAgIGlmICghYmZkX2NoZWNrX2Zvcm1hdF9tYXRjaGVzIChleGVjX2Jm ZCwgYmZkX29iamVjdCwgJm1hdGNoaW5nKSkKKyAJeworIAkgIC8qIE1ha2Ugc3VyZSB0byBjbG9z ZSBleGVjX2JmZCwgb3IgZWxzZSAicnVuIiBtaWdodCB0cnkgdG8gdXNlCitkaWZmIC1kdXAgLXJ1 TnAgZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMtb3JpZy9nZGIvZXhlYy5oIGdkYi03LjYuNTAuMjAx MzA3MzEtY3ZzL2dkYi9leGVjLmgKKy0tLSBnZGItNy42LjUwLjIwMTMwNzMxLWN2cy1vcmlnL2dk Yi9leGVjLmgJMjAxMy0wNy0zMSAyMTo0MTo1NC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy42 LjUwLjIwMTMwNzMxLWN2cy9nZGIvZXhlYy5oCTIwMTQtMDEtMTkgMTY6MjQ6NDYuMjYyMzIzMDQ5 ICswMTAwCitAQCAtMzIsNiArMzIsNyBAQCBleHRlcm4gc3RydWN0IHRhcmdldF9vcHMgZXhlY19v cHM7CisgCisgI2RlZmluZSBleGVjX2JmZCBjdXJyZW50X3Byb2dyYW1fc3BhY2UtPmViZmQKKyAj ZGVmaW5lIGV4ZWNfYmZkX210aW1lIGN1cnJlbnRfcHJvZ3JhbV9zcGFjZS0+ZWJmZF9tdGltZQor KyNkZWZpbmUgZXhlY19maWxlbmFtZSBjdXJyZW50X3Byb2dyYW1fc3BhY2UtPnBzcGFjZV9leGVj X2ZpbGVuYW1lCisgCisgLyogQnVpbGRzIGEgc2VjdGlvbiB0YWJsZSwgZ2l2ZW4gYXJncyBCRkQs IFNFQ1RBQkxFX1BUUiwgU0VDRU5EX1BUUi4KKyAgICBSZXR1cm5zIDAgaWYgT0ssIDEgb24gZXJy b3IuICAqLworZGlmZiAtZHVwIC1ydU5wIGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzLW9yaWcvZ2Ri L2luZmVyaW9yLmMgZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMvZ2RiL2luZmVyaW9yLmMKKy0tLSBn ZGItNy42LjUwLjIwMTMwNzMxLWN2cy1vcmlnL2dkYi9pbmZlcmlvci5jCTIwMTMtMDctMzEgMjE6 NDE6NTQuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMvZ2RiL2lu ZmVyaW9yLmMJMjAxNC0wMS0xOSAxNjoyNDo0Ni4yNjQzMjMwNDggKzAxMDAKK0BAIC01ODgsOSAr NTg4LDggQEAgcHJpbnRfaW5mZXJpb3IgKHN0cnVjdCB1aV9vdXQgKnVpb3V0LCBjaAorICAgICAg IHVpX291dF9maWVsZF9zdHJpbmcgKHVpb3V0LCAidGFyZ2V0LWlkIiwKKyAJCQkgICBpbmZlcmlv cl9waWRfdG9fc3RyIChpbmYtPnBpZCkpOworIAorLSAgICAgIGlmIChpbmYtPnBzcGFjZS0+ZWJm ZCkKKy0JdWlfb3V0X2ZpZWxkX3N0cmluZyAodWlvdXQsICJleGVjIiwKKy0JCQkgICAgIGJmZF9n ZXRfZmlsZW5hbWUgKGluZi0+cHNwYWNlLT5lYmZkKSk7CisrICAgICAgaWYgKGluZi0+cHNwYWNl LT5wc3BhY2VfZXhlY19maWxlbmFtZSAhPSBOVUxMKQorKwl1aV9vdXRfZmllbGRfc3RyaW5nICh1 aW91dCwgImV4ZWMiLCBpbmYtPnBzcGFjZS0+cHNwYWNlX2V4ZWNfZmlsZW5hbWUpOworICAgICAg IGVsc2UKKyAJdWlfb3V0X2ZpZWxkX3NraXAgKHVpb3V0LCAiZXhlYyIpOworIAorQEAgLTcwNCw4 ICs3MDMsOCBAQCBpbmZlcmlvcl9jb21tYW5kIChjaGFyICphcmdzLCBpbnQgZnJvbV90CisgICBw cmludGZfZmlsdGVyZWQgKF8oIltTd2l0Y2hpbmcgdG8gaW5mZXJpb3IgJWQgWyVzXSAoJXMpXVxu IiksCisgCQkgICBpbmYtPm51bSwKKyAJCSAgIGluZmVyaW9yX3BpZF90b19zdHIgKGluZi0+cGlk KSwKKy0JCSAgIChpbmYtPnBzcGFjZS0+ZWJmZAorLQkJICAgID8gYmZkX2dldF9maWxlbmFtZSAo aW5mLT5wc3BhY2UtPmViZmQpCisrCQkgICAoaW5mLT5wc3BhY2UtPnBzcGFjZV9leGVjX2ZpbGVu YW1lICE9IE5VTEwKKysJCSAgICA/IGluZi0+cHNwYWNlLT5wc3BhY2VfZXhlY19maWxlbmFtZQor IAkJICAgIDogXygiPG5vZXhlYz4iKSkpOworIAorICAgaWYgKGluZi0+cGlkICE9IDApCitkaWZm IC1kdXAgLXJ1TnAgZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMtb3JpZy9nZGIvbWkvbWktbWFpbi5j IGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzL2dkYi9taS9taS1tYWluLmMKKy0tLSBnZGItNy42LjUw LjIwMTMwNzMxLWN2cy1vcmlnL2dkYi9taS9taS1tYWluLmMJMjAxMy0wNy0zMSAyMTo0MTo1NC4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy42LjUwLjIwMTMwNzMxLWN2cy9nZGIvbWkvbWktbWFp bi5jCTIwMTQtMDEtMTkgMTY6MjQ6NDYuMjczMzIzMDQ2ICswMTAwCitAQCAtNTczLDEwICs1NzMs MTAgQEAgcHJpbnRfb25lX2luZmVyaW9yIChzdHJ1Y3QgaW5mZXJpb3IgKmluZgorICAgICAgIGlm IChpbmZlcmlvci0+cGlkICE9IDApCisgCXVpX291dF9maWVsZF9pbnQgKHVpb3V0LCAicGlkIiwg aW5mZXJpb3ItPnBpZCk7CisgCistICAgICAgaWYgKGluZmVyaW9yLT5wc3BhY2UtPmViZmQpCisr ICAgICAgaWYgKGluZmVyaW9yLT5wc3BhY2UtPnBzcGFjZV9leGVjX2ZpbGVuYW1lICE9IE5VTEwp CisgCXsKKyAJICB1aV9vdXRfZmllbGRfc3RyaW5nICh1aW91dCwgImV4ZWN1dGFibGUiLAorLQkJ CSAgICAgICBiZmRfZ2V0X2ZpbGVuYW1lIChpbmZlcmlvci0+cHNwYWNlLT5lYmZkKSk7CisrCQkJ ICAgICAgIGluZmVyaW9yLT5wc3BhY2UtPnBzcGFjZV9leGVjX2ZpbGVuYW1lKTsKKyAJfQorIAor ICAgICAgIGRhdGEuY29yZXMgPSAwOworZGlmZiAtZHVwIC1ydU5wIGdkYi03LjYuNTAuMjAxMzA3 MzEtY3ZzLW9yaWcvZ2RiL3Byb2dzcGFjZS5jIGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzL2dkYi9w cm9nc3BhY2UuYworLS0tIGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzLW9yaWcvZ2RiL3Byb2dzcGFj ZS5jCTIwMTMtMDEtMDIgMDI6NTQ6NTYuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNi41MC4y MDEzMDczMS1jdnMvZ2RiL3Byb2dzcGFjZS5jCTIwMTQtMDEtMTkgMTY6MjQ6NDYuMjc1MzIzMDQ1 ICswMTAwCitAQCAtMTk2LDggKzE5Niw4IEBAIGNsb25lX3Byb2dyYW1fc3BhY2UgKHN0cnVjdCBw cm9ncmFtX3NwYWMKKyAKKyAgIHNldF9jdXJyZW50X3Byb2dyYW1fc3BhY2UgKGRlc3QpOworIAor LSAgaWYgKHNyYy0+ZWJmZCAhPSBOVUxMKQorLSAgICBleGVjX2ZpbGVfYXR0YWNoIChiZmRfZ2V0 X2ZpbGVuYW1lIChzcmMtPmViZmQpLCAwKTsKKysgIGlmIChzcmMtPnBzcGFjZV9leGVjX2ZpbGVu YW1lICE9IE5VTEwpCisrICAgIGV4ZWNfZmlsZV9hdHRhY2ggKHNyYy0+cHNwYWNlX2V4ZWNfZmls ZW5hbWUsIDApOworIAorICAgaWYgKHNyYy0+c3ltZmlsZV9vYmplY3RfZmlsZSAhPSBOVUxMKQor ICAgICBzeW1ib2xfZmlsZV9hZGRfbWFpbiAoc3JjLT5zeW1maWxlX29iamVjdF9maWxlLT5uYW1l LCAwKTsKK0BAIC0zMzYsOSArMzM2LDggQEAgcHJpbnRfcHJvZ3JhbV9zcGFjZSAoc3RydWN0IHVp X291dCAqdWlvdQorIAorICAgICAgIHVpX291dF9maWVsZF9pbnQgKHVpb3V0LCAiaWQiLCBwc3Bh Y2UtPm51bSk7CisgCistICAgICAgaWYgKHBzcGFjZS0+ZWJmZCkKKy0JdWlfb3V0X2ZpZWxkX3N0 cmluZyAodWlvdXQsICJleGVjIiwKKy0JCQkgICAgIGJmZF9nZXRfZmlsZW5hbWUgKHBzcGFjZS0+ ZWJmZCkpOworKyAgICAgIGlmIChwc3BhY2UtPnBzcGFjZV9leGVjX2ZpbGVuYW1lKQorKwl1aV9v dXRfZmllbGRfc3RyaW5nICh1aW91dCwgImV4ZWMiLCBwc3BhY2UtPnBzcGFjZV9leGVjX2ZpbGVu YW1lKTsKKyAgICAgICBlbHNlCisgCXVpX291dF9maWVsZF9za2lwICh1aW91dCwgImV4ZWMiKTsK KyAKK2RpZmYgLWR1cCAtcnVOcCBnZGItNy42LjUwLjIwMTMwNzMxLWN2cy1vcmlnL2dkYi9wcm9n c3BhY2UuaCBnZGItNy42LjUwLjIwMTMwNzMxLWN2cy9nZGIvcHJvZ3NwYWNlLmgKKy0tLSBnZGIt Ny42LjUwLjIwMTMwNzMxLWN2cy1vcmlnL2dkYi9wcm9nc3BhY2UuaAkyMDEzLTAxLTAyIDAyOjU0 OjU2LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzL2dkYi9wcm9n c3BhY2UuaAkyMDE0LTAxLTE5IDE2OjI0OjQ2LjI3NjMyMzA0NSArMDEwMAorQEAgLTE0OCw2ICsx NDgsMTAgQEAgc3RydWN0IHByb2dyYW1fc3BhY2UKKyAgICAgYmZkICplYmZkOworICAgICAvKiBU aGUgbGFzdC1tb2RpZmllZCB0aW1lLCBmcm9tIHdoZW4gdGhlIGV4ZWMgd2FzIGJyb3VnaHQgaW4u ICAqLworICAgICBsb25nIGViZmRfbXRpbWU7CisrICAgIC8qIFNpbWlsYXIgdG8gYmZkX2dldF9m aWxlbmFtZSAoZXhlY19iZmQpIGJ1dCBpbiBvcmlnaW5hbCBmb3JtIGdpdmVuCisrICAgICAgIGJ5 IHVzZXIsIHdpdGhvdXQgc3ltYm9saWMgbGlua3MgYW5kIHBhdGhuYW1lIHJlc29sdmVkLgorKyAg ICAgICBJdCBuZWVkcyB0byBiZSBmcmVlZCBieSB4ZnJlZS4gIEl0IGlzIG5vdCBOVUxMIGlmZiBF QkZEIGlzIG5vdCBOVUxMLiAgKi8KKysgICAgY2hhciAqcHNwYWNlX2V4ZWNfZmlsZW5hbWU7Cisg CisgICAgIC8qIFRoZSBhZGRyZXNzIHNwYWNlIGF0dGFjaGVkIHRvIHRoaXMgcHJvZ3JhbSBzcGFj ZS4gIE1vcmUgdGhhbiBvbmUKKyAgICAgICAgcHJvZ3JhbSBzcGFjZSBtYXkgYmUgYm91bmQgdG8g dGhlIHNhbWUgYWRkcmVzcyBzcGFjZS4gIEluIHRoZQorZGlmZiAtZHVwIC1ydU5wIGdkYi03LjYu NTAuMjAxMzA3MzEtY3ZzLW9yaWcvZ2RiL3NvdXJjZS5jIGdkYi03LjYuNTAuMjAxMzA3MzEtY3Zz L2dkYi9zb3VyY2UuYworLS0tIGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzLW9yaWcvZ2RiL3NvdXJj ZS5jCTIwMTMtMDctMzEgMjE6NDE6NTQuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuNi41MC4y MDEzMDczMS1jdnMvZ2RiL3NvdXJjZS5jCTIwMTQtMDEtMTkgMTY6MjQ6NDYuMjc4MzIzMDQ1ICsw MTAwCitAQCAtNjkyLDYgKzY5MiwxMSBAQCBpc19yZWd1bGFyX2ZpbGUgKGNvbnN0IGNoYXIgKm5h bWUpCisgICAgYW5kIHRoZSBmaWxlLCBzaWdoISAgRW1hY3MgZ2V0cyBjb25mdXp6ZWQgYnkgdGhp cyB3aGVuIHdlIHByaW50IHRoZQorICAgIHNvdXJjZSBmaWxlIG5hbWUhISEgCisgCisrICAgSWYg T1BUUyBkb2VzIG5vdCBoYXZlIE9QRl9ESVNBQkxFX1JFQUxQQVRIIHNldCByZXR1cm4gRklMRU5B TUVfT1BFTkVECisrICAgcmVzb2x2ZWQgYnkgZ2RiX3JlYWxwYXRoLiAgRXZlbiB3aXRoIE9QRl9E SVNBQkxFX1JFQUxQQVRIIHRoaXMgZnVuY3Rpb24KKysgICBzdGlsbCByZXR1cm5zIGZpbGVuYW1l IHN0YXJ0aW5nIHdpdGggIi8iLiAgSWYgRklMRU5BTUVfT1BFTkVEIGlzIE5VTEwKKysgICB0aGlz IG9wdGlvbiBoYXMgbm8gZWZmZWN0LgorKworICAgIElmIGEgZmlsZSBpcyBmb3VuZCwgcmV0dXJu IHRoZSBkZXNjcmlwdG9yLgorICAgIE90aGVyd2lzZSwgcmV0dXJuIC0xLCB3aXRoIGVycm5vIHNl dCBmb3IgdGhlIGxhc3QgbmFtZSB3ZSB0cmllZCB0byBvcGVuLiAgKi8KKyAKK0BAIC04NTEsMTkg Kzg1NiwyNyBAQCBkb25lOgorICAgICAgIC8qIElmIGEgZmlsZSB3YXMgb3BlbmVkLCBjYW5vbmlj YWxpemUgaXRzIGZpbGVuYW1lLiAgKi8KKyAgICAgICBpZiAoZmQgPCAwKQorIAkqZmlsZW5hbWVf b3BlbmVkID0gTlVMTDsKKy0gICAgICBlbHNlIGlmIChJU19BQlNPTFVURV9QQVRIIChmaWxlbmFt ZSkpCistCSpmaWxlbmFtZV9vcGVuZWQgPSBnZGJfcmVhbHBhdGggKGZpbGVuYW1lKTsKKyAgICAg ICBlbHNlCisgCXsKKy0JICAvKiBCZXdhcmUgdGhlIC8vIG15IHNvbiwgdGhlIEVtYWNzIGJhcmZz LCB0aGUgYm90Y2ggdGhhdCBjYXRjaC4uLiAgKi8KKysJICBjaGFyICooKnJlYWxwYXRoX2ZwdHIp IChjb25zdCBjaGFyICopOworIAorLQkgIGNoYXIgKmYgPSBjb25jYXQgKGN1cnJlbnRfZGlyZWN0 b3J5LAorLQkJCSAgICBJU19ESVJfU0VQQVJBVE9SIChjdXJyZW50X2RpcmVjdG9yeVtzdHJsZW4g KGN1cnJlbnRfZGlyZWN0b3J5KSAtIDFdKQorLQkJCSAgICA/ICIiIDogU0xBU0hfU1RSSU5HLAor LQkJCSAgICBmaWxlbmFtZSwgKGNoYXIgKilOVUxMKTsKKysJICByZWFscGF0aF9mcHRyID0gKChv cHRzICYgT1BGX0RJU0FCTEVfUkVBTFBBVEgpICE9IDAKKysJCQkgICA/IHhzdHJkdXAgOiBnZGJf cmVhbHBhdGgpOworIAorLQkgICpmaWxlbmFtZV9vcGVuZWQgPSBnZGJfcmVhbHBhdGggKGYpOwor LQkgIHhmcmVlIChmKTsKKysJICBpZiAoSVNfQUJTT0xVVEVfUEFUSCAoZmlsZW5hbWUpKQorKwkg ICAgKmZpbGVuYW1lX29wZW5lZCA9IHJlYWxwYXRoX2ZwdHIgKGZpbGVuYW1lKTsKKysJICBlbHNl CisrCSAgICB7CisrCSAgICAgIC8qIEJld2FyZSB0aGUgLy8gbXkgc29uLCB0aGUgRW1hY3MgYmFy ZnMsIHRoZSBib3RjaCB0aGF0IGNhdGNoLi4uICAqLworKworKwkgICAgICBjaGFyICpmID0gY29u Y2F0IChjdXJyZW50X2RpcmVjdG9yeSwKKysJCQkJSVNfRElSX1NFUEFSQVRPUiAoY3VycmVudF9k aXJlY3Rvcnlbc3RybGVuIChjdXJyZW50X2RpcmVjdG9yeSkgLSAxXSkKKysJCQkJPyAiIiA6IFNM QVNIX1NUUklORywKKysJCQkJZmlsZW5hbWUsIChjaGFyICopTlVMTCk7CisrCisrCSAgICAgICpm aWxlbmFtZV9vcGVuZWQgPSByZWFscGF0aF9mcHRyIChmKTsKKysJICAgICAgeGZyZWUgKGYpOwor KwkgICAgfQorIAl9CisgICAgIH0KKyAKK2RpZmYgLWR1cCAtcnVOcCBnZGItNy42LjUwLjIwMTMw NzMxLWN2cy1vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJndjAtc3ltbGluay5jIGdkYi03 LjYuNTAuMjAxMzA3MzEtY3ZzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJndjAtc3ltbGluay5j CistLS0gZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMtb3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2FyZ3YwLXN5bWxpbmsuYwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysr IGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJndjAtc3lt bGluay5jCTIwMTQtMDEtMTkgMTY6MjQ6NDYuMjg2MzIzMDQzICswMTAwCitAQCAtMCwwICsxLDIy IEBACisrLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4K KysKKysgICBDb3B5cmlnaHQgMjAxMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysK KysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m CisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCisrCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5v dCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisrCisraW50CisrbWFp biAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorK3sKKysgIHJldHVybiAwOworK30KK2RpZmYgLWR1 cCAtcnVOcCBnZGItNy42LjUwLjIwMTMwNzMxLWN2cy1vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvYXJndjAtc3ltbGluay5leHAgZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9hcmd2MC1zeW1saW5rLmV4cAorLS0tIGdkYi03LjYuNTAuMjAxMzA3MzEtY3Zz LW9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcmd2MC1zeW1saW5rLmV4cAkxOTcwLTAxLTAx IDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJndjAtc3ltbGluay5leHAJMjAxNC0wMS0xOSAxNjoyNDo0 Ni4yODczMjMwNDMgKzAxMDAKK0BAIC0wLDAgKzEsNjIgQEAKKysjIENvcHlyaWdodCAyMDEzIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz aGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAz IG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNl aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3 aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5z ZXMvPi4KKysKKytzdGFuZGFyZF90ZXN0ZmlsZQorKworK2lmIHsgW2J1aWxkX2V4ZWN1dGFibGUg JHt0ZXN0ZmlsZX0uZXhwICR7dGVzdGZpbGV9ICR7c3JjZmlsZX1dID09IC0xIH0geworKyAgICBy ZXR1cm4gLTEKKyt9CisrCisrc2V0IHRlc3QgImtlcHQgZmlsZSBzeW1ib2xpYyBsaW5rIG5hbWUi Cisrc2V0IGZpbGVsaW5rICIke3Rlc3RmaWxlfS1maWxlbGluayIKKysKKytyZW1vdGVfZmlsZSBo b3N0IGRlbGV0ZSBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgJGZpbGVsaW5rXQorK3NldCBzdGF0dXMg W3JlbW90ZV9leGVjIGhvc3QgImxuIC1zZiAke3Rlc3RmaWxlfSBbc3RhbmRhcmRfb3V0cHV0X2Zp bGUgJGZpbGVsaW5rXSJdCisraWYge1tsaW5kZXggJHN0YXR1cyAwXSAhPSAwfSB7CisrICAgIHVu c3VwcG9ydGVkICIkdGVzdCAoaG9zdCBkb2VzIG5vdCBzdXBwb3J0IHN5bWJvbGljIGxpbmtzKSIK KysgICAgcmV0dXJuIDAKKyt9CisrCisrY2xlYW5fcmVzdGFydCAiJGZpbGVsaW5rIgorKworK2lm ICFbcnVudG9fbWFpbl0geworKyAgICB1bnRlc3RlZCAiY291bGQgbm90IHJ1biB0byBtYWluIgor KyAgICByZXR1cm4gLTEKKyt9CisrCisrZ2RiX3Rlc3Qge3ByaW50IGFyZ3ZbMF19ICIvJGZpbGVs aW5rXCIiICR0ZXN0CisrCisrCisrc2V0IHRlc3QgImtlcHQgZGlyZWN0b3J5IHN5bWJvbGljIGxp bmsgbmFtZSIKKytzZXQgZGlybGluayAiJHt0ZXN0ZmlsZX0tZGlybGluayIKKysKKysjICdsbiAt c2YnIGRvZXMgbm90IG92ZXJ3cml0ZSBzeW1ib2wgbGluayB0byBhIGRpcmVjdG9yeS4KKysjICdy ZW1vdGVfZmlsZSBob3N0IGRlbGV0ZScgdXNlcyBzdGF0IChub3QgbHN0YXQpLCB0aGVyZWZvcmUg aXQgcmVmdXNlcyB0bworKyMgZGVsZXRlIGEgZGlyZWN0b3J5LgorK3JlbW90ZV9leGVjIGhvc3Qg InJtIC1mIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSAkZGlybGlua10iCisrc2V0IHN0YXR1cyBbcmVt b3RlX2V4ZWMgaG9zdCAibG4gLXNmIC4gW3N0YW5kYXJkX291dHB1dF9maWxlICRkaXJsaW5rXSJd CisraWYge1tsaW5kZXggJHN0YXR1cyAwXSAhPSAwfSB7CisrICAgIHVuc3VwcG9ydGVkICIkdGVz dCAoaG9zdCBkb2VzIG5vdCBzdXBwb3J0IHN5bWJvbGljIGxpbmtzKSIKKysgICAgcmV0dXJuIDAK Kyt9CisrCisrY2xlYW5fcmVzdGFydCAiJGRpcmxpbmsvJGZpbGVsaW5rIgorKworK2lmICFbcnVu dG9fbWFpbl0geworKyAgICB1bnRlc3RlZCAiY291bGQgbm90IHJ1biB0byBtYWluIgorKyAgICBy ZXR1cm4gLTEKKyt9CisrCisrZ2RiX3Rlc3Qge3ByaW50IGFyZ3ZbMF19ICIvJGRpcmxpbmsvJGZp bGVsaW5rXCIiICR0ZXN0CisKKworCitjb21taXQgNDg1NmI2YmM4MzVlMjVhYjBmNDg0NjIxMDQx NTI3MDFjODY0ODU4YworQXV0aG9yOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVk aGF0LmNvbT4KK0RhdGU6ICAgU3VuIE9jdCAxMyAxNjoxMTowOCAyMDEzICswMDAwCisKKyAgICBJ bXByb3ZlIEV4ZWN1dGFibGUgZGlzcGxheWVkIHBhdGggKFBSIDE1NDE1IHJlZ3Jlc3Npb24ga2lu ZCAjMikKKyAgICAKKyAgICBnZGIvCisgICAgMjAxMy0xMC0xMyAgSmFuIEtyYXRvY2h2aWwgIDxq YW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgorICAgIAorICAgIAlDYW5vbmljYWxpemUgZGlyZWN0 b3JpZXMgZm9yIEVYRUNfRklMRU5BTUUuCisgICAgCSogZXhlYy5jIChleGVjX2ZpbGVfYXR0YWNo KTogVXNlIGdkYl9yZWFscGF0aF9rZWVwZmlsZSBmb3IKKyAgICAJZXhlY19maWxlbmFtZS4KKyAg ICAJKiB1dGlscy5jIChnZGJfcmVhbHBhdGhfa2VlcGZpbGUpOiBOZXcgZnVuY3Rpb24uCisgICAg CSogdXRpbHMuaCAoZ2RiX3JlYWxwYXRoX2tlZXBmaWxlKTogTmV3IGRlY2xhcmF0aW9uLgorICAg IAorICAgIGdkYi90ZXN0c3VpdGUvCisgICAgMjAxMy0xMC0xMyAgSmFuIEtyYXRvY2h2aWwgIDxq YW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgorICAgIAorICAgIAlDYW5vbmljYWxpemUgZGlyZWN0 b3JpZXMgZm9yIEVYRUNfRklMRU5BTUUuCisgICAgCSogZ2RiLmJhc2UvYXJndjAtc3ltbGluay5l eHAKKyAgICAJKGtlcHQgZmlsZSBzeW1ib2xpYyBsaW5rIG5hbWUgZm9yIGluZm8gaW5mZXJpb3Jz KTogTmV3LgorICAgIAkoa2VwdCBkaXJlY3Rvcnkgc3ltYm9saWMgbGluayBuYW1lKTogU2V0dXAg a2ZhaWwuCisgICAgCShrZXB0IGRpcmVjdG9yeSBzeW1ib2xpYyBsaW5rIG5hbWUgZm9yIGluZm8g aW5mZXJpb3JzKTogTmV3LgorCisjIyMgYS9nZGIvQ2hhbmdlTG9nCisjIyMgYi9nZGIvQ2hhbmdl TG9nCisjIyAtMSwzICsxLDExIEBACisrMjAxMy0xMC0xMyAgSmFuIEtyYXRvY2h2aWwgIDxqYW4u a3JhdG9jaHZpbEByZWRoYXQuY29tPgorKworKwlDYW5vbmljYWxpemUgZGlyZWN0b3JpZXMgZm9y IEVYRUNfRklMRU5BTUUuCisrCSogZXhlYy5jIChleGVjX2ZpbGVfYXR0YWNoKTogVXNlIGdkYl9y ZWFscGF0aF9rZWVwZmlsZSBmb3IKKysJZXhlY19maWxlbmFtZS4KKysJKiB1dGlscy5jIChnZGJf cmVhbHBhdGhfa2VlcGZpbGUpOiBOZXcgZnVuY3Rpb24uCisrCSogdXRpbHMuaCAoZ2RiX3JlYWxw YXRoX2tlZXBmaWxlKTogTmV3IGRlY2xhcmF0aW9uLgorKworIDIwMTMtMTAtMTEgIERvdWcgRXZh bnMgIDxkamVAZ29vZ2xlLmNvbT4KKyAKKyAJKiBNYWtlZmlsZS5pbiAoR0RCRkxBR1MpOiBOZXcg dmFyaWFibGUuCistLS0gYS9nZGIvZXhlYy5jCisrKysgYi9nZGIvZXhlYy5jCitAQCAtMjI0LDcg KzIyNCw3IEBAIGV4ZWNfZmlsZV9hdHRhY2ggKGNoYXIgKmZpbGVuYW1lLCBpbnQgZnJvbV90dHkp CisgCX0KKyAKKyAgICAgICBnZGJfYXNzZXJ0IChleGVjX2ZpbGVuYW1lID09IE5VTEwpOworLSAg ICAgIGV4ZWNfZmlsZW5hbWUgPSB4c3RyZHVwIChzY3JhdGNoX3BhdGhuYW1lKTsKKysgICAgICBl eGVjX2ZpbGVuYW1lID0gZ2RiX3JlYWxwYXRoX2tlZXBmaWxlIChzY3JhdGNoX3BhdGhuYW1lKTsK KyAKKyAgICAgICBpZiAoIWJmZF9jaGVja19mb3JtYXRfbWF0Y2hlcyAoZXhlY19iZmQsIGJmZF9v YmplY3QsICZtYXRjaGluZykpCisgCXsKKyMjIyBhL2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nCisj IyMgYi9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZworIyMgLTEsMyArMSwxMSBAQAorKzIwMTMtMTAt MTMgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKysKKysJQ2Fu b25pY2FsaXplIGRpcmVjdG9yaWVzIGZvciBFWEVDX0ZJTEVOQU1FLgorKwkqIGdkYi5iYXNlL2Fy Z3YwLXN5bWxpbmsuZXhwCisrCShrZXB0IGZpbGUgc3ltYm9saWMgbGluayBuYW1lIGZvciBpbmZv IGluZmVyaW9ycyk6IE5ldy4KKysJKGtlcHQgZGlyZWN0b3J5IHN5bWJvbGljIGxpbmsgbmFtZSk6 IFNldHVwIGtmYWlsLgorKwkoa2VwdCBkaXJlY3Rvcnkgc3ltYm9saWMgbGluayBuYW1lIGZvciBp bmZvIGluZmVyaW9ycyk6IE5ldy4KKysKKyAyMDEzLTEwLTExICBBbmRyZWFzIEFybmV6ICA8YXJu ZXpAbGludXgudm5ldC5pYm0uY29tPgorIAorIAkqIGdkYi5hcmNoL3MzOTAtbXVsdGlhcmNoLmV4 cDogTmV3IGZpbGUuCistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FyZ3YwLXN5bWxpbmsu ZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FyZ3YwLXN5bWxpbmsuZXhwCitAQCAt MzcsNiArMzcsNyBAQCBpZiAhW3J1bnRvX21haW5dIHsKKyB9CisgCisgZ2RiX3Rlc3Qge3ByaW50 IGFyZ3ZbMF19ICIvJGZpbGVsaW5rXCIiICR0ZXN0CisrZ2RiX3Rlc3QgImluZm8gaW5mZXJpb3Jz IiAiLyRzdWJkaXIvJGZpbGVsaW5rICoiICIkdGVzdCBmb3IgaW5mbyBpbmZlcmlvcnMiCisgCisg Cisgc2V0IHRlc3QgImtlcHQgZGlyZWN0b3J5IHN5bWJvbGljIGxpbmsgbmFtZSIKK0BAIC01OSw0 ICs2MCw5IEBAIGlmICFbcnVudG9fbWFpbl0geworICAgICByZXR1cm4gLTEKKyB9CisgCisrIyBn ZGJzZXJ2ZXIgZG9lcyBub3QgaGF2ZSB0aGlzIGlzc3VlLgorK2lmICFbaXNfcmVtb3RlIHRhcmdl dF0geworKyAgICBzZXR1cF9rZmFpbCAiKi0qLSoiIGdkYi8xNTkzNAorK30KKyBnZGJfdGVzdCB7 cHJpbnQgYXJndlswXX0gIi8kZGlybGluay8kZmlsZWxpbmtcIiIgJHRlc3QKKytnZGJfdGVzdCAi aW5mbyBpbmZlcmlvcnMiICIvJHN1YmRpci8kZmlsZWxpbmsgKiIgIiR0ZXN0IGZvciBpbmZvIGlu ZmVyaW9ycyIKKy0tLSBhL2dkYi91dGlscy5jCisrKysgYi9nZGIvdXRpbHMuYworQEAgLTMyMzMs NiArMzIzMyw1MiBAQCBnZGJfcmVhbHBhdGggKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQorICAgcmV0 dXJuIHhzdHJkdXAgKGZpbGVuYW1lKTsKKyB9CisgCisrLyogUmV0dXJuIGEgY29weSBvZiBGSUxF TkFNRSwgd2l0aCBpdHMgZGlyZWN0b3J5IHByZWZpeCBjYW5vbmljYWxpemVkCisrICAgYnkgZ2Ri X3JlYWxwYXRoLiAgKi8KKysKKytjaGFyICoKKytnZGJfcmVhbHBhdGhfa2VlcGZpbGUgKGNvbnN0 IGNoYXIgKmZpbGVuYW1lKQorK3sKKysgIGNvbnN0IGNoYXIgKmJhc2VfbmFtZSA9IGxiYXNlbmFt ZSAoZmlsZW5hbWUpOworKyAgY2hhciAqZGlyX25hbWU7CisrICBjaGFyICpyZWFsX3BhdGg7Cisr ICBjaGFyICpyZXN1bHQ7CisrCisrICAvKiBFeHRyYWN0IHRoZSBiYXNlbmFtZSBvZiBmaWxlbmFt ZSwgYW5kIHJldHVybiBpbW1lZGlhdGVseSAKKysgICAgIGEgY29weSBvZiBmaWxlbmFtZSBpZiBp dCBkb2VzIG5vdCBjb250YWluIGFueSBkaXJlY3RvcnkgcHJlZml4LiAgKi8KKysgIGlmIChiYXNl X25hbWUgPT0gZmlsZW5hbWUpCisrICAgIHJldHVybiB4c3RyZHVwIChmaWxlbmFtZSk7CisrCisr ICBkaXJfbmFtZSA9IGFsbG9jYSAoKHNpemVfdCkgKGJhc2VfbmFtZSAtIGZpbGVuYW1lICsgMikp OworKyAgLyogQWxsb2NhdGUgZW5vdWdoIHNwYWNlIHRvIHN0b3JlIHRoZSBkaXJfbmFtZSArIHBs dXMgb25lIGV4dHJhCisrICAgICBjaGFyYWN0ZXIgc29tZXRpbWVzIG5lZWRlZCB1bmRlciBXaW5k b3dzIChzZWUgYmVsb3cpLCBhbmQKKysgICAgIHRoZW4gdGhlIGNsb3NpbmcgXDAwMCBjaGFyYWN0 ZXIuICAqLworKyAgc3RybmNweSAoZGlyX25hbWUsIGZpbGVuYW1lLCBiYXNlX25hbWUgLSBmaWxl bmFtZSk7CisrICBkaXJfbmFtZVtiYXNlX25hbWUgLSBmaWxlbmFtZV0gPSAnXDAwMCc7CisrCisr I2lmZGVmIEhBVkVfRE9TX0JBU0VEX0ZJTEVfU1lTVEVNCisrICAvKiBXZSBuZWVkIHRvIGJlIGNh cmVmdWwgd2hlbiBmaWxlbmFtZSBpcyBvZiB0aGUgZm9ybSAnZDpmb28nLCB3aGljaAorKyAgICAg aXMgZXF1aXZhbGVudCBvZiBkOi4vZm9vLCB3aGljaCBpcyB0b3RhbGx5IGRpZmZlcmVudCBmcm9t IGQ6L2Zvby4gICovCisrICBpZiAoc3RybGVuIChkaXJfbmFtZSkgPT0gMiAmJiBpc2FscGhhIChk aXJfbmFtZVswXSkgJiYgZGlyX25hbWVbMV0gPT0gJzonKQorKyAgICB7CisrICAgICAgZGlyX25h bWVbMl0gPSAnLic7CisrICAgICAgZGlyX25hbWVbM10gPSAnXDAwMCc7CisrICAgIH0KKysjZW5k aWYKKysKKysgIC8qIENhbm9uaWNhbGl6ZSB0aGUgZGlyZWN0b3J5IHByZWZpeCwgYW5kIGJ1aWxk IHRoZSByZXN1bHRpbmcKKysgICAgIGZpbGVuYW1lLiAgSWYgdGhlIGRpcm5hbWUgcmVhbHBhdGgg YWxyZWFkeSBjb250YWlucyBhbiBlbmRpbmcKKysgICAgIGRpcmVjdG9yeSBzZXBhcmF0b3IsIGF2 b2lkIGRvdWJsaW5nIGl0LiAgKi8KKysgIHJlYWxfcGF0aCA9IGdkYl9yZWFscGF0aCAoZGlyX25h bWUpOworKyAgaWYgKElTX0RJUl9TRVBBUkFUT1IgKHJlYWxfcGF0aFtzdHJsZW4gKHJlYWxfcGF0 aCkgLSAxXSkpCisrICAgIHJlc3VsdCA9IGNvbmNhdCAocmVhbF9wYXRoLCBiYXNlX25hbWUsIChj aGFyICopIE5VTEwpOworKyAgZWxzZQorKyAgICByZXN1bHQgPSBjb25jYXQgKHJlYWxfcGF0aCwg U0xBU0hfU1RSSU5HLCBiYXNlX25hbWUsIChjaGFyICopIE5VTEwpOworKworKyAgeGZyZWUgKHJl YWxfcGF0aCk7CisrICByZXR1cm4gcmVzdWx0OworK30KKysKKyBVTE9OR0VTVAorIGFsaWduX3Vw IChVTE9OR0VTVCB2LCBpbnQgbikKKyB7CistLS0gYS9nZGIvdXRpbHMuaAorKysrIGIvZ2RiL3V0 aWxzLmgKK0BAIC0xMjgsNiArMTI4LDggQEAgZXh0ZXJuIHN0cnVjdCBjbGVhbnVwICptYWtlX2Jw c3RhdF9jbGVhcl9hY3Rpb25zX2NsZWFudXAgKHZvaWQpOworIAorIGV4dGVybiBjaGFyICpnZGJf cmVhbHBhdGggKGNvbnN0IGNoYXIgKik7CisgCisrZXh0ZXJuIGNoYXIgKmdkYl9yZWFscGF0aF9r ZWVwZmlsZSAoY29uc3QgY2hhciAqKTsKKysKKyBleHRlcm4gaW50IGdkYl9maWxlbmFtZV9mbm1h dGNoIChjb25zdCBjaGFyICpwYXR0ZXJuLCBjb25zdCBjaGFyICpzdHJpbmcsCisgCQkJCSBpbnQg ZmxhZ3MpOworIAorCisKKworY29tbWl0IDI0ODkwZWZkYWJiZDlkODI3Y2RkMjA4OGIwMjJmMDcw ZGEwNGIxNGYKK0F1dGhvcjogVG9tIFRyb21leSA8dHJvbWV5QHJlZGhhdC5jb20+CitEYXRlOiAg IEZyaSBPY3QgMTggMTM6MTI6MzIgMjAxMyAtMDYwMAorCisgICAgZml4IGFyZ3YwLXN5bWxpbmsu ZXhwIGZvciBwYXJhbGxlbCBtb2RlCisgICAgCisgICAgYXJndjAtc3ltbGluay5leHAgZG9lc24n dCB3b3JrIHByb3Blcmx5IGlmIHN0YW5kYXJkX291dHB1dF9maWxlIHB1dHMKKyAgICBmaWxlcyBp bnRvIGEgcGVyLXRlc3Qgc3ViZGlyZWN0b3J5LiAgVGhhdCdzIGJlY2F1c2UgaXQgYXNzdW1lcyB0 aGF0CisgICAgZmlsZXMgYXBwZWFyIGluICRzdWJkaXIsIHdoaWNoIGlzIG5vIGxvbmdlciB0cnVl LgorICAgIAorICAgIFRoaXMgcGF0Y2ggZml4ZXMgdGhlIHByb2JsZW0gYnkgY29tcHV0aW5nIHRo ZSBjb3JyZWN0IGRpcmVjdG9yeSBhdAorICAgIHJ1bnRpbWUuCisgICAgCisgICAgVGVzdGVkIGJv dGggd2l0aCBhbmQgd2l0aG91dCBHREJfUEFSQUxMRUwgb24geDg2LTY0IEZlZG9yYSAxOC4KKyAg ICAKKyAgICAyMDEzLTExLTA0ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CisgICAg CisgICAgCSogZ2RiLmJhc2UvYXJndjAtc3ltbGluay5leHA6IENvbXB1dGUgZXhlY3V0YWJsZSdz IGRpcmVjdG9yeQorICAgIAlkeW5hbWljYWxseS4KKworIyMjIGEvZ2RiL3Rlc3RzdWl0ZS9DaGFu Z2VMb2cKKyMjIyBiL2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nCisjIyAtMSw1ICsxLDEwIEBACisg MjAxMy0xMS0wNCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgorIAorKwkqIGdkYi5i YXNlL2FyZ3YwLXN5bWxpbmsuZXhwOiBDb21wdXRlIGV4ZWN1dGFibGUncyBkaXJlY3RvcnkKKysJ ZHluYW1pY2FsbHkuCisrCisrMjAxMy0xMS0wNCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQu Y29tPgorKworIAkqIGdkYi5hc20vYXNtLXNvdXJjZS5leHA6IFVzZSBzdGFuZGFyZF9vdXRwdXRf ZmlsZS4KKyAKKyAyMDEzLTExLTA0ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+Cist LS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FyZ3YwLXN5bWxpbmsuZXhwCisrKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2FyZ3YwLXN5bWxpbmsuZXhwCitAQCAtMzcsNyArMzcsMTQgQEAg aWYgIVtydW50b19tYWluXSB7CisgfQorIAorIGdkYl90ZXN0IHtwcmludCBhcmd2WzBdfSAiLyRm aWxlbGlua1wiIiAkdGVzdAorLWdkYl90ZXN0ICJpbmZvIGluZmVyaW9ycyIgIi8kc3ViZGlyLyRm aWxlbGluayAqIiAiJHRlc3QgZm9yIGluZm8gaW5mZXJpb3JzIgorKworKyMgRm9yIGEgbGluayBu YW1lZCAvUEFUSC9UTy9ESVIvTElOSywgd2Ugd2FudCB0byBjaGVjayB0aGUgb3V0cHV0CisrIyBh Z2FpbnN0ICIvRElSL0xJTksiLCBidXQgY29tcHV0ZWQgaW4gYSB3YXkgdGhhdCBkb2Vzbid0IG1h a2UKKysjIGFzc3VtcHRpb25zIGFib3V0IHRoZSB0ZXN0IGRpcmVjdG9yeSBsYXlvdXQuCisrc2V0 IGZ1bGxfZmlsZWxpbmsgW3N0YW5kYXJkX291dHB1dF9maWxlICRmaWxlbGlua10KKytzZXQgbGFz dGRpciBbZmlsZSB0YWlsIFtmaWxlIGRpcm5hbWUgJGZ1bGxfZmlsZWxpbmtdXQorKworK2dkYl90 ZXN0ICJpbmZvIGluZmVyaW9ycyIgIi8kbGFzdGRpci8kZmlsZWxpbmsgKiIgIiR0ZXN0IGZvciBp bmZvIGluZmVyaW9ycyIKKyAKKyAKKyBzZXQgdGVzdCAia2VwdCBkaXJlY3Rvcnkgc3ltYm9saWMg bGluayBuYW1lIgorQEAgLTY1LDQgKzcyLDQgQEAgaWYgIVtpc19yZW1vdGUgdGFyZ2V0XSB7Cisg ICAgIHNldHVwX2tmYWlsICIqLSotKiIgZ2RiLzE1OTM0CisgfQorIGdkYl90ZXN0IHtwcmludCBh cmd2WzBdfSAiLyRkaXJsaW5rLyRmaWxlbGlua1wiIiAkdGVzdAorLWdkYl90ZXN0ICJpbmZvIGlu ZmVyaW9ycyIgIi8kc3ViZGlyLyRmaWxlbGluayAqIiAiJHRlc3QgZm9yIGluZm8gaW5mZXJpb3Jz IgorK2dkYl90ZXN0ICJpbmZvIGluZmVyaW9ycyIgIi8kbGFzdGRpci8kZmlsZWxpbmsgKiIgIiR0 ZXN0IGZvciBpbmZvIGluZmVyaW9ycyIKKworCisKK2h0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9n ZGItcGF0Y2hlcy8yMDE0LTAxL21zZzAwNzIyLmh0bWwKK1N1YmplY3Q6IFtwYXRjaF0gRml4IGdk Yi5iYXNlL2FyZ3YwLXN5bWxpbmsuZXhwIEZBSUwgaW4gbG9uZyBkaXJwYXRoCisKKworLS1WYkpr bjlZeEJ2bnVDSDVKCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXMtYXNjaWkK K0NvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZQorCitIaSwKKword2hlbiB5b3UgYnVpbGQgR0RC IGluIGEgdmVyeSBsb25nIGRpcmVjdG9yeSBwYXRobmFtZSBpdCB3aWxsOgorCisoZ2RiKSBwcmlu dCBhcmd2WzBdCiskMSA9IDB4N2ZmZmZmZmZkYjA3ICIvaG9tZS9qa3JhdG9jaC9yZWRoYXQvIiwg J3gnIDxyZXBlYXRzIDE3OCB0aW1lcz4uLi4KKyhnZGIpIEZBSUw6IGdkYi5iYXNlL2FyZ3YwLXN5 bWxpbmsuZXhwOiBrZXB0IGZpbGUgc3ltYm9saWMgbGluayBuYW1lCisKK1dpdGggdGhlIGZpeDoK KworKGdkYikgcHJpbnQgYXJndlswXQorJDEgPSAweDdmZmZmZmZmZGIwNyAiL2hvbWUvamtyYXRv Y2gvcmVkaGF0L3h4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4 eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4 eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4 eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eC9nZGItdGVzdC9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2FyZ3YwLXN5bWxpbmstZmlsZWxpbmsiCisoZ2RiKSBQQVNTOiBnZGIuYmFzZS9h cmd2MC1zeW1saW5rLmV4cDoga2VwdCBmaWxlIHN5bWJvbGljIGxpbmsgbmFtZQorCitUaGUgInNl dCBwcmludCByZXBlYXRzIHVubGltaXRlZCIgcGFydCBpcyB0aGVyZSB0byBwcmV2ZW50IHRoZSBm b2xsb3dpbmcKK291dHB1dCwgaXQgd291bGQgc3RpbGwgUEFTUyAoYXMgb25seSBpdHMgdGFpbCBp cyBtYXRjaGVkKSBidXQgaXQgaXMgbm90IG11Y2gKK2NvcnJlY3QuCisKKyhnZGIpIHByaW50IGFy Z3ZbMF0KKyQxID0gMHg3ZmZmZmZmZmRiMDcgIi9ob21lL2prcmF0b2NoL3JlZGhhdC8iLCAneCcg PHJlcGVhdHMgMTk1IHRpbWVzPiwgIi9nZGItdGVzdC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Fy Z3YwLXN5bWxpbmstZmlsZWxpbmsiCisoZ2RiKSBQQVNTOiBnZGIuYmFzZS9hcmd2MC1zeW1saW5r LmV4cDoga2VwdCBmaWxlIHN5bWJvbGljIGxpbmsgbmFtZQorCitJIHdpbGwgY2hlY2sgaXQgaW4u CisKK1Rlc3RlZCBvbiB4ODZfNjQtZmVkb3JhMjAtbGludXgtZ251LgorCisKK0phbgorCistLVZi SmtuOVl4QnZudUNINUoKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD11cy1hc2Np aQorQ29udGVudC1EaXNwb3NpdGlvbjogaW5saW5lOyBmaWxlbmFtZT0iYXJndjAucGF0Y2giCisK K2dkYi90ZXN0c3VpdGUvCisyMDE0LTAxLTE5ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2No dmlsQHJlZGhhdC5jb20+CisKKwlGaXggZ2RiLmJhc2UvYXJndjAtc3ltbGluay5leHAgRkFJTCBp biBsb25nIGRpcnBhdGguCisJKiBnZGIuYmFzZS9hcmd2MC1zeW1saW5rLmV4cCAoZWxlbWVudHMg Zmlyc3QsIHJlcGVhdHMgZmlyc3QpCisJKGVsZW1lbnRzIHNlY29uZCwgcmVwZWF0cyBzZWNvbmQp OiBOZXcuCisKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FyZ3YwLXN5bWxp bmsuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcmd2MC1zeW1saW5rLmV4cAoraW5kZXgg MGUwMjAyZC4uN2JmNWMyZiAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJn djAtc3ltbGluay5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJndjAtc3ltbGlu ay5leHAKK0BAIC0zNiw2ICszNiwxMCBAQCBpZiAhW3J1bnRvX21haW5dIHsKKyAgICAgcmV0dXJu IC0xCisgfQorIAorKyMgVmVyeSBsb25nIGRpcmVjdG9yeSBwYXRocyBjb3VsZCBiZSBjdXQgYmVs b3cuCisrZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgcHJpbnQgZWxlbWVudHMgdW5saW1pdGVkIiAi ZWxlbWVudHMgZmlyc3QiCisrZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgcHJpbnQgcmVwZWF0cyB1 bmxpbWl0ZWQiICJyZXBlYXRzIGZpcnN0IgorKworIGdkYl90ZXN0IHtwcmludCBhcmd2WzBdfSAi LyRmaWxlbGlua1wiIiAkdGVzdAorIAorICMgRm9yIGEgbGluayBuYW1lZCAvUEFUSC9UTy9ESVIv TElOSywgd2Ugd2FudCB0byBjaGVjayB0aGUgb3V0cHV0CitAQCAtNjcsNiArNzEsMTAgQEAgaWYg IVtydW50b19tYWluXSB7CisgICAgIHJldHVybiAtMQorIH0KKyAKKysjIFZlcnkgbG9uZyBkaXJl Y3RvcnkgcGF0aHMgY291bGQgYmUgY3V0IGJlbG93LgorK2dkYl90ZXN0X25vX291dHB1dCAic2V0 IHByaW50IGVsZW1lbnRzIHVubGltaXRlZCIgImVsZW1lbnRzIHNlY29uZCIKKytnZGJfdGVzdF9u b19vdXRwdXQgInNldCBwcmludCByZXBlYXRzIHVubGltaXRlZCIgInJlcGVhdHMgc2Vjb25kIgor KworICMgZ2Ric2VydmVyIGRvZXMgbm90IGhhdmUgdGhpcyBpc3N1ZS4KKyBpZiAhW2lzX3JlbW90 ZSB0YXJnZXRdIHsKKyAgICAgc2V0dXBfa2ZhaWwgIiotKi0qIiBnZGIvMTU5MzQKKworLS1WYkpr bjlZeEJ2bnVDSDVKLS0KKwoKZGlmZiAtLWdpdCBhL2dkYi5zcGVjIGIvZ2RiLnNwZWMKaW5kZXgg MTA2N2FjOC4uY2FjM2ViYiAxMDA2NDQKLS0tIGEvZ2RiLnNwZWMKKysrIGIvZ2RiLnNwZWMKQEAg LTM4LDcgKzM4LDcgQEAgVmVyc2lvbjogNy42LjUwLiV7c25hcH0KIAogIyBUaGUgcmVsZWFzZSBh bHdheXMgY29udGFpbnMgYSBsZWFkaW5nIHJlc2VydmVkIG51bWJlciwgc3RhcnQgaXQgYXQgMS4K ICMgYHVwc3RyZWFtJyBpcyBub3QgYSBwYXJ0IG9mIGBuYW1lJyB0byBzdGF5IGZ1bGx5IHJwbSBk ZXBlbmRlbmNpZXMgY29tcGF0aWJsZSBmb3IgdGhlIHRlc3RpbmcuCi1SZWxlYXNlOiAxOCV7P2Rp c3R9CitSZWxlYXNlOiAxOSV7P2Rpc3R9CiAKIExpY2Vuc2U6IEdQTHYzKyBhbmQgR1BMdjMrIHdp dGggZXhjZXB0aW9ucyBhbmQgR1BMdjIrIGFuZCBHUEx2Misgd2l0aCBleGNlcHRpb25zIGFuZCBH UEwrIGFuZCBMR1BMdjIrIGFuZCBCU0QgYW5kIFB1YmxpYyBEb21haW4KIEdyb3VwOiBEZXZlbG9w bWVudC9EZWJ1Z2dlcnMKQEAgLTEzNDYsNiArMTM0Niw5IEBAIGZpCiAlZW5kaWYgIyAwJXshP2Vs NToxfSB8fCAiJXtfdGFyZ2V0X2NwdX0iID09ICJub2FyY2giCiAKICVjaGFuZ2Vsb2cKKyogU3Vu IEphbiAxOSAyMDE0IEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPiAt IDcuNi41MC4yMDE0MDExOS0xOS5mYzIwCistIEJhY2twb3J0IHNldmVyYWwgZ2RiLTcuNi54IHN0 YWJsZSBicmFuY2ggZml4ZXMgKEJaIDEwNTUxNTUpLgorCiAqIFdlZCBEZWMgMjUgMjAxMyBKYW4g S3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4gLSA3LjYuNTAuMjAxMzA3MzEt MTguZmMyMAogLSBbYWFyY2g2NF0gQmFja3BvcnQgdHdvIGJyZWFrcG9pbnQvd2F0Y2hwb2ludCBm aXhlcy4KIAo=