From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mx.groups.io with SMTP id smtpd.web08.5937.1608602187287931044 for ; Mon, 21 Dec 2020 17:56:27 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=oVbCyHfQ; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: aaron.li@intel.com) IronPort-SDR: 1b2sNHd2s++hGjtcV4eEWypKXVSLKxQ1lJNSUEqJr+2lOa0WcGcxGleKoMOlTQWmXSb43lzzS5 7Ka2YifWSNaw== X-IronPort-AV: E=McAfee;i="6000,8403,9842"; a="194241677" X-IronPort-AV: E=Sophos;i="5.78,438,1599548400"; d="scan'208";a="194241677" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Dec 2020 17:56:26 -0800 IronPort-SDR: 86xHdFOUEwZLTVFp7+sdh7qYgDsXqg/7udIS9nsEVpxK2jnw7g2NHW4A7KTW8wBnvx77v3g/tC jpp5bFjB/euA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,438,1599548400"; d="scan'208";a="382303498" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga007.jf.intel.com with ESMTP; 21 Dec 2020 17:56:26 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 21 Dec 2020 17:56:25 -0800 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 21 Dec 2020 17:56:24 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 21 Dec 2020 17:56:24 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.176) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Mon, 21 Dec 2020 17:56:24 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=l8tyM7ojksgJ3V7blN/z7ak6zH2bbLcL/NRoainWNHzrP/lzCMcbRdUa/YuTJY5sGPFXuMEY8u1Tp05qETtcU/o8yJ4ImmpOv8QLlTLdNdBbJGVYR9XU/LCKr9VJarGpf41WzRisP7/Fj05u2SdY6Q0en1WJYvV8qhvRJ0t5D05pZaAB2aM5r/Oxm/xwnHpHeaovaFw0gIyEdjqbgE4zRS3pnuJ9jS/NPxmrngtshRhgSa4EOxXdF77rY+MBgjrwsB4+1Seg7s6x/46w3QClwabYBRxeEo3Blw4RjiZaHMrcLBJZm+lDEh+b/JepoHls24IHcKjfQv/fJFVrCr16Ew== 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-SenderADCheck; bh=Jb1vc9ywprEIUxatwlYJsY1XVuf9dmyF3WkTt0RarS0=; b=Iu7h2OgUFK+g0uLTC/XVibC0czAK3Zyawjpmr/DRmT0S/4r/q2sqiHZrD1221mILJKcAoQqccuryWqDiXGpFtFePQ42Yzj7mGlKjJQyYyZgMEcd7fbUpiMcxqxSvcIXplgG/V1p4/sohUj1eD4dYVqAJKBKdt4cyD0B6u3acl1hWiNy65vQeKEgEJ7WoOmUdksq85WWyq0JEZ0KfG6pPkRuFmM6M4kRSO2hLSezLvhAt99D8wPt23e165Y92W+SYjtIXWLNbI+5XKMoNFlm2JcSOy94U/mhENrHL4qfRtYiO5WpbkAvpT/ZdcSC4JT/YCqR9DUGtlAGTrBx8cs3Tsg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Jb1vc9ywprEIUxatwlYJsY1XVuf9dmyF3WkTt0RarS0=; b=oVbCyHfQO0bvKPCeXiQcOb31E3/KJXNpxNDAZ7kUC8aer25j10yAymKG3JnZ4UPKeWTcz1W1/e4iE4QPvrE+zVOrfvDJju2WrU14WflQHWQ+LMf1v/3oXtAnpyDoqGDIZNl064bWf2tvQOyYXzwG/Wxe6qetIVxmPPYTfBGaGcE= Received: from SJ0PR11MB4895.namprd11.prod.outlook.com (2603:10b6:a03:2de::23) by BYAPR11MB3751.namprd11.prod.outlook.com (2603:10b6:a03:f8::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3676.33; Tue, 22 Dec 2020 01:56:23 +0000 Received: from SJ0PR11MB4895.namprd11.prod.outlook.com ([fe80::9d2c:de8a:5a90:cc47]) by SJ0PR11MB4895.namprd11.prod.outlook.com ([fe80::9d2c:de8a:5a90:cc47%2]) with mapi id 15.20.3676.033; Tue, 22 Dec 2020 01:56:23 +0000 From: "Aaron Li" To: "Feng, Bob C" , "devel@edk2.groups.io" , "gaoliming@byosoft.com.cn" Subject: Re: [edk2-devel] [PATCH v2 1/1] Silicon/FitGen: Enhance Slot mode support force mode for multiple FV. Thread-Topic: [edk2-devel] [PATCH v2 1/1] Silicon/FitGen: Enhance Slot mode support force mode for multiple FV. Thread-Index: AQHQMeOugSfCG7Gk7sT8rbsP88GJUKoPoPFggAAD3QCAAAFSQA== Date: Tue, 22 Dec 2020 01:56:23 +0000 Message-ID: References: <20201221062546.10545-1-aaron.li@intel.com> <004001d6d802$f247e320$d6d7a960$@byosoft.com.cn> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.5.1.3 dlp-product: dlpe-windows authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.212] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3dce686b-8b54-4dab-5f92-08d8a61cc8dc x-ms-traffictypediagnostic: BYAPR11MB3751: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Y04BuMNJdLz+Y26lqKJ8UC7jcXj6xOOTTFbEfJCa+6itsbJ2zfDMHiY/Kgi46SJEDiUbUdh769DrQwfoHTYqo36c52t8GBiA7xqLE0Rph8YyV/fLvUvn4XbXL5L2SUOaj/hfofNhDd9GFgHpoimGacbdODr+gun59i9YEMZZ1TJegJKpm8HvVzSSDLAlV+jtpSGWL3I0/zSjcT/LZg7mf1YzwjvaEMoYdOJbsa3UxUoBXrgOHilFdoDUfsUwMlyGEcBkjj5KNNoIVa8JOmIDnMY6AJniW4uamUj1rNXbuWvsI8oKCbbCOqmwI+KSSDUZeQzcQe3cAjx6yEq5hGiAbjAAt9k/Y4VIs89ikEhWYziq06k42PJSH05lYPyOGYMi9coy6R4XywYrLbisFzn6ZcqvWG4ef7IQkhalU/OX5nhZ+hTUDp0BDTZW1ybJYSWz8ao1V101Q0cXFGL9tLB4Fw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR11MB4895.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(136003)(346002)(366004)(376002)(39860400002)(52536014)(83380400001)(2906002)(5660300002)(26005)(186003)(478600001)(6506007)(966005)(9686003)(8676002)(66556008)(66476007)(316002)(66446008)(8936002)(71200400001)(33656002)(55016002)(66946007)(7696005)(53546011)(76116006)(64756008)(110136005)(86362001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?U09XSWwyNjd1bjQxNUhSZzJRNzJ1TlVYR3hhUFhBaFpSK09QdWlCQVV6dWo0?= =?utf-8?B?aW9Vb0VYS3FvdVRZVlp0c2ZyUWVtS0pKR0FQUnBXNEpFcVV0WmtrU3NTR1Vi?= =?utf-8?B?MFFPR3JUdURsdHRJR2FmNW51VEt6UjNGVGFnWm9iczFFazF0M1RzcmYxNHNj?= =?utf-8?B?ZXVkcG15S0Y0UGlTb3FzODBEK2l3cDA5anVGMlVodjBvOE9jeUJKckZ0WkFF?= =?utf-8?B?NGIwZ29GZkFZWURGallwVTd1Qm5KazFsWitlYS80c2VVM3lyZG1oWkllVU5n?= =?utf-8?B?NFFIbEYyN2ZtbGZ5WURNMWZLZVRYVW5BTE9KUHJoMzNyNG12R1pqKzQzdGh5?= =?utf-8?B?SUpNMDZvbWdBTWx0b0ZVZVUvWWJXYmRuZE1ueU5QYis5OWU3RDJyZlhvL3RB?= =?utf-8?B?a01vWnBJMGNESnUxbWQ5czhiYWk5YmoyZTA0aFhjTjVBVm9hNFlreUhNNkg2?= =?utf-8?B?YUo4T0drNExlWE44cWRDVElPZXA3N3U5L2Y0czYzczJ5UFpXY1F0a3gzRXJq?= =?utf-8?B?L1U5d3FQb0FSU3JYSmRmNStkOHZHYnpzN1o2TDJyWFUzamw1TlUzTWlsNjMr?= =?utf-8?B?Ym1DR3dMMFY4Qk1OdUxPQ2hYOWpWYmhSNGtVTkJvRnFoU2ljWXVMbXMxdkFX?= =?utf-8?B?VmpYT3J4b2RHRnpCSHh1WVdDM3VDN2Vvc1JnSUdLYkNIRUhGMjdMTmZHZ1Rm?= =?utf-8?B?K1RBdmpEUG9IWHo4UDlPTUM3Q0NJVXN6NnVyamFLaVVwN2pNS3pud3NTTjdR?= =?utf-8?B?YjVoemJHcGhpalpSdWlpU0YrQXF0b3FORVJteXo4cEhOcWtUYU5JL1M5MVRW?= =?utf-8?B?THdrYWJTcmlDMzRJTXhKUWRQUk5RM2NlalVTbkZYRUtFRHNGM2Fiam5aTjNC?= =?utf-8?B?K1A4WFI1cDh2cHVxV0N4d0pJUURYc21TVVVZVnl4TEhHaCtTNDNMdjdZZjQz?= =?utf-8?B?a1liNGF1dmJYSmZOVFI4eGxydWJrTVpqc09pckRIQkJwQTFiVEFHQ2VvSHZH?= =?utf-8?B?eUlycXBUdHozYnM3LzZPU2tFQXhCajFHR1VFUTBkNFRYV05VbXlrYTV5YkND?= =?utf-8?B?THY1R1JUWUxZS0t5UHdlOTM2M09vTDlGbWtEZzJxUzJ2c1I3ZXBmUnUwalk0?= =?utf-8?B?NE05d281eUNaMG1Ea1F1NlRJQXVTejhMYWpSb3BjMnRWR1pHcmxTdVhnU2pY?= =?utf-8?B?TDRBb2pYQWFjNDlPTkMwMVZCOEY1NEhXc0pEQW1FeU4xL0w0d0dVdUE3bEFr?= =?utf-8?B?OWJpMUgxRTQ1akJzRzkvSTVWQk02a1p4akM2NDZYTW9UOC80V3hpbFVlNWU4?= =?utf-8?Q?yTsKPhV1XQn6c=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR11MB4895.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3dce686b-8b54-4dab-5f92-08d8a61cc8dc X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Dec 2020 01:56:23.0831 (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: yolnCuWdegRntNy6/5BYbetIXG/vclWJfmd7wL1NHcR25n+vErqePk8EjIJlyUfIlEI2+CjP8mXq7rjoPXRohg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3751 Return-Path: aaron.li@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgQm9iICYgTGltaW5nLA0KDQpJIGhhZCByZXBsaWVkIGluIHByZXZpb3VzIG1haWwuDQoNCklm IFNsb3RTaXplIGlzIHplcm8sIGlzIGl0IHZhbGlkIG9yIG5vdD8NCi0tIFNsb3Qgc2l6ZSBzaG91 bGQgbm90IGJlIHplcm8sIEknbGwgY2hhbmdlIHRoZSBjb2RlLg0KDQpXaGF0IHB1cnBvc2UgaXMg Zm9yIHRoaXMgbmV3IGNoZWNrPw0KLS0gVGhlIHNsb3Qgc2l6ZSBzaG91bGQgYmUgbGFyZ2VyIHRo YW4gbWljcm9jb2RlIHNpemUsIHNpbmNlIHRoZSBtaWNyb2NvZGUgaXMgY29udGFpbmVkIGJ5IHNs b3QuDQoNCkRvIHlvdSBhZ3JlZSB3aXRoIGFkZGluZyB0aGlzIG5ldyBjaGVjaywgaWYgc28sIEkn bGwgbm90IHJlbW92ZSB0aGlzIGluIG15IG5leHQgcGF0Y2guDQoNClRoYW5rcy4NCg0KQmVzdCwN CkFhcm9uDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBGZW5nLCBCb2IgQyA8 Ym9iLmMuZmVuZ0BpbnRlbC5jb20+IA0KU2VudDogVHVlc2RheSwgRGVjZW1iZXIgMjIsIDIwMjAg OTo0NyBBTQ0KVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBnYW9saW1pbmdAYnlvc29mdC5jb20u Y247IExpLCBBYXJvbiA8YWFyb24ubGlAaW50ZWwuY29tPg0KU3ViamVjdDogUkU6IFtlZGsyLWRl dmVsXSBbUEFUQ0ggdjIgMS8xXSBTaWxpY29uL0ZpdEdlbjogRW5oYW5jZSBTbG90IG1vZGUgc3Vw cG9ydCBmb3JjZSBtb2RlIGZvciBtdWx0aXBsZSBGVi4NCg0KQWFyb24sDQoNCkkgaGF2ZSB0aGUg c2FtZSBxdWVzdGlvbnMuDQoNClRoYW5rcywNCkJvYg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBP biBCZWhhbGYgT2YgZ2FvbGltaW5nDQpTZW50OiBUdWVzZGF5LCBEZWNlbWJlciAyMiwgMjAyMCA5 OjM3IEFNDQpUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IExpLCBBYXJvbiA8YWFyb24ubGlAaW50 ZWwuY29tPg0KQ2M6IEZlbmcsIEJvYiBDIDxib2IuYy5mZW5nQGludGVsLmNvbT4NClN1YmplY3Q6 IOWbnuWkjTogW2VkazItZGV2ZWxdIFtQQVRDSCB2MiAxLzFdIFNpbGljb24vRml0R2VuOiBFbmhh bmNlIFNsb3QgbW9kZSBzdXBwb3J0IGZvcmNlIG1vZGUgZm9yIG11bHRpcGxlIEZWLg0KDQpBYXJv bjoNCiAgSSBhZGQgbXkgY29tbWVudC4gDQoNClRoYW5rcw0KTGltaW5nDQo+IC0tLS0t6YKu5Lu2 5Y6f5Lu2LS0tLS0NCj4g5Y+R5Lu25Lq6OiBib3VuY2UrMjc5NTIrNjkzMDErNDkwNTk1Mys4NzYx MDQ1QGdyb3Vwcy5pbw0KPiA8Ym91bmNlKzI3OTUyKzY5MzAxKzQ5MDU5NTMrODc2MTA0NUBncm91 cHMuaW8+IOS7o+ihqCBBYXJvbiBMaQ0KPiDlj5HpgIHml7bpl7Q6IDIwMjDlubQxMuaciDIx5pel IDE0OjI2DQo+IOaUtuS7tuS6ujogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4g5oqE6YCBOiBCb2Ig RmVuZyA8Ym9iLmMuZmVuZ0BpbnRlbC5jb20+OyBMaW1pbmcgR2FvIA0KPiA8Z2FvbGltaW5nQGJ5 b3NvZnQuY29tLmNuPg0KPiDkuLvpopg6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjIgMS8xXSBTaWxp Y29uL0ZpdEdlbjogRW5oYW5jZSBTbG90IG1vZGUNCnN1cHBvcnQNCj4gZm9yY2UgbW9kZSBmb3Ig bXVsdGlwbGUgRlYuDQo+IA0KPiBCWjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3No b3dfYnVnLmNnaT9pZD0zMTIyDQo+IA0KPiBBZGRpbmcgIi1MRiIvIi1sZiIgb3B0aW9uIHRvIHN1 cHBvcnQgc2xvdCBtb2RlIHdpdGhvdXQgRkZTIEdVSUQgY2hlY2suDQo+IEl0IHdpbGwgc3VwcG9y dCB0aGUgc2NlbmFyaW8gdGhhdCBtdWx0aXBsZSBNaWNyb2NvZGUgRlYgd2l0aCBkaWZmZXJlbnQg DQo+IEZGUyBHVUlEIGVuYWJsZSBzbG90IG1vZGUuDQo+IFRoZSBzaXplIG9mIHNsb3Qgc2hvdWxk IGJlIDE2IGJ5dGUtYWxpZ25lZCwgYW5kIGxhcmdlciB0aGFuIGV2ZXJ5IA0KPiBtaWNyb2NvZGUu DQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBBYXJvbiBMaSA8YWFyb24ubGlAaW50ZWwuY29tPg0KPiBD YzogQm9iIEZlbmcgPGJvYi5jLmZlbmdAaW50ZWwuY29tPg0KPiBDYzogTGltaW5nIEdhbyA8Z2Fv bGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KPiAtLS0NCj4gIFNpbGljb24vSW50ZWwvVG9vbHMvRml0 R2VuL0ZpdEdlbi5jIHwgMzkgKysrKysrKysrKysrKy0tLS0tLS0gDQo+IFNpbGljb24vSW50ZWwv VG9vbHMvRml0R2VuL0ZpdEdlbi5oIHwgIDIgKy0NCj4gIDIgZmlsZXMgY2hhbmdlZCwgMjcgaW5z ZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvU2lsaWNvbi9J bnRlbC9Ub29scy9GaXRHZW4vRml0R2VuLmMNCj4gYi9TaWxpY29uL0ludGVsL1Rvb2xzL0ZpdEdl bi9GaXRHZW4uYw0KPiBpbmRleCBlOTU0MWMxZTk1Y2IuLjZmN2RkZWRmN2U1ZiAxMDA2NDQNCj4g LS0tIGEvU2lsaWNvbi9JbnRlbC9Ub29scy9GaXRHZW4vRml0R2VuLmMNCj4gKysrIGIvU2lsaWNv bi9JbnRlbC9Ub29scy9GaXRHZW4vRml0R2VuLmMNCj4gQEAgLTMzMyw5ICszMzMsMTAgQEAgUmV0 dXJuczoNCj4gICAgICAgICAgICAiXHRbLUYgPEZpdFRhYmxlUG9pbnRlck9mZnNldD5dIFstRiAN Cj4gPEZpdFRhYmxlUG9pbnRlck9mZnNldD5dDQpbLVYNCj4gPEZpdEhlYWRlclZlcnNpb24+XVxu Ig0KPiANCj4gICAgICAgICAgICAiXHRbLU5BXVxuIg0KPiANCj4gICAgICAgICAgICAiXHRbLUEg PE1pY3JvY29kZUFsaWdubWVudD5dXG4iDQo+IA0KPiAtICAgICAgICAgICAiXHRbLVJFTUFQIDxU b3BGbGFzaEFkZHJlc3M+XG4iDQo+IA0KPiArICAgICAgICAgICJcdFstUkVNQVAgPFRvcEZsYXNo QWRkcmVzcz5cbiINCj4gDQo+ICAgICAgICAgICAgIlx0Wy1DTEVBUl1cbiINCj4gDQo+ICAgICAg ICAgICAgIlx0Wy1MIDxNaWNyb2NvZGVTbG90U2l6ZT4gPE1pY3JvY29kZUZmc0d1aWQ+XVxuIg0K PiANCj4gKyAgICAgICAgICAiXHRbLUxGIDxNaWNyb2NvZGVTbG90U2l6ZT5dXG4iDQo+IA0KPiAg ICAgICAgICAgICJcdFstSSA8Qmlvc0luZm9HdWlkPl1cbiINCj4gDQo+ICAgICAgICAgICAgIlx0 Wy1TIDxTdGFydHVwQWNtQWRkcmVzcw0KPiBTdGFydHVwQWNtU2l6ZT58PFN0YXJ0dXBBY21HdWlk Pl0gWy1WIDxTdGFydHVwQWNtVmVyc2lvbj5dXG4iDQo+IA0KPiAgICAgICAgICAgICJcdFstVSA8 RGlhZ25zdEFjbUFkZHJlc3M+fDxEaWFnbnN0QWNtR3VpZD5dXG4iDQo+IA0KPiBAQCAtMzY2LDYg KzM2Nyw3IEBAIFJldHVybnM6DQo+ICAgIHByaW50ZiAoIlx0TWljcm9jb2RlR3VpZCAgICAgICAg ICAtIEd1aWQgb2YgTWljcm9jb2RlIE1vZHVsZS5cbiIpOw0KPiANCj4gICAgcHJpbnRmICgiXHRN aWNyb2NvZGVTbG90U2l6ZSAgICAgIC0gT2NjdXBpZWQgcmVnaW9uIHNpemUgb2YgZWFjaA0KPiBN aWNyb2NvZGUgYmluYXJ5LlxuIik7DQo+IA0KPiAgICBwcmludGYgKCJcdE1pY3JvY29kZUZmc0d1 aWQgICAgICAgLSBHdWlkIG9mIEZGUyB3aGljaCBpcyB1c2VkIHRvIHNhdmUNCj4gTWljcm9jb2Rl IGJpbmFyeSIpOw0KPiANCj4gKyAgcHJpbnRmICgiXHQtTEYgICAgICAgICAgICAgICAgICAgIC0g TWljcm9jb2RlIFNsb3QgbW9kZSB3aXRob3V0IEZGUw0KPiBjaGVjaywgdHJlYXQgYWxsIE1pY3Jv Y29kZSBGViBhcyBzbG90IG1vZGUuIEluIHRoaXMgY2FzZSB0aGUgTWljcm9jb2RlIA0KPiBGViBz aG91bGQgb25seSBjb250YWluIG9uZSBGRlMuXG4iKTsNCj4gDQo+ICAgIHByaW50ZiAoIlx0LU5B ICAgICAgICAgICAgICAgICAgICAtIE5vIDB4ODAwIGFsaWduZWQgTWljcm9jb2RlDQo+IHJlcXVp cmVtZW50LiBObyAtTkEgbWVhbnMgTWljcm9jb2RlIGlzIGFsaWduZWQgd2l0aCBvcHRpb24gDQo+ IE1pY3JvY29kZUFsaWdubWVudCB2YWx1ZS5cbiIpOw0KPiANCj4gICAgcHJpbnRmICgiXHRNaWNy b2NvZGVBbGlnbm1lbnQgICAgIC0gSEVYIHZhbHVlIG9mIE1pY3JvY29kZSBhbGlnbm1lbnQuDQo+ IElnbm9yZWQgaWYgXCItTkFcIiBpcyBzcGVjaWZpZWQuIERlZmF1bHQgdmFsdWUgaXMgMHg4MDAu IFRoZSBNaWNyb2NvZGUNCnVwZGF0ZQ0KPiBkYXRhIG11c3Qgc3RhcnQgYXQgYSAxNi1ieXRlIGFs aWduZWQgbGluZWFyIGFkZHJlc3MuXG4iKTsNCj4gDQo+ICAgIHByaW50ZiAoIlx0UmVjb3JkVHlw ZSAgICAgICAgICAgICAtIEZJVCBlbnRyeSByZWNvcmQgdHlwZS4gVXNlciBzaG91bGQNCj4gZW5z dXJlIGl0IGlzIG9yZGVyZWQuXG4iKTsNCj4gDQo+IEBAIC04ODIsMTEgKzg4NCwxMyBAQCBSZXR1 cm5zOg0KPiAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgRml0RW50cnlOdW1iZXI7DQo+ IA0KPiAgICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgQmlvc0luZm9FeGlzdDsNCj4gDQo+ ICAgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICBTbG90TW9kZTsNCj4gDQo+ICsgIEJPT0xF QU4gICAgICAgICAgICAgICAgICAgICBTbG90TW9kZUZvcmNlOw0KPiANCj4gICAgQklPU19JTkZP X0hFQURFUiAgICAgICAgICAgICpCaW9zSW5mbzsNCj4gDQo+ICAgIEJJT1NfSU5GT19TVFJVQ1Qg ICAgICAgICAgICAqQmlvc0luZm9TdHJ1Y3Q7DQo+IA0KPiAgICBVSU5UTiAgICAgICAgICAgICAg ICAgICAgICAgQmlvc0luZm9JbmRleDsNCj4gDQo+IA0KPiANCj4gLSAgU2xvdE1vZGUgPSBGQUxT RTsNCj4gDQo+ICsgIFNsb3RNb2RlICAgICAgPSBGQUxTRTsNCj4gDQo+ICsgIFNsb3RNb2RlRm9y Y2UgPSBGQUxTRTsNCj4gDQo+IA0KPiANCj4gICAgLy8NCj4gDQo+ICAgIC8vIEluaXQgaW5kZXgN Cj4gDQo+IEBAIC0xMDMxLDcgKzEwMzUsOSBAQCBSZXR1cm5zOg0KPiAgICAvLw0KPiANCj4gICAg aWYgKChJbmRleCArIDEgPj0gYXJnYykgfHwNCj4gDQo+ICAgICAgICAoKHN0cmNtcCAoYXJndltJ bmRleF0sICItTCIpICE9IDApICYmDQo+IA0KPiAtICAgICAgIChzdHJjbXAgKGFyZ3ZbSW5kZXhd LCAiLWwiKSAhPSAwKSkgKSB7DQo+IA0KPiArICAgICAgIChzdHJjbXAgKGFyZ3ZbSW5kZXhdLCAi LWwiKSAhPSAwKSAmJg0KPiANCj4gKyAgICAgICAoc3RyY21wIChhcmd2W0luZGV4XSwgIi1MRiIp ICE9IDApICYmDQo+IA0KPiArICAgICAgIChzdHJjbXAgKGFyZ3ZbSW5kZXhdLCAiLWxmIikgIT0g MCkpKSB7DQo+IA0KPiAgICAgIC8vDQo+IA0KPiAgICAgIC8vIEJ5cGFzcw0KPiANCj4gICAgICAv Lw0KPiANCj4gQEAgLTEwMzksMTggKzEwNDUsMjEgQEAgUmV0dXJuczoNCj4gICAgfSBlbHNlIHsN Cj4gDQo+ICAgICAgU2xvdFNpemUgPSB4dG9pIChhcmd2W0luZGV4ICsgMV0pOw0KPiANCj4gDQo+ IA0KPiAtICAgIGlmIChTbG90U2l6ZSA9PSAwKSB7DQo+IA0KPiAtICAgICAgcHJpbnRmICgiSW52 YWxpZCBzbG90c2l6ZSA9ICVkXG4iLCBTbG90U2l6ZSk7DQo+IA0KPiArICAgIGlmIChTbG90U2l6 ZSAmIDB4Rikgew0KPiANCj4gKyAgICAgIHByaW50ZiAoIkludmFsaWQgc2xvdHNpemUgPSAweCV4 LCBNaWNyb2NvZGUgZGF0YSBtdXN0IHN0YXJ0IGF0IA0KPiArIGENCj4gMTYtYnl0ZSBhbGlnbmVk IGxpbmVhciBhZGRyZXNzIVxuIiwgU2xvdFNpemUpOw0KPiANCj4gICAgICAgIHJldHVybiAwOw0K PiANCj4gICAgICB9DQo+IA0KSWYgU2xvdFNpemUgaXMgemVybywgaXMgaXQgdmFsaWQgb3Igbm90 Pw0KDQo+IC0NCj4gDQo+IC0gICAgU2xvdE1vZGUgPSBJc0d1aWREYXRhKGFyZ3ZbSW5kZXggKyAy XSwgJk1pY3JvY29kZUZmc0d1aWQpOw0KPiANCj4gLSAgICBpZiAoIVNsb3RNb2RlKSB7DQo+IA0K PiAtICAgICAgcHJpbnRmICgiTmVlZCBhIGZmcyBHVUlEIGZvciBzZWFyY2ggdUNvZGUgZmZzXG4i KTsNCj4gDQo+IC0gICAgICByZXR1cm4gMDsNCj4gDQo+ICsgICAgaWYgKHN0cmNtcCAoYXJndltJ bmRleF0sICItTEYiKSA9PSAwIHx8IHN0cmNtcCAoYXJndltJbmRleF0sDQo+ICsgIi1sZiIpDQo9 PSAwKSB7DQo+IA0KPiArICAgICAgU2xvdE1vZGVGb3JjZSA9IFRSVUU7DQo+IA0KPiArICAgICAg SW5kZXggKz0gMjsNCj4gDQo+ICsgICAgfSBlbHNlIHsNCj4gDQo+ICsgICAgICBTbG90TW9kZSA9 IElzR3VpZERhdGEoYXJndltJbmRleCArIDJdLCAmTWljcm9jb2RlRmZzR3VpZCk7DQo+IA0KPiAr ICAgICAgaWYgKCFTbG90TW9kZSkgew0KPiANCj4gKyAgICAgICAgcHJpbnRmICgiTmVlZCBhIGZm cyBHVUlEIGZvciBzZWFyY2ggdUNvZGUgZmZzXG4iKTsNCj4gDQo+ICsgICAgICAgIHJldHVybiAw Ow0KPiANCj4gKyAgICAgIH0NCj4gDQo+ICsgICAgICBJbmRleCArPSAzOw0KPiANCj4gICAgICB9 DQo+IA0KPiAtDQo+IA0KPiAtICAgIEluZGV4ICs9IDM7DQo+IA0KPiAgICB9DQo+IA0KPiANCj4g DQo+ICAgIC8vDQo+IA0KPiBAQCAtMTIxOSw2ICsxMjI4LDEwIEBAIFJldHVybnM6DQo+ICAgICAg ICAgICAgICAgIGdGaXRUYWJsZUNvbnRleHQuRml0RW50cnlOdW1iZXIrKzsNCj4gDQo+IA0KPiAN Cj4gICAgICAgICAgICAgICAgaWYgKFNsb3RTaXplICE9IDApIHsNCj4gDQo+ICsgICAgICAgICAg ICAgICAgaWYgKFNsb3RTaXplIDwgTWljcm9jb2RlU2l6ZSkgew0KPiANCj4gKyAgICAgICAgICAg ICAgICAgIHByaW50ZiAoIlBhcmFtZXRlciBpbmNvcnJlY3QsIFNsb3Qgc2l6ZTogJXggaXMgdG9v DQpzbWFsbA0KPiBmb3IgTWljcm9jb2RlIHNpemU6ICV4IVxuIiwgU2xvdFNpemUsIE1pY3JvY29k ZVNpemUpOw0KPiANCj4gKyAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KPiANCj4gKyAgICAg ICAgICAgICAgICB9DQoNCldoYXQgcHVycG9zZSBpcyBmb3IgdGhpcyBuZXcgY2hlY2s/DQoNClRo YW5rcw0KTGltaW5nDQo+IA0KPiAgICAgICAgICAgICAgICAgIE1pY3JvY29kZUJ1ZmZlciArPSBT bG90U2l6ZTsNCj4gDQo+ICAgICAgICAgICAgICAgIH0gZWxzZSB7DQo+IA0KPiAgICAgICAgICAg ICAgICAgIE1pY3JvY29kZUJ1ZmZlciArPSBNaWNyb2NvZGVTaXplOw0KPiANCj4gQEAgLTEyMjgs NyArMTI0MSw3IEBAIFJldHVybnM6DQo+ICAgICAgICAgICAgICAvLy8NCj4gDQo+ICAgICAgICAg ICAgICAvLy8gQ2hlY2sgdGhlIHJlbWFpbmluZyBidWZmZXINCj4gDQo+ICAgICAgICAgICAgICAv Ly8NCj4gDQo+IC0gICAgICAgICAgICBpZiAoKChVSU5UMzIpKE1pY3JvY29kZUJ1ZmZlciAtIE1p Y3JvY29kZUZpbGVCdWZmZXIpIDwNCj4gTWljcm9jb2RlRmlsZVNpemUpICYmIFNsb3RNb2RlICE9 IDApIHsNCj4gDQo+ICsgICAgICAgICAgICBpZiAoKChVSU5UMzIpKE1pY3JvY29kZUJ1ZmZlciAt IE1pY3JvY29kZUZpbGVCdWZmZXIpIDwNCj4gTWljcm9jb2RlRmlsZVNpemUpICYmIChTbG90TW9k ZSB8fCBTbG90TW9kZUZvcmNlKSkgew0KPiANCj4gICAgICAgICAgICAgICAgZm9yIChXYWxrZXIg PSBNaWNyb2NvZGVCdWZmZXI7IFdhbGtlciA8IA0KPiBNaWNyb2NvZGVGaWxlQnVmZmVyICsgTWlj cm9jb2RlRmlsZVNpemU7IFdhbGtlcisrKSB7DQo+IA0KPiAgICAgICAgICAgICAgICAgIGlmICgq V2Fsa2VyICE9IDB4RkYpIHsNCj4gDQo+ICAgICAgICAgICAgICAgICAgICBwcmludGYgKCJFcnJv cjogZGV0ZWN0IG5vbi1zcGFyZSBzcGFjZSBhZnRlciB1Q29kZSANCj4gYXJyYXksIHBsZWFzZSBj aGVjayB1Q29kZSBhcnJheSFcbiIpOw0KPiANCj4gZGlmZiAtLWdpdCBhL1NpbGljb24vSW50ZWwv VG9vbHMvRml0R2VuL0ZpdEdlbi5oDQo+IGIvU2lsaWNvbi9JbnRlbC9Ub29scy9GaXRHZW4vRml0 R2VuLmgNCj4gaW5kZXggNDM1ZmMyNjIwOWRhLi41YWRkNmE4ODcwZTkgMTAwNjQ0DQo+IC0tLSBh L1NpbGljb24vSW50ZWwvVG9vbHMvRml0R2VuL0ZpdEdlbi5oDQo+ICsrKyBiL1NpbGljb24vSW50 ZWwvVG9vbHMvRml0R2VuL0ZpdEdlbi5oDQo+IEBAIC0zMSw3ICszMSw3IEBAIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50ICAvLyANCj4gVXRpbGl0eSB2ZXJzaW9u IGluZm9ybWF0aW9uDQo+IA0KPiAgLy8NCj4gDQo+ICAjZGVmaW5lIFVUSUxJVFlfTUFKT1JfVkVS U0lPTiAwDQo+IA0KPiAtI2RlZmluZSBVVElMSVRZX01JTk9SX1ZFUlNJT04gNjMNCj4gDQo+ICsj ZGVmaW5lIFVUSUxJVFlfTUlOT1JfVkVSU0lPTiA2NA0KPiANCj4gICNkZWZpbmUgVVRJTElUWV9E QVRFICAgICAgICAgIF9fREFURV9fDQo+IA0KPiANCj4gDQo+ICAvLw0KPiANCj4gLS0NCj4gMi4y OS4yLndpbmRvd3MuMg0KPiANCj4gDQo+IA0KPiAtPS09LT0tPS09LT0NCj4gR3JvdXBzLmlvIExp bmtzOiBZb3UgcmVjZWl2ZSBhbGwgbWVzc2FnZXMgc2VudCB0byB0aGlzIGdyb3VwLg0KPiBWaWV3 L1JlcGx5IE9ubGluZSAoIzY5MzAxKTogDQo+IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZl bC9tZXNzYWdlLzY5MzAxDQo+IE11dGUgVGhpcyBUb3BpYzogaHR0cHM6Ly9ncm91cHMuaW8vbXQv NzkxMjA5OTAvNDkwNTk1Mw0KPiBHcm91cCBPd25lcjogZGV2ZWwrb3duZXJAZWRrMi5ncm91cHMu aW8NCj4gVW5zdWJzY3JpYmU6IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC91bnN1Yg0K PiBbZ2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuXQ0KPiAtPS09LT0tPS09LT0NCj4gDQoNCg0KDQoN Cg0KDQoNCg0K