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 C019FA04B7; Wed, 2 Sep 2020 11:31:30 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A352B1C08C; Wed, 2 Sep 2020 11:31:30 +0200 (CEST) Received: from m136.mail.163.com (m136.mail.163.com [220.181.13.6]) by dpdk.org (Postfix) with ESMTP id E14FD1C07D for ; Wed, 2 Sep 2020 11:31:27 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Date:From:Subject:MIME-Version:Message-ID; bh=CaieK 4J08XIV1Pfp+3KSvSh+41MMFYjEPSNqiYCCwkM=; b=a2IkSRwEmK5pMBuGWeDVI wD/RuOjXh3zbIgKLXpoPDRzxYKUeFdEoSb+quHJBefilugmUhyJEov1Qvb5rdDTa snxEwi1sY+0xb+9RITw53fBgGdMwU07AYI+wsIR24Rh5WJfNG4npMThtw1v0pLZf 4/B/Rf7xXF31BYl0lCaUZU= Received: from yang_y_yi$163.com ( [111.207.123.58] ) by ajax-webmail-wmsvr6 (Coremail) ; Wed, 2 Sep 2020 17:31:24 +0800 (CST) X-Originating-IP: [111.207.123.58] Date: Wed, 2 Sep 2020 17:31:24 +0800 (CST) From: yang_y_yi To: "Hu, Jiayu" Cc: "dev@dpdk.org" , "thomas@monjalon.net" , "yangyi01@inspur.com" X-Priority: 1 X-Mailer: Coremail Webmail Server Version XT5.0.10 build 20190724(ac680a23) Copyright (c) 2002-2020 www.mailtech.cn 163com In-Reply-To: <45a8b506147448588694683e4396e08f@intel.com> References: <20200701064800.222400-1-yang_y_yi@163.com> <7b56d9d7.4058.1744849f8c6.Coremail.yang_y_yi@163.com> <40ffd2af.60ca.17448d52847.Coremail.yang_y_yi@163.com> <860dbd7705ad47c7ae00c78879e0ac37@intel.com> <45a8b506147448588694683e4396e08f@intel.com> X-CM-CTRLDATA: ST/1+mZvb3Rlcl9odG09MjQxMTk6NTY= MIME-Version: 1.0 Message-ID: <454b0278.62ee.1744e281817.Coremail.yang_y_yi@163.com> X-Coremail-Locale: zh_CN X-CM-TRANSID: BsGowAB39XFsZk9fMp5yAA--.18581W X-CM-SenderInfo: 51dqwsp1b1xqqrwthudrp/xtbBEheTi16iY8RpxQABsr 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] gro: add UDP GRO and VXLAN UDP GRO support 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" VGhhbmtzIEppYXl1LCBJIGhhdmUgcmVtb3ZlZCBpdCBhbmQgc2VudCBvdXQgdjMsIHBsZWFzZSBo ZWxwIGFjayBpZiBubyBtb3JlIGNvbW1lbnRzLgoKCkF0IDIwMjAtMDktMDIgMTQ6MjY6MzcsICJI dSwgSmlheXUiIDxqaWF5dS5odUBpbnRlbC5jb20+IHdyb3RlOgoKR1JPIGxpYiByZXF1aXJlcyB1 c2VycyB0byBwcm92aWRlIGNvcnJlY3QgbWJ1Zi0+bDJfbGVuL3BhY2tldF90eXBlIGV0Yy4uCgpU aGlzIGlzIGZvciBhdm9pZGluZyBwYXJzaW5nIHBhY2tldCBoZWFkZXJzLiBJZiB3ZSBiZWxpZXZl IHVzZXJzIGdpdmUgY29ycmVjdAoKcGFja2V0X3R5cGUsIHdlIGFsc28gc2hvdWxkIGJlbGlldmUg bDJfbGVuL2w0X2xlbiBldGMuIGFyZSBjb3JyZWN0LiBPdGhlcndpc2UsCgp3ZSBuZWVkIHRvIGdl dCBsYXllciA0IGhlYWRlciBsZW5ndGggZnJvbSBpcHY0IGhlYWRlciwgcmF0aGVyIHRoYW4gbWJ1 Zi0+bDRfbGVuLgoKIAoKcnRlX2dyb19yeF9wcmVwYXJlKCkgaXMgYSBnb29kIHdheSB0byBkbyBz YW5pdHkgY2hlY2sgb3IgcHJlcGFyZSBsMl9sZW4gZXRjLiBmaWVsZHMsCgpidXQgdGhpcyBmdW5j dGlvbiBzaG91bGQgYmUgb3B0aW9uYWwsIElNTy4gRWl0aGVyIHVzZXIgb3IgcnRlX2dyb19yeF9w cmVwYXJlKCkgcHJvdmlkZXMKCmNvcnJlY3QgbDJfbGVuIGV0Yy4gdmFsdWUuCgogCgpUaGFua3Ms CgpKaWF5dQoKRnJvbTogeWFuZ195X3lpIDx5YW5nX3lfeWlAMTYzLmNvbT4KU2VudDogV2VkbmVz ZGF5LCBTZXB0ZW1iZXIgMiwgMjAyMCAxOjU4IFBNClRvOiBIdSwgSmlheXUgPGppYXl1Lmh1QGlu dGVsLmNvbT4KQ2M6IGRldkBkcGRrLm9yZzsgdGhvbWFzQG1vbmphbG9uLm5ldDsgeWFuZ3lpMDFA aW5zcHVyLmNvbQpTdWJqZWN0OiBSZTpSRTogUmU6UmU6IFtkcGRrLWRldl0gW1BBVENIXSBncm86 IGFkZCBVRFAgR1JPIGFuZCBWWExBTiBVRFAgR1JPIHN1cHBvcnQKSW1wb3J0YW5jZTogSGlnaAoK IAoKSmlheXUsIFRDUCBoZWFkZXIgbGVuZ3RoIGlzIHZhcmlhYmxlIGlmIHRoZXJlIGlzIFRDUCBv cHRpb24sIGl0IGlzIHVzdWFsbHkgMjAgaWYgbm8gVENQIG9wdGlvbiwgYnV0IGNvcnJlY3QgdmFs dWUgbXVzdCBiZSBiZXR3ZWVuIDIwIGFuZCA2MCAoaW5jbHVkaW5nIDIwIGFuZCA2MCksIEkgdGhp bmsgd2UgY2FuJ3QgYXNzdW1lIGw0IGhlYWRlciBsZW5ndGggaGFzIGJlZW4gc2V0IGNvcnJlY3Rs eSBpZiBwYWNrZXRfdHlwZSBpcyBzZXQgY29ycmVjdGx5LCB0aGlzIGlzIG15IHBvaW50LiBJIHRo aW5rIGl0IHdpbGwgYmUgYmV0dGVyIGlmIHdlIGNhbiBhZGQgYSBydGVfZ3JvX3J4X3ByZXBhcmUg YXMgcnRlX2V0aF90eF9wcmVwYXJlLiBHUk8gY2FuJ3Qgd29yayBub3JtYWxseSBvbmx5IGlmIG9u ZSBvZiBhbGwgdGhlIHJlbGF0ZWQgZmllbGRzIGlzbid0IHNldCBjb3JyZWN0bHkuIFNvIEkgZG9u J3QgdGhpbmsgc3VjaCBzYW5pdHkgY2hlY2sgaXMgYSBiYWQgdGhpbmcuCgpBdCAyMDIwLTA5LTAy IDEzOjQ0OjU2LCAiSHUsIEppYXl1IiA8amlheXUuaHVAaW50ZWwuY29tPiB3cm90ZToKCllpLAoK IAoKUGFja2V0IHR5cGUgaXMgY2hlY2tlZCBieSBtYnVmLT5wYWNrZXRfdHlwZSBmaWVsZCwgYW5k IGlucHV0CgpwYWNrZXRzIHNob3VsZCBwcm92aWRlIGNvcnJlY3QgcGFja2V0X3R5cGUgdmFsdWUu IFRDUCBHUk8KCm9ubHkgcHJvY2VzcyBUQ1AgcGFja2V0cyB3aG9zZSBoZWFkZXIgbGVuZ3RoIGlz IGJldHdlZW4KCjIwIGFuZCA2MCBieXRlcy4gU28gd2UgY2hlY2sgbDRfbGVuLgoKIAoKRnJvbTog eWFuZ195X3lpIDx5YW5nX3lfeWlAMTYzLmNvbT4KU2VudDogVHVlc2RheSwgU2VwdGVtYmVyIDEs IDIwMjAgNDo0MyBQTQpUbzogSHUsIEppYXl1IDxqaWF5dS5odUBpbnRlbC5jb20+CkNjOmRldkBk cGRrLm9yZzsgdGhvbWFzQG1vbmphbG9uLm5ldDsgeWFuZ3lpMDFAaW5zcHVyLmNvbQpTdWJqZWN0 OiBSZTpSZTogW2RwZGstZGV2XSBbUEFUQ0hdIGdybzogYWRkIFVEUCBHUk8gYW5kIFZYTEFOIFVE UCBHUk8gc3VwcG9ydAoKIAoKSmlheXUsIEJUVywgYWZ0ZXIgSSBjaGVjayBpdCBhZ2FpbiwgSSB0 aGluayB1ZHAgaGVhZGVyIGxlbmd0aCBjaGVjayBpcyBuZWNlc3NhcnksIGl0IGlzIGFjdHVhbGx5 IGEgc2FuaXR5IGNoZWNrIGlvIG9yZGVyIHRvIGVuc3VyZSBpdCBpcyBpbmRlZWQgYSB1ZHAgcGFj a2V0LCBncm9fdGNwNC5jIGRpZCBzYW1lIHRoaW5nLgoKQXQgMjAyMC0wOS0wMSAxNDoxMDo0MSwg InlhbmdfeV95aSIgPHlhbmdfeV95aUAxNjMuY29tPiB3cm90ZToKPkF0IDIwMjAtMDktMDEgMTI6 Mjc6MjksICJIdSwgSmlheXUiIDxqaWF5dS5odUBpbnRlbC5jb20+IHdyb3RlOgo+PkhpIFlpLAo+ PiAKPj5UaGlzIHBhdGNoIHN1cHBvcnRzIFVEUCBhbmQgVnhMQU4vVURQLCBidXQgYm90aCBhcmUg aW4gb25lIHBhdGNoLgo+Pkl0J3MgdG9vIGxhcmdlLCBhbmQgcGxlYXNlIHNwbGl0IGl0IGludG8g c21hbGwgcGF0Y2hlcy4KPiAKPkppYXl1LCB0aGFuayB5b3Ugc28gbXVjaCBmb3IgeW91ciBncmVh dCByZXZpZXcgLCBJJ2xsIHNlbmQgdjIgdG8gc3BsaXQgaXQgaW50byB0d28gcGF0Y2hlcyBhbmQg Zml4IHlvdXIgY29tbWVudHMuIERldGFpbGVkIHJlcGxpZXMgZm9yIGNvbW1lbnRzIGVtYmVkZGVk LCBwbGVhc2UgY2hlY2sgdGhlbS4KPiAKPj4gCj4+VGhhbmtzLAo+PkppYXl1Cj4+IAo+Pj4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPj4+IEZyb206IHlhbmdfeV95aUAxNjMuY29tIDx5YW5n X3lfeWlAMTYzLmNvbT4KPj4+IFNlbnQ6IFdlZG5lc2RheSwgSnVseSAxLCAyMDIwIDI6NDggUE0K Pj4+IFRvOiBkZXZAZHBkay5vcmcKPj4+IENjOiBIdSwgSmlheXUgPGppYXl1Lmh1QGludGVsLmNv bT47IHRob21hc0Btb25qYWxvbi5uZXQ7Cj4+PiB5YW5neWkwMUBpbnNwdXIuY29tOyB5YW5nX3lf eWlAMTYzLmNvbQo+Pj4gU3ViamVjdDogW1BBVENIXSBncm86IGFkZCBVRFAgR1JPIGFuZCBWWExB TiBVRFAgR1JPIHN1cHBvcnQKPj4+IAo+Pj4gRnJvbTogWWkgWWFuZyA8eWFuZ3lpMDFAaW5zcHVy LmNvbT4KPj4+IAo+Pj4gVURQIEdSTyBhbmQgVlhMQU4gVURQIEdSTyBjYW4gaGVscCBpbXByb3Zl IFZNLXRvLVZNCj4+PiBVRFAgcGVyZm9ybWFuY2Ugd2hlbiBWTSBpcyBlbmFibGVkIFVGTyBvciBH U08sIEdSTwo+Pj4gbXVzdCBiZSBzdXBwb3J0ZWQgaWYgR1NPLCBVRk8gb3IgVlhMQU4gVUZPIGlz IGVuYWJsZWQKPj4+ICwgb3RoZXJ3aXNlLCBwZXJmb3JtYW5jZSBnYWluIHdpbGwgYmUgaHVydC4K Pj4+IAo+Pj4gV2l0aCB0aGlzIGVuYWJsZWQgaW4gRFBESywgT1ZTIERQREsgY2FuIGxldmVyYWdl IGl0Cj4+PiB0byBpbXByb3ZlIFZNLXRvLVZNIFVEUCBwZXJmb3JtYW5jZSwgdGhpcyB3aWxsIG1h a2UKPj4+IHN1cmUgSVAgZnJhZ21lbnRzIHdpbGwgYmUgcmVhc3NlbWJsZWQgb25jZSBpdCBpcwo+ Pj4gcmVjZWl2ZWQgZnJvbSBwaHlzaWNhbCBOSUMuCj4+PiAKPj4+IFNpZ25lZC1vZmYtYnk6IFlp IFlhbmcgPHlhbmd5aTAxQGluc3B1ci5jb20+Cj4+PiAtLS0KPj4+ICBsaWIvbGlicnRlX2dyby9N YWtlZmlsZSAgICAgICAgIHwgICAyICsKPj4+ICBsaWIvbGlicnRlX2dyby9ncm9fdWRwNC5jICAg ICAgIHwgNDQzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4+PiAgbGliL2xpYnJ0 ZV9ncm8vZ3JvX3VkcDQuaCAgICAgICB8IDI5NiArKysrKysrKysrKysrKysrKysrKysKPj4+ICBs aWIvbGlicnRlX2dyby9ncm9fdnhsYW5fdWRwNC5jIHwgNTU2Cj4+PiArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCj4+PiAgbGliL2xpYnJ0ZV9ncm8vZ3JvX3Z4bGFuX3Vk cDQuaCB8IDE1MiArKysrKysrKysrKwo+Pj4gIGxpYi9saWJydGVfZ3JvL21lc29uLmJ1aWxkICAg ICAgfCAgIDIgKy0KPj4+ICBsaWIvbGlicnRlX2dyby9ydGVfZ3JvLmMgICAgICAgIHwgMTkyICsr KysrKysrKysrLS0tCj4+PiAgbGliL2xpYnJ0ZV9ncm8vcnRlX2dyby5oICAgICAgICB8ICAgOCAr LQo+Pj4gIDggZmlsZXMgY2hhbmdlZCwgMTYxNyBpbnNlcnRpb25zKCspLCAzNCBkZWxldGlvbnMo LSkKPj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL2xpYnJ0ZV9ncm8vZ3JvX3VkcDQuYwo+Pj4g IGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIvbGlicnRlX2dyby9ncm9fdWRwNC5oCj4+PiAgY3JlYXRl IG1vZGUgMTAwNjQ0IGxpYi9saWJydGVfZ3JvL2dyb192eGxhbl91ZHA0LmMKPj4+ICBjcmVhdGUg bW9kZSAxMDA2NDQgbGliL2xpYnJ0ZV9ncm8vZ3JvX3Z4bGFuX3VkcDQuaAo+Pj4gKwo+Pj4gKwo+ Pj4gKy8qCj4+PiArICogdXBkYXRlIHRoZSBwYWNrZXQgbGVuZ3RoIGZvciB0aGUgZmx1c2hlZCBw YWNrZXQuCj4+PiArICovCj4+PiArc3RhdGljIGlubGluZSB2b2lkCj4+PiArdXBkYXRlX2hlYWRl cihzdHJ1Y3QgZ3JvX3VkcDRfaXRlbSAqaXRlbSkKPj4+ICt7Cj4+PiArICBzdHJ1Y3QgcnRlX2lw djRfaGRyICppcHY0X2hkcjsKPj4+ICsgIHN0cnVjdCBydGVfbWJ1ZiAqcGt0ID0gaXRlbS0+Zmly c3RzZWc7Cj4+PiArICB1aW50MTZfdCBmcmFnX29mZnNldDsKPj4+ICsKPj4+ICsgIGlwdjRfaGRy ID0gKHN0cnVjdCBydGVfaXB2NF9oZHIgKikocnRlX3BrdG1idWZfbXRvZChwa3QsIGNoYXIgKikg Kwo+Pj4gKyAgICAgICAgICAgICAgICAgcGt0LT5sMl9sZW4pOwo+Pj4gKyAgaXB2NF9oZHItPnRv dGFsX2xlbmd0aCA9IHJ0ZV9jcHVfdG9fYmVfMTYocGt0LT5wa3RfbGVuIC0KPj4+ICsgICAgICAg ICAgICAgICAgIHBrdC0+bDJfbGVuKTsKPj4+ICsKPj4+ICsgIC8qIENsZWFyIE1GIGJpdCBpZiBp dCBpcyBsYXN0IGZyYWdtZW50ICovCj4+PiArICBpZiAoaXRlbS0+aXNfbGFzdF9mcmFnKSB7Cj4+ PiArICAgICAgICAgZnJhZ19vZmZzZXQgPSBydGVfYmVfdG9fY3B1XzE2KGlwdjRfaGRyLT5mcmFn bWVudF9vZmZzZXQpOwo+Pj4gKyAgICAgICAgIGlwdjRfaGRyLT5mcmFnbWVudF9vZmZzZXQgPQo+ Pj4gKyAgICAgICAgICAgICAgICAgcnRlX2NwdV90b19iZV8xNihmcmFnX29mZnNldCAmCj4+PiB+ UlRFX0lQVjRfSERSX01GX0ZMQUcpOwo+Pj4gKyAgfQo+PiAKPj5OZWVkIHRvIGNsZWFyIE1GIGJp dCBmb3Igbm9uLWxhc3QgZnJhZ21lbnRzLCBhbmQgd2UgYWxzbyBuZWVkIHRvIGNsZWFyIG9mZnNl dCB2YWx1ZS4KPiAKPkZvciBub24tbGFzdCBmcmFnbWVudCwgTUYgKE1vcmUgRnJhZ21lbnQpIGJp dCBpcyBuZWNlc3NhcnksIHdoeSBkbyB5b3UgdGhpbmsgd2UgbmVlZCB0byBjbGVhciBNRiBiaXQg Zm9yIGl0PyBPbmx5IGxhc3QgZnJhZ21lbnQgc2hvdWxkIGNsZWFyIE1GIGJpdC4gb2Zmc2V0IHZh bHVlIG11c3QgYmUgc2V0IGNvcnJlY3RseSBiZWNhdXNlIGl0IGlzIGEgSVAgZnJhZ21lbnQuCj4g Cj4+IAo+Pj4gK30KPj4+ICsKPj4+ICtpbnQzMl90Cj4+PiArZ3JvX3VkcDRfcmVhc3NlbWJsZShz dHJ1Y3QgcnRlX21idWYgKnBrdCwKPj4+ICsgICAgICAgICBzdHJ1Y3QgZ3JvX3VkcDRfdGJsICp0 YmwsCj4+PiArICAgICAgICAgdWludDY0X3Qgc3RhcnRfdGltZSkKPj4+ICt7Cj4+PiArICBzdHJ1 Y3QgcnRlX2V0aGVyX2hkciAqZXRoX2hkcjsKPj4+ICsgIHN0cnVjdCBydGVfaXB2NF9oZHIgKmlw djRfaGRyOwo+Pj4gKyAgdWludDE2X3QgdWRwX2RsLCBpcF9kbDsKPj4+ICsgIHVpbnQxNl90IGlw X2lkLCBoZHJfbGVuOwo+Pj4gKyAgdWludDE2X3QgZnJhZ19vZmZzZXQgPSAwOwo+Pj4gKyAgdWlu dDhfdCBpc19sYXN0X2ZyYWc7Cj4+PiArCj4+PiArICBzdHJ1Y3QgdWRwNF9mbG93X2tleSBrZXk7 Cj4+PiArICB1aW50MzJfdCBjdXJfaWR4LCBwcmV2X2lkeCwgaXRlbV9pZHg7Cj4+PiArICB1aW50 MzJfdCBpLCBtYXhfZmxvd19udW0sIHJlbWFpbmluZ19mbG93X251bTsKPj4+ICsgIGludCBjbXA7 Cj4+PiArICB1aW50OF90IGZpbmQ7Cj4+PiArCj4+PiArICAvKgo+Pj4gKyAgICogRG9uJ3QgcHJv Y2VzcyB0aGUgcGFja2V0IHdob3NlIFVEUCBoZWFkZXIgbGVuZ3RoIGlzIG5vdCBlcXVhbAo+Pj4g KyAgICogdG8gMjAuCj4+PiArICAgKi8KPj4+ICsgIGlmICh1bmxpa2VseShwa3QtPmw0X2xlbiAh PSBVRFBfSERSTEVOKSkKPj4+ICsgICAgICAgICByZXR1cm4gLTE7Cj4+IAo+PlVEUCBoZWFkZXIg aXMgZml4ZWQgOC1ieXRlLiBObyBuZWVkIHRvIGNoZWNrIGhlcmUuCj4gCj5BZ3JlZSwgd2lsbCBy ZW1vdmUgaXQgaW4gdjIuCj4gCj4+IAo+Pj4gKwo+Pj4gKyAgZXRoX2hkciA9IHJ0ZV9wa3RtYnVm X210b2QocGt0LCBzdHJ1Y3QgcnRlX2V0aGVyX2hkciAqKTsKPj4+ICsgIGlwdjRfaGRyID0gKHN0 cnVjdCBydGVfaXB2NF9oZHIgKikoKGNoYXIgKilldGhfaGRyICsgcGt0LT5sMl9sZW4pOwo+Pj4g KyAgaGRyX2xlbiA9IHBrdC0+bDJfbGVuICsgcGt0LT5sM19sZW4gKyBwa3QtPmw0X2xlbjsKPj4+ ICsKPj4+ICsgIC8qCj4+PiArICAgKiBEb24ndCBwcm9jZXNzIG5vbi1mcmFnbWVudCBwYWNrZXQu Cj4+PiArICAgKi8KPj4+ICsgIGlmICghaXNfaXB2NF9mcmFnbWVudChpcHY0X2hkcikpCj4+PiAr ICAgICAgICAgcmV0dXJuIC0xOwo+Pj4gKwo+Pj4gKyAgLyoKPj4+ICsgICAqIERvbid0IHByb2Nl c3MgdGhlIHBhY2tldCB3aG9zZSBwYXlsb2FkIGxlbmd0aCBpcyBsZXNzIHRoYW4gb3IKPj4+ICsg ICAqIGVxdWFsIHRvIDAuCj4+PiArICAgKi8KPj4+ICsgIHVkcF9kbCA9IHBrdC0+cGt0X2xlbiAt IGhkcl9sZW47Cj4+PiArICBpZiAodWRwX2RsIDw9IDApCj4+PiArICAgICAgICAgcmV0dXJuIC0x Owo+PiAKPj5VZHBfZGwgaXMgdW5pdDE2X3Qgd2hpY2ggd2lsbCBub3QgYmUgbmVnYXRpdmUuCj4g Cj5Hb29kIGNhdGNoLCBJIHNob3VsZCB1c2UgaW50MTZfdCBoZXJlLCB3aWxsIGRvIGl0IGluICB2 Mi4KPiAKPj4gCj4+PiArCj4+PiArICBpcF9kbCA9IHJ0ZV9iZV90b19jcHVfMTYoaXB2NF9oZHIt PnRvdGFsX2xlbmd0aCkgLSBwa3QtPmwzX2xlbjsKPj4+ICsgIGlwX2lkID0gcnRlX2JlX3RvX2Nw dV8xNihpcHY0X2hkci0+cGFja2V0X2lkKTsKPj4+ICsgIGZyYWdfb2Zmc2V0ID0gcnRlX2JlX3Rv X2NwdV8xNihpcHY0X2hkci0+ZnJhZ21lbnRfb2Zmc2V0KTsKPj4+ICsgIGlzX2xhc3RfZnJhZyA9 ICgoZnJhZ19vZmZzZXQgJiBSVEVfSVBWNF9IRFJfTUZfRkxBRykgPT0gMCkgPyAxIDogMDsKPj4+ ICsgIGZyYWdfb2Zmc2V0ID0gKHVpbnQxNl90KShmcmFnX29mZnNldCAmIFJURV9JUFY0X0hEUl9P RkZTRVRfTUFTSykKPj4+IDw8IDM7Cj4gCgogCgogCgogCgog