Received: by 10.223.185.116 with SMTP id b49csp6095822wrg; Thu, 8 Mar 2018 01:33:07 -0800 (PST) X-Google-Smtp-Source: AG47ELs00VmjbBvMs8wm1RhPRViJ2xm0YVqy4XJGD3oT/o4GdOeLhY2MX94C9v2c/5pGAitd9Y6c X-Received: by 10.98.204.132 with SMTP id j4mr25999018pfk.35.1520501587736; Thu, 08 Mar 2018 01:33:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1520501587; cv=none; d=google.com; s=arc-20160816; b=YzUzb/Od/a8aqnwWGN6C3pIUsHMwEJZD/YYs1O/TVywaah2IUM39IDqIYE8InmCbh9 brxuwhLcTzkOJ7lPmYzE3bCqUbtn4Q/ghRutMkNM+XSLfTJJhMPJc7grNf9+un+i70xw kwTId49IqAKMggJrMTH5kO7Apre2F+uVgamIVcmz4nqnKiZwKrYKyJ7RyKUSkvBzVtgR bso7/FVRRChsjpPGJyZHNYeut+l7XL5WMoBwi9yc7pCPAIPSGdNoLEYYsM0QlYtgIphU iA8RrKfCizccFqqaZGzE7nD8nfOHevl+o8Mx3tM9xLHcwuqlwbGfaQAT2x6Itob64Rk5 J44g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :arc-authentication-results; bh=BjIJAqCDoIAecmxlthNW8yfNYnZOpbg7BUasrnsMag0=; b=ekwqKOpjcsYvAvjWPFjpVoglw/wPW1pK5seipd1RJwqJ97ZXw2IXcpMrAPNTaIkBXd RRhFUCMv2G7kbXuUqeq6//qtVmvUQCo1Y5Emd4hwLyEPLkzE1m16+N/49wZgf3b54b9w GT5JEweIx14NhOKPRkDgfxxvfZBOl3HoSEQR1lkl3+OaX982LrhuHGvpJoDDxJ20EXhZ aDI5RbsFXn5+w4UptpuAKo8dRjE/Sa+WYDEci+r8zuSrjPR/4SQ7PCzCw6uCl44A1nL9 D7S2AUXYp/XPvUspAUL/Nx890zqE4cAeWPb+IVYNBMgOBMcDbe7mDS0bw/wLMBLUA99t fQVw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f9si12629923pgt.106.2018.03.08.01.32.52; Thu, 08 Mar 2018 01:33:07 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755558AbeCHJbq (ORCPT + 99 others); Thu, 8 Mar 2018 04:31:46 -0500 Received: from mx01.hxt-semitech.com.96.203.223.in-addr.arpa ([223.203.96.7]:47057 "EHLO barracuda.hxt-semitech.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1755537AbeCHJbl (ORCPT ); Thu, 8 Mar 2018 04:31:41 -0500 X-ASG-Debug-ID: 1520501497-093b7e4ca912b60001-xx1T2L Received: from HXTBJIDCEMVIW02.hxtcorp.net ([10.128.0.15]) by barracuda.hxt-semitech.com with ESMTP id WbD16L8RPbgGQw5y (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 08 Mar 2018 17:31:37 +0800 (CST) X-Barracuda-Envelope-From: shunyong.yang@hxt-semitech.com Received: from HXTBJIDCEMVIW01.hxtcorp.net (10.128.0.14) by HXTBJIDCEMVIW02.hxtcorp.net (10.128.0.15) with Microsoft SMTP Server (TLS) id 15.0.847.32; Thu, 8 Mar 2018 17:31:36 +0800 Received: from HXTBJIDCEMVIW01.hxtcorp.net ([fe80::f451:a443:c0b5:87d1]) by HXTBJIDCEMVIW01.hxtcorp.net ([fe80::f451:a443:c0b5:87d1%12]) with mapi id 15.00.0847.030; Thu, 8 Mar 2018 17:31:36 +0800 From: "Yang, Shunyong" To: "eric.auger@redhat.com" , "cdall@kernel.org" CC: "linux-kernel@vger.kernel.org" , "ard.biesheuvel@linaro.org" , "kvmarm@lists.cs.columbia.edu" , "Zheng, Joey" , "will.deacon@arm.com" , "linux-arm-kernel@lists.infradead.org" , "david.daney@cavium.com" , "marc.zyngier@arm.com" Subject: =?utf-8?B?UmU6IFvmraTpgq7ku7blj6/og73lrZjlnKjpo47pmaldICBSZTogW1JGQyBQ?= =?utf-8?B?QVRDSF0gS1ZNOiBhcm0vYXJtNjQ6IHZnaWM6IGNoYW5nZSBjb25kaXRpb24g?= =?utf-8?Q?for_level_interrupt_resampling?= Thread-Topic: =?utf-8?B?W+atpOmCruS7tuWPr+iDveWtmOWcqOmjjumZqV0gIFJlOiBbUkZDIFBBVENI?= =?utf-8?B?XSBLVk06IGFybS9hcm02NDogdmdpYzogY2hhbmdlIGNvbmRpdGlvbiBmb3Ig?= =?utf-8?Q?level_interrupt_resampling?= X-ASG-Orig-Subj: =?utf-8?B?UmU6IFvmraTpgq7ku7blj6/og73lrZjlnKjpo47pmaldICBSZTogW1JGQyBQ?= =?utf-8?B?QVRDSF0gS1ZNOiBhcm0vYXJtNjQ6IHZnaWM6IGNoYW5nZSBjb25kaXRpb24g?= =?utf-8?Q?for_level_interrupt_resampling?= Thread-Index: AQHTtquoFGdOJ9stn0iMRL6AbYCzvaPFg4+AgAAJfYA= Date: Thu, 8 Mar 2018 09:31:36 +0000 Message-ID: <1520501495.2583.19.camel@hxt-semitech.com> References: <1520492490-7943-1-git-send-email-shunyong.yang@hxt-semitech.com> <9b3763f2-1dfa-5506-d7f2-93389647111c@redhat.com> In-Reply-To: <9b3763f2-1dfa-5506-d7f2-93389647111c@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.64.6.48] Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Barracuda-Connect: UNKNOWN[10.128.0.15] X-Barracuda-Start-Time: 1520501497 X-Barracuda-Encrypted: ECDHE-RSA-AES256-SHA X-Barracuda-URL: https://192.168.50.101:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at hxt-semitech.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Bayes: INNOCENT GLOBAL 0.5104 1.0000 0.7500 X-Barracuda-Spam-Score: 0.75 X-Barracuda-Spam-Status: No, SCORE=0.75 using global scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=9.0 tests=BSF_SC0_MV0113c X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.48722 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MV0113c BSF_SC0_MV0113c Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGksIEVyaWMsDQoNCkZpcnN0LCBwbGVhc2UgbGV0IG1lIGNoYW5nZcKgQ2hyaXN0b2ZmZXIncyBl bWFpbCB0b8KgY2RhbGxAa2VybmVsLm9yZy4gSQ0KYWRkIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQg bXkgdGVzdCBiZWxvdywgcGxlYXNlIGNoZWNrLg0KDQpPbiBUaHUsIDIwMTgtMDMtMDggYXQgMDk6 NTcgKzAxMDAsIEF1Z2VyIEVyaWMgd3JvdGU6DQo+IEhpLA0KPiANCj4gT24gMDgvMDMvMTggMDg6 MDEsIFNodW55b25nIFlhbmcgd3JvdGU6DQo+ID4gDQo+ID4gV2hlbiByZXNhbXBsaW5nIGlycWZk cyBpcyBlbmFibGVkLCBsZXZlbCBpbnRlcnJ1cHQgc2hvdWxkIGJlDQo+ID4gZGUtYXNzZXJ0ZWQg d2hlbiByZXNhbXBsaW5nIGhhcHBlbnMuIE9uIHBhZ2UgNC00NyBvZiBHSUMgdjMNCj4gPiBzcGVj aWZpY2F0aW9uIElISTAwNjlELCBpdCBzYWlkLA0KPiA+ICJXaGVuIHRoZSBQRSBhY2tub3dsZWRn ZXMgYW4gU0dJLCBhIFBQSSwgb3IgYW4gU1BJIGF0IHRoZSBDUFUNCj4gPiBpbnRlcmZhY2UsIHRo ZSBJUkkgY2hhbmdlcyB0aGUgc3RhdHVzIG9mIHRoZSBpbnRlcnJ1cHQgdG8gYWN0aXZlDQo+ID4g YW5kIHBlbmRpbmcgaWY6DQo+ID4g4oCiIEl0IGlzIGFuIGVkZ2UtdHJpZ2dlcmVkIGludGVycnVw dCwgYW5kIGFub3RoZXIgZWRnZSBoYXMgYmVlbg0KPiA+IGRldGVjdGVkIHNpbmNlIHRoZSBpbnRl cnJ1cHQgd2FzIGFja25vd2xlZGdlZC4NCj4gPiDigKIgSXQgaXMgYSBsZXZlbC1zZW5zaXRpdmUg aW50ZXJydXB0LCBhbmQgdGhlIGxldmVsIGhhcyBub3QgYmVlbg0KPiA+IGRlYXNzZXJ0ZWQgc2lu Y2UgdGhlIGludGVycnVwdCB3YXMgYWNrbm93bGVkZ2VkLiINCj4gPiANCj4gPiBHSUMgdjIgc3Bl Y2lmaWNhdGlvbiBJSEkwMDQ4Qi5iIGhhcyBzaW1pbGFyIGRlc2NyaXB0aW9uIG9uIHBhZ2UNCj4g PiAzLTQyIGZvciBzdGF0ZSBtYWNoaW5lIHRyYW5zaXRpb24uDQo+ID4gDQo+ID4gV2hlbiBzb21l IFZGSU8gZGV2aWNlLCBsaWtlIG10dHkoODI1MCBWRklPIG1kZXYgZW11bGF0aW9uIGRyaXZlcg0K PiA+IGluIHNhbXBsZXMvdmZpby1tZGV2KSB0cmlnZ2VycyBhIGxldmVsIGludGVycnVwdCwgdGhl IHN0YXR1cw0KPiA+IHRyYW5zaXRpb24gaW4gTFIgaXMgcGVuZGluZy0tPmFjdGl2ZS0tPmFjdGl2 ZSBhbmQgcGVuZGluZy4NCj4gPiBUaGVuIGl0IHdpbGwgd2FpdCByZXNhbXBsaW5nIHRvIGRlLWFz c2VydCB0aGUgaW50ZXJydXB0Lg0KPiA+IA0KPiA+IEN1cnJlbnQgZGVzaWduIG9mIGxyX3NpZ25h bHNfZW9pX21pKCkgd2lsbCByZXR1cm4gZmFsc2UgaWYgc3RhdGUNCj4gPiBpbiBMUiBpcyBub3Qg aW52YWxpZChJbmFjdGl2ZSkuIEl0IGNhdXNlcyByZXNhbXBsaW5nIHdpbGwgbm90DQo+ID4gaGFw cGVuDQo+ID4gaW4gbXR0eSBjYXNlLg0KPiA+IA0KPiA+IFRoaXMgd2lsbCBjYXVzZSBpbnRlcnJ1 cHQgZmlyZWQgY29udGludW91c2x5IHRvIGd1ZXN0IGV2ZW4gODI1MCBJSVINCj4gPiBoYXMgbm8g aW50ZXJydXB0LiBXaGVuIDgyNTAncyBpbnRlcnJ1cHQgaXMgY29uZmlndXJlZCBpbiBzaGFyZWQN Cj4gPiBtb2RlLA0KPiA+IGl0IHdpbGwgcGFzcyBpbnRlcnJ1cHQgdG8gb3RoZXIgZHJpdmVycyB0 byBoYW5kbGUuIEhvd2V2ZXIsIHRoZXJlDQo+ID4gaXMgbm8gb3RoZXIgZHJpdmVyIGludm9sdmVk LiBUaGVuLCBhICJub2JvZHkgY2FyZWQiIGtlcm5lbA0KPiA+IGNvbXBsYWludA0KPiA+IG9jY3Vy cy4NCj4gPiANCj4gPiAvICMgY2F0IC9kZXYvdHR5UzANCj4gPiBbwqDCoMKgwqA0LjgyNjgzNl0g cmFuZG9tOiBjcm5nIGluaXQgZG9uZQ0KPiA+IFvCoMKgwqDCoDYuMzczNjIwXSBpcnEgNDE6IG5v Ym9keSBjYXJlZCAodHJ5IGJvb3Rpbmcgd2l0aCB0aGUgImlycXBvbGwiDQo+ID4gb3B0aW9uKQ0K PiA+IFvCoMKgwqDCoDYuMzc2NDE0XSBDUFU6IDAgUElEOiAxMzA3IENvbW06IGNhdCBOb3QgdGFp bnRlZCA0LjE2LjAtcmM0ICM0DQo+ID4gW8KgwqDCoMKgNi4zNzg5MjddIEhhcmR3YXJlIG5hbWU6 IGxpbnV4LGR1bW15LXZpcnQgKERUKQ0KPiA+IFvCoMKgwqDCoDYuMzgwODc2XSBDYWxsIHRyYWNl Og0KPiA+IFvCoMKgwqDCoDYuMzgxOTM3XcKgwqBkdW1wX2JhY2t0cmFjZSsweDAvMHgxODANCj4g PiBbwqDCoMKgwqA2LjM4MzQ5NV3CoMKgc2hvd19zdGFjaysweDE0LzB4MWMNCj4gPiBbwqDCoMKg wqA2LjM4NDkwMl3CoMKgZHVtcF9zdGFjaysweDkwLzB4YjQNCj4gPiBbwqDCoMKgwqA2LjM4NjMx Ml3CoMKgX19yZXBvcnRfYmFkX2lycSsweDM4LzB4ZTANCj4gPiBbwqDCoMKgwqA2LjM4Nzk0NF3C oMKgbm90ZV9pbnRlcnJ1cHQrMHgxZjQvMHgyYjgNCj4gPiBbwqDCoMKgwqA2LjM4OTU2OF3CoMKg aGFuZGxlX2lycV9ldmVudF9wZXJjcHUrMHg1NC8weDdjDQo+ID4gW8KgwqDCoMKgNi4zOTE0MzNd wqDCoGhhbmRsZV9pcnFfZXZlbnQrMHg0NC8weDc0DQo+ID4gW8KgwqDCoMKgNi4zOTMwNTZdwqDC oGhhbmRsZV9mYXN0ZW9pX2lycSsweDljLzB4MTU0DQo+ID4gW8KgwqDCoMKgNi4zOTQ3ODRdwqDC oGdlbmVyaWNfaGFuZGxlX2lycSsweDI0LzB4MzgNCj4gPiBbwqDCoMKgwqA2LjM5NjQ4M13CoMKg X19oYW5kbGVfZG9tYWluX2lycSsweDYwLzB4YjQNCj4gPiBbwqDCoMKgwqA2LjM5ODIwN13CoMKg Z2ljX2hhbmRsZV9pcnErMHg5OC8weDFiMA0KPiA+IFvCoMKgwqDCoDYuMzk5Nzk2XcKgwqBlbDFf aXJxKzB4YjAvMHgxMjgNCj4gPiBbwqDCoMKgwqA2LjQwMTEzOF3CoMKgX3Jhd19zcGluX3VubG9j a19pcnFyZXN0b3JlKzB4MTgvMHg0MA0KPiA+IFvCoMKgwqDCoDYuNDAzMTQ5XcKgwqBfX3NldHVw X2lycSsweDQxYy8weDY3OA0KPiA+IFvCoMKgwqDCoDYuNDA0NjY5XcKgwqByZXF1ZXN0X3RocmVh ZGVkX2lycSsweGUwLzB4MTkwDQo+ID4gW8KgwqDCoMKgNi40MDY0NzRdwqDCoHVuaXY4MjUwX3Nl dHVwX2lycSsweDIwOC8weDIzNA0KPiA+IFvCoMKgwqDCoDYuNDA4MjUwXcKgwqBzZXJpYWw4MjUw X2RvX3N0YXJ0dXArMHgxYjQvMHg3NTQNCj4gPiBbwqDCoMKgwqA2LjQxMDEyM13CoMKgc2VyaWFs ODI1MF9zdGFydHVwKzB4MjAvMHgyOA0KPiA+IFvCoMKgwqDCoDYuNDExODI2XcKgwqB1YXJ0X3N0 YXJ0dXAucGFydC4yMSsweDc4LzB4MTQ0DQo+ID4gW8KgwqDCoMKgNi40MTM2MzNdwqDCoHVhcnRf cG9ydF9hY3RpdmF0ZSsweDUwLzB4NjgNCj4gPiBbwqDCoMKgwqA2LjQxNTMyOF3CoMKgdHR5X3Bv cnRfb3BlbisweDg0LzB4ZDQNCj4gPiBbwqDCoMKgwqA2LjQxNjg1MV3CoMKgdWFydF9vcGVuKzB4 MzQvMHg0NA0KPiA+IFvCoMKgwqDCoDYuNDE4MjI5XcKgwqB0dHlfb3BlbisweGVjLzB4M2M4DQo+ ID4gW8KgwqDCoMKgNi40MTk2MTBdwqDCoGNocmRldl9vcGVuKzB4YjAvMHgxOTgNCj4gPiBbwqDC oMKgwqA2LjQyMTA5M13CoMKgZG9fZGVudHJ5X29wZW4rMHgyMDAvMHgzMTANCj4gPiBbwqDCoMKg wqA2LjQyMjcxNF3CoMKgdmZzX29wZW4rMHg1NC8weDg0DQo+ID4gW8KgwqDCoMKgNi40MjQwNTRd wqDCoHBhdGhfb3BlbmF0KzB4MmRjLzB4ZjA0DQo+ID4gW8KgwqDCoMKgNi40MjU1NjldwqDCoGRv X2ZpbHBfb3BlbisweDY4LzB4ZDgNCj4gPiBbwqDCoMKgwqA2LjQyNzA0NF3CoMKgZG9fc3lzX29w ZW4rMHgxNmMvMHgyMjQNCj4gPiBbwqDCoMKgwqA2LjQyODU2M13CoMKgU3lTX29wZW5hdCsweDEw LzB4MTgNCj4gPiBbwqDCoMKgwqA2LjQyOTk3Ml3CoMKgZWwwX3N2Y19uYWtlZCsweDMwLzB4MzQN Cj4gPiBbwqDCoMKgwqA2LjQzMTQ5NF0gaGFuZGxlcnM6DQo+ID4gW8KgwqDCoMKgNi40MzI0Nzld IFs8MDAwMDAwMDAwZTlmYjRiYj5dIHNlcmlhbDgyNTBfaW50ZXJydXB0DQo+ID4gW8KgwqDCoMKg Ni40MzQ1OTddIERpc2FibGluZyBJUlEgIzQxDQo+ID4gDQo+ID4gVGhpcyBwYXRjaCBjaGFuZ2Vz IHRoZSBsciBzdGF0ZSBjb25kaXRpb24gaW4gbHJfc2lnbmFsc19lb2lfbWkoKQ0KPiA+IGZyb20N Cj4gPiBpbnZhbGlkKEluYWN0aXZlKSB0byBhY3RpdmUgYW5kIHBlbmRpbmcgdG8gYXZvaWQgdGhp cy4NCj4gPiANCj4gPiBJIGFtIG5vdCBzdXJlIGFib3V0IHRoZSBvcmlnaW5hbCBkZXNpZ24gb2Yg dGhlIGNvbmRpdGlvbiBvZg0KPiA+IGludmFsaWQoYWN0aXZlKS4gU28sIFRoaXMgUkZDIGlzIHNl bnQgb3V0IGZvciBjb21tZW50cy4NCj4gPiANCj4gPiBDYzogSm9leSBaaGVuZyA8eXUuemhlbmdA aHh0LXNlbWl0ZWNoLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBTaHVueW9uZyBZYW5nIDxzaHVu eW9uZy55YW5nQGh4dC1zZW1pdGVjaC5jb20+DQo+ID4gLS0tDQo+ID4gwqB2aXJ0L2t2bS9hcm0v dmdpYy92Z2ljLXYyLmMgfCA0ICsrLS0NCj4gPiDCoHZpcnQva3ZtL2FybS92Z2ljL3ZnaWMtdjMu YyB8IDQgKystLQ0KPiA+IMKgMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVs ZXRpb25zKC0pDQo+ID4gDQo+ID4gZGlmZiAtLWdpdCBhL3ZpcnQva3ZtL2FybS92Z2ljL3ZnaWMt djIuYyBiL3ZpcnQva3ZtL2FybS92Z2ljL3ZnaWMtDQo+ID4gdjIuYw0KPiA+IGluZGV4IGU5ZDg0 MGE3NWU3Yi4uNzQwZWU5YTVmNTUxIDEwMDY0NA0KPiA+IC0tLSBhL3ZpcnQva3ZtL2FybS92Z2lj L3ZnaWMtdjIuYw0KPiA+ICsrKyBiL3ZpcnQva3ZtL2FybS92Z2ljL3ZnaWMtdjIuYw0KPiA+IEBA IC00Niw4ICs0Niw4IEBAIHZvaWQgdmdpY192Ml9zZXRfdW5kZXJmbG93KHN0cnVjdCBrdm1fdmNw dSAqdmNwdSkNCj4gPiDCoA0KPiA+IMKgc3RhdGljIGJvb2wgbHJfc2lnbmFsc19lb2lfbWkodTMy IGxyX3ZhbCkNCj4gPiDCoHsNCj4gPiAtCXJldHVybiAhKGxyX3ZhbCAmIEdJQ0hfTFJfU1RBVEUp ICYmIChscl92YWwgJiBHSUNIX0xSX0VPSSkNCj4gPiAmJg0KPiA+IC0JwqDCoMKgwqDCoMKgwqAh KGxyX3ZhbCAmIEdJQ0hfTFJfSFcpOw0KPiA+ICsJcmV0dXJuICEoKGxyX3ZhbCAmIEdJQ0hfTFJf U1RBVEUpIF4gR0lDSF9MUl9TVEFURSkgJiYNCj4gPiArCcKgwqDCoMKgwqDCoMKgKGxyX3ZhbCAm IEdJQ0hfTFJfRU9JKSAmJiAhKGxyX3ZhbCAmIEdJQ0hfTFJfSFcpOw0KPiA+IMKgfQ0KPiA+IMKg DQo+ID4gwqAvKg0KPiA+IGRpZmYgLS1naXQgYS92aXJ0L2t2bS9hcm0vdmdpYy92Z2ljLXYzLmMg Yi92aXJ0L2t2bS9hcm0vdmdpYy92Z2ljLQ0KPiA+IHYzLmMNCj4gPiBpbmRleCA2YjMyOTQxNGU1 N2EuLjQzMTExYmJhN2FmOSAxMDA2NDQNCj4gPiAtLS0gYS92aXJ0L2t2bS9hcm0vdmdpYy92Z2lj LXYzLmMNCj4gPiArKysgYi92aXJ0L2t2bS9hcm0vdmdpYy92Z2ljLXYzLmMNCj4gPiBAQCAtMzUs OCArMzUsOCBAQCB2b2lkIHZnaWNfdjNfc2V0X3VuZGVyZmxvdyhzdHJ1Y3Qga3ZtX3ZjcHUgKnZj cHUpDQo+ID4gwqANCj4gPiDCoHN0YXRpYyBib29sIGxyX3NpZ25hbHNfZW9pX21pKHU2NCBscl92 YWwpDQo+ID4gwqB7DQo+ID4gLQlyZXR1cm4gIShscl92YWwgJiBJQ0hfTFJfU1RBVEUpICYmIChs cl92YWwgJiBJQ0hfTFJfRU9JKQ0KPiA+ICYmDQo+ID4gLQnCoMKgwqDCoMKgwqDCoCEobHJfdmFs ICYgSUNIX0xSX0hXKTsNCj4gPiArCXJldHVybiAhKChscl92YWwgJiBJQ0hfTFJfU1RBVEUpIF4g SUNIX0xSX1NUQVRFKSAmJg0KPiA+ICsJwqDCoMKgwqDCoMKgwqAobHJfdmFsICYgSUNIX0xSX0VP SSkgJiYgIShscl92YWwgJiBJQ0hfTFJfSFcpOw0KPiANCj4gSW4gZ2VuZXJhbCBkb24ndCB3ZSBo YXZlIHRoaXMgc3RhdGUgdHJhbnNpdGlvbg0KPiANCj4gaW5hY3RpdmUgLT4gcGVuZGluZyAtPiBw ZW5kaW5nICsgYWN0aXZlICgxKSAtPiBhY3RpdmUgLT4gaW5hY3RpdmUuDQo+IA0KPiBJbiB0aGF0 IGNhc2Ugd29uJ3Qgd2UgbG93ZXIgdGhlIHZpcnQgaXJxIGxldmVsIHdoZW4gZm9sZGluZyB0aGUg TFIgb24NCj4gUGVuZGluZyArIEFjdGl2ZSBzdGF0ZSwgd2hpY2ggaXMgbm90IHdhcyB3ZSB3YW50 Pw0KPiANCj4gVGhhbmtzDQo+IA0KPiBFcmljDQoNCkluIGN1cnJlbnQgY29kZSwgaW4gbXkgdGVz dCwgd2hlbiBJIG91dHB1dCBMUiB2YWx1ZSBvZiB0aGUgbXR0eSBJUlEgNDENCihod2lycSA9IDM2 KSBpbsKgdmdpY192M19mb2xkX2xyX3N0YXRlKCkuIFRoZSBMUidzIHRyYW5zaXRpb24gc3RhcnRz DQpsaWtlIGZvbGxvd2luZywNCg0KMC0tPjUwYTAwMjAwMDAwMDAwMjQtLT45MGEwMDIwMDAwMDAw MDI0LS0+ZDBhMDAyMDAwMDAwMDAyNA0KDQpUaGF0IGlzIGluYWN0aXZlLS0+cGVuZGluZy0tPmFj dGl2ZS0tPnBlbmRpbmcgKyBhY3RpdmUuDQpUaGVuIGl0IGtlZXAgcnVubmluZyBjeWNsaWMgcGVu ZGluZy0tPmFjdGl2ZS0tPnBlbmRpbmcgKyBhY3RpdmUuDQoNClRoZSBsZXZlbCBpbnRlcnJ1cHQg ZGUtYXNzZXJ0IHNob3VsZCBoYXBwZW4gaW4gZm9sbG93aW5nIGNvZGUNCi8qIE5vdGlmeSBmZHMg d2hlbiB0aGUgZ3Vlc3QgRU9JJ2VkIGEgbGV2ZWwtdHJpZ2dlcmVkIElSUSAqLw0KCWlmIChscl9z aWduYWxzX2VvaV9taSh2YWwpICYmIHZnaWNfdmFsaWRfc3BpKHZjcHUtPmt2bSwgaW50aWQpKQ0K CQlrdm1fbm90aWZ5X2Fja2VkX2lycSh2Y3B1LT5rdm0sIDAsDQoJCQkJwqDCoMKgwqDCoGludGlk IC0gVkdJQ19OUl9QUklWQVRFX0lSUVMpOw0KDQpCdXQgYXMgYWRkcmVzc2VkIGluIGNvbW1pdCBt ZXNzYWdlLCBscl9zaWduYWxzX2VvaV9taSgpIHdpbGwgcmV0dXJuDQpmYWxzZSBpZiBzdGF0ZSBp biBMUiBpcyBub3QgaW52YWxpZChpbmFjdGl2ZSksIHNvIGl0IGhhcyBubyBjaGFuY2UgdG8NCmRl LWFzc2VydCB0aGUgbGV2ZWwgaW50ZXJydXB0IGluIG15IHRlc3QuwqANCg0KVGhhbmtzLg0KU2h1 bnlvbmcuDQoNCj4gDQo+ID4gDQo+ID4gwqB9DQo+ID4gwqANCj4gPiDCoHZvaWQgdmdpY192M19m b2xkX2xyX3N0YXRlKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkNCj4gPiANCg==