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 EDA4F3858D1E for ; Wed, 19 Apr 2023 06:04:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EDA4F3858D1E 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=1681884249; x=1713420249; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=PPdeXtHbFCC0iox5M6mwcx0CKm2HqeKfbVLi/8U+7wE=; b=YE5kJXBVTECtiX/5+XN7ZvKKWI58QI9t3w4leNTk15RB8m92wLuj3K5J /5ba3qSVCQta0IwXuLBTGaJ169zKpH9O/+7ra+yv7275W4kTqAuWaWNXu A7SCYcSGZcZStUpcL4N7+NEynVG2hF7fdYak8oPTYDsMhBR3cvSB7hmxZ FmQHR9xw1jXjQfcxWTxwieoaEfi29WhP7WacD3lVFadFQNOwiMly7xAfs 06H16wr1XcPzFSWhLk/+71aJfnVmRfBGtAo0Bnnrb1USdYEjc70NpVBYY LUVw80hbqpjwKND1vEXn45qvrAV5Hvyplr+VpTdEpylLyi2lnBcfIZu6W g==; X-IronPort-AV: E=McAfee;i="6600,9927,10684"; a="344111354" X-IronPort-AV: E=Sophos;i="5.99,208,1677571200"; d="scan'208";a="344111354" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2023 23:04:06 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10684"; a="641634057" X-IronPort-AV: E=Sophos;i="5.99,208,1677571200"; d="scan'208";a="641634057" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga003.jf.intel.com with ESMTP; 18 Apr 2023 23:04:03 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) 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; Tue, 18 Apr 2023 23:04:02 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX611.amr.corp.intel.com (10.22.229.24) 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 23:04:02 -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 23:04:02 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.177) 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 23:04:01 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Nuc1acwiqinvLbx1sJX2NrEYc/XJtIabjMrwD4kr0XukQDBCUhSWM2MUoJ2c5+525HYaI4S2JBUPou3s4elUKvWtmwZzjo4/haiRirhmTr4p6SX+PuznWdTLmH+2QMIOlJEN2aaMxEQ56ZctdacW1bmLX8L5C1DqnaR7sRe1/Kcm4dlP5vLLE/PxJsEjf/nAk4x10bpgWlY2G0uMkx9VBkC5r5wpydTJYY0tQBvHonatsIIUU4DrNF5RkBrYTmUlZsxpKDnSFi36/slchEYoQK+xWwhZ/SV8aWL0klm9JoA5Xvev5eStvoztMQirxRkYVQl0P0uwbIUDVvMAYViOvw== 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=PPdeXtHbFCC0iox5M6mwcx0CKm2HqeKfbVLi/8U+7wE=; b=mQh/BLmLbOFQaVUJ8jztGDJStzm4k64BX/af7IvzbpoLvxcDF3+I+twz1gwGVoFrIejZX92iCfrLCEn/XG3/s404Mov2+M87Ov0OHnae8MClxg+R+IHvz1OkyG2m+HPHHxl3tcLvwWocQ2z4heB/1UxQxeCepy7eTzwqRRnyC2Qtchm0jtpTc3AHLDI/u95fi4joKl+iWM3A0edO1XzJXj0UjyvHfYEUwF4JLuynqitvH9BGCoUxfihRCmvn4q2E2qFRZa7VkTYLSRIQkbE7Tngtne+TS05SpOLb2wQOPOVg0PMdGWEnflXxMLZXr2zmuhSCImeg9UHVQ3Ml9HRcqQ== 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 BY1PR11MB8078.namprd11.prod.outlook.com (2603:10b6:a03:52a::6) 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 06:03:59 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::bbc5:f013:1f53:10a9]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::bbc5:f013:1f53:10a9%6]) with mapi id 15.20.6298.045; Wed, 19 Apr 2023 06:03:59 +0000 From: "Li, Pan2" To: Richard Biener CC: "gcc-patches@gcc.gnu.org" , "juzhe.zhong@rivai.ai" , "kito.cheng@sifive.com" , "rguenther@suse.de" , "Wang, Yanzhang" , "richard.sandiford@arm.com" Subject: RE: [PATCH] RISC-V: Allow Vector IOR(V1, NOT V1) optimiztion Thread-Topic: [PATCH] RISC-V: Allow Vector IOR(V1, NOT V1) optimiztion Thread-Index: AQHZcTwAxHfWo4qJP0Wi4A9KCjJ6ca8wSDNQgABsvoCAAABpgIAABJ0QgAAOq8CAAV2fUA== Date: Wed, 19 Apr 2023 06:03:59 +0000 Message-ID: References: <20230417145025.2291874-1-pan2.li@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: MW5PR11MB5908:EE_|BY1PR11MB8078:EE_ x-ms-office365-filtering-correlation-id: 39e3647c-f301-4fd9-12d3-08db409bde21 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: CHZQUV3OzP9a4Qf0YfCOZFly1Iq/+dVtJ9lTLiSRFqg1bFgnn9kq9ZzhutwYz0GvC6FNEFe4gzyysJr7VJwR8XMAkJemuqAZwwdvt7ylpCEbwFH2YNwrXu6FKodISMh1cFLsq2OWjj3xJs0egPtWyCMXVwqFs44vrlHEUl0wcTWWkVUOhDSVMO5RRhZ/+BEsOx3HxPBQUEkOvEbB7quJVZFvtH43CK4cQ/zwuleBMfLZLpvwDYwD1FGQxgN7vC/8Eu6ap/PRuHsiTiJLZ8HYVU+9ealFzjgTcHFhSQv5+n9ASfdHLCOT2/OyfLD1iAPwG03emysFo/YcpQ7WiE9XLlpR7n/MeLw7P3iXp/EBRMN2Z/bbVwnq+zdq1xhjangfu5m7YMaE9l8QO0ZprmMw7Glznck0RNxec9vhzpcZMUH8ohdaZVTqgMS4b31lsAAAOmpW50cV7TR1XVzO466W4InpAiwjGhO8WUqJaE6pWUZvuhkKP5yzfRit747viHXorDoBoO1doQ+opG+nn728N8Qjkw2lf28Kga+etQ+tCn2v4kMhRP+vWtfbR0EBeLb+s+7s1XtxywjtqQAweBTmODcx41wH4I8UW+NTE0SGds4= 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)(366004)(376002)(136003)(346002)(39860400002)(451199021)(52536014)(5660300002)(86362001)(186003)(83380400001)(966005)(6506007)(53546011)(9686003)(26005)(82960400001)(122000001)(38100700002)(38070700005)(8676002)(8936002)(41300700001)(54906003)(33656002)(71200400001)(7696005)(478600001)(316002)(76116006)(55016003)(66556008)(4326008)(66946007)(66476007)(84970400001)(6916009)(66446008)(64756008)(2906002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UVVPRmVrTFVKV3B6azZSZG1nZDZlb2NObDlXOFRpVGg0eUNVeGt3ZzlBWHB4?= =?utf-8?B?UnBaV0FnNEY5akUvN2RoK3dQakorbENma3I0U1BiZ2JtRmlpTi9MenZUQWhI?= =?utf-8?B?d1NQTXYydVRJVjludU9RQzhOOWN1bzZONk1UOUlTdWdVVFBoa1N6QWRxL2RQ?= =?utf-8?B?OHBXNndCVDZ3SkFQTjJkMlZCWW5DbWNrUldrUUpSN2NTK2pvdkxObDZ0ZzA4?= =?utf-8?B?VFNNRTJKT09QUWE0a0ZCbThBNWx0RlpFRFpmMmw1UDVXWEVZbEo4QzJaTDEy?= =?utf-8?B?U29qWmNFN3d4ckVwL0lHckN2cERvS1V5enV1TlgzTDhJQ003eDVOMUYxcWVH?= =?utf-8?B?Mkpnd1V4ekhGSXg3TGEzbzRtQnJnUXNDS2xONlozV1NxVVV6bWhWOTFIMkxh?= =?utf-8?B?QkFXbU1nbmNtS2U2ZG9jM2duWHhUZWFwNnQyS2RRaEdTVnQ4SFlIb2lna0F1?= =?utf-8?B?Z1dtN01kekFIVCtYcXU2VFVUTDk2MGpjZC93SEo2MnhFc3dxS1lMYStvN2dl?= =?utf-8?B?SDdsamNIRzZ6WHBSSksvMVpocUVVUGpTZU1zUklXeFoyZWtPQ3NRYzYrc1Ju?= =?utf-8?B?SGI4RjVXZHV5MjFCYjN5ZmQvV2dBaXYwVkpkU2tuWmdSbXZaOVZpc0xBTkhG?= =?utf-8?B?d2FHWFJyTjVSZ0lueVpXc0oyTE5rclBIbFBWUWJjYWdJeU1QQjJWaGlSSGdk?= =?utf-8?B?dStnL0paZDFGZDliZ0d2UVIxOWxxSzBvR3VjVW9WQWNSNTR3MjUxVDZhTndT?= =?utf-8?B?YnljdmZzWi9yUWR4Umk5VHNPVkYxa2tXYndaSVJZOElrRmYyUW52aGMxVEVv?= =?utf-8?B?NTNpZW5rcXVKdU4ya0U0cENYQjVxYjJXNStFYmlYR2tGRmZvZFV2aDFXM0xF?= =?utf-8?B?S28zeGIxQVgvd1VmTEhvemtRSXF2b3YvY2hvZEJhK2t1UmZSTjE0WjZhMnQ5?= =?utf-8?B?MmR4cHVxWHhSUFNqZmVRMHhscGluTmZ3eUlCL2tEYmhSa1RyZUlrc25UUHQ3?= =?utf-8?B?bm1scU4rYVJ4bWxrRC9xSS82dWo3ZWQ4dWpnU0NiZFlPTzFyVXJiNFFMaXlO?= =?utf-8?B?NWx4SC9EVk9ZaTMxZXZ6YU5TbWUyd1FiVE9DYTJPSmxRUUxqVzdEWVh0dmNY?= =?utf-8?B?NzZxRTZTSnZheWE4WUdINmZET1ZkMnhPYUhVa1N4YlMzcFkyRXJkY3RDQnMx?= =?utf-8?B?TW85bFZNM01PUWwzb25NSkErSmtaaVd1NlBibkN4U1NWbEc3eVFpdmtLMkZF?= =?utf-8?B?dUM2TFk2VFdQQ1VMbXA3eGgwSy80eEFNbDAvcXhVa2htQko1elo5aXg3ZEZ1?= =?utf-8?B?aWl5cENVb2daYUhsMHN5d2RhcVA5bVlSSlpybXhvVDFJdTl6eU8wdnpjWm9w?= =?utf-8?B?MWpnSGs4OGFVN1ZiZDI3NUZVdU1RclJPeWRiQlI0QllQbWNtVE96VkthVTRM?= =?utf-8?B?R0NiOGw0b3FCVmR5Qm5VTWFnd2FDaTVxWUZwV3Qra2JrQXFyaG1adkUycUY5?= =?utf-8?B?VEVRckxZOU9CUTFOQlR5THpYV0JldWs0b2pxWjlvb3NpeEdwUWJGUlNxQmM4?= =?utf-8?B?OWIyQjFGR1dTNFcvTkpuQ2YyK3BTaHFVdk1sa3RwN3VjRExGS0JEdktjTURi?= =?utf-8?B?cUpBQ05wWCtZa2FGeUJFYk56V2JIenU0MEFMM1RLYUlQbEVzTjhpU2ZkSGtx?= =?utf-8?B?NUs4Q0UvZUNkclo5OFVpcHJoaEw4QUVMMFBpSHFrME0xVjc3OU01aDZ2M214?= =?utf-8?B?alVxTzJYaHBXdUNHQiszVmZxRmp1NkpxQTZxSWVjQkpodklMRUd6Vko4dk1G?= =?utf-8?B?SkMwMkl6clRYUzZkY0RvWGlwVE96MHlCNWZHTVY4eUFZYjl0L2JTT0tackVK?= =?utf-8?B?SVQ4SVB6WHpJajYvNExiVmY2VHdteFhkK1JYOFF2RFJOTllFRXlnOE92K2Fx?= =?utf-8?B?Mk5DdHZJVkZrT21WSEpQQTQzblpLUm55dk14Um1vM3RDWTg1M1FzcExBUVhm?= =?utf-8?B?NjFIbHlSVnR5OEtaaUJCLzdWZHhLcm8zMzNNQU1NRmYvOXdZR29qRFpXeDZv?= =?utf-8?B?VUxyRFRsUldaQjdUNFFZNlNnci9aMFVyTHhXSWV4dlp6RzVjUUxxeVVOSDRE?= =?utf-8?Q?EuCI=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: 39e3647c-f301-4fd9-12d3-08db409bde21 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Apr 2023 06:03:59.3261 (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: oMFOQVRpBt/WRJOqLcfwffoQ2m3mGcIi+weK6CGyC0bWZUSCUGn+OBLQXkgg/1MHY9AycsSv4uwicNfp0lJ5OQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR11MB8078 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: UGFzc2VkIHRoZSBYODYgYm9vdHN0cmFwIGFuZCByZWdyZXNzaW9uIHRlc3RzLg0KDQpQYW4NCg0K LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IExpLCBQYW4yIDxwYW4yLmxpQGludGVs LmNvbT4gDQpTZW50OiBUdWVzZGF5LCBBcHJpbCAxOCwgMjAyMyA1OjEyIFBNDQpUbzogTGksIFBh bjIgPHBhbjIubGlAaW50ZWwuY29tPjsgUmljaGFyZCBCaWVuZXIgPHJpY2hhcmQuZ3VlbnRoZXJA Z21haWwuY29tPg0KQ2M6IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnOyBqdXpoZS56aG9uZ0ByaXZh aS5haTsga2l0by5jaGVuZ0BzaWZpdmUuY29tOyByZ3VlbnRoZXJAc3VzZS5kZTsgV2FuZywgWWFu emhhbmcgPHlhbnpoYW5nLndhbmdAaW50ZWwuY29tPjsgcmljaGFyZC5zYW5kaWZvcmRAYXJtLmNv bQ0KU3ViamVjdDogUkU6IFtQQVRDSF0gUklTQy1WOiBBbGxvdyBWZWN0b3IgSU9SKFYxLCBOT1Qg VjEpIG9wdGltaXp0aW9uDQoNClVwZGF0ZSB0aGUgUEFUQ0ggdjIgaGVyZSwgaHR0cHM6Ly9nY2Mu Z251Lm9yZy9waXBlcm1haWwvZ2NjLXBhdGNoZXMvMjAyMy1BcHJpbC82MTU5MzcuaHRtbC4NCg0K UnVubmluZyB0aGUgYm9vc3RyYXAvcmVncmVzc2lvbiB0ZXN0LCBhbmQga2VlcCB5b3UgcG9zdGVk Lg0KDQpQYW4NCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IEdjYy1wYXRjaGVz IDxnY2MtcGF0Y2hlcy1ib3VuY2VzK3BhbjIubGk9aW50ZWwuY29tQGdjYy5nbnUub3JnPiBPbiBC ZWhhbGYgT2YgTGksIFBhbjIgdmlhIEdjYy1wYXRjaGVzDQpTZW50OiBUdWVzZGF5LCBBcHJpbCAx OCwgMjAyMyA0OjIwIFBNDQpUbzogUmljaGFyZCBCaWVuZXIgPHJpY2hhcmQuZ3VlbnRoZXJAZ21h aWwuY29tPg0KQ2M6IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnOyBqdXpoZS56aG9uZ0ByaXZhaS5h aTsga2l0by5jaGVuZ0BzaWZpdmUuY29tOyByZ3VlbnRoZXJAc3VzZS5kZTsgV2FuZywgWWFuemhh bmcgPHlhbnpoYW5nLndhbmdAaW50ZWwuY29tPjsgcmljaGFyZC5zYW5kaWZvcmRAYXJtLmNvbQ0K U3ViamVjdDogUkU6IFtQQVRDSF0gUklTQy1WOiBBbGxvdyBWZWN0b3IgSU9SKFYxLCBOT1QgVjEp IG9wdGltaXp0aW9uDQoNCkkgbG9vayBpbnRvIHRoZSBJT1Igc2ltcGxpZmljYXRpb24gY29kZSBm b3IgdGhpcyBvcHRpbWl6YXRpb24uIE1vc3RseSBJIHRyeSB0byBpbXBsZW1lbnQgdGhlbSB3aXRo IGdlbmVyaWMgdmVjdG9yIG9wZXJhdGlvbnMuDQoNClBhbg0KDQotLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KRnJvbTogUmljaGFyZCBCaWVuZXIgPHJpY2hhcmQuZ3VlbnRoZXJAZ21haWwuY29t Pg0KU2VudDogVHVlc2RheSwgQXByaWwgMTgsIDIwMjMgNDowMSBQTQ0KVG86IExpLCBQYW4yIDxw YW4yLmxpQGludGVsLmNvbT4NCkNjOiBnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZzsganV6aGUuemhv bmdAcml2YWkuYWk7IGtpdG8uY2hlbmdAc2lmaXZlLmNvbTsgcmd1ZW50aGVyQHN1c2UuZGU7IFdh bmcsIFlhbnpoYW5nIDx5YW56aGFuZy53YW5nQGludGVsLmNvbT47IHJpY2hhcmQuc2FuZGlmb3Jk QGFybS5jb20NClN1YmplY3Q6IFJlOiBbUEFUQ0hdIFJJU0MtVjogQWxsb3cgVmVjdG9yIElPUihW MSwgTk9UIFYxKSBvcHRpbWl6dGlvbg0KDQpPbiBUdWUsIEFwciAxOCwgMjAyMyBhdCA5OjU54oCv QU0gUmljaGFyZCBCaWVuZXIgPHJpY2hhcmQuZ3VlbnRoZXJAZ21haWwuY29tPiB3cm90ZToNCj4N Cj4gT24gVHVlLCBBcHIgMTgsIDIwMjMgYXQgMzozMeKAr0FNIExpLCBQYW4yIHZpYSBHY2MtcGF0 Y2hlcyANCj4gPGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnPiB3cm90ZToNCj4gPg0KPiA+IFBhc3Nl ZCB0aGUgWDg2IGJvb3RzdHJhcCBhbmQgcmVncmVzc2lvbiB0ZXN0cy4NCj4gPg0KPiA+IFBhbg0K PiA+DQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBMaSwgUGFuMiA8 cGFuMi5saUBpbnRlbC5jb20+DQo+ID4gU2VudDogTW9uZGF5LCBBcHJpbCAxNywgMjAyMyAxMDo1 MCBQTQ0KPiA+IFRvOiBnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZw0KPiA+IENjOiBqdXpoZS56aG9u Z0ByaXZhaS5haTsga2l0by5jaGVuZ0BzaWZpdmUuY29tOyByZ3VlbnRoZXJAc3VzZS5kZTsgDQo+ ID4gTGksIFBhbjIgPHBhbjIubGlAaW50ZWwuY29tPjsgV2FuZywgWWFuemhhbmcgDQo+ID4gPHlh bnpoYW5nLndhbmdAaW50ZWwuY29tPjsgcmljaGFyZC5zYW5kaWZvcmRAYXJtLmNvbQ0KPiA+IFN1 YmplY3Q6IFtQQVRDSF0gUklTQy1WOiBBbGxvdyBWZWN0b3IgSU9SKFYxLCBOT1QgVjEpIG9wdGlt aXp0aW9uDQo+ID4NCj4gPiBGcm9tOiBQYW4gTGkgPHBhbjIubGlAaW50ZWwuY29tPg0KPiA+DQo+ ID4gVGhpcyBwYXRjaCBhZGQgdGhlIG9wdGltaXphdGlvbiBmb3IgdGhlIHZlY3RvciBJT1IoVjEs IE5PVCBWMSkuIEFzc3VtZSB3ZSBoYXZlIGJlbG93IHNhbXBsZSBjb2RlLg0KPiA+DQo+ID4gdmJv b2wzMl90IHRlc3Rfc2hvcnRjdXRfZm9yX3Jpc2N2X3Ztb3JuX2Nhc2VfNSh2Ym9vbDMyX3QgdjEs IHNpemVfdCB2bCkgew0KPiA+ICAgcmV0dXJuIF9fcmlzY3Zfdm1vcm5fbW1fYjMyKHYxLCB2MSwg dmwpOyB9DQoNCkJ0dywgdGhpcyBhbHNvIHNob3dzIHlvdSBtaWdodCB3YW50IHRvIGNvbnNpZGVy IGlubGluaW5nIHRoZSBpbnRyaW5zaWNzIGluIHRhcmdldCBzcGVjaWZpYyBmb2xkaW5nIG9yIGlt cGxlbWVudCB0aGVtIHdpdGggZ2VuZXJpYyB2ZWN0b3Igb3BlcmF0aW9ucyBpbiB0aGUgaGVhZGVy cy4NCg0KPiA+DQo+ID4gQmVmb3JlIHRoaXMgcGF0Y2g6DQo+ID4gdnNldHZsaSAgYTUsemVybyxl OCxtZjQsdGEsbWENCj4gPiB2bG0udiAgICB2MjQsMChhMSkNCj4gPiB2c2V0dmxpICB6ZXJvLGEy LGU4LG1mNCx0YSxtYQ0KPiA+IHZtb3JuLm1tIHYyNCx2MjQsdjI0DQo+ID4gdnNldHZsaSAgYTUs emVybyxlOCxtZjQsdGEsbWENCj4gPiB2c20udiAgICB2MjQsMChhMCkNCj4gPiByZXQNCj4gPg0K PiA+IEFmdGVyIHRoaXMgcGF0Y2g6DQo+ID4gdnNldHZsaSB6ZXJvLGEyLGU4LG1mNCx0YSxtYQ0K PiA+IHZtc2V0Lm0gdjI0DQo+ID4gdnNldHZsaSBhNSx6ZXJvLGU4LG1mNCx0YSxtYQ0KPiA+IHZz bS52ICAgdjI0LDAoYTApDQo+ID4gcmV0DQo+ID4NCj4gPiBPciBpbiBSVEwncyBwZXJzcGVjdGl2 ZSwNCj4gPiBmcm9tOg0KPiA+IChpb3I6Vk54MkJJIChyZWcvdjpWTngyQkkgMTM3IFsgdjEgXSkg KG5vdDpWTngyQkkgKHJlZy92OlZOeDJCSSAxMzcgDQo+ID4gWyB2MSBdKSkpDQo+ID4gdG86DQo+ ID4gKGNvbnN0X3ZlY3RvcjpWTngyQkkgcmVwZWF0IFsgKGNvbnN0X2ludCAxIFsweDFdKSBdKQ0K PiA+DQo+ID4gVGhlIHNpbWlsYXIgb3B0aW1pemF0aW9uIGxpa2UgVk1BTkROIGhhcyBlbmFibGVk IGFscmVhZHkuIFRoZXJlIHNob3VsZCBiZSBubyBkaWZmZXJlbmNlIGV4ZWNwdCB0aGUgb3BlcmF0 b3Igd2hlbiBjb21wYXJlIHRoZSBWTU9STiBhbmQgVk1BTkROIGZvciBzdWNoIGtpbmQgb2Ygb3B0 aW1pemF0aW9uLiBUaGUgcGF0Y2ggYWxsb3dzIHRoZSBWRUNUT1JfQk9PTCBJT1IoVjEsIE5PVCBW MSkgc2ltcGxpZmljYXRpb24gYmVzaWRlcyB0aGUgZXhpc3RpbmcgU0NBTEFSX0lOVCBtb2RlLg0K PiA+DQo+ID4gZ2NjL0NoYW5nZUxvZzoNCj4gPg0KPiA+ICAgICAgICAgKiBtYWNobW9kZS5oIChW RUNUT1JfQk9PTF9NT0RFX1ApOg0KPiA+ICAgICAgICAgKiBzaW1wbGlmeS1ydHguY2MgKHZhbGlk X21vZGVfZm9yX2lvcl9zaW1wbGlmaWNhdGlvbl9wKToNCj4gPiAgICAgICAgIChzaW1wbGlmeV9j b250ZXh0OjpzaW1wbGlmeV9iaW5hcnlfb3BlcmF0aW9uXzEpOg0KPiA+DQo+ID4gZ2NjL3Rlc3Rz dWl0ZS9DaGFuZ2VMb2c6DQo+ID4NCj4gPiAgICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9ydnYv YmFzZS9tYXNrX2luc25fc2hvcnRjdXQuYzoNCj4gPiAgICAgICAgICogZ2NjLnRhcmdldC9yaXNj di9zaW1wbGlmeV9pb3Jfb3B0aW1pemF0aW9uLmM6IE5ldyB0ZXN0Lg0KPiA+DQo+ID4gU2lnbmVk LW9mZi1ieTogUGFuIExpIDxwYW4yLmxpQGludGVsLmNvbT4NCj4gPiAtLS0NCj4gPiAgZ2NjL21h Y2htb2RlLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKysNCj4gPiAgZ2Nj L3NpbXBsaWZ5LXJ0eC5jYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKysrLQ0KPiA+ ICAuLi4vcmlzY3YvcnZ2L2Jhc2UvbWFza19pbnNuX3Nob3J0Y3V0LmMgICAgICAgfCAgMyArLQ0K PiA+ICAuLi4vcmlzY3Yvc2ltcGxpZnlfaW9yX29wdGltaXphdGlvbi5jICAgICAgICAgfCA1MCAr KysrKysrKysrKysrKysrKysrDQo+ID4gIDQgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygr KSwgNCBkZWxldGlvbnMoLSkgIGNyZWF0ZSBtb2RlDQo+ID4gMTAwNjQ0IGdjYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9zaW1wbGlmeV9pb3Jfb3B0aW1pemF0aW9uLmMNCj4gPg0KPiA+IGRp ZmYgLS1naXQgYS9nY2MvbWFjaG1vZGUuaCBiL2djYy9tYWNobW9kZS5oIGluZGV4DQo+ID4gZjE4 NjVjMWVmNDIuLjc3MWJhZTg5Y2I3IDEwMDY0NA0KPiA+IC0tLSBhL2djYy9tYWNobW9kZS5oDQo+ ID4gKysrIGIvZ2NjL21hY2htb2RlLmgNCj4gPiBAQCAtMTM0LDYgKzEzNCwxMCBAQCBleHRlcm4g Y29uc3QgdW5zaWduZWQgY2hhciBtb2RlX2NsYXNzW05VTV9NQUNISU5FX01PREVTXTsNCj4gPiAg ICAgfHwgR0VUX01PREVfQ0xBU1MgKE1PREUpID09IE1PREVfVkVDVE9SX0FDQ1VNICAgICAgIFwN Cj4gPiAgICAgfHwgR0VUX01PREVfQ0xBU1MgKE1PREUpID09IE1PREVfVkVDVE9SX1VBQ0NVTSkN Cj4gPg0KPiA+ICsvKiBOb256ZXJvIGlmIE1PREUgaXMgYSB2ZWN0b3IgYm9vbCBtb2RlLiAgKi8N Cj4gPiArI2RlZmluZSBWRUNUT1JfQk9PTF9NT0RFX1AoTU9ERSkgICAgICAgICAgICAgICAgICAg ICAgIFwNCj4gPiArICAoR0VUX01PREVfQ0xBU1MgKE1PREUpID09IE1PREVfVkVDVE9SX0JPT0wp ICAgICAgICAgIFwNCj4gPiArDQo+ID4gIC8qIE5vbnplcm8gaWYgTU9ERSBpcyBhIHNjYWxhciBp bnRlZ3JhbCBtb2RlLiAgKi8NCj4gPiAgI2RlZmluZSBTQ0FMQVJfSU5UX01PREVfUChNT0RFKSAg ICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiAgICAoR0VUX01PREVfQ0xBU1MgKE1PREUpID09 IE1PREVfSU5UICAgICAgICAgICBcDQo+ID4gZGlmZiAtLWdpdCBhL2djYy9zaW1wbGlmeS1ydHgu Y2MgYi9nY2Mvc2ltcGxpZnktcnR4LmNjIGluZGV4IA0KPiA+IGVlNzUwNzk5MTdmLi5lZmYyN2I4 MzViZiAxMDA2NDQNCj4gPiAtLS0gYS9nY2Mvc2ltcGxpZnktcnR4LmNjDQo+ID4gKysrIGIvZ2Nj L3NpbXBsaWZ5LXJ0eC5jYw0KPiA+IEBAIC01Nyw2ICs1NywxMiBAQCBuZWdfcG9seV9pbnRfcnR4 IChtYWNoaW5lX21vZGUgbW9kZSwgY29uc3RfcnR4IGkpDQo+ID4gICAgcmV0dXJuIGltbWVkX3dp ZGVfaW50X2NvbnN0ICgtd2k6OnRvX3BvbHlfd2lkZSAoaSwgbW9kZSksIG1vZGUpOyANCj4gPiB9 DQo+ID4NCj4gPiArc3RhdGljIGJvb2wNCj4gPiArdmFsaWRfbW9kZV9mb3JfaW9yX3NpbXBsaWZp Y2F0aW9uX3AgKG1hY2hpbmVfbW9kZSBtb2RlKSB7DQo+ID4gKyAgcmV0dXJuIFNDQUxBUl9JTlRf TU9ERV9QIChtb2RlKSB8fCBWRUNUT1JfQk9PTF9NT0RFX1AgKG1vZGUpOyB9DQo+ID4gKw0KPiA+ ICAvKiBUZXN0IHdoZXRoZXIgZXhwcmVzc2lvbiwgWCwgaXMgYW4gaW1tZWRpYXRlIGNvbnN0YW50 IHRoYXQgcmVwcmVzZW50cw0KPiA+ICAgICB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgb2YgbWFj aGluZSBtb2RlIE1PREUuICAqLw0KPiA+DQo+ID4gQEAgLTMzMzIsOCArMzMzOCw4IEBAIHNpbXBs aWZ5X2NvbnRleHQ6OnNpbXBsaWZ5X2JpbmFyeV9vcGVyYXRpb25fMSAocnR4X2NvZGUgY29kZSwN Cj4gPiAgICAgICAgaWYgKCgoR0VUX0NPREUgKG9wMCkgPT0gTk9UICYmIHJ0eF9lcXVhbF9wIChY RVhQIChvcDAsIDApLCBvcDEpKQ0KPiA+ICAgICAgICAgICAgfHwgKEdFVF9DT0RFIChvcDEpID09 IE5PVCAmJiBydHhfZXF1YWxfcCAoWEVYUCAob3AxLCAwKSwgb3AwKSkpDQo+ID4gICAgICAgICAg ICYmICEgc2lkZV9lZmZlY3RzX3AgKG9wMCkNCj4gPiAtICAgICAgICAgJiYgU0NBTEFSX0lOVF9N T0RFX1AgKG1vZGUpKQ0KPiA+IC0gICAgICAgcmV0dXJuIGNvbnN0bTFfcnR4Ow0KPiA+ICsgICAg ICAgICAmJiB2YWxpZF9tb2RlX2Zvcl9pb3Jfc2ltcGxpZmljYXRpb25fcCAobW9kZSkpDQo+DQo+ IGZvciBzaW1wbGUgcHJlZGljYXRlcyBsaWtlIHRoaXMgcGxlYXNlIGRvIG5vdCBzcGxpdCB0aGVt IG91dCwgaXQgbWFrZXMgDQo+IHVuZGVyc3RhbmRpbmcgdGhlIGNvZGUgbW9yZSBkaWZmaWN1bHQu DQo+DQo+ID4gKyAgICAgICByZXR1cm4gQ09OU1QxX1JUWCAobW9kZSk7DQo+DQo+IHNob3VsZG4n dCB0aGlzIGJlIENPTlNUTTFfUlRYIChtb2RlKT8gIFdoeSBpcyB0aGlzIG9ubHkgdmFsaWQgZm9y IA0KPiBWRUNUT1JfQk9PTCBhbmQgbm90IGFsc28gZm9yIFZFQ1RPUl9JTlQ/ICBZb3UncmUgY2l0 aW5nIEFORCBhbmQgdGhhdCANCj4gZG9lcw0KPg0KPiAgICAgICAvKiBBICYgKH5BKSAtPiAwICov DQo+ICAgICAgIGlmICgoKEdFVF9DT0RFIChvcDApID09IE5PVCAmJiBydHhfZXF1YWxfcCAoWEVY UCAob3AwLCAwKSwgb3AxKSkNCj4gICAgICAgICAgICB8fCAoR0VUX0NPREUgKG9wMSkgPT0gTk9U ICYmIHJ0eF9lcXVhbF9wIChYRVhQIChvcDEsIDApLCBvcDApKSkNCj4gICAgICAgICAgICYmICEg c2lkZV9lZmZlY3RzX3AgKG9wMCkNCj4gICAgICAgICAgICYmIEdFVF9NT0RFX0NMQVNTIChtb2Rl KSAhPSBNT0RFX0NDKQ0KPiAgICAgICAgIHJldHVybiBDT05TVDBfUlRYIChtb2RlKTsNCj4NCj4g c28gd2h5IGRpZmZlciBhbmQgbm90IHVzZSB0aGUgc2FtZSBHRVRfTU9ERV9DTEFTUyAobW9kZSkg IT0gTU9ERV9DQyBjb25kaXRpb24/DQo+DQo+IFJpY2hhcmQuDQo+DQo+ID4NCj4gPiAgICAgICAg LyogKGlvciBBIEMpIGlzIEMgaWYgYWxsIGJpdHMgb2YgQSB0aGF0IG1pZ2h0IGJlIG5vbnplcm8g YXJlIG9uIGluIEMuICAqLw0KPiA+ICAgICAgICBpZiAoQ09OU1RfSU5UX1AgKG9wMSkNCj4gPiBk aWZmIC0tZ2l0DQo+ID4gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2Uv bWFza19pbnNuX3Nob3J0Y3V0LmMNCj4gPiBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNj di9ydnYvYmFzZS9tYXNrX2luc25fc2hvcnRjdXQuYw0KPiA+IGluZGV4IDgzY2M0YTFiNWE1Li41 N2QwMjQxNjc1YSAxMDA2NDQNCj4gPiAtLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcnZ2L2Jhc2UvbWFza19pbnNuX3Nob3J0Y3V0LmMNCj4gPiArKysgYi9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvbWFza19pbnNuX3Nob3J0Y3V0LmMNCj4gPiBAQCAt MjMzLDkgKzIzMyw4IEBAIHZib29sNjRfdA0KPiA+IHRlc3Rfc2hvcnRjdXRfZm9yX3Jpc2N2X3Zt eG5vcl9jYXNlXzYodmJvb2w2NF90IHYxLCBzaXplX3QgdmwpIHsNCj4gPiAgLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7dm14b3JcLm1tXHMrdlswLTldKyxccyp2WzAtOV0rfSAN Cj4gPiB9IH0gKi8NCj4gPiAgLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7dm1v clwubW1ccyt2WzAtOV0rLFxzKnZbMC05XSt9IA0KPiA+IH0gfSAqLw0KPiA+ICAvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHt2bW5vclwubW1ccyt2WzAtOV0rLFxzKnZbMC05XSt9 IA0KPiA+IH0gfSAqLw0KPiA+IC0vKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg DQo+ID4ge3Ztb3JuXC5tbVxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSA3IH0gfSAq Lw0KPiA+ICAvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IA0KPiA+IHt2bXhub3Jc Lm1tXHMrdlswLTldKyxccyp2WzAtOV0rfSB9IH0gKi8NCj4gPiAgLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzIHt2bWNsclwubVxzK3ZbMC05XSt9IDE0IH0gfSAqLw0KPiA+IC0v KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Ztc2V0XC5tXHMrdlswLTldK30g NyB9IH0gKi8NCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2bXNl dFwubVxzK3ZbMC05XSt9IDE0IH0gfSAqLw0KPiA+ICAvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItdGltZXMge3ZtbXZcLm1ccyt2WzAtOV0rLFxzKnZbMC05XSt9DQo+ID4gMTQgfSB9ICov DQo+ID4gIC8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyANCj4gPiB7dm1ub3Rc Lm1ccyt2WzAtOV0rLFxzKnZbMC05XSt9IDE0IH0gfSAqLyBkaWZmIC0tZ2l0IA0KPiA+IGEvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3NpbXBsaWZ5X2lvcl9vcHRpbWl6YXRpb24uYw0K PiA+IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3NpbXBsaWZ5X2lvcl9vcHRpbWl6 YXRpb24uYw0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gaW5kZXggMDAwMDAwMDAwMDAu LmVjM2JkMGJhZjAzDQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9zaW1wbGlmeV9pb3Jfb3B0aW1pemF0aW9uLmMNCj4gPiBAQCAtMCww ICsxLDUwIEBADQo+ID4gKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQo+ID4gKy8qIHsgZGctb3B0 aW9ucyAiLW1hcmNoPXJ2NjRnYyAtbWFiaT1scDY0IC1PMiIgfSAqLw0KPiA+ICsNCj4gPiArI2lu Y2x1ZGUgPHN0ZGludC5oPg0KPiA+ICsNCj4gPiArdWludDhfdCB0ZXN0X3NpbXBsaWZ5X2lvcl9z Y2FsYXJfY2FzZV8wICh1aW50OF90IGEpIHsNCj4gPiArICByZXR1cm4gYSB8IH5hOw0KPiA+ICt9 DQo+ID4gKw0KPiA+ICt1aW50MTZfdCB0ZXN0X3NpbXBsaWZ5X2lvcl9zY2FsYXJfY2FzZV8xICh1 aW50MTZfdCBhKSB7DQo+ID4gKyAgcmV0dXJuIGEgfCB+YTsNCj4gPiArfQ0KPiA+ICsNCj4gPiAr dWludDMyX3QgdGVzdF9zaW1wbGlmeV9pb3Jfc2NhbGFyX2Nhc2VfMiAodWludDMyX3QgYSkgew0K PiA+ICsgIHJldHVybiBhIHwgfmE7DQo+ID4gK30NCj4gPiArDQo+ID4gK3VpbnQ2NF90IHRlc3Rf c2ltcGxpZnlfaW9yX3NjYWxhcl9jYXNlXzMgKHVpbnQ2NF90IGEpIHsNCj4gPiArICByZXR1cm4g YSB8IH5hOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtpbnQ4X3QgdGVzdF9zaW1wbGlmeV9pb3Jfc2Nh bGFyX2Nhc2VfNCAoaW50OF90IGEpIHsNCj4gPiArICByZXR1cm4gYSB8IH5hOw0KPiA+ICt9DQo+ ID4gKw0KPiA+ICtpbnQxNl90IHRlc3Rfc2ltcGxpZnlfaW9yX3NjYWxhcl9jYXNlXzUgKGludDE2 X3QgYSkgew0KPiA+ICsgIHJldHVybiBhIHwgfmE7DQo+ID4gK30NCj4gPiArDQo+ID4gK2ludDMy X3QgdGVzdF9zaW1wbGlmeV9pb3Jfc2NhbGFyX2Nhc2VfNiAoaW50MzJfdCBhKSB7DQo+ID4gKyAg cmV0dXJuIGEgfCB+YTsNCj4gPiArfQ0KPiA+ICsNCj4gPiAraW50NjRfdCB0ZXN0X3NpbXBsaWZ5 X2lvcl9zY2FsYXJfY2FzZV83IChpbnQ2NF90IGEpIHsNCj4gPiArICByZXR1cm4gYSB8IH5hOw0K PiA+ICt9DQo+ID4gKw0KPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e2xpXHMrYVswLTldKyxccyotMX0gNiB9IH0gKi8NCj4gPiArLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHtsaVxzK2FbMC05XSssXHMqMjU1fSAxIH0gfSAqLw0KPiA+ICsvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge2xpXHMrYVswLTldKyxccyo2NTUzNn0g MSB9IH0gDQo+ID4gKyovDQo+ID4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qg e29yXHMrYVswLTldK30gfSB9ICovDQo+ID4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci1ub3Qge25vdFxzK2FbMC05XSt9IH0gfSAqLw0KPiA+IC0tDQo+ID4gMi4zNC4xDQo+ID4NCg==