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 9C14044321 for ; Thu, 5 Jan 2023 17:34:40 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 81CCA68BD34; Thu, 5 Jan 2023 19:34:37 +0200 (EET) Received: from mail-yw1-f181.google.com (mail-yw1-f181.google.com [209.85.128.181]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DB8A0689B11 for ; Thu, 5 Jan 2023 19:34:30 +0200 (EET) Received: by mail-yw1-f181.google.com with SMTP id 00721157ae682-482363a1232so372559097b3.3 for ; Thu, 05 Jan 2023 09:34:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Cc2QDhMV2AM1ow9TG8CwZrFNUXvT6x4s4Kjp/Q0dguE=; b=hlXqTKWQGP9VCPQgbjy4EpvZH4+L75JMwEllMCUZs84ya4ekWvhvRe+C1MeuDBoC62 hgasFt19qd7I4WSsUA8UU+lW10ex7eklVTHukC15R7JO04AKM6TyLWQrSVordqbGdOI7 krYs5tyJLOPgLevaNL+gPe6kPms8rAqTvuPVRJnUd+ak2mt+dSnJMZ3+s8k80OhfYHs8 CvYCpB1NsbcV5Lmz5+ttpjWw6HP7FbmcH3/rULyVOFeS7EEM1r9piU4Th6Y2duAft7KB W2U5e7tmmQ8xkBInJzRMlbqjjJRzghlaWoCKzwHKNBrF8xmaDtyrN9iF4B22Wme8WNKT y8Hg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding: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=Cc2QDhMV2AM1ow9TG8CwZrFNUXvT6x4s4Kjp/Q0dguE=; b=4Xq3KXU6bykZQsHxNdkO0gimgwRZlaIjhT6HQI9qMzUHeyZ8goj67VEj4SSzSf39Gs im9+Hn7f4meKqUAqY8WpwcdQLxR5iYYNwRowk+XQgNvRnR/aVz4Txp64pjQvDY4JFvHA cj8Yz+02f9aEaXonwgZ2Ivi8/XsxbnK6uYRczzy2Yx+lBApZ9r725//a1R9I+Sn13qvu 92l/PVQE6IZy15kr2ptKEZ2EM7fpfU50t2bTfVvtTEGSgQnMdN9ZXVExywQVKMAiYIqW 3fTwhqgjvxhkZsgH7c90m5UgFxkymFI9iUh+0Ssfdb2x5SMJmoWbBqQJso89ErxR14TL ElsQ== X-Gm-Message-State: AFqh2kopmCjWZcIVJsgC+9YEj9ZCfLAfN6AMGlAnCghbQIlsK/RyglcU eNVv9EYBIp3G9VaTE4jmq7EtaGrpWPFpPqPMwxSG5/U/S/uhXA== X-Google-Smtp-Source: AMrXdXugf/xUsI4fXEqWyqJWXj7o15otI8FT1K/h3jdh/AdBrOoHYuVcU3nFkqSTIqBv7gZMXTPXZ2HASBo/H7zkIn0= X-Received: by 2002:a81:a013:0:b0:4a9:884a:20c4 with SMTP id x19-20020a81a013000000b004a9884a20c4mr2280369ywg.139.1672940069263; Thu, 05 Jan 2023 09:34:29 -0800 (PST) MIME-Version: 1.0 References: <20230104221619.919110-1-vigneshv@google.com> <20230104221619.919110-2-vigneshv@google.com> In-Reply-To: From: Vignesh Venkatasubramanian Date: Thu, 5 Jan 2023 09:34:17 -0800 Message-ID: To: =?UTF-8?B?emhpbGl6aGFvKOi1teW/l+eriyk=?= Subject: Re: [FFmpeg-devel] [PATCH 2/2] avformat/movenc: Add loop parameter to animated AVIF 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: 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: T24gVGh1LCBKYW4gNSwgMjAyMyBhdCAxOjQ1IEFNICJ6aGlsaXpoYW8o6LW15b+X56uLKSIgPHF1 aW5rYmxhY2tAZm94bWFpbC5jb20+IHdyb3RlOgo+Cj4KPgo+ID4gT24gSmFuIDUsIDIwMjMsIGF0 IDA2OjE2LCBWaWduZXNoIFZlbmthdGFzdWJyYW1hbmlhbiA8dmlnbmVzaHYtYXQtZ29vZ2xlLmNv bUBmZm1wZWcub3JnPiB3cm90ZToKPiA+Cj4gPiBUaGUgSEVJRiBzcGVjaWZpY2F0aW9uIHBlcm1p dHMgc3BlY2lmeWluZyB0aGUgbG9vcGluZyBiZWhhdmlvciBvZgo+ID4gYW5pbWF0ZWQgc2VxdWVu Y2VzIGJ5IHVzaW5nIHRoZSBFZGl0TGlzdCAoZWxzdCkgYm94LiBUaGUgdHJhY2sKPiA+IGR1cmF0 aW9uIHdpbGwgYmUgc2V0IHRvIHRoZSB0b3RhbCBkdXJhdGlvbiBvZiBhbGwgdGhlIGxvb3BzIChv cgo+ID4gaW5maW5pdGUpIGFuZCB0aGUgZHVyYXRpb24gb2YgYSBzaW5nbGUgbG9vcCB3aWxsIGJl IHNldCBpbiB0aGUgZWRpdAo+ID4gbGlzdCBib3guCj4gPgo+ID4gVGhlIGRlZmF1bHQgYmVoYXZp b3IgaXMgdG8gbG9vcCBpbmZpbml0ZWx5Lgo+ID4KPiA+IENvbXBsaWFuY2UgdmVyaWZpY2F0aW9u Ogo+ID4gKiBUaGlzIHdhcyBhZGRlZCBpbiBsaWJhdmlmIHJlY2VudGx5IFsxXSBhbmQgdGhlIGZp bGVzIHByb2R1Y2VkIGJ5Cj4gPiAgZmZtcGVnIGFmdGVyIHRoaXMgY2hhbmdlIGhhdmUgRWRpdExp c3QgYm94ZXMgc2ltaWxhciB0byB0aGUgb25lcwo+ID4gIHByb2R1Y2VkIGJ5IGxpYmF2aWYgKGFu ZCBhdmlmZGVjIGlzIGFibGUgdG8gcGFyc2UgdGhlIGxvb3AgY291bnQgYXMKPiA+ICBpbnRlbmRl ZCkuCj4gPiAqIENvbXBsaWFuY2VXYXJkZW4gaXMgb2sgd2l0aCB0aGUgcHJvZHVjZWQgZmlsZXMu Cj4gPiAqIENocm9tZSBpcyBhYmxlIHRvIHBsYXkgYmFjayB0aGUgcHJvZHVjZWQgZmlsZXMuCj4g Pgo+ID4gU2lnbmVkLW9mZi1ieTogVmlnbmVzaCBWZW5rYXRhc3VicmFtYW5pYW4gPHZpZ25lc2h2 QGdvb2dsZS5jb20+Cj4gPiAtLS0KPiA+IGxpYmF2Zm9ybWF0L21vdmVuYy5jIHwgMzUgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KPiA+IGxpYmF2Zm9ybWF0L21vdmVuYy5oIHwg IDEgKwo+ID4gMiBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygt KQo+ID4KPiA+IGRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9tb3ZlbmMuYyBiL2xpYmF2Zm9ybWF0 L21vdmVuYy5jCj4gPiBpbmRleCAzNmM3NmY3ZjYwLi44ZDMxMzE3ODM4IDEwMDY0NAo+ID4gLS0t IGEvbGliYXZmb3JtYXQvbW92ZW5jLmMKPiA+ICsrKyBiL2xpYmF2Zm9ybWF0L21vdmVuYy5jCj4g PiBAQCAtMzI4Nyw3ICszMjg3LDcgQEAgc3RhdGljIGludCBtb3Zfd3JpdGVfdGtoZF90YWcoQVZJ T0NvbnRleHQgKnBiLCBNT1ZNdXhDb250ZXh0ICptb3YsCj4gPiAgICAgaW50NjRfdCBkdXJhdGlv biA9IGF2X3Jlc2NhbGVfcm5kKGNhbGNfcHRzX2R1cmF0aW9uKG1vdiwgdHJhY2spLAo+ID4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3YtPm1vdmllX3RpbWVzY2FsZSwg dHJhY2stPnRpbWVzY2FsZSwKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQVZfUk9VTkRfVVApOwo+ID4gLSAgICBpbnQgdmVyc2lvbiA9IGR1cmF0aW9uIDwgSU5UMzJf TUFYID8gMCA6IDE7Cj4gPiArICAgIGludCB2ZXJzaW9uOwo+ID4gICAgIGludCBmbGFncyAgID0g TU9WX1RLSERfRkxBR19JTl9NT1ZJRTsKPiA+ICAgICBpbnQgZ3JvdXAgICA9IDA7Cj4gPgo+ID4g QEAgLTMyOTUsNiArMzI5NSwxNCBAQCBzdGF0aWMgaW50IG1vdl93cml0ZV90a2hkX3RhZyhBVklP Q29udGV4dCAqcGIsIE1PVk11eENvbnRleHQgKm1vdiwKPiA+ICAgICBzaXplX3QgZGlzcGxheV9t YXRyaXhfc2l6ZTsKPiA+ICAgICBpbnQgICAgICAgaTsKPiA+Cj4gPiArICAgIGlmIChtb3YtPm1v ZGUgPT0gTU9ERV9BVklGKQo+ID4gKyAgICAgICAgaWYgKCFtb3YtPmF2aWZfbG9vcF9jb3VudCkK PiA+ICsgICAgICAgICAgICBkdXJhdGlvbiA9IElOVDY0X01BWDsKPiA+ICsgICAgICAgIGVsc2UK PiA+ICsgICAgICAgICAgICBkdXJhdGlvbiAqPSBtb3YtPmF2aWZfbG9vcF9jb3VudDsKPiA+ICsK PiA+ICsgICAgIHZlcnNpb24gPSBkdXJhdGlvbiA8IElOVDMyX01BWCA/IDAgOiAxOwo+ID4gKwo+ ID4gICAgIGlmIChzdCkgewo+ID4gICAgICAgICBpZiAobW92LT5wZXJfc3RyZWFtX2dyb3VwaW5n KQo+ID4gICAgICAgICAgICAgZ3JvdXAgPSBzdC0+aW5kZXg7Cj4gPiBAQCAtMzQxNCw3ICszNDIy LDEwIEBAIHN0YXRpYyBpbnQgbW92X3dyaXRlX3RhcHRfdGFnKEFWSU9Db250ZXh0ICpwYiwgTU9W VHJhY2sgKnRyYWNrKQo+ID4gICAgIHJldHVybiB1cGRhdGVfc2l6ZShwYiwgcG9zKTsKPiA+IH0K PiA+Cj4gPiAtLy8gVGhpcyBib3ggc2VlbXMgaW1wb3J0YW50IGZvciB0aGUgcHNwIHBsYXliYWNr IC4uLiB3aXRob3V0IGl0IHRoZSBtb3ZpZSBzZWVtcyB0byBoYW5nCj4gPiArLy8gVGhpcyBib3gg aXMgd3JpdHRlbiBpbiB0aGUgZm9sbG93aW5nIGNhc2VzOgo+ID4gKy8vICAgKiBTZWVtcyBpbXBv cnRhbnQgZm9yIHRoZSBwc3AgcGxheWJhY2suIFdpdGhvdXQgaXQgdGhlIG1vdmllIHNlZW1zIHRv IGhhbmcuCj4gPiArLy8gICAqIFVzZWQgZm9yIHNwZWNpZnlpbmcgdGhlIGxvb3BpbmcgYmVoYXZp b3Igb2YgYW5pbWF0ZWQgQVZJRiAoYXMgc3BlY2lmaWVkCj4gPiArLy8gICBpbiBTZWN0aW9uIDku NiBvZiB0aGUgSEVJRiBzcGVjaWZpY2F0aW9uIElTTy9JRUMgMjMwMDgtMTIpLgo+ID4gc3RhdGlj IGludCBtb3Zfd3JpdGVfZWR0c190YWcoQVZJT0NvbnRleHQgKnBiLCBNT1ZNdXhDb250ZXh0ICpt b3YsCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNT1ZUcmFjayAqdHJhY2spCj4g PiB7Cj4gPiBAQCAtMzQyNSw2ICszNDM2LDcgQEAgc3RhdGljIGludCBtb3Zfd3JpdGVfZWR0c190 YWcoQVZJT0NvbnRleHQgKnBiLCBNT1ZNdXhDb250ZXh0ICptb3YsCj4gPiAgICAgaW50IGVudHJ5 X3NpemUsIGVudHJ5X2NvdW50LCBzaXplOwo+ID4gICAgIGludDY0X3QgZGVsYXksIHN0YXJ0X2N0 ID0gdHJhY2stPnN0YXJ0X2N0czsKPiA+ICAgICBpbnQ2NF90IHN0YXJ0X2R0cyA9IHRyYWNrLT5z dGFydF9kdHM7Cj4gPiArICAgIGludCBmbGFncyA9IDA7Cj4gPgo+ID4gICAgIGlmICh0cmFjay0+ ZW50cnkpIHsKPiA+ICAgICAgICAgaWYgKHN0YXJ0X2R0cyAhPSB0cmFjay0+Y2x1c3RlclswXS5k dHMgfHwgc3RhcnRfY3QgIT0gdHJhY2stPmNsdXN0ZXJbMF0uY3RzKSB7Cj4gPiBAQCAtMzQ0MCw2 ICszNDUyLDE3IEBAIHN0YXRpYyBpbnQgbW92X3dyaXRlX2VkdHNfdGFnKEFWSU9Db250ZXh0ICpw YiwgTU9WTXV4Q29udGV4dCAqbW92LAo+ID4KPiA+ICAgICBkZWxheSA9IGF2X3Jlc2NhbGVfcm5k KHN0YXJ0X2R0cyArIHN0YXJ0X2N0LCBtb3YtPm1vdmllX3RpbWVzY2FsZSwKPiA+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHRyYWNrLT50aW1lc2NhbGUsIEFWX1JPVU5EX0RPV04pOwo+ID4g Kwo+ID4gKyAgICBpZiAobW92LT5tb2RlID09IE1PREVfQVZJRikgewo+ID4gKyAgICAgICAgZGVs YXkgPSAwOwo+ID4gKyAgICAgICAgLy8gU2VjdGlvbiA5LjYuMyBvZiBJU08vSUVDIDIzMDA4LTEy OiBmbGFncyBzcGVjaWZpZXMgcmVwZXRpdGlvbiBvZiB0aGUKPiA+ICsgICAgICAgIC8vIGVkaXQg bGlzdCBhcyBmb2xsb3dzOiAoZmxhZ3MgJiAxKSBlcXVhbCB0byAwIHNwZWNpZmllcyB0aGF0IHRo ZSBlZGl0Cj4gPiArICAgICAgICAvLyBsaXN0IGlzIG5vdCByZXBlYXRlZCwgd2hpbGUgKGZsYWdz ICYgMSkgZXF1YWwgdG8gMSBzcGVjaWZpZXMgdGhhdCB0aGUKPiA+ICsgICAgICAgIC8vIGVkaXQg bGlzdCBpcyByZXBlYXRlZC4KPiA+ICsgICAgICAgIGZsYWdzID0gbW92LT5hdmlmX2xvb3BfY291 bnQgIT0gMTsKPiA+ICsgICAgICAgIHN0YXJ0X2N0ID0gMDsKPiA+ICsgICAgfQo+ID4gKwo+ID4g ICAgIHZlcnNpb24gfD0gZGVsYXkgPCBJTlQzMl9NQVggPyAwIDogMTsKPiA+Cj4gPiAgICAgZW50 cnlfc2l6ZSA9ICh2ZXJzaW9uID09IDEpID8gMjAgOiAxMjsKPiA+IEBAIC0zNDUyLDcgKzM0NzUs NyBAQCBzdGF0aWMgaW50IG1vdl93cml0ZV9lZHRzX3RhZyhBVklPQ29udGV4dCAqcGIsIE1PVk11 eENvbnRleHQgKm1vdiwKPiA+ICAgICBhdmlvX3diMzIocGIsIHNpemUgLSA4KTsKPiA+ICAgICBm ZmlvX3dmb3VyY2MocGIsICJlbHN0Iik7Cj4gPiAgICAgYXZpb193OChwYiwgdmVyc2lvbik7Cj4g PiAtICAgIGF2aW9fd2IyNChwYiwgMCk7IC8qIGZsYWdzICovCj4gPiArICAgIGF2aW9fd2IyNChw YiwgZmxhZ3MpOyAvKiBmbGFncyAqLwo+ID4KPiA+ICAgICBhdmlvX3diMzIocGIsIGVudHJ5X2Nv dW50KTsKPiA+ICAgICBpZiAoZGVsYXkgPiAwKSB7IC8qIGFkZCBhbiBlbXB0eSBlZGl0IHRvIGRl bGF5IHByZXNlbnRhdGlvbiAqLwo+ID4gQEAgLTM0NjksNyArMzQ5Miw3IEBAIHN0YXRpYyBpbnQg bW92X3dyaXRlX2VkdHNfdGFnKEFWSU9Db250ZXh0ICpwYiwgTU9WTXV4Q29udGV4dCAqbW92LAo+ ID4gICAgICAgICAgICAgYXZpb193YjMyKHBiLCAtMSk7Cj4gPiAgICAgICAgIH0KPiA+ICAgICAg ICAgYXZpb193YjMyKHBiLCAweDAwMDEwMDAwKTsKPiA+IC0gICAgfSBlbHNlIHsKPiA+ICsgICAg fSBlbHNlIGlmIChtb3YtPm1vZGUgIT0gTU9ERV9BVklGKSB7Cj4gPiAgICAgICAgIC8qIEF2b2lk IGFjY2lkZW50YWxseSBlbmRpbmcgdXAgd2l0aCBzdGFydF9jdCA9IC0xIHdoaWNoIGhhcyBnb3Qg YQo+ID4gICAgICAgICAgKiBzcGVjaWFsIG1lYW5pbmcuIE5vcm1hbGx5IHN0YXJ0X2N0IHNob3Vs ZCBlbmQgdXAgcG9zaXRpdmUgb3IgemVybwo+ID4gICAgICAgICAgKiBoZXJlLCBidXQgdXNlIEZG TUlOIGluIGNhc2UgZHRzIGlzIGEgc21hbGwgcG9zaXRpdmUgaW50ZWdlcgo+ID4gQEAgLTM2NzAs NiArMzY5Myw5IEBAIHN0YXRpYyBpbnQgbW92X3dyaXRlX3RyYWtfdGFnKEFWRm9ybWF0Q29udGV4 dCAqcywgQVZJT0NvbnRleHQgKnBiLCBNT1ZNdXhDb250ZXh0Cj4gPiAgICAgICAgICAgICAgICAg ICAgIk5vdCB3cml0aW5nIGFueSBlZGl0IGxpc3QgZXZlbiB0aG91Z2ggb25lIHdvdWxkIGhhdmUg YmVlbiByZXF1aXJlZFxuIik7Cj4gPiAgICAgfQo+ID4KPiA+ICsgICAgaWYgKG1vdi0+aXNfYW5p bWF0ZWRfYXZpZikKPiA+ICsgICAgICAgIG1vdl93cml0ZV9lZHRzX3RhZyhwYiwgbW92LCB0cmFj ayk7Cj4gPiArCj4gPiAgICAgaWYgKHRyYWNrLT50cmVmX3RhZykKPiA+ICAgICAgICAgbW92X3dy aXRlX3RyZWZfdGFnKHBiLCB0cmFjayk7Cj4gPgo+ID4gQEAgLTc3NjEsNiArNzc4Nyw3IEBAIHN0 YXRpYyBjb25zdCBBVkNvZGVjVGFnIGNvZGVjX2Y0dl90YWdzW10gPSB7Cj4gPgo+ID4gc3RhdGlj IGNvbnN0IEFWT3B0aW9uIGF2aWZfb3B0aW9uc1tdID0gewo+ID4gICAgIHsgIm1vdmllX3RpbWVz Y2FsZSIsICJzZXQgbW92aWUgdGltZXNjYWxlIiwgb2Zmc2V0b2YoTU9WTXV4Q29udGV4dCwgbW92 aWVfdGltZXNjYWxlKSwgQVZfT1BUX1RZUEVfSU5ULCB7Lmk2NCA9IE1PVl9USU1FU0NBTEV9LCAx LCBJTlRfTUFYLCBBVl9PUFRfRkxBR19FTkNPRElOR19QQVJBTX0sCj4gPiArICAgIHsgImxvb3Ai LCAiTnVtYmVyIG9mIHRpbWVzIHRvIGxvb3AgYW5pbWF0ZWQgQVZJRjogMCAtIGluZmluaXRlIGxv b3AiLCBvZmZzZXRvZihNT1ZNdXhDb250ZXh0LCBhdmlmX2xvb3BfY291bnQpLCBBVl9PUFRfVFlQ RV9JTlQsIHsuaTY0ID0gMH0sIDAsIElOVF9NQVgsIEFWX09QVF9GTEFHX0VOQ09ESU5HX1BBUkFN LCAwIH0sCj4KPiBUaGUgY29kZSB0cmVhdCAtbG9vcCAxIG1lYW5zIHBsYXliYWNrIDEgdGltZS4g SXQgY2FuIGJlIG1pc2xlYWRpbmcKPiB0byBtZWFuIDIgdGltZXMsIHBsYXliYWNrIDEgdGltZSB0 aGVuIHJlcGVhdC9sb29wIDEgdGltZS4gVGhhdOKAmXMKPiBob3cg4oCYLXN0cmVhbV9sb29w4oCZ IG9wdGlvbiB3b3Jrcy4gSeKAmW0gbm90IEVuZ2xpc2ggbmF0aXZlIHNwZWFrZXIsCj4gSSBkb27i gJl0IGtub3cgd2hpY2ggb25lIGlzIGNvcnJlY3QuIEJldHRlciBtYWtlIHRoZSBvZmZzZXQgYnkg MQo+IGNsZWFyLgo+CgpsaWJhdmlmIHVzZXMgdGhlIHRlcm0gInJlcGV0aXRpb25Db3VudCIgaW5z dGVhZCBvZiAibG9vcCIgdG8gbm90IGhhdmUKdGhpcyBhbWJpZ3VpdHkuCgpUaGUgYmVoYXZpb3Ig b2YgdGhlICJsb29wIiBwYXJhbWV0ZXIgaW4gdGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBzaW1pbGFy CnRvIFdlYlAncyAibG9vcCIgcGFyYW1ldGVyIGluIGZmbXBlZyAoaS5lLikgbG9vcCBtZWFucyB0 aGUgbnVtYmVyIG9mCnRpbWVzIGl0IHdpbGwgYmUgcGxheWVkIGJhY2sgKGxvb3AgPT0gMSA9PiAx IHBsYXliYWNrLCBsb29wID09IDIgPT4gMgpwbGF5YmFja3MgYW5kIHNvIG9uKS4KCj4gPiAgICAg eyBOVUxMIH0sCj4gPiB9Owo+ID4gc3RhdGljIGNvbnN0IEFWQ29kZWNUYWcgY29kZWNfYXZpZl90 YWdzW10gPSB7Cj4gPiBkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvbW92ZW5jLmggYi9saWJhdmZv cm1hdC9tb3ZlbmMuaAo+ID4gaW5kZXggYzZiMzMxM2RlYi4uZTg1ZDgzYWJkYiAxMDA2NDQKPiA+ IC0tLSBhL2xpYmF2Zm9ybWF0L21vdmVuYy5oCj4gPiArKysgYi9saWJhdmZvcm1hdC9tb3ZlbmMu aAo+ID4gQEAgLTI0OSw2ICsyNDksNyBAQCB0eXBlZGVmIHN0cnVjdCBNT1ZNdXhDb250ZXh0IHsK PiA+ICAgICBpbnQ2NF90IGF2aWZfZXh0ZW50X3Bvc1syXTsgIC8vIGluZGV4IDAgaXMgWVVWIGFu ZCAxIGlzIEFscGhhLgo+ID4gICAgIGludCBhdmlmX2V4dGVudF9sZW5ndGhbMl07ICAgLy8gaW5k ZXggMCBpcyBZVVYgYW5kIDEgaXMgQWxwaGEuCj4gPiAgICAgaW50IGlzX2FuaW1hdGVkX2F2aWY7 Cj4gPiArICAgIGludCBhdmlmX2xvb3BfY291bnQ7Cj4gPiB9IE1PVk11eENvbnRleHQ7Cj4gPgo+ ID4gI2RlZmluZSBGRl9NT1ZfRkxBR19SVFBfSElOVCAgICAgICAgICAgICAgKDEgPDwgIDApCj4g PiAtLQo+ID4gMi4zOS4wLjMxNC5nODRiOWE3MTNjNDEtZ29vZwo+ID4KPiA+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBmZm1wZWctZGV2ZWwgbWFp bGluZyBsaXN0Cj4gPiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwo+ID4gaHR0cHM6Ly9mZm1wZWcu b3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCj4gPgo+ID4gVG8gdW5zdWJzY3JpYmUs IHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4gPiBmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1w ZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo+CgoKLS0gClZpZ25lc2gKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1h aWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFp bG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFi b3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVj dCAidW5zdWJzY3JpYmUiLgo=