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 E4232A04B1; Thu, 24 Sep 2020 04:41:36 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 897681DCBB; Thu, 24 Sep 2020 04:41:35 +0200 (CEST) Received: from m1362.mail.163.com (m1362.mail.163.com [220.181.13.62]) by dpdk.org (Postfix) with ESMTP id BA3A51DC91 for ; Thu, 24 Sep 2020 04:41:32 +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=s3EKz vqaFYIpun4rSyX/Iq4QI1nYMI0LfUP0pVvzo2I=; b=i3b0F6J0YeOGVNqCA7GSJ tQSQImq61Iv8JvtPyVpvIs9PJhq9L0aYvnsC5IkX3UWUxmLsQxIrplKlpqGQ2nLx EdHMnJXU25yiE5Ank/IhM00/g4+vAJg9R57g9aMAhnfJR0nEqNz2hgruN2Bvuf5B KwFEgGU/7j43xFakxfA0GM= Received: from yang_y_yi$163.com ( [111.207.123.58] ) by ajax-webmail-wmsvr62 (Coremail) ; Thu, 24 Sep 2020 10:41:28 +0800 (CST) X-Originating-IP: [111.207.123.58] Date: Thu, 24 Sep 2020 10:41:28 +0800 (CST) From: yang_y_yi To: "Jiayu Hu" 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: <20200923024303.GA91241@NPG_DPDK_VIRTIO_jiayuhu_15.sh.intel.com> References: <20200917034959.194372-3-yang_y_yi@163.com> <37c12b46.f2a.174b36e34c1.Coremail.yang_y_yi@163.com> <1f01947d.122e.174b37b5d58.Coremail.yang_y_yi@163.com> <75421977.3967.174b47b6259.Coremail.yang_y_yi@163.com> <20200922065546.GA56452@NPG_DPDK_VIRTIO_jiayuhu_15.sh.intel.com> <7b4fc638.486f.174b4bfe6c7.Coremail.yang_y_yi@163.com> <20200923021511.GA83995@NPG_DPDK_VIRTIO_jiayuhu_15.sh.intel.com> <56bb5989.20af.174b8ca00c3.Coremail.yang_y_yi@163.com> <20200923024303.GA91241@NPG_DPDK_VIRTIO_jiayuhu_15.sh.intel.com> X-CM-CTRLDATA: 03wNs2Zvb3Rlcl9odG09MTQwNTQ6NTY= MIME-Version: 1.0 Message-ID: <14c28531.1ee6.174bdfcb27b.Coremail.yang_y_yi@163.com> X-Coremail-Locale: zh_CN X-CM-TRANSID: PsGowAD3_8dYB2xf4_59AA--.50773W X-CM-SenderInfo: 51dqwsp1b1xqqrwthudrp/1tbiOw2pi1XlpcC5jwABs2 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 v6 2/3] gro: add VXLAN UDP/IPv4 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" SmlheXUsIGlzIHRoaXMgY29tbWVudCBvaz8KCgoKZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZ3Jv L2dyb191ZHA0LmMgYi9saWIvbGlicnRlX2dyby9ncm9fdWRwNC5jCmluZGV4IDA2MWU3YjAuLjkz ZTM2OGEgMTAwNjQ0Ci0tLSBhL2xpYi9saWJydGVfZ3JvL2dyb191ZHA0LmMKKysrIGIvbGliL2xp YnJ0ZV9ncm8vZ3JvX3VkcDQuYwpAQCAtNDA5LDggKzQwOSwxMCBAQAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGs7CiAgICAgICAgICAgICAgICAgICAgICAg IH0gZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICogVGhlIGxlZnQgcGFja2V0cyBpbiB0aGlzIGZsb3cgd29uJ3Qg YmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiB0aW1lb3V0LiBHbyB0byBjaGVj ayBvdGhlciBmbG93cy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBJZiBzdGFy dF90aW1lIG9mIG9uZSBpdGVtIGlzIGdyZWF0ZXIgdGhhbgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAqIGZsdXNoX3RpbWVzdGFtcCwgdGhhdCBtZWFucyB0aGUgbGVmdCBwYWNrZXRz CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogaW4gdGhpcyBmbG93IHdvbid0IGJl IGZsdXNoZWQgdGhpcyB0aW1lLiBHbworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq IHRvIGNoZWNrIG90aGVyIGZsb3dzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAg fQoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKQXQgMjAyMC0wOS0yMyAxMDo0MzowMywgIkppYXl1IEh1 IiA8amlheXUuaHVAaW50ZWwuY29tPiB3cm90ZToKPk9uIFdlZCwgU2VwIDIzLCAyMDIwIGF0IDEw OjI4OjAwQU0gKzA4MDAsIHlhbmdfeV95aSB3cm90ZToKPj4gVGhhbmtzIEppYXl1LCBkbyB5b3Ug bWVhbiBub3QgY29tcGFyaW5nIHRpbWVzdGFtcCBhbmQgZmx1c2ggYWxsIHRoZSBwYWNrZXRzIGlu Cj4+IGEgZmxvdyBhcyBJIHNob3dlZCBjb2RlLCByaWdodD8gSWYgc28sIHdlIHNob3VsZG4ndCBw cm92aWRlIGFyZ3VtZW50Cj4+IGZsdXNoX3RpbWVzdGFtcC4gQnV0IHRoaXMgd2lsbCByZXN1bHQg aW4gdmVyeSBiYWQgaXNzdWVzLCBydGVfZ3JvX3RpbWVvdXRfZmx1c2gKPj4gd2lsbCBiZSBjYWxs ZWQgYWZ0ZXIgcnRlX2dyb19yZWFzc2VtYmxlIGV2ZXJ5IHRpbWUsIHNvIHRoZSByZXN1bHQgbWF5 IGJlIHlvdQo+PiBjYW4ndCByZWFzc2VtYmxlIG91dCBhbnkgb3JpZ2luYWwgVURQIHBhY2tldCBi ZWNhdXNlIGV2ZXJ5IFVEUCBmcmFnbWVudHMgd2lsbAo+PiBiZSBmbHVzaGVkIHZlcnkgc29vbiwg bm8gY2hhbmNlIHRvIHJlYXNzZW1ibGUuCj4KPk5vLCBJIG1lYW4gdGhlIGRlc2lnbiBpbiB5b3Vy IHBhdGNoLCB3aGljaCBzdG9wcyBmbHVzaGluZyBwYWNrZXRzCj5vbmNlIGZpbmQgb25lIHdob3Nl IHRpbWVzdGFtcCBpcyBncmVhdGVyIHRoYW4gZmx1c2hfdGltZXN0YW1wLgo+Cj4+IAo+PiBBdCAy MDIwLTA5LTIzIDEwOjE1OjEyLCAiSmlheXUgSHUiIDxqaWF5dS5odUBpbnRlbC5jb20+IHdyb3Rl Ogo+PiA+T24gVHVlLCBTZXAgMjIsIDIwMjAgYXQgMDM6Mzg6MjlQTSArMDgwMCwgeWFuZ195X3lp IHdyb3RlOgo+PiA+PiBUaGUgcHJvYmxlbSBpcyB0aW1lc3RhbXAgb2Ygd2hpY2ggb25lIGl0ZW0g aW4gYSBmbG93IHdlIHNob3VsZCB1c2UgYXMgdGltZXN0YW1wCj4+ID4+IHJlZmVyZW5jZSBiYXNl IGZvciB0aGlzIGZsb3csIGZvciBtZXJnZSAocmVhc3NlbWJsZSksIG9ubHkgdGhlIGZpcnN0IHBh Y2tldCBjYW4KPj4gPj4gdHJpZ2dlciBtZXJnZSBvZiBhbGwgdGhlIHBhY2tldHMsIG1lcmdlIGlz IGZvcndhcmQgbm90IGJhY2t3YXJkLCBpZiB5b3UKPj4gPj4gdHJhdmVyc2UgdGhlIHdob2xlIGxp bmtlZCBsaXN0IGluIHRoaXMgZmxvdyB0byBnZXQgdGhlIG9sZGVzdCB0aW1lc3RhbXAgYW5kCj4+ ID4+IGNvbXBhcmUgaXQgd2l0aCBmbHVzaHRpbWUsIHRoYXQgd2lsbCBiZSBub3Qgd29ydGh5LCBp biB0aGUgd29yc3QgY2FzZSAoc2F5IEkKPj4gPj4gc2VuZCBhIDY0SyBVRFAgcGFja2V0IGFuZCBN VFUgaXMgMTQ1MCksIHlvdSB3aWxsIGhhdmUgNDYgaXRlbXMgdG8gY2hlY2sgdG8gZ2V0Cj4+ID4+ IHRoZSBvbGRlc3QgdGltZXN0YW1wIGJ5IGxpbmtlZCBsaXN0Lgo+PiA+Cj4+ID5PSywgSSBnb3Qg dGhlIHBvaW50LiBJIGFncmVlIHRvIGZsdXNoIHBhY2tldHMgd2l0aG91dCBzdHJpY3RseQo+PiA+ b2JleWluZyB0aW1lc3RhbXAuIEJ1dCB5b3UgbmVlZCB0byBjaGFuZ2UgdGhlIGNvbW1lbnQgaW4g dGhlCj4+ID5jb2RlIGFuZCBjbGFyaWZ5IHRoZSBkZXNpZ24gZm9yIGJvdGggVURQIGFuZCBWeExB TiBHUk8gcGF0Y2guCj4+ID5DdXJyZW50IGNvbW1lbnQgIlRoZSBsZWZ0IHBhY2tldHMgaW4gLi4u IiBpcyBub3QgYXBwcm9wcmlhdGUKPj4gPmZvciB5b3VyIGRlc2lnbi4KPj4gPgo+PiA+Pgo+PiA+ Pgo+PiA+PiBJJ20gbm90IHN1cmUgd2hhdCBpbmNvbnNpc3RlbnRjeSB5b3UncmUgc2F5aW5nIG1l YW4uCj4+ID4+Cj4+ID4+IEF0IDIwMjAtMDktMjIgMTQ6NTU6NDYsICJKaWF5dSBIdSIgPGppYXl1 Lmh1QGludGVsLmNvbT4gd3JvdGU6Cj4+ID4+ID5PbiBUdWUsIFNlcCAyMiwgMjAyMCBhdCAwMjoy MzozOVBNICswODAwLCB5YW5nX3lfeWkgd3JvdGU6Cj4+ID4+ID4+IE5vdCBhIHF1ZXN0aW9uLCBp biBuZXh0IGZsdXNoLCB0aGV5IHdpbGwgYmUgZmx1c2hlZCwgd2UgaGF2ZSB0byBjaGVjayB0aW1l c3RhbXAKPj4gPj4gPj4gaW4gdGhlIGZpcnN0IHRpbWUgdW5sZXNzIHdlIGRvbid0IHN0cmljdGx5 IGZvbGxvdyB0aGlzIHRpbWUgbGltaXRhdGlvbi4KPj4gPj4gPgo+PiA+PiA+d2hvIHdpbGwgY2hl Y2sgdGhlIHRpbWVzdGFtcD8gSSBkaWQndCBnZXQgdGhlIHBvaW50Lgo+PiA+PiA+Cj4+ID4+ID5J TU8sIHRoaXMgd2lsbCBjYXVzZSBpbmNvbnNpc3RlbmN5IG9mIHRoZSBydGVfZ3JvX3RpbWVvdXRf Zmx1c2goKS4KPj4gPj4gPkJUVywgd2hhdCBzdG9wcyB5b3UgdG8gdHJhdmVyc2UgYWxsIGl0ZW1z IGFuZCBjaGVjayB0aW1lc3RhbXAKPj4gPj4gPmJlZm9yZSBmbHVzaCB0aGVtIG91dD8KPj4gPj4g Pgo+PiA+PiA+Pgo+PiA+PiA+PiBBdCAyMDIwLTA5LTIyIDE0OjE0OjAwLCAiSHUsIEppYXl1IiA8 amlheXUuaHVAaW50ZWwuY29tPiB3cm90ZToKPj4gPj4gPj4KPj4gPj4gPj4gICAgIEZyYWdtZW50 cyBvZiBhIGZsb3cgYXJlIHNvcnRlZCBieSBmcmFnX29mdCwgYnV0IHRoZXkgbWF5IGhhdmUgZGlm ZmVyZW50Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgICB0aW1lc3RhbXAuIEZvciBleGFtcGxlLCB0aGVy ZSBhcmUgdGhyZWUgZnJhZ21lbnRzLCB3aG9zZSBmcmFnX29mdCBpczoKPj4gPj4gPj4KPj4gPj4g Pj4gICAgIGZyYWdbMF0uZnJhZ19vZnQ9MCwgZnJhZ1sxXS5mcmFnX29mdD00LCBmcmFnWzJdLmZy YWdfb2Z0PTY7IGFuZCB0aGV5IGFyZQo+PiA+PiA+Pgo+PiA+PiA+PiAgICAgZnJhZ21lbnRzIG9m IG9uZSBVRFAgcGFja2V0IGJ1dCBhcmUgbm90IG5laWdoYm9ycy4gSW4gdGhlIGZpcnN0IFJYIGJ1 cnN0LAo+PiA+PiA+Pgo+PiA+PiA+PiAgICAgaG9zdCByZWNlaXZlcyBmcmFnWzFdIGFuZCBjYWxs cyBydGVfZ3JvX3JlYXNzZW1ibGUoKSwgYW5kIHdlIGFzc3VtZSB0aGUKPj4gPj4gPj4KPj4gPj4g Pj4gICAgIHRpbWVzdGFtcCBvZiBmcmFnWzFdIGlzIDEwOyBpbiB0aGUgc2Vjb25kIFJYIGJ1cnN0 LCBob3N0IHJlY2VpdmVzIGZyYWdbMF0KPj4gPj4gPj4KPj4gPj4gPj4gICAgIGFuZCBhbHNvIGNh bGwgcnRlX2dyb19yZWFzc2VtYmxlKCksIGFuZCB0aW1lc3RhbXAgb2YgZnJhZ1swXSBpcyAxMTsg dGhlCj4+ID4+ID4+Cj4+ID4+ID4+ICAgICB0aGlyZCB0aW1lLCBob3N0IHJlY2VpdmVzIGZyYWdb Ml0gYW5kIHRpbWVzdGFtcCBvZiBmcmFnWzJdIGlzIDEyLiBUaGUgdGhyZWUKPj4gPj4gPj4KPj4g Pj4gPj4gICAgIGZyYWdtZW50cyBhcmUgc3RvcmVkIGluIHRocmVlIGl0ZW1zIG9mIGEgVURQIEdS TyB0YWJsZToKPj4gPj4gPj4KPj4gPj4gPj4gICAgIGl0ZW1zWzBdOiBmcmFnWzBdLCB0aW1lc3Rh bXAgaXMgMTEKPj4gPj4gPj4KPj4gPj4gPj4gICAgIGl0ZW1zWzFdOiBmcmFnWzFdLCB0aW1lc3Rh bXAgaXMgMTAKPj4gPj4gPj4KPj4gPj4gPj4gICAgIGl0ZW1zWzJdOiBmcmFnWzJdLCB0aW1lc3Rh bXAgaXMgMTIKPj4gPj4gPj4KPj4gPj4gPj4gICAgIE5vdyB3ZSB3YW50IHRvIGZsdXNoIHBhY2tl dHMgd2hvc2UgdGltZXN0YW1wIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0bwo+PiA+PiA+Pgo+PiA+ PiA+PiAgICAgMTAuIGZyYWdbMV0gc2hvdWxkIGJlIHJldHVybmVkLCBidXQgaW4geW91ciBjb2Rl LCBubyBwYWNrZXRzIHdpbGwgYmUKPj4gPj4gPj4gICAgIGZsdXNoZWQuCj4+ID4+ID4+Cj4+ID4+ ID4+ICAgICBCZWNhdXNlIHRoZSB0aW1lc3RhbXAgb2YgaXRlbXNbMF0gaXMgZ3JlYXRlciB0aGFu IDEwLCB0aGUgbGVmdCB0d28KPj4gPj4gPj4gICAgIGZyYWdtZW50cwo+PiA+PiA+Pgo+PiA+PiA+ PiAgICAgd2lsbCBub3QgYmUgY2hlY2tlZC4gVGhpcyBpcyB3aGF0IEkgd2FudCB0byBzYXkuCj4+ ID4+ID4+Cj4+ID4+ID4+Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgICBGcm9tOiB5YW5nX3lfeWkgPHlh bmdfeV95aUAxNjMuY29tPgo+PiA+PiA+PiAgICAgU2VudDogVHVlc2RheSwgU2VwdGVtYmVyIDIy LCAyMDIwIDk6NDQgQU0KPj4gPj4gPj4gICAgIFRvOiBIdSwgSmlheXUgPGppYXl1Lmh1QGludGVs LmNvbT4KPj4gPj4gPj4gICAgIENjOiBkZXZAZHBkay5vcmc7IHRob21hc0Btb25qYWxvbi5uZXQ7 IHlhbmd5aTAxQGluc3B1ci5jb20KPj4gPj4gPj4gICAgIFN1YmplY3Q6IFJlOlJlOiBbZHBkay1k ZXZdIFtQQVRDSCB2NiAyLzNdIGdybzogYWRkIFZYTEFOIFVEUC9JUHY0IEdSTwo+PiA+PiA+PiAg ICAgc3VwcG9ydAo+PiA+PiA+PiAgICAgSW1wb3J0YW5jZTogSGlnaAo+PiA+PiA+Pgo+PiA+PiA+ Pgo+PiA+PiA+Pgo+PiA+PiA+PiAgICAgQlRXLCBzdGFydF90aW1lIGlzIGNoZWNrZWQgZm9yIHRo ZSBmaXJzdCBwYWNrZXQgaW4gYSBmbG93LAo+PiA+PiA+PiAgICAgZ3JvX3VkcDRfbWVyZ2VfaXRl bXModGJsLCBqKSB3aWxsIG1lcmdlIGFsbCB0aGUgcGFja2V0cyBpbiB0aGlzIGZsb3cgb25jZQo+ PiA+PiA+PiAgICAgaWYgdGhleSBjYW4gYmUgcmVhc3NlbWJsZWQsIGdyb191ZHA0X21lcmdlX2l0 ZW1zKHRibCwgaikgZG9lc24ndCBjaGVjawo+PiA+PiA+PiAgICAgc3RhcnRfdGltZSwgc28gdGhp cyBzdGlsbCBjYW4gbGV0IHNvbWUgbmV3IGl0ZW1zIGluIHRoaXMgZmxvdyBoYXZlIGNoYW5jZQo+ PiA+PiA+PiAgICAgdG8gYmUgbWVyZ2VkLgo+PiA+PiA+Pgo+PiA+PiA+PiAgICAgQXQgMjAyMC0w OS0yMiAwOToyOTozOCwgInlhbmdfeV95aSIgPHlhbmdfeV95aUAxNjMuY29tPiB3cm90ZToKPj4g Pj4gPj4KPj4gPj4gPj4gICAgID5UaGFua3MgSmlheXUsIEkgaGF2ZSBmaXhlZCBvdGhlciBjb21t ZW50cyBleGNlcHQgdGhpcyBvbmU6Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+Cj4+ID4+ID4+Cj4+ ID4+ID4+ICAgICA+Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+Cj4+ID4+ID4+Cj4+ID4+ID4+ICAg ICA+PlRoZSBpdGVtcyBvZiBhIGZsb3cgYXJlIG9yZGVyZWQgYnkgZnJhZ19vZnQsIGFuZCBzdGFy dF90aW1lCj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+Pm9mIHRoZXNlIGl0ZW1zIGlzIG5vdCBhbHdh eXMgaW4gYXNjZW5kaW5nIG9yZGVyLiBUaGVyZWZvcmUsCj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+ PnlvdSBjYW5ub3Qgc2tpcCBjaGVja2luZyB0aGUgaXRlbXMgYWZ0ZXIgdGhlIGl0ZW0gd2hvc2UK Pj4gPj4gPj4KPj4gPj4gPj4gICAgID4+c3RhcnRfdGltZSBpcyBncmVhdGVyIHRoYW4gZmx1c2hf dGltZXN0YW1wLiBUaGlzIGlzc3VlIGFsc28KPj4gPj4gPj4KPj4gPj4gPj4gICAgID4+ZXhpc3Rz IGluIFVEUC9JUHY0IEdSTywgYW5kIG5lZWQgdG8gY29ycmVjdCB0aGVtIGJvdGguCj4+ID4+ID4+ Cj4+ID4+ID4+ICAgICA+Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+Cj4+ID4+ID4+Cj4+ID4+ID4+ ICAgICA+SSB0aGluayB0aGUgaXNzdWUgaGVyZSBpcyBpZiB3ZSBzaG91bGQgc3RyaWN0bHkgZm9s bG93IGZsdXNoX3RpbWVzdGFtcCwgaXQgaXMgcG9zc2libGUgdGhlcmUgYXJlIG5ldyBpdGVtcyBp biBpdGVtcyBjaGFpbi4gd2UgaGF2ZSBjaGFuY2UgdG8gbWVyZ2UgbW9yZSBwYWNrZXRzIGlmIHdl IGRvbid0IGZvbGxvdyBmbHVzaF90aW1lc3RhbXAuIFNvIGFuIGlkZWFsIGNoYW5nZSBjYW4gYmUg dGhpcy4gQnV0IGlzIGl0IGFjY2VwdGlibGUgaWYgd2UgZG9uJ3QgdXNlIGZsdXNoX3RpbWVzdGFt cD8gSXQgY2FuIGZsdXNoIHNvbWUgcGFja2V0cyBpbiBhZHZhbmNlIHRoZXJlZm9yZSBtaXNzIG5l eHQgbWVyZ2Ugd2luZG93LiBNYXliZSBjdXJyZW50IHdheSBpcyBtb3N0IHJlc29uYWJsZSBhbmQg YSB0cmFkZW9mZiBiZXR3ZWVuIHR3byBleHRlcmVtIGNhc2VzLgo+PiA+PiA+Pgo+PiA+PiA+PiAg ICAgPgo+PiA+PiA+Pgo+PiA+PiA+PiAgICAgPgo+PiA+PiA+Pgo+PiA+PiA+PiAgICAgPgo+PiA+ PiA+Pgo+PiA+PiA+PiAgICAgPgo+PiA+PiA+Pgo+PiA+PiA+PiAgICAgPgo+PiA+PiA+Pgo+PiA+ PiA+PiAgICAgPmRpZmYgLS1naXQgYS9saWIvbGlicnRlX2dyby9ncm9fdWRwNC5jIGIvbGliL2xp YnJ0ZV9ncm8vZ3JvX3VkcDQuYwo+PiA+PiA+Pgo+PiA+PiA+PiAgICAgPmluZGV4IDA2MWU3YjAu LmZmYTM1YTIgMTAwNjQ0Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+LS0tIGEvbGliL2xpYnJ0ZV9n cm8vZ3JvX3VkcDQuYwo+PiA+PiA+Pgo+PiA+PiA+PiAgICAgPisrKyBiL2xpYi9saWJydGVfZ3Jv L2dyb191ZHA0LmMKPj4gPj4gPj4KPj4gPj4gPj4gICAgID5AQCAtMzkxLDcgKzM5MSw2IEBACj4+ ID4+ID4+Cj4+ID4+ID4+ICAgICA+Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+ICAgICAgICAgICAg ICAgIGogPSB0YmwtPmZsb3dzW2ldLnN0YXJ0X2luZGV4Owo+PiA+PiA+Pgo+PiA+PiA+PiAgICAg PiAgICAgICAgICAgICAgICB3aGlsZSAoaiAhPSBJTlZBTElEX0FSUkFZX0lOREVYKSB7Cj4+ID4+ ID4+Cj4+ID4+ID4+ICAgICA+LSAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRibC0+aXRlbXNb al0uc3RhcnRfdGltZSA8PSBmbHVzaF90aW1lc3RhbXApIHsKPj4gPj4gPj4KPj4gPj4gPj4gICAg ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb191ZHA0X21lcmdlX2l0ZW1zKHRi bCwgaik7Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBvdXRbaysrXSA9IHRibC0+aXRlbXNbal0uZmlyc3RzZWc7Cj4+ID4+ID4+Cj4+ID4+ID4+ ICAgICA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGJsLT5pdGVtc1tqXS5u Yl9tZXJnZWQgPiAxKQo+PiA+PiA+Pgo+PiA+PiA+PiAgICAgPkBAIC00MDcsMTIgKzQwNiw2IEBA Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpZiAodW5saWtlbHkoayA9PSBuYl9vdXQpKQo+PiA+PiA+ Pgo+PiA+PiA+PiAgICAgPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy ZXR1cm4gazsKPj4gPj4gPj4KPj4gPj4gPj4gICAgID4tICAgICAgICAgICAgICAgICAgICAgICB9 IGVsc2UKPj4gPj4gPj4KPj4gPj4gPj4gICAgID4tICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC8qCj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+LSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKiBUaGUgbGVmdCBwYWNrZXRzIGluIHRoaXMgZmxvdyB3b24ndCBiZQo+PiA+PiA+Pgo+ PiA+PiA+PiAgICAgPi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogdGltZW91dC4g R28gdG8gY2hlY2sgb3RoZXIgZmxvd3MuCj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+LSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKi8KPj4gPj4gPj4KPj4gPj4gPj4gICAgID4tICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+PiA+PiA+Pgo+PiA+PiA+PiAgICAgPiAg ICAgICAgICAgICAgICB9Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+ICAgICAgICB9Cj4+ID4+ID4+ Cj4+ID4+ID4+ICAgICA+ICAgICAgICByZXR1cm4gazsKPj4gPj4gPj4KPj4gPj4gPj4gICAgID4K Pj4gPj4gPj4KPj4gPj4gPj4KPj4gPj4gPj4KPj4gPj4gPj4KPj4gPj4gPj4KPj4gPj4gPj4KPj4g Pj4gPj4KPj4gPj4KPj4gPj4KPj4gPj4KPj4gPj4KPj4gPj4KPj4gCj4+IAo+PiAKPj4gIAo+PiAK