From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from mga02.intel.com (mga02.intel.com [134.134.136.20])
 by mx.groups.io with SMTP id smtpd.web08.12152.1645718029217681156
 for <devel@edk2.groups.io>;
 Thu, 24 Feb 2022 07:53:49 -0800
Authentication-Results: mx.groups.io;
 dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=jrL8gnsp;
 spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: guo.dong@intel.com)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1645718029; x=1677254029;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=L/CgMmBXK18DSIl2L0MuR6NEp9diKUaXc5U2qw+BDBo=;
  b=jrL8gnsp5bZQV6PzKMZeMrnS3KRR0DK8yG35h2fQ66bnKsvU0okwNRRJ
   H3N77AWb4JcmtIJZGI9fB33zhFd/kRzWv92pgaYTVdnGA3POmiiP84zyX
   /uPvOlUoB2kFI5jnYGh/oPEurEaUzm1DT9qqr/Zx3P8uuhZM3CtLaonoc
   AI41TH/fEn4ORshvm0WfVdOCVfPg4RpoEHpeBYrRwBLJIw+IKKMbBX9NR
   na+6z2Npib+e1Mkjl5Hlv/Gm+LxqiZwb7INOkuBIAf+lf4PJenJBSmDDK
   CH5RxwsDLwe7mOqSO+ytKGzN0twnrKZEiAq/sbgoF7okGAa0oHHfRbNex
   w==;
X-IronPort-AV: E=McAfee;i="6200,9189,10268"; a="239665571"
X-IronPort-AV: E=Sophos;i="5.90,134,1643702400"; 
   d="scan'208";a="239665571"
