From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2071.outbound.protection.outlook.com [40.107.21.71]) by sourceware.org (Postfix) with ESMTPS id 9370D3889E3C for ; Tue, 15 Nov 2022 10:00:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9370D3889E3C 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=JFigdRFY5HoQP7U+/RNYcz3xSUe8LlVZe54sQqxXuDo=; b=6AetqeMAG2OLs240oE1sK/HpfcPN7iPOvvb6W88ARHbZLsNmVa+iLq+m8K/5WRLv2q3B36uVoBxDcriGJe+uG1bnue/hQKYLLV7CC2ZbzGb4Yxw0mWp+bNE2NS1vmC77qRPHB2Aoi2qSnJywwTZK5ge/oG1QF/7HbxUIQ9yCrQM= Received: from AM6PR01CA0041.eurprd01.prod.exchangelabs.com (2603:10a6:20b:e0::18) by AM9PR08MB6691.eurprd08.prod.outlook.com (2603:10a6:20b:303::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.7; Tue, 15 Nov 2022 10:00:27 +0000 Received: from VI1EUR03FT022.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:e0:cafe::72) by AM6PR01CA0041.outlook.office365.com (2603:10a6:20b:e0::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.17 via Frontend Transport; Tue, 15 Nov 2022 10:00:27 +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 VI1EUR03FT022.mail.protection.outlook.com (100.127.144.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.12 via Frontend Transport; Tue, 15 Nov 2022 10:00:26 +0000 Received: ("Tessian outbound 73ab5f36653e:v130"); Tue, 15 Nov 2022 10:00:26 +0000 X-CR-MTA-TID: 64aa7808 Received: from 6ca80cbb1f30.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 34536999-3A32-41FA-8E6F-418BA0729682.1; Tue, 15 Nov 2022 10:00:16 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6ca80cbb1f30.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 15 Nov 2022 10:00:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EicLounHqE5xsf72kyBeGxBV4eFVi4AnrZ4bYbZHet8PjpJMXwHmR4PkBrWNzXemx6cMszzhyZqMGrrTmoA75xnHoQQeVv1H6i047YyxMVC0NiB566CJTbibx8BO7gtrah1KSWtBhasKKTuTl1lGzII8rDLm/X+FI23PDMirnG72pot6NHML1rWUwBOr8kh/IRq6c3LjhtS0iAg49MFjw0arVzlJdiD9/TQqxjkiHO28HnVeiK/1oBonoNL+qoUm3jp51urWJ8hUVpBLHi/HbCoM52MM+52za3ayk5oGycc0Vz9dcxEIBvMFLm5WQthDZ7ImwSR8kbaReR5fNkk2EA== 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=JFigdRFY5HoQP7U+/RNYcz3xSUe8LlVZe54sQqxXuDo=; b=jJagJvljT4MDbI9lVLsOJ1HTCMj2pfXkqYiiSBtTjpDubGSrfCH8BG5VCXr3YuSA96a/IpHiYxguQ3sK5tXof/wHVV5dHkPBTx3CBthhqwoKMP1K5M/g9rdk6KmdEDTy5MLcwFq27kMjlzBQ50ilrerGyJSLYn1NTM0vHI1/fKw1tojCQ2sU4yYl99CqOHG+GLE2ITso6wf+vMR2C1v4YXFIqqCPmZX+vyzisTflHaZ1DfEOAR5FQ2Z3iNN732PLrAs4o8t1pYaN26GAXxhqQUTNi9ZlVyGolj4y51kMBEEWKO5FRd/K2CdF4IqMcZoQabI/1V73M23rsUws16+k9A== 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=JFigdRFY5HoQP7U+/RNYcz3xSUe8LlVZe54sQqxXuDo=; b=6AetqeMAG2OLs240oE1sK/HpfcPN7iPOvvb6W88ARHbZLsNmVa+iLq+m8K/5WRLv2q3B36uVoBxDcriGJe+uG1bnue/hQKYLLV7CC2ZbzGb4Yxw0mWp+bNE2NS1vmC77qRPHB2Aoi2qSnJywwTZK5ge/oG1QF/7HbxUIQ9yCrQM= Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by PA4PR08MB5966.eurprd08.prod.outlook.com (2603:10a6:102:ee::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.7; Tue, 15 Nov 2022 10:00:13 +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.5834.007; Tue, 15 Nov 2022 10:00:13 +0000 From: Tamar Christina To: Hongtao Liu CC: Richard Sandiford , Tamar Christina via Gcc-patches , nd , "rguenther@suse.de" Subject: RE: [PATCH 3/8]middle-end: Support extractions of subvectors from arbitrary element position inside a vector Thread-Topic: [PATCH 3/8]middle-end: Support extractions of subvectors from arbitrary element position inside a vector Thread-Index: AQHY7R/+Onw1Yt3zEUm+UmrslTQtgq4qIVlhgA+4eKCABeZhAIAAAlLwgAAO9wCAAAQ68A== Date: Tue, 15 Nov 2022 10:00:13 +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: 2A901B4EC645BB44AE3E792E172305C0.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_|PA4PR08MB5966:EE_|VI1EUR03FT022:EE_|AM9PR08MB6691:EE_ X-MS-Office365-Filtering-Correlation-Id: 4666ad02-405f-4095-a683-08dac6f0388f 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: ynXa7usg+aX1kPgR5bu2CTHc1yy/74LOD5HWv+ZvVb92ATSmbnChUj4hYfD0pHwFZ+ddqBGnbF2yiWQH5k1QpAw2PdFJRy3HvgjuvMD4HPLN4jrABfgDKizrSeea4IQRnxGVsunIkvDdSzHKZNM2gjqPMhbKubkv9MkBMWVkm5UQWlxhoB7WlnHny4FMQo4AvNGPhqMqbuB5A5JsChQ9eedhCVRCE2DYcIrll8WU5UhDWxhD6FSkb28cNlqiTFOj6wPN90lIf04tKHWjDANGRDSMRJuBNyPunDv9Ct+i4IyTqAFDQ/ahcOOk5bRdGfbUHKM3jjMK631OqMHBNL+6Yj4lXdoiYxZjR9QUwbzHJaFKHKwcB+/G8gIHLOIOU/KgEojpQYKEbJH0I33DGFRQ4nIPL/D7Hy85kpeNixPunEtyX5QMGnkdAg5N7VAJRN0jklcwOT/wA3EyEhGYYlpy9NtvzSTaThaWOqHPs/IPKfU7NNylq2C1Tc8mGFQI4/Cx6cZF3YpYwM5isK5FpzxilWCgjFju69vabk5y+1sqr6Oh7lkyeQ11eUkgyl+JPuBLLc16pTlJQG/UKadrojzPYfqgIwgjPxrg6vJnqbwLFI4k4IP2qbrN/GNx8bLrS5NuMawOYM0Ibr9c9JPip2sSxfJl3dpFoAh4ysEqC0V9FAm6ZDd8CTF6WAYM6HEKs54fkY0FSP0GKgBl2ykoHWqUWTCDTI93sdf0vfIyo7LLz8HyKBBsmsjXiFv1qfM5vXfba+WFNIXV0vGTlUClh2nzhbsaGAzTX88OYLLizViwGEI9Gh7m2r40rXBwQOUoDmDsAHGocREvApg4J9Z6DIQtjA== 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)(136003)(366004)(376002)(39860400002)(396003)(346002)(451199015)(76116006)(66946007)(66556008)(64756008)(8676002)(4326008)(66476007)(6916009)(86362001)(66446008)(8936002)(52536014)(316002)(33656002)(41300700001)(5660300002)(478600001)(55016003)(186003)(9686003)(7696005)(53546011)(6506007)(38070700005)(71200400001)(26005)(54906003)(122000001)(38100700002)(966005)(83380400001)(2906002);DIR:OUT;SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB5966 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: VI1EUR03FT022.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 3c1379c9-4f1c-485d-254c-08dac6f0306e X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1WmWjdIE4FjijIUQGZ7jc4v791BKxcKTRttLRjT7Wtx5OeBclB6gHN9IoxEheYznclbI+90Fd+kn8Cy8a5qc9ejsf3Vp2XchMNrVQ2NGfvbfCUCGsPbUht+5GncBrptqMjvaCxblk0TU/N8aRLUVfCCPopBLzprFkuek1of0vJ1aS1OVv9uHkuh1Gjaik7ktwCQzOVI4dWjwPCDYrDBgdKORO0f0bbIDC3p/ReLgAysgfg7TuA5L6n/9TO0mtcYugvxzFYtHkANFO+2NnZeXUqPEsS9Oq7GJz3ncpDttfzjw41T2kB9XuuAwOprRsHvtxB2Tzw+jDPt0sGlhu9eegU0OeBCYK1q6qB7gY25UZscWq+PM4KWDk0cgE56ddZu86FPtgroJl4Ck/bSd5W6m+UjcklWoVDUZ5284ZUHyBjoZlvToPLxqo5gaWkVPYbr3FbV6HZN73NTZJC2lLm4g6qKJCnUokNDgAljA1uPdg/7NC5bR/Tns3IoGfY8z9aE39/k6A3AYBWp0s1iR4991F8I2ARN697PIgAtoHXTm0N3vxS8BxvcX6eArJCFsk2OK8iC74jleWD55nO9tbfeOpSCYS1P0O+jwtZ9fV+kKIP/ZqvUuwfp232H85U4wgw/MUyaTfhcF6Hkr6JMSqq3TVKlLAcny5Ip3JFs1RqoVnTpi0b6i+T2JeQ+3C6ADeiNXVmHwvmnYVkoUpgk1gXG6eJEehxm9B0cCH9xYQUpmFqOkVUSYYLj8KAO8AGNgTZiT0+0zw4uqzlX/gCrV81Lakn9EWcbAZj/NRVkeS0zSwypsJ+4stOzai26Vm8n+BtyIJS0iumiVXzPWjmTSZo5PTw== 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)(136003)(396003)(346002)(376002)(39860400002)(451199015)(46966006)(36840700001)(40470700004)(70586007)(316002)(4326008)(70206006)(8676002)(86362001)(36860700001)(8936002)(52536014)(6862004)(33656002)(5660300002)(41300700001)(478600001)(186003)(82310400005)(55016003)(336012)(82740400003)(40480700001)(47076005)(53546011)(6506007)(7696005)(9686003)(107886003)(356005)(26005)(54906003)(966005)(40460700003)(83380400001)(81166007)(2906002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2022 10:00:26.8173 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4666ad02-405f-4095-a683-08dac6f0388f 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: VI1EUR03FT022.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6691 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: PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBIb25ndGFvIExpdSA8Y3Jhenls aHRAZ21haWwuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBOb3ZlbWJlciAxNSwgMjAyMiA5OjM3IEFN DQo+IFRvOiBUYW1hciBDaHJpc3RpbmEgPFRhbWFyLkNocmlzdGluYUBhcm0uY29tPg0KPiBDYzog UmljaGFyZCBTYW5kaWZvcmQgPFJpY2hhcmQuU2FuZGlmb3JkQGFybS5jb20+OyBUYW1hciBDaHJp c3RpbmEgdmlhDQo+IEdjYy1wYXRjaGVzIDxnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZz47IG5kIDxu ZEBhcm0uY29tPjsNCj4gcmd1ZW50aGVyQHN1c2UuZGUNCj4gU3ViamVjdDogUmU6IFtQQVRDSCAz LzhdbWlkZGxlLWVuZDogU3VwcG9ydCBleHRyYWN0aW9ucyBvZiBzdWJ2ZWN0b3JzIGZyb20NCj4g YXJiaXRyYXJ5IGVsZW1lbnQgcG9zaXRpb24gaW5zaWRlIGEgdmVjdG9yDQo+IA0KPiBPbiBUdWUs IE5vdiAxNSwgMjAyMiBhdCA0OjUxIFBNIFRhbWFyIENocmlzdGluYQ0KPiA8VGFtYXIuQ2hyaXN0 aW5hQGFybS5jb20+IHdyb3RlOg0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiA+ID4gRnJvbTogSG9uZ3RhbyBMaXUgPGNyYXp5bGh0QGdtYWlsLmNvbT4NCj4gPiA+IFNl bnQ6IFR1ZXNkYXksIE5vdmVtYmVyIDE1LCAyMDIyIDg6MzYgQU0NCj4gPiA+IFRvOiBUYW1hciBD aHJpc3RpbmEgPFRhbWFyLkNocmlzdGluYUBhcm0uY29tPg0KPiA+ID4gQ2M6IFJpY2hhcmQgU2Fu ZGlmb3JkIDxSaWNoYXJkLlNhbmRpZm9yZEBhcm0uY29tPjsgVGFtYXIgQ2hyaXN0aW5hDQo+ID4g PiB2aWEgR2NjLXBhdGNoZXMgPGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnPjsgbmQgPG5kQGFybS5j b20+Ow0KPiA+ID4gcmd1ZW50aGVyQHN1c2UuZGUNCj4gPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0gg My84XW1pZGRsZS1lbmQ6IFN1cHBvcnQgZXh0cmFjdGlvbnMgb2YNCj4gPiA+IHN1YnZlY3RvcnMg ZnJvbSBhcmJpdHJhcnkgZWxlbWVudCBwb3NpdGlvbiBpbnNpZGUgYSB2ZWN0b3INCj4gPiA+DQo+ ID4gPiBIaToNCj4gPiA+ICAgSSdtIGZyb20gaHR0cHM6Ly9nY2MuZ251Lm9yZy9waXBlcm1haWwv Z2NjLXBhdGNoZXMvMjAyMi0NCj4gPiA+IE5vdmVtYmVyLzYwNjA0MC5odG1sLg0KPiA+ID4gPiAg ICAgIH0NCj4gPiA+ID4NCj4gPiA+ID4gICAgLyogU2VlIGlmIHdlIGNhbiBnZXQgYSBiZXR0ZXIg dmVjdG9yIG1vZGUgYmVmb3JlIGV4dHJhY3RpbmcuDQo+ID4gPiA+ICovIGRpZmYgLS1naXQgYS9n Y2Mvb3B0YWJzLmNjIGIvZ2NjL29wdGFicy5jYyBpbmRleA0KPiA+ID4gPg0KPiA+ID4NCj4gY2Zm MzdjY2IwZGZjM2RkNzliOTdkMGFiZmQ4NzJmMzQwODU1ZGM5Ni4uZjMzOGRmNDEwMjY1ZGZlNTVi Njg5NjE2MDANCj4gPiA+IDkNCj4gPiA+IDANCj4gPiA+ID4gYTQ1M2NjNmEyOGQ5IDEwMDY0NA0K PiA+ID4gPiAtLS0gYS9nY2Mvb3B0YWJzLmNjDQo+ID4gPiA+ICsrKyBiL2djYy9vcHRhYnMuY2MN Cj4gPiA+ID4gQEAgLTYyNjcsNiArNjI2Nyw3IEBAIGV4cGFuZF92ZWNfcGVybV9jb25zdCAobWFj aGluZV9tb2RlDQo+IG1vZGUsDQo+ID4gPiBydHggdjAsIHJ0eCB2MSwNCj4gPiA+ID4gICAgICAg IHYwX3FpID0gZ2VuX2xvd3BhcnQgKHFpbW9kZSwgdjApOw0KPiA+ID4gPiAgICAgICAgdjFfcWkg PSBnZW5fbG93cGFydCAocWltb2RlLCB2MSk7DQo+ID4gPiA+ICAgICAgICBpZiAodGFyZ2V0bS52 ZWN0b3JpemUudmVjX3Blcm1fY29uc3QgIT0gTlVMTA0KPiA+ID4gPiArICAgICAgICAgJiYgdGFy Z2V0bS5jYW5fY2hhbmdlX21vZGVfY2xhc3MgKG1vZGUsIHFpbW9kZSwNCj4gPiA+ID4gKyBBTExf UkVHUykNCj4gPiA+IEl0IGxvb2tzIGxpa2UgeW91IHdhbnQgdG8gZ3VhcmQgZ2VuX2xvd3BhcnQs IHNob3VsZG4ndCBpdCBiZSBiZXR0ZXINCj4gPiA+IHRvIHVzZSB2YWxpZGF0ZV9zdWJyZWcgIG9y ICh0bXAgPSBnZW5fbG93cGFydF9pZl9wb3NzaWJsZSAobW9kZSwNCj4gdGFyZ2V0X3FpKSkuDQo+ ID4gPiBJTUhPLCB0YXJnZXRtLmNhbl9jaGFuZ2VfbW9kZV9jbGFzcyBpcyBtb3N0bHkgdXNlZCBm b3IgUkEsIGJ1dCBub3QNCj4gPiA+IHRvIGd1YXJkIGdlbl9sb3dwYXJ0Lg0KPiA+DQo+ID4gSG1t IEkgZG9uJ3QgdGhpbmsgdGhpcyBpcyBxdWl0ZSB0cnVlLCB0aGVyZSBhcmUgZXhpc3RpbmcgdXNh Z2VzIGluDQo+ID4gZXhwci5jYyBhbmQgcnRhbmFsLmNjIFRoYXQgZG8gdGhpcyBhbmQgYXJlbid0 IHBhcnQgb2YgUkEuICBBcyBJDQo+ID4gbWVudGlvbmVkIGJlZm9yZSBmb3IgaW5zdGFuY2UgdGhl IGNhbm9uY2FsaXphdGlvbiBvZiB2ZWNfc2VsZWN0IHRvIHN1YnJlZw0KPiBpbiBydGxhbmFsIGZv ciBpbnN0YW5jZXMgdXNlcyB0aGlzLg0KPiBJbiB0aGVvcnksIHdlIG5lZWQgdG8gaXRlcmF0ZSB0 aHJvdWdoIGFsbCByZWcgY2xhc3NlcyB0aGF0IGNhbiBiZSBhc3NpZ25lZCBmb3INCj4gYm90aCBx aW1vZGUgYW5kIG1vZGUsIGlmIGFueSByZWdjbGFzcyByZXR1cm5zIHRydWUgZm9yDQo+IHRhcmdl dG0uY2FuX2NoYW5nZV9tb2RlX2NsYXNzLCB0aGUgYml0Y2FzdCh2YWxpZGF0ZV9zdWJyZWcpIHNo b3VsZCBiZSBvay4NCj4gSGVyZSB3ZSBqdXN0IHBhc3NlZCBBTExfUkVHUy4NCg0KWWVzLCBhbmQg bW9zdCB0YXJnZXRzIHdoZXJlIHRoaXMgdHJhbnNmb3JtYXRpb24gaXMgdmFsaWQgcmV0dXJuIHRy dWUgaGVyZS4NCg0KSSd2ZSBjaGVja2VkOg0KICogYWxwaGENCiAqIGFybQ0KICogYWFyY2g2NA0K ICogcnM2MDAwDQogKiBzMzkwDQogKiBzcGFyYw0KICogcGENCiAqIG1pcHMNCg0KQW5kIGV2ZW4g dGhlIGRlZmF1bHQgZXhhbXBsZSB0aGF0IG90aGVyIHRhcmdldHMgdXNlIGZyb20gdGhlIGRvY3Vt ZW50YXRpb24NCndvdWxkIHJldHVybiB0cnVlIGFzIHRoZSBzaXplIG9mIHRoZSBtb2RlcyBhcmUg dGhlIHNhbWUuDQoNClg4NiBhbmQgUklTQ1YgYXJlIHRoZSBvbmx5IHR3byB0YXJnZXRzIHRoYXQg SSBmb3VuZCAoYnV0IGRpZG4ndCBjaGVjayBhbGwpIHRoYXQNCmJsYW5rbHkgcmV0dXJuIGEgcmVz dWx0IGJhc2VkIG9uIGp1c3QgdGhlIHJlZ2lzdGVyIGNsYXNzZXMuDQoNClRoYXQgaXMgdG8gc2F5 LCB0aGVyZSBhcmUgbW9yZSB0YXJnZXRzIHRoYXQgYWRoZXJlIHRvIHRoZSBpbnRlcnByZXRhdGlv biB0aGF0DQpyY2xhc3MgaGVyZSBtZWFucyAic2hvdWxkIGJlIHBvc3NpYmxlIGluIHNvbWUgY2xh c3MgaW4gcmNsYXNzIiByYXRoZXIgdGhhbg0KInNob3VsZCBiZSBwb3NzaWJsZSBpbiBBTEwgY2xh c3NlcyBvZiByY2xhc3MiLg0KDQo+ID4NCj4gPiBTbyB0aGVyZSBhcmUgYWxyZWFkeSBleGlzdGlu ZyBwcmVjZWRlbmNlIGZvciB0aGlzLiAgQW5kIHRoZQ0KPiA+IGRvY3VtZW50YXRpb24gZm9yIHRo ZSBob29rIHNheXM6DQo+ID4NCj4gPiAiVGhpcyBob29rIHJldHVybnMgdHJ1ZSBpZiBpdCBpcyBw b3NzaWJsZSB0byBiaXRjYXN0IHZhbHVlcyBoZWxkIGluIHJlZ2lzdGVycyBvZg0KPiBjbGFzcyBy Y2xhc3MgZnJvbSBtb2RlIGZyb20gdG8gbW9kZSB0byBhbmQgaWYgZG9pbmcgc28gcHJlc2VydmVz IHRoZSBsb3ctDQo+IG9yZGVyIGJpdHMgdGhhdCBhcmUgY29tbW9uIHRvIGJvdGggbW9kZXMuIFRo ZSByZXN1bHQgaXMgb25seSBtZWFuaW5nZnVsIGlmDQo+IHJjbGFzcyBoYXMgcmVnaXN0ZXJzIHRo YXQgY2FuIGhvbGQgYm90aCBmcm9tIGFuZCB0by4gVGhlIGRlZmF1bHQNCj4gaW1wbGVtZW50YXRp b24gcmV0dXJucyB0cnVlIg0KPiA+DQo+ID4gU28gaXQgbG9va3MgbGlrZSBpdCdzIHVzZSBvdXRz aWRlIG9mIFJBIGlzIHBlcmZlY3RseSB2YWxpZC4uIGFuZCB0aGUNCj4gPiBkb2N1bWVudGF0aW9u IGFsc28gbWVudGlvbnMgaW4gdGhlIGV4YW1wbGUgdGhlIHVzZSBmcm9tIHRoZSBtaWQtZW5kIGFz DQo+IGFuIGV4YW1wbGUuDQo+ID4NCj4gPiBCdXQgaWYgdGhlIG1pZC1lbmQgbWFpbnRhaW5lcnMg YXJlIGhhcHB5IEknbGwgdXNlIHNvbWV0aGluZyBlbHNlLg0KPiA+DQo+ID4gVGFtYXINCj4gPg0K PiA+ID4gSSBkaWQgc2ltaWxhciB0aGluZ3MgaW4NCj4gPiA+IGh0dHBzOi8vZ2NjLmdudS5vcmcv cGlwZXJtYWlsL2djYy1wYXRjaGVzLzIwMjEtU2VwdGVtYmVyLzU3OTI5Ni5odG1sDQo+ID4gPiAo YW5kIEFMTF9SRUdTIGRvZXNuJ3QgY292ZXIgYWxsIGNhc2VzIGZvciByZWdpc3RlcnMgd2hpY2gg YXJlIGJvdGgNCj4gPiA+IGF2YWlsYWJsZSBmb3IgcWltb2RlIGFuZCBtb2RlLCBBTExfUkVHUyBm YWlsIGRvZXNuJ3QgbWVhbiBpdCBjYW4ndA0KPiA+ID4gYmUgc3VicmVnLCBpdCBqdXN0IG1lYW5z IHBhcnRzIG9mIEFMTF9SRUdTIGNhbid0IGJlIHN1YnJlZy4gYnV0IHdpdGgNCj4gPiA+IGEgc3Vi c2V0IG9mIEFMTF9SRUdTLCB0aGVyZSBjb3VsZCBiZSBhIHJlZyBjbGFzcyB3aGljaCByZXR1cm4g dHJ1ZQ0KPiA+ID4gZm9yDQo+ID4gPiB0YXJnZXRtLmNhbl9jaGFuZ2VfbW9kZV9jbGFzcykNCj4g PiA+ID4gICAgICAgICAgICYmIHRhcmdldG0udmVjdG9yaXplLnZlY19wZXJtX2NvbnN0IChxaW1v ZGUsIHFpbW9kZSwNCj4gPiA+ID4gdGFyZ2V0X3FpLA0KPiA+ID4gdjBfcWksDQo+ID4gPiA+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjFfcWksIHFpbW9k ZV9pbmRpY2VzKSkNCj4gPiA+ID4gICAgICAgICByZXR1cm4gZ2VuX2xvd3BhcnQgKG1vZGUsIHRh cmdldF9xaSk7IEBAIC02MzExLDcgKzYzMTIsOA0KPiA+ID4gPiBAQCBleHBhbmRfdmVjX3Blcm1f Y29uc3QgKG1hY2hpbmVfbW9kZSBtb2RlLCBydHggdjAsIHJ0eCB2MSwNCj4gPiA+ID4gICAgICB9 DQo+ID4gPiA+DQo+ID4gPiA+ICAgIGlmIChxaW1vZGUgIT0gVk9JRG1vZGUNCj4gPiA+ID4gLSAg ICAgICYmIHNlbGVjdG9yX2ZpdHNfbW9kZV9wIChxaW1vZGUsIHFpbW9kZV9pbmRpY2VzKSkNCj4g PiA+ID4gKyAgICAgICYmIHNlbGVjdG9yX2ZpdHNfbW9kZV9wIChxaW1vZGUsIHFpbW9kZV9pbmRp Y2VzKQ0KPiA+ID4gPiArICAgICAgJiYgdGFyZ2V0bS5jYW5fY2hhbmdlX21vZGVfY2xhc3MgKG1v ZGUsIHFpbW9kZSwgQUxMX1JFR1MpKQ0KPiA+ID4gPiAgICAgIHsNCj4gPiA+ID4gICAgICAgIGlj b2RlID0gZGlyZWN0X29wdGFiX2hhbmRsZXIgKHZlY19wZXJtX29wdGFiLCBxaW1vZGUpOw0KPiA+ ID4gPiAgICAgICAgaWYgKGljb2RlICE9IENPREVfRk9SX25vdGhpbmcpIGRpZmYgLS1naXQNCj4g PiA+ID4gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9leHRfMS5jDQo+ID4gPiA+ IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvZXh0XzEuYw0KPiA+ID4gPiBuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KPiA+ID4gPiBpbmRleA0KPiA+ID4gPg0KPiA+ID4NCj4gMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMThhMTBhMTRmMTE2MTU4NDI2N2E4 NDcyZTUNCj4gPiA+IDcxDQo+ID4gPiA+IGIzYmMyZGRmODg3YQ0KPiA+ID4NCj4gPiA+DQo+ID4g Pg0KPiA+ID4NCj4gPiA+IC0tDQo+ID4gPiBCUiwNCj4gPiA+IEhvbmd0YW8NCj4gDQo+IA0KPiAN Cj4gLS0NCj4gQlIsDQo+IEhvbmd0YW8NCg==