From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 26182 invoked from network); 12 Apr 2022 15:33:29 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 12 Apr 2022 15:33:29 -0000 Content-Type: multipart/mixed; boundary="===============3043532556517921529==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_New_packages=3A_highway=2C_libjxl=2C_qt-jpegxl-image-plugin?= To: ml@inbox.vuxu.org From: joshuakraemer Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Tue, 12 Apr 2022 17:33:28 +0200 List-Id: Message-ID: <20220412153328.v_K0F6BGWsS-5RffrB1FKYTTYNfVkfI_VbuZ4qfpkL0@z> GitHub notification mails are now in MIME to allow UTF8. --===============3043532556517921529== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgam9zaHVha3JhZW1lciBhZ2FpbnN0 IG1hc3RlciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5j b20vam9zaHVha3JhZW1lci92b2lkLXBhY2thZ2VzIGpwZWcteGwKaHR0cHM6Ly9naXRodWIuY29t L3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzMxMzk3CgpOZXcgcGFja2FnZXM6IGhpZ2h3 YXksIGxpYmp4bCwgcXQtanBlZ3hsLWltYWdlLXBsdWdpbgojIyMjIEdlbmVyYWwNCi0gW3hdIFRo aXMgaXMgYSBuZXcgcGFja2FnZSBhbmQgaXQgY29uZm9ybXMgdG8gdGhlIFtxdWFsaXR5IHJlcXVp cmVtZW50c10oaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9ibG9i L21hc3Rlci9NYW51YWwubWQjcXVhbGl0eS1yZXF1aXJlbWVudHMpDQoNCiMjIyMgSGF2ZSB0aGUg cmVzdWx0cyBvZiB0aGUgcHJvcG9zZWQgY2hhbmdlcyBiZWVuIHRlc3RlZD8NCi0gW3hdIEkgdXNl IHRoZSBwYWNrYWdlcyBhZmZlY3RlZCBieSB0aGUgcHJvcG9zZWQgY2hhbmdlcyBvbiBhIHJlZ3Vs YXIgYmFzaXMgYW5kIGNvbmZpcm0gdGhpcyBQUiB3b3JrcyBmb3IgbWUNCg0KVGhlc2UgcGFja2Fn ZXMgcHJvdmlkZSBzdXBwb3J0IGZvciB0aGUgSlBFRyBYTCBpbWFnZSBmb3JtYXQuCgpBIHBhdGNo IGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1 bGwvMzEzOTcucGF0Y2ggaXMgYXR0YWNoZWQ= --===============3043532556517921529== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-jpeg-xl-31397.patch" RnJvbSAxZGMxYTU0ZGQ3MTkxZDJjMzFjOTdkYjk4MTE1YzVhZTQ1ZDI5YmY1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Sm9zaHVhPTIwS3I9QzM9QTRtZXI/PSA8am9z aHVhQGtyYWVtZXIubGluaz4KRGF0ZTogV2VkLCA5IEp1biAyMDIxIDAwOjQ0OjM3ICswMjAwClN1 YmplY3Q6IFtQQVRDSCAxLzNdIE5ldyBwYWNrYWdlOiBoaWdod2F5LTAuMTYuMAoKLS0tCiBzcmNw a2dzL2hpZ2h3YXkvdGVtcGxhdGUgfCAxNyArKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5n ZWQsIDE3IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2hpZ2h3YXkv dGVtcGxhdGUKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2hpZ2h3YXkvdGVtcGxhdGUgYi9zcmNwa2dz L2hpZ2h3YXkvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw Li5hNWMxYmYyODRjNjgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2hpZ2h3YXkvdGVtcGxh dGUKQEAgLTAsMCArMSwxNyBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAnaGlnaHdheScKK3BrZ25h bWU9aGlnaHdheQordmVyc2lvbj0wLjE2LjAKK3JldmlzaW9uPTEKK2J1aWxkX3N0eWxlPWNtYWtl Citjb25maWd1cmVfYXJncz0iLURIV1lfU1lTVEVNX0dURVNUPU9OIgorY2hlY2tkZXBlbmRzPSJn dGVzdC1kZXZlbCIKK3Nob3J0X2Rlc2M9IkMrKyBsaWJyYXJ5IHByb3ZpZGluZyBwb3J0YWJsZSBT SU1EL3ZlY3RvciBpbnRyaW5zaWNzIgorbWFpbnRhaW5lcj0iSm9zaHVhIEtyw6RtZXIgPGpvc2h1 YUBrcmFlbWVyLmxpbms+IgorbGljZW5zZT0iQXBhY2hlLTIuMCIKK2hvbWVwYWdlPSJodHRwczov L2dpdGh1Yi5jb20vZ29vZ2xlL2hpZ2h3YXkiCitkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNv bS9nb29nbGUvaGlnaHdheS9hcmNoaXZlLyR7dmVyc2lvbn0udGFyLmd6IgorY2hlY2tzdW09NzQ2 Yzk1Nzg0NDZiZTZjNTI4NmU4ODQ2YzVmMGQ0MTE4YzBjMWYwNDIxOWM0MDFhYmFkY2I4YTVmMjA1 MTg5MworCitpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KKwljb25maWd1cmVfYXJncys9IiAt REJVSUxEX1RFU1RJTkc9T0ZGIgorZmkKCkZyb20gYWE3ZWM3ZTFiOGM3NjBmMWQyMjE4NGYxMTQz NWExNDdjNTgzZjUzYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP0pv c2h1YT0yMEtyPUMzPUE0bWVyPz0gPGpvc2h1YUBrcmFlbWVyLmxpbms+CkRhdGU6IFdlZCwgOSBK dW4gMjAyMSAwMTo1MjoyOSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMi8zXSBOZXcgcGFja2FnZTog bGlianhsLTAuNi4xCgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgMiArCiBzcmNwa2dzL2xpYmp4bC1kZXZlbCAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgIDEgKwogc3JjcGtncy9saWJqeGwtcGx1Z2lucyAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAxICsKIHNyY3BrZ3MvbGlianhsLXRvb2xzICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgMSArCiAuLi4vZGVwcmVjYXRlZF9oaWdod2F5X2Z1bmN0aW9ucy5wYXRjaCAgICAgICAg fCA0NTkgKysrKysrKysrKysrKysrKysrCiBzcmNwa2dzL2xpYmp4bC90ZW1wbGF0ZSAgICAgICAg ICAgICAgICAgICAgICAgfCAgNzggKysrCiA2IGZpbGVzIGNoYW5nZWQsIDU0MiBpbnNlcnRpb25z KCspCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9saWJqeGwtZGV2ZWwKIGNyZWF0ZSBtb2Rl IDEyMDAwMCBzcmNwa2dzL2xpYmp4bC1wbHVnaW5zCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtn cy9saWJqeGwtdG9vbHMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2xpYmp4bC9wYXRjaGVz L2RlcHJlY2F0ZWRfaGlnaHdheV9mdW5jdGlvbnMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL2xpYmp4bC90ZW1wbGF0ZQoKZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMgYi9jb21t b24vc2hsaWJzCmluZGV4IDBhYzI0NzAxODk4ZC4uYzYwZDRiYWM0ZjdiIDEwMDY0NAotLS0gYS9j b21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTQxNDcsMyArNDE0Nyw1IEBAIGxp YnJ6X3NlYXJjaC5zby4wLjMuNCByaXppbi0wLjMuNF8xCiBsaWJyel9iaW4uc28uMC4zLjQgcml6 aW4tMC4zLjRfMQogbGliYXJhdmlzLTAuOC5zby4wIGxpYmFyYXZpcy0wLjguMjFfMQogbGliTGlt ZVN1aXRlLnNvLjIwLjEwLTEgTGltZVN1aXRlLTIwLjEwLjBfMQorbGlianhsLnNvLjAuNiBsaWJq eGwtMC42LjFfMQorbGlianhsX3RocmVhZHMuc28uMC42IGxpYmp4bC0wLjYuMV8xCmRpZmYgLS1n aXQgYS9zcmNwa2dzL2xpYmp4bC1kZXZlbCBiL3NyY3BrZ3MvbGlianhsLWRldmVsCm5ldyBmaWxl IG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uZGRjMWFiZjgyN2Q5Ci0tLSAvZGV2L251 bGwKKysrIGIvc3JjcGtncy9saWJqeGwtZGV2ZWwKQEAgLTAsMCArMSBAQAorbGlianhsClwgTm8g bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJqeGwtcGx1Z2lu cyBiL3NyY3BrZ3MvbGlianhsLXBsdWdpbnMKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAw MDAwMDAwMDAwLi5kZGMxYWJmODI3ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYmp4 bC1wbHVnaW5zCkBAIC0wLDAgKzEgQEAKK2xpYmp4bApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp bGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGlianhsLXRvb2xzIGIvc3JjcGtncy9saWJqeGwtdG9v bHMKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwLi5kZGMxYWJmODI3ZDkK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYmp4bC10b29scwpAQCAtMCwwICsxIEBACits aWJqeGwKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xp Ymp4bC9wYXRjaGVzL2RlcHJlY2F0ZWRfaGlnaHdheV9mdW5jdGlvbnMucGF0Y2ggYi9zcmNwa2dz L2xpYmp4bC9wYXRjaGVzL2RlcHJlY2F0ZWRfaGlnaHdheV9mdW5jdGlvbnMucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5hNzc1ZWI1YTdjNTYKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzL2xpYmp4bC9wYXRjaGVzL2RlcHJlY2F0ZWRfaGlnaHdheV9mdW5j dGlvbnMucGF0Y2gKQEAgLTAsMCArMSw0NTkgQEAKK2RpZmYgLS1naXQgYS9saWIvanhsL2RlY19y ZWNvbnN0cnVjdC5jYyBiL2xpYi9qeGwvZGVjX3JlY29uc3RydWN0LmNjCitpbmRleCBhMWJhZWY0 Li4wODI3OWY4IDEwMDY0NAorLS0tIGEvbGliL2p4bC9kZWNfcmVjb25zdHJ1Y3QuY2MKKysrKyBi L2xpYi9qeGwvZGVjX3JlY29uc3RydWN0LmNjCitAQCAtMzU3LDggKzM1Nyw4IEBAIHZvaWQgRG9Z Q2JDclVwc2FtcGxpbmcoc2l6ZV90IGhzLCBzaXplX3QgdnMsIEltYWdlRiogcGxhbmVfaW4sIGNv bnN0IFJlY3QmIHJlY3QsCisgICAgICAgICBTdG9yZShsZWZ0LCBkLCBvdXQgKyB4KTsKKyAgICAg ICAgIFN0b3JlKHJpZ2h0LCBkLCBvdXQgKyB4ICsgMSk7CisgI2Vsc2UKKy0gICAgICAgIFN0b3Jl KEludGVybGVhdmVMb3dlcihsZWZ0LCByaWdodCksIGQsIG91dCArIHgpOworLSAgICAgICAgU3Rv cmUoSW50ZXJsZWF2ZVVwcGVyKGxlZnQsIHJpZ2h0KSwgZCwgb3V0ICsgeCArIExhbmVzKGQpKTsK KysgICAgICAgIFN0b3JlKEludGVybGVhdmVMb3dlcihkLCBsZWZ0LCByaWdodCksIGQsIG91dCAr IHgpOworKyAgICAgICAgU3RvcmUoSW50ZXJsZWF2ZVVwcGVyKGQsIGxlZnQsIHJpZ2h0KSwgZCwg b3V0ICsgeCArIExhbmVzKGQpKTsKKyAjZW5kaWYKKyAgICAgICB9CisgICAgIH0KK2RpZmYgLS1n aXQgYS9saWIvanhsL2RlY191cHNhbXBsZS5jYyBiL2xpYi9qeGwvZGVjX3Vwc2FtcGxlLmNjCitp bmRleCA3Mjc3ZTRmLi4zY2IzZjM2IDEwMDY0NAorLS0tIGEvbGliL2p4bC9kZWNfdXBzYW1wbGUu Y2MKKysrKyBiL2xpYi9qeGwvZGVjX3Vwc2FtcGxlLmNjCitAQCAtMTc2LDggKzE3Niw4IEBAIHZv aWQgVXBzYW1wbGUoY29uc3QgSW1hZ2VGJiBzcmMsIGNvbnN0IFJlY3QmIHNyY19yZWN0LCBJbWFn ZUYqIGRzdCwKKyAgICAgICAgIG1pbiA9IE1pbihMb2FkVShkZiwgcmF3X21pbl9yb3cgKyBzeCAr IGZ4KSwgbWluKTsKKyAgICAgICAgIG1heCA9IE1heChMb2FkVShkZiwgcmF3X21heF9yb3cgKyBz eCArIGZ4KSwgbWF4KTsKKyAgICAgICB9CistICAgICAgbWluID0gTWluT2ZMYW5lcyhtaW4pOwor LSAgICAgIG1heCA9IE1heE9mTGFuZXMobWF4KTsKKysgICAgICBtaW4gPSBNaW5PZkxhbmVzKGRm LCBtaW4pOworKyAgICAgIG1heCA9IE1heE9mTGFuZXMoZGYsIG1heCk7CisgICAgICAgZm9yIChz aXplX3QgbHggPSAwOyBseCA8IE47IGx4ICs9IFYpIHsKKyAgICAgICAgIFN0b3JlVShtaW4sIGRm LCBtaW5fcm93ICsgTiAqIHN4ICsgbHgpOworICAgICAgICAgU3RvcmVVKG1heCwgZGYsIG1heF9y b3cgKyBOICogc3ggKyBseCk7CitkaWZmIC0tZ2l0IGEvbGliL2p4bC9lbmNfYWNfc3RyYXRlZ3ku Y2MgYi9saWIvanhsL2VuY19hY19zdHJhdGVneS5jYworaW5kZXggYmM1MDQ2NS4uYzBlZDY4ZiAx MDA2NDQKKy0tLSBhL2xpYi9qeGwvZW5jX2FjX3N0cmF0ZWd5LmNjCisrKysgYi9saWIvanhsL2Vu Y19hY19zdHJhdGVneS5jYworQEAgLTQyOSw4ICs0MjksOCBAQCBmbG9hdCBFc3RpbWF0ZUVudHJv cHkoY29uc3QgQWNTdHJhdGVneSYgYWNzLCBzaXplX3QgeCwgc2l6ZV90IHksCisgICAgIH0KKyAg ICAgZW50cm9weV92ICs9IG56ZXJvc192ICogY29zdDE7CisgCistICAgIGVudHJvcHkgKz0gR2V0 TGFuZShTdW1PZkxhbmVzKGVudHJvcHlfdikpOworLSAgICBzaXplX3QgbnVtX256ZXJvcyA9IEdl dExhbmUoU3VtT2ZMYW5lcyhuemVyb3NfdikpOworKyAgICBlbnRyb3B5ICs9IEdldExhbmUoU3Vt T2ZMYW5lcyhkZiwgZW50cm9weV92KSk7CisrICAgIHNpemVfdCBudW1fbnplcm9zID0gR2V0TGFu ZShTdW1PZkxhbmVzKGRmLCBuemVyb3NfdikpOworICAgICAvLyBBZGQgI2JpdCBvZiBudW1fbm9u emVyb3MsIGFzIGFuIGVzdGltYXRlIG9mIHRoZSBjb3N0IGZvciBlbmNvZGluZyB0aGUKKyAgICAg Ly8gbnVtYmVyIG9mIG5vbi16ZXJvcyBvZiB0aGUgYmxvY2suCisgICAgIHNpemVfdCBuYml0cyA9 IENlaWxMb2cyTm9uemVybyhudW1fbnplcm9zICsgMSkgKyAxOworQEAgLTQ0MSw5ICs0NDEsOSBA QCBmbG9hdCBFc3RpbWF0ZUVudHJvcHkoY29uc3QgQWNTdHJhdGVneSYgYWNzLCBzaXplX3QgeCwg c2l6ZV90IHksCisgICBmbG9hdCByZXQgPQorICAgICAgIGVudHJvcHkgKworICAgICAgIG1hc2tp bmcgKgorLSAgICAgICAgICAoKGNvbmZpZy5pbmZvX2xvc3NfbXVsdGlwbGllciAqIEdldExhbmUo U3VtT2ZMYW5lcyhpbmZvX2xvc3MpKSkgKworKyAgICAgICAgICAoKGNvbmZpZy5pbmZvX2xvc3Nf bXVsdGlwbGllciAqIEdldExhbmUoU3VtT2ZMYW5lcyhkZiwgaW5mb19sb3NzKSkpICsKKyAgICAg ICAgICAgIChjb25maWcuaW5mb19sb3NzX211bHRpcGxpZXIyICoKKy0gICAgICAgICAgICBzcXJ0 KG51bV9ibG9ja3MgKiBHZXRMYW5lKFN1bU9mTGFuZXMoaW5mb19sb3NzMikpKSkpOworKyAgICAg ICAgICAgIHNxcnQobnVtX2Jsb2NrcyAqIEdldExhbmUoU3VtT2ZMYW5lcyhkZiwgaW5mb19sb3Nz MikpKSkpOworICAgcmV0dXJuIHJldDsKKyB9CisgCitkaWZmIC0tZ2l0IGEvbGliL2p4bC9lbmNf YWRhcHRpdmVfcXVhbnRpemF0aW9uLmNjIGIvbGliL2p4bC9lbmNfYWRhcHRpdmVfcXVhbnRpemF0 aW9uLmNjCitpbmRleCBmNTMzOTNmLi4yNGYzZDUzIDEwMDY0NAorLS0tIGEvbGliL2p4bC9lbmNf YWRhcHRpdmVfcXVhbnRpemF0aW9uLmNjCisrKysgYi9saWIvanhsL2VuY19hZGFwdGl2ZV9xdWFu dGl6YXRpb24uY2MKK0BAIC0xODksNyArMTg5LDcgQEAgViBHYW1tYU1vZHVsYXRpb24oY29uc3Qg RCBkLCBjb25zdCBzaXplX3QgeCwgY29uc3Qgc2l6ZV90IHksCisgICAgICAgb3ZlcmFsbF9yYXRp byArPSBhdmdfcmF0aW87CisgICAgIH0KKyAgIH0KKy0gIG92ZXJhbGxfcmF0aW8gPSBTdW1PZkxh bmVzKG92ZXJhbGxfcmF0aW8pOworKyAgb3ZlcmFsbF9yYXRpbyA9IFN1bU9mTGFuZXMoZCwgb3Zl cmFsbF9yYXRpbyk7CisgICBvdmVyYWxsX3JhdGlvICo9IFNldChkLCAxLjBmIC8gNjQpOworICAg Ly8gaWRlYWxseSAtMS4wLCBidXQgbGlrZWx5IG9wdGltYWwgY29ycmVjdGlvbiBhZGRzIHNvbWUg ZW50cm9weSwgc28gc2xpZ2h0bHkKKyAgIC8vIGxlc3MgdGhhbiB0aGF0LgorQEAgLTI0NiwxMiAr MjQ2LDEyIEBAIFYgQ29sb3JNb2R1bGF0aW9uKGNvbnN0IEQgZCwgY29uc3Qgc2l6ZV90IHgsIGNv bnN0IHNpemVfdCB5LAorICAgLy8gYmx1ZSB3ZSBjb25zaWRlciBhcyBpZiBpdCB3YXMgZnVsbHkg cmVkIG9yIGJsdWUuCisgICBzdGF0aWMgY29uc3QgZmxvYXQgcmF0aW8gPSAzMC42MTA2MTU3ODIx NDI3MzdmOyAgLy8gb3V0IG9mIDY0IHBpeGVscy4KKyAKKy0gIGF1dG8gb3ZlcmFsbF9yZWRfY292 ZXJhZ2UgPSBTdW1PZkxhbmVzKHJlZF9jb3ZlcmFnZSk7CisrICBhdXRvIG92ZXJhbGxfcmVkX2Nv dmVyYWdlID0gU3VtT2ZMYW5lcyhkLCByZWRfY292ZXJhZ2UpOworICAgb3ZlcmFsbF9yZWRfY292 ZXJhZ2UgPQorICAgICAgIE1pbihvdmVyYWxsX3JlZF9jb3ZlcmFnZSwgU2V0KGQsIHJhdGlvICog a1JlZFJhbXBMZW5ndGgpKTsKKyAgIG92ZXJhbGxfcmVkX2NvdmVyYWdlICo9IFNldChkLCByZWRf c3RyZW5ndGggLyByYXRpbyk7CisgCistICBhdXRvIG92ZXJhbGxfYmx1ZV9jb3ZlcmFnZSA9IFN1 bU9mTGFuZXMoYmx1ZV9jb3ZlcmFnZSk7CisrICBhdXRvIG92ZXJhbGxfYmx1ZV9jb3ZlcmFnZSA9 IFN1bU9mTGFuZXMoZCwgYmx1ZV9jb3ZlcmFnZSk7CisgICBvdmVyYWxsX2JsdWVfY292ZXJhZ2Ug PQorICAgICAgIE1pbihvdmVyYWxsX2JsdWVfY292ZXJhZ2UsIFNldChkLCByYXRpbyAqIGtCbHVl UmFtcExlbmd0aCkpOworICAgb3ZlcmFsbF9ibHVlX2NvdmVyYWdlICo9IFNldChkLCBibHVlX3N0 cmVuZ3RoIC8gcmF0aW8pOworQEAgLTI5NSw3ICsyOTUsNyBAQCBWIEhmTW9kdWxhdGlvbihjb25z dCBEIGQsIGNvbnN0IHNpemVfdCB4LCBjb25zdCBzaXplX3QgeSwgY29uc3QgSW1hZ2VGJiB4eWIs CisgICAgIH0KKyAgIH0KKyAKKy0gIHN1bSA9IFN1bU9mTGFuZXMoc3VtKTsKKysgIHN1bSA9IFN1 bU9mTGFuZXMoZCwgc3VtKTsKKyAgIHJldHVybiBNdWxBZGQoc3VtLCBTZXQoZCwgLTIuMDA1MjE5 MzIzMzY4ODg4NGYgLyAxMTIpLCBvdXRfdmFsKTsKKyB9CisgCitkaWZmIC0tZ2l0IGEvbGliL2p4 bC9lbmNfYXJfY29udHJvbF9maWVsZC5jYyBiL2xpYi9qeGwvZW5jX2FyX2NvbnRyb2xfZmllbGQu Y2MKK2luZGV4IGY0MzM0MGUuLmY4MDI1YWMgMTAwNjQ0CistLS0gYS9saWIvanhsL2VuY19hcl9j b250cm9sX2ZpZWxkLmNjCisrKysgYi9saWIvanhsL2VuY19hcl9jb250cm9sX2ZpZWxkLmNjCitA QCAtMTU3LDcgKzE1Nyw3IEBAIHZvaWQgUHJvY2Vzc1RpbGUoY29uc3QgSW1hZ2UzRiYgb3BzaW4s IFBhc3Nlc0VuY29kZXJTdGF0ZSogZW5jX3N0YXRlLAorICAgICAgICAgICBzdW0gKz0gTG9hZFUo ZGY0LCByb3dzX2luW2l5XSArIHggKiA0ICsgaXggKyAyKTsKKyAgICAgICAgIH0KKyAgICAgICB9 CistICAgICAgcm93X291dFt4XSA9IEdldExhbmUoU3FydChTdW1PZkxhbmVzKHN1bSkpKSAqICgx LjBmIC8gNC4wZik7CisrICAgICAgcm93X291dFt4XSA9IEdldExhbmUoU3FydChTdW1PZkxhbmVz KGRmNCwgc3VtKSkpICogKDEuMGYgLyA0LjBmKTsKKyAgICAgfQorICAgfQorICAgLy8gSW5kZXhp bmcgaXkgYW5kIGl4IGlzIGEgYml0IHRyaWNreSBhcyB3ZSBpbmNsdWRlIGEgMiBwaXhlbCBib3Jk ZXIKK0BAIC0xOTMsNyArMTkzLDcgQEAgdm9pZCBQcm9jZXNzVGlsZShjb25zdCBJbWFnZTNGJiBv cHNpbiwgUGFzc2VzRW5jb2RlclN0YXRlKiBlbmNfc3RhdGUsCisgICAgICAgICAgICAgc3VtICs9 IExvYWQoZGY0LCByb3dzX2luW2l5XSArIHN4ICsgaXgpOworICAgICAgICAgICB9CisgICAgICAg ICB9CistICAgICAgICByb3dfb3V0W3hdID0gR2V0TGFuZShTcXJ0KFN1bU9mTGFuZXMoc3VtKSkp ICogKDEuMGYgLyA0LjBmKTsKKysgICAgICAgIHJvd19vdXRbeF0gPSBHZXRMYW5lKFNxcnQoU3Vt T2ZMYW5lcyhkZjQsIHN1bSkpKSAqICgxLjBmIC8gNC4wZik7CisgICAgICAgfSBlbHNlIHsKKyAg ICAgICAgIGZsb2F0IHN1bSA9IDA7CisgICAgICAgICBmb3IgKHNpemVfdCBpeSA9IHN5OyBpeSA8 IGV5OyBpeSsrKSB7CitkaWZmIC0tZ2l0IGEvbGliL2p4bC9lbmNfYnV0dGVyYXVnbGlfcG5vcm0u Y2MgYi9saWIvanhsL2VuY19idXR0ZXJhdWdsaV9wbm9ybS5jYworaW5kZXggN2MzZmI5Yy4uOTBi MDQ0MCAxMDA2NDQKKy0tLSBhL2xpYi9qeGwvZW5jX2J1dHRlcmF1Z2xpX3Bub3JtLmNjCisrKysg Yi9saWIvanhsL2VuY19idXR0ZXJhdWdsaV9wbm9ybS5jYworQEAgLTk1LDEzICs5NSwxMyBAQCBk b3VibGUgQ29tcHV0ZURpc3RhbmNlUChjb25zdCBJbWFnZUYmIGRpc3RtYXAsIGNvbnN0IEJ1dHRl cmF1Z2xpUGFyYW1zJiBwYXJhbXMsCisgICAgIH0KKyAgICAgZG91YmxlIHYgPSAwOworICAgICB2 ICs9IHBvdygKKy0gICAgICAgIG9uZVBlclBpeGVscyAqIChzdW0xWzBdICsgR2V0TGFuZShTdW1P ZkxhbmVzKExvYWQoZCwgc3VtX3RvdGFsczApKSkpLAorKyAgICAgICAgb25lUGVyUGl4ZWxzICog KHN1bTFbMF0gKyBHZXRMYW5lKFN1bU9mTGFuZXMoZCwgTG9hZChkLCBzdW1fdG90YWxzMCkpKSks CisgICAgICAgICAxLjAgLyAocCAqIDEuMCkpOworICAgICB2ICs9IHBvdygKKy0gICAgICAgIG9u ZVBlclBpeGVscyAqIChzdW0xWzFdICsgR2V0TGFuZShTdW1PZkxhbmVzKExvYWQoZCwgc3VtX3Rv dGFsczEpKSkpLAorKyAgICAgICAgb25lUGVyUGl4ZWxzICogKHN1bTFbMV0gKyBHZXRMYW5lKFN1 bU9mTGFuZXMoZCwgTG9hZChkLCBzdW1fdG90YWxzMSkpKSksCisgICAgICAgICAxLjAgLyAocCAq IDIuMCkpOworICAgICB2ICs9IHBvdygKKy0gICAgICAgIG9uZVBlclBpeGVscyAqIChzdW0xWzJd ICsgR2V0TGFuZShTdW1PZkxhbmVzKExvYWQoZCwgc3VtX3RvdGFsczIpKSkpLAorKyAgICAgICAg b25lUGVyUGl4ZWxzICogKHN1bTFbMl0gKyBHZXRMYW5lKFN1bU9mTGFuZXMoZCwgTG9hZChkLCBz dW1fdG90YWxzMikpKSksCisgICAgICAgICAxLjAgLyAocCAqIDQuMCkpOworICAgICB2IC89IDMu MDsKKyAgICAgcmV0dXJuIHY7CitkaWZmIC0tZ2l0IGEvbGliL2p4bC9lbmNfY2hyb21hX2Zyb21f bHVtYS5jYyBiL2xpYi9qeGwvZW5jX2Nocm9tYV9mcm9tX2x1bWEuY2MKK2luZGV4IGU1YzNmMzgu LjM3MDU5NWMgMTAwNjQ0CistLS0gYS9saWIvanhsL2VuY19jaHJvbWFfZnJvbV9sdW1hLmNjCisr KysgYi9saWIvanhsL2VuY19jaHJvbWFfZnJvbV9sdW1hLmNjCitAQCAtOTEsOSArOTEsOSBAQCBz dHJ1Y3QgQ0ZMRnVuY3Rpb24geworICAgICAgIGZkbWVfdiArPSBJZlRoZW5FbHNlKGF2ID49IHRo cmVzLCB6ZXJvLCBkbWUpOworICAgICB9CisgCistICAgICpmcGVwcyA9IGZpcnN0X2Rlcml2YXRp dmVfcGVwcyArIEdldExhbmUoU3VtT2ZMYW5lcyhmZHBlX3YpKTsKKy0gICAgKmZtZXBzID0gZmly c3RfZGVyaXZhdGl2ZV9tZXBzICsgR2V0TGFuZShTdW1PZkxhbmVzKGZkbWVfdikpOworLSAgICBy ZXR1cm4gZmlyc3RfZGVyaXZhdGl2ZSArIEdldExhbmUoU3VtT2ZMYW5lcyhmZF92KSk7CisrICAg ICpmcGVwcyA9IGZpcnN0X2Rlcml2YXRpdmVfcGVwcyArIEdldExhbmUoU3VtT2ZMYW5lcyhkZiwg ZmRwZV92KSk7CisrICAgICpmbWVwcyA9IGZpcnN0X2Rlcml2YXRpdmVfbWVwcyArIEdldExhbmUo U3VtT2ZMYW5lcyhkZiwgZmRtZV92KSk7CisrICAgIHJldHVybiBmaXJzdF9kZXJpdmF0aXZlICsg R2V0TGFuZShTdW1PZkxhbmVzKGRmLCBmZF92KSk7CisgICB9CisgCisgICBjb25zdCBmbG9hdCog SlhMX1JFU1RSSUNUIHZhbHVlc19tOworQEAgLTEyNCw4ICsxMjQsOCBAQCBpbnQzMl90IEZpbmRC ZXN0TXVsdGlwbGllcihjb25zdCBmbG9hdCogdmFsdWVzX20sIGNvbnN0IGZsb2F0KiB2YWx1ZXNf cywKKyAgICAgICBjYiA9IE11bEFkZChhLCBiLCBjYik7CisgICAgIH0KKyAgICAgLy8gKyBkaXN0 YW5jZV9tdWwgKiB4XjIgKiBudW0KKy0gICAgeCA9IC1HZXRMYW5lKFN1bU9mTGFuZXMoY2IpKSAv CistICAgICAgICAoR2V0TGFuZShTdW1PZkxhbmVzKGNhKSkgKyBudW0gKiBkaXN0YW5jZV9tdWwg KiAwLjVmKTsKKysgICAgeCA9IC1HZXRMYW5lKFN1bU9mTGFuZXMoZGYsIGNiKSkgLworKyAgICAg ICAgKEdldExhbmUoU3VtT2ZMYW5lcyhkZiwgY2EpKSArIG51bSAqIGRpc3RhbmNlX211bCAqIDAu NWYpOworICAgfSBlbHNlIHsKKyAgICAgY29uc3RleHByIGZsb2F0IGVwcyA9IDE7CisgICAgIGNv bnN0ZXhwciBmbG9hdCBrQ2xhbXAgPSAyMC4wZjsKK2RpZmYgLS1naXQgYS9saWIvanhsL2VuY19j bHVzdGVyLmNjIGIvbGliL2p4bC9lbmNfY2x1c3Rlci5jYworaW5kZXggMWYxMmEyOS4uOGFlODYz YyAxMDA2NDQKKy0tLSBhL2xpYi9qeGwvZW5jX2NsdXN0ZXIuY2MKKysrKyBiL2xpYi9qeGwvZW5j X2NsdXN0ZXIuY2MKK0BAIC00OSw3ICs0OSw3IEBAIHZvaWQgSGlzdG9ncmFtRW50cm9weShjb25z dCBIaXN0b2dyYW0mIGEpIHsKKyAgICAgY29uc3QgYXV0byBjb3VudHMgPSBMb2FkVShkaSwgJmEu ZGF0YV9baV0pOworICAgICBlbnRyb3B5X2xhbmVzICs9IEVudHJvcHkoQ29udmVydFRvKGRmLCBj b3VudHMpLCBpbnZfdG90LCB0b3RhbCk7CisgICB9CistICBhLmVudHJvcHlfICs9IEdldExhbmUo U3VtT2ZMYW5lcyhlbnRyb3B5X2xhbmVzKSk7CisrICBhLmVudHJvcHlfICs9IEdldExhbmUoU3Vt T2ZMYW5lcyhkZiwgZW50cm9weV9sYW5lcykpOworIH0KKyAKKyBmbG9hdCBIaXN0b2dyYW1EaXN0 YW5jZShjb25zdCBIaXN0b2dyYW0mIGEsIGNvbnN0IEhpc3RvZ3JhbSYgYikgeworQEAgLTcxLDcg KzcxLDcgQEAgZmxvYXQgSGlzdG9ncmFtRGlzdGFuY2UoY29uc3QgSGlzdG9ncmFtJiBhLCBjb25z dCBIaXN0b2dyYW0mIGIpIHsKKyAgICAgY29uc3QgYXV0byBjb3VudHMgPSBDb252ZXJ0VG8oZGYs IGFfY291bnRzICsgYl9jb3VudHMpOworICAgICBkaXN0YW5jZV9sYW5lcyArPSBFbnRyb3B5KGNv dW50cywgaW52X3RvdCwgdG90YWwpOworICAgfQorLSAgY29uc3QgZmxvYXQgdG90YWxfZGlzdGFu Y2UgPSBHZXRMYW5lKFN1bU9mTGFuZXMoZGlzdGFuY2VfbGFuZXMpKTsKKysgIGNvbnN0IGZsb2F0 IHRvdGFsX2Rpc3RhbmNlID0gR2V0TGFuZShTdW1PZkxhbmVzKGRmLCBkaXN0YW5jZV9sYW5lcykp OworICAgcmV0dXJuIHRvdGFsX2Rpc3RhbmNlIC0gYS5lbnRyb3B5XyAtIGIuZW50cm9weV87Cisg fQorIAorZGlmZiAtLWdpdCBhL2xpYi9qeGwvZW5jX2VudHJvcHlfY29kZXIuY2MgYi9saWIvanhs L2VuY19lbnRyb3B5X2NvZGVyLmNjCitpbmRleCAwOTQ2MzAwLi4wN2ZlNWEwIDEwMDY0NAorLS0t IGEvbGliL2p4bC9lbmNfZW50cm9weV9jb2Rlci5jYworKysrIGIvbGliL2p4bC9lbmNfZW50cm9w eV9jb2Rlci5jYworQEAgLTg2LDcgKzg2LDcgQEAgaW50MzJfdCBOdW1Ob25aZXJvRXhjZXB0TExG KGNvbnN0IHNpemVfdCBjeCwgY29uc3Qgc2l6ZV90IGN5LAorIAorICAgLy8gV2Ugd2FudCBhcmVh IC0gc3VtX3plcm8sIGFkZCBiZWNhdXNlIG5lZ19zdW1femVybyBpcyBhbHJlYWR5IG5lZ2F0ZWQu CisgICBjb25zdCBpbnQzMl90IG56ZXJvcyA9CistICAgICAgaW50MzJfdChjeCAqIGN5ICoga0RD VEJsb2NrU2l6ZSkgKyBHZXRMYW5lKFN1bU9mTGFuZXMobmVnX3N1bV96ZXJvKSk7CisrICAgICAg aW50MzJfdChjeCAqIGN5ICoga0RDVEJsb2NrU2l6ZSkgKyBHZXRMYW5lKFN1bU9mTGFuZXMoZGks IG5lZ19zdW1femVybykpOworIAorICAgY29uc3QgaW50MzJfdCBzaGlmdGVkX256ZXJvcyA9IHN0 YXRpY19jYXN0PGludDMyX3Q+KAorICAgICAgIChuemVyb3MgKyBjb3ZlcmVkX2Jsb2NrcyAtIDEp ID4+IGxvZzJfY292ZXJlZF9ibG9ja3MpOworQEAgLTEzNSw3ICsxMzUsNyBAQCBpbnQzMl90IE51 bU5vblplcm84eDhFeGNlcHREQyhjb25zdCBpbnQzMl90KiBKWExfUkVTVFJJQ1QgYmxvY2ssCisg CisgICAvLyBXZSB3YW50IDY0IC0gc3VtX3plcm8sIGFkZCBiZWNhdXNlIG5lZ19zdW1femVybyBp cyBhbHJlYWR5IG5lZ2F0ZWQuCisgICBjb25zdCBpbnQzMl90IG56ZXJvcyA9CistICAgICAgaW50 MzJfdChrRENUQmxvY2tTaXplKSArIEdldExhbmUoU3VtT2ZMYW5lcyhuZWdfc3VtX3plcm8pKTsK KysgICAgICBpbnQzMl90KGtEQ1RCbG9ja1NpemUpICsgR2V0TGFuZShTdW1PZkxhbmVzKGRpLCBu ZWdfc3VtX3plcm8pKTsKKyAKKyAgICpuemVyb3NfcG9zID0gbnplcm9zOworIAorZGlmZiAtLWdp dCBhL2xpYi9qeGwvZW5jX2Zhc3RfaGV1cmlzdGljcy5jYyBiL2xpYi9qeGwvZW5jX2Zhc3RfaGV1 cmlzdGljcy5jYworaW5kZXggMTZmNzY3MC4uMDU1MTc4MiAxMDA2NDQKKy0tLSBhL2xpYi9qeGwv ZW5jX2Zhc3RfaGV1cmlzdGljcy5jYworKysrIGIvbGliL2p4bC9lbmNfZmFzdF9oZXVyaXN0aWNz LmNjCitAQCAtOTQsOCArOTQsOCBAQCBTdGF0dXMgSGV1cmlzdGljcyhQYXNzZXNFbmNvZGVyU3Rh dGUqIGVuY19zdGF0ZSwKKyAgICAgICAgICAgICAgIGNiID0gTXVsQWRkKGEsIGIsIGNiKTsKKyAg ICAgICAgICAgICB9CisgICAgICAgICAgIH0KKy0gICAgICAgICAgZmxvYXQgYmVzdCA9CistICAg ICAgICAgICAgICAtR2V0TGFuZShTdW1PZkxhbmVzKGNiKSkgLyAoR2V0TGFuZShTdW1PZkxhbmVz KGNhKSkgKyAxZS05Zik7CisrICAgICAgICAgIGZsb2F0IGJlc3QgPSAtR2V0TGFuZShTdW1PZkxh bmVzKGRmLCBjYikpIC8KKysgICAgICAgICAgICAgICAgICAgICAgIChHZXRMYW5lKFN1bU9mTGFu ZXMoZGYsIGNhKSkgKyAxZS05Zik7CisgICAgICAgICAgIGludDhfdCYgcmVzID0gKGMgPT0gMCA/ IHNoYXJlZC5jbWFwLnl0b3hfbWFwIDogc2hhcmVkLmNtYXAueXRvYl9tYXApCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC5Sb3codHkpW3R4XTsKKyAgICAgICAgICAgcmVzID0gc3RkOjpt YXgoLTEyOC4wZiwgc3RkOjptaW4oMTI3LjBmLCByb3VuZGYoYmVzdCkpKTsKK0BAIC0xMjQsOCAr MTI0LDggQEAgU3RhdHVzIEhldXJpc3RpY3MoUGFzc2VzRW5jb2RlclN0YXRlKiBlbmNfc3RhdGUs CisgICAgICAgICAgICAgICAgIG1heCA9IElmVGhlbkVsc2UobWF4ID4gbm4sIG1heCwgbm4pOwor ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICByb3dfb3V0X2F2 Z1t4XSA9IEdldExhbmUoU3VtT2ZMYW5lcyhzdW0pKTsKKy0gICAgICAgICAgICByb3dfb3V0W3hd ID0gR2V0TGFuZShNYXhPZkxhbmVzKG1heCkpOworKyAgICAgICAgICAgIHJvd19vdXRfYXZnW3hd ID0gR2V0TGFuZShTdW1PZkxhbmVzKGRmNCwgc3VtKSk7CisrICAgICAgICAgICAgcm93X291dFt4 XSA9IEdldExhbmUoTWF4T2ZMYW5lcyhkZjQsIG1heCkpOworICAgICAgICAgICB9CisgICAgICAg ICB9CisgICAgICAgfSwKK2RpZmYgLS1naXQgYS9saWIvanhsL2dhdXNzX2JsdXIuY2MgYi9saWIv anhsL2dhdXNzX2JsdXIuY2MKK2luZGV4IGY5YmFiZTcuLmYyNGE3NGMgMTAwNjQ0CistLS0gYS9s aWIvanhsL2dhdXNzX2JsdXIuY2MKKysrKyBiL2xpYi9qeGwvZ2F1c3NfYmx1ci5jYworQEAgLTQy MSw3ICs0MjEsNyBAQCBJbWFnZUYgQ29udm9sdmVYU2FtcGxlQW5kVHJhbnNwb3NlKGNvbnN0IElt YWdlRiYgaW4sCisgICAgICAgZm9yIChpbnQgaSA9IC1yOyBpIDw9IHI7IGkgKz0gTGFuZXMoZGYp KSB7CisgICAgICAgICBzdW0gPSBNdWxBZGQoTG9hZFUoZGYsIHJvd3AgKyB4ICsgaSksIExvYWRV KGRmLCBrZXJuZWxwICsgaSksIHN1bSk7CisgICAgICAgfQorLSAgICAgIG91dC5Sb3cob3gpW3ld ID0gR2V0TGFuZShTdW1PZkxhbmVzKHN1bSkpOworKyAgICAgIG91dC5Sb3cob3gpW3ldID0gR2V0 TGFuZShTdW1PZkxhbmVzKGRmLCBzdW0pKTsKKyAgICAgfQorICAgICBmb3IgKDsgeCA8IGluLnhz aXplKCk7IHggKz0gcmVzLCArK294KSB7CisgICAgICAgZmxvYXQgc3VtID0gMC4wZjsKK2RpZmYg LS1naXQgYS9saWIvanhsL21vZHVsYXIvZW5jb2RpbmcvZW5jX21hLmNjIGIvbGliL2p4bC9tb2R1 bGFyL2VuY29kaW5nL2VuY19tYS5jYworaW5kZXggMGUyZWFhYy4uZDQ4NTEyOSAxMDA2NDQKKy0t LSBhL2xpYi9qeGwvbW9kdWxhci9lbmNvZGluZy9lbmNfbWEuY2MKKysrKyBiL2xpYi9qeGwvbW9k dWxhci9lbmNvZGluZy9lbmNfbWEuY2MKK0BAIC04NCw3ICs4NCw3IEBAIGZsb2F0IEVzdGltYXRl Qml0cyhjb25zdCBpbnQzMl90ICpjb3VudHMsIGludDMyX3QgKnJvdW5kZWRfY291bnRzLAorICAg ICBiaXRzX2xhbmVzIC09CisgICAgICAgICBJZlRoZW5FbHNlKGNvdW50c192ID09IHplcm8sIHpl cm8sIGNvdW50c192ICogQml0Q2FzdChkZiwgbmJwcykpOworICAgfQorLSAgcmV0dXJuIEdldExh bmUoU3VtT2ZMYW5lcyhiaXRzX2xhbmVzKSk7CisrICByZXR1cm4gR2V0TGFuZShTdW1PZkxhbmVz KGRmLCBiaXRzX2xhbmVzKSk7CisgfQorIAorIHZvaWQgTWFrZVNwbGl0Tm9kZShzaXplX3QgcG9z LCBpbnQgcHJvcGVydHksIGludCBzcGxpdHZhbCwgUHJlZGljdG9yIGxwcmVkLAorZGlmZiAtLWdp dCBhL2xpYi9qeGwvcmF0aW9uYWxfcG9seW5vbWlhbF90ZXN0LmNjIGIvbGliL2p4bC9yYXRpb25h bF9wb2x5bm9taWFsX3Rlc3QuY2MKK2luZGV4IDY5OWFmZDAuLmY5ODVlYjAgMTAwNjQ0CistLS0g YS9saWIvanhsL3JhdGlvbmFsX3BvbHlub21pYWxfdGVzdC5jYworKysrIGIvbGliL2p4bC9yYXRp b25hbF9wb2x5bm9taWFsX3Rlc3QuY2MKK0BAIC01MSw3ICs1MSw3IEBAIHN0cnVjdCBFdmFsTG9n MiB7CisgICAgIGNvbnN0IEhXWV9GVUxMKGludDMyX3QpIGRpOworICAgICBjb25zdCBhdXRvIHhf Yml0cyA9IEJpdENhc3QoZGksIHZ4KTsKKyAgICAgLy8gQ2Fubm90IGhhbmRsZSBuZWdhdGl2ZSBu dW1iZXJzIC8gTmFOLgorLSAgICBKWExfREFTU0VSVChBbGxUcnVlKEFicyh4X2JpdHMpID09IHhf Yml0cykpOworKyAgICBKWExfREFTU0VSVChBbGxUcnVlKGRpLCBBYnMoeF9iaXRzKSA9PSB4X2Jp dHMpKTsKKyAKKyAgICAgLy8gUmFuZ2UgcmVkdWN0aW9uIHRvIFstMS8zLCAxLzNdIC0gMyBpbnRl Z2VyLCAyIGZsb2F0IG9wcworICAgICBjb25zdCBhdXRvIGV4cF9iaXRzID0geF9iaXRzIC0gU2V0 KGRpLCAweDNmMmFhYWFiKTsgIC8vID0gMi8zCitkaWZmIC0tZ2l0IGEvbGliL2p4bC9zcGxpbmVz LmNjIGIvbGliL2p4bC9zcGxpbmVzLmNjCitpbmRleCA4NjUzNDQ1Li41ZGMyNDA0IDEwMDY0NAor LS0tIGEvbGliL2p4bC9zcGxpbmVzLmNjCisrKysgYi9saWIvanhsL3NwbGluZXMuY2MKK0BAIC01 Miw3ICs1Miw3IEBAIGZsb2F0IENvbnRpbnVvdXNJRENUKGNvbnN0IGZsb2F0IGRjdFszMl0sIGZs b2F0IHQpIHsKKyAgICAgYXV0byBsb2NhbF9yZXMgPSBMb2FkVShkZiwgZGN0ICsgaSkgKiBjb3M7 CisgICAgIHJlc3VsdCA9IE11bEFkZChTZXQoZGYsIHNxdWFyZV9yb290PDI+Ojp2YWx1ZSksIGxv Y2FsX3JlcywgcmVzdWx0KTsKKyAgIH0KKy0gIHJldHVybiBHZXRMYW5lKFN1bU9mTGFuZXMocmVz dWx0KSk7CisrICByZXR1cm4gR2V0TGFuZShTdW1PZkxhbmVzKGRmLCByZXN1bHQpKTsKKyB9Cisg CisgdGVtcGxhdGUgPHR5cGVuYW1lIERGPgorZGlmZiAtLWdpdCBhL2xpYi9qeGwvdHJhbnNwb3Nl LWlubC5oIGIvbGliL2p4bC90cmFuc3Bvc2UtaW5sLmgKK2luZGV4IGQxMmIxMjkuLjQ2NzQ0MjAg MTAwNjQ0CistLS0gYS9saWIvanhsL3RyYW5zcG9zZS1pbmwuaAorKysrIGIvbGliL2p4bC90cmFu c3Bvc2UtaW5sLmgKK0BAIC03NCw1MCArNzQsNTEgQEAgSlhMX0lOTElORV9UUkFOU1BPU0Ugdm9p ZCBHZW5lcmljVHJhbnNwb3NlQmxvY2soVHJhbnNwb3NlU2ltZFRhZzx0cnVlPiwKKyAgIHN0YXRp Y19hc3NlcnQoQ09MU19vcl8wICUgOCA9PSAwLCAiSW52YWxpZCBudW1iZXIgb2YgY29sdW1ucyIp OworICAgZm9yIChzaXplX3QgbiA9IDA7IG4gPCBST1dTOyBuICs9IDgpIHsKKyAgICAgZm9yIChz aXplX3QgbSA9IDA7IG0gPCBDT0xTOyBtICs9IDgpIHsKKy0gICAgICBhdXRvIGkwID0gZnJvbS5M b2FkUGFydChCbG9ja0Rlc2M8OD4oKSwgbiArIDAsIG0gKyAwKTsKKy0gICAgICBhdXRvIGkxID0g ZnJvbS5Mb2FkUGFydChCbG9ja0Rlc2M8OD4oKSwgbiArIDEsIG0gKyAwKTsKKy0gICAgICBhdXRv IGkyID0gZnJvbS5Mb2FkUGFydChCbG9ja0Rlc2M8OD4oKSwgbiArIDIsIG0gKyAwKTsKKy0gICAg ICBhdXRvIGkzID0gZnJvbS5Mb2FkUGFydChCbG9ja0Rlc2M8OD4oKSwgbiArIDMsIG0gKyAwKTsK Ky0gICAgICBhdXRvIGk0ID0gZnJvbS5Mb2FkUGFydChCbG9ja0Rlc2M8OD4oKSwgbiArIDQsIG0g KyAwKTsKKy0gICAgICBhdXRvIGk1ID0gZnJvbS5Mb2FkUGFydChCbG9ja0Rlc2M8OD4oKSwgbiAr IDUsIG0gKyAwKTsKKy0gICAgICBhdXRvIGk2ID0gZnJvbS5Mb2FkUGFydChCbG9ja0Rlc2M8OD4o KSwgbiArIDYsIG0gKyAwKTsKKy0gICAgICBhdXRvIGk3ID0gZnJvbS5Mb2FkUGFydChCbG9ja0Rl c2M8OD4oKSwgbiArIDcsIG0gKyAwKTsKKysgICAgICBjb25zdCBCbG9ja0Rlc2M8OD4gZDsKKysg ICAgICBhdXRvIGkwID0gZnJvbS5Mb2FkUGFydChkLCBuICsgMCwgbSArIDApOworKyAgICAgIGF1 dG8gaTEgPSBmcm9tLkxvYWRQYXJ0KGQsIG4gKyAxLCBtICsgMCk7CisrICAgICAgYXV0byBpMiA9 IGZyb20uTG9hZFBhcnQoZCwgbiArIDIsIG0gKyAwKTsKKysgICAgICBhdXRvIGkzID0gZnJvbS5M b2FkUGFydChkLCBuICsgMywgbSArIDApOworKyAgICAgIGF1dG8gaTQgPSBmcm9tLkxvYWRQYXJ0 KGQsIG4gKyA0LCBtICsgMCk7CisrICAgICAgYXV0byBpNSA9IGZyb20uTG9hZFBhcnQoZCwgbiAr IDUsIG0gKyAwKTsKKysgICAgICBhdXRvIGk2ID0gZnJvbS5Mb2FkUGFydChkLCBuICsgNiwgbSAr IDApOworKyAgICAgIGF1dG8gaTcgPSBmcm9tLkxvYWRQYXJ0KGQsIG4gKyA3LCBtICsgMCk7Cisg ICAgICAgLy8gU3VycHJpc2luZ2x5LCB0aGlzIHN0cmFpZ2h0Zm9yd2FyZCBpbXBsZW1lbnRhdGlv biAoMjQgY3ljbGVzIG9uIHBvcnQ1KQorICAgICAgIC8vIGlzIGZhc3RlciB0aGFuIGxvYWQxMjgr aW5zZXJ0IGFuZCBMb2FkRHVwMTI4K0NvbmNhdFVwcGVyTG93ZXIrYmxlbmQuCistICAgICAgY29u c3QgYXV0byBxMCA9IEludGVybGVhdmVMb3dlcihpMCwgaTIpOworLSAgICAgIGNvbnN0IGF1dG8g cTEgPSBJbnRlcmxlYXZlTG93ZXIoaTEsIGkzKTsKKy0gICAgICBjb25zdCBhdXRvIHEyID0gSW50 ZXJsZWF2ZVVwcGVyKGkwLCBpMik7CistICAgICAgY29uc3QgYXV0byBxMyA9IEludGVybGVhdmVV cHBlcihpMSwgaTMpOworLSAgICAgIGNvbnN0IGF1dG8gcTQgPSBJbnRlcmxlYXZlTG93ZXIoaTQs IGk2KTsKKy0gICAgICBjb25zdCBhdXRvIHE1ID0gSW50ZXJsZWF2ZUxvd2VyKGk1LCBpNyk7Cist ICAgICAgY29uc3QgYXV0byBxNiA9IEludGVybGVhdmVVcHBlcihpNCwgaTYpOworLSAgICAgIGNv bnN0IGF1dG8gcTcgPSBJbnRlcmxlYXZlVXBwZXIoaTUsIGk3KTsKKy0KKy0gICAgICBjb25zdCBh dXRvIHIwID0gSW50ZXJsZWF2ZUxvd2VyKHEwLCBxMSk7CistICAgICAgY29uc3QgYXV0byByMSA9 IEludGVybGVhdmVVcHBlcihxMCwgcTEpOworLSAgICAgIGNvbnN0IGF1dG8gcjIgPSBJbnRlcmxl YXZlTG93ZXIocTIsIHEzKTsKKy0gICAgICBjb25zdCBhdXRvIHIzID0gSW50ZXJsZWF2ZVVwcGVy KHEyLCBxMyk7CistICAgICAgY29uc3QgYXV0byByNCA9IEludGVybGVhdmVMb3dlcihxNCwgcTUp OworLSAgICAgIGNvbnN0IGF1dG8gcjUgPSBJbnRlcmxlYXZlVXBwZXIocTQsIHE1KTsKKy0gICAg ICBjb25zdCBhdXRvIHI2ID0gSW50ZXJsZWF2ZUxvd2VyKHE2LCBxNyk7CistICAgICAgY29uc3Qg YXV0byByNyA9IEludGVybGVhdmVVcHBlcihxNiwgcTcpOworLQorLSAgICAgIGkwID0gQ29uY2F0 TG93ZXJMb3dlcihyNCwgcjApOworLSAgICAgIGkxID0gQ29uY2F0TG93ZXJMb3dlcihyNSwgcjEp OworLSAgICAgIGkyID0gQ29uY2F0TG93ZXJMb3dlcihyNiwgcjIpOworLSAgICAgIGkzID0gQ29u Y2F0TG93ZXJMb3dlcihyNywgcjMpOworLSAgICAgIGk0ID0gQ29uY2F0VXBwZXJVcHBlcihyNCwg cjApOworLSAgICAgIGk1ID0gQ29uY2F0VXBwZXJVcHBlcihyNSwgcjEpOworLSAgICAgIGk2ID0g Q29uY2F0VXBwZXJVcHBlcihyNiwgcjIpOworLSAgICAgIGk3ID0gQ29uY2F0VXBwZXJVcHBlcihy NywgcjMpOworLSAgICAgIHRvLlN0b3JlUGFydChCbG9ja0Rlc2M8OD4oKSwgaTAsIG0gKyAwLCBu ICsgMCk7CistICAgICAgdG8uU3RvcmVQYXJ0KEJsb2NrRGVzYzw4PigpLCBpMSwgbSArIDEsIG4g KyAwKTsKKy0gICAgICB0by5TdG9yZVBhcnQoQmxvY2tEZXNjPDg+KCksIGkyLCBtICsgMiwgbiAr IDApOworLSAgICAgIHRvLlN0b3JlUGFydChCbG9ja0Rlc2M8OD4oKSwgaTMsIG0gKyAzLCBuICsg MCk7CistICAgICAgdG8uU3RvcmVQYXJ0KEJsb2NrRGVzYzw4PigpLCBpNCwgbSArIDQsIG4gKyAw KTsKKy0gICAgICB0by5TdG9yZVBhcnQoQmxvY2tEZXNjPDg+KCksIGk1LCBtICsgNSwgbiArIDAp OworLSAgICAgIHRvLlN0b3JlUGFydChCbG9ja0Rlc2M8OD4oKSwgaTYsIG0gKyA2LCBuICsgMCk7 CistICAgICAgdG8uU3RvcmVQYXJ0KEJsb2NrRGVzYzw4PigpLCBpNywgbSArIDcsIG4gKyAwKTsK KysgICAgICBjb25zdCBhdXRvIHEwID0gSW50ZXJsZWF2ZUxvd2VyKGQsIGkwLCBpMik7CisrICAg ICAgY29uc3QgYXV0byBxMSA9IEludGVybGVhdmVMb3dlcihkLCBpMSwgaTMpOworKyAgICAgIGNv bnN0IGF1dG8gcTIgPSBJbnRlcmxlYXZlVXBwZXIoZCwgaTAsIGkyKTsKKysgICAgICBjb25zdCBh dXRvIHEzID0gSW50ZXJsZWF2ZVVwcGVyKGQsIGkxLCBpMyk7CisrICAgICAgY29uc3QgYXV0byBx NCA9IEludGVybGVhdmVMb3dlcihkLCBpNCwgaTYpOworKyAgICAgIGNvbnN0IGF1dG8gcTUgPSBJ bnRlcmxlYXZlTG93ZXIoZCwgaTUsIGk3KTsKKysgICAgICBjb25zdCBhdXRvIHE2ID0gSW50ZXJs ZWF2ZVVwcGVyKGQsIGk0LCBpNik7CisrICAgICAgY29uc3QgYXV0byBxNyA9IEludGVybGVhdmVV cHBlcihkLCBpNSwgaTcpOworKworKyAgICAgIGNvbnN0IGF1dG8gcjAgPSBJbnRlcmxlYXZlTG93 ZXIoZCwgcTAsIHExKTsKKysgICAgICBjb25zdCBhdXRvIHIxID0gSW50ZXJsZWF2ZVVwcGVyKGQs IHEwLCBxMSk7CisrICAgICAgY29uc3QgYXV0byByMiA9IEludGVybGVhdmVMb3dlcihkLCBxMiwg cTMpOworKyAgICAgIGNvbnN0IGF1dG8gcjMgPSBJbnRlcmxlYXZlVXBwZXIoZCwgcTIsIHEzKTsK KysgICAgICBjb25zdCBhdXRvIHI0ID0gSW50ZXJsZWF2ZUxvd2VyKGQsIHE0LCBxNSk7CisrICAg ICAgY29uc3QgYXV0byByNSA9IEludGVybGVhdmVVcHBlcihkLCBxNCwgcTUpOworKyAgICAgIGNv bnN0IGF1dG8gcjYgPSBJbnRlcmxlYXZlTG93ZXIoZCwgcTYsIHE3KTsKKysgICAgICBjb25zdCBh dXRvIHI3ID0gSW50ZXJsZWF2ZVVwcGVyKGQsIHE2LCBxNyk7CisrCisrICAgICAgaTAgPSBDb25j YXRMb3dlckxvd2VyKGQsIHI0LCByMCk7CisrICAgICAgaTEgPSBDb25jYXRMb3dlckxvd2VyKGQs IHI1LCByMSk7CisrICAgICAgaTIgPSBDb25jYXRMb3dlckxvd2VyKGQsIHI2LCByMik7CisrICAg ICAgaTMgPSBDb25jYXRMb3dlckxvd2VyKGQsIHI3LCByMyk7CisrICAgICAgaTQgPSBDb25jYXRV cHBlclVwcGVyKGQsIHI0LCByMCk7CisrICAgICAgaTUgPSBDb25jYXRVcHBlclVwcGVyKGQsIHI1 LCByMSk7CisrICAgICAgaTYgPSBDb25jYXRVcHBlclVwcGVyKGQsIHI2LCByMik7CisrICAgICAg aTcgPSBDb25jYXRVcHBlclVwcGVyKGQsIHI3LCByMyk7CisrICAgICAgdG8uU3RvcmVQYXJ0KGQs IGkwLCBtICsgMCwgbiArIDApOworKyAgICAgIHRvLlN0b3JlUGFydChkLCBpMSwgbSArIDEsIG4g KyAwKTsKKysgICAgICB0by5TdG9yZVBhcnQoZCwgaTIsIG0gKyAyLCBuICsgMCk7CisrICAgICAg dG8uU3RvcmVQYXJ0KGQsIGkzLCBtICsgMywgbiArIDApOworKyAgICAgIHRvLlN0b3JlUGFydChk LCBpNCwgbSArIDQsIG4gKyAwKTsKKysgICAgICB0by5TdG9yZVBhcnQoZCwgaTUsIG0gKyA1LCBu ICsgMCk7CisrICAgICAgdG8uU3RvcmVQYXJ0KGQsIGk2LCBtICsgNiwgbiArIDApOworKyAgICAg IHRvLlN0b3JlUGFydChkLCBpNywgbSArIDcsIG4gKyAwKTsKKyAgICAgfQorICAgfQorIH0KK0BA IC0xMzcsMjUgKzEzOCwyNiBAQCBKWExfSU5MSU5FX1RSQU5TUE9TRSB2b2lkIEdlbmVyaWNUcmFu c3Bvc2VCbG9jayhUcmFuc3Bvc2VTaW1kVGFnPHRydWU+LAorICAgc3RhdGljX2Fzc2VydChDT0xT X29yXzAgJSA0ID09IDAsICJJbnZhbGlkIG51bWJlciBvZiBjb2x1bW5zIik7CisgICBmb3IgKHNp emVfdCBuID0gMDsgbiA8IFJPV1M7IG4gKz0gNCkgeworICAgICBmb3IgKHNpemVfdCBtID0gMDsg bSA8IENPTFM7IG0gKz0gNCkgeworLSAgICAgIGNvbnN0IGF1dG8gcDAgPSBmcm9tLkxvYWRQYXJ0 KEJsb2NrRGVzYzw0PigpLCBuICsgMCwgbSArIDApOworLSAgICAgIGNvbnN0IGF1dG8gcDEgPSBm cm9tLkxvYWRQYXJ0KEJsb2NrRGVzYzw0PigpLCBuICsgMSwgbSArIDApOworLSAgICAgIGNvbnN0 IGF1dG8gcDIgPSBmcm9tLkxvYWRQYXJ0KEJsb2NrRGVzYzw0PigpLCBuICsgMiwgbSArIDApOwor LSAgICAgIGNvbnN0IGF1dG8gcDMgPSBmcm9tLkxvYWRQYXJ0KEJsb2NrRGVzYzw0PigpLCBuICsg MywgbSArIDApOworLQorLSAgICAgIGNvbnN0IGF1dG8gcTAgPSBJbnRlcmxlYXZlTG93ZXIocDAs IHAyKTsKKy0gICAgICBjb25zdCBhdXRvIHExID0gSW50ZXJsZWF2ZUxvd2VyKHAxLCBwMyk7Cist ICAgICAgY29uc3QgYXV0byBxMiA9IEludGVybGVhdmVVcHBlcihwMCwgcDIpOworLSAgICAgIGNv bnN0IGF1dG8gcTMgPSBJbnRlcmxlYXZlVXBwZXIocDEsIHAzKTsKKy0KKy0gICAgICBjb25zdCBh dXRvIHIwID0gSW50ZXJsZWF2ZUxvd2VyKHEwLCBxMSk7CistICAgICAgY29uc3QgYXV0byByMSA9 IEludGVybGVhdmVVcHBlcihxMCwgcTEpOworLSAgICAgIGNvbnN0IGF1dG8gcjIgPSBJbnRlcmxl YXZlTG93ZXIocTIsIHEzKTsKKy0gICAgICBjb25zdCBhdXRvIHIzID0gSW50ZXJsZWF2ZVVwcGVy KHEyLCBxMyk7CistCistICAgICAgdG8uU3RvcmVQYXJ0KEJsb2NrRGVzYzw0PigpLCByMCwgbSAr IDAsIG4gKyAwKTsKKy0gICAgICB0by5TdG9yZVBhcnQoQmxvY2tEZXNjPDQ+KCksIHIxLCBtICsg MSwgbiArIDApOworLSAgICAgIHRvLlN0b3JlUGFydChCbG9ja0Rlc2M8ND4oKSwgcjIsIG0gKyAy LCBuICsgMCk7CistICAgICAgdG8uU3RvcmVQYXJ0KEJsb2NrRGVzYzw0PigpLCByMywgbSArIDMs IG4gKyAwKTsKKysgICAgICBjb25zdCBCbG9ja0Rlc2M8ND4gZDsKKysgICAgICBjb25zdCBhdXRv IHAwID0gZnJvbS5Mb2FkUGFydChkLCBuICsgMCwgbSArIDApOworKyAgICAgIGNvbnN0IGF1dG8g cDEgPSBmcm9tLkxvYWRQYXJ0KGQsIG4gKyAxLCBtICsgMCk7CisrICAgICAgY29uc3QgYXV0byBw MiA9IGZyb20uTG9hZFBhcnQoZCwgbiArIDIsIG0gKyAwKTsKKysgICAgICBjb25zdCBhdXRvIHAz ID0gZnJvbS5Mb2FkUGFydChkLCBuICsgMywgbSArIDApOworKworKyAgICAgIGNvbnN0IGF1dG8g cTAgPSBJbnRlcmxlYXZlTG93ZXIoZCwgcDAsIHAyKTsKKysgICAgICBjb25zdCBhdXRvIHExID0g SW50ZXJsZWF2ZUxvd2VyKGQsIHAxLCBwMyk7CisrICAgICAgY29uc3QgYXV0byBxMiA9IEludGVy bGVhdmVVcHBlcihkLCBwMCwgcDIpOworKyAgICAgIGNvbnN0IGF1dG8gcTMgPSBJbnRlcmxlYXZl VXBwZXIoZCwgcDEsIHAzKTsKKysKKysgICAgICBjb25zdCBhdXRvIHIwID0gSW50ZXJsZWF2ZUxv d2VyKGQsIHEwLCBxMSk7CisrICAgICAgY29uc3QgYXV0byByMSA9IEludGVybGVhdmVVcHBlcihk LCBxMCwgcTEpOworKyAgICAgIGNvbnN0IGF1dG8gcjIgPSBJbnRlcmxlYXZlTG93ZXIoZCwgcTIs IHEzKTsKKysgICAgICBjb25zdCBhdXRvIHIzID0gSW50ZXJsZWF2ZVVwcGVyKGQsIHEyLCBxMyk7 CisrCisrICAgICAgdG8uU3RvcmVQYXJ0KGQsIHIwLCBtICsgMCwgbiArIDApOworKyAgICAgIHRv LlN0b3JlUGFydChkLCByMSwgbSArIDEsIG4gKyAwKTsKKysgICAgICB0by5TdG9yZVBhcnQoZCwg cjIsIG0gKyAyLCBuICsgMCk7CisrICAgICAgdG8uU3RvcmVQYXJ0KGQsIHIzLCBtICsgMywgbiAr IDApOworICAgICB9CisgICB9CisgfQorZGlmZiAtLWdpdCBhL2xpYi9wcm9maWxlci9wcm9maWxl ci5jYyBiL2xpYi9wcm9maWxlci9wcm9maWxlci5jYworaW5kZXggZDIxZWUwOS4uMTg2ZmYwNiAx MDA2NDQKKy0tLSBhL2xpYi9wcm9maWxlci9wcm9maWxlci5jYworKysrIGIvbGliL3Byb2ZpbGVy L3Byb2ZpbGVyLmNjCitAQCAtMTM5LDcgKzEzOSw3IEBAIGNsYXNzIFJlc3VsdHMgeworICAgdm9p ZCBBbmFseXplUGFja2V0cyhjb25zdCBQYWNrZXQqIEhXWV9SRVNUUklDVCBwYWNrZXRzLAorICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBzaXplX3QgbnVtX3BhY2tldHMpIHsKKyAgICAgLy8g RW5zdXJlcyBwcmlvciB3ZWFrbHktb3JkZXJlZCBzdHJlYW1pbmcgc3RvcmVzIGFyZSBnbG9iYWxs eSB2aXNpYmxlLgorLSAgICBod3k6OlN0b3JlRmVuY2UoKTsKKysgICAgaHd5OjpGbHVzaFN0cmVh bSgpOworIAorICAgICBjb25zdCB1aW50NjRfdCB0MCA9IFRpY2tzQmVmb3JlKCk7CisgCitAQCAt MzcyLDEyICszNzIsMTIgQEAgdm9pZCBUaHJlYWRTcGVjaWZpYzo6Q29tcHV0ZU92ZXJoZWFkKCkg eworICAgICAgIGNvbnN0IHNpemVfdCBrUmVwcyA9IDEwMDAwOworICAgICAgIC8vIEFuYWx5c2lz IHRpbWUgc2hvdWxkIG5vdCBiZSBpbmNsdWRlZCA9PiBtdXN0IGZpdCB3aXRoaW4gYnVmZmVyLgor ICAgICAgIEhXWV9BU1NFUlQoa1JlcHMgKiAyIDwgbWF4X3BhY2tldHNfKTsKKy0gICAgICBod3k6 OlN0b3JlRmVuY2UoKTsKKysgICAgICBod3k6OkZsdXNoU3RyZWFtKCk7CisgICAgICAgY29uc3Qg dWludDY0X3QgdDAgPSBUaWNrc0JlZm9yZSgpOworICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp IDwga1JlcHM7ICsraSkgeworICAgICAgICAgUFJPRklMRVJfWk9ORSgiRHVtbXkiKTsKKyAgICAg ICB9CistICAgICAgaHd5OjpTdG9yZUZlbmNlKCk7CisrICAgICAgaHd5OjpGbHVzaFN0cmVhbSgp OworICAgICAgIGNvbnN0IHVpbnQ2NF90IHQxID0gVGlja3NBZnRlcigpOworICAgICAgIEhXWV9B U1NFUlQobnVtX3BhY2tldHNfICsgYnVmZmVyX3NpemVfID09IGtSZXBzICogMik7CisgICAgICAg YnVmZmVyX3NpemVfID0gMDsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGlianhsL3RlbXBsYXRlIGIv c3JjcGtncy9saWJqeGwvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi43YjJlYjk4NDRkZmUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYmp4bC90 ZW1wbGF0ZQpAQCAtMCwwICsxLDc4IEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdsaWJqeGwnCitw a2duYW1lPWxpYmp4bAordmVyc2lvbj0wLjYuMQorcmV2aXNpb249MQorI19zaG9ydF92ZXJzaW9u PTAuNgorI3dya3NyYz1saWJqeGwtJHtfc2hvcnRfdmVyc2lvbn0KK2J1aWxkX3N0eWxlPWNtYWtl Citjb25maWd1cmVfYXJncz0iLURKUEVHWExfRU5BQkxFX0JFTkNITUFSSz1PRkYgLURKUEVHWExf RU5BQkxFX0VYQU1QTEVTPU9GRgorIC1ESlBFR1hMX0VOQUJMRV9TSlBFRz1PRkYgLURKUEVHWExf RU5BQkxFX1BMVUdJTlM9T04iCitob3N0bWFrZWRlcGVuZHM9InRhciBwa2ctY29uZmlnIGFzY2lp ZG9jIgorbWFrZWRlcGVuZHM9ImJyb3RsaS1kZXZlbCBoaWdod2F5IGxpYnBuZy1kZXZlbCBnaWZs aWItZGV2ZWwgbGlianBlZy10dXJiby1kZXZlbAorIGxpYm9wZW5leHItZGV2ZWwgZ2RrLXBpeGJ1 Zi1kZXZlbCBnaW1wLWRldmVsIgorY2hlY2tkZXBlbmRzPSJndGVzdC1kZXZlbCB4ZGctdXRpbHMi CitzaG9ydF9kZXNjPSJKUEVHIFhMIGltYWdlIGZvcm1hdCByZWZlcmVuY2UgaW1wbGVtZW50YXRp b24iCittYWludGFpbmVyPSJKb3NodWEgS3LDpG1lciA8am9zaHVhQGtyYWVtZXIubGluaz4iCits aWNlbnNlPSJCU0QtMy1DbGF1c2UsIGN1c3RvbTpQYXRlbnQgZ3JhbnQiCitob21lcGFnZT0iaHR0 cHM6Ly9qcGVnLm9yZy9qcGVneGwvIgorX2xvZGVwbmdfaGFzaD00OGU1MzY0ZWY0OGVjMjQwOGY0 NGM3Mjc2NTdhYzFiNjcwMzE4NWY4Citfc2tjbXNfaGFzaD02NDM3NDc1NmUwMzcwMGQ2NDlmODk3 ZGJkOThjOTVlNzhjMzBjN2RhCitkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9saWJqeGwv bGlianhsL2FyY2hpdmUvdiR7dmVyc2lvbn0udGFyLmd6CisgaHR0cHM6Ly9naXRodWIuY29tL2x2 YW5kZXZlL2xvZGVwbmcvYXJjaGl2ZS8ke19sb2RlcG5nX2hhc2h9LnRhci5nej5sb2RlcG5nLSR7 X2xvZGVwbmdfaGFzaH0udGFyLmd6CisgaHR0cHM6Ly9za2lhLmdvb2dsZXNvdXJjZS5jb20vc2tj bXMvK2FyY2hpdmUvJHtfc2tjbXNfaGFzaH0udGFyLmd6PnNrY21zLSR7X3NrY21zX2hhc2h9LnRh ci5neiIKK2NoZWNrc3VtPSJjY2JkNWE3MjlkNzMwMTUyMzAzYmUzOTlmMDMzYjkwNWU2MDgzMDlk NTgwMmQ3N2E2MWE5NWZhYTA5MjU5MmM1CisgYzQ3YzQ4Yzc3YTIwNWYxYWY0ODRiN2I1YTg0NzI5 MGFmNjVkZTNlYTZmMTU4MTdhYTI3YzVlYzdjYzUyMDhmZAorIEBhNjkyMzBjN2I2ZjAzYTE3OGM5 M2FiYzZlZGM4MzJjMDQwZDZlMTk4MzQwMTkzYjI3YzNkMDRhZmVjZjhmNjE3Igorc2tpcF9leHRy YWN0aW9uPSJsb2RlcG5nLSR7X2xvZGVwbmdfaGFzaH0udGFyLmd6Cisgc2tjbXMtJHtfc2tjbXNf aGFzaH0udGFyLmd6IgorCitpZiBbICIkWEJQU19UQVJHRVRfTk9fQVRPTUlDOCIgXTsgdGhlbgor CW1ha2VkZXBlbmRzKz0iIGxpYmF0b21pYy1kZXZlbCIKKwlMSUJTPSItbGF0b21pYyIKK2ZpCisK KyMgVGVzdHMgZmFpbCBhZnRlciBidWlsZGluZyB3aXRoIDMyLWJpdCBnY2MgKGh0dHBzOi8vZ2l0 aHViLmNvbS9saWJqeGwvbGlianhsL2lzc3Vlcy8xMzQwKQoraWYgWyAiJENST1NTX0JVSUxEIiB8 fCAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiID09ICJpNjg2IiBdOyB0aGVuCisJY29uZmlndXJlX2Fy Z3MrPSIgLURCVUlMRF9URVNUSU5HPU9GRiIKK2ZpCisKK3Bvc3RfZXh0cmFjdCgpIHsKKwljZCAk e1hCUFNfU1JDRElTVERJUn0vbGlianhsLSR7dmVyc2lvbn0KKwl0YXIgLXhmIGxvZGVwbmctJHtf bG9kZXBuZ19oYXNofS50YXIuZ3ogLS1zdHJpcC1jb21wb25lbnRzPTEgLUMgJHt3cmtzcmN9L3Ro aXJkX3BhcnR5L2xvZGVwbmcKKwl0YXIgLXhmIHNrY21zLSR7X3NrY21zX2hhc2h9LnRhci5neiAt QyAke3dya3NyY30vdGhpcmRfcGFydHkvc2tjbXMKK30KKworcG9zdF9pbnN0YWxsKCkgeworCXZs aWNlbnNlIExJQ0VOU0UKKwl2bGljZW5zZSBQQVRFTlRTCit9CisKK2xpYmp4bC1kZXZlbF9wYWNr YWdlKCkgeworCXNob3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKKwlkZXBlbmRzPSJs aWJqeGw+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gaGlnaHdheSBicm90bGktZGV2ZWwiCisJcGtn X2luc3RhbGwoKSB7CisJCXZtb3ZlIHVzci9pbmNsdWRlCisJCXZtb3ZlICJ1c3IvbGliLyouYSIK KwkJdm1vdmUgInVzci9saWIvKi5zbyIKKwkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKKwl9Cit9 CisKK2xpYmp4bC10b29sc19wYWNrYWdlKCkgeworCXNob3J0X2Rlc2MrPSIgLSB0b29scyIKKwlw a2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgdXNyL2JpbgorCQl2bW92ZSB1c3Ivc2hhcmUvbWFuCisJ fQorfQorCitsaWJqeGwtcGx1Z2luc19wYWNrYWdlKCkgeworCXNob3J0X2Rlc2MrPSIgLSBwbHVn aW5zIgorCWRlcGVuZHM9ImRlc2t0b3AtZmlsZS11dGlscyIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJ dm1vdmUgdXNyL2xpYi9nZGstcGl4YnVmLTIuMAorCQl2bW92ZSB1c3IvbGliL2dpbXAKKwkJdm1v dmUgdXNyL3NoYXJlL21pbWUKKwkJdm1vdmUgdXNyL3NoYXJlL3RodW1ibmFpbGVycworCX0KK30K CkZyb20gY2QzZGQ4NjMwOWRkODgxMWVmZGM2YTQ5YWJlN2Q5ZWJjMDViYjJjNiBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9zaHVhIDxqb3NodWFAa3JhZW1lci5saW5rPgpEYXRlOiBX ZWQsIDMwIE1hciAyMDIyIDIxOjIzOjE2ICswMjAwClN1YmplY3Q6IFtQQVRDSCAzLzNdIGtpbWFn ZWZvcm1hdHM6IGVuYWJsZSBKUEVHIFhMIHN1cHBvcnQKCi0tLQogc3JjcGtncy9raW1hZ2Vmb3Jt YXRzL3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAy IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mva2ltYWdlZm9ybWF0cy90ZW1wbGF0 ZSBiL3NyY3BrZ3Mva2ltYWdlZm9ybWF0cy90ZW1wbGF0ZQppbmRleCBlYmQ2ZTgxZGIyOTguLjY5 NjVlMDQxMDI3YyAxMDA2NDQKLS0tIGEvc3JjcGtncy9raW1hZ2Vmb3JtYXRzL3RlbXBsYXRlCisr KyBiL3NyY3BrZ3Mva2ltYWdlZm9ybWF0cy90ZW1wbGF0ZQpAQCAtMSwxMiArMSwxMiBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAna2ltYWdlZm9ybWF0cycKIHBrZ25hbWU9a2ltYWdlZm9ybWF0cwog dmVyc2lvbj01LjkyLjAKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtl CiBjb25maWd1cmVfYXJncz0iLURLSU1BR0VGT1JNQVRTX0hFSUY9T04iCiBob3N0bWFrZWRlcGVu ZHM9Imtjb3JlYWRkb25zIGV4dHJhLWNtYWtlLW1vZHVsZXMgcXQ1LXFtYWtlIHF0NS1ob3N0LXRv b2xzCiAgcGtnLWNvbmZpZyIKLW1ha2VkZXBlbmRzPSJrYXJjaGl2ZS1kZXZlbCBsaWJvcGVuZXhy LWRldmVsIGxpYmhlaWYtZGV2ZWwiCittYWtlZGVwZW5kcz0ia2FyY2hpdmUtZGV2ZWwgbGlib3Bl bmV4ci1kZXZlbCBsaWJoZWlmLWRldmVsIGxpYmp4bC1kZXZlbCIKIHNob3J0X2Rlc2M9IktERSBQ bHVnaW5zIHRvIGFsbG93IFFJbWFnZSB0byBzdXBwb3J0IGV4dHJhIGZpbGUgZm9ybWF0cyIKIG1h aW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJMR1BMLTIuMC1v ci1sYXRlciIK --===============3043532556517921529==--