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 E486F49E4F for ; Tue, 12 Mar 2024 15:34:44 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 154A668D17A; Tue, 12 Mar 2024 17:34:42 +0200 (EET) Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02olkn2105.outbound.protection.outlook.com [40.92.50.105]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BA4E268C4E1 for ; Tue, 12 Mar 2024 17:34:35 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VyLkK/Ayl6CSCx1td1173juCshFZg36rybzH5dVSJcrg/SVe4PQUHhiF6GBvECkVEOiPtvzDDi8hzHTgqfQTO1a4RAnLGtS+os/dbAaI7DTmE2PqiaI03zBWxU7587QZRdTJbat+3Yl1VAT/KXoh3H5KjjRZHJFmG4lq9rqqbOnQ/elO2H3RhvEgZHuLSBP2nf1VFdXdZKQSjhq0qWn0LIrihgweASiFwXleBu/3aoiTRu+faNs64mijJhUq7VFEitlo7K2+MeFNhSzAJcNdkyG3b/fMvP7IvNxPOMk6itw9sM9wUtcfRi6ipm2HNMYMXm9tOwZxTwxDXMoLeDxAMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=cA/BgNczkwco2ojo7G7vg/6cunaR3cgqIgOHbCi0Stk=; b=FYrFmBhzupVFu3QM8vWIhhsLBdEPpB7vEl6MrKrheUpejZQbupgnN9on5FKAW23a7dtUvQDMt3RGvZckAdbo6xx4pS/drTYCwO4mJ3Xr2PRdnYmntVcOHT0jjC35AuxkLTjIWDOIEDI6mNwwDTEKF2jsAO6+WEUjE1MO8TzrYS6Dzg+m44K1t6oYifgbfhqnTuRgPrQ+ZSKqdORG6/hcBIrUQGJT0gqiXO/DOFIvyPvUP7uaSusdwO1WvH56BaHjRBW/TMxJuxXj0ePuOj68pYdehbhaCutAx741zfa9WBGuT3N0fnZQ87ojn9LdIN9QNbvTh0n6A8M2844f80OfMg== 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=cA/BgNczkwco2ojo7G7vg/6cunaR3cgqIgOHbCi0Stk=; b=tM0DH7oBWWwx0sn558+PYspXv2ix0zRmK0ixqYENnVJHq+Xf8s7eyhIX7zyfkgn5VVjfttX9icfvwntabvx1CVRvLgi0UUN3dMpCTdBT6uDdAMznbxwM5NqquLGEaO1X3US1cwcnUXRR9g91d8jJh668eWJKcWyqZFJcfPwXIrvMSmpo0hX8e4Vgy6/d0L7ybYJi7pgIOcKq5yCLP81qp3QpiBWpaDwv5VEuuJkdOhA5JDHuoG2vmdns0H/JkiR0dg+WLgN7l5jiq0NZIjYYsTDt4foqVSotpgXBg+lPx5RY3MlJjn209c21MwXy4SM/hbHgrQanv8NSWe8XjOpNgg== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AS4P250MB0488.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:4b7::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.35; Tue, 12 Mar 2024 15:34:33 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::228d:8c6f:ed10:82eb]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::228d:8c6f:ed10:82eb%7]) with mapi id 15.20.7362.035; Tue, 12 Mar 2024 15:34:33 +0000 Message-ID: Date: Tue, 12 Mar 2024 16:34:32 +0100 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <85515dba-47a0-4974-a95e-debd9be97bc1@gmail.com> From: Andreas Rheinhardt In-Reply-To: <85515dba-47a0-4974-a95e-debd9be97bc1@gmail.com> X-TMN: [MuVNfwPLCdutPIJA3I8HLXjsynd0oTyGTkzGpX9DKsU=] X-ClientProxiedBy: FR3P281CA0076.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1f::14) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <8e174296-5c9e-4a63-88d8-072ef28ee9ae@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AS4P250MB0488:EE_ X-MS-Office365-Filtering-Correlation-Id: 360bf43e-a666-4807-891c-08dc42a9ead5 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DSwEG2q+LI9lj80hgCrDO3JESxRa2OYKhXDmNphTL9/dBEikiYiu1lJihMf1gxUDCXwDQLEqqy0DnaIuY1haJ3QGRamGZjiuAKn6XoJ02UCvwSTXIhojAW+MadqQ/DisDCaRDKvulYnuQ4rf0yI2E3XZxszppH/ZLrgHm0d7wbEkUGX9HERY97kWY/xjKZy9fVzZk1d3w+o+SYFYm3TVDpttUsGnex3u1CEUZzH7+EZl/8rhrZj9gJPKuavxhQ6BtaYCKNk+wUqi6aQNQ5pDhFDOV75pr7Zq9YwnNQeMX3j7F41o3bH9uL6UF4lBVYI6qD+LIE2PbinKdTQEHyexYD6M4uJu5YMFsY7I/QtcJ+EIjpt0Ljjh/pVaQPkhIxXhUU3JJG2KXs1d8EaMjjl1JNoCjycI/7IvxgT/wq18CUdNRetVYmVZQLrPcSSN1CFP1/fCEaCp43u8JVUo1s9TYNPm+Hp+V7tgceqxrRLR765W5q5vhbIL9YNGEhNB8qWiUm8SyOVjeYKFMRfr2AqP1ejFcI5jA7/9X9R3shwgKUDV9/XQ9zwbjsBQASqvrl9e X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZzBlc1pDdFgwMGF0RFRKSnRPRGtCa1RyUnNwakZjS2dmR21kVUsxMFQ4Y0Q0?= =?utf-8?B?OGlXZllLamJ2WksxZjcwYzVLVVQxb1FyWi9RMVZWcHVXVWpRQTBVNW9CL2M0?= =?utf-8?B?VXF4S2Nkc3FuWnViRit4NU9lTnIxZzkxOVM3NTB6aVVxVCtCNk1tdmJkNG9J?= =?utf-8?B?d2VMMVZNdUtpcUFUb3FCZFhsQkhNVUhZY3BzRFIzL1RrRHQvK3NsMFFoM3dQ?= =?utf-8?B?dnkyaVJZNU0xNW1jRmxSYW5JQ2lPSVdDVzM2TlhPa3FZY0hkaXNFYklqaEF1?= =?utf-8?B?LzdONG1HQVVab05WQmN2MnpZN2xzNDZiZG45Q1pUdUJVb2NrZG1ZdlNJVlNn?= =?utf-8?B?ZU1NZEx4am9aS0hzTTNhMVRQQkZKN1B3a3lxRXFXd25hOFBxMkhqT01JYlJi?= =?utf-8?B?MzRBRVFRekVqV1M2YVQ1YnNKS2pZWTI4QTZZUnR5WS9nWXJsbVlJelljY2xo?= =?utf-8?B?b2lJRnNQMGpMRGYzT1Q0UTNyNGJHUXVVMFl0bGVQS0trOEEyQUdiTHpQMnFn?= =?utf-8?B?MEp5WS9aUUFJSW5wV1N0QWpsdzNSdEJOeHZ5NEdqYmR1ZHpvK2MyN1dxcHNK?= =?utf-8?B?dndTRVk5elNMTFNuYzV3cDZ6Ykh6ZDMwNmVvaEJsTHF5bzB3anVvcEtQQits?= =?utf-8?B?NzhrOGxoZCtTcWJPUWN1c3lTTUlCQ1l0MnRYZ1d4enJxbm9pcE14eUtRbi85?= =?utf-8?B?eFR2QURTS2dVSEZoWHBQQm50dXhYaHJRdm5oTnBLVFRYM1I0VjBQODY5ZUFa?= =?utf-8?B?UHZvaGUvYm81WnYyWFk1S3VXZkE1cEYvZCtiRVNmRXJYL2tsTHdCL0RyZkFS?= =?utf-8?B?UkIrdGtodmJ6Tk1zdVJxRWNzRzdpZWVhYVRYY0Mrd0JUU1NMYldpYXc0czBp?= =?utf-8?B?Snp6SlNFbW9MVmpCeEQ3R0xyb1o1RjZQL25laW1RT3JrZXZxNEdZSUZTSENi?= =?utf-8?B?eUZBWlpoWmxtQmNFR3MvTVJPTXVXcGJSVG5OdVJGZklUNnlCK0h5M3U1VmQ1?= =?utf-8?B?VkJ0Y1hWNmE0YkhNVTcvcHRQWVl6dDZnSWpvMy8rd3dqN3BaODJJUERqbCsx?= =?utf-8?B?Y291NW8vNVJ6MnRhbDB6d2t3UUxFSXdEVUdTZ043emNBVlVVV0pHek0xZlVu?= =?utf-8?B?eEtlOVM0cDd5YUtKR3NGR3NiVkhYSHZPQWllZEhybEcxY2dMbjE1eDZ3Y3FP?= =?utf-8?B?NFlDak1DdDhSTGZSUG9aRnY2azd4UWgzQ2ZoNEQrM2ZVck5IRzIxQnUrZmZ4?= =?utf-8?B?VTIvcjlEU2tWUXphb1l2WXc4QTk5S2wxRTRob0QzUGxyY2wrRWNLdnBwTm12?= =?utf-8?B?bFc0dXd3blhXWEUvRTNtdVY1MHF5bFMwRWhnTGRHSTBNMHJZVk1rT1JIdkhm?= =?utf-8?B?TnNlcjRPWkczY2sxVVJTYWR4Uk8zM3ltMHF1ZnZUR21teGN0dFNlSW0rS2Rp?= =?utf-8?B?TUxvZ2FIZkw5eXFpeXoycVVld1ZpQTF1Sm50VEt1cWhrV09DeENIdGJ4QTZo?= =?utf-8?B?THNGUXZya2xwcnk4TnJ3UVlybnI2TlZQbmd4ZFY2NTI1L01CRldvbmdUcGh6?= =?utf-8?B?TVFna2E3cVdFaG9kVjZVRjhYQ29VUCtLQWMxdXB4aHJ6MEZGekovQnJ3ejBo?= =?utf-8?B?L0hPZHV0RTZjYVdBMjNWOG1LaUdVVjVDQjlVZXdRcHVpbVRHOEQxcjM5WlBK?= =?utf-8?B?c0h5ZWh5T1Q5ZENQSTV1Zm4rMnRiSGsvaXI5WnVHS01xcXRHR1hMK2tnPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 360bf43e-a666-4807-891c-08dc42a9ead5 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2024 15:34:33.8133 (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: AS4P250MB0488 Subject: Re: [FFmpeg-devel] [PATCH v4] avcodec/libx264: fix extradata when config annexb=0 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: SmFtZXMgQWxtZXI6Cj4gT24gMy8xMi8yMDI0IDEyOjAwIFBNLCBBbmRyZWFzIFJoZWluaGFyZHQg d3JvdGU6Cj4+IFpoYW8gWmhpbGk6Cj4+PiBGcm9tOiBaaGFvIFpoaWxpIDx6aGlsaXpoYW9AdGVu Y2VudC5jb20+Cj4+Pgo+Pj4gLS0tCj4+PiB2NDogRml4IG1pc3NpbmcgU0VJIGluIHNldF9hdmNj X2V4dHJhZGF0YQo+Pj4gdjM6IFJlbW92ZSB1bm5lY2Vzc2FyeSBpbmNsdXNpb24KPj4+Cj4+PiDC oCBjb25maWd1cmXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDIgKy0KPj4+IMKgIGxpYmF2 Y29kZWMvbGlieDI2NC5jIHwgMTUzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0KPj4+IMKgIDIgZmlsZXMgY2hhbmdlZCwgMTMwIGluc2VydGlvbnMoKyksIDI1IGRl bGV0aW9ucygtKQo+Pj4KPj4+IGRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKPj4+ IGluZGV4IGRiN2RjODk3NTUuLjI0Y2I4OTdkMjggMTAwNzU1Cj4+PiAtLS0gYS9jb25maWd1cmUK Pj4+ICsrKyBiL2NvbmZpZ3VyZQo+Pj4gQEAgLTM0OTEsNyArMzQ5MSw3IEBAIGxpYndlYnBfZW5j b2Rlcl9kZXBzPSJsaWJ3ZWJwIgo+Pj4gwqAgbGlid2VicF9hbmltX2VuY29kZXJfZGVwcz0ibGli d2VicCIKPj4+IMKgIGxpYngyNjJfZW5jb2Rlcl9kZXBzPSJsaWJ4MjYyIgo+Pj4gwqAgbGlieDI2 NF9lbmNvZGVyX2RlcHM9ImxpYngyNjQiCj4+PiAtbGlieDI2NF9lbmNvZGVyX3NlbGVjdD0iYXRz Y19hNTMiCj4+PiArbGlieDI2NF9lbmNvZGVyX3NlbGVjdD0iYXRzY19hNTMgaDI2NHBhcnNlIgo+ Pj4gwqAgbGlieDI2NHJnYl9lbmNvZGVyX2RlcHM9ImxpYngyNjQiCj4+PiDCoCBsaWJ4MjY0cmdi X2VuY29kZXJfc2VsZWN0PSJsaWJ4MjY0X2VuY29kZXIiCj4+PiDCoCBsaWJ4MjY1X2VuY29kZXJf ZGVwcz0ibGlieDI2NSIKPj4+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2xpYngyNjQuYyBiL2xp YmF2Y29kZWMvbGlieDI2NC5jCj4+PiBpbmRleCAxMGQ2NDZiZDc2Li5lN2QxNjk5N2QyIDEwMDY0 NAo+Pj4gLS0tIGEvbGliYXZjb2RlYy9saWJ4MjY0LmMKPj4+ICsrKyBiL2xpYmF2Y29kZWMvbGli eDI2NC5jCj4+PiBAQCAtMzQsNiArMzQsNyBAQAo+Pj4gwqAgI2luY2x1ZGUgImF2Y29kZWMuaCIK Pj4+IMKgICNpbmNsdWRlICJjb2RlY19pbnRlcm5hbC5oIgo+Pj4gwqAgI2luY2x1ZGUgImVuY29k ZS5oIgo+Pj4gKyNpbmNsdWRlICJoMjY0X3BzLmgiCj4+PiDCoCAjaW5jbHVkZSAiaW50ZXJuYWwu aCIKPj4+IMKgICNpbmNsdWRlICJwYWNrZXRfaW50ZXJuYWwuaCIKPj4+IMKgICNpbmNsdWRlICJh dHNjX2E1My5oIgo+Pj4gQEAgLTg2NSw2ICs4NjYsMTMxIEBAIHN0YXRpYyBpbnQgY29udmVydF9w aXhfZm10KGVudW0gQVZQaXhlbEZvcm1hdAo+Pj4gcGl4X2ZtdCkKPj4+IMKgwqDCoMKgwqAgcmV0 dXJuIDA7Cj4+PiDCoCB9Cj4+PiDCoCArc3RhdGljIGludCBzYXZlX3NlaShBVkNvZGVjQ29udGV4 dCAqYXZjdHgsIHgyNjRfbmFsX3QgKm5hbCkKPj4+ICt7Cj4+PiArwqDCoMKgIFgyNjRDb250ZXh0 ICp4NCA9IGF2Y3R4LT5wcml2X2RhdGE7Cj4+PiArCj4+PiArwqDCoMKgIGF2X2xvZyhhdmN0eCwg QVZfTE9HX0lORk8sICIlc1xuIiwgbmFsLT5wX3BheWxvYWQgKyAyNSk7Cj4+PiArwqDCoMKgIHg0 LT5zZWlfc2l6ZSA9IG5hbC0+aV9wYXlsb2FkOwo+Pj4gK8KgwqDCoCB4NC0+c2VpID0gYXZfbWFs bG9jKHg0LT5zZWlfc2l6ZSk7Cj4+PiArwqDCoMKgIGlmICgheDQtPnNlaSkKPj4+ICvCoMKgwqDC oMKgwqDCoCByZXR1cm4gQVZFUlJPUihFTk9NRU0pOwo+Pj4gKwo+Pj4gK8KgwqDCoCBtZW1jcHko eDQtPnNlaSwgbmFsLT5wX3BheWxvYWQsIG5hbC0+aV9wYXlsb2FkKTsKPj4+ICsKPj4+ICvCoMKg wqAgcmV0dXJuIDA7Cj4+PiArfQo+Pj4gKwo+Pj4gK3N0YXRpYyBpbnQgc2V0X2F2Y2NfZXh0cmFk YXRhKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgeDI2NF9uYWxfdAo+Pj4gKm5hbCwgaW50IG5uYWwp Cj4+PiArewo+Pj4gK8KgwqDCoCBYMjY0Q29udGV4dCAqeDQgPSBhdmN0eC0+cHJpdl9kYXRhOwo+ Pj4gK8KgwqDCoCB4MjY0X25hbF90ICpzcHNfbmFsID0gTlVMTDsKPj4+ICvCoMKgwqAgeDI2NF9u YWxfdCAqcHBzX25hbCA9IE5VTEw7Cj4+PiArwqDCoMKgIHVpbnQ4X3QgKnAsICpzcHM7Cj4+PiAr wqDCoMKgIGludCByZXQ7Cj4+PiArCj4+PiArwqDCoMKgIC8qIFdlIGtub3cgaXQncyBpbiB0aGUg b3JkZXIgb2YgU1BTL1BQUy9TRUksIGJ1dCBpdCdzIG5vdAo+Pj4gZG9jdW1lbnRlZCBpbiB4MjY0 IEFQSS4KPj4+ICvCoMKgwqDCoCAqIFRoZSB4MjY0IHBhcmFtIGlfc3BzX2lkIGltcGxpZXMgdGhl cmUgaXMgYSBzaW5nbGUgcGFpciBvZgo+Pj4gU1BTL1BQUy4KPj4+ICvCoMKgwqDCoCAqLwo+Pj4g K8KgwqDCoCBmb3IgKGludCBpID0gMDsgaSA8IG5uYWw7IGkrKykgewo+Pj4gK8KgwqDCoMKgwqDC oMKgIHN3aXRjaCAobmFsW2ldLmlfdHlwZSkgewo+Pj4gK8KgwqDCoMKgwqDCoMKgIGNhc2UgTkFM X1NQUzoKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNwc19uYWwgPSAmbmFsW2ldOwo+Pj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYnJlYWs7Cj4+PiArwqDCoMKgwqDCoMKgwqAgY2FzZSBO QUxfUFBTOgo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHBzX25hbCA9ICZuYWxbaV07Cj4+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBicmVhazsKPj4+ICvCoMKgwqDCoMKgwqDCoCBjYXNl IE5BTF9TRUk6Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXQgPSBzYXZlX3NlaShhdmN0 eCwgJm5hbFtpXSk7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAocmV0IDwgMCkKPj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHJldDsKPj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGJyZWFrOwo+Pj4gK8KgwqDCoMKgwqDCoMKgIH0KPj4+ICvCoMKgwqAg fQo+Pj4gK8KgwqDCoCBpZiAoIXNwc19uYWwgfHwgIXBwc19uYWwpCj4+PiArwqDCoMKgwqDCoMKg wqAgcmV0dXJuIEFWRVJST1JfRVhURVJOQUw7Cj4+PiArCj4+PiArwqDCoMKgIGF2Y3R4LT5leHRy YWRhdGFfc2l6ZSA9IHNwc19uYWwtPmlfcGF5bG9hZCArIHBwc19uYWwtPmlfcGF5bG9hZAo+Pj4g KyA3Owo+Pj4gK8KgwqDCoCBhdmN0eC0+ZXh0cmFkYXRhID0gYXZfbWFsbG9jeihhdmN0eC0+ZXh0 cmFkYXRhX3NpemUgKwo+Pj4gQVZfSU5QVVRfQlVGRkVSX1BBRERJTkdfU0laRSk7Cj4+PiArwqDC oMKgIGlmICghYXZjdHgtPmV4dHJhZGF0YSkKPj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gQVZF UlJPUihFTk9NRU0pOwo+Pj4gKwo+Pj4gK8KgwqDCoCAvLyBOb3cgY3JlYXRlIEFWQ0RlY29kZXJD b25maWd1cmF0aW9uUmVjb3JkCj4+PiArwqDCoMKgIHAgPSBhdmN0eC0+ZXh0cmFkYXRhOwo+Pj4g K8KgwqDCoCAvLyBTa2lwIHNpemUgcGFydAo+Pj4gK8KgwqDCoCBzcHMgPSBzcHNfbmFsLT5wX3Bh eWxvYWQgKyA0Owo+Pj4gK8KgwqDCoCAqcCsrID0gMTsgLy8gdmVyc2lvbgo+Pj4gK8KgwqDCoCAq cCsrID0gc3BzWzFdOyAvLyBBVkNQcm9maWxlSW5kaWNhdGlvbgo+Pj4gK8KgwqDCoCAqcCsrID0g c3BzWzJdOyAvLyBwcm9maWxlX2NvbXBhdGliaWxpdHkKPj4+ICvCoMKgwqAgKnArKyA9IHNwc1sz XTsgLy8gQVZDTGV2ZWxJbmRpY2F0aW9uCj4+PiArwqDCoMKgICpwKysgPSAweEZGOwo+Pj4gK8Kg wqDCoCAqcCsrID0gMHhFMCB8IDB4MDE7IC8vIDMgYml0cyByZXNlcnZlZCAoMTExKSArIDUgYml0 cyBudW1iZXIgb2Ygc3BzCj4+PiArwqDCoMKgIG1lbWNweShwLCBzcHNfbmFsLT5wX3BheWxvYWQg KyAyLCBzcHNfbmFsLT5pX3BheWxvYWQgLSAyKTsKPj4+ICvCoMKgwqAgLy8gTWFrZSBzcHMgaGFz IEFWX0lOUFVUX0JVRkZFUl9QQURESU5HX1NJWkUgcGFkZGluZywgc28gaXQgY2FuCj4+PiBiZSB1 c2VkCj4+PiArwqDCoMKgIC8vIHdpdGggR2V0Qml0Q29udGV4dAo+Pj4gK8KgwqDCoCBzcHMgPSBw ICsgMjsKPj4+ICvCoMKgwqAgcCArPSBzcHNfbmFsLT5pX3BheWxvYWQgLSAyOwo+Pj4gK8KgwqDC oCAqcCsrID0gMTsKPj4+ICvCoMKgwqAgbWVtY3B5KHAsIHBwc19uYWwtPnBfcGF5bG9hZCArIDIs IHBwc19uYWwtPmlfcGF5bG9hZCAtIDIpOwo+Pj4gK8KgwqDCoCBwICs9IHBwc19uYWwtPmlfcGF5 bG9hZCAtIDI7Cj4+PiArCj4+PiArwqDCoMKgIGlmIChzcHNbM10gIT0gNjYgJiYgc3BzWzNdICE9 IDc3ICYmIHNwc1szXSAhPSA4OCkgewo+Pj4gK8KgwqDCoMKgwqDCoMKgIEdldEJpdENvbnRleHQg Z2JjOwo+Pj4gK8KgwqDCoMKgwqDCoMKgIEgyNjRQYXJhbVNldHMgcHMgPSB7IDAgfTsKPj4+ICsK Pj4+ICvCoMKgwqDCoMKgwqDCoCBpbml0X2dldF9iaXRzOCgmZ2JjLCBzcHMsIHNwc19uYWwtPmlf cGF5bG9hZCAtIDQpOwo+Pj4gK8KgwqDCoMKgwqDCoMKgIHNraXBfYml0cygmZ2JjLCA4KTsKPj4+ ICvCoMKgwqDCoMKgwqDCoCByZXQgPSBmZl9oMjY0X2RlY29kZV9zZXFfcGFyYW1ldGVyX3NldCgm Z2JjLCBhdmN0eCwgJnBzLCAxKTsKPj4KPj4gZmZfaDI2NF9kZWNvZGVfc2VxX3BhcmFtZXRlcl9z ZXQoKSBleHBlY3RzIHRvIHJlYWQgZnJvbSBhIEdldEJpdENvbnRleHQKPj4gd2hvc2UgYnVmZmVy IGhhcyBhbHJlYWR5IGJlZW4gc3RyaXBwZWQgb2YgMHgwMyBlc2NhcGUgYnl0ZXMuIFlvdXIgYnVm ZmVyCj4+IGhhc24ndCBhbmQgdGhlcmVmb3JlIGl0IGlzIHBvc3NpYmxlIGZvciB0aGlzIGZ1bmN0 aW9uIHRvIHJldHVybiBhbiBlcnJvcgo+PiBldmVuIHdoZW4gdGhlIGlucHV0IGlzIGZpbmUuCj4g Cj4gV2h5IHdvdWxkIGEgYnVmZmVyIGNyZWF0ZWQgYnkgcGFzc2luZyBhbm5leGI9MCBoYXZlIHRo ZSBlc2NhcGUgYnl0ZXM/IElzCj4gaXQgbm90IHNwZWNpZmljIHRvIHRoYXQgZW5jYXBzdWxhdGlv biwgdG8gcHJldmVudCBwYXJzaW5nIGltYWdlIGRhdGEgYXMKPiBhIHN0YXJ0IGNvZGU/Cj4gCgpZ b3Ugc2VlbSB0byBiZWxpZXZlIHRoYXQganVzdCBiZWNhdXNlIHRoZSAweDAzIGFyZSBub3QgcmVh bGx5IHVzZWZ1bCBpbgpJU09CTUZGLCB0aGV5IGFyZSBub3QgdXNlZCBpbiBJU09CTUZGLiBUaGlz IGlzIGp1c3Qgbm90IHRydWUuIFRoZSAweDAzCmFyZSBub3Qgc3BlY2lmaWMgdG8gYW5uZXggQiAo dGhleSBhcmUgbm90IGV2ZW4gZGVmaW5lZCBpbiBhbm5leCBCOyB0aGV5CmFyZSBkZWZpbmVkIGlu IHRoZSBtb3N0IGJhc2ljIHN5bnRheCBzdHJ1Y3R1cmUgb2YgSC4yNjQ6IG5hbF91bml0LCBzZWUK Ny4zLjEgb2YgdGhlIHNwZWMpLgooSWYgaXQgd2VyZSBvdGhlcndpc2UsIG91ciBhbm5leCBiLT5p c29ibWZmIGNvZGUgaW4gbGF2ZiB3b3VsZCBuZWVkIHRvCnN0cmlwIGl0IGFuZCBvdXIgaXNvYm1m Zi0+YW5uZXggYiBic2ZzIHdvdWxkIG5lZWQgdG8gZXNjYXBlIHRoZSBidWZmZXJzLAp3aGljaCB0 aGV5IGRvbid0LikKCj4+Cj4+PiArwqDCoMKgwqDCoMKgwqAgaWYgKHJldCA8IDApCj4+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Owo+Pj4gKwo+Pj4gK8KgwqDCoMKgwqDCoMKg IHBzLnNwcyA9IHBzLnNwc19saXN0W3g0LT5wYXJhbXMuaV9zcHNfaWRdOwo+Pj4gK8KgwqDCoMKg wqDCoMKgICpwKysgPSAweEZDIHwgcHMuc3BzLT5jaHJvbWFfZm9ybWF0X2lkYzsKPj4+ICvCoMKg wqDCoMKgwqDCoCAqcCsrID0gMHhGOCB8IChwcy5zcHMtPmJpdF9kZXB0aF9sdW1hIC0gOCk7Cj4+ PiArwqDCoMKgwqDCoMKgwqAgKnArKyA9IDB4RjggfCAocHMuc3BzLT5iaXRfZGVwdGhfY2hyb21h IC0gOCk7Cj4+PiArwqDCoMKgwqDCoMKgwqAgKnArKyA9IDA7Cj4+PiArwqDCoMKgwqDCoMKgwqAg ZmZfaDI2NF9wc191bmluaXQoJnBzKTsKPj4+ICvCoMKgwqAgfQo+Pj4gK8KgwqDCoCBhdl9hc3Nl cnQwKGF2Y3R4LT5leHRyYWRhdGEgKyBhdmN0eC0+ZXh0cmFkYXRhX3NpemUgPj0gcCk7Cj4+PiAr wqDCoMKgIGF2Y3R4LT5leHRyYWRhdGFfc2l6ZSA9IHAgLSBhdmN0eC0+ZXh0cmFkYXRhOwo+Pj4g Kwo+Pj4gK8KgwqDCoCByZXR1cm4gMDsKPj4+ICt9Cj4+PiArCj4+PiArc3RhdGljIGludCBzZXRf ZXh0cmFkYXRhKEFWQ29kZWNDb250ZXh0ICphdmN0eCkKPj4+ICt7Cj4+PiArwqDCoMKgIFgyNjRD b250ZXh0ICp4NCA9IGF2Y3R4LT5wcml2X2RhdGE7Cj4+PiArwqDCoMKgIHgyNjRfbmFsX3QgKm5h bDsKPj4+ICvCoMKgwqAgdWludDhfdCAqcDsKPj4+ICvCoMKgwqAgaW50IG5uYWwsIHM7Cj4+PiAr Cj4+PiArwqDCoMKgIHMgPSB4MjY0X2VuY29kZXJfaGVhZGVycyh4NC0+ZW5jLCAmbmFsLCAmbm5h bCk7Cj4+PiArwqDCoMKgIGlmIChzIDwgMCkKPj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gQVZF UlJPUl9FWFRFUk5BTDsKPj4+ICsKPj4+ICvCoMKgwqAgaWYgKCF4NC0+cGFyYW1zLmJfYW5uZXhi KQo+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiBzZXRfYXZjY19leHRyYWRhdGEoYXZjdHgsIG5h bCwgbm5hbCk7Cj4+PiArCj4+PiArwqDCoMKgIGF2Y3R4LT5leHRyYWRhdGEgPSBwID0gYXZfbWFs bG9jeihzICsKPj4+IEFWX0lOUFVUX0JVRkZFUl9QQURESU5HX1NJWkUpOwo+Pj4gK8KgwqDCoCBp ZiAoIXApCj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKPj4+ICsK Pj4+ICvCoMKgwqAgZm9yIChpbnQgaSA9IDA7IGkgPCBubmFsOyBpKyspIHsKPj4+ICvCoMKgwqDC oMKgwqDCoCAvKiBEb24ndCBwdXQgdGhlIFNFSSBpbiBleHRyYWRhdGEuICovCj4+PiArwqDCoMKg wqDCoMKgwqAgaWYgKG5hbFtpXS5pX3R5cGUgPT0gTkFMX1NFSSkgewo+Pj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqAgcyA9IHNhdmVfc2VpKGF2Y3R4LCAmbmFsW2ldKTsKPj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGlmIChzIDwgMCkKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgcmV0dXJuIHM7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb250aW51ZTsKPj4+ICvC oMKgwqDCoMKgwqDCoCB9Cj4+PiArwqDCoMKgwqDCoMKgwqAgbWVtY3B5KHAsIG5hbFtpXS5wX3Bh eWxvYWQsIG5hbFtpXS5pX3BheWxvYWQpOwo+Pj4gK8KgwqDCoMKgwqDCoMKgIHAgKz0gbmFsW2ld LmlfcGF5bG9hZDsKPj4+ICvCoMKgwqAgfQo+Pj4gK8KgwqDCoCBhdmN0eC0+ZXh0cmFkYXRhX3Np emUgPSBwIC0gYXZjdHgtPmV4dHJhZGF0YTsKPj4+ICsKPj4+ICvCoMKgwqAgcmV0dXJuIDA7Cj4+ PiArfQo+Pj4gKwo+Pj4gwqAgI2RlZmluZSBQQVJTRV9YMjY0X09QVChuYW1lLCB2YXIpXAo+Pj4g wqDCoMKgwqDCoCBpZiAoeDQtPnZhciAmJiB4MjY0X3BhcmFtX3BhcnNlKCZ4NC0+cGFyYW1zLCBu YW1lLCB4NC0+dmFyKSA8Cj4+PiAwKSB7XAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIGF2X2xvZyhh dmN0eCwgQVZfTE9HX0VSUk9SLCAiRXJyb3IgcGFyc2luZyBvcHRpb24gJyVzJyB3aXRoCj4+PiB2 YWx1ZSAnJXMnLlxuIiwgbmFtZSwgeDQtPnZhcik7XAo+Pj4gQEAgLTEyMzMsMzAgKzEzNTksOSBA QCBGRl9FTkFCTEVfREVQUkVDQVRJT05fV0FSTklOR1MKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBy ZXR1cm4gQVZFUlJPUl9FWFRFUk5BTDsKPj4+IMKgIMKgwqDCoMKgwqAgaWYgKGF2Y3R4LT5mbGFn cyAmIEFWX0NPREVDX0ZMQUdfR0xPQkFMX0hFQURFUikgewo+Pj4gLcKgwqDCoMKgwqDCoMKgIHgy NjRfbmFsX3QgKm5hbDsKPj4+IC3CoMKgwqDCoMKgwqDCoCB1aW50OF90ICpwOwo+Pj4gLcKgwqDC oMKgwqDCoMKgIGludCBubmFsLCBzLCBpOwo+Pj4gLQo+Pj4gLcKgwqDCoMKgwqDCoMKgIHMgPSB4 MjY0X2VuY29kZXJfaGVhZGVycyh4NC0+ZW5jLCAmbmFsLCAmbm5hbCk7Cj4+PiAtwqDCoMKgwqDC oMKgwqAgYXZjdHgtPmV4dHJhZGF0YSA9IHAgPSBhdl9tYWxsb2N6KHMgKwo+Pj4gQVZfSU5QVVRf QlVGRkVSX1BBRERJTkdfU0laRSk7Cj4+PiAtwqDCoMKgwqDCoMKgwqAgaWYgKCFwKQo+Pj4gLcKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKPj4+IC0KPj4+IC3C oMKgwqDCoMKgwqDCoCBmb3IgKGkgPSAwOyBpIDwgbm5hbDsgaSsrKSB7Cj4+PiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAvKiBEb24ndCBwdXQgdGhlIFNFSSBpbiBleHRyYWRhdGEuICovCj4+PiAt wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAobmFsW2ldLmlfdHlwZSA9PSBOQUxfU0VJKSB7Cj4+ PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGF2X2xvZyhhdmN0eCwgQVZfTE9HX0lO Rk8sICIlc1xuIiwKPj4+IG5hbFtpXS5wX3BheWxvYWQrMjUpOwo+Pj4gLcKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB4NC0+c2VpX3NpemUgPSBuYWxbaV0uaV9wYXlsb2FkOwo+Pj4gLcKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB4NC0+c2VpwqDCoMKgwqDCoCA9IGF2X21hbGxv Yyh4NC0+c2VpX3NpemUpOwo+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAo IXg0LT5zZWkpCj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0 dXJuIEFWRVJST1IoRU5PTUVNKTsKPj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg bWVtY3B5KHg0LT5zZWksIG5hbFtpXS5wX3BheWxvYWQsIG5hbFtpXS5pX3BheWxvYWQpOwo+Pj4g LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb250aW51ZTsKPj4+IC3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgIH0KPj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG1lbWNweShwLCBuYWxb aV0ucF9wYXlsb2FkLCBuYWxbaV0uaV9wYXlsb2FkKTsKPj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHAgKz0gbmFsW2ldLmlfcGF5bG9hZDsKPj4+IC3CoMKgwqDCoMKgwqDCoCB9Cj4+PiAtwqDC oMKgwqDCoMKgwqAgYXZjdHgtPmV4dHJhZGF0YV9zaXplID0gcCAtIGF2Y3R4LT5leHRyYWRhdGE7 Cj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0ID0gc2V0X2V4dHJhZGF0YShhdmN0eCk7Cj4+PiArwqDC oMKgwqDCoMKgwqAgaWYgKHJldCA8IDApCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1 cm4gcmV0Owo+Pj4gwqDCoMKgwqDCoCB9Cj4+PiDCoCDCoMKgwqDCoMKgIGNwYl9wcm9wcyA9IGZm X2VuY29kZV9hZGRfY3BiX3NpZGVfZGF0YShhdmN0eCk7Cj4+CgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZm bXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWls CmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmli ZSIuCg==