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.web11.11631.1630288795653158515 for ; Sun, 29 Aug 2021 18:59:55 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=GC4IGNEc; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: hao.a.wu@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10091"; a="215066795" X-IronPort-AV: E=Sophos;i="5.84,362,1620716400"; d="scan'208";a="215066795" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2021 18:59:54 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,362,1620716400"; d="scan'208";a="644828693" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga005.jf.intel.com with ESMTP; 29 Aug 2021 18:59:54 -0700 Received: from orsmsx605.amr.corp.intel.com (10.22.229.18) 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.2242.10; Sun, 29 Aug 2021 18:59:54 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) 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.2242.4 via Frontend Transport; Sun, 29 Aug 2021 18:59:54 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.108) 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.2242.10; Sun, 29 Aug 2021 18:59:54 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T4c0UBrRVx6PDnEf0cRXjoYIWGFs/zbqgoM/0UhzfMU+t7GlTSauUXDXGH4Lwmvddzcg4+3ZBpitkpJM0zLJF5NQFzhI+HvYiVPK4tNFTuB88303lOmLt6rZ7Y2gvRYnJc+xDhQ9XoEr0loiF4dH968ihPMMWJb6o1zleG0GHKDGYeZ0i4miOtbwtxYfC0RBsTcSgEw2fGVo8i34/kO78FYxyVCE2AlvbT3xhhiouva9S0QiSz4Zxydc4iGe3OCW+B1IHzM0aezXfc/tX6kEr8PSPN/CQ7Uk6qBaW0FU9b/e6OAUzJ1z1sttlW3vRnINh6MYiXNDA5stjv6C9rLlDA== 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=X/sUUhFrB9dhY+edk3bYD8Wl5qXPgC+m/358HTe4yHA=; b=CnyC5Hm8JWtP8ZwkcZKNtu8TpDLjaH9d8BdjfjBdFNtn30DqMv6zfgXJ3skTbtBnIHAEB4S4ZTir7eM6YTxN6rLxpvt9jXt1mHacqZgBOsvVwsnsM8SaK3pHeLHQzKXGxNcj8NSF78HkjrKlfuIIsdEHQ/SgVs5bOhSc6hlyjLx34RDRNQcKdYLJPUqId5Ua5S+fNh+LEUcKJdAroPDjg9R0JXblsYVQ0TgMnU/2rTyJjjKUGgB7YE3dZJ6Ov6/uI3ySvBnRGeSmEgsh4z8MEYw4xldxMcLfaYp0XVASDenTMc1GymHaNynGMKhlOFEs0ly5BtRoY4Uy0MAbYN6wFw== 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=X/sUUhFrB9dhY+edk3bYD8Wl5qXPgC+m/358HTe4yHA=; b=GC4IGNEcZR5EorLNZfMrbOGsXt8tWc2m5PvdEsjpLpyDSVGpLx3XGf9X9c7nXqRYCfOYaHQG1YDm8pnNjBlHbF8py7ePUOR3ZvjjJUsK5qxVfFt0fWvTcFsqphLzlYts8Rduk9spKS1Ntzzos72K/VeVRs+s60qp8MwmormOMEM= Received: from BN8PR11MB3666.namprd11.prod.outlook.com (2603:10b6:408:8c::19) by BN6PR11MB1828.namprd11.prod.outlook.com (2603:10b6:404:103::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.21; Mon, 30 Aug 2021 01:59:52 +0000 Received: from BN8PR11MB3666.namprd11.prod.outlook.com ([fe80::b53d:daa8:fc6c:962e]) by BN8PR11MB3666.namprd11.prod.outlook.com ([fe80::b53d:daa8:fc6c:962e%7]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021 01:59:52 +0000 From: "Wu, Hao A" To: "devel@edk2.groups.io" , "Wu, Hao A" , "mhaeuser@posteo.de" CC: "Wang, Jian J" , Vitaly Cheptsov Subject: Re: [edk2-devel] [PATCH 1/1] MdeModulePkg/EbcDxe: Mitigate memcpy intrinsics Thread-Topic: [edk2-devel] [PATCH 1/1] MdeModulePkg/EbcDxe: Mitigate memcpy intrinsics Thread-Index: AQHXkhIPiD4/cm7BtkOzMuc0CLsPcat74GAwgAs78uA= Date: Mon, 30 Aug 2021 01:59:52 +0000 Message-ID: References: In-Reply-To: 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-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6b17e890-0f0e-4079-da7a-08d96b59db42 x-ms-traffictypediagnostic: BN6PR11MB1828: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:216; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ff8Wtq0EkOTLnmbYifZAauYCVP+SGVfdmhCVq0dd9H7HmxqaJIZvOxVWGhP41uycBTOBby4AYNPY2Ifb5BxmdiCNNWsvbD7WcXtM44/Q6zuXOoFZhs9aoBUGDysJEAWq4S5SKVbRhDENHQIfy9oHzB0XnSIrcSBbidewgkUC+4E7sJQhI+BqjfY7jJqoWmNd/Dl16PRBiwGF1RA58cQ0But4Mcv65jaDsjwhJzEpF++1hws0jP6E4L8oy17VzwSgNQRCXNU5b5qopHC7AtiaPuld/T2Z3tHyN7qZ5oCy9tCMhVOZeRh2+E+LsCyhSmJjb6i6HwBYSW8cBK5cOohDQfkQMskp+Rz5+g8NURaQUujwjks9jytb+sgxJpfPbc/+jk4Kf+wEc69AghO67i3FSTTqdnAWFH8VHtPhq7oIVkfKcA8YQGXgaRm39pyboBx6+U5ZPlrRvGdhim2R/I3P/N440GFTMR5LKTf2Rcp/AhbhI6bgioqNbmJqA81okgWR7AtYdPOIFNxcvtPZJKLdkLe4zuCT38L6sh3BiVR/aQREHkc6nTH3ExFyDNA4ZIKAmxukPDqL2cAv+Dtlw0Bviy+Sfnf3F/jNAEvP8w8rRT/rTSBlJLoUCNsWOxIHrrkqPxZXPk84PHWmQoMkHumG1kOYz3Fvk9C8CIaiRsOiNoHHFVg0vQVCmRRpbhZfSBfn5jSM/ZPaT/xHeOmu/a6/0z1AErBkk0kn/yVLL6HSaFDexBjsGfG5AQ1Y6TktDuKrZrel9XaIK+BACz+X5YSHQeEQfXSAGZPRtbmX8JWNQCaC17tuXcL8ngLf/6JbojNcmPMuTXCF4Jtgw2WAzKWFAA== 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:(4636009)(366004)(64756008)(66556008)(26005)(5660300002)(4326008)(66946007)(52536014)(76116006)(66476007)(66446008)(6506007)(55016002)(54906003)(110136005)(8936002)(83380400001)(186003)(8676002)(9686003)(7696005)(53546011)(71200400001)(2906002)(508600001)(86362001)(66574015)(38100700002)(122000001)(966005)(316002)(38070700005)(33656002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Y2dwUVZqNEVDY0I1dWNHOW5ZVW5IbVlaMjRKT3MwZ1pyM0F3UGI1YVdxSDdh?= =?utf-8?B?UnNHTGFkaENoalRqSmJxNU1MVmowR1l5ZmNDbWtpMjdmbDlxTzhNc3Npek9H?= =?utf-8?B?bVlDMVdqeU96WC9pdmwvdnpNTnBpM0lMQXcwUGprM21TZzZUWm5CM1hFc3pq?= =?utf-8?B?VjdhR1NvdVIwZkkrTVFFVFRQRy9VUVkzL2xJUEo4aTR2VkhGVG5HRWJaZUJZ?= =?utf-8?B?V0QwaVovMFBHbXFoOC9vUjd0azJkL3hYWDBhemFqV3FnRHQxVXdWZ20yVitq?= =?utf-8?B?ZWxBcHRxZkg2RGlheGJHQ1RqaWNCLytwQy9ienYwaEVVeHc5T0w1R3lrQitO?= =?utf-8?B?bXpmRXNtdE0vQVlUNTVDRkRCMnV6T3NSazdaL3BLWlcrUGVJaVJlRVpkWkNl?= =?utf-8?B?T3hqN3gybVR4UUp0MmcxZU5aUjhieUwzeWM3SmNub0FocHJkZkdKaUhmaEo3?= =?utf-8?B?Q29ndHpteWsxbWNEMit1RUQvd1FoZjAyYUt3WlFCYzgvYTVXeG9pUzNSOWdi?= =?utf-8?B?TnBLM3NvdXdhWm5kVzBhaXVsMEFjbGhQRGRIVXRSOG9uQUt3cTJ6SlFPKzly?= =?utf-8?B?d3FNU25yWjRSU0JLcldlUEJ5RnUzeVJpeVJkNkV6NWdEY3UwNzZDWXNLSTYx?= =?utf-8?B?a2l3T2VCWDhSNUJzR2wxbkRkRHlXZm96bEhJcENuRFhnSEJqb0h0SW45VlVi?= =?utf-8?B?MGl4K2NFL3JtY2V3Z0FyZ09IVFA4ejFKMVdiOE1CRVhidjZ2eEVpMm4zZk0w?= =?utf-8?B?UkVOeE5Za2M3NUNNK0N2cTBscnJ1Zkt2WXpwSlN6L21ZZDVmSWloU003bElY?= =?utf-8?B?c1NscTZ6d0VqUGxZbGRaZTBGSlJYc2Y2MUlNblluR2FOMTFLUTZWOUpKRzhQ?= =?utf-8?B?RE1oWVRCL2RDRTVJZUpXcnlnMTVQU0xPR1F5SGRJdnVZT2k2blZFeXhnbFk0?= =?utf-8?B?UlF2RzliK0owS1F3TTRLYkRVMlA2UFRXSzJ1YjBBZk90a2dkalozU2VkODQ3?= =?utf-8?B?ME5TYldVdks3elJPVlIxVVRSYVJUa1VmNDJBNEVDSWdzYndCSjBKWVJVWkhP?= =?utf-8?B?bllRVnNzK21qRXVlTVlaU1B6Qk5xQUs1T284WGZlZWFNNnpoZFAvR2J4YXVT?= =?utf-8?B?WUhRaERab0l5WDlQZGNYMy9sTndLamt0a1pydTIzTGl1VHZiRGZOZ3E3ZmZk?= =?utf-8?B?djFCVVJ1cGJuRlNOWW5aVlhQbXZ1OXVxTXpBME9HZkNES2N5WU9zU2Q1MjRz?= =?utf-8?B?b3R0Yk55WUJpc3JvUnl2RjNidUlNdjQ5L0puR1VTSkhFMjRPQUpCR3JrRzZV?= =?utf-8?B?V3JjSHZHeGp2S2NWcHpWaGVjOGlaY1hodGx0enowM1djZExNY0dxWTk2djBo?= =?utf-8?B?RkZLQXNjbmRsZlpzVTVUZlpZb3ozS0QyUGh5dkoxVWZhOU90VXdHVXR4UlZP?= =?utf-8?B?TE5ZQStLOVhtTksvbERvWldIUW84RUswWVZDN0hNcmZCdFhsaW5pblhBakIw?= =?utf-8?B?TkhqR1pSL3NLL1B0SmJTTklpZlUxVEVOWVhOc0JYSExhQk5tUVNHRjRLblJh?= =?utf-8?B?ME1zOXNFc2ZFSGhBWWxKN1VjV2NtZTh3akhLOXBVOFFLSVQwblBoalQxejRC?= =?utf-8?B?RllqQmhXK0pjSHJvditYUDVPYnRvbFkyZ2NXU0FSQWJmb0xuRXZzbnNrT1M2?= =?utf-8?B?Y0Z2UlZubkY1ZXZYY0Qyc2x0SHcvQ2lJeCtIaTBRM3dBaTM1LzdjUHFzbEFX?= =?utf-8?Q?2Gi0AaWwL7NXwT4sakB6xgw9TwtLTUfE0jko7EX?= 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: 6b17e890-0f0e-4079-da7a-08d96b59db42 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Aug 2021 01:59:52.2809 (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: ePHl99PtYoaulGp8UbLeOshFa6hpvu0WAGnlgm4E6H01wNH4cM8yxniA9C/NBFsUtJboT342rrXgZJ2Hf+se6w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1828 Return-Path: hao.a.wu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UHVzaGVkIHZpYToNClBSIC0gaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyL3B1bGwv MTkyOA0KQ29tbWl0IC0gaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyL2NvbW1pdC9i MDQ0NTNkMzZiZDg3NzM1YWFkZDI5YWRiZWZjZThkMTQ3ZjE4YTM1DQoNCkJlc3QgUmVnYXJkcywN CkhhbyBXdQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldmVsQGVk azIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIFd1LCBIYW8N Cj4gQQ0KPiBTZW50OiBGcmlkYXksIEF1Z3VzdCAyMCwgMjAyMSAxOjE1IFBNDQo+IFRvOiBkZXZl bEBlZGsyLmdyb3Vwcy5pbzsgbWhhZXVzZXJAcG9zdGVvLmRlDQo+IENjOiBXYW5nLCBKaWFuIEog PGppYW4uai53YW5nQGludGVsLmNvbT47IFZpdGFseSBDaGVwdHNvdg0KPiA8dml0OTY5NkBwcm90 b25tYWlsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggMS8xXSBNZGVN b2R1bGVQa2cvRWJjRHhlOiBNaXRpZ2F0ZQ0KPiBtZW1jcHkgaW50cmluc2ljcw0KPiANCj4gPiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlv IDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mDQo+IE1hcnZpbg0KPiA+IEg/dXNl cg0KPiA+IFNlbnQ6IE1vbmRheSwgQXVndXN0IDE2LCAyMDIxIDQ6MTIgQU0NCj4gPiBUbzogZGV2 ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRl bC5jb20+OyBXdSwgSGFvIEENCj4gPiA8aGFvLmEud3VAaW50ZWwuY29tPjsgVml0YWx5IENoZXB0 c292IDx2aXQ5Njk2QHByb3Rvbm1haWwuY29tPg0KPiA+IFN1YmplY3Q6IFtlZGsyLWRldmVsXSBb UEFUQ0ggMS8xXSBNZGVNb2R1bGVQa2cvRWJjRHhlOiBNaXRpZ2F0ZQ0KPiBtZW1jcHkNCj4gPiBp bnRyaW5zaWNzDQo+ID4NCj4gPiBBc3NpZ25tZW50cyBvZiBzdHJ1Y3R1cmUgdmFsdWVzIGNhdXNl IHRoZSBlbWlzc2lvbiBvZiBtZW1jcHkoKQ0KPiA+IGludHJpbnNpY3MgYnkgdGhlIENMQU5HMzgg dG9vbGNoYWluLiBTdWJzdGl0dXRlIHRoZSBhc3NpZ25tZW50cyB3aXRoDQo+ID4gY2FsbHMgdG8g Q29weU1lbSgpIHRvIG1pdGlnYXRlIHRoZSBpc3N1ZS4NCj4gDQo+IA0KPiBSZXZpZXdlZC1ieTog SGFvIEEgV3UgPGhhby5hLnd1QGludGVsLmNvbT4gV2lsbCBtZXJnZSBhZnRlciB0aGUNCj4gdXBj b21pbmcgc3RhYmxlIHRhZy4NCj4gDQo+IEJlc3QgUmVnYXJkcywNCj4gSGFvIFd1DQo+IA0KPiAN Cj4gPg0KPiA+IENjOiBKaWFuIEogV2FuZyA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPiA+IENj OiBIYW8gQSBXdSA8aGFvLmEud3VAaW50ZWwuY29tPg0KPiA+IENjOiBWaXRhbHkgQ2hlcHRzb3Yg PHZpdDk2OTZAcHJvdG9ubWFpbC5jb20+DQo+ID4gU2lnbmVkLW9mZi1ieTogTWFydmluIEjDpHVz ZXIgPG1oYWV1c2VyQHBvc3Rlby5kZT4NCj4gPiAtLS0NCj4gPiAgTWRlTW9kdWxlUGtnL1VuaXZl cnNhbC9FYmNEeGUvRWJjRGVidWdnZXIvRWRiLmMgICAgICAgICAgICAgIHwgNiArKysrKy0NCj4g PiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9FYmNEeGUvRWJjRGVidWdnZXIvRWRiQ21kQnJlYWtw b2ludC5jIHwgNg0KPiA+ICsrKysrLQ0KPiA+ICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0ViY0R4 ZS9FYmNEZWJ1Z2dlci9FZGJIb29rLmMgICAgICAgICAgfCA2DQo+ICsrKysrLQ0KPiA+ICAzIGZp bGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBk aWZmIC0tZ2l0IGEvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9FYmNEeGUvRWJjRGVidWdnZXIvRWRi LmMNCj4gPiBiL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRWJjRHhlL0ViY0RlYnVnZ2VyL0VkYi5j DQo+ID4gaW5kZXggNjExYjJkZTVkODFmLi5lNDE3ZjQ4NzBmM2QgMTAwNjQ0DQo+ID4gLS0tIGEv TWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9FYmNEeGUvRWJjRGVidWdnZXIvRWRiLmMNCj4gPiArKysg Yi9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0ViY0R4ZS9FYmNEZWJ1Z2dlci9FZGIuYw0KPiA+IEBA IC0yMTksNyArMjE5LDExIEBAIEVkYkNoZWNrQnJlYWtwb2ludCAoDQo+ID4gICAgICAgIC8vDQo+ ID4NCj4gPiAgICAgICAgLy8gSWYgaGl0LCByZWNvcmQgY3VycmVudCBicmVha3BvaW50DQo+ID4N Cj4gPiAgICAgICAgLy8NCj4gPg0KPiA+IC0gICAgICBEZWJ1Z2dlclByaXZhdGUtDQo+ID4gPkRl YnVnZ2VyQnJlYWtwb2ludENvbnRleHRbRUZJX0RFQlVHR0VSX0JSRUFLUE9JTlRfTUFYXSA9DQo+ ID4gRGVidWdnZXJQcml2YXRlLT5EZWJ1Z2dlckJyZWFrcG9pbnRDb250ZXh0W0luZGV4XTsNCj4g Pg0KPiA+ICsgICAgICBDb3B5TWVtICgNCj4gPg0KPiA+ICsgICAgICAgICZEZWJ1Z2dlclByaXZh dGUtDQo+ID4gPkRlYnVnZ2VyQnJlYWtwb2ludENvbnRleHRbRUZJX0RFQlVHR0VSX0JSRUFLUE9J TlRfTUFYXSwNCj4gPg0KPiA+ICsgICAgICAgICZEZWJ1Z2dlclByaXZhdGUtPkRlYnVnZ2VyQnJl YWtwb2ludENvbnRleHRbSW5kZXhdLA0KPiA+DQo+ID4gKyAgICAgICAgc2l6ZW9mIChEZWJ1Z2dl clByaXZhdGUtDQo+ID4gPkRlYnVnZ2VyQnJlYWtwb2ludENvbnRleHRbRUZJX0RFQlVHR0VSX0JS RUFLUE9JTlRfTUFYXSkNCj4gPg0KPiA+ICsgICAgICAgICk7DQo+ID4NCj4gPiAgICAgICAgRGVi dWdnZXJQcml2YXRlLQ0KPiA+ID5EZWJ1Z2dlckJyZWFrcG9pbnRDb250ZXh0W0VGSV9ERUJVR0dF Ul9CUkVBS1BPSU5UX01BWF0uU3RhdGUNCj4gPQ0KPiA+IFRSVUU7DQo+ID4NCj4gPiAgICAgICAg Ly8NCj4gPg0KPiA+ICAgICAgICAvLyBEbyBub3Qgc2V0IEJyZWFrcG9pbnQgZmxhZy4gV2UgcmVj b3JkIHRoZSBhZGRyZXNzIGhlcmUganVzdA0KPiA+IGxldCBpdCBub3QgcGF0Y2ggYnJlYWtwb2lu dCBhZGRyZXNzIHdoZW4gZGUtaW5pdC4NCj4gPg0KPiA+IGRpZmYgLS1naXQNCj4gPiBhL01kZU1v ZHVsZVBrZy9Vbml2ZXJzYWwvRWJjRHhlL0ViY0RlYnVnZ2VyL0VkYkNtZEJyZWFrcG9pbnQuYw0K PiA+IGIvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9FYmNEeGUvRWJjRGVidWdnZXIvRWRiQ21kQnJl YWtwb2ludC5jDQo+ID4gaW5kZXggZTBjNzk3YmUyNDdmLi41ZDMyYzY4NDA2NmUgMTAwNjQ0DQo+ ID4gLS0tDQo+IGEvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9FYmNEeGUvRWJjRGVidWdnZXIvRWRi Q21kQnJlYWtwb2ludC5jDQo+ID4gKysrDQo+ID4gYi9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0Vi Y0R4ZS9FYmNEZWJ1Z2dlci9FZGJDbWRCcmVha3BvaW50LmMNCj4gPiBAQCAtMTU4LDcgKzE1OCwx MSBAQCBEZWJ1Z2dlckJyZWFrcG9pbnREZWwgKA0KPiA+ICAgIC8vIERlbGV0ZSB0aGlzIGJyZWFr cG9pbnQNCj4gPg0KPiA+ICAgIC8vDQo+ID4NCj4gPiAgICBmb3IgKEJwSW5kZXggPSBJbmRleDsg QnBJbmRleCA8IERlYnVnZ2VyUHJpdmF0ZS0NCj4gPiA+RGVidWdnZXJCcmVha3BvaW50Q291bnQg LSAxOyBCcEluZGV4KyspIHsNCj4gPg0KPiA+IC0gICAgRGVidWdnZXJQcml2YXRlLT5EZWJ1Z2dl ckJyZWFrcG9pbnRDb250ZXh0W0JwSW5kZXhdID0NCj4gPiBEZWJ1Z2dlclByaXZhdGUtPkRlYnVn Z2VyQnJlYWtwb2ludENvbnRleHRbQnBJbmRleCArIDFdOw0KPiA+DQo+ID4gKyAgICBDb3B5TWVt ICgNCj4gPg0KPiA+ICsgICAgICAmRGVidWdnZXJQcml2YXRlLT5EZWJ1Z2dlckJyZWFrcG9pbnRD b250ZXh0W0JwSW5kZXhdLA0KPiA+DQo+ID4gKyAgICAgICZEZWJ1Z2dlclByaXZhdGUtPkRlYnVn Z2VyQnJlYWtwb2ludENvbnRleHRbQnBJbmRleCArIDFdLA0KPiA+DQo+ID4gKyAgICAgIHNpemVv ZiAoRGVidWdnZXJQcml2YXRlLT5EZWJ1Z2dlckJyZWFrcG9pbnRDb250ZXh0W0JwSW5kZXhdKQ0K PiA+DQo+ID4gKyAgICAgICk7DQo+ID4NCj4gPiAgICB9DQo+ID4NCj4gPiAgICBaZXJvTWVtICgN Cj4gPg0KPiA+ICAgICAgJkRlYnVnZ2VyUHJpdmF0ZS0+RGVidWdnZXJCcmVha3BvaW50Q29udGV4 dFtCcEluZGV4XSwNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvVW5pdmVyc2Fs L0ViY0R4ZS9FYmNEZWJ1Z2dlci9FZGJIb29rLmMNCj4gPiBiL01kZU1vZHVsZVBrZy9Vbml2ZXJz YWwvRWJjRHhlL0ViY0RlYnVnZ2VyL0VkYkhvb2suYw0KPiA+IGluZGV4IDgzMjU3YTJjMjVmZS4u MWJmZTUyNDBjNzYwIDEwMDY0NA0KPiA+IC0tLSBhL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRWJj RHhlL0ViY0RlYnVnZ2VyL0VkYkhvb2suYw0KPiA+ICsrKyBiL01kZU1vZHVsZVBrZy9Vbml2ZXJz YWwvRWJjRHhlL0ViY0RlYnVnZ2VyL0VkYkhvb2suYw0KPiA+IEBAIC0yMzAsNyArMjMwLDExIEBA IEViY0RlYnVnZ2VyUHVzaFRyYWNlRGVzdEVudHJ5ICgNCj4gPiAgICAgIC8vDQo+ID4NCj4gPiAg ICAgIEFTU0VSVA0KPiA+IChtRGVidWdnZXJQcml2YXRlLlRyYWNlRW50cnlbRUZJX0RFQlVHR0VS X1RSQUNFX01BWF0uVHlwZSA9PQ0KPiBUeXBlKTsNCj4gPg0KPiA+ICAgICAgZm9yIChJbmRleCA9 IDA7IEluZGV4IDwgRUZJX0RFQlVHR0VSX1RSQUNFX01BWDsgSW5kZXgrKykgew0KPiA+DQo+ID4g LSAgICAgIG1EZWJ1Z2dlclByaXZhdGUuVHJhY2VFbnRyeVtJbmRleF0gPQ0KPiA+IG1EZWJ1Z2dl clByaXZhdGUuVHJhY2VFbnRyeVtJbmRleCArIDFdOw0KPiA+DQo+ID4gKyAgICAgIENvcHlNZW0g KA0KPiA+DQo+ID4gKyAgICAgICAgJm1EZWJ1Z2dlclByaXZhdGUuVHJhY2VFbnRyeVtJbmRleF0s DQo+ID4NCj4gPiArICAgICAgICAmbURlYnVnZ2VyUHJpdmF0ZS5UcmFjZUVudHJ5W0luZGV4ICsg MV0sDQo+ID4NCj4gPiArICAgICAgICBzaXplb2YgKG1EZWJ1Z2dlclByaXZhdGUuVHJhY2VFbnRy eVtJbmRleF0pDQo+ID4NCj4gPiArICAgICAgICApOw0KPiA+DQo+ID4gICAgICB9DQo+ID4NCj4g PiAgICAgIG1EZWJ1Z2dlclByaXZhdGUuVHJhY2VFbnRyeVtFRklfREVCVUdHRVJfQ0FMTFNUQUNL X01BWCAtDQo+ID4gMV0uRGVzdEFkZHJlc3MgPSBEZXN0RW50cnk7DQo+ID4NCj4gPiAgICAgIG1E ZWJ1Z2dlclByaXZhdGUuVHJhY2VFbnRyeUNvdW50ID0gRUZJX0RFQlVHR0VSX1RSQUNFX01BWDsN Cj4gPg0KPiA+IC0tDQo+ID4gMi4zMS4xDQo+ID4NCj4gPg0KPiA+DQo+ID4NCj4gPg0KPiANCj4g DQo+IA0KPiANCj4gDQoNCg==