From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by sourceware.org (Postfix) with ESMTPS id 910753858C50 for ; Wed, 19 Apr 2023 02:41:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 910753858C50 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=1681872065; x=1713408065; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=QtmqKuL4nfCnovAVUbORqvagEo6FkNn5BwkXVz1gRe8=; b=SLrkeANrf6O2Utbyag39DAhKetXDXL2dyYBa8kt99uBUz3nA6jWrGHre nCcjDyalWeyaD8caZHHoZet+laozUmEm4YOwtbrM3L0BXdtis8cqjHwGa XtOGTb83BEWW3AaVvKAsq8G/HsYJH9IT6KL92nPDS4QquIUmEFGDRlJiS vf+yllvcbKKe4nygKLm2mpu1so8PfqPPARxPMOslAEehLcNEemKekXaTA p54lOqpaDzgW+dY5xQXvIgUBe4mIxaaDlJ0ZjLRrU01iwyRjyKjPp7rAR LJyJwmuGePhPus66vFX6kSScg5I5hrCqzbU3RaA1lZVlu0TAH81xlSVBw w==; X-IronPort-AV: E=McAfee;i="6600,9927,10684"; a="344086733" X-IronPort-AV: E=Sophos;i="5.99,208,1677571200"; d="scan'208";a="344086733" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2023 19:41:04 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10684"; a="684830142" X-IronPort-AV: E=Sophos;i="5.99,208,1677571200"; d="scan'208";a="684830142" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga007.jf.intel.com with ESMTP; 18 Apr 2023 19:41:04 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Tue, 18 Apr 2023 19:41:03 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Tue, 18 Apr 2023 19:41:03 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.104) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Tue, 18 Apr 2023 19:41:03 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eG+KZsUckUn7R+Zl3GsSNWdnpys29F0KGlF9XTEaqo6UkTEwbPgc9vyw8sbC/yl0n84b197MwO+WesyreDRhxgKEEePTgN3tCRDd+WFkohclDMuKSDt2JstvDhCYklc7GNA+hocNoYtvfiUSXuxAcPb+Ta/3SiYEx4mhZ9zi2Akao2sEgXPbsqw6GeQjaS51hxIZKZJ3/EB0FlQP2hNtn6REkH2az1o02nbWkdkGrYXbc9nHvOA20JE3MzduPEPmkMQYtw7yFvfdzMhB6MXIDTOQv0pWIDX3/CXnmEvjhBLLFuso6TssLcMzhz/Wz53BNmZGpd+j3EVTV9Urt9jKuA== 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=QtmqKuL4nfCnovAVUbORqvagEo6FkNn5BwkXVz1gRe8=; b=STxjvxQs/Ykuz6SLzUoyNkxLmcdHyJexxjqXo4h06VOVwS9tHvEGNAJWVZ9VoALN+cnEElAHghmXFSwd/rDRKoK8PgdvpoQ5ACxwi03l9OLXLHKdmfLuQndAwVBdu9qV0S5h+vSrMZuwsfC4ecg1GRn7dHpNZH51wzIcS9POZEpL1zuhK2q3BbFNJ7QJ8so6ZgFJ/Z24oH6uMMO3TRA1ZGtYjet7dk/qCyrxSx41kdAx0ftt31IoGLnCGjotUjoT56vWhyhRZMARLDeiRda+g5rjOfXHsbWSmBOlSxgi2nUP4v1jBBzAXrKhvx9gSmxikc2gxpM9jcbgUIAqqpAoIQ== 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 PH7PR11MB5941.namprd11.prod.outlook.com (2603:10b6:510:13d::20) by DM4PR11MB5245.namprd11.prod.outlook.com (2603:10b6:5:388::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.45; Wed, 19 Apr 2023 02:40:59 +0000 Received: from PH7PR11MB5941.namprd11.prod.outlook.com ([fe80::da3f:d1d1:b52b:2256]) by PH7PR11MB5941.namprd11.prod.outlook.com ([fe80::da3f:d1d1:b52b:2256%3]) with mapi id 15.20.6298.045; Wed, 19 Apr 2023 02:40:59 +0000 From: "Jiang, Haochen" To: Hongtao Liu CC: "gcc-patches@gcc.gnu.org" , "Liu, Hongtao" , "ubizjak@gmail.com" Subject: RE: [PATCH] i386: Share AES xmm intrin with VAES Thread-Topic: [PATCH] i386: Share AES xmm intrin with VAES Thread-Index: AQHZccYXQuic9l0ey0+SaEHRK8NG0a8x6pCAgAABPuA= Date: Wed, 19 Apr 2023 02:40:59 +0000 Message-ID: References: <20230418071851.4192579-1-haochen.jiang@intel.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: PH7PR11MB5941:EE_|DM4PR11MB5245:EE_ x-ms-office365-filtering-correlation-id: 22957428-b9e8-4e57-3ca2-08db407f8259 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: BGltcBLiVn7F0sixYnEtqtdWrYH3YPIVio9Ww5T+zKOYotgLEDtsITVOzu7OGADufHEEizMS6jOa36NZ2ck84DlDle5uQg05JDMqkskNLtu7wLj5oGntxjtv3ZDW3GRNXSxge35/CxWUXpPGHfW+ZbwSCQ5x+J8sd/qN/cmSB/zoQtznQvbYLQQhDQtRvesfVMxSypbg4J2e+S/jqm2m9JCUTwECaV/o2fNmvc6DA6RTEzY6iykgX/V3JsGerCvk0k6w+3DcseTa3+DsKNVbnzUATeuKVYWBBlXlM70ufq1jmMHgkS9Nzf8691LJkrx91tLMTX9Z6Np6aq4lIJ1tj/YVwlRQbAgs/6bnDOYvog/CqCwU9iBTiKiMajS4n0qhORLHCqJ/aOi4udpwqWT/9j2cecTg4zxcmEEcYYQrIJwYPyFCnUtmNdhkWm4gxOuRfrSQAF5/kavRMGIcDhZVfJ6DXMQDNhX3zkJGWcDpHRbSFxk66Gb2U61sprEt+fHho//9i/xCrD+0HWDNvCdJn9Uapp3CiBHAm6FtmoVhVaNvQZxoL0KT153dknf0vuzvyLqOPeoG6PCXy9BmkJrq6yuzCHIwlSw3ypP1a4w1uz5NYWfvjHFOdj9v3fGe4aPf x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR11MB5941.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(346002)(39860400002)(376002)(366004)(451199021)(30864003)(52536014)(5660300002)(9686003)(83380400001)(86362001)(122000001)(6506007)(82960400001)(26005)(186003)(38100700002)(38070700005)(8936002)(8676002)(54906003)(478600001)(33656002)(71200400001)(7696005)(41300700001)(55016003)(316002)(76116006)(4326008)(66556008)(66946007)(6916009)(66476007)(66446008)(64756008)(2906002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TEt0YXdQTm5wWWMwZlRMUDlQRkE4U3pIQUxKTVBsMzliMFNEdFRJam9mbElj?= =?utf-8?B?elYrVVFsWXN2em0xcjNDNkNnWUg2eTk3UDZkLy8yVVh5TktHcXdyb2RKRXEw?= =?utf-8?B?MzBoOCtBU0FPVS81R2M1TEZFSmdscWduOFQ0WDY5WUFYYUZ5Q2VNWDkwRUlX?= =?utf-8?B?WTdRMVFSa2NReGp6d2ZUVElCdnMvYkt4WnQ0LzZ3bGdtaGVudk1TZWtZenp5?= =?utf-8?B?eW0wYUhPVmNha0N0bUUzQ1dZV2d1VmtxaGMzcURqYWI0MktNa0MrK2QwWWw1?= =?utf-8?B?L0w0UHd0NUVDN3hYb2xVdVM4Q3d0WnVmYnkvY2ZObThIbUxCNWRzYU8yaGlB?= =?utf-8?B?RkV1MWdMRXk3cnRQOURiYjRYQ1NxNHhxZzdCNitEbitraS92WUZZWUpZYVpE?= =?utf-8?B?dnR0U3BYN0dWR0J0SXVLd1Buam1xc1NMaEE2SGt1VmZUOVp1aEk2bkxTMkJj?= =?utf-8?B?QVVuVDNzUnlIYmQ1UHZGdlJ6c2hLdjQ2UGt1aWlzanVCR0hEM1BMZXdRa1NU?= =?utf-8?B?ODFscEZDTXQ4ZFRSTzF2bXl0OGxaOVB0M1NlbGlsdVc4M09rY2FuaW5Galdw?= =?utf-8?B?YWlPMmszTjhsazlnSG96VE1QWGFQKzV0SzU1S1B3T2pHZW9JblFVak5kMndL?= =?utf-8?B?MklrakRZMWQycnVncXpuK3I3R25wcjJYb0NseDN6UlpZNzZXZ2R4YnV2MFNk?= =?utf-8?B?RTc3ekkzYStkY0VUanBCc25FYmVtbW5RWmJqaFNkUXYzKzRGUHRLa2xnM3h6?= =?utf-8?B?N1NlSWRGWGkySW5rVlpSNkRCZ253NnhrVEQvcjVxa08xMGlhWGcwUHJYa2lV?= =?utf-8?B?M1ZROXk4dnBoSUZNdE13UWI2ck5vRkI2SG13UzVDSDFyR1NHZzcxdnhPWFpL?= =?utf-8?B?L1RJdUx5L2UzUFM5ZXZCZXdadU5WQmZ3RzFXVFkyb2xiOHJIRWloNnZIS2d5?= =?utf-8?B?aGU4d3diTjExemcvY08xdDFUYW1zZi9sakhGSThsNlNoMmgwUXRiblRGakVh?= =?utf-8?B?OWl1SmpqN0x1ZnFVaHhFN0grNW9hc2N5bWZhdEJLcnJXWWtOTzIyTDRxSFAy?= =?utf-8?B?aHpIeEFLSjV4Qkp0a1ljKzZ1cnhqLy84TERMbE9RdnVQQW84UlMyZ3h6NWdw?= =?utf-8?B?ZEhEM0tHMGhwL3ZmNndwY1JmNlBEcjRoa3BOR3B4QUJSUkkrM001SmIycC9t?= =?utf-8?B?aHVNRTJld3E2U0ZQTGhjUFJNdjJNUUdWaDdUbzRZV1B3T29URHI4MWlZSEZK?= =?utf-8?B?S2dCK2IwMDdNSENzYVBzU3VqV05SaWN4aElUNWtNTGRBUUloMk9rOGh2TFpa?= =?utf-8?B?R0lTTFNwS3ZRVTNyS0tsU2Z3T09zQ3daaEF4YkYvSFlOSUp4OHlLcy80WTFN?= =?utf-8?B?MnJTcWNrQjlnSXYwNFVMTGcrT3RwRTVoRGxNL2VRV01DcFNxdWlkWWJkenZo?= =?utf-8?B?VFBrcEFpTzIxYkh6ZzJ5WGt0RGtTZDdaMDg0aTJEWEp2K2JFenYwZFFXL2lP?= =?utf-8?B?ZnZYdEhCeDl6SkIxYUY1WmZWdll2WTlLUnpiTkY1aFBVNnZlNGxFaGpZZjJW?= =?utf-8?B?a0NuSWlZa09NQ1Y0WUZTcG5OVDVlT2tPNXp5SGQ1dHk2MlNKM05kaU95MkZi?= =?utf-8?B?UmM1MU1VRzlNekZqd0N6N0J3NjR1Uy9VNG1lME5FSElHVzlYV0hxcS91SU83?= =?utf-8?B?cWtORGZPb1g5Yk11czFzaGhuVHZaUFVzR2I2empHaVRBVEh1dHdta3RkcEMy?= =?utf-8?B?SDJ3M1lDaTBuL3pNSG5GV3ZOSUhpVit2eC82bkdGWkN1TWFGaWFRWTNkZCt2?= =?utf-8?B?WTJiaGdocnZzQ21Dekx4V2svblNlSzlnN2ZhT3RIT1p3N2ZXNm1jd09PYk5F?= =?utf-8?B?eG5JTHJ3eVdSQzQ0Mm8zSmRUWEY3SFgwMlBlcHQ1a0VuUnpZL2tucm5uK3hX?= =?utf-8?B?UUVXQjJKNjNVbTd0UjN0TUJOa00rd2VEUCtaY3QzS0o3QmlMTkEvOUs4QkJ0?= =?utf-8?B?OUM4L0dyVUxXczlETE5GdnNEdjVJNWhxS0tybXJhcEgrUHFCb1JseUlrYU53?= =?utf-8?B?K2djeXRocFJkNG5MN2JIYWpJeEd6VWhQZktGMWo5WFNNZ1V0S0lINU54SW9L?= =?utf-8?Q?Gc7m5bKwuVfUnZ9lS1QKRp9Dp?= 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: PH7PR11MB5941.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 22957428-b9e8-4e57-3ca2-08db407f8259 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Apr 2023 02:40:59.4880 (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: aYHVmOjnCBEVdRhwQhIJnyWxk8Gv8aEoWNpvfBpVL/x9i9ZienVEh8nHoCUIoOj9NGe+6Gel47yHoFdVH0pl+w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB5245 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,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: PiA+IGEvZ2NjL2NvbmZpZy9pMzg2L3NzZS5tZCBiL2djYy9jb25maWcvaTM4Ni9zc2UubWQgaW5k ZXgNCj4gPiAzM2UyODE5MDFjZi4uZTdkNTY1YTgzODkgMTAwNjQ0DQo+ID4gLS0tIGEvZ2NjL2Nv bmZpZy9pMzg2L3NzZS5tZA0KPiA+ICsrKyBiL2djYy9jb25maWcvaTM4Ni9zc2UubWQNCj4gPiBA QCAtMjUxMDcsNjcgKzI1MTA3LDcxIEBADQo+ID4NCj4gPiA7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7DQo+ID4gOzsN Cj4gPg0KPiA+ICAoZGVmaW5lX2luc24gImFlc2VuYyINCj4gPiAtICBbKHNldCAobWF0Y2hfb3Bl cmFuZDpWMkRJIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9eCx4IikNCj4gPiAtICAgICAgICh1bnNw ZWM6VjJESSBbKG1hdGNoX29wZXJhbmQ6VjJESSAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiMCx4IikN Cj4gPiAtICAgICAgICAgICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kOlYyREkgMiAidmVjdG9y X29wZXJhbmQiICJ4Qm0seG0iKV0NCj4gPiArICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWMkRJIDAg InJlZ2lzdGVyX29wZXJhbmQiICI9eCx4LHYiKQ0KPiA+ICsgICAgICAgKHVuc3BlYzpWMkRJIFso bWF0Y2hfb3BlcmFuZDpWMkRJIDEgInJlZ2lzdGVyX29wZXJhbmQiICIwLHgsdiIpDQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAobWF0Y2hfb3BlcmFuZDpWMkRJIDIgInZlY3Rvcl9vcGVyYW5k Ig0KPiA+ICsgInhCbSx4bSx2bSIpXQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICBVTlNQRUNf QUVTRU5DKSldDQo+ID4gLSAgIlRBUkdFVF9BRVMiDQo+ID4gKyAgIlRBUkdFVF9BRVMgfHwgKFRB UkdFVF9WQUVTICYmIFRBUkdFVF9BVlg1MTJWTCkiDQo+ID4gICAgIkANCj4gPiAgICAgYWVzZW5j XHR7JTIsICUwfCUwLCAlMn0NCj4gPiArICAgdmFlc2VuY1x0eyUyLCAlMSwgJTB8JTAsICUxLCAl Mn0NCj4gPiAgICAgdmFlc2VuY1x0eyUyLCAlMSwgJTB8JTAsICUxLCAlMn0iDQo+ID4gLSAgWyhz ZXRfYXR0ciAiaXNhIiAibm9hdngsYXZ4IikNCj4gPiArICBbKHNldF9hdHRyICJpc2EiICJub2F2 eCxhZXMsYXZ4NTEydmwiKQ0KPiBTaG91bGRuJ3QgaXQgYmUgdmFlc19hdng1MTJ2bCBhbmQgdGhl biByZW1vdmUgIiB8fCAoVEFSR0VUX1ZBRVMgJiYNCj4gVEFSR0VUX0FWWDUxMlZMKSIgZnJvbSBj b25kaXRpb24uDQoNClNpbmNlIFZBRVMgc2hvdWxkIG5vdCBpbXBseSBBRVMsIHdlIG5lZWQgdGhh dCAifHwgKFRBUkdFVF9WQUVTICYmIA0KVEFSR0VUX0FWWDUxMlZMKSINCg0KQW5kIHRoZXJlIGlz IG5vIG5lZWQgdG8gYWRkIHZhZXNfYXZ4NTEydmwgc2luY2UgdGhlIGxhc3QgYWx0ZXJuYXRpdmUg d2lsbCBvbmx5DQpiZSBoaXQgd2hlbiB0aGVyZSBpcyBubyBhZXMuIFdoZW4gdGhlcmUgaXMgbm8g YWVzLCB0aGUgcGF0dGVybiB3aWxsIG5lZWQgdmFlcw0KYW5kIGF2eDUxMnZsIGJvdGggb3Igd2Ug Y291bGQgbm90IHVzZSB0aGlzIHBhdHRlcm4uIGF2eDUxMnZsIGhlcmUgaXMganVzdCBsaWtlDQph IHBsYWNlaG9sZGVyLg0KDQpCUnMsDQpIYW9jaGVuDQoNCj4gU2ltaWxhciBmb3IgYmVsb3cgcGF0 dGVybnMuDQo+IE90aGVycyBMR1RNLg0KPiA+ICAgICAoc2V0X2F0dHIgInR5cGUiICJzc2Vsb2cx IikNCj4gPiAgICAgKHNldF9hdHRyICJwcmVmaXhfZXh0cmEiICIxIikNCj4gPiAtICAgKHNldF9h dHRyICJwcmVmaXgiICJvcmlnLHZleCIpDQo+ID4gLSAgIChzZXRfYXR0ciAiYnR2ZXIyX2RlY29k ZSIgImRvdWJsZSxkb3VibGUiKQ0KPiA+ICsgICAoc2V0X2F0dHIgInByZWZpeCIgIm9yaWcsdmV4 LGV2ZXgiKQ0KPiA+ICsgICAoc2V0X2F0dHIgImJ0dmVyMl9kZWNvZGUiICJkb3VibGUsZG91Ymxl LGRvdWJsZSIpDQo+ID4gICAgIChzZXRfYXR0ciAibW9kZSIgIlRJIildKQ0KPiA+DQo+ID4gIChk ZWZpbmVfaW5zbiAiYWVzZW5jbGFzdCINCj4gPiAtICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWMkRJ IDAgInJlZ2lzdGVyX29wZXJhbmQiICI9eCx4IikNCj4gPiAtICAgICAgICh1bnNwZWM6VjJESSBb KG1hdGNoX29wZXJhbmQ6VjJESSAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiMCx4IikNCj4gPiAtICAg ICAgICAgICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kOlYyREkgMiAidmVjdG9yX29wZXJhbmQi ICJ4Qm0seG0iKV0NCj4gPiArICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWMkRJIDAgInJlZ2lzdGVy X29wZXJhbmQiICI9eCx4LHYiKQ0KPiA+ICsgICAgICAgKHVuc3BlYzpWMkRJIFsobWF0Y2hfb3Bl cmFuZDpWMkRJIDEgInJlZ2lzdGVyX29wZXJhbmQiICIwLHgsdiIpDQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAobWF0Y2hfb3BlcmFuZDpWMkRJIDIgInZlY3Rvcl9vcGVyYW5kIg0KPiA+ICsg InhCbSx4bSx2bSIpXQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICBVTlNQRUNfQUVTRU5DTEFT VCkpXQ0KPiA+IC0gICJUQVJHRVRfQUVTIg0KPiA+ICsgICJUQVJHRVRfQUVTIHx8IChUQVJHRVRf VkFFUyAmJiBUQVJHRVRfQVZYNTEyVkwpIg0KPiA+ICAgICJADQo+ID4gICAgIGFlc2VuY2xhc3Rc dHslMiwgJTB8JTAsICUyfQ0KPiA+ICsgICB2YWVzZW5jbGFzdFx0eyUyLCAlMSwgJTB8JTAsICUx LCAlMn0NCj4gPiAgICAgdmFlc2VuY2xhc3RcdHslMiwgJTEsICUwfCUwLCAlMSwgJTJ9Ig0KPiA+ IC0gIFsoc2V0X2F0dHIgImlzYSIgIm5vYXZ4LGF2eCIpDQo+ID4gKyAgWyhzZXRfYXR0ciAiaXNh IiAibm9hdngsYWVzLGF2eDUxMnZsIikNCj4gPiAgICAgKHNldF9hdHRyICJ0eXBlIiAic3NlbG9n MSIpDQo+ID4gICAgIChzZXRfYXR0ciAicHJlZml4X2V4dHJhIiAiMSIpDQo+ID4gLSAgIChzZXRf YXR0ciAicHJlZml4IiAib3JpZyx2ZXgiKQ0KPiA+IC0gICAoc2V0X2F0dHIgImJ0dmVyMl9kZWNv ZGUiICJkb3VibGUsZG91YmxlIikNCj4gPiArICAgKHNldF9hdHRyICJwcmVmaXgiICJvcmlnLHZl eCxldmV4IikNCj4gPiArICAgKHNldF9hdHRyICJidHZlcjJfZGVjb2RlIiAiZG91YmxlLGRvdWJs ZSxkb3VibGUiKQ0KPiA+ICAgICAoc2V0X2F0dHIgIm1vZGUiICJUSSIpXSkNCj4gPg0KPiA+ICAo ZGVmaW5lX2luc24gImFlc2RlYyINCj4gPiAtICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWMkRJIDAg InJlZ2lzdGVyX29wZXJhbmQiICI9eCx4IikNCj4gPiAtICAgICAgICh1bnNwZWM6VjJESSBbKG1h dGNoX29wZXJhbmQ6VjJESSAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiMCx4IikNCj4gPiAtICAgICAg ICAgICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kOlYyREkgMiAidmVjdG9yX29wZXJhbmQiICJ4 Qm0seG0iKV0NCj4gPiArICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWMkRJIDAgInJlZ2lzdGVyX29w ZXJhbmQiICI9eCx4LHYiKQ0KPiA+ICsgICAgICAgKHVuc3BlYzpWMkRJIFsobWF0Y2hfb3BlcmFu ZDpWMkRJIDEgInJlZ2lzdGVyX29wZXJhbmQiICIwLHgsdiIpDQo+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAobWF0Y2hfb3BlcmFuZDpWMkRJIDIgInZlY3Rvcl9vcGVyYW5kIg0KPiA+ICsgInhC bSx4bSx2bSIpXQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICBVTlNQRUNfQUVTREVDKSldDQo+ ID4gLSAgIlRBUkdFVF9BRVMiDQo+ID4gKyAgIlRBUkdFVF9BRVMgfHwgKFRBUkdFVF9WQUVTICYm IFRBUkdFVF9BVlg1MTJWTCkiDQo+ID4gICAgIkANCj4gPiAgICAgYWVzZGVjXHR7JTIsICUwfCUw LCAlMn0NCj4gPiArICAgdmFlc2RlY1x0eyUyLCAlMSwgJTB8JTAsICUxLCAlMn0NCj4gPiAgICAg dmFlc2RlY1x0eyUyLCAlMSwgJTB8JTAsICUxLCAlMn0iDQo+ID4gLSAgWyhzZXRfYXR0ciAiaXNh IiAibm9hdngsYXZ4IikNCj4gPiArICBbKHNldF9hdHRyICJpc2EiICJub2F2eCxhZXMsYXZ4NTEy dmwiKQ0KPiA+ICAgICAoc2V0X2F0dHIgInR5cGUiICJzc2Vsb2cxIikNCj4gPiAgICAgKHNldF9h dHRyICJwcmVmaXhfZXh0cmEiICIxIikNCj4gPiAtICAgKHNldF9hdHRyICJwcmVmaXgiICJvcmln LHZleCIpDQo+ID4gLSAgIChzZXRfYXR0ciAiYnR2ZXIyX2RlY29kZSIgImRvdWJsZSxkb3VibGUi KQ0KPiA+ICsgICAoc2V0X2F0dHIgInByZWZpeCIgIm9yaWcsdmV4LGV2ZXgiKQ0KPiA+ICsgICAo c2V0X2F0dHIgImJ0dmVyMl9kZWNvZGUiICJkb3VibGUsZG91YmxlLGRvdWJsZSIpDQo+ID4gICAg IChzZXRfYXR0ciAibW9kZSIgIlRJIildKQ0KPiA+DQo+ID4gIChkZWZpbmVfaW5zbiAiYWVzZGVj bGFzdCINCj4gPiAtICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWMkRJIDAgInJlZ2lzdGVyX29wZXJh bmQiICI9eCx4IikNCj4gPiAtICAgICAgICh1bnNwZWM6VjJESSBbKG1hdGNoX29wZXJhbmQ6VjJE SSAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiMCx4IikNCj4gPiAtICAgICAgICAgICAgICAgICAgICAg IChtYXRjaF9vcGVyYW5kOlYyREkgMiAidmVjdG9yX29wZXJhbmQiICJ4Qm0seG0iKV0NCj4gPiAr ICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWMkRJIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9eCx4LHYi KQ0KPiA+ICsgICAgICAgKHVuc3BlYzpWMkRJIFsobWF0Y2hfb3BlcmFuZDpWMkRJIDEgInJlZ2lz dGVyX29wZXJhbmQiICIwLHgsdiIpDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAobWF0Y2hf b3BlcmFuZDpWMkRJIDIgInZlY3Rvcl9vcGVyYW5kIg0KPiA+ICsgInhCbSx4bSx2bSIpXQ0KPiA+ ICAgICAgICAgICAgICAgICAgICAgICBVTlNQRUNfQUVTREVDTEFTVCkpXQ0KPiA+IC0gICJUQVJH RVRfQUVTIg0KPiA+ICsgICJUQVJHRVRfQUVTIHx8IChUQVJHRVRfVkFFUyAmJiBUQVJHRVRfQVZY NTEyVkwpIg0KPiA+ICAgICJADQo+ID4gICAgIGFlc2RlY2xhc3RcdHslMiwgJTB8JTAsICUyfQ0K PiA+ICsgICB2YWVzZGVjbGFzdFx0eyUyLCAlMSwgJTB8JTAsICUxLCAlMn0NCj4gPiAgICAgdmFl c2RlY2xhc3RcdHslMiwgJTEsICUwfCUwLCAlMSwgJTJ9Ig0KPiA+IC0gIFsoc2V0X2F0dHIgImlz YSIgIm5vYXZ4LGF2eCIpDQo+ID4gKyAgWyhzZXRfYXR0ciAiaXNhIiAibm9hdngsYWVzLGF2eDUx MnZsIikNCj4gPiAgICAgKHNldF9hdHRyICJ0eXBlIiAic3NlbG9nMSIpDQo+ID4gICAgIChzZXRf YXR0ciAicHJlZml4X2V4dHJhIiAiMSIpDQo+ID4gLSAgIChzZXRfYXR0ciAicHJlZml4IiAib3Jp Zyx2ZXgiKQ0KPiA+IC0gICAoc2V0X2F0dHIgImJ0dmVyMl9kZWNvZGUiICJkb3VibGUsZG91Ymxl IikNCj4gPiArICAgKHNldF9hdHRyICJwcmVmaXgiICJvcmlnLHZleCxldmV4IikNCj4gPiArICAg KHNldF9hdHRyICJidHZlcjJfZGVjb2RlIiAiZG91YmxlLGRvdWJsZSxkb3VibGUiKQ0KPiA+ICAg ICAoc2V0X2F0dHIgIm1vZGUiICJUSSIpXSkNCj4gPg0KPiA+ICAoZGVmaW5lX2luc24gImFlc2lt YyINCj4gPiBkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9pMzg2L3ZhZXNpbnRyaW4uaA0KPiA+IGIv Z2NjL2NvbmZpZy9pMzg2L3ZhZXNpbnRyaW4uaCBpbmRleCAwZjFjZmZlNzFlOS4uNThmYzE5Yzll YjMgMTAwNjQ0DQo+ID4gLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L3ZhZXNpbnRyaW4uaA0KPiA+ICsr KyBiL2djYy9jb25maWcvaTM4Ni92YWVzaW50cmluLmgNCj4gPiBAQCAtMjQsOSArMjQsOSBAQA0K PiA+ICAjaWZuZGVmIF9fVkFFU0lOVFJJTl9IX0lOQ0xVREVEDQo+ID4gICNkZWZpbmUgX19WQUVT SU5UUklOX0hfSU5DTFVERUQNCj4gPg0KPiA+IC0jaWYgIWRlZmluZWQoX19WQUVTX18pIHx8ICFk ZWZpbmVkKF9fQVZYX18pDQo+ID4gKyNpZiAhZGVmaW5lZChfX1ZBRVNfXykNCj4gPiAgI3ByYWdt YSBHQ0MgcHVzaF9vcHRpb25zDQo+ID4gLSNwcmFnbWEgR0NDIHRhcmdldCgidmFlcyxhdngiKQ0K PiA+ICsjcHJhZ21hIEdDQyB0YXJnZXQoInZhZXMiKQ0KPiA+ICAjZGVmaW5lIF9fRElTQUJMRV9W QUVTX18NCj4gPiAgI2VuZGlmIC8qIF9fVkFFU19fICovDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEv Z2NjL2NvbmZpZy9pMzg2L3dtbWludHJpbi5oIGIvZ2NjL2NvbmZpZy9pMzg2L3dtbWludHJpbi5o DQo+ID4gaW5kZXggYWUxNWNlYTQyOWUuLmRhMzE0ZGJkNDRkIDEwMDY0NA0KPiA+IC0tLSBhL2dj Yy9jb25maWcvaTM4Ni93bW1pbnRyaW4uaA0KPiA+ICsrKyBiL2djYy9jb25maWcvaTM4Ni93bW1p bnRyaW4uaA0KPiA+IEBAIC00MCwzNiArNDAsMjMgQEANCj4gPg0KPiA+ICAvKiBQZXJmb3JtcyAx IHJvdW5kIG9mIEFFUyBkZWNyeXB0aW9uIG9mIHRoZSBmaXJzdCBtMTI4aSB1c2luZw0KPiA+ICAg ICB0aGUgc2Vjb25kIG0xMjhpIGFzIGEgcm91bmQga2V5LiAgKi8gLWV4dGVybiBfX2lubGluZSBf X20xMjhpDQo+ID4gX19hdHRyaWJ1dGVfXygoX19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGlu ZV9fLCBfX2FydGlmaWNpYWxfXykpDQo+ID4gLV9tbV9hZXNkZWNfc2kxMjggKF9fbTEyOGkgX19Y LCBfX20xMjhpIF9fWSkgLXsNCj4gPiAtICByZXR1cm4gKF9fbTEyOGkpIF9fYnVpbHRpbl9pYTMy X2Flc2RlYzEyOCAoKF9fdjJkaSlfX1gsDQo+ID4gKF9fdjJkaSlfX1kpOyAtfQ0KPiA+ICsjZGVm aW5lIF9tbV9hZXNkZWNfc2kxMjgoWCwgWSkgXA0KPiA+ICsgIChfX20xMjhpKSBfX2J1aWx0aW5f aWEzMl9hZXNkZWMxMjggKChfX3YyZGkpIChYKSwgKF9fdjJkaSkgKFkpKQ0KPiA+DQo+ID4gIC8q IFBlcmZvcm1zIHRoZSBsYXN0IHJvdW5kIG9mIEFFUyBkZWNyeXB0aW9uIG9mIHRoZSBmaXJzdCBt MTI4aQ0KPiA+ICAgICB1c2luZyB0aGUgc2Vjb25kIG0xMjhpIGFzIGEgcm91bmQga2V5LiAgKi8g LWV4dGVybiBfX2lubGluZQ0KPiA+IF9fbTEyOGkgX19hdHRyaWJ1dGVfXygoX19nbnVfaW5saW5l X18sIF9fYWx3YXlzX2lubGluZV9fLA0KPiA+IF9fYXJ0aWZpY2lhbF9fKSkNCj4gPiAtX21tX2Fl c2RlY2xhc3Rfc2kxMjggKF9fbTEyOGkgX19YLCBfX20xMjhpIF9fWSkgLXsNCj4gPiAtICByZXR1 cm4gKF9fbTEyOGkpIF9fYnVpbHRpbl9pYTMyX2Flc2RlY2xhc3QxMjggKChfX3YyZGkpX19YLA0K PiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX192 MmRpKV9fWSk7DQo+ID4gLX0NCj4gPiArI2RlZmluZSBfbW1fYWVzZGVjbGFzdF9zaTEyOChYLCBZ KSBcDQo+ID4gKyAgKF9fbTEyOGkpIF9fYnVpbHRpbl9pYTMyX2Flc2RlY2xhc3QxMjggKChfX3Yy ZGkpIChYKSwgKF9fdjJkaSkgKFkpKQ0KPiA+DQo+ID4gIC8qIFBlcmZvcm1zIDEgcm91bmQgb2Yg QUVTIGVuY3J5cHRpb24gb2YgdGhlIGZpcnN0IG0xMjhpIHVzaW5nDQo+ID4gICAgIHRoZSBzZWNv bmQgbTEyOGkgYXMgYSByb3VuZCBrZXkuICAqLyAtZXh0ZXJuIF9faW5saW5lIF9fbTEyOGkNCj4g PiBfX2F0dHJpYnV0ZV9fKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0 aWZpY2lhbF9fKSkNCj4gPiAtX21tX2Flc2VuY19zaTEyOCAoX19tMTI4aSBfX1gsIF9fbTEyOGkg X19ZKSAtew0KPiA+IC0gIHJldHVybiAoX19tMTI4aSkgX19idWlsdGluX2lhMzJfYWVzZW5jMTI4 ICgoX192MmRpKV9fWCwNCj4gPiAoX192MmRpKV9fWSk7IC19DQo+ID4gKyNkZWZpbmUgX21tX2Fl c2VuY19zaTEyOChYLCBZKSBcDQo+ID4gKyAgKF9fbTEyOGkpIF9fYnVpbHRpbl9pYTMyX2Flc2Vu YzEyOCAoKF9fdjJkaSkgKFgpLCAoX192MmRpKSAoWSkpDQo+ID4NCj4gPiAgLyogUGVyZm9ybXMg dGhlIGxhc3Qgcm91bmQgb2YgQUVTIGVuY3J5cHRpb24gb2YgdGhlIGZpcnN0IG0xMjhpDQo+ID4g ICAgIHVzaW5nIHRoZSBzZWNvbmQgbTEyOGkgYXMgYSByb3VuZCBrZXkuICAqLyAtZXh0ZXJuIF9f aW5saW5lDQo+ID4gX19tMTI4aSBfX2F0dHJpYnV0ZV9fKChfX2dudV9pbmxpbmVfXywgX19hbHdh eXNfaW5saW5lX18sDQo+ID4gX19hcnRpZmljaWFsX18pKQ0KPiA+IC1fbW1fYWVzZW5jbGFzdF9z aTEyOCAoX19tMTI4aSBfX1gsIF9fbTEyOGkgX19ZKSAtew0KPiA+IC0gIHJldHVybiAoX19tMTI4 aSkgX19idWlsdGluX2lhMzJfYWVzZW5jbGFzdDEyOCAoKF9fdjJkaSlfX1gsDQo+ID4gKF9fdjJk aSlfX1kpOyAtfQ0KPiA+ICsjZGVmaW5lIF9tbV9hZXNlbmNsYXN0X3NpMTI4KFgsIFkpIFwNCj4g PiArICAoX19tMTI4aSkgX19idWlsdGluX2lhMzJfYWVzZW5jbGFzdDEyOCAoKF9fdjJkaSkgKFgp LCAoX192MmRpKSAoWSkpDQo+ID4NCj4gPiAgLyogUGVyZm9ybXMgdGhlIEludmVyc2VNaXhDb2x1 bW4gb3BlcmF0aW9uIG9uIHRoZSBzb3VyY2UgbTEyOGkNCj4gPiAgICAgYW5kIHN0b3JlcyB0aGUg cmVzdWx0IGludG8gbTEyOGkgZGVzdGluYXRpb24uICAqLyBkaWZmIC0tZ2l0DQo+ID4gYS9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdng1MTJmdmwtdmFlcy0xLmMNCj4gPiBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eDUxMmZ2bC12YWVzLTEuYw0KPiA+IGluZGV4IGM2 NWI1NzBjZDQ3Li5mMzU3NDJlYzk4YiAxMDA2NDQNCj4gPiAtLS0gYS9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvaTM4Ni9hdng1MTJmdmwtdmFlcy0xLmMNCj4gPiArKysgYi9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvaTM4Ni9hdng1MTJmdmwtdmFlcy0xLmMNCj4gPiBAQCAtMTAsMTAgKzEwLDE2 IEBADQo+ID4gIC8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAidmFlc2VuY1xb DQo+ID4gXFx0XF0rXFteXHtcblxdKiV5bW1cWzAtOVxdK1xbXlx7XG5cXSoleW1tXFswLQ0KPiA5 XF0rXFteXHtcblxdKiV5bW1cWzAtOVwNCj4gPiBdKyg/OlxufFxbIFxcdFxdKyMpIiAgMSB9IH0g Ki8NCj4gPiAgLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJ2YWVzZW5jbGFz dFxbDQo+ID4gXFx0XF0rXFteXHtcblxdKiV5bW1cWzAtOVxdK1xbXlx7XG5cXSoleW1tXFswLQ0K PiA5XF0rXFteXHtcblxdKiV5bW1cWzAtOVwNCj4gPiBdKyg/OlxufFxbIFxcdFxdKyMpIiAgMSB9 IH0gKi8NCj4gPg0KPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgInZh ZXNkZWNcWw0KPiA+ICtcXHRcXStcW15ce1xuXF0qJXhtbVxbMC05XF0rXFteXHtcblxdKiV4bW1c WzAtDQo+IDlcXStcW15ce1xuXF0qJXhtbVxbMC05DQo+ID4gK1xdKyg/OlxufFxbIFxcdFxdKyMp IiAgMSB9IH0gKi8NCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJ2 YWVzZGVjbGFzdFxbDQo+ID4gK1xcdFxdK1xbXlx7XG5cXSoleG1tXFswLTlcXStcW15ce1xuXF0q JXhtbVxbMC0NCj4gOVxdK1xbXlx7XG5cXSoleG1tXFswLTkNCj4gPiArXF0rKD86XG58XFsgXFx0 XF0rIykiICAxIH0gfSAqLw0KPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMgInZhZXNlbmNcWw0KPiA+ICtcXHRcXStcW15ce1xuXF0qJXhtbVxbMC05XF0rXFteXHtcblxd KiV4bW1cWzAtDQo+IDlcXStcW15ce1xuXF0qJXhtbVxbMC05DQo+ID4gK1xdKyg/OlxufFxbIFxc dFxdKyMpIiAgMSB9IH0gKi8NCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzICJ2YWVzZW5jbGFzdFxbDQo+ID4gK1xcdFxdK1xbXlx7XG5cXSoleG1tXFswLTlcXStcW15c e1xuXF0qJXhtbVxbMC0NCj4gOVxdK1xbXlx7XG5cXSoleG1tXFswLTkNCj4gPiArXF0rKD86XG58 XFsgXFx0XF0rIykiICAxIH0gfSAqLw0KPiA+ICsNCj4gPiAgI2luY2x1ZGUgPGltbWludHJpbi5o Pg0KPiA+DQo+ID4gIHZvbGF0aWxlIF9fbTUxMmkgeCx5Ow0KPiA+ICB2b2xhdGlsZSBfX20yNTZp IHgyNTYsIHkyNTY7DQo+ID4gK3ZvbGF0aWxlIF9fbTEyOGkgeDEyOCwgeTEyODsNCj4gPg0KPiA+ ICB2b2lkIGV4dGVybg0KPiA+ICBhdng1MTJmX3Rlc3QgKHZvaWQpDQo+ID4gQEAgLTI3LDQgKzMz LDkgQEAgYXZ4NTEyZl90ZXN0ICh2b2lkKQ0KPiA+ICAgIHgyNTYgPSBfbW0yNTZfYWVzZGVjbGFz dF9lcGkxMjggKHgyNTYsIHkyNTYpOw0KPiA+ICAgIHgyNTYgPSBfbW0yNTZfYWVzZW5jX2VwaTEy OCAoeDI1NiwgeTI1Nik7DQo+ID4gICAgeDI1NiA9IF9tbTI1Nl9hZXNlbmNsYXN0X2VwaTEyOCAo eDI1NiwgeTI1Nik7DQo+ID4gKw0KPiA+ICsgIHgxMjggPSBfbW1fYWVzZGVjX3NpMTI4ICh4MTI4 LCB5MTI4KTsNCj4gPiArICB4MTI4ID0gX21tX2Flc2RlY2xhc3Rfc2kxMjggKHgxMjgsIHkxMjgp Ow0KPiA+ICsgIHgxMjggPSBfbW1fYWVzZW5jX3NpMTI4ICh4MTI4LCB5MTI4KTsNCj4gPiArICB4 MTI4ID0gX21tX2Flc2VuY2xhc3Rfc2kxMjggKHgxMjgsIHkxMjgpOw0KPiA+ICB9DQo+ID4gZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByODQzMzUuYw0KPiA+IGIv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI4NDMzNS5jDQo+ID4gaW5kZXggYzhkMmE3 MTJmMWYuLjVlNDVlMmIzMjJhIDEwMDY0NA0KPiA+IC0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9pMzg2L3ByODQzMzUuYw0KPiA+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9p Mzg2L3ByODQzMzUuYw0KPiA+IEBAIC02LDUgKzYsNSBAQCB0eXBlZGVmIGxvbmcgbG9uZyBWIF9f YXR0cmlidXRlX18gKChfX3ZlY3Rvcl9zaXplX18NCj4gPiAoMTYpKSk7ICBWICBmb28gKFYgKmEs IFYgKmIpICB7DQo+ID4gLSAgcmV0dXJuIF9fYnVpbHRpbl9pYTMyX2Flc2VuYzEyOCAoKmEsICpi KTsgICAgLyogeyBkZy1lcnJvciAibmVlZHMgaXNhDQo+IG9wdGlvbiIgfSAqLw0KPiA+IC19DQo+ ID4gKyAgcmV0dXJuIF9fYnVpbHRpbl9pYTMyX2Flc2VuYzEyOCAoKmEsICpiKTsgICAgLyogeyBk Zy13YXJuaW5nICJpbXBsaWNpdA0KPiBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiIgfSAqLw0KPiA+ ICt9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHsgZGct ZXJyb3IgImluY29tcGF0aWJsZSB0eXBlcyB3aGVuIHJldHVybmluZw0KPiB0eXBlIiAiIiB7IHRh cmdldCAqLSotKiB9IC4tMSB9ICovDQo+ID4gLS0NCj4gPiAyLjMxLjENCj4gPg0KPiANCj4gDQo+ IC0tDQo+IEJSLA0KPiBIb25ndGFvDQo=