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 0DEBE44180 for ; Fri, 30 Sep 2022 09:51:10 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 613BF68BB80; Fri, 30 Sep 2022 12:51:07 +0300 (EEST) Received: from out203-205-251-72.mail.qq.com (out203-205-251-72.mail.qq.com [203.205.251.72]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D31A568B5A5 for ; Fri, 30 Sep 2022 12:50:59 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1664531450; bh=FgcpRk/tdgF3JLqmok834aip5wWSX8qcw9N6azlRLyw=; h=From:Subject:Date:In-Reply-To:Cc:To:References; b=QXCgDL6fs1YTpL4nHcoVrZoNClH4h4/Eeiv2DuhjbnryqcEEPuba78zY2KRzWRFdj m01s1LtPZhKwnzWxXOjvlKLXaUv+k6uagPmp15hWrSOiPE1SG64Q4jbxsanJhrq4Fz AzZ5eLyWxXCkxHLjesCo7v3O/rnKD5qFfnC+8Grc= Received: from smtpclient.apple ([103.107.217.227]) by newxmesmtplogicsvrsza35.qq.com (NewEsmtp) with SMTP id C8E11439; Fri, 30 Sep 2022 17:50:14 +0800 X-QQ-mid: xmsmtpt1664531415t36m4qe5f Message-ID: X-QQ-XMAILINFO: N4CzT1PKe+qFiq14Xt0fbBkJEKbcbLoGX4+hpBS38tQ5bM3l3d3P/P5sx1kalu A4Cum/vefzo0nPrGYp86FcKp9oqOnatyJHLbJsHEBZ68fH+rkE5Z886qwwsZruwyzhCl+Mc6uZX/ APPqMaLsd0blCin6MfQEqRkf9oI4Vzc5Fl0HrAwymG7oe5iVIfGL1tu9RWFaBDbqW5UAxG/AiaUP 453WZytTLwDJqmn5GC+8EPkds9HCNCrhrzfHFaLA+ppMR+KyzCtagSHbRWDLiu6wvrXCyqdFWbaj Nx2frz9J6nTAM0va0TLVBUjaQtgQr5CCDMiRqpqFYWw5w8SWaXBUAJE+91+GozCxTg69qf1OVVTx 3RGdg4kXkAxe4nntzuUKDQpMb1gXS/QBppVN4e5k+bIOLBrqRkidgW/sDoGu1NvXwd+t5ZrG/4aA AqNlkwtinKFnBJwHMqQnwZ6coWuA6Wfym23woKpdRMt54RwdIT02NwtBp0QFmbaEu7BgQMu7F7IR ltYnMY1I47dTLA74KGwtC0hi2YQLM/haiEgu6TanOd+C5cRT22iTirTLlTRl3UXZkeCBavdruMdi tPThIzNarbKJIadAl/HCP3ONsb+lC1664r+V25MPmR5vF7UmtFeAzc9wcBCHjEUVHV+lsPc2MVww GgmT+3eYZR3Cf36AyXPtuJxk2qrQqZvJ2917XVVMH1PVzeo/satuWjZ792c7WIanu1WmRO7nG/70 s0sV08GzBB/PScUmcGrOYyLwgX9jTENu/qnnr/I63H88dugFnJWSCBaKwUNATxSzyfBjo5MFSDtA FKacsWDC6PMG4GyE04RmyPkOiFj/He1fX/zkG7N05ZBbwNbTPhQIEIcyJ/SUjV81LQ719JL48p2m nKif+X3xcXzXLsOCcxOiLP8NSMpsrL6+YnYoih0jKc2oT1Zyi1gc9YV252U9lF4NdHk0ryVonTXv htAZ+O7qxq0kJ4aINoGENGIqkVKvvQSg/gkl4XNGtRgdsQ++g/WA== From: wangyaqiang <1035567130@qq.com> X-OQ-MSGID: <5762859A-2F18-46B7-8059-18E2194B70C0@qq.com> Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Date: Fri, 30 Sep 2022 17:50:48 +0800 In-Reply-To: To: FFmpeg development discussions and patches References: X-Mailer: Apple Mail (2.3696.120.41.1.1) X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH] avformat/mov: parse the last moof box when mp4 segment format 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: Derek Buitenhuis 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: Cgo+IDIwMjLlubQ55pyIMjnml6UgMTY6MjnvvIx6aGlsaXpoYW8o6LW15b+X56uLKSA8cXVpbmti bGFja0Bmb3htYWlsLmNvbSA8bWFpbHRvOnF1aW5rYmxhY2tAZm94bWFpbC5jb20+PiDlhpnpgZPv vJoKPiAKPiAKPiAKPj4gT24gU2VwIDEsIDIwMjIsIGF0IDE4OjIyLCAxMDM1NTY3MTMwQHFxLmNv bSA8bWFpbHRvOjEwMzU1NjcxMzBAcXEuY29tPiB3cm90ZToKPj4gCj4+IEZyb206IFdhbmcgWWFx aWFuZyA8d2FuZ3lhcWlhbmcwM0BrdWFpc2hvdS5jb20gPG1haWx0bzp3YW5neWFxaWFuZzAzQGt1 YWlzaG91LmNvbT4+Cj4+IAo+PiBJbiB0aGUgZm9ybWF0IG9mIG1wNCBzZWdtZW50LCB0aGUgYml0 cmF0ZSBjYWxjdWxhdGlvbiBvZgo+PiBzdHJlYW0gZGVwZW5kcyBvbiB0aGUgc2FtcGxlX3NpemUg aW4gbW9vZi0+dHJhZi0+dHJ1biBib3guCj4+IEluIHRoZSBvcmlnaW5hbCBsb2dpYywgd2hlbiB0 aGUgbGFzdCBzaWR4IGJveCBpcyByZWFkLAo+PiBpdCBpcyBub3QgcGFyc2VkIGJhY2t3YXJkcywg YW5kIHRoZSB0b3RhbCBzYW1wbGVfc2l6ZSBjYWxjdWxhdGlvbiBpcyBzbWFsbGVyLgo+PiBBcyBh IHJlc3VsdCwgdGhlIGJpdHJhdGUgZGlzcGxheWVkIGJ5IGZmcHJvYmUgaXMgYWxzbyBzbWFsbGVy IHRoYW4gdGhlIGFjdHVhbC4KPj4gSW5jcmVhc2luZyB0aGUgbW9vZl9jb3VudCB2YXJpYWJsZSBl bnN1cmVzIHRoYXQgdGhlIGxhc3QgbW9vZiBpcyBwYXJzZWQuCj4+IAo+PiBUZXN0IG1ldGhvZDog WW91IGNhbiB1c2UgLWMgY29weSByZW11eCBhIGZtcDQgZmlsZSBhcyBtcDQKPj4gYW5kIGZmcHJv YmUgdGhlIHR3byBmaWxlcyB3aWxsIGZpbmQgdGhhdCB0aGUgYml0cmF0ZSBpcyBpbmNvbnNpc3Rl bnQKPj4gQmVmb3IgcGF0Y2g6Cj4+IFN0cmVhbSAjMDoxWzB4Ml0odW5kKTogQXVkaW86IGFhYyAo SEUtQUFDKSAobXA0YSAvIDB4NjEzNDcwNkQpLCA0NDEwMCBIeiwgc3RlcmVvLCBmbHRwLCA1OSBr Yi9zCj4+IEFmdGVyIHBhdGNoOgo+PiBTdHJlYW0gIzA6MVsweDJdKHVuZCk6IEF1ZGlvOiBhYWMg KEhFLUFBQykgKG1wNGEgLyAweDYxMzQ3MDZEKSwgNDQxMDAgSHosIHN0ZXJlbywgZmx0cCwgOTYg a2IvcyAoZGVmYXVsdCkKPj4gCj4+IFNpZ25lZC1vZmYtYnk6IFdhbmcgWWFxaWFuZyA8d2FuZ3lh cWlhbmcwM0BrdWFpc2hvdS5jb20gPG1haWx0bzp3YW5neWFxaWFuZzAzQGt1YWlzaG91LmNvbT4+ Cj4+IC0tLQo+PiBsaWJhdmZvcm1hdC9pc29tLmggfCAxICsKPj4gbGliYXZmb3JtYXQvbW92LmMg IHwgOCArKysrKysrLQo+PiAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQo+PiAKPj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2lzb20uaCBiL2xpYmF2Zm9y bWF0L2lzb20uaAo+PiBpbmRleCBmMDVjMmQ5YzI4Li4xODNhM2M0ODZiIDEwMDY0NAo+PiAtLS0g YS9saWJhdmZvcm1hdC9pc29tLmgKPj4gKysrIGIvbGliYXZmb3JtYXQvaXNvbS5oCj4+IEBAIC0y OTYsNiArMjk2LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgTU9WQ29udGV4dCB7Cj4+ICAgIGludCBoYXNf bG9va2VkX2Zvcl9tZnJhOwo+PiAgICBpbnQgdXNlX3RmZHQ7Cj4+ICAgIE1PVkZyYWdtZW50SW5k ZXggZnJhZ19pbmRleDsKPj4gKyAgICBpbnQgbW9vZl9jb3VudDsgLy9lbnN1cmUgbGFzdCBmcmFn bWVudCBwYXJzZSBtb29mIGJveAo+PiAgICBpbnQgYXRvbV9kZXB0aDsKPj4gICAgdW5zaWduZWQg aW50IGFheF9tb2RlOyAgLy8vPCAnYWF4JyBmaWxlIGhhcyBiZWVuIGRldGVjdGVkCj4+ICAgIHVp bnQ4X3QgZmlsZV9rZXlbMjBdOwo+PiBkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvbW92LmMgYi9s aWJhdmZvcm1hdC9tb3YuYwo+PiBpbmRleCAxNDU1MGU2NDU2Li4zOTY2NThlMzQyIDEwMDY0NAo+ PiAtLS0gYS9saWJhdmZvcm1hdC9tb3YuYwo+PiArKysgYi9saWJhdmZvcm1hdC9tb3YuYwo+PiBA QCAtNzc4NCwxMiArNzc4NCwxNSBAQCBzdGF0aWMgaW50IG1vdl9yZWFkX2RlZmF1bHQoTU9WQ29u dGV4dCAqYywgQVZJT0NvbnRleHQgKnBiLCBNT1ZBdG9tIGF0b20pCj4+ICAgICAgICAgICAgaW50 NjRfdCBzdGFydF9wb3MgPSBhdmlvX3RlbGwocGIpOwo+PiAgICAgICAgICAgIGludDY0X3QgbGVm dDsKPj4gICAgICAgICAgICBpbnQgZXJyID0gcGFyc2UoYywgcGIsIGEpOwo+PiArICAgICAgICAg ICAgaWYgKGEudHlwZSA9PSBNS1RBRygnbScsJ28nLCdvJywnZicpKSB7Cj4+ICsgICAgICAgICAg ICAgICAgYy0+bW9vZl9jb3VudCArKzsKPj4gKyAgICAgICAgICAgIH0KPj4gICAgICAgICAgICBp ZiAoZXJyIDwgMCkgewo+PiAgICAgICAgICAgICAgICBjLT5hdG9tX2RlcHRoIC0tOwo+PiAgICAg ICAgICAgICAgICByZXR1cm4gZXJyOwo+PiAgICAgICAgICAgIH0KPj4gICAgICAgICAgICBpZiAo Yy0+Zm91bmRfbW9vdiAmJiBjLT5mb3VuZF9tZGF0ICYmIGEuc2l6ZSA8PSBJTlQ2NF9NQVggLSBz dGFydF9wb3MgJiYKPj4gLSAgICAgICAgICAgICAgICAoKCEocGItPnNlZWthYmxlICYgQVZJT19T RUVLQUJMRV9OT1JNQUwpIHx8IGMtPmZjLT5mbGFncyAmIEFWRk1UX0ZMQUdfSUdOSURYIHx8IGMt PmZyYWdfaW5kZXguY29tcGxldGUpIHx8Cj4+ICsgICAgICAgICAgICAgICAgKCghKHBiLT5zZWVr YWJsZSAmIEFWSU9fU0VFS0FCTEVfTk9STUFMKSB8fCBjLT5mYy0+ZmxhZ3MgJiBBVkZNVF9GTEFH X0lHTklEWCB8fCAoYy0+ZnJhZ19pbmRleC5jb21wbGV0ZSAmJiBjLT5tb29mX2NvdW50ID49IGMt PmZyYWdfaW5kZXgubmJfaXRlbXMpKSB8fAo+PiAgICAgICAgICAgICAgICAgc3RhcnRfcG9zICsg YS5zaXplID09IGF2aW9fc2l6ZShwYikpKSB7Cj4+ICAgICAgICAgICAgICAgIGlmICghKHBiLT5z ZWVrYWJsZSAmIEFWSU9fU0VFS0FCTEVfTk9STUFMKSB8fCBjLT5mYy0+ZmxhZ3MgJiBBVkZNVF9G TEFHX0lHTklEWCB8fCBjLT5mcmFnX2luZGV4LmNvbXBsZXRlKQo+PiAgICAgICAgICAgICAgICAg ICAgYy0+bmV4dF9yb290X2F0b20gPSBzdGFydF9wb3MgKyBhLnNpemU7Cj4gCj4gTm8sIGl0IGJy ZWFrcyB0aGUgdXNlIGNhc2Ugd2l0aCBnbG9iYWwgc2lkeC4gV2UgY2FuIGFjaGlldmUgZmFzdAo+ IHN0YXJ0dXAgd2l0aCBnbG9iYWwgc2lkeC4KClRoaXMgcGF0Y2ggaW5kZWVkIGhhdmUgYW4gZWZm ZWN0IG9uIHN0YXJ0dXAsIHdpbGwgYWRkIHNvbWUgb3B0aW9uLgoKPiAKPiBUaGUgcGF0Y2ggZGVz Y3JpYmVzIGFuIGlzc3VlIHdpdGggbXVsdGlwbGUgc2lkeCBjYXNlcywgYWN0dWFsbHkKPiBpdOKA mXMgbW9yZSBzZXJpb3VzIHdpdGggZ2xvYmFsIHNpZHguIEluIHRoZSBmaXJzdCBjYXNlLCB0aGUg Yml0cmF0ZQo+IGlzIGEgbGl0dGxlIGluYWNjdXJhdGUuIEJpdHJhdGUgaXMgbmVhciB6ZXJvIGZv ciB0aGUgc2Vjb25kIGNhc2UuCj4gCj4gSSBoYXZlIHR3byBpZGVhczoKPiAKPiAxLiBKdXN0IHNr aXAgYml0cmF0ZSBjYWxjdWxhdGlvbiBmcm9tIHNjLT5kYXRhX3NpemUgaWYgc2lkeCBleGlzdCwK PiBlLmcuLAo+IAo+IEBAIC04NTAwLDcgKzg1MDAsNyBAQCBzdGF0aWMgaW50IG1vdl9yZWFkX2hl YWRlcihBVkZvcm1hdENvbnRleHQgKnMpCj4gICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcy0+bmJf c3RyZWFtczsgaSsrKSB7Cj4gICAgICAgICAgICAgQVZTdHJlYW0gKnN0ID0gcy0+c3RyZWFtc1tp XTsKPiAgICAgICAgICAgICBNT1ZTdHJlYW1Db250ZXh0ICpzYyA9IHN0LT5wcml2X2RhdGE7Cj4g LSAgICAgICAgICAgIGlmIChzdC0+ZHVyYXRpb24gPiAwKSB7Cj4gKyAgICAgICAgICAgIGlmIChz dC0+ZHVyYXRpb24gPiAwICYmICFzYy0+aGFzX3NpZHgpIHsKPiAgICAgICAgICAgICAgICAgLyog QWtpbiB0byBzYy0+ZGF0YV9zaXplICogOCAqIHNjLT50aW1lX3NjYWxlIC8gc3QtPmR1cmF0aW9u IGJ1dCBhY2NvdW50aW5nIGZvciBvdmVyZmxvd3MuICovCj4gICAgICAgICAgICAgICAgIHN0LT5j b2RlY3Bhci0+Yml0X3JhdGUgPSBhdl9yZXNjYWxlKHNjLT5kYXRhX3NpemUsICgoaW50NjRfdCkg c2MtPnRpbWVfc2NhbGUpICogOCwgc3QtPmR1cmF0aW9uKTsKPiAgICAgICAgICAgICAgICAgaWYg KHN0LT5jb2RlY3Bhci0+Yml0X3JhdGUgPT0gSU5UNjRfTUlOKSB7Cj4gCj4gSXTigJlzIHNpbXBs ZSwgYW5kIGJpdHJhdGUgaW5mb3JtYXRpb24gaGFzIG11bHRpcGxlIHNvdXJjZXMuIAo+IAoKSW4g dGhpcyB3YXksIHdpbGwgYmUgbm8gYml0cmF0ZSBpbmZvIGluIHRoZSBzdHJlYW0sIHdpbGwgYWZm ZWN0IHRoZSB1c2Vyc++8nwoKPiAyLiBBZGQgYSBvcHRpb24gdG8gcHJldmVudCBtYXJrIGNvbXBs ZXRlIHdoZW4gcmVhZGluZyBzaWR4Cj4gCj4gQEAgLTU0NDYsNyArNTQ0Niw3IEBAIHN0YXRpYyBp bnQgbW92X3JlYWRfc2lkeChNT1ZDb250ZXh0ICpjLCBBVklPQ29udGV4dCAqcGIsIE1PVkF0b20g YXRvbSkKPiAgICAgLy8gU2VlIGlmIHRoZSByZW1haW5pbmcgYnl0ZXMgYXJlIGp1c3QgYW4gbWZy YSB3aGljaCB3ZSBjYW4gaWdub3JlLgo+ICAgICBpc19jb21wbGV0ZSA9IG9mZnNldCA9PSBzdHJl YW1fc2l6ZTsKPiAtICAgIGlmICghaXNfY29tcGxldGUgJiYgKHBiLT5zZWVrYWJsZSAmIEFWSU9f U0VFS0FCTEVfTk9STUFMKSAmJiBzdHJlYW1fc2l6ZSA+IDAgKSB7Cj4gKyAgICBpZiAoIWlzX2Nv bXBsZXRlICYmIChwYi0+c2Vla2FibGUgJiBBVklPX1NFRUtBQkxFX05PUk1BTCkgJiYgc3RyZWFt X3NpemUgPiAwICYmICFwYXJzZV9mdWxsKSB7Cj4gCj4gVGhlbgoKTWZyYSBib3ggaXMgbm90IHJl cXVpcmVkIGluIGZtcDQuIGZvciBleGFtcGxlLCBhZGRpbmcgc2tpcF90cmFpbGVyIHBhcmFtZXRl ciB3aGVuIGdlbmVyYXRlIGZtNCwgYml0cmF0ZSB3aWxsIHN0aWxsIGJlIGluY29ycmVjdC4KCj4g Cj4gQEAgLTg1MDAsNyArODUwMCw3IEBAIHN0YXRpYyBpbnQgbW92X3JlYWRfaGVhZGVyKEFWRm9y bWF0Q29udGV4dCAqcykKPiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBzLT5uYl9zdHJlYW1zOyBp KyspIHsKPiAgICAgICAgICAgICBBVlN0cmVhbSAqc3QgPSBzLT5zdHJlYW1zW2ldOwo+ICAgICAg ICAgICAgIE1PVlN0cmVhbUNvbnRleHQgKnNjID0gc3QtPnByaXZfZGF0YTsKPiAtICAgICAgICAg ICAgaWYgKHN0LT5kdXJhdGlvbiA+IDApIHsKPiArICAgICAgICAgICAgaWYgKHN0LT5kdXJhdGlv biA+IDAgJiYgKCFzYy0+aGFzX3NpZHggfHwgcGFyc2VfZnVsbCkpIHsKPiAKPiBJdOKAmXMgc3Vj aCBhIGNvcm5lciBjYXNlIGFuZCBJIGNhbuKAmXQgZmluZCBhIHN1aXRhYmxlIG5hbWUgZm9yIHRo aXMgb3B0aW9uLgo+IAo+IEFueSBpZGVhcz8KPiAKPj4gQEAgLTgzNjEsNiArODM2NCw5IEBAIHN0 YXRpYyBpbnQgbW92X3JlYWRfaGVhZGVyKEFWRm9ybWF0Q29udGV4dCAqcykKPj4gICAgICAgIGF2 X2xvZyhzLCBBVl9MT0dfRVJST1IsICJtb292IGF0b20gbm90IGZvdW5kXG4iKTsKPj4gICAgICAg IHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwo+PiAgICB9Cj4+ICsgICAgaWYgKG1vdi0+ZnJh Z19pbmRleC5uYl9pdGVtcyA+IG1vdi0+bW9vZl9jb3VudCkgewo+PiArICAgICAgICBhdl9sb2co cywgQVZfTE9HX1dBUk5JTkcsICJ0aGUgbnVtYmVyIG9mIG1vb2YgaXMgbGVzcyB0aGVuIGZyYWdt ZW50IGNvdW50XG4iKTsKPj4gKyAgICB9Cj4+ICAgIGF2X2xvZyhtb3YtPmZjLCBBVl9MT0dfVFJB Q0UsICJvbl9wYXJzZV9leGl0X29mZnNldD0lIlBSSWQ2NCJcbiIsIGF2aW9fdGVsbChwYikpOwo+ PiAKPj4gICAgaWYgKHBiLT5zZWVrYWJsZSAmIEFWSU9fU0VFS0FCTEVfTk9STUFMKSB7Cj4+IC0t IAo+PiAyLjMzLjAKPj4gCj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4+IGZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKPj4gZmZtcGVnLWRldmVsQGZm bXBlZy5vcmcgPG1haWx0bzpmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZz4KPj4gaHR0cHM6Ly9mZm1w ZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsIDxodHRwczovL2ZmbXBlZy5vcmcv bWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWw+Cj4+IAo+PiBUbyB1bnN1YnNjcmliZSwgdmlz aXQgbGluayBhYm92ZSwgb3IgZW1haWwKPj4gZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9y ZyA8bWFpbHRvOmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmc+IHdpdGggc3ViamVjdCAi dW5zdWJzY3JpYmUiLgo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdAo+IGZmbXBlZy1kZXZlbEBmZm1w ZWcub3JnIDxtYWlsdG86ZmZtcGVnLWRldmVsQGZmbXBlZy5vcmc+Cj4gaHR0cHM6Ly9mZm1wZWcu b3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsIDxodHRwczovL2ZmbXBlZy5vcmcvbWFp bG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWw+Cj4gCj4gVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxp bmsgYWJvdmUsIG9yIGVtYWlsCj4gZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyA8bWFp bHRvOmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmc+IHdpdGggc3ViamVjdCAidW5zdWJz Y3JpYmUiLgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpm Zm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8v ZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUs IHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5v cmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==