From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web11.3340.1685581406190827583 for ; Wed, 31 May 2023 18:03:26 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=jsPM3QrT; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: jiaxin.wu@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1685581406; x=1717117406; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=m7Ady8GzLkRbGftZ+KEyNPrzyEEpuCfdr+3nDwRls/U=; b=jsPM3QrT+P+KTuBU+yieKG6dMtgCEbTC7BM8X3+ld0vlXX51U4906JJs BQjSod77cWAknKjZWFJY1eG6np4M0ylEjwxR0rpkoxXA4Se6yc8mg/qIB VRBdK5gS6RKaY8VD4Q/wALfNMfjXo0DRzJIdNNvkdALCLLRjWjnfevY4n K/EkNxn+Nrl+utU7Zxd3d5LfUPH9LMRYBQogbEFgtV4ikTU6KFPpdRCCp 6OMTb3Z37oGE/3UV5C+vPeYB0sK+hTZJz0HXOf3L8aim2gDCBFfkvFtcA J2ipGkKRaunENAbiuiP0JAJUokkqrUno/cBv5swrN7pvKtz7QT0h0Qm1U Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10727"; a="344937001" X-IronPort-AV: E=Sophos;i="6.00,207,1681196400"; d="scan'208";a="344937001" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 May 2023 18:03:16 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10727"; a="831383641" X-IronPort-AV: E=Sophos;i="6.00,207,1681196400"; d="scan'208";a="831383641" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga004.jf.intel.com with ESMTP; 31 May 2023 18:03:03 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) 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.2507.23; Wed, 31 May 2023 18:03:03 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Wed, 31 May 2023 18:03:03 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.171) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Wed, 31 May 2023 18:03:03 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eLJxEd+vqiI6LngvTABb8mU14U/wXPNZUwyK2w+aZzLJ9FCG9ZQ0NUac69rZcUWqhcCO1YY1RUGFOUN3WqBOmCjR9FSKbjJHh0vysRNrIxLGhjpS3yUS3dUW+cuo5Rmhxj/1dJs92JWSG3PUicQJRUgg+3nr/oeNwATJBhQ+ghjNsMuGX/wJsikfIKHhynoIzCZbC9YAan5Ki6pSRKasDMP3ahbewrzVjiDJaqLrdqKBRcnKw9aIKc3JkT0sKwUCC0UYMVKAqaHIh7ASMCOgD/ElS92gg+NdeXQsBgiWwM/HCNGxdPsOvkaxTQ9HTg01qvccVHpsx5RJaMFD5QrseQ== 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=m7Ady8GzLkRbGftZ+KEyNPrzyEEpuCfdr+3nDwRls/U=; b=MQsTXuccs4xy0iLVVbd+pWhstE/f+xQVynfXz9BwLxSvp1nZfjeSf6qx6UokFIAf+RBGG9yB0p+zDd+MNjfIO6jxLKJTFMISdgf4E/LAdbwImJH7c3JPK7qBZ41QMeBsMlCtrNm8GvNUHMyBWk0ER+BlheqGeM36duiaoHAuYjErljikaWUlsHKlcZzu8J8lip+12F8J2QJB4yD128Mik22CSuyPy0/oMp3vhc1oqTFDeO3bfb7ZCJ138sLAY92dkt4Xi9ypEdTIrJ3z8u35r+HbINRvQbR61JyOH4d+RrUefme3sUGzeAIsG8QDMrebYV4CDxrpP3q716JD1we1Sg== 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 Received: from MN0PR11MB6158.namprd11.prod.outlook.com (2603:10b6:208:3ca::18) by CY8PR11MB6962.namprd11.prod.outlook.com (2603:10b6:930:59::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.23; Thu, 1 Jun 2023 01:02:56 +0000 Received: from MN0PR11MB6158.namprd11.prod.outlook.com ([fe80::647e:54e0:2be7:9d02]) by MN0PR11MB6158.namprd11.prod.outlook.com ([fe80::647e:54e0:2be7:9d02%2]) with mapi id 15.20.6433.022; Thu, 1 Jun 2023 01:02:55 +0000 From: "Wu, Jiaxin" To: "devel@edk2.groups.io" , "Li, Zhihao" , "Gao, Liming" , "Ni, Ray" , "kraxel@redhat.com" CC: "Wang, Jian J" Subject: Re: [edk2-devel] [PATCH v1 1/1] MdeModulePkg/VariableSmm.c: add Ap rendezvous check before SmmSetVariable. Thread-Topic: [edk2-devel] [PATCH v1 1/1] MdeModulePkg/VariableSmm.c: add Ap rendezvous check before SmmSetVariable. Thread-Index: AQHZiimglFrRgUaWtEmSOBhSYPO0x691Mv8Q Date: Thu, 1 Jun 2023 01:02:55 +0000 Message-ID: References: <20230510105653.635-1-zhihao.li@intel.com> <05b701d9896c$5df57160$19e05420$@byosoft.com.cn> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN0PR11MB6158:EE_|CY8PR11MB6962:EE_ x-ms-office365-filtering-correlation-id: 57cf1dec-a9c4-4844-d71d-08db623bef28 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: LPw050usIhfm5F9FAOC0ppEXSIhyfbSmcfy5vILAzAyY2eGrXWYvNukK/IG/aTptwQpjV/cgOdmHhctrSywp82q5hq7SDqPck7CtFarUsxsKH0ILZQhO5Rkvti3atm22Oc5s9iWq6swmooDh/ASFR3kigHgQ0Y2PGtnsARmf+ncSAgITLhYeg8nA9Y3aHM141ze2vyV9ZB+XUcCmypTblVyft0gTNUWa1Ye0fvP1GJ8+3iKUB7KVItHIPIej0G4IsVuNA+c6ihr4Ql+SjWKDdsV+NOkm8Uf5Sf77hCP/No6ppqK2kdRz+yrZ/H97YgBn2zjzfFt9zC/YZOBrM0t29A4lOlGyYYeldnn0Ao0q7CekXryoOfrdmWwIpZGK+pSbfQa0HVKnI6Xtlh65oUQHuyGhj//C5/yMO8m7yVU5bikzegcBCf7H9V/s+WEA7v50wMnkl6qRg92pThqe9ChedjilbioHqee8/PhcMGKPUTOPQtg2DceH+AxPENFtzGZqYAeIHR+kB1zQ7OdE5K8OZ8bfxQH0uwvdXryl5kLJgX6AUtJ5i+JVRww/0lbSwY88ksjRzT5U0Cq4HI7UR7ygc5v6VSwE4Xd74Lrdu3r2qBVZtppF+tFGtVPLBBkETfNIzrlakbiQ5idTfRLrR3ru8A== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN0PR11MB6158.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(376002)(39860400002)(366004)(396003)(451199021)(966005)(186003)(107886003)(38100700002)(41300700001)(83380400001)(9686003)(53546011)(6506007)(26005)(7696005)(45080400002)(478600001)(110136005)(71200400001)(66899021)(66946007)(76116006)(82960400001)(4326008)(64756008)(66446008)(66476007)(122000001)(316002)(66556008)(52536014)(8676002)(8936002)(5660300002)(86362001)(33656002)(55016003)(38070700005)(2906002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bDAwbFJsT3VCOTVZckFUYXM3U2JZb2RaL202WXh1WDkwY1FxNUVtT1p4dnJH?= =?utf-8?B?a0R4eWhuSmM3Z3hlaHNMMng2NWNhZXRXMUNwNTFmU2xYTjJFcjVqc2s4RDgz?= =?utf-8?B?ellsSHR5VjBENEZpbE9SV1FwdzJuQTBIS3JDa0FwRmJneUZ2SS9QK0hEM04v?= =?utf-8?B?RmtUOWFmR3ovbVZxZC9TSEJ5aTVlRUVjK2JJNEJLR3creXgwempmK3VvbDl5?= =?utf-8?B?T2dieE1ZRE9IdytGMHc2b0o0WUdLU2x5ZTZ3YjZSODB1Tlp0UWVTd0NtNzZT?= =?utf-8?B?d1FjMkQ0TWNiL0dSWTdpeFpJNHdWQXIvODR4RUpldDdTSmRvdzBvMDVWYnM2?= =?utf-8?B?V09ray8zb0loSzZMVjUrRjVwSEdhdnNXL2Nrd25TWFFYL05tcmk4cGJRLzNP?= =?utf-8?B?bmJyVzRJTzRpQzRBaWtuQXBjbXFsazVLNjV3dll4bW90R1pOVC9IR2hnaVNa?= =?utf-8?B?dEVaNHg2VXlqM2pFVWE4cEprWk5BdzIrb3cxRGtKcTVNZlk3bFZxN1UwVUYz?= =?utf-8?B?ZlVyMG9aZEFsellEeE1EODBXamlkZHo4TXNWcWxJM1ZwYnlVSzRlYW5EeWJy?= =?utf-8?B?SkVPRWVwZWhGU0w3NXV0VWNITVdnc3h4SFBnTzVCSGErRFNSeTBZWTJiQjQ5?= =?utf-8?B?SklGYmU3RHFITHNuT0NPSDE5Mmpsd1AzUVlGNUNUTUg1Y0RuQzVDWmtta3Zw?= =?utf-8?B?ajNmSEY5cG1SNG1WNytXcjZCUDhiSjFDU2ZES1l3SDVRZk5nS3hhdm03ekor?= =?utf-8?B?cTR6Q2lvcjJ4dzJuVTM2ZzJ5Vjg2M0hoMTAvRmZBSXowcm9TNGVvdWhRcUFr?= =?utf-8?B?ZFBjdndLc0REN0hzWngydTV3SWtFbHZFTnYxaGV4QnZLQW1KR3VTMjlsMC83?= =?utf-8?B?dENlYitHWldYSk5CZlRSeXlYSUx6dldKWGM5aDlUeXRPY3ZpdFJMeStLMGY1?= =?utf-8?B?RDRUQk5ZNTZVM3k3NTgrR0JJbmM3RHB5ZFMzWFNIZWNxMGpOaTBqTjA2clk4?= =?utf-8?B?YU52TmkwNk1IYVhqU1FJWGtYeXZ2aUxEYzhmZWtBbUVNQnNmbGhZU21rMXhB?= =?utf-8?B?L09GM1N4WnIvQk1jcTJmcS9xWUhabW5hUzNXTGs3OUdPZ2FXMlppb3RaSC81?= =?utf-8?B?cmJIbVQzNFZORWRaSDBqSWh5TXl2SnRWSGhUQy9ZSEJQVStJTXNjd0cvQk5V?= =?utf-8?B?TVltM3hkREFJNFhKMk9ERlVRMHQvNE96RGRoSW9NRGhsYytuV2tJcENLa0Rs?= =?utf-8?B?S3BnWUpBRDdpRWg0Q2dzc3h0VEtLWXZRVzlJbUM4YmhKak5EV2p5ZHU2Y3pH?= =?utf-8?B?d2RrbUxYRTE0WVRIQi8wMGFoVzQxbnY3S1k2cUFKMmlBK2I3a24ya2xXbEVj?= =?utf-8?B?TkJJRUxtTFozd1NoaTJlSE9SMXh1bDRtWXdGaFUxaVVaeDNmSVR3dEZtRllH?= =?utf-8?B?MFBudE1VYjlQVkxWcnpPTmpiY2N2WWl6dmJJMUdEeFQzYkYwTkFrM01Ic3pK?= =?utf-8?B?dUlEQlMrZVRIWkFoRWt1ZUl2NnFiMmxCSFptL3p6cStVWm1lNGtGZTE5dlcw?= =?utf-8?B?WUxWTDBZLzBuOTI0NE1CV3lyWTRPYW9yYksvMW5LdDdMdk8wWnN3allwV1I3?= =?utf-8?B?NFV0SEgwRDJZV29LTElQTlk0RlQwdWMxNVpCS2t1THFGM25LbGJicVN3MEZx?= =?utf-8?B?NmJOdG9iSXZidWU2aGVNajg3MlBFNldUblNDOW5FbXlpRjNiV3dXS1YzUEZt?= =?utf-8?B?LytwVkhkSDFXMlRrVDhqcUZScXdUOFBXaDN6NFdseXAxNTBTVHJteDlSMkhE?= =?utf-8?B?UkZYRHBuNEx3SnBzSCtxbEZiZndZbXRPZWVTaGg1dVVONnhLcmpmWVEzQjAx?= =?utf-8?B?SUlLOGk2S0tJdEpHSmN6TVNCWnRMVURINWZxSlJsYVNVN0ViNlR6c05mM3Jz?= =?utf-8?B?Y004MzdMaW9BRlFjVHlkSG1YM21HQi9vbmhwUjBFWDdoSmIwNXdEbk5DUzFz?= =?utf-8?B?alNTcEszRnhpWHFCUXZ4ZjFTdVpiZzRDay9HUmg2Ym5mazR2ZXQ2TVFUS3hv?= =?utf-8?B?dC81VFNvYVZQMWhEOS9OamM3b1lPSXdKdTRRNlVJSmgvVVV5c2h0dGlMOVN5?= =?utf-8?Q?wd+4=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN0PR11MB6158.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 57cf1dec-a9c4-4844-d71d-08db623bef28 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Jun 2023 01:02:55.7563 (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: Ib6DJQviwS6Y3tDrcbDMWuUgPlFrdqunE/boHnw0wMO/ZSa5nttU6bxp5pR78fr7n5OoH4fVe6mRifbqMmre2A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB6962 Return-Path: jiaxin.wu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgQWxsLCANCg0KSSB0aGluayB3ZSBuZWVkIHRoaXMgcGF0Y2g6DQoNClRoZXJlIGlzIGEgcmVx dWlyZW1lbnQgdGhhdCBhbGwgQ1BVIHRocmVhZHMgbXVzdCBpbiBTTU0gZm9yIE5vbi1Wb2xhdGls ZSB2YXJpYWJsZS4gQmVjYXVzZSB0aGUgU01NIHdpbGwgZGlzYWJsZXMgdGhlIGZsYXNoIHByb3Rl Y3Rpb24uIEJlZm9yZSB0aGF0LCB3ZSBtdXN0IGd1YXJhbnRlZSBhbGwgQ1BVIHRocmVhZHMgYXJl IGluIFNNTSB0byBhdm9pZCB0aGUgbm9uLXNtbSBtb2RlIGNwdXMgbW9kaWZ5IHRoZSBmbGFzaC4N Cg0KDQpaaGloYW8sDQoNCkkgdGhpbmsgdGhpcyBpcyBvbmx5IG5lZWRlZCBmb3IgdGhlIE5vbi1W b2xhdGlsZSwgSSBzdWdnZXN0IGFzIGJlbG93IGNoZWNrOg0KDQogICAgICBpZiAoKEF0dHJpYnV0 ZXMgJiBFRklfVkFSSUFCTEVfTk9OX1ZPTEFUSUxFKSAhPSAwKSB7DQogICAgICAgIGlmIChFRklf RVJST1IgKFNtbVdhaXRGb3JBbGxQcm9jZXNzb3IgKFRSVUUpKSkgew0KICAgICAgICAgIERFQlVH ICgoREVCVUdfRVJST1IsICIgU21tVmFyaWFibGVTZXRWYXJpYWJsZTogRmFpbCB0byB3YWl0IGZv ciBhbGwgQVAgY2hlY2sgaW4gU01NIVxuIikpOw0KICAgICAgICAgIFN0YXR1cyA9IEVGSV9BQk9S VEVEOw0KICAgICAgICAgIGdvdG8gRVhJVDsNCiAgICAgICAgfQ0KICAgICAgfQ0KDQpUaGFua3Ms DQpKaWF4aW4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXZlbEBl ZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBMaSwNCj4g WmhpaGFvDQo+IFNlbnQ6IEZyaWRheSwgTWF5IDE5LCAyMDIzIDQ6MTEgUE0NCj4gVG86IEdhbywg TGltaW5nIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsg TmksDQo+IFJheSA8cmF5Lm5pQGludGVsLmNvbT47IGtyYXhlbEByZWRoYXQuY29tDQo+IENjOiBX YW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsy LWRldmVsXSBbUEFUQ0ggdjEgMS8xXSBNZGVNb2R1bGVQa2cvVmFyaWFibGVTbW0uYzoNCj4gYWRk IEFwIHJlbmRlenZvdXMgY2hlY2sgYmVmb3JlIFNtbVNldFZhcmlhYmxlLg0KPiANCj4gSGkgTGlt aW5nDQo+IEluIEFwLVJlbGF4ZWQgbW9kZSwgQnNwIHdpbGwgbm90IHdhaXQgZm9yIGFsbCBhcCBh cnJpdmUgYW5kIGNhbGwgdGhlIFNNSQ0KPiBoYW5kbGVycy4gIEJ1dCBzb21lIFNNSSBoYW5kbGVy cyBuZWVkIGFsbCBBcHMgYXJyaXZlIGluIHNtbSBtb2RlIHN1Y2ggYXMNCj4gU21tU2V0VmFyaWFi bGUuIEFzIHRoZSBkZXNpZ24sIFNldFZhcmlhYmxlIG5lZWQgdG8gbGV0IGFsbCBhcHMgYXJyaXZl IGJlY2F1c2UNCj4gaXQgd2lsbCB3cml0ZSBmbGFzaC4gSGFsZiB5ZWFyIGFnbywgSSBzZW5kIHRo ZSBwYXRjaCB0aGF0IGNhbGxpbmcNCj4gU21tQ3B1UmVuZGV6dm91cygpIGJlZm9yZSBTbW1TZXRW YXJpYWJsZS4gSXQgd2FzIHJldmlld2VkIGJ1dCBoYXNuJ3QNCj4gbWVyZ2VkLiBTbW1DcHVSZW5k ZXp2b3VzKCkgd2lsbCByZXR1cm4gaW1tZWRpYXRlbHkgaW4gdHJhZGl0aW9uYWwtQVANCj4gbW9k ZS4NCj4gSSdtIG5vdCBzdXJlIHdoYXQgcmV0dXJucyBFRklfQUNDRVNTX0RFTklFRC4gQ2FsbGlu ZyBTbW1DcHVSZW5kZXp2b3VzKCkNCj4gYmVmb3JlIFNtbVNldFZhcmlhYmxlIGlzIG91ciBvcmln aW5hbCBkZXNpZ24gYnV0IGhhdmVuJ3QgaW1wbGVtZW50ZWQuDQo+IA0KPiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBnYW9saW1pbmcgPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5j bj4NCj4gU2VudDogVGh1cnNkYXksIE1heSAxOCwgMjAyMyA1OjM4IFBNDQo+IFRvOiBMaSwgWmhp aGFvIDx6aGloYW8ubGlAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW87IE5pLCBSYXkN Cj4gPHJheS5uaUBpbnRlbC5jb20+OyBrcmF4ZWxAcmVkaGF0LmNvbQ0KPiBDYzogV2FuZywgSmlh biBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+DQo+IFN1YmplY3Q6IOWbnuWkjTogW1BBVENIIHYx IDEvMV0gTWRlTW9kdWxlUGtnL1ZhcmlhYmxlU21tLmM6IGFkZCBBcA0KPiByZW5kZXp2b3VzIGNo ZWNrIGJlZm9yZSBTbW1TZXRWYXJpYWJsZS4NCj4gDQo+IFpoaWhhbzoNCj4gICBIYXZlIHlvdSBy b290IGNhdXNlIHRoaXMgaXNzdWUgdGhhdCBTbW1WYXJpYWJsZVNldFZhcmlhYmxlIG1heSByZXR1 cm4NCj4gRUZJX0FDQ0VTU19ERU5JRUQ/DQo+IA0KPiAgIEkgYW0gbm90IHN1cmUgd2hldGhlciB0 aGlzIGZpeCBpcyBwcm9wZXIuIEkgYWxzbyBhZGQgVWVmaUNwdVBrZyBtYWludGFpbmVycw0KPiBS YXkgYW5kIEdlcmQgaW4gdGhlIG1haWwgbG9vcCBmb3IgdGhpcyBkaXNjdXNzaW9uLg0KPiANCj4g VGhhbmtzDQo+IExpbWluZw0KPiA+IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4gPiDlj5Hku7bk uro6IFpoaWhhbyBMaSA8emhpaGFvLmxpQGludGVsLmNvbT4NCj4gPiDlj5HpgIHml7bpl7Q6IDIw MjPlubQ15pyIMTDml6UgMTg6NTcNCj4gPiDmlLbku7bkuro6IGRldmVsQGVkazIuZ3JvdXBzLmlv DQo+ID4g5oqE6YCBOiBKaWFuIEogV2FuZyA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgTGltaW5n IEdhbw0KPiA+IDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+DQo+ID4g5Li76aKYOiBbUEFUQ0gg djEgMS8xXSBNZGVNb2R1bGVQa2cvVmFyaWFibGVTbW0uYzogYWRkIEFwIHJlbmRlenZvdXMNCj4g Y2hlY2sNCj4gPiBiZWZvcmUgU21tU2V0VmFyaWFibGUuDQo+ID4NCj4gPiBSRUY6IGh0dHBzOi8v YnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQyOQ0KPiA+DQo+ID4gRm9y IEFwLVJlbGF4ZWQgc3luYyBtb2RlLCBTbW1WYXJpYWJsZVNldFZhcmlhYmxlKCkgbmVlZCB0byBs ZXQgYWxsIEFwcw0KPiA+IGFycml2ZSB0byBzbW0gYmVmb3JlIGl0IHNldCB0aGUgdmFyaWFibGUu IElmIG5vdCwgaXQgd291bGQgcmV0dXJuDQo+ID4gRUZJX0FDQ0VTU19ERU5JRUQuDQo+ID4NCj4g PiBDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4gPiBDYzogTGltaW5n IEdhbyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTog WmhpaGFvIExpIDx6aGloYW8ubGlAaW50ZWwuY29tPg0KPiA+IC0tLQ0KPiA+ICBNZGVNb2R1bGVQ a2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVTbW0uYw0KPiA+IHwgMTAg KysrKysrKysrLQ0KPiA+ICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVE eGUvVmFyaWFibGVTbW0uaW5mDQo+ID4gfCAgMyArKy0NCj4gPg0KPiBNZGVNb2R1bGVQa2cvVW5p dmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVTdGFuZGFsb25lTW0uaW5mDQo+ID4g fCAgMyArKy0NCj4gPiAgMyBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0 aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdA0KPiBhL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwv VmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVNtbS5jDQo+ID4gYi9NZGVNb2R1bGVQa2cvVW5p dmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVTbW0uYw0KPiA+IGluZGV4IDUyNTNj MzI4ZGNkOS4uNDk0NDkwM2U2NGQ0IDEwMDY0NA0KPiA+IC0tLSBhL01kZU1vZHVsZVBrZy9Vbml2 ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVNtbS5jDQo+ID4gKysrIGIvTWRlTW9k dWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlU21tLmMNCj4gPiBA QCAtMTQsNyArMTQsNyBAQA0KPiA+ICAgIFZhcmlhYmxlU2VydmljZVNldFZhcmlhYmxlKCksIFZh cmlhYmxlU2VydmljZVF1ZXJ5VmFyaWFibGVJbmZvKCksDQo+ID4gUmVjbGFpbUZvck9TKCksDQo+ ID4NCj4gPiAgICBTbW1WYXJpYWJsZUdldFN0YXRpc3RpY3MoKSBzaG91bGQgYWxzbyBkbyB2YWxp ZGF0aW9uIGJhc2VkIG9uIGl0cw0KPiA+IG93biBrbm93bGVkZ2UuDQo+ID4NCj4gPg0KPiA+DQo+ ID4gLUNvcHlyaWdodCAoYykgMjAxMCAtIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmln aHRzDQo+ID4gcmVzZXJ2ZWQuPEJSPg0KPiA+DQo+ID4gK0NvcHlyaWdodCAoYykgMjAxMCAtIDIw MjMsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzDQo+ID4gK3Jlc2VydmVkLjxCUj4NCj4g Pg0KPiA+ICBDb3B5cmlnaHQgKGMpIDIwMTgsIExpbmFybywgTHRkLiBBbGwgcmlnaHRzIHJlc2Vy dmVkLjxCUj4NCj4gPg0KPiA+ICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudA0KPiA+DQo+ID4NCj4gPg0KPiA+IEBAIC0yOCw2ICsyOCw3IEBAIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4NCj4gPg0KPiA+ICAjaW5jbHVk ZSA8TGlicmFyeS9NbVNlcnZpY2VzVGFibGVMaWIuaD4NCj4gPg0KPiA+ICAjaW5jbHVkZSA8TGli cmFyeS9WYXJpYWJsZVBvbGljeUxpYi5oPg0KPiA+DQo+ID4gKyNpbmNsdWRlIDxMaWJyYXJ5L1Nt bUNwdVJlbmRlenZvdXNMaWIuaD4NCj4gPg0KPiA+DQo+ID4NCj4gPiAgI2luY2x1ZGUgPEd1aWQv U21tVmFyaWFibGVDb21tb24uaD4NCj4gPg0KPiA+ICAjaW5jbHVkZSAiVmFyaWFibGUuaCINCj4g Pg0KPiA+IEBAIC04Nyw2ICs4OCwxMyBAQCBTbW1WYXJpYWJsZVNldFZhcmlhYmxlICggIHsNCj4g Pg0KPiA+ICAgIEVGSV9TVEFUVVMgIFN0YXR1czsNCj4gPg0KPiA+DQo+ID4NCj4gPiArICAvLw0K PiA+DQo+ID4gKyAgLy8gTmVlZCB0byB3YWl0IGZvciBhbGwgQXBzIHRvIGFycml2ZSBpbiBSZWxh eGVkLUFQIFN5bmMgTW9kZQ0KPiA+DQo+ID4gKyAgLy8NCj4gPg0KPiA+ICsgIGlmIChFRklfRVJS T1IgKFNtbVdhaXRGb3JBbGxQcm9jZXNzb3IgKFRSVUUpKSkgew0KPiA+DQo+ID4gKyAgICBERUJV RyAoKERFQlVHX0VSUk9SLCAiU2V0VmFyaWFibGU6IGZhaWwgdG8gd2FpdCBmb3IgYWxsIEFQIGNo ZWNrDQo+ID4gKyBpbg0KPiA+IFNNTSFcbiIpKTsNCj4gPg0KPiA+ICsgIH0NCj4gPg0KPiA+ICsN Cj4gPg0KPiA+ICAgIC8vDQo+ID4NCj4gPiAgICAvLyBEaXNhYmxlIHdyaXRlIHByb3RlY3Rpb24g d2hlbiB0aGUgY2FsbGluZyBTZXRWYXJpYWJsZSgpIHRocm91Z2gNCj4gPiBFRklfU01NX1ZBUklB QkxFX1BST1RPQ09MLg0KPiA+DQo+ID4gICAgLy8NCj4gPg0KPiA+IGRpZmYgLS1naXQNCj4gPiBh L01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVNtbS5p bmYNCj4gPiBiL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJp YWJsZVNtbS5pbmYNCj4gPiBpbmRleCA4YzU1MmI4N2UwODAuLjFjZjBkMDUxZTZjOSAxMDA2NDQN Cj4gPiAtLS0gYS9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFy aWFibGVTbW0uaW5mDQo+ID4gKysrIGIvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9S dW50aW1lRHhlL1ZhcmlhYmxlU21tLmluZg0KPiA+IEBAIC0xOCw3ICsxOCw3IEBADQo+ID4gICMg IG1heSBub3QgYmUgbW9kaWZpZWQgd2l0aG91dCBhdXRob3JpemF0aW9uLiBJZiBwbGF0Zm9ybSBm YWlscyB0bw0KPiBwcm90ZWN0DQo+ID4gdGhlc2UgcmVzb3VyY2VzLA0KPiA+DQo+ID4gICMgIHRo ZSBhdXRoZW50aWNhdGlvbiBzZXJ2aWNlIHByb3ZpZGVkIGluIHRoaXMgZHJpdmVyIHdpbGwgYmUg YnJva2VuLA0KPiA+IGFuZA0KPiB0aGUNCj4gPiBiZWhhdmlvciBpcyB1bmRlZmluZWQuDQo+ID4N Cj4gPiAgIw0KPiA+DQo+ID4gLSMgQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxOSwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMNCj4gPiByZXNlcnZlZC48QlI+DQo+ID4NCj4gPiArIyBDb3B5 cmlnaHQgKGMpIDIwMTAgLSAyMDIzLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cw0KPiA+ ICtyZXNlcnZlZC48QlI+DQo+ID4NCj4gPiAgIyBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jw b3JhdGlvbi4NCj4gPg0KPiA+ICAjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1 c2UtUGF0ZW50DQo+ID4NCj4gPiAgIw0KPiA+DQo+ID4gQEAgLTg0LDYgKzg0LDcgQEANCj4gPiAg ICBWYXJpYWJsZVBvbGljeUxpYg0KPiA+DQo+ID4gICAgVmFyaWFibGVQb2xpY3lIZWxwZXJMaWIN Cj4gPg0KPiA+ICAgIFNhZmVJbnRMaWINCj4gPg0KPiA+ICsgIFNtbUNwdVJlbmRlenZvdXNMaWIN Cj4gPg0KPiA+DQo+ID4NCj4gPiAgW1Byb3RvY29sc10NCj4gPg0KPiA+ICAgIGdFZmlTbW1GaXJt d2FyZVZvbHVtZUJsb2NrUHJvdG9jb2xHdWlkICAgICAgICAjIyBDT05TVU1FUw0KPiA+DQo+ID4g ZGlmZiAtLWdpdA0KPiA+DQo+IGEvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50 aW1lRHhlL1ZhcmlhYmxlU3RhbmRhbG9uZU1tLmkNCj4gbg0KPiA+IGYNCj4gPg0KPiBiL01kZU1v ZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVN0YW5kYWxvbmVN bS4NCj4gaW4NCj4gPiBmDQo+ID4gaW5kZXggZjA5YmVkNDBjZjUxLi44OTE4NzQ1NmNhMjUgMTAw NjQ0DQo+ID4gLS0tDQo+ID4NCj4gYS9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1 bnRpbWVEeGUvVmFyaWFibGVTdGFuZGFsb25lTW0uaQ0KPiBuDQo+ID4gZg0KPiA+ICsrKw0KPiA+ DQo+IGIvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxl U3RhbmRhbG9uZU1tLg0KPiBpbg0KPiA+IGYNCj4gPiBAQCAtMTgsNyArMTgsNyBAQA0KPiA+ICAj ICBtYXkgbm90IGJlIG1vZGlmaWVkIHdpdGhvdXQgYXV0aG9yaXphdGlvbi4gSWYgcGxhdGZvcm0g ZmFpbHMgdG8NCj4gcHJvdGVjdA0KPiA+IHRoZXNlIHJlc291cmNlcywNCj4gPg0KPiA+ICAjICB0 aGUgYXV0aGVudGljYXRpb24gc2VydmljZSBwcm92aWRlZCBpbiB0aGlzIGRyaXZlciB3aWxsIGJl IGJyb2tlbiwNCj4gPiBhbmQNCj4gdGhlDQo+ID4gYmVoYXZpb3IgaXMgdW5kZWZpbmVkLg0KPiA+ DQo+ID4gICMNCj4gPg0KPiA+IC0jIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTksIEludGVsIENv cnBvcmF0aW9uLiBBbGwgcmlnaHRzDQo+ID4gcmVzZXJ2ZWQuPEJSPg0KPiA+DQo+ID4gKyMgQ29w eXJpZ2h0IChjKSAyMDEwIC0gMjAyMywgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4g PiArcmVzZXJ2ZWQuPEJSPg0KPiA+DQo+ID4gICMgQ29weXJpZ2h0IChjKSAyMDE4LCBMaW5hcm8s IEx0ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4NCj4gPiAgIyBDb3B5cmlnaHQgKGMp IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4NCj4gPg0KPiA+ICAjIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4NCj4gPiBAQCAtODAsNiArODAsNyBAQA0KPiA+ ICAgIFZhcmlhYmxlRmxhc2hJbmZvTGliDQo+ID4NCj4gPiAgICBWYXJpYWJsZVBvbGljeUxpYg0K PiA+DQo+ID4gICAgVmFyaWFibGVQb2xpY3lIZWxwZXJMaWINCj4gPg0KPiA+ICsgIFNtbUNwdVJl bmRlenZvdXNMaWINCj4gPg0KPiA+DQo+ID4NCj4gPiAgW1Byb3RvY29sc10NCj4gPg0KPiA+ICAg IGdFZmlTbW1GaXJtd2FyZVZvbHVtZUJsb2NrUHJvdG9jb2xHdWlkICAgICAgICAjIyBDT05TVU1F Uw0KPiA+DQo+ID4gLS0NCj4gPiAyLjI2LjIud2luZG93cy4xDQo+IA0KPiANCj4gDQo+IA0KPiAN Cj4gDQo+IA0KDQo=