From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web11.5339.1600305664757409058 for ; Wed, 16 Sep 2020 18:21:04 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=v3k8dKZa; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: christopher.j.zurcher@intel.com) IronPort-SDR: uy43k9LAn1O3Gm7L2xJqlp5+eambSSm7Zt7sNpa+djNTGIgP7Hdcw36vwIz6J/q4S67Hqevbqd m7hMBT37djhw== X-IronPort-AV: E=McAfee;i="6000,8403,9746"; a="158901546" X-IronPort-AV: E=Sophos;i="5.76,434,1592895600"; d="scan'208";a="158901546" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Sep 2020 18:21:04 -0700 IronPort-SDR: 9aMEDFjZCksdpIaHGkKuoTbf7AtXUM2wlywFsMdkrt78k2dWvNq5aijWUOQ7bbyd7J7jKNpQb4 pFz8eVm430sA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,434,1592895600"; d="scan'208";a="331935224" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga004.fm.intel.com with ESMTP; 16 Sep 2020 18:21:04 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) 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; Wed, 16 Sep 2020 18:21:03 -0700 Received: from orsmsx101.amr.corp.intel.com (10.22.225.128) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 16 Sep 2020 18:21:03 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by ORSMSX101.amr.corp.intel.com (10.22.225.128) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 16 Sep 2020 18:21:03 -0700 Received: from NAM04-SN1-obe.outbound.protection.outlook.com (104.47.44.59) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Wed, 16 Sep 2020 18:21:03 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gzg4UPObBCn2Nhqf5+RiAF1dP6trdCDlNXA8ZUQan8TseJ6zxAq20datw9FKIB5kBWzoFxJQvHrhQnaAzlr4ji7sWbbtnK6mLFUwmGZskDxaSiXZJRu6As1oeJLdzXu+COtgf86mfzPKz48w8QBM17vOFkbo229Ebym6TOE+RkKi7RZNK+j5+1uci5WZUAMAlzKhQ5cyLSPWrP8RjjySCdV9JDCggizqfshSDnUCwNcfkC3XaBjvYLHX1o5cYTWBMnn0KnouICOtSb8wf3VP2An2cirG2tPgj9vqRiVnznZ0ZgJVg4coEdldzx7oiXEydDD1qZuwWybsxU96CLj1mw== 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=MENxykeOxKjK8y/2KkhY4ICYkXf2iXjKK4E5xC3AmOs=; b=Zd29FbOTLgE9Vxn8zBbK2yrWGTTkpMO8V374RJU70l78CaaacFCKfid9tNddL1AkJxqPbeRIhXfDv2EiJNQASdQxxC8rBy3WWd9aFdqB6Ylr8ik50KqXevcSmpolM5B7+RESGvdsre8UJgaB1nGgjmAErvjvgpdsHPe6zTHOffLsa+4J4DuYpIo+hQ9OqEd8Qic6WtrJE2V0Hq0AZwNG4+ctDff4/YxpewAxniqMo/YRyhQg3eXScUnBneBZypSaTVbiLODbcQfGfgwNfiABWaeA3u0Dy5vo2M/x5zrUoUmCGTpxlf09bPP3mxDDsQHxzWb7pJt9c1sfqM++gYMzKA== 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=MENxykeOxKjK8y/2KkhY4ICYkXf2iXjKK4E5xC3AmOs=; b=v3k8dKZa6VjXrqQssiJKmGqsYfLpAhx3ZIKAJ1Cvh4YVY0u5yVWFuVlr1FzcX0/SZTLolUHm4Rer6SCxpSwMaqV6krJ+FqTQFFRIiYpX5VTbMXlCsjzaMkC+/aKXkKOTYd5J5O3zacuqxrRQAZ/K1fJM+acvHwm/fT8RXw5tTSI= Received: from MWHPR1101MB2125.namprd11.prod.outlook.com (2603:10b6:301:4d::10) by MW3PR11MB4635.namprd11.prod.outlook.com (2603:10b6:303:2c::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3370.16; Thu, 17 Sep 2020 01:21:02 +0000 Received: from MWHPR1101MB2125.namprd11.prod.outlook.com ([fe80::6cbb:9c13:41f0:ce20]) by MWHPR1101MB2125.namprd11.prod.outlook.com ([fe80::6cbb:9c13:41f0:ce20%3]) with mapi id 15.20.3391.014; Thu, 17 Sep 2020 01:21:02 +0000 From: "Zurcher, Christopher J" To: Laszlo Ersek , "Yao, Jiewen" , "devel@edk2.groups.io" CC: "Wang, Jian J" , "Lu, XiaoyuX" Subject: Re: [edk2-devel] [PATCH v3 1/3] CryptoPkg/BaseCryptLib: Add EVP (Envelope) Digest interface Thread-Topic: [edk2-devel] [PATCH v3 1/3] CryptoPkg/BaseCryptLib: Add EVP (Envelope) Digest interface Thread-Index: AQHWjBlznWPMIKdUZkmBuKMuxzsxhqlrJV2AgAAfAYCAAAuYgIAAHgoAgACNMLA= Date: Thu, 17 Sep 2020 01:21:01 +0000 Message-ID: References: <20200916005902.6114-1-christopher.j.zurcher@intel.com> <20200916005902.6114-2-christopher.j.zurcher@intel.com> <6ffd9a53-0fde-cf4b-240a-6703a3dfd48e@redhat.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-reaction: no-action dlp-product: dlpe-windows authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [134.134.136.213] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 317ab66f-16d4-4c37-7d9b-08d85aa7f0f2 x-ms-traffictypediagnostic: MW3PR11MB4635: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: TEA12OiUojheiC34D5SvuovOwCZI/vJgsNsyGk9Nc3z125jp9tWusZj54OgXWcmgI/P66KHgrn0GTleuEi8qt4jkkAez26yO6xs/Eswfz/d0vO7AWslun5420Gm8DcgXX/FUv3fnPxR7YqwuNkZBoGL3HwdFQ4UF3L10Ot4k3LnFUB1a3VAWeYA1F8Xi7Xq+bbmh/lNz3xzdhtqK2IVP3ZcnIbVKnx5yCYnBJQ9agCCWQGZVs6fg7TVvEzNbDsWTXAq3IA8kQa0MuEAKgShEoMJTYThk5RuycNKQ3EE2R4IaZejmyRGKsDuq3uEt/GoOVv/aLajXZX7YUdIEUA7kSQT5OeBVYtDtQfLN66DOmX7s9+hpy3cakEv9I/Q/iE2xEnZIoJ2+ZL5yIaWABoy7fw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1101MB2125.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(346002)(366004)(376002)(136003)(39860400002)(186003)(55016002)(2906002)(107886003)(26005)(316002)(83380400001)(4326008)(8936002)(478600001)(52536014)(86362001)(5660300002)(53546011)(66446008)(8676002)(66946007)(9686003)(6506007)(66556008)(66476007)(33656002)(71200400001)(76116006)(7696005)(54906003)(110136005)(64756008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: 13MFewE7IrkEvTOiiogKZ+h0XV+PWzHMZLENzhHa+/iydSaRH2G9I5iN6E3HeEWwErit0Mcbkf83FliFdUesb9cHoVmRtDkYQNvnA1Sm0kzccHRmMVTjYv2okctqF3mlpCGxOJ06qpvdcKHuAXqd8bR1UUZRT7m7E4DTVKpVYhvyD82s88BIaOKuWKzoLybJf4r2WYCmjBihxJ63np51MQVzidnA+p0BkMBmixReaL0AfpefgC/Q+eJhf1s/F7nZXNJoYE+fhGh+qLZu5AWiOELC7TwKsOfaQp4W0aFJsaiZ2olNKaWsPW2tKzhuTv0I8N/FXwYsqyGVzDk+8JPG58vhQVDKbW/ClEH7fGEutRGv0Afe3faBIrgK5xohPTQAQf0JoCVFjDSIiIW/bDycG2rPyVj4wbfCcSo15LsH5/ZEqInnjB2t7F8Cxc2x0TObSjKmvNKKkgcI2iO6SCUfTf5EBo6SaSTat6LvRtzQo7WTiYp/Ln0dDQu3w92HG0ZbSTGRdYTHh8xqmQSoXDsfbIgtK9fTIKJ2DDSfYxZF1bDIdf/8y/pdvfo+HPxQzV+zRKWz4dJ8OEIgvmmutOzXOZk5VgXgL0rGLM5ek1TCa2MwQiyicioTeg6utfE+/WgpWZEKb3GMPyEuuHZ3mw6uZg== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR1101MB2125.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 317ab66f-16d4-4c37-7d9b-08d85aa7f0f2 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Sep 2020 01:21:01.9697 (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: IYY9wuSXN1iB1u9X/XVjGzJS6K3J8Prk1OaIqWoLKcGcn+9VRjF6+IYv+uM75DVMDNZYFb+2AO2uXdbi4uOlZadKTI8OfpAs9Gxt6EivQZI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4635 Return-Path: christopher.j.zurcher@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Smlld2VuLA0KDQpUaGlzIHBhdGNoIHNldCBhc3N1bWVzIHRoYXQgRURLMiBpcyBsaW5rZWQgd2l0 aCBPcGVuU1NMIGZvciB0aGUgZm9yZXNlZWFibGUgZnV0dXJlLiBUaGUgZW5kIGdvYWwgd291bGQg YmUgdG8gbW92ZSBhbGwgYXBwbGljYWJsZSBDcnlwdG8gYWNjZXNzIHRvIHRoZSBFVlAgaW50ZXJm YWNlIGFuZCByZW1vdmUgdGhlIGluZGl2aWR1YWwgbW9kdWxlcyB3ZSBtYWludGFpbiBmb3IgZWFj aCBhbGdvcml0aG0uIFRoZSBwcmltYXJ5IGJlbmVmaXQgaGVyZSBpcyByZWR1Y2luZyBjb21wbGV4 aXR5IGFuZCBjb2RlIGR1cGxpY2F0aW9uLiBXaXRob3V0IHRoaXMgZW5kIGdvYWwsIHRoaXMgcGF0 Y2ggc2V0IHdpbGwgbm90IGJlIHBhcnRpY3VsYXJseSB1c2VmdWwuDQoNCklmIHRoZSBkZXNpZ24g Z29hbCBvZiBCYXNlQ3J5cHRMaWIgaXMgdG8gYWxsb3cgT3BlblNTTCB0byBiZSByZXBsYWNlZCBi eSBvdGhlciBjcnlwdG8gcHJvdmlkZXJzLCBJIHNob3VsZCBhYmFuZG9uIHRoaXMgcGF0Y2ggc2V0 LCBhbmQgd2UgY2FuIHNhdmUgdGhlIEVWUCB0cmFuc2l0aW9uIGZvciB3aGVuIG1vdmluZyB0byBP cGVuU1NMIDMgYmVjb21lcyBtYW5kYXRvcnkuIEF0IHRoYXQgdGltZSwgdGhlIENyeXB0WC5jIGZh bWlseSBjYW4gYmUgbW9kaWZpZWQgdG8gY2FsbCBFVlAgZnVuY3Rpb25zLg0KKFRoaXMgY291bGQg ZXZlbiBiZSBkb25lIHRyYW5zcGFyZW50bHksIGJ5IHJldHVybmluZyBVSU5UTiBmcm9tIEdldENv bnRleHRTaXplIGFuZCB1c2luZyB0aGUgdXNlci1zdXBwbGllZCAiY29udGV4dCIgdG8gc3RvcmUg dGhlIE9wZW5TU0wtc3VwcGxpZWQgY29udGV4dCBwb2ludGVyLikNCkRlbGF5aW5nIEVWUCBhZG9w dGlvbiBpbiB0aGlzIGNhc2Ugd291bGQgYWxzbyBhbGxvdyBtb3JlIHRpbWUgZm9yIHBsYXRmb3Jt cyB0byBhZG9wdCB0aGUgQ3J5cHRvIFNlcnZpY2VzIG1vZGVsLCB3aGljaCBzaG91bGQgaGVscCBv ZmZzZXQgdGhlIHNpemUgaW1wYWN0Lg0KDQpQbGVhc2UgbGV0IG1lIGtub3cgd2hpY2ggcGF0aCBz aG91bGQgYmUgdGFrZW4uDQoNClRoYW5rcywNCkNocmlzdG9waGVyIFp1cmNoZXINCg0KPiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRo YXQuY29tPg0KPiBTZW50OiBXZWRuZXNkYXksIFNlcHRlbWJlciAxNiwgMjAyMCAwOTowNQ0KPiBU bzogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMu aW87IFp1cmNoZXIsIENocmlzdG9waGVyIEoNCj4gPGNocmlzdG9waGVyLmouenVyY2hlckBpbnRl bC5jb20+DQo+IENjOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47IEx1LCBY aWFveXVYIDx4aWFveXV4Lmx1QGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVs XSBbUEFUQ0ggdjMgMS8zXSBDcnlwdG9Qa2cvQmFzZUNyeXB0TGliOiBBZGQgRVZQIChFbnZlbG9w ZSkgRGlnZXN0IGludGVyZmFjZQ0KPiANCj4gT24gMDkvMTYvMjAgMTY6MTcsIFlhbywgSmlld2Vu IHdyb3RlOg0KPiA+IFRoYW5rIHlvdSBMYXN6bG8uDQo+ID4gWW91IGZvcmNlZCBtZSB0byByZWFk IHRoZSBjb2RlIGFnYWluIGFuZCBtb3JlIGNhcmVmdWxseS4gOi0pDQo+ID4NCj4gPiBJIGJlbGll dmUgSSB1bmRlcnN0YW5kIHdoeSB5b3UgdXNlIE5VTEwgdG8gZnJlZSB0aGUgY29udGV4dCBub3cg LSB0byBzdXBwb3J0IGVycm9yIHBhdGguDQo+ID4NCj4gPiBGaXJzdCwgSSBkaWQgaGF2ZSBzb21l IG5ldyB0aG91Z2h0IGZvciBFVlAgQVBJLiBMZXTigJlzIGNvbnNpZGVyIDMgY2FzZXMsIDEpIEhh c2ggYWxsIGRhdGEgb25lIHRpbWUsIDIpIEhhc2ggdXBkYXRlDQo+IGRhdGEgbXVsdGlwbGUgdGlt ZXMsIDMpIEVycm9yIGR1cmluZyB1cGRhdGUuDQo+ID4NCj4gPiBBLiBJbiBjdXJyZW50IGRlc2ln biwgdGhlIEFQSSBzZXF1ZW5jZSBpczoNCj4gPiAxKSBFdnBNZEhhc2hBbGwgKERpZ2VzdCkNCj4g PiAyKSBFdnBNZEluaXQsIEV2cE1kVXBkYXRlLCBFdnBNZFVwZGF0ZSwgLi4uICwgRXZwTWRGaW5h bCAoRGlnZXN0KQ0KPiA+IDMpIEV2cE1kSW5pdCwgRXZwTWRVcGRhdGUtPkVSUk9SLCBFdnBNZEZp bmFsIChOVUxMKQ0KPiA+DQo+ID4gQi4gV2UgY2FuIGF1dG8gZnJlZSBjb250ZXh0IGluIEV2cE1k VXBkYXRlIGluIGVycm9yIHBhdGggIC0gdGhlIEFQSSBzZXF1ZW5jZSBpczoNCj4gPiAxKSBFdnBN ZEhhc2hBbGwgKERpZ2VzdCkNCj4gPiAyKSBFdnBNZEluaXQsIEV2cE1kVXBkYXRlLCBFdnBNZFVw ZGF0ZSwgLi4uICwgRXZwTWRGaW5hbCAoRGlnZXN0KQ0KPiA+IDMpIEV2cE1kSW5pdCwgRXZwTWRV cGRhdGUtPkVSUk9SDQo+IA0KPiBJIGRvbid0IGxpa2UgIkIiIGJlY2F1c2UgaW4gdGhlIGxvb3Ag Ym9keSB3aGVyZSB5b3UgY2FsbCBFdnBNZFVwZGF0ZSgpLA0KPiB5b3UgbWF5IGVuY291bnRlciBh biBlcnJvciBmcm9tIGEgZGlmZmVyZW50IHNvdXJjZSB0aGFuIEV2cE1kVXBkYXRlKCkNCj4gaXRz ZWxmLiBGb3IgZXhhbXBsZSwgeW91IG1heSBiZSByZWFkaW5nIGRhdGEgZnJvbSB0aGUgbmV0d29y ayBvciBhIGRpc2sNCj4gZmlsZS4gSWYgZmV0Y2hpbmcgdGhlIG5leHQgY2h1bmsgZmFpbHMsIHdl J2Qgc3RpbGwgd2FudCB0byBjbGVhbiB1cCB0aGUNCj4gRVZQIE1EIGNvbnRleHQuIFRoZXJlZm9y ZSwgaWYgRXZwTWRVcGRhdGUoKSB3b3VsZCBpdHNlbGYgaW52YWxpZGF0ZSB0aGUNCj4gY29udGV4 dCwgaWYgaXQgZmFpbGVkLCB0aGVuIHRoYXQgd291bGQgKmNvbXBsaWNhdGUqIHRoZSBlcnJvciBw YXRoLiAoPQ0KPiBDbGVhbiB1cCB0aGUgY29udGV4dCBhZnRlciB0aGUgbG9vcCBib2R5ICpvbmx5 KiBpZiBzb21ldGhpbmcgZGlmZmVyZW50DQo+IGZyb20gRXZwTWRVcGRhdGUoKSBmYWlsZWQuKQ0K PiANCj4gPg0KPiA+IEM6IFdlIGNhbiB1c2UgTmV3L0ZyZWUgc3R5bGUgLSBzaW1pbGFyIHRvIEhN QUMNCj4gPiAxKSBFdnBNZEhhc2hBbGwgKERpZ2VzdCkNCj4gPiAyKSBFdnBNZE5ldywgRXZwTWRJ bml0LCBFdnBNZFVwZGF0ZSwgRXZwTWRVcGRhdGUsIC4uLiAsIEV2cE1kRmluYWwgKERpZ2VzdCks IEV2cE1kRnJlZQ0KPiA+IDMpIEV2cE1kTmV3LCBFdnBNZEluaXQsIEV2cE1kVXBkYXRlLT5FUlJP UiwgRXZwTWRGcmVlDQo+IA0KPiBZZXMsIHRoaXMgd2FzIHRoZSBmaXJzdCBwYXR0ZXJuLCB0aGUg b25lIHRoYXQgY2F1c2VkIG1lIHRvIHNheSAicGxlYXNlDQo+IGRvbid0IGRvIHRoaXMiLiBJbiB0 aGlzIHBhdHRlcm4sIHRoZSBjb250ZXh0IG1heSBleGlzdCBiZXR3ZWVuICJOZXciIGFuZA0KPiAi SW5pdCIsIGFuZCBhbHNvIGJldHdlZW4gIkZpbmFsIiBhbmQgIkZyZWUiLiBUaG9zZSB0d28gc3Rh dGVzIGFyZQ0KPiB1c2VsZXNzIGFuZCBvbmx5IGdvb2QgZm9yIGNhdXNpbmcgY29uZnVzaW9uLg0K PiANCj4gRm9yIGV4YW1wbGUsIGFyZSB5b3UgYWxsb3dlZCB0byBEdXBsaWNhdGUgYSBjb250ZXh0 IGluIHRob3NlIHN0YXRlcz8NCj4gSXQncyBiZXN0IHRvIHByZXZlbnQgZXZlbiB0aGUgKmFza2lu Zyogb2YgdGhhdCBxdWVzdGlvbi4NCj4gDQo+ID4NCj4gPiBJIGNoZWNrZWQgYmVsb3cgQVBJczoN Cj4gPiAxKSBvcGVuc3NsIChFVlBfTURfQ1RYX25ldywgRVZQX0RpZ2VzdEluaXRfZXgsIEVWUF9E aWdlc3RVcGRhdGUsIEVWUF9EaWdlc3RGaW5hbF9leCwgRVZQX01EX0NUWF9mcmVlKQ0KPiA+IDIp IG1iZWR0bHMgKG1iZWR0bHNfc2hhMjU2X2luaXQsIG1iZWR0bHNfc2hhMjU2X3N0YXJ0c19yZXQs IG1iZWR0bHNfc2hhMjU2X3VwZGF0ZV9yZXQsIG1iZWR0bHNfc2hhMjU2X2ZpbmlzaF9yZXQsDQo+ IG1iZWR0bHNfc2hhMjU2X2ZyZWUpDQo+ID4gMykgQmFzZUNyeXB0b0xpYiBITUFDIChIbWFjU2hh MjU2TmV3LCBIbWFjU2hhMjU2U2V0S2V5LCBIbWFjU2hhMjU2VXBkYXRlLCBIbWFjU2hhMjU2Rmlu YWwsIEhtYWNTaGEyNTZGcmVlKQ0KPiA+DQo+ID4gQWxsIEFQSXMgaW5jbHVkZSBmcmVlIGZ1bmN0 aW9uIHRvIGZyZWUgdGhlIGNvbnRleHQsIEkgZG9u4oCZdCB0aGluayBpdCBpcyBhIGJhZCBpZGVh IHRvIGhhdmUgRXZwTWRGcmVlKCkgQVBJLg0KPiA+IEkgd291bGQgbGlrZSB0byBwcm9wb3NlIG9w dGlvbiAtIEMuDQo+IA0KPiAtIEkgY2Fubm90IGNvbW1lbnQgb24gbWJlZHRscyAoMikuDQo+IA0K PiAtIEkgdGhpbmsgdGhlIGN1cnJlbnQgQmFzZUNyeXB0TGliIEhNQUMgQVBJcyAoMykgYXJlIG5v dCBncmVhdCwgYW5kIHdlDQo+IHNob3VsZCB1c2UgdGhpcyBvcHBvcnR1bml0eSB0byBpbXByb3Zl IHVwb24gdGhlbS4NCj4gDQo+IC0gUmVnYXJkaW5nIG9wZW5zc2wgKDEpLCBhcyBJIHVuZGVyc3Rh bmQgaXQsIHRoZSBzaXR1YXRpb24gaXMgZGlmZmVyZW50DQo+IGZyb20gZWRrMi4gSW4gT3BlblNT TCwgRVZQX01EX0NUWCBpcyAqbm90KiBhbiBvcGFxdWUgdHlwZSAoZXhwcmVzc2VkIGluDQo+IEMg bGFuZ3VhZ2UgdGVybXMsIGl0IGlzIG5vdCBhbiAiaW5jb21wbGV0ZSIgdHlwZSwgYnV0IGEgImNv bXBsZXRlIg0KPiB0eXBlKS4gVGhlcmVmb3JlLCBhbiBleHByZXNzaW9uIHN1Y2ggYXMgc2l6ZW9m KEVWUF9NRF9DVFgpIHdvcmtzLg0KPiANCj4gVGhlIGNvbnNlcXVlbmNlIGlzIHRoYXQgT3BlblNT TCBjb2RlIGl0c2VsZiBjYW4gdXNlIHRoZSBmb2xsb3dpbmcgc3R5bGU6DQo+IA0KPiB2b2lkIGZ1 bmModm9pZCkNCj4gew0KPiAgIEVWUF9NRF9DVFggY3R4Ow0KPiANCj4gICBFVlBfRGlnZXN0SW5p dF9leCgmY3R4LCAuLi4pOw0KPiAgIC4uLg0KPiAgIEVWUF9EaWdlc3RGaW5hbF9leCgmY3R4LCAu Li4pDQo+IH0NCj4gDQo+IEluIG90aGVyIHdvcmRzLCBPcGVuU1NMLW5hdGl2ZSBjb2RlIGlzIHBl cm1pdHRlZCB0byBrbm93IHRoZSBpbnRlcm5hbHMNCj4gb2YgRVZQX01EX0NUWCwgdGhlcmVmb3Jl IHRoZSBPcGVuU1NMLWludGVybmFsIGNvZGUgbWF5IGFsbG9jYXRlDQo+IEVWUF9NRF9DVFggd2l0 aCBtZWFucyB0aGF0IGFyZSAqZGlmZmVyZW50KiBmcm9tIEVWUF9NRF9DVFhfbmV3KCkgYW5kDQo+ IEVWUF9NRF9DVFhfZnJlZSgpLg0KPiANCj4gVGhlIGNhbGxlciBvZiAoSW5pdCwgRmluYWwpIG1h eSB1c2UgKE5ldywgRnJlZSkgZm9yIG1lbW9yeSBtYW5hZ2VtZW50LA0KPiBvciBtYXkgdXNlIHNv bWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudCAoZm9yIGV4YW1wbGUsIGxvY2FsIHZhcmlhYmxl cykuDQo+IA0KPiBUaGVyZWZvcmUsIG9mZmVyaW5nIHRoZSAoSW5pdCwgRmluYWwpIEFQSXMgc2Vw YXJhdGVseSBmcm9tIChOZXcsIEZyZWUpDQo+IGlzIG1lYW5pbmdmdWwuDQo+IA0KPiBCdXQgdGhl IHNpdHVhdGlvbiBpbiBlZGsyIC0tIG9yIGFueSBvdGhlciBPcGVuU1NMICpjb25zdW1lciogLS0g aXMNCj4gZGlmZmVyZW50LiBJbiBlZGsyLCBFVlBfTURfQ1RYIGlzIGFuIG9wYXF1ZSB0eXBlIC0t IGluIEMgbGFuZ3VhZ2UgdGVybXM6DQo+IGFuICJpbmNvbXBsZXRlIiB0eXBlLiBPcGVuU1NMIGRl bGliZXJhdGVseSBoaWRlcyB0aGUgaW50ZXJuYWxzIG9mDQo+IEVWUF9NRF9DVFguDQo+IA0KPiBT ZWUgIkNyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvb3BlbnNzbC9pbmNsdWRlL29wZW5zc2wv b3NzbF90eXAuaCI6DQo+IA0KPiA+IHR5cGVkZWYgc3RydWN0IGV2cF9tZF9jdHhfc3QgRVZQX01E X0NUWDsNCj4gDQo+IGFuZCB0aGUgImV2cF9tZF9jdHhfc3QiIHN0cnVjdHVyZSB0eXBlIGlzIG9u bHkgZGVmaW5lZCBpbg0KPiAiQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9vcGVuc3NsL2Ny eXB0by9ldnAvZXZwX2xvY2FsLmgiLCB3aG9zZQ0KPiBjb250ZW50cyAtLSBJIHRoaW5rISAtLSBP cGVuU1NMIGNsaWVudCBjb2RlIGNhbm5vdCwgb3IgKnNob3VsZCBub3QqLA0KPiByZWZlciB0by4N Cj4gDQo+IFRoaXMgbWVhbnMgdGhhdCBPcGVuU1NMIGNvbnN1bWVyIGNvZGUgY2FuICpvbmx5KiBy ZWx5IG9uDQo+IEVWUF9NRF9DVFhfbmV3KCkgYW5kIEVWUF9NRF9DVFhfZnJlZSgpLCBmb3IgYWxs b2NhdGluZyBhbmQgcmVsZWFzaW5nIHRoZQ0KPiBjb250ZXh0LCByZXNwZWN0aXZlbHkuICJzaXpl b2YoRVZQX01EX0NUWCkiIGlzIG5vdCBwZXJtaXR0ZWQsIGFuZA0KPiBkZWZpbmluZyBhIGxvY2Fs IG9yIGdsb2JhbCB2YXJpYWJsZSBvZiB0eXBlIEVWUF9NRF9DVFggaXMgYWxzbyBub3QgdmFsaWQu DQo+IA0KPiBUaGlzIG1lYW5zIHRoYXQgdGhlIG9ubHkgcmVhc29uIGZvciBzZXBhcmF0aW5nIChJ bml0LCBGaW5hbCkgZnJvbSAoTmV3LA0KPiBGcmVlKSBmYWxscyBhd2F5LCBpbiBPcGVuU1NMIGNv bnN1bWVyIGNvZGUuIEluIE9wZW5TU0wgY29uc3VtZXIgY29kZSwNCj4gdGhlcmUgaXMgbm8gcmVh c29uIHRvIGtlZXAgKmJvdGgqIHBhaXJzIG9mIEFQSXMuDQo+IA0KPiANCj4gUGxlYXNlIG5vdGUg dGhhdCwgdGhpcyAodmVyeSBwcnVkZW50KSBpbmZvcm1hdGlvbiBoaWRpbmcgLyBlbmNhcHN1bGF0 aW9uDQo+IGluIE9wZW5TU0wgdXNlZCB0byBiZSB2aW9sYXRlZCBieSBlZGsyIGluIHRoZSBwYXN0 LCBpbnRlbnRpb25hbGx5Lg0KPiBUaGF0J3Mgd2hhdCB0aGUgSG1hY1h4eEdldENvbnRleHRTaXpl KCkgQVBJcyB3ZXJlIGFib3V0IC0tIHRob3NlIEFQSXMNCj4gZm9yY2VmdWxseSBsZWFrZWQgdGhl IGNvbnRleHQgc2l6ZXMgdG8gY2xpZW50IGNvZGUsIHNvIHRoYXQgY2xpZW50IGNvZGUNCj4gaW4g ZWRrMiBjb3VsZCBwZXJmb3JtIGl0cyBvd24gYWxsb2NhdGlvbi4NCj4gDQo+IEJ1dCBpbiA8aHR0 cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzkyPiwgd2UgZmlu YWxseQ0KPiBlbGltaW5hdGVkIEhtYWNYeHhHZXRDb250ZXh0U2l6ZSgpLiBBcyBhIHBhcnQgb2Yg dGhhdCwgd2UgYWxzbw0KPiBzaW1wbGlmaWVkIHRoZSBITUFDIEFQSSAtLSBub3RlIHRoYXQgSW5p dCB3YXMgcmVwbGFjZWQgYnkgU2V0S2V5LiBBbmQNCj4gYmVjYXVzZSB3ZSB3ZXJlIHJld29ya2lu ZyBhbiBleGlzdGVudCBBUEksIEkgZGlkbid0IHByb3Bvc2UgdmVyeQ0KPiBpbnRydXNpdmUgY2hh bmdlcyAtLSBJIGRpZG4ndCBwcm9wb3NlIGZ1c2luZyBGaW5hbCBhbmQgRnJlZSwgZm9yIGV4YW1w bGUuDQo+IA0KPiBOb3csIHRoZSBFVlAgTUQgQVBJcyBhcmUganVzdCBiZWluZyBpbnRyb2R1Y2Vk IHRvIGVkazIuIFNvIHdlIGhhdmUgYQ0KPiBjaGFuY2UgYXQgZ2V0dGluZyB0aGVtIHJpZ2h0LCBh bmQgbWFraW5nIHRoZW0gbWluaW1hbC4NCj4gDQo+ID4gU2Vjb25kLCBJIGJlbGlldmUgRVZQIGlz IGp1c3Qgc29tZXRoaW5nIGluIG9wZW5zc2wuIEl0IGRvZXMgbm90IG1lYW4gdGhhdCB3ZSAqaGF2 ZSB0byogZGVzaWduIEFQSSB0byBmb2xsb3cNCj4gb3BlbnNzbC4NCj4gPiBBZnRlciByZXRoaW5r IHRoZSBzaXplIGltcGFjdCwgSSBkbyBoYXZlIGNvbmNlcm4gdG8gbWVyZ2UgYWxsIEhhc2ggaW1w bGVtZW50YXRpb24gdG9nZXRoZXIgaW4gb25lIGZ1bmN0aW9uLg0KPiA+IEl0IG1pZ2h0IG1lYW5z IG5vdGhpbmcgaWYgdGhlIGNyeXB0byBsaWJyYXJ5IGlzIGJhc2VkIHVwb24gb3BlbnNzbC4NCj4g PiBCdXQgaWYgdGhlIGNyeXB0b2xpYiBpbXBsZW1lbnRhdGlvbiBpcyBiYXNlZCB1cG9uIG90aGVy IGNyeXB0bywgc3VjaCBhcyBJbnRlbCBJUFANCj4gKGh0dHBzOi8vZ2l0aHViLmNvbS9zbGltYm9v dGxvYWRlci9zbGltYm9vdGxvYWRlci90cmVlL21hc3Rlci9Cb290bG9hZGVyQ29tbW9uUGtnL0xp YnJhcnkvSXBwQ3J5cHRvTGliKSBvciBtYmVkVGxzDQo+IChodHRwczovL2dpdGh1Yi5jb20vanlh bzEvZWRrMi90cmVlL0RldmljZVNlY3VyaXR5L0NyeXB0b01iZWRUbHNQa2cpLCB0aGVuIHdlIGNh biBOT1QgZ2V0IHNpemUgYmVuZWZpdCBieSBzZXBhcmF0aW5nDQo+IHRoZSBoYXNoIGFsZ29yaXRo bS4NCj4gPg0KPiA+DQo+ID4gSSB3b3VsZCBsaWtlIHRvIHByb3Bvc2Ugc2VwYXJhdGUgRXZwTWR4 eHguDQo+ID4gRXZwTWROZXcgLT4gU2hhMjU2TmV3LCBTaGEzODROZXcNCj4gPiBFdnBNZEluaXQg LT4gU2hhMjU2SW5pdCwgU2hhMzg0SW5pdA0KPiA+IEV2cE1kVXBkYXRlIC0+IFNoYTI1NlVwZGF0 ZSwgU2hhMzg0VXBkYXRlDQo+ID4gRXZwTWRGaW5hbCAtPiBTaGEyNTZGaW5hbCwgU2hhMzg0Rmlu YWwNCj4gPiBFdnBNZEZyZWUgLT4gU2hhMjU2RnJlZSwgU2hhMzg0RnJlZQ0KPiANCj4gSSBoYXZl IG5vIGNvbW1lbnQgb24gdGhpcy4NCj4gDQo+ID4gV2UgY2FuIGRvIHNpbWlsYXIgdGhpbmcgd2l0 aCBIbWFjLCB0byBkZXByZWNhdGUgU2hhMjU2R2V0Q29udGV4dFNpemUoKSBBUEksDQo+IA0KPiBZ ZXMsIGdvb2QgaWRlYS4NCj4gDQo+ID4gYW5kIHJlcGxhY2UgY2FsbGVyIHdpdGggU2hhMjU2TmV3 KCkgLyBTaGEzODRGcmVlKCkNCj4gDQo+IEluZGVlZC4NCj4gDQo+IEJ1dCB0aGVuIC0tIHRoZXJl J3Mgbm8gcmVhc29uIGxlZnQgZm9yIGtlZXBpbmcgKE5ldywgRnJlZSkgc2VwYXJhdGUgZnJvbQ0K PiAoSW5pdCwgRmluYWwpLg0KPiANCj4gVGhhbmtzDQo+IExhc3psbw0KDQo=