From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id 3C78E385783C for ; Tue, 12 Dec 2023 13:15:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3C78E385783C 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 3C78E385783C Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=192.55.52.136 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1702386968; cv=pass; b=VRyiMHurqC0yamaaKf7wWfcZQDY2U9tGUUyZfLnCkP38MCcNcHiq4f2r3ljnpHyTuh+3sIb20mjB5tm9FYmFKv1JDvcKiWinOdoMv6asMl8VC43ACOGWdERZVliHow29CJatk3EUE+ASLSCICmkZ/bEsBJlma4xa8jI8WE5LiSg= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1702386968; c=relaxed/simple; bh=CXUREhnA7DZoADrzYeWuf5gE0hHLPm1QtFlec57pA38=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=KxrEdMl+4JRYPcS9u7VneJxKp9PpPFEOBnt1a/cl3LLF66fBYTzlPLaAYToqc0RIWUNL0rUYHQdNX5XVKCDh3bvWHORQ32MYZtxGgJwuwQYCbZSh9DRLXl2Y3Z3pcNPvppPS7/NCuHD74U9pECpWSB9+mHqsnpSRBhrMXONzElM= 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=1702386958; x=1733922958; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=CXUREhnA7DZoADrzYeWuf5gE0hHLPm1QtFlec57pA38=; b=CrqieryqPdhR/XQkFMeRmsWDNDWT3cmkXlIzntAZzG2BbXsYsQteWXNZ mFz4JHIRbI64DCCRlg8GW4AUmNuNwPV56conscL39U0+g7bljR02i6WCI qnc7jTSK0pSBEtJtCG9kNuBfFr2moCX8vCMsMVd2BZ6GkldwEcl8IQr/0 RGu9hE2hLj3PWHVLNbDMVwP58wQDmtE/cAha3MHrBtrVZUtn8TgPcyY2j 2Zq6swhNDQ7Ed+WuqqP+EHICcBTcE3g5le2hSFJNM92XRg+Sd1B2zw4vF OD94V5BGJN0XsfhyDHm7XulYq3ztbDeGsVEmxh+7jq03F1ImyyJC19EB2 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10921"; a="374309047" X-IronPort-AV: E=Sophos;i="6.04,270,1695711600"; d="scan'208";a="374309047" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Dec 2023 05:15:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10921"; a="946753192" X-IronPort-AV: E=Sophos;i="6.04,270,1695711600"; d="scan'208";a="946753192" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga005.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 12 Dec 2023 05:15:56 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 12 Dec 2023 05:15:56 -0800 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 12 Dec 2023 05:15:55 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Tue, 12 Dec 2023 05:15:55 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.40) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Tue, 12 Dec 2023 05:15:55 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EagzlLoZjA8UyhtQ3Lvv8tOc768P9YNTj0Q2C8HigWAZZ3vtOSuzw2K6f6x9022UsEyIUNqQIiXVqT1iXbTCDC5vrtVxxPNYxN1t3GCHLSaAcdLhIxf0/1MIGr40wmDKliEhYFQI/EhMJFEBh9PzvFg6E7+uRkFXRG/Or8bBEsuA8gy4F4BJSPKX58G+zQfaldJSTgH3WlY5LFUnxFNYsrqdbJ7VO1/uwD9EL61p3rCdySxaP+fJZXnEvAbNYXY6kLrMYeGwIh4kpoHNnIv66iJLnY2YBtYDwadFyxodd32IFPh61A6rFhu0uFThdAU3X/ZFQ6XuFAGI7f46+uJtLA== 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=CXUREhnA7DZoADrzYeWuf5gE0hHLPm1QtFlec57pA38=; b=WSnmI0wOXIGNt2nmral5IdQ2nv9VYJdCGu/sGLXh9F0SGCGxCEzLiPuugQs+TovikhleMVl4M0llsUwrtdtMOXPvvaQ2HfIME2+eI3xq6oMSMO5jAvMGH/gC0Uq0+aCEDHh/B6usWABh9L+Qm1zHOrR1wKyYDKF05MkN2xnASgBL/r7ZuBrlLUkB+qB3slZ+jWQZyRMLnRMYjc2DBIgewuR3TvNh9ZciWks7HCpbyrHwyb2ejWKtN+FblPnY136Zqc+1sch1xZLWFuRKYZVJcuKC4LXIoV+2mVWePrUj4KCK2yliP/O8O6bk9fK1GJHqCep5Qwqrre/yGC58noJAnA== 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 SJ0PR11MB5600.namprd11.prod.outlook.com (2603:10b6:a03:3ab::16) by SA2PR11MB4844.namprd11.prod.outlook.com (2603:10b6:806:f9::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.33; Tue, 12 Dec 2023 13:15:52 +0000 Received: from SJ0PR11MB5600.namprd11.prod.outlook.com ([fe80::f925:7c4b:8747:4549]) by SJ0PR11MB5600.namprd11.prod.outlook.com ([fe80::f925:7c4b:8747:4549%3]) with mapi id 15.20.7091.022; Tue, 12 Dec 2023 13:15:52 +0000 From: "Cui, Lili" To: "Beulich, Jan" CC: "Lu, Hongjiu" , "binutils@sourceware.org" Subject: RE: [PATCH v3 4/9] Support APX GPR32 with extend evex prefix Thread-Topic: [PATCH v3 4/9] Support APX GPR32 with extend evex prefix Thread-Index: AQHaHqSBoOJdrIV6akyqA3/eSh9S+7Cd12QAgAEdKVCABOfkAIABrRPwgAASiQCAAAScgIAAEpcAgAAHl5A= Date: Tue, 12 Dec 2023 13:15:52 +0000 Message-ID: References: <20231124070213.3886483-1-lili.cui@intel.com> <20231124070213.3886483-4-lili.cui@intel.com> <546c8890-0526-49a3-8310-319358bf55c2@suse.com> <0bb5fbcd-f58e-48ad-a5ee-3413b026f903@suse.com> <61ef66ac-ae1c-4c57-b800-475437e225e6@suse.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: SJ0PR11MB5600:EE_|SA2PR11MB4844:EE_ x-ms-office365-filtering-correlation-id: a2cf2e0e-8866-4fd6-f4e2-08dbfb147752 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +buz8gdLrQQr8IwCFlYIwWUmfiKXz2zi5AsZ3jCQAAKFWaIXxeEPfmQhRKRY0bFQb8zkhPAnIcf4wwgNAABFaLpVopKMFicRc7+lolzHDBfCNNzNGbl/RCBnproD7qVJkQaXHERRrjRbI2rX3QwygbP/TbKGKtQlAU0gsi1b7D2kgkQCKsTJSf08+KAoD/tlL3QFuke0DDDWlKrsvEmyZiD8uaX8x0kAXhUDBxBgQSCnY47X0dGs54eAeIZQbqgwp8zRwLDG9fzPS8le2O3/EJSwKqXiO5H14uU3QFLjxg5pQnTVIKrdc6WQrV4MPXGTxqwamNJIEG2QyKpbPPnX1JSxHk58ln86R35hJMSWJvqhv3PchfzdaQ81VSPyG6ALJxy6xWg5YNarppp0XAkGn/odDBweuzS54ewWQd1cYmVZN1X4i3xrmPwbqX001ORrA8PLnlpVVENMzox5FDf5Iv28ekSETRxkezy+FNFXp61eJyHDYI2mykgwZVfABDeiWh8A4ErCZ7VkoNNWt0Q00QWcppgnOeNIkkFSILxT6Px57fgVRxykpY5CrgsBqfWzjHaNTXGozl2ESh6TskzQg8TlqzwGpkAdfEToHje00NeYvF2iWZbOh1+uHzJbPZxz x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR11MB5600.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(376002)(396003)(39860400002)(346002)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(83380400001)(6506007)(53546011)(7696005)(9686003)(122000001)(8676002)(5660300002)(4326008)(52536014)(8936002)(41300700001)(2906002)(71200400001)(478600001)(26005)(38100700002)(316002)(66946007)(6916009)(54906003)(64756008)(66446008)(66476007)(66556008)(76116006)(33656002)(86362001)(82960400001)(38070700009)(55016003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cFhFUmhNaGVCbVpWSkFNTUhWZFZZRXVQclFCYXA1SUlyNm9EbzUvcVp3ejFM?= =?utf-8?B?OXNpZkQ1YmN6ZHhvRkhHUUtISXNVMHk5b2NzOWtkZWJoUHJYWmtkR1VZWW9Y?= =?utf-8?B?V04yc3FsRUlnK2FWQ3p0MStIWDRkVHA0a3R2TWhrSUZsWXVzb2ttcU9QTHRC?= =?utf-8?B?R2h5bWFTdFZJOWZ5aml3YTdMYjU4eHVxQzhqdkcrckhSU2xYVlgrdGFZOVg0?= =?utf-8?B?T2RBemVWYzJZM1g1UDNXblh5YmdvZkUwQkl5bUpKcWh4ckM4NUdTbjBmeitk?= =?utf-8?B?R3pRbUFoYk9xMDVHZjBtWXFNZ0JhMTZMZnB1QmF0TkdzOXJ0TE0wYmYxR2Fi?= =?utf-8?B?WkdmUGlRRGlybjN0aHNNak54WlJjdVFlNlg4S0lOMlNzZmhSQit2c0tzbStU?= =?utf-8?B?citxamhReHNoNVBuaUlFK1BWNlFna0FaZDV5bEVxeHZERGp1YlF4VzZTTXQr?= =?utf-8?B?QnpsYlJHVkNiczRvR2lWdzVZZzRRTnpTVjlFYmI4U09SeXpuOVNLN1pQSTk1?= =?utf-8?B?eXdlZlVHYXVKM2lhMWpNNlRraXVSVnJRQjVMK3NEMGtWN0Z4V08xQUZkRVB0?= =?utf-8?B?bmhOWVl5TWR0RUhHQUU3bi9jVzA5cGJpMERLMDlKVjgxVGhPWDYvQXI5SERC?= =?utf-8?B?Q1BNeThmTEFzejQ2WUhIb3hsVkphRVJ5VGFRRCtnK3RhSmJCNnZIY25qV1ps?= =?utf-8?B?cHRFS2o4N0R6OHJTeW1RQVBJVjhlU25PYkJLRWo3N1IyZ1VWZm4yZ2lJRzEw?= =?utf-8?B?cjFKcVRwWCs2Uk9Ea0xEdWdqWDFLaVpYVFREbkN5d0FQajFsNTRqTFM1Z2h1?= =?utf-8?B?QmlJWE1mYnVFZHljc2RWTkFQaktRTXRMZmx5aHpPV1YrclRyT3JLb2o2WTZW?= =?utf-8?B?MGlnTENQTk1WaVRmaVZBdk1nY0g1TXorOG5pNEVkREs2MkFnVlZ0L0hhQUIr?= =?utf-8?B?NjBCSG9SKzdNL0RFYWtrcUNYZXZtUW51c1ZoV1EvY3BLMHIyRXNRTTBOa3pm?= =?utf-8?B?RGVwSFFCWXdsZUIxT1YvYVQ1ZDNnajZGK1d1NE5TRy9MSGJWOENDL1pYUlY0?= =?utf-8?B?U3l3ZmNPSjJnNUp1TE02aHorb2NWV1p5S2RsZCtuczZyODkyVlBGaWpPeHQy?= =?utf-8?B?UzJjMVhjaitFOEo2M2w0SHRnTG5reVIxVVV1L2pER2pIdFlTTlpnSGxxYUZy?= =?utf-8?B?a21FQVZ3bDRMdWdabk9TY3lVRmovblMydDVyWVJQcUxDWFJvUzdnUCtqR3Ja?= =?utf-8?B?MDdZWTdmbUE3ZzA1aWowMmtkN0g0amQ3ZVU5NXBFNVVyQjhQTlBKWjMvbmtF?= =?utf-8?B?ZzFEVFBzbWV5UDlCS2N5NlVraWw0dE5sdzVHSW9TaDV6VU4ydzBZWTlKVnlj?= =?utf-8?B?aUxDMmFGYW9DcEVSdmd2NHAwRVhtOWIxUm84amU0cUN3WXZ0WExJaDg1bHJo?= =?utf-8?B?TTlyWHVXQjhUc2FuM1J2V2pONjBZanVuZDdHdUY3bFpSc0QrbThpYnpGRlpx?= =?utf-8?B?bWZISDl1aUhZMjNEbGZtNlNaZ1QvaXVham9ZRnlHQUlUemJLWFBZSkxoOEtY?= =?utf-8?B?ak5zYmpmQ3lCaXQ4M2x0WjFhUzkvc2FYUzhWNUdSQVhmS2JaN25nK01FTGJV?= =?utf-8?B?QWlWMzdWNWVRbmlxM3BIakJOeGQwbnFqVzVGaEVQRFJ0NE5kVXNFWnBEODg3?= =?utf-8?B?MDNMbzJGTXR4M2h2QWgyRzhYLytwZDBWV2YyY2o4eHVJRm9VRnFpOWhDL1VH?= =?utf-8?B?UEV1WTM4RlE4eElsOURPRFVmTm1BaEZvdmk0UlJia3dpWUVXVENKNzYwUkJN?= =?utf-8?B?Vy9wOUVpaHNiMklNL1d6cEFLMldjS0hjNUhYOGcvcXZVSUpNZGdpdlRObzda?= =?utf-8?B?MnFNc0ZIZ2NERUtpQkNudVJLMUFwcklLQmMrYXhKbjZIWGFsb0NFd0drNXpr?= =?utf-8?B?UHM0QmVWZHlxUlNrWmx1UlFaRFhKa1VqWWs0RWp3bnlVOUpjdFZ6Y0h4VnYr?= =?utf-8?B?d2ZKYUVGYi8xakdJQW9pNEwrRFZKbEcyby9NWlAwK0plaUxkb1RKWGJLOHdo?= =?utf-8?B?dERXcFNTUzFjUCs3VUxiUkhpLytrWVkwTjdSeGFCYjB6eGpDbmpmWlpPZ0dh?= =?utf-8?Q?OyM5c6buaG5j9sNrJ290b9GaX?= 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: SJ0PR11MB5600.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a2cf2e0e-8866-4fd6-f4e2-08dbfb147752 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Dec 2023 13:15:52.2679 (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: Rk4PwIFbC9nT+H8YHk26wKwK+wu2sCdZS4rZQ+dn0YfD2dwDN3c8tboM2Vrks2hcp4hBZvArRqndzhjX3ghG2Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR11MB4844 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_ASCII_DIVIDERS,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE 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: PiBPbiAxMi4xMi4yMDIzIDEzOjMyLCBDdWksIExpbGkgd3JvdGU6DQo+ID4+Pj4+Pj4gQEAgLTM2 NzAsMTAgKzM2NzMsMTEgQEAgaW5zdGFsbF90ZW1wbGF0ZSAoY29uc3QgaW5zbl90ZW1wbGF0ZQ0K PiA+Pj4+Pj4+ICp0KQ0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4gICAgLyogRHVhbCBWRVgvRVZFWCB0 ZW1wbGF0ZXMgbmVlZCBzdHJpcHBpbmcgb25lIG9mIHRoZSBwb3NzaWJsZQ0KPiA+Pj4+IHZhcmlh bnRzLiAgKi8NCj4gPj4+Pj4+PiAgICBpZiAodC0+b3Bjb2RlX21vZGlmaWVyLnZleCAmJiB0LT5v cGNvZGVfbW9kaWZpZXIuZXZleCkNCj4gPj4+Pj4+PiAtICB7DQo+ID4+Pj4+Pj4gLSAgICAgIGlm ICgobWF5YmVfY3B1ICh0LCBDcHVBVlgpIHx8IG1heWJlX2NwdSAodCwgQ3B1QVZYMikNCj4gPj4+ Pj4+PiAtCSAgIHx8IG1heWJlX2NwdSAodCwgQ3B1Rk1BKSkNCj4gPj4+Pj4+PiAtCSAgJiYgKG1h eWJlX2NwdSAodCwgQ3B1QVZYNTEyRikgfHwgbWF5YmVfY3B1ICh0LA0KPiBDcHVBVlg1MTJWTCkp KQ0KPiA+Pj4+Pj4+ICsgICAgew0KPiA+Pj4+Pj4+ICsgICAgICBpZiAoQVZYNTEyRihDcHVBVlgp IHx8IEFWWDUxMkYoQ3B1QVZYMikgfHwNCj4gQVZYNTEyRihDcHVGTUEpDQo+ID4+Pj4+Pj4gKwkg IHx8IEFWWDUxMlZMKENwdUFWWCkgfHwgQVZYNTEyVkwoQ3B1QVZYMikgfHwNCj4gPj4+Pj4+IEFQ WF9GKENwdUNNUENDWEFERCkNCj4gPj4+Pj4+PiArCSAgfHwgQVBYX0YoQ3B1QU1YX1RJTEUpIHx8 IEFQWF9GKENwdUFWWDUxMkYpIHx8DQo+ID4+Pj4+PiBBUFhfRihDcHVBVlg1MTJEUSkNCj4gPj4+ Pj4+PiArCSAgfHwgQVBYX0YoQ3B1QVZYNTEyQlcpIHx8IEFQWF9GKENwdUJNSSkgfHwNCj4gPj4g QVBYX0YoQ3B1Qk1JMikpDQo+ID4+Pj4+Pj4gIAl7DQo+ID4+Pj4+Pj4gIAkgIGlmIChuZWVkX2V2 ZXhfZW5jb2RpbmcgKCkpDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gVGhlcmUgYXJlIHNldmVyYWwgaXNz dWVzIGhlcmU6DQo+ID4+Pj4+PiAtIFdoeSBkaWQgeW91IG5lZWQgdG8gY2hhbmdlICh0byB0aGUg d29yc2UpIHRoZSBvcmlnaW5hbCBjb2RlPw0KPiA+Pj4+Pj4gLSBXaHkgZGlkIHlvdSBub3QgbW9k ZWwgdGhlIGFkZGl0aW9uIGFmdGVyIHRoYXQgb3JpZ2luYWwgY29kZT8NCj4gPj4+Pj4+IC0gSG93 IGNvbWUgQVBYX0YgKENwdUFWWDUxMiopIGNvbnN0cnVjdHMgYXBwZWFyIGhlcmUsIHdoZW4gbm8N Cj4gPj4+PiBBVlg1MTINCj4gPj4+Pj4+IGluc24gY2FuIGJlIFZFWC1lbmNvZGVkPw0KPiA+Pj4+ Pg0KPiA+Pj4+PiAgSSBkb24ndCB1bmRlcnN0YW5kIHdoYXQgeW91IG1lYW4sIHdlIGhhdmUgdGhp cyBjb21iaW5hdGlvbi4NCj4gPj4+Pj4NCj4gPj4+Pj4ga21vdjxkcT4sIDB4PGRxOmtwZng+OTAs IEFWWDUxMkJXJihBVlg1MTJCV3xBUFhfRiksDQo+ID4+Pj4+IE1vZHJtfFZleDEyOHxFVmV4MTI4 fFNwYWNlMEZ8VmV4VzF8PGRxOmt2c3o+fE5vU3VmLCB7DQo+ID4+Pj4+IFJlZ01hc2t8PGRxOmVs ZW0+fFVuc3BlY2lmaWVkfEJhc2VJbmRleCwgUmVnTWFzayB9DQo+ID4+Pj4NCj4gPj4+PiBPaCwg SSdtIHNvcnJ5OiBJIGZvcmdvdCBhYm91dCB0aGUgbWFzayByZWdpc3RlciBpbnNucy4NCj4gPj4+ Pg0KPiA+Pj4+Pj4gLSBJZiB0aGVzZSBuZXcgbWFjcm9zIGFyZSByZWFsbHkgbmVlZGVkIGZvciB3 aGF0ZXZlciByZWFzb24sIHRoZXkNCj4gPj4+PiBzaG91bGRuJ3QNCj4gPj4+Pj4+ICAgYmUgYWRk ZWQgdG8gb3Bjb2Rlcy9pMzg2LW9wYy5oIHdoZW4gdGhleSdyZSB1c2VmdWwgb25seSBpbiB0aGUN Cj4gPj4+PiBhc3NlbWJsZXIuDQo+ID4+Pj4+PiAtIFN0eWxlIHJlcXVpcmVzIGEgYmxhbmsgYmVm b3JlIHRoZSBvcGVuaW5nIHBhcmVudGhlc2lzIGluIGZ1bmN0aW9uDQo+ID4+Pj4+PiAgIGludm9j YXRpb25zICh3aGljaCBhbHNvIGNvdmVycyBmdW5jdGlvbi1saWtlIG1hY3JvIGludm9jYXRpb25z KS4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBJIHRoaW5rIEkgYXNrZWQgYmVmb3JlOiBIb3cgaXMgaXQg dGhhdCB5b3UgZ2V0IGF3YXkgd2l0aG91dA0KPiA+Pj4+Pj4gYWx0ZXJpbmcgY3B1X2ZsYWdzX21h dGNoKCksIGNvbnRhaW5pbmcgcmVsYXRlZCBhbmQgcXVpdGUgc2ltaWxhcg0KPiBsb2dpYz8NCj4g Pj4+Pj4+DQo+ID4+Pj4+DQo+ID4+Pj4+IEZvciB0aGUgb3JpZ2luYWwgbG9naWMgKCAuLi4gfHwg Li4uICkgJiYgKCAuLi4gfHwgLi4uKSwgdGhlDQo+ID4+Pj4+IGNvbnRlbnQgaW4gdGhlIGZpcnN0 IGJyYWNrZXQNCj4gPj4+PiBhbmQgdGhlIGNvbnRlbnQgaW4gdGhlIGZvbGxvd2luZyBicmFja2V0 cyBjYW4gYmUgY29tYmluZWQNCj4gPj4+PiBhcmJpdHJhcmlseS4gSSB0aGluayBpdCBpcyBJbmFj Y3VyYXRlLg0KPiA+Pj4+DQo+ID4+Pj4gSW4gd2hpY2ggd2F5PyBJZiB0aGVyZSBhcmUgaXNzdWVz IHdpdGggdGhlIGV4aXN0aW5nIGNvZGUsIHRoZXNlDQo+ID4+Pj4gaXNzdWVzIHdhbnQgdGFraW5n IGNhcmUgb2YgaW4gc2VwYXJhdGUgKHByZXJlcSkgcGF0Y2hlcy4gT2YgY291cnNlDQo+ID4+Pj4g dGhlcmUgYXJlIGFzc3VtcHRpb25zIG1hZGUgaGVyZSBhYm91dCB0aGUgQ1BVIGNvbWJpbmF0aW9u cyB0aGF0IGNhbg0KPiA+Pj4+IChhbmQgY2Fubm90KSBvY2N1ciBpbiBhbnkgb2Ygb3VyIHRlbXBs YXRlcy4gU2ltaWxhciBhc3N1bXB0aW9ucyBhcmUNCj4gPj4+PiBpbW8NCj4gPj4gZmluZSB0byBt YWtlIGluIHRoZSBBUFggYWRkaXRpb25zLg0KPiA+Pj4+DQo+ID4+Pj4gTm90ZSBob3cgSSB1c2Vk IHR3byBuZXN0ZWQgaWYoKXMgZGVzcGl0ZSB0aGF0IG5vdCBoYXZpbmcgYmVlbg0KPiA+Pj4+IG5l Y2Vzc2FyeSBhdCB0aGF0IHRpbWUuIEkgZGlkIHNvIGluIGFudGljaXBhdGlvbiB0aGF0IGZvciBB UFggeW91J2QNCj4gPj4+PiB3YW50IHRvIGFkZCBhbm90aGVyDQo+ID4+Pj4gKHNlcGFyYXRlKSBp bm5lciBpZigpLCByYXRoZXIgdGhhbiBhbHRlcmluZyB0aGUgb25lIHRoYXQncyB0aGVyZS4NCj4g Pj4+DQo+ID4+PiBDb3VsZCB3ZSByZW1vdmUgdGhlIENQVSBjaGVjayBoZXJlPyBpdCdzIGEgYml0 IHVnbHkgYW5kIGhhcyBsaW1pdGVkDQo+ID4+IGVmZmVjdGl2ZW5lc3MuDQo+ID4+Pg0KPiA+Pj4g ICBpZiAodC0+b3Bjb2RlX21vZGlmaWVyLnZleCAmJiB0LT5vcGNvZGVfbW9kaWZpZXIuZXZleCkN Cj4gPj4+ICAgICB7DQo+ID4+PiAgICAgICBpZiAoQVZYNTEyRihDcHVBVlgpIHx8IEFWWDUxMkYo Q3B1QVZYMikgfHwgQVZYNTEyRihDcHVGTUEpDQo+ID4+PiAgICAgICAgICAgfHwgQVZYNTEyVkwo Q3B1QVZYKSB8fCBBVlg1MTJWTChDcHVBVlgyKSB8fA0KPiA+PiBBUFhfRihDcHVDTVBDQ1hBREQp DQo+ID4+PiAgICAgICAgICAgfHwgQVBYX0YoQ3B1QU1YX1RJTEUpIHx8IEFQWF9GKENwdUFWWDUx MkYpIHx8DQo+ID4+IEFQWF9GKENwdUFWWDUxMkRRKQ0KPiA+Pj4gICAgICAgICAgIHx8IEFQWF9G KENwdUFWWDUxMkJXKSB8fCBBUFhfRihDcHVCTUkpIHx8IEFQWF9GKENwdUJNSTIpKQ0KPiA+Pg0K PiA+PiBJIGFncmVlIG9uIHRoZSAiYSBiaXQgdWdseSIgcGFydCwgYnV0IHRha2luZyB3aGF0J3Mg dGhlcmUgcmlnaHQgbm93IEkNCj4gPj4gZG9uJ3QgdW5kZXJzdGFuZCAiaGFzIGxpbWl0ZWQgZWZm ZWN0aXZlbmVzcyIuIE9mIGNvdXJzZSB5b3UgY2FuDQo+ID4+IHJlbW92ZSBhbnkgY29kZSB5b3Ug d2FudCwgcHJvdmlkZWQgeW91IGNhbiBwcm92ZSBub3RoaW5nIGJyZWFrcy4NCj4gPj4NCj4gPg0K PiA+IEhlcmUgaXMgaW5zdGFsbF90ZW1wbGF0ZSgpLg0KPiA+IEFsbCBJIGNhbiBzYXkgaXMgdGhh dCBhZnRlciByZW1vdmluZyB0aGUgQ1BVIGNoZWNrLCBubyB0ZXN0IGNhc2VzIGZhaWxlZC4gSQ0K PiBrbm93IGl0J3MgaGFyZCB0byBjb252aW5jZSB5b3UgdG8gZGVsZXRlIHRoaXMgcGxhY2UsIG9y IHdoYXQgZG8geW91IHN1Z2dlc3QgdG8NCj4gZG8gd2l0aCB0aGlzPyBBUFggcmVxdWlyZXMgdGhp cywgb3RoZXJ3aXNlIHRoZSB0ZXN0IGNhc2VzIHdpbGwgZmFpbC4NCj4gPg0KPiA+IC0gICAgICBp ZiAoQVZYNTEyRihDcHVBVlgpIHx8IEFWWDUxMkYoQ3B1QVZYMikgfHwgQVZYNTEyRihDcHVGTUEp DQo+ID4gLSAgICAgICAgIHx8IEFWWDUxMlZMKENwdUFWWCkgfHwgQVZYNTEyVkwoQ3B1QVZYMikg fHwNCj4gQVBYX0YoQ3B1Q01QQ0NYQUREKQ0KPiA+IC0gICAgICAgICB8fCBBUFhfRihDcHVBTVhf VElMRSkgfHwgQVBYX0YoQ3B1QVZYNTEyRikgfHwNCj4gQVBYX0YoQ3B1QVZYNTEyRFEpDQo+ID4g LSAgICAgICAgIHx8IEFQWF9GKENwdUFWWDUxMkJXKSB8fCBBUFhfRihDcHVCTUkpIHx8IEFQWF9G KENwdUJNSTIpKQ0KPiA+IC0gICAgICAgew0KPiANCj4gU28gYmUgaXQgdGhlbiAoYXNzdW1pbmcg eW91IGRvbid0IGRlbGV0ZSBhbnkgcHJlLWV4aXN0aW5nIGNvZGUgdGhlcmUpLiBBcyBzYWlkLA0K PiBJIGV4cGVjdCB0aGlzIHdpbGwgYml0ZSB1cyBsYXRlci4NCj4gDQoNCkRvbmUuDQoNCisgICAg ICBpZiAoKG1heWJlX2NwdSAodCwgQ3B1QVZYKSB8fCBtYXliZV9jcHUgKHQsIENwdUFWWDIpDQor ICAgICAgICAgIHx8IG1heWJlX2NwdSAodCwgQ3B1Rk1BKSkNCisgICAgICAgICAmJiAobWF5YmVf Y3B1ICh0LCBDcHVBVlg1MTJGKSB8fCBtYXliZV9jcHUgKHQsIENwdUFWWDUxMlZMKSkNCisgICAg ICAgICB8fCBBUFhfRihDcHVDTVBDQ1hBREQpIHx8IEFQWF9GKENwdUFNWF9USUxFKSB8fCBBUFhf RihDcHVBVlg1MTJGKQ0KKyAgICAgICAgIHx8IEFQWF9GKENwdUFWWDUxMkRRKSB8fCBBUFhfRihD cHVBVlg1MTJCVykgfHwgQVBYX0YoQ3B1Qk1JKQ0KKyAgICAgICAgIHx8IEFQWF9GKENwdUJNSTIp KQ0KDQo+ID4+Pj4+IEp1c3QgZm91bmQgY3B1X2ZsYWdzX21hdGNoKCkgaGFzIHNpbWlsYXIgbG9n aWMsIEkgdGhpbmsgdGhlDQo+ID4+Pj4+IGZvbGxvd2luZyBpcyB0aGUNCj4gPj4+PiBvbmx5IGNv ZGUgcmVsYXRlZCB0byBDUFVJRCBhbGVydHMsIGJ1dCBub25lIG9mIG91ciBjb21iaW5hdGlvbnMg YXJlDQo+ID4+Pj4gcmVsYXRlZCB0byBjcHVhdnguDQo+ID4+Pj4+DQo+ID4+Pj4+ICAgICAgICAg ICBpZiAoYWxsLmJpdGZpZWxkLmNwdWF2eCkNCj4gPj4+Pj4gICAgICAgICAgICAgew0KPiA+Pj4+ PiAgICAgICAgICAgICAgIC8qIFdlIG5lZWQgdG8gY2hlY2sgU1NFMkFWWCB3aXRoIEFWWC4gICov DQo+ID4+Pj4+ICAgICAgICAgICAgICAgaWYgKCF0LT5vcGNvZGVfbW9kaWZpZXIuc3NlMmF2eA0K PiA+Pj4+PiAgICAgICAgICAgICAgICAgICB8fCAoc3NlMmF2eCAmJiAhaS5wcmVmaXhbREFUQV9Q UkVGSVhdKSkNCj4gPj4+Pj4gICAgICAgICAgICAgICAgIG1hdGNoIHw9IENQVV9GTEFHU19BUkNI X01BVENIOw0KPiA+Pj4+PiAgICAgICAgICAgICB9DQo+ID4+Pj4NCj4gPj4+PiBOb3Qgc3VyZSB3 aHkgeW91IHBpY2sgb3V0IHRoaXMgb25lLiBUaGlzIHNwZWNpYWwgY2FzZSBpcyBuZWVkZWQgZm9y DQo+ID4+Pj4gc3NlMmF2eDsgSSBkb24ndCBzZWUgaG93IGl0J3MgcmVsYXRlZCBoZXJlLiBXaGF0 IEkndmUgYmVlbiBwb2ludGluZw0KPiA+Pj4+IHlvdSBhdCBpcyB0aGUgY29kZSBpbiB0aGF0IGZ1 bmN0aW9uIHdoaWNoIGZvbGxvd3MgYSBzaW1pbGFyICJEdWFsDQo+ID4+Pj4gVkVYL0VWRVgNCj4g Pj4gdGVtcGxhdGVzIC4uLiINCj4gPj4+PiBjb21tZW50Lg0KPiA+Pj4+DQo+ID4+Pg0KPiA+Pj4g SSBrbm93IHlvdSdyZSB0YWxraW5nIGFib3V0IHRoaXMgY29kZSwgSSdtIGp1c3QgZ3Vlc3Npbmcg d2hhdCBpdA0KPiA+Pj4gZG9lcz8gRG9uJ3QNCj4gPj4ga25vdyB3aGF0IEkgbWlzc2VkLg0KPiA+ Pg0KPiA+PiBZb3UgcHVsbGVkIG91dCB0aGlzIHNzZTJhdnggY29kZS4gSGVuY2UgSSB3YXMgZXhw ZWN0aW5nIHlvdSB0byB0ZWxsDQo+ID4+IG1lIHdoeSB5b3UgY29uc2lkZXIgaXQgcmVsZXZhbnQg aGVyZS4NCj4gPj4NCj4gPiBIZXJlIGlzIGNwdV9mbGFnX21hdGNoKCkuDQo+ID4NCj4gPiBJIHJl Y2hlY2tlZCB0aGUgY29kZSwgbWF5YmUgeW91IHdhbnQgdG8gc2F5IEkgbWlzc2VkIHRoZSBvdXRl ciBsb29wLg0KPiA+DQo+ID4gICAgICAgY3B1ID0gY3B1X2ZsYWdzX2FuZCAoYW55LCBhY3RpdmUp Ow0KPiA+ICAgICAgIGlmIChjcHVfZmxhZ3NfYWxsX3plcm8gKCZhbnkpIHx8ICFjcHVfZmxhZ3Nf YWxsX3plcm8gKCZjcHUpKQ0KPiA+ICAgICAgICAgew0KPiA+ICAgICAgICAgICBpZiAoYWxsLmJp dGZpZWxkLmNwdWF2eCkNCj4gPiAgICAgICAgICAgICB7DQo+ID4gICAgICAgICAgICAgICAvKiBX ZSBuZWVkIHRvIGNoZWNrIFNTRTJBVlggd2l0aCBBVlguICAqLw0KPiA+ICAgICAgICAgICAgICAg aWYgKCF0LT5vcGNvZGVfbW9kaWZpZXIuc3NlMmF2eA0KPiA+ICAgICAgICAgICAgICAgICAgIHx8 IChzc2UyYXZ4ICYmICFpLnByZWZpeFtEQVRBX1BSRUZJWF0pKQ0KPiA+ICAgICAgICAgICAgICAg ICBtYXRjaCB8PSBDUFVfRkxBR1NfQVJDSF9NQVRDSDsNCj4gPiAgICAgICAgICAgICB9DQo+ID4g ICAgICAgICAgIGVsc2UNCj4gPiAgICAgICAgICAgICBtYXRjaCB8PSBDUFVfRkxBR1NfQVJDSF9N QVRDSDsNCj4gPiAgICAgICAgIH0NCj4gDQo+IE5vLCAuLi4NCj4gDQo+ID4+PiBGb3IgZXhhbXBs ZQ0KPiA+Pj4NCj4gPj4+IC5hcmNoIC5ub2JtaQ0KPiA+Pj4gYW5kbiAgICAoJWVheCksICVlYXgs ICVlYXgNCj4gPj4+DQo+ID4+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cj4gPj4+ICAgaWYgKGZsYWdfY29kZSAhPSBDT0RFXzY0QklUKQ0KPiA+Pj4gICAgIGFjdGl2ZSA9 IGNwdV9mbGFnc19hbmRfbm90IChjcHVfYXJjaF9mbGFncywgY3B1XzY0X2ZsYWdzKTsNCj4gPj4+ ICAgZWxzZQ0KPiA+Pj4gICAgIGFjdGl2ZSA9IGNwdV9hcmNoX2ZsYWdzOyAgICAgICAgICAgICAg ICAgICAtLS0+IGNwdWJtaSA9IDA7DQo+ID4+PiAgIGNwdSA9IGNwdV9mbGFnc19hbmQgKGFsbCwg YWN0aXZlKTsgICAgICAtLS0+IGNwdWFweCA9MTsgY3B1Ym1pID0gMDsNCj4gPj4+ICAgaWYgKGNw dV9mbGFnc19lcXVhbCAoJmNwdSwgJmFsbCkpICAgICAgIC0tLT4gJmNwdSBhbmQgJmFsbCBhcmUg bm90IHNhbWUuDQo+ID4+PiAgICAgew0KPiA+Pj4gICAgIC4uLg0KPiA+Pj4gICAgIH0NCj4gPj4+ IFJldHVybiAgQ1BVX0ZMQUdTXzY0QklUX01BVENIDQo+ID4+PiAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+Pj4g LS0NCj4gPj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+Pj4gVGhlbiB3ZSB3aWxsIHJl cG9ydCBhbiBhcmNoIGVycm9yLg0KPiA+Pj4NCj4gPj4+ICAgICAgICAgICBpZiAoc3VwcG9ydGVk ICE9IENQVV9GTEFHU19QRVJGRUNUX01BVENIKQ0KPiA+Pj4gICAgICAgICAgICAgew0KPiA+Pj4g ICAgICAgICAgICAgICBhc19iYWQgKF8oImAlcycgaXMgbm90IHN1cHBvcnRlZCBvbiBgJXMlcyci KSwNCj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICBpbnNuX25hbWUgKGN1cnJlbnRfdGVtcGxh dGVzLnN0YXJ0KSwNCj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICBjcHVfYXJjaF9uYW1lID8g Y3B1X2FyY2hfbmFtZSA6IGRlZmF1bHRfYXJjaCwNCj4gPj4+ICAgICAgICAgICAgICAgICAgICAg ICBjcHVfc3ViX2FyY2hfbmFtZSA/IGNwdV9zdWJfYXJjaF9uYW1lIDogIiIpOw0KPiA+Pj4gICAg ICAgICAgICAgICByZXR1cm4gTlVMTDsNCj4gPj4+ICAgICAgICAgICAgIH0NCj4gPj4NCj4gPj4g V2hpY2ggaXMgd2hhdCB3ZSB3YW50LCBJIHRoaW5rIChmb3IgdGhlIHBhcnRpY3VsYXIgZXhhbXBs ZSB5b3UNCj4gPj4gcGlja2VkKT8gWWV0IGFnYWluLCBJIGRvbid0IHRoaW5rIEkgY2FuIHNlZSB3 aGF0IHlvdSdyZSB0cnlpbmcgdG8NCj4gPj4gdGVsbCBtZS4gSSBhbHNvIGhhdmUgdG8gY29uZmVz cyBJJ3ZlIGxvc3QgdHJhY2sgb2Ygd2hldGhlciB3ZSdyZQ0KPiA+PiBkaXNjdXNzaW5nIGluc3Rh bGxfdGVtcGxhdGUoKSwgY3B1X2ZsYWdfbWF0Y2goKSwgb3IgYm90aC4gRm9yIGV4YW1wbGUNCj4g Pj4gaW4gaW5zdGFsbF90ZW1wbGF0ZSgpIHlvdSBtYXkgaW5kZWVkIGJlIGFibGUgdG8gZ2V0IGF3 YXkgd2l0aCBsaXR0bGUNCj4gPj4gb3Igbm8gY2hhbmdlcywgYXMgbG9uZyBhcyB0aGVyZSdzIG5v IHVzZWQgZmVhdHVyZXMgdHJhY2tpbmcgZm9yIEFQWCAoc2VlIHRoZQ0KPiBlYXJseSBFTEYtc3Bl Y2lmaWMgcGFydCBvZiBvdXRwdXRfaW5zbigpKS4NCj4gPj4gVGhpbmdzIHdvdWxkIGJlIHNvbWV3 aGF0IGluY29uc2lzdGVudCB0aGVuLCBidXQgdGhhdCBtYXkgYmUgdG9sZXJhYmxlDQo+ID4+IChh cyBsb25nIGFzIHByb3Blcmx5IGp1c3RpZmllZCBpbiB0aGUgcGF0Y2ggZGVzY3JpcHRpb24pLiBO b3QgZ2V0dGluZw0KPiA+PiB0aGlzIGludG8gcHJvcGVyIHNoYXBlIHJpZ2h0IHdpdGggdGhlIGlu dHJvZHVjdGlvbiBvZiBBUFggbWF5IGJpdGUgdXMgbGF0ZXIsDQo+IHRob3VnaC4NCj4gPj4NCj4g Pg0KPiA+IEhlcmUgaXMgY3B1X2ZsYWdfbWF0Y2goKS4NCj4gPiBJIGp1c3Qgd2FudCB0byBzYXkg dGhhdCBmb3IgdGhlIEFQWCBwYXJ0IHdlIGRvbid0IG5lZWQgdG8gaGFuZGxlIGl0IGluIHRoZQ0K PiAiRG91YmxlIFZFWC9FVkVYIFRlbXBsYXRlLi4uIi4NCj4gDQo+IC4uLiBJIHdhcyByZWZlcnJp bmcgdG8gdGhlIGR1YWwgVkVYL0VWRVggbG9naWMuIEkgaGF2ZSB0byBhZG1pdCBJIHN0aWxsIGRv bid0DQo+IHVuZGVyc3RhbmQgaG93IHlvdSBnZXQgYXdheSB3aXRob3V0IHRvdWNoaW5nIHRoYXQs IGJ1dCBpZiBldmVyeXRoaW5nDQo+IHdvcmtzLCBhbGwgaXMgZmluZSBvZiBjb3Vyc2UuDQo+IA0K DQpNYXliZSwgd2hlbiBGTUEgaXMgY29tYmluZWQgd2l0aCBBVlg1MTJGLCBpZiB3ZSBkaXNhYmxl IEZNQSwgYnV0IHRoZSBjdXJyZW50IGluc3RydWN0aW9uIGJlbG9uZ3MgdG8gQVZYNTEyRiwgdGhl cmUgaXMgbm8gbmVlZCB0byByZXBvcnQgY3B1IGVycm9ycyBmb3IgaXQuIEJ1dCBpdCdzIGRpZmZl cmVudCB3aXRoIEFQWC4gVGhlIGNvbWJpbmF0aW9uIG9mIEFQWCBhbmQgQk1JIHJlcXVpcmVzIHRo YXQgYm90aCBhcmUgaW5kaXNwZW5zYWJsZS4NCg0KVGhhbmtzLA0KTGlsaS4NCg==