From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web10.6021.1608601607264696518 for ; Mon, 21 Dec 2020 17:46:47 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=k70jPlAu; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: bob.c.feng@intel.com) IronPort-SDR: 24WuDpo+RpDfrTuW0R3flKlk+7vNfvtyKVK9hJv3R7K3sN+Njg8a4r1xbZbyCALANDcwH7O+5p Xrrjs8jtwcdg== X-IronPort-AV: E=McAfee;i="6000,8403,9842"; a="172297662" X-IronPort-AV: E=Sophos;i="5.78,438,1599548400"; d="scan'208";a="172297662" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Dec 2020 17:46:43 -0800 IronPort-SDR: O8ulBP7os6Lq38P6AiXS4nYWaVHjWs68YSZ3mVEcRbPKG8Xdv3uApKsK+tlXPgYuYBMjN1T8xj FG7f7uUrTfrQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,438,1599548400"; d="scan'208";a="389582624" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga004.fm.intel.com with ESMTP; 21 Dec 2020 17:46:43 -0800 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX603.amr.corp.intel.com (10.22.229.16) 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:46:42 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx609.amr.corp.intel.com (10.22.229.22) 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:46:42 -0800 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.36.54) by edgegateway.intel.com (134.134.137.100) 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:46:41 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H41p8+7XzXYeWKD905dKler0FMkNonQp1X97cBLMRaXK1Wh1i/cfO1Tq6+lJaPQcCYgs0ZgoklR96c2+jX9/q79qK35x36I7q4TaJeJbl+0v0CNuuYMElaXj/eEUB139n33SvlRW3TbkRlgvxcwJV8k8Z7SVzUd/aofnOyssNG38QJnfjwX773i9eChbaX2RYEbDt1j3qB/rZ8v4zK/x9l0qlhC/ypQdkruEDC8pz/QdD8yW37pgpMyhSenDqtP6IvIb3Cda63AYNGr9kGnaAJmq0P+7nndIfrG1WPQByr7bNslyJ9tJtKkZCuhCyYnXJTFvTjeLDI6rRc/nNMZCaA== 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=Rxe0/+GgUc0pOxGeHE7yhYL0LCgl11BPEbwt8HDD0PQ=; b=S+TgnAxni6NLUSU2HZYj7QVuJ1GhPuPMlmBvHtzTYUoNyN1+pf+wpzitKQB7tpE8LnyfsuD7U6s9VzKTmpBnT85LKlwsD8jjFDipGt1k71HPqtpMvuca8S6w8jSuYQsOAlRw3JENZQFjNC2Jst2suqN7xXYsERlJW/whUBfP/7qJ0xcf4pXx0payf0x5b0CY8QTU0p+d6H18wR1jTTY2h1EC9vt9cAJWklezhdqBIMWNhOwkce1CC0T+8j1ktR1wCpjCW+pvmQM7SlDm4aOcjkc8CG8TSiQgdREQDfiaV4KWlQ8wmg/N6aV4+iQcmCiKl1ALMOTMTsuFK8VXAZ9mBA== 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=Rxe0/+GgUc0pOxGeHE7yhYL0LCgl11BPEbwt8HDD0PQ=; b=k70jPlAuM8Gkxd+OuGSNtGDEjNKeY7EWAhyUEQleccGrRKY4czWIhYgGYIflv43QHkHJ4hdpl0ctFdUs0xD6Z4hSu3TSRRrNfJkKkSediKFFNIoYZzxTAhXNqsbkV5/O6iSh4LeCyi8WMR3KSsEGg52vCot7/obUOF/5scJX2bo= Received: from DM6PR11MB4073.namprd11.prod.outlook.com (2603:10b6:5:19f::22) by DM5PR1101MB2107.namprd11.prod.outlook.com (2603:10b6:4:5a::19) 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:46:40 +0000 Received: from DM6PR11MB4073.namprd11.prod.outlook.com ([fe80::c9f:47ea:6321:5ccb]) by DM6PR11MB4073.namprd11.prod.outlook.com ([fe80::c9f:47ea:6321:5ccb%3]) with mapi id 15.20.3676.033; Tue, 22 Dec 2020 01:46:40 +0000 From: "Bob Feng" To: "devel@edk2.groups.io" , "gaoliming@byosoft.com.cn" , "Li, Aaron" 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: AQHW12IkpYWNVhoNY0m4RHyNY8kWRqoCVx+AgAACkaA= Date: Tue, 22 Dec 2020 01:46:40 +0000 Message-ID: References: <20201221062546.10545-1-aaron.li@intel.com> <004001d6d802$f247e320$d6d7a960$@byosoft.com.cn> In-Reply-To: <004001d6d802$f247e320$d6d7a960$@byosoft.com.cn> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.102.204.37] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b8131d12-af34-47f8-fe3e-08d8a61b6dba x-ms-traffictypediagnostic: DM5PR1101MB2107: 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: C6FuDKPq4wtSEtpw2GVpAizw8CqwtHoaOFfJ0qH00Xi3Q47LN7VXvAos2Px+gEzUTihWFN6c4MtgbyajrPSzWPSsAw4rXCgdYx11F8DqjRf8Uvm23Arlq6iOYtUMKkJ91b0TTxx6GkqYQYmItfObWiYuKOqaYX25ekBXVyv27hIGCQ8hNsAiHq0q4blUXyJx85NniXGnZM5Nd+hsUYMbbF1Qq2QUDo/fXcpA/95iIgBqriRHnPGa8thvjciuwcmVEwVs+/yIqDdLCSzFz/NszyrGfsSDUM/hJUSD8KK9pWVeYg9bsOAzGEz0qAgMim3OHHDShicxFYAOj6Jps1PanxqufLgXi7ynJBCU/+Oo+AwpFD1BecXkrKa++fvxtB5GdIEYczDamI+SPSizL4KC00BIcIWuIcxtjdhU4xUGOu546Q51j537JKWLWP7WnWObiqK0LbSzkjPGvc+gMVfTnw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB4073.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(39860400002)(366004)(396003)(346002)(376002)(53546011)(8936002)(7696005)(83380400001)(66556008)(8676002)(6506007)(66446008)(2906002)(9686003)(66476007)(966005)(64756008)(86362001)(52536014)(55016002)(66946007)(76116006)(26005)(110136005)(5660300002)(316002)(6636002)(71200400001)(186003)(478600001)(33656002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?Z1I4akMxeHV6c0lRMXZkT0lvYk9TQ3ovZ0ZFeFY5ME00MVNuZnJSMllOYnhR?= =?utf-8?B?bFNtK013V2w0NVdhTjRLcCtJUkozalpnTGVKODh4UmlWRWZ3aStKSm9qd2ZP?= =?utf-8?B?R2FUMEM5eko1VkVzbjBSekdJbnYzSTM5QmY3M2M4MDJLVUVyTXAySkdLTmkw?= =?utf-8?B?ZFRkajRxZ04rdWxKemxHTXByK1lEV2Z6ZDFZWW5STERnWWJsbEF3YnRtMkp3?= =?utf-8?B?RjJLTzNKYUtvTFZnendNZXBEeUs5dFVSZnBJTGp2QVFKencwNWhSOExJeHRR?= =?utf-8?B?UnU2UUhYQUI3V3NIUWhQU2lyQ1dXbHdCTENSSGViaDFhS2VJVkwwMzZrSzY0?= =?utf-8?B?TmRtMnUwYktuZ2tUU1F0cGwzNFR2N2RGc2dGWmY5YVh4MnZBZjEzeis1YXEw?= =?utf-8?B?T3U1U3JBaDNqdFMza0dzV2VDRnJLN0lXTmMreC9jU0o5ODFMWE1XU1RsS2ZT?= =?utf-8?B?NlRPS290a294NjMrdUhuUy9aMkh0QzNGYTJzUFZLdmJZaEVMYkN6dVNVaVRF?= =?utf-8?B?dEgrci9KKy8yak53bk5NMGlrdnp4ZkdnRXZQcWprcUFnVnhscHJNWXZWTlVI?= =?utf-8?B?Rlc2ZFpMdzQ4d0hoQzJodDNhRFlIS0Yvb3RCMnVXQmNldGk0UUNwOFZqMUU1?= =?utf-8?B?TExBK0FSUVJOa3VWSzhYdHY1STVJZThNRzhSQ3pKeE9xMXpVejNRajVPck12?= =?utf-8?B?R0ZjSFM4cXdtSFFpZkRDN3lTRHJDbURmWVJKUkROdU1HWllSODR3SHl3ajVN?= =?utf-8?B?U3ZWb0lXS0s2V1ZZc3NxSDc0M3pldE5CYTBMd2pxWWwxTU1HTEFyWGhhUnQ4?= =?utf-8?B?QUN3OE1HT1ZaZmtGTWxVUmtodGZhekFWS29Mdm1wa2lNd2Fkc0I0VDZzTmZi?= =?utf-8?B?am4wL2lodEtIOStUdWpCT2tjTWE5cjlxWElWcEpJUHdUUjFxcmxkeVBiRkt1?= =?utf-8?B?RjlHUUdEemVIc1V2LzA3S1FLVlFlUFNOMnh4UktHSHJkTHNHMGs5RERmcGh6?= =?utf-8?B?dW5DMzFYUU1adjJsa0x1MGFUMXZnam9vY016TnhVSlRNYVdGNGdXdGlyNm5n?= =?utf-8?B?UndrOCt0ZHM3K2xRenZKOU9qa2czUktzc3JFcGlrRlBnbU52aWdoTjJOZGlo?= =?utf-8?B?Y2YrZ3kyZkY4T0FRL3RuWW9LT2xkZXhvSGFmbDROVXNvek9LNGhONWpNVjdi?= =?utf-8?B?RzB0WkcxK3dsdVVnWWFmTjdsRHIyOUlKTzFkOUwrRTdObmE5a2JOVERGejRW?= =?utf-8?B?QVFaakRHMXF6Nnk1RFZRRWhMWHd6aG9GNHRPcUVpeHZrc2d6bHIyU2FjUVhI?= =?utf-8?Q?Ydz8N9IfEAWjg=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4073.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b8131d12-af34-47f8-fe3e-08d8a61b6dba X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Dec 2020 01:46:40.7324 (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: xHxck0klS2+0c5vNGzsA2s4gV3kJ2/vBnpjtmaNpWL6J0LPOhsx2Fof3zwlVVnzeG2sg5/QQ4dhj8nbK0+rtiw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1101MB2107 Return-Path: bob.c.feng@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QWFyb24sDQoNCkkgaGF2ZSB0aGUgc2FtZSBxdWVzdGlvbnMuDQoNClRoYW5rcywNCkJvYg0KDQot LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRl dmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgZ2FvbGltaW5nDQpTZW50OiBUdWVzZGF5 LCBEZWNlbWJlciAyMiwgMjAyMCA5OjM3IEFNDQpUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IExp LCBBYXJvbiA8YWFyb24ubGlAaW50ZWwuY29tPg0KQ2M6IEZlbmcsIEJvYiBDIDxib2IuYy5mZW5n QGludGVsLmNvbT4NClN1YmplY3Q6IOWbnuWkjTogW2VkazItZGV2ZWxdIFtQQVRDSCB2MiAxLzFd IFNpbGljb24vRml0R2VuOiBFbmhhbmNlIFNsb3QgbW9kZSBzdXBwb3J0IGZvcmNlIG1vZGUgZm9y IG11bHRpcGxlIEZWLg0KDQpBYXJvbjoNCiAgSSBhZGQgbXkgY29tbWVudC4gDQoNClRoYW5rcw0K TGltaW5nDQo+IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4g5Y+R5Lu25Lq6OiBib3VuY2UrMjc5 NTIrNjkzMDErNDkwNTk1Mys4NzYxMDQ1QGdyb3Vwcy5pbw0KPiA8Ym91bmNlKzI3OTUyKzY5MzAx KzQ5MDU5NTMrODc2MTA0NUBncm91cHMuaW8+IOS7o+ihqCBBYXJvbiBMaQ0KPiDlj5HpgIHml7bp l7Q6IDIwMjDlubQxMuaciDIx5pelIDE0OjI2DQo+IOaUtuS7tuS6ujogZGV2ZWxAZWRrMi5ncm91 cHMuaW8NCj4g5oqE6YCBOiBCb2IgRmVuZyA8Ym9iLmMuZmVuZ0BpbnRlbC5jb20+OyBMaW1pbmcg R2FvIA0KPiA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KPiDkuLvpopg6IFtlZGsyLWRldmVs XSBbUEFUQ0ggdjIgMS8xXSBTaWxpY29uL0ZpdEdlbjogRW5oYW5jZSBTbG90IG1vZGUNCnN1cHBv cnQNCj4gZm9yY2UgbW9kZSBmb3IgbXVsdGlwbGUgRlYuDQo+IA0KPiBCWjogaHR0cHM6Ly9idWd6 aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTIyDQo+IA0KPiBBZGRpbmcgIi1M RiIvIi1sZiIgb3B0aW9uIHRvIHN1cHBvcnQgc2xvdCBtb2RlIHdpdGhvdXQgRkZTIEdVSUQgY2hl Y2suDQo+IEl0IHdpbGwgc3VwcG9ydCB0aGUgc2NlbmFyaW8gdGhhdCBtdWx0aXBsZSBNaWNyb2Nv ZGUgRlYgd2l0aCBkaWZmZXJlbnQgDQo+IEZGUyBHVUlEIGVuYWJsZSBzbG90IG1vZGUuDQo+IFRo ZSBzaXplIG9mIHNsb3Qgc2hvdWxkIGJlIDE2IGJ5dGUtYWxpZ25lZCwgYW5kIGxhcmdlciB0aGFu IGV2ZXJ5IA0KPiBtaWNyb2NvZGUuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBBYXJvbiBMaSA8YWFy b24ubGlAaW50ZWwuY29tPg0KPiBDYzogQm9iIEZlbmcgPGJvYi5jLmZlbmdAaW50ZWwuY29tPg0K PiBDYzogTGltaW5nIEdhbyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KPiAtLS0NCj4gIFNp bGljb24vSW50ZWwvVG9vbHMvRml0R2VuL0ZpdEdlbi5jIHwgMzkgKysrKysrKysrKysrKy0tLS0t LS0gIA0KPiBTaWxpY29uL0ludGVsL1Rvb2xzL0ZpdEdlbi9GaXRHZW4uaCB8ICAyICstDQo+ICAy IGZpbGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQ0KPiANCj4g ZGlmZiAtLWdpdCBhL1NpbGljb24vSW50ZWwvVG9vbHMvRml0R2VuL0ZpdEdlbi5jDQo+IGIvU2ls aWNvbi9JbnRlbC9Ub29scy9GaXRHZW4vRml0R2VuLmMNCj4gaW5kZXggZTk1NDFjMWU5NWNiLi42 ZjdkZGVkZjdlNWYgMTAwNjQ0DQo+IC0tLSBhL1NpbGljb24vSW50ZWwvVG9vbHMvRml0R2VuL0Zp dEdlbi5jDQo+ICsrKyBiL1NpbGljb24vSW50ZWwvVG9vbHMvRml0R2VuL0ZpdEdlbi5jDQo+IEBA IC0zMzMsOSArMzMzLDEwIEBAIFJldHVybnM6DQo+ICAgICAgICAgICAgIlx0Wy1GIDxGaXRUYWJs ZVBvaW50ZXJPZmZzZXQ+XSBbLUYgDQo+IDxGaXRUYWJsZVBvaW50ZXJPZmZzZXQ+XQ0KWy1WDQo+ IDxGaXRIZWFkZXJWZXJzaW9uPl1cbiINCj4gDQo+ICAgICAgICAgICAgIlx0Wy1OQV1cbiINCj4g DQo+ICAgICAgICAgICAgIlx0Wy1BIDxNaWNyb2NvZGVBbGlnbm1lbnQ+XVxuIg0KPiANCj4gLSAg ICAgICAgICAgIlx0Wy1SRU1BUCA8VG9wRmxhc2hBZGRyZXNzPlxuIg0KPiANCj4gKyAgICAgICAg ICAiXHRbLVJFTUFQIDxUb3BGbGFzaEFkZHJlc3M+XG4iDQo+IA0KPiAgICAgICAgICAgICJcdFst Q0xFQVJdXG4iDQo+IA0KPiAgICAgICAgICAgICJcdFstTCA8TWljcm9jb2RlU2xvdFNpemU+IDxN aWNyb2NvZGVGZnNHdWlkPl1cbiINCj4gDQo+ICsgICAgICAgICAgIlx0Wy1MRiA8TWljcm9jb2Rl U2xvdFNpemU+XVxuIg0KPiANCj4gICAgICAgICAgICAiXHRbLUkgPEJpb3NJbmZvR3VpZD5dXG4i DQo+IA0KPiAgICAgICAgICAgICJcdFstUyA8U3RhcnR1cEFjbUFkZHJlc3MNCj4gU3RhcnR1cEFj bVNpemU+fDxTdGFydHVwQWNtR3VpZD5dIFstViA8U3RhcnR1cEFjbVZlcnNpb24+XVxuIg0KPiAN Cj4gICAgICAgICAgICAiXHRbLVUgPERpYWduc3RBY21BZGRyZXNzPnw8RGlhZ25zdEFjbUd1aWQ+ XVxuIg0KPiANCj4gQEAgLTM2Niw2ICszNjcsNyBAQCBSZXR1cm5zOg0KPiAgICBwcmludGYgKCJc dE1pY3JvY29kZUd1aWQgICAgICAgICAgLSBHdWlkIG9mIE1pY3JvY29kZSBNb2R1bGUuXG4iKTsN Cj4gDQo+ICAgIHByaW50ZiAoIlx0TWljcm9jb2RlU2xvdFNpemUgICAgICAtIE9jY3VwaWVkIHJl Z2lvbiBzaXplIG9mIGVhY2gNCj4gTWljcm9jb2RlIGJpbmFyeS5cbiIpOw0KPiANCj4gICAgcHJp bnRmICgiXHRNaWNyb2NvZGVGZnNHdWlkICAgICAgIC0gR3VpZCBvZiBGRlMgd2hpY2ggaXMgdXNl ZCB0byBzYXZlDQo+IE1pY3JvY29kZSBiaW5hcnkiKTsNCj4gDQo+ICsgIHByaW50ZiAoIlx0LUxG ICAgICAgICAgICAgICAgICAgICAtIE1pY3JvY29kZSBTbG90IG1vZGUgd2l0aG91dCBGRlMNCj4g Y2hlY2ssIHRyZWF0IGFsbCBNaWNyb2NvZGUgRlYgYXMgc2xvdCBtb2RlLiBJbiB0aGlzIGNhc2Ug dGhlIE1pY3JvY29kZSANCj4gRlYgc2hvdWxkIG9ubHkgY29udGFpbiBvbmUgRkZTLlxuIik7DQo+ IA0KPiAgICBwcmludGYgKCJcdC1OQSAgICAgICAgICAgICAgICAgICAgLSBObyAweDgwMCBhbGln bmVkIE1pY3JvY29kZQ0KPiByZXF1aXJlbWVudC4gTm8gLU5BIG1lYW5zIE1pY3JvY29kZSBpcyBh bGlnbmVkIHdpdGggb3B0aW9uIA0KPiBNaWNyb2NvZGVBbGlnbm1lbnQgdmFsdWUuXG4iKTsNCj4g DQo+ICAgIHByaW50ZiAoIlx0TWljcm9jb2RlQWxpZ25tZW50ICAgICAtIEhFWCB2YWx1ZSBvZiBN aWNyb2NvZGUgYWxpZ25tZW50Lg0KPiBJZ25vcmVkIGlmIFwiLU5BXCIgaXMgc3BlY2lmaWVkLiBE ZWZhdWx0IHZhbHVlIGlzIDB4ODAwLiBUaGUgTWljcm9jb2RlDQp1cGRhdGUNCj4gZGF0YSBtdXN0 IHN0YXJ0IGF0IGEgMTYtYnl0ZSBhbGlnbmVkIGxpbmVhciBhZGRyZXNzLlxuIik7DQo+IA0KPiAg ICBwcmludGYgKCJcdFJlY29yZFR5cGUgICAgICAgICAgICAgLSBGSVQgZW50cnkgcmVjb3JkIHR5 cGUuIFVzZXIgc2hvdWxkDQo+IGVuc3VyZSBpdCBpcyBvcmRlcmVkLlxuIik7DQo+IA0KPiBAQCAt ODgyLDExICs4ODQsMTMgQEAgUmV0dXJuczoNCj4gICAgVUlOVE4gICAgICAgICAgICAgICAgICAg ICAgIEZpdEVudHJ5TnVtYmVyOw0KPiANCj4gICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAg IEJpb3NJbmZvRXhpc3Q7DQo+IA0KPiAgICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgU2xv dE1vZGU7DQo+IA0KPiArICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgU2xvdE1vZGVGb3Jj ZTsNCj4gDQo+ICAgIEJJT1NfSU5GT19IRUFERVIgICAgICAgICAgICAqQmlvc0luZm87DQo+IA0K PiAgICBCSU9TX0lORk9fU1RSVUNUICAgICAgICAgICAgKkJpb3NJbmZvU3RydWN0Ow0KPiANCj4g ICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgIEJpb3NJbmZvSW5kZXg7DQo+IA0KPiANCj4g DQo+IC0gIFNsb3RNb2RlID0gRkFMU0U7DQo+IA0KPiArICBTbG90TW9kZSAgICAgID0gRkFMU0U7 DQo+IA0KPiArICBTbG90TW9kZUZvcmNlID0gRkFMU0U7DQo+IA0KPiANCj4gDQo+ICAgIC8vDQo+ IA0KPiAgICAvLyBJbml0IGluZGV4DQo+IA0KPiBAQCAtMTAzMSw3ICsxMDM1LDkgQEAgUmV0dXJu czoNCj4gICAgLy8NCj4gDQo+ICAgIGlmICgoSW5kZXggKyAxID49IGFyZ2MpIHx8DQo+IA0KPiAg ICAgICAgKChzdHJjbXAgKGFyZ3ZbSW5kZXhdLCAiLUwiKSAhPSAwKSAmJg0KPiANCj4gLSAgICAg ICAoc3RyY21wIChhcmd2W0luZGV4XSwgIi1sIikgIT0gMCkpICkgew0KPiANCj4gKyAgICAgICAo c3RyY21wIChhcmd2W0luZGV4XSwgIi1sIikgIT0gMCkgJiYNCj4gDQo+ICsgICAgICAgKHN0cmNt cCAoYXJndltJbmRleF0sICItTEYiKSAhPSAwKSAmJg0KPiANCj4gKyAgICAgICAoc3RyY21wIChh cmd2W0luZGV4XSwgIi1sZiIpICE9IDApKSkgew0KPiANCj4gICAgICAvLw0KPiANCj4gICAgICAv LyBCeXBhc3MNCj4gDQo+ICAgICAgLy8NCj4gDQo+IEBAIC0xMDM5LDE4ICsxMDQ1LDIxIEBAIFJl dHVybnM6DQo+ICAgIH0gZWxzZSB7DQo+IA0KPiAgICAgIFNsb3RTaXplID0geHRvaSAoYXJndltJ bmRleCArIDFdKTsNCj4gDQo+IA0KPiANCj4gLSAgICBpZiAoU2xvdFNpemUgPT0gMCkgew0KPiAN Cj4gLSAgICAgIHByaW50ZiAoIkludmFsaWQgc2xvdHNpemUgPSAlZFxuIiwgU2xvdFNpemUpOw0K PiANCj4gKyAgICBpZiAoU2xvdFNpemUgJiAweEYpIHsNCj4gDQo+ICsgICAgICBwcmludGYgKCJJ bnZhbGlkIHNsb3RzaXplID0gMHgleCwgTWljcm9jb2RlIGRhdGEgbXVzdCBzdGFydCBhdCANCj4g KyBhDQo+IDE2LWJ5dGUgYWxpZ25lZCBsaW5lYXIgYWRkcmVzcyFcbiIsIFNsb3RTaXplKTsNCj4g DQo+ICAgICAgICByZXR1cm4gMDsNCj4gDQo+ICAgICAgfQ0KPiANCklmIFNsb3RTaXplIGlzIHpl cm8sIGlzIGl0IHZhbGlkIG9yIG5vdD8NCg0KPiAtDQo+IA0KPiAtICAgIFNsb3RNb2RlID0gSXNH dWlkRGF0YShhcmd2W0luZGV4ICsgMl0sICZNaWNyb2NvZGVGZnNHdWlkKTsNCj4gDQo+IC0gICAg aWYgKCFTbG90TW9kZSkgew0KPiANCj4gLSAgICAgIHByaW50ZiAoIk5lZWQgYSBmZnMgR1VJRCBm b3Igc2VhcmNoIHVDb2RlIGZmc1xuIik7DQo+IA0KPiAtICAgICAgcmV0dXJuIDA7DQo+IA0KPiAr ICAgIGlmIChzdHJjbXAgKGFyZ3ZbSW5kZXhdLCAiLUxGIikgPT0gMCB8fCBzdHJjbXAgKGFyZ3Zb SW5kZXhdLCANCj4gKyAiLWxmIikNCj09IDApIHsNCj4gDQo+ICsgICAgICBTbG90TW9kZUZvcmNl ID0gVFJVRTsNCj4gDQo+ICsgICAgICBJbmRleCArPSAyOw0KPiANCj4gKyAgICB9IGVsc2Ugew0K PiANCj4gKyAgICAgIFNsb3RNb2RlID0gSXNHdWlkRGF0YShhcmd2W0luZGV4ICsgMl0sICZNaWNy b2NvZGVGZnNHdWlkKTsNCj4gDQo+ICsgICAgICBpZiAoIVNsb3RNb2RlKSB7DQo+IA0KPiArICAg ICAgICBwcmludGYgKCJOZWVkIGEgZmZzIEdVSUQgZm9yIHNlYXJjaCB1Q29kZSBmZnNcbiIpOw0K PiANCj4gKyAgICAgICAgcmV0dXJuIDA7DQo+IA0KPiArICAgICAgfQ0KPiANCj4gKyAgICAgIElu ZGV4ICs9IDM7DQo+IA0KPiAgICAgIH0NCj4gDQo+IC0NCj4gDQo+IC0gICAgSW5kZXggKz0gMzsN Cj4gDQo+ICAgIH0NCj4gDQo+IA0KPiANCj4gICAgLy8NCj4gDQo+IEBAIC0xMjE5LDYgKzEyMjgs MTAgQEAgUmV0dXJuczoNCj4gICAgICAgICAgICAgICAgZ0ZpdFRhYmxlQ29udGV4dC5GaXRFbnRy eU51bWJlcisrOw0KPiANCj4gDQo+IA0KPiAgICAgICAgICAgICAgICBpZiAoU2xvdFNpemUgIT0g MCkgew0KPiANCj4gKyAgICAgICAgICAgICAgICBpZiAoU2xvdFNpemUgPCBNaWNyb2NvZGVTaXpl KSB7DQo+IA0KPiArICAgICAgICAgICAgICAgICAgcHJpbnRmICgiUGFyYW1ldGVyIGluY29ycmVj dCwgU2xvdCBzaXplOiAleCBpcyB0b28NCnNtYWxsDQo+IGZvciBNaWNyb2NvZGUgc2l6ZTogJXgh XG4iLCBTbG90U2l6ZSwgTWljcm9jb2RlU2l6ZSk7DQo+IA0KPiArICAgICAgICAgICAgICAgICAg cmV0dXJuIDA7DQo+IA0KPiArICAgICAgICAgICAgICAgIH0NCg0KV2hhdCBwdXJwb3NlIGlzIGZv ciB0aGlzIG5ldyBjaGVjaz8NCg0KVGhhbmtzDQpMaW1pbmcNCj4gDQo+ICAgICAgICAgICAgICAg ICAgTWljcm9jb2RlQnVmZmVyICs9IFNsb3RTaXplOw0KPiANCj4gICAgICAgICAgICAgICAgfSBl bHNlIHsNCj4gDQo+ICAgICAgICAgICAgICAgICAgTWljcm9jb2RlQnVmZmVyICs9IE1pY3JvY29k ZVNpemU7DQo+IA0KPiBAQCAtMTIyOCw3ICsxMjQxLDcgQEAgUmV0dXJuczoNCj4gICAgICAgICAg ICAgIC8vLw0KPiANCj4gICAgICAgICAgICAgIC8vLyBDaGVjayB0aGUgcmVtYWluaW5nIGJ1ZmZl cg0KPiANCj4gICAgICAgICAgICAgIC8vLw0KPiANCj4gLSAgICAgICAgICAgIGlmICgoKFVJTlQz MikoTWljcm9jb2RlQnVmZmVyIC0gTWljcm9jb2RlRmlsZUJ1ZmZlcikgPA0KPiBNaWNyb2NvZGVG aWxlU2l6ZSkgJiYgU2xvdE1vZGUgIT0gMCkgew0KPiANCj4gKyAgICAgICAgICAgIGlmICgoKFVJ TlQzMikoTWljcm9jb2RlQnVmZmVyIC0gTWljcm9jb2RlRmlsZUJ1ZmZlcikgPA0KPiBNaWNyb2Nv ZGVGaWxlU2l6ZSkgJiYgKFNsb3RNb2RlIHx8IFNsb3RNb2RlRm9yY2UpKSB7DQo+IA0KPiAgICAg ICAgICAgICAgICBmb3IgKFdhbGtlciA9IE1pY3JvY29kZUJ1ZmZlcjsgV2Fsa2VyIDwgDQo+IE1p Y3JvY29kZUZpbGVCdWZmZXIgKyBNaWNyb2NvZGVGaWxlU2l6ZTsgV2Fsa2VyKyspIHsNCj4gDQo+ ICAgICAgICAgICAgICAgICAgaWYgKCpXYWxrZXIgIT0gMHhGRikgew0KPiANCj4gICAgICAgICAg ICAgICAgICAgIHByaW50ZiAoIkVycm9yOiBkZXRlY3Qgbm9uLXNwYXJlIHNwYWNlIGFmdGVyIHVD b2RlIA0KPiBhcnJheSwgcGxlYXNlIGNoZWNrIHVDb2RlIGFycmF5IVxuIik7DQo+IA0KPiBkaWZm IC0tZ2l0IGEvU2lsaWNvbi9JbnRlbC9Ub29scy9GaXRHZW4vRml0R2VuLmgNCj4gYi9TaWxpY29u L0ludGVsL1Rvb2xzL0ZpdEdlbi9GaXRHZW4uaA0KPiBpbmRleCA0MzVmYzI2MjA5ZGEuLjVhZGQ2 YTg4NzBlOSAxMDA2NDQNCj4gLS0tIGEvU2lsaWNvbi9JbnRlbC9Ub29scy9GaXRHZW4vRml0R2Vu LmgNCj4gKysrIGIvU2lsaWNvbi9JbnRlbC9Ub29scy9GaXRHZW4vRml0R2VuLmgNCj4gQEAgLTMx LDcgKzMxLDcgQEAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQg IC8vIA0KPiBVdGlsaXR5IHZlcnNpb24gaW5mb3JtYXRpb24NCj4gDQo+ICAvLw0KPiANCj4gICNk ZWZpbmUgVVRJTElUWV9NQUpPUl9WRVJTSU9OIDANCj4gDQo+IC0jZGVmaW5lIFVUSUxJVFlfTUlO T1JfVkVSU0lPTiA2Mw0KPiANCj4gKyNkZWZpbmUgVVRJTElUWV9NSU5PUl9WRVJTSU9OIDY0DQo+ IA0KPiAgI2RlZmluZSBVVElMSVRZX0RBVEUgICAgICAgICAgX19EQVRFX18NCj4gDQo+IA0KPiAN Cj4gIC8vDQo+IA0KPiAtLQ0KPiAyLjI5LjIud2luZG93cy4yDQo+IA0KPiANCj4gDQo+IC09LT0t PS09LT0tPQ0KPiBHcm91cHMuaW8gTGlua3M6IFlvdSByZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50 IHRvIHRoaXMgZ3JvdXAuDQo+IFZpZXcvUmVwbHkgT25saW5lICgjNjkzMDEpOiANCj4gaHR0cHM6 Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvNjkzMDENCj4gTXV0ZSBUaGlzIFRvcGlj OiBodHRwczovL2dyb3Vwcy5pby9tdC83OTEyMDk5MC80OTA1OTUzDQo+IEdyb3VwIE93bmVyOiBk ZXZlbCtvd25lckBlZGsyLmdyb3Vwcy5pbw0KPiBVbnN1YnNjcmliZTogaHR0cHM6Ly9lZGsyLmdy b3Vwcy5pby9nL2RldmVsL3Vuc3ViDQo+IFtnYW9saW1pbmdAYnlvc29mdC5jb20uY25dDQo+IC09 LT0tPS09LT0tPQ0KPiANCg0KDQoNCg0KDQoNCg0KDQo=