From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 35926 invoked by alias); 12 Feb 2019 14:46:41 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 28497 invoked by uid 89); 12 Feb 2019 14:46:29 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-24.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,MIME_BASE64_BLANKS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS,UNSUBSCRIBE_BODY autolearn=ham version=3.3.2 spammy= X-HELO: EUR03-VE1-obe.outbound.protection.outlook.com Received: from mail-eopbgr50063.outbound.protection.outlook.com (HELO EUR03-VE1-obe.outbound.protection.outlook.com) (40.107.5.63) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 12 Feb 2019 14:46:26 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AZAIvrad4v0zrffcifo8cZn5SrZWmxqn46ZfkfgFKjk=; b=YwfwIV3DRiUvUoT5RlXtOIvKIgilpwNIf+l0g8WBzN5JqDzHdcItvD2Nr9F2JB8G1PWFWG5yvwzgJmy//5LsKkqZblw5uppv07//W+JSuEFqolsHLsNvrE7dKfPyC46oFA7Q0eh5Z1rJc+XEUElK+jDO/IYdXBo1EpXQoeVd7n0= Received: from DB6PR0802MB2133.eurprd08.prod.outlook.com (10.172.227.22) by DB6PR0802MB2437.eurprd08.prod.outlook.com (10.172.250.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1601.22; Tue, 12 Feb 2019 14:46:23 +0000 Received: from DB6PR0802MB2133.eurprd08.prod.outlook.com ([fe80::acd7:a958:2aaa:562e]) by DB6PR0802MB2133.eurprd08.prod.outlook.com ([fe80::acd7:a958:2aaa:562e%5]) with mapi id 15.20.1601.023; Tue, 12 Feb 2019 14:46:23 +0000 From: Alan Hayward To: Weimin Pan CC: "gdb-patches@sourceware.org" , nd Subject: Re: [PING][PATCH v2 PR gdb/21870] aarch64: Leftover uncleared debug registers Date: Tue, 12 Feb 2019 14:46:00 -0000 Message-ID: <68F734F2-CEAC-437E-903B-C7490C13AC1B@arm.com> References: <1530148222-12558-1-git-send-email-weimin.pan@oracle.com> <145f2e8d-4321-00a6-650a-bf8f0a483b6f@oracle.com> <7861E9FA-0293-4C16-857A-6935579C7042@arm.com> <3eea53e4-dfc6-ef59-f88f-d35797c26ba6@oracle.com> <31396591-A287-40C5-A4D0-6EAEC8077D6B@arm.com> <563997a0-cd3c-cf6e-8418-bbd452436b2b@oracle.com> In-Reply-To: <563997a0-cd3c-cf6e-8418-bbd452436b2b@oracle.com> authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alan.Hayward@arm.com; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 Content-Type: text/plain; charset="utf-8" Content-ID: <049DDFB7E751EB40917A936A67129F40@eurprd08.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-IsSubscribed: yes X-SW-Source: 2019-02/txt/msg00139.txt.bz2 DQoNCj4gT24gMTIgRmViIDIwMTksIGF0IDAxOjEwLCBXZWltaW4gUGFuIDx3 ZWltaW4ucGFuQG9yYWNsZS5jb20+IHdyb3RlOg0KPiANCj4gDQo+IE9uIDIv MTEvMjAxOSA3OjI0IEFNLCBBbGFuIEhheXdhcmQgd3JvdGU6DQo+PiANCj4+ Pj4+Pj4+PiAgIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNo L2FhcmNoNjQtZGJyZWctY29udGVudHMuYyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmFyY2gvYWFyY2g2NC1kYnJlZy1jb250ZW50cy5jDQo+Pj4+Pj4+Pj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4+Pj4+Pj4+PiBpbmRleCAwMDAwMDAwLi44 NWQ0YTAzDQo+Pj4+Pj4+Pj4gLS0tIC9kZXYvbnVsbA0KPj4+Pj4+Pj4+ICsr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYWFyY2g2NC1kYnJlZy1jb250 ZW50cy5jDQo+Pj4+Pj4+Pj4gQEAgLTAsMCArMSwxNzkgQEANCj4+Pj4+Pj4+ PiArLyogVGVzdCBjYXNlIGZvciBzZXR0aW5nIGEgbWVtb3J5LXdyaXRlIHVu YWxpZ25lZCB3YXRjaHBvaW50IG9uIGFhcmNoNjQuDQo+Pj4+Pj4+Pj4gKw0K Pj4+Pj4+Pj4+ICsgIFRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgJ2FzLWlz Jywgd2l0aG91dCBhbnkgZXhwcmVzcyBvciBpbXBsaWVkDQo+Pj4+Pj4+Pj4g KyAgd2FycmFudHkuICBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJl IGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcw0KPj4+Pj4+Pj4+ICsgIGFy aXNpbmcgZnJvbSB0aGUgdXNlIG9mIHRoaXMgc29mdHdhcmUuDQo+Pj4+Pj4+ Pj4gKw0KPj4+Pj4+Pj4+ICsgIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBh bnlvbmUgdG8gdXNlIHRoaXMgc29mdHdhcmUgZm9yIGFueSBwdXJwb3NlLA0K Pj4+Pj4+Pj4+ICsgIGluY2x1ZGluZyBjb21tZXJjaWFsIGFwcGxpY2F0aW9u cywgYW5kIHRvIGFsdGVyIGl0IGFuZCByZWRpc3RyaWJ1dGUgaXQNCj4+Pj4+ Pj4+PiArICBmcmVlbHkuICAqLw0KPj4+Pj4+Pj4+ICsNCj4+Pj4+Pj4+PiAr I2RlZmluZSBfR05VX1NPVVJDRSAxDQo+Pj4+Pj4+Pj4gKyNpZmRlZiBfX2lh NjRfXw0KPj4+Pj4+Pj4+ICsjZGVmaW5lIGlhNjRfZnByZWcgaWE2NF9mcHJl Z19ESVNBQkxFDQo+Pj4+Pj4+Pj4gKyNkZWZpbmUgcHRfYWxsX3VzZXJfcmVn cyBwdF9hbGxfdXNlcl9yZWdzX0RJU0FCTEUNCj4+Pj4+Pj4+PiArI2VuZGlm ICAvKiBfX2lhNjRfXyAqLw0KPj4+Pj4+Pj4+ICsjaW5jbHVkZSA8c3lzL3B0 cmFjZS5oPg0KPj4+Pj4+Pj4+ICsjaWZkZWYgX19pYTY0X18NCj4+Pj4+Pj4+ PiArI3VuZGVmIGlhNjRfZnByZWcNCj4+Pj4+Pj4+PiArI3VuZGVmIHB0X2Fs bF91c2VyX3JlZ3MNCj4+Pj4+Pj4+PiArI2VuZGlmICAvKiBfX2lhNjRfXyAq Lw0KPj4+Pj4+Pj4+ICsjaW5jbHVkZSA8bGludXgvcHRyYWNlLmg+DQo+Pj4+ Pj4+Pj4gKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCj4+Pj4+Pj4+PiArI2lu Y2x1ZGUgPHN5cy91c2VyLmg+DQo+Pj4+Pj4+Pj4gKyNpZiBkZWZpbmVkIF9f aTM4Nl9fIHx8IGRlZmluZWQgX194ODZfNjRfXw0KPj4+Pj4+Pj4+ICsjaW5j bHVkZSA8c3lzL2RlYnVncmVnLmg+DQo+Pj4+Pj4+Pj4gKyNlbmRpZg0KPj4+ Pj4+Pj4+ICsNCj4+IEnigJltIG5vdCBzdXJlIHdoeSB5b3UgaGF2ZSBhbGwg dGhlIHg4NiBhbmQgSUE2NCBjaGVja3MuDQo+PiBUaGUgdGVzdCB3aWxsIG9u bHkgYmUgZXhlY3V0ZWQgb24gQUFyY2g2NCAoYmVjYXVzZSBvZiB0aGUgY2hl Y2tzIGluIHRoZSAuZXhwIGZpbGUpLg0KPj4gQ291bGQgeW91IHJlbW92ZSBh bGwgb2YgdGhvc2UgY2hlY2tzIHBsZWFzZS4NCj4gDQo+IFRoZSB0ZXN0IGNh c2UgaXMgbGlrZWx5IHRvIGhhdmUgYmVlbiB1c2VkIGZvciBvdGhlciB0YXJn ZXRzIGFzIHdlbGwuIEkndmUgcmVtb3ZlZA0KPiBhbGwgbm9uLWFhcmNoNjQg Y29kZSBhbmQgdW51c2VkIGhlYWRlciBmaWxlcy4NCj4gDQo+Pj4+Pj4+Pj4g KyNpbmNsdWRlIDxhc3NlcnQuaD4NCj4+Pj4+Pj4+PiArI2luY2x1ZGUgPHVu aXN0ZC5oPg0KPj4+Pj4+Pj4+ICsjaW5jbHVkZSA8c3lzL3dhaXQuaD4NCj4+ Pj4+Pj4+PiArI2luY2x1ZGUgPHN0ZGlvLmg+DQo+Pj4+Pj4+Pj4gKyNpbmNs dWRlIDxzdGRsaWIuaD4NCj4+Pj4+Pj4+PiArI2luY2x1ZGUgPHN0ZGRlZi5o Pg0KPj4+Pj4+Pj4+ICsjaW5jbHVkZSA8ZXJybm8uaD4NCj4+Pj4+Pj4+PiAr I2luY2x1ZGUgPHN5cy91aW8uaD4NCj4+Pj4+Pj4+PiArI2luY2x1ZGUgPGVs Zi5oPg0KPj4+Pj4+Pj4+ICsjaW5jbHVkZSA8ZXJyb3IuaD4NCj4+Pj4+Pj4+ PiArDQo+Pj4+Pj4+Pj4gK3N0YXRpYyBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQp KSBwaWRfdCBjaGlsZDsNCj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4gK3N0YXRp YyBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSB2b2lkDQo+PiBXaHkgYXJlIHRo ZXNlIG1hcmtlZCBhcyAic3RhdGljIF9fYXR0cmlidXRlX18oKHVudXNlZCkp 4oCdID8NCj4gDQo+IEl0IGluc3RydWN0cyBHQ0Mgbm90IHRvIHByb2R1Y2Ug YSB3YXJuaW5nIGlmIHRoZSBmdW5jdGlvbiBpcyB1bnVzZWQuDQoNCk5vdyB0 aGF0IHlvdSBoYXZlIHJlbW92ZWQgdGhlIHg4Ni9pYTY0IGNvZGUsIHlvdSBz aG91bGQgYmUgYWJsZSB0bw0KcmVtb3ZlIHRoZSBzdGF0aWMgYXR0cmlidXRl IHRvby4NCg0KPiANCj4+Pj4+Pj4+PiArY2xlYW51cCAodm9pZCkNCj4+Pj4+ Pj4+PiArew0KPj4+Pj4+Pj4+ICsgIGlmIChjaGlsZCA+IDApDQo+Pj4+Pj4+ Pj4gKyAgICBraWxsIChjaGlsZCwgU0lHS0lMTCk7DQo+Pj4+Pj4+Pj4gKyAg Y2hpbGQgPSAwOw0KPj4+Pj4+Pj4+ICt9DQo+Pj4+Pj4+Pj4gKw0KPj4+Pj4+ Pj4+ICtzdGF0aWMgX19hdHRyaWJ1dGVfXygodW51c2VkKSkgdm9pZA0KPj4g U2FtZSBhcyBhYm92ZS4NCj4+IA0KPj4+Pj4+Pj4+ICtoYW5kbGVyX2ZhaWwg KGludCBzaWdubykNCj4+Pj4+Pj4+PiArew0KPj4+Pj4+Pj4+ICsgIGNsZWFu dXAgKCk7DQo+Pj4+Pj4+Pj4gKyAgc2lnbmFsIChzaWdubywgU0lHX0RGTCk7 DQo+Pj4+Pj4+Pj4gKyAgcmFpc2UgKHNpZ25vKTsNCj4+Pj4+Pj4+PiArfQ0K Pj4+Pj4+Pj4+ICsNCj4+Pj4+Pj4+PiArI2lmZGVmIF9fYWFyY2g2NF9fDQo+ PiBBZ2FpbiwgYXMgYmVmb3JlLCB5b3Ugc2hvdWxkbuKAmXQgbmVlZCB0aGlz IGNoZWNrLiBJZiB0aGUgdGVzdCBpcyBvbmx5IHJ1bg0KPj4gb24gQUFyY2g2 NCB0aGVuIGl0IGlzbuKAmXQgbmVlZGVkLg0KPiBEb25lLg0KPj4gDQo+Pj4+ Pj4+Pj4gKw0KPj4+Pj4+Pj4+ICsjZGVmaW5lIFNFVF9XQVRDSFBPSU5UIHNl dF93YXRjaHBvaW50DQo+Pj4+Pj4+Pj4gKw0KPj4+Pj4+Pj4+ICsvKiBNYWNy b3MgdG8gZXh0cmFjdCBmaWVsZHMgZnJvbSB0aGUgaGFyZHdhcmUgZGVidWcg aW5mb3JtYXRpb24gd29yZC4gICovDQo+Pj4+Pj4+Pj4gKyNkZWZpbmUgQUFS Q0g2NF9ERUJVR19OVU1fU0xPVFMoeCkgKCh4KSAmIDB4ZmYpDQo+Pj4+Pj4+ Pj4gKyNkZWZpbmUgQUFSQ0g2NF9ERUJVR19BUkNIKHgpICgoKHgpID4+IDgp ICYgMHhmZikNCj4+Pj4+Pj4+PiArLyogTWFjcm8gZm9yIHRoZSBleHBlY3Rl ZCB2ZXJzaW9uIG9mIHRoZSBBUk12OC1BIGRlYnVnIGFyY2hpdGVjdHVyZS4g ICovDQo+Pj4+Pj4+Pj4gKyNkZWZpbmUgQUFSQ0g2NF9ERUJVR19BUkNIX1Y4 IDB4Ng0KPj4+Pj4+Pj4+ICsjZGVmaW5lIERSX0NPTlRST0xfRU5BQkxFRChj dHJsKSAgICAgICAgKCgoY3RybCkgJiAweDEpID09IDEpDQo+Pj4+Pj4+Pj4g KyNkZWZpbmUgRFJfQ09OVFJPTF9MRU5HVEgoY3RybCkgICAgICAgICAoKChj dHJsKSA+PiA1KSAmIDB4ZmYpDQo+Pj4+Pj4+Pj4gKw0KPj4+Pj4+Pj4+ICtz dGF0aWMgdm9pZA0KPj4+Pj4+Pj4+ICtzZXRfd2F0Y2hwb2ludCAocGlkX3Qg cGlkLCB2b2xhdGlsZSB2b2lkICphZGRyLCB1bnNpZ25lZCBsZW5fbWFzaykN Cj4+Pj4+Pj4+PiArew0KPj4+Pj4+Pj4+ICsgIHN0cnVjdCB1c2VyX2h3ZGVi dWdfc3RhdGUgZHJlZ19zdGF0ZTsNCj4+Pj4+Pj4+PiArICBzdHJ1Y3QgaW92 ZWMgaW92Ow0KPj4+Pj4+Pj4+ICsgIGxvbmcgbDsNCj4+Pj4+Pj4+PiArDQo+ Pj4+Pj4+Pj4gKyAgYXNzZXJ0IChsZW5fbWFzayA+PSAweDAxKTsNCj4+Pj4+ Pj4+PiArICBhc3NlcnQgKGxlbl9tYXNrIDw9IDB4ZmYpOw0KPj4+Pj4+Pj4+ ICsNCj4+Pj4+Pj4+PiArICBpb3YuaW92X2Jhc2UgPSAmZHJlZ19zdGF0ZTsN Cj4+Pj4+Pj4+PiArICBpb3YuaW92X2xlbiA9IHNpemVvZiAoZHJlZ19zdGF0 ZSk7DQo+Pj4+Pj4+Pj4gKyAgZXJybm8gPSAwOw0KPj4+Pj4+Pj4+ICsgIGwg PSBwdHJhY2UgKFBUUkFDRV9HRVRSRUdTRVQsIHBpZCwgTlRfQVJNX0hXX1dB VENILCAmaW92KTsNCj4+Pj4+Pj4+PiArICBhc3NlcnQgKGwgPT0gMCk7DQo+ Pj4+Pj4+Pj4gKyAgYXNzZXJ0IChBQVJDSDY0X0RFQlVHX0FSQ0ggKGRyZWdf c3RhdGUuZGJnX2luZm8pID09IEFBUkNINjRfREVCVUdfQVJDSF9WOCk7DQo+ Pj4+Pj4+Pj4gKyAgYXNzZXJ0IChBQVJDSDY0X0RFQlVHX05VTV9TTE9UUyAo ZHJlZ19zdGF0ZS5kYmdfaW5mbykgPj0gMSk7DQo+Pj4+Pj4+Pj4gKw0KPj4+ Pj4+Pj4+ICsgIGFzc2VydCAoIURSX0NPTlRST0xfRU5BQkxFRCAoZHJlZ19z dGF0ZS5kYmdfcmVnc1swXS5jdHJsKSk7DQo+Pj4+Pj4+Pj4gKyAgZHJlZ19z dGF0ZS5kYmdfcmVnc1swXS5jdHJsIHw9IDE7DQo+Pj4+Pj4+Pj4gKyAgYXNz ZXJ0ICggRFJfQ09OVFJPTF9FTkFCTEVEIChkcmVnX3N0YXRlLmRiZ19yZWdz WzBdLmN0cmwpKTsNCj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4gKyAgYXNzZXJ0 IChEUl9DT05UUk9MX0xFTkdUSCAoZHJlZ19zdGF0ZS5kYmdfcmVnc1swXS5j dHJsKSA9PSAwKTsNCj4+Pj4+Pj4+PiArICBkcmVnX3N0YXRlLmRiZ19yZWdz WzBdLmN0cmwgfD0gbGVuX21hc2sgPDwgNTsNCj4+Pj4+Pj4+PiArICBhc3Nl cnQgKERSX0NPTlRST0xfTEVOR1RIIChkcmVnX3N0YXRlLmRiZ19yZWdzWzBd LmN0cmwpID09IGxlbl9tYXNrKTsNCj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4g KyAgZHJlZ19zdGF0ZS5kYmdfcmVnc1swXS5jdHJsIHw9IDIgPDwgMzsgLy8g d3JpdGUNCj4+Pj4+Pj4+PiArICBkcmVnX3N0YXRlLmRiZ19yZWdzWzBdLmN0 cmwgfD0gMiA8PCAxOyAvLyBHREI6ID8/PzogZW5hYmxlZCBhdCBlbDANCj4+ Pj4+Pj4+PiArICAvL3ByaW50ZigiY3RybD0weCV4XG4iLGRyZWdfc3RhdGUu ZGJnX3JlZ3NbMF0uY3RybCk7DQo+PiBSZW1vdmUgdGhlIGNvbW1lbnRlZCBv dXQgY29kZS4NCj4+IA0KPj4+Pj4+Pj4+ICsgIGRyZWdfc3RhdGUuZGJnX3Jl Z3NbMF0uYWRkciA9ICh1aW50cHRyX3QpIGFkZHI7DQo+Pj4+Pj4+Pj4gKw0K Pj4+Pj4+Pj4+ICsgIGlvdi5pb3ZfYmFzZSA9ICZkcmVnX3N0YXRlOw0KPj4+ Pj4+Pj4+ICsgIGlvdi5pb3ZfbGVuID0gKG9mZnNldG9mIChzdHJ1Y3QgdXNl cl9od2RlYnVnX3N0YXRlLCBkYmdfcmVncykNCj4+Pj4+Pj4+PiArICAgICAg ICAgICAgICAgICArIHNpemVvZiAoZHJlZ19zdGF0ZS5kYmdfcmVnc1swXSkp Ow0KPj4+Pj4+Pj4+ICsgIGVycm5vID0gMDsNCj4+Pj4+Pj4+PiArICBsID0g cHRyYWNlIChQVFJBQ0VfU0VUUkVHU0VULCBwaWQsIE5UX0FSTV9IV19XQVRD SCwgJmlvdik7DQo+Pj4+Pj4+Pj4gKyAgaWYgKGVycm5vICE9IDApDQo+Pj4+ Pj4+Pj4gKyAgICBlcnJvciAoMSwgZXJybm8sICJQVFJBQ0VfU0VUUkVHU0VU OiBOVF9BUk1fSFdfV0FUQ0giKTsNCj4+Pj4+Pj4+PiArICBhc3NlcnQgKGwg PT0gMCk7DQo+Pj4+Pj4+Pj4gK30NCj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4g KyNlbmRpZg0KPj4+Pj4+Pj4+ICsNCj4+Pj4+Pj4+PiArI2lmbmRlZiBTRVRf V0FUQ0hQT0lOVA0KPj4+Pj4+Pj4+ICsNCj4+Pj4+Pj4+PiAraW50DQo+Pj4+ Pj4+Pj4gK21haW4gKHZvaWQpDQo+Pj4+Pj4+Pj4gK3sNCj4+Pj4+Pj4+PiAr ICByZXR1cm4gNzc7DQo+Pj4+Pj4+Pj4gK30NCj4+Pj4+Pj4+PiArI2Vsc2UN Cj4+IEhhdmluZyB0aGUgZXhlY3V0YWJsZSBleGl0IHdpdGggZXJyb3Igb24g bm90IEFBcmNoNjQgaXMgbm90IHVzZWZ1bC4NCj4+IEFnYWluLCB0aGlzIGNh biBiZSBjdXQuDQo+PiANCj4+IA0KPj4+Pj4+Pj4+ICsNCj4+Pj4+Pj4+PiAr c3RhdGljIHZvbGF0aWxlIGxvbmcgbG9uZyBjaGVjazsNCj4+Pj4+Pj4+PiAr DQo+Pj4+Pj4+Pj4gK2ludA0KPj4+Pj4+Pj4+ICttYWluICh2b2lkKQ0KPj4+ Pj4+Pj4+ICt7DQo+Pj4+Pj4+Pj4gKyAgcGlkX3QgZ290X3BpZDsNCj4+Pj4+ Pj4+PiArICBpbnQgaSwgc3RhdHVzOw0KPj4+Pj4+Pj4+ICsgIGxvbmcgbDsN Cj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4gKyAgYXRleGl0IChjbGVhbnVwKTsN Cj4+Pj4+Pj4+PiArICBzaWduYWwgKFNJR0FCUlQsIGhhbmRsZXJfZmFpbCk7 DQo+Pj4+Pj4+Pj4gKyAgc2lnbmFsIChTSUdJTlQsIGhhbmRsZXJfZmFpbCk7 DQo+PiBJ4oCZbSBub3Qgc3VyZSBvbiB0aGUgcG9pbnQgb2YgdGhlIGhhbmRs ZXJfZmFpbD8NCj4+IFdvdWxkIHRoZSB0ZXN0IGJlIHNpbXBsZXIgd2l0aG91 dCB0aGVtPw0KPiBZZXMsIGFuZCB0aGUgZnVuY3Rpb24gaXMgcmVtb3ZlZC4N Cj4+IA0KPj4+Pj4+Pj4+ICsNCj4+Pj4+Pj4+PiArICBjaGlsZCA9IGZvcmsg KCk7DQo+Pj4+Pj4+Pj4gKyAgYXNzZXJ0IChjaGlsZCA+PSAwKTsNCj4+Pj4+ Pj4+PiArICBpZiAoY2hpbGQgPT0gMCkNCj4+Pj4+Pj4+PiArICAgIHsNCj4+ Pj4+Pj4+PiArICAgICAgbCA9IHB0cmFjZSAoUFRSQUNFX1RSQUNFTUUsIDAs IE5VTEwsIE5VTEwpOw0KPj4+Pj4+Pj4+ICsgICAgICBhc3NlcnQgKGwgPT0g MCk7DQo+Pj4+Pj4+Pj4gKyAgICAgIGkgPSByYWlzZSAoU0lHVVNSMSk7DQo+ Pj4+Pj4+Pj4gKyAgICAgIGFzc2VydCAoaSA9PSAwKTsNCj4+Pj4+Pj4+PiAr ICAgICAgY2hlY2sgPSAtMTsNCj4+Pj4+Pj4+PiArICAgICAgaSA9IHJhaXNl IChTSUdVU1IyKTsNCj4+Pj4+Pj4+PiArICAgICAgLyogTk9UUkVBQ0hFRCAq Lw0KPj4+Pj4+Pj4+ICsgICAgICBhc3NlcnQgKDApOw0KPj4+Pj4+Pj4+ICsg ICAgfQ0KPj4+Pj4+Pj4+ICsNCj4+Pj4+Pj4+PiArICBnb3RfcGlkID0gd2Fp dHBpZCAoY2hpbGQsICZzdGF0dXMsIDApOw0KPj4+Pj4+Pj4+ICsgIGFzc2Vy dCAoZ290X3BpZCA9PSBjaGlsZCk7DQo+Pj4+Pj4+Pj4gKyAgYXNzZXJ0IChX SUZTVE9QUEVEIChzdGF0dXMpKTsNCj4+Pj4+Pj4+PiArICBhc3NlcnQgKFdT VE9QU0lHIChzdGF0dXMpID09IFNJR1VTUjEpOw0KPj4+Pj4+Pj4+ICsNCj4+ Pj4+Pj4+PiArICAvLyBQQVNTOg0KPj4+Pj4+Pj4+ICsgIC8vU0VUX1dBVENI UE9JTlQgKGNoaWxkLCAmY2hlY2ssIDB4ZmYpOw0KPj4+Pj4+Pj4+ICsgIC8v IEZBSUw6DQo+PiBSZW1vdmUgdGhlIGNvbW1lbnRlZCBvdXQgY29kZS4NCj4+ IA0KPj4+Pj4+Pj4+ICsgIFNFVF9XQVRDSFBPSU5UIChjaGlsZCwgJmNoZWNr LCAweDAyKTsNCj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4gKyAgZXJybm8gPSAw Ow0KPj4+Pj4+Pj4+ICsgIGwgPSBwdHJhY2UgKFBUUkFDRV9DT05ULCBjaGls ZCwgMGwsIDBsKTsNCj4+Pj4+Pj4+PiArICBhc3NlcnRfcGVycm9yIChlcnJu byk7DQo+Pj4+Pj4+Pj4gKyAgYXNzZXJ0IChsID09IDApOw0KPj4+Pj4+Pj4+ ICsNCj4+Pj4+Pj4+PiArICBnb3RfcGlkID0gd2FpdHBpZCAoY2hpbGQsICZz dGF0dXMsIDApOw0KPj4+Pj4+Pj4+ICsgIGFzc2VydCAoZ290X3BpZCA9PSBj aGlsZCk7DQo+Pj4+Pj4+Pj4gKyAgYXNzZXJ0IChXSUZTVE9QUEVEIChzdGF0 dXMpKTsNCj4+Pj4+Pj4+PiArICBpZiAoV1NUT1BTSUcgKHN0YXR1cykgPT0g U0lHVVNSMikNCj4+Pj4+Pj4+PiArICAgIHsNCj4+Pj4+Pj4+PiArICAgICAg LyogV2UgbWlzc2VkIHRoZSB3YXRjaHBvaW50IC0gdW5zdXBwb3J0ZWQgYnkg aGFyZHdhcmU/ICovDQo+Pj4+Pj4+Pj4gKyAgICAgIGNsZWFudXAgKCk7DQo+ Pj4+Pj4+Pj4gKyAgICAgIHJldHVybiAyOw0KPj4+Pj4+Pj4+ICsgICAgfQ0K Pj4+Pj4+Pj4+ICsgIGFzc2VydCAoV1NUT1BTSUcgKHN0YXR1cykgPT0gU0lH VFJBUCk7DQo+Pj4+Pj4+Pj4gKw0KPj4gSXTigJlzIG5vdCBpbW1lZGlhdGVs eSBjbGVhciB0byBtZSB3aGF0IGlzIGdvaW5nIG9uIGFib3ZlLg0KPj4gQSBm ZXcgY29tbWVudHMgYXJlIHByb2JhYmx5IG5lZWRlZCB0byBtYWtlIGl0IGNs ZWFyOg0KPj4gKkFkZCBhIHdhdGNocG9pbnQgdG8gY2hlY2suDQo+PiAqUmVz dGFydCB0aGUgY2hpbGQuIEl0IHdpbGwgd3JpdGUgdG8gY2hlY2suDQo+PiAq Q2hlY2sgY2hpbGQgaGFzIHN0b3BwZWQgb24gdGhlIHdhdGNocG9pbnQuDQoN CkNvdWxkIHlvdSBhZGQgc29tZSBjb21tZW50cyB0byB0aGUgQyBmaWxlIHBs ZWFzZS4NCg0KDQo+PiANCj4gPDAwMDEtQWRkaW5nLWEtdGVzdC1jYXNlLnBh dGNoPg0KDQpBdHRhY2hlZCBwYXRjaCBsb29rcyBvay4NCkhhcHB5IGZvciB5 b3UgdG8gcHVzaCBpZiB5b3UgbWFrZSB0aGUgdHdvIGNoYW5nZXMgYWJvdmUu DQoNCg0KVGhhbmtzLA0KQWxhbi4NCg0KDQo=