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 E592A450BC for ; Sun, 5 Feb 2023 10:02:09 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D291168BE71; Sun, 5 Feb 2023 12:02:05 +0200 (EET) Received: from mout-p-101.mailbox.org (mout-p-101.mailbox.org [80.241.56.151]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D972E68BCF8 for ; Sun, 5 Feb 2023 12:01:58 +0200 (EET) Received: from smtp1.mailbox.org (smtp1.mailbox.org [IPv6:2001:67c:2050:b231:465::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-101.mailbox.org (Postfix) with ESMTPS id 4P8lKv69Wrz9sWp for ; Sun, 5 Feb 2023 11:01:55 +0100 (CET) Message-ID: Date: Sun, 5 Feb 2023 15:31:41 +0530 MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org References: <20230202160708.29461-1-ffmpeg@gyani.pro> <20230202160708.29461-2-ffmpeg@gyani.pro> <6a0bb352-0971-42a4-8f34-8637dda46ccc@gyani.pro> Content-Language: en-US From: Gyan Doshi In-Reply-To: X-Rspamd-Queue-Id: 4P8lKv69Wrz9sWp Subject: Re: [FFmpeg-devel] [PATCH v2 2/2] avformat/flvenc: add option to read metadata from file 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: CgpPbiAyMDIzLTAyLTA0IDA0OjEyIHBtLCBHeWFuIERvc2hpIHdyb3RlOgo+Cj4KPiBPbiAyMDIz LTAyLTA0IDA0OjAyIHBtLCBQYXVsIEIgTWFob2wgd3JvdGU6Cj4+IE9uIDIvNC8yMywgR3lhbiBE b3NoaSA8ZmZtcGVnQGd5YW5pLnBybz4gd3JvdGU6Cj4+Pgo+Pj4gT24gMjAyMy0wMi0wNCAwMzo0 NiBwbSwgUGF1bCBCIE1haG9sIHdyb3RlOgo+Pj4+IE9uIDIvNC8yMywgR3lhbiBEb3NoaSA8ZmZt cGVnQGd5YW5pLnBybz4gd3JvdGU6Cj4+Pj4+IE9uIDIwMjMtMDItMDMgMDk6MDQgcG0sIEFuZHJl YXMgUmhlaW5oYXJkdCB3cm90ZToKPj4+Pj4+IEd5YW4gRG9zaGk6Cj4+Pj4+Pj4gVXNlZnVsLCBp biBjb25qdW50aW9uIHdpdGggb3B0aW9uIG1ldGFfcGVyaW9kLCB0byB2YXJ5IG1ldGFkYXRhIAo+ Pj4+Pj4+IGR1cmluZwo+Pj4+Pj4+IHN0cmVhbS4KPj4+Pj4+Pgo+Pj4+Pj4+IEZpbGUgZm9ybWF0 IGlzIGZmbWV0YWRhdGEuCj4+Pj4+Pj4gLS0tCj4+Pj4+Pj4gwqDCoMKgIGNvbmZpZ3VyZcKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgfMKgwqAgMiArLQo+Pj4+Pj4+IMKgwqDCoCBkb2MvbXV4ZXJzLnRl eGnCoMKgwqDCoMKgIHzCoMKgIDMgKwo+Pj4+Pj4+IMKgwqDCoCBsaWJhdmZvcm1hdC9mbHZlbmMu YyB8IDEzMwo+Pj4+Pj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0KPj4+Pj4+PiDCoMKgwqAgMyBmaWxlcyBjaGFuZ2VkLCAxMDcgaW5zZXJ0aW9ucygrKSwgMzEg ZGVsZXRpb25zKC0pCj4+Pj4+Pj4KPj4+Pj4+PiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29u ZmlndXJlCj4+Pj4+Pj4gaW5kZXggOWQ3OGEyNDRhMy4uZGUzNzE2MzJjNCAxMDA3NTUKPj4+Pj4+ PiAtLS0gYS9jb25maWd1cmUKPj4+Pj4+PiArKysgYi9jb25maWd1cmUKPj4+Pj4+PiBAQCAtMzQz Myw3ICszNDMzLDcgQEAgZWFjM19kZW11eGVyX3NlbGVjdD0iYWMzX3BhcnNlciIKPj4+Pj4+PiDC oMKgwqAgZjR2X211eGVyX3NlbGVjdD0ibW92X211eGVyIgo+Pj4+Pj4+IMKgwqDCoCBmaWZvX211 eGVyX2RlcHM9InRocmVhZHMiCj4+Pj4+Pj4gwqDCoMKgIGZsYWNfZGVtdXhlcl9zZWxlY3Q9ImZs YWNfcGFyc2VyIgo+Pj4+Pj4+IC1mbHZfbXV4ZXJfc2VsZWN0PSJhYWNfYWR0c3RvYXNjX2JzZiIK Pj4+Pj4+PiArZmx2X211eGVyX3NlbGVjdD0iYWFjX2FkdHN0b2FzY19ic2YgZmZtZXRhZGF0YV9k ZW11eGVyIgo+Pj4+Pj4+IMKgwqDCoCBneGZfbXV4ZXJfc2VsZWN0PSJwY21fcmVjaHVua19ic2Yi Cj4+Pj4+Pj4gwqDCoMKgIGhkc19tdXhlcl9zZWxlY3Q9ImZsdl9tdXhlciIKPj4+Pj4+PiDCoMKg wqAgaGxzX2RlbXV4ZXJfc2VsZWN0PSJhZHRzX2hlYWRlciBhYzNfcGFyc2VyIgo+Pj4+Pj4+IGRp ZmYgLS1naXQgYS9kb2MvbXV4ZXJzLnRleGkgYi9kb2MvbXV4ZXJzLnRleGkKPj4+Pj4+PiBpbmRl eCAwMmVjZGRmMTg2Li4wMDBjOTJiMmE3IDEwMDY0NAo+Pj4+Pj4+IC0tLSBhL2RvYy9tdXhlcnMu dGV4aQo+Pj4+Pj4+ICsrKyBiL2RvYy9tdXhlcnMudGV4aQo+Pj4+Pj4+IEBAIC01NTUsNiArNTU1 LDkgQEAgV2l0aCBldmVyeSB2aWRlbyBwYWNrZXQuCj4+Pj4+Pj4gwqDCoMKgIEBlbmQgdGFibGUK Pj4+Pj4+PiDCoMKgwqAgTm90ZSB0aGF0IG1ldGFkYXRhIHdpbGwgYWx3YXlzIGJlIHJlLWVtaXR0 ZWQgaWYgYSBtZXRhZGF0YSAKPj4+Pj4+PiB1cGRhdGUKPj4+Pj4+PiBldmVudAo+Pj4+Pj4+IGlz IHNpZ25hbGxlZC4KPj4+Pj4+Pgo+Pj4+Pj4+ICtAaXRlbSBtZXRhX2ZpbGVuYW1lCj4+Pj4+Pj4g K1NwZWNpZnkgYSBmZm1ldGFkYXRhIGZpbGUgZnJvbSB3aGljaCB0byBsb2FkIG1ldGFkYXRhLgo+ Pj4+Pj4+ICsKPj4+Pj4+PiDCoMKgwqAgQGVuZCB0YWJsZQo+Pj4+Pj4+Cj4+Pj4+Pj4gwqDCoMKg IEBhbmNob3J7ZnJhbWVjcmN9Cj4+Pj4+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2ZsdmVu Yy5jIGIvbGliYXZmb3JtYXQvZmx2ZW5jLmMKPj4+Pj4+PiBpbmRleCBkMWM3YTQ5M2QxLi4xMzMy YjE4YjQxIDEwMDY0NAo+Pj4+Pj4+IC0tLSBhL2xpYmF2Zm9ybWF0L2ZsdmVuYy5jCj4+Pj4+Pj4g KysrIGIvbGliYXZmb3JtYXQvZmx2ZW5jLmMKPj4+Pj4+PiBAQCAtMTIyLDYgKzEyMiwxMCBAQCB0 eXBlZGVmIHN0cnVjdCBGTFZDb250ZXh0IHsKPj4+Pj4+PiDCoMKgwqDCoMKgwqDCoCBkb3VibGUg ZnJhbWVyYXRlOwo+Pj4+Pj4+IMKgwqDCoMKgwqDCoMKgIEFWQ29kZWNQYXJhbWV0ZXJzICpkYXRh X3BhcjsKPj4+Pj4+Pgo+Pj4+Pj4+ICvCoMKgwqAgY2hhciAqbWV0YV9maWxlbmFtZTsKPj4+Pj4+ PiArwqDCoMKgIEFWRm9ybWF0Q29udGV4dCAqbWV0YV9jdHg7Cj4+Pj4+Pj4gK8KgwqDCoCBBVkRp Y3Rpb25hcnkgKm1ldGFfZGljdDsKPj4+Pj4+PiArCj4+Pj4+Pj4gwqDCoMKgwqDCoMKgwqAgaW50 IGZsYWdzOwo+Pj4+Pj4+IMKgwqDCoMKgwqDCoMKgIGludCBtZXRhX3BlcmlvZDsKPj4+Pj4+PiDC oMKgwqAgfSBGTFZDb250ZXh0Owo+Pj4+Pj4+IEBAIC0yNzcsNiArMjgxLDkyIEBAIHN0YXRpYyB2 b2lkIHB1dF9hbWZfYm9vbChBVklPQ29udGV4dCAqcGIsIAo+Pj4+Pj4+IGludCBiKQo+Pj4+Pj4+ IMKgwqDCoMKgwqDCoMKgIGF2aW9fdzgocGIsICEhYik7Cj4+Pj4+Pj4gwqDCoMKgIH0KPj4+Pj4+ Pgo+Pj4+Pj4+ICtzdGF0aWMgaW50IHJlYWRfbWV0YWRhdGFfZnJvbV9maWxlKEFWRm9ybWF0Q29u dGV4dCAqcywgdW5zaWduZWQgCj4+Pj4+Pj4gaW50Cj4+Pj4+Pj4gdHMsCj4+Pj4+Pj4gaW50IGhl YWRlcikKPj4+Pj4+PiArewo+Pj4+Pj4+ICvCoMKgwqAgRkxWQ29udGV4dCAqZmx2ID0gcy0+cHJp dl9kYXRhOwo+Pj4+Pj4+ICvCoMKgwqAgY29uc3QgQVZJbnB1dEZvcm1hdCAqbWV0YV9mb3JtYXQg PSBOVUxMOwo+Pj4+Pj4+ICvCoMKgwqAgQVZEaWN0aW9uYXJ5ICpjdXJyZW50X21ldGFfZGljdCA9 IE5VTEw7Cj4+Pj4+Pj4gK8KgwqDCoCBmbG9hdCB0aW1lc3RhbXAgPSB0cy8xMDAwLmY7Cj4+Pj4+ Pj4gK8KgwqDCoCBpbnQgcmV0Owo+Pj4+Pj4+ICsKPj4+Pj4+PiArwqDCoMKgIGlmICghZmx2LT5t ZXRhX2ZpbGVuYW1lKQo+Pj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gMDsKPj4+Pj4+PiAr Cj4+Pj4+Pj4gK8KgwqDCoCBtZXRhX2Zvcm1hdCA9IGF2X2ZpbmRfaW5wdXRfZm9ybWF0KCJmZm1l dGFkYXRhIik7Cj4+Pj4+Pj4gK8KgwqDCoCBpZiAoIW1ldGFfZm9ybWF0KSB7Cj4+Pj4+Pj4gK8Kg wqDCoMKgwqDCoMKgIGF2X2xvZyhzLCBBVl9MT0dfRVJST1IsICJmZm1ldGFkYXRhIGRlbXV4ZXIg bm90IAo+Pj4+Pj4+IGZvdW5kLlxuIik7Cj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiBB VkVSUk9SKEVOT1NZUyk7Cj4+Pj4+Pj4gK8KgwqDCoCB9Cj4+Pj4+Pj4gKwo+Pj4+Pj4+ICvCoMKg wqAgYXZmb3JtYXRfY2xvc2VfaW5wdXQoJmZsdi0+bWV0YV9jdHgpOwo+Pj4+Pj4+ICsKPj4+Pj4+ PiArwqDCoMKgIHJldCA9IGF2Zm9ybWF0X29wZW5faW5wdXQoJmZsdi0+bWV0YV9jdHgsIGZsdi0+ bWV0YV9maWxlbmFtZSwKPj4+Pj4+PiBtZXRhX2Zvcm1hdCwgTlVMTCk7Cj4+Pj4+Pj4gK8KgwqDC oCBpZiAocmV0IDwgMCkgewo+Pj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBhdl9sb2cocywgQVZfTE9H X0VSUk9SLCAiRmFpbGVkIHRvIHJlYWQgbWV0YWRhdGEgZnJvbSAKPj4+Pj4+PiBmaWxlICVzCj4+ Pj4+Pj4gdDoKPj4+Pj4+PiAlZi4iLCBmbHYtPm1ldGFfZmlsZW5hbWUsIHRpbWVzdGFtcCk7Cj4+ Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGlmIChmbHYtPm1ldGFfZGljdCkKPj4+Pj4+PiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBhdl9sb2cocywgQVZfTE9HX0VSUk9SLCAiIENvbnRpbnVpbmcgd2l0 aCBvbGQKPj4+Pj4+PiBtZXRhZGF0YS4iKTsKPj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgYXZfbG9n KHMsIEFWX0xPR19FUlJPUiwgIlxuIik7Cj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiBy ZXQ7Cj4+Pj4+Pj4gK8KgwqDCoCB9Cj4+Pj4+Pj4gKwo+Pj4+Pj4+ICvCoMKgwqAgaWYgKGZsdi0+ bWV0YV9kaWN0KSB7Cj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGF2X2RpY3RfY29weSgmY3VycmVu dF9tZXRhX2RpY3QsIGZsdi0+bWV0YV9kaWN0LCAwKTsKPj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAg YXZfZGljdF9mcmVlKCZmbHYtPm1ldGFfZGljdCk7Cj4+Pj4+Pj4gK8KgwqDCoCB9Cj4+Pj4+Pj4g Kwo+Pj4+Pj4+ICvCoMKgwqAgcmV0ID0gYXZfZGljdF9jb3B5KCZmbHYtPm1ldGFfZGljdCwgCj4+ Pj4+Pj4gZmx2LT5tZXRhX2N0eC0+bWV0YWRhdGEsIDApOwo+Pj4+Pj4+ICvCoMKgwqAgaWYgKHJl dCA8IDApIHsKPj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgYXZfbG9nKHMsIEFWX0xPR19FUlJPUiwg IkNvdWxkIG5vdCB0cmFuc2ZlciBtZXRhZGF0YSAKPj4+Pj4+PiBmcm9tICVzCj4+Pj4+Pj4gYXQK Pj4+Pj4+PiAlZiBzZWNvbmRzLiBDb250aW51aW5nIHdpdGggb2xkIG1ldGFkYXRhLlxuIiwgZmx2 LT5tZXRhX2ZpbGVuYW1lLAo+Pj4+Pj4+IHRpbWVzdGFtcCk7Cj4+Pj4+Pj4gK8KgwqDCoMKgwqDC oMKgIGF2X2RpY3RfZnJlZSgmZmx2LT5tZXRhX2RpY3QpOwo+Pj4+Pj4+ICvCoMKgwqDCoMKgwqDC oCBhdl9kaWN0X2NvcHkoJmZsdi0+bWV0YV9kaWN0LCBjdXJyZW50X21ldGFfZGljdCwgMCk7Cj4+ Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGF2X2RpY3RfZnJlZSgmY3VycmVudF9tZXRhX2RpY3QpOwo+ Pj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Owo+Pj4+Pj4+ICvCoMKgwqAgfQo+Pj4+ Pj4+ICsKPj4+Pj4+PiArwqDCoMKgIGF2X2xvZyhzLCBBVl9MT0dfVkVSQk9TRSwgIk1ldGFkYXRh IGZyb20gZmlsZSAlcyB1cGRhdGVkICVzIAo+Pj4+Pj4+IGF0ICVmCj4+Pj4+Pj4gc2Vjb25kcy5c biIsIGZsdi0+bWV0YV9maWxlbmFtZSwgaGVhZGVyID8gImluIGhlYWRlciIgOiAiaW4gdmlkZW8K Pj4+Pj4+PiBwYWNrZXQiLCB0aW1lc3RhbXApOwo+Pj4+Pj4+ICvCoMKgwqAgYXZfZGljdF9mcmVl KCZjdXJyZW50X21ldGFfZGljdCk7Cj4+Pj4+Pj4gK8KgwqDCoCBhdmZvcm1hdF9jbG9zZV9pbnB1 dCgmZmx2LT5tZXRhX2N0eCk7Cj4+Pj4+Pj4gKwo+Pj4+Pj4+ICvCoMKgwqAgcmV0dXJuIDA7Cj4+ Pj4+Pj4gK30KPj4+Pj4+PiArCj4+Pj4+Pj4gK3N0YXRpYyBpbnQgd3JpdGVfdXNlcl9tZXRhZGF0 YV90YWcoQVZGb3JtYXRDb250ZXh0ICpzLAo+Pj4+Pj4+IEFWRGljdGlvbmFyeUVudHJ5Cj4+Pj4+ Pj4gKnRhZywgQVZJT0NvbnRleHQgKnBiLCBpbnQgKm1ldGFkYXRhX2NvdW50KQo+Pj4+Pj4+ICt7 Cj4+Pj4+Pj4gKwo+Pj4+Pj4+ICvCoMKgwqAgYXZfbG9nKHMsIEFWX0xPR19ERUJVRywgIldyaXRp bmcgdGFnICVzIHdpdGggdmFsdWUgJXMgY291bnQ6Cj4+Pj4+Pj4gJWRcbiIsCj4+Pj4+Pj4gdGFn LT5rZXksIHRhZy0+dmFsdWUsICptZXRhZGF0YV9jb3VudCk7Cj4+Pj4+Pj4gKwo+Pj4+Pj4+ICvC oMKgwqAgaWYowqDCoCAhc3RyY21wKHRhZy0+a2V5LCAid2lkdGgiKQo+Pj4+Pj4+ICvCoMKgwqDC oMKgwqDCoCB8fCFzdHJjbXAodGFnLT5rZXksICJoZWlnaHQiKQo+Pj4+Pj4+ICvCoMKgwqDCoMKg wqDCoCB8fCFzdHJjbXAodGFnLT5rZXksICJ2aWRlb2RhdGFyYXRlIikKPj4+Pj4+PiArwqDCoMKg wqDCoMKgwqAgfHwhc3RyY21wKHRhZy0+a2V5LCAiZnJhbWVyYXRlIikKPj4+Pj4+PiArwqDCoMKg wqDCoMKgwqAgfHwhc3RyY21wKHRhZy0+a2V5LCAidmlkZW9jb2RlY2lkIikKPj4+Pj4+PiArwqDC oMKgwqDCoMKgwqAgfHwhc3RyY21wKHRhZy0+a2V5LCAiYXVkaW9kYXRhcmF0ZSIpCj4+Pj4+Pj4g K8KgwqDCoMKgwqDCoMKgIHx8IXN0cmNtcCh0YWctPmtleSwgImF1ZGlvc2FtcGxlcmF0ZSIpCj4+ Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHx8IXN0cmNtcCh0YWctPmtleSwgImF1ZGlvc2FtcGxlc2l6 ZSIpCj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHx8IXN0cmNtcCh0YWctPmtleSwgInN0ZXJlbyIp Cj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHx8IXN0cmNtcCh0YWctPmtleSwgImF1ZGlvY29kZWNp ZCIpCj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHx8IXN0cmNtcCh0YWctPmtleSwgImR1cmF0aW9u IikKPj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgfHwhc3RyY21wKHRhZy0+a2V5LCAib25NZXRhRGF0 YSIpCj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHx8IXN0cmNtcCh0YWctPmtleSwgImRhdGFzaXpl IikKPj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgfHwhc3RyY21wKHRhZy0+a2V5LCAibGFzdHRpbWVz dGFtcCIpCj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHx8IXN0cmNtcCh0YWctPmtleSwgInRvdGFs ZnJhbWVzIikKPj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgfHwhc3RyY21wKHRhZy0+a2V5LCAiaGFz QXVkaW8iKQo+Pj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCB8fCFzdHJjbXAodGFnLT5rZXksICJoYXNW aWRlbyIpCj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHx8IXN0cmNtcCh0YWctPmtleSwgImhhc0N1 ZVBvaW50cyIpCj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHx8IXN0cmNtcCh0YWctPmtleSwgImhh c01ldGFkYXRhIikKPj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgfHwhc3RyY21wKHRhZy0+a2V5LCAi aGFzS2V5ZnJhbWVzIikKPj4+Pj4+PiArwqDCoMKgICl7Cj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKg IGF2X2xvZyhzLCBBVl9MT0dfREVCVUcsICJJZ25vcmluZyBtZXRhZGF0YSBmb3IgJXNcbiIsCj4+ Pj4+Pj4gdGFnLT5rZXkpOwo+Pj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gQVZFUlJPUihF SU5WQUwpOwo+Pj4+Pj4+ICvCoMKgwqAgfQo+Pj4+Pj4+ICvCoMKgwqAgcHV0X2FtZl9zdHJpbmco cGIsIHRhZy0+a2V5KTsKPj4+Pj4+PiArwqDCoMKgIGF2aW9fdzgocGIsIEFNRl9EQVRBX1RZUEVf U1RSSU5HKTsKPj4+Pj4+PiArwqDCoMKgIHB1dF9hbWZfc3RyaW5nKHBiLCB0YWctPnZhbHVlKTsK Pj4+Pj4+PiArwqDCoMKgICgqbWV0YWRhdGFfY291bnQpKys7Cj4+Pj4+Pj4gKwo+Pj4+Pj4+ICvC oMKgwqAgcmV0dXJuIDA7Cj4+Pj4+Pj4gK30KPj4+Pj4+PiArCj4+Pj4+Pj4gwqDCoMKgIHN0YXRp YyB2b2lkIHdyaXRlX21ldGFkYXRhKEFWRm9ybWF0Q29udGV4dCAqcywgdW5zaWduZWQgaW50IHRz KQo+Pj4+Pj4+IMKgwqDCoCB7Cj4+Pj4+Pj4gwqDCoMKgwqDCoMKgwqAgQVZJT0NvbnRleHQgKnBi ID0gcy0+cGI7Cj4+Pj4+Pj4gQEAgLTM2MCwzNiArNDUwLDExIEBAIHN0YXRpYyB2b2lkIHdyaXRl X21ldGFkYXRhKEFWRm9ybWF0Q29udGV4dCAKPj4+Pj4+PiAqcywKPj4+Pj4+PiB1bnNpZ25lZCBp bnQgdHMpCj4+Pj4+Pj4gwqDCoMKgwqDCoMKgwqAgfQo+Pj4+Pj4+Cj4+Pj4+Pj4gwqDCoMKgwqDC oMKgwqAgZmZfc3RhbmRhcmRpemVfY3JlYXRpb25fdGltZShzKTsKPj4+Pj4+PiAtwqDCoMKgIHdo aWxlICgodGFnID0gYXZfZGljdF9pdGVyYXRlKHMtPm1ldGFkYXRhLCB0YWcpKSkgewo+Pj4+Pj4+ IC3CoMKgwqDCoMKgwqDCoCBpZijCoMKgICFzdHJjbXAodGFnLT5rZXksICJ3aWR0aCIpCj4+Pj4+ Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfHwhc3RyY21wKHRhZy0+a2V5LCAiaGVpZ2h0IikK Pj4+Pj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8fCFzdHJjbXAodGFnLT5rZXksICJ2aWRl b2RhdGFyYXRlIikKPj4+Pj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8fCFzdHJjbXAodGFn LT5rZXksICJmcmFtZXJhdGUiKQo+Pj4+Pj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHx8IXN0 cmNtcCh0YWctPmtleSwgInZpZGVvY29kZWNpZCIpCj4+Pj4+Pj4gLcKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfHwhc3RyY21wKHRhZy0+a2V5LCAiYXVkaW9kYXRhcmF0ZSIpCj4+Pj4+Pj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgfHwhc3RyY21wKHRhZy0+a2V5LCAiYXVkaW9zYW1wbGVyYXRlIikK Pj4+Pj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8fCFzdHJjbXAodGFnLT5rZXksICJhdWRp b3NhbXBsZXNpemUiKQo+Pj4+Pj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHx8IXN0cmNtcCh0 YWctPmtleSwgInN0ZXJlbyIpCj4+Pj4+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfHwhc3Ry Y21wKHRhZy0+a2V5LCAiYXVkaW9jb2RlY2lkIikKPj4+Pj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB8fCFzdHJjbXAodGFnLT5rZXksICJkdXJhdGlvbiIpCj4+Pj4+Pj4gLcKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfHwhc3RyY21wKHRhZy0+a2V5LCAib25NZXRhRGF0YSIpCj4+Pj4+Pj4gLcKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfHwhc3RyY21wKHRhZy0+a2V5LCAiZGF0YXNpemUiKQo+Pj4+ Pj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHx8IXN0cmNtcCh0YWctPmtleSwgImxhc3R0aW1l c3RhbXAiKQo+Pj4+Pj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHx8IXN0cmNtcCh0YWctPmtl eSwgInRvdGFsZnJhbWVzIikKPj4+Pj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8fCFzdHJj bXAodGFnLT5rZXksICJoYXNBdWRpbyIpCj4+Pj4+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg fHwhc3RyY21wKHRhZy0+a2V5LCAiaGFzVmlkZW8iKQo+Pj4+Pj4+IC3CoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHx8IXN0cmNtcCh0YWctPmtleSwgImhhc0N1ZVBvaW50cyIpCj4+Pj4+Pj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgfHwhc3RyY21wKHRhZy0+a2V5LCAiaGFzTWV0YWRhdGEiKQo+Pj4+ Pj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHx8IXN0cmNtcCh0YWctPmtleSwgImhhc0tleWZy YW1lcyIpCj4+Pj4+Pj4gLcKgwqDCoMKgwqDCoMKgICl7Cj4+Pj4+Pj4gLcKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgYXZfbG9nKHMsIEFWX0xPR19ERUJVRywgIklnbm9yaW5nIG1ldGFkYXRhIGZvciAl c1xuIiwKPj4+Pj4+PiB0YWctPmtleSk7Cj4+Pj4+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg Y29udGludWU7Cj4+Pj4+Pj4gLcKgwqDCoMKgwqDCoMKgIH0KPj4+Pj4+PiAtwqDCoMKgwqDCoMKg wqAgcHV0X2FtZl9zdHJpbmcocGIsIHRhZy0+a2V5KTsKPj4+Pj4+PiAtwqDCoMKgwqDCoMKgwqAg YXZpb193OChwYiwgQU1GX0RBVEFfVFlQRV9TVFJJTkcpOwo+Pj4+Pj4+IC3CoMKgwqDCoMKgwqDC oCBwdXRfYW1mX3N0cmluZyhwYiwgdGFnLT52YWx1ZSk7Cj4+Pj4+Pj4gLcKgwqDCoMKgwqDCoMKg IG1ldGFkYXRhX2NvdW50Kys7Cj4+Pj4+Pj4gLcKgwqDCoCB9Cj4+Pj4+Pj4gKwo+Pj4+Pj4+ICvC oMKgwqAgd2hpbGUgKHRhZyA9IGF2X2RpY3RfZ2V0KHMtPm1ldGFkYXRhLCAiIiwgdGFnLAo+Pj4+ Pj4+IEFWX0RJQ1RfSUdOT1JFX1NVRkZJWCkpCj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHdyaXRl X3VzZXJfbWV0YWRhdGFfdGFnKHMsIHRhZywgcGIsICZtZXRhZGF0YV9jb3VudCk7Cj4+Pj4+Pj4g K8KgwqDCoCB3aGlsZSAodGFnID0gYXZfZGljdF9nZXQoZmx2LT5tZXRhX2RpY3QsICIiLCB0YWcs Cj4+Pj4+Pj4gQVZfRElDVF9JR05PUkVfU1VGRklYKSkKPj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAg d3JpdGVfdXNlcl9tZXRhZGF0YV90YWcocywgdGFnLCBwYiwgJm1ldGFkYXRhX2NvdW50KTsKPj4+ Pj4+Pgo+Pj4+Pj4+IMKgwqDCoMKgwqDCoMKgIGlmICh3cml0ZV9kdXJhdGlvbl9maWxlc2l6ZSkg ewo+Pj4+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHV0X2FtZl9zdHJpbmcocGIsICJmaWxl c2l6ZSIpOwo+Pj4+Pj4+IEBAIC03MTgsNiArNzgzLDcgQEAgc3RhdGljIGludCBmbHZfd3JpdGVf aGVhZGVyKEFWRm9ybWF0Q29udGV4dCAqcykKPj4+Pj4+PiDCoMKgwqDCoMKgwqDCoCBpZiAoZmx2 LT5mbGFncyAmIEZMVl9OT19NRVRBREFUQSkgewo+Pj4+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgcGItPnNlZWthYmxlID0gMDsKPj4+Pj4+PiDCoMKgwqDCoMKgwqDCoCB9IGVsc2Ugewo+Pj4+ Pj4+ICvCoMKgwqDCoMKgwqDCoCByZWFkX21ldGFkYXRhX2Zyb21fZmlsZShzLCAwLCAxKTsKPj4+ Pj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHdyaXRlX21ldGFkYXRhKHMsIDApOwo+Pj4+Pj4+ IMKgwqDCoMKgwqDCoMKgIH0KPj4+Pj4+Pgo+Pj4+Pj4+IEBAIC04ODAsNiArOTQ2LDcgQEAgc3Rh dGljIGludCBmbHZfd3JpdGVfcGFja2V0KEFWRm9ybWF0Q29udGV4dCAqcywKPj4+Pj4+PiBBVlBh Y2tldCAqcGt0KQo+Pj4+Pj4+IMKgwqDCoMKgwqDCoMKgIGlmIChtZXRhX3VwZF9mbGFnIHx8Cj4+ Pj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoZmx2LT5tZXRhX3BlcmlvZCA9PSBGTFZfTUVU QV9BVF9LRsKgwqDCoMKgwqDCoMKgICYmCj4+Pj4+Pj4gcGFyLT5jb2RlY190eXBlCj4+Pj4+Pj4g PT0gQVZNRURJQV9UWVBFX1ZJREVPICYmIChwa3QtPmZsYWdzICYgQVZfUEtUX0ZMQUdfS0VZKSkg fHwKPj4+Pj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChmbHYtPm1ldGFfcGVyaW9kID09IEZM Vl9NRVRBX0VWRVJZX1BBQ0tFVCAmJgo+Pj4+Pj4+IHBhci0+Y29kZWNfdHlwZQo+Pj4+Pj4+ID09 IEFWTUVESUFfVFlQRV9WSURFTyApKSB7Cj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHJlYWRfbWV0 YWRhdGFfZnJvbV9maWxlKHMsIHRzLCAwKTsKPj4+Pj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHdyaXRlX21ldGFkYXRhKHMsIHRzKTsKPj4+Pj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlm IChtZXRhX3VwZF9mbGFnKQo+Pj4+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBz LT5ldmVudF9mbGFncyAmPQo+Pj4+Pj4+IH5BVlNUUkVBTV9FVkVOVF9GTEFHX01FVEFEQVRBX1VQ REFURUQ7Cj4+Pj4+Pj4gQEAgLTEwNTMsNiArMTEyMCwxMSBAQCBzdGF0aWMgdm9pZCBmbHZfZGVp bml0KEFWRm9ybWF0Q29udGV4dCAqcykKPj4+Pj4+PiDCoMKgwqDCoMKgwqDCoCB9Cj4+Pj4+Pj4g wqDCoMKgwqDCoMKgwqAgZmx2LT5maWxlcG9zaXRpb25zID0gZmx2LT5oZWFkX2ZpbGVwb3NpdGlv bnMgPSBOVUxMOwo+Pj4+Pj4+IMKgwqDCoMKgwqDCoMKgIGZsdi0+ZmlsZXBvc2l0aW9uc19jb3Vu dCA9IDA7Cj4+Pj4+Pj4gKwo+Pj4+Pj4+ICvCoMKgwqAgaWYgKGZsdi0+bWV0YV9kaWN0KQo+Pj4+ Pj4+ICvCoMKgwqDCoMKgwqDCoCBhdl9kaWN0X2ZyZWUoJmZsdi0+bWV0YV9kaWN0KTsKPj4+Pj4+ PiArCj4+Pj4+Pj4gK8KgwqDCoCBhdmZvcm1hdF9jbG9zZV9pbnB1dCgmZmx2LT5tZXRhX2N0eCk7 Cj4+Pj4+Pj4gwqDCoMKgIH0KPj4+Pj4+Pgo+Pj4+Pj4+IMKgwqDCoCBzdGF0aWMgY29uc3QgQVZP cHRpb24gb3B0aW9uc1tdID0gewo+Pj4+Pj4+IEBAIC0xMDY2LDYgKzExMzgsNyBAQCBzdGF0aWMg Y29uc3QgQVZPcHRpb24gb3B0aW9uc1tdID0gewo+Pj4+Pj4+IMKgwqDCoMKgwqDCoMKgIHsgImF0 X3N0YXJ0IizCoMKgwqDCoMKgICJvbmx5IG9uY2UgYXQgc3RhcnQiLMKgwqDCoMKgwqDCoMKgIDAs Cj4+Pj4+Pj4gQVZfT1BUX1RZUEVfQ09OU1QsIHsuaTY0ID0gRkxWX01FVEFfT05DRV9BVF9TVEFS VH0sIElOVF9NSU4sIAo+Pj4+Pj4+IElOVF9NQVgsCj4+Pj4+Pj4gQVZfT1BUX0ZMQUdfRU5DT0RJ TkdfUEFSQU0sICJtZXRhX3BlcmlvZCIgfSwKPj4+Pj4+PiDCoMKgwqDCoMKgwqDCoCB7ICJhdF9r ZXlmcmFtZXMiLMKgICJ3aXRoIGV2ZXJ5IHZpZGVvIGtleWZyYW1lIiwgMCwKPj4+Pj4+PiBBVl9P UFRfVFlQRV9DT05TVCwgey5pNjQgPSBGTFZfTUVUQV9BVF9LRn0sIElOVF9NSU4sIElOVF9NQVgs Cj4+Pj4+Pj4gQVZfT1BUX0ZMQUdfRU5DT0RJTkdfUEFSQU0sICJtZXRhX3BlcmlvZCIgfSwKPj4+ Pj4+PiDCoMKgwqDCoMKgwqDCoCB7ICJldmVyeV9wYWNrZXQiLMKgICJ3aXRoIGV2ZXJ5IHZpZGVv IHBhY2tldCIswqDCoCAwLAo+Pj4+Pj4+IEFWX09QVF9UWVBFX0NPTlNULCB7Lmk2NCA9IEZMVl9N RVRBX0VWRVJZX1BBQ0tFVH0sIElOVF9NSU4sIAo+Pj4+Pj4+IElOVF9NQVgsCj4+Pj4+Pj4gQVZf T1BUX0ZMQUdfRU5DT0RJTkdfUEFSQU0sICJtZXRhX3BlcmlvZCIgfSwKPj4+Pj4+PiArwqDCoMKg IHsgIm1ldGFfZmlsZW5hbWUiLCAiZmZtZXRhZGF0YSBmaWxlIHRvIGltcG9ydCBtZXRhZGF0YSIs Cj4+Pj4+Pj4gb2Zmc2V0b2YoRkxWQ29udGV4dCwgbWV0YV9maWxlbmFtZSksIEFWX09QVF9UWVBF X1NUUklORywgey5zdHIgPQo+Pj4+Pj4+IE5VTEx9LAo+Pj4+Pj4+IDAsIDAsIEFWX09QVF9GTEFH X0VOQ09ESU5HX1BBUkFNIH0sCj4+Pj4+Pj4gwqDCoMKgwqDCoMKgwqAgeyBOVUxMIH0sCj4+Pj4+ Pj4gwqDCoMKgIH07Cj4+Pj4+Pj4KPj4+Pj4+IFdoYXQgZG9lcyB0aGlzIGFjaGlldmUgdGhhdCBj YW4ndCBiZSBhY2hpZXZlZCBieSBvdGhlciBtZWFucyAKPj4+Pj4+IChuYW1lbHkgYnkKPj4+Pj4+ IGFuIEFQSS11c2VyIHVwZGF0aW5nIHRoZSByZWxldmFudCBtZXRhZGF0YSBkaWN0aW9uYXJpZXMp Pwo+Pj4+PiBUaGlzIG9wdGlvbiB0b2dldGhlciB3aXRoIG1ldGFfcGVyaW9kIGlzIGZvciBDTEkg dXNlcnMuIFNpbWlsYXIgdG8KPj4+Pj4gZHJhd3RleHQncyB0ZXh0ZmlsZSArIHJlbG9hZC4KPj4+ Pj4gSXQncyBiZWVuIHVzZWQgaW4gcHJvZHVjdGlvbiBmb3Igb3ZlciBhIHllYXIgYXQgYSBjbGll bnQuIFRoaW5rIGl0IAo+Pj4+PiB3aWxsCj4+Pj4+IGJlIGJyb2FkbHkgdXNlZnVsLgo+Pj4+IE5v dCBldmVyeXRoaW5nIHRoYXQgaXMgdXNlZnVsIG5vdyBpcyBjb3JyZWN0IG9uIGxvbmcgdGVybS4K Pj4+Pgo+Pj4+IE11eGVyIHNwZWNpZmljIG1ldGFkYXRhIGhhbmRsaW5nIGJ5IHJlYWRpbmcgZnJv bSBmaWxlcyBpcyBiaWcgaGFjay4KPj4+IFdoYXQgd291bGQgeW91IHN1Z2dlc3Q/Cj4+IFRoZXJl IHNob3VsZCBiZSB3YXkgdG8gaGFuZGxlIHRoaXMgZ2VuZXJpY2FsbHkgc2VlIEFudG9uJ3MgcGF0 Y2ggdGhhdAo+PiBhZGRzIG5ldyBBVk9wdGlvbiB0eXBlLgo+IExpbms/CgpTbywgSSBvbmx5IGZv dW5kIGhpcyBwYXRjaCB0byBsb2FkIGZpbHRlciBvcHRpb25zIGZyb20gZmlsZXMsIGJ1dCB0aGF0 J3MgCm9ubHkgaW5zaWRlIGZpbHRlcmdyYXBocy4KCkFueXdheSwgdGhpcyBvcHRpb24gaXMgZm9y IGR5bmFtaWMgbWV0YWRhdGEuIFdoaWNoIG1lYW5zIHRoYXQgZXZlbiAKbWV0YV9wZXJpb2Qgd291 bGQgaGF2ZSB0byBiZSBhIGdlbmVyaWMgbGF2ZiBvcHRpb24uCkJ1dCBtb3N0IG11eGVycyBkb24n dCBlbWl0IG1ldGFkYXRhIHBvc3QtaGVhZGVyLsKgIEluIGZhY3QsIGZsdmVuYyBpcyB0aGUgCm9u bHkgbXV4ZXIgdGhhdCBtYWtlcyB1c2Ugb2YKQVYqKipfRVZFTlRfRkxBR19NRVRBREFUQV9VUERB VEVELsKgIFNvLCB3ZSB3aWxsIG5lZWQgYSBuZXcgQVZGTVQgZmxhZyB0byAKYXZvaWQgcmVsb2Fk aW5nIG9mIGZpbGUgbWV0YWRhdGEgaW4gYWxsIG90aGVyIGNhc2VzLgpTZWVtcyBvdmVya2lsbCBm b3Igc29tZXRoaW5nIHVzZWZ1bCBpbiBvbmUgbXV4ZXIuCgpSZWdhcmRzLApHeWFuCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFp bGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJv dmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0 ICJ1bnN1YnNjcmliZSIuCg==