From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2058.outbound.protection.outlook.com [40.107.7.58]) by sourceware.org (Postfix) with ESMTPS id 2076A3858D28 for ; Wed, 21 Jun 2023 11:20:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2076A3858D28 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=cIn3pBevBacIAJcBZP6kg0pVtQkPehQXsl4F25znJ6g=; b=Kn8zrUoUqnRLsOGerSg160YsjPIC1CZWejkm2n1NXG/gCFV7n+qBKWLvJ+sC2hmCsXrtpw7lm4VvaMzHcDLOoRz6hMnMDSv2COsaPBEJK0lHz9S2la94eBlyjSXR1cELqii2p6Mr/Dc/EXLNFHCle9e1TqsxPV5D1lHSbpgCrns= Received: from AM6P193CA0140.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:85::45) by AM9PR08MB6690.eurprd08.prod.outlook.com (2603:10a6:20b:301::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.23; Wed, 21 Jun 2023 11:20:09 +0000 Received: from AM7EUR03FT033.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:85:cafe::48) by AM6P193CA0140.outlook.office365.com (2603:10a6:209:85::45) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.37 via Frontend Transport; Wed, 21 Jun 2023 11:20:09 +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 AM7EUR03FT033.mail.protection.outlook.com (100.127.140.129) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.23 via Frontend Transport; Wed, 21 Jun 2023 11:20:09 +0000 Received: ("Tessian outbound b11b8bb4dfe8:v142"); Wed, 21 Jun 2023 11:20:09 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: ac2fdb8a5ddcdb20 X-CR-MTA-TID: 64aa7808 Received: from 3cf41f3766ff.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 43687CCA-5249-40B2-B478-D90CB3FDF851.1; Wed, 21 Jun 2023 11:20:01 +0000 Received: from EUR01-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3cf41f3766ff.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 21 Jun 2023 11:20:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UMQ0JiggXPNmsB8tWHbZsYJ1Q2OvgSeu/WHzxFRM1R0Pig8MBvdtoofEIq1KL8H5mIqvpMRfiTxSSNPT4BFTgeE03pC0rrT6h4zjg6eTm96Epm+ce4srHg3GwmRdGLYIF4+4OrYKAQchWRPSFiumgqA6fGe9i60Tix4YhXLZbSDMfSBwokaALSy6Z/YaxUNAtEAwZW7QS0cmeiexdBTs8Oa9wGZwYmNLGkxoOYiqRQhxm0mo/rFrGHTCjJv/tjeF9Psxm/DJfTFP17RZZKgceXGLzK5XGtDWvuh4V6JBbO9KyfP40Y/2rJzIP2HlnMr6rort/sNl+HNOsMs15UjLtg== 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=cIn3pBevBacIAJcBZP6kg0pVtQkPehQXsl4F25znJ6g=; b=MO2mq2lZF6u4vYEETsjIfpJrHf0qr1TVFRPqimXiL2JE0ZmqvFgPGUxGIg4c11l8w4NLVBxxMfcJf2xguELhdjMR/CNy+w9gOW4UNrLsip2D+Su4Crsaa6HAb5sch7VPmUMcz7FVqL3xhxYBFaSQr6vsT8pJtobzTudHdemnasz6/RN3pT0bAnzJU8mzI3BDXCeXO/3d32die6LzkbSo1AujL/g2sHW35qsYPaW2QBpmAj7lJRZb0tnxy9t29SfJBY4Fem00Nugc850v9H2K+rDm2AWmBwuid2dXboR5eYNGOv4pw0y5Yu25Plbwx2ygLrqxwIay7ifxK6xoOosi2w== 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=cIn3pBevBacIAJcBZP6kg0pVtQkPehQXsl4F25znJ6g=; b=Kn8zrUoUqnRLsOGerSg160YsjPIC1CZWejkm2n1NXG/gCFV7n+qBKWLvJ+sC2hmCsXrtpw7lm4VvaMzHcDLOoRz6hMnMDSv2COsaPBEJK0lHz9S2la94eBlyjSXR1cELqii2p6Mr/Dc/EXLNFHCle9e1TqsxPV5D1lHSbpgCrns= Received: from PAXPR08MB6926.eurprd08.prod.outlook.com (2603:10a6:102:138::24) by DB9PR08MB8228.eurprd08.prod.outlook.com (2603:10a6:10:37f::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.23; Wed, 21 Jun 2023 11:19:58 +0000 Received: from PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::2978:61ca:4677:30f8]) by PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::2978:61ca:4677:30f8%5]) with mapi id 15.20.6500.036; Wed, 21 Jun 2023 11:19:58 +0000 From: Kyrylo Tkachov To: "gcc-patches@gcc.gnu.org" Subject: [PATCH][committed] aarch64: Convert SVE gather patterns to compact syntax Thread-Topic: [PATCH][committed] aarch64: Convert SVE gather patterns to compact syntax Thread-Index: AdmkL6YjdhiLwi9mQz678cKpUMPM4A== Date: Wed, 21 Jun 2023 11:19:58 +0000 Message-ID: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: PAXPR08MB6926:EE_|DB9PR08MB8228:EE_|AM7EUR03FT033:EE_|AM9PR08MB6690:EE_ X-MS-Office365-Filtering-Correlation-Id: 504b88ac-3343-4a6b-33da-08db7249791e 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: sFtflfXmw2WibAVfNqFjxKupEjN0fc8qqn4VlqrIM7Z5HJuKb4m0HbtIr4KFTJoHpXHZJB9YSB3Rb9yIuCxJv/Kc3iHYzd5CyJiMx5vGXZzylZ+TCPSxYRHswr/54vH4u6Lu+znnMMh3vIYx/yYEWUcNBibwzQK6KO3v9MpJA3EB6mzcAVfpWHFNGAvi+SilDR+9CYj7/0euCKHM4S/5NwZ0j419ncnyU0UciOrOVUKp1zojeONCpTzADYjdASHwLyA2qCmwP19LP8KfMl0QXYd+x1h3ynYCy5OARqkgaAkep1hEuh4ELLWmY5jc034GIrP3XBSc07ZGhdvnIKw2AQac8NliypsmSUy3Aaoe/a/eRcKywy25ixZEvinx5HatJGQlBM4ha8AXL5razBCx+0qqK84a+ml5BhCPt/zLDyR0p2R4TuxzdWuZntAPdmfrwsWF1iHYcTeCGJscXOugbCmVMAWdCMWyxxITx3MLWjGa+w4pB+IxU4kHq8/bf+pefDocLMoUfclTRUX2CAZ8gfOY0LQRuWEtm/v1T1l0IoOqljGIhGl5LjNzBp7VGUn/cUyQnllM0vlM7B05gFU9L+fqeBEUJi3yRmHZoHDP/Li40wsdCs5VIF9oq/n5TUlF X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB6926.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(366004)(39860400002)(396003)(346002)(376002)(451199021)(99936003)(122000001)(38100700002)(2906002)(38070700005)(33656002)(86362001)(6506007)(26005)(186003)(9686003)(7696005)(71200400001)(478600001)(64756008)(6916009)(66946007)(76116006)(66446008)(66476007)(66556008)(316002)(8676002)(8936002)(5660300002)(41300700001)(55016003)(52536014);DIR:OUT;SFP:1101; Content-Type: multipart/mixed; boundary="_002_PAXPR08MB69262284F7E92B5B909D0426935DAPAXPR08MB6926eurp_" MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8228 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: AM7EUR03FT033.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 2500795e-eb28-420b-faed-08db724972c2 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7CiACaVC8C2RRoJnIbn5nNhycx5tA0sA0kChG0svx/70poOjfY5xdoC4zWEH+I3iGSOVAN3i2ehj3GWHdRt6zMNaRlz9r0Wz9RWvj6Vmu0NWpBAFWqMCDYHyJddmn5rU8xZeWqrklRNY01+SNZ8Q/KpX5Nbzz2LdFs6helOX6OkUFmPVlKTvSCqZuP4iLOnTOZXGxURuTZJ+rw8D46LCfHXGR2k/zepKIjd/nqmhkab4E3O9nCEgvkdNfrpdd3kI9b9GoHjhKmeCFdHTwOdvm0UiugzqnsbuUn4w5WkK+iLQlRpdYR/XuOLgU5ZhfSHegg3ks3dNbVkBnmEaJ4zHKzkUzCrR45JJ7Lk04ehnNEyBYIFTYI0RrNF1z4rMWfb2+MIoYG+2xby0q/keokEYPvVIT8tP7klFl89eTeAbRhBop0iAK5EZhNGDHMn25SjE6DIl1yQvku6nHSftCPalzd6Et5OS49uQNnCAZrPPGDO9I7Lwe0p4g/lPHIyIMLTh2sprpjI78SVrj+zAmIyps8jbiiQurMJcwgpy2DduvY+saOaTUUr9YKlnaU2AWDA49QFNU6/03vtzyFJkdkAI6D3eEahIid/I3GnD1DhWpXimqwnzbBNn5HxCmvKMuyLa/Fq1qoDUJVGDTg9VpkkMpuF/QnyFjDXh9G7xWy4W4OBpUiR+5qGz374Ixo3S5petPxWvo/CxOIsP2TqI6uXdiQhtYe7H4sjpXIOwLkXz9sidSYlnhUnoV9mvEwIh6do0 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:(13230028)(4636009)(396003)(39860400002)(376002)(346002)(136003)(451199021)(46966006)(40470700004)(36840700001)(82310400005)(36860700001)(40460700003)(33656002)(81166007)(356005)(70206006)(52536014)(5660300002)(235185007)(8676002)(41300700001)(6916009)(8936002)(55016003)(99936003)(82740400003)(40480700001)(316002)(86362001)(70586007)(26005)(47076005)(6506007)(2906002)(9686003)(186003)(7696005)(478600001)(336012);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jun 2023 11:20:09.2477 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 504b88ac-3343-4a6b-33da-08db7249791e 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: AM7EUR03FT033.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6690 X-Spam-Status: No, score=-5.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,KAM_DMARC_NONE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE,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_PAXPR08MB69262284F7E92B5B909D0426935DAPAXPR08MB6926eurp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi all, This patch converts the SVE load gather patterns to the new compact syntax that Tamar introduced. This allows for a future patch I want to contribute to add more alternatives that are better viewed in the more compact form. The lines in some patterns are >80 long now, but I think that's unavoidable and those patterns already had overly long constraint strings. No functional change intended. Bootstrapped and tested on aarch64-none-linux-gnu. Pushing to trunk. Thanks, Kyrill gcc/ChangeLog: * config/aarch64/aarch64-sve.md (mask_gather_load): Convert to compact alternatives syntax. (mask_gather_load): Likewise. (*mask_gather_load_xtw_unpacked): Likewise. (*mask_gather_load_sxtw): Likewise. (*mask_gather_load_uxtw): Likewise. (@aarch64_gather_load_): Likewise. (@aarch64_gather_load_): Likewise. (*aarch64_gather_load_ _xtw_unpacked): Likewise. (*aarch64_gather_load_ _sxtw): Likewise. (*aarch64_gather_load_ _uxtw): Likewise. (@aarch64_ldff1_gather): Likewise. (@aarch64_ldff1_gather): Likewise. (*aarch64_ldff1_gather_sxtw): Likewise. (*aarch64_ldff1_gather_uxtw): Likewise. (@aarch64_ldff1_gather_ ): Likewise. (@aarch64_ldff1_gather_ ): Likewise. (*aarch64_ldff1_gather_ _sxtw): Likewise. (*aarch64_ldff1_gather_ _uxtw): Likewise. * config/aarch64/aarch64-sve2.md (@aarch64_gather_ldnt): Likewise. (@aarch64_gather_ldnt_ ): Likewise. --_002_PAXPR08MB69262284F7E92B5B909D0426935DAPAXPR08MB6926eurp_ Content-Type: application/octet-stream; name="gather-compact.patch" Content-Description: gather-compact.patch Content-Disposition: attachment; filename="gather-compact.patch"; size=35908; creation-date="Wed, 21 Jun 2023 11:00:35 GMT"; modification-date="Wed, 21 Jun 2023 11:19:58 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXN2ZS5tZCBiL2djYy9jb25m aWcvYWFyY2g2NC9hYXJjaDY0LXN2ZS5tZAppbmRleCAyZGU2NTFhMTk4OWM2YjM2MjcyZGQ3OGE4 NzQ0YzcwMGViYzc1YzFhLi45NTViYmRmZDEyOWMwOWFiYTQ3YzkwZjE0YzNlYjU1YjE4MDQxMDky IDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1zdmUubWQKKysrIGIvZ2Nj L2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc3ZlLm1kCkBAIC0xNDE4LDY0ICsxNDE4LDY3IEBAIChk ZWZpbmVfZXhwYW5kICJnYXRoZXJfbG9hZDxtb2RlPjx2X2ludF9jb250YWluZXI+IgogOzsgUHJl ZGljYXRlZCBnYXRoZXIgbG9hZHMgZm9yIDMyLWJpdCBlbGVtZW50cy4gIE9wZXJhbmQgMyBpcyB0 cnVlIGZvcgogOzsgdW5zaWduZWQgZXh0ZW5zaW9uIGFuZCBmYWxzZSBmb3Igc2lnbmVkIGV4dGVu c2lvbi4KIChkZWZpbmVfaW5zbiAibWFza19nYXRoZXJfbG9hZDxtb2RlPjx2X2ludF9jb250YWlu ZXI+IgotICBbKHNldCAobWF0Y2hfb3BlcmFuZDpTVkVfNCAwICJyZWdpc3Rlcl9vcGVyYW5kIiAi PXcsIHcsIHcsIHcsIHcsIHciKQorICBbKHNldCAobWF0Y2hfb3BlcmFuZDpTVkVfNCAwICJyZWdp c3Rlcl9vcGVyYW5kIikKIAkodW5zcGVjOlNWRV80Ci0JICBbKG1hdGNoX29wZXJhbmQ6Vk54NEJJ IDUgInJlZ2lzdGVyX29wZXJhbmQiICJVcGwsIFVwbCwgVXBsLCBVcGwsIFVwbCwgVXBsIikKLQkg ICAobWF0Y2hfb3BlcmFuZDpESSAxICJhYXJjaDY0X3N2ZV9nYXRoZXJfb2Zmc2V0XzxWZXNpemU+ IiAiWiwgdmd3LCByaywgcmssIHJrLCByayIpCi0JICAgKG1hdGNoX29wZXJhbmQ6Vk54NFNJIDIg InJlZ2lzdGVyX29wZXJhbmQiICJ3LCB3LCB3LCB3LCB3LCB3IikKLQkgICAobWF0Y2hfb3BlcmFu ZDpESSAzICJjb25zdF9pbnRfb3BlcmFuZCIgIlVpMSwgVWkxLCBaLCBVaTEsIFosIFVpMSIpCi0J ICAgKG1hdGNoX29wZXJhbmQ6REkgNCAiYWFyY2g2NF9nYXRoZXJfc2NhbGVfb3BlcmFuZF88VmVz aXplPiIgIlVpMSwgVWkxLCBVaTEsIFVpMSwgaSwgaSIpCisJICBbKG1hdGNoX29wZXJhbmQ6Vk54 NEJJIDUgInJlZ2lzdGVyX29wZXJhbmQiKQorCSAgIChtYXRjaF9vcGVyYW5kOkRJIDEgImFhcmNo NjRfc3ZlX2dhdGhlcl9vZmZzZXRfPFZlc2l6ZT4iKQorCSAgIChtYXRjaF9vcGVyYW5kOlZOeDRT SSAyICJyZWdpc3Rlcl9vcGVyYW5kIikKKwkgICAobWF0Y2hfb3BlcmFuZDpESSAzICJjb25zdF9p bnRfb3BlcmFuZCIpCisJICAgKG1hdGNoX29wZXJhbmQ6REkgNCAiYWFyY2g2NF9nYXRoZXJfc2Nh bGVfb3BlcmFuZF88VmVzaXplPiIpCiAJICAgKG1lbTpCTEsgKHNjcmF0Y2gpKV0KIAkgIFVOU1BF Q19MRDFfR0FUSEVSKSldCiAgICJUQVJHRVRfU1ZFIgotICAiQAotICAgbGQxPFZlc2l6ZT5cdCUw LnMsICU1L3osIFslMi5zXQotICAgbGQxPFZlc2l6ZT5cdCUwLnMsICU1L3osIFslMi5zLCAjJTFd Ci0gICBsZDE8VmVzaXplPlx0JTAucywgJTUveiwgWyUxLCAlMi5zLCBzeHR3XQotICAgbGQxPFZl c2l6ZT5cdCUwLnMsICU1L3osIFslMSwgJTIucywgdXh0d10KLSAgIGxkMTxWZXNpemU+XHQlMC5z LCAlNS96LCBbJTEsICUyLnMsIHN4dHcgJXA0XQotICAgbGQxPFZlc2l6ZT5cdCUwLnMsICU1L3os IFslMSwgJTIucywgdXh0dyAlcDRdIgorICB7QCBbY29uczogPTAsIDEsIDIsIDMsIDQsIDUgIF0K KyAgICAgW3csIFosICAgdywgVWkxLCBVaTEsIFVwbCBdIGxkMTxWZXNpemU+XHQlMC5zLCAlNS96 LCBbJTIuc10KKyAgICAgW3csIHZndywgdywgVWkxLCBVaTEsIFVwbCBdIGxkMTxWZXNpemU+XHQl MC5zLCAlNS96LCBbJTIucywgIyUxXQorICAgICBbdywgcmssICB3LCBaLCAgIFVpMSwgVXBsIF0g bGQxPFZlc2l6ZT5cdCUwLnMsICU1L3osIFslMSwgJTIucywgc3h0d10KKyAgICAgW3csIHJrLCAg dywgVWkxLCBVaTEsIFVwbCBdIGxkMTxWZXNpemU+XHQlMC5zLCAlNS96LCBbJTEsICUyLnMsIHV4 dHddCisgICAgIFt3LCByaywgIHcsIFosICAgaSwgICBVcGwgXSBsZDE8VmVzaXplPlx0JTAucywg JTUveiwgWyUxLCAlMi5zLCBzeHR3ICVwNF0KKyAgICAgW3csIHJrLCAgdywgVWkxLCBpLCAgIFVw bCBdIGxkMTxWZXNpemU+XHQlMC5zLCAlNS96LCBbJTEsICUyLnMsIHV4dHcgJXA0XQorICB9CiAp CiAKIDs7IFByZWRpY2F0ZWQgZ2F0aGVyIGxvYWRzIGZvciA2NC1iaXQgZWxlbWVudHMuICBUaGUg dmFsdWUgb2Ygb3BlcmFuZCAzCiA7OyBkb2Vzbid0IG1hdHRlciBpbiB0aGlzIGNhc2UuCiAoZGVm aW5lX2luc24gIm1hc2tfZ2F0aGVyX2xvYWQ8bW9kZT48dl9pbnRfY29udGFpbmVyPiIKLSAgWyhz ZXQgKG1hdGNoX29wZXJhbmQ6U1ZFXzIgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj13LCB3LCB3LCB3 IikKKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6U1ZFXzIgMCAicmVnaXN0ZXJfb3BlcmFuZCIpCiAJ KHVuc3BlYzpTVkVfMgotCSAgWyhtYXRjaF9vcGVyYW5kOlZOeDJCSSA1ICJyZWdpc3Rlcl9vcGVy YW5kIiAiVXBsLCBVcGwsIFVwbCwgVXBsIikKLQkgICAobWF0Y2hfb3BlcmFuZDpESSAxICJhYXJj aDY0X3N2ZV9nYXRoZXJfb2Zmc2V0XzxWZXNpemU+IiAiWiwgdmdkLCByaywgcmsiKQotCSAgICht YXRjaF9vcGVyYW5kOlZOeDJESSAyICJyZWdpc3Rlcl9vcGVyYW5kIiAidywgdywgdywgdyIpCisJ ICBbKG1hdGNoX29wZXJhbmQ6Vk54MkJJIDUgInJlZ2lzdGVyX29wZXJhbmQiKQorCSAgIChtYXRj aF9vcGVyYW5kOkRJIDEgImFhcmNoNjRfc3ZlX2dhdGhlcl9vZmZzZXRfPFZlc2l6ZT4iKQorCSAg IChtYXRjaF9vcGVyYW5kOlZOeDJESSAyICJyZWdpc3Rlcl9vcGVyYW5kIikKIAkgICAobWF0Y2hf b3BlcmFuZDpESSAzICJjb25zdF9pbnRfb3BlcmFuZCIpCi0JICAgKG1hdGNoX29wZXJhbmQ6REkg NCAiYWFyY2g2NF9nYXRoZXJfc2NhbGVfb3BlcmFuZF88VmVzaXplPiIgIlVpMSwgVWkxLCBVaTEs IGkiKQorCSAgIChtYXRjaF9vcGVyYW5kOkRJIDQgImFhcmNoNjRfZ2F0aGVyX3NjYWxlX29wZXJh bmRfPFZlc2l6ZT4iKQogCSAgIChtZW06QkxLIChzY3JhdGNoKSldCiAJICBVTlNQRUNfTEQxX0dB VEhFUikpXQogICAiVEFSR0VUX1NWRSIKLSAgIkAKLSAgIGxkMTxWZXNpemU+XHQlMC5kLCAlNS96 LCBbJTIuZF0KLSAgIGxkMTxWZXNpemU+XHQlMC5kLCAlNS96LCBbJTIuZCwgIyUxXQotICAgbGQx PFZlc2l6ZT5cdCUwLmQsICU1L3osIFslMSwgJTIuZF0KLSAgIGxkMTxWZXNpemU+XHQlMC5kLCAl NS96LCBbJTEsICUyLmQsIGxzbCAlcDRdIgorICB7QCBbY29uczogPTAsIDEsIDIsIDMsIDQsIDUg XQorICAgICBbdywgWiwgICB3LCBpLCBVaTEsIFVwbCAgXSBsZDE8VmVzaXplPlx0JTAuZCwgJTUv eiwgWyUyLmRdCisgICAgIFt3LCB2Z2QsIHcsIGksIFVpMSwgVXBsICBdIGxkMTxWZXNpemU+XHQl MC5kLCAlNS96LCBbJTIuZCwgIyUxXQorICAgICBbdywgcmssICB3LCBpLCBVaTEsIFVwbCAgXSBs ZDE8VmVzaXplPlx0JTAuZCwgJTUveiwgWyUxLCAlMi5kXQorICAgICBbdywgcmssICB3LCBpLCBp LCAgIFVwbCAgXSBsZDE8VmVzaXplPlx0JTAuZCwgJTUveiwgWyUxLCAlMi5kLCBsc2wgJXA0XQor ICB9CiApCiAKIDs7IExpa2V3aXNlLCBidXQgd2l0aCB0aGUgb2Zmc2V0IGJlaW5nIGV4dGVuZGVk IGZyb20gMzIgYml0cy4KIChkZWZpbmVfaW5zbl9hbmRfcmV3cml0ZSAiKm1hc2tfZ2F0aGVyX2xv YWQ8bW9kZT48dl9pbnRfY29udGFpbmVyPl88c3U+eHR3X3VucGFja2VkIgotICBbKHNldCAobWF0 Y2hfb3BlcmFuZDpTVkVfMiAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXcsIHciKQorICBbKHNldCAo bWF0Y2hfb3BlcmFuZDpTVkVfMiAwICJyZWdpc3Rlcl9vcGVyYW5kIikKIAkodW5zcGVjOlNWRV8y Ci0JICBbKG1hdGNoX29wZXJhbmQ6Vk54MkJJIDUgInJlZ2lzdGVyX29wZXJhbmQiICJVcGwsIFVw bCIpCi0JICAgKG1hdGNoX29wZXJhbmQ6REkgMSAicmVnaXN0ZXJfb3BlcmFuZCIgInJrLCByayIp CisJICBbKG1hdGNoX29wZXJhbmQ6Vk54MkJJIDUgInJlZ2lzdGVyX29wZXJhbmQiKQorCSAgICht YXRjaF9vcGVyYW5kOkRJIDEgInJlZ2lzdGVyX29wZXJhbmQiKQogCSAgICh1bnNwZWM6Vk54MkRJ CiAJICAgICBbKG1hdGNoX29wZXJhbmQgNikKIAkgICAgICAoQU5ZX0VYVEVORDpWTngyREkKLQkJ KG1hdGNoX29wZXJhbmQ6Vk54MlNJIDIgInJlZ2lzdGVyX29wZXJhbmQiICJ3LCB3IikpXQorCQko bWF0Y2hfb3BlcmFuZDpWTngyU0kgMiAicmVnaXN0ZXJfb3BlcmFuZCIpKV0KIAkgICAgIFVOU1BF Q19QUkVEX1gpCiAJICAgKG1hdGNoX29wZXJhbmQ6REkgMyAiY29uc3RfaW50X29wZXJhbmQiKQot CSAgIChtYXRjaF9vcGVyYW5kOkRJIDQgImFhcmNoNjRfZ2F0aGVyX3NjYWxlX29wZXJhbmRfPFZl c2l6ZT4iICJVaTEsIGkiKQorCSAgIChtYXRjaF9vcGVyYW5kOkRJIDQgImFhcmNoNjRfZ2F0aGVy X3NjYWxlX29wZXJhbmRfPFZlc2l6ZT4iKQogCSAgIChtZW06QkxLIChzY3JhdGNoKSldCiAJICBV TlNQRUNfTEQxX0dBVEhFUikpXQogICAiVEFSR0VUX1NWRSIKLSAgIkAKLSAgIGxkMTxWZXNpemU+ XHQlMC5kLCAlNS96LCBbJTEsICUyLmQsIDxzdT54dHddCi0gICBsZDE8VmVzaXplPlx0JTAuZCwg JTUveiwgWyUxLCAlMi5kLCA8c3U+eHR3ICVwNF0iCisgIHtAIFtjb25zOiA9MCwgMSwgMiwgMywg NCwgNSBdCisgICAgIFt3LCByaywgdywgaSwgVWkxLCBVcGwgICBdIGxkMTxWZXNpemU+XHQlMC5k LCAlNS96LCBbJTEsICUyLmQsIDxzdT54dHddCisgICAgIFt3LCByaywgdywgaSwgaSwgICBVcGwg ICBdIGxkMTxWZXNpemU+XHQlMC5kLCAlNS96LCBbJTEsICUyLmQsIDxzdT54dHcgJXA0XQorICB9 CiAgICImJiAhQ09OU1RBTlRfUCAob3BlcmFuZHNbNl0pIgogICB7CiAgICAgb3BlcmFuZHNbNl0g PSBDT05TVE0xX1JUWCAoVk54MkJJbW9kZSk7CkBAIC0xNDg1LDI0ICsxNDg4LDI1IEBAIChkZWZp bmVfaW5zbl9hbmRfcmV3cml0ZSAiKm1hc2tfZ2F0aGVyX2xvYWQ8bW9kZT48dl9pbnRfY29udGFp bmVyPl88c3U+eHR3X3VucGFjCiA7OyBMaWtld2lzZSwgYnV0IHdpdGggdGhlIG9mZnNldCBiZWlu ZyB0cnVuY2F0ZWQgdG8gMzIgYml0cyBhbmQgdGhlbgogOzsgc2lnbi1leHRlbmRlZC4KIChkZWZp bmVfaW5zbl9hbmRfcmV3cml0ZSAiKm1hc2tfZ2F0aGVyX2xvYWQ8bW9kZT48dl9pbnRfY29udGFp bmVyPl9zeHR3IgotICBbKHNldCAobWF0Y2hfb3BlcmFuZDpTVkVfMiAwICJyZWdpc3Rlcl9vcGVy YW5kIiAiPXcsIHciKQorICBbKHNldCAobWF0Y2hfb3BlcmFuZDpTVkVfMiAwICJyZWdpc3Rlcl9v cGVyYW5kIikKIAkodW5zcGVjOlNWRV8yCi0JICBbKG1hdGNoX29wZXJhbmQ6Vk54MkJJIDUgInJl Z2lzdGVyX29wZXJhbmQiICJVcGwsIFVwbCIpCi0JICAgKG1hdGNoX29wZXJhbmQ6REkgMSAicmVn aXN0ZXJfb3BlcmFuZCIgInJrLCByayIpCisJICBbKG1hdGNoX29wZXJhbmQ6Vk54MkJJIDUgInJl Z2lzdGVyX29wZXJhbmQiKQorCSAgIChtYXRjaF9vcGVyYW5kOkRJIDEgInJlZ2lzdGVyX29wZXJh bmQiKQogCSAgICh1bnNwZWM6Vk54MkRJCiAJICAgICBbKG1hdGNoX29wZXJhbmQgNikKIAkgICAg ICAoc2lnbl9leHRlbmQ6Vk54MkRJCiAJCSh0cnVuY2F0ZTpWTngyU0kKLQkJICAobWF0Y2hfb3Bl cmFuZDpWTngyREkgMiAicmVnaXN0ZXJfb3BlcmFuZCIgIncsIHciKSkpXQorCQkgIChtYXRjaF9v cGVyYW5kOlZOeDJESSAyICJyZWdpc3Rlcl9vcGVyYW5kIikpKV0KIAkgICAgIFVOU1BFQ19QUkVE X1gpCiAJICAgKG1hdGNoX29wZXJhbmQ6REkgMyAiY29uc3RfaW50X29wZXJhbmQiKQotCSAgICht YXRjaF9vcGVyYW5kOkRJIDQgImFhcmNoNjRfZ2F0aGVyX3NjYWxlX29wZXJhbmRfPFZlc2l6ZT4i ICJVaTEsIGkiKQorCSAgIChtYXRjaF9vcGVyYW5kOkRJIDQgImFhcmNoNjRfZ2F0aGVyX3NjYWxl X29wZXJhbmRfPFZlc2l6ZT4iKQogCSAgIChtZW06QkxLIChzY3JhdGNoKSldCiAJICBVTlNQRUNf TEQxX0dBVEhFUikpXQogICAiVEFSR0VUX1NWRSIKLSAgIkAKLSAgIGxkMTxWZXNpemU+XHQlMC5k LCAlNS96LCBbJTEsICUyLmQsIHN4dHddCi0gICBsZDE8VmVzaXplPlx0JTAuZCwgJTUveiwgWyUx LCAlMi5kLCBzeHR3ICVwNF0iCisgIHtAIFtjb25zOiA9MCwgMSwgMiwgMywgNCwgNSBdCisgICAg IFt3LCByaywgdywgaSwgVWkxLCBVcGwgICBdIGxkMTxWZXNpemU+XHQlMC5kLCAlNS96LCBbJTEs ICUyLmQsIHN4dHddCisgICAgIFt3LCByaywgdywgaSwgaSwgICBVcGwgICBdIGxkMTxWZXNpemU+ XHQlMC5kLCAlNS96LCBbJTEsICUyLmQsIHN4dHcgJXA0XQorICB9CiAgICImJiAhQ09OU1RBTlRf UCAob3BlcmFuZHNbNl0pIgogICB7CiAgICAgb3BlcmFuZHNbNl0gPSBDT05TVE0xX1JUWCAoVk54 MkJJbW9kZSk7CkBAIC0xNTEyLDIxICsxNTE2LDIyIEBAIChkZWZpbmVfaW5zbl9hbmRfcmV3cml0 ZSAiKm1hc2tfZ2F0aGVyX2xvYWQ8bW9kZT48dl9pbnRfY29udGFpbmVyPl9zeHR3IgogOzsgTGlr ZXdpc2UsIGJ1dCB3aXRoIHRoZSBvZmZzZXQgYmVpbmcgdHJ1bmNhdGVkIHRvIDMyIGJpdHMgYW5k IHRoZW4KIDs7IHplcm8tZXh0ZW5kZWQuCiAoZGVmaW5lX2luc24gIiptYXNrX2dhdGhlcl9sb2Fk PG1vZGU+PHZfaW50X2NvbnRhaW5lcj5fdXh0dyIKLSAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6U1ZF XzIgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj13LCB3IikKKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6 U1ZFXzIgMCAicmVnaXN0ZXJfb3BlcmFuZCIpCiAJKHVuc3BlYzpTVkVfMgotCSAgWyhtYXRjaF9v cGVyYW5kOlZOeDJCSSA1ICJyZWdpc3Rlcl9vcGVyYW5kIiAiVXBsLCBVcGwiKQotCSAgIChtYXRj aF9vcGVyYW5kOkRJIDEgInJlZ2lzdGVyX29wZXJhbmQiICJyaywgcmsiKQorCSAgWyhtYXRjaF9v cGVyYW5kOlZOeDJCSSA1ICJyZWdpc3Rlcl9vcGVyYW5kIikKKwkgICAobWF0Y2hfb3BlcmFuZDpE SSAxICJyZWdpc3Rlcl9vcGVyYW5kIikKIAkgICAoYW5kOlZOeDJESQotCSAgICAgKG1hdGNoX29w ZXJhbmQ6Vk54MkRJIDIgInJlZ2lzdGVyX29wZXJhbmQiICJ3LCB3IikKKwkgICAgIChtYXRjaF9v cGVyYW5kOlZOeDJESSAyICJyZWdpc3Rlcl9vcGVyYW5kIikKIAkgICAgIChtYXRjaF9vcGVyYW5k OlZOeDJESSA2ICJhYXJjaDY0X3N2ZV91eHR3X2ltbWVkaWF0ZSIpKQogCSAgIChtYXRjaF9vcGVy YW5kOkRJIDMgImNvbnN0X2ludF9vcGVyYW5kIikKLQkgICAobWF0Y2hfb3BlcmFuZDpESSA0ICJh YXJjaDY0X2dhdGhlcl9zY2FsZV9vcGVyYW5kXzxWZXNpemU+IiAiVWkxLCBpIikKKwkgICAobWF0 Y2hfb3BlcmFuZDpESSA0ICJhYXJjaDY0X2dhdGhlcl9zY2FsZV9vcGVyYW5kXzxWZXNpemU+IikK IAkgICAobWVtOkJMSyAoc2NyYXRjaCkpXQogCSAgVU5TUEVDX0xEMV9HQVRIRVIpKV0KICAgIlRB UkdFVF9TVkUiCi0gICJACi0gICBsZDE8VmVzaXplPlx0JTAuZCwgJTUveiwgWyUxLCAlMi5kLCB1 eHR3XQotICAgbGQxPFZlc2l6ZT5cdCUwLmQsICU1L3osIFslMSwgJTIuZCwgdXh0dyAlcDRdIgor ICB7QCBbY29uczogPTAsIDEsIDIsIDMsIDQsIDUgXQorICAgICBbdywgcmssIHcsIGksIFVpMSwg VXBsICAgXSBsZDE8VmVzaXplPlx0JTAuZCwgJTUveiwgWyUxLCAlMi5kLCB1eHR3XQorICAgICBb dywgcmssIHcsIGksIGksICAgVXBsICAgXSBsZDE8VmVzaXplPlx0JTAuZCwgJTUveiwgWyUxLCAl Mi5kLCB1eHR3ICVwNF0KKyAgfQogKQogCiA7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0xNTQ0LDI3 ICsxNTQ5LDI4IEBAIChkZWZpbmVfaW5zbiAiKm1hc2tfZ2F0aGVyX2xvYWQ8bW9kZT48dl9pbnRf Y29udGFpbmVyPl91eHR3IgogOzsgUHJlZGljYXRlZCBleHRlbmRpbmcgZ2F0aGVyIGxvYWRzIGZv ciAzMi1iaXQgZWxlbWVudHMuICBPcGVyYW5kIDMgaXMKIDs7IHRydWUgZm9yIHVuc2lnbmVkIGV4 dGVuc2lvbiBhbmQgZmFsc2UgZm9yIHNpZ25lZCBleHRlbnNpb24uCiAoZGVmaW5lX2luc25fYW5k X3Jld3JpdGUgIkBhYXJjaDY0X2dhdGhlcl9sb2FkXzxBTllfRVhURU5EOm9wdGFiPjxTVkVfNEhT STptb2RlPjxTVkVfNEJISTptb2RlPiIKLSAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6U1ZFXzRIU0kg MCAicmVnaXN0ZXJfb3BlcmFuZCIgIj13LCB3LCB3LCB3LCB3LCB3IikKKyAgWyhzZXQgKG1hdGNo X29wZXJhbmQ6U1ZFXzRIU0kgMCAicmVnaXN0ZXJfb3BlcmFuZCIpCiAJKHVuc3BlYzpTVkVfNEhT SQotCSAgWyhtYXRjaF9vcGVyYW5kOlZOeDRCSSA2ICJnZW5lcmFsX29wZXJhbmQiICJVcGxEbm0s IFVwbERubSwgVXBsRG5tLCBVcGxEbm0sIFVwbERubSwgVXBsRG5tIikKKwkgIFsobWF0Y2hfb3Bl cmFuZDpWTng0QkkgNiAiZ2VuZXJhbF9vcGVyYW5kIikKIAkgICAoQU5ZX0VYVEVORDpTVkVfNEhT SQogCSAgICAgKHVuc3BlYzpTVkVfNEJISQotCSAgICAgICBbKG1hdGNoX29wZXJhbmQ6Vk54NEJJ IDUgInJlZ2lzdGVyX29wZXJhbmQiICJVcGwsIFVwbCwgVXBsLCBVcGwsIFVwbCwgVXBsIikKLQkJ KG1hdGNoX29wZXJhbmQ6REkgMSAiYWFyY2g2NF9zdmVfZ2F0aGVyX29mZnNldF88U1ZFXzRCSEk6 VmVzaXplPiIgIlosIHZnPFNWRV80QkhJOlZlc2l6ZT4sIHJrLCByaywgcmssIHJrIikKLQkJKG1h dGNoX29wZXJhbmQ6Vk54NFNJIDIgInJlZ2lzdGVyX29wZXJhbmQiICJ3LCB3LCB3LCB3LCB3LCB3 IikKLQkJKG1hdGNoX29wZXJhbmQ6REkgMyAiY29uc3RfaW50X29wZXJhbmQiICJVaTEsIFVpMSwg WiwgVWkxLCBaLCBVaTEiKQotCQkobWF0Y2hfb3BlcmFuZDpESSA0ICJhYXJjaDY0X2dhdGhlcl9z Y2FsZV9vcGVyYW5kXzxTVkVfNEJISTpWZXNpemU+IiAiVWkxLCBVaTEsIFVpMSwgVWkxLCBpLCBp IikKKwkgICAgICAgWyhtYXRjaF9vcGVyYW5kOlZOeDRCSSA1ICJyZWdpc3Rlcl9vcGVyYW5kIikK KwkJKG1hdGNoX29wZXJhbmQ6REkgMSAiYWFyY2g2NF9zdmVfZ2F0aGVyX29mZnNldF88U1ZFXzRC SEk6VmVzaXplPiIpCisJCShtYXRjaF9vcGVyYW5kOlZOeDRTSSAyICJyZWdpc3Rlcl9vcGVyYW5k IikKKwkJKG1hdGNoX29wZXJhbmQ6REkgMyAiY29uc3RfaW50X29wZXJhbmQiKQorCQkobWF0Y2hf b3BlcmFuZDpESSA0ICJhYXJjaDY0X2dhdGhlcl9zY2FsZV9vcGVyYW5kXzxTVkVfNEJISTpWZXNp emU+IikKIAkJKG1lbTpCTEsgKHNjcmF0Y2gpKV0KIAkgICAgICAgVU5TUEVDX0xEMV9HQVRIRVIp KV0KIAkgIFVOU1BFQ19QUkVEX1gpKV0KICAgIlRBUkdFVF9TVkUgJiYgKH48U1ZFXzRIU0k6bmFy cm93ZXJfbWFzaz4gJiA8U1ZFXzRCSEk6c2VsZl9tYXNrPikgPT0gMCIKLSAgIkAKLSAgIGxkMTxB TllfRVhURU5EOnM+PFNWRV80QkhJOlZlc2l6ZT5cdCUwLnMsICU1L3osIFslMi5zXQotICAgbGQx PEFOWV9FWFRFTkQ6cz48U1ZFXzRCSEk6VmVzaXplPlx0JTAucywgJTUveiwgWyUyLnMsICMlMV0K LSAgIGxkMTxBTllfRVhURU5EOnM+PFNWRV80QkhJOlZlc2l6ZT5cdCUwLnMsICU1L3osIFslMSwg JTIucywgc3h0d10KLSAgIGxkMTxBTllfRVhURU5EOnM+PFNWRV80QkhJOlZlc2l6ZT5cdCUwLnMs ICU1L3osIFslMSwgJTIucywgdXh0d10KLSAgIGxkMTxBTllfRVhURU5EOnM+PFNWRV80QkhJOlZl c2l6ZT5cdCUwLnMsICU1L3osIFslMSwgJTIucywgc3h0dyAlcDRdCi0gICBsZDE8QU5ZX0VYVEVO RDpzPjxTVkVfNEJISTpWZXNpemU+XHQlMC5zLCAlNS96LCBbJTEsICUyLnMsIHV4dHcgJXA0XSIK KyAge0AgW2NvbnM6ID0wLCAxLCAyLCAzLCA0LCA1LCA2ICAgICAgICAgICAgICAgICAgICAgIF0K KyAgICAgW3csIFosICAgICAgICAgICAgICAgICAgIHcsIFVpMSwgVWkxLCBVcGwsIFVwbERubV0g bGQxPEFOWV9FWFRFTkQ6cz48U1ZFXzRCSEk6VmVzaXplPlx0JTAucywgJTUveiwgWyUyLnNdCisg ICAgIFt3LCB2ZzxTVkVfNEJISTpWZXNpemU+LCB3LCBVaTEsIFVpMSwgVXBsLCBVcGxEbm1dIGxk MTxBTllfRVhURU5EOnM+PFNWRV80QkhJOlZlc2l6ZT5cdCUwLnMsICU1L3osIFslMi5zLCAjJTFd CisgICAgIFt3LCByaywgICAgICAgICAgICAgICAgICB3LCBaLCAgIFVpMSwgVXBsLCBVcGxEbm1d IGxkMTxBTllfRVhURU5EOnM+PFNWRV80QkhJOlZlc2l6ZT5cdCUwLnMsICU1L3osIFslMSwgJTIu cywgc3h0d10KKyAgICAgW3csIHJrLCAgICAgICAgICAgICAgICAgIHcsIFVpMSwgVWkxLCBVcGws IFVwbERubV0gbGQxPEFOWV9FWFRFTkQ6cz48U1ZFXzRCSEk6VmVzaXplPlx0JTAucywgJTUveiwg WyUxLCAlMi5zLCB1eHR3XQorICAgICBbdywgcmssICAgICAgICAgICAgICAgICAgdywgWiwgICBp LCAgIFVwbCwgVXBsRG5tXSBsZDE8QU5ZX0VYVEVORDpzPjxTVkVfNEJISTpWZXNpemU+XHQlMC5z LCAlNS96LCBbJTEsICUyLnMsIHN4dHcgJXA0XQorICAgICBbdywgcmssICAgICAgICAgICAgICAg ICAgdywgVWkxLCBpLCAgIFVwbCwgVXBsRG5tXSBsZDE8QU5ZX0VYVEVORDpzPjxTVkVfNEJISTpW ZXNpemU+XHQlMC5zLCAlNS96LCBbJTEsICUyLnMsIHV4dHcgJXA0XQorICB9CiAgICImJiAhQ09O U1RBTlRfUCAob3BlcmFuZHNbNl0pIgogICB7CiAgICAgb3BlcmFuZHNbNl0gPSBDT05TVE0xX1JU WCAoVk54NEJJbW9kZSk7CkBAIC0xNTc0LDI1ICsxNTgwLDI2IEBAIChkZWZpbmVfaW5zbl9hbmRf cmV3cml0ZSAiQGFhcmNoNjRfZ2F0aGVyX2xvYWRfPEFOWV9FWFRFTkQ6b3B0YWI+PFNWRV80SFNJ Om1vZGU+CiA7OyBQcmVkaWNhdGVkIGV4dGVuZGluZyBnYXRoZXIgbG9hZHMgZm9yIDY0LWJpdCBl bGVtZW50cy4gIFRoZSB2YWx1ZSBvZgogOzsgb3BlcmFuZCAzIGRvZXNuJ3QgbWF0dGVyIGluIHRo aXMgY2FzZS4KIChkZWZpbmVfaW5zbl9hbmRfcmV3cml0ZSAiQGFhcmNoNjRfZ2F0aGVyX2xvYWRf PEFOWV9FWFRFTkQ6b3B0YWI+PFNWRV8ySFNESTptb2RlPjxTVkVfMkJIU0k6bW9kZT4iCi0gIFso c2V0IChtYXRjaF9vcGVyYW5kOlNWRV8ySFNESSAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXcsIHcs IHcsIHciKQorICBbKHNldCAobWF0Y2hfb3BlcmFuZDpTVkVfMkhTREkgMCAicmVnaXN0ZXJfb3Bl cmFuZCIpCiAJKHVuc3BlYzpTVkVfMkhTREkKLQkgIFsobWF0Y2hfb3BlcmFuZDpWTngyQkkgNiAi Z2VuZXJhbF9vcGVyYW5kIiAiVXBsRG5tLCBVcGxEbm0sIFVwbERubSwgVXBsRG5tIikKKwkgIFso bWF0Y2hfb3BlcmFuZDpWTngyQkkgNiAiZ2VuZXJhbF9vcGVyYW5kIikKIAkgICAoQU5ZX0VYVEVO RDpTVkVfMkhTREkKIAkgICAgICh1bnNwZWM6U1ZFXzJCSFNJCi0JICAgICAgIFsobWF0Y2hfb3Bl cmFuZDpWTngyQkkgNSAicmVnaXN0ZXJfb3BlcmFuZCIgIlVwbCwgVXBsLCBVcGwsIFVwbCIpCi0J CShtYXRjaF9vcGVyYW5kOkRJIDEgImFhcmNoNjRfc3ZlX2dhdGhlcl9vZmZzZXRfPFNWRV8yQkhT STpWZXNpemU+IiAiWiwgdmc8U1ZFXzJCSFNJOlZlc2l6ZT4sIHJrLCByayIpCi0JCShtYXRjaF9v cGVyYW5kOlZOeDJESSAyICJyZWdpc3Rlcl9vcGVyYW5kIiAidywgdywgdywgdyIpCisJICAgICAg IFsobWF0Y2hfb3BlcmFuZDpWTngyQkkgNSAicmVnaXN0ZXJfb3BlcmFuZCIpCisJCShtYXRjaF9v cGVyYW5kOkRJIDEgImFhcmNoNjRfc3ZlX2dhdGhlcl9vZmZzZXRfPFNWRV8yQkhTSTpWZXNpemU+ IikKKwkJKG1hdGNoX29wZXJhbmQ6Vk54MkRJIDIgInJlZ2lzdGVyX29wZXJhbmQiKQogCQkobWF0 Y2hfb3BlcmFuZDpESSAzICJjb25zdF9pbnRfb3BlcmFuZCIpCi0JCShtYXRjaF9vcGVyYW5kOkRJ IDQgImFhcmNoNjRfZ2F0aGVyX3NjYWxlX29wZXJhbmRfPFNWRV8yQkhTSTpWZXNpemU+IiAiVWkx LCBVaTEsIFVpMSwgaSIpCisJCShtYXRjaF9vcGVyYW5kOkRJIDQgImFhcmNoNjRfZ2F0aGVyX3Nj YWxlX29wZXJhbmRfPFNWRV8yQkhTSTpWZXNpemU+IikKIAkJKG1lbTpCTEsgKHNjcmF0Y2gpKV0K IAkgICAgICAgVU5TUEVDX0xEMV9HQVRIRVIpKV0KIAkgIFVOU1BFQ19QUkVEX1gpKV0KICAgIlRB UkdFVF9TVkUgJiYgKH48U1ZFXzJIU0RJOm5hcnJvd2VyX21hc2s+ICYgPFNWRV8yQkhTSTpzZWxm X21hc2s+KSA9PSAwIgotICAiQAotICAgbGQxPEFOWV9FWFRFTkQ6cz48U1ZFXzJCSFNJOlZlc2l6 ZT5cdCUwLmQsICU1L3osIFslMi5kXQotICAgbGQxPEFOWV9FWFRFTkQ6cz48U1ZFXzJCSFNJOlZl c2l6ZT5cdCUwLmQsICU1L3osIFslMi5kLCAjJTFdCi0gICBsZDE8QU5ZX0VYVEVORDpzPjxTVkVf MkJIU0k6VmVzaXplPlx0JTAuZCwgJTUveiwgWyUxLCAlMi5kXQotICAgbGQxPEFOWV9FWFRFTkQ6 cz48U1ZFXzJCSFNJOlZlc2l6ZT5cdCUwLmQsICU1L3osIFslMSwgJTIuZCwgbHNsICVwNF0iCisg IHtAIFtjb25zOiA9MCwgMSwgMiwgMywgNCwgNSwgNl0KKyAgICAgW3csIFosICAgICAgICAgICAg ICAgICAgICB3LCBpLCBVaTEsIFVwbCwgVXBsRG5tXSBsZDE8QU5ZX0VYVEVORDpzPjxTVkVfMkJI U0k6VmVzaXplPlx0JTAuZCwgJTUveiwgWyUyLmRdCisgICAgIFt3LCB2ZzxTVkVfMkJIU0k6VmVz aXplPiwgdywgaSwgVWkxLCBVcGwsIFVwbERubV0gbGQxPEFOWV9FWFRFTkQ6cz48U1ZFXzJCSFNJ OlZlc2l6ZT5cdCUwLmQsICU1L3osIFslMi5kLCAjJTFdCisgICAgIFt3LCByaywgICAgICAgICAg ICAgICAgICAgdywgaSwgVWkxLCBVcGwsIFVwbERubV0gbGQxPEFOWV9FWFRFTkQ6cz48U1ZFXzJC SFNJOlZlc2l6ZT5cdCUwLmQsICU1L3osIFslMSwgJTIuZF0KKyAgICAgW3csIHJrLCAgICAgICAg ICAgICAgICAgICB3LCBpLCBpLCAgIFVwbCwgVXBsRG5tXSBsZDE8QU5ZX0VYVEVORDpzPjxTVkVf MkJIU0k6VmVzaXplPlx0JTAuZCwgJTUveiwgWyUxLCAlMi5kLCBsc2wgJXA0XQorICB9CiAgICIm JiAhQ09OU1RBTlRfUCAob3BlcmFuZHNbNl0pIgogICB7CiAgICAgb3BlcmFuZHNbNl0gPSBDT05T VE0xX1JUWCAoVk54MkJJbW9kZSk7CkBAIC0xNjAxLDI3ICsxNjA4LDI4IEBAIChkZWZpbmVfaW5z bl9hbmRfcmV3cml0ZSAiQGFhcmNoNjRfZ2F0aGVyX2xvYWRfPEFOWV9FWFRFTkQ6b3B0YWI+PFNW RV8ySFNESTptb2RlCiAKIDs7IExpa2V3aXNlLCBidXQgd2l0aCB0aGUgb2Zmc2V0IGJlaW5nIGV4 dGVuZGVkIGZyb20gMzIgYml0cy4KIChkZWZpbmVfaW5zbl9hbmRfcmV3cml0ZSAiKmFhcmNoNjRf Z2F0aGVyX2xvYWRfPEFOWV9FWFRFTkQ6b3B0YWI+PFNWRV8ySFNESTptb2RlPjxTVkVfMkJIU0k6 bW9kZT5fPEFOWV9FWFRFTkQyOnN1Pnh0d191bnBhY2tlZCIKLSAgWyhzZXQgKG1hdGNoX29wZXJh bmQ6U1ZFXzJIU0RJIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9dywgdyIpCisgIFsoc2V0IChtYXRj aF9vcGVyYW5kOlNWRV8ySFNESSAwICJyZWdpc3Rlcl9vcGVyYW5kIikKIAkodW5zcGVjOlNWRV8y SFNESQogCSAgWyhtYXRjaF9vcGVyYW5kIDYpCiAJICAgKEFOWV9FWFRFTkQ6U1ZFXzJIU0RJCiAJ ICAgICAodW5zcGVjOlNWRV8yQkhTSQotCSAgICAgICBbKG1hdGNoX29wZXJhbmQ6Vk54MkJJIDUg InJlZ2lzdGVyX29wZXJhbmQiICJVcGwsIFVwbCIpCi0JCShtYXRjaF9vcGVyYW5kOkRJIDEgImFh cmNoNjRfcmVnX29yX3plcm8iICJyaywgcmsiKQorCSAgICAgICBbKG1hdGNoX29wZXJhbmQ6Vk54 MkJJIDUgInJlZ2lzdGVyX29wZXJhbmQiKQorCQkobWF0Y2hfb3BlcmFuZDpESSAxICJhYXJjaDY0 X3JlZ19vcl96ZXJvIikKIAkJKHVuc3BlYzpWTngyREkKIAkJICBbKG1hdGNoX29wZXJhbmQgNykK IAkJICAgKEFOWV9FWFRFTkQyOlZOeDJESQotCQkgICAgIChtYXRjaF9vcGVyYW5kOlZOeDJTSSAy ICJyZWdpc3Rlcl9vcGVyYW5kIiAidywgdyIpKV0KKwkJICAgICAobWF0Y2hfb3BlcmFuZDpWTngy U0kgMiAicmVnaXN0ZXJfb3BlcmFuZCIpKV0KIAkJICBVTlNQRUNfUFJFRF9YKQogCQkobWF0Y2hf b3BlcmFuZDpESSAzICJjb25zdF9pbnRfb3BlcmFuZCIpCi0JCShtYXRjaF9vcGVyYW5kOkRJIDQg ImFhcmNoNjRfZ2F0aGVyX3NjYWxlX29wZXJhbmRfPFNWRV8yQkhTSTpWZXNpemU+IiAiVWkxLCBp IikKKwkJKG1hdGNoX29wZXJhbmQ6REkgNCAiYWFyY2g2NF9nYXRoZXJfc2NhbGVfb3BlcmFuZF88 U1ZFXzJCSFNJOlZlc2l6ZT4iKQogCQkobWVtOkJMSyAoc2NyYXRjaCkpXQogCSAgICAgICBVTlNQ RUNfTEQxX0dBVEhFUikpXQogCSAgVU5TUEVDX1BSRURfWCkpXQogICAiVEFSR0VUX1NWRSAmJiAo fjxTVkVfMkhTREk6bmFycm93ZXJfbWFzaz4gJiA8U1ZFXzJCSFNJOnNlbGZfbWFzaz4pID09IDAi Ci0gICJACi0gICBsZDE8QU5ZX0VYVEVORDpzPjxTVkVfMkJIU0k6VmVzaXplPlx0JTAuZCwgJTUv eiwgWyUxLCAlMi5kLCA8QU5ZX0VYVEVORDI6c3U+eHR3XQotICAgbGQxPEFOWV9FWFRFTkQ6cz48 U1ZFXzJCSFNJOlZlc2l6ZT5cdCUwLmQsICU1L3osIFslMSwgJTIuZCwgPEFOWV9FWFRFTkQyOnN1 Pnh0dyAlcDRdIgorICB7QCBbY29uczogPTAsIDEsIDIsIDMsIDQsIDVdCisgICAgIFt3LCByaywg dywgaSwgVWkxLCBVcGwgIF0gbGQxPEFOWV9FWFRFTkQ6cz48U1ZFXzJCSFNJOlZlc2l6ZT5cdCUw LmQsICU1L3osIFslMSwgJTIuZCwgPEFOWV9FWFRFTkQyOnN1Pnh0d10KKyAgICAgW3csIHJrLCB3 LCBpLCBpLCAgIFVwbCAgXSBsZDE8QU5ZX0VYVEVORDpzPjxTVkVfMkJIU0k6VmVzaXplPlx0JTAu ZCwgJTUveiwgWyUxLCAlMi5kLCA8QU5ZX0VYVEVORDI6c3U+eHR3ICVwNF0KKyAgfQogICAiJiYg KCFDT05TVEFOVF9QIChvcGVyYW5kc1s2XSkgfHwgIUNPTlNUQU5UX1AgKG9wZXJhbmRzWzddKSki CiAgIHsKICAgICBvcGVyYW5kc1s2XSA9IENPTlNUTTFfUlRYIChWTngyQkltb2RlKTsKQEAgLTE2 MzIsMjggKzE2NDAsMjkgQEAgKGRlZmluZV9pbnNuX2FuZF9yZXdyaXRlICIqYWFyY2g2NF9nYXRo ZXJfbG9hZF88QU5ZX0VYVEVORDpvcHRhYj48U1ZFXzJIU0RJOm1vZGUKIDs7IExpa2V3aXNlLCBi dXQgd2l0aCB0aGUgb2Zmc2V0IGJlaW5nIHRydW5jYXRlZCB0byAzMiBiaXRzIGFuZCB0aGVuCiA7 OyBzaWduLWV4dGVuZGVkLgogKGRlZmluZV9pbnNuX2FuZF9yZXdyaXRlICIqYWFyY2g2NF9nYXRo ZXJfbG9hZF88QU5ZX0VYVEVORDpvcHRhYj48U1ZFXzJIU0RJOm1vZGU+PFNWRV8yQkhTSTptb2Rl Pl9zeHR3IgotICBbKHNldCAobWF0Y2hfb3BlcmFuZDpTVkVfMkhTREkgMCAicmVnaXN0ZXJfb3Bl cmFuZCIgIj13LCB3IikKKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6U1ZFXzJIU0RJIDAgInJlZ2lz dGVyX29wZXJhbmQiKQogCSh1bnNwZWM6U1ZFXzJIU0RJCiAJICBbKG1hdGNoX29wZXJhbmQgNikK IAkgICAoQU5ZX0VYVEVORDpTVkVfMkhTREkKIAkgICAgICh1bnNwZWM6U1ZFXzJCSFNJCi0JICAg ICAgIFsobWF0Y2hfb3BlcmFuZDpWTngyQkkgNSAicmVnaXN0ZXJfb3BlcmFuZCIgIlVwbCwgVXBs IikKLQkJKG1hdGNoX29wZXJhbmQ6REkgMSAiYWFyY2g2NF9yZWdfb3JfemVybyIgInJrLCByayIp CisJICAgICAgIFsobWF0Y2hfb3BlcmFuZDpWTngyQkkgNSAicmVnaXN0ZXJfb3BlcmFuZCIpCisJ CShtYXRjaF9vcGVyYW5kOkRJIDEgImFhcmNoNjRfcmVnX29yX3plcm8iKQogCQkodW5zcGVjOlZO eDJESQogCQkgIFsobWF0Y2hfb3BlcmFuZCA3KQogCQkgICAoc2lnbl9leHRlbmQ6Vk54MkRJCiAJ CSAgICAgKHRydW5jYXRlOlZOeDJTSQotCQkgICAgICAgKG1hdGNoX29wZXJhbmQ6Vk54MkRJIDIg InJlZ2lzdGVyX29wZXJhbmQiICJ3LCB3IikpKV0KKwkJICAgICAgIChtYXRjaF9vcGVyYW5kOlZO eDJESSAyICJyZWdpc3Rlcl9vcGVyYW5kIikpKV0KIAkJICBVTlNQRUNfUFJFRF9YKQogCQkobWF0 Y2hfb3BlcmFuZDpESSAzICJjb25zdF9pbnRfb3BlcmFuZCIpCi0JCShtYXRjaF9vcGVyYW5kOkRJ IDQgImFhcmNoNjRfZ2F0aGVyX3NjYWxlX29wZXJhbmRfPFNWRV8yQkhTSTpWZXNpemU+IiAiVWkx LCBpIikKKwkJKG1hdGNoX29wZXJhbmQ6REkgNCAiYWFyY2g2NF9nYXRoZXJfc2NhbGVfb3BlcmFu ZF88U1ZFXzJCSFNJOlZlc2l6ZT4iKQogCQkobWVtOkJMSyAoc2NyYXRjaCkpXQogCSAgICAgICBV TlNQRUNfTEQxX0dBVEhFUikpXQogCSAgVU5TUEVDX1BSRURfWCkpXQogICAiVEFSR0VUX1NWRSAm JiAofjxTVkVfMkhTREk6bmFycm93ZXJfbWFzaz4gJiA8U1ZFXzJCSFNJOnNlbGZfbWFzaz4pID09 IDAiCi0gICJACi0gICBsZDE8QU5ZX0VYVEVORDpzPjxTVkVfMkJIU0k6VmVzaXplPlx0JTAuZCwg JTUveiwgWyUxLCAlMi5kLCBzeHR3XQotICAgbGQxPEFOWV9FWFRFTkQ6cz48U1ZFXzJCSFNJOlZl c2l6ZT5cdCUwLmQsICU1L3osIFslMSwgJTIuZCwgc3h0dyAlcDRdIgorICB7QCBbY29uczogPTAs IDEsIDIsIDMsIDQsIDVdCisgICAgIFt3LCByaywgdywgaSwgVWkxLCBVcGwgIF0gbGQxPEFOWV9F WFRFTkQ6cz48U1ZFXzJCSFNJOlZlc2l6ZT5cdCUwLmQsICU1L3osIFslMSwgJTIuZCwgc3h0d10K KyAgICAgW3csIHJrLCB3LCBpLCBpLCAgIFVwbCAgXSBsZDE8QU5ZX0VYVEVORDpzPjxTVkVfMkJI U0k6VmVzaXplPlx0JTAuZCwgJTUveiwgWyUxLCAlMi5kLCBzeHR3ICVwNF0KKyAgfQogICAiJiYg KCFDT05TVEFOVF9QIChvcGVyYW5kc1s2XSkgfHwgIUNPTlNUQU5UX1AgKG9wZXJhbmRzWzddKSki CiAgIHsKICAgICBvcGVyYW5kc1s2XSA9IENPTlNUTTFfUlRYIChWTngyQkltb2RlKTsKQEAgLTE2 NjQsMjUgKzE2NzMsMjYgQEAgKGRlZmluZV9pbnNuX2FuZF9yZXdyaXRlICIqYWFyY2g2NF9nYXRo ZXJfbG9hZF88QU5ZX0VYVEVORDpvcHRhYj48U1ZFXzJIU0RJOm1vZGUKIDs7IExpa2V3aXNlLCBi dXQgd2l0aCB0aGUgb2Zmc2V0IGJlaW5nIHRydW5jYXRlZCB0byAzMiBiaXRzIGFuZCB0aGVuCiA7 OyB6ZXJvLWV4dGVuZGVkLgogKGRlZmluZV9pbnNuX2FuZF9yZXdyaXRlICIqYWFyY2g2NF9nYXRo ZXJfbG9hZF88QU5ZX0VYVEVORDpvcHRhYj48U1ZFXzJIU0RJOm1vZGU+PFNWRV8yQkhTSTptb2Rl Pl91eHR3IgotICBbKHNldCAobWF0Y2hfb3BlcmFuZDpTVkVfMkhTREkgMCAicmVnaXN0ZXJfb3Bl cmFuZCIgIj13LCB3IikKKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6U1ZFXzJIU0RJIDAgInJlZ2lz dGVyX29wZXJhbmQiKQogCSh1bnNwZWM6U1ZFXzJIU0RJCiAJICBbKG1hdGNoX29wZXJhbmQgNykK IAkgICAoQU5ZX0VYVEVORDpTVkVfMkhTREkKIAkgICAgICh1bnNwZWM6U1ZFXzJCSFNJCi0JICAg ICAgIFsobWF0Y2hfb3BlcmFuZDpWTngyQkkgNSAicmVnaXN0ZXJfb3BlcmFuZCIgIlVwbCwgVXBs IikKLQkJKG1hdGNoX29wZXJhbmQ6REkgMSAiYWFyY2g2NF9yZWdfb3JfemVybyIgInJrLCByayIp CisJICAgICAgIFsobWF0Y2hfb3BlcmFuZDpWTngyQkkgNSAicmVnaXN0ZXJfb3BlcmFuZCIpCisJ CShtYXRjaF9vcGVyYW5kOkRJIDEgImFhcmNoNjRfcmVnX29yX3plcm8iKQogCQkoYW5kOlZOeDJE SQotCQkgIChtYXRjaF9vcGVyYW5kOlZOeDJESSAyICJyZWdpc3Rlcl9vcGVyYW5kIiAidywgdyIp CisJCSAgKG1hdGNoX29wZXJhbmQ6Vk54MkRJIDIgInJlZ2lzdGVyX29wZXJhbmQiKQogCQkgICht YXRjaF9vcGVyYW5kOlZOeDJESSA2ICJhYXJjaDY0X3N2ZV91eHR3X2ltbWVkaWF0ZSIpKQogCQko bWF0Y2hfb3BlcmFuZDpESSAzICJjb25zdF9pbnRfb3BlcmFuZCIpCi0JCShtYXRjaF9vcGVyYW5k OkRJIDQgImFhcmNoNjRfZ2F0aGVyX3NjYWxlX29wZXJhbmRfPFNWRV8yQkhTSTpWZXNpemU+IiAi VWkxLCBpIikKKwkJKG1hdGNoX29wZXJhbmQ6REkgNCAiYWFyY2g2NF9nYXRoZXJfc2NhbGVfb3Bl cmFuZF88U1ZFXzJCSFNJOlZlc2l6ZT4iKQogCQkobWVtOkJMSyAoc2NyYXRjaCkpXQogCSAgICAg ICBVTlNQRUNfTEQxX0dBVEhFUikpXQogCSAgVU5TUEVDX1BSRURfWCkpXQogICAiVEFSR0VUX1NW RSAmJiAofjxTVkVfMkhTREk6bmFycm93ZXJfbWFzaz4gJiA8U1ZFXzJCSFNJOnNlbGZfbWFzaz4p ID09IDAiCi0gICJACi0gICBsZDE8QU5ZX0VYVEVORDpzPjxTVkVfMkJIU0k6VmVzaXplPlx0JTAu ZCwgJTUveiwgWyUxLCAlMi5kLCB1eHR3XQotICAgbGQxPEFOWV9FWFRFTkQ6cz48U1ZFXzJCSFNJ OlZlc2l6ZT5cdCUwLmQsICU1L3osIFslMSwgJTIuZCwgdXh0dyAlcDRdIgorICB7QCBbY29uczog PTAsIDEsIDIsIDMsIDQsIDVdCisgICAgIFt3LCByaywgdywgaSwgVWkxLCBVcGwgIF0gbGQxPEFO WV9FWFRFTkQ6cz48U1ZFXzJCSFNJOlZlc2l6ZT5cdCUwLmQsICU1L3osIFslMSwgJTIuZCwgdXh0 d10KKyAgICAgW3csIHJrLCB3LCBpLCBpLCAgIFVwbCAgXSBsZDE8QU5ZX0VYVEVORDpzPjxTVkVf MkJIU0k6VmVzaXplPlx0JTAuZCwgJTUveiwgWyUxLCAlMi5kLCB1eHR3ICVwNF0KKyAgfQogICAi JiYgIUNPTlNUQU5UX1AgKG9wZXJhbmRzWzddKSIKICAgewogICAgIG9wZXJhbmRzWzddID0gQ09O U1RNMV9SVFggKFZOeDJCSW1vZGUpOwpAQCAtMTcwMCw2OCArMTcxMCw3MSBAQCAoZGVmaW5lX2lu c25fYW5kX3Jld3JpdGUgIiphYXJjaDY0X2dhdGhlcl9sb2FkXzxBTllfRVhURU5EOm9wdGFiPjxT VkVfMkhTREk6bW9kZQogOzsgUHJlZGljYXRlZCBmaXJzdC1mYXVsdGluZyBnYXRoZXIgbG9hZHMg Zm9yIDMyLWJpdCBlbGVtZW50cy4gIE9wZXJhbmQKIDs7IDMgaXMgdHJ1ZSBmb3IgdW5zaWduZWQg ZXh0ZW5zaW9uIGFuZCBmYWxzZSBmb3Igc2lnbmVkIGV4dGVuc2lvbi4KIChkZWZpbmVfaW5zbiAi QGFhcmNoNjRfbGRmZjFfZ2F0aGVyPG1vZGU+IgotICBbKHNldCAobWF0Y2hfb3BlcmFuZDpTVkVf RlVMTF9TIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9dywgdywgdywgdywgdywgdyIpCisgIFsoc2V0 IChtYXRjaF9vcGVyYW5kOlNWRV9GVUxMX1MgMCAicmVnaXN0ZXJfb3BlcmFuZCIpCiAJKHVuc3Bl YzpTVkVfRlVMTF9TCi0JICBbKG1hdGNoX29wZXJhbmQ6Vk54NEJJIDUgInJlZ2lzdGVyX29wZXJh bmQiICJVcGwsIFVwbCwgVXBsLCBVcGwsIFVwbCwgVXBsIikKLQkgICAobWF0Y2hfb3BlcmFuZDpE SSAxICJhYXJjaDY0X3N2ZV9nYXRoZXJfb2Zmc2V0X3ciICJaLCB2Z3csIHJrLCByaywgcmssIHJr IikKLQkgICAobWF0Y2hfb3BlcmFuZDpWTng0U0kgMiAicmVnaXN0ZXJfb3BlcmFuZCIgIncsIHcs IHcsIHcsIHcsIHciKQotCSAgIChtYXRjaF9vcGVyYW5kOkRJIDMgImNvbnN0X2ludF9vcGVyYW5k IiAiaSwgaSwgWiwgVWkxLCBaLCBVaTEiKQotCSAgIChtYXRjaF9vcGVyYW5kOkRJIDQgImFhcmNo NjRfZ2F0aGVyX3NjYWxlX29wZXJhbmRfdyIgIlVpMSwgVWkxLCBVaTEsIFVpMSwgaSwgaSIpCisJ ICBbKG1hdGNoX29wZXJhbmQ6Vk54NEJJIDUgInJlZ2lzdGVyX29wZXJhbmQiKQorCSAgIChtYXRj aF9vcGVyYW5kOkRJIDEgImFhcmNoNjRfc3ZlX2dhdGhlcl9vZmZzZXRfdyIpCisJICAgKG1hdGNo X29wZXJhbmQ6Vk54NFNJIDIgInJlZ2lzdGVyX29wZXJhbmQiKQorCSAgIChtYXRjaF9vcGVyYW5k OkRJIDMgImNvbnN0X2ludF9vcGVyYW5kIikKKwkgICAobWF0Y2hfb3BlcmFuZDpESSA0ICJhYXJj aDY0X2dhdGhlcl9zY2FsZV9vcGVyYW5kX3ciKQogCSAgIChtZW06QkxLIChzY3JhdGNoKSkKIAkg ICAocmVnOlZOeDE2QkkgRkZSVF9SRUdOVU0pXQogCSAgVU5TUEVDX0xERkYxX0dBVEhFUikpXQog ICAiVEFSR0VUX1NWRSIKLSAgIkAKLSAgIGxkZmYxd1x0JTAucywgJTUveiwgWyUyLnNdCi0gICBs ZGZmMXdcdCUwLnMsICU1L3osIFslMi5zLCAjJTFdCi0gICBsZGZmMXdcdCUwLnMsICU1L3osIFsl MSwgJTIucywgc3h0d10KLSAgIGxkZmYxd1x0JTAucywgJTUveiwgWyUxLCAlMi5zLCB1eHR3XQot ICAgbGRmZjF3XHQlMC5zLCAlNS96LCBbJTEsICUyLnMsIHN4dHcgJXA0XQotICAgbGRmZjF3XHQl MC5zLCAlNS96LCBbJTEsICUyLnMsIHV4dHcgJXA0XSIKKyAge0AgW2NvbnM6ID0wLCAxLCAyLCAz LCA0LCA1IF0KKyAgICAgW3csIFosICAgdywgaSwgICBVaTEsIFVwbF0gbGRmZjF3XHQlMC5zLCAl NS96LCBbJTIuc10KKyAgICAgW3csIHZndywgdywgaSwgICBVaTEsIFVwbF0gbGRmZjF3XHQlMC5z LCAlNS96LCBbJTIucywgIyUxXQorICAgICBbdywgcmssICB3LCBaLCAgIFVpMSwgVXBsXSBsZGZm MXdcdCUwLnMsICU1L3osIFslMSwgJTIucywgc3h0d10KKyAgICAgW3csIHJrLCAgdywgVWkxLCBV aTEsIFVwbF0gbGRmZjF3XHQlMC5zLCAlNS96LCBbJTEsICUyLnMsIHV4dHddCisgICAgIFt3LCBy aywgIHcsIFosICAgaSwgICBVcGxdIGxkZmYxd1x0JTAucywgJTUveiwgWyUxLCAlMi5zLCBzeHR3 ICVwNF0KKyAgICAgW3csIHJrLCAgdywgVWkxLCBpLCAgIFVwbF0gbGRmZjF3XHQlMC5zLCAlNS96 LCBbJTEsICUyLnMsIHV4dHcgJXA0XQorICB9CiApCiAKIDs7IFByZWRpY2F0ZWQgZmlyc3QtZmF1 bHRpbmcgZ2F0aGVyIGxvYWRzIGZvciA2NC1iaXQgZWxlbWVudHMuICBUaGUgdmFsdWUKIDs7IG9m IG9wZXJhbmQgMyBkb2Vzbid0IG1hdHRlciBpbiB0aGlzIGNhc2UuCiAoZGVmaW5lX2luc24gIkBh YXJjaDY0X2xkZmYxX2dhdGhlcjxtb2RlPiIKLSAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6U1ZFX0ZV TExfRCAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXcsIHcsIHcsIHciKQorICBbKHNldCAobWF0Y2hf b3BlcmFuZDpTVkVfRlVMTF9EIDAgInJlZ2lzdGVyX29wZXJhbmQiKQogCSh1bnNwZWM6U1ZFX0ZV TExfRAotCSAgWyhtYXRjaF9vcGVyYW5kOlZOeDJCSSA1ICJyZWdpc3Rlcl9vcGVyYW5kIiAiVXBs LCBVcGwsIFVwbCwgVXBsIikKLQkgICAobWF0Y2hfb3BlcmFuZDpESSAxICJhYXJjaDY0X3N2ZV9n YXRoZXJfb2Zmc2V0X2QiICJaLCB2Z2QsIHJrLCByayIpCi0JICAgKG1hdGNoX29wZXJhbmQ6Vk54 MkRJIDIgInJlZ2lzdGVyX29wZXJhbmQiICJ3LCB3LCB3LCB3IikKKwkgIFsobWF0Y2hfb3BlcmFu ZDpWTngyQkkgNSAicmVnaXN0ZXJfb3BlcmFuZCIpCisJICAgKG1hdGNoX29wZXJhbmQ6REkgMSAi YWFyY2g2NF9zdmVfZ2F0aGVyX29mZnNldF9kIikKKwkgICAobWF0Y2hfb3BlcmFuZDpWTngyREkg MiAicmVnaXN0ZXJfb3BlcmFuZCIpCiAJICAgKG1hdGNoX29wZXJhbmQ6REkgMyAiY29uc3RfaW50 X29wZXJhbmQiKQotCSAgIChtYXRjaF9vcGVyYW5kOkRJIDQgImFhcmNoNjRfZ2F0aGVyX3NjYWxl X29wZXJhbmRfZCIgIlVpMSwgVWkxLCBVaTEsIGkiKQorCSAgIChtYXRjaF9vcGVyYW5kOkRJIDQg ImFhcmNoNjRfZ2F0aGVyX3NjYWxlX29wZXJhbmRfZCIpCiAJICAgKG1lbTpCTEsgKHNjcmF0Y2gp KQogCSAgIChyZWc6Vk54MTZCSSBGRlJUX1JFR05VTSldCiAJICBVTlNQRUNfTERGRjFfR0FUSEVS KSldCiAgICJUQVJHRVRfU1ZFIgotICAiQAotICAgbGRmZjFkXHQlMC5kLCAlNS96LCBbJTIuZF0K LSAgIGxkZmYxZFx0JTAuZCwgJTUveiwgWyUyLmQsICMlMV0KLSAgIGxkZmYxZFx0JTAuZCwgJTUv eiwgWyUxLCAlMi5kXQotICAgbGRmZjFkXHQlMC5kLCAlNS96LCBbJTEsICUyLmQsIGxzbCAlcDRd IgorICB7QCBbY29uczogPTAsIDEsIDIsIDMsIDQsIDVdCisgICAgIFt3LCBaLCAgIHcsIGksIFVp MSwgVXBsIF0gbGRmZjFkXHQlMC5kLCAlNS96LCBbJTIuZF0KKyAgICAgW3csIHZnZCwgdywgaSwg VWkxLCBVcGwgXSBsZGZmMWRcdCUwLmQsICU1L3osIFslMi5kLCAjJTFdCisgICAgIFt3LCByaywg IHcsIGksIFVpMSwgVXBsIF0gbGRmZjFkXHQlMC5kLCAlNS96LCBbJTEsICUyLmRdCisgICAgIFt3 LCByaywgIHcsIGksIGksICAgVXBsIF0gbGRmZjFkXHQlMC5kLCAlNS96LCBbJTEsICUyLmQsIGxz bCAlcDRdCisgIH0KICkKIAogOzsgTGlrZXdpc2UsIGJ1dCB3aXRoIHRoZSBvZmZzZXQgYmVpbmcg c2lnbi1leHRlbmRlZCBmcm9tIDMyIGJpdHMuCiAoZGVmaW5lX2luc25fYW5kX3Jld3JpdGUgIiph YXJjaDY0X2xkZmYxX2dhdGhlcjxtb2RlPl9zeHR3IgotICBbKHNldCAobWF0Y2hfb3BlcmFuZDpT VkVfRlVMTF9EIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9dywgdyIpCisgIFsoc2V0IChtYXRjaF9v cGVyYW5kOlNWRV9GVUxMX0QgMCAicmVnaXN0ZXJfb3BlcmFuZCIpCiAJKHVuc3BlYzpTVkVfRlVM TF9ECi0JICBbKG1hdGNoX29wZXJhbmQ6Vk54MkJJIDUgInJlZ2lzdGVyX29wZXJhbmQiICJVcGws IFVwbCIpCi0JICAgKG1hdGNoX29wZXJhbmQ6REkgMSAicmVnaXN0ZXJfb3BlcmFuZCIgInJrLCBy ayIpCisJICBbKG1hdGNoX29wZXJhbmQ6Vk54MkJJIDUgInJlZ2lzdGVyX29wZXJhbmQiKQorCSAg IChtYXRjaF9vcGVyYW5kOkRJIDEgInJlZ2lzdGVyX29wZXJhbmQiKQogCSAgICh1bnNwZWM6Vk54 MkRJCiAJICAgICBbKG1hdGNoX29wZXJhbmQgNikKIAkgICAgICAoc2lnbl9leHRlbmQ6Vk54MkRJ CiAJCSh0cnVuY2F0ZTpWTngyU0kKLQkJICAobWF0Y2hfb3BlcmFuZDpWTngyREkgMiAicmVnaXN0 ZXJfb3BlcmFuZCIgIncsIHciKSkpXQorCQkgIChtYXRjaF9vcGVyYW5kOlZOeDJESSAyICJyZWdp c3Rlcl9vcGVyYW5kIikpKV0KIAkgICAgIFVOU1BFQ19QUkVEX1gpCiAJICAgKG1hdGNoX29wZXJh bmQ6REkgMyAiY29uc3RfaW50X29wZXJhbmQiKQotCSAgIChtYXRjaF9vcGVyYW5kOkRJIDQgImFh cmNoNjRfZ2F0aGVyX3NjYWxlX29wZXJhbmRfZCIgIlVpMSwgaSIpCisJICAgKG1hdGNoX29wZXJh bmQ6REkgNCAiYWFyY2g2NF9nYXRoZXJfc2NhbGVfb3BlcmFuZF9kIikKIAkgICAobWVtOkJMSyAo c2NyYXRjaCkpCiAJICAgKHJlZzpWTngxNkJJIEZGUlRfUkVHTlVNKV0KIAkgIFVOU1BFQ19MREZG MV9HQVRIRVIpKV0KICAgIlRBUkdFVF9TVkUiCi0gICJACi0gICBsZGZmMWRcdCUwLmQsICU1L3os IFslMSwgJTIuZCwgc3h0d10KLSAgIGxkZmYxZFx0JTAuZCwgJTUveiwgWyUxLCAlMi5kLCBzeHR3 ICVwNF0iCisgIHtAIFtjb25zOiA9MCwgMSwgMiwgMywgNCwgNV0KKyAgICAgW3csIHJrLCB3LCBp LCBVaTEsIFVwbCAgXSBsZGZmMWRcdCUwLmQsICU1L3osIFslMSwgJTIuZCwgc3h0d10KKyAgICAg W3csIHJrLCB3LCBpLCBpLCAgIFVwbCAgXSBsZGZmMWRcdCUwLmQsICU1L3osIFslMSwgJTIuZCwg c3h0dyAlcDRdCisgIH0KICAgIiYmICFDT05TVEFOVF9QIChvcGVyYW5kc1s2XSkiCiAgIHsKICAg ICBvcGVyYW5kc1s2XSA9IENPTlNUTTFfUlRYIChWTngyQkltb2RlKTsKQEAgLTE3NzAsMjIgKzE3 ODMsMjMgQEAgKGRlZmluZV9pbnNuX2FuZF9yZXdyaXRlICIqYWFyY2g2NF9sZGZmMV9nYXRoZXI8 bW9kZT5fc3h0dyIKIAogOzsgTGlrZXdpc2UsIGJ1dCB3aXRoIHRoZSBvZmZzZXQgYmVpbmcgemVy by1leHRlbmRlZCBmcm9tIDMyIGJpdHMuCiAoZGVmaW5lX2luc24gIiphYXJjaDY0X2xkZmYxX2dh dGhlcjxtb2RlPl91eHR3IgotICBbKHNldCAobWF0Y2hfb3BlcmFuZDpTVkVfRlVMTF9EIDAgInJl Z2lzdGVyX29wZXJhbmQiICI9dywgdyIpCisgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlNWRV9GVUxM X0QgMCAicmVnaXN0ZXJfb3BlcmFuZCIpCiAJKHVuc3BlYzpTVkVfRlVMTF9ECi0JICBbKG1hdGNo X29wZXJhbmQ6Vk54MkJJIDUgInJlZ2lzdGVyX29wZXJhbmQiICJVcGwsIFVwbCIpCi0JICAgKG1h dGNoX29wZXJhbmQ6REkgMSAicmVnaXN0ZXJfb3BlcmFuZCIgInJrLCByayIpCisJICBbKG1hdGNo X29wZXJhbmQ6Vk54MkJJIDUgInJlZ2lzdGVyX29wZXJhbmQiKQorCSAgIChtYXRjaF9vcGVyYW5k OkRJIDEgInJlZ2lzdGVyX29wZXJhbmQiKQogCSAgIChhbmQ6Vk54MkRJCi0JICAgICAobWF0Y2hf b3BlcmFuZDpWTngyREkgMiAicmVnaXN0ZXJfb3BlcmFuZCIgIncsIHciKQorCSAgICAgKG1hdGNo X29wZXJhbmQ6Vk54MkRJIDIgInJlZ2lzdGVyX29wZXJhbmQiKQogCSAgICAgKG1hdGNoX29wZXJh bmQ6Vk54MkRJIDYgImFhcmNoNjRfc3ZlX3V4dHdfaW1tZWRpYXRlIikpCiAJICAgKG1hdGNoX29w ZXJhbmQ6REkgMyAiY29uc3RfaW50X29wZXJhbmQiKQotCSAgIChtYXRjaF9vcGVyYW5kOkRJIDQg ImFhcmNoNjRfZ2F0aGVyX3NjYWxlX29wZXJhbmRfZCIgIlVpMSwgaSIpCisJICAgKG1hdGNoX29w ZXJhbmQ6REkgNCAiYWFyY2g2NF9nYXRoZXJfc2NhbGVfb3BlcmFuZF9kIikKIAkgICAobWVtOkJM SyAoc2NyYXRjaCkpCiAJICAgKHJlZzpWTngxNkJJIEZGUlRfUkVHTlVNKV0KIAkgIFVOU1BFQ19M REZGMV9HQVRIRVIpKV0KICAgIlRBUkdFVF9TVkUiCi0gICJACi0gICBsZGZmMWRcdCUwLmQsICU1 L3osIFslMSwgJTIuZCwgdXh0d10KLSAgIGxkZmYxZFx0JTAuZCwgJTUveiwgWyUxLCAlMi5kLCB1 eHR3ICVwNF0iCisgIHtAIFtjb25zOiA9MCwgMSwgMiwgMywgNCwgNV0KKyAgICAgW3csIHJrLCB3 LCBpLCBVaTEsIFVwbCAgXSBsZGZmMWRcdCUwLmQsICU1L3osIFslMSwgJTIuZCwgdXh0d10KKyAg ICAgW3csIHJrLCB3LCBpLCBpLCAgIFVwbCAgXSBsZGZmMWRcdCUwLmQsICU1L3osIFslMSwgJTIu ZCwgdXh0dyAlcDRdCisgIH0KICkKIAogOzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMTgwMywyOCAr MTgxNywyOSBAQCAoZGVmaW5lX2luc24gIiphYXJjaDY0X2xkZmYxX2dhdGhlcjxtb2RlPl91eHR3 IgogOzsgUHJlZGljYXRlZCBleHRlbmRpbmcgZmlyc3QtZmF1bHRpbmcgZ2F0aGVyIGxvYWRzIGZv ciAzMi1iaXQgZWxlbWVudHMuCiA7OyBPcGVyYW5kIDMgaXMgdHJ1ZSBmb3IgdW5zaWduZWQgZXh0 ZW5zaW9uIGFuZCBmYWxzZSBmb3Igc2lnbmVkIGV4dGVuc2lvbi4KIChkZWZpbmVfaW5zbl9hbmRf cmV3cml0ZSAiQGFhcmNoNjRfbGRmZjFfZ2F0aGVyXzxBTllfRVhURU5EOm9wdGFiPjxWTng0X1dJ REU6bW9kZT48Vk54NF9OQVJST1c6bW9kZT4iCi0gIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZOeDRf V0lERSAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXcsIHcsIHcsIHcsIHcsIHciKQorICBbKHNldCAo bWF0Y2hfb3BlcmFuZDpWTng0X1dJREUgMCAicmVnaXN0ZXJfb3BlcmFuZCIpCiAJKHVuc3BlYzpW Tng0X1dJREUKLQkgIFsobWF0Y2hfb3BlcmFuZDpWTng0QkkgNiAiZ2VuZXJhbF9vcGVyYW5kIiAi VXBsRG5tLCBVcGxEbm0sIFVwbERubSwgVXBsRG5tLCBVcGxEbm0sIFVwbERubSIpCisJICBbKG1h dGNoX29wZXJhbmQ6Vk54NEJJIDYgImdlbmVyYWxfb3BlcmFuZCIpCiAJICAgKEFOWV9FWFRFTkQ6 Vk54NF9XSURFCiAJICAgICAodW5zcGVjOlZOeDRfTkFSUk9XCi0JICAgICAgIFsobWF0Y2hfb3Bl cmFuZDpWTng0QkkgNSAicmVnaXN0ZXJfb3BlcmFuZCIgIlVwbCwgVXBsLCBVcGwsIFVwbCwgVXBs LCBVcGwiKQotCQkobWF0Y2hfb3BlcmFuZDpESSAxICJhYXJjaDY0X3N2ZV9nYXRoZXJfb2Zmc2V0 XzxWTng0X05BUlJPVzpWZXNpemU+IiAiWiwgdmc8Vk54NF9OQVJST1c6VmVzaXplPiwgcmssIHJr LCByaywgcmsiKQotCQkobWF0Y2hfb3BlcmFuZDpWTng0X1dJREUgMiAicmVnaXN0ZXJfb3BlcmFu ZCIgIncsIHcsIHcsIHcsIHcsIHciKQotCQkobWF0Y2hfb3BlcmFuZDpESSAzICJjb25zdF9pbnRf b3BlcmFuZCIgImksIGksIFosIFVpMSwgWiwgVWkxIikKLQkJKG1hdGNoX29wZXJhbmQ6REkgNCAi YWFyY2g2NF9nYXRoZXJfc2NhbGVfb3BlcmFuZF88Vk54NF9OQVJST1c6VmVzaXplPiIgIlVpMSwg VWkxLCBVaTEsIFVpMSwgaSwgaSIpCisJICAgICAgIFsobWF0Y2hfb3BlcmFuZDpWTng0QkkgNSAi cmVnaXN0ZXJfb3BlcmFuZCIpCisJCShtYXRjaF9vcGVyYW5kOkRJIDEgImFhcmNoNjRfc3ZlX2dh dGhlcl9vZmZzZXRfPFZOeDRfTkFSUk9XOlZlc2l6ZT4iKQorCQkobWF0Y2hfb3BlcmFuZDpWTng0 X1dJREUgMiAicmVnaXN0ZXJfb3BlcmFuZCIpCisJCShtYXRjaF9vcGVyYW5kOkRJIDMgImNvbnN0 X2ludF9vcGVyYW5kIikKKwkJKG1hdGNoX29wZXJhbmQ6REkgNCAiYWFyY2g2NF9nYXRoZXJfc2Nh bGVfb3BlcmFuZF88Vk54NF9OQVJST1c6VmVzaXplPiIpCiAJCShtZW06QkxLIChzY3JhdGNoKSkK IAkJKHJlZzpWTngxNkJJIEZGUlRfUkVHTlVNKV0KIAkgICAgICAgVU5TUEVDX0xERkYxX0dBVEhF UikpXQogCSAgVU5TUEVDX1BSRURfWCkpXQogICAiVEFSR0VUX1NWRSIKLSAgIkAKLSAgIGxkZmYx PEFOWV9FWFRFTkQ6cz48Vk54NF9OQVJST1c6VmVzaXplPlx0JTAucywgJTUveiwgWyUyLnNdCi0g ICBsZGZmMTxBTllfRVhURU5EOnM+PFZOeDRfTkFSUk9XOlZlc2l6ZT5cdCUwLnMsICU1L3osIFsl Mi5zLCAjJTFdCi0gICBsZGZmMTxBTllfRVhURU5EOnM+PFZOeDRfTkFSUk9XOlZlc2l6ZT5cdCUw LnMsICU1L3osIFslMSwgJTIucywgc3h0d10KLSAgIGxkZmYxPEFOWV9FWFRFTkQ6cz48Vk54NF9O QVJST1c6VmVzaXplPlx0JTAucywgJTUveiwgWyUxLCAlMi5zLCB1eHR3XQotICAgbGRmZjE8QU5Z X0VYVEVORDpzPjxWTng0X05BUlJPVzpWZXNpemU+XHQlMC5zLCAlNS96LCBbJTEsICUyLnMsIHN4 dHcgJXA0XQotICAgbGRmZjE8QU5ZX0VYVEVORDpzPjxWTng0X05BUlJPVzpWZXNpemU+XHQlMC5z LCAlNS96LCBbJTEsICUyLnMsIHV4dHcgJXA0XSIKKyAge0AgW2NvbnM6ID0wLCAxLCAyLCAzLCA0 LCA1LCA2XQorICAgICBbdywgWiwgICAgICAgICAgICAgICAgICAgICAgdywgaSwgICBVaTEsIFVw bCwgVXBsRG5tXSBsZGZmMTxBTllfRVhURU5EOnM+PFZOeDRfTkFSUk9XOlZlc2l6ZT5cdCUwLnMs ICU1L3osIFslMi5zXQorICAgICBbdywgdmc8Vk54NF9OQVJST1c6VmVzaXplPiwgdywgaSwgICBV aTEsIFVwbCwgVXBsRG5tXSBsZGZmMTxBTllfRVhURU5EOnM+PFZOeDRfTkFSUk9XOlZlc2l6ZT5c dCUwLnMsICU1L3osIFslMi5zLCAjJTFdCisgICAgIFt3LCByaywgICAgICAgICAgICAgICAgICAg ICB3LCBaLCAgIFVpMSwgVXBsLCBVcGxEbm1dIGxkZmYxPEFOWV9FWFRFTkQ6cz48Vk54NF9OQVJS T1c6VmVzaXplPlx0JTAucywgJTUveiwgWyUxLCAlMi5zLCBzeHR3XQorICAgICBbdywgcmssICAg ICAgICAgICAgICAgICAgICAgdywgVWkxLCBVaTEsIFVwbCwgVXBsRG5tXSBsZGZmMTxBTllfRVhU RU5EOnM+PFZOeDRfTkFSUk9XOlZlc2l6ZT5cdCUwLnMsICU1L3osIFslMSwgJTIucywgdXh0d10K KyAgICAgW3csIHJrLCAgICAgICAgICAgICAgICAgICAgIHcsIFosICAgaSwgICBVcGwsIFVwbERu bV0gbGRmZjE8QU5ZX0VYVEVORDpzPjxWTng0X05BUlJPVzpWZXNpemU+XHQlMC5zLCAlNS96LCBb JTEsICUyLnMsIHN4dHcgJXA0XQorICAgICBbdywgcmssICAgICAgICAgICAgICAgICAgICAgdywg VWkxLCBpLCAgIFVwbCwgVXBsRG5tXSBsZGZmMTxBTllfRVhURU5EOnM+PFZOeDRfTkFSUk9XOlZl c2l6ZT5cdCUwLnMsICU1L3osIFslMSwgJTIucywgdXh0dyAlcDRdCisgIH0KICAgIiYmICFDT05T VEFOVF9QIChvcGVyYW5kc1s2XSkiCiAgIHsKICAgICBvcGVyYW5kc1s2XSA9IENPTlNUTTFfUlRY IChWTng0Qkltb2RlKTsKQEAgLTE4MzQsMjYgKzE4NDksMjcgQEAgKGRlZmluZV9pbnNuX2FuZF9y ZXdyaXRlICJAYWFyY2g2NF9sZGZmMV9nYXRoZXJfPEFOWV9FWFRFTkQ6b3B0YWI+PFZOeDRfV0lE RTptb2QKIDs7IFByZWRpY2F0ZWQgZXh0ZW5kaW5nIGZpcnN0LWZhdWx0aW5nIGdhdGhlciBsb2Fk cyBmb3IgNjQtYml0IGVsZW1lbnRzLgogOzsgVGhlIHZhbHVlIG9mIG9wZXJhbmQgMyBkb2Vzbid0 IG1hdHRlciBpbiB0aGlzIGNhc2UuCiAoZGVmaW5lX2luc25fYW5kX3Jld3JpdGUgIkBhYXJjaDY0 X2xkZmYxX2dhdGhlcl88QU5ZX0VYVEVORDpvcHRhYj48Vk54Ml9XSURFOm1vZGU+PFZOeDJfTkFS Uk9XOm1vZGU+IgotICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWTngyX1dJREUgMCAicmVnaXN0ZXJf b3BlcmFuZCIgIj13LCB3LCB3LCB3IikKKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6Vk54Ml9XSURF IDAgInJlZ2lzdGVyX29wZXJhbmQiKQogCSh1bnNwZWM6Vk54Ml9XSURFCi0JICBbKG1hdGNoX29w ZXJhbmQ6Vk54MkJJIDYgImdlbmVyYWxfb3BlcmFuZCIgIlVwbERubSwgVXBsRG5tLCBVcGxEbm0s IFVwbERubSIpCisJICBbKG1hdGNoX29wZXJhbmQ6Vk54MkJJIDYgImdlbmVyYWxfb3BlcmFuZCIp CiAJICAgKEFOWV9FWFRFTkQ6Vk54Ml9XSURFCiAJICAgICAodW5zcGVjOlZOeDJfTkFSUk9XCi0J ICAgICAgIFsobWF0Y2hfb3BlcmFuZDpWTngyQkkgNSAicmVnaXN0ZXJfb3BlcmFuZCIgIlVwbCwg VXBsLCBVcGwsIFVwbCIpCi0JCShtYXRjaF9vcGVyYW5kOkRJIDEgImFhcmNoNjRfc3ZlX2dhdGhl cl9vZmZzZXRfPFZOeDJfTkFSUk9XOlZlc2l6ZT4iICJaLCB2ZzxWTngyX05BUlJPVzpWZXNpemU+ LCByaywgcmsiKQotCQkobWF0Y2hfb3BlcmFuZDpWTngyX1dJREUgMiAicmVnaXN0ZXJfb3BlcmFu ZCIgIncsIHcsIHcsIHciKQorCSAgICAgICBbKG1hdGNoX29wZXJhbmQ6Vk54MkJJIDUgInJlZ2lz dGVyX29wZXJhbmQiKQorCQkobWF0Y2hfb3BlcmFuZDpESSAxICJhYXJjaDY0X3N2ZV9nYXRoZXJf b2Zmc2V0XzxWTngyX05BUlJPVzpWZXNpemU+IikKKwkJKG1hdGNoX29wZXJhbmQ6Vk54Ml9XSURF IDIgInJlZ2lzdGVyX29wZXJhbmQiKQogCQkobWF0Y2hfb3BlcmFuZDpESSAzICJjb25zdF9pbnRf b3BlcmFuZCIpCi0JCShtYXRjaF9vcGVyYW5kOkRJIDQgImFhcmNoNjRfZ2F0aGVyX3NjYWxlX29w ZXJhbmRfPFZOeDJfTkFSUk9XOlZlc2l6ZT4iICJVaTEsIFVpMSwgVWkxLCBpIikKKwkJKG1hdGNo X29wZXJhbmQ6REkgNCAiYWFyY2g2NF9nYXRoZXJfc2NhbGVfb3BlcmFuZF88Vk54Ml9OQVJST1c6 VmVzaXplPiIpCiAJCShtZW06QkxLIChzY3JhdGNoKSkKIAkJKHJlZzpWTngxNkJJIEZGUlRfUkVH TlVNKV0KIAkgICAgICAgVU5TUEVDX0xERkYxX0dBVEhFUikpXQogCSAgVU5TUEVDX1BSRURfWCkp XQogICAiVEFSR0VUX1NWRSIKLSAgIkAKLSAgIGxkZmYxPEFOWV9FWFRFTkQ6cz48Vk54Ml9OQVJS T1c6VmVzaXplPlx0JTAuZCwgJTUveiwgWyUyLmRdCi0gICBsZGZmMTxBTllfRVhURU5EOnM+PFZO eDJfTkFSUk9XOlZlc2l6ZT5cdCUwLmQsICU1L3osIFslMi5kLCAjJTFdCi0gICBsZGZmMTxBTllf RVhURU5EOnM+PFZOeDJfTkFSUk9XOlZlc2l6ZT5cdCUwLmQsICU1L3osIFslMSwgJTIuZF0KLSAg IGxkZmYxPEFOWV9FWFRFTkQ6cz48Vk54Ml9OQVJST1c6VmVzaXplPlx0JTAuZCwgJTUveiwgWyUx LCAlMi5kLCBsc2wgJXA0XSIKKyAge0AgW2NvbnM6ID0wLCAxLCAyLCAzLCA0LCA1LCA2XQorICAg ICBbdywgWiwgICAgICAgICAgICAgICAgICAgICAgdywgaSwgVWkxLCBVcGwsIFVwbERubV0gbGRm ZjE8QU5ZX0VYVEVORDpzPjxWTngyX05BUlJPVzpWZXNpemU+XHQlMC5kLCAlNS96LCBbJTIuZF0K KyAgICAgW3csIHZnPFZOeDJfTkFSUk9XOlZlc2l6ZT4sIHcsIGksIFVpMSwgVXBsLCBVcGxEbm1d IGxkZmYxPEFOWV9FWFRFTkQ6cz48Vk54Ml9OQVJST1c6VmVzaXplPlx0JTAuZCwgJTUveiwgWyUy LmQsICMlMV0KKyAgICAgW3csIHJrLCAgICAgICAgICAgICAgICAgICAgIHcsIGksIFVpMSwgVXBs LCBVcGxEbm1dIGxkZmYxPEFOWV9FWFRFTkQ6cz48Vk54Ml9OQVJST1c6VmVzaXplPlx0JTAuZCwg JTUveiwgWyUxLCAlMi5kXQorICAgICBbdywgcmssICAgICAgICAgICAgICAgICAgICAgdywgaSwg aSwgICBVcGwsIFVwbERubV0gbGRmZjE8QU5ZX0VYVEVORDpzPjxWTngyX05BUlJPVzpWZXNpemU+ XHQlMC5kLCAlNS96LCBbJTEsICUyLmQsIGxzbCAlcDRdCisgIH0KICAgIiYmICFDT05TVEFOVF9Q IChvcGVyYW5kc1s2XSkiCiAgIHsKICAgICBvcGVyYW5kc1s2XSA9IENPTlNUTTFfUlRYIChWTngy Qkltb2RlKTsKQEAgLTE4NjIsMjkgKzE4NzgsMzAgQEAgKGRlZmluZV9pbnNuX2FuZF9yZXdyaXRl ICJAYWFyY2g2NF9sZGZmMV9nYXRoZXJfPEFOWV9FWFRFTkQ6b3B0YWI+PFZOeDJfV0lERTptb2QK IAogOzsgTGlrZXdpc2UsIGJ1dCB3aXRoIHRoZSBvZmZzZXQgYmVpbmcgc2lnbi1leHRlbmRlZCBm cm9tIDMyIGJpdHMuCiAoZGVmaW5lX2luc25fYW5kX3Jld3JpdGUgIiphYXJjaDY0X2xkZmYxX2dh dGhlcl88QU5ZX0VYVEVORDpvcHRhYj48Vk54Ml9XSURFOm1vZGU+PFZOeDJfTkFSUk9XOm1vZGU+ X3N4dHciCi0gIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZOeDJfV0lERSAwICJyZWdpc3Rlcl9vcGVy YW5kIiAiPXcsIHciKQorICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWTngyX1dJREUgMCAicmVnaXN0 ZXJfb3BlcmFuZCIpCiAJKHVuc3BlYzpWTngyX1dJREUKIAkgIFsobWF0Y2hfb3BlcmFuZCA2KQog CSAgIChBTllfRVhURU5EOlZOeDJfV0lERQogCSAgICAgKHVuc3BlYzpWTngyX05BUlJPVwotCSAg ICAgICBbKG1hdGNoX29wZXJhbmQ6Vk54MkJJIDUgInJlZ2lzdGVyX29wZXJhbmQiICJVcGwsIFVw bCIpCi0JCShtYXRjaF9vcGVyYW5kOkRJIDEgImFhcmNoNjRfcmVnX29yX3plcm8iICJyaywgcmsi KQorCSAgICAgICBbKG1hdGNoX29wZXJhbmQ6Vk54MkJJIDUgInJlZ2lzdGVyX29wZXJhbmQiKQor CQkobWF0Y2hfb3BlcmFuZDpESSAxICJhYXJjaDY0X3JlZ19vcl96ZXJvIikKIAkJKHVuc3BlYzpW TngyREkKIAkJICBbKG1hdGNoX29wZXJhbmQgNykKIAkJICAgKHNpZ25fZXh0ZW5kOlZOeDJESQog CQkgICAgICh0cnVuY2F0ZTpWTngyU0kKLQkJICAgICAgIChtYXRjaF9vcGVyYW5kOlZOeDJESSAy ICJyZWdpc3Rlcl9vcGVyYW5kIiAidywgdyIpKSldCisJCSAgICAgICAobWF0Y2hfb3BlcmFuZDpW TngyREkgMiAicmVnaXN0ZXJfb3BlcmFuZCIpKSldCiAJCSAgVU5TUEVDX1BSRURfWCkKIAkJKG1h dGNoX29wZXJhbmQ6REkgMyAiY29uc3RfaW50X29wZXJhbmQiKQotCQkobWF0Y2hfb3BlcmFuZDpE SSA0ICJhYXJjaDY0X2dhdGhlcl9zY2FsZV9vcGVyYW5kXzxWTngyX05BUlJPVzpWZXNpemU+IiAi VWkxLCBpIikKKwkJKG1hdGNoX29wZXJhbmQ6REkgNCAiYWFyY2g2NF9nYXRoZXJfc2NhbGVfb3Bl cmFuZF88Vk54Ml9OQVJST1c6VmVzaXplPiIpCiAJCShtZW06QkxLIChzY3JhdGNoKSkKIAkJKHJl ZzpWTngxNkJJIEZGUlRfUkVHTlVNKV0KIAkgICAgICAgVU5TUEVDX0xERkYxX0dBVEhFUikpXQog CSAgVU5TUEVDX1BSRURfWCkpXQogICAiVEFSR0VUX1NWRSIKLSAgIkAKLSAgIGxkZmYxPEFOWV9F WFRFTkQ6cz48Vk54Ml9OQVJST1c6VmVzaXplPlx0JTAuZCwgJTUveiwgWyUxLCAlMi5kLCBzeHR3 XQotICAgbGRmZjE8QU5ZX0VYVEVORDpzPjxWTngyX05BUlJPVzpWZXNpemU+XHQlMC5kLCAlNS96 LCBbJTEsICUyLmQsIHN4dHcgJXA0XSIKKyAge0AgW2NvbnM6ID0wLCAxLCAyLCAzLCA0LCA1XQor ICAgICBbdywgcmssIHcsIGksIFVpMSwgVXBsICBdIGxkZmYxPEFOWV9FWFRFTkQ6cz48Vk54Ml9O QVJST1c6VmVzaXplPlx0JTAuZCwgJTUveiwgWyUxLCAlMi5kLCBzeHR3XQorICAgICBbdywgcmss IHcsIGksIGksICAgVXBsICBdIGxkZmYxPEFOWV9FWFRFTkQ6cz48Vk54Ml9OQVJST1c6VmVzaXpl Plx0JTAuZCwgJTUveiwgWyUxLCAlMi5kLCBzeHR3ICVwNF0KKyAgfQogICAiJiYgKCFDT05TVEFO VF9QIChvcGVyYW5kc1s2XSkgfHwgIUNPTlNUQU5UX1AgKG9wZXJhbmRzWzddKSkiCiAgIHsKICAg ICBvcGVyYW5kc1s2XSA9IENPTlNUTTFfUlRYIChWTngyQkltb2RlKTsKQEAgLTE4OTQsMjYgKzE5 MTEsMjcgQEAgKGRlZmluZV9pbnNuX2FuZF9yZXdyaXRlICIqYWFyY2g2NF9sZGZmMV9nYXRoZXJf PEFOWV9FWFRFTkQ6b3B0YWI+PFZOeDJfV0lERTptb2QKIAogOzsgTGlrZXdpc2UsIGJ1dCB3aXRo IHRoZSBvZmZzZXQgYmVpbmcgemVyby1leHRlbmRlZCBmcm9tIDMyIGJpdHMuCiAoZGVmaW5lX2lu c25fYW5kX3Jld3JpdGUgIiphYXJjaDY0X2xkZmYxX2dhdGhlcl88QU5ZX0VYVEVORDpvcHRhYj48 Vk54Ml9XSURFOm1vZGU+PFZOeDJfTkFSUk9XOm1vZGU+X3V4dHciCi0gIFsoc2V0IChtYXRjaF9v cGVyYW5kOlZOeDJfV0lERSAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXcsIHciKQorICBbKHNldCAo bWF0Y2hfb3BlcmFuZDpWTngyX1dJREUgMCAicmVnaXN0ZXJfb3BlcmFuZCIpCiAJKHVuc3BlYzpW TngyX1dJREUKIAkgIFsobWF0Y2hfb3BlcmFuZCA3KQogCSAgIChBTllfRVhURU5EOlZOeDJfV0lE RQogCSAgICAgKHVuc3BlYzpWTngyX05BUlJPVwotCSAgICAgICBbKG1hdGNoX29wZXJhbmQ6Vk54 MkJJIDUgInJlZ2lzdGVyX29wZXJhbmQiICJVcGwsIFVwbCIpCi0JCShtYXRjaF9vcGVyYW5kOkRJ IDEgImFhcmNoNjRfcmVnX29yX3plcm8iICJyaywgcmsiKQorCSAgICAgICBbKG1hdGNoX29wZXJh bmQ6Vk54MkJJIDUgInJlZ2lzdGVyX29wZXJhbmQiKQorCQkobWF0Y2hfb3BlcmFuZDpESSAxICJh YXJjaDY0X3JlZ19vcl96ZXJvIikKIAkJKGFuZDpWTngyREkKLQkJICAobWF0Y2hfb3BlcmFuZDpW TngyREkgMiAicmVnaXN0ZXJfb3BlcmFuZCIgIncsIHciKQorCQkgIChtYXRjaF9vcGVyYW5kOlZO eDJESSAyICJyZWdpc3Rlcl9vcGVyYW5kIikKIAkJICAobWF0Y2hfb3BlcmFuZDpWTngyREkgNiAi YWFyY2g2NF9zdmVfdXh0d19pbW1lZGlhdGUiKSkKIAkJKG1hdGNoX29wZXJhbmQ6REkgMyAiY29u c3RfaW50X29wZXJhbmQiKQotCQkobWF0Y2hfb3BlcmFuZDpESSA0ICJhYXJjaDY0X2dhdGhlcl9z Y2FsZV9vcGVyYW5kXzxWTngyX05BUlJPVzpWZXNpemU+IiAiVWkxLCBpIikKKwkJKG1hdGNoX29w ZXJhbmQ6REkgNCAiYWFyY2g2NF9nYXRoZXJfc2NhbGVfb3BlcmFuZF88Vk54Ml9OQVJST1c6VmVz aXplPiIpCiAJCShtZW06QkxLIChzY3JhdGNoKSkKIAkJKHJlZzpWTngxNkJJIEZGUlRfUkVHTlVN KV0KIAkgICAgICAgVU5TUEVDX0xERkYxX0dBVEhFUikpXQogCSAgVU5TUEVDX1BSRURfWCkpXQog ICAiVEFSR0VUX1NWRSIKLSAgIkAKLSAgIGxkZmYxPEFOWV9FWFRFTkQ6cz48Vk54Ml9OQVJST1c6 VmVzaXplPlx0JTAuZCwgJTUveiwgWyUxLCAlMi5kLCB1eHR3XQotICAgbGRmZjE8QU5ZX0VYVEVO RDpzPjxWTngyX05BUlJPVzpWZXNpemU+XHQlMC5kLCAlNS96LCBbJTEsICUyLmQsIHV4dHcgJXA0 XSIKKyAge0AgW2NvbnM6ID0wLCAxLCAyLCAzLCA0LCA1XQorICAgICBbdywgcmssIHcsIGksIFVp MSwgVXBsICBdIGxkZmYxPEFOWV9FWFRFTkQ6cz48Vk54Ml9OQVJST1c6VmVzaXplPlx0JTAuZCwg JTUveiwgWyUxLCAlMi5kLCB1eHR3XQorICAgICBbdywgcmssIHcsIGksIGksICAgVXBsICBdIGxk ZmYxPEFOWV9FWFRFTkQ6cz48Vk54Ml9OQVJST1c6VmVzaXplPlx0JTAuZCwgJTUveiwgWyUxLCAl Mi5kLCB1eHR3ICVwNF0KKyAgfQogICAiJiYgIUNPTlNUQU5UX1AgKG9wZXJhbmRzWzddKSIKICAg ewogICAgIG9wZXJhbmRzWzddID0gQ09OU1RNMV9SVFggKFZOeDJCSW1vZGUpOwpkaWZmIC0tZ2l0 IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc3ZlMi5tZCBiL2djYy9jb25maWcvYWFyY2g2 NC9hYXJjaDY0LXN2ZTIubWQKaW5kZXggZGE4YTQyNGRkNTdmYzU0ODJjYjIwYmE0MTdkNDE0MTE0 OGFjNjFiNi4uZjg0ZmY3NDNmYzc3Njk2ODlhZWJhOGJmZmRkMTVhYTE5MWI5ZjkyZCAxMDA2NDQK LS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc3ZlMi5tZAorKysgYi9nY2MvY29uZmln L2FhcmNoNjQvYWFyY2g2NC1zdmUyLm1kCkBAIC0xMDIsMzcgKzEwMiwzOSBAQAogCiA7OyBOb24t ZXh0ZW5kaW5nIGxvYWRzLgogKGRlZmluZV9pbnNuICJAYWFyY2g2NF9nYXRoZXJfbGRudDxtb2Rl PiIKLSAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6U1ZFX0ZVTExfU0QgMCAicmVnaXN0ZXJfb3BlcmFu ZCIgIj13LCB3IikKKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6U1ZFX0ZVTExfU0QgMCAicmVnaXN0 ZXJfb3BlcmFuZCIpCiAJKHVuc3BlYzpTVkVfRlVMTF9TRAotCSAgWyhtYXRjaF9vcGVyYW5kOjxW UFJFRD4gMSAicmVnaXN0ZXJfb3BlcmFuZCIgIlVwbCwgVXBsIikKLQkgICAobWF0Y2hfb3BlcmFu ZDpESSAyICJhYXJjaDY0X3JlZ19vcl96ZXJvIiAiWiwgciIpCi0JICAgKG1hdGNoX29wZXJhbmQ6 PFZfSU5UX0VRVUlWPiAzICJyZWdpc3Rlcl9vcGVyYW5kIiAidywgdyIpCisJICBbKG1hdGNoX29w ZXJhbmQ6PFZQUkVEPiAxICJyZWdpc3Rlcl9vcGVyYW5kIikKKwkgICAobWF0Y2hfb3BlcmFuZDpE SSAyICJhYXJjaDY0X3JlZ19vcl96ZXJvIikKKwkgICAobWF0Y2hfb3BlcmFuZDo8Vl9JTlRfRVFV SVY+IDMgInJlZ2lzdGVyX29wZXJhbmQiKQogCSAgIChtZW06QkxLIChzY3JhdGNoKSldCiAJICBV TlNQRUNfTEROVDFfR0FUSEVSKSldCiAgICJUQVJHRVRfU1ZFMiIKLSAgIkAKLSAgIGxkbnQxPFZl c2l6ZT5cdCUwLjxWZXR5cGU+LCAlMS96LCBbJTMuPFZldHlwZT5dCi0gICBsZG50MTxWZXNpemU+ XHQlMC48VmV0eXBlPiwgJTEveiwgWyUzLjxWZXR5cGU+LCAlMl0iCisgIHtAIFtjb25zOiA9MCwg MSwgMiwgM10KKyAgICAgW3csIFVwbCwgWiwgdyAgICAgXSBsZG50MTxWZXNpemU+XHQlMC48VmV0 eXBlPiwgJTEveiwgWyUzLjxWZXR5cGU+XQorICAgICBbdywgVXBsLCByLCB3ICAgICBdIGxkbnQx PFZlc2l6ZT5cdCUwLjxWZXR5cGU+LCAlMS96LCBbJTMuPFZldHlwZT4sICUyXQorICB9CiApCiAK IDs7IEV4dGVuZGluZyBsb2Fkcy4KIChkZWZpbmVfaW5zbl9hbmRfcmV3cml0ZSAiQGFhcmNoNjRf Z2F0aGVyX2xkbnRfPEFOWV9FWFRFTkQ6b3B0YWI+PFNWRV9GVUxMX1NESTptb2RlPjxTVkVfUEFS VElBTF9JOm1vZGU+IgotICBbKHNldCAobWF0Y2hfb3BlcmFuZDpTVkVfRlVMTF9TREkgMCAicmVn aXN0ZXJfb3BlcmFuZCIgIj13LCB3IikKKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6U1ZFX0ZVTExf U0RJIDAgInJlZ2lzdGVyX29wZXJhbmQiKQogCSh1bnNwZWM6U1ZFX0ZVTExfU0RJCi0JICBbKG1h dGNoX29wZXJhbmQ6PFNWRV9GVUxMX1NESTpWUFJFRD4gNCAiZ2VuZXJhbF9vcGVyYW5kIiAiVXBs RG5tLCBVcGxEbm0iKQorCSAgWyhtYXRjaF9vcGVyYW5kOjxTVkVfRlVMTF9TREk6VlBSRUQ+IDQg ImdlbmVyYWxfb3BlcmFuZCIpCiAJICAgKEFOWV9FWFRFTkQ6U1ZFX0ZVTExfU0RJCiAJICAgICAo dW5zcGVjOlNWRV9QQVJUSUFMX0kKLQkgICAgICAgWyhtYXRjaF9vcGVyYW5kOjxTVkVfRlVMTF9T REk6VlBSRUQ+IDEgInJlZ2lzdGVyX29wZXJhbmQiICJVcGwsIFVwbCIpCi0JCShtYXRjaF9vcGVy YW5kOkRJIDIgImFhcmNoNjRfcmVnX29yX3plcm8iICJaLCByIikKLQkJKG1hdGNoX29wZXJhbmQ6 PFNWRV9GVUxMX1NESTpWX0lOVF9FUVVJVj4gMyAicmVnaXN0ZXJfb3BlcmFuZCIgIncsIHciKQor CSAgICAgICBbKG1hdGNoX29wZXJhbmQ6PFNWRV9GVUxMX1NESTpWUFJFRD4gMSAicmVnaXN0ZXJf b3BlcmFuZCIpCisJCShtYXRjaF9vcGVyYW5kOkRJIDIgImFhcmNoNjRfcmVnX29yX3plcm8iKQor CQkobWF0Y2hfb3BlcmFuZDo8U1ZFX0ZVTExfU0RJOlZfSU5UX0VRVUlWPiAzICJyZWdpc3Rlcl9v cGVyYW5kIikKIAkJKG1lbTpCTEsgKHNjcmF0Y2gpKV0KIAkgICAgICAgVU5TUEVDX0xETlQxX0dB VEhFUikpXQogCSAgVU5TUEVDX1BSRURfWCkpXQogICAiVEFSR0VUX1NWRTIKICAgICYmICh+PFNW RV9GVUxMX1NESTpuYXJyb3dlcl9tYXNrPiAmIDxTVkVfUEFSVElBTF9JOnNlbGZfbWFzaz4pID09 IDAiCi0gICJACi0gICBsZG50MTxBTllfRVhURU5EOnM+PFNWRV9QQVJUSUFMX0k6VmVzaXplPlx0 JTAuPFNWRV9GVUxMX1NESTpWZXR5cGU+LCAlMS96LCBbJTMuPFNWRV9GVUxMX1NESTpWZXR5cGU+ XQotICAgbGRudDE8QU5ZX0VYVEVORDpzPjxTVkVfUEFSVElBTF9JOlZlc2l6ZT5cdCUwLjxTVkVf RlVMTF9TREk6VmV0eXBlPiwgJTEveiwgWyUzLjxTVkVfRlVMTF9TREk6VmV0eXBlPiwgJTJdIgor ICB7QCBbY29uczogPTAsIDEsIDIsIDMsIDRdCisgICAgIFt3LCBVcGwsIFosIHcsIFVwbERubV0g bGRudDE8QU5ZX0VYVEVORDpzPjxTVkVfUEFSVElBTF9JOlZlc2l6ZT5cdCUwLjxTVkVfRlVMTF9T REk6VmV0eXBlPiwgJTEveiwgWyUzLjxTVkVfRlVMTF9TREk6VmV0eXBlPl0KKyAgICAgW3csIFVw bCwgciwgdywgVXBsRG5tXSBsZG50MTxBTllfRVhURU5EOnM+PFNWRV9QQVJUSUFMX0k6VmVzaXpl Plx0JTAuPFNWRV9GVUxMX1NESTpWZXR5cGU+LCAlMS96LCBbJTMuPFNWRV9GVUxMX1NESTpWZXR5 cGU+LCAlMl0KKyAgfQogICAiJiYgIUNPTlNUQU5UX1AgKG9wZXJhbmRzWzRdKSIKICAgewogICAg IG9wZXJhbmRzWzRdID0gQ09OU1RNMV9SVFggKDxTVkVfRlVMTF9TREk6VlBSRUQ+bW9kZSk7Cg== --_002_PAXPR08MB69262284F7E92B5B909D0426935DAPAXPR08MB6926eurp_--