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 ESMTP id 4A8CE4B3F5 for ; Wed, 5 Jun 2024 09:51:45 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 88C9C68D6BA; Wed, 5 Jun 2024 12:51:42 +0300 (EEST) Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7501B68D53F for ; Wed, 5 Jun 2024 12:51:36 +0300 (EEST) Received: by mail-ej1-f49.google.com with SMTP id a640c23a62f3a-a68f1017170so220179066b.0 for ; Wed, 05 Jun 2024 02:51:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717581094; x=1718185894; darn=ffmpeg.org; h=user-agent:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:mail-followup-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=CuhehCeGHJWKCtZ9YRxBqMdanpzYiqXQMkOHNN+kcRo=; b=aVtrpFYAywyEAIqf9Hfc9LdfVgxmC7yFaCjm+MlFsKAAGOwp5ETmimS6Pxt/BN6fNZ OLhm2oeQx5YJw9ULBIJ/vvtnhiCjTBOaj/9EIoXQ4+FoWlOSe0G713EqvP02ApNoHTVn kt0C1zh5UYd8MK+Blnsl0ZfSTo3bB9AwqBYJmxQZHPb2b4QCMM1aBqUdxG7rj3H1gAL8 tJQqBAhUYlyBll4n83+9HMLobM9AWqD7cLitOpJPXjDyGMRyt7yNswM56rr9xshwbuEM TOGof+8eyYo4wnvIQUvN4RrChu/60jdONhYCPJxoa3VuMCIXqcKtYwOXN7jEnG4tiISf N41A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717581094; x=1718185894; h=user-agent:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:mail-followup-to :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CuhehCeGHJWKCtZ9YRxBqMdanpzYiqXQMkOHNN+kcRo=; b=Tw/OJITkrdyw2x6TS+yb0SWG5aVxJyxXulop4ZAPPlkBaDddAW89lE02zMPnphxOuX 6GgPMNskp0DheoZD7Tf4bcvr4zFZ5jy9w+SNYGYUWZnCS5dnLF1lbucIUlj94EbquHvc +4T2DpryEOzmQTkTFPemKqJLF/YgerRn2XszMDLNrbvdBcIUs7w74MGFW7p2rzkqhLjG oiSOrvBEMKoZ6YOv2CKJreNL2p9A9eumaFdiiNxT5OEjiTsh3/Iz9cJ4NgeNW/868tti yhdO8BVJV4H4ffBc2T48Y9ybrxYwC6VlBXQrwflJxI5yfOoA7wvfRQQDFgAaCB02iN9c 43KA== X-Gm-Message-State: AOJu0YxoPBl6h8FpuW+FTG9OjJjxxWWc56zU8vTMa2Qnpy9M1JIzxC9t 6LN4j15M3j0k9z7ntpEiihd+KL/Wh8rXo+dDYpP7rnHDX+KIrXOCfA8p1Q== X-Google-Smtp-Source: AGHT+IG5Gq6AL0Tik7kBM9/13Wbvs9OcZrpMWXqZfMQVS03vofo+kUDrSztf4U892mGWgdTPxlP/5w== X-Received: by 2002:a17:906:6808:b0:a65:d7f7:f3f2 with SMTP id a640c23a62f3a-a699f681927mr142429666b.36.1717581094094; Wed, 05 Jun 2024 02:51:34 -0700 (PDT) Received: from mariano (dynamic-adsl-84-220-189-10.clienti.tiscali.it. [84.220.189.10]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a68f0e03cfdsm505682066b.195.2024.06.05.02.51.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Jun 2024 02:51:33 -0700 (PDT) Received: by mariano (Postfix, from userid 1000) id 17161BFCE8; Wed, 5 Jun 2024 11:51:32 +0200 (CEST) Date: Wed, 5 Jun 2024 11:51:31 +0200 From: Stefano Sabatini To: FFmpeg development discussions and patches Message-ID: Mail-Followup-To: FFmpeg development discussions and patches , Marcus B Spencer References: <20240604222835.166462-1-marcus@marcusspencer.xyz> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20240604222835.166462-1-marcus@marcusspencer.xyz> User-Agent: Mutt/2.1.4 (2021-12-11) Subject: Re: [FFmpeg-devel] [PATCH v6] avcodec: add farbfeld encoder 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: Marcus B Spencer 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: T24gZGF0ZSBUdWVzZGF5IDIwMjQtMDYtMDQgMTc6Mjg6MzUgLTA1MDAsIE1hcmN1cyBCIFNwZW5j ZXIgd3JvdGU6Cj4gZmFyYmZlbGQgaXMgYW4gdW5jb21wcmVzc2VkIGltYWdlIGZvcm1hdCB0aGF0 IGlzIGEgcGFydCBvZiBzdWNrbGVzcwo+IHRvb2xzIChodHRwczovL3Rvb2xzLnN1Y2tsZXNzLm9y ZykuCj4gCj4gSXRzIGRvY3VtZW50YXRpb24gaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdG9vbHMu c3Vja2xlc3Mub3JnL2ZhcmJmZWxkLgo+IAo+IEFkZCBzdXBwb3J0IGZvciB0aGlzIGltYWdlIGZv cm1hdCBpbiBhdmNvZGVjIGFuZCB1cGRhdGUgdGhlIGltYWdlMgo+IGZvcm1hdCBhY2NvcmRpbmds eS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBNYXJjdXMgQiBTcGVuY2VyIDxtYXJjdXNAbWFyY3Vzc3Bl bmNlci54eXo+Cj4gLS0tCj4gIENoYW5nZWxvZyAgICAgICAgICAgICAgICAgfCAgMSArCj4gIGRv Yy9nZW5lcmFsX2NvbnRlbnRzLnRleGkgfCAgMiArCj4gIGxpYmF2Y29kZWMvTWFrZWZpbGUgICAg ICAgfCAgMSArCj4gIGxpYmF2Y29kZWMvYWxsY29kZWNzLmMgICAgfCAgMSArCj4gIGxpYmF2Y29k ZWMvY29kZWNfZGVzYy5jICAgfCAgNyArKysrCj4gIGxpYmF2Y29kZWMvY29kZWNfaWQuaCAgICAg fCAgMSArCj4gIGxpYmF2Y29kZWMvZmFyYmZlbGRlbmMuYyAgfCA4NCArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKPiAgbGliYXZjb2RlYy92ZXJzaW9uLmggICAgICB8ICAy ICstCj4gIGxpYmF2Zm9ybWF0L2ltZzIuYyAgICAgICAgfCAgMSArCj4gIGxpYmF2Zm9ybWF0L2lt ZzJlbmMuYyAgICAgfCAgMiArLQo+ICAxMCBmaWxlcyBjaGFuZ2VkLCAxMDAgaW5zZXJ0aW9ucygr KSwgMiBkZWxldGlvbnMoLSkKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYmF2Y29kZWMvZmFyYmZl bGRlbmMuYwo+IAo+IGRpZmYgLS1naXQgYS9DaGFuZ2Vsb2cgYi9DaGFuZ2Vsb2cKPiBpbmRleCAw M2Q2YjI5YWQ4Li5kMmI4MzFjNjIzIDEwMDY0NAo+IC0tLSBhL0NoYW5nZWxvZwo+ICsrKyBiL0No YW5nZWxvZwo+IEBAIC0xMiw2ICsxMiw3IEBAIHZlcnNpb24gPG5leHQ+Ogo+ICAtIHFzdl9wYXJh bXMgb3B0aW9uIGFkZGVkIGZvciBRU1YgZW5jb2RlcnMKPiAgLSBWVkMgZGVjb2RlciBjb21wYXRp YmxlIHdpdGggRFZCIHRlc3QgY29udGVudAo+ICAtIHhIRS1BQUMgZGVjb2Rlcgo+ICstIGZhcmJm ZWxkIGVuY29kZXIKPiAgCj4gIAo+ICB2ZXJzaW9uIDcuMDoKPiBkaWZmIC0tZ2l0IGEvZG9jL2dl bmVyYWxfY29udGVudHMudGV4aSBiL2RvYy9nZW5lcmFsX2NvbnRlbnRzLnRleGkKPiBpbmRleCBl N2NmNGY4MjM5Li4xMjlhMzI1ZWNmIDEwMDY0NAo+IC0tLSBhL2RvYy9nZW5lcmFsX2NvbnRlbnRz LnRleGkKPiArKysgYi9kb2MvZ2VuZXJhbF9jb250ZW50cy50ZXhpCj4gQEAgLTg1Myw2ICs4NTMs OCBAQCBmb2xsb3dpbmcgaW1hZ2UgZm9ybWF0cyBhcmUgc3VwcG9ydGVkOgo+ICAgICAgQHRhYiBY IFBpeE1hcCBpbWFnZSBmb3JtYXQKPiAgQGl0ZW0gWFdEICBAdGFiIFggQHRhYiBYCj4gICAgICBA dGFiIFggV2luZG93IER1bXAgaW1hZ2UgZm9ybWF0Cj4gK0BpdGVtIEZGICAgICAgICAgICBAdGFi IFggQHRhYgo+ICsgICAgQHRhYiBmYXJiZmVsZCB1bmNvbXByZXNzZWQgaW1hZ2UgZm9ybWF0Cj4g IEBlbmQgbXVsdGl0YWJsZQo+ICAKPiAgQGNvZGV7WH0gbWVhbnMgdGhhdCB0aGUgZmVhdHVyZSBp biB0aGF0IGNvbHVtbiAoZW5jb2RpbmcgLyBkZWNvZGluZykgaXMgc3VwcG9ydGVkLgo+IGRpZmYg LS1naXQgYS9saWJhdmNvZGVjL01ha2VmaWxlIGIvbGliYXZjb2RlYy9NYWtlZmlsZQo+IGluZGV4 IDhhYjQzOThiNmMuLjk2NDcyNzk0MjMgMTAwNjQ0Cj4gLS0tIGEvbGliYXZjb2RlYy9NYWtlZmls ZQo+ICsrKyBiL2xpYmF2Y29kZWMvTWFrZWZpbGUKPiBAQCAtMzU2LDYgKzM1Niw3IEBAIE9CSlMt JChDT05GSUdfRVNDQVBFMTMwX0RFQ09ERVIpICAgICAgICs9IGVzY2FwZTEzMC5vCj4gIE9CSlMt JChDT05GSUdfRVZSQ19ERUNPREVSKSAgICAgICAgICAgICs9IGV2cmNkZWMubyBhY2VscF92ZWN0 b3JzLm8gbHNwLm8KPiAgT0JKUy0kKENPTkZJR19FWFJfREVDT0RFUikgICAgICAgICAgICAgKz0g ZXhyLm8gZXhyZHNwLm8gaGFsZjJmbG9hdC5vCj4gIE9CSlMtJChDT05GSUdfRVhSX0VOQ09ERVIp ICAgICAgICAgICAgICs9IGV4cmVuYy5vIGZsb2F0MmhhbGYubwo+ICtPQkpTLSQoQ09ORklHX0ZB UkJGRUxEX0VOQ09ERVIpICAgICAgICArPSBmYXJiZmVsZGVuYy5vCj4gIE9CSlMtJChDT05GSUdf RkFTVEFVRElPX0RFQ09ERVIpICAgICAgICs9IGZhc3RhdWRpby5vCj4gIE9CSlMtJChDT05GSUdf RkZWMV9ERUNPREVSKSAgICAgICAgICAgICs9IGZmdjFkZWMubyBmZnYxLm8KPiAgT0JKUy0kKENP TkZJR19GRlYxX0VOQ09ERVIpICAgICAgICAgICAgKz0gZmZ2MWVuYy5vIGZmdjEubwo+IGRpZmYg LS1naXQgYS9saWJhdmNvZGVjL2FsbGNvZGVjcy5jIGIvbGliYXZjb2RlYy9hbGxjb2RlY3MuYwo+ IGluZGV4IGIxMDJhODA2OWUuLmIwZWJiNzIzOTYgMTAwNjQ0Cj4gLS0tIGEvbGliYXZjb2RlYy9h bGxjb2RlY3MuYwo+ICsrKyBiL2xpYmF2Y29kZWMvYWxsY29kZWNzLmMKPiBAQCAtMTE1LDYgKzEx NSw3IEBAIGV4dGVybiBjb25zdCBGRkNvZGVjIGZmX2VzY2FwZTEyNF9kZWNvZGVyOwo+ICBleHRl cm4gY29uc3QgRkZDb2RlYyBmZl9lc2NhcGUxMzBfZGVjb2RlcjsKPiAgZXh0ZXJuIGNvbnN0IEZG Q29kZWMgZmZfZXhyX2VuY29kZXI7Cj4gIGV4dGVybiBjb25zdCBGRkNvZGVjIGZmX2V4cl9kZWNv ZGVyOwo+ICtleHRlcm4gY29uc3QgRkZDb2RlYyBmZl9mYXJiZmVsZF9lbmNvZGVyOwo+ICBleHRl cm4gY29uc3QgRkZDb2RlYyBmZl9mZnYxX2VuY29kZXI7Cj4gIGV4dGVybiBjb25zdCBGRkNvZGVj IGZmX2ZmdjFfZGVjb2RlcjsKPiAgZXh0ZXJuIGNvbnN0IEZGQ29kZWMgZmZfZmZ2aHVmZl9lbmNv ZGVyOwo+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2NvZGVjX2Rlc2MuYyBiL2xpYmF2Y29kZWMv Y29kZWNfZGVzYy5jCj4gaW5kZXggYTI4ZWY2ODA2MS4uMzNkYmQyY2U5NCAxMDA2NDQKPiAtLS0g YS9saWJhdmNvZGVjL2NvZGVjX2Rlc2MuYwo+ICsrKyBiL2xpYmF2Y29kZWMvY29kZWNfZGVzYy5j Cj4gQEAgLTE5NTksNiArMTk1OSwxMyBAQCBzdGF0aWMgY29uc3QgQVZDb2RlY0Rlc2NyaXB0b3Ig Y29kZWNfZGVzY3JpcHRvcnNbXSA9IHsKPiAgICAgICAgICAubG9uZ19uYW1lID0gTlVMTF9JRl9D T05GSUdfU01BTEwoIkxFQUQgTUNNUCIpLAo+ICAgICAgICAgIC5wcm9wcyAgICAgPSBBVl9DT0RF Q19QUk9QX0lOVFJBX09OTFkgfCBBVl9DT0RFQ19QUk9QX0xPU1NZLAo+ICAgICAgfSwKPiArICAg IHsKPiArICAgICAgICAuaWQgICAgICAgID0gQVZfQ09ERUNfSURfRkFSQkZFTEQsCj4gKyAgICAg ICAgLnR5cGUgICAgICA9IEFWTUVESUFfVFlQRV9WSURFTywKPiArICAgICAgICAubmFtZSAgICAg ID0gImZhcmJmZWxkIiwKPiArICAgICAgICAubG9uZ19uYW1lID0gTlVMTF9JRl9DT05GSUdfU01B TEwoImZhcmJmZWxkIHVuY29tcHJlc3NlZCBpbWFnZSIpLAo+ICsgICAgICAgIC5wcm9wcyAgICAg PSBBVl9DT0RFQ19QUk9QX0lOVFJBX09OTFkgfCBBVl9DT0RFQ19QUk9QX0xPU1NMRVNTLAo+ICsg ICAgfSwKPiAgCj4gICAgICAvKiB2YXJpb3VzIFBDTSAiY29kZWNzIiAqLwo+ICAgICAgewo+IGRp ZmYgLS1naXQgYS9saWJhdmNvZGVjL2NvZGVjX2lkLmggYi9saWJhdmNvZGVjL2NvZGVjX2lkLmgK PiBpbmRleCAwYWIxZTM0YTYxLi5kNGIwZDIzZjdlIDEwMDY0NAo+IC0tLSBhL2xpYmF2Y29kZWMv Y29kZWNfaWQuaAo+ICsrKyBiL2xpYmF2Y29kZWMvY29kZWNfaWQuaAo+IEBAIC0zMjIsNiArMzIy LDcgQEAgZW51bSBBVkNvZGVjSUQgewo+ICAgICAgQVZfQ09ERUNfSURfUlRWMSwKPiAgICAgIEFW X0NPREVDX0lEX1ZNSVgsCj4gICAgICBBVl9DT0RFQ19JRF9MRUFELAo+ICsgICAgQVZfQ09ERUNf SURfRkFSQkZFTEQsCj4gIAo+ICAgICAgLyogdmFyaW91cyBQQ00gImNvZGVjcyIgKi8KPiAgICAg IEFWX0NPREVDX0lEX0ZJUlNUX0FVRElPID0gMHgxMDAwMCwgICAgIC8vLzwgQSBkdW1teSBpZCBw b2ludGluZyBhdCB0aGUgc3RhcnQgb2YgYXVkaW8gY29kZWNzCj4gZGlmZiAtLWdpdCBhL2xpYmF2 Y29kZWMvZmFyYmZlbGRlbmMuYyBiL2xpYmF2Y29kZWMvZmFyYmZlbGRlbmMuYwo+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwMC4uNjg2YmE1NjY1ZQo+IC0tLSAvZGV2L251 bGwKPiArKysgYi9saWJhdmNvZGVjL2ZhcmJmZWxkZW5jLmMKPiBAQCAtMCwwICsxLDg0IEBACj4g Ky8qCj4gKyAqIENvcHlyaWdodCAoYykgMjAyNCBNYXJjdXMgQiBTcGVuY2VyIDxtYXJjdXNAbWFy Y3Vzc3BlbmNlci54eXo+Cj4gKyAqCj4gKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKPiArICogb2Yg dGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUg4oCc U29mdHdhcmXigJ0pLCB0bwo+ICsgKiBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3Ry aWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZQo+ICsgKiByaWdodHMgdG8g dXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNl LCBhbmQvb3IKPiArICogc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0 IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKPiArICogZnVybmlzaGVkIHRvIGRvIHNv LCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKPiArICoKPiArICogVGhlIGFi b3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUg aW5jbHVkZWQgaW4KPiArICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0 aGUgU29mdHdhcmUuCj4gKyAqCj4gKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCDigJxBUyBJ U+KAnSwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgo+ICsgKiBJTVBM SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNI QU5UQUJJTElUWSwKPiArICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5P TklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCj4gKyAqIEFVVEhPUlMgT1IgQ09Q WVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIK PiArICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBP UiBPVEhFUldJU0UsIEFSSVNJTkcKPiArICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g V0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUwo+ICsgKiBJTiBU SEUgU09GVFdBUkUuCj4gKyAqLwo+ICsKPiArI2luY2x1ZGUgImF2Y29kZWMuaCIKPiArI2luY2x1 ZGUgImJ5dGVzdHJlYW0uaCIKPiArI2luY2x1ZGUgImNvZGVjX2ludGVybmFsLmgiCj4gKyNpbmNs dWRlICJlbmNvZGUuaCIKPiArI2luY2x1ZGUgImxpYmF2dXRpbC9pbWd1dGlscy5oIgo+ICsKPiAr I2RlZmluZSBIRUFERVJfU0laRSAxNgo+ICsKPiArc3RhdGljIGludCBmYXJiZmVsZF9lbmNvZGVf ZnJhbWUoQVZDb2RlY0NvbnRleHQgKmN0eCwgQVZQYWNrZXQgKnBrdCwKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3QgQVZGcmFtZSAqcCwgaW50ICpnb3RfcGFja2V0KQo+ ICt7Cgo+ICsgICAgaW50IHJhd19pbWdfc2l6ZSA9IGF2X2ltYWdlX2dldF9idWZmZXJfc2l6ZSgK PiArICAgICAgICBwLT5mb3JtYXQsCj4gKyAgICAgICAgcC0+d2lkdGgsCj4gKyAgICAgICAgcC0+ aGVpZ2h0LAo+ICsgICAgICAgIDEKPiArICAgICk7Cgo+ICsgICAgaW50NjRfdCBidWZfc2l6ZSA9 IChpbnQ2NF90KXJhd19pbWdfc2l6ZSArIEhFQURFUl9TSVpFOwoKbm90IHlldCwgdGhpcyBtaWdo dCBjaGFuZ2UgdGhlIHNpZ24gZm9yIGEgbmVnYXRpdmUgcmF3X2ltZ19zaXplLCB5b3UKbmVlZCB0 d28gc2VwYXJhdGUgY2hlY2tzIChvbmUgaXMgbm90IGVub3VnaCksIGFzIGluIHRoZSBmb2xsb3dp bmc6CgppbnQgcmF3X2ltZ19zaXplID0gYXZfaW1hZ2VfZ2V0X2J1ZmZlcl9zaXplKHAtPmZvcm1h dCwgcC0+d2lkdGgscC0+aGVpZ2h0LCAxKTsKCmlmIChyYXdfaW1hZ2Vfc2l6ZSA8IDApCiAgICBy ZXR1cm4gcmF3X2ltYWdlX3NpemU7CiAgICAgCmludCBidWZfc2l6ZSA9IHJhd19pbWdfc2l6ZSAr IEhFQURFUl9TSVpFOwppZiAoYnVmX3NpemUgPCAwKQogICAgcmV0dXJuIEFWRVJST1IoRUlOVkFM KTsKCi4uLgoKTG9va3MgZ29vZCBvdGhlcndpc2UsIHRoYW5rcy4KCkJUVywgZm9yIHByb3BlciBp bnRlZ3JhdGlvbiB3b3VsZCBiZSBnb29kIHRvIGFsc28gYWRkIGEgZGVjb2RlciAod2hpY2gKc2hv dWxkIGFsc28gYmUgc2ltcGxlKS4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVn Lm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRv IHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVx dWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=