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: Nick Clifton To: git-commits@fedoraproject.org Subject: [rpms/binutils] rawhide: Remove unused patches Date: Wed, 12 Aug 2026 10:22:20 GMT Message-ID: <178653014049.1.260353372323368620.rpms-binutils-40bef170ce8b@fedoraproject.org> List-ID: X-Git-Repo: rpms/binutils X-Git-Branch: rawhide X-Git-Rev: 40bef170ce8bd81f7f65d83b8e24e851f25b7467 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvYmludXRpbHMKQnJh bmNoIDogcmF3aGlkZQpDb21taXQgOiA0MGJlZjE3MGNlOGJkODFmN2Y2NWQ4M2I4ZTI0ZTg1MWYy NWI3NDY3CkF1dGhvciA6IE5pY2sgQ2xpZnRvbiA8bmlja2NAcmVkaGF0LmNvbT4KRGF0ZSAgIDog MjAyNi0wOC0xMlQxMToyMjoxMCswMTowMApTdGF0cyAgOiArMC8tMTc2MiBpbiA5IGZpbGUocykK VVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9iaW51dGlscy9jLzQw YmVmMTcwY2U4YmQ4MWY3ZjY1ZDgzYjhlMjRlODUxZjI1Yjc0Njc/YnJhbmNoPXJhd2hpZGUKCkxv ZzoKUmVtb3ZlIHVudXNlZCBwYXRjaGVzCgotLS0KZGlmZiAtLWdpdCBhL2JpbnV0aWxzLWFhcmNo NjQtaWZ1bmNzLnBhdGNoIGIvYmludXRpbHMtYWFyY2g2NC1pZnVuY3MucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2NDQ1YjcuLjAwMDAwMDAKLS0tIGEvYmludXRpbHMtYWFy Y2g2NC1pZnVuY3MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi0tLS0gYmlu dXRpbHMub3JpZy9sZC90ZXN0c3VpdGUvbGQtZWxmL3Rscy5leHAJMjAyNi0wNi0wNCAxNTowNDo1 NS45NjcxNzAyNTkgKzAxMDAKLSsrKyBiaW51dGlscy13aXRoLWdvbGQtMi40Ni41MC00ODk5NzMy M2IwZi9sZC90ZXN0c3VpdGUvbGQtZWxmL3Rscy5leHAJMjAyNi0wNi0wNCAxNTowODoxMS45MzYw MzExMDcgKzAxMDAKLUBAIC02Niw2ICs2Niw3IEBAIHJ1bl9sZF9saW5rX3Rlc3RzIFtsaXN0IFwK LSAgICAgXSBcCi0gXQotIAotK3NldHVwX3hmYWlsICJhYXJjaDY0LSotKiIKLSBydW5fY2NfbGlu a190ZXN0cyBbbGlzdCBcCi0gICAgIFtsaXN0IFwKLSAJInByMzQxNjUiIFwKCmRpZmYgLS1naXQg YS9iaW51dGlscy1hYXJjaDY0LW9iai1hdHRyLnBhdGNoIGIvYmludXRpbHMtYWFyY2g2NC1vYmot YXR0ci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzIxNDM5NC4uMDAwMDAw MAotLS0gYS9iaW51dGlscy1hYXJjaDY0LW9iai1hdHRyLnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsMTY3ICswLDAgQEAKLWRpZmYgLXJ1cCBiaW51dGlscy13aXRoLWdvbGQtMi40NS45MC9iZmQv ZWxmLWF0dHJzLmMgL3dvcmsvc291cmNlcy9iaW51dGlscy91cHN0cmVhbS8yLjQ2L2JmZC9lbGYt YXR0cnMuYwotLS0tIGJpbnV0aWxzLXdpdGgtZ29sZC0yLjQ1LjkwL2JmZC9lbGYtYXR0cnMuYwky MDI2LTAxLTI1IDA5OjMwOjQxLjAwMDAwMDAwMCArMDAwMAotKysrIC93b3JrL3NvdXJjZXMvYmlu dXRpbHMvdXBzdHJlYW0vMi40Ni9iZmQvZWxmLWF0dHJzLmMJMjAyNi0wMS0yNyAwODowNDoyMy4z ODc3ODk3NDUgKzAwMDAKLUBAIC0zMTkyLDcgKzMxOTIsNyBAQCBfYmZkX2VsZl9vYmpfYXR0cl92 Ml9jbXAgKGNvbnN0IG9ial9hdHRyCi0gICAgVGhpcyBhbGxvd3MgYW4gZWFybHkgcmV0dXJuIGlm IHdlIGZpbmQgYSBoaWdoZXIgbnVtYmVyZWQgdGFnLiAgKi8KLSAKLSBvYmpfYXR0cl92Ml90ICoK LS1fYmZkX29ial9hdHRyX3YyX2ZpbmRfYnlfdGFnIChjb25zdCBvYmpfYXR0cl9zdWJzZWN0aW9u X3YyX3QgKnN1YnNlYywKLStiZmRfb2JqX2F0dHJfdjJfZmluZF9ieV90YWcgKGNvbnN0IG9ial9h dHRyX3N1YnNlY3Rpb25fdjJfdCAqc3Vic2VjLAotIAkJCSAgICAgIG9ial9hdHRyX3RhZ190IHRh ZywKLSAJCQkgICAgICBib29sIHNvcnRlZCkKLSB7Ci1AQCAtMzIxOCw2ICszMjE4LDE0IEBAIExJ TktFRF9MSVNUX01VVEFUSVZFX09QU19ERUNMIChvYmpfYXR0cl8KLSBMSU5LRURfTElTVF9NRVJH RV9TT1JUX0RFQ0wgKG9ial9hdHRyX3N1YnNlY3Rpb25fdjJfdCwKLSAJCQkgICAgIG9ial9hdHRy X3YyX3QsIC8qIGV4dGVybiAqLykKLSAKLSsvKiBQdWJsaWMgQVBJIHdyYXBwZXIgZm9yIExJTktF RF9MSVNUX0FQUEVORCAob2JqX2F0dHJfdjJfdCkuICAqLwotKwotK3ZvaWQgYmZkX29ial9hdHRy X3N1YnNlY3Rpb25fdjJfYXBwZW5kIChvYmpfYXR0cl9zdWJzZWN0aW9uX3YyX3QgKnN1YnNlYywK LSsJCQkJCW9ial9hdHRyX3YyX3QgKmF0dHIpCi0rewotKyAgTElOS0VEX0xJU1RfQVBQRU5EIChv YmpfYXR0cl92Ml90KSAoc3Vic2VjLCBhdHRyKTsKLSt9Ci0rCi0gLyogQ3JlYXRlIGEgbmV3IG9i amVjdCBhdHRyaWJ1dGUgc3Vic2VjdGlvbiB3aXRoIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczoK LSAgICAtIE5BTUU6IHRoZSBuYW1lIG9mIHRoZSBzdWJzZWN0aW9uLiAgTm90ZTogdGhpcyBwYXJh bWV0ZXIgbmV2ZXIgaG9sZHMgYQotICAgICAgc3RyaW5nIGxpdGVyYWwsIHNvIHRoZSB2YWx1ZSBo YXMgdG8gYmUgZnJlZWFibGUuCi1AQCAtMzM2NCw2ICszMzcyLDI0IEBAIExJTktFRF9MSVNUX01V VEFUSVZFX09QU19ERUNMIChvYmpfYXR0cl8KLSBMSU5LRURfTElTVF9NRVJHRV9TT1JUX0RFQ0wg KG9ial9hdHRyX3N1YnNlY3Rpb25fbGlzdF90LAotIAkJCSAgICAgb2JqX2F0dHJfc3Vic2VjdGlv bl92Ml90LCAvKiBleHRlcm4gKi8pCi0gCi0rLyogUHVibGljIEFQSSB3cmFwcGVyIGZvciBMSU5L RURfTElTVF9BUFBFTkQgKG9ial9hdHRyX3N1YnNlY3Rpb25fdjJfdCkuICAqLwotKwotK3ZvaWQK LStiZmRfb2JqX2F0dHJfc3Vic2VjdGlvbl92Ml9saXN0X2FwcGVuZCAob2JqX2F0dHJfc3Vic2Vj dGlvbl9saXN0X3QgKmwsCi0rCQkJCQlvYmpfYXR0cl9zdWJzZWN0aW9uX3YyX3QgKnN1YnNlYykK LSt7Ci0rICBMSU5LRURfTElTVF9BUFBFTkQgKG9ial9hdHRyX3N1YnNlY3Rpb25fdjJfdCkgKGws IHN1YnNlYyk7Ci0rfQotKwotKy8qIFB1YmxpYyBBUEkgd3JhcHBlciBmb3IgTElOS0VEX0xJU1Rf UkVNT1ZFIChvYmpfYXR0cl9zdWJzZWN0aW9uX3YyX3QpLiAgKi8KLSsKLStvYmpfYXR0cl9zdWJz ZWN0aW9uX3YyX3QgKgotK2JmZF9vYmpfYXR0cl9zdWJzZWN0aW9uX3YyX2xpc3RfcmVtb3ZlIChv YmpfYXR0cl9zdWJzZWN0aW9uX2xpc3RfdCAqbCwKLSsJCQkJCW9ial9hdHRyX3N1YnNlY3Rpb25f djJfdCAqc3Vic2VjKQotK3sKLSsgIHJldHVybiBMSU5LRURfTElTVF9SRU1PVkUgKG9ial9hdHRy X3N1YnNlY3Rpb25fdjJfdCkgKGwsIHN1YnNlYyk7Ci0rfQotKwotIC8qIFNlcmlhbGl6ZSB0aGUg b2JqZWN0IGF0dHJpYnV0ZXMgaW4gQUJGRCBpbnRvIHRoZSB2ZW5kb3Igc2VjdGlvbiBvZgotICAg IE9VVFBVVF9CRkQuICAqLwotIAotZGlmZiAtcnVwIGJpbnV0aWxzLXdpdGgtZ29sZC0yLjQ1Ljkw L2JmZC9lbGYtYmZkLmggL3dvcmsvc291cmNlcy9iaW51dGlscy91cHN0cmVhbS8yLjQ2L2JmZC9l bGYtYmZkLmgKLS0tLSBiaW51dGlscy13aXRoLWdvbGQtMi40NS45MC9iZmQvZWxmLWJmZC5oCTIw MjYtMDEtMjUgMDk6MzA6NDEuMDAwMDAwMDAwICswMDAwCi0rKysgL3dvcmsvc291cmNlcy9iaW51 dGlscy91cHN0cmVhbS8yLjQ2L2JmZC9lbGYtYmZkLmgJMjAyNi0wMS0yNyAwODowNDoyMy4zODc3 ODk3NDUgKzAwMDAKLUBAIC0zMjE2LDE1ICszMjE2LDE3IEBAIGV4dGVybiBib29sIF9iZmRfZWxm X3JlYWRfbm90ZXMKLSAgIChiZmQgKiwgZmlsZV9wdHIsIGJmZF9zaXplX3R5cGUsIHNpemVfdCkg QVRUUklCVVRFX0hJRERFTjsKLSAKLSBleHRlcm4gb2JqX2F0dHJfdjJfdCAqYmZkX2VsZl9vYmpf YXR0cl92Ml9pbml0IChvYmpfYXR0cl90YWdfdCwKLS0gIHVuaW9uIG9ial9hdHRyX3ZhbHVlX3Yy KSBBVFRSSUJVVEVfSElEREVOOwotKyAgdW5pb24gb2JqX2F0dHJfdmFsdWVfdjIpOwotIGV4dGVy biB2b2lkIF9iZmRfZWxmX29ial9hdHRyX3YyX2ZyZWUgKG9ial9hdHRyX3YyX3QgKiwgb2JqX2F0 dHJfZW5jb2RpbmdfdjJfdCkKLSAgIEFUVFJJQlVURV9ISURERU47Ci0gZXh0ZXJuIG9ial9hdHRy X3YyX3QgKl9iZmRfZWxmX29ial9hdHRyX3YyX2NvcHkgKGNvbnN0IG9ial9hdHRyX3YyX3QgKiwK LSAgIG9ial9hdHRyX2VuY29kaW5nX3YyX3QpIEFUVFJJQlVURV9ISURERU47Ci0gZXh0ZXJuIGlu dCBfYmZkX2VsZl9vYmpfYXR0cl92Ml9jbXAgKGNvbnN0IG9ial9hdHRyX3YyX3QgKiwKLSAgIGNv bnN0IG9ial9hdHRyX3YyX3QgKikgQVRUUklCVVRFX0hJRERFTjsKLS1leHRlcm4gb2JqX2F0dHJf djJfdCAqIF9iZmRfb2JqX2F0dHJfdjJfZmluZF9ieV90YWcKLS0gIChjb25zdCBvYmpfYXR0cl9z dWJzZWN0aW9uX3YyX3QgKiwgb2JqX2F0dHJfdGFnX3QsIGJvb2wpIEFUVFJJQlVURV9ISURERU47 Ci0rZXh0ZXJuIG9ial9hdHRyX3YyX3QgKmJmZF9vYmpfYXR0cl92Ml9maW5kX2J5X3RhZwotKyAg KGNvbnN0IG9ial9hdHRyX3N1YnNlY3Rpb25fdjJfdCAqLCBvYmpfYXR0cl90YWdfdCwgYm9vbCk7 Ci0rZXh0ZXJuIHZvaWQgYmZkX29ial9hdHRyX3N1YnNlY3Rpb25fdjJfYXBwZW5kCi0rICAob2Jq X2F0dHJfc3Vic2VjdGlvbl92Ml90ICosIG9ial9hdHRyX3YyX3QgKik7Ci0gTElOS0VEX0xJU1Rf TVVUQVRJVkVfT1BTX1BST1RPVFlQRSAob2JqX2F0dHJfc3Vic2VjdGlvbl92Ml90LAotIAkJCQkg ICAgb2JqX2F0dHJfdjJfdCwgQVRUUklCVVRFX0hJRERFTik7Ci0gTElOS0VEX0xJU1RfTUVSR0Vf U09SVF9QUk9UT1RZUEVfIChvYmpfYXR0cl92Ml90LCBBVFRSSUJVVEVfSElEREVOKTsKLUBAIC0z MjQxLDYgKzMyNDMsMTAgQEAgZXh0ZXJuIG9ial9hdHRyX3N1YnNlY3Rpb25fdjJfdCAqYmZkX29i agotICAgKG9ial9hdHRyX3N1YnNlY3Rpb25fdjJfdCAqLCBjb25zdCBjaGFyICosIGJvb2wpOwot IGV4dGVybiBvYmpfYXR0cl9zdWJzZWN0aW9uX3Njb3BlX3YyX3QgYmZkX2VsZl9vYmpfYXR0cl9z dWJzZWN0aW9uX3YyX3Njb3BlCi0gICAoY29uc3QgYmZkICosIGNvbnN0IGNoYXIgKik7Ci0rZXh0 ZXJuIHZvaWQgYmZkX29ial9hdHRyX3N1YnNlY3Rpb25fdjJfbGlzdF9hcHBlbmQKLSsgIChvYmpf YXR0cl9zdWJzZWN0aW9uX2xpc3RfdCAqLCBvYmpfYXR0cl9zdWJzZWN0aW9uX3YyX3QgKik7Ci0r ZXh0ZXJuIG9ial9hdHRyX3N1YnNlY3Rpb25fdjJfdCAqYmZkX29ial9hdHRyX3N1YnNlY3Rpb25f djJfbGlzdF9yZW1vdmUKLSsgIChvYmpfYXR0cl9zdWJzZWN0aW9uX2xpc3RfdCAqLCBvYmpfYXR0 cl9zdWJzZWN0aW9uX3YyX3QgKik7Ci0gTElOS0VEX0xJU1RfTVVUQVRJVkVfT1BTX1BST1RPVFlQ RSAob2JqX2F0dHJfc3Vic2VjdGlvbl9saXN0X3QsCi0gCQkJCSAgICBvYmpfYXR0cl9zdWJzZWN0 aW9uX3YyX3QsCi0gCQkJCSAgICBBVFRSSUJVVEVfSElEREVOKTsKLWRpZmYgLXJ1cCBiaW51dGls cy13aXRoLWdvbGQtMi40NS45MC9iZmQvZWxmbm4tYWFyY2g2NC5jIC93b3JrL3NvdXJjZXMvYmlu dXRpbHMvdXBzdHJlYW0vMi40Ni9iZmQvZWxmbm4tYWFyY2g2NC5jCi0tLS0gYmludXRpbHMtd2l0 aC1nb2xkLTIuNDUuOTAvYmZkL2VsZm5uLWFhcmNoNjQuYwkyMDI2LTAxLTI1IDA5OjMwOjQxLjAw MDAwMDAwMCArMDAwMAotKysrIC93b3JrL3NvdXJjZXMvYmludXRpbHMvdXBzdHJlYW0vMi40Ni9i ZmQvZWxmbm4tYWFyY2g2NC5jCTIwMjYtMDEtMjcgMDg6MDQ6MjMuMzg4Nzg5ODM1ICswMDAwCi1A QCAtMTA2MzIsNyArMTA2MzIsNyBAQCBlbGZOTl9hYXJjaDY0X2xpbmtfc2V0dXBfb2JqZWN0X2F0 dHJpYnV0Ci0gICBpZiAoYWVhYmlfZmVhdHVyZV9hbmRfYml0c19zdWJzZWMgIT0gTlVMTCkKLSAg ICAgewotICAgICAgIGNvbnN0IG9ial9hdHRyX3YyX3QgKmF0dHJfYnRpCi0tCT0gX2JmZF9vYmpf YXR0cl92Ml9maW5kX2J5X3RhZyAoYWVhYmlfZmVhdHVyZV9hbmRfYml0c19zdWJzZWMsCi0rCT0g YmZkX29ial9hdHRyX3YyX2ZpbmRfYnlfdGFnIChhZWFiaV9mZWF0dXJlX2FuZF9iaXRzX3N1YnNl YywKLSAJCQkJCVRhZ19GZWF0dXJlX0JUSSwgdHJ1ZSk7Ci0gICAgICAgaWYgKGF0dHJfYnRpICYm IGF0dHJfYnRpLT52YWwudWludCA9PSAxKQotIAl0ZGF0YS0+c3dfcHJvdGVjdGlvbnMucGx0X3R5 cGUgfD0gUExUX0JUSTsKLWRpZmYgLXJ1cCBiaW51dGlscy13aXRoLWdvbGQtMi40NS45MC9iZmQv ZWxmeHgtYWFyY2g2NC5jIC93b3JrL3NvdXJjZXMvYmludXRpbHMvdXBzdHJlYW0vMi40Ni9iZmQv ZWxmeHgtYWFyY2g2NC5jCi0tLS0gYmludXRpbHMtd2l0aC1nb2xkLTIuNDUuOTAvYmZkL2VsZnh4 LWFhcmNoNjQuYwkyMDI2LTAxLTI1IDA5OjMwOjQxLjAwMDAwMDAwMCArMDAwMAotKysrIC93b3Jr L3NvdXJjZXMvYmludXRpbHMvdXBzdHJlYW0vMi40Ni9iZmQvZWxmeHgtYWFyY2g2NC5jCTIwMjYt MDEtMjcgMDg6MDQ6MjMuMzg4Nzg5ODM1ICswMDAwCi1AQCAtOTU2LDcgKzk1Niw3IEBAIG9ial9h dHRyX3YyX3JlY29yZF90YWdfdmFsdWUgKG9ial9hdHRyX3MKLSAJCQkgICAgICBib29sIHZhbHVl KQotIHsKLSAgIG9ial9hdHRyX3YyX3QgKmF0dHI7Ci0tICBhdHRyID0gX2JmZF9vYmpfYXR0cl92 Ml9maW5kX2J5X3RhZyAoc3Vic2VjLCB0YWcsIGZhbHNlKTsKLSsgIGF0dHIgPSBiZmRfb2JqX2F0 dHJfdjJfZmluZF9ieV90YWcgKHN1YnNlYywgdGFnLCBmYWxzZSk7Ci0gICBpZiAoYXR0ciAhPSBO VUxMKQotICAgICB7Ci0gICAgICAgaWYgKGF0dHItPnZhbC51aW50ICE9IHZhbHVlKQotQEAgLTEx NzUsMTEgKzExNzUsMTEgQEAgYWFyY2g2NF9jaGVja19wYXV0aGFiaV9hdHRyaWJ1dGVzIChjb25z dAotICAgaW50IHZlcnNpb25faWQgPSAwOwotIAotICAgY29uc3Qgb2JqX2F0dHJfdjJfdCAqYXR0 cgotLSAgICA9IF9iZmRfb2JqX2F0dHJfdjJfZmluZF9ieV90YWcgKHN1YnNlYywgVGFnX1BBdXRo X1BsYXRmb3JtLCB0cnVlKTsKLSsgICAgPSBiZmRfb2JqX2F0dHJfdjJfZmluZF9ieV90YWcgKHN1 YnNlYywgVGFnX1BBdXRoX1BsYXRmb3JtLCB0cnVlKTsKLSAgIGlmIChhdHRyICE9IE5VTEwpCi0g ICAgIHBsYXRmb3JtX2lkID0gYXR0ci0+dmFsLnVpbnQ7Ci0gCi0tICBhdHRyID0gX2JmZF9vYmpf YXR0cl92Ml9maW5kX2J5X3RhZyAoc3Vic2VjLCBUYWdfUEF1dGhfU2NoZW1hLCB0cnVlKTsKLSsg IGF0dHIgPSBiZmRfb2JqX2F0dHJfdjJfZmluZF9ieV90YWcgKHN1YnNlYywgVGFnX1BBdXRoX1Nj aGVtYSwgdHJ1ZSk7Ci0gICBpZiAoYXR0ciAhPSBOVUxMKQotICAgICB2ZXJzaW9uX2lkID0gYXR0 ci0+dmFsLnVpbnQ7Ci0gCi1kaWZmIC1ydXAgYmludXRpbHMtd2l0aC1nb2xkLTIuNDUuOTAvZ2Fz L2NvbmZpZy9vYmotZWxmLWF0dHIuYyAvd29yay9zb3VyY2VzL2JpbnV0aWxzL3Vwc3RyZWFtLzIu NDYvZ2FzL2NvbmZpZy9vYmotZWxmLWF0dHIuYwotLS0tIGJpbnV0aWxzLXdpdGgtZ29sZC0yLjQ1 LjkwL2dhcy9jb25maWcvb2JqLWVsZi1hdHRyLmMJMjAyNi0wMS0yNSAwOTozMDo0MS4wMDAwMDAw MDAgKzAwMDAKLSsrKyAvd29yay9zb3VyY2VzL2JpbnV0aWxzL3Vwc3RyZWFtLzIuNDYvZ2FzL2Nv bmZpZy9vYmotZWxmLWF0dHIuYwkyMDI2LTAxLTI3IDA4OjA0OjIzLjM4ODc4OTgzNSArMDAwMAot QEAgLTEwNjMsNyArMTA2Myw3IEBAIG9ial9hdHRyX3YyX3JlY29yZCAob2JqX2F0dHJfdGFnX3Qg a2V5LAotICAgLyogR28gb3ZlciB0aGUgbGlzdCBvZiBhbHJlYWR5IHJlY29yZGVkIGF0dHJpYnV0 ZXMgYW5kIGNoZWNrIGZvcgotICAgICAgcmVkZWZpbml0aW9ucyAod2hpY2ggYXJlIGZvcmJpZGRl bikuICAqLwotICAgYm9vbCBza2lwX3JlY29yZGluZyA9IGZhbHNlOwotLSAgb2JqX2F0dHJfdjJf dCAqcmVjb3JkZWRfYXR0ciA9IF9iZmRfb2JqX2F0dHJfdjJfZmluZF9ieV90YWcKLSsgIG9ial9h dHRyX3YyX3QgKnJlY29yZGVkX2F0dHIgPSBiZmRfb2JqX2F0dHJfdjJfZmluZF9ieV90YWcKLSAg ICAgKGVsZl9vYmpfYXR0cl9zdWJzZWN0aW9ucyAoc3Rkb3V0cHV0KS5sYXN0LCBvYmpfYXR0ci0+ dGFnLCBmYWxzZSk7Ci0gICBpZiAocmVjb3JkZWRfYXR0ciAhPSBOVUxMKQotICAgICB7Ci1AQCAt MTA4NCw3ICsxMDg0LDcgQEAgb2JqX2F0dHJfdjJfcmVjb3JkIChvYmpfYXR0cl90YWdfdCBrZXks Ci0gICAgICAgcmV0dXJuOwotICAgICB9Ci0gCi0tICBMSU5LRURfTElTVF9BUFBFTkQgKG9ial9h dHRyX3YyX3QpCi0rICBiZmRfb2JqX2F0dHJfc3Vic2VjdGlvbl92Ml9hcHBlbmQKLSAgICAgKGVs Zl9vYmpfYXR0cl9zdWJzZWN0aW9ucyAoc3Rkb3V0cHV0KS5sYXN0LCBvYmpfYXR0cik7Ci0gfQot IAotQEAgLTExMzMsOSArMTEzMyw5IEBAIG9ial9hdHRyX3YyX3N1YnNlY3Rpb25fcmVjb3JkIChj b25zdCBjaGEKLSAJfQotIAotICAgICAgIC8qIE1vdmUgdGhlIGV4aXN0aW5nIHN1YnNlY3Rpb24g dG8gdGhlIGxhc3QgcG9zaXRpb24uICAqLwotLSAgICAgIExJTktFRF9MSVNUX1JFTU9WRSAob2Jq X2F0dHJfc3Vic2VjdGlvbl92Ml90KQotKyAgICAgIGJmZF9vYmpfYXR0cl9zdWJzZWN0aW9uX3Yy X2xpc3RfcmVtb3ZlCi0gCSgmZWxmX29ial9hdHRyX3N1YnNlY3Rpb25zIChzdGRvdXRwdXQpLCBh bHJlYWR5X3JlY29yZGVkX3N1YnNlYyk7Ci0tICAgICAgTElOS0VEX0xJU1RfQVBQRU5EIChvYmpf YXR0cl9zdWJzZWN0aW9uX3YyX3QpCi0rICAgICAgYmZkX29ial9hdHRyX3N1YnNlY3Rpb25fdjJf bGlzdF9hcHBlbmQKLSAJKCZlbGZfb2JqX2F0dHJfc3Vic2VjdGlvbnMgKHN0ZG91dHB1dCksIGFs cmVhZHlfcmVjb3JkZWRfc3Vic2VjKTsKLSAgICAgICAvKiBOb3RlOiAnbmFtZScgd2FzIHVudXNl ZCwgYW5kIHdpbGwgYmUgZnJlZWQgb24gZXhpdC4gICovCi0gICAgIH0KLUBAIC0xMTU4LDcgKzEx NTgsNyBAQCBvYmpfYXR0cl92Ml9zdWJzZWN0aW9uX3JlY29yZCAoY29uc3QgY2hhCi0gCT0gYmZk X2VsZl9vYmpfYXR0cl9zdWJzZWN0aW9uX3YyX2luaXQgKG5hbWUsIHNjb3BlLAotIAkJCQkJICAg ICAgIGNvbXByZWhlbnNpb25fb3B0aW9uYWwsCi0gCQkJCQkgICAgICAgZW5jb2RpbmcpOwotLSAg ICAgIExJTktFRF9MSVNUX0FQUEVORCAob2JqX2F0dHJfc3Vic2VjdGlvbl92Ml90KQotKyAgICAg IGJmZF9vYmpfYXR0cl9zdWJzZWN0aW9uX3YyX2xpc3RfYXBwZW5kCi0gCSgmZWxmX29ial9hdHRy X3N1YnNlY3Rpb25zIChzdGRvdXRwdXQpLCBuZXdfc3Vic2VjdGlvbik7Ci0gICAgICAgcmV0dXJu OwotICAgICB9CgpkaWZmIC0tZ2l0IGEvYmludXRpbHMtZGlzYWJsZS1nY3MtcmVwb3J0LWR5bmFt aWMtdGVzdHMucGF0Y2ggYi9iaW51dGlscy1kaXNhYmxlLWdjcy1yZXBvcnQtZHluYW1pYy10ZXN0 cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzdlZGM1MC4uMDAwMDAwMAot LS0gYS9iaW51dGlscy1kaXNhYmxlLWdjcy1yZXBvcnQtZHluYW1pYy10ZXN0cy5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDQxMyArMCwwIEBACi1Gcm9tIDllNzA4NWYyNzAwZDY5OGRmYmIzN2Fl ZjI0YzA0ODljMmQwOWE5NzggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTaWRkaGVz aCBQb3lhcmVrYXIgPHNpZGRoZXNoQGdvdHBsdC5vcmc+Ci1EYXRlOiBUaHUsIDYgRmViIDIwMjUg MTI6MDY6MjcgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSF0gUmV2ZXJ0ICJhYXJjaDY0OiBHQ1MgdGVz dHMgZm9yIGxpbmtpbmcgaXNzdWVzIHdpdGggZHluYW1pYwotIG9iamVjdHMiCi0KLVRoaXMgcmV2 ZXJ0cyBjb21taXQgMWMxMzZiOGVlOWI5ZmI0MDJiNjY5NTdiZDUxZTg5ZTQ3Yjk0YTBmNi4KLS0t LQotIC4uLi9wcm90ZWN0aW9ucy9hYXJjaDY0LXByb3RlY3Rpb25zLmV4cCAgICAgICB8IDE1IC0t LS0tLS0tLS0KLSAuLi4vbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9nY3MtZHluYW1pYy0xLWEuZCAg fCAxMiAtLS0tLS0tLQotIC4uLi9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1keW5hbWljLTEt Yi5kICB8IDEyIC0tLS0tLS0tCi0gLi4uL3Byb3RlY3Rpb25zL2djcy1keW5hbWljLTItYS1pLmQg ICAgICAgICAgIHwgMTUgLS0tLS0tLS0tLQotIC4uLi9wcm90ZWN0aW9ucy9nY3MtZHluYW1pYy0y LWEtaWkuZCAgICAgICAgICB8ICA4IC0tLS0tLQotIC4uLi9wcm90ZWN0aW9ucy9nY3MtZHluYW1p Yy0yLWEtaWlpLmQgICAgICAgICB8IDE1IC0tLS0tLS0tLS0KLSAuLi4vcHJvdGVjdGlvbnMvZ2Nz LWR5bmFtaWMtMi1hLWl2LmQgICAgICAgICAgfCAxMiAtLS0tLS0tLQotIC4uLi9sZC1hYXJjaDY0 L3Byb3RlY3Rpb25zL2djcy1keW5hbWljLTItYi5kICB8IDE0IC0tLS0tLS0tLS0KLSAuLi4vbGQt YWFyY2g2NC9wcm90ZWN0aW9ucy9nY3MtZHluYW1pYy0yLWMuZCAgfCAxMiAtLS0tLS0tLQotIC4u Li9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1keW5hbWljLTItZC5kICB8IDE0IC0tLS0tLS0t LS0KLSAuLi4vbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9nY3MtZHluYW1pYy0zLWEuZCAgfCAxNSAt LS0tLS0tLS0tCi0gLi4uL2xkLWFhcmNoNjQvcHJvdGVjdGlvbnMvZ2NzLWR5bmFtaWMtMy1iLmQg IHwgMTQgLS0tLS0tLS0tLQotIC4uLi9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1keW5hbWlj LTMtYy5kICB8IDEyIC0tLS0tLS0tCi0gLi4uL2xkLWFhcmNoNjQvcHJvdGVjdGlvbnMvZ2NzLWR5 bmFtaWMtNC1hLmQgIHwgIDcgLS0tLS0KLSAuLi4vbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9nY3Mt ZHluYW1pYy00LWIuZCAgfCAgNyAtLS0tLQotIC4uLi9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2dj cy1keW5hbWljLTQtYy5kICB8ICA3IC0tLS0tCi0gbGQvdGVzdHN1aXRlL2xkLWFhcmNoNjQvcHJv dGVjdGlvbnMvZ2NzLXNvLnMgIHwgMjggLS0tLS0tLS0tLS0tLS0tLS0tLQotIGxkL3Rlc3RzdWl0 ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1zbzIucyB8IDI4IC0tLS0tLS0tLS0tLS0tLS0t LS0KLSAxOCBmaWxlcyBjaGFuZ2VkLCAyNDcgZGVsZXRpb25zKC0pCi0gZGVsZXRlIG1vZGUgMTAw NjQ0IGxkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1keW5hbWljLTEtYS5k Ci0gZGVsZXRlIG1vZGUgMTAwNjQ0IGxkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25z L2djcy1keW5hbWljLTEtYi5kCi0gZGVsZXRlIG1vZGUgMTAwNjQ0IGxkL3Rlc3RzdWl0ZS9sZC1h YXJjaDY0L3Byb3RlY3Rpb25zL2djcy1keW5hbWljLTItYS1pLmQKLSBkZWxldGUgbW9kZSAxMDA2 NDQgbGQvdGVzdHN1aXRlL2xkLWFhcmNoNjQvcHJvdGVjdGlvbnMvZ2NzLWR5bmFtaWMtMi1hLWlp LmQKLSBkZWxldGUgbW9kZSAxMDA2NDQgbGQvdGVzdHN1aXRlL2xkLWFhcmNoNjQvcHJvdGVjdGlv bnMvZ2NzLWR5bmFtaWMtMi1hLWlpaS5kCi0gZGVsZXRlIG1vZGUgMTAwNjQ0IGxkL3Rlc3RzdWl0 ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1keW5hbWljLTItYS1pdi5kCi0gZGVsZXRlIG1v ZGUgMTAwNjQ0IGxkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1keW5hbWlj LTItYi5kCi0gZGVsZXRlIG1vZGUgMTAwNjQ0IGxkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3Rl Y3Rpb25zL2djcy1keW5hbWljLTItYy5kCi0gZGVsZXRlIG1vZGUgMTAwNjQ0IGxkL3Rlc3RzdWl0 ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1keW5hbWljLTItZC5kCi0gZGVsZXRlIG1vZGUg MTAwNjQ0IGxkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1keW5hbWljLTMt YS5kCi0gZGVsZXRlIG1vZGUgMTAwNjQ0IGxkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rp b25zL2djcy1keW5hbWljLTMtYi5kCi0gZGVsZXRlIG1vZGUgMTAwNjQ0IGxkL3Rlc3RzdWl0ZS9s ZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1keW5hbWljLTMtYy5kCi0gZGVsZXRlIG1vZGUgMTAw NjQ0IGxkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1keW5hbWljLTQtYS5k Ci0gZGVsZXRlIG1vZGUgMTAwNjQ0IGxkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25z L2djcy1keW5hbWljLTQtYi5kCi0gZGVsZXRlIG1vZGUgMTAwNjQ0IGxkL3Rlc3RzdWl0ZS9sZC1h YXJjaDY0L3Byb3RlY3Rpb25zL2djcy1keW5hbWljLTQtYy5kCi0gZGVsZXRlIG1vZGUgMTAwNjQ0 IGxkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1zby5zCi0gZGVsZXRlIG1v ZGUgMTAwNjQ0IGxkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1zbzIucwot Ci1kaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLWFhcmNoNjQvcHJvdGVjdGlvbnMvYWFyY2g2 NC1wcm90ZWN0aW9ucy5leHAgYi9sZC90ZXN0c3VpdGUvbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9h YXJjaDY0LXByb3RlY3Rpb25zLmV4cAotaW5kZXggY2YwZjAzZGFlZTYuLmI0OTQyOGQxMDM5IDEw MDY0NAotLS0tIGEvbGQvdGVzdHN1aXRlL2xkLWFhcmNoNjQvcHJvdGVjdGlvbnMvYWFyY2g2NC1w cm90ZWN0aW9ucy5leHAKLSsrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25z L2FhcmNoNjQtcHJvdGVjdGlvbnMuZXhwCi1AQCAtNDIsMjEgKzQyLDYgQEAgc2V0IGFhcmNoNjRl bGZsaW5rdGVzdHMgewotICAgICItc2hhcmVkIiAiIgotICAgICItSSRzcmNkaXIvJHN1YmRpciAt ZGVmc3ltIF9fcHJvcGVydHlfYnRpX189MSIKLSAgICB7YnRpLXBsdC1zby5zfSB7fSAibGliYnRp LXBsdC1zby5zbyJ9Ci0tCi0tICB7IkJ1aWxkIGdjcy1zbyBmb3IgR0NTIHRlc3RzIgotLSAgICIt c2hhcmVkIiAiIgotLSAgICItSSRzcmNkaXIvJHN1YmRpciAtZGVmc3ltIF9fcHJvcGVydHlfZ2Nz X189MSIKLS0gICB7Z2NzLXNvLnN9IHt9ICJsaWJnY3Mtc28uc28ifQotLQotLSAgeyJCdWlsZCBu b2djcy1zbyBmb3IgR0NTIHRlc3RzIgotLSAgICItc2hhcmVkIiAiIgotLSAgICItSSRzcmNkaXIv JHN1YmRpciIKLS0gICB7Z2NzLXNvLnN9IHt9ICJsaWJub2djcy1zby5zbyJ9Ci0tCi0tICB7IkJ1 aWxkIGdjcy1zbzIgZm9yIEdDUyB0ZXN0cyIKLS0gICAiLXNoYXJlZCIgIiIKLS0gICAiLUkkc3Jj ZGlyLyRzdWJkaXIgLWRlZnN5bSBfX3Byb3BlcnR5X2djc19fPTEiCi0tICAge2djcy1zbzIuc30g e30gImxpYmdjcy1zbzIuc28ifQotIH0KLSAKLSBpZiBbY2hlY2tfc2hhcmVkX2xpYl9zdXBwb3J0 XSB7Ci1kaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLWFhcmNoNjQvcHJvdGVjdGlvbnMvZ2Nz LWR5bmFtaWMtMS1hLmQgYi9sZC90ZXN0c3VpdGUvbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9nY3Mt ZHluYW1pYy0xLWEuZAotZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCBiZThhMzAxZjZj MC4uMDAwMDAwMDAwMDAKLS0tLSBhL2xkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25z L2djcy1keW5hbWljLTEtYS5kCi0rKysgL2Rldi9udWxsCi1AQCAtMSwxMiArMCwwIEBACi0tI25h bWU6ICcteiBnY3M9YWx3YXlzIC16IGdjcy1yZXBvcnQ9ZXJyb3InIGFuZCBzaGFyZWQgbGlicmFy eSB3aXRoIEdDUyBmZWF0dXJlIHJlcG9ydHMgbm8gZXJyb3IuCi0tI3NvdXJjZTogZ2NzLnMKLS0j c291cmNlOiBnY3MyLnMKLS0jYWxsdGFyZ2V0czogW2NoZWNrX3NoYXJlZF9saWJfc3VwcG9ydF0g KmxpbnV4KgotLSNhczogLW1hcmNoPWFybXY5LjQtYStnY3MgLWRlZnN5bSBfX3Byb3BlcnR5X2dj c19fPTEKLS0jbGQ6IC16IGdjcz1hbHdheXMgLXogZ2NzLXJlcG9ydD1lcnJvciAtTC4vdG1wZGly IC1sZ2NzLXNvCi0tI3JlYWRlbGY6IC1uCi0tCi0tRGlzcGxheWluZyBub3RlcyBmb3VuZCBpbjog Lm5vdGUuZ251LnByb3BlcnR5Ci0tWyAJXStPd25lclsgCV0rRGF0YSBzaXplWyAJXStEZXNjcmlw dGlvbgotLSAgR05VICAgICAgICAgICAgICAgICAgMHgwMDAwMDAxMAlOVF9HTlVfUFJPUEVSVFlf VFlQRV8wCi0tICAgICAgUHJvcGVydGllczogQUFyY2g2NCBmZWF0dXJlOiBHQ1MKLWRpZmYgLS1n aXQgYS9sZC90ZXN0c3VpdGUvbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9nY3MtZHluYW1pYy0xLWIu ZCBiL2xkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1keW5hbWljLTEtYi5k Ci1kZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IGQ1M2Q0NWFlNTk4Li4wMDAwMDAwMDAw MAotLS0tIGEvbGQvdGVzdHN1aXRlL2xkLWFhcmNoNjQvcHJvdGVjdGlvbnMvZ2NzLWR5bmFtaWMt MS1iLmQKLSsrKyAvZGV2L251bGwKLUBAIC0xLDEyICswLDAgQEAKLS0jbmFtZTogJy16IGdjcz1h bHdheXMgLXogZ2NzLXJlcG9ydD1lcnJvciAteiBnY3MtcmVwb3J0LWR5bmFtaWM9ZXJyb3InIGFu ZCBzaGFyZWQgbGlicmFyeSB3aXRoIEdDUyBmZWF0dXJlIHJlcG9ydHMgbm8gZXJyb3IuCi0tI3Nv dXJjZTogZ2NzLnMKLS0jc291cmNlOiBnY3MyLnMKLS0jYWxsdGFyZ2V0czogW2NoZWNrX3NoYXJl ZF9saWJfc3VwcG9ydF0gKmxpbnV4KgotLSNhczogLW1hcmNoPWFybXY5LjQtYStnY3MgLWRlZnN5 bSBfX3Byb3BlcnR5X2djc19fPTEKLS0jbGQ6IC16IGdjcz1hbHdheXMgLXogZ2NzLXJlcG9ydD1l cnJvciAteiBnY3MtcmVwb3J0LWR5bmFtaWM9ZXJyb3IgLUwuL3RtcGRpciAtbGdjcy1zbwotLSNy ZWFkZWxmOiAtbgotLQotLURpc3BsYXlpbmcgbm90ZXMgZm91bmQgaW46IC5ub3RlLmdudS5wcm9w ZXJ0eQotLVsgCV0rT3duZXJbIAldK0RhdGEgc2l6ZVsgCV0rRGVzY3JpcHRpb24KLS0gIEdOVSAg ICAgICAgICAgICAgICAgIDB4MDAwMDAwMTAJTlRfR05VX1BST1BFUlRZX1RZUEVfMAotLSAgICAg IFByb3BlcnRpZXM6IEFBcmNoNjQgZmVhdHVyZTogR0NTCi1kaWZmIC0tZ2l0IGEvbGQvdGVzdHN1 aXRlL2xkLWFhcmNoNjQvcHJvdGVjdGlvbnMvZ2NzLWR5bmFtaWMtMi1hLWkuZCBiL2xkL3Rlc3Rz dWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1keW5hbWljLTItYS1pLmQKLWRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggOTAzZDE0MDk5YmUuLjAwMDAwMDAwMDAwCi0tLS0gYS9s ZC90ZXN0c3VpdGUvbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9nY3MtZHluYW1pYy0yLWEtaS5kCi0r KysgL2Rldi9udWxsCi1AQCAtMSwxNSArMCwwIEBACi0tI25hbWU6ICcteiBnY3M9YWx3YXlzIC16 IGdjcy1yZXBvcnQ9ZXJyb3InIGFuZCBzaGFyZWQgbGlicmFyaWVzIHdpdGhvdXQgR0NTIGZlYXR1 cmUgcmVwb3J0cyB3YXJuaW5ncy4KLS0jc291cmNlOiBnY3MucwotLSNzb3VyY2U6IGdjczIucwot LSNhbGx0YXJnZXRzOiBbY2hlY2tfc2hhcmVkX2xpYl9zdXBwb3J0XSAqbGludXgqCi0tI2FzOiAt bWFyY2g9YXJtdjkuNC1hK2djcyAgLWRlZnN5bSBfX3Byb3BlcnR5X2djc19fPTEKLS0jbGQ6IC16 IGdjcz1hbHdheXMgLXogZ2NzLXJlcG9ydD1lcnJvciAtTC4vdG1wZGlyIC1sbm9nY3Mtc28gLWxi dGktcGx0LXNvIC1sZ2NzLXNvMgotLSN3YXJuaW5nOiBcQVteXG5dKmxpYm5vZ2NzLXNvXC5zbzog d2FybmluZzogR0NTIGlzIHJlcXVpcmVkIGJ5IC16IGdjc1teXG5dKlxuCi0tI3dhcm5pbmc6ICAg W15cbl0qbGliYnRpLXBsdC1zb1wuc286IHdhcm5pbmc6IEdDUyBpcyByZXF1aXJlZCBieSAteiBn Y3NbXlxuXSoKLS0KLS0jcmVhZGVsZjogLW4KLS0KLS1EaXNwbGF5aW5nIG5vdGVzIGZvdW5kIGlu OiAubm90ZS5nbnUucHJvcGVydHkKLS1bIAldK093bmVyWyAJXStEYXRhIHNpemVbIAldK0Rlc2Ny aXB0aW9uCi0tICBHTlUgICAgICAgICAgICAgICAgICAweDAwMDAwMDEwCU5UX0dOVV9QUk9QRVJU WV9UWVBFXzAKLS0gICAgICBQcm9wZXJ0aWVzOiBBQXJjaDY0IGZlYXR1cmU6IEdDUwotZGlmZiAt LWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1keW5hbWljLTIt YS1paS5kIGIvbGQvdGVzdHN1aXRlL2xkLWFhcmNoNjQvcHJvdGVjdGlvbnMvZ2NzLWR5bmFtaWMt Mi1hLWlpLmQKLWRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggN2FkYjQ4MWJjMzAuLjAw MDAwMDAwMDAwCi0tLS0gYS9sZC90ZXN0c3VpdGUvbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9nY3Mt ZHluYW1pYy0yLWEtaWkuZAotKysrIC9kZXYvbnVsbAotQEAgLTEsOCArMCwwIEBACi0tI25hbWU6 ICcteiBnY3M9YWx3YXlzIC16IGdjcy1yZXBvcnQ9ZXJyb3IgLXogZ2NzLXJlcG9ydC1keW5hbWlj PWVycm9yJyBhbmQgc2hhcmVkIGxpYnJhcmllcyB3aXRob3V0IEdDUyBmZWF0dXJlIHJlcG9ydHMg ZXJyb3JzLgotLSNzb3VyY2U6IGdjcy5zCi0tI3NvdXJjZTogZ2NzMi5zCi0tI2FsbHRhcmdldHM6 IFtjaGVja19zaGFyZWRfbGliX3N1cHBvcnRdICpsaW51eCoKLS0jYXM6IC1tYXJjaD1hcm12OS40 LWErZ2NzICAtZGVmc3ltIF9fcHJvcGVydHlfZ2NzX189MQotLSNsZDogLXogZ2NzPWFsd2F5cyAt eiBnY3MtcmVwb3J0PWVycm9yIC16IGdjcy1yZXBvcnQtZHluYW1pYz1lcnJvciAtTC4vdG1wZGly IC1sbm9nY3Mtc28gLWxidGktcGx0LXNvIC1sZ2NzLXNvMgotLSNlcnJvcjogXEFbXlxuXSpsaWJu b2djcy1zb1wuc286IGVycm9yOiBHQ1MgaXMgcmVxdWlyZWQgYnkgLXogZ2NzW15cbl0qXG4KLS0j ZXJyb3I6ICAgW15cbl0qbGliYnRpLXBsdC1zb1wuc286IGVycm9yOiBHQ1MgaXMgcmVxdWlyZWQg YnkgLXogZ2NzW15cbl0qCi1cIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKLWRpZmYgLS1naXQg YS9sZC90ZXN0c3VpdGUvbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9nY3MtZHluYW1pYy0yLWEtaWlp LmQgYi9sZC90ZXN0c3VpdGUvbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9nY3MtZHluYW1pYy0yLWEt aWlpLmQKLWRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggNzZhN2M0NjEzNDcuLjAwMDAw MDAwMDAwCi0tLS0gYS9sZC90ZXN0c3VpdGUvbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9nY3MtZHlu YW1pYy0yLWEtaWlpLmQKLSsrKyAvZGV2L251bGwKLUBAIC0xLDE1ICswLDAgQEAKLS0jbmFtZTog Jy16IGdjcz1hbHdheXMgLXogZ2NzLXJlcG9ydD1lcnJvciAteiBnY3MtcmVwb3J0LWR5bmFtaWM9 d2FybmluZycgYW5kIHNoYXJlZCBsaWJyYXJpZXMgd2l0aG91dCBHQ1MgZmVhdHVyZSByZXBvcnRz IHdhcm5pbmdzLgotLSNzb3VyY2U6IGdjcy5zCi0tI3NvdXJjZTogZ2NzMi5zCi0tI2FsbHRhcmdl dHM6IFtjaGVja19zaGFyZWRfbGliX3N1cHBvcnRdICpsaW51eCoKLS0jYXM6IC1tYXJjaD1hcm12 OS40LWErZ2NzICAtZGVmc3ltIF9fcHJvcGVydHlfZ2NzX189MQotLSNsZDogLXogZ2NzPWFsd2F5 cyAteiBnY3MtcmVwb3J0PWVycm9yIC16IGdjcy1yZXBvcnQtZHluYW1pYz13YXJuaW5nIC1MLi90 bXBkaXIgLWxub2djcy1zbyAtbGJ0aS1wbHQtc28gLWxnY3Mtc28yCi0tI3dhcm5pbmc6IFxBW15c bl0qbGlibm9nY3Mtc29cLnNvOiB3YXJuaW5nOiBHQ1MgaXMgcmVxdWlyZWQgYnkgLXogZ2NzW15c bl0qXG4KLS0jd2FybmluZzogICBbXlxuXSpsaWJidGktcGx0LXNvXC5zbzogd2FybmluZzogR0NT IGlzIHJlcXVpcmVkIGJ5IC16IGdjc1teXG5dKgotLQotLSNyZWFkZWxmOiAtbgotLQotLURpc3Bs YXlpbmcgbm90ZXMgZm91bmQgaW46IC5ub3RlLmdudS5wcm9wZXJ0eQotLVsgCV0rT3duZXJbIAld K0RhdGEgc2l6ZVsgCV0rRGVzY3JpcHRpb24KLS0gIEdOVSAgICAgICAgICAgICAgICAgIDB4MDAw MDAwMTAJTlRfR05VX1BST1BFUlRZX1RZUEVfMAotLSAgICAgIFByb3BlcnRpZXM6IEFBcmNoNjQg ZmVhdHVyZTogR0NTCi1cIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKLWRpZmYgLS1naXQgYS9s ZC90ZXN0c3VpdGUvbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9nY3MtZHluYW1pYy0yLWEtaXYuZCBi L2xkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1keW5hbWljLTItYS1pdi5k Ci1kZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDU1NGNhMTE4NmVmLi4wMDAwMDAwMDAw MAotLS0tIGEvbGQvdGVzdHN1aXRlL2xkLWFhcmNoNjQvcHJvdGVjdGlvbnMvZ2NzLWR5bmFtaWMt Mi1hLWl2LmQKLSsrKyAvZGV2L251bGwKLUBAIC0xLDEyICswLDAgQEAKLS0jbmFtZTogJy16IGdj cz1hbHdheXMgLXogZ2NzLXJlcG9ydD1lcnJvciAteiBnY3MtcmVwb3J0LWR5bmFtaWM9bm9uZScg YW5kIHNoYXJlZCBsaWJyYXJpZXMgd2l0aG91dCBHQ1MgZmVhdHVyZSByZXBvcnRzIG5vdGhpbmcu Ci0tI3NvdXJjZTogZ2NzLnMKLS0jc291cmNlOiBnY3MyLnMKLS0jYWxsdGFyZ2V0czogW2NoZWNr X3NoYXJlZF9saWJfc3VwcG9ydF0gKmxpbnV4KgotLSNhczogLW1hcmNoPWFybXY5LjQtYStnY3Mg IC1kZWZzeW0gX19wcm9wZXJ0eV9nY3NfXz0xCi0tI2xkOiAteiBnY3M9YWx3YXlzIC16IGdjcy1y ZXBvcnQ9ZXJyb3IgLXogZ2NzLXJlcG9ydC1keW5hbWljPW5vbmUgLUwuL3RtcGRpciAtbG5vZ2Nz LXNvIC1sYnRpLXBsdC1zbyAtbGdjcy1zbzIKLS0jcmVhZGVsZjogLW4KLS0KLS1EaXNwbGF5aW5n IG5vdGVzIGZvdW5kIGluOiAubm90ZS5nbnUucHJvcGVydHkKLS1bIAldK093bmVyWyAJXStEYXRh IHNpemVbIAldK0Rlc2NyaXB0aW9uCi0tICBHTlUgICAgICAgICAgICAgICAgICAweDAwMDAwMDEw CU5UX0dOVV9QUk9QRVJUWV9UWVBFXzAKLS0gICAgICBQcm9wZXJ0aWVzOiBBQXJjaDY0IGZlYXR1 cmU6IEdDUwotXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCi1kaWZmIC0tZ2l0IGEvbGQvdGVz dHN1aXRlL2xkLWFhcmNoNjQvcHJvdGVjdGlvbnMvZ2NzLWR5bmFtaWMtMi1iLmQgYi9sZC90ZXN0 c3VpdGUvbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9nY3MtZHluYW1pYy0yLWIuZAotZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAzNjI2MmJiYzA4Ny4uMDAwMDAwMDAwMDAKLS0tLSBhL2xk L3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1keW5hbWljLTItYi5kCi0rKysg L2Rldi9udWxsCi1AQCAtMSwxNCArMCwwIEBACi0tI25hbWU6ICcteiBnY3M9YWx3YXlzIC16IGdj cy1yZXBvcnQ9d2FybmluZycgYW5kIHNoYXJlZCBsaWJyYXJpZXMgd2l0aG91dCBHQ1MgZmVhdHVy ZSByZXBvcnRzIHdhcm5pbmdzLgotLSNzb3VyY2U6IGdjcy5zCi0tI3NvdXJjZTogZ2NzMi5zCi0t I2FsbHRhcmdldHM6IFtjaGVja19zaGFyZWRfbGliX3N1cHBvcnRdICpsaW51eCoKLS0jYXM6IC1t YXJjaD1hcm12OS40LWErZ2NzICAtZGVmc3ltIF9fcHJvcGVydHlfZ2NzX189MQotLSNsZDogLXog Z2NzPWFsd2F5cyAteiBnY3MtcmVwb3J0PXdhcm5pbmcgLUwuL3RtcGRpciAtbG5vZ2NzLXNvIC1s YnRpLXBsdC1zbyAtbGdjcy1zbzIKLS0jd2FybmluZzogXEFbXlxuXSpsaWJub2djcy1zb1wuc286 IHdhcm5pbmc6IEdDUyBpcyByZXF1aXJlZCBieSAteiBnY3NbXlxuXSpcbgotLSN3YXJuaW5nOiAg IFteXG5dKmxpYmJ0aS1wbHQtc29cLnNvOiB3YXJuaW5nOiBHQ1MgaXMgcmVxdWlyZWQgYnkgLXog Z2NzW15cbl0qCi0tI3JlYWRlbGY6IC1uCi0tCi0tRGlzcGxheWluZyBub3RlcyBmb3VuZCBpbjog Lm5vdGUuZ251LnByb3BlcnR5Ci0tWyAJXStPd25lclsgCV0rRGF0YSBzaXplWyAJXStEZXNjcmlw dGlvbgotLSAgR05VICAgICAgICAgICAgICAgICAgMHgwMDAwMDAxMAlOVF9HTlVfUFJPUEVSVFlf VFlQRV8wCi0tICAgICAgUHJvcGVydGllczogQUFyY2g2NCBmZWF0dXJlOiBHQ1MKLWRpZmYgLS1n aXQgYS9sZC90ZXN0c3VpdGUvbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9nY3MtZHluYW1pYy0yLWMu ZCBiL2xkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1keW5hbWljLTItYy5k Ci1kZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDZjN2Y1ZGE4YmU3Li4wMDAwMDAwMDAw MAotLS0tIGEvbGQvdGVzdHN1aXRlL2xkLWFhcmNoNjQvcHJvdGVjdGlvbnMvZ2NzLWR5bmFtaWMt Mi1jLmQKLSsrKyAvZGV2L251bGwKLUBAIC0xLDEyICswLDAgQEAKLS0jbmFtZTogJy16IGdjcz1h bHdheXMgLXogZ2NzLXJlcG9ydD1ub25lJyBhbmQgc2hhcmVkIGxpYnJhcmllcyB3aXRob3V0IEdD UyBmZWF0dXJlIHJlcG9ydHMgbm90aGluZy4KLS0jc291cmNlOiBnY3MucwotLSNzb3VyY2U6IGdj czIucwotLSNhbGx0YXJnZXRzOiBbY2hlY2tfc2hhcmVkX2xpYl9zdXBwb3J0XSAqbGludXgqCi0t I2FzOiAtbWFyY2g9YXJtdjkuNC1hK2djcyAgLWRlZnN5bSBfX3Byb3BlcnR5X2djc19fPTEKLS0j bGQ6IC16IGdjcz1hbHdheXMgLXogZ2NzLXJlcG9ydD1ub25lIC1MLi90bXBkaXIgLWxub2djcy1z byAtbGJ0aS1wbHQtc28gLWxnY3Mtc28yCi0tI3JlYWRlbGY6IC1uCi0tCi0tRGlzcGxheWluZyBu b3RlcyBmb3VuZCBpbjogLm5vdGUuZ251LnByb3BlcnR5Ci0tWyAJXStPd25lclsgCV0rRGF0YSBz aXplWyAJXStEZXNjcmlwdGlvbgotLSAgR05VICAgICAgICAgICAgICAgICAgMHgwMDAwMDAxMAlO VF9HTlVfUFJPUEVSVFlfVFlQRV8wCi0tICAgICAgUHJvcGVydGllczogQUFyY2g2NCBmZWF0dXJl OiBHQ1MKLWRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9n Y3MtZHluYW1pYy0yLWQuZCBiL2xkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2dj cy1keW5hbWljLTItZC5kCi1kZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDU4NDk4ZTZj MDBiLi4wMDAwMDAwMDAwMAotLS0tIGEvbGQvdGVzdHN1aXRlL2xkLWFhcmNoNjQvcHJvdGVjdGlv bnMvZ2NzLWR5bmFtaWMtMi1kLmQKLSsrKyAvZGV2L251bGwKLUBAIC0xLDE0ICswLDAgQEAKLS0j bmFtZTogJy16IGdjcz1hbHdheXMgLXogZ2NzLXJlcG9ydCcgYW5kIHNoYXJlZCBsaWJyYXJpZXMg d2l0aG91dCBHQ1MgZmVhdHVyZSByZXBvcnRzIHdhcm5pbmdzLgotLSNzb3VyY2U6IGdjcy5zCi0t I3NvdXJjZTogZ2NzMi5zCi0tI2FsbHRhcmdldHM6IFtjaGVja19zaGFyZWRfbGliX3N1cHBvcnRd ICpsaW51eCoKLS0jYXM6IC1tYXJjaD1hcm12OS40LWErZ2NzICAtZGVmc3ltIF9fcHJvcGVydHlf Z2NzX189MQotLSNsZDogLXogZ2NzPWFsd2F5cyAteiBnY3MtcmVwb3J0IC1MLi90bXBkaXIgLWxu b2djcy1zbyAtbGJ0aS1wbHQtc28gLWxnY3Mtc28yCi0tI3dhcm5pbmc6IFxBW15cbl0qbGlibm9n Y3Mtc29cLnNvOiB3YXJuaW5nOiBHQ1MgaXMgcmVxdWlyZWQgYnkgLXogZ2NzW15cbl0qXG4KLS0j d2FybmluZzogICBbXlxuXSpsaWJidGktcGx0LXNvXC5zbzogd2FybmluZzogR0NTIGlzIHJlcXVp cmVkIGJ5IC16IGdjc1teXG5dKgotLSNyZWFkZWxmOiAtbgotLQotLURpc3BsYXlpbmcgbm90ZXMg Zm91bmQgaW46IC5ub3RlLmdudS5wcm9wZXJ0eQotLVsgCV0rT3duZXJbIAldK0RhdGEgc2l6ZVsg CV0rRGVzY3JpcHRpb24KLS0gIEdOVSAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMTAJTlRfR05V X1BST1BFUlRZX1RZUEVfMAotLSAgICAgIFByb3BlcnRpZXM6IEFBcmNoNjQgZmVhdHVyZTogR0NT Ci1kaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLWFhcmNoNjQvcHJvdGVjdGlvbnMvZ2NzLWR5 bmFtaWMtMy1hLmQgYi9sZC90ZXN0c3VpdGUvbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9nY3MtZHlu YW1pYy0zLWEuZAotZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCBlY2RhZjUyNjc3OS4u MDAwMDAwMDAwMDAKLS0tLSBhL2xkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2dj cy1keW5hbWljLTMtYS5kCi0rKysgL2Rldi9udWxsCi1AQCAtMSwxNSArMCwwIEBACi0tI25hbWU6 ICcteiBnY3M9aW1wbGljaXQgLXogZ2NzLXJlcG9ydD1lcnJvcicgYW5kIHNoYXJlZCBsaWJyYXJp ZXMgd2l0aG91dCBHQ1MgZmVhdHVyZSByZXBvcnRzIHdhcm5pbmdzLgotLSNzb3VyY2U6IGdjcy5z Ci0tI3NvdXJjZTogZ2NzMi5zCi0tI2FsbHRhcmdldHM6IFtjaGVja19zaGFyZWRfbGliX3N1cHBv cnRdICpsaW51eCoKLS0jYXM6IC1tYXJjaD1hcm12OS40LWErZ2NzICAtZGVmc3ltIF9fcHJvcGVy dHlfZ2NzX189MQotLSNsZDogLXogZ2NzPWltcGxpY2l0IC16IGdjcy1yZXBvcnQ9ZXJyb3IgLUwu L3RtcGRpciAtbG5vZ2NzLXNvIC1sYnRpLXBsdC1zbyAtbGdjcy1zbzIKLS0jd2FybmluZzogXEFb XlxuXSpsaWJub2djcy1zb1wuc286IHdhcm5pbmc6IEdDUyBpcyByZXF1aXJlZCBieSAteiBnY3Nb XlxuXSpcbgotLSN3YXJuaW5nOiAgIFteXG5dKmxpYmJ0aS1wbHQtc29cLnNvOiB3YXJuaW5nOiBH Q1MgaXMgcmVxdWlyZWQgYnkgLXogZ2NzW15cbl0qCi0tCi0tI3JlYWRlbGY6IC1uCi0tCi0tRGlz cGxheWluZyBub3RlcyBmb3VuZCBpbjogLm5vdGUuZ251LnByb3BlcnR5Ci0tWyAJXStPd25lclsg CV0rRGF0YSBzaXplWyAJXStEZXNjcmlwdGlvbgotLSAgR05VICAgICAgICAgICAgICAgICAgMHgw MDAwMDAxMAlOVF9HTlVfUFJPUEVSVFlfVFlQRV8wCi0tICAgICAgUHJvcGVydGllczogQUFyY2g2 NCBmZWF0dXJlOiBHQ1MKLWRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtYWFyY2g2NC9wcm90 ZWN0aW9ucy9nY3MtZHluYW1pYy0zLWIuZCBiL2xkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3Rl Y3Rpb25zL2djcy1keW5hbWljLTMtYi5kCi1kZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4 IDRkMzJmYjZhYTU0Li4wMDAwMDAwMDAwMAotLS0tIGEvbGQvdGVzdHN1aXRlL2xkLWFhcmNoNjQv cHJvdGVjdGlvbnMvZ2NzLWR5bmFtaWMtMy1iLmQKLSsrKyAvZGV2L251bGwKLUBAIC0xLDE0ICsw LDAgQEAKLS0jbmFtZTogJy16IGdjcz1pbXBsaWNpdCAteiBnY3MtcmVwb3J0PXdhcm5pbmcnIGFu ZCBzaGFyZWQgbGlicmFyaWVzIHdpdGhvdXQgR0NTIGZlYXR1cmUgcmVwb3J0cyB3YXJuaW5ncy4K LS0jc291cmNlOiBnY3MucwotLSNzb3VyY2U6IGdjczIucwotLSNhbGx0YXJnZXRzOiBbY2hlY2tf c2hhcmVkX2xpYl9zdXBwb3J0XSAqbGludXgqCi0tI2FzOiAtbWFyY2g9YXJtdjkuNC1hK2djcyAg LWRlZnN5bSBfX3Byb3BlcnR5X2djc19fPTEKLS0jbGQ6IC16IGdjcz1pbXBsaWNpdCAteiBnY3Mt cmVwb3J0PXdhcm5pbmcgLUwuL3RtcGRpciAtbG5vZ2NzLXNvIC1sYnRpLXBsdC1zbyAtbGdjcy1z bzIKLS0jd2FybmluZzogXEFbXlxuXSpsaWJub2djcy1zb1wuc286IHdhcm5pbmc6IEdDUyBpcyBy ZXF1aXJlZCBieSAteiBnY3NbXlxuXSpcbgotLSN3YXJuaW5nOiAgIFteXG5dKmxpYmJ0aS1wbHQt c29cLnNvOiB3YXJuaW5nOiBHQ1MgaXMgcmVxdWlyZWQgYnkgLXogZ2NzW15cbl0qCi0tI3JlYWRl bGY6IC1uCi0tCi0tRGlzcGxheWluZyBub3RlcyBmb3VuZCBpbjogLm5vdGUuZ251LnByb3BlcnR5 Ci0tWyAJXStPd25lclsgCV0rRGF0YSBzaXplWyAJXStEZXNjcmlwdGlvbgotLSAgR05VICAgICAg ICAgICAgICAgICAgMHgwMDAwMDAxMAlOVF9HTlVfUFJPUEVSVFlfVFlQRV8wCi0tICAgICAgUHJv cGVydGllczogQUFyY2g2NCBmZWF0dXJlOiBHQ1MKLVwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQotZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1k eW5hbWljLTMtYy5kIGIvbGQvdGVzdHN1aXRlL2xkLWFhcmNoNjQvcHJvdGVjdGlvbnMvZ2NzLWR5 bmFtaWMtMy1jLmQKLWRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggYzBkYTZjMWQ5YzYu LjAwMDAwMDAwMDAwCi0tLS0gYS9sZC90ZXN0c3VpdGUvbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9n Y3MtZHluYW1pYy0zLWMuZAotKysrIC9kZXYvbnVsbAotQEAgLTEsMTIgKzAsMCBAQAotLSNuYW1l OiAnLXogZ2NzPWltcGxpY2l0IC16IGdjcy1yZXBvcnQ9bm9uZScgYW5kIHNoYXJlZCBsaWJyYXJp ZXMgd2l0aG91dCBHQ1MgZmVhdHVyZSByZXBvcnRzIG5vIHdhcm5pbmcuCi0tI3NvdXJjZTogZ2Nz LnMKLS0jc291cmNlOiBnY3MyLnMKLS0jYWxsdGFyZ2V0czogW2NoZWNrX3NoYXJlZF9saWJfc3Vw cG9ydF0gKmxpbnV4KgotLSNhczogLW1hcmNoPWFybXY5LjQtYStnY3MgIC1kZWZzeW0gX19wcm9w ZXJ0eV9nY3NfXz0xCi0tI2xkOiAteiBnY3M9aW1wbGljaXQgLXogZ2NzLXJlcG9ydD1ub25lIC1M Li90bXBkaXIgLWxub2djcy1zbyAtbGJ0aS1wbHQtc28gLWxnY3Mtc28yCi0tI3JlYWRlbGY6IC1u Ci0tCi0tRGlzcGxheWluZyBub3RlcyBmb3VuZCBpbjogLm5vdGUuZ251LnByb3BlcnR5Ci0tWyAJ XStPd25lclsgCV0rRGF0YSBzaXplWyAJXStEZXNjcmlwdGlvbgotLSAgR05VICAgICAgICAgICAg ICAgICAgMHgwMDAwMDAxMAlOVF9HTlVfUFJPUEVSVFlfVFlQRV8wCi0tICAgICAgUHJvcGVydGll czogQUFyY2g2NCBmZWF0dXJlOiBHQ1MKLVwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQotZGlm ZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1keW5hbWlj LTQtYS5kIGIvbGQvdGVzdHN1aXRlL2xkLWFhcmNoNjQvcHJvdGVjdGlvbnMvZ2NzLWR5bmFtaWMt NC1hLmQKLWRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggYWUzMjRiYmJhMWUuLjAwMDAw MDAwMDAwCi0tLS0gYS9sZC90ZXN0c3VpdGUvbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9nY3MtZHlu YW1pYy00LWEuZAotKysrIC9kZXYvbnVsbAotQEAgLTEsNyArMCwwIEBACi0tI25hbWU6ICcteiBn Y3M9bmV2ZXIgLXogZ2NzLXJlcG9ydD1lcnJvcicgYW5kIHNoYXJlZCBsaWJyYXJpZXMgd2l0aG91 dCBHQ1MgZmVhdHVyZSByZXBvcnRzIG5vIHdhcm5pbmcvZXJyb3IuCi0tI3NvdXJjZTogZ2NzLnMK LS0jc291cmNlOiBnY3MyLnMKLS0jYWxsdGFyZ2V0czogW2NoZWNrX3NoYXJlZF9saWJfc3VwcG9y dF0gKmxpbnV4KgotLSNhczogLW1hcmNoPWFybXY5LjQtYStnY3MgIC1kZWZzeW0gX19wcm9wZXJ0 eV9nY3NfXz0xCi0tI2xkOiAteiBnY3M9bmV2ZXIgLXogZ2NzLXJlcG9ydD1lcnJvciAtTC4vdG1w ZGlyIC1sbm9nY3Mtc28gLWxidGktcGx0LXNvIC1sZ2NzLXNvMgotLSNyZWFkZWxmOiAtbgotZGlm ZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1keW5hbWlj LTQtYi5kIGIvbGQvdGVzdHN1aXRlL2xkLWFhcmNoNjQvcHJvdGVjdGlvbnMvZ2NzLWR5bmFtaWMt NC1iLmQKLWRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggNmI2NTg5OGI5MjQuLjAwMDAw MDAwMDAwCi0tLS0gYS9sZC90ZXN0c3VpdGUvbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9nY3MtZHlu YW1pYy00LWIuZAotKysrIC9kZXYvbnVsbAotQEAgLTEsNyArMCwwIEBACi0tI25hbWU6ICcteiBn Y3M9bmV2ZXIgLXogZ2NzLXJlcG9ydD13YXJuaW5nJyBhbmQgc2hhcmVkIGxpYnJhcmllcyB3aXRo b3V0IEdDUyBmZWF0dXJlIHJlcG9ydHMgbm8gd2FybmluZy9lcnJvci4KLS0jc291cmNlOiBnY3Mu cwotLSNzb3VyY2U6IGdjczIucwotLSNhbGx0YXJnZXRzOiBbY2hlY2tfc2hhcmVkX2xpYl9zdXBw b3J0XSAqbGludXgqCi0tI2FzOiAtbWFyY2g9YXJtdjkuNC1hK2djcyAgLWRlZnN5bSBfX3Byb3Bl cnR5X2djc19fPTEKLS0jbGQ6IC16IGdjcz1uZXZlciAteiBnY3MtcmVwb3J0PXdhcm5pbmcgLUwu L3RtcGRpciAtbG5vZ2NzLXNvIC1sYnRpLXBsdC1zbyAtbGdjcy1zbzIKLS0jcmVhZGVsZjogLW4K LWRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9nY3MtZHlu YW1pYy00LWMuZCBiL2xkL3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1keW5h bWljLTQtYy5kCi1kZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDM1YjAxMWY2YThlLi4w MDAwMDAwMDAwMAotLS0tIGEvbGQvdGVzdHN1aXRlL2xkLWFhcmNoNjQvcHJvdGVjdGlvbnMvZ2Nz LWR5bmFtaWMtNC1jLmQKLSsrKyAvZGV2L251bGwKLUBAIC0xLDcgKzAsMCBAQAotLSNuYW1lOiAn LXogZ2NzPW5ldmVyIC16IGdjcy1yZXBvcnQ9bm9uZScgYW5kIHNoYXJlZCBsaWJyYXJpZXMgd2l0 aG91dCBHQ1MgZmVhdHVyZSByZXBvcnRzIG5vIHdhcm5pbmcvZXJyb3IuCi0tI3NvdXJjZTogZ2Nz LnMKLS0jc291cmNlOiBnY3MyLnMKLS0jYWxsdGFyZ2V0czogW2NoZWNrX3NoYXJlZF9saWJfc3Vw cG9ydF0gKmxpbnV4KgotLSNhczogLW1hcmNoPWFybXY5LjQtYStnY3MgIC1kZWZzeW0gX19wcm9w ZXJ0eV9nY3NfXz0xCi0tI2xkOiAteiBnY3M9bmV2ZXIgLXogZ2NzLXJlcG9ydD1ub25lIC1MLi90 bXBkaXIgLWxub2djcy1zbyAtbGJ0aS1wbHQtc28gLWxnY3Mtc28yCi0tI3JlYWRlbGY6IC1uCi1k aWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLWFhcmNoNjQvcHJvdGVjdGlvbnMvZ2NzLXNvLnMg Yi9sZC90ZXN0c3VpdGUvbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9nY3Mtc28ucwotZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCBhYTY0ODViOWRkZS4uMDAwMDAwMDAwMDAKLS0tLSBhL2xk L3Rlc3RzdWl0ZS9sZC1hYXJjaDY0L3Byb3RlY3Rpb25zL2djcy1zby5zCi0rKysgL2Rldi9udWxs Ci1AQCAtMSwyOCArMCwwIEBACi0tCS5nbG9iYWwJZm9vMgotLQkudHlwZQlmb28yLCAlZnVuY3Rp b24KLS1mb28yOgotLQlzdWIJc3AsIHNwLCAjMTYKLS0JbW92CXcwLCA5Ci0tCXN0cgl3MCwgW3Nw LCAxMl0KLS0JbGRyCXcwLCBbc3AsIDEyXQotLQlhZGQJdzAsIHcwLCA0Ci0tCXN0cgl3MCwgW3Nw LCAxMl0KLS0Jbm9wCi0tCWFkZAlzcCwgc3AsIDE2Ci0tCXJldAotLQkuc2l6ZQlmb28yLCAuLWZv bzIKLS0JLmdsb2JhbAliYXIyCi0tCS50eXBlCWJhcjIsICVmdW5jdGlvbgotLWJhcjI6Ci0tCXN1 YglzcCwgc3AsICMxNgotLQltb3YJdzAsIDkKLS0Jc3RyCXcwLCBbc3AsIDEyXQotLQlsZHIJdzAs IFtzcCwgMTJdCi0tCWFkZAl3MCwgdzAsIDQKLS0Jc3RyCXcwLCBbc3AsIDEyXQotLQlub3AKLS0J YWRkCXNwLCBzcCwgMTYKLS0JcmV0Ci0tCS5zaXplCWJhcjIsIC4tYmFyMgotLQotLS5pbmNsdWRl ICJnbnUtbm90ZS1wcm9wZXJ0aWVzLXNlbGVjdGFibGUtbWVyZ2VkLmluYyIKLWRpZmYgLS1naXQg YS9sZC90ZXN0c3VpdGUvbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9nY3Mtc28yLnMgYi9sZC90ZXN0 c3VpdGUvbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9nY3Mtc28yLnMKLWRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAotaW5kZXggOTM4YmE0M2M2OWMuLjAwMDAwMDAwMDAwCi0tLS0gYS9sZC90ZXN0c3Vp dGUvbGQtYWFyY2g2NC9wcm90ZWN0aW9ucy9nY3Mtc28yLnMKLSsrKyAvZGV2L251bGwKLUBAIC0x LDI4ICswLDAgQEAKLS0JLmdsb2JhbAlmb28zCi0tCS50eXBlCWZvbzMsICVmdW5jdGlvbgotLWZv bzM6Ci0tCXN1YglzcCwgc3AsICMxNgotLQltb3YJdzAsIDkKLS0Jc3RyCXcwLCBbc3AsIDEyXQot LQlsZHIJdzAsIFtzcCwgMTJdCi0tCWFkZAl3MCwgdzAsIDQKLS0Jc3RyCXcwLCBbc3AsIDEyXQot LQlub3AKLS0JYWRkCXNwLCBzcCwgMTYKLS0JcmV0Ci0tCS5zaXplCWZvbzMsIC4tZm9vMwotLQku Z2xvYmFsCWJhcjMKLS0JLnR5cGUJYmFyMywgJWZ1bmN0aW9uCi0tYmFyMzoKLS0Jc3ViCXNwLCBz cCwgIzE2Ci0tCW1vdgl3MCwgOQotLQlzdHIJdzAsIFtzcCwgMTJdCi0tCWxkcgl3MCwgW3NwLCAx Ml0KLS0JYWRkCXcwLCB3MCwgNAotLQlzdHIJdzAsIFtzcCwgMTJdCi0tCW5vcAotLQlhZGQJc3As IHNwLCAxNgotLQlyZXQKLS0JLnNpemUJYmFyMywgLi1iYXIzCi0tCi0tLmluY2x1ZGUgImdudS1u b3RlLXByb3BlcnRpZXMtc2VsZWN0YWJsZS1tZXJnZWQuaW5jIgotLS0gCi0yLjQ4LjEKLQoKZGlm ZiAtLWdpdCBhL2JpbnV0aWxzLWRpc2FibGUtZ2NzLXJlcG9ydC1keW5hbWljLnBhdGNoIGIvYmlu dXRpbHMtZGlzYWJsZS1nY3MtcmVwb3J0LWR5bmFtaWMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IGZhOTE4NDYuLjAwMDAwMDAKLS0tIGEvYmludXRpbHMtZGlzYWJsZS1nY3Mt cmVwb3J0LWR5bmFtaWMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1kaWZm IC1wcnVOIGEvYmZkL2VsZm5uLWFhcmNoNjQuYyBiL2JmZC9lbGZubi1hYXJjaDY0LmMKLS0tLSBh L2JmZC9lbGZubi1hYXJjaDY0LmMJMjAyNS0wMi0wNiAxMDozOTo0OS43MjIyNTk5MjEgLTA1MDAK LSsrKyBiL2JmZC9lbGZubi1hYXJjaDY0LmMJMjAyNS0wMi0wNiAxMDo0NzoyOC42MDQ2NTg5NzMg LTA1MDAKLUBAIC01MDUxLDExICs1MDUxLDEwIEBAIGJmZF9lbGZOTl9hYXJjaDY0X3NldF9vcHRp b25zIChzdHJ1Y3QgYmYKLSAgICAgIGxpYnJhcmllcy4gIElmIGEgdXNlciBhbHNvIHdhbnRzIHRv IGVycm9yIEdDUyBpc3N1ZXMgaW4gdGhlIHNoYXJlZAotICAgICAgbGlicmFyaWVzLCAnLXogZ2Nz LXJlcG9ydC1keW5hbWljPWVycm9yJyB3aWxsIGhhdmUgdG8gYmUgc3BlY2lmaWVkCi0gICAgICBl eHBsaWNpdGx5LiAgKi8KLSsgIC8qIFhYWCBGZWRvcmEgb3ZlcnJpZGU6IGRlZmF1bHQgdG8gTk9O RS4gICovCi0gICBpZiAoc3dfcHJvdGVjdGlvbnMtPmdjc19yZXBvcnRfZHluYW1pYyA9PSBNQVJL SU5HX1VOU0VUKQotICAgICBlbGZfYWFyY2g2NF90ZGF0YSAob3V0cHV0X2JmZCktPnN3X3Byb3Rl Y3Rpb25zLmdjc19yZXBvcnRfZHluYW1pYwotLSAgICAgID0gKHN3X3Byb3RlY3Rpb25zLT5nY3Nf cmVwb3J0ID09IE1BUktJTkdfRVJST1IpCi0tICAgICAgPyBNQVJLSU5HX1dBUk4KLS0gICAgICA6 IHN3X3Byb3RlY3Rpb25zLT5nY3NfcmVwb3J0OwotKyAgICAgID0gIE1BUktJTkdfTk9ORTsKLSAK LSAgIGVsZl9hYXJjaDY0X3RkYXRhIChvdXRwdXRfYmZkKS0+bl9idGlfaXNzdWVzID0gMDsKLSAg IGVsZl9hYXJjaDY0X3RkYXRhIChvdXRwdXRfYmZkKS0+bl9nY3NfaXNzdWVzID0gMDsKCmRpZmYg LS1naXQgYS9iaW51dGlscy1yZWFkZWxmLWxvY2FsLXN5bXMucGF0Y2ggYi9iaW51dGlscy1yZWFk ZWxmLWxvY2FsLXN5bXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiNGY5 MDYuLjAwMDAwMDAKLS0tIGEvYmludXRpbHMtcmVhZGVsZi1sb2NhbC1zeW1zLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotLS0tIGJpbnV0aWxzLXdpdGgtZ29sZC0yLjQ1LjUw Lm9yaWcvYmludXRpbHMvcmVhZGVsZi5jCTIwMjUtMTItMDggMTA6NTE6MTkuMjg3MTM1NTY0ICsw MDAwCi0rKysgYmludXRpbHMtd2l0aC1nb2xkLTIuNDUuNTAtOGU5OTJjY2IxZTQvYmludXRpbHMv cmVhZGVsZi5jCTIwMjUtMTItMDggMTA6NTk6MzQuNDE0Nzg5MTU0ICswMDAwCi1AQCAtMTQ2Njcs NiArMTQ2NjcsMTggQEAgcHJpbnRfc3ltYm9sX3NpemUgKHVpbnQ2NF90IHZtYSwgaW50IGJhcwot ICAgICB9Ci0gfQotIAotKy8qIFRoZSBBQXJjaDY0LCBBUk0gYW5kIFJJU0MtViBhcmNoaXRlY3R1 cmVzIGRlZmluZSBtYXBwaW5nCi0rICAgc3ltYm9scyAoZWcgJGQsICR4LCAkdCkgd2hpY2ggc29t ZXRpbWUgc2hvdWxkIGJlIGlnbm9yZWQuICAqLwotKwotK3N0YXRpYyBib29sCi0raXNfbWFwcGlu Z19zeW1ib2wgKGNvbnN0IGNoYXIgKiBuYW1lKQotK3sKLSsgIHJldHVybiBuYW1lWzBdID09ICck JwotKyAgICAmJiBuYW1lIFsxXSAhPSAwCi0rICAgIC8qIEZJWE1FOiBDaGVjayB0aGF0IG5hbWVb MV0gaXMgbG93ZXIgY2FzZSBBU0NJSSA/ICAqLwotKyAgICAmJiBuYW1lIFsyXSA9PSAwOwotK30K LSsKLSAvKiBQcmludCBpbmZvcm1hdGlvbiBvbiBhIHNpbmdsZSBzeW1ib2wuICAqLwotIAotIHN0 YXRpYyB2b2lkCi1AQCAtMTQ4MDMsNyArMTQ4MTUsOSBAQCBwcmludF9zeW1ib2wgKEZpbGVkYXRh ICogICAgICAgICAgIGZpbGVkCi0gCi0gICAvKiBMb2NhbCBzeW1ib2xzIHdob3NlIHZhbHVlIGlz IGxhcmdlciB0aGFuIHRoZWlyIHNlY3Rpb24ncyBzaXplIGFyZSBzdXNwaWNpb3VzCi0gICAgICBl c3BlY2lhbGx5IGlmIHRoYXQgc2VjdGlvbiBpcyBtZXJnZWFibGUgLSBhbmQgaGVuY2UgbWlnaHQg Y2hhbmdlIG9mZnNldHMgb2YKLS0gICAgIHRoZSBjb250ZW50cyBpbnNpZGUgdGhlIHNlY3Rpb24u ICAqLwotKyAgICAgdGhlIGNvbnRlbnRzIGluc2lkZSB0aGUgc2VjdGlvbi4KLSsgICAgIE5vdGUg LSBmb3Igc29tZSByZWFzb24gd2UgY2FuIGdldCBtYXBwaW5nIHN5bWJvbHMgdGhhdCBkbyBub3Qg cmVsYXRlIHRvIHRoZWlyCi0rICAgICBzZWN0aW9uJ3MgY29udGVudHMgLSBzbyB3ZSBpZ25vcmUg dGhvc2UgdHlwZSBvZiBzeW1ib2wgYXMgd2VsbC4gICovCi0gICBpZiAoRUxGX1NUX0JJTkQgKHBz eW0tPnN0X2luZm8pID09IFNUQl9MT0NBTAotICAgICAgICYmICEgaXNfc3BlY2lhbAotICAgICAg ICYmIGlzX3ZhbGlkCi1AQCAtMTQ4MTEsNyArMTQ4MjUsOCBAQCBwcmludF9zeW1ib2wgKEZpbGVk YXRhICogICAgICAgICAgIGZpbGVkCi0gICAgICAgJiYgZmlsZWRhdGEtPnNlY3Rpb25faGVhZGVy cyAhPSBOVUxMCi0gICAgICAgLyogRklYTUU6IFNob3VsZCB3ZSB3YXJuIGZvciBub24tbWVyZ2Vh YmxlIHNlY3Rpb25zID8gKi8KLSAgICAgICAmJiAoZmlsZWRhdGEtPnNlY3Rpb25faGVhZGVyc1tw c3ltLT5zdF9zaG5keF0uc2hfZmxhZ3MgJiBTSEZfTUVSR0UpCi0tICAgICAgJiYgcHN5bS0+c3Rf dmFsdWUgPiBmaWxlZGF0YS0+c2VjdGlvbl9oZWFkZXJzW3BzeW0tPnN0X3NobmR4XS5zaF9zaXpl KQotKyAgICAgICYmIHBzeW0tPnN0X3ZhbHVlID4gZmlsZWRhdGEtPnNlY3Rpb25faGVhZGVyc1tw c3ltLT5zdF9zaG5keF0uc2hfc2l6ZQotKyAgICAgICYmICEgaXNfbWFwcGluZ19zeW1ib2wgKHN0 cnRhYiArIHBzeW0tPnN0X25hbWUpKQotICAgICB3YXJuIChfKCJsb2NhbCBzeW1ib2wgJXMgaGFz IGEgdmFsdWUgKCUjIiBQUkl4NjQgIikgd2hpY2ggaXMgbGFyZ2VyIHRoYW4gbWVyZ2VhYmxlIHNl Y3Rpb24gJXMncyBzaXplICglIyIgUFJJeDY0ICIpXG4iKSwKLSAJICBzdHJ0YWIgKyBwc3ltLT5z dF9uYW1lLAotIAkgIHBzeW0tPnN0X3ZhbHVlLAotQEAgLTIzMDM0LDkgKzIzMDQ5LDcgQEAgZ2V0 X3N5bWJvbF9mb3JfYnVpbGRfYXR0cmlidXRlIChGaWxlZGF0YQotIAotIAkvKiBUaGUgQUFyY2g2 NCwgQVJNIGFuZCBSSVNDLVYgYXJjaGl0ZWN0dXJlcyBkZWZpbmUgbWFwcGluZyBzeW1ib2xzCi0g CSAgIChlZyAkZCwgJHgsICR0KSB3aGljaCB3ZSB3YW50IHRvIGlnbm9yZS4gICovCi0tCWlmIChi YV9jYWNoZS5zdHJ0YWJbc3ltLT5zdF9uYW1lXSA9PSAnJCcKLS0JICAgICYmIGJhX2NhY2hlLnN0 cnRhYltzeW0tPnN0X25hbWUgKyAxXSAhPSAwCi0tCSAgICAmJiBiYV9jYWNoZS5zdHJ0YWJbc3lt LT5zdF9uYW1lICsgMl0gPT0gMCkKLSsJaWYgKGlzX21hcHBpbmdfc3ltYm9sIChiYV9jYWNoZS5z dHJ0YWIgKyBzeW0tPnN0X25hbWUpKQotIAkgIGNvbnRpbnVlOwotIAotIAlpZiAoaXNfb3Blbl9h dHRyKQoKZGlmZiAtLWdpdCBhL2JpbnV0aWxzLXJldmVydC1QUjMzNTc3LnBhdGNoIGIvYmludXRp bHMtcmV2ZXJ0LVBSMzM1NzcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1 NTY5NjEuLjAwMDAwMDAKLS0tIGEvYmludXRpbHMtcmV2ZXJ0LVBSMzM1NzcucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSw4MSArMCwwIEBACi1kaWZmIC1ydXAgYmludXRpbHMub3JpZy9iZmQvZWxm bGluay5jIGJpbnV0aWxzLXdpdGgtZ29sZC0yLjQ1LjUwLTk2YjhhOGE2MzNhL2JmZC9lbGZsaW5r LmMKLS0tLSBiaW51dGlscy5vcmlnL2JmZC9lbGZsaW5rLmMJMjAyNS0xMS0yMCAwOTowMTozMS42 NTM4MzkzNzAgKzAwMDAKLSsrKyBiaW51dGlscy13aXRoLWdvbGQtMi40NS41MC05NmI4YThhNjMz YS9iZmQvZWxmbGluay5jCTIwMjUtMTEtMjAgMDk6MDI6MjEuNzAzOTUyMzczICswMDAwCi1AQCAt MTExNTgsMTMgKzExMTU4LDcgQEAgZWxmX2xpbmtfb3V0cHV0X2V4dHN5bSAoc3RydWN0IGJmZF9o YXNoXwotIAkgIGVsc2UKLSAJICAgIHsKLSAJICAgICAgaWYgKGgtPnZlcmluZm8udmVydHJlZSA9 PSBOVUxMKQotLQkJewotLQkJICBpdmVyc3ltLnZzX3ZlcnMgPSAxOwotLQkJICBpZiAoZWxmX3Rk YXRhIChmbGluZm8tPm91dHB1dF9iZmQpLT5jdmVyZGVmcyA9PSAwKQotLQkJICAgIC8qIERlZmlu ZWQgc3ltYm9sIGhhcyBubyB2ZXJzaW9uIGlmIHRoZXJlIGlzIG5vCi0tCQkgICAgICAgbGlua2Vy IHZlcnNpb24gc2NyaXB0LiAgKi8KLS0JCSAgICBub3ZlcnNpb24gPSB0cnVlOwotLQkJfQotKwkJ aXZlcnN5bS52c192ZXJzID0gMTsKLSAJICAgICAgZWxzZQotIAkJaXZlcnN5bS52c192ZXJzID0g aC0+dmVyaW5mby52ZXJ0cmVlLT52ZXJudW0gKyAxOwotIAkgICAgICBpZiAoZmxpbmZvLT5pbmZv LT5jcmVhdGVfZGVmYXVsdF9zeW12ZXIpCi1kaWZmIC1ydXAgYmludXRpbHMub3JpZy9iaW51dGls cy9yZWFkZWxmLmMgYmludXRpbHMtd2l0aC1nb2xkLTIuNDUuNTAtOTZiOGE4YTYzM2EvYmludXRp bHMvcmVhZGVsZi5jCi0tLS0gYmludXRpbHMub3JpZy9iaW51dGlscy9yZWFkZWxmLmMJMjAyNS0x MS0yMCAwOTowMTozMi42NTY4NDE0ODAgKzAwMDAKLSsrKyBiaW51dGlscy13aXRoLWdvbGQtMi40 NS41MC05NmI4YThhNjMzYS9iaW51dGlscy9yZWFkZWxmLmMJMjAyNS0xMS0yMCAwOTowMzowNS43 MDcwNTUwMjEgKzAwMDAKLUBAIC0xNDA3NCw3ICsxNDA3NCw3IEBAIHByb2Nlc3NfdmVyc2lvbl9z ZWN0aW9ucyAoRmlsZWRhdGEgKiBmaWwKLSAJCQkgIHdoaWxlIChpdm4udm5fbmV4dCk7Ci0gCQkJ fQotIAotLQkJICAgICAgaWYgKGRhdGFbY250ICsgal0gIT0gKFZFUlNZTV9ISURERU4gfCBWRVJT WU1fQkFTRSkKLSsJCSAgICAgIGlmIChkYXRhW2NudCArIGpdICE9IDB4ODAwMQotIAkJCSAgJiYg ZmlsZWRhdGEtPnZlcnNpb25faW5mb1tEVF9WRVJTSU9OVEFHSURYIChEVF9WRVJERUYpXSkKLSAJ CQl7Ci0gCQkJICBFbGZfSW50ZXJuYWxfVmVyZGVmIGl2ZDsKLUBAIC0xNDUwMCwxMCArMTQ1MDAs NiBAQCBnZXRfc3ltYm9sX3ZlcnNpb25fc3RyaW5nIChGaWxlZGF0YSAqZmlsCi0gICAqc3ltX2lu Zm8gPSAodmVyc19kYXRhICYgVkVSU1lNX0hJRERFTikgIT0gMCA/IHN5bWJvbF9oaWRkZW4gOiBz eW1ib2xfcHVibGljOwotICAgbWF4X3ZkX25keCA9IDA7Ci0gCi0tICAvKiBSZXR1cm4gdGhlIGVt cHR5IHN0cmluZyBmb3IgdGhlIGJhc2UgdmVyc2lvbi4gICovCi0tICBpZiAoKHZlcnNfZGF0YSAm IFZFUlNZTV9WRVJTSU9OKSA9PSBWRVJTWU1fQkFTRSkKLS0gICAgcmV0dXJuICIiOwotLQotICAg LyogVXN1YWxseSB3ZSdkIG9ubHkgc2VlIHZlcmRlZiBmb3IgZGVmaW5lZCBzeW1ib2xzLCBhbmQg dmVybmVlZCBmb3IKLSAgICAgIHVuZGVmaW5lZCBzeW1ib2xzLiAgSG93ZXZlciwgc3ltYm9scyBk ZWZpbmVkIGJ5IHRoZSBsaW5rZXIgaW4KLSAgICAgIC5keW5ic3MgZm9yIHZhcmlhYmxlcyBjb3Bp ZWQgZnJvbSBhIHNoYXJlZCBsaWJyYXJ5IGluIG9yZGVyIHRvCi1AQCAtMTQ1MTQsNyArMTQ1MTAs NyBAQCBnZXRfc3ltYm9sX3ZlcnNpb25fc3RyaW5nIChGaWxlZGF0YSAqZmlsCi0gICAgICB2ZXJu ZWVkLiAgLmR5bmJzcyBtaWdodCBub3QgYmUgbWFwcGVkIHRvIGEgU0hUX05PQklUUyBzZWN0aW9u LiAgKi8KLSAKLSAgIGlmIChwc3ltLT5zdF9zaG5keCAhPSBTSE5fVU5ERUYKLS0gICAgICAmJiB2 ZXJzX2RhdGEgIT0gKFZFUlNZTV9ISURERU4gfCBWRVJTWU1fQkFTRSkKLSsgICAgICAmJiB2ZXJz X2RhdGEgIT0gMHg4MDAxCi0gICAgICAgJiYgZmlsZWRhdGEtPnZlcnNpb25faW5mb1tEVF9WRVJT SU9OVEFHSURYIChEVF9WRVJERUYpXSkKLSAgICAgewotICAgICAgIEVsZl9JbnRlcm5hbF9WZXJk ZWYgaXZkOwotZGlmZiAtcnVwIGJpbnV0aWxzLm9yaWcvbGQvdGVzdHN1aXRlL2xkLWVsZnZlcnMv dmVyczE2LmRzeW0gYmludXRpbHMtd2l0aC1nb2xkLTIuNDUuNTAtOTZiOGE4YTYzM2EvbGQvdGVz dHN1aXRlL2xkLWVsZnZlcnMvdmVyczE2LmRzeW0KLS0tLSBiaW51dGlscy5vcmlnL2xkL3Rlc3Rz dWl0ZS9sZC1lbGZ2ZXJzL3ZlcnMxNi5kc3ltCTIwMjUtMTEtMjAgMDk6MDE6MzMuMDE2ODQyMjM3 ICswMDAwCi0rKysgYmludXRpbHMtd2l0aC1nb2xkLTIuNDUuNTAtOTZiOGE4YTYzM2EvbGQvdGVz dHN1aXRlL2xkLWVsZnZlcnMvdmVyczE2LmRzeW0JMjAyNS0xMS0yMCAwOTowMjo1NS40OTYwMzEy MDIgKzAwMDAKLUBAIC0xLDIgKzEsMiBAQAotLVswLTlhLWZdKyBnICtERiAoXC50ZXh0fFwub3Bk fFwqQUJTXCopCVswLTlhLWZdKyArKDB4WzAtOWEtZl0rICk/Xz9zaG93X2JhcgotK1swLTlhLWZd KyBnICtERiAoXC50ZXh0fFwub3BkfFwqQUJTXCopCVswLTlhLWZdKyggK0Jhc2UgKyk/ICsoMHhb MC05YS1mXSsgKT9fP3Nob3dfYmFyCi0gWzAtOWEtZl0rICtERiBcKlVORFwqCVswLTlhLWZdKyAr KDB4WzAtOWEtZl0rICk/Xz9zaG93X2ZvbwotZGlmZiAtcnVwIGJpbnV0aWxzLm9yaWcvbGQvdGVz dHN1aXRlL2xkLWVsZi9wcjMzNTk5LmQgYmludXRpbHMtd2l0aC1nb2xkLTIuNDUuNTAtOTZiOGE4 YTYzM2EvbGQvdGVzdHN1aXRlL2xkLWVsZi9wcjMzNTk5LmQKLS0tLSBiaW51dGlscy5vcmlnL2xk L3Rlc3RzdWl0ZS9sZC1lbGYvcHIzMzU5OS5kCTIwMjUtMTEtMjAgMTQ6MTE6MjQuMzk4NzQ3OTA3 ICswMDAwCi0rKysgYmludXRpbHMtd2l0aC1nb2xkLTIuNDUuNTAtOTZiOGE4YTYzM2EvbGQvdGVz dHN1aXRlL2xkLWVsZi9wcjMzNTk5LmQJMjAyNS0xMS0yMCAxNDoxODo1NS4zNTMyMDUwMjUgKzAw MDAKLUBAIC01LDcgKzUsNyBAQAotIAotIFN5bWJvbCB0YWJsZSAnXC5keW5zeW0nIGNvbnRhaW5z IFswLTldKyBlbnRyaWVzOgotICMuLi4KLS0gK1swLTldKzogK1swLTlhLWZdKyArWzAtOWEtZl0r ICtPQkpFQ1QgK0dMT0JBTCArREVGQVVMVCArWzAtOV0rICtiYXJAQAotKyArWzAtOV0rOiArWzAt OWEtZl0rICtbMC05YS1mXSsgK09CSkVDVCArR0xPQkFMICtERUZBVUxUICtbMC05XSsgK2JhckAu KgotICMuLi4KLS0gK1swLTldKzogK1swLTlhLWZdKyArWzAtOWEtZl0rICtPQkpFQ1QgK0dMT0JB TCArREVGQVVMVCArWzAtOV0rICtmb29ACi0rICtbMC05XSs6ICtbMC05YS1mXSsgK1swLTlhLWZd KyArT0JKRUNUICtHTE9CQUwgK0RFRkFVTFQgK1swLTldKyArZm9vLioKLSAjcGFzcwotLS0tIGJp bnV0aWxzLXdpdGgtZ29sZC0yLjQ1LjUwLWJlYWI5NzJjMDdkLm9yaWcvbGQvdGVzdHN1aXRlL2xk LWVsZnZlcnMvdmVycy5leHAJMjAyNS0xMS0yNCAwOTozOTo1Ny43MTcwMTg1ODkgKzAwMDAKLSsr KyBiaW51dGlscy13aXRoLWdvbGQtMi40NS41MC1iZWFiOTcyYzA3ZC9sZC90ZXN0c3VpdGUvbGQt ZWxmdmVycy92ZXJzLmV4cAkyMDI1LTExLTI0IDA5OjQxOjQ5LjE4NTg1MjAwOCArMDAwMAotQEAg LTEwMTksNiArMTAxOSw4IEBAIGJ1aWxkX3ZlcnNfbGliX3BpYyAidmVyczMxIiB2ZXJzMzEuYyB2 ZXIKLSBidWlsZF92ZXJzX2xpYl9waWMgInZlcnMzMmEiIHZlcnMzMmEuYyB2ZXJzMzJhICIiIHZl cnMzMi5tYXAgdmVyczMyYS52ZXIgdmVyczMyYS5kc3ltICIiCi0gYnVpbGRfdmVyc19saWJfcGlj X2ZsYWdzICJ2ZXJzMzJiIiB2ZXJzMzJiLmMgdmVyczMyYiAidmVyczMyYS5zbyIgdmVyczMyLm1h cCB2ZXJzMzJiLnZlciB2ZXJzMzJiLmRzeW0gIiIgIi0tZGVmc3ltIGZvbz0wIgotIAotK3JldHVy bgotKwotIGlmIFtjaGVja19jb21waWxlcl9hdmFpbGFibGVdIHsKLSAgICAgcnVuX2NjX2xpbmtf dGVzdHMgW2xpc3QgXAotIAlbbGlzdCBcCgpkaWZmIC0tZ2l0IGEvYmludXRpbHMtcmV2ZXJ0LW5v dGUtaWQtbW92ZS5wYXRjaCBiL2JpbnV0aWxzLXJldmVydC1ub3RlLWlkLW1vdmUucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3NjMzMjcuLjAwMDAwMDAKLS0tIGEvYmludXRp bHMtcmV2ZXJ0LW5vdGUtaWQtbW92ZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyNCArMCww IEBACi0tLS0gYmludXRpbHMub3JpZy9sZC9zY3JpcHR0ZW1wbC9lbGYuc2MJMjAyNC0xMS0wMSAx MDoxNzoyNC4zMDg5NTkyODkgKzAwMDAKLSsrKyBiaW51dGlscy0yLjQzLjUwLTIyYzYyMDkyODU4 L2xkL3NjcmlwdHRlbXBsL2VsZi5zYwkyMDI0LTExLTAxIDEwOjE3OjM5LjczMDAxOTg5NSArMDAw MAotQEAgLTM5NywxOSArMzk3LDYgQEAgZmkKLSAjID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICMgRnVu Y3Rpb25zIGZvciBnZW5lcmF0aW5nIHBhcnRzIG9mIHRoZSBsaW5rZXIgc2NyaXB0Ci0gCi0tIyBI ZWxwZXIgZnVuY3Rpb24gZm9yIHB1dHRpbmcgY29tbWVudHMgaW50byBzY3JpcHRzLgotLSMgVXNl ZnVsIHdoZW4gdHJ5aW5nIHRvIHRyYWNrIGRvd24gc2NyaXB0IGNvbXBvc2l0aW9uIHByb2JsZW1z LgotLSMgVXNlIGJ5IGFkZGluZzoKLS0jICAgZW1pdF9jb21tZW50ICJhIG1lc3NhZ2UiCi0tIyB3 aGVyZXZlciBuZWNlc3NhcnkuCi0tCi0tZW1pdF9jb21tZW50KCkKLS17Ci0tY2F0IDw8RU9GCi0t ICAvKiAkMSAqLwotLUVPRgotLX0KLS0KLSBlbWl0X2hlYWRlcigpCi0gewotIGNhdCA8PEVPRgot QEAgLTQzOCw2ICs0MjUsNyBAQCBlbWl0X2Vhcmx5X3JvKCkKLSB7Ci0gICBjYXQgPDxFT0YKLSAg ICR7SU5JVElBTF9SRUFET05MWV9TRUNUSU9OU30KLSsgIC5ub3RlLmdudS5idWlsZC1pZCAke1JF TE9DQVRJTkctMH06IHsgKigubm90ZS5nbnUuYnVpbGQtaWQpIH0KLSBFT0YKLSB9Ci0gCi1AQCAt NDQ4LDExICs0MzYsNiBAQCBjYXQgPDxFT0YKLSAgICR7Q1JFQVRFX1NITElCLSR7Q1JFQVRFX1BJ RS0ke1JFTE9DQVRJTkcrUFJPVklERSAoX19leGVjdXRhYmxlX3N0YXJ0ID0gJHtURVhUX1NUQVJU X0FERFJ9KTsgLiA9ICR7VEVYVF9CQVNFX0FERFJFU1N9O319fQotICAgJHtDUkVBVEVfU0hMSUIr JHtSRUxPQ0FUSU5HKy4gPSAke1NITElCX1RFWFRfU1RBUlRfQUREUn0ke1NJWkVPRl9IRUFERVJT X0NPREV9O319Ci0gICAke0NSRUFURV9QSUUrJHtSRUxPQ0FUSU5HK1BST1ZJREUgKF9fZXhlY3V0 YWJsZV9zdGFydCA9ICR7U0hMSUJfVEVYVF9TVEFSVF9BRERSfSk7IC4gPSAke1NITElCX1RFWFRf U1RBUlRfQUREUn0ke1NJWkVPRl9IRUFERVJTX0NPREV9O319Ci0tCi0tICAvKiBQbGFjZSBidWls ZC1pZCBhcyBjbG9zZSB0byB0aGUgRUxGIGhlYWRlcnMgYXMgcG9zc2libGUuICBUaGlzCi0tICAg ICBtYXhpbWlzZXMgdGhlIGNoYW5jZSB0aGUgYnVpbGQtaWQgd2lsbCBiZSBwcmVzZW50IGluIGNv cmUgZmlsZXMsCi0tICAgICB3aGljaCBHREIgY2FuIHRoZW4gdXNlIHRvIGxvY2F0ZSB0aGUgYXNz b2NpYXRlZCBkZWJ1Z2luZm8gZmlsZS4gICovCi0tICAubm90ZS5nbnUuYnVpbGQtaWQgJHtSRUxP Q0FUSU5HLTB9OiB7ICooLm5vdGUuZ251LmJ1aWxkLWlkKSB9Ci0gRU9GCi0gfQotIAotQEAgLTU3 NCw3ICs1NTcsNiBAQCBFT0YKLSBhbGlnbl90ZXh0KCkKLSB7Ci0gY2F0IDw8RU9GCi0tICAke1JF TE9DQVRJTkcrLyogQWxpZ24gdGhlIHRleHQgc2VnbWVudC4gICovfQotICAgJHtSRUxPQ0FUSU5H KyR7VEVYVF9TRUdNRU5UX0FMSUdOfX0KLSBFT0YKLSB9Ci1AQCAtODE2LDI4ICs3OTgsMTEgQEAg RU9GCi0gICBlbWl0X2V4ZWN1dGFibGVfc3RhcnQKLSAKLSAgIGlmIHRlc3QgLXogIiR7QUxMX1RF WFRfQkVGT1JFX1JPfSI7IHRoZW4KLS0gICAgIyBXZSBhcmUgYWxsb3dlZCB0byBwdXQgUi9PIHNl Y3Rpb25zIGJlZm9yZSBjb2RlIHNlY3Rpb25zLgotLQotICAgICB0ZXN0IC1uICIke1NFUEFSQVRF X0NPREV9IiB8fCBlbWl0X2Vhcmx5X3JvCi0gICAgIHRlc3QgLW4gIiR7Tk9OX0FMTE9DX0RZTn0k e1NFUEFSQVRFX0NPREV9IiB8fCBlbWl0X2R5bgotLQotLSAgICAjIFdlIG9ubHkgbmVlZCB0aGUg YWxpZ25tZW50IGlmIHdlIGhhdmUgZW1pdHRlZCBzb21lIHNlY3Rpb25zLgotLSAgICBpZiB0ZXN0 IC16ICIke1NFUEFSQVRFX0NPREV9IjsgdGhlbgotLSAgICAgIGFsaWduX3RleHQKLS0gICAgZWxp ZiB0ZXN0IC16ICIke05PTl9BTExPQ19EWU59JHtTRVBBUkFURV9DT0RFfSI7IHRoZW4KLS0gICAg ICBhbGlnbl90ZXh0Ci0tICAgIGZpCi0gICBmaQotICAgCi0tICAjIFdlIGRvIG5vdCBhbGlnbiB0 aGUgY29kZSBzZWdtZW50IGhlcmUgYXMgZG9pbmcgc28gd2lsbCBpbmNyZWFzZSB0aGUgZmlsZSBz aXplLgotLSAgIyBOb3JtYWxseSBoYXZpbmcgdGhlIHRleHQgc2VnbWVudCBhdCB0aGUgc3RhcnQg b2YgdGhlIGZpbGUgd2lsbCBhdXRvbWF0aWNhbGx5Ci0tICAjIG1lYW4gdGhhdCBpdCBpcyBhbGln bmVkKCopLCBhbmQgaWYgd2UgaGF2ZSBlbWl0dGVkIGFueSByL28gc2VjdGlvbnMgZHVlIHRvIHRo ZQotLSAgIyB0ZXN0cyBvZiBTRVBBUkFURV9DT0RFIGFib3ZlLCB0aGVuIGV4dHJhIGFsaWdubWVu dCB3aWxsIGhhdmUgYWxyZWFkeSBiZWVuCi0tICAjIGdlbmVyYXRlZC4KLS0gICMKLS0gICMgKjog SW5jbHVkaW5nIHRoZSBFTEYgaGVhZGVycyBhbmQgLm5vdGUuZ251LmJ1aWxkLWlkIHNlY3Rpb24g aW4gdGhlIGNvZGUgc2VnbWVudAotLSAgIyBpcyBhIHZlcnkgc21hbGwgdGhlb3JldGljYWwgcmlz ay4KLS0KLSsgIGFsaWduX3RleHQgIAotICAgZW1pdF90ZXh0Ci0gCi0gICBhbGlnbl9yb2RhdGEK LWRpZmYgLXJ1cCBiaW51dGlscy5vcmlnL2xkL3Rlc3RzdWl0ZS9sZC1pMzg2L3ByMzIxOTEuZCBi aW51dGlscy0yLjQzLjUwLTIyYzYyMDkyODU4L2xkL3Rlc3RzdWl0ZS9sZC1pMzg2L3ByMzIxOTEu ZAotLS0tIGJpbnV0aWxzLm9yaWcvbGQvdGVzdHN1aXRlL2xkLWkzODYvcHIzMjE5MS5kCTIwMjQt MTEtMDEgMTM6NTY6MzkuNTg0MTE1MTQ4ICswMDAwCi0rKysgYmludXRpbHMtMi40My41MC0yMmM2 MjA5Mjg1OC9sZC90ZXN0c3VpdGUvbGQtaTM4Ni9wcjMyMTkxLmQJMjAyNC0xMS0wMSAxMzo1ODoz MC45NjI0MzI3MTYgKzAwMDAKLUBAIC0yLDYgKzIsNyBAQAotICNhczogLS0zMiAtbXg4Ni11c2Vk LW5vdGU9eWVzCi0gI2xkOiAtc2hhcmVkIC1tIGVsZl9pMzg2IC16IHNlcGFyYXRlLWNvZGUgLS1i dWlsZC1pZCAtLXJvc2VnbWVudAotICNyZWFkZWxmOiAtbFcKLSsjeGZhaWw6ICotKi0qCi0gCi0g Iy4uLgotICArWzAtOV0rICtcLm5vdGVcLmdudVwuYnVpbGQtaWQgXC50ZXh0IAotZGlmZiAtcnVw IGJpbnV0aWxzLm9yaWcvbGQvdGVzdHN1aXRlL2xkLXg4Ni02NC9wcjMyMTkxLXgzMi5kIGJpbnV0 aWxzLTIuNDMuNTAtMjJjNjIwOTI4NTgvbGQvdGVzdHN1aXRlL2xkLXg4Ni02NC9wcjMyMTkxLXgz Mi5kCi0tLS0gYmludXRpbHMub3JpZy9sZC90ZXN0c3VpdGUvbGQteDg2LTY0L3ByMzIxOTEteDMy LmQJMjAyNC0xMS0wMSAxMzo1NjozOS42NTIxMTUzNDEgKzAwMDAKLSsrKyBiaW51dGlscy0yLjQz LjUwLTIyYzYyMDkyODU4L2xkL3Rlc3RzdWl0ZS9sZC14ODYtNjQvcHIzMjE5MS14MzIuZAkyMDI0 LTExLTAxIDEzOjU5OjI3LjYyNjU5NTA4OCArMDAwMAotQEAgLTIsNiArMiw3IEBACi0gI2FzOiAt LXgzMiAtbXg4Ni11c2VkLW5vdGU9eWVzCi0gI2xkOiAtc2hhcmVkIC1tIGVsZjMyX3g4Nl82NCAt eiBzZXBhcmF0ZS1jb2RlIC0tYnVpbGQtaWQgLS1yb3NlZ21lbnQKLSAjcmVhZGVsZjogLWxXCi0r I3hmYWlsOiAqLSotKgotIAotICMuLi4KLSAgK1swLTldKyArXC5ub3RlXC5nbnVcLmJ1aWxkLWlk IFwudGV4dCAKLWRpZmYgLXJ1cCBiaW51dGlscy5vcmlnL2xkL3Rlc3RzdWl0ZS9sZC14ODYtNjQv cHIzMjE5MS5kIGJpbnV0aWxzLTIuNDMuNTAtMjJjNjIwOTI4NTgvbGQvdGVzdHN1aXRlL2xkLXg4 Ni02NC9wcjMyMTkxLmQKLS0tLSBiaW51dGlscy5vcmlnL2xkL3Rlc3RzdWl0ZS9sZC14ODYtNjQv cHIzMjE5MS5kCTIwMjQtMTEtMDEgMTM6NTY6MzkuNjUyMTE1MzQxICswMDAwCi0rKysgYmludXRp bHMtMi40My41MC0yMmM2MjA5Mjg1OC9sZC90ZXN0c3VpdGUvbGQteDg2LTY0L3ByMzIxOTEuZAky MDI0LTExLTAxIDEzOjU5OjEyLjkwNjU1MjQ5MyArMDAwMAotQEAgLTIsNiArMiw3IEBACi0gI2Fz OiAtLTY0IC1teDg2LXVzZWQtbm90ZT15ZXMKLSAjbGQ6IC1zaGFyZWQgLW0gZWxmX3g4Nl82NCAt eiBzZXBhcmF0ZS1jb2RlIC0tYnVpbGQtaWQgLS1yb3NlZ21lbnQKLSAjcmVhZGVsZjogLWxXCi0r I3hmYWlsOiAqLSotKgotIAotICMuLi4KLSAgK1swLTldKyArXC5ub3RlXC5nbnVcLmJ1aWxkLWlk IFwudGV4dCAKLWRpZmYgLXJ1cCBiaW4ub3JpZy9sZC90ZXN0c3VpdGUvbGQtZWxmL3ByMjM2NTgt MWUuZCBiaW51dGlscy0yLjQzLjUwLTU1ZTMyYjNjNjgyL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvcHIy MzY1OC0xZS5kCi0tLS0gYmluLm9yaWcvbGQvdGVzdHN1aXRlL2xkLWVsZi9wcjIzNjU4LTFlLmQJ MjAyNC0xMS0wNCAxMjoxODo1Ny4wMjEwNTUzODAgKzAwMDAKLSsrKyBiaW51dGlscy0yLjQzLjUw LTU1ZTMyYjNjNjgyL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvcHIyMzY1OC0xZS5kCTIwMjQtMTEtMDQg MTI6MTk6MDYuNTIyMDgzOTU4ICswMDAwCi1AQCAtMTYsNiArMTYsNyBAQAotICN4ZmFpbDogKi0q LWhwdXgqCi0gI3hmYWlsOiBhcmMqLSogYXZyLSogbTY4aGMxKi0qIG1pY3JvYmxhemUqLSogbmRz MzIqLSogc3B1LSotKiB4c3Rvcm15MTYtKi0qCi0gI25veGZhaWw6IG1pY3JvYmxhemUqLWxpbnV4 KgotKyN4ZmFpbDogKi0qLSoKLSAKLSAjLi4uCi0gICtbMC05XSsgK1wubm90ZS5nbnUuYnVpbGQt aWQgKwoKZGlmZiAtLWdpdCBhL2JpbnV0aWxzLXN0cmNoci1maXhlcy5wYXRjaCBiL2JpbnV0aWxz LXN0cmNoci1maXhlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTc2NjQz ZS4uMDAwMDAwMAotLS0gYS9iaW51dGlscy1zdHJjaHItZml4ZXMucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSwzNjAgKzAsMCBAQAotLS0tIGZyZWQvYmZkL2VsZmxpbmsuYwkyMDI1LTEyLTE4IDEz OjE2OjAwLjY3NTI3NzMyOSArMDAwMAotKysrIGJpbnV0aWxzLXdpdGgtZ29sZC0yLjQ1LjUwLThl OTkyY2NiMWU0L2JmZC9lbGZsaW5rLmMJMjAyNS0xMi0xOCAxMzozMToyMC4xNjA5NDIyNDUgKzAw MDAKLUBAIC01OTYsNyArNTk2LDcgQEAgYmZkX2VsZl9saW5rX3JlY29yZF9keW5hbWljX3N5bWJv bCAoc3RydQotICAgaWYgKGgtPmR5bmluZHggPT0gLTEpCi0gICAgIHsKLSAgICAgICBzdHJ1Y3Qg ZWxmX3N0cnRhYl9oYXNoICpkeW5zdHI7Ci0tICAgICAgY2hhciAqcDsKLSsgICAgICBjb25zdCBj aGFyICpwOwotICAgICAgIGNvbnN0IGNoYXIgKm5hbWU7Ci0gICAgICAgc2l6ZV90IGluZHg7Ci0g Ci1AQCAtNzI2LDcgKzcyNiw3IEBAIGJmZF9lbGZfcmVjb3JkX2xpbmtfYXNzaWdubWVudCAoYmZk ICpvdXQKLSAgIGlmIChoLT52ZXJzaW9uZWQgPT0gdW5rbm93bikKLSAgICAgewotICAgICAgIC8q IFNldCB2ZXJzaW9uZWQgaWYgc3ltYm9sIHZlcnNpb24gaXMgdW5rbm93bi4gICovCi0tICAgICAg Y2hhciAqdmVyc2lvbiA9IHN0cnJjaHIgKG5hbWUsIEVMRl9WRVJfQ0hSKTsKLSsgICAgICBjb25z dCBjaGFyICp2ZXJzaW9uID0gc3RycmNociAobmFtZSwgRUxGX1ZFUl9DSFIpOwotICAgICAgIGlm ICh2ZXJzaW9uKQotIAl7Ci0gCSAgaWYgKHZlcnNpb24gPiBuYW1lICYmIHZlcnNpb25bLTFdICE9 IEVMRl9WRVJfQ0hSKQotQEAgLTExNjEsNyArMTE2MSw3IEBAIF9iZmRfZWxmX21lcmdlX3N5bWJv bCAoYmZkICphYmZkLAotICAgYm9vbCBuZXdkeW4sIG9sZGR5biwgb2xkZGVmLCBuZXdkZWYsIG5l d2R5bmNvbW1vbiwgb2xkZHluY29tbW9uOwotICAgYm9vbCBuZXd3ZWFrLCBvbGR3ZWFrLCBuZXdm dW5jLCBvbGRmdW5jOwotICAgY29uc3Qgc3RydWN0IGVsZl9iYWNrZW5kX2RhdGEgKmJlZDsKLS0g IGNoYXIgKm5ld192ZXJzaW9uOwotKyAgY29uc3QgY2hhciAqbmV3X3ZlcnNpb247Ci0gICBib29s IGRlZmF1bHRfc3ltID0gKm1hdGNoZWQ7Ci0gICBzdHJ1Y3QgZWxmX2xpbmtfaGFzaF90YWJsZSAq aHRhYjsKLSAKLUBAIC0xMjQxLDcgKzEyNDEsNyBAQCBfYmZkX2VsZl9tZXJnZV9zeW1ib2wgKGJm ZCAqYWJmZCwKLSAJICAgIHsKLSAJICAgICAgLyogT0xEX1ZFUlNJT04gaXMgdGhlIHN5bWJvbCB2 ZXJzaW9uIG9mIHRoZSBleGlzdGluZwotIAkJIHN5bWJvbC4gKi8KLS0JICAgICAgY2hhciAqb2xk X3ZlcnNpb247Ci0rCSAgICAgIGNvbnN0IGNoYXIgKm9sZF92ZXJzaW9uOwotIAotIAkgICAgICBp ZiAoaC0+dmVyc2lvbmVkID49IHZlcnNpb25lZCkKLSAJCW9sZF92ZXJzaW9uID0gc3RycmNociAo aC0+cm9vdC5yb290LnN0cmluZywKLWRpZmYgLXJ1cCBmcmVkL2JmZC9iZmQuYyBiaW51dGlscy13 aXRoLWdvbGQtMi40NS41MC04ZTk5MmNjYjFlNC9iZmQvYmZkLmMKLS0tLSBmcmVkL2JmZC9iZmQu YwkyMDI1LTEyLTE4IDEzOjQyOjE0Ljg0ODQ4MjgyNiArMDAwMAotKysrIGJpbnV0aWxzLXdpdGgt Z29sZC0yLjQ1LjUwLThlOTkyY2NiMWU0L2JmZC9iZmQuYwkyMDI1LTEyLTE4IDEzOjU2OjIxLjEx MjI4MDcwOCArMDAwMAotQEAgLTEwNjAsNyArMTA2MCw3IEBAIF9iZmRfZG9wcm50IChiZmRfcHJp bnRfY2FsbGJhY2sgcHJpbnQsIHYKLSAgICAgICBpZiAoKnB0ciAhPSAnJScpCi0gCXsKLSAJICAv KiBXaGlsZSB3ZSBoYXZlIHJlZ3VsYXIgY2hhcmFjdGVycywgcHJpbnQgdGhlbS4gICovCi0tCSAg Y2hhciAqZW5kID0gc3RyY2hyIChwdHIsICclJyk7Ci0rCSAgY29uc3QgY2hhciAqZW5kID0gc3Ry Y2hyIChwdHIsICclJyk7Ci0gCSAgaWYgKGVuZCAhPSBOVUxMKQotIAkgICAgcmVzdWx0ID0gcHJp bnQgKHN0cmVhbSwgIiUuKnMiLCAoaW50KSAoZW5kIC0gcHRyKSwgcHRyKTsKLSAJICBlbHNlCi1k aWZmIC1ydXAgZnJlZC9iZmQvZWxmbGluay5jIGJpbnV0aWxzLXdpdGgtZ29sZC0yLjQ1LjUwLThl OTkyY2NiMWU0L2JmZC9lbGZsaW5rLmMKLS0tLSBmcmVkL2JmZC9lbGZsaW5rLmMJMjAyNS0xMi0x OCAxMzo0MjoxNS4wNjI0ODQwMzMgKzAwMDAKLSsrKyBiaW51dGlscy13aXRoLWdvbGQtMi40NS41 MC04ZTk5MmNjYjFlNC9iZmQvZWxmbGluay5jCTIwMjUtMTItMTggMTM6NTg6NTguMjAyMzU1MjE2 ICswMDAwCi1AQCAtMTk2NSw3ICsxOTY1LDcgQEAgX2JmZF9lbGZfYWRkX2RlZmF1bHRfc3ltYm9s IChiZmQgKmFiZmQsCi0gICBib29sIGNvbGxlY3Q7Ci0gICBib29sIGR5bmFtaWM7Ci0gICBiZmQg Km92ZXJyaWRlOwotLSAgY2hhciAqcDsKLSsgIGNvbnN0IGNoYXIgKnA7Ci0gICBzaXplX3QgbGVu LCBzaG9ydGxlbjsKLSAgIGFzZWN0aW9uICp0bXBfc2VjOwotICAgYm9vbCBtYXRjaGVkOwotQEAg LTI2NTcsNyArMjY1Nyw3IEBAIF9iZmRfZWxmX2xpbmtfYXNzaWduX3N5bV92ZXJzaW9uIChzdHJ1 Y3QKLSAgIHN0cnVjdCBiZmRfbGlua19pbmZvICppbmZvOwotICAgY29uc3Qgc3RydWN0IGVsZl9i YWNrZW5kX2RhdGEgKmJlZDsKLSAgIHN0cnVjdCBlbGZfaW5mb19mYWlsZWQgZWlmOwotLSAgY2hh ciAqcDsKLSsgIGNvbnN0IGNoYXIgKnA7Ci0gICBib29sIGhpZGU7Ci0gCi0gICBzaW5mbyA9IChz dHJ1Y3QgZWxmX2luZm9fZmFpbGVkICopIGRhdGE7Ci1AQCAtNTY2NSw3ICs1NjY1LDcgQEAgZWxm X2xpbmtfYWRkX29iamVjdF9zeW1ib2xzIChiZmQgKmFiZmQsCi0gCSAgICAgICYmICFkeW5hbWlj Ci0gCSAgICAgICYmIChhYmZkLT5mbGFncyAmIEJGRF9QTFVHSU4pID09IDApCi0gCSAgICB7Ci0t CSAgICAgIGNoYXIgKnAgPSBzdHJjaHIgKG5hbWUsIEVMRl9WRVJfQ0hSKTsKLSsJICAgICAgY29u c3QgY2hhciAqcCA9IHN0cmNociAobmFtZSwgRUxGX1ZFUl9DSFIpOwotIAkgICAgICBpZiAocCAh PSBOVUxMICYmIHBbMV0gIT0gRUxGX1ZFUl9DSFIpCi0gCQl7Ci0gCQkgIC8qIFF1ZXVlIG5vbi1k ZWZhdWx0IHZlcnNpb25zIHNvIHRoYXQgLnN5bXZlciB4LCB4QEZPTwotQEAgLTU5MTUsNyArNTkx NSw4IEBAIGVsZl9saW5rX2FkZF9vYmplY3Rfc3ltYm9scyAoYmZkICphYmZkLAotICAgICAgIGZv ciAoY250ID0gMDsgY250IDwgbm9uZGVmbHRfdmVyc19jbnQ7ICsrY250KQotIAl7Ci0gCSAgc3Ry dWN0IGVsZl9saW5rX2hhc2hfZW50cnkgKmggPSBub25kZWZsdF92ZXJzW2NudF0sICpoaTsKLS0J ICBjaGFyICpzaG9ydG5hbWUsICpwOwotKwkgIGNoYXIgKnNob3J0bmFtZTsKLSsJICBjb25zdCBj aGFyICpwOwotIAkgIHNpemVfdCBhbXQ7Ci0gCi0gCSAgcCA9IHN0cmNociAoaC0+cm9vdC5yb290 LnN0cmluZywgRUxGX1ZFUl9DSFIpOwotQEAgLTYxODcsNyArNjE4OCw4IEBAIF9iZmRfZWxmX2Fy Y2hpdmVfc3ltYm9sX2xvb2t1cCAoYmZkICphYmYKLSAJCQkJY29uc3QgY2hhciAqbmFtZSkKLSB7 Ci0gICBzdHJ1Y3QgYmZkX2xpbmtfaGFzaF9lbnRyeSAqaDsKLS0gIGNoYXIgKnAsICpjb3B5Owot KyAgY29uc3QgY2hhciAqcDsKLSsgIGNoYXIgKmNvcHk7Ci0gICBzaXplX3QgbGVuLCBmaXJzdDsK LSAKLSAgIGggPSBiZmRfbGlua19oYXNoX2xvb2t1cCAoaW5mby0+aGFzaCwgbmFtZSwgZmFsc2Us IGZhbHNlLCB0cnVlKTsKLUBAIC02NDgyLDcgKzY0ODQsNyBAQCBlbGZfY29sbGVjdF9oYXNoX2Nv ZGVzIChzdHJ1Y3QgZWxmX2xpbmtfCi0gICBuYW1lID0gaC0+cm9vdC5yb290LnN0cmluZzsKLSAg IGlmIChoLT52ZXJzaW9uZWQgPj0gdmVyc2lvbmVkKQotICAgICB7Ci0tICAgICAgY2hhciAqcCA9 IHN0cmNociAobmFtZSwgRUxGX1ZFUl9DSFIpOwotKyAgICAgIGNvbnN0IGNoYXIgKnAgPSBzdHJj aHIgKG5hbWUsIEVMRl9WRVJfQ0hSKTsKLSAgICAgICBpZiAocCAhPSBOVUxMKQotIAl7Ci0gCSAg YWxjID0gKGNoYXIgKikgYmZkX21hbGxvYyAocCAtIG5hbWUgKyAxKTsKLUBAIC02NTU2LDcgKzY1 NTgsNyBAQCBlbGZfY29sbGVjdF9nbnVfaGFzaF9jb2RlcyAoc3RydWN0IGVsZl9sCi0gICBuYW1l ID0gaC0+cm9vdC5yb290LnN0cmluZzsKLSAgIGlmIChoLT52ZXJzaW9uZWQgPj0gdmVyc2lvbmVk KQotICAgICB7Ci0tICAgICAgY2hhciAqcCA9IHN0cmNociAobmFtZSwgRUxGX1ZFUl9DSFIpOwot KyAgICAgIGNvbnN0IGNoYXIgKnAgPSBzdHJjaHIgKG5hbWUsIEVMRl9WRVJfQ0hSKTsKLSAgICAg ICBpZiAocCAhPSBOVUxMKQotIAl7Ci0gCSAgYWxjID0gKGNoYXIgKikgYmZkX21hbGxvYyAocCAt IG5hbWUgKyAxKTsKLUBAIC0xMDM3Myw4ICsxMDM3NSw4IEBAIGVsZl9saW5rX291dHB1dF9zeW1z dHJ0YWIgKHZvaWQgKmZpbmYsCi0gCSAgICB7Ci0gCSAgICAgIC8qIEtlZXAgb25seSBvbmUgJ0An IGZvciB2ZXJzaW9uZWQgc3ltYm9scyBkZWZpbmVkIGluCi0gCSAgICAgICAgIHNoYXJlZCBvYmpl Y3RzLiAgKi8KLS0JICAgICAgY2hhciAqdmVyc2lvbiA9IHN0cnJjaHIgKG5hbWUsIEVMRl9WRVJf Q0hSKTsKLS0JICAgICAgY2hhciAqYmFzZV9lbmQgPSBzdHJjaHIgKG5hbWUsIEVMRl9WRVJfQ0hS KTsKLSsJICAgICAgY29uc3QgY2hhciAqdmVyc2lvbiA9IHN0cnJjaHIgKG5hbWUsIEVMRl9WRVJf Q0hSKTsKLSsJICAgICAgY29uc3QgY2hhciAqYmFzZV9lbmQgPSBzdHJjaHIgKG5hbWUsIEVMRl9W RVJfQ0hSKTsKLSAJICAgICAgaWYgKHZlcnNpb24gIT0gYmFzZV9lbmQpCi0gCQl7Ci0gCQkgIHNp emVfdCBiYXNlX2xlbjsKLUBAIC0xMTExNyw3ICsxMTExOSw3IEBAIGVsZl9saW5rX291dHB1dF9l eHRzeW0gKHN0cnVjdCBiZmRfaGFzaF8KLSAJICAgICAgfHwgaC0+cmVmX2R5bmFtaWMKLSAJICAg ICAgfHwgIWgtPmRlZl9yZWd1bGFyKSkKLSAJewotLQkgIGNoYXIgKnAgPSBzdHJyY2hyIChoLT5y b290LnJvb3Quc3RyaW5nLCBFTEZfVkVSX0NIUik7Ci0rCSAgY29uc3QgY2hhciAqcCA9IHN0cnJj aHIgKGgtPnJvb3Qucm9vdC5zdHJpbmcsIEVMRl9WRVJfQ0hSKTsKLSAKLSAJICBpZiAocCAmJiBw IFsxXSAhPSAnXDAnKQotIAkgICAgewotZGlmZiAtcnVwIGZyZWQvYmZkL3RhcmdldHMuYyBiaW51 dGlscy13aXRoLWdvbGQtMi40NS41MC04ZTk5MmNjYjFlNC9iZmQvdGFyZ2V0cy5jCi0tLS0gZnJl ZC9iZmQvdGFyZ2V0cy5jCTIwMjUtMTItMTggMTM6NDI6MTUuMDM4NDgzODk4ICswMDAwCi0rKysg YmludXRpbHMtd2l0aC1nb2xkLTIuNDUuNTAtOGU5OTJjY2IxZTQvYmZkL3RhcmdldHMuYwkyMDI1 LTEyLTE4IDEzOjU2OjQ4LjEyMDQ2NTQ0NyArMDAwMAotQEAgLTE2NjQsNyArMTY2NCw3IEBAIGJm ZF9nZXRfdGFyZ2V0X2luZm8gKGNvbnN0IGNoYXIgKnRhcmdldF8KLSAKLSAgICAgICBpZiAoYXJj aGVzICYmIHRuYW1lKQotIAl7Ci0tCSAgY2hhciAqaHlwID0gc3RyY2hyICh0bmFtZSwgJy0nKTsK LSsJICBjb25zdCBjaGFyICpoeXAgPSBzdHJjaHIgKHRuYW1lLCAnLScpOwotIAotIAkgIGlmICho eXAgIT0gTlVMTCkKLSAJICAgIHsKLWRpZmYgLXJ1cCBmcmVkL2JpbnV0aWxzL2FkZHIybGluZS5j IGJpbnV0aWxzLXdpdGgtZ29sZC0yLjQ1LjUwLThlOTkyY2NiMWU0L2JpbnV0aWxzL2FkZHIybGlu ZS5jCi0tLS0gZnJlZC9iaW51dGlscy9hZGRyMmxpbmUuYwkyMDI1LTEyLTE4IDEzOjQyOjE3LjMw OTQ5NjcwNyArMDAwMAotKysrIGJpbnV0aWxzLXdpdGgtZ29sZC0yLjQ1LjUwLThlOTkyY2NiMWU0 L2JpbnV0aWxzL2FkZHIybGluZS5jCTIwMjUtMTItMTggMTM6NTk6NTcuNzg1NzYyNzc4ICswMDAw Ci1AQCAtMzg1LDcgKzM4NSw3IEBAIHRyYW5zbGF0ZV9hZGRyZXNzZXMgKGJmZCAqYWJmZCwgYXNl Y3Rpb24KLSAKLSAgICAgICAgICAgICAgIGlmIChiYXNlX25hbWVzICYmIGZpbGVuYW1lICE9IE5V TEwpCi0gICAgICAgICAgICAgICAgIHsKLS0gICAgICAgICAgICAgICAgICBjaGFyICpoOwotKyAg ICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmg7Ci0gCi0gICAgICAgICAgICAgICAgICAgaCA9 IHN0cnJjaHIgKGZpbGVuYW1lLCAnLycpOwotICAgICAgICAgICAgICAgICAgIGlmIChoICE9IE5V TEwpCi1kaWZmIC1ydXAgZnJlZC9iaW51dGlscy9ubS5jIGJpbnV0aWxzLXdpdGgtZ29sZC0yLjQ1 LjUwLThlOTkyY2NiMWU0L2JpbnV0aWxzL25tLmMKLS0tLSBmcmVkL2JpbnV0aWxzL25tLmMJMjAy NS0xMi0xOCAxMzo0MjoxNy4xMDc0OTU1NjggKzAwMDAKLSsrKyBiaW51dGlscy13aXRoLWdvbGQt Mi40NS41MC04ZTk5MmNjYjFlNC9iaW51dGlscy9ubS5jCTIwMjUtMTItMTggMTQ6MDA6MTIuNDgx ODYzMjk5ICswMDAwCi1AQCAtNjg2LDcgKzY4Niw3IEBAIHByaW50X3N5bW5hbWUgKGNvbnN0IGNo YXIgKmZvcm0sIHN0cnVjdAotICAgaWYgKCF3aXRoX3N5bWJvbF92ZXJzaW9ucwotICAgICAgICYm IGJmZF9nZXRfZmxhdm91ciAoYWJmZCkgPT0gYmZkX3RhcmdldF9lbGZfZmxhdm91cikKLSAgICAg ewotLSAgICAgIGNoYXIgKmF0dmVyID0gc3RyY2hyIChuYW1lLCAnQCcpOwotKyAgICAgIGNvbnN0 IGNoYXIgKmF0dmVyID0gc3RyY2hyIChuYW1lLCAnQCcpOwotIAotICAgICAgIGlmIChhdHZlcikK LSAJewotZGlmZiAtcnVwIGZyZWQvYmludXRpbHMvcHJkYmcuYyBiaW51dGlscy13aXRoLWdvbGQt Mi40NS41MC04ZTk5MmNjYjFlNC9iaW51dGlscy9wcmRiZy5jCi0tLS0gZnJlZC9iaW51dGlscy9w cmRiZy5jCTIwMjUtMTItMTggMTM6NDI6MTcuMzAxNDk2NjYyICswMDAwCi0rKysgYmludXRpbHMt d2l0aC1nb2xkLTIuNDUuNTAtOGU5OTJjY2IxZTQvYmludXRpbHMvcHJkYmcuYwkyMDI1LTEyLTE4 IDEzOjU5OjM2LjM4NjYxNjQwMyArMDAwMAotQEAgLTI2NDEsNyArMjY0MSw3IEBAIHRnX3N0YXJ0 X2Z1bmN0aW9uICh2b2lkICpwLCBjb25zdCBjaGFyICoKLSAgIGluZm8tPnN0YWNrLT5tZXRob2Qg PSBOVUxMOwotICAgaWYgKGRuYW1lICE9IE5VTEwpCi0gICAgIHsKLS0gICAgICBjaGFyICpzZXA7 Ci0rICAgICAgY29uc3QgY2hhciAqc2VwOwotICAgICAgIHNlcCA9IHN0cnN0ciAoZG5hbWUsICI6 OiIpOwotICAgICAgIGlmIChzZXApCi0gCXsKLWRpZmYgLXJ1cCBmcmVkL2dwcm9mL3NvdXJjZS5j IGJpbnV0aWxzLXdpdGgtZ29sZC0yLjQ1LjUwLThlOTkyY2NiMWU0L2dwcm9mL3NvdXJjZS5jCi0t LS0gZnJlZC9ncHJvZi9zb3VyY2UuYwkyMDI1LTEyLTE4IDEzOjQyOjE3LjQ1OTQ5NzU1MyArMDAw MAotKysrIGJpbnV0aWxzLXdpdGgtZ29sZC0yLjQ1LjUwLThlOTkyY2NiMWU0L2dwcm9mL3NvdXJj ZS5jCTIwMjUtMTItMTggMTQ6MDA6NDAuNTU0MDU1MzExICswMDAwCi1AQCAtOTgsNyArOTgsOCBA QCBhbm5vdGF0ZV9zb3VyY2UgKFNvdXJjZV9GaWxlICpzZiwgdW5zaWduCi0gICBib29sIG5ld19s aW5lOwotICAgY2hhciBidWZbODE5Ml07Ci0gICBjaGFyICpmbmFtZTsKLS0gIGNoYXIgKmFubm90 YXRpb24sICpuYW1lX29ubHk7Ci0rICBjaGFyICphbm5vdGF0aW9uOwotKyAgY29uc3QgY2hhciAq bmFtZV9vbmx5OwotICAgRklMRSAqaWZwLCAqb2ZwOwotICAgU2VhcmNoX0xpc3RfRWxlbSAqc2xl ID0gc3JjX3NlYXJjaF9saXN0LmhlYWQ7Ci0gCi1kaWZmIC1ydXAgZnJlZC9sZC9lbXVsdGVtcGwv cGUuZW0gYmludXRpbHMtd2l0aC1nb2xkLTIuNDUuNTAtOGU5OTJjY2IxZTQvbGQvZW11bHRlbXBs L3BlLmVtCi0tLS0gZnJlZC9sZC9lbXVsdGVtcGwvcGUuZW0JMjAyNS0xMi0xOCAxMzo0MjoxNy42 MzI0OTg1MjkgKzAwMDAKLSsrKyBiaW51dGlscy13aXRoLWdvbGQtMi40NS41MC04ZTk5MmNjYjFl NC9sZC9lbXVsdGVtcGwvcGUuZW0JMjAyNS0xMi0xOCAxNDowMzoyMS4wNDMxNTMwNjkgKzAwMDAK LUBAIC0xMTQ5LDcgKzExNDksNyBAQCBwZV9maXh1cF9zdGRjYWxscyAodm9pZCkKLSAgICAgaWYg KHVuZGVmLT50eXBlID09IGJmZF9saW5rX2hhc2hfdW5kZWZpbmVkKQotICAgICAgIHsKLSAJY29u c3QgY2hhciAqIG5hbWUgPSB1bmRlZi0+cm9vdC5zdHJpbmc7Ci0tCWNoYXIgKiBhdDsKLSsJY29u c3QgY2hhciAqIGF0OwotIAlpbnQgbGVhZF9hdCA9ICgqbmFtZSA9PSAnQCcpOwotIAotIAlpZiAo bGVhZF9hdCkKLUBAIC0xNzUwLDcgKzE3NTAsNyBAQCBnbGQke0VNVUxBVElPTl9OQU1FfV9hZnRl cl9vcGVuICh2b2lkKQotICAgICAgIHsKLSAJaWYgKGlzLT50aGVfYmZkLT5teV9hcmNoaXZlKQot IAkgIHsKLS0JICAgIGNoYXIgKnBudDsKLSsJICAgIGNvbnN0IGNoYXIgKnBudDsKLSAKLSAJICAg IC8qIE1pY3Jvc29mdCBpbXBvcnQgbGlicmFyaWVzIG1heSBjb250YWluIGFyY2hpdmUgbWVtYmVy cyBmb3IKLSAJICAgICAgIG9uZSBvciBtb3JlIERMTHMsIHRvZ2V0aGVyIHdpdGggc3RhdGljIG9i amVjdCBmaWxlcy4KLUBAIC0yMTQ2LDcgKzIxNDYsNyBAQCBnbGQke0VNVUxBVElPTl9OQU1FfV9w bGFjZV9vcnBoYW4gKGFzZWN0Ci0gCQkJCSAgIGludCBjb25zdHJhaW50KQotIHsKLSAgIGNvbnN0 IGNoYXIgKm9yaWdfc2VjbmFtZSA9IHNlY25hbWU7Ci0tICBjaGFyICpkb2xsYXIgPSBOVUxMOwot KyAgY29uc3QgY2hhciAqZG9sbGFyID0gTlVMTDsKLSAgIGxhbmdfb3V0cHV0X3NlY3Rpb25fc3Rh dGVtZW50X3R5cGUgKm9zOwotICAgbGFuZ19zdGF0ZW1lbnRfbGlzdF90eXBlIGFkZF9jaGlsZDsK LSAgIGxhbmdfb3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50X3R5cGUgKm1hdGNoX2J5X25hbWUgPSBO VUxMOwotZGlmZiAtcnVwIGZyZWQvbGQvZW11bHRlbXBsL3BlcC5lbSBiaW51dGlscy13aXRoLWdv bGQtMi40NS41MC04ZTk5MmNjYjFlNC9sZC9lbXVsdGVtcGwvcGVwLmVtCi0tLS0gZnJlZC9sZC9l bXVsdGVtcGwvcGVwLmVtCTIwMjUtMTItMTggMTM6NDI6MTcuNjM1NDk4NTQ2ICswMDAwCi0rKysg YmludXRpbHMtd2l0aC1nb2xkLTIuNDUuNTAtOGU5OTJjY2IxZTQvbGQvZW11bHRlbXBsL3BlcC5l bQkyMDI1LTEyLTE4IDE0OjAzOjMwLjE4NzIxNTYxNyArMDAwMAotQEAgLTEwODksNyArMTA4OSw3 IEBAIHBlcF9maXh1cF9zdGRjYWxscyAodm9pZCkKLSAgIGZvciAodW5kZWYgPSBsaW5rX2luZm8u aGFzaC0+dW5kZWZzOyB1bmRlZjsgdW5kZWY9dW5kZWYtPnUudW5kZWYubmV4dCkKLSAgICAgaWYg KHVuZGVmLT50eXBlID09IGJmZF9saW5rX2hhc2hfdW5kZWZpbmVkKQotICAgICAgIHsKLS0JY2hh ciogYXQgPSBzdHJjaHIgKHVuZGVmLT5yb290LnN0cmluZywgJ0AnKTsKLSsJY29uc3QgY2hhciog YXQgPSBzdHJjaHIgKHVuZGVmLT5yb290LnN0cmluZywgJ0AnKTsKLSAJaW50IGxlYWRfYXQgPSAo KnVuZGVmLT5yb290LnN0cmluZyA9PSAnQCcpOwotIAlpZiAobGVhZF9hdCkKLSAJICBhdCA9IHN0 cmNociAodW5kZWYtPnJvb3Quc3RyaW5nICsgMSwgJ0AnKTsKLUBAIC0xNzM3LDcgKzE3MzcsNyBA QCBnbGQke0VNVUxBVElPTl9OQU1FfV9hZnRlcl9vcGVuICh2b2lkKQotICAgICAgIHsKLSAJaWYg KGlzLT50aGVfYmZkLT5teV9hcmNoaXZlKQotIAkgIHsKLS0JICAgIGNoYXIgKnBudDsKLSsJICAg IGNvbnN0IGNoYXIgKnBudDsKLSAKLSAJICAgIC8qIE1pY3Jvc29mdCBpbXBvcnQgbGlicmFyaWVz IG1heSBjb250YWluIGFyY2hpdmUgbWVtYmVycyBmb3IKLSAJICAgICAgIG9uZSBvciBtb3JlIERM THMsIHRvZ2V0aGVyIHdpdGggc3RhdGljIG9iamVjdCBmaWxlcy4KLUBAIC0xOTg2LDcgKzE5ODYs NyBAQCBnbGQke0VNVUxBVElPTl9OQU1FfV9wbGFjZV9vcnBoYW4gKGFzZWN0Ci0gCQkJCSAgICBp bnQgY29uc3RyYWludCkKLSB7Ci0gICBjb25zdCBjaGFyICpvcmlnX3NlY25hbWUgPSBzZWNuYW1l OwotLSAgY2hhciAqZG9sbGFyID0gTlVMTDsKLSsgIGNvbnN0IGNoYXIgKmRvbGxhciA9IE5VTEw7 Ci0gICBsYW5nX291dHB1dF9zZWN0aW9uX3N0YXRlbWVudF90eXBlICpvczsKLSAgIGxhbmdfc3Rh dGVtZW50X2xpc3RfdHlwZSBhZGRfY2hpbGQ7Ci0gICBsYW5nX291dHB1dF9zZWN0aW9uX3N0YXRl bWVudF90eXBlICptYXRjaF9ieV9uYW1lID0gTlVMTDsKLWRpZmYgLXJ1cCBmcmVkL2xkL2xkZWxm LmMgYmludXRpbHMtd2l0aC1nb2xkLTIuNDUuNTAtOGU5OTJjY2IxZTQvbGQvbGRlbGYuYwotLS0t IGZyZWQvbGQvbGRlbGYuYwkyMDI1LTEyLTE4IDEzOjQyOjE3LjU5ODQ5ODMzNyArMDAwMAotKysr IGJpbnV0aWxzLXdpdGgtZ29sZC0yLjQ1LjUwLThlOTkyY2NiMWU0L2xkL2xkZWxmLmMJMjAyNS0x Mi0xOCAxNDowNDowOC4zMzE0NzY1MzEgKzAwMDAKLUBAIC03OTQsNyArNzk0LDcgQEAgbGRlbGZf cGFyc2VfbGRfc29fY29uZl9pbmNsdWRlIChzdHJ1Y3QgbAotIAotICAgaWYgKHBhdHRlcm5bMF0g IT0gJy8nKQotICAgICB7Ci0tICAgICAgY2hhciAqcCA9IHN0cnJjaHIgKGZpbGVuYW1lLCAnLycp OwotKyAgICAgIGNvbnN0IGNoYXIgKnAgPSBzdHJyY2hyIChmaWxlbmFtZSwgJy8nKTsKLSAgICAg ICBzaXplX3QgcGF0bGVuID0gc3RybGVuIChwYXR0ZXJuKSArIDE7Ci0gCi0gICAgICAgbmV3cCA9 IHhtYWxsb2MgKHAgLSBmaWxlbmFtZSArIDEgKyBwYXRsZW4pOwotZGlmZiAtcnVwIGZyZWQvbGQv bGRsYW5nLmMgYmludXRpbHMtd2l0aC1nb2xkLTIuNDUuNTAtOGU5OTJjY2IxZTQvbGQvbGRsYW5n LmMKLS0tLSBmcmVkL2xkL2xkbGFuZy5jCTIwMjUtMTItMTggMTM6NDI6MTcuNjAxNDk4MzU0ICsw MDAwCi0rKysgYmludXRpbHMtd2l0aC1nb2xkLTIuNDUuNTAtOGU5OTJjY2IxZTQvbGQvbGRsYW5n LmMJMjAyNS0xMi0xOCAxNDowMDo1OS45MTQxODc3NDAgKzAwMDAKLUBAIC0zMzgsNyArMzM4LDcg QEAgc3RhdF9sZGlybmFtZSAoY29uc3QgY2hhciAqbmFtZSkKLSBzdGF0aWMgY2hhciAqCi0gYXJj aGl2ZV9wYXRoIChjb25zdCBjaGFyICpwYXR0ZXJuKQotIHsKLS0gIGNoYXIgKnAgPSBOVUxMOwot KyAgY29uc3QgY2hhciAqcCA9IE5VTEw7Ci0gCi0gICBpZiAobGlua19pbmZvLnBhdGhfc2VwYXJh dG9yID09IDApCi0gICAgIHJldHVybiBwOwotLS0tIGZyZWQvYmZkL3RhcmdldHMuYwkyMDI1LTEy LTE4IDE0OjA4OjA2Ljg1OTEwODA4NCArMDAwMAotKysrIGJpbnV0aWxzLXdpdGgtZ29sZC0yLjQ1 LjUwLThlOTkyY2NiMWU0L2JmZC90YXJnZXRzLmMJMjAyNS0xMi0xOCAxNDoxMDoxOC43MjYwMTAw NjUgKzAwMDAKLUBAIC0xNjc1LDExICsxNjc1LDEyIEBAIGJmZF9nZXRfdGFyZ2V0X2luZm8gKGNv bnN0IGNoYXIgKnRhcmdldF8KLSAJICAgICAgaWYgKCFfYmZkX2ZpbmRfYXJjaF9tYXRjaCAodG5h bWUsIGFyY2hlcywgZGVmX3RhcmdldF9hcmNoKSkKLSAJCXsKLSAJCSAgY2hhciBuZXdfdG5hbWVb NTBdOwotKwkJICBjaGFyICogcDsKLSAKLSAJCSAgc3RyY3B5IChuZXdfdG5hbWUsIGh5cCk7Ci0t CQkgIHdoaWxlICgoaHlwID0gc3RycmNociAobmV3X3RuYW1lLCAnLScpKSAhPSBOVUxMKQotKwkJ ICB3aGlsZSAoKHAgPSBzdHJyY2hyIChuZXdfdG5hbWUsICctJykpICE9IE5VTEwpCi0gCQkgICAg ewotLQkJICAgICAgKmh5cCA9IDA7Ci0rCQkgICAgICAqcCA9IDA7Ci0gCQkgICAgICBpZiAoX2Jm ZF9maW5kX2FyY2hfbWF0Y2ggKG5ld190bmFtZSwgYXJjaGVzLAotIAkJCQkJCWRlZl90YXJnZXRf YXJjaCkpCi0gCQkJYnJlYWs7Ci0tLS0gZnJlZC9iaW51dGlscy9wcmRiZy5jCTIwMjUtMTItMTgg MTQ6NTY6MDQuMTQ5MTU1NjkzICswMDAwCi0rKysgYmludXRpbHMtd2l0aC1nb2xkLTIuNDUuNTAt OGU5OTJjY2IxZTQvYmludXRpbHMvcHJkYmcuYwkyMDI1LTEyLTE4IDE0OjU2OjM4LjU4MzM0MTk2 NCArMDAwMAotQEAgLTI2NDEsMjQgKzI2NDEsMjYgQEAgdGdfc3RhcnRfZnVuY3Rpb24gKHZvaWQg KnAsIGNvbnN0IGNoYXIgKgotICAgaW5mby0+c3RhY2stPm1ldGhvZCA9IE5VTEw7Ci0gICBpZiAo ZG5hbWUgIT0gTlVMTCkKLSAgICAgewotLSAgICAgIGNvbnN0IGNoYXIgKnNlcDsKLSsgICAgICBj aGFyICpzZXA7Ci0rICAgICAgY2hhciAqbjsKLSAgICAgICBzZXAgPSBzdHJzdHIgKGRuYW1lLCAi OjoiKTsKLSAgICAgICBpZiAoc2VwKQotIAl7Ci0gCSAgaW5mby0+c3RhY2stPm1ldGhvZCA9IGRu YW1lOwotIAkgIGRuYW1lID0gTlVMTDsKLSAJICAqc2VwID0gMDsKLS0JICBuYW1lID0gc2VwICsg MjsKLSsJICBuID0gc2VwICsgMjsKLSAJfQotICAgICAgIGVsc2UKLSAJewotIAkgIGluZm8tPnN0 YWNrLT5tZXRob2QgPSB4c3RyZHVwICgiIik7Ci0tCSAgbmFtZSA9IGRuYW1lOwotKwkgIG4gPSBk bmFtZTsKLSAJfQotLSAgICAgIHNlcCA9IHN0cmNociAobmFtZSwgJygnKTsKLSsgICAgICBzZXAg PSBzdHJjaHIgKG4sICcoJyk7Ci0gICAgICAgaWYgKHNlcCkKLSAJKnNlcCA9IDA7Ci0gICAgICAg LyogT2JzY3VyZSBmdW5jdGlvbnMgYXMgdHlwZV9pbmZvIGZ1bmN0aW9uLiAgKi8KLSsgICAgICBu YW1lID0gbjsKLSAgICAgfQotIAotICAgZnJlZSAoaW5mby0+c3RhY2stPnBhcmVudHMpOwotLS0t IGZyZWQvbGQvZW11bHRlbXBsL3BlcC5lbQkyMDI1LTEyLTE4IDE1OjA0OjQ0LjE0Mzk2ODY0MSAr MDAwMAotKysrIGJpbnV0aWxzLXdpdGgtZ29sZC0yLjQ1LjUwLThlOTkyY2NiMWU0L2xkL2VtdWx0 ZW1wbC9wZXAuZW0JMjAyNS0xMi0xOCAxNTowNjozOS43ODc1NTA0NDAgKzAwMDAKLUBAIC0xMTAx LDkgKzExMDEsMTAgQEAgcGVwX2ZpeHVwX3N0ZGNhbGxzICh2b2lkKQotIAotIAkgICAgaWYgKGxl YWRfYXQpCi0gCSAgICAgICpjbmFtZSA9ICdfJzsKLS0JICAgIGF0ID0gc3RyY2hyIChjbmFtZSwg J0AnKTsKLS0JICAgIGlmIChhdCkKLS0JICAgICAgKmF0ID0gMDsKLSsJICAgIGNoYXIgKiBjOwot KwkgICAgYyA9IHN0cmNociAoY25hbWUsICdAJyk7Ci0rCSAgICBpZiAoYykKLSsJICAgICAgKmMg PSAwOwotIAkgICAgc3ltID0gYmZkX2xpbmtfaGFzaF9sb29rdXAgKGxpbmtfaW5mby5oYXNoLCBj bmFtZSwgMCwgMCwgMSk7Ci0gCi0gCSAgICBpZiAoc3ltICYmIHN5bS0+dHlwZSA9PSBiZmRfbGlu a19oYXNoX2RlZmluZWQpCi0tLS0gZnJlZC9sZC9sZGVsZi5jCTIwMjUtMTItMTggMTU6MjQ6NDMu Nzc1NzcxMjY3ICswMDAwCi0rKysgYmludXRpbHMtd2l0aC1nb2xkLTIuNDUuNTAtOGU5OTJjY2Ix ZTQvbGQvbGRlbGYuYwkyMDI1LTEyLTE4IDE1OjI1OjMyLjE1MDk3MDcwOSArMDAwMAotQEAgLTUz NSw3ICs1MzUsNyBAQCBsZGVsZl9zZWFyY2hfbmVlZGVkIChjb25zdCBjaGFyICpwYXRoLCBzCi0g CQkJfQotIAotIAkJICAgICAgcmVwbGFjZW1lbnQgPSBmcmVlbWU7Ci0tCQkgICAgICBpZiAoKHNs YXNoID0gc3RycmNociAocmVwbGFjZW1lbnQsICcvJykpICE9IE5VTEwpCi0rCQkgICAgICBpZiAo KHNsYXNoID0gc3RycmNociAoZnJlZW1lLCAnLycpKSAhPSBOVUxMKQotIAkJCSogc2xhc2ggPSAw OwotIAkJICAgIH0KLSAJCX0KCmRpZmYgLS1naXQgYS9iaW51dGlscy1zdHJpcC1wbHVnaW4tZml4 LnBhdGNoIGIvYmludXRpbHMtc3RyaXAtcGx1Z2luLWZpeC5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggOWNhYTRhOC4uMDAwMDAwMAotLS0gYS9iaW51dGlscy1zdHJpcC1wbHVn aW4tZml4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTM3ICswLDAgQEAKLUZyb20gYTBkMzUw N2QxMDc1NWMyY2NhZWQzMjA0ZGIyMmMyMTMwOGJmYzRkNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKLUZyb206ICJILkouIEx1IiA8aGpsLnRvb2xzQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMjIg SnVsIDIwMjUgMTQ6MDk6NDggLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gc3RyaXA6IFByb3Blcmx5 IGhhbmRsZSBMTFZNIElSIGJpdGNvZGUKLQotY29tbWl0IDcxN2EzOGU5YTAyMTA5ZmNiY2IxOGJi MmVjM2FhMjUxZTJhZDBhMGQKLUF1dGhvcjogSC5KLiBMdSA8aGpsLnRvb2xzQGdtYWlsLmNvbT4K LURhdGU6ICAgU3VuIE1heSA0IDA1OjEyOjQ2IDIwMjUgKzA4MDAKLQotICAgIHN0cmlwOiBBZGQg R0NDIExUTyBJUiBzdXBwb3J0Ci0KLWFkZGVkICItUiAuZ251Lmx0b18uKiIgdG8gc3RyaXAgdG8g cmVtb3ZlIGFsbCBHQ0MgTFRPIHNlY3Rpb25zLiAgV2hlbgotIi1SIC5nbnUubHRvXy4qIiBpcyB1 c2VkLCB0aGUgcGx1Z2luIHRhcmdldCBpcyBpZ25vcmVkIHNvIHRoYXQgYWxsIExUTwotc2VjdGlv bnMgYXJlIHN0cmlwcGVkIGFzIHRoZSByZWd1bGFyIHNlY3Rpb25zLiAgSXQgd29ya3MgZm9yIHRo ZSBzbGltCi1HQ0MgTFRPIElSIHNpbmNlIHRoZSBHQ0MgTFRPIElSIGlzIHN0b3JlZCBpbiB0aGUg cmVndWxhciBzZWN0aW9ucy4gIFdoZW4KLXRoZSBwbHVnaW4gdGFyZ2V0IGlzIGlnbm9yZWQsIHRo ZSBHQ0MgTFRPIElSIGNhbiBiZSByZWNvZ25pemVkIGFzIHRoZQotbm9ybWFsIG9iamVjdCBmaWxl cy4gIEJ1dCBpdCBkb2Vzbid0IHdvcmsgZm9yIHRoZSBzbGltIExMVk0gSVIgd2hpY2gKLWlzIHN0 b3JlZCBpbiBhIHN0YW5kYWxvbmUgZmlsZS4KLQotMS4gQWRkIGJmZF9jaGVja19mb3JtYXRfbWF0 Y2hlc19sdG8gYW5kIGJmZF9jaGVja19mb3JtYXRfbHRvIHRvIHRha2UgYW4KLWFyZ3VtZW50LCBs dG9fc2VjdGlvbnNfcmVtb3ZlZCwgdG8gaW5kaWNhdGUgaWYgYWxsIExUTyBzZWN0aW9ucyBzaG91 bGQKLWJlIHJlbW92ZWQuCi0yLiBVcGRhdGUgc3RyaXAgdG8gYWx3YXlzIGVuYWJsZSB0aGUgcGx1 Z2luIHRhcmdldCBzbyB0aGF0IHRoZSBwbHVnaW4KLXRhcmdldCBpcyBlbmFibGVkIHdoZW4gY2hl Y2tpbmcgZm9yIGJmZF9hcmNoaXZlLgotMy4gVXBkYXRlIHN0cmlwIHRvIGlnbm9yZSB0aGUgcGx1 Z2luIHRhcmdldCBmb3IgYmZkX29iamVjdCB3aGVuIGFsbCBMVE8KLXNlY3Rpb25zIHNob3VsZCBi ZSByZW1vdmVkLiAgSWYgdGhlIG9iamVjdCBpcyB1bmtub3duLCBjb3B5IGl0IGFzIGFuCi11bmtu b3duIGZpbGUgd2l0aG91dCBhbnkgbWVzc2FnZXMuCi00LiBUcmVhdCB0aGUgIi1SIC5sbHZtLmx0 byIgc3RyaXAgb3B0aW9uIGFzIHJlbW92aW5nIGFsbCBMVE8gc2VjdGlvbnMuCi0KLWJmZC8KLQot CVBSIGJpbnV0aWxzLzMzMTk4Ci0JKiBmb3JtYXQuYyAoYmZkX2NoZWNrX2Zvcm1hdF9sdG8pOiBO ZXcgZnVuY3Rpb24uCi0JKGJmZF9jaGVja19mb3JtYXQpOiBDYWxsIGJmZF9jaGVja19mb3JtYXRf bWF0Y2hlc19sdG8uCi0JKGJmZF9jaGVja19mb3JtYXRfbWF0Y2hlcyk6IFJlbmFtZWQgdG8gLi4u Ci0JKGJmZF9jaGVja19mb3JtYXRfbWF0Y2hlc19sdG8pOiBUaGlzLiAgQWRkIGFuIGFyZ3VtZW50 LAotCWx0b19zZWN0aW9uc19yZW1vdmVkLCB0byBpbmRpY2F0ZSBpZiBhbGwgTFRPIHNlY3Rpb25z IHNob3VsZCBiZQotCXJlbW92ZWQgYW5kIGRvbid0IG1hdGNoIHRoZSBwbHVnaW4gdGFyZ2V0IGlm IGx0b19zZWN0aW9uc19yZW1vdmVkCi0JaXMgdHJ1ZS4KLQkoYmZkX2NoZWNrX2Zvcm1hdF9tYXRj aGVzKTogQ2FsbCBiZmRfY2hlY2tfZm9ybWF0X21hdGNoZXNfbHRvLgotCSogYmZkLWluMi5oOiBS ZWdlbmVyYXRlZC4KLQotYmludXRpbHMvCi0KLQlQUiBiaW51dGlscy8zMzE5OAotCSogb2JqY29w eS5jIChjb3B5X2FyY2hpdmUpOiBDYWxsIGJmZF9jaGVja19mb3JtYXRfbHRvLCBpbnN0ZWFkCi0J b2YgYmZkX2NoZWNrX2Zvcm1hdCwgYW5kIHBhc3MgbHRvX3NlY3Rpb25zX3JlbW92ZWQuICBSZW1v dmUgdGhlCi0Jbm9uLWZhdGFsIG1lc3NhZ2Ugb24gdW5rbm93biBlbGVtZW50IHNpbmNlIGl0IHdp bGwgYmUgY29waWVkIGFzCi0JYW4gdW5rbm93biBmaWxlLgotCShjb3B5X2ZpbGUpOiBEb24ndCBj aGVjayBsdG9fc2VjdGlvbnNfcmVtb3ZlZCB3aGVuIGVuYWJsaW5nIExUTwotCXBsdWdpbiBpbiBz dHJpcC4KLQkoY29weV9maWxlKTogSWdub3JlIHRoZSBwbHVnaW4gdGFyZ2V0IGZpcnN0IGlmIGFs bCBMVE8gc2VjdGlvbnMKLQlzaG91bGQgYmUgcmVtb3ZlZC4gIFRyeSB3aXRoIHRoZSBwbHVnaW4g dGFyZ2V0IG5leHQgaWYgaWdub3JpbmcKLQl0aGUgcGx1Z2luIHRhcmdldCBmYWlsZWQgdG8gbWF0 Y2ggdGhlIGZvcm1hdC4KLQkoc3RyaXBfbWFpbik6IEFsc28gc2V0IGx0b19zZWN0aW9uc19yZW1v dmVkIGZvciAtUiAubGx2bS5sdG8uCi0JKiB0ZXN0c3VpdGUvYmludXRpbHMtYWxsL3g4Ni02NC9w cjMzMTk4LmM6IE5ldyBmaWxlLgotCSogdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC94ODYtNjQveDg2 LTY0LmV4cCAocnVuX3ByMzMxOThfdGVzdCk6Ci0JTmV3LgotCVJ1biBiaW51dGlscy8zMzE5OCB0 ZXN0cy4KLQkqIHRlc3RzdWl0ZS9saWIvYmludXRpbHMtY29tbW9uLmV4cCAobGx2bV9wbHVnX29w dCk6IE5ldy4KLQkoQ0xBTkdfRk9SX1RBUkdFVCk6IE5ldy4gIFNldCB0byAiY2xhbmciIGZvciBu YXRpdmUgYnVpbGQgaWYKLQkiY2xhbmcgLXYiIHJlcG9ydHMgImNsYW5nIHZlcnNpb24iLgotCi1T aWduZWQtb2ZmLWJ5OiBILkouIEx1IDxoamwudG9vbHNAZ21haWwuY29tPgotKGNoZXJyeSBwaWNr ZWQgZnJvbSBjb21taXQgZjc1MmJlOGY5MTZlZmE3MGFlYTljMmU0ZjY2NGM3NTY5MGZkMTM2YykK LS0tLQotIGJmZC9iZmQtaW4yLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg NyArCi0gYmZkL2Zvcm1hdC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDg0 ICsrKysrKysrLS0KLSBiaW51dGlscy9vYmpjb3B5LmMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgNDAgKysrLS0KLSAuLi4vdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC94ODYtNjQvcHIzMzE5 OC5jICAgfCAgIDQgKwotIC4uLi90ZXN0c3VpdGUvYmludXRpbHMtYWxsL3g4Ni02NC94ODYtNjQu ZXhwICB8IDE1OCArKysrKysrKysrKysrKysrKysKLSBiaW51dGlscy90ZXN0c3VpdGUvbGliL2Jp bnV0aWxzLWNvbW1vbi5leHAgICAgfCAgMjcgKysrCi0gNiBmaWxlcyBjaGFuZ2VkLCAyOTkgaW5z ZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGJpbnV0aWxz L3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwveDg2LTY0L3ByMzMxOTguYwotCi1kaWZmIC0tZ2l0IGEv YmZkL2JmZC1pbjIuaCBiL2JmZC9iZmQtaW4yLmgKLWluZGV4IGIwMTNlZjk1NGRhLi4yZmYzZTkz MGJmYSAxMDA2NDQKLS0tLSBhL2JmZC9iZmQtaW4yLmgKLSsrKyBiL2JmZC9iZmQtaW4yLmgKLUBA IC0yOTAzLDggKzI5MDMsMTUgQEAgYm9vbCBnZW5lcmljX2NvcmVfZmlsZV9tYXRjaGVzX2V4ZWN1 dGFibGVfcAotICAgIChiZmQgKmNvcmVfYmZkLCBiZmQgKmV4ZWNfYmZkKTsKLSAKLSAvKiBFeHRy YWN0ZWQgZnJvbSBmb3JtYXQuYy4gICovCi0rYm9vbCBiZmRfY2hlY2tfZm9ybWF0X2x0byAoYmZk ICphYmZkLCBiZmRfZm9ybWF0IGZvcm1hdCwKLSsgICAgYm9vbCBsdG9fc2VjdGlvbnNfcmVtb3Zl ZCk7Ci0rCi0gYm9vbCBiZmRfY2hlY2tfZm9ybWF0IChiZmQgKmFiZmQsIGJmZF9mb3JtYXQgZm9y bWF0KTsKLSAKLStib29sIGJmZF9jaGVja19mb3JtYXRfbWF0Y2hlc19sdG8KLSsgICAoYmZkICph YmZkLCBiZmRfZm9ybWF0IGZvcm1hdCwgY2hhciAqKiptYXRjaGluZywKLSsgICAgYm9vbCBsdG9f c2VjdGlvbnNfcmVtb3ZlZCk7Ci0rCi0gYm9vbCBiZmRfY2hlY2tfZm9ybWF0X21hdGNoZXMKLSAg ICAoYmZkICphYmZkLCBiZmRfZm9ybWF0IGZvcm1hdCwgY2hhciAqKiptYXRjaGluZyk7Ci0gCi1k aWZmIC0tZ2l0IGEvYmZkL2Zvcm1hdC5jIGIvYmZkL2Zvcm1hdC5jCi1pbmRleCBhOTA5YjcwZmU4 MS4uZjNhMDc3NGFmMDggMTAwNjQ0Ci0tLS0gYS9iZmQvZm9ybWF0LmMKLSsrKyBiL2JmZC9mb3Jt YXQuYwotQEAgLTU2LDE2ICs1NiwxOSBAQCBleHRlcm4gY29uc3Qgc2l6ZV90IF9iZmRfdGFyZ2V0 X3ZlY3Rvcl9lbnRyaWVzOwotIAotIC8qCi0gRlVOQ1RJT04KLS0JYmZkX2NoZWNrX2Zvcm1hdAot KwliZmRfY2hlY2tfZm9ybWF0X2x0bwotIAotIFNZTk9QU0lTCi0tCWJvb2wgYmZkX2NoZWNrX2Zv cm1hdCAoYmZkICphYmZkLCBiZmRfZm9ybWF0IGZvcm1hdCk7Ci0rCWJvb2wgYmZkX2NoZWNrX2Zv cm1hdF9sdG8gKGJmZCAqYWJmZCwgYmZkX2Zvcm1hdCBmb3JtYXQsCi0rCQkJCSAgIGJvb2wgbHRv X3NlY3Rpb25zX3JlbW92ZWQpOwotIAotIERFU0NSSVBUSU9OCi0gCVZlcmlmeSBpZiB0aGUgZmls ZSBhdHRhY2hlZCB0byB0aGUgQkZEIEB2YXJ7YWJmZH0gaXMgY29tcGF0aWJsZQotIAl3aXRoIHRo ZSBmb3JtYXQgQHZhcntmb3JtYXR9IChpLmUuLCBvbmUgb2YgPDxiZmRfb2JqZWN0Pj4sCi0gCTw8 YmZkX2FyY2hpdmU+PiBvciA8PGJmZF9jb3JlPj4pLgotIAotKwlJZiBMVE9fU0VDVElPTl9SRU1P VkVEIGlzIHRydWUsIGlnbm9yZSBwbHVnaW4gdGFyZ2V0LgotKwotIAlJZiB0aGUgQkZEIGhhcyBi ZWVuIHNldCB0byBhIHNwZWNpZmljIHRhcmdldCBiZWZvcmUgdGhlCi0gCWNhbGwsIG9ubHkgdGhl IG5hbWVkIHRhcmdldCBhbmQgZm9ybWF0IGNvbWJpbmF0aW9uIGlzCi0gCWNoZWNrZWQuIElmIHRo ZSB0YXJnZXQgaGFzIG5vdCBiZWVuIHNldCwgb3IgaGFzIGJlZW4gc2V0IHRvCi1AQCAtOTksMTAg KzEwMiwzMSBAQCBERVNDUklQVElPTgotIAlpdHNlbGYuCi0gKi8KLSAKLStib29sCi0rYmZkX2No ZWNrX2Zvcm1hdF9sdG8gKGJmZCAqYWJmZCwgYmZkX2Zvcm1hdCBmb3JtYXQsCi0rCQkgICAgICBi b29sIGx0b19zZWN0aW9uc19yZW1vdmVkKQotK3sKLSsgIHJldHVybiBiZmRfY2hlY2tfZm9ybWF0 X21hdGNoZXNfbHRvIChhYmZkLCBmb3JtYXQsIE5VTEwsCi0rCQkJCSAgICAgICBsdG9fc2VjdGlv bnNfcmVtb3ZlZCk7Ci0rfQotKwotKwotKy8qCi0rRlVOQ1RJT04KLSsJYmZkX2NoZWNrX2Zvcm1h dAotKwotK1NZTk9QU0lTCi0rCWJvb2wgYmZkX2NoZWNrX2Zvcm1hdCAoYmZkICphYmZkLCBiZmRf Zm9ybWF0IGZvcm1hdCk7Ci0rCi0rREVTQ1JJUFRJT04KLSsJU2ltaWxhciB0byBiZmRfY2hlY2tf Zm9ybWF0X3BsdWdpbiwgZXhjZXB0IHBsdWdpbiB0YXJnZXQgaXNuJ3QKLSsJaWdub3JlZC4KLSsq LwotKwotIGJvb2wKLSBiZmRfY2hlY2tfZm9ybWF0IChiZmQgKmFiZmQsIGJmZF9mb3JtYXQgZm9y bWF0KQotIHsKLS0gIHJldHVybiBiZmRfY2hlY2tfZm9ybWF0X21hdGNoZXMgKGFiZmQsIGZvcm1h dCwgTlVMTCk7Ci0rICByZXR1cm4gYmZkX2NoZWNrX2Zvcm1hdF9tYXRjaGVzX2x0byAoYWJmZCwg Zm9ybWF0LCBOVUxMLCBmYWxzZSk7Ci0gfQotIAotIHN0cnVjdCBiZmRfcHJlc2VydmUKLUBAIC00 MDcsMTEgKzQzMSwxMiBAQCBiZmRfc2V0X2x0b190eXBlIChiZmQgKmFiZmQgQVRUUklCVVRFX1VO VVNFRCkKLSAKLSAvKgotIEZVTkNUSU9OCi0tCWJmZF9jaGVja19mb3JtYXRfbWF0Y2hlcwotKwli ZmRfY2hlY2tfZm9ybWF0X21hdGNoZXNfbHRvCi0gCi0gU1lOT1BTSVMKLS0JYm9vbCBiZmRfY2hl Y2tfZm9ybWF0X21hdGNoZXMKLS0JICAoYmZkICphYmZkLCBiZmRfZm9ybWF0IGZvcm1hdCwgY2hh ciAqKiptYXRjaGluZyk7Ci0rCWJvb2wgYmZkX2NoZWNrX2Zvcm1hdF9tYXRjaGVzX2x0bwotKwkg IChiZmQgKmFiZmQsIGJmZF9mb3JtYXQgZm9ybWF0LCBjaGFyICoqKm1hdGNoaW5nLAotKwkgICBi b29sIGx0b19zZWN0aW9uc19yZW1vdmVkKTsKLSAKLSBERVNDUklQVElPTgotIAlMaWtlIDw8YmZk X2NoZWNrX2Zvcm1hdD4+LCBleGNlcHQgd2hlbiBpdCByZXR1cm5zIEZBTFNFIHdpdGgKLUBAIC00 MjMsMTAgKzQ0OCwxNCBAQCBERVNDUklQVElPTgotIAotIAlXaGVuIGRvbmUgd2l0aCB0aGUgbGlz dCB0aGF0IEB2YXJ7bWF0Y2hpbmd9IHBvaW50cyB0bywgdGhlIGNhbGxlcgotIAlzaG91bGQgZnJl ZSBpdC4KLSsKLSsJSWYgTFRPX1NFQ1RJT05fUkVNT1ZFRCBpcyB0cnVlLCBpZ25vcmUgcGx1Z2lu IHRhcmdldC4KLSAqLwotIAotIGJvb2wKLS1iZmRfY2hlY2tfZm9ybWF0X21hdGNoZXMgKGJmZCAq YWJmZCwgYmZkX2Zvcm1hdCBmb3JtYXQsIGNoYXIgKioqbWF0Y2hpbmcpCi0rYmZkX2NoZWNrX2Zv cm1hdF9tYXRjaGVzX2x0byAoYmZkICphYmZkLCBiZmRfZm9ybWF0IGZvcm1hdCwKLSsJCQkgICAg ICBjaGFyICoqKm1hdGNoaW5nLAotKwkJCSAgICAgIGJvb2wgbHRvX3NlY3Rpb25zX3JlbW92ZWQg QVRUUklCVVRFX1VOVVNFRCkKLSB7Ci0gICBleHRlcm4gY29uc3QgYmZkX3RhcmdldCBiaW5hcnlf dmVjOwotICAgY29uc3QgYmZkX3RhcmdldCAqIGNvbnN0ICp0YXJnZXQ7Ci1AQCAtNDk1LDggKzUy NCwxMyBAQCBiZmRfY2hlY2tfZm9ybWF0X21hdGNoZXMgKGJmZCAqYWJmZCwgYmZkX2Zvcm1hdCBm b3JtYXQsIGNoYXIgKioqbWF0Y2hpbmcpCi0gICBpZiAoIWJmZF9wcmVzZXJ2ZV9zYXZlIChhYmZk LCAmcHJlc2VydmUsIE5VTEwpKQotICAgICBnb3RvIGVycl9yZXQ7Ci0gCi0tICAvKiBJZiB0aGUg dGFyZ2V0IHR5cGUgd2FzIGV4cGxpY2l0bHkgc3BlY2lmaWVkLCBqdXN0IGNoZWNrIHRoYXQgdGFy Z2V0LiAgKi8KLS0gIGlmICghYWJmZC0+dGFyZ2V0X2RlZmF1bHRlZCkKLSsgIC8qIElmIHRoZSB0 YXJnZXQgdHlwZSB3YXMgZXhwbGljaXRseSBzcGVjaWZpZWQsIGp1c3QgY2hlY2sgdGhhdCB0YXJn ZXQuCi0rICAgICBJZiBMVE9fU0VDVElPTl9SRU1PVkVEIGlzIHRydWUsIGRvbid0IG1hdGNoIHRo ZSBwbHVnaW4gdGFyZ2V0LiAgKi8KLSsgIGlmICghYWJmZC0+dGFyZ2V0X2RlZmF1bHRlZAotKyNp ZiBCRkRfU1VQUE9SVFNfUExVR0lOUwotKyAgICAgICYmICghbHRvX3NlY3Rpb25zX3JlbW92ZWQg fHwgIWJmZF9wbHVnaW5fdGFyZ2V0X3AgKGFiZmQtPnh2ZWMpKQotKyNlbmRpZgotKyAgICAgKQot ICAgICB7Ci0gICAgICAgaWYgKGJmZF9zZWVrIChhYmZkLCAwLCBTRUVLX1NFVCkgIT0gMCkJLyog cmV3aW5kISAqLwotIAlnb3RvIGVycl9yZXQ7Ci1AQCAtNTQwLDEwICs1NzQsMTIgQEAgYmZkX2No ZWNrX2Zvcm1hdF9tYXRjaGVzIChiZmQgKmFiZmQsIGJmZF9mb3JtYXQgZm9ybWF0LCBjaGFyICoq Km1hdGNoaW5nKQotIAkgc2VhcmNoaW5nLiAgRG9uJ3QgbWF0Y2ggdGhlIHBsdWdpbiB0YXJnZXQg aWYgd2UgaGF2ZSBhbm90aGVyCi0gCSBhbHRlcm5hdGl2ZSBzaW5jZSB3ZSB3YW50IHRvIHByb3Bl cmx5IHNldCB0aGUgaW5wdXQgZm9ybWF0Ci0gCSBiZWZvcmUgYWxsb3dpbmcgYSBwbHVnaW4gdG8g Y2xhaW0gdGhlIGZpbGUuICBBbHNvLCBkb24ndAotLQkgY2hlY2sgdGhlIGRlZmF1bHQgdGFyZ2V0 IHR3aWNlLiAgKi8KLSsJIGNoZWNrIHRoZSBkZWZhdWx0IHRhcmdldCB0d2ljZS4gICBJZiBMVE9f U0VDVElPTl9SRU1PVkVEIGlzCi0rCSB0cnVlLCBkb24ndCBtYXRjaCB0aGUgcGx1Z2luIHRhcmdl dC4gICovCi0gICAgICAgaWYgKCp0YXJnZXQgPT0gJmJpbmFyeV92ZWMKLSAjaWYgQkZEX1NVUFBP UlRTX1BMVUdJTlMKLS0JICB8fCAobWF0Y2hfY291bnQgIT0gMCAmJiBiZmRfcGx1Z2luX3Rhcmdl dF9wICgqdGFyZ2V0KSkKLSsJICB8fCAoKGx0b19zZWN0aW9uc19yZW1vdmVkIHx8IG1hdGNoX2Nv dW50ICE9IDApCi0rCSAgICAgICYmIGJmZF9wbHVnaW5fdGFyZ2V0X3AgKCp0YXJnZXQpKQotICNl bmRpZgotIAkgIHx8ICghYWJmZC0+dGFyZ2V0X2RlZmF1bHRlZCAmJiAqdGFyZ2V0ID09IHNhdmVf dGFyZykpCi0gCWNvbnRpbnVlOwotQEAgLTc5NSw2ICs4MzEsMzIgQEAgYmZkX2NoZWNrX2Zvcm1h dF9tYXRjaGVzIChiZmQgKmFiZmQsIGJmZF9mb3JtYXQgZm9ybWF0LCBjaGFyICoqKm1hdGNoaW5n KQotICAgcmV0dXJuIGZhbHNlOwotIH0KLSAKLSsvKgotK0ZVTkNUSU9OCi0rCWJmZF9jaGVja19m b3JtYXRfbWF0Y2hlcwotKwotK1NZTk9QU0lTCi0rCWJvb2wgYmZkX2NoZWNrX2Zvcm1hdF9tYXRj aGVzCi0rCSAgKGJmZCAqYWJmZCwgYmZkX2Zvcm1hdCBmb3JtYXQsIGNoYXIgKioqbWF0Y2hpbmcp OwotKwotK0RFU0NSSVBUSU9OCi0rCUxpa2UgPDxiZmRfY2hlY2tfZm9ybWF0Pj4sIGV4Y2VwdCB3 aGVuIGl0IHJldHVybnMgRkFMU0Ugd2l0aAotKwk8PGJmZF9lcnJubz4+IHNldCB0byA8PGJmZF9l cnJvcl9maWxlX2FtYmlndW91c2x5X3JlY29nbml6ZWQ+Pi4gIEluIHRoYXQKLSsJY2FzZSwgaWYg QHZhcnttYXRjaGluZ30gaXMgbm90IE5VTEwsIGl0IHdpbGwgYmUgZmlsbGVkIGluIHdpdGgKLSsJ YSBOVUxMLXRlcm1pbmF0ZWQgbGlzdCBvZiB0aGUgbmFtZXMgb2YgdGhlIGZvcm1hdHMgdGhhdCBt YXRjaGVkLAotKwlhbGxvY2F0ZWQgd2l0aCA8PG1hbGxvYz4+LgotKwlUaGVuIHRoZSB1c2VyIG1h eSBjaG9vc2UgYSBmb3JtYXQgYW5kIHRyeSBhZ2Fpbi4KLSsKLSsJV2hlbiBkb25lIHdpdGggdGhl IGxpc3QgdGhhdCBAdmFye21hdGNoaW5nfSBwb2ludHMgdG8sIHRoZSBjYWxsZXIKLSsJc2hvdWxk IGZyZWUgaXQuCi0rKi8KLSsKLStib29sCi0rYmZkX2NoZWNrX2Zvcm1hdF9tYXRjaGVzIChiZmQg KmFiZmQsIGJmZF9mb3JtYXQgZm9ybWF0LCBjaGFyICoqKm1hdGNoaW5nKQotK3sKLSsgIHJldHVy biBiZmRfY2hlY2tfZm9ybWF0X21hdGNoZXNfbHRvIChhYmZkLCBmb3JtYXQsIG1hdGNoaW5nLCBm YWxzZSk7Ci0rfQotKwotIC8qCi0gRlVOQ1RJT04KLSAJYmZkX3NldF9mb3JtYXQKLWRpZmYgLS1n aXQgYS9iaW51dGlscy9vYmpjb3B5LmMgYi9iaW51dGlscy9vYmpjb3B5LmMKLWluZGV4IDhjOTA3 NzM1NmYxLi4wMzhmNjU1NWMwYiAxMDA2NDQKLS0tLSBhL2JpbnV0aWxzL29iamNvcHkuYwotKysr IGIvYmludXRpbHMvb2JqY29weS5jCi1AQCAtMzc0OCwxMCArMzc0OCwxMyBAQCBjb3B5X2FyY2hp dmUgKGJmZCAqaWJmZCwgYmZkICpvYmZkLCBjb25zdCBjaGFyICpvdXRwdXRfdGFyZ2V0LAotICAg ICAgIGwtPm9iZmQgPSBOVUxMOwotICAgICAgIGxpc3QgPSBsOwotIAotKyNpZiBCRkRfU1VQUE9S VFNfUExVR0lOUwotKyAgICAgIC8qIElnbm9yZSBwbHVnaW4gdGFyZ2V0IGlmIGFsbCBMVE8gc2Vj dGlvbnMgc2hvdWxkIGJlIHJlbW92ZWQuICAqLwotKyAgICAgIG9rX29iamVjdCA9IGJmZF9jaGVj a19mb3JtYXRfbHRvICh0aGlzX2VsZW1lbnQsIGJmZF9vYmplY3QsCi0rCQkJCQlsdG9fc2VjdGlv bnNfcmVtb3ZlZCk7Ci0rI2Vsc2UKLSAgICAgICBva19vYmplY3QgPSBiZmRfY2hlY2tfZm9ybWF0 ICh0aGlzX2VsZW1lbnQsIGJmZF9vYmplY3QpOwotLSAgICAgIGlmICghb2tfb2JqZWN0KQotLQli ZmRfbm9uZmF0YWxfbWVzc2FnZSAoTlVMTCwgdGhpc19lbGVtZW50LCBOVUxMLAotLQkJCSAgICAg IF8oIlVuYWJsZSB0byByZWNvZ25pc2UgdGhlIGZvcm1hdCBvZiBmaWxlIikpOwotKyNlbmRpZgot IAotICAgICAgIC8qIFBSIGJpbnV0aWxzLzMxMTA6IENvcGUgd2l0aCBhcmNoaXZlcwotIAkgY29u dGFpbmluZyBtdWx0aXBsZSB0YXJnZXQgdHlwZXMuICAqLwotQEAgLTM4ODcsOSArMzg5MCw4IEBA IGNvcHlfZmlsZSAoY29uc3QgY2hhciAqaW5wdXRfZmlsZW5hbWUsIGNvbnN0IGNoYXIgKm91dHB1 dF9maWxlbmFtZSwgaW50IG9mZCwKLSAgICAgfQotIAotICNpZiBCRkRfU1VQUE9SVFNfUExVR0lO UwotLSAgLyogRW5hYmxlIExUTyBwbHVnaW4gaW4gc3RyaXAgdW5sZXNzIGFsbCBMVE8gc2VjdGlv bnMgc2hvdWxkIGJlCi0tICAgICByZW1vdmVkLiAgKi8KLS0gIGlmIChpc19zdHJpcCAmJiAhdGFy Z2V0ICYmICFsdG9fc2VjdGlvbnNfcmVtb3ZlZCkKLSsgIC8qIEVuYWJsZSBMVE8gcGx1Z2luIGlu IHN0cmlwLiAgKi8KLSsgIGlmIChpc19zdHJpcCAmJiAhdGFyZ2V0KQotICAgICB0YXJnZXQgPSAi cGx1Z2luIjsKLSAjZW5kaWYKLSAKLUBAIC0zOTg3LDcgKzM5ODksMjEgQEAgY29weV9maWxlIChj b25zdCBjaGFyICppbnB1dF9maWxlbmFtZSwgY29uc3QgY2hhciAqb3V0cHV0X2ZpbGVuYW1lLCBp bnQgb2ZkLAotIAkJCSBpbnB1dF9hcmNoKSkKLSAJc3RhdHVzID0gMTsKLSAgICAgfQotLSAgZWxz ZSBpZiAoYmZkX2NoZWNrX2Zvcm1hdF9tYXRjaGVzIChpYmZkLCBiZmRfb2JqZWN0LCAmb2JqX21h dGNoaW5nKSkKLSsgIGVsc2UgaWYgKAotKyNpZiBCRkRfU1VQUE9SVFNfUExVR0lOUwotKwkgICAv KiBJZ25vcmUgcGx1Z2luIHRhcmdldCBmaXJzdCBpZiBhbGwgTFRPIHNlY3Rpb25zIHNob3VsZCBi ZQotKwkgICAgICByZW1vdmVkLiAgVHJ5IHdpdGggcGx1Z2luIHRhcmdldCBuZXh0IGlmIGlnbm9y aW5nIHBsdWdpbgotKwkgICAgICB0YXJnZXQgZmFpbHMgdG8gbWF0Y2ggdGhlIGZvcm1hdC4gICov Ci0rCSAgIGJmZF9jaGVja19mb3JtYXRfbWF0Y2hlc19sdG8gKGliZmQsIGJmZF9vYmplY3QsICZv YmpfbWF0Y2hpbmcsCi0rCQkJCQkgbHRvX3NlY3Rpb25zX3JlbW92ZWQpCi0rCSAgIHx8IChsdG9f c2VjdGlvbnNfcmVtb3ZlZAotKwkgICAgICAgJiYgYmZkX2NoZWNrX2Zvcm1hdF9tYXRjaGVzX2x0 byAoaWJmZCwgYmZkX29iamVjdCwKLSsJCQkJCQkmb2JqX21hdGNoaW5nLCBmYWxzZSkpCi0rI2Vs c2UKLSsJICAgYmZkX2NoZWNrX2Zvcm1hdF9tYXRjaGVzX2x0byAoaWJmZCwgYmZkX29iamVjdCwg Jm9ial9tYXRjaGluZywKLSsJCQkJCSBmYWxzZSkKLSsjZW5kaWYKLSsJICAgKQotICAgICB7Ci0g ICAgICAgYmZkICpvYmZkOwotICAgICBkb19jb3B5OgotQEAgLTUwNDMsOSArNTA1OSwxMyBAQCBz dHJpcF9tYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQotICNpZiBCRkRfU1VQUE9SVFNfUExV R0lOUwotICAgLyogQ2hlY2sgaWYgYWxsIEdDQyBMVE8gc2VjdGlvbnMgc2hvdWxkIGJlIHJlbW92 ZWQsIGFzc3VtaW5nIGFsbCBMVE8KLSAgICAgIHNlY3Rpb25zIHdpbGwgYmUgcmVtb3ZlZCB3aXRo IC1SIC5nbnUubHRvXy4qLiAgKiBSZW1vdmUgLmdudS5sdG9fLioKLS0gICAgIHNlY3Rpb25zIHdp bGwgYWxzbyByZW1vdmUgLmdudS5kZWJ1Z2x0b18uICBzZWN0aW9ucy4gICovCi0tICBsdG9fc2Vj dGlvbnNfcmVtb3ZlZCA9ICEhZmluZF9zZWN0aW9uX2xpc3QgKCIuZ251Lmx0b18uKiIsIGZhbHNl LAotLQkJCQkJICAgICAgU0VDVElPTl9DT05URVhUX1JFTU9WRSk7Ci0rICAgICBzZWN0aW9ucyB3 aWxsIGFsc28gcmVtb3ZlIC5nbnUuZGVidWdsdG9fLiAgc2VjdGlvbnMuICBMTFZNIElSCi0rICAg ICBiaXRjb2RlIGlzIHN0b3JlZCBpbiAubGx2bS5sdG8gc2VjdGlvbiB3aGljaCB3aWxsIGJlIHJl bW92ZWQgd2l0aAotKyAgICAgLVIgLmxsdm0ubHRvLiAgKi8KLSsgIGx0b19zZWN0aW9uc19yZW1v dmVkID0gKCEhZmluZF9zZWN0aW9uX2xpc3QgKCIuZ251Lmx0b18uKiIsIGZhbHNlLAotKwkJCQkJ ICAgICAgIFNFQ1RJT05fQ09OVEVYVF9SRU1PVkUpCi0rCQkJICB8fCAhIWZpbmRfc2VjdGlvbl9s aXN0ICgiLmxsdm0ubHRvIiwgZmFsc2UsCi0rCQkJCQkgICAgICAgU0VDVElPTl9DT05URVhUX1JF TU9WRSkpOwotICNlbmRpZgotIAotICAgaSA9IG9wdGluZDsKLWRpZmYgLS1naXQgYS9iaW51dGls cy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL3g4Ni02NC9wcjMzMTk4LmMgYi9iaW51dGlscy90ZXN0 c3VpdGUvYmludXRpbHMtYWxsL3g4Ni02NC9wcjMzMTk4LmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0 Ci1pbmRleCAwMDAwMDAwMDAwMC4uY2QwMTMwY2FjZGYKLS0tLSAvZGV2L251bGwKLSsrKyBiL2Jp bnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwveDg2LTY0L3ByMzMxOTguYwotQEAgLTAsMCAr MSw0IEBACi0rdm9pZAotK2ZvbyAodm9pZCkKLSt7Ci0rfQotZGlmZiAtLWdpdCBhL2JpbnV0aWxz L3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwveDg2LTY0L3g4Ni02NC5leHAgYi9iaW51dGlscy90ZXN0 c3VpdGUvYmludXRpbHMtYWxsL3g4Ni02NC94ODYtNjQuZXhwCi1pbmRleCAwNWM3MzA0N2I2MC4u YWIxYWE1MGE5YTEgMTAwNjQ0Ci0tLS0gYS9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxs L3g4Ni02NC94ODYtNjQuZXhwCi0rKysgYi9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxs L3g4Ni02NC94ODYtNjQuZXhwCi1AQCAtOTYsMyArOTYsMTYxIEBAIGlmIHtbY2F0Y2ggInN5c3Rl bSBcImJ6aXAyIC1kYyAkdCA+ICR0ZW1wZmlsZVwiIl0gIT0gMH0gewotIAl9Ci0gICAgIH0KLSB9 Ci0rCi0rcHJvYyBydW5fcHIzMzE5OF90ZXN0IHsgZmF0IHN0cmlwX2ZsYWdzIH0gewotKyAgICBn bG9iYWwgc3JjZGlyCi0rICAgIGdsb2JhbCBzdWJkaXIKLSsgICAgZ2xvYmFsIGxsdm1fcGx1Z19v cHQKLSsgICAgZ2xvYmFsIEFSCi0rICAgIGdsb2JhbCBDTEFOR19GT1JfVEFSR0VUCi0rICAgIGds b2JhbCBOTQotKyAgICBnbG9iYWwgUkVBREVMRgotKyAgICBnbG9iYWwgU1RSSVAKLSsKLSsgICAg c2V0IHRlc3QgcHIzMzE5OAotKyAgICBzZXQgdGVzdG5hbWUgIiR7dGVzdH0ke2ZhdH0gd2l0aCAk c3RyaXBfZmxhZ3MiCi0rCi0rICAgIGlmIHsgW2lzdGFyZ2V0ICJ4ODZfNjQtKi1saW51eCotZ251 eDMyIl0gXAotKwkgfHwgIVtpbmZvIGV4aXN0cyBDTEFOR19GT1JfVEFSR0VUXQotKwkgfHwgW3N0 cmluZyBtYXRjaCAiIiAkbGx2bV9wbHVnX29wdF0gfSB0aGVuIHsKLSsJdW50ZXN0ZWQgJHRlc3Ru YW1lCi0rCXJldHVybgotKyAgICB9Ci0rCi0rICAgIHNldCBzcmMgJHNyY2Rpci8kc3ViZGlyLyR7 dGVzdH0uYwotKyAgICBzZXQgb2JqIHRtcGRpci8ke3Rlc3R9JHtmYXR9Lm8KLSsgICAgc2V0IGFy Y2hpdmUgdG1wZGlyLyR7dGVzdH0ke2ZhdH0uYQotKyAgICBzZXQgQ0xBTkdfQ0ZMQUdTICItYyAt TzIgLWZsdG8iCi0rICAgIGlmIHsgIiRmYXQiID09ICItZmF0IiB9IHsKLSsJYXBwZW5kIENMQU5H X0NGTEFHUyAiIC1mZmF0LWx0by1vYmplY3RzIgotKyAgICB9Ci0rCi0rICAgIGFwcGVuZCBzdHJp cF9mbGFncyAiIC0tc3RyaXAtdW5uZWVkZWQgJGxsdm1fcGx1Z19vcHQiCi0rCi0rICAgIHNldCBj bWQgIiRDTEFOR19GT1JfVEFSR0VUICRDTEFOR19DRkxBR1MgLW8gJG9iaiAkc3JjIgotKyAgICBz ZW5kX2xvZyAiJGNtZFxuIgotKyAgICB2ZXJib3NlICIkY21kIiAxCi0rICAgIGNhdGNoICJleGVj ICRjbWQiIGdvdAotKyAgICBpZiAhW3N0cmluZyBtYXRjaCAiIiAkZ290XSB0aGVuIHsKLSsJc2Vu ZF9sb2cgIiRnb3RcbiIKLSsJdmVyYm9zZSAiJGdvdCIgMQotKwlmYWlsICIkdGVzdG5hbWUgKCRv YmopIgotKwlyZXR1cm4KLSsgICAgfQotKwotKyAgICBzZXQgY21kICIkTk0gJGxsdm1fcGx1Z19v cHQgJG9ialxuIgotKyAgICBzZW5kX2xvZyAiJGNtZFxuIgotKyAgICB2ZXJib3NlICIkY21kIiAx Ci0rICAgIGNhdGNoICJleGVjICRjbWQiIGdvdAotKyAgICBpZiAhW3JlZ2V4cCAiMCsgVCBmb28i ICRnb3RdIHRoZW4gewotKwlzZW5kX2xvZyAiJGdvdFxuIgotKwl2ZXJib3NlICIkZ290IiAxCi0r CWZhaWwgIiR0ZXN0bmFtZSAoJG9iaikiCi0rCXJldHVybgotKyAgICB9Ci0rCi0rICAgIHBhc3Mg IiR0ZXN0bmFtZSAoJG9iaikiCi0rCi0rICAgIHNldCBjbWQgIiRTVFJJUCAkc3RyaXBfZmxhZ3Mg JG9iaiAtbyAke29ian0uc3RyaXAiCi0rICAgIHNlbmRfbG9nICIkY21kXG4iCi0rICAgIHZlcmJv c2UgIiRjbWQiIDEKLSsgICAgY2F0Y2ggImV4ZWMgJGNtZCIgZ290Ci0rICAgIGlmICFbc3RyaW5n IG1hdGNoICIiICRnb3RdIHRoZW4gewotKwlzZW5kX2xvZyAiJGdvdFxuIgotKwl2ZXJib3NlICIk Z290IiAxCi0rCWZhaWwgIiR0ZXN0bmFtZSAoc3RyaXAgJG9iaikiCi0rCXJldHVybgotKyAgICB9 Ci0rCi0rICAgIHNldCBjbWQgIiROTSAkbGx2bV9wbHVnX29wdCAke29ian0uc3RyaXAiCi0rICAg IHNlbmRfbG9nICIkY21kXG4iCi0rICAgIHZlcmJvc2UgIiRjbWQiIDEKLSsgICAgY2F0Y2ggImV4 ZWMgJGNtZCIgZ290Ci0rICAgIGlmICFbcmVnZXhwICIwKyBUIGZvbyIgJGdvdF0gdGhlbiB7Ci0r CXNlbmRfbG9nICIkZ290XG4iCi0rCXZlcmJvc2UgIiRnb3QiIDEKLSsJZmFpbCAiJHRlc3RuYW1l IChzdHJpcCAkb2JqKSIKLSsJcmV0dXJuCi0rICAgIH0KLSsKLSsgICAgaWYgeyAiJGZhdCIgPT0g Ii1mYXQiIH0gewotKwlzZXQgY21kICIkUkVBREVMRiAtU1cgJHtvYmp9LnN0cmlwIgotKwlzZW5k X2xvZyAiJGNtZFxuIgotKwl2ZXJib3NlICIkY21kIiAxCi0rCWNhdGNoICJleGVjICRjbWQiIGdv dAotKwlpZiBbcmVnZXhwICJcLmxsdm1cLmx0byAqTExWTV9MVE8gKiIgJGdvdF0gdGhlbiB7Ci0r CSAgICBzZW5kX2xvZyAiJGdvdFxuIgotKwkgICAgdmVyYm9zZSAiJGdvdCIgMQotKwkgICAgZmFp bCAiJHRlc3RuYW1lIChzdHJpcCAkb2JqKSIKLSsJICAgIHJldHVybgotKwl9Ci0rICAgIH0KLSsK LSsgICAgcGFzcyAiJHRlc3RuYW1lIChzdHJpcCAkb2JqKSIKLSsKLSsgICAgc2V0IGNtZCAiJEFS ICRsbHZtX3BsdWdfb3B0IC1zIC1yIC1jICRhcmNoaXZlICRvYmoiCi0rICAgIHNlbmRfbG9nICIk Y21kXG4iCi0rICAgIHZlcmJvc2UgIiRjbWQiIDEKLSsgICAgY2F0Y2ggImV4ZWMgJGNtZCIgZ290 Ci0rICAgIGlmICFbc3RyaW5nIG1hdGNoICIiICRnb3RdIHRoZW4gewotKwlzZW5kX2xvZyAiJGdv dFxuIgotKwl2ZXJib3NlICIkZ290IiAxCi0rCWZhaWwgIiR0ZXN0bmFtZSAoJGFyY2hpdmUpIgot KwlyZXR1cm4KLSsgICAgfQotKwotKyAgICBzZXQgY21kICIkTk0gJGxsdm1fcGx1Z19vcHQgJGFy Y2hpdmVcbiIKLSsgICAgc2VuZF9sb2cgIiRjbWRcbiIKLSsgICAgdmVyYm9zZSAiJGNtZCIgMQot KyAgICBjYXRjaCAiZXhlYyAkY21kIiBnb3QKLSsgICAgaWYgIVtyZWdleHAgIjArIFQgZm9vIiAk Z290XSB0aGVuIHsKLSsJc2VuZF9sb2cgIiRnb3RcbiIKLSsJdmVyYm9zZSAiJGdvdCIgMQotKwlm YWlsICIkdGVzdG5hbWUgKCRhcmNoaXZlKSIKLSsJcmV0dXJuCi0rICAgIH0KLSsKLSsgICAgcGFz cyAiJHRlc3RuYW1lICgkYXJjaGl2ZSkiCi0rCi0rICAgIHNldCBjbWQgIiRTVFJJUCAkc3RyaXBf ZmxhZ3MgJGFyY2hpdmUgLW8gJHthcmNoaXZlfS5zdHJpcCIKLSsgICAgc2VuZF9sb2cgIiRjbWRc biIKLSsgICAgdmVyYm9zZSAiJGNtZCIgMQotKyAgICBjYXRjaCAiZXhlYyAkY21kIiBnb3QKLSsg ICAgaWYgIVtzdHJpbmcgbWF0Y2ggIiIgJGdvdF0gdGhlbiB7Ci0rCXNlbmRfbG9nICIkZ290XG4i Ci0rCXZlcmJvc2UgIiRnb3QiIDEKLSsJZmFpbCAiJHRlc3RuYW1lIChzdHJpcCAkYXJjaGl2ZSki Ci0rCXJldHVybgotKyAgICB9Ci0rCi0rICAgIHNldCBjbWQgIiROTSAkbGx2bV9wbHVnX29wdCAk e2FyY2hpdmV9LnN0cmlwIgotKyAgICBzZW5kX2xvZyAiJGNtZFxuIgotKyAgICB2ZXJib3NlICIk Y21kIiAxCi0rICAgIGNhdGNoICJleGVjICRjbWQiIGdvdAotKyAgICBpZiAhW3JlZ2V4cCAiMCsg VCBmb28iICRnb3RdIHRoZW4gewotKwlzZW5kX2xvZyAiJGdvdFxuIgotKwl2ZXJib3NlICIkZ290 IiAxCi0rCWZhaWwgIiR0ZXN0bmFtZSAoc3RyaXAgJGFyY2hpdmUpIgotKwlyZXR1cm4KLSsgICAg fQotKwotKyAgICBpZiB7ICIkZmF0IiA9PSAiLWZhdCIgfSB7Ci0rCXNldCBjbWQgIiRSRUFERUxG IC1TVyAke2FyY2hpdmV9LnN0cmlwIgotKwlzZW5kX2xvZyAiJGNtZFxuIgotKwl2ZXJib3NlICIk Y21kIiAxCi0rCWNhdGNoICJleGVjICRjbWQiIGdvdAotKwlpZiBbcmVnZXhwICJcLmxsdm1cLmx0 byAqTExWTV9MVE8gKiIgJGdvdF0gdGhlbiB7Ci0rCSAgICBzZW5kX2xvZyAiJGdvdFxuIgotKwkg ICAgdmVyYm9zZSAiJGdvdCIgMQotKwkgICAgZmFpbCAiJHRlc3RuYW1lIChzdHJpcCAkYXJjaGl2 ZSkiCi0rCSAgICByZXR1cm4KLSsJfQotKyAgICB9Ci0rCi0rICAgIHBhc3MgIiR0ZXN0bmFtZSAo c3RyaXAgJGFyY2hpdmUpIgotK30KLSsKLStydW5fcHIzMzE5OF90ZXN0ICIiICItUiAuZ251Lmx0 b18qIC1SIC5nbnUuZGVidWdsdG9fKiAtUiAubGx2bS5sdG8gLU4gX19nbnVfbHRvX3YxIgotK3J1 bl9wcjMzMTk4X3Rlc3QgIi1mYXQiICItUiAuZ251Lmx0b18qIC1SIC5nbnUuZGVidWdsdG9fKiAt UiAubGx2bS5sdG8gLU4gX19nbnVfbHRvX3YxIgotK3J1bl9wcjMzMTk4X3Rlc3QgIiIgIi1SIC5s bHZtLmx0byIKLStydW5fcHIzMzE5OF90ZXN0ICItZmF0IiAiLVIgLmxsdm0ubHRvIgotZGlmZiAt LWdpdCBhL2JpbnV0aWxzL3Rlc3RzdWl0ZS9saWIvYmludXRpbHMtY29tbW9uLmV4cCBiL2JpbnV0 aWxzL3Rlc3RzdWl0ZS9saWIvYmludXRpbHMtY29tbW9uLmV4cAotaW5kZXggMmRhNzEzOGUyMTEu LmVjMjQ2ZjQ1MjU3IDEwMDY0NAotLS0tIGEvYmludXRpbHMvdGVzdHN1aXRlL2xpYi9iaW51dGls cy1jb21tb24uZXhwCi0rKysgYi9iaW51dGlscy90ZXN0c3VpdGUvbGliL2JpbnV0aWxzLWNvbW1v bi5leHAKLUBAIC0xODEzLDMgKzE4MTMsMzAgQEAgcHJvYyBnZXRfc3RhbmRhcmRfc2VjdGlvbl9u YW1lcyB7fSB7Ci0gICAgIH0KLSAgICAgcmV0dXJuCi0gfQotKwotK3NldCBsbHZtX3BsdWdfb3B0 ICIiCi0raWYgeyBbaXNuYXRpdmVdIH0gdGhlbiB7Ci0rICAgIGlmICFbaW5mbyBleGlzdHMgQ0xB TkdfRk9SX1RBUkdFVF0gdGhlbiB7Ci0rCWNhdGNoICJleGVjIGNsYW5nIC12IiBnb3QKLSsJaWYg W3JlZ2V4cCAiY2xhbmcgdmVyc2lvbiIgJGdvdF0gdGhlbiB7Ci0rCSAgICBzZXQgQ0xBTkdfRk9S X1RBUkdFVCBjbGFuZwotKwl9Ci0rICAgIH0KLSsgICAgaWYgW2luZm8gZXhpc3RzIENMQU5HX0ZP Ul9UQVJHRVRdIHRoZW4gewotKwlzZXQgbGx2bV9wbHVnX3NvIFtzdHJpbmcgdHJpbSBbZXhlYyAk Q0xBTkdfRk9SX1RBUkdFVCAtcHJpbnQtZmlsZS1uYW1lPUxMVk1nb2xkLnNvXV0KLSsJaWYgeyAk bGx2bV9wbHVnX3NvIG5lICJMTFZNZ29sZC5zbyIgfSB0aGVuIHsKLSsJICAgIHNldCBsbHZtX3Bs dWdfb3B0ICItLXBsdWdpbiAkbGx2bV9wbHVnX3NvIgotKwl9Ci0rCi0rCWlmIHsgJGxsdm1fcGx1 Z19vcHQgZXEgIiIgfSB0aGVuIHsKLSsJICAgICMgSWYgaXQgaXMgc3RpbGwgYmxhbmssIHRyeSBs bHZtLWNvbmZpZyAtLWxpYmRpci4gIENsYW5nCi0rCSAgICAjIHNlYXJjaGVzIENMQU5HX0lOU1RB TExfTElCRElSX0JBU0VOQU1FIHdoaWNoIGNvcnJlc3BvbmRzCi0rCSAgICAjIHRvIHRoaXMuCi0r CSAgICBjYXRjaCAiZXhlYyBsbHZtLWNvbmZpZyAtLWxpYmRpciIgZ290Ci0rCSAgICBpZiB7W2Zp bGUgaXNkaXJlY3RvcnkgJGdvdF0gXAotKwkJJiYgW2ZpbGUgaXNmaWxlICRnb3QvTExWTWdvbGQu c29dfSB0aGVuIHsKLSsJCXNldCBsbHZtX3BsdWdfb3B0ICItLXBsdWdpbiAkZ290L0xMVk1nb2xk LnNvIgotKwkgICAgfQotKwl9Ci0rICAgIH0KLSt9Ci0tLSAKLTIuNTAuMQotCg==