From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id CE559E07 for ; Mon, 7 Mar 2016 16:49:43 +0100 (CET) Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga103.fm.intel.com with ESMTP; 07 Mar 2016 07:49:25 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,552,1449561600"; d="scan'208";a="61405685" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by fmsmga004.fm.intel.com with ESMTP; 07 Mar 2016 07:49:27 -0800 Received: from fmsmsx119.amr.corp.intel.com (10.18.124.207) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.248.2; Mon, 7 Mar 2016 07:49:25 -0800 Received: from fmsmsx113.amr.corp.intel.com ([169.254.13.211]) by FMSMSX119.amr.corp.intel.com ([169.254.14.50]) with mapi id 14.03.0248.002; Mon, 7 Mar 2016 07:49:25 -0800 From: "Wiles, Keith" To: Royce Niu Thread-Topic: [dpdk-users] Performance Problem of DPDK pkt-gen Thread-Index: AQHReHUJTPnhMOxTgUiH8hU5pQLzCp9OO+6AgABl9oD//5y7gIAAZjEA//+do4A= Date: Mon, 7 Mar 2016 15:49:24 +0000 Message-ID: References: <116CFAF2-CD73-41C4-96C5-D748E90205F7@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.252.199.205] Content-Type: text/plain; charset="utf-8" Content-ID: <17DC885C37CADA46821967B40A9261C5@intel.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 Cc: "users@dpdk.org" Subject: Re: [dpdk-users] Performance Problem of DPDK pkt-gen X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 15:49:44 -0000 RnJvbTogUm95Y2UgTml1IDxyb3ljZW5pdUBnbWFpbC5jb208bWFpbHRvOnJveWNlbml1QGdtYWls LmNvbT4+DQpEYXRlOiBNb25kYXksIE1hcmNoIDcsIDIwMTYgYXQgOTo0MSBBTQ0KVG86IEtlaXRo IFdpbGVzIDxrZWl0aC53aWxlc0BpbnRlbC5jb208bWFpbHRvOmtlaXRoLndpbGVzQGludGVsLmNv bT4+DQpDYzogUm95Y2UgTml1IDxyb3ljZW5pdUBnbWFpbC5jb208bWFpbHRvOnJveWNlbml1QGdt YWlsLmNvbT4+LCAidXNlcnNAZHBkay5vcmc8bWFpbHRvOnVzZXJzQGRwZGsub3JnPiIgPHVzZXJz QGRwZGsub3JnPG1haWx0bzp1c2Vyc0BkcGRrLm9yZz4+DQpTdWJqZWN0OiBSZTogW2RwZGstdXNl cnNdIFBlcmZvcm1hbmNlIFByb2JsZW0gb2YgRFBESyBwa3QtZ2VuDQoNClllcy4NCg0KVGhlIHBy b2JsZW0gaXMgdGhlIHNlbmRpbmcgcmF0ZSBpcyBub3QgMTRNcHBzIHdoZW4gTDJGV0QgaXMgd29y a2luZy4NCg0KV2hlbiBMMkZXRCBpcyB3b3JraW5nLCB0aGUgc2VuZGluZyByYXRlIGlzIGFib3V0 IDRNcHBzLCBpbnN0ZWFkIG9mIDE0TXBwcy4gV2hlbiBJIGNsb3NlIHRoZSBMMkZXRCBwYywgdGhl IHNlbmRpbmcgcmF0ZSByZWNvdmVycyB0byAxNE1wcHMuLi4NCg0KSSB0aGluayB0aGVyZSBpcyBz b21ldGhpbmcgd3Jvbmcgd2l0aCBteSBQa3RnZW4gUEMuIENvdWxkIHlvdSBoZWxwIG1lIGNoZWNr IG15IGNvbW1hbmRzPyBPciBpcyB0aGVyZSBhbnl0aGluZyB3cm9uZz8NCg0KSSBkbyBub3QgdGhp bmsgUGt0Z2VuIGhhcyBhIHByb2JsZW0gb3IgdGhlIFBDIG9uIHdoaWNoIGl0IHJ1bnMuIEkgZXhw ZWN0IHRoZSBwcm9ibGVtIGlzIHRoZSBzZWNvbmQgUEMgaXMgbm90IGFibGUgdG8ga2VlcCB1cCB3 aXRoIHRoZSBSWCByYXRlIGFuZCBpcyBzZW5kaW5nIHBhdXNlIHBhY2tldHMgdG8gdGhlIFRYIG1h Y2hpbmUuIFRoZSBwYXVzZSBwYWNrZXRzIHdpbGwgcmVkdWNlIHRoZSBUWCByYXRlIG9uIHRoZSBQ a3RnZW4gUEMuDQoNClRyeSBydW5uaW5nIFBrdGdlbiBvbiB0aGUgTDJGV0QgUEMgYW5kIHNlZSBp ZiB0aGUgcmF0ZSBkcm9wcy4gSWYgdGhlIHJhdGUgZG9lcyBub3QgZHJvcCB0aGVuIHRoZSBzZWNv bmQgUEMgaXMgc2VuZGluZyBwYXVzZSBmcmFtZSBiYWNrIHRvIHRoZSBmaXJzdCBQQyB0byBkbyBy YXRlIGxpbWl0aW5nIG9uIHRoZSBUWCBzaWRlLg0KDQoNCg0KDQpPbiBNb24sIE1hciA3LCAyMDE2 IGF0IDExOjM1IFBNLCBXaWxlcywgS2VpdGggPGtlaXRoLndpbGVzQGludGVsLmNvbTxtYWlsdG86 a2VpdGgud2lsZXNAaW50ZWwuY29tPj4gd3JvdGU6DQpGcm9tOiBSb3ljZSBOaXUgPHJveWNlbml1 QGdtYWlsLmNvbTxtYWlsdG86cm95Y2VuaXVAZ21haWwuY29tPj4NCkRhdGU6IE1vbmRheSwgTWFy Y2ggNywgMjAxNiBhdCA5OjMwIEFNDQpUbzogS2VpdGggV2lsZXMgPGtlaXRoLndpbGVzQGludGVs LmNvbTxtYWlsdG86a2VpdGgud2lsZXNAaW50ZWwuY29tPj4NCkNjOiBSb3ljZSBOaXUgPHJveWNl bml1QGdtYWlsLmNvbTxtYWlsdG86cm95Y2VuaXVAZ21haWwuY29tPj4sICJ1c2Vyc0BkcGRrLm9y ZzxtYWlsdG86dXNlcnNAZHBkay5vcmc+IiA8dXNlcnNAZHBkay5vcmc8bWFpbHRvOnVzZXJzQGRw ZGsub3JnPj4NClN1YmplY3Q6IFJlOiBbZHBkay11c2Vyc10gUGVyZm9ybWFuY2UgUHJvYmxlbSBv ZiBEUERLIHBrdC1nZW4NCg0KSGksIEtlaXRoDQoNCk1heWJlLCBzaW5jZSBJIGRpZG4ndCBjb25m aWd1cmUgdGhlIENQVSBhZmZpbml0eSBpbiB0aGUgTDJGV0QgcGMgb24gcHVycG9zZSBzbyBmYXIu DQoNCkJ1dCwgbXkgcXVlc3Rpb24gaXMgdGhlIGZpcnN0IFBDIGhhdmUgYSBwb29yIHNlbmRpbmcg cmF0ZSB3aGVuIEwyRldEIGlzIHdvcmtpbmcgaW4gc2Vjb25kIFBDLg0KDQpZb3UgbWVhbiB0aGUg cHJvYmxlbSBpcyByZWxhdGVkIHRvIEwyRldEPw0KDQpUaGUgc2VuZGluZyByYXRlIG9mIHRoZSBQ a3RnZW4gUEMgc2hvdWxkIGJlIGNvbnN0YW50LCBidXQgdGhlIGZvcndhcmRpbmcgcmF0ZSBvZiB0 aGUgc2Vjb25kIFBDIG1heWJlIHRoZSBwcm9ibGVtIGJlY2F1c2Ugc2VuZGluZyBwYWNrZXRzIHJl Y2VpdmVkIG9uIG9uZSBzb2NrZXQgYW5kIHRoZW4gYmVpbmcgc2VuZCBieSBhbm90aGVyIHNvY2tl dCBpcyBhIHByb2JsZW0gYXMgdGhlIFFQSSBidXMgYmV0d2VlbiBzb2NrZXRzIGlzIG5vdCBhcyBm YXN0Lg0KDQoNCk9uIE1vbiwgTWFyIDcsIDIwMTYgYXQgMTE6MjYgUE0sIFdpbGVzLCBLZWl0aCA8 a2VpdGgud2lsZXNAaW50ZWwuY29tPG1haWx0bzprZWl0aC53aWxlc0BpbnRlbC5jb20+PiB3cm90 ZToNCj5EZWFyIGFsbCwNCj4NCj5JIGFtIHVzaW5nIGFuIHNlcnZlciB3aXRoIDQgY3B1cyAoNCB4 IDggY29yZSBDUFVzIHdpdGggSFQpIGFuZCBOSUNzIChYNTIwKS4NCj4NCj5XaGVuIEkgdXNlIHBr dC1nZW4gb24gTklDMSBvciBOSUMyLCB0aGUgc3BlZWQgb2YgZ2VuZXJhdGluZyA2NEJ5dGUgaXMN Cj4xNE1wcHMuDQo+DQo+SWYgSSBnZW5lcmF0aW5nIGJvdGggb24gTklDMSBhbmQgTklDMiwgdGhl IHNwZWVkIG9mICBnZW5lcmF0aW5nIDY0Qnl0ZSBvbg0KPmJvdGggYXJlIG1vcmUgdGhhbiAgMTNN cHBzLg0KPg0KPkhvd2V2ZXIsIEkgdXNlIHNhbWUgY29uZmlndXJhdGlvbiBQQyAod2l0aCBEUERL IEwyRldEKSB0byBicmlkZ2UgTklDMSBhbmQNCj5OSUMyLCBzbyBJIGNhbiBnZW5lcmF0ZSBwYWNr ZXQgb24gTklDMSBhbmQgcmVjZWl2ZSB0aGVzZSBwYWNrZXRzIG9uIE5JQzIgaW4NCj5wa3QtZ2Vu LiBUaGUgc3BlZWQgb2YgZ2VuZXJhdGluZyBpcyBkZWNyZWFzZWQgdG8gNE1wcHMgYW5kIHRoZSBy ZWNlaXZlIHJhdGUNCj5pcyAzTXBwcy4NCg0KSSBhbSBub3Qgc3VyZSBob3cgeW91IGNvbmZpZ3Vy ZWQgdGhlIHNlY29uZCBQQyBmb3IgTDJGV0QsIGJ1dCBJIHN1c3BlY3QgdGhlIEwyRldEIGlzIGhh dmluZyB0byByZWNlaXZlIHBhY2tldHMgb24gc29ja2V0IDAgYW5kIHNlbmQgdGhlIHBhY2tldHMg b24gc29ja2V0IDEsIHRoaXMgbWVhbnMgdGhlIFFQSSBidXMgZ2V0cyBpbnZvbHZlZCBoZXJlLiBJ cyB0aGlzIHRoZSBjYXNlPw0KDQo+DQo+DQo+SSB3YW50IHRvIGtub3cgd2h5IGdlbmVyYXRpbmcg c3BlZWQgaXMgc2xvd2VyIHRoYW4gdGhlIHNpdHVhdGlvbiB3aXRob3V0DQo+dGhlIGJyaWRnZSBv ZiBOSUMxIGFuZCBOSUMyPyAgaG93IHRvIHNvbHZlIHRoZXNlIHByb2JsZW0/DQo+DQo+VGhlIGRl dGFpbGVkIGluZm9ybWF0aW9uIGlzIGFzIGZvbGxvd2luZy4NCj4NCj5zdWRvIHN5c2N0bCB2bS5u cl9odWdlcGFnZXM9NDA5Ng0KPmVjaG8gMTAyNCB8IHN1ZG8gdGVlDQo+L3N5cy9kZXZpY2VzL3N5 c3RlbS9ub2RlL25vZGUwL2h1Z2VwYWdlcy9odWdlcGFnZXMtMjA0OGtCL25yX2h1Z2VwYWdlcw0K PmVjaG8gMTAyNCB8IHN1ZG8gdGVlDQo+L3N5cy9kZXZpY2VzL3N5c3RlbS9ub2RlL25vZGUxL2h1 Z2VwYWdlcy9odWdlcGFnZXMtMjA0OGtCL25yX2h1Z2VwYWdlcw0KPmVjaG8gMTAyNCB8IHN1ZG8g dGVlDQo+L3N5cy9kZXZpY2VzL3N5c3RlbS9ub2RlL25vZGUyL2h1Z2VwYWdlcy9odWdlcGFnZXMt MjA0OGtCL25yX2h1Z2VwYWdlcw0KPmVjaG8gMTAyNCB8IHN1ZG8gdGVlDQo+L3N5cy9kZXZpY2Vz L3N5c3RlbS9ub2RlL25vZGUzL2h1Z2VwYWdlcy9odWdlcGFnZXMtMjA0OGtCL25yX2h1Z2VwYWdl cw0KPg0KPg0KPnN1ZG8gbWtkaXIgLXAgL2Rldi9odWdlcGFnZXMNCj5zdWRvIG1vdW50IC10IGh1 Z2V0bGJmcyBub2RldiAvZGV2L2h1Z2VwYWdlcw0KPg0KPg0KPnN1ZG8gZHBkay0yLjIuMC90b29s cy9kcGRrX25pY19iaW5kLnB5IC0tc3RhdHVzDQo+c3VkbyBtb2Rwcm9iZSB1aW8NCj5zdWRvIGlu c21vZCBkcGRrLTIuMi4wL2J1aWxkL2ttb2QvaWdiX3Vpby5rbw0KPg0KPnN1ZG8gZHBkay0yLjIu MC90b29scy9kcGRrX25pY19iaW5kLnB5IC1iIGlnYl91aW8gMDQ6MDAuMCAwNDowMC4xDQo+c3Vk byBkcGRrLTIuMi4wL3Rvb2xzL2RwZGtfbmljX2JpbmQucHkgLS1zdGF0dXMNCj4NCj5jZCBwa3Rn ZW4tMi45LjEyLw0KPg0KPnN1ZG8gYXBwL2J1aWxkL3BrdGdlbiAtYyAweDFmIC1uIDMgLS1wcm9j LXR5cGUgYXV0byAtLXNvY2tldC1tZW0NCj4xMjgsMTI4LDEyOCwxMjggLS0gLVAgLW0gIlsxOjNd LjAsIFsyOjRdLjEiIC1mIHRlc3Qvc2V0X3NlcS5wa3QNCj4NCj5JIHRyaWVkIHRvIGNoYW5nZSAt bSwgYnV0LCBzb21ldGltZSB0aGVyZSBpcyBubyBwYWNrZXQgZ2VuZXJhdGVkIGJ5DQo+cGt0LWdl bi4NCj4NCj4NCj5UaGUgY29yZSBtYXAgaXMgOg0KPg0KPkVBTDogRGV0ZWN0ZWQgbGNvcmUgMCBh cyBjb3JlIDAgb24gc29ja2V0IDANCj5FQUw6IERldGVjdGVkIGxjb3JlIDEgYXMgY29yZSAwIG9u IHNvY2tldCAxDQo+RUFMOiBEZXRlY3RlZCBsY29yZSAyIGFzIGNvcmUgMCBvbiBzb2NrZXQgMg0K PkVBTDogRGV0ZWN0ZWQgbGNvcmUgMyBhcyBjb3JlIDAgb24gc29ja2V0IDMNCj5FQUw6IERldGVj dGVkIGxjb3JlIDQgYXMgY29yZSAxIG9uIHNvY2tldCAwDQo+RUFMOiBEZXRlY3RlZCBsY29yZSA1 IGFzIGNvcmUgMSBvbiBzb2NrZXQgMQ0KPkVBTDogRGV0ZWN0ZWQgbGNvcmUgNiBhcyBjb3JlIDEg b24gc29ja2V0IDINCj5FQUw6IERldGVjdGVkIGxjb3JlIDcgYXMgY29yZSAxIG9uIHNvY2tldCAz DQo+RUFMOiBEZXRlY3RlZCBsY29yZSA4IGFzIGNvcmUgMiBvbiBzb2NrZXQgMA0KPkVBTDogRGV0 ZWN0ZWQgbGNvcmUgOSBhcyBjb3JlIDIgb24gc29ja2V0IDENCj5FQUw6IERldGVjdGVkIGxjb3Jl IDEwIGFzIGNvcmUgMiBvbiBzb2NrZXQgMg0KPkVBTDogRGV0ZWN0ZWQgbGNvcmUgMTEgYXMgY29y ZSAyIG9uIHNvY2tldCAzDQo+RUFMOiBEZXRlY3RlZCBsY29yZSAxMiBhcyBjb3JlIDMgb24gc29j a2V0IDANCj5FQUw6IERldGVjdGVkIGxjb3JlIDEzIGFzIGNvcmUgMyBvbiBzb2NrZXQgMQ0KPkVB TDogRGV0ZWN0ZWQgbGNvcmUgMTQgYXMgY29yZSAzIG9uIHNvY2tldCAyDQo+RUFMOiBEZXRlY3Rl ZCBsY29yZSAxNSBhcyBjb3JlIDMgb24gc29ja2V0IDMNCj5FQUw6IERldGVjdGVkIGxjb3JlIDE2 IGFzIGNvcmUgNCBvbiBzb2NrZXQgMA0KPkVBTDogRGV0ZWN0ZWQgbGNvcmUgMTcgYXMgY29yZSA0 IG9uIHNvY2tldCAxDQo+RUFMOiBEZXRlY3RlZCBsY29yZSAxOCBhcyBjb3JlIDQgb24gc29ja2V0 IDINCj5FQUw6IERldGVjdGVkIGxjb3JlIDE5IGFzIGNvcmUgNCBvbiBzb2NrZXQgMw0KPkVBTDog RGV0ZWN0ZWQgbGNvcmUgMjAgYXMgY29yZSA1IG9uIHNvY2tldCAwDQo+RUFMOiBEZXRlY3RlZCBs Y29yZSAyMSBhcyBjb3JlIDUgb24gc29ja2V0IDENCj5FQUw6IERldGVjdGVkIGxjb3JlIDIyIGFz IGNvcmUgNSBvbiBzb2NrZXQgMg0KPkVBTDogRGV0ZWN0ZWQgbGNvcmUgMjMgYXMgY29yZSA1IG9u IHNvY2tldCAzDQo+RUFMOiBEZXRlY3RlZCBsY29yZSAyNCBhcyBjb3JlIDYgb24gc29ja2V0IDAN Cj5FQUw6IERldGVjdGVkIGxjb3JlIDI1IGFzIGNvcmUgNiBvbiBzb2NrZXQgMQ0KPkVBTDogRGV0 ZWN0ZWQgbGNvcmUgMjYgYXMgY29yZSA2IG9uIHNvY2tldCAyDQo+RUFMOiBEZXRlY3RlZCBsY29y ZSAyNyBhcyBjb3JlIDYgb24gc29ja2V0IDMNCj5FQUw6IERldGVjdGVkIGxjb3JlIDI4IGFzIGNv cmUgNyBvbiBzb2NrZXQgMA0KPkVBTDogRGV0ZWN0ZWQgbGNvcmUgMjkgYXMgY29yZSA3IG9uIHNv Y2tldCAxDQo+RUFMOiBEZXRlY3RlZCBsY29yZSAzMCBhcyBjb3JlIDcgb24gc29ja2V0IDINCj5F QUw6IERldGVjdGVkIGxjb3JlIDMxIGFzIGNvcmUgNyBvbiBzb2NrZXQgMw0KPkVBTDogRGV0ZWN0 ZWQgbGNvcmUgMzIgYXMgY29yZSAwIG9uIHNvY2tldCAwDQo+RUFMOiBEZXRlY3RlZCBsY29yZSAz MyBhcyBjb3JlIDAgb24gc29ja2V0IDENCj5FQUw6IERldGVjdGVkIGxjb3JlIDM0IGFzIGNvcmUg MCBvbiBzb2NrZXQgMg0KPkVBTDogRGV0ZWN0ZWQgbGNvcmUgMzUgYXMgY29yZSAwIG9uIHNvY2tl dCAzDQo+RUFMOiBEZXRlY3RlZCBsY29yZSAzNiBhcyBjb3JlIDEgb24gc29ja2V0IDANCj5FQUw6 IERldGVjdGVkIGxjb3JlIDM3IGFzIGNvcmUgMSBvbiBzb2NrZXQgMQ0KPkVBTDogRGV0ZWN0ZWQg bGNvcmUgMzggYXMgY29yZSAxIG9uIHNvY2tldCAyDQo+RUFMOiBEZXRlY3RlZCBsY29yZSAzOSBh cyBjb3JlIDEgb24gc29ja2V0IDMNCj5FQUw6IERldGVjdGVkIGxjb3JlIDQwIGFzIGNvcmUgMiBv biBzb2NrZXQgMA0KPkVBTDogRGV0ZWN0ZWQgbGNvcmUgNDEgYXMgY29yZSAyIG9uIHNvY2tldCAx DQo+RUFMOiBEZXRlY3RlZCBsY29yZSA0MiBhcyBjb3JlIDIgb24gc29ja2V0IDINCj5FQUw6IERl dGVjdGVkIGxjb3JlIDQzIGFzIGNvcmUgMiBvbiBzb2NrZXQgMw0KPkVBTDogRGV0ZWN0ZWQgbGNv cmUgNDQgYXMgY29yZSAzIG9uIHNvY2tldCAwDQo+RUFMOiBEZXRlY3RlZCBsY29yZSA0NSBhcyBj b3JlIDMgb24gc29ja2V0IDENCj5FQUw6IERldGVjdGVkIGxjb3JlIDQ2IGFzIGNvcmUgMyBvbiBz b2NrZXQgMg0KPkVBTDogRGV0ZWN0ZWQgbGNvcmUgNDcgYXMgY29yZSAzIG9uIHNvY2tldCAzDQo+ RUFMOiBEZXRlY3RlZCBsY29yZSA0OCBhcyBjb3JlIDQgb24gc29ja2V0IDANCj5FQUw6IERldGVj dGVkIGxjb3JlIDQ5IGFzIGNvcmUgNCBvbiBzb2NrZXQgMQ0KPkVBTDogRGV0ZWN0ZWQgbGNvcmUg NTAgYXMgY29yZSA0IG9uIHNvY2tldCAyDQo+RUFMOiBEZXRlY3RlZCBsY29yZSA1MSBhcyBjb3Jl IDQgb24gc29ja2V0IDMNCj5FQUw6IERldGVjdGVkIGxjb3JlIDUyIGFzIGNvcmUgNSBvbiBzb2Nr ZXQgMA0KPkVBTDogRGV0ZWN0ZWQgbGNvcmUgNTMgYXMgY29yZSA1IG9uIHNvY2tldCAxDQo+RUFM OiBEZXRlY3RlZCBsY29yZSA1NCBhcyBjb3JlIDUgb24gc29ja2V0IDINCj5FQUw6IERldGVjdGVk IGxjb3JlIDU1IGFzIGNvcmUgNSBvbiBzb2NrZXQgMw0KPkVBTDogRGV0ZWN0ZWQgbGNvcmUgNTYg YXMgY29yZSA2IG9uIHNvY2tldCAwDQo+RUFMOiBEZXRlY3RlZCBsY29yZSA1NyBhcyBjb3JlIDYg b24gc29ja2V0IDENCj5FQUw6IERldGVjdGVkIGxjb3JlIDU4IGFzIGNvcmUgNiBvbiBzb2NrZXQg Mg0KPkVBTDogRGV0ZWN0ZWQgbGNvcmUgNTkgYXMgY29yZSA2IG9uIHNvY2tldCAzDQo+RUFMOiBE ZXRlY3RlZCBsY29yZSA2MCBhcyBjb3JlIDcgb24gc29ja2V0IDANCj5FQUw6IERldGVjdGVkIGxj b3JlIDYxIGFzIGNvcmUgNyBvbiBzb2NrZXQgMQ0KPkVBTDogRGV0ZWN0ZWQgbGNvcmUgNjIgYXMg Y29yZSA3IG9uIHNvY2tldCAyDQo+RUFMOiBEZXRlY3RlZCBsY29yZSA2MyBhcyBjb3JlIDcgb24g c29ja2V0IDMNCj4NCj4NCj4NCj4NCj4NCj4NCj4NCj4NCj4tLQ0KPlJlZ2FyZHMsDQo+DQo+Um95 Y2UgTml1DQo+DQoNCg0KUmVnYXJkcywNCktlaXRoDQoNCg0KDQoNCg0KDQoNCi0tDQpSZWdhcmRz LA0KDQpSb3ljZSBOaXUNCg0KDQpSZWdhcmRzLA0KS2VpdGgNCg0KDQoNCg0KLS0NClJlZ2FyZHMs DQoNClJveWNlIE5pdQ0KDQoNClJlZ2FyZHMsDQpLZWl0aA0KDQo=