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 autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 24627 invoked from network); 27 Apr 2022 17:52:00 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 27 Apr 2022 17:52:00 -0000 Content-Type: multipart/mixed; boundary="===============6900728516206984206==" 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: Wed, 27 Apr 2022 19:52:00 +0200 List-Id: Message-ID: <20220427175200.tI1gQCxQ0sBgiW04wIlo_r_Ic0_HELVUvsD-lbQZgiw@z> GitHub notification mails are now in MIME to allow UTF8. --===============6900728516206984206== 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= --===============6900728516206984206== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-jpeg-xl-31397.patch" RnJvbSA1NGUxNjc3YTE2ZGY1NWNmYjIyODcyZjA2NWY2ZWVmN2M0NTU1MWEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Sm9zaHVhPTIwS3I9QzM9QTRtZXI/PSA8am9z aHVhQGtyYWVtZXIubGluaz4KRGF0ZTogV2VkLCA5IEp1biAyMDIxIDAwOjQ0OjM3ICswMjAwClN1 YmplY3Q6IFtQQVRDSCAxLzNdIE5ldyBwYWNrYWdlOiBoaWdod2F5LTAuMTYuMAoKLS0tCiBzcmNw a2dzL2hpZ2h3YXkvdGVtcGxhdGUgfCAxNyArKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5n ZWQsIDE3IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2hpZ2h3YXkv dGVtcGxhdGUKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2hpZ2h3YXkvdGVtcGxhdGUgYi9zcmNwa2dz L2hpZ2h3YXkvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw Li5hNWMxYmYyODRjNjgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2hpZ2h3YXkvdGVtcGxh dGUKQEAgLTAsMCArMSwxNyBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAnaGlnaHdheScKK3BrZ25h bWU9aGlnaHdheQordmVyc2lvbj0wLjE2LjAKK3JldmlzaW9uPTEKK2J1aWxkX3N0eWxlPWNtYWtl Citjb25maWd1cmVfYXJncz0iLURIV1lfU1lTVEVNX0dURVNUPU9OIgorY2hlY2tkZXBlbmRzPSJn dGVzdC1kZXZlbCIKK3Nob3J0X2Rlc2M9IkMrKyBsaWJyYXJ5IHByb3ZpZGluZyBwb3J0YWJsZSBT SU1EL3ZlY3RvciBpbnRyaW5zaWNzIgorbWFpbnRhaW5lcj0iSm9zaHVhIEtyw6RtZXIgPGpvc2h1 YUBrcmFlbWVyLmxpbms+IgorbGljZW5zZT0iQXBhY2hlLTIuMCIKK2hvbWVwYWdlPSJodHRwczov L2dpdGh1Yi5jb20vZ29vZ2xlL2hpZ2h3YXkiCitkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNv bS9nb29nbGUvaGlnaHdheS9hcmNoaXZlLyR7dmVyc2lvbn0udGFyLmd6IgorY2hlY2tzdW09NzQ2 Yzk1Nzg0NDZiZTZjNTI4NmU4ODQ2YzVmMGQ0MTE4YzBjMWYwNDIxOWM0MDFhYmFkY2I4YTVmMjA1 MTg5MworCitpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KKwljb25maWd1cmVfYXJncys9IiAt REJVSUxEX1RFU1RJTkc9T0ZGIgorZmkKCkZyb20gOGYwYmRlMjU1ODZlNzA2YmZkMzk1NDQ0ZDhm MjBiMzAyYmY1YjU4ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP0pv c2h1YT0yMEtyPUMzPUE0bWVyPz0gPGpvc2h1YUBrcmFlbWVyLmxpbms+CkRhdGU6IFdlZCwgOSBK dW4gMjAyMSAwMTo1MjoyOSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMi8zXSBOZXcgcGFja2FnZTog bGlianhsLTAuNi4xCgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgMiArCiBzcmNwa2dzL2xpYmp4bC1kZXZlbCAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgIDEgKwogc3JjcGtncy9saWJqeGwtcGx1Z2lucyAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAxICsKIHNyY3BrZ3MvbGlianhsLXRvb2xzICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgMSArCiAuLi4vZGVwcmVjYXRlZF9oaWdod2F5X2Z1bmN0aW9ucy5wYXRjaCAgICAgICAg fCA0NTkgKysrKysrKysrKysrKysrKysrCiBzcmNwa2dzL2xpYmp4bC90ZW1wbGF0ZSAgICAgICAg ICAgICAgICAgICAgICAgfCAgNzYgKysrCiA2IGZpbGVzIGNoYW5nZWQsIDU0MCBpbnNlcnRpb25z KCspCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9saWJqeGwtZGV2ZWwKIGNyZWF0ZSBtb2Rl IDEyMDAwMCBzcmNwa2dzL2xpYmp4bC1wbHVnaW5zCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtn cy9saWJqeGwtdG9vbHMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2xpYmp4bC9wYXRjaGVz L2RlcHJlY2F0ZWRfaGlnaHdheV9mdW5jdGlvbnMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL2xpYmp4bC90ZW1wbGF0ZQoKZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMgYi9jb21t b24vc2hsaWJzCmluZGV4IDYwYjQ0MDJjOGJkMi4uZWZkZWNhOGFkMjcyIDEwMDY0NAotLS0gYS9j b21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTQxNTIsMyArNDE1Miw1IEBAIGxp YnJ6X2Jpbi5zby4wLjMuNCByaXppbi0wLjMuNF8xCiBsaWJhcmF2aXMtMC44LnNvLjAgbGliYXJh dmlzLTAuOC4yMV8xCiBsaWJMaW1lU3VpdGUuc28uMjAuMTAtMSBMaW1lU3VpdGUtMjAuMTAuMF8x CiBsaWJudm1lLnNvLjEgbGlibnZtZS0xLjBfMQorbGlianhsLnNvLjAuNiBsaWJqeGwtMC42LjFf MQorbGlianhsX3RocmVhZHMuc28uMC42IGxpYmp4bC0wLjYuMV8xCmRpZmYgLS1naXQgYS9zcmNw a2dzL2xpYmp4bC1kZXZlbCBiL3NyY3BrZ3MvbGlianhsLWRldmVsCm5ldyBmaWxlIG1vZGUgMTIw MDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uZGRjMWFiZjgyN2Q5Ci0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9saWJqeGwtZGV2ZWwKQEAgLTAsMCArMSBAQAorbGlianhsClwgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJqeGwtcGx1Z2lucyBiL3NyY3Br Z3MvbGlianhsLXBsdWdpbnMKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAw Li5kZGMxYWJmODI3ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYmp4bC1wbHVnaW5z CkBAIC0wLDAgKzEgQEAKK2xpYmp4bApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvbGlianhsLXRvb2xzIGIvc3JjcGtncy9saWJqeGwtdG9vbHMKbmV3IGZp bGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwLi5kZGMxYWJmODI3ZDkKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzL2xpYmp4bC10b29scwpAQCAtMCwwICsxIEBACitsaWJqeGwKXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmp4bC9wYXRj aGVzL2RlcHJlY2F0ZWRfaGlnaHdheV9mdW5jdGlvbnMucGF0Y2ggYi9zcmNwa2dzL2xpYmp4bC9w YXRjaGVzL2RlcHJlY2F0ZWRfaGlnaHdheV9mdW5jdGlvbnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5hNzc1ZWI1YTdjNTYKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL2xpYmp4bC9wYXRjaGVzL2RlcHJlY2F0ZWRfaGlnaHdheV9mdW5jdGlvbnMucGF0 Y2gKQEAgLTAsMCArMSw0NTkgQEAKK2RpZmYgLS1naXQgYS9saWIvanhsL2RlY19yZWNvbnN0cnVj dC5jYyBiL2xpYi9qeGwvZGVjX3JlY29uc3RydWN0LmNjCitpbmRleCBhMWJhZWY0Li4wODI3OWY4 IDEwMDY0NAorLS0tIGEvbGliL2p4bC9kZWNfcmVjb25zdHJ1Y3QuY2MKKysrKyBiL2xpYi9qeGwv ZGVjX3JlY29uc3RydWN0LmNjCitAQCAtMzU3LDggKzM1Nyw4IEBAIHZvaWQgRG9ZQ2JDclVwc2Ft cGxpbmcoc2l6ZV90IGhzLCBzaXplX3QgdnMsIEltYWdlRiogcGxhbmVfaW4sIGNvbnN0IFJlY3Qm IHJlY3QsCisgICAgICAgICBTdG9yZShsZWZ0LCBkLCBvdXQgKyB4KTsKKyAgICAgICAgIFN0b3Jl KHJpZ2h0LCBkLCBvdXQgKyB4ICsgMSk7CisgI2Vsc2UKKy0gICAgICAgIFN0b3JlKEludGVybGVh dmVMb3dlcihsZWZ0LCByaWdodCksIGQsIG91dCArIHgpOworLSAgICAgICAgU3RvcmUoSW50ZXJs ZWF2ZVVwcGVyKGxlZnQsIHJpZ2h0KSwgZCwgb3V0ICsgeCArIExhbmVzKGQpKTsKKysgICAgICAg IFN0b3JlKEludGVybGVhdmVMb3dlcihkLCBsZWZ0LCByaWdodCksIGQsIG91dCArIHgpOworKyAg ICAgICAgU3RvcmUoSW50ZXJsZWF2ZVVwcGVyKGQsIGxlZnQsIHJpZ2h0KSwgZCwgb3V0ICsgeCAr IExhbmVzKGQpKTsKKyAjZW5kaWYKKyAgICAgICB9CisgICAgIH0KK2RpZmYgLS1naXQgYS9saWIv anhsL2RlY191cHNhbXBsZS5jYyBiL2xpYi9qeGwvZGVjX3Vwc2FtcGxlLmNjCitpbmRleCA3Mjc3 ZTRmLi4zY2IzZjM2IDEwMDY0NAorLS0tIGEvbGliL2p4bC9kZWNfdXBzYW1wbGUuY2MKKysrKyBi L2xpYi9qeGwvZGVjX3Vwc2FtcGxlLmNjCitAQCAtMTc2LDggKzE3Niw4IEBAIHZvaWQgVXBzYW1w bGUoY29uc3QgSW1hZ2VGJiBzcmMsIGNvbnN0IFJlY3QmIHNyY19yZWN0LCBJbWFnZUYqIGRzdCwK KyAgICAgICAgIG1pbiA9IE1pbihMb2FkVShkZiwgcmF3X21pbl9yb3cgKyBzeCArIGZ4KSwgbWlu KTsKKyAgICAgICAgIG1heCA9IE1heChMb2FkVShkZiwgcmF3X21heF9yb3cgKyBzeCArIGZ4KSwg bWF4KTsKKyAgICAgICB9CistICAgICAgbWluID0gTWluT2ZMYW5lcyhtaW4pOworLSAgICAgIG1h eCA9IE1heE9mTGFuZXMobWF4KTsKKysgICAgICBtaW4gPSBNaW5PZkxhbmVzKGRmLCBtaW4pOwor KyAgICAgIG1heCA9IE1heE9mTGFuZXMoZGYsIG1heCk7CisgICAgICAgZm9yIChzaXplX3QgbHgg PSAwOyBseCA8IE47IGx4ICs9IFYpIHsKKyAgICAgICAgIFN0b3JlVShtaW4sIGRmLCBtaW5fcm93 ICsgTiAqIHN4ICsgbHgpOworICAgICAgICAgU3RvcmVVKG1heCwgZGYsIG1heF9yb3cgKyBOICog c3ggKyBseCk7CitkaWZmIC0tZ2l0IGEvbGliL2p4bC9lbmNfYWNfc3RyYXRlZ3kuY2MgYi9saWIv anhsL2VuY19hY19zdHJhdGVneS5jYworaW5kZXggYmM1MDQ2NS4uYzBlZDY4ZiAxMDA2NDQKKy0t LSBhL2xpYi9qeGwvZW5jX2FjX3N0cmF0ZWd5LmNjCisrKysgYi9saWIvanhsL2VuY19hY19zdHJh dGVneS5jYworQEAgLTQyOSw4ICs0MjksOCBAQCBmbG9hdCBFc3RpbWF0ZUVudHJvcHkoY29uc3Qg QWNTdHJhdGVneSYgYWNzLCBzaXplX3QgeCwgc2l6ZV90IHksCisgICAgIH0KKyAgICAgZW50cm9w eV92ICs9IG56ZXJvc192ICogY29zdDE7CisgCistICAgIGVudHJvcHkgKz0gR2V0TGFuZShTdW1P ZkxhbmVzKGVudHJvcHlfdikpOworLSAgICBzaXplX3QgbnVtX256ZXJvcyA9IEdldExhbmUoU3Vt T2ZMYW5lcyhuemVyb3NfdikpOworKyAgICBlbnRyb3B5ICs9IEdldExhbmUoU3VtT2ZMYW5lcyhk ZiwgZW50cm9weV92KSk7CisrICAgIHNpemVfdCBudW1fbnplcm9zID0gR2V0TGFuZShTdW1PZkxh bmVzKGRmLCBuemVyb3NfdikpOworICAgICAvLyBBZGQgI2JpdCBvZiBudW1fbm9uemVyb3MsIGFz IGFuIGVzdGltYXRlIG9mIHRoZSBjb3N0IGZvciBlbmNvZGluZyB0aGUKKyAgICAgLy8gbnVtYmVy IG9mIG5vbi16ZXJvcyBvZiB0aGUgYmxvY2suCisgICAgIHNpemVfdCBuYml0cyA9IENlaWxMb2cy Tm9uemVybyhudW1fbnplcm9zICsgMSkgKyAxOworQEAgLTQ0MSw5ICs0NDEsOSBAQCBmbG9hdCBF c3RpbWF0ZUVudHJvcHkoY29uc3QgQWNTdHJhdGVneSYgYWNzLCBzaXplX3QgeCwgc2l6ZV90IHks CisgICBmbG9hdCByZXQgPQorICAgICAgIGVudHJvcHkgKworICAgICAgIG1hc2tpbmcgKgorLSAg ICAgICAgICAoKGNvbmZpZy5pbmZvX2xvc3NfbXVsdGlwbGllciAqIEdldExhbmUoU3VtT2ZMYW5l cyhpbmZvX2xvc3MpKSkgKworKyAgICAgICAgICAoKGNvbmZpZy5pbmZvX2xvc3NfbXVsdGlwbGll ciAqIEdldExhbmUoU3VtT2ZMYW5lcyhkZiwgaW5mb19sb3NzKSkpICsKKyAgICAgICAgICAgIChj b25maWcuaW5mb19sb3NzX211bHRpcGxpZXIyICoKKy0gICAgICAgICAgICBzcXJ0KG51bV9ibG9j a3MgKiBHZXRMYW5lKFN1bU9mTGFuZXMoaW5mb19sb3NzMikpKSkpOworKyAgICAgICAgICAgIHNx cnQobnVtX2Jsb2NrcyAqIEdldExhbmUoU3VtT2ZMYW5lcyhkZiwgaW5mb19sb3NzMikpKSkpOwor ICAgcmV0dXJuIHJldDsKKyB9CisgCitkaWZmIC0tZ2l0IGEvbGliL2p4bC9lbmNfYWRhcHRpdmVf cXVhbnRpemF0aW9uLmNjIGIvbGliL2p4bC9lbmNfYWRhcHRpdmVfcXVhbnRpemF0aW9uLmNjCitp bmRleCBmNTMzOTNmLi4yNGYzZDUzIDEwMDY0NAorLS0tIGEvbGliL2p4bC9lbmNfYWRhcHRpdmVf cXVhbnRpemF0aW9uLmNjCisrKysgYi9saWIvanhsL2VuY19hZGFwdGl2ZV9xdWFudGl6YXRpb24u Y2MKK0BAIC0xODksNyArMTg5LDcgQEAgViBHYW1tYU1vZHVsYXRpb24oY29uc3QgRCBkLCBjb25z dCBzaXplX3QgeCwgY29uc3Qgc2l6ZV90IHksCisgICAgICAgb3ZlcmFsbF9yYXRpbyArPSBhdmdf cmF0aW87CisgICAgIH0KKyAgIH0KKy0gIG92ZXJhbGxfcmF0aW8gPSBTdW1PZkxhbmVzKG92ZXJh bGxfcmF0aW8pOworKyAgb3ZlcmFsbF9yYXRpbyA9IFN1bU9mTGFuZXMoZCwgb3ZlcmFsbF9yYXRp byk7CisgICBvdmVyYWxsX3JhdGlvICo9IFNldChkLCAxLjBmIC8gNjQpOworICAgLy8gaWRlYWxs eSAtMS4wLCBidXQgbGlrZWx5IG9wdGltYWwgY29ycmVjdGlvbiBhZGRzIHNvbWUgZW50cm9weSwg c28gc2xpZ2h0bHkKKyAgIC8vIGxlc3MgdGhhbiB0aGF0LgorQEAgLTI0NiwxMiArMjQ2LDEyIEBA IFYgQ29sb3JNb2R1bGF0aW9uKGNvbnN0IEQgZCwgY29uc3Qgc2l6ZV90IHgsIGNvbnN0IHNpemVf dCB5LAorICAgLy8gYmx1ZSB3ZSBjb25zaWRlciBhcyBpZiBpdCB3YXMgZnVsbHkgcmVkIG9yIGJs dWUuCisgICBzdGF0aWMgY29uc3QgZmxvYXQgcmF0aW8gPSAzMC42MTA2MTU3ODIxNDI3MzdmOyAg Ly8gb3V0IG9mIDY0IHBpeGVscy4KKyAKKy0gIGF1dG8gb3ZlcmFsbF9yZWRfY292ZXJhZ2UgPSBT dW1PZkxhbmVzKHJlZF9jb3ZlcmFnZSk7CisrICBhdXRvIG92ZXJhbGxfcmVkX2NvdmVyYWdlID0g U3VtT2ZMYW5lcyhkLCByZWRfY292ZXJhZ2UpOworICAgb3ZlcmFsbF9yZWRfY292ZXJhZ2UgPQor ICAgICAgIE1pbihvdmVyYWxsX3JlZF9jb3ZlcmFnZSwgU2V0KGQsIHJhdGlvICoga1JlZFJhbXBM ZW5ndGgpKTsKKyAgIG92ZXJhbGxfcmVkX2NvdmVyYWdlICo9IFNldChkLCByZWRfc3RyZW5ndGgg LyByYXRpbyk7CisgCistICBhdXRvIG92ZXJhbGxfYmx1ZV9jb3ZlcmFnZSA9IFN1bU9mTGFuZXMo Ymx1ZV9jb3ZlcmFnZSk7CisrICBhdXRvIG92ZXJhbGxfYmx1ZV9jb3ZlcmFnZSA9IFN1bU9mTGFu ZXMoZCwgYmx1ZV9jb3ZlcmFnZSk7CisgICBvdmVyYWxsX2JsdWVfY292ZXJhZ2UgPQorICAgICAg IE1pbihvdmVyYWxsX2JsdWVfY292ZXJhZ2UsIFNldChkLCByYXRpbyAqIGtCbHVlUmFtcExlbmd0 aCkpOworICAgb3ZlcmFsbF9ibHVlX2NvdmVyYWdlICo9IFNldChkLCBibHVlX3N0cmVuZ3RoIC8g cmF0aW8pOworQEAgLTI5NSw3ICsyOTUsNyBAQCBWIEhmTW9kdWxhdGlvbihjb25zdCBEIGQsIGNv bnN0IHNpemVfdCB4LCBjb25zdCBzaXplX3QgeSwgY29uc3QgSW1hZ2VGJiB4eWIsCisgICAgIH0K KyAgIH0KKyAKKy0gIHN1bSA9IFN1bU9mTGFuZXMoc3VtKTsKKysgIHN1bSA9IFN1bU9mTGFuZXMo ZCwgc3VtKTsKKyAgIHJldHVybiBNdWxBZGQoc3VtLCBTZXQoZCwgLTIuMDA1MjE5MzIzMzY4ODg4 NGYgLyAxMTIpLCBvdXRfdmFsKTsKKyB9CisgCitkaWZmIC0tZ2l0IGEvbGliL2p4bC9lbmNfYXJf Y29udHJvbF9maWVsZC5jYyBiL2xpYi9qeGwvZW5jX2FyX2NvbnRyb2xfZmllbGQuY2MKK2luZGV4 IGY0MzM0MGUuLmY4MDI1YWMgMTAwNjQ0CistLS0gYS9saWIvanhsL2VuY19hcl9jb250cm9sX2Zp ZWxkLmNjCisrKysgYi9saWIvanhsL2VuY19hcl9jb250cm9sX2ZpZWxkLmNjCitAQCAtMTU3LDcg KzE1Nyw3IEBAIHZvaWQgUHJvY2Vzc1RpbGUoY29uc3QgSW1hZ2UzRiYgb3BzaW4sIFBhc3Nlc0Vu Y29kZXJTdGF0ZSogZW5jX3N0YXRlLAorICAgICAgICAgICBzdW0gKz0gTG9hZFUoZGY0LCByb3dz X2luW2l5XSArIHggKiA0ICsgaXggKyAyKTsKKyAgICAgICAgIH0KKyAgICAgICB9CistICAgICAg cm93X291dFt4XSA9IEdldExhbmUoU3FydChTdW1PZkxhbmVzKHN1bSkpKSAqICgxLjBmIC8gNC4w Zik7CisrICAgICAgcm93X291dFt4XSA9IEdldExhbmUoU3FydChTdW1PZkxhbmVzKGRmNCwgc3Vt KSkpICogKDEuMGYgLyA0LjBmKTsKKyAgICAgfQorICAgfQorICAgLy8gSW5kZXhpbmcgaXkgYW5k IGl4IGlzIGEgYml0IHRyaWNreSBhcyB3ZSBpbmNsdWRlIGEgMiBwaXhlbCBib3JkZXIKK0BAIC0x OTMsNyArMTkzLDcgQEAgdm9pZCBQcm9jZXNzVGlsZShjb25zdCBJbWFnZTNGJiBvcHNpbiwgUGFz c2VzRW5jb2RlclN0YXRlKiBlbmNfc3RhdGUsCisgICAgICAgICAgICAgc3VtICs9IExvYWQoZGY0 LCByb3dzX2luW2l5XSArIHN4ICsgaXgpOworICAgICAgICAgICB9CisgICAgICAgICB9CistICAg ICAgICByb3dfb3V0W3hdID0gR2V0TGFuZShTcXJ0KFN1bU9mTGFuZXMoc3VtKSkpICogKDEuMGYg LyA0LjBmKTsKKysgICAgICAgIHJvd19vdXRbeF0gPSBHZXRMYW5lKFNxcnQoU3VtT2ZMYW5lcyhk ZjQsIHN1bSkpKSAqICgxLjBmIC8gNC4wZik7CisgICAgICAgfSBlbHNlIHsKKyAgICAgICAgIGZs b2F0IHN1bSA9IDA7CisgICAgICAgICBmb3IgKHNpemVfdCBpeSA9IHN5OyBpeSA8IGV5OyBpeSsr KSB7CitkaWZmIC0tZ2l0IGEvbGliL2p4bC9lbmNfYnV0dGVyYXVnbGlfcG5vcm0uY2MgYi9saWIv anhsL2VuY19idXR0ZXJhdWdsaV9wbm9ybS5jYworaW5kZXggN2MzZmI5Yy4uOTBiMDQ0MCAxMDA2 NDQKKy0tLSBhL2xpYi9qeGwvZW5jX2J1dHRlcmF1Z2xpX3Bub3JtLmNjCisrKysgYi9saWIvanhs L2VuY19idXR0ZXJhdWdsaV9wbm9ybS5jYworQEAgLTk1LDEzICs5NSwxMyBAQCBkb3VibGUgQ29t cHV0ZURpc3RhbmNlUChjb25zdCBJbWFnZUYmIGRpc3RtYXAsIGNvbnN0IEJ1dHRlcmF1Z2xpUGFy YW1zJiBwYXJhbXMsCisgICAgIH0KKyAgICAgZG91YmxlIHYgPSAwOworICAgICB2ICs9IHBvdygK Ky0gICAgICAgIG9uZVBlclBpeGVscyAqIChzdW0xWzBdICsgR2V0TGFuZShTdW1PZkxhbmVzKExv YWQoZCwgc3VtX3RvdGFsczApKSkpLAorKyAgICAgICAgb25lUGVyUGl4ZWxzICogKHN1bTFbMF0g KyBHZXRMYW5lKFN1bU9mTGFuZXMoZCwgTG9hZChkLCBzdW1fdG90YWxzMCkpKSksCisgICAgICAg ICAxLjAgLyAocCAqIDEuMCkpOworICAgICB2ICs9IHBvdygKKy0gICAgICAgIG9uZVBlclBpeGVs cyAqIChzdW0xWzFdICsgR2V0TGFuZShTdW1PZkxhbmVzKExvYWQoZCwgc3VtX3RvdGFsczEpKSkp LAorKyAgICAgICAgb25lUGVyUGl4ZWxzICogKHN1bTFbMV0gKyBHZXRMYW5lKFN1bU9mTGFuZXMo ZCwgTG9hZChkLCBzdW1fdG90YWxzMSkpKSksCisgICAgICAgICAxLjAgLyAocCAqIDIuMCkpOwor ICAgICB2ICs9IHBvdygKKy0gICAgICAgIG9uZVBlclBpeGVscyAqIChzdW0xWzJdICsgR2V0TGFu ZShTdW1PZkxhbmVzKExvYWQoZCwgc3VtX3RvdGFsczIpKSkpLAorKyAgICAgICAgb25lUGVyUGl4 ZWxzICogKHN1bTFbMl0gKyBHZXRMYW5lKFN1bU9mTGFuZXMoZCwgTG9hZChkLCBzdW1fdG90YWxz MikpKSksCisgICAgICAgICAxLjAgLyAocCAqIDQuMCkpOworICAgICB2IC89IDMuMDsKKyAgICAg cmV0dXJuIHY7CitkaWZmIC0tZ2l0IGEvbGliL2p4bC9lbmNfY2hyb21hX2Zyb21fbHVtYS5jYyBi L2xpYi9qeGwvZW5jX2Nocm9tYV9mcm9tX2x1bWEuY2MKK2luZGV4IGU1YzNmMzguLjM3MDU5NWMg MTAwNjQ0CistLS0gYS9saWIvanhsL2VuY19jaHJvbWFfZnJvbV9sdW1hLmNjCisrKysgYi9saWIv anhsL2VuY19jaHJvbWFfZnJvbV9sdW1hLmNjCitAQCAtOTEsOSArOTEsOSBAQCBzdHJ1Y3QgQ0ZM RnVuY3Rpb24geworICAgICAgIGZkbWVfdiArPSBJZlRoZW5FbHNlKGF2ID49IHRocmVzLCB6ZXJv LCBkbWUpOworICAgICB9CisgCistICAgICpmcGVwcyA9IGZpcnN0X2Rlcml2YXRpdmVfcGVwcyAr IEdldExhbmUoU3VtT2ZMYW5lcyhmZHBlX3YpKTsKKy0gICAgKmZtZXBzID0gZmlyc3RfZGVyaXZh dGl2ZV9tZXBzICsgR2V0TGFuZShTdW1PZkxhbmVzKGZkbWVfdikpOworLSAgICByZXR1cm4gZmly c3RfZGVyaXZhdGl2ZSArIEdldExhbmUoU3VtT2ZMYW5lcyhmZF92KSk7CisrICAgICpmcGVwcyA9 IGZpcnN0X2Rlcml2YXRpdmVfcGVwcyArIEdldExhbmUoU3VtT2ZMYW5lcyhkZiwgZmRwZV92KSk7 CisrICAgICpmbWVwcyA9IGZpcnN0X2Rlcml2YXRpdmVfbWVwcyArIEdldExhbmUoU3VtT2ZMYW5l cyhkZiwgZmRtZV92KSk7CisrICAgIHJldHVybiBmaXJzdF9kZXJpdmF0aXZlICsgR2V0TGFuZShT dW1PZkxhbmVzKGRmLCBmZF92KSk7CisgICB9CisgCisgICBjb25zdCBmbG9hdCogSlhMX1JFU1RS SUNUIHZhbHVlc19tOworQEAgLTEyNCw4ICsxMjQsOCBAQCBpbnQzMl90IEZpbmRCZXN0TXVsdGlw bGllcihjb25zdCBmbG9hdCogdmFsdWVzX20sIGNvbnN0IGZsb2F0KiB2YWx1ZXNfcywKKyAgICAg ICBjYiA9IE11bEFkZChhLCBiLCBjYik7CisgICAgIH0KKyAgICAgLy8gKyBkaXN0YW5jZV9tdWwg KiB4XjIgKiBudW0KKy0gICAgeCA9IC1HZXRMYW5lKFN1bU9mTGFuZXMoY2IpKSAvCistICAgICAg ICAoR2V0TGFuZShTdW1PZkxhbmVzKGNhKSkgKyBudW0gKiBkaXN0YW5jZV9tdWwgKiAwLjVmKTsK KysgICAgeCA9IC1HZXRMYW5lKFN1bU9mTGFuZXMoZGYsIGNiKSkgLworKyAgICAgICAgKEdldExh bmUoU3VtT2ZMYW5lcyhkZiwgY2EpKSArIG51bSAqIGRpc3RhbmNlX211bCAqIDAuNWYpOworICAg fSBlbHNlIHsKKyAgICAgY29uc3RleHByIGZsb2F0IGVwcyA9IDE7CisgICAgIGNvbnN0ZXhwciBm bG9hdCBrQ2xhbXAgPSAyMC4wZjsKK2RpZmYgLS1naXQgYS9saWIvanhsL2VuY19jbHVzdGVyLmNj IGIvbGliL2p4bC9lbmNfY2x1c3Rlci5jYworaW5kZXggMWYxMmEyOS4uOGFlODYzYyAxMDA2NDQK Ky0tLSBhL2xpYi9qeGwvZW5jX2NsdXN0ZXIuY2MKKysrKyBiL2xpYi9qeGwvZW5jX2NsdXN0ZXIu Y2MKK0BAIC00OSw3ICs0OSw3IEBAIHZvaWQgSGlzdG9ncmFtRW50cm9weShjb25zdCBIaXN0b2dy YW0mIGEpIHsKKyAgICAgY29uc3QgYXV0byBjb3VudHMgPSBMb2FkVShkaSwgJmEuZGF0YV9baV0p OworICAgICBlbnRyb3B5X2xhbmVzICs9IEVudHJvcHkoQ29udmVydFRvKGRmLCBjb3VudHMpLCBp bnZfdG90LCB0b3RhbCk7CisgICB9CistICBhLmVudHJvcHlfICs9IEdldExhbmUoU3VtT2ZMYW5l cyhlbnRyb3B5X2xhbmVzKSk7CisrICBhLmVudHJvcHlfICs9IEdldExhbmUoU3VtT2ZMYW5lcyhk ZiwgZW50cm9weV9sYW5lcykpOworIH0KKyAKKyBmbG9hdCBIaXN0b2dyYW1EaXN0YW5jZShjb25z dCBIaXN0b2dyYW0mIGEsIGNvbnN0IEhpc3RvZ3JhbSYgYikgeworQEAgLTcxLDcgKzcxLDcgQEAg ZmxvYXQgSGlzdG9ncmFtRGlzdGFuY2UoY29uc3QgSGlzdG9ncmFtJiBhLCBjb25zdCBIaXN0b2dy YW0mIGIpIHsKKyAgICAgY29uc3QgYXV0byBjb3VudHMgPSBDb252ZXJ0VG8oZGYsIGFfY291bnRz ICsgYl9jb3VudHMpOworICAgICBkaXN0YW5jZV9sYW5lcyArPSBFbnRyb3B5KGNvdW50cywgaW52 X3RvdCwgdG90YWwpOworICAgfQorLSAgY29uc3QgZmxvYXQgdG90YWxfZGlzdGFuY2UgPSBHZXRM YW5lKFN1bU9mTGFuZXMoZGlzdGFuY2VfbGFuZXMpKTsKKysgIGNvbnN0IGZsb2F0IHRvdGFsX2Rp c3RhbmNlID0gR2V0TGFuZShTdW1PZkxhbmVzKGRmLCBkaXN0YW5jZV9sYW5lcykpOworICAgcmV0 dXJuIHRvdGFsX2Rpc3RhbmNlIC0gYS5lbnRyb3B5XyAtIGIuZW50cm9weV87CisgfQorIAorZGlm ZiAtLWdpdCBhL2xpYi9qeGwvZW5jX2VudHJvcHlfY29kZXIuY2MgYi9saWIvanhsL2VuY19lbnRy b3B5X2NvZGVyLmNjCitpbmRleCAwOTQ2MzAwLi4wN2ZlNWEwIDEwMDY0NAorLS0tIGEvbGliL2p4 bC9lbmNfZW50cm9weV9jb2Rlci5jYworKysrIGIvbGliL2p4bC9lbmNfZW50cm9weV9jb2Rlci5j YworQEAgLTg2LDcgKzg2LDcgQEAgaW50MzJfdCBOdW1Ob25aZXJvRXhjZXB0TExGKGNvbnN0IHNp emVfdCBjeCwgY29uc3Qgc2l6ZV90IGN5LAorIAorICAgLy8gV2Ugd2FudCBhcmVhIC0gc3VtX3pl cm8sIGFkZCBiZWNhdXNlIG5lZ19zdW1femVybyBpcyBhbHJlYWR5IG5lZ2F0ZWQuCisgICBjb25z dCBpbnQzMl90IG56ZXJvcyA9CistICAgICAgaW50MzJfdChjeCAqIGN5ICoga0RDVEJsb2NrU2l6 ZSkgKyBHZXRMYW5lKFN1bU9mTGFuZXMobmVnX3N1bV96ZXJvKSk7CisrICAgICAgaW50MzJfdChj eCAqIGN5ICoga0RDVEJsb2NrU2l6ZSkgKyBHZXRMYW5lKFN1bU9mTGFuZXMoZGksIG5lZ19zdW1f emVybykpOworIAorICAgY29uc3QgaW50MzJfdCBzaGlmdGVkX256ZXJvcyA9IHN0YXRpY19jYXN0 PGludDMyX3Q+KAorICAgICAgIChuemVyb3MgKyBjb3ZlcmVkX2Jsb2NrcyAtIDEpID4+IGxvZzJf Y292ZXJlZF9ibG9ja3MpOworQEAgLTEzNSw3ICsxMzUsNyBAQCBpbnQzMl90IE51bU5vblplcm84 eDhFeGNlcHREQyhjb25zdCBpbnQzMl90KiBKWExfUkVTVFJJQ1QgYmxvY2ssCisgCisgICAvLyBX ZSB3YW50IDY0IC0gc3VtX3plcm8sIGFkZCBiZWNhdXNlIG5lZ19zdW1femVybyBpcyBhbHJlYWR5 IG5lZ2F0ZWQuCisgICBjb25zdCBpbnQzMl90IG56ZXJvcyA9CistICAgICAgaW50MzJfdChrRENU QmxvY2tTaXplKSArIEdldExhbmUoU3VtT2ZMYW5lcyhuZWdfc3VtX3plcm8pKTsKKysgICAgICBp bnQzMl90KGtEQ1RCbG9ja1NpemUpICsgR2V0TGFuZShTdW1PZkxhbmVzKGRpLCBuZWdfc3VtX3pl cm8pKTsKKyAKKyAgICpuemVyb3NfcG9zID0gbnplcm9zOworIAorZGlmZiAtLWdpdCBhL2xpYi9q eGwvZW5jX2Zhc3RfaGV1cmlzdGljcy5jYyBiL2xpYi9qeGwvZW5jX2Zhc3RfaGV1cmlzdGljcy5j YworaW5kZXggMTZmNzY3MC4uMDU1MTc4MiAxMDA2NDQKKy0tLSBhL2xpYi9qeGwvZW5jX2Zhc3Rf aGV1cmlzdGljcy5jYworKysrIGIvbGliL2p4bC9lbmNfZmFzdF9oZXVyaXN0aWNzLmNjCitAQCAt OTQsOCArOTQsOCBAQCBTdGF0dXMgSGV1cmlzdGljcyhQYXNzZXNFbmNvZGVyU3RhdGUqIGVuY19z dGF0ZSwKKyAgICAgICAgICAgICAgIGNiID0gTXVsQWRkKGEsIGIsIGNiKTsKKyAgICAgICAgICAg ICB9CisgICAgICAgICAgIH0KKy0gICAgICAgICAgZmxvYXQgYmVzdCA9CistICAgICAgICAgICAg ICAtR2V0TGFuZShTdW1PZkxhbmVzKGNiKSkgLyAoR2V0TGFuZShTdW1PZkxhbmVzKGNhKSkgKyAx ZS05Zik7CisrICAgICAgICAgIGZsb2F0IGJlc3QgPSAtR2V0TGFuZShTdW1PZkxhbmVzKGRmLCBj YikpIC8KKysgICAgICAgICAgICAgICAgICAgICAgIChHZXRMYW5lKFN1bU9mTGFuZXMoZGYsIGNh KSkgKyAxZS05Zik7CisgICAgICAgICAgIGludDhfdCYgcmVzID0gKGMgPT0gMCA/IHNoYXJlZC5j bWFwLnl0b3hfbWFwIDogc2hhcmVkLmNtYXAueXRvYl9tYXApCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC5Sb3codHkpW3R4XTsKKyAgICAgICAgICAgcmVzID0gc3RkOjptYXgoLTEyOC4w Ziwgc3RkOjptaW4oMTI3LjBmLCByb3VuZGYoYmVzdCkpKTsKK0BAIC0xMjQsOCArMTI0LDggQEAg U3RhdHVzIEhldXJpc3RpY3MoUGFzc2VzRW5jb2RlclN0YXRlKiBlbmNfc3RhdGUsCisgICAgICAg ICAgICAgICAgIG1heCA9IElmVGhlbkVsc2UobWF4ID4gbm4sIG1heCwgbm4pOworICAgICAgICAg ICAgICAgfQorICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICByb3dfb3V0X2F2Z1t4XSA9IEdl dExhbmUoU3VtT2ZMYW5lcyhzdW0pKTsKKy0gICAgICAgICAgICByb3dfb3V0W3hdID0gR2V0TGFu ZShNYXhPZkxhbmVzKG1heCkpOworKyAgICAgICAgICAgIHJvd19vdXRfYXZnW3hdID0gR2V0TGFu ZShTdW1PZkxhbmVzKGRmNCwgc3VtKSk7CisrICAgICAgICAgICAgcm93X291dFt4XSA9IEdldExh bmUoTWF4T2ZMYW5lcyhkZjQsIG1heCkpOworICAgICAgICAgICB9CisgICAgICAgICB9CisgICAg ICAgfSwKK2RpZmYgLS1naXQgYS9saWIvanhsL2dhdXNzX2JsdXIuY2MgYi9saWIvanhsL2dhdXNz X2JsdXIuY2MKK2luZGV4IGY5YmFiZTcuLmYyNGE3NGMgMTAwNjQ0CistLS0gYS9saWIvanhsL2dh dXNzX2JsdXIuY2MKKysrKyBiL2xpYi9qeGwvZ2F1c3NfYmx1ci5jYworQEAgLTQyMSw3ICs0MjEs NyBAQCBJbWFnZUYgQ29udm9sdmVYU2FtcGxlQW5kVHJhbnNwb3NlKGNvbnN0IEltYWdlRiYgaW4s CisgICAgICAgZm9yIChpbnQgaSA9IC1yOyBpIDw9IHI7IGkgKz0gTGFuZXMoZGYpKSB7CisgICAg ICAgICBzdW0gPSBNdWxBZGQoTG9hZFUoZGYsIHJvd3AgKyB4ICsgaSksIExvYWRVKGRmLCBrZXJu ZWxwICsgaSksIHN1bSk7CisgICAgICAgfQorLSAgICAgIG91dC5Sb3cob3gpW3ldID0gR2V0TGFu ZShTdW1PZkxhbmVzKHN1bSkpOworKyAgICAgIG91dC5Sb3cob3gpW3ldID0gR2V0TGFuZShTdW1P ZkxhbmVzKGRmLCBzdW0pKTsKKyAgICAgfQorICAgICBmb3IgKDsgeCA8IGluLnhzaXplKCk7IHgg Kz0gcmVzLCArK294KSB7CisgICAgICAgZmxvYXQgc3VtID0gMC4wZjsKK2RpZmYgLS1naXQgYS9s aWIvanhsL21vZHVsYXIvZW5jb2RpbmcvZW5jX21hLmNjIGIvbGliL2p4bC9tb2R1bGFyL2VuY29k aW5nL2VuY19tYS5jYworaW5kZXggMGUyZWFhYy4uZDQ4NTEyOSAxMDA2NDQKKy0tLSBhL2xpYi9q eGwvbW9kdWxhci9lbmNvZGluZy9lbmNfbWEuY2MKKysrKyBiL2xpYi9qeGwvbW9kdWxhci9lbmNv ZGluZy9lbmNfbWEuY2MKK0BAIC04NCw3ICs4NCw3IEBAIGZsb2F0IEVzdGltYXRlQml0cyhjb25z dCBpbnQzMl90ICpjb3VudHMsIGludDMyX3QgKnJvdW5kZWRfY291bnRzLAorICAgICBiaXRzX2xh bmVzIC09CisgICAgICAgICBJZlRoZW5FbHNlKGNvdW50c192ID09IHplcm8sIHplcm8sIGNvdW50 c192ICogQml0Q2FzdChkZiwgbmJwcykpOworICAgfQorLSAgcmV0dXJuIEdldExhbmUoU3VtT2ZM YW5lcyhiaXRzX2xhbmVzKSk7CisrICByZXR1cm4gR2V0TGFuZShTdW1PZkxhbmVzKGRmLCBiaXRz X2xhbmVzKSk7CisgfQorIAorIHZvaWQgTWFrZVNwbGl0Tm9kZShzaXplX3QgcG9zLCBpbnQgcHJv cGVydHksIGludCBzcGxpdHZhbCwgUHJlZGljdG9yIGxwcmVkLAorZGlmZiAtLWdpdCBhL2xpYi9q eGwvcmF0aW9uYWxfcG9seW5vbWlhbF90ZXN0LmNjIGIvbGliL2p4bC9yYXRpb25hbF9wb2x5bm9t aWFsX3Rlc3QuY2MKK2luZGV4IDY5OWFmZDAuLmY5ODVlYjAgMTAwNjQ0CistLS0gYS9saWIvanhs L3JhdGlvbmFsX3BvbHlub21pYWxfdGVzdC5jYworKysrIGIvbGliL2p4bC9yYXRpb25hbF9wb2x5 bm9taWFsX3Rlc3QuY2MKK0BAIC01MSw3ICs1MSw3IEBAIHN0cnVjdCBFdmFsTG9nMiB7CisgICAg IGNvbnN0IEhXWV9GVUxMKGludDMyX3QpIGRpOworICAgICBjb25zdCBhdXRvIHhfYml0cyA9IEJp dENhc3QoZGksIHZ4KTsKKyAgICAgLy8gQ2Fubm90IGhhbmRsZSBuZWdhdGl2ZSBudW1iZXJzIC8g TmFOLgorLSAgICBKWExfREFTU0VSVChBbGxUcnVlKEFicyh4X2JpdHMpID09IHhfYml0cykpOwor KyAgICBKWExfREFTU0VSVChBbGxUcnVlKGRpLCBBYnMoeF9iaXRzKSA9PSB4X2JpdHMpKTsKKyAK KyAgICAgLy8gUmFuZ2UgcmVkdWN0aW9uIHRvIFstMS8zLCAxLzNdIC0gMyBpbnRlZ2VyLCAyIGZs b2F0IG9wcworICAgICBjb25zdCBhdXRvIGV4cF9iaXRzID0geF9iaXRzIC0gU2V0KGRpLCAweDNm MmFhYWFiKTsgIC8vID0gMi8zCitkaWZmIC0tZ2l0IGEvbGliL2p4bC9zcGxpbmVzLmNjIGIvbGli L2p4bC9zcGxpbmVzLmNjCitpbmRleCA4NjUzNDQ1Li41ZGMyNDA0IDEwMDY0NAorLS0tIGEvbGli L2p4bC9zcGxpbmVzLmNjCisrKysgYi9saWIvanhsL3NwbGluZXMuY2MKK0BAIC01Miw3ICs1Miw3 IEBAIGZsb2F0IENvbnRpbnVvdXNJRENUKGNvbnN0IGZsb2F0IGRjdFszMl0sIGZsb2F0IHQpIHsK KyAgICAgYXV0byBsb2NhbF9yZXMgPSBMb2FkVShkZiwgZGN0ICsgaSkgKiBjb3M7CisgICAgIHJl c3VsdCA9IE11bEFkZChTZXQoZGYsIHNxdWFyZV9yb290PDI+Ojp2YWx1ZSksIGxvY2FsX3Jlcywg cmVzdWx0KTsKKyAgIH0KKy0gIHJldHVybiBHZXRMYW5lKFN1bU9mTGFuZXMocmVzdWx0KSk7Cisr ICByZXR1cm4gR2V0TGFuZShTdW1PZkxhbmVzKGRmLCByZXN1bHQpKTsKKyB9CisgCisgdGVtcGxh dGUgPHR5cGVuYW1lIERGPgorZGlmZiAtLWdpdCBhL2xpYi9qeGwvdHJhbnNwb3NlLWlubC5oIGIv bGliL2p4bC90cmFuc3Bvc2UtaW5sLmgKK2luZGV4IGQxMmIxMjkuLjQ2NzQ0MjAgMTAwNjQ0Cist LS0gYS9saWIvanhsL3RyYW5zcG9zZS1pbmwuaAorKysrIGIvbGliL2p4bC90cmFuc3Bvc2UtaW5s LmgKK0BAIC03NCw1MCArNzQsNTEgQEAgSlhMX0lOTElORV9UUkFOU1BPU0Ugdm9pZCBHZW5lcmlj VHJhbnNwb3NlQmxvY2soVHJhbnNwb3NlU2ltZFRhZzx0cnVlPiwKKyAgIHN0YXRpY19hc3NlcnQo Q09MU19vcl8wICUgOCA9PSAwLCAiSW52YWxpZCBudW1iZXIgb2YgY29sdW1ucyIpOworICAgZm9y IChzaXplX3QgbiA9IDA7IG4gPCBST1dTOyBuICs9IDgpIHsKKyAgICAgZm9yIChzaXplX3QgbSA9 IDA7IG0gPCBDT0xTOyBtICs9IDgpIHsKKy0gICAgICBhdXRvIGkwID0gZnJvbS5Mb2FkUGFydChC bG9ja0Rlc2M8OD4oKSwgbiArIDAsIG0gKyAwKTsKKy0gICAgICBhdXRvIGkxID0gZnJvbS5Mb2Fk UGFydChCbG9ja0Rlc2M8OD4oKSwgbiArIDEsIG0gKyAwKTsKKy0gICAgICBhdXRvIGkyID0gZnJv bS5Mb2FkUGFydChCbG9ja0Rlc2M8OD4oKSwgbiArIDIsIG0gKyAwKTsKKy0gICAgICBhdXRvIGkz ID0gZnJvbS5Mb2FkUGFydChCbG9ja0Rlc2M8OD4oKSwgbiArIDMsIG0gKyAwKTsKKy0gICAgICBh dXRvIGk0ID0gZnJvbS5Mb2FkUGFydChCbG9ja0Rlc2M8OD4oKSwgbiArIDQsIG0gKyAwKTsKKy0g ICAgICBhdXRvIGk1ID0gZnJvbS5Mb2FkUGFydChCbG9ja0Rlc2M8OD4oKSwgbiArIDUsIG0gKyAw KTsKKy0gICAgICBhdXRvIGk2ID0gZnJvbS5Mb2FkUGFydChCbG9ja0Rlc2M8OD4oKSwgbiArIDYs IG0gKyAwKTsKKy0gICAgICBhdXRvIGk3ID0gZnJvbS5Mb2FkUGFydChCbG9ja0Rlc2M8OD4oKSwg biArIDcsIG0gKyAwKTsKKysgICAgICBjb25zdCBCbG9ja0Rlc2M8OD4gZDsKKysgICAgICBhdXRv IGkwID0gZnJvbS5Mb2FkUGFydChkLCBuICsgMCwgbSArIDApOworKyAgICAgIGF1dG8gaTEgPSBm cm9tLkxvYWRQYXJ0KGQsIG4gKyAxLCBtICsgMCk7CisrICAgICAgYXV0byBpMiA9IGZyb20uTG9h ZFBhcnQoZCwgbiArIDIsIG0gKyAwKTsKKysgICAgICBhdXRvIGkzID0gZnJvbS5Mb2FkUGFydChk LCBuICsgMywgbSArIDApOworKyAgICAgIGF1dG8gaTQgPSBmcm9tLkxvYWRQYXJ0KGQsIG4gKyA0 LCBtICsgMCk7CisrICAgICAgYXV0byBpNSA9IGZyb20uTG9hZFBhcnQoZCwgbiArIDUsIG0gKyAw KTsKKysgICAgICBhdXRvIGk2ID0gZnJvbS5Mb2FkUGFydChkLCBuICsgNiwgbSArIDApOworKyAg ICAgIGF1dG8gaTcgPSBmcm9tLkxvYWRQYXJ0KGQsIG4gKyA3LCBtICsgMCk7CisgICAgICAgLy8g U3VycHJpc2luZ2x5LCB0aGlzIHN0cmFpZ2h0Zm9yd2FyZCBpbXBsZW1lbnRhdGlvbiAoMjQgY3lj bGVzIG9uIHBvcnQ1KQorICAgICAgIC8vIGlzIGZhc3RlciB0aGFuIGxvYWQxMjgraW5zZXJ0IGFu ZCBMb2FkRHVwMTI4K0NvbmNhdFVwcGVyTG93ZXIrYmxlbmQuCistICAgICAgY29uc3QgYXV0byBx MCA9IEludGVybGVhdmVMb3dlcihpMCwgaTIpOworLSAgICAgIGNvbnN0IGF1dG8gcTEgPSBJbnRl cmxlYXZlTG93ZXIoaTEsIGkzKTsKKy0gICAgICBjb25zdCBhdXRvIHEyID0gSW50ZXJsZWF2ZVVw cGVyKGkwLCBpMik7CistICAgICAgY29uc3QgYXV0byBxMyA9IEludGVybGVhdmVVcHBlcihpMSwg aTMpOworLSAgICAgIGNvbnN0IGF1dG8gcTQgPSBJbnRlcmxlYXZlTG93ZXIoaTQsIGk2KTsKKy0g ICAgICBjb25zdCBhdXRvIHE1ID0gSW50ZXJsZWF2ZUxvd2VyKGk1LCBpNyk7CistICAgICAgY29u c3QgYXV0byBxNiA9IEludGVybGVhdmVVcHBlcihpNCwgaTYpOworLSAgICAgIGNvbnN0IGF1dG8g cTcgPSBJbnRlcmxlYXZlVXBwZXIoaTUsIGk3KTsKKy0KKy0gICAgICBjb25zdCBhdXRvIHIwID0g SW50ZXJsZWF2ZUxvd2VyKHEwLCBxMSk7CistICAgICAgY29uc3QgYXV0byByMSA9IEludGVybGVh dmVVcHBlcihxMCwgcTEpOworLSAgICAgIGNvbnN0IGF1dG8gcjIgPSBJbnRlcmxlYXZlTG93ZXIo cTIsIHEzKTsKKy0gICAgICBjb25zdCBhdXRvIHIzID0gSW50ZXJsZWF2ZVVwcGVyKHEyLCBxMyk7 CistICAgICAgY29uc3QgYXV0byByNCA9IEludGVybGVhdmVMb3dlcihxNCwgcTUpOworLSAgICAg IGNvbnN0IGF1dG8gcjUgPSBJbnRlcmxlYXZlVXBwZXIocTQsIHE1KTsKKy0gICAgICBjb25zdCBh dXRvIHI2ID0gSW50ZXJsZWF2ZUxvd2VyKHE2LCBxNyk7CistICAgICAgY29uc3QgYXV0byByNyA9 IEludGVybGVhdmVVcHBlcihxNiwgcTcpOworLQorLSAgICAgIGkwID0gQ29uY2F0TG93ZXJMb3dl cihyNCwgcjApOworLSAgICAgIGkxID0gQ29uY2F0TG93ZXJMb3dlcihyNSwgcjEpOworLSAgICAg IGkyID0gQ29uY2F0TG93ZXJMb3dlcihyNiwgcjIpOworLSAgICAgIGkzID0gQ29uY2F0TG93ZXJM b3dlcihyNywgcjMpOworLSAgICAgIGk0ID0gQ29uY2F0VXBwZXJVcHBlcihyNCwgcjApOworLSAg ICAgIGk1ID0gQ29uY2F0VXBwZXJVcHBlcihyNSwgcjEpOworLSAgICAgIGk2ID0gQ29uY2F0VXBw ZXJVcHBlcihyNiwgcjIpOworLSAgICAgIGk3ID0gQ29uY2F0VXBwZXJVcHBlcihyNywgcjMpOwor LSAgICAgIHRvLlN0b3JlUGFydChCbG9ja0Rlc2M8OD4oKSwgaTAsIG0gKyAwLCBuICsgMCk7Cist ICAgICAgdG8uU3RvcmVQYXJ0KEJsb2NrRGVzYzw4PigpLCBpMSwgbSArIDEsIG4gKyAwKTsKKy0g ICAgICB0by5TdG9yZVBhcnQoQmxvY2tEZXNjPDg+KCksIGkyLCBtICsgMiwgbiArIDApOworLSAg ICAgIHRvLlN0b3JlUGFydChCbG9ja0Rlc2M8OD4oKSwgaTMsIG0gKyAzLCBuICsgMCk7CistICAg ICAgdG8uU3RvcmVQYXJ0KEJsb2NrRGVzYzw4PigpLCBpNCwgbSArIDQsIG4gKyAwKTsKKy0gICAg ICB0by5TdG9yZVBhcnQoQmxvY2tEZXNjPDg+KCksIGk1LCBtICsgNSwgbiArIDApOworLSAgICAg IHRvLlN0b3JlUGFydChCbG9ja0Rlc2M8OD4oKSwgaTYsIG0gKyA2LCBuICsgMCk7CistICAgICAg dG8uU3RvcmVQYXJ0KEJsb2NrRGVzYzw4PigpLCBpNywgbSArIDcsIG4gKyAwKTsKKysgICAgICBj b25zdCBhdXRvIHEwID0gSW50ZXJsZWF2ZUxvd2VyKGQsIGkwLCBpMik7CisrICAgICAgY29uc3Qg YXV0byBxMSA9IEludGVybGVhdmVMb3dlcihkLCBpMSwgaTMpOworKyAgICAgIGNvbnN0IGF1dG8g cTIgPSBJbnRlcmxlYXZlVXBwZXIoZCwgaTAsIGkyKTsKKysgICAgICBjb25zdCBhdXRvIHEzID0g SW50ZXJsZWF2ZVVwcGVyKGQsIGkxLCBpMyk7CisrICAgICAgY29uc3QgYXV0byBxNCA9IEludGVy bGVhdmVMb3dlcihkLCBpNCwgaTYpOworKyAgICAgIGNvbnN0IGF1dG8gcTUgPSBJbnRlcmxlYXZl TG93ZXIoZCwgaTUsIGk3KTsKKysgICAgICBjb25zdCBhdXRvIHE2ID0gSW50ZXJsZWF2ZVVwcGVy KGQsIGk0LCBpNik7CisrICAgICAgY29uc3QgYXV0byBxNyA9IEludGVybGVhdmVVcHBlcihkLCBp NSwgaTcpOworKworKyAgICAgIGNvbnN0IGF1dG8gcjAgPSBJbnRlcmxlYXZlTG93ZXIoZCwgcTAs IHExKTsKKysgICAgICBjb25zdCBhdXRvIHIxID0gSW50ZXJsZWF2ZVVwcGVyKGQsIHEwLCBxMSk7 CisrICAgICAgY29uc3QgYXV0byByMiA9IEludGVybGVhdmVMb3dlcihkLCBxMiwgcTMpOworKyAg ICAgIGNvbnN0IGF1dG8gcjMgPSBJbnRlcmxlYXZlVXBwZXIoZCwgcTIsIHEzKTsKKysgICAgICBj b25zdCBhdXRvIHI0ID0gSW50ZXJsZWF2ZUxvd2VyKGQsIHE0LCBxNSk7CisrICAgICAgY29uc3Qg YXV0byByNSA9IEludGVybGVhdmVVcHBlcihkLCBxNCwgcTUpOworKyAgICAgIGNvbnN0IGF1dG8g cjYgPSBJbnRlcmxlYXZlTG93ZXIoZCwgcTYsIHE3KTsKKysgICAgICBjb25zdCBhdXRvIHI3ID0g SW50ZXJsZWF2ZVVwcGVyKGQsIHE2LCBxNyk7CisrCisrICAgICAgaTAgPSBDb25jYXRMb3dlckxv d2VyKGQsIHI0LCByMCk7CisrICAgICAgaTEgPSBDb25jYXRMb3dlckxvd2VyKGQsIHI1LCByMSk7 CisrICAgICAgaTIgPSBDb25jYXRMb3dlckxvd2VyKGQsIHI2LCByMik7CisrICAgICAgaTMgPSBD b25jYXRMb3dlckxvd2VyKGQsIHI3LCByMyk7CisrICAgICAgaTQgPSBDb25jYXRVcHBlclVwcGVy KGQsIHI0LCByMCk7CisrICAgICAgaTUgPSBDb25jYXRVcHBlclVwcGVyKGQsIHI1LCByMSk7Cisr ICAgICAgaTYgPSBDb25jYXRVcHBlclVwcGVyKGQsIHI2LCByMik7CisrICAgICAgaTcgPSBDb25j YXRVcHBlclVwcGVyKGQsIHI3LCByMyk7CisrICAgICAgdG8uU3RvcmVQYXJ0KGQsIGkwLCBtICsg MCwgbiArIDApOworKyAgICAgIHRvLlN0b3JlUGFydChkLCBpMSwgbSArIDEsIG4gKyAwKTsKKysg ICAgICB0by5TdG9yZVBhcnQoZCwgaTIsIG0gKyAyLCBuICsgMCk7CisrICAgICAgdG8uU3RvcmVQ YXJ0KGQsIGkzLCBtICsgMywgbiArIDApOworKyAgICAgIHRvLlN0b3JlUGFydChkLCBpNCwgbSAr IDQsIG4gKyAwKTsKKysgICAgICB0by5TdG9yZVBhcnQoZCwgaTUsIG0gKyA1LCBuICsgMCk7Cisr ICAgICAgdG8uU3RvcmVQYXJ0KGQsIGk2LCBtICsgNiwgbiArIDApOworKyAgICAgIHRvLlN0b3Jl UGFydChkLCBpNywgbSArIDcsIG4gKyAwKTsKKyAgICAgfQorICAgfQorIH0KK0BAIC0xMzcsMjUg KzEzOCwyNiBAQCBKWExfSU5MSU5FX1RSQU5TUE9TRSB2b2lkIEdlbmVyaWNUcmFuc3Bvc2VCbG9j ayhUcmFuc3Bvc2VTaW1kVGFnPHRydWU+LAorICAgc3RhdGljX2Fzc2VydChDT0xTX29yXzAgJSA0 ID09IDAsICJJbnZhbGlkIG51bWJlciBvZiBjb2x1bW5zIik7CisgICBmb3IgKHNpemVfdCBuID0g MDsgbiA8IFJPV1M7IG4gKz0gNCkgeworICAgICBmb3IgKHNpemVfdCBtID0gMDsgbSA8IENPTFM7 IG0gKz0gNCkgeworLSAgICAgIGNvbnN0IGF1dG8gcDAgPSBmcm9tLkxvYWRQYXJ0KEJsb2NrRGVz Yzw0PigpLCBuICsgMCwgbSArIDApOworLSAgICAgIGNvbnN0IGF1dG8gcDEgPSBmcm9tLkxvYWRQ YXJ0KEJsb2NrRGVzYzw0PigpLCBuICsgMSwgbSArIDApOworLSAgICAgIGNvbnN0IGF1dG8gcDIg PSBmcm9tLkxvYWRQYXJ0KEJsb2NrRGVzYzw0PigpLCBuICsgMiwgbSArIDApOworLSAgICAgIGNv bnN0IGF1dG8gcDMgPSBmcm9tLkxvYWRQYXJ0KEJsb2NrRGVzYzw0PigpLCBuICsgMywgbSArIDAp OworLQorLSAgICAgIGNvbnN0IGF1dG8gcTAgPSBJbnRlcmxlYXZlTG93ZXIocDAsIHAyKTsKKy0g ICAgICBjb25zdCBhdXRvIHExID0gSW50ZXJsZWF2ZUxvd2VyKHAxLCBwMyk7CistICAgICAgY29u c3QgYXV0byBxMiA9IEludGVybGVhdmVVcHBlcihwMCwgcDIpOworLSAgICAgIGNvbnN0IGF1dG8g cTMgPSBJbnRlcmxlYXZlVXBwZXIocDEsIHAzKTsKKy0KKy0gICAgICBjb25zdCBhdXRvIHIwID0g SW50ZXJsZWF2ZUxvd2VyKHEwLCBxMSk7CistICAgICAgY29uc3QgYXV0byByMSA9IEludGVybGVh dmVVcHBlcihxMCwgcTEpOworLSAgICAgIGNvbnN0IGF1dG8gcjIgPSBJbnRlcmxlYXZlTG93ZXIo cTIsIHEzKTsKKy0gICAgICBjb25zdCBhdXRvIHIzID0gSW50ZXJsZWF2ZVVwcGVyKHEyLCBxMyk7 CistCistICAgICAgdG8uU3RvcmVQYXJ0KEJsb2NrRGVzYzw0PigpLCByMCwgbSArIDAsIG4gKyAw KTsKKy0gICAgICB0by5TdG9yZVBhcnQoQmxvY2tEZXNjPDQ+KCksIHIxLCBtICsgMSwgbiArIDAp OworLSAgICAgIHRvLlN0b3JlUGFydChCbG9ja0Rlc2M8ND4oKSwgcjIsIG0gKyAyLCBuICsgMCk7 CistICAgICAgdG8uU3RvcmVQYXJ0KEJsb2NrRGVzYzw0PigpLCByMywgbSArIDMsIG4gKyAwKTsK KysgICAgICBjb25zdCBCbG9ja0Rlc2M8ND4gZDsKKysgICAgICBjb25zdCBhdXRvIHAwID0gZnJv bS5Mb2FkUGFydChkLCBuICsgMCwgbSArIDApOworKyAgICAgIGNvbnN0IGF1dG8gcDEgPSBmcm9t LkxvYWRQYXJ0KGQsIG4gKyAxLCBtICsgMCk7CisrICAgICAgY29uc3QgYXV0byBwMiA9IGZyb20u TG9hZFBhcnQoZCwgbiArIDIsIG0gKyAwKTsKKysgICAgICBjb25zdCBhdXRvIHAzID0gZnJvbS5M b2FkUGFydChkLCBuICsgMywgbSArIDApOworKworKyAgICAgIGNvbnN0IGF1dG8gcTAgPSBJbnRl cmxlYXZlTG93ZXIoZCwgcDAsIHAyKTsKKysgICAgICBjb25zdCBhdXRvIHExID0gSW50ZXJsZWF2 ZUxvd2VyKGQsIHAxLCBwMyk7CisrICAgICAgY29uc3QgYXV0byBxMiA9IEludGVybGVhdmVVcHBl cihkLCBwMCwgcDIpOworKyAgICAgIGNvbnN0IGF1dG8gcTMgPSBJbnRlcmxlYXZlVXBwZXIoZCwg cDEsIHAzKTsKKysKKysgICAgICBjb25zdCBhdXRvIHIwID0gSW50ZXJsZWF2ZUxvd2VyKGQsIHEw LCBxMSk7CisrICAgICAgY29uc3QgYXV0byByMSA9IEludGVybGVhdmVVcHBlcihkLCBxMCwgcTEp OworKyAgICAgIGNvbnN0IGF1dG8gcjIgPSBJbnRlcmxlYXZlTG93ZXIoZCwgcTIsIHEzKTsKKysg ICAgICBjb25zdCBhdXRvIHIzID0gSW50ZXJsZWF2ZVVwcGVyKGQsIHEyLCBxMyk7CisrCisrICAg ICAgdG8uU3RvcmVQYXJ0KGQsIHIwLCBtICsgMCwgbiArIDApOworKyAgICAgIHRvLlN0b3JlUGFy dChkLCByMSwgbSArIDEsIG4gKyAwKTsKKysgICAgICB0by5TdG9yZVBhcnQoZCwgcjIsIG0gKyAy LCBuICsgMCk7CisrICAgICAgdG8uU3RvcmVQYXJ0KGQsIHIzLCBtICsgMywgbiArIDApOworICAg ICB9CisgICB9CisgfQorZGlmZiAtLWdpdCBhL2xpYi9wcm9maWxlci9wcm9maWxlci5jYyBiL2xp Yi9wcm9maWxlci9wcm9maWxlci5jYworaW5kZXggZDIxZWUwOS4uMTg2ZmYwNiAxMDA2NDQKKy0t LSBhL2xpYi9wcm9maWxlci9wcm9maWxlci5jYworKysrIGIvbGliL3Byb2ZpbGVyL3Byb2ZpbGVy LmNjCitAQCAtMTM5LDcgKzEzOSw3IEBAIGNsYXNzIFJlc3VsdHMgeworICAgdm9pZCBBbmFseXpl UGFja2V0cyhjb25zdCBQYWNrZXQqIEhXWV9SRVNUUklDVCBwYWNrZXRzLAorICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBzaXplX3QgbnVtX3BhY2tldHMpIHsKKyAgICAgLy8gRW5zdXJlcyBw cmlvciB3ZWFrbHktb3JkZXJlZCBzdHJlYW1pbmcgc3RvcmVzIGFyZSBnbG9iYWxseSB2aXNpYmxl LgorLSAgICBod3k6OlN0b3JlRmVuY2UoKTsKKysgICAgaHd5OjpGbHVzaFN0cmVhbSgpOworIAor ICAgICBjb25zdCB1aW50NjRfdCB0MCA9IFRpY2tzQmVmb3JlKCk7CisgCitAQCAtMzcyLDEyICsz NzIsMTIgQEAgdm9pZCBUaHJlYWRTcGVjaWZpYzo6Q29tcHV0ZU92ZXJoZWFkKCkgeworICAgICAg IGNvbnN0IHNpemVfdCBrUmVwcyA9IDEwMDAwOworICAgICAgIC8vIEFuYWx5c2lzIHRpbWUgc2hv dWxkIG5vdCBiZSBpbmNsdWRlZCA9PiBtdXN0IGZpdCB3aXRoaW4gYnVmZmVyLgorICAgICAgIEhX WV9BU1NFUlQoa1JlcHMgKiAyIDwgbWF4X3BhY2tldHNfKTsKKy0gICAgICBod3k6OlN0b3JlRmVu Y2UoKTsKKysgICAgICBod3k6OkZsdXNoU3RyZWFtKCk7CisgICAgICAgY29uc3QgdWludDY0X3Qg dDAgPSBUaWNrc0JlZm9yZSgpOworICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwga1JlcHM7 ICsraSkgeworICAgICAgICAgUFJPRklMRVJfWk9ORSgiRHVtbXkiKTsKKyAgICAgICB9CistICAg ICAgaHd5OjpTdG9yZUZlbmNlKCk7CisrICAgICAgaHd5OjpGbHVzaFN0cmVhbSgpOworICAgICAg IGNvbnN0IHVpbnQ2NF90IHQxID0gVGlja3NBZnRlcigpOworICAgICAgIEhXWV9BU1NFUlQobnVt X3BhY2tldHNfICsgYnVmZmVyX3NpemVfID09IGtSZXBzICogMik7CisgICAgICAgYnVmZmVyX3Np emVfID0gMDsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGlianhsL3RlbXBsYXRlIGIvc3JjcGtncy9s aWJqeGwvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5h NjRmMDZmZTI5ZWUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYmp4bC90ZW1wbGF0ZQpA QCAtMCwwICsxLDc2IEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdsaWJqeGwnCitwa2duYW1lPWxp Ymp4bAordmVyc2lvbj0wLjYuMQorcmV2aXNpb249MQorYnVpbGRfc3R5bGU9Y21ha2UKK2NvbmZp Z3VyZV9hcmdzPSItREpQRUdYTF9FTkFCTEVfQkVOQ0hNQVJLPU9GRiAtREpQRUdYTF9FTkFCTEVf RVhBTVBMRVM9T0ZGCisgLURKUEVHWExfRU5BQkxFX1NKUEVHPU9GRiAtREpQRUdYTF9FTkFCTEVf UExVR0lOUz1PTiIKK2hvc3RtYWtlZGVwZW5kcz0idGFyIHBrZy1jb25maWcgYXNjaWlkb2MiCitt YWtlZGVwZW5kcz0iYnJvdGxpLWRldmVsIGhpZ2h3YXkgbGlicG5nLWRldmVsIGdpZmxpYi1kZXZl bCBsaWJqcGVnLXR1cmJvLWRldmVsCisgbGlib3BlbmV4ci1kZXZlbCBnZGstcGl4YnVmLWRldmVs IGdpbXAtZGV2ZWwiCitjaGVja2RlcGVuZHM9Imd0ZXN0LWRldmVsIHhkZy11dGlscyIKK3Nob3J0 X2Rlc2M9IkpQRUcgWEwgaW1hZ2UgZm9ybWF0IHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiIKK21h aW50YWluZXI9Ikpvc2h1YSBLcsOkbWVyIDxqb3NodWFAa3JhZW1lci5saW5rPiIKK2xpY2Vuc2U9 IkJTRC0zLUNsYXVzZSwgY3VzdG9tOlBhdGVudCBncmFudCIKK2hvbWVwYWdlPSJodHRwczovL2pw ZWcub3JnL2pwZWd4bC8iCitfbG9kZXBuZ19oYXNoPTQ4ZTUzNjRlZjQ4ZWMyNDA4ZjQ0YzcyNzY1 N2FjMWI2NzAzMTg1ZjgKK19za2Ntc19oYXNoPTY0Mzc0NzU2ZTAzNzAwZDY0OWY4OTdkYmQ5OGM5 NWU3OGMzMGM3ZGEKK2Rpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL2xpYmp4bC9saWJqeGwv YXJjaGl2ZS92JHt2ZXJzaW9ufS50YXIuZ3oKKyBodHRwczovL2dpdGh1Yi5jb20vbHZhbmRldmUv bG9kZXBuZy9hcmNoaXZlLyR7X2xvZGVwbmdfaGFzaH0udGFyLmd6PmxvZGVwbmctJHtfbG9kZXBu Z19oYXNofS50YXIuZ3oKKyBodHRwczovL3NraWEuZ29vZ2xlc291cmNlLmNvbS9za2Ntcy8rYXJj aGl2ZS8ke19za2Ntc19oYXNofS50YXIuZ3o+c2tjbXMtJHtfc2tjbXNfaGFzaH0udGFyLmd6Igor Y2hlY2tzdW09ImNjYmQ1YTcyOWQ3MzAxNTIzMDNiZTM5OWYwMzNiOTA1ZTYwODMwOWQ1ODAyZDc3 YTYxYTk1ZmFhMDkyNTkyYzUKKyBjNDdjNDhjNzdhMjA1ZjFhZjQ4NGI3YjVhODQ3MjkwYWY2NWRl M2VhNmYxNTgxN2FhMjdjNWVjN2NjNTIwOGZkCisgQGE2OTIzMGM3YjZmMDNhMTc4YzkzYWJjNmVk YzgzMmMwNDBkNmUxOTgzNDAxOTNiMjdjM2QwNGFmZWNmOGY2MTciCitza2lwX2V4dHJhY3Rpb249 ImxvZGVwbmctJHtfbG9kZXBuZ19oYXNofS50YXIuZ3oKKyBza2Ntcy0ke19za2Ntc19oYXNofS50 YXIuZ3oiCisKK2lmIFsgIiRYQlBTX1RBUkdFVF9OT19BVE9NSUM4IiBdOyB0aGVuCisJbWFrZWRl cGVuZHMrPSIgbGliYXRvbWljLWRldmVsIgorCUxJQlM9Ii1sYXRvbWljIgorZmkKKworIyBUZXN0 cyBmYWlsIGFmdGVyIGJ1aWxkaW5nIHdpdGggMzItYml0IGdjYyAoaHR0cHM6Ly9naXRodWIuY29t L2xpYmp4bC9saWJqeGwvaXNzdWVzLzEzNDApCitpZiBbICIkQ1JPU1NfQlVJTEQiIC1vICIkWEJQ U19UQVJHRVRfTUFDSElORSIgPSAiaTY4NiIgXTsgdGhlbgorCWNvbmZpZ3VyZV9hcmdzKz0iIC1E QlVJTERfVEVTVElORz1PRkYiCitmaQorCitwb3N0X2V4dHJhY3QoKSB7CisJY2QgJHtYQlBTX1NS Q0RJU1RESVJ9L2xpYmp4bC0ke3ZlcnNpb259CisJdGFyIC14ZiBsb2RlcG5nLSR7X2xvZGVwbmdf aGFzaH0udGFyLmd6IC0tc3RyaXAtY29tcG9uZW50cz0xIC1DICR7d3Jrc3JjfS90aGlyZF9wYXJ0 eS9sb2RlcG5nCisJdGFyIC14ZiBza2Ntcy0ke19za2Ntc19oYXNofS50YXIuZ3ogLUMgJHt3cmtz cmN9L3RoaXJkX3BhcnR5L3NrY21zCit9CisKK3Bvc3RfaW5zdGFsbCgpIHsKKwl2bGljZW5zZSBM SUNFTlNFCisJdmxpY2Vuc2UgUEFURU5UUworfQorCitsaWJqeGwtZGV2ZWxfcGFja2FnZSgpIHsK KwlzaG9ydF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMiCisJZGVwZW5kcz0ibGlianhsPj0k e3ZlcnNpb259XyR7cmV2aXNpb259IGhpZ2h3YXkgYnJvdGxpLWRldmVsIgorCXBrZ19pbnN0YWxs KCkgeworCQl2bW92ZSB1c3IvaW5jbHVkZQorCQl2bW92ZSAidXNyL2xpYi8qLmEiCisJCXZtb3Zl ICJ1c3IvbGliLyouc28iCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCisJfQorfQorCitsaWJq eGwtdG9vbHNfcGFja2FnZSgpIHsKKwlzaG9ydF9kZXNjKz0iIC0gdG9vbHMiCisJcGtnX2luc3Rh bGwoKSB7CisJCXZtb3ZlIHVzci9iaW4KKwkJdm1vdmUgdXNyL3NoYXJlL21hbgorCX0KK30KKwor bGlianhsLXBsdWdpbnNfcGFja2FnZSgpIHsKKwlzaG9ydF9kZXNjKz0iIC0gcGx1Z2lucyIKKwlk ZXBlbmRzPSJkZXNrdG9wLWZpbGUtdXRpbHMiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlIHVz ci9saWIvZ2RrLXBpeGJ1Zi0yLjAKKwkJdm1vdmUgdXNyL2xpYi9naW1wCisJCXZtb3ZlIHVzci9z aGFyZS9taW1lCisJCXZtb3ZlIHVzci9zaGFyZS90aHVtYm5haWxlcnMKKwl9Cit9CgpGcm9tIGEy NzkyNTc0MzMyN2EyMGMyNGI2OWJiODkzMGRlMTUzYTJhMDUyYzggTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IEpvc2h1YSA8am9zaHVhQGtyYWVtZXIubGluaz4KRGF0ZTogV2VkLCAzMCBN YXIgMjAyMiAyMToyMzoxNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMy8zXSBraW1hZ2Vmb3JtYXRz OiBlbmFibGUgSlBFRyBYTCBzdXBwb3J0CgotLS0KIHNyY3BrZ3Mva2ltYWdlZm9ybWF0cy90ZW1w bGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2tpbWFnZWZvcm1hdHMvdGVtcGxhdGUgYi9zcmNw a2dzL2tpbWFnZWZvcm1hdHMvdGVtcGxhdGUKaW5kZXggYmM4YjlmMDlhMmM2Li5mYmVkMGE0MTc0 NmUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mva2ltYWdlZm9ybWF0cy90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL2tpbWFnZWZvcm1hdHMvdGVtcGxhdGUKQEAgLTEsMTIgKzEsMTIgQEAKICMgVGVtcGxhdGUg ZmlsZSBmb3IgJ2tpbWFnZWZvcm1hdHMnCiBwa2duYW1lPWtpbWFnZWZvcm1hdHMKIHZlcnNpb249 NS45My4wCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmln dXJlX2FyZ3M9Ii1ES0lNQUdFRk9STUFUU19IRUlGPU9OIgogaG9zdG1ha2VkZXBlbmRzPSJrY29y ZWFkZG9ucyBleHRyYS1jbWFrZS1tb2R1bGVzIHF0NS1xbWFrZSBxdDUtaG9zdC10b29scwogIHBr Zy1jb25maWciCi1tYWtlZGVwZW5kcz0ia2FyY2hpdmUtZGV2ZWwgbGlib3BlbmV4ci1kZXZlbCBs aWJoZWlmLWRldmVsIgorbWFrZWRlcGVuZHM9ImthcmNoaXZlLWRldmVsIGxpYm9wZW5leHItZGV2 ZWwgbGliaGVpZi1kZXZlbCBsaWJqeGwtZGV2ZWwiCiBzaG9ydF9kZXNjPSJLREUgUGx1Z2lucyB0 byBhbGxvdyBRSW1hZ2UgdG8gc3VwcG9ydCBleHRyYSBmaWxlIGZvcm1hdHMiCiBtYWludGFpbmVy PSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iTEdQTC0yLjAtb3ItbGF0ZXIi Cg== --===============6900728516206984206==--