From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <ffmpeg-devel-bounces@ffmpeg.org> Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 26CB94E82C for <ffmpegdev@gitmailbox.com>; Mon, 17 Mar 2025 10:45:01 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9112868B87F; Mon, 17 Mar 2025 12:44:13 +0200 (EET) Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8A1FC687CA4 for <ffmpeg-devel@ffmpeg.org>; Mon, 17 Mar 2025 12:44:02 +0200 (EET) Received: from haasn.dev (unknown [10.30.1.1]) by haasn.dev (Postfix) with UTF8SMTP id 4B85342B62; Mon, 17 Mar 2025 11:44:02 +0100 (CET) From: Niklas Haas <ffmpeg@haasn.xyz> To: ffmpeg-devel@ffmpeg.org Date: Mon, 17 Mar 2025 11:43:51 +0100 Message-ID: <20250317104357.307832-5-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250317104357.307832-1-ffmpeg@haasn.xyz> References: <20250317104357.307832-1-ffmpeg@haasn.xyz> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 05/11] tests/swscale: switch from MSE to SSIM X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org> List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe> List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel> List-Post: <mailto:ffmpeg-devel@ffmpeg.org> List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help> List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe> Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Cc: Niklas Haas <git@haasn.dev> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org> Archived-At: <https://master.gitmailbox.com/ffmpegdev/20250317104357.307832-5-ffmpeg@haasn.xyz/> List-Archive: <https://master.gitmailbox.com/ffmpegdev/> List-Post: <mailto:ffmpegdev@gitmailbox.com> RnJvbTogTmlrbGFzIEhhYXMgPGdpdEBoYWFzbi5kZXY+CgpBbmQgYmlhcyBpdCB0b3dhcmRzIFku IFRoaXMgaXMgbXVjaCBiZXR0ZXIgYXQgaWdub3JpbmcgZXJyb3JzIGR1ZSB0byBkaWZmZXJpbmcK ZGl0aGVyIHBhdHRlcm5zLCBhbmQgcmV3YXJkcyBhbGdvcml0aG1zIHRoYXQgbG93ZXIgbHVtYSBu b2lzZSBhdCB0aGUgY29zdCBvZgpoaWdoZXIgY2hyb21hIG5vaXNlLgoKVGhlICgwLjgsIDAuMSwg MC4xKSB3ZWlnaHRzIGZvciBZQ2JDciBhcmUgdGFrZW4gZnJvbSB0aGUgcGFwZXI6CiAgIlVuZGVy c3RhbmRpbmcgU1NJTSIgYnkgSmltIE5pbHNzb24gYW5kIFRvbWFzIEFrZW5pbmUtTcO2bGxlcgog IChodHRwczovL2FyeGl2Lm9yZy9hYnMvMjAwNi4xMzg0NikKLS0tCiBsaWJzd3NjYWxlL3Rlc3Rz L3N3c2NhbGUuYyB8IDEwOCArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgNjUgaW5zZXJ0aW9ucygrKSwgNDMgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvbGlic3dzY2FsZS90ZXN0cy9zd3NjYWxlLmMgYi9saWJzd3NjYWxlL3Rlc3RzL3N3c2Nh bGUuYwppbmRleCA4ZGI1ZWUwYWY1Li5lYTZjNTdmZjJhIDEwMDY0NAotLS0gYS9saWJzd3NjYWxl L3Rlc3RzL3N3c2NhbGUuYworKysgYi9saWJzd3NjYWxlL3Rlc3RzL3N3c2NhbGUuYwpAQCAtODAs MzggKzgwLDUxIEBAIHN0YXRpYyBpbnQgZm10X2NvbXBzKGVudW0gQVZQaXhlbEZvcm1hdCBmbXQp CiAgICAgcmV0dXJuIGNvbXBzOwogfQogCi1zdGF0aWMgdm9pZCBnZXRfbXNlKGludCBtc2VbNF0s IGNvbnN0IEFWRnJhbWUgKmEsIGNvbnN0IEFWRnJhbWUgKmIsIGludCBjb21wcykKK3N0YXRpYyB2 b2lkIGdldF9zc2ltKGZsb2F0IHNzaW1bNF0sIGNvbnN0IEFWRnJhbWUgKm91dCwgY29uc3QgQVZG cmFtZSAqcmVmLCBpbnQgY29tcHMpCiB7Ci0gICAgYXZfYXNzZXJ0MShhLT5mb3JtYXQgPT0gQVZf UElYX0ZNVF9ZVVZBNDQ0UCk7Ci0gICAgYXZfYXNzZXJ0MShiLT5mb3JtYXQgPT0gYS0+Zm9ybWF0 KTsKLSAgICBhdl9hc3NlcnQxKGItPndpZHRoID09IGEtPndpZHRoICYmIGItPmhlaWdodCA9PSBh LT5oZWlnaHQpOworICAgIGF2X2Fzc2VydDEob3V0LT5mb3JtYXQgPT0gQVZfUElYX0ZNVF9ZVVZB NDQ0UCk7CisgICAgYXZfYXNzZXJ0MShyZWYtPmZvcm1hdCA9PSBvdXQtPmZvcm1hdCk7CisgICAg YXZfYXNzZXJ0MShyZWYtPndpZHRoID09IG91dC0+d2lkdGggJiYgcmVmLT5oZWlnaHQgPT0gb3V0 LT5oZWlnaHQpOwogCiAgICAgZm9yIChpbnQgcCA9IDA7IHAgPCA0OyBwKyspIHsKKyAgICAgICAg Y29uc3QgaW50IHN0cmlkZV9hID0gb3V0LT5saW5lc2l6ZVtwXTsKKyAgICAgICAgY29uc3QgaW50 IHN0cmlkZV9iID0gcmVmLT5saW5lc2l6ZVtwXTsKKyAgICAgICAgY29uc3QgaW50IHcgPSBvdXQt PndpZHRoOworICAgICAgICBjb25zdCBpbnQgaCA9IG91dC0+aGVpZ2h0OworCiAgICAgICAgIGNv bnN0IGludCBpc19jaHJvbWEgPSBwID09IDEgfHwgcCA9PSAyOwotICAgICAgICBjb25zdCBpbnQg c3RyaWRlX2EgPSBhLT5saW5lc2l6ZVtwXTsKLSAgICAgICAgY29uc3QgaW50IHN0cmlkZV9iID0g Yi0+bGluZXNpemVbcF07Ci0gICAgICAgIGNvbnN0IGludCB3ID0gYS0+d2lkdGg7Ci0gICAgICAg IGNvbnN0IGludCBoID0gYS0+aGVpZ2h0OwotICAgICAgICB1aW50NjRfdCBzdW0gPSAwOwotCi0g ICAgICAgIGlmIChjb21wcyAmICgxIDw8IHApKSB7Ci0gICAgICAgICAgICBmb3IgKGludCB5ID0g MDsgeSA8IGg7IHkrKykgewotICAgICAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgdzsg eCsrKSB7Ci0gICAgICAgICAgICAgICAgICAgIGludCBkID0gYS0+ZGF0YVtwXVt5ICogc3RyaWRl X2EgKyB4XSAtIGItPmRhdGFbcF1beSAqIHN0cmlkZV9iICsgeF07Ci0gICAgICAgICAgICAgICAg ICAgIHN1bSArPSBkICogZDsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAg ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBjb25zdCBpbnQgcmVmID0gaXNfY2hyb21hID8gMTI4 IDogMHhGRjsKLSAgICAgICAgICAgIGZvciAoaW50IHkgPSAwOyB5IDwgaDsgeSsrKSB7Ci0gICAg ICAgICAgICAgICAgZm9yIChpbnQgeCA9IDA7IHggPCB3OyB4KyspIHsKLSAgICAgICAgICAgICAg ICAgICAgaW50IGQgPSBhLT5kYXRhW3BdW3kgKiBzdHJpZGVfYSArIHhdIC0gcmVmOwotICAgICAg ICAgICAgICAgICAgICBzdW0gKz0gZCAqIGQ7CisgICAgICAgIGNvbnN0IHVpbnQ4X3QgZGVmID0g aXNfY2hyb21hID8gMTI4IDogMHhGRjsKKyAgICAgICAgY29uc3QgaW50IGhhc19yZWYgPSBjb21w cyAmICgxIDw8IHApOworICAgICAgICBkb3VibGUgc3VtID0gMDsKKyAgICAgICAgaW50IGNvdW50 ID0gMDsKKworICAgICAgICAvKiA0eDQgU1NJTSAqLworICAgICAgICBmb3IgKGludCB5ID0gMDsg eSA8IChoICYgfjMpOyB5ICs9IDQpIHsKKyAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwg KHcgJiB+Myk7IHggKz0gNCkgeworICAgICAgICAgICAgICAgIGNvbnN0IGZsb2F0IGMxID0gLjAx ICogLjAxICogMjU1ICogMjU1ICogNjQ7CisgICAgICAgICAgICAgICAgY29uc3QgZmxvYXQgYzIg PSAuMDMgKiAuMDMgKiAyNTUgKiAyNTUgKiA2NCAqIDYzOworICAgICAgICAgICAgICAgIGludCBz MSA9IDAsIHMyID0gMCwgc3MgPSAwLCBzMTIgPSAwLCB2YXIsIGNvdmFyOworCisgICAgICAgICAg ICAgICAgZm9yIChpbnQgeXkgPSAwOyB5eSA8IDQ7IHl5KyspIHsKKyAgICAgICAgICAgICAgICAg ICAgZm9yIChpbnQgeHggPSAwOyB4eCA8IDQ7IHh4KyspIHsKKyAgICAgICAgICAgICAgICAgICAg ICAgIGludCBhID0gb3V0LT5kYXRhW3BdWyh5ICsgeXkpICogc3RyaWRlX2EgKyB4ICsgeHhdOwor ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGIgPSBoYXNfcmVmID8gcmVmLT5kYXRhW3BdWyh5 ICsgeXkpICogc3RyaWRlX2IgKyB4ICsgeHhdIDogZGVmOworICAgICAgICAgICAgICAgICAgICAg ICAgczEgICs9IGE7CisgICAgICAgICAgICAgICAgICAgICAgICBzMiAgKz0gYjsKKyAgICAgICAg ICAgICAgICAgICAgICAgIHNzICArPSBhICogYSArIGIgKiBiOworICAgICAgICAgICAgICAgICAg ICAgICAgczEyICs9IGEgKiBiOworICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgfQorCisgICAgICAgICAgICAgICAgdmFyID0gc3MgKiA2NCAtIHMxICogczEgLSBzMiAqIHMy OworICAgICAgICAgICAgICAgIGNvdmFyID0gczEyICogNjQgLSBzMSAqIHMyOworICAgICAgICAg ICAgICAgIHN1bSArPSAoMiAqIHMxICogczIgKyBjMSkgKiAoMiAqIGNvdmFyICsgYzIpIC8KKyAg ICAgICAgICAgICAgICAgICAgICAgKChzMSAqIHMxICsgczIgKiBzMiArIGMxKSAqICh2YXIgKyBj MikpOworICAgICAgICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K IAotICAgICAgICBtc2VbcF0gPSBzdW0gLyAodyAqIGgpOworICAgICAgICBzc2ltW3BdID0gY291 bnQgPyBzdW0gLyBjb3VudCA6IDAuMDsKICAgICB9CiB9CiAKQEAgLTE0OSwxMiArMTYyLDEzIEBA IGVycm9yOgogLyogUnVucyBhIHNlcmllcyBvZiByZWYgLT4gc3JjIC0+IGRzdCAtPiBvdXQsIGFu ZCBjb21wYXJlcyBvdXQgdnMgcmVmICovCiBzdGF0aWMgaW50IHJ1bl90ZXN0KGVudW0gQVZQaXhl bEZvcm1hdCBzcmNfZm10LCBlbnVtIEFWUGl4ZWxGb3JtYXQgZHN0X2ZtdCwKICAgICAgICAgICAg ICAgICAgICAgaW50IGRzdF93LCBpbnQgZHN0X2gsIHN0cnVjdCBtb2RlIG1vZGUsIHN0cnVjdCBv cHRpb25zIG9wdHMsCi0gICAgICAgICAgICAgICAgICAgIGNvbnN0IEFWRnJhbWUgKnJlZiwgY29u c3QgaW50IG1zZV9yZWZbNF0pCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IEFWRnJhbWUgKnJl ZiwgY29uc3QgZmxvYXQgc3NpbV9yZWZbNF0pCiB7CiAgICAgQVZGcmFtZSAqc3JjID0gTlVMTCwg KmRzdCA9IE5VTEwsICpvdXQgPSBOVUxMOwotICAgIGludCBtc2VbNF0sIG1zZV9zd3NbNF0sIHJl dCA9IC0xOworICAgIGZsb2F0IHNzaW1bNF0sIHNzaW1fc3dzWzRdOwogICAgIGNvbnN0IGludCBj b21wcyA9IGZtdF9jb21wcyhzcmNfZm10KSAmIGZtdF9jb21wcyhkc3RfZm10KTsKICAgICBpbnQ2 NF90IHRpbWUsIHRpbWVfcmVmID0gMDsKKyAgICBpbnQgcmV0ID0gLTE7CiAKICAgICBzcmMgPSBh dl9mcmFtZV9hbGxvYygpOwogICAgIGRzdCA9IGF2X2ZyYW1lX2FsbG9jKCk7CkBAIC0yMDEsMTUg KzIxNSwxNSBAQCBzdGF0aWMgaW50IHJ1bl90ZXN0KGVudW0gQVZQaXhlbEZvcm1hdCBzcmNfZm10 LCBlbnVtIEFWUGl4ZWxGb3JtYXQgZHN0X2ZtdCwKICAgICAgICAgZ290byBlcnJvcjsKICAgICB9 CiAKLSAgICBnZXRfbXNlKG1zZSwgb3V0LCByZWYsIGNvbXBzKTsKKyAgICBnZXRfc3NpbShzc2lt LCBvdXQsIHJlZiwgY29tcHMpOwogICAgIHByaW50ZigiJXMgJWR4JWQgLT4gJXMgJTNkeCUzZCwg ZmxhZ3M9JXUgZGl0aGVyPSV1LCAiCi0gICAgICAgICAgICJNU0U9eyU1ZCAlNWQgJTVkICU1ZH1c biIsCisgICAgICAgICAgICJTU0lNIHtZPSVmIFU9JWYgVj0lZiBBPSVmfVxuIiwKICAgICAgICAg ICAgYXZfZ2V0X3BpeF9mbXRfbmFtZShzcmMtPmZvcm1hdCksIHNyYy0+d2lkdGgsIHNyYy0+aGVp Z2h0LAogICAgICAgICAgICBhdl9nZXRfcGl4X2ZtdF9uYW1lKGRzdC0+Zm9ybWF0KSwgZHN0LT53 aWR0aCwgZHN0LT5oZWlnaHQsCiAgICAgICAgICAgIG1vZGUuZmxhZ3MsIG1vZGUuZGl0aGVyLAot ICAgICAgICAgICBtc2VbMF0sIG1zZVsxXSwgbXNlWzJdLCBtc2VbM10pOworICAgICAgICAgICBz c2ltWzBdLCBzc2ltWzFdLCBzc2ltWzJdLCBzc2ltWzNdKTsKIAotICAgIGlmICghbXNlX3JlZikg eworICAgIGlmICghc3NpbV9yZWYpIHsKICAgICAgICAgLyogQ29tcGFyZSBhZ2FpbnN0IHRoZSBs ZWdhY3kgc3dzY2FsZSBBUEkgYXMgYSByZWZlcmVuY2UgKi8KICAgICAgICAgdGltZV9yZWYgPSBh dl9nZXR0aW1lX3JlbGF0aXZlKCk7CiAgICAgICAgIGlmIChzY2FsZV9sZWdhY3koZHN0LCBzcmMs IG1vZGUsIG9wdHMpIDwgMCkgewpAQCAtMjIyLDE5ICsyMzYsMjYgQEAgc3RhdGljIGludCBydW5f dGVzdChlbnVtIEFWUGl4ZWxGb3JtYXQgc3JjX2ZtdCwgZW51bSBBVlBpeGVsRm9ybWF0IGRzdF9m bXQsCiAgICAgICAgIGlmIChzd3Nfc2NhbGVfZnJhbWUoc3dzWzJdLCBvdXQsIGRzdCkgPCAwKQog ICAgICAgICAgICAgZ290byBlcnJvcjsKIAotICAgICAgICBnZXRfbXNlKG1zZV9zd3MsIG91dCwg cmVmLCBjb21wcyk7Ci0gICAgICAgIG1zZV9yZWYgPSBtc2Vfc3dzOworICAgICAgICBnZXRfc3Np bShzc2ltX3N3cywgb3V0LCByZWYsIGNvbXBzKTsKKyAgICAgICAgc3NpbV9yZWYgPSBzc2ltX3N3 czsKICAgICB9CiAKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IDQ7IGkrKykgewotICAgICAgICBp ZiAobXNlW2ldID4gbXNlX3JlZltpXSkgewotICAgICAgICAgICAgaW50IGJhZCA9IG1zZVtpXSA+ IG1zZV9yZWZbaV0gKiAxLjAyICsgMTsKLSAgICAgICAgICAgIHByaW50ZigiXDAzM1sxOzMxbSAg JXMsIHJlZiBNU0U9eyU1ZCAlNWQgJTVkICU1ZH1cMDMzWzBtXG4iLAotICAgICAgICAgICAgICAg ICAgIGJhZCA/ICJXT1JTRSIgOiAid29yc2UiLAotICAgICAgICAgICAgICAgICAgIG1zZV9yZWZb MF0sIG1zZV9yZWZbMV0sIG1zZV9yZWZbMl0sIG1zZV9yZWZbM10pOworICAgIGlmIChzc2ltX3Jl ZikgeworICAgICAgICBjb25zdCBmbG9hdCB3ZWlnaHRzWzRdID0geyAwLjgsIDAuMSwgMC4xLCAx LjAgfTsgLyogdHVuZWQgZm9yIFknQ3JDciAqLworICAgICAgICBmbG9hdCBlcnIsIHN1bSA9IDAs IHN1bV9yZWYgPSAwOworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IDQ7IGkrKykgeworICAg ICAgICAgICAgc3VtICAgICArPSB3ZWlnaHRzW2ldICogc3NpbVtpXTsKKyAgICAgICAgICAgIHN1 bV9yZWYgKz0gd2VpZ2h0c1tpXSAqIHNzaW1fcmVmW2ldOworICAgICAgICB9CisKKyAgICAgICAg ZXJyID0gc3VtX3JlZiAvIHN1bSAtIDEuMDsgLyogcmVsYXRpdmUgZXJyb3IgKi8KKyAgICAgICAg aWYgKGVyciA+IDFlLTQgLyogMC4wMSUgaGVhZHJvb20gZm9yIGRpdGhlciBub2lzZSBldGMgKi8p IHsKKyAgICAgICAgICAgIGludCBiYWQgPSBlcnIgPiAxZS0yOyAvKiAxJSAqLworICAgICAgICAg ICAgcHJpbnRmKCJcMDMzWzE7MzFtICAlcyBieSAlZiUlLCByZWYgU1NJTSB7WT0lZiBVPSVmIFY9 JWYgQT0lZn1cMDMzWzBtXG4iLAorICAgICAgICAgICAgICAgICAgIGJhZCA/ICJXT1JTRSIgOiAi d29yc2UiLCAxMDAuMCAqIGVyciwKKyAgICAgICAgICAgICAgICAgICBzc2ltX3JlZlswXSwgc3Np bV9yZWZbMV0sIHNzaW1fcmVmWzJdLCBzc2ltX3JlZlszXSk7CiAgICAgICAgICAgICBpZiAoYmFk KQogICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICAgICAgICBicmVhazsKICAgICAg ICAgfQogICAgIH0KIApAQCAtMzM0LDE1ICszNTUsMTYgQEAgc3RhdGljIGludCBydW5fZmlsZV90 ZXN0cyhjb25zdCBBVkZyYW1lICpyZWYsIEZJTEUgKmZwLCBzdHJ1Y3Qgb3B0aW9ucyBvcHRzKQog ICAgICAgICBjaGFyIHNyY19mbXRfc3RyWzIwXSwgZHN0X2ZtdF9zdHJbMjBdOwogICAgICAgICBl bnVtIEFWUGl4ZWxGb3JtYXQgc3JjX2ZtdDsKICAgICAgICAgZW51bSBBVlBpeGVsRm9ybWF0IGRz dF9mbXQ7Ci0gICAgICAgIGludCBzdywgc2gsIGR3LCBkaCwgbXNlWzRdOworICAgICAgICBpbnQg c3csIHNoLCBkdywgZGg7CisgICAgICAgIGZsb2F0IHNzaW1bNF07CiAgICAgICAgIHN0cnVjdCBt b2RlIG1vZGU7CiAKICAgICAgICAgcmV0ID0gc3NjYW5mKGJ1ZiwKICAgICAgICAgICAgICAgICAg ICAgICIgJTIwcyAlZHglZCAtPiAlMjBzICVkeCVkLCBmbGFncz0ldSBkaXRoZXI9JXUsICIKLSAg ICAgICAgICAgICAgICAgICAgICJNU0U9eyVkICVkICVkICVkfVxuIiwKKyAgICAgICAgICAgICAg ICAgICAgICJTU0lNIHtZPSVmIFU9JWYgVj0lZiBBPSVmfVxuIiwKICAgICAgICAgICAgICAgICAg ICAgIHNyY19mbXRfc3RyLCAmc3csICZzaCwgZHN0X2ZtdF9zdHIsICZkdywgJmRoLAogICAgICAg ICAgICAgICAgICAgICAgJm1vZGUuZmxhZ3MsICZtb2RlLmRpdGhlciwKLSAgICAgICAgICAgICAg ICAgICAgICZtc2VbMF0sICZtc2VbMV0sICZtc2VbMl0sICZtc2VbM10pOworICAgICAgICAgICAg ICAgICAgICAgJnNzaW1bMF0sICZzc2ltWzFdLCAmc3NpbVsyXSwgJnNzaW1bM10pOwogICAgICAg ICBpZiAocmV0ICE9IDEyKSB7CiAgICAgICAgICAgICBwcmludGYoIiVzIiwgYnVmKTsKICAgICAg ICAgICAgIGNvbnRpbnVlOwpAQCAtMzYxLDcgKzM4Myw3IEBAIHN0YXRpYyBpbnQgcnVuX2ZpbGVf dGVzdHMoY29uc3QgQVZGcmFtZSAqcmVmLCBGSUxFICpmcCwgc3RydWN0IG9wdGlvbnMgb3B0cykK ICAgICAgICAgICAgIG9wdHMuZHN0X2ZtdCAhPSBBVl9QSVhfRk1UX05PTkUgJiYgZHN0X2ZtdCAh PSBvcHRzLmRzdF9mbXQpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBpZiAocnVu X3Rlc3Qoc3JjX2ZtdCwgZHN0X2ZtdCwgZHcsIGRoLCBtb2RlLCBvcHRzLCByZWYsIG1zZSkgPCAw KQorICAgICAgICBpZiAocnVuX3Rlc3Qoc3JjX2ZtdCwgZHN0X2ZtdCwgZHcsIGRoLCBtb2RlLCBv cHRzLCByZWYsIHNzaW0pIDwgMCkKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKLS0g CjIuNDguMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczov L2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJl LCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcu b3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=