From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web09.2183.1618273216494996964 for ; Mon, 12 Apr 2021 17:20:16 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=UnublofC; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: N1vEZg0+cFVud/NWzjBChhYjF8Vu7xJT1FP/wKIwrrb/tuO2FlKZ0afHI0/x633vQm7GJ4+6fv qtiDAyXdSTSQ== X-IronPort-AV: E=McAfee;i="6200,9189,9952"; a="255628807" X-IronPort-AV: E=Sophos;i="5.82,216,1613462400"; d="scan'208";a="255628807" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Apr 2021 17:20:13 -0700 IronPort-SDR: Z8riSEVP3BpvM3YwYZZk7G97q0Y2wT1/IWMp7uKJAkmPsDb8/4cM0beTes1WeJIcPFob9yY7tr mT87qgmouO2A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,216,1613462400"; d="scan'208";a="614742108" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by fmsmga005.fm.intel.com with ESMTP; 12 Apr 2021 17:20:12 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Mon, 12 Apr 2021 17:20:12 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Mon, 12 Apr 2021 17:20:12 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Mon, 12 Apr 2021 17:20:12 -0700 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.44) 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; Mon, 12 Apr 2021 17:20:01 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fghK3PVHc7AAE5ptqGoOz+gSKZecNBWP0ft2qEKYGV0os7S63ZOv5SG0p/stfjVjlYq6nHyBvSWNMRH+4oV+nLBA3DPIiCUSZ3gbzEQ9osMtgql3juAWBobjbnXGmhPQYIfrOmUaoCpDY4/3BlmTJCkaxoPAwt0Jlzo///ZCJLsuDjKoeZlccjlWi7XByL6F+Yah9nMnZy5KKSHJwuPdnwFAQ09kfltBaqE/ic7zefZnBvUIco5X8jDvXS/nn3BGou0hQQM58G6J9yOEluXNn+/x0owcvcqbssx7zONnXjL07UySmFn+0JaB3vgDFGrVGAc6VkaGlV9EBLmurcNlVA== 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=8Xa9M8IV6O0R74fDgUbofMP+tZ2C0YNMjsOlEDJPgMw=; b=PRtXz2NRiHKf/DENzkxPdee2LMPjXfFGyWW2JOQsisjJCWFHKzc90nPj3gaIopg9VKfxrY801wIFcvrqiclFsLjljd3lXu9oj3XWJr7jIGiul2NKL9zeoEYo0czel+B0bJ89ug++ci/7wNmF6SeT+9Pq4VWKnFCLyyFGHzp8NXBPNBF3nZPdtIQK+XQnPuMyVyhTMliE3TSc3bC+kto+K0kKFNXv3qHMj0ANz+khusZS6p0h30oZck2sTgY2TgW4U1NKWfKm3fjj2R/Q2rHXZKfUU/rb1qilKMJyW3ZeaPj0l9/hPoNoj7zU2idSPby6ja4JdfNkwQPBowmX64LjKw== 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=8Xa9M8IV6O0R74fDgUbofMP+tZ2C0YNMjsOlEDJPgMw=; b=UnublofCA33eHwcyornAjTYbY+9EM4aB27DhCECNOd7NnLIvfWarlXZ6xfLIUMPX3NQ8PN0e6Gdm0Hxcv+rzPQWRpUxmVQcMSNgBi9kfZFYdKh9uBUqgLttdua/n7NobZEmAjQPQxh4/LPRUEfy7ZiyJ0zb3J+78Yn6eSU+8JvM= Received: from CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by MW3PR11MB4681.namprd11.prod.outlook.com (2603:10b6:303:57::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.20; Tue, 13 Apr 2021 00:20:00 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::1c76:a17a:ecb0:9a8]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::1c76:a17a:ecb0:9a8%6]) with mapi id 15.20.4020.022; Tue, 13 Apr 2021 00:20:00 +0000 From: "Michael D Kinney" To: =?utf-8?B?TWFydmluIEjDpHVzZXI=?= , "devel@edk2.groups.io" , "Desimone, Nathaniel L" , Laszlo Ersek , "Andrew Fish" , "Kinney, Michael D" Subject: Re: [edk2-devel] [GSoC proposal] Secure Image Loader Thread-Topic: [edk2-devel] [GSoC proposal] Secure Image Loader Thread-Index: AQHXKaaPmZlT6OQhMkitZr64+9IKvqqnPqgAgAnu0ICAAHPZkA== Date: Tue, 13 Apr 2021 00:19:59 +0000 Message-ID: References: <055bcd6f-c055-25a8-f258-6581ccbbd591@posteo.de> In-Reply-To: <055bcd6f-c055-25a8-f258-6581ccbbd591@posteo.de> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: posteo.de; dkim=none (message not signed) header.d=none;posteo.de; dmarc=none action=none header.from=intel.com; x-originating-ip: [24.19.191.44] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 302ddf05-fb05-4422-6561-08d8fe11e01e x-ms-traffictypediagnostic: MW3PR11MB4681: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: dwGYuoGrHUZHUQR68kJYDRBJyZ4G1UCUcmqI0WVipyzdWViYhr/gjDIZXfXl8JKxSI7rie0jVeQujSq1Nq7VUMlk6TsnxRvDeHCAhvvNbuQ/Z8eP/7ZMKk/bZMSTOYA2TLscy1QMMUSYDf9TqZ0FnVmtYO+GZze+fz7rnGx/P1Q7T7GUDYQf/UDe4igEtm8IeTw+KWmg+OPt4orMrRp4pQDeawK8p6dkgfBVHahOX1ViiCvuMJMZ+X3/k6hDdqrRUnwj3+OPnwO76gWuW15sB7mLynvlYEpK4zqm17g2OoQSnXPaJrQt5zuZoFroIIVoR5r0wF4lhSdJaDB1KtutYikdG+Op6CpZuwORMsmSjmw6Aolr8uVgfyWhECJJCf2/CskVlPZXzE4l3J8bygUI62C5jI7cAN4XSbsq+M/UTKi4Z3di1yg+roVHIjPlRhkZoyIHaj0nOLB5VigXGo7Q38rCpeZsXZfpgDzXEfon2ZQmlORX2Xa7qTP0Gi8ERrgQPD0OcsduaaFn2K34EOoSLOFXcSTa+0EIZbprOOOG3m/TljbIWL9YHPIPRpqPsXP2JhmMNstXW583XPzw222mIzqDTUvuKotrk7DTXJdsBA4cNVoBoJHKMNXGII11g62HKMt83tc0WCk7X0fFSFrvMFVTKoiQvKETbLaqa/iFmkAQ2GjzPNatMwWv1fDJf/rU x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(396003)(39860400002)(366004)(376002)(346002)(8936002)(7696005)(478600001)(8676002)(110136005)(9686003)(966005)(38100700002)(52536014)(86362001)(5660300002)(66446008)(26005)(66476007)(66556008)(64756008)(33656002)(186003)(76116006)(6506007)(2906002)(53546011)(66574015)(55016002)(66946007)(71200400001)(316002)(83380400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?RHp1SEVSc0ZPK29EbTBxU0xKOGNjaFNuQnppMW93SFVFUEhxdWU3dXpVYkUz?= =?utf-8?B?NVN0NTV4TkJ1b0NQRmtCcEx1ZzNGRk9iMm5ubjFOV29EUWtIRDMzVXFsSWo2?= =?utf-8?B?TTlJZlhzaE5qU1c2WktJTHNiUFZJUHF4d0tpekNZenQyZm9PNmk3YVpMZjNZ?= =?utf-8?B?U21icVRaR3VOcVFrSVlZNnZEVjVuV2t5ZWl0MGQrbXFFajdkakszZWl3bXo1?= =?utf-8?B?M1hDbE1qdjlCWGJCWEdrKy8xaG1SWUYvcnVUa0o1dHJUa0hWTUdUVVRrUUJp?= =?utf-8?B?MFZPdHZkZ3ppV1hCRTVzUSs4c2tKajd0d1ZXdGZKWWZWVjRnTjdueHFydkZu?= =?utf-8?B?OXhrcmlhSFU4WDhDVW9LcU1wVnduVi9vMGQ4c3ZBYkNQSU1PRXVSZmMrK0h4?= =?utf-8?B?T0RKWGJ0QnlWN1Q5ODdQN2d1b3kwUnJOVUxzNkswS0hpV0ErUm1DZTQ0U0E5?= =?utf-8?B?b0FqOW1ya3Y0L3Q0NlMwWko0bitMV0R5RndlZTgvRXVCRkZ4SEJJYURQUU9n?= =?utf-8?B?cHNlMzEzY3FaRWM5WHRVNTl2QnNHVlBVZ0JEL09Scmd6RFJGYzd2bG5tdnVs?= =?utf-8?B?ZmF5QVQ5eG5HNGhHY3QyQUNlRHBlY01NMUZGNFZuWWUxNnArcE83ay9vRktC?= =?utf-8?B?eHhsaTZuTDJ5cUdUUWtuck0rOXRqT2RBdXVqcWhqMjl5aXczYnYyOVEzbjRX?= =?utf-8?B?d2hTaU1Id3BSSTR2TWxMTFZMVFhpNkFISkFvNkxrUitOSjdCWlF3OE05QzhO?= =?utf-8?B?UUpMaXhXRElGaDI4ZlhJaER1OGdVdVNTZXlFZWJSS0twcXpmeWJ2QWg0Zjl6?= =?utf-8?B?Y3BaL2hXM3crQ3lPR3hvV1lEWnhOd3pEZ1NuM2U3SlArbTBmY1p6SGxwRDhW?= =?utf-8?B?YytUM2ZQY1Yrc1J4bmZrb2lCUmpUMEhXK04rY3pDSzdXTUwrcmtDNW9JeGNY?= =?utf-8?B?djdRdnh3TnJGamZrYzdRNit5SVhBVFZEQjlRekdDeUxtaGRnMHR1WE10ekVU?= =?utf-8?B?Rlg5SHNkcDRwUW82SVdVOWdzcy9nakpMRG1OZ0dRd290S1FFeUV1bzhUN0xT?= =?utf-8?B?blpHRHhEeDRCUnJISEpvZC9ycWl3ak1wZGVnT2dOVjlCdlBPcXV0TUtMY0Js?= =?utf-8?B?WTJqMmZlU1QzeDhLWHRSRVR5VXFZbHpkRnVoVXBhNzJ4c1k4d2NGQjJEV29T?= =?utf-8?B?dVdjSXNBYkI1UW1XcHQ0anF3UHJJQ0lWZURtT2JwYkwrR0JpSFBxTWhERWhZ?= =?utf-8?B?ZWlDdWRWUTJhUTE3RFdqMFhRY2Evc3RHditEVjcydUM1YjhqS0JkVVRXc1lM?= =?utf-8?B?WDF0dm1GSXd0NUsrYU9DVkdIbSt5YnlySXVCa1JMVklENnBoZ0VEb2xHYTZ4?= =?utf-8?B?bEVVWW5NeWNkUTBhN2hzaVRNUWZXNVd4VkhBYThLY1p4bzhxOGpXbzlZQllD?= =?utf-8?B?YXlXVmEwc3FyUnNGeVpUYnc2WDQ1N3lMQ0JxZEJlaEVLZlR0dEZOTFU3bVVj?= =?utf-8?B?Qzg1Zjd5K0xGR3FYSXlVMGdXR3BZKzBGNE1IQlJOc2FOYXpsMzRXWis2Q1F4?= =?utf-8?B?Y2NQTFNHZHVGZ0pmL2EyQmlwMmtrSFNHcENRY3dsV2dhL2NZWXludzc2NGQw?= =?utf-8?B?THh4NzJOdGlnRnExWjZ1WDdadU1DOVI2V0NVc3RKL09CZ0Y5OG5KMDRwTXd1?= =?utf-8?B?c1dzN2ZFejV3Z1B6QWk5ZlYwT210NERhcVRNajU3R2dHVVlHbU9QVDllL2ll?= =?utf-8?Q?yrO3CsFJdc6sW/4FxcGB7DvXLeGrIyPBJV+mNKU?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 302ddf05-fb05-4422-6561-08d8fe11e01e X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Apr 2021 00:20:00.0016 (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: +4L8o2ALVD7LPJ96X0ubC8Q67tIA8EbR2x+wZNleYQSYxYRCpIZg1eS3+S2WvsCmA3kF99d/P8kfRWEF8NwfU++o2WSzFSITdt4W91oFoMM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4681 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTWFydmluLA0KDQpJZiBpdCBoYXMgbm90IGFscmVhZHkgYmVlbiBjb25zaWRlcmVkLCBvbmUg b3B0aW9uIGlzIHRvIHN1Ym1pdCBhIG5ldw0KaW5zdGFuY2Ugb2YgdGhlIFBFL0NPRkYgTGlicmFy eSwgc28gYm90aCB0aGUgZXhpc3Rpbmcgb25lIGFuZCB0aGUgbmV3DQpvbmUgYXJlIGF2YWlsYWJs ZSB0byB0aGUgZWNvc3lzdGVtLg0KDQpUaGlzIGFsbG93cyB5b3UgdG8gYmUgc3VjY2Vzc2Z1bCBp biBzdWJtaXR0aW5nIGNvZGUgb3V0bGluZWQgaW4geW91ciANCnByb3Bvc2FsIGFuZCBnaXZlcyB0 aGUgZWNvc3lzdGVtIHRpbWUgdG8gZXZhbHVhdGUgYW5kIGRlY2lkZSB3aGVuL2lmDQp0byBzd2l0 Y2ggZnJvbSB0aGUgb2xkIHRvIHRoZSBuZXcuDQoNCk1pa2UNCg0KPiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiBGcm9tOiBNYXJ2aW4gSMOkdXNlciA8bWhhZXVzZXJAcG9zdGVvLmRlPg0K PiBTZW50OiBNb25kYXksIEFwcmlsIDEyLCAyMDIxIDEwOjIyIEFNDQo+IFRvOiBkZXZlbEBlZGsy Lmdyb3Vwcy5pbzsgRGVzaW1vbmUsIE5hdGhhbmllbCBMIDxuYXRoYW5pZWwubC5kZXNpbW9uZUBp bnRlbC5jb20+OyBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsgQW5kcmV3DQo+IEZp c2ggPGFmaXNoQGFwcGxlLmNvbT47IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5 QGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbR1NvQyBwcm9wb3NhbF0g U2VjdXJlIEltYWdlIExvYWRlcg0KPiANCj4gR29vZCBkYXkgTmF0ZSwNCj4gDQo+IEFzIHlvdSBz ZWVtIHRvIGJlIG1vc3RseSBpbiBjaGFyZ2Ugb2YgdGhlIEdTb0Mgc2lkZSBvZiB0aGluZ3MsIEkg ZGlyZWN0DQo+IHRoaXMgYXQgeW91LCBidXQgb2YgY291cnNlIGV2ZXJ5b25lIGlzIHdlbGNvbWUg dG8gY29tbWVudC4NCj4gDQo+IEkgdGhpbmsgSSBmaW5pc2hlZCBteSBmaXJzdCByb3VuZCBvZiBp bnZlc3RpZ2F0aW9ucyBqdXN0IGluIHRpbWUgZm9yIHRoZQ0KPiBkZWFkbGluZS4gWW91IGNhbiBm aW5kIGEgbGlzdCBvZiBCWnMgYXR0YWNoZWRbMV0uIFBsZWFzZSBub3RlIHRoYXQgMSkNCj4gc29t ZSBhcmUgZGVjbGFyZWQgc2VjdXJpdHkgaXNzdWVzIGFuZCBtYXkgbm90IGJlIHB1YmxpY2x5IGFj Y2Vzc2libGUsDQo+IGFuZCAyKSB0aGF0IHRoaXMgbGlzdCBpcyBmYXIgZnJvbSBjb21wbGV0ZS4g SSBvbmx5IGFkZGVkIGl0ZW1zIHRoYXQgYXJlDQo+IGEpIG5vdCBpbXBsaWNpdGx5IGZpeGVkIGJ5 ICJzaW1wbHkiIGRlcGxveWluZyB0aGUgbmV3IEltYWdlIExvYWRlcg0KPiAoKnNvbWUqIGltcG9y dGFudCBwcmVyZXF1aXNpdGVzIGFyZSBsaXN0ZWQpLCBhbmQgYikgSSBhbSBjb25maWRlbnQgYXJl DQo+IGFjdHVhbCBpc3N1ZXMgKG9yIHRoaW5ncyB0byBjb25zaWRlcikgSSBiZWxpZXZlIHRvIGtu b3cgaG93IHRvIGFwcHJvYWNoLg0KPiANCj4gSSBoYXZlIHRha2VuIG5vdGVzIGFib3V0IG1vcmUg dGhpbmdzLCBlLmcuIHRoZSBleGlzdGVuY2Ugb2YgdGhlIHNlY3VyaXR5DQo+IGFyY2hpdGVjdHVy YWwgcHJvdG9jb2xzLCB3aGljaCBJIGNvdWxkIG5vdCBmaW5kIGEgcmF0aW9uYWxlIGZvci4gSSBj YW4NCj4gcHJlcGFyZSBzb21ldGhpbmcgZm9yIHRoaXMgbWF0dGVyLCBidXQgaXQgcmVhbGx5IG5l ZWRzIGFuIGFjdGl2ZQ0KPiBkaXNjdXNzaW9uIHdpdGggc29tZSBvZiB0aGUgY29yZSBwZW9wbGUu IEknbSBub3Qgc3VyZSBkZWxheWVkIGUtbWFpbA0KPiBkaXNjdXNzaW9uIGlzIGdvaW5nIHRvIGJl IGVub3VnaCwgYnV0IHRoZXJlIGlzIGFuIG9mZmljaWFsIElSQyBJDQo+IHN1cHBvc2UuIDopIEkg aG9wZSB3ZSBjYW4gd29yayBzb21ldGhpbmcgb3V0IGZvciB0aGlzLg0KPiANCj4gSSBhbHNvIGhv cGUgdGhpcyBtYWtlcyBpdCBjbGVhcmVyIHdoeSBJIGRvbid0IGJlbGlldmUgdGhhdCB3ZSBuZWVk IHRvDQo+ICJmaWxsIiAxMCB3ZWVrcywgYnV0IHJhdGhlciB0aGUgb3Bwb3NpdGUuIFRoaXMgaXMg bm90IGEgbWF0dGVyIG9mDQo+IHJlcGxhY2luZyBhIGxpYnJhcnkgaW5zdGFuY2UsIGJ1dCB0aGUg d2hvbGUgc3Vycm91bmRpbmcgZWNvc3lzdGVtIG5lZWRzDQo+IHRvIGZvbGxvdyBmb3IgdGhlIGNo YW5nZXMgdG8gbWFrZSBzZW5zZS4gQW5kIGFzIEkgdHJpZWQgdG8gbWFrZSBjbGVhciBpbg0KPiBt eSBkaXNjdXNzaW9uIHdpdGggTWljaGFlbCBCcm93biwgSSBhbSBub3Qga2VlbiBvbiBwcmVzZXJ2 aW5nDQo+IGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5IHdpdGggcGxhdGZvcm0gY29kZSAoaS5lLiBQ RUksIERYRSwgdGhpbmdzIHdlDQo+IGNvbnNpZGVyICJpbnRlcm5hbCIpLCBhcyBtb3N0IG9mIGl0 IHNob3VsZCBiZSBjb250cm9sbGVkIGJ5IEVESyBJSQ0KPiBhbHJlYWR5LiBUaGlzIG9mIGNvdXJz ZSBkb2VzICpub3QqIGluY2x1ZGUgdXNlciBjb2RlIChPUk9NcywNCj4gYm9vdGxvYWRlcnMsIC4u LiksIGZvciB3aGljaCBJIHdhbnQgdG8gcHJvdmlkZSB0aGUgKm9wdGlvbiogdG8gbG9jayBzb21l DQo+IG9mIHRoZW0gb3V0IGZvciBzZWN1cml0eSwgYnV0IHdpdGggc2FuZSBkZWZhdWx0cyB0aGF0 IHdpbGwgZW5zdXJlIGdvb2QNCj4gY29tcGF0aWJpbGl0eS4NCj4gDQo+IEknZCBsaWtlIHRvIHRo YW5rIE1pY2hhZWwgQnJvd24gZm9yIGhpcyBjb29wZXJhdGlvbiBhbmQgc3VwcG9ydCwgYmVjYXVz ZQ0KPiB3ZSByZWNlbnRseSBsYW5kZWQgY2hhbmdlcyBpbiBpUFhFIHRvIGFsbG93IGZvciB0aGUg c3RyaWN0ZXN0IGltYWdlDQo+IGZvcm1hdCBhbmQgcGVybWlzc2lvbiBjb25zdHJhaW50cyBjdXJy ZW50bHkgcG9zc2libGVbMl0uDQo+IA0KPiBJIHdpbGwgaGF2ZSB0byByZXdvcmsgdGhlIHN1Ym1p dHRlZCBwcm9wb3NhbCB0byByZWZsZWN0IHRoZSBuZXcNCj4ga25vd2xlZGdlLiBUbyBiZSBob25l c3QsIHNlZWluZyBob3cgdGhlIEJacyBrZXB0IHJvbGxpbmcgaW4sIEkgYW0gbm90DQo+IGNvbnZp bmNlZCBhbiBhbWF6aW5nIGFtb3VudCBvZiBtYWlubGluaW5nIGNhbiBiZSBhY2NvbXBsaXNoZWQg ZHVyaW5nIHRoZQ0KPiAxMCB3ZWVrcy4gSXQgbWF5IGhhdmUgdG8gc3VmZmljZSB0byBoYXZlIGEg cHVibGljbHkgYWNjZXNzaWJsZSBwcm90b3R5cGUNCj4gKGUuZy4gT1ZNRikgYW5kIGEgc3Vic2V0 IG9mIHRoZSBwbGFubmVkIHBhdGNoZXMgb24gdGhlIGxpc3QuIEkgaG9wZSB5b3UNCj4gY2FuIG1h bmFnZSB0byBwcm92aWRlIHNvbWUgZmVlZGJhY2sgYmVmb3JlIHRoZSBkZWFkbGluZSBwYXNzZXMg dG9tb3Jyb3cuDQo+IA0KPiBUaGFuayB5b3UgaW4gYWR2YW5jZSENCj4gDQo+IEJlc3QgcmVnYXJk cywNCj4gTWFydmluDQo+IA0KPiBbMV0NCj4gaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3Jn L3Nob3dfYnVnLmNnaT9pZD0zMzE1DQo+IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9z aG93X2J1Zy5jZ2k/aWQ9MzMxNg0KPiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hv d19idWcuY2dpP2lkPTMzMTcNCj4gaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3df YnVnLmNnaT9pZD0zMzE4DQo+IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1 Zy5jZ2k/aWQ9MzMxOQ0KPiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcu Y2dpP2lkPTMzMjANCj4gaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNn aT9pZD0zMzIxDQo+IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/ aWQ9MzMyMg0KPiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lk PTMzMjMNCj4gaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0z MzI0DQo+IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzMy Ng0KPiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTMzMjcN Cj4gaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzI4DQo+ IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzMyOQ0KPiBo dHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTMzMzANCj4gaHR0 cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzMxDQo+IA0KPiBb Ml0gaHR0cHM6Ly9naXRodWIuY29tL2lweGUvaXB4ZS9wdWxsLzMxMw0KPiANCj4gT24gMDYuMDQu MjEgMTE6NDEsIE5hdGUgRGVTaW1vbmUgd3JvdGU6DQo+ID4gSGkgTWFydmluLA0KPiA+DQo+ID4g R3JlYXQgdG8gbWVldCB5b3UgYW5kIHdlbGNvbWUgYmFjayEgR2xhZCB5b3UgaGVhciB5b3UgYXJl IGludGVyZXN0ZWQhIENvbXBsZXRpbmcgYSBmb3JtYWwgdmVyaWZpY2F0aW9uIG9mIGEgUEUvQ09G Rg0KPiBsb2FkZXIgaXMgY2VydGFpbmx5IGltcHJlc3NpdmUuIFdhcyB0aGlzIGRvbmUgd2l0aCBz b21lIHNvcnQgb2YgYXV0b21hdGVkIHRoZW9yZW0gcHJvdmluZz8gSXQgd291bGQgc2VlbSBhIHJh dGhlciBhcmR1b3VzDQo+IHRhc2sgZG9pbmcgYW4gaW5kdWN0aXZlIHByb29mIGZvciBhbiBhbGdv cml0aG0gbGlrZSB0aGF0IGJ5IGhhbmQhIEkgY29tcGxldGVseSBhZ3JlZSB3aXRoIHlvdSB0aGF0 IGdldHRpbmcgYSBmb3JtYWxseQ0KPiB2ZXJpZmllZCBQRS9DT0ZGIGxvYWRlciBpbnRvIG1haW5s aW5lIGlzIHVuZG91YnRhYmx5IHZhbHVhYmxlIGFuZCB3b3VsZCBwYXkgc2VjdXJpdHkgZGl2aWRl bmRzIGZvciB5ZWFycyB0byBjb21lLg0KPiA+DQo+ID4gQWRtaXR0ZWRseSwgdGhpcyBpcyBhbiBh cmVhIG9mIGNvbXB1dGVyIHNjaWVuY2UgdGhhdCBJIGRvbid0IGhhdmUgYSBncmVhdCBkZWFsIG9m IGV4cGVyaWVuY2Ugd2l0aC4gVGhlIGZ1cnRoZXN0IEkgaGF2ZQ0KPiBnb25lIG9uIHRoaXMgdG9w aWMgaXMgd3JpdGluZyBvdXQgcHJvb2ZzIGZvciBzaW1wbGUgYWxnb3JpdGhtcyBvbiBleGFtcyBp biBteSBBbGdvcml0aG1zIGNsYXNzIGluIGNvbGxlZ2UuIFJlZ2FyZGxlc3MgeW91DQo+IGhhdmUg YSBtdWNoIGJldHRlciBpZGVhIG9mIHdoYXQgdGhlIGN1cnJlbnQgc3RhdHVzIGlzIG9mIHRoZSB3 b3JrIHRoYXQgeW91IGFuZCBWaXRhbHkgaGF2ZSBkb25lLiBJIGd1ZXNzIG15IG9ubHkgcXVlc3Rp b24NCj4gaXMgZG8geW91IHRoaW5rIHRoZXJlIGlzIHN1ZmZpY2llbnQgd29yayByZW1haW5pbmcg dG8gZmlsbCB0aGUgMTAgd2VlayBHU29DIGRldmVsb3BtZW50IHdpbmRvdz8gQ2VydGFpbmx5IHdl IGNhbiB1c2Ugc29tZQ0KPiBvZiB0aGF0IHRpbWUgdG8gcGVyZm9ybSB0aGUgY29kZSByZXZpZXdz IHlvdSBtZW50aW9uIGFuZCB3cml0ZSB1cCBmb3JtYWwgRUNScyBmb3IgdGhlIFVFRkkgc3BlYyBj aGFuZ2VzIHRoYXQgeW91IGJlbGlldmUNCj4gYXJlIG5lZWRlZC4NCj4gPg0KPiA+IFRoYW5rIHlv dSBmb3Igc2VuZGluZyB0aGUgYXBwbGljYXRpb24gYW5kIGFsZXJ0aW5nIHVzIHRvIHRoZSBncmVh dCB3b3JrIHlvdSBhbmQgVml0YWx5IGhhdmUgZG9uZSEgSSdsbCByZWFkIHlvdXIgcGFwZXINCj4g bW9yZSBjbG9zZWx5IGFuZCBjb21lIGJhY2sgd2l0aCBhbnkgcXVlc3Rpb25zIEkgc3RpbGwgaGF2 ZS4NCj4gPg0KPiA+IFdpdGggQmVzdCBSZWdhcmRzLA0KPiA+IE5hdGUNCj4gPg0KPiA+PiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8 ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBNYXJ2aW4NCj4gPj4gSMOkdXNlcg0K PiA+PiBTZW50OiBTdW5kYXksIEFwcmlsIDQsIDIwMjEgNDowMiBQTQ0KPiA+PiBUbzogZGV2ZWxA ZWRrMi5ncm91cHMuaW87IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+OyBBbmRyZXcg RmlzaA0KPiA+PiA8YWZpc2hAYXBwbGUuY29tPjsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwu ZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+PiBTdWJqZWN0OiBbZWRrMi1kZXZlbF0gW0dTb0MgcHJv cG9zYWxdIFNlY3VyZSBJbWFnZSBMb2FkZXINCj4gPj4NCj4gPj4gR29vZCBkYXkgZXZlcnlvbmUs DQo+ID4+DQo+ID4+IEknbGwga2VlcCB0aGUgaW50cm9kdWN0aW9uIGJyaWVmIGJlY2F1c2UgSSd2 ZSBiZWVuIGFyb3VuZCBmb3IgYSB3aGlsZSBub3cuIDopIEknbQ0KPiA+PiBNYXJ2aW4gSMOkdXNl ciwgYSB0aGlyZC15ZWFyIENvbXB1dGVyIFNjaWVuY2Ugc3R1ZGVudCBmcm9tIFRVIEthaXNlcnNs YXV0ZXJuLA0KPiA+PiBHZXJtYW55LiBMYXRlIGxhc3QgeWVhciwgbXkgY29sbGVhZ3VlIFZpdGFs eSBmcm9tIElTUCBSQVMgYW5kIG1lIGludHJvZHVjZWQgYQ0KPiA+PiBmb3JtYWxseSB2ZXJpZmll ZCBJbWFnZSBMb2FkZXIgZm9yIFVFRkkgdXNhZ2UgYXQgSVNQIFJBUyBPcGVuWzFdIGR1ZSB0byB2 YXJpb3VzDQo+ID4+IGRlZmVjdHMgd2Ugb3V0bGluZWQgaW4gdGhlIGNvcnJlc3BvbmRpbmcgcGFw ZXIuIFRoYW5rIHlvdSBvbmNlIGFnYWluIExhc3psbw0KPiA+PiBmb3IgeW91ciAqaW5jcmVkaWJs ZSogcmV2aWV3IHdvcmsgb24gdGhlIHB1YmxpY2F0aW9uIHBhcnQuDQo+ID4+DQo+ID4+IEkgbm93 IHdhbnQgdG8gbWFrZSBhbiBlZmZvcnQgdG8gbWFpbmxpbmUgaXQsIHByZWZlcmFibHkgYXMgcGFy dCBvZiB0aGUgY3VycmVudA0KPiA+PiBHb29nbGUgU3VtbWVyIG9mIENvZGUgZXZlbnQuIFRvIGJl IGNsZWFyLCBteSBpbnRlcm5zaGlwIGF0IElTUCBSQVMgaGFzDQo+ID4+IGNvbmNsdWRlZCwgYW5k IHdoaWxlIFZpdGFseSB3aWxsIGJlIGF2YWlsYWJsZSBmb3IgZGVzaWduIGRpc2N1c3Npb24sIGhl IGhhcyBvdGhlcg0KPiA+PiBwcmlvcml0aWVzIGF0IHRoZSBtb21lbnQgYW5kIHRoZSBwcmFjdGlj YWwgcGFydCB3aWxsIGJlIG9uIG1lLiBJIGhhdmUgcHJldmlvdXNseQ0KPiA+PiBzdWJtaXR0ZWQg YSBwcm9wb3NhbCB2aWEgdGhlIEdTb0Mgd2Vic2l0ZSBmb3IgeW91ciByZXZpZXcuDQo+ID4+DQo+ ID4+IFRoZXJlIGFyZSBtYW55IHRoaW5ncyB0byBjb25zaWRlcjoNCj4gPj4gMS4gVGhlIEltYWdl IExvYWRlciBpcyBhIGNvcmUgY29tcG9uZW50LCBhbmQgdGhlcmUgbmVlZHMgdG8gYmUgYSBzaWdu aWZpY2FudA0KPiA+PiBsZXZlbCBvZiBxdWFsaXR5IGFuZCBzZWN1cml0eSBhc3N1cmFuY2UuDQo+ ID4+IDIuIEJlaW5nIGNvbnN1bWVkIGJ5IG1hbnkgcGFja2FnZXMsIHRoZSBwcm9wb3NlZCBwYXRj aCBzZXQgd2lsbCB0YWtlIGEgbG90IG9mDQo+ID4+IHRpbWUgdG8gcmV2aWV3IGFuZCBpbnRlZ3Jh dGUuDQo+ID4+IDMuIER1cmluZyBteSBpbml0aWFsIGV4cGxvcmF0aW9uLCBJIGRpc2NvdmVyZWQg ZGVmZWN0aXZlIFBQSXMgYW5kIHByb3RvY29scyAoZS5nLg0KPiA+PiByZXR1cm5pbmcgZGF0YSB3 aXRoIG5vIGNvcnJlc3BvbmRpbmcgc2l6ZSkgb3JpZ2luYXRpbmcgZnJvbSB0aGUgVUVGSSBQSSBh bmQNCj4gPj4gVUVGSSBzcGVjaWZpY2F0aW9ucy4gQ2hhbmdlcyBuZWVkIHRvIGJlIGRpc2N1c3Nl ZCwgc2V0dGxlZCBvbiwgYW5kIHN1Ym1pdHRlZCB0bw0KPiA+PiB0aGUgVUVGSSBGb3J1bS4NCj4g Pj4gNC4gU29tZSBVRUZJIEFQSXMgbGlrZSB0aGUgU2VjdXJpdHkgQXJjaGl0ZWN0dXJlIHByb3Rv Y29scyBhcmUgaW5jb252ZW5pZW50bHkNCj4gPj4gYWJzdHJhY3QsIHNlZSA1Lg0KPiA+PiA1LiBT b21lIG9mIHRoZSBjdXJyZW50IGNvZGUgZG9lcyBub3QgdXNlIHRoZSBleGlzdGluZyBjb250ZXh0 LCBvciBhY2Nlc3NlcyBpdA0KPiA+PiBvdXRzaWRlIG9mIHRoZSBleHBvc2VkIEFQSXMuIFRoZSBj b250cm9sIGZsb3cgb2YgdGhlIGRpc3BhdGNoZXJzIG1heSBuZWVkIHRvIGJlDQo+ID4+IGFkYXB0 ZWQgdG8gbWFrZSB0aGUgY29udGV4dCBhdmFpbGFibGUgdG8gYXBwcm9wcmlhdGUgQVBJcy4NCj4g Pj4NCj4gPj4gQnV0IG9idmlvdXNseSB0aGVyZSBhcmUgbm90IG9ubHkgdW5wbGVhc2FudCBjb25z aWRlcmF0aW9uczoNCj4gPj4gQS4gVGhlIEltYWdlIExvYWRlciBpcyBtb3N0bHkgZm9ybWFsbHkg dmVyaWZpZWQsIGFuZCBvbmx5IHZlcnkgZmV3IGNoYW5nZXMgd2lsbA0KPiA+PiBiZSByZXF1aXJl ZCBmcm9tIHRoZSBsYXN0IHByb3ZlbiBzdGF0ZS4gVGhpcyBnaXZlcyBhIGxvdCBvZiB0cnVzdCBp biBpdHMgY29ycmVjdG5lc3MNCj4gPj4gYW5kIHNhZmV0eS4NCj4gPj4gQi4gQWxsIG91dGxpbmVk IGRlZmVjdHMgdGhhdCBhcmUgb2YgY3JpdGljYWwgbmF0dXJlIGhhdmUgYmVlbiBmaXhlZCBzdWNj ZXNzZnVsbHkuDQo+ID4+IEMuIFRoZSBJbWFnZSBMb2FkZXIgaGFzIGJlZW4gdGVzdGVkIHdpdGgg cmVhbC13b3JsZCBjb2RlIGxvYWRpbmcgcmVhbC13b3JsZA0KPiA+PiBPU2VzIG9uIHRob3VzYW5k cyBvZiBtYWNoaW5lcyBpbiB0aGUgcGFzdCBmZXcgbW9udGhzLCBpbmNsdWRpbmcgcmVqZWN0aW5n DQo+ID4+IG1hbGZvcm1lZCBpbWFnZXMgKGNvbmZpZ3VyYWJsZSBieSBQQ0QpLg0KPiA+PiBELiBU aGUgbmV3IEFQSXMgd2lsbCBjZW50cmFsaXNlIGV2ZXJ5dGhpbmcgUEUsIHJlZHVjaW5nIGNvZGUg ZHVwbGljYXRpb24gYW5kDQo+ID4+IHBvdGVudGlhbGx5IHVuc2FmZSBvcGVyYXRpb25zLg0KPiA+ PiBFLiBDZW50cmFsaXNpbmcgYW5kIHJlZHVjZWQgcGFyc2UgZHVwbGljYXRpb24gbWF5IGltcHJv dmUgb3ZlcmFsbCBib290DQo+ID4+IHBlcmZvcm1hbmNlLg0KPiA+PiBGLiBUaGUgY29kZSBoYXMg YmVlbiBjb3ZlcmFnZS10ZXN0ZWQgdG8gbm90IGNvbnRhaW4gZGVhZCBjb2RlLg0KPiA+PiBHLiBU aGUgY29kZSBoYXMgYmVlbiBmdXp6LXRlc3RlZCBpbmNsdWRpbmcgc2FuaXRpemVycyB0byBub3Qg aW52b2tlIHVuZGVmaW5lZA0KPiA+PiBiZWhhdmlvdXIuDQo+ID4+IEguIEkgYWxyZWFkeSBtYW5h Z2VkIHRvIGlkZW50aWZ5IGEgbWFsZm9ybWVkIGltYWdlIGluIE9WTUYgd2l0aCBpdHMgaGVscA0K PiA+PiAoaW5jb3JyZWN0bHkgcmVwb3J0ZWQgc2VjdGlvbiBhbGlnbm1lbnQgb2YgYW4gSW50ZWwg SVBYRSBkcml2ZXIpLiBBIGZpeCB3aWxsIGJlDQo+ID4+IHN1Ym1pdHRlZCBzaG9ydGx5Lg0KPiA+ PiBJLiBJIHBsYW4gdG8gc3VwcG9ydCBQRSBzZWN0aW9uIHBlcm1pc3Npb25zLCBhbGxvd2luZyBm b3IgcmVhZC1vbmx5IGRhdGENCj4gPj4gc2VnbWVudHMgd2hlbiBlbmFibGVkLg0KPiA+Pg0KPiA+ PiBUaGVyZSBhcmUgbGlrZWx5IG1vcmUgcG9pbnRzIGZvciBib3RoIGxpc3RzLCBidXQgSSBob3Bl IHRoaXMgZ2l2ZXMgYSBkZWNlbnQNCj4gPj4gc3RhcnRpbmcgcG9pbnQgZm9yIGRpc2N1c3Npb24u IFdoYXQgYXJlIHlvdXIgdGhvdWdodHMgb24gdGhlIG1hdHRlcj8gSSBzdHJvbmdseQ0KPiA+PiBl bmNvdXJhZ2UgZXZlcnlvbmUgdG8gcmVhZCB0aGUgc2VjdGlvbiByZWdhcmRpbmcgZGVmZWN0cyBv ZiBvdXIgcHVibGljYXRpb25bMl0NCj4gPj4gdG8gYmV0dGVyIHVuZGVyc3RhbmQgdGhlIG1vdGl2 YXRpb24uIFRoZSB2YWd1ZSBwb2ludHMgYWJvdmUgY2FuIG9mIGNvdXJzZSBiZQ0KPiA+PiBlbGFi b3JhdGVkIGluIGR1ZSB0aW1lLCBhcyB5b3Ugc2VlIGZpdC4NCj4gPj4NCj4gPj4gVGhhbmsgeW91 IGZvciB5b3VyIHRpbWUhDQo+ID4+DQo+ID4+IEJlc3QgcmVnYXJkcywNCj4gPj4gTWFydmluDQo+ ID4+DQo+ID4+DQo+ID4+IFsxXSBodHRwczovL2dpdGh1Yi5jb20vbWhhZXVzZXIvSVNQUkFTT3Bl bi1TZWN1cmVQRQ0KPiA+PiBbMl0gaHR0cHM6Ly9hcnhpdi5vcmcvcGRmLzIwMTIuMDU0NzEucGRm DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4NCj4gPg0KPiA+IA0KPiA+DQo+ID4NCg0K