From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from FRA01-MR2-obe.outbound.protection.outlook.com (FRA01-MR2-obe.outbound.protection.outlook.com [40.107.9.57]) by mx.groups.io with SMTP id smtpd.web10.148.1607366190559190724 for ; Mon, 07 Dec 2020 10:36:31 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=7QhA+7To; spf=pass (domain: arm.com, ip: 40.107.9.57, mailfrom: samer.el-haj-mahmoud@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3RPw14AZvK8KMzwZw319hFa6OR4AdH5hLWzNDQqsqlU=; b=7QhA+7To+uJYX1gmGJJ8Ta4E906LKv9YQxlUrtmasqzSXYAX8xDq14JHFizRenxWotjj19gEDu3qNgvrivyghVUMYe02fDLt7LDv0goiiZYUE5OpJ/BsWE/PcQiLpg3GlBQ/08lIBrCrIzRLfzQFQevoZ2GLxpGNHIVYfGkyBSU= Received: from AS8PR04CA0199.eurprd04.prod.outlook.com (2603:10a6:20b:2f3::24) by PR2PR08MB4905.eurprd08.prod.outlook.com (2603:10a6:101:1b::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.17; Mon, 7 Dec 2020 18:36:26 +0000 Received: from AM5EUR03FT023.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:2f3:cafe::d9) by AS8PR04CA0199.outlook.office365.com (2603:10a6:20b:2f3::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.21 via Frontend Transport; Mon, 7 Dec 2020 18:36:26 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT023.mail.protection.outlook.com (10.152.16.169) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.17 via Frontend Transport; Mon, 7 Dec 2020 18:36:25 +0000 Received: ("Tessian outbound 6ec21dac9dd3:v71"); Mon, 07 Dec 2020 18:36:25 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 045f529374bfde3b X-CR-MTA-TID: 64aa7808 Received: from a375ae4562c2.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 08C3F0E2-7867-4C1F-9F62-A244714A03D7.1; Mon, 07 Dec 2020 18:36:09 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a375ae4562c2.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 07 Dec 2020 18:36:09 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bsYoHeVl0/yR42ONL0QXCzVz06NQ1AqXhYUt6uTooM9NkoGoglLSkgS9v/eAq9OOy6rH65p0KjVKRHxLmVGSlncL6ujNZ/aV0mrToyNKX71PSk77JlRfSJMzZjGJp36Y0xFyTAWpXHrjV/K5YQNPSlkrdjx9i0JifS5GxnUcScw6bhaUj9crbHi2t+cj3fgldMwIRNwOAQx3FB7zI4C/+VjSDseFQ3zYwS6ehTnYX/E8mq+j206y5RuhtKnftDspwTHP2QwOjNlvlTQFYESCYQgho+owY8jOj3NzaYG9tH6nATn3+nmYUpIkdVsS42rCLTEY7FT255M1TImk37XtaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3RPw14AZvK8KMzwZw319hFa6OR4AdH5hLWzNDQqsqlU=; b=aJjQXiAyF9CFA0FiRm2ykwozd+otT8OhpNL5Fb3PhIPXf/wMp7OIsUc7gRvxL1s6FrSsEPpKuO7kDhQmuo+8fyvl+alVY85s2cPS3fQsr0B/SuKhVzcFalPpBPXzc4UdB6ulNQWADfh36KKcgjl/w6HvwVVoctgqbLFRBUwQSShu9BDzNi8+d7niJvreZEv3OzT0/LNjgyFMqQ+7+uCDZbRkElIsfYC9/k3F8s1hlRY554rWyLQkWzgJAJ+Z4Reo6VEmekvvtiX56yrM/zH8Hzj1/wbIHt0eRVF7b7febkAgNgw5yEIdSrt3YYWO5/KPPQLOVxt6BAy2XOA50hCIvg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3RPw14AZvK8KMzwZw319hFa6OR4AdH5hLWzNDQqsqlU=; b=7QhA+7To+uJYX1gmGJJ8Ta4E906LKv9YQxlUrtmasqzSXYAX8xDq14JHFizRenxWotjj19gEDu3qNgvrivyghVUMYe02fDLt7LDv0goiiZYUE5OpJ/BsWE/PcQiLpg3GlBQ/08lIBrCrIzRLfzQFQevoZ2GLxpGNHIVYfGkyBSU= Received: from DB7PR08MB3260.eurprd08.prod.outlook.com (2603:10a6:5:21::23) by DBAPR08MB5687.eurprd08.prod.outlook.com (2603:10a6:10:1b1::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.17; Mon, 7 Dec 2020 18:36:08 +0000 Received: from DB7PR08MB3260.eurprd08.prod.outlook.com ([fe80::a1f1:ccfd:b17f:a490]) by DB7PR08MB3260.eurprd08.prod.outlook.com ([fe80::a1f1:ccfd:b17f:a490%5]) with mapi id 15.20.3632.018; Mon, 7 Dec 2020 18:36:08 +0000 From: "Samer El-Haj-Mahmoud" To: Ard Biesheuvel , "devel@edk2.groups.io" , "zhichao.gao@intel.com" , "lersek@redhat.com" , gaoliming CC: "Wang, Jian J" , "Wu, Hao A" , "Ni, Ray" , 'Andy Lutomirski' , Samer El-Haj-Mahmoud , nd Subject: Re: [edk2-devel] [PATCH v1 3/3] MdeModulePkg/ConSplitter: Change StdErr color to EFI_LIGHTGRAY Thread-Topic: [edk2-devel] [PATCH v1 3/3] MdeModulePkg/ConSplitter: Change StdErr color to EFI_LIGHTGRAY Thread-Index: AQHWwrm9jFSOkSvhYEmeZ/+tqT3TFqnhdSAAgADszGCAAU6JgIACZppQgAAYJwCAAAEKS4AARZ6AgAB5HSCAABrbgIAE/whA Date: Mon, 7 Dec 2020 18:36:08 +0000 Message-ID: References: <20201124191546.17403-1-Samer.El-Haj-Mahmoud@arm.com> <20201124191546.17403-4-Samer.El-Haj-Mahmoud@arm.com> <009001d6c9da$55c9a460$015ced20$@byosoft.com.cn> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [99.132.126.10] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 35c195a9-c313-45d2-4d7c-08d89adf0116 x-ms-traffictypediagnostic: DBAPR08MB5687:|PR2PR08MB4905: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:8273;OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: mWfqx1SLg1JcM3L1wLC71T07Te+17pWVUOQDjDQcJb3mxUEBgWWSvvZGgDIRwGCfpXLgbagBB8ABgeWTObWJp7DUNd6N321lTdV9oLcd99cf685JQNqe6ycoVyBvFnpXl+6D3w2MbaWdM/aLheexVaJvOp1s2PT5xAIUJwtuSb56/TtmiSnSQ84aMKf7jqpqDjeT7GZUD7UtU/HhUSm9tERJcjG1+CFYY6VJl8S/w83FudyHHN+rLbD5XGAPZWVTNZUFjMhNuDJV1EX7fJy/Ff02Umlyh6BRU7GC7qxI4Ck4b7ijH8fR2YXdoAKQmRrQvePhQiO7TBf5oscRsjtafNYgI5i7Wd2LGQiEnjL1nWDTHrEXEspDh/lJ2OYMB+k2R+w1ap1AQdVxHzsL++yuDw== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB3260.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(346002)(39860400002)(136003)(376002)(396003)(33656002)(83380400001)(86362001)(5660300002)(26005)(66556008)(4326008)(2906002)(478600001)(316002)(6506007)(55016002)(966005)(64756008)(53546011)(66446008)(76116006)(9686003)(8676002)(110136005)(8936002)(19627235002)(71200400001)(52536014)(66476007)(7696005)(66946007)(186003)(66574015)(54906003)(30864003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?MUVOVWdLc0w3TzhZelkrTzAxREVVclNaRjVmTGVoZ3BPZDdTcUhxck81Uzdx?= =?utf-8?B?anZQUWpoZnlIOEY2T2lMYXNtVGJFTThXM1IzNzNJeSswQ3ZYeE4xQTExNmhJ?= =?utf-8?B?RzJFaGw4OUFXTWprR0ZkZEp1dXpEZnEyYzlVYVlOSHo1RHcyOGdTQWllVUlp?= =?utf-8?B?bXVSK1ZvSGVUZlpBK01icFljMUt5c0xudTVBN0Z4OTVvVDAwMXR0bDNscXU0?= =?utf-8?B?MWJHM3phcnFEL3pIVkw0MkpvK1NSajBHZ2FoVUxmRWtuZFk3Q2FBWG1HUldx?= =?utf-8?B?a3cwU29wSjNuTm5uakdJZkFTN2Q2TUhkYUVBN2grQkY3aDVwMlAyd3VWMnZo?= =?utf-8?B?blNsUWhjd285RlpSQk5PbmtsYjFENWRwSHFjekNCaXBkVTJJYTVCRjJaYWVt?= =?utf-8?B?MW5rcnlxR3hHTmMzUm5FTm5sMEFISWZ1RmpOZ3M4WldRWStvamR3Q2I2Wm5q?= =?utf-8?B?cTdFTVB5R2g3ek5FTS9HWUxGc2lnTFREWVU5cGhYNmxjMnJoemYrWERtMkZY?= =?utf-8?B?TVl3M0d5NHl3cDc3SVV3NnlQNEk2MU1sdkx5NVFFZFlBWm1mU29tTk9nMnAz?= =?utf-8?B?NkxKUXNrb0l4RHRaUnpUbVZEN1M3c2dDTEVSOFBPeGdGK3RqK2t1RlZUWDg2?= =?utf-8?B?MkNCelJrZmpOVVVQMlpZUll6SWpueGxZemkvK2Fsb1FZd0VKTFFhUWkzR29z?= =?utf-8?B?dnUxT0h2MFZoUldoM214ZTdsd2VwRjlFV0NiYldqZ21zMlkyaHVJaEhBYzRE?= =?utf-8?B?dGFUMjNHVkZWS0JnN2FncGFQbWJQM0FwZnJId0Rod05NTVZRQlE2OFpibWgx?= =?utf-8?B?REZKdlJiZ05qeEM1N3hSeGFPR0tQQ1RkbFJnUnpweGNCNk9EVEQ5RVBFdWw5?= =?utf-8?B?cVhGdWdpbEl0dENKQWJmZW1pajhCY1ZhZjlKV0FsNndES0ZZbk1iL2FVRGd5?= =?utf-8?B?NzU0aHE1TCt2Z2Njbk5MZ0lFMjB1bmlya0VYb1hIN0xrYkNvRytTYkNKc2lT?= =?utf-8?B?ZmtUdjB5MTVzcGloQ2dCMENZZTl5TGpDc0RMSGd0eFRNM1NRSGJlMmpSRjVs?= =?utf-8?B?RFF3MlMzN3FZWnpvaWJZZ2hlcFg2bndHZXFtT0d5T1hmUmdzUzFkMjJ6NDVL?= =?utf-8?B?TlNyb3IvcTBEK2lOQ1VCRjF4VjZDdFVhTzhFK3BtUEFsNTRXV2lvRCtkYi9v?= =?utf-8?B?MXNQcGZxNWRTOW1iQVdzNlpRNFBGcDRlOFdueVA2bENHNkZZVk5nNit2cmw4?= =?utf-8?B?ODdHNW9yMFptdTFmMkpaaUo4OFM0V05iZEVwR3RoVHVOcDVZbXpZNklGTlRD?= =?utf-8?Q?1Cq3QySHnMokQ=3D?= MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5687 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Return-Path: Samer.El-Haj-Mahmoud@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT023.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: a19a611c-ead6-494e-8412-08d89adef6b9 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: izZPASgExSgDW1jZxY68nI07UpStD7Gkds6XX/lhlk56JOFlcZlT3std35TJg1OATswppAlzetY/wvgh7IjgD3Q25GTtleslqKt2G69nkL3L25pr57dzdxF1tNaSaVVUSEEvSSEAGLgnsffj9MWti/IxLuWacFbYy4xnlonjwtVtw4XztPHUVZL/3VNo2YcshoQPxB+g2j33fGcUBLx1lwxkDSQLkn53RTnriFjAndCt3YUZrITBZOYD1Yk2fRfu0iYfPiDiVEYY0QsJX4pEsFxJOlsTIvOqs834zZtXLT4lOz9jU7hyfc404M6GjiE664hCagFVJWoRXVwm4P99/Z51ViK2RvEE5v/4UTv/V+0Ud8tgEzFBsHcOJqDWkLlkGOL06cIbVyXx10rmiGRiHJ4Er0PeZthI/gqclD00ZC3y0cX1bFjqDo5aSKvCMWE7k+nzGp/7OP06eznDYiwbGwmpYxUWzLwaMv++Ljpcox0= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(136003)(346002)(39860400002)(376002)(46966005)(66574015)(82740400003)(36906005)(478600001)(2906002)(966005)(86362001)(4326008)(83380400001)(82310400003)(8676002)(8936002)(9686003)(110136005)(7696005)(47076004)(81166007)(53546011)(186003)(316002)(336012)(26005)(55016002)(6506007)(30864003)(5660300002)(70586007)(19627235002)(356005)(70206006)(33656002)(52536014)(54906003);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2020 18:36:25.8628 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 35c195a9-c313-45d2-4d7c-08d89adf0116 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM5EUR03FT023.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR2PR08MB4905 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzIEFyZC4uIA0KDQpBbnkgZnVydGhlciBmZWVkYmFjayBvciBhIFJCIGZvciB0aGlzIHBh dGNoLCBzbyB3ZSBjYW4gY2xvc2Ugb24gdGhlICJjb25zb2xlIGNvbG9yIiB0b3BpYyBhbmQgbW92 ZSBvbj8NCg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFyZCBCaWVz aGV1dmVsIDxhcmQuYmllc2hldXZlbEBhcm0uY29tPg0KPiBTZW50OiBGcmlkYXksIERlY2VtYmVy IDQsIDIwMjAgOToxNCBBTQ0KPiBUbzogU2FtZXIgRWwtSGFqLU1haG1vdWQgPFNhbWVyLkVsLUhh ai1NYWhtb3VkQGFybS5jb20+Ow0KPiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgemhpY2hhby5nYW9A aW50ZWwuY29tOyBsZXJzZWtAcmVkaGF0LmNvbTsNCj4gZ2FvbGltaW5nIDxnYW9saW1pbmdAYnlv c29mdC5jb20uY24+DQo+IENjOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47 IFd1LCBIYW8gQQ0KPiA8aGFvLmEud3VAaW50ZWwuY29tPjsgTmksIFJheSA8cmF5Lm5pQGludGVs LmNvbT47ICdBbmR5IEx1dG9taXJza2knDQo+IDxsdXRvQGtlcm5lbC5vcmc+DQo+IFN1YmplY3Q6 IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYxIDMvM10gTWRlTW9kdWxlUGtnL0NvblNwbGl0dGVy Og0KPiBDaGFuZ2UgU3RkRXJyIGNvbG9yIHRvIEVGSV9MSUdIVEdSQVkNCj4gDQo+IEFncmVlZC4g V2UgY2FuIHRoZW9yaXplIGVuZGxlc3NseSBhYm91dCBkaWZmZXJlbnQgY29tYmluYXRpb25zIG9m IFN0ZE91dA0KPiBhbmQgU3RkRXJyLCBidXQgaW4gdGhlIG1lYW50aW1lLCB0aGUgbWFnZW50YSBz ZXJpYWwgb3V0cHV0IGlzIHZlcnkgYW5ub3lpbmcuDQo+IEZvciBpbnN0YW5jZSwgaWYgeW91IGJv b3QgTGludXggaW4gT1ZNRiB1c2luZyB0aGUgc2VyaWFsIGNvbnNvbGUsIGFsbCBMaW51eCdzDQo+ IGNvbnNvbGUgb3V0cHV0IGlzIG1hZ2VudGEgKGFuZCB0aGVyZWZvcmUgYmFyZWx5IGxlZ2libGUg b24gYSBibGFjaw0KPiBiYWNrZ3JvdW5kKSBzaW1wbHkgYmVjYXVzZSBpdCBpbmhlcml0cyB0aGUg Y29sb3Igc2V0dGluZyBmcm9tIHRoZSBmaXJtd2FyZS4NCj4gDQo+IA0KPiANCj4gT24gMTIvNC8y MCAxOjQyIFBNLCBTYW1lciBFbC1IYWotTWFobW91ZCB3cm90ZToNCj4gPiBTdGRFcnIgY29uc29s ZSBpcyByZXF1aXJlZCB0byBiZSBpbXBsZW1lbnRlZCBieSB0aGUgVUVGSSBzcGVjIHRvIGZpbGwN Cj4gPiBpbiB0aGUgcG9pbnRlcnMgaW4gU1QgKGV2ZW4gd2l0aCBhIHN0dWJiZWQgcHJvdG9jb2wg aW1wbGVtZW50YXRpb24pLg0KPiA+DQo+ID4NCj4gPg0KPiA+IFNvIGlmIHdlIGFncmVlIHRoYXQg dGhlIGNvbG9yIG9mIHRoZSBTdGRFcnIgKHJlcXVpcmVkIGJ1dCBsb3cgdG8gbm8NCj4gPiB1c2Fn ZSkgaXMgaW1wYWN0aW5nIHRoZSBzZXJpYWwgZGVidWcgcHJpbnRzIChoaWdoIHVzYWdlIGZvciBE RUJVRw0KPiA+IHRhcmdldHMpLCB3aHkgZG8gd2Ugc3RpbGwgaW5zaXN0IG9uIGtlZXBpbmcgdGhl IE1BR0VOVEEgY29sb3IgZm9yDQo+ID4gU3RkRXJyPyBZZXMgYWRkaW5nIFBDRHMgd291bGQgYmUg bmljZSBmb3IgcGxhdGZvcm1zIHRvIHNlbGVjdCB0aGVpcg0KPiA+IGRlZmF1bHQgY29sb3JzIChh bmQgaXQgc2hvdWxkIGJlIGRvbmUgZm9yIGJvdGggQ29uT3V0IGFuZCBTdGRFcnIpLCBidXQNCj4g PiB0aGF0IGNhbiBiZSBhZGRlZCBsYXRlciBpZiB0aGVyZSBpcyBhIHJlYWwgYXNrIGZvciBpdC4N Cj4gPg0KPiA+DQo+ID4NCj4gPiBJIHN0aWxsIGRvIG5vdCBzZWUgd2h5IHRoZSBvcmlnaW5hbCBw YXRjaCBvZiBzaW1wbHkgY2hhbmdpbmcgU3RkRXJyDQo+ID4gZGVmYXVsdCBjb2xvciBmcm9tIE1B R0VOVEEgdG8gTElHSFRHUkFZIChhbmQgYXZvaWQgYWxsIG9mIHRoaXMNCj4gPiBoZWFkYWNoZSkg aXMgcHJvYmxlbWF0aWM/ISBQbGVhc2UgY29uc2lkZXIgdGhlIG9yaWdpbmFsIHBhdGNoIHNvIHdl DQo+ID4gY2FuIGNsb3NlIG9uIHRoaXMgdG9waWMgYW5kIG1vdmUgb24uDQo+ID4NCj4gPg0KPiA+ DQo+ID4gVGhhbmtzLA0KPiA+DQo+ID4gLS1TYW1lcg0KPiA+DQo+ID4NCj4gPg0KPiA+ICpGcm9t OipkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+ICpPbiBCZWhhbGYg T2YNCj4gKkdhbywNCj4gPiBaaGljaGFvIHZpYSBncm91cHMuaW8NCj4gPiAqU2VudDoqIEZyaWRh eSwgRGVjZW1iZXIgNCwgMjAyMCAxMjoyNCBBTQ0KPiA+ICpUbzoqIGRldmVsQGVkazIuZ3JvdXBz LmlvOyBTYW1lciBFbC1IYWotTWFobW91ZA0KPiA+IDxTYW1lci5FbC1IYWotTWFobW91ZEBhcm0u Y29tPjsgbGVyc2VrQHJlZGhhdC5jb207IGdhb2xpbWluZw0KPiA+IDxnYW9saW1pbmdAYnlvc29m dC5jb20uY24+DQo+ID4gKkNjOiogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+ OyBXdSwgSGFvIEENCj4gPiA8aGFvLmEud3VAaW50ZWwuY29tPjsgTmksIFJheSA8cmF5Lm5pQGlu dGVsLmNvbT47IEFyZCBCaWVzaGV1dmVsDQo+ID4gPEFyZC5CaWVzaGV1dmVsQGFybS5jb20+OyAn QW5keSBMdXRvbWlyc2tpJyA8bHV0b0BrZXJuZWwub3JnPg0KPiA+ICpTdWJqZWN0OiogUmU6IFtl ZGsyLWRldmVsXSBbUEFUQ0ggdjEgMy8zXSBNZGVNb2R1bGVQa2cvQ29uU3BsaXR0ZXI6DQo+ID4g Q2hhbmdlIFN0ZEVyciBjb2xvciB0byBFRklfTElHSFRHUkFZDQo+ID4NCj4gPg0KPiA+DQo+ID4g Tm9ybWFsIERlYnVnTGliIHVzdWFsbHkgb3V0cHV0cyBzdHJpbmcgZGVidWcgbWVzc2FnZSBvbmx5 LiBJdCB3b3VsZA0KPiA+IHNob3cgYXQgdGhlIHNlcmlhbCBkZXZpY2Ugd2l0aCBpdCBjdXJyZW50 IGF0dHJpYnV0ZXMuIEVyck91dCBhbmQNCj4gPiBDb25PdXQgd291bGQgY2hhbmdlIHRoZSBhdHRy aWJ1dGUuIFRoYXQgaXMgd2h5IHRoZSBjb2xvciBjaGFuZ2VzLg0KPiA+DQo+ID4gQWN0dWFsbHkg SSBkb27igJl0IHNlZSBtYW55IHVzYWdlIG9mIHRoZSBFcnJPdXQuIEkgd291bGQgc3VnZ2VzdCB0 bw0KPiA+IHJlbW92ZSBFcnJPdXQgaWYgeW914oCZcmUgbm90IHVzaW5nIGl0IGZvciBkZWJ1ZyBv dXRwdXQuDQo+ID4NCj4gPiBGb3IgdGhlIFBjZHMsIEkgYWdyZWUgdG8gbGV0IHRoZSBjb25zdW1l ciB0byBjaG9vc2UgdGhlaXIgd29uZGVyDQo+ID4gZGVmYXVsdCBjb2xvci4gQnV0IGl0IGlzIGJl dHRlciB0byBnZXQgdGhlIE1kZU1vZHVsZVBrZyBtYWludGFpbmVyc+KAmSBwb2ludC4NCj4gPg0K PiA+DQo+ID4NCj4gPiBUaGFua3MsDQo+ID4NCj4gPiBaaGljaGFvDQo+ID4NCj4gPg0KPiA+DQo+ ID4gKkZyb206KmRldmVsQGVkazIuZ3JvdXBzLmlvIDxtYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMu aW8+DQo+ID4gPGRldmVsQGVkazIuZ3JvdXBzLmlvIDxtYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMu aW8+PiAqT24gQmVoYWxmIE9mDQo+ID4gKlNhbWVyIEVsLUhhai1NYWhtb3VkDQo+ID4gKlNlbnQ6 KiBGcmlkYXksIERlY2VtYmVyIDQsIDIwMjAgOToyMSBBTQ0KPiA+ICpUbzoqIGRldmVsQGVkazIu Z3JvdXBzLmlvIDxtYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW8+OyBHYW8sDQo+IFpoaWNoYW8N Cj4gPiA8emhpY2hhby5nYW9AaW50ZWwuY29tIDxtYWlsdG86emhpY2hhby5nYW9AaW50ZWwuY29t Pj47DQo+ID4gbGVyc2VrQHJlZGhhdC5jb20gPG1haWx0bzpsZXJzZWtAcmVkaGF0LmNvbT47IGdh b2xpbWluZw0KPiA+IDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24gPG1haWx0bzpnYW9saW1pbmdA Ynlvc29mdC5jb20uY24+Pg0KPiA+ICpDYzoqIFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50 ZWwuY29tDQo+ID4gPG1haWx0bzpqaWFuLmoud2FuZ0BpbnRlbC5jb20+PjsgV3UsIEhhbyBBIDxo YW8uYS53dUBpbnRlbC5jb20NCj4gPiA8bWFpbHRvOmhhby5hLnd1QGludGVsLmNvbT4+OyBOaSwg UmF5IDxyYXkubmlAaW50ZWwuY29tDQo+ID4gPG1haWx0bzpyYXkubmlAaW50ZWwuY29tPj47IEFy ZCBCaWVzaGV1dmVsIDxBcmQuQmllc2hldXZlbEBhcm0uY29tDQo+ID4gPG1haWx0bzpBcmQuQmll c2hldXZlbEBhcm0uY29tPj47ICdBbmR5IEx1dG9taXJza2knIDxsdXRvQGtlcm5lbC5vcmcNCj4g PiA8bWFpbHRvOmx1dG9Aa2VybmVsLm9yZz4+DQo+ID4gKlN1YmplY3Q6KiBSZTogW2VkazItZGV2 ZWxdIFtQQVRDSCB2MSAzLzNdIE1kZU1vZHVsZVBrZy9Db25TcGxpdHRlcjoNCj4gPiBDaGFuZ2Ug U3RkRXJyIGNvbG9yIHRvIEVGSV9MSUdIVEdSQVkNCj4gPg0KPiA+DQo+ID4NCj4gPiBJdCdzIGFj dHVhbGx5IGFsbCAqRGVidWdMaWJTZXJpYWxQb3J0IDoNCj4gPg0KPiA+DQo+ID4NCj4gPg0KPiA+ DQo+ID4gaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyLQ0KPiBwbGF0Zm9ybXMvYmxv Yi9tYXN0ZXIvUGxhdGZvcm0vUmFzcGINCj4gPiBlcnJ5UGkvUlBpNC9SUGk0LmRzYw0KPiA+DQo+ ID4NCj4gPg0KPiA+DQo+ID4NCj4gPg0KPiBEZWJ1Z0xpYnxNZGVQa2cvTGlicmFyeS9CYXNlRGVi dWdMaWJTZXJpYWxQb3J0L0Jhc2VEZWJ1Z0xpYlNlcmlhbFBvcnQuDQo+ID4gRGVidWdMaWJ8aW5m DQo+ID4NCj4gPg0KPiBEZWJ1Z0xpYnxNZGVQa2cvTGlicmFyeS9EeGVSdW50aW1lRGVidWdMaWJT ZXJpYWxQb3J0L0R4ZVJ1bnRpbWVEZWINCj4gdWdMaQ0KPiA+IERlYnVnTGlifGJTZXJpYWxQb3J0 LmluZg0KPiA+DQo+ID4NCj4gPiBCdXQgSSBoYXZlIHNlZW4gdGhpcyBvbiBvdGhlciBzeXN0ZW1z IGFzIHdlbGwuDQo+ID4NCj4gPg0KPiA+DQo+ID4NCj4gPg0KPiA+DQo+ID4NCj4gPg0KPiA+DQo+ ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KPiA+IC0tDQo+ID4NCj4gPiAqRnJvbToqIGdhb2xpbWluZyA8Z2Fv bGltaW5nQGJ5b3NvZnQuY29tLmNuDQo+ID4gPG1haWx0bzpnYW9saW1pbmdAYnlvc29mdC5jb20u Y24+Pg0KPiA+ICpTZW50OiogVGh1cnNkYXksIERlY2VtYmVyIDMsIDIwMjAsIDg6MTEgUE0NCj4g PiAqVG86KiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8bWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlv PjsgU2FtZXINCj4gPiBFbC1IYWotTWFobW91ZDsgemhpY2hhby5nYW9AaW50ZWwuY29tDQo+IDxt YWlsdG86emhpY2hhby5nYW9AaW50ZWwuY29tPjsNCj4gPiBsZXJzZWtAcmVkaGF0LmNvbSA8bWFp bHRvOmxlcnNla0ByZWRoYXQuY29tPg0KPiA+ICpDYzoqICdXYW5nLCBKaWFuIEonOyAnV3UsIEhh byBBJzsgJ05pLCBSYXknOyBBcmQgQmllc2hldXZlbDsgJ0FuZHkNCj4gPiBMdXRvbWlyc2tpJw0K PiA+ICpTdWJqZWN0Oiog5Zue5aSNOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYxIDMvM10NCj4gTWRl TW9kdWxlUGtnL0NvblNwbGl0dGVyOg0KPiA+IENoYW5nZSBTdGRFcnIgY29sb3IgdG8gRUZJX0xJ R0hUR1JBWQ0KPiA+DQo+ID4NCj4gPg0KPiA+IFNhbWVyOg0KPiA+IMKgRG9lcyBhbGwgZGVidWcg bWVzc2FnZSBvdXRwdXQgYnkgUGVpRHhlRGVidWdMaWJSZXBvcnRTdGF0dXNDb2RlPw0KPiA+IFRo ZXJlIGlzIG5vdCBkZWJ1ZyBtZXNzYWdlIHRvIHByaW50IGFzIFVlZmlEZWJ1Z0xpYlN0ZEVyciBv cg0KPiA+IFVlZmlEZWJ1Z0xpYkNvbk91dC4gUmlnaHQ/DQo+ID4NCj4gPiBUaGFua3MNCj4gPiBM aW1pbmcNCj4gPj4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiA+PiDlj5Hku7bkuro6IGJvdW5j ZSsyNzk1Mis2ODMwMSs0OTA1OTUzKzg3NjEwNDVAZ3JvdXBzLmlvDQo+ID4gPG1haWx0bzpib3Vu Y2UrMjc5NTIrNjgzMDErNDkwNTk1Mys4NzYxMDQ1QGdyb3Vwcy5pbz4NCj4gPj4gPGJvdW5jZSsy Nzk1Mis2ODMwMSs0OTA1OTUzKzg3NjEwNDVAZ3JvdXBzLmlvDQo+ID4gPG1haWx0bzpib3VuY2Ur Mjc5NTIrNjgzMDErNDkwNTk1Mys4NzYxMDQ1QGdyb3Vwcy5pbz4+IOS7o+ihqFNhbWVyDQo+ID4+ IEVsLUhhai1NYWhtb3VkDQo+ID4+IOWPkemAgeaXtumXtDogMjAyMOW5tDEy5pyINOaXpTg6MDUN Cj4gPj4g5pS25Lu25Lq6OiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8bWFpbHRvOmRldmVsQGVkazIu Z3JvdXBzLmlvPjsNCj4gPiB6aGljaGFvLmdhb0BpbnRlbC5jb20gPG1haWx0bzp6aGljaGFvLmdh b0BpbnRlbC5jb20+Ow0KPiA+IGxlcnNla0ByZWRoYXQuY29tIDxtYWlsdG86bGVyc2VrQHJlZGhh dC5jb20+DQo+ID4+IOaKhOmAgTogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20N Cj4gPiA8bWFpbHRvOmppYW4uai53YW5nQGludGVsLmNvbT4+OyBXdSwgSGFvIEENCj4gPj4gPGhh by5hLnd1QGludGVsLmNvbSA8bWFpbHRvOmhhby5hLnd1QGludGVsLmNvbT4+OyBOaSwgUmF5DQo+ ID4gPHJheS5uaUBpbnRlbC5jb20gPG1haWx0bzpyYXkubmlAaW50ZWwuY29tPj47IEFyZCBCaWVz aGV1dmVsDQo+ID4+IDxBcmQuQmllc2hldXZlbEBhcm0uY29tIDxtYWlsdG86QXJkLkJpZXNoZXV2 ZWxAYXJtLmNvbT4+OyBBbmR5DQo+ID4+IEx1dG9taXJza2kNCj4gPiA8bHV0b0BrZXJuZWwub3Jn IDxtYWlsdG86bHV0b0BrZXJuZWwub3JnPj47IFNhbWVyDQo+ID4+IEVsLUhhai1NYWhtb3VkIDxT YW1lci5FbC1IYWotTWFobW91ZEBhcm0uY29tDQo+ID4+IDxtYWlsdG86U2FtZXIuRWwtSGFqLU1h aG1vdWRAYXJtLmNvbT4+DQo+ID4+IOS4u+mimDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjEg My8zXSBNZGVNb2R1bGVQa2cvQ29uU3BsaXR0ZXI6DQo+IENoYW5nZQ0KPiA+PiBTdGRFcnIgY29s b3IgdG8gRUZJX0xJR0hUR1JBWQ0KPiA+Pg0KPiA+PiBaaGljaGFvLA0KPiA+Pg0KPiA+PiBJIGNh biB1bmRlcnN0YW5kIHRoZSByYXRpb25hbGUgaWYgdGhpcyBpcyB0cnVseSBvbmx5IGZvciBTdGRF cnINCj4gPj4gKGFsdGhvdWdoIGl0IHdvdWxkIGhhdmUgYmVlbiBuaWNlIHRvIGFsbG93IHBsYXRm b3JtcyB0byBjdXN0b21pemUgdGhlDQo+IGNvbG9yIHdpdGggYSBQQ0QpLg0KPiA+PiBIb3dldmVy LCBJIHNlZSB0aGUgaW5jb25zaXN0ZW5jeSBpbiBkZWJ1ZyBvdXRwdXQgd2l0aCBwbGF0Zm9ybXMg SSB0ZXN0ZWQNCj4gd2l0aC4NCj4gPj4gRm9yIGV4YW1wbGUsIG9uIHRoZSBSUGksIHdpdGggREVC VUcgYnVpbGQsIGFuZCBhbGwgQ29uT3V0L1N0ZEVyciBhbmQNCj4gPj4gRGVidWdMaXViIHVzaW5n IHRoZSBzYW1lIHNlcmlhbCBjb25zb2xlLiBUaGUgc2VyaWFsIGRlYnVnIHN0YXJ0cyB3aXRoDQo+ ID4+IExJR0hUR1JBWSAoYXR0YWNoZWQgc2NyZWVuc2hvdCAxKSwgdW50aWwgZ0VmaVN0YW5kYXJk RXJyb3JEZXZpY2VHdWlkDQo+ID4+IGlzIGluc3RhbGxlZC4gQXQgdGhhdCBwb2ludCwgdGhlIGRl YnVnIG91dHB1dCBzd2l0Y2hlcyB0byBNQUdFTlRBLA0KPiA+PiBhbmQgY29udGludWVzIHRvIGRv IHNvIHVudGlsIGVudGVyaW5nIHRoZSBVSSBvciBib290aW5nIHRvIFVFRkkNCj4gPj4gU2hlbGws IHdoZXJlIHRoZSBjb2xvciBzd2l0Y2hlcyBiYWNrIHRvIExJR0hUR1JBWSAoYXR0YWNoZWQNCj4g Pj4gc2NyZWVuc2hvdDIpLiBBZnRlciB0aGF0LCBhbGwgQ29uT3V0IGFuZCBEZWJ1ZyBvdXRwdXQg aXMgTElHSFRHUkFZIC4NCj4gPj4gSSBkbyBub3QgcmVhbGx5IGtub3cgb2YgYW55IGFjdHVhbCBT dGRFcnIgb3V0cHV0IGZyb20gdGhlIFNoZWxsLg0KPiA+Pg0KPiA+PiBTbywgdGhlcmUgbWlnaHQg YmUgYSBidWcgc29tZXdoZXJlIHRoYXQgY2F1c2VzIERFQlVHIG91dHB1dCB0byBzd2l0Y2gNCj4g Pj4gdG8gTUFHRU5UQSBhbmQgYmFjay4gSSBhbSBub3QgcmVhbGx5IHN1cmUuIEJ1dCB0aGlzIGlu Y29uc2lzdGVuY3kgaXMNCj4gYW5ub3lpbmcuDQo+ID4+IENhbiB3ZSBzaW1wbHkgYXZvaWQgdGhp cyBieSB1c2luZyBhIGNvbnNpc3RlbnQgY29sb3IgZm9yIGFsbCBjb25zb2xlDQo+ID4+IG91dHB1 dD8gT3IgYXQgbGVhc3QgYWxsb3cgcGxhdGZvcm1zIHRvIGRlY2lkZT8NCj4gPj4NCj4gPj4NCj4g Pj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiA+IEZyb206IGRldmVsQGVkazIu Z3JvdXBzLmlvDQo+ID4+ID4gPG1haWx0bzpkZXZlbEBlZGsyLmdyb3Vwcy5pbz48ZGV2ZWxAZWRr Mi5ncm91cHMuaW8NCj4gPiA8bWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvPj4gT24gQmVoYWxm IE9mIEdhbywNCj4gPj4gPiBaaGljaGFvIHZpYSBncm91cHMuaW8NCj4gPj4gPiBTZW50OiBXZWRu ZXNkYXksIERlY2VtYmVyIDIsIDIwMjAgNjowNSBBTQ0KPiA+PiA+IFRvOiBTYW1lciBFbC1IYWot TWFobW91ZCA8U2FtZXIuRWwtSGFqLU1haG1vdWRAYXJtLmNvbQ0KPiA+PiA+IDxtYWlsdG86U2Ft ZXIuRWwtSGFqLU1haG1vdWRAYXJtLmNvbT4+Ow0KPiA+PiA+IGRldmVsQGVkazIuZ3JvdXBzLmlv IDxtYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW8+Ow0KPiA+PiA+IGxlcnNla0ByZWRoYXQuY29t DQo+ID4gPG1haWx0bzpsZXJzZWtAcmVkaGF0LmNvbT4NCj4gPj4gPiBDYzogV2FuZywgSmlhbiBK IDxqaWFuLmoud2FuZ0BpbnRlbC5jb20NCj4gPj4gPiA8bWFpbHRvOmppYW4uai53YW5nQGludGVs LmNvbT4+OyBXdSwgSGFvIEEgPGhhby5hLnd1QGludGVsLmNvbQ0KPiA+PiA+IDxtYWlsdG86aGFv LmEud3VAaW50ZWwuY29tPj47IE5pLCBSYXkNCj4gPiA8cmF5Lm5pQGludGVsLmNvbSA8bWFpbHRv OnJheS5uaUBpbnRlbC5jb20+PjsgQXJkIEJpZXNoZXV2ZWwNCj4gPj4gPiA8QXJkLkJpZXNoZXV2 ZWxAYXJtLmNvbSA8bWFpbHRvOkFyZC5CaWVzaGV1dmVsQGFybS5jb20+PjsgQW5keQ0KPiA+PiA+ IEx1dG9taXJza2kNCj4gPiA8bHV0b0BrZXJuZWwub3JnIDxtYWlsdG86bHV0b0BrZXJuZWwub3Jn Pj4NCj4gPj4gPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCB2MSAzLzNdIE1kZU1v ZHVsZVBrZy9Db25TcGxpdHRlcjoNCj4gPj4gPiBDaGFuZ2UgU3RkRXJyIGNvbG9yIHRvIEVGSV9M SUdIVEdSQVkNCj4gPj4gPg0KPiA+PiA+DQo+ID4+ID4NCj4gPj4gPiA+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+ID4+ID4gPiBGcm9tOiBTYW1lciBFbC1IYWotTWFobW91ZCA8U2FtZXIu RWwtSGFqLU1haG1vdWRAYXJtLmNvbQ0KPiA+PiA+ID4gPG1haWx0bzpTYW1lci5FbC1IYWotTWFo bW91ZEBhcm0uY29tPj4NCj4gPj4gPiA+IFNlbnQ6IFR1ZXNkYXksIERlY2VtYmVyIDEsIDIwMjAg MTE6MTcgUE0NCj4gPj4gPiA+IFRvOiBHYW8sIFpoaWNoYW8gPHpoaWNoYW8uZ2FvQGludGVsLmNv bQ0KPiA+PiA+ID4gPG1haWx0bzp6aGljaGFvLmdhb0BpbnRlbC5jb20+PjsNCj4gPiBkZXZlbEBl ZGsyLmdyb3Vwcy5pbyA8bWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvPjsNCj4gPj4gPiA+IGxl cnNla0ByZWRoYXQuY29tIDxtYWlsdG86bGVyc2VrQHJlZGhhdC5jb20+DQo+ID4+ID4gPiBDYzog V2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20NCj4gPj4gPiA+IDxtYWlsdG86amlh bi5qLndhbmdAaW50ZWwuY29tPj47IFd1LCBIYW8gQSA8aGFvLmEud3VAaW50ZWwuY29tDQo+ID4+ ID4gPiA8bWFpbHRvOmhhby5hLnd1QGludGVsLmNvbT4+OyBOaSwgUmF5DQo+ID4gPHJheS5uaUBp bnRlbC5jb20gPG1haWx0bzpyYXkubmlAaW50ZWwuY29tPj47IEFyZCBCaWVzaGV1dmVsDQo+ID4+ ID4gPiA8QXJkLkJpZXNoZXV2ZWxAYXJtLmNvbSA8bWFpbHRvOkFyZC5CaWVzaGV1dmVsQGFybS5j b20+PjsNCj4gQW5keQ0KPiA+PiA+ID4gTHV0b21pcnNraQ0KPiA+IDxsdXRvQGtlcm5lbC5vcmcg PG1haWx0bzpsdXRvQGtlcm5lbC5vcmc+PjsgU2FtZXINCj4gPj4gPiA+IEVsLUhhai1NYWhtb3Vk IDxTYW1lci5FbC1IYWotIE1haG1vdWRAYXJtLmNvbQ0KPiA+PiA+ID4gPG1haWx0bzpNYWhtb3Vk QGFybS5jb20+Pg0KPiA+PiA+ID4gU3ViamVjdDogUkU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjEg My8zXSBNZGVNb2R1bGVQa2cvQ29uU3BsaXR0ZXI6DQo+ID4+ID4gPiBDaGFuZ2UgU3RkRXJyIGNv bG9yIHRvIEVGSV9MSUdIVEdSQVkNCj4gPj4gPiA+DQo+ID4+ID4gPiBXaHkgZG9lcyBTdGRFcnIg aGF2ZSB0byBiZSBhIGRpZmZlcmVudCBjb2xvciBmcm9tIENvbk91dD8gSWYgdGhlDQo+ID4+ID4g PiBzeXN0ZW0gcmVkaXJlY3RlZCBib3RoIHN0cmVhbXMgdG8gdGhlIHNhbWUgY29uc29sZSBvdXRw dXQgdGhlbg0KPiA+PiA+ID4gdGhhdCBpcw0KPiA+PiA+IHRoZWlyIGNob2ljZS4NCj4gPj4gPiA+ IFNlcmlhbCBERUJVRyBvdXRwdXQgaXMgbm90IGEgZGlmZmVyZW50IGNvbG9yIGV2ZW4gaWYgdGhl IERFQlVHIGlzDQo+ID4+ID4gPiByZWRpcmVjdGVkIHRvIHRoZSBzYW1lIGNvbnNvbGUgYXMgQ29u T3V0IGFuZCBTdGRFcnIuIEFsc28sIGZyb20NCj4gPj4gPiA+IHdoYXQgSSBoYXZlIHNlZW4sIFN0 ZEVyciBkb2VzIG5vdCBzZWVtIHRvIGFsd2F5cyByZXRhaW4gdGhpcw0KPiA+PiA+ID4gTUFHRU5U QSBjb2xvciBsYXRlciAoZm9yIGV4YW1wbGUsIGFmdGVyIGJvb3RpbmcgYSBVRUZJIFNoZWxsPyku DQo+ID4+ID4NCj4gPj4gPiBDYW4geW91IHNoYXJlIHRoZSB1c2UgY2FzZSBvZiBTdGRFcnI/IFNl ZW1zIHdoZW4gdXNpbmcgU3RkRXJyLQ0KPiA+PiA+ID5PdXRwdXRTdHJpbmcsIHRoZSBvdXRwdXQg aXMgbm90IGFsd2F5cyBNQUdFTlRBIGNvbG9yLiBJZiBzbywgaXQgaXMNCj4gPj4gPiA+YSBidWcg b2YNCj4gPj4gPiBjb25zb2xlIGRyaXZlci4NCj4gPj4gPg0KPiA+PiA+IEkgYW0gdGhpbmtpbmcg b2Ygb25lIGNhc2UuIFRoZSBwbGF0Zm9ybSBvbmx5IGhhdmUgdGhlIHNlcmlhbCBwb3J0DQo+ID4+ ID4gd2l0aG91dCBhbnkgb3RoZXIgZGlzcGxheSBkZXZpY2UuIFN5c3RlbSBib290cyB0byB1ZWZp IHNoZWxsIGFuZA0KPiA+PiA+IHJ1biBhIGRlYnVnIGJ1aWxkIGFwcGxpY2F0aW9uLiBBbmQgdGhl IGFwcCB3b3VsZCBoYXZlIGJvdGggcHJpbnQNCj4gPj4gPiBvdXRwdXQgYW5kIGRlYnVnIHByaW50 LiBJZiB0aGUgY29sb3IgYXJlIHNhbWUsIHRoZSBpbmZvIG9mIG5vcm1hbA0KPiA+PiA+IHByaW50 IGFuZCBkZWJ1ZyBwcmludCB3b3VsZCBiZSBtaXhlZCB1cC4gSSBhbSBzYXlpbmcgU3RkRXJyIG91 dHB1dCBub3QNCj4gbm9ybWFsIERlYnVnTGliLg0KPiA+PiA+DQo+ID4+ID4gVGhhbmtzLA0KPiA+ PiA+IFpoaWNoYW8NCj4gPj4gPg0KPiA+PiA+ID4NCj4gPj4gPiA+IERvIHVzZXJzIHJlYWxseSBj YXJlIChvdGhlciB0aGFuIGJlaW5nIGFubm95ZWQgYnkgdGhlDQo+ID4+ID4gPiBpbmNvbnNpc3Rl bmN5IG9mDQo+ID4+ID4gInNvbWUiDQo+ID4+ID4gPiB0ZXh0IHNob3dpbmcgdXAgaW4gcHVycGxl PykuIFVzaW5nIHRoZSBzYW1lIGNvbG9yIGZvcg0KPiA+PiA+ID4gY29uc29sZXMvREVCVUcgb3V0 cHV0IGJ5IGRlZmF1bHQgaXMgY29uc2lzdGVudCBhbmQgY2xlYW4uDQo+ID4+ID4gPiBBcHBsaWNh dGlvbnMvdXNlcnMgY2FuIGFsd2F5cyBjaGFuZ2UgdGhlIGNvbG9ycyBsYXRlciB0byB3aGF0ZXZl cg0KPiA+PiA+ID4gaXMgdGhlIHByZWZlcmVuY2UgZm9yIHRoYXQNCj4gPj4gPiBwYXJ0aWN1bGFy IFVJL0NMSS4NCj4gPj4gPiA+DQo+ID4+ID4gPiBUaGFua3MsDQo+ID4+ID4gPiAtLVNhbWVyDQo+ ID4+ID4gPg0KPiA+PiA+ID4NCj4gPj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gPj4gPiA+ID4gRnJvbTogR2FvLCBaaGljaGFvIDx6aGljaGFvLmdhb0BpbnRlbC5jb20NCj4g Pj4gPiA+ID4gPG1haWx0bzp6aGljaGFvLmdhb0BpbnRlbC5jb20+Pg0KPiA+PiA+ID4gPiBTZW50 OiBNb25kYXksIE5vdmVtYmVyIDMwLCAyMDIwIDg6MDAgUE0NCj4gPj4gPiA+ID4gVG86IGRldmVs QGVkazIuZ3JvdXBzLmlvIDxtYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW8+Ow0KPiA+PiA+ID4g PiBsZXJzZWtAcmVkaGF0LmNvbQ0KPiA+IDxtYWlsdG86bGVyc2VrQHJlZGhhdC5jb20+OyBTYW1l ciBFbC1IYWotTWFobW91ZA0KPiA+PiA+ID4gPiA8U2FtZXIuRWwtSGFqLU1haG1vdWRAYXJtLmNv bQ0KPiA+PiA+ID4gPiA8bWFpbHRvOlNhbWVyLkVsLUhhai1NYWhtb3VkQGFybS5jb20+Pg0KPiA+ PiA+ID4gPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20NCj4gPj4gPiA+ ID4gPG1haWx0bzpqaWFuLmoud2FuZ0BpbnRlbC5jb20+PjsgV3UsIEhhbyBBIDxoYW8uYS53dUBp bnRlbC5jb20NCj4gPj4gPiA+ID4gPG1haWx0bzpoYW8uYS53dUBpbnRlbC5jb20+PjsgTmksIFJh eQ0KPiA+IDxyYXkubmlAaW50ZWwuY29tIDxtYWlsdG86cmF5Lm5pQGludGVsLmNvbT4+OyBBcmQg Qmllc2hldXZlbA0KPiA+PiA+ID4gPiA8QXJkLkJpZXNoZXV2ZWxAYXJtLmNvbSA8bWFpbHRvOkFy ZC5CaWVzaGV1dmVsQGFybS5jb20+PjsNCj4gQW5keQ0KPiA+PiA+ID4gPiBMdXRvbWlyc2tpDQo+ ID4gPGx1dG9Aa2VybmVsLm9yZyA8bWFpbHRvOmx1dG9Aa2VybmVsLm9yZz4+DQo+ID4+ID4gPiA+ IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYxIDMvM10NCj4gTWRlTW9kdWxlUGtn L0NvblNwbGl0dGVyOg0KPiA+PiA+ID4gPiBDaGFuZ2UgU3RkRXJyIGNvbG9yIHRvIEVGSV9MSUdI VEdSQVkNCj4gPj4gPiA+ID4NCj4gPj4gPiA+ID4gSSBhZ3JlZSB0aGUgRUZJX01BR0VOVEEgaXMg bm90IGEgZ29vZCBjaG9vc2UuIEJ1dCB0aGlzIG1heSBiZSBhDQo+ID4+ID4gPiA+IGRpZmZlcmVu dCBpc3N1ZS4gTWFueSBwbGF0Zm9ybXMgd291bGQgc2V0IHNlcmlhbCBwb3J0IGFzIENvbk91dA0K PiA+PiA+ID4gPiBhbmQgRXJyT3V0LiBUaGUgZGlmZmVyZW50IGNvbG9ycyBmb3IgdGhlbSBjYW4g ZGlmZmVyIHRoZQ0KPiA+PiA+ID4gPiBvcmlnaW4uIEkgZG9uJ3QgdGhpbmsgY2hhbmdlIHRoZW0g dG8gdGhlIHNhbWUgY29sb3IgaXMgYSBnb29kIGlkZWEuDQo+ID4+ID4gPiA+DQo+ID4+ID4gPiA+ IFRoYW5rcywNCj4gPj4gPiA+ID4gWmhpY2hhbw0KPiA+PiA+ID4gPg0KPiA+PiA+ID4gPiA+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+ID4gPiA+ID4gRnJvbTogZGV2ZWxAZWRrMi5n cm91cHMuaW8NCj4gPj4gPiA+ID4gPiA8bWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvPjxkZXZl bEBlZGsyLmdyb3Vwcy5pbw0KPiA+IDxtYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW8+PiBPbiBC ZWhhbGYgT2YNCj4gPj4gPiA+ID4gPiBMYXN6bG8gRXJzZWsNCj4gPj4gPiA+ID4gPiBTZW50OiBX ZWRuZXNkYXksIE5vdmVtYmVyIDI1LCAyMDIwIDc6MzAgQU0NCj4gPj4gPiA+ID4gPiBUbzogZGV2 ZWxAZWRrMi5ncm91cHMuaW8gPG1haWx0bzpkZXZlbEBlZGsyLmdyb3Vwcy5pbz47DQo+ID4gc2Ft ZXIuZWwtaGFqLW1haG1vdWRAYXJtLmNvbSA8bWFpbHRvOnNhbWVyLmVsLWhhai0NCj4gbWFobW91 ZEBhcm0uY29tPg0KPiA+PiA+ID4gPiA+IENjOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGlu dGVsLmNvbQ0KPiA+PiA+ID4gPiA+IDxtYWlsdG86amlhbi5qLndhbmdAaW50ZWwuY29tPj47IFd1 LCBIYW8gQQ0KPiA+PiA+ID4gPiA+IDxoYW8uYS53dUBpbnRlbC5jb20gPG1haWx0bzpoYW8uYS53 dUBpbnRlbC5jb20+PjsgR2FvLA0KPiA+PiA+ID4gPiA+IFpoaWNoYW8NCj4gPiA8emhpY2hhby5n YW9AaW50ZWwuY29tIDxtYWlsdG86emhpY2hhby5nYW9AaW50ZWwuY29tPj47IE5pLA0KPiA+PiA+ ID4gPiA+IFJheSA8cmF5Lm5pQGludGVsLmNvbSA8bWFpbHRvOnJheS5uaUBpbnRlbC5jb20+Pjsg QXJkDQo+ID4+ID4gPiA+ID4gQmllc2hldXZlbA0KPiA+IDxBcmQuQmllc2hldXZlbEBhcm0uY29t IDxtYWlsdG86QXJkLkJpZXNoZXV2ZWxAYXJtLmNvbT4+Ow0KPiA+PiA+ID4gPiA+IEFuZHkgTHV0 b21pcnNraSA8bHV0b0BrZXJuZWwub3JnIDxtYWlsdG86bHV0b0BrZXJuZWwub3JnPj4NCj4gPj4g PiA+ID4gPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCB2MSAzLzNdDQo+IE1kZU1v ZHVsZVBrZy9Db25TcGxpdHRlcjoNCj4gPj4gPiA+ID4gPiBDaGFuZ2UgU3RkRXJyIGNvbG9yIHRv IEVGSV9MSUdIVEdSQVkNCj4gPj4gPiA+ID4gPg0KPiA+PiA+ID4gPiA+IE9uIDExLzI0LzIwIDIw OjE1LCBTYW1lciBFbC1IYWotTWFobW91ZCB3cm90ZToNCj4gPj4gPiA+ID4gPiA+IENvblNwbGl0 dGVyIHdhcyB1c2luZyBFRklfTElHSFRHUkFZIGZvcmVncm91bmQgY29sb3IgZm9yDQo+ID4+ID4g PiA+ID4gPiBDb25PdXQgYW5kIEVGSV9NQUdFTlRBIGZvciBTdGRFcnIuDQo+ID4+ID4gPiA+ID4g Pg0KPiA+PiA+ID4gPiA+ID4gVGhpcyBkb2VzIG5vdCB3b3JrIGFsbCB0aGUgdGltZSwgYW5kIFN0 ZEVyciBlbmRzIHVwIHNob3dpbmcNCj4gPj4gPiA+ID4gPiA+IHBhcnRzIGluIE1BR0VOVEEgYW5k IG90aGVyIHBhcnRzIGluIExJR0hUR1JBWS4gQ2hhbmdpbmcNCj4gPj4gPiA+ID4gPiA+IFN0ZEVy ciB0byBMSUdIVEdSQVkgbG9va3MgYmV0dGVyIGFuZCBpcyBtb3JlIGNvbnNpc3RlbnQuDQo+ID4+ ID4gPiA+ID4gPg0KPiA+PiA+ID4gPiA+ID4gQ2M6IEppYW4gSiBXYW5nIDxqaWFuLmoud2FuZ0Bp bnRlbC5jb20NCj4gPj4gPiA+ID4gPiA+IDxtYWlsdG86amlhbi5qLndhbmdAaW50ZWwuY29tPj4N Cj4gPj4gPiA+ID4gPiA+IENjOiBIYW8gQSBXdSA8aGFvLmEud3VAaW50ZWwuY29tDQo+ID4+ID4g PiA+ID4gPiA8bWFpbHRvOmhhby5hLnd1QGludGVsLmNvbT4+DQo+ID4+ID4gPiA+ID4gPiBDYzog WmhpY2hhbyBHYW8gPHpoaWNoYW8uZ2FvQGludGVsLmNvbQ0KPiA+PiA+ID4gPiA+ID4gPG1haWx0 bzp6aGljaGFvLmdhb0BpbnRlbC5jb20+Pg0KPiA+PiA+ID4gPiA+ID4gQ2M6IFJheSBOaSA8cmF5 Lm5pQGludGVsLmNvbSA8bWFpbHRvOnJheS5uaUBpbnRlbC5jb20+Pg0KPiA+PiA+ID4gPiA+ID4g Q2M6IEFyZCBCaWVzaGV1dmVsIDxBcmQuQmllc2hldXZlbEBhcm0uY29tDQo+ID4+ID4gPiA+ID4g PiA8bWFpbHRvOkFyZC5CaWVzaGV1dmVsQGFybS5jb20+Pg0KPiA+PiA+ID4gPiA+ID4gU2lnbmVk LW9mZi1ieTogU2FtZXIgRWwtSGFqLU1haG1vdWQgPFNhbWVyLkVsLUhhai0NCj4gPj4gPiA+ID4g TWFobW91ZEBhcm0uY29tIDxtYWlsdG86TWFobW91ZEBhcm0uY29tPj4NCj4gPj4gPiA+ID4gPiA+ IC0tLQ0KPiA+PiA+ID4gPiA+ID4NCj4gPj4gPiA+ID4gPiA+TWRlTW9kdWxlUGtnL1VuaXZlcnNh bC9Db25zb2xlL0NvblNwbGl0dGVyRHhlL0NvblNwbGl0dGVyLmMNCj4gPj4gPiA+ID4gPiA+fA0K PiA+PiAyDQo+ID4+ID4gPiA+ID4gPiArLQ0KPiA+PiA+ID4gPiA+ID7CoCAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkNCj4gPj4gPiA+ID4gPiA+DQo+ID4+ID4g PiA+ID4gPiBkaWZmIC0tZ2l0DQo+ID4+ID4gPiA+ID4gPg0KPiBhL01kZU1vZHVsZVBrZy9Vbml2 ZXJzYWwvQ29uc29sZS9Db25TcGxpdHRlckR4ZS9Db25TcGxpdHRlcg0KPiA+PiA+ID4gPiA+ID4g LmMNCj4gPj4gPiA+ID4gPiA+DQo+IGIvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9Db25zb2xlL0Nv blNwbGl0dGVyRHhlL0NvblNwbGl0dGVyDQo+ID4+ID4gPiA+ID4gPiAuYyBpbmRleCBiMDkwZGUy ODg1MTcuLmU4Y2Q0Y2UxMjBhMCAxMDA2NDQNCj4gPj4gPiA+ID4gPiA+IC0tLQ0KPiA+PiA+ID4g PiA+ID4NCj4gYS9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0NvbnNvbGUvQ29uU3BsaXR0ZXJEeGUv Q29uU3BsaXR0ZXINCj4gPj4gPiA+ID4gPiA+IC5jDQo+ID4+ID4gPiA+ID4gPiArKysNCj4gPj4g PiBiL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvQ29uc29sZS9Db25TcGxpdHRlckR4ZS9Db25TcGxp dHRlci4NCj4gPj4gPiA+ID4gPiA+ICsrKyBjDQo+ID4+ID4gPiA+ID4gPiBAQCAtMTQ3Niw3ICsx NDc2LDcgQEAgQ29uU3BsaXR0ZXJTdGRFcnJEcml2ZXJCaW5kaW5nU3RhcnQgKA0KPiA+PiA+ID4g PiA+ID7CoMKgwqAgLy8gdGhlaXIgTWF4TW9kZSBhbmQgUXVlcnlEYXRhIHNob3VsZCBiZSB0aGUN Cj4gPj4gPiA+ID4gPiA+aW50ZXJzZWN0aW9uIG9mDQo+ID4+ID4gYm90aC4NCj4gPj4gPiA+ID4g PiA+wqDCoMKgIC8vDQo+ID4+ID4gPiA+ID4gPsKgwqDCoCBTdGF0dXMgPSBDb25TcGxpdHRlclRl eHRPdXRBZGREZXZpY2UgKCZtU3RkRXJyLCBUZXh0T3V0LA0KPiA+PiA+ID4gPiA+ID5OVUxMLCBO VUxMKTsNCj4gPj4gPiA+ID4gPiA+IC3CoCBDb25TcGxpdHRlclRleHRPdXRTZXRBdHRyaWJ1dGUg KCZtU3RkRXJyLlRleHRPdXQsDQo+ID4+ID4gPiA+ID4gPkVGSV9URVhUX0FUVFIgKEVGSV9NQUdF TlRBLCBFRklfQkxBQ0spKTsNCj4gPj4gPiA+ID4gPiA+ICvCoCBDb25TcGxpdHRlclRleHRPdXRT ZXRBdHRyaWJ1dGUgKCZtU3RkRXJyLlRleHRPdXQsDQo+ID4+ID4gPiA+ID4gPiArRUZJX1RFWFRf QVRUUiAoRUZJX0xJR0hUR1JBWSwgRUZJX0JMQUNLKSk7DQo+ID4+ID4gPiA+ID4gPg0KPiA+PiA+ ID4gPiA+ID7CoMKgwqAgcmV0dXJuIFN0YXR1czsNCj4gPj4gPiA+ID4gPiA+wqAgfQ0KPiA+PiA+ ID4gPiA+ID4NCj4gPj4gPiA+ID4gPg0KPiA+PiA+ID4gPiA+IEkgYW0gdmVyeSBjdXJpb3VzIGFz IHRvIGhvdyB0aGlzIHBhdGNoIGlzIGdvaW5nIHRvIGZhcmUsIGFzDQo+ID4+ID4gPiA+ID4gQW5k eSBMdXRvbWlyc2tpIChDQydkKSByZXBvcnRlZCB0aGUgc2FtZSBzeW1wdG9tIGluIGEgRmVkb3Jh DQo+ID4+ID4gPiA+ID4gYnVnemlsbGEgdGlja2V0DQo+ID4+ID4gPiA+ID4gNCsgeWVhcnMgYWdv Og0KPiA+PiA+ID4gPiA+DQo+ID4+ID4gPiA+ID4gaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29t L3Nob3dfYnVnLmNnaT9pZD0xMzU1OTEzDQo+ID4+ID4gPiA+ID4NCj4gPj4gPiA+ID4gPiBBcyB5 b3UgY2FuIHNlZSBpbiB0aGF0IEJaLCBJIGZvdW5kIHRoZSBzYW1lIGNvZGUgbG9jYXRpb24sIEkN Cj4gPj4gPiA+ID4gPiBqdXN0IGRpZG4ndCBmZWVsIHVwIHRvIHN0YXJ0aW5nIGFub3RoZXIgY3J1 c2FkZSBvbiBlZGsyLWRldmVsDQo+ID4+ID4gPiA+ID4gLS0gYWJvdXQgY29sb3JzIGV2ZW4hLi4u IFNvIEknbGwgYmUgd2F0Y2hpbmcgdGhpcyBvbmUgbm93LiA6KQ0KPiA+PiA+ID4gPiA+DQo+ID4+ ID4gPiA+ID4gVGhhbmtzDQo+ID4+ID4gPiA+ID4gTGFzemxvDQo+ID4+ID4gPiA+ID4NCj4gPj4g PiA+ID4gPg0KPiA+PiA+ID4gPiA+DQo+ID4+ID4gPiA+ID4NCj4gPj4gPiA+ID4gPg0KPiA+PiA+ ID4NCg0K