Received: from orsmga002.jf.intel.com ([10.7.209.21])
  by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Feb 2022 07:53:48 -0800
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.90,134,1643702400"; 
   d="scan'208";a="506360968"
Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86])
  by orsmga002.jf.intel.com with ESMTP; 24 Feb 2022 07:53:47 -0800
Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by
 fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2308.21; Thu, 24 Feb 2022 07:53:47 -0800
Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by
 fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2308.21 via Frontend Transport; Thu, 24 Feb 2022 07:53:47 -0800
Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.109)
 by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2308.20; Thu, 24 Feb 2022 07:53:47 -0800
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=l7HSRmMF3bzEcB997vbZFyPzOOyDqqYLl4NogVa1Wkhk5yHGgNcKZ/zkGgflotUkVlTQEqtUhKNvRK/kEP0I1rafRq7ZemcAAEh/NiGMic6IiGNLVAWTZNJ4BPtE16Zhyt2DJACutQVEhKgikrl8MiQJRCNPXgcGh0UdUGmrLqzROUPiwt8vE/XL3iqUkwMHjXclV69gmJ/5OsxFsSzG9OrP61wf8arFAuFxzB4TzGdZaHOqrJ+1GeyoPV0fuM9abu7JyUwh0rYvir7tQXKT7/DkhUe8HnAEtiW4aMxAT93doVoX38Bo/2ulpzlgF81xx9NTjfHbERutR02XLf9KBA==
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=L/CgMmBXK18DSIl2L0MuR6NEp9diKUaXc5U2qw+BDBo=;
 b=nh/xcCoR1hdlmC/kNKYC57spGJCViOCNEEFgUixknW4fOY5Dj4sGIduqPc7yjHGNZ6hum0jjISa35StfrEGoniybd0cgJS2+t0fnCS/8fPvKo47LVwC/no4ztMUW4uSAhcszdH7qyjFPkMLiC6Ev2affAapQEzMri7yWiG+2VUOlm99eW87tXmVL9qIH630np5BRzvq9tLtin7FgmBQcoZsDz0M32TdcimFwAiPdkYYu/hqABJ8I3/7d+jf4czzVFoB1IPEZlYQiKqJTHNIqPaog4oNJnDk6OD9eguBUMInTlqg2PzYVrAE0Ep1dFCxo8jmrkcGe1KeTNeaY8YX8kg==
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 BYAPR11MB3622.namprd11.prod.outlook.com (2603:10b6:a03:fe::30)
 by CH0PR11MB5460.namprd11.prod.outlook.com (2603:10b6:610:d3::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.22; Thu, 24 Feb
 2022 15:53:44 +0000
Received: from BYAPR11MB3622.namprd11.prod.outlook.com
 ([fe80::45c8:c9c6:42a:a43d]) by BYAPR11MB3622.namprd11.prod.outlook.com
 ([fe80::45c8:c9c6:42a:a43d%4]) with mapi id 15.20.5017.024; Thu, 24 Feb 2022
 15:53:44 +0000
From: "Guo Dong" <guo.dong@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"patrick.rudolph@9elements.com" <patrick.rudolph@9elements.com>, "Ma,
 Maurice" <maurice.ma@intel.com>
CC: "Rhodes, Sean" <sean@starlabs.systems>, "Ni, Ray" <ray.ni@intel.com>,
	"You, Benjamin" <benjamin.you@intel.com>
Subject: Re: [edk2-devel] [PATCH 1/2] UefiPayloadPkg: Add i801 SMBus controller DXE
Thread-Topic: [edk2-devel] [PATCH 1/2] UefiPayloadPkg: Add i801 SMBus
 controller DXE
Thread-Index: AQHYJCcGVKKsXkkd+UKWTGJNjVidcqyYDs4AgAqAWwCAAFTxYA==
Date: Thu, 24 Feb 2022 15:53:44 +0000
Message-ID: <BYAPR11MB3622EE717CC08D70F1338DA19E3D9@BYAPR11MB3622.namprd11.prod.outlook.com>
References: <c8070771e19c158e3512319a33ae68bf32beab36.1645120287.git.sean@starlabs.systems>
 <CO1PR11MB49454D86BFBFA8779E877DA089369@CO1PR11MB4945.namprd11.prod.outlook.com>
 <CALNFmy0Ac8L4R1YOM0wM_=oHgO=GPAfHjn2_tAvyeBeYaF6SvQ@mail.gmail.com>
In-Reply-To: <CALNFmy0Ac8L4R1YOM0wM_=oHgO=GPAfHjn2_tAvyeBeYaF6SvQ@mail.gmail.com>
Accept-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
dlp-product: dlpe-windows
dlp-reaction: no-action
dlp-version: 11.6.200.16
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 6cd50711-e089-41d7-c68c-08d9f7add65c
x-ms-traffictypediagnostic: CH0PR11MB5460:EE_
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-microsoft-antispam-prvs: <CH0PR11MB5460555C8092CB700633A7829E3D9@CH0PR11MB5460.namprd11.prod.outlook.com>
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: iMC0BYJpEfvmS0MFZQG2nAg4eqcILzDeJWl3eGTGRUXzlXoD3Downj3+TCP5CypQuc9UTfHdadPETX058nBol+2NPxJdDqirCLseDKHFl74dNxEWJ11p1rYH3F1GQQZV7ffeAXPcp+ZWJSFIf9VCF3Q9Yk09V3J7S/YPTBW3I06WLj2sWqQhAswKpVwqgWU4h6yFFcrxuloR2UQjdR5cIgCJTGxCnIPukNXglIe+5Ib7a+MQcM/Hm14RqQIVPNg5Yh7MlaOv/g6IGUyy/uNPqf2TGfUcrgkgUSUudYhl8hQP2qKEuJiIU/k8jvuCetbN1Z3UaekJU9zFR9yNp2zLqYzyLPmc1/4RseGhGlkaS+7BFlryx1OAZGmOSSJ5E4XCfo9Ls18FZSXXKznBz0/glIFcjjh7pFxZyN2zH7PrD1YVXBP4U7lezpNsWWEf8/ImFpAAFwBUnbgEa6EZBrMLB116PeoOhb4p3qe3MPxImhK7vR3ff475lTiSQ7nAUjS+6TfYRTvYD+zuGVdQhTu6iHOeQ3Ekzj2dUUJmlPtAZSvp0pulUgj+fNTo6LllXcnhSl02u7r7CJYhOLr6a+GM6DRNPyB3qNoAnBdBnzZn5G94S/5bHlYRS+lQzJssqAWJ8SB7A2AIVbrGQ6GN3KepK6VlZtoMAeX7G6BUhEVJdsd9EENWSlUJdt8xTyLtSrTQ7iyZPDCRnAilcwzSX0fOXTiHlo3sr/1IIBhUNmMJlo2BBGjDrk0M+j6bWk1xTmeJtdlrmKgXT65aiWxxTs3uXBjLQ+dezgFcay7gh45pFVs1/sjj1QJC7S/lTlCgoAbuU3QZgZ5erqTGXAa1GvM/Vg==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR11MB3622.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(508600001)(966005)(30864003)(2906002)(19627235002)(71200400001)(55016003)(122000001)(8936002)(52536014)(6636002)(110136005)(6506007)(54906003)(7696005)(53546011)(316002)(33656002)(186003)(64756008)(76116006)(66476007)(66446008)(66556008)(8676002)(66946007)(107886003)(38070700005)(5660300002)(9686003)(82960400001)(38100700002)(83380400001)(86362001)(4326008)(579004);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aUMrb0VnSGpxZmxtcFZJUGx4YXZYT0pTdFN4TndMWmpibW1WUU9STGcxRXVm?=
 =?utf-8?B?QVl6UGdueFNCVitEZUNvaVVROVZwQU1CNTV2SWhMd3BXdUNRZmZ1L3BwMHRv?=
 =?utf-8?B?bmV1Y3FHZUQ4NmlVYTFndC9mOFFHUGpMWStVVUF2a0lhK3h6MGN4U3QrZjlY?=
 =?utf-8?B?eit1OWpNRlpXNU9YQ2luU0F4VXpNZnc2djRQeVlSSUtPazBwUzlRKzkwNElx?=
 =?utf-8?B?ck5NWGlQSHZld1VNZjR2UkhzbFpIRlFmcmJjcEtWRXNmNzRrQzRQMHBudjFT?=
 =?utf-8?B?cW10SG1nV1BXbFJJSkNkVzc3QmFZWkdNemF6VDVwVDg5RThHNGd5WWJFQlli?=
 =?utf-8?B?RG9XRzArRmdHcnJmRndyU3NFeVJwbENncnpCNW1NZ3BNQWtGdGlVZ055R2sz?=
 =?utf-8?B?NjlJMUIwa1kvRE9reXZyMUt6SGNOZ09ld3hWMG1WZ0NLWFo0QnNleUh3RU9p?=
 =?utf-8?B?VGU1K3had1gyN2lOdjk4a2xYVnRFd3BaTHpVWjBTYS9hSE5FWVFBczFKdzZW?=
 =?utf-8?B?Zjc3UTJvTjRSNysvTE40LytWTnpTZXZpTXFsa3BFeERiL3RRbnRaZC9ERWNi?=
 =?utf-8?B?cjc0WWUzK2N0WktSbGZ5L1F0SWE4V3RtVGVIcHFPRWY0Y2QvSkc1MHhYZkJR?=
 =?utf-8?B?dmR1VnhDRW1yNjZuMC9YSmRpR2p0cXF6Kzg4SUc3clFFNXVDTHo2NDFmVDhw?=
 =?utf-8?B?Z0s5VzBxRWNCMDR0WTdhYUs5Z0p6MHY2MmJUZTFFVDNJcEFqejAxb1ZtTGhn?=
 =?utf-8?B?Z1dLME1wclVud1ZkdjY2SVQrZVBsUHk5UlJHTHVIazFtWktuZzNyVG9GSm5R?=
 =?utf-8?B?VjZyS3JXMzltVEUwVUpFMThWeldNNnNDTUYrbHcrTit5NmVzOUQrNXp6dnpl?=
 =?utf-8?B?bHlOdWpSLzB1ejR5Q2RlMllsdGNPY3FkODk2SFVoRk5mS0RaT3hiS1Zvc295?=
 =?utf-8?B?bUJESnpVYjRjM0IvVHh0aGs1WE5GZUpSSElaOUtRdG9yMDRkd0NGVFgyZThm?=
 =?utf-8?B?NXFRMnRodllTdDNEM1I2bUxQS0Y5c1JHUkFNRWpRRUdEdGZhSkFuL2pWeXl2?=
 =?utf-8?B?WGIzejBvRUtpZUQ3aXN3cnB4bll4ckZML0t0SWtycmNoSTlNZTNRdFhUUVNk?=
 =?utf-8?B?SUd4eGZLTG1pdkd5b3h4NFozeE1pS0NuaThxRWlRQkFWdEVxQ2o1VEVyMksw?=
 =?utf-8?B?SU5XUDV2Y0d6VlBNR3h5dDdVTWNNeGx0dG81akxISXFWN0hSS3NaeFdIbmlr?=
 =?utf-8?B?L092TWhvSlN1c0JFZ1R2cHRxc2p1Q2J5Y0t0aEhnbnR0QjQ4dTdqUHIwcWJU?=
 =?utf-8?B?VWgyUWptMkc4YkRCZkg5SVNycXNacjR6YW5kSXJmcTVlNWFURTFIL2VyMXRt?=
 =?utf-8?B?UzhWQXg1YWtxazYrZGdMWjVUa0FiZkhLN2ZGKzBrQkk2MFZyWlBXa2VPYXdn?=
 =?utf-8?B?dE5LVHZxNjlSUlRNekZVbGdYN1l6OTk0NFNxejF4enduVGR6NTNmNkNzN0VX?=
 =?utf-8?B?ZmR3UVcyMC9uaUNXRWdoT0dHOFBBS2VsRUVvT2ZDeWZYaVR2S2wxTHNhTEFj?=
 =?utf-8?B?RlU4L2ZrK0lpaWxNeFBReDRMS1R1MHRFMlQyclJDdTZMS0FnRWF1YVdVTTBw?=
 =?utf-8?B?Nk9OWnZ2TVhYK25MQjBjSHZoeUEvVWJqbkNsMVF2K1FpcnRFUkxkUDllcUFn?=
 =?utf-8?B?YzUyS1JrVDlXc3h0RTJCME5wUURzL24rUjQ2T1pxK2hMNnRnZEhuMmVZOGRI?=
 =?utf-8?B?aU83K0wydDFIVDNEdkRpVmUzd3dKdzNrZUIvQzFjOHdIUThyOHVVNVAxMUFl?=
 =?utf-8?B?WjRJS2hYZUN6QzJvYnlYd0dtNHh1VVQ1czNPSm1Tb3o1L05kZy95dDFUNGVE?=
 =?utf-8?B?ZUJUS3R3QkE1bEVYQ0JWNU1sSGRScGdGMitqZE5DK0RKRWVFTkgyb0EyL3dE?=
 =?utf-8?B?a2pvaHh5bzRtanVVelZNWnVzdXRIL1IydkRWbGN5OCtsVW9halhqeTcxTFgv?=
 =?utf-8?B?T28zVlFNSVZ4eFZST2VkazNNWXcwZElmMzNjcCtVaCtiTVNOcVgvL1JUdHdB?=
 =?utf-8?B?UytwaHhsZkNIQ0F2K0VlRG00Q2tMV3B6MUEzMDJMWXBUMjhGS1VhaldiZURQ?=
 =?utf-8?B?UmFpVVQyT0ZpanQ2b1pLQm1SLzdaSHlsNU05QUhYQjUxMUlCVytvR1AvNHVU?=
 =?utf-8?B?NjFySDNxM2FUTzlGelBNZzg0OWJuMHpNcmhUZlRYOXlnK1Y2VmpzZXZWc0NY?=
 =?utf-8?Q?CmTSMQjgK7Y7j7iJMzWUSgm8c3nHYa2Ltg5sKKNP3o=3D?=
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR11MB3622.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6cd50711-e089-41d7-c68c-08d9f7add65c
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Feb 2022 15:53:44.6505
 (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: ox36UhdrJUlsBwrZFCKH69hATPHFb46Gz5oW/seMzZBlSQarvIA6zNco2eoAP24V72/2POtZNohGwnkz9H4gVg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR11MB5460
Return-Path: guo.dong@intel.com
X-OriginatorOrg: intel.com
Content-Language: en-US
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

DQpIaSBQYXRyaWNrLA0KDQpVZWZpUGF5bG9hZFBrZy9MaWJyYXJ5L1NwaUZsYXNoTGliL1NwaUZs
YXNoTGliLmluZiBpcyBhIGNvbW1vbiBtb2R1bGUgYXMgdGhlIGNvbW1pdCBtZXNzYWdlIG1lbnRp
b25lZCBhcyBiZWxvdzoNCg0KKiBVZWZpUGF5bG9hZFBrZzogQWRkIFNwaUZsYXNoTGliDQoNClRo
aXMgaXMgYSBjb21tb24gU1BJIEZsYXNoIGxpYnJhcnkgdXNlZCBmb3IgdGhlIEludGVsIHBsYXRm
b3JtIHRoYXQNCnN1cHBvcnRzIFNQSSBoYXJkd2FyZSBzZXF1ZW5jZS4gVGhpcyBsaWJyYXJ5IHBy
b3ZpZGVzIGFjdHVhbCBTUEkgZmxhc2gNCm9wZXJhdGlvbiB2aWEgSW50ZWwgUENIIFNQSSBjb250
cm9sbGVyLg0KDQpUaGFua3MsDQpHdW8NCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZy
b206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxm
IE9mIFBhdHJpY2sgUnVkb2xwaA0KU2VudDogVGh1cnNkYXksIEZlYnJ1YXJ5IDI0LCAyMDIyIDM6
NDYgQU0NClRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgTWEsIE1hdXJpY2UgPG1hdXJpY2UubWFA
aW50ZWwuY29tPg0KQ2M6IFJob2RlcywgU2VhbiA8c2VhbkBzdGFybGFicy5zeXN0ZW1zPjsgRG9u
ZywgR3VvIDxndW8uZG9uZ0BpbnRlbC5jb20+OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsg
WW91LCBCZW5qYW1pbiA8YmVuamFtaW4ueW91QGludGVsLmNvbT4NClN1YmplY3Q6IFJlOiBbZWRr
Mi1kZXZlbF0gW1BBVENIIDEvMl0gVWVmaVBheWxvYWRQa2c6IEFkZCBpODAxIFNNQnVzIGNvbnRy
b2xsZXIgRFhFDQoNCkhpIE1hdXJpY2UsDQpJIGFncmVlIHRoYXQgZWRrMi1wbGF0Zm9ybXMgaXMg
dGhlIHJpZ2h0IHBsYWNlLg0KSG93IHNob3VsZCBpdCBiZSB1c2VkIHRvIGJ1aWxkIFVlZmlQbGF5
bG9hZFBrZz8gU2hvdWxkIGl0IGJlIGhvb2tlZCB1cCBhcyBnaXQgc3VibW9kdWxlPw0KDQpKdXN0
IHdvbmRlcmluZyB3aHkgeW91IGFkZGVkIHZlbmRvciAob3IgcGxhdGZvcm0pIHNwZWNpZmljIGNv
ZGUgaW4gVWVmaVBheWxvYWRQa2cvTGlicmFyeS9TcGlGbGFzaExpYi9TcGlGbGFzaExpYi5pbmYg
Pw0KUGxlYXNlIGNsYXJpZnkuDQoNClJlZ2FyZHMsDQpQYXRyaWNrIFJ1ZG9scGgNCg0KT24gVGh1
LCBGZWIgMTcsIDIwMjIgYXQgNzoyNCBQTSBNYSwgTWF1cmljZSA8bWF1cmljZS5tYUBpbnRlbC5j
b20+IHdyb3RlOg0KPg0KPiBUaGlzIHZlbmRvciBzcGVjaWZpYyBkZXZpY2UgZHJpdmVyIGltcGxl
bWVudGF0aW9uIGRvZXMgbm90IHNlZW0gdG8gZml0IGludG8gVUVGSSBwYXlsb2FkIHBhY2thZ2Ug
c2NvcGUgd2VsbC4NCj4NCj4gRG8geW91IHRoaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2Nv
cmUvZWRrMi1wbGF0Zm9ybXMvdHJlZS9tYXN0ZXIvU2lsaWNvbiBjb3VsZCBiZSBhIGJldHRlciBs
b2NhdGlvbiA/DQo+DQo+IFRoYW5rcw0KPiBNYXVyaWNlDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNz
YWdlLS0tLS0NCj4gPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91
cHMuaW8+IE9uIEJlaGFsZiBPZiBTZWFuIA0KPiA+IFJob2Rlcw0KPiA+IFNlbnQ6IFRodXJzZGF5
LCBGZWJydWFyeSAxNywgMjAyMiA5OjUxDQo+ID4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+
ID4gQ2M6IERvbmcsIEd1byA8Z3VvLmRvbmdAaW50ZWwuY29tPjsgUGF0cmljayBSdWRvbHBoIA0K
PiA+IDxwYXRyaWNrLnJ1ZG9scGhAOWVsZW1lbnRzLmNvbT47IE5pLCBSYXkgPHJheS5uaUBpbnRl
bC5jb20+OyBNYSwgDQo+ID4gTWF1cmljZSA8bWF1cmljZS5tYUBpbnRlbC5jb20+OyBZb3UsIEJl
bmphbWluIA0KPiA+IDxiZW5qYW1pbi55b3VAaW50ZWwuY29tPg0KPiA+IFN1YmplY3Q6IFtlZGsy
LWRldmVsXSBbUEFUQ0ggMS8yXSBVZWZpUGF5bG9hZFBrZzogQWRkIGk4MDEgU01CdXMgDQo+ID4g
Y29udHJvbGxlciBEWEUNCj4gPg0KPiA+IEZyb206IFBhdHJpY2sgUnVkb2xwaCA8cGF0cmljay5y
dWRvbHBoQDllbGVtZW50cy5jb20+DQo+ID4NCj4gPiBJbXBsZW1lbnQgYSBzdWJzZXQgb2YgdGhl
IGdFZmlTbWJ1c0hjUHJvdG9jb2xHdWlkIHVzaW5nIGEgZ2VuZXJpYyANCj4gPiBQQ0kgaTgwMSBT
TUJ1cyBjb250cm9sbGVyLg0KPiA+DQo+ID4gQ2M6IEd1byBEb25nIDxndW8uZG9uZ0BpbnRlbC5j
b20+DQo+ID4gQ2M6IFJheSBOaSA8cmF5Lm5pQGludGVsLmNvbT4NCj4gPiBDYzogTWF1cmljZSBN
YSA8bWF1cmljZS5tYUBpbnRlbC5jb20+DQo+ID4gQ2M6IEJlbmphbWluIFlvdSA8YmVuamFtaW4u
eW91QGludGVsLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBQYXRyaWNrIFJ1ZG9scGggPHBhdHJp
Y2sucnVkb2xwaEA5ZWxlbWVudHMuY29tPg0KPiA+IC0tLQ0KPiA+ICAuLi4vTGlicmFyeS9Ccm90
bGlDdXN0b21EZWNvbXByZXNzTGliL2Jyb3RsaSAgfCAgIDIgKy0NCj4gPiAgVWVmaVBheWxvYWRQ
a2cvU21idXNEeGUvU01CdXNpODAxRHhlLmMgICAgICAgIHwgNTU2DQo+ID4gKysrKysrKysrKysr
KysrKysrDQo+ID4gIFVlZmlQYXlsb2FkUGtnL1NtYnVzRHhlL1NNQnVzaTgwMUR4ZS5oICAgICAg
ICB8ICAxNyArDQo+ID4gIFVlZmlQYXlsb2FkUGtnL1NtYnVzRHhlL1NNQnVzaTgwMUR4ZS5pbmYg
ICAgICB8ICA0NSArKw0KPiA+ICBVZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZFBrZy5kc2MgICAg
ICAgICAgICAgfCAgIDcgKw0KPiA+ICBVZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZFBrZy5mZGYg
ICAgICAgICAgICAgfCAgIDUgKw0KPiA+ICA2IGZpbGVzIGNoYW5nZWQsIDYzMSBpbnNlcnRpb25z
KCspLCAxIGRlbGV0aW9uKC0pICBjcmVhdGUgbW9kZSANCj4gPiAxMDA2NDQgVWVmaVBheWxvYWRQ
a2cvU21idXNEeGUvU01CdXNpODAxRHhlLmMNCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IFVlZmlQ
YXlsb2FkUGtnL1NtYnVzRHhlL1NNQnVzaTgwMUR4ZS5oDQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0
NCBVZWZpUGF5bG9hZFBrZy9TbWJ1c0R4ZS9TTUJ1c2k4MDFEeGUuaW5mDQo+ID4NCj4gPiBkaWZm
IC0tZ2l0IGEvTWRlTW9kdWxlUGtnL0xpYnJhcnkvQnJvdGxpQ3VzdG9tRGVjb21wcmVzc0xpYi9i
cm90bGkNCj4gPiBiL01kZU1vZHVsZVBrZy9MaWJyYXJ5L0Jyb3RsaUN1c3RvbURlY29tcHJlc3NM
aWIvYnJvdGxpDQo+ID4gaW5kZXggZjQxNTNhMDlmOC4uNjY2YzMyODBjYyAxNjAwMDANCj4gPiAt
LS0gYS9NZGVNb2R1bGVQa2cvTGlicmFyeS9Ccm90bGlDdXN0b21EZWNvbXByZXNzTGliL2Jyb3Rs
aQ0KPiA+ICsrKyBiL01kZU1vZHVsZVBrZy9MaWJyYXJ5L0Jyb3RsaUN1c3RvbURlY29tcHJlc3NM
aWIvYnJvdGxpDQo+ID4gQEAgLTEgKzEgQEANCj4gPiAtU3VicHJvamVjdCBjb21taXQgZjQxNTNh
MDlmODdjYmI5YzgyNmQ4ZmMxMmM3NDY0MmJiMmQ4NzllYQ0KPiA+ICtTdWJwcm9qZWN0IGNvbW1p
dCA2NjZjMzI4MGNjMTFkYzQzM2MzMDNkNzlhODNkNGZmYmRkMTJjYzhkDQo+ID4gZGlmZiAtLWdp
dCBhL1VlZmlQYXlsb2FkUGtnL1NtYnVzRHhlL1NNQnVzaTgwMUR4ZS5jDQo+ID4gYi9VZWZpUGF5
bG9hZFBrZy9TbWJ1c0R4ZS9TTUJ1c2k4MDFEeGUuYw0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0
DQo+ID4gaW5kZXggMDAwMDAwMDAwMC4uN2JmN2I4OTNhZA0KPiA+IC0tLSAvZGV2L251bGwNCj4g
PiArKysgYi9VZWZpUGF5bG9hZFBrZy9TbWJ1c0R4ZS9TTUJ1c2k4MDFEeGUuYw0KPiA+IEBAIC0w
LDAgKzEsNTU2IEBADQo+ID4gKy8qKiBAZmlsZSsgIEltcGxlbWVudGF0aW9uIGZvciBhIGdlbmVy
aWMgaTgwMSBTTUJ1cyANCj4gPiArZHJpdmVyLisrQ29weXJpZ2h0IChjKQ0KPiA+IDIwMTYsIElu
dGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4rU1BEWC1MaWNlbnNlLUlk
ZW50aWZpZXI6DQo+ID4gQlNELTItQ2xhdXNlLVBhdGVudCsrKyoqLysrI2luY2x1ZGUgIlNNQnVz
aTgwMUR4ZS5oIisjaW5jbHVkZQ0KPiA+IDxMaWJyYXJ5L1RpbWVyTGliLmg+KyNpbmNsdWRlIDxM
aWJyYXJ5L1BjaUxpYi5oPisjaW5jbHVkZSANCj4gPiA8TGlicmFyeS9Jb0xpYi5oPisjaW5jbHVk
ZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPisjaW5jbHVkZSANCj4gPiA8TGlicmFyeS9CYXNlTWVtb3J5
TGliLmg+KyNpbmNsdWRlDQo+ID4gPExpYnJhcnkvVWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGliLmg+
KytFRklfSEFORExFICBtRHJpdmVySGFuZGxlID0NCj4gPiBOVUxMOytVSU5UMzIgICAgICBQY2lE
ZXZpY2UgICAgID0gMDsrKy8qIFNNQnVzIHJlZ2lzdGVyIG9mZnNldHMuICovKyNkZWZpbmUNCj4g
PiBTTUJIU1RTVEFUICAgICAgMHgwKyNkZWZpbmUgU01CSFNUQ1RMICAgICAgIDB4MisjZGVmaW5l
IFNNQkhTVENNRA0KPiA+IDB4MysjZGVmaW5lIFNNQlhNSVRBREQgICAgICAweDQrI2RlZmluZSBT
TUJIU1REQVQwICAgICAgMHg1KyNkZWZpbmUNCj4gPiBTTUJIU1REQVQxICAgICAgMHg2KyNkZWZp
bmUgU01CQkxLREFUICAgICAgIDB4NysjZGVmaW5lIFNNQlRSTlNBREQNCj4gPiAweDkrI2RlZmlu
ZSBTTUJTTFZEQVRBICAgICAgMHhhKyNkZWZpbmUgU01MSU5LX1BJTl9DVEwgIDB4ZSsjZGVmaW5l
DQo+ID4gU01CVVNfUElOX0NUTCAgIDB4ZisjZGVmaW5lIFNNQlNMVkNNRCAgICAgICAweDExKysv
KiBJODAxIGNvbW1hbmQNCj4gPiBjb25zdGFudHMgKi8rI2RlZmluZSBJODAxX1FVSUNLICAgICAg
ICAgICAoMCA8PCAyKSsjZGVmaW5lIEk4MDFfQllURSAgICAgICAgICAgICgxDQo+ID4gPDwgMikr
I2RlZmluZSBJODAxX0JZVEVfREFUQSAgICAgICAoMiA8PCAyKSsjZGVmaW5lIEk4MDFfV09SRF9E
QVRBICAgICAgICgzDQo+ID4gPDwgMikrI2RlZmluZSBJODAxX1BST0NFU1NfQ0FMTCAgICAoNCA8
PCAyKSsjZGVmaW5lIEk4MDFfQkxPQ0tfREFUQQ0KPiA+ICg1IDw8IDIpKyNkZWZpbmUgSTgwMV9J
MkNfQkxPQ0tfREFUQSAgKDYgPDwgMikgICAgIC8qIElDSDUgYW5kIGxhdGVyICovKysvKg0KPiA+
IEk4MDEgSG9zdCBDb250cm9sIHJlZ2lzdGVyIGJpdHMgKi8rI2RlZmluZSBTTUJIU1RDTlRfSU5U
UkVOICAgICAoMSA8PA0KPiA+IDApKyNkZWZpbmUgU01CSFNUQ05UX0tJTEwgICAgICAgKDEgPDwg
MSkrI2RlZmluZSBTTUJIU1RDTlRfTEFTVF9CWVRFDQo+ID4gKDEgPDwgNSkrI2RlZmluZSBTTUJI
U1RDTlRfU1RBUlQgICAgICAoMSA8PCA2KSsjZGVmaW5lDQo+ID4gU01CSFNUQ05UX1BFQ19FTiAg
ICAgKDEgPDwgNykgICAgLyogSUNIMyBhbmQgbGF0ZXIgKi8rKy8qIEk4MDEgSG9zdHMgU3RhdHVz
DQo+ID4gcmVnaXN0ZXIgYml0cyAqLysjZGVmaW5lIFNNQkhTVFNUU19CWVRFX0RPTkUgICAgICgx
IDw8IDcpKyNkZWZpbmUNCj4gPiBTTUJIU1RTVFNfSU5VU0VfU1RTICAgICAoMSA8PCA2KSsjZGVm
aW5lIFNNQkhTVFNUU19TTUJBTEVSVF9TVFMgICgxDQo+ID4gPDwgNSkrI2RlZmluZSBTTUJIU1RT
VFNfRkFJTEVEICAgICAgICAoMSA8PCA0KSsjZGVmaW5lDQo+ID4gU01CSFNUU1RTX0JVU19FUlIg
ICAgICAgKDEgPDwgMykrI2RlZmluZSBTTUJIU1RTVFNfREVWX0VSUiAgICAgICAoMSA8PA0KPiA+
IDIpKyNkZWZpbmUgU01CSFNUU1RTX0lOVFIgICAgICAgICAgKDEgPDwgMSkrI2RlZmluZSBTTUJI
U1RTVFNfSE9TVF9CVVNZDQo+ID4gKDEgPDwgMCkrKy8qIEZvciBTTUJYTUlUQUREIHJlZ2lzdGVy
LiAqLysjZGVmaW5lIFhNSVRfV1JJVEUoZGV2KQ0KPiA+ICgoKGRldikgPDwgMSkgfCAwKSsjZGVm
aW5lIFhNSVRfUkVBRChkZXYpICAgKCgoZGV2KSA8PCAxKSB8DQo+ID4gMSkrK1NUQVRJQytVSU5U
MTYrRUZJQVBJK1NtYnVzR2V0U01CYXNlQWRkcmVzcyAoKyAgSU4gVk9JRCsgICkreysNCj4gPiBV
SU5UMTYgIENtZDsrICBVSU5UMzIgIFJlZzMyOysgIFVJTlQxNiAgSW9CYXNlOysrICBJb0Jhc2Ug
PSAwOysgIC8vKyAgDQo+ID4gLy8gVGVzdCBpZiBJL08gZGVjb2RpbmcgaXMgZW5hYmxlZCsgIC8v
KyAgQ21kID0gUGNpUmVhZDE2IChQY2lEZXZpY2UgKyAweDQpOysgIGlmDQo+ID4gKCEoQ21kICYg
MSkpIHsrICAgIGdvdG8gQ2xvc2VBbmRSZXR1cm47KyAgfSsrICAvLysgIC8vIFRlc3QgaWYgQkFS
MCBpcyBJL08gYmFyDQo+ID4gYW5kIGVuYWJsZWQrICAvLysgIFJlZzMyID0gUGNpUmVhZDE2IChQ
Y2lEZXZpY2UgKyAweDIwKTsrICBpZiANCj4gPiAoIShSZWczMiAmIDEpDQo+ID4gfHwgIShSZWcz
MiAmIDB4ZmZmYykgfHwgKChSZWczMiAmIDB4ZmZmYykgPT0gMHhmZmZjKSkgeysgICAgZ290bw0K
PiA+IENsb3NlQW5kUmV0dXJuOysgIH0rKyAgSW9CYXNlID0gUmVnMzIgJiAweGZmZmM7KytDbG9z
ZUFuZFJldHVybjorICANCj4gPiByZXR1cm4gSW9CYXNlOyt9KytTVEFUSUMrRUZJX1NUQVRVUytT
bWJ1c1NldHVwQ29tbWFuZCAoKyAgSU4gVUlOVDE2DQo+ID4gSW9CYXNlLCsgIElOIFVJTlQ4ICAg
Q3RybCwrICBJTiBVSU5UOCAgIFhtaXRhZGQrICApK3srICBVSU5UTiAgTG9vcHMgPSAxMDAwMDsr
DQo+ID4gVUlOVDggIGhvc3RfYnVzeTsrKyAgZG8geysgICAgTWljcm9TZWNvbmREZWxheSAoMTAw
KTsrICAgIGhvc3RfYnVzeSA9DQo+ID4gSW9SZWFkOCAoSW9CYXNlICsgU01CSFNUU1RBVCkgJiBT
TUJIU1RTVFNfSE9TVF9CVVNZOysgIH0gd2hpbGUgKC0tDQo+ID4gTG9vcHMgJiYgaG9zdF9idXN5
KTsrKyAgaWYgKExvb3BzID09IDApIHsrICAgIHJldHVybiBFRklfVElNRU9VVDsrICB9KysgIC8q
DQo+ID4gQ2xlYXIgYW55IGxpbmdlcmluZyBlcnJvcnMsIHNvIHRoZSB0cmFuc2FjdGlvbiB3aWxs
IHJ1bi4gKi8rICANCj4gPiBJb1dyaXRlOCAoSW9CYXNlICsgU01CSFNUU1RBVCwgSW9SZWFkOCAo
SW9CYXNlICsgU01CSFNUU1RBVCkpOysrICAvKiANCj4gPiBTZXQgdXAgdHJhbnNhY3Rpb24gKi8r
DQo+ID4gLyogRGlzYWJsZSBpbnRlcnJ1cHRzICovKyAgSW9Xcml0ZTggKElvQmFzZSArIFNNQkhT
VENUTCwgQ3RybCk7KysgIA0KPiA+IC8qIFNldCB0aGUgZGV2aWNlIEknbSB0YWxraW5nIHRvLiAq
LysgIElvV3JpdGU4IChJb0Jhc2UgKyANCj4gPiBTTUJYTUlUQURELCBYbWl0YWRkKTsrKyByZXR1
cm4gDQo+ID4gRUZJX1NVQ0NFU1M7K30rK1NUQVRJQytFRklfU1RBVFVTK1NtYnVzRXhlY3V0ZUNv
bW1hbmQgKCsgSU4gVUlOVDE2ICANCj4gPiBJb0Jhc2UrICApK3srICBVSU5UTiAgTG9vcHMgPSAx
MDAwMDsrICBVSU5UOCAgU3RhdHVzOysrICAvKiBTdGFydCANCj4gPiB0aGUgY29tbWFuZC4gKi8r
ICBJb1dyaXRlOCAoSW9CYXNlICsgU01CSFNUQ1RMLCBJb1JlYWQ4IChJb0Jhc2UgKw0KPiA+IFNN
QkhTVENUTCkgfCBTTUJIU1RDTlRfU1RBUlQpOysgIFN0YXR1cyA9IElvUmVhZDggKElvQmFzZSAr
DQo+ID4gU01CSFNUU1RBVCk7KysgIC8qIFBvbGwgZm9yIGl0IHRvIHN0YXJ0LiAqLysgIGRvIHsr
ICAgIE1pY3JvU2Vjb25kRGVsYXkNCj4gPiAoMTAwKTsrKyAgICAvKiBJZiB3ZSBwb2xsIHRvbyBz
bG93LCB3ZSBjb3VsZCBtaXNzIEhPU1RfQlVTWSBmbGFnKyAgICAgKiBzZXQgYW5kDQo+ID4gZGV0
ZWN0IElOVFIgb3IgeF9FUlIgZmxhZ3MgaW5zdGVhZCBoZXJlLisgICAgICovKyAgICBTdGF0dXMg
PSBJb1JlYWQ4IChJb0Jhc2UgKw0KPiA+IFNNQkhTVFNUQVQpOysrICAgIFN0YXR1cyAmPSB+KFNN
QkhTVFNUU19TTUJBTEVSVF9TVFMgfA0KPiA+IFNNQkhTVFNUU19JTlVTRV9TVFMpOysgIH0gd2hp
bGUgKC0tTG9vcHMgJiYgU3RhdHVzID09IDApOysrICBpZiAoTG9vcHMgPT0gMCkNCj4gPiB7KyAg
ICByZXR1cm4gRUZJX1RJTUVPVVQ7KyAgfSsrICByZXR1cm4NCj4gPiBFRklfU1VDQ0VTUzsrfSsr
U1RBVElDK0JPT0xFQU4rU21idXNIb3N0Q29tcGxldGVkICgrICBJTiBVSU5UOA0KPiA+IFN0YXR1
cysgICkreysgIGlmIChTdGF0dXMgJiBTTUJIU1RTVFNfSE9TVF9CVVNZKSB7KyAgICByZXR1cm4g
RkFMU0U7KyAgfSsrDQo+ID4gLyogVGhlc2Ugc3RhdHVzIGJpdHMgZG8gbm90IGltcGx5IGNvbXBs
ZXRpb24gb2YgdHJhbnNhY3Rpb24uICovKyAgDQo+ID4gU3RhdHVzICY9IH4oU01CSFNUU1RTX0JZ
VEVfRE9ORSB8IFNNQkhTVFNUU19JTlVTRV9TVFMgfCANCj4gPiBTTUJIU1RTVFNfU01CQUxFUlRf
U1RTKTsrICByZXR1cm4gU3RhdHVzICE9IA0KPiA+IDA7K30rK1NUQVRJQytFRklfU1RBVFVTK1Nt
YnVzQ29tcGxldGVDb21tYW5kICgrICBJTiBVSU5UMTYNCj4gPiBJb0Jhc2UrICApK3srICBVSU5U
TiAgTG9vcHMgPSAxMDAwMDsrICBVSU5UOCAgU3RhdHVzOysrICBkbyB7Kw0KPiA+IE1pY3JvU2Vj
b25kRGVsYXkgKDEwMCk7KyAgICBTdGF0dXMgPSBJb1JlYWQ4IChJb0Jhc2UgKyBTTUJIU1RTVEFU
KTsrICB9DQo+ID4gd2hpbGUgKC0tTG9vcHMgJiYgIVNtYnVzSG9zdENvbXBsZXRlZCAoU3RhdHVz
KSk7KysgIGlmIChMb29wcyA9PSAwKSANCj4gPiB7KyByZXR1cm4gRUZJX1RJTUVPVVQ7KyAgfSsr
ICAvKiBUaGVzZSBzdGF0dXMgYml0cyBkbyBub3QgaW1wbHkgDQo+ID4gZXJyb3JzLiAqLysgU3Rh
dHVzICY9IH4oU01CSFNUU1RTX0JZVEVfRE9ORSB8IFNNQkhTVFNUU19JTlVTRV9TVFMgfA0KPiA+
IFNNQkhTVFNUU19TTUJBTEVSVF9TVFMpOysrICBpZiAoU3RhdHVzID09IFNNQkhTVFNUU19JTlRS
KSB7KyAgICByZXR1cm4NCj4gPiBFRklfU1VDQ0VTUzsrICB9KysgIHJldHVybg0KPiA+IEVGSV9O
T19SRVNQT05TRTsrfSsrU1RBVElDK0VGSV9TVEFUVVMrRUZJQVBJK1NtYnVzUHJvY2Vzc0NhbGxP
cGVyDQo+ID4gYXRpb24gKCsgIElOIENPTlNUICBVSU5UMTYgICAgICAgICAgICAgICAgICAgIElv
QmFzZSwrICBJTiBDT05TVA0KPiA+IEVGSV9TTUJVU19IQ19QUk9UT0NPTCAgICAgKlRoaXMsKyAg
SU4gICAgICAgIEVGSV9TTUJVU19ERVZJQ0VfQUREUkVTUw0KPiA+IFNsYXZlQWRkcmVzcywrICBJ
TiAgICAgICAgRUZJX1NNQlVTX0RFVklDRV9DT01NQU5EICBDb21tYW5kLCsgIElODQo+ID4gQk9P
TEVBTiAgICAgICAgICAgICAgICAgICBQZWNDaGVjaywrICBJTiBPVVQgICAgVUlOVE4gICAgICAg
ICAgICAgICAgICAgICAqTGVuZ3RoLCsgIElOIE9VVA0KPiA+IFZPSUQgICAgICAgICAgICAgICAg
ICAgICAgKkJ1ZmZlcisgICkreysgIEVGSV9TVEFUVVMgIFN0YXR1czsrICBVSU5UMTYNCj4gPiBS
ZXN1bHRCdWZmZXI7KyAgVUlOVDE2ICAgICAgQWRkckJ1ZmZlcjsrKyAgaWYgKCFCdWZmZXIgfHwg
IUxlbmd0aCkgeysgICAgcmV0dXJuDQo+ID4gUkVUVVJOX0lOVkFMSURfUEFSQU1FVEVSOysgIH0r
KyAgaWYgKCpMZW5ndGggIT0gMikgeysgICAgcmV0dXJuDQo+ID4gUkVUVVJOX0lOVkFMSURfUEFS
QU1FVEVSOysgIH0rKyAgQ29weU1lbSAoJkFkZHJCdWZmZXIsIEJ1ZmZlciwgDQo+ID4gc2l6ZW9m
IChBZGRyQnVmZmVyKSk7KysgIC8qIFNldCB1cCBmb3IgcHJvY2VzcyBjYWxsICovKyAgU3RhdHVz
ID0gDQo+ID4gU21idXNTZXR1cENvbW1hbmQgKElvQmFzZSwgSTgwMV9QUk9DRVNTX0NBTEwsIFhN
SVRfV1JJVEUNCj4gPiAoU2xhdmVBZGRyZXNzLlNtYnVzRGV2aWNlQWRkcmVzcykpOysgIGlmIChF
RklfRVJST1IgKFN0YXR1cykpIHsrICAgIHJldHVybg0KPiA+IFN0YXR1czsrICB9KysgIC8qIGNt
ZCB3aWxsIG9ubHkgYmUgc2VuZCBpZiBJMkNfRU4gaXMgemVybyAqLysgIA0KPiA+IElvV3JpdGU4
IChJb0Jhc2UNCj4gPiArIFNNQkhTVENNRCwgQ29tbWFuZCk7KysgIElvV3JpdGU4IChJb0Jhc2Ug
KyBTTUJIU1REQVQwLCBBZGRyQnVmZmVyDQo+ID4gJiAweDAwZmYpOysgIElvV3JpdGU4IChJb0Jh
c2UgKyBTTUJIU1REQVQxLCAoQWRkckJ1ZmZlciAmIDB4ZmYwMCkgPj4gDQo+ID4gOCk7KysNCj4g
PiAvKiBTdGFydCB0aGUgY29tbWFuZCAqLysgIFN0YXR1cyA9IFNtYnVzRXhlY3V0ZUNvbW1hbmQg
KElvQmFzZSk7KyAgaWYNCj4gPiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7KyAgICByZXR1cm4gU3Rh
dHVzOysgIH0rKyAgLyogUG9sbCBmb3IgdHJhbnNhY3Rpb24NCj4gPiBjb21wbGV0aW9uICovKyAg
U3RhdHVzID0gU21idXNDb21wbGV0ZUNvbW1hbmQgKElvQmFzZSk7KyAgaWYNCj4gPiAoRUZJX0VS
Uk9SIChTdGF0dXMpKSB7KyAgICByZXR1cm4gU3RhdHVzOysgIH0rKyAgLyogUmVhZCByZXN1bHRz
IG9mIHRyYW5zYWN0aW9uDQo+ID4gKi8rICBSZXN1bHRCdWZmZXIgID0gSW9SZWFkOCAoSW9CYXNl
ICsgU01CSFNUREFUMCk7KyAgUmVzdWx0QnVmZmVyIA0KPiA+IHw9DQo+ID4gKElvUmVhZDggKElv
QmFzZSArIFNNQkhTVERBVDEpIDw8IDgpOysrICBDb3B5TWVtIChCdWZmZXIsIA0KPiA+ICZSZXN1
bHRCdWZmZXIsIHNpemVvZiAoUmVzdWx0QnVmZmVyKSk7KyAgKkxlbmd0aCA9IHNpemVvZiANCj4g
PiAoUmVzdWx0QnVmZmVyKTsrKyByZXR1cm4gRUZJX1NVQ0NFU1M7K30rK1NUQVRJQytFRklfU1RB
VFVTK0VGSUFQSStTbWJ1c1JlYWRPcGVyYXRpb24NCj4gPiAoKyAgSU4gQ09OU1QgIFVJTlQxNiAg
ICAgICAgICAgICAgICAgICAgSW9CYXNlLCsgIElOIENPTlNUDQo+ID4gRUZJX1NNQlVTX0hDX1BS
T1RPQ09MICAgICAqVGhpcywrICBJTiAgICAgICAgRUZJX1NNQlVTX0RFVklDRV9BRERSRVNTDQo+
ID4gU2xhdmVBZGRyZXNzLCsgIElOICAgICAgICBFRklfU01CVVNfREVWSUNFX0NPTU1BTkQgIENv
bW1hbmQsKyAgSU4NCj4gPiBCT09MRUFOICAgICAgICAgICAgICAgICAgIFBlY0NoZWNrLCsgIElO
IE9VVCAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICpMZW5ndGgsKyAgSU4gT1VUDQo+ID4g
Vk9JRCAgICAgICAgICAgICAgICAgICAgICAqQnVmZmVyKyAgKSt7KyAgRUZJX1NUQVRVUyAgU3Rh
dHVzOysgIFVJTlQ4DQo+ID4gUmVzdWx0QnVmZmVyOysrICBpZiAoIUJ1ZmZlciB8fCAhTGVuZ3Ro
KSB7KyAgICByZXR1cm4NCj4gPiBSRVRVUk5fSU5WQUxJRF9QQVJBTUVURVI7KyAgfSsrICAvKiBT
ZXQgdXAgZm9yIGEgYnl0ZSBkYXRhIHJlYWQuICovKyANCj4gPiBTdGF0dXMgPSBTbWJ1c1NldHVw
Q29tbWFuZCAoSW9CYXNlLCBJODAxX0JZVEVfREFUQSwgWE1JVF9SRUFEDQo+ID4gKFNsYXZlQWRk
cmVzcy5TbWJ1c0RldmljZUFkZHJlc3MpKTsrICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7KyAg
ICByZXR1cm4NCj4gPiBTdGF0dXM7KyAgfSsrICBJb1dyaXRlOCAoSW9CYXNlICsgU01CSFNUQ01E
LCBDb21tYW5kKTsrKyAgSW9Xcml0ZTggDQo+ID4gKElvQmFzZSArIFNNQkhTVERBVDAsIDApOysg
IElvV3JpdGU4IChJb0Jhc2UgKyBTTUJIU1REQVQxLCAwKTsrKyAgLyogDQo+ID4gU3RhcnQgdGhl
IGNvbW1hbmQgKi8rICBTdGF0dXMgPSBTbWJ1c0V4ZWN1dGVDb21tYW5kIChJb0Jhc2UpOysgIGlm
DQo+ID4gKEVGSV9FUlJPUiAoU3RhdHVzKSkgeysgICAgcmV0dXJuIFN0YXR1czsrICB9KysgIC8q
IFBvbGwgZm9yIHRyYW5zYWN0aW9uDQo+ID4gY29tcGxldGlvbiAqLysgIFN0YXR1cyA9IFNtYnVz
Q29tcGxldGVDb21tYW5kIChJb0Jhc2UpOysgIGlmDQo+ID4gKEVGSV9FUlJPUiAoU3RhdHVzKSkg
eysgICAgcmV0dXJuIFN0YXR1czsrICB9KysgIC8qIFJlYWQgcmVzdWx0cyBvZiB0cmFuc2FjdGlv
bg0KPiA+ICovKyAgUmVzdWx0QnVmZmVyID0gSW9SZWFkOCAoSW9CYXNlICsgU01CSFNUREFUMCk7
KysgIENvcHlNZW0gDQo+ID4gKEJ1ZmZlciwgJlJlc3VsdEJ1ZmZlciwgc2l6ZW9mIChSZXN1bHRC
dWZmZXIpKTsrICAqTGVuZ3RoID0gc2l6ZW9mIA0KPiA+IChSZXN1bHRCdWZmZXIpOysrIHJldHVy
biBFRklfU1VDQ0VTUzsrfSsrU1RBVElDK0VGSV9TVEFUVVMrRUZJQVBJK1NtYnVzV3JpdGVPcGVy
YXRpb24NCj4gPiAoKyAgSU4gQ09OU1QgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgSW9CYXNl
LCsgIElOIENPTlNUDQo+ID4gRUZJX1NNQlVTX0hDX1BST1RPQ09MICAgICAqVGhpcywrICBJTiAg
ICAgICAgRUZJX1NNQlVTX0RFVklDRV9BRERSRVNTDQo+ID4gU2xhdmVBZGRyZXNzLCsgIElOICAg
ICAgICBFRklfU01CVVNfREVWSUNFX0NPTU1BTkQgIENvbW1hbmQsKyAgSU4NCj4gPiBCT09MRUFO
ICAgICAgICAgICAgICAgICAgIFBlY0NoZWNrLCsgIElOIE9VVCAgICBVSU5UTiAgICAgICAgICAg
ICAgICAgICAgICpMZW5ndGgsKyAgSU4gT1VUDQo+ID4gVk9JRCAgICAgICAgICAgICAgICAgICAg
ICAqQnVmZmVyKyAgKSt7KyAgRUZJX1NUQVRVUyAgU3RhdHVzOysgIFVJTlQ4DQo+ID4gSW5wdXRC
dWZmZXI7KysgIGlmICghQnVmZmVyIHx8ICFMZW5ndGgpIHsrICAgIHJldHVybg0KPiA+IFJFVFVS
Tl9JTlZBTElEX1BBUkFNRVRFUjsrICB9KysgIGlmICgqTGVuZ3RoICE9IDEpIHsrICAgIHJldHVy
bg0KPiA+IFJFVFVSTl9JTlZBTElEX1BBUkFNRVRFUjsrICB9KysgIENvcHlNZW0gKCZJbnB1dEJ1
ZmZlciwgQnVmZmVyLCANCj4gPiBzaXplb2YgKElucHV0QnVmZmVyKSk7KysgIC8qIFNldCB1cCBm
b3IgYSBieXRlIGRhdGEgcmVhZC4gKi8rICANCj4gPiBTdGF0dXMgPSBTbWJ1c1NldHVwQ29tbWFu
ZCAoSW9CYXNlLCBJODAxX0JZVEVfREFUQSwgWE1JVF9XUklURQ0KPiA+IChTbGF2ZUFkZHJlc3Mu
U21idXNEZXZpY2VBZGRyZXNzKSk7KyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgeysgICAgcmV0
dXJuDQo+ID4gU3RhdHVzOysgIH0rKyAgSW9Xcml0ZTggKElvQmFzZSArIFNNQkhTVENNRCwgQ29t
bWFuZCk7KysgIElvV3JpdGU4IA0KPiA+IChJb0Jhc2UgKyBTTUJIU1REQVQwLCBJbnB1dEJ1ZmZl
cik7KysgIC8qIFN0YXJ0IHRoZSBjb21tYW5kICovKyAgU3RhdHVzID0NCj4gPiBTbWJ1c0V4ZWN1
dGVDb21tYW5kIChJb0Jhc2UpOysgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsrICAgIHJldHVy
bg0KPiA+IFN0YXR1czsrICB9KysgIC8qIFBvbGwgZm9yIHRyYW5zYWN0aW9uIGNvbXBsZXRpb24g
Ki8rICBTdGF0dXMgPQ0KPiA+IFNtYnVzQ29tcGxldGVDb21tYW5kIChJb0Jhc2UpOysgIGlmIChF
RklfRVJST1IgKFN0YXR1cykpIHsrICAgIHJldHVybg0KPiA+IFN0YXR1czsrICB9KysgIHJldHVy
bg0KPiA+IEVGSV9TVUNDRVNTOyt9KytTVEFUSUMrRUZJX1NUQVRVUytFRklBUEkrU21idXNFeGVj
dXRlT3BlcmF0aW9uICgrDQo+ID4gSU4gQ09OU1QgIEVGSV9TTUJVU19IQ19QUk9UT0NPTCAgICAg
KlRoaXMsKyAgSU4NCj4gPiBFRklfU01CVVNfREVWSUNFX0FERFJFU1MgIFNsYXZlQWRkcmVzcywr
ICBJTiANCj4gPiBFRklfU01CVVNfREVWSUNFX0NPTU1BTkQgIENvbW1hbmQsKyAgSU4NCj4gPiBF
RklfU01CVVNfT1BFUkFUSU9OICAgICAgIE9wZXJhdGlvbiwrICBJTiAgICAgICAgQk9PTEVBTg0K
PiA+IFBlY0NoZWNrLCsgIElOIE9VVCAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICpMZW5n
dGgsKyAgSU4gT1VUICAgIFZPSUQNCj4gPiAqQnVmZmVyKyAgKSt7KyAgVUlOVDE2ICBJb0Jhc2U7
KysgIElvQmFzZSA9IFNtYnVzR2V0U01CYXNlQWRkcmVzcyAoKTsrICBpZg0KPiA+ICghSW9CYXNl
KSB7KyAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOysgIH0rKyAgaWYgKE9wZXJhdGlvbiA9PQ0K
PiA+IEVmaVNtYnVzUHJvY2Vzc0NhbGwpIHsrICAgIHJldHVybiBTbWJ1c1Byb2Nlc3NDYWxsT3Bl
cmF0aW9uICgrDQo+ID4gSW9CYXNlLCsgICAgICAgICAgICAgVGhpcywrICAgICAgICAgICAgIFNs
YXZlQWRkcmVzcywrICAgICAgICAgICAgIENvbW1hbmQsKw0KPiA+IFBlY0NoZWNrLCsgICAgICAg
ICAgICAgTGVuZ3RoLCsgICAgICAgICAgICAgQnVmZmVyKyAgICAgICAgICAgICApOysgIH0gZWxz
ZSBpZiAoT3BlcmF0aW9uID09DQo+ID4gRWZpU21idXNSZWFkQnl0ZSkgeysgICAgcmV0dXJuIFNt
YnVzUmVhZE9wZXJhdGlvbiAoKyAgICAgICAgICAgICBJb0Jhc2UsKw0KPiA+IFRoaXMsKyAgICAg
ICAgICAgICBTbGF2ZUFkZHJlc3MsKyAgICAgICAgICAgICBDb21tYW5kLCsgICAgICAgICAgICAg
UGVjQ2hlY2ssKw0KPiA+IExlbmd0aCwrICAgICAgICAgICAgIEJ1ZmZlcisgICAgICAgICAgICAg
KTsrICB9IGVsc2UgaWYgKE9wZXJhdGlvbiA9PSBFZmlTbWJ1c1dyaXRlQnl0ZSkNCj4gPiB7KyAg
ICByZXR1cm4gU21idXNXcml0ZU9wZXJhdGlvbiAoKyAgICAgICAgICAgICBJb0Jhc2UsKyAgICAg
ICAgICAgICBUaGlzLCsNCj4gPiBTbGF2ZUFkZHJlc3MsKyAgICAgICAgICAgICBDb21tYW5kLCsg
ICAgICAgICAgICAgUGVjQ2hlY2ssKyAgICAgICAgICAgICBMZW5ndGgsKw0KPiA+IEJ1ZmZlcisg
ICAgICAgICAgICAgKTsrICB9KysgIHJldHVybg0KPiA+IEVGSV9VTlNVUFBPUlRFRDsrfSsrU1RB
VElDK0VGSV9TVEFUVVMrRUZJQVBJK1NtYnVzSGNQcm90b2NvbEFycEQNCj4gPiBldmljZSAoKyAg
SU4gQ09OU1QgIEVGSV9TTUJVU19IQ19QUk9UT0NPTCAqVGhpcywrICBJTiAgICAgICAgQk9PTEVB
Tg0KPiA+IEFycEFsbCwrICBJTiAgICAgICAgRUZJX1NNQlVTX1VESUQgKlNtYnVzVWRpZCwgT1BU
SU9OQUwrICBJTiBPVVQNCj4gPiBFRklfU01CVVNfREVWSUNFX0FERFJFU1MgICpTbGF2ZUFkZHJl
c3MgT1BUSU9OQUwrICApK3srICByZXR1cm4gDQo+ID4gRUZJX1VOU1VQUE9SVEVEOyt9KytTVEFU
SUMrRUZJX1NUQVRVUytFRklBUEkrU21idXNIY1Byb3RvY29sR2V0QQ0KPiA+IHJwTWFwICgrICBJ
TiBDT05TVCAgRUZJX1NNQlVTX0hDX1BST1RPQ09MICAqVGhpcywrICBJTiBPVVQgICAgVUlOVE4N
Cj4gPiAqTGVuZ3RoLCsgIElOIE9VVCAgICBFRklfU01CVVNfREVWSUNFX01BUCAgICoqU21idXNE
ZXZpY2VNYXArICApK3srDQo+ID4gcmV0dXJuDQo+ID4gRUZJX1VOU1VQUE9SVEVEOyt9KytTVEFU
SUMrRUZJX1NUQVRVUytFRklBUEkrU21idXNIY1Byb3RvY29sTm90aWYNCj4gPiB5ICgrICBJTiBD
T05TVCAgRUZJX1NNQlVTX0hDX1BST1RPQ09MICAgICAgKlRoaXMsKyAgSU4NCj4gPiBFRklfU01C
VVNfREVWSUNFX0FERFJFU1MgICBTbGF2ZUFkZHJlc3MsKyAgSU4gICAgICAgIFVJTlRODQo+ID4g
RGF0YSwrICBJTiAgICAgICAgRUZJX1NNQlVTX05PVElGWV9GVU5DVElPTiAgTm90aWZ5RnVuY3Rp
b24rICApK3srICByZXR1cm4NCj4gPiBFRklfVU5TVVBQT1JURUQ7K30rK0VGSV9TTUJVU19IQ19Q
Uk9UT0NPTCAgbVNtYnVzUHJvdG9jb2wgPSB7KyANCj4gPiBTbWJ1c0V4ZWN1dGVPcGVyYXRpb24s
KyAgU21idXNIY1Byb3RvY29sQXJwRGV2aWNlLCsgDQo+ID4gU21idXNIY1Byb3RvY29sR2V0QXJw
TWFwLCsgIFNtYnVzSGNQcm90b2NvbE5vdGlmeSt9OysrLyoqKyAgVGhlIA0KPiA+IEVudHJ5IFBv
aW50IGZvciBTTUJVUyBkcml2ZXIuKysgIEl0IGluc3RhbGxzIERyaXZlckJpbmRpbmcuKysgIEBy
ZXR2YWwgRUZJX1NVQ0NFU1MNCj4gPiBUaGUgZW50cnkgcG9pbnQgaXMgZXhlY3V0ZWQgc3VjY2Vz
c2Z1bGx5LisgIEByZXR2YWwgb3RoZXIgICAgICAgICAgICAgU29tZSBlcnJvcg0KPiA+IG9jY3Vy
cyB3aGVuIGV4ZWN1dGluZyB0aGlzIGVudHJ5DQo+ID4gcG9pbnQuKysqKi8rRUZJX1NUQVRVUytF
RklBUEkrSW5zdGFsbFNtYnVzUHJvdG9jb2wgKCsgIElOIEVGSV9IQU5ETEUgDQo+ID4gSW1hZ2VI
YW5kbGUsKyAgSU4gRUZJX1NZU1RFTV9UQUJMRSAgKlN5c3RlbVRhYmxlKyAgKSt7KyAgRUZJX1NU
QVRVUw0KPiA+IFN0YXR1czsrICBVSU5UMTYgICAgICBJb0Jhc2U7KyAgVUlOVDggICAgICAgRGV2
aWNlOysgIFVJTlQ4ICAgICAgIEZ1bmN0aW9uOysNCj4gPiBCT09MRUFOICAgICBCcmVha0xvb3A7
KyAgVUlOVDggICAgICAgQmFzZUNsYXNzOysgIFVJTlQ4ICAgICAgIFN1YkNsYXNzOysrDQo+ID4g
QnJlYWtMb29wID0gRkFMU0U7KyAgU3RhdHVzICAgID0gRUZJX1NVQ0NFU1M7KysgIC8vKyAgLy8g
U2VhcmNoIGZvciBTTUJ1cw0KPiA+IENvbnRyb2xsZXIgd2l0aGluIFBDSSBEZXZpY2VzIG9uIHJv
b3QgYnVzKyAgLy8rICBmb3IgKERldmljZSA9IDA7IERldmljZSA8PQ0KPiA+IFBDSV9NQVhfREVW
SUNFOyBEZXZpY2UrKykgeysgICAgZm9yIChGdW5jdGlvbiA9IDA7IEZ1bmN0aW9uIDw9DQo+ID4g
UENJX01BWF9GVU5DOyBGdW5jdGlvbisrKSB7KyAgICAgIGlmIChQY2lSZWFkMTYgKFBDSV9MSUJf
QUREUkVTUyAoMCwNCj4gPiBEZXZpY2UsIEZ1bmN0aW9uLCAweDAwKSkgIT0gMHg4MDg2KSB7KyAg
ICAgICAgY29udGludWU7KyAgICAgIH0rKyAgICAgIEJhc2VDbGFzcyA9DQo+ID4gUGNpUmVhZDgg
KFBDSV9MSUJfQUREUkVTUyAoMCwgRGV2aWNlLCBGdW5jdGlvbiwgMHgwQikpOysrICAgICAgaWYg
KEJhc2VDbGFzcw0KPiA+ID09IFBDSV9DTEFTU19TRVJJQUwpIHsrICAgICAgICBTdWJDbGFzcyA9
IFBjaVJlYWQ4IChQQ0lfTElCX0FERFJFU1MgKDAsDQo+ID4gRGV2aWNlLCBGdW5jdGlvbiwgMHhB
KSk7KysgICAgICAgIGlmIChTdWJDbGFzcyA9PSBQQ0lfQ0xBU1NfU0VSSUFMX1NNQikgeysNCj4g
PiBCcmVha0xvb3AgPSBUUlVFOysgICAgICAgICAgUGNpRGV2aWNlID0gUENJX0xJQl9BRERSRVNT
ICgwLCBEZXZpY2UsIEZ1bmN0aW9uLA0KPiA+IDB4MDApOysgICAgICAgICAgYnJlYWs7KyAgICAg
ICAgfSsgICAgICB9KyAgICB9KysgICAgaWYgKEJyZWFrTG9vcCkgeysgICAgICBicmVhazsrICAg
IH0rICB9KysgIGlmDQo+ID4gKCFCcmVha0xvb3ApIHsrICAgIERFQlVHICgoRUZJX0RfSU5GTywg
Ik5vIFBDSSBTTUJVUyBjb250cm9sbGVyDQo+ID4gZm91bmQuXG4iKSk7KyAgICByZXR1cm4gRUZJ
X1VOU1VQUE9SVEVEOysgIH0rKyAgREVCVUcgKChFRklfRF9JTkZPLCAiUENJDQo+ID4gRGV2aWNl
IGZvdW5kIG9uIDAtJXgtJXhcbiIsIERldmljZSwgRnVuY3Rpb24pKTsrKyAgSW9CYXNlID0NCj4g
PiBTbWJ1c0dldFNNQmFzZUFkZHJlc3MgKCk7KyAgaWYgKCFJb0Jhc2UpIHsrICAgIHJldHVybg0K
PiA+IEVGSV9VTlNVUFBPUlRFRDsrICB9KysgIERFQlVHICgoKyAgICBFRklfRF9JTkZPLCsgICAg
IiVhOiBEZXRlY3RlZCBpODAxDQo+ID4gU01CdXMgY29udHJvbGxlciB3aXRoIFNNQkFTRSAweCV4
XG4iLCsgICAgX19GVU5DVElPTl9fLCsNCj4gPiBJb0Jhc2UrICAgICkpOysrICBTdGF0dXMgPSBn
QlMtPkluc3RhbGxQcm90b2NvbEludGVyZmFjZSAoKw0KPiA+ICZtRHJpdmVySGFuZGxlLCsgICAg
ICAgICAgICAgICAgICAmZ0VmaVNtYnVzSGNQcm90b2NvbEd1aWQsKw0KPiA+IEVGSV9OQVRJVkVf
SU5URVJGQUNFLCsgICAgICAgICAgICAgICAgICAmbVNtYnVzUHJvdG9jb2wrICAgICAgICAgICAg
ICAgICAgKTsrKyAgaWYNCj4gPiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7KyAgICByZXR1cm4gU3Rh
dHVzOysgIH0rKyAgcmV0dXJuIEVGSV9TVUNDRVNTOyt9ZGlmZiAtLWdpdA0KPiA+IGEvVWVmaVBh
eWxvYWRQa2cvU21idXNEeGUvU01CdXNpODAxRHhlLmgNCj4gPiBiL1VlZmlQYXlsb2FkUGtnL1Nt
YnVzRHhlL1NNQnVzaTgwMUR4ZS5oDQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRl
eCAwMDAwMDAwMDAwLi5lODg4MjNkYTMxDQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL1Vl
ZmlQYXlsb2FkUGtnL1NtYnVzRHhlL1NNQnVzaTgwMUR4ZS5oDQo+ID4gQEAgLTAsMCArMSwxNyBA
QA0KPiA+ICsvKiogQGZpbGUrICBIZWFkZXIgZmlsZSBmb3IgYSBnZW5lcmljIGk4MDEgU01CVVMg
ZHJpdmVyLisrQ29weXJpZ2h0IA0KPiA+ICsoYykgMjAxNiwgSW50ZWwgQ29ycG9yYXRpb24uIEFs
bCByaWdodHMNCj4gPiArcmVzZXJ2ZWQuPEJSPitTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjoNCj4g
PiArQlNELTItQ2xhdXNlLVBhdGVudCsrKyoqLysjaWZuZGVmIF9QQ0lfUExBVEZPUk1fRFhFX0hf
KyNkZWZpbmUNCj4gPiArX1BDSV9QTEFURk9STV9EWEVfSF8rI2luY2x1ZGUgPFBpRHhlLmg+Kysj
aW5jbHVkZSANCj4gPiArPEluZHVzdHJ5U3RhbmRhcmQvUGNpLmg+KyNpbmNsdWRlIA0KPiA+ICs8
SW5kdXN0cnlTdGFuZGFyZC9QY2kyMi5oPisjaW5jbHVkZQ0KPiA+ICs8UHJvdG9jb2wvU21idXNI
Yy5oPisrI2VuZGlmZGlmZiAtLWdpdCANCj4gPiArYS9VZWZpUGF5bG9hZFBrZy9TbWJ1c0R4ZS9T
TUJ1c2k4MDFEeGUuaW5mDQo+ID4gK2IvVWVmaVBheWxvYWRQa2cvU21idXNEeGUvU01CdXNpODAx
RHhlLmluZg0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gaW5kZXggMDAwMDAwMDAwMC4u
N2QxM2M0NDZlZg0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi9VZWZpUGF5bG9hZFBrZy9T
bWJ1c0R4ZS9TTUJ1c2k4MDFEeGUuaW5mDQo+ID4gQEAgLTAsMCArMSw0NSBAQA0KPiA+ICsjIyBA
ZmlsZSsjIFRoaXMgZHJpdmVyIHByb2R1Y2VzIGdFZmlTbWJ1c0hjUHJvdG9jb2xHdWlkIHByb3Rv
Y29sIHRvIA0KPiA+ICtsb2FkDQo+ID4gYWNjZXNzIFNNQlVTIGRldmljZXMrIysjIENvcHlyaWdo
dCAoYykgMjAyMCwgOWVsZW1lbnRzIEFnZW5jeQ0KPiA+IEdtYkgrIysjICBTUERYLUxpY2Vuc2Ut
SWRlbnRpZmllcjogQlNELTItQ2xhdXNlLQ0KPiA+IFBhdGVudCsjKyMrIyMrK1tEZWZpbmVzXSsg
IElORl9WRVJTSU9OICAgICAgICAgICAgICAgICAgICA9IDB4MDAwMTAwMDUrDQo+ID4gQkFTRV9O
QU1FICAgICAgICAgICAgICAgICAgICAgID0gU01CdXNpODAxRHhlKyAgRklMRV9HVUlEICAgICAg
ICAgICAgICAgICAgICAgID0gMzkwMjA4REEtDQo+ID4gOEU2Ri00OTU3LTkwRDYtNDIxNzM3RkVB
OUJGKyAgTU9EVUxFX1RZUEUgICAgICAgICAgICAgICAgICAgID0gRFhFX0RSSVZFUisNCj4gPiBW
RVJTSU9OX1NUUklORyAgICAgICAgICAgICAgICAgPSAxLjArICBFTlRSWV9QT0lOVCAgICAgICAg
ICAgICAgICAgICAgPQ0KPiA+IEluc3RhbGxTbWJ1c1Byb3RvY29sKysjKyMgVGhlIGZvbGxvd2lu
ZyBpbmZvcm1hdGlvbiBpcyBmb3IgcmVmZXJlbmNlIA0KPiA+IEluc3RhbGxTbWJ1c1Byb3RvY29s
Kytvbmx5DQo+ID4gYW5kIG5vdCByZXF1aXJlZCBieSB0aGUgYnVpbGQgdG9vbHMuKyMrIyAgVkFM
SURfQVJDSElURUNUVVJFUyAgICAgICAgICAgPSBJQTMyDQo+ID4gWDY0KyMrK1tTb3VyY2VzLmNv
bW1vbl0rICBTTUJ1c2k4MDFEeGUuaCsNCj4gPiBTTUJ1c2k4MDFEeGUuYysrW1BhY2thZ2VzXSsg
IE1kZVBrZy9NZGVQa2cuZGVjKyANCj4gPiBNZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYysr
W0xpYnJhcnlDbGFzc2VzXSsNCj4gPiBVZWZpRHJpdmVyRW50cnlQb2ludCsgIERlYnVnTGliKyAg
SW9MaWIrICBVZWZpTGliKyAgVGltZXJMaWIrDQo+ID4gUGNpTGliKytbUHJvdG9jb2xzXSsgIGdF
ZmlTbWJ1c0hjUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICAgICAjIw0KPiA+IFBST0RV
Q0VTKytbRGVwZXhdKyAgVFJVRWRpZmYgLS1naXQgDQo+ID4gUFJPRFVDRVMrK2EvVWVmaVBheWxv
YWRQa2cvVWVmaVBheWxvYWRQa2cuZHNjDQo+ID4gYi9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9h
ZFBrZy5kc2MNCj4gPiBpbmRleCAxY2U5NmE1MWMxLi41NDU0M2I3NjIzIDEwMDY0NA0KPiA+IC0t
LSBhL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkUGtnLmRzYw0KPiA+ICsrKyBiL1VlZmlQYXls
b2FkUGtnL1VlZmlQYXlsb2FkUGtnLmRzYw0KPiA+IEBAIC0yOTAsNiArMjkwLDcgQEANCj4gPiAg
IWlmICQoUEVSRk9STUFOQ0VfTUVBU1VSRU1FTlRfRU5BQkxFKQ0KPiA+IFBlcmZvcm1hbmNlTGli
fE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0R4ZUNvcmVQZXJmb3JtYW5jZUxpYi9EeGVDb3JlDQo+ID4g
UGVyZm9ybWFuY2VMaWIuaW5mICFlbmRpZisNCj4gPiBTbWJ1c0xpYnxNZGVQa2cvTGlicmFyeS9E
eGVTbWJ1c0xpYi9EeGVTbWJ1c0xpYi5pbmYNCj4gPiBbTGlicmFyeUNsYXNzZXMuY29tbW9uLkRY
RV9EUklWRVJdDQo+ID4gUGNkTGlifE1kZVBrZy9MaWJyYXJ5L0R4ZVBjZExpYi9EeGVQY2RMaWIu
aW5mQEAgLTMwNCw2ICszMDUsNyBAQA0KPiA+ICAhaWYgJChQRVJGT1JNQU5DRV9NRUFTVVJFTUVO
VF9FTkFCTEUpDQo+ID4gUGVyZm9ybWFuY2VMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvRHhlUGVy
Zm9ybWFuY2VMaWIvRHhlUGVyZm9ybWENCj4gPiBuY2VMaWIuaW5mICFlbmRpZisNCj4gPiBTbWJ1
c0xpYnxNZGVQa2cvTGlicmFyeS9EeGVTbWJ1c0xpYi9EeGVTbWJ1c0xpYi5pbmYNCj4gPiBbTGli
cmFyeUNsYXNzZXMuY29tbW9uLkRYRV9SVU5USU1FX0RSSVZFUl0NCj4gPiBQY2RMaWJ8TWRlUGtn
L0xpYnJhcnkvRHhlUGNkTGliL0R4ZVBjZExpYi5pbmZAQCAtNjU3LDYgKzY1OSwxMSBAQA0KPiA+
ICAhZW5kaWYgICBNZGVNb2R1bGVQa2cvQnVzL0lzYS9QczJNb3VzZUR4ZS9QczJNb3VzZUR4ZS5p
bmYgKyAgIysgICMNCj4gPiBTTUJVUyBTdXBwb3J0KyAgIysgIFVlZmlQYXlsb2FkUGtnL1NtYnVz
RHhlL1NNQnVzaTgwMUR4ZS5pbmYrICAgIyAgICMNCj4gPiBDb25zb2xlIFN1cHBvcnQgICAjZGlm
ZiAtLWdpdCBhL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkUGtnLmZkZg0KPiA+IGIvVWVmaVBh
eWxvYWRQa2cvVWVmaVBheWxvYWRQa2cuZmRmDQo+ID4gaW5kZXggYzdiMDQ5NzhhZC4uODg2MWQy
OTE2MiAxMDA2NDQNCj4gPiAtLS0gYS9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZFBrZy5mZGYN
Cj4gPiArKysgYi9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZFBrZy5mZGYNCj4gPiBAQCAtMTc4
LDYgKzE3OCwxMSBAQCBJTkYNCj4gPiBNZGVNb2R1bGVQa2cvQnVzL0lzYS9QczJLZXlib2FyZER4
ZS9QczJLZXlib2FyZER4ZS5pbmYNCj4gPiAgIWVuZGlmIElORiBNZGVNb2R1bGVQa2cvQnVzL0lz
YS9QczJNb3VzZUR4ZS9QczJNb3VzZUR4ZS5pbmYgKyMrIyANCj4gPiBTTUJVUyBTdXBwb3J0KyMr
SU5GIFVlZmlQYXlsb2FkUGtnL1NtYnVzRHhlL1NNQnVzaTgwMUR4ZS5pbmYrICMgIyANCj4gPiBD
b25zb2xlIFN1cHBvcnQgIy0tDQo+ID4gMi4zMi4wDQo+ID4NCj4gPg0KPiA+DQo+ID4gLT0tPS09
LT0tPS09DQo+ID4gR3JvdXBzLmlvIExpbmtzOiBZb3UgcmVjZWl2ZSBhbGwgbWVzc2FnZXMgc2Vu
dCB0byB0aGlzIGdyb3VwLg0KPiA+IFZpZXcvUmVwbHkgT25saW5lICgjODY3MzApOiANCj4gPiBo
dHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS84NjczMA0KPiA+IE11dGUgVGhp
cyBUb3BpYzogaHR0cHM6Ly9ncm91cHMuaW8vbXQvODkyMTQ5OTEvMTc3Mzk3Mg0KPiA+IEdyb3Vw
IE93bmVyOiBkZXZlbCtvd25lckBlZGsyLmdyb3Vwcy5pbw0KPiA+IFVuc3Vic2NyaWJlOiBodHRw
czovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvdW5zdWIgDQo+ID4gW21hdXJpY2UubWFAaW50ZWwu
Y29tXSAtPS09LT0tPS09LT0NCj4gPg0KPg0KPg0KPg0KPiANCj4NCj4NCg0KDQoNCg0KDQo=