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 E586B4CAB4 for ; Tue, 11 Feb 2025 08:16:58 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 357F068B87F; Tue, 11 Feb 2025 10:16:54 +0200 (EET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2063.outbound.protection.outlook.com [40.92.89.63]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B01BB68B68D for ; Tue, 11 Feb 2025 10:16:46 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MbXmT00y7gs8AukF7Yagi2zkjMd7pWAtf08O+VtamuC49xauT8Vd+FPZb/BQkXNWeJ6n4rUmpbfx8PG/vHcqX4mIBsBKgvlKY2PBv/L175o7RmQnq3q6cWx40X/LRny+y+btpFLxc65vdz+/1MS67gDDXk6PM4rtGJ50GBYadJnxqGOOxBpsmYvY1MjZzumKGArALHVY+pSwjgFcENxjumXFTBVF0WKp3jsTm6zElHDZBsnVgf88NKvtTV0RRC8VxOM/9ac0+aqurJh1AHOa60DxdjBA6VtYaAcSl3cza4Vmopkmwoch1K2n0J7T0M/SrvYx93oIFkjB10j5k2CjsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ovl0RMxdF2wKKm9jZmGrLDwabLGN3AsV+aNs3FKDwLo=; b=XZXfhodEFk2h4yXLuRP+T/3wZ2XktwkHvWC8hWyCITshn0AnL9OuWIqahPSJc50ZFzxybUn57JR4WWg5115dsKmf8QmSS+dFW6BMBwSCCt4LZT5Fz5tyB/HHUCxh+vnT1RqbOndprIYwR7lntAGotj1V1ZUW/ZHiVmlz/9R1i0BmT/IKhygQSp3xSE1cZ2QPnNWqYOX0VfwruySwj6p8+kNF9ejMMpVFKWWdTcvBLyzSt3JjL/+yVeoYZxUL0HKFZ9PEfJ/WPvzeuHKS2MkncqJnCRMKki6Vl9WUJSQH4k51Dd8DOFLzRW/jYfJKGnRMUaDaRugCFFJzQnL9Pbjysg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ovl0RMxdF2wKKm9jZmGrLDwabLGN3AsV+aNs3FKDwLo=; b=eO3xA4JY2ezf87UE9gHma2fjeDrP+MsohVEtXh1FUiVHtPKBfYaMQRatSRRGSJ2Jky2guB1+mjUIBFmd/rDGJjVQEmfSdVvIi8EyUK98ZRHwZEc39HT7ZwDuAjRqIHd3JAfWUzJpgf71ZhNRk1+fGCcoExAMHxUSTHn/dIpdgzKwddUJ96hyvKQL1Y95MKL6PP9ql2TZTN3Wk70b3Xud6svt4AwaBEtmlGBbOUTOkbZ3/oRKEy3vT5MZTQ6da52RxPgJkhBPbYSIngPA9SvxVISng0qlbyhuJ7MgFQbwH1mSwCH4UwAmoc++itIiHOQ0f0kE+kEfMy2D2U6lPtqGag== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by GV1P250MB0811.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:9c::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.18; Tue, 11 Feb 2025 08:16:44 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9%4]) with mapi id 15.20.8422.015; Tue, 11 Feb 2025 08:16:44 +0000 Message-ID: Date: Tue, 11 Feb 2025 09:16:42 +0100 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: X-ClientProxiedBy: ZR0P278CA0101.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:23::16) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <068c9df7-6dac-4587-aea2-c203cee5337c@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|GV1P250MB0811:EE_ X-MS-Office365-Filtering-Correlation-Id: 5b2de2bb-e410-47cb-76cf-08dd4a746bc1 X-Microsoft-Antispam: BCL:0; ARA:14566002|19110799003|8060799006|5072599009|6090799003|15080799006|461199028|7092599003|3412199025|440099028|41001999003; X-Microsoft-Antispam-Message-Info: =?utf-8?B?aTc0RWFtQTNucWRwZDNKZ3JmR29kZ3R2N0V1VDQ5bFVEQUNsNEZFU3NnNXg2?= =?utf-8?B?dk4wdTlvTWFSTHpjWTNwTVFjVDFlSTBBdFVBMW9FUm5RKy9OcXMvbDZqU1JO?= =?utf-8?B?NlJoV2kzQUNsM3QvS0N6bUNkZWVIUHdSZDZCVS9NZS9qRXY4aGkzQmdvMW8z?= =?utf-8?B?RE0zM296MnJacjVGVkNaTHdqbkFYU1lEQUE0b0tHWkc2cGg3UlV3UVlRUy83?= =?utf-8?B?bVY3cFprQkVCejd1UTB3NmV0Q0IzdUJnT3UvYVU0NkdYOUJITVRyWjNTUzJo?= =?utf-8?B?WkN6NFZJVDc4alBUdEU5VmM4VUQ5czcrenZmTW9mQ0tYUUhVM0RyT0h0Vldo?= =?utf-8?B?OGVoS3VjZjFJTTBtb0E2djdWS3pNRGlHbTFtSjBnY3JwODNsN1JmMXJYUW43?= =?utf-8?B?OUJQK2NDM2syTWxWeDR6UVlhN25BV1JQZ25Ha2prRmExcy9HYlpOaDhkTE1O?= =?utf-8?B?QWM0NWxjdFNhbUtRaUV1Q2I5YjZyT01hT1Q3ZmRmU3g1czdhczRadVpCaWIx?= =?utf-8?B?VStFUkIyMGRUd2duL1M2TDFtdHV5MXdvbC9kUlJCMjg5TWNCY0JMK0NUb3Js?= =?utf-8?B?NUtEbkJCOEgvT0srVUpSeU5UaWNkb3BlOHdxUE5YVWZ3MUU3Qktkb2h4K2ti?= =?utf-8?B?cjJFNWoyYXZSdUo0VjFjNHlwQnpQUjVnc1JhVHZJRHQ0Q1NnN2RmVUE5Z2Qv?= =?utf-8?B?UnJhQmk3TXhCREtZeHUzcHpneXNxNDVXUG9wQ1ZTenc3c21DR3JsSmdORXV2?= =?utf-8?B?VmpycmRCTWE5bXBWOFBkYkxUeFlmb05mVHk1UHB1N2l4MGJMMEJxQ3hia3lI?= =?utf-8?B?amNsSlJjZldnNDlrYnl3TkpONlRGeEt1bUR4MGticFkxRnc0RmZPa251Sjh3?= =?utf-8?B?MWtyT0M4dy9GT2hrOTkvbWlnL0dNWWdKZElGdjVWVDM1WTkwbkNMdUp0eFRW?= =?utf-8?B?N0VYV2VKajZyYlFGdzMzbWpwNWx5QmExQVZDVzBsT1ZtL2hqY2MydC9MaU0y?= =?utf-8?B?dkx2Z1BOOHZEMVNXSVJtMjAwRlZDQlBUQXVmZVFxdytid3hwVW5UMEhJcWY0?= =?utf-8?B?QS9uREs2YTd0M3FQQWV6US9XeGFUVFNkeS9QbElVSUx6RC9UazlRVk5Iblhj?= =?utf-8?B?MzNYTTBJL2lzWktteTZzTk5MRStRSVEzL2ZSTUJ1U09idHJOUWFzeURGbGRD?= =?utf-8?B?emFDbVM0R1pQWndpNFVpZWM2eE94Vkkxd2VmeExTZUp1SmJGRGQyU3ltVmNJ?= =?utf-8?B?MUdGaUVYUWlyM1lXK2huSlp2NEs5bm5hQ2poUHlOeEVyZlVPb3ArZmxWR21r?= =?utf-8?B?cnlNeUpGd2xMRmV3UVhESzNicHByd0VWcEsvUXh1YmthT2w5U08zWlpuVTJN?= =?utf-8?B?VzBHZFNHeGYxTFN4Tlhxc1lVQzlLbmVqdjdkaVFCR0hrODhWV0RaTjF1TW55?= =?utf-8?B?d0pDd1hjNUNCVGJBNjF6Y3VPMEYrcTZ0L3J5ZDVtVXZlbVA2bFZBT0xxRE5D?= =?utf-8?Q?CfLMfNXOBdcQ/zPpXQGXafQb1O+?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Umc2QStSVTZEcW9KRXdvd3MwN2UyTmk5OFNuZzdacjZ5bnl2VTNYQmk5NjRV?= =?utf-8?B?bVpPcnNYOTdIN3grMGZ4OGRTTGgzTUkzVDhrMGtYaTNlVUNUZlovZHByaEZG?= =?utf-8?B?cENTR29xUUloZW1Rak1nckpGUG10c1dRZnZSY0JybGZoRkhMdXcwN2wvaW1t?= =?utf-8?B?WklJQ1F2aGFGRlV5dGRuRkNuMEJWK0M4K1kzbFVBQXN4b1h1Y2hZK0ZRS0k2?= =?utf-8?B?MUhsRktXc2lPNnBEQStCVklLQWFtY2VpTE5pT1grdm9HVUUwZ2hCQmU2UDRa?= =?utf-8?B?N0RYc0huUDJ5ZUFCWExoNVJNTUJFZWliWllsVWtYZ3JPSnRPUERWelVwSC9z?= =?utf-8?B?L2tvUUtqVkNLcSs1RWpGckdldk8xYkVDSWx0eWxST0RQYU0zVGlsWTEzSS9I?= =?utf-8?B?emVwWHQ0L3FDNk8xVi9nSU5adlBVZmxMejFBR0J5TXRrTmZCWk9ML25UVnkw?= =?utf-8?B?WUUzWGlTbVBvb293UWx3MmZaTkJuZDRkUmhndTl6b2pjMjdwSnpZd3dMZDVC?= =?utf-8?B?dU9MUzh4RlBjZnBORWdlWkpQM3M1YjArQWtjaUVLQnZiNC8xdWhRNGRTQnNm?= =?utf-8?B?bURPZHRJeFdRSkw0Tm9IOXZTZ0IzVUVmZHFwaDFSTFMzZ1ZGczFvblFmb3pn?= =?utf-8?B?TURuQ1JGaTRxLzU4T3hZVjBhdHl1eUw0ZlR4TlVUTG9iSzQ4Y1RYU3FUT2Jy?= =?utf-8?B?eWZiTTFVRTBaaEptYzBhVEpUa2hPU1Y1czlpRVZXOVZHbzhrNExBdjJ4bmF2?= =?utf-8?B?TGRXQUgvM3lOcmFEZklmcmU3TTFNcS96NTVZa0NiSkYzVmdrd0hsMEdJOGt6?= =?utf-8?B?c04zd0tvRy9xOW5NMnJ5Z0RsdGJUTzFpK0NvNEZxdzJ0bFVmNWJsWStuM2pu?= =?utf-8?B?RUJmYVFSZURaNlhnQWppVDhpYmpkWFphdHVRV3crRWcyK0JCOVQwRUNrWTIw?= =?utf-8?B?UmJ3eFV5Q2RXWDNwbjhQNUcxcXd0cm85WG5TN1NTZWR5cjlkMkt5OEt1M2Jl?= =?utf-8?B?dnh5bXpkZDlrSHh3UllHYTdwQXB3K1lTRmNZYWxqQlNyUnNnbU5TRUp5WXF4?= =?utf-8?B?bzVGNVNnUXQ0V2FET0MrRi84YzVUd21JWUFwczF0SzBuUnpzN3QvV2dnT1l4?= =?utf-8?B?VE1hOSs1NWgvVnFWNUtuSXpGU3QrNmRTVzlHYTVZRTNEbVVhRWdrM1JlVTla?= =?utf-8?B?V3BoT3U5MjZ3VWlCYWw5VkNkOHJQQXQzWURBcVIydjZKN2I5MzE5T25FS3hD?= =?utf-8?B?aG9FK2JxREZKRWJrMFR0RCthWWlvbzFTNkVUM090c3NpdXdTeE1USHRpbHdx?= =?utf-8?B?dXRXOWhZc1NHV2tCNU5wRjBSazJhdmtVQlFGUlljNnRFaDR1ck9JbjVmRSsx?= =?utf-8?B?bmhYQjdYY05oWldIZExNdHR6Q0VPN25QS3JHMWF5dUF0dDUrNTRwRy84YVc1?= =?utf-8?B?Tmp5ZzlBVjA3eWJoWVRTNTN2ZGNkODBHYnNxUzJJMUNtcXRjbTdDSFZONXdx?= =?utf-8?B?RzhHanZKRnJRbjBjclUreDZQYVcrckdsTGxJZGMxclV2WUE4VXhOa2ZYUTRi?= =?utf-8?B?eU85a01ZZ3YxU3ZZc3VxOU5tcGZxZ2pyZUNZa1Q4T2lMN0xQV3ZOVGFmMHhM?= =?utf-8?B?a1lpaXBBdG5YRTVSVFJnR0xHdXpETzBCOUZlZEpJSXMxc0Z4dTRhVlFWcGlH?= =?utf-8?B?YmttNTlETWVFQ0thUmdlWFBjVy95dVliUUx2VjZKZzlqYWY3YXVLNFhBPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5b2de2bb-e410-47cb-76cf-08dd4a746bc1 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2025 08:16:44.4730 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1P250MB0811 Subject: Re: [FFmpeg-devel] [PATCH v5 3/3] 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: WmhhbyBaaGlsaToKPiBGcm9tOiBaaGFvIFpoaWxpIDx6aGlsaXpoYW9AdGVuY2VudC5jb20+Cj4g Cj4gU2lnbmVkLW9mZi1ieTogWmhhbyBaaGlsaSA8emhpbGl6aGFvQHRlbmNlbnQuY29tPgo+IC0t LQo+ICBsaWJhdmNvZGVjL2hldmMvaGV2Y2RlYy5jIHwgNzIgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystCj4gIGxpYmF2Y29kZWMvaGV2Yy9oZXZjZGVjLmggfCAgMiArKwo+ ICBsaWJhdmNvZGVjL2hldmMvcmVmcy5jICAgIHwgMTEgKysrKystCj4gIDMgZmlsZXMgY2hhbmdl ZCwgODMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvbGli YXZjb2RlYy9oZXZjL2hldmNkZWMuYyBiL2xpYmF2Y29kZWMvaGV2Yy9oZXZjZGVjLmMKPiBpbmRl eCBlOWMwNDVmN2ExLi4xY2RjMjhkZTUwIDEwMDY0NAo+IC0tLSBhL2xpYmF2Y29kZWMvaGV2Yy9o ZXZjZGVjLmMKPiArKysgYi9saWJhdmNvZGVjL2hldmMvaGV2Y2RlYy5jCj4gQEAgLTQ2Niw2ICs0 NjYsMjQgQEAgc3RhdGljIGludCBleHBvcnRfbXVsdGlsYXllcihIRVZDQ29udGV4dCAqcywgY29u c3QgSEVWQ1ZQUyAqdnBzKQo+ICAgICAgcmV0dXJuIDA7Cj4gIH0KPiAgCj4gK2ludCBmZl9oZXZj X2lzX2FscGhhX3ZpZGVvKGNvbnN0IEhFVkNDb250ZXh0ICpzKSB7Cgone+KAmSBzaG91bGQgYmUg b24gaXRzIG93biBsaW5lLgoKPiArICAgIGNvbnN0IEhFVkNWUFMgKnZwcyA9IHMtPnZwczsKPiAr ICAgIGludCByZXQgPSAwOwo+ICsKPiArICAgIGlmICh2cHMtPm5iX2xheWVycyAhPSAyIHx8ICF2 cHMtPmxheWVyX2lkX2luX251aFsxXSkKPiArICAgICAgICByZXR1cm4gMDsKPiArCj4gKyAgICAv KiBkZWNvZGVfdnBzX2V4dCgpIGd1YXJhbnRlZXMgdGhhdCBTQ0FMQUJJTElUWV9BVVhJTElBUlkg d2l0aCBBdXhJZCBvdGhlcgo+ICsgICAgICogdGhhbiBhbHBoYSBjYW5ub3QgcmVhY2ggaGVyZS4K PiArICAgICAqLwo+ICsgICAgcmV0ID0gKHMtPnZwcy0+c2NhbGFiaWxpdHlfbWFza19mbGFnICYg SEVWQ19TQ0FMQUJJTElUWV9BVVhJTElBUlkpOwo+ICsKPiArICAgIGF2X2xvZyhzLT5hdmN0eCwg QVZfTE9HX0RFQlVHLCAiTXVsdGkgbGF5ZXIgdmlkZW8sICVzIGFscGhhIHZpZGVvXG4iLAo+ICsg ICAgICAgICAgIHJldCA/ICJpcyIgOiAibm90Iik7Cj4gKwo+ICsgICAgcmV0dXJuIHJldDsKPiAr fQo+ICsKPiAgc3RhdGljIGludCBzZXR1cF9tdWx0aWxheWVyKEhFVkNDb250ZXh0ICpzLCBjb25z dCBIRVZDVlBTICp2cHMpCj4gIHsKPiAgICAgIHVuc2lnbmVkIGxheWVyc19hY3RpdmVfb3V0cHV0 ID0gMCwgaGlnaGVzdF9sYXllcjsKPiBAQCAtNDczLDYgKzQ5MSwxOCBAQCBzdGF0aWMgaW50IHNl dHVwX211bHRpbGF5ZXIoSEVWQ0NvbnRleHQgKnMsIGNvbnN0IEhFVkNWUFMgKnZwcykKPiAgICAg IHMtPmxheWVyc19hY3RpdmVfb3V0cHV0ID0gMTsKPiAgICAgIHMtPmxheWVyc19hY3RpdmVfZGVj b2RlID0gMTsKPiAgCj4gKyAgICBpZiAoZmZfaGV2Y19pc19hbHBoYV92aWRlbyhzKSkgewo+ICsg ICAgICAgIGNvbnN0IEFWUGl4Rm10RGVzY3JpcHRvciAqZGVzYyA9IGF2X3BpeF9mbXRfZGVzY19n ZXQocy0+YXZjdHgtPnBpeF9mbXQpOwo+ICsKPiArICAgICAgICBpZiAoIShkZXNjLT5mbGFncyAm IEFWX1BJWF9GTVRfRkxBR19BTFBIQSkpCj4gKyAgICAgICAgICAgIHJldHVybiAwOwo+ICsKPiAr ICAgICAgICBzLT5sYXllcnNfYWN0aXZlX2RlY29kZSA9ICgxIDw8IHZwcy0+bmJfbGF5ZXJzKSAt IDE7Cj4gKyAgICAgICAgcy0+bGF5ZXJzX2FjdGl2ZV9vdXRwdXQgPSAxOwo+ICsKPiArICAgICAg ICByZXR1cm4gMDsKPiArICAgIH0KPiArCj4gICAgICAvLyBub3RoaW5nIHJlcXVlc3RlZCAtIGRl Y29kZSBiYXNlIGxheWVyIG9ubHkKPiAgICAgIGlmICghcy0+bmJfdmlld19pZHMpCj4gICAgICAg ICAgcmV0dXJuIDA7Cj4gQEAgLTUzMCw2ICs1NjAsMzQgQEAgc3RhdGljIGludCBzZXR1cF9tdWx0 aWxheWVyKEhFVkNDb250ZXh0ICpzLCBjb25zdCBIRVZDVlBTICp2cHMpCj4gICAgICByZXR1cm4g MDsKPiAgfQo+ICAKPiArc3RhdGljIGVudW0gQVZQaXhlbEZvcm1hdCBtYXBfdG9fYWxwaGFfZm9y bWF0KEhFVkNDb250ZXh0ICpzLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZW51bSBBVlBpeGVsRm9ybWF0IHBpeF9mbXQpCj4gK3sKPiArICAgIHN3aXRj aCAocGl4X2ZtdCkgewo+ICsgICAgY2FzZSBBVl9QSVhfRk1UX1lVVjQyMFA6Cj4gKyAgICBjYXNl IEFWX1BJWF9GTVRfWVVWSjQyMFA6Cj4gKyAgICAgICAgcmV0dXJuIEFWX1BJWF9GTVRfWVVWQTQy MFA7Cj4gKyAgICBjYXNlIEFWX1BJWF9GTVRfWVVWNDIwUDEwOgo+ICsgICAgICAgIHJldHVybiBB Vl9QSVhfRk1UX1lVVkE0MjBQMTA7Cj4gKyAgICBjYXNlIEFWX1BJWF9GTVRfWVVWNDQ0UDoKPiAr ICAgICAgICByZXR1cm4gQVZfUElYX0ZNVF9ZVVZBNDQ0UDsKPiArICAgIGNhc2UgQVZfUElYX0ZN VF9ZVVY0MjJQOgo+ICsgICAgICAgIHJldHVybiBBVl9QSVhfRk1UX1lVVkE0MjJQOwo+ICsgICAg Y2FzZSBBVl9QSVhfRk1UX1lVVjQyMlAxMExFOgo+ICsgICAgICAgIHJldHVybiBBVl9QSVhfRk1U X1lVVkE0MjJQMTBMRTsKPiArICAgIGNhc2UgQVZfUElYX0ZNVF9ZVVY0NDRQMTA6Cj4gKyAgICAg ICAgcmV0dXJuIEFWX1BJWF9GTVRfWVVWQTQ0NFAxMDsKPiArICAgIGNhc2UgQVZfUElYX0ZNVF9Z VVY0NDRQMTI6Cj4gKyAgICAgICAgcmV0dXJuIEFWX1BJWF9GTVRfWVVWQTQ0NFAxMjsKPiArICAg IGNhc2UgQVZfUElYX0ZNVF9ZVVY0MjJQMTI6Cj4gKyAgICAgICAgcmV0dXJuIEFWX1BJWF9GTVRf WVVWQTQyMlAxMjsKPiArICAgIGRlZmF1bHQ6Cj4gKyAgICAgICAgYXZfbG9nKHMtPmF2Y3R4LCBB Vl9MT0dfV0FSTklORywgIk5vIGFscGhhIHBpeGVsIGZvcm1hdCBtYXAgZm9yICVzXG4iLAo+ICsg ICAgICAgICAgICAgICBhdl9nZXRfcGl4X2ZtdF9uYW1lKHBpeF9mbXQpKTsKPiArICAgICAgICBy ZXR1cm4gQVZfUElYX0ZNVF9OT05FOwo+ICsgICAgfQo+ICt9Cj4gKwo+ICBzdGF0aWMgZW51bSBB VlBpeGVsRm9ybWF0IGdldF9mb3JtYXQoSEVWQ0NvbnRleHQgKnMsIGNvbnN0IEhFVkNTUFMgKnNw cykKPiAgewo+ICAjZGVmaW5lIEhXQUNDRUxfTUFYIChDT05GSUdfSEVWQ19EWFZBMl9IV0FDQ0VM ICsgXAo+IEBAIC01NDAsOSArNTk4LDEzIEBAIHN0YXRpYyBlbnVtIEFWUGl4ZWxGb3JtYXQgZ2V0 X2Zvcm1hdChIRVZDQ29udGV4dCAqcywgY29uc3QgSEVWQ1NQUyAqc3BzKQo+ICAgICAgICAgICAg ICAgICAgICAgICBDT05GSUdfSEVWQ19WSURFT1RPT0xCT1hfSFdBQ0NFTCArIFwKPiAgICAgICAg ICAgICAgICAgICAgICAgQ09ORklHX0hFVkNfVkRQQVVfSFdBQ0NFTCArIFwKPiAgICAgICAgICAg ICAgICAgICAgICAgQ09ORklHX0hFVkNfVlVMS0FOX0hXQUNDRUwpCj4gLSAgICBlbnVtIEFWUGl4 ZWxGb3JtYXQgcGl4X2ZtdHNbSFdBQ0NFTF9NQVggKyAyXSwgKmZtdCA9IHBpeF9mbXRzOwo+ICsg ICAgZW51bSBBVlBpeGVsRm9ybWF0IHBpeF9mbXRzW0hXQUNDRUxfTUFYICsgM10sICpmbXQgPSBw aXhfZm10czsKPiArICAgIGVudW0gQVZQaXhlbEZvcm1hdCBhbHBoYV9mbXQgPSBBVl9QSVhfRk1U X05PTkU7Cj4gICAgICBpbnQgcmV0Owo+ICAKPiArICAgIGlmIChmZl9oZXZjX2lzX2FscGhhX3Zp ZGVvKHMpKQo+ICsgICAgICAgIGFscGhhX2ZtdCA9IG1hcF90b19hbHBoYV9mb3JtYXQocywgc3Bz LT5waXhfZm10KTsKPiArCj4gICAgICBzd2l0Y2ggKHNwcy0+cGl4X2ZtdCkgewo+ICAgICAgY2Fz ZSBBVl9QSVhfRk1UX1lVVjQyMFA6Cj4gICAgICBjYXNlIEFWX1BJWF9GTVRfWVVWSjQyMFA6Cj4g QEAgLTY2NCw2ICs3MjYsOCBAQCBzdGF0aWMgZW51bSBBVlBpeGVsRm9ybWF0IGdldF9mb3JtYXQo SEVWQ0NvbnRleHQgKnMsIGNvbnN0IEhFVkNTUFMgKnNwcykKPiAgICAgICAgICBicmVhazsKPiAg ICAgIH0KPiAgCj4gKyAgICBpZiAoYWxwaGFfZm10ICE9IEFWX1BJWF9GTVRfTk9ORSkKPiArICAg ICAgICAqZm10KysgPSBhbHBoYV9mbXQ7Cj4gICAgICAqZm10KysgPSBzcHMtPnBpeF9mbXQ7Cj4g ICAgICAqZm10ID0gQVZfUElYX0ZNVF9OT05FOwo+ICAKPiBAQCAtMzE5NCw2ICszMjU4LDEyIEBA IHN0YXRpYyBpbnQgaGV2Y19mcmFtZV9zdGFydChIRVZDQ29udGV4dCAqcywgSEVWQ0xheWVyQ29u dGV4dCAqbCwKPiAgICAgICAgICAgICAgICAgICFzcHMtPnZ1aS5jb21tb24udmlkZW9fc2lnbmFs X3R5cGVfcHJlc2VudF9mbGFnKQo+ICAgICAgICAgICAgICAgICAgcGl4X2ZtdCA9IHNwc19iYXNl LT5waXhfZm10Owo+ICAKPiArICAgICAgICAgICAgLy8gSWdub3JlIHJhbmdlIG1pc21hdGNoIGJl dHdlZW4gYmFzZSBsYXllciBhbmQgYWxwaGEgbGF5ZXIKPiArICAgICAgICAgICAgaWYgKGZmX2hl dmNfaXNfYWxwaGFfdmlkZW8ocykgJiYKPiArICAgICAgICAgICAgICAgIHNwc19iYXNlLT5waXhf Zm10ID09IEFWX1BJWF9GTVRfWVVWNDIwUCAmJgo+ICsgICAgICAgICAgICAgICAgcGl4X2ZtdCA9 PSBBVl9QSVhfRk1UX1lVVko0MjBQKQo+ICsgICAgICAgICAgICAgICAgcGl4X2ZtdCA9IHNwc19i YXNlLT5waXhfZm10Owo+ICsKPiAgICAgICAgICAgICAgaWYgKHBpeF9mbXQgICAgICE9IHNwc19i YXNlLT5waXhfZm10IHx8Cj4gICAgICAgICAgICAgICAgICBzcHMtPndpZHRoICAhPSBzcHNfYmFz ZS0+d2lkdGggICB8fAo+ICAgICAgICAgICAgICAgICAgc3BzLT5oZWlnaHQgIT0gc3BzX2Jhc2Ut PmhlaWdodCkgewo+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2hldmMvaGV2Y2RlYy5oIGIvbGli YXZjb2RlYy9oZXZjL2hldmNkZWMuaAo+IGluZGV4IDRlOTUwMzU2ODguLmIyYjcyNWI1Y2QgMTAw NjQ0Cj4gLS0tIGEvbGliYXZjb2RlYy9oZXZjL2hldmNkZWMuaAo+ICsrKyBiL2xpYmF2Y29kZWMv aGV2Yy9oZXZjZGVjLmgKPiBAQCAtNzE0LDYgKzcxNCw4IEBAIHZvaWQgZmZfaGV2Y19obHNfcmVz aWR1YWxfY29kaW5nKEhFVkNMb2NhbENvbnRleHQgKmxjLCBjb25zdCBIRVZDUFBTICpwcHMsCj4g IAo+ICB2b2lkIGZmX2hldmNfaGxzX212ZF9jb2RpbmcoSEVWQ0xvY2FsQ29udGV4dCAqbGMsIGlu dCB4MCwgaW50IHkwLCBpbnQgbG9nMl9jYl9zaXplKTsKPiAgCj4gK2ludCBmZl9oZXZjX2lzX2Fs cGhhX3ZpZGVvKGNvbnN0IEhFVkNDb250ZXh0ICpzKTsKPiArCj4gIGV4dGVybiBjb25zdCB1aW50 OF90IGZmX2hldmNfcXBlbF9leHRyYV9iZWZvcmVbNF07Cj4gIGV4dGVybiBjb25zdCB1aW50OF90 IGZmX2hldmNfcXBlbF9leHRyYV9hZnRlcls0XTsKPiAgZXh0ZXJuIGNvbnN0IHVpbnQ4X3QgZmZf aGV2Y19xcGVsX2V4dHJhWzRdOwo+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2hldmMvcmVmcy5j IGIvbGliYXZjb2RlYy9oZXZjL3JlZnMuYwo+IGluZGV4IGRkN2Y3Zjk1YTguLmRhOTlmNzk3NDIg MTAwNjQ0Cj4gLS0tIGEvbGliYXZjb2RlYy9oZXZjL3JlZnMuYwo+ICsrKyBiL2xpYmF2Y29kZWMv aGV2Yy9yZWZzLmMKPiBAQCAtMTAzLDcgKzEwMyw3IEBAIHN0YXRpYyBIRVZDRnJhbWUgKmFsbG9j X2ZyYW1lKEhFVkNDb250ZXh0ICpzLCBIRVZDTGF5ZXJDb250ZXh0ICpsKQo+ICAgICAgICAgIH0K PiAgCj4gICAgICAgICAgLy8gYWRkIHZpZXcgSUQgc2lkZSBkYXRhIGlmIGl0J3Mgbm9udHJpdmlh bAo+IC0gICAgICAgIGlmICh2cHMtPm5iX2xheWVycyA+IDEgfHwgdmlld19pZCkgewo+ICsgICAg ICAgIGlmICghZmZfaGV2Y19pc19hbHBoYV92aWRlbyhzKSAmJiAodnBzLT5uYl9sYXllcnMgPiAx IHx8IHZpZXdfaWQpKSB7Cj4gICAgICAgICAgICAgIEhFVkNTRUlURFJESSAqdGRyZGkgPSAmcy0+ c2VpLnRkcmRpOwo+ICAgICAgICAgICAgICBBVkZyYW1lU2lkZURhdGEgKnNkID0gYXZfZnJhbWVf c2lkZV9kYXRhX25ldygmZnJhbWUtPmYtPnNpZGVfZGF0YSwKPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZyYW1lLT5mLT5uYl9zaWRl X2RhdGEsCj4gQEAgLTE2MSw3ICsxNjEsMTYgQEAgc3RhdGljIEhFVkNGcmFtZSAqYWxsb2NfZnJh bWUoSEVWQ0NvbnRleHQgKnMsIEhFVkNMYXllckNvbnRleHQgKmwpCj4gICAgICAgICAgaWYgKHJl dCA8IDApCj4gICAgICAgICAgICAgIGdvdG8gZmFpbDsKPiAgCj4gKwo+ICAgICAgICAgIGZyYW1l LT5wcHMgPSBhdl9yZWZzdHJ1Y3RfcmVmX2Mocy0+cHBzKTsKPiArICAgICAgICBpZiAobCAhPSAm cy0+bGF5ZXJzWzBdICYmIGZmX2hldmNfaXNfYWxwaGFfdmlkZW8ocykpIHsKPiArICAgICAgICAg ICAgQVZGcmFtZSAqYWxwaGEgPSBmcmFtZS0+ZjsKPiArICAgICAgICAgICAgQVZGcmFtZSAqYmFz ZSA9IHMtPmxheWVyc1swXS5jdXJfZnJhbWUtPmY7Cj4gKwo+ICsgICAgICAgICAgICBhdl9idWZm ZXJfcmVwbGFjZSgmYWxwaGEtPmJ1ZlswXSwgYmFzZS0+YnVmWzNdKTsKPiArICAgICAgICAgICAg YWxwaGEtPmxpbmVzaXplWzBdID0gYmFzZS0+bGluZXNpemVbM107Cj4gKyAgICAgICAgICAgIGFs cGhhLT5kYXRhWzBdID0gYmFzZS0+ZGF0YVszXTsKPiArICAgICAgICB9CgpUaGlzIGNvZGUgc2Vl bXMgdG8gcHJlc3VtZSB0aGF0IHRoZSBBVkJ1ZmZlclJlZiBiYWNraW5nIGRhdGFbaV0gaXMKYnVm W2ldLiBCdXQgdGhlcmUgaXMgbm8gc3VjaCByZXF1aXJlbWVudCAodGhlIGRvY3VtZW50YXRpb24g bWVyZWx5CnN0YXRlcyAiQWxsIHBvaW50ZXJzIGluIGRhdGEgYW5kIGV4dGVuZGVkX2RhdGEgbXVz dCBwb2ludCBpbnRvIG9uZSBvZgp0aGUgQVZCdWZmZXJSZWYgaW4gYnVmIG9yIGV4dGVuZGVkX2J1 ZiIpLgpBcGFydCBmcm9tIHRoYXQ6IE1pc3NpbmcgY2hlY2sgZm9yIGF2X2J1ZmZlcl9yZXBsYWNl KCkuCgo+ICAKPiAgICAgICAgICByZXR1cm4gZnJhbWU7Cj4gIGZhaWw6CgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBs aXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9y IGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1 YnNjcmliZSIuCg==