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 E90B8A04B5; Mon, 26 Oct 2020 01:57:43 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 6E8B529C8; Mon, 26 Oct 2020 01:57:40 +0100 (CET) Received: from m1357.mail.163.com (m1357.mail.163.com [220.181.13.57]) by dpdk.org (Postfix) with ESMTP id 61EFB1D9E; Mon, 26 Oct 2020 01:57:36 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Date:From:Subject:MIME-Version:Message-ID; bh=n+YX+ F65Las6IcJS9RskVGXt6eVpU52fWC0yuWcZHFo=; b=UaDMqT3rODCZ4sW9LNxVj I6YTbcjhumPjP6/MpvtVxuyb1xx/pS4b/U86Eq2YpQZLb1XfUg6a808jJcfzcE53 aGM2gUjVvVBSMjRTIPbLInH9LWUFgRxIuhlLlO7GNUXCOXSoe59V8tmhtdTJODrK 9DBwEOHXtSYUAyUWD8KWXo= Received: from yang_y_yi$163.com ( [111.207.123.58] ) by ajax-webmail-wmsvr57 (Coremail) ; Mon, 26 Oct 2020 08:57:30 +0800 (CST) X-Originating-IP: [111.207.123.58] Date: Mon, 26 Oct 2020 08:57:30 +0800 (CST) From: yang_y_yi To: "Ananyev, Konstantin" Cc: "dev@dpdk.org" , "Hu, Jiayu" , "techboard@dpdk.org" , "thomas@monjalon.net" , "yangyi01@inspur.com" X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT5.0.10 build 20190724(ac680a23) Copyright (c) 2002-2020 www.mailtech.cn 163com In-Reply-To: References: <20201022065151.10108-1-yang_y_yi@163.com> <3dcc6d13.74bb.175559c0cf4.Coremail.yang_y_yi@163.com> X-CM-CTRLDATA: ZQtZ/mZvb3Rlcl9odG09MTAwNzU6NTY= MIME-Version: 1.0 Message-ID: <40321786.799.175626903ce.Coremail.yang_y_yi@163.com> X-Coremail-Locale: zh_CN X-CM-TRANSID: OcGowAC3CdH6HpZfx1eLAA--.35640W X-CM-SenderInfo: 51dqwsp1b1xqqrwthudrp/xtbBEBrJi1UMUQG+BgAAs5 X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== Content-Type: text/plain; charset=GBK Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH v2] gso: fix free issue of mbuf gso segments attach to 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" QXQgMjAyMC0xMC0yMyAyMjo0Njo0MiwgIkFuYW55ZXYsIEtvbnN0YW50aW4iIDxrb25zdGFudGlu LmFuYW55ZXZAaW50ZWwuY29tPiB3cm90ZToKPj4gRnJvbTogeWFuZ195X3lpIDx5YW5nX3lfeWlA MTYzLmNvbT4KPj4gU2VudDogRnJpZGF5LCBPY3RvYmVyIDIzLCAyMDIwIDI6MTggUE0KPj4gVG86 IEFuYW55ZXYsIEtvbnN0YW50aW4gPGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+Cj4+IENj OiBkZXZAZHBkay5vcmc7IEh1LCBKaWF5dSA8amlheXUuaHVAaW50ZWwuY29tPjsgdGVjaGJvYXJk QGRwZGsub3JnOyB0aG9tYXNAbW9uamFsb24ubmV0OyB5YW5neWkwMUBpbnNwdXIuY29tCj4+IFN1 YmplY3Q6IFJlOlJFOiBbUEFUQ0ggdjJdIGdzbzogZml4IGZyZWUgaXNzdWUgb2YgbWJ1ZiBnc28g c2VnbWVudHMgYXR0YWNoIHRvCj4+IAo+PiBLb25zdGFudGluLCB0aGFuayB5b3Ugc28gbXVjaCBm b3IgY29tbWVudHMsIG15IHJlcGxpZXMgaW5saW5lLCBwbGVhc2UgY2hlY2sgdGhlbS4KPj4gQXQg MjAyMC0xMC0yMiAyMToxNjo0MywgIkFuYW55ZXYsIEtvbnN0YW50aW4iIDxtYWlsdG86a29uc3Rh bnRpbi5hbmFueWV2QGludGVsLmNvbT4gd3JvdGU6Cj4+ID4KPj4gPj4KPj4gPj4gcnRlX2dzb19z ZWdtZW50IGRlY3JlYXNlZCByZWZjbnQgb2YgcGt0IGJ5IG9uZSwgYnV0Cj4+ID4+IGl0IGlzIHdy b25nIGlmIHBrdCBpcyBleHRlcm5hbCBtYnVmLCBwa3Qgd29uJ3QgYmUKPj4gPj4gZnJlZWQgYmVj YXVzZSBvZiBpbmNvcnJlY3QgcmVmY250LCB0aGUgcmVzdWx0IGlzCj4+ID4+IGFwcGxpY2F0aW9u IGNhbid0IGFsbG9jYXRlIG1idWYgZnJvbSBtZW1wb29sIGJlY2F1c2UKPj4gPj4gbWJ1ZnMgaW4g bWVtcG9vbCBhcmUgcnVuIG91dCBvZi4KPj4gPj4KPj4gPj4gT25lIGNvcnJlY3Qgd2F5IGlzIGFw cGxpY2F0aW9uIHNob3VsZCBjYWxsCj4+ID4+IHJ0ZV9wa3RtYnVmX2ZyZWUgYWZ0ZXIgY2FsbGlu ZyBydGVfZ3NvX3NlZ21lbnQgdG8gZnJlZQo+PiA+PiBwa3QgZXhwbGljaXRseS4gcnRlX2dzb19z ZWdtZW50IG11c3RuJ3QgaGFuZGxlIGl0LCB0aGlzCj4+ID4+IHNob3VsZCBiZSByZXNwb25zaWJp bGl0eSBvZiBhcHBsaWNhdGlvbi4KPj4gPgo+PiA+UHJvYmFibHkgbmVlZHMgdG8gYmUgc3RhdGVk IGNsZWFybHk6Cj4+ID5JdCBpcyBhIGNoYW5nZSBpbiBmdW5jdGlvbmFsIGJlaGF2aW91ci4KPj4g PldpdGhvdXQgZGVwcmVjYXRpb24gbm90ZSBpbiBhZHZhbmNlLgo+PiAKPj4gT2ssIEknbGwgYWRk IHN1Y2ggc3RhdGVtZW50IGluIG5leHQgdmVyc2lvbi4KPj4gCj4+ID5UQiBtZW1iZXJzOiBwbGVh c2UgcHJvdmlkZSB5b3VyIG9waW5pb24gb24gdGhhdCBwYXRjaC4KPj4gPgo+PiA+Pgo+PiA+PiBG aXhlczogMTE5NTgzNzk3YjZhICgiZ3NvOiBzdXBwb3J0IFRDUC9JUHY0IEdTTyIpCj4+ID4+IFNp Z25lZC1vZmYtYnk6IFlpIFlhbmcgPG1haWx0bzp5YW5neWkwMUBpbnNwdXIuY29tPgo+PiA+PiAt LS0KPj4gPj4gQ2hhbmdlbG9nOgo+PiA+Pgo+PiA+PiB2MS0+djI6Cj4+ID4+ICAgLSB1cGRhdGUg ZGVzY3JpcHRpb24gb2YgcnRlX2dzb19zZWdtZW50KCkuCj4+ID4+ICAgLSBjaGFuZ2UgY29kZSB3 aGljaCBjYWxscyBydGVfZ3NvX3NlZ21lbnQoKSB0bwo+PiA+PiAgICAgZml4IGZyZWUgaXNzdWUu Cj4+ID4+Cj4+ID4+IC0tLQo+PiA+PiAgYXBwL3Rlc3QtcG1kL2NzdW1vbmx5LmMgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IDMgKystCj4+ID4+ICBkb2MvZ3VpZGVzL3Byb2df Z3VpZGUvZ2VuZXJpY19zZWdtZW50YXRpb25fb2ZmbG9hZF9saWIucnN0IHwgNyArKysrKy0tCj4+ ID4KPj4gPkkgdGhpbmsgcmVsZWFzZSBub3RlcyBhbHNvIGhhdmUgdG8gYmUgdXBkYXRlZC4KPj4g Cj4+IE9rLCBhbHNvIHdpbGwgdXBkYXRlIGl0IHRvIHJlZmxlY3QgdGhpcyBjaGFuZ2UuCj4+IAo+ PiA+Cj4+ID4+ICBsaWIvbGlicnRlX2dzby9ydGVfZ3NvLmMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgOSArLS0tLS0tLS0KPj4gPj4gIGxpYi9saWJydGVfZ3NvL3J0ZV9nc28u aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA3ICsrKysrLS0KPj4gPj4gIDQg ZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCj4+ID4+Cj4+ ID4+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC1wbWQvY3N1bW9ubHkuYyBiL2FwcC90ZXN0LXBtZC9j c3Vtb25seS5jCj4+ID4+IGluZGV4IDNkN2QyNDQuLjgyOWUwN2YgMTAwNjQ0Cj4+ID4+IC0tLSBh L2FwcC90ZXN0LXBtZC9jc3Vtb25seS5jCj4+ID4+ICsrKyBiL2FwcC90ZXN0LXBtZC9jc3Vtb25s eS5jCj4+ID4+IEBAIC0xMDgwLDExICsxMDgwLDEyIEBAIHN0cnVjdCBzaW1wbGVfZ3JlX2hkciB7 Cj4+ID4+ICAJCQlyZXQgPSBydGVfZ3NvX3NlZ21lbnQocGt0c19idXJzdFtpXSwgZ3NvX2N0eCwK Pj4gPj4gIAkJCQkJJmdzb19zZWdtZW50c1tuYl9zZWdtZW50c10sCj4+ID4+ICAJCQkJCUdTT19N QVhfUEtUX0JVUlNUIC0gbmJfc2VnbWVudHMpOwo+PiA+PiArCQkJLyogcGt0c19idXJzdFtpXSBj YW4gYmUgZnJlZWQgc2FmZWx5IGhlcmUuICovCj4+ID4+ICsJCQlydGVfcGt0bWJ1Zl9mcmVlKHBr dHNfYnVyc3RbaV0pOwo+PiA+Cj4+ID5JdCBkb2Vzbid0IGxvb2sgY29ycmVjdCB0byBtZS4KPj4g PkkgdGhpbmsgaXQgc2hvdWxkIGJlOgo+PiA+SWYgKHJldCA+IDEpIHJ0ZV9wa3RtYnVmX2ZyZWUo cGt0c19idXJzdFtpXSk7Cj4+IAo+PiBObywgaW4gb3JpZ2luYWwgaW1wbGVtZW50YXRpb24sIGlm IGdzbyBmYWlsZWQsIGFwcGxpY2F0aW9uIHdpbGwgZnJlZSBpdCwgb3RoZXJ3aXNlIHJ0ZV9nc29f c2VnbWVudCB3aWxsIGZyZWUgaXQgKGkuZS4gcmVmY250IHVwZGF0ZSAtMSBpbgo+PiBydGVfZ3Nv X3NlZ21lbnQpLCB0aGlzIGNoYW5nZSB3aWxsIGNoYW5nZSBwcmV2aW91cyBiZWhhdmlvci4gYXBw bGljYXRpb24gd2lsbCBmcmVlIGl0IGZvciBib3RoIGNhc2VzLgo+Cj4KPlRoYXQncyB0aGUgcG9p bnQgLSB3aXRoIGN1cnJlbnQgaW1wbGVtZW50YXRpb246Cj5JZiByZXQgPT0gMSwgdGhlbiB5b3Ug c2hvdWxkbid0IGZyZWUgaW5wdXQgcGFja2V0Lgo+QmVjYXVzZSBpbiB0aGF0IGNhc2U6Cj5pbnB1 dF9wa3QgPT0gb3V0cHV0X3BrdFswXQo+Cj5BbmQgaWYgeW91J2xsIGZyZWUgaXQsIHlvdSBjYW4n dCB1c2UgaXQgYWZ0ZXIgaXQuCj5JbiB0aGF0IHBhcnRpY3VsYXIgY2FzZSwgeW91IGNhbid0IFRY IGl0LgoKSSBjaGVja2VkIGdzbyBjb2RlIGFnYWluLCB0aGVyZSBhcmUgdHdvIGNhc2VzIGV2ZW4g aWYgcmV0ID09IDEsIG9uZSBjYXNlIGlzIGl0IGlzbid0IHNlZ21lbnRlZCwgdGhlIG90aGVyIGlz IGl0IGlzIHNlZ21lbnRlZCBidXQgZ3NvX2RvX3NlZ21lbnQgcmV0dXJucyAxLCBmb3IgY2FzZSAj MSwgd2UgY2FuIGhhbmRsZSBpdCBhcyB5b3Ugc2FpZCwgYnV0IGZvciBjYXNlICMyLCB3ZSBjYW4n dCBoYW5kbGUgaXQgYXMgeW91IHNhaWQgYmVjYXVzZSBpdCBoYXMgYmVlbiBzZWdtZW50ZWQgaW4g ZmFjdC4gU28gSSB0aGluayB3ZSBzaG91bGQgcmV0dXJuIDAgZm9lIGNhc2UgIzEgYW5kIGRvbid0 IGRvIGFzc2lnbm1lbnQgICJwa3RzX291dFswXSA9IHBrdDsiLCB3ZSBzaG91bGQgaGFuZGxlIGNh c2UgIzIgYXMgYmVmb3JlLCByaWdodD8KCj4gCj4+IAo+PiA+Cj4+ID4+ICAJCQlpZiAocmV0ID49 IDApCj4+ID4+ICAJCQkJbmJfc2VnbWVudHMgKz0gcmV0Owo+PiA+PiAgCQkJZWxzZSB7Cj4+ID4+ ICAJCQkJVEVTVFBNRF9MT0coREVCVUcsICJVbmFibGUgdG8gc2VnbWVudCBwYWNrZXQiKTsKPj4g Pj4gLQkJCQlydGVfcGt0bWJ1Zl9mcmVlKHBrdHNfYnVyc3RbaV0pOwo+PiA+PiAgCQkJfQo+PiA+ PiAgCQl9Cj4+ID4KPj4gPgo+PiA+QWJvdXQgZHJpdmVycy9uZXQvdGFwL3J0ZV9ldGhfdGFwLmM6 Cj4+ID5JIHRoaW5rIGl0IGhhcyB0byBiZSBtb2RpZmllZCB0b28sIGFzIGhlcmU6Cj4+ID4KPj4g Pi8qIGZyZWUgb3JpZ2luYWwgbWJ1ZiAqLwo+PiA+ICAgICAgICAgICAgICAgIHJ0ZV9wa3RtYnVm X2ZyZWUobWJ1Zl9pbik7Cj4+ID4gICAgICAgICAgICAgICAgLyogZnJlZSB0c28gbWJ1ZnMgKi8K Pj4gPiAgICAgICAgICAgICAgICBpZiAobnVtX3Rzb19tYnVmcyA+IDApCj4+ID4gICAgICAgICAg ICAgICAgICAgICAgICBydGVfcGt0bWJ1Zl9mcmVlX2J1bGsobWJ1ZiwgbnVtX3Rzb19tYnVmcyk7 Cj4+ID4KPj4gPmlmIG1idWZbMF0gPT0gbWJ1Zl9pbgo+PiA+V2lsbCBoYXZlIGEgZG91YmxlIGZy ZWUoKSBmb3IgdGhlIHNhbWUgbWJ1Zi4KPj4gCj4+IEhlcmUgSSdtIG5vdCBjbGVhciwgaXMgdGhp cyBjb2RlIG9rIGJlZm9yZSBJIGNoYW5nZT8gSXQgbG9va3MgbGlrZSB0aGVyZSBpcyBzYW1lIGlz c3VlIHRoZXJlIGJlZm9yZS4KPj4gCj4+ID4KPj4gPj4KPj4gPj4gZGlmZiAtLWdpdCBhL2RvYy9n dWlkZXMvcHJvZ19ndWlkZS9nZW5lcmljX3NlZ21lbnRhdGlvbl9vZmZsb2FkX2xpYi5yc3QKPj4g Yi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvZ2VuZXJpY19zZWdtZW50YXRpb25fb2ZmbG9hZF9saWIu cnN0Cj4+ID4+IGluZGV4IDIwNWNiOGEuLjg1Nzc1NzIgMTAwNjQ0Cj4+ID4+IC0tLSBhL2RvYy9n dWlkZXMvcHJvZ19ndWlkZS9nZW5lcmljX3NlZ21lbnRhdGlvbl9vZmZsb2FkX2xpYi5yc3QKPj4g Pj4gKysrIGIvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL2dlbmVyaWNfc2VnbWVudGF0aW9uX29mZmxv YWRfbGliLnJzdAo+PiA+PiBAQCAtMjUsOCArMjUsOSBAQCBCZWFyaW5nIHRoYXQgaW4gbWluZCwg dGhlIEdTTyBsaWJyYXJ5IGVuYWJsZXMgRFBESyBhcHBsaWNhdGlvbnMgdG8gc2VnbWVudAo+PiA+ PiAgcGFja2V0cyBpbiBzb2Z0d2FyZS4gTm90ZSBob3dldmVyLCB0aGF0IEdTTyBpcyBpbXBsZW1l bnRlZCBhcyBhIHN0YW5kYWxvbmUKPj4gPj4gIGxpYnJhcnksIGFuZCBub3QgdmlhIGEgJ2ZhbGxi YWNrJyBtZWNoYW5pc20gKGkuZS4gZm9yIHdoZW4gVFNPIGlzIHVuc3VwcG9ydGVkCj4+ID4+ICBp biB0aGUgdW5kZXJseWluZyBoYXJkd2FyZSk7IHRoYXQgaXMsIGFwcGxpY2F0aW9ucyBtdXN0IGV4 cGxpY2l0bHkgaW52b2tlIHRoZQo+PiA+PiAtR1NPIGxpYnJhcnkgdG8gc2VnbWVudCBwYWNrZXRz LiBUaGUgc2l6ZSBvZiBHU08gc2VnbWVudHMgYGAoc2Vnc3opYGAgaXMKPj4gPj4gLWNvbmZpZ3Vy YWJsZSBieSB0aGUgYXBwbGljYXRpb24uCj4+ID4+ICtHU08gbGlicmFyeSB0byBzZWdtZW50IHBh Y2tldHMsIHRoZXkgYWxzbyBtdXN0IGNhbGwgYGBydGVfcGt0bWJ1Zl9mcmVlKClgYCB0bwo+PiA+ PiArZnJlZSBtYnVmIEdTTyBzZWdtZW50cyBhdHRhY2ggdG8gYWZ0ZXIgY2FsbGluZyBgYHJ0ZV9n c29fc2VnbWVudCgpYGAuCj4+ID4KPj4gPlByb2JhYmx5IHdvcnRoIHRvIG1lbnRpb24gdGhhdCBp ZiByZXR1cm4gY29kZSA9PSAxLCB0aGVuCj4+ID5vdXRwdXQgbWJ1ZiB3aWxsIHBvaW50IHRvIGlu cHV0IG1idWYgYW5kIGV4dHJhIGNhcmUgd2l0aCBmcmVlKCkgaXMgcmVxdWlyZWQuCj4+IAo+PiBP ay4KPj4gCj4+ID4KPj4gPj4gVGhlIHNpemUKPj4gPj4gK29mIEdTTyBzZWdtZW50cyBgYChzZWdz eilgYCBpcyBjb25maWd1cmFibGUgYnkgdGhlIGFwcGxpY2F0aW9uLgo+PiA+Pgo+PiA+PiAgTGlt aXRhdGlvbnMKPj4gPj4gIC0tLS0tLS0tLS0tCj4+ID4+IEBAIC0yMzMsNiArMjM0LDggQEAgVG8g c2VnbWVudCBhbiBvdXRnb2luZyBwYWNrZXQsIGFuIGFwcGxpY2F0aW9uIG11c3Q6Cj4+ID4+Cj4+ ID4+ICAjLiBJbnZva2UgdGhlIEdTTyBzZWdtZW50YXRpb24gQVBJLCBgYHJ0ZV9nc29fc2VnbWVu dCgpYGAuCj4+ID4+Cj4+ID4+ICsjLiBDYWxsIGBgcnRlX3BrdG1idWZfZnJlZSgpYGAgdG8gZnJl ZSBtYnVmIGBgcnRlX2dzb19zZWdtZW50KClgYCBzZWdtZW50cy4KPj4gPj4gKwo+PiA+PiAgIy4g SWYgcmVxdWlyZWQsIHVwZGF0ZSB0aGUgTDMgYW5kIEw0IGNoZWNrc3VtcyBvZiB0aGUgbmV3bHkt Y3JlYXRlZCBzZWdtZW50cy4KPj4gPj4gICAgIEZvciB0dW5uZWxlZCBwYWNrZXRzLCB0aGUgb3V0 ZXIgSVB2NCBoZWFkZXJzJyBjaGVja3N1bXMgc2hvdWxkIGFsc28gYmUKPj4gPj4gICAgIHVwZGF0 ZWQuIEFsdGVybmF0aXZlbHksIHRoZSBhcHBsaWNhdGlvbiBtYXkgb2ZmbG9hZCBjaGVja3N1bSBj YWxjdWxhdGlvbgo+PiA+PiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9nc28vcnRlX2dzby5jIGIv bGliL2xpYnJ0ZV9nc28vcnRlX2dzby5jCj4+ID4+IGluZGV4IDc1MWI1YjYuLjBkNmNhZTUgMTAw NjQ0Cj4+ID4+IC0tLSBhL2xpYi9saWJydGVfZ3NvL3J0ZV9nc28uYwo+PiA+PiArKysgYi9saWIv bGlicnRlX2dzby9ydGVfZ3NvLmMKPj4gPj4gQEAgLTMwLDcgKzMwLDYgQEAKPj4gPj4gIAkJdWlu dDE2X3QgbmJfcGt0c19vdXQpCj4+ID4+ICB7Cj4+ID4+ICAJc3RydWN0IHJ0ZV9tZW1wb29sICpk aXJlY3RfcG9vbCwgKmluZGlyZWN0X3Bvb2w7Cj4+ID4+IC0Jc3RydWN0IHJ0ZV9tYnVmICpwa3Rf c2VnOwo+PiA+PiAgCXVpbnQ2NF90IG9sX2ZsYWdzOwo+PiA+PiAgCXVpbnQxNl90IGdzb19zaXpl Owo+PiA+PiAgCXVpbnQ4X3QgaXBpZF9kZWx0YTsKPj4gPj4gQEAgLTgwLDEzICs3OSw3IEBACj4+ ID4+ICAJCXJldHVybiAxOwo+PiA+PiAgCX0KPj4gPj4KPj4gPj4gLQlpZiAocmV0ID4gMSkgewo+ PiA+PiAtCQlwa3Rfc2VnID0gcGt0Owo+PiA+PiAtCQl3aGlsZSAocGt0X3NlZykgewo+PiA+PiAt CQkJcnRlX21idWZfcmVmY250X3VwZGF0ZShwa3Rfc2VnLCAtMSk7Cj4+ID4+IC0JCQlwa3Rfc2Vn ID0gcGt0X3NlZy0+bmV4dDsKPj4gPj4gLQkJfQo+PiA+PiAtCX0gZWxzZSBpZiAocmV0IDwgMCkg ewo+PiA+PiArCWlmIChyZXQgPCAwKSB7Cj4+ID4+ICAJCS8qIFJldmVydCB0aGUgb2xfZmxhZ3Mg aW4gdGhlIGV2ZW50IG9mIGZhaWx1cmUuICovCj4+ID4+ICAJCXBrdC0+b2xfZmxhZ3MgPSBvbF9m bGFnczsKPj4gPj4gIAl9Cj4+ID4+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2dzby9ydGVfZ3Nv LmggYi9saWIvbGlicnRlX2dzby9ydGVfZ3NvLmgKPj4gPj4gaW5kZXggM2FhYjI5Ny4uZjY2OTRm OSAxMDA2NDQKPj4gPj4gLS0tIGEvbGliL2xpYnJ0ZV9nc28vcnRlX2dzby5oCj4+ID4+ICsrKyBi L2xpYi9saWJydGVfZ3NvL3J0ZV9nc28uaAo+PiA+PiBAQCAtODksOCArODksMTEgQEAgc3RydWN0 IHJ0ZV9nc29fY3R4IHsKPj4gPj4gICAqIHRoZSBHU08gc2VnbWVudHMgYXJlIHNlbnQgdG8gc2hv dWxkIHN1cHBvcnQgdHJhbnNtaXNzaW9uIG9mIG11bHRpLXNlZ21lbnQKPj4gPj4gICAqIHBhY2tl dHMuCj4+ID4+ICAgKgo+PiA+PiAtICogSWYgdGhlIGlucHV0IHBhY2tldCBpcyBHU08nZCwgaXRz IG1idWYgcmVmY250IHJlZHVjZXMgYnkgMS4gVGhlcmVmb3JlLAo+PiA+PiAtICogd2hlbiBhbGwg R1NPIHNlZ21lbnRzIGFyZSBmcmVlZCwgdGhlIGlucHV0IHBhY2tldCBpcyBmcmVlZCBhdXRvbWF0 aWNhbGx5Lgo+PiA+PiArICogSWYgdGhlIGlucHV0IHBhY2tldCBpcyBHU08nZCwgYWxsIHRoZSBp bmRpcmVjdCBzZWdtZW50cyBhcmUgYXR0YWNoZWQgdG8gdGhlCj4+ID4+ICsgKiBpbnB1dCBwYWNr ZXQuCj4+ID4+ICsgKgo+PiA+PiArICogcnRlX2dzb19zZWdtZW50KCkgd2lsbCBub3QgZnJlZSB0 aGUgaW5wdXQgcGFja2V0IG5vIG1hdHRlciB3aGV0aGVyIGl0IGlzCj4+ID4+ICsgKiBHU08nZCBv ciBub3QsIHRoZSBhcHBsaWNhdGlvbiBzaG91bGQgZnJlZSBpdCBhZnRlciBjYWxsIHJ0ZV9nc29f c2VnbWVudCgpLgo+PiA+PiAgICoKPj4gPj4gICAqIElmIHRoZSBtZW1vcnkgc3BhY2UgaW4gcGt0 c19vdXQgb3IgTUJVRiBwb29scyBpcyBpbnN1ZmZpY2llbnQsIHRoaXMKPj4gPj4gICAqIGZ1bmN0 aW9uIGZhaWxzLCBhbmQgaXQgcmV0dXJucyAoLTEpICogZXJybm8uIE90aGVyd2lzZSwgR1NPIHN1 Y2NlZWRzLAo+PiA+PiAtLQo+PiA+PiAxLjguMy4xCj4+IAo+PiAKPj4KCgo=