From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2048.outbound.protection.outlook.com [40.107.20.48]) by sourceware.org (Postfix) with ESMTPS id 53543384F6D7 for ; Thu, 24 Nov 2022 12:19:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 53543384F6D7 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=lg0E3+NwxYmxJ9piFaVXqZynPiAArFZBB2xiZigG2YE=; b=3kE1LEhbIGieeM4TD7jpxmvYH6wlbaRaz6qcHhUh9j3Re9s5+vSojo6QH3m1oR4mDi9W7pmIZW8zDFZW1JL9Lz+CGz7XQH4ajFFEmX0AzQMw+AkVb+4uutQ2eIVNGfNmtIMyQvgUIqxB64XdxHZ7b9yIiYdpg4TZPq+QwjEDeJU= Received: from DB7PR05CA0044.eurprd05.prod.outlook.com (2603:10a6:10:2e::21) by PAXPR08MB6702.eurprd08.prod.outlook.com (2603:10a6:102:134::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.17; Thu, 24 Nov 2022 12:19:08 +0000 Received: from DBAEUR03FT045.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:2e:cafe::d1) by DB7PR05CA0044.outlook.office365.com (2603:10a6:10:2e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.17 via Frontend Transport; Thu, 24 Nov 2022 12:19:07 +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 DBAEUR03FT045.mail.protection.outlook.com (100.127.142.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.18 via Frontend Transport; Thu, 24 Nov 2022 12:19:06 +0000 Received: ("Tessian outbound b4aebcc5bc64:v130"); Thu, 24 Nov 2022 12:19:06 +0000 X-CR-MTA-TID: 64aa7808 Received: from d8a90ab50913.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id C9FB4F91-B695-4169-AD2C-135E2BF65B93.1; Thu, 24 Nov 2022 12:18:56 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d8a90ab50913.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 24 Nov 2022 12:18:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AYSDSC5tGZWWbB+ypQvQm7PAvI9CKwg6AkoaXLs9wUvQLYc0qUql59qpGPwBv8eIdCwOtOwO1+SZA/Oy9ioKSfPFbXEW28Mr6Ov8aRk2b1cwOleO+fxGx7uxpVobUiSdMQAFzwtHd8Jr6rBJniUMj4qzw9SPLfXuzuDueJBNHQBuvq/datNYuIP9OmF39D7wNyV2L3Pm+WnOnCF7Ydzw848Xm57RUMsg6ijYY92ZufH4zuV2d2GSQttazuB3n+r6vtwZIwG1bHn0Y6KKav5xI9Wvdelp3j5DE1chVc+hSqWRpV4B8xVyQSgwUbn+wS0fYyngpWulOKgZhrMIIx0wAw== 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=lg0E3+NwxYmxJ9piFaVXqZynPiAArFZBB2xiZigG2YE=; b=JxZtScyGen1p1tLo/RyN8QUGO5IOZlTaJKe0SXdZHViF7+arCgqGcTeLeBxWgRmzFW3Tw1W+x4uimGUtU0wcMDNgzHfXMeJ7Ve0KWga94aKyZwlDhVI25+mZch4AH6ZHDex31p33txwbmn7xf1T9jV9OKM1gZbb5FPP/mH506QZnWufC4eLhZIkk9CoBIbMBQnbXABeXbgjGdJNcEg8XmtdpWhtKG+hO8sXi9XKLAs3BRFLbAzIJZTJUeXx+53XkHnvLKnAyJbrkIeUuATeG15Mye6e2DWG0VHMr+xalCYyPXwtb3hvtp61oouGHdl/6Bv1T9xANNR1gdD0hA2oI7A== 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=lg0E3+NwxYmxJ9piFaVXqZynPiAArFZBB2xiZigG2YE=; b=3kE1LEhbIGieeM4TD7jpxmvYH6wlbaRaz6qcHhUh9j3Re9s5+vSojo6QH3m1oR4mDi9W7pmIZW8zDFZW1JL9Lz+CGz7XQH4ajFFEmX0AzQMw+AkVb+4uutQ2eIVNGfNmtIMyQvgUIqxB64XdxHZ7b9yIiYdpg4TZPq+QwjEDeJU= Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by DBAPR08MB5592.eurprd08.prod.outlook.com (2603:10a6:10:1a8::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.19; Thu, 24 Nov 2022 12:18:53 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::bd2a:aff9:b1a0:2fc7]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::bd2a:aff9:b1a0:2fc7%4]) with mapi id 15.20.5857.017; Thu, 24 Nov 2022 12:18:53 +0000 From: Tamar Christina To: Richard Sandiford CC: "gcc-patches@gcc.gnu.org" , Richard Earnshaw , nd , Marcus Shawcroft Subject: RE: [PATCH 2/2]AArch64 Support new tbranch optab. Thread-Topic: [PATCH 2/2]AArch64 Support new tbranch optab. Thread-Index: AQHY7R9ydzY/elR8E0qFvKbqaMv+fq4+qagggAE4YP6AAAEsIIAAAtlXgAABxRCAAAUF3oAAAfdwgAADNTqACyCbwIAACLcXgAME4YA= Date: Thu, 24 Nov 2022 12:18:53 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: ECC7F177DA43014F8A6E8F65AD262187.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: VI1PR08MB5325:EE_|DBAPR08MB5592:EE_|DBAEUR03FT045:EE_|PAXPR08MB6702:EE_ X-MS-Office365-Filtering-Correlation-Id: f164168b-e0dd-40f4-3311-08dace161543 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: X92WWRwqqLSa4yKsDa9PwaVb9WZdlqskzAyN23Kng5v48ZmSGPwEI4x4tJTlL9EdPkfwJPmfLX/jyB1rPZQtEKf0sUtCmh65zoq2Kr9oCmZuwCg1YJdoJv4qYEzCIK8C7/HluYU3qlGWsriA3KrtjZfhCgaIpDo0sJTEf72DWcIK9W4g1tYsoQ7nbmbPUps4XdwKnEAz9QoOPoiWuzvzgNSjIJRV97Zv0XKBSr6AjzjTgXp59oKtjokgeJUdJHhs2ybrWWkyOlvfxl4uZ3+w0nTnWwFTZTazxxZP2y2+IcZx6MkB4291M/CRIeKbPQf3PHc6KPfXJHhr23KHB4P7wte72+YuNc0W1Avzp7TcxX8ESHL0qxjfL7rHMlbwTIycnDHrzzEFY6mZQhWlZwP5JLTsXSYLpx+66IrjSi0YjfQHuXoKm6uPdeeF9/reVU9THEBKd9HZWafVk0sZHVDU459Ap7m5Ja2AGbKIVu36lMIekbN6lo7llnzmYe+b4uySpRjIpItcQ9XxWGpePxJ+KnMD2HbxZ5FlszcZ9/q3H0qWNispk18jcVQM9h3qALESP3kPkDmBPacHjvkOToUuJWk0zhNV22j3gCgWW+vcf+JTfrvNT3sCdwsIX5T38UkO1KePhpCLLk/Kf9yMORGKOt2NPko4QkocciKNfZ5HQGyVWmEkVziO9bJvH3GDvph8uNWT5Z3T3c3UTm2nWq9RTCi7k3fsoB1OycTg9kGKp70= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB5325.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(366004)(39850400004)(136003)(376002)(346002)(451199015)(2906002)(5660300002)(83380400001)(4326008)(6506007)(9686003)(7696005)(26005)(53546011)(66476007)(66556008)(52536014)(76116006)(66946007)(186003)(66446008)(64756008)(316002)(6636002)(54906003)(6862004)(30864003)(8936002)(8676002)(38070700005)(55016003)(478600001)(41300700001)(86362001)(122000001)(71200400001)(38100700002)(33656002)(84970400001);DIR:OUT;SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5592 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: DBAEUR03FT045.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 5f520011-9f35-4885-793f-08dace160d6f X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: r8bD1LTGc+K+gCCJBZNgUKVuoATNJ6bk9YSpshoBldMWQ5mNBv1bkc5QPduh2mizMOKQMep3IOyymqonpsiif0Lz4vJ7+o/XNpQO4/LvkUzIh/PcqM5x9qYewiNJ+Uj9jSwhDoAsa7Hol4tsHVMQ8AoWr12/wjqOjMg1qe3zDp7l9xw5cX7ezVsmnap4SlD2aH8izp+IUZ3uHoXPzCyEkYH96h9rxd4L+eQyfNKXXf7CT3Kx/aFo6UzdIpwQkj5DK4BuIhAlj1ekX/+RvonefJxqCIwwCFMRCQfiVtJ/+lcjuBiJN8vj41jyWJK39jgwFP56l2AolaKB+EI+C2TomBuirzj5dbksrhw/IgUr1tMywTP6VqbE4Nc329WJMWmj97k/zUm2cGSdfumz0CdOQFTw6NpmmKt8ECjovgqO18IrJVeUYz26iM5cVIJqTdcr8CrCeQuSALuMRNeUIhMlg+xXHhnO1jUceJs+zHDOWtRue84mFgDTVH1RYXtkuEZLaLvx/MzdTIb9qVNiUPtaMSKdwmf//ADdjkdEti+URmcKFHh+alT6hyP6lKbSQ+oxqlGV4nEkwjzkNSXfsRd9oW6WJWbQCYdCw4cbopx+sbe4XRnZx0kLzL5x+xvYCCYvVatDIRMTWTicWELfbGcz6i4xnwI0/FlEXbnK6Vu/wnhwkVtvJoxGUDOfOCyk02LJYNHwqxheP+3B8QHuzCsneSLyLj99d5qmdNZf+KPdIho= 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)(396003)(39860400002)(376002)(136003)(346002)(451199015)(46966006)(40470700004)(36840700001)(36860700001)(83380400001)(86362001)(81166007)(8676002)(8936002)(82740400003)(6862004)(356005)(2906002)(4326008)(5660300002)(9686003)(70206006)(40480700001)(40460700003)(52536014)(316002)(7696005)(26005)(82310400005)(53546011)(55016003)(6506007)(47076005)(6636002)(30864003)(478600001)(54906003)(41300700001)(186003)(70586007)(336012)(84970400001)(33656002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2022 12:19:06.7518 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f164168b-e0dd-40f4-3311-08dace161543 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: DBAEUR03FT045.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6702 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_NONE,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: SGksDQoNCkkgaGFkIGEgcXVlc3Rpb24gYW5kIEkgZmlndXJlZCBJJ2QgZWFzaWVyIHRvIGFzayBi ZWZvcmUgSSBzcGVuZCBtb3JlIHRpbWUgaW1wbGVtZW50aW5nIGl0IPCfmIoNCg0KSSBoYWQgbm90 aWNlZCB0aGF0IG9uZSBvZiB0aGUgb3RoZXIgcmVhc29ucyB0aGF0IGNicmFuY2ggYW5kIHRoZSBv dGhlciBvcHRhYnMgbGlrZSBjbW92IGV4cGxpY2l0bHkNCmVtaXQgdGhlIGNvbXBhcmUgc2VwYXJh dGVseSBhbmQgdXNlIGNvbWJpbmUgdG8gbWF0Y2ggdXAgdGhlIGZpbmFsIGZvcm0gaXMgZm9yIGlm Y3Z0Lg0KDQpJbiBwYXJ0aWN1bGFyIGJ5IGV4cGFuZGluZyB0YnJhbmNoIGRpcmVjdGx5IHRvIHRo ZSBmaW5hbCBSVEwgd2UgbG9zZSBzb21lIGlmY3Z0IGJlY2F1c2UgdGhlcmUgYXJlDQpubyBwYXR0 ZXJucyB0aGF0IGNhbiBoYW5kbGUgdGhlIG5ldyB6ZXJvX2V4dHJhY3QgaWRpb20uDQoNClNvIHRo ZSB0aHJlZSBzb2x1dGlvbnMgSSBjYW4gdGhpbmsgb2YgYXJlOg0KDQoxLiBEb24ndCBleHBhbmQg dGJyYW5jaCB0byBpdHMgZmluYWwgZm9ybSBpbW1lZGlhdGVseSwgYnV0IHN0aWxsIHVzZSB6ZXJv X2V4dHJhY3QuICBUaGlzIHJlZ3Jlc3NlcyAtTzAuIChidXQgZG8gd2UgY2FyZT8pDQoyLiBFeHBh bmQgdGJyYW5jaCB3aXRoIHZlY19leHRyYWN0IGFuZCBwcm92aWRlIG5ldyB6ZXJvX2V4dHJhY3Qg YmFzZWQgcnRsIHNlcXVlbmNlcyBmb3IgaWZjdnQuDQogICAgIEkgY3VycmVudGx5IHRyaWVkIHRo aXMsIGFuZCB3aGlsZSBpdCB3b3JrcywgSSBkb24ndCBmdWxseSB0cnVzdCB0aGUgUlRMLiAgSW4g cGFydGljdWxhciB1bmxpa2Ugc2F5LCBjb21iaW5lDQogICAgIElmY3Z0IGRvZXNuJ3QgYWxsb3cg bWUgdG8gYWRkIGFuIGV4dHJhIGNsb2JiZXIgdG8gc2F5IHRoYXQgQ0MgSXMgY2xvYmJlcmVkIGJ5 IHRoZSBwYXR0ZXJuLiAgTm93IHRicmFuY2gNCiAgICAgSXRzZWxmIGFsc28gZXhwYW5kcyBhIGNs b2JiZXIsIHNvIHRoZSBSVEwgaXNuJ3Qgd3JvbmcgZXZlbiBhZnRlciBpZmN2dCwgYnV0IEknbSB3 b3JyaWVkIHRoYXQgdGhlIHBhdHRlcm4gY2FuDQogICAgIEJlIGlkaW9tIHJlY29nbml6ZWQgYW5k IHRoZW4gbm8gY2xvYmJlciBjb3VsZCBiZSBwcmVzZW50LiAgSSBjb3VsZCBtb2RpZnkgdGhlIHJl Y29nIGNvZGUgaW4gaWZjdnQgdG8gdHJ5IHRvDQogICAgIElnbm9yZSBjbG9iYmVycyBkdXJpbmcg bWF0Y2hpbmcuDQozLiAgSSBjb3VsZCBleHBhbmQgdXNpbmcgQU5EIGluc3RlYWQgb2YgemVyb19l eHRyYWN0IGluc3RlYWQuICAgV2UgaGF2ZSBtb3JlIHBhdHRlcm5zIGhhbmRsaW5nIEFORCwgYnV0 IEknbSBub3QNCiAgICAgU3VyZSBJZiB0aGlzIHdpbGwgZml4IHRoZSBwcm9ibGVtIGVudGlyZWx5 LCBidXQgaW4gcHJpbmNpcGxlIGNvdWxkIGV4cGFuZCB0byB3aGF0IEFORFMgZ2VuZXJhdGVzIGFu ZCByZWNvZyB0aGF0IGluc3RlYWQuDQogICAgVGhpcyBzaG91bGRuJ3QgcmVncmVzcyAtTzAgYXMg d2Ugd291bGRuJ3QgcHV0IGEgemVyb19leHRyYWN0IGV4cGxpY2l0bHkgaW4gUlRMIChhbmQgd2Ug YWxyZWFkeSBoYXZlIGEgcGF0dGVybiBmb3IgQU5EUykuDQoNCldoYXQgZG8geW91IHRoaW5rPyBJ IHBlcnNvbmFsbHkgZmF2b3IgMy4uIA0KDQpUaGFua3MsDQpUYW1hcg0KDQo+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFJpY2hhcmQgU2FuZGlmb3JkIDxyaWNoYXJkLnNhbmRp Zm9yZEBhcm0uY29tPg0KPiBTZW50OiBUdWVzZGF5LCBOb3ZlbWJlciAyMiwgMjAyMiAyOjAwIFBN DQo+IFRvOiBUYW1hciBDaHJpc3RpbmEgPFRhbWFyLkNocmlzdGluYUBhcm0uY29tPg0KPiBDYzog Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc7IFJpY2hhcmQgRWFybnNoYXcNCj4gPFJpY2hhcmQuRWFy bnNoYXdAYXJtLmNvbT47IG5kIDxuZEBhcm0uY29tPjsgTWFyY3VzIFNoYXdjcm9mdA0KPiA8TWFy Y3VzLlNoYXdjcm9mdEBhcm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIDIvMl1BQXJjaDY0 IFN1cHBvcnQgbmV3IHRicmFuY2ggb3B0YWIuDQo+IA0KPiBUYW1hciBDaHJpc3RpbmEgPFRhbWFy LkNocmlzdGluYUBhcm0uY29tPiB3cml0ZXM6DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQo+ID4+IEZyb206IFJpY2hhcmQgU2FuZGlmb3JkIDxyaWNoYXJkLnNhbmRpZm9yZEBhcm0u Y29tPg0KPiA+PiBTZW50OiBUdWVzZGF5LCBOb3ZlbWJlciAxNSwgMjAyMiAxMTozNCBBTQ0KPiA+ PiBUbzogVGFtYXIgQ2hyaXN0aW5hIDxUYW1hci5DaHJpc3RpbmFAYXJtLmNvbT4NCj4gPj4gQ2M6 IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnOyBSaWNoYXJkIEVhcm5zaGF3DQo+ID4+IDxSaWNoYXJk LkVhcm5zaGF3QGFybS5jb20+OyBuZCA8bmRAYXJtLmNvbT47IE1hcmN1cyBTaGF3Y3JvZnQNCj4g Pj4gPE1hcmN1cy5TaGF3Y3JvZnRAYXJtLmNvbT4NCj4gPj4gU3ViamVjdDogUmU6IFtQQVRDSCAy LzJdQUFyY2g2NCBTdXBwb3J0IG5ldyB0YnJhbmNoIG9wdGFiLg0KPiA+Pg0KPiA+PiBUYW1hciBD aHJpc3RpbmEgPFRhbWFyLkNocmlzdGluYUBhcm0uY29tPiB3cml0ZXM6DQo+ID4+ID4+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+ID4+IEZyb206IFJpY2hhcmQgU2FuZGlmb3JkIDxy aWNoYXJkLnNhbmRpZm9yZEBhcm0uY29tPg0KPiA+PiA+PiBTZW50OiBUdWVzZGF5LCBOb3ZlbWJl ciAxNSwgMjAyMiAxMToxNSBBTQ0KPiA+PiA+PiBUbzogVGFtYXIgQ2hyaXN0aW5hIDxUYW1hci5D aHJpc3RpbmFAYXJtLmNvbT4NCj4gPj4gPj4gQ2M6IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnOyBS aWNoYXJkIEVhcm5zaGF3DQo+ID4+ID4+IDxSaWNoYXJkLkVhcm5zaGF3QGFybS5jb20+OyBuZCA8 bmRAYXJtLmNvbT47IE1hcmN1cw0KPiBTaGF3Y3JvZnQNCj4gPj4gPj4gPE1hcmN1cy5TaGF3Y3Jv ZnRAYXJtLmNvbT4NCj4gPj4gPj4gU3ViamVjdDogUmU6IFtQQVRDSCAyLzJdQUFyY2g2NCBTdXBw b3J0IG5ldyB0YnJhbmNoIG9wdGFiLg0KPiA+PiA+Pg0KPiA+PiA+PiBUYW1hciBDaHJpc3RpbmEg PFRhbWFyLkNocmlzdGluYUBhcm0uY29tPiB3cml0ZXM6DQo+ID4+ID4+ID4+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+ID4+ID4+ID4+IEZyb206IFJpY2hhcmQgU2FuZGlmb3JkIDxyaWNo YXJkLnNhbmRpZm9yZEBhcm0uY29tPg0KPiA+PiA+PiA+PiBTZW50OiBUdWVzZGF5LCBOb3ZlbWJl ciAxNSwgMjAyMiAxMDo1MSBBTQ0KPiA+PiA+PiA+PiBUbzogVGFtYXIgQ2hyaXN0aW5hIDxUYW1h ci5DaHJpc3RpbmFAYXJtLmNvbT4NCj4gPj4gPj4gPj4gQ2M6IGdjYy1wYXRjaGVzQGdjYy5nbnUu b3JnOyBSaWNoYXJkIEVhcm5zaGF3DQo+ID4+ID4+ID4+IDxSaWNoYXJkLkVhcm5zaGF3QGFybS5j b20+OyBuZCA8bmRAYXJtLmNvbT47IE1hcmN1cw0KPiA+PiBTaGF3Y3JvZnQNCj4gPj4gPj4gPj4g PE1hcmN1cy5TaGF3Y3JvZnRAYXJtLmNvbT4NCj4gPj4gPj4gPj4gU3ViamVjdDogUmU6IFtQQVRD SCAyLzJdQUFyY2g2NCBTdXBwb3J0IG5ldyB0YnJhbmNoIG9wdGFiLg0KPiA+PiA+PiA+Pg0KPiA+ PiA+PiA+PiBUYW1hciBDaHJpc3RpbmEgPFRhbWFyLkNocmlzdGluYUBhcm0uY29tPiB3cml0ZXM6 DQo+ID4+ID4+ID4+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+ID4+ID4+ID4+ IEZyb206IFJpY2hhcmQgU2FuZGlmb3JkIDxyaWNoYXJkLnNhbmRpZm9yZEBhcm0uY29tPg0KPiA+ PiA+PiA+PiA+PiBTZW50OiBUdWVzZGF5LCBOb3ZlbWJlciAxNSwgMjAyMiAxMDozNiBBTQ0KPiA+ PiA+PiA+PiA+PiBUbzogVGFtYXIgQ2hyaXN0aW5hIDxUYW1hci5DaHJpc3RpbmFAYXJtLmNvbT4N Cj4gPj4gPj4gPj4gPj4gQ2M6IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnOyBSaWNoYXJkIEVhcm5z aGF3DQo+ID4+ID4+ID4+ID4+IDxSaWNoYXJkLkVhcm5zaGF3QGFybS5jb20+OyBuZCA8bmRAYXJt LmNvbT47IE1hcmN1cw0KPiA+PiA+PiBTaGF3Y3JvZnQNCj4gPj4gPj4gPj4gPj4gPE1hcmN1cy5T aGF3Y3JvZnRAYXJtLmNvbT4NCj4gPj4gPj4gPj4gPj4gU3ViamVjdDogUmU6IFtQQVRDSCAyLzJd QUFyY2g2NCBTdXBwb3J0IG5ldyB0YnJhbmNoIG9wdGFiLg0KPiA+PiA+PiA+PiA+Pg0KPiA+PiA+ PiA+PiA+PiBUYW1hciBDaHJpc3RpbmEgPFRhbWFyLkNocmlzdGluYUBhcm0uY29tPiB3cml0ZXM6 DQo+ID4+ID4+ID4+ID4+ID4gSGVsbG8sDQo+ID4+ID4+ID4+ID4+ID4NCj4gPj4gPj4gPj4gPj4g PiBQaW5nIGFuZCB1cGRhdGVkIHBhdGNoLg0KPiA+PiA+PiA+PiA+PiA+DQo+ID4+ID4+ID4+ID4+ ID4gQm9vdHN0cmFwcGVkIFJlZ3Rlc3RlZCBvbiBhYXJjaDY0LW5vbmUtbGludXgtZ251IGFuZCBu bw0KPiA+PiBpc3N1ZXMuDQo+ID4+ID4+ID4+ID4+ID4NCj4gPj4gPj4gPj4gPj4gPiBPayBmb3Ig bWFzdGVyPw0KPiA+PiA+PiA+PiA+PiA+DQo+ID4+ID4+ID4+ID4+ID4gVGhhbmtzLA0KPiA+PiA+ PiA+PiA+PiA+IFRhbWFyDQo+ID4+ID4+ID4+ID4+ID4NCj4gPj4gPj4gPj4gPj4gPiBnY2MvQ2hh bmdlTG9nOg0KPiA+PiA+PiA+PiA+PiA+DQo+ID4+ID4+ID4+ID4+ID4gICAgICAgICAqIGNvbmZp Zy9hYXJjaDY0L2FhcmNoNjQubWQgKCp0YjxvcHRhYj48bW9kZT4xKToNCj4gPj4gPj4gPj4gPj4g PiBSZW5hbWUNCj4gPj4gPj4gdG8uLi4NCj4gPj4gPj4gPj4gPj4gPiAgICAgICAgICgqdGI8b3B0 YWI+PEFMTEk6bW9kZT48R1BJOm1vZGU+MSk6IC4uLiB0aGlzLg0KPiA+PiA+PiA+PiA+PiA+ICAg ICAgICAgKHRicmFuY2g8bW9kZT40KTogTmV3Lg0KPiA+PiA+PiA+PiA+PiA+DQo+ID4+ID4+ID4+ ID4+ID4gZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6DQo+ID4+ID4+ID4+ID4+ID4NCj4gPj4gPj4g Pj4gPj4gPiAgICAgICAgICogZ2NjLnRhcmdldC9hYXJjaDY0L3Riel8xLmM6IE5ldyB0ZXN0Lg0K PiA+PiA+PiA+PiA+PiA+DQo+ID4+ID4+ID4+ID4+ID4gLS0tIGlubGluZSBjb3B5IG9mIHBhdGNo IC0tLQ0KPiA+PiA+PiA+PiA+PiA+DQo+ID4+ID4+ID4+ID4+ID4gZGlmZiAtLWdpdCBhL2djYy9j b25maWcvYWFyY2g2NC9hYXJjaDY0Lm1kDQo+ID4+ID4+ID4+ID4+ID4gYi9nY2MvY29uZmlnL2Fh cmNoNjQvYWFyY2g2NC5tZCBpbmRleA0KPiA+PiA+PiA+PiA+PiA+DQo+ID4+ID4+ID4+ID4+DQo+ ID4+ID4+ID4+DQo+ID4+ID4+DQo+ID4+DQo+IDJiYzI2ODRiODJjMzVhNDRlMGEyY2VhNmUzYWFm MzJkOTM5ZjhjZGYuLmQ3Njg0YzkzZmJhNWI3MTdkNTY4ZTFhNGZkDQo+ID4+ID4+ID4+ID4+IDcx DQo+ID4+ID4+ID4+ID4+ID4gMmJkZTU1YzdjNzJlIDEwMDY0NA0KPiA+PiA+PiA+PiA+PiA+IC0t LSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0Lm1kDQo+ID4+ID4+ID4+ID4+ID4gKysrIGIv Z2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQubWQNCj4gPj4gPj4gPj4gPj4gPiBAQCAtOTQzLDEy ICs5NDMsMjkgQEAgKGRlZmluZV9pbnNuICIqY2I8b3B0YWI+PG1vZGU+MSINCj4gPj4gPj4gPj4g Pj4gPiAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAxKSkpXQ0KPiA+PiA+PiA+PiA+ PiA+ICApDQo+ID4+ID4+ID4+ID4+ID4NCj4gPj4gPj4gPj4gPj4gPiAtKGRlZmluZV9pbnNuICIq dGI8b3B0YWI+PG1vZGU+MSINCj4gPj4gPj4gPj4gPj4gPiArKGRlZmluZV9leHBhbmQgInRicmFu Y2g8bW9kZT40Ig0KPiA+PiA+PiA+PiA+PiA+ICAgIFsoc2V0IChwYykgKGlmX3RoZW5fZWxzZQ0K PiA+PiA+PiA+PiA+PiA+IC0gICAgICAgICAgICAgKEVRTCAoemVyb19leHRyYWN0OkRJIChtYXRj aF9vcGVyYW5kOkdQSSAwDQo+ID4+ID4+ICJyZWdpc3Rlcl9vcGVyYW5kIg0KPiA+PiA+PiA+PiA+ PiAiciIpDQo+ID4+ID4+ID4+ID4+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGNvbnN0X2ludCAxKQ0KPiA+PiA+PiA+PiA+PiA+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDENCj4gPj4gPj4gPj4gPj4gPiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhYXJjaDY0X3NpbWRfc2hpZnRfaW1tXzxtb2Rl PiIgIm4iKSkNCj4gPj4gPj4gPj4gPj4gPiArICAgICAgICAgICAgICAgKG1hdGNoX29wZXJhdG9y IDAgImFhcmNoNjRfY29tcGFyaXNvbl9vcGVyYXRvciINCj4gPj4gPj4gPj4gPj4gPiArICAgICAg ICAgICAgICAgIFsobWF0Y2hfb3BlcmFuZDpBTExJIDEgInJlZ2lzdGVyX29wZXJhbmQiKQ0KPiA+ PiA+PiA+PiA+PiA+ICsgICAgICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kOkFMTEkgMg0KPiA+ PiA+PiA+PiA+PiAiYWFyY2g2NF9zaW1kX3NoaWZ0X2ltbV88QUxMSTptb2RlPiIpXSkNCj4gPj4g Pj4gPj4gPj4gPiArICAgICAgICAgICAgICAgKGxhYmVsX3JlZiAobWF0Y2hfb3BlcmFuZCAzICIi ICIiKSkNCj4gPj4gPj4gPj4gPj4gPiArICAgICAgICAgICAgICAgKHBjKSkpXQ0KPiA+PiA+PiA+ PiA+PiA+ICsgICJvcHRpbWl6ZSA+IDAiDQo+ID4+ID4+ID4+ID4+DQo+ID4+ID4+ID4+ID4+IFdo eSdzIHRoZSBwYXR0ZXJuIGNvbmRpdGlvbmFsIG9uIG9wdGltaXplPyAgU2VlbXMgYSB2YWxpZA0K PiA+PiA+PiA+PiA+PiBjaG9pY2UgYXQgLU8wDQo+ID4+ID4+ID4+IHRvby4NCj4gPj4gPj4gPj4g Pj4NCj4gPj4gPj4gPj4gPg0KPiA+PiA+PiA+PiA+IEhpLA0KPiA+PiA+PiA+PiA+DQo+ID4+ID4+ ID4+ID4gSSBoYWQgZXhwbGFpbmVkIHRoZSByZWFzb24gd2h5IGluIHRoZSBvcmlnaW5hbCBwYXRj aCwganVzdA0KPiA+PiA+PiA+PiA+IGRpZG4ndCByZXBlYXQgaXQgaW4NCj4gPj4gPj4gPj4gdGhl IHBpbmc6DQo+ID4+ID4+ID4+ID4NCj4gPj4gPj4gPj4gPiBJbnN0ZWFkIG9mIGVtaXR0aW5nIHRo ZSBpbnN0cnVjdGlvbiBkaXJlY3RseSBJJ3ZlIGNob3NlbiB0bw0KPiA+PiA+PiA+PiA+IGV4cGFu ZCB0aGUgcGF0dGVybiB1c2luZyBhIHplcm8gZXh0cmFjdCBhbmQgZ2VuZXJhdGluZyB0aGUNCj4g Pj4gPj4gPj4gPiBleGlzdGluZyBwYXR0ZXJuIGZvciBjb21wYXJpc29ucyBmb3IgdHdvDQo+ID4+ ID4+ID4+ID4gcmVhc29uczoNCj4gPj4gPj4gPj4gPg0KPiA+PiA+PiA+PiA+ICAgMS4gQWxsb3dz IGZvciBDU0Ugb2YgdGhlIGFjdHVhbCBjb21wYXJpc29uLg0KPiA+PiA+PiA+PiA+ICAgMi4gSXQg bG9va3MgbGlrZSB0aGUgY29kZSBpbiBleHBhbmQgbWFrZXMgdGhlIGxhYmVsIGFzDQo+ID4+ID4+ ID4+ID4gdW51c2VkIGFuZCByZW1vdmVkDQo+ID4+ID4+ID4+IGl0DQo+ID4+ID4+ID4+ID4gICAg ICBpZiBpdCBkb2Vzbid0IHNlZSBhIHNlcGFyYXRlIHJlZmVyZW5jZSB0byBpdC4NCj4gPj4gPj4g Pj4gPg0KPiA+PiA+PiA+PiA+IEJlY2F1c2Ugb2YgdGhpcyBleHBhbnNpb24gdGhvdWdoIEkgZGlz YWJsZSB0aGUgcGF0dGVybiBhdCAtTzANCj4gPj4gPj4gPj4gPiBzaW5jZSB3ZQ0KPiA+PiA+PiA+ PiBoYXZlIG5vIGNvbWJpbmUgaW4gdGhhdCBjYXNlIHNvIHdlJ2QgZW5kIHVwIHdpdGggd29yc2Ug Y29kZS4gIEkNCj4gPj4gPj4gPj4gZGlkIHRyeSBlbWl0dGluZyB0aGUgcGF0dGVybiBkaXJlY3Rs eSwgYnV0IGFzIG1lbnRpb25lZCBpbiBubyMyDQo+ID4+ID4+ID4+IGV4cGFuZCB3b3VsZCB0aGVu IGtpbGwgdGhlIGxhYmVsLg0KPiA+PiA+PiA+PiA+DQo+ID4+ID4+ID4+ID4gQmFzaWNhbGx5IEkg ZW1pdCB0aGUgcGF0dGVybiBkaXJlY3RseSwgaW1tZWRpYXRlbHkgZHVyaW5nDQo+ID4+ID4+ID4+ ID4gZXhwYW5kIHRoZSBsYWJlbCBpcw0KPiA+PiA+PiA+PiBtYXJrZWQgYXMgZGVhZCBmb3Igc29t ZSB3ZWlyZCByZWFzb24uDQo+ID4+ID4+ID4+DQo+ID4+ID4+ID4+IElzbid0ICMyIGEgYnVnIHRo b3VnaD8gIEl0IHNlZW1zIGxpa2Ugc29tZXRoaW5nIHdlIHNob3VsZCBmaXgNCj4gPj4gPj4gPj4g cmF0aGVyIHRoYW4gd29yayBhcm91bmQuDQo+ID4+ID4+ID4NCj4gPj4gPj4gPiBZZXMgaXQncyBh IGJ1ZyDimLkgb2sgaWYgSSdtIGdvaW5nIHRvIGZpeCB0aGF0IGJ1ZyB0aGVuIGRvIEkgbmVlZA0K PiA+PiA+PiA+IHRvIHNwbGl0IHRoZSBvcHRhYnMgc3RpbGw/IElzbid0IHRoZSBwcm9ibGVtIGF0 bSB0aGF0IEkgbmVlZCB0aGUgc3BsaXQ/DQo+ID4+ID4+ID4gSWYgSSdtIGVtaXR0aW5nIHRoZSBp bnN0cnVjdGlvbiBkaXJlY3RseSB0aGVuIHRoZSByZWNvZyBwYXR0ZXJuDQo+ID4+ID4+ID4gZm9y IGl0IGNhbiBqdXN0IGJlIChlcSAodmVjX2V4dHJhY3QgeCAxKSAwKSB3aGljaCBpcyB0aGUgY29y cmVjdA0KPiBzZW1hbnRpY3M/DQo+ID4+ID4+DQo+ID4+ID4+IFdoYXQgcnR4IGRvZXMgdGhlIGNv ZGUgdGhhdCB1c2VzIHRoZSBvcHRhYiBwYXNzIGZvciBvcGVyYW5kIDA/DQo+ID4+ID4NCj4gPj4g PiBJdCBnZXRzIHBhc3NlZCB0aGUgZnVsbCBjb21wYXJpc29uOg0KPiA+PiA+DQo+ID4+ID4gKGVx IChyZWcvdjpTSSA5MiBbIHggXSkNCj4gPj4gPiAgICAgKGNvbnN0X2ludCAwIFswXSkpDQo+ID4+ ID4NCj4gPj4gPiBvZiB3aGljaCB3ZSBvbmx5IGxvb2sgYXQgdGhlIG9wZXJhdG9yLg0KPiA+Pg0K PiA+PiBPSywgdGhhdCdzIHdoYXQgSSB0aG91Z2h0LiAgVGhlIHByb2JsZW0gaXMgdGhlbiB0aGUg b25lIEkgbWVudGlvbmVkDQo+IGFib3ZlLg0KPiA+PiBUaGlzIHJ0eCBkb2Vzbid0IGRlc2NyaWJl IHRoZSBvcGVyYXRpb24gdGhhdCB0aGUgb3B0YWIgaXMgc3VwcG9zZWQgdG8NCj4gPj4gcGVyZm9y bSwgc28gaXQgY2FuIG5ldmVyIGJlIHVzZWQgaW4gdGhlIGluc3RydWN0aW9uIHBhdHRlcm4uICAo VGhpcw0KPiA+PiBpcyBkaWZmZXJlbnQgZnJvbSBzb21ldGhpbmcgbGlrZSBjYnJhbmNoLCB3aGVy ZSBvcGVyYW5kIDAgY2FuIGJlIHVzZWQNCj4gPj4gZGlyZWN0bHkgaWYgdGhlIHRhcmdldCBzdXBw b3J0cyBhIHZlcnkgZ2VuZXJhbCBjb21wYXJlLWFuZC1icmFuY2gNCj4gPj4gaW5zdHJ1Y3Rpb24u KQ0KPiA+DQo+ID4gU28gSSB3YXMgd3JvbmcgYmVmb3JlIGFib3V0IHdoaWNoIFJUTCBpdCBnZXRz IHBhc3NlZC4gIERlZXAgaW4gdGhlDQo+ID4gZXhwYW5zaW9uIENvZGUgdGhlIHJ0bCBvcGVyYXRp b24NCj4gPg0KPiA+IChlcSAocmVnL3Y6U0kgOTIgWyB4IF0pDQo+ID4gICAgICAgKGNvbnN0X2lu dCAwIFswXSkpDQo+ID4NCj4gPiBHZXRzIGJyb2tlbiB1cCBhbmQgcGFzc2VkIHBpZWNld2lzZS4N Cj4gPg0KPiA+IEZpcnN0IHRoaW5nIGl0IGRvZXMgaXQgZXhwbGljaXRseSBjaGVjayB0aGF0IHRo ZSBmaXJzdCBhcmd1bWVudCBpbiBSVEwgaXMgYW4NCj4gb3BlcmF0b3I6DQo+ID4NCj4gPiBnY2Nf YXNzZXJ0IChpbnNuX29wZXJhbmRfbWF0Y2hlcyAoaWNvZGUsIDAsIHRlc3QpKTsNCj4gPg0KPiA+ IGFuZCB0aGVuIHRoZSBqdW1wIGlzIGVtaXR0ZWQgYnkgYnJlYWtpbmcgYXBhcnQgdGhlIHJ0bCBp bnRvIGl0J3Mgb3BlcmFuZHM6DQo+ID4NCj4gPiA0NjQ2ICAgICAgaW5zbiA9IGVtaXRfanVtcF9p bnNuIChHRU5fRkNOIChpY29kZSkgKHRlc3QsIFhFWFAgKHRlc3QsIDApLA0KPiA+IDQ2NDcgICAg ICAgICAgICAgICAgICAgICAgICAgIFhFWFAgKHRlc3QsIDEpLCBsYWJlbCkpOw0KPiANCj4gWWVh aCwgYnV0IHRoZSBxdWVzdGlvbiB3YXMgd2hhdCB0aGUgY29kZSB0aGF0IGdlbmVyYXRlcyB0aGUg dGJyYW5jaCBvcHRhYg0KPiBwYXNzZXMgZm9yIG9wZXJhbmQgMCAoInRlc3QiIGluIHRoZSBjYWxs IGFib3ZlKS4gIEFuZCBsaWtlIHlvdSBzYWlkLCBpdCdzIHRoZSBFUQ0KPiBydHggYWJvdmUsIHdp dGggWEVYUHMgMCBhbmQgMSBiZWluZyBwYXNzZWQgYXMgb3BlcmFuZHMNCj4gMSBhbmQgMi4gIEkg dGhpbmsgdGhlIHBvaW50IHN0aWxsIHN0YW5kcyB0aGF0IHRoYXQgRVEgcnR4IGRvZXNuJ3QgZGVz Y3JpYmUgdGhlDQo+IGNvcnJlY3Qgb3BlcmF0aW9uLg0KPiANCj4gPiBBbmQgc28gdGhlIG9wZXJh bmRzIGFyZToNCj4gPg0KPiA+Pj4+IHAgZGVidWcgKG9wZXJhbmQwKQ0KPiA+IChyZWcvdjpTSSA5 MiBbIHhELjQzOTEgXSkNCj4gPg0KPiA+Pj4+IHAgZGVidWcgKG9wZXJhbmQxKQ0KPiA+IChjb25z dF9pbnQgMCBbMF0pDQo+ID4NCj4gPj4+PiBwIGRlYnVnIChvcGVyYW5kMikNCj4gPiAoY29kZV9s YWJlbCAwIDAgMCAyIChuaWwpIFswIHVzZXNdKQ0KPiA+DQo+ID4gQW5kIHRhcmdldHMgbmV2ZXIg Z2V0IHRvIHNlZSB0aGUgZXF1YWxpdHkgY2hlY2suDQo+IA0KPiBCdXQgdGhlIC5tZCBwYXR0ZXJu IHdhczoNCj4gDQo+IChkZWZpbmVfZXhwYW5kICJ0YnJhbmNoPG1vZGU+NCINCj4gICBbKHNldCAo cGMpIChpZl90aGVuX2Vsc2UNCj4gCQkobWF0Y2hfb3BlcmF0b3IgMCAiYWFyY2g2NF9jb21wYXJp c29uX29wZXJhdG9yIg0KPiAJCSBbKG1hdGNoX29wZXJhbmQ6QUxMSSAxICJyZWdpc3Rlcl9vcGVy YW5kIikNCj4gCQkgIChtYXRjaF9vcGVyYW5kOkFMTEkgMg0KPiAiYWFyY2g2NF9zaW1kX3NoaWZ0 X2ltbV88QUxMSTptb2RlPiIpXSkNCj4gCQkobGFiZWxfcmVmIChtYXRjaF9vcGVyYW5kIDMgIiIg IiIpKQ0KPiAJCShwYykpKV0NCj4gICAib3B0aW1pemUgPiAwIg0KPiB7DQo+ICAgcnR4IGJpdHZh bHVlID0gZ2VuX3JlZ19ydHggKERJbW9kZSk7DQo+ICAgcnR4IHRtcCA9IHNpbXBsaWZ5X2dlbl9z dWJyZWcgKERJbW9kZSwgb3BlcmFuZHNbMV0sIEdFVF9NT0RFDQo+IChvcGVyYW5kc1sxXSksIDAp Ow0KPiAgIGVtaXRfaW5zbiAoZ2VuX2V4dHp2IChiaXR2YWx1ZSwgdG1wLCBjb25zdDFfcnR4LCBv cGVyYW5kc1syXSkpOw0KPiAgIG9wZXJhbmRzWzJdID0gY29uc3QwX3J0eDsNCj4gICBvcGVyYW5k c1sxXSA9IGFhcmNoNjRfZ2VuX2NvbXBhcmVfcmVnIChHRVRfQ09ERSAob3BlcmFuZHNbMF0pLA0K PiBiaXR2YWx1ZSwNCj4gCQkJCQkgb3BlcmFuZHNbMl0pOw0KPiB9KQ0KPiANCj4gd2hlcmUgdGhl IEVRL05FIHJ0eCBpcyBwYXNzZWQgYW5kIG1hdGNoZWQgYXMgb3BlcmFuZCAwLg0KPiANCj4gPiBJ ZiB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUgb3B0YWIgaXMNCj4gPiBVcGRhdGVkIHRvIHNheSB0 aGF0IHRoZSB0YXJnZXQgb3BlcmFuZDEgaXMgdG8gYmUgdXNlZCBpbiBhDQo+ID4gemVyb19leHRy YWN0IHdpdGggb3BlcmFuZDAgYW5kIGNvbXBhcmVkIHdpdGggMCB0aGVuIHRoYXQgc2hvdWxkIGJl IGZpbmUNCj4gbm8/ICB0aGF0J3MgdGhlIHNlbWFudGljIG9mIHRoZSBvcHRhYiBpdHNlbGYuDQo+ ID4NCj4gPiBCYXNlZCBvbiB0aGF0IEkgZG9uJ3QgdGhpbmsgd2UgbmVlZCB0byBzcGxpdCB0aGlz IG9wdGFiIGRvIHdlPyAgSnVzdA0KPiA+IHVwZGF0ZSB0aGUgZG9jcyB0byBjbGFyaWZ5IHRoZSB6 ZXJvIGV4dHJhY3Qgc2VtYW50aWNzPw0KPiANCj4gV2VsbCwgdGhlIHBvaW50IG9mLi4uDQo+IA0K PiA+PiBJZiB3ZSB3YW50IHRvIHVzZSBhIHNpbmdsZSBvcHRhYiwgdGhlIGNvZGUgdGhhdCBnZW5l cmF0ZXMgdGhlIG9wdGFiDQo+ID4+IHNob3VsZCBwYXNzIHNvbWV0aGluZyBsaWtlOg0KPiA+Pg0K PiA+PiAgIChlcS9uZSAoemVyb19leHRyYWN0IG9wMCAoY29uc3RfaW50IDEpIG9wMSkgKGNvbnN0 X2ludCAwKSkNCj4gPj4NCj4gPj4gYXMgb3BlcmFuZCAwLCBzbyB0aGF0IG9wZXJhbmQgMCBzcGVj aWZpZXMgdGhlIHJlYWwgdGVzdCBjb25kaXRpb24uDQo+ID4+DQo+ID4+IFRoYW5rcywNCj4gPj4g UmljaGFyZA0KPiANCj4gLi4ud2FzIHRoYXQgd2Ugc2hvdWxkIGVpdGhlciAoYSkgc3BsaXQgdGhl IG9wdGFiIG9yIChiKSBrZWVwIHRoZSBzaW5nbGUgb3B0YWINCj4gYW5kIHBhc3MgYSAicHJvcGVy IiBkZXNjcmlwdGlvbiBvZiB0aGUgb3BlcmF0aW9uIGFzIG9wZXJhbmQgMC4NCj4gDQo+IFRoYW5r cywNCj4gUmljaGFyZA0K