From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.120]) by sourceware.org (Postfix) with ESMTPS id 0BDC03858C2A for ; Tue, 12 Dec 2023 12:58:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0BDC03858C2A 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 0BDC03858C2A Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=192.55.52.120 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1702385891; cv=pass; b=YGbyVhKgheg7HYQtNgBqnrvwiwOJoHjgviF06r5GN8l1snpzY3kwnXBxj9311cVlHKoXcbyqqMgPExFKkyXJXfrcKHGbJCpfwblPMhh/ZGqsl5rgtX1f8h0xLzdhJPaf0vepsHvavMTnYAd84hRnq5skV6oRJAbTiW2NFKxM7sw= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1702385891; c=relaxed/simple; bh=49YVaZjhwvjb+tOTUgWWml+r3jqFCjDLAcPP5UyX7jQ=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=vjrcDf+mUnnahWUP6Ip59vbg1Vqj0oPPtRSZ1AZU0n/4yL8H7CjQwNOtGVWQBE0fkxWUgHJ42ZNKc8gMb75YBN3hKL6J6X/Y0J1Zi09lzX9PL2eEEfxc66zXYIDYHeQXelDQ7s4R+5qiHYFVuB65zmXTkBW79conqwbQOJCf9lY= 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=1702385889; x=1733921889; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=49YVaZjhwvjb+tOTUgWWml+r3jqFCjDLAcPP5UyX7jQ=; b=CaZ/kwDfmCQtxaplRtx9dEo3AZplCmNYtqkYFcRzEnVjjBccvZmeeIk1 xnvHHJRlnPrMis72im5igruRFqli2Y+ELEcF1Qi/r5tLl3cON1y4oB6yl wyrbTsgQfMoqpqmHwOD4oVLrbkx20fsLT7TaX/OE+eXGA3wM6RmglEUm1 8MZNFWPk3tuIyDM8n0TIN4c1fjznj2Erj14iXR2uTOSBYGg7sCU+MHsdP w+85B53WI6Bz7YZJ4S8I2zG3iWM8lblvFW2nJe7qQUG0hyHo/SeF5/lrI HrexfdGfZBNYyrMK7M9kGSIXepHu7ogfb8M8y4Ved1dzTusgmHKMrVJ1K Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10921"; a="393672292" X-IronPort-AV: E=Sophos;i="6.04,270,1695711600"; d="scan'208";a="393672292" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Dec 2023 04:58:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10921"; a="839426285" X-IronPort-AV: E=Sophos;i="6.04,270,1695711600"; d="scan'208";a="839426285" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga008.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 12 Dec 2023 04:58:07 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) 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 04:58:06 -0800 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) 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.35; Tue, 12 Dec 2023 04:58:06 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx601.amr.corp.intel.com (10.22.229.14) 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 04:58:06 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.168) by edgegateway.intel.com (134.134.137.100) 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 04:58:05 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hww7mc6wNdKq+pWsJmhMhon3vM5hwALBQ1Myvej7sXWTCitbx1BrXEx50sTPp1jMrSPcLM+9rbEBWL8IBaMQTPe7SCeAKqqLkMnJS/IYgXEp96RHXVM4Rhx8jJZqrOqt5NAIOdjfWK3BChHwLwJhpx8//31gccMK2KD3Y6BClI7g6VuhJr5ejldiRtU9ceNvlgk4LxuvvSJaIuZO5+416rY5fzwgzwAu13p6ThB42ZI8DHtpuCiZ46EML3veTnTvMOguyNKT47aypwTU1TgPsJSNJwiU9YenbkuJvkCZTNG2knFbgvsYd0Rkr5daND3vL2OjT5sFzU1sEfu58sdynA== 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=49YVaZjhwvjb+tOTUgWWml+r3jqFCjDLAcPP5UyX7jQ=; b=SEYHf3nKMk5eVV8Hr35HIJTimQuVhpRJ2vohIz/yn/HPfFuAKuMPUWFo1j+/uKxovz7sm9OggXQR5cTUl+aa0H7CSIBZMGfNUIK7a/YOZYqPK+28oKRM7ZH/BryMCmMupTqQdPHkB5HqTf4zCqj8Ojy0CMIX2eHF8m2vmksMIXS5X99k1w2lJORVhLHKE27WhOkGZ/hfpsclC3AI5bqQxXv5S/EPspfOGiyjnjcnmewLkaHuNDzXXb7FFpslInlwmgmgFsiXN3UVcFLMorq/rrjG6cw6W8jd8+KOPdLwHEKAGNp/hm679eEZmjmHbBuTYfaF4NdRfPWfWQifxk2S0w== 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 LV2PR11MB6023.namprd11.prod.outlook.com (2603:10b6:408:17b::9) 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 12:58:03 +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 12:58:02 +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+7Cd12QAgAEdKVCABOfkAIABttZA Date: Tue, 12 Dec 2023 12:58:02 +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> In-Reply-To: <0bb5fbcd-f58e-48ad-a5ee-3413b026f903@suse.com> 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_|LV2PR11MB6023:EE_ x-ms-office365-filtering-correlation-id: 28b80841-25f6-40c5-aa48-08dbfb11f9e3 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: zknyOJBvcoYeAz2Dk0oQoSL5GGyJQ59flBafJJeJWyUh2W/RLZi9c0ZCWaTogcUuYPR90PwEh0vXWn8UidZe4Imi3L1GaTVzlgngkai0i5UYf+4LfzmxB/p45dX2MTmmZJWOiRvWFswLbHls2+0ll1bA/yuFkvX513Wxfig5+gFk6hvfXW4jjXN2IGHGjzUllKC7YceDaMGNtaFfApby9qwrM6GtnKpcN7ROe1BE4leZbJYFXytR2YxbgG35KwA3OSR131zrqhCA1JZi/UC1XSPgHffDAh6NLd3QF+IwJtFQZjqV6XtxFg0/PhguiZyXE3bqB2jKQEbOuDk+IHKxb9+J4bYG65/quKrfhF0avO0jmc9/H4QkcnPqkst7tT1/FtTxHFi+qnk8wJ5NQ6pJIKIkPLAFEzCE5IjNXUlaI1Ht28PL7Igt4FXaBCfkJ0uZ6yjtQ6HpyYwe7kT6QrTVA+VrV9WaDHuJCgMNa7oOeBOyQS0tomya29mqnBTeNrryjayrkDTZcV1I7HlmwQyIn+0ZpK0eWtFIYYBZTPmgFo1ji5/chM5Wd8tLoCeOur3z9WgQZEkFZqYYjrjbM7wn1yXvc/AP1X/ulJurh7+6efJD3wabrfTTCZ4HtJRD4dOG 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)(396003)(136003)(39860400002)(366004)(346002)(376002)(230922051799003)(64100799003)(1800799012)(186009)(451199024)(2906002)(52536014)(5660300002)(55016003)(66899024)(4326008)(71200400001)(38100700002)(7696005)(122000001)(41300700001)(38070700009)(8676002)(8936002)(33656002)(19627235002)(6916009)(316002)(478600001)(82960400001)(86362001)(83380400001)(6506007)(9686003)(54906003)(66446008)(64756008)(66476007)(66556008)(76116006)(26005)(66946007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WGdIclhvS01LaGk1dzdJanNZN0gzOFFrWW54emJ4dURTT0xOV0RJMVAvSi9v?= =?utf-8?B?bytGY21CRW9uWEdpUG42Z3JaNGYwQ0JKaFVkMHZzQXRpT1plSTcyZGtSUXMv?= =?utf-8?B?cy9uejJ2L1lHeU5GNnZvNzEvbkdkWUJhYWNaK0VlZWx2ZmU2aWNHVTd0blpz?= =?utf-8?B?RDNQTm9nUjNHVy83M3R6MHkxOENDc3d6cnIxSnd5S0RXZzNnNXBObzViU3Nr?= =?utf-8?B?OERSelVER0M2cURpUUt1dVZmRlQvaHZuaFQ3TEV3eDI0RUJURmp1UkxpOWxL?= =?utf-8?B?RE00T3YxRWVOclkxMGNaYlZ3akorRlExdDI3RlBZTVRHSDI3SHRraFRFR1VH?= =?utf-8?B?UmVtZ2hEN1dYWXJHLzhJM1FGelhIZkdJZjFkVWZDRVRoa3ZqQmczbWE0WjBK?= =?utf-8?B?SFl5SXBWTjJRYW9pYUVBZWQ2T0Z0dkZCaGZqUndPRmlNem0zaEZsMDhWSDJy?= =?utf-8?B?b0I2NFRNaGE1MThYMy9tOGxaRGFZRVlmaE9nR0ltdzJyRVBMc1NsNng4VzhR?= =?utf-8?B?NXJpMHJrOUZYbzY0NlhlaEdKTlRkY2w0T3pEUWVKeDV3NEtXRy9sdGNuV0k3?= =?utf-8?B?WG0wRDZPQXR4MzhwQ2ttc2NaZUExenhxVDBDVU91WHZFcGFFVExnUkVOTTYr?= =?utf-8?B?RHhMK1M2djh1akhwazkzaTlwYUw1SUVUTEhKOVRQL0VtTGpJczliTnN1K1VS?= =?utf-8?B?VTdFRTJSUE54eFFKUkoyd2dnODFmanZTRmFsNFpxbzVUcnNWSkhUTWp4Zk5l?= =?utf-8?B?Q1NQL2pmWUxWNURYamo4WHcrOUNoNWZHekhpcjBSYUlxbHVmZ1dQazVtZ2U5?= =?utf-8?B?eElEaTl5cTRlcS91eEthYkxWU0lPNzNhK1BwdDEvNHBrQVdxOXdJR20rNHpK?= =?utf-8?B?WCt1RFpzdzErTHp1VmVFRndDVnJTcjJFVXRVSFNRN01PczRRbDl1MElYZERy?= =?utf-8?B?bUpjTEIzMXFEREltWXBqRHFpc0JhM3lIaHl2QjdCeFU4YkQ3amFaSVAwVG1L?= =?utf-8?B?RllCWW5Lc3hiODVTTWhGOFprZDdWaWFkZVJxWDV0QlpNcGFyd2dUTFN0UlVI?= =?utf-8?B?cXI2clIvbnV1cVZOZGRaNFRNWGZvUURPd2k4YUhVT2YzOGVZamIxVlhqblhp?= =?utf-8?B?ZFZ5OGpDT0Q2ZlB1cjJjMGlLZGF1N0NOYWpXTFNYK05tTDNSSTRxMVIxNlFi?= =?utf-8?B?RXJiSkoxcTNWRSt3enhnMG9jU2w0SGE0NFJaazZPR2Jmb2t5cnlONWl6OEtG?= =?utf-8?B?WGdQQUJONmh5OGVhazBmVXpUTVNSQzFxUmJMNms3VjBRRG5oOGZ6ZDNDeXg2?= =?utf-8?B?RDRyUUwvUmJtV2pPM1Uyb3JoRmNtWXcrd3hDSlQ2SGJldFhOKzVxQlJpTy9y?= =?utf-8?B?TUFHQkFxYzVYd05lM1hsN3AvMHZ4OWdzZ1UyS0FScVllTDZnamljeFZPQjF3?= =?utf-8?B?TzRHYkJVeWQyZUIvM01FT1Vkb0c4aVY2YlV1cWFpazZ1Z1oxa1dmaDRhdDJx?= =?utf-8?B?VFU1aTc0TTBQTmVGeTJwcWhOd1JLOTNOVzZHNDNqeURKZkh4a0RHQXJhc0JM?= =?utf-8?B?ZnZLNXZnWFJMcmVpUzlraFMwalJWRVdVYTQ1UytiRmZtTit2cG42QVFyNTh4?= =?utf-8?B?L2gzNVZMWWx6R2R5clhTRkhrSHhLRVVKd0ZtT1lLazRKZndzM2dQbXNFUjdW?= =?utf-8?B?aXZhTlhjY01tVVpTOEJDc0g0OXEwRFpsQS9MTld6djRNYmhSWEYvTjNYSVcw?= =?utf-8?B?V3BTQnRIWU5ncjVrNnQ1Z211bitsUEZHYmc4MndkdFo3TXMrdHNmem9RQlhx?= =?utf-8?B?WXR0MjlzQjkrR2VESllVRGJuQmY5LzVKNnIyWnFpWkFKQmhJWTVNcERIYkFQ?= =?utf-8?B?MVV2MWlySFZTbytzR2tiN3Jna3MydGxHOUE2ZzZ6ai9Fc1BKT2diRFRpMzJM?= =?utf-8?B?NlI5VG1xakFNUlE1eDd3QzliRnQ0am5OcGZXZ0RGNDV5R3d5RHFyZlUyU1pn?= =?utf-8?B?cU05Z2dINGY2by81QmI1L01NRjZUMUlsVHhnOS9tRjQ1cER0RmU2T21YdkZr?= =?utf-8?B?SkdNVVY1K0N0ZThxSHV5VmR2dGkwamRFM000NXArK3RUS3czdlJhc01ZaUZi?= =?utf-8?Q?Ts8jg0fINJzc4lUA7NZD2DqEN?= 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: 28b80841-25f6-40c5-aa48-08dbfb11f9e3 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Dec 2023 12:58:02.8344 (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: ZIB55Pto+udbtO/F5lZQxVzPEbAhPIXFitzlkIm13ffYlaSTXwv0igkVTZP3a2aplQq+mCNlCUNjmUh6gbCn2A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR11MB6023 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-4.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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: PiANCj4gPj4+IEBAIC0xNDIzMyw2ICsxNDI3NiwxMiBAQCBzdGF0aWMgYm9vbCBjaGVja19yZWdp c3RlciAoY29uc3QgcmVnX2VudHJ5DQo+ID4+ICpyKQ0KPiA+Pj4gICAgICAgIGlmICghY3B1X2Fy Y2hfZmxhZ3MuYml0ZmllbGQuY3B1YXB4X2YNCj4gPj4+ICAJICB8fCBmbGFnX2NvZGUgIT0gQ09E RV82NEJJVCkNCj4gPj4+ICAJcmV0dXJuIGZhbHNlOw0KPiA+Pj4gKw0KPiA+Pj4gKyAgICAgIC8q IFdoZW4gdXNpbmcgUmVnUmV4MiwgZHVhbCBWRVgvRVZFWCB0ZW1wbGF0ZXMgbmVlZCB0byBiZQ0K PiA+Pj4gKyBtYXJrZWQgYXMNCj4gPj4gRVZFWC4NCj4gPj4+ICsJIEZvciB0aGUgbGF0ZXIgaW5z dGFsbF90ZW1wbGF0ZSBmdW5jdGlvbi4gICovDQo+ID4+PiArICAgICAgaWYgKGN1cnJlbnRfdGVt cGxhdGVzLT5zdGFydC0+b3Bjb2RlX21vZGlmaWVyLnZleA0KPiA+Pj4gKwkgICYmIGN1cnJlbnRf dGVtcGxhdGVzLT5zdGFydC0+b3Bjb2RlX21vZGlmaWVyLmV2ZXgpDQo+ID4+PiArCWkudmVjX2Vu Y29kaW5nID0gdmV4X2VuY29kaW5nX2V2ZXg7DQo+ID4+DQo+ID4+IEknbSBhZnJhaWQgSSBkb24n dCB1bmRlcnN0YW5kIHRoZSAybmQgc2VudGVuY2Ugb2YgdGhlIGNvbW1lbnQuIFRoaXMNCj4gPj4g bWF5IGJlIHJlbGF0ZWQgdG8gbXkgcXVlc3Rpb24gcmVnYXJkaW5nIGNwdV9mbGFnc19tYXRjaCgp IGZ1cnRoZXIgdXAuDQo+ID4+DQo+ID4+IFRoZSBmaXJzdCBzZW50ZW5jZSBpc24ndCBxdWl0ZSBj b3JyZWN0IGVpdGhlciAtIHlvdSBkb24ndCBtYXJrIGFueQ0KPiA+PiB0ZW1wbGF0ZSBoZXJlIChh bmQgeW91IGNhbid0LCBiZWNhdXNlIHdlIGRvbid0IGV2ZW4ga25vdyB5ZXQgd2hpY2gNCj4gPj4g dGVtcGxhdGUgd2UncmUgZ29pbmcgdG8gdXNlKS4NCj4gPj4NCj4gPj4gRmluYWxseSAtIGRvIHlv dSByZWFsbHkgbmVlZCB0aGUgLmV2ZXggY2hlY2sgaGVyZT8gKEkgd29uJ3QgZXhjbHVkZQ0KPiA+ PiB0aGF0IHRoaXMgeWllbGRzIGEgYmV0dGVyIGRpYWdub3N0aWMgaW4gY2VydGFpbiBjYXNlcywg YnV0IHRoaXMgd2FudHMNCj4gPj4gY2xhcmlmeWluZyBpZiBzby4pDQo+ID4+DQo+ID4NCj4gPiBJ ZiB5b3UgbG9vayBhdCBpbnN0YWxsX3RlbXBsYXRlKCksIHlvdSdsbCBzZWUgdGhhdCBiZWZvcmUg dGhpcyBmdW5jdGlvbiB3ZQ0KPiBuZWVkIHRvIGtub3cgaWYgdGhlIGN1cnJlbnQgZW5jb2Rpbmcg aXMgZXZleC4NCj4gDQo+ICJUaGlzIGZ1bmN0aW9uIiBiZWluZyBjaGVja19yZWdpc3RlcigpPyBJ ZiBzbywgdGhlbiBubywgd2UgY2FuJ3Qga25vdyB1cCBmcm9udA0KPiB3aGV0aGVyIEVWRVggZW5j b2RpbmcgaXMgZ29pbmcgdG8gYmUgbmVlZGVkLCBhcyBvcGVyYW5kIHBhcnNpbmcgaGFwcGVucw0K PiBhaGVhZCBvZiB0ZW1wbGF0ZSBzZWxlY3Rpb24uIElmIGluc3RlYWQgeW91IG1lYW4gInRoYXQg ZnVuY3Rpb24iIGFuZCBoZW5jZQ0KPiBpbnN0YWxsX3RlbXBsYXRlKCksIHRoZW4geWVzLCB3ZSBu ZWVkIHRvIGtub3cgd2hldGhlciB0byB1c2UgRVZFWCB0aGVyZS4NCj4gWWV0IGhvdyBkb2VzIHRo YXQgcmVzdWx0IGluIGEgbmVlZCBmb3IgdGhlIC5ldmV4IGNoZWNrIGhlcmU/IChPciBtYXliZSB5 b3VyDQo+IHJlcGx5IHdhcyByZWFsbHkgdG8gdGhlIGZpcnN0IG9mIHRoZSB0aHJlZSBwYXJ0cyBv ZiBteSBlYXJsaWVyIG9uZT8pDQo+DQoNCkFncmVlIHdpdGggeW91LCBwdXQgdGhlbSBoZXJlIGlz IHVucmVhc29uYWJsZS4gDQoNCkZvciBleGFtcGxlIA0KDQp2dGVzdHBzICglcjI3KSwleW1tNg0K DQp3ZSBzaG91bGQgcmVwb3J0IHVuc3VwcG9ydGVkICBFZ3ByLiBCdXQgd2l0aG91dCAuZXZleCBj aGVjaywgaXQgd2lsbCByZXBvcnQgIkVycm9yOiBubyBFVkVYIGVuY29kaW5nIGZvciBgdnRlc3Rw cyciDQoNCj4gQnV0IGFueXdheSAtIGFzIHNhaWQgZWFybGllciBvbiwgdXNpbmcgY3VycmVudF90 ZW1wbGF0ZXMgaGVyZSBsb29rcyB3cm9uZyBpbg0KPiB0aGUgZmlyc3QgcGxhY2UuIGNoZWNrX3Jl Z2lzdGVyKCkgZGVhbHMgd2l0aCBvbmx5IGEgcmVnaXN0ZXIsIHdpdGhvdXQgcmVnYXJkIHRvDQo+ IHRoZSBjb250ZXh0IGl0IGlzIHVzZWQgaW4gKHdpdGggdGhlIHNvbGUgZXhjZXB0aW9uIG9mIGFs bG93X3BzZXVkb19yZWcpLg0KPiBNYXkgSSByZW1pbmQgeW91IHRoYXQgZWFybGllciBvbiBJIGFs cmVhZHkgaW5kaWNhdGVkIHRoYXQgSSBzdXNwZWN0IHlvdSdsbCBuZWVkDQo+IGEgbmV3IGVudW1l cmF0b3IgdG8gcHV0IGluIGkudmVjX2VuY29kaW5nIGZvciB0aGlzIG5ldyBwdXJwb3NlPw0KPiAN Cg0KSWYgd2UgZG9uJ3QgcHV0IGl0IGluIGNoZWNrX3JlZ2lzdGVyKCksIHdlIG5lZWQgdG8gYWRk IGEgZm9yIGxvb3AgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgaW5zdGFsbF90ZW1wbGF0ZSgpIHRv IGNoZWNrIFJlZ1JleDIuIERvIHlvdSB0aGluayBpdCBpcyBva2F5PyBPciBjcmVhdGUgYSBmdW5j dGlvbiBmb3IgaXQuDQoNCmZvciAodW5zaWduZWQgaW50IG9wID0gMDsgb3AgPCBpLm9wZXJhbmRz OyBvcCsrKQ0KICAgIHsNCiAgICAgIGlmIChpLnR5cGVzW29wXS5iaXRmaWVsZC5jbGFzcyAhPSBS ZWcpDQogICAgICAgIGNvbnRpbnVlOw0KDQogICAgICBpZiAoaS5vcFtvcF0ucmVncy0+cmVnX2Zs YWdzICYgUmVnUmV4MikNCiAgICAgICAgaS52ZWNfZW5jb2RpbmcgPSB2ZXhfZW5jb2RpbmdfZXZl eDsNCiAgICB9DQoNCiAgaWYgKChpLmluZGV4X3JlZyAmJiAoaS5pbmRleF9yZWctPnJlZ19mbGFn cyAmIFJlZ1JleDIpKQ0KICAgICAgfHwgKGkuYmFzZV9yZWcgJiYgKGkuYmFzZV9yZWctPnJlZ19m bGFncyAmIFJlZ1JleDIpKSkNCiAgICBpLnZlY19lbmNvZGluZyA9IHZleF9lbmNvZGluZ19ldmV4 OyANCg0KDQo+ID4gV2UgbmVlZCB0byBjaGVjayBvcGNvZGVfbW9kaWZpZXIuZXZleCBoZXJlLCBp dCBpcyBhIGZpeCBmb3IgaXNzdWVzIGNhdXNlZCBieQ0KPiB0aGUgbWVyZ2Ugb2YgVkVYIGFuZCBF VkVYLg0KPiA+ICAgaWYgKHQtPm9wY29kZV9tb2RpZmllci52ZXggJiYgdC0+b3Bjb2RlX21vZGlm aWVyLmV2ZXgpDQo+ID4gICAgIHsNCj4gPiAgICAgICBpZiAoQVZYNTEyRihDcHVBVlgpIHx8IEFW WDUxMkYoQ3B1QVZYMikgfHwgQVZYNTEyRihDcHVGTUEpDQo+ID4gICAgICAgICAgIHx8IEFWWDUx MlZMKENwdUFWWCkgfHwgQVZYNTEyVkwoQ3B1QVZYMikgfHwNCj4gQVBYX0YoQ3B1Q01QQ0NYQURE KQ0KPiA+ICAgICAgICAgICB8fCBBUFhfRihDcHVBTVhfVElMRSkgfHwgQVBYX0YoQ3B1QVZYNTEy RikgfHwNCj4gQVBYX0YoQ3B1QVZYNTEyRFEpDQo+ID4gICAgICAgICAgIHx8IEFQWF9GKENwdUFW WDUxMkJXKSB8fCBBUFhfRihDcHVCTUkpIHx8IEFQWF9GKENwdUJNSTIpKQ0KPiA+ICAgICAgICAg ew0KPiA+ICAgICAgICAgICBpZiAobmVlZF9ldmV4X2VuY29kaW5nICgpKQ0KPiA+ICAgICAgICAg ICAgIHsNCj4gPlsuLi5dDQo+ID4+PiBAQCAtMTMxOSwxMyArMTMyMCwxNiBAQCBnZXRzZWMsIDB4 ZjM3LCBTTVgsIE5vU3VmLCB7fQ0KPiA+Pj4NCj4gPj4+ICBpbnZlcHQsIDB4NjYwZjM4ODAsIEVQ VCZObzY0LCBNb2RybXxJZ25vcmVTaXplfE5vU3VmLCB7DQo+ID4+PiBPd29yZHxVbnNwZWNpZmll ZHxCYXNlSW5kZXgsIFJlZzMyIH0gIGludmVwdCwgMHg2NjBmMzg4MCwgRVBUJng2NCwNCj4gPj4+ IE1vZHJtfE5vU3VmfE5vUmV4NjQsIHsgT3dvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4LCBSZWc2 NCB9DQo+ID4+PiAraW52ZXB0LCAweGYzZjAsIEVQVCZBUFhfRiwgTW9kcm18Tm9TdWZ8RVZleDEy OHxFVmV4TWFwNCwgew0KPiA+Pj4gK093b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleCwgUmVnNjQg fQ0KPiA+Pj4gIGludnZwaWQsIDB4NjYwZjM4ODEsIEVQVCZObzY0LCBNb2RybXxJZ25vcmVTaXpl fE5vU3VmLCB7DQo+ID4+PiBPd29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZXgsIFJlZzMyIH0gIGlu dnZwaWQsIDB4NjYwZjM4ODEsIEVQVCZ4NjQsDQo+ID4+PiBNb2RybXxOb1N1ZnxOb1JleDY0LCB7 IE93b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleCwgUmVnNjQgfQ0KPiA+Pj4gK2ludnZwaWQsIDB4 ZjNmMSwgRVBUJkFQWF9GLCBNb2RybXxOb1N1ZnxFVmV4MTI4fEVWZXhNYXA0LCB7DQo+ID4+PiAr T3dvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4LCBSZWc2NCB9DQo+ID4+DQo+ID4+IFNlZWluZyB0 aGVzZTogQXJlIHRoZXJlIGFueSBNYXA0IGVuY29kaW5ncyB3aGljaCBhcmVuJ3QgRVZleDEyOD8g SWYNCj4gPj4gbm90IChhbmQgaWYgeW91J3JlIGFsc28gbm90IGhpZGRlbmx5IGF3YXJlIG9mIHNv bWUgYXBwZWFyaW5nIGluIHRoZQ0KPiA+PiBuZWFyIGZ1dHVyZSksIHBsZWFzZSBjb25zaWRlciBt YWtpbmcgRVZleE1hcDQgaW5jbHVkZSB0aGlzIHJpZ2h0DQo+ID4+IGF3YXkuIEV2ZW4gaWYgaW4g dGhlIGxvbmdlciBydW4gb3RoZXIgZW5jb2RpbmdzIGFwcGVhciwgaXQnbGwgdGhlbiBiZQ0KPiA+ PiBlYXN5IHRvIHNpbXBseSByZXBsYWNlIGFsbCB0aGUNCj4gPj4gRVZleE1hcDQgdXNlcyBpbiBh IHB1cmVseSBtZWNoYW5pY2FsIHdheS4gVW50aWwgdGhlbiBzaG9ydGVyIHRlbXBsYXRlDQo+ID4+ IGxpbmVzIGFyZSBwcmVmZXJhYmxlLg0KPiA+Pg0KPiA+DQo+ID4gV291bGQgeW91IG1pbmQgZGVm aW5pbmcgaXQgdGhpcyB3YXk/IFNpbmNlICNkZWZpbmUgRVZleDEyOCBpcyBiZWhpbmQgaXQuDQo+ IENvbnNpZGVyaW5nIHRoYXQgeW91IGRvbid0IGxpa2UgdW5uZWNlc3NhcnkgY2hhbmdlcy4NCj4g Pg0KPiA+ICsjZGVmaW5lIEVWZXhNYXA0IE9wY29kZVNwYWNlPVNQQUNFX0VWRVhNQVA0fEVWZXg9 RVZFWDEyOA0KPiANCj4gVGhlIG9yZGVyIG9mICNkZWZpbmUtcyBkb2Vzbid0IG1hdHRlci4gVGhl cmUncyBubyByZWFzb24gbm90IHRvIHVzZSBFVmV4MTI4DQo+IGhlcmUgZXZlbiBpZiBpdCdzICNk ZWZpbmUtZCBvbmx5IGEgZmV3IGxpbmVzIGxhdGVyLg0KPiANCg0KT0sNCg0KI2RlZmluZSBFVmV4 MTI4IEVWZXg9RVZFWDEyOA0KI2RlZmluZSBFVmV4MjU2IEVWZXg9RVZFWDI1Ng0KI2RlZmluZSBF VmV4NTEyIEVWZXg9RVZFWDUxMg0KI2RlZmluZSBFVmV4TElHIEVWZXg9RVZFWExJRw0KI2RlZmlu ZSBFVmV4RFlOIEVWZXg9RVZFWERZTg0KDQorI2RlZmluZSBTcGFjZTBGICAgIE9wY29kZVNwYWNl PVNQQUNFXzBGDQorI2RlZmluZSBTcGFjZTBGMzggIE9wY29kZVNwYWNlPVNQQUNFXzBGMzgNCisj ZGVmaW5lIFNwYWNlMEYzQSAgT3Bjb2RlU3BhY2U9U1BBQ0VfMEYzQQ0KKyNkZWZpbmUgU3BhY2VY T1AwOCBPcGNvZGVTcGFjZT1TUEFDRV9YT1AwOA0KKyNkZWZpbmUgU3BhY2VYT1AwOSBPcGNvZGVT cGFjZT1TUEFDRV9YT1AwOQ0KKyNkZWZpbmUgU3BhY2VYT1AwQSBPcGNvZGVTcGFjZT1TUEFDRV9Y T1AwQQ0KKw0KKyNkZWZpbmUgRVZleE1hcDQgT3Bjb2RlU3BhY2U9TUFQNHxFVmV4MTI4DQorI2Rl ZmluZSBFVmV4TWFwNSBPcGNvZGVTcGFjZT1TUEFDRV9FVkVYTUFQNQ0KKyNkZWZpbmUgRVZleE1h cDYgT3Bjb2RlU3BhY2U9U1BBQ0VfRVZFWE1BUDYNCg0KPiBNb2RybXxDaGVja09wZXJhbmRTaXpl fFZleDEyOHxTcGFjZTBGMzh8VmV4VlZWVnxTd2FwU291cmNlc3xObw0KPiA+PiBfYlN1ZnxObw0K PiA+Pj4gX3dTdWZ8Tm9fc1N1ZiwgeyBSZWczMnxSZWc2NCwgUmVnMzJ8UmVnNjR8VW5zcGVjaWZp ZWR8QmFzZUluZGV4LA0KPiA+Pj4gUmVnMzJ8UmVnNjQgfQ0KPiA+Pj4gK2J6aGksIDB4ZjUsIEJN STImKEJNSTJ8QVBYX0YpLA0KPiA+Pj4NCj4gPj4NCj4gK01vZHJtfENoZWNrT3BlcmFuZFNpemV8 VmV4MTI4fEVWZXgxMjh8U3BhY2UwRjM4fFZleFZWVlZ8U3dhcFMNCj4gPj4gb3VyY2VzfE4NCj4g Pj4+ICtvX2JTdWZ8Tm9fd1N1ZnxOb19zU3VmfE5GLCB7IFJlZzMyfFJlZzY0LA0KPiA+Pj4gK1Jl ZzMyfFJlZzY0fFVuc3BlY2lmaWVkfEJhc2VJbmRleCwgUmVnMzJ8UmVnNjQgfQ0KPiA+Pg0KPiA+ PiBIbW0sIEkgaGFkIHNwZWNpZmljYWxseSBzdWdnZXN0ZWQgYSBwcmUtcHJvY2Vzc29yIG1hY3Jv IHRvIHVzZSBpbg0KPiA+PiBwbGFjZSBvZiB0aGUgb3Blbi1jb2RlZCBCTUkyJihCTUkyfEFQWF9G KS4gSXMgdGhlcmUgYSByZWFzb24geW91DQo+ID4+IGRpZG4ndCB1c2UgdGhhdCAoaGVyZSBhbmQg YmVsb3cpPw0KPiA+DQo+ID4gVGhlcmUgYXJlIG1hbnkgZGlmZmVyZW50IHR5cGVzIG9mIGNvbWJp bmF0aW9ucywgYW5kIGVhY2ggY29tYmluYXRpb24NCj4gYXBwZWFycyByZWxhdGl2ZWx5IGZldyB0 aW1lcywgc28gSSB0aGluayBhZGRpbmcgYSAjZGVmaW5lIGZvciBlYWNoIGNvbWJpbmF0aW9uDQo+ IGZlZWxzIGEgYml0IHdhc3RlZnVsLg0KPiANCj4gSSBuZXZlciBzdWdnZXN0ZWQgdXNpbmcgbXVs dGlwbGUgI2RlZmluZS1zLiBJIHN1Z2dlc3RlZCBhIHNpbmdsZSBBUFhfRigpDQo+IG1hY3JvIHdo aWNoIHdvdWxkIGJlIHVzZWQgdW5pZm9ybWx5IGhlcmUgYW5kIGVsc2V3aGVyZSAoaGVyZToNCj4g QVBYX0YoQk1JMikpLg0KPiBBbmQgdGhhdCBtYWNybyB3b3VsZCBjb21lIHdpdGggYSBjb21tZW50 IGV4cGxhaW5pbmcgd2h5IHRoZSBleHByZXNzaW9uDQo+IGlzIHRoZSAoc2VlbWluZ2x5IHN0cmFu Z2UpIHdheSBpdCBpcy4gUmlnaHQgbm93IHRoZXJlJ3Mgbm8gc3VjaCBleHBsYW5hdGlvbg0KPiBh bnl3aGVyZSwgYW5kIGl0IHdvdWxkIGFsc28gYmUgaGFyZCB0byBmaW5kIGEgZ29vZCAoY2VudHJh bCkgcGxhY2Ugd2hlcmUgdG8NCj4gcHV0IGl0Lg0KPiANCg0KT2gsIGdldCB5b3UuDQoNClRoYW5r cywNCkxpbGkuDQo=