From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id E5E614D0A4 for ; Fri, 16 May 2025 00:59:45 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id D3B8368C49F; Fri, 16 May 2025 03:59:41 +0300 (EEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10olkn2020.outbound.protection.outlook.com [40.92.41.20]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 1E51268C246 for ; Fri, 16 May 2025 03:59:35 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bbu9R1pSYjqX+yTGjNbfaKacA75mXklLq6ygae0NFUt7tUy8WT8hR71MJUNDboLn+3lY0IoGG58wru9z7ihLvp2q08E92e1UhLhxl0X0MZakhAB/sKot8+cBFOGbZ+lG+THGQI8IBeect3hVDIG2yLmsqHHrT7Jyj2lIYlI/37yZZOtaRTxNbW9P+LfYd/cm68YyR7W6l457QECovn6WIPPRpdXGzIAZepH+o8aRAapdeegkLYD5K7brGQyPgGef1sa6BsRpgLro9JKHRPa2FqQt2ZONxgyQW7+v5ZHDcDAokSQRVWXu+lANg+K848XsPu3ouxx130BJEU8FmfBTLg== 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=nH77CS38RFpSgAfBMx8VtLGaPUY7zvOOKGeDzT/BI5s=; b=kY09/f+DuKxG5AKTXEfDZtSQpI46QHw11viZpWp8K4z3Qu3P+F0j1Y4KC2yx9NRuM6pGDpkCTCw9kX7UfBIz1bUmPw3q4yPisupuA9eEWOrts//kP0LK9iyYV50GBfgEKJuvKeQrUzLfjeSWmEN7KhkynCMtgEnDWd1WLAteyzKf8VVJMxF8jp0sWSFRv286bcOyIAWyALuMQWiSKwyRt/Gw7aLPGZvY76nST2aUzR8/6AGOSr8Ei5fKnEn8vJhYh/VlhdtNtEHF7ghf+93s+LLrnzuXDvUcy8xgcSZXCgfTtNUt4yWyeyKy74OTK86o3dd+3m2sbAqMDFbBit4Y6g== 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=nH77CS38RFpSgAfBMx8VtLGaPUY7zvOOKGeDzT/BI5s=; b=JNwVYbSnO1xdlpMNSmW2OeNfxaQ47zrQCDxx78nHsORVy23a+CPhrqHVlPLJBo7BAMXKpvpbtBrQie2G4+625bla8dJ+YEKheQqmSi2kgxP2D3vdj9qb8gFcIdzMlHVWHzIrWrRTdvZ/ZdxaPmLO3B262bRiCXlhR9K479fwKzFSaGwQmVyvW0wzJKJDy3H7Dh5NnBl7QBCHDnAouJ9hkrBtO4278K5wWHgKXZavTTgCMga5aZWwvpwcQVOAt6ZH1tX5NQj1XqPAnpHY6taBmoKGSAGQBDzwuRF8idqxMEvmqtpXjgf18Qxbx2RrgtVi+Erf1wQciLlQoXmnc+HkVA== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by BN0P223MB0037.NAMP223.PROD.OUTLOOK.COM (2603:10b6:408:147::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8722.33; Fri, 16 May 2025 00:59:31 +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.8722.031; Fri, 16 May 2025 00:59:31 +0000 From: "softworkz ." To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [FFmpeg-cvslog] fftools/graphprint: Now, make it a Killer-Feature! Thread-Index: AQHbxeNn507au67TyEiB1J2yca4eyLPUPT/ggAAiAoCAAAM/UIAABFqAgAAAbECAAAFakIAAAZWAgAABmwCAAAEP4A== Date: Fri, 16 May 2025 00:59:31 +0000 Message-ID: References: <20250515211148.6C91C4128B8@natalya.videolan.org> <7080a655-035e-e56f-a97c-5579edb2e760@passwd.hu> <8c7c8606-cae4-4e67-92e6-8f06fd91e480@gmail.com> In-Reply-To: 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_|BN0P223MB0037:EE_ x-ms-office365-filtering-correlation-id: 7160f6b9-f163-4de7-f9dc-08dd9414ea8a x-microsoft-antispam: BCL:0; ARA:14566002|41001999006|15080799009|8022599003|7092599006|8062599006|461199028|19110799006|8060799009|3412199025|440099028|12091999003|102099032; x-microsoft-antispam-message-info: =?utf-8?B?Uld5djcyZUxQbWg3UDBxVnFRaWV5MDBRM3hzZ0xqOFExUER1L2hjWkF0c0RL?= =?utf-8?B?U25YMnhBQXhYWkdBNVMyb3Z0VXE2c1FtMW8zdUxzTHhGZVpjQnBCd2YvT01q?= =?utf-8?B?bGtCeGN2WFg4ckZUUnRiRmtZNFY2S1lXbjZYSTRMUXMzSWtRSTUydjZrWklP?= =?utf-8?B?TzEzdmx2ZnAwUTBGWUtLZkg1NzJnTlY5WEN1b05qWHdvZGo4U1Y2ZXNTb1NE?= =?utf-8?B?NUJML3hvMVN5UTB5NGZDSm5JSWU0K3ZOTXRpSExHSlhoUVdJMmtkQkt2OFBv?= =?utf-8?B?cnBSdktDeVdGdnpXTE1zS1FzSHFlMC9rNFJMVS9yWkVaSjUvQkQxa1hkOVJM?= =?utf-8?B?eUQ4VXVKQVNOVlJjMnlBNXU4V0JRekpPdmM1SjFBSzZwLy83OXQ0b0k5Z2p5?= =?utf-8?B?UWZMckRSSXE4bXgzK2tnZXZZQWx3ejc5SDhVaDB2amozTzR4aWJveEgvVG5I?= =?utf-8?B?RURnakx3WnJkdzlCRDN6RXJqNHdWR05WbTU3akRmeWpnZ3JrZFRuMkJiZU94?= =?utf-8?B?QVhpdklwL2txQWhRem8rdG5xUjZ4R2x3cnE0SHhZcFRuV3JubW13clNlRHlk?= =?utf-8?B?L1c2WThnVzJrWmVSWlhtZmY4cnZvSmtjSHRZZ1VTUkI5OWRJVkF6TnZjQW55?= =?utf-8?B?OEoxZnFpbk5WUG1qVUt1NFBSQ1ZRS01ab3ZhTGs1TnRBTm9vME9sTGc1NXpi?= =?utf-8?B?ZUN6dHJxV2RXeTB1NHNtaUsrYjhtQzNMY0x2b2JXVkhQMmlKRGF6T0E4elBy?= =?utf-8?B?QVpTTzE0dFFVLzVFU3ZlR0xSY2plT1crVys1S2h2SEl2NmY3alpqa3VDakdl?= =?utf-8?B?OGhVa0lNcURMcTRGakVJRVExVXpqSWhuMk00dHJIcUFOUkFPTkFJM2FTTTJi?= =?utf-8?B?alU4U2V2RERGWXF2VGR0ZkIxU2tTdUNGK3R6NjVadTFNQitDdU1JZU8vQ0o2?= =?utf-8?B?bElVb3UwUkJuVEpQNThoVlEreXdEcE5tbVpjWFVJdkdpVEZmUzBiTitOMGxn?= =?utf-8?B?Y3MrM3hWQ09qa1hNdFpuK1RTV00zaWVhaXFkeDJldDNrUFRGbWRFeDhNTWRi?= =?utf-8?B?WnZjcndENW1HSUpibHhWQTlqc2tDT2paaVJTSlRCZE9HcVlUbkhKaXlOWXEz?= =?utf-8?B?RVQzZFI5MGc0RFo5VDdiOEFVeVN0cUFmRDE2NzNjbGRRS3ZRN0ZyQkpKMk5x?= =?utf-8?B?Vy9ZR0tlekRvb010WndmYkMvRy9KRHpHNWphTW1xVFlNdFdBalJxWHRkVFYz?= =?utf-8?B?cXJJSWZ1Z2EvOGtKZnJObmxNM25nU2plT1dsMU5XeS9ycHlwcGFoMUl3NjRB?= =?utf-8?B?L1UzUDNJNm55dmVuTWxBZXh1ZXh5SzNCbkZVUHcyQkQ4S3MxTUlueEt0WXNk?= =?utf-8?B?bk4rekFHbnVvRDA0QTlMUjNlQzBPMVhjQTU4Z1VvY0tJU3R5YklxSjA5UUtq?= =?utf-8?B?ZFlKcVVKKzQreThVbWZHcGtFWCtJZFBlL1AzRG11T29lTVp6WHdUNEVRV2N2?= =?utf-8?B?MnpsZFAyaE5BY0Y5VjJUeHJZUDZFbUZYS0NSR2paMnFxT1FlUXI0OElzbTFk?= =?utf-8?B?RHdCS1AvbXFYaUtLeFh1dm1lcXlhemFZeUlMTit2d1g5dHc2cW13UWJoWk9u?= =?utf-8?B?bkRwaWRoS2xCbnNJQWhNQzNMRlhWU2c9PQ==?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?a3VVR0VQeUpXM1A5UnZldWw0ODZrbDNGbmZnei8wQXNYNE00YUZCTkJCSnh3?= =?utf-8?B?R0pqTEpteXdVeE0rNUJmM3pBeDNueDhZSXJiUUUrZElHQVIvSDJmdEF1REpU?= =?utf-8?B?UWp5S1NOMTFVWko5SmJTZWtFOVY5OUFkeEU5UjFPWm4wVDJlRDVPWVFEVXVn?= =?utf-8?B?OC9MZ0FYR3BudUk2ak9yYkFzVTNsa2RWV0NHaWFpVG5ZSG5TY2RBYTlWVm1l?= =?utf-8?B?N1FaUG8xOXU5WnpXTW11SEQ0MnJ0MjNvdDZqVms3emtmZWNzc3ZtM2lreTk2?= =?utf-8?B?dld4NEluS3dlckwycEtUeUdHYVptYXJrQlk2YjI0RkVnL0c2aUVXMU1heEpZ?= =?utf-8?B?dUtRZ2N5eE9sRUMxenk1NmZnNXpLTnRXOTRSMS93TnJXVGxVaHdWZ2pWbGNE?= =?utf-8?B?YkMyL2JRVVJKSUVGU3VJQ3FSeFRtVmZVaUMzSzRCeUljakZ5cG5wc2hiRXpl?= =?utf-8?B?RzBrSGZ3K2ZkZ3JvQnpOWWtGRXpPQXZwMFNWYVpoK2hCK1oyUXJ2NWJ0b3BH?= =?utf-8?B?UHd1R2VTemJJR3FjTDNxaUhDNWhKWWp4cG9jZVlCekhUaGNMV2NERFZGK2Y2?= =?utf-8?B?SFk2K1pVZTM1S3pocVpZRHBUanhCbllJWmJxUlA1b3dkSWloOGFLQ0RCbEVU?= =?utf-8?B?c2NkTTByaVY1S3dGOGE1Rk1XT0orT3krakVmTlowODhMZVFNYi9ncklSamYz?= =?utf-8?B?REpQZWI1dDVYRVdUYTdIS0hYVnZwbUtzd1JGQzk0Yk5QcDR2bDVqUzVxelY3?= =?utf-8?B?RW9uQU9GcWdJUkxObzI1SzdoQkl4RHZrcjlpV3NsQzNCTW1PYVhlN3BvZXpq?= =?utf-8?B?ZDdRbm4rR0RRZXdEVGo1ZzBoMlRMMzhOK1RsaVo2QkpPN3RZY3FQVzA1OG91?= =?utf-8?B?bVp2bTM4V01QdHpKZkFpUUZTaXdlV0ZCcmo0UkcrMlNFdGxHTjZsMUJ3c0dm?= =?utf-8?B?YUlOVXVNdEVoNGVMWTdDMjFOWmUxK3kvcklZbHZuOFgzWFgxSmNJSkxwQ09k?= =?utf-8?B?VEtNNUFQSXZnL2J3UkZDNTJWdmdBN2E0aDZHQUZndTFXTng1Y1RFVXRYSm5s?= =?utf-8?B?R0VHRVl1ejIvU0xQVXJEa09QM3FFK1Q5N3RSK3hEWkk3b1JXOEJCSWNKdnY1?= =?utf-8?B?cVEvVzROSDNXTTBwWXkvTWM0eXpFY1VOdnExZzZBZG5PUSsxVTBXdFN1ZjM0?= =?utf-8?B?bW4rZE5MZHJXR1BMV2FjYUFQSUlpbVhjWDBQeVEzUjFqcnNLRjhmOVpvbU4v?= =?utf-8?B?RjM1OWFHZTdqZGRQQ053YnRINDF4aFRFbEhXNWd4RHBtMnFkSmFQZXVBRktj?= =?utf-8?B?c2hPbDJIMU1KM25KQjR2L3JJMFd5dzcrdG5HVUtRQTZUQndnOUVRV2ZZc0Qy?= =?utf-8?B?dWlYZXFseWFBMi80M0dNYVNJaFlPdDJGRUlmKzhHR2RoZWc2VGpTVC9ySjJh?= =?utf-8?B?RHZOeEpLbktvejBXMEVueTlsNkZPNk04NGhtc3VCRHdCSkRTcXg4UENRRWhk?= =?utf-8?B?bGxWY25GZXBFcjBqR2RuNExUV1E5Sm1QSm1kMmphbWR6dmpRN0lIRUNlUk82?= =?utf-8?B?dUV4OURBU3phNm1IdEo3bGN6NHZyQm9hMjhTRTNZb2tmczdWdlVLRmxoYWxQ?= =?utf-8?Q?0SqLCmtQSePvzHdyY8bZW0y0KXbNNGt6JASk2RwdT7Ac=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: 7160f6b9-f163-4de7-f9dc-08dd9414ea8a X-MS-Exchange-CrossTenant-originalarrivaltime: 16 May 2025 00:59:31.1532 (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: BN0P223MB0037 Subject: Re: [FFmpeg-devel] [FFmpeg-cvslog] fftools/graphprint: Now, make it a Killer-Feature! 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 Zm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYgT2YgTHlubmUNCj4gU2Vu dDogRnJlaXRhZywgMTYuIE1haSAyMDI1IDAyOjQ1DQo+IFRvOiBmZm1wZWctZGV2ZWxAZmZtcGVn Lm9yZw0KPiBTdWJqZWN0OiBSZTogW0ZGbXBlZy1kZXZlbF0gW0ZGbXBlZy1jdnNsb2ddIGZmdG9v bHMvZ3JhcGhwcmludDogTm93LCBtYWtlIGl0IGENCj4gS2lsbGVyLUZlYXR1cmUhDQo+IA0KPiBP biAxNi8wNS8yMDI1IDAyOjM5LCBKYW1lcyBBbG1lciB3cm90ZToNCj4gPiBPbiA1LzE1LzIwMjUg OTozNiBQTSwgc29mdHdvcmt6IC4gd3JvdGU6DQo+ID4+DQo+ID4+DQo+ID4+PiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4gRnJvbTogZmZtcGVnLWRldmVsIDxmZm1wZWctZGV2ZWwt Ym91bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYgT2YNCj4gPj4+IHNvZnR3b3JreiAuDQo+ID4+ PiBTZW50OiBGcmVpdGFnLCAxNi4gTWFpIDIwMjUgMDI6MzMNCj4gPj4+IFRvOiBGRm1wZWcgZGV2 ZWxvcG1lbnQgZGlzY3Vzc2lvbnMgYW5kIHBhdGNoZXMgPGZmbXBlZy1kZXZlbEBmZm1wZWcub3Jn Pg0KPiA+Pj4gU3ViamVjdDogUmU6IFtGRm1wZWctZGV2ZWxdIFtGRm1wZWctY3ZzbG9nXSBmZnRv b2xzL2dyYXBocHJpbnQ6IE5vdywNCj4gPj4+IG1ha2UgaXQgYQ0KPiA+Pj4gS2lsbGVyLUZlYXR1 cmUhDQo+ID4+Pg0KPiA+Pj4NCj4gPj4+DQo+ID4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPj4+PiBGcm9tOiBmZm1wZWctZGV2ZWwgPGZmbXBlZy1kZXZlbC1ib3VuY2VzQGZmbXBl Zy5vcmc+IE9uIEJlaGFsZiBPZiBKYW1lcw0KPiA+Pj4gQWxtZXINCj4gPj4+PiBTZW50OiBGcmVp dGFnLCAxNi4gTWFpIDIwMjUgMDI6MjgNCj4gPj4+PiBUbzogZmZtcGVnLWRldmVsQGZmbXBlZy5v cmcNCj4gPj4+PiBTdWJqZWN0OiBSZTogW0ZGbXBlZy1kZXZlbF0gW0ZGbXBlZy1jdnNsb2ddIGZm dG9vbHMvZ3JhcGhwcmludDogTm93LA0KPiA+Pj4+IG1ha2UgaXQNCj4gPj4+IGENCj4gPj4+PiBL aWxsZXItRmVhdHVyZSENCj4gPj4+Pg0KPiA+Pj4+IE9uIDUvMTUvMjAyNSA5OjE3IFBNLCBzb2Z0 d29ya3ogLiB3cm90ZToNCj4gPj4+Pj4NCj4gPj4+Pj4NCj4gPj4+Pj4+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+ID4+Pj4+PiBGcm9tOiBmZm1wZWctZGV2ZWwgPGZmbXBlZy1kZXZlbC1i b3VuY2VzQGZmbXBlZy5vcmc+IE9uIEJlaGFsZiBPZg0KPiA+Pj4+Pj4gTWFydG9uDQo+ID4+Pj4+ PiBCYWxpbnQNCj4gPj4+Pj4+IFNlbnQ6IEZyZWl0YWcsIDE2LiBNYWkgMjAyNSAwMjowMA0KPiA+ Pj4+Pj4gVG86IEZGbXBlZyBkZXZlbG9wbWVudCBkaXNjdXNzaW9ucyBhbmQgcGF0Y2hlcyA8ZmZt cGVnLQ0KPiA+Pj4+Pj4gZGV2ZWxAZmZtcGVnLm9yZz4NCj4gPj4+Pj4+IFN1YmplY3Q6IFJlOiBb RkZtcGVnLWRldmVsXSBbRkZtcGVnLWN2c2xvZ10gZmZ0b29scy9ncmFwaHByaW50Og0KPiA+Pj4+ Pj4gTm93LCBtYWtlDQo+ID4+Pj4gaXQgYQ0KPiA+Pj4+Pj4gS2lsbGVyLUZlYXR1cmUhDQo+ID4+ Pj4+Pg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBPbiBUaHUsIDE1IE1heSAyMDI1LCBz b2Z0d29ya3ogLiB3cm90ZToNCj4gPj4+Pj4+DQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+Pg0KPiA+Pj4+ Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+Pj4+PiBGcm9tOiBmZm1wZWct ZGV2ZWwgPGZmbXBlZy1kZXZlbC1ib3VuY2VzQGZmbXBlZy5vcmc+IE9uIEJlaGFsZiBPZg0KPiA+ Pj4gUmFtaXJvDQo+ID4+Pj4+PiBQb2xsYQ0KPiA+Pj4+Pj4+PiBTZW50OiBEb25uZXJzdGFnLCAx NS4gTWFpIDIwMjUgMjM6NTANCj4gPj4+Pj4+Pj4gVG86IGZmbXBlZy1kZXZlbEBmZm1wZWcub3Jn DQo+ID4+Pj4+Pj4+IFN1YmplY3Q6IFJlOiBbRkZtcGVnLWRldmVsXSBbRkZtcGVnLWN2c2xvZ10g ZmZ0b29scy9ncmFwaHByaW50Og0KPiA+Pj4+Pj4+PiBOb3csDQo+ID4+PiBtYWtlDQo+ID4+Pj4+ PiBpdCBhDQo+ID4+Pj4+Pj4+IEtpbGxlci1GZWF0dXJlIQ0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+ PiBIaSwNCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4gT24gVGh1LCBNYXkgMTUsIDIwMjUgYXQgMTE6 MTHigK9QTSBzb2Z0d29ya3ogPGdpdEB2aWRlb2xhbi5vcmc+DQo+ID4+Pj4+Pj4+IHdyb3RlOg0K PiA+Pj4+Pj4+PiBbLi4uXQ0KPiA+Pj4+Pj4+Pj4gZGlmZiAtLWdpdCBhL2ZmdG9vbHMvZ3JhcGgv ZmlsZWxhdW5jaGVyLmMNCj4gPj4+IGIvZmZ0b29scy9ncmFwaC9maWxlbGF1bmNoZXIuYw0KPiA+ Pj4+Pj4+Pj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPj4+Pj4+Pj4+IGluZGV4IDAwMDAwMDAw MDAuLjQ1NTE0Y2E1OTkNCj4gPj4+Pj4+Pj4+IC0tLSAvZGV2L251bGwNCj4gPj4+Pj4+Pj4+ICsr KyBiL2ZmdG9vbHMvZ3JhcGgvZmlsZWxhdW5jaGVyLmMNCj4gPj4+Pj4+Pj4gWy4uLl0NCj4gPj4+ Pj4+Pj4+ICtpbnQgZmZfb3Blbl9odG1sX2luX2Jyb3dzZXIoY29uc3QgY2hhciAqaHRtbF9wYXRo KQ0KPiA+Pj4+Pj4+Pj4gK3sNCj4gPj4+Pj4+Pj4+ICvCoMKgwqAgaWYgKCFodG1sX3BhdGggfHwg ISpodG1sX3BhdGgpDQo+ID4+Pj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC0xOw0KPiA+ Pj4+Pj4+Pj4gKw0KPiA+Pj4+Pj4+Pj4gKyNpZiBkZWZpbmVkKF9XSU4zMikNCj4gPj4+Pj4+Pj4+ ICsNCj4gPj4+Pj4+Pj4+ICvCoMKgwqAgLy8gLS0tIFdpbmRvd3MgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQo+ID4+Pj4+Pj4+PiArwqDCoMKgIHsNCj4gPj4+Pj4+Pj4+ICvCoMKg wqDCoMKgwqDCoCBISU5TVEFOQ0UgcmMgPSBTaGVsbEV4ZWN1dGVBKE5VTEwsICJvcGVuIiwgaHRt bF9wYXRoLA0KPiA+Pj4+Pj4+Pj4gTlVMTCwNCj4gPj4+PiBOVUxMLA0KPiA+Pj4+Pj4+PiBTV19T SE9XTk9STUFMKTsNCj4gPj4+Pj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAoKFVJTlRfUFRSKXJj IDw9IDMyKSB7DQo+ID4+Pj4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvLyBGYWxsYmFj azogc3lzdGVtKCJzdGFydCAuLi4iKQ0KPiA+Pj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqAgY2hhciBjbWRbMTAyNF07DQo+ID4+Pj4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBf c25wcmludGZfcyhjbWQsIHNpemVvZihjbWQpLCBfVFJVTkNBVEUsICJzdGFydCBcIlwiDQo+ID4+ Pj4gXCIlc1wiIiwNCj4gPj4+Pj4+Pj4gaHRtbF9wYXRoKTsNCj4gPj4+Pj4+Pj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGlmIChzeXN0ZW0oY21kKSAhPSAwKQ0KPiA+Pj4+Pj4+Pj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gLTE7DQo+ID4+Pj4+Pj4+PiArwqDCoMKg wqDCoMKgwqAgfQ0KPiA+Pj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiAwOw0KPiA+Pj4+ Pj4+Pj4gK8KgwqDCoCB9DQo+ID4+Pj4+Pj4+PiArDQo+ID4+Pj4+Pj4+PiArI2VsaWYgZGVmaW5l ZChfX0FQUExFX18pDQo+ID4+Pj4+Pj4+PiArDQo+ID4+Pj4+Pj4+PiArwqDCoMKgIC8vIC0tLSBt YWNPUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+Pj4+Pj4+Pj4gK8Kg wqDCoCB7DQo+ID4+Pj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgLy8gIm9wZW4iIGlzIHRoZSBtYWNP UyBjb21tYW5kIHRvIG9wZW4gYSBmaWxlL1VSTCB3aXRoDQo+ID4+Pj4+Pj4+PiB0aGUNCj4gPj4+ Pj4+IGRlZmF1bHQNCj4gPj4+Pj4+Pj4gYXBwbGljYXRpb24NCj4gPj4+Pj4+Pj4+ICvCoMKgwqDC oMKgwqDCoCBjaGFyIGNtZFsxMDI0XTsNCj4gPj4+Pj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBzbnBy aW50ZihjbWQsIHNpemVvZihjbWQpLCAib3BlbiAnJXMnIDE+L2Rldi9udWxsIDI+JjENCj4gPj4+ Pj4+Pj4+ICYiLA0KPiA+Pj4+Pj4+PiBodG1sX3BhdGgpOw0KPiA+Pj4+Pj4+Pj4gK8KgwqDCoMKg wqDCoMKgIGlmIChzeXN0ZW0oY21kKSAhPSAwKQ0KPiA+Pj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqAgcmV0dXJuIC0xOw0KPiA+Pj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiAw Ow0KPiA+Pj4+Pj4+Pj4gK8KgwqDCoCB9DQo+ID4+Pj4+Pj4+PiArDQo+ID4+Pj4+Pj4+PiArI2Vs c2UNCj4gPj4+Pj4+Pj4+ICsNCj4gPj4+Pj4+Pj4+ICvCoMKgwqAgLy8gLS0tIExpbnV4IC8gVW5p eC1saWtlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4+Pj4+Pj4+PiArwqDCoMKgIC8vIFdl J2xsIHRyeSB4ZGctb3BlbiwgdGhlbiBnbm9tZS1vcGVuLCB0aGVuIGtmbWNsaWVudA0KPiA+Pj4+ Pj4+Pj4gK8KgwqDCoCB7DQo+ID4+Pj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgLy8gSGVscGVyIG1h Y3JvIHRvIHRyeSBvbmUgYnJvd3NlciBjb21tYW5kDQo+ID4+Pj4+Pj4+PiArwqDCoMKgwqDCoMKg wqAgLy8gUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIC0xIG9uIGZhaWx1cmUNCj4gPj4+Pj4+Pj4+ICvC oMKgwqDCoMKgwqDCoCAjZGVmaW5lIFRSWV9DTUQocHJvZykgZG8gew0KPiA+Pj4gXA0KPiA+Pj4+ Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY2hhciBidWZbMTAyNF07DQo+ID4+PiBcDQo+ ID4+Pj4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzbnByaW50ZihidWYsIHNpemVvZihi dWYpLCAiJXMgJyVzJyAxPi9kZXYvbnVsbA0KPiA+Pj4+Pj4+Pj4gMj4mMSAmIiwNCj4gPj4+IFwN Cj4gPj4+Pj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChw cm9nKSwgaHRtbF9wYXRoKTsNCj4gPj4+IFwNCj4gPj4+Pj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIGludCByZXQgPSBzeXN0ZW0oYnVmKTsNCj4gPj4+IFwNCj4gPj4+Pj4+Pj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIC8qIE9uIFVuaXg6IHN5c3RlbSgpIHJldHVybnMgLTEgaWYgdGhl IHNoZWxsIGNhbid0DQo+ID4+Pj4+Pj4+PiBydW4uDQo+ID4+PiAqL1wNCj4gPj4+Pj4+Pj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8qIE90aGVyd2lzZSwgY2hlY2sgZXhpdCBjb2RlIGluIGxv d2VyIDggYml0cy4NCj4gPj4+PiAqL1wNCj4gPj4+Pj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGlmIChyZXQgIT0gLTEgJiYgV0lGRVhJVEVEKHJldCkgJiYNCj4gPj4+Pj4+Pj4+IFdFWElU U1RBVFVTKHJldCkgPT0gMCkNCj4gPj4+IFwNCj4gPj4+Pj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgcmV0dXJuIDA7DQo+ID4+PiBcDQo+ID4+Pj4+Pj4+PiArwqDCoMKgwqDC oMKgwqAgfSB3aGlsZSAoMCkNCj4gPj4+Pj4+Pj4+ICsNCj4gPj4+Pj4+Pj4+ICvCoMKgwqDCoMKg wqDCoCBUUllfQ01EKCJ4ZGctb3BlbiIpOw0KPiA+Pj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIFRS WV9DTUQoImdub21lLW9wZW4iKTsNCj4gPj4+Pj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBUUllfQ01E KCJrZm1jbGllbnQgZXhlYyIpOw0KPiA+Pj4+Pj4+Pj4gKw0KPiA+Pj4+Pj4+Pj4gK8KgwqDCoMKg wqDCoMKgIGZwcmludGYoc3RkZXJyLCAiQ291bGQgbm90IG9wZW4gJyVzJyBpbiBhIGJyb3dzZXIu XG4iLA0KPiA+Pj4+Pj4gaHRtbF9wYXRoKTsNCj4gPj4+Pj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBy ZXR1cm4gLTE7DQo+ID4+Pj4+Pj4+PiArwqDCoMKgIH0NCj4gPj4+Pj4+Pj4+ICsNCj4gPj4+Pj4+ Pj4+ICsjZW5kaWYNCj4gPj4+Pj4+Pj4+ICt9DQo+ID4+Pj4+Pj4+IFsuLi5dDQo+ID4+Pj4+Pj4+ DQo+ID4+Pj4+Pj4+IFNvcnJ5IEkgZGlkbid0IGhhdmUgYSBjbG9zZXIgbG9vayBhdCB0aGUgcGF0 Y2hzZXQgd2hpbGUgaXQgd2FzDQo+ID4+Pj4+Pj4+IHVuZGVyDQo+ID4+Pj4+Pj4+IHJldmlldywg YnV0IHN5c3RlbShjbWQpIGlzIGEgYmlnIG5vLW5vLiBXZSBjb3VsZCBjcmVhdGUgYSBmaWxlDQo+ ID4+Pj4+Pj4+IHdpdGggYW4NCj4gPj4+Pj4+Pj4gZXhwbGljaXQgcGF0aCBwYXNzZWQgYnkgdGhl IHVzZXIsIGJ1dCB0aGVuIGl0J3MgdXAgdG8gdGhlIHVzZXINCj4gPj4+Pj4+Pj4gdG8gb3Blbg0K PiA+Pj4+Pj4+PiBpdC4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IFdoYXQncyBiYWQgYWJvdXQgb3Bl bmluZyBhIGZpbGUgaW4gdGhlIGJyb3dzZXIgd2hlbiB0aGF0J3MgdGhlDQo+ID4+PiBkb2N1bWVu dGVkDQo+ID4+Pj4+Pj4gYmVoYXZpb3Igb2YgdGhlIGNsaSBwYXJhbWV0ZXI/DQo+ID4+Pj4+Pg0K PiA+Pj4+Pj4gQmVjYXVzZSBmZm1wZWcgaXMgbm90IGEgYnJvd3NlciBvcGVuZXIgdG9vbCwgYnV0 IGEgdHJhbnNjb2RpbmcNCj4gPj4+Pj4+IHRvb2wuIEFuDQo+ID4+Pj4+PiBhcmd1bWVudCBjYW4g YmUgbWFkZSBmb3IgZXZlcnkgZmVhdHVyZSB5b3UgY2FuIHRoaW5rIG9mIChXaHkgbm90DQo+ID4+ Pj4+PiBhZGQgYW4NCj4gPj4+Pj4+IG9wdGlvbiB3aGljaCBzaHV0cyBkb3duIGEgY29tcHV0ZXIg d2hlbiB0aGUgdHJhbnNjb2RpbmcgaXMgZG9uZT8NCj4gPj4+Pj4+IFdoeSBub3QNCj4gPj4+Pj4+ IGFkZCBhIHBsYXlhYmxlIERPT00gaW1wbGVtZW50YXRpb24gc28gdGhlIHVzZXIgd2lsbCBub3Qg YmUgYm9yZWQgd2hlbg0KPiA+Pj4+Pj4gd2FpdGluZyBmb3IgdGhlIHRyYW5zY29kZSB0byBmaW5p c2gpLg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IExldCdzIGp1c3QgcmV2ZXJ0IHRoaXMuIFRoZSBtYW55 IGZmbXBlZyBjbGkgZnJvbnRlbmRzIGNhbiBvcGVuDQo+ID4+Pj4+PiBicm93c2Vycw0KPiA+Pj4g aWYNCj4gPj4+Pj4+IHRoZXkgd2FudC4NCj4gPj4+Pj4NCj4gPj4+Pj4gTWFueSBnb29kIGFyZ3Vt ZW50cyBjYW4gYmUgZm91bmQgZm9yIGJvdGggc2lkZXMuDQo+ID4+Pj4NCj4gPj4+PiBXZSBkb24n dCBsYXVuY2ggZXh0ZXJuYWwgYXBwbGljYXRpb25zIGZyb20gdGhlIENMSSwgZXZlciwgdW5kZXIg bm8NCj4gPj4+PiBjaXJjdW1zdGFuY2VzLiBUaGlzIGlzIG5vdCBhbiBleGNlcHRpb24uDQo+ID4+ Pj4NCj4gPj4+Pj4NCj4gPj4+Pj4+IEJlY2F1c2UgZmZtcGVnIGlzIG5vdCBhIGJyb3dzZXIgb3Bl bmVyIHRvb2wNCj4gPj4+Pj4NCj4gPj4+Pj4gQnkgYWxsIHJlc3BlY3QsIHRoaXMgaXNuJ3Qgb25l Lg0KPiA+Pj4+Pg0KPiA+Pj4+Pg0KPiA+Pj4+PiBBbnl3YXksIEkgd2lsbCBsZXQgdGhlIFRDIGRl Y2lkZSBhYm91dCB0aGlzLCB0aGVuLg0KPiA+Pj4+DQo+ID4+Pj4gTm8sIHRoZXJlJ3Mgbm8gbmVl ZCB0byBpbnZvbHZlIHRoZSBUQyB3aGVuIGV2ZXJ5b25lIGlzIHRlbGxpbmcgeW91IHRoYXQNCj4g Pj4+PiBzb21ldGhpbmcgaXMgd3JvbmcuDQo+ID4+Pg0KPiA+Pj4gSSB0aGluayB0aGlzIGlzIGV4 YWN0bHkgdGhlIGtpbmQgb2YgY2FzZSB3aGljaCB0aGUgVEMgaGFzIGJlZW4gaW5zdGFsbGVkDQo+ ID4+PiBmb3IgdG8gaGFuZGxlLg0KPiA+Pg0KPiA+PiBUbyBjbGFyaWZ5OiBJJ20gbm90IHNlZWtp bmcgYSB5ZXMvbm8gZGVjaXNpb24gYnV0IHJhdGhlciB0aGUgcXVlc3Rpb24gb2YNCj4gPj4gIkhv dyBpdCBjYW4gYmUgc2FmZWx5IGRlbGl2ZXJlZCB3aGlsZSBzdGlsbCBiZWluZyBjb252ZW5pZW50 Ii4NCj4gPg0KPiA+IFdlIGRvbid0IGxhdW5jaCBhIGRhbW4gdmlkZW8gcGxheWVyIHdoZW4gdHJh bnNjb2RpbmcgZmluaXNoZXMuIFRoZXJlJ3MNCj4gPiBubyByZWFzb24gdG8gbGF1bmNoIGEgYnJv d3NlciB0byBkaXNwbGF5IHNvbWUgZ2VuZXJhdGVkIHdlYnBhZ2Ugd2l0aCBhDQo+ID4gZ3JhcGgg anVzdCBsaWtlIHRoZXJlJ3Mgbm8gcmVhc29uIHRvIGRvIGl0IGZvciBhbnkgb3RoZXIga2luZCBv ZiBvdXRwdXQuDQo+ID4NCj4gPiBQcmludCB0aGUgbmFtZSBvZiB0aGUgaHRtbCwgd2l0aCBhIHBh dGggaWYgb25lIHdhcyBnaXZlbiwgYW5kIHRoYXQncw0KPiA+IGVub3VnaC4NCj4gDQo+IEV4YWN0 bHkuIFdlIG5ldmVyIG9wZW4gZXh0ZXJuYWwgYXBwbGljYXRpb25zDQoNCkFsbW9zdCBldmVyeSBu ZXcgZmVhdHVyZSBhZGRzIHNvbWUgYmVoYXZpb3IgdGhhdCBoYXMgbmV2ZXIgYmVlbiB0aGVyZQ0K YmVmb3JlLiBJJ20gdG90YWxseSBvcGVuIGZvciBkb2luZyBpdCBpbiBhIGRpZmZlcmVudCBvciBp biBhIG1vcmUgInNhZmUiDQp3YXkuIA0KQWxzbyAtIHRvIGJlIHByZWNpc2UsIGl0IGRvZXNuJ3Qg bGF1bmNoIGEgYnJvd3NlciBkaXJlY3RseSwgYnV0IHRoZSANCmFzc29jaWF0ZWQgYXBwbGljYXRp b24gZm9yIC5odG1sIGZpbGVzIChpZiBhbnkpLg0KDQpJIGJlbGlldmUgdGhhdCBpdCBzaG91bGQg cG9zc2libGUgdG8gZmluZCBhIHdheSB0aGF0IGlzIGFjY2VwdGFibGUgZm9yIA0KdGhlIG1ham9y aXR5IHdoaWxlIHN0aWxsIGJlaW5nIGNvbnZlbmllbnQuDQoNCk1heWJlIHNvbWV0aGluZyBsaWtl IG9uIGZpcnN0IHVzZSBvZiAiLXNnIiwgaXQgb3V0cHV0cyBhIHNjcmlwdCBhcyANCnRleHQgdGhh dCB0aGUgdXNlciBuZWVkcyB0byBzYXZlIG9yIHNldHVwIGluIHNvbWUgd2F5IGluIG9yZGVyIHRv IGdldCANCmF1dG8tbGF1bmNoLg0KDQpPciBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0aGF0IG5l ZWRzIHRvIGJlIHNldCB0byBlbmFibGVkIGl0Lg0KDQpSZWdhcmRzDQpzdw0KDQoNCg0KDQoNCg0K X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRl dmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5v cmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBs aW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGgg c3ViamVjdCAidW5zdWJzY3JpYmUiLgo=