From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id A625F3858D3C; Fri, 11 Mar 2022 16:08:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A625F3858D3C Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 22BFxeu7031755; Fri, 11 Mar 2022 16:08:44 GMT Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by mx0b-00069f02.pphosted.com with ESMTP id 3ekxf1166y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Mar 2022 16:08:44 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 22BG5u7g093257; Fri, 11 Mar 2022 16:08:43 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2176.outbound.protection.outlook.com [104.47.57.176]) by aserp3030.oracle.com with ESMTP id 3ekwwe664f-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Mar 2022 16:08:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AEXtEJUufRxH7KAv68/9O5QlED0b1LyBRnG2fSLBTPmKHL3aWYJpodZdO8zptYBy2azNlb3HyF/U0aNGhd5sR1P5dB4yaJ1XuYlnEAreyMH2s8oNxlfaEsCE76swE3puQ3rvon64Y1CuZCZYAchbJPqR1eHpUrYLr5T9ehTUSyqhnxLsY6zYDUC+IA5rsXtwN5tMznnA3OHYweJFXPPPAxRXtbDo6Jpl1hGWOchGEVoC2Zxf6fgvJrM88z1dO60VdlubbULC2NBAlibG6dMj/GtiGRNYkxp5AzNziOn+4FscZu7gLDJgT4+Ylz8bW9qgjmfp5L9UyP3iNBN+c/IrXw== 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=azTeGWkUpr7gXLvfcC8+4RVZ/keTWAjJcgeoQ+I9B5k=; b=ibMbjbitGhMqugqo/gy48gYsHsHzLcUgZalakgCepANnXPl+MJLzn4/nX46b9G27l/aTbMfqzqelZVUzBB/gh/dHRHtWqxGaxdkoDbV9ZIHPDHOFCZRoNUbonVm1OxnD4e/HFQEttPxwnst5XxAJHM9knw6zgtdpuglOkl7CfUDjXqjmu9aq8byZT7uUwtnEXGnimccDTqGR3kd9GHq5YGMc6PDuiw/L4UXCbzgOI2dl2cgnOf3CN8Zyum9YmhOnqsOMVHCBQnRA271gng2vPMlmobCNPCMqFWGJqvdeFhkoLw9p5QmLI7vHmKR03reHlM0IEdPALhj1XXu6OLFFGA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by SJ0PR10MB5662.namprd10.prod.outlook.com (2603:10b6:a03:3da::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5038.15; Fri, 11 Mar 2022 16:08:41 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::a8c6:8b2:c197:7489]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::a8c6:8b2:c197:7489%6]) with mapi id 15.20.5061.024; Fri, 11 Mar 2022 16:08:41 +0000 From: Qing Zhao To: Xi Ruoyao CC: Richard Sandiford , YunQiang Su , "gcc-patches@gcc.gnu.org" , Jakub Jelinek , Jeff Law Subject: Re: [PATCH RFC] mips: add TARGET_ZERO_CALL_USED_REGS hook [PR104817, PR104820] Thread-Topic: [PATCH RFC] mips: add TARGET_ZERO_CALL_USED_REGS hook [PR104817, PR104820] Thread-Index: AQHYMmO/PXN0JIZqDUOFTxRjiAiIgqy3YadBgAG1IICAAGsZAIAA3eWA Date: Fri, 11 Mar 2022 16:08:41 +0000 Message-ID: References: <93ab62b2b9473733e5118f4265b61804978adfd7.camel@mengyan1223.wang> <53408AB1-0FA4-4529-95D9-A10FA8999DF6@oracle.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3608.120.23.2.7) x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ff7ce441-bede-4b2a-1f10-08da03796920 x-ms-traffictypediagnostic: SJ0PR10MB5662:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +jbREnAoLzOnKf9SFIA77ddo3Yjjl8pXv3lRTczRUVMAoAziLQZx5hDvrFc7VsJqKyhdwPUssYc89RGqssdgo0+kfGBp/aGpyz42KBDUF6G7KTNPrpFotJDecrlpMxkFikSU5eJEY4gX3Oa6XgYHoT3QQ3/BQIh2/QcT9m++Lv+rVrGQd1nQ5ycP5jubtvVw1BJ15tDhx8KYwKDqaiFuC7grmEPdULIbxObTYte3SrX7GFSfIbDtq8mwM/nri72YH/fr8gAE2Ui3756OXsbZKwpCfXZgA3zvSpptV7MtS6Belnl6K1Xr1Q81VVVAzZaG5OiWZ4CMxe5mpfNLD8d8t6aQmZvRMRRUrFeuKK3Ar9tLPNBYa/kElXTYeD5jKgrHyAcxbb6dmp1T1Hsp0FT+YRYjLSxbEGJ3scJ80sxpHZ8XHYRwxBiHi+YYQG41QMrEOl6iOiI7eWlCW6cA6jMIWlqqyJk8ch5qqc4iK7Ba+cBznZQMrkBIe6YgNbOrKyE04GYSuCCYlwhNunuuvtjtfsJoEi4n5oIpBjkg1YYSZ74rssHI5a0hweGxpiCjHYbkP/fG7LGM02txllykb7EEJOr1i7OHvFQkJjoOxw6liwXnTmAZtYrxt0rwuCTMG8gBLPAEGrW803y2Pa0zkLc4xsQGLGT+nl8bOZPxqlJ7c1ecl0q7yZQznh5+uP+AiVcX/8ykwnW2496K+XIfukdBTzjQDkUppNxE71+N8CjY6A8= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR10MB4344.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(316002)(6916009)(53546011)(6512007)(186003)(71200400001)(508600001)(6506007)(6486002)(83380400001)(54906003)(66446008)(66476007)(64756008)(8676002)(66556008)(122000001)(26005)(38070700005)(2616005)(4326008)(91956017)(36756003)(76116006)(66946007)(8936002)(86362001)(5660300002)(33656002)(38100700002)(2906002)(44832011)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZTlJTDRBeFhwS1dPZ29wYTk2MTdxZjZoalUyaW8vQ0xKeURMWmlTWnBOWEtD?= =?utf-8?B?UERNQW94M3hNRTVtR2tETVY3U3pOcSs2WTV0eEQ2U0VQc3hIU09XWTE0cFYy?= =?utf-8?B?ZXBGRHpocDd2WlpZUURXVUlHYXdjZkN6NkxPQ2kyM1p6TGhwMTU5bzBPdnpE?= =?utf-8?B?NWtRV0gwQmJQQ1d6aUZhT1ZmeDJJWmE0MHp6bVdmU0EvT2ZsWnYrY05qZUFL?= =?utf-8?B?SGFEK3NGK2cvVnlCZEJQZ2RNR2hyOFFnZWMxTldiQVVDOFludWUzK3Q1eGtZ?= =?utf-8?B?enFndkc2ekNhMzFOb3g2cFFPc3VGUEdaWGJyWWVNWkNtZlYvUjhYZ1NMYjBM?= =?utf-8?B?SnF0b2wrb2w3L1lndDQ1VTgvbmlVWVpKbWVsZnAzMjVoKzVwNkRydnduUC8y?= =?utf-8?B?SG5IRTBlNVhJVWVkWkFPUUFYb3hmVVNWTllMQWEyNTFSUS95czBCVGVFcjdU?= =?utf-8?B?V2t5QUUwR28veks2L2JsRzFibGRRT0tUZVdPN3FPZDlqZWMrc0ZNZzNKT1cr?= =?utf-8?B?bk1VV0svZG53anF0aVpLbGJNWno5TjRyampnblA1cCtoOVhXa0poMUVXZ1ly?= =?utf-8?B?Ym9hcUhyZjIzSGhLT3ZPZEZjOStJeEZBTnR2ZFl0Z3p3QUUwS3BPUWlTak11?= =?utf-8?B?cGVyYTUxQU96U3h2UllPWURqK0czWkFzekdTMEY1Y0lPUk1sVG1mTHpPMmJj?= =?utf-8?B?a0ZPcWpIaEEzQzNHK0hURm5PMExvRnlxeXJYc09iYzZCVW5ZNGlDL09YOEp0?= =?utf-8?B?TzVFb3J0RDIxWnNBWmhRWGw0Z1IzM2MzN2p5R2VhQk8xS0pqVmZlWHJNdHZv?= =?utf-8?B?d3lEWWFVSC9pVWRxRGxkNFhmQWNpN04rTUlmMWhoLzZIbEU2Tmdlb1JKZ0VS?= =?utf-8?B?eWxGdzVvVDJOR1pYcTYrT1JFNSt5aFh4VWlYUjRBSHBNTERwNFpyOWZlU3pq?= =?utf-8?B?OC9XVWhvRGFPUmZJbUg0L2FPbjIzQmMrQm1UTFFOb2lhY3RtWU5ITmx5ODdU?= =?utf-8?B?c2IrRkUzaFhVT2JsZlJJRDVQTC9MMmljNFN2bm5mSFc1cDlSbm1ROUczOEZV?= =?utf-8?B?VFNHK2NneUxoQ1pGalF6aTB5bWFmcnFWU0pIMmVzVjVreUhTVzAxQVRyZjZS?= =?utf-8?B?OXl5eHArbUFaajBXSTY5d1Z2WGdQaGxTekt4VEVNRVIwTlFvUWZIcEs1OTcw?= =?utf-8?B?bGhyN3dNSC8xRUdPYlN4MnhsT05uVlZabzdKYVFpekpheDEzUzBPRXRkczZh?= =?utf-8?B?bm5hRlRrWUY1WWpLRHJ6aXVwcU90TjZURlhBcklJQjIrZW93NGhGazFpNmhM?= =?utf-8?B?Nzd5VFYwbjhHYUk4OXRlNE80Nk0venF1ZWhxdHphaFBnYjBEOUN5VEpRRk1a?= =?utf-8?B?VTEvQlhsNUlUSzlDNkY0WW9ySEFvNzhLOGFtMlJLT3hQQ1A1ckF4eko0L3Zm?= =?utf-8?B?cHZQSm5mcWtUbllkQkZMTTN1UCtwOVNTcWNmL01hMFhNK2Y5MHliQXJ5Qk9p?= =?utf-8?B?QXhDQ3NyTnVhWmg0V0h5eDloVkgxS242SlFvYVk0YXY2NGZkOURWWTAwU3k2?= =?utf-8?B?VmNEYXhlYkprMm54eDBuSjlzeFNxK3ZKaUVRZVRCQnJCNHBjdFFGTTBHUkxh?= =?utf-8?B?cW12VW40MTlqWU9nQkw0cFVEOGtQaHNjZmlZZmc5RnU3ZG45K2hMZFlhNGR6?= =?utf-8?B?cnFGVEtFQmE5MW5CZFdOT0tWUGhLL0RyUCs1SitXazU3eUUxcjRkZTZ2NkhD?= =?utf-8?B?S3Q4VUZ5d1N6SlZMSVdmSHFJZUVNNG1kdEdvYkxGeWM0SlhKMkJFYWZIbVhz?= =?utf-8?B?U0h6VVlZcHNvY0kvM1JlU0IyaUtVb3FVSjVEVkwrUHlzSmErb1o1ZUJucW9I?= =?utf-8?B?czF4M2tPdFY1S2FZU3dlRUhJOHBYUzNXZUIvcmVFcjJuc0s0K2Q4TlJiUDVr?= =?utf-8?B?VDQvVnpIc3Era2ZlOTZTdDJIbmlLS0tLVG1Xcy81eVNTMDlQRzdFMkw2ME5p?= =?utf-8?B?b0xuM0dXZGU1T2t4VURmYXRPS3FJQUNTWU5iQjRldDJvd3dNY0ZOSGpvbVdF?= =?utf-8?B?d21VVHVVa29vY3g0ZVRkRldLaG1USThXcmlpQUl6R0tlb1Q3aDRiY1N5RDBz?= =?utf-8?B?MHMrS2ZmWFlJNHJodHVDMXNxdmRXTGJsMmdpVFh2SXQxNCtySjUyd2hjMXRX?= =?utf-8?Q?m63wcbB8htRDdKfbVPDIIz8=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4344.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ff7ce441-bede-4b2a-1f10-08da03796920 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2022 16:08:41.4891 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 9G4FszONgOBcL0ROVtxRrWnb/0rg8NYNEvmSrmCVe4f1lCSOoFg3I199qd78R7uv7NmnDlpbvPIOtz608kc3XA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5662 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10282 signatures=692556 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 spamscore=0 phishscore=0 bulkscore=0 adultscore=0 malwarescore=0 suspectscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2203110080 X-Proofpoint-ORIG-GUID: enz1iMR3RTJREuFtqLF3qTaDXGSDEDxY X-Proofpoint-GUID: enz1iMR3RTJREuFtqLF3qTaDXGSDEDxY X-Spam-Status: No, score=-5.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2022 16:08:56 -0000 DQoNCj4gT24gTWFyIDEwLCAyMDIyLCBhdCA4OjU0IFBNLCBYaSBSdW95YW8gPHhyeTExMUBtZW5n eWFuMTIyMy53YW5nPiB3cm90ZToNCj4gDQo+IE9uIFRodSwgMjAyMi0wMy0xMCBhdCAyMDozMSAr MDAwMCwgUWluZyBaaGFvIHdyb3RlOg0KPiANCj4+Pj4gKyAgICAgIFNFVF9IQVJEX1JFR19CSVQg KHplcm9lZF9oYXJkcmVncywgSElfUkVHTlVNKTsNCj4+Pj4gKyAgICAgIGlmIChURVNUX0hBUkRf UkVHX0JJVCAobmVlZF96ZXJvZWRfaGFyZHJlZ3MsIExPX1JFR05VTSkpDQo+Pj4+ICsgICAgICAg U0VUX0hBUkRfUkVHX0JJVCAoemVyb2VkX2hhcmRyZWdzLCBMT19SRUdOVU0pOw0KPj4+PiArICAg ICAgZWxzZQ0KPj4+PiArICAgICAgIGVtaXRfY2xvYmJlciAoZ2VuX3J0eF9SRUcgKHdvcmRfbW9k ZSwgTE9fUkVHTlVNKSk7DQo+Pj4gDQo+Pj4g4oCmSSBkb24ndCB0aGluayB0aGlzIGNvbmRpdGlv bmFsIExPX1JFR05VTSBjb2RlIGlzIHdvcnRoIGl0Lg0KPj4+IFdlIG1pZ2h0IGFzIHdlbGwganVz dCBhZGQgYm90aCByZWdpc3RlcnMgdG8gemVyb2VkX2hhcmRyZWdzLg0KPj4gDQo+PiBJZiB0aGUg TE9fUkVHTlVNIGlzIE5PVCBpbiDigJxuZWVkX3plcm9lZF9oYXJkcmVnc+KAnSwgYWRkaW5nIGl0 IHRvIOKAnHplcm9lZF9oYXJkcmVnc+KAnSBzZWVtcyBub3QgcmlnaHQgdG8gbWUuDQo+PiBXaGF0 4oCZcyB5b3UgbWVhbiBieSDigJxub3Qgd29ydGggaXTigJ0/DQo+IA0KPiBJdCdzIGJlY2F1c2Ug dGhlIE1JUFMgcG9ydCBhbG1vc3QgYWx3YXlzIHRyZWF0IEhJIGFzICJhIHN1YnJlZyBvZiBkd29y ZA0KPiBISS1MTyByZWdpc3RlciIuICBBIGRpcmVjdCAibXRoaSAkMCIgaXMgcG9zc2libGUgYnV0 IE1JUFMgYmFja2VuZCBkb2VzDQo+IG5vdCByZWNvZ25pemUgImVtaXRfbW92ZV9pbnNuIChISSwg Q09OU1RfMCnigJ0uDQoNCldoeSB0aGVyZSBpcyDigJxtdGhpICQw4oCdIGluc3RydWN0aW9uLCBi dXQgdGhlcmUgaXMgTk8gZW1pdF9tb3ZlX2luc24oSEksIENPTlNUXzApPw0KSXMgc3VjaCBtaXNt YXRjaCBhIGJ1Zz8gSWYgbm90LCB3aHk/IA0KDQo+ICBJbiB0aGVvcnkgaXQncyBwb3NzaWJsZQ0K PiB0byBlbWl0IHRoZSBtdGhpIGluc3RydWN0aW9uIGV4cGxpY2l0bHkgaGVyZSB0aG91Z2gsIGJ1 dCB3ZSdsbCBuZWVkIHRvDQo+IGNsZWFyIHNvbWV0aGluZyBOT1QgaW4gbmVlZF96ZXJvZWRfaGFy ZHJlZ3MgZm9yIE1JUFMgYW55d2F5IChzZWUgYmVsb3cpLg0KDQpPbmUgcXVlc3Rpb24gaGVyZSwg IGlzIHRoZXJlIHNpdHVhdGlvbiB3aGVuIG9ubHkgSEkgaXMgY2xlYXJlZCBidXQgTE8gaXMgbm90 IGNsZWFyZWQ/DQo+IA0KPj4+IEhlcmUgdG9vIEkgdGhpbmsgd2Ugc2hvdWxkIGp1c3QgZG86DQo+ Pj4gDQo+Pj4gICAgICB6ZXJvZWRfaGFyZHJlZ3MgfD0gcmVnX2NsYXNzX2NvbnRlbnRzW1NUX1JF R1NdICYgYWNjZXNzaWJsZV9yZWdfc2V0Ow0KPj4+IA0KPj4+IHRvIGluY2x1ZGUgYWxsIGF2YWls YWJsZSBGQ0MgcmVnaXN0ZXJzLg0KPj4gDQo+PiBXaGF04oCZcyB0aGUgcmVsYXRpb25zaGlwIGJl dHdlZW4g4oCcU1RfUkVHc+KAnSBhbmQgRkNDPyAoc29ycnkgZm9yIHRoZSBzdHVwaWQgcXVlc3Rp b24gc2luY2UgSSBhbSBub3QgZmFtaWxpYXIgd2l0aCB0aGUgTUlQUyByZWdpc3RlciBzZXQpLg0K PiANCj4gTUlQUyBpbnN0cnVjdGlvbiBtYW51YWwgbmFtZXMgdGhlIDggb25lLWJpdCBmbG9hdGlu ZyBjb25kaXRpb24gY29kZXMNCj4gRkNDMCwgLi4uLCBGQ0M3LCBidXQgR0NDIE1JUFMgYmFja2Vu ZCBjb2RlIG5hbWVzIHRoZSBjb25kaXRpb24gY29kZXMNCj4gU1RfUkVHMCwgLi4uLCBTVF9SRUc3 LiAgTWF5YmUgaXQncyBiZXR0ZXIgdG8gYWx3YXlzIHVzZSB0aGUgbmFtZQ0KPiAiU1RfUkVHIiBp bnN0ZWFkIG9mICJGQ0MiIHRoZW4uDQpPa2F5LCBJIHNlZS4gIFNvLCBlYWNoIFNUX1JFR2kgcmVn aXN0ZXIgaXMgYSAxLWJpdCBwc2V1ZG8gcmVnaXN0ZXI/IEJ1dCBwaHlzaWNhbGx5IGVhY2ggb2Yg dGhlbSBpcyAxLWJpdCBpbiBhIHBoeXNpY2FsIHJlZ2lzdGVyPw0KPiANCj4+IEZyb20gdGhlIGFi b3ZlIGNvZGUsIGxvb2tzIGxpa2UgdGhhdCB3aGVuIGFueSAg4oCcU1RfUkVHc+KAnSBpcyBpbiDi gJxuZWVkX3plcm9lZF9oYXJkcmVnc+KAnSxGQ0MgbmVlZCB0byBiZSBjbGVhcmVkPyANCj4gDQo+ IEJlY2F1c2UgdGhlcmUgaXMgbm8gZWxlZ2FudCB3YXkgdG8gY2xlYXIgb25lIHNwZWNpZmljIEZD QyBiaXQgaW4gTUlQUy4gDQo+IEEgImN0YzEgJDAsICQyNSIgaW5zdHJ1Y3Rpb24gd2lsbCB6ZXJv IHRoZW0gYWx0b2dldGhlci4gIElmIHdlIHJlYWxseQ0KPiBuZWVkIHRvIGNsZWFyIG9ubHkgb25l IG9mIHRoZW0gKGxldCdzIHNheSBTVF9SRUczKSwgd2UnbGwgaGF2ZSB0byBlbWl0DQo+IHNvbWV0 aGluZyBsaWtlDQo+IA0KPiBtdGMxICAkMCwgJDAgICAgICAgICAgICMgemVybyBGUFIwIHRvIGVu c3VyZSBpdCB3b24ndCBjb250YWluIHNOYU4NCj4gYy5mLnMgJDMsICQwLCAkMA0KPiANCj4gVGhl biB3ZSdsbCBzdGlsbCBuZWVkIHRvIGNsb2JiZXIgRlBSMCB3aXRoIHplcm8uICBTbyBhbnl3YXkg d2UnbGwgaGF2ZQ0KPiB0byBjbGVhciBzb21lIHJlZ2lzdGVycyBub3Qgc3BlY2lmaWVkIGluIG5l ZWRfemVyb2VkX2hhcmRyZWdzLg0KDQpTbywg4oCcYy5mLnPigJ0gaW5zdHJ1Y3Rpb24gY2FuIGJl IHVzZWQgdG8gY2xlYXIgT05MWSBvbmUgc3BlY2lmaWMgRkNDIGJpdD8gDQpCdXQgeW91IGhhdmUg dG8gY2xlYXIgb25lIEZQUiAoZmxvYXRpbmcgcG9pbnRlciByZWdpc3Rlcj8pIGZpcnN0IHRvIGF2 b2lkIHJhaXNpbmcgZXhjZXB0aW9uPyANCk15IHF1ZXN0aW9uIGhlcmUgaXM6ICBpcyB0aGVyZSBh IGNhc2Ugd2hlbiBvbmx5IEZDQyBuZWVkIHRvIGJlIGNsZWFyZWQgYnV0IG5vIEZQUiBuZWVkIHRv IGJlIGNsZWFyZWQ/IA0KDQpJZiBOT1QsIHRoZW4gd2UgY2FuIGFsd2F5cyBwaWNrIG9uZSBGUFJp ICBiZWZvcmUgYy5mLnMgdG8gYXZvaWQgdGhlIGlzc3VlIHlvdSBtZW50aW9uZWQgKFdl4oCZbGwg aGF2ZSB0byBjbGVhciBzb21lIHJlZ2lzdGVycyBub3Qgc3BlY2lmaWVkIGluIG5lZWRfemVyb2Vk X2hhcmRyZWdzKS4NCj4gDQo+IEFuZCB0aGUgcXVlc3Rpb24gaXM6IGlzIGl0IHJlYWxseSBhbGxv d2VkIHRvIHJldHVybiBzb21ldGhpbmcgb3RoZXIgdGhhbg0KPiBhIHN1YnNldCBvZiBuZWVkX3pl cm9lZF9oYXJkcmVncyBmb3IgYSBUQVJHRVRfWkVST19DQUxMX1VTRURfUkVHUyBob29rPw0KDQpB bHRob3VnaCBjdXJyZW50bHkgdGhlcmUgaXMgbm8gYXNzZXJ0aW9uIGFkZGVkIHRvIGZvcmNlIHRo aXMgcmVxdWlyZW1lbnQsIEkgc3RpbGwgdGhpbmsgdGhhdCB3ZSBzaG91bGQga2VlcCBpdC4NCg0K VGhlIOKAnG5lZWRfemVyb2VkX2hhcmRyZWdz4oCdIGlzIGNvbXB1dGVkIGJhc2VkIG9uIA0KDQox LiBVc2Vy4oCZcyByZXF1ZXN0IGZyb20gY29tbWFuZCBsaW5lIG9wdGlvbjsNCjIuIERhdGEgZmxv dyBpbmZvIG9mIHRoZSByb3V0aW5lOw0KMy4gQWJpIGluZm8gb2YgdGhlIHRhcmdldDsNCg0KSWYg emVyb19jYWxsX3VzZWRfcmVncyB0YXJnZXQgaG9vayByZXR1cm4gcmVnaXN0ZXJzIG91dCBvZiDi gJxuZWVkX3plcm9lZF9oYXJkcmVnc+KAnSBzZXQsIHRoZW4gaXQgbWlnaHQgb3V0IG9mIHRoZSB1 c2Vy4oCZcyBleGNlcHRpb24sIGl0IHNob3VsZCBiZSBjb25zaWRlcmVkIGFzIGEgYnVnLCBJIHRo aW5rLg0KDQpRaW5nDQo+IElmIHllcyB0aGVuIHdlJ2xsIGhhcHBpbHkgdG8gZG8gc28gKGxpa2Ug aG93IHRoZSB2MiBvZiB0aGUgcGF0Y2ggZG9lcyksDQo+IG90aGVyd2lzZSB3ZSdkIG5lZWQgdG8g Y2xvYmJlciB0aG9zZSByZWdpc3RlcnMgTk9UIGluDQo+IG5lZWRfemVyb2VkX2hhcmRyZWdzIGV4 cGxpY2l0bHkuDQo+IC0tIA0KPiBYaSBSdW95YW8gPHhyeTExMUBtZW5neWFuMTIyMy53YW5nPg0K PiBTY2hvb2wgb2YgQWVyb3NwYWNlIFNjaWVuY2UgYW5kIFRlY2hub2xvZ3ksIFhpZGlhbiBVbml2 ZXJzaXR5DQoNCg==