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 8E2D64923E for ; Sun, 7 Apr 2024 10:44:43 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8026568D159; Sun, 7 Apr 2024 13:44:40 +0300 (EEST) Received: from mail-vk1-f171.google.com (mail-vk1-f171.google.com [209.85.221.171]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DC20C68CBED for ; Sun, 7 Apr 2024 13:44:34 +0300 (EEST) Received: by mail-vk1-f171.google.com with SMTP id 71dfb90a1353d-4dacb2ad01dso282576e0c.3 for ; Sun, 07 Apr 2024 03:44:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712486673; x=1713091473; darn=ffmpeg.org; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=8r+b9Pah2I+8Y2OmA/hNPiplziRfB8lcxFhWPpEu2ds=; b=IG54JUiFWEEl6OV9GexhqnwI98PY9DWjZqkc3NjJR4406l33Ho3x1AdRCTlOcaTqwg j72U/w31MsxBLLevgZIA1TG8J1BZkDO2H/Bi8Z/7Bvd9g103rhmbmceyqkme1/CRmvmD Gy6Qh0edXufTQj9G0yUNWbpPwRFgKVuEpWo/BSV4PFHXYUgsEIryLOcpl2+G33alOJQf +oToBq/UKp+2iM8VmujLmuMiKfPrtP7sYxKtV/EkX+u4h7HmOPx6sGk/Ueu6l4LZOJ5V jBmm4HKJTHempe6Yf+qdPZNRHw6B6O39kBiK1QPwDzhw5YGBKcALD4JtOFiSMaW/qJ+f hZRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712486673; x=1713091473; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8r+b9Pah2I+8Y2OmA/hNPiplziRfB8lcxFhWPpEu2ds=; b=B+GTBRTjfKbOgHsRNiRyInmrPec5hKanHP44889xqgIShyEcZVzb7YGmciRyt3Zo1E rUtWswyDcGgjntEknB33dvr5LbJ8rPuPsaR1z3j9rFDs56Df+0UQ0xIz56I6Ok63FquB Q7UEhiTwZvsX57PXWxCY41OdDZtG0DHs2b8MVR7AJrpc5CZ8gf6acKmR7HVZ7/GIeFqV W/a2gvuIg6Ioy5tejsvV/NssdJcYsU8Nju57OnaOXhSIlR9oj1FGUIDSiWJIYMXQI81H Ai61zpSrib1DYDvxfUoLE364bCtcrGINpGLDtroemj1Uvm2oDftwnvpH62BlTaXV02AJ xCFQ== X-Gm-Message-State: AOJu0YxeEaT5P/o0jBtfA3k3A/Krd7LC0zgRsOWGij5dnljkjGH8QwD0 +ZZiGqdLhwbOZ6Wc1PTvspSTpCMjB0YQsU3Amw0IL+3nWNorMOBp5A6qnz8XOkWfRw/xi2Gnm7O 7AcXODsN8h5XdFhLtDKZlRq2FgjWR8E7FGCY= X-Google-Smtp-Source: AGHT+IHHgcDaHWUsltuJVQuVqp46ccdPeud2Q/B8zLR+QRDaKjGyhd/BPr2SPudvWFV7zu+kb9bdCqkxS/PlM8fMSAg= X-Received: by 2002:a05:6102:f06:b0:479:f3c3:d536 with SMTP id v6-20020a0561020f0600b00479f3c3d536mr1422775vss.28.1712486672579; Sun, 07 Apr 2024 03:44:32 -0700 (PDT) MIME-Version: 1.0 References: <20240326005639.27000-1-toots@rastageeks.org> In-Reply-To: <20240326005639.27000-1-toots@rastageeks.org> From: Steven Liu Date: Sun, 7 Apr 2024 18:44:21 +0800 Message-ID: To: FFmpeg development discussions and patches 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: Um9tYWluIEJlYXV4aXMgPHRvb3RzQHJhc3RhZ2Vla3Mub3JnPiDkuo4yMDI05bm0M+aciDI25pel 5ZGo5LqMIDA4OjU45YaZ6YGT77yaCj4KPiBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdXBk YXRpbmcgSExTIG1ldGFkYXRhIHBhc3NlZCBhcyBJRDMgZnJhbWVzLgo+Cj4gVGhpcyBzZWVtcyBs aWtlIGEgcHJldHR5IHN0cmFpZ2h0LWZvcndhcmQgaW1wcm92ZW1lbnQuIFVwZGF0aW5nIHRoZQo+ IG1ldGFkYWF0YSBvZiB0aGUgZmlyc3Qgc3RyZWFtIHNlZW1zIHRvIGJlIHRoZSBtZWNoYW5pc20g aXMgb3RoZXIgcGxhY2VzCj4gaW4gdGhlIGNvZGUgYW5kIHdvcmtzIGFzIGV4cGVjdGVkLgo+Cj4g LS0tCj4gIGxpYmF2Zm9ybWF0L2hscy5jIHwgNTQgKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKyks IDIyIGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2hscy5jIGIvbGli YXZmb3JtYXQvaGxzLmMKPiBpbmRleCBmNmI0NGMyZTM1Li5iYTY2MzRkNTdhIDEwMDY0NAo+IC0t LSBhL2xpYmF2Zm9ybWF0L2hscy5jCj4gKysrIGIvbGliYXZmb3JtYXQvaGxzLmMKPiBAQCAtOTMs NiArOTMsMTIgQEAgZW51bSBQbGF5bGlzdFR5cGUgewo+ICAgICAgUExTX1RZUEVfVk9ECj4gIH07 Cj4KPiArI2RlZmluZSBJRDNfUFJJVl9PV05FUl9UUyAiY29tLmFwcGxlLnN0cmVhbWluZy50cmFu c3BvcnRTdHJlYW1UaW1lc3RhbXAiCj4gKyNkZWZpbmUgSUQzX1BSSVZfT1dORVJfQVVESU9fU0VU VVAgImNvbS5hcHBsZS5zdHJlYW1pbmcuYXVkaW9EZXNjcmlwdGlvbiIKPiArCj4gKyNkZWZpbmUg SUQzdjJfUFJJVl9PV05FUl9UUyBJRDN2Ml9QUklWX01FVEFEQVRBX1BSRUZJWCBJRDNfUFJJVl9P V05FUl9UUwo+ICsjZGVmaW5lIElEM3YyX1BSSVZfT1dORVJfQVVESU9fU0VUVVAgSUQzdjJfUFJJ Vl9NRVRBREFUQV9QUkVGSVggSUQzX1BSSVZfT1dORVJfQVVESU9fU0VUVVAKPiArCj4gIC8qCj4g ICAqIEVhY2ggcGxheWxpc3QgaGFzIGl0cyBvd24gZGVtdXhlci4gSWYgaXQgY3VycmVudGx5IGlz IGFjdGl2ZSwKPiAgICogaXQgaGFzIGFuIG9wZW4gQVZJT0NvbnRleHQgdG9vLCBhbmQgcG90ZW50 aWFsbHkgYW4gQVZQYWNrZXQKPiBAQCAtMTUwLDkgKzE1Niw3IEBAIHN0cnVjdCBwbGF5bGlzdCB7 Cj4gICAgICBpbnQ2NF90IGlkM19vZmZzZXQ7IC8qIGluIHN0cmVhbSBvcmlnaW5hbCB0YiAqLwo+ ICAgICAgdWludDhfdCogaWQzX2J1ZjsgLyogdGVtcCBidWZmZXIgZm9yIGlkMyBwYXJzaW5nICov Cj4gICAgICB1bnNpZ25lZCBpbnQgaWQzX2J1Zl9zaXplOwo+IC0gICAgQVZEaWN0aW9uYXJ5ICpp ZDNfaW5pdGlhbDsgLyogZGF0YSBmcm9tIGZpcnN0IGlkMyB0YWcgKi8KPiAtICAgIGludCBpZDNf Zm91bmQ7IC8qIElEMyB0YWcgZm91bmQgYXQgc29tZSBwb2ludCAqLwo+IC0gICAgaW50IGlkM19j aGFuZ2VkOyAvKiBJRDMgdGFnIGRhdGEgaGFzIGNoYW5nZWQgYXQgc29tZSBwb2ludCAqLwo+ICsg ICAgQVZEaWN0aW9uYXJ5ICpsYXN0X2lkMzsgLyogZGF0YSBmcm9tIHRoZSBsYXN0IGlkMyB0YWcg Ki8KPiAgICAgIElEM3YyRXh0cmFNZXRhICppZDNfZGVmZXJyZWRfZXh0cmE7IC8qIHN0b3JlZCBo ZXJlIHVudGlsIHN1YmRlbXV4ZXIgaXMgb3BlbmVkICovCj4KPiAgICAgIEhMU0F1ZGlvU2V0dXBJ bmZvIGF1ZGlvX3NldHVwX2luZm87Cj4gQEAgLTI3MCw3ICsyNzQsNyBAQCBzdGF0aWMgdm9pZCBm cmVlX3BsYXlsaXN0X2xpc3QoSExTQ29udGV4dCAqYykKPiAgICAgICAgICBhdl9mcmVlcCgmcGxz LT5tYWluX3N0cmVhbXMpOwo+ICAgICAgICAgIGF2X2ZyZWVwKCZwbHMtPnJlbmRpdGlvbnMpOwo+ ICAgICAgICAgIGF2X2ZyZWVwKCZwbHMtPmlkM19idWYpOwo+IC0gICAgICAgIGF2X2RpY3RfZnJl ZSgmcGxzLT5pZDNfaW5pdGlhbCk7Cj4gKyAgICAgICAgYXZfZGljdF9mcmVlKCZwbHMtPmxhc3Rf aWQzKTsKPiAgICAgICAgICBmZl9pZDN2Ml9mcmVlX2V4dHJhX21ldGEoJnBscy0+aWQzX2RlZmVy cmVkX2V4dHJhKTsKPiAgICAgICAgICBhdl9mcmVlcCgmcGxzLT5pbml0X3NlY19idWYpOwo+ICAg ICAgICAgIGF2X3BhY2tldF9mcmVlKCZwbHMtPnBrdCk7Cj4gQEAgLTEwODMsMTUgKzEwODcsMTMg QEAgc3RhdGljIHZvaWQgcGFyc2VfaWQzKEFWRm9ybWF0Q29udGV4dCAqcywgQVZJT0NvbnRleHQg KnBiLAo+ICAgICAgICAgICAgICAgICAgICAgICAgQVZEaWN0aW9uYXJ5ICoqbWV0YWRhdGEsIGlu dDY0X3QgKmR0cywgSExTQXVkaW9TZXR1cEluZm8gKmF1ZGlvX3NldHVwX2luZm8sCj4gICAgICAg ICAgICAgICAgICAgICAgICBJRDN2MkV4dHJhTWV0YUFQSUMgKiphcGljLCBJRDN2MkV4dHJhTWV0 YSAqKmV4dHJhX21ldGEpCj4gIHsKPiAtICAgIHN0YXRpYyBjb25zdCBjaGFyIGlkM19wcml2X293 bmVyX3RzW10gPSAiY29tLmFwcGxlLnN0cmVhbWluZy50cmFuc3BvcnRTdHJlYW1UaW1lc3RhbXAi Owo+IC0gICAgc3RhdGljIGNvbnN0IGNoYXIgaWQzX3ByaXZfb3duZXJfYXVkaW9fc2V0dXBbXSA9 ICJjb20uYXBwbGUuc3RyZWFtaW5nLmF1ZGlvRGVzY3JpcHRpb24iOwo+ICAgICAgSUQzdjJFeHRy YU1ldGEgKm1ldGE7Cj4KPiAgICAgIGZmX2lkM3YyX3JlYWRfZGljdChwYiwgbWV0YWRhdGEsIElE M3YyX0RFRkFVTFRfTUFHSUMsIGV4dHJhX21ldGEpOwo+ICAgICAgZm9yIChtZXRhID0gKmV4dHJh X21ldGE7IG1ldGE7IG1ldGEgPSBtZXRhLT5uZXh0KSB7Cj4gICAgICAgICAgaWYgKCFzdHJjbXAo bWV0YS0+dGFnLCAiUFJJViIpKSB7Cj4gICAgICAgICAgICAgIElEM3YyRXh0cmFNZXRhUFJJViAq cHJpdiA9ICZtZXRhLT5kYXRhLnByaXY7Cj4gLSAgICAgICAgICAgIGlmIChwcml2LT5kYXRhc2l6 ZSA9PSA4ICYmICFhdl9zdHJuY2FzZWNtcChwcml2LT5vd25lciwgaWQzX3ByaXZfb3duZXJfdHMs IDQ0KSkgewo+ICsgICAgICAgICAgICBpZiAocHJpdi0+ZGF0YXNpemUgPT0gOCAmJiAhYXZfc3Ry bmNhc2VjbXAocHJpdi0+b3duZXIsIElEM19QUklWX09XTkVSX1RTLCBzdHJsZW4oSUQzX1BSSVZf T1dORVJfVFMpKSkgewo+ICAgICAgICAgICAgICAgICAgLyogMzMtYml0IE1QRUcgdGltZXN0YW1w ICovCj4gICAgICAgICAgICAgICAgICBpbnQ2NF90IHRzID0gQVZfUkI2NChwcml2LT5kYXRhKTsK PiAgICAgICAgICAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfREVCVUcsICJITFMgSUQzIGF1ZGlv IHRpbWVzdGFtcCAlIlBSSWQ2NCJcbiIsIHRzKTsKPiBAQCAtMTA5OSw3ICsxMTAxLDkgQEAgc3Rh dGljIHZvaWQgcGFyc2VfaWQzKEFWRm9ybWF0Q29udGV4dCAqcywgQVZJT0NvbnRleHQgKnBiLAo+ ICAgICAgICAgICAgICAgICAgICAgICpkdHMgPSB0czsKPiAgICAgICAgICAgICAgICAgIGVsc2UK PiAgICAgICAgICAgICAgICAgICAgICBhdl9sb2cocywgQVZfTE9HX0VSUk9SLCAiSW52YWxpZCBI TFMgSUQzIGF1ZGlvIHRpbWVzdGFtcCAlIlBSSWQ2NCJcbiIsIHRzKTsKPiAtICAgICAgICAgICAg fSBlbHNlIGlmIChwcml2LT5kYXRhc2l6ZSA+PSA4ICYmICFhdl9zdHJuY2FzZWNtcChwcml2LT5v d25lciwgaWQzX3ByaXZfb3duZXJfYXVkaW9fc2V0dXAsIDM2KSkgewo+ICsgICAgICAgICAgICB9 IGVsc2UgaWYgKHByaXYtPmRhdGFzaXplID49IDggJiYKPiArICAgICAgICAgICAgICAgICAgICAg ICAhYXZfc3RybmNhc2VjbXAocHJpdi0+b3duZXIsIElEM19QUklWX09XTkVSX0FVRElPX1NFVFVQ LCAzNikgJiYKPiArICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19zZXR1cF9pbmZvKSB7Cj4g ICAgICAgICAgICAgICAgICBmZl9obHNfc2VuY19yZWFkX2F1ZGlvX3NldHVwX2luZm8oYXVkaW9f c2V0dXBfaW5mbywgcHJpdi0+ZGF0YSwgcHJpdi0+ZGF0YXNpemUpOwo+ICAgICAgICAgICAgICB9 Cj4gICAgICAgICAgfSBlbHNlIGlmICghc3RyY21wKG1ldGEtPnRhZywgIkFQSUMiKSAmJiBhcGlj KQo+IEBAIC0xMTEzLDkgKzExMTcsMTAgQEAgc3RhdGljIGludCBpZDNfaGFzX2NoYW5nZWRfdmFs dWVzKHN0cnVjdCBwbGF5bGlzdCAqcGxzLCBBVkRpY3Rpb25hcnkgKm1ldGFkYXRhLAo+ICB7Cj4g ICAgICBjb25zdCBBVkRpY3Rpb25hcnlFbnRyeSAqZW50cnkgPSBOVUxMOwo+ICAgICAgY29uc3Qg QVZEaWN0aW9uYXJ5RW50cnkgKm9sZGVudHJ5Owo+ICsKPiAgICAgIC8qIGNoZWNrIHRoYXQgbm8g a2V5cyBoYXZlIGNoYW5nZWQgdmFsdWVzICovCj4gICAgICB3aGlsZSAoKGVudHJ5ID0gYXZfZGlj dF9pdGVyYXRlKG1ldGFkYXRhLCBlbnRyeSkpKSB7Cj4gLSAgICAgICAgb2xkZW50cnkgPSBhdl9k aWN0X2dldChwbHMtPmlkM19pbml0aWFsLCBlbnRyeS0+a2V5LCBOVUxMLCBBVl9ESUNUX01BVENI X0NBU0UpOwo+ICsgICAgICAgIG9sZGVudHJ5ID0gYXZfZGljdF9nZXQocGxzLT5sYXN0X2lkMywg ZW50cnktPmtleSwgTlVMTCwgQVZfRElDVF9NQVRDSF9DQVNFKTsKPiAgICAgICAgICBpZiAoIW9s ZGVudHJ5IHx8IHN0cmNtcChvbGRlbnRyeS0+dmFsdWUsIGVudHJ5LT52YWx1ZSkgIT0gMCkKPiAg ICAgICAgICAgICAgcmV0dXJuIDE7Cj4gICAgICB9Cj4gQEAgLTExNDMsMzUgKzExNDgsNDAgQEAg c3RhdGljIHZvaWQgaGFuZGxlX2lkMyhBVklPQ29udGV4dCAqcGIsIHN0cnVjdCBwbGF5bGlzdCAq cGxzKQo+ICAgICAgSUQzdjJFeHRyYU1ldGFBUElDICphcGljID0gTlVMTDsKPiAgICAgIElEM3Yy RXh0cmFNZXRhICpleHRyYV9tZXRhID0gTlVMTDsKPiAgICAgIGludDY0X3QgdGltZXN0YW1wID0g QVZfTk9QVFNfVkFMVUU7Cj4gKyAgICAvLyBPbmx5IHNldCBhdWRpb19zZXR1cF9pbmZvIG9uIGZp cnN0IGlkMyBjaHVuay4KPiArICAgIEhMU0F1ZGlvU2V0dXBJbmZvICphdWRpb19zZXR1cF9pbmZv ID0gcGxzLT5sYXN0X2lkMyA/IE5VTEwgOiAmcGxzLT5hdWRpb19zZXR1cF9pbmZvOwo+Cj4gLSAg ICBwYXJzZV9pZDMocGxzLT5jdHgsIHBiLCAmbWV0YWRhdGEsICZ0aW1lc3RhbXAsICZwbHMtPmF1 ZGlvX3NldHVwX2luZm8sICZhcGljLCAmZXh0cmFfbWV0YSk7Cj4gKyAgICBwYXJzZV9pZDMocGxz LT5jdHgsIHBiLCAmbWV0YWRhdGEsICZ0aW1lc3RhbXAsIGF1ZGlvX3NldHVwX2luZm8sICZhcGlj LCAmZXh0cmFfbWV0YSk7Cj4KPiAtICAgIGlmICh0aW1lc3RhbXAgIT0gQVZfTk9QVFNfVkFMVUUp IHsKPiArICAgIGlmIChwbHMtPmlkM19tcGVndHNfdGltZXN0YW1wID09IEFWX05PUFRTX1ZBTFVF ICYmIHRpbWVzdGFtcCAhPSBBVl9OT1BUU19WQUxVRSkgewo+ICAgICAgICAgIHBscy0+aWQzX21w ZWd0c190aW1lc3RhbXAgPSB0aW1lc3RhbXA7Cj4gICAgICAgICAgcGxzLT5pZDNfb2Zmc2V0ID0g MDsKPiAgICAgIH0KPgo+IC0gICAgaWYgKCFwbHMtPmlkM19mb3VuZCkgewo+IC0gICAgICAgIC8q IGluaXRpYWwgSUQzIHRhZ3MgKi8KPiAtICAgICAgICBhdl9hc3NlcnQwKCFwbHMtPmlkM19kZWZl cnJlZF9leHRyYSk7Cj4gLSAgICAgICAgcGxzLT5pZDNfZm91bmQgPSAxOwo+IC0KPiArICAgIGlm IChpZDNfaGFzX2NoYW5nZWRfdmFsdWVzKHBscywgbWV0YWRhdGEsIGFwaWMpKSB7Cj4gICAgICAg ICAgLyogZ2V0IHBpY3R1cmUgYXR0YWNobWVudCBhbmQgc2V0IHRleHQgbWV0YWRhdGEgKi8KPiAg ICAgICAgICBpZiAocGxzLT5jdHgtPm5iX3N0cmVhbXMpCj4gICAgICAgICAgICAgIGZmX2lkM3Yy X3BhcnNlX2FwaWMocGxzLT5jdHgsIGV4dHJhX21ldGEpOwo+IC0gICAgICAgIGVsc2UKPiArICAg ICAgICBlbHNlIHsKPiArICAgICAgICAgICAgYXZfYXNzZXJ0MCghcGxzLT5pZDNfZGVmZXJyZWRf ZXh0cmEpOwo+ICAgICAgICAgICAgICAvKiBkZW11eGVyIG5vdCB5ZXQgb3BlbmVkLCBkZWZlciBw aWN0dXJlIGF0dGFjaG1lbnQgKi8KPiAgICAgICAgICAgICAgcGxzLT5pZDNfZGVmZXJyZWRfZXh0 cmEgPSBleHRyYV9tZXRhOwo+ICsgICAgICAgIH0KPgo+ICAgICAgICAgIGZmX2lkM3YyX3BhcnNl X3ByaXZfZGljdCgmbWV0YWRhdGEsIGV4dHJhX21ldGEpOwo+ICsKPiArICAgICAgICBhdl9kaWN0 X3NldCgmbWV0YWRhdGEsIElEM3YyX1BSSVZfT1dORVJfVFMsIE5VTEwsIDApOwo+ICsgICAgICAg IGF2X2RpY3Rfc2V0KCZtZXRhZGF0YSwgSUQzdjJfUFJJVl9PV05FUl9BVURJT19TRVRVUCwgTlVM TCwgMCk7Cj4gKwo+ICsgICAgICAgIGF2X2RpY3RfZnJlZSgmcGxzLT5jdHgtPm1ldGFkYXRhKTsK PiAgICAgICAgICBhdl9kaWN0X2NvcHkoJnBscy0+Y3R4LT5tZXRhZGF0YSwgbWV0YWRhdGEsIDAp Owo+IC0gICAgICAgIHBscy0+aWQzX2luaXRpYWwgPSBtZXRhZGF0YTsKPgo+ICsgICAgICAgIGlm IChwbHMtPm5fbWFpbl9zdHJlYW1zKQo+ICsgICAgICAgICAgICBhdl9kaWN0X2NvcHkoJnBscy0+ bWFpbl9zdHJlYW1zWzBdLT5tZXRhZGF0YSwgbWV0YWRhdGEsIDApOwo+ICsKPiArICAgICAgICBp ZiAocGxzLT5sYXN0X2lkMykgYXZfZGljdF9mcmVlKCZwbHMtPmxhc3RfaWQzKTsKPiArICAgICAg ICBwbHMtPmxhc3RfaWQzID0gbWV0YWRhdGE7Cj4gICAgICB9IGVsc2Ugewo+IC0gICAgICAgIGlm ICghcGxzLT5pZDNfY2hhbmdlZCAmJiBpZDNfaGFzX2NoYW5nZWRfdmFsdWVzKHBscywgbWV0YWRh dGEsIGFwaWMpKSB7Cj4gLSAgICAgICAgICAgIGF2cHJpdl9yZXBvcnRfbWlzc2luZ19mZWF0dXJl KHBscy0+cGFyZW50LCAiQ2hhbmdpbmcgSUQzIG1ldGFkYXRhIGluIEhMUyBhdWRpbyBlbGVtZW50 YXJ5IHN0cmVhbSIpOwo+IC0gICAgICAgICAgICBwbHMtPmlkM19jaGFuZ2VkID0gMTsKPiAtICAg ICAgICB9Cj4gICAgICAgICAgYXZfZGljdF9mcmVlKCZtZXRhZGF0YSk7Cj4gICAgICB9Cj4KPiAt LQo+IDIuMzkuMyAoQXBwbGUgR2l0LTE0NSkKPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCj4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdAo+IGZmbXBl Zy1kZXZlbEBmZm1wZWcub3JnCj4gaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8v ZmZtcGVnLWRldmVsCj4KPiBUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1h aWwKPiBmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJz Y3JpYmUiLgoKSSBsb29rIGF0IHRoZSBzZWNvbmQgcGF0Y2ggcmVzdWx0OgoKbWFrZTogKioqIFtm YXRlLWhscy1hZHRzLW1ldGEtZGVtdXhdIEVycm9yIDEKY3B1X2ZsYWdzKHJhdykgPSAweDAwMDgx M0RCCmNwdV9mbGFnc19zdHIocmF3KSA9IG1teCBtbXhleHQgc3NlIHNzZTIgc3NlMyBzc3NlMyBz c2U0LjEgc3NlNC4yIGNtb3YgYWVzbmkKY3B1X2ZsYWdzKGVmZmVjdGl2ZSkgPSAweDAwMDgxM0RC CmNwdV9mbGFnc19zdHIoZWZmZWN0aXZlKSA9IG1teCBtbXhleHQgc3NlIHNzZTIgc3NlMyBzc3Nl MyBzc2U0LjEKc3NlNC4yIGNtb3YgYWVzbmkKdGhyZWFkcyA9IDEgKGNwdV9jb3VudCA9IDUpCm1h a2U6IFRhcmdldCAnZmF0ZScgbm90IHJlbWFkZSBiZWNhdXNlIG9mIGVycm9ycy4KCgoKaHR0cHM6 Ly9wYXRjaHdvcmsuZmZtcGVnLm9yZy9wcm9qZWN0L2ZmbXBlZy9wYXRjaC8yMDI0MDMyNjAwNTYz OS4yNzAwMC0yLXRvb3RzQHJhc3RhZ2Vla3Mub3JnLwoKClRoYW5rcwpTdGV2ZW4KX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxp bmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1h bi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3Zl LCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAi dW5zdWJzY3JpYmUiLgo=