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 78BE44AB8F for ; Tue, 20 May 2025 19:46:15 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id ED4D568DBAB; Tue, 20 May 2025 22:46:11 +0300 (EEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11olkn2011.outbound.protection.outlook.com [40.92.19.11]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id C91D068DB94 for ; Tue, 20 May 2025 22:46:05 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yhFEtA3oX7KSdEnkzv5R4ExDLn07AvDxMVB8W/VIeQI5uBZaObdgTiQ4c4E/gtmKyXQN9qnkvGdh1+yunWn+xDcZ9MMP36+Lmsue6MgP1TvhHMYzKu3ynIIm06kBsOj5bSAjmAJmm5zZZ/5PTPf1ciGFuoLiY/UsACrArCQGjLjDQnSbVviig9YGiRtrRO/oFPM24KIo6EqB2rb/0WoIR7CilHRYV2gojNelsQcNjdvKogt44MNu5Pmwd4+nOYBFLk4XVxdj7OMFGtCWXLndk4PEXVjOnG0iyx6l6/nMk2y70uwcz6NRlqb+umYE5SMjm1NZYHV14tE7Z8bK8pd0dg== 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=f6EFlrkn3dPCG+ADV6je1gBOAPob6vyZ3gj3/hk6Fvg=; b=VfyjKYMcDPwXWSRett7f++eIvHlT5pJ7Jcm7Yx0TIQRT/XIUnKSfUD7S+HeZyBOrZGF24R09JAjzntKY9kf66J9eko8YgKutGNYtj5qr4Y+pLT5TlriBmm53a3Xt1MOarbhu2yH84M5TMAN/anc1BSsYNapBklrZblx2luUh5rhlRR9/xQZ7wtpkGlvbZqzX4loZImZ55r4u28HNmrUsin7JWBkqBERi899yI3960gRp8VSlcBhcpVgMy8xcR+as/LLi1DVZiH/qaLe246DYX8gdaqKFzTa3Shb8dVlkD92BHwnfTiW3TPyz/jORug5P/qOFYdg/5XgW8EcyLJsarw== 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=f6EFlrkn3dPCG+ADV6je1gBOAPob6vyZ3gj3/hk6Fvg=; b=lwBH7/HenpNB8UuCNkx95TCOiXaKcnntS45IW2wFAwF5S6S/aNUqVfo/ZPDrbFCxxVlFksiZV8fL2pVGR1ww/W8N9xXbKUNuj4mD1ohLL3l83m6g3CXqbsCS5bmySP1EAnxJsHT9HL78GVud6bgMTbmkavAzqN6xMb4+xGxtM1izABNPefvzgDm5jdS/W1anKmbo05HnltQGuzRmTfMtsMHYqIe45avSvetCpu6MM7zNB4BRO8izwx00y5BdTLe2FgKwWOGJmj11Ye8r3B5/aRhRJMWzHmuBFxDSLxWUnTzWz4FO/kyRcyHnCX4GemEr98SwFw2ImLc5/qoSX47Hig== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by BN0P223MB0152.NAMP223.PROD.OUTLOOK.COM (2603:10b6:408:147::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.19; Tue, 20 May 2025 19:46:02 +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.8769.019; Tue, 20 May 2025 19:46:02 +0000 From: "softworkz ." To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH v2] ffbuild/commonmak: Fix rebuild check with implicit rule chains Thread-Index: AQHbx75f5dSnOKwWWU6IuO3vqGTFQbPb7V4AgAAA6RA= Date: Tue, 20 May 2025 19:46:02 +0000 Message-ID: References: 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_|BN0P223MB0152:EE_ x-ms-office365-filtering-correlation-id: 46eed899-fda0-4f00-71c1-08dd97d6f3bf x-microsoft-antispam: BCL:0; ARA:14566002|461199028|8062599006|8060799009|7092599006|15080799009|19110799006|56899033|102099032|34005399003|3412199025|440099028|10035399007; x-microsoft-antispam-message-info: =?utf-8?B?eFAxdFh3TlZ1Yk5ROStja25RazZRVXNPdFhXOXBMaWhndDdkR0tsUEhJNXB3?= =?utf-8?B?VTZlMHMzcTg3SExLTEIrZ1hLbm44WGRnR3V0MFpZOTBGbUpsY1BOQXR0RklH?= =?utf-8?B?eFNsdEdTbEZsU2dWZmJPeEVaVzRFbnlTYUFWQlVuU1pvdU5IT1JGakRuM2ZI?= =?utf-8?B?KzNERFh1eGIrcjNORWNzNVZEM1dmSjdiNy9rMVV3Y0gvTk1VL0FrSFhTVkEy?= =?utf-8?B?andaY3BJdVZMTFdqaVcyTVl3Ti8vQTdDNFIzK1ljOEFKd29pZGcxSEd3Ujhw?= =?utf-8?B?a1BWMGszZ1IxRFZxcSs3Z0NiMWxtdk5vampQdm0wMkFhS0YrWnBoWEZWSTkr?= =?utf-8?B?SzRpemYzNWVMYU4zQlN6RDZJZ0xCQy95OTJlZmRTTm1Gc1NBVE1XeEFzRGRa?= =?utf-8?B?TVFoOHpEdzJWdEFWaGZtSldITWl2cjVYeTR4azBXK0JMUS8yb29YTWppL0FR?= =?utf-8?B?bmQ0d0dQYmRFRjBhWjh6WFhXdWtlaDRVSzdEdDIxaTE2S2xuMXp0ZjFWOVMx?= =?utf-8?B?QnNXTHNuRmh2bjFSNzN0Zk1yTVFLa3Y4MWNxbzRZYlZGV1QvL2QzbnRwUVF5?= =?utf-8?B?Sm5JcTlOd1h5S3BpK3Y4ZHlXY2Y4SXB2cW1HQmZuQ2d5ZXFsZmJsVHhwRy9L?= =?utf-8?B?ZXhBc1JJVnEyUG01dmUvZTZZMEJoRHBPQTg2UGE3dDM5bDdlaFVtRDhYSmNK?= =?utf-8?B?WDNqSzV6VWJQcUE1SXFBcjl4eVc5cHkvYVY0ZnBYbGo5TUdpZGphYlhyYVh5?= =?utf-8?B?bld0Tm5aUVRacStSS3BuM1RULzU1NEplSnVWS05oWjU3T0RxNXFsd0ZpK2dH?= =?utf-8?B?UEcwdmxaTGVwUjdQSDBieUdCSUN3UXYzTGZaNEdTYVc1UHE3ejNtSE9TZTZv?= =?utf-8?B?eUpHeGI0ajV6UzdYUEkzUktJbVl6WEVHYlJaU0Rkb1JSN1FSR3c3SzlQL1Rl?= =?utf-8?B?cEkyU21LSUhiblhKTVFqTW5nZ2NleGFLd3BRdzBGSkpySlQ0b0VXcW85Ri9k?= =?utf-8?B?dm1Kait6MGRHQjk4eDRFN2JYUTJuWHlVM25QTFBhaEJQdkFzVnUwbm5zWWxx?= =?utf-8?B?SFVGY3N5NmR4elJsQkdjM09pYzZZb2ZDc3dJVUZwcGtUcit4amZGejE0LzdK?= =?utf-8?B?YWNGRzRkRTFCL3M1YUtWS3FqRmlyVlVyZDdLbnlDVVR3aENYWHdkZk1xL2c0?= =?utf-8?B?SEFzLzg4OWJpeE5aN2dYU3Yza05aY2V1a3BjQllFRkVkLzNvd1Z0V1paOTZn?= =?utf-8?B?dUEyU0JoR2phTjVhUXlyazJhUUVhemtwY1JsNVpNRVJJU0RHbUZvVmRDaFUx?= =?utf-8?B?SVlHb3RzMmdIWWJ4ZHlDNFhGZXNqSkF1MlQzSjUweWtUQmN5cUozbXV5R3Jl?= =?utf-8?B?U2M2ZXYxeUEyeHJ3YWViVzQ0YkZoZEN0ZWQySmFCV1pHendTbXEwUFpjODJT?= =?utf-8?B?TllrRk1ERXFQVEFsRzNJNUZqUEZsYkpvNVdNR3BpZlFVS2YxTFVoK1QwVXpR?= =?utf-8?B?NVBiZDFJZGZDUmUxTmY0TEd5bmY2VmJzZGJKdDNoSFdZZGpRZW1EM215ZmlJ?= =?utf-8?B?ZE1RS1E5VDhrc3BwM212OStQbjBGOVA1Rkt1dEx0aU9ZaXQ5RGhyR3JNanRE?= =?utf-8?B?VDZpY2xPSTFvOVFjSVJBbkIvMmU0OXc9PQ==?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?b0p6Nm1Oc0crbHI5OWRPYURqVmRqK21qdnJQMVRKdkkwSkU1aHdkSjVjaWsr?= =?utf-8?B?bk83dWJ0L0JMYVBtRlR3VTQ0eTluWEJHQ29BRHpSdkhrZlpmei95LytzY29j?= =?utf-8?B?dXV6NTlPank4OTFJNEFEY2JsYmRmbXNOSjBmcDNVd0pPVXFtNkh2YTVraENr?= =?utf-8?B?RFpFMmZDMEJuREh1dk14QURBaUFSTGhxSUs4bTlQdlMrUVBYZjZTVjNGWUdD?= =?utf-8?B?ajAzaGI5cnlpd0EvbWJvZXdBNVluMXNnSTEveWkyaTI4blRpS2xkVWNIdXBU?= =?utf-8?B?ZDE3QXFVeVowa3U0SGZXbnhLTFJ0WE50NklTMzRWUDFuOHRSZ2Vpc3hKZE9j?= =?utf-8?B?MWxIWTU3V0wwVzFPbGN3U2phVi9oNWxhTXBQbkhJbmVKU3o0NXlPdHpLN21u?= =?utf-8?B?QnNRREUzVmorTFdEZjBqcElzMGI0QjRXYXhYbVdBZmNUYXQxV0pxQWYyZFd3?= =?utf-8?B?eUhXMUtIc3NkRXRSbHRpNStYVXJGaU0rZlAwcjdmQzVuellVS0lUNkpZYjJ4?= =?utf-8?B?S0dBeU50bnhNczFaZTVSYWlKVnBYYVZ1NVdOWVU2SXpIRHd0aUdyeURFWDVH?= =?utf-8?B?cjcxb1g5ZERvTUtYSWQ2TnBDbzM5eXlISUQ4QSsySkRodEVLSjcvanU4TVU0?= =?utf-8?B?dmhiUkkzN1RidzB3VG1DbjRQemU3dmUwQ0k5UlpvMWVSYmRHYnVvRGFmbFRQ?= =?utf-8?B?QzdoUW5kaUM5bHN4VXdDbUQxY2xRUk83aE0xVEZjQUxSMEhHRkMzbUx5ZkhQ?= =?utf-8?B?S3A3TXFaK0tRT0o1TkVrMmRHWEZDVlZNLzgwTUt2QS9nbXlaV1MwdWYyV1FK?= =?utf-8?B?OWZ3UE5telNaZzMwZXM0NWdlczZIWHNqR1ZYeXZxS2xEZld2UVR0Sy9pTEFm?= =?utf-8?B?c3c0aCs5MjNNSUhQZDZqeHJYZmxGSzhMdE0ycThJdDEybFpYT3VZbmNQTUZZ?= =?utf-8?B?Wk1BcTVIYUJSSGg3Sk15cXYzNDJ0ajRuNkFxQ0ZleGxLUEVFU0paMms3YzhQ?= =?utf-8?B?ejM4eGxRaU4rMTBjQXhCSTVhZmNkOExCbG9MRVFsMndSSzlyWlp0Y1Fxa1o2?= =?utf-8?B?OWNqbDNSU1h0WDlPSDBVQW9qWlpoNFh5WjNJY3lNTXdkNHZna1paUUV6MHhT?= =?utf-8?B?VnZscFZ5VXRsMGx4cGUvMjkwV0ZJUjZXd0QwOERUT3M4WEY5VEhVdW0vWU5J?= =?utf-8?B?WExNcWQwS0cxM2hIN2RONFlDL2xXakV4K2N1YlpHSjd6VENscVhVZ0kwNjha?= =?utf-8?B?SXJEUGhLZEV2UWlXNGFjekR6MksvZldBVUhKU0k3ZjRUelFibUhyN3Y5Q2do?= =?utf-8?B?Z2RlZGdzTG8xU3RZd3VJMnZDaEpnZitWOXdvdnlTOGdVTllVb3Vxa3Axak9F?= =?utf-8?B?RzgyY2lTME13Z0w0UHRvQlV4bTlFeEo0a2RnK0lQdmpXaUlSeDFST0ZaVU9l?= =?utf-8?B?ZzhQLytweXl1ZUEzakVyd2NOTUpYdy9QN2Vwc21SZ1ZwWXNZQ1Q2Y0RqTm5S?= =?utf-8?B?OFpheFdzZHF6bU9saGdLNFZoalA5TEJzQjgwQVMydGRoSWFoVzgwYVF5bGtu?= =?utf-8?B?a0JmeGYrMlJvRmM2cWZ1SVBSM3BvK0Q4WmNlRVpSd2I2MmZMVkNoY1VaK2Nz?= =?utf-8?Q?C9/ekFUqAo0WKnB34aEpi0n1KZfL/j6rSzFfEHSmlh58=3D?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-8534-20-msonline-outlook-c7cf3.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: 46eed899-fda0-4f00-71c1-08dd97d6f3bf X-MS-Exchange-CrossTenant-originalarrivaltime: 20 May 2025 19:46:02.4411 (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: BN0P223MB0152 Subject: Re: [FFmpeg-devel] [PATCH v2] ffbuild/commonmak: Fix rebuild check with implicit rule chains 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 Zm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYgT2YgUmFtaXJvIFBvbGxh DQo+IFNlbnQ6IERpZW5zdGFnLCAyMC4gTWFpIDIwMjUgMjE6MzYNCj4gVG86IEZGbXBlZyBkZXZl bG9wbWVudCBkaXNjdXNzaW9ucyBhbmQgcGF0Y2hlcyA8ZmZtcGVnLWRldmVsQGZmbXBlZy5vcmc+ DQo+IFN1YmplY3Q6IFJlOiBbRkZtcGVnLWRldmVsXSBbUEFUQ0ggdjJdIGZmYnVpbGQvY29tbW9u bWFrOiBGaXggcmVidWlsZCBjaGVjaw0KPiB3aXRoIGltcGxpY2l0IHJ1bGUgY2hhaW5zDQo+IA0K PiBIaSwNCj4gDQo+IE9uIFN1biwgTWF5IDE4LCAyMDI1IGF0IDg6MzDigK9BTSBzb2Z0d29ya3og PGZmbXBlZ2FnZW50QGdtYWlsLmNvbT4gd3JvdGU6DQo+ID4NCj4gPiBGcm9tOiBzb2Z0d29ya3og PHNvZnR3b3JrekBob3RtYWlsLmNvbT4NCj4gPg0KPiA+IFdoZW4gdGhlcmUncyBhIGNoYWluIG9m IGltcGxpY2l0IHJ1bGVzLCBtYWtlIHRyZWF0cyBmaWxlcyBnZW5lcmF0ZWQNCj4gPiBpbnNpZGUg dGhhdCBjaGFpbiBhcyBpbnRlcm1lZGlhdGUgZmlsZXMuIFRob3NlIGludGVybWVkaWF0ZSBmaWxl cyBhcmUNCj4gPiByZW1vdmVkIGFmdGVyIGNvbXBsZXRpb24gb2YgbWFrZS4gV2hlbiBtYWtlIGlz IHJ1biBhZ2FpbiwgaXQgbm9ybWFsbHkNCj4gPiBkZXRlcm1pbmVzIHRoZSBuZWVkIGZvciBhIHJl YnVpbGQgYnkgY29tcGFyaW5nIHRoZSB0aW1lc3RhbXBzIG9mIHRoZQ0KPiA+IG9yaWdpbmFsIHNv dXJjZSBmaWxlIGFuZCB0aGUgZmluYWwgb3V0cHV0IG9mIHRoZSBjaGFpbiBhbmQgaWYgc3RpbGwN Cj4gPiB1cC10by1kYXRlLCBpdCBkb2Vzbid0IHJlYnVpbGQsIGV2ZW4gd2hlbiB0aGUgaW50ZXJt ZWRpYXRlIGZpbGVzIGFyZQ0KPiA+IG5vdCBwcmVzZW50LiBUaGF0IG1ha2VzIHNlbnNlIG9mIGNv dXJzZSAtIHdoeSB3b3VsZCBpdCBkZWxldGUgdGhlbQ0KPiA+IG90aGVyd2lzZSwgaXQgd291bGQg ZW5kIHVwIGluIGJ1aWxkcyBiZWluZyBuZXZlciB1cC10by1kYXRlLg0KPiA+IEJ1dCB0aGlzIG9y aWdpbmFsIGJ5LXRoZS1ib29rIGxvZ2ljIGFwcGVhcmVkIHRvIGJlIGJyb2tlbiBhbmQgaGFzIGJl ZW4NCj4gPiB3b3JrZWQgYXJvdW5kIGJ5IGFkZGluZyBhbGwgaW50ZXJtZWRpYXRlIGZpbGVzIHRv IHRoZSAuU0VDT05EQVJZDQo+ID4gc3BlY2lhbCB0YXJnZXQsIHdoaWNoIHJlcXVpcmVkIGV4dHJh IGxvZ2ljIGFuZCBpc3N1ZXMgd2l0aCBtYWtlIGNsZWFuLg0KPiA+DQo+ID4gV2hhdCBicm9rZSB0 aGUgdXAtdG8tZGF0ZSBjaGVja2luZyBpcyB0aGUgZGVwZW5kZW5jeSBmaWxlIGdlbmVyYXRpb24u DQo+ID4gRm9yIHRoZSAuYyBmaWxlcyBnZW5lcmF0ZWQgYnkgQklOMkMgdGhlIGNvbXBpbGUgdGFy Z2V0IGNyZWF0ZWQgYSAuZA0KPiA+IGZpbGUgd2hpY2ggaW5kaWNhdGVkIHRoYXQgdGhlIC5wdHgu byBmaWxlIGhhcyBhIGRlcGVuZGVuY3kgb24gdGhlDQo+ID4gcHR4LmMgZmlsZS4gQW5kIHRoYXQg ZGVwZW5kZW5jeSBicm9rZSB0aGUgbm9ybWFsIG1ha2UgYmVoYXZpb3Igd2l0aA0KPiA+IGludGVy bWVkaWF0ZSBmaWxlcy4NCj4gPg0KPiA+IFRoaXMgcGF0Y2ggY29tcGlsZXMgdGhlIEJJTjJDIGdl bmVyYXRlZCAuYyBmaWxlcyB3aXRob3V0IGdlbmVyYXRpbmcNCj4gPiAuZCBmaWxlcy4gSW4gdHVy biB0aGUgZmlsZXMgZG8gbm90IGxvbmdlciBuZWVkIHRvIGJlIGFkZGVkIHRvIHRoZQ0KPiA+IC5T RUNPTkRBUlkgdGFyZ2V0IGluIGNvbW1vbi5tYWsuDQo+ID4NCj4gPiBXaGVuIGludGVyZXN0ZWQg aW4gdGhvc2UgZmlsZXMgZm9yIGRlYnVnZ2luZywgYSBsaW5lIGNhbiBiZSBhZGRlZCB0bw0KPiA+ IHRoZSBjb3JyZXNwb25kaW5nIE1ha2VmaWxlIGxpa2UNCj4gPg0KPiA+IC5TRUNPTkRBUlk6ICUu cHR4LmMgJS5wdHguZ3oNCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IHNvZnR3b3JreiA8c29mdHdv cmt6QGhvdG1haWwuY29tPg0KPiA+IC0tLQ0KPiA+ICAgICBmZmJ1aWxkL2NvbW1vbm1hazogRml4 IHJlYnVpbGQgY2hlY2sgd2l0aCBpbXBsaWNpdCBydWxlIGNoYWlucw0KPiA+DQo+ID4gICAgIFdo ZW4gdGhlcmUncyBhIGNoYWluIG9mIGltcGxpY2l0IHJ1bGVzLCBtYWtlIHRyZWF0cyBmaWxlcyBn ZW5lcmF0ZWQNCj4gPiAgICAgaW5zaWRlIHRoYXQgY2hhaW4gYXMgaW50ZXJtZWRpYXRlIGZpbGVz LiBUaG9zZSBpbnRlcm1lZGlhdGUgZmlsZXMgYXJlDQo+ID4gICAgIHJlbW92ZWQgYWZ0ZXIgY29t cGxldGlvbiBvZiBtYWtlLiBXaGVuIG1ha2UgaXMgcnVuIGFnYWluLCBpdCBub3JtYWxseQ0KPiA+ ICAgICBkZXRlcm1pbmVzIHRoZSBuZWVkIGZvciBhIHJlYnVpbGQgYnkgY29tcGFyaW5nIHRoZSB0 aW1lc3RhbXBzIG9mIHRoZQ0KPiA+ICAgICBvcmlnaW5hbCBzb3VyY2UgZmlsZSBhbmQgdGhlIGZp bmFsIG91dHB1dCBvZiB0aGUgY2hhaW4gYW5kIGlmIHN0aWxsDQo+ID4gICAgIHVwLXRvLWRhdGUs IGl0IGRvZXNuJ3QgcmVidWlsZCwgZXZlbiB3aGVuIHRoZSBpbnRlcm1lZGlhdGUgZmlsZXMgYXJl IG5vdA0KPiA+ICAgICBwcmVzZW50LiBUaGF0IG1ha2VzIHNlbnNlIG9mIGNvdXJzZSAtIHdoeSB3 b3VsZCBpdCBkZWxldGUgdGhlbQ0KPiA+ICAgICBvdGhlcndpc2UsIGl0IHdvdWxkIGVuZCB1cCBp biBidWlsZHMgYmVpbmcgbmV2ZXIgdXAtdG8tZGF0ZS4gQnV0IHRoaXMNCj4gPiAgICAgb3JpZ2lu YWwgYnktdGhlLWJvb2sgbG9naWMgYXBwZWFyZWQgdG8gYmUgYnJva2VuIGFuZCBoYXMgYmVlbiB3 b3JrZWQNCj4gPiAgICAgYXJvdW5kIGJ5IGFkZGluZyBhbGwgaW50ZXJtZWRpYXRlIGZpbGVzIHRv IHRoZSAuU0VDT05EQVJZIHNwZWNpYWwNCj4gPiAgICAgdGFyZ2V0LCB3aGljaCByZXF1aXJlZCBl eHRyYSBsb2dpYyBhbmQgaXNzdWVzIHdpdGggbWFrZSBjbGVhbi4NCj4gPg0KPiA+ICAgICBXaGF0 IGJyb2tlIHRoZSB1cC10by1kYXRlIGNoZWNraW5nIGlzIHRoZSBkZXBlbmRlbmN5IGZpbGUgZ2Vu ZXJhdGlvbi4NCj4gPiAgICAgRm9yIHRoZSAuYyBmaWxlcyBnZW5lcmF0ZWQgYnkgQklOMkMgdGhl IGNvbXBpbGUgdGFyZ2V0IGNyZWF0ZWQgYSAuZCBmaWxlDQo+ID4gICAgIHdoaWNoIGluZGljYXRl ZCB0aGF0IHRoZSAucHR4Lm8gZmlsZSBoYXMgYSBkZXBlbmRlbmN5IG9uIHRoZSBwdHguYyBmaWxl Lg0KPiA+ICAgICBBbmQgdGhhdCBkZXBlbmRlbmN5IGJyb2tlIHRoZSBub3JtYWwgbWFrZSBiZWhh dmlvciB3aXRoIGludGVybWVkaWF0ZQ0KPiA+ICAgICBmaWxlcy4NCj4gPg0KPiA+ICAgICBUaGlz IHBhdGNoIGNvbXBpbGVzIHRoZSBCSU4yQyBnZW5lcmF0ZWQgLmMgZmlsZXMgd2l0aG91dCBnZW5l cmF0aW5nIC5kDQo+ID4gICAgIGZpbGVzLiBJbiB0dXJuIHRoZSBmaWxlcyBkbyBub3QgbG9uZ2Vy IG5lZWQgdG8gYmUgYWRkZWQgdG8gdGhlDQo+ID4gICAgIC5TRUNPTkRBUlkgdGFyZ2V0IGluIGNv bW1vbi5tYWsuDQo+ID4NCj4gPiAgICAgV2hlbiBpbnRlcmVzdGVkIGluIHRob3NlIGZpbGVzIGZv ciBkZWJ1Z2dpbmcsIGEgbGluZSBjYW4gYmUgYWRkZWQgdG8gdGhlDQo+ID4gICAgIGNvcnJlc3Bv bmRpbmcgTWFrZWZpbGUgbGlrZQ0KPiA+DQo+ID4gICAgIC5TRUNPTkRBUlk6ICUucHR4LmMgJS5w dHguZ3oNCj4gPg0KPiA+DQo+ID4gICAgIFYyDQo+ID4gICAgID09DQo+ID4NCj4gPiAgICAgICog Rml4IE1TVkMgYnVpbGQNCj4gPiAgICAgICAgKHVzZSB0aGUgdW5pdmVyc2FsIGNvbW1hbmQgcGF0 dGVybikNCj4gPg0KPiA+IFB1Ymxpc2hlZC1BczogaHR0cHM6Ly9naXRodWIuY29tL2Zmc3RhZ2lu Zy9GRm1wZWcvcmVsZWFzZXMvdGFnL3ByLWZmc3RhZ2luZy0NCj4gODAlMkZzb2Z0d29ya3olMkZz dWJtaXRfY29tbW9ubWFrLXYyDQo+ID4gRmV0Y2gtSXQtVmlhOiBnaXQgZmV0Y2ggaHR0cHM6Ly9n aXRodWIuY29tL2Zmc3RhZ2luZy9GRm1wZWcgcHItZmZzdGFnaW5nLQ0KPiA4MC9zb2Z0d29ya3ov c3VibWl0X2NvbW1vbm1hay12Mg0KPiA+IFB1bGwtUmVxdWVzdDogaHR0cHM6Ly9naXRodWIuY29t L2Zmc3RhZ2luZy9GRm1wZWcvcHVsbC84MA0KPiA+DQo+ID4gUmFuZ2UtZGlmZiB2cyB2MToNCj4g Pg0KPiA+ICAxOiAgZTI3NmY1NGZmYyAhIDE6ICBmNDY4ZWEyNDMxIGZmYnVpbGQvY29tbW9ubWFr OiBGaXggcmVidWlsZCBjaGVjayB3aXRoDQo+IGltcGxpY2l0IHJ1bGUgY2hhaW5zDQo+ID4gICAg ICBAQCBmZmJ1aWxkL2NvbW1vbi5tYWs6IGVsc2UNCj4gPiAgICAgICAgZW5kaWYNCj4gPg0KPiA+ ICAgICAgICslLnB0eC5vOiAlLnB0eC5jDQo+ID4gICAgICAtKyAkKENDKSAkKENDRkxBR1MpIC14 IGMgLWMgLW8gJEAgJDwNCj4gPiAgICAgICsrICQoQ0MpICQoQ0NGTEFHUykgJChDQ19DKSAkKEND X08pICQocGF0c3Vic3QNCj4gJChTUkNfUEFUSCkvJSwkKFNSQ19MSU5LKS8lLCQ8KQ0KPiA+ICAg ICAgICsNCj4gPiAgICAgICArDQo+ID4gICAgICAgICMgMSkgUHJlcHJvY2VzcyBDU1MgdG8gYSBt aW5pZmllZCB2ZXJzaW9uDQo+ID4gICAgICBAQCBmZmJ1aWxkL2NvbW1vbi5tYWs6IGVsc2UgICAj IE5PIENPTVBSRVNTSU9ODQo+ID4gICAgICAgIGVuZGlmDQo+ID4NCj4gPiAgICAgICArJS5odG1s Lm86ICUuaHRtbC5jDQo+ID4gICAgICAtKyAkKENDKSAkKENDRkxBR1MpIC14IGMgLWMgLW8gJEAg JDwNCj4gPiAgICAgICsrICQoQ0MpICQoQ0NGTEFHUykgJChDQ19DKSAkKENDX08pICQocGF0c3Vi c3QNCj4gJChTUkNfUEFUSCkvJSwkKFNSQ19MSU5LKS8lLCQ8KQ0KPiA+ICAgICAgICsNCj4gPiAg ICAgICArJS5jc3MubzogJS5jc3MuYw0KPiA+ICAgICAgLSsgJChDQykgJChDQ0ZMQUdTKSAteCBj IC1jIC1vICRAICQ8DQo+ID4gICAgICArKyAkKENDKSAkKENDRkxBR1MpICQoQ0NfQykgJChDQ19P KSAkKHBhdHN1YnN0DQo+ICQoU1JDX1BBVEgpLyUsJChTUkNfTElOSykvJSwkPCkNCj4gPiAgICAg ICArDQo+ID4gICAgICAgKw0KPiA+ICAgICAgICBjbGVhbjo6DQo+ID4NCj4gPg0KPiA+ICBmZmJ1 aWxkL2NvbW1vbi5tYWsgfCAxNSArKysrKysrKysrKystLS0NCj4gPiAgMSBmaWxlIGNoYW5nZWQs IDEyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEv ZmZidWlsZC9jb21tb24ubWFrIGIvZmZidWlsZC9jb21tb24ubWFrDQo+ID4gaW5kZXggMGUxZWIx ZjYyYi4uZDk0NjIyNzFkNSAxMDA2NDQNCj4gPiAtLS0gYS9mZmJ1aWxkL2NvbW1vbi5tYWsNCj4g PiArKysgYi9mZmJ1aWxkL2NvbW1vbi5tYWsNCj4gPiBAQCAtMTM5LDYgKzEzOSwxMCBAQCBlbHNl DQo+ID4gICAgICAgICAkKEJJTjJDKSAkKHBhdHN1YnN0ICQoU1JDX1BBVEgpLyUsJChTUkNfTElO SykvJSwkPCkgJEAgJChzdWJzdA0KPiAuLF8sJChiYXNlbmFtZSAkKG5vdGRpciAkQCkpKQ0KPiA+ ICBlbmRpZg0KPiA+DQo+ID4gKyUucHR4Lm86ICUucHR4LmMNCj4gPiArICAgICAgICQoQ0MpICQo Q0NGTEFHUykgJChDQ19DKSAkKENDX08pICQocGF0c3Vic3QNCj4gJChTUkNfUEFUSCkvJSwkKFNS Q19MSU5LKS8lLCQ8KQ0KPiA+ICsNCj4gPiArDQo+ID4gICMgMSkgUHJlcHJvY2VzcyBDU1MgdG8g YSBtaW5pZmllZCB2ZXJzaW9uDQo+ID4gICUuY3NzLm1pbjogJS5jc3MNCj4gPiAgICAgICAgICMg TXVzdCBzdGFydCB3aXRoIGEgdGFiIGluIHRoZSByZWFsIE1ha2VmaWxlDQo+ID4gQEAgLTE3Nyw2 ICsxODEsMTMgQEAgZWxzZSAgICMgTk8gQ09NUFJFU1NJT04NCj4gPiAgICAgICAgICQoQklOMkMp ICQ8ICRAICQoc3Vic3QgLixfLCQoYmFzZW5hbWUgJChub3RkaXIgJEApKSkNCj4gPiAgZW5kaWYN Cj4gPg0KPiA+ICslLmh0bWwubzogJS5odG1sLmMNCj4gPiArICAgICAgICQoQ0MpICQoQ0NGTEFH UykgJChDQ19DKSAkKENDX08pICQocGF0c3Vic3QNCj4gJChTUkNfUEFUSCkvJSwkKFNSQ19MSU5L KS8lLCQ8KQ0KPiA+ICsNCj4gPiArJS5jc3MubzogJS5jc3MuYw0KPiA+ICsgICAgICAgJChDQykg JChDQ0ZMQUdTKSAkKENDX0MpICQoQ0NfTykgJChwYXRzdWJzdA0KPiAkKFNSQ19QQVRIKS8lLCQo U1JDX0xJTkspLyUsJDwpDQo+ID4gKw0KPiANCj4gSSdtIG5vdCBhIGJpZyBmYW4gb2YgYWRkaW5n IG5ldyB0YXJnZXRzIHdpdGggYSBzdHJpcHBlZC1kb3duIHZlcnNpb24NCj4gb2YgdGhlIG9yaWdp bmFsIHJ1bGUuIEl0IHNlZW1zIGxpa2UgdW5uZWNlc3NhcnkgZHVwbGljYXRpb24sIGFuZA0KPiBp bmNyZWFzZXMgdGhlIGNoYW5jZSBvZiBkaXZlcmdlbmNlIG92ZXIgdGltZS4NCj4gDQo+IEluc3Rl YWQsIEkgdGhpbmsgaXQncyBjbGVhbmVyIHRvIHVzZSB0YXJnZXQtc3BlY2lmaWMgdmFyaWFibGVz IHRvDQo+IGRpc2FibGUgYSBwYXJ0IG9mIHRoZSBvcmlnaW5hbCBydWxlLiBGb3IgZXhhbXBsZSwg aW4gdGhpcyBjYXNlLCB5b3UNCj4gd291bGQgZGlzYWJsZSB0aGUgZGVwZW5kZW5jeSBnZW5lcmF0 aW9uIGZvciBqdXN0IHRob3NlIHRhcmdldHMsIGFuZA0KPiBlbmQgdXAgd2l0aCBzb21ldGhpbmcg bGlrZSB0aGlzOg0KPiAlLmh0bWwubzogQ0NfREVQRkxBR1MgPQ0KPiAlLmNzcy5vOiBDQ19ERVBG TEFHUyA9DQoNCkhpIFJhbWlybywNCg0KSSBkaWRuJ3Qga25vdyB0aGF0IG9uZSBjYW4gZG8gdGhh dC4gVGhhdCdzIGNsZWFybHkgYSBiZXR0ZXIgd2F5LCB0aGVuLg0KDQpXaGF0IGFib3V0IHRoZSBm aXJzdCBsaW5lIGluIHRoZSBDT01QSUxFIG1hY3JvOg0KDQpkZWZpbmUgQ09NUElMRQ0KICAgICAg ICQoY2FsbCAkKDEpREVQLCQoMSkpDQogICAgICAgJCgkKDEpKSAkKCQoMSlGTEFHUykgJCgkKDIp KSAkKCQoMSlfREVQRkxBR1MpICQoJCgxKV9DKSAkKCQoMSlfTykgJChwYXRzdWJzdCAkKFNSQ19Q QVRIKS8lLCQoU1JDX0xJTkspLyUsJDwpDQplbmRlZg0KDQpJIGhhdmVuJ3QgdHJhY2VkIGJhY2sg d2hhdCBpdCBhY3R1YWxseSBkb2VzIC0gaXMgaXQgaGFybWxlc3Mgd2hlbg0KaXQncyBleGVjdXRl ZCBpbiB0aG9zZSBjYXNlcyB3aGVyZSBubyBkZXBlbmRlbmN5IGZpbGUgaXMgZGVzaXJlZD8NCg0K SWYgdGhhdCdzIGZpbmUsIEknZCBzZW5kIGFuIHVwZGF0ZWQgcGF0Y2ggd2l0aCB5b3VyIHN1Z2dl c3Rpb24uDQoNClRoYW5rIHlvdQ0Kc3cNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZm bXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVs CgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVs LXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K