From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web11.5034.1615787790336106599 for ; Sun, 14 Mar 2021 22:56:30 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=qLkg2X2q; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: hao.a.wu@intel.com) IronPort-SDR: V6EMnzwQvC6dV56S+Js/fj3MK1XLa62zvrSWvyzWLmpjw2d0y2Z+8pO+yn2sGIbmYH4RUaPe+L 68Zw5BGPtI2w== X-IronPort-AV: E=McAfee;i="6000,8403,9923"; a="168954651" X-IronPort-AV: E=Sophos;i="5.81,249,1610438400"; d="scan'208";a="168954651" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Mar 2021 22:56:29 -0700 IronPort-SDR: dfDhLUiphub5sDhzWJud5bp+8Khl1hibgPDQnQ83Cs7mVauGyVme74gZtKZ8Ck++XqyteKq/fc cYuQBFEcF1nw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,249,1610438400"; d="scan'208";a="387995169" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by orsmga002.jf.intel.com with ESMTP; 14 Mar 2021 22:56:29 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Sun, 14 Mar 2021 22:56:28 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Sun, 14 Mar 2021 22:56:28 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.169) 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.2106.2; Sun, 14 Mar 2021 22:56:28 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FFIf8Dh6AImPvWHxVV2yVn2cQbSX9n0ZSeh4vCUm+1o3gpFLHAzBg3mucrZiqwLJNe2jIvNBgd7Mt+TyetPFdhqp0aLoy+01qOH9Yd35aLrx1czWcizuVHV8+Z9SivdjOcd/RY9WGHRI+u8xMpskBnhumTYnhrGXLDn6DhGlblXYHd8pnNaXvUtp6Qu66vXt+NvaEJq/ouMqZc/XSrweT4Tt6uMxTie1dkhjwFIvh1pNn/jQ3insVo4u6JdenR/G+1LmuIIq28hPe55GgSgqQhom3ITunmeubTiIBx3/d6u3TTSqy0NEM1ovEwEjbkXnboKAT18J7Zv8f18CYQoHHg== 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=HzTybKxzYoOqQ3jmca3CFhMuzVVZxbbcoV3uJ4NYRIk=; b=TslOiYq+sGAsPn73aq5hzsOH0sI3rc0wI/9KT/ttHvZWOdfy3lrRqS13HSjE7iXu07mhovObmuAYGB/1U7dZBWbploiAFgE06/jqtPJsvgpq5OPaEqAKik867fwTa6o7IzzRkggoimVrGMGiAR729YWOB4I6sqcipoKrWVMEPne712pa+pKiHaa+ldazsVv5R5+Qc2KjVP4QYRuD5ChlqFB98NNPuwHQn0Rb4S26/iZ4TEtd12bWL+p0sVTzamvWmzUnUBY8stWPunOGDOtKHBco+Suksdao2jRv8I2mKdXr+rcUtuNW4grKWz/uRSZ+6hkD2Bzwb5YfGTYxG6YTeg== 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=HzTybKxzYoOqQ3jmca3CFhMuzVVZxbbcoV3uJ4NYRIk=; b=qLkg2X2qhUY/Xr0NYUU8pL+B1+D5ol7wI7jN0If2fAYlXa68+W/Qq4D4ALVUmW/kZtYI0iur9rE8+/Cf65u4pnm9PNabUGgPsNBcakaaNZfPMri/HqokRHng2EGLOEiMiqDnhG6wV6MEo+MmO6yhJG4Oa82zB1KI0ldS9qQzHPw= Received: from BN8PR11MB3666.namprd11.prod.outlook.com (2603:10b6:408:8c::19) by BN6PR11MB4035.namprd11.prod.outlook.com (2603:10b6:405:7a::38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3933.32; Mon, 15 Mar 2021 05:56:22 +0000 Received: from BN8PR11MB3666.namprd11.prod.outlook.com ([fe80::9d91:6348:53a9:cb20]) by BN8PR11MB3666.namprd11.prod.outlook.com ([fe80::9d91:6348:53a9:cb20%7]) with mapi id 15.20.3933.031; Mon, 15 Mar 2021 05:56:22 +0000 From: "Wu, Hao A" To: "devel@edk2.groups.io" , "gaoliming@byosoft.com.cn" , "ardb@kernel.org" CC: "lersek@redhat.com" , "liming.gao@intel.com" , "jon@solid-run.com" , "leif@nuviainc.com" Subject: Re: [edk2-devel] [PATCH 1/1] MdeModulePkg/VariableRuntimeDxe: avoid double VA conversion of FVB protocol Thread-Topic: [edk2-devel] [PATCH 1/1] MdeModulePkg/VariableRuntimeDxe: avoid double VA conversion of FVB protocol Thread-Index: AQHXF5RlFVdE79e+MkeQOpzjDc03g6qEWhOAgAA2PJA= Date: Mon, 15 Mar 2021 05:56:22 +0000 Message-ID: References: <20210312230554.292964-1-ardb@kernel.org> <008c01d71944$9e971150$dbc533f0$@byosoft.com.cn> In-Reply-To: <008c01d71944$9e971150$dbc533f0$@byosoft.com.cn> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 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.198.147.218] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8aa6d161-da07-467c-b225-08d8e7770fa0 x-ms-traffictypediagnostic: BN6PR11MB4035: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1923; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9ZjpGKmtI5PqrPTousc233sqkk5lcNDnSlUDyaeFCK3V/vqUZmnTC7UEZCY15mX7ehF1MpCSsJx2cmu1FLecLdbvyQBP1EIQFWGa23e31vKYqM5sQw0iFi4mniLnp5fNpah7hqrzEEUXiqunZQ3GN/cmD9JuhbJ67eXitVFh0ClHYIGWsdyceC1/4Bw3vRXzv0Zj5LFKgOWKJ8GlsItuNpJCWIZ5xkY1wzvKSzmqrDdHApas1O9S1HX6H+CrXbGFt+hHTCU7IgHp3ixvTrxZd2JPLy9OdB8U5N7WH8UZv1miZ1CnHsFQ07+RxYJ8MPORh/ByV5oE20e2KJ+T0SEciETOOVfGZ/IQLkD4x1u4OYvCDtGWsrTunG9aHZ6zEcowJnRwQypucuQannb2zN8INNrylIyhHdIWWW0lYUdblFk0hfwE4lGTb4It8fdhTu6xH5+y65e/JyKn95oeJl4vFESDeOKr9+qvCzxggniEGrGDnaFrwlTEE6SsIoRUsFjlnXEau93BK+r3+L45cV0llxSynB5p9qtrFYlPVk+bZq4C/QjZiAa99OvOlhvWNr9ljAELbcTK5C1pOz14O/bUmDzbdfBuUFjpub/CTJAYGCbR7h6Pn3Y4mbDm+6IfuSz9tAb/mtbCYxanID2ZC+dKCQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN8PR11MB3666.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(346002)(136003)(39860400002)(366004)(396003)(7696005)(8936002)(8676002)(110136005)(83380400001)(4326008)(64756008)(71200400001)(55016002)(478600001)(66446008)(66556008)(53546011)(33656002)(86362001)(52536014)(5660300002)(316002)(966005)(26005)(76116006)(2906002)(66476007)(186003)(6506007)(66946007)(9686003)(54906003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?gb2312?B?bkpzSjI5MXZYUTJBVytqMm1rREJTSVZ3SFBDSnFKZEkrWEh4dHJEQUh3RzQ1?= =?gb2312?B?RWdsTm9uYUhlMEVmNXkydmExekZjUGZkbkhKTEhqeHZYSldSVyt2RGhucUJE?= =?gb2312?B?cEEvb01NVG9EUmJ3TGRldXphOFdFWnlxalkzWnlaMDA3MCtFaGZrRWwxcllN?= =?gb2312?B?T2FZMG1XSlk2UVYxNUhwM1Fxa2dZTXJWQUNTSmQycnE2b2ZSN1EwL3dBU1g5?= =?gb2312?B?RittSkQ1OUtBTXp1SjRNaktNMDRpcHZEc3Jzc0pBbURQUmpZOUhwdUUxSFFR?= =?gb2312?B?Y2VQTGFEejRIRHN1N1ZWYUY1OTdpTFJXVkJMK3huYXJhK0p5N1FqMHNXWk9U?= =?gb2312?B?Y2lsUkZZZTQvQlh1NUJiYUx4U3VpTDN3RXppdFA1T2JEcUtQMTdncTYxWUkv?= =?gb2312?B?Rk9BdEZtbk5zWURFc01aS2hieHpHTGlyeW1qbXVTUVJuTGVHUzBYN04wZHFZ?= =?gb2312?B?NURZQ1gxTTFUQTZVSHU3NlpBNnZhb0NSMFJpR1Yyd3pYem1sYk1WcnB3b1Y3?= =?gb2312?B?TVAyZi8rUjdMRWtUN3VHYVY5VmMxd1NRVHd2VVJHUzhEdUY1QmdHdzVxU29o?= =?gb2312?B?ajBrK2cwWTNKRUxxa1d4ZFZ0VnRVYzNFRG93RHA4RkdOY1JDZGxiRm5oenBr?= =?gb2312?B?Z3o4N1praXcyMWlUa25TYm9NejlPVEtpRGhLSmhrUyt4NjE4RjhSc1NJd1gr?= =?gb2312?B?UWdHYWhyZlBKN0NvaTZVc0RRc2JzWTFvNEpzN0o4SzhSckVtZjlMY3RpdDlV?= =?gb2312?B?R1V0T2RPRXcvYXJFc0o1djZBQUFHd1JIMThQcDVOKyt2NFN2Z3F3c2cyZ05l?= =?gb2312?B?TFBTVXg4WmM1SHgrWHdHUnl0Y250Vk5mSERUYW10NDF3bWViNEkvRHVwL3ha?= =?gb2312?B?Y2JsNUFmbzhxWlhkeE9FcnMwYkljdUVmS3ZjMk9saWFtMThxMEQzblR3ZEhy?= =?gb2312?B?VGlsd3RORVNkbStjRG5FenNydFprMm1Jb2hVYXFUSGFkREZUd0dKQkZoTVlV?= =?gb2312?B?ckx4QzMycGlnaHJYN2FDS3cwVkNpWlRoYkg4b1pwTzBQZG9mOHp4d29od3Q2?= =?gb2312?B?L2VUVWlnWUxsZ3pZRG13Z2pYSnMwT0ZQUFYwZ29obGRBUk1uN21WcFZPWUQr?= =?gb2312?B?VDdFZmJ2cGMwTUdDa2NnZ29zcU5sVy9KdUlkVFZpOXpFSEcrMndSSWJLMVFp?= =?gb2312?B?eFg4alkxaWtTa1d5bEFqeU1ZYW9FUm9RaEUxWHdMZWNub0NGay9LbmlJRUFH?= =?gb2312?B?K2xlclgyMEtpWkhydDZPZXFHZFd4dXh2d00vR2VwQmJyY1k5R01oZlozY1RB?= =?gb2312?B?bHc5NzJSYjk1TjlRN2dJSHd0by92QnB1MWlWVmZQcmVyMElpbTR1SzIrWG5v?= =?gb2312?B?dVhBcVhQZHkwUlNIZEJ0NFJUU2FWVnlkaVFMVDFVSXhDOTF2YzlOZUJzeFJF?= =?gb2312?B?UnkvZjBMQUYwckhaQnNqNTVSK2F4bXAyOFZsaWIxTE42bEpFM01Wdk1hUE5s?= =?gb2312?B?MSs1cTZLM1p2SGlQMTlnM2s2b0NwUHdjTytHMmxkcWVCVmtMc2g1dmZKY2dI?= =?gb2312?B?TG9QS1VkZGVRTGhZTzBPajhFckh1ODZWUkg1WUNSOWt4Z0RxTS9DZ0xJbkJF?= =?gb2312?B?aWNOUzJPQmxDMkFDYzdjKzBHZWYxSzRtem9xNzlQU0tRbVI4bkZwYS9JS3ZK?= =?gb2312?B?RE9ka0szeGdsYTBMNzNzWFlsN3I4dWRHVGZtVmE3Z2dmYlpYNm8wdHZyQUdB?= =?gb2312?Q?XevrKtZqSpiQbcV3/CotaVP1poH8LB5ggATWj0J?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN8PR11MB3666.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8aa6d161-da07-467c-b225-08d8e7770fa0 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Mar 2021 05:56:22.1339 (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: ulMD/XzpTDtXhDvyAAqZq0PvX12EO7YOHcPc8mGunYa6NYG6omPcPRM+ns9FWiE0RB7iKycYVEiCsEQJyqUB/Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB4035 Return-Path: hao.a.wu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5p byA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZg0KPiBnYW9saW1pbmcNCj4gU2Vu dDogTW9uZGF5LCBNYXJjaCAxNSwgMjAyMSAxMDo0MSBBTQ0KPiBUbzogZGV2ZWxAZWRrMi5ncm91 cHMuaW87IGFyZGJAa2VybmVsLm9yZw0KPiBDYzogbGVyc2VrQHJlZGhhdC5jb207IGxpbWluZy5n YW9AaW50ZWwuY29tOyBqb25Ac29saWQtcnVuLmNvbTsNCj4gbGVpZkBudXZpYWluYy5jb20NCj4g U3ViamVjdDogu9i4tDogW2VkazItZGV2ZWxdIFtQQVRDSCAxLzFdDQo+IE1kZU1vZHVsZVBrZy9W YXJpYWJsZVJ1bnRpbWVEeGU6IGF2b2lkIGRvdWJsZSBWQSBjb252ZXJzaW9uIG9mIEZWQg0KPiBw cm90b2NvbA0KPiANCj4gQXJkOg0KPiAgIFRoYW5rcyBmb3IgeW91ciBmaXguIFJldmlld2VkLWJ5 OiBMaW1pbmcgR2FvIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+DQo+IA0KPiAgIENhbiB5b3Ug aW5jbHVkZSBCWiBpbnRvIHRoZSBjb21taXQgbWVzc2FnZT8gQlogY2FuIG1lbnRpb24gdGhlIGNv cnJlY3QNCj4gY29udmVyc2lvbiBzb2x1dGlvbi4gT3RoZXIgbW9kdWxlcyBzaG91bGQgZm9sbG93 IHRoZSBzYW1lIHdheSB0byBjb252ZXJ0DQo+IEZWQiBwcm90b2NvbCBWQS4NCg0KDQpUaGFua3Mg QXJkIGFuZCBMaW1pbmcsDQoNCldpdGggYWJvdmUgc3VnZ2VzdGlvbiBmcm9tIExpbWluZyBoYW5k bGVkOg0KUmV2aWV3ZWQtYnk6IEhhbyBBIFd1IDxoYW8uYS53dUBpbnRlbC5jb20+DQoNCkJlc3Qg UmVnYXJkcywNCkhhbyBXdQ0KDQoNCj4gDQo+IFRoYW5rcw0KPiBMaW1pbmcNCj4gPiAtLS0tLdPK vP7Urbz+LS0tLS0NCj4gPiC3orz+yMs6IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsy Lmdyb3Vwcy5pbz4gtPqx7SBBcmQNCj4gQmllc2hldXZlbA0KPiA+ILeiy83KsbzkOiAyMDIxxOoz 1MIxM8jVIDc6MDYNCj4gPiDK1bz+yMs6IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gs63LzTog bGVyc2VrQHJlZGhhdC5jb207IGxpbWluZy5nYW9AaW50ZWwuY29tOyBqb25Ac29saWQtcnVuLmNv bTsNCj4gPiBsZWlmQG51dmlhaW5jLmNvbTsgQXJkIEJpZXNoZXV2ZWwgPGFyZGJAa2VybmVsLm9y Zz4NCj4gPiDW98ziOiBbZWRrMi1kZXZlbF0gW1BBVENIIDEvMV0gTWRlTW9kdWxlUGtnL1Zhcmlh YmxlUnVudGltZUR4ZToNCj4gYXZvaWQNCj4gPiBkb3VibGUgVkEgY29udmVyc2lvbiBvZiBGVkIg cHJvdG9jb2wNCj4gPg0KPiA+IEZvciBoaXN0b3JpY2FsIHJlYXNvbnMsIHRoZSBWYXJpYWJsZVJ1 bnRpbWVEeGUgcGVyZm9ybXMgdmlydHVhbA0KPiA+IGFkZHJlc3MgY29udmVyc2lvbiBvbiB0aGUg RlZCIHByb3RvY29sIG1lbWJlciBwb2ludGVycyBvZiB0aGUgcHJvdG9jb2wNCj4gPiBpbnN0YW5j ZSB0aGF0IGJhY2tzIHRoZSBFRkkgdmFyaWFibGUgc3RvcmUuIEhvd2V2ZXIsIHRoZSBkcml2ZXIg dGhhdA0KPiA+IHByb2R1Y2VzIHRoZSBhY3R1YWwgaW5zdGFuY2Ugc2hvdWxkIGJlIGRvaW5nIHRo aXMsIGFzIGl0IGlzIHRoZSBvd25lciwNCj4gPiBhbmQgcHJvdmlkZXMgdGhlIGFjdHVhbCBpbXBs ZW1lbnRhdGlvbiBvZiB0aG9zZSBtZXRob2RzLg0KPiA+DQo+ID4gVW5mb3J0dW5hdGVseSwgd2Ug Y2Fubm90IHNpbXBseSBjaGFuZ2UgdGhpczogZXhpc3RpbmcgZHJpdmVycyBtYXkgcmVseQ0KPiA+ IG9uIHRoaXMgYmVoYXZpb3IsIGFuZCBzbyB0aGUgdmFyaWFibGUgZHJpdmVyIHNob3VsZCB0YWtl IGNhcmUgdG8gb25seQ0KPiA+IGNvbnZlcnQgdGhlIHBvaW50ZXJzIHdoZW4gbmVjZXNzYXJ5LCBi dXQgbGVhdmUgdGhlbSBhbG9uZSB3aGVuIHRoZQ0KPiA+IG93bmVyIGlzIHRha2luZyBjYXJlIG9m IHRoaXMuDQo+ID4NCj4gPiBUaGUgdmlydHVhbCBhZGRyZXNzIHN3aXRjaCBldmVudCBjYW4gYmUg ZGVsaXZlcmVkIGluIGFyYml0cmFyeSBvcmRlciwNCj4gPiBhbmQgc28gd2Ugc2hvdWxkIHRha2Ug Y2FyZSBvZiB0aGlzIGluIGEgd2F5IHRoYXQgZG9lcyBub3QgcmVseSBvbg0KPiA+IHdoZXRoZXIg dGhpcyBkcml2ZXIgY29udmVydHMgaXRzIHBvaW50ZXJzIGVpdGhlciBiZWZvcmUgb3IgYWZ0ZXIg dGhlDQo+ID4gb3duZXIgb2YgdGhlIEZWQiBwcm90b2NvbCByZWNlaXZlcyB0aGUgZXZlbnQuDQo+ ID4NCj4gPiBTbyBsZXQncyBub3QgY29udmVydCB0aGUgcG9pbnRlcnMgYXQgYWxsIHdoZW4gdGhl IGV2ZW50IGlzIGRlbGl2ZXJlZCwNCj4gPiBidXQgcmVjb3JkIHRoZSBjb252ZXJ0ZWQgYWRkcmVz c2VzIGluIGEgc2hhZG93IEZWQiBwcm90b2NvbC4gVGhpcyB3YXksDQo+ID4gd2UgY2FuIGNoZWNr IHdoZW4gdGhlIHZhcmlhYmxlIGRyaXZlciBpcyBpbnZva2VkIGF0IHJ1bnRpbWUgd2hldGhlcg0K PiA+IHRoZSBzd2l0Y2ggaGFzIG9jY3VycmVkIG9yIG5vdCwgYW5kIHBlcmZvcm0gdGhlIHN3aXRj aCBpZiBpdCBoYXNuJ3QuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBBcmQgQmllc2hldXZlbCA8 YXJkYkBrZXJuZWwub3JnPg0KPiA+IC0tLQ0KPiA+IEJ1aWxkIHRlc3RlZCBvbmx5Lg0KPiA+DQo+ ID4gIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZUR4 ZS5jIHwgNTANCj4gPiArKysrKysrKysrKysrKysrKy0tLQ0KPiA+ICAxIGZpbGUgY2hhbmdlZCwg NDMgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9N ZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVEeGUuYw0K PiA+IGIvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxl RHhlLmMNCj4gPiBpbmRleCAwZmNhMGJiMmE5YjUuLjNkODNhYzQ0NTJlZSAxMDA2NDQNCj4gPiAt LS0gYS9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVE eGUuYw0KPiA+ICsrKyBiL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4 ZS9WYXJpYWJsZUR4ZS5jDQo+ID4gQEAgLTM3LDYgKzM3LDggQEAgRURLSUlfVkFSX0NIRUNLX1BS T1RPQ09MDQo+ID4gbVZhckNoZWNrICAgICAgICAgICAgICAgICAgPSB7IFZhckNoZWNrUmVnaXMN Cj4gPg0KPiA+IFZhckNoZWNrVmFyaWFibGVQcm9wZXJ0eVNldCwNCj4gPg0KPiA+IFZhckNoZWNr VmFyaWFibGVQcm9wZXJ0eUdldCB9Ow0KPiA+DQo+ID4gK1NUQVRJQyBFRklfRklSTVdBUkVfVk9M VU1FX0JMT0NLX1BST1RPQ09MDQo+IG1GdmJQcm90b2NvbFNoYWRvdzsNCj4gPiArDQo+ID4gIC8q Kg0KPiA+ICAgIFNvbWUgU2VjdXJlIEJvb3QgUG9saWN5IFZhcmlhYmxlIG1heSB1cGRhdGUgZm9s bG93aW5nIG90aGVyDQo+ID4gdmFyaWFibGUgY2hhbmdlcyhTZWN1cmVCb290IGZvbGxvd3MgUEsg Y2hhbmdlLCBldGMpLg0KPiA+ICAgIFJlY29yZCB0aGVpciBpbml0aWFsIFN0YXRlIHdoZW4gdmFy aWFibGUgd3JpdGUgc2VydmljZSBpcyByZWFkeS4NCj4gPiBAQCAtMTA1LDggKzEwNywyNiBAQCBB Y3F1aXJlTG9ja09ubHlBdEJvb3RUaW1lICgNCj4gPiAgICBJTiBFRklfTE9DSyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKkxvY2sNCj4gPiAgICApDQo+ID4gIHsNCj4gPiArICBFRklfRklS TVdBUkVfVk9MVU1FX0JMT0NLX1BST1RPQ09MICAqRnZiSW5zdGFuY2U7DQo+ID4gKw0KPiA+ICAg IGlmICghQXRSdW50aW1lICgpKSB7DQo+ID4gICAgICBFZmlBY3F1aXJlTG9jayAoTG9jayk7DQo+ ID4gKyAgfSBlbHNlIHsNCj4gPiArICAgIC8vDQo+ID4gKyAgICAvLyBDaGVjayB3aGV0aGVyIHdl IG5lZWQgdG8gc3dhcCBpbiB0aGUgY29udmVydGVkIHBvaW50ZXIgdmFsdWVzDQo+ID4gKyBmb3IN Cj4gPiB0aGUNCj4gPiArICAgIC8vIEZWQiBwcm90b2NvbCBtZXRob2RzDQo+ID4gKyAgICAvLw0K PiA+ICsgICAgRnZiSW5zdGFuY2UgPSBtVmFyaWFibGVNb2R1bGVHbG9iYWwtPkZ2Ykluc3RhbmNl Ow0KPiA+ICsgICAgaWYgKEZ2Ykluc3RhbmNlICE9IE5VTEwgJiYNCj4gPiArICAgICAgICBGdmJJ bnN0YW5jZS0+R2V0QmxvY2tTaXplICE9IG1GdmJQcm90b2NvbFNoYWRvdy5HZXRCbG9ja1NpemUp DQo+ID4gew0KPiA+ICsgICAgICBGdmJJbnN0YW5jZS0+R2V0QmxvY2tTaXplICAgICAgID0NCj4g PiBtRnZiUHJvdG9jb2xTaGFkb3cuR2V0QmxvY2tTaXplOw0KPiA+ICsgICAgICBGdmJJbnN0YW5j ZS0+R2V0UGh5c2ljYWxBZGRyZXNzID0NCj4gPiBtRnZiUHJvdG9jb2xTaGFkb3cuR2V0UGh5c2lj YWxBZGRyZXNzOw0KPiA+ICsgICAgICBGdmJJbnN0YW5jZS0+R2V0QXR0cmlidXRlcyAgICAgID0N Cj4gPiBtRnZiUHJvdG9jb2xTaGFkb3cuR2V0QXR0cmlidXRlczsNCj4gPiArICAgICAgRnZiSW5z dGFuY2UtPlNldEF0dHJpYnV0ZXMgICAgICA9DQo+ID4gbUZ2YlByb3RvY29sU2hhZG93LlNldEF0 dHJpYnV0ZXM7DQo+ID4gKyAgICAgIEZ2Ykluc3RhbmNlLT5SZWFkICAgICAgICAgICAgICAgPSBt RnZiUHJvdG9jb2xTaGFkb3cuUmVhZDsNCj4gPiArICAgICAgRnZiSW5zdGFuY2UtPldyaXRlICAg ICAgICAgICAgICA9IG1GdmJQcm90b2NvbFNoYWRvdy5Xcml0ZTsNCj4gPiArICAgICAgRnZiSW5z dGFuY2UtPkVyYXNlQmxvY2tzICAgICAgICA9DQo+ID4gbUZ2YlByb3RvY29sU2hhZG93LkVyYXNl QmxvY2tzOw0KPiA+ICsgICAgfQ0KPiA+ICAgIH0NCj4gPiAgfQ0KPiA+DQo+ID4gQEAgLTI0Nywx MyArMjY3LDIyIEBAIFZhcmlhYmxlQ2xhc3NBZGRyZXNzQ2hhbmdlRXZlbnQgKA0KPiA+ICAgIFVJ TlROICAgICAgICAgIEluZGV4Ow0KPiA+DQo+ID4gICAgaWYgKG1WYXJpYWJsZU1vZHVsZUdsb2Jh bC0+RnZiSW5zdGFuY2UgIT0gTlVMTCkgew0KPiA+IC0gICAgRWZpQ29udmVydFBvaW50ZXIgKDB4 MCwgKFZPSUQgKiopDQo+ID4gJm1WYXJpYWJsZU1vZHVsZUdsb2JhbC0+RnZiSW5zdGFuY2UtPkdl dEJsb2NrU2l6ZSk7DQo+ID4gLSAgICBFZmlDb252ZXJ0UG9pbnRlciAoMHgwLCAoVk9JRCAqKikN Cj4gPiAmbVZhcmlhYmxlTW9kdWxlR2xvYmFsLT5GdmJJbnN0YW5jZS0+R2V0UGh5c2ljYWxBZGRy ZXNzKTsNCj4gPiAtICAgIEVmaUNvbnZlcnRQb2ludGVyICgweDAsIChWT0lEICoqKQ0KPiA+ICZt VmFyaWFibGVNb2R1bGVHbG9iYWwtPkZ2Ykluc3RhbmNlLT5HZXRBdHRyaWJ1dGVzKTsNCj4gPiAt ICAgIEVmaUNvbnZlcnRQb2ludGVyICgweDAsIChWT0lEICoqKQ0KPiA+ICZtVmFyaWFibGVNb2R1 bGVHbG9iYWwtPkZ2Ykluc3RhbmNlLT5TZXRBdHRyaWJ1dGVzKTsNCj4gPiAtICAgIEVmaUNvbnZl cnRQb2ludGVyICgweDAsIChWT0lEICoqKQ0KPiA+ICZtVmFyaWFibGVNb2R1bGVHbG9iYWwtPkZ2 Ykluc3RhbmNlLT5SZWFkKTsNCj4gPiAtICAgIEVmaUNvbnZlcnRQb2ludGVyICgweDAsIChWT0lE ICoqKQ0KPiA+ICZtVmFyaWFibGVNb2R1bGVHbG9iYWwtPkZ2Ykluc3RhbmNlLT5Xcml0ZSk7DQo+ ID4gLSAgICBFZmlDb252ZXJ0UG9pbnRlciAoMHgwLCAoVk9JRCAqKikNCj4gPiAmbVZhcmlhYmxl TW9kdWxlR2xvYmFsLT5GdmJJbnN0YW5jZS0+RXJhc2VCbG9ja3MpOw0KPiA+ICsgICAgLy8NCj4g PiArICAgIC8vIFRoaXMgbW9kdWxlIGRpZCBub3QgcHJvZHVjZSB0aGUgRlZCIHByb3RvY29sIGlu c3RhbmNlIHRoYXQNCj4gcHJvdmlkZXMNCj4gPiB0aGUNCj4gPiArICAgIC8vIHZhcmlhYmxlIHN0 b3JlLCBzbyBpdCBzaG91bGQgbm90IGJlIHRoZSBvbmUgcGVyZm9ybWluZyB0aGUgcG9pbnRlcg0K PiA+ICsgICAgLy8gY29udmVyc2lvbiBvbiBpdHMgbWVtYmVycy4gSG93ZXZlciwgc29tZSBGVkIg cHJvdG9jb2wNCj4gPiBpbXBsZW1lbnRhdGlvbnMNCj4gPiArICAgIC8vIG1heSByZWx5IG9uIHRo aXMgYmVoYXZpb3IsIHdoaWNoIHdhcyBwcmVzZW50IGluIG9sZGVyIHZlcnNpb25zDQo+ID4gKyBv Zg0KPiB0aGlzDQo+ID4gKyAgICAvLyBkcml2ZXIsIHNvIHdlIG5lZWQgdG8gcGVyZm9ybSB0aGUg Y29udmVyc2lvbiBpZiB0aGUgcHJvdG9jb2wNCj4gcHJvZHVjZXINCj4gPiArICAgIC8vIGZhaWxz IHRvIGRvIHNvLiBTbyBsZXQncyByZWNvcmQgdGhlIGNvbnZlcnRlZCB2YWx1ZXMgbm93LCBhbmQN Cj4gPiArIHN3YXANCj4gPiB0aGVtDQo+ID4gKyAgICAvLyBpbiBsYXRlciBpZiB0aGV5IGhhdmVu J3QgY2hhbmdlZCB2YWx1ZXMuDQo+ID4gKyAgICAvLw0KPiA+ICsgICAgRWZpQ29udmVydFBvaW50 ZXIgKDB4MCwgKFZPSUQgKiopJm1GdmJQcm90b2NvbFNoYWRvdy5HZXRCbG9ja1NpemUpOw0KPiA+ ICsgICAgRWZpQ29udmVydFBvaW50ZXIgKDB4MCwgKFZPSUQNCj4gPiAqKikmbUZ2YlByb3RvY29s U2hhZG93LkdldFBoeXNpY2FsQWRkcmVzcyk7DQo+ID4gKyAgICBFZmlDb252ZXJ0UG9pbnRlciAo MHgwLCAoVk9JRA0KPiA+ICoqKSZtRnZiUHJvdG9jb2xTaGFkb3cuR2V0QXR0cmlidXRlcyk7DQo+ ID4gKyAgICBFZmlDb252ZXJ0UG9pbnRlciAoMHgwLCAoVk9JRA0KPiAqKikmbUZ2YlByb3RvY29s U2hhZG93LlNldEF0dHJpYnV0ZXMpOw0KPiA+ICsgICAgRWZpQ29udmVydFBvaW50ZXIgKDB4MCwg KFZPSUQgKiopJm1GdmJQcm90b2NvbFNoYWRvdy5SZWFkKTsNCj4gPiArICAgIEVmaUNvbnZlcnRQ b2ludGVyICgweDAsIChWT0lEICoqKSZtRnZiUHJvdG9jb2xTaGFkb3cuV3JpdGUpOw0KPiA+ICsg ICAgRWZpQ29udmVydFBvaW50ZXIgKDB4MCwgKFZPSUQNCj4gPiArICoqKSZtRnZiUHJvdG9jb2xT aGFkb3cuRXJhc2VCbG9ja3MpOw0KPiA+ICAgICAgRWZpQ29udmVydFBvaW50ZXIgKDB4MCwgKFZP SUQgKiopDQo+ID4gJm1WYXJpYWJsZU1vZHVsZUdsb2JhbC0+RnZiSW5zdGFuY2UpOw0KPiA+ICAg IH0NCj4gPiAgICBFZmlDb252ZXJ0UG9pbnRlciAoMHgwLCAoVk9JRCAqKikNCj4gPiAmbVZhcmlh YmxlTW9kdWxlR2xvYmFsLT5QbGF0Zm9ybUxhbmdDb2Rlcyk7DQo+ID4gQEAgLTQ1NCw2ICs0ODMs MTMgQEAgRnR3Tm90aWZpY2F0aW9uRXZlbnQgKA0KPiA+ICAgIH0NCj4gPiAgICBtVmFyaWFibGVN b2R1bGVHbG9iYWwtPkZ2Ykluc3RhbmNlID0gRnZiUHJvdG9jb2w7DQo+ID4NCj4gPiArICAvLw0K PiA+ICsgIC8vIFN0b3JlIHRoZSBib290IHRpbWUgdmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBwb2lu dGVycyBzbyB3ZSBjYW4NCj4gY29tcGFyZQ0KPiA+ICsgIC8vIHRoZW0gbGF0ZXIuIFRoaXMgaXMg bmVlZGVkIHRvIGF2b2lkIGRvdWJsZSBjb252ZXJzaW9uIGR1cmluZyB0aGUNCj4gY2FsbA0KPiA+ ICsgIC8vIHRvIFNldFZpcnR1YWxBZGRyZXNzTWFwLg0KPiA+ICsgIC8vDQo+ID4gKyAgQ29weU1l bSAoJm1GdmJQcm90b2NvbFNoYWRvdywgRnZiUHJvdG9jb2wsIHNpemVvZg0KPiA+IG1GdmJQcm90 b2NvbFNoYWRvdyk7DQo+ID4gKw0KPiA+ICAgIC8vDQo+ID4gICAgLy8gTWFyayB0aGUgdmFyaWFi bGUgc3RvcmFnZSByZWdpb24gb2YgdGhlIEZMQVNIIGFzIFJVTlRJTUUuDQo+ID4gICAgLy8NCj4g PiAtLQ0KPiA+IDIuMzAuMQ0KPiA+DQo+ID4NCj4gPg0KPiA+IC09LT0tPS09LT0tPQ0KPiA+IEdy b3Vwcy5pbyBMaW5rczogWW91IHJlY2VpdmUgYWxsIG1lc3NhZ2VzIHNlbnQgdG8gdGhpcyBncm91 cC4NCj4gPiBWaWV3L1JlcGx5IE9ubGluZSAoIzcyNzM0KToNCj4gPiBodHRwczovL2VkazIuZ3Jv dXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS83MjczNA0KPiA+IE11dGUgVGhpcyBUb3BpYzogaHR0cHM6 Ly9ncm91cHMuaW8vbXQvODEyOTI4NzQvNDkwNTk1Mw0KPiA+IEdyb3VwIE93bmVyOiBkZXZlbCtv d25lckBlZGsyLmdyb3Vwcy5pbw0KPiA+IFVuc3Vic2NyaWJlOiBodHRwczovL2VkazIuZ3JvdXBz LmlvL2cvZGV2ZWwvdW5zdWINCj4gPiBbZ2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuXQ0KPiA+IC09 LT0tPS09LT0tPQ0KPiA+DQo+IA0KPiANCj4gDQo+IA0KPiANCj4gDQo+IA0KDQo=