From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <ffmpeg-devel-bounces@ffmpeg.org> Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 9F9AD4BC5A for <ffmpegdev@gitmailbox.com>; Mon, 28 Apr 2025 22:50:08 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id F0D6F68B0EE; Tue, 29 Apr 2025 01:50:02 +0300 (EEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10olkn2048.outbound.protection.outlook.com [40.92.42.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8A770687C9C for <ffmpeg-devel@ffmpeg.org>; Tue, 29 Apr 2025 01:49:55 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JnfYhCuMUuL8kugRk9xzKCbtB/1TXoZe46ubshQMuEYNeI/LakgKUNL26QDm+SzsNpocFKphEULKu4G+n7gTrev7GnbN1NRwD3tdNsCZjQRlZeHaxJ+d4GbIT3E1wQ10FVtA9JCREX33TdxSd//kNhHySm+nnMOZ3xKEwoWK3NoLgLtMpcGgcUssi/OwoI7MGqKji7yrBumC7mDRa8qLWGz6PseqfAr6PSrejDzAcHmZm2IwZ5lRBUwJLT8GGnZRd+uIW1qsutp2y6iv+TjC8IoHdjEb1P4BGtUd4WbbPuUKofWaGwol+04ZWrtY80NwfJoEjfbbgOOo1qAsIHk1PA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=LG3Mhp5r+far26+xnf4o0RC+OiHDNfWV1apjz/8sR5I=; b=JPmJv/r2zdAZx/boeGmzz8nr8qD7POFauTrKD1khfBjRUpOBe8uCU1f9Ea5iMA3pZ4IuMMqEi6DToDHuShClxLCJSor3u5sNJkNeF/KN/i2sF9uhJNGWRtf5vuA+nKtOFPsNDXD8/n/UBsa/OrrcfdovnRFz8K5uFYBXdjUCN8skr1CM37Na+v2kkccZn1lVjNQl6uYazu1UulWlJMHdFkVpnsam3qr+V7UQfGW3nWbGoPw3BhgnVBr+rxPjSSSrnhdn+X7DNFkxQIbSVqsESdDxlYnu5AZMMPzvWEUFcXsbsmFqVMQf5QXQrd5rLJr7P8Qu9hFHjWOGx2ghSPflPw== 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=LG3Mhp5r+far26+xnf4o0RC+OiHDNfWV1apjz/8sR5I=; b=vRcgVqOBpZTGOleHHWbMOeNA8L8Mx4pL754m7V6aNMSu3tEjN0pHxdljLOr4bPA2GqKgWDSsVQ5RiTleD//0v5Vmko8NEzbDNUgfWkX0TteqUlfoHhG1iLWPvGzXuVljQcQrF32NZJwjQ6uiP6aC6qy12p/VyxkldypbVsgKLyXwAncVA0D02LIo5H4vHtRhuQak0msPHCSdFZabkzOvICmph9JVKw3hFQjqhrG0zPrAdZri+/ziokiZLaRU8/a7ZPVI/P+CD33PgvKCIqpD3JD5ind9wDy3hkHvXvqmCktZc8nmwzCGvHeXeI8kIQUkmAk1ZIw04Bu/q03mjt3OIg== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by BL3P223MB0130.NAMP223.PROD.OUTLOOK.COM (2603:10b6:208:34e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8678.34; Mon, 28 Apr 2025 22:49:51 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7%4]) with mapi id 15.20.8678.028; Mon, 28 Apr 2025 22:49:50 +0000 From: "softworkz ." <softworkz-at-hotmail.com@ffmpeg.org> To: Stefano Sabatini <stefasab@gmail.com> Thread-Topic: [FFmpeg-devel] [PATCH v7 02/13] fftools/textformat: Apply quality improvements Thread-Index: AQHbtjoq2KOHw7h1Gk27sCt5/M4Hl7O5gs0AgAABiCCAAAY/AIAAAPRQgAAWPQCAAAERMA== Date: Mon, 28 Apr 2025 22:49:50 +0000 Message-ID: <DM8P223MB03650B29910732C301D19B86BA812@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM> References: <pull.66.v6.ffstaging.FFmpeg.1745457192.ffmpegagent@gmail.com> <pull.66.v7.ffstaging.FFmpeg.1745623868.ffmpegagent@gmail.com> <1a4044ba238e9cdd13c8db56a344387748f64633.1745623868.git.ffmpegagent@gmail.com> <aA/dbPipiEq0ZPw1@mariano> <DM8P223MB03654FE01A37E77E0968DEC7BA812@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM> <aA/j8udHPaUshX70@mariano> <DM8P223MB036524D7359B4E45D4DCFBC0BA812@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM> <aA/3Zibi2BmYgR2o@mariano> In-Reply-To: <aA/3Zibi2BmYgR2o@mariano> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM8P223MB0365:EE_|BL3P223MB0130:EE_ x-ms-office365-filtering-correlation-id: 2616c069-f4bc-4181-7382-08dd86a6fc23 x-microsoft-antispam: BCL:0; ARA:14566002|8062599003|461199028|8060799006|19110799003|7092599003|15080799006|440099028|3412199025|41001999003|12091999003|102099032; x-microsoft-antispam-message-info: =?utf-8?B?NGxwNGtTbUNyNzJKaEU3eVR6SW83Vkh0SHcycUhabGwvT0NhUEt6NkRKcm5j?= =?utf-8?B?YTNTUlJ4bEVVQ1VlakQ1Mkp1Njk1eXorcXQ0Lzg3WmhOb3M4NE9wYmR0YjRj?= =?utf-8?B?Q1Bidmtsem5lTlU2OWJmOFFESFcyNDYxb2M2SExRVHg3Y0hvdTFXM2tEQjl6?= =?utf-8?B?ckIwdUxwYXRqUkJHeTRaVFVQQm41dzRsV2ttb1ZvZm1HdWhLTGhzbDliVVAv?= =?utf-8?B?R2R6dGlIMlQ1VUNHR1hIbkdJZ2lKWEhWdmJTZWlON3F5S0tpai9aSUpEUEtZ?= =?utf-8?B?cldWc3ZEalBkVExYT2E1ODVXSGdRWkFlRjhRaXRhc0xUbUdobis4cFdwQi9H?= =?utf-8?B?OHVhaXhOb0VmVC9KRWZLcVdyS3hHbHJ6anNuTmlTWFNOUTlCVDZGYnN2MzlW?= =?utf-8?B?cTd2emtjY2YxaC9HYW1sSXNYaVdtb0FCWnpPTXNQRTAyR1U3RSttSDU5ZHJv?= =?utf-8?B?eW9tTkpEK09kcFhJNk9LSEE5TzhRQ1VVc3J0c1BveGFoTElUTHFsWU1TTjFO?= =?utf-8?B?YlNUaHltSzFxOTJEd0RoYkU4TFhQVG5HQU9vOUI5dkFpdEZYYkhBRkxxTUxl?= =?utf-8?B?Yks3RWpsbHhDWWRTTDVsbUxlZjJ1QytYQ0lTTDZCMElsQ1g3YmhzN0NTUGcr?= =?utf-8?B?NWhBeS96YkxNeTk1c1B6akkzZm9oR3piZjdkUExXNGZTWWowSWo1V3NvYjVi?= =?utf-8?B?ODNGNlZQNU1zdm12eDlOZHhWZHlVQjF2THgycy9wSUo5VjE3a1BMbEQ5THdF?= =?utf-8?B?WWg4VTZ5d0NmK0t2YjFNaEJ2WFNHd1BMdUpUaDVDRWhpWTJZbWJPd1NHdmtY?= =?utf-8?B?d0hDaGNXYzB5OXo2d3lyb2d3V1g3R0VwQmwvdmxFSy92Z1VGV3FiTzltT0lU?= =?utf-8?B?S1EzdDMvRUliTUtGUjZXalErN1Z3WS9EM0pia3hrTEIzSlYzNGdXNkpPbHpD?= =?utf-8?B?RDl2ZmdpNmd1TkFOMHphY1ZRZzIyQjN6WlRuYlF5V3BkUWpOdHpoQTAxYURu?= =?utf-8?B?VzN2YzFTVHBYY1lyNFRsTE9VU0JEVzYwZkxXOXo3RHRQdHBnMytleDl3SnlJ?= =?utf-8?B?U0drNXk4MWxiRkhYREpGR1MvSWMrRmN4OG9UNjhJS3Qra25qakl1TzZUMURr?= =?utf-8?B?MWo4MXVndHh1Y1k5dHdIR1NpVzY1b0dmYXBKNjFycVpvSTZBSEo5UlY0d0Nt?= =?utf-8?B?d29mZ0N0TEtsb1ZVbjhIaVVyVmFBVGVPdm1PWkdpT0c2WWxuMjZ3M1VNUUVY?= =?utf-8?B?Y3o5NzdiakRTcUpIQzJ2TldwSmJ0VnJNT2JwWW40TlZjRjZ3VC9xdndSSVpJ?= =?utf-8?B?S0pESmxUVXBxbUFmbks1NlhULzFKdkVPd2NnVzlva0xUVFpSRHkrNkliQktn?= =?utf-8?B?K1I0REpPR1BTTVZwMEZaYWhZcnMrL1VRTDliQTVNNGNwOW9xMUtFRVdxaGs3?= =?utf-8?B?czcvbno0VEg1YTRVMHZCT1h6Tm9HZ2x4UURuQzdqWWpjRUF5Wmg3NjVaTzJV?= =?utf-8?B?NzllREZoMzZiTW9VUnc5MnhzN2xWR2dMK21BSUxkQnRITUN1c1V6Zk94N1ha?= =?utf-8?Q?UFn7ZXdg2cKqAlcUJQErxbQq8=3D?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?elNOUDRuR01DZE9CNUx5bEY1MWQvS3BWaUo3VjdJWHlWYk1vZ0lxMXhuQUgv?= =?utf-8?B?RGx0c0p1UlkyUjc0Nm1zL0xLQ3dkZjluTE0va21kanJudnNHMkxOVExNeUtw?= =?utf-8?B?bVFnOWRFaUtnM1FHdmNkaUNUTWNaNmRIU3NWUXBXQ1lDQ1JlNHVyanRCVnhm?= =?utf-8?B?eWxKYnZDTlUrQU9oYkVtcUkxMUhsRndxcjJxVXMyV2F5cllPR0hxK2l1ckNN?= =?utf-8?B?UjRSeTliWmV6c2dpb0ZsYkIzTkw0M0ZuaGt4eFczd1JOWXlkdmxZNEppaWlk?= =?utf-8?B?M2pRY0V3S1kxMDlIOTduN29ZTmtZWDhrOGVvNEdOdktaRVlyY0hsV2Zkd2tO?= =?utf-8?B?UmYzWnUrVmt0VzhyQldkU2JvRmN6MXI4eFRlNUl4ZHh1b01rNUZJT256SVFP?= =?utf-8?B?KzNmOURQZ3kvMUNlVHZ3T3A1K2RCM1owVFh1TVBUaG9SREJON2wwZmdaVGdN?= =?utf-8?B?TDVQTG0vd2IwbmNFUFRndDNuVTRiMTN3cnRpUzBSdVk5L3F4TDVSbHQ1SkFn?= =?utf-8?B?VmlGVi9MK2wzbzgrbDVnZTloSVh4U1VVUXVRQmpieTA1NFExMlZva053TWFn?= =?utf-8?B?TU5OUU93d0lBRFY0b09Ic2Zya243TkhwNXZpVHozM0s1VlUraXVFdHZlb3hN?= =?utf-8?B?aVBkTVpkUjZpMTRaZW9veExadElHMU9hMitBa3JIUmVDU0JPaGVaY2tZdjhZ?= =?utf-8?B?VzQzV2tlODlzelo4d2M3QjNpYWNzcmNxeVVsMjZMNml3eGJkQmRjSDUrdk5P?= =?utf-8?B?UW1OY0wzaFB0M0xIQktuVWcyNXlGaUx2SW53MkRJUWg1V0dGdFBkUlBpYkF5?= =?utf-8?B?Mk15bEZndkdOekk5RkFjTzVHMEVXQXV6WjBRbTlJUExsSFh2WWRsZXhXWWdK?= =?utf-8?B?SjZZYlBPbXMyNEUrd1EvTWtPWnJFTmppU1ZZZlBqNVR1UmVOa3R5aG40Y05B?= =?utf-8?B?UHQ0TlFZa0NrMk1rK1F4UmJjUGR6T3JlUFpXMnRrR2txL05TMjlIbTF5VVJC?= =?utf-8?B?MHBqN0U3SzFDZEFTTWI0clNuR2Z3dGxLRUVONHUwM3pSek55c0pPb0o5THkw?= =?utf-8?B?MzdrSVdmVkZ3QWdnLzE5K3RZNVdnRGErVEhtdDV5NStPOXk5dmRTS3N1ZTNk?= =?utf-8?B?UHRvTHhRblJrM3dJWnA2WWlxRFVRSjl3dHpwZFRmUU5SYUJLbVhoQWVoYjdt?= =?utf-8?B?ZHZ2VmpHNm9OaTFYUkNhZjR4UG5kRGZJMExLVHZBNVNjYTVHUklUemNqVHNv?= =?utf-8?B?VFR3Z0ZIK2pOa0RNU1hpdi9YVmYzN0RjUGc2S0dlUmFHeEh0SG5aVXoxWi96?= =?utf-8?B?cjdGTUFYTklwVnplQkU2RzQzTy9yckNsd01XNExFYXBncm9lb1BHVTZTdG50?= =?utf-8?B?RFpIM2UzdCtFQXdoOVlLaGQvQjZSMDY4STUxcnB3dmQ5NnROUmZtVGlLOG1w?= =?utf-8?B?TDJBMy9DVXJGcnB6cE1FZzU3b3ZHdDFvT0kzY2w4dWtUSVM1R1h0TkEwSy96?= =?utf-8?B?Q1BTQ3FJK1JXQktCK0UxSXJFSnZLZzlWbWFSTTFheFVNM1dnVnJlQlNYTVBm?= =?utf-8?B?Nk80YlZIUEwxc3p4NGE2VkVQczJ1a1owQ0pySlJFSndnbHUvenBoRkEwM01a?= =?utf-8?Q?i2nTMYRJzuOmRaLCcGCwP7VjxIfrUSriRx3DKGS++Uas=3D?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-92255.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: 2616c069-f4bc-4181-7382-08dd86a6fc23 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Apr 2025 22:49:50.9247 (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: BL3P223MB0130 Subject: Re: [FFmpeg-devel] [PATCH v7 02/13] fftools/textformat: Apply quality improvements X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org> List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe> List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel> List-Post: <mailto:ffmpeg-devel@ffmpeg.org> List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help> List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe> Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Cc: FFmpeg development discussions and patches <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" <ffmpeg-devel-bounces@ffmpeg.org> Archived-At: <https://master.gitmailbox.com/ffmpegdev/DM8P223MB03650B29910732C301D19B86BA812@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM/> List-Archive: <https://master.gitmailbox.com/ffmpegdev/> List-Post: <mailto:ffmpegdev@gitmailbox.com> DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogU3RlZmFubyBTYWJhdGlu aSA8c3RlZmFzYWJAZ21haWwuY29tPg0KPiBTZW50OiBNb250YWcsIDI4LiBBcHJpbCAyMDI1IDIz OjQ3DQo+IFRvOiBzb2Z0d29ya3ogLiA8c29mdHdvcmt6QGhvdG1haWwuY29tPg0KPiBDYzogRkZt cGVnIGRldmVsb3BtZW50IGRpc2N1c3Npb25zIGFuZCBwYXRjaGVzIDxmZm1wZWctZGV2ZWxAZmZt cGVnLm9yZz4NCj4gU3ViamVjdDogUmU6IFtGRm1wZWctZGV2ZWxdIFtQQVRDSCB2NyAwMi8xM10g ZmZ0b29scy90ZXh0Zm9ybWF0OiBBcHBseSBxdWFsaXR5DQo+IGltcHJvdmVtZW50cw0KPiANCj4g T24gZGF0ZSBNb25kYXkgMjAyNS0wNC0yOCAyMDo0MDozNyArMDAwMCwgc29mdHdvcmt6IC4gd3Jv dGU6DQo+IFsuLi5dDQo+ID4gPiA+ID4gPiAgICAgIC8qIHZhbGlkYXRlIHJlcGxhY2Ugc3RyaW5n ICovDQo+ID4gPiA+ID4gPiAgICAgIHsNCj4gPiA+ID4gPiA+IC0gICAgICAgIGNvbnN0IHVpbnQ4 X3QgKnAgPSB0Y3R4LT5zdHJpbmdfdmFsaWRhdGlvbl9yZXBsYWNlbWVudDsNCj4gPiA+ID4gPiA+ IC0gICAgICAgIGNvbnN0IHVpbnQ4X3QgKmVuZHAgPSBwICsgc3RybGVuKHApOw0KPiA+ID4gPiA+ ID4gKyAgICAgICAgY29uc3QgdWludDhfdCAqcCA9ICh1aW50OF90ICopdGN0eC0NCj4gPiA+ID5z dHJpbmdfdmFsaWRhdGlvbl9yZXBsYWNlbWVudDsNCj4gPiA+ID4gPiA+ICsgICAgICAgIGNvbnN0 IHVpbnQ4X3QgKmVuZHAgPSBwICsgc3RybGVuKChjb25zdCBjaGFyICopcCk7DQo+ID4gPiA+ID4g PiAgICAgICAgICB3aGlsZSAoKnApIHsNCj4gPiA+ID4gPiA+ICAgICAgICAgICAgICBjb25zdCB1 aW50OF90ICpwMCA9IHA7DQo+ID4gPiA+ID4gPiAgICAgICAgICAgICAgaW50MzJfdCBjb2RlOw0K PiA+ID4gPiA+ID4gICAgICAgICAgICAgIHJldCA9IGF2X3V0ZjhfZGVjb2RlKCZjb2RlLCAmcCwg ZW5kcCwgdGN0eC0NCj4gPiA+ID4gPiA+c3RyaW5nX3ZhbGlkYXRpb25fdXRmOF9mbGFncyk7DQo+ ID4gPiA+ID4gPiAgICAgICAgICAgICAgaWYgKHJldCA8IDApIHsNCj4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gICAgICAgICAgICAgICAgICBBVkJQcmludCBicDsNCj4gPiA+ID4gPiA+IC0gICAgICAg ICAgICAgICAgYXZfYnByaW50X2luaXQoJmJwLCAwLCBBVl9CUFJJTlRfU0laRV9BVVRPTUFUSUMp Ow0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICBhdl9icHJpbnRfaW5pdCgmYnAsIDAsIEFW X0JQUklOVF9TSVpFX1VOTElNSVRFRCk7DQo+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgIGJw cmludF9ieXRlcygmYnAsIHAwLCBwIC0gcDApLA0KPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAg ICAgICAgYXZfbG9nKHRjdHgsIEFWX0xPR19FUlJPUiwNCj4gPiA+ID4gPiA+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiSW52YWxpZCBVVEY4IHNlcXVlbmNlICVzIGZvdW5kIGluDQo+IHN0 cmluZw0KPiA+ID4gPiA+IHZhbGlkYXRpb24gcmVwbGFjZSAnJXMnXG4iLA0KPiA+ID4gPiA+ID4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJwLnN0ciwgdGN0eC0NCj4gPiA+ID5zdHJpbmdf dmFsaWRhdGlvbl9yZXBsYWNlbWVudCk7DQo+ID4gPiA+ID4gPiAtICAgICAgICAgICAgICAgIHJl dHVybiByZXQ7DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgIGF2X2JwcmludF9maW5hbGl6 ZSgmYnAsIE5VTEwpOw0KPiA+ID4gPiA+DQo+ID4gPg0KPiA+ID4gPiA+IEkgc2VlIG5vIGFkdmFu dGFnZSBpbiB0aGlzLCBzaW5jZSBpdCdzIGFkZGluZyBkeW5hbWljIGFsbG9jYXRpb24gYW5kDQo+ ID4gPiA+ID4gdGhlIG5lZWQgdG8gZnJlZSB3aGljaCB3YXMgcHJldmlvdXNseSBub3QgbmVlZGVk DQo+ID4gPiA+DQo+ID4gPiA+IFRoZSBkeW5hbWljIGFsbG9jYXRpb24gZG9lcyBub3QgaGFwcGVu IHVudGlsIHRoZSBidWZmZXIgY29udGVudCBzaXplDQo+ID4gPiA+IGRvZXMgbm90IGZpdCBhbnlt b3JlIGludG8gdGhlIHN0YWNrLWFsbG9jZWQgbWVtb3J5Lg0KPiA+ID4NCj4gPiA+IFllcywgYnV0 IGlzIHRoaXMgZXZlciBoYXBwZW5pbmc/DQo+ID4NCj4gDQo+ID4gQXJlIHdlIHN1cmUgdGhhdCBp dCdzIG5vdD8gQmVjYXVzZSB1bmxlc3Mgd2UgYXJlIDEwMCUgc3VyZSwgd2UgbmVlZA0KPiA+IHRv IGNoZWNrIHRoZSByZXR1cm4gdmFsdWUgYW5kIHdoZW4gdGhhdCBjaGVjayBpbmRpY2F0ZXMgYW4g b3ZlcmZsb3cNCj4gPiBvZiB0aGUgYnVmZmVyIC0gd2hhdCB0aGVuPyBIb3cgdG8gcmVtZWR5Pw0K PiA+DQo+ID4gVGhlIGNoZWNrIGZvciB0aGUgcmV0dXJuIHZhbHVlIGFsb25lIC0gZXZlbiB3aXRo b3V0IGFueSByZW1lZGlhdGlvbiAtDQo+ID4gaXMgbW9yZSBjb21wbGljYXRlZCBjb2RlIChtb3Jl IGxpbmVzKSB0aGFuIGEgc2luZ2xlIGxpbmUgd2l0aA0KPiA+IGF2X2JwcmludF9maW5hbGl6ZSgp Lg0KPiA+DQo+ID4gVGhhdCdzIG15IGdlbmVyYWwgcmF0aW9uYWxlIGJlaGluZCBmYXZvcmluZyBf VU5MSU1JVEVELg0KPiA+DQo+ID4gVGhlcmUgYXJlIG1vcmUgY2FzZXMgd2hlcmUgSSBoYXZlIHRo YXQsIGFuZCB3aGVyZSBpdCdzIHJlYWxseSByZWxldmFudA0KPiA+IGJ1dCBmb3IgdGhpcyBvbmUs IEknbGwganVzdCByZW1vdmUgdGhlIGNoYW5nZSwgaXQncyBub3Qgd29ydGggdGhlDQo+ID4gZGlz Y3Vzc2lvbi4NCj4gDQo+IFNvIEkgY2hlY2tlZCB0aGUgY29kZSwgYSB2YWxpZCBVVEY4IHNlcXVl bmNlIHNob3VsZCBiZSBubyBsb25nZXIgdGhhbg0KPiBzaXggYnl0ZXMsIGFuZCByZWFkaW5nIHRo ZSBpbXBsZW1lbnRhdGlvbiBvZiBhdl91dGY4X2RlY29kZSBJIGNvdWxkDQo+IG5vdCBxdWlja2x5 IGZpbmQgb3V0IHRoZSBtYXhpbXVtIHBvc3NpYmxlIHNpemUgb2YgYW4gaW52YWxpZCBzZXF1ZW5j ZSwNCj4gc28gSSBndWVzcyB5b3VyIGFyZ3VtZW50IGhhcyBhIHBvaW50IGluIGNhc2Ugb2YgY3Jh ZnRlZCBzZXF1ZW5jZXMgLQ0KPiBhbHRob3VnaCBwb3NzaWJseSB3ZSBtaWdodCBjb21wdXRlIHRo ZSBtYXhpbXVtIHNpemUgYW5kIGl0IG1pZ2h0IGJlDQo+IHNtYWxsIChhc3N1bWluZyB0aGVyZSBh cmUgbm8gbWlzdGFrZXMgaW4gdGhlIGltcGxlbWVudGF0aW9uIGFuZCBubw0KPiByZWdyZXNzaW9u cyBhcmUgaW50cm9kdWNlZCkuIEV2ZW4gaW4gdGhhdCBjYXNlLCB0aGUgd29yc3QgaXQgbWlnaHQN Cj4gaGFwcGVuIHdvdWxkIGJlIHRoYXQgdGhlIHNlcXVlbmNlIGlzIHRydW5jYXRlZCwgc28gdGhp cyBzaG91bGQgaGF2ZSBubw0KPiBzZWN1cml0eSBpbXBsaWNhdGlvbnMgYW55d2F5IC0gd2hpbGUg YWxsb2NhdGlvbiBtaWdodCBmYWlsIChpbiBjYXNlIG9mDQo+IGEgdmVyeSBsb29vbmcgY3JhZnRl ZCBzdHJpbmcpLCBsZWFkaW5nIGFnYWluIHRvIHRydW5jYXRpb24uDQoNClllYSwgdGhhdCBhbGln bnMgd2l0aCBteSB2aWV3LiBXaGVuIEkgYWRkZWQgdGhlIG1lcm1haWQgb3V0cHV0IEkgDQp3YXMg cmVhbGx5IGdsYWQgdG8gZmluZCBvdXQgdGhhdCBpdCBmaXRzIGZhaXJseSB3ZWxsIGludG8gdGhl IHNlY3Rpb25zDQpsb2dpYywgYnV0IHRoZSBkYXRhIHRoYXQgaXMgaW4gcGxheSBpcyBxdWl0ZSBk aWZmZXJlbnQgaW4gc29tZSBjYXNlcywNCmVzcGVjaWFsbHkgd2hlbiBpdCBjb21lcyB0byB0aGUg c2l6ZSBvZiBjZXJ0YWluIHN0cmluZ3MsIGFuZCByaWdodA0KYXdheSBJIHJhbiBpbnRvIGEgYnVn IGR1ZSB0byBhIHRydW5jYXRlZCBzdHJpbmcgZnJvbSBhbiBBVkJwcmludCB3aXRoIA0KU0laRV9B VVRPTUFUSUMuIFdoaWNoIGJyb3VnaHQgbWUgdG8gc2F5OiAiU3RvcCBtYWtpbmcgYXNzdW1wdGlv bnMiLg0KTWFraW5nIGFzc3VtcHRpb25zIGFib3V0IHBvdGVudGlhbCBtYXggc3RyaW5nIGxlbmd0 aHMgKGxpa2UgYnkgbG9va2luZw0KYXQgYWxsIGNhbGwgc2l0ZXMpIGlzIG5vdCBhIHJvYnVzdCBh cHByb2FjaC4gTm9ib2R5IGVsc2Uga25vd3Mgd2hpY2ggDQphc3N1bXB0aW9ucyB5b3Ugd2VyZSBt YWtpbmcsIG9yIGV2ZW4gbW9yZSB0eXBpY2FsOiBhdCBzb21lIHBvaW50IA0KeW91IG1pZ2h0IGV2 ZW4gZm9yZ2V0IGFib3V0IGl0IGFuZCBydW4gaW50byBpdCB5b3Vyc2VsZi4g8J+YgyANCg0KVGhl biBJIGxvb2tlZCB0aHJvdWdoIGFsbCBCUHJpbnRzIGFuZCB0aGVyZSB3YXNuJ3QgYSBzaW5nbGUg b25lIHdoZXJlDQpJIGNvdWxkIGhhdmUgc2FpZCBJJ20gMTAwJSBzdXJlIHRoYXQgaXQgd29uJ3Qg b3ZlcmZsb3cgKHN1Y2ggY2FzZXMNCmV4aXN0IG9mIGNvdXJzZSAtIGVsc2V3aGVyZSkuDQoNCkhh dmluZyBfVU5MSU1JVEVEIGV2ZXJ5d2hlcmUgKGluIHRoZSBBVlRleHRGb3JtYXQgc2NvcGUpIGFs c28gaGFzIA0KYWR2YW50YWdlcyBpbiBtYWludGVuYW5jZToNCg0KLSBJdCB3aWxsIGFsd2F5cyBq dXN0IHdvcmsNCi0gTm8gbmVlZCB0byBjaGVjayByZXR1cm4gdmFsdWVzIG9mIEJQcmludCBBUElz DQotIEV2ZXJ5IEJQcmludCBuZWVkcyBhIGZpbmFsaXplKCkgY2FsbCAtIGFsd2F5cywgd2l0aG91 dCBjb25kaXRpb24NCiAgdGhpcyBpcyBtdWNoIGVhc2llciB0byB3b3JrIHdpdGgsIGFuZCB0byBt YWludGFpbiAtIGxlc3MgZXJyb3ItcHJvbmUNCi0gVGhlIGZpbmFsaXplKCkgY2FsbCBpcyBnZW5l cmFsbHkgbmVnbGlnaWJsZSB1bmxlc3MgaXQncyBhIHZlcnkgDQogIHNwZWNpYWwgY2FzZQ0KDQpX aGF0IGlzIGV2ZW4gcmVtYWluaW5nIG9uIHRoZSBwcm8tc2lkZSBmb3IgX1NJWkVfQVVUT01BVElD Pw0KDQotIFlvdSBzYXZlIHRoZSBmaW5hbGl6ZSgpIGNhbGwNCg0KQW5kIHRoYXQncyBpdC4gTWln aHQgc29tZXRpbWVzIGJlIHJlbGV2YW50IG9yIG1vcmUgZWxlZ2FudCAtIHlldCANCm9mdGVuIG5v dC4NCg0KQXQgdGhlIG1vbWVudCwgYWxsIEJQcmludCBpbml0cyBhcmUgX1VOTElNSVRFRCBhbHJl YWR5IChpbiB0aGUgc2NvcGUNCm9mIHRoZXNlIEFQSXMpIGFuZCBpdCdzIGEgZ29vZCBhbmQgc2Fm ZSB0aGluZyBJTU8uDQoNCj4gVGhhdCBzYWlkLCBJJ20gbm90IGFnYWluc3QgdGhpcyBjaGFuZ2Ug YnV0IGl0IHNob3VsZCBiZSBtb3ZlZCB0byBhDQo+IGRlZGljYXRlZCBjaGFuZ2UuDQoNClJvZ2Vy IQ0KDQpUaGFua3MNCnN3DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3Jn Cmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5z dWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0 QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==