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 616B5A0524; Fri, 6 Nov 2020 08:53:05 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 4D8EB2BEA; Fri, 6 Nov 2020 08:53:03 +0100 (CET) Received: from smartserver.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by dpdk.org (Postfix) with ESMTP id 21D3F2BE2 for ; Fri, 6 Nov 2020 08:53:01 +0100 (CET) Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Date: Fri, 6 Nov 2020 08:52:58 +0100 X-MimeOLE: Produced By Microsoft Exchange V6.5 Message-ID: <98CBD80474FA8B44BF855DF32C47DC35C613F8@smartserver.smartshare.dk> In-Reply-To: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [dpdk-dev] [PATCH] mbuf: fix reset on mbuf free Thread-Index: AQHWssw9/Ru+bbJv2UmxCtlz1ORQn6m4ql1ggAB/kQCAAAtLgIAADCkAgAAdJVCAABslAIAACA7wgAAGsgCAAAdYsIAAKuEwgAB7cwCAAIC40A== References: <20201104170007.8026-1-olivier.matz@6wind.com> <20201105074626.GL1898@platinum> <10b675b5-c376-746f-9ae2-210685b0b05d@oktetlabs.ru> <20201105091022.GO1898@platinum> <20201105123150.GP1898@platinum> <20201105132438.GS1898@platinum> <98CBD80474FA8B44BF855DF32C47DC35C613F7@smartserver.smartshare.dk> From: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= To: "Ananyev, Konstantin" , "Olivier Matz" Cc: "Andrew Rybchenko" , Subject: Re: [dpdk-dev] [PATCH] mbuf: fix reset on mbuf free 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" PiBGcm9tOiBBbmFueWV2LCBLb25zdGFudGluIFttYWlsdG86a29uc3RhbnRpbi5hbmFueWV2QGlu dGVsLmNvbV0NCj4gU2VudDogRnJpZGF5LCBOb3ZlbWJlciA2LCAyMDIwIDEyOjU1IEFNDQo+IA0K PiA+ID4gPiA+ID4gPiA+ID4gPj4gSGkgT2xpdmllciwNCj4gPiA+ID4gPiA+ID4gPiA+ID4+DQo+ ID4gPiA+ID4gPiA+ID4gPiA+Pj4gbS0+bmJfc2VnIG11c3QgYmUgcmVzZXQgb24gbWJ1ZiBmcmVl IHdoYXRldmVyIHRoZQ0KPiB2YWx1ZQ0KPiA+ID4gb2YgbS0+bmV4dCwNCj4gPiA+ID4gPiA+ID4g PiA+ID4+PiBiZWNhdXNlIGl0IGNhbiBoYXBwZW4gdGhhdCBtLT5uYl9zZWcgaXMgIT0gMS4gRm9y DQo+ID4gPiBpbnN0YW5jZSBpbiB0aGlzDQo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gY2FzZToNCj4g PiA+ID4gPiA+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICAgbTEgPSBydGVfcGt0 bWJ1Zl9hbGxvYyhtcCk7DQo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gICBydGVfcGt0bWJ1Zl9hcHBl bmQobTEsIDUwMCk7DQo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gICBtMiA9IHJ0ZV9wa3RtYnVmX2Fs bG9jKG1wKTsNCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiAgIHJ0ZV9wa3RtYnVmX2FwcGVuZChtMiwg NTAwKTsNCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiAgIHJ0ZV9wa3RtYnVmX2NoYWluKG0xLCBtMik7 DQo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gICBtMCA9IHJ0ZV9wa3RtYnVmX2FsbG9jKG1wKTsNCj4g PiA+ID4gPiA+ID4gPiA+ID4+PiAgIHJ0ZV9wa3RtYnVmX2FwcGVuZChtMCwgNTAwKTsNCj4gPiA+ ID4gPiA+ID4gPiA+ID4+PiAgIHJ0ZV9wa3RtYnVmX2NoYWluKG0wLCBtMSk7DQo+ID4gPiA+ID4g PiA+ID4gPiA+Pj4NCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiBBcyBydGVfcGt0bWJ1Zl9jaGFpbigp IGRvZXMgbm90IHJlc2V0IG5iX3NlZyBpbiB0aGUNCj4gPiA+IGluaXRpYWwgbTENCj4gPiA+ID4g PiA+ID4gPiA+ID4+PiBzZWdtZW50ICh0aGlzIGlzIG5vdCByZXF1aXJlZCksIGFmdGVyIHRoaXMg Y29kZSB0aGUNCj4gPiA+IG1idWYgY2hhaW4NCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiBoYXZlIDMg c2VnbWVudHM6DQo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gICAtIG0wOiBuZXh0PW0xLCBuYl9zZWc9 Mw0KPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICAgLSBtMTogbmV4dD1tMiwgbmJfc2VnPTINCj4gPiA+ ID4gPiA+ID4gPiA+ID4+PiAgIC0gbTI6IG5leHQ9TlVMTCwgbmJfc2VnPTENCj4gPiA+ID4gPiA+ ID4gPiA+ID4+Pg0KPiA+ID4gPiA+ID4gPiA+ID4gPj4+IEZyZWVpbmcgdGhpcyBtYnVmIGNoYWlu IHdpbGwgbm90IHJlc3RvcmUgbmJfc2VnPTENCj4gaW4NCj4gPiA+IHRoZSBzZWNvbmQNCj4gPiA+ ID4gPiA+ID4gPiA+ID4+PiBzZWdtZW50Lg0KPiA+ID4gPiA+ID4gPiA+ID4gPj4NCj4gPiA+ID4g PiA+ID4gPiA+ID4+IEhtbSwgbm90IHN1cmUgd2h5IGlzIHRoYXQ/DQo+ID4gPiA+ID4gPiA+ID4g PiA+PiBZb3UgYXJlIHRhbGtpbmcgYWJvdXQgZnJlZWluZyBtMSwgcmlnaHQ/DQo+ID4gPiA+ID4g PiA+ID4gPiA+PiBydGVfcGt0bWJ1Zl9wcmVmcmVlX3NlZyhzdHJ1Y3QgcnRlX21idWYgKm0pDQo+ ID4gPiA+ID4gPiA+ID4gPiA+PiB7DQo+ID4gPiA+ID4gPiA+ID4gPiA+PiAJLi4uDQo+ID4gPiA+ ID4gPiA+ID4gPiA+PiAJaWYgKG0tPm5leHQgIT0gTlVMTCkgew0KPiA+ID4gPiA+ID4gPiA+ID4g Pj4gICAgICAgICAgICAgICAgICAgICAgICAgbS0+bmV4dCA9IE5VTEw7DQo+ID4gPiA+ID4gPiA+ ID4gPiA+PiAgICAgICAgICAgICAgICAgICAgICAgICBtLT5uYl9zZWdzID0gMTsNCj4gPiA+ID4g PiA+ID4gPiA+ID4+ICAgICAgICAgICAgICAgICB9DQo+ID4gPiA+ID4gPiA+ID4gPiA+Pg0KPiA+ ID4gPiA+ID4gPiA+ID4gPj4gbTEtPm5leHQgIT0gTlVMTCwgc28gaXQgd2lsbCBlbnRlciB0aGUg aWYoKSBibG9jaywNCj4gPiA+ID4gPiA+ID4gPiA+ID4+IGFuZCB3aWxsIHJlc2V0IGJvdGggbmV4 dCBhbmQgbmJfc2Vncy4NCj4gPiA+ID4gPiA+ID4gPiA+ID4+IFdoYXQgSSBhbSBtaXNzaW5nIGhl cmU/DQo+ID4gPiA+ID4gPiA+ID4gPiA+PiBUaGlua2luZyBpbiBtb3JlIGdlbmVyaWMgd2F5LCB0 aGF0IGNoYW5nZToNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICAtCQlpZiAobS0+bmV4dCAhPSBOVUxM KSB7DQo+ID4gPiA+ID4gPiA+ID4gPiA+PiAgLQkJCW0tPm5leHQgPSBOVUxMOw0KPiA+ID4gPiA+ ID4gPiA+ID4gPj4gIC0JCQltLT5uYl9zZWdzID0gMTsNCj4gPiA+ID4gPiA+ID4gPiA+ID4+ICAt CQl9DQo+ID4gPiA+ID4gPiA+ID4gPiA+PiAgKwkJbS0+bmV4dCA9IE5VTEw7DQo+ID4gPiA+ID4g PiA+ID4gPiA+PiAgKwkJbS0+bmJfc2VncyA9IDE7DQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+ID4gPiA+IEFoLCBzb3JyeS4gSSBvdmVyc2ltcGxpZmllZCB0aGUgZXhhbXBsZSBh bmQgbm93IGl0DQo+IGRvZXMNCj4gPiA+IG5vdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBzaG93IHRo ZSBpc3N1ZS4uLg0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBUaGUg ZnVsbCBleGFtcGxlIGFsc28gYWRkcyBhIHNwbGl0KCkgdG8gYnJlYWsgdGhlDQo+IG1idWYNCj4g PiA+IGNoYWluDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGJldHdlZW4gbTEgYW5kIG0yLiBUaGUga2lu ZCBvZiB0aGluZyB0aGF0IHdvdWxkIGJlDQo+IGRvbmUNCj4gPiA+IGZvcg0KPiA+ID4gPiA+ID4g PiA+ID4gPiBzb2Z0d2FyZSBUQ1Agc2VnbWVudGF0aW9uLg0KPiA+ID4gPiA+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+IElmIHNvLCBtYXkgYmUgdGhlIHJp Z2h0IHNvbHV0aW9uIGlzIHRvIGNhcmUgYWJvdXQNCj4gbmJfc2Vncw0KPiA+ID4gPiA+ID4gPiA+ ID4gd2hlbiBuZXh0IGlzIHNldCB0byBOVUxMIG9uIHNwbGl0PyBBbnkgcGxhY2Ugd2hlbiBuZXh0 DQo+IGlzDQo+ID4gPiBzZXQNCj4gPiA+ID4gPiA+ID4gPiA+IHRvIE5VTEwuIEp1c3QgdG8ga2Vl cCB0aGUgb3B0aW1pemF0aW9uIGluIGEgbW9yZQ0KPiBnZW5lcmljDQo+ID4gPiBwbGFjZS4NCj4g PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBUaGUgcHJvYmxlbSB3 aXRoIHRoYXQgYXBwcm9hY2ggaXMgdGhhdCB0aGVyZSBhcmUgYWxyZWFkeQ0KPiA+ID4gc2V2ZXJh bA0KPiA+ID4gPiA+ID4gPiA+IGV4aXN0aW5nIHNwbGl0KCkgb3IgdHJpbSgpIGltcGxlbWVudGF0 aW9ucyBpbiBkaWZmZXJlbnQNCj4gRFBESy0NCj4gPiA+IGJhc2VkDQo+ID4gPiA+ID4gPiA+ID4g YXBwbGljYXRpb25zLiBGb3IgaW5zdGFuY2UsIHdlIGhhdmUgc29tZSBpbiA2V0lOREdhdGUuIElm DQo+IHdlDQo+ID4gPiBmb3JjZQ0KPiA+ID4gPiA+ID4gPiA+IGFwcGxpY2F0aW9ucyB0byBzZXQg bmJfc2VnIHRvIDEgd2hlbiByZXNldHRpbmcgbmV4dCwgaXQNCj4gaGFzDQo+ID4gPiB0byBiZQ0K PiA+ID4gPiA+ID4gPiA+IGRvY3VtZW50ZWQgYmVjYXVzZSBpdCBpcyBub3Qgc3RyYWlnaHRmb3J3 YXJkLg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBJIHRoaW5rIGl0IGlzIGJldHRlciB0 byBnbyB0aGF0IHdheS4NCj4gPiA+ID4gPiA+ID4gRnJvbSBteSBwZXJzcGVjdGl2ZSBpdCBzZWVt cyBuYXR1cmFsIHRvIHJlc2V0IG5iX3NlZyBhdA0KPiBzYW1lDQo+ID4gPiB0aW1lDQo+ID4gPiA+ ID4gPiA+IHdlIHJlc2V0IG5leHQsIG90aGVyd2lzZSBpbmNvbnNpc3RlbmN5IHdpbGwgb2NjdXIu DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gV2hpbGUgaXQgaXMgbm90IGV4cGxpY2l0bHkgc3Rh dGVkIGZvciBuYl9zZWdzLCB0byBtZSBpdCB3YXMNCj4gY2xlYXINCj4gPiA+IHRoYXQNCj4gPiA+ ID4gPiA+IG5iX3NlZ3MgaXMgb25seSB2YWxpZCBpbiB0aGUgZmlyc3Qgc2VnbWVudCwgbGlrZSBm b3IgbWFueQ0KPiBmaWVsZHMNCj4gPiA+IChwb3J0LA0KPiA+ID4gPiA+ID4gb2xfZmxhZ3MsIHZs YW4sIHJzcywgLi4uKS4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBJZiB3ZSBzYXkgdGhhdCBu Yl9zZWdzIGhhcyB0byBiZSB2YWxpZCBpbiBhbnkgc2VnbWVudHMsIGl0DQo+IG1lYW5zDQo+ID4g PiB0aGF0DQo+ID4gPiA+ID4gPiBjaGFpbigpIG9yIHNwbGl0KCkgd2lsbCBoYXZlIHRvIHVwZGF0 ZSBpdCBpbiBhbGwgc2VnbWVudHMsDQo+IHdoaWNoDQo+ID4gPiBpcyBub3QNCj4gPiA+ID4gPiA+ IGVmZmljaWVudC4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFdoeSBpbiBhbGw/DQo+ID4gPiA+ID4g V2UgY2FuIHN0YXRlIHRoYXQgbmJfc2VncyBvbiBub24tZmlyc3Qgc2VnbWVudCBzaG91bGQgYWx3 YXlzDQo+IGVxdWFsDQo+ID4gPiAxLg0KPiA+ID4gPiA+IEFzIEkgdW5kZXJzdGFuZCBpbiB0aGF0 IGNhc2UsIGJvdGggc3BsaXQoKSBhbmQgY2hhaW4oKSBoYXZlIHRvDQo+ID4gPiB1cGRhdGUgbmJf c2Vncw0KPiA+ID4gPiA+IG9ubHkgZm9yIGhlYWQgbWJ1ZnMsIHJlc3Qgb25lcyB3aWxsIHJlbWFp biB1bnRvdWNoZWQuDQo+ID4gPiA+DQo+ID4gPiA+IFdlbGwsIGFueXdheSwgSSB0aGluayBpdCdz IHN0cmFuZ2UgdG8gaGF2ZSBhIGNvbnN0cmFpbnQgb24gbS0NCj4gPm5iX3NlZ3MNCj4gPiA+IGZv cg0KPiA+ID4gPiBub24tZmlyc3Qgc2VnbWVudC4gV2UgZG9uJ3QgaGF2ZSB0aGF0IGtpbmQgb2Yg Y29uc3RyYWludHMgZm9yDQo+IG90aGVyDQo+ID4gPiBmaWVsZHMuDQo+ID4gPg0KPiA+ID4gVHJ1 ZSwgd2UgZG9uJ3QuIEJ1dCB0aGlzIGlzIG9uZSBvZiB0aGUgZmllbGRzIHdlIGNvbnNpZGVyIGNy aXRpY2FsDQo+ID4gPiBmb3IgcHJvcGVyIHdvcmsgb2YgbWJ1ZiBhbGxvYy9mcmVlIG1lY2hhbmlz bS4NCj4gPiA+DQo+ID4NCj4gPiBJIGFtIG5vdCBzdXJlIHRoYXQgcmVxdWlyaW5nIG0tPm5iX3Nl Z3MgPT0gMSBvbiBub24tZmlyc3Qgc2VnbWVudHMNCj4gd2lsbCBwcm92aWRlIGFueSBiZW5lZml0 cy4NCj4gDQo+IEl0IHdvdWxkIG1ha2UgdGhpcyBwYXRjaCB1bm5lZWRlZC4NCj4gU28sIGZvciBk aXJlY3QsIG5vbi1zZWdtZW50ZWQgbWJ1ZnMgIHBrdG1idWZfZnJlZSgpIHdpbGwgcmVtYWluIHdy aXRlLQ0KPiBmcmVlLg0KDQpJIHNlZS4gVGhlbiBJIGFncmVlIHdpdGggS29uc3RhbnRpbiB0aGF0 IGFsdGVybmF0aXZlIHNvbHV0aW9ucyBzaG91bGQgYmUgY29uc2lkZXJlZC4NCg0KVGhlIGJlbmVm aXQgcmVnYXJkaW5nIGZyZWUoKSdpbmcgbm9uLXNlZ21lbnRlZCBtYnVmcyAtIHdoaWNoIGlzIGEg dmVyeSBjb21tb24gb3BlcmF0aW9uIC0gY2VydGFpbmx5IG91dHdlaWdocyB0aGUgY29zdCBvZiBy ZXF1aXJpbmcgc3BsaXQoKS9jaGFpbigpIG9wZXJhdGlvbnMgdG8gc2V0IHRoZSBuZXcgaGVhZCBt YnVmJ3MgbmJfc2VncyA9IDEuDQoNCk5vbmV0aGVsZXNzLCB0aGUgYnVnIG5lZWRzIHRvIGJlIGZp eGVkIHNvbWVob3cuDQoNCklmIHdlIGNhbid0IGNvbWUgdXAgd2l0aCBhIGJldHRlciBzb2x1dGlv biB0aGF0IGRvZXNuJ3QgYnJlYWsgdGhlIEFCSSwgd2UgYXJlIGZvcmNlZCB0byBhY2NlcHQgdGhl IHBhdGNoLg0KDQpVbmxlc3MgdGhlIHRlY2hib2FyZCBhY2NlcHRzIHRvIGJyZWFrIHRoZSBBQkkg aW4gb3JkZXIgdG8gYXZvaWQgdGhlIHBlcmZvcm1hbmNlIGNvc3Qgb2YgdGhpcyBwYXRjaC4NCg0K PiANCj4gPg0KPiA+IEUuZy4gdGhlIHNlY29uZCBzZWdtZW50IG9mIGEgdGhyZWUtc2VnbWVudCBj aGFpbiB3aWxsIHN0aWxsIGhhdmUgbS0NCj4gPm5leHQgIT0gTlVMTCwgc28gaXQgY2Fubm90IGJl IHVzZWQgYXMgYSBnYXRlIHRvIHByZXZlbnQgYWNjZXNzaW5nIG0tDQo+ID4gPm5leHQuDQo+ID4N Cj4gPiBJIG1pZ2h0IGhhdmUgb3Zlcmxvb2tlZCBzb21ldGhpbmcsIHRob3VnaC4NCj4gPg0KPiA+ ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gU2F5aW5n IHRoYXQgbmJfc2VncyBoYXMgdG8gYmUgdmFsaWQgZm9yIHRoZSBmaXJzdCBhbmQgbGFzdA0KPiA+ ID4gc2VnbWVudCBzZWVtcw0KPiA+ID4gPiA+ID4gcmVhbGx5IG9kZCB0byBtZS4gV2hhdCBpcyB0 aGUgbG9naWMgYmVoaW5kIHRoYXQgZXhjZXB0DQo+IGtlZXBpbmcNCj4gPiA+IHRoaXMgdGVzdA0K PiA+ID4gPiA+ID4gYXMgaXM/DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gSW4gYW55IGNhc2Us IGl0IGhhcyB0byBiZSBiZXR0ZXIgZG9jdW1lbnRlZC4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gT2xpdmllcg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiA+ID4gSSB0aGluayB0aGUgYXBwcm9hY2ggZnJvbQ0KPiA+ID4gPiA+ID4gPiA+IHRoaXMg cGF0Y2ggaXMgc2FmZXIuDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IEl0IG1pZ2h0IGJl IGVhc2llciBmcm9tIHBlcnNwZWN0aXZlIHRoYXQgY2hhbmdlcyBpbiBsZXNzDQo+IHBsYWNlcw0K PiA+ID4gYXJlIHJlcXVpcmVkLA0KPiA+ID4gPiA+ID4gPiBUaG91Z2ggSSB0aGluayB0aGF0IHRo aXMgcGF0Y2ggd2lsbCBpbnRyb2R1Y2Ugc29tZQ0KPiBwZXJmb3JtYW5jZQ0KPiA+ID4gZHJvcC4N Cj4gPiA+ID4gPiA+ID4gQXMgbm93IGVhY2ggbWJ1Zl9wcmVmcmVlX3NlZygpIHdpbGwgY2F1c2Ug dXBkYXRlIG9mIDIgY2FjaGUNCj4gPiA+IGxpbmVzIHVuY29uZGl0aW9uYWxseS4NCj4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBCeSB0aGUgd2F5LCBmb3IgMjEuMTEsIGlmIHdlIGFyZSBh YmxlIHRvIGRvIHNvbWUNCj4gPiA+IG9wdGltaXphdGlvbnMgYW5kIGhhdmUNCj4gPiA+ID4gPiA+ ID4gPiBib3RoIHBvb2wgKGluZGV4PykgYW5kIG5leHQgaW4gdGhlIGZpcnN0IGNhY2hlIGxpbmUs IHdlDQo+IG1heQ0KPiA+ID4gcmVjb25zaWRlcg0KPiA+ID4gPiA+ID4gPiA+IHRoZSBmYWN0IHRo YXQgbmV4dCBhbmQgbmJfc2VncyBhcmUgYWxyZWFkeSBzZXQgZm9yIG5ldw0KPiA+ID4gYWxsb2Nh dGVkIG1idWZzLA0KPiA+ID4gPiA+ID4gPiA+IGJlY2F1c2UgaXQgaXMgbm90IHN0cmFpZ2h0Zm9y d2FyZCBlaXRoZXIuDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IE15IHN1Z2dlc3Rpb24g LSBsZXQncyBwdXQgZnV0dXJlIG9wdGltaXphdGlvbiBkaXNjdXNzaW9uDQo+IGFzaWRlDQo+ID4g PiBmb3Igbm93LA0KPiA+ID4gPiA+ID4gPiBhbmQgY29uY2VudHJhdGUgb24gdGhhdCBwYXJ0aWN1 bGFyIHBhdGNoLg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ ID4gPiA+IEFmdGVyIHRoaXMgb3BlcmF0aW9uLCB3ZSBoYXZlIDIgbWJ1ZiBjaGFpbjoNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gIC0gbTAgd2l0aCAyIHNlZ21lbnRzLCB0aGUgbGFzdCBvbmUgaGFzIG5l eHQ9TlVMTCBidXQNCj4gPiA+IG5iX3NlZz0yDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAtIG5ld19t IHdpdGggMSBzZWdtZW50DQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ IEZyZWVpbmcgbTAgd2lsbCBub3QgcmVzdG9yZSBuYl9zZWc9MSBpbiB0aGUgc2Vjb25kDQo+ID4g PiBzZWdtZW50Lg0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPj4gQXNz dW1lcyB0aGF0IGl0IGlzIG9rIHRvIGhhdmUgYW4gbWJ1ZiB3aXRoDQo+ID4gPiA+ID4gPiA+ID4g PiA+PiBuYl9zZWcgPiAxIGFuZCBuZXh0ID09IE5VTEwuDQo+ID4gPiA+ID4gPiA+ID4gPiA+PiBX aGljaCBzZWVtcyB3cm9uZyB0byBtZS4NCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ID4gPiA+ID4gSSBkb24ndCB0aGluayBpdCBpcyB3cm9uZzogbmJfc2VnIGlzIGp1c3QgaWdub3Jl ZA0KPiB3aGVuDQo+ID4gPiBub3QgaW4gdGhlIGZpcnN0DQo+ID4gPiA+ID4gPiA+ID4gPiA+IHNl Z21lbnQsIGFuZCB0aGVyZSBpcyBub3RoaW5nIHNheWluZyBpdCBzaG91bGQgYmUgc2V0DQo+IHRv DQo+ID4gPiAxLiBUeXBpY2FsbHksDQo+ID4gPiA+ID4gPiA+ID4gPiA+IHJ0ZV9wa3RtYnVmX2No YWluKCkgZG9lcyBub3QgY2hhbmdlIGl0LCBhbmQgSSBndWVzcw0KPiBpdCdzDQo+ID4gPiB0aGUg c2FtZSBmb3INCj4gPiA+ID4gPiA+ID4gPiA+ID4gbWFueSBzaW1pbGFyIGZ1bmN0aW9ucyBpbiBh cHBsaWNhdGlvbnMuDQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IE9s aXZpZXINCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4+DQo+ID4gPiA+ ID4gPiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4gPiA+ID4gPj4+IFRoaXMgaXMgZXhwZWN0ZWQgdGhh dCBtYnVmcyBzdG9yZWQgaW4gcG9vbCBoYXZlDQo+IHRoZWlyDQo+ID4gPiA+ID4gPiA+ID4gPiA+ Pj4gbmJfc2VnIGZpZWxkIHNldCB0byAxLg0KPiA+ID4gPiA+ID4gPiA+ID4gPj4+DQo+ID4gPiA+ ID4gPiA+ID4gPiA+Pj4gRml4ZXM6IDhmMDk0YTlhYzVkNyAoIm1idWY6IHNldCBtYnVmIGZpZWxk cyB3aGlsZQ0KPiBpbg0KPiA+ID4gcG9vbCIpDQo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gQ2M6IHN0 YWJsZUBkcGRrLm9yZw0KPiA+ID4gPiA+ID4gPiA+ID4gPj4+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ Pj4gU2lnbmVkLW9mZi1ieTogT2xpdmllciBNYXR6DQo+IDxvbGl2aWVyLm1hdHpANndpbmQuY29t Pg0KPiA+ID4gPiA+ID4gPiA+ID4gPj4+IC0tLQ0KPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICBsaWIv bGlicnRlX21idWYvcnRlX21idWYuYyB8ICA2ICsrLS0tLQ0KPiA+ID4gPiA+ID4gPiA+ID4gPj4+ ICBsaWIvbGlicnRlX21idWYvcnRlX21idWYuaCB8IDEyICsrKystLS0tLS0tLQ0KPiA+ID4gPiA+ ID4gPiA+ID4gPj4+ICAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRp b25zKC0pDQo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiBkaWZm IC0tZ2l0IGEvbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmLmMNCj4gPiA+IGIvbGliL2xpYnJ0ZV9t YnVmL3J0ZV9tYnVmLmMNCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiBpbmRleCA4YTQ1NmU1ZTY0Li5l NjMyMDcxYzIzIDEwMDY0NA0KPiA+ID4gPiA+ID4gPiA+ID4gPj4+IC0tLSBhL2xpYi9saWJydGVf bWJ1Zi9ydGVfbWJ1Zi5jDQo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gKysrIGIvbGliL2xpYnJ0ZV9t YnVmL3J0ZV9tYnVmLmMNCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiBAQCAtMTI5LDEwICsxMjksOCBA QA0KPiA+ID4gcnRlX3BrdG1idWZfZnJlZV9waW5uZWRfZXh0bWVtKHZvaWQgKmFkZHIsIHZvaWQg Km9wYXF1ZSkNCj4gPiA+ID4gPiA+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICAJ cnRlX21idWZfZXh0X3JlZmNudF9zZXQobS0+c2hpbmZvLCAxKTsNCj4gPiA+ID4gPiA+ID4gPiA+ ID4+PiAgCW0tPm9sX2ZsYWdzID0gRVhUX0FUVEFDSEVEX01CVUY7DQo+ID4gPiA+ID4gPiA+ID4g PiA+Pj4gLQlpZiAobS0+bmV4dCAhPSBOVUxMKSB7DQo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gLQkJ bS0+bmV4dCA9IE5VTEw7DQo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gLQkJbS0+bmJfc2VncyA9IDE7 DQo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gLQl9DQo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gKwltLT5u ZXh0ID0gTlVMTDsNCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiArCW0tPm5iX3NlZ3MgPSAxOw0KPiA+ ID4gPiA+ID4gPiA+ID4gPj4+ICAJcnRlX21idWZfcmF3X2ZyZWUobSk7DQo+ID4gPiA+ID4gPiA+ ID4gPiA+Pj4gIH0NCj4gPiA+ID4gPiA+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+ID4gPiA+ID4gPj4+ IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX21idWYvcnRlX21idWYuaA0KPiA+ID4gYi9saWIvbGli cnRlX21idWYvcnRlX21idWYuaA0KPiA+ID4gPiA+ID4gPiA+ID4gPj4+IGluZGV4IGExNDE0ZWQ3 Y2QuLmVmNTgwMGM4ZWYgMTAwNjQ0DQo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gLS0tIGEvbGliL2xp YnJ0ZV9tYnVmL3J0ZV9tYnVmLmgNCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiArKysgYi9saWIvbGli cnRlX21idWYvcnRlX21idWYuaA0KPiA+ID4gPiA+ID4gPiA+ID4gPj4+IEBAIC0xMzI5LDEwICsx MzI5LDggQEANCj4gcnRlX3BrdG1idWZfcHJlZnJlZV9zZWcoc3RydWN0DQo+ID4gPiBydGVfbWJ1 ZiAqbSkNCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiAgCQkJCXJldHVybiBOVUxMOw0KPiA+ID4gPiA+ ID4gPiA+ID4gPj4+ICAJCX0NCj4gPiA+ID4gPiA+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+ID4gPiA+ ID4gPj4+IC0JCWlmIChtLT5uZXh0ICE9IE5VTEwpIHsNCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiAt CQkJbS0+bmV4dCA9IE5VTEw7DQo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gLQkJCW0tPm5iX3NlZ3Mg PSAxOw0KPiA+ID4gPiA+ID4gPiA+ID4gPj4+IC0JCX0NCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiAr CQltLT5uZXh0ID0gTlVMTDsNCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiArCQltLT5uYl9zZWdzID0g MTsNCj4gPiA+ID4gPiA+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICAJCXJldHVy biBtOw0KPiA+ID4gPiA+ID4gPiA+ID4gPj4+DQo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gQEAgLTEz NDYsMTAgKzEzNDQsOCBAQA0KPiBydGVfcGt0bWJ1Zl9wcmVmcmVlX3NlZyhzdHJ1Y3QNCj4gPiA+ IHJ0ZV9tYnVmICptKQ0KPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICAJCQkJcmV0dXJuIE5VTEw7DQo+ ID4gPiA+ID4gPiA+ID4gPiA+Pj4gIAkJfQ0KPiA+ID4gPiA+ID4gPiA+ID4gPj4+DQo+ID4gPiA+ ID4gPiA+ID4gPiA+Pj4gLQkJaWYgKG0tPm5leHQgIT0gTlVMTCkgew0KPiA+ID4gPiA+ID4gPiA+ ID4gPj4+IC0JCQltLT5uZXh0ID0gTlVMTDsNCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiAtCQkJbS0+ bmJfc2VncyA9IDE7DQo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gLQkJfQ0KPiA+ID4gPiA+ID4gPiA+ ID4gPj4+ICsJCW0tPm5leHQgPSBOVUxMOw0KPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICsJCW0tPm5i X3NlZ3MgPSAxOw0KPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICAJCXJ0ZV9tYnVmX3JlZmNudF9zZXQo bSwgMSk7DQo+ID4gPiA+ID4gPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiAgCQly ZXR1cm4gbTsNCj4gPiA+ID4gPiA+ID4gPiA+ID4+PiAtLQ0KPiA+ID4gPiA+ID4gPiA+ID4gPj4+ IDIuMjUuMQ0KPiA+ID4gPiA+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+ID4gPiA+DQoNCg==