From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 124503 invoked by alias); 4 Jan 2019 23:57:21 -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 124477 invoked by uid 89); 4 Jan 2019 23:57:20 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.1 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_STOCKGEN,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=occurring, smallest X-HELO: mx0b-0016f401.pphosted.com Received: from mx0b-0016f401.pphosted.com (HELO mx0b-0016f401.pphosted.com) (67.231.156.173) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 04 Jan 2019 23:57:12 +0000 Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x04Nnivc019928; Fri, 4 Jan 2019 15:57:07 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=pfpt0818; bh=RTg7lVGz+y+rQPLNozaxCzSvjaIi5+htQvKVBoI9ZIA=; b=a0X71eGh3EicYfeF2t5cn3/iEWmROeYEqP6qP3iQLVAf4d8dXubVmUrkVaES86ZiPmhk MWRt4t7Yba8Fjx9S49C7xraMZhM4AsMFZPGTquWZzCgn8+gsKmL7PfaBTOmQNesJSUDx pTcfIWv6DYlR+vB9mlwmB2sSuAdkvNEOnO+dW6bNzyqvVuPVgfoTPs1TSN0SX2LeQqX+ cvm4TzEVYbsn62+PctHi2bjh2rz8hkfEYFfmisDq9vluG+SOGCly1TTqDaVMgdVcJMz9 mUE9fxz6WmVGupVSw+4Hbkt1sdhojug86YUqwVzEv5yaxBbOA7pmM4P1ReO+nY8rVCBH tA== Received: from sc-exch02.marvell.com ([199.233.58.182]) by mx0b-0016f401.pphosted.com with ESMTP id 2pt586anfv-5 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Fri, 04 Jan 2019 15:57:07 -0800 Received: from SC-EXCH03.marvell.com (10.93.176.83) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Fri, 4 Jan 2019 15:57:06 -0800 Received: from NAM01-BY2-obe.outbound.protection.outlook.com (104.47.34.51) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Fri, 4 Jan 2019 15:57:06 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RTg7lVGz+y+rQPLNozaxCzSvjaIi5+htQvKVBoI9ZIA=; b=DnHwL24/fNDEe+8YF9j5Y17Q+wHtqetsxExNuD8q5FH+JHJLggjVDEuXOXiSKVAS1/Mwl+3Yom+TW7aPFWnomgf0gCOkWr6J/dmUOgr0pAglXtAGBAYckCEsrM/f7IjU9K7wA8bv+DLWxQUM5497BGfxJ2Uh8BcLycaIL7fCH7Y= Received: from BN6PR1801MB2033.namprd18.prod.outlook.com (10.161.156.162) by BN6PR1801MB1841.namprd18.prod.outlook.com (10.161.156.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1495.6; Fri, 4 Jan 2019 23:57:04 +0000 Received: from BN6PR1801MB2033.namprd18.prod.outlook.com ([fe80::ad18:5add:46aa:8937]) by BN6PR1801MB2033.namprd18.prod.outlook.com ([fe80::ad18:5add:46aa:8937%6]) with mapi id 15.20.1495.005; Fri, 4 Jan 2019 23:57:04 +0000 From: Steve Ellcey To: "sellcey@cavium.com" , "richard.sandiford@arm.com" CC: "gcc-patches@gcc.gnu.org" Subject: Re: [Patch 4/4][Aarch64] v2: Implement Aarch64 SIMD ABI Date: Fri, 04 Jan 2019 23:57:00 -0000 Message-ID: References: <1541699749.12016.9.camel@cavium.com> <87tvjq3kqs.fsf@arm.com> In-Reply-To: <87tvjq3kqs.fsf@arm.com> received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) Content-Type: multipart/mixed; boundary="_002_eac627b8a618bc399928e9e1b10cd0f22763beb5camelmarvellcom_" MIME-Version: 1.0 X-Proofpoint-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1901040197 X-SW-Source: 2019-01/txt/msg00190.txt.bz2 --_002_eac627b8a618bc399928e9e1b10cd0f22763beb5camelmarvellcom_ Content-Type: text/plain; charset="utf-8" Content-ID: <4FA67F415DEED94EBF25F211EC99F9D7@namprd18.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 4689 T24gVGh1LCAyMDE4LTEyLTA2IGF0IDEyOjI1ICswMDAwLCBSaWNoYXJkIFNh bmRpZm9yZCB3cm90ZToNCj4gDQo+IFNpbmNlIHdlJ3JlIGxvb2tpbmcgYXQg dGhlIGNhbGwgaW5zbnMgYW55d2F5LCB3ZSBjb3VsZCBoYXZlIGEgaG9vayB0 aGF0DQo+ICJqb3VzdHMiIHR3byBjYWxscyBhbmQgcGlja3MgdGhlIG9uZSB0 aGF0IHByZXNlcnZlcyAqZmV3ZXIqIHJlZ2lzdGVycy4NCj4gVGhpcyB3b3Vs ZCBtZWFuIHRoYXQgbG9vcCBwcm9kdWNlcyBhIHNpbmdsZSBpbnN0cnVjdGlv biB0aGF0IGNvbnNlcnZhdGl2ZWx5DQo+IGRlc2NyaWJlcyB0aGUgY2FsbC1w cmVzZXJ2ZWQgcmVnaXN0ZXJzLiAgV2UgY291bGQgdGhlbiBzdGFzaCB0aGF0 DQo+IGluc3RydWN0aW9uIGluIGxyYV9yZWcgaW5zdGVhZCBvZiB0aGUgY3Vy cmVudCBjaGVja19wYXJ0X2Nsb2JiZXJlZA0KPiBib29sZWFuLg0KPiANCj4g VGhlIGhvb2sgc2hvdWxkIGJ5IGRlZmF1bHQgYmUgYSBudWxsIHBvaW50ZXIs IHNvIHRoYXQgd2UgY2FuIGF2b2lkDQo+IHRoZSBpbnN0cnVjdGlvbiB3YWxr IG9uIHRhcmdldHMgdGhhdCBkb24ndCBuZWVkIGl0Lg0KPiANCj4gVGhhdCB3 b3VsZCBtZWFuIHRoYXQgTFJBIHdvdWxkIGFsd2F5cyBoYXZlIGEgY2FsbCBp bnN0cnVjdGlvbiB0byBoYW5kDQo+IHdoZW4gYXNraW5nIGFib3V0IGNhbGwt cHJlc2VydmVkIGluZm9ybWF0aW9uLiAgU28gSSB0aGluayB3ZSBzaG91bGQN Cj4gYWRkIGFuIGluc24gcGFyYW1ldGVyIHRvIHRhcmdldG0uaGFyZF9yZWdu b19jYWxsX3BhcnRfY2xvYmJlcmVkLA0KPiB3aXRoIGEgbnVsbCBpbnNuIHNl bGVjdGluZyB0aGUgZGVmYXVsIGJlaGF2aW91ci4gICBJIGtub3cgaXQncw0K PiBnb2luZyB0byBiZSBhIHBhaW4gdG8gdXBkYXRlIGFsbCBjYWxsZXJzIGFu ZCB0YXJnZXRzLCBzb3JyeS4NCg0KUmljaGFyZCwgIGhlcmUgaXMgYW4gdXBk YXRlZCB2ZXJzaW9uIG9mIHRoaXMgcGF0Y2guICBJdCBpcyBub3QNCmNvbXBs ZXRseSB0ZXN0ZWQgeWV0IGJ1dCBJIHdhbnRlZCB0byBzZW5kIHRoaXMgb3V0 IGFuZCBtYWtlDQpzdXJlIGl0IGlzIHdoYXQgeW91IGhhZCBpbiBtaW5kIGFu ZCBzZWUgaWYgeW91IGhhZCBhbnkgY29tbWVudHMgYWJvdXQNCnRoZSBuZXcg dGFyZ2V0IGZ1bmN0aW9uIHdoaWxlIEkgYW0gdGVzdGluZyBpdCAoaW5jbHVk aW5nIGJ1aWxkaW5nDQpzb21lIG9mIHRoZSBvdGhlciB0YXJnZXRzKS4NCg0K U3RldmUgRWxsY2V5DQpzZWxsY2V5QGNhdml1bS5jb20NCg0KDQoyMDE5LTAx LTA0ICBTdGV2ZSBFbGxjZXkgIDxzZWxsY2V5QG1hcnZlbGwuY29tPg0KDQoJ KiBjb25maWcvYWFyY2g2NC9hYXJjaDY0LmMgKGFhcmNoNjRfc2ltZF9jYWxs X3ApOiBOZXcgZnVuY3Rpb24uDQoJKGFhcmNoNjRfaGFyZF9yZWdub19jYWxs X3BhcnRfY2xvYmJlcmVkKTogQWRkIGluc24gYXJndW1lbnQuDQoJKGFhcmNo NjRfcmV0dXJuX2NhbGxfd2l0aF9tYXhfY2xvYmJlcnMpOiBOZXcgZnVuY3Rp b24uDQoJKFRBUkdFVF9SRVRVUk5fQ0FMTF9XSVRIX01BWF9DTE9CQkVSUyk6 IE5ldyBtYWNyby4NCgkqIGNvbmZpZy9hdnIvYXZyLmMgKGF2cl9oYXJkX3Jl Z25vX2NhbGxfcGFydF9jbG9iYmVyZWQpOiBBZGQgaW5zbg0KCWFyZ3VtZW50 Lg0KCSogY29uZmlnL2kzODYvaTM4Ni5jIChpeDg2X2hhcmRfcmVnbm9fY2Fs bF9wYXJ0X2Nsb2JiZXJlZCk6IERpdHRvLg0KCSogY29uZmlnL21pcHMvbWlw cy5jIChtaXBzX2hhcmRfcmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJlZCk6IERp dHRvLg0KCSogY29uZmlnL3JzNjAwMC9yczYwMDAuYyAocnM2MDAwX2hhcmRf cmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJlZCk6IERpdHRvLg0KCSogY29uZmln L3MzOTAvczM5MC5jIChzMzkwX2hhcmRfcmVnbm9fY2FsbF9wYXJ0X2Nsb2Ji ZXJlZCk6IERpdHRvLg0KCSogY3NlbGliLmMgKGNzZWxpYl9wcm9jZXNzX2lu c24pOiBBZGQgYXJndW1lbnQgdG8NCgl0YXJnZXRtLmhhcmRfcmVnbm9fY2Fs bF9wYXJ0X2Nsb2JiZXJlZCBjYWxsLg0KCSogY29uZmxpY3RzLmMgKGlyYV9i dWlsZF9jb25mbGljdHMpOiBEaXR0by4NCgkqIGlyYS1jb3N0cy5jIChpcmFf dHVuZV9hbGxvY25vX2Nvc3RzKTogRGl0dG8uDQoJKiBscmEtY29uc3RyYWlu dHMuYyAoaW5oZXJpdF9yZWxvYWRfcmVnKTogRGl0dG8sIHBsdXMgcmVmYWN0 b3INCglyZXR1cm4gc3RhdGVtZW50Lg0KCSogbHJhLWludC5oIChzdHJ1Y3Qg bHJhX3JlZyk6IEFkZCBjYWxsX2luc24gZmllbGQuDQoJKiBscmEtbGl2ZXMu YyAoY2hlY2tfcHNldWRvc19saXZlX3Rocm91Z2hfY2FsbHMpOiBBZGQgY2Fs bF9pbnNuDQoJYXJndW1lbnQuICBBZGQgYXJndW1lbnQgdG8gdGFyZ2V0bS5o YXJkX3JlZ25vX2NhbGxfcGFydF9jbG9iYmVyZWQNCgljYWxsLg0KCShwcm9j ZXNzX2JiX2xpdmVzKTogVXNlIG5ldyB0YXJnZXQgZnVuY3Rpb24NCgl0YXJn ZXRtLnJldHVybl9jYWxsX3dpdGhfbWF4X2Nsb2JiZXJzIHRvIHNldCBjYWxs X2luc24uDQoJUGFzcyBjYWxsX2luc24gdG8gY2hlY2tfcHNldWRvc19saXZl X3Rocm91Z2hfY2FsbHMuDQoJU2V0IGNhbGxfaW5zbiBpbiBscmFfcmVnX2lu Zm8uDQoJKiBscmEuYyAoaW5pdGlhbGl6ZV9scmFfcmVnX2luZm9fZWxlbWVu dCk6IFNldCBjYWxsX2luc24gdG8gTlVMTC4NCgkqIHJlZ2Nwcm9wLmMgKGNv cHlwcm9wX2hhcmRyZWdfZm9yd2FyZF8xKTogQWRkIGFyZ3VtZW50IHRvDQog ICAgICAgIHRhcmdldG0uaGFyZF9yZWdub19jYWxsX3BhcnRfY2xvYmJlcmVk IGNhbGwuDQoJKiByZWdpbmZvLmMgKGNob29zZV9oYXJkX3JlZ19tb2RlKTog RGl0dG8uDQoJKiByZWdyZW5hbWUuYyAoY2hlY2tfbmV3X3JlZ19wKTogRGl0 dG8uDQoJKiByZWxvYWQuYyAoZmluZF9lcXVpdl9yZWcpOiBEaXR0by4NCgkq IHJlbG9hZDEuYyAoZW1pdF9yZWxvYWRfaW5zbnMpOiBEaXR0by4NCgkqIHNj aGVkLWRlcHMuYyAoZGVwc19hbmFseXplX2luc24pOiBEaXR0by4NCgkqIHNl bC1zY2hlZC5jIChpbml0X3JlZ3NfZm9yX21vZGUpOiBEaXR0by4NCgkobWFy a191bmF2YWlsYWJsZV9oYXJkX3JlZ3MpOiBEaXR0by4NCgkqIHRhcmdob29r cy5jIChkZWZhdWx0X2R3YXJmX2ZyYW1lX3JlZ19tb2RlKTogRGl0dG8uDQoJ KiB0YXJnZXQuZGVmIChoYXJkX3JlZ25vX2NhbGxfcGFydF9jbG9iYmVyZWQp OiBBZGQgaW5zbiBhcmd1bWVudC4NCgkocmV0dXJuX2NhbGxfd2l0aF9tYXhf Y2xvYmJlcnMpOiBOZXcgdGFyZ2V0IGZ1bmN0aW9uLg0KCSogZG9jL3RtLnRl eGk6IFJlZ2VuZXJhdGUuDQoJKiBkb2MvdG0udGV4aS5pbiAoVEFSR0VUX1JF VFVSTl9DQUxMX1dJVEhfTUFYX0NMT0JCRVJTKTogTmV3IGhvb2suDQoJKiBo b29rcy5jIChob29rX2Jvb2xfdWludF9tb2RlX2ZhbHNlKTogQ2hhbmdlIHRv DQoJaG9va19ib29sX2luc25fdWludF9tb2RlX2ZhbHNlLg0KCSogaG9va3Mu aCAoaG9va19ib29sX3VpbnRfbW9kZV9mYWxzZSk6IERpdHRvLg0K --_002_eac627b8a618bc399928e9e1b10cd0f22763beb5camelmarvellcom_ Content-Type: text/x-patch; name="part-clobber.patch" Content-Description: part-clobber.patch Content-Disposition: attachment; filename="part-clobber.patch"; size=24950; creation-date="Fri, 04 Jan 2019 23:57:03 GMT"; modification-date="Fri, 04 Jan 2019 23:57:03 GMT" Content-ID: <0E6EB9C22BB2044DB1C64C1AC09DB0BF@namprd18.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 33823 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LmMgYi9n Y2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC5jCmluZGV4IGM1MDM2YzguLjg3 YWYzMWIgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0 LmMKKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQuYwpAQCAtMTU2 NSwxNiArMTU2NSw1NSBAQCBhYXJjaDY0X3JlZ19zYXZlX21vZGUgKHRyZWUg Zm5kZWNsLCB1bnNpZ25lZCByZWdubykKIAkgICA6IChhYXJjaDY0X3NpbWRf ZGVjbF9wIChmbmRlY2wpID8gRV9URm1vZGUgOiBFX0RGbW9kZSk7CiB9CiAK Ky8qIFJldHVybiB0cnVlIGlmIHRoZSBpbnN0cnVjdGlvbiBpcyBhIGNhbGwg dG8gYSBTSU1EIGZ1bmN0aW9uLCBmYWxzZQorICAgaWYgaXQgaXMgbm90IGEg U0lNRCBmdW5jdGlvbiBvciBpZiB3ZSBkbyBub3Qga25vdyBhbnl0aGluZyBh Ym91dAorICAgdGhlIGZ1bmN0aW9uLiAgKi8KKworc3RhdGljIGJvb2wKK2Fh cmNoNjRfc2ltZF9jYWxsX3AgKHJ0eF9pbnNuICppbnNuKQoreworICBydHgg c3ltYm9sOworICBydHggY2FsbDsKKyAgdHJlZSBmbmRlY2w7CisKKyAgZ2Nj X2Fzc2VydCAoQ0FMTF9QIChpbnNuKSk7CisgIGNhbGwgPSBnZXRfY2FsbF9y dHhfZnJvbSAoaW5zbik7CisgIHN5bWJvbCA9IFhFWFAgKFhFWFAgKGNhbGws IDApLCAwKTsKKyAgaWYgKEdFVF9DT0RFIChzeW1ib2wpICE9IFNZTUJPTF9S RUYpCisgICAgcmV0dXJuIGZhbHNlOworICBmbmRlY2wgPSBTWU1CT0xfUkVG X0RFQ0wgKHN5bWJvbCk7CisgIGlmICghZm5kZWNsKQorICAgIHJldHVybiBm YWxzZTsKKworICByZXR1cm4gYWFyY2g2NF9zaW1kX2RlY2xfcCAoZm5kZWNs KTsKK30KKwogLyogSW1wbGVtZW50IFRBUkdFVF9IQVJEX1JFR05PX0NBTExf UEFSVF9DTE9CQkVSRUQuICBUaGUgY2FsbGVlIG9ubHkgc2F2ZXMKICAgIHRo ZSBsb3dlciA2NCBiaXRzIG9mIGEgMTI4LWJpdCByZWdpc3Rlci4gIFRlbGwg dGhlIGNvbXBpbGVyIHRoZSBjYWxsZWUKICAgIGNsb2JiZXJzIHRoZSB0b3Ag NjQgYml0cyB3aGVuIHJlc3RvcmluZyB0aGUgYm90dG9tIDY0IGJpdHMuICAq LwogCiBzdGF0aWMgYm9vbAotYWFyY2g2NF9oYXJkX3JlZ25vX2NhbGxfcGFy dF9jbG9iYmVyZWQgKHVuc2lnbmVkIGludCByZWdubywgbWFjaGluZV9tb2Rl IG1vZGUpCithYXJjaDY0X2hhcmRfcmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJl ZCAocnR4X2luc24gKmluc24sCisJCQkJCXVuc2lnbmVkIGludCByZWdubywK KwkJCQkJbWFjaGluZV9tb2RlIG1vZGUpCiB7CisgIGlmIChpbnNuICYmIENB TExfUCAoaW5zbikgJiYgYWFyY2g2NF9zaW1kX2NhbGxfcCAoaW5zbikpCisg ICAgcmV0dXJuIGZhbHNlOwogICByZXR1cm4gRlBfUkVHTlVNX1AgKHJlZ25v KSAmJiBtYXliZV9ndCAoR0VUX01PREVfU0laRSAobW9kZSksIDgpOwogfQog CisvKiBJbXBsZW1lbnQgVEFSR0VUX1JFVFVSTl9DQUxMX1dJVEhfTUFYX0NM T0JCRVJTLiAgKi8KKworcnR4X2luc24gKgorYWFyY2g2NF9yZXR1cm5fY2Fs bF93aXRoX21heF9jbG9iYmVycyAocnR4X2luc24gKmNhbGxfMSwgcnR4X2lu c24gKmNhbGxfMikKK3sKKyAgZ2NjX2Fzc2VydCAoQ0FMTF9QIChjYWxsXzEp KTsKKyAgaWYgKChjYWxsXzIgPT0gTlVMTF9SVFgpIHx8IGFhcmNoNjRfc2lt ZF9jYWxsX3AgKGNhbGxfMikpCisgICAgcmV0dXJuIGNhbGxfMTsKKyAgZWxz ZQorICAgIHJldHVybiBjYWxsXzI7Cit9CisKIC8qIEltcGxlbWVudCBSRUdN T0RFX05BVFVSQUxfU0laRS4gICovCiBwb2x5X3VpbnQ2NAogYWFyY2g2NF9y ZWdtb2RlX25hdHVyYWxfc2l6ZSAobWFjaGluZV9tb2RlIG1vZGUpCkBAIC0x ODUyNCw2ICsxODU2MywxMCBAQCBhYXJjaDY0X2xpYmdjY19mbG9hdGluZ19t b2RlX3N1cHBvcnRlZF9wCiAjZGVmaW5lIFRBUkdFVF9IQVJEX1JFR05PX0NB TExfUEFSVF9DTE9CQkVSRUQgXAogICBhYXJjaDY0X2hhcmRfcmVnbm9fY2Fs bF9wYXJ0X2Nsb2JiZXJlZAogCisjdW5kZWYgVEFSR0VUX1JFVFVSTl9DQUxM X1dJVEhfTUFYX0NMT0JCRVJTCisjZGVmaW5lIFRBUkdFVF9SRVRVUk5fQ0FM TF9XSVRIX01BWF9DTE9CQkVSUyBcCisgIGFhcmNoNjRfcmV0dXJuX2NhbGxf d2l0aF9tYXhfY2xvYmJlcnMKKwogI3VuZGVmIFRBUkdFVF9DT05TVEFOVF9B TElHTk1FTlQKICNkZWZpbmUgVEFSR0VUX0NPTlNUQU5UX0FMSUdOTUVOVCBh YXJjaDY0X2NvbnN0YW50X2FsaWdubWVudAogCmRpZmYgLS1naXQgYS9nY2Mv Y29uZmlnL2F2ci9hdnIuYyBiL2djYy9jb25maWcvYXZyL2F2ci5jCmluZGV4 IDAyMzMwOGIuLjJjZjk5M2QgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvYXZy L2F2ci5jCisrKyBiL2djYy9jb25maWcvYXZyL2F2ci5jCkBAIC0xMjE4MSw3 ICsxMjE4MSw5IEBAIGF2cl9oYXJkX3JlZ25vX21vZGVfb2sgKHVuc2lnbmVk IGludCByZWdubywgbWFjaGluZV9tb2RlIG1vZGUpCiAvKiBJbXBsZW1lbnQg VEFSR0VUX0hBUkRfUkVHTk9fQ0FMTF9QQVJUX0NMT0JCRVJFRC4gICovCiAK IHN0YXRpYyBib29sCi1hdnJfaGFyZF9yZWdub19jYWxsX3BhcnRfY2xvYmJl cmVkICh1bnNpZ25lZCByZWdubywgbWFjaGluZV9tb2RlIG1vZGUpCithdnJf aGFyZF9yZWdub19jYWxsX3BhcnRfY2xvYmJlcmVkIChydHhfaW5zbiAqaW5z biBBVFRSSUJVVEVfVU5VU0VELAorCQkJCSAgICB1bnNpZ25lZCByZWdubywK KwkJCQkgICAgbWFjaGluZV9tb2RlIG1vZGUpCiB7CiAgIC8qIEZJWE1FOiBU aGlzIGhvb2sgZ2V0cyBjYWxsZWQgd2l0aCBNT0RFOlJFR05PIGNvbWJpbmF0 aW9ucyB0aGF0IGRvbid0CiAgICAgICAgIHJlcHJlc2VudCB2YWxpZCBoYXJk IHJlZ2lzdGVycyBsaWtlLCBlLmcuIEhJOjI5LiAgUmV0dXJuaW5nIFRSVUUK ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni9pMzg2LmMgYi9nY2MvY29u ZmlnL2kzODYvaTM4Ni5jCmluZGV4IDAxNmQ2ZTMuLjc4ZGM3MjAgMTAwNjQ0 Ci0tLSBhL2djYy9jb25maWcvaTM4Ni9pMzg2LmMKKysrIGIvZ2NjL2NvbmZp Zy9pMzg2L2kzODYuYwpAQCAtNDAxNjEsNyArNDAxNjEsOSBAQCBpeDg2X2hh cmRfcmVnbm9fbW9kZV9vayAodW5zaWduZWQgaW50IHJlZ25vLCBtYWNoaW5l X21vZGUgbW9kZSkKICAgIHRoZSBsb3cgMTYgYnl0ZXMgYXJlIHNhdmVkLiAg Ki8KIAogc3RhdGljIGJvb2wKLWl4ODZfaGFyZF9yZWdub19jYWxsX3BhcnRf Y2xvYmJlcmVkICh1bnNpZ25lZCBpbnQgcmVnbm8sIG1hY2hpbmVfbW9kZSBt b2RlKQoraXg4Nl9oYXJkX3JlZ25vX2NhbGxfcGFydF9jbG9iYmVyZWQgKHJ0 eF9pbnNuICppbnNuIEFUVFJJQlVURV9VTlVTRUQsCisJCQkJICAgICB1bnNp Z25lZCBpbnQgcmVnbm8sCisJCQkJICAgICBtYWNoaW5lX21vZGUgbW9kZSkK IHsKICAgcmV0dXJuIFNTRV9SRUdOT19QIChyZWdubykgJiYgR0VUX01PREVf U0laRSAobW9kZSkgPiAxNjsKIH0KZGlmZiAtLWdpdCBhL2djYy9jb25maWcv bWlwcy9taXBzLmMgYi9nY2MvY29uZmlnL21pcHMvbWlwcy5jCmluZGV4IDk1 ZGM5NDYuLjA1YTJhZGUgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvbWlwcy9t aXBzLmMKKysrIGIvZ2NjL2NvbmZpZy9taXBzL21pcHMuYwpAQCAtMTI5MDYs NyArMTI5MDYsOSBAQCBtaXBzX2hhcmRfcmVnbm9fc2NyYXRjaF9vayAodW5z aWduZWQgaW50IHJlZ25vKQogICAgcmVnaXN0ZXJzIHdpdGggTU9ERSA+IDY0 IGJpdHMgYXJlIHBhcnQgY2xvYmJlcmVkIHRvby4gICovCiAKIHN0YXRpYyBi b29sCi1taXBzX2hhcmRfcmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJlZCAodW5z aWduZWQgaW50IHJlZ25vLCBtYWNoaW5lX21vZGUgbW9kZSkKK21pcHNfaGFy ZF9yZWdub19jYWxsX3BhcnRfY2xvYmJlcmVkIChydHhfaW5zbiAqaW5zbiBB VFRSSUJVVEVfVU5VU0VELAorCQkJCSAgICAgdW5zaWduZWQgaW50IHJlZ25v LAorCQkJCSAgICAgbWFjaGluZV9tb2RlIG1vZGUpCiB7CiAgIGlmIChUQVJH RVRfRkxPQVRYWAogICAgICAgJiYgaGFyZF9yZWdub19ucmVncyAocmVnbm8s IG1vZGUpID09IDEKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL3Jz NjAwMC5jIGIvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLmMKaW5kZXggYTI1 NzU1NC4uNmQxMGQyNCAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAv cnM2MDAwLmMKKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLmMKQEAg LTIxOTcsNyArMjE5Nyw5IEBAIHJzNjAwMF9tb2Rlc190aWVhYmxlX3AgKG1h Y2hpbmVfbW9kZSBtb2RlMSwgbWFjaGluZV9tb2RlIG1vZGUyKQogLyogSW1w bGVtZW50IFRBUkdFVF9IQVJEX1JFR05PX0NBTExfUEFSVF9DTE9CQkVSRUQu ICAqLwogCiBzdGF0aWMgYm9vbAotcnM2MDAwX2hhcmRfcmVnbm9fY2FsbF9w YXJ0X2Nsb2JiZXJlZCAodW5zaWduZWQgaW50IHJlZ25vLCBtYWNoaW5lX21v ZGUgbW9kZSkKK3JzNjAwMF9oYXJkX3JlZ25vX2NhbGxfcGFydF9jbG9iYmVy ZWQgKHJ0eF9pbnNuICppbnNuIEFUVFJJQlVURV9VTlVTRUQsCisJCQkJICAg ICAgIHVuc2lnbmVkIGludCByZWdubywKKwkJCQkgICAgICAgbWFjaGluZV9t b2RlIG1vZGUpCiB7CiAgIGlmIChUQVJHRVRfMzJCSVQKICAgICAgICYmIFRB UkdFVF9QT1dFUlBDNjQKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvczM5MC9z MzkwLmMgYi9nY2MvY29uZmlnL3MzOTAvczM5MC5jCmluZGV4IGVhMmJlMTAu LjVmOTQxZDkgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvczM5MC9zMzkwLmMK KysrIGIvZ2NjL2NvbmZpZy9zMzkwL3MzOTAuYwpAQCAtMTAwOTgsNyArMTAw OTgsOSBAQCBzMzkwX2hhcmRfcmVnbm9fc2NyYXRjaF9vayAodW5zaWduZWQg aW50IHJlZ25vKQogICAgYnl0ZXMgYXJlIHNhdmVkIGFjcm9zcyBjYWxscywg aG93ZXZlci4gICovCiAKIHN0YXRpYyBib29sCi1zMzkwX2hhcmRfcmVnbm9f Y2FsbF9wYXJ0X2Nsb2JiZXJlZCAodW5zaWduZWQgaW50IHJlZ25vLCBtYWNo aW5lX21vZGUgbW9kZSkKK3MzOTBfaGFyZF9yZWdub19jYWxsX3BhcnRfY2xv YmJlcmVkIChydHhfaW5zbiAqaW5zbiBBVFRSSUJVVEVfVU5VU0VELAorCQkJ CSAgICAgdW5zaWduZWQgaW50IHJlZ25vLAorCQkJCSAgICAgbWFjaGluZV9t b2RlIG1vZGUpCiB7CiAgIGlmICghVEFSR0VUXzY0QklUCiAgICAgICAmJiBU QVJHRVRfWkFSQ0gKZGlmZiAtLWdpdCBhL2djYy9jc2VsaWIuYyBiL2djYy9j c2VsaWIuYwppbmRleCBjZWY0YmMwLi44NGMxN2MyIDEwMDY0NAotLS0gYS9n Y2MvY3NlbGliLmMKKysrIGIvZ2NjL2NzZWxpYi5jCkBAIC0yNzcwLDcgKzI3 NzAsNyBAQCBjc2VsaWJfcHJvY2Vzc19pbnNuIChydHhfaW5zbiAqaW5zbikK IAlpZiAoY2FsbF91c2VkX3JlZ3NbaV0KIAkgICAgfHwgKFJFR19WQUxVRVMg KGkpICYmIFJFR19WQUxVRVMgKGkpLT5lbHQKIAkJJiYgKHRhcmdldG0uaGFy ZF9yZWdub19jYWxsX3BhcnRfY2xvYmJlcmVkCi0JCSAgICAoaSwgR0VUX01P REUgKFJFR19WQUxVRVMgKGkpLT5lbHQtPnZhbF9ydHgpKSkpKQorCQkgICAg KGluc24sIGksIEdFVF9NT0RFIChSRUdfVkFMVUVTIChpKS0+ZWx0LT52YWxf cnR4KSkpKSkKIAkgIGNzZWxpYl9pbnZhbGlkYXRlX3JlZ25vIChpLCByZWdf cmF3X21vZGVbaV0pOwogCiAgICAgICAvKiBTaW5jZSBpdCBpcyBub3QgY2xl YXIgaG93IGNzZWxpYiBpcyBnb2luZyB0byBiZSB1c2VkLCBiZQpkaWZmIC0t Z2l0IGEvZ2NjL2RvYy90bS50ZXhpIGIvZ2NjL2RvYy90bS50ZXhpCmluZGV4 IGVkYzA5MDIuLjA3MTcxZTUgMTAwNjQ0Ci0tLSBhL2djYy9kb2MvdG0udGV4 aQorKysgYi9nY2MvZG9jL3RtLnRleGkKQEAgLTE4OTQsNyArMTg5NCw3IEBA IG9mIEBjb2Rle0NBTExfVVNFRF9SRUdJU1RFUlN9LgogQGNpbmRleCBjYWxs LXVzZWQgcmVnaXN0ZXIKIEBjaW5kZXggY2FsbC1jbG9iYmVyZWQgcmVnaXN0 ZXIKIEBjaW5kZXggY2FsbC1zYXZlZCByZWdpc3RlcgotQGRlZnR5cGVmbiB7 VGFyZ2V0IEhvb2t9IGJvb2wgVEFSR0VUX0hBUkRfUkVHTk9fQ0FMTF9QQVJU X0NMT0JCRVJFRCAodW5zaWduZWQgaW50IEB2YXJ7cmVnbm99LCBtYWNoaW5l X21vZGUgQHZhcnttb2RlfSkKK0BkZWZ0eXBlZm4ge1RhcmdldCBIb29rfSBi b29sIFRBUkdFVF9IQVJEX1JFR05PX0NBTExfUEFSVF9DTE9CQkVSRUQgKHJ0 eF9pbnNuICpAdmFye30sIHVuc2lnbmVkIGludCBAdmFye3JlZ25vfSwgbWFj aGluZV9tb2RlIEB2YXJ7bW9kZX0pCiBUaGlzIGhvb2sgc2hvdWxkIHJldHVy biB0cnVlIGlmIEB2YXJ7cmVnbm99IGlzIHBhcnRseSBjYWxsLXNhdmVkIGFu ZAogcGFydGx5IGNhbGwtY2xvYmJlcmVkLCBhbmQgaWYgYSB2YWx1ZSBvZiBt b2RlIEB2YXJ7bW9kZX0gd291bGQgYmUgcGFydGx5CiBjbG9iYmVyZWQgYnkg YSBjYWxsLiAgRm9yIGV4YW1wbGUsIGlmIHRoZSBsb3cgMzIgYml0cyBvZiBA dmFye3JlZ25vfSBhcmUKQEAgLTE5MDUsNiArMTkwNSwxNyBAQCBUaGUgZGVm YXVsdCBpbXBsZW1lbnRhdGlvbiByZXR1cm5zIGZhbHNlLCB3aGljaCBpcyBj b3JyZWN0CiBmb3IgdGFyZ2V0cyB0aGF0IGRvbid0IGhhdmUgcGFydGx5IGNh bGwtY2xvYmJlcmVkIHJlZ2lzdGVycy4KIEBlbmQgZGVmdHlwZWZuCiAKK0Bk ZWZ0eXBlZm4ge1RhcmdldCBIb29rfSB7cnR4X2luc24gKn0gVEFSR0VUX1JF VFVSTl9DQUxMX1dJVEhfTUFYX0NMT0JCRVJTIChydHhfaW5zbiAqQHZhcntj YWxsXzF9LCBydHhfaW5zbiAqQHZhcntjYWxsXzJ9KQorVGhpcyBob29rIHJl dHVybnMgYSBwb2ludGVyIHRvIHRoZSBjYWxsIHRoYXQgcGFydGlhbGx5IGNs b2JiZXJzIHRoZQorbW9zdCByZWdpc3RlcnMuICBJZiBhIHBsYXRmb3JtIHN1 cHBvcnRzIG11bHRpcGxlIEFCSXMgd2hlcmUgdGhlIHJlZ2lzdGVycwordGhh dCBhcmUgcGFydGlhbGx5IGNsb2JiZXJlZCBtYXkgdmFyeSwgdGhpcyBmdW5j dGlvbiBjb21wYXJlcyB0d28KK3R3byBjYWxscyBhbmQgcmV0dXJuIGEgcG9p bnRlciB0byB0aGUgb25lIHRoYXQgY2xvYmJlcnMgdGhlIG1vc3QgcmVnaXN0 ZXJzLgorCitUaGUgcmVnaXN0ZXJzIGNsb2JiZXJlZCBpbiBkaWZmZXJlbnQg QUJJcyBtdXN0IGJlIGEgcHJvcGVyIHN1YnNldCBvcgorc3VwZXJzZXQgb2Yg YWxsIG90aGVyIEFCSXMuICBAdmFye2NhbGxfMX0gbXVzdCBhbHdheXMgYmUg YSBjYWxsIGluc24sCitjYWxsXzIgbWF5IGJlIE5VTEwgb3IgYSBjYWxsIGlu c24uCitAZW5kIGRlZnR5cGVmbgorCiBAZmluZGV4IGZpeGVkX3JlZ3MKIEBm aW5kZXggY2FsbF91c2VkX3JlZ3MKIEBmaW5kZXggZ2xvYmFsX3JlZ3MKQEAg LTI5MTksNyArMjkzMCw3IEBAIHRoZSBsb2NhbCBhbmNob3IgY291bGQgYmUg c2hhcmVkIGJ5IG90aGVyIGFjY2Vzc2VzIHRvIG5lYXJieSBsb2NhdGlvbnMu CiAKIFRoZSBob29rIHJldHVybnMgdHJ1ZSBpZiBpdCBzdWNjZWVkcywgc3Rv cmluZyB0aGUgb2Zmc2V0IG9mIHRoZQogYW5jaG9yIGZyb20gdGhlIGJhc2Ug aW4gQHZhcntvZmZzZXQxfSBhbmQgdGhlIG9mZnNldCBvZiB0aGUgZmluYWwg YWRkcmVzcwotZnJvbSB0aGUgYW5jaG9yIGluIEB2YXJ7b2Zmc2V0Mn0uICBU aGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiByZXR1cm5zIGZhbHNlLgorZnJv bSB0aGUgYW5jaG9yIGluIEB2YXJ7b2Zmc2V0Mn0uICBlaGUgZGVmbnVsdCBp bXBsZW1lbnRhdGlvbiByZXR1cm5zIGZhbHNlLgogQGVuZCBkZWZ0eXBlZm4K IAogQGRlZnR5cGVmbiB7VGFyZ2V0IEhvb2t9IHJlZ19jbGFzc190IFRBUkdF VF9TUElMTF9DTEFTUyAocmVnX2NsYXNzX3QsIEB2YXJ7bWFjaGluZV9tb2Rl fSkKZGlmZiAtLWdpdCBhL2djYy9kb2MvdG0udGV4aS5pbiBiL2djYy9kb2Mv dG0udGV4aS5pbgppbmRleCA5NzZhNzAwLi45N2EyYWRlIDEwMDY0NAotLS0g YS9nY2MvZG9jL3RtLnRleGkuaW4KKysrIGIvZ2NjL2RvYy90bS50ZXhpLmlu CkBAIC0xNzA3LDYgKzE3MDcsOCBAQCBvZiBAY29kZXtDQUxMX1VTRURfUkVH SVNURVJTfS4KIEBjaW5kZXggY2FsbC1zYXZlZCByZWdpc3RlcgogQGhvb2sg VEFSR0VUX0hBUkRfUkVHTk9fQ0FMTF9QQVJUX0NMT0JCRVJFRAogCitAaG9v ayBUQVJHRVRfUkVUVVJOX0NBTExfV0lUSF9NQVhfQ0xPQkJFUlMKKwogQGZp bmRleCBmaXhlZF9yZWdzCiBAZmluZGV4IGNhbGxfdXNlZF9yZWdzCiBAZmlu ZGV4IGdsb2JhbF9yZWdzCmRpZmYgLS1naXQgYS9nY2MvaG9va3MuYyBiL2dj Yy9ob29rcy5jCmluZGV4IGJiYzM1ZmMuLmY5NTY1OWIgMTAwNjQ0Ci0tLSBh L2djYy9ob29rcy5jCisrKyBiL2djYy9ob29rcy5jCkBAIC0xNDIsNyArMTQy LDcgQEAgaG9va19ib29sX3B1aW50NjRfcHVpbnQ2NF90cnVlIChwb2x5X3Vp bnQ2NCwgcG9seV91aW50NjQpCiAKIC8qIEdlbmVyaWMgaG9vayB0aGF0IHRh a2VzICh1bnNpZ25lZCBpbnQsIG1hY2hpbmVfbW9kZSkgYW5kIHJldHVybnMg ZmFsc2UuICAqLwogYm9vbAotaG9va19ib29sX3VpbnRfbW9kZV9mYWxzZSAo dW5zaWduZWQgaW50LCBtYWNoaW5lX21vZGUpCitob29rX2Jvb2xfaW5zbl91 aW50X21vZGVfZmFsc2UgKHJ0eF9pbnNuICosIHVuc2lnbmVkIGludCwgbWFj aGluZV9tb2RlKQogewogICByZXR1cm4gZmFsc2U7CiB9CmRpZmYgLS1naXQg YS9nY2MvaG9va3MuaCBiL2djYy9ob29rcy5oCmluZGV4IDllNGJjMjkuLmRj NmIyZTEgMTAwNjQ0Ci0tLSBhL2djYy9ob29rcy5oCisrKyBiL2djYy9ob29r cy5oCkBAIC00MCw3ICs0MCw5IEBAIGV4dGVybiBib29sIGhvb2tfYm9vbF9j b25zdF9ydHhfaW5zbl9jb25zdF9ydHhfaW5zbl90cnVlIChjb25zdCBydHhf aW5zbiAqLAogZXh0ZXJuIGJvb2wgaG9va19ib29sX21vZGVfdWh3aV9mYWxz ZSAobWFjaGluZV9tb2RlLAogCQkJCSAgICAgICB1bnNpZ25lZCBIT1NUX1dJ REVfSU5UKTsKIGV4dGVybiBib29sIGhvb2tfYm9vbF9wdWludDY0X3B1aW50 NjRfdHJ1ZSAocG9seV91aW50NjQsIHBvbHlfdWludDY0KTsKLWV4dGVybiBi b29sIGhvb2tfYm9vbF91aW50X21vZGVfZmFsc2UgKHVuc2lnbmVkIGludCwg bWFjaGluZV9tb2RlKTsKK2V4dGVybiBib29sIGhvb2tfYm9vbF9pbnNuX3Vp bnRfbW9kZV9mYWxzZSAocnR4X2luc24gKiwKKwkJCQkJICAgIHVuc2lnbmVk IGludCwKKwkJCQkJICAgIG1hY2hpbmVfbW9kZSk7CiBleHRlcm4gYm9vbCBo b29rX2Jvb2xfdWludF9tb2RlX3RydWUgKHVuc2lnbmVkIGludCwgbWFjaGlu ZV9tb2RlKTsKIGV4dGVybiBib29sIGhvb2tfYm9vbF90cmVlX2ZhbHNlICh0 cmVlKTsKIGV4dGVybiBib29sIGhvb2tfYm9vbF9jb25zdF90cmVlX2ZhbHNl IChjb25zdF90cmVlKTsKZGlmZiAtLWdpdCBhL2djYy9pcmEtY29uZmxpY3Rz LmMgYi9nY2MvaXJhLWNvbmZsaWN0cy5jCmluZGV4IGI1NzQ2OGIuLmI2OTdl NTcgMTAwNjQ0Ci0tLSBhL2djYy9pcmEtY29uZmxpY3RzLmMKKysrIGIvZ2Nj L2lyYS1jb25mbGljdHMuYwpAQCAtODA4LDcgKzgwOCw4IEBAIGlyYV9idWls ZF9jb25mbGljdHMgKHZvaWQpCiAJCSByZWdzIG11c3QgY29uZmxpY3Qgd2l0 aCB0aGVtLiAgKi8KIAkgICAgICBmb3IgKHJlZ25vID0gMDsgcmVnbm8gPCBG SVJTVF9QU0VVRE9fUkVHSVNURVI7IHJlZ25vKyspCiAJCWlmICghVEVTVF9I QVJEX1JFR19CSVQgKGNhbGxfdXNlZF9yZWdfc2V0LCByZWdubykKLQkJICAg ICYmIHRhcmdldG0uaGFyZF9yZWdub19jYWxsX3BhcnRfY2xvYmJlcmVkIChy ZWdubywKKwkJICAgICYmIHRhcmdldG0uaGFyZF9yZWdub19jYWxsX3BhcnRf Y2xvYmJlcmVkIChOVUxMLAorCQkJCQkJCSAgICAgICByZWdubywKIAkJCQkJ CQkgICAgICAgb2JqX21vZGUpKQogCQkgIHsKIAkJICAgIFNFVF9IQVJEX1JF R19CSVQgKE9CSkVDVF9DT05GTElDVF9IQVJEX1JFR1MgKG9iaiksIHJlZ25v KTsKZGlmZiAtLWdpdCBhL2djYy9pcmEtY29zdHMuYyBiL2djYy9pcmEtY29z dHMuYwppbmRleCBlNWQ4ODA0Li43ZjYwNzEyIDEwMDY0NAotLS0gYS9nY2Mv aXJhLWNvc3RzLmMKKysrIGIvZ2NjL2lyYS1jb3N0cy5jCkBAIC0yMzc5LDcg KzIzNzksOCBAQCBpcmFfdHVuZV9hbGxvY25vX2Nvc3RzICh2b2lkKQogCQkJ CQkJICAgKmNyb3NzZWRfY2FsbHNfY2xvYmJlcl9yZWdzKQogCQkgICYmIChp cmFfaGFyZF9yZWdfc2V0X2ludGVyc2VjdGlvbl9wIChyZWdubywgbW9kZSwK IAkJCQkJCSAgICAgICBjYWxsX3VzZWRfcmVnX3NldCkKLQkJICAgICAgfHwg dGFyZ2V0bS5oYXJkX3JlZ25vX2NhbGxfcGFydF9jbG9iYmVyZWQgKHJlZ25v LAorCQkgICAgICB8fCB0YXJnZXRtLmhhcmRfcmVnbm9fY2FsbF9wYXJ0X2Ns b2JiZXJlZCAoTlVMTCwKKwkJCQkJCQkJIHJlZ25vLAogCQkJCQkJCQkgbW9k ZSkpKQogCQljb3N0ICs9IChBTExPQ05PX0NBTExfRlJFUSAoYSkKIAkJCSAq IChpcmFfbWVtb3J5X21vdmVfY29zdFttb2RlXVtyY2xhc3NdWzBdCmRpZmYg LS1naXQgYS9nY2MvbHJhLWNvbnN0cmFpbnRzLmMgYi9nY2MvbHJhLWNvbnN0 cmFpbnRzLmMKaW5kZXggN2ZmY2QzNS4uMzFhNTY3YSAxMDA2NDQKLS0tIGEv Z2NjL2xyYS1jb25zdHJhaW50cy5jCisrKyBiL2djYy9scmEtY29uc3RyYWlu dHMuYwpAQCAtNTM2OCwxNiArNTM2OCwyNCBAQCBpbmhlcml0X3JlbG9hZF9y ZWcgKGJvb2wgZGVmX3AsIGludCBvcmlnaW5hbF9yZWdubywKIHN0YXRpYyBp bmxpbmUgYm9vbAogbmVlZF9mb3JfY2FsbF9zYXZlX3AgKGludCByZWdubykK IHsKKyAgbWFjaGluZV9tb2RlIHBtb2RlID0gUFNFVURPX1JFR05PX01PREUg KHJlZ25vKTsKKyAgaW50IG5ld19yZWdubyA9IHJlZ19yZW51bWJlcltyZWdu b107CisKICAgbHJhX2Fzc2VydCAocmVnbm8gPj0gRklSU1RfUFNFVURPX1JF R0lTVEVSICYmIHJlZ19yZW51bWJlcltyZWdub10gPj0gMCk7Ci0gIHJldHVy biAodXNhZ2VfaW5zbnNbcmVnbm9dLmNhbGxzX251bSA8IGNhbGxzX251bQot CSAgJiYgKG92ZXJsYXBzX2hhcmRfcmVnX3NldF9wCi0JICAgICAgKChmbGFn X2lwYV9yYSAmJgotCQkhIGhhcmRfcmVnX3NldF9lbXB0eV9wIChscmFfcmVn X2luZm9bcmVnbm9dLmFjdHVhbF9jYWxsX3VzZWRfcmVnX3NldCkpCi0JICAg ICAgID8gbHJhX3JlZ19pbmZvW3JlZ25vXS5hY3R1YWxfY2FsbF91c2VkX3Jl Z19zZXQKLQkgICAgICAgOiBjYWxsX3VzZWRfcmVnX3NldCwKLQkgICAgICAg UFNFVURPX1JFR05PX01PREUgKHJlZ25vKSwgcmVnX3JlbnVtYmVyW3JlZ25v XSkKLQkgICAgICB8fCAodGFyZ2V0bS5oYXJkX3JlZ25vX2NhbGxfcGFydF9j bG9iYmVyZWQKLQkJICAocmVnX3JlbnVtYmVyW3JlZ25vXSwgUFNFVURPX1JF R05PX01PREUgKHJlZ25vKSkpKSk7CisKKyAgaWYgKHVzYWdlX2luc25zW3Jl Z25vXS5jYWxsc19udW0gPj0gY2FsbHNfbnVtKQorICAgIHJldHVybiBmYWxz ZTsKKworICBpZiAoZmxhZ19pcGFfcmEKKyAgICAgICYmICFoYXJkX3JlZ19z ZXRfZW1wdHlfcCAobHJhX3JlZ19pbmZvW3JlZ25vXS5hY3R1YWxfY2FsbF91 c2VkX3JlZ19zZXQpKQorICAgIHJldHVybiAob3ZlcmxhcHNfaGFyZF9yZWdf c2V0X3AKKwkJKGxyYV9yZWdfaW5mb1tyZWdub10uYWN0dWFsX2NhbGxfdXNl ZF9yZWdfc2V0LCBwbW9kZSwgbmV3X3JlZ25vKQorCSAgICB8fCB0YXJnZXRt LmhhcmRfcmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJlZAorCQkobHJhX3JlZ19p bmZvW3JlZ25vXS5jYWxsX2luc24sIG5ld19yZWdubywgcG1vZGUpKTsKKyAg ZWxzZQorICAgIHJldHVybiAob3ZlcmxhcHNfaGFyZF9yZWdfc2V0X3AgKGNh bGxfdXNlZF9yZWdfc2V0LCBwbW9kZSwgbmV3X3JlZ25vKQorICAgICAgICAg ICAgfHwgdGFyZ2V0bS5oYXJkX3JlZ25vX2NhbGxfcGFydF9jbG9iYmVyZWQK KwkJKGxyYV9yZWdfaW5mb1tyZWdub10uY2FsbF9pbnNuLCBuZXdfcmVnbm8s IHBtb2RlKSk7CiB9CiAKIC8qIEdsb2JhbCByZWdpc3RlcnMgb2NjdXJyaW5n IGluIHRoZSBjdXJyZW50IEVCQi4gICovCmRpZmYgLS1naXQgYS9nY2MvbHJh LWludC5oIGIvZ2NjL2xyYS1pbnQuaAppbmRleCA5ZDllODFkLi5jY2M3YjAw IDEwMDY0NAotLS0gYS9nY2MvbHJhLWludC5oCisrKyBiL2djYy9scmEtaW50 LmgKQEAgLTExNyw2ICsxMTcsOCBAQCBzdHJ1Y3QgbHJhX3JlZwogICAvKiBU aGlzIG1lbWJlciBpcyBzZXQgdXAgaW4gbHJhLWxpdmVzLmMgZm9yIHN1YnNl cXVlbnQKICAgICAgYXNzaWdubWVudHMuICAqLwogICBscmFfY29weV90IGNv cGllczsKKyAgLyogQ2FsbCBpbnN0cnVjdGlvbiB0aGF0IG1heSBhZmZlY3Qg dGhpcyByZWdpc3Rlci4gICovCisgIHJ0eF9pbnNuICpjYWxsX2luc247CiB9 OwogCiAvKiBSZWZlcmVuY2VzIHRvIHRoZSBjb21tb24gaW5mbyBhYm91dCBl YWNoIHJlZ2lzdGVyLiAgKi8KZGlmZiAtLWdpdCBhL2djYy9scmEtbGl2ZXMu YyBiL2djYy9scmEtbGl2ZXMuYwppbmRleCA3YjYwNjkxLi5mYWZiOWUzIDEw MDY0NAotLS0gYS9nY2MvbHJhLWxpdmVzLmMKKysrIGIvZ2NjL2xyYS1saXZl cy5jCkBAIC01NzksNyArNTc5LDggQEAgbHJhX3NldHVwX3JlbG9hZF9wc2V1 ZG9fcHJlZmVyZW5jZWRfaGFyZF9yZWcgKGludCByZWdubywKICAgIFBTRVVE T1NfTElWRV9USFJPVUdIX0NBTExTIGFuZCBQU0VVRE9TX0xJVkVfVEhST1VH SF9TRVRKVU1QUy4gICovCiBzdGF0aWMgaW5saW5lIHZvaWQKIGNoZWNrX3Bz ZXVkb3NfbGl2ZV90aHJvdWdoX2NhbGxzIChpbnQgcmVnbm8sCi0JCQkJICBI QVJEX1JFR19TRVQgbGFzdF9jYWxsX3VzZWRfcmVnX3NldCkKKwkJCQkgIEhB UkRfUkVHX1NFVCBsYXN0X2NhbGxfdXNlZF9yZWdfc2V0LAorCQkJCSAgcnR4 X2luc24gKmNhbGxfaW5zbikKIHsKICAgaW50IGhyOwogCkBAIC01OTAsNyAr NTkxLDggQEAgY2hlY2tfcHNldWRvc19saXZlX3Rocm91Z2hfY2FsbHMgKGlu dCByZWdubywKIAkJICAgIGxhc3RfY2FsbF91c2VkX3JlZ19zZXQpOwogCiAg IGZvciAoaHIgPSAwOyBIQVJEX1JFR0lTVEVSX05VTV9QIChocik7IGhyKysp Ci0gICAgaWYgKHRhcmdldG0uaGFyZF9yZWdub19jYWxsX3BhcnRfY2xvYmJl cmVkIChociwKKyAgICBpZiAodGFyZ2V0bS5oYXJkX3JlZ25vX2NhbGxfcGFy dF9jbG9iYmVyZWQgKGNhbGxfaW5zbiwKKwkJCQkJCWhyLAogCQkJCQkJUFNF VURPX1JFR05PX01PREUgKHJlZ25vKSkpCiAgICAgICBhZGRfdG9faGFyZF9y ZWdfc2V0ICgmbHJhX3JlZ19pbmZvW3JlZ25vXS5jb25mbGljdF9oYXJkX3Jl Z3MsCiAJCQkgICBQU0VVRE9fUkVHTk9fTU9ERSAocmVnbm8pLCBocik7CkBA IC02MzUsNiArNjM3LDcgQEAgcHJvY2Vzc19iYl9saXZlcyAoYmFzaWNfYmxv Y2sgYmIsIGludCAmY3Vycl9wb2ludCwgYm9vbCBkZWFkX2luc25fcCkKICAg cnR4IGxpbmssICpsaW5rX2xvYzsKICAgYm9vbCBuZWVkX2N1cnJfcG9pbnRf aW5jcjsKICAgSEFSRF9SRUdfU0VUIGxhc3RfY2FsbF91c2VkX3JlZ19zZXQ7 CisgIHJ0eF9pbnNuICpjYWxsX2luc247CiAKICAgcmVnX2xpdmVfb3V0ID0g ZGZfZ2V0X2xpdmVfb3V0IChiYik7CiAgIHNwYXJzZXNldF9jbGVhciAocHNl dWRvc19saXZlKTsKQEAgLTY1OCw2ICs2NjEsMTcgQEAgcHJvY2Vzc19iYl9s aXZlcyAoYmFzaWNfYmxvY2sgYmIsIGludCAmY3Vycl9wb2ludCwgYm9vbCBk ZWFkX2luc25fcCkKICAgaWYgKGxyYV9kdW1wX2ZpbGUgIT0gTlVMTCkKICAg ICBmcHJpbnRmIChscmFfZHVtcF9maWxlLCAiICBCQiAlZFxuIiwgYmItPmlu ZGV4KTsKIAorICBjYWxsX2luc24gPSBOVUxMOworICBpZiAodGFyZ2V0bS5y ZXR1cm5fY2FsbF93aXRoX21heF9jbG9iYmVycykKKyAgICB7CisgICAgICBG T1JfQkJfSU5TTlNfUkVWRVJTRV9TQUZFIChiYiwgY3Vycl9pbnNuLCBuZXh0 KQorCXsKKwkgIGlmIChDQUxMX1AgKGN1cnJfaW5zbikpCisJICAgIGNhbGxf aW5zbiA9IHRhcmdldG0ucmV0dXJuX2NhbGxfd2l0aF9tYXhfY2xvYmJlcnMg KGN1cnJfaW5zbiwKKwkJCQkJCQkgICAgICAgY2FsbF9pbnNuKTsKKwl9Cisg ICAgfQorCiAgIC8qIFNjYW4gdGhlIGNvZGUgb2YgdGhpcyBiYXNpYyBibG9j aywgbm90aW5nIHdoaWNoIHBzZXVkb3MgYW5kIGhhcmQKICAgICAgcmVncyBh cmUgYm9ybiBvciBkaWUuCiAKQEAgLTg0Nyw3ICs4NjEsOCBAQCBwcm9jZXNz X2JiX2xpdmVzIChiYXNpY19ibG9jayBiYiwgaW50ICZjdXJyX3BvaW50LCBi b29sIGRlYWRfaW5zbl9wKQogCSAgICAgIHVwZGF0ZV9wc2V1ZG9fcG9pbnQg KHJlZy0+cmVnbm8sIGN1cnJfcG9pbnQsIFVTRV9QT0lOVCk7CiAJICAgICAg bWFya19yZWdub19saXZlIChyZWctPnJlZ25vLCByZWctPmJpZ2dlc3RfbW9k ZSk7CiAJICAgICAgY2hlY2tfcHNldWRvc19saXZlX3Rocm91Z2hfY2FsbHMg KHJlZy0+cmVnbm8sCi0JCQkJCQlsYXN0X2NhbGxfdXNlZF9yZWdfc2V0KTsK KwkJCQkJCWxhc3RfY2FsbF91c2VkX3JlZ19zZXQsCisJCQkJCQljYWxsX2lu c24pOwogCSAgICB9CiAKIAkgIGlmICghSEFSRF9SRUdJU1RFUl9OVU1fUCAo cmVnLT5yZWdubykpCkBAIC05MTIsOSArOTI3LDEzIEBAIHByb2Nlc3NfYmJf bGl2ZXMgKGJhc2ljX2Jsb2NrIGJiLCBpbnQgJmN1cnJfcG9pbnQsIGJvb2wg ZGVhZF9pbnNuX3ApCiAJCXsKIAkJICBJT1JfSEFSRF9SRUdfU0VUIChscmFf cmVnX2luZm9bal0uYWN0dWFsX2NhbGxfdXNlZF9yZWdfc2V0LAogCQkJCSAg ICB0aGlzX2NhbGxfdXNlZF9yZWdfc2V0KTsKKworCQkgIGxyYV9yZWdfaW5m b1tqXS5jYWxsX2luc24gPSBjdXJyX2luc247CisKIAkJICBpZiAoZmx1c2gp Ci0JCSAgICBjaGVja19wc2V1ZG9zX2xpdmVfdGhyb3VnaF9jYWxscwotCQkg ICAgICAoaiwgbGFzdF9jYWxsX3VzZWRfcmVnX3NldCk7CisJCSAgICBjaGVj a19wc2V1ZG9zX2xpdmVfdGhyb3VnaF9jYWxscyAoaiwKKwkJCQkJCSAgICAg IGxhc3RfY2FsbF91c2VkX3JlZ19zZXQsCisJCQkJCQkgICAgICBjYWxsX2lu c24pOwogCQl9CiAJICAgICAgQ09QWV9IQVJEX1JFR19TRVQobGFzdF9jYWxs X3VzZWRfcmVnX3NldCwgdGhpc19jYWxsX3VzZWRfcmVnX3NldCk7CiAJICAg IH0KQEAgLTk1Niw3ICs5NzUsOCBAQCBwcm9jZXNzX2JiX2xpdmVzIChiYXNp Y19ibG9jayBiYiwgaW50ICZjdXJyX3BvaW50LCBib29sIGRlYWRfaW5zbl9w KQogCSAgICAgIHVwZGF0ZV9wc2V1ZG9fcG9pbnQgKHJlZy0+cmVnbm8sIGN1 cnJfcG9pbnQsIFVTRV9QT0lOVCk7CiAJICAgIG1hcmtfcmVnbm9fbGl2ZSAo cmVnLT5yZWdubywgcmVnLT5iaWdnZXN0X21vZGUpOwogCSAgICBjaGVja19w c2V1ZG9zX2xpdmVfdGhyb3VnaF9jYWxscyAocmVnLT5yZWdubywKLQkJCQkJ ICAgICAgbGFzdF9jYWxsX3VzZWRfcmVnX3NldCk7CisJCQkJCSAgICAgIGxh c3RfY2FsbF91c2VkX3JlZ19zZXQsCisJCQkJCSAgICAgIGNhbGxfaW5zbik7 CiAJICB9CiAKICAgICAgIGZvciAocmVnID0gY3Vycl9zdGF0aWNfaWQtPmhh cmRfcmVnczsgcmVnICE9IE5VTEw7IHJlZyA9IHJlZy0+bmV4dCkKQEAgLTEx MjUsNyArMTE0NSw3IEBAIHByb2Nlc3NfYmJfbGl2ZXMgKGJhc2ljX2Jsb2Nr IGJiLCBpbnQgJmN1cnJfcG9pbnQsIGJvb2wgZGVhZF9pbnNuX3ApCiAgICAg ICBpZiAoc3BhcnNlc2V0X2NhcmRpbmFsaXR5IChwc2V1ZG9zX2xpdmVfdGhy b3VnaF9jYWxscykgPT0gMCkKIAlicmVhazsKICAgICAgIGlmIChzcGFyc2Vz ZXRfYml0X3AgKHBzZXVkb3NfbGl2ZV90aHJvdWdoX2NhbGxzLCBqKSkKLQlj aGVja19wc2V1ZG9zX2xpdmVfdGhyb3VnaF9jYWxscyAoaiwgbGFzdF9jYWxs X3VzZWRfcmVnX3NldCk7CisJY2hlY2tfcHNldWRvc19saXZlX3Rocm91Z2hf Y2FsbHMgKGosIGxhc3RfY2FsbF91c2VkX3JlZ19zZXQsIGNhbGxfaW5zbik7 CiAgICAgfQogCiAgIGZvciAoaSA9IDA7IEhBUkRfUkVHSVNURVJfTlVNX1Ag KGkpOyArK2kpCmRpZmYgLS1naXQgYS9nY2MvbHJhLmMgYi9nY2MvbHJhLmMK aW5kZXggNzVlZTc0Mi4uYjBlOTk5ZiAxMDA2NDQKLS0tIGEvZ2NjL2xyYS5j CisrKyBiL2djYy9scmEuYwpAQCAtMTM0NCw2ICsxMzQ0LDcgQEAgaW5pdGlh bGl6ZV9scmFfcmVnX2luZm9fZWxlbWVudCAoaW50IGkpCiAgIGxyYV9yZWdf aW5mb1tpXS52YWwgPSBnZXRfbmV3X3JlZ192YWx1ZSAoKTsKICAgbHJhX3Jl Z19pbmZvW2ldLm9mZnNldCA9IDA7CiAgIGxyYV9yZWdfaW5mb1tpXS5jb3Bp ZXMgPSBOVUxMOworICBscmFfcmVnX2luZm9baV0uY2FsbF9pbnNuID0gTlVM TDsKIH0KIAogLyogSW5pdGlhbGl6ZSBjb21tb24gcmVnIGluZm8gYW5kIGNv cGllcy4gICovCmRpZmYgLS1naXQgYS9nY2MvcmVnY3Byb3AuYyBiL2djYy9y ZWdjcHJvcC5jCmluZGV4IGIxMDdlYTIuLmU2YmRlYjAgMTAwNjQ0Ci0tLSBh L2djYy9yZWdjcHJvcC5jCisrKyBiL2djYy9yZWdjcHJvcC5jCkBAIC0xMDU0 LDcgKzEwNTQsNyBAQCBjb3B5cHJvcF9oYXJkcmVnX2ZvcndhcmRfMSAoYmFz aWNfYmxvY2sgYmIsIHN0cnVjdCB2YWx1ZV9kYXRhICp2ZCkKIAkgIGZvciAo cmVnbm8gPSAwOyByZWdubyA8IEZJUlNUX1BTRVVET19SRUdJU1RFUjsgcmVn bm8rKykKIAkgICAgaWYgKChURVNUX0hBUkRfUkVHX0JJVCAocmVnc19pbnZh bGlkYXRlZF9ieV90aGlzX2NhbGwsIHJlZ25vKQogCQkgfHwgKHRhcmdldG0u aGFyZF9yZWdub19jYWxsX3BhcnRfY2xvYmJlcmVkCi0JCSAgICAgKHJlZ25v LCB2ZC0+ZVtyZWdub10ubW9kZSkpKQorCQkgICAgIChpbnNuLCByZWdubywg dmQtPmVbcmVnbm9dLm1vZGUpKSkKIAkJJiYgKHJlZ25vIDwgc2V0X3JlZ25v IHx8IHJlZ25vID49IHNldF9yZWdubyArIHNldF9ucmVncykpCiAJICAgICAg a2lsbF92YWx1ZV9yZWdubyAocmVnbm8sIDEsIHZkKTsKIApkaWZmIC0tZ2l0 IGEvZ2NjL3JlZ2luZm8uYyBiL2djYy9yZWdpbmZvLmMKaW5kZXggN2E3ZmE0 ZC4uMzE1YzVlYyAxMDA2NDQKLS0tIGEvZ2NjL3JlZ2luZm8uYworKysgYi9n Y2MvcmVnaW5mby5jCkBAIC02MzksNyArNjM5LDcgQEAgY2hvb3NlX2hhcmRf cmVnX21vZGUgKHVuc2lnbmVkIGludCByZWdubyBBVFRSSUJVVEVfVU5VU0VE LAogICAgIGlmIChoYXJkX3JlZ25vX25yZWdzIChyZWdubywgbW9kZSkgPT0g bnJlZ3MKIAkmJiB0YXJnZXRtLmhhcmRfcmVnbm9fbW9kZV9vayAocmVnbm8s IG1vZGUpCiAJJiYgKCFjYWxsX3NhdmVkCi0JICAgIHx8ICF0YXJnZXRtLmhh cmRfcmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJlZCAocmVnbm8sIG1vZGUpKQor CSAgICB8fCAhdGFyZ2V0bS5oYXJkX3JlZ25vX2NhbGxfcGFydF9jbG9iYmVy ZWQgKE5VTEwsIHJlZ25vLCBtb2RlKSkKIAkmJiBtYXliZV9ndCAoR0VUX01P REVfU0laRSAobW9kZSksIEdFVF9NT0RFX1NJWkUgKGZvdW5kX21vZGUpKSkK ICAgICAgIGZvdW5kX21vZGUgPSBtb2RlOwogCkBAIC02NDcsNyArNjQ3LDcg QEAgY2hvb3NlX2hhcmRfcmVnX21vZGUgKHVuc2lnbmVkIGludCByZWdubyBB VFRSSUJVVEVfVU5VU0VELAogICAgIGlmIChoYXJkX3JlZ25vX25yZWdzIChy ZWdubywgbW9kZSkgPT0gbnJlZ3MKIAkmJiB0YXJnZXRtLmhhcmRfcmVnbm9f bW9kZV9vayAocmVnbm8sIG1vZGUpCiAJJiYgKCFjYWxsX3NhdmVkCi0JICAg IHx8ICF0YXJnZXRtLmhhcmRfcmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJlZCAo cmVnbm8sIG1vZGUpKQorCSAgICB8fCAhdGFyZ2V0bS5oYXJkX3JlZ25vX2Nh bGxfcGFydF9jbG9iYmVyZWQgKE5VTEwsIHJlZ25vLCBtb2RlKSkKIAkmJiBt YXliZV9ndCAoR0VUX01PREVfU0laRSAobW9kZSksIEdFVF9NT0RFX1NJWkUg KGZvdW5kX21vZGUpKSkKICAgICAgIGZvdW5kX21vZGUgPSBtb2RlOwogCkBA IC02NTUsNyArNjU1LDcgQEAgY2hvb3NlX2hhcmRfcmVnX21vZGUgKHVuc2ln bmVkIGludCByZWdubyBBVFRSSUJVVEVfVU5VU0VELAogICAgIGlmIChoYXJk X3JlZ25vX25yZWdzIChyZWdubywgbW9kZSkgPT0gbnJlZ3MKIAkmJiB0YXJn ZXRtLmhhcmRfcmVnbm9fbW9kZV9vayAocmVnbm8sIG1vZGUpCiAJJiYgKCFj YWxsX3NhdmVkCi0JICAgIHx8ICF0YXJnZXRtLmhhcmRfcmVnbm9fY2FsbF9w YXJ0X2Nsb2JiZXJlZCAocmVnbm8sIG1vZGUpKQorCSAgICB8fCAhdGFyZ2V0 bS5oYXJkX3JlZ25vX2NhbGxfcGFydF9jbG9iYmVyZWQgKE5VTEwsIHJlZ25v LCBtb2RlKSkKIAkmJiBtYXliZV9ndCAoR0VUX01PREVfU0laRSAobW9kZSks IEdFVF9NT0RFX1NJWkUgKGZvdW5kX21vZGUpKSkKICAgICAgIGZvdW5kX21v ZGUgPSBtb2RlOwogCkBAIC02NjMsNyArNjYzLDcgQEAgY2hvb3NlX2hhcmRf cmVnX21vZGUgKHVuc2lnbmVkIGludCByZWdubyBBVFRSSUJVVEVfVU5VU0VE LAogICAgIGlmIChoYXJkX3JlZ25vX25yZWdzIChyZWdubywgbW9kZSkgPT0g bnJlZ3MKIAkmJiB0YXJnZXRtLmhhcmRfcmVnbm9fbW9kZV9vayAocmVnbm8s IG1vZGUpCiAJJiYgKCFjYWxsX3NhdmVkCi0JICAgIHx8ICF0YXJnZXRtLmhh cmRfcmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJlZCAocmVnbm8sIG1vZGUpKQor CSAgICB8fCAhdGFyZ2V0bS5oYXJkX3JlZ25vX2NhbGxfcGFydF9jbG9iYmVy ZWQgKE5VTEwsIHJlZ25vLCBtb2RlKSkKIAkmJiBtYXliZV9ndCAoR0VUX01P REVfU0laRSAobW9kZSksIEdFVF9NT0RFX1NJWkUgKGZvdW5kX21vZGUpKSkK ICAgICAgIGZvdW5kX21vZGUgPSBtb2RlOwogCkBAIC02NzcsNyArNjc3LDcg QEAgY2hvb3NlX2hhcmRfcmVnX21vZGUgKHVuc2lnbmVkIGludCByZWdubyBB VFRSSUJVVEVfVU5VU0VELAogICAgICAgaWYgKGhhcmRfcmVnbm9fbnJlZ3Mg KHJlZ25vLCBtb2RlKSA9PSBucmVncwogCSAgJiYgdGFyZ2V0bS5oYXJkX3Jl Z25vX21vZGVfb2sgKHJlZ25vLCBtb2RlKQogCSAgJiYgKCFjYWxsX3NhdmVk Ci0JICAgICAgfHwgIXRhcmdldG0uaGFyZF9yZWdub19jYWxsX3BhcnRfY2xv YmJlcmVkIChyZWdubywgbW9kZSkpKQorCSAgICAgIHx8ICF0YXJnZXRtLmhh cmRfcmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJlZCAoTlVMTCwgcmVnbm8sIG1v ZGUpKSkKIAlyZXR1cm4gbW9kZTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL2dj Yy9yZWdyZW5hbWUuYyBiL2djYy9yZWdyZW5hbWUuYwppbmRleCBhMTgwY2Vk Li4xMDlhZGQwIDEwMDY0NAotLS0gYS9nY2MvcmVncmVuYW1lLmMKKysrIGIv Z2NjL3JlZ3JlbmFtZS5jCkBAIC0zMzksOSArMzM5LDkgQEAgY2hlY2tfbmV3 X3JlZ19wIChpbnQgcmVnIEFUVFJJQlVURV9VTlVTRUQsIGludCBuZXdfcmVn LAogCSAmJiAhIERFQlVHX0lOU05fUCAodG1wLT5pbnNuKSkKIAl8fCAodGhp c19oZWFkLT5uZWVkX2NhbGxlcl9zYXZlX3JlZwogCSAgICAmJiAhICh0YXJn ZXRtLmhhcmRfcmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJlZAotCQkgIChyZWcs IEdFVF9NT0RFICgqdG1wLT5sb2MpKSkKKwkJICAodG1wLT5pbnNuLCByZWcs IEdFVF9NT0RFICgqdG1wLT5sb2MpKSkKIAkgICAgJiYgKHRhcmdldG0uaGFy ZF9yZWdub19jYWxsX3BhcnRfY2xvYmJlcmVkCi0JCShuZXdfcmVnLCBHRVRf TU9ERSAoKnRtcC0+bG9jKSkpKSkKKwkJKHRtcC0+aW5zbiwgbmV3X3JlZywg R0VUX01PREUgKCp0bXAtPmxvYykpKSkpCiAgICAgICByZXR1cm4gZmFsc2U7 CiAKICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9nY2MvcmVsb2FkLmMg Yi9nY2MvcmVsb2FkLmMKaW5kZXggNmNmZDVlMi4uMGNjODJkMCAxMDA2NDQK LS0tIGEvZ2NjL3JlbG9hZC5jCisrKyBiL2djYy9yZWxvYWQuYwpAQCAtNjkx MiwxMyArNjkxMiwxNiBAQCBmaW5kX2VxdWl2X3JlZyAocnR4IGdvYWwsIHJ0 eF9pbnNuICppbnNuLCBlbnVtIHJlZ19jbGFzcyByY2xhc3MsIGludCBvdGhl ciwKIAkgIGlmIChyZWdubyA+PSAwICYmIHJlZ25vIDwgRklSU1RfUFNFVURP X1JFR0lTVEVSKQogCSAgICBmb3IgKGkgPSAwOyBpIDwgbnJlZ3M7ICsraSkK IAkgICAgICBpZiAoY2FsbF91c2VkX3JlZ3NbcmVnbm8gKyBpXQotCQkgIHx8 IHRhcmdldG0uaGFyZF9yZWdub19jYWxsX3BhcnRfY2xvYmJlcmVkIChyZWdu byArIGksIG1vZGUpKQorCQkgIHx8IHRhcmdldG0uaGFyZF9yZWdub19jYWxs X3BhcnRfY2xvYmJlcmVkIChwLAorCQkJCQkJCSAgICAgcmVnbm8gKyBpLAor CQkJCQkJCSAgICAgbW9kZSkpCiAJCXJldHVybiAwOwogCiAJICBpZiAodmFs dWVubyA+PSAwICYmIHZhbHVlbm8gPCBGSVJTVF9QU0VVRE9fUkVHSVNURVIp CiAJICAgIGZvciAoaSA9IDA7IGkgPCB2YWx1ZW5yZWdzOyArK2kpCiAJICAg ICAgaWYgKGNhbGxfdXNlZF9yZWdzW3ZhbHVlbm8gKyBpXQotCQkgIHx8IHRh cmdldG0uaGFyZF9yZWdub19jYWxsX3BhcnRfY2xvYmJlcmVkICh2YWx1ZW5v ICsgaSwKKwkJICB8fCB0YXJnZXRtLmhhcmRfcmVnbm9fY2FsbF9wYXJ0X2Ns b2JiZXJlZCAocCwKKwkJCQkJCQkgICAgIHZhbHVlbm8gKyBpLAogCQkJCQkJ CSAgICAgbW9kZSkpCiAJCXJldHVybiAwOwogCX0KZGlmZiAtLWdpdCBhL2dj Yy9yZWxvYWQxLmMgYi9nY2MvcmVsb2FkMS5jCmluZGV4IGI3MDM0MDIuLjU0 OTBhZTUgMTAwNjQ0Ci0tLSBhL2djYy9yZWxvYWQxLmMKKysrIGIvZ2NjL3Jl bG9hZDEuYwpAQCAtODI4OSw3ICs4Mjg5LDggQEAgZW1pdF9yZWxvYWRfaW5z bnMgKHN0cnVjdCBpbnNuX2NoYWluICpjaGFpbikKIAkJCSAgIDogb3V0X3Jl Z25vICsgayk7CiAJCSAgICAgIHJlZ19yZWxvYWRlZF9pbnNuW3JlZ25vICsg a10gPSBpbnNuOwogCQkgICAgICBTRVRfSEFSRF9SRUdfQklUIChyZWdfcmVs b2FkZWRfdmFsaWQsIHJlZ25vICsgayk7Ci0JCSAgICAgIGlmICh0YXJnZXRt LmhhcmRfcmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJlZCAocmVnbm8gKyBrLAor CQkgICAgICBpZiAodGFyZ2V0bS5oYXJkX3JlZ25vX2NhbGxfcGFydF9jbG9i YmVyZWQgKGluc24sCisJCQkJCQkJCSAgcmVnbm8gKyBrLAogCQkJCQkJCQkg IG1vZGUpKQogCQkJU0VUX0hBUkRfUkVHX0JJVCAocmVnX3JlbG9hZGVkX2Nh bGxfcGFydF9jbG9iYmVyZWQsCiAJCQkJCSAgcmVnbm8gKyBrKTsKQEAgLTgz NjksNyArODM3MCw4IEBAIGVtaXRfcmVsb2FkX2luc25zIChzdHJ1Y3QgaW5z bl9jaGFpbiAqY2hhaW4pCiAJCQkgICA6IGluX3JlZ25vICsgayk7CiAJCSAg ICAgIHJlZ19yZWxvYWRlZF9pbnNuW3JlZ25vICsga10gPSBpbnNuOwogCQkg ICAgICBTRVRfSEFSRF9SRUdfQklUIChyZWdfcmVsb2FkZWRfdmFsaWQsIHJl Z25vICsgayk7Ci0JCSAgICAgIGlmICh0YXJnZXRtLmhhcmRfcmVnbm9fY2Fs bF9wYXJ0X2Nsb2JiZXJlZCAocmVnbm8gKyBrLAorCQkgICAgICBpZiAodGFy Z2V0bS5oYXJkX3JlZ25vX2NhbGxfcGFydF9jbG9iYmVyZWQgKGluc24sCisJ CQkJCQkJCSAgcmVnbm8gKyBrLAogCQkJCQkJCQkgIG1vZGUpKQogCQkJU0VU X0hBUkRfUkVHX0JJVCAocmVnX3JlbG9hZGVkX2NhbGxfcGFydF9jbG9iYmVy ZWQsCiAJCQkJCSAgcmVnbm8gKyBrKTsKQEAgLTg0ODUsNyArODQ4Nyw3IEBA IGVtaXRfcmVsb2FkX2luc25zIChzdHJ1Y3QgaW5zbl9jaGFpbiAqY2hhaW4p CiAJCSAgICAgIENMRUFSX0hBUkRfUkVHX0JJVCAocmVnX3JlbG9hZGVkX2Rl YWQsIHNyY19yZWdubyArIGspOwogCQkgICAgICBTRVRfSEFSRF9SRUdfQklU IChyZWdfcmVsb2FkZWRfdmFsaWQsIHNyY19yZWdubyArIGspOwogCQkgICAg ICBpZiAodGFyZ2V0bS5oYXJkX3JlZ25vX2NhbGxfcGFydF9jbG9iYmVyZWQK LQkJCSAgKHNyY19yZWdubyArIGssIG1vZGUpKQorCQkJICAoaW5zbiwgc3Jj X3JlZ25vICsgaywgbW9kZSkpCiAJCQlTRVRfSEFSRF9SRUdfQklUIChyZWdf cmVsb2FkZWRfY2FsbF9wYXJ0X2Nsb2JiZXJlZCwKIAkJCQkJICBzcmNfcmVn bm8gKyBrKTsKIAkJICAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvZ2NjL3NjaGVk LWRlcHMuYyBiL2djYy9zY2hlZC1kZXBzLmMKaW5kZXggZTE1Y2YwOC4uNTNj MmUyNiAxMDA2NDQKLS0tIGEvZ2NjL3NjaGVkLWRlcHMuYworKysgYi9nY2Mv c2NoZWQtZGVwcy5jCkBAIC0zNzI4LDcgKzM3MjgsOCBAQCBkZXBzX2FuYWx5 emVfaW5zbiAoc3RydWN0IGRlcHNfZGVzYyAqZGVwcywgcnR4X2luc24gKmlu c24pCiAgICAgICAgICAgICAgU2luY2Ugd2Ugb25seSBoYXZlIGEgY2hvaWNl IGJldHdlZW4gJ21pZ2h0IGJlIGNsb2JiZXJlZCcKICAgICAgICAgICAgICBh bmQgJ2RlZmluaXRlbHkgbm90IGNsb2JiZXJlZCcsIHdlIG11c3QgaW5jbHVk ZSBhbGwKICAgICAgICAgICAgICBwYXJ0bHkgY2FsbC1jbG9iYmVyZWQgcmVn aXN0ZXJzIGhlcmUuICAqLwotCSAgICBlbHNlIGlmICh0YXJnZXRtLmhhcmRf cmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJlZCAoaSwKKwkgICAgZWxzZSBpZiAo dGFyZ2V0bS5oYXJkX3JlZ25vX2NhbGxfcGFydF9jbG9iYmVyZWQgKGluc24s CisJCQkJCQkJICAgICBpLAogCQkJCQkJCSAgICAgcmVnX3Jhd19tb2RlW2ld KQogICAgICAgICAgICAgICAgICAgICAgfHwgVEVTVF9IQVJEX1JFR19CSVQg KHJlZ3NfaW52YWxpZGF0ZWRfYnlfY2FsbCwgaSkpCiAgICAgICAgICAgICAg IFNFVF9SRUdOT19SRUdfU0VUIChyZWdfcGVuZGluZ19jbG9iYmVycywgaSk7 CmRpZmYgLS1naXQgYS9nY2Mvc2VsLXNjaGVkLmMgYi9nY2Mvc2VsLXNjaGVk LmMKaW5kZXggMmJhZTZlZi4uYzZiNDU5MyAxMDA2NDQKLS0tIGEvZ2NjL3Nl bC1zY2hlZC5jCisrKyBiL2djYy9zZWwtc2NoZWQuYwpAQCAtMTEwMiw3ICsx MTAyLDcgQEAgaW5pdF9yZWdzX2Zvcl9tb2RlIChtYWNoaW5lX21vZGUgbW9k ZSkKICAgICAgIGlmIChpID49IDApCiAgICAgICAgIGNvbnRpbnVlOwogCi0g ICAgICBpZiAodGFyZ2V0bS5oYXJkX3JlZ25vX2NhbGxfcGFydF9jbG9iYmVy ZWQgKGN1cl9yZWcsIG1vZGUpKQorICAgICAgaWYgKHRhcmdldG0uaGFyZF9y ZWdub19jYWxsX3BhcnRfY2xvYmJlcmVkIChOVUxMLCBjdXJfcmVnLCBtb2Rl KSkKICAgICAgICAgU0VUX0hBUkRfUkVHX0JJVCAoc2VsX2hyZC5yZWdzX2Zv cl9jYWxsX2Nsb2JiZXJlZFttb2RlXSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgY3VyX3JlZyk7CiAKQEAgLTEyNTEsNyArMTI1MSw3IEBAIG1hcmtf dW5hdmFpbGFibGVfaGFyZF9yZWdzIChkZWZfdCBkZWYsIHN0cnVjdCByZWdf cmVuYW1lICpyZWdfcmVuYW1lX3AsCiAKICAgLyogRXhjbHVkZSByZWdpc3Rl cnMgdGhhdCBhcmUgcGFydGlhbGx5IGNhbGwgY2xvYmJlcmVkLiAgKi8KICAg aWYgKGRlZi0+Y3Jvc3Nlc19jYWxsCi0gICAgICAmJiAhdGFyZ2V0bS5oYXJk X3JlZ25vX2NhbGxfcGFydF9jbG9iYmVyZWQgKHJlZ25vLCBtb2RlKSkKKyAg ICAgICYmICF0YXJnZXRtLmhhcmRfcmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJl ZCAoTlVMTCwgcmVnbm8sIG1vZGUpKQogICAgIEFORF9DT01QTF9IQVJEX1JF R19TRVQgKHJlZ19yZW5hbWVfcC0+YXZhaWxhYmxlX2Zvcl9yZW5hbWluZywK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxfaHJkLnJlZ3NfZm9y X2NhbGxfY2xvYmJlcmVkW21vZGVdKTsKIApkaWZmIC0tZ2l0IGEvZ2NjL3Rh cmdldC5kZWYgYi9nY2MvdGFyZ2V0LmRlZgppbmRleCBlOGYwZjcwLi5lY2Iw ZWE3IDEwMDY0NAotLS0gYS9nY2MvdGFyZ2V0LmRlZgorKysgYi9nY2MvdGFy Z2V0LmRlZgpAQCAtNTc3Miw4ICs1NzcyLDIxIEBAIHJldHVybiB0cnVlIGZv ciBhIDY0LWJpdCBtb2RlIGJ1dCBmYWxzZSBmb3IgYSAzMi1iaXQgbW9kZS5c blwKIFxuXAogVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gcmV0dXJucyBm YWxzZSwgd2hpY2ggaXMgY29ycmVjdFxuXAogZm9yIHRhcmdldHMgdGhhdCBk b24ndCBoYXZlIHBhcnRseSBjYWxsLWNsb2JiZXJlZCByZWdpc3RlcnMuIiwK LSBib29sLCAodW5zaWduZWQgaW50IHJlZ25vLCBtYWNoaW5lX21vZGUgbW9k ZSksCi0gaG9va19ib29sX3VpbnRfbW9kZV9mYWxzZSkKKyBib29sLCAocnR4 X2luc24gKiwgdW5zaWduZWQgaW50IHJlZ25vLCBtYWNoaW5lX21vZGUgbW9k ZSksCisgaG9va19ib29sX2luc25fdWludF9tb2RlX2ZhbHNlKQorCitERUZI T09LCisocmV0dXJuX2NhbGxfd2l0aF9tYXhfY2xvYmJlcnMsCisgIlRoaXMg aG9vayByZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgY2FsbCB0aGF0IHBhcnRp YWxseSBjbG9iYmVycyB0aGVcblwKK21vc3QgcmVnaXN0ZXJzLiAgSWYgYSBw bGF0Zm9ybSBzdXBwb3J0cyBtdWx0aXBsZSBBQklzIHdoZXJlIHRoZSByZWdp c3RlcnNcblwKK3RoYXQgYXJlIHBhcnRpYWxseSBjbG9iYmVyZWQgbWF5IHZh cnksIHRoaXMgZnVuY3Rpb24gY29tcGFyZXMgdHdvXG5cCit0d28gY2FsbHMg YW5kIHJldHVybiBhIHBvaW50ZXIgdG8gdGhlIG9uZSB0aGF0IGNsb2JiZXJz IHRoZSBtb3N0IHJlZ2lzdGVycy5cblwKK1xuXAorVGhlIHJlZ2lzdGVycyBj bG9iYmVyZWQgaW4gZGlmZmVyZW50IEFCSXMgbXVzdCBiZSBhIHByb3BlciBz dWJzZXQgb3JcblwKK3N1cGVyc2V0IG9mIGFsbCBvdGhlciBBQklzLiAgQHZh cntjYWxsXzF9IG11c3QgYWx3YXlzIGJlIGEgY2FsbCBpbnNuLFxuXAorY2Fs bF8yIG1heSBiZSBOVUxMIG9yIGEgY2FsbCBpbnNuLiIsCisgcnR4X2luc24g KiwgKHJ0eF9pbnNuICpjYWxsXzEsIHJ0eF9pbnNuICpjYWxsXzIpLAorIE5V TEwpCiAKIC8qIFJldHVybiB0aGUgc21hbGxlc3QgbnVtYmVyIG9mIGRpZmZl cmVudCB2YWx1ZXMgZm9yIHdoaWNoIGl0IGlzIGJlc3QgdG8KICAgIHVzZSBh IGp1bXAtdGFibGUgaW5zdGVhZCBvZiBhIHRyZWUgb2YgY29uZGl0aW9uYWwg YnJhbmNoZXMuICAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3Rhcmdob29rcy5jIGIv Z2NjL3Rhcmdob29rcy5jCmluZGV4IDg5ODg0OGYuLjJjYmRjNGEgMTAwNjQ0 Ci0tLSBhL2djYy90YXJnaG9va3MuYworKysgYi9nY2MvdGFyZ2hvb2tzLmMK QEAgLTE5MzAsNyArMTkzMCw3IEBAIGRlZmF1bHRfZHdhcmZfZnJhbWVfcmVn X21vZGUgKGludCByZWdubykKIHsKICAgbWFjaGluZV9tb2RlIHNhdmVfbW9k ZSA9IHJlZ19yYXdfbW9kZVtyZWdub107CiAKLSAgaWYgKHRhcmdldG0uaGFy ZF9yZWdub19jYWxsX3BhcnRfY2xvYmJlcmVkIChyZWdubywgc2F2ZV9tb2Rl KSkKKyAgaWYgKHRhcmdldG0uaGFyZF9yZWdub19jYWxsX3BhcnRfY2xvYmJl cmVkIChOVUxMLCByZWdubywgc2F2ZV9tb2RlKSkKICAgICBzYXZlX21vZGUg PSBjaG9vc2VfaGFyZF9yZWdfbW9kZSAocmVnbm8sIDEsIHRydWUpOwogICBy ZXR1cm4gc2F2ZV9tb2RlOwogfQo= --_002_eac627b8a618bc399928e9e1b10cd0f22763beb5camelmarvellcom_--