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 AB9B343754 for ; Mon, 27 Jun 2022 07:12:48 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D8A0068B8B2; Mon, 27 Jun 2022 10:12:45 +0300 (EEST) Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D7D2868B5A4 for ; Mon, 27 Jun 2022 10:12:39 +0300 (EEST) Received: by mail-wr1-f46.google.com with SMTP id n1so11596760wrg.12 for ; Mon, 27 Jun 2022 00:12:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :content-transfer-encoding; bh=T58xiibV8oHElhHw2Y+i/e0fp5+S74lMq1n3sdkzaKM=; b=GqB0B9+4hR3bcFpwdaVNAuUn5aKe/HIPuTLK/gxKkkzDVwRN0Po5fh98fzciV8zA0a 4U5VEAhxjhY7RP+S13lPIpNQLN++HxG9CRTrPAskel49Wyj9+nTrP5W0/CIcsY3dr39j a2ChTXRjPYjB57WUgVjo/QwC9gOE3Dh41HY3GqAJoKfBOwk6wGZiIitLSNUhQEb7cwWl iFqShAJu+p0qWeJ9QJFnvXRAPwblbjodM3Bbc+MBB1b3fyO/nJn+6N/ImG8wv97khmhg gpeBRkONhaTq8QUzJWNSFV+GIaWw/0dLBnjbDjNg5m3jg7eZunqD146x9Fm2bbK+A/WO KDKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:content-transfer-encoding; bh=T58xiibV8oHElhHw2Y+i/e0fp5+S74lMq1n3sdkzaKM=; b=5vTvEuwZjmwlQDuKEVIISA6c3tHtDO2Xw5IyQS2GssAGQtj55UjTF/Jra6xqF7Hyzg X4fMZ2D3hK9byOPapcWBYt53LF/GkWqB4ImCe0lGFRZgfMdl7RxOVP/6rXdBG++BjD2N YT7zrxO0UbUANiMPL3lPuLSgGYAtsZJZSdyG2XdDdoYOj7jMyfv4hbOfm7lfdrcnkiU7 UhNgpXr5XkilBdJnf50WQrRnf1V0XjEKq/NnioQx8zVcXdltO9+A0gbOOp1fz3SQz/7/ XY//HKKwGpBBmIhNppyGaAixE5Kn2lIoySjNhEq3RncdT7UUI0XAu8hP4yFLCppvVAzP k4zg== X-Gm-Message-State: AJIora9Uropzb6jFr0dfG5pMinSs90Dvmeao3hjVUVsgYuNWVCAEebbv wAAgIoj3j+8kONhoXpOqAmodUqXRpmF2VTnloUSxdnFAEAA= X-Google-Smtp-Source: AGRyM1vqxyq9zso5ShlFrjF261VQTWYwT2pGiZ7g9bwEeD79LO77QaMPT0LOA2xQWiorfSGZhfms45hkvNnz2ccwgx8= X-Received: by 2002:a05:6000:1547:b0:21b:a2e2:6151 with SMTP id 7-20020a056000154700b0021ba2e26151mr10767753wry.481.1656313959236; Mon, 27 Jun 2022 00:12:39 -0700 (PDT) MIME-Version: 1.0 References: <20220623072408.38977-1-jeebjp@gmail.com> <20220623072408.38977-6-jeebjp@gmail.com> In-Reply-To: From: =?UTF-8?B?SmFuIEVrc3Ryw7Zt?= Date: Mon, 27 Jun 2022 10:12:26 +0300 Message-ID: To: FFmpeg development discussions and patches Subject: Re: [FFmpeg-devel] [PATCH v4 5/7] avformat/movenc: utilize existing AC-3 parsing workflow for AC-3 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: T24gVGh1LCBKdW4gMjMsIDIwMjIgYXQgMToxMSBQTSBKYW4gRWtzdHLDtm0gPGplZWJqcEBnbWFp bC5jb20+IHdyb3RlOgo+Cj4gT24gVGh1LCBKdW4gMjMsIDIwMjIgYXQgMTE6NTcgQU0gQW5kcmVh cyBSaGVpbmhhcmR0Cj4gPGFuZHJlYXMucmhlaW5oYXJkdEBvdXRsb29rLmNvbT4gd3JvdGU6Cj4g Pgo+ID4gSmFuIEVrc3Ryw7ZtOgo+ID4gPiBGcm9tOiBKYW4gRWtzdHLDtm0gPGphbi5la3N0cm9t QDI0aS5jb20+Cj4gPiA+Cj4gPiA+IFNpZ25lZC1vZmYtYnk6IEphbiBFa3N0csO2bSA8amFuLmVr c3Ryb21AMjRpLmNvbT4KPiA+ID4gLS0tCj4gPiA+ICBsaWJhdmNvZGVjL01ha2VmaWxlICAgICAg ICAgICB8ICAxICsKPiA+ID4gIGxpYmF2Zm9ybWF0L01ha2VmaWxlICAgICAgICAgIHwgIDEgKwo+ ID4gPiAgbGliYXZmb3JtYXQvYWMzX2JpdHJhdGVfdGFiLmMgfCAyMiArKysrKysrKysrKysrKwo+ ID4gPiAgbGliYXZmb3JtYXQvbW92ZW5jLmMgICAgICAgICAgfCA1NSArKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gPiAgNCBmaWxlcyBjaGFuZ2VkLCA1MSBpbnNlcnRpb25z KCspLCAyOCBkZWxldGlvbnMoLSkKPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJhdmZvcm1h dC9hYzNfYml0cmF0ZV90YWIuYwo+ID4gPgo+ID4gPiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9N YWtlZmlsZSBiL2xpYmF2Y29kZWMvTWFrZWZpbGUKPiA+ID4gaW5kZXggMTA2OTdkMzFmNy4uN2Uw ZDI3OGUzZCAxMDA2NDQKPiA+ID4gLS0tIGEvbGliYXZjb2RlYy9NYWtlZmlsZQo+ID4gPiArKysg Yi9saWJhdmNvZGVjL01ha2VmaWxlCj4gPiA+IEBAIC0xMDE4LDYgKzEwMTgsNyBAQCBTVExJQk9C SlMtJChDT05GSUdfRkxWX01VWEVSKSAgICAgICAgICArPSBtcGVnNGF1ZGlvX3NhbXBsZV9yYXRl cy5vCj4gPiA+ICBTVExJQk9CSlMtJChDT05GSUdfSExTX0RFTVVYRVIpICAgICAgICArPSBhYzNf Y2hhbm5lbF9sYXlvdXRfdGFiLm8KPiA+ID4gIFNUTElCT0JKUy0kKENPTkZJR19NQVRST1NLQV9E RU1VWEVSKSAgICs9IG1wZWc0YXVkaW9fc2FtcGxlX3JhdGVzLm8KPiA+ID4gIFNUTElCT0JKUy0k KENPTkZJR19NT1ZfREVNVVhFUikgICAgICAgICs9IGFjM19jaGFubmVsX2xheW91dF90YWIubwo+ ID4gPiArU1RMSUJPQkpTLSQoQ09ORklHX01PVl9NVVhFUikgICAgICAgICAgKz0gYWMzX2JpdHJh dGVfdGFiLm8KPiA+ID4gIFNUTElCT0JKUy0kKENPTkZJR19NWEZfTVVYRVIpICAgICAgICAgICs9 IGdvbG9tYi5vCj4gPiA+ICBTVExJQk9CSlMtJChDT05GSUdfTVAzX01VWEVSKSAgICAgICAgICAr PSBtcGVnYXVkaW90YWJzLm8KPiA+ID4gIFNUTElCT0JKUy0kKENPTkZJR19OVVRfTVVYRVIpICAg ICAgICAgICs9IG1wZWdhdWRpb3RhYnMubwo+ID4gPiBkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQv TWFrZWZpbGUgYi9saWJhdmZvcm1hdC9NYWtlZmlsZQo+ID4gPiBpbmRleCAxNDE2YmYzMWJkLi5j NzFkZTk1YjJmIDEwMDY0NAo+ID4gPiAtLS0gYS9saWJhdmZvcm1hdC9NYWtlZmlsZQo+ID4gPiAr KysgYi9saWJhdmZvcm1hdC9NYWtlZmlsZQo+ID4gPiBAQCAtNjk5LDYgKzY5OSw3IEBAIFNITElC T0JKUy0kKENPTkZJR19GTFZfTVVYRVIpICAgICAgICAgICAgKz0gbXBlZzRhdWRpb19zYW1wbGVf cmF0ZXMubwo+ID4gPiAgU0hMSUJPQkpTLSQoQ09ORklHX0hMU19ERU1VWEVSKSAgICAgICAgICAr PSBhYzNfY2hhbm5lbF9sYXlvdXRfdGFiLm8KPiA+ID4gIFNITElCT0JKUy0kKENPTkZJR19NQVRS T1NLQV9ERU1VWEVSKSAgICAgKz0gbXBlZzRhdWRpb19zYW1wbGVfcmF0ZXMubwo+ID4gPiAgU0hM SUJPQkpTLSQoQ09ORklHX01PVl9ERU1VWEVSKSAgICAgICAgICArPSBhYzNfY2hhbm5lbF9sYXlv dXRfdGFiLm8KPiA+ID4gK1NITElCT0JKUy0kKENPTkZJR19NT1ZfTVVYRVIpICAgICAgICAgICAg Kz0gYWMzX2JpdHJhdGVfdGFiLm8KPiA+ID4gIFNITElCT0JKUy0kKENPTkZJR19NUDNfTVVYRVIp ICAgICAgICAgICAgKz0gbXBlZ2F1ZGlvdGFicy5vCj4gPiA+ICBTSExJQk9CSlMtJChDT05GSUdf TVhGX01VWEVSKSAgICAgICAgICAgICs9IGdvbG9tYl90YWIubwo+ID4gPiAgU0hMSUJPQkpTLSQo Q09ORklHX05VVF9NVVhFUikgICAgICAgICAgICArPSBtcGVnYXVkaW90YWJzLm8KPiA+ID4gZGlm ZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2FjM19iaXRyYXRlX3RhYi5jIGIvbGliYXZmb3JtYXQvYWMz X2JpdHJhdGVfdGFiLmMKPiA+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+ID4gaW5kZXggMDAw MDAwMDAwMC4uNTdiNjE4MTUxMQo+ID4gPiAtLS0gL2Rldi9udWxsCj4gPiA+ICsrKyBiL2xpYmF2 Zm9ybWF0L2FjM19iaXRyYXRlX3RhYi5jCj4gPiA+IEBAIC0wLDAgKzEsMjIgQEAKPiA+ID4gKy8q Cj4gPiA+ICsgKiBBQy0zIGJpdCByYXRlIHRhYmxlCj4gPiA+ICsgKiBjb3B5cmlnaHQgKGMpIDIw MDEgRmFicmljZSBCZWxsYXJkCj4gPiA+ICsgKgo+ID4gPiArICogVGhpcyBmaWxlIGlzIHBhcnQg b2YgRkZtcGVnLgo+ID4gPiArICoKPiA+ID4gKyAqIEZGbXBlZyBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiA+ID4gKyAqIG1vZGlmeSBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKPiA+ID4gKyAqIExpY2Vu c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgo+ ID4gPiArICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCj4gPiA+ICsgKgo+ID4gPiArICogRkZtcGVnIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gPiA+ICsgKiBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+ ID4gPiArICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZSBHTlUKPiA+ID4gKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCj4gPiA+ICsgKgo+ID4gPiArICogWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwo+ID4gPiArICog TGljZW5zZSBhbG9uZyB3aXRoIEZGbXBlZzsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0 d2FyZQo+ID4gPiArICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0 aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQo+ID4gPiArICovCj4gPiA+ICsKPiA+ ID4gKyNpbmNsdWRlICJsaWJhdmNvZGVjL2FjM19iaXRyYXRlX3RhYi5oIgo+ID4gPiBkaWZmIC0t Z2l0IGEvbGliYXZmb3JtYXQvbW92ZW5jLmMgYi9saWJhdmZvcm1hdC9tb3ZlbmMuYwo+ID4gPiBp bmRleCAxMDNmOTU4ZDc1Li5hMDcxZjFjZGQ1IDEwMDY0NAo+ID4gPiAtLS0gYS9saWJhdmZvcm1h dC9tb3ZlbmMuYwo+ID4gPiArKysgYi9saWJhdmZvcm1hdC9tb3ZlbmMuYwo+ID4gPiBAQCAtMzYs NiArMzYsNyBAQAo+ID4gPiAgI2luY2x1ZGUgImF2MS5oIgo+ID4gPiAgI2luY2x1ZGUgImF2Yy5o Igo+ID4gPiAgI2luY2x1ZGUgImxpYmF2Y29kZWMvYWMzX3BhcnNlcl9pbnRlcm5hbC5oIgo+ID4g PiArI2luY2x1ZGUgImxpYmF2Y29kZWMvYWMzdGFiLmgiCj4gPiA+ICAjaW5jbHVkZSAibGliYXZj b2RlYy9kbnhoZGRhdGEuaCIKPiA+ID4gICNpbmNsdWRlICJsaWJhdmNvZGVjL2ZsYWMuaCIKPiA+ ID4gICNpbmNsdWRlICJsaWJhdmNvZGVjL2dldF9iaXRzLmgiCj4gPiA+IEBAIC0zNjIsNDQgKzM2 Myw0MiBAQCBzdHJ1Y3QgZWFjM19pbmZvIHsKPiA+ID4KPiA+ID4gIHN0YXRpYyBpbnQgbW92X3dy aXRlX2FjM190YWcoQVZGb3JtYXRDb250ZXh0ICpzLCBBVklPQ29udGV4dCAqcGIsIE1PVlRyYWNr ICp0cmFjaykKPiA+ID4gIHsKPiA+ID4gLSAgICBHZXRCaXRDb250ZXh0IGdiYzsKPiA+ID4gKyAg ICBzdHJ1Y3QgZWFjM19pbmZvICppbmZvID0gdHJhY2stPmVhYzNfcHJpdjsKPiA+ID4gKyAgICBp bnQ4X3QgYWMzX2JpdF9yYXRlX2NvZGUgPSAtMTsKPiA+ID4gICAgICBQdXRCaXRDb250ZXh0IHBi YzsKPiA+ID4gICAgICB1aW50OF90IGJ1ZlszXTsKPiA+ID4gLSAgICBpbnQgZnNjb2QsIGJzaWQs IGJzbW9kLCBhY21vZCwgbGZlb24sIGZybXNpemVjb2Q7Cj4gPiA+Cj4gPiA+IC0gICAgaWYgKHRy YWNrLT52b3NfbGVuIDwgNykgewo+ID4gPiArICAgIGlmICghaW5mbyB8fCAhaW5mby0+ZWMzX2Rv bmUpIHsKPiA+ID4gICAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19FUlJPUiwKPiA+ID4gICAgICAg ICAgICAgICAgICJDYW5ub3Qgd3JpdGUgbW9vdiBhdG9tIGJlZm9yZSBBQzMgcGFja2V0cy4iCj4g PiA+ICAgICAgICAgICAgICAgICAiIFNldCB0aGUgZGVsYXlfbW9vdiBmbGFnIHRvIGZpeCB0aGlz LlxuIik7Cj4gPiA+ICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7Cj4gPiA+ICAgICAg fQo+ID4gPgo+ID4gPiAtICAgIGF2aW9fd2IzMihwYiwgMTEpOwo+ID4gPiAtICAgIGZmaW9fd2Zv dXJjYyhwYiwgImRhYzMiKTsKPiA+ID4gKyAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8 IEZGX0FSUkFZX0VMRU1TKGZmX2FjM19iaXRyYXRlX3RhYik7IGkrKykgewo+ID4gPiArICAgICAg ICBpZiAoaW5mby0+ZGF0YV9yYXRlID09IGZmX2FjM19iaXRyYXRlX3RhYltpXSkgewo+ID4gPiAr ICAgICAgICAgICAgYWMzX2JpdF9yYXRlX2NvZGUgPSBpOwo+ID4gPiArICAgICAgICAgICAgYnJl YWs7Cj4gPiA+ICsgICAgICAgIH0KPiA+ID4gKyAgICB9Cj4gPgo+ID4gV2h5IGRvbid0IHlvdSBq dXN0IGV4cG9ydCB0aGUgYml0IHJhdGUgY29kZSBpbnN0ZWFkIG9mIHJlZGVyaXZpbmcgaXQ/Cj4g PiBUaGlzIHNob3VsZCBiZSBlYXN5IG5vdyB0aGF0IHlvdSBpbnRlbmQgdG8gZGlzYWxsb3cgQUMt MyBmcmFtZXMgd2l0aAo+ID4gYnNpZCA+IDguCj4gPgo+Cj4gT3RoZXIgcmVhc29ucyBmb3Igd2h5 IEkgb3JpZ2luYWxseSBzd2l0Y2hlZCB0byB0aGlzIG1ldGhvZCBhcmU6Cj4KPiAxLiBUaGUgZmly c3QgY29tbWVudCBJIGdvdCBvbiBJUkMgZnJvbSBBbnRvbiB3aGVuIHJlcXVlc3RpbmcgZm9yCj4g Y29tbWVudHMgb24gdGhlIHNldCB3YXMgIndoeSBkb24ndCB5b3UgbWFrZSBpdCAodGhlIGhlYWRl ciBwYXJzaW5nKQo+IHByb3Blcmx5IHB1YmxpYz8iLiBNeSBpbnRlbnQgaXMgdG8gZml4IGEgYnVn IGluIHdyaXRpbmcgdGhlIEFDLTMgYm94Cj4gd2l0aCBpbnB1dHMgd2hlcmUgdGhlIHJlYWQgZGF0 YSBkb2VzIG5vdCBzdGFydCB3aXRoIGFuIEFDLTMgc3RhcnQgY29kZQo+IChzdWNoIGFzIE1QRUct VFMgc3RyZWFtcyB0aGF0IGZvciBzb21lIHJlYXNvbiBkZWNpZGUgdG8gbXV4IEFDLTMgaW4gYQo+ IG1hbm5lciB3aGVyZSBQRVMgcGFja2V0cyBkbyBub3Qgc3RhcnQgd2l0aCB0aGUgc3RhcnQgb2Yg YSBwYWNrZXQpLCBub3QKPiBtYWtlIHN1Y2ggZGVjaXNpb25zL2NoYW5nZXMuCj4gMi4gVGhlIHZh bHVlIGl0c2VsZiBpcyBvZiBsaW1pdGVkIHZhbHVlIHRvIG90aGVyIHVzZXMgb2YgaGVhZGVyCj4g cGFyc2luZy4gRS1BQy0zIGZvciBleGFtcGxlIGp1c3QgdXRpbGl6ZXMgdGhlIGludGVycHJldGVk IHZhbHVlLgo+IDMuIE5vIHJlcXVpcmVtZW50IHRvIHRoaW5rIGFib3V0IGFkZGl0aW9uYWwgbGli cmFyeSBtaXNtYXRjaGVzIHNpbmNlCj4gYm90aCBsaWJyYXJpZXMgd2lsbCBoYXZlIHRoZWlyIG93 biB0YWJsZSBpbiB0aGVzZSB2ZXJzaW9ucy4gTm90IGxpa2UKPiB3ZSBzdXBwb3J0IHN1Y2ggbWlz bWF0Y2hlcywgYnV0IG5vdCBjb21pbmcgdXAgd2l0aCBuZXcgc3BvdHMgd2hlcmUgaXQKPiBpcyBw b3NzaWJsZSBkaWQgc2VlbSBmYXZvcmFibGUuCj4KPiBJbiBvdGhlciB3b3Jkcywgbm90IGV4dGVu ZGluZyB0aGUgZXhpc3RpbmcgYXZwcml2IHBhcnNpbmcgc2VlbWVkIGxpa2UKPiBhIEdvb2QgSWRl YSBpZiB5b3UgYXR0ZW1wdCB0byBvcHRpbWl6ZSBmb3IgImxlc3MgcG9zc2liaWxpdGllcyBmb3IK PiBhZC1ob2MgcmVxdWVzdHMiLCBhbmQgInBvc3NpYmx5IHNhZmVyIi4gTXkgcGxhbiB3YXMgdG8g Z2V0IGluaXRpYWwgZml4Cj4gb24gdGhpcyBzaWRlIGRvbmUgYW5kIG1lcmdlZCwgYW5kIHRoZW4g bW92ZSBvbnRvIGltcHJvdmluZyB0aGUgcGFyc2VyCj4gZnJhbWV3b3JrIHRvIGZsYWcgcGFja2V0 cyB0aGF0IGNsZWFybHkgYXJlIG5vdCBwcm9wZXIgaW4gc29tZSBtYW5uZXIgLQo+IGFzIGN1cnJl bnRseSBpdCBzZWVtcyBsaWtlIHRoZSBBUEkgdXNlciBoYXMgbm8gd2F5IG9mIGtub3dpbmcgd2hl dGhlcgo+IHRoZSBidWZmZXIgdGhleSByZWNlaXZlZCBmcm9tIGEgcGFyc2VyIGlzIGFuIGFjdHVh bCB1c2FibGUvInZhbGlkCj4gbG9va2luZyIgcGFja2V0IG9yIG5vdCwgYXMgYXBwYXJlbnRseSBl dmVyeXRoaW5nIGlzIHN1cHBvc2VkIHRvIGJlCj4gcmV0dXJuZWQgdGhhdCB0aGUgQVBJIHVzZXIg cHVzaGVzIGluLCBqdXN0IHNwbGl0IGludG8gYmxvY2tzLgo+Cj4gQW55d2F5cywgaWYgeW91IGNs ZWFybHkgcHJlZmVyIHRoZSBleHRlbnNpb24gb2YgdGhlIGF2cHJpdiBzdHVmZiwgdGhlbgo+IHBs ZWFzZSBjaGVjayBpZiB0aGUgb3JpZ2luYWwgdjEgcGx1cyB0aGUgYnNpZCA+IDggbGltaXRpbmcg Y29tbWl0IGZyb20KPiB2NCBhcmUgYWNjZXB0YWJsZSB0byB5b3UuIElmIHllcywgSSBjYW4gdGhl biBhcHBseSB0aGF0IG1peCAtIGZvciBtZQo+IGF0IHRoaXMgcG9pbnQgdGhlIG1haW4gdGhpbmcg aXMgdG8gYmUgYWJsZSB0byBtb3ZlIGZyb20gZ2V0dGluZyB0aGlzCj4gZml4IG9uIHRoZSBtdXhl ciBzaWRlIHVwc3RyZWFtZWQsIGFuZCB0aGVuIHRvIHRoZSBuZXh0IHRoaW5nLgoKVG8gbWFrZSBp dCBtb3JlIGNvbmNyZXRlLCB0aGlzIGlzIGhvdyBpdCB3b3VsZCBsb29rLgoKSSByZWJhc2VkIHYx IG9mIHRoaXMgcGF0Y2ggc2V0IGFuZCBjaGVycnktcGlja2VkIHRoZSBic2lkIGxpbWl0aW5nCnBh dGNoIG9uIHRvcDogaHR0cHM6Ly9naXRodWIuY29tL2plZWIvZmZtcGVnL2NvbW1pdHMvbW92ZW5j X3VzZV9hYzNfcGFyc2VyX2Zvcl9hYzNfdjUKCklzIHRoaXMgd2hhdCB5b3Ugd291bGQgY29uc2lk ZXIgYWNjZXB0YWJsZT8gT2YgY291cnNlIHRoZSBhdnByaXYKZXh0ZW5zaW9uIGNvbW1pdCB3b3Vs ZCBnZXQgYSBtaW5vciB2ZXJzaW9uIGJ1bXAgYWRkZWQgdG8gaXQuCgpKYW4KX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcg bGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9s aXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBv ciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5z dWJzY3JpYmUiLgo=