From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web11.590.1677519636060906739 for ; Mon, 27 Feb 2023 09:40:36 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=Nv3hfn1J; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: guillermo.a.palomino.sosa@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1677519636; x=1709055636; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=QA2DnoUCxgDjhWLpop9NHgRYsoZkJ89+r8IcNVWnazs=; b=Nv3hfn1JSZvd8MlrMEH9xM7O05RoaakGW/m27+wgdkBLjMLOjHHvtxoW bM2TsaC5TGVcGMbbKWrxPUXZWlFLgKxccE54hMTlR5DHlfJ5lxJX6KI2M /e12fgBS2hIV6TZJPUqcORQPEJwwtZ/DOzUihyJVsOzalVFTiq1KsF8qq MMdLHHCdvFHWu1nYuijzufSqffIW5DitfEFpqBuH6CBwX9GUqFxYYZNm/ b/qyGh6isJ2FjXEfUr4iqgBHwt+GM/sFeBvN5YtkjGh8SdqriQ3GAzBSk 4pode5tBDEfXi6nYq8ILAkrO/CSuOej0yZJZWnOGY31M1j+tykgxirt0C Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10634"; a="332643928" X-IronPort-AV: E=Sophos;i="5.98,219,1673942400"; d="scan'208,223";a="332643928" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Feb 2023 09:40:35 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10634"; a="706264182" X-IronPort-AV: E=Sophos;i="5.98,219,1673942400"; d="scan'208,223";a="706264182" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga001.jf.intel.com with ESMTP; 27 Feb 2023 09:40:34 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Mon, 27 Feb 2023 09:40:34 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Mon, 27 Feb 2023 09:40:34 -0800 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.102) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Mon, 27 Feb 2023 09:40:34 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BnRYHsY+KoxnDaL7l+veXEblaq5GmTgIr1IrU/Hk1gpXNtrZP+JtyhSsMph4MG6+xfyTSktauPYYe1bgkza3+zN4TnRkHv7c4JdIMCjVbKSmRlAILmVHIsoJ0sk4SmD96BaFF2NFcuoe/uqLq8M8ogthiRbOSLSpICl4Ixpe+sY2MBYNftUcGHLdz7k8+YWI6YUhXE1f5szpzDXMefblZocim6fV844D+la0GJcLMDOw9s432wTJ+6BEiDptOaGM3nNAT5Ei/Sjac1HEtGN8tGjgzTlGkjI+XAH7LaYD2cfWIMRQcLBo6Tbpjw8SjG2u6BqlmC7wOorPVJgIIETJew== 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=o8VLNREju7c4cGnO8z/80TLOewDLi8ncTK1EDfYCVUE=; b=XH6zLfUAFzMJkr2+IOZ+ofDQoQR3w8VFAAYmlnPG/OSehWI62SZ0oQvW3hQshlmrqAi+KZEISC8D7vOtf7pYFN06uZ7MxnxYAwnAeAivcKruDu3OSICmDiGhq2chdutfSBG9ofqIP9QT9vrhgo/FgjCZP+S7L6VSNte5/fCSJTxv5xOVa+ghGvvR+A+ztwF1wh2benbYMtewwGISPSbYGBDa0AgnnC9A/IowNZzbXqLJPNM7HiK1QzAr3MZnmGPdkMrrWKLzx5pEENtucA12F79XojPFiH9zGib92B7VTMmnpvdPlJR+zuWE/1RxbS39pd4htVdqN0H5HIZS1V6R+Q== 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 DM4PR11MB6336.namprd11.prod.outlook.com (2603:10b6:8:b9::7) by SJ0PR11MB5865.namprd11.prod.outlook.com (2603:10b6:a03:428::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.28; Mon, 27 Feb 2023 17:40:30 +0000 Received: from DM4PR11MB6336.namprd11.prod.outlook.com ([fe80::299f:70f1:eb84:9ddc]) by DM4PR11MB6336.namprd11.prod.outlook.com ([fe80::299f:70f1:eb84:9ddc%8]) with mapi id 15.20.6134.025; Mon, 27 Feb 2023 17:40:30 +0000 From: "Guillermo Antonio Palomino Sosa" To: "Ni, Ray" , "Kinney, Michael D" , "devel@edk2.groups.io" , "Chen, Christine" CC: "Feng, Bob C" , "Gao, Liming" , "Oram, Isaac W" Subject: Re: [edk2-devel][PATCH V1 1/1] BaseTools: Generate compile information in build report Thread-Topic: [edk2-devel][PATCH V1 1/1] BaseTools: Generate compile information in build report Thread-Index: AQHZOqEucTmZrEpDg0CVuJYKJz6ejq7PWXCAgAAQbICAACBPgIAALHQAgAD6JICAABtjAIASYyzg Date: Mon, 27 Feb 2023 17:40:30 +0000 Message-ID: References: <320a45f265969df1a108777713e5ac954a75be56.1675735858.git.guillermo.a.palomino.sosa@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: yes 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: DM4PR11MB6336:EE_|SJ0PR11MB5865:EE_ x-ms-office365-filtering-correlation-id: dcac291b-d126-46cc-e0bd-08db18e9b890 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: S6blecDmBRcynmqDtAAB0edCkigQh2GN3ydmAQ6Fdfi3d7Lh5lanVJ1AG8/PnrWVdrkPn/L95+eHQsEPBR6kpxwG6MyV6FesO/YrYyisDSrQtY5sSrzKWk3mKTWCDdEddw5AUziQyoCqsg9z/K7/Zy0j1SdmtQifGcXFbWEgFFqWMTpMH9+/E/jDYAJSuWUsXTB0RfsPvnc6pSP3z9FXU4BVhq/M2pqUGTwk8GN8cWtPU82nAzQTAt6NuA7EOkfSsrmnxSVT9z/R0JRHoiJrV/4ZNmxZLzqUASa1mwLVp/YEDeJ/1XXCtYJwrYbBiHPG4YlYd/9EZoO/H6wg56LPm1vkijgKUctvTdkTj2QusrLow0ZY6hbmVoJxwYNZkqCzh7UI5lVI5ynaJ7QJFn0Z115ZCVbqpisEE36XbHBpQvMiimo8cGnOd6W6jnTxI8F1dTRAQTBjwC+UJWvabg/GNaGmYNG4I3ZGVPxA8fZqaWc4oflBGDafS9x8nLqqUuA/CYT8MuWmeBRxUtij3wJNrGdExS483wAfjDPHmD/+Cd6uhSKj3kXfJGSDQDakkwIfne3fydzcevXVgDeQBY9T6gb8xLB4dVfVDeaxC2urOQ070pbS/owoewoDhXGYD17byauncjfICHB05kxRUR8BfqfyIDz2upGBJreUu9dUAs1vcNLrs8Hyc4r7Uu+tlKA3T9BLnfvmU7WM0jj/61x+Y5rnWDS8VH5oNcxtL2uKR7U= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB6336.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(396003)(136003)(346002)(39860400002)(366004)(451199018)(4326008)(41300700001)(66946007)(66446008)(66476007)(64756008)(66556008)(83380400001)(76116006)(8676002)(38100700002)(99936003)(82960400001)(122000001)(55016003)(2906002)(38070700005)(33656002)(86362001)(5660300002)(30864003)(52536014)(8936002)(71200400001)(966005)(478600001)(7696005)(110136005)(107886003)(186003)(54906003)(66899018)(6506007)(53546011)(316002)(26005)(9686003)(6636002)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YTNmb2szSjBOUC9QY0l6aUJKZ3Y5WkphMTI2VTVkc2tBWFAwMzh5aTNqeGVm?= =?utf-8?B?cVZaMDBOTWNkaVpsWkhGSnJTYkRWeXA1RVZPcm5QSjJZU3JtY2s2dkR1UW1I?= =?utf-8?B?cTN0UVhSVmVYZExuQUFFZVgrMXVMU2ZtTFFvcFlUd1gxTTJTbXZYbUUrUU9o?= =?utf-8?B?QjVQcHlUY0FWUDAxc1duY0Y0ME9LV2E1a3B4cTYzeTNRRzdHZDQxRE9Na1Vo?= =?utf-8?B?ekdZR2lRMkdpN0VCVko3LzFoajYyQ1BTOGpHWHJYOE9QZi84MHpQNnZnVFBE?= =?utf-8?B?YWY2SEg0TWlHUGRLMjYwbWlFenU5YU5xM3l5Q1FHR015NTQxaEpRdlUvVXp2?= =?utf-8?B?VTkyZi9GMHhLSzBEK0g4ZWQ4d2VqR0V2RmgxYkJSZmk2WTM0eEVyUEk5WkU0?= =?utf-8?B?RFJEK25pM2IvL1RKL0RDUW05ZTd0RUhGNXc5RUQ4VEpvV2ErbEtzQmhNTmpr?= =?utf-8?B?WkxqdTR6NGcwNGNQOW9zV3VrajBxRUpLWWNsREMzbzVjNW82aExWMVE2cDlq?= =?utf-8?B?V3JtOXhRYVl4MUI2bkU3OUVaMjEwTlJlMUZUOHlHaU5RQ0xkdW5kWDF5ZXB1?= =?utf-8?B?cXJ0WWs4akdaMXVQdjZsUGJTWVlnd3RHVkI0cUlOR2NCY2VidzFQYTkrMzQz?= =?utf-8?B?RVlZT01nVVdPeG15dVRySXVzS1pNRWg5ZVAxaGgreWpHVS93Y2ZIMXV4WGN1?= =?utf-8?B?NnZBSy9UR20wM1hwY0QxcHg4V1FONlhFRjlWelZWMldWVnlpL1dtdFJTSk9F?= =?utf-8?B?ZDkwS2lsbUFxQ0t1M2xlNjBzZ3BkNUJkcFZZYWdNM3dBcDFhSEl5VFg4bFUw?= =?utf-8?B?bFFubWN1WXlzRjJGSDFNS0hFVDMrOEU1UXJTdUFlSXRhL1VkZXgrTVVEVnlI?= =?utf-8?B?ZXk5SWZVNEpHYmFKVVh6SGxhMWpOdUpLZzFiemFRSVdEOE9xRjZpQkEyeE5C?= =?utf-8?B?VWpmaXo5TXhDTGt5YmNlcXZldVFIdlBISlNiTzRsNzkyOUNwRDNKb3E3aWQr?= =?utf-8?B?M01pNStHeVRqNmQvelpvNVg2RHNGclR2YzcrZUhrR2NYMGlCcWhLUU1TZGly?= =?utf-8?B?TDkyVDUxQU96alpQOVlMdk1IcE9SMXBLUmhrOXlBZ0ZEZHlDNG9tdTE5STlP?= =?utf-8?B?WnVFWXdHUVRMRHdZSy95UDcxejkrSXpXRzZGVUxYSXdBdGswWS9MeXd1cFVT?= =?utf-8?B?dzJQUWdOR1ZQQVcwY1ZCTkpoTFB5TENVQ2I3QTl4UDNyT1F1TkEvLyszWWpw?= =?utf-8?B?bm5PT0NQU2grNUh0U2ozV2lzK1pJLzhoVkFMQ2hKa0hHSHA0M1ZmWXdhLzJ6?= =?utf-8?B?Szd4RmRTbTdmT1VQY01YeDJQV0V5UXJIQnFvWFVMZ3poVHIxYzFsL3QvNnhS?= =?utf-8?B?T3dGQmFHU3c0YU92Y2lVU0YxMGR5VXBJVk55aDZuUGRNQk1uVHM4Mnp1dFBH?= =?utf-8?B?eXMvTklqS0llMU9BVTUwdHN0RGNXd05UTlFvZjIyN3U5NE9sclhwQUNsVEdK?= =?utf-8?B?OWkvMVdhTGdRQ1E1cVo5dTM2Z2dGT2xYSnhqbWtRbUdaUEMxaW1PdWNSYUww?= =?utf-8?B?OEtMTmtjaStjOXJnL1oxa2RPVnRUd0VFeUh2S3B4STUyLy9PWlBqajBFVlln?= =?utf-8?B?bDh1WjQrRElxYTJLZm1GV2hXclRCdldGdjQxRy9wYmU3MXQ2dG9oaXp0ZFFz?= =?utf-8?B?d215Q0VqWW9UNFNsUHNLVSt6enlwWTFtZ3duZmNLQWhpcnNCdXJqSnNBU2dZ?= =?utf-8?B?Lzg0Nmc3aVdNeUVGL0hiUjZOK01BTjlVNG9NZ0pNWXk1MXlxZXR0OTcvOTZV?= =?utf-8?B?b29ySXZ6a001VHQ0L0lubi9VUVVSUVJWLzRVWHVFTVJZenVES2hwbWVwMFVk?= =?utf-8?B?VzkvOGh6TVZtcWFqMHRFejdsUlJoekhXNnBJSVFObWgxZ0c4QVNvcUVsbGdo?= =?utf-8?B?N1IvZ1NMTUQ1R1JYWmlmRytqUGJnK1p5cFA2ZEFRWExDNWxLUEZveWE1cnlz?= =?utf-8?B?V215STFjcFVHZTdNaTRXNlZmaFpRZ0xGOG1GbHNSV0wxd29jYk5RTlNGTlp5?= =?utf-8?B?dGZ2VlBDM2JrWFJuWElUeHVpVnlBTWlDUDM5SGFJTldOOVlWeUJmZTVMazE5?= =?utf-8?B?Y2Nxd2xiZitmMnU1VERIRFdJQjJNVlFoMDUwb2hNazZ6MDAxQVhtRjhyUVM2?= =?utf-8?Q?9LR7+TcV/yIGvoMIWFOkfMg=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB6336.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: dcac291b-d126-46cc-e0bd-08db18e9b890 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Feb 2023 17:40:30.5537 (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: zM0rnmmWHqJIN1Hsb4G0cfOkg+71Oi/YTU9vlGA/A2kIO/1j4mrdRIRIrFMAtTFT5NxwyXqOMFY4RG1+y/0FUVFbKKzSsQ0Iy2HNO4ROeQtmIcfyrwIRt0YO3mIv6E19 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB5865 Return-Path: guillermo.a.palomino.sosa@intel.com X-OriginatorOrg: intel.com X-Groupsio-MsgNum: 100516 Content-Language: en-US Content-Type: multipart/mixed; boundary="_002_DM4PR11MB633668C57856D8C6F63AF540F7AF9DM4PR11MB6336namp_" --_002_DM4PR11MB633668C57856D8C6F63AF540F7AF9DM4PR11MB6336namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkuIEkgaGF2ZSBzdWJtaXR0ZWQgYSBwdWxsIHJlcXVlc3QgdG8gZWRrMi1iYXNldG9vbHMgcmVw b3NpdG9yeTogaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyLWJhc2V0b29scy9wdWxs Lzg4DQpUaGlzIGlzIHRoZSBmZWF0dXJlIHJlcXVlc3QgZm9yIGl0OiBodHRwczovL2dpdGh1Yi5j b20vdGlhbm9jb3JlL2VkazItYmFzZXRvb2xzL2lzc3Vlcy84Nw0KSSdtIGFsc28gYXR0YWNoaW5n IHRoZSBwYXRjaCBoZXJlOiAoMDAwMS1CYXNlVG9vbHMtR2VuZXJhdGUtY29tcGlsZS1pbmZvcm1h dGlvbi1pbi1idWlsZC1yZXBvLnBhdGNoKQ0KDQpPbiBhIHNpZGUgbm90ZSwgc2VlbXMgbGlrZSB0 aXAgb2YgZWRrMi1iYXNldG9vbHMgaXMgYnJva2VuIGR1ZSB0aGlzIGNvbW1pdCB0aGF0IG1ha2Vz IGRpcmVjdCBpbXBvcnQgb2YgQ29tbW9uIHBhY2thZ2U6DQpodHRwczovL2dpdGh1Yi5jb20vdGlh bm9jb3JlL2VkazItYmFzZXRvb2xzL2NvbW1pdC84ZTYwMThkM2VhNGMxYWFlNzE4NWY1ODlkMTI5 Y2VhMTRhNWQ4OWZkDQplZGsyLWJhc2V0b29sc1xlZGsyYmFzZXRvb2xzXEdlbkZkc1xTdWJUeXBl R3VpZFNlY3Rpb24ucHk6DQppbXBvcnQgQ29tbW9uLkxvbmdGaWxlUGF0aE9zIGFzIG9zDQoNCg0K LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5j b20+IA0KU2VudDogV2VkbmVzZGF5LCBGZWJydWFyeSAxNSwgMjAyMyA2OjUxIFBNDQpUbzogS2lu bmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5n cm91cHMuaW87IENoZW4sIENocmlzdGluZSA8eXV3ZWkuY2hlbkBpbnRlbC5jb20+OyBQYWxvbWlu byBTb3NhLCBHdWlsbGVybW8gQSA8Z3VpbGxlcm1vLmEucGFsb21pbm8uc29zYUBpbnRlbC5jb20+ DQpDYzogRmVuZywgQm9iIEMgPGJvYi5jLmZlbmdAaW50ZWwuY29tPjsgR2FvLCBMaW1pbmcgPGdh b2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NClN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF1bUEFUQ0gg VjEgMS8xXSBCYXNlVG9vbHM6IEdlbmVyYXRlIGNvbXBpbGUgaW5mb3JtYXRpb24gaW4gYnVpbGQg cmVwb3J0DQoNCk1pa2UsDQpUaGFua3MgZm9yIHRoZSBleHBsYW5hdGlvbiBvZiBzdGF0dXMgYW5k IHBsYW4uDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogS2lubmV5LCBN aWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiBTZW50OiBUaHVyc2RheSwg RmVicnVhcnkgMTYsIDIwMjMgNzoxMyBBTQ0KPiBUbzogTmksIFJheSA8cmF5Lm5pQGludGVsLmNv bT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBDaGVuLCBDaHJpc3RpbmUgDQo+IDx5dXdlaS5jaGVu QGludGVsLmNvbT47IFBhbG9taW5vIFNvc2EsIEd1aWxsZXJtbyBBIA0KPiA8Z3VpbGxlcm1vLmEu cGFsb21pbm8uc29zYUBpbnRlbC5jb20+DQo+IENjOiBGZW5nLCBCb2IgQyA8Ym9iLmMuZmVuZ0Bp bnRlbC5jb20+OyBHYW8sIExpbWluZyANCj4gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47IEtp bm5leSwgTWljaGFlbCBEIA0KPiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+IFN1Ympl Y3Q6IFJFOiBbZWRrMi1kZXZlbF1bUEFUQ0ggVjEgMS8xXSBCYXNlVG9vbHM6IEdlbmVyYXRlIGNv bXBpbGUgDQo+IGluZm9ybWF0aW9uIGluIGJ1aWxkIHJlcG9ydA0KPiANCj4gSGkgUmF5LA0KPiAN Cj4gUmlnaHQgbm93IHdlIHdhbnQgdGhlIGNvbW1pdCBpbiBib3RoIHBsYWNlcy4NCj4gDQo+IFRo ZSBwcmlvcml0eSBpcyBlZGsyLWJhc2V0b29scyBmaXJzdC4gIEl0IGhhcyBtb3JlIENJIGNoZWNr cyB0aGFuIGVkazIgDQo+IHJlcG8gZm9yIHRvb2xzIGFuZCBwYWNrYWdlcyB1cCBhcyBhIHBpcCBt b2R1bGUuDQo+IA0KPiBBcyBzb29uIGFzIGVkazItYmFzZXRvb2xzIGNoYW5nZSBpcyBtZXJnZWQs IHRoZSBlZGsyIHJlcG8gY2hhbmdlIGNhbiANCj4gYmUgc3VibWl0dGVkIGFuZCBtZXJnZWQgYmVj YXVzZSB0aGUgcmV2aWV3cyBoYXZlIGFscmVhZHkgYmVlbiANCj4gY29tcGxldGVkIGJ5IHRoZSBC YXNlVG9vbHMgbWFpbnRhaW5lcnMuDQo+IA0KPiBXZSBkbyBub3QgbGlrZSBjb21taXQgaW4gMiBw bGFjZXMuICBBcyBzb29uIGFzIHBvc3NpYmxlLCB3ZSB3b3VsZCBsaWtlIA0KPiB0byBzZWUgdGhl IHB5dGhvbiBzb3VyY2VzIHJlbW92ZWQgZnJvbSBlZGsyL0Jhc2VUb29scyBhbmQgYWxsIGRldnMv Q0kgDQo+IG9ubHkgdXNlIGVkazItIGJhc2V0b29scyBmb3IgcHl0aG9uIGJhc2VkIHRvb2xzLg0K PiANCj4gTWlrZQ0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206 IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+DQo+ID4gU2VudDogV2VkbmVzZGF5LCBGZWJydWFy eSAxNSwgMjAyMyAxMjoxNyBBTQ0KPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgQ2hlbiwg Q2hyaXN0aW5lIDx5dXdlaS5jaGVuQGludGVsLmNvbT47DQo+IEtpbm5leSwgTWljaGFlbCBEIDxt aWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IFBhbG9taW5vIFNvc2EsDQo+ID4gR3VpbGxlcm1v IEEgPGd1aWxsZXJtby5hLnBhbG9taW5vLnNvc2FAaW50ZWwuY29tPg0KPiA+IENjOiBGZW5nLCBC b2IgQyA8Ym9iLmMuZmVuZ0BpbnRlbC5jb20+OyBHYW8sIExpbWluZw0KPiA8Z2FvbGltaW5nQGJ5 b3NvZnQuY29tLmNuPg0KPiA+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF1bUEFUQ0ggVjEgMS8x XSBCYXNlVG9vbHM6IEdlbmVyYXRlIGNvbXBpbGUNCj4gaW5mb3JtYXRpb24gaW4gYnVpbGQgcmVw b3J0DQo+ID4NCj4gPiBDaHJpc3RpbmUsDQo+ID4gSWYgQmFzZVRvb2xzIHJlbGF0ZWQgY2hhbmdl cyBpcyBpbXBsZW1lbnRlZCBpbiBlZGsyLWJhc2V0b29scyByZXBvLCANCj4gPiBkb2VzIHRoYXQg bWVhbiBpZiBJIG9ubHkgY2hlY2tvdXQgZWRrMiByZXBvLCBJIGFtIHVzaW5nIGFuIG9sZGVyIA0K PiA+IHZlcnNpb24gb2YNCj4gQmFzZVRvb2xzPw0KPiA+DQo+ID4gVGhhbmtzLA0KPiA+IFJheQ0K PiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogZGV2ZWxA ZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YNCj4gWXV3 ZWkNCj4gPiA+IENoZW4NCj4gPiA+IFNlbnQ6IFdlZG5lc2RheSwgRmVicnVhcnkgMTUsIDIwMjMg MTozOCBQTQ0KPiA+ID4gVG86IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGlu dGVsLmNvbT47DQo+IGRldmVsQGVkazIuZ3JvdXBzLmlvOw0KPiA+ID4gUGFsb21pbm8gU29zYSwg R3VpbGxlcm1vIEEgPGd1aWxsZXJtby5hLnBhbG9taW5vLnNvc2FAaW50ZWwuY29tPg0KPiA+ID4g Q2M6IEZlbmcsIEJvYiBDIDxib2IuYy5mZW5nQGludGVsLmNvbT47IEdhbywgTGltaW5nIA0KPiA+ ID4gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4gPiA+IFN1YmplY3Q6IFJlOiBbZWRrMi1k ZXZlbF1bUEFUQ0ggVjEgMS8xXSBCYXNlVG9vbHM6IEdlbmVyYXRlIA0KPiA+ID4gY29tcGlsZSBp bmZvcm1hdGlvbiBpbiBidWlsZCByZXBvcnQNCj4gPiA+DQo+ID4gPiBIaSBNaWtlLCB0aGFua3Mg Zm9yIHJlbWluZGVyLg0KPiA+ID4NCj4gPiA+IEhpIFdpbGx5LCBjdXJyZW50bHksIEJhc2VUb29s cyByZWxhdGVkIGNoYW5nZXMgd2lsbCBiZSBpbXBsZW1lbnRlZCANCj4gPiA+IG9uIHRoZSBlZGsy LWJhc2V0b29scyByZXBvLiBQbGVhc2Ugc2VuZCB0aGUgcGF0Y2ggYmFzZWQgb24gdGhlIA0KPiA+ ID4gZWRrMi1iYXNldG9vbHMgcmVwb34NCj4gPiA+DQo+ID4gPiBUaGFua3MsDQo+ID4gPiBDaHJp c3RpbmUNCj4gPiA+DQo+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ IEZyb206IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4g PiA+ID4gU2VudDogV2VkbmVzZGF5LCBGZWJydWFyeSAxNSwgMjAyMyAxMTo0MyBBTQ0KPiA+ID4g PiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IENoZW4sIENocmlzdGluZSANCj4gPiA+ID4gPHl1 d2VpLmNoZW5AaW50ZWwuY29tPjsgUGFsb21pbm8gU29zYSwgR3VpbGxlcm1vIEEgDQo+ID4gPiA+ IDxndWlsbGVybW8uYS5wYWxvbWluby5zb3NhQGludGVsLmNvbT4NCj4gPiA+ID4gQ2M6IEZlbmcs IEJvYiBDIDxib2IuYy5mZW5nQGludGVsLmNvbT47IEdhbywgTGltaW5nIA0KPiA+ID4gPiA8Z2Fv bGltaW5nQGJ5b3NvZnQuY29tLmNuPjsgS2lubmV5LCBNaWNoYWVsIEQgDQo+ID4gPiA+IDxtaWNo YWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiA+ID4gU3ViamVjdDogUkU6IFtlZGsyLWRldmVs XVtQQVRDSCBWMSAxLzFdIEJhc2VUb29sczogR2VuZXJhdGUgDQo+ID4gPiA+IGNvbXBpbGUgaW5m b3JtYXRpb24gaW4gYnVpbGQgcmVwb3J0DQo+ID4gPiA+DQo+ID4gPiA+IEhhcyB0aGlzIGJlZW4g cmV2aWV3ZWQgZm9yIGVkazItYmFzZXRvb2xzIHJlcG8/DQo+ID4gPiA+DQo+ID4gPiA+IE1pa2UN Cj4gPiA+ID4NCj4gPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+ IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVo YWxmIE9mDQo+ID4gPiBZdXdlaQ0KPiA+ID4gPiA+IENoZW4NCj4gPiA+ID4gPiBTZW50OiBUdWVz ZGF5LCBGZWJydWFyeSAxNCwgMjAyMyA2OjQ0IFBNDQo+ID4gPiA+ID4gVG86IFBhbG9taW5vIFNv c2EsIEd1aWxsZXJtbyBBDQo+IDxndWlsbGVybW8uYS5wYWxvbWluby5zb3NhQGludGVsLmNvbT47 DQo+ID4gPiA+ID4gZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiA+ID4gPiBDYzogRmVuZywgQm9i IEMgPGJvYi5jLmZlbmdAaW50ZWwuY29tPjsgR2FvLCBMaW1pbmcgDQo+ID4gPiA+ID4gPGdhb2xp bWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4gPiA+ID4gPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxd W1BBVENIIFYxIDEvMV0gQmFzZVRvb2xzOiBHZW5lcmF0ZQ0KPiBjb21waWxlDQo+ID4gPiA+ID4g aW5mb3JtYXRpb24gaW4gYnVpbGQgcmVwb3J0DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBSZXZpZXdl ZC1ieTogWXV3ZWkgQ2hlbiA8eXV3ZWkuY2hlbkBpbnRlbC5jb20+DQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gPiBGcm9tOiBQYWxv bWlubyBTb3NhLCBHdWlsbGVybW8gQSANCj4gPiA+ID4gPiA+IDxndWlsbGVybW8uYS5wYWxvbWlu by5zb3NhQGludGVsLmNvbT4NCj4gPiA+ID4gPiA+IFNlbnQ6IFR1ZXNkYXksIEZlYnJ1YXJ5IDcs IDIwMjMgMTE6MDcgQU0NCj4gPiA+ID4gPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+ ID4gPiA+ID4gQ2M6IEZlbmcsIEJvYiBDIDxib2IuYy5mZW5nQGludGVsLmNvbT47IEdhbywgTGlt aW5nIA0KPiA+ID4gPiA+ID4gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47IENoZW4sIENocmlz dGluZQ0KPiA8eXV3ZWkuY2hlbkBpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiBTdWJqZWN0OiBbZWRr Mi1kZXZlbF1bUEFUQ0ggVjEgMS8xXSBCYXNlVG9vbHM6IEdlbmVyYXRlIA0KPiA+ID4gPiA+ID4g Y29tcGlsZSBpbmZvcm1hdGlvbiBpbiBidWlsZCByZXBvcnQNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiBSRUY6aHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0y ODUwDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gQWRkICItWSBSRVBPUlRfSU5GTyIgb3B0aW9u IHRvIGJ1aWxkIGNvbW1hbmQgdG8gZ2VuZXJhdGUNCj4gY29tcGlsZQ0KPiA+ID4gPiA+ID4gaW5m b3JtYXRpb24gYXMgcGFydCBvZiBCdWlsZFJlcG9ydC4NCj4gPiA+ID4gPiA+IFRoaXMgb3B0aW9u IGdlbmVyYXRlcyBmaWxlcyB0byBiZSB1c2VkIGJ5IGV4dGVybmFsIHRvb2xzIGFzIA0KPiA+ID4g PiA+ID4gSURFJ3MgdG8gZW5oYW5jZSBmdW5jdGlvbmFsaXR5Lg0KPiA+ID4gPiA+ID4gRmlsZXMg YXJlIGNyZWF0ZWQgaW5zaWRlIGJ1aWxkIGZvbGRlcjoNCj4gPiA+ID4gPiA+IDxCdWlsZD4vPEJ1 aWxkVGFyZ2V0Pi88VG9vbENoYWluPi9Db21waWxlSW5mbw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4g PiA+IEZpbGVzIGNyZWF0ZWQ6DQo+ID4gPiA+ID4gPiAqIGNvbXBpbGVfY29tbWFuZHMuanNvbiAt IENvbXBpbGF0aW9uIERhdGFiYXNlLiBUbyBiZSB1c2VkIA0KPiA+ID4gPiA+ID4gYnkNCj4gSURF J3MNCj4gPiA+ID4gPiA+ICAgdG8gZW5hYmxlIGFkdmFuY2UgZmVhdHVyZXMNCj4gPiA+ID4gPiA+ ICogY3Njb3BlLmZpbGVzIC0gTGlzdCBvZiBmaWxlcyB1c2VkIGluIGNvbXBpbGF0aW9uLiBVc2Vk IGJ5IA0KPiA+ID4gPiA+ID4gQ3Njb3BlIHRvDQo+IHBhcnNlDQo+ID4gPiA+ID4gPiAgIEMgY29k ZSBhbmQgcHJvdmlkZSBicm93c2UgZnVuY3Rpb25hbGl0eS4NCj4gPiA+ID4gPiA+ICogbW9kdWxl X3JlcG9ydC5qc29uIC0gTW9kdWxlIGRhdGEgZm9ybSBidWlsZFJlcG9ydCBpbiBKc29uDQo+IGZv cm1hdC4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBHdWlsbGVybW8g QW50b25pbyBQYWxvbWlubyBTb3NhIA0KPiA+ID4gPiA+ID4gPGd1aWxsZXJtby5hLnBhbG9taW5v LnNvc2FAaW50ZWwuY29tPg0KPiA+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4gPiAgQmFzZVRvb2xz L1NvdXJjZS9QeXRob24vYnVpbGQvQnVpbGRSZXBvcnQucHkgIHwgMTM5DQo+ID4gPiA+ID4gPiAr KysrKysrKysrKysrKysrKysrLQ0KPiA+ID4gPiA+ID4gIEJhc2VUb29scy9Tb3VyY2UvUHl0aG9u L2J1aWxkL2J1aWxkb3B0aW9ucy5weSB8ICAgNCArLQ0KPiA+ID4gPiA+ID4gIDIgZmlsZXMgY2hh bmdlZCwgMTQwIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQo+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gZGlmZiAtLWdpdCBhL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL2J1aWxkL0J1aWxk UmVwb3J0LnB5DQo+ID4gPiA+ID4gPiBiL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL2J1aWxkL0J1 aWxkUmVwb3J0LnB5DQo+ID4gPiA+ID4gPiBpbmRleCA0Njg3NzI5MzBjLi4zM2I0M2Q0NzFmIDEw MDY0NA0KPiA+ID4gPiA+ID4gLS0tIGEvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vYnVpbGQvQnVp bGRSZXBvcnQucHkNCj4gPiA+ID4gPiA+ICsrKyBiL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL2J1 aWxkL0J1aWxkUmVwb3J0LnB5DQo+ID4gPiA+ID4gPiBAQCAtMTAsNiArMTAsOCBAQA0KPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ICAjIyBJbXBvcnQgTW9kdWxlcw0KPiA+ID4gPiA+ID4gICMNCj4g PiA+ID4gPiA+ICtpbXBvcnQganNvbg0KPiA+ID4gPiA+ID4gK2Zyb20gcGF0aGxpYiBpbXBvcnQg UGF0aA0KPiA+ID4gPiA+ID4gIGltcG9ydCBDb21tb24uTG9uZ0ZpbGVQYXRoT3MgYXMgb3MgIGlt cG9ydCByZSAgaW1wb3J0IA0KPiA+ID4gPiA+ID4gcGxhdGZvcm0gQEAgLTQxLDYgKzQzLDcgQEAg ZnJvbSBDb21tb24uRGF0YVR5cGUgaW1wb3J0ICogIA0KPiA+ID4gPiA+ID4gaW1wb3J0DQo+ID4g PiA+IGNvbGxlY3Rpb25zDQo+ID4gPiA+ID4gPiBmcm9tIENvbW1vbi5FeHByZXNzaW9uIGltcG9y dCAqICBmcm9tIEdlbkZkcy5BcHJpb3JpU2VjdGlvbg0KPiBpbXBvcnQNCj4gPiA+ID4gPiA+IERY RV9BUFJJT1JJX0dVSUQsIFBFSV9BUFJJT1JJX0dVSUQNCj4gPiA+ID4gPiA+ICtmcm9tIEF1dG9H ZW4uSW5jbHVkZXNBdXRvR2VuIGltcG9ydCBJbmNsdWRlc0F1dG9HZW4NCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiAgIyMgUGF0dGVybiB0byBleHRyYWN0IGNvbnRlbnRzIGluIEVESyBEWFMgZmls ZXMgDQo+ID4gPiA+ID4gPiBnRHhzRGVwZW5kZW5jeVBhdHRlcm4gPSANCj4gPiA+ID4gPiA+IHJl LmNvbXBpbGUociJERVBFTkRFTkNZX1NUQVJUKC4rKURFUEVOREVOQ1lfRU5EIiwNCj4gcmUuRE9U QUxMKQ0KPiA+ID4gPiBAQCAtDQo+ID4gPiA+ID4gPiAyMjk4LDYgKzIzMDEsMTAgQEAgY2xhc3Mg QnVpbGRSZXBvcnQob2JqZWN0KToNCj4gPiA+ID4gPiA+ICAgICAgZGVmIEdlbmVyYXRlUmVwb3J0 KHNlbGYsIEJ1aWxkRHVyYXRpb24sIEF1dG9HZW5UaW1lLA0KPiBNYWtlVGltZSwNCj4gPiA+ID4g PiA+IEdlbkZkc1RpbWUpOg0KPiA+ID4gPiA+ID4gICAgICAgICAgaWYgc2VsZi5SZXBvcnRGaWxl Og0KPiA+ID4gPiA+ID4gICAgICAgICAgICAgIHRyeToNCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4g PiA+ICsgICAgICAgICAgICAgICAgaWYgIkNPTVBJTEVfSU5GTyIgaW4gc2VsZi5SZXBvcnRUeXBl Og0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgc2VsZi5HZW5lcmF0ZUNvbXBpbGVJ bmZvKCkNCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgRmlsZSA9 IFtdDQo+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgIGZvciAoV2EsIE1hTGlzdCkgaW4gc2Vs Zi5SZXBvcnRMaXN0Og0KPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgUGxhdGZvcm1S ZXBvcnQoV2EsIE1hTGlzdCwgDQo+ID4gPiA+ID4gPiBzZWxmLlJlcG9ydFR5cGUpLkdlbmVyYXRl UmVwb3J0KEZpbGUsIEJ1aWxkRHVyYXRpb24sDQo+IEF1dG9HZW5UaW1lLA0KPiA+ID4gPiA+ID4g TWFrZVRpbWUsIEdlbkZkc1RpbWUsIHNlbGYuUmVwb3J0VHlwZSkgQEAgLTIzMTAsNyArMjMxNywx MzcNCj4gQEANCj4gPiA+ID4gY2xhc3MNCj4gPiA+ID4gPiA+IEJ1aWxkUmVwb3J0KG9iamVjdCk6 DQo+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgIEVka0xvZ2dlci5lcnJvcigiQnVpbGRSZXBv cnQiLCBDT0RFX0VSUk9SLCANCj4gPiA+ID4gPiA+ICJVbmtub3duIGZhdGFsIGVycm9yIHdoZW4g Z2VuZXJhdGluZyBidWlsZCByZXBvcnQiLCANCj4gPiA+ID4gPiA+IEV4dHJhRGF0YT1zZWxmLlJl cG9ydEZpbGUsDQo+ID4gPiA+ID4gPiBSYWlzZUVycm9yPUZhbHNlKQ0KPiA+ID4gPiA+ID4gICAg ICAgICAgICAgICAgICBFZGtMb2dnZXIucXVpZXQoIihQeXRob24gJXMgb24gJXNcbiVzKSIgJSAN Cj4gPiA+ID4gPiA+IChwbGF0Zm9ybS5weXRob25fdmVyc2lvbigpLCBzeXMucGxhdGZvcm0sIA0K PiA+ID4gPiA+ID4gdHJhY2ViYWNrLmZvcm1hdF9leGMoKSkpDQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gKw0KPiA+ID4gPiA+ID4gKyAgICAjIw0KPiA+ID4gPiA+ID4gKyAgICAjIEdlbmVyYXRl cyBjb21waWxlIGRhdGEgZmlsZXMgdG8gYmUgdXNlZCBieSBleHRlcm5hbCB0b29scy4NCj4gPiA+ ID4gPiA+ICsgICAgIyBDb21waWxlIGluZm9ybWF0aW9uIHdpbGwgYmUgZ2VuZXJhdGVkIGluDQo+ ID4gPiA+ID4gPiA8QnVpbGQ+LzxCdWlsZFRhcmdldD4vPFRvb2xDaGFpbj4vQ29tcGlsZUluZm8N Cj4gPiA+ID4gPiA+ICsgICAgIyBGaWxlcyBnZW5lcmF0ZWQ6IGNvbXBpbGVfY29tbWFuZHMuanNv biwgY3Njb3BlLmZpbGVzLA0KPiA+ID4gPiA+ID4gbW9kdWxlc19yZXBvcnQuanNvbg0KPiA+ID4g PiA+ID4gKyAgICAjDQo+ID4gPiA+ID4gPiArICAgICMgQHBhcmFtIHNlbGYgICAgICAgICAgICBU aGUgb2JqZWN0IHBvaW50ZXINCj4gPiA+ID4gPiA+ICsgICAgIw0KPiA+ID4gPiA+ID4gKyAgICBk ZWYgR2VuZXJhdGVDb21waWxlSW5mbyhzZWxmKToNCj4gPiA+ID4gPiA+ICsgICAgICAgIHRyeToN Cj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAjIExpc3RzIGZvciB0aGUgb3V0cHV0IGVsZW1lbnRz DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgY29tcGlsZV9jb21tYW5kcyA9IFtdDQo+ID4gPiA+ ID4gPiArICAgICAgICAgICAgdXNlZF9maWxlcyA9IHNldCgpDQo+ID4gPiA+ID4gPiArICAgICAg ICAgICAgbW9kdWxlX3JlcG9ydCA9IFtdDQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiArICAg ICAgICAgICAgZm9yIChXYSwgTWFMaXN0KSBpbiBzZWxmLlJlcG9ydExpc3Q6DQo+ID4gPiA+ID4g PiArICAgICAgICAgICAgICAgICMgT2J0YWluIGxpc3Qgb2YgYWxsIHByb2Nlc3NlZCBXb3Jrc3Bh Y2UgZmlsZXMNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgZm9yIGZpbGVfcGF0aCBpbiAN Cj4gPiA+ID4gPiA+ICsgV2EuX0dldE1ldGFGaWxlcyhXYS5CdWlsZFRhcmdldCwNCj4gPiA+ID4g V2EuVG9vbENoYWluKToNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgIHVzZWRfZmls ZXMuYWRkKGZpbGVfcGF0aCkNCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsgICAgICAgICAg ICAgICAgZm9yIGF1dG9HZW4gaW4gV2EuQXV0b0dlbk9iamVjdExpc3Q6DQo+ID4gPiA+ID4gPiAr DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAjIExvb3AgdGhyb3VnaCBhbGwgbW9k dWxlcw0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgZm9yIG1vZHVsZSBpbiANCj4g PiA+ID4gPiA+ICsgKGF1dG9HZW4uTGlicmFyeUF1dG9HZW5MaXN0ICsNCj4gPiA+ID4gPiA+IGF1 dG9HZW4uTW9kdWxlQXV0b0dlbkxpc3QpOg0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgIA0KPiA+ID4gPiA+ID4gKyB1c2VkX2ZpbGVzLmFkZChtb2R1 bGUuTWV0YUZpbGUuUGF0aCkNCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAjIE1haW4gZWxlbWVudHMgb2YgbW9kdWxlIHJlcG9ydA0KPiA+ID4gPiA+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZV9yZXBvcnRfZGF0YSA9IHt9DQo+ID4g PiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlX3JlcG9ydF9kYXRhWyJOYW1l Il0gPSBtb2R1bGUuTmFtZQ0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIG1v ZHVsZV9yZXBvcnRfZGF0YVsiQXJjaCJdID0gbW9kdWxlLkFyY2gNCj4gPiA+ID4gPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICBtb2R1bGVfcmVwb3J0X2RhdGFbIlBhdGgiXSA9IG1vZHVsZS5N ZXRhRmlsZS5QYXRoDQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxl X3JlcG9ydF9kYXRhWyJHdWlkIl0gPSBtb2R1bGUuR3VpZA0KPiA+ID4gPiA+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgIG1vZHVsZV9yZXBvcnRfZGF0YVsiQnVpbGRUeXBlIl0gPQ0KPiBtb2R1 bGUuQnVpbGRUeXBlDQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxl X3JlcG9ydF9kYXRhWyJJc0xpYnJhcnkiXSA9IG1vZHVsZS5Jc0xpYnJhcnkNCj4gPiA+ID4gPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGVfcmVwb3J0X2RhdGFbIlNvdXJjZURpciJd ID0gbW9kdWxlLlNvdXJjZURpcg0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg IG1vZHVsZV9yZXBvcnRfZGF0YVsiRmlsZXMiXSA9IFtdDQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgIyBGaWxlcyB1c2VkIGJ5IG1vZHVsZQ0KPiA+ ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciBkYXRhX2ZpbGUgaW4gbW9kdWxl LlNvdXJjZUZpbGVMaXN0Og0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICBtb2R1bGVfcmVwb3J0X2RhdGFbIkZpbGVzIl0uYXBwZW5kKHsiTmFtZSI6DQo+ID4gPiA+ID4g PiArIGRhdGFfZmlsZS5OYW1lLCAiUGF0aCI6IGRhdGFfZmlsZS5QYXRofSkNCj4gPiA+ID4gPiA+ ICsNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAjIExpYnJhcmllcyB1c2Vk IGJ5IG1vZHVsZQ0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZV9y ZXBvcnRfZGF0YVsiTGlicmFyaWVzIl0gPSBbXQ0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgIGZvciBkYXRhX2xpYnJhcnkgaW4gbW9kdWxlLkxpYnJhcnlBdXRvR2VuTGlzdDoN Cj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsgbW9kdWxlX3JlcG9ydF9kYXRhWyJMaWJyYXJp ZXMiXS5hcHBlbmQoeyJQYXRoIjoNCj4gPiA+ID4gPiA+ICsgZGF0YV9saWJyYXJ5Lk1ldGFGaWxl LlBhdGh9KQ0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICMgUGFja2FnZXMgdXNlZCBieSBtb2R1bGUNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICBtb2R1bGVfcmVwb3J0X2RhdGFbIlBhY2thZ2VzIl0gPSBbXQ0KPiA+ID4gPiA+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciBkYXRhX3BhY2thZ2UgaW4gbW9kdWxlLlBh Y2thZ2VMaXN0Og0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2R1 bGVfcmVwb3J0X2RhdGFbIlBhY2thZ2VzIl0uYXBwZW5kKHsiUGF0aCI6DQo+ID4gPiA+ID4gPiBk YXRhX3BhY2thZ2UuTWV0YUZpbGUuUGF0aCwgIkluY2x1ZGVzIjogW119KQ0KPiA+ID4gPiA+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEluY2x1ZGVzIHBhdGggdXNlZCBpbiBwYWNr YWdlDQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBkYXRhX3Bh Y2thZ2VfaW5jbHVkZSBpbiBkYXRhX3BhY2thZ2UuSW5jbHVkZXM6DQo+ID4gPiA+ID4gPiArDQo+ ID4gPiA+ID4gPiArIG1vZHVsZV9yZXBvcnRfZGF0YVsiUGFja2FnZXMiXVstDQo+ID4gPiA+ID4g PiAxXVsiSW5jbHVkZXMiXS5hcHBlbmQoZGF0YV9wYWNrYWdlX2luYw0KPiA+ID4gPiA+ID4gKyBs dWRlLlBhdGgpDQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgIyBQUEkncyBpbiBtb2R1bGUNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICBtb2R1bGVfcmVwb3J0X2RhdGFbIlBQSSJdID0gW10NCj4gPiA+ID4gPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICBmb3IgZGF0YV9wcGkgaW4gbW9kdWxlLlBwaUxpc3Qua2V5cygpOg0K PiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGVfcmVwb3J0X2Rh dGFbIlBQSSJdLmFwcGVuZCh7Ik5hbWUiOg0KPiA+ID4gPiA+ID4gKyBkYXRhX3BwaSwgIkd1aWQi OiBtb2R1bGUuUHBpTGlzdFtkYXRhX3BwaV19KQ0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICMgUHJvdG9jb2wncyBpbiBtb2R1bGUNCj4gPiA+ID4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGVfcmVwb3J0X2RhdGFbIlByb3RvY29s Il0gPSBbXQ0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciBkYXRhX3By b3RvY29sIGluIG1vZHVsZS5Qcm90b2NvbExpc3Qua2V5cygpOg0KPiA+ID4gPiA+ID4gKw0KPiA+ ID4gPiA+ID4gKyBtb2R1bGVfcmVwb3J0X2RhdGFbIlByb3RvY29sIl0uYXBwZW5kKHsiTmFtZSI6 DQo+IGRhdGFfcHJvdG9jb2wsDQo+ID4gPiA+ICJHdWlkIjoNCj4gPiA+ID4gPiA+ICsgbW9kdWxl LlByb3RvY29sTGlzdFtkYXRhX3Byb3RvY29sXX0pDQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4g PiArICAgICAgICAgICAgICAgICAgICAgICAgIyBQQ0QncyBpbiBtb2R1bGUNCj4gPiA+ID4gPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGVfcmVwb3J0X2RhdGFbIlBjZCJdID0gW10N Cj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICBmb3IgZGF0YV9wY2QgaW4gbW9k dWxlLkxpYnJhcnlQY2RMaXN0Og0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBtb2R1bGVfcmVwb3J0X2RhdGFbIlBjZCJdLmFwcGVuZCh7IlNwYWNlIjoNCj4gPiA+ID4g PiA+IGRhdGFfcGNkLlRva2VuU3BhY2VHdWlkQ05hbWUsDQo+ID4gPiA+ID4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTmFt ZSI6IGRhdGFfcGNkLlRva2VuQ05hbWUsDQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVmFsdWUiOiBkYXRh X3BjZC5Ub2tlblZhbHVlLA0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkd1aWQiOg0KPiA+ID4gPiBkYXRh X3BjZC5Ub2tlblNwYWNlR3VpZFZhbHVlLA0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkRhdHVtVHlwZSI6 DQo+IGRhdGFfcGNkLkRhdHVtVHlwZSwNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUeXBlIjogZGF0YV9w Y2QuVHlwZSwNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJEZWZhdWx0VmFsdWUiOg0KPiA+ID4gPiBkYXRh X3BjZC5EZWZhdWx0VmFsdWV9KQ0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICMgQWRkIG1vZHVsZSB0byByZXBvcnQNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICANCj4gPiA+ID4gPiA+ICsgbW9kdWxlX3JlcG9ydC5hcHBlbmQobW9kdWxlX3JlcG9ydF9k YXRhKQ0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICMgSW5jbHVkZSBmaWxlIGRlcGVuZGVuY2llcyB0byB1c2VkIGZpbGVzDQo+ID4gPiA+ID4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZXNfYXV0b2dlbiA9IA0KPiA+ID4gPiA+ID4g KyBJbmNsdWRlc0F1dG9HZW4obW9kdWxlLk1ha2VGaWxlRGlyLA0KPiA+ID4gPiA+ID4gbW9kdWxl KQ0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciBkZXAgaW4gaW5jbHVk ZXNfYXV0b2dlbi5EZXBzQ29sbGVjdGlvbjoNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdXNlZF9maWxlcy5hZGQoZGVwKQ0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIGluY19mbGFnID0gIi1JIiAjIERlZmF1bHQgaW5j bHVkZSBmbGFnDQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgaWYgbW9kdWxl LkJ1aWxkUnVsZUZhbWlseSA9PSBUQUJfQ09NUElMRVJfTVNGVDoNCj4gPiA+ID4gPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaW5jX2ZsYWcgPSAiL0kiDQo+ID4gPiA+ID4gPiArDQo+ ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHNvdXJjZSBpbiBtb2R1bGUu U291cmNlRmlsZUxpc3Q6DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVzZWRfZmlsZXMuYWRkKHNvdXJjZS5QYXRoKQ0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb21waWxlX2NvbW1hbmQgPSB7fQ0KPiA+ID4gPiA+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpZiBzb3VyY2UuRXh0IGluIFsiLmMiLCAiLmNjIiwgIi5jcHAi XToNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMNCj4gPiA+ ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgR2VuZXJhdGUgY29tcGls ZSBjb21tYW5kIGZvciBlYWNoIGMgZmlsZQ0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIw0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29tcGlsZV9jb21tYW5kWyJmaWxlIl0gPSBzb3VyY2UuUGF0aA0KPiA+ID4gPiA+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsZV9jb21tYW5kWyJkaXJlY3Rv cnkiXSA9IHNvdXJjZS5EaXINCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJ1aWxkX2NvbW1hbmQgPQ0KPiA+ID4gPiA+ID4gbW9kdWxlLkJ1aWxkUnVsZXNbc291 cmNlLkV4dF0uQ29tbWFuZExpc3RbMF0NCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJ1aWxkX2NvbW1hbmRfdmFyaWFibGVzID0gDQo+ID4gPiA+ID4gPiArIHJl LmZpbmRhbGwociJcJFwoKC4qPylcKSIsDQo+ID4gPiA+ID4gPiBidWlsZF9jb21tYW5kKQ0KPiA+ ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHZhciBpbiBidWls ZF9jb21tYW5kX3ZhcmlhYmxlczoNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB2YXJfdG9rZW5zID0gdmFyLnNwbGl0KCJfIikNCj4gPiA+ID4gPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJfbWFpbiA9IHZhcl90b2tlbnNb MF0NCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBs ZW4odmFyX3Rva2VucykgPT0gMToNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdmFyX3ZhbHVlID0NCj4gPiA+ID4gbW9kdWxlLkJ1aWxkT3B0aW9u W3Zhcl9tYWluXVsiUEFUSCJdDQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZWxzZToNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdmFyX3ZhbHVlID0NCj4gPiA+ID4gPiA+IG1vZHVsZS5CdWlsZE9wdGlv blt2YXJfbWFpbl1bdmFyX3Rva2Vuc1sxXV0NCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBidWlsZF9jb21tYW5kID0gDQo+ID4gPiA+ID4gPiArIGJ1aWxk X2NvbW1hbmQucmVwbGFjZShmIiQoe3Zhcn0pIiwNCj4gPiA+ID4gPiA+IHZhcl92YWx1ZSkNCj4g PiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlX2Zp bGVzID0gZiINCj4gPiA+ID4ge2luY19mbGFnfSIuam9pbihtb2R1bGUuSW5jbHVkZVBhdGhMaXN0 KQ0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxk X2NvbW1hbmQgPSANCj4gPiA+ID4gPiA+ICsgYnVpbGRfY29tbWFuZC5yZXBsYWNlKCIke3NyY30i LA0KPiA+ID4gPiA+ID4gaW5jbHVkZV9maWxlcykNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBidWlsZF9jb21tYW5kID0gDQo+ID4gPiA+ID4gPiArIGJ1 aWxkX2NvbW1hbmQucmVwbGFjZSgiJHtkc3R9IiwgbW9kdWxlLk91dHB1dERpcikNCj4gPiA+ID4g PiA+ICsNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgUmVt b3ZlIHVuIGRlZmluZWQgbWFjcm9zDQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb21waWxlX2NvbW1hbmRbImNvbW1hbmQiXSANCj4gPiA+ID4gPiA+ICsgPSBy ZS5zdWIociJcJFwoLio/XCkiLCAiIiwNCj4gPiA+ID4gPiA+IGJ1aWxkX2NvbW1hbmQpDQo+ID4g PiA+ID4gPiArDQo+ID4gPiA+ID4gPiArIGNvbXBpbGVfY29tbWFuZHMuYXBwZW5kKGNvbXBpbGVf Y29tbWFuZCkNCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgIyBD cmVhdGUgb3V0cHV0IGZvbGRlciBpZiBkb2Vzbid0IGV4aXN0DQo+ID4gPiA+ID4gPiArICAgICAg ICAgICAgICAgIGNvbXBpbGVfaW5mb19mb2xkZXIgPQ0KPiA+ID4gPiBQYXRoKFdhLkJ1aWxkRGly KS5qb2lucGF0aCgiQ29tcGlsZUluZm8iKQ0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICBj b21waWxlX2luZm9fZm9sZGVyLm1rZGlyKGV4aXN0X29rPVRydWUpDQo+ID4gPiA+ID4gPiArDQo+ ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICMgU29ydCBhbmQgc2F2ZSBmaWxlcw0KPiA+ID4g PiA+ID4gKyAgICAgICAgICAgICAgICBjb21waWxlX2NvbW1hbmRzLnNvcnQoa2V5PWxhbWJkYSB4 OiANCj4gPiA+ID4gPiA+ICsgeFsiZmlsZSJdKQ0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4g Kw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+DQo+IFNhdmVGaWxlT25DaGFuZ2UoY29tcGls ZV9pbmZvX2ZvbGRlci5qb2lucGF0aChmImNvbXBpbGVfY29tbWFuZHMuanNvbg0KPiA+ID4gIg0K PiA+ID4gPiA+ID4gKyApLGpzb24uZHVtcHMoY29tcGlsZV9jb21tYW5kcywgaW5kZW50PTIpLCBG YWxzZSkNCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsgU2F2ZUZp bGVPbkNoYW5nZShjb21waWxlX2luZm9fZm9sZGVyLmpvaW5wYXRoKGYiY3Njb3BlLmZpbA0KPiA+ ID4gPiA+ID4gKyBlcyIpLCAiXG4iLmpvaW4oc29ydGVkKHVzZWRfZmlsZXMpKSwgRmFsc2UpDQo+ ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgIG1vZHVsZV9yZXBvcnQu c29ydChrZXk9bGFtYmRhIHg6IHhbIlBhdGgiXSkNCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ ICsNCj4gPiA+IFNhdmVGaWxlT25DaGFuZ2UoY29tcGlsZV9pbmZvX2ZvbGRlci5qb2lucGF0aChm Im1vZHVsZV9yZXBvcnQuanNvbg0KPiA+ID4gPiA+ID4gKyAiKSwganNvbi5kdW1wcyhtb2R1bGVf cmVwb3J0LCBpbmRlbnQ9MiksIEZhbHNlKQ0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gKyAg ICAgICAgZXhjZXB0Og0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgIEVka0xvZ2dlci5lcnJvcigi QnVpbGRSZXBvcnQiLCBDT0RFX0VSUk9SLCANCj4gPiA+ID4gPiA+ICsgIlVua25vd24gZmF0YWwg ZXJyb3INCj4gPiA+ID4gPiA+IHdoZW4gZ2VuZXJhdGluZyBidWlsZCByZXBvcnQgY29tcGlsZSBp bmZvcm1hdGlvbiIsIA0KPiA+ID4gPiA+ID4gRXh0cmFEYXRhPXNlbGYuUmVwb3J0RmlsZSwgUmFp c2VFcnJvcj1GYWxzZSkNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICBFZGtMb2dnZXIucXVpZXQo IihQeXRob24gJXMgb24gJXNcbiVzKSIgJSANCj4gPiA+ID4gPiA+ICsgKHBsYXRmb3JtLnB5dGhv bl92ZXJzaW9uKCksIHN5cy5wbGF0Zm9ybSwNCj4gdHJhY2ViYWNrLmZvcm1hdF9leGMoKSkpDQo+ ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiAgIyBUaGlzIGFjdHMgbGlrZSB0aGUgbWFpbigpIGZ1 bmN0aW9uIGZvciB0aGUgc2NyaXB0LCB1bmxlc3MgDQo+ID4gPiA+ID4gPiBpdCBpcyAnaW1wb3J0 J2VkIGludG8gYW5vdGhlciBzY3JpcHQuDQo+ID4gPiA+ID4gPiAgaWYgX19uYW1lX18gPT0gJ19f bWFpbl9fJzoNCj4gPiA+ID4gPiA+ICAgICAgcGFzcw0KPiA+ID4gPiA+ID4gLQ0KPiA+ID4gPiA+ ID4gZGlmZiAtLWdpdCBhL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL2J1aWxkL2J1aWxkb3B0aW9u cy5weQ0KPiA+ID4gPiA+ID4gYi9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9idWlsZC9idWlsZG9w dGlvbnMucHkNCj4gPiA+ID4gPiA+IGluZGV4IDgzMzQ2MDRiNDYuLjVlYzU2MWY3ZWMgMTAwNjQ0 DQo+ID4gPiA+ID4gPiAtLS0gYS9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9idWlsZC9idWlsZG9w dGlvbnMucHkNCj4gPiA+ID4gPiA+ICsrKyBiL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL2J1aWxk L2J1aWxkb3B0aW9ucy5weQ0KPiA+ID4gPiA+ID4gQEAgLTg0LDggKzg0LDggQEAgY2xhc3MgTXlP cHRpb25QYXJzZXIoKToNCj4gPiA+ID4gPiA+ICAgICAgICAgIFBhcnNlci5hZGRfb3B0aW9uKCIt RCIsICItLWRlZmluZSIsIA0KPiA+ID4gPiA+ID4gYWN0aW9uPSJhcHBlbmQiLCB0eXBlPSJzdHJp bmciLCBkZXN0PSJNYWNyb3MiLCBoZWxwPSJNYWNybzogDQo+ID4gPiA+ID4gPiBcIk5hbWUgWz0g VmFsdWVdXCIuIikNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAgICAgICBQYXJzZXIuYWRk X29wdGlvbigiLXkiLCAiLS1yZXBvcnQtZmlsZSIsIA0KPiA+ID4gPiA+ID4gYWN0aW9uPSJzdG9y ZSIsIGRlc3Q9IlJlcG9ydEZpbGUiLCBoZWxwPSJDcmVhdGUvb3ZlcndyaXRlIA0KPiA+ID4gPiA+ ID4gdGhlIHJlcG9ydCB0byB0aGUgc3BlY2lmaWVkDQo+ID4gPiA+ID4gPiBmaWxlbmFtZS4iKQ0K PiA+ID4gPiA+ID4gLSAgICAgICAgUGFyc2VyLmFkZF9vcHRpb24oIi1ZIiwgIi0tcmVwb3J0LXR5 cGUiLCBhY3Rpb249ImFwcGVuZCIsDQo+ID4gPiA+ID4gPiB0eXBlPSJjaG9pY2UiLCBjaG9pY2Vz PVsnUENEJywgJ0xJQlJBUlknLCAnRkxBU0gnLCAnREVQRVgnLCANCj4gPiA+ID4gPiA+ICdCVUlM RF9GTEFHUycsICdGSVhFRF9BRERSRVNTJywgJ0hBU0gnLCAnRVhFQ1VUSU9OX09SREVSJ10sIA0K PiA+ID4gPiA+ID4gZGVzdD0iUmVwb3J0VHlwZSIsIGRlZmF1bHQ9W10sDQo+ID4gPiA+ID4gPiAt ICAgICAgICAgICAgaGVscD0iRmxhZ3MgdGhhdCBjb250cm9sIHRoZSB0eXBlIG9mIGJ1aWxkIHJl cG9ydCB0byBnZW5lcmF0ZS4NCj4gPiA+ID4gTXVzdCBiZQ0KPiA+ID4gPiA+ID4gb25lIG9mOiBb UENELCBMSUJSQVJZLCBGTEFTSCwgREVQRVgsIEJVSUxEX0ZMQUdTLA0KPiBGSVhFRF9BRERSRVNT LA0KPiA+ID4gPiA+ID4gSEFTSCwgRVhFQ1VUSU9OX09SREVSXS4gICJcDQo+ID4gPiA+ID4gPiAr ICAgICAgICBQYXJzZXIuYWRkX29wdGlvbigiLVkiLCAiLS1yZXBvcnQtdHlwZSIsIA0KPiA+ID4g PiA+ID4gKyBhY3Rpb249ImFwcGVuZCIsDQo+ID4gPiA+ID4gPiB0eXBlPSJjaG9pY2UiLCBjaG9p Y2VzPVsnUENEJywgJ0xJQlJBUlknLCAnRkxBU0gnLCAnREVQRVgnLCANCj4gPiA+ID4gPiA+ICdC VUlMRF9GTEFHUycsICdGSVhFRF9BRERSRVNTJywgJ0hBU0gnLCAnRVhFQ1VUSU9OX09SREVSJywg DQo+ID4gPiA+ID4gPiAnQ09NUElMRV9JTkZPJ10sIGRlc3Q9IlJlcG9ydFR5cGUiLCBkZWZhdWx0 PVtdLA0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgIGhlbHA9IkZsYWdzIHRoYXQgY29udHJvbCB0 aGUgdHlwZSBvZiBidWlsZCANCj4gPiA+ID4gPiA+ICsgcmVwb3J0IHRvIGdlbmVyYXRlLiAgTXVz dCBiZSBvbmUgb2Y6IFtQQ0QsIExJQlJBUlksIEZMQVNILCANCj4gPiA+ID4gPiA+ICsgREVQRVgs IEJVSUxEX0ZMQUdTLCBGSVhFRF9BRERSRVNTLCBIQVNILCBFWEVDVVRJT05fT1JERVIsDQo+ID4g PiA+IENPTVBJTEVfSU5GT10uDQo+ID4gPiA+ID4gPiArICJcDQo+ID4gPiA+ID4gPiAgICAgICAg ICAgICAgICAgICAiVG8gc3BlY2lmeSBtb3JlIHRoYW4gb25lIGZsYWcsIHJlcGVhdCANCj4gPiA+ ID4gPiA+IHRoaXMgb3B0aW9uIG9uIHRoZSBjb21tYW5kIGxpbmUgYW5kIHRoZSBkZWZhdWx0IGZs YWcgc2V0IGlzIA0KPiA+ID4gPiA+ID4gW1BDRCwgTElCUkFSWSwgRkxBU0gsIERFUEVYLCBIQVNI LCBCVUlMRF9GTEFHUywgRklYRURfQUREUkVTU10iKQ0KPiA+ID4gPiA+ID4gICAgICAgICAgUGFy c2VyLmFkZF9vcHRpb24oIi1GIiwgIi0tZmxhZyIsIGFjdGlvbj0ic3RvcmUiLCANCj4gPiA+ID4g PiA+IHR5cGU9InN0cmluZyIsIGRlc3Q9IkZsYWciLA0KPiA+ID4gPiA+ID4gICAgICAgICAgICAg IGhlbHA9IlNwZWNpZnkgdGhlIHNwZWNpZmljIG9wdGlvbiB0byBwYXJzZSBFREsgDQo+ID4gPiA+ ID4gPiBVTkkgZmlsZS4gTXVzdA0KPiBiZQ0KPiA+ID4gPiBvbmUgb2Y6DQo+ID4gPiA+ID4gPiBb LWMsIC1zXS4gLWMgaXMgZm9yIEVESyBmcmFtZXdvcmsgVU5JIGZpbGUsIGFuZCAtcyBpcyBmb3Ig DQo+ID4gPiA+ID4gPiBFREsgVUVGSSBVTkkgZmlsZS4gIlwNCj4gPiA+ID4gPiA+IC0tDQo+ID4g PiA+ID4gPiAyLjI4LjAud2luZG93cy4xDQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ DQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gDQo+ID4g Pg0KDQo= --_002_DM4PR11MB633668C57856D8C6F63AF540F7AF9DM4PR11MB6336namp_ Content-Type: application/octet-stream; name="0001-BaseTools-Generate-compile-information-in-build-repo.patch" Content-Description: 0001-BaseTools-Generate-compile-information-in-build-repo.patch Content-Disposition: attachment; filename="0001-BaseTools-Generate-compile-information-in-build-repo.patch"; size=12488; creation-date="Mon, 27 Feb 2023 17:38:50 GMT"; modification-date="Mon, 27 Feb 2023 17:40:29 GMT" Content-Transfer-Encoding: base64 RnJvbSBkZGIyMWNkYWNhMTk2Zjc0MGE1MGZkZDY1MjQ3MzBjM2UyY2I3NmZiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBHdWlsbGVybW8gQW50b25pbyBQYWxvbWlubyBTb3NhIDxndWls bGVybW8uYS5wYWxvbWluby5zb3NhQGludGVsLmNvbT4KRGF0ZTogTW9uLCAyNyBGZWIgMjAyMyAx MDoyOTo1MyAtMDYwMApTdWJqZWN0OiBbUEFUQ0ggMS8xXSBCYXNlVG9vbHM6IEdlbmVyYXRlIGNv bXBpbGUgaW5mb3JtYXRpb24gaW4gYnVpbGQgcmVwb3J0CgpSRUY6aHR0cHM6Ly9idWd6aWxsYS50 aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0yODUwCgpBZGQgIi1ZIFJFUE9SVF9JTkZPIiBv cHRpb24gdG8gYnVpbGQgY29tbWFuZCB0byBnZW5lcmF0ZSBjb21waWxlCmluZm9ybWF0aW9uIGFz IHBhcnQgb2YgQnVpbGRSZXBvcnQuClRoaXMgb3B0aW9uIGdlbmVyYXRlcyBmaWxlcyB0byBiZSB1 c2VkIGJ5IGV4dGVybmFsIHRvb2xzIGFzIElERSdzCnRvIGVuaGFuY2UgZnVuY3Rpb25hbGl0eS4K RmlsZXMgYXJlIGNyZWF0ZWQgaW5zaWRlIGJ1aWxkIGZvbGRlcjoKPEJ1aWxkPi88QnVpbGRUYXJn ZXQ+LzxUb29sQ2hhaW4+L0NvbXBpbGVJbmZvCgpGaWxlcyBjcmVhdGVkOgoqIGNvbXBpbGVfY29t bWFuZHMuanNvbiAtIENvbXBpbGF0aW9uIERhdGFiYXNlLiBUbyBiZSB1c2VkIGJ5IElERSdzCiAg dG8gZW5hYmxlIGFkdmFuY2UgZmVhdHVyZXMKKiBjc2NvcGUuZmlsZXMgLSBMaXN0IG9mIGZpbGVz IHVzZWQgaW4gY29tcGlsYXRpb24uIFVzZWQgYnkgQ3Njb3BlIHRvIHBhcnNlCiAgQyBjb2RlIGFu ZCBwcm92aWRlIGJyb3dzZSBmdW5jdGlvbmFsaXR5LgoqIG1vZHVsZV9yZXBvcnQuanNvbiAtIE1v ZHVsZSBkYXRhIGZvcm0gYnVpbGRSZXBvcnQgaW4gSnNvbiBmb3JtYXQuCgpTaWduZWQtb2ZmLWJ5 OiBHdWlsbGVybW8gQW50b25pbyBQYWxvbWlubyBTb3NhIDxndWlsbGVybW8uYS5wYWxvbWluby5z b3NhQGludGVsLmNvbT4KLS0tCiBlZGsyYmFzZXRvb2xzL2J1aWxkL0J1aWxkUmVwb3J0LnB5ICB8 IDEzOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBlZGsyYmFzZXRvb2xzL2J1aWxkL2J1 aWxkb3B0aW9ucy5weSB8ICAgNCArLQogMiBmaWxlcyBjaGFuZ2VkLCAxNDAgaW5zZXJ0aW9ucygr KSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9lZGsyYmFzZXRvb2xzL2J1aWxkL0J1aWxk UmVwb3J0LnB5IGIvZWRrMmJhc2V0b29scy9idWlsZC9CdWlsZFJlcG9ydC5weQppbmRleCA1NTNi ZmU1Li45Y2ZlOWRjIDEwMDY0NAotLS0gYS9lZGsyYmFzZXRvb2xzL2J1aWxkL0J1aWxkUmVwb3J0 LnB5CisrKyBiL2VkazJiYXNldG9vbHMvYnVpbGQvQnVpbGRSZXBvcnQucHkKQEAgLTIxLDYgKzIx LDggQEAKIGltcG9ydCBoYXNobGliCiBpbXBvcnQgc3VicHJvY2VzcwogaW1wb3J0IHRocmVhZGlu ZworaW1wb3J0IGpzb24KK2Zyb20gcGF0aGxpYiBpbXBvcnQgUGF0aAogZnJvbSBkYXRldGltZSBp bXBvcnQgZGF0ZXRpbWUKIGZyb20gaW8gaW1wb3J0IEJ5dGVzSU8KIGZyb20gZWRrMmJhc2V0b29s cy5Db21tb24gaW1wb3J0IEVka0xvZ2dlcgpAQCAtNDEsNiArNDMsNyBAQAogaW1wb3J0IGNvbGxl Y3Rpb25zCiBmcm9tIGVkazJiYXNldG9vbHMuQ29tbW9uLkV4cHJlc3Npb24gaW1wb3J0ICoKIGZy b20gZWRrMmJhc2V0b29scy5HZW5GZHMuQXByaW9yaVNlY3Rpb24gaW1wb3J0IERYRV9BUFJJT1JJ X0dVSUQsIFBFSV9BUFJJT1JJX0dVSUQKK2Zyb20gZWRrMmJhc2V0b29scy5BdXRvR2VuLkluY2x1 ZGVzQXV0b0dlbiBpbXBvcnQgSW5jbHVkZXNBdXRvR2VuCiAKICMjIFBhdHRlcm4gdG8gZXh0cmFj dCBjb250ZW50cyBpbiBFREsgRFhTIGZpbGVzCiBnRHhzRGVwZW5kZW5jeVBhdHRlcm4gPSByZS5j b21waWxlKHIiREVQRU5ERU5DWV9TVEFSVCguKylERVBFTkRFTkNZX0VORCIsIHJlLkRPVEFMTCkK QEAgLTIyOTgsNiArMjMwMSwxMCBAQCBkZWYgQWRkUGxhdGZvcm1SZXBvcnQoc2VsZiwgV2EsIE1h TGlzdD1Ob25lKToKICAgICBkZWYgR2VuZXJhdGVSZXBvcnQoc2VsZiwgQnVpbGREdXJhdGlvbiwg QXV0b0dlblRpbWUsIE1ha2VUaW1lLCBHZW5GZHNUaW1lKToKICAgICAgICAgaWYgc2VsZi5SZXBv cnRGaWxlOgogICAgICAgICAgICAgdHJ5OgorCisgICAgICAgICAgICAgICAgaWYgIkNPTVBJTEVf SU5GTyIgaW4gc2VsZi5SZXBvcnRUeXBlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLkdlbmVy YXRlQ29tcGlsZUluZm8oKQorCiAgICAgICAgICAgICAgICAgRmlsZSA9IFtdCiAgICAgICAgICAg ICAgICAgZm9yIChXYSwgTWFMaXN0KSBpbiBzZWxmLlJlcG9ydExpc3Q6CiAgICAgICAgICAgICAg ICAgICAgIFBsYXRmb3JtUmVwb3J0KFdhLCBNYUxpc3QsIHNlbGYuUmVwb3J0VHlwZSkuR2VuZXJh dGVSZXBvcnQoRmlsZSwgQnVpbGREdXJhdGlvbiwgQXV0b0dlblRpbWUsIE1ha2VUaW1lLCBHZW5G ZHNUaW1lLCBzZWxmLlJlcG9ydFR5cGUpCkBAIC0yMzEwLDYgKzIzMTcsMTM3IEBAIGRlZiBHZW5l cmF0ZVJlcG9ydChzZWxmLCBCdWlsZER1cmF0aW9uLCBBdXRvR2VuVGltZSwgTWFrZVRpbWUsIEdl bkZkc1RpbWUpOgogICAgICAgICAgICAgICAgIEVka0xvZ2dlci5lcnJvcigiQnVpbGRSZXBvcnQi LCBDT0RFX0VSUk9SLCAiVW5rbm93biBmYXRhbCBlcnJvciB3aGVuIGdlbmVyYXRpbmcgYnVpbGQg cmVwb3J0IiwgRXh0cmFEYXRhPXNlbGYuUmVwb3J0RmlsZSwgUmFpc2VFcnJvcj1GYWxzZSkKICAg ICAgICAgICAgICAgICBFZGtMb2dnZXIucXVpZXQoIihQeXRob24gJXMgb24gJXNcbiVzKSIgJSAo cGxhdGZvcm0ucHl0aG9uX3ZlcnNpb24oKSwgc3lzLnBsYXRmb3JtLCB0cmFjZWJhY2suZm9ybWF0 X2V4YygpKSkKIAorCisgICAgIyMKKyAgICAjIEdlbmVyYXRlcyBjb21waWxlIGRhdGEgZmlsZXMg dG8gYmUgdXNlZCBieSBleHRlcm5hbCB0b29scy4KKyAgICAjIENvbXBpbGUgaW5mb3JtYXRpb24g d2lsbCBiZSBnZW5lcmF0ZWQgaW4gPEJ1aWxkPi88QnVpbGRUYXJnZXQ+LzxUb29sQ2hhaW4+L0Nv bXBpbGVJbmZvCisgICAgIyBGaWxlcyBnZW5lcmF0ZWQ6IGNvbXBpbGVfY29tbWFuZHMuanNvbiwg Y3Njb3BlLmZpbGVzLCBtb2R1bGVzX3JlcG9ydC5qc29uCisgICAgIworICAgICMgQHBhcmFtIHNl bGYgICAgICAgICAgICBUaGUgb2JqZWN0IHBvaW50ZXIKKyAgICAjCisgICAgZGVmIEdlbmVyYXRl Q29tcGlsZUluZm8oc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgICMgTGlzdHMgZm9y IHRoZSBvdXRwdXQgZWxlbWVudHMKKyAgICAgICAgICAgIGNvbXBpbGVfY29tbWFuZHMgPSBbXQor ICAgICAgICAgICAgdXNlZF9maWxlcyA9IHNldCgpCisgICAgICAgICAgICBtb2R1bGVfcmVwb3J0 ID0gW10KKworICAgICAgICAgICAgZm9yIChXYSwgTWFMaXN0KSBpbiBzZWxmLlJlcG9ydExpc3Q6 CisgICAgICAgICAgICAgICAgIyBPYnRhaW4gbGlzdCBvZiBhbGwgcHJvY2Vzc2VkIFdvcmtzcGFj ZSBmaWxlcworICAgICAgICAgICAgICAgIGZvciBmaWxlX3BhdGggaW4gV2EuX0dldE1ldGFGaWxl cyhXYS5CdWlsZFRhcmdldCwgV2EuVG9vbENoYWluKToKKyAgICAgICAgICAgICAgICAgICAgdXNl ZF9maWxlcy5hZGQoZmlsZV9wYXRoKQorCisgICAgICAgICAgICAgICAgZm9yIGF1dG9HZW4gaW4g V2EuQXV0b0dlbk9iamVjdExpc3Q6CisKKyAgICAgICAgICAgICAgICAgICAgIyBMb29wIHRocm91 Z2ggYWxsIG1vZHVsZXMKKyAgICAgICAgICAgICAgICAgICAgZm9yIG1vZHVsZSBpbiAoYXV0b0dl bi5MaWJyYXJ5QXV0b0dlbkxpc3QgKyBhdXRvR2VuLk1vZHVsZUF1dG9HZW5MaXN0KToKKworICAg ICAgICAgICAgICAgICAgICAgICAgdXNlZF9maWxlcy5hZGQobW9kdWxlLk1ldGFGaWxlLlBhdGgp CisKKyAgICAgICAgICAgICAgICAgICAgICAgICMgTWFpbiBlbGVtZW50cyBvZiBtb2R1bGUgcmVw b3J0CisgICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGVfcmVwb3J0X2RhdGEgPSB7fQorICAg ICAgICAgICAgICAgICAgICAgICAgbW9kdWxlX3JlcG9ydF9kYXRhWyJOYW1lIl0gPSBtb2R1bGUu TmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlX3JlcG9ydF9kYXRhWyJBcmNoIl0g PSBtb2R1bGUuQXJjaAorICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlX3JlcG9ydF9kYXRh WyJQYXRoIl0gPSBtb2R1bGUuTWV0YUZpbGUuUGF0aAorICAgICAgICAgICAgICAgICAgICAgICAg bW9kdWxlX3JlcG9ydF9kYXRhWyJHdWlkIl0gPSBtb2R1bGUuR3VpZAorICAgICAgICAgICAgICAg ICAgICAgICAgbW9kdWxlX3JlcG9ydF9kYXRhWyJCdWlsZFR5cGUiXSA9IG1vZHVsZS5CdWlsZFR5 cGUKKyAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZV9yZXBvcnRfZGF0YVsiSXNMaWJyYXJ5 Il0gPSBtb2R1bGUuSXNMaWJyYXJ5CisgICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGVfcmVw b3J0X2RhdGFbIlNvdXJjZURpciJdID0gbW9kdWxlLlNvdXJjZURpcgorICAgICAgICAgICAgICAg ICAgICAgICAgbW9kdWxlX3JlcG9ydF9kYXRhWyJGaWxlcyJdID0gW10KKworICAgICAgICAgICAg ICAgICAgICAgICAgIyBGaWxlcyB1c2VkIGJ5IG1vZHVsZQorICAgICAgICAgICAgICAgICAgICAg ICAgZm9yIGRhdGFfZmlsZSBpbiBtb2R1bGUuU291cmNlRmlsZUxpc3Q6CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbW9kdWxlX3JlcG9ydF9kYXRhWyJGaWxlcyJdLmFwcGVuZCh7Ik5hbWUi OiBkYXRhX2ZpbGUuTmFtZSwgIlBhdGgiOiBkYXRhX2ZpbGUuUGF0aH0pCisKKyAgICAgICAgICAg ICAgICAgICAgICAgICMgTGlicmFyaWVzIHVzZWQgYnkgbW9kdWxlCisgICAgICAgICAgICAgICAg ICAgICAgICBtb2R1bGVfcmVwb3J0X2RhdGFbIkxpYnJhcmllcyJdID0gW10KKyAgICAgICAgICAg ICAgICAgICAgICAgIGZvciBkYXRhX2xpYnJhcnkgaW4gbW9kdWxlLkxpYnJhcnlBdXRvR2VuTGlz dDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGVfcmVwb3J0X2RhdGFbIkxpYnJh cmllcyJdLmFwcGVuZCh7IlBhdGgiOiBkYXRhX2xpYnJhcnkuTWV0YUZpbGUuUGF0aH0pCisKKyAg ICAgICAgICAgICAgICAgICAgICAgICMgUGFja2FnZXMgdXNlZCBieSBtb2R1bGUKKyAgICAgICAg ICAgICAgICAgICAgICAgIG1vZHVsZV9yZXBvcnRfZGF0YVsiUGFja2FnZXMiXSA9IFtdCisgICAg ICAgICAgICAgICAgICAgICAgICBmb3IgZGF0YV9wYWNrYWdlIGluIG1vZHVsZS5QYWNrYWdlTGlz dDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGVfcmVwb3J0X2RhdGFbIlBhY2th Z2VzIl0uYXBwZW5kKHsiUGF0aCI6IGRhdGFfcGFja2FnZS5NZXRhRmlsZS5QYXRoLCAiSW5jbHVk ZXMiOiBbXX0pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBJbmNsdWRlcyBwYXRoIHVz ZWQgaW4gcGFja2FnZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBkYXRhX3BhY2th Z2VfaW5jbHVkZSBpbiBkYXRhX3BhY2thZ2UuSW5jbHVkZXM6CisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1vZHVsZV9yZXBvcnRfZGF0YVsiUGFja2FnZXMiXVstMV1bIkluY2x1ZGVz Il0uYXBwZW5kKGRhdGFfcGFja2FnZV9pbmNsdWRlLlBhdGgpCisKKyAgICAgICAgICAgICAgICAg ICAgICAgICMgUFBJcyBpbiBtb2R1bGUKKyAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZV9y ZXBvcnRfZGF0YVsiUFBJIl0gPSBbXQorICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGRhdGFf cHBpIGluIG1vZHVsZS5QcGlMaXN0LmtleXMoKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICBtb2R1bGVfcmVwb3J0X2RhdGFbIlBQSSJdLmFwcGVuZCh7Ik5hbWUiOiBkYXRhX3BwaSwgIkd1 aWQiOiBtb2R1bGUuUHBpTGlzdFtkYXRhX3BwaV19KQorCisgICAgICAgICAgICAgICAgICAgICAg ICAjIFByb3RvY29scyBpbiBtb2R1bGUKKyAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZV9y ZXBvcnRfZGF0YVsiUHJvdG9jb2wiXSA9IFtdCisgICAgICAgICAgICAgICAgICAgICAgICBmb3Ig ZGF0YV9wcm90b2NvbCBpbiBtb2R1bGUuUHJvdG9jb2xMaXN0LmtleXMoKToKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICBtb2R1bGVfcmVwb3J0X2RhdGFbIlByb3RvY29sIl0uYXBwZW5kKHsi TmFtZSI6IGRhdGFfcHJvdG9jb2wsICJHdWlkIjogbW9kdWxlLlByb3RvY29sTGlzdFtkYXRhX3By b3RvY29sXX0pCisKKyAgICAgICAgICAgICAgICAgICAgICAgICMgUENEcyBpbiBtb2R1bGUKKyAg ICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZV9yZXBvcnRfZGF0YVsiUGNkIl0gPSBbXQorICAg ICAgICAgICAgICAgICAgICAgICAgZm9yIGRhdGFfcGNkIGluIG1vZHVsZS5MaWJyYXJ5UGNkTGlz dDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGVfcmVwb3J0X2RhdGFbIlBjZCJd LmFwcGVuZCh7IlNwYWNlIjogZGF0YV9wY2QuVG9rZW5TcGFjZUd1aWRDTmFtZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5h bWUiOiBkYXRhX3BjZC5Ub2tlbkNOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVmFsdWUiOiBkYXRhX3BjZC5Ub2tlblZh bHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiR3VpZCI6IGRhdGFfcGNkLlRva2VuU3BhY2VHdWlkVmFsdWUsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJE YXR1bVR5cGUiOiBkYXRhX3BjZC5EYXR1bVR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUeXBlIjogZGF0YV9wY2QuVHlw ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIkRlZmF1bHRWYWx1ZSI6IGRhdGFfcGNkLkRlZmF1bHRWYWx1ZX0pCisgICAgICAg ICAgICAgICAgICAgICAgICAjIEFkZCBtb2R1bGUgdG8gcmVwb3J0CisgICAgICAgICAgICAgICAg ICAgICAgICBtb2R1bGVfcmVwb3J0LmFwcGVuZChtb2R1bGVfcmVwb3J0X2RhdGEpCisKKyAgICAg ICAgICAgICAgICAgICAgICAgICMgSW5jbHVkZSBmaWxlIGRlcGVuZGVuY2llcyB0byB1c2VkIGZp bGVzCisgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlc19hdXRvZ2VuID0gSW5jbHVkZXNB dXRvR2VuKG1vZHVsZS5NYWtlRmlsZURpciwgbW9kdWxlKQorICAgICAgICAgICAgICAgICAgICAg ICAgZm9yIGRlcCBpbiBpbmNsdWRlc19hdXRvZ2VuLkRlcHNDb2xsZWN0aW9uOgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVzZWRfZmlsZXMuYWRkKGRlcCkKKworICAgICAgICAgICAgICAg ICAgICAgICAgaW5jX2ZsYWcgPSAiLUkiICMgRGVmYXVsdCBpbmNsdWRlIGZsYWcKKyAgICAgICAg ICAgICAgICAgICAgICAgIGlmIG1vZHVsZS5CdWlsZFJ1bGVGYW1pbHkgPT0gVEFCX0NPTVBJTEVS X01TRlQ6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jX2ZsYWcgPSAiL0kiCisKKyAg ICAgICAgICAgICAgICAgICAgICAgIGZvciBzb3VyY2UgaW4gbW9kdWxlLlNvdXJjZUZpbGVMaXN0 OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZWRfZmlsZXMuYWRkKHNvdXJjZS5QYXRo KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGVfY29tbWFuZCA9IHt9CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaWYgc291cmNlLkV4dCBpbiBbIi5jIiwgIi5jYyIsICIu Y3BwIl06CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIyBHZW5lcmF0ZSBjb21waWxlIGNvbW1hbmQgZm9yIGVhY2ggYyBm aWxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29tcGlsZV9jb21tYW5kWyJmaWxlIl0gPSBzb3VyY2UuUGF0aAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21waWxlX2NvbW1hbmRbImRpcmVjdG9yeSJd ID0gc291cmNlLkRpcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZF9jb21t YW5kID0gbW9kdWxlLkJ1aWxkUnVsZXNbc291cmNlLkV4dF0uQ29tbWFuZExpc3RbMF0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRfY29tbWFuZF92YXJpYWJsZXMgPSByZS5m aW5kYWxsKHIiXCRcKCguKj8pXCkiLCBidWlsZF9jb21tYW5kKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBmb3IgdmFyIGluIGJ1aWxkX2NvbW1hbmRfdmFyaWFibGVzOgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyX3Rva2VucyA9IHZhci5zcGxpdCgiXyIp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJfbWFpbiA9IHZhcl90b2tl bnNbMF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGxlbih2YXJfdG9r ZW5zKSA9PSAxOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcl92 YWx1ZSA9IG1vZHVsZS5CdWlsZE9wdGlvblt2YXJfbWFpbl1bIlBBVEgiXQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB2YXJfdmFsdWUgPSBtb2R1bGUuQnVpbGRPcHRpb25bdmFyX21haW5dW3Zh cl90b2tlbnNbMV1dCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZF9j b21tYW5kID0gYnVpbGRfY29tbWFuZC5yZXBsYWNlKGYiJCh7dmFyfSkiLCB2YXJfdmFsdWUpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlX2ZpbGVzID0gZiIge2lu Y19mbGFnfSIuam9pbihtb2R1bGUuSW5jbHVkZVBhdGhMaXN0KQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYnVpbGRfY29tbWFuZCA9IGJ1aWxkX2NvbW1hbmQucmVwbGFjZSgi JHtzcmN9IiwgaW5jbHVkZV9maWxlcykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJ1aWxkX2NvbW1hbmQgPSBidWlsZF9jb21tYW5kLnJlcGxhY2UoIiR7ZHN0fSIsIG1vZHVs ZS5PdXRwdXREaXIpCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBSZW1vdmUg dW4gZGVmaW5lZCBtYWNyb3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGls ZV9jb21tYW5kWyJjb21tYW5kIl0gPSByZS5zdWIociJcJFwoLio/XCkiLCAiIiwgYnVpbGRfY29t bWFuZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsZV9jb21tYW5kcy5h cHBlbmQoY29tcGlsZV9jb21tYW5kKQorCisgICAgICAgICAgICAgICAgIyBDcmVhdGUgb3V0cHV0 IGZvbGRlciBpZiBkb2Vzbid0IGV4aXN0CisgICAgICAgICAgICAgICAgY29tcGlsZV9pbmZvX2Zv bGRlciA9IFBhdGgoV2EuQnVpbGREaXIpLmpvaW5wYXRoKCJDb21waWxlSW5mbyIpCisgICAgICAg ICAgICAgICAgY29tcGlsZV9pbmZvX2ZvbGRlci5ta2RpcihleGlzdF9vaz1UcnVlKQorCisgICAg ICAgICAgICAgICAgIyBTb3J0IGFuZCBzYXZlIGZpbGVzCisgICAgICAgICAgICAgICAgY29tcGls ZV9jb21tYW5kcy5zb3J0KGtleT1sYW1iZGEgeDogeFsiZmlsZSJdKQorICAgICAgICAgICAgICAg IFNhdmVGaWxlT25DaGFuZ2UoY29tcGlsZV9pbmZvX2ZvbGRlci5qb2lucGF0aChmImNvbXBpbGVf Y29tbWFuZHMuanNvbiIpLGpzb24uZHVtcHMoY29tcGlsZV9jb21tYW5kcywgaW5kZW50PTIpLCBG YWxzZSkKKworICAgICAgICAgICAgICAgIFNhdmVGaWxlT25DaGFuZ2UoY29tcGlsZV9pbmZvX2Zv bGRlci5qb2lucGF0aChmImNzY29wZS5maWxlcyIpLCAiXG4iLmpvaW4oc29ydGVkKHVzZWRfZmls ZXMpKSwgRmFsc2UpCisKKyAgICAgICAgICAgICAgICBtb2R1bGVfcmVwb3J0LnNvcnQoa2V5PWxh bWJkYSB4OiB4WyJQYXRoIl0pCisgICAgICAgICAgICAgICAgU2F2ZUZpbGVPbkNoYW5nZShjb21w aWxlX2luZm9fZm9sZGVyLmpvaW5wYXRoKGYibW9kdWxlX3JlcG9ydC5qc29uIiksIGpzb24uZHVt cHMobW9kdWxlX3JlcG9ydCwgaW5kZW50PTIpLCBGYWxzZSkKKworICAgICAgICBleGNlcHQ6Cisg ICAgICAgICAgICBFZGtMb2dnZXIuZXJyb3IoIkJ1aWxkUmVwb3J0IiwgQ09ERV9FUlJPUiwgIlVu a25vd24gZmF0YWwgZXJyb3Igd2hlbiBnZW5lcmF0aW5nIGJ1aWxkIHJlcG9ydCBjb21waWxlIGlu Zm9ybWF0aW9uIiwgRXh0cmFEYXRhPXNlbGYuUmVwb3J0RmlsZSwgUmFpc2VFcnJvcj1GYWxzZSkK KyAgICAgICAgICAgIEVka0xvZ2dlci5xdWlldCgiKFB5dGhvbiAlcyBvbiAlc1xuJXMpIiAlIChw bGF0Zm9ybS5weXRob25fdmVyc2lvbigpLCBzeXMucGxhdGZvcm0sIHRyYWNlYmFjay5mb3JtYXRf ZXhjKCkpKQorCiAjIFRoaXMgYWN0cyBsaWtlIHRoZSBtYWluKCkgZnVuY3Rpb24gZm9yIHRoZSBz Y3JpcHQsIHVubGVzcyBpdCBpcyAnaW1wb3J0J2VkIGludG8gYW5vdGhlciBzY3JpcHQuCiBpZiBf X25hbWVfXyA9PSAnX19tYWluX18nOgogICAgIHBhc3MKZGlmZiAtLWdpdCBhL2VkazJiYXNldG9v bHMvYnVpbGQvYnVpbGRvcHRpb25zLnB5IGIvZWRrMmJhc2V0b29scy9idWlsZC9idWlsZG9wdGlv bnMucHkKaW5kZXggMmFmZWIzYS4uZDk2YzYwYyAxMDA2NDQKLS0tIGEvZWRrMmJhc2V0b29scy9i dWlsZC9idWlsZG9wdGlvbnMucHkKKysrIGIvZWRrMmJhc2V0b29scy9idWlsZC9idWlsZG9wdGlv bnMucHkKQEAgLTgzLDggKzgzLDggQEAgZGVmIEdldE9wdGlvbihzZWxmKToKICAgICAgICAgUGFy c2VyLmFkZF9vcHRpb24oIi1EIiwgIi0tZGVmaW5lIiwgYWN0aW9uPSJhcHBlbmQiLCB0eXBlPSJz dHJpbmciLCBkZXN0PSJNYWNyb3MiLCBoZWxwPSJNYWNybzogXCJOYW1lIFs9IFZhbHVlXVwiLiIp CiAKICAgICAgICAgUGFyc2VyLmFkZF9vcHRpb24oIi15IiwgIi0tcmVwb3J0LWZpbGUiLCBhY3Rp b249InN0b3JlIiwgZGVzdD0iUmVwb3J0RmlsZSIsIGhlbHA9IkNyZWF0ZS9vdmVyd3JpdGUgdGhl IHJlcG9ydCB0byB0aGUgc3BlY2lmaWVkIGZpbGVuYW1lLiIpCi0gICAgICAgIFBhcnNlci5hZGRf b3B0aW9uKCItWSIsICItLXJlcG9ydC10eXBlIiwgYWN0aW9uPSJhcHBlbmQiLCB0eXBlPSJjaG9p Y2UiLCBjaG9pY2VzPVsnUENEJywgJ0xJQlJBUlknLCAnRkxBU0gnLCAnREVQRVgnLCAnQlVJTERf RkxBR1MnLCAnRklYRURfQUREUkVTUycsICdIQVNIJywgJ0VYRUNVVElPTl9PUkRFUiddLCBkZXN0 PSJSZXBvcnRUeXBlIiwgZGVmYXVsdD1bXSwKLSAgICAgICAgICAgIGhlbHA9IkZsYWdzIHRoYXQg Y29udHJvbCB0aGUgdHlwZSBvZiBidWlsZCByZXBvcnQgdG8gZ2VuZXJhdGUuICBNdXN0IGJlIG9u ZSBvZjogW1BDRCwgTElCUkFSWSwgRkxBU0gsIERFUEVYLCBCVUlMRF9GTEFHUywgRklYRURfQURE UkVTUywgSEFTSCwgRVhFQ1VUSU9OX09SREVSXS4gICJcCisgICAgICAgIFBhcnNlci5hZGRfb3B0 aW9uKCItWSIsICItLXJlcG9ydC10eXBlIiwgYWN0aW9uPSJhcHBlbmQiLCB0eXBlPSJjaG9pY2Ui LCBjaG9pY2VzPVsnUENEJywgJ0xJQlJBUlknLCAnRkxBU0gnLCAnREVQRVgnLCAnQlVJTERfRkxB R1MnLCAnRklYRURfQUREUkVTUycsICdIQVNIJywgJ0VYRUNVVElPTl9PUkRFUicsICdDT01QSUxF X0lORk8nXSwgZGVzdD0iUmVwb3J0VHlwZSIsIGRlZmF1bHQ9W10sCisgICAgICAgICAgICBoZWxw PSJGbGFncyB0aGF0IGNvbnRyb2wgdGhlIHR5cGUgb2YgYnVpbGQgcmVwb3J0IHRvIGdlbmVyYXRl LiAgTXVzdCBiZSBvbmUgb2Y6IFtQQ0QsIExJQlJBUlksIEZMQVNILCBERVBFWCwgQlVJTERfRkxB R1MsIEZJWEVEX0FERFJFU1MsIEhBU0gsIEVYRUNVVElPTl9PUkRFUiwgQ09NUElMRV9JTkZPXS4g ICJcCiAgICAgICAgICAgICAgICAgICJUbyBzcGVjaWZ5IG1vcmUgdGhhbiBvbmUgZmxhZywgcmVw ZWF0IHRoaXMgb3B0aW9uIG9uIHRoZSBjb21tYW5kIGxpbmUgYW5kIHRoZSBkZWZhdWx0IGZsYWcg c2V0IGlzIFtQQ0QsIExJQlJBUlksIEZMQVNILCBERVBFWCwgSEFTSCwgQlVJTERfRkxBR1MsIEZJ WEVEX0FERFJFU1NdIikKICAgICAgICAgUGFyc2VyLmFkZF9vcHRpb24oIi1GIiwgIi0tZmxhZyIs IGFjdGlvbj0ic3RvcmUiLCB0eXBlPSJzdHJpbmciLCBkZXN0PSJGbGFnIiwKICAgICAgICAgICAg IGhlbHA9IlNwZWNpZnkgdGhlIHNwZWNpZmljIG9wdGlvbiB0byBwYXJzZSBFREsgVU5JIGZpbGUu IE11c3QgYmUgb25lIG9mOiBbLWMsIC1zXS4gLWMgaXMgZm9yIEVESyBmcmFtZXdvcmsgVU5JIGZp bGUsIGFuZCAtcyBpcyBmb3IgRURLIFVFRkkgVU5JIGZpbGUuICJcCi0tIAoyLjM5LjEud2luZG93 cy4xCgo= --_002_DM4PR11MB633668C57856D8C6F63AF540F7AF9DM4PR11MB6336namp_--