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: =?utf-8?b?THVrw6HFoSBaYW9yYWwgPGx6YW9yYWxAcmVkaGF0LmNvbT4=?= To: git-commits@fedoraproject.org Subject: [rpms/coreutils] rawhide: rebase to the latest upstream release Date: Mon, 21 Sep 2026 09:28:42 GMT Message-ID: <178998292277.1.1046029543542625326.rpms-coreutils-072fa66649a4@fedoraproject.org> List-ID: X-Git-Repo: rpms/coreutils X-Git-Branch: rawhide X-Git-Rev: 072fa66649a42f9da3181d031188c78890b330c1 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvY29yZXV0aWxzCiAgICAgICAgICAgIEJyYW5jaCA6IHJhd2hpZGUKICAgICAg ICAgICAgQ29tbWl0IDogMDcyZmE2NjY0OWE0MmY5ZGEzMTgxZDAzMTE4OGM3ODg5MGIzMzBjMQog ICAgICAgICAgICBBdXRob3IgOiBMdWvDocWhIFphb3JhbCA8bHphb3JhbEByZWRoYXQuY29tPgog ICAgICAgICAgICBEYXRlICAgOiAyMDI2LTA5LTIxVDA5OjEzOjQyKzAyOjAwCiAgICAgICAgICAg IFN0YXRzICA6ICszNzAvLTU2NCBpbiAxMSBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0 dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvY29yZXV0aWxzL2MvMDcyZmE2NjY0OWE0 MmY5ZGEzMTgxZDAzMTE4OGM3ODg5MGIzMzBjMT9icmFuY2g9cmF3aGlkZQoKICAgICAgICAgICAg TG9nOgogICAgICAgICAgICByZWJhc2UgdG8gdGhlIGxhdGVzdCB1cHN0cmVhbSByZWxlYXNlCgpS ZXNvbHZlczogcmhieiMyNTMzMTk1CgotLS0KZGlmZiAtLWdpdCBhL2NvcmV1dGlscy04LjI2LXRl c3QtbG9jay5wYXRjaCBiL2NvcmV1dGlscy04LjI2LXRlc3QtbG9jay5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggZDY2OTI4Yy4uMDAwMDAwMAotLS0gYS9jb3JldXRpbHMtOC4y Ni10ZXN0LWxvY2sucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1Gcm9tIDBk MDRlZThkZGVkYjJiZjMzZDY0ZjE0OGYyNDZhM2I3ZWM0ZmVmMjEgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCi1Gcm9tOiBLYW1pbCBEdWRrYSA8a2R1ZGthQHJlZGhhdC5jb20+Ci1EYXRlOiBNb24s IDIzIEphbiAyMDE3IDEyOjM1OjQxICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIHRlc3QtbG9jazog ZGlzYWJsZSB0aGUgcndsb2NrIHRlc3QKLQotSXQgaGFuZ3MgaW5kZWZpbml0ZWx5IGlmIHRoZSBz eXN0ZW0gcndsb2NrIGltcGxlbWVudGF0aW9uIGRvZXMgbm90Ci1wcmV2ZW50IHdyaXRlciBzdGFy dmF0aW9uIChhbmQgZ2xpYmMgZG9lcyBub3QgaW1wbGVtZW50IGl0KS4KLQotQnVnOiBodHRwOi8v d3d3Lm1haWwtYXJjaGl2ZS5jb20vYnVnLWdudWxpYkBnbnUub3JnL21zZzMzMDE3Lmh0bWwKLS0t LQotIGdudWxpYi10ZXN0cy90ZXN0LWxvY2suYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2dudWxpYi10ZXN0cy90 ZXN0LWxvY2suYyBiL2dudWxpYi10ZXN0cy90ZXN0LWxvY2suYwotaW5kZXggYWE2ZGUyNy4uNWFm MGE2YyAxMDA2NDQKLS0tLSBhL2dudWxpYi10ZXN0cy90ZXN0LWxvY2suYwotKysrIGIvZ251bGli LXRlc3RzL3Rlc3QtbG9jay5jCi1AQCAtNDIsNyArNDIsNyBAQAotICAgIFVuY29tbWVudCBzb21l IG9mIHRoZXNlLCB0byB2ZXJpZnkgdGhhdCBhbGwgdGVzdHMgY3Jhc2ggaWYgbm8gbG9ja2luZwot ICAgIGlzIGVuYWJsZWQuICAqLwotICNkZWZpbmUgRE9fVEVTVF9MT0NLIDEKLS0jZGVmaW5lIERP X1RFU1RfUldMT0NLIDEKLSsjZGVmaW5lIERPX1RFU1RfUldMT0NLIDAKLSAjZGVmaW5lIERPX1RF U1RfUkVDVVJTSVZFX0xPQ0sgMQotICNkZWZpbmUgRE9fVEVTVF9PTkNFIDEKLSAKLS0tIAotMi43 LjQKLQoKZGlmZiAtLWdpdCBhL2NvcmV1dGlscy05LjExLUNWRS0yMDI2LTU2MzkxLnBhdGNoIGIv Y29yZXV0aWxzLTkuMTEtQ1ZFLTIwMjYtNTYzOTEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDdjNGI4NjIuLjAwMDAwMDAKLS0tIGEvY29yZXV0aWxzLTkuMTEtQ1ZFLTIwMjYt NTYzOTEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi1Gcm9tIDM5NTNlM2Q2 MGVkYjBmMjNiZGYzNjdhM2NjYmMyMjgyYjllMDBkMWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx Ci1Gcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1PgotRGF0ZTogVHVlLCAyOCBB cHIgMjAyNiAxMToyNTowMCAtMDcwMAotU3ViamVjdDogW1BBVENIXSB1bmlxOiBmaXggcmVhZCBv dmVycnVuIHdpdGggLXcKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxh aW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotUHJv YmxlbSByZXBvcnRlZCBieSBNaWNoYcWCIE1hamNocm93aWN6LgotKiBzcmMvdW5pcS5jIChmaW5k X2ZpZWxkKTogRml4IHR5cG8uCi0qIHRlc3RzL3VuaXEvdW5pcS5wbCAoYWRkX3pfdmFyaWFudHMp OiBUZXN0IGZvciB0aGUgYnVnLgotCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBkNjRlMzVh OGE0YzBlNDYwODMyMTQzM2UwZDg0ZDkxN2U0ZTM2MzcxKQotLS0tCi0gVEhBTktTLmluICAgICAg ICAgIHwgMSArCi0gc3JjL3VuaXEuYyAgICAgICAgIHwgNCArKy0tCi0gdGVzdHMvdW5pcS91bmlx LnBsIHwgMyArKysKLSAzIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv bnMoLSkKLQotZGlmZiAtLWdpdCBhL1RIQU5LUy5pbiBiL1RIQU5LUy5pbgotaW5kZXggMzVmZWU3 NS4uNWEyZmQzNSAxMDA2NDQKLS0tLSBhL1RIQU5LUy5pbgotKysrIGIvVEhBTktTLmluCi1AQCAt NDU5LDYgKzQ1OSw3IEBAIE1pY2hhaWwgTGl0dmFrICAgICAgICAgICAgICAgICAgICAgIG1jaUBv d2wub3BlbndhbGwuY29tCi0gTWljaGFsIFBvbGl0b3dza2kgICAgICAgICAgICAgICAgICAgbXBv bEBjaGFyeWJkYS5pY20uZWR1LnBsCi0gTWljaGFsIFN2ZWMgICAgICAgICAgICAgICAgICAgICAg ICAgbXN2ZWNAc3VzZS5jegotIE1pY2hhbCBUcnVuZWNrYSAgICAgICAgICAgICAgICAgICAgIG10 cnVuZWNrQHJlZGhhdC5jb20KLStNaWNoYcWCIE1hamNocm93aWN6ICAgICAgICAgICAgICAgICAg bW1hamNocm93aWN6QGFmaW5lLmNvbQotIE1pY2hlbCBSb2JpdGFpbGxlICAgICAgICAgICAgICAg ICAgIHJvYml0YWlsQElSTy5VTW9udHJlYWwuQ0EKLSBNaWNoaWVsIEJhY2NoaWFuaSAgICAgICAg ICAgICAgICAgICBiYWNjaGlhbkByYXZlbi5idS5lZHUKLSBNaWtlIENhc3RsZSAgICAgICAgICAg ICAgICAgICAgICAgICBkYWxnb2RhQGl4Lm5ldGNvbS5jb20KLWRpZmYgLS1naXQgYS9zcmMvdW5p cS5jIGIvc3JjL3VuaXEuYwotaW5kZXggMzA0NjM1OS4uNTgzNDU5NiAxMDA2NDQKLS0tLSBhL3Ny Yy91bmlxLmMKLSsrKyBiL3NyYy91bmlxLmMKLUBAIC0yODUsOCArMjg1LDggQEAgZmluZF9maWVs ZCAoc3RydWN0IGxpbmVidWZmZXIgY29uc3QgKmxpbmUsIGlkeF90ICpwbGVuKQotICAgZWxzZQot ICAgICB7Ci0gICAgICAgY2hhciAqZXAgPSBscDsKLS0gICAgICBmb3IgKGlkeF90IGkgPSBjaGVj a19jaGFyczsgMCA8IGkgJiYgbHAgPCBsaW07IGktLSkKLS0gICAgICAgIGVwICs9IG1jZWxfc2Nh biAobHAsIGxpbSkubGVuOwotKyAgICAgIGZvciAoaWR4X3QgaSA9IGNoZWNrX2NoYXJzOyAwIDwg aSAmJiBlcCA8IGxpbTsgaS0tKQotKyAgICAgICAgZXAgKz0gbWNlbF9zY2FuIChlcCwgbGltKS5s ZW47Ci0gICAgICAgbGVuID0gZXAgLSBscDsKLSAgICAgfQotIAotZGlmZiAtLWdpdCBhL3Rlc3Rz L3VuaXEvdW5pcS5wbCBiL3Rlc3RzL3VuaXEvdW5pcS5wbAotaW5kZXggYjU1OGZiMy4uMGRmN2Vj NiAxMDA3NTUKLS0tLSBhL3Rlc3RzL3VuaXEvdW5pcS5wbAotKysrIGIvdGVzdHMvdW5pcS91bmlx LnBsCi1AQCAtMjM0LDYgKzIzNCw5IEBAIG15IEBUZXN0cyA9Ci0gICAgICAgICAiICAtICdzZXBh cmF0ZSdcbiIgLgotICAgICAgICAgIiAgLSAnYm90aCdcbiIgLgotICAgICAgICAgIlRyeSAnJHBy b2cgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiJ9XSwKLSsgIyBUZXN0IGZvciByZWFk IGJ1ZmZlciBvdmVycnVuLgotKyBkbyB7IG15ICRsb25nbGluZSA9ICJcMzYwXDIzN1wyMzBcMjAw IiAuICJBIiB4IDI1NSAuICJcbiI7Ci0rICAgICAgWycxNDYnLCAnLXcyNTYnLCB7SU4gID0+ICRs b25nbGluZSB4IDJ9LCB7T1VUID0+ICRsb25nbGluZX1dIH0sCi0gKTsKLSAKLSAjIExvY2FsZSBy ZWxhdGVkIHRlc3RzCi0tLSAKLTIuNTUuMAotCgpkaWZmIC0tZ2l0IGEvY29yZXV0aWxzLTkuMTEt dGVlLWluZmluaXRlLWxvb3AucGF0Y2ggYi9jb3JldXRpbHMtOS4xMS10ZWUtaW5maW5pdGUtbG9v cC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmEyZDViYS4uMDAwMDAwMAot LS0gYS9jb3JldXRpbHMtOS4xMS10ZWUtaW5maW5pdGUtbG9vcC5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDIzNiArMCwwIEBACi1Gcm9tIGM2YjFkN2MwOGQ4MDJhY2NkMDA3NWMzZGMyOWJhNDZk NDJmY2E4ZDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDb2xsaW4gRnVuayA8Y29s bGluLmZ1bmsxQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgMTggTWF5IDIwMjYgMjA6NDA6MjggLTA3 MDAKLVN1YmplY3Q6IFtQQVRDSF0gdGVlOiBmaXggaW5maW5pdGUgbG9vcCB3aGVuIHdyaXRlIHJl dHVybnMgRUFHQUlOIGFuZCBzaG9ydAotIHdyaXRlIGVycm9ycwotCi0qIFRIQU5LUy5pbjogQWRk IEJlcm5oYXJkIE0uIFdpZWRlbWFubiBmb3IgcmVwb3J0aW5nIHRoZSBidWdzLgotKiBzcmMvaW9w b2xsLmMgKGNsb3NlX3dhaXQpOiBSZW1vdmUgZnVuY3Rpb24uCi0od3JpdGVfd2FpdCk6IERvbid0 IGNhbGwgd2FpdF9mb3Jfbm9uYmxvY2tpbmdfd3JpdGUgaWYgd3JpdGUgaXMKLXN1Y2Nlc3NmdWwu IEhhbmRsZSBlcnJvcnMgbW9yZSByb2J1c3RseS4KLSogc3JjL2lvcG9sbC5oIChjbG9zZV93YWl0 KTogUmVtb3ZlIGRlY2xhcmF0aW9uLgotKiBzcmMvdGVlLmMgKHRlZV9maWxlcyk6IFVzZSBjbG9z ZSBpbnN0ZWFkIG9mIGNsb3NlX3dhaXQuCi0qIHRlc3RzL3RlZS9zaG9ydC13cml0ZS5zaDogTmV3 IHRlc3QgZm9yIHRoZSBidWcuCi0qIHRlc3RzL3RlZS93cml0ZS1lYWdhaW4uc2g6IExpa2V3aXNl LgotKiB0ZXN0cy9sb2NhbC5tayAoYWxsX3Rlc3RzKTogQWRkIHRoZSBuZXcgdGVzdHMuCi1GaXhl cyBodHRwczovL2J1Z3MuZ251Lm9yZy84MTA2MAotCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1p dCAwZDZmY2I5OWQ2OTFkOTIwOTYxOTM4ZTYxYzQzNDc4NTY2ZWY2MjZlKQotLS0tCi0gVEhBTktT LmluICAgICAgICAgICAgICAgICB8ICAxICsKLSBzcmMvaW9wb2xsLmMgICAgICAgICAgICAgIHwg NTkgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCi0gc3JjL2lvcG9sbC5o ICAgICAgICAgICAgICB8ICAxIC0KLSBzcmMvdGVlLmMgICAgICAgICAgICAgICAgIHwgIDIgKy0K LSB0ZXN0cy9sb2NhbC5tayAgICAgICAgICAgIHwgIDIgKysKLSB0ZXN0cy90ZWUvc2hvcnQtd3Jp dGUuc2ggIHwgMzMgKysrKysrKysrKysrKysrKysrKysrKwotIHRlc3RzL3RlZS93cml0ZS1lYWdh aW4uc2ggfCAzMSArKysrKysrKysrKysrKysrKysrKwotIDcgZmlsZXMgY2hhbmdlZCwgMTA0IGlu c2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQotIGNyZWF0ZSBtb2RlIDEwMDc1NSB0ZXN0cy90 ZWUvc2hvcnQtd3JpdGUuc2gKLSBjcmVhdGUgbW9kZSAxMDA3NTUgdGVzdHMvdGVlL3dyaXRlLWVh Z2Fpbi5zaAotCi1kaWZmIC0tZ2l0IGEvVEhBTktTLmluIGIvVEhBTktTLmluCi1pbmRleCA1YTJm ZDM1Li5iMTQ1M2JlIDEwMDY0NAotLS0tIGEvVEhBTktTLmluCi0rKysgYi9USEFOS1MuaW4KLUBA IC04Niw2ICs4Niw3IEBAIEJlcm5kIExlaWJpbmcgICAgICAgICAgICAgICAgICAgICAgIGJlcm5k LmxlaWJpbmdAcnoudW5pLXVsbS5kZQotIEJlcm5kIE1lbGNoZXJzICAgICAgICAgICAgICAgICAg ICAgIG1lbGNoZXJzQGNpcy5mdS1iZXJsaW4uZGUKLSBCZXJuaGFyZCBCYWVociAgICAgICAgICAg ICAgICAgICAgICBiZXJuaGFyZC5iYWVockBnbXguZGUKLSBCZXJuaGFyZCBHYWJsZXIgICAgICAg ICAgICAgICAgICAgICBiZXJuaGFyZEB1bmkta29ibGVuei5kZQotK0Jlcm5oYXJkIE0uIFdpZWRl bWFubiAgICAgICAgICAgICAgIGJ3aWVkZW1hbm5Ac3VzZS5kZQotIEJlcm5oYXJkIFJvc2Vua3Jh ZW56ZXIgICAgICAgICAgICAgIGJlcm9AcmVkaGF0LmRlCi0gQmVydCBEZWtudXlkdCAgICAgICAg ICAgICAgICAgICAgICAgQmVydC5EZWtudXlkdEBlc2F0Lmt1bGV1dmVuLmFjLmJlCi0gQmVydCBX ZXNhcmcgICAgICAgICAgICAgICAgICAgICAgICAgYmVydC53ZXNhcmdAZ29vZ2xlbWFpbC5jb20K LWRpZmYgLS1naXQgYS9zcmMvaW9wb2xsLmMgYi9zcmMvaW9wb2xsLmMKLWluZGV4IGRlMjBiYzgu LjBiZDJkNmIgMTAwNjQ0Ci0tLS0gYS9zcmMvaW9wb2xsLmMKLSsrKyBiL3NyYy9pb3BvbGwuYwot QEAgLTE5NCwxNyArMTk0LDYgQEAgd2FpdF9mb3Jfbm9uYmxvY2tpbmdfd3JpdGUgKGludCBmZCkK LSAgIHJldHVybiB0cnVlOwotIH0KLSAKLS0vKiB3cmFwcGVyIGZvciBjbG9zZSgpIHRoYXQgYWxz byB3YWl0cyBmb3IgRkQgaWYgbm9uIGJsb2NraW5nLiAgKi8KLS0KLS1leHRlcm4gYm9vbAotLWNs b3NlX3dhaXQgKGludCBmZCkKLS17Ci0tICB3aGlsZSAod2FpdF9mb3Jfbm9uYmxvY2tpbmdfd3Jp dGUgKGZkKSkKLS0gICAgOwotLSAgcmV0dXJuIGNsb3NlIChmZCkgPT0gMDsKLS19Ci0tCi0tCi0g Lyogd3JhcHBlciBmb3Igd3JpdGUoKSB0aGF0IGFsc28gd2FpdHMgZm9yIEZEIGlmIG5vbiBibG9j a2luZy4gICovCi0gCi0gZXh0ZXJuIGJvb2wKLUBAIC0yMTIsMTkgKzIwMSw0MyBAQCB3cml0ZV93 YWl0IChpbnQgZmQsIHZvaWQgY29uc3QgKmJ1ZmZlciwgc2l6ZV90IHNpemUpCi0gewotICAgdW5z aWduZWQgY2hhciBjb25zdCAqYnVmID0gYnVmZmVyOwotIAotLSAgd2hpbGUgKHRydWUpCi0rICBk bwotICAgICB7Ci0tICAgICAgc3NpemVfdCB3cml0dGVuID0gd3JpdGUgKGZkLCBidWYsIHNpemUp OwotLSAgICAgIGlmICh3cml0dGVuIDwgMCkKLS0gICAgICAgIHdyaXR0ZW4gPSAwOwotLQotLSAg ICAgIHNpemUgLT0gd3JpdHRlbjsKLS0gICAgICBpZiAoc2l6ZSA8PSAwKSAgLyogZXZlcnl0aGlu ZyB3cml0dGVuICovCi0tICAgICAgICByZXR1cm4gdHJ1ZTsKLS0KLS0gICAgICBpZiAoISB3YWl0 X2Zvcl9ub25ibG9ja2luZ193cml0ZSAoZmQpKQotLSAgICAgICAgcmV0dXJuIGZhbHNlOwotKyAg ICAgIGNvbnN0IHNzaXplX3Qgd3JpdHRlbiA9IHdyaXRlIChmZCwgYnVmLCBzaXplKTsKLSsgICAg ICAvKiBQT1NJWCBzYXlzIHRoYXQgY2FsbGluZyB3cml0ZSB3aXRoIFNJWkUgb2YgemVybyBtYXkg ZGV0ZWN0IGFuZAotKyAgICAgICAgIHJldHVybiBlcnJvcnMuICBJZiBubyBlcnJvciBvY2N1cnMs IG9yIHdyaXRlIG1ha2VzIG5vIGF0dGVtcHQKLSsgICAgICAgICB0byBkZXRlY3QgZXJyb3JzLCB0 aGVuIHdyaXRlIHJldHVybnMgemVybyB3aXRoIG5vIG90aGVyCi0rICAgICAgICAgcmVzdWx0cy4g IHdyaXRlX2ZhaWwgd2lsbCByZXR1cm4gc3VjY2Vzc2Z1bGx5IGluIHRoaXMgY2FzZS4gICovCi0r ICAgICAgaWYgKHdyaXR0ZW4gPT0gMCkKLSsgICAgICAgIHsKLSsgICAgICAgICAgaWYgKHNpemUg PT0gMCkKLSsgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSsgICAgICAgICAgZWxzZQotKyAgICAg ICAgICAgIHsKLSsgICAgICAgICAgICAgIC8qIElmIFNJWkUgaXMgZ3JlYXRlciB0aGFuIHplcm8g YW5kIHdyaXRlIHJldHVybnMgemVybywKLSsgICAgICAgICAgICAgICAgIHRyZWF0IGl0IGFzIGFu IGVycm9yLiAgU29tZSBidWdneSBkcml2ZXJzIGJlaGF2ZSB0aGlzCi0rICAgICAgICAgICAgICAg ICB3YXkuICBTZWUgc3JjL2RkLmMgYW5kIEdudWxpYidzIGxpYi9mdWxsLXdyaXRlLmMgZm9yCi0r ICAgICAgICAgICAgICAgICBtb3JlIGRldGFpbHMuICAqLwotKyAgICAgICAgICAgICAgZXJybm8g PSBFTk9TUEM7Ci0rICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0rICAgICAgICAgICAgfQot KyAgICAgICAgfQotIAotLSAgICAgIGJ1ZiArPSB3cml0dGVuOwotKyAgICAgIGlmICh3cml0dGVu IDwgMCkKLSsgICAgICAgIHsKLSsgICAgICAgICAgLyogUmV0dXJuIGFuIGVycm9yIGlmIHdyaXRl IGRldGVjdGVkIG9uZSB3aXRoIGEgU0laRSBvZiB6ZXJvLgotKyAgICAgICAgICAgICBPdGhlcndp c2UsIGlmIFNJWkUgaXMgZ3JlYXRlciB0aGFuIHplcm8sIGZhaWwgaWYgaXQgZG9lcwotKyAgICAg ICAgICAgICBub3QgYmVjb21lIHdyaXRhYmxlLiAgKi8KLSsgICAgICAgICAgaWYgKHNpemUgPT0g MCB8fCAhIHdhaXRfZm9yX25vbmJsb2NraW5nX3dyaXRlIChmZCkpCi0rICAgICAgICAgICAgcmV0 dXJuIGZhbHNlOwotKyAgICAgICAgfQotKyAgICAgIGVsc2UKLSsgICAgICAgIHsKLSsgICAgICAg ICAgYnVmICs9IHdyaXR0ZW47Ci0rICAgICAgICAgIHNpemUgLT0gd3JpdHRlbjsKLSsgICAgICAg IH0KLSAgICAgfQotKyAgd2hpbGUgKDAgPCBzaXplKTsKLSsKLSsgIHJldHVybiB0cnVlOwotIH0K LWRpZmYgLS1naXQgYS9zcmMvaW9wb2xsLmggYi9zcmMvaW9wb2xsLmgKLWluZGV4IDE3MTFmZGEu LmExNTYxYjkgMTAwNjQ0Ci0tLS0gYS9zcmMvaW9wb2xsLmgKLSsrKyBiL3NyYy9pb3BvbGwuaAot QEAgLTUsNSArNSw0IEBAIGludCBpb3BvbGwgKGludCBmZGluLCBpbnQgZmRvdXQsIGJvb2wgYmxv Y2spOwotIGJvb2wgaW9wb2xsX2lucHV0X29rIChpbnQgZmRpbik7Ci0gYm9vbCBpb3BvbGxfb3V0 cHV0X29rIChpbnQgZmRvdXQpOwotIAotLWJvb2wgY2xvc2Vfd2FpdCAoaW50IGZkKTsKLSBib29s IHdyaXRlX3dhaXQgKGludCBmZCwgdm9pZCBjb25zdCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSk7Ci1k aWZmIC0tZ2l0IGEvc3JjL3RlZS5jIGIvc3JjL3RlZS5jCi1pbmRleCAzMmExOGUzLi5mYmE2YWUw IDEwMDY0NAotLS0tIGEvc3JjL3RlZS5jCi0rKysgYi9zcmMvdGVlLmMKLUBAIC0zMjksNyArMzI5 LDcgQEAgdGVlX2ZpbGVzIChpbnQgbmZpbGVzLCBjaGFyICoqZmlsZXMsIGJvb2wgcGlwZV9jaGVj aykKLSAKLSAgIC8qIENsb3NlIHRoZSBmaWxlcywgYnV0IG5vdCBzdGFuZGFyZCBvdXRwdXQuICAq LwotICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbmZpbGVzOyBpKyspCi0tICAgIGlmICgwIDw9IGRl c2NyaXB0b3JzW2ldICYmICEgY2xvc2Vfd2FpdCAoZGVzY3JpcHRvcnNbaV0pKQotKyAgICBpZiAo MCA8PSBkZXNjcmlwdG9yc1tpXSAmJiBjbG9zZSAoZGVzY3JpcHRvcnNbaV0pIDwgMCkKLSAgICAg ICB7Ci0gICAgICAgICBlcnJvciAoMCwgZXJybm8sICIlcyIsIHF1b3RlZiAoZmlsZXNbaV0pKTsK LSAgICAgICAgIG9rID0gZmFsc2U7Ci1kaWZmIC0tZ2l0IGEvdGVzdHMvbG9jYWwubWsgYi90ZXN0 cy9sb2NhbC5tawotaW5kZXggZTJjMDdhOC4uZWE1ZWY3YyAxMDA2NDQKLS0tLSBhL3Rlc3RzL2xv Y2FsLm1rCi0rKysgYi90ZXN0cy9sb2NhbC5tawotQEAgLTQ4NSw3ICs0ODUsOSBAQCBhbGxfdGVz dHMgPQkJCQkJXAotICAgdGVzdHMvdGFjL3RhYy0yLW5vbnNlZWthYmxlLnNoCQlcCi0gICB0ZXN0 cy90YWlsL3RhaWwucGwJCQkJXAotICAgdGVzdHMvdGVlL2FwcGVuZC5zaAkJCQlcCi0rICB0ZXN0 cy90ZWUvc2hvcnQtd3JpdGUuc2gJCQlcCi0gICB0ZXN0cy90ZWUvdGVlLnNoCQkJCVwKLSsgIHRl c3RzL3RlZS93cml0ZS1lYWdhaW4uc2gJCQlcCi0gICB0ZXN0cy90ZXN0L3Rlc3QtTi5zaAkJCQlc Ci0gICB0ZXN0cy90ZXN0L3Rlc3QtZGlhZy5wbAkJCVwKLSAgIHRlc3RzL3Rlc3QvdGVzdC1maWxl LnNoCQkJXAotZGlmZiAtLWdpdCBhL3Rlc3RzL3RlZS9zaG9ydC13cml0ZS5zaCBiL3Rlc3RzL3Rl ZS9zaG9ydC13cml0ZS5zaAotbmV3IGZpbGUgbW9kZSAxMDA3NTUKLWluZGV4IDAwMDAwMDAuLjQy NzA5MjYKLS0tLSAvZGV2L251bGwKLSsrKyBiL3Rlc3RzL3RlZS9zaG9ydC13cml0ZS5zaAotQEAg LTAsMCArMSwzMyBAQAotKyMhL2Jpbi9zaAotKyMgVGVzdCAndGVlJyB3aGVuIGEgd3JpdGUgaXMg c2hvcnQuCi0rCi0rIyBDb3B5cmlnaHQgKEMpIDIwMjYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCi0rCi0rIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsjIHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0r IyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwotKyMgVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rIyBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgotKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQotKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KLSsKLSsjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0rIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5v dCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0rCi0rLiAiJHtzcmNkaXI9 Ln0vdGVzdHMvaW5pdC5zaCI7IHBhdGhfcHJlcGVuZF8gLi9zcmMKLStwcmludF92ZXJfIHRlZQot K3JlcXVpcmVfc3RyYWNlXyB3cml0ZQotKwotK3ByaW50ZiAnYWJjZGVmJyA+ZmlsZTEtZXhwIHx8 IGZyYW1ld29ya19mYWlsdXJlXwotK3ByaW50ZiAnZicgPm91dC1leHAgfHwgZnJhbWV3b3JrX2Zh aWx1cmVfCi0rCi0rIyBJbiBjb3JldXRpbHMtOS4xMSwgYSBzaG9ydCB3cml0ZSB3b3VsZCBiZSB0 cmVhdGVkIGFzIGFuIGVycm9yLgotK3N0cmFjZSAtcXFxIC1vIC9kZXYvbnVsbCAtLXRyYWNlLWZk cz0xIC1lIHRyYWNlPXdyaXRlIFwKLSsgIC1lIGluamVjdD13cml0ZTpyZXR2YWw9MTp3aGVuPTEu LjUgdGVlIGZpbGUxID5vdXQgMj5lcnIgPGZpbGUxLWV4cCB8fCBmYWlsPTEKLStjb21wYXJlIGZp bGUxLWV4cCBmaWxlMSB8fCBmYWlsPTEKLStjb21wYXJlIG91dC1leHAgb3V0IHx8IGZhaWw9MQot K2NvbXBhcmUgL2Rldi9udWxsIGVyciB8fCBmYWlsPTEKLSsKLStFeGl0ICRmYWlsCi1kaWZmIC0t Z2l0IGEvdGVzdHMvdGVlL3dyaXRlLWVhZ2Fpbi5zaCBiL3Rlc3RzL3RlZS93cml0ZS1lYWdhaW4u c2gKLW5ldyBmaWxlIG1vZGUgMTAwNzU1Ci1pbmRleCAwMDAwMDAwLi5mNDM0ZWU2Ci0tLS0gL2Rl di9udWxsCi0rKysgYi90ZXN0cy90ZWUvd3JpdGUtZWFnYWluLnNoCi1AQCAtMCwwICsxLDMxIEBA Ci0rIyEvYmluL3NoCi0rIyBUZXN0ICd0ZWUnIHdoZW4gYSB3cml0ZSBmYWlscyB3aXRoIGVycm5v IHNldCB0byBFQUdBSU4uCi0rCi0rIyBDb3B5cmlnaHQgKEMpIDIwMjYgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuCi0rCi0rIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyMgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsjIHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu c2UsIG9yCi0rIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwotKyMgVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCi0rIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgotKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KLSsKLSsjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0rIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3Jh bS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0rCi0rLiAi JHtzcmNkaXI9Ln0vdGVzdHMvaW5pdC5zaCI7IHBhdGhfcHJlcGVuZF8gLi9zcmMKLStwcmludF92 ZXJfIHRlZQotK3JlcXVpcmVfc3RyYWNlXyB3cml0ZQotKwotKyMgSW4gY29yZXV0aWxzLTkuMTEg dGhlIGZvbGxvd2luZyB0ZXN0IHdvdWxkIGluZmluaXRlIGxvb3AuCi0rZWNobyBhID5leHAgfHwg ZnJhbWV3b3JrX2ZhaWx1cmVfCi0rdGltZW91dCAxMCBzdHJhY2UgLXFxcSAtbyAvZGV2L251bGwg LWUgdHJhY2UtZmRzPTMgXAotKyAgLWUgaW5qZWN0PXdyaXRlOmVycm9yPUVBR0FJTjp3aGVuPTEg dGVlIGZpbGUxIDxleHAgPm91dCAyPmVyciB8fCBmYWlsPTEKLStjb21wYXJlIGV4cCBmaWxlMSB8 fCBmYWlsPTEKLStjb21wYXJlIGV4cCBvdXQgfHwgZmFpbD0xCi0rY29tcGFyZSAvZGV2L251bGwg ZXJyIHx8IGZhaWw9MQotKwotK0V4aXQgJGZhaWwKLS0tIAotMi41NS4wCi0KCmRpZmYgLS1naXQg YS9jb3JldXRpbHMtOS4xMS11bmV4cGFuZC1oZWFwLW92ZXJmbG93cy5wYXRjaCBiL2NvcmV1dGls cy05LjExLXVuZXhwYW5kLWhlYXAtb3ZlcmZsb3dzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAzYmFiNTMyLi4wMDAwMDAwCi0tLSBhL2NvcmV1dGlscy05LjExLXVuZXhwYW5k LWhlYXAtb3ZlcmZsb3dzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEzICswLDAgQEAKLUZy b20gZjdkNWI3NjNmNjkxYjM2NjAzY2RkMmFjMWZjNzlhNmE3MzFiZGRiZiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKLUZyb206IFDDoWRyYWlnIEJyYWR5IDxQQGRyYWlnQnJhZHkuY29tPgotRGF0 ZTogVHVlLCAyOCBBcHIgMjAyNiAyMDozMzoxMCArMDEwMAotU3ViamVjdDogW1BBVENIXSB1bmV4 cGFuZDogZml4IGhlYXAgb3ZlcmZsb3cKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6 IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhi aXQKLQotKiBzcmMvdW5leHBhbmQuYyAodW5leHBhbmQpOiBVc2UgeGlubWFsbG9jKCkgdG8gZ3Jh Y2VmdWxseQotaGFuZGxlIG92ZXJmbG93LiAgQWxzbyB1c2UgdGhlIHJ1bnRpbWUgbG9jYWxlIHNw ZWNpZmljIE1CX0NVUl9NQVgKLXJhdGhlciB0aGFuIHRoZSB3b3JzdCBjYXNlIE1CX0xFTl9NQVgu Ci0qIHRlc3RzL3VuZXhwYW5kL21iLnNoOiBBZGQgYSB0ZXN0IGNhc2UgdGhhdCBmYWlscyBpbiBh IGRlZmF1bHQKLWdsaWJjIGJ1aWxkIHdpdGggZWl0aGVyIE1CX0NVUl9NQVggb3IgTUJfTEVOX01B WC4KLVJlcG9ydGVkIGJ5IE1pY2hhxYIgTWFqY2hyb3dpY3ouCi0KLShjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IGI2MGExNTlmZGM1YmZjZjk5ODhkM2E0Y2I2ZjUzYWJlOGFkNWQzNWQpCi0tLS0K LSBzcmMvdW5leHBhbmQuYyAgICAgICB8IDIgKy0KLSB0ZXN0cy91bmV4cGFuZC9tYi5zaCB8IDgg KysrKysrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQotCi1kaWZmIC0tZ2l0IGEvc3JjL3VuZXhwYW5kLmMgYi9zcmMvdW5leHBhbmQuYwotaW5kZXgg NGZiZjlkMy4uNzYxYzhlYSAxMDA2NDQKLS0tLSBhL3NyYy91bmV4cGFuZC5jCi0rKysgYi9zcmMv dW5leHBhbmQuYwotQEAgLTEzMSw3ICsxMzEsNyBAQCB1bmV4cGFuZCAodm9pZCkKLSAgIC8qIFRo ZSB3b3JzdCBjYXNlIGlzIGEgbm9uLWJsYW5rIGNoYXJhY3RlciwgdGhlbiBvbmUgYmxhbmssIHRo ZW4gYQotICAgICAgdGFiIHN0b3AsIHRoZW4gTUFYX0NPTFVNTl9XSURUSCAtIDEgYmxhbmtzLCB0 aGVuIGEgbm9uLWJsYW5rOyBzbwotICAgICAgYWxsb2NhdGUgTUFYX0NPTFVNTl9XSURUSCBieXRl cyB0byBzdG9yZSB0aGUgYmxhbmtzLiAgKi8KLS0gIHBlbmRpbmdfYmxhbmsgPSB4aW1hbGxvYyAo bWF4X2NvbHVtbl93aWR0aCAqIHNpemVvZiAoY2hhcikgKiBNQl9MRU5fTUFYKTsKLSsgIHBlbmRp bmdfYmxhbmsgPSB4aW5tYWxsb2MgKG1heF9jb2x1bW5fd2lkdGgsIE1CX0NVUl9NQVgpOwotIAot ICAgd2hpbGUgKHRydWUpCi0gICAgIHsKLWRpZmYgLS1naXQgYS90ZXN0cy91bmV4cGFuZC9tYi5z aCBiL3Rlc3RzL3VuZXhwYW5kL21iLnNoCi1pbmRleCA3NmEyNjc5Li4wNzZhMWMxIDEwMDc1NQot LS0tIGEvdGVzdHMvdW5leHBhbmQvbWIuc2gKLSsrKyBiL3Rlc3RzL3VuZXhwYW5kL21iLnNoCi1A QCAtMTcsNiArMTcsNyBAQAotIAotIC4gIiR7c3JjZGlyPS59L3Rlc3RzL2luaXQuc2giOyBwYXRo X3ByZXBlbmRfIC4vc3JjCi0gcHJpbnRfdmVyXyB1bmV4cGFuZCBwcmludGYKLStnZXRsaW1pdHNf Ci0gCi0gdGVzdCAiJExPQ0FMRV9GUl9VVEY4IiAhPSBub25lIHx8IHNraXBfICJGcmVuY2ggVVRG LTggbG9jYWxlIG5vdCBhdmFpbGFibGUiCi0gZXhwb3J0IExDX0FMTD0iJExPQ0FMRV9GUl9VVEY4 IgotQEAgLTE2MSw0ICsxNjIsMTEgQEAgRU9GCi0gdW5leHBhbmQgLWEgLi9pbiAuL2luID4gb3V0 IHx8IGZhaWw9MQotIGNvbXBhcmUgZXhwIG91dCA+IC9kZXYvbnVsbCAyPiYxIHx8IGZhaWw9MQot IAotKyMgRW5zdXJlIG92ZXJmbG93IGlzIGhhbmRlZCBncmFjZWZ1bGx5Ci0rIyBjb3JldXRpbHMg djkuMTEgaW5kdWNlZCBhIGJ1ZmZlciBvdmVyZmxvdyB3aXRoIG1iX211bD00IChvciAxNikuCi0r Zm9yIG1iX211bCBpbiA0IDY7IGRvCi0rICBwcmludGYgJyAgIFxuJyB8IHVuZXhwYW5kIC10ICQo ZXhwciAkU0laRV9NQVggLyAkbWJfbXVsICsgMSkgMj5lcnI7IHJldD0kPwotKyAgdGVzdCAiJHJl dCIgPSAxIHx8IHRlc3QgIiRyZXQiID0gMCB8fCB7IGNhdCBlcnI7IGZhaWw9MTsgfQotK2RvbmUK LSsKLSBFeGl0ICRmYWlsCi0tLSAKLTIuNTQuMAotCi1Gcm9tIDUyOGM3NDA4MTdkMjIzNWRkMzcy NjkyOTJjNWUzMTY3OTM1ZDI3NjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBhaXp1 LW0gPGFpenVtdXNoZWVyMkBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDkgSnVuIDIwMjYgMTI6Mzc6 MDYgKzA1MzAKLVN1YmplY3Q6IFtQQVRDSF0gdW5leHBhbmQ6IGZpeCBoZWFwIG92ZXJmbG93IHdo ZW4gYSB3aWRlIGJsYW5rIG92ZXJzaG9vdHMgYQotIHRhYiBzdG9wCi0KLSogc3JjL3VuZXhwYW5k LmMgKHVuZXhwYW5kKTogQ2hlY2sgaWYgdGhlIGNvbHVtbiBpcyBncmVhdGVyIG9yIGVxdWFsIHRv Ci10aGUgbmV4dF90YWJfY29sdW1uLgotKiB0ZXN0cy91bmV4cGFuZC9tYi5zaDogQWRkIGEgdGVz dCBjYXNlLgotaHR0cHM6Ly9naXRodWIuY29tL2NvcmV1dGlscy9jb3JldXRpbHMvcHVsbC8yODUK LUNvcHlyaWdodC1wYXBlcndvcmstZXhlbXB0OiBZZXMKLQotKGNoZXJyeSBwaWNrZWQgZnJvbSBj b21taXQgNGFkZTljZjc3ZjZjN2IzOWUzZmRjNWNlOTdhNzc4ZjhlMjk0Njk0YykKLS0tLQotIHNy Yy91bmV4cGFuZC5jICAgICAgIHwgMiArLQotIHRlc3RzL3VuZXhwYW5kL21iLnNoIHwgOSArKysr KysrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK LQotZGlmZiAtLWdpdCBhL3NyYy91bmV4cGFuZC5jIGIvc3JjL3VuZXhwYW5kLmMKLWluZGV4IDc2 MWM4ZWEuLjNiZGU5ODUgMTAwNjQ0Ci0tLS0gYS9zcmMvdW5leHBhbmQuYwotKysrIGIvc3JjL3Vu ZXhwYW5kLmMKLUBAIC0yMDEsNyArMjAxLDcgQEAgdW5leHBhbmQgKHZvaWQpCi0gICAgICAgICAg ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uICs9IGMz MndpZHRoIChnLmNoKTsKLSAKLS0gICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghIChwcmV2 X2JsYW5rICYmIGNvbHVtbiA9PSBuZXh0X3RhYl9jb2x1bW4pKQotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgaWYgKCEgKHByZXZfYmxhbmsgJiYgY29sdW1uID49IG5leHRfdGFiX2NvbHVtbikp Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAvKiBJdCBpcyBub3QgeWV0IGtub3duIHdoZXRoZXIgdGhlIHBlbmRpbmcgYmxhbmtz Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lsbCBiZSByZXBsYWNlZCBieSB0 YWJzLiAgKi8KLWRpZmYgLS1naXQgYS90ZXN0cy91bmV4cGFuZC9tYi5zaCBiL3Rlc3RzL3VuZXhw YW5kL21iLnNoCi1pbmRleCAwNzZhMWMxLi44NGJhMDM1IDEwMDc1NQotLS0tIGEvdGVzdHMvdW5l eHBhbmQvbWIuc2gKLSsrKyBiL3Rlc3RzL3VuZXhwYW5kL21iLnNoCi1AQCAtMTY5LDQgKzE2OSwx MyBAQCBmb3IgbWJfbXVsIGluIDQgNjsgZG8KLSAgIHRlc3QgIiRyZXQiID0gMSB8fCB0ZXN0ICIk cmV0IiA9IDAgfHwgeyBjYXQgZXJyOyBmYWlsPTE7IH0KLSBkb25lCi0gCi0rIyBBIGJsYW5rIHdo b3NlIGRpc3BsYXkgd2lkdGggZXhjZWVkcyB0aGUgdGFiIGRpc3RhbmNlIG11c3Qgbm90IG92ZXJy dW4KLSsjIHRoZSBwZW5kaW5nLWJsYW5rIGJ1ZmZlci4gIFdpdGggLXQxIGV2ZXJ5IGNvbHVtbiBp cyBhIHRhYiBzdG9wLCBzbyBhCi0rIyB3aWR0aC0yIGlkZW9ncmFwaGljIHNwYWNlIHN0ZXBzIG92 ZXIgdGhlIHN0b3Agd2l0aG91dCBsYW5kaW5nIG9uIGl0OwotKyMgdGhlIHJ1biBvZiBibGFua3Mg dGhlbiBncmV3IHBlbmRpbmdfYmxhbmsgd2l0aG91dCBib3VuZC4KLStpZGVvX3NwYWNlPSQoZW52 IHByaW50ZiAnXHUzMDAwJykKLSt7IHllcyAiJGlkZW9fc3BhY2UiIHwgaGVhZCAtbiA0MDAwMCB8 IHRyIC1kICdcbic7IGVjaG87IH0gfAotKyAgdW5leHBhbmQgLXQxID5vdXQgMj5lcnI7IHJldD0k PwotK3Rlc3QgIiRyZXQiID0gMCB8fCB7IGNhdCBlcnI7IGZhaWw9MTsgfQotKwotIEV4aXQgJGZh aWwKLS0tIAotMi41NC4wCi0KCmRpZmYgLS1naXQgYS9jb3JldXRpbHMtOS4xMi1lbnYtcXVvdGUt Zml4LnBhdGNoIGIvY29yZXV0aWxzLTkuMTItZW52LXF1b3RlLWZpeC5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Y2MyMWRlCi0tLSAvZGV2L251bGwKKysrIGIvY29y ZXV0aWxzLTkuMTItZW52LXF1b3RlLWZpeC5wYXRjaApAQCAtMCwwICsxLDIxMSBAQAorRnJvbSA1 Y2MyNWU1ZTVjY2E4MTA5MWJmNzY1MDk0OTg1YWFmYTc5MWRhM2Q3IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP1A9QzM9QTFkcmFpZz0yMEJyYWR5Pz0gPFBAZHJhaWdC cmFkeS5jb20+CitEYXRlOiBUdWUsIDE1IFNlcCAyMDI2IDIwOjI2OjI4ICswMTAwCitTdWJqZWN0 OiBbUEFUQ0hdIGVudixwcmludGVudjogb25seSBxdW90ZSB3aGVuIG91dHB1dHRpbmcgdG8gdGVy bWluYWxzCisKK1RvIHN1cHBvcnQgYWxiZWl0IG5vbi1yb2J1c3QgYnV0IGV4aXN0aW5nIHVzZSBj YXNlcyBsaWtlOgorCisgIGVudiB8IGdyZXAgU1BBUktfSkFWQV9PUFRfIHwgc29ydCAtdF8gLWs0 IC1uIHwKKyAgIHNlZCAncy9bXj1dKj1cKC4qXCkvXDEvZycgPiBqYXZhX29wdHMudHh0CisgIHJl YWRhcnJheSAtdCBTUEFSS19FWEVDVVRPUl9KQVZBX09QVFMgPCBqYXZhX29wdHMudHh0CisgIC4u LgorICBDTUQ9KCIke0pBVkFfSE9NRX0vYmluL2phdmEiICIke1NQQVJLX0VYRUNVVE9SX0pBVkFf T1BUU1tAXX0iIC4uLikKKworKiBzcmMvZW52LmMgKG1haW4pOiBSZXN0cmljdCBxdW90aW5nIHRv IHRlcm1pbmFscy4KKyogc3JjL3ByaW50ZW52LmMgKG1haW4pOiBMaWtld2lzZS4KKyogdGVzdHMv ZW52L2Vudi5zaDogQWRqdXN0IGFjY29yZGluZ2x5LgorKiB0ZXN0cy9taXNjL3ByaW50ZW52LnNo OiBMaWtld2lzZS4KKyogZG9jL2NvcmV1dGlscy50ZXhpOiBMaWtld2lzZS4KKworTGluazogaHR0 cHM6Ly9naXRodWIuY29tL2NvcmV1dGlscy9jb3JldXRpbHMvaXNzdWVzLzM1NQorCisoY2hlcnJ5 IHBpY2tlZCBmcm9tIGNvbW1pdCA3ODJhMWU1YmMyMDkwMjEyMjczYmI3MzFkY2VlZTJjYzJhMDcx ZTU0KQorLS0tCisgZG9jL2NvcmV1dGlscy50ZXhpICAgICB8IDE2ICsrKysrKy0tLS0tLS0tLS0K KyBzcmMvZW52LmMgICAgICAgICAgICAgIHwgIDIgKy0KKyBzcmMvcHJpbnRlbnYuYyAgICAgICAg IHwgIDIgKy0KKyB0ZXN0cy9lbnYvZW52LnNoICAgICAgIHwgMzEgKysrKysrKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorIHRlc3RzL21pc2MvcHJpbnRlbnYuc2ggfCA0MCArKysrLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgNSBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRp b25zKCspLCA3MiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2RvYy9jb3JldXRpbHMudGV4 aSBiL2RvYy9jb3JldXRpbHMudGV4aQoraW5kZXggMWJkNjk3Ni4uOWNhZmI2MiAxMDA2NDQKKy0t LSBhL2RvYy9jb3JldXRpbHMudGV4aQorKysrIGIvZG9jL2NvcmV1dGlscy50ZXhpCitAQCAtMTU1 MjUsMTMgKzE1NTI1LDkgQEAgVGhlIHByb2dyYW0gYWNjZXB0cyB0aGUgZm9sbG93aW5nIG9wdGlv bi4gIEFsc28gc2VlIEByZWZ7Q29tbW9uIG9wdGlvbnN9LgorIAorIEBlbmQgdGFibGUKKyAKKy1J ZiBubyBAdmFye3ZhcmlhYmxlfXMgYXJlIHNwZWNpZmllZCwgQGNvbW1hbmR7cHJpbnRlbnZ9IHF1 b3RlcworK0lmIHN0YW5kYXJkIG91dHB1dCBpcyBhIHRlcm1pbmFsIEBjb21tYW5ke3ByaW50ZW52 fSBxdW90ZXMKKyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYW5kIHRoZWlyIHZhbHVlcyB1c2luZyB0 aGUgQHNhbXB7c2hlbGwtZXNjYXBlfQorLXN0eWxlLiAgSWYgQHZhcnt2YXJpYWJsZX1zIGFyZSBz cGVjaWZpZWQsIEBjb21tYW5ke3ByaW50ZW52fSBvbmx5IHF1b3RlcworLXRoZWlyIHZhbHVlcyB1 c2luZyB0aGUgQHNhbXB7c2hlbGwtZXNjYXBlfSBzdHlsZSBpZiBzdGFuZGFyZCBvdXRwdXQgaXMg YQorLXRlcm1pbmFsLgorLQorLVRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBAZW52e1FVT1RJTkdf U1RZTEV9Cisrc3R5bGUgYnkgZGVmYXVsdC4gVGhlIGVudmlyb25tZW50IHZhcmlhYmxlIEBlbnZ7 UVVPVElOR19TVFlMRX0KKyBzcGVjaWZpZXMgdGhlIHF1b3Rpbmcgc3R5bGUuICBWYWxpZCBxdW90 aW5nIHN0eWxlcyBhcmU6CisgQHF1b3RpbmdTdHlsZXMKKyAKK0BAIC0xNzUwMywxMCArMTc0OTks MTAgQEAgSWYgbm8gY29tbWFuZCBuYW1lIGlzIHNwZWNpZmllZCBmb2xsb3dpbmcgdGhlIGVudmly b25tZW50Cisgc3BlY2lmaWNhdGlvbnMsIHRoZSByZXN1bHRpbmcgZW52aXJvbm1lbnQgaXMgcHJp bnRlZC4gIFRoaXMgaXMgbGlrZQorIHNwZWNpZnlpbmcgdGhlIEBjb21tYW5ke3ByaW50ZW52fSBw cm9ncmFtLgorIAorLVRoZSBwcmludGVkIGVudmlyb25tZW50IHZhcmlhYmxlcyBhbmQgdGhlaXIg dmFsdWVzIGFyZSBxdW90ZWQgdXNpbmcgdGhlCistQHNhbXB7c2hlbGwtZXNjYXBlfSBzdHlsZS4g ICBUaGUgZW52aXJvbm1lbnQgdmFyaWFibGUKKy1AZW52e1FVT1RJTkdfU1RZTEV9IHNwZWNpZmll cyB0aGUgcXVvdGluZyBzdHlsZS4gIFZhbGlkIHF1b3Rpbmcgc3R5bGVzCistYXJlOgorK0lmIHN0 YW5kYXJkIG91dHB1dCBpcyBhIHRlcm1pbmFsLCB0aGUgcHJpbnRlZCBlbnZpcm9ubWVudCB2YXJp YWJsZXMKKythbmQgdGhlaXIgdmFsdWVzIGFyZSBxdW90ZWQgdXNpbmcgdGhlIEBzYW1we3NoZWxs LWVzY2FwZX0gc3R5bGUgYnkgZGVmYXVsdC4KKytUaGUgZW52aXJvbm1lbnQgdmFyaWFibGUgQGVu dntRVU9USU5HX1NUWUxFfSBzcGVjaWZpZXMgdGhlIHF1b3Rpbmcgc3R5bGUuCisrVmFsaWQgcXVv dGluZyBzdHlsZXMgYXJlOgorIEBxdW90aW5nU3R5bGVzCisgCisgRm9yIHNvbWUgZXhhbXBsZXMs IHN1cHBvc2UgdGhlIGVudmlyb25tZW50IHBhc3NlZCB0byBAY29tbWFuZHtlbnZ9CitkaWZmIC0t Z2l0IGEvc3JjL2Vudi5jIGIvc3JjL2Vudi5jCitpbmRleCBlNjQ2Y2JhLi44ZmZmODllIDEwMDY0 NAorLS0tIGEvc3JjL2Vudi5jCisrKysgYi9zcmMvZW52LmMKK0BAIC0xMTEzLDcgKzExMTMsNyBA QCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCisgICAvKiBHZXQgdGhlIHZhbHVlIGZy b20gUVVPVElOR19TVFlMRSBiZWZvcmUgdW5zZXR0aW5nIGVudmlyb25tZW50CisgICAgICB2YXJp YWJsZXMuICAqLworLSAgaWYgKCFvcHRfbnVsX3Rlcm1pbmF0ZV9vdXRwdXQpCisrICBpZiAoIW9w dF9udWxfdGVybWluYXRlX291dHB1dCAmJiBpc2F0dHkgKFNURE9VVF9GSUxFTk8pKQorICAgICB7 CisgICAgICAgaW50IHFzID0gZ2V0ZW52X3F1b3Rpbmdfc3R5bGUgKCk7CisgICAgICAgaWYgKHFz IDwgMCkKK2RpZmYgLS1naXQgYS9zcmMvcHJpbnRlbnYuYyBiL3NyYy9wcmludGVudi5jCitpbmRl eCBkYmE4N2YzLi4wMGNhMjlmIDEwMDY0NAorLS0tIGEvc3JjL3ByaW50ZW52LmMKKysrKyBiL3Ny Yy9wcmludGVudi5jCitAQCAtMTEzLDcgKzExMyw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoq YXJndikKKyAgIGJvb2wgcXVvdGVfb3V0cHV0ID0gZmFsc2U7CisgICBpZHhfdCBjb25zdCBuX2Fy Z3MgPSBhcmdjIC0gb3B0aW5kOworIAorLSAgaWYgKCFvcHRfbnVsX3Rlcm1pbmF0ZV9vdXRwdXQg JiYgKG5fYXJncyA8PSAwIHx8IGlzYXR0eSAoU1RET1VUX0ZJTEVOTykpKQorKyAgaWYgKCFvcHRf bnVsX3Rlcm1pbmF0ZV9vdXRwdXQgJiYgaXNhdHR5IChTVERPVVRfRklMRU5PKSkKKyAgICAgewor ICAgICAgIGludCBxcyA9IGdldGVudl9xdW90aW5nX3N0eWxlICgpOworICAgICAgIGlmIChxcyA8 IDApCitkaWZmIC0tZ2l0IGEvdGVzdHMvZW52L2Vudi5zaCBiL3Rlc3RzL2Vudi9lbnYuc2gKK2lu ZGV4IGJlODIyZTMuLjg4NTNlMDEgMTAwNzU1CistLS0gYS90ZXN0cy9lbnYvZW52LnNoCisrKysg Yi90ZXN0cy9lbnYvZW52LnNoCitAQCAtOTEsMTggKzkxLDE0IEBAIEVPRgorIGNvbXBhcmUgZXhw IG91dCB8fCBmYWlsPTEKKyAKKyAjIGVudiBzaG91bGRuJ3QgY2FyZSB3aGF0IGVuY29kaW5nIG5h bWUgb3IgdmFsdWUgaXMKKy1jYXQgPDxcRU9GID5leHAgfHwgZnJhbWV3b3JrX2ZhaWx1cmVfCist Tk9OX1VURjhfVEVTVD0nJyQnXDI0MCcKKy1FT0YKKytwcmludGYgJ05PTl9VVEY4X1RFU1Q9XDI0 MFxuJyA+IGV4cCB8fCBmcmFtZXdvcmtfZmFpbHVyZV8KKyBlbnYgJChwcmludGYgJ05PTl9VVEY4 X1RFU1Q9XDI0MCcpIGVudiA+IGFsbCB8fCBmYWlsPTEKKyBncmVwICdeTk9OX1VURjhfVEVTVCcg YWxsIHwgTENfQUxMPUMgc29ydCA+IG91dCB8fCBmcmFtZXdvcmtfZmFpbHVyZV8KKyBjb21wYXJl IGV4cCBvdXQgfHwgZmFpbD0xCisgCistY2F0IDw8XEVPRiA+ZXhwIHx8IGZyYW1ld29ya19mYWls dXJlXworLSdOT05fVVRGOF9URVNUJyQnXDI0MCc9MQorLUVPRgorK3ByaW50ZiAnTk9OX1VURjhf VEVTVFwyNDA9MVxuJyA+IGV4cCB8fCBmcmFtZXdvcmtfZmFpbHVyZV8KKyBlbnYgJChwcmludGYg J05PTl9VVEY4X1RFU1RcMjQwPTEnKSBlbnYgPiBhbGwgfHwgZmFpbD0xCistZ3JlcCAiXidOT05f VVRGOF9URVNUIiBhbGwgfCBMQ19BTEw9QyBzb3J0ID4gb3V0IHx8IGZyYW1ld29ya19mYWlsdXJl XworK2dyZXAgIl5OT05fVVRGOF9URVNUIiBhbGwgfCBMQ19BTEw9QyBzb3J0ID4gb3V0IHx8IGZy YW1ld29ya19mYWlsdXJlXworIGNvbXBhcmUgZXhwIG91dCB8fCBmYWlsPTEKKyAKKyAjIFBBVEgg bW9kaWZpY2F0aW9ucyBhZmZlY3QgZXhlYy4KK0BAIC0xOTMsMjkgKzE4OSwxNiBAQCBFT0YKKyBj b21wYXJlIGVycl9leHAgZXJyIHx8IGZhaWw9MQorIGRvbmUKKyAKKy0jIFFVT1RJTkdfU1RZTEUg YWZmZWN0cyByZWRpcmVjdGVkIG91dHB1dC4KKy1jYXQgPDxcRU9GID5leHAtbm9hcmdzLWxpdGVy YWwgfHwgZnJhbWV3b3JrX2ZhaWx1cmVfCistYSBiPWMgZAorLUVPRgorLWNhdCA8PFxFT0YgPmV4 cC1ub2FyZ3Mtc2hlbGwgfHwgZnJhbWV3b3JrX2ZhaWx1cmVfCistJ2EgYic9J2MgZCcKKy1FT0YK Ky10ciAiJyIgJyInIDxleHAtbm9hcmdzLXNoZWxsID5leHAtbm9hcmdzLWMgfHwgZnJhbWV3b3Jr X2ZhaWx1cmVfCistZm9yIHFzIGluIGxpdGVyYWwgc2hlbGwgYzsgZG8KKysjIFFVT1RJTkdfU1RZ TEUgZG9lcyBub3QgYWZmZWN0IHJlZGlyZWN0ZWQgb3V0cHV0LgorK3ByaW50ZiAnJXNcbicgJ2Eg Yj1jIGQnID4gZXhwIHx8IGZyYW1ld29ya19mYWlsdXJlXworK2ZvciBxcyBpbiBsaXRlcmFsIHNo ZWxsLWFsd2F5cyBpbnZhbGlkOyBkbworICAgZW52IC1pIFBBVEg9IiRQQVRIIiBRVU9USU5HX1NU WUxFPSRxcyAnYSBiJz0nYyBkJyBcCisgICAgIGVudiA+b3V0LXQgMj5lcnIgfHwgZmFpbD0xCisg ICBncmVwIC12RSAnXlsiJyInIiddPydcCisgJyhfX0NGX1VTRVJfVEVYVF9FTkNPRElOR3xRVU9U SU5HX1NUWUxFfChMRF9PUklHSU5fKT9QQVRIKVsiJyInIiddPz0nIFwKKyAgICAgb3V0LXQgPm91 dCB8fCBmcmFtZXdvcmtfZmFpbHVyZV8KKy0gIGNvbXBhcmUgZXhwLW5vYXJncy0kcXMgb3V0IHx8 IGZhaWw9MQorKyAgY29tcGFyZSBleHAgb3V0IHx8IGZhaWw9MQorICAgY29tcGFyZSAvZGV2L251 bGwgZXJyIHx8IGZhaWw9MQorIGRvbmUKKyAKKy0jIENoZWNrIHRoZSBiZWhhdmlvciB3aXRoIGFu IGludmFsaWQgdmFsdWUgZm9yIFFVT1RJTkdfU1RZTEUuCistcHJpbnRmICdlbnY6IGlnbm9yaW5n IGludmFsaWQgdmFsdWUgb2YgZW52aXJvbm1lbnQgdmFyaWFibGUgJXNcbicgXAorLSAgIlFVT1RJ TkdfU1RZTEU6ICdpbnZhbGlkJyIgPmV4cCB8fCBmcmFtZXdvcmtfZmFpbHVyZV8KKy1lbnYgUVVP VElOR19TVFlMRT1pbnZhbGlkIGVudiA+b3V0IDI+ZXJyIHx8IGZhaWw9MQorLWdyZXAgJ15RVU9U SU5HX1NUWUxFPWludmFsaWQkJyBvdXQgfHwgZmFpbD0xCistY29tcGFyZSBleHAgZXJyIHx8IGZh aWw9MQorLQorIEV4aXQgJGZhaWwKK2RpZmYgLS1naXQgYS90ZXN0cy9taXNjL3ByaW50ZW52LnNo IGIvdGVzdHMvbWlzYy9wcmludGVudi5zaAoraW5kZXggYjhjMzY5Ni4uMzNhZDZjYyAxMDA3NTUK Ky0tLSBhL3Rlc3RzL21pc2MvcHJpbnRlbnYuc2gKKysrKyBiL3Rlc3RzL21pc2MvcHJpbnRlbnYu c2gKK0BAIC04MCw0OCArODAsMTYgQEAgY29tcGFyZSBleHAgb3V0IHx8IGZhaWw9MQorIHJldHVy bnNfIDEgZW52IGE9Yj1jIHByaW50ZW52IGE9YiA+IG91dCB8fCBmYWlsPTEKKyBjb21wYXJlIC9k ZXYvbnVsbCBvdXQgfHwgZmFpbD0xCisgCistIyBRVU9USU5HX1NUWUxFIGFmZmVjdHMgcmVkaXJl Y3RlZCBvdXRwdXQuCistY2F0IDw8XEVPRiA+ZXhwLW5vYXJncy1saXRlcmFsIHx8IGZyYW1ld29y a19mYWlsdXJlXworLWEgYj1jIGQKKy1FT0YKKy1jYXQgPDxcRU9GID5leHAtYXJnLWxpdGVyYWwg fHwgZnJhbWV3b3JrX2ZhaWx1cmVfCistYyBkCistRU9GCistY2F0IDw8XEVPRiA+ZXhwLWFyZ3Mt bGl0ZXJhbCB8fCBmcmFtZXdvcmtfZmFpbHVyZV8KKy1jIGQKKy1jIGQKKy1FT0YKKy1jYXQgPDxc RU9GID5leHAtbm9hcmdzLXNoZWxsIHx8IGZyYW1ld29ya19mYWlsdXJlXworLSdhIGInPSdjIGQn CistRU9GCistY3AgZXhwLWFyZy1saXRlcmFsIGV4cC1hcmctc2hlbGwgJiYKKy1jcCBleHAtYXJn cy1saXRlcmFsIGV4cC1hcmdzLXNoZWxsIHx8IGZyYW1ld29ya19mYWlsdXJlXworLWZvciB0IGlu IG5vYXJncyBhcmcgYXJnczsgZG8KKy0gIHRyICInIiAnIicgPGV4cC0kdC1zaGVsbCA+ZXhwLSR0 LWMgfHwgZnJhbWV3b3JrX2ZhaWx1cmVfCistZG9uZQorLWZvciBxcyBpbiBsaXRlcmFsIHNoZWxs IGM7IGRvCisrIyBRVU9USU5HX1NUWUxFIGRvZXMgbm90IGFmZmVjdCByZWRpcmVjdGVkIG91dHB1 dC4KKytwcmludGYgJyVzXG4nICdhIGI9YyBkJyA+IGV4cCB8fCBmcmFtZXdvcmtfZmFpbHVyZV8K Kytmb3IgcXMgaW4gbGl0ZXJhbCBzaGVsbC1hbHdheXMgaW52YWxpZDsgZG8KKyAgIGVudiAtaSBQ QVRIPSIkUEFUSCIgUVVPVElOR19TVFlMRT0kcXMgJ2EgYic9J2MgZCcgXAorICAgICBwcmludGVu diA+b3V0LXQgMj5lcnIgfHwgZmFpbD0xCisgICBncmVwIC12RSAnXlsiJyInIiddPydcCisgJyhf X0NGX1VTRVJfVEVYVF9FTkNPRElOR3xRVU9USU5HX1NUWUxFfChMRF9PUklHSU5fKT9QQVRIKVsi JyInIiddPz0nIFwKKyAgICAgb3V0LXQgPm91dCB8fCBmcmFtZXdvcmtfZmFpbHVyZV8KKy0gIGNv bXBhcmUgZXhwLW5vYXJncy0kcXMgb3V0IHx8IGZhaWw9MQorLSAgY29tcGFyZSAvZGV2L251bGwg ZXJyIHx8IGZhaWw9MQorLSAgZW52IC1pIFBBVEg9IiRQQVRIIiBRVU9USU5HX1NUWUxFPSRxcyAn YSBiJz0nYyBkJyBcCistICAgIHByaW50ZW52ICdhIGInID5vdXQgMj5lcnIgfHwgZmFpbD0xCist ICBjb21wYXJlIGV4cC1hcmctJHFzIG91dCB8fCBmYWlsPTEKKy0gIGNvbXBhcmUgL2Rldi9udWxs IGVyciB8fCBmYWlsPTEKKy0gIGVudiAtaSBQQVRIPSIkUEFUSCIgUVVPVElOR19TVFlMRT0kcXMg J2EgYic9J2MgZCcgXAorLSAgICBwcmludGVudiAnYSBiJyAnYSBiJyA+b3V0IDI+ZXJyIHx8IGZh aWw9MQorLSAgY29tcGFyZSBleHAtYXJncy0kcXMgb3V0IHx8IGZhaWw9MQorKyAgY29tcGFyZSBl eHAgb3V0IHx8IGZhaWw9MQorICAgY29tcGFyZSAvZGV2L251bGwgZXJyIHx8IGZhaWw9MQorIGRv bmUKKyAKKy0jIENoZWNrIHRoZSBiZWhhdmlvciB3aXRoIGFuIGludmFsaWQgdmFsdWUgZm9yIFFV T1RJTkdfU1RZTEUuCistcHJpbnRmICdwcmludGVudjogaWdub3JpbmcgaW52YWxpZCB2YWx1ZSBv ZiBlbnZpcm9ubWVudCB2YXJpYWJsZSAlc1xuJyBcCistICAiUVVPVElOR19TVFlMRTogJ2ludmFs aWQnIiA+ZXhwIHx8IGZyYW1ld29ya19mYWlsdXJlXworLWVudiBRVU9USU5HX1NUWUxFPWludmFs aWQgcHJpbnRlbnYgPm91dCAyPmVyciB8fCBmYWlsPTEKKy1ncmVwICdeUVVPVElOR19TVFlMRT1p bnZhbGlkJCcgb3V0IHx8IGZhaWw9MQorLWNvbXBhcmUgZXhwIGVyciB8fCBmYWlsPTEKKy0KKyBF eGl0ICRmYWlsCistLSAKKzIuNTUuMAorCgpkaWZmIC0tZ2l0IGEvY29yZXV0aWxzLTkuMTItZ251 bGliLXJlZ2V4LWdyZWVrLnBhdGNoIGIvY29yZXV0aWxzLTkuMTItZ251bGliLXJlZ2V4LWdyZWVr LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwZWRkODEKLS0tIC9k ZXYvbnVsbAorKysgYi9jb3JldXRpbHMtOS4xMi1nbnVsaWItcmVnZXgtZ3JlZWsucGF0Y2gKQEAg LTAsMCArMSw3NiBAQAorRnJvbSAyNjMwMDg2ZTFjODUwYWFlOWMyY2ZhNDQxYzI1ZjM3NmJlZTBl NzVjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP1A9QzM9QTFkcmFp Zz0yMEJyYWR5Pz0gPFBAZHJhaWdCcmFkeS5jb20+CitEYXRlOiBTYXQsIDE5IFNlcCAyMDI2IDEy OjQ1OjE0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHJlZ2V4OiBjaGVjayBmb3IgZ2xpYmMgZ3Jl ZWsgbG9jYWxlIGJ1ZyAyMDM4MQorCit0ZXN0LXJlZ2V4LWVsIGZhaWxzIG9uIGdsaWJjLTIuNDQu OTAwMC0yLmZjNDYueDg2XzY0CitkdWUgdG8gcmVnZXggbm90IGJlaW5nIHJlcGxhY2VkIHRoZXJl LgorZ251bGliIHdhcyBwYXRjaGVkIHRvIGZpeCB0aGUgYnVnIGluIGNvbW1pdCAwZWI2ODY3Zjlj LgorCisqIG00L3JlZ2V4Lm00IChnbF9SRUdFWCk6IENoZWNrIGZvcgorPGh0dHBzOi8vc291cmNl d2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTIwMzgxPgorCisoY2hlcnJ5IHBpY2tl ZCBmcm9tIGNvbW1pdCBhY2MxZDkxODEwMTk1ZjYyY2UzMmMyMmQyNzFmZWQzZGE3NDc5NGJmKQor LS0tCisgbTQvcmVnZXgubTQgfCAzOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKworIDEgZmlsZSBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9t NC9yZWdleC5tNCBiL200L3JlZ2V4Lm00CitpbmRleCA0YTcyNTdkLi41ODU1OWQ5IDEwMDY0NAor LS0tIGEvbTQvcmVnZXgubTQKKysrKyBiL200L3JlZ2V4Lm00CitAQCAtMzYsNiArMzYsNyBAQCBB Q19ERUZVTihbZ2xfUkVHRVhdLAorICAgICAgICAgW0FDX0xBTkdfUFJPR1JBTSgKKyAgICAgICAg ICAgW1sjaW5jbHVkZSA8cmVnZXguaD4KKyAKKysgICAgICAgICAgICAjaW5jbHVkZSA8Y3R5cGUu aD4KKyAgICAgICAgICAgICAjaW5jbHVkZSA8bG9jYWxlLmg+CisgICAgICAgICAgICAgI2luY2x1 ZGUgPGxpbWl0cy5oPgorICAgICAgICAgICAgICNpbmNsdWRlIDxzdHJpbmcuaD4KK0BAIC0zNTEs NiArMzUyLDQzIEBAIEFDX0RFRlVOKFtnbF9SRUdFWF0sCisgICAgICAgICAgICAgICAgIH0KKyAg ICAgICAgICAgICB9CisgCisrICAgICAgICAgICAgLyogVGVzdCBmb3IgZ2xpYmMgYnVnIDIwMzgx CisrICAgICAgICAgICAgICAgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19i dWcuY2dpP2lkPTIwMzgxPi4gICovCisrICAgICAgICAgICAgaWYgKHNldGxvY2FsZSAoTENfQUxM LCAiZWxfR1IuaXNvODg1OTciKQorKyAgICAgICAgICAgICAgICB8fCBzZXRsb2NhbGUgKExDX0FM TCwgImVsX0dSLklTTzg4NTktNyIpCisrICAgICAgICAgICAgICAgIHx8IHNldGxvY2FsZSAoTENf QUxMLCAiZWxfR1IuaXNvODg1OS03IikpCisrICAgICAgICAgICAgICB7CisrICAgICAgICAgICAg ICAgIC8qIENoZWNrIHRoaXMgb25seSBpbiBHcmVlayBsb2NhbGVzIHRoYXQgc2VlbSB0byBiZSB3 b3JraW5nLgorKyAgICAgICAgICAgICAgICAgICAgSW4gbWFjT1MgMjYsIGZvciBleGFtcGxlLCBz ZXRsb2NhbGUgKExDX0FMTCwgImVsX0dSLklTTzg4NTktNyIpCisrICAgICAgICAgICAgICAgICAg ICBzdWNjZWVkIGJ1dCBhY3RzIGxpa2UgdGhlIEMgbG9jYWxlLiAgKi8KKysgICAgICAgICAgICAg ICAgaWYgKHRvdXBwZXIgKDB4ZjIpID09IDB4ZDMgJiYgdG91cHBlciAoMHhmMykgPT0gMHhkMykK KysgICAgICAgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IDM7IGkrKykKKysgICAgICAg ICAgICAgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgMzsgaisrKQorKyAgICAgICAgICAgICAg ICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljIGNoYXIgY29uc3Qgc3Ry WzNdWzJdID0geyAiXHhkMyIsICJceGYyIiwgIlx4ZjMiIH07CisrICAgICAgICAgICAgICAgICAg ICAgICAgcmVnZXhfdCByZTsKKysgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZXJyID0gcmVn Y29tcCAoJnJlLCBzdHJbaV0sIFJFR19JQ0FTRSB8IFJFR19OT1NVQik7CisrICAgICAgICAgICAg ICAgICAgICAgICAgaWYgKGVycikKKysgICAgICAgICAgICAgICAgICAgICAgICAgIHsKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0IHw9IDY0OworKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb250aW51ZTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKysKKysg ICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2l0aCA9IHJlZ2V4ZWMgKCZyZSwgc3RyW2pdLCAw LCBOVUxMLCAwKTsKKysgICAgICAgICAgICAgICAgICAgICAgICBmcmVlIChyZS5mYXN0bWFwKTsK KysgICAgICAgICAgICAgICAgICAgICAgICByZS5mYXN0bWFwID0gTlVMTDsKKysgICAgICAgICAg ICAgICAgICAgICAgICByZS5mYXN0bWFwX2FjY3VyYXRlID0gMDsKKysgICAgICAgICAgICAgICAg ICAgICAgICBpbnQgd2l0aG91dCA9IHJlZ2V4ZWMgKCZyZSwgc3RyW2pdLCAwLCBOVUxMLCAwKTsK KysgICAgICAgICAgICAgICAgICAgICAgICBpZiAod2l0aCAhPSB3aXRob3V0KQorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgcmVzdWx0IHw9IDY0OworKworKyAgICAgICAgICAgICAgICAgICAg ICAgIHJlZ2ZyZWUgKCZyZSk7CisrICAgICAgICAgICAgICAgICAgICAgIH0KKysKKysgICAgICAg ICAgICAgICAgaWYgKCEgc2V0bG9jYWxlIChMQ19BTEwsICJDIikpCisrICAgICAgICAgICAgICAg ICAgcmV0dXJuIDY0OworKyAgICAgICAgICAgIH0KKysKKyAjaWYgMAorICAgICAgICAgICAgIC8q IEl0IHdvdWxkIGJlIG5pY2UgdG8gcmVqZWN0IGhvc3RzIHdob3NlIHJlZ29mZl90IHZhbHVlcyBh cmUgdG9vCisgICAgICAgICAgICAgICAgbmFycm93IChpbmNsdWRpbmcgZ2xpYmMgb24gaG9zdHMg d2l0aCA2NC1iaXQgcHRyZGlmZl90IGFuZAorLS0gCisyLjU1LjAKKwoKZGlmZiAtLWdpdCBhL2Nv cmV1dGlscy1kZi1kaXJlY3QucGF0Y2ggYi9jb3JldXRpbHMtZGYtZGlyZWN0LnBhdGNoCmluZGV4 IDA0ZDgyOTUuLmM5OWU4MWYgMTAwNjQ0Ci0tLSBhL2NvcmV1dGlscy1kZi1kaXJlY3QucGF0Y2gK KysrIGIvY29yZXV0aWxzLWRmLWRpcmVjdC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gYjk0 ZDk4NDNhODJkYzE4N2RmMDcyMDYzNmNiZmNjNmI2MTYzY2JhOCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb20gYjczZmVjYmU0NzMwZmU5NGQyODQ5ZDk1ZjdmYTU2MzU2Y2U2MjFkMyBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEthbWlsIER1ZGthIDxrZHVka2FAcmVkaGF0LmNv bT4KIERhdGU6IE1vbiwgMjkgTWFyIDIwMTAgMTc6MjA6MzQgKzAwMDAKIFN1YmplY3Q6IFtQQVRD SF0gY29yZXV0aWxzLWRmLWRpcmVjdC5wYXRjaApAQCAtMTIsMTAgKzEyLDEwIEBAIFN1YmplY3Q6 IFtQQVRDSF0gY29yZXV0aWxzLWRmLWRpcmVjdC5wYXRjaAogIGNyZWF0ZSBtb2RlIDEwMDc1NSB0 ZXN0cy9kZi9kaXJlY3Quc2gKIAogZGlmZiAtLWdpdCBhL2RvYy9jb3JldXRpbHMudGV4aSBiL2Rv Yy9jb3JldXRpbHMudGV4aQotaW5kZXggMGY5ZDNlMjcuLmRkNzdmMDNkIDEwMDY0NAoraW5kZXgg NDY4NTRkYi4uMWJkNjk3NiAxMDA2NDQKIC0tLSBhL2RvYy9jb3JldXRpbHMudGV4aQogKysrIGIv ZG9jL2NvcmV1dGlscy50ZXhpCi1AQCAtMTIwMDcsNiArMTIwMDcsMTIgQEAgc29tZSBzeXN0ZW1z IChub3RhYmx5IFNvbGFyaXMpLCBkb2luZyB0aGlzIHlpZWxkcyBtb3JlIHVwIHRvIGRhdGUgcmVz dWx0cywKK0BAIC0xMjA2Nyw2ICsxMjA2NywxMiBAQCBzb21lIHN5c3RlbXMgKG5vdGFibHkgU29s YXJpcyksIGRvaW5nIHRoaXMgeWllbGRzIG1vcmUgdXAgdG8gZGF0ZSByZXN1bHRzLAogIGJ1dCBp biBnZW5lcmFsIHRoaXMgb3B0aW9uIG1ha2VzIEBjb21tYW5ke2RmfSBtdWNoIHNsb3dlciwgZXNw ZWNpYWxseSB3aGVuCiAgdGhlcmUgYXJlIG1hbnkgb3IgdmVyeSBidXN5IGZpbGUgc3lzdGVtcy4K ICAKQEAgLTI5LDcgKzI5LDcgQEAgaW5kZXggMGY5ZDNlMjcuLmRkNzdmMDNkIDEwMDY0NAogIEBj aW5kZXggZ3JhbmQgdG90YWwgb2YgZmlsZSBzeXN0ZW0gc2l6ZSwgdXNhZ2UgYW5kIGF2YWlsYWJs ZSBzcGFjZQogIFByaW50IGEgZ3JhbmQgdG90YWwgb2YgYWxsIGFyZ3VtZW50cyBhZnRlciBhbGwg YXJndW1lbnRzIGhhdmUKIGRpZmYgLS1naXQgYS9zcmMvZGYuYyBiL3NyYy9kZi5jCi1pbmRleCBm NDFiYTNhOC4uNmIyM2RmNzUgMTAwNjQ0CitpbmRleCBiM2Q4M2Y1Li5mMGM1ZjA5IDEwMDY0NAog LS0tIGEvc3JjL2RmLmMKICsrKyBiL3NyYy9kZi5jCiBAQCAtMTIyLDYgKzEyMiw5IEBAIHN0YXRp YyBib29sIHByaW50X3R5cGU7CkBAIC0xMjYsNyArMTI2LDcgQEAgaW5kZXggZjQxYmEzYTguLjZi MjNkZjc1IDEwMDY0NAogICAgICAgIGlmIChwb3NpeF9mb3JtYXQpCiBkaWZmIC0tZ2l0IGEvdGVz dHMvZGYvZGlyZWN0LnNoIGIvdGVzdHMvZGYvZGlyZWN0LnNoCiBuZXcgZmlsZSBtb2RlIDEwMDc1 NQotaW5kZXggMDAwMDAwMDAuLjgzNzM3MDVhCitpbmRleCAwMDAwMDAwLi44MzczNzA1CiAtLS0g L2Rldi9udWxsCiArKysgYi90ZXN0cy9kZi9kaXJlY3Quc2gKIEBAIC0wLDAgKzEsNTUgQEAKQEAg LTE4NiwxMCArMTg2LDEwIEBAIGluZGV4IDAwMDAwMDAwLi44MzczNzA1YQogKwogK0V4aXQgJGZh aWwKIGRpZmYgLS1naXQgYS90ZXN0cy9sb2NhbC5tayBiL3Rlc3RzL2xvY2FsLm1rCi1pbmRleCA2 MjhlNTQ0My4uZTJjMDdhODkgMTAwNjQ0CitpbmRleCBlMjFjMTExLi5iM2U0NWM0IDEwMDY0NAog LS0tIGEvdGVzdHMvbG9jYWwubWsKICsrKyBiL3Rlc3RzL2xvY2FsLm1rCi1AQCAtNjEwLDYgKzYx MCw3IEBAIGFsbF90ZXN0cyA9CQkJCQlcCitAQCAtNjM0LDYgKzYzNCw3IEBAIGFsbF90ZXN0cyA9 CQkJCQlcCiAgICB0ZXN0cy9kZi9uby1tdGFiLXN0YXR1cy1tYXNrZWQtcHJvYy5zaAlcCiAgICB0 ZXN0cy9kZi9za2lwLWR1cGxpY2F0ZXMuc2gJCQlcCiAgICB0ZXN0cy9kZi9za2lwLXJvb3Rmcy5z aAkJCVwKQEAgLTE5OCw1ICsxOTgsNSBAQCBpbmRleCA2MjhlNTQ0My4uZTJjMDdhODkgMTAwNjQ0 CiAgICB0ZXN0cy9kZC9jb252LWNhc2Uuc2gJCQkJXAogICAgdGVzdHMvZGQvZGlyZWN0LnNoCQkJ CVwKIC0tIAotMi41NC4wCisyLjU1LjAKIAoKZGlmZiAtLWdpdCBhL2NvcmV1dGlscy1pMThuLnBh dGNoIGIvY29yZXV0aWxzLWkxOG4ucGF0Y2gKaW5kZXggOTM2OWQ1Zi4uNWJmYmRmMSAxMDA2NDQK LS0tIGEvY29yZXV0aWxzLWkxOG4ucGF0Y2gKKysrIGIvY29yZXV0aWxzLWkxOG4ucGF0Y2gKQEAg LTEsMTAgKzEsOSBAQAotRnJvbSA2N2ZiZmYzZjVlZDQzNGQ0M2NhMDg1NGNhMmViNDNiZGRmYTVk NWQxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBlODhhZDkzZjhmZGMwOGQzODMzMzA0 NzdiNmZhMzM1ZWM4MDA4NTgzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogcnBtLWJ1 aWxkIDxycG0tYnVpbGQ+CiBEYXRlOiBXZWQsIDMwIEF1ZyAyMDIzIDE3OjE5OjU4ICswMjAwCiBT dWJqZWN0OiBbUEFUQ0hdIGNvcmV1dGlscy1pMThuLnBhdGNoCiAKIC0tLQotIGxpYi9saW5lYnVm ZmVyLmggICAgICAgICAgICB8ICAgOCArCiAgc3JjL3ByLmMgICAgICAgICAgICAgICAgICAgIHwg NDQzICsrKysrKysrKysrKysrKysrKy0tCiAgc3JjL3NvcnQuYyAgICAgICAgICAgICAgICAgIHwg NzkxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogIHRlc3RzL0NvcmV1dGls cy5wbSAgICAgICAgICB8ICAgMyArCkBAIC0xNCwzOCArMTMsMTIgQEAgU3ViamVjdDogW1BBVENI XSBjb3JldXRpbHMtaTE4bi5wYXRjaAogIHRlc3RzL3ByL3ByLXRlc3RzLnBsICAgICAgICB8ICA0 OSArKysKICB0ZXN0cy9zb3J0L3NvcnQtbWVyZ2UucGwgICAgfCAgNDIgKysKICB0ZXN0cy9zb3J0 L3NvcnQucGwgICAgICAgICAgfCAgNDAgKy0KLSAxMCBmaWxlcyBjaGFuZ2VkLCAxMzU4IGluc2Vy dGlvbnMoKyksIDk0IGRlbGV0aW9ucygtKQorIDkgZmlsZXMgY2hhbmdlZCwgMTM1MCBpbnNlcnRp b25zKCspLCA5NCBkZWxldGlvbnMoLSkKICBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMvaTE4bi9z b3J0LnNoCiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL21pc2Mvc29ydC1tYi10ZXN0cy5zaAog Ci1kaWZmIC0tZ2l0IGEvbGliL2xpbmVidWZmZXIuaCBiL2xpYi9saW5lYnVmZmVyLmgKLWluZGV4 IGFmMjJkMjdiLi44MDExOWY0YiAxMDA2NDQKLS0tLSBhL2xpYi9saW5lYnVmZmVyLmgKLSsrKyBi L2xpYi9saW5lYnVmZmVyLmgKLUBAIC0yNyw2ICsyNywxMSBAQCBleHRlcm4gIkMiIHsKLSAjZW5k aWYKLSAKLSAKLSsvKiBHZXQgbWJzdGF0ZV90LiAgKi8KLSsjIGlmIEhBVkVfV0NIQVJfSAotKyMg IGluY2x1ZGUgPHdjaGFyLmg+Ci0rIyBlbmRpZgotKwotIC8qIEEgJ3N0cnVjdCBsaW5lYnVmZmVy JyBob2xkcyBhIGxpbmUgb2YgdGV4dC4gKi8KLSAKLSBzdHJ1Y3QgbGluZWJ1ZmZlcgotQEAgLTM0 LDYgKzM5LDkgQEAgc3RydWN0IGxpbmVidWZmZXIKLSAgIGlkeF90IHNpemU7ICAgICAgICAgICAg ICAgICAgLyogQWxsb2NhdGVkLiAqLwotICAgaWR4X3QgbGVuZ3RoOyAgICAgICAgICAgICAgICAv KiBVc2VkLiAqLwotICAgY2hhciAqYnVmZmVyOwotKyMgaWYgSEFWRV9XQ0hBUl9ICi0rICBtYnN0 YXRlX3Qgc3RhdGU7Ci0rIyBlbmRpZgotIH07Ci0gCi0gLyogSW5pdGlhbGl6ZSBsaW5lYnVmZmVy IExJTkVCVUZGRVIgZm9yIHVzZS4gKi8KIGRpZmYgLS1naXQgYS9zcmMvcHIuYyBiL3NyYy9wci5j Ci1pbmRleCAwOWExYjk0YS4uNTNmMGJjNTcgMTAwNjQ0CitpbmRleCBjM2UwODViLi4wOTg5ZmNk IDEwMDY0NAogLS0tIGEvc3JjL3ByLmMKICsrKyBiL3NyYy9wci5jCiBAQCAtMzExLDYgKzMxMSwy NCBAQApAQCAtNjUwLDcgKzYyMyw3IEBAIGluZGV4IDA5YTFiOTRhLi41M2YwYmM1NyAxMDA2NDQK ICAgICAgewogICAgICAgIHdpZHRoID0gVEFCX1dJRFRIIChjaGFyc19wZXJfYywgaW5wdXRfcG9z aXRpb24pOwogIAotQEAgLTI3MzcsNiArMjkzNiwxNjQgQEAgY2hhcl90b19jbHVtcCAoY2hhciBj KQorQEAgLTI3NDAsNiArMjkzOSwxNjQgQEAgY2hhcl90b19jbHVtcCAoY2hhciBjKQogICAgcmV0 dXJuIGNoYXJzOwogIH0KICAKQEAgLTgxNiw3ICs3ODksNyBAQCBpbmRleCAwOWExYjk0YS4uNTNm MGJjNTcgMTAwNjQ0CiAgICAgbG9va2luZyBmb3IgbW9yZSBvcHRpb25zIGFuZCBwcmludGluZyB0 aGUgbmV4dCBiYXRjaCBvZiBmaWxlcy4KICAKIGRpZmYgLS1naXQgYS9zcmMvc29ydC5jIGIvc3Jj L3NvcnQuYwotaW5kZXggNTEwYzY3NGQuLjNmNDJlZDQwIDEwMDY0NAoraW5kZXggYzBjNWMyMi4u MzIzMTUxYSAxMDA2NDQKIC0tLSBhL3NyYy9zb3J0LmMKICsrKyBiL3NyYy9zb3J0LmMKIEBAIC0y OSw2ICsyOSwxNSBAQApAQCAtODc2LDcgKzg0OSw3IEBAIGluZGV4IDUxMGM2NzRkLi4zZjQyZWQ0 MCAxMDA2NDQKICAvKiBUaGUga2luZCBvZiBibGFua3MgZm9yICctYicgdG8gc2tpcCBpbiB2YXJp b3VzIG9wdGlvbnMuICovCiAgZW51bSBibGFua3R5cGUgeyBibF9zdGFydCwgYmxfZW5kLCBibF9i b3RoIH07CiAgCi1AQCAtMzMzLDEzICszNjcsMTEgQEAgc3RhdGljIGJvb2wgc3RhYmxlOworQEAg LTM0MywxMyArMzc3LDExIEBAIHN0YXRpYyBib29sIHN0YWJsZTsKICAvKiBBbiBpbnQgdmFsdWUg b3V0c2lkZSBjaGFyIHJhbmdlLiAgKi8KICBlbnVtIHsgTk9OX0NIQVIgPSBDSEFSX01BWCArIDEg fTsKICAKQEAgLTg5Myw3ICs4NjYsNyBAQCBpbmRleCA1MTBjNjc0ZC4uM2Y0MmVkNDAgMTAwNjQ0 CiAgCiAgLyogRmxhZyB0byByZW1vdmUgY29uc2VjdXRpdmUgZHVwbGljYXRlIGxpbmVzIGZyb20g dGhlIG91dHB1dC4KICAgICBPbmx5IHRoZSBsYXN0IG9mIGEgc2VxdWVuY2Ugb2YgZXF1YWwgbGlu ZXMgd2lsbCBiZSBvdXRwdXQuICovCi1AQCAtMzc1LDYgKzQwNyw0NiBAQCBzdHJ1Y3QgdGVtcG5v ZGUKK0BAIC0zODUsNiArNDE3LDQ2IEBAIHN0cnVjdCB0ZW1wbm9kZQogIHN0YXRpYyBzdHJ1Y3Qg dGVtcG5vZGUgKnZvbGF0aWxlIHRlbXBoZWFkOwogIHN0YXRpYyBzdHJ1Y3QgdGVtcG5vZGUgKnZv bGF0aWxlICp0ZW1wdGFpbCA9ICZ0ZW1waGVhZDsKICAKQEAgLTk0MCw3ICs5MTMsNyBAQCBpbmRl eCA1MTBjNjc0ZC4uM2Y0MmVkNDAgMTAwNjQ0CiAgLyogQ2xlYW4gdXAgYW55IHJlbWFpbmluZyB0 ZW1wb3JhcnkgZmlsZXMuICAqLwogIAogIHN0YXRpYyB2b2lkCi1AQCAtMTM4Miw3ICsxNDU0LDcg QEAgemFwdGVtcCAoY2hhciBjb25zdCAqbmFtZSkKK0BAIC0xMzkyLDcgKzE0NjQsNyBAQCB6YXB0 ZW1wIChjaGFyIGNvbnN0ICpuYW1lKQogICAgZnJlZSAobm9kZSk7CiAgfQogIApAQCAtOTQ5LDcg KzkyMiw3IEBAIGluZGV4IDUxMGM2NzRkLi4zZjQyZWQ0MCAxMDA2NDQKICAKICBzdGF0aWMgaW50 CiAgc3RydWN0X21vbnRoX2NtcCAodm9pZCBjb25zdCAqbTEsIHZvaWQgY29uc3QgKm0yKQotQEAg LTEzOTcsNyArMTQ2OSw3IEBAIHN0cnVjdF9tb250aF9jbXAgKHZvaWQgY29uc3QgKm0xLCB2b2lk IGNvbnN0ICptMikKK0BAIC0xNDA3LDcgKzE0NzksNyBAQCBzdHJ1Y3RfbW9udGhfY21wICh2b2lk IGNvbnN0ICptMSwgdm9pZCBjb25zdCAqbTIpCiAgLyogSW5pdGlhbGl6ZSB0aGUgY2hhcmFjdGVy IGNsYXNzIHRhYmxlcy4gKi8KICAKICBzdGF0aWMgdm9pZApAQCAtOTU4LDcgKzkzMSw3IEBAIGlu ZGV4IDUxMGM2NzRkLi4zZjQyZWQ0MCAxMDA2NDQKICB7CiAgICBmb3IgKHNpemVfdCBpID0gMDsg aSA8IFVDSEFSX0xJTTsgKytpKQogICAgICB7Ci1AQCAtMTQwNyw3ICsxNDc5LDcgQEAgaW5pdHRh YmxlcyAodm9pZCkKK0BAIC0xNDE3LDcgKzE0ODksNyBAQCBpbml0dGFibGVzICh2b2lkKQogICAg ICAgIGZvbGRfdG91cHBlcltpXSA9IHRvdXBwZXIgKGkpOwogICAgICB9CiAgCkBAIC05NjcsNyAr OTQwLDcgQEAgaW5kZXggNTEwYzY3NGQuLjNmNDJlZDQwIDEwMDY0NAogICAgLyogSWYgd2UncmUg bm90IGluIHRoZSAiQyIgbG9jYWxlLCByZWFkIGRpZmZlcmVudCBuYW1lcyBmb3IgbW9udGhzLiAg Ki8KICAgIGlmIChoYXJkX0xDX1RJTUUpCiAgICAgIHsKLUBAIC0xNDg3LDYgKzE1NTksODQgQEAg c3BlY2lmeV9ubWVyZ2UgKGludCBvaSwgY2hhciBjLCBjaGFyIGNvbnN0ICpzKQorQEAgLTE0OTcs NiArMTU2OSw4NCBAQCBzcGVjaWZ5X25tZXJnZSAoaW50IG9pLCBjaGFyIGMsIGNoYXIgY29uc3Qg KnMpCiAgICAgIHhzdHJ0b2xfZmF0YWwgKGUsIG9pLCBjLCBsb25nX29wdGlvbnMsIHMpOwogIH0K ICAKQEAgLTEwNTIsNyArMTAyNSw3IEBAIGluZGV4IDUxMGM2NzRkLi4zZjQyZWQ0MCAxMDA2NDQK ICAvKiBTcGVjaWZ5IHRoZSBhbW91bnQgb2YgbWFpbiBtZW1vcnkgdG8gdXNlIHdoZW4gc29ydGlu Zy4gICovCiAgc3RhdGljIHZvaWQKICBzcGVjaWZ5X3NvcnRfc2l6ZSAoaW50IG9pLCBjaGFyIGMs IGNoYXIgY29uc3QgKnMpCi1AQCAtMTcxMyw3ICsxODYzLDcgQEAgYnVmZmVyX2xpbmVsaW0gKHN0 cnVjdCBidWZmZXIgY29uc3QgKmJ1ZikKK0BAIC0xODYwLDcgKzIwMTAsNyBAQCBtYXliZV9ncm93 YnVmIChzdHJ1Y3QgYnVmZmVyICpidWYsIHN0cnVjdCBzb3J0X2J1ZmZlcl9wb2xpY3kgKnBvbGlj eSkKICAgICBieSBLRVkgaW4gTElORS4gKi8KICAKICBzdGF0aWMgY2hhciAqCkBAIC0xMDYxLDcg KzEwMzQsNyBAQCBpbmRleCA1MTBjNjc0ZC4uM2Y0MmVkNDAgMTAwNjQ0CiAgewogICAgY2hhciAq cHRyID0gbGluZS0+dGV4dCwgKmxpbSA9IHB0ciArIGxpbmUtPmxlbmd0aCAtIDE7CiAgICBzaXpl X3Qgc3dvcmQgPSBrZXktPnN3b3JkOwotQEAgLTE3MjIsMTAgKzE4NzIsMTAgQEAgYmVnZmllbGQg KHN0cnVjdCBsaW5lIGNvbnN0ICpsaW5lLCBzdHJ1Y3Qga2V5ZmllbGQgY29uc3QgKmtleSkKK0BA IC0xODY5LDEwICsyMDE5LDEwIEBAIGJlZ2ZpZWxkIChzdHJ1Y3QgbGluZSBjb25zdCAqbGluZSwg c3RydWN0IGtleWZpZWxkIGNvbnN0ICprZXkpCiAgICAvKiBUaGUgbGVhZGluZyBmaWVsZCBzZXBh cmF0b3IgaXRzZWxmIGlzIGluY2x1ZGVkIGluIGEgZmllbGQgd2hlbiAtdAogICAgICAgaXMgYWJz ZW50LiAgKi8KICAKQEAgLTEwNzQsNyArMTA0Nyw3IEBAIGluZGV4IDUxMGM2NzRkLi4zZjQyZWQ0 MCAxMDA2NDQKICAgICAgICAgIHB0ciA9IHNlcCA/IHNlcCA6IGxpbTsKICAgICAgICAgIGlmIChw dHIgPCBsaW0pCiAgICAgICAgICAgICsrcHRyOwotQEAgLTE3NTUsMTIgKzE5MDUsNzEgQEAgYmVn ZmllbGQgKHN0cnVjdCBsaW5lIGNvbnN0ICpsaW5lLCBzdHJ1Y3Qga2V5ZmllbGQgY29uc3QgKmtl eSkKK0BAIC0xOTAyLDEyICsyMDUyLDcxIEBAIGJlZ2ZpZWxkIChzdHJ1Y3QgbGluZSBjb25zdCAq bGluZSwgc3RydWN0IGtleWZpZWxkIGNvbnN0ICprZXkpCiAgICByZXR1cm4gcHRyOwogIH0KICAK QEAgLTExNDcsNyArMTEyMCw3IEBAIGluZGV4IDUxMGM2NzRkLi4zZjQyZWQ0MCAxMDA2NDQKICB7 CiAgICBjaGFyICpwdHIgPSBsaW5lLT50ZXh0LCAqbGltID0gcHRyICsgbGluZS0+bGVuZ3RoIC0g MTsKICAgIHNpemVfdCBld29yZCA9IGtleS0+ZXdvcmQsIGVjaGFyID0ga2V5LT5lY2hhcjsKLUBA IC0xNzc1LDEwICsxOTg0LDEwIEBAIGxpbWZpZWxkIChzdHJ1Y3QgbGluZSBjb25zdCAqbGluZSwg c3RydWN0IGtleWZpZWxkIGNvbnN0ICprZXkpCitAQCAtMTkyMiwxMCArMjEzMSwxMCBAQCBsaW1m aWVsZCAoc3RydWN0IGxpbmUgY29uc3QgKmxpbmUsIHN0cnVjdCBrZXlmaWVsZCBjb25zdCAqa2V5 KQogICAgICAgJ2JlZ2lubmluZycgaXMgdGhlIGZpcnN0IGNoYXJhY3RlciBmb2xsb3dpbmcgdGhl IGRlbGltaXRpbmcgVEFCLgogICAgICAgT3RoZXJ3aXNlLCBsZWF2ZSBQVFIgcG9pbnRpbmcgYXQg dGhlIGZpcnN0ICdibGFuaycgY2hhcmFjdGVyIGFmdGVyCiAgICAgICB0aGUgcHJlY2VkaW5nIGZp ZWxkLiAgKi8KQEAgLTExNjAsNyArMTEzMyw3IEBAIGluZGV4IDUxMGM2NzRkLi4zZjQyZWQ0MCAx MDA2NDQKICAgICAgICAgIHB0ciA9IHNlcCA/IHNlcCA6IGxpbTsKICAgICAgICAgIGlmIChwdHIg PCBsaW0gJiYgKGV3b3JkIHx8IGVjaGFyKSkKICAgICAgICAgICAgKytwdHI7Ci1AQCAtMTgyNCwx MCArMjAzMywxMCBAQCBsaW1maWVsZCAoc3RydWN0IGxpbmUgY29uc3QgKmxpbmUsIHN0cnVjdCBr ZXlmaWVsZCBjb25zdCAqa2V5KQorQEAgLTE5NzEsMTAgKzIxODAsMTAgQEAgbGltZmllbGQgKHN0 cnVjdCBsaW5lIGNvbnN0ICpsaW5lLCBzdHJ1Y3Qga2V5ZmllbGQgY29uc3QgKmtleSkKICAgICAg ICovCiAgCiAgICAvKiBNYWtlIExJTSBwb2ludCB0byB0aGUgZW5kIG9mIChvbmUgYnl0ZSBwYXN0 KSB0aGUgY3VycmVudCBmaWVsZC4gICovCkBAIC0xMTczLDcgKzExNDYsNyBAQCBpbmRleCA1MTBj Njc0ZC4uM2Y0MmVkNDAgMTAwNjQ0CiAgICAgICAgaWYgKG5ld2xpbSkKICAgICAgICAgIGxpbSA9 IG5ld2xpbTsKICAgICAgfQotQEAgLTE4NjIsNiArMjA3MSwxMzAgQEAgbGltZmllbGQgKHN0cnVj dCBsaW5lIGNvbnN0ICpsaW5lLCBzdHJ1Y3Qga2V5ZmllbGQgY29uc3QgKmtleSkKK0BAIC0yMDA5 LDYgKzIyMTgsMTMwIEBAIGxpbWZpZWxkIChzdHJ1Y3QgbGluZSBjb25zdCAqbGluZSwgc3RydWN0 IGtleWZpZWxkIGNvbnN0ICprZXkpCiAgICByZXR1cm4gcHRyOwogIH0KICAKQEAgLTEzMDQsNyAr MTI3Nyw3IEBAIGluZGV4IDUxMGM2NzRkLi4zZjQyZWQ0MCAxMDA2NDQKICAvKiBGaWxsIEJVRiBy ZWFkaW5nIGZyb20gRlAsIG1vdmluZyBidWYtPmxlZnQgYnl0ZXMgZnJvbSB0aGUgZW5kCiAgICAg b2YgYnVmLT5idWYgdG8gdGhlIGJlZ2lubmluZyBmaXJzdC4gIElmIEVPRiBpcyByZWFjaGVkIGFu ZCB0aGUKICAgICBmaWxlIHdhc24ndCB0ZXJtaW5hdGVkIGJ5IGEgbmV3bGluZSwgc3VwcGx5IG9u ZS4gIFNldCB1cCBCVUYncyBsaW5lCi1AQCAtMTk0OCw4ICsyMjgxLDIyIEBAIGZpbGxidWYgKHN0 cnVjdCBidWZmZXIgKmJ1ZiwgRklMRSAqZnAsIGNoYXIgY29uc3QgKmZpbGUpCitAQCAtMjA5Niw4 ICsyNDI5LDIyIEBAIGZpbGxidWYgKHN0cnVjdCBidWZmZXIgKmJ1ZiwgRklMRSAqZnAsIGNoYXIg Y29uc3QgKmZpbGUsCiAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoa2V5LT5za2lwc2JsYW5rcykKQEAgLTEz MjksNyArMTMwMiw3IEBAIGluZGV4IDUxMGM2NzRkLi4zZjQyZWQ0MCAxMDA2NDQKICAgICAgICAg ICAgICAgICAgICAgICAgbGluZS0+a2V5YmVnID0gbGluZV9zdGFydDsKICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQotQEAgLTIwODcsMTIgKzI0MzQsMTAgQEAgZmlu ZF91bml0X29yZGVyIChjaGFyIGNvbnN0ICpudW1iZXIpCitAQCAtMjIzNywxMiArMjU4NCwxMCBA QCBmaW5kX3VuaXRfb3JkZXIgKGNoYXIgY29uc3QgKm51bWJlcikKICAKICBBVFRSSUJVVEVfUFVS RQogIHN0YXRpYyBpbnQKQEAgLTEzNDUsNyArMTMxOCw3IEBAIGluZGV4IDUxMGM2NzRkLi4zZjQy ZWQ0MCAxMDA2NDQKICAKICAgIGludCBkaWZmID0gZmluZF91bml0X29yZGVyIChhKSAtIGZpbmRf dW5pdF9vcmRlciAoYik7CiAgICByZXR1cm4gKGRpZmYgPyBkaWZmIDogc3RybnVtY21wIChhLCBi LCBkZWNpbWFsX3BvaW50LCB0aG91c2FuZHNfc2VwKSk7Ci1AQCAtMjEwNCw3ICsyNDQ5LDcgQEAg aHVtYW5fbnVtY29tcGFyZSAoY2hhciBjb25zdCAqYSwgY2hhciBjb25zdCAqYikKK0BAIC0yMjU0 LDcgKzI1OTksNyBAQCBodW1hbl9udW1jb21wYXJlIChjaGFyIGNvbnN0ICphLCBjaGFyIGNvbnN0 ICpiKQogIAogIEFUVFJJQlVURV9QVVJFCiAgc3RhdGljIGludApAQCAtMTM1NCw3ICsxMzI3LDcg QEAgaW5kZXggNTEwYzY3NGQuLjNmNDJlZDQwIDEwMDY0NAogIHsKICAgIHdoaWxlIChibGFua3Nb dG9fdWNoYXIgKCphKV0pCiAgICAgIGErKzsKLUBAIC0yMTE0LDYgKzI0NTksMjUgQEAgbnVtY29t cGFyZSAoY2hhciBjb25zdCAqYSwgY2hhciBjb25zdCAqYikKK0BAIC0yMjY0LDYgKzI2MDksMjUg QEAgbnVtY29tcGFyZSAoY2hhciBjb25zdCAqYSwgY2hhciBjb25zdCAqYikKICAgIHJldHVybiBz dHJudW1jbXAgKGEsIGIsIGRlY2ltYWxfcG9pbnQsIHRob3VzYW5kc19zZXApOwogIH0KICAKQEAg LTEzODAsNyArMTM1Myw3IEBAIGluZGV4IDUxMGM2NzRkLi4zZjQyZWQ0MCAxMDA2NDQKICBzdGF0 aWMgaW50CiAgbmFuX2NvbXBhcmUgKGxvbmcgZG91YmxlIGEsIGxvbmcgZG91YmxlIGIpCiAgewot QEAgLTIxNTUsNyArMjUxOSw3IEBAIGdlbmVyYWxfbnVtY29tcGFyZSAoY2hhciBjb25zdCAqc2Es IGNoYXIgY29uc3QgKnNiKQorQEAgLTIzMDUsNyArMjY2OSw3IEBAIGdlbmVyYWxfbnVtY29tcGFy ZSAoY2hhciBjb25zdCAqc2EsIGNoYXIgY29uc3QgKnNiKQogICAgIFJldHVybiAwIGlmIHRoZSBu YW1lIGluIFMgaXMgbm90IHJlY29nbml6ZWQuICAqLwogIAogIHN0YXRpYyBpbnQKQEAgLTEzODks NyArMTM2Miw3IEBAIGluZGV4IDUxMGM2NzRkLi4zZjQyZWQ0MCAxMDA2NDQKICB7CiAgICBzaXpl X3QgbG8gPSAwOwogICAgc2l6ZV90IGhpID0gTU9OVEhTX1BFUl9ZRUFSOwotQEAgLTI0OTQsMTUg KzI4NTgsMTQgQEAgZGVidWdfa2V5IChzdHJ1Y3QgbGluZSBjb25zdCAqbGluZSwgc3RydWN0IGtl eWZpZWxkIGNvbnN0ICprZXkpCitAQCAtMjY1MiwxNSArMzAxNiwxNCBAQCBkZWJ1Z19rZXkgKHN0 cnVjdCBsaW5lIGNvbnN0ICpsaW5lLCBzdHJ1Y3Qga2V5ZmllbGQgY29uc3QgKmtleSkKICAgICAg ICAgICAgY2hhciBzYXZlZCA9ICpsaW07CiAgICAgICAgICAgICpsaW0gPSAnXDAnOwogIApAQCAt MTQwNyw3ICsxMzgwLDcgQEAgaW5kZXggNTEwYzY3NGQuLjNmNDJlZDQwIDEwMDY0NAogICAgICAg ICAgICBlbHNlIGlmIChrZXktPmdlbmVyYWxfbnVtZXJpYykKICAgICAgICAgICAgICBpZ25vcmVf dmFsdWUgKHN0cnRvbGQgKGJlZywgJnRpZ2h0ZXJfbGltKSk7CiAgICAgICAgICAgIGVsc2UgaWYg KGtleS0+bnVtZXJpYyB8fCBrZXktPmh1bWFuX251bWVyaWMpCi1AQCAtMjY0Nyw3ICszMDEwLDcg QEAga2V5X3dhcm5pbmdzIChzdHJ1Y3Qga2V5ZmllbGQgY29uc3QgKmdrZXksIGJvb2wgZ2tleV9v bmx5KQorQEAgLTI4MDUsNyArMzE2OCw3IEBAIGtleV93YXJuaW5ncyAoc3RydWN0IGtleWZpZWxk IGNvbnN0ICpna2V5LCBib29sIGdrZXlfb25seSkKICAgICAgICAvKiBXYXJuIGFib3V0IHNpZ25p ZmljYW50IGxlYWRpbmcgYmxhbmtzLiAgKi8KICAgICAgICBib29sIGltcGxpY2l0X3NraXAgPSBr ZXlfbnVtZXJpYyAoa2V5KSB8fCBrZXktPm1vbnRoOwogICAgICAgIGJvb2wgbGluZV9vZmZzZXQg PSBrZXktPmV3b3JkID09IDAgJiYga2V5LT5lY2hhciAhPSAwOyAvKiAtazEueCwxLnkgICovCkBA IC0xNDE2LDcgKzEzODksNyBAQCBpbmRleCA1MTBjNjc0ZC4uM2Y0MmVkNDAgMTAwNjQ0CiAgICAg ICAgICAgICYmICgoIWtleS0+c2tpcHNibGFua3MgJiYgIWltcGxpY2l0X3NraXApCiAgICAgICAg ICAgICAgICB8fCAoIWtleS0+c2tpcHNibGFua3MgJiYga2V5LT5zY2hhcikKICAgICAgICAgICAg ICAgIHx8ICgha2V5LT5za2lwZWJsYW5rcyAmJiBrZXktPmVjaGFyKSkpCi1AQCAtMjY5NSw5ICsz MDU4LDkgQEAga2V5X3dhcm5pbmdzIChzdHJ1Y3Qga2V5ZmllbGQgY29uc3QgKmdrZXksIGJvb2wg Z2tleV9vbmx5KQorQEAgLTI4NTMsOSArMzIxNiw5IEBAIGtleV93YXJuaW5ncyAoc3RydWN0IGtl eWZpZWxkIGNvbnN0ICpna2V5LCBib29sIGdrZXlfb25seSkKICAgIGJvb2wgbnVtYmVyX2xvY2Fs ZV93YXJuZWQgPSBmYWxzZTsKICAgIGlmIChiYXNpY19udW1lcmljX2ZpZWxkX3NwYW4pCiAgICAg IHsKQEAgLTE0MjksNyArMTQwMiw3IEBAIGluZGV4IDUxMGM2NzRkLi4zZjQyZWQ0MCAxMDA2NDQK ICAgICAgICAgIHsKICAgICAgICAgICAgZXJyb3IgKDAsIDAsCiAgICAgICAgICAgICAgICAgICBf KCJmaWVsZCBzZXBhcmF0b3IgJXMgaXMgdHJlYXRlZCBhcyBhICIKLUBAIC0yNzA4LDkgKzMwNzEs OSBAQCBrZXlfd2FybmluZ3MgKHN0cnVjdCBrZXlmaWVsZCBjb25zdCAqZ2tleSwgYm9vbCBna2V5 X29ubHkpCitAQCAtMjg2Niw5ICszMjI5LDkgQEAga2V5X3dhcm5pbmdzIChzdHJ1Y3Qga2V5Zmll bGQgY29uc3QgKmdrZXksIGJvb2wgZ2tleV9vbmx5KQogICAgICB9CiAgICBpZiAoYmFzaWNfbnVt ZXJpY19maWVsZF9zcGFuIHx8IGdlbmVyYWxfbnVtZXJpY19maWVsZF9zcGFuKQogICAgICB7CkBA IC0xNDQyLDcgKzE0MTUsNyBAQCBpbmRleCA1MTBjNjc0ZC4uM2Y0MmVkNDAgMTAwNjQ0CiAgICAg ICAgICB7CiAgICAgICAgICAgIGVycm9yICgwLCAwLAogICAgICAgICAgICAgICAgICAgXygiZmll bGQgc2VwYXJhdG9yICVzIGlzIHRyZWF0ZWQgYXMgYSAiCi1AQCAtMjcxOCwxOSArMzA4MSwxOSBA QCBrZXlfd2FybmluZ3MgKHN0cnVjdCBrZXlmaWVsZCBjb25zdCAqZ2tleSwgYm9vbCBna2V5X29u bHkpCitAQCAtMjg3NiwxOSArMzIzOSwxOSBAQCBrZXlfd2FybmluZ3MgKHN0cnVjdCBrZXlmaWVs ZCBjb25zdCAqZ2tleSwgYm9vbCBna2V5X29ubHkpCiAgICAgICAgICAgICAgICAgICBxdW90ZSAo KChjaGFyIFtdKSB7ZGVjaW1hbF9wb2ludCwgMH0pKSk7CiAgICAgICAgICAgIG51bWJlcl9sb2Nh bGVfd2FybmVkID0gdHJ1ZTsKICAgICAgICAgIH0KQEAgLTE0NjYsNyArMTQzOSw3IEBAIGluZGV4 IDUxMGM2NzRkLi4zZjQyZWQ0MCAxMDA2NDQKICAgICAgICAgIH0KICAgICAgfQogIAotQEAgLTI3 ODIsMTEgKzMxNDUsODcgQEAgZGlmZl9yZXZlcnNlZCAoaW50IGRpZmYsIGJvb2wgcmV2ZXJzZWQp CitAQCAtMjk0MCwxMSArMzMwMyw4NyBAQCBkaWZmX3JldmVyc2VkIChpbnQgZGlmZiwgYm9vbCBy ZXZlcnNlZCkKICAgIHJldHVybiByZXZlcnNlZCA/IF9HTF9DTVAgKDAsIGRpZmYpIDogZGlmZjsK ICB9CiAgCkBAIC0xNTU1LDcgKzE1MjgsNyBAQCBpbmRleCA1MTBjNjc0ZC4uM2Y0MmVkNDAgMTAw NjQ0CiAgewogICAgc3RydWN0IGtleWZpZWxkICprZXkgPSBrZXlsaXN0OwogIAotQEAgLTI4Njcs NyArMzMwNiw3IEBAIGtleWNvbXBhcmUgKHN0cnVjdCBsaW5lIGNvbnN0ICphLCBzdHJ1Y3QgbGlu ZSBjb25zdCAqYikKK0BAIC0zMDI1LDcgKzM0NjQsNyBAQCBrZXljb21wYXJlIChzdHJ1Y3QgbGlu ZSBjb25zdCAqYSwgc3RydWN0IGxpbmUgY29uc3QgKmIpCiAgICAgICAgICAgIGVsc2UgaWYgKGtl eS0+aHVtYW5fbnVtZXJpYykKICAgICAgICAgICAgICBkaWZmID0gaHVtYW5fbnVtY29tcGFyZSAo dGEsIHRiKTsKICAgICAgICAgICAgZWxzZSBpZiAoa2V5LT5tb250aCkKQEAgLTE1NjQsNyArMTUz Nyw3IEBAIGluZGV4IDUxMGM2NzRkLi4zZjQyZWQ0MCAxMDA2NDQKICAgICAgICAgICAgZWxzZSBp ZiAoa2V5LT5yYW5kb20pCiAgICAgICAgICAgICAgZGlmZiA9IGNvbXBhcmVfcmFuZG9tICh0YSwg dGxlbmEsIHRiLCB0bGVuYik7CiAgICAgICAgICAgIGVsc2UgaWYgKGtleS0+dmVyc2lvbikKLUBA IC0yOTc3LDYgKzM0MTYsMjExIEBAIGtleWNvbXBhcmUgKHN0cnVjdCBsaW5lIGNvbnN0ICphLCBz dHJ1Y3QgbGluZSBjb25zdCAqYikKK0BAIC0zMTM1LDYgKzM1NzQsMjExIEBAIGtleWNvbXBhcmUg KHN0cnVjdCBsaW5lIGNvbnN0ICphLCBzdHJ1Y3QgbGluZSBjb25zdCAqYikKICAgIHJldHVybiBk aWZmX3JldmVyc2VkIChkaWZmLCBrZXktPnJldmVyc2UpOwogIH0KICAKQEAgLTE3NzYsNyArMTc0 OSw3IEBAIGluZGV4IDUxMGM2NzRkLi4zZjQyZWQ0MCAxMDA2NDQKICAvKiBDb21wYXJlIHR3byBs aW5lcyBBIGFuZCBCLCByZXR1cm5pbmcgbmVnYXRpdmUsIHplcm8sIG9yIHBvc2l0aXZlCiAgICAg ZGVwZW5kaW5nIG9uIHdoZXRoZXIgQSBjb21wYXJlcyBsZXNzIHRoYW4sIGVxdWFsIHRvLCBvciBn cmVhdGVyIHRoYW4gQi4gKi8KICAKLUBAIC0zMDA0LDcgKzM2NDgsNyBAQCBjb21wYXJlIChzdHJ1 Y3QgbGluZSBjb25zdCAqYSwgc3RydWN0IGxpbmUgY29uc3QgKmIpCitAQCAtMzE2Miw3ICszODA2 LDcgQEAgY29tcGFyZSAoc3RydWN0IGxpbmUgY29uc3QgKmEsIHN0cnVjdCBsaW5lIGNvbnN0ICpi KQogICAgICBkaWZmID0gLSBOT05aRVJPIChibGVuKTsKICAgIGVsc2UgaWYgKGJsZW4gPT0gMCkK ICAgICAgZGlmZiA9IDE7CkBAIC0xNzg1LDcgKzE3NTgsNyBAQCBpbmRleCA1MTBjNjc0ZC4uM2Y0 MmVkNDAgMTAwNjQ0CiAgICAgIHsKICAgICAgICAvKiB4bWVtY29sbDAgaXMgYSBwZXJmb3JtYW5j ZSBlbmhhbmNlbWVudCBhcwogICAgICAgICAgIGl0IHdpbGwgbm90IHVuY29uZGl0aW9uYWxseSB3 cml0ZSAnXDAnIGFmdGVyIHRoZQotQEAgLTQzODIsNiArNTAyNiw3IEBAIHNldF9vcmRlcmluZyAo Y2hhciBjb25zdCAqcywgc3RydWN0IGtleWZpZWxkICprZXksIGVudW0gYmxhbmt0eXBlIGJsYW5r dHlwZSkKK0BAIC00NTQ3LDYgKzUxOTEsNyBAQCBzZXRfb3JkZXJpbmcgKGNoYXIgY29uc3QgKnMs IHN0cnVjdCBrZXlmaWVsZCAqa2V5LCBlbnVtIGJsYW5rdHlwZSBibGFua3R5cGUpCiAgICAgICAg ICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnZic6CiAgICAgICAgICAgIGtleS0+dHJhbnNsYXRl ID0gZm9sZF90b3VwcGVyOwpAQCAtMTc5Myw3ICsxNzY2LDcgQEAgaW5kZXggNTEwYzY3NGQuLjNm NDJlZDQwIDEwMDY0NAogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2cnOgogICAg ICAgICAgICBrZXktPmdlbmVyYWxfbnVtZXJpYyA9IHRydWU7Ci1AQCAtNDQ2MSw3ICs1MTA2LDcg QEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTQ2MjYsNyArNTI3MSw3IEBAIG1h aW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgIGluaXRpYWxpemVfZXhpdF9mYWlsdXJlIChT T1JUX0ZBSUxVUkUpOwogIAogICAgaGFyZF9MQ19DT0xMQVRFID0gaGFyZF9sb2NhbGUgKExDX0NP TExBVEUpOwpAQCAtMTgwMiw3ICsxNzc1LDcgQEAgaW5kZXggNTEwYzY3NGQuLjNmNDJlZDQwIDEw MDY0NAogICAgaGFyZF9MQ19USU1FID0gaGFyZF9sb2NhbGUgKExDX1RJTUUpOwogICNlbmRpZgog IAotQEAgLTQ0ODQsNiArNTEyOSwyOSBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCitA QCAtNDY0OSw2ICs1Mjk0LDI5IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAg ICB0aG91c2FuZHNfc2VwID0gTk9OX0NIQVI7CiAgICB9CiAgCkBAIC0xODMyLDcgKzE4MDUsNyBA QCBpbmRleCA1MTBjNjc0ZC4uM2Y0MmVkNDAgMTAwNjQ0CiAgICBpbml0dGFibGVzICgpOwogIAog ICAgewotQEAgLTQ3MjksMTMgKzUzOTcsMzQgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2 KQorQEAgLTQ4OTQsMTMgKzU1NjIsMzQgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQog IAogICAgICAgICAgY2FzZSAndCc6CiAgICAgICAgICAgIHsKQEAgLTE4NzEsNyArMTg0NCw3IEBA IGluZGV4IDUxMGM2NzRkLi4zZjQyZWQ0MCAxMDA2NDQKICAgICAgICAgICAgICAgICAgZWxzZQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgIC8qIFByb3Zva2Ugd2l0 aCAnc29ydCAtdHh4Jy4gIENvbXBsYWluIGFib3V0Ci1AQCAtNDc0Niw5ICs1NDM1LDExIEBAIG1h aW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKK0BAIC00OTExLDkgKzU2MDAsMTEgQEAgbWFpbiAo aW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1b3Rl IChvcHRhcmcpKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CkBAIC0x ODg2LDcgKzE4NTksNyBAQCBpbmRleCA1MTBjNjc0ZC4uM2Y0MmVkNDAgMTAwNjQ0CiAgICAgICAg ICAgIGJyZWFrOwogIAogZGlmZiAtLWdpdCBhL3Rlc3RzL0NvcmV1dGlscy5wbSBiL3Rlc3RzL0Nv cmV1dGlscy5wbQotaW5kZXggZTM5NmQ5M2EuLmNiYTJlNGFlIDEwMDY0NAoraW5kZXggZmNhMjJh Ni4uYjQwNzQ1ZiAxMDA2NDQKIC0tLSBhL3Rlc3RzL0NvcmV1dGlscy5wbQogKysrIGIvdGVzdHMv Q29yZXV0aWxzLnBtCiBAQCAtMjczLDYgKzI3Myw5IEBAIHN1YiBydW5fdGVzdHMgKCQkJCQkKQpA QCAtMTkwMSw3ICsxODc0LDcgQEAgaW5kZXggZTM5NmQ5M2EuLmNiYTJlNGFlIDEwMDY0NAogICAg ICAgICAgICB3YXJuICIkcHJvZ3JhbV9uYW1lOiAkdGVzdF9uYW1lOiB0ZXN0IG5hbWUgaXMgdG9v IGxvbmcgKD4gJG1heClcbiI7CiBkaWZmIC0tZ2l0IGEvdGVzdHMvaTE4bi9zb3J0LnNoIGIvdGVz dHMvaTE4bi9zb3J0LnNoCiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAuLjI2 Yzk1ZGU5CitpbmRleCAwMDAwMDAwLi4yNmM5NWRlCiAtLS0gL2Rldi9udWxsCiArKysgYi90ZXN0 cy9pMThuL3NvcnQuc2gKIEBAIC0wLDAgKzEsMjkgQEAKQEAgLTE5MzUsMTAgKzE5MDgsMTAgQEAg aW5kZXggMDAwMDAwMDAuLjI2Yzk1ZGU5CiArCiArRXhpdCAkZmFpbAogZGlmZiAtLWdpdCBhL3Rl c3RzL2xvY2FsLm1rIGIvdGVzdHMvbG9jYWwubWsKLWluZGV4IGUyYzA3YTg5Li5kOGEyMDdjYSAx MDA2NDQKK2luZGV4IGIzZTQ1YzQuLmM4NzVlNTAgMTAwNjQ0CiAtLS0gYS90ZXN0cy9sb2NhbC5t awogKysrIGIvdGVzdHMvbG9jYWwubWsKLUBAIC00MzUsNiArNDM1LDggQEAgYWxsX3Rlc3RzID0J CQkJCVwKK0BAIC00NTYsNiArNDU2LDggQEAgYWxsX3Rlc3RzID0JCQkJCVwKICAgIHRlc3RzL3Nv cnQvc29ydC1maWVsZC1saW1pdC5zaAkJXAogICAgdGVzdHMvc29ydC9zb3J0LWZpbGVzMC1mcm9t LnBsCQlcCiAgICB0ZXN0cy9zb3J0L3NvcnQtZmxvYXQuc2gJCQlcCkBAIC0xOTQ5LDcgKzE5MjIs NyBAQCBpbmRleCBlMmMwN2E4OS4uZDhhMjA3Y2EgMTAwNjQ0CiAgICB0ZXN0cy9zb3J0L3NvcnQt bWVyZ2UucGwJCQlcCiBkaWZmIC0tZ2l0IGEvdGVzdHMvbWlzYy9zb3J0LW1iLXRlc3RzLnNoIGIv dGVzdHMvbWlzYy9zb3J0LW1iLXRlc3RzLnNoCiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXgg MDAwMDAwMDAuLjExODM2YmFhCitpbmRleCAwMDAwMDAwLi4xMTgzNmJhCiAtLS0gL2Rldi9udWxs CiArKysgYi90ZXN0cy9taXNjL3NvcnQtbWItdGVzdHMuc2gKIEBAIC0wLDAgKzEsNDUgQEAKQEAg LTE5OTksNyArMTk3Miw3IEBAIGluZGV4IDAwMDAwMDAwLi4xMTgzNmJhYQogKwogK0V4aXQgJGZh aWwKIGRpZmYgLS1naXQgYS90ZXN0cy9wci9wci10ZXN0cy5wbCBiL3Rlc3RzL3ByL3ByLXRlc3Rz LnBsCi1pbmRleCA4MTJlMjE1YS4uODg4ZGY0MTggMTAwNzU1CitpbmRleCA4MTJlMjE1Li4wOGI1 NTZiIDEwMDc1NQogLS0tIGEvdGVzdHMvcHIvcHItdGVzdHMucGwKICsrKyBiL3Rlc3RzL3ByL3By LXRlc3RzLnBsCiBAQCAtMjQsNiArMjQsMTUgQEAgdXNlIHN0cmljdDsKQEAgLTIwNDgsNyArMjAy MSw3IEBAIGluZGV4IDgxMmUyMTVhLi44ODhkZjQxOCAxMDA3NTUKICsgICAgICAgICAgICBwdXNo IEAkdCwgJHN1YjsKICsgICAgICAgICAgfQogKyAgICAgICAgI3RlbXBvcmFyaWx5IHNraXAgc29t ZSBmYWlsaW5nIHRlc3RzCi0rICAgICAgICBuZXh0IGlmICgkdGVzdF9uYW1lID1+ICJjb2wtMCIg b3IgJHRlc3RfbmFtZSA9fiAiY29sLWludmFsIiBvciAkdGVzdF9uYW1lID1+ICJhc2FuMSIpOwor KyAgICAgICAgbmV4dCBpZiAoJHRlc3RfbmFtZSA9fiAiY29sLTAiIG9yICR0ZXN0X25hbWUgPX4g ImNvbC1pbnZhbCIgb3IgJHRlc3RfbmFtZSA9fiAiYXNhbjEiIG9yICR0ZXN0X25hbWUgPX4gIm5l Zy1wYWdlIik7CiArICAgICAgICBwdXNoIEBuZXcsIFsiJHRlc3RfbmFtZS1tYiIsIEBuZXdfdCwg e0VOViA9PiAiTENfQUxMPSRtYl9sb2NhbGUifV07CiArICAgICAgfQogKyAgICBwdXNoIEBUZXN0 cywgQG5ldzsKQEAgLTIwNjgsNyArMjA0MSw3IEBAIGluZGV4IDgxMmUyMTVhLi44ODhkZjQxOCAx MDA3NTUKICBteSAkdmVyYm9zZSA9ICRFTlZ7VkVSQk9TRX07CiAgCiBkaWZmIC0tZ2l0IGEvdGVz dHMvc29ydC9zb3J0LW1lcmdlLnBsIGIvdGVzdHMvc29ydC9zb3J0LW1lcmdlLnBsCi1pbmRleCAz MzgyNDc5MC4uZmI0NzAyYzMgMTAwNzU1CitpbmRleCAxNmE2YjAzLi45N2ExOTFmIDEwMDc1NQog LS0tIGEvdGVzdHMvc29ydC9zb3J0LW1lcmdlLnBsCiArKysgYi90ZXN0cy9zb3J0L3NvcnQtbWVy Z2UucGwKIEBAIC0yNiw2ICsyNiwxNSBAQCBteSAkcHJvZyA9ICdzb3J0JzsKQEAgLTIwODcsOCAr MjA2MCw4IEBAIGluZGV4IDMzODI0NzkwLi5mYjQ3MDJjMyAxMDA3NTUKICAjIHRocmVlIGVtcHR5 IGZpbGVzIGFuZCBvbmUgdGhhdCBzYXlzICdmb28nCiAgbXkgQGlucHV0cyA9ICgrKG1hcHt7SU49 PiB7ImVtcHR5JF8iPT4gJyd9fX0xLi4zKSwge0lOPT4ge2Zvbz0+ICJmb29cbiJ9fSk7CiAgCi1A QCAtNzcsNiArODYsMzkgQEAgbXkgQFRlc3RzID0KLSAgICAgICAgIHtPVVQ9PiRiaWdfaW5wdXR9 XSwKK0BAIC04Nyw2ICs5NiwzOSBAQCBteSBAVGVzdHMgPQorICAgICAgICAge09VVD0+JGxvbmdf bGluZXNfaW59XSwKICAgICAgKTsKICAKICsjIEFkZCBfUE9TSVgyX1ZFUlNJT049MTk5MjA5IHRv IHRoZSBlbnZpcm9ubWVudCBvZiBlYWNoIHRlc3QKQEAgLTIxMjgsNyArMjEwMSw3IEBAIGluZGV4 IDMzODI0NzkwLi5mYjQ3MDJjMyAxMDA3NTUKICBteSAkdmVyYm9zZSA9ICRFTlZ7VkVSQk9TRX07 CiAgCiBkaWZmIC0tZ2l0IGEvdGVzdHMvc29ydC9zb3J0LnBsIGIvdGVzdHMvc29ydC9zb3J0LnBs Ci1pbmRleCBlMzdhNzQ2ZS4uMzU1NGJlYWIgMTAwNzU1CitpbmRleCA1MjllZGVmLi40MDlhOWI2 IDEwMDc1NQogLS0tIGEvdGVzdHMvc29ydC9zb3J0LnBsCiArKysgYi90ZXN0cy9zb3J0L3NvcnQu cGwKIEBAIC0yNCwxMCArMjQsMTUgQEAgbXkgJHByb2cgPSAnc29ydCc7CkBAIC0yMTQ4LDcgKzIx MjEsNyBAQCBpbmRleCBlMzdhNzQ2ZS4uMzU1NGJlYWIgMTAwNzU1CiAgIyBTaW5jZSBlYWNoIHRl c3QgaXMgcnVuIHdpdGggYSBmaWxlIG5hbWUgYW5kIHdpdGggcmVkaXJlY3RlZCBzdGRpbiwKICAj IHRoZSBuYW1lIGluIHRoZSBkaWFnbm9zdGljIGlzIGVpdGhlciB0aGUgZmlsZSBuYW1lIG9yICIt Ii4KICAjIE5vcm1hbGl6ZSBlYWNoIGRpYWdub3N0aWMgdG8gdXNlICctJy4KLUBAIC00MjgsNiAr NDMzLDM4IEBAIGZvcmVhY2ggbXkgJHQgKEBUZXN0cykKK0BAIC00MzksNiArNDQ0LDM4IEBAIGZv cmVhY2ggbXkgJHQgKEBUZXN0cykKICAgICAgICB9CiAgICB9CiAgCkBAIC0yMTc3LDcgKzIxNTAs NyBAQCBpbmRleCBlMzdhNzQ2ZS4uMzU1NGJlYWIgMTAwNzU1CiArICAgICAgICAgIH0KICsgICAg ICAgICNkaXNhYmxlIHNldmVyYWwgZmFpbGluZyB0ZXN0cyB1bnRpbCBpbnZlc3RpZ2F0aW9uLCBk aXNhYmxlIGFsbCB0ZXN0cyB3aXRoIGVudnZhcnMgc2V0CiArICAgICAgICBuZXh0IGlmIChncmVw IHtyZWYgJF8gZXEgJ0hBU0gnICYmIGV4aXN0cyAkXy0+e0VOVn19IChAbmV3X3QpKTsKLSsgICAg ICAgIG5leHQgaWYgKCR0ZXN0X25hbWUgPX4gIjE4ZyIgb3IgJHRlc3RfbmFtZSA9fiAic29ydC1u dW1lcmljIiBvciAkdGVzdF9uYW1lID1+ICIwOFthYl0iIG9yICR0ZXN0X25hbWUgPX4gIjAzW2Rl Zl0iIG9yICR0ZXN0X25hbWUgPX4gImg0IiBvciAkdGVzdF9uYW1lID1+ICJuMSIgb3IgJHRlc3Rf bmFtZSA9fiAiMlswMV1hIik7CisrICAgICAgICBuZXh0IGlmICgkdGVzdF9uYW1lID1+ICIxOGci IG9yICR0ZXN0X25hbWUgPX4gInNvcnQtbnVtZXJpYyIgb3IgJHRlc3RfbmFtZSA9fiAiMDhbYWJd IiBvciAkdGVzdF9uYW1lID1+ICIwM1tkZWZdIiBvciAkdGVzdF9uYW1lID1+ICJoNCIgb3IgJHRl c3RfbmFtZSA9fiAibjEiIG9yICR0ZXN0X25hbWUgPX4gIjJbMDFdYSIgb3IgJHRlc3RfbmFtZSA9 fiAiaW52YWxpZC1wYXJhbGxlbCIpOwogKyAgICAgICAgbmV4dCBpZiAoJHRlc3RfbmFtZSA9fiAi MTFbYWJdIik7ICMgYXZvaWQgRlA6IGV4cGVjdGVkIHJlc3VsdCBkaWZmZXJzIHRvIE1CIHJlc3Vs dCBkdWUgdG8gY29sbGF0aW9uIHJ1bGVzLgogKyAgICAgICAgcHVzaCBAbmV3LCBbIiR0ZXN0X25h bWUtbWIiLCBAbmV3X3QsIHtFTlYgPT4gIkxDX0FMTD0kbWJfbG9jYWxlIn1dOwogKyAgICAgICB9 CkBAIC0yMTg3LDcgKzIxNjAsNyBAQCBpbmRleCBlMzdhNzQ2ZS4uMzU1NGJlYWIgMTAwNzU1CiAg QFRlc3RzID0gdHJpcGxlX3Rlc3QgXEBUZXN0czsKICAKICAjIFJlbWVtYmVyIHRoYXQgdHJpcGxl X3Rlc3QgY3JlYXRlcyBmcm9tIGVhY2ggdGVzdCB3aXRoIGV4YWN0bHkgb25lICJJTiIKLUBAIC00 MzcsNiArNDc0LDcgQEAgZm9yZWFjaCBteSAkdCAoQFRlc3RzKQorQEAgLTQ0OCw2ICs0ODUsNyBA QCBmb3JlYWNoIG15ICR0IChAVGVzdHMpCiAgIyBSZW1vdmUgdGhlIElOX1BJUEUgdmVyc2lvbiBv ZiB0aGUgIm91dHB1dC1pcy1pbnB1dCIgdGVzdCBhYm92ZS4KICAjIFRoZSBvdGhlcnMgYXJlbid0 IHN1c2NlcHRpYmxlIGJlY2F1c2UgdGhleSBoYXZlIHRocmVlIGlucHV0cyBlYWNoLgogIEBUZXN0 cyA9IGdyZXAgeyRfLT5bMF0gbmUgJ291dHB1dC1pcy1pbnB1dC5wJ30gQFRlc3RzOwpAQCAtMjE5 Niw1ICsyMTY5LDUgQEAgaW5kZXggZTM3YTc0NmUuLjM1NTRiZWFiIDEwMDc1NQogIG15ICRzYXZl X3RlbXBzID0gJEVOVntERUJVR307CiAgbXkgJHZlcmJvc2UgPSAkRU5We1ZFUkJPU0V9OwogLS0g Ci0yLjU0LjAKKzIuNTUuMAogCgpkaWZmIC0tZ2l0IGEvY29yZXV0aWxzLXB5dGhvbjMucGF0Y2gg Yi9jb3JldXRpbHMtcHl0aG9uMy5wYXRjaAppbmRleCBiZTUzNmE1Li5mNTJlMmYzIDEwMDY0NAot LS0gYS9jb3JldXRpbHMtcHl0aG9uMy5wYXRjaAorKysgYi9jb3JldXRpbHMtcHl0aG9uMy5wYXRj aApAQCAtMSw0ICsxLDQgQEAKLUZyb20gYmE4ODJmOWVkMWYyNjIxMTQ5M2RmNGJmYzBjNmNmYzEz NTYyZmI2YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZjRiZDVjMTUyMDM3ZTI2NWQ1 OTU0OWNkYTU5ZmYwZDYxMDA4ODY3NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IHJw bS1idWlsZCA8cnBtLWJ1aWxkPgogRGF0ZTogVHVlLCAyIEFwciAyMDI0IDE0OjExOjI2ICswMTAw CiBTdWJqZWN0OiBbUEFUQ0hdIGNvcmV1dGlscy1weXRob24zLnBhdGNoCkBAIC0xMCwxMCArMTAs MTAgQEAgU3ViamVjdDogW1BBVENIXSBjb3JldXRpbHMtcHl0aG9uMy5wYXRjaAogIDMgZmlsZXMg Y2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEv aW5pdC5jZmcgYi9pbml0LmNmZwotaW5kZXggMmM2ZGE4OS4uNGRkYjBhZiAxMDA2NDQKK2luZGV4 IDZhZGQ2NjEuLjhlYzNiZTkgMTAwNjQ0CiAtLS0gYS9pbml0LmNmZwogKysrIGIvaW5pdC5jZmcK LUBAIC02MDQsMTAgKzYwNCwxMCBAQCBzZWVrX2RhdGFfY2FwYWJsZV8oKQorQEAgLTYzMiwxMCAr NjMyLDEwIEBAIHNlZWtfZGF0YV9jYXBhYmxlXygpCiAgIyBTa2lwIHRoZSBjdXJyZW50IHRlc3Qg aWYgIi4iIGxhY2tzIGRfdHlwZSBzdXBwb3J0LgogIHJlcXVpcmVfZGlyZW50X2RfdHlwZV8oKQog IHsKQEAgLTYxLDUgKzYxLDUgQEAgaW5kZXggOTYzOWFjMy4uOTYyZThlMyAxMDA3NTUKICBpbXBv cnQgb3Msc3lzCiAgCiAtLSAKLTIuNTIuMAorMi41NS4wCiAKCmRpZmYgLS1naXQgYS9jb3JldXRp bHMuc3BlYyBiL2NvcmV1dGlscy5zcGVjCmluZGV4IGNhY2E3ZDIuLmEwZDlmNGQgMTAwNjQ0Ci0t LSBhL2NvcmV1dGlscy5zcGVjCisrKyBiL2NvcmV1dGlscy5zcGVjCkBAIC0xLDcgKzEsNyBAQAog U3VtbWFyeTogQSBzZXQgb2YgYmFzaWMgR05VIHRvb2xzIGNvbW1vbmx5IHVzZWQgaW4gc2hlbGwg c2NyaXB0cwogTmFtZTogICAgY29yZXV0aWxzCi1WZXJzaW9uOiA5LjExCi1SZWxlYXNlOiA2JXs/ ZGlzdH0KK1ZlcnNpb246IDkuMTIKK1JlbGVhc2U6IDElez9kaXN0fQogIyBzb21lIHVzZWQgcGFy dHMgb2YgZ251bGliIGFyZSB1bmRlciB2YXJpb3VzIHZhcmlhbnRzIG9mIExHUEwKIExpY2Vuc2U6 IEdQTC0zLjAtb3ItbGF0ZXIgQU5EIEdGREwtMS4zLW5vLWludmFyaWFudHMtb3ItbGF0ZXIgQU5E IExHUEwtMi4xLW9yLWxhdGVyIEFORCBMR1BMLTMuMC1vci1sYXRlcgogVXJsOiAgICAgaHR0cHM6 Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9jb3JldXRpbHMvCkBAIC0xOSwzMyArMTksMjYgQEAgU291 cmNlMTA2OiAgY29yZXV0aWxzLWNvbG9ybHMuY3NoCiAjIGRvIG5vdCBtYWtlIGNvcmV1dGlscy1z aW5nbGUgZGVwZW5kIG9uIC91c3IvYmluL2NvcmV1dGlscwogJWdsb2JhbCBfX3JlcXVpcmVzX2V4 Y2x1ZGUgXiV7X2JpbmRpcn0vY29yZXV0aWxzJAogCi0jIGRpc2FibGUgdGhlIHRlc3QtbG9jayBn bnVsaWIgdGVzdCBwcm9uZSB0byBkZWFkbG9jawotUGF0Y2gxMDA6IGNvcmV1dGlscy04LjI2LXRl c3QtbG9jay5wYXRjaAotCiAjIHJlcXVpcmVfc2VsaW51eF8oKTogdXNlIHNlbGludXhlbmFibGVk KDgpIGlmIGF2YWlsYWJsZQotUGF0Y2gxMDE6IGNvcmV1dGlscy04LjI2LXNlbGludXhlbmFibGUu cGF0Y2gKK1BhdGNoMTAwOiBjb3JldXRpbHMtOC4yNi1zZWxpbnV4ZW5hYmxlLnBhdGNoCiAKICMg ZG93bnN0cmVhbSBjaGFuZ2VzIHRvIGRlZmF1bHQgRElSX0NPTE9SUwotUGF0Y2gxMDI6IGNvcmV1 dGlscy04LjMyLURJUl9DT0xPUlMucGF0Y2gKK1BhdGNoMTAxOiBjb3JldXRpbHMtOC4zMi1ESVJf Q09MT1JTLnBhdGNoCiAKICMgdXNlIHB5dGhvbjMgaW4gdGVzdHMKLVBhdGNoMTAzOiBjb3JldXRp bHMtcHl0aG9uMy5wYXRjaAorUGF0Y2gxMDI6IGNvcmV1dGlscy1weXRob24zLnBhdGNoCiAKICMg ZGYgLS1kaXJlY3QKLVBhdGNoMTA0OiBjb3JldXRpbHMtZGYtZGlyZWN0LnBhdGNoCi0KLSMgdW5l eHBhbmQ6IGZpeCBoZWFwIG92ZXJmbG93cwotIyBodHRwczovL2NnaXQuZ2l0LnNhdmFubmFoLmdu dS5vcmcvY2dpdC9jb3JldXRpbHMuZ2l0L2NvbW1pdC8/aWQ9YjYwYTE1OWZkYzViZmNmOTk4OGQz YTRjYjZmNTNhYmU4YWQ1ZDM1ZAotIyBodHRwczovL2NnaXQuZ2l0LnNhdmFubmFoLmdudS5vcmcv Y2dpdC9jb3JldXRpbHMuZ2l0L2NvbW1pdC8/aWQ9NGFkZTljZjc3ZjZjN2IzOWUzZmRjNWNlOTdh Nzc4ZjhlMjk0Njk0YwotUGF0Y2gyMDA6IGNvcmV1dGlscy05LjExLXVuZXhwYW5kLWhlYXAtb3Zl cmZsb3dzLnBhdGNoCitQYXRjaDEwMzogY29yZXV0aWxzLWRmLWRpcmVjdC5wYXRjaAogCi0jIENW RS0yMDI2LTU2MzkxIC0gdW5pcTogZml4IHJlYWQgb3ZlcnJ1biB3aXRoIC13Ci0jIGh0dHBzOi8v Y2dpdC5naXQuc2F2YW5uYWguZ251Lm9yZy9jZ2l0L2NvcmV1dGlscy5naXQvY29tbWl0Lz9pZD1k NjRlMzVhOGE0YzBlNDYwODMyMTQzM2UwZDg0ZDkxN2U0ZTM2MzcxCi1QYXRjaDIwMTogY29yZXV0 aWxzLTkuMTEtQ1ZFLTIwMjYtNTYzOTEucGF0Y2gKKyMgZW52LHByaW50ZW52OiBvbmx5IHF1b3Rl IHdoZW4gb3V0cHV0dGluZyB0byB0ZXJtaW5hbHMKKyMgaHR0cHM6Ly9naXRodWIuY29tL2NvcmV1 dGlscy9jb3JldXRpbHMvY29tbWl0Lzc4MmExZTViCitQYXRjaDIwMDogY29yZXV0aWxzLTkuMTIt ZW52LXF1b3RlLWZpeC5wYXRjaAogCi0jIHRlZTogZml4IGluZmluaXRlIGxvb3Agd2hlbiB3cml0 ZSByZXR1cm5zIEVBR0FJTiBhbmQgc2hvcnQgd3JpdGUgZXJyb3JzCi0jIGh0dHBzOi8vY2dpdC5n aXQuc2F2YW5uYWguZ251Lm9yZy9jZ2l0L2NvcmV1dGlscy5naXQvY29tbWl0Lz9pZD0wZDZmY2I5 OWQ2OTFkOTIwOTYxOTM4ZTYxYzQzNDc4NTY2ZWY2MjZlCi1QYXRjaDIwMjogY29yZXV0aWxzLTku MTEtdGVlLWluZmluaXRlLWxvb3AucGF0Y2gKKyMgcmVnZXg6IGNoZWNrIGZvciBnbGliYyBncmVl ayBsb2NhbGUgYnVnIDIwMzgxCisjIGZpeGVzIHRlc3QgZmFpbHVyZSB3aXRoIGdsaWJjLTIuNDQu OTAwMC0yCisjIGh0dHBzOi8vZ2l0aHViLmNvbS9jb3JldXRpbHMvZ251bGliL2NvbW1pdC9hY2Mx ZDkxODEwCitQYXRjaDIwMTogY29yZXV0aWxzLTkuMTItZ251bGliLXJlZ2V4LWdyZWVrLnBhdGNo CiAKICMgKHNiKSBsaW4xOG51eC9sc2IgY29tcGxpYW5jZSAtIG11bHRpYnl0ZSBmdW5jdGlvbmFs aXR5IHBhdGNoCiBQYXRjaDgwMDogY29yZXV0aWxzLWkxOG4ucGF0Y2gKQEAgLTc5LDYgKzcyLDgg QEAgQnVpbGRSZXF1aXJlczogZ251cGcyCiAjIHRlc3Qtb25seSBkZXBlbmRlbmNpZXMKIEJ1aWxk UmVxdWlyZXM6IGFjbAogQnVpbGRSZXF1aXJlczogZ2RiCitCdWlsZFJlcXVpcmVzOiBnbGliYy1h bGwtbGFuZ3BhY2tzCitCdWlsZFJlcXVpcmVzOiBnbGliYy1nY29udi1leHRyYQogQnVpbGRSZXF1 aXJlczogcGVybC1pbnRlcnByZXRlcgogQnVpbGRSZXF1aXJlczogcGVybChGaWxlSGFuZGxlKQog QnVpbGRSZXF1aXJlczogcGVybChQT1NJWCkKQEAgLTkzLDExICs4OCw2IEBAIEJ1aWxkUmVxdWly ZXM6IHBlcmwoRXhwZWN0KQogQnVpbGRSZXF1aXJlczogcHl0aG9uMy1pbm90aWZ5CiAlZW5kaWYK IAotJWlmIDIzIDwgMCV7P2ZlZG9yYX0gfHwgNyA8IDAlez9yaGVsfQotIyBuZWVkZWQgYnkgaTE4 biB0ZXN0LWNhc2VzCi1CdWlsZFJlcXVpcmVzOiBnbGliYy1hbGwtbGFuZ3BhY2tzCi0lZW5kaWYK LQogUmVxdWlyZXM6ICV7bmFtZX0tY29tbW9uID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9CiAKIFBy b3ZpZGVzOiBjb3JldXRpbHMtZnVsbCA9ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQpAQCAtMTcxLDEy ICsxNjEsNiBAQCBmaW5kIHRlc3RzIC1uYW1lICcqLnNoJyAtcGVybSAwNjQ0IC1wcmludCAtZXhl YyBjaG1vZCAwNzU1ICd7fScgJysnCiAjIHdpdGggY29yZXV0aWxzIDkuNiBhbmQgYnVuZGxlZCBn ZXR0ZXh0IDAuMTkuMiBmcm9tIGdldHRleHQtY29tbW9uLWRldmVsLgogc2VkIC1pICJzLzAuMTku Mi8kKHJwbSAtcSAtLXF1ZXJ5Zm9ybWF0ICclJXtWRVJTSU9OfVxuJyBnZXR0ZXh0LWRldmVsKS8i IGJvb3RzdHJhcC5jb25mIGNvbmZpZ3VyZS5hYwogCi0laWYgMCV7P3JoZWx9Ci0jIFRlbXBvcmFy aWx5IGRpc2FibGUgdGVzdC1nZXRhZGRyaW5mbyBmcm9tIGdudWxpYiBiZWNhdXNlIGl0IG1hbGZ1 bmN0aW9ucyBpbgotIyB0aGUgZW52aXJvbm1lbnQgdXNlZCB0byBib290c3RyYXAgUkhFTC4KLXNl ZCAtaSAncy9URVNUUyArPSB0ZXN0LWdldGFkZHJpbmZvLy8nIGdudWxpYi10ZXN0cy9nbnVsaWIu bWsKLSVlbmRpZgotCiBhdXRvcmVjb25mIC1maXYKIAogJWJ1aWxkCkBAIC0yOTgsNiArMjgyLDkg QEAgcm0gLWYgJFJQTV9CVUlMRF9ST09UJXtfaW5mb2Rpcn0vZGlyCiAlbGljZW5zZSBDT1BZSU5H CiAKICVjaGFuZ2Vsb2cKKyogTW9uIFNlcCAyMSAyMDI2IEx1a8OhxaEgWmFvcmFsIDxsemFvcmFs QHJlZGhhdC5jb20+IC0gOS4xMi0xCistIHJlYmFzZSB0byB0aGUgbGF0ZXN0IHVwc3RyZWFtIHJl bGVhc2UgKHJoYnojMjUzMzE5NSkKKwogKiBNb24gQXVnIDAzIDIwMjYgTHVrw6HFoSBaYW9yYWwg PGx6YW9yYWxAcmVkaGF0LmNvbT4gLSA5LjExLTYKIC0gQ1ZFLTIwMjYtNTYzOTEgLSB1bmlxOiBm aXggcmVhZCBvdmVycnVuIHdpdGggLXcgKHJoYnojMjUwNzQ0OSkKIC0gdGVlOiBmaXggaW5maW5p dGUgbG9vcCB3aGVuIHdyaXRlIHJldHVybnMgRUFHQUlOIGFuZCBzaG9ydCB3cml0ZSBlcnJvcnMK CmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCBhNjE0NDZiLi5kZTk4ZThlIDEw MDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEsMiArMSwyIEBACi1TSEE1MTIg KGNvcmV1dGlscy05LjExLnRhci54eikgPSA3M2Y0MTkyNzQ3YWI3OTNmZDI5Y2NjYWZlZGEzNWM0 OTlhMTE4MDA4MzAyMjdlYTRkMjZiMDBhZmIyYzQ5NmRkNjljYjQ5MzAwNTY5MWQwZjYyYTE2OGJl ZWE2YjU1YzFlMjhlODJiNmNmNzk1ZTczNzBmOWQ1M2QxMzU1NTQxMAotU0hBNTEyIChjb3JldXRp bHMtOS4xMS50YXIueHouc2lnKSA9IDYzYmQ4OGJkNWQyZTBlNDUzZTIyNDA0YmJjMjhlM2FlZGUw NjYwYWE2ZjIxMzEzMWE1ZDUyOGI3MjFmODQ5ODU1OTM3MjdkNDUzYTRiODkxNTE3MmU4YWQ1NzEx ZWRjMTdhNWQ1M2I3MmY1YzFjOTc1ZGYyZjY0ZjFhMjlhMzhjCitTSEE1MTIgKGNvcmV1dGlscy05 LjEyLnRhci54eikgPSBmMjU1MTRjZjAyZmQyNTM2NTI1MmQ5YThmNmZjNWY4ZWQwNjNmZmZkY2Ix MWM3ZWZmMzgwZTNmYTYzMjc0MTEwNWQxMWI0NWRlZDMzMmEyYWY1ZTkxM2Y3N2ExNDNiNjhhMmJk MWZiZGNhMDA4NWUxMjdmYjE3YzgwYzM1Mjc5YgorU0hBNTEyIChjb3JldXRpbHMtOS4xMi50YXIu eHouc2lnKSA9IGQ5NzVlNDExZWRmZDIyNTY3OTcyOWQ0NDk2YmUwMjliZDU0YjQ5NWY4MzViNjRm MmZmNzVkMDA4MTRiOWRkNTk2MGM0NDU5ZjQ1MDVjMDMxYTY5NjdmMWNlODFjOWQyYTMwZWI5YmM5 MzllMTU0MjFhYmE5NDYxMzY2ZjU3ZTJkCg==