From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 282C0A32A1 for ; Thu, 24 Oct 2019 09:18:58 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id EF9C31C436; Thu, 24 Oct 2019 09:18:57 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 207DC1C2A3 for ; Thu, 24 Oct 2019 09:18:55 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Oct 2019 00:18:54 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,223,1569308400"; d="scan'208";a="197023382" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga008.fm.intel.com with ESMTP; 24 Oct 2019 00:18:54 -0700 Received: from fmsmsx126.amr.corp.intel.com (10.18.125.43) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 24 Oct 2019 00:18:54 -0700 Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by FMSMSX126.amr.corp.intel.com (10.18.125.43) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 24 Oct 2019 00:18:54 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.165]) by shsmsx102.ccr.corp.intel.com ([169.254.2.176]) with mapi id 14.03.0439.000; Thu, 24 Oct 2019 15:18:52 +0800 From: "Liu, Yong" To: Maxime Coquelin , "Bie, Tiwei" , "Wang, Zhihong" , "stephen@networkplumber.org" , "gavin.hu@arm.com" CC: "dev@dpdk.org" Thread-Topic: [PATCH v8 00/13] vhost packed ring performance optimization Thread-Index: AQHViBvAbHihUQZSGU2jcX75qnfzeado2BWAgACMsPA= Date: Thu, 24 Oct 2019 07:18:51 +0000 Message-ID: <86228AFD5BCD8E4EBFD2B90117B5E81E633DA664@SHSMSX103.ccr.corp.intel.com> References: <20191021154016.16274-1-yong.liu@intel.com> <20191021220813.55236-1-yong.liu@intel.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNTM5ZmYwY2QtYjY3Ny00NzExLWI4MDMtZGRmZTc1NGRlNTE0IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiNlMzRDhoZ3BxbzREU082NHNVRHNlMXJTSnJTK2hpSDA5NktXNU5vSHFndUNWNnpIdGtWK1RMVmJcL2NwV2tjVlQifQ== x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v8 00/13] vhost packed ring performance optimization X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTWF4aW1lIENvcXVlbGlu IFttYWlsdG86bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb21dDQo+IFNlbnQ6IFRodXJzZGF5LCBP Y3RvYmVyIDI0LCAyMDE5IDI6NTAgUE0NCj4gVG86IExpdSwgWW9uZyA8eW9uZy5saXVAaW50ZWwu Y29tPjsgQmllLCBUaXdlaSA8dGl3ZWkuYmllQGludGVsLmNvbT47IFdhbmcsDQo+IFpoaWhvbmcg PHpoaWhvbmcud2FuZ0BpbnRlbC5jb20+OyBzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZzsNCj4g Z2F2aW4uaHVAYXJtLmNvbQ0KPiBDYzogZGV2QGRwZGsub3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFU Q0ggdjggMDAvMTNdIHZob3N0IHBhY2tlZCByaW5nIHBlcmZvcm1hbmNlIG9wdGltaXphdGlvbg0K PiANCj4gSSBnZXQgc29tZSBjaGVja3BhdGNoIHdhcm5pbmdzLCBhbmQgYnVpbGQgZmFpbHMgd2l0 aCBjbGFuZy4NCj4gQ291bGQgeW91IHBsZWFzZSBmaXggdGhlc2UgaXNzdWVzIGFuZCBzZW5kIHY5 Pw0KPiANCg0KDQpIaSBNYXhpbWUsDQpDbGFuZyBidWlsZCBmYWlscyB3aWxsIGJlIGZpeGVkIGlu IHY5LiBGb3IgY2hlY2twYXRjaCB3YXJuaW5nLCBpdCB3YXMgZHVlIHRvIHByYWdtYSBzdHJpbmcg aW5zaWRlLg0KUHJldmlvdXMgdmVyc2lvbiBjYW4gYXZvaWQgc3VjaCB3YXJuaW5nLCB3aGlsZSBm b3JtYXQgaXMgYSBsaXR0bGUgbWVzc3kgYXMgYmVsb3cuIA0KSSBwcmVmZXIgdG8ga2VlcCBjb2Rl IGNsZWFuIGFuZCBtb3JlIHJlYWRhYmxlLiBIb3cgYWJvdXQgeW91ciBpZGVhPw0KDQorI2lmZGVm IFVOUk9MTF9QUkFHTUFfUEFSQU0NCisjZGVmaW5lIFZIT1NUX1VOUk9MTF9QUkFHTUEocGFyYW0p IF9QcmFnbWEocGFyYW0pDQorI2Vsc2UNCisjZGVmaW5lIFZIT1NUX1VOUk9MTF9QUkFHTUEocGFy YW0pIGRvIHt9IHdoaWxlICgwKTsNCisjZW5kaWYNCg0KKyAgICAgICBWSE9TVF9VTlJPTExfUFJB R01BKFVOUk9MTF9QUkFHTUFfUEFSQU0pDQorICAgICAgIGZvciAoaSA9IDA7IGkgPCBQQUNLRURf QkFUQ0hfU0laRTsgaSsrKQ0KDQpSZWdhcmRzLA0KTWFydmluDQoNCj4gVGhhbmtzLA0KPiBNYXhp bWUNCj4gDQo+ICMjIyBbUEFUQ0hdIHZob3N0OiB0cnkgdG8gdW5yb2xsIGZvciBlYWNoIGxvb3AN Cj4gDQo+IFdBUk5JTkc6Q0FNRUxDQVNFOiBBdm9pZCBDYW1lbENhc2U6IDxfUHJhZ21hPg0KPiAj Nzg6IEZJTEU6IGxpYi9saWJydGVfdmhvc3Qvdmhvc3QuaDo0NzoNCj4gKyNkZWZpbmUgdmhvc3Rf Zm9yX2VhY2hfdHJ5X3Vucm9sbChpdGVyLCB2YWwsIHNpemUpIF9QcmFnbWEoIkdDQyB1bnJvbGwN Cj4gNCIpIFwNCj4gDQo+IEVSUk9SOkNPTVBMRVhfTUFDUk86IE1hY3JvcyB3aXRoIGNvbXBsZXgg dmFsdWVzIHNob3VsZCBiZSBlbmNsb3NlZCBpbg0KPiBwYXJlbnRoZXNpcw0KPiAjNzg6IEZJTEU6 IGxpYi9saWJydGVfdmhvc3Qvdmhvc3QuaDo0NzoNCj4gKyNkZWZpbmUgdmhvc3RfZm9yX2VhY2hf dHJ5X3Vucm9sbChpdGVyLCB2YWwsIHNpemUpIF9QcmFnbWEoIkdDQyB1bnJvbGwNCj4gNCIpIFwN Cj4gKwlmb3IgKGl0ZXIgPSB2YWw7IGl0ZXIgPCBzaXplOyBpdGVyKyspDQo+IA0KPiBFUlJPUjpD T01QTEVYX01BQ1JPOiBNYWNyb3Mgd2l0aCBjb21wbGV4IHZhbHVlcyBzaG91bGQgYmUgZW5jbG9z ZWQgaW4NCj4gcGFyZW50aGVzaXMNCj4gIzgzOiBGSUxFOiBsaWIvbGlicnRlX3Zob3N0L3Zob3N0 Lmg6NTI6DQo+ICsjZGVmaW5lIHZob3N0X2Zvcl9lYWNoX3RyeV91bnJvbGwoaXRlciwgdmFsLCBz aXplKSBfUHJhZ21hKCJ1bnJvbGwgNCIpIFwNCj4gKwlmb3IgKGl0ZXIgPSB2YWw7IGl0ZXIgPCBz aXplOyBpdGVyKyspDQo+IA0KPiBFUlJPUjpDT01QTEVYX01BQ1JPOiBNYWNyb3Mgd2l0aCBjb21w bGV4IHZhbHVlcyBzaG91bGQgYmUgZW5jbG9zZWQgaW4NCj4gcGFyZW50aGVzaXMNCj4gIzg4OiBG SUxFOiBsaWIvbGlicnRlX3Zob3N0L3Zob3N0Lmg6NTc6DQo+ICsjZGVmaW5lIHZob3N0X2Zvcl9l YWNoX3RyeV91bnJvbGwoaXRlciwgdmFsLCBzaXplKSBfUHJhZ21hKCJ1bnJvbGwgKDQpIikgXA0K PiArCWZvciAoaXRlciA9IHZhbDsgaXRlciA8IHNpemU7IGl0ZXIrKykNCj4gDQo+IHRvdGFsOiAz IGVycm9ycywgMSB3YXJuaW5ncywgNjcgbGluZXMgY2hlY2tlZA0KPiANCj4gMC8xIHZhbGlkIHBh dGNoL3RtcC9kcGRrX2J1aWxkL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjIwNjU6MToN Cj4gZXJyb3I6IHVudXNlZCBmdW5jdGlvbiAnZnJlZV96bWJ1ZicgWy1XZXJyb3IsLVd1bnVzZWQt ZnVuY3Rpb25dDQo+IGZyZWVfem1idWYoc3RydWN0IHZob3N0X3ZpcnRxdWV1ZSAqdnEpDQo+IF4N Cj4gMSBlcnJvciBnZW5lcmF0ZWQuDQo+IG1ha2VbNV06ICoqKiBbdmlydGlvX25ldC5vXSBFcnJv ciAxDQo+IG1ha2VbNF06ICoqKiBbbGlicnRlX3Zob3N0XSBFcnJvciAyDQo+IG1ha2VbNF06ICoq KiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uDQo+IG1ha2VbM106ICoqKiBbbGliXSBF cnJvciAyDQo+IG1ha2VbMl06ICoqKiBbYWxsXSBFcnJvciAyDQo+IG1ha2VbMV06ICoqKiBbcHJl X2luc3RhbGxdIEVycm9yIDINCj4gbWFrZTogKioqIFtpbnN0YWxsXSBFcnJvciAyDQo+IA0KPiAN Cj4gT24gMTAvMjIvMTkgMTI6MDggQU0sIE1hcnZpbiBMaXUgd3JvdGU6DQo+ID4gUGFja2VkIHJp bmcgaGFzIG1vcmUgY29tcGFjdCByaW5nIGZvcm1hdCBhbmQgdGh1cyBjYW4gc2lnbmlmaWNhbnRs eQ0KPiA+IHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhY2hlIG1pc3MuIEl0IGNhbiBsZWFkIHRvIGJl dHRlciBwZXJmb3JtYW5jZS4NCj4gPiBUaGlzIGhhcyBiZWVuIGFwcHJvdmVkIGluIHZpcnRpbyB1 c2VyIGRyaXZlciwgb24gbm9ybWFsIEU1IFhlb24gY3B1DQo+ID4gc2luZ2xlIGNvcmUgcGVyZm9y bWFuY2UgY2FuIHJhaXNlIDEyJS4NCj4gPg0KPiA+IGh0dHA6Ly9tYWlscy5kcGRrLm9yZy9hcmNo aXZlcy9kZXYvMjAxOC1BcHJpbC8wOTU0NzAuaHRtbA0KPiA+DQo+ID4gSG93ZXZlciB2aG9zdCBw ZXJmb3JtYW5jZSB3aXRoIHBhY2tlZCByaW5nIHBlcmZvcm1hbmNlIHdhcyBkZWNyZWFzZWQuDQo+ ID4gVGhyb3VnaCBhbmFseXNpcywgbW9zdGx5IGV4dHJhIGNvc3Qgd2FzIGZyb20gdGhlIGNhbGN1 bGF0aW5nIG9mIGVhY2gNCj4gPiBkZXNjcmlwdG9yIGZsYWcgd2hpY2ggZGVwZW5kZWQgb24gcmlu ZyB3cmFwIGNvdW50ZXIuIE1vcmVvdmVyLCBib3RoDQo+ID4gZnJvbnRlbmQgYW5kIGJhY2tlbmQg bmVlZCB0byB3cml0ZSBzYW1lIGRlc2NyaXB0b3JzIHdoaWNoIHdpbGwgY2F1c2UNCj4gPiBjYWNo ZSBjb250ZW50aW9uLiBFc3BlY2lhbGx5IHdoZW4gZG9pbmcgdmhvc3QgZW5xdWV1ZSBmdW5jdGlv biwgdmlydGlvDQo+ID4gcmVmaWxsIHBhY2tlZCByaW5nIGZ1bmN0aW9uIG1heSB3cml0ZSBzYW1l IGNhY2hlIGxpbmUgd2hlbiB2aG9zdCBkb2luZw0KPiA+IGVucXVldWUgZnVuY3Rpb24uIFRoaXMg a2luZCBvZiBleHRyYSBjYWNoZSBjb3N0IHdpbGwgcmVkdWNlIHRoZSBiZW5lZml0DQo+ID4gb2Yg cmVkdWNpbmcgY2FjaGUgbWlzc2VzLg0KPiA+DQo+ID4gRm9yIG9wdGltaXppbmcgdmhvc3QgcGFj a2VkIHJpbmcgcGVyZm9ybWFuY2UsIHZob3N0IGVucXVldWUgYW5kIGRlcXVldWUNCj4gPiBmdW5j dGlvbiB3aWxsIGJlIHNwbGl0dGVkIGludG8gZmFzdCBhbmQgbm9ybWFsIHBhdGguDQo+ID4NCj4g PiBTZXZlcmFsIG1ldGhvZHMgd2lsbCBiZSB0YWtlbiBpbiBmYXN0IHBhdGg6DQo+ID4gICBIYW5k bGUgZGVzY3JpcHRvcnMgaW4gb25lIGNhY2hlIGxpbmUgYnkgYmF0Y2guDQo+ID4gICBTcGxpdCBs b29wIGZ1bmN0aW9uIGludG8gbW9yZSBwaWVjZXMgYW5kIHVucm9sbCB0aGVtLg0KPiA+ICAgUHJl cmVxdWlzaXRlIGNoZWNrIHRoYXQgd2hldGhlciBJL08gc3BhY2UgY2FuIGNvcHkgZGlyZWN0bHkg aW50byBtYnVmDQo+ID4gICAgIHNwYWNlIGFuZCB2aWNlIHZlcnNhLg0KPiA+ICAgUHJlcmVxdWlz aXRlIGNoZWNrIHRoYXQgd2hldGhlciBkZXNjcmlwdG9yIG1hcHBpbmcgaXMgc3VjY2Vzc2Z1bC4N Cj4gPiAgIERpc3Rpbmd1aXNoIHZob3N0IHVzZWQgcmluZyB1cGRhdGUgZnVuY3Rpb24gYnkgZW5x dWV1ZSBhbmQgZGVxdWV1ZQ0KPiA+ICAgICBmdW5jdGlvbi4NCj4gPiAgIEJ1ZmZlciBkZXF1ZXVl IHVzZWQgZGVzY3JpcHRvcnMgYXMgbWFueSBhcyBwb3NzaWJsZS4NCj4gPiAgIFVwZGF0ZSBlbnF1 ZXVlIHVzZWQgZGVzY3JpcHRvcnMgYnkgY2FjaGUgbGluZS4NCj4gPg0KPiA+IEFmdGVyIGFsbCB0 aGVzZSBtZXRob2RzIGRvbmUsIHNpbmdsZSBjb3JlIHZob3N0IFB2UCBwZXJmb3JtYW5jZSB3aXRo IDY0Qg0KPiA+IHBhY2tldCBvbiBYZW9uIDgxODAgY2FuIGJvb3N0IDM1JS4NCj4gPg0KPiA+IHY4 Og0KPiA+IC0gQWxsb2NhdGUgbWJ1ZiBieSB2aXJ0aW9fZGV2X3BrdG1idWZfYWxsb2MNCj4gPg0K PiA+IHY3Og0KPiA+IC0gUmViYXNlIGNvZGUNCj4gPiAtIFJlbmFtZSB1bnJvbGwgbWFjcm8gYW5k IGRlZmluaXRpb25zDQo+ID4gLSBDYWxjdWxhdGUgZmxhZ3Mgd2hlbiBkb2luZyBzaW5nbGUgZGVx dWV1ZQ0KPiA+DQo+ID4gdjY6DQo+ID4gLSBGaXggZGVxdWV1ZSB6Y29weSByZXN1bHQgY2hlY2sN Cj4gPg0KPiA+IHY1Og0KPiA+IC0gUmVtb3ZlIGRpc2FibGUgc3cgcHJlZmV0Y2ggYXMgcGVyZm9y bWFuY2UgaW1wYWN0IGlzIHNtYWxsDQo+ID4gLSBDaGFuZ2UgdW5yb2xsIHByYWdtYSBtYWNybyBm b3JtYXQNCj4gPiAtIFJlbmFtZSBzaGFkb3cgY291bnRlciBlbGVtZW50cyBuYW1lcw0KPiA+IC0g Q2xlYW4gZGVxdWV1ZSB1cGRhdGUgY2hlY2sgY29uZGl0aW9uDQo+ID4gLSBBZGQgaW5saW5lIGZ1 bmN0aW9ucyByZXBsYWNlIG9mIGR1cGxpY2F0ZWQgY29kZQ0KPiA+IC0gVW5pZnkgY29kZSBzdHls ZQ0KPiA+DQo+ID4gdjQ6DQo+ID4gLSBTdXBwb3J0IG1lc29uIGJ1aWxkDQo+ID4gLSBSZW1vdmUg bWVtb3J5IHJlZ2lvbiBjYWNoZSBmb3Igbm8gY2xlYXIgcGVyZm9ybWFuY2UgZ2FpbiBhbmQgQUJJ IGJyZWFrDQo+ID4gLSBOb3QgYXNzdW1lIHJpbmcgc2l6ZSBpcyBwb3dlciBvZiB0d28NCj4gPg0K PiA+IHYzOg0KPiA+IC0gQ2hlY2sgYXZhaWxhYmxlIGluZGV4IG92ZXJmbG93DQo+ID4gLSBSZW1v dmUgZGVxdWV1ZSByZW1haW5lZCBkZXNjcyBudW1iZXIgY2hlY2sNCj4gPiAtIFJlbW92ZSBjaGFu Z2VzIGluIHNwbGl0IHJpbmcgZGF0YXBhdGgNCj4gPiAtIENhbGwgbWVtb3J5IHdyaXRlIGJhcnJp ZXJzIG9uY2Ugd2hlbiB1cGRhdGluZyB1c2VkIGZsYWdzDQo+ID4gLSBSZW5hbWUgc29tZSBmdW5j dGlvbnMgYW5kIG1hY3Jvcw0KPiA+IC0gQ29kZSBzdHlsZSBvcHRpbWl6YXRpb24NCj4gPg0KPiA+ IHYyOg0KPiA+IC0gVXRpbGl6ZSBjb21waWxlcidzIHByYWdtYSB0byB1bnJvbGwgbG9vcCwgZGlz dGluZ3Vpc2ggY2xhbmcvaWNjL2djYw0KPiA+IC0gQnVmZmVyZWQgZGVxdWV1ZSB1c2VkIGRlc2Mg bnVtYmVyIGNoYW5nZWQgdG8gKFJJTkdfU1ogLSBQS1RfQlVSU1QpDQo+ID4gLSBPcHRpbWl6ZSBk ZXF1ZXVlIHVzZWQgcmluZyB1cGRhdGUgd2hlbiBpbl9vcmRlciBuZWdvdGlhdGVkDQo+ID4NCj4g Pg0KPiA+IE1hcnZpbiBMaXUgKDEzKToNCj4gPiAgIHZob3N0OiBhZGQgcGFja2VkIHJpbmcgaW5k ZXhlcyBpbmNyZWFzaW5nIGZ1bmN0aW9uDQo+ID4gICB2aG9zdDogYWRkIHBhY2tlZCByaW5nIHNp bmdsZSBlbnF1ZXVlDQo+ID4gICB2aG9zdDogdHJ5IHRvIHVucm9sbCBmb3IgZWFjaCBsb29wDQo+ ID4gICB2aG9zdDogYWRkIHBhY2tlZCByaW5nIGJhdGNoIGVucXVldWUNCj4gPiAgIHZob3N0OiBh ZGQgcGFja2VkIHJpbmcgc2luZ2xlIGRlcXVldWUNCj4gPiAgIHZob3N0OiBhZGQgcGFja2VkIHJp bmcgYmF0Y2ggZGVxdWV1ZQ0KPiA+ICAgdmhvc3Q6IGZsdXNoIGVucXVldWUgdXBkYXRlcyBieSBj YWNoZWxpbmUNCj4gPiAgIHZob3N0OiBmbHVzaCBiYXRjaGVkIGVucXVldWUgZGVzY3MgZGlyZWN0 bHkNCj4gPiAgIHZob3N0OiBidWZmZXIgcGFja2VkIHJpbmcgZGVxdWV1ZSB1cGRhdGVzDQo+ID4g ICB2aG9zdDogb3B0aW1pemUgcGFja2VkIHJpbmcgZW5xdWV1ZQ0KPiA+ICAgdmhvc3Q6IGFkZCBw YWNrZWQgcmluZyB6Y29weSBiYXRjaCBhbmQgc2luZ2xlIGRlcXVldWUNCj4gPiAgIHZob3N0OiBv cHRpbWl6ZSBwYWNrZWQgcmluZyBkZXF1ZXVlDQo+ID4gICB2aG9zdDogb3B0aW1pemUgcGFja2Vk IHJpbmcgZGVxdWV1ZSB3aGVuIGluLW9yZGVyDQo+ID4NCj4gPiAgbGliL2xpYnJ0ZV92aG9zdC9N YWtlZmlsZSAgICAgfCAgMTggKw0KPiA+ICBsaWIvbGlicnRlX3Zob3N0L21lc29uLmJ1aWxkICB8 ICAgNyArDQo+ID4gIGxpYi9saWJydGVfdmhvc3Qvdmhvc3QuaCAgICAgIHwgIDU3ICsrDQo+ID4g IGxpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jIHwgOTQ4ICsrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0NCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCA4MzcgaW5zZXJ0aW9ucygrKSwg MTkzIGRlbGV0aW9ucygtKQ0KPiA+DQoNCg==