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 91720453BE for ; Mon, 27 Feb 2023 20:24:44 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0A6BC689900; Mon, 27 Feb 2023 22:24:41 +0200 (EET) Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7E2FA680777 for ; Mon, 27 Feb 2023 22:24:34 +0200 (EET) Received: by mail-ed1-f43.google.com with SMTP id h16so30825305edz.10 for ; Mon, 27 Feb 2023 12:24:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677529474; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=UTtRI40ohSKjCp7DROx4VlUvAeYrEXKOz4Nu9wYEAs4=; b=TForY0o3XmFFgyL9Dquh8qjbRo6uALyD3IXw2mcjDSnqHMsrl5pvPrm7HCel3gf39w XAPQIhKRQHCn5by4XFOI2xQuaDAffNNPfI9UapNl9g/+4zRSLD/qtXgEcPKh5ltotv0A ee79nOAU8C7PrldVY3fZb1IhkN8rW7SIc+I2wckMfyFixq4GssnWYs8eWocS1OJndjXw V7WJcZF4vT3UbNwZrdYqM3C3E6E+BMXorZBdorqkKrWkQaEjub4GVHdn/QXEmq0tYDM8 UBVpZVWjQFEibL8n/R0lvlADJGueiCgbknKlC5FkiWYSe/WcNIHqYCgEfHH6pXteGgjd IfHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677529474; h=content-transfer-encoding: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=UTtRI40ohSKjCp7DROx4VlUvAeYrEXKOz4Nu9wYEAs4=; b=vZViEhNWbL8O7L0+dXT/5iR3Ok+mUfHDqox8b/lfahg5ikxhcCNVZnkmSsBNPB2TTy FNpcG3+uEEiFnEjiXOCmEZH3e/vgkug5uh1Z+Z0CWRBA2dEjioOwhAa5PRtLppmYK1aJ DTZZwsw5Ci7aqvjZzohaI1QMTBwEJSA0AsUviIe6EUjaUHuQshTGcnUcMuKCs4TPBl6Q Y27/GN3WKWkv+Bg7z0VJCPcEmKH08KOxQ/GtMiJgdsxQ+LhdzXjPW+KaTjvo19siRjwv /yflqcPdFz9vhvB4PL3c1PT87Xndrinc06OPw+rx++Bha2RNgn3asgpjE+kU4IUdMlTY Tmmw== X-Gm-Message-State: AO0yUKX0OFWHqCkd9MSTw3TD0S931a78vKrt0ofUaQgUbCmMvZhmAMio AYuXI9swHk5dDKzTGtO/cyJtZBFjYYnB2FurgJ5W1O5FuSA= X-Google-Smtp-Source: AK7set+LfAQDCi1lPB+zcfODD5OthDu6KPfomdKbrdv/W8493BaKG8T0ZiW2t7oZyAWkI1Z3QLx3zztTE59Amd4UFDk= X-Received: by 2002:a17:906:3b47:b0:87a:3b3f:b9da with SMTP id h7-20020a1709063b4700b0087a3b3fb9damr16652471ejf.10.1677529473673; Mon, 27 Feb 2023 12:24:33 -0800 (PST) MIME-Version: 1.0 References: <20230224182849.426345-1-quinkblack@foxmail.com> In-Reply-To: From: =?UTF-8?B?SmFuIEVrc3Ryw7Zt?= Date: Mon, 27 Feb 2023 22:24:21 +0200 Message-ID: To: FFmpeg development discussions and patches Subject: Re: [FFmpeg-devel] [PATCH v2 1/8] avformat/movenc: add PCM in mp4 support 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 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: T24gRnJpLCBGZWIgMjQsIDIwMjMgYXQgODoyOSBQTSBaaGFvIFpoaWxpIDxxdWlua2JsYWNrQGZv eG1haWwuY29tPiB3cm90ZToKPgo+IEZyb206IFpoYW8gWmhpbGkgPHpoaWxpemhhb0B0ZW5jZW50 LmNvbT4KPgo+IEl0J3MgZGVmaW5lZCBieSBJU08vSUVDIDIzMDAzLTUuCj4KPiBGaXhlcyB0aWNr ZXQgIzEwMTg1Cj4KPiBTaWduZWQtb2ZmLWJ5OiBaaGFvIFpoaWxpIDx6aGlsaXpoYW9AdGVuY2Vu dC5jb20+CgpUZWNobmljYWxseSBpZiB5b3Ugd2FudGVkIHRvIHNwbGl0IHRoZXNlIGNvbW1pdHMs IHRoZW4gdGhpcwppbXBsZW1lbnRhdGlvbiB3b3VsZCBoYXZlIHRvIGJlIGxpbWl0ZWQgdG8gb25l IGF1ZGlvIGNoYW5uZWwgc3RyZWFtcywKYXMgMjMwMDMtNToyMDIwCnNheXMgYXMgZm9sbG93czoK Ci0gVGhlIENoYW5uZWxMYXlvdXQgYXMgZGVmaW5lZCBpbiBJU08vSUVDIDE0NDk2LTEyIGlzIG1h bmRhdG9yeSBpZiB0aGUKUENNIGNoYW5uZWwgY291bnQgaXMgbGFyZ2VyIHRoYW4gb25lLgoKPiAt LS0KPiAgbGliYXZmb3JtYXQvbW92ZW5jLmMgfCA2MCArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLQo+ICAxIGZpbGUgY2hhbmdlZCwgNTkgaW5zZXJ0aW9ucygrKSwg MSBkZWxldGlvbigtKQo+Cj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L21vdmVuYy5jIGIvbGli YXZmb3JtYXQvbW92ZW5jLmMKPiBpbmRleCBjNGZjYjVmOGIxLi4zMzE1MDU3Yjg4IDEwMDY0NAo+ IC0tLSBhL2xpYmF2Zm9ybWF0L21vdmVuYy5jCj4gKysrIGIvbGliYXZmb3JtYXQvbW92ZW5jLmMK PiBAQCAtMTE3OSw2ICsxMTc5LDQ3IEBAIHN0YXRpYyBpbnQgbW92X3dyaXRlX2J0cnRfdGFnKEFW SU9Db250ZXh0ICpwYiwgTU9WVHJhY2sgKnRyYWNrKQo+ICAgICAgcmV0dXJuIHVwZGF0ZV9zaXpl KHBiLCBwb3MpOwo+ICB9Cj4KPiArc3RhdGljIGludCBpc19tcDRfcGNtX2NvZGVjKGVudW0gQVZD b2RlY0lEIGNvZGVjKQo+ICt7Cj4gKyAgICBzd2l0Y2ggKGNvZGVjKSB7Cj4gKyAgICBjYXNlIEFW X0NPREVDX0lEX1BDTV9TMTZCRToKPiArICAgIGNhc2UgQVZfQ09ERUNfSURfUENNX1MxNkxFOgo+ ICsgICAgY2FzZSBBVl9DT0RFQ19JRF9QQ01fUzI0QkU6Cj4gKyAgICBjYXNlIEFWX0NPREVDX0lE X1BDTV9TMjRMRToKPiArICAgIGNhc2UgQVZfQ09ERUNfSURfUENNX1MzMkJFOgo+ICsgICAgY2Fz ZSBBVl9DT0RFQ19JRF9QQ01fUzMyTEU6Cj4gKwo+ICsgICAgY2FzZSBBVl9DT0RFQ19JRF9QQ01f RjMyQkU6Cj4gKyAgICBjYXNlIEFWX0NPREVDX0lEX1BDTV9GMzJMRToKPiArICAgIGNhc2UgQVZf Q09ERUNfSURfUENNX0Y2NEJFOgo+ICsgICAgY2FzZSBBVl9DT0RFQ19JRF9QQ01fRjY0TEU6Cj4g KyAgICAgICAgcmV0dXJuIDE7Cj4gKyAgICBkZWZhdWx0Ogo+ICsgICAgICAgIHJldHVybiAwOwo+ ICsgICAgfQo+ICt9CgpUaGlzIHNob3VsZCBiZSB1bm5lY2Vzc2FyeSBpZiB0aGUgY2hlY2sgaXMg c3dpdGNoZWQgdG8gdGhlIGNvZGVjX3RhZ3MKaW4gbW92X3dyaXRlX2F1ZGlvX3RhZy4KCj4gKwo+ ICtzdGF0aWMgaW50IG1vdl93cml0ZV9wY21jX3RhZyhBVkZvcm1hdENvbnRleHQgKnMsIEFWSU9D b250ZXh0ICpwYiwgTU9WVHJhY2sgKnRyYWNrKQo+ICt7Cj4gKyAgICBpbnQ2NF90IHBvcyA9IGF2 aW9fdGVsbChwYik7Cj4gKyAgICBpbnQgZm9ybWF0X2ZsYWdzOwo+ICsKPiArICAgIGF2aW9fd2Iz MihwYiwgMCk7IC8qIHNpemUgKi8KPiArICAgIGZmaW9fd2ZvdXJjYyhwYiwgInBjbUMiKTsKPiAr ICAgIGF2aW9fd2IzMihwYiwgMCk7IC8qIHZlcnNpb24gJiBmbGFncyAqLwo+ICsKPiArICAgIC8q IDB4MDE6IGluZGljYXRlcyBsaXR0bGUtZW5kaWFuIGZvcm1hdCAqLwo+ICsgICAgZm9ybWF0X2Zs YWdzID0gKHRyYWNrLT5wYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1BDTV9GMzJMRSB8fAo+ ICsgICAgICAgICAgICAgICAgICAgIHRyYWNrLT5wYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lE X1BDTV9GNjRMRSB8fAo+ICsgICAgICAgICAgICAgICAgICAgIHRyYWNrLT5wYXItPmNvZGVjX2lk ID09IEFWX0NPREVDX0lEX1BDTV9TMTZMRSB8fAo+ICsgICAgICAgICAgICAgICAgICAgIHRyYWNr LT5wYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1BDTV9TMjRMRSB8fAo+ICsgICAgICAgICAg ICAgICAgICAgIHRyYWNrLT5wYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1BDTV9TMzJMRSk7 Cj4gKyAgICBhdmlvX3c4KHBiLCBmb3JtYXRfZmxhZ3MpOwo+ICsgICAgYXZpb193OChwYiwgdHJh Y2stPnBhci0+Yml0c19wZXJfcmF3X3NhbXBsZSk7Cj4gKwo+ICsgICAgcmV0dXJuIHVwZGF0ZV9z aXplKHBiLCBwb3MpOwo+ICt9CgpHZW5lcmFsbHkgbG9va3MgZ29vZC4gSSB1dGlsaXplZCBhdl9n ZXRfZXhhY3RfYml0c19wZXJfc2FtcGxlLCBidXQKc2luY2UgbW92X3dyaXRlX2F1ZGlvX3RhZyBh bHNvIHdyaXRlcyBkb3duIGJpdHNfcGVyX3Jhd19zYW1wbGUsIHNvIEkKdGhpbmsgYmVpbmcgY29u c2lzdGVudCBzaG91bGQgYmUgT0sgOikKCj4gKwo+ICBzdGF0aWMgaW50IG1vdl93cml0ZV9hdWRp b190YWcoQVZGb3JtYXRDb250ZXh0ICpzLCBBVklPQ29udGV4dCAqcGIsIE1PVk11eENvbnRleHQg Km1vdiwgTU9WVHJhY2sgKnRyYWNrKQo+ICB7Cj4gICAgICBpbnQ2NF90IHBvcyA9IGF2aW9fdGVs bChwYik7Cj4gQEAgLTEyNDMsNyArMTI4NCw4IEBAIHN0YXRpYyBpbnQgbW92X3dyaXRlX2F1ZGlv X3RhZyhBVkZvcm1hdENvbnRleHQgKnMsIEFWSU9Db250ZXh0ICpwYiwgTU9WTXV4Q29udGV4Cj4g ICAgICAgICAgfSBlbHNlIHsgLyogcmVzZXJ2ZWQgZm9yIG1wNC8zZ3AgKi8KPiAgICAgICAgICAg ICAgYXZpb193YjE2KHBiLCB0cmFjay0+cGFyLT5jaF9sYXlvdXQubmJfY2hhbm5lbHMpOwo+ICAg ICAgICAgICAgICBpZiAodHJhY2stPnBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfRkxBQyB8 fAo+IC0gICAgICAgICAgICAgICAgdHJhY2stPnBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURf QUxBQykgewo+ICsgICAgICAgICAgICAgICAgdHJhY2stPnBhci0+Y29kZWNfaWQgPT0gQVZfQ09E RUNfSURfQUxBQyB8fAo+ICsgICAgICAgICAgICAgICAgaXNfbXA0X3BjbV9jb2RlYyh0cmFjay0+ cGFyLT5jb2RlY19pZCkpIHsKCkkga25vdyB3aHkgeW91IHRoaW5rIHlvdSBzaG91bGQgYmUgZG9p bmcgdGhpcywgYnV0OgoKMS4gMTQ0OTYtMTI6MjAyMiBzdGlsbCBkZWZpbmVzIEF1ZGlvU2FtcGxl RW50cnk6OnNhbXBsZXNpemUgYXMKInRlbXBsYXRlIHVuc2lnbmVkIGludCgxNikgc2FtcGxlc2l6 ZSA9IDE2OyIsIHNvIElTT0JNRkYgaXRzZWxmIG9ubHkKbGV0cyB5b3Ugc2V0IDE2IGhlcmUuCjIu ICAyMzAwMy01OjIwMjAgZG9lcyBub3QgYWxsb3cgb3RoZXIgdmFsdWVzIHRvIGJlIHdyaXR0ZW4g KHRoZQpkb3duc3RyZWFtIHNwZWMgc2hvdWxkIGV4cGxpY2l0bHkgYWxsb3cgd3JpdGluZyBvZiBu b24tdGVtcGxhdGUKdmFsdWVzKS4gVGhpcyBpcyBwcm9iYWJseSBiZWNhdXNlIHBjbUMgaXRzZWxm IGNvbnRhaW5zIFBDTV9zYW1wbGVfc2l6ZQpmb3IgdGhpcyBzYW1lIHVzZS4KClNvIHdyaXRpbmcg c2FtcGxlc2l6ZSBoZXJlIGlzIHRlY2huaWNhbGx5IGluY29ycmVjdCwgZXZlbiB0aG91Z2ggSQpr bm93IHRoYXQgbW9zdCBsaWtlbHkgc29tZSBpbXBsZW1lbnRhdGlvbnMgZG8gdGhpcyAodGVjaG5p Y2FsbHkKYWdhaW5zdCB0aGVzZSBzcGVjcykuCgpXaHkgY2hhbm5lbGNvdW50IHdhcyBtYWRlIG5v bi10ZW1wbGF0ZSB5ZXQgc2FtcGxlc2l6ZSB3YXMgbm90PyBBIHZlcnkKZ29vZCBxdWVzdGlvbi4g TW9zdCBsaWtlbHkgdGhlIGNoYW5uZWwgbGF5b3V0IHYxIGFuZCBEUkMgYm94ZXMnCmNoYW5nZXMg c3RhcnRlZCByZXF1aXJpbmcgdGhlIGZvcm1lciwgYnV0IG5vdCB0aGUgbGF0dGVyPwoKPiAgICAg ICAgICAgICAgICAgIGF2aW9fd2IxNihwYiwgdHJhY2stPnBhci0+Yml0c19wZXJfcmF3X3NhbXBs ZSk7Cj4gICAgICAgICAgICAgIH0gZWxzZSB7Cj4gICAgICAgICAgICAgICAgICBhdmlvX3diMTYo cGIsIDE2KTsKPiBAQCAtMTMwNyw2ICsxMzQ5LDggQEAgc3RhdGljIGludCBtb3Zfd3JpdGVfYXVk aW9fdGFnKEFWRm9ybWF0Q29udGV4dCAqcywgQVZJT0NvbnRleHQgKnBiLCBNT1ZNdXhDb250ZXgK PiAgICAgICAgICByZXQgPSBtb3Zfd3JpdGVfZG1scF90YWcocywgcGIsIHRyYWNrKTsKPiAgICAg IGVsc2UgaWYgKHRyYWNrLT52b3NfbGVuID4gMCkKPiAgICAgICAgICByZXQgPSBtb3Zfd3JpdGVf Z2xibF90YWcocGIsIHRyYWNrKTsKPiArICAgIGVsc2UgaWYgKHRyYWNrLT5tb2RlID09IE1PREVf TVA0ICYmIGlzX21wNF9wY21fY29kZWModHJhY2stPnBhci0+Y29kZWNfaWQpKQo+ICsgICAgICAg IHJldCA9IG1vdl93cml0ZV9wY21jX3RhZyhzLCBwYiwgdHJhY2spOwoKSXQgd291bGQgc2VlbSB0 aGF0IHRoZSBnZW5lcmljIHZvc19kYXRhIGV4dHJhZGF0YSB3cml0aW5nIHNob3VsZCBiZQp0aGUg bGFzdCBlbHNlIGlmIGluIHRoaXMgbG9naWM/IENvdWxkIGJlIHVubmVjZXNzYXJ5IGNhcmdvIGN1 bHRpbmcsCmJ1dCBhdCBsZWFzdCBzbyBmYXIgYWxsIG5ldyBjb2RlYyBoYW5kbGluZyB3ZW50IGJl Zm9yZSBpdD8KClBlcnNvbmFsbHkgSSB3b3VsZCBoYXZlIGp1c3QgYmFzZWQgdGhpcyBjaGVjayBv biB0aGUgY29kZWMgdGFnLCBhIGxhCgplbHNlIGlmICh0YWcgPT0gTU9WX01QNF9JUENNX1RBRyB8 fCB0YWcgPT0gTU9WX01QNF9GUENNX1RBRykKICAgIC8vIHBjbUMgaXMgcmVxdWlyZWQgZm9yIHRo ZXNlIHRhZ3MgYXMgcGVyIElTTy9JRUMgMjMwMDMtNQogICAgcmV0ID0gbW92X3dyaXRlX3BjbWNf dGFnKHMsIHBiLCB0cmFjayk7CgpBcyB0aGF0IG1hdGNoZXMgdGhlIHNwZWNpZmljYXRpb24ncyBu b3RlOgoKLSBNYW5kYXRvcnk6IFllcywgaWYgY29kaW5nbmFtZSBvZiBTYW1wbGVFbnRyeSBpcyDi gJhpcGNt4oCZIG9yIOKAmGZwY23igJkuCgpUaGUgY29kZWMgdGFncyBhcmUgYWxzbyBvbmx5IGRl ZmluZWQgaW4gY29kZWNfbXA0X3RhZ3MsIHNvIHRoZXkgd291bGQKb25seSBnZXQgdXRpbGl6ZWQg aW4gTVA0IGFuZCBvdGhlciBmb3JtYXRzIHdoaWNoIHN1cHBvc2VkbHkgc3VwcG9ydApNUDQgZm9y bWF0cyAoSVNNViwgUFNQKSwgc28gbm8gYWRkaXRpb25hbCBjaGVjayBmb3IgdGhhdCBzaG91bGQg YmUKcmVxdWlyZWQuCgpUaGV5IGFscmVhZHkgY29udGFpbiBzdHVmZiBzdWNoIGFzIEFWX0NPREVD X0lEX01QRUdIXzNEX0FVRElPLCBzbyBJCndvdWxkbid0IGNvbnNpZGVyIHRoaXMgYSBwcm9ibGVt IDopIC4gTW9zdGx5IGluIHRoZSBzZW5zZSB0aGF0IGlmIGEKbW9yZSBsaW1pdGVkIHNldCBvZiBj b2RlY3MgaXMgd2FudGVkIGZvciBJU01WL1BTUCwgdGhlbiB0aGV5IHNob3VsZApyZWNlaXZlIHRo ZWlyIG93biBtb3JlIGxpbWl0ZWQgbGlzdGluZ3MgYW5kIG5vdCBzaGFyZSB0aGUgbXA0IHRhZwps aXN0aW5nIDopIC4KCklmIHlvdSB3b25kZXIgaG93IG11Y2ggdGhlIGNvZGVjIHRhZyBsaXN0aW5n IGdpdmVzIHlvdSBmcmVlZG9tcywgeW91CmNhbiBjaGVjayB0aGUgbG9naWMgaW4gbGliYXZmb3Jt YXQvbXV4LmM6OnZhbGlkYXRlX2NvZGVjX3RhZy4KCj4KPiAgICAgIGlmIChyZXQgPCAwKQo+ICAg ICAgICAgIHJldHVybiByZXQ7Cj4gQEAgLTc3NDQsNiArNzc4OCwyMCBAQCBzdGF0aWMgY29uc3Qg QVZDb2RlY1RhZyBjb2RlY19tcDRfdGFnc1tdID0gewo+ICAgICAgeyBBVl9DT0RFQ19JRF9NUEVH SF8zRF9BVURJTywgIE1LVEFHKCdtJywgJ2gnLCAnbScsICcxJykgfSwKPiAgICAgIHsgQVZfQ09E RUNfSURfVFRNTCwgICAgICAgICAgICBNT1ZfTVA0X1RUTUxfVEFHICAgICAgICAgIH0sCj4gICAg ICB7IEFWX0NPREVDX0lEX1RUTUwsICAgICAgICAgICAgTU9WX0lTTVZfVFRNTF9UQUcgICAgICAg ICB9LAo+ICsKPiArICAgIC8qIElTTy9JRUMgMjMwMDMtNSBpbnRlZ2VyIGZvcm1hdHMgKi8KPiAr ICAgIHsgQVZfQ09ERUNfSURfUENNX1MxNkJFLCAgICAgICBNS1RBRygnaScsICdwJywgJ2MnLCAn bScpIH0sCj4gKyAgICB7IEFWX0NPREVDX0lEX1BDTV9TMTZMRSwgICAgICAgTUtUQUcoJ2knLCAn cCcsICdjJywgJ20nKSB9LAo+ICsgICAgeyBBVl9DT0RFQ19JRF9QQ01fUzI0QkUsICAgICAgIE1L VEFHKCdpJywgJ3AnLCAnYycsICdtJykgfSwKPiArICAgIHsgQVZfQ09ERUNfSURfUENNX1MyNExF LCAgICAgICBNS1RBRygnaScsICdwJywgJ2MnLCAnbScpIH0sCj4gKyAgICB7IEFWX0NPREVDX0lE X1BDTV9TMzJCRSwgICAgICAgTUtUQUcoJ2knLCAncCcsICdjJywgJ20nKSB9LAo+ICsgICAgeyBB Vl9DT0RFQ19JRF9QQ01fUzMyTEUsICAgICAgIE1LVEFHKCdpJywgJ3AnLCAnYycsICdtJykgfSwK PiArICAgIC8qIElTTy9JRUMgMjMwMDMtNSBmbG9hdGluZy1wb2ludCBmb3JtYXRzICovCj4gKyAg ICB7IEFWX0NPREVDX0lEX1BDTV9GMzJCRSwgICAgICAgTUtUQUcoJ2YnLCAncCcsICdjJywgJ20n KSB9LAo+ICsgICAgeyBBVl9DT0RFQ19JRF9QQ01fRjMyTEUsICAgICAgIE1LVEFHKCdmJywgJ3An LCAnYycsICdtJykgfSwKPiArICAgIHsgQVZfQ09ERUNfSURfUENNX0Y2NEJFLCAgICAgICBNS1RB RygnZicsICdwJywgJ2MnLCAnbScpIH0sCj4gKyAgICB7IEFWX0NPREVDX0lEX1BDTV9GNjRMRSwg ICAgICAgTUtUQUcoJ2YnLCAncCcsICdjJywgJ20nKSB9LAo+ICsKClRoaXMgbGlzdGluZyBzZWVt cyBhbHJpZ2h0LiBQZXJzb25hbGx5IEkgYWRkZWQgYSBkZWZpbmUgZm9yIHRoZXNlIHR3bwppZGVu dGlmaWVycywgYnV0IGVpdGhlciBpcyBmaW5lLgoKPiAgICAgIHsgQVZfQ09ERUNfSURfTk9ORSwg ICAgICAgICAgICAgICAwIH0sCj4gIH07Cj4gICNpZiBDT05GSUdfTVA0X01VWEVSIHx8IENPTkZJ R19QU1BfTVVYRVIKPiAtLQo+IDIuMzQuMQo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPiBmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZmZtcGVn LWRldmVsQGZmbXBlZy5vcmcKPiBodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9m Zm1wZWctZGV2ZWwKPgo+IFRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFp bAo+IGZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNj cmliZSIuCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZm bXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9m Zm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwg dmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9y ZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K