From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17]) by sourceware.org (Postfix) with ESMTPS id 937653858D33 for ; Thu, 23 May 2024 12:05:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 937653858D33 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 937653858D33 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=192.198.163.17 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1716465954; cv=pass; b=rWCBWFvSueVgmGK4iQUpjCHgTxQFdvB7vJGI+//BTn5qrvxE0NQ6aQMEZFDW72Ws0yZp3UX1IdfTN8X3lV6ublSKUHBQYbXyeNbR6PhoF/2WgvsQvrFZpLn1tMfHCTJ1o7IjTyZkrc363B62pmTQ6zkKMFNvMpuxK8W/TVHUMCA= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1716465954; c=relaxed/simple; bh=DkdY8s88o9VO9TERqklj+vK+TDqF3YrEXkbfIhZOjms=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=VAT4xRiKqKDStddqF+ZElif43AGLZuG9HEJv8kiNTOywp+XgPEPiq3C8tn5c8ojZfPuFxUE9f4cx64/OlFaX5j0H6xtAExalYMh+lj2OF2mC0rwl8ITnrrxRX+BTIXOnC5SCE5Dqj53jflF1MwENrYjIVnugPXOXzLElE7ngJKI= 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=1716465949; x=1748001949; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=DkdY8s88o9VO9TERqklj+vK+TDqF3YrEXkbfIhZOjms=; b=IdxniFEUKZR9J7IvuEnnV6Lpbn8FF/bWd/+48p8v9n2xZxUnNs41OACd U+VzvjqZgGiiRE0cWJlNMFf3Lx3K/ONgEfdB/e18OYLHKrcF11CZnUMRW 9KctV0+kUpIIUFeYNUa+52wBla4yhlR6vzH9Q+xFWz4SFsW79vYLKTx+a 1hmPJkwBVLdc2WlYTDB0Wz4MXpV6EMZHApN+WvktoK4PvDSwqrzj26UhI PeHD6JslnRybRxi00CsPcZ8f9AlNLje86fGxLjJl983p2U9NapRSwhlPO nW/7YAVj5cTcUpu6WVRuvojztp6caZtyzbvuf9cag127ehpNE3Yr5uh6w g==; X-CSE-ConnectionGUID: wgDKWd78TvCYz9ln2sQXQw== X-CSE-MsgGUID: /fFY0dUzTpa0mHgYM0jYxw== X-IronPort-AV: E=McAfee;i="6600,9927,11081"; a="12653333" X-IronPort-AV: E=Sophos;i="6.08,182,1712646000"; d="scan'208";a="12653333" Received: from fmviesa004.fm.intel.com ([10.60.135.144]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 May 2024 05:05:48 -0700 X-CSE-ConnectionGUID: AetPv6glT4S3qXAnMB7zhw== X-CSE-MsgGUID: Mo66clAWSrmpRP9Cx6Prfg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,182,1712646000"; d="scan'208";a="38229107" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmviesa004.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 23 May 2024 05:05:47 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 23 May 2024 05:05:46 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) 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.39 via Frontend Transport; Thu, 23 May 2024 05:05:46 -0700 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.39; Thu, 23 May 2024 05:05:46 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j8XBEpdBW8DyvZcZ3yOAxadF+t3l9K0mHmiJqDEDQjFvsKmYbME2W3LywOi1iDEo/Tmlztqxng4qx1p2ZUCjeBBAUYKdWE7QyDp1hVc8GRgerIkD4+RggAzum/xtyOR15LxiD2dsn1eVwwtWedayz4GsX/EaTAu6YxtCG4xq0l3nuGoNPHNOH86fQL9dRo6AdKwhjKMdakIf+ZBTh5DCLcUmSNc5D7t5ks2si8Ctw7xiYAcN6fldaaa2m90NZlDsJRyT8xTf/S6XlO9QewRgiuPFEtf+92ycvLl0mLzCIyMqTuKU1/GIl4EgFItSYLYkutu1QWOsyA6R6ky0gSuinw== 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=DkdY8s88o9VO9TERqklj+vK+TDqF3YrEXkbfIhZOjms=; b=WtAhn+l7CKSroBuOUoRD05aaSP2PT8zr/S3wEUP893YG6rj9aeJD/OJoBqB2VoROE7bVP2YjrXi1rXX2/5fb9T+eC1F6c+zYhCZVrn2GJnMEYqB07DUNN/7fVR85PHDJUz91H6wjW99tFafM+7ZVlNaAa6azx2/UG4t1ZFI8XxNlVG9cI3KLhTBWCr5GbFMHIbilSQNzI1sCG8WT2DgEUBdNQHnQ6YzdBcavKGtNOfTUOmNANtbLD7tImCClcdgEVaOyeUNqh9uCzNE0gxL//kUS7kp15QWQBDV7zrgzYqjaDgEuaWFu+miIVUWBVHXdO92fuaYMI3uM0zMf3rjruw== 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 SN7PR11MB7418.namprd11.prod.outlook.com (2603:10b6:806:344::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.36; Thu, 23 May 2024 12:05:43 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::c798:ab3c:1a03:af59]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::c798:ab3c:1a03:af59%3]) with mapi id 15.20.7611.016; Thu, 23 May 2024 12:05:43 +0000 From: "Li, Pan2" To: Richard Biener CC: "gcc-patches@gcc.gnu.org" , "juzhe.zhong@rivai.ai" , "kito.cheng@gmail.com" , "tamar.christina@arm.com" , "pinskia@gmail.com" Subject: RE: [PATCH v4] Match: Add overloaded types_match to avoid code dup [NFC] Thread-Topic: [PATCH v4] Match: Add overloaded types_match to avoid code dup [NFC] Thread-Index: AQHarKeZLcgCLCcVSUWWwqmAzVD2GLGktRIAgAADG4A= Date: Thu, 23 May 2024 12:05:43 +0000 Message-ID: References: <20240523002421.1477387-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_|SN7PR11MB7418:EE_ x-ms-office365-filtering-correlation-id: f8b8272f-28b4-434d-692a-08dc7b20abf2 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230031|1800799015|366007|376005|38070700009; x-microsoft-antispam-message-info: =?utf-8?B?RHJHWkJ3QTR6UEc4dUkvWkpuZ3krcEZRZjBIWlFmcjA5Z01FU2QxdlNZamtz?= =?utf-8?B?bkl4eUFyWkI2WlpiR3NXVWdJVnc5KzBzUEcxTm01Wi9QVVovTlQzZUlTdjRF?= =?utf-8?B?ajMySHVwRUorRUVjMEYzeGtmN0NUTXVNbXRCYWtZWU9hbjBvT2pDazdtUGpt?= =?utf-8?B?YUtFZTR6NE1sVjE1K1RIYzJ2UmNkU0FWZWZ0U2l0dEhTZEtQMFQvd1JLZzhI?= =?utf-8?B?aHRkcVdhNEVhWVdIdVFScmJDck1PWGNSS0dzQWF3VzFEbHpxVUNUNk92MWp3?= =?utf-8?B?bDBGbDlKNUNDazdRQ0d0dDJXSlZlVG1WbXFQclg3OVY4a0dDejE3Sll1MDZT?= =?utf-8?B?K1o1a3BLalBFdkxJbEgyVWNIQVBNTVZvZmhNVENsMWM3U0NRY2JNdng1UzRY?= =?utf-8?B?K0JMS2tEKzh3Y3IwenV6QU9sb1V4eWd5UlBMTElwQ01jMlljcHBVcWZNa0V6?= =?utf-8?B?WU4rUnRNdDlpUStqS0lsOHNMb3BmWmpQYTR6RzFOaTZ4NmN5WnFyTzFFeUpn?= =?utf-8?B?SXVWYTRST0ZEV3NUbWpWNStRQ0pEbVJDQlNVcCtrV2NITzd2Q0pJNmUwS1Vm?= =?utf-8?B?VDZzMy8zWjcvMHdDd082aGVacWFIWjNXalIrMDVhSkRoek1kQ1ZqSndqUWlU?= =?utf-8?B?dS9Pa3RuYkVSTEd4elE2THc1bUdTenRJaWdQbUpkaWpHS0xtN1l2SmdWOTIv?= =?utf-8?B?am44WVNBcll2d21ydHpsZnBPTlo5RmJsSFdORU93R2xlNDZSOUFBbjIrOFZC?= =?utf-8?B?QjBwalZLaFZCZGFidEptOEVoN1RiLzRPREFNTk44NTh2K0RtaUhxdzd6L05x?= =?utf-8?B?aTVkbGJtL0JzNWFaSk9uWmhKTlA5SlRMRnFyRWNVbkVMUzZjbjVlVVNJOHRh?= =?utf-8?B?V3N3blhuSll6em9JaE9hWGF1WnFCMVJjMlBzcnFkTUtzcWVNVVlVcFhVenNo?= =?utf-8?B?bEFGbldOakc3Yk9GdTB0Q3ZGM09UOEpDVGw5WFV0dUFTNlByWDNqMitEeGdC?= =?utf-8?B?TUtQcThQcmRBOW9WRjFwNFEwQnVKNURmUURFanpxWU5meGtPK0pPQTFSZEpG?= =?utf-8?B?M0JaRXpNMjJqTTB2MXdEcEFpQTZiRWY4WGJXazlsTGZ4ek80MGFUdm5NeUFH?= =?utf-8?B?YzhKektYYzRoYm1ld3BWaVkyOWZyNGN0T2dwdDJVQkt0RkhjRVNVYlBPalU4?= =?utf-8?B?dSt1Q29PMjkvUGs2bXZiTUt1QjZHUWRveVh0RlhBVmdYOVhMQ0lieWNYekNT?= =?utf-8?B?L3h4enBZQ0ZTckovb1FkblJUK25OOUx6UmJSVzZYY08vRkpyY3M2NlJkZVF4?= =?utf-8?B?ZEIrcjN1NlVXZW1NRXFWSU5LTHBWRkkzNkhCWHdrYkVYM0t2ZzdDdmJQZkI4?= =?utf-8?B?TnMwdFhBdUhVTFZpdXJiKzJSbkpIV0FhUWhKTm1SMTkyZGNqMlZqa0ZNTm1U?= =?utf-8?B?eDhNSWhrM1U3aTJzN1gwRkljQU14c1hIRUxFVjFYVXdyZ2JYYmRoa0J6WCs2?= =?utf-8?B?VmR6N2FJclMxV1hrVkFZb2hSaTFETW9aUXFZbmZ5dGNnL2EyOUl1RU9WUGVx?= =?utf-8?B?ZVlGdk5pZEZLNDRoUEQrY3h3WElLUkZteHMzRUtvb0swQ1RSc0gyemV1ZzR3?= =?utf-8?B?cE9sWTA1YjFvb0hkU216N01CSVlTS3lGQy9tejJYQi9aWU5KM2pteFpTdzQz?= =?utf-8?B?YjdTeGJOUEp4TG5TQ3RYMk9UbWZvTnR3ZnJwVndRRkhBVFB6OGtiK1ZnRCtk?= =?utf-8?B?VFE2ZHVqTktHalRHVlZaSW9QYmZ5aHBPa1l5TzhJMExndDdrMXlPZlNsSFlz?= =?utf-8?B?WDZFM2pEcmFWRVFwb2wwUT09?= 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)(1800799015)(366007)(376005)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?b0MxZEdZZXZ6WEhUQ2VrZHFoMWluN28wNEg5UkFoaE9Yb1RRcURVeWpPK0dR?= =?utf-8?B?Slc5clFJVWx1aHN0d3pvVmp3bnVOUE9VcXFxY1d4a0hya2xUbUd5T2FhTno1?= =?utf-8?B?SjRaRVBmdnN3aVFTRFluYkVOK2xJdTJtNmlXbm1JaGRleDkzZjRnaXRIZHlL?= =?utf-8?B?RlJyREJvZnJNYUVGSkRLSTI1YjBMVVZlb3Z5UUt6aysxRDVramJGM01XTVZa?= =?utf-8?B?NTByWGJTdzJMV0pUVUZoZHp2UklCMUxIMG9GWHhpY3pvMUdQaE1UVnU0L2lE?= =?utf-8?B?MUwzNUQvdEdWdFZNN3E3ZUpoQXYxYmVWQjV2RDRZUFlabzloUno1R2hUNlRt?= =?utf-8?B?cDl0TEwwRFFaSXd1L2hPRm1HQmpsc1NoRnZVT1Z3d0ZhVzNoampJR1dMUS9T?= =?utf-8?B?VWxoNVVFK0p4UzNFbW9vSFN1QWdkRExvR2dMMVI2bkJiKzdlS2RiczJRcmJ6?= =?utf-8?B?MDlhZGR1NytrQWtBZFRLRCtqTmJINzVOZVRjVFlUellmazN3MXkrSjBGdFZ0?= =?utf-8?B?MWZEYXpnYUw2MG5FaVdYeGJmVVZOTmRhUEl3MnFQRGszYkMxYSsxV3p1S0JB?= =?utf-8?B?aWROZTJCK2Y1R3BtNE1rdFFnSmxWTWRqazRNZGxISXowMXY4VExuRkFJZ2c2?= =?utf-8?B?TVl3ZGtzWTZXekpuY1BPL0tQTnZvUVFsUExmVE9oS0hUQmplMzgvUytFUFpC?= =?utf-8?B?N1FWT08ydlBzOEhCb1Y3QzAxdFhZcUFGdEJLMWVUbE1QVmcyTVFmTmR4dlor?= =?utf-8?B?YVp0L1Zrd0d4Mm44YTlVVUxsWmZFRjZtc2JhVXFHc1ZCVGpFdk9wZ3kvdGNC?= =?utf-8?B?MlE3RHJrQnAxaFA5aU0wc0ZMaTRKS29WTG5CVmNyWjFPNVp4Ym9xenVSekxz?= =?utf-8?B?WDJVUGsyaS82TUN5SENZWVBhTDFQdUhPdHh1b3dYOGFweDZHbnFFeUxQanhm?= =?utf-8?B?SmE3S3JuOFI5ekwzdG9KWERWU01xdE9KVFFyeFJpUDVpWjFKRFBFYzJtd1Zy?= =?utf-8?B?RWd1MW4vYytaRWZhODNRdmFQa0RqTkxMZ0VRVHJUSUhNYi9hcmpobHc5b1FE?= =?utf-8?B?UW9EMTNPL1pBUWl0c21uYUl4bUdYaUcwaWJqczRxakJ0WWRtYTBZTUF0dkpv?= =?utf-8?B?cVgxUkVUcHFoQVlwa1JQRTltUmJwKytBMjNFNUxpL0NYVFJ0NVR6UGExSmZz?= =?utf-8?B?Nit6SmdNbkszejVsY2UwMUI1d1M1bVZxZng4bGNIaW9YRE53eEdSeWt5MEc1?= =?utf-8?B?SzVBemdNemltamtSQ1RnVWxJalBqTFJlaVI1RWFqMi95TUZlcG16VXYza0xh?= =?utf-8?B?ZHU0N1VvWnhoYkJBQnpiMWYzcFliZFphUHFnTTMyaEFYMlg1QlNGM2VSUjRl?= =?utf-8?B?VVB0VUJ6Tnc0V2hDd1JIMlN4V1QwSHo0c3NObnA2cEVlV1Y4UmZqSEx4TjVN?= =?utf-8?B?d2E1UkNVTlJkQXpvU0dIK1pFSWlYUFQ4aGNRQWhEQ1UyYWRLTE1WalBrSXNN?= =?utf-8?B?RFhpR1grTG9OVFZwNFlMYTQ0c3R4RXhCNFFPSEJYOG5JYnlhSEttWmRQSTZM?= =?utf-8?B?N29haGxFN2pIVVMvYTRaUnJUU01vd21seVN1K0F2RnhCeWgxd28zNDFjdXhX?= =?utf-8?B?ZCt1ZW93OHpQb1RVSUdoRHhuQjcxN2FQc3pvME5EYWNpcDR6dFdlcWtGc2dG?= =?utf-8?B?dlo5d2xhVlpRcjE4OU9KVSttNUdld3dvQlJEa3RzOEt1RmVDd1NVaVJSZHdG?= =?utf-8?B?YVd2dC9SRmVkc0NOSFkydUZHdEIwUkFKNFRCaytSN2lMSHlRN2liblA2aENx?= =?utf-8?B?dHRoNTMyZXlZVTlRUHRMazUzRWNONThmaTlqbUh5Rkk4YlRndGREZzVYZWI5?= =?utf-8?B?ODlRYUVsMWVqeWJDK2RVdm1OSVliM3VPUHJkbG8rZVJlc3VxVTdJNmxvTDZm?= =?utf-8?B?QlpZY1lSb1EzdVhRbUJvZ2piTzdCK3VDdjF0dkhpWlJiOEQwSitxOE1TdTVY?= =?utf-8?B?YTVidmdtUGRiMVc2TG52SWd4ZWxEUlZVdDZQdmZKa3BaKzZlK3hUMkpTVFZ0?= =?utf-8?B?amZqZ3ZNNVJwWEMzK3FVbHRlb3RsUXNUb29RWmhTMWhhRlRMRml1cG1CM29z?= =?utf-8?Q?BWxQ=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: f8b8272f-28b4-434d-692a-08dc7b20abf2 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 May 2024 12:05:43.3181 (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: +OLAPdw4qIDkH5k9Ksc2mDhFR6UfTbqMoY6/1pSNypx/iNfLFiCCqcs+LN2KDu9V4AcMf+NyzC20cJO+XGnCsQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB7418 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,SPF_HELO_NONE,SPF_NONE,TXREP 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: PiB0aGUgYWJvdmUgdGhyZWUgbGluZXMgYXJlIHJlZHVuZGFudC4NCj4gT0sgd2l0aCB0aG9zZSBy ZW1vdmVkLg0KDQpHb3QgaXQsIHdpbGwgY29tbWl0IGl0IGFmdGVyIG5vIHN1cnByaXNlIGluIHRl c3QgZm9yIHJlbW92YWwuDQoNClBhbg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJv bTogUmljaGFyZCBCaWVuZXIgPHJpY2hhcmQuZ3VlbnRoZXJAZ21haWwuY29tPiANClNlbnQ6IFRo dXJzZGF5LCBNYXkgMjMsIDIwMjQgNzo0OSBQTQ0KVG86IExpLCBQYW4yIDxwYW4yLmxpQGludGVs LmNvbT4NCkNjOiBnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZzsganV6aGUuemhvbmdAcml2YWkuYWk7 IGtpdG8uY2hlbmdAZ21haWwuY29tOyB0YW1hci5jaHJpc3RpbmFAYXJtLmNvbTsgcGluc2tpYUBn bWFpbC5jb20NClN1YmplY3Q6IFJlOiBbUEFUQ0ggdjRdIE1hdGNoOiBBZGQgb3ZlcmxvYWRlZCB0 eXBlc19tYXRjaCB0byBhdm9pZCBjb2RlIGR1cCBbTkZDXQ0KDQpPbiBUaHUsIE1heSAyMywgMjAy NCBhdCAyOjI04oCvQU0gPHBhbjIubGlAaW50ZWwuY29tPiB3cm90ZToNCj4NCj4gRnJvbTogUGFu IExpIDxwYW4yLmxpQGludGVsLmNvbT4NCj4NCj4gVGhlcmUgYXJlIHNvcnRzIG9mIG1hdGNoIHBh dHRlcm4gZm9yIFNBVCByZWxhdGVkIGNhc2VzLCAgdGhlcmUgd2lsbCBiZQ0KPiBzb21lIGR1cGxp Y2F0ZWQgY29kZSB0byBjaGVjayB0aGUgZGVzdCwgb3BfMCwgb3BfMSBhcmUgc2FtZSB0cmVlIHR5 cGVzLg0KPiBBa2EgdGVybmFyeSB0cmVlIHR5cGUgbWF0Y2hlcy4gIFRodXMsICBhZGQgb3Zlcmxv YWRlZCB0eXBlc19tYXRjaCBmdW5jDQo+IGRvIHRoaXMgYW5kIGF2b2lkIG1hdGNoIGNvZGUgZHVw bGljYXRpb24uDQo+DQo+IFRoZSBiZWxvdyB0ZXN0IHN1aXRlcyBhcmUgcGFzc2VkIGZvciB0aGlz IHBhdGNoOg0KPiAqIFRoZSBydjY0Z2N2IGZ1bGx5IHJlZ3Jlc3Npb24gdGVzdC4NCj4gKiBUaGUg eDg2IGJvb3RzdHJhcCB0ZXN0Lg0KPiAqIFRoZSB4ODYgcmVncmVzc2lvbiB0ZXN0Lg0KPg0KPiBn Y2MvQ2hhbmdlTG9nOg0KPg0KPiAgICAgICAgICogZ2VuZXJpYy1tYXRjaC1oZWFkLmNjICh0eXBl c19tYXRjaCk6IEFkZCBvdmVybG9hZGVkIHR5cGVzX21hdGNoDQo+ICAgICAgICAgZm9yIDMgdHlw ZXMuDQo+ICAgICAgICAgKiBnaW1wbGUtbWF0Y2gtaGVhZC5jYyAodHlwZXNfbWF0Y2gpOiBEaXR0 by4NCj4gICAgICAgICAqIG1hdGNoLnBkOiBMZXZlcmFnZSBvdmVybG9hZGVkIHR5cGVzX21hdGNo Lg0KPg0KPiBTaWduZWQtb2ZmLWJ5OiBQYW4gTGkgPHBhbjIubGlAaW50ZWwuY29tPg0KPiAtLS0N Cj4gIGdjYy9nZW5lcmljLW1hdGNoLWhlYWQuY2MgfCAxNCArKysrKysrKysrKysrKw0KPiAgZ2Nj L2dpbXBsZS1tYXRjaC1oZWFkLmNjICB8IDE0ICsrKysrKysrKysrKysrDQo+ICBnY2MvbWF0Y2gu cGQgICAgICAgICAgICAgIHwgMzAgKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICAz IGZpbGVzIGNoYW5nZWQsIDM4IGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQ0KPg0KPiBk aWZmIC0tZ2l0IGEvZ2NjL2dlbmVyaWMtbWF0Y2gtaGVhZC5jYyBiL2djYy9nZW5lcmljLW1hdGNo LWhlYWQuY2MNCj4gaW5kZXggMGQzZjY0OGZlOGQuLjhkOGVjZmFlYjFkIDEwMDY0NA0KPiAtLS0g YS9nY2MvZ2VuZXJpYy1tYXRjaC1oZWFkLmNjDQo+ICsrKyBiL2djYy9nZW5lcmljLW1hdGNoLWhl YWQuY2MNCj4gQEAgLTU5LDYgKzU5LDIwIEBAIHR5cGVzX21hdGNoICh0cmVlIHQxLCB0cmVlIHQy KQ0KPiAgICByZXR1cm4gVFlQRV9NQUlOX1ZBUklBTlQgKHQxKSA9PSBUWVBFX01BSU5fVkFSSUFO VCAodDIpOw0KPiAgfQ0KPg0KPiArLyogUm91dGluZSB0byBkZXRlcm1pbmUgaWYgdGhlIHR5cGVz IFQxLCBUMiBhbmQgVDMgYXJlIGVmZmVjdGl2ZWx5DQo+ICsgICB0aGUgc2FtZSBmb3IgR0VORVJJ Qy4gIElmIFQxLCBUMiBvciBUMiBpcyBub3QgYSB0eXBlLCB0aGUgdGVzdA0KPiArICAgYXBwbGll cyB0byB0aGVpciBUUkVFX1RZUEUuICAqLw0KPiArDQo+ICtzdGF0aWMgaW5saW5lIGJvb2wNCj4g K3R5cGVzX21hdGNoICh0cmVlIHQxLCB0cmVlIHQyLCB0cmVlIHQzKQ0KPiArew0KPiArICB0MSA9 IFRZUEVfUCAodDEpID8gdDEgOiBUUkVFX1RZUEUgKHQxKTsNCj4gKyAgdDIgPSBUWVBFX1AgKHQy KSA/IHQyIDogVFJFRV9UWVBFICh0Mik7DQo+ICsgIHQzID0gVFlQRV9QICh0MykgPyB0MyA6IFRS RUVfVFlQRSAodDMpOw0KDQp0aGUgYWJvdmUgdGhyZWUgbGluZXMgYXJlIHJlZHVuZGFudC4NCg0K PiArICByZXR1cm4gdHlwZXNfbWF0Y2ggKHQxLCB0MikgJiYgdHlwZXNfbWF0Y2ggKHQyLCB0Myk7 DQo+ICt9DQo+ICsNCj4gIC8qIFJldHVybiBpZiBUIGhhcyBhIHNpbmdsZSB1c2UuICBGb3IgR0VO RVJJQywgd2UgYXNzdW1lIHRoaXMgaXMNCj4gICAgIGFsd2F5cyB0cnVlLiAgKi8NCj4NCj4gZGlm ZiAtLWdpdCBhL2djYy9naW1wbGUtbWF0Y2gtaGVhZC5jYyBiL2djYy9naW1wbGUtbWF0Y2gtaGVh ZC5jYw0KPiBpbmRleCA1ZjhhMWExYWQ4ZS4uMmI3Zjc0NmFiMTMgMTAwNjQ0DQo+IC0tLSBhL2dj Yy9naW1wbGUtbWF0Y2gtaGVhZC5jYw0KPiArKysgYi9nY2MvZ2ltcGxlLW1hdGNoLWhlYWQuY2MN Cj4gQEAgLTc5LDYgKzc5LDIwIEBAIHR5cGVzX21hdGNoICh0cmVlIHQxLCB0cmVlIHQyKQ0KPiAg ICByZXR1cm4gdHlwZXNfY29tcGF0aWJsZV9wICh0MSwgdDIpOw0KPiAgfQ0KPg0KPiArLyogUm91 dGluZSB0byBkZXRlcm1pbmUgaWYgdGhlIHR5cGVzIFQxLCBUMiBhbmQgVDMgYXJlIGVmZmVjdGl2 ZWx5DQo+ICsgICB0aGUgc2FtZSBmb3IgR0lNUExFLiAgSWYgVDEsIFQyIG9yIFQyIGlzIG5vdCBh IHR5cGUsIHRoZSB0ZXN0DQo+ICsgICBhcHBsaWVzIHRvIHRoZWlyIFRSRUVfVFlQRS4gICovDQo+ ICsNCj4gK3N0YXRpYyBpbmxpbmUgYm9vbA0KPiArdHlwZXNfbWF0Y2ggKHRyZWUgdDEsIHRyZWUg dDIsIHRyZWUgdDMpDQo+ICt7DQo+ICsgIHQxID0gVFlQRV9QICh0MSkgPyB0MSA6IFRSRUVfVFlQ RSAodDEpOw0KPiArICB0MiA9IFRZUEVfUCAodDIpID8gdDIgOiBUUkVFX1RZUEUgKHQyKTsNCj4g KyAgdDMgPSBUWVBFX1AgKHQzKSA/IHQzIDogVFJFRV9UWVBFICh0Myk7DQoNCmxpa2V3aXNlLg0K DQpPSyB3aXRoIHRob3NlIHJlbW92ZWQuDQoNClJpY2hhcmQuDQoNCj4gKyAgcmV0dXJuIHR5cGVz X21hdGNoICh0MSwgdDIpICYmIHR5cGVzX21hdGNoICh0MiwgdDMpOw0KPiArfQ0KPiArDQo+ICAv KiBSZXR1cm4gaWYgVCBoYXMgYSBzaW5nbGUgdXNlLiAgRm9yIEdJTVBMRSwgd2UgYWxzbyBhbGxv dyBhbnkNCj4gICAgIG5vbi1TU0FfTkFNRSAoaWUgY29uc3RhbnRzKSBhbmQgemVybyB1c2VzIHRv IGNvcGUgd2l0aCB1c2VzDQo+ICAgICB0aGF0IGFyZW4ndCBsaW5rZWQgdXAgeWV0LiAgKi8NCj4g ZGlmZiAtLWdpdCBhL2djYy9tYXRjaC5wZCBiL2djYy9tYXRjaC5wZA0KPiBpbmRleCAzNWUzZDgy YjEzMS4uNzA4MWQ3NmQ1NmEgMTAwNjQ0DQo+IC0tLSBhL2djYy9tYXRjaC5wZA0KPiArKysgYi9n Y2MvbWF0Y2gucGQNCj4gQEAgLTMwNDgsMzggKzMwNDgsMjggQEAgREVGSU5FX0lOVF9BTkRfRkxP QVRfUk9VTkRfRk4gKFJJTlQpDQo+ICAvKiBVbnNpZ25lZCBTYXR1cmF0aW9uIEFkZCAqLw0KPiAg KG1hdGNoICh1c2FkZF9sZWZ0X3BhcnRfMSBAMCBAMSkNCj4gICAocGx1czpjIEAwIEAxKQ0KPiAt IChpZiAoSU5URUdSQUxfVFlQRV9QICh0eXBlKQ0KPiAtICAgICAgJiYgVFlQRV9VTlNJR05FRCAo VFJFRV9UWVBFIChAMCkpDQo+IC0gICAgICAmJiB0eXBlc19tYXRjaCAodHlwZSwgVFJFRV9UWVBF IChAMCkpDQo+IC0gICAgICAmJiB0eXBlc19tYXRjaCAodHlwZSwgVFJFRV9UWVBFIChAMSkpKSkp DQo+ICsgKGlmIChJTlRFR1JBTF9UWVBFX1AgKHR5cGUpICYmIFRZUEVfVU5TSUdORUQgKHR5cGUp DQo+ICsgICAgICAmJiB0eXBlc19tYXRjaCAodHlwZSwgQDAsIEAxKSkpKQ0KPg0KPiAgKG1hdGNo ICh1c2FkZF9sZWZ0X3BhcnRfMiBAMCBAMSkNCj4gICAocmVhbHBhcnQgKElGTl9BRERfT1ZFUkZM T1c6YyBAMCBAMSkpDQo+IC0gKGlmIChJTlRFR1JBTF9UWVBFX1AgKHR5cGUpDQo+IC0gICAgICAm JiBUWVBFX1VOU0lHTkVEIChUUkVFX1RZUEUgKEAwKSkNCj4gLSAgICAgICYmIHR5cGVzX21hdGNo ICh0eXBlLCBUUkVFX1RZUEUgKEAwKSkNCj4gLSAgICAgICYmIHR5cGVzX21hdGNoICh0eXBlLCBU UkVFX1RZUEUgKEAxKSkpKSkNCj4gKyAoaWYgKElOVEVHUkFMX1RZUEVfUCAodHlwZSkgJiYgVFlQ RV9VTlNJR05FRCAodHlwZSkNCj4gKyAgICAgICYmIHR5cGVzX21hdGNoICh0eXBlLCBAMCwgQDEp KSkpDQo+DQo+ICAobWF0Y2ggKHVzYWRkX3JpZ2h0X3BhcnRfMSBAMCBAMSkNCj4gICAobmVnYXRl IChjb252ZXJ0IChsdCAocGx1czpjIEAwIEAxKSBAMCkpKQ0KPiAtIChpZiAoSU5URUdSQUxfVFlQ RV9QICh0eXBlKQ0KPiAtICAgICAgJiYgVFlQRV9VTlNJR05FRCAoVFJFRV9UWVBFIChAMCkpDQo+ IC0gICAgICAmJiB0eXBlc19tYXRjaCAodHlwZSwgVFJFRV9UWVBFIChAMCkpDQo+IC0gICAgICAm JiB0eXBlc19tYXRjaCAodHlwZSwgVFJFRV9UWVBFIChAMSkpKSkpDQo+ICsgKGlmIChJTlRFR1JB TF9UWVBFX1AgKHR5cGUpICYmIFRZUEVfVU5TSUdORUQgKHR5cGUpDQo+ICsgICAgICAmJiB0eXBl c19tYXRjaCAodHlwZSwgQDAsIEAxKSkpKQ0KPg0KPiAgKG1hdGNoICh1c2FkZF9yaWdodF9wYXJ0 XzEgQDAgQDEpDQo+ICAgKG5lZ2F0ZSAoY29udmVydCAoZ3QgQDAgKHBsdXM6YyBAMCBAMSkpKSkN Cj4gLSAoaWYgKElOVEVHUkFMX1RZUEVfUCAodHlwZSkNCj4gLSAgICAgICYmIFRZUEVfVU5TSUdO RUQgKFRSRUVfVFlQRSAoQDApKQ0KPiAtICAgICAgJiYgdHlwZXNfbWF0Y2ggKHR5cGUsIFRSRUVf VFlQRSAoQDApKQ0KPiAtICAgICAgJiYgdHlwZXNfbWF0Y2ggKHR5cGUsIFRSRUVfVFlQRSAoQDEp KSkpKQ0KPiArIChpZiAoSU5URUdSQUxfVFlQRV9QICh0eXBlKSAmJiBUWVBFX1VOU0lHTkVEICh0 eXBlKQ0KPiArICAgICAgJiYgdHlwZXNfbWF0Y2ggKHR5cGUsIEAwLCBAMSkpKSkNCj4NCj4gICht YXRjaCAodXNhZGRfcmlnaHRfcGFydF8yIEAwIEAxKQ0KPiAgIChuZWdhdGUgKGNvbnZlcnQgKG5l IChpbWFncGFydCAoSUZOX0FERF9PVkVSRkxPVzpjIEAwIEAxKSkgaW50ZWdlcl96ZXJvcCkpKQ0K PiAtIChpZiAoSU5URUdSQUxfVFlQRV9QICh0eXBlKQ0KPiAtICAgICAgJiYgVFlQRV9VTlNJR05F RCAoVFJFRV9UWVBFIChAMCkpDQo+IC0gICAgICAmJiB0eXBlc19tYXRjaCAodHlwZSwgVFJFRV9U WVBFIChAMCkpDQo+IC0gICAgICAmJiB0eXBlc19tYXRjaCAodHlwZSwgVFJFRV9UWVBFIChAMSkp KSkpDQo+ICsgKGlmIChJTlRFR1JBTF9UWVBFX1AgKHR5cGUpICYmIFRZUEVfVU5TSUdORUQgKHR5 cGUpDQo+ICsgICAgICAmJiB0eXBlc19tYXRjaCAodHlwZSwgQDAsIEAxKSkpKQ0KPg0KPiAgLyog V2UgY2Fubm90IG1lcmdlIG9yIG92ZXJsb2FkIHVzYWRkX2xlZnRfcGFydF8xIGFuZCB1c2FkZF9s ZWZ0X3BhcnRfMg0KPiAgICAgYmVjYXVzZSB0aGUgc3ViIHBhcnQgb2YgbGVmdF9wYXJ0XzIgY2Fu bm90IHdvcmsgd2l0aCByaWdodF9wYXJ0XzEuDQo+IC0tDQo+IDIuMzQuMQ0KPg0K