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 565DE4AC42 for ; Fri, 17 May 2024 15:49:09 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E1CB068D2BA; Fri, 17 May 2024 18:49:06 +0300 (EEST) Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com [209.85.218.53]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E113068D1CA for ; Fri, 17 May 2024 18:48:59 +0300 (EEST) Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-a59ad12efe3so227649366b.3 for ; Fri, 17 May 2024 08:48:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715960939; x=1716565739; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=j7jR2MkIVTva7KSR1DUor5zclI/UJesksB1Q8tGu49U=; b=hpnJFSK6GtuIqOp4Oxl50i82MBIaeW3lvPEqkmBrGf0lch6se1rYGGEf26LhRCfabh a9OdAiECzTw0t4yT1Y9xWkUBOHdt+TCDW3EPX3rhTaCahfDDJlM54Y4crNomHhCp4Fsj opdoYwahKjMM7bG5xx18jFmGfc0WeFOr/xFtqSNlZ9KhUtFfwx8Xoj2lMboTNp9qm2DP dVNUJzYz2pLtD4IOn0OihH4zYX8xAZd79/0wABFhOyVwd2F5CYhCDMUo1g+8Ui1A8FWA FxPBsd+nT1s8XdzmzYztbWRWfSSy/NnUMxL9yWm+po9ZsR+9o44CReppa726r/onO9pc r5kQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715960939; x=1716565739; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=j7jR2MkIVTva7KSR1DUor5zclI/UJesksB1Q8tGu49U=; b=T2csUZGT+wnNYLiw9XJiwJ/D1KYb4mhhTLVqPntd9/jdNCYOksu35re5VCLqmzoMxl cKX4NmsMHjk/OjjtHQy65QFI9XT2/ppKrHzIhxUm4TMZfac64vcWOU2LKjRe+irptBvw l7jMqt/VtVRuUGSO4Fwq0vTIC+Ki0m7vAkMd4Yedh0fOHHPeE6KpZ2cCNIu+Bvp5i8Lr 4RVpQr4zaPD/EqfeyZn9Q8qEmoMePd3B7xtz2zxWnCP7JjN9Sz581WTUTl1JuLAnC4sV 6Biv8XGI7CYjQQYYZW+r50sFf06/RtUAnNDyTxSbrl5DDrpIcKFz8t9UoeUu47rO50VH Ac4w== X-Gm-Message-State: AOJu0YxQcJFJxqjA/wIHRMqBtQEjQwKNavdEbbOhN4BWTOae3AOooM1j znblgVdi1zcHUBzpx7RoNIZ3ofNebJ3MCjLzGng7HtdOpYmUKMDWjJYzLw== X-Google-Smtp-Source: AGHT+IHGyHlAqjCmk979bm1UlqRaf0dKgno2R630iyvyvVs0RITdVJHGYChyvAH8lOELsNNUAP13+g== X-Received: by 2002:a50:a448:0:b0:56e:c5a:c7a9 with SMTP id 4fb4d7f45d1cf-5734d6e0dc1mr16223773a12.41.1715960938890; Fri, 17 May 2024 08:48:58 -0700 (PDT) Received: from [192.168.178.30] (dynamic-2a01-0c22-a5bd-6600-58e8-b28e-8af1-2ac1.c22.pool.telefonica.de. [2a01:c22:a5bd:6600:58e8:b28e:8af1:2ac1]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a5a1781d207sm1120340266b.22.2024.05.17.08.48.57 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 17 May 2024 08:48:58 -0700 (PDT) From: epirat07@gmail.com To: FFmpeg development discussions and patches Date: Fri, 17 May 2024 17:48:56 +0200 X-Mailer: MailMate (1.14r6022) Message-ID: <91734E63-6543-4B81-967D-89FF0DAE110A@gmail.com> In-Reply-To: References: <001EA02E-CE53-4895-9B53-38CD3B2A4C1B@gmail.com> MIME-Version: 1.0 Subject: Re: [FFmpeg-devel] [PATCH 5/6] avcodec/lib*, avformat/tee: Simplify iterating over AVDictionary 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: CgpPbiAxNyBNYXkgMjAyNCwgYXQgMTc6NDQsIEFuZHJlYXMgUmhlaW5oYXJkdCB3cm90ZToKCj4g ZXBpcmF0MDdAZ21haWwuY29tOgo+Pgo+Pgo+PiBPbiAxNyBNYXkgMjAyNCwgYXQgMTc6MjUsIEFu ZHJlYXMgUmhlaW5oYXJkdCB3cm90ZToKPj4KPj4+IFNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgUmhl aW5oYXJkdCA8YW5kcmVhcy5yaGVpbmhhcmR0QG91dGxvb2suY29tPgo+Pj4gLS0tCj4+PiAgbGli YXZjb2RlYy9saWJhb21lbmMuYyAgfCA0ICsrLS0KPj4+ICBsaWJhdmNvZGVjL2xpYmt2YXphYXIu YyB8IDQgKystLQo+Pj4gIGxpYmF2Y29kZWMvbGlic3Z0YXYxLmMgIHwgNiArKystLS0KPj4+ICBs aWJhdmNvZGVjL2xpYngyNjQuYyAgICB8IDQgKystLQo+Pj4gIGxpYmF2Y29kZWMvbGlieDI2NS5j ICAgIHwgNCArKy0tCj4+PiAgbGliYXZmb3JtYXQvdGVlLmMgICAgICAgfCA0ICsrLS0KPj4+ICA2 IGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQo+Pj4KPj4+ IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2xpYmFvbWVuYy5jIGIvbGliYXZjb2RlYy9saWJhb21l bmMuYwo+Pj4gaW5kZXggYzM5ODUzYzIwZi4uZGVjNzRlYmVjZCAxMDA2NDQKPj4+IC0tLSBhL2xp YmF2Y29kZWMvbGliYW9tZW5jLmMKPj4+ICsrKyBiL2xpYmF2Y29kZWMvbGliYW9tZW5jLmMKPj4+ IEBAIC05NzAsOSArOTcwLDkgQEAgc3RhdGljIGF2X2NvbGQgaW50IGFvbV9pbml0KEFWQ29kZWND b250ZXh0ICphdmN0eCwKPj4+Cj4+PiAgI2lmIEFPTV9FTkNPREVSX0FCSV9WRVJTSU9OID49IDIz Cj4+PiAgICAgIHsKPj4+IC0gICAgICAgIEFWRGljdGlvbmFyeUVudHJ5ICplbiA9IE5VTEw7Cj4+ PiArICAgICAgICBjb25zdCBBVkRpY3Rpb25hcnlFbnRyeSAqZW4gPSBOVUxMOwo+Pj4KPj4+IC0g ICAgICAgIHdoaWxlICgoZW4gPSBhdl9kaWN0X2dldChjdHgtPmFvbV9wYXJhbXMsICIiLCBlbiwg QVZfRElDVF9JR05PUkVfU1VGRklYKSkpIHsKPj4+ICsgICAgICAgIHdoaWxlICgoZW4gPSBhdl9k aWN0X2l0ZXJhdGUoY3R4LT5hb21fcGFyYW1zLCBlbikpKSB7Cj4+PiAgICAgICAgICAgICAgaW50 IHJldCA9IGFvbV9jb2RlY19zZXRfb3B0aW9uKCZjdHgtPmVuY29kZXIsIGVuLT5rZXksIGVuLT52 YWx1ZSk7Cj4+PiAgICAgICAgICAgICAgaWYgKHJldCAhPSBBT01fQ09ERUNfT0spIHsKPj4+ICAg ICAgICAgICAgICAgICAgbG9nX2VuY29kZXJfZXJyb3IoYXZjdHgsIGVuLT5rZXkpOwo+Pj4gZGlm ZiAtLWdpdCBhL2xpYmF2Y29kZWMvbGlia3ZhemFhci5jIGIvbGliYXZjb2RlYy9saWJrdmF6YWFy LmMKPj4+IGluZGV4IDA3MTFkOWFiMzguLmNkNzMxYWU5ZDAgMTAwNjQ0Cj4+PiAtLS0gYS9saWJh dmNvZGVjL2xpYmt2YXphYXIuYwo+Pj4gKysrIGIvbGliYXZjb2RlYy9saWJrdmF6YWFyLmMKPj4+ IEBAIC0xMTEsOCArMTExLDggQEAgRkZfRU5BQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTCj4+PiAg ICAgIGlmIChjdHgtPmt2el9wYXJhbXMpIHsKPj4+ICAgICAgICAgIEFWRGljdGlvbmFyeSAqZGlj dCA9IE5VTEw7Cj4+PiAgICAgICAgICBpZiAoIWF2X2RpY3RfcGFyc2Vfc3RyaW5nKCZkaWN0LCBj dHgtPmt2el9wYXJhbXMsICI9IiwgIiwiLCAwKSkgewo+Pj4gLSAgICAgICAgICAgIEFWRGljdGlv bmFyeUVudHJ5ICplbnRyeSA9IE5VTEw7Cj4+PiAtICAgICAgICAgICAgd2hpbGUgKChlbnRyeSA9 IGF2X2RpY3RfZ2V0KGRpY3QsICIiLCBlbnRyeSwgQVZfRElDVF9JR05PUkVfU1VGRklYKSkpIHsK Pj4+ICsgICAgICAgICAgICBjb25zdCBBVkRpY3Rpb25hcnlFbnRyeSAqZW50cnkgPSBOVUxMOwo+ Pj4gKyAgICAgICAgICAgIHdoaWxlICgoZW50cnkgPSBhdl9kaWN0X2l0ZXJhdGUoZGljdCwgZW50 cnkpKSkgewo+Pj4gICAgICAgICAgICAgICAgICBpZiAoIWFwaS0+Y29uZmlnX3BhcnNlKGNmZywg ZW50cnktPmtleSwgZW50cnktPnZhbHVlKSkgewo+Pj4gICAgICAgICAgICAgICAgICAgICAgYXZf bG9nKGF2Y3R4LCBBVl9MT0dfV0FSTklORywgIkludmFsaWQgb3B0aW9uOiAlcz0lcy5cbiIsCj4+ PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50cnktPmtleSwgZW50cnktPnZhbHVlKTsK Pj4+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2xpYnN2dGF2MS5jIGIvbGliYXZjb2RlYy9saWJz dnRhdjEuYwo+Pj4gaW5kZXggOWJjMTY1ZjBjZi4uMmZlZjhjODk3MSAxMDA2NDQKPj4+IC0tLSBh L2xpYmF2Y29kZWMvbGlic3Z0YXYxLmMKPj4+ICsrKyBiL2xpYmF2Y29kZWMvbGlic3Z0YXYxLmMK Pj4+IEBAIC0yMTAsNyArMjEwLDcgQEAgc3RhdGljIGludCBjb25maWdfZW5jX3BhcmFtcyhFYlN2 dEF2MUVuY0NvbmZpZ3VyYXRpb24gKnBhcmFtLAo+Pj4gIHsKPj4+ICAgICAgU3Z0Q29udGV4dCAq c3Z0X2VuYyA9IGF2Y3R4LT5wcml2X2RhdGE7Cj4+PiAgICAgIGNvbnN0IEFWUGl4Rm10RGVzY3Jp cHRvciAqZGVzYzsKPj4+IC0gICAgQVZEaWN0aW9uYXJ5RW50cnkgKmVuID0gTlVMTDsKPj4+ICsg ICAgY29uc3QgQVZEaWN0aW9uYXJ5RW50cnkgYXZfdW51c2VkICplbiA9IE5VTEw7Cj4+Pgo+Pj4g ICAgICAvLyBVcGRhdGUgcGFyYW0gZnJvbSBvcHRpb25zCj4+PiAgICAgIGlmIChzdnRfZW5jLT5l bmNfbW9kZSA+PSAtMSkKPj4+IEBAIC0zMjYsNyArMzI2LDcgQEAgRkZfRU5BQkxFX0RFUFJFQ0FU SU9OX1dBUk5JTkdTCj4+PiAgICAgIGhhbmRsZV9zaWRlX2RhdGEoYXZjdHgsIHBhcmFtKTsKPj4+ Cj4+PiAgI2lmIFNWVF9BVjFfQ0hFQ0tfVkVSU0lPTigwLCA5LCAxKQo+Pj4gLSAgICB3aGlsZSAo KGVuID0gYXZfZGljdF9nZXQoc3Z0X2VuYy0+c3Z0YXYxX29wdHMsICIiLCBlbiwgQVZfRElDVF9J R05PUkVfU1VGRklYKSkpIHsKPj4+ICsgICAgd2hpbGUgKChlbiA9IGF2X2RpY3RfaXRlcmF0ZShz dnRfZW5jLT5zdnRhdjFfb3B0cywgZW4pKSkgewo+Pj4gICAgICAgICAgRWJFcnJvclR5cGUgcmV0 ID0gc3Z0X2F2MV9lbmNfcGFyc2VfcGFyYW1ldGVyKHBhcmFtLCBlbi0+a2V5LCBlbi0+dmFsdWUp Owo+Pj4gICAgICAgICAgaWYgKHJldCAhPSBFQl9FcnJvck5vbmUpIHsKPj4+ICAgICAgICAgICAg ICBpbnQgbGV2ZWwgPSAoYXZjdHgtPmVycl9yZWNvZ25pdGlvbiAmIEFWX0VGX0VYUExPREUpID8g QVZfTE9HX0VSUk9SIDogQVZfTE9HX1dBUk5JTkc7Cj4+PiBAQCAtMzM2LDcgKzMzNiw3IEBAIEZG X0VOQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUwo+Pj4gICAgICAgICAgfQo+Pj4gICAgICB9Cj4+ PiAgI2Vsc2UKPj4+IC0gICAgaWYgKChlbiA9IGF2X2RpY3RfZ2V0KHN2dF9lbmMtPnN2dGF2MV9v cHRzLCAiIiwgTlVMTCwgQVZfRElDVF9JR05PUkVfU1VGRklYKSkpIHsKPj4+ICsgICAgaWYgKGF2 X2RpY3RfY291bnQoc3Z0X2VuYy0+c3Z0YXYxX29wdHMpKSB7Cj4+PiAgICAgICAgICBpbnQgbGV2 ZWwgPSAoYXZjdHgtPmVycl9yZWNvZ25pdGlvbiAmIEFWX0VGX0VYUExPREUpID8gQVZfTE9HX0VS Uk9SIDogQVZfTE9HX1dBUk5JTkc7Cj4+PiAgICAgICAgICBhdl9sb2coYXZjdHgsIGxldmVsLCAi c3Z0LXBhcmFtcyBuZWVkcyBsaWJhdmNvZGVjIHRvIGJlIGNvbXBpbGVkIHdpdGggU1ZULUFWMSAi Cj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGVhZGVycyA+PSAwLjkuMS5cbiIp Owo+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvbGlieDI2NC5jIGIvbGliYXZjb2RlYy9saWJ4 MjY0LmMKPj4+IGluZGV4IDI3MTVmMjc3ZjEuLjI5ZDFhN2NjYmMgMTAwNjQ0Cj4+PiAtLS0gYS9s aWJhdmNvZGVjL2xpYngyNjQuYwo+Pj4gKysrIGIvbGliYXZjb2RlYy9saWJ4MjY0LmMKPj4+IEBA IC0xMzg1LDggKzEzODUsOCBAQCBGRl9FTkFCTEVfREVQUkVDQVRJT05fV0FSTklOR1MKPj4+ICAg ICAgICAgIHg0LT5wYXJhbXMuYl9yZXBlYXRfaGVhZGVycyA9IDE7Cj4+Pgo+Pj4gICAgICB7Cj4+ PiAtICAgICAgICBBVkRpY3Rpb25hcnlFbnRyeSAqZW4gPSBOVUxMOwo+Pj4gLSAgICAgICAgd2hp bGUgKGVuID0gYXZfZGljdF9nZXQoeDQtPngyNjRfcGFyYW1zLCAiIiwgZW4sIEFWX0RJQ1RfSUdO T1JFX1NVRkZJWCkpIHsKPj4+ICsgICAgICAgIGNvbnN0IEFWRGljdGlvbmFyeUVudHJ5ICplbiA9 IE5VTEw7Cj4+PiArICAgICAgICB3aGlsZSAoZW4gPSBhdl9kaWN0X2l0ZXJhdGUoeDQtPngyNjRf cGFyYW1zLCBlbikpIHsKPj4KPj4gTWlzc2luZyBwYWlyIG9mIGJyYWNlcyB0byBtYWtlIHRoZSBj b21waWxlciBub3Qgd2FybiBhYm91dCBhc3NpZ25tZW50IGluIGNoZWNrLCBubz8KPj4KPgo+IEkg ZGlkIG5vdCBjaGFuZ2UgdGhlIHBhcmVudGhlc2VzIGluIHRoaXMgcGF0Y2ggYXQgYWxsIGFzIGRv aW5nIHNvIHdvdWxkCj4gYmUgb3J0aG9nb25hbCB0byB0aGUgcGF0Y2guIFdlIHVzZSB0aGlzIHN0 eWxlIHdpdGhvdXQgdGhlIGFkZGl0aW9uYWwKPiBwYWlyIG9mIHBhcmVudGhlc2VzIGV2ZXJ5d2hl cmUgYW5kIGFjdHVhbGx5IGFkZCAtV25vLXBhcmVudGhlc2VzIGluCj4gY29uZmlndXJlIChsaW5l IDc0MjkpLgoKSW5kZWVkIHNvcnJ5LCBJIGhhZCBwdWxsZWQgcGFydHMgb2YgQVZEaWN0IG91dCBv ZiB0cmVlIHdoZW4gSSBkaWQgYSBidW5jaCBvZiB3b3JrCm9uIGl0IGEgd2hpbGUgYWdvIHRvIGVh c2llciB0ZXN0IGEgbG90IG9mIGVkZ2UgY2FzZXMgYW5kIGRlYnVnIHRoaW5ncy4KCkFueSByZWFz b24gd2h5IHdlIHNpbGVuY2UgdGhpcywgYXMganVzdCBhZGRpbmcgYSBwYWlyIG9mIGJyYWNlcyB0 byBtYWtlIGludGVudApjbGVhcmVyIHZzIGFjY2lkZW50YWxseSBkb2luZyBpdCB3cm9uZyBzb21l d2hlcmUgc2VlbXMgd29ydGggaXTigKYKCkFueXdheSwgTEdUTSB0aGVuIGZvciB0aGlzIHBhdGNo LCBzb3JyeSBmb3IgdGhlIG5vaXNlLgoKPgo+Pj4gICAgICAgICAgICAgaWYgKChyZXQgPSB4MjY0 X3BhcmFtX3BhcnNlKCZ4NC0+cGFyYW1zLCBlbi0+a2V5LCBlbi0+dmFsdWUpKSA8IDApIHsKPj4+ ICAgICAgICAgICAgICAgICBhdl9sb2coYXZjdHgsIEFWX0xPR19XQVJOSU5HLAo+Pj4gICAgICAg ICAgICAgICAgICAgICAgICAiRXJyb3IgcGFyc2luZyBvcHRpb24gJyVzID0gJXMnLlxuIiwKPj4+ IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2xpYngyNjUuYyBiL2xpYmF2Y29kZWMvbGlieDI2NS5j Cj4+PiBpbmRleCBjNGNlZmZmZjVkLi5hYzFkYmM0Zjk3IDEwMDY0NAo+Pj4gLS0tIGEvbGliYXZj b2RlYy9saWJ4MjY1LmMKPj4+ICsrKyBiL2xpYmF2Y29kZWMvbGlieDI2NS5jCj4+PiBAQCAtNDk1 LDggKzQ5NSw4IEBAIEZGX0VOQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUwo+Pj4gICAgICB9Cj4+ Pgo+Pj4gICAgICB7Cj4+PiAtICAgICAgICBBVkRpY3Rpb25hcnlFbnRyeSAqZW4gPSBOVUxMOwo+ Pj4gLSAgICAgICAgd2hpbGUgKChlbiA9IGF2X2RpY3RfZ2V0KGN0eC0+eDI2NV9vcHRzLCAiIiwg ZW4sIEFWX0RJQ1RfSUdOT1JFX1NVRkZJWCkpKSB7Cj4+PiArICAgICAgICBjb25zdCBBVkRpY3Rp b25hcnlFbnRyeSAqZW4gPSBOVUxMOwo+Pj4gKyAgICAgICAgd2hpbGUgKChlbiA9IGF2X2RpY3Rf aXRlcmF0ZShjdHgtPngyNjVfb3B0cywgZW4pKSkgewo+Pj4gICAgICAgICAgICAgIGludCBwYXJz ZV9yZXQgPSBjdHgtPmFwaS0+cGFyYW1fcGFyc2UoY3R4LT5wYXJhbXMsIGVuLT5rZXksIGVuLT52 YWx1ZSk7Cj4+Pgo+Pj4gICAgICAgICAgICAgIHN3aXRjaCAocGFyc2VfcmV0KSB7Cj4+PiBkaWZm IC0tZ2l0IGEvbGliYXZmb3JtYXQvdGVlLmMgYi9saWJhdmZvcm1hdC90ZWUuYwo+Pj4gaW5kZXgg MGMwNTQzZmE2NS4uMWEyYThlYWQ4MiAxMDA2NDQKPj4+IC0tLSBhL2xpYmF2Zm9ybWF0L3RlZS5j Cj4+PiArKysgYi9saWJhdmZvcm1hdC90ZWUuYwo+Pj4gQEAgLTMxMyw3ICszMTMsNyBAQCBzdGF0 aWMgaW50IG9wZW5fc2xhdmUoQVZGb3JtYXRDb250ZXh0ICphdmYsIGNoYXIgKnNsYXZlLCBUZWVT bGF2ZSAqdGVlX3NsYXZlKQo+Pj4gICAgICB9Cj4+Pgo+Pj4gICAgICBlbnRyeSA9IE5VTEw7Cj4+ PiAtICAgIHdoaWxlIChlbnRyeSA9IGF2X2RpY3RfZ2V0KGJzZl9vcHRpb25zLCAiIiwgTlVMTCwg QVZfRElDVF9JR05PUkVfU1VGRklYKSkgewo+Pj4gKyAgICB3aGlsZSAoZW50cnkgPSBhdl9kaWN0 X2l0ZXJhdGUoYnNmX29wdGlvbnMsIE5VTEwpKSB7Cj4+Cj4+IFNhbWUgYXMgYWJvdmUKPj4KPj4+ ICAgICAgICAgIGNvbnN0IGNoYXIgKnNwZWMgPSBlbnRyeS0+a2V5Owo+Pj4gICAgICAgICAgaWYg KCpzcGVjKSB7Cj4+PiAgICAgICAgICAgICAgaWYgKHN0cnNwbihzcGVjLCBzbGF2ZV9ic2ZzX3Nw ZWNfc2VwKSAhPSAxKSB7Cj4+PiBAQCAtMzkwLDcgKzM5MCw3IEBAIHN0YXRpYyBpbnQgb3Blbl9z bGF2ZShBVkZvcm1hdENvbnRleHQgKmF2ZiwgY2hhciAqc2xhdmUsIFRlZVNsYXZlICp0ZWVfc2xh dmUpCj4+Pgo+Pj4gICAgICBpZiAob3B0aW9ucykgewo+Pj4gICAgICAgICAgZW50cnkgPSBOVUxM Owo+Pj4gLSAgICAgICAgd2hpbGUgKChlbnRyeSA9IGF2X2RpY3RfZ2V0KG9wdGlvbnMsICIiLCBl bnRyeSwgQVZfRElDVF9JR05PUkVfU1VGRklYKSkpCj4+PiArICAgICAgICB3aGlsZSAoKGVudHJ5 ID0gYXZfZGljdF9pdGVyYXRlKG9wdGlvbnMsIGVudHJ5KSkpCj4+PiAgICAgICAgICAgICAgYXZf bG9nKGF2ZjIsIEFWX0xPR19FUlJPUiwgIlVua25vd24gb3B0aW9uICclcydcbiIsIGVudHJ5LT5r ZXkpOwo+Pj4gICAgICAgICAgcmV0ID0gQVZFUlJPUl9PUFRJT05fTk9UX0ZPVU5EOwo+Pj4gICAg ICAgICAgZ290byBlbmQ7Cj4+PiAtLSAKPj4+IDIuNDAuMQo+Pgo+PiBPdGhlcndpc2UgTEdUTSwg dGhhbmtzIQo+Pgo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KPiBmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZmZtcGVnLWRldmVsQGZmbXBlZy5v cmcKPiBodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKPgo+ IFRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbAo+IGZmbXBlZy1kZXZl bC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWls aW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxt YW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92 ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3Qg InVuc3Vic2NyaWJlIi4K