From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 48931 invoked by alias); 2 Nov 2018 17:31:33 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 48893 invoked by uid 89); 2 Nov 2018 17:31:29 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.7 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_LOTSOFHASH,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=signing, validation, 1498, lp64 X-HELO: EUR01-HE1-obe.outbound.protection.outlook.com Received: from mail-he1eur01on0082.outbound.protection.outlook.com (HELO EUR01-HE1-obe.outbound.protection.outlook.com) (104.47.0.82) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 02 Nov 2018 17:31:25 +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=Nj0+L5UimNdrfzC6nz8DB2BL7P1Ph/uTmkJvnZuKc+o=; b=YeUizhKorMJAE3dE58EqWewsj9DLNHSyPDhBcsJp93RxKCPxC4V1/g4UbX8fuef6eQMFii9NcgeXujf/auG7OGSmUCc1doohIddD4ohvTH8SRq4zx7waeSepVh2liAxEIsogJSPC3xoiDbGfYJ7lxyHy/Vvat8B131Y+hZc/TXY= Received: from VI1PR08MB3440.eurprd08.prod.outlook.com (20.177.59.18) by VI1PR08MB3199.eurprd08.prod.outlook.com (52.133.15.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.21; Fri, 2 Nov 2018 17:31:20 +0000 Received: from VI1PR08MB3440.eurprd08.prod.outlook.com ([fe80::a985:2365:c576:b01a]) by VI1PR08MB3440.eurprd08.prod.outlook.com ([fe80::a985:2365:c576:b01a%5]) with mapi id 15.20.1273.030; Fri, 2 Nov 2018 17:31:20 +0000 From: Sam Tebbs To: "gcc-patches@gcc.gnu.org" CC: Richard Earnshaw , Marcus Shawcroft , James Greenhalgh , nd Subject: [PATCH 2/3][GCC][AARCH64] Add new -mbranch-protection option to combine pointer signing and BTI Date: Fri, 02 Nov 2018 17:31:00 -0000 Message-ID: <67f1be3b-0010-880e-4c81-a3781851b94b@arm.com> authentication-results: spf=none (sender IP is ) smtp.mailfrom=Sam.Tebbs@arm.com; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) Content-Type: multipart/mixed; boundary="_002_67f1be3b0010880e4c81a3781851b94barmcom_" MIME-Version: 1.0 X-IsSubscribed: yes X-SW-Source: 2018-11/txt/msg00104.txt.bz2 --_002_67f1be3b0010880e4c81a3781851b94barmcom_ Content-Type: text/plain; charset="utf-8" Content-ID: <45D4800EB4E8F149A2E1D53C0E79A8E5@eurprd08.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 4299 SGkgYWxsLA0KDQpUaGUgLW1icmFuY2gtcHJvdGVjdGlvbiBvcHRpb24gY29t YmluZXMgdGhlIGZ1bmN0aW9uYWxpdHkgb2YNCi1tc2lnbi1yZXR1cm4tYWRk cmVzcyBhbmQgdGhlIEJUSSBmZWF0dXJlcyBuZXcgaW4gQXJtdjguNSB0byBi ZXR0ZXIgcmVmbGVjdA0KdGhlaXIgcmVsYXRpb25zaGlwLiBUaGlzIG5ldyBv cHRpb24gdGhlcmVmb3JlIHN1cGVyc2VkZXMgYW5kIGRlcHJlY2F0ZXMgdGhl DQpleGlzdGluZyAtbXNpZ24tcmV0dXJuLWFkZHJlc3Mgb3B0aW9uLg0KDQot bWJyYW5jaC1wcm90ZWN0aW9uPVtub25lfHN0YW5kYXJkfDx0eXBlcz5dIC0g VHVybnMgb24gZGlmZmVyZW50IHR5cGVzIG9mIGJyYW5jaA0KcHJvdGVjdGlv biBhdmFpbGFibGUgd2hlcmU6DQoNCiAgICAgKiAibm9uZSI6IFR1cm4gb2Yg YWxsIHR5cGVzIG9mIGJyYW5jaCBwcm90ZWN0aW9uDQogICAgICogInN0YW5k YXJkIiA6IFR1cm5zIG9uIGFsbCB0aGUgdHlwZXMgb2YgcHJvdGVjdGlvbiB0 byB0aGVpciByZXNwZWN0aXZlDQogICAgICAgc3RhbmRhcmQgbGV2ZWxzLg0K ICAgICAqIDx0eXBlcz4gY2FuIGJlICIrIiBzZXBhcmF0ZWQgcHJvdGVjdGlv biB0eXBlczoNCg0KICAgICAJKiAiYnRpIiA6IEJyYW5jaCBUYXJnZXQgSWRl bnRpZmljYXRpb24gTWVjaGFuaXNtLg0KCSogInBhYy1yZXR7K2xlYWYrYi1r ZXl9IjogUmV0dXJuIEFkZHJlc3MgU2lnbmluZy4gVGhlIGRlZmF1bHQgcmV0 dXJuDQoJICBhZGRyZXNzIHNpZ25pbmcgaXMgZW5hYmxlZCBieSBzaWduaW5n IGZ1bmN0aW9ucyB0aGF0IHNhdmUgdGhlIHJldHVybg0KCSAgYWRkcmVzcyB0 byBtZW1vcnkgKG5vbi1sZWFmIGZ1bmN0aW9ucyB3aWxsIHByYWN0aWNhbGx5 IGFsd2F5cyBkbyB0aGlzKQ0KCSAgdXNpbmcgdGhlIGEta2V5LiBUaGUgb3B0 aW9uYWwgdHVuaW5nIGFyZ3VtZW50cyBhbGxvdyB0aGUgdXNlciB0bw0KCSAg ZXh0ZW5kIHRoZSBzY29wZSBvZiByZXR1cm4gYWRkcmVzcyBzaWduaW5nIHRv IGluY2x1ZGUgbGVhZiBmdW5jdGlvbnMNCgkgIGFuZCB0byBjaGFuZ2UgdGhl IGtleSB0byBiLWtleS4gVGhlIHR1bmluZyBhcmd1bWVudHMgbXVzdCBwcm9j ZWVkIHRoZQ0KCSAgcHJvdGVjdGlvbiB0eXBlICJwYWMtcmV0Ii4NCg0KVGh1 cyAtbWJyYW5jaC1wcm90ZWN0aW9uPXN0YW5kYXJkIC0+IC1tYnJhbmNoLXBy b3RlY3Rpb249YnRpK3BhYy1yZXQuDQoNCkl0cyBtYXBwaW5nIHRvIC1tc2ln bi1yZXR1cm4tYWRkcmVzcyBpcyBhcyBmb2xsb3dzOg0KDQogICAgICogLW1i cmFuY2gtcHJvdGVjdGlvbj1ub25lIC0+IC1tc2lnbi1yZXR1cm4tYWRkcmVz cz1ub25lDQogICAgICogLW1icmFuY2gtcHJvdGVjdGlvbj1zdGFuZGFyZCAt PiAtbXNpZ24tcmV0dXJuLWFkZHJlc3M9bGVhZg0KICAgICAqIC1tYnJhbmNo LXByb3RlY3Rpb249cGFjLXJldCAtPiAtbXNpZ24tcmV0dXJuLWFkZHJlc3M9 bm9uLWxlYWYNCiAgICAgKiAtbWJyYW5jaC1wcm90ZWN0aW9uPXBhYy1yZXQr bGVhZiAtPiAtbXNpZ24tcmV0dXJuLWFkZHJlc3M9YWxsDQoNClRoaXMgcGF0 Y2ggaW1wbGVtZW50cyB0aGUgb3B0aW9uJ3Mgc2tlbGV0b24gYW5kIHRoZSAi bm9uZSIsICJzdGFuZGFyZCIgYW5kDQoicGFjLXJldCIgdHlwZXMgKGFsb25n IHdpdGggaXRzICJsZWFmIiBzdWJ0eXBlKS4NCg0KVGhlIHByZXZpb3VzIHBh dGNoIGluIHRoaXMgc2VyaWVzIGlzIGhlcmU6DQpodHRwczovL2djYy5nbnUu b3JnL21sL2djYy1wYXRjaGVzLzIwMTgtMTEvbXNnMDAxMDMuaHRtbA0KDQpC b290c3RyYXBwZWQgc3VjY2Vzc2Z1bGx5IGFuZCB0ZXN0ZWQgb24gYWFyY2g2 NC1ub25lLWVsZiB3aXRoIG5vIHJlZ3Jlc3Npb25zLg0KDQpPSyBmb3IgdHJ1 bms/DQoNCmdjYy9DaGFuZ2VMb2c6DQoNCjIwMTgtMTEtMDIgIFNhbSBUZWJi czxzYW0udGViYnNAYXJtLmNvbT4NCg0KCSogY29uZmlnL2FhcmNoNjQvYWFy Y2g2NC5jIChCUkFOQ0hfUFJPVEVDX1NUUl9NQVgsDQoJYWFyY2g2NF9wYXJz ZV9icmFuY2hfcHJvdGVjdGlvbiwNCglzdHJ1Y3QgYWFyY2g2NF9icmFuY2hf cHJvdGVjX3R5cGUsDQoJYWFyY2g2NF9oYW5kbGVfbm9fYnJhbmNoX3Byb3Rl Y3Rpb24sDQoJYWFyY2g2NF9oYW5kbGVfc3RhbmRhcmRfYnJhbmNoX3Byb3Rl Y3Rpb24sDQoJYWFyY2g2NF92YWxpZGF0ZV9tYnJhbmNoX3Byb3RlY3Rpb24s DQoJYWFyY2g2NF9oYW5kbGVfcGFjX3JldF9wcm90ZWN0aW9uLA0KCWFhcmNo NjRfaGFuZGxlX2F0dHJfYnJhbmNoX3Byb3RlY3Rpb24sDQoJYWNjZXB0ZWRf YnJhbmNoX3Byb3RlY3Rpb25fc3RyaW5nLA0KCWFhcmNoNjRfcGFjX3JldF9z dWJ0eXBlcywNCglhYXJjaDY0X2JyYW5jaF9wcm90ZWNfdHlwZXMsDQoJYWFy Y2g2NF9oYW5kbGVfcGFjX3JldF9sZWFmKTogRGVmaW5lLg0KCShhYXJjaDY0 X292ZXJyaWRlX29wdGlvbnNfYWZ0ZXJfY2hhbmdlXzEpOiBBZGQgY2hlY2sg Zm9yDQoJYWNjZXB0ZWRfYnJhbmNoX3Byb3RlY3Rpb25fc3RyaW5nLg0KCShh YXJjaDY0X292ZXJyaWRlX29wdGlvbnMpOiBBZGQgY2hlY2sgZm9yDQoJYWNj ZXB0ZWRfYnJhbmNoX3Byb3RlY3Rpb25fc3RyaW5nLg0KCShhYXJjaDY0X29w dGlvbl9zYXZlKTogU2F2ZSBhY2NlcHRlZF9icmFuY2hfcHJvdGVjdGlvbl9z dHJpbmcuDQoJKGFhcmNoNjRfb3B0aW9uX3Jlc3RvcmUpOiBTYXZlDQoJYWNj ZXB0ZWRfYnJhbmNoX3Byb3RlY3Rpb25fc3RyaW5nLg0KCSogY29uZmlnL2Fh cmNoNjQvYWFyY2g2NC5jIChhYXJjaDY0X2F0dHJpYnV0ZXMpOiBBZGQgYnJh bmNoLXByb3RlY3Rpb24uDQoJKiBjb25maWcvYWFyY2g2NC9hYXJjaDY0Lm9w dDogQWRkIG1icmFuY2gtcHJvdGVjdGlvbi4gRGVwcmVjYXRlDQoJbXNpZ24t cmV0dXJuLWFkZHJlc3MuDQoJKiBkb2MvaW52b2tlLnRleGk6IEFkZCBtYnJh bmNoLXByb3RlY3Rpb24uDQoNCmdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOg0K DQoyMDE4LTExLTAyICBTYW0gVGViYnM8c2FtLnRlYmJzQGFybS5jb20+DQoN CgkqIChnY2MudGFyZ2V0L2FhcmNoNjQvcmV0dXJuX2FkZHJlc3Nfc2lnbl8x LmMsDQoJZ2NjLnRhcmdldC9hYXJjaDY0L3JldHVybl9hZGRyZXNzX3NpZ25f Mi5jLA0KCWdjYy50YXJnZXQvYWFyY2g2NC9yZXR1cm5fYWRkcmVzc19zaWdu XzMuYyAoX19hdHRyaWJ1dGVfXykpOiBDaGFuZ2UNCglvcHRpb24gdG8gLW1i cmFuY2gtcHJvdGVjdGlvbi4NCg0K --_002_67f1be3b0010880e4c81a3781851b94barmcom_ Content-Type: text/x-patch; name="latest.patch" Content-Description: latest.patch Content-Disposition: attachment; filename="latest.patch"; size=16435; creation-date="Fri, 02 Nov 2018 17:31:19 GMT"; modification-date="Fri, 02 Nov 2018 17:31:19 GMT" Content-ID: <0626B10C1639844DB658C2251ABA78BB@eurprd08.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 22282 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LmMgYi9n Y2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC5jDQppbmRleCBiNDRlZTQwMTE1 ZGNlNTI2YzdjYzMwMmIyYTQ3YzI4YWI4YjQxNTA4Li4xMjEzNDhkYmQ5MDlm NDI3MTdlZmVhMTYzZWE2YjdjNTQ1ZjViMWM3IDEwMDY0NA0KLS0tIGEvZ2Nj L2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQuYw0KKysrIGIvZ2NjL2NvbmZpZy9h YXJjaDY0L2FhcmNoNjQuYw0KQEAgLTE4Myw2ICsxODMsMTIgQEAgYm9vbCBh YXJjaDY0X3BjcmVsYXRpdmVfbGl0ZXJhbF9sb2FkczsNCiAvKiBHbG9iYWwg ZmxhZyBmb3Igd2hldGhlciBmcmFtZSBwb2ludGVyIGlzIGVuYWJsZWQuICAq Lw0KIGJvb2wgYWFyY2g2NF91c2VfZnJhbWVfcG9pbnRlcjsNCiANCisjZGVm aW5lIEJSQU5DSF9QUk9URUNfU1RSX01BWCAyNTUNCitjaGFyICphY2NlcHRl ZF9icmFuY2hfcHJvdGVjdGlvbl9zdHJpbmcgPSBOVUxMOw0KKw0KK3N0YXRp YyBlbnVtIGFhcmNoNjRfcGFyc2Vfb3B0X3Jlc3VsdA0KK2FhcmNoNjRfcGFy c2VfYnJhbmNoX3Byb3RlY3Rpb24gKGNvbnN0IGNoYXIqLCBjaGFyKiopOw0K Kw0KIC8qIFN1cHBvcnQgZm9yIGNvbW1hbmQgbGluZSBwYXJzaW5nIG9mIGJv b2xlYW4gZmxhZ3MgaW4gdGhlIHR1bmluZw0KICAgIHN0cnVjdHVyZXMuICAq Lw0KIHN0cnVjdCBhYXJjaDY0X2ZsYWdfZGVzYw0KQEAgLTExMDgsNiArMTEx NCw4MCBAQCBhYXJjaDY0X2NjOw0KIA0KICNkZWZpbmUgQUFSQ0g2NF9JTlZF UlNFX0NPTkRJVElPTl9DT0RFKFgpICgoYWFyY2g2NF9jYykgKCgoaW50KSBY KSBeIDEpKQ0KIA0KK3N0cnVjdCBhYXJjaDY0X2JyYW5jaF9wcm90ZWNfdHlw ZQ0KK3sNCisgIC8qIFRoZSB0eXBlJ3MgbmFtZSB0aGF0IHRoZSB1c2VyIHBh c3NlcyB0byB0aGUgYnJhbmNoLXByb3RlY3Rpb24gb3B0aW9uDQorICAgIHN0 cmluZy4gICovDQorICBjb25zdCBjaGFyKiBuYW1lOw0KKyAgLyogRnVuY3Rp b24gdG8gaGFuZGxlIHRoZSBwcm90ZWN0aW9uIHR5cGUgYW5kIHNldCBnbG9i YWwgdmFyaWFibGVzLg0KKyAgICBGaXJzdCBhcmd1bWVudCBpcyB0aGUgc3Ry aW5nIHRva2VuIGNvcnJlc3BvbmRpbmcgd2l0aCB0aGlzIHR5cGUgYW5kIHRo ZQ0KKyAgICBzZWNvbmQgYXJndW1lbnQgaXMgdGhlIG5leHQgdG9rZW4gaW4g dGhlIG9wdGlvbiBzdHJpbmcuDQorICAgIFJldHVybiB2YWx1ZXM6DQorICAg ICogQUFSQ0g2NF9QQVJTRV9PSzogSGFuZGxpbmcgd2FzIHN1Y2Vzc2Z1bC4N CisgICAgKiBBQVJDSDY0X0lOVkFMSURfQVJHOiBUaGUgdHlwZSBpcyBpbnZh bGlkIGluIHRoaXMgY29udGV4dCBhbmQgdGhlIGNhbGxlcg0KKyAgICAgIHNo b3VsZCBwcmludCBhbiBlcnJvci4NCisgICAgKiBBQVJDSDY0X0lOVkFMSURf RkVBVFVSRTogVGhlIHR5cGUgaXMgaW52YWxpZCBhbmQgdGhlIGhhbmRsZXIg cHJpbnRzIGl0cw0KKyAgICAgIG93biBlcnJvci4gICovDQorICBlbnVtIGFh cmNoNjRfcGFyc2Vfb3B0X3Jlc3VsdCAoKmhhbmRsZXIpKGNoYXIqLCBjaGFy Kik7DQorICAvKiBBIGxpc3Qgb2YgdHlwZXMgdGhhdCBjYW4gZm9sbG93IHRo aXMgdHlwZSBpbiB0aGUgb3B0aW9uIHN0cmluZy4gICovDQorICBjb25zdCBh YXJjaDY0X2JyYW5jaF9wcm90ZWNfdHlwZSogc3VidHlwZXM7DQorICB1bnNp Z25lZCBpbnQgbnVtX3N1YnR5cGVzOw0KK307DQorDQorc3RhdGljIGVudW0g YWFyY2g2NF9wYXJzZV9vcHRfcmVzdWx0DQorYWFyY2g2NF9oYW5kbGVfbm9f YnJhbmNoX3Byb3RlY3Rpb24gKGNoYXIqIHN0ciBBVFRSSUJVVEVfVU5VU0VE LCBjaGFyKiByZXN0KQ0KK3sNCisgIGFhcmNoNjRfcmFfc2lnbl9zY29wZSA9 IEFBUkNINjRfRlVOQ1RJT05fTk9ORTsNCisgIGlmIChyZXN0KQ0KKyAgICB7 DQorICAgICAgZXJyb3IgKCJ1bmV4cGVjdGVkICU8JXMlPiBhZnRlciAlPCVz JT4iLCByZXN0LCBzdHIpOw0KKyAgICAgIHJldHVybiBBQVJDSDY0X1BBUlNF X0lOVkFMSURfRkVBVFVSRTsNCisgICAgfQ0KKyAgcmV0dXJuIEFBUkNINjRf UEFSU0VfT0s7DQorfQ0KKw0KK3N0YXRpYyBlbnVtIGFhcmNoNjRfcGFyc2Vf b3B0X3Jlc3VsdA0KK2FhcmNoNjRfaGFuZGxlX3N0YW5kYXJkX2JyYW5jaF9w cm90ZWN0aW9uIChjaGFyKiBzdHIgQVRUUklCVVRFX1VOVVNFRCwNCisJCQkJ CSAgICBjaGFyKiByZXN0IEFUVFJJQlVURV9VTlVTRUQpDQorew0KKyAgYWFy Y2g2NF9yYV9zaWduX3Njb3BlID0gQUFSQ0g2NF9GVU5DVElPTl9OT05fTEVB RjsNCisgIGlmIChyZXN0KQ0KKyAgICB7DQorICAgICAgZXJyb3IgKCJ1bmV4 cGVjdGVkICU8JXMlPiBhZnRlciAlPCVzJT4iLCByZXN0LCBzdHIpOw0KKyAg ICAgIHJldHVybiBBQVJDSDY0X1BBUlNFX0lOVkFMSURfRkVBVFVSRTsNCisg ICAgfQ0KKyAgcmV0dXJuIEFBUkNINjRfUEFSU0VfT0s7DQorfQ0KKw0KK3N0 YXRpYyBlbnVtIGFhcmNoNjRfcGFyc2Vfb3B0X3Jlc3VsdA0KK2FhcmNoNjRf aGFuZGxlX3BhY19yZXRfcHJvdGVjdGlvbiAoY2hhciogc3RyIEFUVFJJQlVU RV9VTlVTRUQsDQorCQkJCSAgICBjaGFyKiByZXN0IEFUVFJJQlVURV9VTlVT RUQpDQorew0KKyAgYWFyY2g2NF9yYV9zaWduX3Njb3BlID0gQUFSQ0g2NF9G VU5DVElPTl9OT05fTEVBRjsNCisgIHJldHVybiBBQVJDSDY0X1BBUlNFX09L Ow0KK30NCisNCitzdGF0aWMgZW51bSBhYXJjaDY0X3BhcnNlX29wdF9yZXN1 bHQNCithYXJjaDY0X2hhbmRsZV9wYWNfcmV0X2xlYWYgKGNoYXIqIHN0ciBB VFRSSUJVVEVfVU5VU0VELA0KKwkJCSAgICAgIGNoYXIqIHJlc3QgQVRUUklC VVRFX1VOVVNFRCkNCit7DQorICBhYXJjaDY0X3JhX3NpZ25fc2NvcGUgPSBB QVJDSDY0X0ZVTkNUSU9OX0FMTDsNCisgIHJldHVybiBBQVJDSDY0X1BBUlNF X09LOw0KK30NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IGFhcmNoNjRfYnJh bmNoX3Byb3RlY190eXBlIGFhcmNoNjRfcGFjX3JldF9zdWJ0eXBlc1tdID0g ew0KKyAgeyAibGVhZiIsIGFhcmNoNjRfaGFuZGxlX3BhY19yZXRfbGVhZiwg TlVMTCwgMCB9LA0KKyAgeyBOVUxMLCBOVUxMLCBOVUxMLCAwIH0NCit9Ow0K Kw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYWFyY2g2NF9icmFuY2hfcHJvdGVj X3R5cGUgYWFyY2g2NF9icmFuY2hfcHJvdGVjX3R5cGVzW10gPSB7DQorICB7 ICJub25lIiwgYWFyY2g2NF9oYW5kbGVfbm9fYnJhbmNoX3Byb3RlY3Rpb24s IE5VTEwsIDAgfSwNCisgIHsgInN0YW5kYXJkIiwgYWFyY2g2NF9oYW5kbGVf c3RhbmRhcmRfYnJhbmNoX3Byb3RlY3Rpb24sIE5VTEwsIDAgfSwNCisgIHsg InBhYy1yZXQiLCBhYXJjaDY0X2hhbmRsZV9wYWNfcmV0X3Byb3RlY3Rpb24s IGFhcmNoNjRfcGFjX3JldF9zdWJ0eXBlcywNCisgICAgc2l6ZW9mIChhYXJj aDY0X3BhY19yZXRfc3VidHlwZXMpIC8gc2l6ZW9mIChhYXJjaDY0X2JyYW5j aF9wcm90ZWNfdHlwZSkgfSwNCisgIHsgTlVMTCwgTlVMTCwgTlVMTCwgMCB9 DQorfTsNCisNCiAvKiBUaGUgY29uZGl0aW9uIGNvZGVzIG9mIHRoZSBwcm9j ZXNzb3IsIGFuZCB0aGUgaW52ZXJzZSBmdW5jdGlvbi4gICovDQogc3RhdGlj IGNvbnN0IGNoYXIgKiBjb25zdCBhYXJjaDY0X2NvbmRpdGlvbl9jb2Rlc1td ID0NCiB7DQpAQCAtMTA4OTQsNiArMTA5NzQsMTIgQEAgYWFyY2g2NF9wYXJz ZV9vdmVycmlkZV9zdHJpbmcgKGNvbnN0IGNoYXIqIGlucHV0X3N0cmluZywN CiBzdGF0aWMgdm9pZA0KIGFhcmNoNjRfb3ZlcnJpZGVfb3B0aW9uc19hZnRl cl9jaGFuZ2VfMSAoc3RydWN0IGdjY19vcHRpb25zICpvcHRzKQ0KIHsNCisg IGlmIChhY2NlcHRlZF9icmFuY2hfcHJvdGVjdGlvbl9zdHJpbmcpDQorICAg IHsNCisgICAgICBvcHRzLT54X2FhcmNoNjRfYnJhbmNoX3Byb3RlY3Rpb25f c3RyaW5nDQorCT0geHN0cmR1cCAoYWNjZXB0ZWRfYnJhbmNoX3Byb3RlY3Rp b25fc3RyaW5nKTsNCisgICAgfQ0KKw0KICAgLyogUFIgNzAwNDQ6IFdlIGhh dmUgdG8gYmUgY2FyZWZ1bCBhYm91dCBiZWluZyBjYWxsZWQgbXVsdGlwbGUg dGltZXMgZm9yIHRoZQ0KICAgICAgc2FtZSBmdW5jdGlvbi4gIFRoaXMgbWVh bnMgYWxsIGNoYW5nZXMgc2hvdWxkIGJlIHJlcGVhdGFibGUuICAqLw0KIA0K QEAgLTExMTc5LDYgKzExMjY1LDEwOSBAQCBhYXJjaDY0X3ZhbGlkYXRlX21j cHUgKGNvbnN0IGNoYXIgKnN0ciwgY29uc3Qgc3RydWN0IHByb2Nlc3NvciAq KnJlcywNCiAgIHJldHVybiBmYWxzZTsNCiB9DQogDQorLyogUGFyc2VzIENP TlNUX1NUUiBmb3IgYnJhbmNoIHByb3RlY3Rpb24gZmVhdHVyZXMgc3BlY2lm aWVkIGluDQorICAgYWFyY2g2NF9icmFuY2hfcHJvdGVjX3R5cGVzLCBhbmQg c2V0IGFueSBnbG9iYWwgdmFyaWFibGVzIHJlcXVpcmVkLiAgUmV0dXJucw0K KyAgIHRoZSBwYXJzaW5nIHJlc3VsdCBhbmQgYXNzaWducyBMQVNUX1NUUiB0 byB0aGUgbGFzdCBwcm9jZXNzZWQgdG9rZW4gZnJvbQ0KKyAgIENPTlNUX1NU UiBzbyB0aGF0IGl0IGNhbiBiZSB1c2VkIGZvciBlcnJvciByZXBvcnRpbmcu ICAqLw0KKw0KK3N0YXRpYyBlbnVtDQorYWFyY2g2NF9wYXJzZV9vcHRfcmVz dWx0IGFhcmNoNjRfcGFyc2VfYnJhbmNoX3Byb3RlY3Rpb24gKGNvbnN0IGNo YXIgKmNvbnN0X3N0ciwNCisJCQkJCQkJICBjaGFyKiogbGFzdF9zdHIpDQor ew0KKyAgY2hhciAqc3RyID0geHN0cmR1cCAoY29uc3Rfc3RyKTsNCisgIHN0 ciA9IHN0cnRvayAoc3RyLCAiKyIpOw0KKyAgZW51bSBhYXJjaDY0X3BhcnNl X29wdF9yZXN1bHQgcmVzID0gQUFSQ0g2NF9QQVJTRV9PSzsNCisgIGlmICgh c3RyKQ0KKyAgICByZXMgPSBBQVJDSDY0X1BBUlNFX01JU1NJTkdfQVJHOw0K KyAgZWxzZQ0KKyAgICB7DQorICAgICAgY2hhciAqbmV4dF9zdHIgPSBzdHJ0 b2sgKE5VTEwsICIrIik7DQorICAgICAgLyogUmVzZXQgdGhlIGJyYW5jaCBw cm90ZWN0aW9uIGZlYXR1cmVzIHRvIHRoZWlyIGRlZmF1bHRzLiAgKi8NCisg ICAgICBhYXJjaDY0X2hhbmRsZV9ub19icmFuY2hfcHJvdGVjdGlvbiAoTlVM TCwgTlVMTCk7DQorDQorICAgICAgd2hpbGUgKHN0ciAmJiByZXMgPT0gQUFS Q0g2NF9QQVJTRV9PSykNCisJew0KKwkgIGNvbnN0IGFhcmNoNjRfYnJhbmNo X3Byb3RlY190eXBlKiB0eXBlID0gYWFyY2g2NF9icmFuY2hfcHJvdGVjX3R5 cGVzOw0KKwkgIGJvb2wgZm91bmQgPSBmYWxzZTsNCisJICAvKiBTZWFyY2gg Zm9yIHRoaXMgdHlwZS4gICovDQorCSAgd2hpbGUgKHR5cGUgJiYgdHlwZS0+ bmFtZSAmJiAhZm91bmQgJiYgcmVzID09IEFBUkNINjRfUEFSU0VfT0spDQor CSAgICB7DQorCSAgICAgIGlmIChzdHJjbXAgKHN0ciwgdHlwZS0+bmFtZSkg PT0gMCkNCisJCXsNCisJCSAgZm91bmQgPSB0cnVlOw0KKwkJICByZXMgPSB0 eXBlLT5oYW5kbGVyIChzdHIsIG5leHRfc3RyKTsNCisJCSAgc3RyID0gbmV4 dF9zdHI7DQorCQkgIG5leHRfc3RyID0gc3RydG9rIChOVUxMLCAiKyIpOw0K KwkJfQ0KKwkgICAgICBlbHNlDQorCQl0eXBlKys7DQorCSAgICB9DQorCSAg aWYgKGZvdW5kICYmIHJlcyA9PSBBQVJDSDY0X1BBUlNFX09LKQ0KKwkgICAg ew0KKwkgICAgICBib29sIGZvdW5kX3N1YnR5cGUgPSB0cnVlOw0KKwkgICAg ICAvKiBMb29wIHRocm91Z2ggZWFjaCB0b2tlbiB1bnRpbCB3ZSBmaW5kIG9u ZSB0aGF0IGlzbid0IGENCisJCSBzdWJ0eXBlLiAgKi8NCisJICAgICAgd2hp bGUgKGZvdW5kX3N1YnR5cGUpDQorCQl7DQorCQkgIGZvdW5kX3N1YnR5cGUg PSBmYWxzZTsNCisJCSAgY29uc3QgYWFyY2g2NF9icmFuY2hfcHJvdGVjX3R5 cGUgKnN1YnR5cGUgPSB0eXBlLT5zdWJ0eXBlczsNCisJCSAgLyogU2VhcmNo IGZvciB0aGUgc3VidHlwZS4gICovDQorCQkgIHdoaWxlIChzdHIgJiYgc3Vi dHlwZSAmJiBzdWJ0eXBlLT5uYW1lICYmICFmb3VuZF9zdWJ0eXBlDQorCQkJ ICAmJiByZXMgPT0gQUFSQ0g2NF9QQVJTRV9PSykNCisJCSAgICB7DQorCQkg ICAgICBpZiAoc3RyY21wIChzdHIsIHN1YnR5cGUtPm5hbWUpID09IDApDQor CQkJew0KKwkJCSAgZm91bmRfc3VidHlwZSA9IHRydWU7DQorCQkJICByZXMg PSBzdWJ0eXBlLT5oYW5kbGVyIChzdHIsIG5leHRfc3RyKTsNCisJCQkgIHN0 ciA9IG5leHRfc3RyOw0KKwkJCSAgbmV4dF9zdHIgPSBzdHJ0b2sgKE5VTEws ICIrIik7DQorCQkJfQ0KKwkJICAgICAgZWxzZQ0KKwkJCXN1YnR5cGUrKzsN CisJCSAgICB9DQorCQl9DQorCSAgICB9DQorCSAgZWxzZSBpZiAoIWZvdW5k KQ0KKwkgICAgcmVzID0gQUFSQ0g2NF9QQVJTRV9JTlZBTElEX0FSRzsNCisJ fQ0KKyAgICB9DQorICAvKiBDb3B5IHRoZSBsYXN0IHByb2Nlc3NlZCB0b2tl biBpbnRvIHRoZSBhcmd1bWVudCB0byBwYXNzIGl0IGJhY2suDQorICAgIFVz ZWQgYnkgb3B0aW9uIGFuZCBhdHRyaWJ1dGUgdmFsaWRhdGlvbiB0byBwcmlu dCB0aGUgb2ZmZW5kaW5nIHRva2VuLiAgKi8NCisgIGlmIChsYXN0X3N0cikN CisgICAgew0KKyAgICAgIGlmIChzdHIpIHN0cmNweSAoKmxhc3Rfc3RyLCBz dHIpOw0KKyAgICAgIGVsc2UgKmxhc3Rfc3RyID0gTlVMTDsNCisgICAgfQ0K KyAgaWYgKHJlcyA9PSBBQVJDSDY0X1BBUlNFX09LKQ0KKyAgICB7DQorICAg ICAgLyogSWYgbmVlZGVkLCBhbGxvYyB0aGUgYWNjZXB0ZWQgc3RyaW5nIHRo ZW4gY29weSBpbiBjb25zdF9zdHIuDQorCVVzZWQgYnkgb3ZlcnJpZGVfb3B0 aW9uX2FmdGVyX2NoYW5nZV8xLiAgKi8NCisgICAgICBpZiAoIWFjY2VwdGVk X2JyYW5jaF9wcm90ZWN0aW9uX3N0cmluZykNCisJYWNjZXB0ZWRfYnJhbmNo X3Byb3RlY3Rpb25fc3RyaW5nID0gKGNoYXIgKikgeG1hbGxvYyAoDQorCQkJ CQkJICAgICAgQlJBTkNIX1BST1RFQ19TVFJfTUFYDQorCQkJCQkJCSsgMSk7 DQorICAgICAgc3RybmNweSAoYWNjZXB0ZWRfYnJhbmNoX3Byb3RlY3Rpb25f c3RyaW5nLCBjb25zdF9zdHIsDQorCQlCUkFOQ0hfUFJPVEVDX1NUUl9NQVgg KyAxKTsNCisgICAgICAvKiBGb3JjaWJseSBudWxsLXRlcm1pbmF0ZS4gICov DQorICAgICAgYWNjZXB0ZWRfYnJhbmNoX3Byb3RlY3Rpb25fc3RyaW5nW0JS QU5DSF9QUk9URUNfU1RSX01BWF0gPSAnXDAnOw0KKyAgICB9DQorICByZXR1 cm4gcmVzOw0KK30NCisNCitzdGF0aWMgYm9vbA0KK2FhcmNoNjRfdmFsaWRh dGVfbWJyYW5jaF9wcm90ZWN0aW9uIChjb25zdCBjaGFyICpjb25zdF9zdHIp DQorew0KKyAgY2hhciAqc3RyID0gKGNoYXIgKikgeG1hbGxvYyAoc3RybGVu IChjb25zdF9zdHIpKTsNCisgIGVudW0gYWFyY2g2NF9wYXJzZV9vcHRfcmVz dWx0IHJlcyA9DQorICAgIGFhcmNoNjRfcGFyc2VfYnJhbmNoX3Byb3RlY3Rp b24gKGNvbnN0X3N0ciwgJnN0cik7DQorICBpZiAocmVzID09IEFBUkNINjRf UEFSU0VfSU5WQUxJRF9BUkcpDQorICAgIGVycm9yICgiaW52YWxpZCBhcmcg JTwlcyU+IGZvciAlPC1tYnJhbmNoLXByb3RlY3Rpb249JT4iLCBzdHIpOw0K KyAgZWxzZSBpZiAocmVzID09IEFBUkNINjRfUEFSU0VfTUlTU0lOR19BUkcp DQorICAgIGVycm9yICgibWlzc2luZyBhcmcgZm9yICU8LW1icmFuY2gtcHJv dGVjdGlvbj0lPiIpOw0KKyAgZnJlZSAoc3RyKTsNCisgIHJldHVybiByZXMg PT0gQUFSQ0g2NF9QQVJTRV9PSzsNCit9DQorDQogLyogVmFsaWRhdGUgYSBj b21tYW5kLWxpbmUgLW1hcmNoIG9wdGlvbi4gIFBhcnNlIHRoZSBhcmNoIGFu ZCBleHRlbnNpb25zDQogICAgKGlmIGFueSkgc3BlY2lmaWVkIGluIFNUUiBh bmQgdGhyb3cgZXJyb3JzIGlmIGFwcHJvcHJpYXRlLiAgUHV0IHRoZQ0KICAg IHJlc3VsdHMsIGlmIHRoZXkgYXJlIHZhbGlkLCBpbiBSRVMgYW5kIElTQV9G TEFHUy4gIFJldHVybiB3aGV0aGVyIHRoZQ0KQEAgLTExMzEzLDYgKzExNTAy LDkgQEAgYWFyY2g2NF9vdmVycmlkZV9vcHRpb25zICh2b2lkKQ0KICAgc2Vs ZWN0ZWRfYXJjaCA9IE5VTEw7DQogICBzZWxlY3RlZF90dW5lID0gTlVMTDsN CiANCisgIGlmIChhYXJjaDY0X2JyYW5jaF9wcm90ZWN0aW9uX3N0cmluZykN CisgICAgYWFyY2g2NF92YWxpZGF0ZV9tYnJhbmNoX3Byb3RlY3Rpb24gKGFh cmNoNjRfYnJhbmNoX3Byb3RlY3Rpb25fc3RyaW5nKTsNCisNCiAgIC8qIC1t Y3B1PUNQVSBpcyBzaG9ydGhhbmQgZm9yIC1tYXJjaD1BUkNIX0ZPUl9DUFUs IC1tdHVuZT1DUFUuDQogICAgICBJZiBlaXRoZXIgb2YgLW1hcmNoIG9yIC1t dHVuZSBpcyBnaXZlbiwgdGhleSBvdmVycmlkZSB0aGVpcg0KICAgICAgcmVz cGVjdGl2ZSBjb21wb25lbnQgb2YgLW1jcHUuICAqLw0KQEAgLTExNDc1LDYg KzExNjY3LDggQEAgc3RhdGljIHZvaWQNCiBhYXJjaDY0X29wdGlvbl9zYXZl IChzdHJ1Y3QgY2xfdGFyZ2V0X29wdGlvbiAqcHRyLCBzdHJ1Y3QgZ2NjX29w dGlvbnMgKm9wdHMpDQogew0KICAgcHRyLT54X2FhcmNoNjRfb3ZlcnJpZGVf dHVuZV9zdHJpbmcgPSBvcHRzLT54X2FhcmNoNjRfb3ZlcnJpZGVfdHVuZV9z dHJpbmc7DQorICBwdHItPnhfYWFyY2g2NF9icmFuY2hfcHJvdGVjdGlvbl9z dHJpbmcNCisgICAgPSBvcHRzLT54X2FhcmNoNjRfYnJhbmNoX3Byb3RlY3Rp b25fc3RyaW5nOw0KIH0NCiANCiAvKiBJbXBsZW1lbnRzIFRBUkdFVF9PUFRJ T05fUkVTVE9SRS4gIFJlc3RvcmUgdGhlIGJhY2tlbmQgY29kZWdlbiBkZWNp c2lvbnMNCkBAIC0xMTQ4OCw2ICsxMTY4MiwxMyBAQCBhYXJjaDY0X29wdGlv bl9yZXN0b3JlIChzdHJ1Y3QgZ2NjX29wdGlvbnMgKm9wdHMsIHN0cnVjdCBj bF90YXJnZXRfb3B0aW9uICpwdHIpDQogICBvcHRzLT54X2V4cGxpY2l0X2Fy Y2ggPSBwdHItPnhfZXhwbGljaXRfYXJjaDsNCiAgIHNlbGVjdGVkX2FyY2gg PSBhYXJjaDY0X2dldF9hcmNoIChwdHItPnhfZXhwbGljaXRfYXJjaCk7DQog ICBvcHRzLT54X2FhcmNoNjRfb3ZlcnJpZGVfdHVuZV9zdHJpbmcgPSBwdHIt PnhfYWFyY2g2NF9vdmVycmlkZV90dW5lX3N0cmluZzsNCisgIG9wdHMtPnhf YWFyY2g2NF9icmFuY2hfcHJvdGVjdGlvbl9zdHJpbmcNCisgICAgPSBwdHIt PnhfYWFyY2g2NF9icmFuY2hfcHJvdGVjdGlvbl9zdHJpbmc7DQorICBpZiAo b3B0cy0+eF9hYXJjaDY0X2JyYW5jaF9wcm90ZWN0aW9uX3N0cmluZykNCisg ICAgew0KKyAgICAgIGFhcmNoNjRfcGFyc2VfYnJhbmNoX3Byb3RlY3Rpb24g KG9wdHMtPnhfYWFyY2g2NF9icmFuY2hfcHJvdGVjdGlvbl9zdHJpbmcsDQor CQkJCQlOVUxMKTsNCisgICAgfQ0KIA0KICAgYWFyY2g2NF9vdmVycmlkZV9v cHRpb25zX2ludGVybmFsIChvcHRzKTsNCiB9DQpAQCAtMTE2ODIsNiArMTE4 ODMsMzQgQEAgYWFyY2g2NF9oYW5kbGVfYXR0cl9jcHUgKGNvbnN0IGNoYXIg KnN0cikNCiAgIHJldHVybiBmYWxzZTsNCiB9DQogDQorLyogSGFuZGxlIHRo ZSBhcmd1bWVudCBTVFIgdG8gdGhlIGJyYW5jaC1wcm90ZWN0aW9uPSBhdHRy aWJ1dGUuICAqLw0KKw0KKyBzdGF0aWMgYm9vbA0KKyBhYXJjaDY0X2hhbmRs ZV9hdHRyX2JyYW5jaF9wcm90ZWN0aW9uIChjb25zdCBjaGFyKiBzdHIpDQor IHsNCisgIGNoYXIgKmVycl9zdHIgPSAoY2hhciAqKSB4bWFsbG9jIChzdHJs ZW4gKHN0cikpOw0KKyAgZW51bSBhYXJjaDY0X3BhcnNlX29wdF9yZXN1bHQg cmVzID0gYWFyY2g2NF9wYXJzZV9icmFuY2hfcHJvdGVjdGlvbiAoc3RyLA0K KwkJCQkJCQkJICAgICAgJmVycl9zdHIpOw0KKyAgc3dpdGNoIChyZXMpDQor ICAgIHsNCisgICAgIGNhc2UgQUFSQ0g2NF9QQVJTRV9NSVNTSU5HX0FSRzoN CisgICAgICAgZXJyb3IgKCJtaXNzaW5nIGFyZ3VtZW50IHRvICU8dGFyZ2V0 KFwiYnJhbmNoLXByb3RlY3Rpb249XCIpJT4gcHJhZ21hIG9yXA0KKwkgICAg ICBhdHRyaWJ1dGUiKTsNCisgICAgICAgYnJlYWs7DQorICAgICBjYXNlIEFB UkNINjRfUEFSU0VfSU5WQUxJRF9BUkc6DQorICAgICAgIGVycm9yICgiaW52 YWxpZCBwcm90ZWN0aW9uIHR5cGUgKFwiJXNcIikgaW4gJTx0YXJnZXQoXCJi cmFuY2gtcHJvdGVjdGlvblwNCisJICAgICAgPVwiKSU+IHByYWdtYSBvciBh dHRyaWJ1dGUiLCBlcnJfc3RyKTsNCisgICAgICAgYWFyY2g2NF9wcmludF9o aW50X2Zvcl9jb3JlIChzdHIpOw0KKyAgICAgICBicmVhazsNCisgICAgIGNh c2UgQUFSQ0g2NF9QQVJTRV9PSzoNCisgICAgICAgcmV0dXJuIHRydWU7DQor ICAgICBkZWZhdWx0Og0KKyAgICAgICBnY2NfdW5yZWFjaGFibGUgKCk7DQor ICAgIH0NCisgIGZyZWUgKGVycl9zdHIpOw0KKyAgcmV0dXJuIGZhbHNlOw0K KyB9DQorDQogLyogSGFuZGxlIHRoZSBhcmd1bWVudCBTVFIgdG8gdGhlIHR1 bmU9IHRhcmdldCBhdHRyaWJ1dGUuICAqLw0KIA0KIHN0YXRpYyBib29sDQpA QCAtMTE3ODAsNiArMTIwMDksOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGFh cmNoNjRfYXR0cmlidXRlX2luZm8gYWFyY2g2NF9hdHRyaWJ1dGVzW10gPQ0K ICAgeyAiY3B1IiwgYWFyY2g2NF9hdHRyX2N1c3RvbSwgZmFsc2UsIGFhcmNo NjRfaGFuZGxlX2F0dHJfY3B1LCBPUFRfbWNwdV8gfSwNCiAgIHsgInR1bmUi LCBhYXJjaDY0X2F0dHJfY3VzdG9tLCBmYWxzZSwgYWFyY2g2NF9oYW5kbGVf YXR0cl90dW5lLA0KICAgICAgT1BUX210dW5lXyB9LA0KKyAgeyAiYnJhbmNo LXByb3RlY3Rpb24iLCBhYXJjaDY0X2F0dHJfY3VzdG9tLCBmYWxzZSwNCisg ICAgIGFhcmNoNjRfaGFuZGxlX2F0dHJfYnJhbmNoX3Byb3RlY3Rpb24sIE9Q VF9tYnJhbmNoX3Byb3RlY3Rpb25fIH0sDQogICB7ICJzaWduLXJldHVybi1h ZGRyZXNzIiwgYWFyY2g2NF9hdHRyX2VudW0sIGZhbHNlLCBOVUxMLA0KICAg ICAgT1BUX21zaWduX3JldHVybl9hZGRyZXNzXyB9LA0KICAgeyBOVUxMLCBh YXJjaDY0X2F0dHJfY3VzdG9tLCBmYWxzZSwgTlVMTCwgT1BUX19fXyB9DQpk aWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQub3B0IGIv Z2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQub3B0DQppbmRleCBiMmU4MGNi ZjZmMWY5NzI3YzQzMDk4NzRiMTEyMmY5NzVmYjZiOWJlLi45NDYwNjM2ZDkz YjY3YWYxNTI1ZjAyODE3NmFhNzhlNmZlZDRlNDVmIDEwMDY0NA0KLS0tIGEv Z2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQub3B0DQorKysgYi9nY2MvY29u ZmlnL2FhcmNoNjQvYWFyY2g2NC5vcHQNCkBAIC0xNDksOCArMTQ5LDEyIEBA IG1wYy1yZWxhdGl2ZS1saXRlcmFsLWxvYWRzDQogVGFyZ2V0IFJlcG9ydCBT YXZlIFZhcihwY3JlbGF0aXZlX2xpdGVyYWxfbG9hZHMpIEluaXQoMikgU2F2 ZQ0KIFBDIHJlbGF0aXZlIGxpdGVyYWwgbG9hZHMuDQogDQorbWJyYW5jaC1w cm90ZWN0aW9uPQ0KK1RhcmdldCBSZWplY3ROZWdhdGl2ZSBKb2luZWQgVmFy KGFhcmNoNjRfYnJhbmNoX3Byb3RlY3Rpb25fc3RyaW5nKSBTYXZlDQorVXNl IGJyYW5jaC1wcm90ZWN0aW9uIGZlYXR1cmVzLg0KKw0KIG1zaWduLXJldHVy bi1hZGRyZXNzPQ0KLVRhcmdldCBSZWplY3ROZWdhdGl2ZSBSZXBvcnQgSm9p bmVkIEVudW0oYWFyY2g2NF9yYV9zaWduX3Njb3BlX3QpIFZhcihhYXJjaDY0 X3JhX3NpZ25fc2NvcGUpIEluaXQoQUFSQ0g2NF9GVU5DVElPTl9OT05FKSBT YXZlDQorVGFyZ2V0IERlcHJlY2F0ZWQgUmVqZWN0TmVnYXRpdmUgSm9pbmVk IEVudW0oYWFyY2g2NF9yYV9zaWduX3Njb3BlX3QpIFZhcihhYXJjaDY0X3Jh X3NpZ25fc2NvcGUpIEluaXQoQUFSQ0g2NF9GVU5DVElPTl9OT05FKSBTYXZl DQogU2VsZWN0IHJldHVybiBhZGRyZXNzIHNpZ25pbmcgc2NvcGUuDQogDQog RW51bQ0KZGlmZiAtLWdpdCBhL2djYy9kb2MvaW52b2tlLnRleGkgYi9nY2Mv ZG9jL2ludm9rZS50ZXhpDQppbmRleCBlMjkwMTI4ZjUzNWYzZTZiNTE1YmZm NWE4MWZhZTBhYTBkMWM4YmFmLi4wN2NmZTY5ZGMzZGQ5MTYxYTJkZDkzMDg5 Y2NmNTJlZjI1MTIwOGQyIDEwMDY0NA0KLS0tIGEvZ2NjL2RvYy9pbnZva2Uu dGV4aQ0KKysrIGIvZ2NjL2RvYy9pbnZva2UudGV4aQ0KQEAgLTYyMiw2ICs2 MjIsNyBAQCBPYmplY3RpdmUtQyBhbmQgT2JqZWN0aXZlLUMrKyBEaWFsZWN0 c30uDQogLW1sb3ctcHJlY2lzaW9uLXJlY2lwLXNxcnQgIC1tbG93LXByZWNp c2lvbi1zcXJ0ICAtbWxvdy1wcmVjaXNpb24tZGl2IEBnb2wNCiAtbXBjLXJl bGF0aXZlLWxpdGVyYWwtbG9hZHMgQGdvbA0KIC1tc2lnbi1yZXR1cm4tYWRk cmVzcz1AdmFye3Njb3BlfSBAZ29sDQorLW1icmFuY2gtcHJvdGVjdGlvbj1A dmFye25vbmV9fEB2YXJ7c3RhbmRhcmR9fEB2YXJ7cGFjLXJldH1bK0B2YXJ7 bGVhZn1dIEBnb2wNCiAtbWFyY2g9QHZhcntuYW1lfSAgLW1jcHU9QHZhcntu YW1lfSAgLW10dW5lPUB2YXJ7bmFtZX0gIEBnb2wNCiAtbW92ZXJyaWRlPUB2 YXJ7c3RyaW5nfSAgLW12ZXJib3NlLWNvc3QtZHVtcCAtbXRyYWNrLXNwZWN1 bGF0aW9ufSANCiANCkBAIC0xNTIyMSwxMyArMTUyMjIsMTggQEAgYWNjZXNz ZWQgdXNpbmcgYSBzaW5nbGUgaW5zdHJ1Y3Rpb24gYW5kIGVtaXR0ZWQgYWZ0 ZXIgZWFjaCBmdW5jdGlvbi4gIFRoaXMNCiBsaW1pdHMgdGhlIG1heGltdW0g c2l6ZSBvZiBmdW5jdGlvbnMgdG8gMU1CLiAgVGhpcyBpcyBlbmFibGVkIGJ5 IGRlZmF1bHQgZm9yDQogQG9wdGlvbnstbWNtb2RlbD10aW55fS4NCiANCi1A aXRlbSAtbXNpZ24tcmV0dXJuLWFkZHJlc3M9QHZhcntzY29wZX0NCi1Ab3Bp bmRleCBtc2lnbi1yZXR1cm4tYWRkcmVzcw0KLVNlbGVjdCB0aGUgZnVuY3Rp b24gc2NvcGUgb24gd2hpY2ggcmV0dXJuIGFkZHJlc3Mgc2lnbmluZyB3aWxs IGJlIGFwcGxpZWQuDQotUGVybWlzc2libGUgdmFsdWVzIGFyZSBAc2FtcHtu b25lfSwgd2hpY2ggZGlzYWJsZXMgcmV0dXJuIGFkZHJlc3Mgc2lnbmluZywN Ci1Ac2FtcHtub24tbGVhZn0sIHdoaWNoIGVuYWJsZXMgcG9pbnRlciBzaWdu aW5nIGZvciBmdW5jdGlvbnMgd2hpY2ggYXJlIG5vdCBsZWFmDQotZnVuY3Rp b25zLCBhbmQgQHNhbXB7YWxsfSwgd2hpY2ggZW5hYmxlcyBwb2ludGVyIHNp Z25pbmcgZm9yIGFsbCBmdW5jdGlvbnMuICBUaGUNCi1kZWZhdWx0IHZhbHVl IGlzIEBzYW1we25vbmV9Lg0KK0BpdGVtIC1tYnJhbmNoLXByb3RlY3Rpb249 QHZhcntub25lfXxAdmFye3N0YW5kYXJkfXxAdmFye3BhYy1yZXR9WytAdmFy e2xlYWZ9XQ0KK0BvcGluZGV4IG1icmFuY2gtcHJvdGVjdGlvbg0KK1NlbGVj dCB0aGUgYnJhbmNoIHByb3RlY3Rpb24gZmVhdHVyZXMgdG8gdXNlLg0KK0Bz YW1we25vbmV9IGlzIHRoZSBkZWZhdWx0IGFuZCB0dXJucyBvZmYgYWxsIHR5 cGVzIG9mIGJyYW5jaCBwcm90ZWN0aW9uLg0KK0BzYW1we3N0YW5kYXJkfSB0 dXJucyBvbiBhbGwgdHlwZXMgb2YgYnJhbmNoIHByb3RlY3Rpb24gZmVhdHVy ZXMuICBJZiBhIGZlYXR1cmUNCitoYXMgYWRkaXRpb25hbCB0dW5pbmcgb3B0 aW9ucywgdGhlbiBAc2FtcHtzdGFuZGFyZH0gc2V0cyBpdCB0byBpdHMgc3Rh bmRhcmQNCitsZXZlbC4NCitAc2FtcHtwYWMtcmV0WytAdmFye2xlYWZ9XX0g dHVybnMgb24gcmV0dXJuIGFkZHJlc3Mgc2lnbmluZyB0byBpdHMgc3RhbmRh cmQNCitsZXZlbDogc2lnbmluZyBmdW5jdGlvbnMgdGhhdCBzYXZlIHRoZSBy ZXR1cm4gYWRkcmVzcyB0byBtZW1vcnkgKG5vbi1sZWFmDQorZnVuY3Rpb25z IHdpbGwgcHJhY3RpY2FsbHkgYWx3YXlzIGRvIHRoaXMpIHVzaW5nIHRoZSBh LWtleS4gIFRoZSBvcHRpb25hbA0KK2FyZ3VtZW50IEBzYW1we2xlYWZ9IGNh biBiZSB1c2VkIHRvIGV4dGVuZCB0aGUgc2lnbmluZyB0byBpbmNsdWRlIGxl YWYNCitmdW5jdGlvbnMuDQogDQogQGl0ZW0gLW1zdmUtdmVjdG9yLWJpdHM9 QHZhcntiaXRzfQ0KIEBvcGluZGV4IG1zdmUtdmVjdG9yLWJpdHMNCkBAIC0x NjI0MSw2ICsxNjI0NywxMCBAQCBWYWx1ZXMgQHNhbXB7YXJjNjAwfSwgQHNh bXB7YXJjNjAxfSwgQHNhbXB7YXJjNzAwfSBhbmQNCiBAb3BpbmRleCBtdWx0 Y29zdA0KIFJlcGxhY2VkIGJ5IEBvcHRpb257LW1tdWx0Y29zdH0uDQogDQor QGl0ZW0gLW1zaWduLXJldHVybi1hZGRyZXNzPUB2YXJ7c2NvcGV9DQorQG9w aW5kZXggbXNpZ24tcmV0dXJuLWFkZHJlc3MNCitSZXBsYWNlZCBieSBAb3B0 aW9uey1tYnJhbmNoLXByb3RlY3Rpb259DQorDQogQGVuZCB0YWJsZQ0KIA0K IEBub2RlIEFSTSBPcHRpb25zDQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L2FhcmNoNjQvcmV0dXJuX2FkZHJlc3Nfc2lnbl8xLmMg Yi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9yZXR1cm5fYWRk cmVzc19zaWduXzEuYw0KaW5kZXggZjg3YzNkMjhkMWVkZmY0NzNhNzg3YTM5 YTQzNmU1NzA3NmY5NzUwOC4uMDE0MGJlZTE5NGY1YTNlYzUzZTc5NDk4NGMy ZjliMGU5NmJkYmI2MyAxMDA2NDQNCi0tLSBhL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9hYXJjaDY0L3JldHVybl9hZGRyZXNzX3NpZ25fMS5jDQorKysg Yi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9yZXR1cm5fYWRk cmVzc19zaWduXzEuYw0KQEAgLTEsNiArMSw2IEBADQogLyogVGVzdGluZyBy ZXR1cm4gYWRkcmVzcyBzaWduaW5nIHdoZXJlIG5vIGNvbWJpbmVkIGluc3Ry dWN0aW9ucyB1c2VkLiAgKi8NCiAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0K LS8qIHsgZGctb3B0aW9ucyAiLU8yIC1tc2lnbi1yZXR1cm4tYWRkcmVzcz1h bGwiIH0gKi8NCisvKiB7IGRnLW9wdGlvbnMgIi1PMiAtbWJyYW5jaC1wcm90 ZWN0aW9uPXBhYy1yZXQrbGVhZiIgfSAqLw0KIC8qIHsgZGctcmVxdWlyZS1l ZmZlY3RpdmUtdGFyZ2V0IGxwNjQgfSAqLw0KIA0KIGludCBmb28gKGludCk7 DQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNo NjQvcmV0dXJuX2FkZHJlc3Nfc2lnbl8yLmMgYi9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvYWFyY2g2NC9yZXR1cm5fYWRkcmVzc19zaWduXzIuYw0KaW5k ZXggYzVjMTQzOWI5MmU2NjM3Zjg1YzQ3YzYxNjFjZDc5N2MwZDY4ZGYyNS4u YTRiYzViNDUzMzM4MmQzZDIxMDg1YTc2MzAyODU3NmY3MjUzMWVkNyAxMDA2 NDQNCi0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3Jl dHVybl9hZGRyZXNzX3NpZ25fMi5jDQorKysgYi9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvYWFyY2g2NC9yZXR1cm5fYWRkcmVzc19zaWduXzIuYw0KQEAg LTEsNiArMSw2IEBADQogLyogVGVzdGluZyByZXR1cm4gYWRkcmVzcyBzaWdu aW5nIHdoZXJlIGNvbWJpbmVkIGluc3RydWN0aW9ucyB1c2VkLiAgKi8NCiAv KiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KLS8qIHsgZGctb3B0aW9ucyAiLU8y IC1tc2lnbi1yZXR1cm4tYWRkcmVzcz1hbGwiIH0gKi8NCisvKiB7IGRnLW9w dGlvbnMgIi1PMiAtbWJyYW5jaC1wcm90ZWN0aW9uPXBhYy1yZXQrbGVhZiIg fSAqLw0KIC8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGxwNjQg fSAqLw0KIA0KIGludCBmb28gKGludCk7DQpkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvcmV0dXJuX2FkZHJlc3Nfc2ln bl8zLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9yZXR1 cm5fYWRkcmVzc19zaWduXzMuYw0KaW5kZXggN2Q5ZWM2ZWViZDFjZTQ1MjAx M2QyODk1YTU1MTY3MWM1OWU5OGYwYy4uZTM5ZWQzNGFiMWMxM2QxMzY4ZjRh NjI1YjRhNDY2ZWI3NjM1NGVmOCAxMDA2NDQNCi0tLSBhL2djYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9hYXJjaDY0L3JldHVybl9hZGRyZXNzX3NpZ25fMy5j DQorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9yZXR1 cm5fYWRkcmVzc19zaWduXzMuYw0KQEAgLTEsMTcgKzEsMTcgQEANCiAvKiBU ZXN0aW5nIHRoZSBkaXNhYmxlIG9mIHJldHVybiBhZGRyZXNzIHNpZ25pbmcu ICAqLw0KIC8qIHsgZGctZG8gY29tcGlsZSB9ICovDQotLyogeyBkZy1vcHRp b25zICItTzIgLW1zaWduLXJldHVybi1hZGRyZXNzPWFsbCIgfSAqLw0KKy8q IHsgZGctb3B0aW9ucyAiLU8yIC1tYnJhbmNoLXByb3RlY3Rpb249cGFjLXJl dCtsZWFmIiB9ICovDQogLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJn ZXQgbHA2NCB9ICovDQogDQogaW50IGJhciAoaW50LCBpbnQpOw0KIA0KLWlu dCBfX2F0dHJpYnV0ZV9fICgodGFyZ2V0ICgiYXJjaD1hcm12OC4zLWEsIHNp Z24tcmV0dXJuLWFkZHJlc3M9bm9uLWxlYWYiKSkpDQoraW50IF9fYXR0cmli dXRlX18gKCh0YXJnZXQgKCJhcmNoPWFybXY4LjMtYSwgYnJhbmNoLXByb3Rl Y3Rpb249cGFjLXJldCIpKSkNCiBmdW5jMV9sZWFmIChpbnQgYSwgaW50IGIs IGludCBjLCBpbnQgZCkNCiB7DQogICByZXR1cm4gYSArIGIgKyBjICsgZDsN CiB9DQogDQotaW50IF9fYXR0cmlidXRlX18gKCh0YXJnZXQgKCJhcmNoPWFy bXY4LjMtYSwgc2lnbi1yZXR1cm4tYWRkcmVzcz1ub25lIikpKQ0KK2ludCBf X2F0dHJpYnV0ZV9fICgodGFyZ2V0ICgiYXJjaD1hcm12OC4zLWEsIGJyYW5j aC1wcm90ZWN0aW9uPW5vbmUiKSkpDQogZnVuYzJfbm9uZSAoaW50IGEsIGlu dCBiLCBpbnQgYywgaW50IGQpDQogew0KICAgcmV0dXJuIGMgKyBiYXIgKGEs IGIpICsgZDsNCg== --_002_67f1be3b0010880e4c81a3781851b94barmcom_--