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 C93D7383D80F for ; Wed, 11 Aug 2021 14:01:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C93D7383D80F Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 17BDwQRA022270; Wed, 11 Aug 2021 14:01:05 GMT Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by mx0b-00069f02.pphosted.com with ESMTP id 3acb7a0pd1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 11 Aug 2021 14:01:03 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 17BE0h1i066436; Wed, 11 Aug 2021 14:01:02 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2176.outbound.protection.outlook.com [104.47.59.176]) by aserp3030.oracle.com with ESMTP id 3abx3vt5xh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 11 Aug 2021 14:01:02 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T/r8ARAfNrrsDZW6IIK42EOPBJVZ4nGsBoTIFK3T667v6z/8d9XSOfAUlm/Ws4NnB36tIWqy/1/ythsjU78+hZV8sOBEDYhd5UidTmtM1meYi9KG9+iWT9p1UkfNX2KljbUgHrEbAwCkBlLEESulj+wYDFoipbxwjUHNqIR6irYz0n3t5AkJtxDxLfwu5v8toYX5eAzphblVBXlVdqrbNNpaQPXCFv316WB7n7sr5+Tg0DsKnbr9oaXsRAa79zsVlMGjlg+P3GCAqry82KjvF3yVFDOjA5GbK8iZupUCWPyIa4plgNRqCxKCFT3A1rV+rmz6dHQxHB5zOwg5oJmPYA== 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-SenderADCheck; bh=Z3iGfctlvjTRJhctWzqMLJDnUoTq2PXOlfUt7UpF8a4=; b=haIdaNRoUDCROIHRNxbQWVeH0uB4QNZZvxrOpWnp4C4Zd6GGKnVvnUdscUhYtKEdytfzmx/WpKx4r+KDPZ+iEj699xJjEXY9KLad/wt2s9ddXD5jznJL6Fhbr/LI6FuwkbeVNSRmFjoYCQap/s1JXC2+XMjP6HqsqvTfk0eycZpfQPrTmM+9UpjDBaFp8ugosYG9Ietdak5ol7n8v/fMyGZ3zOh7ry4KxFloBNLt1tj9MZzuNGwz+cKbGE18mPOlYbEgQQWJqQIOF3h3MAkGG2E+m6vPrgllePQciT96FFsXjIW/YoOg0hffmMYIH1U/JoWemb0+pD75Hd4oM3esMg== 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 CH2PR10MB4008.namprd10.prod.outlook.com (2603:10b6:610:c::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Wed, 11 Aug 2021 14:00:57 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::f463:6b71:2491:d547]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::f463:6b71:2491:d547%9]) with mapi id 15.20.4415.014; Wed, 11 Aug 2021 14:00:57 +0000 From: Qing Zhao To: Richard Biener CC: Jakub Jelinek , Nick Alcock via Gcc-patches , Kees Cook Subject: Re: [patch][version 6] add -ftrivial-auto-var-init and variable attribute "uninitialized" to gcc Thread-Topic: [patch][version 6] add -ftrivial-auto-var-init and variable attribute "uninitialized" to gcc Thread-Index: AQHXgpcfj6SO0Rka1UmU0GU91mFncqtrSzIAgAApjACAAPr8gIAAZYMAgAAKVgCAAAy9gIAABZoAgABR/YCAACR6AIAAkCQAgABtVACAAAEPAIAABLkAgAABQACAAACOgA== Date: Wed, 11 Aug 2021 14:00:57 +0000 Message-ID: References: <52E29277-1403-4755-901A-528116C43FB8@oracle.com> <58ADBC0C-9D44-485B-BB5A-B072664B9C4F@oracle.com> <6FD42B95-F73D-4B75-B83A-BAC4925B1714@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: 3116be2d-f3eb-4014-a13a-08d95cd071ad x-ms-traffictypediagnostic: CH2PR10MB4008: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: tOFAc07hS7XPPBMYycq9qWYvcZ24bCGsgx+blP+FkidhfHi5BhEczRDS4F0rc9ubqIUdOveY080Avq4QHva040eo9D1Nd9A5liXM8VCzq73PPb4QVQnHFiit9Sbeu90qea8BUMXspQKPtFZDe0t7GHPQg18teyb8mw8BULLs/JNR3+x3HQNOe0ZwnTZssV6IxL9jGAhZZ0y9wdRwQPeZMs5WlcYIs7fnEQ18gT2spZcds/J4yXcsvSWOZ16gOpZL6LUs7TNAZxhxwY5UhKL64hdHdThIGnJyKlDcWXWfPjcPUm18963ybX67lvDLhjg09lLTYwJaQIcJ7LOk99DkU2yjJX8XcuuqQoo40CURcey0qyoI0Igb8D3cKOlHkvQciiexJ7zIqH3kHqWDe/emTYS+/yaofHDxj9WVDgM8X+LyOZoIMN5jHlJTnErEEVMX5ry4AXkGWh9lD250I4KswpRtRbWvrXv4NWGCvApmQ30zQKNebN1QP70YylcmMCsSX5aTepI3vtdB/Pcltz2q5VE/fxufay9Jm2ndcPa33cH8/4iGTisasBLRu2l/qP69NEN/x5fh/0O7pHv4ErrDZyhiLSzxvIq+TzD5Fao0xw6g9qRncRxYlQPDQcdHt2nx8po2mWrpdIrGaJXPhDs0Z0X3dB+Ae00/EdqT1qCOsi6ii+2xBb9MKB1tssVRt03gGruK5Rq5H+lmGlTKVnsPW7+itD5qmjnhUqt9uoonbqlJLztoQ9ohj648pY1+Kzhje9HDbFlkdBoVNYpz3ZYZDA== 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:(136003)(366004)(39860400002)(376002)(396003)(346002)(6486002)(8936002)(71200400001)(6512007)(44832011)(122000001)(38100700002)(38070700005)(8676002)(33656002)(4326008)(86362001)(478600001)(186003)(66574015)(5660300002)(83380400001)(2906002)(66556008)(64756008)(66446008)(66476007)(53546011)(54906003)(66946007)(91956017)(76116006)(6506007)(36756003)(2616005)(316002)(6916009)(26005)(45980500001)(266184004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dm5iai9vaCt4OGNybGkrakNHbVJGaXk3ak5vclFqczFzaHM2ZUc0Yzk0aFhL?= =?utf-8?B?OUxHbkpGVmVWYW44WXBwYlNsUWJ6ejZUUHMwYm8wZkE3TGo4YmpFWG03ZSs1?= =?utf-8?B?R0tjYktEQW9paTdaeHZqdHR0WkV2THd1amlaWXV2bVRGRmRka1MvWkFYVE96?= =?utf-8?B?MjllQlpUTWNETi9aRWUvd2k0N1pObFN1emN5T2tLUE1QOVBlbU1xMWU5VXlj?= =?utf-8?B?ak5xMFNybE5pay9IbjBmY0crYnlJQWtQN1RUSnBRUjVmMWl0UjdIRkZQbUls?= =?utf-8?B?c1lwcVo3eU9uRzFxRDNnRnhXUkpoSlFnV28zTmpPNzNpQXBlZ1pWWHNTemkr?= =?utf-8?B?QndFcG9ZOUV0MGlhOFhuaFhrNG5aanhMWUNGVjBNMnFyN29EdVVlUU84TFhH?= =?utf-8?B?Uy9WTHprRVhnczcxbG1YS0wrdWdtaDcwcjhXNkdQUDdzWkhiK0tCMWZsanE4?= =?utf-8?B?Qy9UUDE1N2dIY3JEZzI5ZGlMcnJhQjBCUUdQZFZFOVZmazV0T3VHZ29CcFdR?= =?utf-8?B?aGhZcUkwYUhZbU1Hbi9GRFJ4YUhuODhPZDRSY2N4L25RTzZHcFlDRGRidkJx?= =?utf-8?B?eVlzaHVWaUpRRVk3Umh4Qk4xblBGbEJHaFNGZ3kzdGljQVEwbUV6NGhMTm9m?= =?utf-8?B?Qno1VEFublpjbjRlTFB5NzFxOWpBUmdVMUZhVkdUR2JqWGhnN21zckVzQ3c4?= =?utf-8?B?dnplWHF0MFVOa09NeTk3elY4QWNNY095WEZTNUhhQ3I1Ukx0ajVkMnAraFA0?= =?utf-8?B?OEF4UWU5ZVVJLzcxVFA5MHdRQmlFSmNjR1ZDNjhDZTRobnRiWHhKMkFENExQ?= =?utf-8?B?SGU5RGVzN04reFJPSVlieXFFMjc3VDdWTWVDVVpmOWVONmk5c29WQjdaQ3Rw?= =?utf-8?B?SVUrVEVVTDFwUlVWYzVGNm5ORXorcFQvQ0JkazRnWTE1Z1R0NVRPYXhLVXYz?= =?utf-8?B?T1BkbEp5eStpbkhYRk9xMTZHK2p1OXhYOVZKekhITjVYZVJxOTlBRXF0NTlz?= =?utf-8?B?azVRaExudzFvZzEyUEplNGp5VGMzS3lUSSs1ZzlqSTJJY3F4ZEdMMm50YmI3?= =?utf-8?B?YlhhbzdpOGxYUzhNM3FpYjh3ZGJWSGo4cjNHenhaMzZXL1JYVUoxbFJMeGRz?= =?utf-8?B?Z2V1ZTlXZk9UVmNqVldJZWpCU1pXNzNuQ2IxVG14ZE96b2ZVQWN6MzNYdEFx?= =?utf-8?B?NzdGTVc4Q25uNTAzT21zdEdRcE8wbXM4dHhYYklJRWlwSHZxZEVtdS9oSGs4?= =?utf-8?B?L2pxTWY0OEJhWFFtTGNxSlN0RzNzUytzVmVrUThQaERzc3dndEM1SUVyYk1N?= =?utf-8?B?RGJOSkxsQWErYVdNSWJ1K3lURVRRVGtvajNodXpUYnVWS1NDNUZMeDVUZCti?= =?utf-8?B?d1N1VnhQK3lFUkZlcndVUkQ1UWtLWjFocm9uV2JNRzMzUHBacmt6dFpkNGVx?= =?utf-8?B?alZOelQ5OHBFb1lBMFZWWTc5NndvWWx0OXE2SVNta2xQTjR4QVJLZVBhU1du?= =?utf-8?B?SWVXb3p0VFc3MkNyMi8vYnIzWGtSQVQ1UlBtYXBOdHh1a1R2S1hnLzA3Qi9m?= =?utf-8?B?b3lEODdmUU5NU0o2TzBrZm1HRXBlWitXUVQwZWNLd3Rhd3BteFREZ2o5eGMr?= =?utf-8?B?UVRjTnJaRHl4TkFHMU1McThTQVZORzhmcVNJUytOVHQ4Sm5ic0x4TlNwRTJK?= =?utf-8?B?Z3A5UGZiOURKUFNUR29ZM01CMTJScFFnaldIYzlCZ1ZlQnRoalFxSU9OMFda?= =?utf-8?Q?OoWWI02fCFhHpKoXOtv7/Ot9troms1cKC09xz9h?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <139D9D5EC7626E43B0E8B31758C15AA6@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: 3116be2d-f3eb-4014-a13a-08d95cd071ad X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2021 14:00:57.8618 (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: AOjDQz4BzXzaSkMfNtHIXR5Is/SHPV+eK2aSzOacsUxOvV2Z4hfH6pVRkkcjlTrn6AxSe3HSOKWSg2pD3ciLYQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR10MB4008 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10072 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxscore=0 bulkscore=0 spamscore=0 phishscore=0 mlxlogscore=999 suspectscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000 definitions=main-2108110095 X-Proofpoint-GUID: -FsgSjhwvPHbEHdjbc0lXtQi3uav_U2V X-Proofpoint-ORIG-GUID: -FsgSjhwvPHbEHdjbc0lXtQi3uav_U2V X-Spam-Status: No, score=-10.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_BL, RCVD_IN_MSPIKE_L3, 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: Wed, 11 Aug 2021 14:01:17 -0000 DQoNCj4gT24gQXVnIDExLCAyMDIxLCBhdCA4OjU4IEFNLCBSaWNoYXJkIEJpZW5lciA8cmd1ZW50 aGVyQHN1c2UuZGU+IHdyb3RlOg0KPiANCj4gT24gV2VkLCAxMSBBdWcgMjAyMSwgUWluZyBaaGFv IHdyb3RlOg0KPiANCj4+IA0KPj4gDQo+Pj4gT24gQXVnIDExLCAyMDIxLCBhdCA4OjM3IEFNLCBS aWNoYXJkIEJpZW5lciA8cmd1ZW50aGVyQHN1c2UuZGU+IHdyb3RlOg0KPj4+IA0KPj4+IE9uIFdl ZCwgMTEgQXVnIDIwMjEsIFFpbmcgWmhhbyB3cm90ZToNCj4+PiANCj4+Pj4gDQo+Pj4+IA0KPj4+ Pj4gT24gQXVnIDExLCAyMDIxLCBhdCAyOjAyIEFNLCBSaWNoYXJkIEJpZW5lciA8cmd1ZW50aGVy QHN1c2UuZGU+IHdyb3RlOg0KPj4+Pj4gDQo+Pj4+PiBPbiBUdWUsIDEwIEF1ZyAyMDIxLCBRaW5n IFpoYW8gd3JvdGU6DQo+Pj4+PiANCj4+Pj4+PiANCj4+Pj4+PiANCj4+Pj4+Pj4gT24gQXVnIDEw LCAyMDIxLCBhdCAzOjE2IFBNLCBRaW5nIFpoYW8gdmlhIEdjYy1wYXRjaGVzIDxnY2MtcGF0Y2hl c0BnY2MuZ251Lm9yZz4gd3JvdGU6DQo+Pj4+Pj4+IA0KPj4+Pj4+PiBIaSwgUmljaGFyZCwNCj4+ Pj4+Pj4gDQo+Pj4+Pj4+PiBPbiBBdWcgMTAsIDIwMjEsIGF0IDEwOjIyIEFNLCBSaWNoYXJkIEJp ZW5lciA8cmd1ZW50aGVyQHN1c2UuZGU+IHdyb3RlOg0KPj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4g RXNwZWNpYWxseSBpbiB0aGUgVkxBIGNhc2UgYnV0IGxpa2VseSBhbHNvIGluIGdlbmVyYWwgKHRo b3VnaCB1bmxpa2VseQ0KPj4+Pj4+Pj4+PiBzaW5jZSB1c3VhbGx5IHRoZSByZWNlaXZlciBvZiBp bml0aWFsaXphdGlvbnMgYXJlIHNpbXBsZSBlbm91Z2gpLiAgSSdkDQo+Pj4+Pj4+Pj4+IGV4cGVj dCB0aGUgVkxBIGNhc2UgZW5kIHVwIGFzDQo+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+PiAqcHRyX3Rv X2RlY2wgPSAuREVGRVJSRURfSU5JVCAoLi4uKTsNCj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+IHdo ZXJlICpwdHJfdG9fZGVjbCBpcyB0aGUgREVDTF9WQUxVRV9FWFBSIG9mIHRoZSBkZWNsLg0KPj4+ Pj4+Pj4+IA0KPj4+Pj4+Pj4+IFNvLCBmb3IgdGhlIGZvbGxvd2luZyBzbWFsbCB0ZXN0aW5nIGNh c2U6DQo+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4gPT09PQ0KPj4+Pj4+Pj4+IGV4dGVybiB2b2lkIGJh ciAoaW50KTsNCj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+PiB2b2lkIGZvbyhpbnQgbikNCj4+Pj4+Pj4+ PiB7DQo+Pj4+Pj4+Pj4gaW50IGFycltuXTsNCj4+Pj4+Pj4+PiBiYXIgKGFyclsyXSk7DQo+Pj4+ Pj4+Pj4gcmV0dXJuOw0KPj4+Pj4+Pj4+IH0NCj4+Pj4+Pj4+PiA9PT09PQ0KPj4+Pj4+Pj4+IA0K Pj4+Pj4+Pj4+IElmIEkgY29tcGlsZSBpdCB3aXRoIC1mdHJpdmlhbC1hdXRvLXZhci1pbml0PXpl cm8gLWZkdW1wLXRyZWUtZ2ltcGxlIC1TIC1vIGF1dG8taW5pdC0xMS5zIC1mZHVtcC1ydGwtZXhw YW5kLCB0aGUgKi5naW1wbGUgZHVtcCBpczoNCj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+PiA9PT09PQ0K Pj4+Pj4+Pj4+IHZvaWQgZm9vIChpbnQgbikNCj4+Pj4+Pj4+PiB7DQo+Pj4+Pj4+Pj4gaW50IG4u MDsNCj4+Pj4+Pj4+PiBzaXpldHlwZSBELjE5NTA7DQo+Pj4+Pj4+Pj4gYml0c2l6ZXR5cGUgRC4x OTUxOw0KPj4+Pj4+Pj4+IHNpemV0eXBlIEQuMTk1MjsNCj4+Pj4+Pj4+PiBiaXRzaXpldHlwZSBE LjE5NTM7DQo+Pj4+Pj4+Pj4gc2l6ZXR5cGUgRC4xOTU0Ow0KPj4+Pj4+Pj4+IGludFswOkQuMTk1 MF0gKiBhcnIuMTsNCj4+Pj4+Pj4+PiB2b2lkICogc2F2ZWRfc3RhY2suMjsNCj4+Pj4+Pj4+PiBp bnQgYXJyWzA6RC4xOTUwXSBbdmFsdWUtZXhwcjogKmFyci4xXTsNCj4+Pj4+Pj4+PiANCj4+Pj4+ Pj4+PiBzYXZlZF9zdGFjay4yID0gX19idWlsdGluX3N0YWNrX3NhdmUgKCk7DQo+Pj4+Pj4+Pj4g dHJ5DQo+Pj4+Pj4+Pj4gew0KPj4+Pj4+Pj4+ICBuLjAgPSBuOw0KPj4+Pj4+Pj4+ICBfMSA9IChs b25nIGludCkgbi4wOw0KPj4+Pj4+Pj4+ICBfMiA9IF8xICsgLTE7DQo+Pj4+Pj4+Pj4gIF8zID0g KHNpemV0eXBlKSBfMjsNCj4+Pj4+Pj4+PiAgRC4xOTUwID0gXzM7DQo+Pj4+Pj4+Pj4gIF80ID0g KHNpemV0eXBlKSBuLjA7DQo+Pj4+Pj4+Pj4gIF81ID0gKGJpdHNpemV0eXBlKSBfNDsNCj4+Pj4+ Pj4+PiAgXzYgPSBfNSAqIDMyOw0KPj4+Pj4+Pj4+ICBELjE5NTEgPSBfNjsNCj4+Pj4+Pj4+PiAg XzcgPSAoc2l6ZXR5cGUpIG4uMDsNCj4+Pj4+Pj4+PiAgXzggPSBfNyAqIDQ7DQo+Pj4+Pj4+Pj4g IEQuMTk1MiA9IF84Ow0KPj4+Pj4+Pj4+ICBfOSA9IChzaXpldHlwZSkgbi4wOw0KPj4+Pj4+Pj4+ ICBfMTAgPSAoYml0c2l6ZXR5cGUpIF85Ow0KPj4+Pj4+Pj4+ICBfMTEgPSBfMTAgKiAzMjsNCj4+ Pj4+Pj4+PiAgRC4xOTUzID0gXzExOw0KPj4+Pj4+Pj4+ICBfMTIgPSAoc2l6ZXR5cGUpIG4uMDsN Cj4+Pj4+Pj4+PiAgXzEzID0gXzEyICogNDsNCj4+Pj4+Pj4+PiAgRC4xOTU0ID0gXzEzOw0KPj4+ Pj4+Pj4+ICBhcnIuMSA9IF9fYnVpbHRpbl9hbGxvY2Ffd2l0aF9hbGlnbiAoRC4xOTU0LCAzMik7 DQo+Pj4+Pj4+Pj4gIGFyciA9IC5ERUZFUlJFRF9JTklUIChELjE5NTIsIDIsIDEpOw0KPj4+Pj4+ Pj4+ICBfMTQgPSAoKmFyci4xKVsyXTsNCj4+Pj4+Pj4+PiAgYmFyIChfMTQpOw0KPj4+Pj4+Pj4+ ICByZXR1cm47DQo+Pj4+Pj4+Pj4gfQ0KPj4+Pj4+Pj4+IGZpbmFsbHkNCj4+Pj4+Pj4+PiB7DQo+ Pj4+Pj4+Pj4gIF9fYnVpbHRpbl9zdGFja19yZXN0b3JlIChzYXZlZF9zdGFjay4yKTsNCj4+Pj4+ Pj4+PiB9DQo+Pj4+Pj4+Pj4gfQ0KPj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+ID09PT0NCj4+Pj4+Pj4+ PiANCj4+Pj4+Pj4+PiBZb3UgdGhpbmsgdGhhdCB0aGUgYWJvdmUgLkRFRkVFUkVEX0lOSVQgaXMg bm90IGNvcnJlY3Q/DQo+Pj4+Pj4+Pj4gSXQgc2hvdWxkIGJlOg0KPj4+Pj4+Pj4+IA0KPj4+Pj4+ Pj4+ICphcnIuMSA9IC5ERUZFUlJFRF9JTklUIChELjE5NTIuIDIsIDEpOw0KPj4+Pj4+Pj4+IA0K Pj4+Pj4+Pj4+ID8NCj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4gWWVzLg0KPj4+Pj4+Pj4gDQo+Pj4+Pj4+ IA0KPj4+Pj4+PiBJIHVwZGF0ZWQgZ2ltcGxpZnkuYyBmb3IgVkxBIGFuZCBub3cgaXQgZW1pdHMg dGhlIGNhbGwgdG8gLkRFRkVSUkVEX0lOSVQgYXM6DQo+Pj4+Pj4+IA0KPj4+Pj4+PiAgIGFyci4x ID0gX19idWlsdGluX2FsbG9jYV93aXRoX2FsaWduIChELjE5NTQsIDMyKTsNCj4+Pj4+Pj4gICAq YXJyLjEgPSAuREVGRVJSRURfSU5JVCAoRC4xOTUyLCAyLCAxKTsNCj4+Pj4+Pj4gDQo+Pj4+Pj4+ IEhvd2V2ZXIsIHRoaXMgY2FsbCB0cmlnZ2VyZWQgdGhlIGFzc2VydGlvbiBmYWlsdXJlIGluIHZl cmlmeV9naW1wbGVfY2FsbCBvZiB0cmVlLWNmZy5jIGJlY2F1c2UgdGhlIExIUyBpcyBub3QgYSB2 YWxpZCBMSFMuIA0KPj4+Pj4+PiBUaGVuIEkgbW9kaWZ5IHRyZWUtY2ZnLmMgYXM6DQo+Pj4+Pj4+ IA0KPj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZ2NjL3RyZWUtY2ZnLmMgYi9nY2MvdHJlZS1jZmcuYw0K Pj4+Pj4+PiBpbmRleCAzMzBlYjdkZDg5YmYuLjE4MGQ0ZjFmOWUzMiAxMDA2NDQNCj4+Pj4+Pj4g LS0tIGEvZ2NjL3RyZWUtY2ZnLmMNCj4+Pj4+Pj4gKysrIGIvZ2NjL3RyZWUtY2ZnLmMNCj4+Pj4+ Pj4gQEAgLTMzNzUsNyArMzM3NSwxMSBAQCB2ZXJpZnlfZ2ltcGxlX2NhbGwgKGdjYWxsICpzdG10 KQ0KPj4+Pj4+PiAgIH0NCj4+Pj4+Pj4gDQo+Pj4+Pj4+IHRyZWUgbGhzID0gZ2ltcGxlX2NhbGxf bGhzIChzdG10KTsNCj4+Pj4+Pj4gKyAgLyogRm9yIC5ERUZFUlJFRF9JTklUIGNhbGwsIHRoZSBM SFMgbWlnaHQgYmUgYW4gaW5kaXJlY3Rpb24gb2YNCj4+Pj4+Pj4gKyAgICAgYSBwb2ludGVyIGZv ciB0aGUgVkxBIHZhcmlhYmxlLCB3aGljaCBpcyBub3QgYSB2YWxpZCBMSFMgb2YNCj4+Pj4+Pj4g KyAgICAgYSBnaW1wbGUgY2FsbCwgd2UgaWdub3JlIHRoZSBhc3NzZXJ0aW9uIG9uIHRoaXMuICAq LyANCj4+Pj4+Pj4gaWYgKGxocw0KPj4+Pj4+PiArICAgICAgJiYgKCFnaW1wbGVfY2FsbF9pbnRl cm5hbF9wIChzdG10LCBJRk5fREVGRVJSRURfSU5JVCkpDQo+Pj4+Pj4+ICAgICYmICghaXNfZ2lt cGxlX3JlZyAobGhzKQ0KPj4+Pj4+PiAgICAgICAmJiAoIWlzX2dpbXBsZV9sdmFsdWUgKGxocykN Cj4+Pj4+Pj4gICAgICAgICAgIHx8IHZlcmlmeV90eXBlc19pbl9naW1wbGVfcmVmZXJlbmNlDQo+ Pj4+Pj4+IA0KPj4+Pj4+PiBUaGUgYXNzZXJ0aW9uIGZhaWx1cmUgaW4gdHJlZS1jZmcuYyBnb3Qg cmVzb2x2ZWQsIGJ1dCBJIGdvdCBhbm90aGVyIGFzc2VydGlvbiBmYWlsdXJlIGluIG9wZXJhbmRz X3NjYW5uZXI6OmdldF9leHByX29wZXJhbmRzICh0cmVlICpleHByX3AsIGludCBmbGFncyksIGxp bmUgOTQ1Og0KPj4+Pj4+PiANCj4+Pj4+Pj4gOTM5ICAgLyogSWYgd2UgZ2V0IGhlcmUsIHNvbWV0 aGluZyBoYXMgZ29uZSB3cm9uZy4gICovDQo+Pj4+Pj4+IDk0MCAgIGlmIChmbGFnX2NoZWNraW5n KQ0KPj4+Pj4+PiA5NDEgICAgIHsNCj4+Pj4+Pj4gOTQyICAgICAgIGZwcmludGYgKHN0ZGVyciwg InVuaGFuZGxlZCBleHByZXNzaW9uIGluIGdldF9leHByX29wZXJhbmRzKCk6XG4iKTsNCj4+Pj4+ Pj4gOTQzICAgICAgIGRlYnVnX3RyZWUgKGV4cHIpOw0KPj4+Pj4+PiA5NDQgICAgICAgZnB1dHMg KCJcbiIsIHN0ZGVycik7DQo+Pj4+Pj4+IDk0NSAgICAgICBnY2NfdW5yZWFjaGFibGUgKCk7DQo+ Pj4+Pj4+IDk0NiAgICAgfQ0KPj4+Pj4+PiANCj4+Pj4+Pj4gTG9va3MgbGlrZSB0aGF0ICB0aGUg Z2ltcGxlIHN0YXRlbWVudDoNCj4+Pj4+Pj4gKmFyci4xID0gLkRFRkVSUkVEX0lOSVQgKEQuMTk1 MiwgMiwgMSk7DQo+Pj4+Pj4+IA0KPj4+Pj4+PiBJcyBub3QgdmFsaWQuICBpLmUsIHRoZSBMSFMg c2hvdWxkIG5vdCBiZSBhbiBpbmRpcmVjdGlvbiB0byBhIHBvaW50ZXIuIA0KPj4+Pj4+PiANCj4+ Pj4+Pj4gSG93IHRvIHJlc29sdmUgdGhpcyBpc3N1ZT8NCj4+Pj4+IA0KPj4+Pj4gSXQgc291bmRz IGxpa2UgdGhlIExIUyBpcyBhbiBJTkRJUkVDVF9SRUYgbWF5YmU/ICBUaGF0IG1lYW5zIGl0J3MN Cj4+Pj4+IHN0aWxsIG5vdCBwcm9wZXJseSBnaW1wbGlmaWVkIGJlY2F1c2UgaXQgc2hvdWxkIGVu ZCB1cCBhcyBhIE1FTV9SRUYNCj4+Pj4+IGluc3RlYWQuDQo+Pj4+PiANCj4+Pj4+IEJ1dCBJJ20g anVzdCBndWVzc2luZyBoZXJlIC4uLiBpZiB5b3UgYXJlIGluIGEgZGVidWdnZXIgdGhlbiB5b3Ug Y2FuDQo+Pj4+PiBpbnZva2UgZGVidWdfdHJlZSAobGhzKSBpbiB0aGUgaW5mZXJpb3IgdG8gc2Vl IHdoYXQgaXQgZXhhY3RseSBpcw0KPj4+Pj4gYXQgdGhlIHBvaW50IG9mIHRoZSBmYWlsdXJlLg0K Pj4+PiANCj4+Pj4gWWVzLCBpdOKAmXMgYW4gSU5ESVJFQ1RfUkVGIGF0IHRoZSBwb2ludCBvZiB0 aGUgZmFpbHVyZSBldmVuIHRob3VnaCBJIGFkZGVkIGEgDQo+Pj4+IA0KPj4+PiBnaW1wbGlmeV92 YXJfb3JfcGFybV9kZWNsICAobGhzKSANCj4+PiANCj4+PiBJIHRoaW5rIHRoZSBlYXNpZXN0IGlz IHRvIGJ1aWxkIHRoZSAuREVGRVJSRURfSU5JVCBhcyBHRU5FUklDDQo+Pj4gYW5kIHVzZSBnaW1w bGlmeV9hc3NpZ24gKCkgdG8gZ2ltcGxpZnkgYW5kIGFkZCB0aGUgcmVzdWx0DQo+Pj4gdG8gdGhl IHNlcXVlbmNlLiAgVGh1cywgYnVpbGQgYSBHRU5FUklDIENBTExfRVhQUiBhbmQgdGhlbg0KPj4+ IGdpbXBsaWZ5X2Fzc2lnbiAobGhzLCBjYWxsX2V4cHIsIHNlcSk7DQo+PiANCj4+IFdoaWNoIHV0 aWxpdHkgcm91dGluZSBpcyB1c2VkIHRvIGJ1aWxkIGFuIEludGVybmFsIGdlbmVyaWMgY2FsbD8N Cj4+IEN1cnJlbnRseSwgSSB1c2VkIOKAnGdpbXBsZV9idWlsZF9jYWxsX2ludGVybmFs4oCdIHRv IGJ1aWxkIHRoaXMgaW50ZXJuYWwgZ2ltcGxlIGNhbGwuDQo+PiANCj4+IEZvciB0aGUgZ2VuZXJp YyBjYWxsLCBzaGFsbCBJIHVzZSDigJxidWlsZF9jYWxsX2V4cHJfbG9j4oCdID8gDQo+IA0KPiBG b3IgZXhhbXBsZSBsb29rIGF0IGJ1aWxkX2FzYW5fcG9pc29uX2NhbGxfZXhwciB3aGljaCBkb2Vz IHN1Y2ggdGhpbmcNCj4gZm9yIEFTQU4gcG9pc29uIGludGVybmFsIGZ1bmN0aW9uIGNhbGwgaW5z ZXJ0aW9uIGF0IGdpbXBsaWZpY2F0aW9uIHRpbWUuDQoNCk9rYXksIGdvdCBpdC4NCg0KV2lsbCB0 cnkuDQoNClFpbmcNCj4gDQo+IFJpY2hhcmQuDQo+IA0KPj4gUWluZw0KPj4gDQo+Pj4gDQo+Pj4g UmljaGFyZC4NCj4+PiANCj4+Pj4gUWluZw0KPj4+PiANCj4+Pj4+IA0KPj4+Pj4+IEkgY2FtZSB1 cCB3aXRoIHRoZSBmb2xsb3dpbmcgc29sdXRpb246DQo+Pj4+Pj4gDQo+Pj4+Pj4gRGVmaW5lIHRo ZSBJRk5fREVGRVJSRURfSU5JVCBmdW5jdGlvbiBhczoNCj4+Pj4+PiANCj4+Pj4+PiBMSFMgPSBE RUZFUlJFRF9JTklUIChTSVpFIG9mIHRoZSBERUNMLCBJTklUX1RZUEUsIElTX1ZMQSk7DQo+Pj4+ Pj4gDQo+Pj4+Pj4gaWYgSVNfVkxBIGlzIGZhbHNlLCB0aGUgTEhTIGlzIHRoZSBERUNMIGl0c2Vs ZiwNCj4+Pj4+PiBpZiBJU19WTEEgaXMgdHJ1ZSwgdGhlIExIUyBpcyB0aGUgcG9pbnRlciB0byB0 aGlzIERFQ0wgdGhhdCBjcmVhdGVkIGJ5DQo+Pj4+Pj4gZ2ltcGxpZnlfdmxhX2RlY2wuDQo+Pj4+ Pj4gDQo+Pj4+Pj4gDQo+Pj4+Pj4gVGhlIGJlbmVmaXQgb2YgdGhpcyBzb2x1dGlvbiBhcmU6DQo+ Pj4+Pj4gDQo+Pj4+Pj4gMS4gUmVzb2x2ZWQgdGhlIGludmFsaWQgSVIgaXNzdWU7DQo+Pj4+Pj4g Mi4gVGhlIGNhbGwgc3RtdCBjYXJyaWVzIHRoZSBhZGRyZXNzIG9mIHRoZSBWTEEgbmF0dWFsbHk7 DQo+Pj4+Pj4gDQo+Pj4+Pj4gVGhlIGlzc3VlIHdpdGggdGhpcyBzb2x1dGlvbiBpczoNCj4+Pj4+ PiANCj4+Pj4+PiBGb3IgVkxBIGFuZCBub24tVkxBLCB0aGUgTEhTIHdpbGwgYmUgZGlmZmVyZW50 LCANCj4+Pj4+PiANCj4+Pj4+PiBEbyB5b3Ugc2VlIGFueSBvdGhlciBwb3RlbnRpYWwgaXNzdWVz IHdpdGggdGhpcyBzb2x1dGlvbj8NCj4+Pj4+PiANCj4+Pj4+PiB0aGFua3MuDQo+Pj4+Pj4gDQo+ Pj4+Pj4gUWluZw0KPj4+Pj4+IA0KPj4+Pj4+IA0KPj4+Pj4+IA0KPj4+Pj4+IA0KPj4+Pj4+IA0K Pj4+Pj4gDQo+Pj4+PiAtLSANCj4+Pj4+IFJpY2hhcmQgQmllbmVyIDxyZ3VlbnRoZXJAc3VzZS5k ZT4NCj4+Pj4+IFNVU0UgU29mdHdhcmUgU29sdXRpb25zIEdlcm1hbnkgR21iSCwgTWF4ZmVsZHN0 cmFzc2UgNSwgOTA0MDkgTnVlcm5iZXJnLA0KPj4+Pj4gR2VybWFueTsgR0Y6IEZlbGl4IEltZW5k w7ZyZmZlcjsgSFJCIDM2ODA5IChBRyBOdWVybmJlcmcpDQo+Pj4+IA0KPj4+PiANCj4+PiANCj4+ PiAtLSANCj4+PiBSaWNoYXJkIEJpZW5lciA8cmd1ZW50aGVyQHN1c2UuZGU+DQo+Pj4gU1VTRSBT b2Z0d2FyZSBTb2x1dGlvbnMgR2VybWFueSBHbWJILCBNYXhmZWxkc3RyYXNzZSA1LCA5MDQwOSBO dWVybmJlcmcsDQo+Pj4gR2VybWFueTsgR0Y6IEZlbGl4IEltZW5kw7ZyZmZlcjsgSFJCIDM2ODA5 IChBRyBOdWVybmJlcmcpDQo+PiANCj4+IA0KPiANCj4gLS0gDQo+IFJpY2hhcmQgQmllbmVyIDxy Z3VlbnRoZXJAc3VzZS5kZT4NCj4gU1VTRSBTb2Z0d2FyZSBTb2x1dGlvbnMgR2VybWFueSBHbWJI LCBNYXhmZWxkc3RyYXNzZSA1LCA5MDQwOSBOdWVybmJlcmcsDQo+IEdlcm1hbnk7IEdGOiBGZWxp eCBJbWVuZMO2cmZmZXI7IEhSQiAzNjgwOSAoQUcgTnVlcm5iZXJnKQ0KDQo=