From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10]) by sourceware.org (Postfix) with ESMTPS id 0F3333858D35 for ; Wed, 22 Nov 2023 11:38:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0F3333858D35 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 0F3333858D35 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=198.175.65.10 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1700653128; cv=pass; b=bDBdPogmrK/TwiQr90sFJE8FtoqpmaUpkAl36wkI+t2zr199LWHY+6eHpgRVOJ0TnQMChVE7K0avssWoMR/9QuIfe1dUAMapMlrMdJUtnh8It8Pz9Z5XnmthuY458M78O6uv9926C+AwzDy36fUapjyI6haWy6X2D2f2XdibqmU= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1700653128; c=relaxed/simple; bh=RbWygvjYfs7nRcjNL2cp5pq15vSeqgMrq9Jh9qG55VQ=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=lJYVIXSDSCM80i0+xHIfnzqRnLh3xTtKKvQyS65xuvBhCXWvZAyE12aIMHJLSKkfe/StnAc7cp2e5yXmV8aGvW9qqIa0A1aXMXUJi0UbNr5vN+VJcf0OOGQunLwUXNHt+wY5p5i3WK7x+lVmJ2TBbelvYH0NHGUdNbZh1CHhMQE= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700653126; x=1732189126; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=RbWygvjYfs7nRcjNL2cp5pq15vSeqgMrq9Jh9qG55VQ=; b=Xbzhe+LTI9ZJWEfr363yZHdb29FfQxhIPV190sA4sUPkoOyETBscmB/Y 0krAEpCYqug0PiJlKXO2Wc0aAicUOg9yEhYsPtsm51a7/8BqIp/ovjw2T 4V9YvR8CukPWRJXZHqKoGn6QUlv+vHh7F9b4GIyNDr59h+3L+BgtoZfAp 89Vph9PcPIYkveBddH4KQE90pHxcCbPLA6mevk447uJF0XGk/ulh6OPL3 vY84UtYOzEp6kU1hGnCJI+5CHKLFjluyOKwJagOzEn9iRHFBCndC1/qZf 0jRtenszCFYwDLej6z88akT1GJnN0BZR3dTj6UlBbvvMvFS7xvMAc1grn w==; X-IronPort-AV: E=McAfee;i="6600,9927,10901"; a="5229996" X-IronPort-AV: E=Sophos;i="6.04,218,1695711600"; d="scan'208";a="5229996" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Nov 2023 03:38:44 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10901"; a="857690939" X-IronPort-AV: E=Sophos;i="6.04,218,1695711600"; d="scan'208";a="857690939" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by FMSMGA003.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 22 Nov 2023 03:38:43 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Wed, 22 Nov 2023 03:38:43 -0800 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Wed, 22 Nov 2023 03:38:43 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34 via Frontend Transport; Wed, 22 Nov 2023 03:38:43 -0800 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.100) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.34; Wed, 22 Nov 2023 03:38:42 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Zqd11Ey6o+YLStcPfTyq1+uoHyPgbm7ek850ei4oSsb4Db68/+z/I0QMctF5k/NURdX0L8zhG+L64T3Wj61MiYFKjG+8TKAr2+We86VAxrYc19n6hzSO7h4ZEak1qnGsxNQnRa3QlSNSaAImSF8WPMRC0Dffp7n3vFwPLNov8rXKwXZwtOsliUA15SrTINOxkGBFFQ1sUTsgG74ti9y8AzDts+mAuvxC4xiGQ3JZijkBYfRWSuWu9vsZtv+z5RejhSCPeDRSnc22QHrnuWp5RsGsV7XZ/j6sEtnzN2waVqRrlG0UvxicvkiNIXLTOVJakNCsJ5kjE24/Wh6uk3ST4A== 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=RbWygvjYfs7nRcjNL2cp5pq15vSeqgMrq9Jh9qG55VQ=; b=V6PNU7hV1aDeQ/aGPlHj7K2cO6KaKQP9d/KImXPlFDjJLiaM3CSTsjiKVSSZNQ4qVeRdEDEV7IzfgqkutfBz8m+lIIwMlVAmfDObVTUSbQ5XXnlR5Ryle+FemIiJ0zU57nXZI7GfGifKS94BG0MRqGiM3tDkRVKtgMwUZvnNJENq2+aoLsMc4zLfRItzVMD/fwjWu6XLezxlha8Tc1YN+0QevDJzlgPUUapUGsQCqTJw/ioZIjzEGJEHvR6e1H2mq+nbi64Oo65hY9bjGybEOROL/qCIRITXW0HJT5wa2kwweH/3nN8pcEcHZc74kINqqxJlkWlx6Y/TqA7lryPm3g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MW5PR11MB5908.namprd11.prod.outlook.com (2603:10b6:303:194::10) by BN9PR11MB5450.namprd11.prod.outlook.com (2603:10b6:408:11f::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19; Wed, 22 Nov 2023 11:38:35 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::4317:53a0:2638:358c]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::4317:53a0:2638:358c%5]) with mapi id 15.20.7025.017; Wed, 22 Nov 2023 11:38:35 +0000 From: "Li, Pan2" To: Richard Biener CC: "richard.sandiford@arm.com" , "juzhe.zhong@rivai.ai" , "Wang, Yanzhang" , "kito.cheng@gmail.com" , Jeff Law , "gcc-patches@gcc.gnu.org" Subject: RE: [PATCH v4] DSE: Allow vector type for get_stored_val when read < store Thread-Topic: [PATCH v4] DSE: Allow vector type for get_stored_val when read < store Thread-Index: AQHaFeCtiILIvA/cUE6pVff5ehr+7bB4r4EAgAHWGDCAAAJoYIALIQ+AgABfoACAADqikA== Date: Wed, 22 Nov 2023 11:38:35 +0000 Message-ID: References: <20231102031423.3751965-1-pan2.li@intel.com> <20231113032237.1379330-1-pan2.li@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW5PR11MB5908:EE_|BN9PR11MB5450:EE_ x-ms-office365-filtering-correlation-id: 7cfb80f8-7952-478f-cba1-08dbeb4f8fd0 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 32mcK7OpXRz2V1wz5vNIPusovcXh27QRJIwW+cTMTFXJi4PoygKI0lzeIYR8cwBZYoUxFJ6hfgxvzOFMdsUIpWr3YHGbdKgbsT1SB+dEiz2tYfTTiNM9Y7nDWeOv2M1RYKznWK1JYgEMtF65c7dptxCUuYvGs89xkVMKmsgyvCBhs4SR1iVHjNNRItVXXBHiyrv7YpmoDrNdju0p3wNlSTKHAbE8aNbxHtdvG6Q9pYfqCyAcIKN7IlKVpyRlaKzfd5ppakjy4e7FT/RIk36To0yD13ESbkcH8zD5+ilz2FHYWTeX8JQqAWyxuSlGHxGJbxQeJI0pWnZg3UOGnHubbi4Z3UsZOldHi2SgbqBFkwerC6qDSd4ejwceY5K4zE7cKZ9EmaPxZO2fHGW918xP8BXbZolwDkD168Kbk3o7dRDGrC7kGK4DJwitnaKtc66KAoAAzuS4mnbjpbe5HdQXV6yAF2tVKn7cCi44SVOg4AJXri5mpmYai4IWexAsGhO56RI7Jw2/WWQESpE+bE9yK0Xn3td9sKA8G/7s5rhUmB1rtMwQ/VEZWYR/eQzIHhVmXFubm+ZAUxUdgfBjixOFhS2jMzXBprDDJ7zEepybZ/psPrYtDA6t/pvq/9oKasfC63L9VfnPRzkCvOGRWsul8g== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW5PR11MB5908.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(376002)(366004)(39860400002)(346002)(230922051799003)(64100799003)(1800799012)(186009)(451199024)(84970400001)(55016003)(26005)(9686003)(82960400001)(122000001)(86362001)(38070700009)(33656002)(38100700002)(478600001)(83380400001)(52536014)(5660300002)(2906002)(53546011)(7696005)(6506007)(71200400001)(6916009)(54906003)(8936002)(8676002)(4326008)(64756008)(316002)(66946007)(66556008)(66476007)(66446008)(41300700001)(76116006);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RW9saC9CWVVMK0kwcmJod3c1Wm1DeE0rclFRSXJnM2s4TS80N0NaUGszY0Y4?= =?utf-8?B?Zk5vaXlnNDVrbkFpMy9HL01zY0pwRXFGK0VBdFpBYlhhMHk0bjZBNEZCTE11?= =?utf-8?B?dHI4QkhQTUtpRnJKaUxRZXU3QUJ4VUd2SWQ5V3l5a0g3VVlwbWJzTnRIc05W?= =?utf-8?B?UjZxazdHY2VDeVpoTmt0a1lxS1RvMzlTbDBnRTM0ZStCS1RvWVJ6WThhbVR5?= =?utf-8?B?MXNBbjhOdGJCOWZNcmJ3aWYyRWI0aWFyT0p4UlRISlFQbHBpcXBFWEFCNHZZ?= =?utf-8?B?cmgwYllqcmpaN0dMK2xiMFY1UTJMbXc5bTB2cGdGS0JJVmQzQUJBaU9SYXN6?= =?utf-8?B?U1Q2cUFFc3kzN1paTmpEWk5Nc3Z5R3dJZk0yUEtnb2V1RzRqWXZCVFdpTWxi?= =?utf-8?B?dmRQUVU2WjdQa0tsRlpZbkF1dG83OVdERERka2hwWWUrOHJLUTVnNm9JOXBU?= =?utf-8?B?dERjZkpwTnROTEZQOWR5U3RyOFY4S0lqbWtmWFdCdlZVYkNQc3lKaWNEZWUy?= =?utf-8?B?eWN1bFpSdG5VWnVzY0RFb3J2ZkJrU0E4SUJWOHlpSC9LQUUvYVMrZG1kOGl5?= =?utf-8?B?QTlncC9IYlpaUFRIT3JWRDIyWVp1QWhNazZsYVVaeXQrOExBRDlXb3NYaGlK?= =?utf-8?B?WUJ4TlhzMmEvS2ZmYzhUN1RzeGNLaERhVWZxL0NINC9oMHJaRTJnMGZnNjFm?= =?utf-8?B?SEZRTTJ1dzVQQkl6aWRrejdFOS8vcW1xUlhGYXJhVnZJNGhpTXhVbXAzN3Jp?= =?utf-8?B?RHlka1o1NHBlRjZiZ0FFUm1SSXdYeUlRWTNNYzI5bzQvVkZRV2ozcjE3NURO?= =?utf-8?B?djdWSEpNYkhYYnZiLzkrYXZRWGVHbll4VEt0bW9ZRml6MEM1TnF2Vy9wM21u?= =?utf-8?B?Q1dQa2k3bDU3Wm1TY1NnUk0xUHN0a0dBRDN6QWNYU1UyUVNZQlFqcjVIUC9v?= =?utf-8?B?bWhFZzhDSWpQdFBiaUsyeVA1TkdXOTdiNnBQZWo2cWVhM3p0dEV4dmxkSE1C?= =?utf-8?B?LzgzS0x3endraWsvTzNQRFR4eERnc1J5R0pQSDZ0QlE5QXVrTHJxV1I3Mmhi?= =?utf-8?B?d0pGTTJQSDNLSkJ6K1RhekxicWF5Tm0xSy9iWC90MXFmK3NUaWp1dWdoLy9v?= =?utf-8?B?aXcrcEdHL0FhZmtvZXhCZmNBbHc4dnlvd1RKanloWUN1enMxb3RpRXF5K3N0?= =?utf-8?B?Y3V1ajA3Y2hiaVVJK241aFF1dUtQdlA0VWNYQmtVcXNxQkJEdHI3V21JQzRi?= =?utf-8?B?RXRzY2xDbGplV29FQmFGUUpFdTBXMHBleEp4cXhIWFIwU0R2RXdDSkQ5UUd2?= =?utf-8?B?UFh4WThHRlFoa2tPcEFJcVFyN1BndXNPU0RHYWZuRmZGdkhTRXBNcTJDWktx?= =?utf-8?B?ZWdzZldGTzVHTFRkSE8xdEttSnozcWhKRkhzTlNXY2E1TmtPMy9jQmVXc29K?= =?utf-8?B?dXJxU2s5ZkdWMmlvWkZYbnBQTm1qODVIOGthQS9ReHU4V0picWNwNTBRTXRD?= =?utf-8?B?d0RMNE9VbS9CaEdOVExVbkxERE50UmwxUE4zd2I3TzRrUkN0SkhDNEtYVFRR?= =?utf-8?B?QjlSMEFzOW1iSEljZ0lWN2tsdmRHbE13WjQ0MllDZTVHaElsRk9IYlBnazk1?= =?utf-8?B?eXdKSWk5L3BRWWtnQ2xQaWtRQ29RbHlIc3dtR2pmR3lOTzRuMDJUTDQ1REJI?= =?utf-8?B?RmVxd2hYM3NVejhSR1MzMXJvWDcxR3JJUCsrM1RNZm05Ry9JUlRwR1NTM2dC?= =?utf-8?B?SVFSbnJvMk1zRXI2VzdQSGhYSGVuNElRMkFtR0RpVnZBTGNXOEhyR0NWRFA3?= =?utf-8?B?VEFoMk1LUnplTlV0VVFKMGxNaDRpWGs1eEdRN2Y3bEFkMHdkMWY5cFlaMlB1?= =?utf-8?B?eVZmSklOSUEra0EydFJWT0gvU0dlNnZBWVBtVWcxekdzNSt3M3AwSDFRV0w4?= =?utf-8?B?N2MwL0dTOWhoM0tIL2tvSERtQ1ZZYkdiVTRJT2pUOG5KdFFHS2VGeVRyTTh6?= =?utf-8?B?Y0liTHFKL2lDbDdVZkd4OVdIdVJGZHNObXhhblZHOTJnR0FDOXRwTGVXaFJ4?= =?utf-8?B?Y25lMS9SMjB3MDlVNWI1bEdheU1BUllsSCtxNk8xN3JUcHAxTDZxMFh5Q0g5?= =?utf-8?Q?wwNo=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW5PR11MB5908.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7cfb80f8-7952-478f-cba1-08dbeb4f8fd0 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Nov 2023 11:38:35.0247 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: q5wM3yYDl1jkq9TCTlXixln8DjQoG/v/k709ms3J5HkEEScYLNpF5htVh5dL9xDzqytzAfeW2Nmto3YaEJTjtg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR11MB5450 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-6.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_SHORT,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE 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: PiBJdCBsb29rcyBsaWtlIEplZmYgYXBwcm92ZWQgdGhlIHBhdGNoPw0KDQpZZXMsIGp1c3Qgd291 bGQgbGlrZSB0byBkb3VibGUgY2hlY2sgdGhlIHdheSBvZiB0aGlzIHBhdGNoIGlzIGV4cGVjdGVk IGFzIGZvbGxvd2luZyB0aGUgc3VnZ2VzdGlvbiBvZiBSaWNoYXJkIFMuDQoNClBhbg0KDQotLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogUmljaGFyZCBCaWVuZXIgPHJpY2hhcmQuZ3Vl bnRoZXJAZ21haWwuY29tPiANClNlbnQ6IFdlZG5lc2RheSwgTm92ZW1iZXIgMjIsIDIwMjMgNDow MiBQTQ0KVG86IExpLCBQYW4yIDxwYW4yLmxpQGludGVsLmNvbT4NCkNjOiByaWNoYXJkLnNhbmRp Zm9yZEBhcm0uY29tOyBqdXpoZS56aG9uZ0ByaXZhaS5haTsgV2FuZywgWWFuemhhbmcgPHlhbnpo YW5nLndhbmdAaW50ZWwuY29tPjsga2l0by5jaGVuZ0BnbWFpbC5jb207IEplZmYgTGF3IDxqZWZm cmV5YWxhd0BnbWFpbC5jb20+OyBnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZw0KU3ViamVjdDogUmU6 IFtQQVRDSCB2NF0gRFNFOiBBbGxvdyB2ZWN0b3IgdHlwZSBmb3IgZ2V0X3N0b3JlZF92YWwgd2hl biByZWFkIDwgc3RvcmUNCg0KT24gV2VkLCBOb3YgMjIsIDIwMjMgYXQgMzozMOKAr0FNIExpLCBQ YW4yIDxwYW4yLmxpQGludGVsLmNvbT4gd3JvdGU6DQo+DQo+IEhpIFJpY2hhcmQgUywNCj4NCj4g VGhhbmtzIGEgbG90IGZvciByZXZpZXdpbmcgYW5kIGNvbW1lbnRzLiBNYXkgSSBrbm93IGlzIHRo ZXJlIGFueSBjb25jZXJuIG9yIGZ1cnRoZXIgY29tbWVudHMgZm9yIGxhbmRpbmcgdGhpcyBwYXRj aCB0byBHQ0MtMTQ/DQoNCkl0IGxvb2tzIGxpa2UgSmVmZiBhcHByb3ZlZCB0aGUgcGF0Y2g/DQoN ClJpY2hhcmQuDQoNCj4gUGFuDQo+DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZy b206IExpLCBQYW4yDQo+IFNlbnQ6IFdlZG5lc2RheSwgTm92ZW1iZXIgMTUsIDIwMjMgODoyNSBB TQ0KPiBUbzogZ2NjLXBhdGNoZXNAZ2NjLmdudS5vcmcNCj4gQ2M6IGp1emhlLnpob25nQHJpdmFp LmFpOyBXYW5nLCBZYW56aGFuZyA8eWFuemhhbmcud2FuZ0BpbnRlbC5jb20+OyBraXRvLmNoZW5n QGdtYWlsLmNvbTsgcmljaGFyZC5ndWVudGhlckBnbWFpbC5jb207IHJpY2hhcmQuc2FuZGlmb3Jk QGFybS5jb207IEplZmYgTGF3IDxqZWZmcmV5YWxhd0BnbWFpbC5jb20+DQo+IFN1YmplY3Q6IFJF OiBbUEFUQ0ggdjRdIERTRTogQWxsb3cgdmVjdG9yIHR5cGUgZm9yIGdldF9zdG9yZWRfdmFsIHdo ZW4gcmVhZCA8IHN0b3JlDQo+DQo+IFNvcnJ5IGZvciBkaXN0dXJiaW5nLCBsb29rcyBJIGhhdmUg YSB0eXBvIGZvciBSaWNoYXJkIFMncyBlbWFpbCBhZGRyZXNzLCBjYyB0aGUgcmlnaHQgZW1haWwg YWRkcmVzcyBmb3IgYXdhcmVuZXNzLg0KPg0KPiBQYW4NCj4NCj4gLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0NCj4gRnJvbTogTGksIFBhbjINCj4gU2VudDogV2VkbmVzZGF5LCBOb3ZlbWJlciAx NSwgMjAyMyA4OjE4IEFNDQo+IFRvOiBKZWZmIExhdyA8amVmZnJleWFsYXdAZ21haWwuY29tPjsg Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmcNCj4gQ2M6IGp1emhlLnpob25nQHJpdmFpLmFpOyBXYW5n LCBZYW56aGFuZyA8eWFuemhhbmcud2FuZ0BpbnRlbC5jb20+OyBraXRvLmNoZW5nQGdtYWlsLmNv bTsgcmljaGFyZC5ndWVudGhlckBnbWFpbC5jb207IHJpY2hhcmQuc2FuZGlmb3JkQGFybS5jb20y DQo+IFN1YmplY3Q6IFJFOiBbUEFUQ0ggdjRdIERTRTogQWxsb3cgdmVjdG9yIHR5cGUgZm9yIGdl dF9zdG9yZWRfdmFsIHdoZW4gcmVhZCA8IHN0b3JlDQo+DQo+ID4gSSB3b3VsZG4ndCB0cnkgdG8g aGFuZGxlIHRoYXQgY2FzZSB1bmxlc3Mgd2UgaGFkIGFjdHVhbCBldmlkZW5jZSBpdCB3YXMNCj4g PiB1c2VmdWwgdG8gZG8gc28uICBKdXN0IHdhbnRlZCB0byBwb2ludCBvdXQgdGhhdCB1bmxpa2Ug cHNldWRvcyB3ZSBjYW4NCj4gPiBoYXZlIG11bHRpcGxlIG1vZGVzIHJlZmVyZW5jaW5nIHRoZSBz YW1lIG1lbW9yeSBsb2NhdGlvbi4NCj4NCj4gR290IHRoZSBwb2ludCBoZXJlLCB0aGFua3MgSmVm ZiBmb3IgZW1waGFzaXppbmcgdGhpcywg8J+YiS4NCj4NCj4gUGFuDQo+DQo+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEplZmYgTGF3IDxqZWZmcmV5YWxhd0BnbWFpbC5jb20+ DQo+IFNlbnQ6IFR1ZXNkYXksIE5vdmVtYmVyIDE0LCAyMDIzIDQ6MTIgQU0NCj4gVG86IExpLCBQ YW4yIDxwYW4yLmxpQGludGVsLmNvbT47IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnDQo+IENjOiBq dXpoZS56aG9uZ0ByaXZhaS5haTsgV2FuZywgWWFuemhhbmcgPHlhbnpoYW5nLndhbmdAaW50ZWwu Y29tPjsga2l0by5jaGVuZ0BnbWFpbC5jb207IHJpY2hhcmQuZ3VlbnRoZXJAZ21haWwuY29tOyBy aWNoYXJkLnNhbmRpZm9yZEBhcm0uY29tMg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHY0XSBEU0U6 IEFsbG93IHZlY3RvciB0eXBlIGZvciBnZXRfc3RvcmVkX3ZhbCB3aGVuIHJlYWQgPCBzdG9yZQ0K Pg0KPg0KPg0KPiBPbiAxMS8xMi8yMyAyMDoyMiwgcGFuMi5saUBpbnRlbC5jb20gd3JvdGU6DQo+ ID4gRnJvbTogUGFuIExpIDxwYW4yLmxpQGludGVsLmNvbT4NCj4gPg0KPiA+IFVwZGF0ZSBpbiB2 NDoNCj4gPiAqIE1lcmdlIHVwc3RyZWFtIGFuZCByZW1vdmVkIHNvbWUgaW5kZXBlbmRlbnQgY2hh bmdlcy4NCj4gPg0KPiA+IFVwZGF0ZSBpbiB2MzoNCj4gPiAqIFRha2Uga25vd25fbGUgaW5zdGVh ZCBvZiBrbm93bl9sdCBmb3IgdmVjdG9yIHNpemUuDQo+ID4gKiBSZXR1cm4gTlVMTF9SVFggd2hl biBnYXAgaXMgbm90IGVxdWFsIDAgYW5kIG5vdCBjb25zdGFudC4NCj4gPg0KPiA+IFVwZGF0ZSBp biB2MjoNCj4gPiAqIE1vdmUgdmVjdG9yIHR5cGUgc3VwcG9ydCB0byBnZXRfc3RvcmVkX3ZhbC4N Cj4gPg0KPiA+IE9yaWdpbmFsIGxvZzoNCj4gPg0KPiA+IFRoaXMgcGF0Y2ggd291bGQgbGlrZSB0 byBhbGxvdyB0aGUgdmVjdG9yIG1vZGUgaW4gdGhlDQo+ID4gZ2V0X3N0b3JlZF92YWwgaW4gdGhl IERTRS4gSXQgaXMgdmFsaWQgZm9yIHRoZSByZWFkDQo+ID4gcnR4IGlmIGFuZCBvbmx5IGlmIHRo ZSByZWFkIGJpdHNpemUgaXMgbGVzcyB0aGFuIHRoZQ0KPiA+IHN0b3JlZCBiaXRzaXplLg0KPiA+ DQo+ID4gR2l2ZW4gYmVsb3cgZXhhbXBsZSBjb2RlIHdpdGgNCj4gPiAtLXBhcmFtPXJpc2N2LWF1 dG92ZWMtcHJlZmVyZW5jZT1maXhlZC12bG1heC4NCj4gPg0KPiA+IHZ1aW50OG0xX3QgdGVzdCAo KSB7DQo+ID4gICAgdWludDhfdCBhcnJbMzJdID0gew0KPiA+ICAgICAgMSwgMiwgNywgMSwgMywg NCwgNSwgMywgMSwgMCwgMSwgMiwgNCwgNCwgOSwgOSwNCj4gPiAgICAgIDEsIDIsIDcsIDEsIDMs IDQsIDUsIDMsIDEsIDAsIDEsIDIsIDQsIDQsIDksIDksDQo+ID4gICAgfTsNCj4gPg0KPiA+ICAg IHJldHVybiBfX3Jpc2N2X3ZsZThfdl91OG0xKGFyciwgMzIpOw0KPiA+IH0NCj4gPg0KPiA+IEJl Zm9yZSB0aGlzIHBhdGNoOg0KPiA+IHRlc3Q6DQo+ID4gICAgbHVpICAgICBhNSwlaGkoLkxBTkNI T1IwKQ0KPiA+ICAgIGFkZGkgICAgc3Asc3AsLTMyDQo+ID4gICAgYWRkaSAgICBhNSxhNSwlbG8o LkxBTkNIT1IwKQ0KPiA+ICAgIGxpICAgICAgYTMsMzINCj4gPiAgICB2bDJyZTY0LnYgICAgICAg djIsMChhNSkNCj4gPiAgICB2c2V0dmxpIHplcm8sYTMsZTgsbTEsdGEsbWENCj4gPiAgICB2czJy LnYgIHYyLDAoc3ApICAgICAgICAgICAgIDw9PSBVbm5lY2Vzc2FyeSBzdG9yZSB0byBzdGFjaw0K PiA+ICAgIHZsZTgudiAgdjEsMChzcCkgICAgICAgICAgICAgPD09IERpdHRvDQo+ID4gICAgdnMx ci52ICB2MSwwKGEwKQ0KPiA+ICAgIGFkZGkgICAgc3Asc3AsMzINCj4gPiAgICBqciAgICAgIHJh DQo+ID4NCj4gPiBBZnRlciB0aGlzIHBhdGNoOg0KPiA+IHRlc3Q6DQo+ID4gICAgbHVpICAgICBh NSwlaGkoLkxBTkNIT1IwKQ0KPiA+ICAgIGFkZGkgICAgYTUsYTUsJWxvKC5MQU5DSE9SMCkNCj4g PiAgICBsaSAgICAgIGE0LDMyDQo+ID4gICAgYWRkaSAgICBzcCxzcCwtMzINCj4gPiAgICB2c2V0 dmxpIHplcm8sYTQsZTgsbTEsdGEsbWENCj4gPiAgICB2bGU4LnYgIHYxLDAoYTUpDQo+ID4gICAg dnMxci52ICB2MSwwKGEwKQ0KPiA+ICAgIGFkZGkgICAgc3Asc3AsMzINCj4gPiAgICBqciAgICAg IHJhDQo+ID4NCj4gPiBCZWxvdyB0ZXN0cyBhcmUgcGFzc2VkIHdpdGhpbiB0aGlzIHBhdGNoOg0K PiA+ICogVGhlIHJpc2MtdiByZWdyZXNzaW9uIHRlc3QuDQo+ID4gKiBUaGUgeDg2IGJvb3RzdHJh cCBhbmQgcmVncmVzc2lvbiB0ZXN0Lg0KPiA+ICogVGhlIGFhcmNoNjQgcmVncmVzc2lvbiB0ZXN0 Lg0KPiA+DQo+ID4gICAgICAgUFIgdGFyZ2V0LzExMTcyMA0KPiA+DQo+ID4gZ2NjL0NoYW5nZUxv ZzoNCj4gPg0KPiA+ICAgICAgICogZHNlLmNjIChnZXRfc3RvcmVkX3ZhbCk6IEFsbG93IHZlY3Rv ciBtb2RlIGlmIHJlYWQgc2l6ZSBpcw0KPiA+ICAgICAgIGxlc3MgdGhhbiBvciBlcXVhbCB0byBz dG9yZWQgc2l6ZS4NCj4gPg0KPiA+IGdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOg0KPiA+DQo+ID4g ICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTExNzIwLTAuYzogTmV3IHRlc3Qu DQo+ID4gICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTExNzIwLTEuYzogTmV3 IHRlc3QuDQo+ID4gICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTExNzIwLTEw LmM6IE5ldyB0ZXN0Lg0KPiA+ICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjEx MTcyMC0yLmM6IE5ldyB0ZXN0Lg0KPiA+ICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFz ZS9wcjExMTcyMC0zLmM6IE5ldyB0ZXN0Lg0KPiA+ICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9y dnYvYmFzZS9wcjExMTcyMC00LmM6IE5ldyB0ZXN0Lg0KPiA+ICAgICAgICogZ2NjLnRhcmdldC9y aXNjdi9ydnYvYmFzZS9wcjExMTcyMC01LmM6IE5ldyB0ZXN0Lg0KPiA+ICAgICAgICogZ2NjLnRh cmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMTcyMC02LmM6IE5ldyB0ZXN0Lg0KPiA+ICAgICAgICog Z2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMTcyMC03LmM6IE5ldyB0ZXN0Lg0KPiA+ICAg ICAgICogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMTcyMC04LmM6IE5ldyB0ZXN0Lg0K PiA+ICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMTcyMC05LmM6IE5ldyB0 ZXN0Lg0KPiBPSyBmb3IgdGhlIHRydW5rLg0KPg0KPg0KPiA+DQo+DQo+ID4gKyAgZWxzZSBpZiAo VkVDVE9SX01PREVfUCAocmVhZF9tb2RlKSAmJiBWRUNUT1JfTU9ERV9QIChzdG9yZV9tb2RlKQ0K PiA+ICsgICAgJiYga25vd25fbGUgKEdFVF9NT0RFX0JJVFNJWkUgKHJlYWRfbW9kZSksIEdFVF9N T0RFX0JJVFNJWkUgKHN0b3JlX21vZGUpKQ0KPiA+ICsgICAgJiYgdGFyZ2V0bS5tb2Rlc190aWVh YmxlX3AgKHJlYWRfbW9kZSwgc3RvcmVfbW9kZSkpDQo+ID4gKyAgICByZWFkX3JlZyA9IGdlbl9s b3dwYXJ0IChyZWFkX21vZGUsIGNvcHlfcnR4IChzdG9yZV9pbmZvLT5yaHMpKTsNCj4gPiAgICAg ZWxzZQ0KPiA+ICAgICAgIHJlYWRfcmVnID0gZXh0cmFjdF9sb3dfYml0cyAocmVhZF9tb2RlLCBz dG9yZV9tb2RlLA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3B5X3J0eCAo c3RvcmVfaW5mby0+cmhzKSk7DQo+IEl0IG1heSBub3QgbWF0dGVyLCBlc3BlY2lhbGx5IGZvciBS ViwgYnV0IHdlIGNvdWxkIHBvc3NpYmx5IGhhdmUgYQ0KPiBtaXh0dXJlIG9mIHNjYWxhciBhbmQg dmVjdG9yIG1vZGVzIGluIHRoZSBSVEwuICBTYXkgYSB2ZWN0b3Igc3RvcmUNCj4gZm9sbG93ZWQg YnkgYSBzY2FsYXIgcmVhZCBvciB2aWNlLXZlcnNhLg0KPg0KPiBJIHdvdWxkbid0IHRyeSB0byBo YW5kbGUgdGhhdCBjYXNlIHVubGVzcyB3ZSBoYWQgYWN0dWFsIGV2aWRlbmNlIGl0IHdhcw0KPiB1 c2VmdWwgdG8gZG8gc28uICBKdXN0IHdhbnRlZCB0byBwb2ludCBvdXQgdGhhdCB1bmxpa2UgcHNl dWRvcyB3ZSBjYW4NCj4gaGF2ZSBtdWx0aXBsZSBtb2RlcyByZWZlcmVuY2luZyB0aGUgc2FtZSBt ZW1vcnkgbG9jYXRpb24uDQo+DQo+IEplZmYNCg==