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 7DDF442DF3 for ; Mon, 9 May 2022 00:28:34 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4640A68B365; Mon, 9 May 2022 03:28:32 +0300 (EEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11olkn2109.outbound.protection.outlook.com [40.92.19.109]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9367E68A3F4 for ; Mon, 9 May 2022 03:28:25 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CA4d3Ef1yQ0eZ67d76EQT+021qoj8taSNk5Mr1gdT60ltZKu1Yw+x4azpzAD4rJn0kMbY+XS+6teaZbLVlCgYkW/+IRsD+IfqMO4YOcd6OGHW1Q+iOKLBnEb5m5qSYyM20no59bLCok79sS6n0CjzQeO+cqh3gsBPTP77hzAXjuQMEC+jaoSIdX5uY0lnyV6CP8lUWRYUGMfH1I8SD1X6S5tT+FF81Z4GGy607e87C2y7Bdl2dFTkv6CgpvBf2xSbd+umQRs1YRlVk7fxkiJEBA9V4qi8/dZDNvUb/8ZDKdRUWuZLer+fHI14LDmReOFVvZ+lFrybe1DuQwSQJIj0w== 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=5sioH7RKA6PSzq5eoudyQoUcL0BhXunVQgWd0O2eMAw=; b=ghQ+xqPp2Lau7JlLJSmJtoa7HZTRXOgnOhHMoCLQcnlaWq2ESsf1Pl2hRbg6dkNF3DFqroD8zIUkkvKxbDYU+mkbQ1w6ZolbQGXo9DyvnP1vd2HiLg4SYbzYncF5yUwIgkYSD50kMrXpt0SJLAwrlZYTltny0ks/ha+nFRGQH2lZ2lDs4Bq2fX27aMJbVScAWwHo4jH/ankcY4OHxyrdj8HFazohadRg70qtoSSHS+Fl2wwkFsHSYNYtXeOCTP7LodaHcYEb4ZoLAqdfDfDHbCp0U76FbywiwpzSfp7vbpgxonMNHz+CkMRETKCmL5ww2tcT6iTgguOl8OEyfK/VfA== 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=5sioH7RKA6PSzq5eoudyQoUcL0BhXunVQgWd0O2eMAw=; b=aDuUqaWeB9xHgxdX26MLpaJDfO1YshOlmObf1uBqWLTIDXDK32wIZ+fkk8LzRVX5B4HLDHju/d+Eyp4/6zXs3ePF4f+3PTJ4UHWuqMY7nS2nVleb9ldR+WfmZTj/dKy1v8th5ot/bkRXtTcQNSEURVYVNERxmv/TPA6Sj4HAUMBsjU/QZF2hWBdwn/UBQXAGKLF/XpCiECCLTBQ4MuOa/Ob8CD+uRA0uUBs7ChVTDVAgs/26Y1RhA5xbpkh+7xpmH+I1Hl6VhpAfVrGYr8sU+YDKTJBTpgRnOZxi4Y/f+ckKXiV68jbE47zVCb7H5jnmKvWkDXTI6itSg4qfdWbAlA== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by IA1P223MB0476.NAMP223.PROD.OUTLOOK.COM (2603:10b6:208:3e8::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5227.21; Mon, 9 May 2022 00:28:23 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::7472:6f83:eeb:45e3]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::7472:6f83:eeb:45e3%9]) with mapi id 15.20.5227.023; Mon, 9 May 2022 00:28:16 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] av_fopen_utf8 and cross-DLL CRT object sharing issue on Windows Thread-Index: AQHYVLToR1KJUGuNukO2WH1LPKjFMK0S36QQgAKj0oCAAER+IA== Date: Mon, 9 May 2022 00:28:16 +0000 Message-ID: References: <3174427a-8eb7-b2c-eca4-242d8c9d32c@martin.st> <13ecb0d2-c07e-9245-8bcf-af263beb597@martin.st> In-Reply-To: <13ecb0d2-c07e-9245-8bcf-af263beb597@martin.st> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [NU8xCn8pW7oIMAKukPJFqgJAj6/EOaaJ] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 68d38425-117c-4e99-77f9-08da3152cf79 x-ms-traffictypediagnostic: IA1P223MB0476:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: M8kb7bdbm6q2UmX1kRGfkPOitC/4NHy9ZwdaBJ+DNSEOyNpxIbylgrPZI8mLnjAuQ0UoeqtI9V5+ReL0WRy6fgdwD5/XcjpnP8osFOcEFL/uvqCHy5AZA01Aqi2uG3Zk16H+383r9V84FDmvg4dQcVeG1z3UJl+HqsHRAXpe6OY+7lh/J35Auo3L0952DEjR1CzUPYGwz/W/3wUW4dmRMDMkJEoaBWrdX35aoFefyAACEqGH3P3ig+qPGdFVutll77/vzq0EOOebptshDJ/rRzayqffl4KvzQUBluZ4JOrLLru9ZAyYdjTpM9TRxxrQwN3CFWGyVIeXbZ4nxzeip+o9P9MVuKbXduBqKeMU8KaXMLdvxQ3rVrQThD1N5ZRIojOdKFQLdgLED7L8QQbx1FYDsGUrvrhDIwRVHynICKggQnMrGw0nhQTi4eCZ4dniPO2H1Zmavs+Cx+puEgXr6rXbexTOgOPleDldvKAe0aFgcG2SToZRjXJK6vzegBoSSTCcA2zYDtRS+Ei78kuej7+LNMJjGIsG/JOx+2VKNMKgjemWACFlcrhQm8tOVowiiOFer44RFw5OeR79eTW/qe32TuXtTbnmRyDJmaS7QJ6/MBOCNg3irSWsULBuZoVBAwfkLa+CtSsPEre5z7emb9w== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SkI2VTlBWEpHeGlzNXhSY3J2K0RIZTJ6K0hxYkhJamdjSEJ5eTNod0dvZVJs?= =?utf-8?B?NzBVYkhvR3hjOU5Gdk4vQnFGNW0vdml4bzFDaVJKYVQzRHZ3eko4dktMWVpy?= =?utf-8?B?NVdhMDN2b3dxZ3JjVTA5MjV3Smd5MjB4QWlwOHdqWk01ZkR3NkVjc3RxVGZz?= =?utf-8?B?dlMvcHltTHNXSFM5SVJBYTVFc3A4MTg4ZGsxVFR6M2lkRzFiV2NiSXlJWjNB?= =?utf-8?B?d1FvNVNtU25TTWZqaXFvVkZxQlFSb0dqeUlOZHQzOXp5Q3pyUFVIbG0vZkVa?= =?utf-8?B?NTBFcExXUWprekxZSStVNlBORG1pd0EzcFBGT3VnV0wwR1k3aW9CSmdoWTZ4?= =?utf-8?B?aGQzZTRFNXhiUjVaUlUybStnTXpEVFhKUUdKWGxEZGZGUklhcG9tVWlHQUs5?= =?utf-8?B?VkhTSEF4TXd2N3hQMmVNSlVWZkdTcjZQajJpZWNOVzc0MlJqeG9PZHFobnhR?= =?utf-8?B?ODFibG91cEhEU1gvdlZtUWV4SWVRWExRWk1mT0ZYNU9OQlFGZHl5YXZyOERB?= =?utf-8?B?WndrVUZNR2s0MlpFOTBYMjRnd1JRZXlYMGRHM21jRmxmOUV3Q2FqNXFMRXNj?= =?utf-8?B?UGJqdXJxMzJBbkVUR0pMUGYxaXFiM2h2dzhuRkgrSzJIN3RBSktUaVFqT1k0?= =?utf-8?B?NDlGVEFIaU50NGtMTjhXYmFudHpQWTlVT1VJOW44SC9uR0xYWXREOGw1V3VG?= =?utf-8?B?UkRaNGVLWVJPc0FkbTR2OUpTbVVNN1k5OHYvZUhTZHNkSEtpaDgvaDVTZnA2?= =?utf-8?B?Nk5CZytLNm9JQk9kRzBZTlRlakdQUlBhZnR0ZVZua0FyMkYzZEdyR0x4cWtO?= =?utf-8?B?cHl4UEl2cml3OG1jZG9aT1o0NjhoQk14ZUZ2ZFk1U3B1NG9CTjArM3d3WHFC?= =?utf-8?B?b3dlR1FGZ1dqUU0zbmZrcnV4MVZxWVB4ODRlK2xWS2ZTYXJOQjdYYVg3V2Fj?= =?utf-8?B?enBpamRid3loVC9VTTNTaVd5azN3VW9ZenN1RmIvOUk1WDJZdHJMTEpKMDR2?= =?utf-8?B?eE1LNlpVV2xpNUZpT3VQc3ozOVJJRFpmbGZIK2U4bWh6Uzl0cE96eVlhTWFw?= =?utf-8?B?QzN3U0tZT3R6ajNRZWI2d1l1ck5sUzlNSWhQSTlTRHV2NGoyRS9INDc4aHJv?= =?utf-8?B?elMyNGsyM3F4TzlORWlWUFowN3h0S3hsTWlLak5LWDZxdmVya2t2SFV6MXMr?= =?utf-8?B?S2NlYXhJbXJqY3duWGZsVWpUSHY1SVlGdHhGQlMrL3ExTGxvYlphM1VsR2Z2?= =?utf-8?B?OE1vYS9lNDdzdStWSFpWTTZrNkNXcFlIOXVUUTZGMDd0K2Y3QTNLdlVLbWVZ?= =?utf-8?B?a2lhSG1aZVkvR2xiY1ZRenFNVnZYQi91UXQ2dmF6azdHK0h0cTJQTWhmZjl0?= =?utf-8?B?YmZtV3RvKzJYS0R2a3d1ZU5QQmFoOUpjU09haDVXM2NYeWM4YjJJQ2xxK3l2?= =?utf-8?B?YUoxN3plWmhmWGVzeDN4UnhpU0x5UGlYS2MwcnpCWS9TbDdwcjRaanpvbDNh?= =?utf-8?B?TFhZZmVDMkJBUnRBZDFXV2FrSDNIcFhMaWhEaHQ0MEVReTR1Y0pMUnZMOFpO?= =?utf-8?B?dlpqNmZNR0hrUlZiUWo3UllmdnNjWG1TZTlNeDh5bXBtUUdiTkdLd0tmUnA0?= =?utf-8?B?MlpFMHpuSjl5UmorYjBCMkJtNGNTd0tnV3pvdmFpUFZ6ZXlRaGJPdHpEL093?= =?utf-8?B?alRhTDhnVjVZalpYYUlCSzFPWkE5NWlvMmk3MXp4d2g2YXg2d05XV005S3Z4?= =?utf-8?B?ZHVrVXQyOGZpcFVpWXR1MW9uMUY5VSsya3pCdm9VKzFNZkdDdVRDeHlwSWd0?= =?utf-8?B?bWx3c1NoWkw1WHFIL2FpR3BTc015QnU0VWhSbmRkdzBpckJqQVNSVFFnekVQ?= =?utf-8?B?TUN4ZExLdUJVd3FJKzdqdmlJSlVyQUZoWVBseEJpcDBTRFFPWGYvcXMxNHJq?= =?utf-8?Q?v8erBz0LpcA=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: 68d38425-117c-4e99-77f9-08da3152cf79 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 May 2022 00:28:16.3957 (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: IA1P223MB0476 Subject: Re: [FFmpeg-devel] av_fopen_utf8 and cross-DLL CRT object sharing issue 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 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: DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZmZtcGVnLWRldmVsIDxm Zm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYgT2YNCj4gTWFydGluIFN0 b3JzasO2DQo+IFNlbnQ6IFN1bmRheSwgTWF5IDgsIDIwMjIgMTA6MDIgUE0NCj4gVG86IEZGbXBl ZyBkZXZlbG9wbWVudCBkaXNjdXNzaW9ucyBhbmQgcGF0Y2hlcyA8ZmZtcGVnLQ0KPiBkZXZlbEBm Zm1wZWcub3JnPg0KPiBTdWJqZWN0OiBSZTogW0ZGbXBlZy1kZXZlbF0gYXZfZm9wZW5fdXRmOCBh bmQgY3Jvc3MtRExMIENSVCBvYmplY3QNCj4gc2hhcmluZyBpc3N1ZSBvbiBXaW5kb3dzDQo+IA0K PiBPbiBTYXQsIDcgTWF5IDIwMjIsIFNvZnQgV29ya3Mgd3JvdGU6DQo+IA0KPiA+PiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBmZm1wZWctZGV2ZWwgPGZmbXBlZy1kZXZl bC1ib3VuY2VzQGZmbXBlZy5vcmc+IE9uIEJlaGFsZiBPZg0KPiA+PiBNYXJ0aW4gU3RvcnNqw7YN Cj4gPj4gU2VudDogV2VkbmVzZGF5LCBBcHJpbCAyMCwgMjAyMiAyOjQ4IFBNDQo+ID4+IFRvOiBm Zm1wZWctZGV2ZWxAZmZtcGVnLm9yZw0KPiA+PiBTdWJqZWN0OiBbRkZtcGVnLWRldmVsXSBhdl9m b3Blbl91dGY4IGFuZCBjcm9zcy1ETEwgQ1JUIG9iamVjdA0KPiBzaGFyaW5nDQo+ID4+IGlzc3Vl IG9uIFdpbmRvd3MNCj4gPj4NCj4gPj4gSGksDQo+ID4+DQo+ID4+IEkganVzdCBiZWNhbWUgYXdh cmUgb2YgdGhlIGF2X2ZvcGVuX3V0ZjggZnVuY3Rpb24gLSB3aGljaCB3YXMNCj4gPj4gaW50cm9k dWNlZA0KPiA+PiB0byBmaXggcGF0aCBuYW1lIHRyYW5zbGF0aW9ucyBvbiBXaW5kb3dzIC0gYWN0 dWFsbHkgaGFzIGEgbm90YWJsZQ0KPiA+PiBkZXNpZ24NCj4gPj4gZmxhdy4NCj4gPg0KPiA+IEhp IE1hcnRpbiwNCj4gPg0KPiA+IEkganVzdCBiZWNhbWUgYXdhcmUgdGhhdCBzb21lYm9keSB3b3Vs ZCBiZSBjb21waWxpbmcgZmZtcGVnIGxpa2UNCj4gPiB0aGlzIG9uIFdpbmRvd3MgYW5kIEknbSBj dXJpb3VzIHJlZ2FyZGluZyB0aGUgd2hlcmVhYm91dHMuLg0KPiA+DQo+ID4+IEJhY2tncm91bmQ6 DQo+ID4+DQo+ID4+IE9uIFdpbmRvd3MsIGEgcHJvY2VzcyBjYW4gY29udGFpbiBtb3JlIHRoYW4g b25lIEMgcnVudGltZSAoQ1JUKTsNCj4gdGhlDQo+ID4+IHN5c3RlbSBjb21lcyB3aXRoIHR3byBz aGFyZWQgb25lcyAoVUNSVCBhbmQgbXN2Y3J0LmRsbCkgYW5kIGluIE1TVkMNCj4gPj4gYnVpbGRz LCBlYWNoIERMTC9FWEUgY2FuIGhhdmUgb25lIHN0YXRpY2FsbHkgbGlua2VkIGluIGluc3RlYWQg b2YNCj4gPj4gbGlua2luZw0KPiA+PiBhZ2FpbnN0IGEgc2hhcmVkIGxpYnJhcnkgQ1JUIChhbmQg dGhhdCdzIGFjdHVhbGx5IHRoZSBkZWZhdWx0DQo+ID4+IGNvbmZpZ3VyYXRpb24gd2hlbiBidWls ZGluZyB3aXRoIE1TVkMpLg0KPiA+DQo+ID4gVGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBmb3Ig Ym90aCwgRVhFIGFuZCBETEwgcHJvamVjdHMgaXMgdG8gbGluaw0KPiA+IHRvIHRoZSBDIHJ1bnRp bWUgZHluYW1pY2FsbHkgKGNydCBkbGwpLg0KPiANCj4gTm8sIHRoYXQncyBub3QgdHJ1ZS4gSWYg eW91IGludm9rZSBlLmcuICJjbC5leGUgbXlwcm9nLmMiIHdpdGhvdXQNCj4gZXhwbGljaXRseSBw YXNzaW5nIGVpdGhlciAtTUQgb3IgLU1ULCB0aGUgZGVmYXVsdCBpcyAtTVQsIHdoaWNoIGlzIHRv DQo+IHN0YXRpY2FsbHkgbGluayB0aGUgQ1JULg0KDQpXaGF0IEkgbWVhbnQgaXMgd2hlbiB5b3Ug Y3JlYXRlIGEgbmV3IGNvbnNvbGUgcHJvamVjdCBpbiBWaXN1YWwgU3R1ZGlvLA0KdGhlIGRlZmF1 bHQgaXMgL01ELCBhbmQgdGhlIHNhbWUgaXMgdHJ1ZSB3aGVuIGNyZWF0aW5nIGEgbmV3IGRsbCBw cm9qZWN0Lg0KDQoNCg0KPiA+PiBUaGlzIG1lYW5zIHRoYXQgQ1JUIG9iamVjdHMgKGZpbGUgZGVz Y3JpcHRvcnMgZnJvbSBvcGVuKCksIEZJTEUqDQo+ID4+IG9wZW5lZA0KPiA+PiB3aXRoIGZvcGVu L2Zkb3BlbikgbXVzdG4ndCBiZSBzaGFyZWQgYWNyb3NzIERMTHM7IHN1Y2ggYW4gb2JqZWN0DQo+ IG11c3QNCj4gPj4gYmUNCj4gPj4gb3BlbmVkLCBhY2Nlc3NlZCBhbmQgY2xvc2VkIHdpdGhpbiB0 aGUgc2FtZSBETEwuDQo+ID4NCj4gPiBUaGlzIG9ubHkgaGFwcGVucyB3aGVuIHlvdSBleHBsaWNp dGx5IG1vZGlmeSB0aGUgYnVpbGQgY29uZmlndXJhdGlvbg0KPiA+IHRvIHN0YXRpY2FsbHkgbGlu ayB0byB0aGUgQ1JULg0KPiANCj4gTm8sIHRoaXMgaXMgbm90IGEgY3VzdG9tIGJ1aWxkIGNvbmZp Z3VyYXRpb24uIFRoaXMgaXMgdGhlIGJ1aWxkDQo+IGNvbmZpZ3VyYXRpb24geW91IGdldCBpZiB5 b3UgY29uZmlndXJlIHdpdGggImNvbmZpZ3VyZSAtLWVuYWJsZS1zaGFyZWQNCj4gLS10b29sY2hh aW49bXN2YyIuDQoNCk9rLCB0aGVuIHRoaXMgaXMgd2hhdCBuZWVkcyB0byBiZSBmaXhlZC4gV2hl biB5b3UgY29uZmlndXJlIGZvciAic2hhcmVkIiwNCnRoZSBleGUgYW5kIGRsbCBiaW5hcmllcyBu ZWVkIHRvIGJlIGFsbCBjb21waWxlZCB3aXRoIC9NRC4NCg0KDQo+ID4gV2h5IGFyZSB5b3UgY29t cGlsaW5nIGl0IHRoaXMgd2F5Pw0KPiA+IFlvdXIgZWFybGllciBwYXRjaCBpcyBmcm9tIDIwMTMs IHNvIHlvdSBzZWVtIHRvIGJlIGRvaW5nIHNvIGZvcg0KPiA+IHF1aXRlIGEgd2hpbGUuDQo+IA0K PiBJdCdzIG5vdCB0aGF0IEknbSBzaGlwcGluZyBhIHByb2R1Y3Rpb24gc2V0dXAgYnVpbHQgdGhp cyB3YXkuIEkganVzdA0KPiBzcGVudA0KPiBhIGZhaXIgYW1vdW50IG9mIHdvcmsgdG8gbWFrZSBm Zm1wZWcgd29yayB3aGVuIGJ1aWx0IHdpdGggTVNWQzsgYm90aA0KPiBidWlsdA0KPiBhcyBzdGF0 aWMgbGlicmFyaWVzIGFuZCBhcyBETExzLiBBbmQgSSdkIGxpa2UgdG8ga2VlcCB0aGF0IHdvcmtp bmcuDQo+IE5vdA0KPiBvbmx5IG9uIHRoZSAic2VlbXMgdG8gd29yayBmb3Igd2hhdGV2ZXIgaXMg Y292ZXJlZCBieSBmYXRlIiBsZXZlbCwgYnV0DQo+IGFsc28gb24gdGhlIGxldmVsIG9mIG5vdCB1 c2luZyBjb25zdHJ1Y3RzIHRoYXQgYXJlIGtub3duIHRvIG5vdCB3b3JrLg0KPiANCj4gQXMgYXZf Zm9wZW5fdXRmOCBnZXRzIGR1cGxpY2F0ZWQgYWNyb3NzIHRoZSBsaWJyYXJpZXMgYnkgYmVpbmcg aW4gdGhlDQo+IHNhbWUNCj4gc291cmNlIGZpbGUgYXMgdGhlIG90aGVyIGZ1bmN0aW9ucywgaXQg d29ya3MgZm9yIGFsbCB1c2VzIGFjcm9zcyB0aGUNCj4gbGlicmFyaWVzLCBidXQgZG9lc24ndCB3 b3JrIGZvciB1c2VzIG91dHNpZGUgb2YgdGhlIGxpYnJhcmllcw0KPiAoZmZ0b29scywNCj4gZXh0 ZXJuYWwgQVBJIHVzZXJzKS4gVGhhdCdzIHdoeSBJJ20gaGVzaXRhbnQgYWdhaW5zdCBpbmNyZWFz aW5nIHRoZQ0KPiB1c2Ugb2YNCj4gdGhpcyBmdW5jdGlvbiBpbiBmZnRvb2xzIHVudGlsIHdlIGhh dmUgcmVzb2x2ZSB0aGlzIGlzc3VlLg0KDQpZZXMgSSBhZ3JlZSB0byB0aGF0LiBJIHdpbGwgcmV0 cmFjdCB0aGlzIHBhcnQgb2YgbXkgcGF0Y2hzZXQuDQoNCg0KPiBBbHNvLCBhbm90aGVyIGZhaXJs eSBjb21tb24gc2l0dWF0aW9uIHdoZXJlIHRoZSAiZGlmZmVyZW50IENSVHMiDQo+IHNjZW5hcmlv DQo+IGhhcHBlbnMgaWYgeW91J2QgZS5nLiBidWlsZCB0aGUgZmZtcGVnIGxpYnJhcmllcyBhcyBE TExzIHdpdGggbWluZ3csDQo+IGJ1dA0KPiB0aGVuIGxpbmsgYWdhaW5zdCB0aG9zZSBETExzIHdp dGggYSB1c2VyIGFwcGxpY2F0aW9uIGJ1aWx0IHdpdGggTVNWQy4NCg0KQUZBSUssIGl0IGlzIHBv c3NpYmxlIHRvIGNyZWF0ZSBETExzIHdpdGggbWluZ3cvTVNZUzIgaW4gYSB3YXkgdGhhdA0KdGhl c2UgY2FuIGxpbmsgdG8gYSBzcGVjaWZpYyB2ZXJzaW9uIG9mIHRoZSBNUyBDUlQsIGJ1dCB0aGF0 J3MganVzdA0KYSBzaWRlIG5vdGUuDQoNCj4gPiBJcyB0aGUgZmlsZSBBUEkgdGhlIG9ubHkgY2Fz ZSB3aGVyZSB5b3UgaGFkIGFueSB0cm91YmxlPw0KPiANCj4gQXMgZmFyIGFzIEkgcmVtZW1iZXIs IHRoYXQgd2FzIHRoZSBvbmx5IGNhc2Ugb2YgY3Jvc3MtbGlicmFyeSByZXNvdXJjZQ0KPiBzaGFy aW5nIGlzc3VlIEkgcmFuIGludG8gYXQgdGhlIHRpbWUuDQoNCg0KSSdsbCBmb2xsb3cgdXAgb24g dGhpcyBpbiB5b3VyIG90aGVyIHJlcGx5Lg0KDQpUaGFua3MsDQpzb2Z0d29ya3oNCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWls aW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxt YW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92 ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3Qg InVuc3Vic2NyaWJlIi4K