From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 110EF4BB1C for ; Fri, 2 May 2025 14:50:11 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B512A68B52A; Fri, 2 May 2025 17:50:08 +0300 (EEST) Received: from mail-vs1-f42.google.com (mail-vs1-f42.google.com [209.85.217.42]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 278DF687C5A for ; Fri, 2 May 2025 17:50:03 +0300 (EEST) Received: by mail-vs1-f42.google.com with SMTP id ada2fe7eead31-4c9cea30173so603058137.3 for ; Fri, 02 May 2025 07:50:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746197401; x=1746802201; darn=ffmpeg.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=KZ6qZtjTCfj8AhDO2kE9VpNuA3gpRBSSrC3rhii+R74=; b=Wy40hk7E4dx0yTteTDF2cAmXOYXlXcXYWHRgbnKwiEPF1DEce6PIcbeJ0oP87YmLov ypkLKx/50+RtWknORF7lnw1U3IhuTmGvWLu9F/KnyYgFMpGbMWZVeEMQkCkE5VxSzhLd BR+3QvtOzs4NVSnnHZVpLgj7bNLnzME5ffM+fV4CMucEl+3vjfyniFnSv5GWq0YGmrI2 rlHIuFea3DvJVewN2O33766EdNQqqXxvtlKZKzbgETeNw/HNNURtN0Ok1YlrFQsNhMdY WLA/JeRbkR1y5FO1uFN+AL6SGYL3xkh9PBE+nN/uz5TMr9F+eBZtFHeDDL3sWeT1eq6r XXWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746197401; x=1746802201; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=KZ6qZtjTCfj8AhDO2kE9VpNuA3gpRBSSrC3rhii+R74=; b=PB6wW0n2HYjXqDJqcJD1bstn/o/LhAokgs5cuYx26uHsoBDwyM590cACgnt44GReyR RlxFr+j+yzF3qtGdlAqsXcd2UvpAcEk1OsvCFFzVna0ZkG6Nojb2xnAZEYWQmE/hcE1D nrI9CjJq54/uRlVqwSGnXFIA2CC02i1npvGQRMXF5zFLwotgOVLymCtYHdXEwYdNqxRU MGcM2pnI+ObK1cXv5N5jCgCZ1zYXv7duNrW4mn3R5TH1F8b5kucvIVDOcZmBirUXA3aF t1Ea3GVIFsA0MQQQmCocAz4FAU4Qelj1ZhG5V0WUyST8XNKgiG310B1984KOlfmLubZj SO8A== X-Gm-Message-State: AOJu0Yz0JLwKZHEGTMnNWI2WY5Bk8Rh/xUnEULuWXIxyFFkg5jJoGDgV YMWcyFAhApFTnnajeQpur8duK2GwbRMi/iFqn9rXjfJK7ghSuTIzOEy2hXQ2rdG1Dy387rLNpMz YxaHN47uq69Ulm18PDmo0IeEI8PY= X-Gm-Gg: ASbGncuw0XBIuZHtVGASrZQus7xn1PqCsLiJG7/LS0XhCc/2zS2wKHQ1aFXrs/h7Ldi M7HUB6rSKhH5c3+dXhDr0QPeIiyLAZ5f/DLu2mtFlDR8PHU+KGGNdB14iUSvGOVUK2I9USO0+r9 7CYN0WGmgcYiEp/aW+1rv4 X-Google-Smtp-Source: AGHT+IEwf0VnGrcJ/HfhOgWNZYGM4KeGMTA40M2J4YyFLENDP6n2FvtKTprvylW7xpQ6+v/b6Hwfz3GdFEwkkKbAX48= X-Received: by 2002:a05:6102:4a82:b0:4bb:dba6:99cd with SMTP id ada2fe7eead31-4dafb4f1b10mr2144475137.8.1746197401299; Fri, 02 May 2025 07:50:01 -0700 (PDT) MIME-Version: 1.0 References: <20250502074430.291561-1-nuomi2021@gmail.com> <20250502074430.291561-5-nuomi2021@gmail.com> In-Reply-To: From: Nuo Mi Date: Fri, 2 May 2025 22:48:21 +0800 X-Gm-Features: ATxdqUFnGZl4XivGQVHeuBI0yKUl0zxaeXK5sIAqhMdMcF-TRWxPc1M7g6ysgV8 Message-ID: To: =?UTF-8?Q?Martin_Storsj=C3=B6?= X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH 5/5] checkasm: add vvc_sao X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Shaun Loo , FFmpeg development discussions and patches Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: T24gRnJpLCBNYXkgMiwgMjAyNSBhdCAzOjQ54oCvUE0gTWFydGluIFN0b3JzasO2IDxtYXJ0aW5A bWFydGluLnN0PiB3cm90ZToKCj4gT24gRnJpLCAyIE1heSAyMDI1LCBOdW8gTWkgd3JvdGU6Cj4K PiA+IEZyb206IFNoYXVuIExvbyA8c2hhdW5sb28xMEBnbWFpbC5jb20+Cj4gPgo+ID4gVGhpcyBp cyBhIHBhcnQgb2YgR29vZ2xlIFN1bW1lciBvZiBDb2RlIDIwMjMKPiA+Cj4gPiBBVlgyOgo+ID4g LSB2dmNfc2FvLnNhb19iYW5kIFtPS10KPiA+IC0gdnZjX3Nhby5zYW9fZWRnZSBbT0tdCj4gPgo+ ID4gQ28tYXV0aG9yZWQtYnk6IE51byBNaSA8bnVvbWkyMDIxQGdtYWlsLmNvbT4KPiA+IC0tLQo+ ID4gdGVzdHMvY2hlY2thc20vTWFrZWZpbGUgICB8ICAgMiArLQo+ID4gdGVzdHMvY2hlY2thc20v Y2hlY2thc20uYyB8ICAgMSArCj4gPiB0ZXN0cy9jaGVja2FzbS9jaGVja2FzbS5oIHwgICAxICsK PiA+IHRlc3RzL2NoZWNrYXNtL3Z2Y19zYW8uYyAgfCAxNjEgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKPiA+IDQgZmlsZXMgY2hhbmdlZCwgMTY0IGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKPiA+IGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9jaGVja2FzbS92dmNf c2FvLmMKPiA+Cj4gPiBkaWZmIC0tZ2l0IGEvdGVzdHMvY2hlY2thc20vTWFrZWZpbGUgYi90ZXN0 cy9jaGVja2FzbS9NYWtlZmlsZQo+ID4gaW5kZXggMTkzYzFlNDYzMy4uZmFiYmY1OTViNCAxMDA2 NDQKPiA+IC0tLSBhL3Rlc3RzL2NoZWNrYXNtL01ha2VmaWxlCj4gPiArKysgYi90ZXN0cy9jaGVj a2FzbS9NYWtlZmlsZQo+ID4gQEAgLTQ3LDcgKzQ3LDcgQEAgQVZDT0RFQ09CSlMtJChDT05GSUdf VjIxMF9ERUNPREVSKSAgICAgICs9IHYyMTBkZWMubwo+ID4gQVZDT0RFQ09CSlMtJChDT05GSUdf VjIxMF9FTkNPREVSKSAgICAgICs9IHYyMTBlbmMubwo+ID4gQVZDT0RFQ09CSlMtJChDT05GSUdf Vk9SQklTX0RFQ09ERVIpICAgICs9IHZvcmJpc2RzcC5vCj4gPiBBVkNPREVDT0JKUy0kKENPTkZJ R19WUDlfREVDT0RFUikgICAgICAgKz0gdnA5ZHNwLm8KPiA+IC1BVkNPREVDT0JKUy0kKENPTkZJ R19WVkNfREVDT0RFUikgICAgICAgKz0gdnZjX2FsZi5vIHZ2Y19tYy5vCj4gPiArQVZDT0RFQ09C SlMtJChDT05GSUdfVlZDX0RFQ09ERVIpICAgICAgICs9IHZ2Y19hbGYubyB2dmNfbWMubyB2dmNf c2FvLm8KPiA+Cj4gPiBDSEVDS0FTTU9CSlMtJChDT05GSUdfQVZDT0RFQykgICAgICAgICAgKz0g JChBVkNPREVDT0JKUy15ZXMpCj4gPgo+ID4gZGlmZiAtLWdpdCBhL3Rlc3RzL2NoZWNrYXNtL2No ZWNrYXNtLmMgYi90ZXN0cy9jaGVja2FzbS9jaGVja2FzbS5jCj4gPiBpbmRleCAzYmI4MmVkMGU1 Li4wNzM0Y2QyNmJmIDEwMDY0NAo+ID4gLS0tIGEvdGVzdHMvY2hlY2thc20vY2hlY2thc20uYwo+ ID4gKysrIGIvdGVzdHMvY2hlY2thc20vY2hlY2thc20uYwo+ID4gQEAgLTI1Niw2ICsyNTYsNyBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IHsKPiA+ICAgICAjaWYgQ09ORklHX1ZWQ19ERUNPREVSCj4g PiAgICAgICAgIHsgInZ2Y19hbGYiLCBjaGVja2FzbV9jaGVja192dmNfYWxmIH0sCj4gPiAgICAg ICAgIHsgInZ2Y19tYyIsICBjaGVja2FzbV9jaGVja192dmNfbWMgIH0sCj4gPiArICAgICAgICB7 ICJ2dmNfc2FvIiwgY2hlY2thc21fY2hlY2tfdnZjX3NhbyB9LAo+ID4gICAgICNlbmRpZgo+ID4g I2VuZGlmCj4gPiAjaWYgQ09ORklHX0FWRklMVEVSCj4gPiBkaWZmIC0tZ2l0IGEvdGVzdHMvY2hl Y2thc20vY2hlY2thc20uaCBiL3Rlc3RzL2NoZWNrYXNtL2NoZWNrYXNtLmgKPiA+IGluZGV4IGE2 YjU5NjVlMDIuLjE0NmJmZGVjMzUgMTAwNjQ0Cj4gPiAtLS0gYS90ZXN0cy9jaGVja2FzbS9jaGVj a2FzbS5oCj4gPiArKysgYi90ZXN0cy9jaGVja2FzbS9jaGVja2FzbS5oCj4gPiBAQCAtMTQ5LDYg KzE0OSw3IEBAIHZvaWQgY2hlY2thc21fY2hlY2tfdmlkZW9kc3Aodm9pZCk7Cj4gPiB2b2lkIGNo ZWNrYXNtX2NoZWNrX3ZvcmJpc2RzcCh2b2lkKTsKPiA+IHZvaWQgY2hlY2thc21fY2hlY2tfdnZj X2FsZih2b2lkKTsKPiA+IHZvaWQgY2hlY2thc21fY2hlY2tfdnZjX21jKHZvaWQpOwo+ID4gK3Zv aWQgY2hlY2thc21fY2hlY2tfdnZjX3Nhbyh2b2lkKTsKPiA+Cj4gPiBzdHJ1Y3QgQ2hlY2thc21Q ZXJmOwo+ID4KPiA+IGRpZmYgLS1naXQgYS90ZXN0cy9jaGVja2FzbS92dmNfc2FvLmMgYi90ZXN0 cy9jaGVja2FzbS92dmNfc2FvLmMKPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiBpbmRleCAw MDAwMDAwMDAwLi4wMjYwNzhmZjAyCj4gPiAtLS0gL2Rldi9udWxsCj4gPiArKysgYi90ZXN0cy9j aGVja2FzbS92dmNfc2FvLmMKPiA+IEBAIC0wLDAgKzEsMTYxIEBACj4gPiArLyoKPiA+ICsgKiBD b3B5cmlnaHQgKGMpIDIwMTggWWluZ21pbmcgRmFuIDx5aW5nbWluZ2ZhbkBnbWFpbC5jb20+Cj4g PiArICoKPiA+ICsgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBGRm1wZWcuCj4gPiArICoKPiA+ICsg KiBGRm1wZWcgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQo+ID4gKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cj4gPiArICogdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKPiA+ICsgKiAoYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+ID4gKyAqCj4gPiArICogRkZtcGVnIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gPiArICog YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKPiA+ICsgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCj4gPiArICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KPiA+ICsgKgo+ID4gKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh IGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCj4gYWxvbmcKPiA+ICsgKiB3 aXRoIEZGbXBlZzsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuLAo+ID4gKyAqIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3Rvbiwg TUEgMDIxMTAtMTMwMSBVU0EuCj4gPiArICovCj4gPiArCj4gPiArI2luY2x1ZGUgPHN0cmluZy5o Pgo+ID4gKwo+ID4gKyNpbmNsdWRlICJsaWJhdnV0aWwvaW50cmVhZHdyaXRlLmgiCj4gPiArI2lu Y2x1ZGUgImxpYmF2dXRpbC9tZW1faW50ZXJuYWwuaCIKPiA+ICsKPiA+ICsjaW5jbHVkZSAibGli YXZjb2RlYy92dmMvZHNwLmgiCj4gPiArI2luY2x1ZGUgImxpYmF2Y29kZWMvdnZjL2N0dS5oIgo+ ID4gKwo+ID4gKyNpbmNsdWRlICJjaGVja2FzbS5oIgo+ID4gKwo+ID4gK3N0YXRpYyBjb25zdCB1 aW50MzJfdCBwaXhlbF9tYXNrWzNdID0geyAweGZmZmZmZmZmLCAweDAzZmYwM2ZmLAo+IDB4MGZm ZjBmZmYgfTsKPiA+ICtzdGF0aWMgY29uc3QgdWludDMyX3Qgc2FvX3NpemVbXSA9IHs4LCAxNiwg MzIsIDQ4LCA2NCwgODAsIDk2LCAxMTIsCj4gMTI4fTsKPiA+ICsKPiA+ICsjZGVmaW5lIFNJWkVP Rl9QSVhFTCAoKGJpdF9kZXB0aCArIDcpIC8gOCkKPiA+ICsjZGVmaW5lIFBJWEVMX1NUUklERSAo MipNQVhfUEJfU0laRSArIEFWX0lOUFVUX0JVRkZFUl9QQURESU5HX1NJWkUpCj4gLy9zYW1lIHdp dGggc2FvX2VkZ2Ugc3JjX3N0cmlkZQo+ID4gKyNkZWZpbmUgQlVGX1NJWkUgKFBJWEVMX1NUUklE RSAqIChNQVhfUEJfU0laRSsyKSAqIDIpIC8vKzIgZm9yIHRvcCBhbmQKPiBib3R0b20gcm93LCAq MiBmb3IgaGlnaCBiaXQgZGVwdGgKPiA+ICsjZGVmaW5lIE9GRlNFVF9USFJFU0ggKDEgPDwgKGJp dF9kZXB0aCAtIDUpKQo+ID4gKyNkZWZpbmUgT0ZGU0VUX0xFTkdUSCA1Cj4gPiArCj4gPiArI2Rl ZmluZSByYW5kb21pemVfYnVmZmVycyhidWYwLCBidWYxLCBzaXplKSAgICAgICAgICAgICAgICAg XAo+ID4gKyAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKPiA+ICsgICAgICAgIHVpbnQzMl90IG1hc2sgPSBwaXhlbF9tYXNrWyhiaXRf ZGVwdGggLSA4KSA+PiAxXTsgICBcCj4gPiArICAgICAgICBpbnQgazsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ID4gKyAgICAgICAgZm9yIChrID0gMDsg ayA8IHNpemU7IGsgKz0gNCkgeyAgICAgICAgICAgICAgICAgICAgIFwKPiA+ICsgICAgICAgICAg ICB1aW50MzJfdCByID0gcm5kKCkgJiBtYXNrOyAgICAgICAgICAgICAgICAgICAgICBcCj4gPiAr ICAgICAgICAgICAgQVZfV04zMkEoYnVmMCArIGssIHIpOyAgICAgICAgICAgICAgICAgICAgICAg ICAgXAo+ID4gKyAgICAgICAgICAgIEFWX1dOMzJBKGJ1ZjEgKyBrLCByKTsgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKPiA+ICsgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiArICAgIH0gd2hpbGUgKDApCj4gPiArCj4gPiAr I2RlZmluZSByYW5kb21pemVfYnVmZmVyczIoYnVmLCBzaXplKSAgICAgICAgICAgICAgICAgICAg ICAgXAo+ID4gKyAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKPiA+ICsgICAgICAgIHVpbnQzMl90IG1heF9vZmZzZXQgPSBPRkZTRVRf VEhSRVNIOyAgICAgICAgICAgICAgICBcCj4gPiArICAgICAgICBpbnQgazsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ID4gKyAgICAgICAgaWYgKGJpdF9k ZXB0aCA9PSA4KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ICsgICAgICAg ICAgICBmb3IgKGsgPSAwOyBrIDwgc2l6ZTsgaysrKSB7ICAgICAgICAgICAgICAgICAgICBcCj4g PiArICAgICAgICAgICAgICAgIHVpbnQ4X3QgciA9IHJuZCgpICUgbWF4X29mZnNldDsgICAgICAg ICAgICAgXAo+ID4gKyAgICAgICAgICAgICAgICBidWZba10gPSByOyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKPiA+ICsgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiArICAgICAgICB9IGVsc2UgeyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ID4gKyAgICAgICAgICAgIGZv ciAoayA9IDA7IGsgPCBzaXplOyBrKyspIHsgICAgICAgICAgICAgICAgICAgIFwKPiA+ICsgICAg ICAgICAgICAgICAgdWludDE2X3QgciA9IHJuZCgpICUgbWF4X29mZnNldDsgICAgICAgICAgICBc Cj4gPiArICAgICAgICAgICAgICAgIGJ1ZltrXSA9IHI7ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAo+ID4gKyAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKPiA+ICsgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiArICAgIH0gd2hpbGUgKDApCj4gPiAr Cj4gPiArc3RhdGljIHZvaWQgY2hlY2tfc2FvX2JhbmQoVlZDRFNQQ29udGV4dCAqaCwgaW50IGJp dF9kZXB0aCkKPiA+ICt7Cj4gPiArICAgIGludCBpOwo+ID4gKyAgICBMT0NBTF9BTElHTkVEXzMy KHVpbnQ4X3QsIGRzdDAsIFtCVUZfU0laRV0pOwo+ID4gKyAgICBMT0NBTF9BTElHTkVEXzMyKHVp bnQ4X3QsIGRzdDEsIFtCVUZfU0laRV0pOwo+ID4gKyAgICBMT0NBTF9BTElHTkVEXzMyKHVpbnQ4 X3QsIHNyYzAsIFtCVUZfU0laRV0pOwo+ID4gKyAgICBMT0NBTF9BTElHTkVEXzMyKHVpbnQ4X3Qs IHNyYzEsIFtCVUZfU0laRV0pOwo+ID4gKyAgICBpbnQxNl90IG9mZnNldF92YWxbT0ZGU0VUX0xF TkdUSF07Cj4gPiArICAgIGludCBsZWZ0X2NsYXNzID0gcm5kKCklMzI7Cj4gPiArCj4gPiArICAg IGZvciAoaSA9IDA7IGkgPCBGRl9BUlJBWV9FTEVNUyhzYW9fc2l6ZSk7IGkrKykgewo+ID4gKyAg ICAgICAgaW50IGJsb2NrX3NpemUgPSBzYW9fc2l6ZVtpXTsKPiA+ICsgICAgICAgIGludCBwcmV2 X3NpemUgPSBpID4gMCA/IHNhb19zaXplW2kgLSAxXSA6IDA7Cj4gPiArICAgICAgICBwdHJkaWZm X3Qgc3RyaWRlID0gUElYRUxfU1RSSURFKlNJWkVPRl9QSVhFTDsKPiA+ICsgICAgICAgIGRlY2xh cmVfZnVuYyh2b2lkLCB1aW50OF90ICpkc3QsIGNvbnN0IHVpbnQ4X3QgKnNyYywgcHRyZGlmZl90 Cj4gZHN0X3N0cmlkZSwgcHRyZGlmZl90IHNyY19zdHJpZGUsCj4gPiArICAgICAgICAgICAgICAg ICAgICAgY29uc3QgaW50MTZfdCAqc2FvX29mZnNldF92YWwsIGludCBzYW9fbGVmdF9jbGFzcywK PiBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwo+ID4gKwo+ID4gKyAgICAgICAgaWYgKGNoZWNrX2Z1 bmMoaC0+c2FvLmJhbmRfZmlsdGVyW2ldLCAidnZjX3Nhb19iYW5kXyVkXyVkIiwKPiBibG9ja19z aXplLCBiaXRfZGVwdGgpKSB7Cj4gPiArCj4gPiArICAgICAgICAgICAgZm9yIChpbnQgdyA9IHBy ZXZfc2l6ZSArIDQ7IHcgPD0gYmxvY2tfc2l6ZTsgdyArPSA0KSB7Cj4gPiArICAgICAgICAgICAg ICAgIHJhbmRvbWl6ZV9idWZmZXJzKHNyYzAsIHNyYzEsIEJVRl9TSVpFKTsKPiA+ICsgICAgICAg ICAgICAgICAgcmFuZG9taXplX2J1ZmZlcnMyKG9mZnNldF92YWwsIE9GRlNFVF9MRU5HVEgpOwo+ ID4gKyAgICAgICAgICAgICAgICBtZW1zZXQoZHN0MCwgMCwgQlVGX1NJWkUpOwo+ID4gKyAgICAg ICAgICAgICAgICBtZW1zZXQoZHN0MSwgMCwgQlVGX1NJWkUpOwo+ID4gKwo+ID4gKyAgICAgICAg ICAgICAgICBjYWxsX3JlZihkc3QwLCBzcmMwLCBzdHJpZGUsIHN0cmlkZSwgb2Zmc2V0X3ZhbCwK PiBsZWZ0X2NsYXNzLCB3LCBibG9ja19zaXplKTsKPiA+ICsgICAgICAgICAgICAgICAgY2FsbF9u ZXcoZHN0MSwgc3JjMSwgc3RyaWRlLCBzdHJpZGUsIG9mZnNldF92YWwsCj4gbGVmdF9jbGFzcywg dywgYmxvY2tfc2l6ZSk7Cj4gPiArICAgICAgICAgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwg YmxvY2tfc2l6ZTsgaisrKSB7Cj4gPiArICAgICAgICAgICAgICAgICAgICBpZiAobWVtY21wKGRz dDAgKyBqKnN0cmlkZSwgZHN0MSArIGoqc3RyaWRlLAo+IHcqU0laRU9GX1BJWEVMKSkKPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICBmYWlsKCk7Cj4gPiArICAgICAgICAgICAgICAgIH0KPiA+ ICsgICAgICAgICAgICB9Cj4KPiBGb3IgbmV3IGNoZWNrYXNtIHRlc3RzLCBJIHdvdWxkIHN1Z2dl c3QgdHJ5aW5nIHRvIHVzZSB0aGUgaGVscGVycyBmb3IKPiBkb2luZyBib3VuZHMgY2hlY2tzIGF1 dG9tYXRpY2FsbHk7IHNlZSB0aGUgcmVjZW50IGNvbW1pdHMKPiA0ZDRiMzAxZTRhMjY5YWRmYWJj ZWFlY2ExYTIwYzY1M2JkZTQ3NTU0IGFuZAo+IGMxYTJkYTcyY2MyN2NmOWI3OGEwY2JlYTJmNjAy NjU5MDlkOGIyNTMgZm9yIGhvdyB0byB1c2UgdGhlbS4gVGhpcyB3aWxsCj4gbWFrZSBzdXJlIHRo YXQgYW55IG5ldyBTSU1EIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgYWNjaWRlbnRhbGx5IHdyaXRl Cj4gb3V0c2lkZSBvZiB0aGUgZGVzaWduYXRlZCBhcmVhLCB3aGljaCBwcmV2aW91c2x5IGNvdWxk IGhhcHBlbiB3aXRob3V0Cj4gbm90aWNpbmcuCj4KSGkgTWFydGluLApUaGFuayB5b3UgZm9yIHRo ZSByZXZpZXcuCgpTQU8gZG9lcyBwZXJmb3JtIHNvbWUgb3ZlcndyaXRlcyBvbiBlYWNoIGxpbmUg YW5kIGFsaWducyB0aGUgd2lkdGggdG8gODoKaHR0cHM6Ly9naXRodWIuY29tL0ZGbXBlZy9GRm1w ZWcvYmxvYi9tYXN0ZXIvbGliYXZjb2RlYy9oZXZjL2ZpbHRlci5jCkknbSBub3Qgc3VyZSBpZiB0 aGUgY3VycmVudCBib3VuZHMtY2hlY2tpbmcgQVBJIGNhbiBoYW5kbGUgdGhpcy4KQ291bGQgeW91 IGhlbHAgYWRkIHN1cHBvcnQgZm9yIGl0IGluIHRoZSBIRVZDIFNBTyBjaGVja2FzbT8KVGhhdCB3 YXksIEkgY2FuIGZvbGxvdyB0aGUgc2FtZSBhcHByb2FjaCBmb3IgVlZDLgoKdGhhbmsgeW91LgoK Cj4gLy8gTWFydGluCj4KPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3Jn Cmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5z dWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0 QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==