From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.24; helo=mga09.intel.com; envelope-from=siyuan.fu@intel.com; receiver=edk2-devel@lists.01.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id AB03120971733 for ; Mon, 28 Jan 2019 19:20:19 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Jan 2019 19:20:19 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,535,1539673200"; d="scan'208";a="295241900" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga005.jf.intel.com with ESMTP; 28 Jan 2019 19:20:18 -0800 Received: from fmsmsx101.amr.corp.intel.com (10.18.124.199) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.408.0; Mon, 28 Jan 2019 19:20:18 -0800 Received: from shsmsx107.ccr.corp.intel.com (10.239.4.96) by fmsmsx101.amr.corp.intel.com (10.18.124.199) with Microsoft SMTP Server (TLS) id 14.3.408.0; Mon, 28 Jan 2019 19:20:18 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.194]) by SHSMSX107.ccr.corp.intel.com ([169.254.9.162]) with mapi id 14.03.0415.000; Tue, 29 Jan 2019 11:20:16 +0800 From: "Fu, Siyuan" To: "Tomas Pilar (tpilar)" , "Wu, Jiaxin" , Laszlo Ersek , "edk2-devel@lists.01.org" CC: "Ye, Ting" Thread-Topic: [edk2] Network Stack Budgeting Thread-Index: AQHUswuHflmTSIZRT0GRThV4ftMA96W8f6AAgAAFHoCAAGJEgIAA3z4AgAANYgCAAAkvAIAAB4QAgAA46ICAAA8rAIAA+62AgAA5I4CAA8xroIAA3iyAgAGL/YA= Date: Tue, 29 Jan 2019 03:20:16 +0000 Message-ID: References: <6029fb15-3820-0f05-f02a-577e99592bbc@solarflare.com> <32137552-e2b0-4392-17c7-dedaa1f05244@redhat.com> <09017041-d418-1186-9942-dfa70d82c4d6@solarflare.com> <67f8fb4a-5e1b-8bbc-90d4-670ff7e3bfe8@redhat.com> <5185c0b2-031f-ec50-b273-2665d83ef38a@solarflare.com> <923ebd9f-ef26-c96d-37cc-5cc76f88fea1@solarflare.com> <770c5b55-32b1-c2f3-f3de-b25de5f2b37d@solarflare.com> <841c4437-ad73-64d5-0eb8-cfc0220cc55d@solarflare.com> <895558F6EA4E3B41AC93A00D163B727416ECCDAA@SHSMSX107.ccr.corp.intel.com> <642a0352-e098-dc90-c9aa-89443a7dde04@solarflare.com> <8ef796a4-c3f1-d97a-03c8-add7ff6430b6@solarflare.com> In-Reply-To: <8ef796a4-c3f1-d97a-03c8-add7ff6430b6@solarflare.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNzZmNTQxN2MtZWI3MS00MWIwLTgzYWEtY2ExYzdlMjc5NDM4IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiOTBPQ2pzXC9OXC9lbEFVc2hxSldTVktlZkx4enozSFgyTEFOWDZrMGdUVVY2aDM1b2l6NmJnQTNvbWlYWE8xbitPIn0= dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: Network Stack Budgeting X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jan 2019 03:20:19 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksIFRvbWFzDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogVG9tYXMg UGlsYXIgKHRwaWxhcikgW21haWx0bzp0cGlsYXJAc29sYXJmbGFyZS5jb21dDQo+IFNlbnQ6IE1v bmRheSwgSmFudWFyeSAyOCwgMjAxOSA3OjI0IFBNDQo+IFRvOiBGdSwgU2l5dWFuIDxzaXl1YW4u ZnVAaW50ZWwuY29tPjsgV3UsIEppYXhpbiA8amlheGluLnd1QGludGVsLmNvbT47IExhc3psbw0K PiBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiBD YzogWWUsIFRpbmcgPHRpbmcueWVAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW2VkazJdIE5l dHdvcmsgU3RhY2sgQnVkZ2V0aW5nDQo+IA0KPiBIaSBTaXl1YW4sDQo+IA0KPiBJIGhhZCB0byBk byBzb21lIHR3ZWFrcyBkdWUgdG8gdGhlIGZhY3QgdGhhdCBwZW9wbGUgaW4gdGhlIHdpbGQgd2Fu dCB0byBQWEUNCj4gYm9vdCB3aG9sZSBXRFMgaW5zdGFsbGF0aW9ucyB3aGljaCBhcmUgdXB3YXJk cyBvZiAzMDBNQi4NCj4gDQo+IEkgaGF2ZSBhbiBpbnRlcm5hbCBzZXQgb2YgcXVldWVzIHdoZXJl IHRoZSBOSUMgcmVjZWl2ZXMgaW50by4gU25wLlJlY2VpdmUoKQ0KPiB3aWxsIGdldCBhIHBhY2tl dCBmcm9tIHRoaXMgc3RvcmUuIEkgaGFkIHRvIGltcGxlbWVudCBhIHNlcGFyYXRlIHF1ZXVlIGZv cg0KPiB1bmljYXN0L211bHRpY2FzdC9icm9hZGNhc3QgdHJhZmZpYyBzbyB0aGF0IEkgY291bGQg cmVwcmlvcml0aXNlIGFuZCBkZWxpdmVyDQo+IHVuaWNhc3QgdHJhZmZpYyB3aGlsZSB1bmRlciBB UlAgc3BhbS4gSSB0aWVkIGludGVybmFsIHBvbGwgdG8gcmVjZWl2ZSBhbmQNCj4gdHJhbnNtaXQs IHNvIFNucC5SZWNlaXZlKCkgd2lsbCBwb2xsIHRoZSBOSUMgYW5kIHRoZW4gZGVxdWV1ZSBhIHBh Y2tldCB3aGlsZQ0KPiBTbnAuVHJhbnNtaXQoKSB3aWxsIHRyYW5zbWl0IHRoZSBwYWNrZXQgYW5k IHRoZW4gcG9sbCB0aGUgTklDIHRvIGdldCBhDQo+IGNvbXBsZXRpb24uIEkgYWxzbyBpbXBsZW1l bnRlZCBhIGJ1c3kgcG9sbCBmb3IgMTAwdXMgb3IgdW50aWwgdGhlIG5leHQgcGFja2V0DQo+IGNv bWVzIGluIHdoZW4gdGhlIE5JQyBpcyBwb2xsZWQuDQoNCkkgc2VlIHNvbWUgcHJvYmxlbXMgaGVy ZS4gQm90aCBTbnAuUmVjZWl2ZSgpIGFuZCBTbnAuVHJhbnNtaXQoKSBzaG91bGQgYmUgbm9uLWJs b2NraW5nDQppbnRlcmZhY2UgaW4gY3VycmVudCBkZXNpZ24gYW5kIFVFRkkgc3BlYywgYnV0IGl0 J3Mgbm90IHRydWUgaW4geW91ciBkcml2ZXIuDQpGb3IgUmVjZWl2ZSgpLCBpdCBjb3VsZCBwb2xs IHRoZSBOSUMgb25seSBvbmNlIGFuZCByZXR1cm4gZWl0aGVyIGEgcmVjZWl2ZWQgcGFja2V0DQpv ciBhbiBlcnJvciwgaXQgc2hvdWxkIG5vdCBkbyBhbnkgYmxvY2tpbmcgcG9sbCB0byB3YWl0IGZv ciBhIHBhY2tldC4NCkZvciBUcmFuc21pdCgpLCBpdCBqdXN0IG5lZWQgdG8gcHV0IHRoZSBwYWNr ZXQgaW50byB0aGUgVFggcXVldWUgYW5kIHJldHVybiBkaXJlY3RseSwNCndpdGhvdXQgY2hlY2tp bmcgaWYgdGhlIFRYIGlzIGNvbXBsZXRlZC4gSW5zdGVhZCBvZiB0aGF0LCBTbnAuR2V0U3RhdHVz KCkgc2hvdWxkIGJlDQp1c2VkIHRvIGNoZWNrIGlmIHRoZSBwYWNrZXQgaGFzIHJlYWxseSBiZWVu IHNlbnQgb3V0Lg0KDQpNYXkgSSBrbm93IGhvdyBkaWQgeW91IGNvbnRyb2wgdGhlIDEwMHVzIHRp bWVvdXQgb2YgdGhlIGJ1c3kgcG9sbCAoYnkgd2hpY2ggQVBJPyksDQphbmQgd2hhdCdzIHRoZSBU UEwgb2YgdGhpcyBidXN5IHBvbGw/DQoNCj4gDQo+IE90aGVyd2lzZSBJIGhhdmUgc2VlbiBhIHBh dGhvbG9naWNhbCBjYXNlIHdoZXJlIHRoZSBURlRQIGNsaWVudCB3b3VsZCBwdWxsIG9uZQ0KPiBw YWNrZXQgcGVyIHNlY29uZCBidXQgdGhlIFRGVFBfUkVUUkFOU01JVCBpbnRlcnZhbCBvbiB0aGUg c2VydmVyIHdhcyBhbHNvIG9uZQ0KPiBzZWNvbmQgYW5kIGV2ZXJ5dGhpbmcgd2FzIGF3ZnVsLg0K DQpXaHkgVEZUUCBjbGllbnQganVzdCBwdWxsIG9uZSBwYWNrZXQgcGVyIHNlY29uZD8gSSB0aGlu ayBpdOKAmXMgbm90IGNvcnJlY3QgYW5kIGl0DQpjb3VsZCB1c2UgdGhlIHBvbGwoKSBmdW5jdGlv biB0byBhY2NlbGVyYXRlIHRoZSByZWNlaXZlLiBXaHkgeW91IHRyeWluZyB0byBzb2x2ZSBhDQpU RlRQIGxheWVyIHByb2JsZW0gaW4gU05QIGxheWVyPyBJdCBicmVha3MgdGhlIGRlc2lnbiBwcmlu Y2lwbGUgb2YgbmV0d29yayBsYXllciBtb2RlbC4NCj4gDQo+IEluIHRoZW9yeSB0aGUgYnVzeSBw b2xsIG1vZGVyYXRvciBtaWdodCBjYXVzZSBhbiBpc3N1ZSBpbiBhIHBhdGhvbG9naWNhbCBjYXNl LA0KPiBpZiBpdCBzdGFsbHMgdGhlIG1hY2hpbmUgZm9yIDEwMHVzIGZvciBlYWNoIHBhY2tldCAt IHdpdGggMTAwIHBhY2tldHMgcGVyDQo+IHNlY29uZCB0aGlzIHdvdWxkIGVhdCBvbmx5IDEwbXMu DQoNCk5vdCBvbmx5IDEwbXMsIGl0J3MgYXQgbGVhc3QgMTBtcywgYW5kIGluIHRoZW9yeS4gSWYg eW91IGhhdmUgbXVsdGlwbGUgTklDcyBpbiB0aGUNCnN5c3RlbSwgdGhpcyB0aW1lIHdpbGwgZG91 YmxlLiBJZiBzb21lb25lIHRyaWVzIHRvIHBvbGwgdGhlIE5JQywgdGhlIHRpbWUgd2lsbCBpbmNy ZWFzZQ0Kc2lnbmlmaWNhbnRseS4gSXQgYWxzbyBkZXBlbmRzIG9uIHdobyB5b3UgbWVhc3VyZSB0 aGUgMTAwdXMgdGltZW91dCwgSSBkaWQgc2VlIHNvbWUNCnBsYXRmb3JtIHdoaWNoIGhhcyBhIG1p bmltdW0gdGltZXIgaW50ZXJ2YWwgbGltaXRhdGlvbiwgdGhhdCB5b3UgdGhvdWdodCB5b3UgYXJl IHVzaW5nDQphIDEwMHVzIHRpbWVvdXQgYnV0IGl04oCZcyBhY3R1YWxseSAxbXMgb3IgZXZlbiAx MG1zLg0KDQpTbyBteSBzdWdnZXN0aW9uIGlzIGRvIE5PVCBhZGQgYW55IGJ1c3kgd2FpdCBpbiBT TlAgbGF5ZXIgQVBJLCBrZWVwIGl0IGFzIHVuYmxvY2tpbmcsDQphbmQgdGhlIHRyeSB0byBzb2x2 ZSB0aGUgYXBwbGljYXRpb24gbGF5ZXIgcHJvYmxlbSBpbiBhcHBsaWNhdGlvbiBsYXllci4NCg0K QmVzdCBSZWdhcmRzLA0KU2l5dWFuDQoNCj4gDQo+IENoZWVycywNCj4gVG9tDQo+IA0KPiBPbiAy Ny8wMS8yMDE5IDE0OjI4LCBGdSwgU2l5dWFuIHdyb3RlOg0KPiA+IEhpLCBUb20NCj4gPg0KPiA+ PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBlZGsyLWRldmVsIFttYWls dG86ZWRrMi1kZXZlbC1ib3VuY2VzQGxpc3RzLjAxLm9yZ10gT24gQmVoYWxmIE9mDQo+IFRvbWFz DQo+ID4+IFBpbGFyICh0cGlsYXIpDQo+ID4+IFNlbnQ6IEZyaWRheSwgSmFudWFyeSAyNSwgMjAx OSA4OjA5IFBNDQo+ID4+IFRvOiBXdSwgSmlheGluIDxqaWF4aW4ud3VAaW50ZWwuY29tPjsgTGFz emxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47DQo+IGVkazItDQo+ID4+IGRldmVsQGxpc3Rz LjAxLm9yZw0KPiA+PiBDYzogWWUsIFRpbmcgPHRpbmcueWVAaW50ZWwuY29tPg0KPiA+PiBTdWJq ZWN0OiBSZTogW2VkazJdIE5ldHdvcmsgU3RhY2sgQnVkZ2V0aW5nDQo+ID4+DQo+ID4+IFllYWgs IHRoYXQgbWFrZXMgc2Vuc2UgSSBzdXBwb3NlLiBUaGUgZW5kIHJlc3VsdCBpcyBob3dldmVyIHRo YXQgdGhlDQo+IG5ldHdvcmsNCj4gPj4gZGV2aWNlIGlzICdvcGVuZWQnIGFzIHNvb24gYXMgQ29u bmVjdENvbnRyb2xsZXIoKSBpcyBjYWxsZWQgcmF0aGVyIHRoYW4NCj4gd2hlbg0KPiA+PiBzb21l b25lIHdhbnRzIHRvIGRvIG5ldHdvcmtpbmcuIFRoaXMgc2VlbXMgd3JvbmcgYW5kIGRpcmVjdGx5 IGxlYWRzIHRvIGENCj4gRG9TDQo+ID4+IG9mIGEgcGxhdGZvcm0gaW4gY2FzZSBvZiBoZWF2eSBu ZXR3b3JrIGxvYWQgKHVubGVzcyB3ZSBpbXBsZW1lbnQgYnVkZ2V0aW5nDQo+IGluDQo+ID4+IHRo ZSBuZXR3b3JrIGRyaXZlciwgd2hpY2ggaXMgYSByZWFsbHkgbm90IHdoYXQgaXQgc2hvdWxkIGJl IGRvaW5nKS4NCj4gPiBJdCdzIHRydWUgdGhhdCBhIGNvbmZpZ3VyZWQgTU5QIHdpbGwgc3RhcnQg YSBiYWNrZ3JvdW5kIHN5c3RlbSBwb2xsIHRvDQo+IHJlY2VpdmUNCj4gPiBuZXR3b3JrIHBhY2tl dHMsIGJ1dCBub3JtYWxseSBpdCB3b24ndCBsZWFkIHRvIGEgRG9TLCBiZWNhdXNlIHRoZSByZWNl aXZlDQo+IGZyZXF1ZW5jeQ0KPiA+IGlzIGFjdHVhbGx5IHZlcnkgbG93LiBUaGUgTU5QIGRyaXZl ciBvbmx5IHRyaWVzIHRvIHJlY2VpdmUgMSBwYWNrZXQgZnJvbSBTTlANCj4gZm9yIGV2ZXJ5DQo+ ID4gMTAgbWlsbGlzZWNvbmRzIChzZWUgTU5QX1NZU19QT0xMX0lOVEVSVkFMLCBNbnBTeXN0ZW1Q b2xsKCkgYW5kIHJlbGF0ZWQNCj4gdGltZXIgZXZlbnQpLg0KPiA+IFNvIG5vIG1hdHRlciBob3cg aGVhdnkgdGhlIG5ldHdvcmsgaXMsIE1OUCBkcml2ZXIgKGFuZCB1cHBlciBsYXllciBzdGFjaykN Cj4gd2lsbA0KPiA+IG9ubHkgcHJvY2VzcyBhdCBtb3N0IDEwMCBwYWNrZXRzIHBlciBzZWNvbmQs IGFsbCBvdGhlciBwYWNrZXRzIHNob3VsZCBiZQ0KPiBkcm9wcGVkDQo+ID4gYnkgVU5ESSBkcml2 ZXIgZGlyZWN0bHkuDQo+ID4NCj4gPiBTbyBpZiB0aGVyZSBpcyBub2JvZHkgZG9pbmcgYnVzeSBu ZXR3b3JrIHJlY2VpdmluZywgdGhlIG5ldHdvcmsgc3RhY2sgY29zdA0KPiB3aWxsIGJlDQo+ID4g YXQgbW9zdCAxMDAgcGFja2V0cyBwZXIgTklDIGRldmljZSBhbmQgcGVyIHNlY29uZC4NCj4gPg0K PiA+IEluIHlvdXIgZmlyc3QgZW1haWwgeW91IG1lbnRpb25lZCAic29tZSBwZXJmb3JtYW5jZSBp bXByb3ZlbWVudHMgdG8gbXkNCj4gbmV0d29yayBkcml2ZXIiLA0KPiA+IG1heSBJIGtub3cgd2hh dCdzIHRoZSBpbXByb3ZlbWVudCBtZXRob2QgeW91IGFyZSB1c2luZz8NCj4gPg0KPiA+IEJlc3Qg UmVnYXJkcywNCj4gPiBTaXl1YW4NCj4gPg0KPiA+PiBIb3cgZG8geW91IHN1Z2dlc3Qgd2Ugc29s dmUgdGhpcyBwcm9ibGVtPw0KPiA+Pg0KPiA+PiBDaGVlcnMsDQo+ID4+IFRvbQ0KPiA+Pg0KPiA+ PiBPbiAyNS8wMS8yMDE5IDA4OjQ0LCBXdSwgSmlheGluIHdyb3RlOg0KPiA+Pj4gSGkgVG9tLA0K PiA+Pj4NCj4gPj4+IE9uZSB0aGluZyBJIHdhbnQgdG8gaGlnaGxpZ2h0IGlzIHRoYXQgb3VyIGRl c2lnbiBvZiBuZXR3b3JrIHN0YWNrIGlzIG5vdA0KPiA+PiBvbmx5IGZvciB0aGUgUFhFL0hUVFAg Ym9vdCB0cmlnZ2VkIGluIEJvb3RNYW5hZ2VyLCBidXQgYWxzbyB0byBtYWtlIHN1cmUNCj4gaXQn cw0KPiA+PiB3b3JrYWJsZSBvbmNlIHRoZXJlIGlzIGFueSBNTlAgaW5zdGFuY2UgY29uZmlndXJl ZCBieSB1cHBlciBkcml2ZXJzDQo+ID4+IChBUlAvSVB2NC9JUHY2KS4NCj4gPj4+IFRha2UgQVJQ L0lQIGFzIGFuIGV4YW1wbGUsIG9uY2UgQVJQL0lQIGFyZSBzdGFydGVkLCB3ZSBuZWVkIGEgaGVh cnRiZWF0IHRvDQo+ID4+IHByb2Nlc3MgYW55IEFSUCByZXF1ZXN0cywgd2hpY2ggaXMgcmVxdWly ZWQgYnkgQVJQIGZ1bmN0aW9uYWxpdHkuIEluIHN1Y2ggYQ0KPiA+PiBjYXNlLCBTTlAgbXVzdCBi ZSBzdGFydGVkIHRvIG1ha2UgQVJQL0lQIGRyaXZlcnMgd29ya3Mgd2VsbC4NCj4gPj4+IFRoYW5r cywNCj4gPj4+IEppYXhpbg0KPiA+Pj4NCj4gPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiA+Pj4+IEZyb206IGVkazItZGV2ZWwgW21haWx0bzplZGsyLWRldmVsLWJvdW5jZXNAbGlz dHMuMDEub3JnXSBPbiBCZWhhbGYgT2YNCj4gPj4+PiBUb21hcyBQaWxhciAodHBpbGFyKQ0KPiA+ Pj4+IFNlbnQ6IEZyaWRheSwgSmFudWFyeSAyNSwgMjAxOSAxOjQzIEFNDQo+ID4+Pj4gVG86IExh c3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0K PiA+Pj4+IFN1YmplY3Q6IFJlOiBbZWRrMl0gTmV0d29yayBTdGFjayBCdWRnZXRpbmcNCj4gPj4+ Pg0KPiA+Pj4+DQo+ID4+Pj4NCj4gPj4+PiBPbiAyNC8wMS8yMDE5IDE2OjQ5LCBMYXN6bG8gRXJz ZWsgd3JvdGU6DQo+ID4+Pj4+IE9uIDAxLzI0LzE5IDE0OjI1LCBUb21hcyBQaWxhciAodHBpbGFy KSB3cm90ZToNCj4gPj4+Pj4+IEhtbSwNCj4gPj4+Pj4+DQo+ID4+Pj4+PiBNbnAtPkNvbmZpZ3Vy ZSgpIHdpbGwgZXZlbnR1YWxseSBjYWxsIE1ucFN0YXJ0U25wKCkuDQo+ID4+Pj4+Pg0KPiA+Pj4+ Pj4gQSBncmVwIGZvciBNbnAtPkNvbmZpZ3VyZSBzaG93cyB0aGF0Og0KPiA+Pj4+Pj4gKiBBcnBE eGUgcGVyZm9ybXMgdGhpcyBvbiBEcml2ZXJCaW5kaW5nLlN0YXJ0KCkNCj4gPj4+Pj4+ICogSXA2 RHhlIHBlcmZvcm1zIHRoaXMgb24gRHJpdmVyQmluZGluZy5TdGFydCgpDQo+ID4+Pj4+Pg0KPiA+ Pj4+Pj4gSXB2NCBhbmQgRG5zRGhjcCBkbyB0aGlzIGFzIGEgcGFydCBvZiB0aGVpciBDb25maWd1 cmUoKSB0aGV5IGV4cG9zZSBpbg0KPiA+PiB0aGUNCj4gPj4+PiBBUEkuDQo+ID4+Pj4+IFllcywg dGhhdCBtYWtlcyBzZW5zZS4gQWxsIG9mIHRoZSBhYm92ZSBkcml2ZXJzIGFyZSBVRUZJIGRyaXZl cnMgdGhhdA0KPiA+Pj4+PiBmb2xsb3cgdGhlIFVFRkkgZHJpdmVyIG1vZGVsLCBBSVVJLiBBcyBs b25nIGFzIHRoZSBjb250cm9sbGVyIGlzIG5vdA0KPiA+Pj4+PiBjb25uZWN0ZWQgZnJvbSBCRFMs IG5vIEJpbmRpbmdTdGFydCgpIGZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgaW4gdGhlc2UuDQo+ ID4+Pj4gQWgsIGJ1dCBJIHdvdWxkIGV4cGVjdCB0aGUgQkRTIHRvIGNhbGwgQ29ubmVjdENvbnRy b2xsZXIoKSBvbiB0aGUgTklDLA0KPiBidXQNCj4gPj4gSQ0KPiA+Pj4+IHdvdWxkIG5vdCBleHBl Y3QgdGhlIG5ldHdvcmsgc3RhY2sgdG8gYmUgc3RhcnRlZCB1bmxlc3MgdGhlIGRldmljZSBpcw0K PiA+Pj4+IGFjdHVhbGx5IGNob3NlbiBmb3IgUFhFIGJvb3RpbmcuIEluIG90aGVyIHdvcmRzLCB0 aGUgYWJvdmUgcHJvdG9jb2xzDQo+IHNob3VsZA0KPiA+Pj4+IGZvbGxvdyB0aGUgZXhhbXBsZSBv ZiBFRklfRE5TNF9QUk9UT0NPTCB0aGF0IGJpbmRzIGFnYWluc3QgdGhlIGRldmljZQ0KPiA+Pj4+ IGR1cmluZyBCRFMgYnV0IC5Db25maWd1cmUoKSBpcyBub3QgYXV0b21hdGljYWxseSBjYWxsZWQg YnkNCj4gPj4+PiBEcml2ZXJCaW5kaW5nLlN0YXJ0KCkuDQo+ID4+Pj4NCj4gPj4+PiAuQ29uZmln dXJlKCkgc2hvdWxkIGJlIGNhbGxlZCBieSB0aGUgQm9vdE1hbmFnZXIgaWYgbmV0d29ya2luZyBp cw0KPiBhY3R1YWxseQ0KPiA+PiB0bw0KPiA+Pj4+IGJlIGRvbmUuIFRoYXQgaW4gdHVybiB3aWxs IGNvbmZpZ3VyZSBNbnAgYW5kIHN0YXJ0IFNucC4NCj4gPj4+Pg0KPiA+Pj4+IENoZWVycywNCj4g Pj4+PiBUb20NCj4gPj4+Pg0KPiA+Pj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fDQo+ID4+Pj4gZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gPj4+PiBl ZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+Pj4+IGh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxt YW4vbGlzdGluZm8vZWRrMi1kZXZlbA0KPiA+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXw0KPiA+PiBlZGsyLWRldmVsIG1haWxpbmcgbGlzdA0KPiA+PiBl ZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+PiBodHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2VkazItZGV2ZWwNCg0K