From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web12.3641.1611884584018996473 for ; Thu, 28 Jan 2021 17:43:04 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=JN/rshHV; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: nathaniel.l.desimone@intel.com) IronPort-SDR: YcFmiRObaR/xyG2Q883/86K2RrJyDMDJAbW1AEfzqUvljZ4dhV876rV++PrY+DW5NRYQbQxh+O R/kv+dqmFZew== X-IronPort-AV: E=McAfee;i="6000,8403,9878"; a="265178252" X-IronPort-AV: E=Sophos;i="5.79,384,1602572400"; d="scan'208";a="265178252" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jan 2021 17:43:02 -0800 IronPort-SDR: /LIILl45VnGZE8nc9ZyXy9D8OddSDm8njrVY/CYUzXa46pVa+cXdINY/xvhxr5wjfRWa7qWdJA tejvWTq8K5vA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,384,1602572400"; d="scan'208";a="394601838" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga007.jf.intel.com with ESMTP; 28 Jan 2021 17:43:01 -0800 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Thu, 28 Jan 2021 17:43:01 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Thu, 28 Jan 2021 17:43:01 -0800 Received: from NAM02-BL2-obe.outbound.protection.outlook.com (104.47.38.58) 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.1713.5; Thu, 28 Jan 2021 17:43:00 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=chtELtRLqfN20FppqelDUb/mDed5XOXFWFjfTvtG5CEt1gNIS+COm2DsJkyuEXFXAIL2ARiMR7nMrwYPxZATlcJX4i7BBVPTpmPbm65XzZY+kUEO37RpaHHgsWLYKAOlT49Hp7neBNgDNX5Gy7FTo1a+wVBOVaN2K18/SF+8fnOElMl0dnJ2DQACYl+l77+gjLmxCSaTrjT8/DAQvMAVu9i70ryk6XX2pRc0F7RJtK/ekOZtZ6NJcIH6xlrn9NdAa9OHIJB3Tz5cmJN6w17C6W95Y/lUt/rFsAzc/SOZ/E1sj+04lO9F4rERwkoVJ9Rfg3N7gOo5ybLsekp5kz39JQ== 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=oZQK7jF+dzCrzcCuKgwfT2LWtV3+RNkoPerxjcerJJY=; b=Qe4qtRSoKHYB6EXfBtOx6tbmPUGFv1HJT0H74nHnTy7+ph+YXydr+/gPiQ8GjEc8za+LXuzYssOHJuK0SMSlq/Un7SRMGzjBfn0Q14ljTcquesXSNPsnPoBX/r+UcaAhzBJnt+Wwg9j3YMkHPq/2+Zbn2fDJDQar2fgzAZiWdRaiBI/zZsWDJq/8BKLgj9M3/Ot8r6aNYy/Ax8uUXpJ6E9hABxpGGcMlDhITx9gKE9wdMMvVhDXwJcGoSsUtyi9J/L14rKEcWqMFREG12dUVyMNDTVnpShvgbjAWjce/4x50Aj7spJFBAItsvVWukOi4wsmz5uTnz7r41hengtNlUA== 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=oZQK7jF+dzCrzcCuKgwfT2LWtV3+RNkoPerxjcerJJY=; b=JN/rshHVEdJBvuPxVajNNl52AH0Kgub/IXJmp56mYoKZLS7y6/wWD9k1+/amscn3Y2oR0GsqCZZfG9UV7IBJlFFi+Aio2bQ5T+BCDV4nhgRPNCMOby+NZoqn5ZRXnd2DJBzKhlhekrcT5zDcMaO6Q5ENsx+n0cupiyWH6mFTh5Q= Received: from MWHPR1101MB2160.namprd11.prod.outlook.com (2603:10b6:301:5b::12) by MWHPR1101MB2285.namprd11.prod.outlook.com (2603:10b6:301:57::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.17; Fri, 29 Jan 2021 01:42:59 +0000 Received: from MWHPR1101MB2160.namprd11.prod.outlook.com ([fe80::9c10:13f2:a31c:a424]) by MWHPR1101MB2160.namprd11.prod.outlook.com ([fe80::9c10:13f2:a31c:a424%6]) with mapi id 15.20.3784.020; Fri, 29 Jan 2021 01:42:59 +0000 From: "Nate DeSimone" To: "devel@edk2.groups.io" , "wonderfly@waymo.com" Subject: Re: [edk2-devel] What is a "NULL" library class? Thread-Topic: [edk2-devel] What is a "NULL" library class? Thread-Index: AQHW9axr9qAvKJctEUyW7AVuEQeTG6o9yYyg Date: Fri, 29 Jan 2021 01:42:58 +0000 Message-ID: References: <9vLZ.1611858118289759978.CNuw@groups.io> In-Reply-To: <9vLZ.1611858118289759978.CNuw@groups.io> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.5.1.3 dlp-product: dlpe-windows 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: [50.53.190.176] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 840b54df-7d15-436e-03fb-08d8c3f73569 x-ms-traffictypediagnostic: MWHPR1101MB2285: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: qhCHoOMqDkx72tlb5y3GzKd3g+jFxYFspekgoGOHLPCAeZff53kfiCoxXGEhMsIH5VQtaHJtny3T/rNQ/OjFhyptfD9guGdgvTosEOGmDRCCXoPCrogvRztrcgOrLt/KhoQqHGhfkD1D/m0OdEbR/ttPMVroUP28hxCxSTgxJjKuoz68UqWKD8ul3gvbI139pwIrCJb7blbJDSke9pPP+IGV5yyfdsyXD2HAEQ/ugCgOGSnmcM8qdt9V3dDVLGeHSQWBkCkb7+GSQRNgVUXMQFbg4pqctY7OFWxcNM0+bkEsOVzvIu0j7TrRMkPSerGAZf1M1C89JsYvLtt4M+znu0VbgAk2jZ0Su7q0wytY1W3rA5U+KtxtaqoqC6unrqnGfyZUtBMcBb6n2WdOSpGQcSaoOiNgKTBku4ymXm2/F2Z1ffewcms5h23ez9G9IoFiMVshokeKJePCiqWerAusH8exg3PT1Ce4j4rISlcRCB8JuXvs6hryxj2KEPzM2vg5vP3vUnKpi6aIooZ8qmyV+/KDw5qhu4rWNa2GyF26PQH7WKdZ95hW0/qmrlJrFVDGzgyjJyW0RbRbCXZ9l7QB7meGnCjqsMlnrZxiljykbGE= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1101MB2160.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39860400002)(346002)(376002)(366004)(396003)(136003)(66946007)(316002)(66476007)(55016002)(7696005)(52536014)(64756008)(66556008)(66446008)(110136005)(8936002)(2906002)(9686003)(966005)(83380400001)(26005)(8676002)(86362001)(186003)(478600001)(33656002)(71200400001)(5660300002)(53546011)(76116006)(6506007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?ZzllbTRmU0VaWnNGRXAxbXpobWQ5UjZZaG5TdnlYMitSLy9uOGYzUzNFbUtG?= =?utf-8?B?alpGekpZZmljeGNtSXRBRjAwZm1tdG03dWMwcnNueVc4QnYxU014Ky94R1JL?= =?utf-8?B?QXIwRU4zRlRwQnNNTnQvSDdJS3AvUk9SUitCd0J3RFo0V0kzYnhBRVd1SmhE?= =?utf-8?B?YXpGTXpxM045bDhVNEpaQStyT2pCcGZnT0hKT3d2VW1neHFudTZYK0hCenBm?= =?utf-8?B?dXVRSzVOcTFNd2FYRGlGdmR5ZWNtMjllNFVwQ1Z2V0pUc0J6MHJTVlRBZU5h?= =?utf-8?B?Y2NYOWtVdDNVc2JXSU02TjVMUFlkUVNjekl5RStseTFGQzhvU3VKMWVHcGpU?= =?utf-8?B?VE0wbEtyOThJWGdTWkZ0djBjYUNXMFJyQjhVVis0Z3V6Yk5QM1JoRkhKRG5p?= =?utf-8?B?VmxoMFgrRUVuckxwVlNtNmNuZU5NbVpGWnhLS3IxaUVTZzNFV1Btd2M0MWVv?= =?utf-8?B?dGN2YmNpWGZvOVJDUnN2akRHKzRxTGgrSzcxMjBFbFFhaUVFb0xicWlwemZI?= =?utf-8?B?OEdCQ3lxUFhJWjloMWx1MUpCd20wZ2FDYVhRcURwMnJmWDJqMk9Ya1F3RjFE?= =?utf-8?B?TEJNMUQ0ZHhPNUV6Wm5WdnVlT1h6NVdPaFN2bG83WDhHUnZqREVuTEhZbElv?= =?utf-8?B?L0ZsdnI0V2llcXhyR3d6Qm9JNUF0cnR5N2o2cTNTWjJaU1owaDhmbjBhK3Z6?= =?utf-8?B?ZlFOZTNMMjhSTmY1U2NQcGZVeXAvZWtUZ2dOU1REVmhQZ244MXpMd1R4azg0?= =?utf-8?B?c1BHK09YR3RsZ0VFQjFwb0ovbjEwSzgrNHZwY1paQkl1ZVM0TTU2WWtTUkFa?= =?utf-8?B?dHZETldaUFVUelZla20zMUYydkhiMS81TUo1Mko2WmJsTlAySWZYaGU5d1Bu?= =?utf-8?B?N0VIc1BkVU90UzMxR3hUVGVPMGpabUlHN015OHNHdm83UGNmbkdLNDJWWXNZ?= =?utf-8?B?Q3BlYW9qZXRWY3RlYThqQUJDSnBtYjA5MUp6bE9TbnBiME5XQ0NpNTE2RnBu?= =?utf-8?B?cmtDdk1KUzFEQUMwd1NUUG5mcUtGZEwrSStiYktoQjdwb29oeXhzTzdwSE1n?= =?utf-8?B?YmlncGtRUWtJcnRoUlFCMUxzVm1KUGttRUpNRHo3QzhzTFp6bDB6dlhYUjBO?= =?utf-8?B?cm9JZ3lBTUJ3RENlbWxaczlDUGYvMWQxRjdnMk1zT3hSMDhiOTRRTTdyZWh4?= =?utf-8?B?WmNFTlBPU2RxTUZwaHJRQ2x6TEhNWVJFaVRGdkkvdmoyOFdzVTE1dmI1d3cr?= =?utf-8?B?cXFWL05PN3IvUFZ2a3gza0g4VC9BK2tKVnBDTWIxbSt1eStHQWdSOHptRkdP?= =?utf-8?B?MGNGZUR3U1BtZWVZSWMwdmtiRzJ2cE5WZ1R0U0FwRnlHZUVLRC9HUXROcDJY?= =?utf-8?B?U3A0dGNzZlRNTm9lVzhrQndSeVBURnEyU2gyUFZjSmx3cm1zcm9MMzJBdEVP?= =?utf-8?Q?/G0OFlUf?= x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR1101MB2160.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 840b54df-7d15-436e-03fb-08d8c3f73569 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jan 2021 01:42:58.9680 (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: 72m5UpNSnnvbAmAWX5YHuWkO+R/IFmnhlRlcaaAupCHh0RBTQShKzANkyuwY+gSWP7wPZgARlBhdPTOpI78e/Gv0CTpFimSGhi07/hDSoHE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1101MB2285 Return-Path: nathaniel.l.desimone@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgVGhlcmUsDQoNCkZpcnN0IG9mIGFsbCwgd2VsY29tZSENCg0KU28sIOKAnE5VTEzigJ0gbGli cmFyeSBjbGFzc2VzIGFyZSBjb25jZXB0dWFsbHkgYW4gImFub255bW91cyBsaWJyYXJ5Ii4gSXQg ZW5hYmxlcyBvbmUgdG8gc3RhdGljYWxseSBsaW5rIGNvZGUgaW50byBhIG1vZHVsZSBldmVuIGlm IHRoZSBtb2R1bGUgZG9lc24ndCBkaXJlY3RseSBjYWxsIGZ1bmN0aW9ucyBpbiB0aGF0IGxpYnJh cnkuIEFsbCBsaWJyYXJpZXMsIGJvdGggcmVndWxhciBsaWJyYXJpZXMgd2l0aCBhIGRlY2xhcmVk IExpYnJhcnlDbGFzcyBhcyB3ZWxsIGFzIHRoZXNlIGFub255bW91cyBsaWJyYXJpZXMsIGNhbiBw dWJsaXNoIGJvdGggYSBjb25zdHJ1Y3RvciBhbmQgYSBkZXN0cnVjdG9yLiBUaGUgRURLIElJIGJ1 aWxkIHN5c3RlbSB3aWxsIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBzbWFsbCBhbW91bnQgb2Yg QyBjb2RlIHRoYXQgaW52b2tlcyBhbGwgbGlicmFyeSBjb25zdHJ1Y3RvcnMgYmVmb3JlIHRoZSBl bnRyeSBwb2ludCBmb3IgdGhlIG1vZHVsZSBpcyBpbnZva2VkLCBhbmQgYWxsIGRlc3RydWN0b3Jz IGFmdGVyIHRoZSBlbnRyeSBwb2ludCByZXR1cm5zLiBUaGlzIGlzIHVzZWZ1bCBmb3IgYnVpbGRp bmcgc3RhdGljYWxseSBsaW5rZWQgcGx1Zy1pbnMuDQoNCkkgdGhpbmsgbXkgZmF2b3JpdGUgZXhh bXBsZSBvZiB0aGlzIGluLWFjdGlvbiBpcyB0aGUgVUVGSSBTaGVsbCwgaGVyZSBpcyB3aGF0IGEg dHlwaWNhbCBEU0MgZGVjbGFyYXRpb24gZm9yIHRoZSBVRUZJIFNoZWxsIGxvb2tzIGxpa2U6DQoN ClNoZWxsUGtnL0FwcGxpY2F0aW9uL1NoZWxsL1NoZWxsLmluZiB7DQogIDxQY2RzRml4ZWRBdEJ1 aWxkPg0KICAgIGdFZmlTaGVsbFBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNoZWxsTGliQXV0b0luaXRp YWxpemV8RkFMU0UNCiAgPExpYnJhcnlDbGFzc2VzPg0KICAgIE5VTEx8U2hlbGxQa2cvTGlicmFy eS9VZWZpU2hlbGxMZXZlbDFDb21tYW5kc0xpYi9VZWZpU2hlbGxMZXZlbDFDb21tYW5kc0xpYi5p bmYNCiAgICBOVUxMfFNoZWxsUGtnL0xpYnJhcnkvVWVmaVNoZWxsTGV2ZWwyQ29tbWFuZHNMaWIv VWVmaVNoZWxsTGV2ZWwyQ29tbWFuZHNMaWIuaW5mDQogICAgTlVMTHxTaGVsbFBrZy9MaWJyYXJ5 L1VlZmlTaGVsbExldmVsM0NvbW1hbmRzTGliL1VlZmlTaGVsbExldmVsM0NvbW1hbmRzTGliLmlu Zg0KICAgIE5VTEx8U2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxEcml2ZXIxQ29tbWFuZHNMaWIv VWVmaVNoZWxsRHJpdmVyMUNvbW1hbmRzTGliLmluZg0KICAgIE5VTEx8U2hlbGxQa2cvTGlicmFy eS9VZWZpU2hlbGxJbnN0YWxsMUNvbW1hbmRzTGliL1VlZmlTaGVsbEluc3RhbGwxQ29tbWFuZHNM aWIuaW5mDQogICAgTlVMTHxTaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbERlYnVnMUNvbW1hbmRz TGliL1VlZmlTaGVsbERlYnVnMUNvbW1hbmRzTGliLmluZg0KICAgIE5VTEx8U2hlbGxQa2cvTGli cmFyeS9VZWZpU2hlbGxOZXR3b3JrMUNvbW1hbmRzTGliL1VlZmlTaGVsbE5ldHdvcmsxQ29tbWFu ZHNMaWIuaW5mDQogICAgTlVMTHxTaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbE5ldHdvcmsyQ29t bWFuZHNMaWIvVWVmaVNoZWxsTmV0d29yazJDb21tYW5kc0xpYi5pbmYNCiAgICBTaGVsbENvbW1h bmRMaWJ8U2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxDb21tYW5kTGliL1VlZmlTaGVsbENvbW1h bmRMaWIuaW5mDQogICAgSGFuZGxlUGFyc2luZ0xpYnxTaGVsbFBrZy9MaWJyYXJ5L1VlZmlIYW5k bGVQYXJzaW5nTGliL1VlZmlIYW5kbGVQYXJzaW5nTGliLmluZg0KICAgIEJjZmdDb21tYW5kTGli fFNoZWxsUGtnL0xpYnJhcnkvVWVmaVNoZWxsQmNmZ0NvbW1hbmRMaWIvVWVmaVNoZWxsQmNmZ0Nv bW1hbmRMaWIuaW5mDQogICAgU2hlbGxDRW50cnlMaWJ8U2hlbGxQa2cvTGlicmFyeS9VZWZpU2hl bGxDRW50cnlMaWIvVWVmaVNoZWxsQ0VudHJ5TGliLmluZg0KICAgIFNoZWxsTGlifFNoZWxsUGtn L0xpYnJhcnkvVWVmaVNoZWxsTGliL1VlZmlTaGVsbExpYi5pbmYNCn0NCg0KSWYgeW91IHRha2Ug YSBsb29rIGF0IFNoZWxsUGtnL0xpYnJhcnkvVWVmaVNoZWxsTGV2ZWwxQ29tbWFuZHNMaWIvVWVm aVNoZWxsTGV2ZWwxQ29tbWFuZHNMaWIuaW5mLCB5b3Ugd2lsbCBzZWUgdGhhdCB0aGUgY29uc3Ry dWN0b3IgZm9yIHRoYXQgYW5vbnltb3VzIGxpYnJhcnkgaXMgbmFtZWQgU2hlbGxMZXZlbDFDb21t YW5kc0xpYkNvbnN0cnVjdG9yKCkuIE5vdywgbGV0J3MgZ28gYW5kIGxvb2sgYXQgdGhlIGRlZmlu aXRpb24gZm9yIFNoZWxsTGV2ZWwxQ29tbWFuZHNMaWJDb25zdHJ1Y3RvcigpIGluIFNoZWxsUGtn L0xpYnJhcnkvVWVmaVNoZWxsTGV2ZWwxQ29tbWFuZHNMaWIvVWVmaVNoZWxsTGV2ZWwxQ29tbWFu ZHNMaWIuYyBhbmQgbm90ZSB0aGUgZm9sbG93aW5nIGNvZGUgc25pcHBldDoNCg0KU2hlbGxDb21t YW5kUmVnaXN0ZXJDb21tYW5kTmFtZShMInN0YWxsIiwgIFNoZWxsQ29tbWFuZFJ1blN0YWxsICAg Li4uDQpTaGVsbENvbW1hbmRSZWdpc3RlckNvbW1hbmROYW1lKEwiZm9yIiwgICAgU2hlbGxDb21t YW5kUnVuRm9yICAgICAuLi4NClNoZWxsQ29tbWFuZFJlZ2lzdGVyQ29tbWFuZE5hbWUoTCJnb3Rv IiwgICBTaGVsbENvbW1hbmRSdW5Hb3RvICAgIC4uLg0KU2hlbGxDb21tYW5kUmVnaXN0ZXJDb21t YW5kTmFtZShMImlmIiwgICAgIFNoZWxsQ29tbWFuZFJ1bklmICAgICAgLi4uDQpTaGVsbENvbW1h bmRSZWdpc3RlckNvbW1hbmROYW1lKEwic2hpZnQiLCAgU2hlbGxDb21tYW5kUnVuU2hpZnQgICAu Li4NClNoZWxsQ29tbWFuZFJlZ2lzdGVyQ29tbWFuZE5hbWUoTCJleGl0IiwgICBTaGVsbENvbW1h bmRSdW5FeGl0ICAgIC4uLg0KU2hlbGxDb21tYW5kUmVnaXN0ZXJDb21tYW5kTmFtZShMImVsc2Ui LCAgIFNoZWxsQ29tbWFuZFJ1bkVsc2UgICAgLi4uDQpTaGVsbENvbW1hbmRSZWdpc3RlckNvbW1h bmROYW1lKEwiZW5kaWYiLCAgU2hlbGxDb21tYW5kUnVuRW5kSWYgICAuLi4NClNoZWxsQ29tbWFu ZFJlZ2lzdGVyQ29tbWFuZE5hbWUoTCJlbmRmb3IiLCBTaGVsbENvbW1hbmRSdW5FbmRGb3IgIC4u Lg0KDQpUaGlzIGxpYnJhcnkgaXMgaW5zdGFsbGluZyBuZXcgY29tbWFuZHMgaW50byB0aGUgVUVG SSBzaGVsbCBkdXJpbmcgaXRzIGluaXRpYWxpemF0aW9uIHByb2NlZHVyZS4gVGhpcyBhbGxvd3Mg b25lIHRvIGFkZCBjdXN0b20gY29tbWFuZHMgdG8gdGhlIHNoZWxsIGFzIHN0YXRpY2FsbHkgbGlu a2VkIGJ1aWx0LWlucy4gQSB0eXBpY2FsIHVzZSBjYXNlIHdvdWxkIGJlIGltcGxlbWVudGluZyBw bGF0Zm9ybSBzcGVjaWZpYyBkaWFnbm9zdGljL3JlY292ZXJ5IHV0aWxpdGllcy4NCg0KSG9wZSB0 aGF0IGhlbHBzIQ0KTmF0ZQ0KDQo+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBl ZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIHdvbmRlcmZseUB3YXltby5jb20NCj4gU2VudDog VGh1cnNkYXksIEphbnVhcnkgMjgsIDIwMjEgMTA6MjIgQU0NCj4gVG86IGRldmVsQGVkazIuZ3Jv dXBzLmlvDQo+IFN1YmplY3Q6IFtlZGsyLWRldmVsXSBXaGF0IGlzIGEgIk5VTEwiIGxpYnJhcnkg Y2xhc3M/DQo+IA0KPiBIaSwNCj4gDQo+IEkgYW0gc3VwZXIgbmV3IHRvIEVESzIgZGV2ZWxvcG1l bnQgc28gZXhjdXNlIG15IGlnbm9yYW5jZS4gIFdoaWxlIGJyb3dzaW5nIHRoZSBjb2RlIGJhc2Ug SSBmaW5kIGEgbG90IHBsYWNlcyB3aGVyZSB0aGUga2V5d29yZCAiTlVMTCIgaXMgdXNlZCBpbiBw bGFjZSBvZiBhIExpYnJhcnlDbGFzcywgc3BlY2lmaWNhbGx5IGluIERTQyBmaWxlcy4gIEZvciBl eGFtcGxlLA0KPiBpbiBlZGsyL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkUGtnSWEzMi5kc2M6 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICANCj4gICBNZGVNb2R1bGVQa2cvQ29yZS9EeGUvRHhlTWFpbi5pbmYgew0K PiAgICAgPExpYnJhcnlDbGFzc2VzPg0KPiAgICAgICBOVUxMfE1kZU1vZHVsZVBrZy9MaWJyYXJ5 L0x6bWFDdXN0b21EZWNvbXByZXNzTGliL0x6bWFDdXN0b21EZWNvbXByZXNzTGliLmluZg0KPiAg IH0NCj4gDQo+IFdoYXQgZG9lcyB0aGlzIG1lYW4/ICBEb2VzIGl0IG1lYW4gdGhhdCB0aGUgTHpt YUN1c3RvbURlY29tcHJlc3NMaWIuaW5mIGxpYnJhcnkgaW5zdGFuY2UgaXMgdW5jb25kaXRpb25h bGx5IGxpbmtlZCBmb3IgdGhpcyBwYWNrYWdlPw0KPiANCg==