From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 61547 invoked by alias); 8 Nov 2018 17:52:28 -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 61523 invoked by uid 89); 8 Nov 2018 17:52:27 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-24.5 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_ASCII_DIVIDERS,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=bc, ac X-HELO: NAM03-BY2-obe.outbound.protection.outlook.com Received: from mail-by2nam03on0053.outbound.protection.outlook.com (HELO NAM03-BY2-obe.outbound.protection.outlook.com) (104.47.42.53) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 08 Nov 2018 17:52:23 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xNuQnrXVzgZ6VdhMitGWsqqO1clfEBE8Aou7s0uklSY=; b=Mp3rY6r2o1g2Ur8lJzBcBzKayTFSs+P/szKHNg7ak3WZfSdy5kdlp1tJMQWE3LLSyYIta78BzBpXYma9jVx6jAYzVNxvpnrDc7tP2ZU29oplwoaIBS3AR37eTddxhxzLla2cJK70f81bEsGkyCuE/CAOVo8zdwjpmwgg+9fGLk8= Received: from BYAPR07MB5031.namprd07.prod.outlook.com (52.135.238.224) by BYAPR07MB5717.namprd07.prod.outlook.com (20.178.0.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.20; Thu, 8 Nov 2018 17:52:20 +0000 Received: from BYAPR07MB5031.namprd07.prod.outlook.com ([fe80::50ef:7350:fb0f:1d41]) by BYAPR07MB5031.namprd07.prod.outlook.com ([fe80::50ef:7350:fb0f:1d41%4]) with mapi id 15.20.1294.034; Thu, 8 Nov 2018 17:52:20 +0000 From: Steve Ellcey To: gcc-patches Subject: [Patch 1/4][Aarch64] v2: Implement Aarch64 SIMD ABI Date: Thu, 08 Nov 2018 17:52:00 -0000 Message-ID: <1541699539.12016.6.camel@cavium.com> authentication-results: spf=none (sender IP is ) smtp.mailfrom=Steve.Ellcey@cavium.com; received-spf: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) Content-Type: multipart/mixed; boundary="_003_1541699539120166camelcaviumcom_" MIME-Version: 1.0 Reply-To: X-SW-Source: 2018-11/txt/msg00637.txt.bz2 --_003_1541699539120166camelcaviumcom_ Content-Type: text/plain; charset="utf-8" Content-ID: <02630136854ABE448BF6691DE06D414C@namprd07.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 3551 VGhpcyBpcyBhIHJlc3VibWlzc2lvbiBvZiBwYXRjaCAxIHRvIHN1cHBvcnQg dGhlIEFhcmNoNjQgU0lNRCBBQkkgWzFdIGluDQpHQ0MsIGl0IGRvZXMgbm90 IGhhdmUgYW55IGZ1bmN0aW9uYWwgY2hhbmdlcyBmcm9tIHRoZSBsYXN0IHN1 Ym1pdC4NCg0KVGhlIHNpZ25pZmljYW50IGRpZmZlcmVuY2UgYmV0d2VlbiB0 aGUgc3RhbmRhcmQgQVJNIEFCSSBhbmQgdGhlIFNJTUQgQUJJDQppcyB0aGF0 IGluIHRoZSBub3JtYWwgQUJJIGEgY2FsbGVlIHNhdmVzIG9ubHkgdGhlIGxv d2VyIDY0IGJpdHMgb2YgcmVnaXN0ZXJzDQpWOC1WMTUsIGluIHRoZSBTSU1E IEFCSSB0aGUgY2FsbGVlIG11c3Qgc2F2ZSBhbGwgMTI4IGJpdHMgb2YgcmVn aXN0ZXJzDQpWOC1WMjMuDQoNClRoaXMgcGF0Y2ggY2hlY2tzIGZvciBTSU1E IGZ1bmN0aW9ucyBhbmQgc2F2ZXMgdGhlIGV4dHJhIHJlZ2lzdGVycyB3aGVu DQpuZWVkZWQuwqDCoEl0IGRvZXMgbm90IGNoYW5nZSB0aGUgY2FsbGVyIGJl aGF2b3VyLCBzbyB3aXRoIGp1c3QgdGhpcyBwYXRjaA0KdGhlcmUgbWF5IGJl IHZhbHVlcyBzYXZlZCBieSBib3RoIHRoZSBjYWxsZXIgYW5kIGNhbGxlZS7C oMKgVGhpcyBpcyBub3QNCmVmZmljaWVudCwgYnV0IGl0IGlzIGNvcnJlY3Qg Y29kZS4gUGF0Y2hlcyAzIGFuZCA0IHdpbGwgcmVtb3ZlIHRoZSBleHRyYQ0K c2F2ZXMgZnJvbSB0aGUgY2FsbGVyLg0KDQpTdGV2ZSBFbGxjZXkNCnNlbGxj ZXlAY2F2aXVtLmNvbQ0KDQoNCjIwMTgtMTEtMDjCoMKgU3RldmUgRWxsY2V5 wqDCoDxzZWxsY2V5QGNhdml1bS5jb20+DQoNCgkqIGNvbmZpZy9hYXJjaDY0 L2FhcmNoNjQtcHJvdG9zLmggKGFhcmNoNjRfdXNlX3NpbXBsZV9yZXR1cm5f aW5zbl9wKToNCglOZXcgcHJvdG90eXBlLg0KCShhYXJjaDY0X2VwaWxvZ3Vl X3VzZXMpOiBEaXR0by4NCgkqIGNvbmZpZy9hYXJjaDY0L2FhcmNoNjQuYyAo YWFyY2g2NF9hdHRyaWJ1dGVfdGFibGUpOiBOZXcgYXJyYXkuDQoJKGFhcmNo NjRfc2ltZF9kZWNsX3ApOiBOZXcgZnVuY3Rpb24uDQoJKGFhcmNoNjRfcmVn X3NhdmVfbW9kZSk6IE5ldyBmdW5jdGlvbi4NCgkoYWFyY2g2NF9mdW5jdGlv bl9va19mb3Jfc2liY2FsbCk6IENoZWNrIGZvciBzaW1kIGNhbGxzLg0KCShh YXJjaDY0X2xheW91dF9mcmFtZSk6IENoZWNrIGZvciBzaW1kIGZ1bmN0aW9u Lg0KCShhYXJjaDY0X2dlbl9zdG9yZXdiX3BhaXIpOiBIYW5kbGUgRV9URm1v ZGUuDQoJKGFhcmNoNjRfcHVzaF9yZWdzKTogVXNlIGFhcmNoNjRfcmVnX3Nh dmVfbW9kZSB0byBnZXQgbW9kZS4NCgkoYWFyY2g2NF9nZW5fbG9hZHdiX3Bh aXIpOiBIYW5kbGUgRV9URm1vZGUuDQoJKGFhcmNoNjRfcG9wX3JlZ3MpOiBV c2UgYWFyY2g2NF9yZWdfc2F2ZV9tb2RlIHRvIGdldCBtb2RlLg0KCShhYXJj aDY0X2dlbl9zdG9yZV9wYWlyKTogSGFuZGxlIEVfVEZtb2RlLg0KCShhYXJj aDY0X2dlbl9sb2FkX3BhaXIpOiBEaXR0by4NCgkoYWFyY2g2NF9zYXZlX2Nh bGxlZV9zYXZlcyk6IEhhbmRsZSBkaWZmZXJlbnQgbW9kZSBzaXplcy4NCgko YWFyY2g2NF9yZXN0b3JlX2NhbGxlZV9zYXZlcyk6IERpdHRvLg0KCShhYXJj aDY0X2NvbXBvbmVudHNfZm9yX2JiKTogQ2hlY2sgZm9yIHNpbWQgZnVuY3Rp b24uDQoJKGFhcmNoNjRfZXBpbG9ndWVfdXNlcyk6IE5ldyBmdW5jdGlvbi4N CgkoYWFyY2g2NF9wcm9jZXNzX2NvbXBvbmVudHMpOiBDaGVjayBmb3Igc2lt ZCBmdW5jdGlvbi4NCgkoYWFyY2g2NF9leHBhbmRfcHJvbG9ndWUpOiBEaXR0 by4NCgkoYWFyY2g2NF9leHBhbmRfZXBpbG9ndWUpOiBEaXR0by4NCgkoYWFy Y2g2NF9leHBhbmRfY2FsbCk6IERpdHRvLg0KCShhYXJjaDY0X3VzZV9zaW1w bGVfcmV0dXJuX2luc25fcCk6IE5ldyBmdW5jdGlvbi4NCgkoVEFSR0VUX0FU VFJJQlVURV9UQUJMRSk6IE5ldyBkZWZpbmUuDQoJKiBjb25maWcvYWFyY2g2 NC9hYXJjaDY0LmggKEVQSUxPR1VFX1VTRVMpOiBSZWRlZmluZS4NCgkoRlBf U0lNRF9TQVZFRF9SRUdOVU1fUCk6IE5ldyBtYWNyby4NCgkqIGNvbmZpZy9h YXJjaDY0L2FhcmNoNjQubWQgKHNpbXBsZV9yZXR1cm4pOiBOZXcgZGVmaW5l X2V4cGFuZC4NCgkobG9hZF9wYWlyX2R3X3RmdGYpOiBOZXcgaW5zdHJ1Y3Rp b24uDQoJKHN0b3JlX3BhaXJfZHdfdGZ0Zik6IERpdHRvLg0KCShsb2Fkd2Jf cGFpcjxUWDptb2RlPl88UDptb2RlPik6IERpdHRvLg0KCShzdG9yZXdiX3Bh aXI8VFg6bW9kZT5fPFA6bW9kZT4pOiBEaXR0by4NCg0KDQoyMDE4LTExLTA4 wqDCoFN0ZXZlIEVsbGNlecKgwqA8c2VsbGNleUBjYXZpdW0uY29tPg0KDQoJ KiBnY2MudGFyZ2V0L2FhcmNoNjQvdG9ydHVyZS9hYXJjaDY0LXRvcnR1cmUu ZXhwOiBOZXcgZmlsZS4NCgkqIGdjYy50YXJnZXQvYWFyY2g2NC90b3J0dXJl L3NpbWQtYWJpLTEuYzogTmV3IHRlc3QuDQoJKiBnY2MudGFyZ2V0L2FhcmNo NjQvdG9ydHVyZS9zaW1kLWFiaS0yLmM6IERpdHRvLg0KCSogZ2NjLnRhcmdl dC9hYXJjaDY0L3RvcnR1cmUvc2ltZC1hYmktMy5jOiBEaXR0by4NCgkqIGdj Yy50YXJnZXQvYWFyY2g2NC90b3J0dXJlL3NpbWQtYWJpLTQuYzogRGl0dG8u DQoJKiBnY2MudGFyZ2V0L2FhcmNoNjQvdG9ydHVyZS9zaW1kLWFiaS01LmM6 IERpdHRvLg0K --_003_1541699539120166camelcaviumcom_ Content-Type: text/x-patch; name="gcc-vect-abi.patch" Content-Description: gcc-vect-abi.patch Content-Disposition: attachment; filename="gcc-vect-abi.patch"; size=19905; creation-date="Thu, 08 Nov 2018 17:52:20 GMT"; modification-date="Thu, 08 Nov 2018 17:52:20 GMT" Content-ID: <33D1E6982AB9F2428CC8ECCC3AB83D23@namprd07.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 26983 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXByb3Rv cy5oIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtcHJvdG9zLmgKaW5k ZXggMWZlMWE1MC4uZTE1MjhhNCAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9h YXJjaDY0L2FhcmNoNjQtcHJvdG9zLmgKKysrIGIvZ2NjL2NvbmZpZy9hYXJj aDY0L2FhcmNoNjQtcHJvdG9zLmgKQEAgLTQ2Nyw2ICs0NjcsNyBAQCBib29s IGFhcmNoNjRfc3BsaXRfZGltb2RlX2NvbnN0X3N0b3JlIChydHgsIHJ0eCk7 CiBib29sIGFhcmNoNjRfc3ltYm9saWNfYWRkcmVzc19wIChydHgpOwogYm9v bCBhYXJjaDY0X3VpbW0xMl9zaGlmdCAoSE9TVF9XSURFX0lOVCk7CiBib29s IGFhcmNoNjRfdXNlX3JldHVybl9pbnNuX3AgKHZvaWQpOworYm9vbCBhYXJj aDY0X3VzZV9zaW1wbGVfcmV0dXJuX2luc25fcCAodm9pZCk7CiBjb25zdCBj aGFyICphYXJjaDY0X21hbmdsZV9idWlsdGluX3R5cGUgKGNvbnN0X3RyZWUp OwogY29uc3QgY2hhciAqYWFyY2g2NF9vdXRwdXRfY2FzZXNpIChydHggKik7 CiAKQEAgLTU1Miw2ICs1NTMsOCBAQCB2b2lkIGFhcmNoNjRfc3BsaXRfc2lt ZF9tb3ZlIChydHgsIHJ0eCk7CiAvKiBDaGVjayBmb3IgYSBsZWdpdGltYXRl IGZsb2F0aW5nIHBvaW50IGNvbnN0YW50IGZvciBGTU9WLiAgKi8KIGJvb2wg YWFyY2g2NF9mbG9hdF9jb25zdF9yZXByZXNlbnRhYmxlX3AgKHJ0eCk7CiAK K2V4dGVybiBpbnQgYWFyY2g2NF9lcGlsb2d1ZV91c2VzIChpbnQpOworCiAj aWYgZGVmaW5lZCAoUlRYX0NPREUpCiB2b2lkIGFhcmNoNjRfZ2VuX3VubGlr ZWx5X2NicmFuY2ggKGVudW0gcnR4X2NvZGUsIG1hY2hpbmVfbW9kZSBjY19t b2RlLAogCQkJCSAgIHJ0eCBsYWJlbF9yZWYpOwpkaWZmIC0tZ2l0IGEvZ2Nj L2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQuYyBiL2djYy9jb25maWcvYWFyY2g2 NC9hYXJjaDY0LmMKaW5kZXggYzgyYzdiNi4uYjg0OGMyYSAxMDA2NDQKLS0t IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQuYworKysgYi9nY2MvY29u ZmlnL2FhcmNoNjQvYWFyY2g2NC5jCkBAIC0xMDg4LDYgKzEwODgsMTUgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBwcm9jZXNzb3IgKnNlbGVjdGVkX3R1bmU7 CiAvKiBUaGUgY3VycmVudCB0dW5pbmcgc2V0LiAgKi8KIHN0cnVjdCB0dW5l X3BhcmFtcyBhYXJjaDY0X3R1bmVfcGFyYW1zID0gZ2VuZXJpY190dW5pbmdz OwogCisvKiBUYWJsZSBvZiBtYWNoaW5lIGF0dHJpYnV0ZXMuICAqLworc3Rh dGljIGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGVfc3BlYyBhYXJjaDY0X2F0dHJp YnV0ZV90YWJsZVtdID0KK3sKKyAgLyogeyBuYW1lLCBtaW5fbGVuLCBtYXhf bGVuLCBkZWNsX3JlcSwgdHlwZV9yZXEsIGZuX3R5cGVfcmVxLAorICAgICAg IGFmZmVjdHNfdHlwZV9pZGVudGl0eSwgaGFuZGxlciwgZXhjbHVkZSB9ICov CisgIHsgImFhcmNoNjRfdmVjdG9yX3BjcyIsIDAsIDAsIGZhbHNlLCB0cnVl LCAgdHJ1ZSwgIGZhbHNlLCBOVUxMLCBOVUxMIH0sCisgIHsgTlVMTCwgICAg ICAgICAgICAgICAgIDAsIDAsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNl LCBOVUxMLCBOVUxMIH0KK307CisKICNkZWZpbmUgQUFSQ0g2NF9DUFVfREVG QVVMVF9GTEFHUyAoKHNlbGVjdGVkX2NwdSkgPyBzZWxlY3RlZF9jcHUtPmZs YWdzIDogMCkKIAogLyogQW4gSVNBIGV4dGVuc2lvbiBpbiB0aGUgY28tcHJv Y2Vzc29yIGFuZCBtYWluIGluc3RydWN0aW9uIHNldCBzcGFjZS4gICovCkBA IC0xNDcwLDYgKzE0NzksNDUgQEAgYWFyY2g2NF9oYXJkX3JlZ25vX21vZGVf b2sgKHVuc2lnbmVkIHJlZ25vLCBtYWNoaW5lX21vZGUgbW9kZSkKICAgcmV0 dXJuIGZhbHNlOwogfQogCisvKiBSZXR1cm4gdHJ1ZSBpZiB0aGlzIGlzIGEg ZGVmaW5pdGlvbiBvZiBhIHZlY3Rvcml6ZWQgc2ltZCBmdW5jdGlvbi4gICov CisKK3N0YXRpYyBib29sCithYXJjaDY0X3NpbWRfZGVjbF9wICh0cmVlIGZu ZGVjbCkKK3sKKyAgdHJlZSBmbnR5cGU7CisKKyAgaWYgKGZuZGVjbCA9PSBO VUxMKQorICAgIHJldHVybiBmYWxzZTsKKyAgZm50eXBlID0gVFJFRV9UWVBF IChmbmRlY2wpOworICBpZiAoZm50eXBlID09IE5VTEwpCisgICAgcmV0dXJu IGZhbHNlOworCisgIC8qIEFsbCBmdW5jdGlvbnMgd2l0aCB0aGUgYWFyY2g2 NF92ZWN0b3JfcGNzIGF0dHJpYnV0ZSB1c2UgdGhlIHNpbWQgQUJJLiAgKi8K KyAgaWYgKGxvb2t1cF9hdHRyaWJ1dGUgKCJhYXJjaDY0X3ZlY3Rvcl9wY3Mi LCBUWVBFX0FUVFJJQlVURVMgKGZudHlwZSkpICE9IE5VTEwpCisgICAgcmV0 dXJuIHRydWU7CisgIC8qIEZ1bmN0aW9ucyB3aXRob3V0IHRoZSBhYXJjaDY0 X3ZlY3Rvcl9wY3Mgb3Igc2ltZCBhdHRyaWJ1dGUgbmV2ZXIgdXNlIHRoZQor ICAgICBzaW1kIEFCSS4gICovCisgIGlmIChsb29rdXBfYXR0cmlidXRlICgi c2ltZCIsIERFQ0xfQVRUUklCVVRFUyAoZm5kZWNsKSkgPT0gTlVMTCkKKyAg ICByZXR1cm4gZmFsc2U7CisgIC8qIEZ1bmN0aW9ucyB3aXRoIHRoZSBzaW1k IGF0dHJpYnV0ZSBjYW4gZ2VuZXJhdGUgdGhyZWUgdmVyc2lvbnMgb2YgYQor ICAgICBmdW5jdGlvbiwgYSBtYXNrZWQgdmVjdG9yIGZ1bmN0aW9uLCBhbiB1 bm1hc2tlZCB2ZWN0b3IgZnVuY3Rpb24sCisgICAgIGFuZCBhIHNjYWxhciB2 ZXJzaW9uLiAgT25seSB0aGUgdmVjdG9yIHZlcnNpb25zIHVzZSB0aGUgc2lt ZCBBQkkuICAqLworICByZXR1cm4gKFZFQ1RPUl9UWVBFX1AgKFRSRUVfVFlQ RSAoZm50eXBlKSkpOworfQorCisvKiBSZXR1cm4gdGhlIG1vZGUgYSByZWdp c3RlciBzYXZlL3Jlc3RvcmUgc2hvdWxkIHVzZS4gIERJbW9kZSBmb3IgaW50 ZWdlcgorICAgcmVnaXN0ZXJzLCBERm1vZGUgZm9yIEZQIHJlZ2lzdGVycyBp biBub24tU0lNRCBmdW5jdGlvbnMgKHRoZXkgb25seSBzYXZlCisgICB0aGUg Ym90dG9tIGhhbGYgb2YgYSAxMjggYml0IHJlZ2lzdGVyKSwgb3IgVEZtb2Rl IGZvciBGUCByZWdpc3RlcnMgaW4KKyAgIFNJTUQgZnVuY3Rpb25zLiAgKi8K Kworc3RhdGljIG1hY2hpbmVfbW9kZQorYWFyY2g2NF9yZWdfc2F2ZV9tb2Rl ICh0cmVlIGZuZGVjbCwgdW5zaWduZWQgcmVnbm8pCit7CisgIHJldHVybiBH UF9SRUdOVU1fUCAocmVnbm8pCisJICAgPyBFX0RJbW9kZQorCSAgIDogKGFh cmNoNjRfc2ltZF9kZWNsX3AgKGZuZGVjbCkgPyBFX1RGbW9kZSA6IEVfREZt b2RlKTsKK30KKwogLyogSW1wbGVtZW50IFRBUkdFVF9IQVJEX1JFR05PX0NB TExfUEFSVF9DTE9CQkVSRUQuICBUaGUgY2FsbGVlIG9ubHkgc2F2ZXMKICAg IHRoZSBsb3dlciA2NCBiaXRzIG9mIGEgMTI4LWJpdCByZWdpc3Rlci4gIFRl bGwgdGhlIGNvbXBpbGVyIHRoZSBjYWxsZWUKICAgIGNsb2JiZXJzIHRoZSB0 b3AgNjQgYml0cyB3aGVuIHJlc3RvcmluZyB0aGUgYm90dG9tIDY0IGJpdHMu ICAqLwpAQCAtMzI5Niw3ICszMzQ0LDkgQEAgc3RhdGljIGJvb2wKIGFhcmNo NjRfZnVuY3Rpb25fb2tfZm9yX3NpYmNhbGwgKHRyZWUgZGVjbCBBVFRSSUJV VEVfVU5VU0VELAogCQkJCSB0cmVlIGV4cCBBVFRSSUJVVEVfVU5VU0VEKQog ewotICAvKiBDdXJyZW50bHksIGFsd2F5cyB0cnVlLiAgKi8KKyAgaWYgKGFh cmNoNjRfc2ltZF9kZWNsX3AgKGNmdW4tPmRlY2wpICE9IGFhcmNoNjRfc2lt ZF9kZWNsX3AgKGRlY2wpKQorICAgIHJldHVybiBmYWxzZTsKKwogICByZXR1 cm4gdHJ1ZTsKIH0KIApAQCAtNDE1Nyw2ICs0MjA3LDcgQEAgYWFyY2g2NF9s YXlvdXRfZnJhbWUgKHZvaWQpCiB7CiAgIEhPU1RfV0lERV9JTlQgb2Zmc2V0 ID0gMDsKICAgaW50IHJlZ25vLCBsYXN0X2ZwX3JlZyA9IElOVkFMSURfUkVH TlVNOworICBib29sIHNpbWRfZnVuY3Rpb24gPSBhYXJjaDY0X3NpbWRfZGVj bF9wIChjZnVuLT5kZWNsKTsKIAogICBjZnVuLT5tYWNoaW5lLT5mcmFtZS5l bWl0X2ZyYW1lX2NoYWluID0gYWFyY2g2NF9uZWVkc19mcmFtZV9jaGFpbiAo KTsKIApAQCAtNDE3MCw2ICs0MjIxLDE3IEBAIGFhcmNoNjRfbGF5b3V0X2Zy YW1lICh2b2lkKQogICBjZnVuLT5tYWNoaW5lLT5mcmFtZS53Yl9jYW5kaWRh dGUxID0gSU5WQUxJRF9SRUdOVU07CiAgIGNmdW4tPm1hY2hpbmUtPmZyYW1l LndiX2NhbmRpZGF0ZTIgPSBJTlZBTElEX1JFR05VTTsKIAorICAvKiBJZiB0 aGlzIGlzIGEgbm9uLWxlYWYgc2ltZCBmdW5jdGlvbiB3aXRoIGNhbGxzIHdl IGFzc3VtZSB0aGF0CisgICAgIGF0IGxlYXN0IG9uZSBvZiB0aG9zZSBjYWxs cyBpcyB0byBhIG5vbi1zaW1kIGZ1bmN0aW9uIGFuZCB0aHVzCisgICAgIHdl IG11c3Qgc2F2ZSBWOCB0byBWMjMgaW4gdGhlIHByb2xvZ3VlLiAgKi8KKwor ICBpZiAoc2ltZF9mdW5jdGlvbiAmJiAhY3J0bC0+aXNfbGVhZikKKyAgICB7 CisgICAgICBmb3IgKHJlZ25vID0gVjBfUkVHTlVNOyByZWdubyA8PSBWMzFf UkVHTlVNOyByZWdubysrKQorCWlmIChGUF9TSU1EX1NBVkVEX1JFR05VTV9Q IChyZWdubykpCisgCSAgZGZfc2V0X3JlZ3NfZXZlcl9saXZlIChyZWdubywg dHJ1ZSk7CisgICAgfQorCiAgIC8qIEZpcnN0IG1hcmsgYWxsIHRoZSByZWdp c3RlcnMgdGhhdCByZWFsbHkgbmVlZCB0byBiZSBzYXZlZC4uLiAgKi8KICAg Zm9yIChyZWdubyA9IFIwX1JFR05VTTsgcmVnbm8gPD0gUjMwX1JFR05VTTsg cmVnbm8rKykKICAgICBjZnVuLT5tYWNoaW5lLT5mcmFtZS5yZWdfb2Zmc2V0 W3JlZ25vXSA9IFNMT1RfTk9UX1JFUVVJUkVEOwpAQCAtNDE5Miw3ICs0MjU0 LDggQEAgYWFyY2g2NF9sYXlvdXRfZnJhbWUgKHZvaWQpCiAKICAgZm9yIChy ZWdubyA9IFYwX1JFR05VTTsgcmVnbm8gPD0gVjMxX1JFR05VTTsgcmVnbm8r KykKICAgICBpZiAoZGZfcmVnc19ldmVyX2xpdmVfcCAocmVnbm8pCi0JJiYg IWNhbGxfdXNlZF9yZWdzW3JlZ25vXSkKKwkmJiAoIWNhbGxfdXNlZF9yZWdz W3JlZ25vXQorCSAgICB8fCAoc2ltZF9mdW5jdGlvbiAmJiBGUF9TSU1EX1NB VkVEX1JFR05VTV9QIChyZWdubykpKSkKICAgICAgIHsKIAljZnVuLT5tYWNo aW5lLT5mcmFtZS5yZWdfb2Zmc2V0W3JlZ25vXSA9IFNMT1RfUkVRVUlSRUQ7 CiAJbGFzdF9mcF9yZWcgPSByZWdubzsKQEAgLTQyMzQsNyArNDI5NywxMCBA QCBhYXJjaDY0X2xheW91dF9mcmFtZSAodm9pZCkKICAgICAgIHsKIAkvKiBJ ZiB0aGVyZSBpcyBhbiBhbGlnbm1lbnQgZ2FwIGJldHdlZW4gaW50ZWdlciBh bmQgZnAgY2FsbGVlLXNhdmVzLAogCSAgIGFsbG9jYXRlIHRoZSBsYXN0IGZw IHJlZ2lzdGVyIHRvIGl0IGlmIHBvc3NpYmxlLiAgKi8KLQlpZiAocmVnbm8g PT0gbGFzdF9mcF9yZWcgJiYgaGFzX2FsaWduX2dhcCAmJiAob2Zmc2V0ICYg OCkgPT0gMCkKKwlpZiAocmVnbm8gPT0gbGFzdF9mcF9yZWcKKwkgICAgJiYg aGFzX2FsaWduX2dhcAorCSAgICAmJiAhc2ltZF9mdW5jdGlvbgorCSAgICAm JiAob2Zmc2V0ICYgOCkgPT0gMCkKIAkgIHsKIAkgICAgY2Z1bi0+bWFjaGlu ZS0+ZnJhbWUucmVnX29mZnNldFtyZWdub10gPSBtYXhfaW50X29mZnNldDsK IAkgICAgYnJlYWs7CkBAIC00MjQ2LDcgKzQzMTIsNyBAQCBhYXJjaDY0X2xh eW91dF9mcmFtZSAodm9pZCkKIAllbHNlIGlmIChjZnVuLT5tYWNoaW5lLT5m cmFtZS53Yl9jYW5kaWRhdGUyID09IElOVkFMSURfUkVHTlVNCiAJCSAmJiBj ZnVuLT5tYWNoaW5lLT5mcmFtZS53Yl9jYW5kaWRhdGUxID49IFYwX1JFR05V TSkKIAkgIGNmdW4tPm1hY2hpbmUtPmZyYW1lLndiX2NhbmRpZGF0ZTIgPSBy ZWdubzsKLQlvZmZzZXQgKz0gVU5JVFNfUEVSX1dPUkQ7CisJb2Zmc2V0ICs9 IHNpbWRfZnVuY3Rpb24gPyBVTklUU19QRVJfVlJFRyA6IFVOSVRTX1BFUl9X T1JEOwogICAgICAgfQogCiAgIG9mZnNldCA9IFJPVU5EX1VQIChvZmZzZXQs IFNUQUNLX0JPVU5EQVJZIC8gQklUU19QRVJfVU5JVCk7CkBAIC00Mzg5LDYg KzQ0NTUsMTAgQEAgYWFyY2g2NF9nZW5fc3RvcmV3Yl9wYWlyIChtYWNoaW5l X21vZGUgbW9kZSwgcnR4IGJhc2UsIHJ0eCByZWcsIHJ0eCByZWcyLAogICAg ICAgcmV0dXJuIGdlbl9zdG9yZXdiX3BhaXJkZl9kaSAoYmFzZSwgYmFzZSwg cmVnLCByZWcyLAogCQkJCSAgICBHRU5fSU5UICgtYWRqdXN0bWVudCksCiAJ CQkJICAgIEdFTl9JTlQgKFVOSVRTX1BFUl9XT1JEIC0gYWRqdXN0bWVudCkp OworICAgIGNhc2UgRV9URm1vZGU6CisgICAgICByZXR1cm4gZ2VuX3N0b3Jl d2JfcGFpcnRmX2RpIChiYXNlLCBiYXNlLCByZWcsIHJlZzIsCisJCQkJICAg IEdFTl9JTlQgKC1hZGp1c3RtZW50KSwKKwkJCQkgICAgR0VOX0lOVCAoVU5J VFNfUEVSX1ZSRUcgLSBhZGp1c3RtZW50KSk7CiAgICAgZGVmYXVsdDoKICAg ICAgIGdjY191bnJlYWNoYWJsZSAoKTsKICAgICB9CkBAIC00NDAxLDcgKzQ0 NzEsNyBAQCBzdGF0aWMgdm9pZAogYWFyY2g2NF9wdXNoX3JlZ3MgKHVuc2ln bmVkIHJlZ25vMSwgdW5zaWduZWQgcmVnbm8yLCBIT1NUX1dJREVfSU5UIGFk anVzdG1lbnQpCiB7CiAgIHJ0eF9pbnNuICppbnNuOwotICBtYWNoaW5lX21v ZGUgbW9kZSA9IChyZWdubzEgPD0gUjMwX1JFR05VTSkgPyBFX0RJbW9kZSA6 IEVfREZtb2RlOworICBtYWNoaW5lX21vZGUgbW9kZSA9IGFhcmNoNjRfcmVn X3NhdmVfbW9kZSAoY2Z1bi0+ZGVjbCwgcmVnbm8xKTsKIAogICBpZiAocmVn bm8yID09IElOVkFMSURfUkVHTlVNKQogICAgIHJldHVybiBhYXJjaDY0X3B1 c2h3Yl9zaW5nbGVfcmVnIChtb2RlLCByZWdubzEsIGFkanVzdG1lbnQpOwpA QCAtNDQzMSw2ICs0NTAxLDkgQEAgYWFyY2g2NF9nZW5fbG9hZHdiX3BhaXIg KG1hY2hpbmVfbW9kZSBtb2RlLCBydHggYmFzZSwgcnR4IHJlZywgcnR4IHJl ZzIsCiAgICAgY2FzZSBFX0RGbW9kZToKICAgICAgIHJldHVybiBnZW5fbG9h ZHdiX3BhaXJkZl9kaSAoYmFzZSwgYmFzZSwgcmVnLCByZWcyLCBHRU5fSU5U IChhZGp1c3RtZW50KSwKIAkJCQkgICBHRU5fSU5UIChVTklUU19QRVJfV09S RCkpOworICAgIGNhc2UgRV9URm1vZGU6CisgICAgICByZXR1cm4gZ2VuX2xv YWR3Yl9wYWlydGZfZGkgKGJhc2UsIGJhc2UsIHJlZywgcmVnMiwgR0VOX0lO VCAoYWRqdXN0bWVudCksCisJCQkJICAgR0VOX0lOVCAoVU5JVFNfUEVSX1ZS RUcpKTsKICAgICBkZWZhdWx0OgogICAgICAgZ2NjX3VucmVhY2hhYmxlICgp OwogICAgIH0KQEAgLTQ0NDQsNyArNDUxNyw3IEBAIHN0YXRpYyB2b2lkCiBh YXJjaDY0X3BvcF9yZWdzICh1bnNpZ25lZCByZWdubzEsIHVuc2lnbmVkIHJl Z25vMiwgSE9TVF9XSURFX0lOVCBhZGp1c3RtZW50LAogCQkgIHJ0eCAqY2Zp X29wcykKIHsKLSAgbWFjaGluZV9tb2RlIG1vZGUgPSAocmVnbm8xIDw9IFIz MF9SRUdOVU0pID8gRV9ESW1vZGUgOiBFX0RGbW9kZTsKKyAgbWFjaGluZV9t b2RlIG1vZGUgPSBhYXJjaDY0X3JlZ19zYXZlX21vZGUgKGNmdW4tPmRlY2ws IHJlZ25vMSk7CiAgIHJ0eCByZWcxID0gZ2VuX3J0eF9SRUcgKG1vZGUsIHJl Z25vMSk7CiAKICAgKmNmaV9vcHMgPSBhbGxvY19yZWdfbm90ZSAoUkVHX0NG QV9SRVNUT1JFLCByZWcxLCAqY2ZpX29wcyk7CkBAIC00NDc5LDYgKzQ1NTIs OSBAQCBhYXJjaDY0X2dlbl9zdG9yZV9wYWlyIChtYWNoaW5lX21vZGUgbW9k ZSwgcnR4IG1lbTEsIHJ0eCByZWcxLCBydHggbWVtMiwKICAgICBjYXNlIEVf REZtb2RlOgogICAgICAgcmV0dXJuIGdlbl9zdG9yZV9wYWlyX2R3X2RmZGYg KG1lbTEsIHJlZzEsIG1lbTIsIHJlZzIpOwogCisgICAgY2FzZSBFX1RGbW9k ZToKKyAgICAgIHJldHVybiBnZW5fc3RvcmVfcGFpcl9kd190ZnRmIChtZW0x LCByZWcxLCBtZW0yLCByZWcyKTsKKwogICAgIGRlZmF1bHQ6CiAgICAgICBn Y2NfdW5yZWFjaGFibGUgKCk7CiAgICAgfQpAQCAtNDQ5OSw2ICs0NTc1LDkg QEAgYWFyY2g2NF9nZW5fbG9hZF9wYWlyIChtYWNoaW5lX21vZGUgbW9kZSwg cnR4IHJlZzEsIHJ0eCBtZW0xLCBydHggcmVnMiwKICAgICBjYXNlIEVfREZt b2RlOgogICAgICAgcmV0dXJuIGdlbl9sb2FkX3BhaXJfZHdfZGZkZiAocmVn MSwgbWVtMSwgcmVnMiwgbWVtMik7CiAKKyAgICBjYXNlIEVfVEZtb2RlOgor ICAgICAgcmV0dXJuIGdlbl9sb2FkX3BhaXJfZHdfdGZ0ZiAocmVnMSwgbWVt MSwgcmVnMiwgbWVtMik7CisKICAgICBkZWZhdWx0OgogICAgICAgZ2NjX3Vu cmVhY2hhYmxlICgpOwogICAgIH0KQEAgLTQ1MzgsNiArNDYxNyw3IEBAIGFh cmNoNjRfc2F2ZV9jYWxsZWVfc2F2ZXMgKG1hY2hpbmVfbW9kZSBtb2RlLCBw b2x5X2ludDY0IHN0YXJ0X29mZnNldCwKICAgICB7CiAgICAgICBydHggcmVn LCBtZW07CiAgICAgICBwb2x5X2ludDY0IG9mZnNldDsKKyAgICAgIGludCBv ZmZzZXRfZGlmZjsKIAogICAgICAgaWYgKHNraXBfd2IKIAkgICYmIChyZWdu byA9PSBjZnVuLT5tYWNoaW5lLT5mcmFtZS53Yl9jYW5kaWRhdGUxCkBAIC00 NTUzLDEyICs0NjMzLDEyIEBAIGFhcmNoNjRfc2F2ZV9jYWxsZWVfc2F2ZXMg KG1hY2hpbmVfbW9kZSBtb2RlLCBwb2x5X2ludDY0IHN0YXJ0X29mZnNldCwK IAkJCQkJCW9mZnNldCkpOwogCiAgICAgICByZWdubzIgPSBhYXJjaDY0X25l eHRfY2FsbGVlX3NhdmUgKHJlZ25vICsgMSwgbGltaXQpOworICAgICAgb2Zm c2V0X2RpZmYgPSBjZnVuLT5tYWNoaW5lLT5mcmFtZS5yZWdfb2Zmc2V0W3Jl Z25vMl0KKwkJICAgIC0gY2Z1bi0+bWFjaGluZS0+ZnJhbWUucmVnX29mZnNl dFtyZWdub107CiAKICAgICAgIGlmIChyZWdubzIgPD0gbGltaXQKIAkgICYm ICFjZnVuLT5tYWNoaW5lLT5yZWdfaXNfd3JhcHBlZF9zZXBhcmF0ZWx5W3Jl Z25vMl0KLQkgICYmICgoY2Z1bi0+bWFjaGluZS0+ZnJhbWUucmVnX29mZnNl dFtyZWdub10gKyBVTklUU19QRVJfV09SRCkKLQkgICAgICA9PSBjZnVuLT5t YWNoaW5lLT5mcmFtZS5yZWdfb2Zmc2V0W3JlZ25vMl0pKQotCisJICAmJiBr bm93bl9lcSAoR0VUX01PREVfU0laRSAobW9kZSksIG9mZnNldF9kaWZmKSkK IAl7CiAJICBydHggcmVnMiA9IGdlbl9ydHhfUkVHIChtb2RlLCByZWdubzIp OwogCSAgcnR4IG1lbTI7CkBAIC00NjA2LDYgKzQ2ODYsNyBAQCBhYXJjaDY0 X3Jlc3RvcmVfY2FsbGVlX3NhdmVzIChtYWNoaW5lX21vZGUgbW9kZSwKICAg ICAgICBjb250aW51ZTsKIAogICAgICAgcnR4IHJlZywgbWVtOworICAgICAg aW50IG9mZnNldF9kaWZmOwogCiAgICAgICBpZiAoc2tpcF93YgogCSAgJiYg KHJlZ25vID09IGNmdW4tPm1hY2hpbmUtPmZyYW1lLndiX2NhbmRpZGF0ZTEK QEAgLTQ2MTcsMTEgKzQ2OTgsMTIgQEAgYWFyY2g2NF9yZXN0b3JlX2NhbGxl ZV9zYXZlcyAobWFjaGluZV9tb2RlIG1vZGUsCiAgICAgICBtZW0gPSBnZW5f ZnJhbWVfbWVtIChtb2RlLCBwbHVzX2NvbnN0YW50IChQbW9kZSwgYmFzZV9y dHgsIG9mZnNldCkpOwogCiAgICAgICByZWdubzIgPSBhYXJjaDY0X25leHRf Y2FsbGVlX3NhdmUgKHJlZ25vICsgMSwgbGltaXQpOworICAgICAgb2Zmc2V0 X2RpZmYgPSBjZnVuLT5tYWNoaW5lLT5mcmFtZS5yZWdfb2Zmc2V0W3JlZ25v Ml0KKwkJICAgIC0gY2Z1bi0+bWFjaGluZS0+ZnJhbWUucmVnX29mZnNldFty ZWdub107CiAKICAgICAgIGlmIChyZWdubzIgPD0gbGltaXQKIAkgICYmICFj ZnVuLT5tYWNoaW5lLT5yZWdfaXNfd3JhcHBlZF9zZXBhcmF0ZWx5W3JlZ25v Ml0KLQkgICYmICgoY2Z1bi0+bWFjaGluZS0+ZnJhbWUucmVnX29mZnNldFty ZWdub10gKyBVTklUU19QRVJfV09SRCkKLQkgICAgICA9PSBjZnVuLT5tYWNo aW5lLT5mcmFtZS5yZWdfb2Zmc2V0W3JlZ25vMl0pKQorCSAgJiYga25vd25f ZXEgKEdFVF9NT0RFX1NJWkUgKG1vZGUpLCBvZmZzZXRfZGlmZikpCiAJewog CSAgcnR4IHJlZzIgPSBnZW5fcnR4X1JFRyAobW9kZSwgcmVnbm8yKTsKIAkg IHJ0eCBtZW0yOwpAQCAtNDc1NSwxMyArNDgzNywxNSBAQCBhYXJjaDY0X2Nv bXBvbmVudHNfZm9yX2JiIChiYXNpY19ibG9jayBiYikKICAgYml0bWFwIGlu ID0gREZfTElWRV9JTiAoYmIpOwogICBiaXRtYXAgZ2VuID0gJkRGX0xJVkVf QkJfSU5GTyAoYmIpLT5nZW47CiAgIGJpdG1hcCBraWxsID0gJkRGX0xJVkVf QkJfSU5GTyAoYmIpLT5raWxsOworICBib29sIHNpbWRfZnVuY3Rpb24gPSBh YXJjaDY0X3NpbWRfZGVjbF9wIChjZnVuLT5kZWNsKTsKIAogICBzYml0bWFw IGNvbXBvbmVudHMgPSBzYml0bWFwX2FsbG9jIChMQVNUX1NBVkVEX1JFR05V TSArIDEpOwogICBiaXRtYXBfY2xlYXIgKGNvbXBvbmVudHMpOwogCiAgIC8q IEdQUnMgYXJlIHVzZWQgaW4gYSBiYiBpZiB0aGV5IGFyZSBpbiB0aGUgSU4s IEdFTiwgb3IgS0lMTCBzZXRzLiAgKi8KICAgZm9yICh1bnNpZ25lZCByZWdu byA9IDA7IHJlZ25vIDw9IExBU1RfU0FWRURfUkVHTlVNOyByZWdubysrKQot ICAgIGlmICgoIWNhbGxfdXNlZF9yZWdzW3JlZ25vXSkKKyAgICBpZiAoKCFj YWxsX3VzZWRfcmVnc1tyZWdub10KKwl8fCAoc2ltZF9mdW5jdGlvbiAmJiBG UF9TSU1EX1NBVkVEX1JFR05VTV9QIChyZWdubykpKQogICAgICAgICYmIChi aXRtYXBfYml0X3AgKGluLCByZWdubykKIAkgICB8fCBiaXRtYXBfYml0X3Ag KGdlbiwgcmVnbm8pCiAJICAgfHwgYml0bWFwX2JpdF9wIChraWxsLCByZWdu bykpKQpAQCAtNDgzMiw5ICs0OTE2LDExIEBAIGFhcmNoNjRfcHJvY2Vzc19j b21wb25lbnRzIChzYml0bWFwIGNvbXBvbmVudHMsIGJvb2wgcHJvbG9ndWVf cCkKIAogICB3aGlsZSAocmVnbm8gIT0gbGFzdF9yZWdubykKICAgICB7Ci0g ICAgICAvKiBBQVBDUzY0IHNlY3Rpb24gNS4xLjIgcmVxdWlyZXMgb25seSB0 aGUgYm90dG9tIDY0IGJpdHMgdG8gYmUgc2F2ZWQKLQkgc28gREZtb2RlIGZv ciB0aGUgdmVjdG9yIHJlZ2lzdGVycyBpcyBlbm91Z2guICAqLwotICAgICAg bWFjaGluZV9tb2RlIG1vZGUgPSBHUF9SRUdOVU1fUCAocmVnbm8pID8gRV9E SW1vZGUgOiBFX0RGbW9kZTsKKyAgICAgIC8qIEFBUENTNjQgc2VjdGlvbiA1 LjEuMiByZXF1aXJlcyBvbmx5IHRoZSBsb3cgNjQgYml0cyB0byBiZSBzYXZl ZAorCSBzbyBERm1vZGUgZm9yIHRoZSB2ZWN0b3IgcmVnaXN0ZXJzIGlzIGVu b3VnaC4gIEZvciBzaW1kIGZ1bmN0aW9ucworCSB3ZSB3YW50IHRvIHNhdmUg dGhlIGxvdyAxMjggYml0cy4gICovCisgICAgICBtYWNoaW5lX21vZGUgbW9k ZSA9IGFhcmNoNjRfcmVnX3NhdmVfbW9kZSAoY2Z1bi0+ZGVjbCwgcmVnbm8p OworICAgICAgCiAgICAgICBydHggcmVnID0gZ2VuX3J0eF9SRUcgKG1vZGUs IHJlZ25vKTsKICAgICAgIHBvbHlfaW50NjQgb2Zmc2V0ID0gY2Z1bi0+bWFj aGluZS0+ZnJhbWUucmVnX29mZnNldFtyZWdub107CiAgICAgICBpZiAoIWZy YW1lX3BvaW50ZXJfbmVlZGVkKQpAQCAtNDg2Myw2ICs0OTQ5LDcgQEAgYWFy Y2g2NF9wcm9jZXNzX2NvbXBvbmVudHMgKHNiaXRtYXAgY29tcG9uZW50cywg Ym9vbCBwcm9sb2d1ZV9wKQogCSBtZXJnZWFibGUgd2l0aCB0aGUgY3VycmVu dCBvbmUgaW50byBhIHBhaXIuICAqLwogICAgICAgaWYgKCFzYXRpc2ZpZXNf Y29uc3RyYWludF9VbXAgKG1lbSkKIAkgIHx8IEdQX1JFR05VTV9QIChyZWdu bykgIT0gR1BfUkVHTlVNX1AgKHJlZ25vMikKKwkgIHx8IChhYXJjaDY0X3Np bWRfZGVjbF9wIChjZnVuLT5kZWNsKSAmJiAoRlBfUkVHTlVNX1AgKHJlZ25v KSkpCiAJICB8fCBtYXliZV9uZSAoKG9mZnNldDIgLSBjZnVuLT5tYWNoaW5l LT5mcmFtZS5yZWdfb2Zmc2V0W3JlZ25vXSksCiAJCSAgICAgICBHRVRfTU9E RV9TSVpFIChtb2RlKSkpCiAJewpAQCAtNTE3OCw2ICs1MjY1LDI4IEBAIGFh cmNoNjRfYWxsb2NhdGVfYW5kX3Byb2JlX3N0YWNrX3NwYWNlIChydHggdGVt cDEsIHJ0eCB0ZW1wMiwKICAgICB9CiB9CiAKKy8qIFJldHVybiAxIGlmIHRo ZSByZWdpc3RlciBpcyB1c2VkIGJ5IHRoZSBlcGlsb2d1ZS4gIFdlIG5lZWQg dG8gc2F5IHRoZQorICAgcmV0dXJuIHJlZ2lzdGVyIGlzIHVzZWQsIGJ1dCBv bmx5IGFmdGVyIGVwaWxvZ3VlIGdlbmVyYXRpb24gaXMgY29tcGxldGUuCisg ICBOb3RlIHRoYXQgaW4gdGhlIGNhc2Ugb2Ygc2liY2FsbHMsIHRoZSB2YWx1 ZXMgInVzZWQgYnkgdGhlIGVwaWxvZ3VlIiBhcmUKKyAgIGNvbnNpZGVyZWQg bGl2ZSBhdCB0aGUgc3RhcnQgb2YgdGhlIGNhbGxlZCBmdW5jdGlvbi4KKwor ICAgRm9yIFNJTUQgZnVuY3Rpb25zIHdlIG5lZWQgdG8gcmV0dXJuIDEgZm9y IEZQIHJlZ2lzdGVycyB0aGF0IGFyZSBzYXZlZCBhbmQKKyAgIHJlc3RvcmVk IGJ5IGEgZnVuY3Rpb24gYnV0IGFyZSBub3QgemVybyBpbiBjYWxsX3VzZWRf cmVncy4gIElmIHdlIGRvIG5vdCBkbyAKKyAgIHRoaXMgb3B0aW1pemF0aW9u cyBtYXkgcmVtb3ZlIHRoZSByZXN0b3JlIG9mIHRoZSByZWdpc3Rlci4gICov CisKK2ludAorYWFyY2g2NF9lcGlsb2d1ZV91c2VzIChpbnQgcmVnbm8pCit7 CisgIGlmIChlcGlsb2d1ZV9jb21wbGV0ZWQpCisgICAgeworICAgICAgaWYg KHJlZ25vID09IExSX1JFR05VTSkKKwlyZXR1cm4gMTsKKyAgICAgIGlmIChh YXJjaDY0X3NpbWRfZGVjbF9wIChjZnVuLT5kZWNsKSAmJiBGUF9TSU1EX1NB VkVEX1JFR05VTV9QIChyZWdubykpCisJcmV0dXJuIDE7CisgICAgfQorICBy ZXR1cm4gMDsKK30KKwogLyogQWRkIGEgUkVHX0NGQV9FWFBSRVNTSU9OIG5v dGUgdG8gSU5TTiB0byBzYXkgdGhhdCByZWdpc3RlciBSRUcKICAgIGlzIHNh dmVkIGF0IEJBU0UgKyBPRkZTRVQuICAqLwogCkBAIC01MzUyLDggKzU0NjEs MTIgQEAgYWFyY2g2NF9leHBhbmRfcHJvbG9ndWUgKHZvaWQpCiAKICAgYWFy Y2g2NF9zYXZlX2NhbGxlZV9zYXZlcyAoREltb2RlLCBjYWxsZWVfb2Zmc2V0 LCBSMF9SRUdOVU0sIFIzMF9SRUdOVU0sCiAJCQkgICAgIGNhbGxlZV9hZGp1 c3QgIT0gMCB8fCBlbWl0X2ZyYW1lX2NoYWluKTsKLSAgYWFyY2g2NF9zYXZl X2NhbGxlZV9zYXZlcyAoREZtb2RlLCBjYWxsZWVfb2Zmc2V0LCBWMF9SRUdO VU0sIFYzMV9SRUdOVU0sCi0JCQkgICAgIGNhbGxlZV9hZGp1c3QgIT0gMCB8 fCBlbWl0X2ZyYW1lX2NoYWluKTsKKyAgaWYgKGFhcmNoNjRfc2ltZF9kZWNs X3AgKGNmdW4tPmRlY2wpKQorICAgIGFhcmNoNjRfc2F2ZV9jYWxsZWVfc2F2 ZXMgKFRGbW9kZSwgY2FsbGVlX29mZnNldCwgVjBfUkVHTlVNLCBWMzFfUkVH TlVNLAorCQkJICAgICAgIGNhbGxlZV9hZGp1c3QgIT0gMCB8fCBlbWl0X2Zy YW1lX2NoYWluKTsKKyAgZWxzZQorICAgIGFhcmNoNjRfc2F2ZV9jYWxsZWVf c2F2ZXMgKERGbW9kZSwgY2FsbGVlX29mZnNldCwgVjBfUkVHTlVNLCBWMzFf UkVHTlVNLAorCQkJICAgICAgIGNhbGxlZV9hZGp1c3QgIT0gMCB8fCBlbWl0 X2ZyYW1lX2NoYWluKTsKIAogICAvKiBXZSBtYXkgbmVlZCB0byBwcm9iZSB0 aGUgZmluYWwgYWRqdXN0bWVudCBpZiBpdCBpcyBsYXJnZXIgdGhhbiB0aGUg Z3VhcmQKICAgICAgdGhhdCBpcyBhc3N1bWVkIGJ5IHRoZSBjYWxsZWQuICAq LwpAQCAtNTM3OSw2ICs1NDkyLDE5IEBAIGFhcmNoNjRfdXNlX3JldHVybl9p bnNuX3AgKHZvaWQpCiAgIHJldHVybiBrbm93bl9lcSAoY2Z1bi0+bWFjaGlu ZS0+ZnJhbWUuZnJhbWVfc2l6ZSwgMCk7CiB9CiAKKy8qIFJldHVybiBmYWxz ZSBmb3Igbm9uLWxlYWYgU0lNRCBmdW5jdGlvbnMgaW4gb3JkZXIgdG8gYXZv aWQKKyAgIHNocmluay13cmFwcGluZyB0aGVtLiAgRG9pbmcgdGhpcyB3aWxs IGxvc2UgdGhlIG5lY2Vzc2FyeQorICAgc2F2ZS9yZXN0b3JlIG9mIEZQIHJl Z2lzdGVycy4gICovCisKK2Jvb2wKK2FhcmNoNjRfdXNlX3NpbXBsZV9yZXR1 cm5faW5zbl9wICh2b2lkKQoreworICBpZiAoYWFyY2g2NF9zaW1kX2RlY2xf cCAoY2Z1bi0+ZGVjbCkgJiYgIWNydGwtPmlzX2xlYWYpCisgICAgcmV0dXJu IGZhbHNlOworCisgIHJldHVybiB0cnVlOworfQorCiAvKiBHZW5lcmF0ZSB0 aGUgZXBpbG9ndWUgaW5zdHJ1Y3Rpb25zIGZvciByZXR1cm5pbmcgZnJvbSBh IGZ1bmN0aW9uLgogICAgVGhpcyBpcyBhbG1vc3QgZXhhY3RseSB0aGUgcmV2 ZXJzZSBvZiB0aGUgcHJvbG9nIHNlcXVlbmNlLCBleGNlcHQKICAgIHRoYXQg d2UgbmVlZCB0byBpbnNlcnQgYmFycmllcnMgdG8gYXZvaWQgc2NoZWR1bGlu ZyBsb2FkcyB0aGF0IHJlYWQKQEAgLTU0NDcsOCArNTU3MywxMiBAQCBhYXJj aDY0X2V4cGFuZF9lcGlsb2d1ZSAoYm9vbCBmb3Jfc2liY2FsbCkKIAogICBh YXJjaDY0X3Jlc3RvcmVfY2FsbGVlX3NhdmVzIChESW1vZGUsIGNhbGxlZV9v ZmZzZXQsIFIwX1JFR05VTSwgUjMwX1JFR05VTSwKIAkJCQljYWxsZWVfYWRq dXN0ICE9IDAsICZjZmlfb3BzKTsKLSAgYWFyY2g2NF9yZXN0b3JlX2NhbGxl ZV9zYXZlcyAoREZtb2RlLCBjYWxsZWVfb2Zmc2V0LCBWMF9SRUdOVU0sIFYz MV9SRUdOVU0sCi0JCQkJY2FsbGVlX2FkanVzdCAhPSAwLCAmY2ZpX29wcyk7 CisgIGlmIChhYXJjaDY0X3NpbWRfZGVjbF9wIChjZnVuLT5kZWNsKSkKKyAg ICBhYXJjaDY0X3Jlc3RvcmVfY2FsbGVlX3NhdmVzIChURm1vZGUsIGNhbGxl ZV9vZmZzZXQsIFYwX1JFR05VTSwgVjMxX1JFR05VTSwKKwkJCQkgIGNhbGxl ZV9hZGp1c3QgIT0gMCwgJmNmaV9vcHMpOworICBlbHNlCisgICAgYWFyY2g2 NF9yZXN0b3JlX2NhbGxlZV9zYXZlcyAoREZtb2RlLCBjYWxsZWVfb2Zmc2V0 LCBWMF9SRUdOVU0sIFYzMV9SRUdOVU0sCisJCQkJICBjYWxsZWVfYWRqdXN0 ICE9IDAsICZjZmlfb3BzKTsKIAogICBpZiAobmVlZF9iYXJyaWVyX3ApCiAg ICAgZW1pdF9pbnNuIChnZW5fc3RhY2tfdGllIChzdGFja19wb2ludGVyX3J0 eCwgc3RhY2tfcG9pbnRlcl9ydHgpKTsKQEAgLTE4MzEzLDYgKzE4NDQzLDkg QEAgYWFyY2g2NF9saWJnY2NfZmxvYXRpbmdfbW9kZV9zdXBwb3J0ZWRfcAog I3VuZGVmIFRBUkdFVF9TUEVDVUxBVElPTl9TQUZFX1ZBTFVFCiAjZGVmaW5l IFRBUkdFVF9TUEVDVUxBVElPTl9TQUZFX1ZBTFVFIGFhcmNoNjRfc3BlY3Vs YXRpb25fc2FmZV92YWx1ZQogCisjdW5kZWYgVEFSR0VUX0FUVFJJQlVURV9U QUJMRQorI2RlZmluZSBUQVJHRVRfQVRUUklCVVRFX1RBQkxFIGFhcmNoNjRf YXR0cmlidXRlX3RhYmxlCisKICNpZiBDSEVDS0lOR19QCiAjdW5kZWYgVEFS R0VUX1JVTl9UQVJHRVRfU0VMRlRFU1RTCiAjZGVmaW5lIFRBUkdFVF9SVU5f VEFSR0VUX1NFTEZURVNUUyBzZWxmdGVzdDo6YWFyY2g2NF9ydW5fc2VsZnRl c3RzCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC5o IGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQuaAppbmRleCAwYzgzM2E4 Li44YjViMmFiIDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFy Y2g2NC5oCisrKyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LmgKQEAg LTQwOSwxMyArNDA5LDcgQEAgZXh0ZXJuIHVuc2lnbmVkIGFhcmNoNjRfYXJj aGl0ZWN0dXJlX3ZlcnNpb247CiAgICAgVl9BTElBU0VTKDI4KSwgVl9BTElB U0VTKDI5KSwgVl9BTElBU0VTKDMwKSwgVl9BTElBU0VTKDMxKSAgXAogICB9 CiAKLS8qIFNheSB0aGF0IHRoZSByZXR1cm4gYWRkcmVzcyByZWdpc3RlciBp cyB1c2VkIGJ5IHRoZSBlcGlsb2d1ZSwgYnV0IG9ubHkgYWZ0ZXIKLSAgIGVw aWxvZ3VlIGdlbmVyYXRpb24gaXMgY29tcGxldGUuICBOb3RlIHRoYXQgaW4g dGhlIGNhc2Ugb2Ygc2liY2FsbHMsIHRoZQotICAgdmFsdWVzICJ1c2VkIGJ5 IHRoZSBlcGlsb2d1ZSIgYXJlIGNvbnNpZGVyZWQgbGl2ZSBhdCB0aGUgc3Rh cnQgb2YgdGhlIGNhbGxlZAotICAgZnVuY3Rpb24uICAqLwotCi0jZGVmaW5l IEVQSUxPR1VFX1VTRVMoUkVHTk8pIFwKLSAgKGVwaWxvZ3VlX2NvbXBsZXRl ZCAmJiAoUkVHTk8pID09IExSX1JFR05VTSkKKyNkZWZpbmUgRVBJTE9HVUVf VVNFUyhSRUdOTykgKGFhcmNoNjRfZXBpbG9ndWVfdXNlcyAoUkVHTk8pKQog CiAvKiBFWElUX0lHTk9SRV9TVEFDSyBzaG91bGQgYmUgbm9uemVybyBpZiwg d2hlbiByZXR1cm5pbmcgZnJvbSBhIGZ1bmN0aW9uLAogICAgdGhlIHN0YWNr IHBvaW50ZXIgZG9lcyBub3QgbWF0dGVyLiAgVGhpcyBpcyBvbmx5IHRydWUg aWYgdGhlIGZ1bmN0aW9uCkBAIC01MjMsNiArNTE3LDggQEAgZXh0ZXJuIHVu c2lnbmVkIGFhcmNoNjRfYXJjaGl0ZWN0dXJlX3ZlcnNpb247CiAjZGVmaW5l IFBSX0xPX1JFR05VTV9QKFJFR05PKVwKICAgKCgodW5zaWduZWQpIChSRUdO TyAtIFAwX1JFR05VTSkpIDw9IChQN19SRUdOVU0gLSBQMF9SRUdOVU0pKQog CisjZGVmaW5lIEZQX1NJTURfU0FWRURfUkVHTlVNX1AoUkVHTk8pCQkJXAor ICAoKCh1bnNpZ25lZCkgKFJFR05PIC0gVjhfUkVHTlVNKSkgPD0gKFYyM19S RUdOVU0gLSBWOF9SRUdOVU0pKQogDAogLyogUmVnaXN0ZXIgYW5kIGNvbnN0 YW50IGNsYXNzZXMuICAqLwogCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2Fh cmNoNjQvYWFyY2g2NC5tZCBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0 Lm1kCmluZGV4IDgyYWY0ZDQuLjQ0MjYxZWUgMTAwNjQ0Ci0tLSBhL2djYy9j b25maWcvYWFyY2g2NC9hYXJjaDY0Lm1kCisrKyBiL2djYy9jb25maWcvYWFy Y2g2NC9hYXJjaDY0Lm1kCkBAIC03MjQsNyArNzI0LDEzIEBACiAgICIiCiAp CiAKLShkZWZpbmVfaW5zbiAic2ltcGxlX3JldHVybiIKKyhkZWZpbmVfZXhw YW5kICJzaW1wbGVfcmV0dXJuIgorICBbKHNpbXBsZV9yZXR1cm4pXQorICAi YWFyY2g2NF91c2Vfc2ltcGxlX3JldHVybl9pbnNuX3AgKCkiCisgICIiCisp CisKKyhkZWZpbmVfaW5zbiAiKnNpbXBsZV9yZXR1cm4iCiAgIFsoc2ltcGxl X3JldHVybildCiAgICIiCiAgICJyZXQiCkBAIC0xMzg2LDYgKzEzOTIsMjEg QEAKICAgIChzZXRfYXR0ciAiYXJjaCIgIiosZnAiKV0KICkKIAorKGRlZmlu ZV9pbnNuICJsb2FkX3BhaXJfZHdfdGZ0ZiIKKyAgWyhzZXQgKG1hdGNoX29w ZXJhbmQ6VEYgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj13IikKKwkobWF0Y2hf b3BlcmFuZDpURiAxICJhYXJjaDY0X21lbV9wYWlyX29wZXJhbmQiICJVbXAi KSkKKyAgIChzZXQgKG1hdGNoX29wZXJhbmQ6VEYgMiAicmVnaXN0ZXJfb3Bl cmFuZCIgIj13IikKKwkobWF0Y2hfb3BlcmFuZDpURiAzICJtZW1vcnlfb3Bl cmFuZCIgIm0iKSldCisgICAiVEFSR0VUX1NJTUQKKyAgICAmJiBydHhfZXF1 YWxfcCAoWEVYUCAob3BlcmFuZHNbM10sIDApLAorCQkgICAgcGx1c19jb25z dGFudCAoUG1vZGUsCisJCQkJICAgWEVYUCAob3BlcmFuZHNbMV0sIDApLAor CQkJCSAgIEdFVF9NT0RFX1NJWkUgKFRGbW9kZSkpKSIKKyAgImxkcFxcdCVx MCwgJXEyLCAlMSIKKyAgWyhzZXRfYXR0ciAidHlwZSIgIm5lb25fbGRwX3Ei KQorICAgKHNldF9hdHRyICJmcCIgInllcyIpXQorKQorCiA7OyBPcGVyYW5k cyAwIGFuZCAyIGFyZSB0aWVkIHRvZ2V0aGVyIGJ5IHRoZSBmaW5hbCBjb25k aXRpb247IHNvIHdlIGFsbG93CiA7OyBmYWlybHkgbGF4IGNoZWNraW5nIG9u IHRoZSBzZWNvbmQgbWVtb3J5IG9wZXJhdGlvbi4KIChkZWZpbmVfaW5zbiAi c3RvcmVfcGFpcl9zd188U1g6bW9kZT48U1gyOm1vZGU+IgpAQCAtMTQyMSw2 ICsxNDQyLDIxIEBACiAgICAoc2V0X2F0dHIgImFyY2giICIqLGZwIildCiAp CiAKKyhkZWZpbmVfaW5zbiAic3RvcmVfcGFpcl9kd190ZnRmIgorICBbKHNl dCAobWF0Y2hfb3BlcmFuZDpURiAwICJhYXJjaDY0X21lbV9wYWlyX29wZXJh bmQiICI9VW1wIikKKwkobWF0Y2hfb3BlcmFuZDpURiAxICJyZWdpc3Rlcl9v cGVyYW5kIiAidyIpKQorICAgKHNldCAobWF0Y2hfb3BlcmFuZDpURiAyICJt ZW1vcnlfb3BlcmFuZCIgIj1tIikKKwkobWF0Y2hfb3BlcmFuZDpURiAzICJy ZWdpc3Rlcl9vcGVyYW5kIiAidyIpKV0KKyAgICJUQVJHRVRfU0lNRCAmJgor ICAgIHJ0eF9lcXVhbF9wIChYRVhQIChvcGVyYW5kc1syXSwgMCksCisJCSBw bHVzX2NvbnN0YW50IChQbW9kZSwKKwkJCQlYRVhQIChvcGVyYW5kc1swXSwg MCksCisJCQkJR0VUX01PREVfU0laRSAoVEZtb2RlKSkpIgorICAic3RwXFx0 JXExLCAlcTMsICUwIgorICBbKHNldF9hdHRyICJ0eXBlIiAibmVvbl9zdHBf cSIpCisgICAoc2V0X2F0dHIgImZwIiAieWVzIildCispCisKIDs7IExvYWQg cGFpciB3aXRoIHBvc3QtaW5kZXggd3JpdGViYWNrLiAgVGhpcyBpcyBwcmlt YXJpbHkgdXNlZCBpbiBmdW5jdGlvbgogOzsgZXBpbG9ndWVzLgogKGRlZmlu ZV9pbnNuICJsb2Fkd2JfcGFpcjxHUEk6bW9kZT5fPFA6bW9kZT4iCkBAIC0x NDUzLDYgKzE0ODksMjEgQEAKICAgWyhzZXRfYXR0ciAidHlwZSIgIm5lb25f bG9hZDFfMnJlZyIpXQogKQogCisoZGVmaW5lX2luc24gImxvYWR3Yl9wYWly PFRYOm1vZGU+XzxQOm1vZGU+IgorICBbKHBhcmFsbGVsCisgICAgWyhzZXQg KG1hdGNoX29wZXJhbmQ6UCAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPWsiKQor ICAgICAgICAgIChwbHVzOlAgKG1hdGNoX29wZXJhbmQ6UCAxICJyZWdpc3Rl cl9vcGVyYW5kIiAiMCIpCisgICAgICAgICAgICAgICAgICAobWF0Y2hfb3Bl cmFuZDpQIDQgImFhcmNoNjRfbWVtX3BhaXJfb2Zmc2V0IiAibiIpKSkKKyAg ICAgKHNldCAobWF0Y2hfb3BlcmFuZDpUWCAyICJyZWdpc3Rlcl9vcGVyYW5k IiAiPXciKQorICAgICAgICAgIChtZW06VFggKG1hdGNoX2R1cCAxKSkpCisg ICAgIChzZXQgKG1hdGNoX29wZXJhbmQ6VFggMyAicmVnaXN0ZXJfb3BlcmFu ZCIgIj13IikKKyAgICAgICAgICAobWVtOlRYIChwbHVzOlAgKG1hdGNoX2R1 cCAxKQorICAgICAgICAgICAgICAgICAgKG1hdGNoX29wZXJhbmQ6UCA1ICJj b25zdF9pbnRfb3BlcmFuZCIgIm4iKSkpKV0pXQorICAiVEFSR0VUX1NJTUQg JiYgSU5UVkFMIChvcGVyYW5kc1s1XSkgPT0gR0VUX01PREVfU0laRSAoPFRY Ok1PREU+bW9kZSkiCisgICJsZHBcXHQlcTIsICVxMywgWyUxXSwgJTQiCisg IFsoc2V0X2F0dHIgInR5cGUiICJuZW9uX2xkcF9xIildCispCisKIDs7IFN0 b3JlIHBhaXIgd2l0aCBwcmUtaW5kZXggd3JpdGViYWNrLiAgVGhpcyBpcyBw cmltYXJpbHkgdXNlZCBpbiBmdW5jdGlvbgogOzsgcHJvbG9ndWVzLgogKGRl ZmluZV9pbnNuICJzdG9yZXdiX3BhaXI8R1BJOm1vZGU+XzxQOm1vZGU+IgpA QCAtMTQ4Nyw2ICsxNTM4LDIzIEBACiAgIFsoc2V0X2F0dHIgInR5cGUiICJu ZW9uX3N0b3JlMV8ycmVnPHE+IildCiApCiAKKyhkZWZpbmVfaW5zbiAic3Rv cmV3Yl9wYWlyPFRYOm1vZGU+XzxQOm1vZGU+IgorICBbKHBhcmFsbGVsCisg ICAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6UCAwICJyZWdpc3Rlcl9vcGVyYW5k IiAiPSZrIikKKyAgICAgICAgICAocGx1czpQIChtYXRjaF9vcGVyYW5kOlAg MSAicmVnaXN0ZXJfb3BlcmFuZCIgIjAiKQorICAgICAgICAgICAgICAgICAg KG1hdGNoX29wZXJhbmQ6UCA0ICJhYXJjaDY0X21lbV9wYWlyX29mZnNldCIg Im4iKSkpCisgICAgIChzZXQgKG1lbTpUWCAocGx1czpQIChtYXRjaF9kdXAg MCkKKyAgICAgICAgICAgICAgICAgIChtYXRjaF9kdXAgNCkpKQorICAgICAg ICAgIChtYXRjaF9vcGVyYW5kOlRYIDIgInJlZ2lzdGVyX29wZXJhbmQiICJ3 IikpCisgICAgIChzZXQgKG1lbTpUWCAocGx1czpQIChtYXRjaF9kdXAgMCkK KyAgICAgICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kOlAgNSAiY29uc3Rf aW50X29wZXJhbmQiICJuIikpKQorICAgICAgICAgIChtYXRjaF9vcGVyYW5k OlRYIDMgInJlZ2lzdGVyX29wZXJhbmQiICJ3IikpXSldCisgICJUQVJHRVRf U0lNRCAmJgorICAgSU5UVkFMIChvcGVyYW5kc1s1XSkgPT0gSU5UVkFMIChv cGVyYW5kc1s0XSkgKyBHRVRfTU9ERV9TSVpFICg8VFg6TU9ERT5tb2RlKSIK KyAgInN0cFxcdCVxMiwgJXEzLCBbJTAsICU0XSEiCisgIFsoc2V0X2F0dHIg InR5cGUiICJuZW9uX3N0cF9xIildCispCisKIDs7IC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KIDs7IFNpZ24vWmVybyBleHRlbnNpb24KIDs7IC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0K --_003_1541699539120166camelcaviumcom_ Content-Type: text/x-patch; name="gcc-vect-abi-test.patch" Content-Description: gcc-vect-abi-test.patch Content-Disposition: attachment; filename="gcc-vect-abi-test.patch"; size=10098; creation-date="Thu, 08 Nov 2018 17:52:20 GMT"; modification-date="Thu, 08 Nov 2018 17:52:20 GMT" Content-ID: <96890294148B4D418FC91C583EAC64AC@namprd07.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 13689 ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0 L3RvcnR1cmUvYWFyY2g2NC10b3J0dXJlLmV4cCBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9hYXJjaDY0L3RvcnR1cmUvYWFyY2g2NC10b3J0dXJlLmV4 cAppbmRleCBlNjlkZTI5Li4yMmYwOGZmIDEwMDY0NAotLS0gYS9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC90b3J0dXJlL2FhcmNoNjQtdG9y dHVyZS5leHAKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNo NjQvdG9ydHVyZS9hYXJjaDY0LXRvcnR1cmUuZXhwCkBAIC0wLDAgKzEsNDEg QEAKKyMgICBDb3B5cmlnaHQgKEMpIDIwMTggRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCisKKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg b3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMg CisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor IyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCisjIAorIyBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZQorIyBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkcz LiAgSWYgbm90IHNlZQorIyA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2Vz Lz4uCisKKyMgR0NDIHRlc3RzdWl0ZSB0aGF0IHVzZXMgdGhlIGBnY2MtZGcu ZXhwJyBkcml2ZXIsIGxvb3Bpbmcgb3ZlcgorIyBvcHRpbWl6YXRpb24gb3B0 aW9ucy4KKworIyBFeGl0IGltbWVkaWF0ZWx5IGlmIHRoaXMgaXNuJ3QgYSBB YXJjaDY0IHRhcmdldC4KK2lmIHsgIVtpc3RhcmdldCBhYXJjaDY0Ki0qLSpd IH0gdGhlbiB7CisgIHJldHVybgorfQorCisjIExvYWQgc3VwcG9ydCBwcm9j cy4KK2xvYWRfbGliIGdjYy1kZy5leHAKKworIyBJZiBhIHRlc3RjYXNlIGRv ZXNuJ3QgaGF2ZSBzcGVjaWFsIG9wdGlvbnMsIHVzZSB0aGVzZS4KK2dsb2Jh bCBERUZBVUxUX0NGTEFHUworaWYgIVtpbmZvIGV4aXN0cyBERUZBVUxUX0NG TEFHU10gdGhlbiB7CisgICAgc2V0IERFRkFVTFRfQ0ZMQUdTICIgLWFuc2kg LXBlZGFudGljLWVycm9ycyIKK30KKworIyBJbml0aWFsaXplIGBkZycuCitk Zy1pbml0CisKKyMgTWFpbiBsb29wLgorZ2NjLWRnLXJ1bnRlc3QgW2xzb3J0 IFtnbG9iIC1ub2NvbXBsYWluICRzcmNkaXIvJHN1YmRpci8qLlxbY1NcXV1d ICIiICRERUZBVUxUX0NGTEFHUworCisjIEFsbCBkb25lLgorZGctZmluaXNo CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2 NC90b3J0dXJlL3NpbWQtYWJpLTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9hYXJjaDY0L3RvcnR1cmUvc2ltZC1hYmktMS5jCmluZGV4IGU2OWRl MjkuLjI0OTU1NGUgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9hYXJjaDY0L3RvcnR1cmUvc2ltZC1hYmktMS5jCisrKyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3RvcnR1cmUvc2ltZC1hYmkt MS5jCkBAIC0wLDAgKzEsNDEgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICov CisKK3ZvaWQgX19hdHRyaWJ1dGVfXyAoKGFhcmNoNjRfdmVjdG9yX3Bjcykp CitmICh2b2lkKQoreworICAvKiBDbG9iYmVyIGFsbCBmcC9zaW1kIHJlZ3Mg YW5kIHZlcmlmeSB0aGF0IHRoZSBjb3JyZWN0IG9uZXMgYXJlIHNhdmVkCisg ICAgIGFuZCByZXN0b3JlZCBpbiB0aGUgcHJvbG9ndWUgYW5kIGVwaWxvZ3Vl IG9mIGEgU0lNRCBmdW5jdGlvbi4gKi8KKyAgX19hc21fXyBfX3ZvbGF0aWxl X18gKCIiIDo6OiAgInEwIiwgICJxMSIsICAicTIiLCAgInEzIik7CisgIF9f YXNtX18gX192b2xhdGlsZV9fICgiIiA6OjogICJxNCIsICAicTUiLCAgInE2 IiwgICJxNyIpOworICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoIiIgOjo6ICAi cTgiLCAgInE5IiwgInExMCIsICJxMTEiKTsKKyAgX19hc21fXyBfX3ZvbGF0 aWxlX18gKCIiIDo6OiAicTEyIiwgInExMyIsICJxMTQiLCAicTE1Iik7Cisg IF9fYXNtX18gX192b2xhdGlsZV9fICgiIiA6OjogInExNiIsICJxMTciLCAi cTE4IiwgInExOSIpOworICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoIiIgOjo6 ICJxMjAiLCAicTIxIiwgInEyMiIsICJxMjMiKTsKKyAgX19hc21fXyBfX3Zv bGF0aWxlX18gKCIiIDo6OiAicTI0IiwgInEyNSIsICJxMjYiLCAicTI3Iik7 CisgIF9fYXNtX18gX192b2xhdGlsZV9fICgiIiA6OjogInEyOCIsICJxMjki LCAicTMwIiwgInEzMSIpOworfQorCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXIge1xzc3RwXHRxOCwgcTl9IH0gfSAqLworLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyIHtcc3N0cFx0cTEwLCBxMTF9IH0gfSAqLwor LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyIHtcc3N0cFx0cTEyLCBx MTN9IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyIHtc c3N0cFx0cTE0LCBxMTV9IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyIHtcc3N0cFx0cTE2LCBxMTd9IH0gfSAqLworLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyIHtcc3N0cFx0cTE4LCBxMTl9IH0gfSAq LworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyIHtcc3N0cFx0cTIw LCBxMjF9IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy IHtcc3N0cFx0cTIyLCBxMjN9IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyIHtcc2xkcFx0cTgsIHE5fSB9IH0gKi8KKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlciB7XHNsZHBcdHExMCwgcTExfSB9IH0g Ki8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciB7XHNsZHBcdHEx MiwgcTEzfSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ciB7XHNsZHBcdHExNCwgcTE1fSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlciB7XHNsZHBcdHExNiwgcTE3fSB9IH0gKi8KKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciB7XHNsZHBcdHExOCwgcTE5fSB9 IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciB7XHNsZHBc dHEyMCwgcTIxfSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt YmxlciB7XHNsZHBcdHEyMiwgcTIzfSB9IH0gKi8KKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci1ub3Qge1xzc3RwXHRxWzAzNDU2N119IH0gfSAq LworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7XHNsZHBc dHFbMDM0NTY3XX0gfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItbm90IHtcc3N0cFx0cTJbNDU2Nzg5XX0gfSB9ICovCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHtcc2xkcFx0cTJbNDU2Nzg5 XX0gfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90 IHtcc3N0cFx0ZH0gfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItbm90IHtcc2xkcFx0ZH0gfSB9ICovCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItbm90IHtcc3N0clx0fSB9IH0gKi8KKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qge1xzbGRyXHR9IH0gfSAqLwpk aWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQv dG9ydHVyZS9zaW1kLWFiaS0yLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvYWFyY2g2NC90b3J0dXJlL3NpbWQtYWJpLTIuYwppbmRleCBlNjlkZTI5 Li5iZjZlNjRhIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvYWFyY2g2NC90b3J0dXJlL3NpbWQtYWJpLTIuYworKysgYi9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC90b3J0dXJlL3NpbWQtYWJpLTIu YwpAQCAtMCwwICsxLDMzIEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwor Cit2b2lkCitmICh2b2lkKQoreworICAvKiBDbG9iYmVyIGFsbCBmcC9zaW1k IHJlZ3MgYW5kIHZlcmlmeSB0aGF0IHRoZSBjb3JyZWN0IG9uZXMgYXJlIHNh dmVkCisgICAgIGFuZCByZXN0b3JlZCBpbiB0aGUgcHJvbG9ndWUgYW5kIGVw aWxvZ3VlIG9mIGEgU0lNRCBmdW5jdGlvbi4gKi8KKyAgX19hc21fXyBfX3Zv bGF0aWxlX18gKCIiIDo6OiAgInEwIiwgICJxMSIsICAicTIiLCAgInEzIik7 CisgIF9fYXNtX18gX192b2xhdGlsZV9fICgiIiA6OjogICJxNCIsICAicTUi LCAgInE2IiwgICJxNyIpOworICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoIiIg Ojo6ICAicTgiLCAgInE5IiwgInExMCIsICJxMTEiKTsKKyAgX19hc21fXyBf X3ZvbGF0aWxlX18gKCIiIDo6OiAicTEyIiwgInExMyIsICJxMTQiLCAicTE1 Iik7CisgIF9fYXNtX18gX192b2xhdGlsZV9fICgiIiA6OjogInExNiIsICJx MTciLCAicTE4IiwgInExOSIpOworICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAo IiIgOjo6ICJxMjAiLCAicTIxIiwgInEyMiIsICJxMjMiKTsKKyAgX19hc21f XyBfX3ZvbGF0aWxlX18gKCIiIDo6OiAicTI0IiwgInEyNSIsICJxMjYiLCAi cTI3Iik7CisgIF9fYXNtX18gX192b2xhdGlsZV9fICgiIiA6OjogInEyOCIs ICJxMjkiLCAicTMwIiwgInEzMSIpOworfQorCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXIge1xzc3RwXHRkOCwgZDl9IH0gfSAqLworLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyIHtcc3N0cFx0ZDEwLCBkMTF9IH0g fSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyIHtcc3N0cFx0 ZDEyLCBkMTN9IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyIHtcc3N0cFx0ZDE0LCBkMTV9IH0gfSAqLworLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyIHtcc2xkcFx0ZDgsIGQ5fSB9IH0gKi8KKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciB7XHNsZHBcdGQxMCwgZDExfSB9 IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciB7XHNsZHBc dGQxMiwgZDEzfSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt YmxlciB7XHNsZHBcdGQxNCwgZDE1fSB9IH0gKi8KKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci1ub3Qge1xzc3RwXHRxfSB9IH0gKi8KKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qge1xzbGRwXHRxfSB9IH0g Ki8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qge1xzc3Rw XHRxWzAxMjM0NTY3XX0gfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItbm90IHtcc2xkcFx0cVswMTIzNDU2N119IH0gfSAqLworLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7XHNzdHBcdHExWzY3 ODldfSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1u b3Qge1xzbGRwXHRxMVs2Nzg5XX0gfSB9ICovCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItbm90IHtcc3N0clx0fSB9IH0gKi8KKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qge1xzbGRyXHR9IH0gfSAqLwpk aWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQv dG9ydHVyZS9zaW1kLWFiaS0zLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvYWFyY2g2NC90b3J0dXJlL3NpbWQtYWJpLTMuYwppbmRleCBlNjlkZTI5 Li43ZDRmNTRmIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvYWFyY2g2NC90b3J0dXJlL3NpbWQtYWJpLTMuYworKysgYi9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC90b3J0dXJlL3NpbWQtYWJpLTMu YwpAQCAtMCwwICsxLDM0IEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwor CitleHRlcm4gdm9pZCBnICh2b2lkKTsKKwordm9pZCBfX2F0dHJpYnV0ZV9f ICgoYWFyY2g2NF92ZWN0b3JfcGNzKSkKK2YgKHZvaWQpCit7CisJZygpOwor fQorCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIge1xzc3RwXHRx OCwgcTl9IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy IHtcc3N0cFx0cTEwLCBxMTF9IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyIHtcc3N0cFx0cTEyLCBxMTN9IH0gfSAqLworLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyIHtcc3N0cFx0cTE0LCBxMTV9IH0g fSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyIHtcc3N0cFx0 cTE2LCBxMTd9IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyIHtcc3N0cFx0cTE4LCBxMTl9IH0gfSAqLworLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyIHtcc3N0cFx0cTIwLCBxMjF9IH0gfSAqLworLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyIHtcc3N0cFx0cTIyLCBxMjN9 IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyIHtcc2xk cFx0cTgsIHE5fSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt YmxlciB7XHNsZHBcdHExMCwgcTExfSB9IH0gKi8KKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlciB7XHNsZHBcdHExMiwgcTEzfSB9IH0gKi8KKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciB7XHNsZHBcdHExNCwgcTE1 fSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciB7XHNs ZHBcdHExNiwgcTE3fSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlciB7XHNsZHBcdHExOCwgcTE5fSB9IH0gKi8KKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlciB7XHNsZHBcdHEyMCwgcTIxfSB9IH0gKi8K Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciB7XHNsZHBcdHEyMiwg cTIzfSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1u b3Qge1xzc3RwXHRxWzAzNDU2N119IH0gfSAqLworLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLW5vdCB7XHNsZHBcdHFbMDM0NTY3XX0gfSB9ICov CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHtcc3N0cFx0 cTJbNDU2Nzg5XX0gfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItbm90IHtcc2xkcFx0cTJbNDU2Nzg5XX0gfSB9ICovCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHtcc3N0cFx0ZH0gfSB9ICov CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHtcc2xkcFx0 ZH0gfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90 IHtcc3N0clx0fSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci1ub3Qge1xzbGRyXHR9IH0gfSAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvdG9ydHVyZS9zaW1kLWFiaS00 LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC90b3J0dXJl L3NpbWQtYWJpLTQuYwppbmRleCBlNjlkZTI5Li5lMzk5NjkwIDEwMDY0NAot LS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC90b3J0dXJl L3NpbWQtYWJpLTQuYworKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv YWFyY2g2NC90b3J0dXJlL3NpbWQtYWJpLTQuYwpAQCAtMCwwICsxLDM0IEBA CisvKiBkZy1kbyBydW4gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25z ICItc3RkPWM5OSIgfSAgKi8KKworCisKKy8qIFRoZXJlIGlzIG5vdGhpbmcg c3BlY2lhbCBhYm91dCB0aGUgY2FsY3VsYXRpb25zIGhlcmUsIHRoaXMgaXMg anVzdAorICAgYSB0ZXN0IHRoYXQgY2FuIGJlIGNvbXBpbGVkIGFuZCBydW4u ICAqLworCitleHRlcm4gdm9pZCBhYm9ydCAodm9pZCk7CisKK19fRmxvYXQ2 NHgyX3QgX19hdHRyaWJ1dGVfXyAoKG5vaW5saW5lLCBhYXJjaDY0X3ZlY3Rv cl9wY3MpKQorZm9vKF9fRmxvYXQ2NHgyX3QgYSwgX19GbG9hdDY0eDJfdCBi LCBfX0Zsb2F0NjR4Ml90IGMsCisgICAgX19GbG9hdDY0eDJfdCBkLCBfX0Zs b2F0NjR4Ml90IGUsIF9fRmxvYXQ2NHgyX3QgZiwKKyAgICBfX0Zsb2F0NjR4 Ml90IGcsIF9fRmxvYXQ2NHgyX3QgaCwgX19GbG9hdDY0eDJfdCBpKQorewor CV9fRmxvYXQ2NHgyX3QgdywgeCwgeSwgejsKKwl3ID0gYSArIGIgKiBjOwor CXggPSBkICsgZSAqIGY7CisJeSA9IGcgKyBoICogaTsKKwlyZXR1cm4gdyAr IHggKiB5OworfQorCisKK2ludCBtYWluKCkKK3sKKwlfX0Zsb2F0NjR4Ml90 IGEsIGIsIGMsIGQ7CisJYSA9IChfX0Zsb2F0NjR4Ml90KSB7IDEuMCwgMi4w IH07CisJYiA9IChfX0Zsb2F0NjR4Ml90KSB7IDMuMCwgNC4wIH07CisJYyA9 IChfX0Zsb2F0NjR4Ml90KSB7IDUuMCwgNi4wIH07CisJZCA9IGZvbyAoYSwg YiwgYywgKGErYiksIChiK2MpLCAoYStjKSwgKGEtYiksIChiLWMpLCAoYS1j KSkgKyBhICsgYiArIGM7CisJaWYgKGRbMF0gIT0gMzM3LjAgfHwgZFsxXSAh PSA1NTQuMCkKKwkJYWJvcnQgKCk7CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC90b3J0dXJl L3NpbWQtYWJpLTUuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJj aDY0L3RvcnR1cmUvc2ltZC1hYmktNS5jCmluZGV4IGU2OWRlMjkuLjdkNjM5 YTVlIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFy Y2g2NC90b3J0dXJlL3NpbWQtYWJpLTUuYworKysgYi9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvYWFyY2g2NC90b3J0dXJlL3NpbWQtYWJpLTUuYwpAQCAt MCwwICsxLDIyIEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworCit2b2lk IF9fYXR0cmlidXRlX18gKChhYXJjaDY0X3ZlY3Rvcl9wY3MpKQorZiAodm9p ZCkKK3sKKyAgLyogQ2xvYmJlciBzb21lIGZwL3NpbWQgcmVncyBhbmQgdmVy aWZ5IHRoYXQgb25seSB0aG9zZSBhcmUgc2F2ZWQKKyAgICAgYW5kIHJlc3Rv cmVkIGluIHRoZSBwcm9sb2d1ZSBhbmQgZXBpbG9ndWUgb2YgYSBTSU1EIGZ1 bmN0aW9uLiAqLworICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoIiIgOjo6ICAi cTgiLCAgInE5IiwgInExMCIsICJxMTEiKTsKK30KKworLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyIHtcc3N0cFx0cTgsIHE5fSB9IH0gKi8KKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciB7XHNzdHBcdHExMCwgcTEx fSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qg e1xzc3RwXHRxWzAzNDU2N119IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLW5vdCB7XHNsZHBcdHFbMDM0NTY3XX0gfSB9ICovCisv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHtcc3N0cFx0cTFb MjM0NTY3ODldfSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci1ub3Qge1xzbGRwXHRxMVsyMzQ1Njc4OV19IH0gfSAqLworLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7XHNzdHBcdHEyWzQ1Njc4 OV19IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5v dCB7XHNsZHBcdHEyWzQ1Njc4OV19IH0gfSAqLworLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLW5vdCB7XHNzdHBcdGR9IH0gfSAqLworLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7XHNsZHBcdGR9IH0gfSAq LworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7XHNzdHJc dH0gfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90 IHtcc2xkclx0fSB9IH0gKi8K --_003_1541699539120166camelcaviumcom_--