From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id B421FD814D5 for ; Wed, 14 Feb 2024 15:51:09 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=tFttfUMENLbrjHrr/6WpD3oHEYGGHjVqe3Q09tKp59o=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1707925868; v=1; b=EqpHv/12rlORyxOd8MEfJQx5Td8/BJazWKjxjpV+6ZQUwp6QlM+g9jZKj3E+A5YsjLv0UdsU K2T2bwFhn9zq/cbucQRijcadmsCswkR8AxPCeZBqOgTo21FqgpXQQUY0aOpL1lP82xoigZc8GxO cKsdAYMecJAmV29W2wUfpp6Y= X-Received: by 127.0.0.2 with SMTP id 3CvGYY7687511xxhzj2bQ1aN; Wed, 14 Feb 2024 07:51:08 -0800 X-Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.17]) by mx.groups.io with SMTP id smtpd.web11.44751.1707925867102937795 for ; Wed, 14 Feb 2024 07:51:07 -0800 X-IronPort-AV: E=McAfee;i="6600,9927,10984"; a="2114041" X-IronPort-AV: E=Sophos;i="6.06,159,1705392000"; d="scan'208";a="2114041" X-Received: from orviesa010.jf.intel.com ([10.64.159.150]) by orvoesa109.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Feb 2024 07:51:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.06,159,1705392000"; d="scan'208";a="3298531" X-Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orviesa010.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 14 Feb 2024 07:51:07 -0800 X-Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 14 Feb 2024 07:51:05 -0800 X-Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Wed, 14 Feb 2024 07:51:05 -0800 X-Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.41) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Wed, 14 Feb 2024 07:51:05 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O9GNRJNYH1o2b7G2a0toD1q5m+xJkahU1EN56nPXPnXNxwqkLzVWVJg5pMm8hTYDUbm23belb6TrNTHND3rD+CqrvseAtcIZmBNMOEEm64u1J/TeChqEXL8wMoW+e6QaKyBthjiOtteGD4ftYjlax7wZijdpqlF4tEtdMjQN0qPtJ189rb2ggiXzC6OjXO1Eq6kbBp9mwVc1tSzN/djws2PQ8smO6R6s6cZKFAiKYhW/BUigR5NVGZaXDMSUQBJmDSTDxLSG0C1lve5zWv1p4XpUaEg8C0ctPXnunYft28XRjTLKa5MW2yIAktWdHzaOEDuhWtudia9AGI1qMzQv3g== 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=fTI5q2K3xadxLL11mq8p5HqgIl8ozTsNoaQAreyyJSE=; b=DdAOEQGbfxZxC0PMzFJH0RHfDQ8uu7vvD5vhm5Kad+kWFUCUfu+J6UGtUhuJfjZ6Ns+NqMPH9u11A5Iv2R0pmooC/KGwGUSKOTylSD4IaQZcZl+NE4RQzknShDxtVi7vEu8tVwKl2MUHS2568VdCMrEGdvXU2yxIrvyZzXo1qRMxi5lCJgL9jHi8tn1Vchzb5ev0YgcoutZcQzMHaF6BBzb7/Ixw/MGfZPItLG0i9HOY+66GBSMSZILBUS6ctoDgHw+Gtrw/2fUGXepr31C/3YsyfVsYP3Q8oc7XdMScyg0YJLjqf+PLvJLEtiCU7Fg+aGh5/I3ad5SKmWO3TlyNAg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none X-Received: from CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by DS7PR11MB7690.namprd11.prod.outlook.com (2603:10b6:8:e6::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7270.38; Wed, 14 Feb 2024 15:51:02 +0000 X-Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::7e42:1633:d0a6:9c00]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::7e42:1633:d0a6:9c00%6]) with mapi id 15.20.7292.026; Wed, 14 Feb 2024 15:51:02 +0000 From: "Michael D Kinney" To: Ard Biesheuvel , "devel@edk2.groups.io" CC: Rebecca Cran , Liming Gao , "Feng, Bob C" , "Chen, Christine" , Michael Kubacki , "Kinney, Michael D" Subject: Re: [edk2-devel] [Patch 1/1] BaseTools/Scripts/PatchCheck: Error if commit modifies multiple packages Thread-Topic: [edk2-devel] [Patch 1/1] BaseTools/Scripts/PatchCheck: Error if commit modifies multiple packages Thread-Index: AQHaXuQqx7J44iJzj0WXPiKrQX7he7EJbFEAgACQikA= Date: Wed, 14 Feb 2024 15:51:02 +0000 Message-ID: References: <20240214011751.2529-1-michael.d.kinney@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO1PR11MB4929:EE_|DS7PR11MB7690:EE_ x-ms-office365-filtering-correlation-id: 728a4a68-0877-4232-f482-08dc2d74bf17 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: dsIYt89D8OPf3CT8EhU6ZMQ4nGVoCr2oxGe5mURUYJYH5ucYtWc9gf3voncnaz6ZpQmj+y+lxas1UK6OYJXcK+T1UW4ItyZs4BKk/M2i+a5a8oL7hGIpiTyLzy/9D8zyqM4zNM2zyEiuYk7YdVWfuUGjWqfRqubBGkLwZaSuvmjQ4D9CgyMa3L4+YAXOrk6R4xdsbUffQazzNCnq7nUKYVfxpztXVEDAqUDHgJOM7x5XuI5bn2rduKXESOAaUR4u2gE4w2iAo8X8d5ITxmZHfkvy5+0cGCj9ioz3hSM/cLM4TLXxi9k8pkzfx34aeWFwqR4IMItp4rTnclk1R7LZzVrE6+nyzDgTvL6VcZTIYA+VI3QwndCIXSOA+Te9P4o+hlxsHeMYmy21amMPHYqOVZTJmWW8Q1pajG4xPjfqq9MsAW1PScvTt4fi+yAdESfQTslHYaP971ug7NtxHTlktqQ7J8RnhXQ3qgTlKMJTVORXQFUh599DMjZWJHPfn7W9kOlkRSjB3cm80OFdR2Brj/L51DMKtSOSlqbKqOdLfDq/NLNFSPV8dVQn2xOtlg2fbRUtX9eSiB1B74awPhEd0KMUSZwh+sc8UF0onAcZdG0= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?d3V2WkJnSHUxdHMxOUE0eFBTK3VFSWNoMmNTMUtBVU9ySzl5QlZQRW40bXhj?= =?utf-8?B?SytzRTVTeXBPU2pMK25pbUVrbU85YjZKOHZSUkZmbGdLOTRuTWJDZXIweUlU?= =?utf-8?B?Yi9jK0pTYjMvZWRmYlBIdjRzSExSOUdqRzYyTnpIM2Z0Q0kvU1RXU0wvZGNN?= =?utf-8?B?ZHIza2pKVFg4SFdBdDRoZnlSZWh2OXRMaVpMaXNHUDh3ZDdFVFlFSnB2WS9D?= =?utf-8?B?UnlndEZ0SWNkNWkxRkM2bHJTbUNXTy92SWRVYlNnNFpJeUF2bEpNNzdiQmZI?= =?utf-8?B?YmNTNFQ0SEFwY3hFQ0MwTng2QjZXTkhuMlVEK2t1UUROUGIya1BEbWxoNTVO?= =?utf-8?B?VE9XN1c1czJHY0JMUmxXaVlJRzRZbGhGVnZzQkswNVRjWStIOE0rVk1aY2Zt?= =?utf-8?B?cUpmSC83bXluZ21QdGoxUTJwVmg2b1o2c1N3V1ZhMmtpUDIvYUg5alg3R1Mr?= =?utf-8?B?VjJQaWRsaHZ2SDJwY1NRMHA4a0lqeUVvMWdFdWlpbU5wcEJ0Y0VjMW9zZEhG?= =?utf-8?B?MENTVk82TUNXaHVUQWNFcGcxMVdaVHUxUWh2dGVzVzIvN1VOaDFHZUl3QXVa?= =?utf-8?B?eVZoNHUva3IyKytMYmxPK3V4cExCbkdqd2k2YTJ3bTNHTVlBM2VFN3VPOEVt?= =?utf-8?B?TnV0bGJjOU5GbmtLWVkrMW8xd0hIUXAvYXN2dnE2Z2VGRlA3eFVGYTJWR01Y?= =?utf-8?B?bkNJUWtrcFQzS0dCT2VLd2RyV1pnZDl2Q09QRnF0ZGNuSHJoYmJQMFFZeFlI?= =?utf-8?B?LzNmSU40LzlyUXRsc1BZNzJsOU5YR1FBdnQxYTFzYTFubmN1SXB2citHUUhK?= =?utf-8?B?S0lpUUlkcnNMMFgzSjNVMFNScWE5YXZKRFJ0L2Fib3Vad3IwUWZuTUFlU2VL?= =?utf-8?B?UDBvWFZTb0ZQU0R1TXhMcFk0RVB0OGIra0pkSHVBYUNvSkVoS29VelZ0cFhz?= =?utf-8?B?MmFiN0RpcWk4c1ZQcDRZTDM1dlRWSllVYk9vZkgyT2lkUUY1d2JEbm5wYWt4?= =?utf-8?B?Q1l2QWJ6Qk4zYlRyRk9OekFSS1MzL3RHaTR3VlNWcDl4eE1UZnpocms0Nkd5?= =?utf-8?B?WTZvUFY0VTVSVkFmdTZxdzVwU2hFR2lic1d0TnNKck84dFp2Tk5WYTlOcmUr?= =?utf-8?B?SE1FRUxzYnJMc1dOd0NFT1lnakR3bGd1NVhuRWw2alZSeStESStqY0pqc3FV?= =?utf-8?B?Mm9rZmlBYWhPdXdXOTFxRnFuaTBleUQ4ZXRGcXY5YlFIbjU0OCtsaCtsaE01?= =?utf-8?B?cndWaVB1ZndWSndvK1kzYU4zK1ZmRFJFYjNyaWsvQVQ0aGFnYlV1U05LVGVW?= =?utf-8?B?L1dlRHoyS3hmTVRPNjFuK3JwdXFCZG82SW9PWjAxMkhDU0hXdGFic09qT2hF?= =?utf-8?B?Nm5JdmVjYVovNHp3TExCblNMRzBEU0J2elZZY3pZTXVSTTNaU092ekx6Lzlq?= =?utf-8?B?cC9nY0hvQnl0a1JqR0VmU1lzUVJqNVIyajVWVmc2Rklaek1RY0o3blp5azc2?= =?utf-8?B?WmliNkErUDBhNUtOOW1jTmNMSDlTMi9naHJSVGp4S21MR3BNUGR1NWFIWG0w?= =?utf-8?B?REN5RXB6ZEdjUzA5VE1kMVBwRC9qOVI4bjdQU1dTRFZ1UjA1MXk4Z2pVMkI1?= =?utf-8?B?N2VyUFZiOThhaC9VWENsYWxidVhtaldKRDhaK0I5Y21HSEV2S0NQTDFiRGhp?= =?utf-8?B?WVFqbGlRWk9BTVYvcVdiQi9YMDN0amZCUnBVMkdrUVlGRjQ1QlpIVUdMc0pY?= =?utf-8?B?WWlJQ2VEOWhDbUt2WlZkY2ZJWnBvbDVpQkpuM1ZKUzFFUjRmc1hEYW9CTTA3?= =?utf-8?B?ZjlhQWtacTJvanlhU2tjKzdZbm5iNjNYVFJrb1Q5Ym1INlUwT2Z0SXFjcmVP?= =?utf-8?B?eU1YYWpoSEtWS2t1WGUrVjIzckRpNmpwRGJsa0RScUVDcE5qekkxWWtlbFlY?= =?utf-8?B?ZE5iWGR0MEF5NEY4c0FjRGZ3K2dHZm4yMlUxcGExeHNhcm84SWMvSGswMCt6?= =?utf-8?B?eUJuRGN4NU45N1lhdm1kOE9OTnFoSVZrS2Izd1NnVCtlbCtuRVorRGtzbEhn?= =?utf-8?B?VWpqUmVmbXM2dzc0V205R0FJTjBwNVIzQmZNR2k1YVlXR1FoZUoyUnp5WmRv?= =?utf-8?B?NU9MZ3RMeGkxQ1c1ZUQ5TCtwYkVob2R4TmZuc3MyUjZGTGkzcDFZSW5JRkR0?= =?utf-8?B?dmc9PQ==?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 728a4a68-0877-4232-f482-08dc2d74bf17 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Feb 2024 15:51:02.4726 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: zxlD5LXXY2ayzdKYlEBPfZ29bqGoeWnRtGLcI/9hquJ4LPPosCHfO0aO8wJa7Fhua9xc3U5uInnzLFBAAID/3VO2eyT9BSI8fEtl/O1r4i8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR11MB7690 X-OriginatorOrg: intel.com Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,michael.d.kinney@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: wYUC8txmtb6jHTNu7VrJRlYNx7686176AA= Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b="EqpHv/12"; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") SGkgQXJkLA0KDQpQbGVhc2UgcmV2aWV3IHRoZSBhbmFseXNpcyBhbmQgcHJvcG9zYWwgaW4gdGhl IEJaIGFuZCBwcm92aWRlIA0KYWx0ZXJuYXRlIHByb3Bvc2FscyBmb3IgdGhlIHJ1bGVzLg0KDQpU aGFua3MsDQoNCk1pa2UNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBB cmQgQmllc2hldXZlbCA8YXJkYkBrZXJuZWwub3JnPg0KPiBTZW50OiBUdWVzZGF5LCBGZWJydWFy eSAxMywgMjAyNCAxMToxMiBQTQ0KPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IEtpbm5leSwg TWljaGFlbCBEDQo+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gQ2M6IFJlYmVjY2Eg Q3JhbiA8cmViZWNjYUBic2Rpby5jb20+OyBMaW1pbmcgR2FvDQo+IDxnYW9saW1pbmdAYnlvc29m dC5jb20uY24+OyBGZW5nLCBCb2IgQyA8Ym9iLmMuZmVuZ0BpbnRlbC5jb20+OyBDaGVuLA0KPiBD aHJpc3RpbmUgPHl1d2VpLmNoZW5AaW50ZWwuY29tPjsgTWljaGFlbCBLdWJhY2tpDQo+IDxtaWt1 YmFja0BsaW51eC5taWNyb3NvZnQuY29tPg0KPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQ YXRjaCAxLzFdIEJhc2VUb29scy9TY3JpcHRzL1BhdGNoQ2hlY2s6DQo+IEVycm9yIGlmIGNvbW1p dCBtb2RpZmllcyBtdWx0aXBsZSBwYWNrYWdlcw0KPiANCj4gT24gV2VkLCAxNCBGZWIgMjAyNCBh dCAwMjoxOCwgTWljaGFlbCBEIEtpbm5leQ0KPiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+ IHdyb3RlOg0KPiA+DQo+ID4gUkVGOiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hv d19idWcuY2dpP2lkPTQ2NzkNCj4gPg0KPiA+IFVwZGF0ZSBQYXRjaENoZWNrLnB5IHRvIGV2YWx1 YXRlIGFsbCB0aGUgZmlsZXMgbW9kaWZpZWQgaW4NCj4gPiBlYWNoIGNvbW1pdCBhbmQgZ2VuZXJh dGUgYW4gZXJyb3IgaWY6DQo+ID4gKiBBIHNpbmdsZSBjb21taXQgbW9kaWZpZXMgZmlsZXMgaW4g bXVsdGlwbGUgcGFja2FnZXMNCj4gPiAqIEEgc2luZ2xlIGNvbW1pdCBtb2RpZmllcyBmaWxlcyBp biBtdWx0aXBsZSBub24tcGFja2FnZSBkaXJzDQo+ID4gKiBBIHNpbmdsZSBjb21taXQgbW9kaWZp ZXMgZmlsZXMgaW4gYm90aCBhIHBhY2thZ2UgYW5kIGENCj4gPiAgIG5vbi1wYWNrYWdlIGRpci4N Cj4gPg0KPiA+IE1vZGlmaWNhdGlvbnMgdG8gZmlsZXMgaW4gdGhlIHJvb3Qgb2YgdGhlIHJlcG9z aXRvcnkgYXJlIG5vdA0KPiA+IGV2YWx1YXRlZC4NCj4gPg0KPiA+IFRoZSBzZXQgb2YgcGFja2Fn ZXMgYXJlIGZvdW5kIGJ5IHNlYXJjaCBmb3IgREVDIGZpbGVzIGluIHRoZQ0KPiA+IHJlcG9zaXRv cnkuIFRoZSBsaXN0IG9mIERFQyBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSBpcyBjb2xsZWN0ZWQN Cj4gPiB3aXRoIHRoZSBmb2xsb3dpbmcgZ2l0IGNvbW1hbmQ6DQo+ID4NCj4gPiAgIGdpdCBscy1m aWxlcyAqLmRlYw0KPiA+DQo+ID4gVGhlIHNldCBvZiBmaWxlcyBhZGRlZC9tb2RpZmllZCBieSBl YWNoIGNvbW1pdCBpcyBmb3VuZCB1c2luZw0KPiA+IHRoZSBmb2xsb3dpbmcgZ2l0IGNvbW1hbmQ6 DQo+ID4NCj4gPiAgIGdpdCBkaWZmLXRyZWUgLS1uby1jb21taXQtaWQgLS1uYW1lLW9ubHkgLS1k aWZmLWZpbHRlcj1BTSAtcg0KPiA8Y29tbWl0Pg0KPiA+DQo+ID4gVGhlIHNldCBvZiBmaWxlcyBk ZWxldGVkIGJ5IGVhY2ggY29tbWl0IGlzIGZvdW5kIHVzaW5nIHRoZQ0KPiA+IGZvbGxvd2luZyBn aXQgY29tbWFuZDoNCj4gPg0KPiA+ICAgZ2l0IGRpZmYtdHJlZSAtLW5vLWNvbW1pdC1pZCAtLW5h bWUtb25seSAtLWRpZmYtZmlsdGVyPUQgLXINCj4gPGNvbW1pdD4NCj4gPg0KPiA+IENjOiBSZWJl Y2NhIENyYW4gPHJlYmVjY2FAYnNkaW8uY29tPg0KPiA+IENjOiBMaW1pbmcgR2FvIDxnYW9saW1p bmdAYnlvc29mdC5jb20uY24+DQo+ID4gQ2M6IEJvYiBGZW5nIDxib2IuYy5mZW5nQGludGVsLmNv bT4NCj4gPiBDYzogWXV3ZWkgQ2hlbiA8eXV3ZWkuY2hlbkBpbnRlbC5jb20+DQo+ID4gQ2M6IE1p Y2hhZWwgS3ViYWNraSA8bWlrdWJhY2tAbGludXgubWljcm9zb2Z0LmNvbT4NCj4gPiBTaWduZWQt b2ZmLWJ5OiBNaWNoYWVsIEQgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4g DQo+IFdpbGwgdGhpcyB0cmlnZ2VyIHByZS1tZXJnZSBDSSBmYWlsdXJlcyBpZiB0aGUgcGF0Y2gg dG91Y2hlcyBtb3JlIHRoYW4NCj4gb25lIHBhY2thZ2U/DQo+IA0KPiBJZiBzbywgSSB3aWxsIG5l ZWQgYW4gb3B0LW91dC9vdmVycmlkZSBmb3IgdGhpcy4NCj4gDQo+IA0KPiA+IC0tLQ0KPiA+ICBC YXNlVG9vbHMvU2NyaXB0cy9QYXRjaENoZWNrLnB5IHwgNDkNCj4gKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrDQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspDQo+ ID4NCj4gPiBkaWZmIC0tZ2l0IGEvQmFzZVRvb2xzL1NjcmlwdHMvUGF0Y2hDaGVjay5weQ0KPiBi L0Jhc2VUb29scy9TY3JpcHRzL1BhdGNoQ2hlY2sucHkNCj4gPiBpbmRleCAxNjc1ZGNiZDczMjEu Ljk4OGYxNTJlMzhkNyAxMDA3NTUNCj4gPiAtLS0gYS9CYXNlVG9vbHMvU2NyaXB0cy9QYXRjaENo ZWNrLnB5DQo+ID4gKysrIGIvQmFzZVRvb2xzL1NjcmlwdHMvUGF0Y2hDaGVjay5weQ0KPiA+IEBA IC02NjUsNiArNjY1LDcgQEAgY2xhc3MgQ2hlY2tHaXRDb21taXRzOg0KPiA+ICAgICAgIiIiDQo+ ID4NCj4gPiAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCByZXZfc3BlYywgbWF4X2NvdW50KToNCj4g PiArICAgICAgICBkZWNfZmlsZXMgPSBzZWxmLnJlYWRfZGVjX2ZpbGVzX2Zyb21fZ2l0KCkNCj4g PiAgICAgICAgICBjb21taXRzID0gc2VsZi5yZWFkX2NvbW1pdF9saXN0X2Zyb21fZ2l0KHJldl9z cGVjLA0KPiBtYXhfY291bnQpDQo+ID4gICAgICAgICAgaWYgbGVuKGNvbW1pdHMpID09IDEgYW5k IFZlcmJvc2UubGV2ZWwgPiBWZXJib3NlLk9ORUxJTkU6DQo+ID4gICAgICAgICAgICAgIGNvbW1p dHMgPSBbIHJldl9zcGVjIF0NCj4gPiBAQCAtNjgxLDkgKzY4Miw1NyBAQCBjbGFzcyBDaGVja0dp dENvbW1pdHM6DQo+ID4gICAgICAgICAgICAgIHNlbGYub2sgJj0gRW1haWxBZGRyZXNzQ2hlY2so ZW1haWwsICdDb21taXR0ZXInKS5vaw0KPiA+ICAgICAgICAgICAgICBwYXRjaCA9IHNlbGYucmVh ZF9wYXRjaF9mcm9tX2dpdChjb21taXQpDQo+ID4gICAgICAgICAgICAgIHNlbGYub2sgJj0gQ2hl Y2tPbmVQYXRjaChjb21taXQsIHBhdGNoKS5vaw0KPiA+ICsgICAgICAgICAgICBzZWxmLm9rICY9 IHNlbGYuY2hlY2tfcGFyZW50X3BhY2thZ2VzIChkZWNfZmlsZXMsDQo+IGNvbW1pdCkNCj4gPiAr DQo+ID4gICAgICAgICAgaWYgbm90IGNvbW1pdHM6DQo+ID4gICAgICAgICAgICAgIHByaW50KCJD b3VsZG4ndCBmaW5kIGNvbW1pdCBtYXRjaGluZzoNCj4gJ3t9JyIuZm9ybWF0KHJldl9zcGVjKSkN Cj4gPg0KPiA+ICsgICAgZGVmIGdldF9wYXJlbnRfcGFja2FnZXMoc2VsZiwgZGVjX2ZpbGVzLCBj b21taXQsIGZpbHRlcik6DQo+ID4gKyAgICAgICAgZmlsZWxpc3QgPSBzZWxmLnJlYWRfZmlsZXNf bW9kaWZpZWRfZnJvbV9naXQgKGNvbW1pdCwNCj4gZmlsdGVyKQ0KPiA+ICsgICAgICAgIHBhcmVu dHMgPSBzZXQoKQ0KPiA+ICsgICAgICAgIGZvciBmaWxlIGluIGZpbGVsaXN0Og0KPiA+ICsgICAg ICAgICAgICBkZWNfZm91bmQgPSBGYWxzZQ0KPiA+ICsgICAgICAgICAgICBmb3IgZGVjX2ZpbGUg aW4gZGVjX2ZpbGVzOg0KPiA+ICsgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5jb21tb25wYXRo KFtkZWNfZmlsZSwgZmlsZV0pOg0KPiA+ICsgICAgICAgICAgICAgICAgICAgIGRlY19mb3VuZCA9 IFRydWUNCj4gPiArICAgICAgICAgICAgICAgICAgICBwYXJlbnRzLmFkZChkZWNfZmlsZSkNCj4g PiArICAgICAgICAgICAgaWYgbm90IGRlY19mb3VuZCBhbmQgb3MucGF0aC5kaXJuYW1lIChmaWxl KToNCj4gPiArICAgICAgICAgICAgICAgICMgTm8gREVDIGZpbGUgZm91bmQgYW5kIGZpbGUgaXMg aW4gYSBzdWJkaXINCj4gPiArICAgICAgICAgICAgICAgICMgQ292ZXJzIEJhc2VUb29scywgLmdp dGh1YiwgLmF6dXJlcGlwZWxpbmVzLA0KPiAucHl0b29sDQo+ID4gKyAgICAgICAgICAgICAgICBw YXJlbnRzLmFkZChmaWxlLnNwbGl0KCcvJylbMF0pDQo+ID4gKyAgICAgICAgcmV0dXJuIGxpc3Qo cGFyZW50cykNCj4gPiArDQo+ID4gKyAgICBkZWYgY2hlY2tfcGFyZW50X3BhY2thZ2VzKHNlbGYs IGRlY19maWxlcywgY29tbWl0KToNCj4gPiArICAgICAgICBtb2RpZmllZCA9IHNlbGYuZ2V0X3Bh cmVudF9wYWNrYWdlcyAoZGVjX2ZpbGVzLCBjb21taXQsDQo+ICdBTScpDQo+ID4gKyAgICAgICAg aWYgbGVuIChtb2RpZmllZCkgPiAxOg0KPiA+ICsgICAgICAgICAgICBwcmludCgiVGhlIGNvbW1p dCBhZGRzL21vZGlmaWVzIGZpbGVzIGluIG11bHRpcGxlDQo+IHBhY2thZ2VzOlxuICoiLA0KPiA+ ICsgICAgICAgICAgICAgICAgICAnXG4gKiAnLmpvaW4obW9kaWZpZWQpKQ0KPiA+ICsgICAgICAg ICAgICBzZWxmLm9rID0gRmFsc2UNCj4gPiArICAgICAgICBkZWxldGVkID0gc2VsZi5nZXRfcGFy ZW50X3BhY2thZ2VzIChkZWNfZmlsZXMsIGNvbW1pdCwgJ0QnKQ0KPiA+ICsgICAgICAgIGlmIGxl biAoZGVsZXRlZCkgPiAxOg0KPiA+ICsgICAgICAgICAgICBwcmludCgiVGhlIGNvbW1pdCBkZWxl dGVzIGZpbGVzIGZyb20gbXVsdGlwbGUNCj4gcGFja2FnZXM6XG4gKiIsDQo+ID4gKyAgICAgICAg ICAgICAgICAgICdcbiAqICcuam9pbihkZWxldGVkKSkNCj4gPiArICAgICAgICAgICAgc2VsZi5v ayA9IEZhbHNlDQo+ID4gKyAgICAgICAgcmV0dXJuIHNlbGYub2sNCj4gPiArDQo+ID4gKyAgICBk ZWYgcmVhZF9kZWNfZmlsZXNfZnJvbV9naXQoc2VsZik6DQo+ID4gKyAgICAgICAgIyBydW4gZ2l0 IGxzLWZpbGVzICouZGVjDQo+ID4gKyAgICAgICAgb3V0ID0gc2VsZi5ydW5fZ2l0KCdscy1maWxl cycsICcqLmRlYycpDQo+ID4gKyAgICAgICAgIyByZXR1cm4gbGlzdCBvZiAuZGVjIGZpbGVzDQo+ ID4gKyAgICAgICAgdHJ5Og0KPiA+ICsgICAgICAgICAgICByZXR1cm4gb3V0LnNwbGl0KCkNCj4g PiArICAgICAgICBleGNlcHQ6DQo+ID4gKyAgICAgICAgICAgIHJldHVybiBbXQ0KPiA+ICsNCj4g PiArICAgIGRlZiByZWFkX2ZpbGVzX21vZGlmaWVkX2Zyb21fZ2l0KHNlbGYsIGNvbW1pdCwgZmls dGVyKToNCj4gPiArICAgICAgICAjIHJ1biBnaXQgZGlmZi10cmVlIC0tbm8tY29tbWl0LWlkIC0t bmFtZS1vbmx5IC1yIDxjb21taXQ+DQo+ID4gKyAgICAgICAgb3V0ID0gc2VsZi5ydW5fZ2l0KCdk aWZmLXRyZWUnLCAnLS1uby1jb21taXQtaWQnLCAnLS1uYW1lLQ0KPiBvbmx5JywNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgJy0tZGlmZi1maWx0ZXI9JyArIGZpbHRlciwgJy1yJywg Y29tbWl0KQ0KPiA+ICsgICAgICAgIHRyeToNCj4gPiArICAgICAgICAgICAgcmV0dXJuIG91dC5z cGxpdCgpDQo+ID4gKyAgICAgICAgZXhjZXB0Og0KPiA+ICsgICAgICAgICAgICByZXR1cm4gW10N Cj4gPiArDQo+ID4gICAgICBkZWYgcmVhZF9jb21taXRfbGlzdF9mcm9tX2dpdChzZWxmLCByZXZf c3BlYywgbWF4X2NvdW50KToNCj4gPiAgICAgICAgICAjIFJ1biBnaXQgdG8gZ2V0IHRoZSBjb21t aXQgcGF0Y2gNCj4gPiAgICAgICAgICBjbWQgPSBbICdyZXYtbGlzdCcsICctLWFiYnJldi1jb21t aXQnLCAnLS1uby13YWxrJyBdDQo+ID4gLS0NCj4gPiAyLjQwLjEud2luZG93cy4xDQo+ID4NCj4g Pg0KPiA+DQo+ID4gDQo+ID4NCj4gPg0KDQoKLT0tPS09LT0tPS09LT0tPS09LT0tPS0KR3JvdXBz LmlvIExpbmtzOiBZb3UgcmVjZWl2ZSBhbGwgbWVzc2FnZXMgc2VudCB0byB0aGlzIGdyb3VwLgpW aWV3L1JlcGx5IE9ubGluZSAoIzExNTQ2Mik6IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZl bC9tZXNzYWdlLzExNTQ2MgpNdXRlIFRoaXMgVG9waWM6IGh0dHBzOi8vZ3JvdXBzLmlvL210LzEw NDM0NTUwOS83Njg2MTc2Ckdyb3VwIE93bmVyOiBkZXZlbCtvd25lckBlZGsyLmdyb3Vwcy5pbwpV bnN1YnNjcmliZTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL3Vuc3ViIFtyZWJlY2Nh QG9wZW5mdy5pb10KLT0tPS09LT0tPS09LT0tPS09LT0tPS0KCg0K