From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 800C95689 for ; Wed, 23 Aug 2017 16:00:16 +0200 (CEST) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Aug 2017 07:00:05 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,417,1498546800"; d="scan'208";a="1209429739" Received: from irsmsx151.ger.corp.intel.com ([163.33.192.59]) by fmsmga002.fm.intel.com with ESMTP; 23 Aug 2017 07:00:03 -0700 Received: from irsmsx106.ger.corp.intel.com ([169.254.8.174]) by IRSMSX151.ger.corp.intel.com ([169.254.4.181]) with mapi id 14.03.0319.002; Wed, 23 Aug 2017 15:00:00 +0100 From: "Loftus, Ciara" To: Darrell Ball , Gao Zhenyu CC: "blp@ovn.org" , "Chandran, Sugesh" , "ktraynor@redhat.com" , "dev@openvswitch.org" , "users@dpdk.org" Thread-Topic: [ovs-dev] [PATCH v1] netdev-dpdk: Implement TCP/UDP TX cksum in ovs-dpdk side Thread-Index: AQHTDX1tsAhZk8KQ4EaWWaYC4bqFsKJ6OByAgALAMwCACgX1gIAARbOAgArPZ3A= Date: Wed, 23 Aug 2017 13:59:59 +0000 Message-ID: <74F120C019F4A64C9B78E802F6AD4CC278DE88A3@IRSMSX106.ger.corp.intel.com> References: <20170801142631.10652-1-sysugaozhenyu@gmail.com> <74F120C019F4A64C9B78E802F6AD4CC278DD0473@IRSMSX106.ger.corp.intel.com> <74F120C019F4A64C9B78E802F6AD4CC278DD1215@IRSMSX106.ger.corp.intel.com> <0372200F-0C00-4E55-858C-9B297BFE5D33@vmware.com> In-Reply-To: <0372200F-0C00-4E55-858C-9B297BFE5D33@vmware.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZjBjMDQyMmItOWVmNS00Mjg1LWFjZDgtNDE0YmU3ODc3Y2IyIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6IjNFNjBcL3dGa1YzS0NHVjRaNnpcL0F2eSsrVUNSSWw1emVPVGxXTXl5bWp6MD0ifQ== x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 10.0.102.7 dlp-reaction: no-action x-originating-ip: [163.33.239.181] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-users] [ovs-dev] [PATCH v1] netdev-dpdk: Implement TCP/UDP TX cksum in ovs-dpdk side X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Aug 2017 14:00:18 -0000 PiANCj4gSGkgQ2lhcmENCj4gDQo+IFlvdSBoYWQgYSBnZW5lcmFsIGNvbmNlcm4gYmVsb3c7IGNh biB3ZSBjb25jbHVkZSBvbiB0aGF0IGJlZm9yZSBnb2luZw0KPiBmdXJ0aGVyID8NCj4gDQo+IFRo YW5rcyBEYXJyZWxsDQo+IA0KPiDigJwNCj4gPiBPbiBhbm90aGVyIG5vdGUgSSBoYXZlIGEgZ2Vu ZXJhbCBjb25jZXJuLiBJIHVuZGVyc3RhbmQgc2ltaWxhciBmdW5jdGlvbmFsaXR5DQo+ID4gaXMg cHJlc2VudCBpbiB0aGUgRFBESyB2aG9zdCBzYW1wbGUgYXBwLiBJIHdvbmRlciBpZiBpdCB3b3Vs ZCBiZSBmZWFzaWJsZQ0KPiBmb3INCj4gPiB0aGlzIHRvIGJlIGltcGxlbWVudGVkIGluIHRoZSBE UERLIHZob3N0IGxpYnJhcnkgYW5kIGxldmVyYWdlZCBoZXJlLA0KPiByYXRoZXINCj4gPiB0aGFu IGhhdmluZyB0d28gaW1wbGVtZW50YXRpb25zIGluIHR3byBzZXBhcmF0ZSBjb2RlIGJhc2VzLg0K DQpUaGlzIGlzIHNvbWV0aGluZyBJJ2QgbGlrZSB0byBzZWUsIGFsdGhvdWdoIEkgd291bGRuJ3Qg YmxvY2sgb24gdGhpcyBwYXRjaCB3YWl0aW5nIGZvciBpdC4NCk1heWJlIHdlIGNhbiBoYXZlIHRo ZSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFzIGl0IGlzIChpZiBpdCBwcm92ZXMgYmVuZWZpY2lh bCksIHRoZW4gbW92ZSB0byBhIGNvbW1vbiBEUERLIEFQSSBpZi93aGVuIGl0IGJlY29tZXMgYXZh aWxhYmxlLg0KDQpJJ3ZlIGNjJ2VkIERQREsgdXNlcnMgbGlzdCBob3BpbmcgZm9yIHNvbWUgaW5w dXQuIFRvIHN1bW1hcmlzZToNCkZyb20gbXkgdW5kZXJzdGFuZGluZywgdGhlIERQREsgdmhvc3Qg c2FtcGxlIGFwcGxpY2F0aW9uIGNhbGN1bGF0ZXMgVFggY2hlY2tzdW0gZm9yIHBhY2tldHMgcmVj ZWl2ZWQgZnJvbSB2SG9zdCBwb3J0cyB3aXRoIGludmFsaWQvMCBjaGVja3N1bXM6DQpodHRwOi8v ZHBkay5vcmcvYnJvd3NlL2RwZGsvdHJlZS9leGFtcGxlcy92aG9zdC9tYWluLmMjbjkxMA0KVGhl IHBhdGNoIGJlaW5nIGRpc2N1c3NlZCBpbiB0aGlzIHRocmVhZCAoYWxzbyBoZXJlOiBodHRwczov L3BhdGNod29yay5vemxhYnMub3JnL3BhdGNoLzgwMjA3MC8pIGl0IHNlZW1zIGRvZXMgc29tZXRo aW5nIHZlcnkgc2ltaWxhci4NCldvbmRlcmluZyBvbiB0aGUgZmVhc2liaWxpdHkgb2YgcHV0dGlu ZyB0aGlzIGZ1bmN0aW9uYWxpdHkgaW4gYSBydGVfdmhvc3QgbGlicmFyeSBjYWxsIHN1Y2ggdGhh dCB3ZSBkb24ndCBoYXZlIHR3byBzZXBhcmF0ZSBpbXBsZW1lbnRhdGlvbnM/DQoNClRoYW5rcywN CkNpYXJhDQoNCj4gPg0KPiA+IEkgaGF2ZSBzb21lIG90aGVyIGNvbW1lbnRzIGlubGluZS4NCj4g Pg0KPiA+IFRoYW5rcywNCj4gPiBDaWFyYQ0KPiDigJwNCj4gDQo+IA0KPiANCj4gRnJvbTogR2Fv IFpoZW55dSA8c3lzdWdhb3poZW55dUBnbWFpbC5jb20+DQo+IERhdGU6IFdlZG5lc2RheSwgQXVn dXN0IDE2LCAyMDE3IGF0IDY6MzggQU0NCj4gVG86ICJMb2Z0dXMsIENpYXJhIiA8Y2lhcmEubG9m dHVzQGludGVsLmNvbT4NCj4gQ2M6ICJibHBAb3ZuLm9yZyIgPGJscEBvdm4ub3JnPiwgIkNoYW5k cmFuLCBTdWdlc2giDQo+IDxzdWdlc2guY2hhbmRyYW5AaW50ZWwuY29tPiwgImt0cmF5bm9yQHJl ZGhhdC5jb20iDQo+IDxrdHJheW5vckByZWRoYXQuY29tPiwgRGFycmVsbCBCYWxsIDxkYmFsbEB2 bXdhcmUuY29tPiwNCj4gImRldkBvcGVudnN3aXRjaC5vcmciIDxkZXZAb3BlbnZzd2l0Y2gub3Jn Pg0KPiBTdWJqZWN0OiBSZTogW292cy1kZXZdIFtQQVRDSCB2MV0gbmV0ZGV2LWRwZGs6IEltcGxl bWVudCBUQ1AvVURQIFRYDQo+IGNrc3VtIGluIG92cy1kcGRrIHNpZGUNCj4gDQo+IEhpIExvZnR1 cywNCj4gwqDCoCBJIGhhZCBzdWJtaXR0ZWQgYSBuZXcgdmVyc2lvbiwgcGxlYXNlIHNlZQ0KPiBo dHRwczovL3BhdGNod29yay5vemxhYnMub3JnL3BhdGNoLzgwMjA3MC8NCj4gwqDCoCBJdCBtb3Zl IHRoZSBja3N1bSB0byB2aG9zdCByZWNlaXZlIHNpZGUuDQo+IFRoYW5rcw0KPiBaaGVueXUgR2Fv DQo+IA0KPiAyMDE3LTA4LTEwIDEyOjM1IEdNVCswODowMCBHYW8gWmhlbnl1IDxzeXN1Z2Fvemhl bnl1QGdtYWlsLmNvbT46DQo+IEkgc2VlLCBmb3IgZmxvd3MgaW4gcGh5LXBoeSBzZXR1cCwgdGhl eSBzaG91bGQgbm90IGJlIGNhbGN1bGF0ZSBja3N1bS4NCj4gSSB3aWxsIHJldmlzZSBteSBwYXRj aCB0byBkbyB0aGUgY2tzdW0gZm9yIHZob3N0IHBvcnQgb25seS4gSSB3aWxsIHNlbmQgYSBuZXcN Cj4gcGF0Y2ggbmV4dCB3ZWVrLg0KPiANCj4gVGhhbmtzDQo+IFpoZW55dSBHYW8NCj4gDQo+IDIw MTctMDgtMDggMTc6NTMgR01UKzA4OjAwIExvZnR1cywgQ2lhcmEgPGNpYXJhLmxvZnR1c0BpbnRl bC5jb20+Og0KPiA+DQo+ID4gSGkgTG9mdHVzLA0KPiA+DQo+ID4gVGhhbmtzIGZvciB0ZXN0aW5n IGFuZCB0aGUgY29tbWVudHMhDQo+ID4gQ2FuIHlvdSBzaG93IG1vcmUgZGV0YWlscyBhYm91dCB5 b3VyIHBoeS12bS1waHkscGh5LXBoeSBzZXR1cCBhbmQNCj4gPiB0ZXN0aW5nIHN0ZXBzPyBUaGVu IEkgY2FuIHJlcHJvZHVjZSBpdCB0byBzZWUgaWYgSSBjYW4gc29sdmUgdGhpcyBwcHMgcHJvYmxl bS4NCj4gDQo+IFlvdSdyZSB3ZWxjb21lLiBJIGZvcmdvdCB0byBtZW50aW9uIG15IHRlc3RzIHdl cmUgd2l0aCA2NEIgcGFja2V0cy4NCj4gDQo+IEZvciBwaHktcGh5IHRoZSBzZXR1cCBpcyBhIHNp bmdsZSBob3N0IHdpdGggMiBkcGRrIHBoeXNpY2FsIHBvcnRzIGFuZCAxIGZsb3cNCj4gcnVsZSBw b3J0MSAtPiBwb3J0Mi4NCj4gU2VlIGZpZ3VyZSAzIGhlcmU6IGh0dHBzOi8vdG9vbHMuaWV0Zi5v cmcvaHRtbC9kcmFmdC1pZXRmLWJtd2ctdnN3aXRjaC0NCj4gb3BuZnYtMDQjc2VjdGlvbi00DQo+ IA0KPiBGb3IgdGhlIHBoeS12bS1waHkgdGhlIHNldHVwIGlzIGEgc2luZ2xlIGhvc3Qgd2l0aCAy IGRwZGsgcGh5c2ljYWwgcG9ydHMgYW5kIDINCj4gdmhvc3R1c2VyIHBvcnRzIHdpdGggZmxvdyBy dWxlczoNCj4gRHBkazEgLT4gdmhvc3QgMSAmIHZob3N0MiAtPiBkcGRrMg0KPiBJUCBydWxlcyBh cmUgc2V0IHVwIGluIHRoZSBWTSB0byByb3V0ZSBwYWNrZXRzIGZyb20gdmhvc3QxIHRvIHZob3N0 IDIuDQo+IFNlZSBmaWd1cmUgNCBpbiB0aGUgbGluayBhYm92ZS4NCj4gDQo+ID4NCj4gPiBCVFcs IGhvdyBhYm91dCB0aHJvdWdocHV0LCBkaWQgeW91IHNhdyBpbXByb3ZtZW50Pw0KPiANCj4gQnkg dGhyb3VnaHB1dCBpZiB5b3UgbWVhbiAwJSBwYWNrZXQgbG9zcywgSSBkaWQgbm90IHRlc3QgdGhp cy4NCj4gDQo+IFRoYW5rcywNCj4gQ2lhcmENCj4gDQo+ID4NCj4gPiBJIHdvdWxkIGxpa2UgdG8g aW1wbGVtZW50IHZob3N0LT52aG9zdCBwYXJ0Lg0KPiA+DQo+ID4gVGhhbmtzDQo+ID4gWmhlbnl1 IEdhbw0KPiA+DQo+ID4gMjAxNy0wOC0wNCAyMjo1MiBHTVQrMDg6MDAgTG9mdHVzLCBDaWFyYSA8 Y2lhcmEubG9mdHVzQGludGVsLmNvbT46DQo+ID4gPg0KPiA+ID4gQ3VycmVudGx5LCB0aGUgZHBk ay12aG9zdCBzaWRlIGluIG92cyBkb2Vzbid0IHN1cHBvcnQgdGNwL3VkcCB0eCBja3N1bS4NCj4g PiA+IFNvIEw0IHBhY2tldHMncyBja3N1bSB3ZXJlIGNhbGN1bGF0ZWQgaW4gVk0gc2lkZSBidXQg cGVyZm9ybWFuY2UgaXMgbm90DQo+ID4gPiBnb29kLg0KPiA+ID4gSW1wbGVtZW50aW5nIHRjcC91 ZHAgdHggY2tzdW0gaW4gb3ZzLWRwZGsgc2lkZSBpbXByb3ZlcyB0aHJvdWdocHV0DQo+IGFuZA0K PiA+ID4gbWFrZXMgdmlydGlvLW5ldCBmcm9udGVuZC1kcml2ZXIgc3VwcG9ydCBORVRJRl9GX1NH IGFzIHdlbGwNCj4gPiA+DQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBaaGVueXUgR2FvIDxzeXN1Z2Fv emhlbnl1QGdtYWlsLmNvbT4NCj4gPiA+IC0tLQ0KPiA+ID4NCj4gPiA+IEhlcmUgaXMgc29tZSBw ZXJmb3JtYW5jZSBudW1iZXI6DQo+ID4gPg0KPiA+ID4gU2V0dXA6DQo+ID4gPg0KPiA+ID7CoCBx cGVyZiBjbGllbnQNCj4gPiA+ICstLS0tLS0tLS0rDQo+ID4gPiB8wqAgwqBWTcKgIMKgIHwNCj4g PiA+ICstLS0tLS0tLS0rDQo+ID4gPsKgIMKgIMKgIHwNCj4gPiA+wqAgwqAgwqAgfMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHFwZXJmIHNlcnZlcg0KPiA+ID4gKy0tLS0t LS0tLS0tLS0tK8KgIMKgIMKgIMKgIMKgIMKgIMKgICstLS0tLS0tLS0tLS0rDQo+ID4gPiB8IHZz d2l0Y2grZHBkayB8wqAgwqAgwqAgwqAgwqAgwqAgwqAgfCBiYXJlLW1ldGFsIHwNCj4gPiA+ICst LS0tLS0tLS0tLS0tLSvCoCDCoCDCoCDCoCDCoCDCoCDCoCArLS0tLS0tLS0tLS0tKw0KPiA+ID7C oCDCoCDCoCDCoCB8wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfA0K PiA+ID7CoCDCoCDCoCDCoCB8wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgfA0KPiA+ID7CoCDCoCDCoCDCoHBOaWMtLS0tLS0tLS1QaHlzaWNhbFN3aXRjaC0tLS0NCj4g PiA+DQo+ID4gPiBkbyBja3N1bSBpbiBvdnMtZHBkazogQXBwbGllZCB0aGlzIHBhdGNoIGFuZCBl eGVjdXRlICdldGh0b29sIC1LIGV0aDAgdHgNCj4gPiBvbicNCj4gPiA+IGluIFZNIHNpZGUuDQo+ ID4gPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgSXQgb2ZmbG9hZCBja3N1bSBq b2IgdG8gb3ZzLWRwZGsgc2lkZS4NCj4gPiA+DQo+ID4gPiBkbyBja3N1bSBpbiBWTTogQXBwbGll ZCB0aGlzIHBhdGNoIGFuZCBleGVjdXRlICdldGh0b29sIC1LIGV0aDAgdHggb2ZmJyBpbg0KPiA+ IFZNDQo+ID4gPiBzaWRlLg0KPiA+ID7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoFZNIGNhbGN1 bGF0ZSBja3N1bSBmb3IgdGNwL3VkcCBwYWNrZXRzLg0KPiA+ID4NCj4gPiA+IFdlIGNhbiBzZWUg aHVnZSBpbXByb3ZtZW50IGluIFRDUCB0aHJvdWdocHV0IGlmIHdlIGxldmVyYWdlIG92cy1kcGRr DQo+ID4gPiBja3N1bS4NCj4gPiBIaSBaaGVueXUsDQo+ID4NCj4gPiBUaGFua3MgZm9yIHRoZSBw YXRjaC4gSSB0ZXN0ZWQgc29tZSBhbHRlcm5hdGl2ZSB1c2UgY2FzZXMgYW5kDQo+IHVuZm9ydHVu YXRlbHkgSQ0KPiA+IHNlZSBhIGRlZ3JhZGF0aW9uIGZvciBwaHktcGh5IGFuZCBwaHktdm0tcGh5 IHRvcG9sb2dpZXMuDQo+ID4gSGVyZSBhcmUgbXkgcmVzdWx0czoNCj4gPg0KPiA+IHBoeS12bS1w aHk6DQo+ID4gd2l0aG91dCBwYXRjaDogMC44NzFNcHBzDQo+ID4gd2l0aCBwYXRjaCAob2ZmbG9h ZD1vbik6IDAuODc3TXBwcw0KPiA+IHdpdGggcGF0Y2ggKG9mZmxvYWQ9b2ZmKTogMC44OTFNcHBz DQo+ID4NCj4gPiBwaHktcGh5Og0KPiA+IHdpdGhvdXQgcGF0Y2g6IDEzLjU4MU1wcHMNCj4gPiB3 aXRoIHBhdGNoOiAxMy4wNTVNcHBzDQo+ID4NCj4gPiBUaGUgaGFsZiBhIG1pbGxpb24gcHBzIGRy b3AgZm9yIHRoZSBzZWNvbmQgdGVzdCBjYXNlIGlzIGNvbmNlcm5pbmcgdG8gbWUgYnV0DQo+ID4g bm90IHN1cnByaXNpbmcgc2luY2Ugd2UncmUgYWRkaW5nIGV4dHJhIGNvbXBsZXhpdHkgdG8gbmV0 ZGV2X2RwZGtfc2VuZCgpDQo+ID4gQ291bGQgdGhpcyBiZSBhdm9pZGVkPyBXb3VsZCBpdCBtYWtl IHNlbnNlIHRvIHB1dCB0aGlzIGZ1bmN0aW9uYWxpdHkNCj4gPiBzb21ld2hlcmUgZWxzZSBlZy4g dmhvc3QgcmVjZWl2ZT8NCj4gPg0KPiA+IE9uIGFub3RoZXIgbm90ZSBJIGhhdmUgYSBnZW5lcmFs IGNvbmNlcm4uIEkgdW5kZXJzdGFuZCBzaW1pbGFyIGZ1bmN0aW9uYWxpdHkNCj4gPiBpcyBwcmVz ZW50IGluIHRoZSBEUERLIHZob3N0IHNhbXBsZSBhcHAuIEkgd29uZGVyIGlmIGl0IHdvdWxkIGJl IGZlYXNpYmxlDQo+IGZvcg0KPiA+IHRoaXMgdG8gYmUgaW1wbGVtZW50ZWQgaW4gdGhlIERQREsg dmhvc3QgbGlicmFyeSBhbmQgbGV2ZXJhZ2VkIGhlcmUsDQo+IHJhdGhlcg0KPiA+IHRoYW4gaGF2 aW5nIHR3byBpbXBsZW1lbnRhdGlvbnMgaW4gdHdvIHNlcGFyYXRlIGNvZGUgYmFzZXMuDQo+ID4N Cj4gPiBJIGhhdmUgc29tZSBvdGhlciBjb21tZW50cyBpbmxpbmUuDQo+ID4NCj4gPiBUaGFua3Ms DQo+ID4gQ2lhcmENCj4gPg0KPiA+ID4NCj4gPiA+IFtyb290QGxvY2FsaG9zdCB+XSMgcXBlcmYg LXQgMTAgLW9vIG1zZ19zaXplOjE6NjRLOioywqAgaG9zdC1xcGVyZi0NCj4gc2VydmVyMDENCj4g PiA+IHRjcF9idyB0Y3BfbGF0IHVkcF9idyB1ZHBfbGF0DQo+ID4gPsKgIMKgZG8gY2tzdW0gaW4g b3ZzLWRwZGvCoCDCoCDCoCDCoCDCoCBkbyBja3N1bSBpbiBWTcKgIMKgIMKgIMKgIMKgIMKgIMKg d2l0aG91dCB0aGlzIHBhdGNoDQo+ID4gPiB0Y3BfYnc6DQo+ID4gPsKgIMKgIMKgYnfCoCA9wqAg Mi4wNSBNQi9zZWPCoCDCoCDCoCDCoCBid8KgID3CoCAxLjkyIE1CL3NlY8KgIMKgIMKgIMKgIGJ3 wqAgPcKgIDEuOTUgTUIvc2VjDQo+ID4gPiB0Y3BfYnc6DQo+ID4gPsKgIMKgIMKgYnfCoCA9wqAg My45IE1CL3NlY8KgIMKgIMKgIMKgIMKgYnfCoCA9wqAgMy45OSBNQi9zZWPCoCDCoCDCoCDCoCBi d8KgID3CoCAzLjk4IE1CL3NlYw0KPiA+ID4gdGNwX2J3Og0KPiA+ID7CoCDCoCDCoGJ3wqAgPcKg IDguMDkgTUIvc2VjwqAgwqAgwqAgwqAgYnfCoCA9wqAgNy44MiBNQi9zZWPCoCDCoCDCoCDCoCBi d8KgID3CoCA4LjE5IE1CL3NlYw0KPiA+ID4gdGNwX2J3Og0KPiA+ID7CoCDCoCDCoGJ3wqAgPcKg IDE0LjkgTUIvc2VjwqAgwqAgwqAgwqAgYnfCoCA9wqAgMTQuOCBNQi9zZWPCoCDCoCDCoCDCoCBi d8KgID3CoCAxNS43IE1CL3NlYw0KPiA+ID4gdGNwX2J3Og0KPiA+ID7CoCDCoCDCoGJ3wqAgPcKg IDI3LjcgTUIvc2VjwqAgwqAgwqAgwqAgYnfCoCA9wqAgMjggTUIvc2VjwqAgwqAgwqAgwqAgwqAg YnfCoCA9wqAgMjkuNyBNQi9zZWMNCj4gPiA+IHRjcF9idzoNCj4gPiA+wqAgwqAgwqBid8KgID3C oCA1MS4yIE1CL3NlY8KgIMKgIMKgIMKgIGJ3wqAgPcKgIDUwLjkgTUIvc2VjwqAgwqAgwqAgwqAg YnfCoCA9wqAgNTQuOSBNQi9zZWMNCj4gPiA+IHRjcF9idzoNCj4gPiA+wqAgwqAgwqBid8KgID3C oCA4Ni43IE1CL3NlY8KgIMKgIMKgIMKgIGJ3wqAgPcKgIDg2LjggTUIvc2VjwqAgwqAgwqAgwqAg YnfCoCA9wqAgOTUuMSBNQi9zZWMNCj4gPiA+IHRjcF9idzoNCj4gPiA+wqAgwqAgwqBid8KgID3C oCAxNDkgTUIvc2VjwqAgwqAgwqAgwqAgwqBid8KgID3CoCAxNjAgTUIvc2VjwqAgwqAgwqAgwqAg wqBid8KgID3CoCAxNDkgTUIvc2VjDQo+ID4gPiB0Y3BfYnc6DQo+ID4gPsKgIMKgIMKgYnfCoCA9 wqAgMjExIE1CL3NlY8KgIMKgIMKgIMKgIMKgYnfCoCA9wqAgMjA1IE1CL3NlY8KgIMKgIMKgIMKg IMKgYnfCoCA9wqAgMjE2IE1CL3NlYw0KPiA+ID4gdGNwX2J3Og0KPiA+ID7CoCDCoCDCoGJ3wqAg PcKgIDI3MSBNQi9zZWPCoCDCoCDCoCDCoCDCoGJ3wqAgPcKgIDI1NCBNQi9zZWPCoCDCoCDCoCDC oCDCoGJ3wqAgPcKgIDI3NSBNQi9zZWMNCj4gPiA+IHRjcF9idzoNCj4gPiA+wqAgwqAgwqBid8Kg ID3CoCAzMjYgTUIvc2VjwqAgwqAgwqAgwqAgwqBid8KgID3CoCAzMDMgTUIvc2VjwqAgwqAgwqAg wqAgwqBid8KgID3CoCAzMjEgTUIvc2VjDQo+ID4gPiB0Y3BfYnc6DQo+ID4gPsKgIMKgIMKgYnfC oCA9wqAgNDA3IE1CL3NlY8KgIMKgIMKgIMKgIMKgYnfCoCA9wqAgMzU5IE1CL3NlY8KgIMKgIMKg IMKgIMKgYnfCoCA9wqAgMzYxIE1CL3NlYw0KPiA+ID4gdGNwX2J3Og0KPiA+ID7CoCDCoCDCoGJ3 wqAgPcKgIDgxNiBNQi9zZWPCoCDCoCDCoCDCoCDCoGJ3wqAgPcKgIDUxMiBNQi9zZWPCoCDCoCDC oCDCoCDCoGJ3wqAgPcKgIDQxOSBNQi9zZWMNCj4gPiA+IHRjcF9idzoNCj4gPiA+wqAgwqAgwqBi d8KgID3CoCA4NDAgTUIvc2VjwqAgwqAgwqAgwqAgwqBid8KgID3CoCA3NTYgTUIvc2VjwqAgwqAg wqAgwqAgwqBid8KgID3CoCA0NTcgTUIvc2VjDQo+ID4gPiB0Y3BfYnc6DQo+ID4gPsKgIMKgIMKg YnfCoCA9wqAgMS4wNyBHQi9zZWPCoCDCoCDCoCDCoCBid8KgID3CoCA4ODAgTUIvc2VjwqAgwqAg wqAgwqAgwqBid8KgID3CoCA0ODAgTUIvc2VjDQo+ID4gPiB0Y3BfYnc6DQo+ID4gPsKgIMKgIMKg YnfCoCA9wqAgMS4xNyBHQi9zZWPCoCDCoCDCoCDCoCBid8KgID3CoCAxLjAxIEdCL3NlY8KgIMKg IMKgIMKgIGJ3wqAgPcKgIDQ4OCBNQi9zZWMNCj4gPiA+IHRjcF9idzoNCj4gPiA+wqAgwqAgwqBi d8KgID3CoCAxLjE3IEdCL3NlY8KgIMKgIMKgIMKgIGJ3wqAgPcKgIDEuMTEgR0Ivc2VjwqAgwqAg wqAgwqAgYnfCoCA9wqAgNDgzIE1CL3NlYw0KPiA+ID4gdGNwX2xhdDoNCj4gPiA+wqAgwqAgwqBs YXRlbmN5wqAgPcKgIDI5IHVzwqAgwqAgwqAgwqAgwqBsYXRlbmN5wqAgPcKgIDI5LjIgdXPCoCDC oCDCoCDCoGxhdGVuY3nCoCA9wqAgMjkuNiB1cw0KPiA+ID4gdGNwX2xhdDoNCj4gPiA+wqAgwqAg wqBsYXRlbmN5wqAgPcKgIDI4LjkgdXPCoCDCoCDCoCDCoGxhdGVuY3nCoCA9wqAgMjkuMyB1c8Kg IMKgIMKgIMKgbGF0ZW5jecKgID3CoCAyOS41IHVzDQo+ID4gPiB0Y3BfbGF0Og0KPiA+ID7CoCDC oCDCoGxhdGVuY3nCoCA9wqAgMjkgdXPCoCDCoCDCoCDCoCDCoGxhdGVuY3nCoCA9wqAgMjkuMyB1 c8KgIMKgIMKgIMKgbGF0ZW5jecKgID3CoCAyOS42IHVzDQo+ID4gPiB0Y3BfbGF0Og0KPiA+ID7C oCDCoCDCoGxhdGVuY3nCoCA9wqAgMjkgdXPCoCDCoCDCoCDCoCDCoGxhdGVuY3nCoCA9wqAgMjku NCB1c8KgIMKgIMKgIMKgbGF0ZW5jecKgID3CoCAyOS41IHVzDQo+ID4gPiB0Y3BfbGF0Og0KPiA+ ID7CoCDCoCDCoGxhdGVuY3nCoCA9wqAgMjkgdXPCoCDCoCDCoCDCoCDCoGxhdGVuY3nCoCA9wqAg MjkuMiB1c8KgIMKgIMKgIMKgbGF0ZW5jecKgID3CoCAyOS42IHVzDQo+ID4gPiB0Y3BfbGF0Og0K PiA+ID7CoCDCoCDCoGxhdGVuY3nCoCA9wqAgMjkuMSB1c8KgIMKgIMKgIMKgbGF0ZW5jecKgID3C oCAyOS4zIHVzwqAgwqAgwqAgwqBsYXRlbmN5wqAgPcKgIDI5LjcgdXMNCj4gPiA+IHRjcF9sYXQ6 DQo+ID4gPsKgIMKgIMKgbGF0ZW5jecKgID3CoCAyOS40IHVzwqAgwqAgwqAgwqBsYXRlbmN5wqAg PcKgIDI5LjYgdXPCoCDCoCDCoCDCoGxhdGVuY3nCoCA9wqAgMzAgdXMNCj4gPiA+IHRjcF9sYXQ6 DQo+ID4gPsKgIMKgIMKgbGF0ZW5jecKgID3CoCAyOS44IHVzwqAgwqAgwqAgwqBsYXRlbmN5wqAg PcKgIDMwLjEgdXPCoCDCoCDCoCDCoGxhdGVuY3nCoCA9wqAgMzAuMiB1cw0KPiA+ID4gdGNwX2xh dDoNCj4gPiA+wqAgwqAgwqBsYXRlbmN5wqAgPcKgIDMwLjkgdXPCoCDCoCDCoCDCoGxhdGVuY3nC oCA9wqAgMzAuOSB1c8KgIMKgIMKgIMKgbGF0ZW5jecKgID3CoCAzMSB1cw0KPiA+ID4gdGNwX2xh dDoNCj4gPiA+wqAgwqAgwqBsYXRlbmN5wqAgPcKgIDQ2LjkgdXPCoCDCoCDCoCDCoGxhdGVuY3nC oCA9wqAgNDYuMiB1c8KgIMKgIMKgIMKgbGF0ZW5jecKgID3CoCAzMi4yIHVzDQo+ID4gPiB0Y3Bf bGF0Og0KPiA+ID7CoCDCoCDCoGxhdGVuY3nCoCA9wqAgNTEuNSB1c8KgIMKgIMKgIMKgbGF0ZW5j ecKgID3CoCA1Mi42IHVzwqAgwqAgwqAgwqBsYXRlbmN5wqAgPcKgIDM0LjUgdXMNCj4gPiA+IHRj cF9sYXQ6DQo+ID4gPsKgIMKgIMKgbGF0ZW5jecKgID3CoCA0My45IHVzwqAgwqAgwqAgwqBsYXRl bmN5wqAgPcKgIDQzLjggdXPCoCDCoCDCoCDCoGxhdGVuY3nCoCA9wqAgNDMuNiB1cw0KPiA+ID4g dGNwX2xhdDoNCj4gPiA+wqAgwqAgwqAgbGF0ZW5jecKgID3CoCA0Ny42IHVzwqAgwqAgwqAgbGF0 ZW5jecKgID3CoCA0OCB1c8KgIMKgIMKgIMKgIMKgbGF0ZW5jecKgID3CoCA0OC4xIHVzDQo+ID4g PiB0Y3BfbGF0Og0KPiA+ID7CoCDCoCDCoGxhdGVuY3nCoCA9wqAgNzcuNyB1c8KgIMKgIMKgIMKg bGF0ZW5jecKgID3CoCA3OC44IHVzwqAgwqAgwqAgwqBsYXRlbmN5wqAgPcKgIDc4LjggdXMNCj4g PiA+IHRjcF9sYXQ6DQo+ID4gPsKgIMKgIMKgbGF0ZW5jecKgID3CoCA4Mi44IHVzwqAgwqAgwqAg wqBsYXRlbmN5wqAgPcKgIDgyLjMgdXPCoCDCoCDCoCDCoGxhdGVuY3nCoCA9wqAgMTE2IHVzDQo+ ID4gPiB0Y3BfbGF0Og0KPiA+ID7CoCDCoCDCoGxhdGVuY3nCoCA9wqAgOTQuOCB1c8KgIMKgIMKg IMKgbGF0ZW5jecKgID3CoCA5NC4yIHVzwqAgwqAgwqAgwqBsYXRlbmN5wqAgPcKgIDEzNCB1cw0K PiA+ID4gdGNwX2xhdDoNCj4gPiA+wqAgwqAgwqBsYXRlbmN5wqAgPcKgIDE2NyB1c8KgIMKgIMKg IMKgIGxhdGVuY3nCoCA9wqAgMTk3IHVzwqAgwqAgwqAgwqAgbGF0ZW5jecKgID3CoCAxNzIgdXMN Cj4gPiA+IHVkcF9idzoNCj4gPiA+wqAgwqAgwqBzZW5kX2J3wqAgPcKgIDQxOCBLQi9zZWPCoCDC oCBzZW5kX2J3wqAgPcKgIDQxMyBLQi9zZWPCoCDCoCBzZW5kX2J3wqAgPcKgIDQwMw0KPiA+IEtC L3NlYw0KPiA+ID7CoCDCoCDCoHJlY3ZfYnfCoCA9wqAgNDEwIEtCL3NlY8KgIMKgIHJlY3ZfYnfC oCA9wqAgNDEyIEtCL3NlY8KgIMKgIHJlY3ZfYnfCoCA9wqAgNDAwDQo+IEtCL3NlYw0KPiA+ID4g dWRwX2J3Og0KPiA+ID7CoCDCoCDCoHNlbmRfYnfCoCA9wqAgODMxIEtCL3NlY8KgIMKgIHNlbmRf YnfCoCA9wqAgODI1IEtCL3NlY8KgIMKgIHNlbmRfYnfCoCA9wqAgODEwDQo+ID4gS0Ivc2VjDQo+ ID4gPsKgIMKgIMKgcmVjdl9id8KgID3CoCA4MjggS0Ivc2VjwqAgwqAgcmVjdl9id8KgID3CoCA4 MTYgS0Ivc2VjwqAgwqAgcmVjdl9id8KgID3CoCA4MDcNCj4gS0Ivc2VjDQo+ID4gPiB1ZHBfYnc6 DQo+ID4gPsKgIMKgIMKgc2VuZF9id8KgID3CoCAxLjY3IE1CL3NlY8KgIMKgc2VuZF9id8KgID3C oCAxLjY1IE1CL3NlY8KgIMKgc2VuZF9id8KgID3CoCAxLjYzDQo+ID4gPiBNQi9zZWMNCj4gPiA+ wqAgwqAgwqByZWN2X2J3wqAgPcKgIDEuNjQgTUIvc2VjwqAgwqByZWN2X2J3wqAgPcKgIDEuNjIg TUIvc2VjwqAgwqByZWN2X2J3wqAgPcKgIDEuNjMNCj4gPiA+IE1CL3NlYw0KPiA+ID4gdWRwX2J3 Og0KPiA+ID7CoCDCoCDCoHNlbmRfYnfCoCA9wqAgMy4zNiBNQi9zZWPCoCDCoHNlbmRfYnfCoCA9 wqAgMy4yOSBNQi9zZWPCoCDCoHNlbmRfYnfCoCA9wqAgMy4yNg0KPiA+ID4gTUIvc2VjDQo+ID4g PsKgIMKgIMKgcmVjdl9id8KgID3CoCAzLjI5IE1CL3NlY8KgIMKgcmVjdl9id8KgID3CoCAzLjI1 IE1CL3NlY8KgIMKgcmVjdl9id8KgID3CoCAyLjgyDQo+ID4gPiBNQi9zZWMNCj4gPiA+IHVkcF9i dzoNCj4gPiA+wqAgwqAgwqBzZW5kX2J3wqAgPcKgIDYuNzIgTUIvc2VjwqAgwqBzZW5kX2J3wqAg PcKgIDYuNjEgTUIvc2VjwqAgwqBzZW5kX2J3wqAgPcKgIDYuNDUNCj4gPiA+IE1CL3NlYw0KPiA+ ID7CoCDCoCDCoHJlY3ZfYnfCoCA9wqAgNi41NCBNQi9zZWPCoCDCoHJlY3ZfYnfCoCA9wqAgNi41 OSBNQi9zZWPCoCDCoHJlY3ZfYnfCoCA9wqAgNi40NQ0KPiA+ID4gTUIvc2VjDQo+ID4gPiB1ZHBf Ync6DQo+ID4gPsKgIMKgIMKgc2VuZF9id8KgID3CoCAxMy40IE1CL3NlY8KgIMKgc2VuZF9id8Kg ID3CoCAxMy4yIE1CL3NlY8KgIMKgc2VuZF9id8KgID3CoCAxMw0KPiA+ID4gTUIvc2VjDQo+ID4g PsKgIMKgIMKgcmVjdl9id8KgID3CoCAxMy4xIE1CL3NlY8KgIMKgcmVjdl9id8KgID3CoCAxMy4x IE1CL3NlY8KgIMKgcmVjdl9id8KgID3CoCAxMw0KPiA+IE1CL3NlYw0KPiA+ID4gdWRwX2J3Og0K PiA+ID7CoCDCoCDCoHNlbmRfYnfCoCA9wqAgMjYuOCBNQi9zZWPCoCDCoHNlbmRfYnfCoCA9wqAg MjYuNCBNQi9zZWPCoCDCoHNlbmRfYnfCoCA9wqAgMjUuOQ0KPiA+ID4gTUIvc2VjDQo+ID4gPsKg IMKgIMKgcmVjdl9id8KgID3CoCAyNi40IE1CL3NlY8KgIMKgcmVjdl9id8KgID3CoCAyNi4yIE1C L3NlY8KgIMKgcmVjdl9id8KgID3CoCAyNS43DQo+ID4gPiBNQi9zZWMNCj4gPiA+IHVkcF9idzoN Cj4gPiA+wqAgwqAgwqBzZW5kX2J3wqAgPcKgIDUzLjQgTUIvc2VjwqAgwqBzZW5kX2J3wqAgPcKg IDUyLjUgTUIvc2VjwqAgwqBzZW5kX2J3wqAgPcKgIMKgIDUyDQo+ID4gPiBNQi9zZWMNCj4gPiA+ wqAgwqAgwqByZWN2X2J3wqAgPcKgIDQ4LjQgTUIvc2VjwqAgwqByZWN2X2J3wqAgPcKgIDUxLjgg TUIvc2VjwqAgwqByZWN2X2J3wqAgPcKgIDUxLjINCj4gPiA+IE1CL3NlYw0KPiA+ID4gdWRwX2J3 Og0KPiA+ID7CoCDCoCDCoHNlbmRfYnfCoCA9wqAgwqAxMDYgTUIvc2VjwqAgwqBzZW5kX2J3wqAg PcKgIMKgMTA0IE1CL3NlY8KgIMKgc2VuZF9id8KgID3CoCAxMDMNCj4gPiA+IE1CL3NlYw0KPiA+ ID7CoCDCoCDCoHJlY3ZfYnfCoCA9wqAgOTguOSBNQi9zZWPCoCDCoHJlY3ZfYnfCoCA9wqAgOTMu MiBNQi9zZWPCoCDCoHJlY3ZfYnfCoCA9wqAgMTAwDQo+ID4gTUIvc2VjDQo+ID4gPiB1ZHBfYnc6 DQo+ID4gPsKgIMKgIMKgc2VuZF9id8KgID3CoCAyMTMgTUIvc2VjwqAgwqAgc2VuZF9id8KgID3C oCAyMDYgTUIvc2VjwqAgwqAgc2VuZF9id8KgID3CoCAyMDUNCj4gPiA+IE1CL3NlYw0KPiA+ID7C oCDCoCDCoHJlY3ZfYnfCoCA9wqAgMTk3IE1CL3NlY8KgIMKgIHJlY3ZfYnfCoCA9wqAgMTk2IE1C L3NlY8KgIMKgIHJlY3ZfYnfCoCA9wqAgMjAyDQo+ID4gTUIvc2VjDQo+ID4gPiB1ZHBfYnc6DQo+ ID4gPsKgIMKgIMKgc2VuZF9id8KgID3CoCA0MTcgTUIvc2VjwqAgwqAgc2VuZF9id8KgID3CoCA0 MDUgTUIvc2VjwqAgwqAgc2VuZF9id8KgID3CoCA0MDENCj4gPiA+IE1CL3NlYw0KPiA+ID7CoCDC oCDCoHJlY3ZfYnfCoCA9wqAgNDAwIE1CL3NlY8KgIMKgIHJlY3ZfYnfCoCA9wqAgMzMzIE1CL3Nl Y8KgIMKgIHJlY3ZfYnfCoCA9wqAgMzU4DQo+ID4gTUIvc2VjDQo+ID4gPiB1ZHBfYnc6DQo+ID4g PsKgIMKgIMKgc2VuZF9id8KgID3CoCA1NTYgTUIvc2VjwqAgwqAgc2VuZF9id8KgID3CoCA1NTIg TUIvc2VjwqAgwqAgc2VuZF9id8KgID3CoCA1NTcNCj4gPiA+IE1CL3NlYw0KPiA+ID7CoCDCoCDC oHJlY3ZfYnfCoCA9wqAgMzYxIE1CL3NlY8KgIMKgIHJlY3ZfYnfCoCA9wqAgMzY1IE1CL3NlY8Kg IMKgIHJlY3ZfYnfCoCA9wqAgMzYyDQo+ID4gTUIvc2VjDQo+ID4gPiB1ZHBfYnc6DQo+ID4gPsKg IMKgIMKgc2VuZF9id8KgID3CoCA4NjUgTUIvc2VjwqAgwqAgc2VuZF9id8KgID3CoCA4NjYgTUIv c2VjwqAgwqAgc2VuZF9id8KgID3CoCA4NjMNCj4gPiA+IE1CL3NlYw0KPiA+ID7CoCDCoCDCoHJl Y3ZfYnfCoCA9wqAgNTY0IE1CL3NlY8KgIMKgIHJlY3ZfYnfCoCA9wqAgNTczIE1CL3NlY8KgIMKg IHJlY3ZfYnfCoCA9wqAgNTg0DQo+ID4gTUIvc2VjDQo+ID4gPiB1ZHBfYnc6DQo+ID4gPsKgIMKg IMKgc2VuZF9id8KgID3CoCAxLjA1IEdCL3NlY8KgIMKgc2VuZF9id8KgID3CoCAxLjA5IEdCL3Nl Y8KgIMKgc2VuZF9id8KgID3CoCAxLjA4DQo+ID4gPiBHQi9zZWMNCj4gPiA+wqAgwqAgwqByZWN2 X2J3wqAgPcKgIMKgNzg5IE1CL3NlY8KgIMKgcmVjdl9id8KgID3CoCDCoDczMiBNQi9zZWPCoCDC oHJlY3ZfYnfCoCA9wqAgwqA3OTMNCj4gPiA+IE1CL3NlYw0KPiA+ID4gdWRwX2J3Og0KPiA+ID7C oCDCoCDCoHNlbmRfYnfCoCA9wqAgMS4xOCBHQi9zZWPCoCDCoHNlbmRfYnfCoCA9wqAgMS4yMyBH Qi9zZWPCoCDCoHNlbmRfYnfCoCA9wqAgMS4xOQ0KPiA+ID4gR0Ivc2VjDQo+ID4gPsKgIMKgIMKg cmVjdl9id8KgID3CoCDCoDY1OCBNQi9zZWPCoCDCoHJlY3ZfYnfCoCA9wqAgwqA3ODggTUIvc2Vj wqAgwqByZWN2X2J3wqAgPcKgIMKgNjczDQo+ID4gPiBNQi9zZWMNCj4gPiA+IHVkcF9idzoNCj4g PiA+wqAgwqAgwqBzZW5kX2J3wqAgPcKgIDEuMyBHQi9zZWPCoCDCoCBzZW5kX2J3wqAgPcKgIDEu MyBHQi9zZWPCoCDCoCBzZW5kX2J3wqAgPcKgIDEuMw0KPiA+IEdCL3NlYw0KPiA+ID7CoCDCoCDC oHJlY3ZfYnfCoCA9wqAgNjU5IE1CL3NlY8KgIMKgIHJlY3ZfYnfCoCA9wqAgNzYzIE1CL3NlY8Kg IMKgIHJlY3ZfYnfCoCA9wqAgNzYyDQo+ID4gTUIvc2VjDQo+ID4gPiB1ZHBfYnc6DQo+ID4gPsKg IMKgIMKgc2VuZF9id8KgID3CoCAwIGJ5dGVzL3NlY8KgIMKgc2VuZF9id8KgID3CoCAwIGJ5dGVz L3NlY8KgIMKgc2VuZF9id8KgID3CoCAwDQo+ID4gPiBieXRlcy9zZWMNCj4gPiA+wqAgwqAgwqBy ZWN2X2J3wqAgPcKgIDAgYnl0ZXMvc2VjwqAgwqByZWN2X2J3wqAgPcKgIDAgYnl0ZXMvc2VjwqAg wqByZWN2X2J3wqAgPcKgIDANCj4gYnl0ZXMvc2VjDQo+ID4gPiB1ZHBfbGF0Og0KPiA+ID7CoCDC oCDCoGxhdGVuY3nCoCA9wqAgMjYuNyB1c8KgIMKgIMKgIMKgbGF0ZW5jecKgID3CoCAyNi41IHVz wqAgwqAgwqAgwqBsYXRlbmN5wqAgPcKgIDI2LjQgdXMNCj4gPiA+IHVkcF9sYXQ6DQo+ID4gPsKg IMKgIMKgbGF0ZW5jecKgID3CoCAyNi43IHVzwqAgwqAgwqAgwqBsYXRlbmN5wqAgPcKgIDI2LjUg dXPCoCDCoCDCoCDCoGxhdGVuY3nCoCA9wqAgMjYuMyB1cw0KPiA+ID4gdWRwX2xhdDoNCj4gPiA+ wqAgwqAgwqBsYXRlbmN5wqAgPcKgIDI2LjcgdXPCoCDCoCDCoCDCoGxhdGVuY3nCoCA9wqAgMjYu NyB1c8KgIMKgIMKgIMKgbGF0ZW5jecKgID3CoCAyNi4zIHVzDQo+ID4gPiB1ZHBfbGF0Og0KPiA+ ID7CoCDCoCDCoGxhdGVuY3nCoCA9wqAgMjYuNyB1c8KgIMKgIMKgIMKgbGF0ZW5jecKgID3CoCAy Ni42IHVzwqAgwqAgwqAgwqBsYXRlbmN5wqAgPcKgIDI2LjMgdXMNCj4gPiA+IHVkcF9sYXQ6DQo+ ID4gPsKgIMKgIMKgbGF0ZW5jecKgID3CoCAyNi43IHVzwqAgwqAgwqAgwqBsYXRlbmN5wqAgPcKg IDI2LjcgdXPCoCDCoCDCoCDCoGxhdGVuY3nCoCA9wqAgMjYuNyB1cw0KPiA+ID4gdWRwX2xhdDoN Cj4gPiA+wqAgwqAgwqBsYXRlbmN5wqAgPcKgIDI3IHVzwqAgwqAgwqAgwqAgwqBsYXRlbmN5wqAg PcKgIDI2LjcgdXPCoCDCoCDCoCDCoGxhdGVuY3nCoCA9wqAgMjYuNiB1cw0KPiA+ID4gdWRwX2xh dDoNCj4gPiA+wqAgwqAgwqBsYXRlbmN5wqAgPcKgIDI3IHVzwqAgwqAgwqAgwqAgwqBsYXRlbmN5 wqAgPcKgIDI2LjkgdXPCoCDCoCDCoCDCoGxhdGVuY3nCoCA9wqAgMjYuNyB1cw0KPiA+ID4gdWRw X2xhdDoNCj4gPiA+wqAgwqAgwqBsYXRlbmN5wqAgPcKgIDI3LjYgdXPCoCDCoCDCoCDCoGxhdGVu Y3nCoCA9wqAgMjcuNCB1c8KgIMKgIMKgIMKgbGF0ZW5jecKgID3CoCAyNy4zIHVzDQo+ID4gPiB1 ZHBfbGF0Og0KPiA+ID7CoCDCoCDCoGxhdGVuY3nCoCA9wqAgMjguMSB1c8KgIMKgIMKgIMKgbGF0 ZW5jecKgID3CoCAyOCB1c8KgIMKgIMKgIMKgIMKgbGF0ZW5jecKgID3CoCAyOCB1cw0KPiA+ID4g dWRwX2xhdDoNCj4gPiA+wqAgwqAgwqAgbGF0ZW5jecKgID3CoCAyOS40IHVzwqAgwqAgwqAgbGF0 ZW5jecKgID3CoCAyOS4yIHVzwqAgwqAgwqAgwqBsYXRlbmN5wqAgPcKgIDI5LjIgdXMNCj4gPiA+ IHVkcF9sYXQ6DQo+ID4gPsKgIMKgIMKgbGF0ZW5jecKgID3CoCAzMSB1c8KgIMKgIMKgIMKgIMKg bGF0ZW5jecKgID3CoCAzMSB1c8KgIMKgIMKgIMKgIMKgbGF0ZW5jecKgID3CoCAzMC44IHVzDQo+ ID4gPiB1ZHBfbGF0Og0KPiA+ID7CoCDCoCDCoGxhdGVuY3nCoCA9wqAgNDEuNCB1c8KgIMKgIMKg IMKgbGF0ZW5jecKgID3CoCA0MS40IHVzwqAgwqAgwqAgwqBsYXRlbmN5wqAgPcKgIDQxLjMgdXMN Cj4gPiA+IHVkcF9sYXQ6DQo+ID4gPsKgIMKgIMKgbGF0ZW5jecKgID3CoCA0MS42IHVzwqAgwqAg wqAgwqBsYXRlbmN5wqAgPcKgIDQxLjUgdXPCoCDCoCDCoCDCoGxhdGVuY3nCoCA9wqAgNDEuNSB1 cw0KPiA+ID4gdWRwX2xhdDoNCj4gPiA+wqAgwqAgwqBsYXRlbmN5wqAgPcKgIDY0LjkgdXPCoCDC oCDCoCDCoGxhdGVuY3nCoCA9wqAgNjUgdXPCoCDCoCDCoCDCoCDCoGxhdGVuY3nCoCA9wqAgNjUg dXMNCj4gPiA+IHVkcF9sYXQ6DQo+ID4gPsKgIMKgIMKgbGF0ZW5jecKgID3CoCA3Mi4zIHVzwqAg wqAgwqAgwqBsYXRlbmN5wqAgPcKgIDcyIHVzwqAgwqAgwqAgwqAgwqBsYXRlbmN5wqAgPcKgIDcy IHVzDQo+ID4gPiB1ZHBfbGF0Og0KPiA+ID7CoCDCoCDCoGxhdGVuY3nCoCA9wqAgMTIxIHVzwqAg wqAgwqAgwqAgbGF0ZW5jecKgID3CoCAxMjIgdXPCoCDCoCDCoCDCoCBsYXRlbmN5wqAgPcKgIDEy MiB1cw0KPiA+ID4gdWRwX2xhdDoNCj4gPiA+wqAgwqAgwqBsYXRlbmN5wqAgPcKgIDAgbnPCoCDC oCDCoCDCoCDCoCBsYXRlbmN5wqAgPcKgIDAgbnPCoCDCoCDCoCDCoCDCoCBsYXRlbmN5wqAgPcKg IDAgbnMNCj4gPiA+DQo+ID4gPg0KPiA+ID7CoCBsaWIvbmV0ZGV2LWRwZGsuYyB8IDg0DQo+ID4g PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t DQo+ID4gPsKgIDEgZmlsZSBjaGFuZ2VkLCA4MiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt KQ0KPiA+ID4NCj4gPiA+IGRpZmYgLS1naXQgYS9saWIvbmV0ZGV2LWRwZGsuYyBiL2xpYi9uZXRk ZXYtZHBkay5jDQo+ID4gPiBpbmRleCBlYTE3Yjk3Li5kMjdkNjE1IDEwMDY0NA0KPiA+ID4gLS0t IGEvbGliL25ldGRldi1kcGRrLmMNCj4gPiA+ICsrKyBiL2xpYi9uZXRkZXYtZHBkay5jDQo+ID4g PiBAQCAtMjgsNiArMjgsNyBAQA0KPiA+ID7CoCAjaW5jbHVkZSA8cnRlX2Vycm5vLmg+DQo+ID4g PsKgICNpbmNsdWRlIDxydGVfZXRoX3JpbmcuaD4NCj4gPiA+wqAgI2luY2x1ZGUgPHJ0ZV9ldGhk ZXYuaD4NCj4gPiA+ICsjaW5jbHVkZSA8cnRlX2lwLmg+DQo+ID4gPsKgICNpbmNsdWRlIDxydGVf bWFsbG9jLmg+DQo+ID4gPsKgICNpbmNsdWRlIDxydGVfbWJ1Zi5oPg0KPiA+ID7CoCAjaW5jbHVk ZSA8cnRlX21ldGVyLmg+DQo+ID4gPiBAQCAtMTM5Miw2ICsxMzkzLDg0IEBAIG5ldGRldl9kcGRr X3J4cV9kZWFsbG9jKHN0cnVjdCBuZXRkZXZfcnhxDQo+ID4gPiAqcnhxKQ0KPiA+ID7CoCDCoCDC oCBydGVfZnJlZShyeCk7DQo+ID4gPsKgIH0NCj4gPiA+DQo+ID4gPiArc3RhdGljIGlubGluZSB2 b2lkDQo+ID4gPiArbmV0ZGV2X3JlZmlsbF9sNF9ja3N1bShjb25zdCBjaGFyICpkYXRhLCBzdHJ1 Y3QgZHBfcGFja2V0ICpwa3QsDQo+ID4gPiArwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqB1aW50OF90IGw0X3Byb3RvLCBib29sIGlzX2lwdjQpDQo+ID4gPiArew0KPiA+ID4gK8Kg IMKgIHZvaWQgKmwzaGRyID0gKHZvaWQgKikoZGF0YSArIHBrdC0+bDNfb2ZzKTsNCj4gPiA+ICsN Cj4gPiA+ICvCoCDCoCBpZiAobDRfcHJvdG8gPT0gSVBQUk9UT19UQ1ApIHsNCj4gPiA+ICvCoCDC oCDCoCDCoCBzdHJ1Y3QgdGNwX2hlYWRlciAqdGNwX2hkciA9IChzdHJ1Y3QgdGNwX2hlYWRlciAq KShkYXRhICsgcGt0LQ0KPiA+ID5sNF9vZnMpOw0KPiA+ID4gKw0KPiA+ID4gK8KgIMKgIMKgIMKg IHBrdC0+bWJ1Zi5sMl9sZW4gPSBwa3QtPmwzX29mczsNCj4gPiA+ICvCoCDCoCDCoCDCoCBwa3Qt Pm1idWYubDNfbGVuID0gcGt0LT5sNF9vZnMgLSBwa3QtPmwzX29mczsNCj4gPiA+ICvCoCDCoCDC oCDCoCB0Y3BfaGRyLT50Y3BfY3N1bSA9IDA7DQo+ID4gPiArwqAgwqAgwqAgwqAgaWYgKGlzX2lw djQpIHsNCj4gPiA+ICvCoCDCoCDCoCDCoCDCoCDCoCB0Y3BfaGRyLT50Y3BfY3N1bSA9IHJ0ZV9p cHY0X3VkcHRjcF9ja3N1bShsM2hkciwgdGNwX2hkcik7DQo+ID4gPiArwqAgwqAgwqAgwqAgwqAg wqAgcGt0LT5tYnVmLm9sX2ZsYWdzIF49IFBLVF9UWF9UQ1BfQ0tTVU0gfCBQS1RfVFhfSVBWNDsN Cj4gPiA+ICvCoCDCoCDCoCDCoCB9IGVsc2Ugew0KPiA+ID4gK8KgIMKgIMKgIMKgIMKgIMKgIHBr dC0+bWJ1Zi5vbF9mbGFncyBePSBQS1RfVFhfVENQX0NLU1VNIHwgUEtUX1RYX0lQVjY7DQo+ID4g PiArwqAgwqAgwqAgwqAgwqAgwqAgdGNwX2hkci0+dGNwX2NzdW0gPSBydGVfaXB2Nl91ZHB0Y3Bf Y2tzdW0obDNoZHIsIHRjcF9oZHIpOw0KPiA+ID4gK8KgIMKgIMKgIMKgIH0NCj4gPiA+ICvCoCDC oCB9IGVsc2UgaWYgKGw0X3Byb3RvID09IElQUFJPVE9fVURQKSB7DQo+ID4gPiArwqAgwqAgwqAg wqAgc3RydWN0IHVkcF9oZWFkZXIgKnVkcF9oZHIgPSAoc3RydWN0IHVkcF9oZWFkZXIgKikoZGF0 YSArIHBrdC0NCj4gPiA+ID5sNF9vZnMpOw0KPiA+ID4gK8KgIMKgIMKgIMKgIC8qIGRvIG5vdCBy ZWNhbGN1bGF0ZSB1ZHAgY2tzdW0gaWYgaXQgd2FzIDAgKi8NCj4gPiA+ICvCoCDCoCDCoCDCoCBp ZiAodWRwX2hkci0+dWRwX2NzdW0gIT0gMCkgew0KPiA+ID4gK8KgIMKgIMKgIMKgIMKgIMKgIHBr dC0+bWJ1Zi5sMl9sZW4gPSBwa3QtPmwzX29mczsNCj4gPiA+ICvCoCDCoCDCoCDCoCDCoCDCoCBw a3QtPm1idWYubDNfbGVuID0gcGt0LT5sNF9vZnMgLSBwa3QtPmwzX29mczsNCj4gPiA+ICvCoCDC oCDCoCDCoCDCoCDCoCB1ZHBfaGRyLT51ZHBfY3N1bSA9IDA7DQo+ID4gPiArwqAgwqAgwqAgwqAg wqAgwqAgaWYgKGlzX2lwdjQpIHsNCj4gPiA+ICvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAvKmRv IG5vdCBjYWxjdWxhdGUgdWRwIGNrc3VtIGlmIGl0IHdhcyBhIGZyYWdtZW50IElQKi8NCj4gPiA+ ICvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBpZiAoSVBfSVNfRlJBR01FTlQoKChzdHJ1Y3QgaXB2 NF9oZHIgKilsM2hkciktPg0KPiA+ID4gK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGZyYWdtZW50X29mZnNldCkpIHsNCj4gPiA+ICvCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCByZXR1cm47DQo+ID4gPiArwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgfQ0KPiA+ID4gKw0KPiA+ID4gK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHBrdC0+ bWJ1Zi5vbF9mbGFncyBePSBQS1RfVFhfVURQX0NLU1VNIHwgUEtUX1RYX0lQVjQ7DQo+ID4gPiAr wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgdWRwX2hkci0+dWRwX2NzdW0gPSBydGVfaXB2NF91ZHB0 Y3BfY2tzdW0obDNoZHIsDQo+IHVkcF9oZHIpOw0KPiA+ID4gK8KgIMKgIMKgIMKgIMKgIMKgIH0g ZWxzZSB7DQo+ID4gPiArwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgcGt0LT5tYnVmLm9sX2ZsYWdz IF49IFBLVF9UWF9VRFBfQ0tTVU0gfCBQS1RfVFhfSVBWNjsNCj4gPiA+ICvCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCB1ZHBfaGRyLT51ZHBfY3N1bSA9IHJ0ZV9pcHY2X3VkcHRjcF9ja3N1bShsM2hk ciwNCj4gdWRwX2hkcik7DQo+ID4gPiArwqAgwqAgwqAgwqAgwqAgwqAgfQ0KPiA+ID4gK8KgIMKg IMKgIMKgIH0NCj4gPiA+ICvCoCDCoCB9DQo+ID4gPiArfQ0KPiA+ID4gKw0KPiA+ID4gK3N0YXRp YyBpbmxpbmUgdm9pZA0KPiA+ID4gK25ldGRldl9wcmVwYXJlX3R4X2NzdW0oc3RydWN0IGRwX3Bh Y2tldCAqKnBrdHMsIGludCBwa3RfY250KQ0KPiA+ID4gK3sNCj4gPiA+ICvCoCDCoCBpbnQgaTsN Cj4gPiA+ICsNCj4gPiA+ICvCoCDCoCBmb3IgKGkgPSAwOyBpIDwgcGt0X2NudDsgaSsrKSB7DQo+ ID4gPiArwqAgwqAgwqAgwqAgb3ZzX2JlMTYgZGxfdHlwZTsNCj4gPiA+ICvCoCDCoCDCoCDCoCBz dHJ1Y3QgZHBfcGFja2V0ICpwa3QgPSAoc3RydWN0IGRwX3BhY2tldCAqKXBrdHNbaV07DQo+ID4g PiArwqAgwqAgwqAgwqAgY29uc3QgY2hhciAqZGF0YSA9IGRwX3BhY2tldF9kYXRhKHBrdCk7DQo+ ID4gPiArwqAgwqAgwqAgwqAgdm9pZCAqbDNoZHIgPSAoY2hhciAqKShkYXRhICsgcGt0LT5sM19v ZnMpOw0KPiA+ID4gKw0KPiA+ID4gK8KgIMKgIMKgIMKgIGlmIChwa3QtPmw0X29mcyA9PSBVSU5U MTZfTUFYIHx8IHBrdC0+bDNfb2ZzID09IFVJTlQxNl9NQVgpIHsNCj4gPiA+ICvCoCDCoCDCoCDC oCDCoCDCoCBjb250aW51ZTsNCj4gPiA+ICvCoCDCoCDCoCDCoCB9DQo+ID4gPiArwqAgwqAgwqAg wqAgLyogVGhpcyB0YWtlIGEgYXNzdW1wdGlvbiB0aGF0IGl0IHNob3VsZCBiZSBhIHZob3N0IHBh Y2tldCBpZiB0aGlzDQo+ID4gPiArwqAgwqAgwqAgwqAgwqAqIHBhY2tldCB3YXMgYWxsb2NhdGVk IGJ5IERQREsgcG9vbCBhbmQgdHJ5IHNlbmRpbmcgdG8gcE5pYy4gKi8NCj4gPiA+ICvCoCDCoCDC oCDCoCBpZiAocGt0LT5zb3VyY2UgPT0gRFBCVUZfRFBESyAmJg0KPiA+ID4gK8KgIMKgIMKgIMKg IMKgIMKgICEocGt0LT5tYnVmLm9sX2ZsYWdzICYgUEtUX1RYX0w0X01BU0spKSB7DQo+ID4gPiAr wqAgwqAgwqAgwqAgwqAgwqAgLy8gRFBESyB2aG9zdC11c2VyIHRhZ3MgUEtUX1RYX0w0X01BU0sg aWYgYSBMNCBwYWNrZXQgbmVlZA0KPiA+IGNrc3VtDQo+ID4gPiArwqAgwqAgwqAgwqAgwqAgwqAg Y29udGludWU7DQo+ID4gPiArwqAgwqAgwqAgwqAgfQ0KPiA+IFRoZSBjb21tZW50cyBoZXJlIGNv dWxkIGJlIGZvcm1hdHRlZCBiZXR0ZXIuIFN1Z2dlc3QgY29tYmluaW5nIGJvdGgNCj4gaW50bw0K PiA+IG9uZSBjb21tZW50IGJlZm9yZSB0aGUgJ2lmJy4NCj4gPiBOb3Qgc3VyZSB0aGUgdGVybSAn cE5JQycgaXMgd2lkZWx5IHVzZWQuIFN1Z2dlc3QgdXNpbmcgJ2RwZGsgcG9ydCcuDQo+ID4NCj4g PiA+ICsNCj4gPiA+ICvCoCDCoCDCoCDCoCBkbF90eXBlID0gKihvdnNfYmUxNiAqKShkYXRhICsg cGt0LT5sM19vZnMgLSAyKTsNCj4gPiA+ICvCoCDCoCDCoCDCoCBpZiAoZGxfdHlwZSA9PSBodG9u cyhFVEhfVFlQRV9JUCkpIHsNCj4gPiA+ICvCoCDCoCDCoCDCoCDCoCDCoCBuZXRkZXZfcmVmaWxs X2w0X2Nrc3VtKGRhdGEsIHBrdCwNCj4gPiA+ICvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCgoc3RydWN0IGlwdjRfaGRyICopbDNoZHIpLT5uZXh0 X3Byb3RvX2lkLA0KPiA+ID4gK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgdHJ1ZSk7DQo+ID4gPiArwqAgwqAgwqAgwqAgfSBlbHNlIGlmIChkbF90 eXBlID09IGh0b25zKEVUSF9UWVBFX0lQVjYpKSB7DQo+ID4gPiArwqAgwqAgwqAgwqAgwqAgwqAg bmV0ZGV2X3JlZmlsbF9sNF9ja3N1bShkYXRhLCBwa3QsDQo+ID4gPiArwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAoKHN0cnVjdCBpcHY2X2hkciAq KWwzaGRyKS0+cHJvdG8sDQo+ID4gPiArwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqBmYWxzZSk7DQo+ID4gPiArwqAgwqAgwqAgwqAgfQ0KPiA+ID4g K8KgIMKgIH0NCj4gPiA+ICt9DQo+ID4gPiArDQo+ID4gPsKgIC8qIFRyaWVzIHRvIHRyYW5zbWl0 ICdwa3RzJyB0byB0eHEgJ3FpZCcgb2YgZGV2aWNlICdkZXYnLsKgIFRha2VzIG93bmVyc2hpcCBv Zg0KPiA+ID7CoCDCoCogJ3BrdHMnLCBldmVuIGluIGNhc2Ugb2YgZmFpbHVyZS4NCj4gPiA+wqAg wqAqDQo+ID4gPiBAQCAtMTgzMyw2ICsxOTEyLDggQEAgbmV0ZGV2X2RwZGtfc2VuZF9fKHN0cnVj dCBuZXRkZXZfZHBkaw0KPiAqZGV2LA0KPiA+ID4gaW50IHFpZCwNCj4gPiA+wqAgwqAgwqAgwqAg wqAgcmV0dXJuOw0KPiA+ID7CoCDCoCDCoCB9DQo+ID4gPg0KPiA+ID4gK8KgIMKgIG5ldGRldl9w cmVwYXJlX3R4X2NzdW0oYmF0Y2gtPnBhY2tldHMsIGJhdGNoLT5jb3VudCk7DQo+ID4NCj4gPiBQ dXR0aW5nIHRoaXMgaGVyZSBhc3N1bWVzIHdlIG9ubHkgcHJlcGFyZSB0aGUgY3N1bSBmb3Igdmhv c3QgLT4gZHBkayBvcg0KPiA+IHZob3N0IC0+IHJpbmcgY2FzZXMuIFdoYXQgYWJvdXQgdmhvc3Qg LT4gdmhvc3Q/DQo+ID4NCj4gPiA+ICsNCj4gPiA+wqAgwqAgwqAgaWYgKE9WU19VTkxJS0VMWShj b25jdXJyZW50X3R4cSkpIHsNCj4gPiA+wqAgwqAgwqAgwqAgwqAgcWlkID0gcWlkICUgZGV2LT51 cC5uX3R4cTsNCj4gPiA+wqAgwqAgwqAgwqAgwqAgcnRlX3NwaW5sb2NrX2xvY2soJmRldi0+dHhf cVtxaWRdLnR4X2xvY2spOw0KPiA+ID4gQEAgLTI3NDEsOCArMjgyMiw3IEBAIG5ldGRldl9kcGRr X3Zob3N0X2NsYXNzX2luaXQodm9pZCkNCj4gPiA+wqAgwqAgwqAgaWYgKG92c3RocmVhZF9vbmNl X3N0YXJ0KCZvbmNlKSkgew0KPiA+ID7CoCDCoCDCoCDCoCDCoCBydGVfdmhvc3RfZHJpdmVyX2Nh bGxiYWNrX3JlZ2lzdGVyKCZ2aXJ0aW9fbmV0X2RldmljZV9vcHMpOw0KPiA+ID7CoCDCoCDCoCDC oCDCoCBydGVfdmhvc3RfZmVhdHVyZV9kaXNhYmxlKDFVTEwgPDwgVklSVElPX05FVF9GX0hPU1Rf VFNPNA0KPiA+ID4gLcKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIHwgMVVMTCA8PCBWSVJUSU9fTkVUX0ZfSE9TVF9UU082DQo+ID4gPiAtwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfCAxVUxMIDw8IFZJUlRJ T19ORVRfRl9DU1VNKTsNCj4gPiA+ICvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCB8IDFVTEwgPDwgVklSVElPX05FVF9GX0hPU1RfVFNPNik7DQo+ID4g PsKgIMKgIMKgIMKgIMKgIG92c190aHJlYWRfY3JlYXRlKCJ2aG9zdF90aHJlYWQiLCBzdGFydF92 aG9zdF9sb29wLCBOVUxMKTsNCj4gPiA+DQo+ID4gPsKgIMKgIMKgIMKgIMKgIG92c3RocmVhZF9v bmNlX2RvbmUoJm9uY2UpOw0KPiA+ID4gLS0NCj4gPiA+IDEuOC4zLjENCj4gPiA+DQo+ID4gPiBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiA+ID4gZGV2 IG1haWxpbmcgbGlzdA0KPiA+ID4gZGV2QG9wZW52c3dpdGNoLm9yZw0KPiA+ID4gaHR0cHM6Ly9t YWlsLm9wZW52c3dpdGNoLm9yZy9tYWlsbWFuL2xpc3RpbmZvL292cy1kZXYNCj4gDQoNCg==