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 6DD4440681 for ; Thu, 27 Jan 2022 14:36:09 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6EFA668B18A; Thu, 27 Jan 2022 16:36:06 +0200 (EET) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2013.outbound.protection.outlook.com [40.92.91.13]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9DB4268B008 for ; Thu, 27 Jan 2022 16:35:59 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PJKZUWIzj6dfWWTcjZsbDzgyCH6gBh+hxG0x5zGoS1viv3XS22b7cLw50TOn938EXOEkEIJ8Y6fsvqLepOjuCDKsCL0XSDIOHGbI1PvygptkvQ7qr0Pnkzviu2eo1dyRxgEPxze513HKOFRVHoYIIY/W9AoxzUvhbruYBXw1ilUR/I2EjJbzsW+83irZQbx9ysF6wBjT6qRAf4AY6MRfsSn05Q/I7z7MvJVTRIu6BPoL1q8TZQTFV4ogZTZ3KPzGErZbRMyYo0fyJMILESn/IKB3+Ha36jsEsun1N9kwfA6m+iwLQeeQ+6HPo3G2kRuA7ii7eKOVBBy7ebmObekHcw== 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=cUnFci2jSOsaAAkTk2RPm4OV7ZViBw+t24n5Eaby6Js=; b=RfAEHxE6PSkZ7Rp1b2io9rKH31mz5OzB2XtJyhbTYTLDypxu40ToZrUZP3LmQPFVvXp+qrXwKXzm8hqAppKVuJjbHm5LRkbstgLWMtp/Nqeh6AC7nPrVKnLUwKTEgNATfeIsscdGezPhj/uCzr5PFwSOi6Z3/nXmOrwf90qlRREZW5AsOKybmdLBNir7KNlakcW6SHkldcot8uf0UtdpHhJWpmmNBZY4ejfDKIb78XbUiO2hUMAj515iaPSSYFn9fv88PCmDJpXdM6OlM7tLbIBWtsXw3WLU0vKWq5aRjUyNVZYtcv9mFHImaug4XNfhsV6rNPSQYMQjJ43eZsge1w== 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=cUnFci2jSOsaAAkTk2RPm4OV7ZViBw+t24n5Eaby6Js=; b=H4TpCJ8e8oRoUkDyy12xDH8cEmXB1AptNUbtBed70U5aMGdbWSjf/igFLxkMBLNT3OpxSF3ZzYE0Oi9Pmbv3/mR7ww8Oty+n8Ui25JM1bCe+xeILVJbP2Ly95WJJbnFDCPTNnnnew4/TPB1ubOh/dqwf316ocuD8tTDeFmtu/VYEPzCOJJusRpKhOJzG66d0mNR1BQZKN88qgQEZGsTJqKtBK+U5s1GTDLoXfgfavB3XfEJltwn3Wcfo7kL/if9qwit4HZ9A147QjILM8v0LdKCcH28yve/5BphKmhkmeTuj+WUbAmcMhtueknGwxw3E60Oh8E3j0BeM6MXTU0MmEA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB8PR03MB6105.eurprd03.prod.outlook.com (2603:10a6:10:e5::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan 2022 14:35:58 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022 14:35:57 +0000 Message-ID: Date: Thu, 27 Jan 2022 15:35:56 +0100 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <3f3709d2-fbf7-9077-8340-224574930e79@gmail.com> From: Andreas Rheinhardt In-Reply-To: <3f3709d2-fbf7-9077-8340-224574930e79@gmail.com> X-TMN: [+1zlixsm/IbOfiG2M3CRWUYXgY/Nuv9U] X-ClientProxiedBy: AM5PR0201CA0017.eurprd02.prod.outlook.com (2603:10a6:203:3d::27) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <355a4e32-a713-e126-3b29-2927011ffe4c@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 88a3dbac-7a89-41d6-c316-08d9e1a254f6 X-MS-TrafficTypeDiagnostic: DB8PR03MB6105:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Gd8Va+skTqeDEi6jcHZgYhcE2Loz4ST+hKREbjotm8MqLo81HzNNNbRd9dX/O+ykJ/omX/XdSZoP5UJiEaM76ioPI1m+1OuCbG5H8vaGvTuKaxnAtFoIR54gCuVuS2irXgEj4xQyZidcK4wVivuHbtBaxNciSUYEZIpgvsLyi0ETJzquhaZGhW/9GK92RkxV1/zyTWsHMKNKtrS01/Fby0Xzqb6O6zewsZqi+KgXA5yEaIZP2NK0ep+yR28Ppu/oloHBJ8Zr9/aWXQO9J3cPdpWpkNmzcpgqrVNQcPBxa4sYBm0gFsAODNS3yWhP/l6en4o2VLccwBCgNqpqWn5z9EwQuBTdOJb4IZ+FYYyutOXjprGRZ8Wvo8LwJwv/HEaFnxGe9KK+eM/SVDm+SWL0jVAokjivPXCTCXLw9WDIq2ns/5NXxsVyf8/ZzlHWzBL6CgO7qNSOhol/Y6Ey4IJeLdj2rNPJ0+BZtDO2zKRjI4RjgGHdvPgn7app1Pq9KULc9VPaG0/alm24e4SfTuxIWu2di3qOMJKbAFidmtUmcP3ZA0fLKH14qS0I7D4C82Zz X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MXQrK0V0b3U1RXg0RUUzZjhkVFBTYk5sMUluSVVMZTc3NXQwaUhyRWJIN1F0?= =?utf-8?B?UTZoc2VMNCtycjVwaU5KRTB6UjlGVm1vSkh1Z2NMT0Q3Y0o0UFB2c2lzay9R?= =?utf-8?B?ckVIVGtocnc5anIwYWdnZ0FwVEVDakYvbUs4enJQbDhVdVRIbmdJYVpBTWdH?= =?utf-8?B?WmhaYlNZbENtZG1GQmVGV21mQWF0aGxmSGRTU0h6a2JpM1RsdWlPOTZHaElL?= =?utf-8?B?S092RkI3TUhqeTFJOVQ5U1RJY0VxSW9XQVlPazFCSTIyZjduaGVwNG1VR0lR?= =?utf-8?B?bjdKVUYxZGltVWtKNGxDYnpYeWlMcUdGWGtyMlRoQmRRcG11Ulo0ZThZNkdV?= =?utf-8?B?anZMSTVqdWV4Z05yaHpTcjZVQlNEZGQ4b0h3a2c2SkovYUNQWWhIZVZzQmVk?= =?utf-8?B?UXZSTloyck1pd0lRUEdiZ2tvMjd1K1lsa0VnN2F4bzRZRWo2UnJqOFFEdFMy?= =?utf-8?B?aFZEQ0Qxbk1lczVCN3hTTGJjTDZYQUZUbGRYQjRFZ3lZR1VhU04yUExDK0E3?= =?utf-8?B?ZGhXQXYrS1ZZa0s3SG5rNUVpRUFZbDRHckJlSGt1RWtuckp5SzZ3Y2pzS2U1?= =?utf-8?B?SFo3am5wb21USGpQTnpNaXU0TW1OcG1PdytjNlV6eDcwNDZzS1VOVUUzeFc1?= =?utf-8?B?THUwVDcxMUcybGxKdUdORXd3S1lzMHBTTmg1TDh6RWVQZWRzZ3NzVVVEaHlX?= =?utf-8?B?OUNlR2ZnSTM0Q3RCMFd2Sndzdk12bFcwelRuejVpek5WQzc4MVNNWFpTMTdr?= =?utf-8?B?cE1UbjI2Yjh0TzNtSzI0UGk3SWEyUldtblk2SlUyV3hnZnlvZy9FMUV2eFRS?= =?utf-8?B?TWpFRDcybkRsS2F3ZVdTa0VqdmZzVHRoMyt4SmhCSWs3WlZIRkpMdDhaa0JB?= =?utf-8?B?VGFHOWsxbUx2b0dDV1p5dEd2L3MwaXd6MW1lcmQ2SWdKdkdTS3hMM1RDejFm?= =?utf-8?B?SDhVMTBUaTEwdGhKd1M5QlV2RENPc01SUTg1eUhrQTBpcW9Ba0Y3bEJ0VzNi?= =?utf-8?B?WWt3RGlJY3JVOW9ab2NWTlEwOEpnblZsekNmbnJDQUdsVWM5cHNHN2tLcEVj?= =?utf-8?B?c1lVKytGY0Q1Q3JwVktiWkxKb01PVW9HQ2hrM1JWSXUxMzM3V05JcFprazFT?= =?utf-8?B?VlhuY2tzQkFQRlE0ck1udjlpY1lIeFNKYVZteXNSZGlrV2JJY3h4bGdLbkJx?= =?utf-8?B?U2hZK1J6QzZ1cDhuOUNRT01aRStRbkl0TDZMSmpoS1RtVW1RV3VkRmxLdXFQ?= =?utf-8?B?T2VoMkNWRFp3QVpYYnUxUXp0eU9GYkJsKzBpQ2h6YkRVSlU2UT09?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 88a3dbac-7a89-41d6-c316-08d9e1a254f6 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 14:35:57.7451 (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: DB8PR03MB6105 Subject: Re: [FFmpeg-devel] [PATCH 30/33] avcodec/mpegpicture: Add function to completely free MPEG-Picture 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: SmFtZXMgQWxtZXI6Cj4gCj4gCj4gT24gMS8yNi8yMDIyIDY6MzQgUE0sIEFuZHJlYXMgUmhlaW5o YXJkdCB3cm90ZToKPj4gQWxzbyB1c2Ugc2FpZCBmdW5jdGlvbiBpbiBtcGVndmlkZW8uYyBhbmQg bXBlZ3ZpZGVvX2VuYy5jOwo+PiBhbmQgbWFrZSBmZl9mcmVlX3BpY3R1cmVfdGFibGVzKCkgc3Rh dGljIGFzIGl0IGlzbid0IG5lZWRlZCBhbnltb3JlCj4+IG91dHNpZGUgb2YgbXBlZ3BpY3R1cmUu Yy4KPj4KPj4gU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBSaGVpbmhhcmR0IDxhbmRyZWFzLnJoZWlu aGFyZHRAb3V0bG9vay5jb20+Cj4+IC0tLQo+PiBUaGUgbmV3X3BpY3R1cmUgaXMgYWN0dWFsbHkg b25seSB1c2VkIGJ5IGVuY29kZXJzOwo+PiBpZiBpdCB3ZXJlIG5vdCBmb3Igc3ZxMWVuYyAod2hp Y2ggcmVsaWVzIG9uIGZmX21wdl9jb21tb25faW5pdCgpCj4+IGFuZCBmZl9tcHZfY29tbW9uX2Vu ZCgpIHRvIGFsbG9jYXRlIGFuZCBmcmVlIGl0KSwgSSdkIGhhdmUgbW92ZWQKPj4gZXZlcnl0aGlu ZyByZWxhdGVkIHRvIGl0IHRvIG1wZWd2aWRlb19lbmMuYy4gSSBwcm9iYWJseSBkbyBpdCBsYXRl cgo+PiBhbnl3YXkuCj4+IChBbmQgeWVzLCBJIGFtIGF3YXJlIG9mIHRoZSBmYWN0IHRoYXQgZnJl ZWluZyB0aGlzIGZyYW1lIGluCj4+IGZmX21wdl9lbmNvZGVfZW5kKCkgaXMgcmVkdW5kYW50LikK Pj4KPj4gwqAgbGliYXZjb2RlYy9tcGVncGljdHVyZS5jwqDCoCB8IDQ3ICsrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCj4+IMKgIGxpYmF2Y29kZWMvbXBlZ3BpY3R1cmUuaMKg wqAgfMKgIDIgKy0KPj4gwqAgbGliYXZjb2RlYy9tcGVndmlkZW8uY8KgwqDCoMKgIHwgMjUgKysr KystLS0tLS0tLS0tLS0tLS0KPj4gwqAgbGliYXZjb2RlYy9tcGVndmlkZW9fZW5jLmMgfMKgIDMg Ky0tCj4+IMKgIDQgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgNDMgZGVsZXRpb25z KC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL21wZWdwaWN0dXJlLmMgYi9saWJhdmNv ZGVjL21wZWdwaWN0dXJlLmMKPj4gaW5kZXggZjc4YTNjMjNlMy4uMzQ5YWI4MTA1NSAxMDA2NDQK Pj4gLS0tIGEvbGliYXZjb2RlYy9tcGVncGljdHVyZS5jCj4+ICsrKyBiL2xpYmF2Y29kZWMvbXBl Z3BpY3R1cmUuYwo+PiBAQCAtMzAsNiArMzAsMjQgQEAKPj4gwqAgI2luY2x1ZGUgIm1wZWdwaWN0 dXJlLmgiCj4+IMKgICNpbmNsdWRlICJtcGVndXRpbHMuaCIKPj4gwqAgK3N0YXRpYyB2b2lkIGF2 X25vaW5saW5lIGZyZWVfcGljdHVyZV90YWJsZXMoUGljdHVyZSAqcGljKQo+PiArewo+PiArwqDC oMKgIHBpYy0+YWxsb2NfbWJfd2lkdGjCoCA9Cj4+ICvCoMKgwqAgcGljLT5hbGxvY19tYl9oZWln aHQgPSAwOwo+PiArCj4+ICvCoMKgwqAgYXZfYnVmZmVyX3VucmVmKCZwaWMtPm1iX3Zhcl9idWYp Owo+PiArwqDCoMKgIGF2X2J1ZmZlcl91bnJlZigmcGljLT5tY19tYl92YXJfYnVmKTsKPj4gK8Kg wqDCoCBhdl9idWZmZXJfdW5yZWYoJnBpYy0+bWJfbWVhbl9idWYpOwo+PiArwqDCoMKgIGF2X2J1 ZmZlcl91bnJlZigmcGljLT5tYnNraXBfdGFibGVfYnVmKTsKPj4gK8KgwqDCoCBhdl9idWZmZXJf dW5yZWYoJnBpYy0+cXNjYWxlX3RhYmxlX2J1Zik7Cj4+ICvCoMKgwqAgYXZfYnVmZmVyX3VucmVm KCZwaWMtPm1iX3R5cGVfYnVmKTsKPj4gKwo+PiArwqDCoMKgIGZvciAoaW50IGkgPSAwOyBpIDwg MjsgaSsrKSB7Cj4+ICvCoMKgwqDCoMKgwqDCoCBhdl9idWZmZXJfdW5yZWYoJnBpYy0+bW90aW9u X3ZhbF9idWZbaV0pOwo+PiArwqDCoMKgwqDCoMKgwqAgYXZfYnVmZmVyX3VucmVmKCZwaWMtPnJl Zl9pbmRleF9idWZbaV0pOwo+PiArwqDCoMKgIH0KPj4gK30KPj4gKwo+PiDCoCBzdGF0aWMgaW50 IG1ha2VfdGFibGVzX3dyaXRhYmxlKFBpY3R1cmUgKnBpYykKPj4gwqAgewo+PiDCoMKgwqDCoMKg IGludCByZXQsIGk7Cj4+IEBAIC0yNDAsNyArMjU4LDcgQEAgaW50IGZmX2FsbG9jX3BpY3R1cmUo QVZDb2RlY0NvbnRleHQgKmF2Y3R4LAo+PiBQaWN0dXJlICpwaWMsIE1vdGlvbkVzdENvbnRleHQg Km1lLAo+PiDCoMKgwqDCoMKgIGlmIChwaWMtPnFzY2FsZV90YWJsZV9idWYpCj4+IMKgwqDCoMKg wqDCoMKgwqDCoCBpZiAowqDCoCBwaWMtPmFsbG9jX21iX3dpZHRowqAgIT0gbWJfd2lkdGgKPj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfHwgcGljLT5hbGxvY19tYl9oZWlnaHQgIT0gbWJf aGVpZ2h0KQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmZl9mcmVlX3BpY3R1cmVfdGFibGVz KHBpYyk7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZyZWVfcGljdHVyZV90YWJsZXMocGlj KTsKPj4gwqAgwqDCoMKgwqDCoCBpZiAoc2hhcmVkKSB7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBh dl9hc3NlcnQwKHBpYy0+Zi0+ZGF0YVswXSk7Cj4+IEBAIC0yODUsNyArMzAzLDcgQEAgaW50IGZm X2FsbG9jX3BpY3R1cmUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LAo+PiBQaWN0dXJlICpwaWMsIE1v dGlvbkVzdENvbnRleHQgKm1lLAo+PiDCoCBmYWlsOgo+PiDCoMKgwqDCoMKgIGF2X2xvZyhhdmN0 eCwgQVZfTE9HX0VSUk9SLCAiRXJyb3IgYWxsb2NhdGluZyBhIHBpY3R1cmUuXG4iKTsKPj4gwqDC oMKgwqDCoCBmZl9tcGVnX3VucmVmX3BpY3R1cmUoYXZjdHgsIHBpYyk7Cj4+IC3CoMKgwqAgZmZf ZnJlZV9waWN0dXJlX3RhYmxlcyhwaWMpOwo+PiArwqDCoMKgIGZyZWVfcGljdHVyZV90YWJsZXMo cGljKTsKPj4gwqDCoMKgwqDCoCByZXR1cm4gQVZFUlJPUihFTk9NRU0pOwo+PiDCoCB9Cj4+IMKg IEBAIC0zMTAsNyArMzI4LDcgQEAgdm9pZCBmZl9tcGVnX3VucmVmX3BpY3R1cmUoQVZDb2RlY0Nv bnRleHQKPj4gKmF2Y3R4LCBQaWN0dXJlICpwaWMpCj4+IMKgwqDCoMKgwqAgYXZfYnVmZmVyX3Vu cmVmKCZwaWMtPmh3YWNjZWxfcHJpdl9idWYpOwo+PiDCoCDCoMKgwqDCoMKgIGlmIChwaWMtPm5l ZWRzX3JlYWxsb2MpCj4+IC3CoMKgwqDCoMKgwqDCoCBmZl9mcmVlX3BpY3R1cmVfdGFibGVzKHBp Yyk7Cj4+ICvCoMKgwqDCoMKgwqDCoCBmcmVlX3BpY3R1cmVfdGFibGVzKHBpYyk7Cj4+IMKgIMKg wqDCoMKgwqAgbWVtc2V0KCh1aW50OF90KilwaWMgKyBvZmYsIDAsIHNpemVvZigqcGljKSAtIG9m Zik7Cj4+IMKgIH0KPj4gQEAgLTMzMSw3ICszNDksNyBAQCBpbnQgZmZfdXBkYXRlX3BpY3R1cmVf dGFibGVzKFBpY3R1cmUgKmRzdCwgUGljdHVyZQo+PiAqc3JjKQo+PiDCoMKgwqDCoMKgIH0KPj4g wqAgwqDCoMKgwqDCoCBpZiAocmV0IDwgMCkgewo+PiAtwqDCoMKgwqDCoMKgwqAgZmZfZnJlZV9w aWN0dXJlX3RhYmxlcyhkc3QpOwo+PiArwqDCoMKgwqDCoMKgwqAgZnJlZV9waWN0dXJlX3RhYmxl cyhkc3QpOwo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHJldDsKPj4gwqDCoMKgwqDCoCB9 Cj4+IMKgIEBAIC00NTAsMjIgKzQ2OCw5IEBAIGludCBmZl9maW5kX3VudXNlZF9waWN0dXJlKEFW Q29kZWNDb250ZXh0Cj4+ICphdmN0eCwgUGljdHVyZSAqcGljdHVyZSwgaW50IHNoYXJlZCkKPj4g wqDCoMKgwqDCoCByZXR1cm4gcmV0Owo+PiDCoCB9Cj4+IMKgIC12b2lkIGZmX2ZyZWVfcGljdHVy ZV90YWJsZXMoUGljdHVyZSAqcGljKQo+PiArdm9pZCBhdl9jb2xkIGZmX2ZyZWVfcGljdHVyZShB VkNvZGVjQ29udGV4dCAqYXZjdHgsIFBpY3R1cmUgKnBpYykKPj4gwqAgewo+PiAtwqDCoMKgIGlu dCBpOwo+PiAtCj4+IC3CoMKgwqAgcGljLT5hbGxvY19tYl93aWR0aMKgID0KPj4gLcKgwqDCoCBw aWMtPmFsbG9jX21iX2hlaWdodCA9IDA7Cj4+IC0KPj4gLcKgwqDCoCBhdl9idWZmZXJfdW5yZWYo JnBpYy0+bWJfdmFyX2J1Zik7Cj4+IC3CoMKgwqAgYXZfYnVmZmVyX3VucmVmKCZwaWMtPm1jX21i X3Zhcl9idWYpOwo+PiAtwqDCoMKgIGF2X2J1ZmZlcl91bnJlZigmcGljLT5tYl9tZWFuX2J1Zik7 Cj4+IC3CoMKgwqAgYXZfYnVmZmVyX3VucmVmKCZwaWMtPm1ic2tpcF90YWJsZV9idWYpOwo+PiAt wqDCoMKgIGF2X2J1ZmZlcl91bnJlZigmcGljLT5xc2NhbGVfdGFibGVfYnVmKTsKPj4gLcKgwqDC oCBhdl9idWZmZXJfdW5yZWYoJnBpYy0+bWJfdHlwZV9idWYpOwo+PiAtCj4+IC3CoMKgwqAgZm9y IChpID0gMDsgaSA8IDI7IGkrKykgewo+PiAtwqDCoMKgwqDCoMKgwqAgYXZfYnVmZmVyX3VucmVm KCZwaWMtPm1vdGlvbl92YWxfYnVmW2ldKTsKPj4gLcKgwqDCoMKgwqDCoMKgIGF2X2J1ZmZlcl91 bnJlZigmcGljLT5yZWZfaW5kZXhfYnVmW2ldKTsKPj4gLcKgwqDCoCB9Cj4+ICvCoMKgwqAgZnJl ZV9waWN0dXJlX3RhYmxlcyhwaWMpOwo+PiArwqDCoMKgIGZmX21wZWdfdW5yZWZfcGljdHVyZShh dmN0eCwgcGljKTsKPj4gK8KgwqDCoCBhdl9mcmFtZV9mcmVlKCZwaWMtPmYpOwo+PiDCoCB9Cj4+ IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL21wZWdwaWN0dXJlLmggYi9saWJhdmNvZGVjL21wZWdw aWN0dXJlLmgKPj4gaW5kZXggYTM1NGMyYTgzYy4uY2VlMTZjMDdkMyAxMDA2NDQKPj4gLS0tIGEv bGliYXZjb2RlYy9tcGVncGljdHVyZS5oCj4+ICsrKyBiL2xpYmF2Y29kZWMvbXBlZ3BpY3R1cmUu aAo+PiBAQCAtMTA4LDcgKzEwOCw3IEBAIGludCBmZl9tcGVnX2ZyYW1lc2l6ZV9hbGxvYyhBVkNv ZGVjQ29udGV4dCAqYXZjdHgsCj4+IE1vdGlvbkVzdENvbnRleHQgKm1lLAo+PiDCoCBpbnQgZmZf bXBlZ19yZWZfcGljdHVyZShBVkNvZGVjQ29udGV4dCAqYXZjdHgsIFBpY3R1cmUgKmRzdCwgUGlj dHVyZQo+PiAqc3JjKTsKPj4gwqAgdm9pZCBmZl9tcGVnX3VucmVmX3BpY3R1cmUoQVZDb2RlY0Nv bnRleHQgKmF2Y3R4LCBQaWN0dXJlICpwaWN0dXJlKTsKPj4gwqAgLXZvaWQgZmZfZnJlZV9waWN0 dXJlX3RhYmxlcyhQaWN0dXJlICpwaWMpOwo+PiArdm9pZCBmZl9mcmVlX3BpY3R1cmUoQVZDb2Rl Y0NvbnRleHQgKmF2Y3R4LCBQaWN0dXJlICpwaWMpOwo+PiDCoCBpbnQgZmZfdXBkYXRlX3BpY3R1 cmVfdGFibGVzKFBpY3R1cmUgKmRzdCwgUGljdHVyZSAqc3JjKTsKPj4gwqAgwqAgaW50IGZmX2Zp bmRfdW51c2VkX3BpY3R1cmUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBQaWN0dXJlCj4+ICpwaWN0 dXJlLCBpbnQgc2hhcmVkKTsKPj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvbXBlZ3ZpZGVvLmMg Yi9saWJhdmNvZGVjL21wZWd2aWRlby5jCj4+IGluZGV4IDNiODg5ZTA3OTEuLjdjNjNjNzM4ZjMg MTAwNjQ0Cj4+IC0tLSBhL2xpYmF2Y29kZWMvbXBlZ3ZpZGVvLmMKPj4gKysrIGIvbGliYXZjb2Rl Yy9tcGVndmlkZW8uYwo+PiBAQCAtODc0LDggKzg3NCw2IEBAIHZvaWQgZmZfbXB2X2ZyZWVfY29u dGV4dF9mcmFtZShNcGVnRW5jQ29udGV4dCAqcykKPj4gwqAgLyogaW5pdCBjb21tb24gc3RydWN0 dXJlIGZvciBib3RoIGVuY29kZXIgYW5kIGRlY29kZXIgKi8KPj4gwqAgdm9pZCBmZl9tcHZfY29t bW9uX2VuZChNcGVnRW5jQ29udGV4dCAqcykKPj4gwqAgewo+PiAtwqDCoMKgIGludCBpOwo+PiAt Cj4+IMKgwqDCoMKgwqAgaWYgKCFzKQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuOwo+PiDC oCBAQCAtODk1LDI1ICs4OTMsMTQgQEAgdm9pZCBmZl9tcHZfY29tbW9uX2VuZChNcGVnRW5jQ29u dGV4dCAqcykKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybjsKPj4gwqAgwqDCoMKgwqDCoCBp ZiAocy0+cGljdHVyZSkgewo+PiAtwqDCoMKgwqDCoMKgwqAgZm9yIChpID0gMDsgaSA8IE1BWF9Q SUNUVVJFX0NPVU5UOyBpKyspIHsKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZmZfZnJlZV9w aWN0dXJlX3RhYmxlcygmcy0+cGljdHVyZVtpXSk7Cj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGZmX21wZWdfdW5yZWZfcGljdHVyZShzLT5hdmN0eCwgJnMtPnBpY3R1cmVbaV0pOwo+PiAtwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBhdl9mcmFtZV9mcmVlKCZzLT5waWN0dXJlW2ldLmYpOwo+PiAt wqDCoMKgwqDCoMKgwqAgfQo+PiArwqDCoMKgwqDCoMKgwqAgZm9yIChpbnQgaSA9IDA7IGkgPCBN QVhfUElDVFVSRV9DT1VOVDsgaSsrKQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmZl9mcmVl X3BpY3R1cmUocy0+YXZjdHgsICZzLT5waWN0dXJlW2ldKTsKPj4gwqDCoMKgwqDCoCB9Cj4+IMKg wqDCoMKgwqAgYXZfZnJlZXAoJnMtPnBpY3R1cmUpOwo+PiAtwqDCoMKgIGZmX2ZyZWVfcGljdHVy ZV90YWJsZXMoJnMtPmxhc3RfcGljdHVyZSk7Cj4+IC3CoMKgwqAgZmZfbXBlZ191bnJlZl9waWN0 dXJlKHMtPmF2Y3R4LCAmcy0+bGFzdF9waWN0dXJlKTsKPj4gLcKgwqDCoCBhdl9mcmFtZV9mcmVl KCZzLT5sYXN0X3BpY3R1cmUuZik7Cj4+IC3CoMKgwqAgZmZfZnJlZV9waWN0dXJlX3RhYmxlcygm cy0+Y3VycmVudF9waWN0dXJlKTsKPj4gLcKgwqDCoCBmZl9tcGVnX3VucmVmX3BpY3R1cmUocy0+ YXZjdHgsICZzLT5jdXJyZW50X3BpY3R1cmUpOwo+PiAtwqDCoMKgIGF2X2ZyYW1lX2ZyZWUoJnMt PmN1cnJlbnRfcGljdHVyZS5mKTsKPj4gLcKgwqDCoCBmZl9mcmVlX3BpY3R1cmVfdGFibGVzKCZz LT5uZXh0X3BpY3R1cmUpOwo+PiAtwqDCoMKgIGZmX21wZWdfdW5yZWZfcGljdHVyZShzLT5hdmN0 eCwgJnMtPm5leHRfcGljdHVyZSk7Cj4+IC3CoMKgwqAgYXZfZnJhbWVfZnJlZSgmcy0+bmV4dF9w aWN0dXJlLmYpOwo+PiAtwqDCoMKgIGZmX2ZyZWVfcGljdHVyZV90YWJsZXMoJnMtPm5ld19waWN0 dXJlKTsKPj4gLcKgwqDCoCBmZl9tcGVnX3VucmVmX3BpY3R1cmUocy0+YXZjdHgsICZzLT5uZXdf cGljdHVyZSk7Cj4+IC3CoMKgwqAgYXZfZnJhbWVfZnJlZSgmcy0+bmV3X3BpY3R1cmUuZik7Cj4+ ICvCoMKgwqAgZmZfZnJlZV9waWN0dXJlKHMtPmF2Y3R4LCAmcy0+bGFzdF9waWN0dXJlKTsKPj4g K8KgwqDCoCBmZl9mcmVlX3BpY3R1cmUocy0+YXZjdHgsICZzLT5jdXJyZW50X3BpY3R1cmUpOwo+ PiArwqDCoMKgIGZmX2ZyZWVfcGljdHVyZShzLT5hdmN0eCwgJnMtPm5leHRfcGljdHVyZSk7Cj4+ ICvCoMKgwqAgZmZfZnJlZV9waWN0dXJlKHMtPmF2Y3R4LCAmcy0+bmV3X3BpY3R1cmUpOwo+PiDC oCDCoMKgwqDCoMKgIHMtPmNvbnRleHRfaW5pdGlhbGl6ZWTCoMKgwqDCoMKgID0gMDsKPj4gwqDC oMKgwqDCoCBzLT5jb250ZXh0X3JlaW5pdMKgwqDCoMKgwqDCoMKgwqDCoMKgID0gMDsKPj4gZGlm ZiAtLWdpdCBhL2xpYmF2Y29kZWMvbXBlZ3ZpZGVvX2VuYy5jIGIvbGliYXZjb2RlYy9tcGVndmlk ZW9fZW5jLmMKPj4gaW5kZXggOWE1NjM0YzUwNS4uYmFhNDVkMjBhYiAxMDA2NDQKPj4gLS0tIGEv bGliYXZjb2RlYy9tcGVndmlkZW9fZW5jLmMKPj4gKysrIGIvbGliYXZjb2RlYy9tcGVndmlkZW9f ZW5jLmMKPj4gQEAgLTk0MSw4ICs5NDEsNyBAQCBhdl9jb2xkIGludCBmZl9tcHZfZW5jb2RlX2Vu ZChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCj4+IMKgwqDCoMKgwqAgZm9yIChpID0gMDsgaSA8IEZG X0FSUkFZX0VMRU1TKHMtPnRtcF9mcmFtZXMpOyBpKyspCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBh dl9mcmFtZV9mcmVlKCZzLT50bXBfZnJhbWVzW2ldKTsKPj4gwqAgLcKgwqDCoCBmZl9mcmVlX3Bp Y3R1cmVfdGFibGVzKCZzLT5uZXdfcGljdHVyZSk7Cj4+IC3CoMKgwqAgZmZfbXBlZ191bnJlZl9w aWN0dXJlKGF2Y3R4LCAmcy0+bmV3X3BpY3R1cmUpOwo+PiArwqDCoMKgIGZmX2ZyZWVfcGljdHVy ZShhdmN0eCwgJnMtPm5ld19waWN0dXJlKTsKPiAKPiBUaGVzZSBuYW1lcyBhcmUgdG9vIGdlbmVy aWMgZm9yIHdoYXQncyBhcHBhcmVudGx5IHNwZWNpZmljIHRvIG1wZWcuCj4gZmZfZnJlZV9waWN0 dXJlIChBbmQgdGhlIHN0cnVjdCBiZWluZyBjYWxsZWQgUGljdHVyZSkgY291bGQgYXBwbHkgdG8K PiBhbnl0aGluZy4KPiAKPiBNYXliZSB0aGUgZnVuY3Rpb25zIHNob3VsZCBhbGwgdXNlIHRoZSBm Zl9tcGVnXyBuYW1lc3BhY2UsIGFuZCB0aGUKPiBzdHJ1Y3QgYmUgcmVuYW1lZCB0byBNUEVHUGlj dHVyZSwgZm9sbG93aW5nIGRlY29kZXJzIGxpa2UgaDI2NCBhbmQgaGV2Yy4KPiBJJ20gbm90IHRl bGxpbmcgeW91IHRvIGRvIGl0IGlmIHlvdSBkb24ndCB3YW50IHRvLCBqdXN0IHRocm93aW5nIHRo ZQo+IGlkZWEgb3V0IHRoZXJlLiBCdXQgSU1PIGF0IGxlYXN0IGNhbGwgdGhlIG5ldyBmdW5jdGlv bgo+IGZmX21wZWdfZnJlZV9waWN0dXJlKCkuCj4gCgpJIHBvbmRlcmVkIHVzaW5nIGFuIGZmX21w diBwcmVmaXggYXMgbG90cyBvZiBvdGhlciBtcGVndmlkZW8gZnVuY3Rpb25zCmFscmVhZHkgZG8s IGJ1dCBzb21laG93IGRpZG4ndCBkbyBpdC4gSSdsbCBjaGFuZ2UgaXQgbm93LgoKLSBBbmRyZWFz Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1k ZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcu b3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQg bGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRo IHN1YmplY3QgInVuc3Vic2NyaWJlIi4K