From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 16183385842B for ; Fri, 1 Oct 2021 14:55:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 16183385842B Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 191Ej8w6016182; Fri, 1 Oct 2021 14:55:04 GMT Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by mx0b-00069f02.pphosted.com with ESMTP id 3bdds87v92-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Oct 2021 14:55:03 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 191EoOp6101953; Fri, 1 Oct 2021 14:55:02 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2104.outbound.protection.outlook.com [104.47.55.104]) by userp3020.oracle.com with ESMTP id 3bc3chm658-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Oct 2021 14:55:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jQvAZX1C73TSRTZu8nX8EBt9T8NiaeLPjVA3GpeNvl0scvQi4cDdpKWLWANcfJ97qy7V0rMAJlDK39o8m3V3q8Fgo0AEvKvw8AOqI9opwWKQNbHgzlzciybgO1ydhGvnzrpLk/eyUT9Wsu8UW42qPFCPedfAY4dXtwoq8S+Jg0bO8ASf17h7abbxSEC+YKhMnIqlrMks5I7fyouCDQ0NxAf2l4G9IYblIOoLOhz54UWLr7mP7Pptgjwc1mq3juWuB7xMLoDIsChXyMOEoRPw4lFUMLtN7EwFgTI6dfDXnME9Hn8vWpaO9puwVdg+pAmtN8+tPBYliIlo6pJThZLivw== 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=SlKEUXqfiUkyDG7S1rAHtGHT/KkFlOVgsVllTDvZSr8=; b=G/fs/smcYY1qDQpH0SxbxnLJn7K0qAJSVvunTvgLsBX9iOpzc7fX2dGj1+Wu4m7oVcHGMQH8lEX/0SLUb1k55lo1URoCTT3dCECE2Dl1LucqvtBKmwM3VAgJXt0XbPMccsWR+OTynP/XoU+de6CAQtYCtVD6jS6DqSwOaHsp6K4HnWfbh5uqgkZo6VjKK+Ty82UKkeBVWPQwZFUHuANiurxsLrY9QTq3BQL1sQTAKfzfmOdqTv0C5wIj1GrLAmcsH6/hLy2Df5feNASyJLKjV75Gbgm/S6ghTWtCSdqPlrXvJGhdgebVdvkmC5jdmDRugt4AnNDmZRZ9neHciY7mQg== 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 CH0PR10MB5131.namprd10.prod.outlook.com (2603:10b6:610:c6::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.16; Fri, 1 Oct 2021 14:54:59 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::25f8:eaf:a3b9:fe86]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::25f8:eaf:a3b9:fe86%3]) with mapi id 15.20.4566.019; Fri, 1 Oct 2021 14:54:59 +0000 From: Qing Zhao To: Jason Merrill CC: Richard Biener , gcc-patches Nick Alcock via Subject: Re: [RFC][Patch][middle-end/PR102359]Not add initialization for READONLY variables with -ftrivial-auto-var-init Thread-Topic: [RFC][Patch][middle-end/PR102359]Not add initialization for READONLY variables with -ftrivial-auto-var-init Thread-Index: AQHXtXkoJJ7ZlWIGy0Oc1zNfAOeCiau7+/UAgAApG4CAAJNtgIAAP/mAgAFFMgA= Date: Fri, 1 Oct 2021 14:54:59 +0000 Message-ID: References: <788c04d7-6e87-4eff-decb-a13abf0b4058@redhat.com> <5q583245-3qq5-76p7-o1p4-312496os4140@fhfr.qr> <710E24B6-B845-49F0-B426-741905C48EA2@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: 1f36d864-62ce-45a9-b793-08d984eb70c0 x-ms-traffictypediagnostic: CH0PR10MB5131: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: CDWDaMceKyV+6vgn5fOdGJIuazpQqLbLKUyF7NWXllWrGsR76H2FHQxmbj77Vf+ed5lqFYDgZA17Uzp7p7CvBat1pi9dJxd1iNygJH4GsvTcxWmtXxAugc7NeXOkJkjELCoSIVPvqEY/8yDmOuMi2y2jRJPvz6qIEwUVAOFEbkLGr89BSanjliEi2TkN3rxhnv9Am6j+d1Jji5BPRMLcGR2gj5bZgwLgQSkbf8oxxWTULIdndcdDjGXyxtOJNdm8z70DHJTZn3hH9TwfT9oH3S4nSjzOF+blN9k/7ObJ/bJacuMh63GAYBXT3+R+PeLKoWytiLYoqbORW+2BBveXURJSLxvF5uqkX6teNY8/B82jttcmaFlOJol3ILI8RyWcmsr5bEnuvtysKKFbIi0+NF0K6LVkcJQNZJzFzK1e0ke6AD+geNlJ5RiV3hPs5aLIMhfQ0vegL/hiLtHMWEFFcO9D0+Mv3LlYqhdlhTIXuth4XbZidISG049irLkHuJprS81ttDo5A1F6zbwhmJdHSGp/vLePg39jte3vArKssql334eqmCtIvvZUnXx74hy6dUnNNy3F2+93oNmgwZ3ly9Tonzb/OeFeBfVjX+ALHxN9umS9yDH5CF/QPlk+U/iNm98DGU/x2Ujhnex5qBORDjDIUcXyfqO6QsBYCvX0aio3uduPoErcVkfnITAH7OQapJdai654X5EnraIW56NSoMevNkT40w0zAf8pwt8m3Gplv7s27EwWvUgKkbX/u1MIqO4d8qnM1bDmNtYa6rnJoZBMSKs3GxG9ajCZOvFnIHsTO6qiiMSJVgNg0BcGJVHc 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:(366004)(508600001)(91956017)(76116006)(66946007)(4326008)(2616005)(53546011)(6916009)(6506007)(38070700005)(33656002)(8676002)(26005)(186003)(6512007)(66476007)(86362001)(83380400001)(66556008)(38100700002)(122000001)(64756008)(316002)(6486002)(36756003)(44832011)(2906002)(66446008)(5660300002)(54906003)(8936002)(966005)(71200400001)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SXpUaWEvRnpyRVBmYlV4YlUxWnRpWWpsN1JoeklOOFMxaW02RFZLMm92ZGdR?= =?utf-8?B?M1RRUnNTRmRLNnlSZHYra1JlbUNoVk9NdEY1MENzYy9BdjBwd2xHdUFFMTdX?= =?utf-8?B?VjczZldJcXVTSHYxbUtEWDIvc3JDR015Z2cyTEUyOEJiczhXMVJ6cmNsZkJP?= =?utf-8?B?R0NPalFUWHBhbGVINGd4T3ZtUWN5RzNTQTRrVkhmZFk5V3ZRdGhab0dBZjFE?= =?utf-8?B?RFk5N2tidDMxYXgyZVlJck5ZcEEzdGs0M1p5OUJrYlNwUy9ZRkp2WHUxdVU2?= =?utf-8?B?MG9pUVhKdGpXWkw3REJWOWRnZEpVZkgwR05tV3hFKzZQdXdjdVdPQVo4MjZK?= =?utf-8?B?S01laGx2TkN5eVhzTVlVVjVmak5lUXMydkMrcnoyZ1ZPVjlQYkRvb0x6bGZQ?= =?utf-8?B?NUYySEVuOVIwNGw0TUZFbzA5UUxSbmZpZVJteEpBRjg5Q0RIUU4zRTd2emsr?= =?utf-8?B?Z0ljWUoxbnMvU0VlbmZWNC8vQVRHalJmZ2lXT2ZWNndjeXVLNHhzeXBsOFBj?= =?utf-8?B?NGw0aW9IdHJXNnRBSW5VTFI0V2FkWW5mTG96cG5oN3QrSU9HeXgyR2hVYjIv?= =?utf-8?B?L1ZQUEprTUNWQ1I2NjVJeEtNSkZBQm1CRjhIZjhuWTlTbEtZRTlWUmRzcHRw?= =?utf-8?B?ZzA4T0Z0aHpETlZQQU5RV3g5cXJWajhYVVNjd0w3WmtYL0NCbDRvSHUzbUdn?= =?utf-8?B?d2EyR3Q2TE9WUDNuL2hNTVpON1JYUyt1QTI3L0ZTamFLemlFb3FxN3J6UmxJ?= =?utf-8?B?QjcyY0ozY0J5dGh3ZHBtWVNsR00vbllkN3UrQldHMzg0VTVoZURiNE94OFRJ?= =?utf-8?B?d2NPSzd3d0hEWjZzcUxQbDMrbTI0UW5NdGgveFJUWGJRTWhvOElYQjNkOXNV?= =?utf-8?B?aVc4TUFzKzc0RmZlV1NZb1JXQjRWeHpVTWY0cEY3WkQ5SGk3UUtFS21mdnZ5?= =?utf-8?B?YS93WStZYUtPQTJidnlWWXJvazhWSDBYTTh3U0thNlpJZTlsSEcxZnE1SHhy?= =?utf-8?B?ejl2RFNZR1NNS1ZTdC9OcUdUZ2ZkQTN2bTF3aHNvUloxOU5aQWxtaGQxQU1V?= =?utf-8?B?WkIyT3JuOXczbzM3Wjl5NWUxNnptRmJLU2haRTVuSjlZVEJSVjBUVSs0VnJ0?= =?utf-8?B?WVcyc2Z4cUhzeDB5clM1NGR4Uk9GV0pmUmhHejloMmdtelliYlpleTNISnlR?= =?utf-8?B?Qzk5OVV3eHUzRTNFYk5UdmlJVHlONW9MdVJvUU1nMEdMRHphMlBGZmhCYnpj?= =?utf-8?B?OFkyWlpBdytwSEoxNlFuNVZSUWxFNFJpbXQxWEpCMzVnU25EbVY2K0RoTTR4?= =?utf-8?B?STVPRUM1alNEbUZlVU9OTi8vVExWMDZpL3NlZ2NzNFd5Lzh6TlBGZ1YrYk56?= =?utf-8?B?aWVONjVsWS9aeWpaejgwcysvY1BScjRJb2hzSmlYSHQwSCtHVU5STWJxMlVB?= =?utf-8?B?aGVaNmxiODgvbzBaQWZ2N25Zc3VlZjJoVy84dmpmbkQ4dXNJRVplTHhnTVNR?= =?utf-8?B?MkV6amdnWGE4TGFnOHdxd2Fnb0FrWEt3MjRvYUVLeVlGaWQwbU8wMzZnKzho?= =?utf-8?B?VFFNWU9TYVhwNG9IRmNlVkJzMjhXVGdTS1Y4czRIUUQ5Q3pTRUFLdDliaE54?= =?utf-8?B?cVhuYWNEMlR4b1BlVlRYbmI4UExxL1E2ZldlYnhMVXdvR2xOcVlkakt5ZlRL?= =?utf-8?B?b2J1MWZ5WThYMVprTjVncDZOK1hYTE91b3hTMnZ2WlpQbkdSbHBSanNrbGZq?= =?utf-8?Q?gB3bUYSjoBsbgxWwXAwOy+99LqMzE9YE7C2D1cm?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <9221242AE792EA418DDDE11FFEFD33E7@namprd10.prod.outlook.com> 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: 1f36d864-62ce-45a9-b793-08d984eb70c0 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Oct 2021 14:54:59.2429 (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: waF3UiaGQpyOP9EzKUrLLZ4cN+o2yeWQ414zpbJho1xSIsRcuoglRT2b8JjGstL871P5vMqHQHpRPa32D7Qqxw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5131 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10124 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxscore=0 mlxlogscore=999 phishscore=0 bulkscore=0 suspectscore=0 malwarescore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2109230001 definitions=main-2110010102 X-Proofpoint-GUID: _Py6GNbQ0dwg9GtfuwlHjV7V_Lbn8nSY X-Proofpoint-ORIG-GUID: _Py6GNbQ0dwg9GtfuwlHjV7V_Lbn8nSY X-Spam-Status: No, score=-5.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP 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, 01 Oct 2021 14:55:09 -0000 DQoNCj4gT24gU2VwIDMwLCAyMDIxLCBhdCAyOjMxIFBNLCBKYXNvbiBNZXJyaWxsIDxqYXNvbkBy ZWRoYXQuY29tPiB3cm90ZToNCj4gDQo+IE9uIDkvMzAvMjEgMTE6NDIsIFFpbmcgWmhhbyB3cm90 ZToNCj4+PiBPbiBTZXAgMzAsIDIwMjEsIGF0IDE6NTQgQU0sIFJpY2hhcmQgQmllbmVyIDxyZ3Vl bnRoZXJAc3VzZS5kZT4gd3JvdGU6DQo+Pj4gDQo+Pj4gT24gVGh1LCAzMCBTZXAgMjAyMSwgSmFz b24gTWVycmlsbCB3cm90ZToNCj4+PiANCj4+Pj4gT24gOS8yOS8yMSAxNzozMCwgUWluZyBaaGFv IHdyb3RlOg0KPj4+Pj4gSGksDQo+Pj4+PiANCj4+Pj4+IFBSMTAyMzU5IChJQ0UgZ2ltcGxpZmlj YXRpb24gZmFpbGVkIHNpbmNlICByMTItMzQzMy1nYTI1ZTBiNWU2YWM4YTc3YSkNCj4+Pj4+IGh0 dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTEwMjM1OQ0KPj4+Pj4g DQo+Pj4+PiBJcyBkdWUgdG8gLWZ0cml2aWFsLWF1dG8tdmFyLWluaXQgYWRkaW5nIGluaXRpYWxp emF0aW9uIGZvciBSRUFET05MWQ0KPj4+Pj4gdmFyaWFibGUg4oCcdGhpc+KAnSBpbiB0aGUgZm9s bG93aW5nIHJvdXRpbmU6ICh0LmNwcC4wMDV0Lm9yaWdpbmFsKQ0KPj4+Pj4gDQo+Pj4+PiA9PT09 PT09DQo+Pj4+PiANCj4+Pj4+IDs7IEZ1bmN0aW9uIEE6OmZvbygpOjo8bGFtYmRhKCk+IChudWxs KQ0KPj4+Pj4gOzsgZW5hYmxlZCBieSAtdHJlZS1vcmlnaW5hbA0KPj4+Pj4gDQo+Pj4+PiB7DQo+ Pj4+PiAgY29uc3Qgc3RydWN0IEEgKiBjb25zdCB0aGlzIFt2YWx1ZS1leHByOiAmX19jbG9zdXJl LT5fX3RoaXNdOw0KPj4+Pj4gICAgY29uc3Qgc3RydWN0IEEgKiBjb25zdCB0aGlzIFt2YWx1ZS1l eHByOiAmX19jbG9zdXJlLT5fX3RoaXNdOw0KPj4+Pj4gIHJldHVybiA8cmV0dmFsPiA9IChkb3Vi bGUpICgoY29uc3Qgc3RydWN0IEEgKikgdGhpcyktPmE7DQo+Pj4+PiB9DQo+Pj4+PiA9PT09PT09 DQo+Pj4+PiANCj4+Pj4+IEhvd2V2ZXIsIGluIHRoZSBhYm92ZSByb3V0aW5lLCDigJx0aGlz4oCd IGlzIE5PVCBtYXJrZWQgYXMgUkVBRE9OTFksIGJ1dCBpdHMNCj4+Pj4+IHZhbHVlLWV4cHIgIiZf X2Nsb3N1cmUtPl9fdGhpc+KAnSBpcyBtYXJrZWQgYXMgUkVBRE9OTFkuDQo+Pj4+PiANCj4+Pj4+ IFRoZXJlIGFyZSB0d28gbWFqb3IgaXNzdWVzOg0KPj4+Pj4gDQo+Pj4+PiAxLiBJbiB0aGUgcm91 dGluZSDigJxpc192YXJfbmVlZF9hdXRvX2luaXTigJ0sIHdlIHNob3VsZCBleGNsdWRlIOKAnGRl Y2zigJ0gdGhhdCBpcw0KPj4+Pj4gbWFya2VkIGFzIFJFQURPTkxZOw0KPj4+Pj4gMi4gSW4gdGhl IEMrKyBGRSwg4oCcdGhpc+KAnSBzaG91bGQgYmUgbWFya2VkIGFzIFJFQURPTkxZLg0KPj4+Pj4g DQo+Pj4+PiBUaGUgaWRlYSBzb2x1dGlvbiB3aWxsIGJlOg0KPj4+Pj4gDQo+Pj4+PiAxLiBGaXgg 4oCcaXNfdmFyX25lZWRfYXV0b19pbml04oCdIHRvIGV4Y2x1ZGUgVFJFRV9SRUFET05MWSAoZGVj bCk7DQo+Pj4+PiAyLiBGaXggQysrIEZFIHRvIG1hcmsg4oCcdGhpc+KAnSBhcyBUUkVFX1JFQURP TkxZIChkZWNsKT09dHJ1ZTsNCj4+Pj4+IA0KPj4+Pj4gTm90IHN1cmUgd2hldGhlciBpdOKAmXMg aGFyZCBmb3IgQysrIEZFIHRvIGZpeCB0aGUgMm5kIGlzc3VlIG9yIG5vdD8NCj4+Pj4+IA0KPj4+ Pj4gSW4gdGhlIGNhc2UgaXTigJlzIG5vdCBhIHF1aWNrIGZpeCBpbiBDKytGRSwgSSBwcm9wb3Nl ZCB0aGUgZm9sbG93aW5nIGZpeCBpbg0KPj4+Pj4gbWlkZGxlIGVuZDoNCj4+Pj4+IA0KPj4+Pj4g TGV0IG1lIGtub3cgeW91ciBjb21tZW50cyBvciBzdWdnZXN0aW9ucyBvbiB0aGlzLg0KPj4+Pj4g DQo+Pj4+PiBUaGFua3MgYSBsb3QgZm9yIHRoZSBoZWxwLg0KPj4+PiANCj4+Pj4gSSdkIHRoaW5r IGlzX3Zhcl9uZWVkX2F1dG9faW5pdCBzaG91bGQgYmUgZmFsc2UgZm9yIGFueSB2YXJpYWJsZSB3 aXRoDQo+Pj4+IERFQ0xfSEFTX1ZBTFVFX0VYUFJfUCwgYXMgdGhleSBhcmVuJ3QgcmVhbGx5IHZh cmlhYmxlcywganVzdCB3YXlzIG9mIG5hbWluZw0KPj4+PiBvYmplY3RzIHRoYXQgYXJlIGluaXRp YWxpemVkIGVsc2V3aGVyZS4NCj4+PiANCj4+PiBJSVJDIGhhbmRpbmcgdmFyaWFibGVzIHdpdGgg REVDTF9IQVNfVkFMVUVfRVhQUl9QIGlzIG5lY2Vzc2FyeSB0bw0KPj4+IGF1dG8taW5pdCBWTEFz LCBvdGhlcndpc2UgSSB0ZW5kIHRvIGFncmVlIC0gd291bGQgd2UgaGFuZGxlIHRob3NlDQo+Pj4g d2hlbiB3ZSBzZWUgYSBERUNMX0VYUFIgdGhlbj8NCj4+IFRoZSBjdXJyZW50IGltcGxlbWVudGF0 aW9uIGlzOg0KPj4gZ2ltcGxpZnlfZGVjbF9leHByOg0KPj4gRm9yIGVhY2ggREVDTF9FWFBSIOKA nGRlY2zigJ0NCj4+ICAgIElmIChWQVJfUCAoZGVjbCkgJiYgIURFQ0xfRVhURVJOQUwgKGRlY2wp KQ0KPj4gICAgICB7DQo+PiAJaWYgKGlzX3ZsYSAoZGVjbCkpDQo+PiAgICAgICAgICAgZ2ltcGxp ZnlfdmxhX2RlY2wgKGRlY2wsIOKApik7ICAgICAgLyogZXhpc3RpbmcgaGFuZGxpbmc6IGNyZWF0 ZSBhIFZBTFVFX0VYUFIgZm9yIHRoaXMgdmxhIGRlY2wqLw0KPj4gCeKApg0KPj4gCWlmIChoYXNf ZXhwbGljaXRfaW5pdCAoZGVjbCkpDQo+PiAJICB7DQo+PiAJICAg4oCmOyAgICAgLyogZXhpc3Rp bmcgaGFuZGxpbmcuICAqLw0KPj4gCSAgfQ0KPj4gCWVsc2UgaWYgKGlzX3Zhcl9uZWVkX2F1dG9f aW5pdCAoZGVjbCkpICAgICAgLyouIE5ldyBjb2RlLiAqLw0KPj4gCSAgew0KPj4gCSAgICBnaW1w bGVfYWRkX2luaXRfZm9yX2F1dG9fdmFyICjigKYuKTsgICAvKiAgbmV3IGNvZGUuICAqLw0KPj4g CSAgICAuLi4NCj4+IAkgIH0NCj4+ICAgICAgfQ0KPj4gU2luY2UgdGhlIOKAnERFQ0xfVkFMVUVf RVhQUiAoZGVjbCnigJ0gaXMgTk9UIGEgREVDTF9FWFBSLCBpdCB3aWxsIG5vdCBiZSBzY2FubmVk IGFuZCBhZGRlZCBpbml0aWFsaXphdGlvbi4NCj4+IGlmIHdlIGRvIG5vdCBhZGQgaW5pdGlhbGl6 YXRpb24gZm9yIGEgZGVjbCB0aGF0IGhhcyBERUNMX1ZBTFVFX0VYUFIsIHRoZW4gdGhlIOKAnERF Q0xfVkFMVUVfRVhQUiAoZGVjbCnigJ0gd2lsbCBub3QgYmUgYWRkZWQgYW4gaW5pdGlhbGl6YXRp b24gZWl0aGVyLiAgV2Ugd2lsbCBtaXNzIGFkZGluZyBpbml0aWFsaXphdGlvbnMgZm9yIHRoZXNl IGRlY2xzLg0KPj4gU28sIEkgdGhpbmsgdGhhdCB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBp cyBjb3JyZWN0Lg0KPj4gQW5kIGlmIEMrKyBGRSB3aWxsIG5vdCBtYXJrIOKAnHRoaXPigJ0gYXMg UkVBRE9OTFksIG9ubHkgbWFyayBERUNMX1ZBTFVFX0VYUFIodGhpcykgYXMgUkVBRE9OTFksIHRo ZSBwcm9wb3NlZCBmaXggaXMgY29ycmVjdCB0b28uDQo+PiBMZXQgbWUga25vdyB5b3VyIG9waW5p b24gb24gdGhpcy4NCj4gDQo+IFRoZSBwcm9ibGVtIHdpdGggdGhpcyB0ZXN0IGlzIG5vdCB3aGV0 aGVyIHRoZSAndGhpcycgcHJveHkgaXMgbWFya2VkIFJFQURPTkxZLCB0aGUgcHJvYmxlbSBpcyB0 aGF0IHlvdSdyZSB0cnlpbmcgdG8gaW5pdGlhbGl6ZSBsYW1iZGEgY2FwdHVyZSBwcm94aWVzIGF0 IGFsbDsgdGhlIGxhbWJkYSBjYXB0dXJlIG9iamVjdHMgd2VyZSBhbHJlYWR5IGluaXRpYWxpemVk IHdoZW4gZm9ybWluZyB0aGUgY2xvc3VyZSBvYmplY3QuICBTbyB0aGlzIHRlc3QgY3VycmVudGx5 IGFib3J0cyB3aXRoIC1mdHJpdmlhbC1hdXRvLXZhci1pbml0PXplcm8gYmVjYXVzZSB5b3UgImlu aXRpYWxpemUiIHRoZSBpIGNhcHR1cmUgZmllbGQgdG8gMCBhZnRlciBpdCB3YXMgcHJldmlvdXNs eSBpbml0aWFsaXplZCB0byA0MjoNCj4gDQo+IGludCBtYWluKCkNCj4gew0KPiAgaW50IGkgPSA0 MjsNCj4gIGF1dG8gbCA9IFs9XSgpIG11dGFibGUgeyByZXR1cm4gaTsgfTsNCj4gIGlmIChsKCkg IT0gaSkNCj4gICAgX19idWlsdGluX2Fib3J0ICgpOw0KPiB9DQo+IA0KPiBJIGJlbGlldmUgdGhl IHNhbWUgaXNzdWUgYXBwbGllcyB0byB0aGUgcHJveHkgdmFyaWFibGVzIGluIGNvcm91dGluZXMg dGhhdCB3b3JrIG11Y2ggbGlrZSBsYW1iZGFzLg0KU28sIGhvdyBzaG91bGQgdGhlIG1pZGRsZSBl bmQgZGV0ZXJtaW5lIHRoYXQgYSB2YXJpYWJsZSBpcyDigJxwcm94eSB2YXJpYWJsZeKAnT8NCkhh dmUgYWxsIOKAnHByb3h5IHZhcmlhYmxlc+KAnSBiZWVuIGluaXRpYWxpemVkIGJ5IEMrKyBGRSBh bHJlYWR5Pw0KPiANCj4gWW91IGNhbid0IGp1c3QgYXNzdW1lIHRoYXQgYSBWQVJfREVDTCB3aXRo IERFQ0xfVkFMVUVfRVhQUiBpcyB1bmluaXRpYWxpemVkLg0KDQpTbywgYWxsIHRoZSBWQVJfREVD THMgd2l0aCBERUNMX1ZBTFVFX0VYUFIgKGV4Y2VwdCB0aGUgb25lcyBjcmVhdGVkIGJ5IOKAnGdp bXBsaWZ5X2RlY2xfZXhwcuKAnSkgYXJlIGluaXRpYWxpemVkIGJ5IEZFIGFscmVhZHk/DQoNCj4g DQo+IFNpbmNlIHRoZXJlJ3MgYWxyZWFkeSBWTEEgaGFuZGxpbmcgaW4gZ2ltcGxpZnlfZGVjbF9l eHByLCB5b3UgY291bGQgcmVtZW1iZXIgd2hldGhlciB5b3UgYWRkZWQgREVDTF9WQUxVRV9FWFBS IGluIHRoYXQgZnVuY3Rpb24sIGFuZCBvbmx5IHRoZW4gZG8gdGhlIGluaXRpYWxpemF0aW9uLg0K DQpZZXMsIGlmIHdlIGNhbiBndWFyYW50ZWUgdGhhdCBhbGwgdGhlIFZBUl9ERUNMcyB3aXRoIERF Q0xfVkFMVUVfRVhQUiBjcmVhdGVkIGZyb20gRkVzIGhhdmUgYmVlbiBpbml0aWFsaXplZCBhbHJl YWR5IGJ5IEZFLCB3ZSBjYW4gZml4IHRoaXMgaXNzdWUgYXMgdGhpcyB3YXkuDQoNCnRoYW5rcy4N Cg0KUWluZw0KPiANCj4gSmFzb24NCj4gDQoNCg==