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.web10.1156.1624497640932269728 for ; Wed, 23 Jun 2021 18:20:41 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=L0c+9vKM; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: NpGw61ur0i2aSQavEogShsoXflZy17NPLD24NdcvN1Gye6e1S0jhH1fVkVNLT/JZnd05yQneAP xqbgys0UP/ig== X-IronPort-AV: E=McAfee;i="6200,9189,10024"; a="204366713" X-IronPort-AV: E=Sophos;i="5.83,295,1616482800"; d="scan'208";a="204366713" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2021 18:20:38 -0700 IronPort-SDR: +CTWh16QOtQFqJFkQm3qAbS2WpSPsQvZQVyRmpVkOQaHvdYTgsDmX973nys3q2hxieajDHBU6G bXI9b+oDtoNg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,295,1616482800"; d="scan'208";a="453227975" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga008.jf.intel.com with ESMTP; 23 Jun 2021 18:20:38 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Wed, 23 Jun 2021 18:20:37 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4 via Frontend Transport; Wed, 23 Jun 2021 18:20:37 -0700 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (104.47.73.168) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.4; Wed, 23 Jun 2021 18:20:37 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ci6INfSl/ZY8SdeR6HI+WnW+8ufpes6K/GGtUiQlD/TxuO+CiwiQQDhEpOWJQv0CSdv4aqPsaXMS59bxTqRKdzxnAjyhR1mlhZ8bk8ViB/fMhPI52lgue/bwAe8HHY6L5XjTInye4FM6N3jxwpa9kdNpvaGo4V5ubGPb3lK7dzLVY31sLrJ6DDn0z3Asn8HjSvX5cQJDWHEnnjNM9gvvJVpzIGEtFNmCNfUgYKJ0WW1R1kSwllWMctBTUk9b86G7J7LEZPcwoKDVDLkoqKU2FVyMlZ4mC6uWFkOz8WHh96nPO7kr5d41obyMo8hW+3KSVtcgXTbVtFC4op40z7HzvA== 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=qiZC1htKGxUT/P+t70himubH8ad4H62v5uy7PfFTqp4=; b=FMptakGrgVZahiPmoyeQrVlKuxHFyviwvkDb8C50t/OFsuJDfZrxKY36385MjICCSuESYcvNzjHj5zFB9pvb0Y2BEtJTSKaPMdCX65nqTBTVZ6+lOopWPuGbBm0X8JHkbv0B/ItHYuQW/DvMSJLMI6uPsp+W9/tgIBHMTbzUzD2Wwf9TlrLKhVim/QTh4QFw9K22CDHnkrMuC8eScEzBPg5tx+mHxT/aMtBiBQZGXAnZceeZRA1jUM+g75IYTeNbKSgiHbD3ow0wadUas74HPJqCvqQoar3JYZA5AOmhnKr1GWwW/tNtxOJaJ9M9E8fsIK1HKl+Vif436sOz98m9lA== 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=qiZC1htKGxUT/P+t70himubH8ad4H62v5uy7PfFTqp4=; b=L0c+9vKMbIS1OKfH58oWLaykkM6JnDUDXRgU1NEjvML1DYvXmVp924LUkQWxU+VkOTKNxGGPRCK4KViiAaY4/8tYgL9qsGzwuNenmXVSMVst0sj76I8bOuoOg7FLiX0Zd95EZZ7O+BmwPNzWVI3s54DCudSZ2DOXezyOFHUg2tM= Received: from CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by MWHPR11MB1728.namprd11.prod.outlook.com (2603:10b6:300:2b::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.19; Thu, 24 Jun 2021 01:20:32 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::612a:1a6b:db8a:5ff4]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::612a:1a6b:db8a:5ff4%4]) with mapi id 15.20.4242.025; Thu, 24 Jun 2021 01:20:32 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "gaoliming@byosoft.com.cn" , "lersek@redhat.com" , "spbrogan@outlook.com" , "ardb@kernel.org" , "Kinney, Michael D" CC: 'Peter Grehan' , 'Ard Biesheuvel' , "Justen, Jordan L" , 'Sean Brogan' , 'Rebecca Cran' Subject: Re: [edk2-devel] [PATCH] OvmfPkg/Bhyve: clean up TPM_ENABLE remnants Thread-Topic: [edk2-devel] [PATCH] OvmfPkg/Bhyve: clean up TPM_ENABLE remnants Thread-Index: AQHXYsh95rIjc2VRM02I6h/Yg+S1iasW/iSAgAG766CAB3OtAIAAAauwgAGQkACAADgPcIAAEuAAgAAk67CAADXeAIAAAjDA Date: Thu, 24 Jun 2021 01:20:31 +0000 Message-ID: References: <20210612204340.52290-1-rebecca@bsdio.com> <8539c5bc-0092-0c48-7555-76dafcfe18ba@redhat.com> <6e8381ff-d7bc-655e-4794-3ffa0b548ac3@redhat.com> <9ca73814-77fa-121e-0c8b-25e050e0a880@redhat.com> <015f01d76895$a19102d0$e4b30870$@byosoft.com.cn> In-Reply-To: <015f01d76895$a19102d0$e4b30870$@byosoft.com.cn> 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: 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: [24.19.191.44] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c3679502-9fe1-4ef6-8bbd-08d936ae42b2 x-ms-traffictypediagnostic: MWHPR11MB1728: 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-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9UyNCr/0vc5HjRnKceiHxmqitefmUb0ZWF5xSJFDqd5MA3zcjedQ2AmzeeIgHsehlwH7W5PBGy+XeKdQVICz9Qp4fJQldlVEY/aolqbGKxRudojuNT3L+4PdekTLm8K2Xp5fM9tUEa6/CuvgR8VC/7JGbGTD+P8tM1ntKUgsvdCTmeMJk3UuF2t8uKGt70kbnyl/pZzalnNigHvvqtP6H3PMGd2Eb0Z1u+Ld8AdVfZLcuTOJHno4FBcTY2yE5Mjia5/aHvByBas19MKXt6klk2OzYdiRcMvhOQYJfIZlKRiVcddGRLMaizz0oIIGjCQvcar3B1mmFU4VAbq7GEznSDMZkbqenvAKN8vDa/7IGeTxXzI452bk2w2fFwwGyRxfoWlMTtUkud01Oei7NSG7mm5aYhaVWdxajg9X6+wd23QkMOYcVLErxB/TmxZ1eMn2+5ZLLpgg5FCUTKnOfTSlNUPXqV4vrZCqdx6dstsAV4tmYtiRAhK2BxJxTeSD7uZ7pRp+DbxHD4ANStx8rNJXphCgbyEQ3y9o4y03rhvMfuyvNoDpw7Qo1cu1yXsBzgGpXZ+MOB4Q5CVJ+QNa/JnQLeKkNMPqzf85CyfTHUV8cFPjhyf4TfPc2sEt8ihuCf+KvocJzcs78zTcL9keglovzIaZFyLFGluxGHMQYFiWrNWdgCrou0u5o0AUBd3stVwNGuVK0mkPy7P+Vqp0da0WR8HUOu3ZREerDnYFI9V3//6RSzCQogxxqc1MOZ6YCy3bajOg00iGHc8DDwF2Y+p+bQ== 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:(376002)(346002)(366004)(396003)(136003)(39860400002)(83380400001)(55016002)(71200400001)(38100700002)(54906003)(86362001)(45080400002)(110136005)(316002)(122000001)(2906002)(9686003)(966005)(478600001)(26005)(53546011)(8676002)(76116006)(52536014)(15974865002)(186003)(7696005)(6506007)(8936002)(66946007)(64756008)(66476007)(5660300002)(66556008)(33656002)(4326008)(66446008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?anV0VFhLS3JxMXNUOUdEc1pVSTZnVS81UFd0ZEJRY3g2MWF5VzJxOEtjbkdH?= =?utf-8?B?WUxvRUxVMzVvMTFUak1FR0MremxkRU9QcEQ2R1hQWXRrRFJHOGdjQStsMHhZ?= =?utf-8?B?Nk91aUY2NU1kdHpPVXdCd1hiU1hTRzhpcWZaVTRwaE9UVEtvVWNBMTVLYzBI?= =?utf-8?B?SHBJQktnQUJGSEg5anJVNnBpQlc5WTNHMzBQL3BJdlRFbXNUNFc0Vm9kV1VW?= =?utf-8?B?RlRDT1IzR1FHMDBsSzNGKzl0WlkzYlgyeElhQk96TmhZa0dleFFraklSTWVo?= =?utf-8?B?dTYxbG02WlZYcjl6cUU4alRITzdWN0g0d2FXWUNMUHF6dmN4VlloZEZ3d0Rz?= =?utf-8?B?Nk5rMC8yaFZmQW5hYVYyZ0tSNmFTUGlDWWNFWndGam4zUFZiVkdyc3VYQVA3?= =?utf-8?B?WHFPaXpvUXRoVkwvTFpxVUtrRjI2Ni9MMzZsNHZOWGg2VjdxYkJlU25SWk9y?= =?utf-8?B?UkxKSzEvYVgySVFwS1lwTnNsemFmb0NRMlA0SGQvOUJXZjI1cVdCZXJWd1Q0?= =?utf-8?B?WW9md05WeXVJT3Z6RjBJTnMrUjFWL1lpT3ZucjFRT2xHc1VsaDB4c2Q2WVB1?= =?utf-8?B?bFAvbFBidTlUZjBvUmVrZHc0dXh5bFhVcEc3SWU5SENWeU54MUppWDk0OVF2?= =?utf-8?B?a1BEeFRsUkdVVzVFSTdUSWVhZXRmV204WXNPMWM5aXU1bnp4eS9xcGxIdUFT?= =?utf-8?B?eXdtZGUxeXpyUEFhNXAxV2l2UUtiZ2RNZWZ2VXZQYTQyQjJGcmYwbWZYMVMy?= =?utf-8?B?dmJqQWJBTE41VFZDdlRqWDBJT1hncUNXOWxzWlRTczJYYWZLN3pjUGxTR3lR?= =?utf-8?B?NHhid0VMaEFqaDJUQjlYa1hJTE8xc3dGeXgrMmQ3VXZWL1djVm5ManBtMnUx?= =?utf-8?B?RVl0Q2JrMm1yK3dVa3VZcyt4TTVkdFczZTZZdjBzYUJBcmluWTZPaEV6bTdD?= =?utf-8?B?SU5KNjhVSFBnU1J6c1ROUEppdjVodktHREdyMHdWNTlqS1VHdXlpRzhMN0ZB?= =?utf-8?B?WWJRYThETDdnUnV3KzFLc0Y3ZHkwUzlBQkU0MU9SMU05R3ByRVJ4SzJTTnNp?= =?utf-8?B?Y3MvNTUzOXJxUkc1VGhJdUVXTkF5VXo0TE9sSlVXbStCaVdGczg1V2NiRGZY?= =?utf-8?B?Qmd4SlZBMkJvcHRFeUhpVDgva3U1bkJOeDRQYjA0Z2hsRGFwZWN3cGcvaUhF?= =?utf-8?B?UGVLZVVBRU5YS2c3V3lEblhDZ2FlQWliNFlhMFcwbXYyV1NTUXhhY2JwSGY1?= =?utf-8?B?OTc5dGF5Q1Y3Tlh3SWRIdEgrdU9hYVFNREZ2VDQxc2xXU2VpM1VoTHdsQWFB?= =?utf-8?B?Vkc5ZHltNnhoSmtmNDVzdDRVVFJlck9hVFB6M2xSNTY4M2ZZMGFOcTB2NDlp?= =?utf-8?B?ZUk0QldsRXNuVXRIMG9hUlpzSzk0Q3I1R0oxWTJWNUhoNGVOTDd5ZlhWYW56?= =?utf-8?B?ZlFJdWZFRU1RY1d1MCt1Ujh2aGZIaXRncFJ6clhIRDVVUHBCOTVVaVBuUFNv?= =?utf-8?B?RHBpQzlOSlNBMW9tSTIyR3hlL0hNdDNZZUNyY093NjBlNXQ4SWR5L2hsa0Zx?= =?utf-8?B?ZkV0YTlzZ3VoWFZWNXZPbXIwZUpLOStvdUEvaEdmT3pYbHBLeGVvREcvdFM1?= =?utf-8?B?d1VmUTl1L2RmZXdnSlM4a2RaUHk0M205UDZ1am9RRkZlSGVrNmM2cUtCWkxp?= =?utf-8?B?RzF3WnF2eFBxQ0k2M2RIQWZ0VGtnTTgyMWp1ZHRVQk5YZUJ6eFI1RE1KbjM2?= =?utf-8?Q?sxpc7TbvVKpoShsnip39oxqnSBLQcDvlBeE7umV?= 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: c3679502-9fe1-4ef6-8bbd-08d936ae42b2 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jun 2021 01:20:31.9558 (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: mIM4JudorIE1PmuCgqoiS1ZGPAf1/v/EEUu9zK4JucKuB5I1imnmyoy8ckFDyrwQcW7bhZtmXhF7VRFsYjxX8fUCRGcvl6IwMvbyRHEafFY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB1728 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 TGltaW5nLA0KDQpZZXMuICBJIGFtIHdvcmtpbmcgb24gYSBjb25maWd1cmF0aW9uIHdpdGggd2ls bCBrZWVwIHRoZSBjdXJyZW50ICdwdXNoJyBiZWhhdmlvcg0KYW5kIGFkZCB0aGUgJ2F1dG8tcmVi YXNlJyBvcHRpb24uDQoNCk1pa2UNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBG cm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFs ZiBPZiBnYW9saW1pbmcNCj4gU2VudDogV2VkbmVzZGF5LCBKdW5lIDIzLCAyMDIxIDY6MTAgUE0N Cj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5k Lmtpbm5leUBpbnRlbC5jb20+OyBsZXJzZWtAcmVkaGF0LmNvbTsgc3Bicm9nYW5Ab3V0bG9vay5j b207DQo+IGFyZGJAa2VybmVsLm9yZw0KPiBDYzogJ1BldGVyIEdyZWhhbicgPGdyZWhhbkBmcmVl YnNkLm9yZz47ICdBcmQgQmllc2hldXZlbCcgPGFyZGIrdGlhbm9jb3JlQGtlcm5lbC5vcmc+OyBK dXN0ZW4sIEpvcmRhbiBMDQo+IDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPjsgJ1NlYW4gQnJv Z2FuJyA8c2Vhbi5icm9nYW5AbWljcm9zb2Z0LmNvbT47ICdSZWJlY2NhIENyYW4nIDxyZWJlY2Nh QGJzZGlvLmNvbT4NCj4gU3ViamVjdDog5Zue5aSNOiBbZWRrMi1kZXZlbF0gW1BBVENIXSBPdm1m UGtnL0JoeXZlOiBjbGVhbiB1cCBUUE1fRU5BQkxFIHJlbW5hbnRzDQo+IA0KPiBNaWtlOg0KPiAg IElmICdhdXRvLXJlYmFzZScgbGFiZWwgaXMgbm90IHNldCwgdGhlIGJlaGF2aW9yIGlzIHN0aWxs IHNhbWUgdG8gY3VycmVudCBvbmUuIFJpZ2h0Pw0KPiAgIElmIHllcywgSSBhZ3JlZSB0aGlzIHBy b3Bvc2FsLiBUaGUgbWFpbnRhaW5lciBjYW4gb3B0aW9uYWxseSBzZXQgJ2F1dG8tcmViYXNlJy4N Cj4gDQo+IFRoYW5rcw0KPiBMaW1pbmcNCj4gPiAtLS0tLemCruS7tuWOn+S7ti0tLS0tDQo+ID4g 5Y+R5Lu25Lq6OiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IOS7 o+ihqCBNaWNoYWVsIEQNCj4gPiBLaW5uZXkNCj4gPiDlj5HpgIHml7bpl7Q6IDIwMjHlubQ25pyI MjTml6UgNjowOA0KPiA+IOaUtuS7tuS6ujogZGV2ZWxAZWRrMi5ncm91cHMuaW87IGxlcnNla0By ZWRoYXQuY29tOyBzcGJyb2dhbkBvdXRsb29rLmNvbTsNCj4gPiBhcmRiQGtlcm5lbC5vcmc7IEtp bm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiDmioTpgIE6 IFBldGVyIEdyZWhhbiA8Z3JlaGFuQGZyZWVic2Qub3JnPjsgQXJkIEJpZXNoZXV2ZWwNCj4gPiA8 YXJkYit0aWFub2NvcmVAa2VybmVsLm9yZz47IEp1c3RlbiwgSm9yZGFuIEwgPGpvcmRhbi5sLmp1 c3RlbkBpbnRlbC5jb20+Ow0KPiA+IFNlYW4gQnJvZ2FuIDxzZWFuLmJyb2dhbkBtaWNyb3NvZnQu Y29tPjsgUmViZWNjYSBDcmFuDQo+ID4gPHJlYmVjY2FAYnNkaW8uY29tPg0KPiA+IOS4u+mimDog UmU6IFtlZGsyLWRldmVsXSBbUEFUQ0hdIE92bWZQa2cvQmh5dmU6IGNsZWFuIHVwIFRQTV9FTkFC TEUNCj4gPiByZW1uYW50cw0KPiA+DQo+ID4gSGkgTGFzemxvLA0KPiA+DQo+ID4gSSB1bmRlcnN0 YW5kIHlvdXIgcG9pbnQuDQo+ID4NCj4gPiBJIGFtIHRyeWluZyB0byBiYWxhbmNlIHRoZSBlYXNl IG9mIHVzZSBmb3IgZGV2ZWxvcGVycywgcmVkdWNpbmcgb3ZlcmhlYWQgZm9yDQo+ID4gbWFpbnRh aW5lcnMsIGFuZA0KPiA+IHByZXZlbnQgYmFkIGNvbW1pdHMuDQo+ID4NCj4gPiBJIHRoaW5rIHlv dSBhcmUgc2F5aW5nIHRoYXQgeW91IHdhbnQgdG8gbWFrZSBzdXJlIGEgbWFpbnRhaW5lciBjYXJl ZnVsbHkNCj4gPiByZXZpZXdzIGNoYW5nZXMNCj4gPiBhY3Jvc3MgbXVsdGlwbGUgUFJzIHRoYXQg YXJlIGluIHRoZSBzYW1lIGFyZWEgb2YgY29kZS4gIFRoZSBDSSBjaGVja3Mgd2lsbCBvZg0KPiA+ IGNvdXJzZSBtYWtlDQo+ID4gc3VyZSB0aGUgY29kZSBidWlsZHMgYW5kIHBhc3NlcyB0aGUgYmFz aWMgYm9vdCB0ZXN0cywgYnV0IHRob3NlIHRlc3RzIGRvIG5vdA0KPiA+IGhhdmUgZnVsbA0KPiA+ IGNvdmVyYWdlIHNvIGFuIGludGVyYWN0aW9uIGlzc3VlIGJldHdlZW4gdHdvIFBScyB0aGF0IHBh c3MgYnVpbGQgYW5kIGJvb3QNCj4gPiBidXQgaGF2ZQ0KPiA+IHVuaW50ZW5kZWQgYmVoYXZpb3Ig c2lkZSBlZmZlY3RzIGFyZSB3aGF0IHJlcXVpcmUgZGV0YWlsZWQgbWFudWFsIHJldmlldy4NCj4g Pg0KPiA+IEkgYW0gZ29pbmcgdG8gcmVtb3ZlIHRoZSBhdXRvLXJlYmFzZSBieSBkZWZhdWx0IGFu ZCBhZGQgYSBvcHRpb25hbCBsYWJlbCB0aGF0DQo+ID4gY2FuDQo+ID4gYmUgc2V0IGJ5IGEgbWFp bnRhaW5lciB0byBlbmFibGUgYXV0by1yZWJhc2UuICBJZiBhIG1haW50YWluZXIgaXMgY29uZmlk ZW50DQo+ID4gdGhhdA0KPiA+IGEgc2V0IG9mIFBScyBiZWluZyBzdWJtaXR0ZWQgYXQgdGhlIHNh bWUgdGltZSB3aXRoIHRoZSAncHVzaCcgbGFiZWwgYXJlDQo+ID4gaW5kZXBlbmRlbnQsDQo+ID4g dGhlbiB0aGUgbWFpbnRhaW5lciBjYW4gYWxzbyBzZXQgJ2F1dG8tcmViYXNlJy4gIElmIHRoZXkg YXJlIG5vdCBjb25maWRlbnQsDQo+ID4gdGhlbg0KPiA+IHRoZXkgY2FuIHNlbmQgUFJzIG9uZSBh dCBhIHRpbWUgd2l0aCBvbmx5ICdwdXNoJyBsYWJlbCBhbmQgbWFudWFsbHkgcmViYXNlDQo+ID4g ZWFjaA0KPiA+IGFkZGl0aW9uYWwgUFIgYW5kIHJldmlldyB0aGUgbWFudWFsIHJlYmFzZSB0byBt YWtlIHN1cmUgdGhlcmUgYXJlIG5vDQo+ID4gdW5pbnRlbmRlZA0KPiA+IHNpZGUgZWZmZWN0cy4N Cj4gPg0KPiA+IEFueSBvYmplY3Rpb25zIHRvIHRoaXMgZGlyZWN0aW9uPw0KPiA+DQo+ID4gVGhh bmtzLA0KPiA+DQo+ID4gTWlrZQ0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiA+ID4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlv PiBPbiBCZWhhbGYgT2YgTGFzemxvDQo+ID4gRXJzZWsNCj4gPiA+IFNlbnQ6IFdlZG5lc2RheSwg SnVuZSAyMywgMjAyMSAxMjo0NSBQTQ0KPiA+ID4gVG86IEtpbm5leSwgTWljaGFlbCBEIDxtaWNo YWVsLmQua2lubmV5QGludGVsLmNvbT47DQo+ID4gZGV2ZWxAZWRrMi5ncm91cHMuaW87IHNwYnJv Z2FuQG91dGxvb2suY29tOyBhcmRiQGtlcm5lbC5vcmcNCj4gPiA+IENjOiBQZXRlciBHcmVoYW4g PGdyZWhhbkBmcmVlYnNkLm9yZz47IEFyZCBCaWVzaGV1dmVsDQo+ID4gPGFyZGIrdGlhbm9jb3Jl QGtlcm5lbC5vcmc+OyBKdXN0ZW4sIEpvcmRhbiBMDQo+ID4gPiA8am9yZGFuLmwuanVzdGVuQGlu dGVsLmNvbT47IFNlYW4gQnJvZ2FuIDxzZWFuLmJyb2dhbkBtaWNyb3NvZnQuY29tPjsNCj4gPiBS ZWJlY2NhIENyYW4gPHJlYmVjY2FAYnNkaW8uY29tPg0KPiA+ID4gU3ViamVjdDogUmU6IFtlZGsy LWRldmVsXSBbUEFUQ0hdIE92bWZQa2cvQmh5dmU6IGNsZWFuIHVwIFRQTV9FTkFCTEUNCj4gPiBy ZW1uYW50cw0KPiA+ID4NCj4gPiA+IE9uIDA2LzIzLzIxIDIwOjQ0LCBLaW5uZXksIE1pY2hhZWwg RCB3cm90ZToNCj4gPiA+ID4NCj4gPiA+ID4gSGkgTGFzemxvLA0KPiA+ID4gPg0KPiA+ID4gPiBU aGFuayB5b3UgZm9yIHRoZSB0ZXN0IGNhc2UuDQo+ID4gPiA+DQo+ID4gPiA+IEkgY3JlYXRlZCAy IFBScyBhZ2FpbnN0IGVkazItY29kZXJldmlldyB1c2luZyB5b3VyIHBhdGNoZXMuDQo+ID4gPiA+ IEkgbWFkZSBtaW5vciB1cGRhdGUgdG8gY29tbWl0IG1lc3NhZ2VzIHRvIHBhc3MgcGF0Y2ggY2hl Y2suDQo+ID4gPiA+DQo+ID4gPiA+ICAgICBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2Vk azItY29kZXJldmlldy9wdWxsLzE4DQo+ID4gPiA+ICAgICBodHRwczovL2dpdGh1Yi5jb20vdGlh bm9jb3JlL2VkazItY29kZXJldmlldy9wdWxsLzE5DQo+ID4gPiA+DQo+ID4gPiA+IEZvdW5kIGFu b3RoZXIgaXNzdWUgd2l0aCBQYXRjaENoZWNrIGZvciB0aGUgTWVyZ2lmeSBtZXJnZSBjb21taXQg YW5kDQo+ID4gPiA+IGZpeGVkIHRoYXQuDQo+ID4gPiA+DQo+ID4gPiA+IE1lcmdpZnkgZGlkIHBy b2Nlc3MgIzE4IGFuZCBtZXJnZWQgaXQgaW4gYWZ0ZXIgcGFzc2luZyBhbGwgQ0kuIE1lcmdpZnkN Cj4gPiA+ID4gcmViYXNlZCAjMTkgc3VjY2Vzc2Z1bGx5IGFuZCBtZXJnZWQgaXQgYWZ0ZXIgcGFz c2luZyBhbGwgQ0kuIEkgZG8gbm90DQo+ID4gPiA+IHRoaW5rIHRoaXMgd2FzIHlvdXIgZXhwZWN0 ZWQgcmVzdWx0Lg0KPiA+ID4NCj4gPiA+IEluZGVlZCwgbXkgImRlc2lyZWQiIHJlc3VsdCBhdCBs ZWFzdCB3b3VsZCBoYXZlIGJlZW4gZm9yIG1lcmdpZnkgdG8NCj4gPiA+IHJlamVjdCB0aGUgcmVi YXNlLg0KPiA+ID4NCj4gPiA+ID4gSSBsb29rZWQgbW9yZSBjbG9zZWx5IGF0IHRoZSBwYXRjaGVz IHlvdSBwcm92aWRlZC4gIFRoZXkgd2VyZSBub3QNCj4gPiA+ID4gb3ZlcmxhcHBpbmcgaW4gdGhl IGxpbmVzIG9mIFJlYWRtZS5yc3QuICBUaGlzIGlzIHdoeSBubyBtZXJnZSBjb25mbGljdA0KPiA+ ID4gPiB3YXMgZGV0ZWN0ZWQuDQo+ID4gPg0KPiA+ID4gTW9yZSBwcmVjaXNlbHksIGEgY29udGV4 dHVhbCBjb25mbGljdCAqd2FzKiBkZXRlcm1pbmVkIGJldHdlZW4gdGhlDQo+ID4gPiBwYXRjaGVz LCBidXQgdGhhdCBjb25mbGljdCB3YXMgYXV0by1yZXNvbHZlZC4NCj4gPiA+DQo+ID4gPiBUaGlz IGlzIHJpc2t5IHdoZW4gZG9uZSBpbiBhbiBhdXRvbWF0ZWQgZmFzaGlvbi4gSXQgaXMgYW4gZXh0 cmVtZWx5DQo+ID4gPiBjb252ZW5pZW50IGZlYXR1cmUgb2YgZ2l0LCB3aGVuIHVzZWQgaW50ZXJh Y3RpdmVseTsgdGhhdCBpcywgd2hlbiB0aGUNCj4gPiA+IGF1dG8tbWVyZ2UgKGF1dG9tYXRpYyBj b25mbGljdCByZXNvbHV0aW9uKSBpcyBzZW1hbnRpY2FsbHkgdmVyaWZpZWQgYnkgYQ0KPiA+ID4g aHVtYW4uIEdpdCB0YWtlcyBhd2F5IHRoZSBjaG9yZSBvZiBjb25mbGljdCByZXNvbHV0aW9uLCBw cmVzZW50cyBhDQo+ID4gPiAibGlrZWx5IGdvb2QiIGVuZCByZXN1bHQsIGFuZCBhIGh1bWFuIG9u bHkgbmVlZHMgdG8gKmxvb2sqIGF0IHRoZSBlbmQNCj4gPiA+IHJlc3VsdCwgbm90ICppbXBsZW1l bnQqIGl0Lg0KPiA+ID4NCj4gPiA+IEJ1dCB0aGF0ICJodW1hbiBsb29rIiBpcyBleGFjdGx5IHdo YXQncyBtaXNzaW5nIGZyb20gbWVyZ2lmeS4NCj4gPiA+DQo+ID4gPiBCYXNpY2FsbHkgd2hhdCBJ J2QgbGlrZSBmb3IgbWVyZ2lmeSBpcyB0byB0dXJuIG9mZiBhdXRvbWF0aWMgY29uZmxpY3QNCj4g PiA+IHJlc29sdXRpb24uDQo+ID4gPg0KPiA+ID4gTW9yZSBvciBsZXNzLCBzcGVha2luZyBpbiB0 ZXJtcyBvZiB0aGUgc3RhbmQtYWxvbmUgInBhdGNoIiB1dGlsaXR5DQo+ID4gPiA8aHR0cHM6Ly9t YW43Lm9yZy9saW51eC9tYW4tcGFnZXMvbWFuMS9wYXRjaC4xLmh0bWw+LCBteSBwcmVmZXJlbmNl IGlzDQo+ID4gPiB0byBzZXQgdGhlICJmdXp6IGZhY3RvciIgdG8gemVyby4NCj4gPiA+DQo+ID4g Pg0KPiA+ID4gT25lIHdheSBhIGh1bWFuIHJldmlld3Mgc3VjaCBjb250ZXh0IGRpZmZlcmVuY2Vz IGlzIHdpdGggZ2l0LXJhbmdlLWRpZmYuDQo+ID4gPiBDb250aW51aW5nIG15IHByZXZpb3VzIGV4 YW1wbGUgY29tbWFuZHM6DQo+ID4gPg0KPiA+ID4gJCBnaXQgcmFuZ2UtZGlmZiAtLWNvbG9yIG1h c3Rlci4uYjIgYjEuLmIyLXJlYmFzZQ0KPiA+ID4NCj4gPiA+IDE6ICAwMmRjODFlNThiZDYgISAx OiAgMmNmMzlkNGIxNzkwIHdvcmxkDQo+ID4gPiAgICAgQEAgLTYsOCArNiw4IEBADQo+ID4gPiAg ICAgIC0tLSBhL1JlYWRNZS5yc3QNCj4gPiA+ICAgICAgKysrIGIvUmVhZE1lLnJzdA0KPiA+ID4g ICAgICBAQA0KPiA+ID4gICAgIC0NCj4gPiA+ICAgICAgIEEgbW9kZXJuLCBmZWF0dXJlLXJpY2gs IGNyb3NzLXBsYXRmb3JtIGZpcm13YXJlIGRldmVsb3BtZW50DQo+ID4gPiAgICAgKyAgIEhFTExP DQo+ID4gPiAgICAgICBlbnZpcm9ubWVudCBmb3IgdGhlIFVFRkkgYW5kIFBJIHNwZWNpZmljYXRp b25zIGZyb20gd3d3LnVlZmkub3JnLg0KPiA+ID4gICAgICArICBXT1JMRA0KPiA+ID4NCj4gPiA+ IFRoaXMgb3V0cHV0IHNob3dzIHRoYXQgdGhlICJ3b3JsZCIgYWRkaXRpb24gaXMgdGhlIHNhbWUg KGl0IGlzIGlkZW50aWNhbA0KPiA+ID4gYmV0d2VlbiBwcmUtcmViYXNlIGFuZCBwb3N0LXJlYmFz ZSBpbiB0aGUgY29tbWl0KSwgYnV0IHRoZSBjb250ZXh0IGhhcw0KPiA+ID4gY2hhbmdlZC4gRHVy aW5nIHRoZSByZWJhc2UsIHRoZSBsZWFkaW5nIGVtcHR5IGxpbmUgb2YgdGhlIGNvbnRleHQNCj4g PiA+IGRpc2FwcGVhcmVkLCBhbmQgYSBIRUxMTyBsaW5lIGluIHRoZSBtaWRkbGUgb2YgdGhlIGxl YWRpbmcgY29udGV4dA0KPiA+ID4gYXBwZWFyZWQuDQo+ID4gPg0KPiA+ID4gVGhpcyByZXN1bHQg bWF5IG9yIG1heSBub3QgYmUgc2VtYW50aWNhbGx5IGNvcnJlY3Q7IGl0IG5lZWRzIGEgaHVtYW4N Cj4gPiA+IGRlY2lzaW9uLiBXaGF0IGlmIHRoZSBvcmlnaW5hbCBwdXJwb3NlIG9mIHRoZSAid29y bGQiIHBhdGNoIGF1dGhvciB3YXMNCj4gPiA+IHRvIHNheSBXT1JMRCBidXQgb25seSB3aXRob3V0 IEhFTExPPyBXaGVuIHRoZXkgbG9va2VkIGF0IHRoZSBjb2RlLA0KPiA+IHRoZXJlDQo+ID4gPiB3 YXMgbm8gSEVMTE8geWV0Lg0KPiA+ID4NCj4gPiA+IGdpdC1yYW5nZS1kaWZmIGlzIHZlcnkgcG93 ZXJmdWwsIGJ1dCByZWFkaW5nIGl0cyBvdXRwdXQgdGFrZXMgc29tZQ0KPiA+ID4gZ2V0dGluZyB1 c2VkIHRvLiAoQ29sb3JpemF0aW9uIHdpdGggdGhlICItLWNvbG9yIiBvcHRpb24gaXMgYmFzaWNh bGx5DQo+ID4gPiByZXF1aXJlZCBmb3IgdW5kZXJzdGFuZGluZzsgSSBjYW4ndCByZXByb2R1Y2Ug aXQgaW4gdGhpcyBlbWFpbCwgYWxhcy4pDQo+ID4gPg0KPiA+ID4gSSBkb24ndCB3YW50IHRvIG9i c2VzcyBhYm91dCB0aGlzIGZvcmV2ZXIsIEkganVzdCB3YW50IHVzIGFsbCB0byBiZQ0KPiA+ID4g YXdhcmUgdGhhdCB0aGlzIHJpc2sgZXhpc3RzLg0KPiA+ID4NCj4gPiA+IFRoYW5rcywNCj4gPiA+ IExhc3psbw0KPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gSSB0aGVuIGNyZWF0ZWQgMiBuZXcgUFJz IHRoYXQgYWRkZWQgdGV4dCB0byB0aGUgc2FtZSBsaW5lICMgaW4NCj4gPiBSZWFkbWUucnN0Lg0K PiA+ID4gPg0KPiA+ID4gPiAgICAgaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyLWNv ZGVyZXZpZXcvcHVsbC8yMQ0KPiA+ID4gPiAgICAgaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29y ZS9lZGsyLWNvZGVyZXZpZXcvcHVsbC8yMg0KPiA+ID4gPg0KPiA+ID4gPiBQUiAjMjEgcGFzc2Vk IGFsbCBDSSB0ZXN0cyBhbmQgd2FzIG1lcmdlZC4gIE1lcmdpZnkgdGhlbiBhdHRlbXB0ZWQgdG8N Cj4gPiA+ID4gcmViYXNlICMyMiBhbmQgZ290IGEgbWVyZ2UgY29uZmxpY3QgYW5kIGlzIHN0aWxs IGluIHRoZSBvcGVuIHN0YXRlIHdhaXRpbmcNCj4gPiA+ID4gZm9yIHRoZSBkZXZlbG9wZXIgdG8g bWFudWFsbHkgaGFuZGxlIHRoZSBtZXJnZSBjb25mbGljdC4NCj4gPiA+DQo+ID4gPiBUaGlzIGNh c2UgaXMgbm90IHdvcnJpc29tZTsgd2hlbiB0aGVyZSBpcyBhIGNsZWFyIGNvbmZsaWN0IHRoYXQg Y2Fubm90IGJlDQo+ID4gYXV0by1yZXNvbHZlZCwgSSdtIG5vdCBjb25jZXJuZWQuDQo+ID4gPg0K PiA+ID4gTXkgY29uY2VybiBpcyB0aGUgc25lYWt5IGNvbnRleHR1YWwgY29uZmxpY3QgdGhhdCAq YXBwZWFycyogYXV0by1yZXNvbHZhYmxlLA0KPiA+IGJ1dCBpcyBzZW1hbnRpY2FsbHkgYnJva2Vu LiBUaG9zZSB0aGluZ3MNCj4gPiA+IGV4aXN0Lg0KPiA+ID4NCj4gPiA+IFRoYW5rcw0KPiA+ID4g TGFzemxvDQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPg0KPiA+DQo+ID4N Cj4gPg0KPiA+DQo+IA0KPiANCj4gDQo+IA0KPiANCj4gDQo+IA0KDQo=