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 7CB48431DF for ; Tue, 24 May 2022 22:12:32 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 09A8568B581; Wed, 25 May 2022 01:12:29 +0300 (EEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11olkn2100.outbound.protection.outlook.com [40.92.19.100]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4E18B68B548 for ; Wed, 25 May 2022 01:12:22 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KeSWF6yNVWhp+yauF3G9BM/7sNEMsEH6CeuY/136AudAs9uaXe1yc4Q85hGj6QgEglgFIV8lroV2Ho+8MaFvIWnRZXyFQ4YQUvccIIi2MFEddb+fLoq2oLC9E9cq9ozAOM5MQvVsyCcdHQbfpaDj7Sb5c3U7kmV9YouI7mYR2KQyGWLtGyN2ggLDhSfNsOwpQDyMd/cC0CrqT7GZqS2RzApTykl+OE1ZiIVZcU1ffI70Z5g/Dpqu2dkfpezP9HuK2RJH1syAWQbXRFcjEgO1JQWjh7gFA2gALDnpizUYTMH6H+a8pij+uVP43tOUA7Jg9+40p9LIEXJgBG7mvpJTbA== 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=iqTJBPY2FIeLW9YrWSUfu8SQoibZDOZcS83RJhgdOP8=; b=QPOa6jJ/BlDvb6IbAAMLn8XQtc5s+vaP1vV1Av5Ve0tZj02LJ2O5MFkyZ9cg1YAg7LE6PVxRiIn61SJdk0RqwnIJ0BdGZ+Dv4kvYvFt4Ouuqfg+9CyTRtaXMh3VHUhxhUanuQaDfpF3fJ5BkwaQllqtf07cXkAIT3dr9qayrMbyimiZ/oGocnAgPmH1cSZCO9dtDquPshf75orhJKnPBA5qPUziRrAfFL1er23h0e50Ff8WP5LT6TnFnyOHLz+VzTcjmppSbcHiTxhjVvziodjxNmnbvtM8Aj6O14BMTxEDVaZYdvMWtVBgB8AJJFzX7xqn/MofomI8Q/Bizss2O9A== 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=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iqTJBPY2FIeLW9YrWSUfu8SQoibZDOZcS83RJhgdOP8=; b=TbYud4Ml7pTO1hcsEmxW61Vc0NvV+5ueF+aBrcc1yAAfvo4ZpFzJ5EtxQd5wPKVaXon+teVGF8y0K+3ORwcSk856XWfNsukGj7H0jVaab3n90MNFejX1VJEQDGBEESkD2LKjoWH/WaTKW/Pg/7w1iHOVlcM/ATQ7gDP7uPmXhJ4sywmh/8Xkxtxu7gl24Dn5vLFLXczu7vIWl+kwFxDgkF/csDWZz0/bRnFJcTI8UMOcPHxpm9z+LI8NMC/vz5SO0P3SjuP4AYbuH3rMRDv66LCgTzJSuIuhxpdweq+qO0duPsYJv+/59v1ASPk1vR3+Mx9G0AzKmNHhry+LpIzQkg== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by BN0P223MB0232.NAMP223.PROD.OUTLOOK.COM (2603:10b6:408:144::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.14; Tue, 24 May 2022 22:12:18 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::c536:493f:7cda:53dc]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::c536:493f:7cda:53dc%3]) with mapi id 15.20.5273.023; Tue, 24 May 2022 22:12:18 +0000 From: Soft Works To: =?utf-8?B?TWFydGluIFN0b3JzasO2?= , softworkz Thread-Topic: [PATCH v6 2/2] avformat/os_support: Support long file names on Windows Thread-Index: AQHYb3ZcPuGpX5WQU0e2pdYa5JHwx60ugzYAgAAHSYA= Date: Tue, 24 May 2022 22:12:18 +0000 Message-ID: References: <6f8d400db74be1d704b4c98e2f1295803829ce75.1653400709.git.ffmpegagent@gmail.com> <9fe1e03b-ebd4-ceda-b62b-a34d5012b7be@martin.st> In-Reply-To: <9fe1e03b-ebd4-ceda-b62b-a34d5012b7be@martin.st> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [GvE1gft7OSbOYmRz3L14jg+xOXzEc7l3] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a8aa6f98-f336-4899-0ad1-08da3dd27756 x-ms-traffictypediagnostic: BN0P223MB0232:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: JXc/vd5a/2Pzj/MEdGvEp96s4zRF/4Itd9qLfJPGlE/qamfThvjnPfGBiYpSCKqCkhOBDYGdxYMZTk/2b/r03BgPiPGCoxPVhrThLnL6R/F6PJakrta9SpV76qSivHdxnLekc3DZBsQnAllmOjET8otx/uUcMH+qMu2z4xZzzMeXIIIXdVkqcuLmzchoePm2Z13z4QaREPEi4lLc9QFU4gEAEn9YRexG6SFv4bzVuaRV/wVc5+cFF9vRADSMWrbGC9BGI6dBlWCgHAJHJIOu4BTFOtlCh9CTOLzY7pbAd8PdVcEjfK4rKM3DIGbe7wMgP4TD9EcrgVyk++x3HRl5uHQeFysvseRBJ+RMVCdSrCxaL18RY3wi4xNp2C2DoRGrVeUnaSYJc/YKn2N7v722Wig2dC3S1chR+v4kjxYVSUblvG2Cuh/8dwK0rmuzy5DJY42NUNRys7rx5yEnTBvzQZ6+uFqSxMDOVI0QVFuex8edffzS4FzXd/XYUJSROVOpzd2I1eZpLi/gGOpX+qbEvbg0XfZenvTWQ2FFJoozap1UgayVxIcyhbA4hjGadhq0l9/atxslAUZ54tEYISv50g== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VkxMNWlXSzVnaTMrTlRSMTBkY3JyK0Vsd3BmM3pGK253amtnMFJuRE0wSGtM?= =?utf-8?B?RldrMVg0SmpnVmJxUUMrdWdIYkRMR1N3TDBieG85Snd6Q2ttVlRyNG91cGFh?= =?utf-8?B?dG5vMWhOOUlGcVBHR0RENzZDWFpxNFZzTmdlNnJ4ZmxLMmdZUENMRU1LOXd3?= =?utf-8?B?MEcyQnJKcGx0NUQvNWoweUZVNE5aZUwrQ2d6cXdsV0VpN0N4aGhwaDNWZVRD?= =?utf-8?B?QUkvWHZWR2FrUzJuczFGVWt5bnMwV2VCNWxLUmdpVDNNUW5pT2EwNTFzL2E2?= =?utf-8?B?dDUxamxmbnByRWExbmZzUkxhME11Ujk4UDRzaGJmcDZ5ZHlKODV5YnMvRHBI?= =?utf-8?B?TkYzaFJpUVNKNUpqQ1JzdklXT1JxYWsvSXM3Tm9EN1AvUUt3NENNWVVxNWNq?= =?utf-8?B?anBFMU0wREZTajVxeGFrdi9pTUk0SFJUb3NiSlZBZnQ0d0d6dmVCNFErb1Rx?= =?utf-8?B?eWlMaFN6K1ZSL3ViMm5mYVNMUVFkVzFzYUxkZTlNemNVMEtRNGR6L2hacmRN?= =?utf-8?B?dHBCbDNGRWpGcGJZUjdhQ2UzTzl0NytZY0RSZTcrOGQxOEkrYVVOU1JyREZG?= =?utf-8?B?TWFlQkY2TDhPYXlESSszMjhyZWpaYnZlMkJiaXU2VzF6Q1NvWFl0TmRsTmxC?= =?utf-8?B?U2RWeWtGQ0FrU3hCNytaTHc5RkxYTGpoR3haZEZPLzlxWTRpOHJrRmFqd3l6?= =?utf-8?B?UTA2WnEwNzAwQndaVjBScUM2SkE5N0I4VUpveE9wY0FhdGNyWE1uSTI5NExU?= =?utf-8?B?OExLT3hSV2pnUzEvWEJhOTU2cCt6cENjTEp5aUJXaFZSUjVhblBDUzA0Qkhx?= =?utf-8?B?TGNzT0lOb09tNWVnOHI5VUcvY20zbkc1SmJtTlR0OTNQNFlMc0dpRW9VcmVh?= =?utf-8?B?WnphcGVWK3RCRm5NOERFUUpnWkV5VnNMVVlmSU5MZEYwMjhQeWQvYW9BUFY1?= =?utf-8?B?emNocE9tcnhaUmEwTWRYSEZmODUwaEY2czNjUjJWWUd2ZlpsSEYrMlJYTjcw?= =?utf-8?B?SVJUNGdheFdyQW41dFJUUmM5YVdUWXAvZkJXK25Qa3puQ3dPa05uWE5ZVG9G?= =?utf-8?B?aG9DQ0Fqc3daOGt5Q3hhRExoNkZIQkJlZ2lBUDdiRWFBNHJoUk5TOFQrc1RT?= =?utf-8?B?N1QwK21DWFFQK2JKeUJnSGRSbzIyQklZTWloaXMwbnlIMjlZaDAvbUt3dnB5?= =?utf-8?B?RGh2QTRkNS9NdzZpcHY2WVhnSHl5NGYrNFZHL2JYb293dWMwdDBWU3RxdHUy?= =?utf-8?B?SytVZ3JJTWtmcUROU3M1Z0RicGJudXJtai9rcUp5YjRobEZOYlR6YzF4OEpW?= =?utf-8?B?cHk5THNzRk1IRiswV1dkSkEwcGlzUWFOM1VvZ0N1L2cxNUJENnhvanVzZ0du?= =?utf-8?B?ZGQvQ084V3FhODFwRXAxbURxSTVYT2t5WkxjUkhhVFdnVHlEZ1RoMnA3aTk3?= =?utf-8?B?eFdOaUZwMkl5d2ZLOGpRZTNDUDVEbTJ3MFRieXJvSzVSRElpd2hlSXkyTXdW?= =?utf-8?B?UkFWeWNDRjRMZmtjVURuOFV4ZG1GaElHS3FSNXZudnd4YTNsL3c1ZHhFSXNZ?= =?utf-8?B?VGNJRlhnZmk0L0U2QUVDMU5LQlQrUGJrem94M213K2N5bmRseTR0TU5YKytD?= =?utf-8?B?YUVocXphWUkzdWJiL3Z5dVFOaUdzMmxwZjdJS2ZmTk5OQWhYMGpJNjJRenJH?= =?utf-8?B?L3JENDVXUWJRUUtJSHJNSThaQWJMaitjZU9xUkdYa3VFZ1N6dTZ0d3FuY1B5?= =?utf-8?B?OEJyUGZZY21qdlNwTktxQ0RTcTJWQ2lMdmNuYVlRWk5BOUNkcXArQlFiM2xO?= =?utf-8?B?czlhb3NhbW9raklNSUYxVDdDMkJUNVlpMjdyYWdQajN5R0RuOEU0blBXK2U4?= =?utf-8?B?NHZJdmVSTDVOYnpLbFEwN1NINmxPK2RQdGtMbnJaQlR6cmc9PQ==?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-1ff67.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: a8aa6f98-f336-4899-0ad1-08da3dd27756 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 May 2022 22:12:18.0275 (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: BN0P223MB0232 Subject: Re: [FFmpeg-devel] [PATCH v6 2/2] avformat/os_support: Support long file names on Windows 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 Cc: Hendrik Leppkes , "ffmpeg-devel@ffmpeg.org" 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: DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTWFydGluIFN0b3JzasO2 IDxtYXJ0aW5AbWFydGluLnN0Pg0KPiBTZW50OiBUdWVzZGF5LCBNYXkgMjQsIDIwMjIgMTA6NTkg UE0NCj4gVG86IHNvZnR3b3JreiA8ZmZtcGVnYWdlbnRAZ21haWwuY29tPg0KPiBDYzogZmZtcGVn LWRldmVsQGZmbXBlZy5vcmc7IFNvZnQgV29ya3MgPHNvZnR3b3JrekBob3RtYWlsLmNvbT47IEhl bmRyaWsNCj4gTGVwcGtlcyA8aC5sZXBwa2VzQGdtYWlsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtQ QVRDSCB2NiAyLzJdIGF2Zm9ybWF0L29zX3N1cHBvcnQ6IFN1cHBvcnQgbG9uZyBmaWxlIG5hbWVz DQo+IG9uIFdpbmRvd3MNCj4gDQo+IE9uIFR1ZSwgMjQgTWF5IDIwMjIsIHNvZnR3b3JreiB3cm90 ZToNCj4gDQo+ID4gRnJvbTogc29mdHdvcmt6IDxzb2Z0d29ya3pAaG90bWFpbC5jb20+DQo+ID4N Cj4gPiBTaWduZWQtb2ZmLWJ5OiBzb2Z0d29ya3ogPHNvZnR3b3JrekBob3RtYWlsLmNvbT4NCj4g PiAtLS0NCj4gPiBsaWJhdmZvcm1hdC9vc19zdXBwb3J0LmggfCA4NyArKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tDQo+ID4gMSBmaWxlIGNoYW5nZWQsIDYzIGluc2VydGlv bnMoKyksIDI0IGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0 L29zX3N1cHBvcnQuaCBiL2xpYmF2Zm9ybWF0L29zX3N1cHBvcnQuaA0KPiA+IGluZGV4IDVlNmIz MmQyZGMuLjE3OWI5MjYyOTMgMTAwNjQ0DQo+ID4gLS0tIGEvbGliYXZmb3JtYXQvb3Nfc3VwcG9y dC5oDQo+ID4gKysrIGIvbGliYXZmb3JtYXQvb3Nfc3VwcG9ydC5oDQo+ID4gQEAgLTQ5LDcgKzQ5 LDI0IEBADQo+ID4gIyAgaWZkZWYgc3RhdA0KPiA+ICMgICB1bmRlZiBzdGF0DQo+ID4gIyAgZW5k aWYNCj4gPiAtIyAgZGVmaW5lIHN0YXQgX3N0YXRpNjQNCj4gPiArDQo+ID4gKyMgIGRlZmluZSBz dGF0IHdpbjMyX3N0YXQNCj4gPiArDQo+ID4gKyAgICBzdHJ1Y3Qgd2luMzJfc3RhdA0KPiA+ICsg ICAgew0KPiA+ICsgICAgICAgIF9kZXZfdCAgICAgICAgIHN0X2RldjsgICAgIC8qIElEIG9mIGRl dmljZSBjb250YWluaW5nIGZpbGUgKi8NCj4gPiArICAgICAgICBfaW5vX3QgICAgICAgICBzdF9p bm87ICAgICAvKiBpbm9kZSBudW1iZXIgKi8NCj4gPiArICAgICAgICB1bnNpZ25lZCBzaG9ydCBz dF9tb2RlOyAgICAvKiBwcm90ZWN0aW9uICovDQo+ID4gKyAgICAgICAgc2hvcnQgICAgICAgICAg c3Rfbmxpbms7ICAgLyogbnVtYmVyIG9mIGhhcmQgbGlua3MgKi8NCj4gPiArICAgICAgICBzaG9y dCAgICAgICAgICBzdF91aWQ7ICAgICAvKiB1c2VyIElEIG9mIG93bmVyICovDQo+ID4gKyAgICAg ICAgc2hvcnQgICAgICAgICAgc3RfZ2lkOyAgICAgLyogZ3JvdXAgSUQgb2Ygb3duZXIgKi8NCj4g PiArICAgICAgICBfZGV2X3QgICAgICAgICBzdF9yZGV2OyAgICAvKiBkZXZpY2UgSUQgKGlmIHNw ZWNpYWwgZmlsZSkgKi8NCj4gPiArICAgICAgICBsb25nICAgICAgICAgICBzdF9zaXplOyAgICAv KiB0b3RhbCBzaXplLCBpbiBieXRlcyAqLw0KPiA+ICsgICAgICAgIHRpbWVfdCAgICAgICAgIHN0 X2F0aW1lOyAgIC8qIHRpbWUgb2YgbGFzdCBhY2Nlc3MgKi8NCj4gPiArICAgICAgICB0aW1lX3Qg ICAgICAgICBzdF9tdGltZTsgICAvKiB0aW1lIG9mIGxhc3QgbW9kaWZpY2F0aW9uICovDQo+ID4g KyAgICAgICAgdGltZV90ICAgICAgICAgc3RfY3RpbWU7ICAgLyogdGltZSBvZiBsYXN0IHN0YXR1 cyBjaGFuZ2UgKi8NCj4gPiArICAgIH07DQo+IA0KPiBQbGVhc2UgdXNlIGludDY0X3QgZm9yIGJv dGggc3Rfc2l6ZSBhbmQgc3RfP3RpbWUuIFdlIGFscmVhZHkgdXNlIF9zdGF0aTY0DQo+IHNvIGZh ciwgc28gd2UgZ2V0IDY0IGJpdCBzaXplcyAoYW5kIGxvbmcgZGVmaW5pdGVseSBpc24ndCBhIDY0 IGJpdCB0eXBlIG9uDQo+IFdpbmRvd3MhKSwgYW5kIHdpdGggaW50NjRfdCBpbiB0aGUgb3V0ZXIg c3RydWN0LCB3ZSB3b24ndCBhY2NpZGVudGFsbHkNCj4gdHJ1bmNhdGUgYW55IHZhbGlkIGRhdGEg dGhhdCB3ZSBnb3QgZnJvbSB0aGUgbG93ZXIgbGV2ZWwgc3RhdCBmdW5jdGlvbg0KPiBjYWxsLg0K DQpJIGNhbWUgdG8gbG9uZyBieSBsb29raW5nIHVwIF9vZmZfdCBpbiB0aGUgV2luZG93cyBoZWFk ZXJzLCBidXQgeW91IGFyZSANCnJpZ2h0OiBhcyB3ZSdyZSBleHBsaWNpdGx5IHVzaW5nIF9zdGF0 NjQsIHdlJ2xsIGdldCBpbnQ2NCBzdF9zaXplIHZhbHVlcywNCmV2ZW4gb24gMzJiaXQgV2luZG93 cy4NCg0KRG9uZS4NCg0KPiA+ICsNCj4gPiAjICBpZmRlZiBmc3RhdA0KPiA+ICMgICB1bmRlZiBm c3RhdA0KPiA+ICMgIGVuZGlmDQo+ID4gQEAgLTE1Myw3ICsxNzAsNyBAQCBzdGF0aWMgaW5saW5l IGludCB3aW4zMl8jI25hbWUoY29uc3QgY2hhcg0KPiAqZmlsZW5hbWVfdXRmOCkgXA0KPiA+ICAg ICB3Y2hhcl90ICpmaWxlbmFtZV93OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc DQo+ID4gICAgIGludCByZXQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXA0KPiA+IC0gICAgaWYgKHV0Zjh0b3djaGFyKGZpbGVuYW1lX3V0Zjgs ICZmaWxlbmFtZV93KSkgICAgICAgICAgXA0KPiA+ICsgICAgaWYgKGdldF9leHRlbmRlZF93aW4z Ml9wYXRoKGZpbGVuYW1lX3V0ZjgsICZmaWxlbmFtZV93KSkgXA0KPiA+ICAgICAgICAgcmV0dXJu IC0xOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gICAgIGlm ICghZmlsZW5hbWVfdykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4g PiAgICAgICAgIGdvdG8gZmFsbGJhY2s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXA0KPiA+IEBAIC0xNzEsMzcgKzE4OCw1OSBAQCBERUZfRlNfRlVOQ1RJT04odW5saW5rLCBf d3VubGluaywgX3VubGluaykNCj4gPiBERUZfRlNfRlVOQ1RJT04obWtkaXIsICBfd21rZGlyLCAg X21rZGlyKQ0KPiA+IERFRl9GU19GVU5DVElPTihybWRpciwgIF93cm1kaXIgLCBfcm1kaXIpDQo+ ID4NCj4gPiAtI2RlZmluZSBERUZfRlNfRlVOQ1RJT04yKG5hbWUsIHdmdW5jLCBhZnVuYywgcGFy dHlwZSkgICAgIFwNCj4gPiAtc3RhdGljIGlubGluZSBpbnQgd2luMzJfIyNuYW1lKGNvbnN0IGNo YXIgKmZpbGVuYW1lX3V0ZjgsIHBhcnR5cGUgcGFyKQ0KPiBcDQo+ID4gLXsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gLSAgICB3 Y2hhcl90ICpmaWxlbmFtZV93OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ ID4gLSAgICBpbnQgcmV0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcDQo+ID4gLSAgICBpZiAodXRmOHRvd2NoYXIoZmlsZW5hbWVfdXRmOCwg JmZpbGVuYW1lX3cpKSAgICAgICAgICBcDQo+ID4gLSAgICAgICAgcmV0dXJuIC0xOyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gLSAgICBpZiAoIWZpbGVuYW1l X3cpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gLSAgICAgICAg Z290byBmYWxsYmFjazsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcDQo+ID4gLSAgICByZXQgPSB3ZnVuYyhmaWxlbmFtZV93LCBwYXIpOyAgICAgICAgICAgICAg ICAgICAgICAgICBcDQo+ID4gLSAgICBhdl9mcmVlKGZpbGVuYW1lX3cpOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcDQo+ID4gLSAgICByZXR1cm4gcmV0OyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gLWZhbGxiYWNrOiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gLSAg ICAvKiBmaWxlbmFtZSBtYXkgYmUgYmUgaW4gQ1BfQUNQICovICAgICAgICAgICAgICAgICAgICBc DQo+ID4gLSAgICByZXR1cm4gYWZ1bmMoZmlsZW5hbWVfdXRmOCwgcGFyKTsgICAgICAgICAgICAg ICAgICAgICBcDQo+ID4gK3N0YXRpYyBpbmxpbmUgaW50IHdpbjMyX2FjY2Vzcyhjb25zdCBjaGFy ICpmaWxlbmFtZV91dGY4LCBpbnQgcGFyKQ0KPiA+ICt7DQo+ID4gKyAgICB3Y2hhcl90ICpmaWxl bmFtZV93Ow0KPiA+ICsgICAgaW50IHJldDsNCj4gPiArICAgIGlmIChnZXRfZXh0ZW5kZWRfd2lu MzJfcGF0aChmaWxlbmFtZV91dGY4LCAmZmlsZW5hbWVfdykpDQo+ID4gKyAgICAgICAgcmV0dXJu IC0xOw0KPiA+ICsgICAgaWYgKCFmaWxlbmFtZV93KQ0KPiA+ICsgICAgICAgIGdvdG8gZmFsbGJh Y2s7DQo+ID4gKyAgICByZXQgPSBfd2FjY2VzcyhmaWxlbmFtZV93LCBwYXIpOw0KPiA+ICsgICAg YXZfZnJlZShmaWxlbmFtZV93KTsNCj4gPiArICAgIHJldHVybiByZXQ7DQo+ID4gK2ZhbGxiYWNr Og0KPiA+ICsgICAgcmV0dXJuIF9hY2Nlc3MoZmlsZW5hbWVfdXRmOCwgcGFyKTsNCj4gPiB9DQo+ ID4NCj4gPiAtREVGX0ZTX0ZVTkNUSU9OMihhY2Nlc3MsIF93YWNjZXNzLCBfYWNjZXNzLCBpbnQp DQo+ID4gLURFRl9GU19GVU5DVElPTjIoc3RhdCwgX3dzdGF0aTY0LCBfc3RhdGk2NCwgc3RydWN0 IHN0YXQqKQ0KPiA+ICtzdGF0aWMgaW5saW5lIGludCB3aW4zMl9zdGF0KGNvbnN0IGNoYXIgKmZp bGVuYW1lX3V0ZjgsIHN0cnVjdCBzdGF0DQo+ICpwYXIpDQo+ID4gK3sNCj4gDQo+IE1heWJlICJz dHJ1Y3Qgd2luMzJfc3RhdCIgaW4gdGhlIHBhcmFtZXRlciBoZXJlIHRvbywgZm9yIGNvbnNpc3Rl bmN5Pw0KDQpZdXAuIChpdCBkaWRuJ3Qgd29yayBpbiBhbiBlYXJsaWVyIGl0ZXJhdGlvbiwgYnV0 IG5vdyBpdCBkb2VzKQ0KDQoNCj4gPiArICAgIHdjaGFyX3QgKmZpbGVuYW1lX3c7DQo+ID4gKyAg ICBpbnQgcmV0Ow0KPiA+ICsgICAgc3RydWN0IF9zdGF0aTY0IHdpbnN0YXQgPSB7IDAgfTsNCj4g PiArDQo+ID4gKyAgICBpZiAoZ2V0X2V4dGVuZGVkX3dpbjMyX3BhdGgoZmlsZW5hbWVfdXRmOCwg JmZpbGVuYW1lX3cpKQ0KPiA+ICsgICAgICAgIHJldHVybiAtMTsNCj4gPiArDQo+ID4gKyAgICBp ZiAoZmlsZW5hbWVfdykgew0KPiA+ICsgICAgICAgIHJldCA9IF93c3RhdDY0KGZpbGVuYW1lX3cs ICZ3aW5zdGF0KTsNCj4gPiArICAgICAgICBhdl9mcmVlKGZpbGVuYW1lX3cpOw0KPiA+ICsgICAg fSBlbHNlDQo+ID4gKyAgICAgICAgcmV0ID0gX3N0YXQ2NChmaWxlbmFtZV91dGY4LCAmd2luc3Rh dCk7DQo+ID4gKw0KPiA+ICsgICAgcGFyLT5zdF9kZXYgICA9IHdpbnN0YXQuc3RfZGV2Ow0KPiA+ ICsgICAgcGFyLT5zdF9pbm8gICA9IHdpbnN0YXQuc3RfaW5vOw0KPiA+ICsgICAgcGFyLT5zdF9t b2RlICA9IHdpbnN0YXQuc3RfbW9kZTsNCj4gPiArICAgIHBhci0+c3RfbmxpbmsgPSB3aW5zdGF0 LnN0X25saW5rOw0KPiA+ICsgICAgcGFyLT5zdF91aWQgICA9IHdpbnN0YXQuc3RfdWlkOw0KPiA+ ICsgICAgcGFyLT5zdF9naWQgICA9IHdpbnN0YXQuc3RfZ2lkOw0KPiA+ICsgICAgcGFyLT5zdF9y ZGV2ICA9IHdpbnN0YXQuc3RfcmRldjsNCj4gPiArICAgIHBhci0+c3Rfc2l6ZSAgPSB3aW5zdGF0 LnN0X3NpemU7DQo+ID4gKyAgICBwYXItPnN0X2F0aW1lID0gd2luc3RhdC5zdF9hdGltZTsNCj4g PiArICAgIHBhci0+c3RfbXRpbWUgPSB3aW5zdGF0LnN0X210aW1lOw0KPiA+ICsgICAgcGFyLT5z dF9jdGltZSA9IHdpbnN0YXQuc3RfY3RpbWU7DQo+IA0KPiBUaGFua3MsIHRoaXMgYXBwcm9hY2gg c2VlbXMgcm9idXN0IGFuZCBzYWZlIHRvIG1lIQ0KPiANCj4gV2l0aCB0aGlzIGNoYW5nZSBpbiBw bGFjZSwgc2hvdWxkbid0IHdlIGRyb3AgdGhlICNpZmRlZiBmb3INCj4gc3RhdC93aW4zMl9zdGF0 IGluIGZpbGUuYyBhdCB0aGUgc2FtZSB0aW1lPw0KDQpEb25lLiBXaGlsZSBkb2luZyB0aGF0LCBJ IHJlYWxpemVkIHRoYXQgZnN0YXQgbmVlZHMNCnRvIGJlIHJlbWFwcGVkIGFzIHdlbGwsIG90aGVy d2lzZSBfZnRhdGk2NCB3b3VsZCBiZQ0KY2FsbGVkIHdpdGggdGhlIHdpbjMyX3N0YXQgc3RydWN0 dXJlLiBEb25lIHRoYXQgDQphcyB3ZWxsLg0KDQo+IE90aGVyIHRoYW4gdGhhdCwgdGhpcyBzdGFy dHMgdG8gbG9vayBvayBub3cuDQoNClRoYW5rcyBmb3IgeW91ciBncmVhdCBoZWxwLCBtdWNoIGFw cHJlY2lhdGVkIQ0KDQpzb2Z0d29ya3oNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZm bXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVs CgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVs LXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K