From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from tyo201.gate.nec.co.jp (TYO201.gate.nec.co.jp [210.143.35.51]) by dpdk.org (Postfix) with ESMTP id 2377111F5 for ; Mon, 29 Sep 2014 01:46:40 +0200 (CEST) Received: from mailgate3.nec.co.jp ([10.7.69.192]) by tyo201.gate.nec.co.jp (8.13.8/8.13.4) with ESMTP id s8SNrDnX004389; Mon, 29 Sep 2014 08:53:13 +0900 (JST) Received: from mailsv4.nec.co.jp (imss63.nec.co.jp [10.7.69.158]) by mailgate3.nec.co.jp (8.11.7/3.7W-MAILGATE-NEC) with ESMTP id s8SNrD303556; Mon, 29 Sep 2014 08:53:13 +0900 (JST) Received: from mail03.kamome.nec.co.jp (mail03.kamome.nec.co.jp [10.25.43.7]) by mailsv4.nec.co.jp (8.13.8/8.13.4) with ESMTP id s8SNrCii008696; Mon, 29 Sep 2014 08:53:12 +0900 (JST) Received: from bpxc99gp.gisp.nec.co.jp ([10.38.151.145] [10.38.151.145]) by mail03.kamome.nec.co.jp with ESMTP id BT-MMP-2180019; Mon, 29 Sep 2014 08:53:02 +0900 Received: from BPXM14GP.gisp.nec.co.jp ([169.254.1.136]) by BPXC17GP.gisp.nec.co.jp ([10.38.151.145]) with mapi id 14.03.0174.002; Mon, 29 Sep 2014 08:53:01 +0900 From: Hiroshi Shimamoto To: Alex Markuze , "Choi, Sy Jong" Thread-Topic: [dpdk-dev] DPDK doesn't work with iommu=pt Thread-Index: Ac/ZZvLQu0nCCbsaRVygc3CBHpGSYgAMPSbgAELdEoAANBpdYA== Date: Sun, 28 Sep 2014 23:53:00 +0000 Message-ID: <7F861DC0615E0C47A872E6F3C5FCDDBD02ADF55D@BPXM14GP.gisp.nec.co.jp> References: <7F861DC0615E0C47A872E6F3C5FCDDBD02ADDCDD@BPXM14GP.gisp.nec.co.jp> <697F8B1B48670548A5BAB03E8283550F2D52706F@PGSMSX107.gar.corp.intel.com> In-Reply-To: Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.205.5.123] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Cc: "dev@dpdk.org" , Hayato Momma Subject: Re: [dpdk-dev] DPDK doesn't work with iommu=pt X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Sep 2014 23:46:41 -0000 SGksDQoNCj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gRFBESyBkb2Vzbid0IHdvcmsgd2l0aCBp b21tdT1wdA0KPiANCj4gaW9tbXU9cHQgZWZmZWN0aXZlbHkgZGlzYWJsZXMgaW9tbXUgZm9yIHRo ZSBrZXJuZWwgYW5kIGlvbW11IGlzDQo+IGVuYWJsZWQgb25seSBmb3IgS1ZNLg0KPiBodHRwOi8v bHduLm5ldC9BcnRpY2xlcy8zMjkxNzQvDQoNCnRoYW5rcyBmb3IgcG9pbnRpbmcgdGhhdC4NCg0K T2theSwgSSB0aGluayBEUERLIGNhbm5vdCBoYW5kbGUgSU9NTVUgYmVjYXVzZSBvZiBubyBrZXJu ZWwgY29kZSBpbg0KRFBESyBhcHBsaWNhdGlvbi4NCg0KQW5kIG5vdywgSSB0aGluayAiaW9tbXU9 cHQiIGRvZXNuJ3Qgd29yayBjb3JyZWN0bHkgRE1BIG9uIGhvc3QgUE1EDQpjYXVzZXMgRE1BUiBm YXVsdCB3aGljaCBtZWFucyBJT01NVSBjYXRjaGVzIGEgd3Jvbmcgb3BlcmF0aW9uLg0KV2lsbCBk aWcgYXJvdW5kICJpb21tdT1wdCIuDQoNCj4gDQo+IEJhc2ljYWxseSB1bmxlc3MgeW91IGhhdmUg S1ZNIHJ1bm5pbmcgeW91IGNhbiByZW1vdmUgYm90aCBsaW5lcyBmb3INCj4gdGhlIHNhbWUgZWZm ZWN0Lg0KPiBPbiB0aGUgb3RoZXIgaGFuZCBpZiB5b3UgZG8gaGF2ZSBLVk0gYW5kIHlvdSBkbyB3 YW50IGlvbW11PW9uIFlvdSBjYW4NCj4gcmVtb3ZlIHRoZSBpb21tdT1wdCBmb3IgdGhlIHNhbWUg cGVyZm9ybWFuY2UgYmVjYXVzZSBBRkFJSyB1bmxpa2UgdGhlDQo+IGtlcm5lbCBkcml2ZXJzIERQ REsgZG9lc24ndCBkbWFfbWFwIGFuZCBkbWFfdW5tYW4gZWFjaCBhbmQgZXZlcnkNCj4gaW5ncmVz cy9lZ3Jlc3MgcGFja2V0IChQbGVhc2UgY29ycmVjdCBtZSBpZiBJJ20gd3JvbmcpLCBhbmQgd2ls bCBub3QNCj4gc3VmZmVyIGFueSBwZXJmb3JtYW5jZSBwZW5hbHRpZXMuDQoNCkkgYWxzbyB0cmll ZCAiaW9tbXU9b24iLCBidXQgaXQgZGlkbid0IGZpeCB0aGUgaXNzdWUuDQpJIHNhdyB0aGUgc2Ft ZSBlcnJvciBtZXNzYWdlcyBpbiBrZXJuZWwuDQoNCiAgWyAgIDQ2Ljk3ODA5N10gZG1hcjogRFJI RDogaGFuZGxpbmcgZmF1bHQgc3RhdHVzIHJlZyAyDQogIFsgICA0Ni45NzgxMjBdIGRtYXI6IERN QVI6W0RNQSBSZWFkXSBSZXF1ZXN0IGRldmljZSBbMjE6MDAuMF0gZmF1bHQgYWRkciBhYTAxMDAw MA0KICBETUFSOltmYXVsdCByZWFzb24gMDJdIFByZXNlbnQgYml0IGluIGNvbnRleHQgZW50cnkg aXMgY2xlYXINCg0KdGhhbmtzLA0KSGlyb3NoaQ0KDQo+IA0KPiBGWUkuIEtlcm5lbCBOSUMgZHJp dmVyczoNCj4gV2hlbiBpb21tdT1vbnssc3RyaWN0fSB0aGUga2VybmVsIG5ldHdvcmsgZHJpdmVy cyB3aWxsIHN1ZmZlciBhIGhlYXZ5DQo+IHBlcmZvcm1hbmNlIHBlbmFsdHkgZHVlIHRvIHJlZ3Vs YXIgSU9WQSBtb2RpZmljYXRpb25zIChib3RoIEhXIGFuZCBTVw0KPiBhdCBmYXVsdCBoZXJlKS4g SXhnYmUgYW5kIE1lbGxhbm94IHJldXNlIGRtYV9tYXBwZWQgcGFnZXMgb24gdGhlDQo+IHJlY2Vp dmUgc2lkZSB0byBhdm9pZCB0aGlzIHBlbmFsdHksIGJ1dCBzdGlsbCBzdWZmZXIgZnJvbSBpb21t dSBvbiBUWC4NCj4gDQo+IE9uIEZyaSwgU2VwIDI2LCAyMDE0IGF0IDU6NDcgUE0sIENob2ksIFN5 IEpvbmcgPHN5LmpvbmcuY2hvaUBpbnRlbC5jb20+IHdyb3RlOg0KPiA+IEhpIFNoaW1hbW90by1z YW4sDQo+ID4NCj4gPiBUaGVyZSBhcmUgYSBsb3Qgb2Ygc2lnaHRpbmcgcmVsYXRlIHRvICJETUFS OltmYXVsdCByZWFzb24gMDZdIFBURSBSZWFkIGFjY2VzcyBpcyBub3Qgc2V0Ig0KPiA+IGh0dHBz Oi8vd3d3Lm1haWwtYXJjaGl2ZS5jb20va3ZtQHZnZXIua2VybmVsLm9yZy9tc2cxMDY1NzMuaHRt bA0KPiA+DQo+ID4gVGhpcyBtaWdodCBiZSByZWxhdGVkIHRvIElPTU1VLCBhbmQga2VybmVsIGNv ZGUuDQo+ID4NCj4gPiBIZXJlIGlzIHdoYXQgd2Uga25vdyA6LQ0KPiA+IDEpIERpc2FibGluZyBW VC1kIGluIGJpb3MgYWxzbyByZW1vdmVkIHRoZSBzeW1wdG9tDQo+ID4gMikgU3dpdGNoIHRvIGFu b3RoZXIgT1MgZGlzdHJpYnV0aW9uIGFsc28gcmVtb3ZlZCB0aGUgc3ltcHRvbQ0KPiA+IDMpIGV2 ZW4gZGlmZmVyZW50IEhXIHdlIHdpbGwgbm90IHNlZSB0aGUgc3ltcHRvbS4gSW4gbXkgY2FzZSwg c3dpdGNoIGZyb20gRW5naW5lZXJpbmcgYm9hcmQgdG8gRVBTRCBib2FyZC4NCj4gPg0KPiA+IFJl Z2FyZHMsDQo+ID4gQ2hvaSwgU3kgSm9uZw0KPiA+IFBsYXRmb3JtIEFwcGxpY2F0aW9uIEVuZ2lu ZWVyDQo+ID4NCj4gPg0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTog ZGV2IFttYWlsdG86ZGV2LWJvdW5jZXNAZHBkay5vcmddIE9uIEJlaGFsZiBPZiBIaXJvc2hpIFNo aW1hbW90bw0KPiA+IFNlbnQ6IEZyaWRheSwgU2VwdGVtYmVyIDI2LCAyMDE0IDU6MTQgUE0NCj4g PiBUbzogZGV2QGRwZGsub3JnDQo+ID4gQ2M6IEhheWF0byBNb21tYQ0KPiA+IFN1YmplY3Q6IFtk cGRrLWRldl0gRFBESyBkb2Vzbid0IHdvcmsgd2l0aCBpb21tdT1wdA0KPiA+DQo+ID4gSSBlbmNv dW50ZXJlZCBhbiBpc3N1ZSB0aGF0IERQREsgZG9lc24ndCB3b3JrIHdpdGggImlvbW11PXB0IGlu dGVsX2lvbW11PW9uIg0KPiA+IG9uIEhQIFByb0xpYW50IERMMzgwcCBHZW44IHNlcnZlci4gSSdt IHVzaW5nIHRoZSBmb2xsb3dpbmcgZW52aXJvbm1lbnQ7DQo+ID4NCj4gPiAgIEhXOiBQcm9MaWFu dCBETDM4MHAgR2VuOA0KPiA+ICAgQ1BVOiBFNS0yNjk3IHYyDQo+ID4gICBPUzogUkhFTDcNCj4g PiAgIGtlcm5lbDoga2VybmVsLTMuMTAuMC0xMjMgYW5kIHRoZSBsYXRlc3Qga2VybmVsIDMuMTct cmM2Kw0KPiA+ICAgRFBESzogdjEuNy4xLTUzLWdjZTVhYmFjDQo+ID4gICBOSUM6IDgyNTk5RVMN Cj4gPg0KPiA+IFdoZW4gYm9vdCB3aXRoICJpb21tdT1wdCBpbnRlbF9pb21tdT1vbiIsIEkgZ290 IHRoZSBiZWxvdyBtZXNzYWdlIGFuZCBubyBwYWNrZXRzIGFyZSBoYW5kbGVkLg0KPiA+DQo+ID4g ICBbICAxMjAuODA5NjExXSBkbWFyOiBEUkhEOiBoYW5kbGluZyBmYXVsdCBzdGF0dXMgcmVnIDIN Cj4gPiAgIFsgIDEyMC44MDk2MzVdIGRtYXI6IERNQVI6W0RNQSBSZWFkXSBSZXF1ZXN0IGRldmlj ZSBbMjE6MDAuMF0gZmF1bHQgYWRkciBhYTAxMDAwMA0KPiA+ICAgRE1BUjpbZmF1bHQgcmVhc29u IDAyXSBQcmVzZW50IGJpdCBpbiBjb250ZXh0IGVudHJ5IGlzIGNsZWFyDQo+ID4NCj4gPiBIb3cg dG8gcmVwcm9kdWNlOw0KPiA+IGp1c3QgcnVuIHRlc3RwbWQNCj4gPiAjIC4vdGVzdHBtZCAtYyAw eGYgLW4gNCAtLSAtaQ0KPiA+DQo+ID4gQ29uZmlndXJpbmcgUG9ydCAwIChzb2NrZXQgMCkNCj4g PiBQTUQ6IGl4Z2JlX2Rldl90eF9xdWV1ZV9zZXR1cCgpOiBzd19yaW5nPTB4N2ZmZmY1NGVhZmMw IGh3X3Jpbmc9MHg3ZmZmZjQyMDAwMDAgZG1hX2FkZHI9MHhhYTAwMDAwMA0KPiA+IFBNRDogaXhn YmVfZGV2X3R4X3F1ZXVlX3NldHVwKCk6IFVzaW5nIGZ1bGwtZmVhdHVyZWQgdHggY29kZSBwYXRo DQo+ID4gUE1EOiBpeGdiZV9kZXZfdHhfcXVldWVfc2V0dXAoKTogIC0gdHhxX2ZsYWdzID0gMCBb SVhHQkVfU0lNUExFX0ZMQUdTPWYwMV0NCj4gPiBQTUQ6IGl4Z2JlX2Rldl90eF9xdWV1ZV9zZXR1 cCgpOiAgLSB0eF9yc190aHJlc2ggPSAzMiBbUlRFX1BNRF9JWEdCRV9UWF9NQVhfQlVSU1Q9MzJd DQo+ID4gUE1EOiBpeGdiZV9kZXZfcnhfcXVldWVfc2V0dXAoKTogc3dfcmluZz0weDdmZmZmNTRl YTc0MCBod19yaW5nPTB4N2ZmZmY0MjEwMDAwIGRtYV9hZGRyPTB4YWEwMTAwMDANCj4gPiBQTUQ6 IGNoZWNrX3J4X2J1cnN0X2J1bGtfYWxsb2NfcHJlY29uZGl0aW9ucygpOiBSeCBCdXJzdCBCdWxr IEFsbG9jIFByZWNvbmRpdGlvbnM6IHJ4cS0+cnhfZnJlZV90aHJlc2g9MCwNCj4gUlRFX1BNRF9J WEdCRV9SWF9NQVhfQlVSU1Q9MzINCj4gPiBQTUQ6IGl4Z2JlX2Rldl9yeF9xdWV1ZV9zZXR1cCgp OiBSeCBCdXJzdCBCdWxrIEFsbG9jIFByZWNvbmRpdGlvbnMgYXJlIG5vdCBzYXRpc2ZpZWQsIFNj YXR0ZXJlZCBSeCBpcyByZXF1ZXN0ZWQsIG9yDQo+IFJURV9MSUJSVEVfSVhHQkVfUlhfQUxMT1df QlVMS19BTExPQyBpcyBub3QgZW5hYmxlZCAocG9ydD0wLCBxdWV1ZT0wKS4NCj4gPiBQTUQ6IGNo ZWNrX3J4X2J1cnN0X2J1bGtfYWxsb2NfcHJlY29uZGl0aW9ucygpOiBSeCBCdXJzdCBCdWxrIEFs bG9jIFByZWNvbmRpdGlvbnM6IHJ4cS0+cnhfZnJlZV90aHJlc2g9MCwNCj4gUlRFX1BNRF9JWEdC RV9SWF9NQVhfQlVSU1Q9MzINCj4gPg0KPiA+IHRlc3RwbWQ+IHN0YXJ0DQo+ID4gICBpbyBwYWNr ZXQgZm9yd2FyZGluZyAtIENSQyBzdHJpcHBpbmcgZGlzYWJsZWQgLSBwYWNrZXRzL2J1cnN0PTMy DQo+ID4gICBuYiBmb3J3YXJkaW5nIGNvcmVzPTEgLSBuYiBmb3J3YXJkaW5nIHBvcnRzPTINCj4g PiAgIFJYIHF1ZXVlcz0xIC0gUlggZGVzYz0xMjggLSBSWCBmcmVlIHRocmVzaG9sZD0wDQo+ID4g ICBSWCB0aHJlc2hvbGQgcmVnaXN0ZXJzOiBwdGhyZXNoPTggaHRocmVzaD04IHd0aHJlc2g9MA0K PiA+ICAgVFggcXVldWVzPTEgLSBUWCBkZXNjPTUxMiAtIFRYIGZyZWUgdGhyZXNob2xkPTANCj4g PiAgIFRYIHRocmVzaG9sZCByZWdpc3RlcnM6IHB0aHJlc2g9MzIgaHRocmVzaD0wIHd0aHJlc2g9 MA0KPiA+ICAgVFggUlMgYml0IHRocmVzaG9sZD0wIC0gVFhRIGZsYWdzPTB4MA0KPiA+DQo+ID4N Cj4gPiBhbmQgcGluZyBmcm9tIGFub3RoZXIgYm94IHRvIHRoaXMgc2VydmVyLg0KPiA+ICMgcGlu ZzYgLUkgZXRoMiBmZjAyOjoxDQo+ID4NCj4gPiBJIGdvdCB0aGUgYmVsb3cgZXJyb3IgbWVzc2Fn ZSBhbmQgbm8gcGFja2V0IGlzIHJlY2VpdmVkLg0KPiA+IEkgY291bGRuJ3Qgc2VlIGFueSBpbmNy ZWFzZSBSWC9UWCBjb3VudCBpbiB0ZXN0cG10IHN0YXRpc3RpY3MNCj4gPg0KPiA+IHRlc3RwbWQ+ IHNob3cgcG9ydCBzdGF0cyAwDQo+ID4NCj4gPiAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBO SUMgc3RhdGlzdGljcyBmb3IgcG9ydCAwICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gPiAg IFJYLXBhY2tldHM6IDYgICAgICAgICAgUlgtbWlzc2VkOiAwICAgICAgICAgIFJYLWJ5dGVzOiAg NzMyDQo+ID4gICBSWC1iYWRjcmM6ICAwICAgICAgICAgIFJYLWJhZGxlbjogMCAgICAgICAgICBS WC1lcnJvcnM6IDANCj4gPiAgIFJYLW5vbWJ1ZjogIDANCj4gPiAgIFRYLXBhY2tldHM6IDAgICAg ICAgICAgVFgtZXJyb3JzOiAwICAgICAgICAgIFRYLWJ5dGVzOiAgMA0KPiA+ICAgIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIw0KPiA+IHRlc3RwbWQ+IHNob3cgcG9ydCBzdGF0cyAwDQo+ID4NCj4gPiAgICMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBOSUMgc3RhdGlzdGljcyBmb3IgcG9ydCAwICAjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMNCj4gPiAgIFJYLXBhY2tldHM6IDYgICAgICAgICAgUlgtbWlzc2Vk OiAwICAgICAgICAgIFJYLWJ5dGVzOiAgNzMyDQo+ID4gICBSWC1iYWRjcmM6ICAwICAgICAgICAg IFJYLWJhZGxlbjogMCAgICAgICAgICBSWC1lcnJvcnM6IDANCj4gPiAgIFJYLW5vbWJ1ZjogIDAN Cj4gPiAgIFRYLXBhY2tldHM6IDAgICAgICAgICAgVFgtZXJyb3JzOiAwICAgICAgICAgIFRYLWJ5 dGVzOiAgMA0KPiA+ICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiA+DQo+ID4NCj4gPiBUaGUgZmF1 bHQgYWRkciBpbiBlcnJvciBtZXNzYWdlIG11c3QgYmUgUlggRE1BIGRlc2NyaXB0b3INCj4gPg0K PiA+IGVycm9yIG1lc3NhZ2UNCj4gPiAgIFsgIDEyMC44MDk2MzVdIGRtYXI6IERNQVI6W0RNQSBS ZWFkXSBSZXF1ZXN0IGRldmljZSBbMjE6MDAuMF0gZmF1bHQgYWRkciBhYTAxMDAwMA0KPiA+DQo+ ID4gbG9nIGluIHRlc3RwbWQNCj4gPiAgIFBNRDogaXhnYmVfZGV2X3J4X3F1ZXVlX3NldHVwKCk6 IHN3X3Jpbmc9MHg3ZmZmZjU0ZWE3NDAgaHdfcmluZz0weDdmZmZmNDIxMDAwMCBkbWFfYWRkcj0w eGFhMDEwMDAwDQo+ID4NCj4gPiBJIHRoaW5rIHRoZSBOSUMgcmVjZWl2ZWQgYSBwYWNrZXQgaW4g ZmlmbyBhbmQgdHJ5IHRvIHB1dCBpbnRvIG1lbW9yeSB3aXRoIERNQS4NCj4gPiBCZWZvcmUgc3Rh cnRpbmcgRE1BLCB0aGUgTklDIGdldCB0aGUgdGFyZ2V0IGFkZHJlc3MgZnJvbSBSWCBkZXNjcmlw dG9ycyBpbiBSREJBIHJlZ2lzdGVyLg0KPiA+IEJ1dCBhY2Nlc3NpbmcgUlggZGVzY3JpcHRvcnMg ZmFpbGVkIGluIElPTU1VIHVuaXQgYW5kIHJlcG9ydGVkIGl0IHRvIHRoZSBrZXJuZWwuDQo+ID4N Cj4gPiAgIERNQVI6W2ZhdWx0IHJlYXNvbiAwMl0gUHJlc2VudCBiaXQgaW4gY29udGV4dCBlbnRy eSBpcyBjbGVhcg0KPiA+DQo+ID4gVGhlIGVycm9yIG1lc3NhZ2UgbG9va3MgdGhlcmUgaXMgbm8g dmFsaWQgZW50cnkgaW4gSU9NTVUuDQo+ID4NCj4gPiBJIHRoaW5rIHRoZSBmb2xsb3dpbmcgaXNz dWUgaXMgdmVyeSBzaW1pbGFyLCBidXQgdXNpbmcgVWJ1bnR1MTQuMDQgY291bGRuJ3QgZml4IGlu IG15IGNhc2UuDQo+ID4gaHR0cDovL3RocmVhZC5nbWFuZS5vcmcvZ21hbmUuY29tcC5uZXR3b3Jr aW5nLmRwZGsuZGV2ZWwvMjI4MQ0KPiA+DQo+ID4gSSB0cmllZCBVYnVudHUxNC4wNC4xIGFuZCBn b3QgdGhlIGJlbG93IGVycm9yLg0KPiA+DQo+ID4gICBbICAxOTkuNzEwMTkxXSBkbWFyOiBEUkhE OiBoYW5kbGluZyBmYXVsdCBzdGF0dXMgcmVnIDINCj4gPiAgIFsgIDE5OS43MTA4OTZdIGRtYXI6 IERNQVI6W0RNQSBSZWFkXSBSZXF1ZXN0IGRldmljZSBbMjE6MDAuMF0gZmF1bHQgYWRkciA3YzI0 ZGYwMDANCj4gPiAgIFsgIDE5OS43MTA4OTZdIERNQVI6W2ZhdWx0IHJlYXNvbiAwNl0gUFRFIFJl YWQgYWNjZXNzIGlzIG5vdCBzZXQNCj4gPg0KPiA+IEN1cnJlbnRseSBJIGNvdWxkIHNlZSB0aGlz IGlzc3VlIG9uIEhQIFByb0xpYW50IERMMzgwcCBHZW44IG9ubHkuDQo+ID4gSXMgdGhlcmUgYW55 IGlkZWE/DQo+ID4gSGFzIGFueW9uZSBub3RpY2VkIHRoaXMgaXNzdWU/DQo+ID4NCj4gPiBOb3Rl OiB3ZSdyZSB0aGlua2luZyB0byB1c2UgU1ItSU9WIGFuZCBEUERLIGFwcCBpbiB0aGUgc2FtZSBi b3guDQo+ID4gVGhlIGJveCBoYXMgMiBOSUNzLCBvbmUgZm9yIFNSLUlPViBhbmQgcGFzcyB0aHJv dWdoIHRvIFZNLCBvbmUgKG5vIFNSLUlPVikgZm9yIERQREsgYXBwIGluIGhvc3QuDQo+ID4NCj4g PiB0aGFua3MsDQo+ID4gSGlyb3NoaQ0K