From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2056.outbound.protection.outlook.com [40.107.21.56]) by sourceware.org (Postfix) with ESMTPS id 3FBF73858D37 for ; Fri, 13 Jan 2023 16:05:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3FBF73858D37 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FOV+64c8uzEY7nxWDHOTWHmQAkuqf80DvlfUmonQ4VA=; b=Tj3sv4aJIptni1DqskD2G/74/oW6S42WKcv2I6L6ydbPXM4wHU0hp5g9C1+LEL/IczDP+3cBsAM9BGg0tvz8O+ukQvbLnv6TS4GbivvUOYFdtF1apjidhckH2GesTw0mX2BTf9/pcbihmq5Btdg/zgfLMi3VC4fn121dExKclvo= Received: from AM6PR04CA0052.eurprd04.prod.outlook.com (2603:10a6:20b:f0::29) by AS8PR08MB5959.eurprd08.prod.outlook.com (2603:10a6:20b:298::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.19; Fri, 13 Jan 2023 16:05:42 +0000 Received: from AM7EUR03FT045.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:f0:cafe::61) by AM6PR04CA0052.outlook.office365.com (2603:10a6:20b:f0::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.14 via Frontend Transport; Fri, 13 Jan 2023 16:05:42 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM7EUR03FT045.mail.protection.outlook.com (100.127.140.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.13 via Frontend Transport; Fri, 13 Jan 2023 16:05:42 +0000 Received: ("Tessian outbound baf1b7a96f25:v132"); Fri, 13 Jan 2023 16:05:42 +0000 X-CR-MTA-TID: 64aa7808 Received: from 9f9d4936eda5.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id DA50F55A-10BA-4D7E-8B15-484208F7735D.1; Fri, 13 Jan 2023 16:05:36 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9f9d4936eda5.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 13 Jan 2023 16:05:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E8oZQNvI1mV/uKTVNB+P05/wFhbNqDwghPgM09x1gIzpa9DZEatrJ/Uu8vIVM3CF6HQ1RjCzKOC6JrfVw62nUDfb2y0MqTqi261EPbtEg5wwWa/JczVdICDUEMVxVYWt1+K7cMqm7gX1P2UUM81haB7IkapZjyalzxMLTBbdM7ihAuSWjfj3vOlO1vHAne0BGw9VQXC/XtxgjrC8h127dynR/lImTyOkr0jj9D2RJ1MWbqAYILuLgn0ONmYJzbu6DYQXXOnJqpMb2ckj3Ho7+4kE5Wr0BqRFz675uH1gE5BSlmEA/OGw4EuNY0LxNLHjrA39ztqKsU9AI8844Cjc5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=FOV+64c8uzEY7nxWDHOTWHmQAkuqf80DvlfUmonQ4VA=; b=aBZFpVOt5Hp1yuWQzmL4F1G6p+KUcufxX6WCVPDPQmachqIUoTKYx+gKX6+oenPbAONgq6vCzjiysifN/O5vNLJbkDmztwCDphO7YsAOkB6TGR3aQy//luF4rqkyXifnzdc3M7+mcQhasLrADp0Dp+gOrtRSmQdX8XSq3ZebXRwll+Du8Pywoer1Zh8Yf5McpXX+oLAp4kJi1iK+kon4ZRhE4daxn52AGcx8RhWl9ce8m7vEB9PMdSXI3oy4bUs2TV/trDOP9DnnaOzKbWnwzLWNtzlRPjySaqE/Vw5FdgQxMloEDzdUxwl5Xokydbsxkjq2f5cUNobPk7NcOY+IUA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FOV+64c8uzEY7nxWDHOTWHmQAkuqf80DvlfUmonQ4VA=; b=Tj3sv4aJIptni1DqskD2G/74/oW6S42WKcv2I6L6ydbPXM4wHU0hp5g9C1+LEL/IczDP+3cBsAM9BGg0tvz8O+ukQvbLnv6TS4GbivvUOYFdtF1apjidhckH2GesTw0mX2BTf9/pcbihmq5Btdg/zgfLMi3VC4fn121dExKclvo= Received: from DB9PR08MB6553.eurprd08.prod.outlook.com (2603:10a6:10:25b::15) by DU0PR08MB7592.eurprd08.prod.outlook.com (2603:10a6:10:311::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.18; Fri, 13 Jan 2023 16:05:35 +0000 Received: from DB9PR08MB6553.eurprd08.prod.outlook.com ([fe80::eb84:3d2b:515:4222]) by DB9PR08MB6553.eurprd08.prod.outlook.com ([fe80::eb84:3d2b:515:4222%8]) with mapi id 15.20.6002.013; Fri, 13 Jan 2023 16:05:34 +0000 From: Andre Simoes Dias Vieira To: "'gcc-patches@gcc.gnu.org'" CC: Richard Earnshaw , Kyrylo Tkachov Subject: [PATCH] arm: Make MVE masked stores read memory operand [PR 108177] Thread-Topic: [PATCH] arm: Make MVE masked stores read memory operand [PR 108177] Thread-Index: AdknaMplYwlZfSj6QbaBqjBf/vJ8DA== Date: Fri, 13 Jan 2023 16:05:33 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ts-tracking-id: 8C6B3634C853B547ABA0785E020D3389.0 x-checkrecipientchecked: true Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: DB9PR08MB6553:EE_|DU0PR08MB7592:EE_|AM7EUR03FT045:EE_|AS8PR08MB5959:EE_ X-MS-Office365-Filtering-Correlation-Id: 4560f03e-8151-41aa-0f4a-08daf5800593 x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: D7Z46Vx5LfJOlwuokQoYnrWZ9ASrCWnJ/KiUHGTaFhXlJk9/tO5KSZxdSaOuE0mgLpzS20px0OzpWhwaEy0y1Fysetnj6EygEJ3uhNV/nW5idUNkLH5X/LxxJO9bFRTWBnVnt+BtjExWloeLftXprv2ZLjL2mK0yOPuutlEbfq8bRZsboG8s072iL03Yx9qHxYT8RUQDeFsjCTIQVbHvbWevKJN1MBI4tJ2BOl8pQoQahXB6T6Kw/Hq+QejNOwQi4iDaPG3rhKMOa6USDTROYvwJuAqAxnw9nmolWE2SxfLe/18LZsuu6dtN06ZOwtP8vFIeeDCxRvrTv75wU+5zNxHH/cueRM/fUAr4M8xbEPibFXqSrqL7kQAppcpBijeLQjhEZQK0fz/jjTfRquEQiMiwdwcUGXjwR2WsKL5rqc+b/gpaGVVXjKA5Am/rRbza9ZlUHr/QDSfYA0TXbZsZjXx3TgAO1E/EXfpIr6CuH21975h0LVBlwjTGO8vWNFUcdiA2yF1YkfUK0cHzb0cW9TZhp4X5g/gaYzYG6t0zJo7OoE80Jp9AwUcFv1GtN3bgWAqpuzp2xIPn6I1rXntzzAiuzKYgB5ImuJoq8vtTa2yOqgU59kM1b7ysIf/iXNIsz2K+mtqTPfSYSqOCrgMRt9+zZuyL2rRjuSIJjVPdcKpugv67DemE9w345F+P5fU86ZXDRYAvRcDC59muADq7ZOVzeFTeUDsPOp/Nds9kwd6rSiIV3B9+QQuKTZ3RE1Ca475jB7XnwcLarzdSS9+VwEf/HNBhBvYjWWB7MNt/Eg8= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6553.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(39860400002)(396003)(366004)(376002)(346002)(451199015)(84970400001)(38070700005)(6916009)(4326008)(2906002)(5660300002)(8676002)(52536014)(76116006)(66446008)(64756008)(66476007)(8936002)(86362001)(66556008)(66946007)(122000001)(99936003)(38100700002)(33656002)(478600001)(71200400001)(7696005)(54906003)(316002)(41300700001)(55016003)(26005)(9686003)(186003)(6506007)(491001);DIR:OUT;SFP:1101; Content-Type: multipart/mixed; boundary="_002_DB9PR08MB65537AB618E698E91366C57588C29DB9PR08MB6553eurp_" MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7592 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM7EUR03FT045.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: f31f23ea-b2ca-47a3-2546-08daf5800084 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZtFVcjmvcc0+OS/21Op46sMTdbaI4YcUF1IpmCLYA3woczJtP1M5w4/OUUrzic8PaDvQmVmn+7he8uJODFfPJkcaKyNhO0cwrliMbr5Bcf0VbWzRMn0VU6uyrnjww1xjfJkf4AcC2HBN6gJpbyYU7XYf/vJClk5GYrvc5Gyy7EEkktnorbJ2zFdEYq6f9G7Evv8YNI5yYUxl6tLMNpzjhqPvxMxbfAsyem4eqhSW1apUpFzGBFldcUSUfDfdWL7uXdkeMXk6ZtQF6yaaJDwUgQyJ88czqeaW0DEx4g/TcvVTlHQuYbK4uLUnEiKRYJubvlq5yrSHyK09dfovPqIVtJqqTqW75mwZTbdLAqMYOVzB8yyocnK+3gy8XmaEqzR1/H4C5f6swy14NV6lByn1ZHrqqjbKdegGKePRB6IPZakQupXYlSiC2thm6TYNOMVK/mLGTIPdiT5kcFVIzSDI1qdqgv4zvuI3U+PRcqiT/t2z1N6Ira514+MvbAYx3qoH0nN97z0hNwKSyF1dC/RK/BldVf9x4GmIx+fVg2HTwvnRhZmHYwnkCRDd1fHNaq6+JzVE+I0IuRTiDU6w5s9ezSb0x/BOcR8fFqlR31TvalFb+q7o6m1sTqEyZa3r8fc5+7FTwh7KpsmwLVotCQ0bp9p5agWvNdjJgV5i692m6IIDdfR3V3iN2cmyMIXyz1MHhqV89Tk0fVhl4hlSiWZWOs4N1AVOvazBt9CA8wnHoFW4iAMIJjXnAGVCPlcshGUMGe2TXoU736KZEEJboL60zUy2+ixhsO0OFq36UtFO/3U= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(346002)(39860400002)(396003)(376002)(136003)(451199015)(46966006)(40470700004)(36840700001)(55016003)(99936003)(7696005)(82740400003)(6916009)(40480700001)(54906003)(47076005)(356005)(316002)(81166007)(36860700001)(336012)(33656002)(40460700003)(478600001)(86362001)(186003)(26005)(82310400005)(9686003)(6506007)(8936002)(52536014)(41300700001)(2906002)(235185007)(5660300002)(70586007)(8676002)(4326008)(70206006)(84970400001)(491001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2023 16:05:42.3551 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4560f03e-8151-41aa-0f4a-08daf5800593 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM7EUR03FT045.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB5959 X-Spam-Status: No, score=-4.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,KAM_DMARC_NONE,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --_002_DB9PR08MB65537AB618E698E91366C57588C29DB9PR08MB6553eurp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi, This patch adds the memory operand of MVE masked stores as input operands t= o mimic the 'partial' writes, to prevent erroneous write-after-write optimizations as described in the PR. Regression tested on arm-none-eabi for armv8.1-m.main+mve.fp.=20 OK for trunk? gcc/ChangeLog: PR target/108177 * config/arm/mve.md (mve_vstrbq_p_, mve_vstrhq_p_fv8hf, mve_vstrhq_p_, mve_vstrwq_p_v4si): Add memory operand as input operand. gcc/testsuite/ChangeLog: * gcc.target/arm/mve/pr108177-1-run.c: New test. * gcc.target/arm/mve/pr108177-1.c: New test. * gcc.target/arm/mve/pr108177-10-run.c: New test. * gcc.target/arm/mve/pr108177-10.c: New test. * gcc.target/arm/mve/pr108177-11-run.c: New test. * gcc.target/arm/mve/pr108177-11.c: New test. * gcc.target/arm/mve/pr108177-12-run.c: New test. * gcc.target/arm/mve/pr108177-12.c: New test. * gcc.target/arm/mve/pr108177-13-run.c: New test. * gcc.target/arm/mve/pr108177-13.c: New test. * gcc.target/arm/mve/pr108177-14-run.c: New test. * gcc.target/arm/mve/pr108177-14.c: New test. * gcc.target/arm/mve/pr108177-2-run.c: New test. * gcc.target/arm/mve/pr108177-2.c: New test. * gcc.target/arm/mve/pr108177-3-run.c: New test. * gcc.target/arm/mve/pr108177-3.c: New test. * gcc.target/arm/mve/pr108177-4-run.c: New test. * gcc.target/arm/mve/pr108177-4.c: New test. * gcc.target/arm/mve/pr108177-5-run.c: New test. * gcc.target/arm/mve/pr108177-5.c: New test. * gcc.target/arm/mve/pr108177-6-run.c: New test. * gcc.target/arm/mve/pr108177-6.c: New test. * gcc.target/arm/mve/pr108177-7-run.c: New test. * gcc.target/arm/mve/pr108177-7.c: New test. * gcc.target/arm/mve/pr108177-8-run.c: New test. * gcc.target/arm/mve/pr108177-8.c: New test. * gcc.target/arm/mve/pr108177-9-run.c: New test. * gcc.target/arm/mve/pr108177-9.c: New test. * gcc.target/arm/mve/pr108177-main.x: New test include. * gcc.target/arm/mve/pr108177.x: New test include. --_002_DB9PR08MB65537AB618E698E91366C57588C29DB9PR08MB6553eurp_ Content-Type: application/octet-stream; name="pr108177.patch" Content-Description: pr108177.patch Content-Disposition: attachment; filename="pr108177.patch"; size=21017; creation-date="Fri, 13 Jan 2023 16:05:00 GMT"; modification-date="Fri, 13 Jan 2023 16:05:32 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL212ZS5tZCBiL2djYy9jb25maWcvYXJtL212ZS5t ZAppbmRleCBmMTIzZWRjNDQ5YjhiMjBiZmI0YTE1YzFmYjBlY2NkYmZmZjEzMzljLi4yZTU4YWQx ODhjNGIxM2IyN2Y3ZDM1ZGRkZTBmMDRmOThiMTMzNGM2IDEwMDY0NAotLS0gYS9nY2MvY29uZmln L2FybS9tdmUubWQKKysrIGIvZ2NjL2NvbmZpZy9hcm0vbXZlLm1kCkBAIC03MjcyLDE1ICs3Mjcy LDEzIEBAIChkZWZpbmVfaW5zbiAibXZlX3ZzdHJ3cV9zY2F0dGVyX2Jhc2VfcF88c3VwZj52NHNp IgogfQogICBbKHNldF9hdHRyICJsZW5ndGgiICI4IildKQogCi07OwotOzsgW3ZzdHJicV9wX3Mg dnN0cmJxX3BfdV0KLTs7CiAoZGVmaW5lX2luc24gIm12ZV92c3RyYnFfcF88c3VwZj48bW9kZT4i CiAgIFsoc2V0IChtYXRjaF9vcGVyYW5kOjxNVkVfQl9FTEVNPiAwICJtdmVfbWVtb3J5X29wZXJh bmQiICI9VXgiKQotCSh1bnNwZWM6PE1WRV9CX0VMRU0+IFsobWF0Y2hfb3BlcmFuZDpNVkVfMiAx ICJzX3JlZ2lzdGVyX29wZXJhbmQiICJ3IikKLQkJCSAgICAgIChtYXRjaF9vcGVyYW5kOjxNVkVf VlBSRUQ+IDIgInZwcl9yZWdpc3Rlcl9vcGVyYW5kIiAiVXAiKV0KLQkgVlNUUkJRKSkKLSAgXQor CSh1bnNwZWM6PE1WRV9CX0VMRU0+CisJIFsobWF0Y2hfb3BlcmFuZDpNVkVfMiAxICJzX3JlZ2lz dGVyX29wZXJhbmQiICJ3IikKKwkgIChtYXRjaF9vcGVyYW5kOjxNVkVfVlBSRUQ+IDIgInZwcl9y ZWdpc3Rlcl9vcGVyYW5kIiAiVXAiKQorCSAgKG1hdGNoX2R1cCAwKV0KKwkgVlNUUkJRKSldCiAg ICJUQVJHRVRfSEFWRV9NVkUiCiB7CiAgICBydHggb3BzWzJdOwpAQCAtODA3OSwxMCArODA3Nywx MSBAQCAoZGVmaW5lX2luc24gIm12ZV92c3RyaHFfZnY4aGYiCiA7OwogKGRlZmluZV9pbnNuICJt dmVfdnN0cmhxX3BfZnY4aGYiCiAgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlY4SEkgMCAibXZlX21l bW9yeV9vcGVyYW5kIiAiPVV4IikKLQkodW5zcGVjOlY4SEkgWyhtYXRjaF9vcGVyYW5kOlY4SEYg MSAic19yZWdpc3Rlcl9vcGVyYW5kIiAidyIpCi0JCSAgICAgIChtYXRjaF9vcGVyYW5kOlY4Qkkg MiAidnByX3JlZ2lzdGVyX29wZXJhbmQiICJVcCIpXQotCSBWU1RSSFFfRikpCi0gIF0KKwkodW5z cGVjOlY4SEkKKwkgWyhtYXRjaF9vcGVyYW5kOlY4SEYgMSAic19yZWdpc3Rlcl9vcGVyYW5kIiAi dyIpCisJICAobWF0Y2hfb3BlcmFuZDpWOEJJIDIgInZwcl9yZWdpc3Rlcl9vcGVyYW5kIiAiVXAi KQorCSAgKG1hdGNoX2R1cCAwKV0KKwkgVlNUUkhRX0YpKV0KICAgIlRBUkdFVF9IQVZFX01WRSAm JiBUQVJHRVRfSEFWRV9NVkVfRkxPQVQiCiB7CiAgICBydHggb3BzWzJdOwpAQCAtODA5OSw4ICs4 MDk4LDEwIEBAIChkZWZpbmVfaW5zbiAibXZlX3ZzdHJocV9wX2Z2OGhmIgogOzsKIChkZWZpbmVf aW5zbiAibXZlX3ZzdHJocV9wXzxzdXBmPjxtb2RlPiIKICAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6 PE1WRV9IX0VMRU0+IDAgIm12ZV9tZW1vcnlfb3BlcmFuZCIgIj1VeCIpCi0JKHVuc3BlYzo8TVZF X0hfRUxFTT4gWyhtYXRjaF9vcGVyYW5kOk1WRV82IDEgInNfcmVnaXN0ZXJfb3BlcmFuZCIgInci KQotCQkJICAgICAgKG1hdGNoX29wZXJhbmQ6PE1WRV9WUFJFRD4gMiAidnByX3JlZ2lzdGVyX29w ZXJhbmQiICJVcCIpXQorCSh1bnNwZWM6PE1WRV9IX0VMRU0+CisJIFsobWF0Y2hfb3BlcmFuZDpN VkVfNiAxICJzX3JlZ2lzdGVyX29wZXJhbmQiICJ3IikKKwkgIChtYXRjaF9vcGVyYW5kOjxNVkVf VlBSRUQ+IDIgInZwcl9yZWdpc3Rlcl9vcGVyYW5kIiAiVXAiKQorCSAgKG1hdGNoX2R1cCAwKV0K IAkgVlNUUkhRKSkKICAgXQogICAiVEFSR0VUX0hBVkVfTVZFIgpAQCAtODI3OCwxMCArODI3OSwx MSBAQCAoZGVmaW5lX2luc24gIm12ZV92c3Ryd3FfZnY0c2YiCiA7OwogKGRlZmluZV9pbnNuICJt dmVfdnN0cndxX3BfZnY0c2YiCiAgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlY0U0kgMCAibXZlX21l bW9yeV9vcGVyYW5kIiAiPVV4IikKLQkodW5zcGVjOlY0U0kgWyhtYXRjaF9vcGVyYW5kOlY0U0Yg MSAic19yZWdpc3Rlcl9vcGVyYW5kIiAidyIpCi0JCSAgICAgIChtYXRjaF9vcGVyYW5kOjxNVkVf VlBSRUQ+IDIgInZwcl9yZWdpc3Rlcl9vcGVyYW5kIiAiVXAiKV0KLQkgVlNUUldRX0YpKQotICBd CisJKHVuc3BlYzpWNFNJCisJIFsobWF0Y2hfb3BlcmFuZDpWNFNGIDEgInNfcmVnaXN0ZXJfb3Bl cmFuZCIgInciKQorCSAgKG1hdGNoX29wZXJhbmQ6PE1WRV9WUFJFRD4gMiAidnByX3JlZ2lzdGVy X29wZXJhbmQiICJVcCIpCisJICAobWF0Y2hfZHVwIDApXQorCSBWU1RSV1FfRikpXQogICAiVEFS R0VUX0hBVkVfTVZFICYmIFRBUkdFVF9IQVZFX01WRV9GTE9BVCIKIHsKICAgIHJ0eCBvcHNbMl07 CkBAIC04Mjk4LDEwICs4MzAwLDExIEBAIChkZWZpbmVfaW5zbiAibXZlX3ZzdHJ3cV9wX2Z2NHNm IgogOzsKIChkZWZpbmVfaW5zbiAibXZlX3ZzdHJ3cV9wXzxzdXBmPnY0c2kiCiAgIFsoc2V0ICht YXRjaF9vcGVyYW5kOlY0U0kgMCAibXZlX21lbW9yeV9vcGVyYW5kIiAiPVV4IikKLQkodW5zcGVj OlY0U0kgWyhtYXRjaF9vcGVyYW5kOlY0U0kgMSAic19yZWdpc3Rlcl9vcGVyYW5kIiAidyIpCi0J CSAgICAgIChtYXRjaF9vcGVyYW5kOlY0QkkgMiAidnByX3JlZ2lzdGVyX29wZXJhbmQiICJVcCIp XQotCSBWU1RSV1EpKQotICBdCisJKHVuc3BlYzpWNFNJCisJIFsobWF0Y2hfb3BlcmFuZDpWNFNJ IDEgInNfcmVnaXN0ZXJfb3BlcmFuZCIgInciKQorCSAgKG1hdGNoX29wZXJhbmQ6VjRCSSAyICJ2 cHJfcmVnaXN0ZXJfb3BlcmFuZCIgIlVwIikKKwkgIChtYXRjaF9kdXAgMCldCisJIFZTVFJXUSkp XQogICAiVEFSR0VUX0hBVkVfTVZFIgogewogICAgcnR4IG9wc1syXTsKZGlmZiAtLWdpdCBhL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL3ByMTA4MTc3LTEtcnVuLmMgYi9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9wcjEwODE3Ny0xLXJ1bi5jCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNh MDkyZGY5ODAyMTUzYmM0YjIxZTkxOWY5MWY0YmFjZmUyM2I2ZGUKLS0tIC9kZXYvbnVsbAorKysg Yi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9wcjEwODE3Ny0xLXJ1bi5jCkBAIC0w LDAgKzEsNiBAQAorLyogeyBkZy1kbyBydW4gfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2 ZS10YXJnZXQgYXJtX212ZV9odyB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1PMiAtLXNhdmUtdGVt cHMiIH0gKi8KKy8qIHsgZGctYWRkLW9wdGlvbnMgYXJtX3Y4XzFtX212ZSB9ICovCisKKyNpbmNs dWRlICJwcjEwODE3Ny0xLmMiCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv YXJtL212ZS9wcjEwODE3Ny0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9w cjEwODE3Ny0xLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmQ0MjA2MmJjOGU4NzkyMzNiMmU3OTc0ZWE5M2M4Mjc3 MTI4YWFhYwotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0v bXZlL3ByMTA4MTc3LTEuYwpAQCAtMCwwICsxLDIwIEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAq LworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgYXJtX3Y4XzFtX212ZV9vayB9ICov CisvKiB7IGRnLW9wdGlvbnMgIi1PMiIgfSAqLworLyogeyBkZy1hZGQtb3B0aW9ucyBhcm1fdjhf MW1fbXZlIH0gKi8KKy8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5jdGlvbi1ib2RpZXMgIioqIiAi IiAiIiB9IH0gKi8KKworLyoKKyoqIHRlc3Q6CisqKi4uLgorKioJdnN0cmJ0LjgJcTAsIFxbcjBc XQorKiouLi4KKyoqCXZzdHJidC44CXEwLCBcW3IwXF0KKyoqLi4uCisqLworCisjZGVmaW5lIFRZ UEUgdWludDh4MTZfdAorI2RlZmluZSBJTlRSSU5TSUMgdnN0cmJxX3U4CisjZGVmaW5lIElOVFJJ TlNJQ19QIHZzdHJicV9wX3U4CisKKyNpbmNsdWRlICJwcjEwODE3Ny54IgpkaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUvcHIxMDgxNzctMTAtcnVuLmMgYi9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9wcjEwODE3Ny0xMC1ydW4uYwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw Li4wYTU4YjhmN2ZkZmVkMTI4MTZjMzc3NDdiNWQ2MGYyYTA3ZDQ0YTU3Ci0tLSAvZGV2L251bGwK KysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUvcHIxMDgxNzctMTAtcnVuLmMK QEAgLTAsMCArMSw2IEBACisvKiB7IGRnLWRvIHJ1biB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZm ZWN0aXZlLXRhcmdldCBhcm1fbXZlX2h3IH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8yIiB9ICov CisvKiB7IGRnLWFkZC1vcHRpb25zIGFybV92OF8xbV9tdmUgfSAqLworCisjaW5jbHVkZSAicHIx MDgxNzctMTAuYyIKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZl L3ByMTA4MTc3LTEwLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9wcjEwODE3 Ny0xMC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAuLjRkYjU5NGY1ODhmOWYyOTlhNmMyMmRmNWRlNjg2YWE2OGY2MTJi YTkKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9w cjEwODE3Ny0xMC5jCkBAIC0wLDAgKzEsMjAgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisv KiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBhcm1fdjhfMW1fbXZlX29rIH0gKi8KKy8q IHsgZGctb3B0aW9ucyAiLU8yIiB9ICovCisvKiB7IGRnLWFkZC1vcHRpb25zIGFybV92OF8xbV9t dmUgfSAqLworLyogeyBkZy1maW5hbCB7IGNoZWNrLWZ1bmN0aW9uLWJvZGllcyAiKioiICIiICIi IH0gfSAqLworCisvKgorKiogdGVzdDoKKyoqLi4uCisqKgl2c3RyaHQuMzIJcTAsIFxbcjBcXQor KiouLi4KKyoqCXZzdHJodC4zMglxMCwgXFtyMFxdCisqKi4uLgorKi8KKworI2RlZmluZSBUWVBF IGludDMyeDRfdAorI2RlZmluZSBJTlRSSU5TSUMgdnN0cmhxX3MzMgorI2RlZmluZSBJTlRSSU5T SUNfUCB2c3RyaHFfcF9zMzIKKworI2luY2x1ZGUgInByMTA4MTc3LngiCmRpZmYgLS1naXQgYS9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9wcjEwODE3Ny0xMS1ydW4uYyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL3ByMTA4MTc3LTExLXJ1bi5jCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu LjlmNTY4ZWFjZjM0NmEwOGEyMmQ4MmQ0Y2FhYzVlMGVmNDY1ZGRmYzEKLS0tIC9kZXYvbnVsbAor KysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9wcjEwODE3Ny0xMS1ydW4uYwpA QCAtMCwwICsxLDYgQEAKKy8qIHsgZGctZG8gcnVuIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZl Y3RpdmUtdGFyZ2V0IGFybV9tdmVfaHcgfSAqLworLyogeyBkZy1vcHRpb25zICItTzIiIH0gKi8K Ky8qIHsgZGctYWRkLW9wdGlvbnMgYXJtX3Y4XzFtX212ZSB9ICovCisKKyNpbmNsdWRlICJwcjEw ODE3Ny0xMS5jIgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUv cHIxMDgxNzctMTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL3ByMTA4MTc3 LTExLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMC4uMzI5ZmNiMzNlZWJjMmRmOWQwNDdmNTljMTQyNTkyMjFhMWNjMmE2 ZgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL3By MTA4MTc3LTExLmMKQEAgLTAsMCArMSwyMCBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8q IHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGFybV92OF8xbV9tdmVfb2sgfSAqLworLyog eyBkZy1vcHRpb25zICItTzIiIH0gKi8KKy8qIHsgZGctYWRkLW9wdGlvbnMgYXJtX3Y4XzFtX212 ZSB9ICovCisvKiB7IGRnLWZpbmFsIHsgY2hlY2stZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIgIiIg fSB9ICovCisKKy8qCisqKiB0ZXN0OgorKiouLi4KKyoqCXZzdHJ3dC4zMglxMCwgXFtyMFxdCisq Ki4uLgorKioJdnN0cnd0LjMyCXEwLCBcW3IwXF0KKyoqLi4uCisqLworCisjZGVmaW5lIFRZUEUg dWludDMyeDRfdAorI2RlZmluZSBJTlRSSU5TSUMgdnN0cndxX3UzMgorI2RlZmluZSBJTlRSSU5T SUNfUCB2c3Ryd3FfcF91MzIKKworI2luY2x1ZGUgInByMTA4MTc3LngiCmRpZmYgLS1naXQgYS9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9wcjEwODE3Ny0xMi1ydW4uYyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL3ByMTA4MTc3LTEyLXJ1bi5jCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu LjhlOTQ2YTI5Nzk1MjQ4ZGEyMWZmOTkzYjhiMjlmZTRlNjBjZGExNmIKLS0tIC9kZXYvbnVsbAor KysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9wcjEwODE3Ny0xMi1ydW4uYwpA QCAtMCwwICsxLDYgQEAKKy8qIHsgZGctZG8gcnVuIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZl Y3RpdmUtdGFyZ2V0IGFybV9tdmVfaHcgfSAqLworLyogeyBkZy1vcHRpb25zICItTzIiIH0gKi8K Ky8qIHsgZGctYWRkLW9wdGlvbnMgYXJtX3Y4XzFtX212ZSB9ICovCisKKyNpbmNsdWRlICJwcjEw ODE3Ny0xMi5jIgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUv cHIxMDgxNzctMTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL3ByMTA4MTc3 LTEyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMC4uM2Y3YzViMmE0YzEyZTI3ZDEyYjYwZTZjNmQwMTU3ZGRlM2EwM2I4 NgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL3By MTA4MTc3LTEyLmMKQEAgLTAsMCArMSwyMCBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8q IHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGFybV92OF8xbV9tdmVfb2sgfSAqLworLyog eyBkZy1vcHRpb25zICItTzIiIH0gKi8KKy8qIHsgZGctYWRkLW9wdGlvbnMgYXJtX3Y4XzFtX212 ZSB9ICovCisvKiB7IGRnLWZpbmFsIHsgY2hlY2stZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIgIiIg fSB9ICovCisKKy8qCisqKiB0ZXN0OgorKiouLi4KKyoqCXZzdHJ3dC4zMglxMCwgXFtyMFxdCisq Ki4uLgorKioJdnN0cnd0LjMyCXEwLCBcW3IwXF0KKyoqLi4uCisqLworCisjZGVmaW5lIFRZUEUg aW50MzJ4NF90CisjZGVmaW5lIElOVFJJTlNJQyB2c3Ryd3FfczMyCisjZGVmaW5lIElOVFJJTlNJ Q19QIHZzdHJ3cV9wX3MzMgorCisjaW5jbHVkZSAicHIxMDgxNzcueCIKZGlmZiAtLWdpdCBhL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL3ByMTA4MTc3LTEzLXJ1bi5jIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUvcHIxMDgxNzctMTMtcnVuLmMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u MmU3MzFlZTM4MjRiYjFjMjliNDE4ZjA5YjM4NGRhMWE0ODk5NDcxZQotLS0gL2Rldi9udWxsCisr KyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL3ByMTA4MTc3LTEzLXJ1bi5jCkBA IC0wLDAgKzEsNiBAQAorLyogeyBkZy1kbyBydW4gfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVj dGl2ZS10YXJnZXQgYXJtX212ZV9odyB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1PMiIgfSAqLwor LyogeyBkZy1hZGQtb3B0aW9ucyBhcm1fdjhfMW1fbXZlIH0gKi8KKworI2luY2x1ZGUgInByMTA4 MTc3LTEzLmMiCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9w cjEwODE3Ny0xMy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUvcHIxMDgxNzct MTMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwLi4yZjgyMjI4ZDhmNmI3ZjVmZTEyY2U1MWQ0OTA3OWRjMjdlYjE4NmY0 Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUvcHIx MDgxNzctMTMuYwpAQCAtMCwwICsxLDIwIEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyog eyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgYXJtX3Y4XzFtX212ZV9mcF9vayB9ICovCisv KiB7IGRnLW9wdGlvbnMgIi1PMiIgfSAqLworLyogeyBkZy1hZGQtb3B0aW9ucyBhcm1fdjhfMW1f bXZlX2ZwIH0gKi8KKy8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5jdGlvbi1ib2RpZXMgIioqIiAi IiAiIiB9IH0gKi8KKworLyoKKyoqIHRlc3Q6CisqKi4uLgorKioJdnN0cmh0LjE2CXEwLCBcW3Iw XF0KKyoqLi4uCisqKgl2c3RyaHQuMTYJcTAsIFxbcjBcXQorKiouLi4KKyovCisKKyNkZWZpbmUg VFlQRSBmbG9hdDE2eDhfdAorI2RlZmluZSBJTlRSSU5TSUMgdnN0cmhxX2YxNgorI2RlZmluZSBJ TlRSSU5TSUNfUCB2c3RyaHFfcF9mMTYKKworI2luY2x1ZGUgInByMTA4MTc3LngiCmRpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9wcjEwODE3Ny0xNC1ydW4uYyBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL3ByMTA4MTc3LTE0LXJ1bi5jCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAuLjNjZWJjZjViYmNkNmY5ZjBiMDFmYzdiMGE3MWExZmZiMDQ0MmQyZjQKLS0tIC9kZXYv bnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9wcjEwODE3Ny0xNC1y dW4uYwpAQCAtMCwwICsxLDYgQEAKKy8qIHsgZGctZG8gcnVuIH0gKi8KKy8qIHsgZGctcmVxdWly ZS1lZmZlY3RpdmUtdGFyZ2V0IGFybV9tdmVfaHcgfSAqLworLyogeyBkZy1vcHRpb25zICItTzIi IH0gKi8KKy8qIHsgZGctYWRkLW9wdGlvbnMgYXJtX3Y4XzFtX212ZSB9ICovCisKKyNpbmNsdWRl ICJwcjEwODE3Ny0xNC5jIgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2Fy bS9tdmUvcHIxMDgxNzctMTQuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL3By MTA4MTc3LTE0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmE2MTk2Yjc5OTQ5MGY4ODk3ZTUxNjcwYmJlNzQwMTYx ZmY2YTYxMwotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0v bXZlL3ByMTA4MTc3LTE0LmMKQEAgLTAsMCArMSwyMCBAQAorLyogeyBkZy1kbyBjb21waWxlIH0g Ki8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGFybV92OF8xbV9tdmVfZnBfb2sg fSAqLworLyogeyBkZy1vcHRpb25zICItTzIiIH0gKi8KKy8qIHsgZGctYWRkLW9wdGlvbnMgYXJt X3Y4XzFtX212ZV9mcCB9ICovCisvKiB7IGRnLWZpbmFsIHsgY2hlY2stZnVuY3Rpb24tYm9kaWVz ICIqKiIgIiIgIiIgfSB9ICovCisKKy8qCisqKiB0ZXN0OgorKiouLi4KKyoqCXZzdHJ3dC4zMglx MCwgXFtyMFxdCisqKi4uLgorKioJdnN0cnd0LjMyCXEwLCBcW3IwXF0KKyoqLi4uCisqLworCisj ZGVmaW5lIFRZUEUgZmxvYXQzMng0X3QKKyNkZWZpbmUgSU5UUklOU0lDIHZzdHJ3cV9mMzIKKyNk ZWZpbmUgSU5UUklOU0lDX1AgdnN0cndxX3BfZjMyCisKKyNpbmNsdWRlICJwcjEwODE3Ny54Igpk aWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUvcHIxMDgxNzctMi1y dW4uYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL3ByMTA4MTc3LTItcnVuLmMK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMC4uMDM3NTBjOWM3YTFlZWE5YWMzNjY5YjY5YjA2Y2Y1YTQwY2E1ZDRhMgotLS0g L2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL3ByMTA4MTc3 LTItcnVuLmMKQEAgLTAsMCArMSw2IEBACisvKiB7IGRnLWRvIHJ1biB9ICovCisvKiB7IGRnLXJl cXVpcmUtZWZmZWN0aXZlLXRhcmdldCBhcm1fbXZlX2h3IH0gKi8KKy8qIHsgZGctb3B0aW9ucyAi LU8yIiB9ICovCisvKiB7IGRnLWFkZC1vcHRpb25zIGFybV92OF8xbV9tdmUgfSAqLworCisjaW5j bHVkZSAicHIxMDgxNzctMi5jIgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2FybS9tdmUvcHIxMDgxNzctMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUv cHIxMDgxNzctMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyYzhkODdjY2M4Yzc3NmRlM2JkZWRjODMyZGM3OTY3 ZGFlM2I1MDUKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJt L212ZS9wcjEwODE3Ny0yLmMKQEAgLTAsMCArMSwyMCBAQAorLyogeyBkZy1kbyBjb21waWxlIH0g Ki8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGFybV92OF8xbV9tdmVfb2sgfSAq LworLyogeyBkZy1vcHRpb25zICItTzIiIH0gKi8KKy8qIHsgZGctYWRkLW9wdGlvbnMgYXJtX3Y4 XzFtX212ZSB9ICovCisvKiB7IGRnLWZpbmFsIHsgY2hlY2stZnVuY3Rpb24tYm9kaWVzICIqKiIg IiIgIiIgfSB9ICovCisKKy8qCisqKiB0ZXN0OgorKiouLi4KKyoqCXZzdHJidC44CXEwLCBcW3Iw XF0KKyoqLi4uCisqKgl2c3RyYnQuOAlxMCwgXFtyMFxdCisqKi4uLgorKi8KKworI2RlZmluZSBU WVBFIGludDh4MTZfdAorI2RlZmluZSBJTlRSSU5TSUMgdnN0cmJxX3M4CisjZGVmaW5lIElOVFJJ TlNJQ19QIHZzdHJicV9wX3M4CisKKyNpbmNsdWRlICJwcjEwODE3Ny54IgpkaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUvcHIxMDgxNzctMy1ydW4uYyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL3ByMTA4MTc3LTMtcnVuLmMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u YmFiMDhlMDQyZDQyZWIxOWEwMDEyMDlkNWFjMTYxMzQ1OGQxNzEzYQotLS0gL2Rldi9udWxsCisr KyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL3ByMTA4MTc3LTMtcnVuLmMKQEAg LTAsMCArMSw2IEBACisvKiB7IGRnLWRvIHJ1biB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0 aXZlLXRhcmdldCBhcm1fbXZlX2h3IH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8yIiB9ICovCisv KiB7IGRnLWFkZC1vcHRpb25zIGFybV92OF8xbV9tdmUgfSAqLworCisjaW5jbHVkZSAicHIxMDgx NzctMy5jIgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUvcHIx MDgxNzctMy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUvcHIxMDgxNzctMy5j Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAuLmFjODllN2VhODgzZjllZDYzOGExMDkyNzEyZDM0ZGE2ZDAwYjNjMjcKLS0t IC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9wcjEwODE3 Ny0zLmMKQEAgLTAsMCArMSwyMCBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGct cmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGFybV92OF8xbV9tdmVfb2sgfSAqLworLyogeyBkZy1v cHRpb25zICItTzIiIH0gKi8KKy8qIHsgZGctYWRkLW9wdGlvbnMgYXJtX3Y4XzFtX212ZSB9ICov CisvKiB7IGRnLWZpbmFsIHsgY2hlY2stZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIgIiIgfSB9ICov CisKKy8qCisqKiB0ZXN0OgorKiouLi4KKyoqCXZzdHJidC4xNglxMCwgXFtyMFxdCisqKi4uLgor KioJdnN0cmJ0LjE2CXEwLCBcW3IwXF0KKyoqLi4uCisqLworCisjZGVmaW5lIFRZUEUgdWludDE2 eDhfdAorI2RlZmluZSBJTlRSSU5TSUMgdnN0cmJxX3UxNgorI2RlZmluZSBJTlRSSU5TSUNfUCB2 c3RyYnFfcF91MTYKKworI2luY2x1ZGUgInByMTA4MTc3LngiCmRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9wcjEwODE3Ny00LXJ1bi5jIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L2FybS9tdmUvcHIxMDgxNzctNC1ydW4uYwpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZmY2MmM3 NWRkNTgzYWU0M2VkYTI1OWU1MzA4YTgxYzI1MDEyNWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUvcHIxMDgxNzctNC1ydW4uYwpAQCAtMCwwICsx LDYgQEAKKy8qIHsgZGctZG8gcnVuIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFy Z2V0IGFybV9tdmVfaHcgfSAqLworLyogeyBkZy1vcHRpb25zICItTzIiIH0gKi8KKy8qIHsgZGct YWRkLW9wdGlvbnMgYXJtX3Y4XzFtX212ZSB9ICovCisKKyNpbmNsdWRlICJwcjEwODE3Ny00LmMi CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9wcjEwODE3Ny00 LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9wcjEwODE3Ny00LmMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMC4uZGM0ZjdkZGFiMDczMjE1YTRmOGNiYjYxYWRmZjU3M2I0ZWVmMGQ2MAotLS0gL2Rldi9u dWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL3ByMTA4MTc3LTQuYwpA QCAtMCwwICsxLDIwIEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1yZXF1aXJl LWVmZmVjdGl2ZS10YXJnZXQgYXJtX3Y4XzFtX212ZV9vayB9ICovCisvKiB7IGRnLW9wdGlvbnMg Ii1PMiIgfSAqLworLyogeyBkZy1hZGQtb3B0aW9ucyBhcm1fdjhfMW1fbXZlIH0gKi8KKy8qIHsg ZGctZmluYWwgeyBjaGVjay1mdW5jdGlvbi1ib2RpZXMgIioqIiAiIiAiIiB9IH0gKi8KKworLyoK KyoqIHRlc3Q6CisqKi4uLgorKioJdnN0cmJ0LjE2CXEwLCBcW3IwXF0KKyoqLi4uCisqKgl2c3Ry YnQuMTYJcTAsIFxbcjBcXQorKiouLi4KKyovCisKKyNkZWZpbmUgVFlQRSBpbnQxNng4X3QKKyNk ZWZpbmUgSU5UUklOU0lDIHZzdHJicV9zMTYKKyNkZWZpbmUgSU5UUklOU0lDX1AgdnN0cmJxX3Bf czE2CisKKyNpbmNsdWRlICJwcjEwODE3Ny54IgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L2FybS9tdmUvcHIxMDgxNzctNS1ydW4uYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9hcm0vbXZlL3ByMTA4MTc3LTUtcnVuLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzIxMTgyOGNlZWI1NGIx ZDY4ZjI3ZjI0OGRkZmNmMDBiYmFjMTQ4NwotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9hcm0vbXZlL3ByMTA4MTc3LTUtcnVuLmMKQEAgLTAsMCArMSw2IEBACisv KiB7IGRnLWRvIHJ1biB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBhcm1f bXZlX2h3IH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8yIiB9ICovCisvKiB7IGRnLWFkZC1vcHRp b25zIGFybV92OF8xbV9tdmUgfSAqLworCisjaW5jbHVkZSAicHIxMDgxNzctNS5jIgpkaWZmIC0t Z2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUvcHIxMDgxNzctNS5jIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUvcHIxMDgxNzctNS5jCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQx ZGZkMzI4ZDY2MGQzOGY2MmMxODhlZThlNjFhZWZkMTk1ZWY5MjkKLS0tIC9kZXYvbnVsbAorKysg Yi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9wcjEwODE3Ny01LmMKQEAgLTAsMCAr MSwyMCBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3Rp dmUtdGFyZ2V0IGFybV92OF8xbV9tdmVfb2sgfSAqLworLyogeyBkZy1vcHRpb25zICItTzIiIH0g Ki8KKy8qIHsgZGctYWRkLW9wdGlvbnMgYXJtX3Y4XzFtX212ZSB9ICovCisvKiB7IGRnLWZpbmFs IHsgY2hlY2stZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIgIiIgfSB9ICovCisKKy8qCisqKiB0ZXN0 OgorKiouLi4KKyoqCXZzdHJidC4zMglxMCwgXFtyMFxdCisqKi4uLgorKioJdnN0cmJ0LjMyCXEw LCBcW3IwXF0KKyoqLi4uCisqLworCisjZGVmaW5lIFRZUEUgdWludDMyeDRfdAorI2RlZmluZSBJ TlRSSU5TSUMgdnN0cmJxX3UzMgorI2RlZmluZSBJTlRSSU5TSUNfUCB2c3RyYnFfcF91MzIKKwor I2luY2x1ZGUgInByMTA4MTc3LngiCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvYXJtL212ZS9wcjEwODE3Ny02LXJ1bi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2Fy bS9tdmUvcHIxMDgxNzctNi1ydW4uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZTdkMTA4Y2Q4MWMzODAxODNhYjIx NTA1YmMyZTk4NGY0OWYwYWVhCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2FybS9tdmUvcHIxMDgxNzctNi1ydW4uYwpAQCAtMCwwICsxLDYgQEAKKy8qIHsgZGct ZG8gcnVuIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGFybV9tdmVfaHcg fSAqLworLyogeyBkZy1vcHRpb25zICItTzIiIH0gKi8KKy8qIHsgZGctYWRkLW9wdGlvbnMgYXJt X3Y4XzFtX212ZSB9ICovCisKKyNpbmNsdWRlICJwcjEwODE3Ny02LmMiCmRpZmYgLS1naXQgYS9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9wcjEwODE3Ny02LmMgYi9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvYXJtL212ZS9wcjEwODE3Ny02LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmE3MGRkZTll ZWIzMTI4Njc0NzNlZWQwMzZkZjJlN2Y1MDJlYWFkMQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL3ByMTA4MTc3LTYuYwpAQCAtMCwwICsxLDIwIEBA CisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJn ZXQgYXJtX3Y4XzFtX212ZV9vayB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1PMiIgfSAqLworLyog eyBkZy1hZGQtb3B0aW9ucyBhcm1fdjhfMW1fbXZlIH0gKi8KKy8qIHsgZGctZmluYWwgeyBjaGVj ay1mdW5jdGlvbi1ib2RpZXMgIioqIiAiIiAiIiB9IH0gKi8KKworLyoKKyoqIHRlc3Q6CisqKi4u LgorKioJdnN0cmJ0LjMyCXEwLCBcW3IwXF0KKyoqLi4uCisqKgl2c3RyYnQuMzIJcTAsIFxbcjBc XQorKiouLi4KKyovCisKKyNkZWZpbmUgVFlQRSBpbnQzMng0X3QKKyNkZWZpbmUgSU5UUklOU0lD IHZzdHJicV9zMzIKKyNkZWZpbmUgSU5UUklOU0lDX1AgdnN0cmJxX3BfczMyCisKKyNpbmNsdWRl ICJwcjEwODE3Ny54IgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9t dmUvcHIxMDgxNzctNy1ydW4uYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL3By MTA4MTc3LTctcnVuLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTRjNDkyZWQ5NmIzMjYwNjNiMDE1OThlYzMwNjIy ZDlkYTYyZDc2MQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9h cm0vbXZlL3ByMTA4MTc3LTctcnVuLmMKQEAgLTAsMCArMSw2IEBACisvKiB7IGRnLWRvIHJ1biB9 ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBhcm1fbXZlX2h3IH0gKi8KKy8q IHsgZGctb3B0aW9ucyAiLU8yIiB9ICovCisvKiB7IGRnLWFkZC1vcHRpb25zIGFybV92OF8xbV9t dmUgfSAqLworCisjaW5jbHVkZSAicHIxMDgxNzctNy5jIgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUvcHIxMDgxNzctNy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2FybS9tdmUvcHIxMDgxNzctNy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczY2Q4NjA1MTcxZDMxZDIw ZjI1YjY5NTM1NjNlMmUyMzUwY2UwZTQKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvYXJtL212ZS9wcjEwODE3Ny03LmMKQEAgLTAsMCArMSwyMCBAQAorLyogeyBk Zy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGFybV92 OF8xbV9tdmVfb2sgfSAqLworLyogeyBkZy1vcHRpb25zICItTzIiIH0gKi8KKy8qIHsgZGctYWRk LW9wdGlvbnMgYXJtX3Y4XzFtX212ZSB9ICovCisvKiB7IGRnLWZpbmFsIHsgY2hlY2stZnVuY3Rp b24tYm9kaWVzICIqKiIgIiIgIiIgfSB9ICovCisKKy8qCisqKiB0ZXN0OgorKiouLi4KKyoqCXZz dHJodC4xNglxMCwgXFtyMFxdCisqKi4uLgorKioJdnN0cmh0LjE2CXEwLCBcW3IwXF0KKyoqLi4u CisqLworCisjZGVmaW5lIFRZUEUgdWludDE2eDhfdAorI2RlZmluZSBJTlRSSU5TSUMgdnN0cmhx X3UxNgorI2RlZmluZSBJTlRSSU5TSUNfUCB2c3RyaHFfcF91MTYKKworI2luY2x1ZGUgInByMTA4 MTc3LngiCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9wcjEw ODE3Ny04LXJ1bi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUvcHIxMDgxNzct OC1ydW4uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwLi4zYzM0MDQ1ZjMxZDg5Y2U0NTU4Y2IzN2UzNGE3Y2FlMzY5MDg2 ZjdjCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUv cHIxMDgxNzctOC1ydW4uYwpAQCAtMCwwICsxLDYgQEAKKy8qIHsgZGctZG8gcnVuIH0gKi8KKy8q IHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGFybV9tdmVfaHcgfSAqLworLyogeyBkZy1v cHRpb25zICItTzIiIH0gKi8KKy8qIHsgZGctYWRkLW9wdGlvbnMgYXJtX3Y4XzFtX212ZSB9ICov CisKKyNpbmNsdWRlICJwcjEwODE3Ny04LmMiCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvYXJtL212ZS9wcjEwODE3Ny04LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv YXJtL212ZS9wcjEwODE3Ny04LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTg3YzJiM2Y0Y2U0YjgzOTUzNmFjYzc0 ZDFkZmI0ODAxZmQxMDA3OAotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9hcm0vbXZlL3ByMTA4MTc3LTguYwpAQCAtMCwwICsxLDIwIEBACisvKiB7IGRnLWRvIGNv bXBpbGUgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgYXJtX3Y4XzFtX212 ZV9vayB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1PMiIgfSAqLworLyogeyBkZy1hZGQtb3B0aW9u cyBhcm1fdjhfMW1fbXZlIH0gKi8KKy8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5jdGlvbi1ib2Rp ZXMgIioqIiAiIiAiIiB9IH0gKi8KKworLyoKKyoqIHRlc3Q6CisqKi4uLgorKioJdnN0cmh0LjE2 CXEwLCBcW3IwXF0KKyoqLi4uCisqKgl2c3RyaHQuMTYJcTAsIFxbcjBcXQorKiouLi4KKyovCisK KyNkZWZpbmUgVFlQRSBpbnQxNng4X3QKKyNkZWZpbmUgSU5UUklOU0lDIHZzdHJocV9zMTYKKyNk ZWZpbmUgSU5UUklOU0lDX1AgdnN0cmhxX3BfczE2CisKKyNpbmNsdWRlICJwcjEwODE3Ny54Igpk aWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUvcHIxMDgxNzctOS1y dW4uYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL3ByMTA4MTc3LTktcnVuLmMK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMC4uOTY3Y2Y3ZjE5OTI4YmNkZDlmMGFjMDNlODUxYWVmZDA5ZGEyNTVmMgotLS0g L2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL3ByMTA4MTc3 LTktcnVuLmMKQEAgLTAsMCArMSw2IEBACisvKiB7IGRnLWRvIHJ1biB9ICovCisvKiB7IGRnLXJl cXVpcmUtZWZmZWN0aXZlLXRhcmdldCBhcm1fbXZlX2h3IH0gKi8KKy8qIHsgZGctb3B0aW9ucyAi LU8yIiB9ICovCisvKiB7IGRnLWFkZC1vcHRpb25zIGFybV92OF8xbV9tdmUgfSAqLworCisjaW5j bHVkZSAicHIxMDgxNzctOS5jIgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2FybS9tdmUvcHIxMDgxNzctOS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUv cHIxMDgxNzctOS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhZWNkMThhODgxMGM2ODUzY2Y2NDJmZDk4MmJmMzVl ZWYyZGIxZmYKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJt L212ZS9wcjEwODE3Ny05LmMKQEAgLTAsMCArMSwyMCBAQAorLyogeyBkZy1kbyBjb21waWxlIH0g Ki8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGFybV92OF8xbV9tdmVfb2sgfSAq LworLyogeyBkZy1vcHRpb25zICItTzIiIH0gKi8KKy8qIHsgZGctYWRkLW9wdGlvbnMgYXJtX3Y4 XzFtX212ZSB9ICovCisvKiB7IGRnLWZpbmFsIHsgY2hlY2stZnVuY3Rpb24tYm9kaWVzICIqKiIg IiIgIiIgfSB9ICovCisKKy8qCisqKiB0ZXN0OgorKiouLi4KKyoqCXZzdHJodC4zMglxMCwgXFty MFxdCisqKi4uLgorKioJdnN0cmh0LjMyCXEwLCBcW3IwXF0KKyoqLi4uCisqLworCisjZGVmaW5l IFRZUEUgdWludDMyeDRfdAorI2RlZmluZSBJTlRSSU5TSUMgdnN0cmhxX3UzMgorI2RlZmluZSBJ TlRSSU5TSUNfUCB2c3RyaHFfcF91MzIKKworI2luY2x1ZGUgInByMTA4MTc3LngiCmRpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9wcjEwODE3Ny1tYWluLnggYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9wcjEwODE3Ny1tYWluLngKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MC4uZjVmOTY1ZmI2OThlYTAyNzlkYTY1MmJmNTc5NWY5YjIyMmY3ZjYyYwotLS0gL2Rldi9udWxs CisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXZlL3ByMTA4MTc3LW1haW4ueApA QCAtMCwwICsxLDMxIEBACisjaW5jbHVkZSA8YXJtX212ZS5oPgorZXh0ZXJuIHZvaWQgYWJvcnQg KHZvaWQpOworCitfX2F0dHJpYnV0ZV9fICgobm9pcGEpKSB2b2lkCit3cml0ZV9leHBlY3RlZCAo dWludDMyeDRfdCB2LCB2b2lkICphKQoreworICBUWVBFIF92ID0gKFRZUEUpIHY7CisgIElOVFJJ TlNJQyAoYSwgX3YpOworfQorCit2b2lkIHRlc3QgKHVpbnQzMng0X3QsIHZvaWQgKiwgbXZlX3By ZWQxNl90LCBtdmVfcHJlZDE2X3QpOworCitpbnQgbWFpbih2b2lkKQoreworICB1aW50MzJ4NF90 IHYgPSB7MCwgMSwgMiwgM307CisgIHVpbnQzMl90IGFjdHVhbFtdID0gezAsIDAsIDAsIDB9Owor ICB1aW50MzJfdCBleHBlY3RlZFtdID0gezAsIDAsIDAsIDB9OworCisgIHdyaXRlX2V4cGVjdGVk ICh2LCAmKGV4cGVjdGVkWzBdKSk7CisKKyAgbXZlX3ByZWQxNl90IHAxID0gMHhmZjAwOworICBt dmVfcHJlZDE2X3QgcDIgPSAweDAwZmY7CisKKyAgdGVzdCAodiwgKHZvaWQgKikmYWN0dWFsWzBd LCBwMSwgcDIpOworCisgIGlmIChfX2J1aWx0aW5fbWVtY21wICgmYWN0dWFsWzBdLCAmZXhwZWN0 ZWRbMF0sIDE2KSAhPSAwKQorICAgIGFib3J0ICgpOworCisgIHJldHVybiAwOworfQorCmRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL212ZS9wcjEwODE3Ny54IGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUvcHIxMDgxNzcueApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMTll ZjU0ZWFlN2EzYjJiYzExYmM2ZmQ0YmY4MmU0MzU1YWQxMDg4Ci0tLSAvZGV2L251bGwKKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdmUvcHIxMDgxNzcueApAQCAtMCwwICsxLDkg QEAKKyNpbmNsdWRlICJwcjEwODE3Ny1tYWluLngiCisKK19fYXR0cmlidXRlX18gKChub2lwYSkp IHZvaWQKK3Rlc3QgKHVpbnQzMng0X3Qgdiwgdm9pZCAqYSwgbXZlX3ByZWQxNl90IHAxLCBtdmVf cHJlZDE2X3QgcDIpCit7CisgIFRZUEUgX3YgPSAoVFlQRSkgdjsKKyAgSU5UUklOU0lDX1AgKGEs IF92LCBwMSk7CisgIElOVFJJTlNJQ19QIChhLCBfdiwgcDIpOworfQo= --_002_DB9PR08MB65537AB618E698E91366C57588C29DB9PR08MB6553eurp_--