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 10C72425DB for ; Tue, 24 May 2022 12:31:13 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B101468B50E; Tue, 24 May 2022 15:31:10 +0300 (EEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10olkn2079.outbound.protection.outlook.com [40.92.41.79]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3343468B46A for ; Tue, 24 May 2022 15:31:04 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fbvfhmCYQ4eqQ9vYd0TuQI2Xg8ZE2Vju90QZaPYrazexf+XlhaD3o6R0aLn3ZNI63Yu+mMYFu+dw5YBk2sqaXmK6ErHHNhtAyxT7phFO2NGq9j/CWtnYeBsYoU9SLxhIRt6zcdRBMQwdY0OD88d+Ka5SwskyLwdXrNG+RcpuEnBf9xvmZ0xaeZLb4HIdOifDm9YgTKtVTTCp9lX1IDroLY+A5iwvacadCviS58Cy5A0M9F/6c8o0VmuegqlMmEWnUgFUf3UPRkiUSV8QPi55RI6KEpp4ommTk7z/gdTABaL3JSDZNJ63dFFlY4UcBpRqrOOF3Fx2QfkrtJIuwHJGaw== 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=Em4PGUQGPy8gnATCIkSFieuyy5QwafJ6a14SSfxgyqs=; b=CxCmq5CL3SF/29IpnpIvVsuJ+rQqXJZRZt8db+JPV+9KhBpekJUe7LOXkLcBfVK5nEcB7W03/SzK/NbW5HHmK/p59BQJCRkAMz1JPmsQvz0Hi4oSgrWThYFmu65Egvzw7pRFGKixdQOkMBiTFlJHF3cB6k4Xqg8vM4HzbhmMRVBp1avWzaPmsLgNi4blJf8NH346DArWUs6q3lKbdPM2FafB/rEVa10hJlYAabCJLzA1bZdHZd0QtmfXgkAHC7XIWsZrUATekrUNO9CZ+VG4yluWS4B+isRqKdM+1aOCYRQMg34z5Ijr9tfB3tYrDohA9b5sMiitg8+4hQRPD1JEcA== 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=Em4PGUQGPy8gnATCIkSFieuyy5QwafJ6a14SSfxgyqs=; b=XE8YOfFT+mmAubR6L3ElbFwMs8TMdfQzUvmrrpoKTiwJQvWL0PjE/CiR9+lrgKqYBp4aK5wHlolBV5UjOm0uzAr52CKN/yk2K5i0aTGy7hTxEPLbAMRsWmz48Xa6eoFHR5f+LC6qc0OzN+BWuwnM5i9bT1WfXIbKmkX+FN0jkY60eb66Avggmil8ed+WcEV94IN3JFFCTinRhYO9BCmvRFIh6D0sFGyEQyX8TX5laoHiguCXnMZ3CGLUfTuJ4PBRl+9Zvt8Q2Z8NoqyRr6TJAAkgoAEqo72D7AhI9lwRX8DzdT9fJ511FlqCed1YfoXUiK7fBs9ETGxnhvUQH5+eaQ== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (20.182.50.244) by DM8P223MB0207.NAMP223.PROD.OUTLOOK.COM (20.182.50.46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.13; Tue, 24 May 2022 12:31:00 +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 12:31:00 +0000 From: Soft Works To: =?utf-8?B?TWFydGluIFN0b3JzasO2?= Thread-Topic: [FFmpeg-devel] [PATCH v5 2/2] avformat/os_support: Support long file names on Windows Thread-Index: AQHYb0papJvtAAwdf0ug/lBO8AorRa0twSqAgAAAyjCAABC/gIAABQcQgAAL3ICAAA158A== Date: Tue, 24 May 2022 12:31:00 +0000 Message-ID: References: <5313aeec0ee25dfe6255d75e37db29e436c906fb.1653381808.git.ffmpegagent@gmail.com> <4ada51e4-2dc8-76a3-31a9-a98f5f3a7d7@martin.st> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [/k2k/jkrHCFrs8EaCkITfQ+InZwMXA2Y] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0875827c-9414-498b-a93d-08da3d81428e x-ms-traffictypediagnostic: DM8P223MB0207:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: iicvfDHsh0rnBv92qb/kul5IsTxX16sZ5nHQ/N+eVDiWPEU0Hn4KVko7o6GfOXt/47JqKLApP8x0kuNEj/Cd0UcvbtxXuI735VIKUdR3vhrBj/A5JKA2sIdl5JWxmNKDqEg/sRUCXQAwSI+znTatkDl9sJWy8/fy1hdhccK3RzT2nHzLuKmUp1PAkPKSMotQ2l5uEDrUsZKO82GvVsdEX1H+czYnlSRKc9wyXC5wwrt/mc/8DlTR3zGRQNP7PbpAX8HDO1rmVzyQaY0yG8rhbp5i5KNBN+nZuLJbFhsP+mvjc2KD58THwcguFl/onTHPii7DmBEq382eryChrDL16b1TSwJH8mnXhXBK8Ok8Nd1nRXGI41McGIJDlzwCshuuf3pj1V/yELVA1aHcYeoXiCg9XndM0zLsm022h5JCY8LsDZiFbWivgOVliv+Ytn44jwIzaOsnd9NO+BaFKOUZjhR1WNvWjnSSsRzNQE4q5+sRCErA5Ebg9zK/4uXgexvEhHUeY4R+kfwhrW4/DiQGiZ/Lv7eRIFLMCzet/4MV5Ilv5MMsSh5a7GGGRhrh1RJHbTUQs2Nw/6DufcDIVxqsmMBvteDRBvhKCnQzfEaLoV2koydEXq4d3U1ofuJL71yE x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YkFqZUlyQUp6ZmdoejBRdUQwR1hXUUxrRHJ5MjV3K1FwMHFwYUx6Yy84VGFv?= =?utf-8?B?NzIvK1YzOFRMZGZlYkxqSjVCN3g3SmN0bGdUVkdPamtvMm1sOFZUdDlVVzNx?= =?utf-8?B?VG9HNkVqVitHZ01Yb0JwTkdEOVFtdEhoYW8vejJ5emp0c290R3BlR0xUMUxo?= =?utf-8?B?WlkvTlNBN0RDYTJ0cTVuVkw1ZnNCWUgzNlhQTys3TkxKaG9LLzI2eTNyRm5K?= =?utf-8?B?VUZ6a0M5bUN2VkN1RFJJNGxEeU10SmI2aVA2a1RrREVvTDE0VkRGckZiOWc5?= =?utf-8?B?R0pqYW9WSjlFMDcrRjVBT0M5bUg2QjlPUGZFaGFpNzl6UGxVemI0N1NHaFB4?= =?utf-8?B?eXhEKzY3MHZqMG93eXNudjR4S3JFQ2VlMjl5VllrZ2xpeE9rWjg0NS9VbW5V?= =?utf-8?B?NnQ0Nlo5T09Bb056NVA0Q0RJUzIvb0JKVEZoQ2JmKzNtZHVSNTY1QXJNNDFK?= =?utf-8?B?V1RMWlZ3VDNjZjFZVnlRaVFZWE1xdTJNdXRlUkRYVHZuakI1L1gzc0FXVk16?= =?utf-8?B?czJtTHNocGJpUndTR2NqSzBGQW4rOVBzSzZ6allKdlFLYVgvdjhuSHVybUJN?= =?utf-8?B?aEdUeVp4VFVUbWxiNVVBRUlncy91eE84TU82MG1VbGh6SzRvZ2FpMXU2ZkZU?= =?utf-8?B?bUdoTktwUUliQTYwbGtXM2VPVWJhaWxhK1daTXVTYlF3RnR3NnpaK3V4RnlG?= =?utf-8?B?ektQeDFhSEhUU3dBM2NGMEdDQ3ZxaUJGNnR2dXBBVUhQUVB0MW11ODZtUTY1?= =?utf-8?B?Nmw0S2piOHJiakdsdlUwdVFFTitwdUc2NzVZQlQyWmlWUVNLRGh2NjBUTjFZ?= =?utf-8?B?MlNtOXNHNUpHQXo2UW5hRUJ1cEFVYU5ubjdvV3JqOTRkdWVDK1FPQ2NuRjhp?= =?utf-8?B?RGFDR3ZXQTRvOTNjNUJZMkRaemJsdUdCejZyUUxCSkJaL3Z0eG9vYVduZEFI?= =?utf-8?B?TGdpWlVYMzdLYWRlNzE5S254WlRrMkhGTFZ2QWtFRlFkSUpzSnFSWHVIMHM3?= =?utf-8?B?blg5L2ZXaStyVDN2ZndLWjgrcnVJclhtbzNpTm4rMHkzSkJXSGljbnVlZjdq?= =?utf-8?B?NXlTeExEa3BkblU2Nko1cmVaTUNvQ3hOTUI1WjZOc25xbDd0RFBKOExCQ09x?= =?utf-8?B?QURiM09aNnVaL2tUNlZ3b1lEVHFJRDdidEc1end4ZkZFZisvZkFzRzVCeDV2?= =?utf-8?B?bDVkWDZEcUM4RjRnZWNTeTJ3ZCtiUDMzUlVCMVJSZ3VHR0xZeG5NZ3FnajZB?= =?utf-8?B?amVPVEk4UE81TlEyam1sd2ZQM2hXUDIvT2tlZjU5WFZ4VFlQSTJPdG9kZTY4?= =?utf-8?B?K3oyd3N4S1hXT1FyVCtGZkhKR2dIb25GTGQxSmRNbklzWHVEempYOHVtMVU3?= =?utf-8?B?QldNOW9RVjcwZnh0ZHU4YUUybXdaSzl5Yis4bkJyblBCNTFxMUNQeXB3Y1B0?= =?utf-8?B?OUI0T1FWV2lsWjlCMC9WQkt1THpVOHpNVlY5b2J6bS90T0JJT0xSemNiUzBN?= =?utf-8?B?cExSazVBN2p2R3V0eFNoMFdwYWlLV3dvdVVPNjN3ZHcxZVdEYjljem1FRlhl?= =?utf-8?B?UTU4WkRCeW9HZ0JOREJrWi9MOUtRSzJyS0R0S2MvTWdhZzJud3VkU2I4Nk1C?= =?utf-8?B?bmsyaVNXT3dDdmtvL1RWQ0RXTFg0elhVUThiNVZMSkVxUUdlWjFjNkM4YVJx?= =?utf-8?B?b3J4V1h5WTBEeVVucTJiMXZhNzNjczV6SnRNcUZLTFZzdG9LdmQzdDNxMHF5?= =?utf-8?B?a2E2QnNrMk83TWdOR0NoOGdhd1hlMmZMNmdpOEUxZDFzSFVTaHFxZVBNZmlo?= =?utf-8?B?NVhib2NpalVYQlUvakNVWGlaL21aaXBZeW9oMWhFZE9DMXR6Z1RBOVdzUEJC?= =?utf-8?B?RlQ0Ri9GRTFJRnpSblFieWZjeUE5VWpDOWFIOG9VNUJaTk9NZHZCV3dFTzlR?= =?utf-8?Q?QLtgzhE5ZdM=3D?= 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: 0875827c-9414-498b-a93d-08da3d81428e X-MS-Exchange-CrossTenant-originalarrivaltime: 24 May 2022 12:31:00.2743 (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: DM8P223MB0207 Subject: Re: [FFmpeg-devel] [PATCH v5 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 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: DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTWFydGluIFN0b3JzasO2 IDxtYXJ0aW5AbWFydGluLnN0Pg0KPiBTZW50OiBUdWVzZGF5LCBNYXkgMjQsIDIwMjIgMToyNiBQ TQ0KPiBUbzogU29mdCBXb3JrcyA8c29mdHdvcmt6QGhvdG1haWwuY29tPg0KPiBDYzogRkZtcGVn IGRldmVsb3BtZW50IGRpc2N1c3Npb25zIGFuZCBwYXRjaGVzIDxmZm1wZWctZGV2ZWxAZmZtcGVn Lm9yZz47DQo+IEhlbmRyaWsgTGVwcGtlcyA8aC5sZXBwa2VzQGdtYWlsLmNvbT4NCj4gU3ViamVj dDogUkU6IFtGRm1wZWctZGV2ZWxdIFtQQVRDSCB2NSAyLzJdIGF2Zm9ybWF0L29zX3N1cHBvcnQ6 IFN1cHBvcnQNCj4gbG9uZyBmaWxlIG5hbWVzIG9uIFdpbmRvd3MNCj4gDQo+IE9uIFR1ZSwgMjQg TWF5IDIwMjIsIFNvZnQgV29ya3Mgd3JvdGU6DQo+IA0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+PiBGcm9tOiBNYXJ0aW4gU3RvcnNqw7YgPG1hcnRpbkBtYXJ0aW4uc3Q+DQo+ ID4+IFNlbnQ6IFR1ZXNkYXksIE1heSAyNCwgMjAyMiAxMjoyNiBQTQ0KPiA+PiBUbzogU29mdCBX b3JrcyA8c29mdHdvcmt6QGhvdG1haWwuY29tPg0KPiA+PiBDYzogRkZtcGVnIGRldmVsb3BtZW50 IGRpc2N1c3Npb25zIGFuZCBwYXRjaGVzIDxmZm1wZWctDQo+IGRldmVsQGZmbXBlZy5vcmc+Ow0K PiA+PiBIZW5kcmlrIExlcHBrZXMgPGgubGVwcGtlc0BnbWFpbC5jb20+DQo+ID4+IFN1YmplY3Q6 IFJFOiBbRkZtcGVnLWRldmVsXSBbUEFUQ0ggdjUgMi8yXSBhdmZvcm1hdC9vc19zdXBwb3J0OiBT dXBwb3J0DQo+ID4+IGxvbmcgZmlsZSBuYW1lcyBvbiBXaW5kb3dzDQo+ID4+DQo+ID4+IE9uIFR1 ZSwgMjQgTWF5IDIwMjIsIFNvZnQgV29ya3Mgd3JvdGU6DQo+ID4+DQo+ID4+Pj4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+PiBGcm9tOiBNYXJ0aW4gU3RvcnNqw7YgPG1hcnRpbkBt YXJ0aW4uc3Q+DQo+ID4+Pj4gU2VudDogVHVlc2RheSwgTWF5IDI0LCAyMDIyIDExOjIzIEFNDQo+ ID4+Pj4gVG86IEZGbXBlZyBkZXZlbG9wbWVudCBkaXNjdXNzaW9ucyBhbmQgcGF0Y2hlcyA8ZmZt cGVnLQ0KPiA+PiBkZXZlbEBmZm1wZWcub3JnPg0KPiA+Pj4+IENjOiBzb2Z0d29ya3ogPHNvZnR3 b3JrekBob3RtYWlsLmNvbT47IEhlbmRyaWsgTGVwcGtlcw0KPiA+Pj4+IDxoLmxlcHBrZXNAZ21h aWwuY29tPg0KPiA+Pj4+IFN1YmplY3Q6IFJlOiBbRkZtcGVnLWRldmVsXSBbUEFUQ0ggdjUgMi8y XSBhdmZvcm1hdC9vc19zdXBwb3J0Og0KPiBTdXBwb3J0DQo+ID4+Pj4gbG9uZyBmaWxlIG5hbWVz IG9uIFdpbmRvd3MNCj4gPj4+Pg0KPiA+Pj4+IE9uIFR1ZSwgMjQgTWF5IDIwMjIsIHNvZnR3b3Jr eiB3cm90ZToNCj4gPj4+Pg0KPiA+Pj4+PiBGcm9tOiBzb2Z0d29ya3ogPHNvZnR3b3JrekBob3Rt YWlsLmNvbT4NCj4gPj4+Pj4NCj4gPj4+Pj4gU2lnbmVkLW9mZi1ieTogc29mdHdvcmt6IDxzb2Z0 d29ya3pAaG90bWFpbC5jb20+DQo+ID4+Pj4+IC0tLQ0KPiA+Pj4+PiBsaWJhdmZvcm1hdC9vc19z dXBwb3J0LmggfCAxNiArKysrKysrKysrKy0tLS0tDQo+ID4+Pj4+IDEgZmlsZSBjaGFuZ2VkLCAx MSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQ0KPiA+Pj4+Pg0KPiA+Pj4+PiBkaWZmIC0t Z2l0IGEvbGliYXZmb3JtYXQvb3Nfc3VwcG9ydC5oIGIvbGliYXZmb3JtYXQvb3Nfc3VwcG9ydC5o DQo+ID4+Pj4+IGluZGV4IDVlNmIzMmQyZGMuLmQ0YzA3ODAzYTUgMTAwNjQ0DQo+ID4+Pj4+IC0t LSBhL2xpYmF2Zm9ybWF0L29zX3N1cHBvcnQuaA0KPiA+Pj4+PiArKysgYi9saWJhdmZvcm1hdC9v c19zdXBwb3J0LmgNCj4gPj4+Pj4gQEAgLTQ5LDcgKzQ5LDEzIEBADQo+ID4+Pj4+ICMgIGlmZGVm IHN0YXQNCj4gPj4+Pj4gIyAgIHVuZGVmIHN0YXQNCj4gPj4+Pj4gIyAgZW5kaWYNCj4gPj4+Pj4g LSMgIGRlZmluZSBzdGF0IF9zdGF0aTY0DQo+ID4+Pj4+ICsjICBkZWZpbmUgc3RhdCB3aW4zMl9z dGF0DQo+ID4+Pj4+ICsNCj4gPj4+Pj4gKyAgICBzdHJ1Y3Qgd2luMzJfc3RhdA0KPiA+Pj4+PiAr ICAgIHsNCj4gPj4+Pj4gKyAgICAgICAgc3RydWN0IF9zdGF0aTY0Ow0KPiA+Pj4+PiArICAgIH07 DQo+ID4+Pj4NCj4gPj4+PiBJcyBpdCBwb3NzaWJsZSB0byB3b3JrIGFyb3VuZCB0aGlzIGlzc3Vl IGJ5IGRvaW5nICIjZGVmaW5lIHN0YXQoYSxiKSINCj4gPj4+PiB3aGljaCBvbmx5IHNob3VsZCBh cHBseSBvbiB0aGUgZnVuY3Rpb24sIG5vdCB0byB0aGUgc3RydWN0Pw0KPiA+Pj4NCj4gPj4+IEhv dyBjb3VsZCB0aGlzIGJlIHBvc3NpYmxlPyBBIGRlZmluZSBpcyBvbmx5IGRvaW5nIHN0cmluZw0K PiByZXBsYWNlbWVudHMsDQo+ID4+PiBzbyBJIHdvdWxkbid0IGtub3cgaG93IGl0IGNvdWxkIGJl IHJlc3RyaWN0ZWQgdG8gdGhlIGZ1bmN0aW9uLCBidXQNCj4gPj4+IG5vdCB0aGUgc3RydWN0Lg0K PiA+Pg0KPiA+PiBJZiB1bnN1cmUgYWJvdXQgYSB0b29sIGZlYXR1cmUsIHBsZWFzZSB0cnkgaXQg b3V0IGZvciB5b3Vyc2VsZi4NCj4gPg0KPiA+IEkgZGlkIDotKQ0KPiA+ICh2ZXJ5IGV4dGVuc2l2 ZWx5IGluIGZhY3QpDQo+ID4NCj4gPj4gWWVzLCBhDQo+ID4+IGRlZmluZSBpcyBvbmx5IGEgc3Ry aW5nIHJlcGxhY2VtZW50LCBidXQgYSBkZWZpbmUgd2l0aCBwYXJhbWV0ZXJzIG9ubHkNCj4gPj4g bWF0Y2hlcyB0aGUgc3RyaW5nIG9jY3VycyB3aXRoIHBhcmVudGhlc2lzIGFmdGVyd2FyZHMuDQo+ ID4NCj4gPiBZZXMsIHRoYXQncyB0cnVlLCBidXQgd2UgbmVlZCB0byByZW5hbWUgYm90aCwgdGhl IGZ1bmN0aW9uIGFuZCB0aGUNCj4gPiBzdHJ1Y3QsIG5vdCBqdXN0IHRoZSBmdW5jdGlvbi4NCj4g DQo+IA0KPiBJIGtub3cuIEJ1dCB5b3Ugc2FpZDoNCj4gDQo+ID4gSG93IGNvdWxkIHRoaXMgYmUg cG9zc2libGU/IEEgZGVmaW5lIGlzIG9ubHkgZG9pbmcgc3RyaW5nIHJlcGxhY2VtZW50cywNCj4g PiBzbyBJIHdvdWxkbid0IGtub3cgaG93IGl0IGNvdWxkIGJlIHJlc3RyaWN0ZWQgdG8gdGhlIGZ1 bmN0aW9uLCBidXQgbm90DQo+ID4gdGhlIHN0cnVjdC4NCj4gDQo+IEFuZCBJIHNob3dlZCBob3cg YSBkZWZpbmUgY2FuIGFwcGx5IHRvIG9ubHkgb25lIGJ1dCBub3QgdGhlIG90aGVyLiBXaGljaA0K PiBzZWVtZWQgdG8gYmUgbmV3cyB0byBpbiB5b3VyIHByaW9yIG1haWwuDQoNCkFscmlnaHQgeWVh IC0gdGhhbmtzIGZvciBwb2ludGluZyB0aGlzIG91dC4gSSBrbmV3IGFib3V0IHRoaXMga2luZCBv Zg0KbWFjcm9zLCBidXQgSSBoYWRuJ3QgdGFrZW4gdGhlbSBpbnRvIGFjY291bnQgaW4gdGhpcyBj b250ZXh0IGJlY2F1c2UNCmFsbCBteSBhdHRlbXB0cyB3ZXJlIGZvY3VzaW5nIG9uIHRoZSBzdHJ1 Y3Qgc2lkZSBhbmQgZ2V0dGluZyB0aGlzDQpzZXBhcmF0ZWQgd2l0aCB0eXBlZGVmIGFuZCAjdW5k ZWYgYW5kIHRob3NlIHRoaW5ncywgc28gaXQgd2FzIGluZGVlZA0Kb3BlbmluZyB1cCBhIGRpbWVu c2lvbiBJIGhhZG4ndCBjb25zaWRlcmVkLg0KVGhhbmtzIGZvciB0aGUgZXhhbXBsZSENCg0KDQo+ IE5vdGUgaG93IEkgYWxzbyBzYWlkOg0KPiANCj4gIk5vdCBzYXlpbmcgdGhhdCB0aGlzIG5lY2Vz c2FyaWx5IGlzIHRoZSB3YXkgZm9yd2FyZCwgYnV0IEkgd2FzIGp1c3QNCj4gbWVudGlvbmluZyBp dCBhcyBhIHBvdGVudGlhbCBvcHRpb24gdG8gY29uc2lkZXIuIg0KPiANCj4gPiBZb3VyIGV4YW1w bGUgZG9lc24ndCBxdWl0ZSBtYXRjaCB0aGUgc2l0dWF0aW9uLg0KPiANCj4gWWVzIEkga25vdy4N Cg0KU29ycnksIEkgaGFkIHVuZGVyc3Rvb2QgeW91ciBtZXNzYWdlIGluIGEgd2F5IHRoYXQgeW91 IHdvdWxkIGJlIHNheWluZw0KdGhhdCBpdCB3b3VsZCBiZSB3b3JraW5nIGFuZCBqdXN0IG5vdCBh IG5pY2Ugc29sdXRpb24uDQoNCg0KPiBJIGp1c3QgYnJvdWdodCBpdCB1cCBhcyBhIHBvc3NpYmx5 IHRoaW5nIGZvciBkaXNjdXNzaW9uLCBhbmQgeW91IGRlcmFpbGVkDQo+IGl0IGJ5IGRpc2N1c3Np bmcgd2hldGhlciBpdCBldmVuIHdvcmtzLiANCg0KTmFoIC0gSSBtZWFudCB3aGV0aGVyIGl0IHdv cmtzIGZvciB0aGUgZ2l2ZW4gc2l0dWF0aW9uLCBJIGhhZCBubyBkb3VidA0KdGhhdCB5b3VyIGV4 YW1wbGUgaXMgd29ya2luZyBhcy1pcy4NCg0KIA0KPiA+PiBidXQgQ2xhbmcgZG9lc24ndC4gKEl0 J3MgcG9zc2libGUgdG8gdXNlIGl0DQo+ID4+IGluIENsYW5nIHRvbyBpZiB5b3UgZW5hYmxlIGl0 IHdpdGggLWZtcy1leHRlbnNpb25zIHRob3VnaC4pDQo+ID4NCj4gPiBJcyBpdCBwb3NzaWJsZSB0 byBjb21waWxlIGZmbXBlZyBmb3IgV2luZG93cyB1c2luZyBDbGFuZz8NCj4gPiBBbmQgaWYgeWVz LCBkb2VzIGl0IGV2ZW4gd29yayB3aXRob3V0IHRoYXQgZmxhZz8NCj4gPiAoYXNzdW1pbmcgaXQg d2FzIGludHJvZHVjZWQgaW4gb3JkZXIgdG8gYmUgYWJsZSB0bw0KPiA+IGNvbXBpbGUgV2luZG93 cyBzdHVmZikuDQo+IA0KPiBZZXMsIGl0IGlzIHBvc3NpYmxlIHRvIGJ1aWxkIGl0IHdpdGggQ2xh bmcgd2l0aG91dCBhbnkgY3VzdG9tIGV4dHJhIGZsYWdzDQo+IHRvIGVuYWJsZSBub25kZWZhdWx0 IG1vZGVzLiBJbiBmYWN0LCBpdCdzIHRlc3RlZCBjb250aW51b3VzbHkgb24gRkFURSB0b286DQo+ IA0KPiBodHRwOi8vZmF0ZS5mZm1wZWcub3JnL2hpc3RvcnkuY2dpP3Nsb3Q9eDg2XzY0LW1pbmd3 MzItY2xhbmctdHJ1bmsNCj4gDQo+IEFsc28gZm9yIG90aGVyIGFyY2hpdGVjdHVyZXMsIGUuZy46 DQo+IA0KPiBodHRwOi8vZmF0ZS5mZm1wZWcub3JnL2hpc3RvcnkuY2dpP3Nsb3Q9YWFyY2g2NC1t aW5ndzMyLWNsYW5nLXRydW5rDQoNCg0KT0ssIHRoYW5rcyBmb3IgdGhlIHBvaW50ZXJzLiBJJ20g bm90IHN1cmUgd2hldGhlciBpdCB3b3VsZCBiZSANCmFjY2VwdGFibGUgdG8gcmVxdWlyZSB0aGlz IGNvbXBpbGF0aW9uIGZsYWcgZm9yIFdpbmRvd3MgYnVpbGRzPw0KDQpDYW4geW91IHRoaW5rIG9m IGFueSBvdGhlciBpZGVhcz8NCg0KVGhhbmsgeW91IHZlcnkgbXVjaCwNCnNvZnR3b3Jreg0KX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVs IG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcv bWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5r IGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3Vi amVjdCAidW5zdWJzY3JpYmUiLgo=