From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.88]) by sourceware.org (Postfix) with ESMTPS id 7D2563858C01 for ; Thu, 24 Aug 2023 04:53:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7D2563858C01 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=1692852826; x=1724388826; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=h+G+hn/WRtgGzT+VRiwmqAlL8UgAOxTeDe7vycTu4Lg=; b=Im17w7YhMaXYZkpmV0HwOzXaOCZHi3ls8OCbfRpUK91nS2RaApsaNqh3 NdW5vRQ4GtBOLfoeoa8nX3uQ6PtYauIf9jAGDyvEcEZ2rESuhld2p3jxH QKmT9YQ6p0Wu7El4nlgfzfmq4C3khXh7Cl2rwQSqWLeDxE9L1pWStM5UN iPQnLExK8Ou2iJ9RSTMKhPR9BRnuBhm8owmjxdkx8f9nWX2afLZVZq1O1 K8Ipzcn3R3a06vWKubCcfqkTShjsQB4mi1tSfSvqfCBN5dOqKzJz8jahA vlZdfb3Av8mLYWmnSncajI+yBnvENRhNcH23rA0lhQacltA6x0zz+q/gP A==; X-IronPort-AV: E=McAfee;i="6600,9927,10811"; a="405342688" X-IronPort-AV: E=Sophos;i="6.01,195,1684825200"; d="scan'208";a="405342688" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Aug 2023 21:53:45 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10811"; a="766399344" X-IronPort-AV: E=Sophos;i="6.01,195,1684825200"; d="scan'208";a="766399344" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga008.jf.intel.com with ESMTP; 23 Aug 2023 21:53:44 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 23 Aug 2023 21:53:44 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) 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.27; Wed, 23 Aug 2023 21:53:43 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) 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.27 via Frontend Transport; Wed, 23 Aug 2023 21:53:43 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.41) 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.27; Wed, 23 Aug 2023 21:53:43 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YC/a0qwt6IDrpe+u65fAyuNgYz1SUnrdjaMxhS4Y1qsLL/bjnxY7v5Yi7/QqRaHvcn6lytyBNtpXcHlXLbejNAtb7HTz8bP/m2+iKEAdjHnHiOGJDaGrx1NxhFua9LWvVe73PdyRMngXyNwLN5x4ibtZGdZ5MxdLrDh/tRN1WW3GyhnbbU433CmFbZdoTephDBTu99Pj1tTVLlXL3PyszFBVIqvcdpjrTVruYk5PK7UgBFdcX0QN8c4HmWkCbrm52MvzvANHwDjiV6inTYqF279Ru6DGT5efztrUpZLL0n8SbmXaSHlW9mVzqFz9cSYO3zBl8Vgk1HxzsXlA56VyFg== 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=h+G+hn/WRtgGzT+VRiwmqAlL8UgAOxTeDe7vycTu4Lg=; b=mNu7P3hTQfTgEqDIXUCRqXa+LvYeFHbKqCOc4CEf387ttYTJyKlDuY2r+kn2AR7jzsITx65cODKf8pHWxHTWB4Wk9Kz3Hb6u75RzZcSrJ8w+1SutVaoMu85fMztLmha3BM/Vvd8CunKUofp+edQm/Ee1oc6XprZunxAR3X2O/qdMfoq5aU1uWW2IiY685br9Wx4PGFLa7WxjsDVEZr/8FD2FEhPW3VVkLuWDrh/P6Pe3GDaXR5Jz+5ZZGo+kYYUiM4hyLFqPwzOosFbh1ASkSgb29D9wlhZP0L8V+7Z1ZD1kzn0Q951/PDoIr0FX6S9Fn8q1kjqfCTM6gn2pX9e4wQ== 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 PH7PR11MB6548.namprd11.prod.outlook.com (2603:10b6:510:210::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.26; Thu, 24 Aug 2023 04:53:41 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::6ff9:5a3d:4981:3476]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::6ff9:5a3d:4981:3476%5]) with mapi id 15.20.6699.027; Thu, 24 Aug 2023 04:53:41 +0000 From: "Li, Pan2" To: Jeff Law , "gcc-patches@gcc.gnu.org" CC: "juzhe.zhong@rivai.ai" , "Wang, Yanzhang" , "kito.cheng@gmail.com" Subject: RE: [PATCH v1] Mode-Switching: Add optional EMIT_AFTER hook Thread-Topic: [PATCH v1] Mode-Switching: Add optional EMIT_AFTER hook Thread-Index: AQHZ1ADYxKbsV+kXtUGNddvPCFujsq/0zlaAgAJsLPCAALjDgIAABR4QgACSNQCAAFof0A== Date: Thu, 24 Aug 2023 04:53:41 +0000 Message-ID: References: <20230821072627.3984748-1-pan2.li@intel.com> <995842b2-2765-24d5-466e-4588dcdcc48e@gmail.com> <951fced9-f798-f9b6-7827-14447a93d1c9@gmail.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_|PH7PR11MB6548:EE_ x-ms-office365-filtering-correlation-id: e6e9b17d-5b6b-438c-a7c5-08dba45e1682 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Uszi8O49cAZMD9FrGaxk303SYdQ2MJaVXmhLb43+vhaiO4xB1uJvj0ijZr5dFeYrlzF7XTRmQ4YS8j1gJqqlKJyRNTOAg3d7+nx3XtN/qBdpSSVn9HvxEbpo/UJYAMJgn8dVLycRNvgtT0MRX2CYYPFYBaMfSVEm3pNFseC7wNJa0KgxctmwXvA5egN4gcTzeQgE38BSyczxeprBrQtA6XdbfWiO82VDmrQZAcI7LfRD+q6GXtJ9XVW7wW3Tt7Hqw2ftg4CgPR7XQAwI/0aqZn0FRsoy961QzzwnEakvH3ZLmahQE3AtKYSyxRZ7U7wDo/ZLCL6fSbqM+X90jQ1po9ggJb38SV/PX1IYYCg7II6e11gnfL60jqTFB6Mon2wxp9kVSH0HQER/QY90NBysPum5aPpeW644JWSVuHKTxVliNL+/uZw4wu12hvpKks2kdd3i8DbZ1xSpPFgb+YAth3Bh5l8qYqGoYKpk4TnRKiNDhC2T1r9FT2kKt3JAQt5aDRwwdSPY7zOx8qtnEffj5ettg3QjG9b+Ud2T4GeceYLCoeP928J9vu0XhFOvEKYD1HuDUZ7Xv2Lm8PQGwDZjfy4ohhWv7Qq7BV1Hw45+fggykfGnNdvergOWx35rBSpe 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)(346002)(396003)(366004)(136003)(39860400002)(376002)(186009)(451199024)(1800799009)(6506007)(7696005)(52536014)(316002)(53546011)(8676002)(8936002)(4326008)(110136005)(66556008)(54906003)(64756008)(66946007)(76116006)(66476007)(66446008)(55016003)(9686003)(41300700001)(26005)(5660300002)(71200400001)(478600001)(83380400001)(86362001)(82960400001)(2906002)(33656002)(38070700005)(38100700002)(122000001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SFRPQkovRkdFNWNCSW9VMVpQSWNkYmUraHZqZVh6RHNZVmc4dVF4VDB5TVdL?= =?utf-8?B?M2ZValpUMUlhQmdpM0FLTE1rTnErVWhibEZZbGQydFIvV0V0TUVvMG1tTEcy?= =?utf-8?B?QklPNERybytHaEpHMTVNdldwRjFpV1JEWVJEYnhqejhiUlR5VkNpeTVPbGZo?= =?utf-8?B?NkU4Z2ZFMGdBSlRCcExGR3l6bTVxTzdrL05Rek1paWF5UEh1cFFVSW41Q3BM?= =?utf-8?B?ZWFSMEk4WjlvRklYVzdXVDc5ZmJ2d1BnZmt6VzdRSDd4MmNxbWMrNFJZTW9x?= =?utf-8?B?aWdsTENuUlpHeDdkVlkybjNFb1BlNFNKelU1cE5wR2dtMW4vUjNLVVhlcHNZ?= =?utf-8?B?UDhJTlZNS0d2MWNZZG1zd05TUmVmSWhPeGUzRlhWSUo4SUU2dUl4ZlhzVkZC?= =?utf-8?B?ZUhVUVJXSmNDVUdIUVlIbUtmWGhTYkdvN2d4ZFZOdGFncFBNWUV4L1VHOTgv?= =?utf-8?B?SXpFdmxLdVU3aHJpN001aitDZ1JuNFI5K3hZd1poRW9mWlhIeEVLOEJJcFY4?= =?utf-8?B?Q1VjTWN0MHF4ZHgrN2hjaG5uUUQvdGdyMnViRnZHVzFPSlRmYXE4dk9UQjdq?= =?utf-8?B?OW1idWoxL1Z3ZG85T0VHd2luWGVqOGlwcHpaQ1ltckxLYThtVWk1QWgwUkVm?= =?utf-8?B?dTZWd092eEdBUjl5b21UcGxCZnVibFdYeXZZOThsZXhyNWswL3l1SWFJMTF4?= =?utf-8?B?d1B5TmxGWFhyN1NWYnVOU3FoYmZDbjdMQ0pYeHREc05hWnUxcGcwQzFRNWtB?= =?utf-8?B?N1d3QWIvUFNSUTVNUDJCL0d5MDQzUUMwNWJLNElydUIwTmxIY01uS2FUbTlk?= =?utf-8?B?djZ2ZnNEZi9RMWVYK3NpY2dlVW9tb3E5NmE3aExzWE1NZW4xVndiM2FMNUVC?= =?utf-8?B?U1V6TWZSOTNOVXZSTzFuSVo4ei9ta0pLb0tTRmorUlk4MmNKb014UlJENkNa?= =?utf-8?B?LytxRElGcTY5RFFOdFFKdGF4YlZjT1hpaFM3NElzUk5oYzFUTDFHSFdObmpT?= =?utf-8?B?eFRicnJkQ0VmL25vN09iMGszdEs5WEtNVU9XZXZ1TENqL0FBb2VSRnFMeDlq?= =?utf-8?B?Tk5hTG9GZDAvWStkY2NBalVIMnJROU52VHRRVmNqcXFGTWZ1Vmtpd0puUUJl?= =?utf-8?B?UEh5ZjBDbEVpbzhQQ1ZCR2pIOGpTem1wbUZMbzExcmp3YnFmbmI2VmVWZ2tJ?= =?utf-8?B?d1RDZjgyMXkzWWZoajVPM2VDMGdHaGkvSElMRkEzSU9vQkIxSHBTZWRtUWNu?= =?utf-8?B?eTN2dkovb1VKN1NkRWZ0aTY1aGtORHBzVlFVVUNHZmcxQXpwNUx2LzBBUEJZ?= =?utf-8?B?R3ZmODJwSWRJc2xULzQzSHR3MFdkQ2p2K0dkUTFrWDZMMkJ3S3R5VFZ4MzhH?= =?utf-8?B?eFdQOEZ3L3JGMWFSMkFZLzkrZVJwbWFHaG53WXAvNUZFdlpZbFhkNDM4N0V2?= =?utf-8?B?RTBwT2NhM2xzZ05RSTNIVzA3MXJ4S255UXNORURTWjB3dm8wcHdwQTdWQjV6?= =?utf-8?B?UG53Nm8wVmJmM2hiditvTzF5RWgwVkZuMjNYRUxDcGVSUWkrM0cxak1lRGVq?= =?utf-8?B?Vjg1TG9nWGFHb1l2K2Fzb1IyWTBHaFZPeTgwcWdUZXR3d3RJdVdNK1E0VG9E?= =?utf-8?B?bGFtQ25mMVFNL3gxQWpnMU1SMlh4ZWpiSWVlU0kvdXl3NDdQVTdlM3E3UFcv?= =?utf-8?B?a1lJMU9CajdqWGhmZVpxcmhYZmdEZ2JwUVdNcTNHMjJxWHNCVFJ2Vk5DRlFB?= =?utf-8?B?Yk5LNjJLcVMxV1hobURCRDlBeG5IcUxodXZiOWM4cDREc0RoZG1uc2RGZXFM?= =?utf-8?B?Y0s3Q2pST0N0dmRrK3JoNi8xVVNwUUgvWlBSVDFnblhuTk1hMm9DMFRzNXUr?= =?utf-8?B?YTdULzJzZVYyTTFDYVdJMWt0Z1A4SEY3aWFnd0FId2NqcVBiSi93RlVaN2l3?= =?utf-8?B?MSs2U1lhOVNERC9WV1FRQWpyWk92c3pBcS9SR1IvbVpkMm9EZlA0OTZwK0Yr?= =?utf-8?B?VFppWVhSV2xrYUhaSWhNc3drR2t1UHZydmZRQi8zOElZQXhFZjM5akxDc2U5?= =?utf-8?B?WGRXdjY1b0tndE5RN1dlaUM5K21rNWxqVGJFbm1uTWxMWjlxTVZNOHRwN05G?= =?utf-8?Q?Btzk=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: e6e9b17d-5b6b-438c-a7c5-08dba45e1682 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Aug 2023 04:53:41.4025 (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: k9/3wSjLVlTimPnOli57PFq5DqUUWAYB80a92fbFYM6eGAIyJR31Hf7o0gP6YCDfEZsSrjvOLfqWwNDv/Rjzow== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB6548 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-6.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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: VGhhbmtzIEplZmYuDQoNCj4gVGhhdCBpbXBsaWVzIGEgc2F2ZS9yZXN0b3JlIHBhaXIgYXJvdW5k IHRoZSBjYWxsIChwb3NzaWJseSBvcHRpbWl6ZWQgc28gDQo+IHRoYXQgd2UgbWluaW1pemUgdGhl IG51bWJlciBvZiBzYXZlL3Jlc3RvcmVzKS4gIEkgd291bGQgaGF2ZSBleHBlY3RlZCANCj4geDg2 IHRvIGFscmVhZHkgYmUgZG9pbmcgdGhpcy4gIEJ1dCBtYXliZSB0aGVyZSdzIHNvbWUgQUJJIHRo aW5nIGFyb3VuZCANCj4gbW14IHZzIHg4NiBzdGF0ZSB0aGF0IGFsbG93cyBpdCB0byBiZSBhdm9p ZGVkLi4uLg0KDQpWZXJ5IHNpbWlsYXIgdG8gc2F2ZS9yZXN0b3JlIGJ1dCBvcHRpb25hbC4NCklm IG5vIHN0YXRpYyByb3VuZGluZyBtb2RlIGluc3RyaW5zaWMgaGVyZSwgaXQgaXMgdW5uZWNlc3Nh cnkgdG8gYWRkIHNhdmUvcmVzdG9yZQ0KcGFpciBhcm91bmQgdGhlIGNhbGwuIEkgYmV0IG1vZGUt c3dpdGNoaW5nIHRha2UgY2FyZSBvZiB0aGlzIGFscmVhZHkuDQoNClBhbg0KDQotLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogSmVmZiBMYXcgPGplZmZyZXlhbGF3QGdtYWlsLmNvbT4g DQpTZW50OiBUaHVyc2RheSwgQXVndXN0IDI0LCAyMDIzIDc6MjcgQU0NClRvOiBMaSwgUGFuMiA8 cGFuMi5saUBpbnRlbC5jb20+OyBnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZw0KQ2M6IGp1emhlLnpo b25nQHJpdmFpLmFpOyBXYW5nLCBZYW56aGFuZyA8eWFuemhhbmcud2FuZ0BpbnRlbC5jb20+OyBr aXRvLmNoZW5nQGdtYWlsLmNvbQ0KU3ViamVjdDogUmU6IFtQQVRDSCB2MV0gTW9kZS1Td2l0Y2hp bmc6IEFkZCBvcHRpb25hbCBFTUlUX0FGVEVSIGhvb2sNCg0KDQoNCk9uIDgvMjMvMjMgMDg6NTQs IExpLCBQYW4yIHdyb3RlOg0KPiBUaGFua3MgSmVmZiBmb3IgY29tbWVudHMuDQo+IA0KPj4gVW5k ZXJzdG9vZC4gIFNvIHRoZSBuYXR1cmFsIHF1ZXN0aW9uIGlzIHdoeSBkb2VzIHg4Ni9zaCBub3Qg bmVlZCB0aGlzDQo+PiBmb3IgaXRzIG1vZGUgc3dpdGNoaW5nPyAgIERvbid0IGFsbCB0aGUgc2Ft ZSBpc3N1ZXMgZXhpc3Qgb24gdGhvc2UNCj4+IHRhcmdldHMgYXMgd2VsbD8NCj4gDQo+IEFGQUlL LCBpdCBjb21lcyBmcm9tIHRoZSBkaWZmZXJlbnQgZGVzaWduIHByaW5jaXBsZSBiZXR3ZWVuIHRo ZSByaXNjLXYgYW5kIHg4Ni9hcm0gaW50cmluc2ljIEFQSS4NCj4gVGhlIHJpc2MtdiBydnYgRlAg cm91bmRpbmcgbW9kZSBpbnRyaW5zaWMgQVBJIGhhcyBvbmUgYWJzdHJhY3QgbGV2ZWwgYWJvdmUg dGhlIGluc24gaXRzZWxmLCB3aGlsZQ0KPiB0aGUgeDg2L2FybSBvbmx5IGluZGljYXRlcyB0aGUg c2VtYW50aWNzIG9mIHRoZSBpbnNuLg0KPiANCj4gRm9yIGV4YW1wbGUsIGlmIG9uZSB2ZWN0b3Ig aW5zdHJ1Y3Rpb24gVkZBREQgZG9lc24ndCBoYXZlIHN0YXRpYyByb3VuZGluZyBtb2RlIChha2Eg ZW5jb2Rpbmcgcm0gaW4gaW5zbiksDQo+IHRoZXJlIGlzIG5vIHN1Y2ggYSBpbnRyaW5zaWMgQVBJ IGNvbnRhaW5zIHJvdW5kaW5nIG1vZGUgYXJndW1lbnQgaW4geDg2L2FybS4gV2hpbGUgdGhlIHJp c2MtdiBmcA0KPiB2ZWN0b3IgaW50cmluc2ljIHdpbGwgYWx3YXlzIGhhdmUgc3RhdGljIHJvdW5k aW5nIG1vZGUgQVBJIGlmIHRoZSBmcm0gaXMgaG9ub3JlZC4NCj4gDQo+IEluIHNob3J0LCB0aGUg cmlzYy12IGludHJpbnNpYyBBUEkgaXMgY2xvc2VyIHRvIHRoZSBlbmQtdXNlciwgd2hpbGUgdGhl IHg4Ni9hcm0gaW5zdHJpbnNpYyBBUEkgaXMgY2xvc2VyIHRvIGluc24gaXRzZWxmLg0KT0ssIGJ1 dCBJJ20gc3RpbGwgc3RydWdnaW5nIHRvIHNlZSBob3cgdGhlIGRpc3RpbmN0aW9uIGlzIGltcG9y dGFudCANCmhlcmUuICBVbHRpbWF0ZWx5IHRoZXJlJ3MgYSBzdGF0ZSBhdCBhIGNhbGwgc2l0ZS4g IFdlIG5lZWQgdG8gbWFrZSBzdXJlIA0KdGhhdCBzdGF0ZSBmcm9tIHRoZSBjdXJyZW50IGZ1bmN0 aW9uIGRvZXNuJ3QgaW1wYWN0IHRoZSBjYWxsZWUgYW5kIHdlIA0KbmVlZCB0byBtYWtlIHN1cmUg dGhhdCB0aGUgY2FsbGVlIGRvZXNuJ3QgaW1wYWN0IHRoZSBzdGF0ZSBpbiB0aGUgY2FsbGVyLg0K DQpUaGF0IGltcGxpZXMgYSBzYXZlL3Jlc3RvcmUgcGFpciBhcm91bmQgdGhlIGNhbGwgKHBvc3Np Ymx5IG9wdGltaXplZCBzbyANCnRoYXQgd2UgbWluaW1pemUgdGhlIG51bWJlciBvZiBzYXZlL3Jl c3RvcmVzKS4gIEkgd291bGQgaGF2ZSBleHBlY3RlZCANCng4NiB0byBhbHJlYWR5IGJlIGRvaW5n IHRoaXMuICBCdXQgbWF5YmUgdGhlcmUncyBzb21lIEFCSSB0aGluZyBhcm91bmQgDQptbXggdnMg eDg2IHN0YXRlIHRoYXQgYWxsb3dzIGl0IHRvIGJlIGF2b2lkZWQuLi4uDQoNCj4gDQo+IEZvciB0 aGUgcmVzdCBwYXJ0LCB3aWxsIGhhdmUgYSB0cnkgYmFzZWQgb24geW91ciBzdWdnZXN0aW9uIHNv b24gYXMgSSBhbSBpbiB0aGUgbWlkZGxlIG9mIHNvbWV0aGluZy4NCk5vIHByb2JsZW0uICBHZXQg dG8gaXQgd2hlbiB5b3UgY2FuLiAgSSB0aGluayBpdCBhZmZlY3RzIHlvdSBtb3JlIHRoYW4gDQpt ZSA6LSkNCg0KamVmZg0K