From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by sourceware.org (Postfix) with ESMTPS id 42FEF3858D20 for ; Wed, 12 Jul 2023 10:17:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 42FEF3858D20 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=1689157061; x=1720693061; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=l8oQZwlBH1rbMgzbyebRTCPZaLcfYZDFjwPLLPjM3pI=; b=VtCWUTQXb8QUEG4Bs3ATjS861V7g4ni8tpaVd4RndcFsn20omsBmS3IK bdOaCroxydHw+ZVyN3im5b/ycF9EyaHbARoW9N5kpBsiZmAcsW03mjBRt UDpq3NKMpG5H5Wh9pggkjSKKCuu96rqgnOgPh48l4iDfAYQASGSYZ/cA/ 92W297n6rY9+qBeh9fLbG2iBvfsHAGX/bS1Z9eiJjYbnuFnz2aqIRrBYQ l3szd3SAFh2fZm0RJzDe3PXKqXHpXMjt60Ey/D/iqVOZOwv06s76Vb6vd A8xU/1tHAN1Y+AtgHyplJV3OPKa8hXxZmdja51T7g4g3eLM3Ovxwz8Low A==; X-IronPort-AV: E=McAfee;i="6600,9927,10768"; a="430983888" X-IronPort-AV: E=Sophos;i="6.01,199,1684825200"; d="scan'208";a="430983888" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jul 2023 03:17:39 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10768"; a="845599311" X-IronPort-AV: E=Sophos;i="6.01,199,1684825200"; d="scan'208";a="845599311" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga004.jf.intel.com with ESMTP; 12 Jul 2023 03:17:39 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 12 Jul 2023 03:17:39 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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.27; Wed, 12 Jul 2023 03:17:38 -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.27 via Frontend Transport; Wed, 12 Jul 2023 03:17:38 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.107) 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, 12 Jul 2023 03:17:38 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hRewMW14kkdXvaRpfnFDY4x5e7TFPlOjcPDciCmoUDPrxjZypfmF+qhkvJbTXYms2qPblR7ZGdcMhVuwGdf73lFOqtsb/6QJW/OOmwy9MwlKaxml0+hsM6mUW5kQlIdwphgYtVl/kSfqUxw5PN6zCIyH58EQRpRiP5M6fOyrlYZN/oUO+jkYTWq/X67OYZS4hXMJPmDK/mby3uSaF1mf1nOWZtr0FmKQjNULPxG69/egIWVRCP65taQFPrP+rnhz0K3C1rIeEgJS1VRj9lChRrXcTmPmIDA/wGplHkXQEW5LgVrYGqXuscsGjqbNg5OF2esvjHRDgasBVPRmkj5KoQ== 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=l8oQZwlBH1rbMgzbyebRTCPZaLcfYZDFjwPLLPjM3pI=; b=lIZcHoDeOO07wHl5QgSwszbxPTJNR/Dmud5h7Q24D9xGOBnktY6scqLajXdqjk0LQzHTPbQP6fvqZTfveMsi1Se6IXyTBi+sgHKpuUuTyhSl36ZJ/OGxhb5M1vHg5cSibfBbH72O4Tbh+f+1OCxRHBe6URyxVsF/lDVbT5IcJeLyI+Nc9C4mUUYN8W22OYkbGjU56iUSSCaeufMhROSZTXXlA3whvsLDOWWC9EH3KBT3ltqM25tbDfBgGSuQs8zL2jrNxb0pRDuwyM2PvcMqRyDl5iMeLeOdxXWJ/Ql82rE34AKWdthqB9mPqPtewZxvyzsq5bRfDONgChHoRaqjOQ== 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 MW4PR11MB5822.namprd11.prod.outlook.com (2603:10b6:303:185::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.31; Wed, 12 Jul 2023 10:17:36 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::127c:f4cc:e699:8f73]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::127c:f4cc:e699:8f73%6]) with mapi id 15.20.6565.028; Wed, 12 Jul 2023 10:17:36 +0000 From: "Li, Pan2" To: Kito Cheng , =?utf-8?B?6ZKf5bGF5ZOy?= CC: GCC Patches , Kito Cheng , Jeff Law , Robin Dapp Subject: RE: [PATCH] RISC-V: Support integer mult highpart auto-vectorization Thread-Topic: [PATCH] RISC-V: Support integer mult highpart auto-vectorization Thread-Index: AQHZtJyGt/oSZZ7Iu0iuuyqSLAIMCq+12g2AgAAQ05A= Date: Wed, 12 Jul 2023 10:17:36 +0000 Message-ID: References: <20230712083923.92799-1-juzhe.zhong@rivai.ai> 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_|MW4PR11MB5822:EE_ x-ms-office365-filtering-correlation-id: e9e0af0e-e70c-4413-9660-08db82c136bd x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9AMcK5ye6iqLRR7UILmbrU2AP5U49xh3lZ69AUDqC6l4OnxxLhXKNrK70OhfnNK8kmVn0rjNVvxUSEv78liYhVboAt3odcY7OCAe8mAFvB1wqpt7bas2HgkcjN7IBmfs17thX3/Bi+rwgZ0Rg6Q2XC/Y1bKYIrix5xwJtSed0+DOqxFjApafNhSBjwiJigYyWP0BQAUtjM1iOOnxGCSt5TFhDunUuhqXAcMY3hoDJeuSGh9R3waXnRGgfs9Qo+p2zvRIqvBNsm6jOAK5+U2cd1yhzVbwxl+frlCsObeQOQzxF/kT1hg8W1yScpqXcUzc2EyZxhz3vH5ZuBdBulGrKxFhwIjXlCh6VP3ZT6iiI9Tg62uLNI6Cyc9wkBQZnirX+3vlTELVmXfXf+NUVTeGTP8TZwaQGiwhtczRx8k/L2gUaO8JdLsMxZwoSl+SaCNBOpt+oncZBqua7PQSF/PSr40AqA1OVMzM8tx2IVwPf61wwbvyCFnb2ZLDbyJk+2ZP2kMu/hC/NIe+KX5NvTRV361TwqxY+6fRYpnxvNr3RifgsZqSv68Pr2lht7XvxIm800tEc1vJW7wABGjn7m5m13MaHivUmBBDeqTsilHBU+8= 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:(13230028)(396003)(346002)(366004)(39860400002)(136003)(376002)(451199021)(186003)(55016003)(122000001)(110136005)(54906003)(82960400001)(5660300002)(71200400001)(8936002)(7696005)(38100700002)(8676002)(478600001)(84970400001)(86362001)(76116006)(316002)(41300700001)(52536014)(2906002)(4326008)(66446008)(66946007)(66556008)(64756008)(66476007)(83380400001)(26005)(6506007)(53546011)(38070700005)(33656002)(9686003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bEd2K05YUXBpaDJ2L3ZaSjR6MVFIT0lmNXhZYk1GVXN6NU9Ta25ieG03VmtZ?= =?utf-8?B?L3FMeUl5eHhsYzkwOXE2UDZEcVcrL2JweGNOUGwzQ1RMMktLZjVRdVR6bHlR?= =?utf-8?B?Y0xDVm5qWThhdURhZ1htMm1hRXF6djhQeWVXdUhUbzJkOUpsNkJ0UlI1TTFX?= =?utf-8?B?eERiMzRmby80MHZSeWF6UTduTG5Mc1VhME1aQUgzVHB2c1RlcEJEZXlZZGtN?= =?utf-8?B?M0hjRnVvTE9tRVZLZzJYWk96QXQrR3luSWVLdG04YlRJSE5JWjdFbnFsTFdT?= =?utf-8?B?em1CTEZlNWZRc3Q0K1NjZkxJUkRlbFM5RXJudmE1dDRjNjR6bnE1cnpwQzNV?= =?utf-8?B?emxISFhwK0Z5VmdTbGxvbGg2ZXhtOVhPQnF5eFpKdTFDOUkybDFTTFBOdktu?= =?utf-8?B?OGlyNGVoQ1V5NzR2a2FhNVpCemg4czZyT1o2TkVoSTZIOHhGcktDUmpmUVpx?= =?utf-8?B?NUlESWlrbVFGVklrSW1IK0dOeWIvUUhYa1BJV0hBbkVyekJxMW5YMUREYndl?= =?utf-8?B?emx5Y1VUbGtSVHpkSU9aTjJCdjV5QnNVNnhYYndnSHZ6WWNMVkN0K2Vmbklj?= =?utf-8?B?SGpnSVRqN2I5WlFaMFBtcDlYR0NxdUZRV3B4Ky9hSWMvSDR3ZlljUExRMEpC?= =?utf-8?B?ZVpndDljdElZWkYweFZjTnREenJhOUtXdU9VZWZDYjJHNlphclk2d0NSWHQ1?= =?utf-8?B?UnZURHFrRDdxWW00U0lPV1dhOWZRSk1zam1CY0RsYlVId0hZVVhvNXAzTHZW?= =?utf-8?B?dmxPeVZXdmxhdktPZFArbTQzczd5N0xVUUZBQ1RBc2hjRGFWcmNFN1JmUGhT?= =?utf-8?B?dVk1RHZsMk0wOUpibm5rVEdSMnIrKzRSem93SmJLYVdkSFh5MUtxK3VkaDEw?= =?utf-8?B?TFdaS1ZxSnJlOFMrZ0lPemloNjhhMmRsZEZPcVpGcjdhbS93TEtMV0g4UkUw?= =?utf-8?B?YW82UDEwNmhnVGJLRmR5ZXRPV0J0dmoybG55VG8zaENlRlRJMUliNzB1L0Zh?= =?utf-8?B?QmN5Y0RIS1hGYTc2VUFiRFNNbGJpVzhXRkpLQkxFS1J0QWVUQkFBRG1sZ3RX?= =?utf-8?B?dk93a3huUk9JckxKZ3hzbkdIWUVpc0d4QnV2VS9qV3l0R0pLN1kzZGVKU1Zv?= =?utf-8?B?eExmZHRvelJsQm14RmR0THl0UE5URjlEODd0SE1vUVl5S0JjbWpiTkZCQmli?= =?utf-8?B?YXVFVFowKzF2VjNQeUptWHF4OXlYMlRleGZoaHM0d1pyYU9OQjN2QWtaTHYy?= =?utf-8?B?WmpEQVFGRDVLZkdWMFZYVDhjOVJ5clY2UGZJKzZGR3c4NWtWTFNXc0pyTVNR?= =?utf-8?B?cHhNd0txNUM4R1JEemN2SlJQdElaUWNiVmZFL0FKVnlqUnd5bUg3TUlBczNV?= =?utf-8?B?c1NiditrTjg1NUZ2VlJqamRLT1JiaXpKSkNHTkpWNUNhZy8waThrblNjWHN5?= =?utf-8?B?THdDN0pUd0ZKSUgzY09tc1Z5QzludzFYYU5CbVUrNWEvKzQ4MzM5bVpYVUtC?= =?utf-8?B?LzdsejUvWHJYdFZLTDI4MHJscHh1Ni92cmdTRGJTSDd0dVVmZjRGWldoZXc3?= =?utf-8?B?M0dHQlFaSTYwcHBHWXpxR25tblNOQ1hnSFh6NGM3S3R2ak9CYThsb2wwZzVZ?= =?utf-8?B?S3lpZ0U0aDd2L2g1NnhHYTg3QVp0dEdlN0FDcndiNXM1cHE5SlZPZ2ZpWVUw?= =?utf-8?B?dFZHamNjYUZvZFBmbmlyeU5KdW8wZmVaN3VaczBNNzFUaFlRb09WZitrR3la?= =?utf-8?B?WEhiSmxjMWdCK0k5QXIza0ZrRVUyR25oZkVOdUIrSTQwZSsvMTVtM3BGTXZU?= =?utf-8?B?M3ZLNFRmSGdVWVNUZUlWK0Q1WnQxc1I2SUU4Sys4TkZTektldFk1U2o5Qkxt?= =?utf-8?B?Z1NNaXlRUHR4a3BHS2dYYVg2WDNPTnUzUlhiczJBRHhWc2VNMng0M2hlMlhE?= =?utf-8?B?SkZJUExkQzRvZFdFVUJQRnpGR1g1bzV0YVRCTW8yaFc4dTBQNUIyNzZ2a0l4?= =?utf-8?B?TVhlZlZCbXNocVZneWFTbWhjZzJXS1U1LzNaSVU0bzBjYWQwV01XYktTM0Jk?= =?utf-8?B?b1l4M1UwdWFvZ3NoTXcrWWU4UjBRQUNPcnk3SU1iQWRnOWxMdEJrRTRhQ0Jw?= =?utf-8?Q?9OIY=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: e9e0af0e-e70c-4413-9660-08db82c136bd X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jul 2023 10:17:36.1413 (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: geOEXLNGY6moBEX/djVrbSorPD1mbhEpt0mS3UWz8HatIQsfkymkfRMk/CxWsgyBs+DGoH6N1iM6JsPipPetmA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR11MB5822 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-9.9 required=5.0 tests=BAYES_00,BODY_8BITS,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_ASCII_DIVIDERS,KAM_SHORT,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE 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: Q29tbWl0dGVkLCB0aGFua3MgS2l0by4NCg0KUGFuDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQpGcm9tOiBHY2MtcGF0Y2hlcyA8Z2NjLXBhdGNoZXMtYm91bmNlcytwYW4yLmxpPWludGVs LmNvbUBnY2MuZ251Lm9yZz4gT24gQmVoYWxmIE9mIEtpdG8gQ2hlbmcgdmlhIEdjYy1wYXRjaGVz DQpTZW50OiBXZWRuZXNkYXksIEp1bHkgMTIsIDIwMjMgNToxNyBQTQ0KVG86IOmSn+WxheWTsiA8 anV6aGUuemhvbmdAcml2YWkuYWk+DQpDYzogR0NDIFBhdGNoZXMgPGdjYy1wYXRjaGVzQGdjYy5n bnUub3JnPjsgS2l0byBDaGVuZyA8a2l0by5jaGVuZ0BzaWZpdmUuY29tPjsgSmVmZiBMYXcgPGpl ZmZyZXlhbGF3QGdtYWlsLmNvbT47IFJvYmluIERhcHAgPHJkYXBwLmdjY0BnbWFpbC5jb20+DQpT dWJqZWN0OiBSZTogW1BBVENIXSBSSVNDLVY6IFN1cHBvcnQgaW50ZWdlciBtdWx0IGhpZ2hwYXJ0 IGF1dG8tdmVjdG9yaXphdGlvbg0KDQpMR1RNLCB0aGFua3M6KQ0KDQo8anV6aGUuemhvbmdAcml2 YWkuYWk+IOaWvCAyMDIz5bm0N+aciDEy5pelIOmAseS4iSAxNjo0MCDlr6vpgZPvvJoNCg0KPiBG cm9tOiBKdS1aaGUgWmhvbmcgPGp1emhlLnpob25nQHJpdmFpLmFpPg0KPg0KPiBUaGlzIHBhdGNo IGlzIGFkZGluZyBhbiBvYnZpb3VzIG1pc3NpbmcgbXVsdF9oaWdoIGF1dG8tdmVjdG9yaXphdGlv bg0KPiBwYXR0ZXJuLg0KPg0KPiBDb25zaWRlciB0aGlzIGZvbGxvd2luZyBjYXNlOg0KPiAjZGVm aW5lIERFRl9MT09QKFRZUEUpICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+IHZvaWQgX19h dHRyaWJ1dGVfXyAoKG5vaXBhKSkgICAgICAgICAgICAgICAgICAgIFwNCj4gbW9kXyMjVFlQRSAo VFlQRSAqX19yZXN0cmljdCBkc3QsIFRZUEUgKl9fcmVzdHJpY3Qgc3JjLCBpbnQgY291bnQpICAg ICAgXA0KPiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc DQo+ICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjb3VudDsgKytpKSAgICAgICAgICAgICAgIFwNCj4g ICAgIGRzdFtpXSA9IHNyY1tpXSAvIDE3OyAgICAgICAgICAgICAgICAgICAgICAgXA0KPiB9DQo+ DQo+ICNkZWZpbmUgVEVTVF9BTEwoVCkgXA0KPiAgIFQgKGludDMyX3QpIFwNCj4NCj4gVEVTVF9B TEwgKERFRl9MT09QKQ0KPg0KPiBCZWZvcmUgdGhpcyBwYXRjaDoNCj4gbW9kX2ludDMyX3Q6DQo+ ICAgICAgICAgYmxlICAgICBhMix6ZXJvLC5MNQ0KPiAgICAgICAgIGxpICAgICAgYTUsMTcNCj4g ICAgICAgICB2c2V0dmxpIGEzLHplcm8sZTMyLG0xLHRhLG1hDQo+ICAgICAgICAgdm12LnYueCB2 MixhNQ0KPiAuTDM6DQo+ICAgICAgICAgdnNldHZsaSBhNSxhMixlOCxtZjQsdGEsbWENCj4gICAg ICAgICB2bGUzMi52IHYxLDAoYTEpDQo+ICAgICAgICAgdnNldHZsaSBhMyx6ZXJvLGUzMixtMSx0 YSxtYQ0KPiAgICAgICAgIHNsbGkgICAgYTQsYTUsMg0KPiAgICAgICAgIHZkaXYudnYgdjEsdjEs djINCj4gICAgICAgICBzdWIgICAgIGEyLGEyLGE1DQo+ICAgICAgICAgdnNldHZsaSB6ZXJvLGE1 LGUzMixtMSx0YSxtYQ0KPiAgICAgICAgIHZzZTMyLnYgdjEsMChhMCkNCj4gICAgICAgICBhZGQg ICAgIGExLGExLGE0DQo+ICAgICAgICAgYWRkICAgICBhMCxhMCxhNA0KPiAgICAgICAgIGJuZSAg ICAgYTIsemVybywuTDMNCj4gLkw1Og0KPiAgICAgICAgIHJldA0KPg0KPiBBZnRlciB0aGlzIHBh dGNoOg0KPiBtb2RfaW50MzJfdDoNCj4gICAgICAgICBibGUgICAgIGEyLHplcm8sLkw1DQo+ICAg ICAgICAgbGkgICAgICBhNSwyMDIxMTYzMDA4DQo+ICAgICAgICAgYWRkaXcgICBhNSxhNSwtMTky Nw0KPiAgICAgICAgIHZzZXR2bGkgYTMsemVybyxlMzIsbTEsdGEsbWENCj4gICAgICAgICB2bXYu di54IHYzLGE1DQo+IC5MMzoNCj4gICAgICAgICB2c2V0dmxpIGE1LGEyLGU4LG1mNCx0YSxtYQ0K PiAgICAgICAgIHZsZTMyLnYgdjIsMChhMSkNCj4gICAgICAgICB2c2V0dmxpIGEzLHplcm8sZTMy LG0xLHRhLG1hDQo+ICAgICAgICAgc2xsaSAgICBhNCxhNSwyDQo+ICAgICAgICAgdm11bGgudnYg ICAgICAgIHYxLHYyLHYzDQo+ICAgICAgICAgc3ViICAgICBhMixhMixhNQ0KPiAgICAgICAgIHZz cmEudmkgdjIsdjIsMzENCj4gICAgICAgICB2c3JhLnZpIHYxLHYxLDMNCj4gICAgICAgICB2c3Vi LnZ2IHYxLHYxLHYyDQo+ICAgICAgICAgdnNldHZsaSB6ZXJvLGE1LGUzMixtMSx0YSxtYQ0KPiAg ICAgICAgIHZzZTMyLnYgdjEsMChhMCkNCj4gICAgICAgICBhZGQgICAgIGExLGExLGE0DQo+ICAg ICAgICAgYWRkICAgICBhMCxhMCxhNA0KPiAgICAgICAgIGJuZSAgICAgYTIsemVybywuTDMNCj4g Lkw1Og0KPiAgICAgICAgIHJldA0KPg0KPiBFdmVuIHRob3VnaCBhIHNpbmdsZSAidmRpdiIgaXMg bG93ZXIgaW50byAiMSB2bXVsaCArIDIgdnNyYSArIDEgdnN1YiIsDQo+IDQgbW9yZSBpbnN0cnVj dGlvbnMgYXJlIGdlbmVyYXRlZCwgd2UgYmVsaXZlIGl0J3MgbXVjaCBiZXR0ZXIgdGhhbiBiZWZv cmUNCj4gc2luY2UgZGl2aXNpb24gaXMgdmVyeSBzbG93IGluIHRoZSBoYXJkd2FyZC4NCj4NCj4g Z2NjL0NoYW5nZUxvZzoNCj4NCj4gICAgICAgICAqIGNvbmZpZy9yaXNjdi9hdXRvdmVjLm1kIChz bXVsPG1vZGU+M19oaWdocGFydCk6IE5ldyBwYXR0ZXJuLg0KPiAgICAgICAgICh1bXVsPG1vZGU+ M19oaWdocGFydCk6IERpdHRvLg0KPg0KPiBnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoNCj4NCj4g ICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvYmlub3AvbXVsaC0xLmM6IE5l dyB0ZXN0Lg0KPiAgICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy9iaW5vcC9t dWxoLTIuYzogTmV3IHRlc3QuDQo+ICAgICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRv dmVjL2Jpbm9wL211bGhfcnVuLTEuYzogTmV3IHRlc3QuDQo+ICAgICAgICAgKiBnY2MudGFyZ2V0 L3Jpc2N2L3J2di9hdXRvdmVjL2Jpbm9wL211bGhfcnVuLTIuYzogTmV3IHRlc3QuDQo+DQo+IC0t LQ0KPiAgZ2NjL2NvbmZpZy9yaXNjdi9hdXRvdmVjLm1kICAgICAgICAgICAgICAgICAgIHwgMzAg KysrKysrKysrKysrKysrKysrKw0KPiAgLi4uL3Jpc2N2L3J2di9hdXRvdmVjL2Jpbm9wL211bGgt MS5jICAgICAgICAgIHwgMjYgKysrKysrKysrKysrKysrKw0KPiAgLi4uL3Jpc2N2L3J2di9hdXRv dmVjL2Jpbm9wL211bGgtMi5jICAgICAgICAgIHwgMjcgKysrKysrKysrKysrKysrKysNCj4gIC4u Li9yaXNjdi9ydnYvYXV0b3ZlYy9iaW5vcC9tdWxoX3J1bi0xLmMgICAgICB8IDI5ICsrKysrKysr KysrKysrKysrKw0KPiAgLi4uL3Jpc2N2L3J2di9hdXRvdmVjL2Jpbm9wL211bGhfcnVuLTIuYyAg ICAgIHwgMjkgKysrKysrKysrKysrKysrKysrDQo+ICA1IGZpbGVzIGNoYW5nZWQsIDE0MSBpbnNl cnRpb25zKCspDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3J2di9hdXRvdmVjL2Jpbm9wL211bGgtMS5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2 NDQNCj4gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL2Jpbm9wL211 bGgtMi5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L3Jpc2N2L3J2di9hdXRvdmVjL2Jpbm9wL211bGhfcnVuLTEuYw0KPiAgY3JlYXRlIG1vZGUgMTAw NjQ0DQo+IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy9iaW5vcC9t dWxoX3J1bi0yLmMNCj4NCj4gZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvYXV0b3ZlYy5t ZCBiL2djYy9jb25maWcvcmlzY3YvYXV0b3ZlYy5tZA0KPiBpbmRleCA5ZTYxYjJlNDFkOC4uZDk4 YTYzYzI4NWUgMTAwNjQ0DQo+IC0tLSBhL2djYy9jb25maWcvcmlzY3YvYXV0b3ZlYy5tZA0KPiAr KysgYi9nY2MvY29uZmlnL3Jpc2N2L2F1dG92ZWMubWQNCj4gQEAgLTExNzgsMyArMTE3OCwzMyBA QA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaXNjdl92ZWN0b3I6OlJWVl9C SU5PUCwgb3BlcmFuZHMpOw0KPiAgICBET05FOw0KPiAgfSkNCj4gKw0KPiArOzsNCj4gLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KPiArOzsgLS0tLSBbSU5UXSBIaWdocGFydCBtdWx0aXBsaWNhdGlvbg0KPiAr OzsNCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArOzsgSW5jbHVkZXM6DQo+ICs7OyAtIHZtdWxoLnZ2 DQo+ICs7OyAtIHZtdWxodS52dg0KPiArOzsNCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArDQo+ICso ZGVmaW5lX2V4cGFuZCAic211bDxtb2RlPjNfaGlnaHBhcnQiDQo+ICsgIFsobWF0Y2hfb3BlcmFu ZDpWRlVMTEkgMCAicmVnaXN0ZXJfb3BlcmFuZCIpDQo+ICsgICAobWF0Y2hfb3BlcmFuZDpWRlVM TEkgMSAicmVnaXN0ZXJfb3BlcmFuZCIpDQo+ICsgICAobWF0Y2hfb3BlcmFuZDpWRlVMTEkgMiAi cmVnaXN0ZXJfb3BlcmFuZCIpXQ0KPiArICAiVEFSR0VUX1ZFQ1RPUiINCj4gK3sNCj4gKyAgaW5z bl9jb2RlIGljb2RlID0gY29kZV9mb3JfcHJlZF9tdWxoIChVTlNQRUNfVk1VTEhTLCA8TU9ERT5t b2RlKTsNCj4gKyAgcmlzY3ZfdmVjdG9yOjplbWl0X3ZsbWF4X2luc24gKGljb2RlLCByaXNjdl92 ZWN0b3I6OlJWVl9CSU5PUCwNCj4gb3BlcmFuZHMpOw0KPiArICBET05FOw0KPiArfSkNCj4gKw0K PiArKGRlZmluZV9leHBhbmQgInVtdWw8bW9kZT4zX2hpZ2hwYXJ0Ig0KPiArICBbKG1hdGNoX29w ZXJhbmQ6VkZVTExJIDAgInJlZ2lzdGVyX29wZXJhbmQiKQ0KPiArICAgKG1hdGNoX29wZXJhbmQ6 VkZVTExJIDEgInJlZ2lzdGVyX29wZXJhbmQiKQ0KPiArICAgKG1hdGNoX29wZXJhbmQ6VkZVTExJ IDIgInJlZ2lzdGVyX29wZXJhbmQiKV0NCj4gKyAgIlRBUkdFVF9WRUNUT1IiDQo+ICt7DQo+ICsg IGluc25fY29kZSBpY29kZSA9IGNvZGVfZm9yX3ByZWRfbXVsaCAoVU5TUEVDX1ZNVUxIVSwgPE1P REU+bW9kZSk7DQo+ICsgIHJpc2N2X3ZlY3Rvcjo6ZW1pdF92bG1heF9pbnNuIChpY29kZSwgcmlz Y3ZfdmVjdG9yOjpSVlZfQklOT1AsDQo+IG9wZXJhbmRzKTsNCj4gKyAgRE9ORTsNCj4gK30pDQo+ IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMv Ymlub3AvbXVsaC0xLmMNCj4gYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1 dG92ZWMvYmlub3AvbXVsaC0xLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAw MDAwMDAwMDAuLjI2NWEzMzI3MTJhDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL2Jpbm9wL211bGgtMS5jDQo+IEBAIC0w LDAgKzEsMjYgQEANCj4gKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQo+ICsvKiB7IGRnLWFkZGl0 aW9uYWwtb3B0aW9ucyAiLW1hcmNoPXJ2MzJnY3YgLW1hYmk9aWxwMzJkDQo+IC0tcGFyYW09cmlz Y3YtYXV0b3ZlYy1wcmVmZXJlbmNlPXNjYWxhYmxlIC1mbm8tdmVjdC1jb3N0LW1vZGVsIiB9ICov DQo+ICsNCj4gKyNpbmNsdWRlIDxzdGRpbnQtZ2NjLmg+DQo+ICsNCj4gKyNkZWZpbmUgREVGX0xP T1AoVFlQRSkNCj4gICAgICBcDQo+ICsgIHZvaWQgX19hdHRyaWJ1dGVfXyAoKG5vaXBhKSkgbW9k XyMjVFlQRSAoVFlQRSAqZHN0LCBUWVBFICpzcmMsIGludA0KPiBjb3VudCkgICAgXA0KPiArICB7 DQo+ICAgICAgIFwNCj4gKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGNvdW50OyArK2kpDQo+ICAg ICAgIFwNCj4gKyAgICAgIGRzdFtpXSA9IHNyY1tpXSAlIDE5Ow0KPiAgICAgICBcDQo+ICsgIH0N Cj4gKw0KPiArI2RlZmluZSBURVNUX0FMTChUKQ0KPiAgICAgICBcDQo+ICsgIFQgKGludDhfdCkN Cj4gICAgICBcDQo+ICsgIFQgKHVpbnQ4X3QpDQo+ICAgICAgIFwNCj4gKyAgVCAoaW50MTZfdCkN Cj4gICAgICAgXA0KPiArICBUICh1aW50MTZfdCkNCj4gICAgICBcDQo+ICsgIFQgKGludDMyX3Qp DQo+ICAgICAgIFwNCj4gKyAgVCAodWludDMyX3QpDQo+ICAgICAgXA0KPiArICBUIChpbnQ2NF90 KQ0KPiAgICAgICBcDQo+ICsgIFQgKHVpbnQ2NF90KQ0KPiArDQo+ICtURVNUX0FMTCAoREVGX0xP T1ApDQo+ICsNCj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7XHR2bXVs aFwudnZ9IDQgfSB9ICovDQo+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e1x0dm11bGh1XC52dn0gNCB9IH0gKi8NCj4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy9iaW5vcC9tdWxoLTIuYw0KPiBiL2djYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy9iaW5vcC9tdWxoLTIuYw0KPiBuZXcgZmls ZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMC4uMThmYWFhZGQ2OGMNCj4gLS0tIC9k ZXYvbnVsbA0KPiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92 ZWMvYmlub3AvbXVsaC0yLmMNCj4gQEAgLTAsMCArMSwyNyBAQA0KPiArLyogeyBkZy1kbyBjb21w aWxlIH0gKi8NCj4gKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbWFyY2g9cnYzMmdjdiAt bWFiaT1pbHAzMmQNCj4gLS1wYXJhbT1yaXNjdi1hdXRvdmVjLXByZWZlcmVuY2U9c2NhbGFibGUg LWZuby12ZWN0LWNvc3QtbW9kZWwiIH0gKi8NCj4gKw0KPiArI2luY2x1ZGUgPHN0ZGludC1nY2Mu aD4NCj4gKw0KPiArI2RlZmluZSBERUZfTE9PUChUWVBFKSAgICAgICAgICAgICAgICAgICAgICAg ICBcDQo+ICt2b2lkIF9fYXR0cmlidXRlX18gKChub2lwYSkpICAgICAgICAgICAgICAgICAgIFwN Cj4gK21vZF8jI1RZUEUgKFRZUEUgKmRzdCwgVFlQRSAqc3JjLCBpbnQgY291bnQpICAgXA0KPiAr eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgIGZv ciAoaW50IGkgPSAwOyBpIDwgY291bnQ7ICsraSkgICAgICAgICAgICAgIFwNCj4gKyAgICBkc3Rb aV0gPSBzcmNbaV0gLyAxNzsgICAgICAgICAgICAgICAgICAgICAgXA0KPiArfQ0KPiArDQo+ICsj ZGVmaW5lIFRFU1RfQUxMKFQpIFwNCj4gKyAgVCAoaW50OF90KSBcDQo+ICsgIFQgKHVpbnQ4X3Qp IFwNCj4gKyAgVCAoaW50MTZfdCkgXA0KPiArICBUICh1aW50MTZfdCkgXA0KPiArICBUIChpbnQz Ml90KSBcDQo+ICsgIFQgKHVpbnQzMl90KSBcDQo+ICsgIFQgKGludDY0X3QpIFwNCj4gKyAgVCAo dWludDY0X3QpDQo+ICsNCj4gK1RFU1RfQUxMIChERUZfTE9PUCkNCj4gKw0KPiArLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtcdHZtdWxoXC52dn0gNCB9IH0gKi8NCj4gKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7XHR2bXVsaHVcLnZ2fSA0IH0gfSAq Lw0KPiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRv dmVjL2Jpbm9wL211bGhfcnVuLTEuYw0KPiBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNj di9ydnYvYXV0b3ZlYy9iaW5vcC9tdWxoX3J1bi0xLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN Cj4gaW5kZXggMDAwMDAwMDAwMDAuLjdhNDdlMTFhM2EwDQo+IC0tLSAvZGV2L251bGwNCj4gKysr IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL2Jpbm9wL211bGhf cnVuLTEuYw0KPiBAQCAtMCwwICsxLDI5IEBADQo+ICsvKiB7IGRnLWRvIHJ1biB7IHRhcmdldCB7 IHJpc2N2X3ZlY3RvciB9IH0gfSAqLw0KPiArLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi0t cGFyYW09cmlzY3YtYXV0b3ZlYy1wcmVmZXJlbmNlPXNjYWxhYmxlIiB9DQo+ICovDQo+ICsNCj4g KyNpbmNsdWRlICJtdWxoLTEuYyINCj4gKw0KPiArI2RlZmluZSBOIDc5DQo+ICsNCj4gKyNkZWZp bmUgVEVTVF9MT09QKFRZUEUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsg IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgICBU WVBFIGRzdFtOXSwgc3JjW05dOyAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICAgIGZvciAo aW50IGkgPSAwOyBpIDwgTjsgKytpKSAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgICAg IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsg ICAgICAgc3JjW2ldID0gaSAqIDcgKyBpICUgMzsgICAgICAgICAgICAgICAgIFwNCj4gKyAgICAg ICBpZiAoaSAlIDExID4gNykgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICAgICAgICAg c3JjW2ldID0gLXNyY1tpXTsgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgICAgICAgYXNtIHZv bGF0aWxlICgiIiA6OjogIm1lbW9yeSIpOyAgICAgICAgIFwNCj4gKyAgICAgIH0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgICAgbW9kXyMjVFlQ RSAoZHN0LCBzcmMsIE4pOyAgICAgICAgICAgICAgICAgIFwNCj4gKyAgICBmb3IgKGludCBpID0g MDsgaSA8IE47ICsraSkgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgICAgICBpZiAoZHN0 W2ldICE9IHNyY1tpXSAlIDE5KSAgICAgICAgICAgICAgIFwNCj4gKyAgICAgICBfX2J1aWx0aW5f YWJvcnQgKCk7ICAgICAgICAgICAgICAgICAgICAgXA0KPiArICB9DQo+ICsNCj4gK2ludA0KPiAr bWFpbiAodm9pZCkNCj4gK3sNCj4gKyAgVEVTVF9BTEwgKFRFU1RfTE9PUCk7DQo+ICsgIHJldHVy biAwOw0KPiArfQ0KPiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3J2di9hdXRvdmVjL2Jpbm9wL211bGhfcnVuLTIuYw0KPiBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9yaXNjdi9ydnYvYXV0b3ZlYy9iaW5vcC9tdWxoX3J1bi0yLmMNCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAuLjcyYzcyYjBmNGViDQo+IC0tLSAvZGV2L251 bGwNCj4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL2Jp bm9wL211bGhfcnVuLTIuYw0KPiBAQCAtMCwwICsxLDI5IEBADQo+ICsvKiB7IGRnLWRvIHJ1biB7 IHRhcmdldCB7IHJpc2N2X3ZlY3RvciB9IH0gfSAqLw0KPiArLyogeyBkZy1hZGRpdGlvbmFsLW9w dGlvbnMgIi0tcGFyYW09cmlzY3YtYXV0b3ZlYy1wcmVmZXJlbmNlPXNjYWxhYmxlIiB9DQo+ICov DQo+ICsNCj4gKyNpbmNsdWRlICJtdWxoLTIuYyINCj4gKw0KPiArI2RlZmluZSBOIDc5DQo+ICsN Cj4gKyNkZWZpbmUgVEVTVF9MT09QKFRZUEUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcDQo+ICsgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwN Cj4gKyAgICBUWVBFIGRzdFtOXSwgc3JjW05dOyAgICAgICAgICAgICAgICAgICAgICAgXA0KPiAr ICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTjsgKytpKSAgICAgICAgICAgICAgICAgICAgICAgIFwN Cj4gKyAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcDQo+ICsgICAgICAgc3JjW2ldID0gaSAqIDcgKyBpICUgMzsgICAgICAgICAgICAgICAgIFwN Cj4gKyAgICAgICBpZiAoaSAlIDExID4gNykgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiAr ICAgICAgICAgc3JjW2ldID0gLXNyY1tpXTsgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgICAg ICAgYXNtIHZvbGF0aWxlICgiIiA6OjogIm1lbW9yeSIpOyAgICAgICAgIFwNCj4gKyAgICAgIH0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgICAg bW9kXyMjVFlQRSAoZHN0LCBzcmMsIE4pOyAgICAgICAgICAgICAgICAgIFwNCj4gKyAgICBmb3Ig KGludCBpID0gMDsgaSA8IE47ICsraSkgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgICAg ICBpZiAoZHN0W2ldICE9IHNyY1tpXSAvIDE3KSAgICAgICAgICAgICAgIFwNCj4gKyAgICAgICBf X2J1aWx0aW5fYWJvcnQgKCk7ICAgICAgICAgICAgICAgICAgICAgXA0KPiArICB9DQo+ICsNCj4g K2ludA0KPiArbWFpbiAodm9pZCkNCj4gK3sNCj4gKyAgVEVTVF9BTEwgKFRFU1RfTE9PUCk7DQo+ ICsgIHJldHVybiAwOw0KPiArfQ0KPiAtLQ0KPiAyLjM2LjENCj4NCj4NCg==