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 E93E84311F for ; Sat, 21 May 2022 05:08:03 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BC92568B19D; Sat, 21 May 2022 08:08:00 +0300 (EEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10olkn2055.outbound.protection.outlook.com [40.92.41.55]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 53EC868ABA7 for ; Sat, 21 May 2022 08:07:54 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cWkgCfGAzjZcUt0QmrakL1uCipMYAcd0/XRGqMOlbkMvxy6djUPRRGQa3JJ8tu/4xgBPLASwNo+UqSDozva1inh2u/bBGeM4AGtS741H+IPBcJqe/AH3P2OjcwQ52rkH8MwYOAUdBjN2a/phVcFPR/ByxnoNlV2EayBjs0MK6ly2O/7RFwd6Sn/WnkpyOYF5lYjrKQdx5aZipRwBRbJIycVfglIRp8d6pqAgOTHWqjEdGE6yAVPfqewg7bxkd+44sUcLFsdICX1jDL8Fp9mhv5mPYsHFl5LktNO9w3Nb+bB0JmtbOjrQhksmD8TOVXc+a7DIWoG2UaNznEMI5xlpKw== 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=iJUZ3POD+N8PuqFljuXtneSPKc1+hJ3OdCnQC7FeNZo=; b=NpISfFZWEj/qBu19h28YkV/LIBnoIH24m9J9pnwAkNIqb19wSETHhkts3k7tYUUSLwP8H2hy9w0dt8LEGc5H6gz4ZJH0dIHk2GZn5SbKBsmrTMbplqiUChoj6SXSTqwAWak8muVNqI0ZXbjHaLE4nUJFUDl2J6OnGF2nt0fDb/my1CoYR0oZuaDrvNeWsqkeAEPEdqIiGqKPUowSeZReOPrMEHWNLAcf77PnPl6L3S9ekp1ZncEAmQPb3jGbAc9mkVPiH3OV9muFozqgYa4QNM7rmJs5ZDqRnczSUh6eHtsClIBA88oDMpvXxoDHpiTZzcGQRm8Z0Bvwj9oxCLuvIg== 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=iJUZ3POD+N8PuqFljuXtneSPKc1+hJ3OdCnQC7FeNZo=; b=Zu1BrU8/LQj65nIROmpmh4rwMgdb10RE6ovUUM1/4ZdbUNOe/nZAaiOOq1XR1HM8e2wE4xAk4uU8hCOSiQ3V6L2qA4TlUTinuUMqGY3LKpqIad7emw2eWGICYuTgK9lIK5D09OpyRy8595XTaQssY8dhZ7Fr707EEIqz5XpXHPOsYACmv+Fl9/ujXVxmcVsw8qd/cv/ydUDvAxBM4Lxr3X5i474WmZd/KXu5/46ZmUi0qumZ59RAL8bzArwFzgLQSs7N+jqK5OEp+Lc6ay7oumKAXnlxf4BP7MlZatkdDjNLPCm0a9mntXroj1Pz675ia7ZwIW6aWwnOzji0EWdsRw== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by DM4P223MB0469.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:aa::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.17; Sat, 21 May 2022 05:07:50 +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.019; Sat, 21 May 2022 05:07:50 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH 1/3] fftools: Stop using av_fopen_utf8 Thread-Index: AQHYbI5nsDA516hzzE2NdpSo7QznPq0oxehw Date: Sat, 21 May 2022 05:07:50 +0000 Message-ID: References: <20220520211254.47116-1-martin@martin.st> In-Reply-To: <20220520211254.47116-1-martin@martin.st> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [COQr0gxSKTaOX4+deE8oJ+XpxWY7hNV3] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9000319b-975a-41dc-18d0-08da3ae7da81 x-ms-traffictypediagnostic: DM4P223MB0469:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: GvILApdA+/WpCxAe+CoEwaqWP8wXo9QILUDf+sKocIHmc/R3Z+gr94cKpcre1JUhDBsI0889LikT+GbFaLDKwn3lDTgPG9sLXnqMX9F0fFPrqzKC5aTOVJNEbWV/GLxvhigBYmDf+XW1op7p9ewlKCz2WvFkSOztaf/M8yq8LqX0QhEY9XYbBT+mzzmN8rCDqIJiNoQUF/K764YLEcccGG9c7BxauYAFY+a3G8R7L5PKF6huLeTGZOF10nM99jicYQGQN6e+x4svuJ8bV+SGgidKNXmFnEdWM5LqL2BPsRAaikNCXja0sjZaonOe6bp9b3Y4Y4oMhuAoQb7y4mp85kzHbZSPhNHknl6V6IkAjExeilUDfrZ94xL1jTZVvrfXKEWDipbwx3q73Msx7ZFd4iRv269d6xk6rRBopt5RrIM/pU3encPCcmQy8QP2naP7M9rOL+PHkgTmYAhvlLoSyO4qKU2b5adt43x20WBtoAQBPR9gZxcYdtlsRDhXFTgqXl5oBBkB/QXwhrG6PmhxunYHN/6roE7HKxiDt8uWKYfm77U1rM10o24HyNdtFf/14Qlxd0hsc+PuBb5TyYJ01Q== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VWsrRk5MZkt1VzhZMzhjNEx4cmtxVDZ4bVFSNHpwakxwNmszS3lJS1htR0Y0?= =?utf-8?B?WTVmUHlxWTNVbTh0Ni9JRDRwZjB1bk9zR0JoSTNyaSsxcWovdW11ck45Vmlm?= =?utf-8?B?d0RPKzN0VitGZ3ZxNkRyWWlodE51dk9OQ1hmQ0ZBQURKcFpKMGEyeWtacmgx?= =?utf-8?B?R09oL3pLdzVVcy9iUFhGRlZkaUI2ZjNBQnU2MDVQd0VXeTBZWFFHRFk1Rkxv?= =?utf-8?B?cjRLVktaV3VQdGpQM3k3SG41R2x0TjkvMmZuTm5tZkVnckdCVllKSlR3RVl4?= =?utf-8?B?NU83UzFzUlR4SWF1YjczWFgzcnphN2ZMRUsyQUZqMkhQamxnRnJkbnhjL1FQ?= =?utf-8?B?L0MzVlRuN1dTWktES1ZlalVqYjloVUJjb2tEcmM4c1FNNUFac3pnRDhkeG1O?= =?utf-8?B?bmVTNEJoaTBldDczbm9ReDZLem9PUWhJOVN4ZnNrUzlLaWNQNmdRa3ZkSnE5?= =?utf-8?B?cXc5YkU3QWY4VnlLRk5kRGpVZHdKNGRFZ0R0L3JTWDRESU44TFRTUUN3cit6?= =?utf-8?B?MEFuckxXWS9BOWtYZzl6dmhDam05TlNldlhIK2htL3FZV0t3WWNhdzAvTkNP?= =?utf-8?B?czB0c3lsWVlKS2JoSjB4cmNRTXplV0RiWTVXYytQaEUwbnU3SW5SZWdES2Vv?= =?utf-8?B?dlR0VzRoYlVUai95ZzVvcWhoUjJFQytDV1FxRzZERCt1eGRvWnpsdEJvOUpp?= =?utf-8?B?cnU1b1RvSGRPeUphQ09wbHIzaHg2eGx3Q1JzQ09ySk04RTFvMGJEdVZYK3ZQ?= =?utf-8?B?T2cwUFV6OEdKZ0NEZHh0QmIrNm93M0xzT0Vmd25DTlkrQ1F6Q1B1Rm9JUTR5?= =?utf-8?B?Y0hoS0pJWVRTV05qUG8ydlJxRkNaS2pzdUk3NGdsSERzR0JKYXBrWlJWUkNW?= =?utf-8?B?NFhteEl5c3pPVnd6dG9YM1Bpd0V6ODdUd0V1S0xHeU53M01CaTc0bnZTeTcv?= =?utf-8?B?QktaaTZBTmNhc0Vua0theGNFMGlDSHBtUlcvR0NqbW1LWUpFc0lTZVFpd2pU?= =?utf-8?B?czdVeEU0aWZOYjgyOFQwTjc0UTBvN2dQTUdDYTNqeEs4YkJIZUVzMTk3Yjcz?= =?utf-8?B?MzNjRWZ3Y1BXUFRObFVXeFdMNEFLa0s1bUJBU1M1ZWRkVVJiUXdQTFllYkxS?= =?utf-8?B?Z3YvQjE3bStFZUJmNXVrOHJDenQ4Q2hocFRhSStVanZlUDUvYnRZYlh1R3lQ?= =?utf-8?B?THdKUjdBZUEwUzI1K0Y1MnpBYml4SlEwQnh0YUY0Z0dlNVpRL1RaWnVKMUVy?= =?utf-8?B?YjdBMzVXYjZNaUovamUvTHVMSEdKTDJaVFNCWnlVQVpjRjk2TXpWMTA3T1pL?= =?utf-8?B?QlA3VW1NZ2pqT1A0NHFMYkY5RTRsUG9UUE1lUTZCcFFBYmVnZkJCeTR5dXRx?= =?utf-8?B?ZHhEcWRoQlZSL3VMdkZNNmdpNGx2TTJEV0xERkExbnN0clNZdGorQmJoV09Z?= =?utf-8?B?NmdJU1pFZTdEME5PVmM2M3diYTRkVGJQSC92M0h6WFJLd3pZenpwYkU0UzFK?= =?utf-8?B?RytWaGdySSttZ05JaG9iQUdDempnVVQ1Y0paRVBEd3JCU3dOdndPZGhNZ25t?= =?utf-8?B?VXB2cFNWYXFFVENnRTBKVk96TlVRS3UzSFJ6YWt3MDdKbTViTGx1QkE5U2JK?= =?utf-8?B?Z0c2Tk9UREd4bGVOTVErais5Vzh0TnBPS2R4KzRIV1FlcnJIQTZHQ2w4SkR3?= =?utf-8?B?SzMzS0c2NWEwenNiNmhIbWE1aUpvMUZ4ZXRTZEovcEQvam1OQXFhK3FNekEr?= =?utf-8?B?T1Z2dXl6UWdwcWNYa2xsYmxaeWc4UEQ3czNSUytIenhPRXFoY0V2ampaRHVD?= =?utf-8?B?SHVFWFdEQ1ZkbFZmVVRWclFpelF6dVkvZ3lBcVE4R0dJbHdRQm9jaVBEamhX?= =?utf-8?B?bjBWSGVhL0U2dTNUcXY5a3BaZC9MK2lIdVErS1phazB6QnZMWlllTUo5TmZD?= =?utf-8?Q?ZUXn8GaXSUY=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: 9000319b-975a-41dc-18d0-08da3ae7da81 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 May 2022 05:07:50.3472 (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: DM4P223MB0469 Subject: Re: [FFmpeg-devel] [PATCH 1/3] fftools: Stop using av_fopen_utf8 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 Zm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYgT2YgTWFydGluDQo+IFN0 b3JzasO2DQo+IFNlbnQ6IEZyaWRheSwgTWF5IDIwLCAyMDIyIDExOjEzIFBNDQo+IFRvOiBmZm1w ZWctZGV2ZWxAZmZtcGVnLm9yZw0KPiBTdWJqZWN0OiBbRkZtcGVnLWRldmVsXSBbUEFUQ0ggMS8z XSBmZnRvb2xzOiBTdG9wIHVzaW5nIGF2X2ZvcGVuX3V0ZjgNCj4gDQo+IFByb3ZpZGUgYSBoZWFk ZXIgYmFzZWQgaW5saW5lIHJlaW1wbGVtZW50YXRpb24gb2YgaXQuDQo+IA0KPiBVc2luZyBhdl9m b3Blbl91dGY4IGRvZXNuJ3Qgd29yayBvdXRzaWRlIG9mIHRoZSBsaWJyYXJpZXMgd2hlbiBidWls dA0KPiB3aXRoIE1TVkMgYXMgc2hhcmVkIGxpYnJhcmllcyAoaW4gdGhlIGRlZmF1bHQgY29uZmln dXJhdGlvbiwgd2hlcmUNCj4gZWFjaCBETEwgZ2V0cyBhIHNlcGFyYXRlIHN0YXRpY2FsbHkgbGlu a2VkIENSVCkuDQo+IC0tLQ0KPiAgZmZ0b29scy9mZm1wZWdfb3B0LmMgfCAgMyArLQ0KPiAgZmZ0 b29scy9mb3Blbl91dGY4LmggfCA3MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKw0KPiAgMiBmaWxlcyBjaGFuZ2VkLCA3MyBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZmZ0b29scy9mb3Blbl91dGY4LmgNCj4gDQo+ IGRpZmYgLS1naXQgYS9mZnRvb2xzL2ZmbXBlZ19vcHQuYyBiL2ZmdG9vbHMvZmZtcGVnX29wdC5j DQo+IGluZGV4IDQ3ZThiOWI3YmQuLmE1Y2Q5ODlkMzUgMTAwNjQ0DQo+IC0tLSBhL2ZmdG9vbHMv ZmZtcGVnX29wdC5jDQo+ICsrKyBiL2ZmdG9vbHMvZmZtcGVnX29wdC5jDQo+IEBAIC0yOCw2ICsy OCw3IEBADQo+ICAjZW5kaWYNCj4gDQo+ICAjaW5jbHVkZSAiZmZtcGVnLmgiDQo+ICsjaW5jbHVk ZSAiZm9wZW5fdXRmOC5oIg0KPiAgI2luY2x1ZGUgImNtZHV0aWxzLmgiDQo+ICAjaW5jbHVkZSAi b3B0X2NvbW1vbi5oIg0KPiANCj4gQEAgLTE4ODIsNyArMTg4Myw3IEBAIHN0YXRpYyBPdXRwdXRT dHJlYW0gKm5ld192aWRlb19zdHJlYW0oT3B0aW9uc0NvbnRleHQNCj4gKm8sIEFWRm9ybWF0Q29u dGV4dCAqb2MsIGluDQo+ICAgICAgICAgICAgICAgICAgICAgIHZpZGVvX2VuYy0+c3RhdHNfaW4g PSBsb2didWZmZXI7DQo+ICAgICAgICAgICAgICAgICAgfQ0KPiAgICAgICAgICAgICAgICAgIGlm ICh2aWRlb19lbmMtPmZsYWdzICYgQVZfQ09ERUNfRkxBR19QQVNTMSkgew0KPiAtICAgICAgICAg ICAgICAgICAgICBmID0gYXZfZm9wZW5fdXRmOChsb2dmaWxlbmFtZSwgIndiIik7DQo+ICsgICAg ICAgICAgICAgICAgICAgIGYgPSBmb3Blbl91dGY4KGxvZ2ZpbGVuYW1lLCAid2IiKTsNCj4gICAg ICAgICAgICAgICAgICAgICAgaWYgKCFmKSB7DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICBh dl9sb2coTlVMTCwgQVZfTE9HX0ZBVEFMLA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJDYW5ub3Qgd3JpdGUgbG9nIGZpbGUgJyVzJyBmb3IgcGFzcy0xDQo+IGVuY29kaW5nOiAl c1xuIiwNCj4gZGlmZiAtLWdpdCBhL2ZmdG9vbHMvZm9wZW5fdXRmOC5oIGIvZmZ0b29scy9mb3Bl bl91dGY4LmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZGI1 N2ZjYWVjNA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2ZmdG9vbHMvZm9wZW5fdXRmOC5oDQo+ IEBAIC0wLDAgKzEsNzEgQEANCj4gKy8qDQo+ICsgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBGRm1w ZWcuDQo+ICsgKg0KPiArICogRkZtcGVnIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vcg0KPiArICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYw0KPiArICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyDQo+ICsgKiB2ZXJzaW9uIDIuMSBv ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCj4g KyAqDQo+ICsgKiBGRm1wZWcgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwNCj4gKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQo+ICsgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQ0KPiArICogTGVzc2VyIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCj4gKyAqDQo+ICsgKiBZb3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi bGljDQo+ICsgKiBMaWNlbnNlIGFsb25nIHdpdGggRkZtcGVnOyBpZiBub3QsIHdyaXRlIHRvIHRo ZSBGcmVlIFNvZnR3YXJlDQo+ICsgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl ZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLQ0KPiAxMzAxIFVTQQ0KPiArICovDQo+ ICsNCj4gKyNpZm5kZWYgRkZUT09MU19GT1BFTl9VVEY4X0gNCj4gKyNkZWZpbmUgRkZUT09MU19G T1BFTl9VVEY4X0gNCj4gKw0KPiArI2luY2x1ZGUgPHN0ZGlvLmg+DQo+ICsNCj4gKy8qIFRoZSBm b3Blbl91dGY4IGZ1bmN0aW9uIGhlcmUgaXMgZXNzZW50aWFsbHkgZXF1aXZhbGVudCB0bw0KPiBh dl9mb3Blbl91dGY4LA0KPiArICogZXhjZXB0IHRoYXQgaXQgZG9lc24ndCBzZXQgT19DTE9FWEVD LCBhbmQgdGhhdCBpdCBpc24ndCBleHBvcnRlZA0KPiArICogZnJvbSBhIGRpZmZlcmVudCBsaWJy YXJ5LiAoT24gV2luZG93cywgZWFjaCBETEwgbWlnaHQgdXNlIGEgZGlmZmVyZW50DQo+ICsgKiBD UlQsIGFuZCBGSUxFKiBoYW5kbGVzIGNhbid0IGJlIHNoYXJlZCBhY3Jvc3MgdGhlbS4pICovDQo+ ICsNCj4gKyNpZmRlZiBfV0lOMzINCj4gKyNpbmNsdWRlICJsaWJhdnV0aWwvd2NoYXJfZmlsZW5h bWUuaCINCj4gKw0KPiArc3RhdGljIGlubGluZSBGSUxFICpmb3Blbl91dGY4KGNvbnN0IGNoYXIg KnBhdGhfdXRmOCwgY29uc3QgY2hhciAqbW9kZSkNCj4gK3sNCj4gKyAgICB3Y2hhcl90ICpwYXRo X3csICptb2RlX3c7DQo+ICsgICAgRklMRSAqZjsNCj4gKw0KPiArICAgIC8qIGNvbnZlcnQgVVRG LTggdG8gd2lkZSBjaGFycyAqLw0KPiArICAgIGlmICh1dGY4dG93Y2hhcihwYXRoX3V0ZjgsICZw YXRoX3cpKSAvKiBUaGlzIHNldHMgZXJybm8gb24gZXJyb3IuICovDQo+ICsgICAgICAgIHJldHVy biBOVUxMOw0KPiArICAgIGlmICghcGF0aF93KQ0KPiArICAgICAgICBnb3RvIGZhbGxiYWNrOw0K PiArDQo+ICsgICAgaWYgKHV0Zjh0b3djaGFyKG1vZGUsICZtb2RlX3cpKQ0KPiArICAgICAgICBy ZXR1cm4gTlVMTDsNCj4gKyAgICBpZiAoIW1vZGVfdykgew0KPiArICAgICAgICAvKiBJZiBmYWls aW5nIHRvIGludGVycHJldCB0aGUgbW9kZSBzdHJpbmcgYXMgdXRmOCwgaXQgaXMgYW4NCj4gaW52 YWxpZA0KPiArICAgICAgICAgKiBwYXJhbWV0ZXIuICovDQo+ICsgICAgICAgIGF2X2ZyZWVwKCZw YXRoX3cpOw0KPiArICAgICAgICBlcnJubyA9IEVJTlZBTDsNCj4gKyAgICAgICAgcmV0dXJuIE5V TEw7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgZiA9IF93Zm9wZW4ocGF0aF93LCBtb2RlX3cpOw0K PiArICAgIGF2X2ZyZWVwKCZwYXRoX3cpOw0KPiArICAgIGF2X2ZyZWVwKCZtb2RlX3cpOw0KPiAr DQo+ICsgICAgcmV0dXJuIGY7DQo+ICtmYWxsYmFjazoNCj4gKyAgICAvKiBwYXRoIG1heSBiZSBp biBDUF9BQ1AgKi8NCj4gKyAgICByZXR1cm4gZm9wZW4ocGF0aF91dGY4LCBtb2RlKTsNCj4gK30N Cj4gKw0KPiArI2Vsc2UNCj4gKw0KPiArc3RhdGljIGlubGluZSBGSUxFICpmb3Blbl91dGY4KGNv bnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKm1vZGUpDQo+ICt7DQo+ICsgICAgcmV0dXJuIGZv cGVuKHBhdGgsIG1vZGUpOw0KPiArfQ0KPiArI2VuZGlmDQo+ICsNCj4gKyNlbmRpZiAvKiBGRlRP T0xTX0ZPUEVOX1VURjhfSCAqLw0KPiAtLQ0KDQpMR1RNLiAoYWxsIHRocmVlKQ0KDQpUZXN0ZWQg d2l0aCBWUyBwcm9qZWN0IGJ1aWxkIChmdWxsIHN0YXRpYyBsaW5rYWdlLCB0aG91Z2gpLg0KDQpU aGFuayB5b3UsDQpzdw0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpo dHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vi c2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBm Zm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=