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.2079.1589232159552101024 for ; Mon, 11 May 2020 14:22:39 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=jqkw02Zx; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: VCR9lZykvbkslGJDMiCd0PNkdop2yspP8LfMjIQP36zh6hvW/SUcwVtgk6nGUoMFGbahsx+9nm 7grtepZODr4A== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 May 2020 14:22:38 -0700 IronPort-SDR: t6PcD+XvEQpeJc1BYzRQH4Ms1iTyCoOLXhUS3kUxKhH+94PfDJWTTs0b7zOupVLe0ex8GZ7Ww9 EQpW6dia6QDQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,381,1583222400"; d="scan'208";a="297076797" Received: from orsmsx109.amr.corp.intel.com ([10.22.240.7]) by fmsmga002.fm.intel.com with ESMTP; 11 May 2020 14:22:37 -0700 Received: from orsmsx156.amr.corp.intel.com (10.22.240.22) by ORSMSX109.amr.corp.intel.com (10.22.240.7) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 11 May 2020 14:22:37 -0700 Received: from ORSEDG002.ED.cps.intel.com (10.7.248.5) by ORSMSX156.amr.corp.intel.com (10.22.240.22) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 11 May 2020 14:22:36 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.176) by edgegateway.intel.com (134.134.137.101) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 11 May 2020 14:22:36 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L5YF8WAlKpcnBH9nN9L92T6wK8R7jqkmOwvDc+3DG3/+IpA4tt3yNMi0xC5bTsGsjvoflAoVNvljWjcMQYFC0NECcqwEow5jzt/U1ai9TUGy+82cPdpwmlAS2HM3uHO8xcPnUON67TBKEr2KVRt3IRbsekwd2d1aWdD2CJmaQAU/HE5T40LWbng0ocDIBF+2VcAtNTlS99wPPnBUYKP9XT9M4j0K21ircApCOU0Hd2/KngNWi8ic9p5mS3+rePCEUCS2O7DMwiDW2mu44De/VJXqe9ndiTviDSHVC9LqcqmfUrC7L1z37hyL6/HCJF2wHLLoyWYFjf6BfcvFCptmFw== 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=uhp2ZNYEtK/oo4ZjdwRLto5UU6+L6nHRRmQ+m3PPIFY=; b=appHAeTWkv17Q4Kf9ZzmKRIr43wvVmBqkzEFmhxu2puyGF+Ts4aiLoZ+CqDZDoibuJh5ybRHj/I2tkXbFz/ocBAT9X3ek6g1EdDcsCOXDnLbZzkvzOsE4L/WvRtGBNuzgQOpa2pdbrVBT952tJjV1W+/NxOwaso2BAWDU70YXd70Fr6fXolRtShjdpv0mE8v/Aywte4DMaEVfbNiNmvOsJfOLVklGdbOC91PZLXC5lI/ZNAbtVog3NDXY+wTXtlBI8pu/Y+kAeAMQOvsSIoptZtAcYpWdrwdLecc3+PSmnPeetLoi4mHUJCATUMdDX6UdFBp+FtGeTUZ+tLZHXuY5w== 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=uhp2ZNYEtK/oo4ZjdwRLto5UU6+L6nHRRmQ+m3PPIFY=; b=jqkw02Zx3XjIehXJTZQLuh0ZuhUEarWBayMi57nl93lielG/1TviYjtizllhns8TzHEsCuiSXW9DaVTf40s4VR0FZ195MgF5wXXL4h197AOewDjNMtnJjcvcmqh7WnycuGmEzSQhWv9Z2LY6RFpNvz3cZZYArGlgj+kcJ+uEfvU= Received: from MN2PR11MB4461.namprd11.prod.outlook.com (2603:10b6:208:192::29) by MN2PR11MB4285.namprd11.prod.outlook.com (2603:10b6:208:191::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.33; Mon, 11 May 2020 21:22:35 +0000 Received: from MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::10bc:1a4e:4745:ffc1]) by MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::10bc:1a4e:4745:ffc1%3]) with mapi id 15.20.2979.033; Mon, 11 May 2020 21:22:35 +0000 From: "Michael D Kinney" To: Laszlo Ersek , Ard Biesheuvel , Rebecca Cran , edk2-devel-groups-io , "Kinney, Michael D" CC: Andrew Fish , Leif Lindholm , "Justen, Jordan L" Subject: Re: Where to put the bhyve code in the edk2 repo: BhyvePkg, or under OvmfPkg? Thread-Topic: Where to put the bhyve code in the edk2 repo: BhyvePkg, or under OvmfPkg? Thread-Index: AQHWJ7AzY4fF59MgGEC37A/Gda8loaijFSLggABNKgCAAAKVQA== Date: Mon, 11 May 2020 21:22:35 +0000 Message-ID: References: <30320333-7ea6-084c-4b6c-569bc2a8b1aa@arm.com> <29ea808a-f3de-ba07-1f8c-73b6b610cf67@redhat.com> In-Reply-To: <29ea808a-f3de-ba07-1f8c-73b6b610cf67@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.2.0.6 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: [24.19.191.44] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 241d624c-cc5e-462c-1043-08d7f5f16c7e x-ms-traffictypediagnostic: MN2PR11MB4285: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 04004D94E2 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 5hupCyVsdStb40QpDQQwcU6DaKgXiCZhDl6jgheA1IOW6aE4LF1tJ6vuTMEq56ojUPAccvgpKbXWiIksdDRMT+94fignS+7G6rwy7xxSrBeuIbZlc49UkIRxT1VpRUWbA0E4pHxCln23JZMMdBMsRHSzevwg2KQmF525mH5AL2Fgui18yvphkU0+zqgNf1wrMXDFzKpS0GI8eqCs54iU48/vjFR6VeOlFzyMVcHW3UigxRKwzcLOhvIWEk0gPtxmCi+kM5WggHFi1WuCRGmLEiYZ+An7uPDCb2S/hNEd0xmE8RTKy1x3PbkoDtkHk7b8MtkDj8J5c43oUinYD9zkftz/oLRkq9aEwOamV6UiWJySFUPIQJwDrdXS7PxCkmfTVZYrES7/pUTozW1c6KmJmSDEqjJev/FxKOrGdC1okBVtxn3NZyLZX/YB4yFtxUOYoMNGm5fkSlVw1A/6AbJhRd9JvTpgIdxE8/TQ1gAYlEqv/42nT8GvIdfIAqK0lJoF1oTQPUFDZkqXWumby8XqA7afRw/IJiHcdiTJM9gAKpBKmcNBRiBYTFXHfucpCRWQ8oAoYNCf8vHh4YiIgeX24uDapjFGJIxD+c2nwLyFPyM= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR11MB4461.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(136003)(346002)(396003)(376002)(366004)(39860400002)(33430700001)(66446008)(5660300002)(76116006)(107886003)(186003)(66476007)(4326008)(66556008)(26005)(8676002)(55016002)(66946007)(316002)(64756008)(9686003)(8936002)(54906003)(110136005)(71200400001)(33656002)(2906002)(7696005)(33440700001)(53546011)(86362001)(966005)(478600001)(52536014)(6506007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: 35kjQ9iFfi+WPMWzKce9AVoCuDeXC/hj8TdezS/3yLHhZaNkrsDA4lA9EJjei7bmb3LN5RpvQqK0qc0n1+K09RDkjj4+RHfRK3FR1ie5JKo/l3aOojRz7T80Bhrqv/7KfOipgr83Qr1t1BF9TWZC3/bY7sDgTJWlv2l94AQbiaij7+IlRQtu5L8TLicMka+Wb9+nnFSN5JSZplBzUYX+mdyDlj+sgPx9onvrNJH3YOvmXKgXr6in+LuxUimSqYON7IHJKdCPk6EaFHcnzWXB2h+Gi4D/Nt06R2eqg4RwpRaTXv6BOIASZW9wxFj2iqRzJsZElEZnyPEyjyg7etatem8CcSLnMI6mentwJ66IzCqKAJYZGt0zN/UbpK5Ae0xRJ4dFUDPJKsfA+pKE3jRErlSWdJtuFls1ecRtISSbpBTRjU9CnpJwSoK93TiCLMDYFnog6DMlzmZD5Q4HzrGdKMGCuVF0V2sW3UnmG9Kufxg= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 241d624c-cc5e-462c-1043-08d7f5f16c7e X-MS-Exchange-CrossTenant-originalarrivaltime: 11 May 2020 21:22:35.0899 (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: vyJeV+cgZ8r3G8D7ahdzrtueqTv8I6dI8kpTRbsHP/Ux7KA7JLhXKafw38nFOaFDP6GSK9ppB0cZ4t9i23NV/MV7RHBrCKmPUo0bL68XSGc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4285 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 SGkgTGFzemxvLA0KDQpJcyB0aGVyZSBhbiBvcHRpb24gZm9yIEJoeXZlIHRvIGxpdmUgaW4gYW4g ZWRrMi1wbGF0Zm9ybXMgYnJhbmNoDQpvciBpbiBlZGsyLXN0YWdpbmcgYnJhbmNoIHVudGlsIGl0 IG1lZXRzIHRoZSBxdWFsaXR5IGNyaXRlcmlhIGZvcg0KT3ZtZlBrZyBpbiB0aGUgZWRrMiByZXBv Pw0KDQpNaWtlDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTGFzemxv IEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4gU2VudDogTW9uZGF5LCBNYXkgMTEsIDIwMjAg MjoxMiBQTQ0KPiBUbzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwu Y29tPjsgQXJkDQo+IEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGFybS5jb20+OyBSZWJlY2Nh IENyYW4NCj4gPHJlYmVjY2FAYnNkaW8uY29tPjsgZWRrMi1kZXZlbC1ncm91cHMtaW8NCj4gPGRl dmVsQGVkazIuZ3JvdXBzLmlvPg0KPiBDYzogQW5kcmV3IEZpc2ggPGFmaXNoQGFwcGxlLmNvbT47 IExlaWYgTGluZGhvbG0NCj4gPGxlaWZAbnV2aWFpbmMuY29tPjsgSnVzdGVuLCBKb3JkYW4gTA0K PiA8am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFdoZXJlIHRvIHB1 dCB0aGUgYmh5dmUgY29kZSBpbiB0aGUgZWRrMg0KPiByZXBvOiBCaHl2ZVBrZywgb3IgdW5kZXIg T3ZtZlBrZz8NCj4gDQo+IE9uIDA1LzExLzIwIDE4OjM2LCBLaW5uZXksIE1pY2hhZWwgRCB3cm90 ZToNCj4gPiBJIGFncmVlIHRoYXQgQXJtVmlydFBrZyBjb250ZW50cyBzaG91bGQgYmUgYWRkZWQg dG8NCj4gT3ZtZlBrZy4NCj4gDQo+IEkgZ3Vlc3MgIk92bWZQa2cvU2Vjb25kYXJ5L0JoeXZlIiB3 b3VsZCBiZSBhDQo+IGNvbXByb21pc2UuDQo+IA0KPiAoSSB3b3VsZCBhY3R1YWxseSBwcmVmZXIg IlN0YWdpbmciIHRvICJTZWNvbmRhcnkiLA0KPiBhY2NvcmRpbmcgdG8gdGhlIGZvbGxvd2luZyBk ZWZpbml0aW9uOg0KPiANCj4gaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tl cm5lbC9naXQvdG9ydmFsZA0KPiBzL2xpbnV4LmdpdC90cmVlL2RyaXZlcnMvc3RhZ2luZy9LY29u ZmlnDQo+IA0KPiBtZW51Y29uZmlnIFNUQUdJTkcNCj4gCWJvb2wgIlN0YWdpbmcgZHJpdmVycyIN Cj4gCS0tLWhlbHAtLS0NCj4gCSAgVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBzZWxlY3QgYSBu dW1iZXIgb2YNCj4gZHJpdmVycyB0aGF0IGFyZQ0KPiAJICBub3Qgb2YgdGhlICJub3JtYWwiIExp bnV4IGtlcm5lbCBxdWFsaXR5IGxldmVsLg0KPiBUaGVzZSBkcml2ZXJzDQo+IAkgIGFyZSBwbGFj ZWQgaGVyZSBpbiBvcmRlciB0byBnZXQgYSB3aWRlciBhdWRpZW5jZQ0KPiB0byBtYWtlIHVzZSBv Zg0KPiAJICB0aGVtLiAgUGxlYXNlIG5vdGUgdGhhdCB0aGVzZSBkcml2ZXJzIGFyZSB1bmRlcg0K PiBoZWF2eQ0KPiAJICBkZXZlbG9wbWVudCwgbWF5IG9yIG1heSBub3Qgd29yaywgYW5kIG1heSBj b250YWluDQo+IHVzZXJzcGFjZQ0KPiAJICBpbnRlcmZhY2VzIHRoYXQgbW9zdCBsaWtlbHkgd2ls bCBiZSBjaGFuZ2VkIGluIHRoZQ0KPiBuZWFyDQo+IAkgIGZ1dHVyZS4NCj4gDQo+IAkgIFVzaW5n IGFueSBvZiB0aGVzZSBkcml2ZXJzIHdpbGwgdGFpbnQgeW91ciBrZXJuZWwNCj4gd2hpY2ggbWln aHQNCj4gCSAgYWZmZWN0IHN1cHBvcnQgb3B0aW9ucyBmcm9tIGJvdGggdGhlIGNvbW11bml0eSwN Cj4gYW5kIHZhcmlvdXMNCj4gCSAgY29tbWVyY2lhbCBzdXBwb3J0IG9yZ2FuaXphdGlvbnMuDQo+ IA0KPiAJICBJZiB5b3Ugd2lzaCB0byB3b3JrIG9uIHRoZXNlIGRyaXZlcnMsIHRvIGhlbHANCj4g aW1wcm92ZSB0aGVtLCBvcg0KPiAJICB0byByZXBvcnQgcHJvYmxlbXMgeW91IGhhdmUgd2l0aCB0 aGVtLCBwbGVhc2Ugc2VlDQo+IHRoZQ0KPiAJICBkcml2ZXJzL3N0YWdpbmcvPGRyaXZlcl9uYW1l Pi9UT0RPIGZpbGUgdG8gc2VlDQo+IHdoYXQgbmVlZHMgdG8gYmUNCj4gCSAgd29ya2VkIG9uLCBh bmQgd2hvIHRvIGNvbnRhY3QuDQo+IA0KPiAJICBJZiBpbiBkb3VidCwgc2F5IE4gaGVyZS4NCj4g DQo+IEhvd2V2ZXIsIGVkazIgYWxyZWFkeSB1c2VzIGEgc2VwYXJhdGUgInN0YWdpbmciIHJlcG8g aW4NCj4gKG5lYXJseSkgdGhlIHNhbWUgc2Vuc2UsIHNvIEkgZmlndXJlIHRoZSAic3RhZ2luZyIg dGVybQ0KPiBpcyBhbHJlYWR5IHRha2VuLiBIZW5jZSAiU2Vjb25kYXJ5Iiwgb3IgZXZlbg0KPiAi U2Vjb25kQ2xhc3MiLikNCj4gDQo+IFRoYW5rcw0KPiBMYXN6bG8NCj4gDQo+ID4+IC0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hl dXZlbEBhcm0uY29tPg0KPiA+PiBTZW50OiBNb25kYXksIE1heSAxMSwgMjAyMCA5OjIxIEFNDQo+ ID4+IFRvOiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsgUmViZWNjYSBDcmFuDQo+ ID4+IDxyZWJlY2NhQGJzZGlvLmNvbT47IGVkazItZGV2ZWwtZ3JvdXBzLWlvDQo+ID4+IDxkZXZl bEBlZGsyLmdyb3Vwcy5pbz4NCj4gPj4gQ2M6IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQu a2lubmV5QGludGVsLmNvbT47DQo+ID4+IEFuZHJldyBGaXNoIDxhZmlzaEBhcHBsZS5jb20+OyBM ZWlmIExpbmRob2xtDQo+ID4+IDxsZWlmQG51dmlhaW5jLmNvbT47IEp1c3RlbiwgSm9yZGFuIEwN Cj4gPj4gPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+DQo+ID4+IFN1YmplY3Q6IFJlOiBXaGVy ZSB0byBwdXQgdGhlIGJoeXZlIGNvZGUgaW4gdGhlIGVkazINCj4gPj4gcmVwbzogQmh5dmVQa2cs IG9yIHVuZGVyIE92bWZQa2c/DQo+ID4+DQo+ID4+IE9uIDUvMTEvMjAgNTo1NSBQTSwgTGFzemxv IEVyc2VrIHdyb3RlOg0KPiA+Pj4gKENDJ2luZyBBcmQgYW5kIEpvcmRhbi4pDQo+ID4+Pg0KPiA+ Pj4gT24gMDUvMDgvMjAgMTc6NDQsIFJlYmVjY2EgQ3JhbiB3cm90ZToNCj4gPj4+PiBEdXJpbmcg dGhlIENvbW11bml0eSBNZWV0aW5nIGxhc3QgbmlnaHQsIEkgd2FzDQo+IGFza2VkDQo+ID4+IHRv IHNlbmQgdGhpcyBlbWFpbA0KPiA+Pj4+IHN0YXJ0aW5nIGEgZGlzY3Vzc2lvbiBhYm91dCB3aGVy ZSB0byBwdXQgdGhlIGJoeXZlDQo+ID4+IGNvZGUgaW4gdGhlIGVkazINCj4gPj4+PiB0cmVlOiB3 aGV0aGVyIGl0IHNob3VsZCBiZSBpbiBhIG5ldyBCaHl2ZVBrZywgb3INCj4gPj4gYWRkZWQgdW5k ZXIgT3ZtZlBrZy4NCj4gPj4+DQo+ID4+PiBJIHByZWZlciBhIHRvcC1sZXZlbCBCaHl2ZVBrZy4N Cj4gPj4+DQo+ID4+PiBJZiBtb3N0IGVkazIgY29uc3VtZXJzIHdvdWxkbid0IGxpa2UgdG8gc2Vl IGEgdG9wLQ0KPiA+PiBsZXZlbCBCaHl2ZVBrZw0KPiA+Pj4gZGlyZWN0b3J5LCBJIGNhbiBjZXJ0 YWlubHkgbGl2ZSB3aXRoIE92bWZQa2cvQmh5dmUuDQo+ID4+Pg0KPiA+Pj4gSSBjYW4gYWxzbyBs aXZlIHdpdGggT3ZtZlBrZy9CaHl2ZSosDQo+ID4+IE92bWZQa2cvTGlicmFyeS9CaHl2ZSosIGV0 YywgbW9kdWxlcy4NCj4gPj4+DQo+ID4+PiBTbyBJIGd1ZXNzIHRoZXNlIHdvdWxkIGJlIG15IGNo b2ljZXMgaW4gZGVjcmVhc2luZw0KPiA+PiBvcmRlciBvZiBwcmVmZXJlbmNlLg0KPiA+Pj4gKFRv IGJlIGNsZWFyLCBJIGNvbnNpZGVyIG15IG9wdGlvbiMzIHN0aWxsIGEgbG90DQo+ID4+IGJldHRl ciB0aGFuIG5vdCBoYXZpbmcNCj4gPj4+IGJoeXZlIHN1cHBvcnQgaW4gdXBzdHJlYW0gZWRrMiBh dCBhbGwuKQ0KPiA+Pj4NCj4gPj4+IEluIGVpdGhlciBjYXNlLCAiTWFpbnRhaW5lcnMudHh0IiBz aG91bGQgZ2V0IGEgbmV3DQo+ID4+IHNlY3Rpb24gbGlzdGluZyB0aGUNCj4gPj4+IGJoeXZlLXNw ZWNpZmljIG1vZHVsZXMgYXMgYmVpbmcgdW5kZXIgeW91ciBhbmQNCj4gUGV0ZXINCj4gPj4gR3Jl aGFuJ3MNCj4gPj4+IHJldmlld2Vyc2hpcCAoIlIiKS4NCj4gPj4+DQo+ID4+Pj4gSXQNCj4gPj4+ PiBhcHBlYXJzIGl0J3MgYWxyZWFkeSBiZWVuIGRlY2lkZWQgaXQgc2hvdWxkIGJlIGluDQo+ID4+ IGVkazIgYWxvbmcgd2l0aCB0aGUNCj4gPj4+PiBvdGhlciB2aXJ0dWFsIHBsYXRmb3JtcyBhbmQg bm90IGVkazItcGxhdGZvcm1zLA0KPiA+PiB3aGVyZSBjb2RlIGZvciBwaHlzaWNhbA0KPiA+Pj4+ IHBsYXRmb3JtcyB3aWxsIHJlc2lkZS4NCj4gPj4+DQo+ID4+PiBJIGhhdmVuJ3QgYmVlbiBhd2Fy ZSB0aGF0IHRoaXMgaXMgYSBkb25lIGRlYWwsIGJ1dA0KPiBpZg0KPiA+PiBpdCBpcywgaXQgbWFr ZXMgbWUNCj4gPj4+IGdsYWQhIEkndmUgYWx3YXlzIHdhbnRlZCBiaHl2ZSBzdHVmZiB0byBiZSBp biBlZGsyDQo+ID4+IGFuZCBub3QgaW4NCj4gPj4+IGVkazItcGxhdGZvcm1zLg0KPiA+Pj4NCj4g Pj4NCj4gPj4gSSB0aGluayBpdCBpcyBhIGdvb2QgdGhpbmcgdG8gaGF2ZSBzdXBwb3J0IGZvcg0K PiB2aXJ0dWFsDQo+ID4+IHBsYXRmb3JtcyBpbiBjb3JlDQo+ID4+IEVESzIsIGdpdmVuIHRoYXQg c3VjaCBhIHBsYXRmb3JtIGlzIG9ubHkgYSBkb3dubG9hZA0KPiA+PiBhd2F5IGZvciBhbnlvbmUg d2hvDQo+ID4+IHdhbnRzIHRvIHRyeSBpdC4gSSBhbSBzdHJvbmdseSBvcHBvc2VkIHRvIHRoZSBp ZGVhDQo+IHRoYXQNCj4gPj4gY29yZSBFREsyIHNob3VsZA0KPiA+PiBqdXN0IGJlIGEgcmVwb3Np dG9yeSBvZiBiaXRzIGFuZCBwaWVjZXMgdGhhdA0KPiBwbGF0Zm9ybXMNCj4gPj4gY2FuIGluY29y cG9yYXRlLA0KPiA+PiBlc3BlY2lhbGx5IGJlY2F1c2UgaXQgY2FuIG1ha2UgcmVncmVzc2lvbnMN Cj4gdW5zb2x2ZWFibGUNCj4gPj4gb25jZSB3ZSBnZXQNCj4gPj4gb3Vyc2VsdmVzIGludG8gYSBz dGF0ZSB3aGVyZSByZXZlcnRpbmcgc29tZSBwYXRjaA0KPiBmaXhlcw0KPiA+PiBhIHByb2JsZW0g b24gb25lDQo+ID4+IHBsYXRmb3JtIGFuZCBjcmVhdGVzIG9uZSBvbiBhbm90aGVyLg0KPiA+Pg0K PiA+PiBIb3dldmVyLCBJIGRvbid0IHRoaW5rIGV2ZXJ5IHBsYXRmb3JtcyBpbiBjb3JlIEVESzIN Cj4gY2FuDQo+ID4+IGJlIGEgZmlyc3QgY2xhc3MNCj4gPj4gY2l0aXplbi4gVGhlcmUgaXMgc2lt cGx5IG5vIHdheSB3ZSBjYW4gZXhwZWN0DQo+ID4+IGNvbnRyaWJ1dG9ycyB0byBtYWtlIHN1cmUN Cj4gPj4gdGhhdCB0aGVpciBjaGFuZ2VzIGRvbid0IGJyZWFrIHVuZGVyIEJoeXZlLCBhbmQgdGhl DQo+ID4+IHNhbWUgd2lsbCBiZSB0cnVlDQo+ID4+IG9uY2UgKGlmKSB3ZSBtZXJnZSBrdm10b29s IGd1ZXN0IHN1cHBvcnQsIHdoaWNoIGlzDQo+ID4+IHVuZGVyIGRldmVsb3BtZW50IGFzDQo+ID4+ IHdlbGwgKGdpdmVuIHRoYXQgaXQgc3VwcG9ydHMgdmlydHVhbGl6YXRpb24gb25seSwNCj4gYW5k DQo+ID4+IHNvIHVubGlrZSBRRU1VLA0KPiA+PiB3aGljaCBzdXBwb3J0cyBlbXVsYXRpb24gYXMg d2VsbCwgaXQgcmVxdWlyZXMgYQ0KPiBuYXRpdmUNCj4gPj4gaG9zdCkNCj4gPj4NCj4gPj4gU28g SSBhZ3JlZSB0aGF0IGl0IG1ha2VzIHNlbnNlIHRvIGluY29ycG9yYXRlIEJoeXZlDQo+ID4+IGlu dG8gY29yZSBFREsyLCBidXQNCj4gPj4gd2UgaGF2ZSB0byBkZWNpZGUgb24gc29tZSBydWxlcyBy ZWdhcmRpbmcgJ3NlY29uZA0KPiA+PiBjbGFzcycgcGxhdGZvcm1zOg0KPiA+PiBob3cvd2hlbiB0 byB0ZXN0IHRoZW0sIGFuZCBob3cgdXJnZW50bHkgd2UgdHJlYXQNCj4gPj4gcmVncmVzc2lvbnMg Zm91bmQNCj4gPj4gZHVyaW5nIHN1Y2ggdGVzdGluZy4gV2UgY2FuIHRyZWF0IEFybVZpcnRYZW4g dGhlDQo+IHNhbWUNCj4gPj4gd2F5LCBpbW8sIGFzIHdlbGwNCj4gPj4gYXMgS3ZtVG9vbCB3aGVu IGl0IGxhbmRzLg0KPiA+Pg0KPiA+PiBXaGV0aGVyIHdlIGNyZWF0ZSBhIEJoeXZlUGtnIGRlcGVu ZHMgb24gb3VyIGZ1dHVyZQ0KPiA+PiBpbnRlbnQgd3J0IG1lcmdpbmcNCj4gPj4gT1ZNRiB3aXRo IG90aGVyIHZpcnR1YWwgcGxhdGZvcm1zLiBJIHRoaW5rIGl0IHdvdWxkDQo+ID4+IG1ha2Ugc2Vu c2UgZm9yIHRoZQ0KPiA+PiBBcm1WaXJ0UGtnIGFuZCBPdm1mUGtnIHRvIGJlIG1lcmdlZCBhdCBz b21lIHBvaW50LA0KPiBhdA0KPiA+PiB3aGljaCB0aW1lIGl0IHdpbGwNCj4gPj4gcHJvYmFibHkg bWFrZSBsaXR0bGUgc2Vuc2UgdG8gaGF2ZSBhIHNlcGFyYXRlDQo+IEJoeXZlUGtnLg0KPiA+PiBC dXQgSSdtIG5vdCBzdXJlDQo+ID4+IHdoYXQgTGFzemxvJ3MgdGFrZSBpcyBvbiB0aGlzLg0KPiA+ Pg0KPiA+PiBJbiBzdW1tYXJ5LCBJIGNhbiBsaXZlIHdpdGggYW55IG9mIHRoZXNlIG9wdGlvbnMs IGFzDQo+ID4+IGxvbmcgYXMgdGhlDQo+ID4+IHVuZGVybHlpbmcgcnVsZXMgYW5kIGFzc3VtcHRp b25zIGFyZSBjbGFyaWZpZWQuDQo+ID4+DQo+ID4NCg0K