From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web08.4577.1610518584717135294 for ; Tue, 12 Jan 2021 22:16:24 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=dmc4mdP4; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: hao.a.wu@intel.com) IronPort-SDR: ALX0TzYtGGLACAMnnqy+WV2qrHI9dYEgFaCLcoxYmi3dSv2b15++gCAA3HZksJsTm0OBRkRJHj Vhk39utbbJyA== X-IronPort-AV: E=McAfee;i="6000,8403,9862"; a="165245187" X-IronPort-AV: E=Sophos;i="5.79,343,1602572400"; d="scan'208";a="165245187" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2021 22:16:23 -0800 IronPort-SDR: +twfrN8hCmo5gGNtFbVG3qyO6fES037bwjvkBaa2JGiSgmyGbzn+1imSnuI+hfdsGi12sR/kBI T0qbmELDaeXQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,343,1602572400"; d="scan'208";a="404723098" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by FMSMGA003.fm.intel.com with ESMTP; 12 Jan 2021 22:16:23 -0800 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 12 Jan 2021 22:16:22 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) 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 via Frontend Transport; Tue, 12 Jan 2021 22:16:22 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.43) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Tue, 12 Jan 2021 22:16:22 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=POq/uNZ9TAECm+tlGKmi+uWb+AfksVEDYrbb8FyqK+YxMXCzI1DbzwrZSdznL3xVlcyn1nLbJI+OW2haHeKIml5s6LICrLJJN36oibwdPqLf1MCLPhnIGquP1nqZ5FXeXvUd6Rz80r9MZbhCFONtKgrZICQ3MxHGH4YGxDDFEU3teCswl5N52e4a6N4FWOuoFUBjks2m8oTf8ndnoDuYBiUeDlw2nQVl9oWMkZTjV7ycxT0T6dm/RYz9jCfGT2h4gbOV+hsqI6OsyQQM4B1v7soitQM9olmYKN7O6AG1oRBJTEuCXYD33XwY8DPELP2RaPQZc2xpG+Db/Q3sBS9SyA== 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=D7J7ReVWFJXCTYh3JT9NAc5ym5K6KMWlvoSrClDDSmE=; b=R3SUfNMFwZ4tHPA5qrdxx3jVHeo6IHMyDKMca+na3WidrrVQXmJZ9ZkGUQDj2uCPOHXBF7zIZaSPaQb8lwtHBhpk2s4R7JJKN4HjHqzdB8PaWN3r2nHyH4Yq3BAl5H7VPUd9ecup/gr+gT9Zn7V/deNKM1veDZKap1HwnfN9ZskbJW4lR0wFUbaj5yx23GgrTf0sioeLFyKMQd44cSsljtpATITbrueHMmbNMzrU/lP6uo54SEMCP4/Rb6Y5WnIV2/Rt3hJ072Dx1Y6soTogp4l2+w7CNkRq/yjKdQ1y86P5qJiUlAleSq5anABMuEKMDgQCHa0lDY3AxgXduP9P3Q== 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=D7J7ReVWFJXCTYh3JT9NAc5ym5K6KMWlvoSrClDDSmE=; b=dmc4mdP4g9SQOaPHk97Cwno5u5zhvc9lotpjMksk0FDr5eTA+e6+9wk7t1GOGZTEa9qRrY19a9/LAsubxdT8gmUfGS4f/6lwNU/iZs5CFpZXdAQKyjs+U+htvfG+7l5eGq6N9dyXO0DvB/NPZapjx3iyYQEI7KxM55cv2QcVU5E= Received: from BN8PR11MB3666.namprd11.prod.outlook.com (2603:10b6:408:8c::19) by BN6PR11MB1634.namprd11.prod.outlook.com (2603:10b6:405:c::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.9; Wed, 13 Jan 2021 06:16:19 +0000 Received: from BN8PR11MB3666.namprd11.prod.outlook.com ([fe80::d11e:3b2:e34f:7f0f]) by BN8PR11MB3666.namprd11.prod.outlook.com ([fe80::d11e:3b2:e34f:7f0f%5]) with mapi id 15.20.3763.010; Wed, 13 Jan 2021 06:16:19 +0000 From: "Wu, Hao A" To: "Luo, Heng" , "Ni, Ray" , "Laszlo Ersek" , "devel@edk2.groups.io" CC: "Kinney, Michael D" Subject: Re: [edk2-devel] [Patch V3 2/2] MdeModulePkg/Bus/Pci/PciBusDxe: Support PCIe Resizable BAR Capability Thread-Topic: [edk2-devel] [Patch V3 2/2] MdeModulePkg/Bus/Pci/PciBusDxe: Support PCIe Resizable BAR Capability Thread-Index: AQHW4mc//McFRNhEhkScVihm5VCAFKoi3byAgABymwCAAcxw0IAAAv8AgAACX4CAAAAuUA== Date: Wed, 13 Jan 2021 06:16:19 +0000 Message-ID: References: <20210104065954.3901-1-heng.luo@intel.com> <20210104065954.3901-2-heng.luo@intel.com> <9a081622-94c8-d921-1631-b595f189c807@redhat.com> 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: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.218] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5b2ddfa5-107b-4579-4dd9-08d8b78abe26 x-ms-traffictypediagnostic: BN6PR11MB1634: 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: BJrM5zIWOHSRcvYW/9TGk6alE3rL2NaCrEqQv4GwJE7mHl0xT12x6741D6mseXwHohraSic2dQhEuSM2oyhAkjQUfT1nRA1NsdGihZyL00TdcLAYdZY8sNvPNye99qcNb3kpmFtvGIbdIcBdXQPD8VkTn7tXLWz+MMfzQHyu9P1wy92VIinFVdi2L2feQ+gQnORUIff4745jaXIuNtM9FId9W9r59f2KIEIOMX3P6i9RCKBUEdAsZL9FZGZwIj6+0W2q1ZB9iG+ILPZiF/kPGC3Ti6vhgp4VSEn3RaaqdAcxnIv6ZuRNp11pnBm41Qs5ABeFs4QvsfKn/sDFpaiiXT94RDtUntHz9MbgqP0Yo8jpJLjlnyDpggFoIIm+8dfPCYhy+NDiCM1qMX2xscC86Hfi+hQJC1/hVCX3kqMjg4RsVybCw6zdp4GAFwz/M4jSGdjDKzZKSDzs9DvBIpKoQA== 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)(396003)(346002)(136003)(366004)(39860400002)(376002)(7696005)(110136005)(6506007)(66946007)(66556008)(66446008)(64756008)(66476007)(76116006)(8936002)(107886003)(966005)(53546011)(71200400001)(4326008)(33656002)(8676002)(9686003)(86362001)(316002)(83380400001)(478600001)(26005)(186003)(52536014)(55016002)(5660300002)(2906002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?Um5QWnl0UjVXK0dJTlVOeTJwMVpJZDh2UmQrZDlnTSs2WE5qSTk1dzI2d3la?= =?utf-8?B?WVp1OU5Ic0g0MDc0SVN2aTg4aEpMWS9SYkU3M1NCY1E1RTdaYTRhcUlpOURL?= =?utf-8?B?SzhqeVovT3RzY2tSZHhZU3ZaWWVlelVUSGEvQzYrYmltYTlqeFNwVzFNdHhi?= =?utf-8?B?c1hYU25lak1xNlpvZkc1aVhWV0hzaTQ2emIzbEQzQ0tXWU5EZmZ3MW94QzYx?= =?utf-8?B?NWRsMWZRdEdrY3hPclFGT214ZkR0M3pWRmJFdHErOWtmSlJRYnhVZmU3amhQ?= =?utf-8?B?OW1zUXM4UXhUNXV4ZnlOM2p6bkFKQUViTGF1WjFqdXMyZlA5NnFLZHBWLzJI?= =?utf-8?B?NHYrWFJxWlVOV0VNWkdDU1VucU1wS3JYT3hPQ1JlTkFQang0ZGpSTEtCeTJR?= =?utf-8?B?WU13NmdCTUY2b3RoNVZ1OGxaU3RpRGpDcGFIQStYbjRGKzEySjNtNkNUWitB?= =?utf-8?B?QjJwb045WW5qcEVKcXcrWDlNb2FQNGtWdEd3b0FmTCtzVjdEQU11c1hPd2xz?= =?utf-8?B?Vk5GM2JUdkE2aHAzSU80NXN4bkZiOHRkK011bXV2Y20ra3luTm1kYUFUVUhJ?= =?utf-8?B?K3AwNmk1cUpXOEh4ZnBwcXNLQThNRUtMb0VSQXpqUzZSMkxNcFVDejY1d3o5?= =?utf-8?B?aTRuLzF3aWZEV0pGWGFSZzNUUGNSZFRUN2NJVHBJYVhIdjlCQUxwT3QwZkZk?= =?utf-8?B?bE9kUld0L0RLWFRhOEpiTEF5T1NBZldSWlFTejZHTndReEFhNDVpbzc5aTMw?= =?utf-8?B?UXhRaHN2NURnOThIem9jczBaN1VBRlZuZkdUOXVPaTlWeXE4dERrYjFjZTdH?= =?utf-8?B?ejlFUkQ4UE5HK2ZwM1RlY3k0bzQ2MEE2S0NmeVdWZExoZzRWaHl5aFVGWm54?= =?utf-8?B?VFJNTC9yQ0MvWDJxMm5NUkN5RStMS2JpVHJQOGcvUVVJQVhBY3JVS2NreHZ1?= =?utf-8?B?ZFRpeS9FNnZaQXBsN2V0SG1iM01lS1JXZHV6SUVGeGJuYzFvdGV4cU1VMzA4?= =?utf-8?B?Zm5ZZHV4ZzMwZFNYK2tNS2dBVjgvNWNYekNsU1VYeFQya2xMNU5WeHJ3eGNF?= =?utf-8?B?SDV5bGRDdS9ZZXRHODRGZFBRbnZSMExUVGJUZDJGNUlFbW15YTJZL2szZXdN?= =?utf-8?B?YjVHSlZIRWx1R3NLRDZEdmw3OXo0SXZXZHRyWlVKQm5VUWxNSUZmZDNESXRq?= =?utf-8?B?ZG1Ea1dhY1ROemhtYjA1MkxyVk9UekYwdWsxMGZ2T0p2VURjYnYzM1BZWWdO?= =?utf-8?B?ZWdoZlhNaWNPWGtUSGM5THgyOS83SSttbnNCbWw0cWQ4YzBIZnpVaFRIS21i?= =?utf-8?Q?DneBnipFSLvGE=3D?= 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: 5b2ddfa5-107b-4579-4dd9-08d8b78abe26 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jan 2021 06:16:19.5337 (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: l25WJaddhZ94L7CnEBFLNLTwLgTAYCLnvfMkHJH0ckie9nUxvPen/yb5l5I0By7x7bjjGbnvYLB5KeAX1DoOxg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1634 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 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBMdW8sIEhlbmcgPGhlbmcubHVv QGludGVsLmNvbT4NCj4gU2VudDogV2VkbmVzZGF5LCBKYW51YXJ5IDEzLCAyMDIxIDI6MTUgUE0N Cj4gVG86IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+OyBXdSwgSGFvIEEgPGhhby5hLnd1QGlu dGVsLmNvbT47IExhc3psbw0KPiBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+OyBkZXZlbEBlZGsy Lmdyb3Vwcy5pbw0KPiBDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50 ZWwuY29tPg0KPiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQYXRjaCBWMyAyLzJdIE1kZU1v ZHVsZVBrZy9CdXMvUGNpL1BjaUJ1c0R4ZToNCj4gU3VwcG9ydCBQQ0llIFJlc2l6YWJsZSBCQVIg Q2FwYWJpbGl0eQ0KPiANCj4gSGkgSGFvLA0KPiBQbGVhc2UgaG9sZCBvbiBtZXJnaW5nIHBhdGNo IG5vdywgd2UgYXJlIHN0aWxsIHdhaXRpbmcgZm9yIHNvbWUgaW5wdXRzLCBJIHdpbGwNCj4gbGV0 IHlvdSBrbm93IHdoZW4gd2UgcmVhY2ggYWdyZWVtZW50Lg0KDQoNCkdvdCBpdC4gVGhhbmtzIEhl bmcuDQoNCkJlc3QgUmVnYXJkcywNCkhhbyBXdQ0KDQoNCj4gDQo+IFRoYW5rcywNCj4gSGVuZw0K PiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IE5pLCBSYXkgPHJh eS5uaUBpbnRlbC5jb20+DQo+ID4gU2VudDogV2VkbmVzZGF5LCBKYW51YXJ5IDEzLCAyMDIxIDI6 MDcgUE0NCj4gPiBUbzogV3UsIEhhbyBBIDxoYW8uYS53dUBpbnRlbC5jb20+OyBMYXN6bG8gRXJz ZWsgPGxlcnNla0ByZWRoYXQuY29tPjsNCj4gPiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgTHVvLCBI ZW5nIDxoZW5nLmx1b0BpbnRlbC5jb20+DQo+ID4gQ2M6IEtpbm5leSwgTWljaGFlbCBEIDxtaWNo YWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQ YXRjaCBWMyAyLzJdDQo+IE1kZU1vZHVsZVBrZy9CdXMvUGNpL1BjaUJ1c0R4ZToNCj4gPiBTdXBw b3J0IFBDSWUgUmVzaXphYmxlIEJBUiBDYXBhYmlsaXR5DQo+ID4NCj4gPiBJJ3ZlIGdpdmVuIFIt YiB0byB0aGUgdHdvIHBhdGNoZXMuIE5vIGNvbW1lbnRzIGZyb20gbXkgc2lkZS4NCj4gPg0KPiA+ ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IFd1LCBIYW8gQSA8aGFv LmEud3VAaW50ZWwuY29tPg0KPiA+ID4gU2VudDogV2VkbmVzZGF5LCBKYW51YXJ5IDEzLCAyMDIx IDI6MDAgUE0NCj4gPiA+IFRvOiBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsgTGFzemxvIEVy c2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47DQo+ID4gPiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgTHVv LCBIZW5nIDxoZW5nLmx1b0BpbnRlbC5jb20+DQo+ID4gPiBDYzogS2lubmV5LCBNaWNoYWVsIEQg PG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4gU3ViamVjdDogUkU6IFtlZGsyLWRl dmVsXSBbUGF0Y2ggVjMgMi8yXQ0KPiBNZGVNb2R1bGVQa2cvQnVzL1BjaS9QY2lCdXNEeGU6DQo+ ID4gPiBTdXBwb3J0IFBDSWUgUmVzaXphYmxlIEJBUiBDYXBhYmlsaXR5DQo+ID4gPg0KPiA+ID4g PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiBGcm9tOiBOaSwgUmF5IDxyYXku bmlAaW50ZWwuY29tPg0KPiA+ID4gPiBTZW50OiBUdWVzZGF5LCBKYW51YXJ5IDEyLCAyMDIxIDEw OjI4IEFNDQo+ID4gPiA+IFRvOiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsgZGV2 ZWxAZWRrMi5ncm91cHMuaW87IEx1bywNCj4gPiA+ID4gSGVuZyA8aGVuZy5sdW9AaW50ZWwuY29t Pg0KPiA+ID4gPiBDYzogV3UsIEhhbyBBIDxoYW8uYS53dUBpbnRlbC5jb20+OyBLaW5uZXksIE1p Y2hhZWwgRA0KPiA+ID4gPiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4gPiA+IFN1 YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BhdGNoIFYzIDIvMl0NCj4gPiBNZGVNb2R1bGVQa2cv QnVzL1BjaS9QY2lCdXNEeGU6DQo+ID4gPiA+IFN1cHBvcnQgUENJZSBSZXNpemFibGUgQkFSIENh cGFiaWxpdHkNCj4gPiA+ID4NCj4gPiA+ID4gPiA+IEl0IHNlZW1zIGxpa2UgdGhlIG1heCBCQVIg c2l6ZSBpcyBzZWxlY3RlZCBmaXJzdCwgYnV0IGlmDQo+ID4gPiA+ID4gPiB0aGVyZSdzIGEgInJl c291cmNlIGNvbmZsaWN0IiAocnVubmluZyBvdXQgb2YgYSBwYXJ0aWN1bGFyDQo+ID4gPiA+ID4g PiByZXNvdXJjZSB0eXBlIGFwZXJ0dXJlKSwgdGhlbiB0aGUgbWluaW11bSBCQVIgc2l6ZSBpcw0K PiA+ID4gPiA+ID4gc2VsZWN0ZWQuIEkgZG9uJ3Qga25vdyB3aGF0IHNldCBvZiBkZXZpY2VzIGFu ZC9vciByZXNpemFibGUNCj4gPiA+ID4gPiA+IEJBUnMgdGhpcyBsb2dpYyBhcHBsaWVzIHRvLCBp ZiB0aGVyZSBhcmUgbXVsdGlwbGUgb2YgdGhlbS4NCj4gPiA+ID4NCj4gPiA+ID4gPiA+IFBlciB0 aGUgUENJZSBzcGVjaWZpY2F0aW9uIChyZXZpc2lvbiA1LjAsIHZlcnNpb24gMC45KSA3LjguNjoN Cj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgIFNvZnR3YXJlIGRldGVybWluZXMsIHRocm91Z2gg YSBwcm9wcmlldGFyeSBtZWNoYW5pc20sIHdoYXQgdGhlDQo+ID4gPiA+ID4gPiAgIG9wdGltYWwg c2l6ZSBpcyBmb3IgdGhlIHJlc291cmNlLCBhbmQgcHJvZ3JhbXMgdGhhdCBzaXplIHZpYSB0aGUg QkFSDQo+ID4gPiA+ID4gPiAgIFNpemUgZmllbGQgb2YgdGhlIFJlc2l6YWJsZSBCQVIgQ29udHJv bCByZWdpc3Rlci4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBGdXJ0aGVybW9yZSwgVGFibGUg Ny0xMTQgZGVmaW5lcyB0aGUgQmFyIFNpemUgZmllbGQgb2YgdGhlDQo+ID4gPiA+ID4gPiBjb250 cm9sIHJlZ2lzdGVyIHN0YXRpbmc6DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICBUaGUgZGVm YXVsdCB2YWx1ZSBvZiB0aGlzIGZpZWxkIGlzIGVxdWFsIHRvIHRoZSBkZWZhdWx0IHNpemUgb2Yg dGhlDQo+ID4gPiA+ID4gPiAgIGFkZHJlc3Mgc3BhY2UgdGhhdCB0aGUgQkFSIHJlc291cmNlIGlz IHJlcXVlc3RpbmcgdmlhIHRoZSBCQVIncw0KPiA+ID4gPiA+ID4gICByZWFkLW9ubHkgYml0cy4N Cj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBUaGVyZWZvcmUgdGhlIG1heGltdW0gc2l6ZSBpcyBu b3QgbmVjZXNzYXJpbHkgb3B0aW1hbCwgbm9yDQo+ID4gPiA+ID4gPiBzaG91bGQgdGhlIG1pbmlt dW0gc2l6ZSBiZSBjb25zaWRlcmVkIHRoZSBkZWZhdWx0LiAgSW4gZmFjdCwNCj4gPiA+ID4gPiA+ IFt3ZV0gdGVzdGVkIHZhcmlvdXMgaGFuZG9mZiBCQVIgc2l6ZXMgZm9yIFthIHBhcnRpY3VsYXJd IEdQVQ0KPiA+ID4gPiA+ID4gYW5kIGZvdW5kIHRoYXQgV2luZG93cyBkaWRuJ3QgbGlrZSB0aGUg bWF4aW11bSBCQVIgc2l6ZS4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBFbHNld2hlcmUgaW4g dGhlIGRpc2N1c3Npb24gWzFdIHRoZSBBTUQgYXV0aG9yIG9mIHRoZSBrZXJuZWwNCj4gPiA+ID4g PiA+IHN1cHBvcnQgZm9yIHJlc2l6ZWFibGUgQkFScyBpbmRpY2F0ZXMgdGhhdCBGUEdBIGRldmlj ZXMgbWlnaHQNCj4gPiA+ID4gPiA+IGltcGxlbWVudCB0aGUgUkVCQVIgY2FwYWJpbGl0eSBhcyBw YXJ0IG9mIHRoZWlyIHN0YW5kYXJkIFBDSQ0KPiA+ID4gPiA+ID4gd3JhcHBlciAoW291cl0gaW50 ZXJwcmV0YXRpb24pLCBidXQgdGhlIEJBUiB1c2FnZSB3b3VsZCBiZQ0KPiA+ID4gPiA+ID4gZGV0 ZXJtaW5lZCBieSB0aGUgYWN0dWFsIGJpdHN0cmVhbSB3cml0dGVuIHRvIHRoZSBkZXZpY2UsDQo+ ID4gPiA+ID4gPiB0aGVyZWZvcmUgdGhlcmUgbWlnaHQgYmUgYSBmdWxsIGJpdG1hc2sgZm9yIHRo ZSBCQVIgc2l6ZXMNCj4gPiA+ID4gPiA+IHN1cHBvcnRlZA0KPiA+IGJ5IHRoZSBkZXZpY2UuDQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gWzFdDQo+ID4gPiA+ID4gPiBodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9kcmktZGV2ZWwvMjAyMS1KYW51YXJ5Lw0KPiA+ID4gPiA+ ID4gdGgNCj4gPiA+ID4gPiA+IHJlYWQNCj4gPiA+ID4gPiA+IC5odG1sDQo+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gSXQgd291bGQgY2VydGFpbmx5IG1ha2Ugc2Vuc2UgZm9yIHRoZSBmaXJtd2Fy ZSB0byB0YWtlIFJFQkFSDQo+ID4gPiA+ID4gPiBjYXBhYmlsaXRpZXMgaW50byBhY2NvdW50IHdo ZW4gc2l6aW5nIGJyaWRnZSBhcGVydHVyZXMsIGJ1dCB0bw0KPiA+ID4gPiA+ID4gZ2VuZXJpY2Fs bHkgZW5hYmxlIGV4dGVuZGVkIEJBUiBzaXplcyB3b3VsZCBtYWtlIGxvdHMgb2YNCj4gPiA+ID4g PiA+IGFzc3VtcHRpb25zIGFib3V0IHRoZSBkZXZpY2UgdXNhZ2UgYW5kIGNvbXBhdGliaWxpdHku DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gWy4uLl0gQXQgbGVhc3QgZm9yIEdQVXMgdGhlIGV4 cGVjdGF0aW9uIHdvdWxkIGJlIGEgZGVmYXVsdCwNCj4gPiA+ID4gPiA+IHNtYWxsZXIgY29tcGF0 aWJpbGl0eSBzaXplIGV4cGFuZGluZyB0byBzb21lIHJlcHJlc2VudGF0aW9uDQo+ID4gPiA+ID4g PiB0aGF0IGFsbG93cyBkaXJlY3QgRE1BIHRvIHRoZSBlbnRpcmUgbWVtb3J5IG9mIHRoZSBjYXJk Lg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gU28gdGhpcyBwYXRjaCBzaG91bGQgZWl0aGVyIGJlIHJl dmVydGVkOyBvciBtaW5pbWFsbHksIHRoZQ0KPiA+ID4gPiA+IGRlZmF1bHQgdmFsdWUgb2YgIlBj ZFBjaWVSZXNpemFibGVCYXJTdXBwb3J0IiBzaG91bGQgYmUgc2V0IHRvDQo+ID4gPiA+ID4gRkFM U0UsIGFzIHRoZSBwb2xpY3kgZm9yIEJBUiBzaXppbmcgZG9lc24ndCBsb29rIHJvYnVzdCBvciBw b3J0YWJsZS4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gR2VuZXJhbCByZXF1ZXN0 IGZvciB0aGUgZnV0dXJlOiBpZiB5b3UgaW1wbGVtZW50IHNvbWUga2luZCBvZg0KPiA+ID4gPiA+ IHBvbGljeSBpbiBjb3JlIGVkazIsIHBsZWFzZSBhdCBsZWFzdCAqZG9jdW1lbnQqIHRoZSBwb2xp Y3kNCj4gPiA+ID4gPiBzb21ld2hlcmUuIEl0J3MgdW5hY2NlcHRhYmxlIHRvIGhhdmUgdG8gZGVj aXBoZXIgdGhlIHNvdXJjZSBjb2RlDQo+ID4gPiA+ID4gZm9yIHN1Y2ggYSBwb3NzaWJseSBpbXBh Y3RmdWwgY2hhbmdlIGluIHRoZSBjb3JlLiBUaGVyZSBpcyBubw0KPiA+ID4gPiA+IG5lZWQgZm9y IGEgd2lraSBwYWdlIG9yIGFuIFJGQywgYnV0IGEgc2FuZSBidWd6aWxsYSB0aWNrZXQgYW5kIGEN Cj4gPiA+ID4gPiBzYW5lIGNvbW1pdA0KPiA+IG1lc3NhZ2UgYXJlIHJlcXVpcmVkLg0KPiA+ID4g PiA+DQo+ID4gPiA+ID4gKFRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZSBQQ0QgaW4gdGhlICJNZGVN b2R1bGVQa2cuZGVjIiBmaWxlIGlzDQo+ID4gPiA+ID4gdW5zYXRpc2ZhY3RvcnkgdG9vLCBhbmQg dGhlIFVOSSBmaWxlIGhhcyBub3QgYmVlbiB1cGRhdGVkIGF0DQo+ID4gPiA+ID4gYWxsLikNCj4g PiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiBZb3VyIHVuZGVyc3Rh bmRpbmcgaXMgY29ycmVjdC4gT3JpZ2luYWwgaWRlYSBpcyB0byBsZXQgcGxhdGZvcm0NCj4gPiA+ ID4gc3VwcGx5IHRoZQ0KPiA+ID4gcG9saWN5DQo+ID4gPiA+IGFib3V0IHdoYXQgdGhlIG9wdGlt YWwgQkFSIHNpemUgaXMgZm9yIGVhY2ggcmVzaXphYmxlIEJBUi4NCj4gPiA+ID4gVGhlIGN1cnJl bnQgaW1wbGVtZW50YXRpb24gaXMgYSB0cnkgdG8gYXZvaWQgYXNraW5nIHBsYXRmb3JtIGNvZGUN Cj4gPiA+ID4gZm9yIHN1Y2ggcG9saWN5IGJlY2F1c2Ugd2UgdGhvdWdodCBpdCdzIGEgYnVyZGVu IGZvciBwbGF0Zm9ybSB0bw0KPiA+ID4gPiBzdXBwbHkNCj4gPiB0aGUgcG9saWN5IGRhdGEuDQo+ ID4gPiA+DQo+ID4gPiA+IEkgYWdyZWUgdGhhdCB3ZSBzZXQgdGhlIFBDRCBkZWZhdWx0IHZhbHVl IGFzIGRpc2FibGVkIGFuZCBhZnRlciBhDQo+ID4gPiA+IHBlcmlvZCBvZiBzdHVkeSwgd2Ugd2ls bCB1bmRlcnN0YW5kIHdoZXRoZXIgYSBwbGF0Zm9ybSBwb2xpY3kgaXMNCj4gPiA+ID4gcmVhbGx5 DQo+ID4gbmVlZGVkLg0KPiA+ID4NCj4gPiA+DQo+ID4gPiBIZWxsbyBMYXN6bG8gYW5kIFJheSwN Cj4gPiA+DQo+ID4gPiBJIHNhdyBIZW5nJ3MgcGF0Y2ggc2VyaWVzIHRvDQo+ID4gPiAgIDEpIFNl dCB0aGUgUENEIGRlZmF1bHQgdmFsdWUgdG8gRkFMU0U6DQo+ID4gPiBodHRwczovL2VkazIuZ3Jv dXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS83MDEzOQ0KPiA+ID4gICAyKSBVcGRhdGUgdGhlIFVOSSBm aWxlOg0KPiA+ID4gaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvNzAxNDAN Cj4gPiA+IGhhcyBnb3QgUmV2aWV3ZWQtYnkvQWNrZWQtYnkgdGFncyBmcm9tIHJldmlld2Vycy4N Cj4gPiA+DQo+ID4gPiBEbyB5b3UgaGF2ZSBmdXJ0aGVyIGNvbW1lbnRzIGZvciB0aGUgc2VyaWVz Pw0KPiA+ID4gSWYgbm90LCBJIHdpbGwgbWVyZ2UgdGhpcyBjaGFuZ2UgaW4gdGhlIG5leHQgMjQg aG91cnMuDQo+ID4gPg0KPiA+ID4gVGhhbmtzIGluIGFkdmFuY2UuDQo+ID4gPg0KPiA+ID4gQmVz dCBSZWdhcmRzLA0KPiA+ID4gSGFvIFd1DQo+ID4gPg0KPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4g VGhhbmtzLA0KPiA+ID4gPiBSYXkNCg==