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 ESMTPS id 624984CB3B for ; Tue, 11 Feb 2025 15:58:23 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 794BD68BE24; Tue, 11 Feb 2025 17:58:19 +0200 (EET) Received: from out203-205-221-235.mail.qq.com (out203-205-221-235.mail.qq.com [203.205.221.235]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A167768B9FD for ; Tue, 11 Feb 2025 17:58:11 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1739289487; bh=ZMFBmn8l7K0evIzb4xYf2yaHtSidaA6k/L0Mfdnsyfk=; h=From:Subject:Date:References:To:In-Reply-To; b=L54PhpGBCzp7PWEUoIVt+uMNeZ4utPiCrYHSuDabUdKdILk9/4MYHnil/yUumKkmK QCm/bZaHyIRY0l550pvHNARrtNhoAHK93iMTG8rkTAyBA0UmvmRXfBwl7QF2GznT+P QEQQ8XXcgot1ICwyrKBfre9nwDeQRyyyx/VeMw3U= Received: from smtpclient.apple ([240e:3b7:3277:36f0:312d:39f5:9c18:30ba]) by newxmesmtplogicsvrsza36-0.qq.com (NewEsmtp) with SMTP id E862F42D; Tue, 11 Feb 2025 23:58:06 +0800 X-QQ-mid: xmsmtpt1739289486tnaqhbmkk Message-ID: X-QQ-XMAILINFO: OVAgSpUT8SOPRctFpA3CIJbvDI1a8o40RL4q4I0RX/Q+u56EmYIibZDWpraNAc nI+/sglteCcs8oJvYcVjoHF5Vbi3ctgggBT5EDM3zMQB+5xAIaLj2MErCUw2DgCRQ+M6+06IJ33y GIP0113xQoP9c/BSf+zGcP/BIi++lbr0USxg9m0YU4//dhhXs4Vbn9FxHaMQJBliFL+IM9ikx05F C7KDd+7jieuEUuXHGuVhrkhKuT9XaQee623x1bZBqYB5f7c6wS3RHIQQI13Re2Kzb9rID/98BGTf hNG/mXzSE9hIS/p4csra5bBcPAbg6H4IXpNWzYHuJUDCfOAnBDoGXqvZBsIGjY/hK/+K/TGGqsyX d3OQXoUOvZBvEBI98jWnRX8HVCOmsgXBnIVS7XcNmKmrKbuIff2Q97/o/maZZhO8N1K4RHdoJDkr 80DsC4WDDL5cfddbcnKMAmHYq71Mmx+RWh6Za5nfqVksv9tCW+42DZcd7ByahZVRjyhwyLndhjS/ VuVmdXcos78r+ZNJhme/ZvZwPWATXsYsXvMIXbq31ghjFXDEiHpwJrH88hyjI/YwnUfI5nC7/byI tt9Rm/UBsAQs4j3qptQftE1SIdE4qayLi0xvnROex4PWj7gvmsBs4A0bdhp1coHKplZ8t5wjIl5E eOCLrCZZv0ZwInifuuILQua1RfYYuiQD1cmlaQozKgCgG+kLaRo7cZ0Cth5IxNCLSjwQtAPSCMve XNLmi1bPIxDcRINy5SXaFB6EMBhAT+wjG7ay8flg6yzCaYgpxEFgTg8AtVbaDsuGpnqbLhwIiY3x xeRxZcZFtpSxpOOtAXrlJaiy45mL7gRXSskANnay6YSMKB3dy9e/QnRZTSnv+F7xAMKBYnEmmot8 n3lT+XQhnzBWMX0jwDdKrNk4Xil88w0DZREadfDFsax8ZfwPvmhzk7LN0fJR3TMgVCMPVlEZxt6K brNTDHCcI8KPhSg4CoI2/CHDXlMyO66rZ0VxUnZlKn3cEKWtFd4A== X-QQ-XMRINFO: MPJ6Tf5t3I/ycC2BItcBVIA= From: Zhao Zhili Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3818.100.11.1.3\)) Date: Tue, 11 Feb 2025 23:57:56 +0800 References: To: FFmpeg development discussions and patches In-Reply-To: X-OQ-MSGID: X-Mailer: Apple Mail (2.3818.100.11.1.3) Subject: Re: [FFmpeg-devel] [PATCH v7 3/4] avcodec/hevc: Add alpha layer support 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+IE9uIEZlYiAxMSwgMjAyNSwgYXQgMjM6MzcsIEFuZHJlYXMgUmhlaW5oYXJkdCA8YW5kcmVh cy5yaGVpbmhhcmR0QG91dGxvb2suY29tPiB3cm90ZToKPiAKPiBaaGFvIFpoaWxpOgo+PiBGcm9t OiBaaGFvIFpoaWxpIDx6aGlsaXpoYW9AdGVuY2VudC5jb20+Cj4+IAo+PiBTaWduZWQtb2ZmLWJ5 OiBaaGFvIFpoaWxpIDx6aGlsaXpoYW9AdGVuY2VudC5jb20+Cj4+IC0tLQo+PiBsaWJhdmNvZGVj L2hldmMvaGV2Y2RlYy5jIHwgNzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystCj4+IGxpYmF2Y29kZWMvaGV2Yy9oZXZjZGVjLmggfCAgMiArKwo+PiBsaWJhdmNvZGVjL2hl dmMvcmVmcy5jICAgIHwgMzUgKysrKysrKysrKysrKysrKysrLQo+PiAzIGZpbGVzIGNoYW5nZWQs IDEwOCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+PiAKPj4gZGlmZiAtLWdpdCBhL2xp YmF2Y29kZWMvaGV2Yy9oZXZjZGVjLmMgYi9saWJhdmNvZGVjL2hldmMvaGV2Y2RlYy5jCj4+IGlu ZGV4IGU5YzA0NWY3YTEuLmY3MWVkZjIxM2IgMTAwNjQ0Cj4+IC0tLSBhL2xpYmF2Y29kZWMvaGV2 Yy9oZXZjZGVjLmMKPj4gKysrIGIvbGliYXZjb2RlYy9oZXZjL2hldmNkZWMuYwo+PiBAQCAtNDY2 LDYgKzQ2NiwyNSBAQCBzdGF0aWMgaW50IGV4cG9ydF9tdWx0aWxheWVyKEhFVkNDb250ZXh0ICpz LCBjb25zdCBIRVZDVlBTICp2cHMpCj4+ICAgICByZXR1cm4gMDsKPj4gfQo+PiAKPj4gK2ludCBm Zl9oZXZjX2lzX2FscGhhX3ZpZGVvKGNvbnN0IEhFVkNDb250ZXh0ICpzKQo+PiArewo+PiArICAg IGNvbnN0IEhFVkNWUFMgKnZwcyA9IHMtPnZwczsKPj4gKyAgICBpbnQgcmV0ID0gMDsKPj4gKwo+ PiArICAgIGlmICh2cHMtPm5iX2xheWVycyAhPSAyIHx8ICF2cHMtPmxheWVyX2lkX2luX251aFsx XSkKPj4gKyAgICAgICAgcmV0dXJuIDA7Cj4+ICsKPj4gKyAgICAvKiBkZWNvZGVfdnBzX2V4dCgp IGd1YXJhbnRlZXMgdGhhdCBTQ0FMQUJJTElUWV9BVVhJTElBUlkgd2l0aCBBdXhJZCBvdGhlcgo+ PiArICAgICAqIHRoYW4gYWxwaGEgY2Fubm90IHJlYWNoIGhlcmUuCj4+ICsgICAgICovCj4+ICsg ICAgcmV0ID0gKHMtPnZwcy0+c2NhbGFiaWxpdHlfbWFza19mbGFnICYgSEVWQ19TQ0FMQUJJTElU WV9BVVhJTElBUlkpOwo+PiArCj4+ICsgICAgYXZfbG9nKHMtPmF2Y3R4LCBBVl9MT0dfREVCVUcs ICJNdWx0aSBsYXllciB2aWRlbywgJXMgYWxwaGEgdmlkZW9cbiIsCj4+ICsgICAgICAgICAgIHJl dCA/ICJpcyIgOiAibm90Iik7Cj4+ICsKPj4gKyAgICByZXR1cm4gcmV0Owo+PiArfQo+PiArCj4+ IHN0YXRpYyBpbnQgc2V0dXBfbXVsdGlsYXllcihIRVZDQ29udGV4dCAqcywgY29uc3QgSEVWQ1ZQ UyAqdnBzKQo+PiB7Cj4+ICAgICB1bnNpZ25lZCBsYXllcnNfYWN0aXZlX291dHB1dCA9IDAsIGhp Z2hlc3RfbGF5ZXI7Cj4+IEBAIC00NzMsNiArNDkyLDE4IEBAIHN0YXRpYyBpbnQgc2V0dXBfbXVs dGlsYXllcihIRVZDQ29udGV4dCAqcywgY29uc3QgSEVWQ1ZQUyAqdnBzKQo+PiAgICAgcy0+bGF5 ZXJzX2FjdGl2ZV9vdXRwdXQgPSAxOwo+PiAgICAgcy0+bGF5ZXJzX2FjdGl2ZV9kZWNvZGUgPSAx Owo+PiAKPj4gKyAgICBpZiAoZmZfaGV2Y19pc19hbHBoYV92aWRlbyhzKSkgewo+PiArICAgICAg ICBjb25zdCBBVlBpeEZtdERlc2NyaXB0b3IgKmRlc2MgPSBhdl9waXhfZm10X2Rlc2NfZ2V0KHMt PmF2Y3R4LT5waXhfZm10KTsKPj4gKwo+PiArICAgICAgICBpZiAoIShkZXNjLT5mbGFncyAmIEFW X1BJWF9GTVRfRkxBR19BTFBIQSkpCj4+ICsgICAgICAgICAgICByZXR1cm4gMDsKPj4gKwo+PiAr ICAgICAgICBzLT5sYXllcnNfYWN0aXZlX2RlY29kZSA9ICgxIDw8IHZwcy0+bmJfbGF5ZXJzKSAt IDE7Cj4+ICsgICAgICAgIHMtPmxheWVyc19hY3RpdmVfb3V0cHV0ID0gMTsKPj4gKwo+PiArICAg ICAgICByZXR1cm4gMDsKPj4gKyAgICB9Cj4+ICsKPj4gICAgIC8vIG5vdGhpbmcgcmVxdWVzdGVk IC0gZGVjb2RlIGJhc2UgbGF5ZXIgb25seQo+PiAgICAgaWYgKCFzLT5uYl92aWV3X2lkcykKPj4g ICAgICAgICByZXR1cm4gMDsKPj4gQEAgLTUzMCw2ICs1NjEsMzQgQEAgc3RhdGljIGludCBzZXR1 cF9tdWx0aWxheWVyKEhFVkNDb250ZXh0ICpzLCBjb25zdCBIRVZDVlBTICp2cHMpCj4+ICAgICBy ZXR1cm4gMDsKPj4gfQo+PiAKPj4gK3N0YXRpYyBlbnVtIEFWUGl4ZWxGb3JtYXQgbWFwX3RvX2Fs cGhhX2Zvcm1hdChIRVZDQ29udGV4dCAqcywKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBlbnVtIEFWUGl4ZWxGb3JtYXQgcGl4X2ZtdCkKPj4gK3sKPj4g KyAgICBzd2l0Y2ggKHBpeF9mbXQpIHsKPj4gKyAgICBjYXNlIEFWX1BJWF9GTVRfWVVWNDIwUDoK Pj4gKyAgICBjYXNlIEFWX1BJWF9GTVRfWVVWSjQyMFA6Cj4+ICsgICAgICAgIHJldHVybiBBVl9Q SVhfRk1UX1lVVkE0MjBQOwo+PiArICAgIGNhc2UgQVZfUElYX0ZNVF9ZVVY0MjBQMTA6Cj4+ICsg ICAgICAgIHJldHVybiBBVl9QSVhfRk1UX1lVVkE0MjBQMTA7Cj4+ICsgICAgY2FzZSBBVl9QSVhf Rk1UX1lVVjQ0NFA6Cj4+ICsgICAgICAgIHJldHVybiBBVl9QSVhfRk1UX1lVVkE0NDRQOwo+PiAr ICAgIGNhc2UgQVZfUElYX0ZNVF9ZVVY0MjJQOgo+PiArICAgICAgICByZXR1cm4gQVZfUElYX0ZN VF9ZVVZBNDIyUDsKPj4gKyAgICBjYXNlIEFWX1BJWF9GTVRfWVVWNDIyUDEwTEU6Cj4+ICsgICAg ICAgIHJldHVybiBBVl9QSVhfRk1UX1lVVkE0MjJQMTBMRTsKPj4gKyAgICBjYXNlIEFWX1BJWF9G TVRfWVVWNDQ0UDEwOgo+PiArICAgICAgICByZXR1cm4gQVZfUElYX0ZNVF9ZVVZBNDQ0UDEwOwo+ PiArICAgIGNhc2UgQVZfUElYX0ZNVF9ZVVY0NDRQMTI6Cj4+ICsgICAgICAgIHJldHVybiBBVl9Q SVhfRk1UX1lVVkE0NDRQMTI7Cj4+ICsgICAgY2FzZSBBVl9QSVhfRk1UX1lVVjQyMlAxMjoKPj4g KyAgICAgICAgcmV0dXJuIEFWX1BJWF9GTVRfWVVWQTQyMlAxMjsKPj4gKyAgICBkZWZhdWx0Ogo+ PiArICAgICAgICBhdl9sb2cocy0+YXZjdHgsIEFWX0xPR19XQVJOSU5HLCAiTm8gYWxwaGEgcGl4 ZWwgZm9ybWF0IG1hcCBmb3IgJXNcbiIsCj4+ICsgICAgICAgICAgICAgICBhdl9nZXRfcGl4X2Zt dF9uYW1lKHBpeF9mbXQpKTsKPj4gKyAgICAgICAgcmV0dXJuIEFWX1BJWF9GTVRfTk9ORTsKPj4g KyAgICB9Cj4+ICt9Cj4+ICsKPj4gc3RhdGljIGVudW0gQVZQaXhlbEZvcm1hdCBnZXRfZm9ybWF0 KEhFVkNDb250ZXh0ICpzLCBjb25zdCBIRVZDU1BTICpzcHMpCj4+IHsKPj4gI2RlZmluZSBIV0FD Q0VMX01BWCAoQ09ORklHX0hFVkNfRFhWQTJfSFdBQ0NFTCArIFwKPj4gQEAgLTU0MCw5ICs1OTks MTMgQEAgc3RhdGljIGVudW0gQVZQaXhlbEZvcm1hdCBnZXRfZm9ybWF0KEhFVkNDb250ZXh0ICpz LCBjb25zdCBIRVZDU1BTICpzcHMpCj4+ICAgICAgICAgICAgICAgICAgICAgIENPTkZJR19IRVZD X1ZJREVPVE9PTEJPWF9IV0FDQ0VMICsgXAo+PiAgICAgICAgICAgICAgICAgICAgICBDT05GSUdf SEVWQ19WRFBBVV9IV0FDQ0VMICsgXAo+PiAgICAgICAgICAgICAgICAgICAgICBDT05GSUdfSEVW Q19WVUxLQU5fSFdBQ0NFTCkKPj4gLSAgICBlbnVtIEFWUGl4ZWxGb3JtYXQgcGl4X2ZtdHNbSFdB Q0NFTF9NQVggKyAyXSwgKmZtdCA9IHBpeF9mbXRzOwo+PiArICAgIGVudW0gQVZQaXhlbEZvcm1h dCBwaXhfZm10c1tIV0FDQ0VMX01BWCArIDNdLCAqZm10ID0gcGl4X2ZtdHM7Cj4+ICsgICAgZW51 bSBBVlBpeGVsRm9ybWF0IGFscGhhX2ZtdCA9IEFWX1BJWF9GTVRfTk9ORTsKPj4gICAgIGludCBy ZXQ7Cj4+IAo+PiArICAgIGlmIChmZl9oZXZjX2lzX2FscGhhX3ZpZGVvKHMpKQo+PiArICAgICAg ICBhbHBoYV9mbXQgPSBtYXBfdG9fYWxwaGFfZm9ybWF0KHMsIHNwcy0+cGl4X2ZtdCk7Cj4+ICsK Pj4gICAgIHN3aXRjaCAoc3BzLT5waXhfZm10KSB7Cj4+ICAgICBjYXNlIEFWX1BJWF9GTVRfWVVW NDIwUDoKPj4gICAgIGNhc2UgQVZfUElYX0ZNVF9ZVVZKNDIwUDoKPj4gQEAgLTY2NCw2ICs3Mjcs OCBAQCBzdGF0aWMgZW51bSBBVlBpeGVsRm9ybWF0IGdldF9mb3JtYXQoSEVWQ0NvbnRleHQgKnMs IGNvbnN0IEhFVkNTUFMgKnNwcykKPj4gICAgICAgICBicmVhazsKPj4gICAgIH0KPj4gCj4+ICsg ICAgaWYgKGFscGhhX2ZtdCAhPSBBVl9QSVhfRk1UX05PTkUpCj4+ICsgICAgICAgICpmbXQrKyA9 IGFscGhhX2ZtdDsKPj4gICAgICpmbXQrKyA9IHNwcy0+cGl4X2ZtdDsKPj4gICAgICpmbXQgPSBB Vl9QSVhfRk1UX05PTkU7Cj4+IAo+PiBAQCAtMzE5NCw2ICszMjU5LDEyIEBAIHN0YXRpYyBpbnQg aGV2Y19mcmFtZV9zdGFydChIRVZDQ29udGV4dCAqcywgSEVWQ0xheWVyQ29udGV4dCAqbCwKPj4g ICAgICAgICAgICAgICAgICFzcHMtPnZ1aS5jb21tb24udmlkZW9fc2lnbmFsX3R5cGVfcHJlc2Vu dF9mbGFnKQo+PiAgICAgICAgICAgICAgICAgcGl4X2ZtdCA9IHNwc19iYXNlLT5waXhfZm10Owo+ PiAKPj4gKyAgICAgICAgICAgIC8vIElnbm9yZSByYW5nZSBtaXNtYXRjaCBiZXR3ZWVuIGJhc2Ug bGF5ZXIgYW5kIGFscGhhIGxheWVyCj4+ICsgICAgICAgICAgICBpZiAoZmZfaGV2Y19pc19hbHBo YV92aWRlbyhzKSAmJgo+PiArICAgICAgICAgICAgICAgIHNwc19iYXNlLT5waXhfZm10ID09IEFW X1BJWF9GTVRfWVVWNDIwUCAmJgo+PiArICAgICAgICAgICAgICAgIHBpeF9mbXQgPT0gQVZfUElY X0ZNVF9ZVVZKNDIwUCkKPj4gKyAgICAgICAgICAgICAgICBwaXhfZm10ID0gc3BzX2Jhc2UtPnBp eF9mbXQ7Cj4+ICsKPj4gICAgICAgICAgICAgaWYgKHBpeF9mbXQgICAgICE9IHNwc19iYXNlLT5w aXhfZm10IHx8Cj4+ICAgICAgICAgICAgICAgICBzcHMtPndpZHRoICAhPSBzcHNfYmFzZS0+d2lk dGggICB8fAo+PiAgICAgICAgICAgICAgICAgc3BzLT5oZWlnaHQgIT0gc3BzX2Jhc2UtPmhlaWdo dCkgewo+PiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9oZXZjL2hldmNkZWMuaCBiL2xpYmF2Y29k ZWMvaGV2Yy9oZXZjZGVjLmgKPj4gaW5kZXggNGU5NTAzNTY4OC4uYjJiNzI1YjVjZCAxMDA2NDQK Pj4gLS0tIGEvbGliYXZjb2RlYy9oZXZjL2hldmNkZWMuaAo+PiArKysgYi9saWJhdmNvZGVjL2hl dmMvaGV2Y2RlYy5oCj4+IEBAIC03MTQsNiArNzE0LDggQEAgdm9pZCBmZl9oZXZjX2hsc19yZXNp ZHVhbF9jb2RpbmcoSEVWQ0xvY2FsQ29udGV4dCAqbGMsIGNvbnN0IEhFVkNQUFMgKnBwcywKPj4g Cj4+IHZvaWQgZmZfaGV2Y19obHNfbXZkX2NvZGluZyhIRVZDTG9jYWxDb250ZXh0ICpsYywgaW50 IHgwLCBpbnQgeTAsIGludCBsb2cyX2NiX3NpemUpOwo+PiAKPj4gK2ludCBmZl9oZXZjX2lzX2Fs cGhhX3ZpZGVvKGNvbnN0IEhFVkNDb250ZXh0ICpzKTsKPj4gKwo+PiBleHRlcm4gY29uc3QgdWlu dDhfdCBmZl9oZXZjX3FwZWxfZXh0cmFfYmVmb3JlWzRdOwo+PiBleHRlcm4gY29uc3QgdWludDhf dCBmZl9oZXZjX3FwZWxfZXh0cmFfYWZ0ZXJbNF07Cj4+IGV4dGVybiBjb25zdCB1aW50OF90IGZm X2hldmNfcXBlbF9leHRyYVs0XTsKPj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvaGV2Yy9yZWZz LmMgYi9saWJhdmNvZGVjL2hldmMvcmVmcy5jCj4+IGluZGV4IGRkN2Y3Zjk1YTguLjZmMTBlZmQw YWMgMTAwNjQ0Cj4+IC0tLSBhL2xpYmF2Y29kZWMvaGV2Yy9yZWZzLmMKPj4gKysrIGIvbGliYXZj b2RlYy9oZXZjL3JlZnMuYwo+PiBAQCAtNzksNiArNzksMzEgQEAgdm9pZCBmZl9oZXZjX2ZsdXNo X2RwYihIRVZDQ29udGV4dCAqcykKPj4gICAgIH0KPj4gfQo+PiAKPj4gK3N0YXRpYyBpbnQgcmVw bGFjZV9hbHBoYV9wbGFuZShBVkZyYW1lICphbHBoYSwgQVZGcmFtZSAqYmFzZSkKPj4gK3sKPj4g KyAgICBBVkJ1ZmZlclJlZiAqYmFzZV9hID0gYXZfZnJhbWVfZ2V0X3BsYW5lX2J1ZmZlcihiYXNl LCAzKTsKPj4gKyAgICB1aW50cHRyX3QgZGF0YSA9ICh1aW50cHRyX3QpYWxwaGEtPmRhdGFbMF07 Cj4+ICsgICAgaW50IHJldDsKPj4gKwo+PiArICAgIGZvciAoaW50IGkgPSAwOyBpIDwgRkZfQVJS QVlfRUxFTVMoYWxwaGEtPmJ1ZikgJiYgYWxwaGEtPmJ1ZltpXTsgaSsrKSB7Cj4+ICsgICAgICAg IEFWQnVmZmVyUmVmICpidWYgPSBhbHBoYS0+YnVmW2ldOwo+PiArICAgICAgICB1aW50cHRyX3Qg YnVmX2JlZ2luID0gKHVpbnRwdHJfdClidWYtPmRhdGE7Cj4+ICsKPj4gKyAgICAgICAgaWYgKGRh dGEgPj0gIGJ1Zl9iZWdpbiAmJiBkYXRhIDwgYnVmX2JlZ2luICsgYnVmLT5zaXplKSB7Cj4+ICsg ICAgICAgICAgICByZXQgPSBhdl9idWZmZXJfcmVwbGFjZSgmYWxwaGEtPmJ1ZltpXSwgYmFzZV9h KTsKPj4gKyAgICAgICAgICAgIGlmIChyZXQgPCAwKQo+PiArICAgICAgICAgICAgICAgIHJldHVy biByZXQ7Cj4+ICsKPj4gKyAgICAgICAgICAgIGFscGhhLT5saW5lc2l6ZVswXSA9IGJhc2UtPmxp bmVzaXplWzNdOwo+PiArICAgICAgICAgICAgYWxwaGEtPmRhdGFbMF0gPSBiYXNlLT5kYXRhWzNd Owo+PiArCj4+ICsgICAgICAgICAgICByZXR1cm4gMDsKPj4gKyAgICAgICAgfQo+PiArICAgIH0K PiAKPiBXaHkgZG9lcyB0aGUgZGVjb2RpbmcgcHJvY2VzcyBhY3R1YWxseSBuZWVkIG11bHRpcGxl IHJlZmVyZW5jZXMgdG8gdGhlCj4gYnVmZmVyIG9mIHRoZSBhbHBoYSBwbGFuZT8KCknigJltIG5v dCBzdXJlIGlmIEkgdW5kZXJzdGFuZCB5b3VyIHF1ZXN0aW9uIGNvcnJlY3RseS4KCjEuIEJvdGgg dGhlIGJhc2UgbGF5ZXIgYW5kIHRoZSBhbHBoYSBsYXllciBhcmUgZGVjb2RlZCBhcyB5dXY0MjBw LgoyLiBUaGUgeSBwbGFuZSBvZiBhbHBoYSBsYXllciBpcyBhY3R1YWxseSBhbHBoYS4KMy4gVGhl IGRlY29kZXIgZmluYWxseSBvdXRwdXQgeXV2YSwgbm90IHR3byB5dXY0MjBwLgoKU28gaGVyZSBt YWtlIHkgcGxhbmUgb2YgYWxwaGEgZnJhbWUgcmVmZXJlbmNlIHRoZSBhbHBoYSBwbGFuZSBvZiBi YXNlIGZyYW1lLgpXaGVuIG91dHB1dCwgdGhlIGJhc2UgZnJhbWUgd2lsbCBjb250YWluIFlVViBh bmQgYWxwaGEgZnJvbSB0d28gbGF5ZXJzLgoKPiAKPj4gKwo+PiArICAgIHJldHVybiBBVkVSUk9S X0JVRzsKPj4gK30KPj4gKwo+PiBzdGF0aWMgSEVWQ0ZyYW1lICphbGxvY19mcmFtZShIRVZDQ29u dGV4dCAqcywgSEVWQ0xheWVyQ29udGV4dCAqbCkKPj4gewo+PiAgICAgY29uc3QgSEVWQ1ZQUyAq dnBzID0gbC0+c3BzLT52cHM7Cj4+IEBAIC0xMDMsNyArMTI4LDcgQEAgc3RhdGljIEhFVkNGcmFt ZSAqYWxsb2NfZnJhbWUoSEVWQ0NvbnRleHQgKnMsIEhFVkNMYXllckNvbnRleHQgKmwpCj4+ICAg ICAgICAgfQo+PiAKPj4gICAgICAgICAvLyBhZGQgdmlldyBJRCBzaWRlIGRhdGEgaWYgaXQncyBu b250cml2aWFsCj4+IC0gICAgICAgIGlmICh2cHMtPm5iX2xheWVycyA+IDEgfHwgdmlld19pZCkg ewo+PiArICAgICAgICBpZiAoIWZmX2hldmNfaXNfYWxwaGFfdmlkZW8ocykgJiYgKHZwcy0+bmJf bGF5ZXJzID4gMSB8fCB2aWV3X2lkKSkgewo+PiAgICAgICAgICAgICBIRVZDU0VJVERSREkgKnRk cmRpID0gJnMtPnNlaS50ZHJkaTsKPj4gICAgICAgICAgICAgQVZGcmFtZVNpZGVEYXRhICpzZCA9 IGF2X2ZyYW1lX3NpZGVfZGF0YV9uZXcoJmZyYW1lLT5mLT5zaWRlX2RhdGEsCj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmcmFtZS0+ Zi0+bmJfc2lkZV9kYXRhLAo+PiBAQCAtMTYxLDcgKzE4NiwxNSBAQCBzdGF0aWMgSEVWQ0ZyYW1l ICphbGxvY19mcmFtZShIRVZDQ29udGV4dCAqcywgSEVWQ0xheWVyQ29udGV4dCAqbCkKPj4gICAg ICAgICBpZiAocmV0IDwgMCkKPj4gICAgICAgICAgICAgZ290byBmYWlsOwo+PiAKPj4gKwo+PiAg ICAgICAgIGZyYW1lLT5wcHMgPSBhdl9yZWZzdHJ1Y3RfcmVmX2Mocy0+cHBzKTsKPj4gKyAgICAg ICAgaWYgKGwgIT0gJnMtPmxheWVyc1swXSAmJiBmZl9oZXZjX2lzX2FscGhhX3ZpZGVvKHMpKSB7 Cj4+ICsgICAgICAgICAgICBBVkZyYW1lICphbHBoYSA9IGZyYW1lLT5mOwo+PiArICAgICAgICAg ICAgQVZGcmFtZSAqYmFzZSA9IHMtPmxheWVyc1swXS5jdXJfZnJhbWUtPmY7Cj4+ICsgICAgICAg ICAgICByZXQgPSByZXBsYWNlX2FscGhhX3BsYW5lKGFscGhhLCBiYXNlKTsKPj4gKyAgICAgICAg ICAgIGlmIChyZXQgPCAwKQo+PiArICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKPj4gKyAgICAg ICAgfQo+PiAKPj4gICAgICAgICByZXR1cm4gZnJhbWU7Cj4+IGZhaWw6Cj4gCj4gX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBmZm1wZWctZGV2ZWwgbWFp bGluZyBsaXN0Cj4gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKPiBodHRwczovL2ZmbXBlZy5vcmcv bWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKPiAKPiBUbyB1bnN1YnNjcmliZSwgdmlzaXQg bGluayBhYm92ZSwgb3IgZW1haWwKPiBmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdp dGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxA ZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2 ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2 ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=