From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3BF64A0A05; Tue, 19 Jan 2021 15:22:00 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B3486140E97; Tue, 19 Jan 2021 15:21:59 +0100 (CET) Received: from smartserver.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by mails.dpdk.org (Postfix) with ESMTP id 22F4F140E92; Tue, 19 Jan 2021 15:21:58 +0100 (CET) Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Date: Tue, 19 Jan 2021 15:21:57 +0100 Message-ID: <98CBD80474FA8B44BF855DF32C47DC35C61588@smartserver.smartshare.dk> In-Reply-To: <9b4153c0-3642-fb19-deb8-e344fea0f26c@intel.com> X-MimeOLE: Produced By Microsoft Exchange V6.5 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [dpdk-dev] [dpdk-stable] [PATCH v4] mbuf: fix reset on mbuf free Thread-Index: AdbubBa2rXVavP9STNS/xDvHQas4SAAAQybw References: <20201104170007.8026-1-olivier.matz@6wind.com> <20210113132734.1636-1-olivier.matz@6wind.com> <20210119083226.GA2855@platinum> <98CBD80474FA8B44BF855DF32C47DC35C61584@smartserver.smartshare.dk> <85424972-00f8-f810-2e2c-c8fbb8923752@intel.com> <98CBD80474FA8B44BF855DF32C47DC35C61587@smartserver.smartshare.dk> <9b4153c0-3642-fb19-deb8-e344fea0f26c@intel.com> From: =?UTF-8?B?TW9ydGVuIEJyw7hydXA=?= To: "Ferruh Yigit" , "Olivier Matz" , "Ali Alnubani" Cc: "David Marchand" , , "dev" , "Andrew Rybchenko" , "Ananyev, Konstantin" , , "dpdk stable" , "Ajit Khaparde" , "Slava Ovsiienko" , "Alexander Kozyrev" , "Bruce Richardson" Subject: Re: [dpdk-dev] [dpdk-stable] [PATCH v4] mbuf: fix reset on mbuf free X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" PiBGcm9tOiBGZXJydWggWWlnaXQgW21haWx0bzpmZXJydWgueWlnaXRAaW50ZWwuY29tXQ0KPiBT ZW50OiBUdWVzZGF5LCBKYW51YXJ5IDE5LCAyMDIxIDM6MDMgUE0NCj4gDQo+IE9uIDEvMTkvMjAy MSAxMjoyNyBQTSwgTW9ydGVuIEJyw7hydXAgd3JvdGU6DQo+ID4+IEZyb206IGRldiBbbWFpbHRv OmRldi1ib3VuY2VzQGRwZGsub3JnXSBPbiBCZWhhbGYgT2YgRmVycnVoIFlpZ2l0DQo+ID4+IFNl bnQ6IFR1ZXNkYXksIEphbnVhcnkgMTksIDIwMjEgMTowMSBQTQ0KPiA+Pg0KPiA+PiBPbiAxLzE5 LzIwMjEgODo1MyBBTSwgTW9ydGVuIEJyw7hydXAgd3JvdGU6DQo+ID4+PiBDb3VsZCBzb21lb25l IGF0IEludGVsIHBsZWFzZSB1cGRhdGUgdGhlIHRlc3Qgc2NyaXB0IHRvIHByb3ZpZGUNCj4gPj4g b3V0cHV0IGFjY29yZGluZyB0byB0aGUgdGVzdCBwbGFuPyBPciBkZWxlZ2F0ZSB0byB0aGUgcmln aHQgcGVyc29uLg0KPiA+Pj4NCj4gPj4+IEFjY29yZGluZyB0byB0aGUgdGVzdCBwbGFuLCB0aGUg aW5mb3JtYXRpb24gcmVxdWVzdGVkIGJ5IE9saXZpZXINCj4gPj4gc2hvdWxkIGJlIGluIHRoZSB0 ZXN0IG91dHB1dCBhbHJlYWR5Og0KPiA+Pj4NCj4gPj4NCj4gaHR0cDovL2dpdC5kcGRrLm9yZy90 b29scy9kdHMvdHJlZS90ZXN0X3BsYW5zL25pY19zaW5nbGVfY29yZV9wZXJmX3Rlc3QNCj4gPj4g X3BsYW4ucnN0P2g9bmV4dA0KPiA+Pj4NCj4gPj4+IFBTOiBJIGNhbid0IGZpbmQgb3V0IHdobyBp cyB0aGUgbWFpbnRhaW5lciBvZiB0aGUgdGVzdCBwbGFuLCBzbyBJJ20NCj4gPj4gcmFuZG9tbHkg cG9pbnRpbmcgbXkgZmluZ2VyIGF0IHRoZSB0ZXN0IHBsYW4gZG9jIGNvcHlyaWdodCBob2xkZXIu DQo+IDotKQ0KPiA+Pj4NCj4gPj4NCj4gPj4gSGkgTW9ydGVuLA0KPiA+Pg0KPiA+PiBBbGkgaGFz IGEgcmVxdWVzdCB0byB1cGRhdGUgdGhlIGV4cGVjdGVkIGJhc2VsaW5lLCB0byBiZSBhYmxlIHRv DQo+IGRldGVjdA0KPiA+PiB0aGUNCj4gPj4gcGVyZm9ybWFuY2UgZHJvcHMsIGxldCBtZSBpbnRl cm5hbGx5IGZpZ3VyZSBvdXQgd2hvIGNhbiBkbyB0aGlzLg0KPiA+Pg0KPiA+PiBBbmQgZG8geW91 IGhhdmUgYW55IG90aGVyIHJlcXVlc3QsIG9yIGFza2luZyBzYW1lIHRoaW5nPw0KPiA+Pg0KPiA+ DQo+ID4gSGkgRmVycnVoLA0KPiA+DQo+ID4gSSBhbSBhc2tpbmcgZm9yIHNvbWV0aGluZyBlbHNl Og0KPiA+DQo+ID4gVGhlIHRlc3Qgc2NyaXB0IGRvZXMgbm90IHByb3ZpZGUgdGhlIG91dHB1dCB0 aGF0IGl0cyBkb2N1bWVudGF0aW9uDQo+IHNheXMgdGhhdCBpdCBkb2VzLg0KPiA+DQo+ID4gQXBw YXJlbnRseSwgdGhlIHRlc3Qgc2NyaXB0IGZvciBuaWNfc2luZ2xlX2NvcmVfcGVyZiBwcm9kdWNl cyBhbg0KPiBvdXRwdXQgdGFibGUgd2l0aCB0aGVzZSBmb3VyIGNvbHVtbnMgKGFzIHNlZW4gYXQN Cj4gaHR0cHM6Ly9sYWIuZHBkay5vcmcvcmVzdWx0cy9kYXNoYm9hcmQvcGF0Y2hzZXRzLzE1MTQy LyNlbnYtMTgpOg0KPiA+DQo+ID4gICAgICstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tDQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0t Kw0KPiA+ICAgICB8IFJlc3VsdCB8IGZyYW1lX3NpemUgKGJ5dGVzKSB8IHR4ZC9yeGQgKGRlc2Ny aXB0b3JzKSB8DQo+IHRocm91Z2hwdXQgRGlmZmVyZW5jZSAoTXBwcykgfA0KPiA+ICAgICArLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLQ0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLSsNCj4gPiAgICAgfCBQQVNTICAgfCA2NCAgICAg ICAgICAgICAgICAgfCA1MTIgICAgICAgICAgICAgICAgICAgfCAxLjU3MTAwDQo+IHwNCj4gPiAg ICAgKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0NCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQo+ID4gICAgIHwgUEFTUyAgIHwg NjQgICAgICAgICAgICAgICAgIHwgMjA0OCAgICAgICAgICAgICAgICAgIHwgMS44NzUwMA0KPiB8 DQo+ID4gICAgICstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tDQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+DQo+ID4gQnV0 IHRoZSB0ZXN0IHBsYW4gZG9jdW1lbnRhdGlvbiAoYXQNCj4gaHR0cDovL2dpdC5kcGRrLm9yZy90 b29scy9kdHMvdHJlZS90ZXN0X3BsYW5zL25pY19zaW5nbGVfY29yZV9wZXJmX3Rlc3QNCj4gX3Bs YW4ucnN0KSBzYXlzIHRoYXQgdGhpcyBvdXRwdXQgc2hvdWxkIGJlIHByb2R1Y2VkOg0KPiA+DQo+ ID4gICAgICstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tDQo+IC0tLS0rDQo+ID4gICAgIHwgRnJhbWUgU2l6ZSB8IFRYRC9SWEQg fCAgVGhyb3VnaHB1dCB8ICAgUmF0ZSAgfCBFeHBlY3RlZA0KPiBUaHJvdWdocHV0IHwNCj4gPiAg ICAgKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0NCj4gLS0tLSsNCj4gPiAgICAgfCAgICAgNjQgICAgIHwgICA1MTIgICB8IHh4 eHh4eCBNcHBzIHwgICB4eHggJSB8ICAgICB4eHggICAgTXBwcw0KPiB8DQo+ID4gICAgICstLS0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tDQo+IC0tLS0rDQo+ID4gICAgIHwgICAgIDY0ICAgICB8ICAgMjA0OCAgfCB4eHh4eHggTXBw cyB8ICAgeHh4ICUgfCAgICAgeHh4ICAgIE1wcHMNCj4gfA0KPiA+ICAgICArLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLQ0KPiAt LS0tKw0KPiA+DQo+ID4gT2xpdmllciBhbmQgSSBhbSBzYXlpbmcgdGhhdCBvbmx5IHNob3dpbmcg dGhlIFRocm91Z2hwdXQgRGlmZmVyZW5jZQ0KPiAoTXBwcykgZG9lcyBub3QgcHJvdmlkZSBhbnkg cGVyc3BlY3RpdmUgdG8gdGhlIHJlc3VsdC4NCj4gPg0KPiA+IEkgYW0gcmVxdWVzdGluZyB0aGF0 IHRoZSBFeHBlY3RlZCBUaHJvdWdocHV0IChNcHBzKSBzaG91bGQgYmUgc2hvd24NCj4gaW4gdGhl IHJlc3VsdCB0b28sIGFzIGRvY3VtZW50ZWQgaW4gdGhlIHRlc3QgcGxhbi4NCj4gPg0KPiANCj4g QWhoLCB0aGlzIGhhcyBhIGhpc3RvcnksIHdoZW4gdGhlIGluaXRpYWwgY29tbXVuaXR5IGxhYiBp bmZyYXN0cnVjdHVyZQ0KPiBwcmVwYXJlZA0KPiBzb21lIHZlbmRvcihzKSBkaWRuJ3Qgd2FudCB0 byBzaG93IHRoZSBhY3R1YWwgdGhyb3VnaHB1dCBudW1iZXJzLg0KPiANCj4gVGhhdCBpcyB3aHkg dGhpcyBkaWZmIGFuZCBiYXNlbGluZSBpbnRyb2R1Y2VkLCBhbmQgdGhpcyBpcyB0aGUgaG93DQo+ IGN1cnJlbnQNCj4gaW5mcmFzdHJ1Y3R1cmUgd29ya3MuIFNvIHRoaXMgaXMgbm90IHNvbWV0aGlu ZyByZWxhdGVkIHRvIEludGVsLg0KPiANCj4gQW5kIGFzIHlvdSBjYW4gaW1hZ2luZSB0aGlzIGlz IG5vdCBhIHRlY2huaWNhbCBpc3N1ZSwgc29tZSBjb21wYW5pZXMNCj4gc2VlbXMgbm90DQo+IHdp bGxpbmcgdG8gc2hhcmUgdGhlaXIgcGVyZm9ybWFuY2UgbnVtYmVycyB2aWEgY29tbXVuaXR5IGxh YiwgYW5kIEkNCj4gZG9uJ3Qga25vdw0KPiBpZiBzb21ldGhpbmcgY2hhbmdlZCBoZXJlIGluIGxh c3QgYSBmZXcgeWVhcnMuDQo+IA0KDQpUaGF0IGV4cGxhaW5zIGl0IQ0KDQpJZiB0aG9zZSBjb21w YW5pZXMgc3RpbGwgd2FudCB0byBrZWVwIHRoZSBjb21tdW5pdHkgbGFiIHBlcmZvcm1hbmNlIGRh dGEgaGlkZGVuICh3aGljaCBJIGRvbid0IG9iamVjdCB0byksIHdvdWxkbid0IGl0IGJlIGJldHRl ciBpZiB0aGUgcGVyZm9ybWFuY2UgdGVzdCBzY3JpcHRzIG91dHB1dCB0aGUgZGV2aWF0aW9uIGZy b20gdGhlIGV4cGVjdGVkIHRocm91Z2hwdXQgaW4gcGVyY2VudCAod2l0aCBvbmUgb3IgdHdvIGRl Y2ltYWxzIGFmdGVyIHRoZSBjb21tYSkgaW5zdGVhZCBvZiBpbiBNcHBzPw0KDQo+IA0KPiA+Pj4N Cj4gPj4+IE1lZCB2ZW5saWcgaGlsc2VuIC8ga2luZCByZWdhcmRzDQo+ID4+PiAtIE1vcnRlbiBC csO4cnVwDQo+ID4+Pg0KPiA+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4g RnJvbTogT2xpdmllciBNYXR6IFttYWlsdG86b2xpdmllci5tYXR6QDZ3aW5kLmNvbV0NCj4gPj4+ PiBTZW50OiBUdWVzZGF5LCBKYW51YXJ5IDE5LCAyMDIxIDk6MzIgQU0NCj4gPj4+PiBUbzogQWxp IEFsbnViYW5pDQo+ID4+Pj4gQ2M6IERhdmlkIE1hcmNoYW5kOyBGZXJydWggWWlnaXQ7IHpoYW95 YW4uY2hlbkBpbnRlbC5jb207IGRldjsNCj4gPj4gQW5kcmV3DQo+ID4+Pj4gUnliY2hlbmtvOyBB bmFueWV2LCBLb25zdGFudGluOyBNb3J0ZW4gQnLDuHJ1cDsNCj4gPj4gYWppdGtoYXBhcmRlQGdt YWlsLmNvbTsNCj4gPj4+PiBkcGRrIHN0YWJsZTsgQWppdCBLaGFwYXJkZTsgU2xhdmEgT3ZzaWll bmtvOyBBbGV4YW5kZXIgS296eXJldg0KPiA+Pj4+IFN1YmplY3Q6IFJlOiBbZHBkay1zdGFibGVd IFtQQVRDSCB2NF0gbWJ1ZjogZml4IHJlc2V0IG9uIG1idWYgZnJlZQ0KPiA+Pj4+DQo+ID4+Pj4g SGkgQWxpLA0KPiA+Pj4+DQo+ID4+Pj4NCj4gPj4+PiBPbiBNb24sIEphbiAxOCwgMjAyMSBhdCAw NTo1MjozMlBNICswMDAwLCBBbGkgQWxudWJhbmkgd3JvdGU6DQo+ID4+Pj4+IEhpLA0KPiA+Pj4+ PiAoU29ycnkgaGFkIHRvIHJlc2VuZCB0aGlzIHRvIHNvbWUgcmVjaXBpZW50cyBkdWUgdG8gbWFp bCBzZXJ2ZXINCj4gPj4+PiBwcm9ibGVtcykuDQo+ID4+Pj4+DQo+ID4+Pj4+IEp1c3QgY29uZmly bWluZyB0aGF0IEkgY2FuIHN0aWxsIHJlcHJvZHVjZSB0aGUgcmVncmVzc2lvbiB3aXRoDQo+ID4+ IHNpbmdsZQ0KPiA+Pj4+IGNvcmUgYW5kIDY0QiBmcmFtZXMgb24gb3RoZXIgc2VydmVycy4NCj4g Pj4+Pg0KPiA+Pj4+IE1hbnkgdGhhbmtzIGZvciB0aGUgZmVlZGJhY2suIENhbiB5b3UgcGxlYXNl IGRldGFpbCB3aGF0IGlzIHRoZQ0KPiA+PiBhbW91bnQNCj4gPj4+PiBvZiBwZXJmb3JtYW5jZSBs b3NzIGluIHBlcmNlbnQsIGFuZCBjb25maXJtIHRoZSB0ZXN0IGNhc2U/IChJDQo+ID4+IHN1cHBv c2UNCj4gPj4+PiBpdA0KPiA+Pj4+IGlzIHRlc3RwbWQgaW8gZm9yd2FyZCkuDQo+ID4+Pj4NCj4g Pj4+PiBVbmZvcnR1bmF0bHksIEkgd29uJ3QgYmUgYWJsZSB0byBzcGVuZCBhIGxvdCBvZiB0aW1l IG9uIHRoaXMgc29vbg0KPiA+Pj4+IChzb3JyeQ0KPiA+Pj4+IGZvciB0aGF0KS4gU28gSSBzZWUg YXQgbGVhc3QgdGhlc2UgMiBvcHRpb25zOg0KPiA+Pj4+DQo+ID4+Pj4gLSBwb3N0cG9uZSB0aGUg cGF0Y2ggYWdhaW4sIHVudGlsIEkgY2FuIGZpbmQgbW9yZSB0aW1lIHRvIGFuYWx5emUNCj4gPj4+ PiAgICAgYW5kIG9wdGltaXplDQo+ID4+Pj4gLSBhcHBseSB0aGUgcGF0Y2ggaWYgdGhlIHBlcmZv cm1hbmNlIGxvc3MgaXMgYWNjZXB0YWJsZSBjb21wYXJlZA0KPiB0bw0KPiA+Pj4+ICAgICB0aGUg YWRkZWQgdmFsdWUgb2YgZml4aW5nIGEgYnVnDQo+ID4+Pj4NCj4gPj4+PiBSZWdhcmRzLA0KPiA+ Pj4+IE9saXZpZXINCj4gPj4+Pg0KPiA+Pj4+DQo+ID4+Pj4+DQo+ID4+Pj4+IC0gQWxpDQo+ID4+ Pj4+DQo+ID4+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+Pj4gRnJvbTog QWxpIEFsbnViYW5pIDxhbGlhbG51QG52aWRpYS5jb20+DQo+ID4+Pj4+PiBTZW50OiBGcmlkYXks IEphbnVhcnkgMTUsIDIwMjEgODozOSBQTQ0KPiA+Pj4+Pj4gVG86IERhdmlkIE1hcmNoYW5kIDxk YXZpZC5tYXJjaGFuZEByZWRoYXQuY29tPjsgT2xpdmllciBNYXR6DQo+ID4+Pj4+PiA8b2xpdmll ci5tYXR6QDZ3aW5kLmNvbT47IEZlcnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47 DQo+ID4+Pj4+PiB6aGFveWFuLmNoZW5AaW50ZWwuY29tDQo+ID4+Pj4+PiBDYzogZGV2IDxkZXZA ZHBkay5vcmc+OyBBbmRyZXcgUnliY2hlbmtvDQo+ID4+Pj4+PiA8YW5kcmV3LnJ5YmNoZW5rb0Bv a3RldGxhYnMucnU+OyBBbmFueWV2LCBLb25zdGFudGluDQo+ID4+Pj4+PiA8a29uc3RhbnRpbi5h bmFueWV2QGludGVsLmNvbT47IE1vcnRlbiBCcsO4cnVwDQo+ID4+Pj4+PiA8bWJAc21hcnRzaGFy ZXN5c3RlbXMuY29tPjsgYWppdGtoYXBhcmRlQGdtYWlsLmNvbTsgZHBkayBzdGFibGUNCj4gPj4+ Pj4+IDxzdGFibGVAZHBkay5vcmc+OyBBaml0IEtoYXBhcmRlIDxhaml0LmtoYXBhcmRlQGJyb2Fk Y29tLmNvbT4NCj4gPj4+Pj4+IFN1YmplY3Q6IFJlOiBbZHBkay1zdGFibGVdIFtQQVRDSCB2NF0g bWJ1ZjogZml4IHJlc2V0IG9uIG1idWYNCj4gZnJlZQ0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IEhpLA0K PiA+Pj4+Pj4gQWRkaW5nIEZlcnJ1aCBhbmQgWmhhb3lhbiwNCj4gPj4+Pj4+DQo+ID4+Pj4+Pj4g QWxpLA0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4gWW91IHJlcG9ydGVkIHNvbWUgcGVyZm9ybWFuY2Ug cmVncmVzc2lvbiwgZGlkIHlvdSBjb25maXJtIGl0Pw0KPiA+Pj4+Pj4+IElmIEkgZ2V0IG5vIHJl cGx5IGJ5IG1vbmRheSwgSSdsbCBwcm9jZWVkIHdpdGggdGhpcyBwYXRjaC4NCj4gPj4+Pj4+DQo+ ID4+Pj4+PiBTdXJlIEknbGwgY29uZmlybSBieSBNb25kYXkuDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4g RG9lc24ndCB0aGUgcmVncmVzc2lvbiBhbHNvIHJlcHJvZHVjZSBvbiB0aGUgTGFiJ3MgSW50ZWwN Cj4gc2VydmVycz8NCj4gPj4+Pj4+IEV2ZW4gdGhvdWdoIHRoZSBjaGVjayBpb2wtaW50ZWwtUGVy Zm9ybWFuY2UgaXNuJ3QgZmFpbGluZywgSSBjYW4NCj4gPj4+PiBzZWUgdGhhdCB0aGUNCj4gPj4+ Pj4+IHRocm91Z2hwdXQgZGlmZmVyZW5jZXMgZnJvbSBleHBlY3RlZCBmb3IgdGhpcyBwYXRjaCBh cmUgbGVzcw0KPiB0aGFuDQo+ID4+Pj4gdGhvc2Ugb2YNCj4gPj4+Pj4+IGFub3RoZXIgcGF0Y2gg dGhhdCB3YXMgdGVzdGVkIG9ubHkgMjAgbWludXRlcyBlYXJsaWVyLiBCb3RoDQo+ID4+IHBhdGNo ZXMNCj4gPj4+PiB3ZXJlDQo+ID4+Pj4+PiBhcHBsaWVkIHRvIHRoZSBzYW1lIHRyZWU6DQo+ID4+ Pj4+Pg0KPiA+Pj4+Pj4gaHR0cHM6Ly9tYWlscy5kcGRrLm9yZy9hcmNoaXZlcy90ZXN0LXJlcG9y dC8yMDIxLQ0KPiA+Pj4+IEphbnVhcnkvMTczOTI3Lmh0bWwNCj4gPj4+Pj4+PiB8IDY0ICAgICAg ICAgfCA1MTIgICAgIHwgMS41NzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiA+ Pj4+Pj4NCj4gPj4+Pj4+IGh0dHBzOi8vbWFpbHMuZHBkay5vcmcvYXJjaGl2ZXMvdGVzdC1yZXBv cnQvMjAyMS0NCj4gPj4+PiBKYW51YXJ5LzE3MzkxOS5odG1sDQo+ID4+Pj4+Pj4gfCA2NCAgICAg ICAgIHwgNTEyICAgICB8IDIuNjk4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCj4g Pj4+Pj4+DQo+ID4+Pj4+PiBBc3N1bWluZyB0aGF0IHB3ODY0NTcgZG9lc24ndCBoYXZlIGFuIGVm ZmVjdCBvbiB0aGlzIHRlc3QsIGl0DQo+ID4+IGxvb2tzDQo+ID4+Pj4gdG8gbWUNCj4gPj4+Pj4+ IHRoYXQgdGhpcyBwYXRjaCBjYXVzZWQgYSByZWdyZXNzaW9uIGluIEludGVsIGhhcmR3YXJlIGFz IHdlbGwuDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gQ2FuIHNvbWVvbmUgdXBkYXRlIHRoZSBiYXNlbGlu ZSdzIGV4cGVjdGVkIHZhbHVlcyBmb3IgdGhlIEludGVsDQo+ID4+Pj4gTklDcyBhbmQNCj4gPj4+ Pj4+IHJlcnVuIHRoZSB0ZXN0IG9uIHRoaXMgcGF0Y2g/DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gVGhh bmtzLA0KPiA+Pj4+Pj4gQWxpDQo+ID4+Pg0KPiA+Pg0KPiA+DQo+IA0KDQo=