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 8AA6949AF2 for ; Sun, 3 Mar 2024 03:34:13 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0D98168D34B; Sun, 3 Mar 2024 05:34:11 +0200 (EET) Received: from out203-205-251-59.mail.qq.com (out203-205-251-59.mail.qq.com [203.205.251.59]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 30C7E68D33D for ; Sun, 3 Mar 2024 05:34:02 +0200 (EET) Received: from smtpclient.apple ([2408:8459:3010:459:684e:ae25:9d2b:c749]) by newxmesmtplogicsvrszc5-0.qq.com (NewEsmtp) with SMTP id 87286A62; Sun, 03 Mar 2024 11:33:50 +0800 X-QQ-mid: xmsmtpt1709436830tsu9vvu2k Message-ID: X-QQ-XMAILINFO: OCYbvBDBNb9r/ZWmZyT18NqFkDNK4WGzPrb/8PDfuWfBmaNWTDoSO9mttAbyNL Zb7jkBUVmVa5n/WZpT/86Gq4ou6sFZS5mg2TlYng4gvfEMybI2ESZuL1q1ONzzaDCWAehc3ft8Vd TPdDGCx2J9bsLyY1u31XDXSviRSW5f56m2XgTnsKtbZg1tJAMkKI0QtzMTSbH276mWXRtZAZEtcq hIANxUc3SnlJsCsKNp8QdXph/PqFVEn1LrFAYgZHfyM1T2lYDFaiOPUtijN+2FYlEa5MonREilCt bSaitvetsuEl4zqMnWv/AAyms4TwREmiAgRfysVtj/3ZdtAyQf6l2OAx/VBdnLG5AG6QyAhux49h 7MEz92BI/dnNV6TaZVBcxw/zUL3hDsq3nadnacr4oSoFMlV+T/vQn6xb+LpN+SFUfyZxDSLqvY1S QcQxP6fx3Rk2RBntewcvqe/hSf/c5sVj7jK9/OZqnKmTJuv3T/Tup1wBrgXAVPvo6bJhO0zJFxX4 lDgwWZGXrKh3TmxX4oJQqtW7qWDJavmX196glguEEFZ5icq2UoJ/nrld44YXgPxcWJ3hyR+lDiZL ar23xLhV8xtcYfNcDdSX+34fJN5DnymLbVQSVechZJKtoQ2aCHWQCUBgGQfuXNL+f8NHaedOUze5 vI7rSOAz/PZGzCY2u2DJl2G9SLmesCB7/QBmsQr1wkSSwtCw814BvCfKSl8GmMYYIAVqrt1f+gWZ GK6rDpaAFRP94DD2QkzPsKq/YfBFaHnliXtsfO+hBvpIKCBa5OCyxR4wVev+1i3IwmJs/hHhSts/ 9bTFD2A3OVXozjn0kki4Bp+gxjZ3YiZ6HjIEj3a5M4L0P/P7G79pzpeF3/gL8JYoJXwZRzud/3cR DGq0hYefCh76V7DHYXFXon+VDC4xr0pTupSQhfjSVnkcqqBuoLLgPZzn86xjxi0CsJIE7byjYH+7 KwxEoYqCtI832896V9GfQ1Bzyy8QkjnzTGBvdEa/3oT5EpWYRJJ44jtOyXPT5r X-QQ-XMRINFO: MPJ6Tf5t3I/ycC2BItcBVIA= Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.100.2.1.4\)) In-Reply-To: Date: Sun, 3 Mar 2024 11:33:40 +0800 X-OQ-MSGID: <48E7B120-C887-47B3-9045-74FF07AAC32D@qq.com> References: <29ed7620-f60f-4f31-bc22-3f0903456c07@gmail.com> To: FFmpeg development discussions and patches X-Mailer: Apple Mail (2.3774.100.2.1.4) Subject: Re: [FFmpeg-devel] [PATCH v4 2/3] avformat/flvenc: support enhanced flv PacketTypeMetadata 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: , From: zhupengfei via ffmpeg-devel Reply-To: FFmpeg development discussions and patches Cc: zhupengfei <411294962@qq.com>, andreas.rheinhardt@outlook.com 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+IDIwMjTlubQz5pyIMuaXpSAyMjo1Oe+8jEFuZHJlYXMgUmhlaW5oYXJkdCA8YW5kcmVhcy5y aGVpbmhhcmR0QG91dGxvb2suY29tPiDlhpnpgZPvvJoKPiAKPiB6aHVwZW5nZmVpIHZpYSBmZm1w ZWctZGV2ZWw6Cj4+IEZyb206IFpodSBQZW5nZmVpIDw0MTEyOTQ5NjJAcXEuY29tPgo+PiAKPj4g U2lnbmVkLW9mZi1ieTogWmh1IFBlbmdmZWkgPDQxMTI5NDk2MkBxcS5jb20+Cj4+IC0tLQo+PiBs aWJhdmZvcm1hdC9mbHZlbmMuYyB8IDE0MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCj4+IDEgZmlsZSBjaGFuZ2VkLCAxNDIgaW5zZXJ0aW9ucygrKQo+PiAKPj4g ZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2ZsdmVuYy5jIGIvbGliYXZmb3JtYXQvZmx2ZW5jLmMK Pj4gaW5kZXggZjZkMTBmMzMxYy4uYWU3ZWE4NGJhZCAxMDA2NDQKPj4gLS0tIGEvbGliYXZmb3Jt YXQvZmx2ZW5jLmMKPj4gKysrIGIvbGliYXZmb3JtYXQvZmx2ZW5jLmMKPj4gQEAgLTI0LDYgKzI0 LDcgQEAKPj4gI2luY2x1ZGUgImxpYmF2dXRpbC9pbnRmbG9hdC5oIgo+PiAjaW5jbHVkZSAibGli YXZ1dGlsL2F2YXNzZXJ0LmgiCj4+ICNpbmNsdWRlICJsaWJhdnV0aWwvbWF0aGVtYXRpY3MuaCIK Pj4gKyNpbmNsdWRlICJsaWJhdnV0aWwvbWFzdGVyaW5nX2Rpc3BsYXlfbWV0YWRhdGEuaCIKPj4g I2luY2x1ZGUgImxpYmF2Y29kZWMvY29kZWNfZGVzYy5oIgo+PiAjaW5jbHVkZSAibGliYXZjb2Rl Yy9tcGVnNGF1ZGlvLmgiCj4+ICNpbmNsdWRlICJhdmlvLmgiCj4+IEBAIC0xMjQsNiArMTI1LDcg QEAgdHlwZWRlZiBzdHJ1Y3QgRkxWQ29udGV4dCB7Cj4+IAo+PiAgICAgaW50IGZsYWdzOwo+PiAg ICAgaW50NjRfdCBsYXN0X3RzW0ZMVl9TVFJFQU1fVFlQRV9OQl07Cj4+ICsgICAgaW50IHdyaXRl X21ldGFkYXRhX3BrdDsKPiAKPiBTaG91bGQgYmUgbWV0YWRhdGFfcGt0X3dyaXR0ZW4gdG8gYmUg Y29uc2lzdGVudCB3aXRoIGl0cyBzZW1hbnRpY3MuCj4gCj4+IH0gRkxWQ29udGV4dDsKPj4gCj4+ IHN0YXRpYyBpbnQgZ2V0X2F1ZGlvX2ZsYWdzKEFWRm9ybWF0Q29udGV4dCAqcywgQVZDb2RlY1Bh cmFtZXRlcnMgKnBhcikKPj4gQEAgLTQ3OCw2ICs0ODAsMTQ1IEBAIHN0YXRpYyB2b2lkIHdyaXRl X21ldGFkYXRhKEFWRm9ybWF0Q29udGV4dCAqcywgdW5zaWduZWQgaW50IHRzKQo+PiAgICAgYXZp b193YjMyKHBiLCBmbHYtPm1ldGFkYXRhX3RvdGFsc2l6ZSArIDExKTsKPj4gfQo+PiAKPj4gK3N0 YXRpYyB2b2lkIGZsdl93cml0ZV9tZXRhZGF0YV9wYWNrZXQoQVZGb3JtYXRDb250ZXh0ICpzLCBB VkNvZGVjUGFyYW1ldGVycyAqcGFyLCB1bnNpZ25lZCBpbnQgdHMpCj4+ICt7Cj4+ICsgICAgQVZJ T0NvbnRleHQgKnBiID0gcy0+cGI7Cj4+ICsgICAgRkxWQ29udGV4dCAqZmx2ID0gcy0+cHJpdl9k YXRhOwo+PiArICAgIEFWQ29udGVudExpZ2h0TWV0YWRhdGEgKmxpZ2h0TWV0YWRhdGEgPSBOVUxM Owo+PiArICAgIEFWTWFzdGVyaW5nRGlzcGxheU1ldGFkYXRhICpkaXNwbGF5TWV0YWRhdGEgPSBO VUxMOwo+IAo+IENhbiBiZSBjb25zdGlmaWVkLgo+IAo+PiArICAgIGNvbnN0IGludCBmbGFnc19z aXplID0gNTsKPj4gKyAgICBpbnQ2NF90IG1ldGFkYXRhX3NpemVfcG9zID0gMDsKPj4gKyAgICBp bnQ2NF90IHRvdGFsX3NpemUgPSAwOwo+PiArICAgIGNvbnN0IEFWUGFja2V0U2lkZURhdGEgKnNp ZGVfZGF0YSA9IE5VTEw7Cj4+ICsKPj4gKyAgICBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RF Q19JRF9IRVZDIHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfQVYxIHx8Cj4+ICsgICAg ICAgIHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfVlA5KSB7Cj4gCj4gWW91IGNhbiBhdm9p ZCBvbmUgbGV2ZWwgb2YgaW5kZW50YXRpb24gYnkgcmV0dXJuaW5nIGVhcmx5IGhlcmUuCj4gCj4+ ICsgICAgICAgIGlmIChmbHYtPndyaXRlX21ldGFkYXRhX3BrdCkgcmV0dXJuOwo+PiArCj4+ICsg ICAgICAgIHNpZGVfZGF0YSA9IGF2X3BhY2tldF9zaWRlX2RhdGFfZ2V0KHBhci0+Y29kZWRfc2lk ZV9kYXRhLCBwYXItPm5iX2NvZGVkX3NpZGVfZGF0YSwKPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQVZfUEtUX0RBVEFfQ09OVEVOVF9MSUdIVF9MRVZFTCk7 Cj4+ICsgICAgICAgIGlmIChzaWRlX2RhdGEpCj4+ICsgICAgICAgICAgICBsaWdodE1ldGFkYXRh ID0gKEFWQ29udGVudExpZ2h0TWV0YWRhdGEgKilzaWRlX2RhdGEtPmRhdGE7Cj4+ICsKPj4gKyAg ICAgICAgc2lkZV9kYXRhID0gYXZfcGFja2V0X3NpZGVfZGF0YV9nZXQocGFyLT5jb2RlZF9zaWRl X2RhdGEsIHBhci0+bmJfY29kZWRfc2lkZV9kYXRhLAo+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBBVl9QS1RfREFUQV9NQVNURVJJTkdfRElTUExBWV9NRVRB REFUQSk7Cj4+ICsgICAgICAgIGlmIChzaWRlX2RhdGEpCj4+ICsgICAgICAgICAgICBkaXNwbGF5 TWV0YWRhdGEgPSAoQVZNYXN0ZXJpbmdEaXNwbGF5TWV0YWRhdGEgKilzaWRlX2RhdGEtPmRhdGE7 Cj4+ICsKPj4gKyAgICAgICAgLyoKPj4gKyAgICAgICAgKiBSZWZlcmVuY2UgRW5oYW5jaW5nIEZM Vgo+PiArICAgICAgICAqIGh0dHBzOi8vZ2l0aHViLmNvbS92ZW92ZXJhL2VuaGFuY2VkLXJ0bXAv YmxvYi9tYWluL2VuaGFuY2VkLXJ0bXAucGRmCj4+ICsgICAgICAgICogKi8KPj4gKyAgICAgICAg YXZpb193OChwYiwgRkxWX1RBR19UWVBFX1ZJREVPKTsgLy93cml0ZSB2aWRlbyB0YWcgdHlwZQo+ PiArICAgICAgICBtZXRhZGF0YV9zaXplX3BvcyA9IGF2aW9fdGVsbChwYik7Cj4+ICsgICAgICAg IGF2aW9fd2IyNChwYiwgMCArIGZsYWdzX3NpemUpOwo+PiArICAgICAgICBwdXRfdGltZXN0YW1w KHBiLCB0cyk7IC8vdHMgPSBwa3QtPmR0cywgZ2VuCj4+ICsgICAgICAgIGF2aW9fd2IyNChwYiwg Zmx2LT5yZXNlcnZlZCk7Cj4+ICsKPj4gKyAgICAgICAgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZf Q09ERUNfSURfSEVWQykgewo+PiArICAgICAgICAgICAgYXZpb193OChwYiwgRkxWX0lTX0VYX0hF QURFUiB8IFBhY2tldFR5cGVNZXRhZGF0YXwgRkxWX0ZSQU1FX1ZJREVPX0lORk9fQ01EKTsgLy8g RXhWaWRlb1RhZ0hlYWRlciBtb2RlIHdpdGggUGFja2V0VHlwZU1ldGFkYXRhCj4+ICsgICAgICAg ICAgICBhdmlvX3dyaXRlKHBiLCAiaHZjMSIsIDQpOwo+PiArICAgICAgICB9IGVsc2UgaWYgKHBh ci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfQVYxIHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09E RUNfSURfVlA5KSB7Cj4+ICsgICAgICAgICAgICBhdmlvX3c4KHBiLCBGTFZfSVNfRVhfSEVBREVS IHwgUGFja2V0VHlwZU1ldGFkYXRhfCBGTFZfRlJBTUVfVklERU9fSU5GT19DTUQpOwo+PiArICAg ICAgICAgICAgYXZpb193cml0ZShwYiwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9BVjEg PyAiYXYwMSIgOiAidnAwOSIsIDQpOwo+PiArICAgICAgICB9Cj4+ICsKPj4gKyAgICAgICAgYXZp b193OChwYiwgQU1GX0RBVEFfVFlQRV9TVFJJTkcpOwo+PiArICAgICAgICBwdXRfYW1mX3N0cmlu ZyhwYiwgImNvbG9ySW5mbyIpOwo+PiArCj4+ICsgICAgICAgIGF2aW9fdzgocGIsIEFNRl9EQVRB X1RZUEVfT0JKRUNUKTsKPj4gKwo+PiArICAgICAgICBwdXRfYW1mX3N0cmluZyhwYiwgImNvbG9y Q29uZmlnIik7ICAvLyBjb2xvckNvbmZpZwo+PiArCj4+ICsgICAgICAgIGF2aW9fdzgocGIsIEFN Rl9EQVRBX1RZUEVfT0JKRUNUKTsKPj4gKwo+PiArICAgICAgICBpZiAocGFyLT5jb2xvcl90cmMg IT0gQVZDT0xfVFJDX1VOU1BFQ0lGSUVEICYmCj4+ICsgICAgICAgICAgICBwYXItPmNvbG9yX3Ry YyA8IEFWQ09MX1RSQ19OQikgewo+PiArICAgICAgICAgICAgcHV0X2FtZl9zdHJpbmcocGIsICJ0 cmFuc2ZlckNoYXJhY3RlcmlzdGljcyIpOyAgLy8gY29sb3JfdHJjCj4+ICsgICAgICAgICAgICBw dXRfYW1mX2RvdWJsZShwYiwgcGFyLT5jb2xvcl90cmMpOwo+PiArICAgICAgICB9Cj4+ICsKPj4g KyAgICAgICAgaWYgKHBhci0+Y29sb3Jfc3BhY2UgIT0gQVZDT0xfU1BDX1VOU1BFQ0lGSUVEICYm Cj4+ICsgICAgICAgICAgICBwYXItPmNvbG9yX3NwYWNlIDwgQVZDT0xfU1BDX05CKSB7Cj4+ICsg ICAgICAgICAgICBwdXRfYW1mX3N0cmluZyhwYiwgIm1hdHJpeENvZWZmaWNpZW50cyIpOyAvLyBj b2xvcnNwYWNlCj4+ICsgICAgICAgICAgICBwdXRfYW1mX2RvdWJsZShwYiwgcGFyLT5jb2xvcl9z cGFjZSk7Cj4+ICsgICAgICAgIH0KPj4gKwo+PiArICAgICAgICBpZiAocGFyLT5jb2xvcl9wcmlt YXJpZXMgIT0gQVZDT0xfUFJJX1VOU1BFQ0lGSUVEICYmCj4+ICsgICAgICAgICAgICBwYXItPmNv bG9yX3ByaW1hcmllcyA8IEFWQ09MX1BSSV9OQikgewo+PiArICAgICAgICAgICAgcHV0X2FtZl9z dHJpbmcocGIsICJjb2xvclByaW1hcmllcyIpOyAvLyBjb2xvcl9wcmltYXJpZXMKPj4gKyAgICAg ICAgICAgIHB1dF9hbWZfZG91YmxlKHBiLCBwYXItPmNvbG9yX3ByaW1hcmllcyk7Cj4+ICsgICAg ICAgIH0KPj4gKwo+PiArICAgICAgICBwdXRfYW1mX3N0cmluZyhwYiwgIiIpOwo+PiArICAgICAg ICBhdmlvX3c4KHBiLCBBTUZfRU5EX09GX09CSkVDVCk7Cj4+ICsKPj4gKyAgICAgICAgaWYgKGxp Z2h0TWV0YWRhdGEpIHsKPj4gKyAgICAgICAgICAgIHB1dF9hbWZfc3RyaW5nKHBiLCAiaGRyQ2xs Iik7Cj4+ICsgICAgICAgICAgICBhdmlvX3c4KHBiLCBBTUZfREFUQV9UWVBFX09CSkVDVCk7Cj4+ ICsKPj4gKyAgICAgICAgICAgIHB1dF9hbWZfc3RyaW5nKHBiLCAibWF4RmFsbCIpOwo+PiArICAg ICAgICAgICAgcHV0X2FtZl9kb3VibGUocGIsIGxpZ2h0TWV0YWRhdGEtPk1heEZBTEwpOwo+PiAr Cj4+ICsgICAgICAgICAgICBwdXRfYW1mX3N0cmluZyhwYiwgIm1heENMTCIpOwo+PiArICAgICAg ICAgICAgcHV0X2FtZl9kb3VibGUocGIsIGxpZ2h0TWV0YWRhdGEtPk1heENMTCk7Cj4+ICsKPj4g KyAgICAgICAgICAgIHB1dF9hbWZfc3RyaW5nKHBiLCAiIik7Cj4+ICsgICAgICAgICAgICBhdmlv X3c4KHBiLCBBTUZfRU5EX09GX09CSkVDVCk7Cj4+ICsgICAgICAgIH0KPj4gKwo+PiArICAgICAg ICBpZiAoZGlzcGxheU1ldGFkYXRhICYmIChkaXNwbGF5TWV0YWRhdGEtPmhhc19wcmltYXJpZXMg fHwgZGlzcGxheU1ldGFkYXRhLT5oYXNfbHVtaW5hbmNlKSkgewo+PiArICAgICAgICAgICAgcHV0 X2FtZl9zdHJpbmcocGIsICJoZHJNZGN2Iik7Cj4+ICsgICAgICAgICAgICBhdmlvX3c4KHBiLCBB TUZfREFUQV9UWVBFX09CSkVDVCk7Cj4+ICsgICAgICAgICAgICBpZiAoZGlzcGxheU1ldGFkYXRh LT5oYXNfcHJpbWFyaWVzKSB7Cj4+ICsgICAgICAgICAgICAgICAgcHV0X2FtZl9zdHJpbmcocGIs ICJyZWRYIik7Cj4+ICsgICAgICAgICAgICAgICAgcHV0X2FtZl9kb3VibGUocGIsIGF2X3EyZChk aXNwbGF5TWV0YWRhdGEtPmRpc3BsYXlfcHJpbWFyaWVzWzBdWzBdKSk7Cj4+ICsKPj4gKyAgICAg ICAgICAgICAgICBwdXRfYW1mX3N0cmluZyhwYiwgInJlZFkiKTsKPj4gKyAgICAgICAgICAgICAg ICBwdXRfYW1mX2RvdWJsZShwYiwgYXZfcTJkKGRpc3BsYXlNZXRhZGF0YS0+ZGlzcGxheV9wcmlt YXJpZXNbMF1bMV0pKTsKPj4gKwo+PiArICAgICAgICAgICAgICAgIHB1dF9hbWZfc3RyaW5nKHBi LCAiZ3JlZW5YIik7Cj4+ICsgICAgICAgICAgICAgICAgcHV0X2FtZl9kb3VibGUocGIsIGF2X3Ey ZChkaXNwbGF5TWV0YWRhdGEtPmRpc3BsYXlfcHJpbWFyaWVzWzFdWzBdKSk7Cj4+ICsKPj4gKyAg ICAgICAgICAgICAgICBwdXRfYW1mX3N0cmluZyhwYiwgImdyZWVuWSIpOwo+PiArICAgICAgICAg ICAgICAgIHB1dF9hbWZfZG91YmxlKHBiLCBhdl9xMmQoZGlzcGxheU1ldGFkYXRhLT5kaXNwbGF5 X3ByaW1hcmllc1sxXVsxXSkpOwo+PiArCj4+ICsgICAgICAgICAgICAgICAgcHV0X2FtZl9zdHJp bmcocGIsICJibHVlWCIpOwo+PiArICAgICAgICAgICAgICAgIHB1dF9hbWZfZG91YmxlKHBiLCBh dl9xMmQoZGlzcGxheU1ldGFkYXRhLT5kaXNwbGF5X3ByaW1hcmllc1syXVswXSkpOwo+PiArCj4+ ICsgICAgICAgICAgICAgICAgcHV0X2FtZl9zdHJpbmcocGIsICJibHVlWSIpOwo+PiArICAgICAg ICAgICAgICAgIHB1dF9hbWZfZG91YmxlKHBiLCBhdl9xMmQoZGlzcGxheU1ldGFkYXRhLT5kaXNw bGF5X3ByaW1hcmllc1syXVsxXSkpOwo+PiArCj4+ICsgICAgICAgICAgICAgICAgcHV0X2FtZl9z dHJpbmcocGIsICJ3aGl0ZVBvaW50WCIpOwo+PiArICAgICAgICAgICAgICAgIHB1dF9hbWZfZG91 YmxlKHBiLCBhdl9xMmQoZGlzcGxheU1ldGFkYXRhLT53aGl0ZV9wb2ludFswXSkpOwo+PiArCj4+ ICsgICAgICAgICAgICAgICAgcHV0X2FtZl9zdHJpbmcocGIsICJ3aGl0ZVBvaW50WSIpOwo+PiAr ICAgICAgICAgICAgICAgIHB1dF9hbWZfZG91YmxlKHBiLCBhdl9xMmQoZGlzcGxheU1ldGFkYXRh LT53aGl0ZV9wb2ludFsxXSkpOwo+PiArICAgICAgICAgICAgfQo+PiArICAgICAgICAgICAgaWYg KGRpc3BsYXlNZXRhZGF0YS0+aGFzX2x1bWluYW5jZSkgewo+PiArICAgICAgICAgICAgICAgIHB1 dF9hbWZfc3RyaW5nKHBiLCAibWF4THVtaW5hbmNlIik7Cj4+ICsgICAgICAgICAgICAgICAgcHV0 X2FtZl9kb3VibGUocGIsIGF2X3EyZChkaXNwbGF5TWV0YWRhdGEtPm1heF9sdW1pbmFuY2UpKTsK Pj4gKwo+PiArICAgICAgICAgICAgICAgIHB1dF9hbWZfc3RyaW5nKHBiLCAibWluTHVtaW5hbmNl Iik7Cj4+ICsgICAgICAgICAgICAgICAgcHV0X2FtZl9kb3VibGUocGIsIGF2X3EyZChkaXNwbGF5 TWV0YWRhdGEtPm1pbl9sdW1pbmFuY2UpKTsKPj4gKyAgICAgICAgICAgIH0KPj4gKyAgICAgICAg ICAgIHB1dF9hbWZfc3RyaW5nKHBiLCAiIik7Cj4+ICsgICAgICAgICAgICBhdmlvX3c4KHBiLCBB TUZfRU5EX09GX09CSkVDVCk7Cj4+ICsgICAgICAgIH0KPj4gKyAgICAgICAgcHV0X2FtZl9zdHJp bmcocGIsICIiKTsKPj4gKyAgICAgICAgYXZpb193OChwYiwgQU1GX0VORF9PRl9PQkpFQ1QpOwo+ PiArCj4+ICsgICAgICAgIHRvdGFsX3NpemUgPSBhdmlvX3RlbGwocGIpIC0gbWV0YWRhdGFfc2l6 ZV9wb3MgLSAxMDsKPj4gKyAgICAgICAgYXZpb19zZWVrKHBiLCBtZXRhZGF0YV9zaXplX3Bvcywg U0VFS19TRVQpOwo+IAo+IEkgc2VlIG5vdGhpbmcgdGhhdCBndWFyYW50ZWVzIHRoYXQgdGhpcyBz ZWVrIHdpbGwgc3VjY2VlZC4gSW4gZmFjdCwgdGhpcwo+IHdob2xlIG11eGVyIHNlZW1zIHRvIHBy ZXN1bWUgdGhhdCB0aGUgb3V0cHV0IGlzIHNlZWthYmxlLCB3aXRob3V0Cj4gY2hlY2tpbmcgc28u IEV2ZW4gd29yc2U6IGZsdl93cml0ZV9oZWFkZXIoKSBjbGVhcnMgdGhlIEFWSU9Db250ZXh0J3MK PiBzZWVrYWJpbGl0eSBmaWVsZCBpbiBjYXNlIHRoZSBGTFZfTk9fTUVUQURBVEEgZmxhZyBpcyBz ZXQuCj4gCgpIaSBBbmRyZWFzOiBUaGFuayB5b3UgdmVyeSBtdWNoIGZvciB5b3VyIHN1Z2dlc3Rp b24uIFRoZSBvdGhlciBjb21tZW50cyBoYXZlIGJlZW4gbW9kaWZpZWQuCgoxLiAiSSBzZWUgbm90 aGluZyB0aGF0IGd1YXJhbnRlZXMgdGhhdCB0aGlzIHNlZWsgd2lsbCBzdWNjZWVkIiAKCUFzIHlv dSBtZW50aW9uZWQsIG1vc3Qgb2YgdGhlIG90aGVyIG11eGVyIHNjZW5hcmlvcyB3aGVyZSBhdmlv X3NlZWsgaXMgdXNlZCBoYXZlIG5vIGd1YXJhbnRlZXMuIEluIG15IHRob3VndGgsIGl0IGlzIHJl bGF0aXZlbHkgc2FmZSB0byB1c2UgU0VFS19TRVQgdG8gZmluZCB0aGUgY29ycmVzcG9uZGluZyBv ZmZzZXQgaW4gdGhpcyBzY2VuYXJpby4KMi4gImZsdl93cml0ZV9oZWFkZXIoKSBjbGVhcnMgdGhl IEFWSU9Db250ZXh0J3Mgc2Vla2FiaWxpdHkgZmllbGQgaW4gY2FzZSB0aGUgRkxWX05PX01FVEFE QVRBIGZsYWcgaXMgc2V0IgoJSSBjaGVja2VkIHRoZSBjb3JyZXNwb25kaW5nIGNvbW1pdCBsb2cg YW5kIGl0IHdhcyBzdWJtaXR0ZWQgYnkgU3RldmVuIExpdSwgd2hpY2ggbG9va3MgbW9yZSBsaWtl IGFuIGV4cGVjdGVkIGZlYXR1cmUuCiAgICAJImF2Zm9ybWF0L2ZsdmVuYzogYWRkIG5vX21ldGFk YXRhIHRvIGZsdmZsYWdzIHNvbWUgZmx2IGhhdmUgbm8gbWV0YWRhdGEsIGZmbXBlZyB3aWxsIHNh bWUgd2l0aCB0aGUgc291cmNlIGZsdiBzdHJlYW0uIgoKCj4+ICsgICAgICAgIGF2aW9fd2IyNChw YiwgdG90YWxfc2l6ZSk7Cj4+ICsgICAgICAgIGF2aW9fdGVsbChwYik7Cj4+ICsgICAgICAgIGF2 aW9fc2tpcChwYiwgdG90YWxfc2l6ZSArIDEwIC0gMyk7Cj4+ICsgICAgICAgIGF2aW9fdGVsbChw Yik7Cj4gCj4gVGhlc2UgdHdvIGF2aW9fdGVsbCgpIGFyZSB1c2VsZXNzLgo+IAo+PiArICAgICAg ICBhdmlvX3diMzIocGIsIHRvdGFsX3NpemUgKyAxMSk7IC8vIHByZXZpb3VzIHRhZyBzaXplCj4+ ICsgICAgICAgIGZsdi0+d3JpdGVfbWV0YWRhdGFfcGt0ID0gMTsKPj4gKyAgICB9Cj4+ICt9Cj4+ ICsKPj4gc3RhdGljIGludCB1bnN1cHBvcnRlZF9jb2RlYyhBVkZvcm1hdENvbnRleHQgKnMsCj4+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogdHlwZSwgaW50IGNvZGVj X2lkKQo+PiB7Cj4+IEBAIC04NzgsNiArMTAxOSw3IEBAIHN0YXRpYyBpbnQgZmx2X3dyaXRlX3Bh Y2tldChBVkZvcm1hdENvbnRleHQgKnMsIEFWUGFja2V0ICpwa3QpCj4+ICAgICAgICAgICAgIG1l bWNweShwYXItPmV4dHJhZGF0YSwgc2lkZSwgc2lkZV9zaXplKTsKPj4gICAgICAgICAgICAgZmx2 X3dyaXRlX2NvZGVjX2hlYWRlcihzLCBwYXIsIHBrdC0+ZHRzKTsKPj4gICAgICAgICB9Cj4+ICsg ICAgICAgIGZsdl93cml0ZV9tZXRhZGF0YV9wYWNrZXQocywgcGFyLCBwa3QtPmR0cyk7Cj4+ICAg ICB9Cj4+IAo+PiAgICAgaWYgKGZsdi0+ZGVsYXkgPT0gQVZfTk9QVFNfVkFMVUUpCj4gCj4gX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBmZm1wZWctZGV2 ZWwgbWFpbGluZyBsaXN0Cj4gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKPiBodHRwczovL2ZmbXBl Zy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKPiAKPiBUbyB1bnN1YnNjcmliZSwg dmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKPiBmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcu b3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWct ZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1w ZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1w ZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=