From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by sourceware.org (Postfix) with ESMTPS id 954173858C54 for ; Thu, 11 May 2023 15:20:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 954173858C54 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1683818446; x=1715354446; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=i3KWIayVTjj4A2QeULDsHL+KRwej4tg5qjGl/WOrHYY=; b=BQySRH2ZqHNFKG7mv7y7bY4Si1H/FoxEnHOgY8PDp8BhemjrUGyfgx5P CLs/Im80P0FEuxkD0OjIkMrV8pYmEhjLdNmQXmMm84shwhcqONWzik1od GbUkPriQlHaHkqixO0kvfuYX9M3dAw2kZhuMtfvalV6FTB4lH1kcP0wbr hXsd+5QZjbO+i/C3sgCQCT1qtdRFi2MIkChaP9Eysx/cPoPyuBP4O2wK/ 9GL41b1jgWamJ2ETLA6BdUHQdz3PUO+YUd/qItKQj4DH6Yey6leHVJ7st XAGODq25HVsOHcNF6aa4GvY5SHBWWMXSzT8lgm9WOpY2UbEKnkbIobvOf Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10707"; a="352759976" X-IronPort-AV: E=Sophos;i="5.99,266,1677571200"; d="scan'208";a="352759976" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 May 2023 08:18:38 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10707"; a="1029677256" X-IronPort-AV: E=Sophos;i="5.99,266,1677571200"; d="scan'208";a="1029677256" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga005.fm.intel.com with ESMTP; 11 May 2023 08:18:38 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) 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.23; Thu, 11 May 2023 08:18:37 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Thu, 11 May 2023 08:18:37 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Thu, 11 May 2023 08:18:37 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.106) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Thu, 11 May 2023 08:18:37 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KCJpTBvoJfpD7Iyke1j8IBMe+d3obcd2Z+1JnHm6A0JsIIOQUK7HYmmxpi2SVtuYO+y0YnKjqK30o2T1LvMq4VsaAZHZz3QcGaw81T37/08qzbvUMAVOEYCiZ8WkKJSsLNE5PHzDUtbJdkRTPzkEQyDFu0pOoll35lNVeYPv4q7ucxtJqEz3ArMs9qi72WH+s0TjuB526qiavlKhfIym/Gud7GAPaJmMR/OnNccERMbfwhzl7GQ997O18ZPyfh3eOqA7iGeI1mlPZX2uds6M/p59yhROTNYGIoBtuQXIx+yKu0S+asaWjQy4zkuwp9uR2VqSXxNGrYLRqclhVzlFrg== 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=i3KWIayVTjj4A2QeULDsHL+KRwej4tg5qjGl/WOrHYY=; b=UR6nL8IB6kNjQDcxowx0f/pKzKJuzMvp9XAJNDC/v2z80VO+7D/fDyflr1QWD3+fYiWLCyXBOwGToQWBwUZQW7U4l19CPJ5pvJH8QnHGmbeok6hmq99n0Mlh8wbGM0Z6lEr/7hqBxfWBqNeCoONNXqlJDn0gtoQ3DznbwOZzPth4dStxjaeVVqOvKPGFD13I6lPCkfHVE7cuOCXeSym67s+SK4l7ubB4rBsnkxVDyvs+Lu3X9AOYFW8eOy1B4WFPbtFvzLE962bFOkwrRuguCzE2HVSUjxD+USjo7Zt4ViZ06zA1bnCjmlXIGvJN/VU3sbi9GZhzjJbyn4ygLk/76g== 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 PH7PR11MB7500.namprd11.prod.outlook.com (2603:10b6:510:275::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.32; Thu, 11 May 2023 15:18:35 +0000 Received: from SJ0PR11MB5600.namprd11.prod.outlook.com ([fe80::fa7f:e19b:bdfc:4af]) by SJ0PR11MB5600.namprd11.prod.outlook.com ([fe80::fa7f:e19b:bdfc:4af%6]) with mapi id 15.20.6387.018; Thu, 11 May 2023 15:18:34 +0000 From: "Cui, Lili" To: Richard Biener CC: "gcc-patches@gcc.gnu.org" Subject: RE: [PATCH 1/2] PR gcc/98350:Add a param to control the length of the chain with FMA in reassoc pass Thread-Topic: [PATCH 1/2] PR gcc/98350:Add a param to control the length of the chain with FMA in reassoc pass Thread-Index: AQHZg/ENnGcVnxkvok+9+00f1Wp7+69U5YiAgAAhi5A= Date: Thu, 11 May 2023 15:18:34 +0000 Message-ID: References: <20230511101201.2052667-1-lili.cui@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: SJ0PR11MB5600:EE_|PH7PR11MB7500:EE_ x-ms-office365-filtering-correlation-id: 4b7ee5e3-741d-41ca-2c32-08db5232fcfb x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 1hg3zs7aZTmJ0GP+CsxhObf/QISaV/FzMPlqyiDqDIlpAsi301FLWGkvx/NK39tzOzZZU9WsOHix52AvimQhbbBIRyCmN1D6jqv0MyUxZmoIrbh8AEOfjTkX1xP7IQlJHwy3gTE+3XI+UWXrPHOJl9PKSubwScMT+8PfQIysyuYX+ifq2lq3akpBzd0i7gcDABqKwLZAiRkr+9AMJ0SUnkaREcDvJjKwTqzhMWXAGeOlCCnydELD+q37pc6luQnH2jeKCPprCdqy7h42zyrqiy3b/VO/6EbYMDmoolVCQYm5QxDw18s/PlnAscQR6C3J+wzqpRyySk4GES/nKqzYfINfAVxy6GWo9hDkKDYNA1slda44KWhwVF8CQkWS0AnV2Ta63fvBwPt0kQjrn6QlVF7gYetaB3PNIrTAYLgk9PIxO75Ja3Ts4I1YzL531AO+lMnzH3ZOjQGH444A5zNPdKC2+aSsF5AFigCxxCPd1MUMWJsQ7Vmm68ML11gWjG3ZDA80uHdcpQudk883lm0UjFps3bebFXx8yV5UbbNkhPajxC/s/EmaRDcsXrtJ5kwInILq/XhC0RPglHPJ1YDgAHKpsXUxz/Klyd+csvUmrwZN0IHYxi82Oj0tzXq9jEdsnN1PwmIXklcGby61ynmxJA== 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:(13230028)(366004)(136003)(396003)(39860400002)(346002)(376002)(451199021)(966005)(33656002)(4326008)(66946007)(316002)(76116006)(478600001)(6916009)(66556008)(66446008)(86362001)(7696005)(66476007)(53546011)(64756008)(83380400001)(6506007)(9686003)(26005)(2906002)(41300700001)(5660300002)(55016003)(38100700002)(122000001)(8676002)(38070700005)(71200400001)(8936002)(52536014)(82960400001)(186003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WjRJb1NSdWY5U3hYN2E2RUZxdXdrMDJOcWhkVUNPQUZzZk9acmQ3SDhJSVlr?= =?utf-8?B?c3ZxMWczTVJ0ZmdIZXozaWlVYzhwU3VUV05qSWs2QTExMkFVTG12QWJvTWd3?= =?utf-8?B?Wml2OFppY1FjK3VBMExHYW1Dd0pUL0hCM2tES3NTaXdCRTZQRkNxbDdIbE9L?= =?utf-8?B?QjdrVzFSQ05LaDVDM2xsY05ObnVGSjVQNGdSMVp6OTU2bG5XeTBOM0RvcC9B?= =?utf-8?B?NThQQW80aUlHZ1Q4bUc0ZnZwT0dheUdjeXRYZXJCZW5iWllqZ2liK25jWlhj?= =?utf-8?B?dElRdThYMkMrNDVnaytxNFIxZHNteXVvUERnaVVhKzVnSC9qL1Arekd1K2hM?= =?utf-8?B?SHNXS2ZSQlBHb0UrYUhpWEdwaEJJcFVGTEp3ZFB4VmsxRk80ejIzQTZXMHFl?= =?utf-8?B?S0pheEZ2dHhtNUhZZWRGNG1BMFlTeGo1TmRyWTR2RVlyK0tpcU1uQktXSExR?= =?utf-8?B?TUYvdXVZaGk3QjhYd0tzWUlpSERtZXo5NU83ZllRQ1JiVXR0L0QwRGhWUmRi?= =?utf-8?B?cExLa1B6c254eEVncTJIYzhOcnFxMGI3bkRCbTVSQnMxdlBxbS9IQUp0d2Q3?= =?utf-8?B?YndsVDA1UEV3ZHVQNXJHSHlVRGZuL0tPY2JsYnNHalUyL2xGblpiSXlaMWFR?= =?utf-8?B?dDk4cG5mRDRtR3lGaXo3QUd3aWwxSnc4ZTFYNWJGZlppNWlFUkJJOWkvWnhr?= =?utf-8?B?eWk1MmxieWovSVNJWWgrZFE5SHJqbjVYaEhkd2tCb3BOTlhNNTJOdmxuMzZq?= =?utf-8?B?am1TZ1NUamtVQVZNcXI4dVM1NFpmdzQwaUFieThJWHRDTys1LzUrVUhTcVpt?= =?utf-8?B?M0FMTWpZZFVBS1VGbHdHQXJkc2x1OEN5dEFyWSs4VkZOeFB5Qmh5bGp2cVJM?= =?utf-8?B?ZDdHTXF0L01XWEpuL3RscW83UTQyQWFWbEd5djVDNStaN1E1U084dW56b3M4?= =?utf-8?B?ekRoVlpDR2JZR3RTYWJJY2RNUTU3Q1ZaSjJjbmFTZ2ZrZWdtR2UrTkxTQTl3?= =?utf-8?B?YmlveHhqNmlKeGdmNlduakRvV3lua1BZeEFIMVRVTDhYVUtncVJjanF4WmdS?= =?utf-8?B?c3NRdU9VVng5SW45ME1iYUNIZ256MjVvbnFoOFMzWmhETHBKSVpDZnNVSFdl?= =?utf-8?B?ZEZ6bVh6ZzdzaEpmc0V4Z044K0crb1NkU21zOVBkMHZtOW16TTRaVUM4UG15?= =?utf-8?B?TDM5NW9XeVh5cTBPSE1FT0JoZ1l3YXlXWENIRjlnQnlkSmFlMlAvVkhLcnRx?= =?utf-8?B?UFlJV0RiN0t5K0MrcFArOTJScU85R3NsemZvRFJwd3YvdDZUcFJvYjhvaDV3?= =?utf-8?B?VGEyTzFETHFjRWJvRmVOSlFpb3pBSTBORm0wYk8yM1lTejVyOGJJYlROaVJP?= =?utf-8?B?d0VRaFpkNmNOQ0VYbG96ZTA5ZGJEak81dDd2U3VIcVRsbFZwMVhMWTRVVmNJ?= =?utf-8?B?MU5MVllUeldUOHV5cXVIa0tha1hiM243QVNqb3dxdjZtenRTMGROU1F5OVBh?= =?utf-8?B?K3pEOTA1dUs1bTZFK3ZmSWJ2QlRSaDlwVitBdnM5MFR3RTk3VnlwbEh2dCtC?= =?utf-8?B?OU45a2RKbVVwNy93aDBJamF4K042OHdSU3cwOTJqR3NraDFFWElCQUx3ODN2?= =?utf-8?B?cXRkd25weXJndzZlQStGYmJNSlgrTmt6NWdWTXc2VXAzMUtCMlJzN3gySCt6?= =?utf-8?B?bEV4eTBNaWptNlNIRVQ0YjdFSVZ6SGg2TWVlUHlWUUdOM0kxMXI0djZxTDJO?= =?utf-8?B?L0xWSEkrNHZsMWg5WWN0SmxSZG1YdHpJZEZ5amVna3pmZEFQQXJad1c0MlMy?= =?utf-8?B?d05BaTlna2N2M2VlNFZSSTFrQ0hRNHNEd2VuMmpGays5ejd3NFBmSHVsc212?= =?utf-8?B?SDd6OFpIYlg4aUFnSnpmT0xhSHVDQXJyVy81ZjEwTWgzREhHTDExaDBMbUpz?= =?utf-8?B?SzIwMFRKNTBkT3d1YVFRelgxVWtmV0xIYm95azdZeXVyRWJoSW04MGxzTzVZ?= =?utf-8?B?K1BDTFFMUzR3SFhJN2FydmIyUEw1THNhamhLaVVJVmdrM0toWW1mb0tVZHcx?= =?utf-8?B?RmsrYWtYR09HMmpVVTc5bDJYY2RjOXdwNk1oQW9pczRDcnI1cmlOSXltdXZR?= =?utf-8?Q?Oiic=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: SJ0PR11MB5600.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4b7ee5e3-741d-41ca-2c32-08db5232fcfb X-MS-Exchange-CrossTenant-originalarrivaltime: 11 May 2023 15:18:34.9049 (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: 0+i5+7DJIYf2K2ap2Bv17Ty7bg8iYy4nZoG5Q+2GytFeXvoyA9uRv1PPAyuaayfOD+CixRkQbCEM+DIhKC9xfQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB7500 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-5.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_ASCII_DIVIDERS,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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: PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBSaWNoYXJkIEJpZW5lciA8cmlj aGFyZC5ndWVudGhlckBnbWFpbC5jb20+DQo+IFNlbnQ6IFRodXJzZGF5LCBNYXkgMTEsIDIwMjMg Njo1MyBQTQ0KPiBUbzogQ3VpLCBMaWxpIDxsaWxpLmN1aUBpbnRlbC5jb20+DQo+IENjOiBnY2Mt cGF0Y2hlc0BnY2MuZ251Lm9yZw0KPiBTdWJqZWN0OiBSZTogW1BBVENIIDEvMl0gUFIgZ2NjLzk4 MzUwOkFkZCBhIHBhcmFtIHRvIGNvbnRyb2wgdGhlIGxlbmd0aCBvZg0KPiB0aGUgY2hhaW4gd2l0 aCBGTUEgaW4gcmVhc3NvYyBwYXNzDQoNCkhpIFJpY2hhcmQsDQpUaGFua3MgZm9yIGhlbHBpbmcg dG8gcmV2aWV3IHRoZSBwYXRjaC4NCg0KPiANCj4gQXMgeW91IGFyZSBub3QgY2hhbmdpbmcgdGhl IG51bWJlciBvZiBvcHMgeW91IHNob3VsZCBiZSBhYmxlIHRvIHVzZQ0KPiBxdWlja19wdXNoIGhl cmUgYW5kIGJlbG93LiAgWW91IHNob3VsZCBiZSBhYmxlIHRvIGRvDQo+IA0KPiAgb3BzLT5zcGxp Y2UgKG9wc19tdWx0KTsNCj4gIG9wcy0+c3BsaWNlIChvcHNfb3RoZXJzKTsNCj4gDQo+IGFzIHdl bGwuDQo+IA0KRG9uZS4NCg0KPiA+ICsgICAgICAgICAgICAgICAgIC8qIFdoZW4gZW5hYmxpbmcg cGFyYW1fcmVhc3NvY19tYXhfY2hhaW5fbGVuZ3RoX3dpdGhfZm1hDQo+IHRvDQo+ID4gKyAgICAg ICAgICAgICAgICAgICAga2VlcCB0aGUgY2hhaW4gd2l0aCBmbWEsIHJhbmtfb3BzX2Zvcl9mbWEg d2lsbCBkZXRlY3QgaWYNCj4gPiArICAgICAgICAgICAgICAgICAgICB0aGUgY2hhaW4gaGFzIGZt YXMgYW5kIGlmIHNvIGl0IHdpbGwgcmVhcnJhbmdlIHRoZSBvcHMuICAqLw0KPiA+ICsgICAgICAg ICAgICAgICAgIGlmIChwYXJhbV9yZWFzc29jX21heF9jaGFpbl9sZW5ndGhfd2l0aF9mbWEgPiAx DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICYmIGRpcmVjdF9pbnRlcm5hbF9mbl9zdXBwb3J0 ZWRfcCAoSUZOX0ZNQSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBUUkVFX1RZUEUgKGxocyksDQo+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0X3R5cGUpDQo+ID4g KyAgICAgICAgICAgICAgICAgICAgICYmIChyaHNfY29kZSA9PSBQTFVTX0VYUFIgfHwgcmhzX2Nv ZGUgPT0gTUlOVVNfRVhQUikpDQo+ID4gKyAgICAgICAgICAgICAgICAgICB7DQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgIGtlZXBfZm1hX2NoYWluID0gcmFua19vcHNfZm9yX2ZtYSgmb3BzKTsN Cj4gPiArICAgICAgICAgICAgICAgICAgIH0NCj4gPiArDQo+ID4gKyAgICAgICAgICAgICAgICAg aW50IGxlbiA9IG9wcy5sZW5ndGggKCk7DQo+ID4gICAgICAgICAgICAgICAgICAgLyogT25seSBy ZXdyaXRlIHRoZSBleHByZXNzaW9uIHRyZWUgdG8gcGFyYWxsZWwgaW4gdGhlDQo+ID4gICAgICAg ICAgICAgICAgICAgICAgbGFzdCByZWFzc29jIHBhc3MgdG8gYXZvaWQgdXNlbGVzcyB3b3JrIGJh Y2stYW5kLWZvcnRoDQo+ID4gICAgICAgICAgICAgICAgICAgICAgd2l0aCBpbml0aWFsIGxpbmVh cml6YXRpb24uICAqLw0KPiANCj4gd2UgYXJlIGRvaW5nIHRoZSBwYXJhbGxlbCByZXdyaXRlIG9u bHkgaW4gdGhlIGxhc3QgcmVhc3NvYyBwYXNzLCBpIHRoaW5rIGl0IG1ha2VzDQo+IHNlbnNlIHRv IGRvIHRoZSBzYW1lIGZvciByZWFzc29jLWZvci1mbWEuDQoNCkkgcmVhcnJhbmdlZCB0aGUgb3Jk ZXIgb2Ygb3BzIGluIHJlYXNzb2MxIHdpdGhvdXQgYnJlYWsgdGhlIGNoYWluLCBpdCBnZW5lcmF0 ZWQgbW9yZSB2ZWN0b3JpemUgZHVyaW5nIHZlY3RvciBwYXNzKCBzZWVuIGluIGJlbmNobWFyayA1 MDMpLiBTbyBJIHJld3JpdGUgdGhlIHNzYSB0cmVlIGFuZCBrZWVwIHRoZSBjaGFpbiB3aXRoIGZ1 bmN0aW9uICJyZXdyaXRlX2V4cHJfdHJlZSIgaW4gcmVhc3NvYzEsIGJyZWFrIHRoZSBjaGFpbiB3 aXRoICJyZXdyaXRlX2V4cHJfdHJlZV9wYXJhbGxlbF9mb3JfZm1hIiBpbiByZWFzc29jMi4NCg0K PiANCj4gV2h5IGRvIHRoZSBleGlzdGluZyBleHByIHJld3JpdGVzIG5vdCB3b3JrIGFmdGVyIHJl LXNvcnRpbmcgdGhlIG9wcz8NCg0KRm9yIGNhc2UgaHR0cHM6Ly9nb2Rib2x0Lm9yZy96LzN4OVBX RTlLYjogIHdlIHB1dCAgImoiIGF0IGZpcnN0Lg0KDQpqICsgbCAqIG0gKyBhICogYiArIGMgKiBk ICsgZSAqIGYgKyBnICogaDsNCg0KR0NDIHRydW5rOiB3aWR0aCA9IDIsIG9wc19udW0gPSA2LCBv bGQgZnVuY3Rpb24gIiByZXdyaXRlX2V4cHJfdHJlZV9wYXJhbGxlbCAiIGdlbmVyYXRlcyAzIEZN QXMuDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgXzEgPSBsXzEwKEQpICogbV8x MShEKTsNCiAgXzMgPSBhXzEzKEQpICogYl8xNChEKTsNCiAgXzQgPSBqXzEyKEQpICsgXzM7ICAg IC0tLS0tLS0tPiBIZXJlIGlzIG9uZSBGTUEuDQogIF81ID0gY18xNShEKSAqIGRfMTYoRCk7DQog IF84ID0gXzEgKyBfNTsgICAgICAgICAgICAtLS0tLS0tLT4gSGVyZSBpcyBvbmUgRk1BIGFuZCBs b3N0IG9uZS4NCiAgXzcgPSBlXzE3KEQpICogZl8xOChEKTsNCiAgXzkgPSBnXzE5KEQpICogaF8y MChEKTsNCiAgXzIgPSBfNyArIF85OyAgICAgICAgICAgLS0tLS0tLS0+IEhlcmUgaXMgb25lIEZN QSBhbmQgbG9zdCBvbmUuDQogIF82ID0gXzIgKyBfNDsNCiAgXzIxID0gXzYgKyBfODsNCiAgIyBW VVNFIDwuTUVNXzIyKEQpPg0KICByZXR1cm4gXzIxOw0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCndpZHRoID0gMiwgb3BzX251bSA9IDYsIG5ldyBmdW5jdGlvbiAiIHJld3JpdGVfZXhw cl90cmVlX3BhcmFsbGVsX2Zvcl9mbWEgIiBnZW5lcmF0ZXMgNCBGTUFzLg0KLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQpfMSA9IGFfMTAoRCkgKiBiXzExKEQpOw0KICBfMyA9IGNfMTMoRCkgKiBkXzE0 KEQpOw0KICBfNSA9IGVfMTUoRCkgKiBmXzE2KEQpOw0KICBfNyA9IGdfMTcoRCkgKiBoXzE4KEQp Ow0KICBfNCA9IF81ICsgXzc7ICAgICAgICAgICAtLS0tLS0tLT4gSGVyZSBpcyBvbmUgRk1BIGFu ZCBsb3N0IG9uZS4NCiAgXzggPSBfNCArIF8xOyAgICAgICAgICAgLS0tLS0tLS0+IEhlcmUgaXMg b25lIEZNQS4NCiAgXzkgPSBsXzE5KEQpICogbV8yMChEKTsNCiAgXzIgPSBfOSArIGpfMTIoRCk7 ICAgIC0tLS0tLS0tPiBIZXJlIGlzIG9uZSBGTUEuDQogIF82ID0gXzIgKyBfMzsgICAgICAgICAg ICAtLS0tLS0tLT4gSGVyZSBpcyBvbmUgRk1BLg0KICBfMjEgPSBfOCArIF82OyAgICAgICAgIA0K ICByZXR1cm4gXzIxOw0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCg0KPiANCj4gPiAg ICAgICAgICAgICAgICAgICBpZiAoIXJlYXNzb2NfaW5zZXJ0X3Bvd2lfcA0KPiA+IC0gICAgICAg ICAgICAgICAgICAgICAmJiBvcHMubGVuZ3RoICgpID4gMw0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAmJiBsZW4gPiAzDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICYmICgha2VlcF9mbWFf Y2hhaW4NCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgIHx8IChrZWVwX2ZtYV9jaGFpbg0K PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIGxlbiA+DQo+ID4gKyBwYXJhbV9y ZWFzc29jX21heF9jaGFpbl9sZW5ndGhfd2l0aF9mbWEpKQ0KPiANCj4gaW4gdGhlIGNhc2UgbGVu IDwgcGFyYW1fcmVhc3NvY19tYXhfY2hhaW5fbGVuZ3RoX3dpdGhfZm1hIHdlIGhhdmUgdGhlDQo+ IGNoYWluIHJlLXNvcnRlZCBidXQgZmFsbCB0aHJvdWdoIHRvIG5vbi1wYXJhbGxlbCByZXdyaXRl LiAgSSB3b25kZXIgaWYgd2UgZG8NCj4gbm90IHdhbnQgdG8gaW5zdGVhZCBhZGp1c3QgdGhlIHJl YXNzb2NpYXRpb24gd2lkdGg/ICBJJ2Qgc2F5IGl0IGRlcGVuZHMgb24gdGhlDQo+IG51bWJlciBv ZiBtdWx0IGNhc2VzIGluIHRoZSBjaGFpbiAoc3RoIHRoZSByZS1zb3J0aW5nIGNvdWxkIGhhdmUg Y29tcHV0ZWQpLg0KPiBXaHkgZG8gd2UgaGF2ZSB0d28gY29tcGxldGVseSBpbmRlcGVuZGVudCAt LXBhcmFtcyBoZXJlPyAgQ2FuIHlvdSBnaXZlDQo+IGFuIGV4YW1wbGUgLS1wYXJhbSB2YWx1ZSBj b21iaW5hdGlvbiB0aGF0IG1ha2VzICJzZW5zZSIgYW5kIHNob3cgaG93IGl0DQo+IGlzIGJlbmVm aWNpYWw/DQoNCkZvciB0aGlzIHNtYWxsIGNhc2UgaHR0cHM6Ly9nb2Rib2x0Lm9yZy96L1B4Y3py cmU4UA0KYSAqIGIgKyBjICogZCArIGUgKiBmICArIGoNCg0KR0NDIHRydW5rOiBvcHNfbnVtID0g NCwgdGFyZ2V0bS5zY2hlZC5yZWFzc29jaWF0aW9uX3dpZHRoIGlzIDQgKHNjYWxhciBmcCBjb3N0 IGlzIDQpLiBDYWxjdWxhdGVkOiBXaWR0aCA9IDIuIHdlIGNhbiBnZXQgMiBGTUFzLg0KLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBfMSA9IGFfNihEKSAqIGJfNyhEKTsNCiAg XzIgPSBjXzgoRCkgKiBkXzkoRCk7DQogIF81ID0gXzEgKyBfMjsNCiAgXzQgPSBlXzEwKEQpICog Zl8xMShEKTsNCiAgXzMgPSBfNCArIGpfMTIoRCk7DQogIF8xMyA9IF8zICsgXzU7DQotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBfMiA9 IGNfOChEKSAqIGRfOShEKTsNCiAgXzUgPSAuRk1BIChhXzYoRCksIGJfNyhEKSwgXzIpOw0KICBf MyA9IC5GTUEgKGVfMTAoRCksIGZfMTEoRCksIGpfMTIoRCkpOw0KICBfMTMgPSBfMyArIF81Ow0K LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Ck5ldyBwYXRjaDogSWYganVzdCByZWFycmFuZ2Ugb3BzIGFuZCBmYWxsIHRocm91Z2ggdG8gcGFy YWxsZWwgcmV3cml0ZSB0byBicmVhayB0aGUgY2hhaW4gd2l0aCB3aWR0aCA9IDIuDQoNCi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBf MSA9IGFfNihEKSAqIGJfNyhEKTsNCiAgXzIgPSBqICsgXzE7ICAgICAgICAgIC0tLS0tPiBwdXQg aiBhdCB0aGUgZmlyc3QuDQogIF8zID0gY184KEQpICogZF85KEQpOw0KICBfNCA9IGVfMTAoRCkg KiBmXzExKEQpOw0KICBfNSA9IF8zICsgXzQ7ICAgICAgIC0tLS0tPiBicmVhayBjaGFpbiB3aXRo IHdpZHRoID0gMi4gd2UgbG9zdCBhIEZNQSBoZXJlLg0KICBfMTMgPSBfMiArIDU7DQoNCi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgXzMg PSBjXzgoRCkgKiBkXzkoRCk7DQogIF8yID0gLkZNQSAoYV82KEQpLCBiXzcoRCksIGopOw0KICBf NSA9IC5GTUEgKGVfMTAoRCksIGZfMTEoRCksIF8zKTsNCiAgXzEzID0gXzIgKyBfNTsNCi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpTb21l dGltZXMgYnJlYWsgY2hhaW4gd2lsbCBsb3NlIEZNQSggYnJlYWsgY2hhaW4gbmVlZHMgcHV0IHR3 byBtdWx0LW9wcyB0b2dldGhlciwgd2hpY2ggd2lsbCBsb3NlIG9uZSBGTUEgKSwgd2UgY2FuIG9u bHkgZ2V0IDIgRk1BcyBoZXJlLCBpZiB3ZSB3YW50IHRvIGdldCAzIEZNQXMsIHdlIG5lZWQgdG8g a2VlcCB0aGUgY2hhaW4gYW5kIG5vdCBicmVhayBpdC4gU28gSSBhZGRlZCBhIHBhcmFtIHRvIGNv bnRyb2wgY2hhaW4gbGVuZ3RoICJwYXJhbV9yZWFzc29jX21heF9jaGFpbl9sZW5ndGhfd2l0aF9m bWEgPSA0IiAoRm9yIHRoZSBzbWFsbCBjYXNlIGluIEJ1Z3ppbGxhIDk4MzUwLCB3ZSBuZWVkIHRv IGtlZXAgdGhlIGNoYWluIHRvIGdlbmVyYXRlIDYgRk1Bcy4pDQotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogIF8xID0gYV82KEQpICogYl83 KEQpOw0KICBfMiA9IGNfOChEKSAqIGRfOShEKTsNCiAgXzQgPSBlXzEwKEQpICogZl8xMShEKTsN CiAgXzE1ID0gXzQgKyBqXzEyKEQpOw0KICBfMTYgPSBfMTUgKyBfMjsNCiAgXzEzID0gXzE2ICsg XzE7DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tDQogIF8xNSA9IC5GTUEgKGVfMTAoRCksIGZfMTEoRCksIGpfMTIoRCkpOw0KICBfMTYgPSAu Rk1BIChjXzgoRCksIGRfOShEKSwgXzE1KTsNCiAgXzEzID0gLkZNQSAoYV82KEQpLCBiXzcoRCks IF8xNik7DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQpJbiBzb21lIGNhc2Ugd2Ugd2FudCB0byBicmVhayB0aGUgY2hhaW4gd2l0aCB3aWR0 aCwgd2UgY2FuIHNldCAicGFyYW1fcmVhc3NvY19tYXhfY2hhaW5fbGVuZ3RoX3dpdGhfZm1hID0g MiIsIGl0IHdpbGwgcmVhcnJhbmdlIG9wcyBhbmQgYnJlYWsgdGhlIGNoYWluIHdpdGggd2lkdGgu DQoNCj4gDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICYmICh3aWR0aCA9IGdldF9yZWFzc29j aWF0aW9uX3dpZHRoIChvcHNfbnVtLCByaHNfY29kZSwNCj4gPiAtICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUpKSA+IDEpDQo+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbW9kZSkpID4NCj4gPiArIDEpDQo+ID4gICAgICAgICAgICAgICAgICAgICB7DQo+ID4gLSAg ICAgICAgICAgICAgICAgICAgIGlmIChkdW1wX2ZpbGUgJiYgKGR1bXBfZmxhZ3MgJiBUREZfREVU QUlMUykpDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZiAoZHVtcF9maWxlLA0K PiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJXaWR0aCA9ICVkIHdhcyBjaG9z ZW4gZm9yIHJlYXNzb2NpYXRpb25cbiIsDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgd2lkdGgpOw0KPiA+IC0gICAgICAgICAgICAgICAgICAgICByZXdyaXRlX2V4cHJfdHJl ZV9wYXJhbGxlbCAoYXNfYSA8Z2Fzc2lnbiAqPiAoc3RtdCksDQo+ID4gLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCwgb3BzKTsNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgaWYgKGtlZXBfZm1hX2NoYWluKQ0KPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgIHsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkdW1wX2ZpbGUg JiYgKGR1bXBfZmxhZ3MgJiBUREZfREVUQUlMUykpDQo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIGZwcmludGYgKGR1bXBfZmlsZSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIkJyZWFrIGNoYWluIGxlbiA9ICVkIGludG8gd2lkdGggZm9yIEZNQVxuIiwN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKTsNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgIHJld3JpdGVfZXhwcl90cmVlX3BhcmFsbGVsX2Zvcl9mbWEN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFzX2EgPGdhc3NpZ24gKj4gKHN0bXQp LCB3aWR0aCwgb3BzKTsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICB9DQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgIGVsc2UNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICB7DQo+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZHVtcF9maWxlICYmIChkdW1wX2ZsYWdzICYg VERGX0RFVEFJTFMpKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmIChk dW1wX2ZpbGUsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJXaWR0 aCA9ICVkIHdhcyBjaG9zZW4gZm9yIHJlYXNzb2NpYXRpb25cbiIsDQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoKTsNCj4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgIHJld3JpdGVfZXhwcl90cmVlX3BhcmFsbGVsIChhc19hIDxnYXNzaWduICo+IChzdG10 KSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB3aWR0aCwgb3BzKTsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICB9DQo+ID4gICAg ICAgICAgICAgICAgICAgICB9DQo+ID4gICAgICAgICAgICAgICAgICAgZWxzZQ0KPiA+IC0gICAg ICAgICAgICAgICAgICAgIHsNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgIC8qIFdoZW4gdGhl cmUgYXJlIHRocmVlIG9wZXJhbmRzIGxlZnQsIHdlIHdhbnQNCj4gPiAtICAgICAgICAgICAgICAg ICAgICAgICAgIHRvIG1ha2Ugc3VyZSB0aGUgb25lcyB0aGF0IGdldCB0aGUgZG91YmxlDQo+ID4g LSAgICAgICAgICAgICAgICAgICAgICAgICBiaW5hcnkgb3AgYXJlIGNob3NlbiB3aXNlbHkuICAq Lw0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgaW50IGxlbiA9IG9wcy5sZW5ndGggKCk7DQo+ ID4gLSAgICAgICAgICAgICAgICAgICAgICBpZiAobGVuID49IDMpDQo+ID4gKyAgICAgICAgICAg ICAgICAgICB7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIC8qIFdoZW4gdGhlcmUgYXJlIHRo cmVlIG9wZXJhbmRzIGxlZnQsIHdlIHdhbnQNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAg dG8gbWFrZSBzdXJlIHRoZSBvbmVzIHRoYXQgZ2V0IHRoZSBkb3VibGUNCj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgYmluYXJ5IG9wIGFyZSBjaG9zZW4gd2lzZWx5LiAgKi8NCj4gPiArICAg ICAgICAgICAgICAgICAgICAgaWYgKGxlbiA+PSAzICYmICFrZWVwX2ZtYV9jaGFpbikNCj4gPiAg ICAgICAgICAgICAgICAgICAgICAgICBzd2FwX29wc19mb3JfYmluYXJ5X3N0bXQgKG9wcywgbGVu IC0gMyk7DQo+ID4NCj4gPiAgICAgICAgICAgICAgICAgICAgICAgbmV3X2xocyA9IHJld3JpdGVf ZXhwcl90cmVlIChzdG10LCByaHNfY29kZSwgMCwgb3BzLA0KPiA+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvd2lfcmVzdWx0ICE9IE5VTEwNCj4g PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCBu ZWdhdGVfcmVzdWx0LA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGxlbiAhPSBvcmlnX2xlbik7DQo+ID4gLSAgICAgICAgICAgICAgICAgICAg fQ0KPiA+IC0NCj4gPiArICAgICAgICAgICAgICAgICAgIH0NCj4gPiAgICAgICAgICAgICAgICAg ICAvKiBJZiB3ZSBjb21iaW5lZCBzb21lIHJlcGVhdGVkIGZhY3RvcnMgaW50byBhDQo+ID4gICAg ICAgICAgICAgICAgICAgICAgX19idWlsdGluX3Bvd2kgY2FsbCwgbXVsdGlwbHkgdGhhdCByZXN1 bHQgYnkgdGhlDQo+ID4gICAgICAgICAgICAgICAgICAgICAgcmVhc3NvY2lhdGVkIG9wZXJhbmRz LiAgKi8NCj4gPiAtLQ0KPiA+IDIuMjUuMQ0KPiA+DQo=