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 C78364A50C for ; Fri, 29 Mar 2024 08:45:28 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4B56468D65D; Fri, 29 Mar 2024 10:45:26 +0200 (EET) Received: from bg4.exmail.qq.com (bg4.exmail.qq.com [43.155.65.254]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E60B268CB46 for ; Fri, 29 Mar 2024 10:45:17 +0200 (EET) X-QQ-mid: bizesmtpsz15t1711701909t6fnxx X-QQ-Originating-IP: wNvhiOS0ltGZ0E+a97OtLGsPDumGS58w91DTArigong= Received: from smtpclient.apple ( [111.196.213.76]) by bizesmtp.qq.com (ESMTP) with SMTP id 0 for ; Fri, 29 Mar 2024 16:45:08 +0800 (CST) X-QQ-SSF: 00100000000000Z0Z000000A0000000 X-QQ-FEAT: znfcQSa1hKYDsuzrvQD651szoZOCMy80W2tvd7SzFRPmensSmzsiDpF4iTReK gyGcmWDwUN65fnjKyGuoEwUEJX8ZM+YDPW5y8DfTfDYYGaQSB5Ib6ZTRMzuJSitzBNMxwvF CosF8BMH4UTtpzwvCk3zgIafJ8ordCOu4zUAN+wginSBzLNlvYU3dD5XRQdGDKwH0Cf1aDt 7YqTvu3OZb4Np2cSqqo06C+5ReLL6V0yLsyFRIWNdPnbM4pRW1bXpF64SCUyglRHExp1fNJ 7By0oTQiK73bglzI+fRGIkQD1oVci3B1J+g5auDqVfuNqGnWAQVpHAN6pTEtDj5IGze2HRX rCOJctoOkaCshgQKyyqPE74Mv403xWzhgoDqTeBTwIOOkZrxf0= X-QQ-GoodBg: 0 X-BIZMAIL-ID: 16723949879551507101 From: Steven Liu Mime-Version: 1.0 (1.0) Date: Fri, 29 Mar 2024 16:44:57 +0800 Message-Id: <79C4A7FD-802C-4B46-AED4-FA17FB277529@chinaffmpeg.org> References: In-Reply-To: To: FFmpeg development discussions and patches X-Mailer: iPhone Mail (21D61) X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtpsz:chinaffmpeg.org:qybglogicsvrsz:qybglogicsvrsz3a-0 Subject: Re: [FFmpeg-devel] [PATCH 1/2] libavformat/hls.c: support in-stream ID3 metadata update. 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: Cgo+IOWcqCAyMDI05bm0M+aciDI55pel77yMMDY6NTHvvIxSb21haW4gQmVhdXhpcyA8dG9vdHNA cmFzdGFnZWVrcy5vcmc+IOWGmemBk++8mgo+IAo+IO+7v09uIE1vbiwgTWFyIDI1LCAyMDI0LCAx OTo1OCBSb21haW4gQmVhdXhpcyA8dG9vdHNAcmFzdGFnZWVrcy5vcmc+IHdyb3RlOgo+IAo+PiBU aGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdXBkYXRpbmcgSExTIG1ldGFkYXRhIHBhc3NlZCBh cyBJRDMgZnJhbWVzLgo+PiAKPj4gVGhpcyBzZWVtcyBsaWtlIGEgcHJldHR5IHN0cmFpZ2h0LWZv cndhcmQgaW1wcm92ZW1lbnQuIFVwZGF0aW5nIHRoZQo+PiBtZXRhZGFhdGEgb2YgdGhlIGZpcnN0 IHN0cmVhbSBzZWVtcyB0byBiZSB0aGUgbWVjaGFuaXNtIGlzIG90aGVyIHBsYWNlcwo+PiBpbiB0 aGUgY29kZSBhbmQgd29ya3MgYXMgZXhwZWN0ZWQuCj4+IAo+IAo+IAo+IEhlbGxvIQo+IAo+IEFu eSBpbnRlcmVzdCBpbiByZXZpZXdpbmcgdGhpcz8KTGV0IG1lIHRlc3QgdGhlc2UgcGF0Y2hzZXQg bmVlZCBzb21lIGRheXMsIFRoYW5rcwoKPiAKPiAKPiAtLS0KPj4gbGliYXZmb3JtYXQvaGxzLmMg fCA1NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiAx IGZpbGUgY2hhbmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCj4+IAo+PiBk aWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvaGxzLmMgYi9saWJhdmZvcm1hdC9obHMuYwo+PiBpbmRl eCBmNmI0NGMyZTM1Li5iYTY2MzRkNTdhIDEwMDY0NAo+PiAtLS0gYS9saWJhdmZvcm1hdC9obHMu Ywo+PiArKysgYi9saWJhdmZvcm1hdC9obHMuYwo+PiBAQCAtOTMsNiArOTMsMTIgQEAgZW51bSBQ bGF5bGlzdFR5cGUgewo+PiAgICAgUExTX1RZUEVfVk9ECj4+IH07Cj4+IAo+PiArI2RlZmluZSBJ RDNfUFJJVl9PV05FUl9UUyAiY29tLmFwcGxlLnN0cmVhbWluZy50cmFuc3BvcnRTdHJlYW1UaW1l c3RhbXAiCj4+ICsjZGVmaW5lIElEM19QUklWX09XTkVSX0FVRElPX1NFVFVQICJjb20uYXBwbGUu c3RyZWFtaW5nLmF1ZGlvRGVzY3JpcHRpb24iCj4+ICsKPj4gKyNkZWZpbmUgSUQzdjJfUFJJVl9P V05FUl9UUyBJRDN2Ml9QUklWX01FVEFEQVRBX1BSRUZJWCBJRDNfUFJJVl9PV05FUl9UUwo+PiAr I2RlZmluZSBJRDN2Ml9QUklWX09XTkVSX0FVRElPX1NFVFVQIElEM3YyX1BSSVZfTUVUQURBVEFf UFJFRklYCj4+IElEM19QUklWX09XTkVSX0FVRElPX1NFVFVQCj4+ICsKPj4gLyoKPj4gICogRWFj aCBwbGF5bGlzdCBoYXMgaXRzIG93biBkZW11eGVyLiBJZiBpdCBjdXJyZW50bHkgaXMgYWN0aXZl LAo+PiAgKiBpdCBoYXMgYW4gb3BlbiBBVklPQ29udGV4dCB0b28sIGFuZCBwb3RlbnRpYWxseSBh biBBVlBhY2tldAo+PiBAQCAtMTUwLDkgKzE1Niw3IEBAIHN0cnVjdCBwbGF5bGlzdCB7Cj4+ICAg ICBpbnQ2NF90IGlkM19vZmZzZXQ7IC8qIGluIHN0cmVhbSBvcmlnaW5hbCB0YiAqLwo+PiAgICAg dWludDhfdCogaWQzX2J1ZjsgLyogdGVtcCBidWZmZXIgZm9yIGlkMyBwYXJzaW5nICovCj4+ICAg ICB1bnNpZ25lZCBpbnQgaWQzX2J1Zl9zaXplOwo+PiAtICAgIEFWRGljdGlvbmFyeSAqaWQzX2lu aXRpYWw7IC8qIGRhdGEgZnJvbSBmaXJzdCBpZDMgdGFnICovCj4+IC0gICAgaW50IGlkM19mb3Vu ZDsgLyogSUQzIHRhZyBmb3VuZCBhdCBzb21lIHBvaW50ICovCj4+IC0gICAgaW50IGlkM19jaGFu Z2VkOyAvKiBJRDMgdGFnIGRhdGEgaGFzIGNoYW5nZWQgYXQgc29tZSBwb2ludCAqLwo+PiArICAg IEFWRGljdGlvbmFyeSAqbGFzdF9pZDM7IC8qIGRhdGEgZnJvbSB0aGUgbGFzdCBpZDMgdGFnICov Cj4+ICAgICBJRDN2MkV4dHJhTWV0YSAqaWQzX2RlZmVycmVkX2V4dHJhOyAvKiBzdG9yZWQgaGVy ZSB1bnRpbCBzdWJkZW11eGVyCj4+IGlzIG9wZW5lZCAqLwo+PiAKPj4gICAgIEhMU0F1ZGlvU2V0 dXBJbmZvIGF1ZGlvX3NldHVwX2luZm87Cj4+IEBAIC0yNzAsNyArMjc0LDcgQEAgc3RhdGljIHZv aWQgZnJlZV9wbGF5bGlzdF9saXN0KEhMU0NvbnRleHQgKmMpCj4+ICAgICAgICAgYXZfZnJlZXAo JnBscy0+bWFpbl9zdHJlYW1zKTsKPj4gICAgICAgICBhdl9mcmVlcCgmcGxzLT5yZW5kaXRpb25z KTsKPj4gICAgICAgICBhdl9mcmVlcCgmcGxzLT5pZDNfYnVmKTsKPj4gLSAgICAgICAgYXZfZGlj dF9mcmVlKCZwbHMtPmlkM19pbml0aWFsKTsKPj4gKyAgICAgICAgYXZfZGljdF9mcmVlKCZwbHMt Pmxhc3RfaWQzKTsKPj4gICAgICAgICBmZl9pZDN2Ml9mcmVlX2V4dHJhX21ldGEoJnBscy0+aWQz X2RlZmVycmVkX2V4dHJhKTsKPj4gICAgICAgICBhdl9mcmVlcCgmcGxzLT5pbml0X3NlY19idWYp Owo+PiAgICAgICAgIGF2X3BhY2tldF9mcmVlKCZwbHMtPnBrdCk7Cj4+IEBAIC0xMDgzLDE1ICsx MDg3LDEzIEBAIHN0YXRpYyB2b2lkIHBhcnNlX2lkMyhBVkZvcm1hdENvbnRleHQgKnMsCj4+IEFW SU9Db250ZXh0ICpwYiwKPj4gICAgICAgICAgICAgICAgICAgICAgIEFWRGljdGlvbmFyeSAqKm1l dGFkYXRhLCBpbnQ2NF90ICpkdHMsCj4+IEhMU0F1ZGlvU2V0dXBJbmZvICphdWRpb19zZXR1cF9p bmZvLAo+PiAgICAgICAgICAgICAgICAgICAgICAgSUQzdjJFeHRyYU1ldGFBUElDICoqYXBpYywg SUQzdjJFeHRyYU1ldGEKPj4gKipleHRyYV9tZXRhKQo+PiB7Cj4+IC0gICAgc3RhdGljIGNvbnN0 IGNoYXIgaWQzX3ByaXZfb3duZXJfdHNbXSA9Cj4+ICJjb20uYXBwbGUuc3RyZWFtaW5nLnRyYW5z cG9ydFN0cmVhbVRpbWVzdGFtcCI7Cj4+IC0gICAgc3RhdGljIGNvbnN0IGNoYXIgaWQzX3ByaXZf b3duZXJfYXVkaW9fc2V0dXBbXSA9Cj4+ICJjb20uYXBwbGUuc3RyZWFtaW5nLmF1ZGlvRGVzY3Jp cHRpb24iOwo+PiAgICAgSUQzdjJFeHRyYU1ldGEgKm1ldGE7Cj4+IAo+PiAgICAgZmZfaWQzdjJf cmVhZF9kaWN0KHBiLCBtZXRhZGF0YSwgSUQzdjJfREVGQVVMVF9NQUdJQywgZXh0cmFfbWV0YSk7 Cj4+ICAgICBmb3IgKG1ldGEgPSAqZXh0cmFfbWV0YTsgbWV0YTsgbWV0YSA9IG1ldGEtPm5leHQp IHsKPj4gICAgICAgICBpZiAoIXN0cmNtcChtZXRhLT50YWcsICJQUklWIikpIHsKPj4gICAgICAg ICAgICAgSUQzdjJFeHRyYU1ldGFQUklWICpwcml2ID0gJm1ldGEtPmRhdGEucHJpdjsKPj4gLSAg ICAgICAgICAgIGlmIChwcml2LT5kYXRhc2l6ZSA9PSA4ICYmICFhdl9zdHJuY2FzZWNtcChwcml2 LT5vd25lciwKPj4gaWQzX3ByaXZfb3duZXJfdHMsIDQ0KSkgewo+PiArICAgICAgICAgICAgaWYg KHByaXYtPmRhdGFzaXplID09IDggJiYgIWF2X3N0cm5jYXNlY21wKHByaXYtPm93bmVyLAo+PiBJ RDNfUFJJVl9PV05FUl9UUywgc3RybGVuKElEM19QUklWX09XTkVSX1RTKSkpIHsKPj4gICAgICAg ICAgICAgICAgIC8qIDMzLWJpdCBNUEVHIHRpbWVzdGFtcCAqLwo+PiAgICAgICAgICAgICAgICAg aW50NjRfdCB0cyA9IEFWX1JCNjQocHJpdi0+ZGF0YSk7Cj4+ICAgICAgICAgICAgICAgICBhdl9s b2cocywgQVZfTE9HX0RFQlVHLCAiSExTIElEMyBhdWRpbyB0aW1lc3RhbXAKPj4gJSJQUklkNjQi XG4iLCB0cyk7Cj4+IEBAIC0xMDk5LDcgKzExMDEsOSBAQCBzdGF0aWMgdm9pZCBwYXJzZV9pZDMo QVZGb3JtYXRDb250ZXh0ICpzLAo+PiBBVklPQ29udGV4dCAqcGIsCj4+ICAgICAgICAgICAgICAg ICAgICAgKmR0cyA9IHRzOwo+PiAgICAgICAgICAgICAgICAgZWxzZQo+PiAgICAgICAgICAgICAg ICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfRVJST1IsICJJbnZhbGlkIEhMUyBJRDMgYXVkaW8KPj4g dGltZXN0YW1wICUiUFJJZDY0IlxuIiwgdHMpOwo+PiAtICAgICAgICAgICAgfSBlbHNlIGlmIChw cml2LT5kYXRhc2l6ZSA+PSA4ICYmCj4+ICFhdl9zdHJuY2FzZWNtcChwcml2LT5vd25lciwgaWQz X3ByaXZfb3duZXJfYXVkaW9fc2V0dXAsIDM2KSkgewo+PiArICAgICAgICAgICAgfSBlbHNlIGlm IChwcml2LT5kYXRhc2l6ZSA+PSA4ICYmCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICFhdl9z dHJuY2FzZWNtcChwcml2LT5vd25lciwKPj4gSUQzX1BSSVZfT1dORVJfQVVESU9fU0VUVVAsIDM2 KSAmJgo+PiArICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19zZXR1cF9pbmZvKSB7Cj4+ICAg ICAgICAgICAgICAgICBmZl9obHNfc2VuY19yZWFkX2F1ZGlvX3NldHVwX2luZm8oYXVkaW9fc2V0 dXBfaW5mbywKPj4gcHJpdi0+ZGF0YSwgcHJpdi0+ZGF0YXNpemUpOwo+PiAgICAgICAgICAgICB9 Cj4+ICAgICAgICAgfSBlbHNlIGlmICghc3RyY21wKG1ldGEtPnRhZywgIkFQSUMiKSAmJiBhcGlj KQo+PiBAQCAtMTExMyw5ICsxMTE3LDEwIEBAIHN0YXRpYyBpbnQgaWQzX2hhc19jaGFuZ2VkX3Zh bHVlcyhzdHJ1Y3QgcGxheWxpc3QKPj4gKnBscywgQVZEaWN0aW9uYXJ5ICptZXRhZGF0YSwKPj4g ewo+PiAgICAgY29uc3QgQVZEaWN0aW9uYXJ5RW50cnkgKmVudHJ5ID0gTlVMTDsKPj4gICAgIGNv bnN0IEFWRGljdGlvbmFyeUVudHJ5ICpvbGRlbnRyeTsKPj4gKwo+PiAgICAgLyogY2hlY2sgdGhh dCBubyBrZXlzIGhhdmUgY2hhbmdlZCB2YWx1ZXMgKi8KPj4gICAgIHdoaWxlICgoZW50cnkgPSBh dl9kaWN0X2l0ZXJhdGUobWV0YWRhdGEsIGVudHJ5KSkpIHsKPj4gLSAgICAgICAgb2xkZW50cnkg PSBhdl9kaWN0X2dldChwbHMtPmlkM19pbml0aWFsLCBlbnRyeS0+a2V5LCBOVUxMLAo+PiBBVl9E SUNUX01BVENIX0NBU0UpOwo+PiArICAgICAgICBvbGRlbnRyeSA9IGF2X2RpY3RfZ2V0KHBscy0+ bGFzdF9pZDMsIGVudHJ5LT5rZXksIE5VTEwsCj4+IEFWX0RJQ1RfTUFUQ0hfQ0FTRSk7Cj4+ICAg ICAgICAgaWYgKCFvbGRlbnRyeSB8fCBzdHJjbXAob2xkZW50cnktPnZhbHVlLCBlbnRyeS0+dmFs dWUpICE9IDApCj4+ICAgICAgICAgICAgIHJldHVybiAxOwo+PiAgICAgfQo+PiBAQCAtMTE0Mywz NSArMTE0OCw0MCBAQCBzdGF0aWMgdm9pZCBoYW5kbGVfaWQzKEFWSU9Db250ZXh0ICpwYiwgc3Ry dWN0Cj4+IHBsYXlsaXN0ICpwbHMpCj4+ICAgICBJRDN2MkV4dHJhTWV0YUFQSUMgKmFwaWMgPSBO VUxMOwo+PiAgICAgSUQzdjJFeHRyYU1ldGEgKmV4dHJhX21ldGEgPSBOVUxMOwo+PiAgICAgaW50 NjRfdCB0aW1lc3RhbXAgPSBBVl9OT1BUU19WQUxVRTsKPj4gKyAgICAvLyBPbmx5IHNldCBhdWRp b19zZXR1cF9pbmZvIG9uIGZpcnN0IGlkMyBjaHVuay4KPj4gKyAgICBITFNBdWRpb1NldHVwSW5m byAqYXVkaW9fc2V0dXBfaW5mbyA9IHBscy0+bGFzdF9pZDMgPyBOVUxMIDoKPj4gJnBscy0+YXVk aW9fc2V0dXBfaW5mbzsKPj4gCj4+IC0gICAgcGFyc2VfaWQzKHBscy0+Y3R4LCBwYiwgJm1ldGFk YXRhLCAmdGltZXN0YW1wLAo+PiAmcGxzLT5hdWRpb19zZXR1cF9pbmZvLCAmYXBpYywgJmV4dHJh X21ldGEpOwo+PiArICAgIHBhcnNlX2lkMyhwbHMtPmN0eCwgcGIsICZtZXRhZGF0YSwgJnRpbWVz dGFtcCwgYXVkaW9fc2V0dXBfaW5mbywKPj4gJmFwaWMsICZleHRyYV9tZXRhKTsKPj4gCj4+IC0g ICAgaWYgKHRpbWVzdGFtcCAhPSBBVl9OT1BUU19WQUxVRSkgewo+PiArICAgIGlmIChwbHMtPmlk M19tcGVndHNfdGltZXN0YW1wID09IEFWX05PUFRTX1ZBTFVFICYmIHRpbWVzdGFtcCAhPQo+PiBB Vl9OT1BUU19WQUxVRSkgewo+PiAgICAgICAgIHBscy0+aWQzX21wZWd0c190aW1lc3RhbXAgPSB0 aW1lc3RhbXA7Cj4+ICAgICAgICAgcGxzLT5pZDNfb2Zmc2V0ID0gMDsKPj4gICAgIH0KPj4gCj4+ IC0gICAgaWYgKCFwbHMtPmlkM19mb3VuZCkgewo+PiAtICAgICAgICAvKiBpbml0aWFsIElEMyB0 YWdzICovCj4+IC0gICAgICAgIGF2X2Fzc2VydDAoIXBscy0+aWQzX2RlZmVycmVkX2V4dHJhKTsK Pj4gLSAgICAgICAgcGxzLT5pZDNfZm91bmQgPSAxOwo+PiAtCj4+ICsgICAgaWYgKGlkM19oYXNf Y2hhbmdlZF92YWx1ZXMocGxzLCBtZXRhZGF0YSwgYXBpYykpIHsKPj4gICAgICAgICAvKiBnZXQg cGljdHVyZSBhdHRhY2htZW50IGFuZCBzZXQgdGV4dCBtZXRhZGF0YSAqLwo+PiAgICAgICAgIGlm IChwbHMtPmN0eC0+bmJfc3RyZWFtcykKPj4gICAgICAgICAgICAgZmZfaWQzdjJfcGFyc2VfYXBp YyhwbHMtPmN0eCwgZXh0cmFfbWV0YSk7Cj4+IC0gICAgICAgIGVsc2UKPj4gKyAgICAgICAgZWxz ZSB7Cj4+ICsgICAgICAgICAgICBhdl9hc3NlcnQwKCFwbHMtPmlkM19kZWZlcnJlZF9leHRyYSk7 Cj4+ICAgICAgICAgICAgIC8qIGRlbXV4ZXIgbm90IHlldCBvcGVuZWQsIGRlZmVyIHBpY3R1cmUg YXR0YWNobWVudCAqLwo+PiAgICAgICAgICAgICBwbHMtPmlkM19kZWZlcnJlZF9leHRyYSA9IGV4 dHJhX21ldGE7Cj4+ICsgICAgICAgIH0KPj4gCj4+ICAgICAgICAgZmZfaWQzdjJfcGFyc2VfcHJp dl9kaWN0KCZtZXRhZGF0YSwgZXh0cmFfbWV0YSk7Cj4+ICsKPj4gKyAgICAgICAgYXZfZGljdF9z ZXQoJm1ldGFkYXRhLCBJRDN2Ml9QUklWX09XTkVSX1RTLCBOVUxMLCAwKTsKPj4gKyAgICAgICAg YXZfZGljdF9zZXQoJm1ldGFkYXRhLCBJRDN2Ml9QUklWX09XTkVSX0FVRElPX1NFVFVQLCBOVUxM LCAwKTsKPj4gKwo+PiArICAgICAgICBhdl9kaWN0X2ZyZWUoJnBscy0+Y3R4LT5tZXRhZGF0YSk7 Cj4+ICAgICAgICAgYXZfZGljdF9jb3B5KCZwbHMtPmN0eC0+bWV0YWRhdGEsIG1ldGFkYXRhLCAw KTsKPj4gLSAgICAgICAgcGxzLT5pZDNfaW5pdGlhbCA9IG1ldGFkYXRhOwo+PiAKPj4gKyAgICAg ICAgaWYgKHBscy0+bl9tYWluX3N0cmVhbXMpCj4+ICsgICAgICAgICAgICBhdl9kaWN0X2NvcHko JnBscy0+bWFpbl9zdHJlYW1zWzBdLT5tZXRhZGF0YSwgbWV0YWRhdGEsIDApOwo+PiArCj4+ICsg ICAgICAgIGlmIChwbHMtPmxhc3RfaWQzKSBhdl9kaWN0X2ZyZWUoJnBscy0+bGFzdF9pZDMpOwo+ PiArICAgICAgICBwbHMtPmxhc3RfaWQzID0gbWV0YWRhdGE7Cj4+ICAgICB9IGVsc2Ugewo+PiAt ICAgICAgICBpZiAoIXBscy0+aWQzX2NoYW5nZWQgJiYgaWQzX2hhc19jaGFuZ2VkX3ZhbHVlcyhw bHMsIG1ldGFkYXRhLAo+PiBhcGljKSkgewo+PiAtICAgICAgICAgICAgYXZwcml2X3JlcG9ydF9t aXNzaW5nX2ZlYXR1cmUocGxzLT5wYXJlbnQsICJDaGFuZ2luZyBJRDMKPj4gbWV0YWRhdGEgaW4g SExTIGF1ZGlvIGVsZW1lbnRhcnkgc3RyZWFtIik7Cj4+IC0gICAgICAgICAgICBwbHMtPmlkM19j aGFuZ2VkID0gMTsKPj4gLSAgICAgICAgfQo+PiAgICAgICAgIGF2X2RpY3RfZnJlZSgmbWV0YWRh dGEpOwo+PiAgICAgfQo+PiAKPj4gLS0KPj4gMi4zOS4zIChBcHBsZSBHaXQtMTQ1KQo+PiAKPj4g Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBmZm1w ZWctZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKPiBodHRwczov L2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKPiAKPiBUbyB1bnN1YnNj cmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKPiBmZm1wZWctZGV2ZWwtcmVxdWVzdEBm Zm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApm Zm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5m by9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFp bApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3Jp YmUiLgo=