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.web12.15590.1594228267892195890 for ; Wed, 08 Jul 2020 10:11:08 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=Tq7kHScf; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: T1sGEcizcTaPUkS3DBtqdT8KpHJmxCQlIemOmWx6jih41VllYqt6x2ZMe7Bw/HCG+PnYV5td1A LqQ9gv+mHRSg== X-IronPort-AV: E=McAfee;i="6000,8403,9676"; a="145358013" X-IronPort-AV: E=Sophos;i="5.75,328,1589266800"; d="scan'208";a="145358013" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jul 2020 10:11:06 -0700 IronPort-SDR: Uf9Fvtgur8+FkxMWAsf4B2uFUSp/eRC9tOD/Se0Cc4Lch9yzHCfNcJ2DH5A53P9J05oE0ICbjp jB8ghEvOyJiQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,328,1589266800"; d="scan'208";a="297780182" Received: from orsmsx102.amr.corp.intel.com ([10.22.225.129]) by orsmga002.jf.intel.com with ESMTP; 08 Jul 2020 10:11:06 -0700 Received: from orsmsx115.amr.corp.intel.com (10.22.240.11) by ORSMSX102.amr.corp.intel.com (10.22.225.129) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 8 Jul 2020 10:11:06 -0700 Received: from ORSEDG001.ED.cps.intel.com (10.7.248.4) by ORSMSX115.amr.corp.intel.com (10.22.240.11) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 8 Jul 2020 10:11:06 -0700 Received: from NAM04-CO1-obe.outbound.protection.outlook.com (104.47.45.57) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 8 Jul 2020 10:10:49 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TLZ2dOWf8g0b2DLUn/t0Kv1fg1lb4V0cbyVF3o2hwFXnS+zWL1qtk6XKm7g4YK348hZZRoBdVXVLvmzi/TkiMPBcDyqjNYMe+v+fpmFtFm8sX0PVvpZBsID/GNyYvaMuZREqBs4xWLQ7gzeCZpuOnTOHb2S82GUOPa38ScJYtysiZ1tRUkYpYs0HwiVbstGUVhLErmxtJdN6wW8kU7sWiDvvNq/BcSJtbTnHEXKCFkA/br875ShBfefI3zpHmfdKRX/MSYvhNULPKB5kFk9xbZgDmKpU91WXFKyzeziPD0A0QuIwUtEe2TC/m9xP5dhPRmybgW+uWjk0f3RFmlncgQ== 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=9+4yYCx1dP30j4Odtb2YousRrGh6uNt/rxxzXA2lYNI=; b=nJqD4bRO7Pd5pTixH0MWXWDldwMtPqNiqDTx+Vz1jxyMvIfLX8JE5c3J63onr/vcLtLmJ2wG75M9L8ZKxY1A7BH5hz79y2MKGVOrViYCG/FvouafNnF6tLOTiVEnE4453mFw1Deu58gSuEP/iLLkjepb2mqENbrnpMCTV4Em2Jh3BmFWoAJCQJ4peWwGiUwZYZ9kwPBVfQO3hTlFRZUpLdBcAl14TYH/Jj+FLrzVFo5ok0ICtk8ORffLyKb6xSIuiFBPY0DCMl0rqZ/Szb415hDy1SThaPGGJmOnv8Ds2amXRQni0g6FjfW8s6fILGB5Gi4tj7mBLolDcs3c60xwrw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9+4yYCx1dP30j4Odtb2YousRrGh6uNt/rxxzXA2lYNI=; b=Tq7kHScf/0zugyrSbpwfGanz9c3qECH3Dw97NDzc4Pc5IL8vDW7ckLyF0X9t12AjdjXLYnoBmL2Zbba8u38u8iLjxlHlGTfF/1OLachoUUc4gELDiuzqWfYgMmqMgym95S8IgR+7NHPs5YyZVNGzuEH0qaxSaktUNOSB4Mxi1nA= Received: from MN2PR11MB4461.namprd11.prod.outlook.com (2603:10b6:208:192::29) by MN2PR11MB4566.namprd11.prod.outlook.com (2603:10b6:208:24e::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.27; Wed, 8 Jul 2020 17:10:48 +0000 Received: from MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::10bc:1a4e:4745:ffc1]) by MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::10bc:1a4e:4745:ffc1%3]) with mapi id 15.20.3174.021; Wed, 8 Jul 2020 17:10:48 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "matthewfcarlson@gmail.com" , "Kinney, Michael D" Subject: Re: [edk2-devel] [PATCH v1 1/3] UnitTestFrameworkPkg : BaseTimerLib: Adds a host-based timer Lib Thread-Topic: [edk2-devel] [PATCH v1 1/3] UnitTestFrameworkPkg : BaseTimerLib: Adds a host-based timer Lib Thread-Index: AQHWVUIllA2oqqj01k6Z+4XOVV8tu6j95/IwgAABZVA= Date: Wed, 8 Jul 2020 17:10:47 +0000 Message-ID: References: <20200708013122.1301-1-matthewfcarlson@gmail.com> <20200708013122.1301-2-matthewfcarlson@gmail.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.2.0.6 authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [134.134.136.218] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 57558310-79a5-40d4-dcc3-08d82361dbe3 x-ms-traffictypediagnostic: MN2PR11MB4566: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 04583CED1A x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: nrYKVn1chabfg2IFVRtgl7nTIMVUMB8QYx661Rrjp80VV9vqTJF7ezU1WPZYuVmCJN490AMkYwRyttvfkKK7JF2H9miPGjezuGMA6Pd1sHhOhhTJ7gHpV41dg47CFuBD799a+DxdCRs5CUZyJEAAh1n+p53AiKaFUpf7aurqI4zRg6TPuG5J45KZ+biuXxCmb1XmNam3vq+PQbh82CkG26HYjcsgfmbJCyVmIssAkQdtbl9LToyDrZz5Qqv0OyHmi+WFU3tOARARVqTEts/KrV3p5wlp/uDLoZfeYdLTMfKMHcAwrR3+mJR2r6PIN/+p/HSbPRQM0Ocm5FcCf9cBSjMF8nCZ2rRgn61ISWgKas+mIdsE4/CwN18+t4AhNZaoUkYFvwMbyahlcIuiFsP0IQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR11MB4461.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(366004)(136003)(346002)(39860400002)(376002)(396003)(110136005)(8676002)(55016002)(478600001)(186003)(71200400001)(53546011)(6506007)(33656002)(26005)(7696005)(2940100002)(83380400001)(9686003)(8936002)(2906002)(52536014)(966005)(5660300002)(66446008)(30864003)(76116006)(86362001)(66476007)(66556008)(316002)(64756008)(66946007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: NAWXQ+KLYls5fwsGHkhb64MQS37MRMKHS/4KNzhB8kbKNDw6TZt7SUO6+nVoT/vGv9MThcf/Hg4R3lpZKBOHARF5+0Wfpame28gNV3tl4gIUQbpf1jxsuUlSFInJAjDTYqvXaN27AnIYnl2OM0OeiB6R3IA3IB+TLchlMB3leNwxUIdvyeO+Bl7rodLD/BVCbWXCXqUTTlNobPUA0xZHblvzTXaaqNuJk61FNEfeCkYqHhH6uSV0NpAQ2hRiMBCD6BIPU6BJEKIYbIh61oumWz71775Bh4DAex/I/ffEEu6XUX3flj8z2q1xS2egXSG8068Ze1Vz/HlPSNoCi+fzPdGVORqYY543Eh/1cmKgS2osSNl2JbLWjYG4oKC0KeQgLnI8jIJNPUVW9wmwVYIE86igVADkFHTOmEsu4FoecoYw+SJ8YSZ/XIlbO8F3vshxcCWu1Ih8c2Xs0oZSSKHMKKwGH/bVZrE9XTjBj8UpT5SPF2WdE7Qj61bwTwirm0qk MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4461.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 57558310-79a5-40d4-dcc3-08d82361dbe3 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jul 2020 17:10:47.9839 (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: IrIbvgub7EV+8V+4LRfFjcfxWPlQzsFZfuhDAflAy/Zx2846tzxpCgbWstX9RMNVWYhDfZgo45hAbo3nEoMrtVM1/ZLw+RnYvaEZ6OcRBZo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4566 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTWF0dCwNCg0KUGxlYXNlIGFsc28gYWRkIENjOiB0YWcgbGluZXMgdG8gZWFjaCBjb21taXQg bWVzc2FnZSBmb3INCnRoZSBNYWludGFpbmVycy9SZXZpZXdlcnMgZnJvbSBNYWludGFpbmVycy50 eHQgc28gdGhleQ0KZ2V0IGluZm9ybWVkIG9mIHBhdGNoZXMuICBNYW55IG9mIHVzIHVzZSBydWxl cyBvbiBvdXINCmVtYWlsIGNsaWVudHMgc28gdGhlc2UgYXJlIHNvcnRlZCB0byBsb29rIGF0IGZp cnN0Lg0KDQpodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL3RpYW5vY29yZS5naXRodWIuaW8v d2lraS9MYXN6bG8ncy11bmtlbXB0LWdpdC1ndWlkZS1mb3ItZWRrMi1jb250cmlidXRvcnMtYW5k LW1haW50YWluZXJzI2NvbnRyaWItMTgNCg0KVGhlcmUgaXMgYSBweXRob24gc2NyaXB0IEJhc2VU b29scy9TY3JpcHRzL0dldE1haW50YWluZXIucHkNCnRoYXQgaGVscHMgY29sbGVjdCB0aGVzZSBD YzogbGluZXMgZnJvbSBhIHNldCBvZiBjb21taXRzDQpvbiBhIGJyYW5jaC4NCg0KVGhhbmtzLA0K DQpNaWtlDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogS2lubmV5LCBN aWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiBTZW50OiBXZWRuZXNkYXks IEp1bHkgOCwgMjAyMCAxMDowMyBBTQ0KPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IG1hdHRo ZXdmY2FybHNvbkBnbWFpbC5jb207DQo+IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lu bmV5QGludGVsLmNvbT4NCj4gU3ViamVjdDogUkU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjEgMS8z XQ0KPiBVbml0VGVzdEZyYW1ld29ya1BrZyA6IEJhc2VUaW1lckxpYjogQWRkcyBhIGhvc3QtYmFz ZWQNCj4gdGltZXIgTGliDQo+IA0KPiBIaSBNYXR0LA0KPiANCj4gSWYgdGhpcyBpbnN0YW5jZSB1 c2VzIFBPU0lYIEFQSXMsIHNob3VsZG4ndCB0aGlzDQo+IHZlcnNpb24gZ28gaW50byB0aGUgTGli cmFyeS9Qb3NpeCBkaXJlY3Rvcnk/DQo+IA0KPiBUaGVyZSBhcmUgYWxzbyBhIGZldyBjb2RlIHN0 eWxlIGlzc3Vlcy4gIEZvciBleGFtcGxlLA0KPiBsb2NhbCB2YXJpYWJsZXMgc2hvdWxkIG5vdCBi ZSBpbml0aWFsaXplZCBpbiB0aGVpcg0KPiBkZWNsYXJhdGlvbi4NCj4gDQo+IFRoYW5rcywNCj4g DQo+IE1pa2UNCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBk ZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uDQo+ID4gQmVoYWxm IE9mIG1hdHRoZXdmY2FybHNvbkBnbWFpbC5jb20NCj4gPiBTZW50OiBUdWVzZGF5LCBKdWx5IDcs IDIwMjAgNjozMSBQTQ0KPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+IENjOiBNYXR0 aGV3IENhcmxzb24gPG1hdHRoZXdmY2FybHNvbkBnbWFpbC5jb20+DQo+ID4gU3ViamVjdDogW2Vk azItZGV2ZWxdIFtQQVRDSCB2MSAxLzNdDQo+ID4gVW5pdFRlc3RGcmFtZXdvcmtQa2cgOiBCYXNl VGltZXJMaWI6IEFkZHMgYSBob3N0LWJhc2VkDQo+ID4gdGltZXIgTGliDQo+ID4NCj4gPiBGcm9t OiBNYXR0aGV3IENhcmxzb24gPG1hY2FybEBtaWNyb3NvZnQuY29tPg0KPiA+DQo+ID4gVGhpcyBh ZGRzIGEgaG9zdCBiYXNlZCBCYXNlVGltZXJMaWIgdGhhdCB3b24ndCBhc3NlcnQuDQo+ID4NCj4g PiBTaWduZWQtb2ZmLWJ5OiBNYXR0aGV3IENhcmxzb24NCj4gPiA8bWF0dGhld2ZjYXJsc29uQGdt YWlsLmNvbT4NCj4gPiAtLS0NCj4gPg0KPiA+DQo+IFVuaXRUZXN0RnJhbWV3b3JrUGtnL0xpYnJh cnkvSG9zdC9CYXNlVGltZXJMaWJIb3N0L1RpbWVyDQo+ID4gTGliSG9zdC5jICAgICAgIHwgMTM3 ICsrKysrKysrKysrKysrKysrKysrDQo+ID4NCj4gPg0KPiBVbml0VGVzdEZyYW1ld29ya1BrZy9M aWJyYXJ5L0hvc3QvQmFzZVRpbWVyTGliSG9zdC9CYXNlVA0KPiA+IGltZXJMaWJIb3N0LmluZiB8 ICA0MCArKysrKysNCj4gPg0KPiA+DQo+IFVuaXRUZXN0RnJhbWV3b3JrUGtnL0xpYnJhcnkvSG9z dC9CYXNlVGltZXJMaWJIb3N0L0Jhc2VUDQo+ID4gaW1lckxpYkhvc3QudW5pIHwgIDE5ICsrKw0K PiA+ICBVbml0VGVzdEZyYW1ld29ya1BrZy9Vbml0VGVzdEZyYW1ld29ya1BrZ0hvc3QuZHNjLmlu Yw0KPiA+IHwgICAxICsNCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCAxOTcgaW5zZXJ0aW9ucygrKQ0K PiA+DQo+ID4gZGlmZiAtLWdpdA0KPiA+DQo+IGEvVW5pdFRlc3RGcmFtZXdvcmtQa2cvTGlicmFy eS9Ib3N0L0Jhc2VUaW1lckxpYkhvc3QvVGltDQo+ID4gZXJMaWJIb3N0LmMNCj4gPg0KPiBiL1Vu aXRUZXN0RnJhbWV3b3JrUGtnL0xpYnJhcnkvSG9zdC9CYXNlVGltZXJMaWJIb3N0L1RpbQ0KPiA+ IGVyTGliSG9zdC5jDQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAw MDAwMDAuLjYxMzA0ZTY2ZjU0Zg0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysNCj4gPg0KPiBi L1VuaXRUZXN0RnJhbWV3b3JrUGtnL0xpYnJhcnkvSG9zdC9CYXNlVGltZXJMaWJIb3N0L1RpbQ0K PiA+IGVyTGliSG9zdC5jDQo+ID4gQEAgLTAsMCArMSwxMzcgQEANCj4gPiArLyoqIEBmaWxlDQo+ ID4NCj4gPiArICBBIG5vbi1mdW5jdGlvbmFsIGluc3RhbmNlIG9mIHRoZSBUaW1lciBMaWJyYXJ5 Lg0KPiA+DQo+ID4gKw0KPiA+DQo+ID4gKyAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMSwgSW50 ZWwgQ29ycG9yYXRpb24uIEFsbA0KPiA+IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4NCj4gPiAr ICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+DQo+ID4g Kw0KPiA+DQo+ID4gKyoqLw0KPiA+DQo+ID4gKw0KPiA+DQo+ID4gKyNpbmNsdWRlIDxCYXNlLmg+ DQo+ID4NCj4gPiArI2luY2x1ZGUgPExpYnJhcnkvVGltZXJMaWIuaD4NCj4gPg0KPiA+ICsjaW5j bHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPiA+DQo+ID4gKyNpbmNsdWRlIDxzdGRpby5oPg0K PiA+DQo+ID4gKyNpbmNsdWRlIDxzdGRsaWIuaD4NCj4gPg0KPiA+ICsjaW5jbHVkZSA8dGltZS5o Pg0KPiA+DQo+ID4gKw0KPiA+DQo+ID4gKy8qKg0KPiA+DQo+ID4gKyAgU3RhbGxzIHRoZSBDUFUg Zm9yIGF0IGxlYXN0IHRoZSBnaXZlbiBudW1iZXIgb2YNCj4gPiBtaWNyb3NlY29uZHMuDQo+ID4N Cj4gPiArDQo+ID4NCj4gPiArICBTdGFsbHMgdGhlIENQVSBmb3IgdGhlIG51bWJlciBvZiBtaWNy b3NlY29uZHMNCj4gPiBzcGVjaWZpZWQgYnkgTWljcm9TZWNvbmRzLg0KPiA+DQo+ID4gKw0KPiA+ DQo+ID4gKyAgQHBhcmFtICBNaWNyb1NlY29uZHMgIFRoZSBtaW5pbXVtIG51bWJlciBvZg0KPiA+ IG1pY3Jvc2Vjb25kcyB0byBkZWxheS4NCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICsgIEByZXR1cm4g VGhlIHZhbHVlIG9mIE1pY3JvU2Vjb25kcyBpbnB1dHRlZC4NCj4gPg0KPiA+ICsNCj4gPg0KPiA+ ICsqKi8NCj4gPg0KPiA+ICtVSU5UTg0KPiA+DQo+ID4gK0VGSUFQSQ0KPiA+DQo+ID4gK01pY3Jv U2Vjb25kRGVsYXkgKA0KPiA+DQo+ID4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAg ICAgIE1pY3JvU2Vjb25kcw0KPiA+DQo+ID4gKyAgKQ0KPiA+DQo+ID4gK3sNCj4gPg0KPiA+ICsg IHJldHVybiBOYW5vU2Vjb25kRGVsYXkoTWljcm9TZWNvbmRzICogMTAwMDAwMCkgLw0KPiA+IDEw MDAwMDA7DQo+ID4NCj4gPiArfQ0KPiA+DQo+ID4gKw0KPiA+DQo+ID4gKy8qKg0KPiA+DQo+ID4g KyAgU3RhbGxzIHRoZSBDUFUgZm9yIGF0IGxlYXN0IHRoZSBnaXZlbiBudW1iZXIgb2YNCj4gPiBu YW5vc2Vjb25kcy4NCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICsgIFN0YWxscyB0aGUgQ1BVIGZvciB0 aGUgbnVtYmVyIG9mIG5hbm9zZWNvbmRzDQo+ID4gc3BlY2lmaWVkIGJ5IE5hbm9TZWNvbmRzLg0K PiA+DQo+ID4gKw0KPiA+DQo+ID4gKyAgQHBhcmFtICBOYW5vU2Vjb25kcyBUaGUgbWluaW11bSBu dW1iZXIgb2YNCj4gbmFub3NlY29uZHMNCj4gPiB0byBkZWxheS4NCj4gPg0KPiA+ICsNCj4gPg0K PiA+ICsgIEByZXR1cm4gVGhlIHZhbHVlIG9mIE5hbm9TZWNvbmRzIGlucHV0dGVkLg0KPiA+DQo+ ID4gKw0KPiA+DQo+ID4gKyoqLw0KPiA+DQo+ID4gK1VJTlRODQo+ID4NCj4gPiArRUZJQVBJDQo+ ID4NCj4gPiArTmFub1NlY29uZERlbGF5ICgNCj4gPg0KPiA+ICsgIElOICAgICAgVUlOVE4gICAg ICAgICAgICAgICAgICAgICBOYW5vU2Vjb25kcw0KPiA+DQo+ID4gKyAgKQ0KPiA+DQo+ID4gK3sN Cj4gPg0KPiA+ICsgIC8qVUlOVDY0IHN0YXJ0ID0gR2V0UGVyZm9ybWFuY2VDb3VudGVyKCk7DQo+ ID4NCj4gPiArICBVSU5UNjQgZ29hbCA9IHN0YXJ0ICsgTmFub1NlY29uZHM7DQo+ID4NCj4gPiAr ICBERUJVRygoIERFQlVHX0VSUk9SLCAiRGVsYXlpbmcgZm9yICVkIG5zLiBTdGFydDogJWQNCj4g PiB0byAlZFxuIiwgTmFub1NlY29uZHMsIHN0YXJ0LCBnb2FsKSk7DQo+ID4NCj4gPiArICAvLyBj aGVjayBpZiB3ZSBuZWVkIHRvIHdhaXQgZm9yIHRoZSBjb3VudGVyIHRvIHJvbGwNCj4gPiBvdmVy DQo+ID4NCj4gPiArICBpZiAoc3RhcnQgPiBnb2FsKSB7DQo+ID4NCj4gPiArICAgIERFQlVHKCgg REVCVUdfRVJST1IsICJTdGFydCBpcyBtb3JlIHRoYW4NCj4gZ29hbFxuIikpOw0KPiA+DQo+ID4g KyAgICB3aGlsZSAoR2V0UGVyZm9ybWFuY2VDb3VudGVyKCkgPiBnb2FsKTsNCj4gPg0KPiA+ICsg IH0NCj4gPg0KPiA+ICsgIHdoaWxlIChHZXRQZXJmb3JtYW5jZUNvdW50ZXIoKSA8IGdvYWwpOw0K PiA+DQo+ID4gKyAgcmV0dXJuIE5hbm9TZWNvbmRzOyovDQo+ID4NCj4gPiArICByZXR1cm4gMDsN Cj4gPg0KPiA+ICt9DQo+ID4NCj4gPiArDQo+ID4NCj4gPiArLyoqDQo+ID4NCj4gPiArICBSZXRy aWV2ZXMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgYSA2NC1iaXQgZnJlZQ0KPiBydW5uaW5nDQo+ID4g cGVyZm9ybWFuY2UgY291bnRlci4NCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICsgIFRoZSBjb3VudGVy IGNhbiBlaXRoZXIgY291bnQgdXAgYnkgMSBvciBjb3VudCBkb3duDQo+IGJ5DQo+ID4gMS4gSWYg dGhlIHBoeXNpY2FsDQo+ID4NCj4gPiArICBwZXJmb3JtYW5jZSBjb3VudGVyIGNvdW50cyBieSBh IGxhcmdlciBpbmNyZW1lbnQsDQo+ID4gdGhlbiB0aGUgY291bnRlciB2YWx1ZXMNCj4gPg0KPiA+ ICsgIG11c3QgYmUgdHJhbnNsYXRlZC4gVGhlIHByb3BlcnRpZXMgb2YgdGhlIGNvdW50ZXINCj4g Y2FuDQo+ID4gYmUgcmV0cmlldmVkIGZyb20NCj4gPg0KPiA+ICsgIEdldFBlcmZvcm1hbmNlQ291 bnRlclByb3BlcnRpZXMoKS4NCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICsgIEByZXR1cm4gVGhlIGN1 cnJlbnQgdmFsdWUgb2YgdGhlIGZyZWUgcnVubmluZw0KPiA+IHBlcmZvcm1hbmNlIGNvdW50ZXIu DQo+ID4NCj4gPiArDQo+ID4NCj4gPiArKiovDQo+ID4NCj4gPiArVUlOVDY0DQo+ID4NCj4gPiAr RUZJQVBJDQo+ID4NCj4gPiArR2V0UGVyZm9ybWFuY2VDb3VudGVyICgNCj4gPg0KPiA+ICsgIFZP SUQNCj4gPg0KPiA+ICsgICkNCj4gPg0KPiA+ICt7DQo+ID4NCj4gPiArICBzdHJ1Y3QgdGltZXNw ZWMgdHM7DQo+ID4NCj4gPiArICB0aW1lc3BlY19nZXQoJnRzLCBUSU1FX1VUQyk7DQo+ID4NCj4g PiArICByZXR1cm4gdHMudHZfbnNlYzsNCj4gPg0KPiA+ICt9DQo+ID4NCj4gPiArDQo+ID4NCj4g PiArLyoqDQo+ID4NCj4gPiArICBSZXRyaWV2ZXMgdGhlIDY0LWJpdCBmcmVxdWVuY3kgaW4gSHog YW5kIHRoZSByYW5nZQ0KPiBvZg0KPiA+IHBlcmZvcm1hbmNlIGNvdW50ZXINCj4gPg0KPiA+ICsg IHZhbHVlcy4NCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICsgIElmIFN0YXJ0VmFsdWUgaXMgbm90IE5V TEwsIHRoZW4gdGhlIHZhbHVlIHRoYXQgdGhlDQo+ID4gcGVyZm9ybWFuY2UgY291bnRlciBzdGFy dHMNCj4gPg0KPiA+ICsgIHdpdGggaW1tZWRpYXRlbHkgYWZ0ZXIgaXMgaXQgcm9sbHMgb3ZlciBp cyByZXR1cm5lZA0KPiA+IGluIFN0YXJ0VmFsdWUuIElmDQo+ID4NCj4gPiArICBFbmRWYWx1ZSBp cyBub3QgTlVMTCwgdGhlbiB0aGUgdmFsdWUgdGhhdCB0aGUNCj4gPiBwZXJmb3JtYW5jZSBjb3Vu dGVyIGVuZCB3aXRoDQo+ID4NCj4gPiArICBpbW1lZGlhdGVseSBiZWZvcmUgaXQgcm9sbHMgb3Zl ciBpcyByZXR1cm5lZCBpbg0KPiA+IEVuZFZhbHVlLiBUaGUgNjQtYml0DQo+ID4NCj4gPiArICBm cmVxdWVuY3kgb2YgdGhlIHBlcmZvcm1hbmNlIGNvdW50ZXIgaW4gSHogaXMNCj4gYWx3YXlzDQo+ ID4gcmV0dXJuZWQuIElmIFN0YXJ0VmFsdWUNCj4gPg0KPiA+ICsgIGlzIGxlc3MgdGhhbiBFbmRW YWx1ZSwgdGhlbiB0aGUgcGVyZm9ybWFuY2UgY291bnRlcg0KPiA+IGNvdW50cyB1cC4gSWYgU3Rh cnRWYWx1ZQ0KPiA+DQo+ID4gKyAgaXMgZ3JlYXRlciB0aGFuIEVuZFZhbHVlLCB0aGVuIHRoZSBw ZXJmb3JtYW5jZQ0KPiA+IGNvdW50ZXIgY291bnRzIGRvd24uIEZvcg0KPiA+DQo+ID4gKyAgZXhh bXBsZSwgYSA2NC1iaXQgZnJlZSBydW5uaW5nIGNvdW50ZXIgdGhhdCBjb3VudHMNCj4gdXANCj4g PiB3b3VsZCBoYXZlIGEgU3RhcnRWYWx1ZQ0KPiA+DQo+ID4gKyAgb2YgMCBhbmQgYW4gRW5kVmFs dWUgb2YgMHhGRkZGRkZGRkZGRkZGRkZGLiBBIDI0LQ0KPiBiaXQNCj4gPiBmcmVlIHJ1bm5pbmcg Y291bnRlcg0KPiA+DQo+ID4gKyAgdGhhdCBjb3VudHMgZG93biB3b3VsZCBoYXZlIGEgU3RhcnRW YWx1ZSBvZg0KPiAweEZGRkZGRg0KPiA+IGFuZCBhbiBFbmRWYWx1ZSBvZiAwLg0KPiA+DQo+ID4g Kw0KPiA+DQo+ID4gKyAgQHBhcmFtICBTdGFydFZhbHVlICBUaGUgdmFsdWUgdGhlIHBlcmZvcm1h bmNlDQo+IGNvdW50ZXINCj4gPiBzdGFydHMgd2l0aCB3aGVuIGl0DQo+ID4NCj4gPiArICAgICAg ICAgICAgICAgICAgICAgIHJvbGxzIG92ZXIuDQo+ID4NCj4gPiArICBAcGFyYW0gIEVuZFZhbHVl ICAgIFRoZSB2YWx1ZSB0aGF0IHRoZSBwZXJmb3JtYW5jZQ0KPiA+IGNvdW50ZXIgZW5kcyB3aXRo IGJlZm9yZQ0KPiA+DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICBpdCByb2xscyBvdmVyLg0K PiA+DQo+ID4gKw0KPiA+DQo+ID4gKyAgQHJldHVybiBUaGUgZnJlcXVlbmN5IGluIEh6Lg0KPiA+ DQo+ID4gKw0KPiA+DQo+ID4gKyoqLw0KPiA+DQo+ID4gK1VJTlQ2NA0KPiA+DQo+ID4gK0VGSUFQ SQ0KPiA+DQo+ID4gK0dldFBlcmZvcm1hbmNlQ291bnRlclByb3BlcnRpZXMgKA0KPiA+DQo+ID4g KyAgT1VUICAgICAgVUlOVDY0ICAgICAgICAgICAgICAgICAgICAqU3RhcnRWYWx1ZSwNCj4gPiBP UFRJT05BTA0KPiA+DQo+ID4gKyAgT1VUICAgICAgVUlOVDY0ICAgICAgICAgICAgICAgICAgICAq RW5kVmFsdWUNCj4gPiBPUFRJT05BTA0KPiA+DQo+ID4gKyAgKQ0KPiA+DQo+ID4gK3sNCj4gPg0K PiA+ICsgIHJldHVybiAoVUlOVDY0KSgtMSk7DQo+ID4NCj4gPiArfQ0KPiA+DQo+ID4gKw0KPiA+ DQo+ID4gKy8qKg0KPiA+DQo+ID4gKyAgQ29udmVydHMgZWxhcHNlZCB0aWNrcyBvZiBwZXJmb3Jt YW5jZSBjb3VudGVyIHRvDQo+IHRpbWUNCj4gPiBpbiBuYW5vc2Vjb25kcy4NCj4gPg0KPiA+ICsN Cj4gPg0KPiA+ICsgIFRoaXMgZnVuY3Rpb24gY29udmVydHMgdGhlIGVsYXBzZWQgdGlja3Mgb2Yg cnVubmluZw0KPiA+IHBlcmZvcm1hbmNlIGNvdW50ZXIgdG8NCj4gPg0KPiA+ICsgIHRpbWUgdmFs dWUgaW4gdW5pdCBvZiBuYW5vc2Vjb25kcy4NCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICsgIEBwYXJh bSAgVGlja3MgICAgIFRoZSBudW1iZXIgb2YgZWxhcHNlZCB0aWNrcyBvZg0KPiA+IHJ1bm5pbmcg cGVyZm9ybWFuY2UgY291bnRlci4NCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICsgIEByZXR1cm4gVGhl IGVsYXBzZWQgdGltZSBpbiBuYW5vc2Vjb25kcy4NCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICsqKi8N Cj4gPg0KPiA+ICtVSU5UNjQNCj4gPg0KPiA+ICtFRklBUEkNCj4gPg0KPiA+ICtHZXRUaW1lSW5O YW5vU2Vjb25kICgNCj4gPg0KPiA+ICsgIElOICAgICAgVUlOVDY0ICAgICAgICAgICAgICAgICAg ICAgVGlja3MNCj4gPg0KPiA+ICsgICkNCj4gPg0KPiA+ICt7DQo+ID4NCj4gPiArICByZXR1cm4g VGlja3M7DQo+ID4NCj4gPiArfQ0KPiA+DQo+ID4gZGlmZiAtLWdpdA0KPiA+DQo+IGEvVW5pdFRl c3RGcmFtZXdvcmtQa2cvTGlicmFyeS9Ib3N0L0Jhc2VUaW1lckxpYkhvc3QvQmFzDQo+ID4gZVRp bWVyTGliSG9zdC5pbmYNCj4gPg0KPiBiL1VuaXRUZXN0RnJhbWV3b3JrUGtnL0xpYnJhcnkvSG9z dC9CYXNlVGltZXJMaWJIb3N0L0Jhcw0KPiA+IGVUaW1lckxpYkhvc3QuaW5mDQo+ID4gbmV3IGZp bGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLmFjMDkxY2QxMGFmMQ0KPiA+ IC0tLSAvZGV2L251bGwNCj4gPiArKysNCj4gPg0KPiBiL1VuaXRUZXN0RnJhbWV3b3JrUGtnL0xp YnJhcnkvSG9zdC9CYXNlVGltZXJMaWJIb3N0L0Jhcw0KPiA+IGVUaW1lckxpYkhvc3QuaW5mDQo+ ID4gQEAgLTAsMCArMSw0MCBAQA0KPiA+ICsjIyBAZmlsZQ0KPiA+DQo+ID4gKyMgIE5VTEwgaW5z dGFuY2Ugb2YgVGltZXIgTGlicmFyeSBhcyBhIHRlbXBsYXRlLg0KPiA+DQo+ID4gKyMNCj4gPg0K PiA+ICsjICBBIG5vbi1mdW5jdGlvbmFsIGluc3RhbmNlIG9mIHRoZSBUaW1lciBMaWJyYXJ5DQo+ IHRoYXQNCj4gPiBjYW4gYmUgdXNlZCBhcyBhIHRlbXBsYXRlDQo+ID4NCj4gPiArIyAgZm9yIHRo ZSBpbXBsZW1lbnRhdGlvbiBvZiBhIGZ1bmN0aW9uYWwgdGltZXINCj4gbGlicmFyeQ0KPiA+IGlu c3RhbmNlLiBUaGlzIGxpYnJhcnkgaW5zdGFuY2UgY2FuDQo+ID4NCj4gPiArIyAgYWxzbyBiZSB1 c2VkIHRvIHRlc3QgYnVpbGQgRFhFLCBSdW50aW1lLCBEWEUgU0FMLA0KPiA+IGFuZCBEWEUgU01N IG1vZHVsZXMgdGhhdCByZXF1aXJlIHRpbWVyDQo+ID4NCj4gPiArIyAgc2VydmljZXMgYXMgd2Vs bCBhcyBFQkMgbW9kdWxlcyB0aGF0IHJlcXVpcmUgdGltZXINCj4gPiBzZXJ2aWNlcy4NCj4gPg0K PiA+ICsjDQo+ID4NCj4gPiArIyAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxOCwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbA0KPiA+IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4NCj4gPiArIw0KPiA+ DQo+ID4gKyMgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ ID4NCj4gPiArIw0KPiA+DQo+ID4gKyMNCj4gPg0KPiA+ICsjIw0KPiA+DQo+ID4gKw0KPiA+DQo+ ID4gK1tEZWZpbmVzXQ0KPiA+DQo+ID4gKyAgSU5GX1ZFUlNJT04gICAgICAgICAgICAgICAgICAg ID0gMHgwMDAxMDAwNQ0KPiA+DQo+ID4gKyAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICAgICAg ID0gQmFzZVRpbWVyTGliSG9zdA0KPiA+DQo+ID4gKyAgTU9EVUxFX1VOSV9GSUxFICAgICAgICAg ICAgICAgID0NCj4gQmFzZVRpbWVyTGliSG9zdC51bmkNCj4gPg0KPiA+ICsgIEZJTEVfR1VJRCAg ICAgICAgICAgICAgICAgICAgICA9IGEyYTQxM2I4LTQzYzMtDQo+IDQwY2MtDQo+ID4gYTI5OC1i ZTdhMjE0ZDM1NjQNCj4gPg0KPiA+ICsgIE1PRFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9 IEJBU0UNCj4gPg0KPiA+ICsgIFZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICA9IDEuMA0K PiA+DQo+ID4gKyAgTElCUkFSWV9DTEFTUyAgICAgICAgICAgICAgICAgID0gVGltZXJMaWINCj4g Pg0KPiA+ICsNCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICsjDQo+ID4NCj4gPiArIyAgVkFMSURfQVJD SElURUNUVVJFUyAgICAgICAgICAgPSBJQTMyIFg2NCBFQkMgQUFSQ0gNCj4gPg0KPiA+ICsjDQo+ ID4NCj4gPiArDQo+ID4NCj4gPiArW1NvdXJjZXNdDQo+ID4NCj4gPiArICBUaW1lckxpYkhvc3Qu Yw0KPiA+DQo+ID4gKw0KPiA+DQo+ID4gKw0KPiA+DQo+ID4gK1tQYWNrYWdlc10NCj4gPg0KPiA+ ICsgIE1kZVBrZy9NZGVQa2cuZGVjDQo+ID4NCj4gPiArDQo+ID4NCj4gPiArDQo+ID4NCj4gPiAr W0xpYnJhcnlDbGFzc2VzXQ0KPiA+DQo+ID4gKyAgRGVidWdMaWINCj4gPg0KPiA+ICsNCj4gPg0K PiA+IGRpZmYgLS1naXQNCj4gPg0KPiBhL1VuaXRUZXN0RnJhbWV3b3JrUGtnL0xpYnJhcnkvSG9z dC9CYXNlVGltZXJMaWJIb3N0L0Jhcw0KPiA+IGVUaW1lckxpYkhvc3QudW5pDQo+ID4NCj4gYi9V bml0VGVzdEZyYW1ld29ya1BrZy9MaWJyYXJ5L0hvc3QvQmFzZVRpbWVyTGliSG9zdC9CYXMNCj4g PiBlVGltZXJMaWJIb3N0LnVuaQ0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gaW5kZXgg MDAwMDAwMDAwMDAwLi42ZTEwMGJkMzgzZDINCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrDQo+ ID4NCj4gYi9Vbml0VGVzdEZyYW1ld29ya1BrZy9MaWJyYXJ5L0hvc3QvQmFzZVRpbWVyTGliSG9z dC9CYXMNCj4gPiBlVGltZXJMaWJIb3N0LnVuaQ0KPiA+IEBAIC0wLDAgKzEsMTkgQEANCj4gPiAr Ly8gLyoqIEBmaWxlDQo+ID4NCj4gPiArLy8gTlVMTCBpbnN0YW5jZSBvZiBUaW1lciBMaWJyYXJ5 IGFzIGEgdGVtcGxhdGUuDQo+ID4NCj4gPiArLy8NCj4gPg0KPiA+ICsvLyBBIG5vbi1mdW5jdGlv bmFsIGluc3RhbmNlIG9mIHRoZSBUaW1lciBMaWJyYXJ5DQo+IHRoYXQNCj4gPiBjYW4gYmUgdXNl ZCBhcyBhIHRlbXBsYXRlDQo+ID4NCj4gPiArLy8gZm9yIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBh IGZ1bmN0aW9uYWwgdGltZXINCj4gbGlicmFyeQ0KPiA+IGluc3RhbmNlLiBUaGlzIGxpYnJhcnkg aW5zdGFuY2UgY2FuDQo+ID4NCj4gPiArLy8gYWxzbyBiZSB1c2VkIHRvIHRlc3QgYnVpbGQgRFhF LCBSdW50aW1lLCBEWEUgU0FMLA0KPiA+IGFuZCBEWEUgU01NIG1vZHVsZXMgdGhhdCByZXF1aXJl IHRpbWVyDQo+ID4NCj4gPiArLy8gc2VydmljZXMgYXMgd2VsbCBhcyBFQkMgbW9kdWxlcyB0aGF0 IHJlcXVpcmUgdGltZXINCj4gPiBzZXJ2aWNlcy4NCj4gPg0KPiA+ICsvLw0KPiA+DQo+ID4gKy8v IENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwNCj4gPiBy aWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiA+DQo+ID4gKy8vDQo+ID4NCj4gPiArLy8gU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gPg0KPiA+ICsvLw0KPiA+DQo+ ID4gKy8vICoqLw0KPiA+DQo+ID4gKw0KPiA+DQo+ID4gKw0KPiA+DQo+ID4gKyNzdHJpbmcgU1RS X01PRFVMRV9BQlNUUkFDVCAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tDQo+IFVTDQo+ID4gIkhv c3QgaW5zdGFuY2Ugb2YgVGltZXIgTGlicmFyeSINCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICsjc3Ry aW5nIFNUUl9NT0RVTEVfREVTQ1JJUFRJT04gICAgICAgICAgI2xhbmd1YWdlIGVuLQ0KPiBVUw0K PiA+ICJBbiBpbnN0YW5jZSBvZiB0aGUgVGltZXIgTGlicmFyeSB0aGF0IGNhbiBiZSB1c2VkIGZv cg0KPiA+IGhvc3QgYmFzZWQgdW5pdCB0ZXN0cy4iDQo+ID4NCj4gPiArDQo+ID4NCj4gPiBkaWZm IC0tZ2l0DQo+ID4NCj4gYS9Vbml0VGVzdEZyYW1ld29ya1BrZy9Vbml0VGVzdEZyYW1ld29ya1Br Z0hvc3QuZHNjLmluYw0KPiA+DQo+IGIvVW5pdFRlc3RGcmFtZXdvcmtQa2cvVW5pdFRlc3RGcmFt ZXdvcmtQa2dIb3N0LmRzYy5pbmMNCj4gPiBpbmRleCBlOTU0OTY4ZWZjNTIuLmJjN2I3YWZhMTcy OSAxMDA2NDQNCj4gPiAtLS0NCj4gPg0KPiBhL1VuaXRUZXN0RnJhbWV3b3JrUGtnL1VuaXRUZXN0 RnJhbWV3b3JrUGtnSG9zdC5kc2MuaW5jDQo+ID4gKysrDQo+ID4NCj4gYi9Vbml0VGVzdEZyYW1l d29ya1BrZy9Vbml0VGVzdEZyYW1ld29ya1BrZ0hvc3QuZHNjLmluYw0KPiA+IEBAIC0xMyw2ICsx Myw3IEBADQo+ID4NCj4gPg0KPiBVbml0VGVzdExpYnxVbml0VGVzdEZyYW1ld29ya1BrZy9MaWJy YXJ5L1VuaXRUZXN0TGliL1VuaQ0KPiA+IHRUZXN0TGliQ21vY2thLmluZg0KPiA+DQo+ID4NCj4g Pg0KPiBEZWJ1Z0xpYnxVbml0VGVzdEZyYW1ld29ya1BrZy9MaWJyYXJ5L1Bvc2l4L0RlYnVnTGli UG9zaQ0KPiA+IHgvRGVidWdMaWJQb3NpeC5pbmYNCj4gPg0KPiA+DQo+ID4NCj4gTWVtb3J5QWxs b2NhdGlvbkxpYnxVbml0VGVzdEZyYW1ld29ya1BrZy9MaWJyYXJ5L1Bvc2l4L00NCj4gPiBlbW9y eUFsbG9jYXRpb25MaWJQb3NpeC9NZW1vcnlBbGxvY2F0aW9uTGliUG9zaXguaW5mDQo+ID4NCj4g PiArDQo+ID4NCj4gVGltZXJMaWJ8VW5pdFRlc3RGcmFtZXdvcmtQa2cvTGlicmFyeS9Ib3N0L0Jh c2VUaW1lckxpYkgNCj4gPiBvc3QvQmFzZVRpbWVyTGliSG9zdC5pbmYNCj4gPg0KPiA+DQo+ID4N Cj4gPiAgW0J1aWxkT3B0aW9uc10NCj4gPg0KPiA+ICAgIEdDQzoqXypfKl9DQ19GTEFHUyA9IC1m bm8tcGllDQo+ID4NCj4gPiAtLQ0KPiA+IDIuMjUuMS52ZnMuMS4xDQo+ID4NCj4gPg0KPiA+IC09 LT0tPS09LT0tPQ0KPiA+IEdyb3Vwcy5pbyBMaW5rczogWW91IHJlY2VpdmUgYWxsIG1lc3NhZ2Vz IHNlbnQgdG8gdGhpcw0KPiA+IGdyb3VwLg0KPiA+DQo+ID4gVmlldy9SZXBseSBPbmxpbmUgKCM2 MjI0Nyk6DQo+ID4gaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvNjIyNDcN Cj4gPiBNdXRlIFRoaXMgVG9waWM6IGh0dHBzOi8vZ3JvdXBzLmlvL210Lzc1Mzc5Njc4LzE2NDM0 OTYNCj4gPiBHcm91cCBPd25lcjogZGV2ZWwrb3duZXJAZWRrMi5ncm91cHMuaW8NCj4gPiBVbnN1 YnNjcmliZTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL3Vuc3ViDQo+ID4gW21pY2hh ZWwuZC5raW5uZXlAaW50ZWwuY29tXQ0KPiA+IC09LT0tPS09LT0tPQ0KDQo=