octal-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octal-dev] IRC


From: Dave O'Toole
Subject: [Octal-dev] IRC
Date: Sat, 03 Jun 2000 19:53:00 -0400

I'm going to be on irc.linux.com#octal for awhile if anyone wants to
chat. Uploading some API changes/cleanups and new docs tonight, as well
as the "official" version of "ox_wrappers", which is the C++ wrapper for
OX_API.

-- 
@@@ david o'toole
@@@ address@hidden
@@@ www.gnu.org/software/octal

Received: from rack1.qwsi.net (address@hidden)
        by mescaline.gnu.org (8.9.1a/8.9.1) with SMTP id EAA08112
        for <address@hidden>; Sun, 4 Jun 2000 04:38:53 -0400
Received: (qmail 26888 invoked from network); 4 Jun 2000 08:42:54 -0000
Received: from unknown (HELO qwsi.net) (24.240.90.204)
  by 64.55.30.82 with SMTP; 4 Jun 2000 08:42:54 -0000
Message-ID: <address@hidden>
Date: Sun, 04 Jun 2000 04:38:35 -0400
From: "Dave O'Toole" <address@hidden>
Organization: OCTAL http://www.gnu.org/software/octal
X-Mailer: Mozilla 4.7 [en] (X11; I; Linux 2.2.14-15mdk i586)
X-Accept-Language: en
MIME-Version: 1.0
To: address@hidden
Content-Type: multipart/mixed;
 boundary="------------ECCABE68FDBBC8C88A172164"
Subject: [Octal-dev] Here's the new OCTAL tarball
Sender: address@hidden
Errors-To: address@hidden
X-BeenThere: address@hidden
X-Mailman-Version: 1.2 (beta 1)
Precedence: bulk
Reply-To: address@hidden
List-Id: OCTAL tracker http://www.gnu.org/software/octal <octal-dev.gnu.org>

This is a multi-part message in MIME format.
--------------ECCABE68FDBBC8C88A172164
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

New docs and all. See the notice on the home page. 

I'm posting it to the mailing list because, as usual, Kerberos is acting
up and I cannot log in to upload it. This is about the 90th
"showstopper" Kerberos has given me. I hate kerberos. 

Anyway, enjoy!

-- 
@@@ david o'toole
@@@ address@hidden
@@@ www.gnu.org/software/octal
--------------ECCABE68FDBBC8C88A172164
Content-Type: application/x-tar;
 name="octal-alpha-0.2a.tar"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="octal-alpha-0.2a.tar"

b2N0YWwtYWxwaGEvQ09QWUlORwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQA
MDAwMDc2NQAwMDAwNzcyADAwMDAwMDQzMDc2ADA3MTE2MTM2NTIzADAxMjQ2MwAgMAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGR0bwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZHRvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJCSAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElD
RU5TRQoJCSAgICAgICBWZXJzaW9uIDIsIEp1bmUgMTk5MQoKIENvcHlyaWdodCAoQykgMTk4
OSwgMTk5MSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICAgICAgICAgICAgICAg
ICAgICAgICAgICA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQQogRXZl
cnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29w
aWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3Qg
YWxsb3dlZC4KCgkJCSAgICBQcmVhbWJsZQoKICBUaGUgbGljZW5zZXMgZm9yIG1vc3Qgc29m
dHdhcmUgYXJlIGRlc2lnbmVkIHRvIHRha2UgYXdheSB5b3VyCmZyZWVkb20gdG8gc2hhcmUg
YW5kIGNoYW5nZSBpdC4gIEJ5IGNvbnRyYXN0LCB0aGUgR05VIEdlbmVyYWwgUHVibGljCkxp
Y2Vuc2UgaXMgaW50ZW5kZWQgdG8gZ3VhcmFudGVlIHlvdXIgZnJlZWRvbSB0byBzaGFyZSBh
bmQgY2hhbmdlIGZyZWUKc29mdHdhcmUtLXRvIG1ha2Ugc3VyZSB0aGUgc29mdHdhcmUgaXMg
ZnJlZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFRoaXMKR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh
cHBsaWVzIHRvIG1vc3Qgb2YgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbidzIHNvZnR3
YXJlIGFuZCB0byBhbnkgb3RoZXIgcHJvZ3JhbSB3aG9zZSBhdXRob3JzIGNvbW1pdCB0bwp1
c2luZyBpdC4gIChTb21lIG90aGVyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBzb2Z0d2Fy
ZSBpcyBjb3ZlcmVkIGJ5CnRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGluc3RlYWQuKSAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgog
IFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBm
cmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRl
c2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3Ry
aWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoaXMgc2Vy
dmljZSBpZiB5b3Ugd2lzaCksIHRoYXQgeW91IHJlY2VpdmUgc291cmNlIGNvZGUgb3IgY2Fu
IGdldCBpdAppZiB5b3Ugd2FudCBpdCwgdGhhdCB5b3UgY2FuIGNoYW5nZSB0aGUgc29mdHdh
cmUgb3IgdXNlIHBpZWNlcyBvZiBpdAppbiBuZXcgZnJlZSBwcm9ncmFtczsgYW5kIHRoYXQg
eW91IGtub3cgeW91IGNhbiBkbyB0aGVzZSB0aGluZ3MuCgogIFRvIHByb3RlY3QgeW91ciBy
aWdodHMsIHdlIG5lZWQgdG8gbWFrZSByZXN0cmljdGlvbnMgdGhhdCBmb3JiaWQKYW55b25l
IHRvIGRlbnkgeW91IHRoZXNlIHJpZ2h0cyBvciB0byBhc2sgeW91IHRvIHN1cnJlbmRlciB0
aGUgcmlnaHRzLgpUaGVzZSByZXN0cmljdGlvbnMgdHJhbnNsYXRlIHRvIGNlcnRhaW4gcmVz
cG9uc2liaWxpdGllcyBmb3IgeW91IGlmIHlvdQpkaXN0cmlidXRlIGNvcGllcyBvZiB0aGUg
c29mdHdhcmUsIG9yIGlmIHlvdSBtb2RpZnkgaXQuCgogIEZvciBleGFtcGxlLCBpZiB5b3Ug
ZGlzdHJpYnV0ZSBjb3BpZXMgb2Ygc3VjaCBhIHByb2dyYW0sIHdoZXRoZXIKZ3JhdGlzIG9y
IGZvciBhIGZlZSwgeW91IG11c3QgZ2l2ZSB0aGUgcmVjaXBpZW50cyBhbGwgdGhlIHJpZ2h0
cyB0aGF0CnlvdSBoYXZlLiAgWW91IG11c3QgbWFrZSBzdXJlIHRoYXQgdGhleSwgdG9vLCBy
ZWNlaXZlIG9yIGNhbiBnZXQgdGhlCnNvdXJjZSBjb2RlLiAgQW5kIHlvdSBtdXN0IHNob3cg
dGhlbSB0aGVzZSB0ZXJtcyBzbyB0aGV5IGtub3cgdGhlaXIKcmlnaHRzLgoKICBXZSBwcm90
ZWN0IHlvdXIgcmlnaHRzIHdpdGggdHdvIHN0ZXBzOiAoMSkgY29weXJpZ2h0IHRoZSBzb2Z0
d2FyZSwgYW5kCigyKSBvZmZlciB5b3UgdGhpcyBsaWNlbnNlIHdoaWNoIGdpdmVzIHlvdSBs
ZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksCmRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0aGUg
c29mdHdhcmUuCgogIEFsc28sIGZvciBlYWNoIGF1dGhvcidzIHByb3RlY3Rpb24gYW5kIG91
cnMsIHdlIHdhbnQgdG8gbWFrZSBjZXJ0YWluCnRoYXQgZXZlcnlvbmUgdW5kZXJzdGFuZHMg
dGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhpcyBmcmVlCnNvZnR3YXJlLiAgSWYg
dGhlIHNvZnR3YXJlIGlzIG1vZGlmaWVkIGJ5IHNvbWVvbmUgZWxzZSBhbmQgcGFzc2VkIG9u
LCB3ZQp3YW50IGl0cyByZWNpcGllbnRzIHRvIGtub3cgdGhhdCB3aGF0IHRoZXkgaGF2ZSBp
cyBub3QgdGhlIG9yaWdpbmFsLCBzbwp0aGF0IGFueSBwcm9ibGVtcyBpbnRyb2R1Y2VkIGJ5
IG90aGVycyB3aWxsIG5vdCByZWZsZWN0IG9uIHRoZSBvcmlnaW5hbAphdXRob3JzJyByZXB1
dGF0aW9ucy4KCiAgRmluYWxseSwgYW55IGZyZWUgcHJvZ3JhbSBpcyB0aHJlYXRlbmVkIGNv
bnN0YW50bHkgYnkgc29mdHdhcmUKcGF0ZW50cy4gIFdlIHdpc2ggdG8gYXZvaWQgdGhlIGRh
bmdlciB0aGF0IHJlZGlzdHJpYnV0b3JzIG9mIGEgZnJlZQpwcm9ncmFtIHdpbGwgaW5kaXZp
ZHVhbGx5IG9idGFpbiBwYXRlbnQgbGljZW5zZXMsIGluIGVmZmVjdCBtYWtpbmcgdGhlCnBy
b2dyYW0gcHJvcHJpZXRhcnkuICBUbyBwcmV2ZW50IHRoaXMsIHdlIGhhdmUgbWFkZSBpdCBj
bGVhciB0aGF0IGFueQpwYXRlbnQgbXVzdCBiZSBsaWNlbnNlZCBmb3IgZXZlcnlvbmUncyBm
cmVlIHVzZSBvciBub3QgbGljZW5zZWQgYXQgYWxsLgoKICBUaGUgcHJlY2lzZSB0ZXJtcyBh
bmQgY29uZGl0aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW9uIGFuZAptb2RpZmljYXRp
b24gZm9sbG93LgoMCgkJICAgIEdOVSBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFCiAgIFRFUk1T
IEFORCBDT05ESVRJT05TIEZPUiBDT1BZSU5HLCBESVNUUklCVVRJT04gQU5EIE1PRElGSUNB
VElPTgoKICAwLiBUaGlzIExpY2Vuc2UgYXBwbGllcyB0byBhbnkgcHJvZ3JhbSBvciBvdGhl
ciB3b3JrIHdoaWNoIGNvbnRhaW5zCmEgbm90aWNlIHBsYWNlZCBieSB0aGUgY29weXJpZ2h0
IGhvbGRlciBzYXlpbmcgaXQgbWF5IGJlIGRpc3RyaWJ1dGVkCnVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGlzIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBUaGUgIlByb2dyYW0iLCBiZWxvdywK
cmVmZXJzIHRvIGFueSBzdWNoIHByb2dyYW0gb3Igd29yaywgYW5kIGEgIndvcmsgYmFzZWQg
b24gdGhlIFByb2dyYW0iCm1lYW5zIGVpdGhlciB0aGUgUHJvZ3JhbSBvciBhbnkgZGVyaXZh
dGl2ZSB3b3JrIHVuZGVyIGNvcHlyaWdodCBsYXc6CnRoYXQgaXMgdG8gc2F5LCBhIHdvcmsg
Y29udGFpbmluZyB0aGUgUHJvZ3JhbSBvciBhIHBvcnRpb24gb2YgaXQsCmVpdGhlciB2ZXJi
YXRpbSBvciB3aXRoIG1vZGlmaWNhdGlvbnMgYW5kL29yIHRyYW5zbGF0ZWQgaW50byBhbm90
aGVyCmxhbmd1YWdlLiAgKEhlcmVpbmFmdGVyLCB0cmFuc2xhdGlvbiBpcyBpbmNsdWRlZCB3
aXRob3V0IGxpbWl0YXRpb24gaW4KdGhlIHRlcm0gIm1vZGlmaWNhdGlvbiIuKSAgRWFjaCBs
aWNlbnNlZSBpcyBhZGRyZXNzZWQgYXMgInlvdSIuCgpBY3Rpdml0aWVzIG90aGVyIHRoYW4g
Y29weWluZywgZGlzdHJpYnV0aW9uIGFuZCBtb2RpZmljYXRpb24gYXJlIG5vdApjb3ZlcmVk
IGJ5IHRoaXMgTGljZW5zZTsgdGhleSBhcmUgb3V0c2lkZSBpdHMgc2NvcGUuICBUaGUgYWN0
IG9mCnJ1bm5pbmcgdGhlIFByb2dyYW0gaXMgbm90IHJlc3RyaWN0ZWQsIGFuZCB0aGUgb3V0
cHV0IGZyb20gdGhlIFByb2dyYW0KaXMgY292ZXJlZCBvbmx5IGlmIGl0cyBjb250ZW50cyBj
b25zdGl0dXRlIGEgd29yayBiYXNlZCBvbiB0aGUKUHJvZ3JhbSAoaW5kZXBlbmRlbnQgb2Yg
aGF2aW5nIGJlZW4gbWFkZSBieSBydW5uaW5nIHRoZSBQcm9ncmFtKS4KV2hldGhlciB0aGF0
IGlzIHRydWUgZGVwZW5kcyBvbiB3aGF0IHRoZSBQcm9ncmFtIGRvZXMuCgogIDEuIFlvdSBt
YXkgY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMgb2YgdGhlIFByb2dyYW0n
cwpzb3VyY2UgY29kZSBhcyB5b3UgcmVjZWl2ZSBpdCwgaW4gYW55IG1lZGl1bSwgcHJvdmlk
ZWQgdGhhdCB5b3UKY29uc3BpY3VvdXNseSBhbmQgYXBwcm9wcmlhdGVseSBwdWJsaXNoIG9u
IGVhY2ggY29weSBhbiBhcHByb3ByaWF0ZQpjb3B5cmlnaHQgbm90aWNlIGFuZCBkaXNjbGFp
bWVyIG9mIHdhcnJhbnR5OyBrZWVwIGludGFjdCBhbGwgdGhlCm5vdGljZXMgdGhhdCByZWZl
ciB0byB0aGlzIExpY2Vuc2UgYW5kIHRvIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsK
YW5kIGdpdmUgYW55IG90aGVyIHJlY2lwaWVudHMgb2YgdGhlIFByb2dyYW0gYSBjb3B5IG9m
IHRoaXMgTGljZW5zZQphbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKWW91IG1heSBjaGFyZ2Ug
YSBmZWUgZm9yIHRoZSBwaHlzaWNhbCBhY3Qgb2YgdHJhbnNmZXJyaW5nIGEgY29weSwgYW5k
CnlvdSBtYXkgYXQgeW91ciBvcHRpb24gb2ZmZXIgd2FycmFudHkgcHJvdGVjdGlvbiBpbiBl
eGNoYW5nZSBmb3IgYSBmZWUuCgogIDIuIFlvdSBtYXkgbW9kaWZ5IHlvdXIgY29weSBvciBj
b3BpZXMgb2YgdGhlIFByb2dyYW0gb3IgYW55IHBvcnRpb24Kb2YgaXQsIHRodXMgZm9ybWlu
ZyBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0sIGFuZCBjb3B5IGFuZApkaXN0cmlidXRl
IHN1Y2ggbW9kaWZpY2F0aW9ucyBvciB3b3JrIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9u
IDEKYWJvdmUsIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gbWVldCBhbGwgb2YgdGhlc2UgY29u
ZGl0aW9uczoKCiAgICBhKSBZb3UgbXVzdCBjYXVzZSB0aGUgbW9kaWZpZWQgZmlsZXMgdG8g
Y2FycnkgcHJvbWluZW50IG5vdGljZXMKICAgIHN0YXRpbmcgdGhhdCB5b3UgY2hhbmdlZCB0
aGUgZmlsZXMgYW5kIHRoZSBkYXRlIG9mIGFueSBjaGFuZ2UuCgogICAgYikgWW91IG11c3Qg
Y2F1c2UgYW55IHdvcmsgdGhhdCB5b3UgZGlzdHJpYnV0ZSBvciBwdWJsaXNoLCB0aGF0IGlu
CiAgICB3aG9sZSBvciBpbiBwYXJ0IGNvbnRhaW5zIG9yIGlzIGRlcml2ZWQgZnJvbSB0aGUg
UHJvZ3JhbSBvciBhbnkKICAgIHBhcnQgdGhlcmVvZiwgdG8gYmUgbGljZW5zZWQgYXMgYSB3
aG9sZSBhdCBubyBjaGFyZ2UgdG8gYWxsIHRoaXJkCiAgICBwYXJ0aWVzIHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGlzIExpY2Vuc2UuCgogICAgYykgSWYgdGhlIG1vZGlmaWVkIHByb2dyYW0g
bm9ybWFsbHkgcmVhZHMgY29tbWFuZHMgaW50ZXJhY3RpdmVseQogICAgd2hlbiBydW4sIHlv
dSBtdXN0IGNhdXNlIGl0LCB3aGVuIHN0YXJ0ZWQgcnVubmluZyBmb3Igc3VjaAogICAgaW50
ZXJhY3RpdmUgdXNlIGluIHRoZSBtb3N0IG9yZGluYXJ5IHdheSwgdG8gcHJpbnQgb3IgZGlz
cGxheSBhbgogICAgYW5ub3VuY2VtZW50IGluY2x1ZGluZyBhbiBhcHByb3ByaWF0ZSBjb3B5
cmlnaHQgbm90aWNlIGFuZCBhCiAgICBub3RpY2UgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50
eSAob3IgZWxzZSwgc2F5aW5nIHRoYXQgeW91IHByb3ZpZGUKICAgIGEgd2FycmFudHkpIGFu
ZCB0aGF0IHVzZXJzIG1heSByZWRpc3RyaWJ1dGUgdGhlIHByb2dyYW0gdW5kZXIKICAgIHRo
ZXNlIGNvbmRpdGlvbnMsIGFuZCB0ZWxsaW5nIHRoZSB1c2VyIGhvdyB0byB2aWV3IGEgY29w
eSBvZiB0aGlzCiAgICBMaWNlbnNlLiAgKEV4Y2VwdGlvbjogaWYgdGhlIFByb2dyYW0gaXRz
ZWxmIGlzIGludGVyYWN0aXZlIGJ1dAogICAgZG9lcyBub3Qgbm9ybWFsbHkgcHJpbnQgc3Vj
aCBhbiBhbm5vdW5jZW1lbnQsIHlvdXIgd29yayBiYXNlZCBvbgogICAgdGhlIFByb2dyYW0g
aXMgbm90IHJlcXVpcmVkIHRvIHByaW50IGFuIGFubm91bmNlbWVudC4pCgwKVGhlc2UgcmVx
dWlyZW1lbnRzIGFwcGx5IHRvIHRoZSBtb2RpZmllZCB3b3JrIGFzIGEgd2hvbGUuICBJZgpp
ZGVudGlmaWFibGUgc2VjdGlvbnMgb2YgdGhhdCB3b3JrIGFyZSBub3QgZGVyaXZlZCBmcm9t
IHRoZSBQcm9ncmFtLAphbmQgY2FuIGJlIHJlYXNvbmFibHkgY29uc2lkZXJlZCBpbmRlcGVu
ZGVudCBhbmQgc2VwYXJhdGUgd29ya3MgaW4KdGhlbXNlbHZlcywgdGhlbiB0aGlzIExpY2Vu
c2UsIGFuZCBpdHMgdGVybXMsIGRvIG5vdCBhcHBseSB0byB0aG9zZQpzZWN0aW9ucyB3aGVu
IHlvdSBkaXN0cmlidXRlIHRoZW0gYXMgc2VwYXJhdGUgd29ya3MuICBCdXQgd2hlbiB5b3UK
ZGlzdHJpYnV0ZSB0aGUgc2FtZSBzZWN0aW9ucyBhcyBwYXJ0IG9mIGEgd2hvbGUgd2hpY2gg
aXMgYSB3b3JrIGJhc2VkCm9uIHRoZSBQcm9ncmFtLCB0aGUgZGlzdHJpYnV0aW9uIG9mIHRo
ZSB3aG9sZSBtdXN0IGJlIG9uIHRoZSB0ZXJtcyBvZgp0aGlzIExpY2Vuc2UsIHdob3NlIHBl
cm1pc3Npb25zIGZvciBvdGhlciBsaWNlbnNlZXMgZXh0ZW5kIHRvIHRoZQplbnRpcmUgd2hv
bGUsIGFuZCB0aHVzIHRvIGVhY2ggYW5kIGV2ZXJ5IHBhcnQgcmVnYXJkbGVzcyBvZiB3aG8g
d3JvdGUgaXQuCgpUaHVzLCBpdCBpcyBub3QgdGhlIGludGVudCBvZiB0aGlzIHNlY3Rpb24g
dG8gY2xhaW0gcmlnaHRzIG9yIGNvbnRlc3QKeW91ciByaWdodHMgdG8gd29yayB3cml0dGVu
IGVudGlyZWx5IGJ5IHlvdTsgcmF0aGVyLCB0aGUgaW50ZW50IGlzIHRvCmV4ZXJjaXNlIHRo
ZSByaWdodCB0byBjb250cm9sIHRoZSBkaXN0cmlidXRpb24gb2YgZGVyaXZhdGl2ZSBvcgpj
b2xsZWN0aXZlIHdvcmtzIGJhc2VkIG9uIHRoZSBQcm9ncmFtLgoKSW4gYWRkaXRpb24sIG1l
cmUgYWdncmVnYXRpb24gb2YgYW5vdGhlciB3b3JrIG5vdCBiYXNlZCBvbiB0aGUgUHJvZ3Jh
bQp3aXRoIHRoZSBQcm9ncmFtIChvciB3aXRoIGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3Jh
bSkgb24gYSB2b2x1bWUgb2YKYSBzdG9yYWdlIG9yIGRpc3RyaWJ1dGlvbiBtZWRpdW0gZG9l
cyBub3QgYnJpbmcgdGhlIG90aGVyIHdvcmsgdW5kZXIKdGhlIHNjb3BlIG9mIHRoaXMgTGlj
ZW5zZS4KCiAgMy4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIChv
ciBhIHdvcmsgYmFzZWQgb24gaXQsCnVuZGVyIFNlY3Rpb24gMikgaW4gb2JqZWN0IGNvZGUg
b3IgZXhlY3V0YWJsZSBmb3JtIHVuZGVyIHRoZSB0ZXJtcyBvZgpTZWN0aW9ucyAxIGFuZCAy
IGFib3ZlIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gZG8gb25lIG9mIHRoZSBmb2xsb3dpbmc6
CgogICAgYSkgQWNjb21wYW55IGl0IHdpdGggdGhlIGNvbXBsZXRlIGNvcnJlc3BvbmRpbmcg
bWFjaGluZS1yZWFkYWJsZQogICAgc291cmNlIGNvZGUsIHdoaWNoIG11c3QgYmUgZGlzdHJp
YnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zCiAgICAxIGFuZCAyIGFib3ZlIG9u
IGEgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlOyBv
ciwKCiAgICBiKSBBY2NvbXBhbnkgaXQgd2l0aCBhIHdyaXR0ZW4gb2ZmZXIsIHZhbGlkIGZv
ciBhdCBsZWFzdCB0aHJlZQogICAgeWVhcnMsIHRvIGdpdmUgYW55IHRoaXJkIHBhcnR5LCBm
b3IgYSBjaGFyZ2Ugbm8gbW9yZSB0aGFuIHlvdXIKICAgIGNvc3Qgb2YgcGh5c2ljYWxseSBw
ZXJmb3JtaW5nIHNvdXJjZSBkaXN0cmlidXRpb24sIGEgY29tcGxldGUKICAgIG1hY2hpbmUt
cmVhZGFibGUgY29weSBvZiB0aGUgY29ycmVzcG9uZGluZyBzb3VyY2UgY29kZSwgdG8gYmUK
ICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucyAxIGFuZCAyIGFi
b3ZlIG9uIGEgbWVkaXVtCiAgICBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRl
cmNoYW5nZTsgb3IsCgogICAgYykgQWNjb21wYW55IGl0IHdpdGggdGhlIGluZm9ybWF0aW9u
IHlvdSByZWNlaXZlZCBhcyB0byB0aGUgb2ZmZXIKICAgIHRvIGRpc3RyaWJ1dGUgY29ycmVz
cG9uZGluZyBzb3VyY2UgY29kZS4gIChUaGlzIGFsdGVybmF0aXZlIGlzCiAgICBhbGxvd2Vk
IG9ubHkgZm9yIG5vbmNvbW1lcmNpYWwgZGlzdHJpYnV0aW9uIGFuZCBvbmx5IGlmIHlvdQog
ICAgcmVjZWl2ZWQgdGhlIHByb2dyYW0gaW4gb2JqZWN0IGNvZGUgb3IgZXhlY3V0YWJsZSBm
b3JtIHdpdGggc3VjaAogICAgYW4gb2ZmZXIsIGluIGFjY29yZCB3aXRoIFN1YnNlY3Rpb24g
YiBhYm92ZS4pCgpUaGUgc291cmNlIGNvZGUgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVy
cmVkIGZvcm0gb2YgdGhlIHdvcmsgZm9yCm1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAg
Rm9yIGFuIGV4ZWN1dGFibGUgd29yaywgY29tcGxldGUgc291cmNlCmNvZGUgbWVhbnMgYWxs
IHRoZSBzb3VyY2UgY29kZSBmb3IgYWxsIG1vZHVsZXMgaXQgY29udGFpbnMsIHBsdXMgYW55
CmFzc29jaWF0ZWQgaW50ZXJmYWNlIGRlZmluaXRpb24gZmlsZXMsIHBsdXMgdGhlIHNjcmlw
dHMgdXNlZCB0bwpjb250cm9sIGNvbXBpbGF0aW9uIGFuZCBpbnN0YWxsYXRpb24gb2YgdGhl
IGV4ZWN1dGFibGUuICBIb3dldmVyLCBhcyBhCnNwZWNpYWwgZXhjZXB0aW9uLCB0aGUgc291
cmNlIGNvZGUgZGlzdHJpYnV0ZWQgbmVlZCBub3QgaW5jbHVkZQphbnl0aGluZyB0aGF0IGlz
IG5vcm1hbGx5IGRpc3RyaWJ1dGVkIChpbiBlaXRoZXIgc291cmNlIG9yIGJpbmFyeQpmb3Jt
KSB3aXRoIHRoZSBtYWpvciBjb21wb25lbnRzIChjb21waWxlciwga2VybmVsLCBhbmQgc28g
b24pIG9mIHRoZQpvcGVyYXRpbmcgc3lzdGVtIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHJ1
bnMsIHVubGVzcyB0aGF0IGNvbXBvbmVudAppdHNlbGYgYWNjb21wYW5pZXMgdGhlIGV4ZWN1
dGFibGUuCgpJZiBkaXN0cmlidXRpb24gb2YgZXhlY3V0YWJsZSBvciBvYmplY3QgY29kZSBp
cyBtYWRlIGJ5IG9mZmVyaW5nCmFjY2VzcyB0byBjb3B5IGZyb20gYSBkZXNpZ25hdGVkIHBs
YWNlLCB0aGVuIG9mZmVyaW5nIGVxdWl2YWxlbnQKYWNjZXNzIHRvIGNvcHkgdGhlIHNvdXJj
ZSBjb2RlIGZyb20gdGhlIHNhbWUgcGxhY2UgY291bnRzIGFzCmRpc3RyaWJ1dGlvbiBvZiB0
aGUgc291cmNlIGNvZGUsIGV2ZW4gdGhvdWdoIHRoaXJkIHBhcnRpZXMgYXJlIG5vdApjb21w
ZWxsZWQgdG8gY29weSB0aGUgc291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLgoM
CiAgNC4gWW91IG1heSBub3QgY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmli
dXRlIHRoZSBQcm9ncmFtCmV4Y2VwdCBhcyBleHByZXNzbHkgcHJvdmlkZWQgdW5kZXIgdGhp
cyBMaWNlbnNlLiAgQW55IGF0dGVtcHQKb3RoZXJ3aXNlIHRvIGNvcHksIG1vZGlmeSwgc3Vi
bGljZW5zZSBvciBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIGlzCnZvaWQsIGFuZCB3aWxsIGF1
dG9tYXRpY2FsbHkgdGVybWluYXRlIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgTGljZW5zZS4K
SG93ZXZlciwgcGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBjb3BpZXMsIG9yIHJpZ2h0cywg
ZnJvbSB5b3UgdW5kZXIKdGhpcyBMaWNlbnNlIHdpbGwgbm90IGhhdmUgdGhlaXIgbGljZW5z
ZXMgdGVybWluYXRlZCBzbyBsb25nIGFzIHN1Y2gKcGFydGllcyByZW1haW4gaW4gZnVsbCBj
b21wbGlhbmNlLgoKICA1LiBZb3UgYXJlIG5vdCByZXF1aXJlZCB0byBhY2NlcHQgdGhpcyBM
aWNlbnNlLCBzaW5jZSB5b3UgaGF2ZSBub3QKc2lnbmVkIGl0LiAgSG93ZXZlciwgbm90aGlu
ZyBlbHNlIGdyYW50cyB5b3UgcGVybWlzc2lvbiB0byBtb2RpZnkgb3IKZGlzdHJpYnV0ZSB0
aGUgUHJvZ3JhbSBvciBpdHMgZGVyaXZhdGl2ZSB3b3Jrcy4gIFRoZXNlIGFjdGlvbnMgYXJl
CnByb2hpYml0ZWQgYnkgbGF3IGlmIHlvdSBkbyBub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4g
IFRoZXJlZm9yZSwgYnkKbW9kaWZ5aW5nIG9yIGRpc3RyaWJ1dGluZyB0aGUgUHJvZ3JhbSAo
b3IgYW55IHdvcmsgYmFzZWQgb24gdGhlClByb2dyYW0pLCB5b3UgaW5kaWNhdGUgeW91ciBh
Y2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzbywgYW5kCmFsbCBpdHMgdGVybXMg
YW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGluZyBvciBtb2RpZnlpbmcK
dGhlIFByb2dyYW0gb3Igd29ya3MgYmFzZWQgb24gaXQuCgogIDYuIEVhY2ggdGltZSB5b3Ug
cmVkaXN0cmlidXRlIHRoZSBQcm9ncmFtIChvciBhbnkgd29yayBiYXNlZCBvbiB0aGUKUHJv
Z3JhbSksIHRoZSByZWNpcGllbnQgYXV0b21hdGljYWxseSByZWNlaXZlcyBhIGxpY2Vuc2Ug
ZnJvbSB0aGUKb3JpZ2luYWwgbGljZW5zb3IgdG8gY29weSwgZGlzdHJpYnV0ZSBvciBtb2Rp
ZnkgdGhlIFByb2dyYW0gc3ViamVjdCB0bwp0aGVzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucy4g
IFlvdSBtYXkgbm90IGltcG9zZSBhbnkgZnVydGhlcgpyZXN0cmljdGlvbnMgb24gdGhlIHJl
Y2lwaWVudHMnIGV4ZXJjaXNlIG9mIHRoZSByaWdodHMgZ3JhbnRlZCBoZXJlaW4uCllvdSBh
cmUgbm90IHJlc3BvbnNpYmxlIGZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBw
YXJ0aWVzIHRvCnRoaXMgTGljZW5zZS4KCiAgNy4gSWYsIGFzIGEgY29uc2VxdWVuY2Ugb2Yg
YSBjb3VydCBqdWRnbWVudCBvciBhbGxlZ2F0aW9uIG9mIHBhdGVudAppbmZyaW5nZW1lbnQg
b3IgZm9yIGFueSBvdGhlciByZWFzb24gKG5vdCBsaW1pdGVkIHRvIHBhdGVudCBpc3N1ZXMp
LApjb25kaXRpb25zIGFyZSBpbXBvc2VkIG9uIHlvdSAod2hldGhlciBieSBjb3VydCBvcmRl
ciwgYWdyZWVtZW50IG9yCm90aGVyd2lzZSkgdGhhdCBjb250cmFkaWN0IHRoZSBjb25kaXRp
b25zIG9mIHRoaXMgTGljZW5zZSwgdGhleSBkbyBub3QKZXhjdXNlIHlvdSBmcm9tIHRoZSBj
b25kaXRpb25zIG9mIHRoaXMgTGljZW5zZS4gIElmIHlvdSBjYW5ub3QKZGlzdHJpYnV0ZSBz
byBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIg
dGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVu
IGFzIGEgY29uc2VxdWVuY2UgeW91Cm1heSBub3QgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBh
dCBhbGwuICBGb3IgZXhhbXBsZSwgaWYgYSBwYXRlbnQKbGljZW5zZSB3b3VsZCBub3QgcGVy
bWl0IHJveWFsdHktZnJlZSByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbSBieQphbGwg
dGhvc2Ugd2hvIHJlY2VpdmUgY29waWVzIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgdGhyb3Vn
aCB5b3UsIHRoZW4KdGhlIG9ubHkgd2F5IHlvdSBjb3VsZCBzYXRpc2Z5IGJvdGggaXQgYW5k
IHRoaXMgTGljZW5zZSB3b3VsZCBiZSB0bwpyZWZyYWluIGVudGlyZWx5IGZyb20gZGlzdHJp
YnV0aW9uIG9mIHRoZSBQcm9ncmFtLgoKSWYgYW55IHBvcnRpb24gb2YgdGhpcyBzZWN0aW9u
IGlzIGhlbGQgaW52YWxpZCBvciB1bmVuZm9yY2VhYmxlIHVuZGVyCmFueSBwYXJ0aWN1bGFy
IGNpcmN1bXN0YW5jZSwgdGhlIGJhbGFuY2Ugb2YgdGhlIHNlY3Rpb24gaXMgaW50ZW5kZWQg
dG8KYXBwbHkgYW5kIHRoZSBzZWN0aW9uIGFzIGEgd2hvbGUgaXMgaW50ZW5kZWQgdG8gYXBw
bHkgaW4gb3RoZXIKY2lyY3Vtc3RhbmNlcy4KCkl0IGlzIG5vdCB0aGUgcHVycG9zZSBvZiB0
aGlzIHNlY3Rpb24gdG8gaW5kdWNlIHlvdSB0byBpbmZyaW5nZSBhbnkKcGF0ZW50cyBvciBv
dGhlciBwcm9wZXJ0eSByaWdodCBjbGFpbXMgb3IgdG8gY29udGVzdCB2YWxpZGl0eSBvZiBh
bnkKc3VjaCBjbGFpbXM7IHRoaXMgc2VjdGlvbiBoYXMgdGhlIHNvbGUgcHVycG9zZSBvZiBw
cm90ZWN0aW5nIHRoZQppbnRlZ3JpdHkgb2YgdGhlIGZyZWUgc29mdHdhcmUgZGlzdHJpYnV0
aW9uIHN5c3RlbSwgd2hpY2ggaXMKaW1wbGVtZW50ZWQgYnkgcHVibGljIGxpY2Vuc2UgcHJh
Y3RpY2VzLiAgTWFueSBwZW9wbGUgaGF2ZSBtYWRlCmdlbmVyb3VzIGNvbnRyaWJ1dGlvbnMg
dG8gdGhlIHdpZGUgcmFuZ2Ugb2Ygc29mdHdhcmUgZGlzdHJpYnV0ZWQKdGhyb3VnaCB0aGF0
IHN5c3RlbSBpbiByZWxpYW5jZSBvbiBjb25zaXN0ZW50IGFwcGxpY2F0aW9uIG9mIHRoYXQK
c3lzdGVtOyBpdCBpcyB1cCB0byB0aGUgYXV0aG9yL2Rvbm9yIHRvIGRlY2lkZSBpZiBoZSBv
ciBzaGUgaXMgd2lsbGluZwp0byBkaXN0cmlidXRlIHNvZnR3YXJlIHRocm91Z2ggYW55IG90
aGVyIHN5c3RlbSBhbmQgYSBsaWNlbnNlZSBjYW5ub3QKaW1wb3NlIHRoYXQgY2hvaWNlLgoK
VGhpcyBzZWN0aW9uIGlzIGludGVuZGVkIHRvIG1ha2UgdGhvcm91Z2hseSBjbGVhciB3aGF0
IGlzIGJlbGlldmVkIHRvCmJlIGEgY29uc2VxdWVuY2Ugb2YgdGhlIHJlc3Qgb2YgdGhpcyBM
aWNlbnNlLgoMCiAgOC4gSWYgdGhlIGRpc3RyaWJ1dGlvbiBhbmQvb3IgdXNlIG9mIHRoZSBQ
cm9ncmFtIGlzIHJlc3RyaWN0ZWQgaW4KY2VydGFpbiBjb3VudHJpZXMgZWl0aGVyIGJ5IHBh
dGVudHMgb3IgYnkgY29weXJpZ2h0ZWQgaW50ZXJmYWNlcywgdGhlCm9yaWdpbmFsIGNvcHly
aWdodCBob2xkZXIgd2hvIHBsYWNlcyB0aGUgUHJvZ3JhbSB1bmRlciB0aGlzIExpY2Vuc2UK
bWF5IGFkZCBhbiBleHBsaWNpdCBnZW9ncmFwaGljYWwgZGlzdHJpYnV0aW9uIGxpbWl0YXRp
b24gZXhjbHVkaW5nCnRob3NlIGNvdW50cmllcywgc28gdGhhdCBkaXN0cmlidXRpb24gaXMg
cGVybWl0dGVkIG9ubHkgaW4gb3IgYW1vbmcKY291bnRyaWVzIG5vdCB0aHVzIGV4Y2x1ZGVk
LiAgSW4gc3VjaCBjYXNlLCB0aGlzIExpY2Vuc2UgaW5jb3Jwb3JhdGVzCnRoZSBsaW1pdGF0
aW9uIGFzIGlmIHdyaXR0ZW4gaW4gdGhlIGJvZHkgb2YgdGhpcyBMaWNlbnNlLgoKICA5LiBU
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29y
IG5ldyB2ZXJzaW9ucwpvZiB0aGUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmcm9tIHRpbWUg
dG8gdGltZS4gIFN1Y2ggbmV3IHZlcnNpb25zIHdpbGwKYmUgc2ltaWxhciBpbiBzcGlyaXQg
dG8gdGhlIHByZXNlbnQgdmVyc2lvbiwgYnV0IG1heSBkaWZmZXIgaW4gZGV0YWlsIHRvCmFk
ZHJlc3MgbmV3IHByb2JsZW1zIG9yIGNvbmNlcm5zLgoKRWFjaCB2ZXJzaW9uIGlzIGdpdmVu
IGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUgUHJvZ3JhbQpzcGVj
aWZpZXMgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGlzIExpY2Vuc2Ugd2hpY2ggYXBwbGllcyB0
byBpdCBhbmQgImFueQpsYXRlciB2ZXJzaW9uIiwgeW91IGhhdmUgdGhlIG9wdGlvbiBvZiBm
b2xsb3dpbmcgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zCmVpdGhlciBvZiB0aGF0IHZlcnNp
b24gb3Igb2YgYW55IGxhdGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5IHRoZSBGcmVlClNvZnR3
YXJlIEZvdW5kYXRpb24uICBJZiB0aGUgUHJvZ3JhbSBkb2VzIG5vdCBzcGVjaWZ5IGEgdmVy
c2lvbiBudW1iZXIgb2YKdGhpcyBMaWNlbnNlLCB5b3UgbWF5IGNob29zZSBhbnkgdmVyc2lv
biBldmVyIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLgoKICAx
MC4gSWYgeW91IHdpc2ggdG8gaW5jb3Jwb3JhdGUgcGFydHMgb2YgdGhlIFByb2dyYW0gaW50
byBvdGhlciBmcmVlCnByb2dyYW1zIHdob3NlIGRpc3RyaWJ1dGlvbiBjb25kaXRpb25zIGFy
ZSBkaWZmZXJlbnQsIHdyaXRlIHRvIHRoZSBhdXRob3IKdG8gYXNrIGZvciBwZXJtaXNzaW9u
LiAgRm9yIHNvZnR3YXJlIHdoaWNoIGlzIGNvcHlyaWdodGVkIGJ5IHRoZSBGcmVlClNvZnR3
YXJlIEZvdW5kYXRpb24sIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IHdlIHNvbWV0aW1lcwptYWtlIGV4Y2VwdGlvbnMgZm9yIHRoaXMuICBPdXIgZGVjaXNpb24g
d2lsbCBiZSBndWlkZWQgYnkgdGhlIHR3byBnb2FscwpvZiBwcmVzZXJ2aW5nIHRoZSBmcmVl
IHN0YXR1cyBvZiBhbGwgZGVyaXZhdGl2ZXMgb2Ygb3VyIGZyZWUgc29mdHdhcmUgYW5kCm9m
IHByb21vdGluZyB0aGUgc2hhcmluZyBhbmQgcmV1c2Ugb2Ygc29mdHdhcmUgZ2VuZXJhbGx5
LgoKCQkJICAgIE5PIFdBUlJBTlRZCgogIDExLiBCRUNBVVNFIFRIRSBQUk9HUkFNIElTIExJ
Q0VOU0VEIEZSRUUgT0YgQ0hBUkdFLCBUSEVSRSBJUyBOTyBXQVJSQU5UWQpGT1IgVEhFIFBS
T0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZIEFQUExJQ0FCTEUgTEFXLiAgRVhD
RVBUIFdIRU4KT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUwpQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIg
V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRApPUiBJTVBM
SUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRgpNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTClRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JN
QU5DRSBPRiBUSEUgUFJPR1JBTSBJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUKUFJPR1JBTSBQ
Uk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YgQUxMIE5FQ0VTU0FSWSBT
RVJWSUNJTkcsClJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxMi4gSU4gTk8gRVZFTlQgVU5M
RVNTIFJFUVVJUkVEIEJZIEFQUExJQ0FCTEUgTEFXIE9SIEFHUkVFRCBUTyBJTiBXUklUSU5H
CldJTEwgQU5ZIENPUFlSSUdIVCBIT0xERVIsIE9SIEFOWSBPVEhFUiBQQVJUWSBXSE8gTUFZ
IE1PRElGWSBBTkQvT1IKUkVESVNUUklCVVRFIFRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBB
Qk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywKSU5DTFVESU5HIEFOWSBHRU5F
UkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklT
SU5HCk9VVCBPRiBUSEUgVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElO
Q0xVRElORyBCVVQgTk9UIExJTUlURUQKVE8gTE9TUyBPRiBEQVRBIE9SIERBVEEgQkVJTkcg
UkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZCllPVSBPUiBUSElS
RCBQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEgg
QU5ZIE9USEVSClBST0dSQU1TKSwgRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJU
WSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRQpQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRVMu
CgoJCSAgICAgRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05TCgwKCUFwcGVuZGl4OiBIb3cg
dG8gQXBwbHkgVGhlc2UgVGVybXMgdG8gWW91ciBOZXcgUHJvZ3JhbXMKCiAgSWYgeW91IGRl
dmVsb3AgYSBuZXcgcHJvZ3JhbSwgYW5kIHlvdSB3YW50IGl0IHRvIGJlIG9mIHRoZSBncmVh
dGVzdApwb3NzaWJsZSB1c2UgdG8gdGhlIHB1YmxpYywgdGhlIGJlc3Qgd2F5IHRvIGFjaGll
dmUgdGhpcyBpcyB0byBtYWtlIGl0CmZyZWUgc29mdHdhcmUgd2hpY2ggZXZlcnlvbmUgY2Fu
IHJlZGlzdHJpYnV0ZSBhbmQgY2hhbmdlIHVuZGVyIHRoZXNlIHRlcm1zLgoKICBUbyBkbyBz
bywgYXR0YWNoIHRoZSBmb2xsb3dpbmcgbm90aWNlcyB0byB0aGUgcHJvZ3JhbS4gIEl0IGlz
IHNhZmVzdAp0byBhdHRhY2ggdGhlbSB0byB0aGUgc3RhcnQgb2YgZWFjaCBzb3VyY2UgZmls
ZSB0byBtb3N0IGVmZmVjdGl2ZWx5CmNvbnZleSB0aGUgZXhjbHVzaW9uIG9mIHdhcnJhbnR5
OyBhbmQgZWFjaCBmaWxlIHNob3VsZCBoYXZlIGF0IGxlYXN0CnRoZSAiY29weXJpZ2h0IiBs
aW5lIGFuZCBhIHBvaW50ZXIgdG8gd2hlcmUgdGhlIGZ1bGwgbm90aWNlIGlzIGZvdW5kLgoK
ICAgIDxvbmUgbGluZSB0byBnaXZlIHRoZSBwcm9ncmFtJ3MgbmFtZSBhbmQgYSBicmllZiBp
ZGVhIG9mIHdoYXQgaXQgZG9lcy4+CiAgICBDb3B5cmlnaHQgKEMpIDE5eXkgIDxuYW1lIG9m
IGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAg
IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFs
b25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3
YXJlCiAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEg
MDIxMzksIFVTQS4KCkFsc28gYWRkIGluZm9ybWF0aW9uIG9uIGhvdyB0byBjb250YWN0IHlv
dSBieSBlbGVjdHJvbmljIGFuZCBwYXBlciBtYWlsLgoKSWYgdGhlIHByb2dyYW0gaXMgaW50
ZXJhY3RpdmUsIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQgbm90aWNlIGxpa2UgdGhpcwp3aGVu
IGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIEdub21vdmlzaW9uIHZl
cnNpb24gNjksIENvcHlyaWdodCAoQykgMTl5eSBuYW1lIG9mIGF1dGhvcgogICAgR25vbW92
aXNpb24gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZOyBmb3IgZGV0YWlscyB0
eXBlIGBzaG93IHcnLgogICAgVGhpcyBpcyBmcmVlIHNvZnR3YXJlLCBhbmQgeW91IGFyZSB3
ZWxjb21lIHRvIHJlZGlzdHJpYnV0ZSBpdAogICAgdW5kZXIgY2VydGFpbiBjb25kaXRpb25z
OyB0eXBlIGBzaG93IGMnIGZvciBkZXRhaWxzLgoKVGhlIGh5cG90aGV0aWNhbCBjb21tYW5k
cyBgc2hvdyB3JyBhbmQgYHNob3cgYycgc2hvdWxkIHNob3cgdGhlIGFwcHJvcHJpYXRlCnBh
cnRzIG9mIHRoZSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgT2YgY291cnNlLCB0aGUgY29t
bWFuZHMgeW91IHVzZSBtYXkKYmUgY2FsbGVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGBzaG93
IHcnIGFuZCBgc2hvdyBjJzsgdGhleSBjb3VsZCBldmVuIGJlCm1vdXNlLWNsaWNrcyBvciBt
ZW51IGl0ZW1zLS13aGF0ZXZlciBzdWl0cyB5b3VyIHByb2dyYW0uCgpZb3Ugc2hvdWxkIGFs
c28gZ2V0IHlvdXIgZW1wbG95ZXIgKGlmIHlvdSB3b3JrIGFzIGEgcHJvZ3JhbW1lcikgb3Ig
eW91cgpzY2hvb2wsIGlmIGFueSwgdG8gc2lnbiBhICJjb3B5cmlnaHQgZGlzY2xhaW1lciIg
Zm9yIHRoZSBwcm9ncmFtLCBpZgpuZWNlc3NhcnkuICBIZXJlIGlzIGEgc2FtcGxlOyBhbHRl
ciB0aGUgbmFtZXM6CgogIFlveW9keW5lLCBJbmMuLCBoZXJlYnkgZGlzY2xhaW1zIGFsbCBj
b3B5cmlnaHQgaW50ZXJlc3QgaW4gdGhlIHByb2dyYW0KICBgR25vbW92aXNpb24nICh3aGlj
aCBtYWtlcyBwYXNzZXMgYXQgY29tcGlsZXJzKSB3cml0dGVuIGJ5IEphbWVzIEhhY2tlci4K
CiAgPHNpZ25hdHVyZSBvZiBUeSBDb29uPiwgMSBBcHJpbCAxOTg5CiAgVHkgQ29vbiwgUHJl
c2lkZW50IG9mIFZpY2UKClRoaXMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBkb2VzIG5vdCBw
ZXJtaXQgaW5jb3Jwb3JhdGluZyB5b3VyIHByb2dyYW0gaW50bwpwcm9wcmlldGFyeSBwcm9n
cmFtcy4gIElmIHlvdXIgcHJvZ3JhbSBpcyBhIHN1YnJvdXRpbmUgbGlicmFyeSwgeW91IG1h
eQpjb25zaWRlciBpdCBtb3JlIHVzZWZ1bCB0byBwZXJtaXQgbGlua2luZyBwcm9wcmlldGFy
eSBhcHBsaWNhdGlvbnMgd2l0aCB0aGUKbGlicmFyeS4gIElmIHRoaXMgaXMgd2hhdCB5b3Ug
d2FudCB0byBkbywgdXNlIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsClB1YmxpYyBMaWNlbnNl
IGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvY3RhbC1hbHBo
YS9kZWxheS5jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwNzY1ADAw
MDA3NzIAMDAwMDAwMTAyNDUAMDcxMTYxMzY1MjMAMDEyNjYyACAwAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAZHRvAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAABkdG8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAC8qCiogJEhlYWRlcjogL2hvbWUvZHRvL29jdGFsL1JDUy9kZWxh
eS5jLHYgMS4zIDIwMDAvMDYvMDMgMDU6NTQ6NTYgZHRvIEV4cCBkdG8gJAoqIChDKSAyMDAw
IERhdmlkIE8nVG9vbGUgJERhdGU6IDIwMDAvMDYvMDMgMDU6NTQ6NTYgJAoqICRSZXZpc2lv
bjogMS4zICQKKiAKKiBERUxBWS5DCiogQSAodmVyeSkgc2ltcGxlIGRlbGF5IGVmZmVjdCBm
b3IgT0NUQUwuIAoqIEN1cnJlbnRseSBvbmx5IGluIG1vbm8uICAKKgoqIFRoaXMgc29mdHdh
cmUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQoqIEdOVSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIChHUEwpLiBSZWFkIHRoZSBpbmNsdWRlZCBmaWxlCiogQ09QWUlO
RyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4gCiogCiovCgpzdGF0aWMgY29uc3QgY2hhciByY3Np
ZFtdPSIkSWQ6IGRlbGF5LmMsdiAxLjMgMjAwMC8wNi8wMyAwNTo1NDo1NiBkdG8gRXhwIGR0
byAkIjsKCiNpbmNsdWRlICJ1dGlsLmgiICAgIC8qIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBt
dXNpYyAgKi8KI2luY2x1ZGUgIm1hY2hpbmUuaCIgLyogbWFjaGluZSBpbnRlcmZhY2UgICAg
ICAgICAgICAqLwoKI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RyaW5nLmg+Cgpl
bnVtIHtpeF9sZW5ndGgsIGl4X2ZlZWRiYWNrfTsgIC8qIGluZGV4ZXMgb2YgcGFyYW1ldGVy
cyBpbiBhbiBldmVudCAqLwplbnVtIHtteV90cmFjayA9IDEgfTsgICAgICAgICAgIC8qIGln
bm9yZWQgZm9yIGVmZmVjdHM7IGFsd2F5cyAxICAgICAqLwoKcGFyYW1fc3BlYyBteV9wYXJh
bXNbXSA9IHsgCiAgewogICAgc21hbGwsICAgICAgICAgICAgIC8qIGhvdyB0byBkaXNwbGF5
IGl0IGluIHBhdHRlcm4gdmlldyAqLyAKICAgIHNsaWRlciwgICAgICAgICAgICAvKiBob3cg
dG8gY29udHJvbCBpdCBpbiBjb250cm9sIGJveCAgKi8gCiAgICAibGVuIiwKICAgICJkZWxh
eSBsZW5ndGggKGluIGJsb2NrcykiLAogICAgMSwgICAgICAgICAgICAgICAgLyogbWluaW11
bSAgICAgICAgICAgKi8KICAgIDgsICAgICAgICAgICAgICAgIC8qIG1heGltdW0gICAgICAg
ICAgICovIAogICAgMyAgICAgICAgICAgICAgICAgLyogZGVmYXVsdCAgICAgICAgICAgKi8g
CiAgfSwKCiAgewogICAgc21hbGwsICAgICAgICAgICAgLyogc2hvdyBhcyB0d28gaGV4IGRp
Z2l0cywgMDAtRkUgKi8KICAgIHNsaWRlciwgICAgICAgICAgIC8qIGNvbnRyb2wgdHlwZSBp
cyBzbGlkZXIgICAgICAgICovIAogICAgImZiIiwgCiAgICAiRmVlZGJhY2sgbGV2ZWwgKDB4
RkU9MTAwJSkiLAogICAgMHgwMCwgCiAgICAweEZFLCAKICAgIDB4MTAsICAgICAgICAgICAg
IC8qIGxvdyBkZWZhdWx0IGZlZWRiYWNrIGxldmVsICAgICovIAogIH0KfTsKCi8qIG5vdGU6
IHBhcmFtZXRlciAwIGlzIGN1cnJlbnRseSBpZ25vcmVkLi4uIHdpbGwgYmUgZml4ZWQgbGF0
ZXIgKi8KCnR5cGVkZWYgc3RydWN0IF9teV9zdGF0ZSB7IAogIHNhbXAqIGJsb2NrYnVmOwog
IGZsb2F0IGZlZWRiYWNrX2ZhY3RvcjsKfSBteV9zdGF0ZTsgCgogCmludCBveF9pbml0KG1h
Y2hpbmVfdHlwZSogdCkgewogIAogIHQtPmxvbmdfbmFtZSAgICAgICAgPSAiU2ltcGxlIE1v
bm8gRGVsYXkgTWFjaGluZSI7IAogIHQtPnNob3J0X25hbWUgICAgICAgPSAibWRlbGF5Ijsg
CiAgdC0+bWF4X3RyYWNrcyAgICAgICA9IDE7IAogIHQtPmlucHV0X2NoYW5uZWxzICAgPSAx
OyAKICB0LT5vdXRwdXRfY2hhbm5lbHMgID0gMTsgICAKICB0LT5udW1fcGFyYW1zICAgICAg
ID0gMjsKCiAgdC0+cGFyYW1fc3BlY3MgICAgICA9IG15X3BhcmFtczsgLyogZ2l2ZSBpdCB0
aGUgYWRkcmVzcyBvZiBteSBhcnJheSBvZiBwYXJhbSBzdHJ1Y3RzICovIAoKICByZXR1cm4o
MSk7IAp9CgogCnZvaWQgb3hfY3JlYXRlKG1hY2hpbmUqIG0pIHsKICBteV9zdGF0ZSogczsK
CiAgcyA9IChteV9zdGF0ZSopIG1hbGxvYyhzaXplb2YobXlfc3RhdGUpKTsKICBzLT5mZWVk
YmFja19mYWN0b3IgPSAoKGZsb2F0KTB4MTApIC8gMjU1LjAgOyAgICAgCiAgcy0+YmxvY2ti
dWYgPSAoZmxvYXQqKSBtYWxsb2MoT1hfU0FNUExJTkdfUkFURSAqIHNpemVvZihmbG9hdCkp
OwogIG1lbXNldChzLT5ibG9ja2J1ZiwgMCwgT1hfU0FNUExJTkdfUkFURSAqIHNpemVvZihz
YW1wKSk7CgogIG0tPnN0YXRlID0gKHZvaWQqKXM7ICAKICB9CgoKdm9pZCBveF9kZXN0cm95
KG1hY2hpbmUqIG0pIHsKICBmcmVlKCAoKG15X3N0YXRlKikobS0+c3RhdGUpKSAtPiBibG9j
a2J1Zik7CiAgZnJlZShtLT5zdGF0ZSk7CiAgbS0+c3RhdGUgPSAwOwp9CgoKLyogb3hfdXBk
YXRlKCkgaXMgY2FsbGVkIG9uIGV2ZXJ5IHRpY2ssIG9yIHdoZW5ldmVyIHlvdSBtaWdodCBn
ZXQgbmV3IHBhcmFtcyAgICAqLyAKLyogc28gcmVsb2FkIGFsbCB0aGUgb25lcyB0aGF0IGFy
ZW4ndCBzZXQgdG8gIm5vY2hhbmdlIiAgICAgICAgICAgICAgICAgICAgICAgICAqLwoKdm9p
ZCBveF91cGRhdGUobWFjaGluZSogbSkgewogIHBhcmFtIHRlbXA7IAoKICBteV9zdGF0ZSAq
cyA9IChteV9zdGF0ZSopbS0+c3RhdGU7IAogICAgIAogIHRlbXAgPSBtLT5wYXJhbXNbMF1b
aXhfbGVuZ3RoXTsKICAvKiBub3QgeWV0IGltcGxlbWVudGVkICovIAoKICB0ZW1wID0gbS0+
cGFyYW1zWzBdW2l4X2ZlZWRiYWNrXTsKICBpZiAodGVtcCAhPSBub2NoYW5nZSkgewogICAg
cy0+ZmVlZGJhY2tfZmFjdG9yID0gICgoZmxvYXQpdGVtcCkgLyAyNTUuMDsgICAKICB9Cn0g
CgoKLyogcmV0dXJuIGEgc3RyaW5nIGRlc2NyaWJpbmcgYSBnaXZlbiBwYXJhbWV0ZXIgdmFs
dWUuLi4gdGhpcyBpcyB1c2VkIGZvciBpbnRlcmFjdGl2ZSB0d2Vha2luZyAqLwovKiBvZiBw
YXJhbWV0ZXJzLCBnaXZpbmcgdGhlIHVzZXIgZmVlZGJhY2sgb24gd2hhdCdzIGhhcHBlbmlu
ZyB3aGVuIGhlL3NoZSBwdWxscyBhIHNsaWRlci4uLiAgICovIAoKY29uc3QgY2hhciogb3hf
ZGVzYyhpbnQgd2hpY2hfcGFyYW0sIHBhcmFtIHZhbHVlKSB7CiAgc3RhdGljIGNoYXIgdGVt
cHN0cmluZ1sxMDBdOwogIGZsb2F0IHg7CiAgaW50IHBlcmNlbnQ7IAoKICBzd2l0Y2ggKHdo
aWNoX3BhcmFtKSB7CiAgCiAgY2FzZSBpeF9sZW5ndGg6IAogICAgcmV0dXJuICJub3QgaW1w
bGVtZW50ZWQgeWV0IjsgIAogICAgYnJlYWs7IAoKICBjYXNlIGl4X2ZlZWRiYWNrOiAKICAg
IHggPSAoKGZsb2F0KXZhbHVlKSAvIDI1NS4wOyAgLyogc2NhbGUgZnJvbSAweDAwLi4weEZF
IHRvIGZsb2F0aW5nIHBvaW50IDAuLjEgKi8gCiAgICBwZXJjZW50ID0gKGludCkoeCAqIDEw
MCk7CiAgICBzcHJpbnRmKHRlbXBzdHJpbmcsICIlZCUlIiwgcGVyY2VudCk7IAogICAgcmV0
dXJuIHRlbXBzdHJpbmc7CiAgICBicmVhazsKCiAgZGVmYXVsdDogCiAgICByZXR1cm4oIkVS
Uk9SIik7IAogIH07Cn0KCi8qIG94X3dvcmsgc2hvdWxkIGFjdHVhbGx5IGRvIHRoZSBqb2Ig
b2YgZG9pbmcgb3V0cHV0LiByZXR1cm4gMSBpZiB5b3UgZ2VuZXJhdGVkIAogKiBzb21ldGhp
bmcsIDAgaWYgbm90CiAqLwoKaW50IG94X3dvcmsobWFjaGluZSogbSwgaW50IGJsb2NrX3Np
emUpIHsKCiBteV9zdGF0ZSogczsgIAogc2FtcCogbW91dDsgICAgICAgICAgICAgIC8qIG1v
bm8gb3V0ICovIAogc2FtcCogbWluOyAgICAgICAgICAgICAgIC8qIG1vbm8gaW4gICovIAog
aW50IGk7CgogcyA9IChteV9zdGF0ZSopbS0+c3RhdGU7ICAgICAgIC8qIGdyYWIgb3VyIHN0
YXRlIGRhdGEgYWRkcmVzcyAqLyAKIG1vdXQgPSBtLT5sb3V0OyAgICAgICAgICAgICAgICAg
ICAKIG1pbiA9IG0tPmxpbjsgCgogLyogMS4gZmlyc3QgYXBwbHkgdGhlIGZlZWRiYWNrIGRl
Y2F5IHRvIHRoZSBleGlzdGluZyBidWZmZXIgKi8KIC8qIDIuIHRoZW4gYWRkIHRoZSBjdXJy
ZW50IGlucHV0IHNpZ25hbCB0byB0aGF0IGJ1ZmZlciAgICAgICovIAogLyogMy4gb3V0cHV0
IHRoZSBidWZmZXIgKi8gCgogZm9yIChpPTA7IGkgPCBibG9ja19zaXplOyBpKyspIHsKICAg
cy0+YmxvY2tidWZbaV0gKj0gcy0+ZmVlZGJhY2tfZmFjdG9yOwogICBzLT5ibG9ja2J1Zltp
XSArPSBtaW5baV07CiAgIG1vdXRbaV0gPSBzLT5ibG9ja2J1ZltpXTsKIH0KCiByZXR1cm4g
KDEpOwp9Cgp2b2lkIG94X3RyYWNrKG1hY2hpbmUqIG0sIGludCBjaGFuZ2UpIHsgCiAgLyog
bGVhdmUgdGhpcyBibGFuayBmb3IgZWZmZWN0cywgb3IgaWYgeW91IGRvbid0IGhhdmUgcG9s
eXBob255ICovIAp9CgovKiBFbmQgJFNvdXJjZTogL2hvbWUvZHRvL29jdGFsL1JDUy9kZWxh
eS5jLHYgJCAqLwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG9jdGFsLWFscGhhL0RPQ19DT1BZ
SU5HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDA3NjUAMDAwMDc3MgAwMDAw
MDA0MzMwMAAwNzExNjEzNjUyMwAwMTMxMzYAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABkdG8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAGR0bwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAACQlHTlUgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2UKCQkgICBWZXJzaW9uIDEu
MSwgTWFyY2ggMjAwMAoKIENvcHlyaWdodCAoQykgMjAwMCAgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuCiAgICAgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3Rvbiwg
TUEgIDAyMTExLTEzMDcgIFVTQQogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5k
IGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQs
IGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCgowLiBQUkVBTUJMRQoKVGhlIHB1
cnBvc2Ugb2YgdGhpcyBMaWNlbnNlIGlzIHRvIG1ha2UgYSBtYW51YWwsIHRleHRib29rLCBv
ciBvdGhlcgp3cml0dGVuIGRvY3VtZW50ICJmcmVlIiBpbiB0aGUgc2Vuc2Ugb2YgZnJlZWRv
bTogdG8gYXNzdXJlIGV2ZXJ5b25lCnRoZSBlZmZlY3RpdmUgZnJlZWRvbSB0byBjb3B5IGFu
ZCByZWRpc3RyaWJ1dGUgaXQsIHdpdGggb3Igd2l0aG91dAptb2RpZnlpbmcgaXQsIGVpdGhl
ciBjb21tZXJjaWFsbHkgb3Igbm9uY29tbWVyY2lhbGx5LiAgU2Vjb25kYXJpbHksCnRoaXMg
TGljZW5zZSBwcmVzZXJ2ZXMgZm9yIHRoZSBhdXRob3IgYW5kIHB1Ymxpc2hlciBhIHdheSB0
byBnZXQKY3JlZGl0IGZvciB0aGVpciB3b3JrLCB3aGlsZSBub3QgYmVpbmcgY29uc2lkZXJl
ZCByZXNwb25zaWJsZSBmb3IKbW9kaWZpY2F0aW9ucyBtYWRlIGJ5IG90aGVycy4KClRoaXMg
TGljZW5zZSBpcyBhIGtpbmQgb2YgImNvcHlsZWZ0Iiwgd2hpY2ggbWVhbnMgdGhhdCBkZXJp
dmF0aXZlCndvcmtzIG9mIHRoZSBkb2N1bWVudCBtdXN0IHRoZW1zZWx2ZXMgYmUgZnJlZSBp
biB0aGUgc2FtZSBzZW5zZS4gIEl0CmNvbXBsZW1lbnRzIHRoZSBHTlUgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSwgd2hpY2ggaXMgYSBjb3B5bGVmdApsaWNlbnNlIGRlc2lnbmVkIGZvciBm
cmVlIHNvZnR3YXJlLgoKV2UgaGF2ZSBkZXNpZ25lZCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIg
dG8gdXNlIGl0IGZvciBtYW51YWxzIGZvciBmcmVlCnNvZnR3YXJlLCBiZWNhdXNlIGZyZWUg
c29mdHdhcmUgbmVlZHMgZnJlZSBkb2N1bWVudGF0aW9uOiBhIGZyZWUKcHJvZ3JhbSBzaG91
bGQgY29tZSB3aXRoIG1hbnVhbHMgcHJvdmlkaW5nIHRoZSBzYW1lIGZyZWVkb21zIHRoYXQg
dGhlCnNvZnR3YXJlIGRvZXMuICBCdXQgdGhpcyBMaWNlbnNlIGlzIG5vdCBsaW1pdGVkIHRv
IHNvZnR3YXJlIG1hbnVhbHM7Cml0IGNhbiBiZSB1c2VkIGZvciBhbnkgdGV4dHVhbCB3b3Jr
LCByZWdhcmRsZXNzIG9mIHN1YmplY3QgbWF0dGVyIG9yCndoZXRoZXIgaXQgaXMgcHVibGlz
aGVkIGFzIGEgcHJpbnRlZCBib29rLiAgV2UgcmVjb21tZW5kIHRoaXMgTGljZW5zZQpwcmlu
Y2lwYWxseSBmb3Igd29ya3Mgd2hvc2UgcHVycG9zZSBpcyBpbnN0cnVjdGlvbiBvciByZWZl
cmVuY2UuCgoKMS4gQVBQTElDQUJJTElUWSBBTkQgREVGSU5JVElPTlMKClRoaXMgTGljZW5z
ZSBhcHBsaWVzIHRvIGFueSBtYW51YWwgb3Igb3RoZXIgd29yayB0aGF0IGNvbnRhaW5zIGEK
bm90aWNlIHBsYWNlZCBieSB0aGUgY29weXJpZ2h0IGhvbGRlciBzYXlpbmcgaXQgY2FuIGJl
IGRpc3RyaWJ1dGVkCnVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UuICBUaGUgIkRv
Y3VtZW50IiwgYmVsb3csIHJlZmVycyB0byBhbnkKc3VjaCBtYW51YWwgb3Igd29yay4gIEFu
eSBtZW1iZXIgb2YgdGhlIHB1YmxpYyBpcyBhIGxpY2Vuc2VlLCBhbmQgaXMKYWRkcmVzc2Vk
IGFzICJ5b3UiLgoKQSAiTW9kaWZpZWQgVmVyc2lvbiIgb2YgdGhlIERvY3VtZW50IG1lYW5z
IGFueSB3b3JrIGNvbnRhaW5pbmcgdGhlCkRvY3VtZW50IG9yIGEgcG9ydGlvbiBvZiBpdCwg
ZWl0aGVyIGNvcGllZCB2ZXJiYXRpbSwgb3Igd2l0aAptb2RpZmljYXRpb25zIGFuZC9vciB0
cmFuc2xhdGVkIGludG8gYW5vdGhlciBsYW5ndWFnZS4KCkEgIlNlY29uZGFyeSBTZWN0aW9u
IiBpcyBhIG5hbWVkIGFwcGVuZGl4IG9yIGEgZnJvbnQtbWF0dGVyIHNlY3Rpb24gb2YKdGhl
IERvY3VtZW50IHRoYXQgZGVhbHMgZXhjbHVzaXZlbHkgd2l0aCB0aGUgcmVsYXRpb25zaGlw
IG9mIHRoZQpwdWJsaXNoZXJzIG9yIGF1dGhvcnMgb2YgdGhlIERvY3VtZW50IHRvIHRoZSBE
b2N1bWVudCdzIG92ZXJhbGwgc3ViamVjdAoob3IgdG8gcmVsYXRlZCBtYXR0ZXJzKSBhbmQg
Y29udGFpbnMgbm90aGluZyB0aGF0IGNvdWxkIGZhbGwgZGlyZWN0bHkKd2l0aGluIHRoYXQg
b3ZlcmFsbCBzdWJqZWN0LiAgKEZvciBleGFtcGxlLCBpZiB0aGUgRG9jdW1lbnQgaXMgaW4g
cGFydCBhCnRleHRib29rIG9mIG1hdGhlbWF0aWNzLCBhIFNlY29uZGFyeSBTZWN0aW9uIG1h
eSBub3QgZXhwbGFpbiBhbnkKbWF0aGVtYXRpY3MuKSAgVGhlIHJlbGF0aW9uc2hpcCBjb3Vs
ZCBiZSBhIG1hdHRlciBvZiBoaXN0b3JpY2FsCmNvbm5lY3Rpb24gd2l0aCB0aGUgc3ViamVj
dCBvciB3aXRoIHJlbGF0ZWQgbWF0dGVycywgb3Igb2YgbGVnYWwsCmNvbW1lcmNpYWwsIHBo
aWxvc29waGljYWwsIGV0aGljYWwgb3IgcG9saXRpY2FsIHBvc2l0aW9uIHJlZ2FyZGluZwp0
aGVtLgoKVGhlICJJbnZhcmlhbnQgU2VjdGlvbnMiIGFyZSBjZXJ0YWluIFNlY29uZGFyeSBT
ZWN0aW9ucyB3aG9zZSB0aXRsZXMKYXJlIGRlc2lnbmF0ZWQsIGFzIGJlaW5nIHRob3NlIG9m
IEludmFyaWFudCBTZWN0aW9ucywgaW4gdGhlIG5vdGljZQp0aGF0IHNheXMgdGhhdCB0aGUg
RG9jdW1lbnQgaXMgcmVsZWFzZWQgdW5kZXIgdGhpcyBMaWNlbnNlLgoKVGhlICJDb3ZlciBU
ZXh0cyIgYXJlIGNlcnRhaW4gc2hvcnQgcGFzc2FnZXMgb2YgdGV4dCB0aGF0IGFyZSBsaXN0
ZWQsCmFzIEZyb250LUNvdmVyIFRleHRzIG9yIEJhY2stQ292ZXIgVGV4dHMsIGluIHRoZSBu
b3RpY2UgdGhhdCBzYXlzIHRoYXQKdGhlIERvY3VtZW50IGlzIHJlbGVhc2VkIHVuZGVyIHRo
aXMgTGljZW5zZS4KCkEgIlRyYW5zcGFyZW50IiBjb3B5IG9mIHRoZSBEb2N1bWVudCBtZWFu
cyBhIG1hY2hpbmUtcmVhZGFibGUgY29weSwKcmVwcmVzZW50ZWQgaW4gYSBmb3JtYXQgd2hv
c2Ugc3BlY2lmaWNhdGlvbiBpcyBhdmFpbGFibGUgdG8gdGhlCmdlbmVyYWwgcHVibGljLCB3
aG9zZSBjb250ZW50cyBjYW4gYmUgdmlld2VkIGFuZCBlZGl0ZWQgZGlyZWN0bHkgYW5kCnN0
cmFpZ2h0Zm9yd2FyZGx5IHdpdGggZ2VuZXJpYyB0ZXh0IGVkaXRvcnMgb3IgKGZvciBpbWFn
ZXMgY29tcG9zZWQgb2YKcGl4ZWxzKSBnZW5lcmljIHBhaW50IHByb2dyYW1zIG9yIChmb3Ig
ZHJhd2luZ3MpIHNvbWUgd2lkZWx5IGF2YWlsYWJsZQpkcmF3aW5nIGVkaXRvciwgYW5kIHRo
YXQgaXMgc3VpdGFibGUgZm9yIGlucHV0IHRvIHRleHQgZm9ybWF0dGVycyBvcgpmb3IgYXV0
b21hdGljIHRyYW5zbGF0aW9uIHRvIGEgdmFyaWV0eSBvZiBmb3JtYXRzIHN1aXRhYmxlIGZv
ciBpbnB1dAp0byB0ZXh0IGZvcm1hdHRlcnMuICBBIGNvcHkgbWFkZSBpbiBhbiBvdGhlcndp
c2UgVHJhbnNwYXJlbnQgZmlsZQpmb3JtYXQgd2hvc2UgbWFya3VwIGhhcyBiZWVuIGRlc2ln
bmVkIHRvIHRod2FydCBvciBkaXNjb3VyYWdlCnN1YnNlcXVlbnQgbW9kaWZpY2F0aW9uIGJ5
IHJlYWRlcnMgaXMgbm90IFRyYW5zcGFyZW50LiAgQSBjb3B5IHRoYXQgaXMKbm90ICJUcmFu
c3BhcmVudCIgaXMgY2FsbGVkICJPcGFxdWUiLgoKRXhhbXBsZXMgb2Ygc3VpdGFibGUgZm9y
bWF0cyBmb3IgVHJhbnNwYXJlbnQgY29waWVzIGluY2x1ZGUgcGxhaW4KQVNDSUkgd2l0aG91
dCBtYXJrdXAsIFRleGluZm8gaW5wdXQgZm9ybWF0LCBMYVRlWCBpbnB1dCBmb3JtYXQsIFNH
TUwKb3IgWE1MIHVzaW5nIGEgcHVibGljbHkgYXZhaWxhYmxlIERURCwgYW5kIHN0YW5kYXJk
LWNvbmZvcm1pbmcgc2ltcGxlCkhUTUwgZGVzaWduZWQgZm9yIGh1bWFuIG1vZGlmaWNhdGlv
bi4gIE9wYXF1ZSBmb3JtYXRzIGluY2x1ZGUKUG9zdFNjcmlwdCwgUERGLCBwcm9wcmlldGFy
eSBmb3JtYXRzIHRoYXQgY2FuIGJlIHJlYWQgYW5kIGVkaXRlZCBvbmx5CmJ5IHByb3ByaWV0
YXJ5IHdvcmQgcHJvY2Vzc29ycywgU0dNTCBvciBYTUwgZm9yIHdoaWNoIHRoZSBEVEQgYW5k
L29yCnByb2Nlc3NpbmcgdG9vbHMgYXJlIG5vdCBnZW5lcmFsbHkgYXZhaWxhYmxlLCBhbmQg
dGhlCm1hY2hpbmUtZ2VuZXJhdGVkIEhUTUwgcHJvZHVjZWQgYnkgc29tZSB3b3JkIHByb2Nl
c3NvcnMgZm9yIG91dHB1dApwdXJwb3NlcyBvbmx5LgoKVGhlICJUaXRsZSBQYWdlIiBtZWFu
cywgZm9yIGEgcHJpbnRlZCBib29rLCB0aGUgdGl0bGUgcGFnZSBpdHNlbGYsCnBsdXMgc3Vj
aCBmb2xsb3dpbmcgcGFnZXMgYXMgYXJlIG5lZWRlZCB0byBob2xkLCBsZWdpYmx5LCB0aGUg
bWF0ZXJpYWwKdGhpcyBMaWNlbnNlIHJlcXVpcmVzIHRvIGFwcGVhciBpbiB0aGUgdGl0bGUg
cGFnZS4gIEZvciB3b3JrcyBpbgpmb3JtYXRzIHdoaWNoIGRvIG5vdCBoYXZlIGFueSB0aXRs
ZSBwYWdlIGFzIHN1Y2gsICJUaXRsZSBQYWdlIiBtZWFucwp0aGUgdGV4dCBuZWFyIHRoZSBt
b3N0IHByb21pbmVudCBhcHBlYXJhbmNlIG9mIHRoZSB3b3JrJ3MgdGl0bGUsCnByZWNlZGlu
ZyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBib2R5IG9mIHRoZSB0ZXh0LgoKCjIuIFZFUkJBVElN
IENPUFlJTkcKCllvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB0aGUgRG9jdW1lbnQgaW4g
YW55IG1lZGl1bSwgZWl0aGVyCmNvbW1lcmNpYWxseSBvciBub25jb21tZXJjaWFsbHksIHBy
b3ZpZGVkIHRoYXQgdGhpcyBMaWNlbnNlLCB0aGUKY29weXJpZ2h0IG5vdGljZXMsIGFuZCB0
aGUgbGljZW5zZSBub3RpY2Ugc2F5aW5nIHRoaXMgTGljZW5zZSBhcHBsaWVzCnRvIHRoZSBE
b2N1bWVudCBhcmUgcmVwcm9kdWNlZCBpbiBhbGwgY29waWVzLCBhbmQgdGhhdCB5b3UgYWRk
IG5vIG90aGVyCmNvbmRpdGlvbnMgd2hhdHNvZXZlciB0byB0aG9zZSBvZiB0aGlzIExpY2Vu
c2UuICBZb3UgbWF5IG5vdCB1c2UKdGVjaG5pY2FsIG1lYXN1cmVzIHRvIG9ic3RydWN0IG9y
IGNvbnRyb2wgdGhlIHJlYWRpbmcgb3IgZnVydGhlcgpjb3B5aW5nIG9mIHRoZSBjb3BpZXMg
eW91IG1ha2Ugb3IgZGlzdHJpYnV0ZS4gIEhvd2V2ZXIsIHlvdSBtYXkgYWNjZXB0CmNvbXBl
bnNhdGlvbiBpbiBleGNoYW5nZSBmb3IgY29waWVzLiAgSWYgeW91IGRpc3RyaWJ1dGUgYSBs
YXJnZSBlbm91Z2gKbnVtYmVyIG9mIGNvcGllcyB5b3UgbXVzdCBhbHNvIGZvbGxvdyB0aGUg
Y29uZGl0aW9ucyBpbiBzZWN0aW9uIDMuCgpZb3UgbWF5IGFsc28gbGVuZCBjb3BpZXMsIHVu
ZGVyIHRoZSBzYW1lIGNvbmRpdGlvbnMgc3RhdGVkIGFib3ZlLCBhbmQKeW91IG1heSBwdWJs
aWNseSBkaXNwbGF5IGNvcGllcy4KCgozLiBDT1BZSU5HIElOIFFVQU5USVRZCgpJZiB5b3Ug
cHVibGlzaCBwcmludGVkIGNvcGllcyBvZiB0aGUgRG9jdW1lbnQgbnVtYmVyaW5nIG1vcmUg
dGhhbiAxMDAsCmFuZCB0aGUgRG9jdW1lbnQncyBsaWNlbnNlIG5vdGljZSByZXF1aXJlcyBD
b3ZlciBUZXh0cywgeW91IG11c3QgZW5jbG9zZQp0aGUgY29waWVzIGluIGNvdmVycyB0aGF0
IGNhcnJ5LCBjbGVhcmx5IGFuZCBsZWdpYmx5LCBhbGwgdGhlc2UgQ292ZXIKVGV4dHM6IEZy
b250LUNvdmVyIFRleHRzIG9uIHRoZSBmcm9udCBjb3ZlciwgYW5kIEJhY2stQ292ZXIgVGV4
dHMgb24KdGhlIGJhY2sgY292ZXIuICBCb3RoIGNvdmVycyBtdXN0IGFsc28gY2xlYXJseSBh
bmQgbGVnaWJseSBpZGVudGlmeQp5b3UgYXMgdGhlIHB1Ymxpc2hlciBvZiB0aGVzZSBjb3Bp
ZXMuICBUaGUgZnJvbnQgY292ZXIgbXVzdCBwcmVzZW50CnRoZSBmdWxsIHRpdGxlIHdpdGgg
YWxsIHdvcmRzIG9mIHRoZSB0aXRsZSBlcXVhbGx5IHByb21pbmVudCBhbmQKdmlzaWJsZS4g
IFlvdSBtYXkgYWRkIG90aGVyIG1hdGVyaWFsIG9uIHRoZSBjb3ZlcnMgaW4gYWRkaXRpb24u
CkNvcHlpbmcgd2l0aCBjaGFuZ2VzIGxpbWl0ZWQgdG8gdGhlIGNvdmVycywgYXMgbG9uZyBh
cyB0aGV5IHByZXNlcnZlCnRoZSB0aXRsZSBvZiB0aGUgRG9jdW1lbnQgYW5kIHNhdGlzZnkg
dGhlc2UgY29uZGl0aW9ucywgY2FuIGJlIHRyZWF0ZWQKYXMgdmVyYmF0aW0gY29weWluZyBp
biBvdGhlciByZXNwZWN0cy4KCklmIHRoZSByZXF1aXJlZCB0ZXh0cyBmb3IgZWl0aGVyIGNv
dmVyIGFyZSB0b28gdm9sdW1pbm91cyB0byBmaXQKbGVnaWJseSwgeW91IHNob3VsZCBwdXQg
dGhlIGZpcnN0IG9uZXMgbGlzdGVkIChhcyBtYW55IGFzIGZpdApyZWFzb25hYmx5KSBvbiB0
aGUgYWN0dWFsIGNvdmVyLCBhbmQgY29udGludWUgdGhlIHJlc3Qgb250byBhZGphY2VudApw
YWdlcy4KCklmIHlvdSBwdWJsaXNoIG9yIGRpc3RyaWJ1dGUgT3BhcXVlIGNvcGllcyBvZiB0
aGUgRG9jdW1lbnQgbnVtYmVyaW5nCm1vcmUgdGhhbiAxMDAsIHlvdSBtdXN0IGVpdGhlciBp
bmNsdWRlIGEgbWFjaGluZS1yZWFkYWJsZSBUcmFuc3BhcmVudApjb3B5IGFsb25nIHdpdGgg
ZWFjaCBPcGFxdWUgY29weSwgb3Igc3RhdGUgaW4gb3Igd2l0aCBlYWNoIE9wYXF1ZSBjb3B5
CmEgcHVibGljbHktYWNjZXNzaWJsZSBjb21wdXRlci1uZXR3b3JrIGxvY2F0aW9uIGNvbnRh
aW5pbmcgYSBjb21wbGV0ZQpUcmFuc3BhcmVudCBjb3B5IG9mIHRoZSBEb2N1bWVudCwgZnJl
ZSBvZiBhZGRlZCBtYXRlcmlhbCwgd2hpY2ggdGhlCmdlbmVyYWwgbmV0d29yay11c2luZyBw
dWJsaWMgaGFzIGFjY2VzcyB0byBkb3dubG9hZCBhbm9ueW1vdXNseSBhdCBubwpjaGFyZ2Ug
dXNpbmcgcHVibGljLXN0YW5kYXJkIG5ldHdvcmsgcHJvdG9jb2xzLiAgSWYgeW91IHVzZSB0
aGUgbGF0dGVyCm9wdGlvbiwgeW91IG11c3QgdGFrZSByZWFzb25hYmx5IHBydWRlbnQgc3Rl
cHMsIHdoZW4geW91IGJlZ2luCmRpc3RyaWJ1dGlvbiBvZiBPcGFxdWUgY29waWVzIGluIHF1
YW50aXR5LCB0byBlbnN1cmUgdGhhdCB0aGlzClRyYW5zcGFyZW50IGNvcHkgd2lsbCByZW1h
aW4gdGh1cyBhY2Nlc3NpYmxlIGF0IHRoZSBzdGF0ZWQgbG9jYXRpb24KdW50aWwgYXQgbGVh
c3Qgb25lIHllYXIgYWZ0ZXIgdGhlIGxhc3QgdGltZSB5b3UgZGlzdHJpYnV0ZSBhbiBPcGFx
dWUKY29weSAoZGlyZWN0bHkgb3IgdGhyb3VnaCB5b3VyIGFnZW50cyBvciByZXRhaWxlcnMp
IG9mIHRoYXQgZWRpdGlvbiB0bwp0aGUgcHVibGljLgoKSXQgaXMgcmVxdWVzdGVkLCBidXQg
bm90IHJlcXVpcmVkLCB0aGF0IHlvdSBjb250YWN0IHRoZSBhdXRob3JzIG9mIHRoZQpEb2N1
bWVudCB3ZWxsIGJlZm9yZSByZWRpc3RyaWJ1dGluZyBhbnkgbGFyZ2UgbnVtYmVyIG9mIGNv
cGllcywgdG8gZ2l2ZQp0aGVtIGEgY2hhbmNlIHRvIHByb3ZpZGUgeW91IHdpdGggYW4gdXBk
YXRlZCB2ZXJzaW9uIG9mIHRoZSBEb2N1bWVudC4KCgo0LiBNT0RJRklDQVRJT05TCgpZb3Ug
bWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgYSBNb2RpZmllZCBWZXJzaW9uIG9mIHRoZSBEb2N1
bWVudCB1bmRlcgp0aGUgY29uZGl0aW9ucyBvZiBzZWN0aW9ucyAyIGFuZCAzIGFib3ZlLCBw
cm92aWRlZCB0aGF0IHlvdSByZWxlYXNlCnRoZSBNb2RpZmllZCBWZXJzaW9uIHVuZGVyIHBy
ZWNpc2VseSB0aGlzIExpY2Vuc2UsIHdpdGggdGhlIE1vZGlmaWVkClZlcnNpb24gZmlsbGlu
ZyB0aGUgcm9sZSBvZiB0aGUgRG9jdW1lbnQsIHRodXMgbGljZW5zaW5nIGRpc3RyaWJ1dGlv
bgphbmQgbW9kaWZpY2F0aW9uIG9mIHRoZSBNb2RpZmllZCBWZXJzaW9uIHRvIHdob2V2ZXIg
cG9zc2Vzc2VzIGEgY29weQpvZiBpdC4gIEluIGFkZGl0aW9uLCB5b3UgbXVzdCBkbyB0aGVz
ZSB0aGluZ3MgaW4gdGhlIE1vZGlmaWVkIFZlcnNpb246CgpBLiBVc2UgaW4gdGhlIFRpdGxl
IFBhZ2UgKGFuZCBvbiB0aGUgY292ZXJzLCBpZiBhbnkpIGEgdGl0bGUgZGlzdGluY3QKICAg
ZnJvbSB0aGF0IG9mIHRoZSBEb2N1bWVudCwgYW5kIGZyb20gdGhvc2Ugb2YgcHJldmlvdXMg
dmVyc2lvbnMKICAgKHdoaWNoIHNob3VsZCwgaWYgdGhlcmUgd2VyZSBhbnksIGJlIGxpc3Rl
ZCBpbiB0aGUgSGlzdG9yeSBzZWN0aW9uCiAgIG9mIHRoZSBEb2N1bWVudCkuICBZb3UgbWF5
IHVzZSB0aGUgc2FtZSB0aXRsZSBhcyBhIHByZXZpb3VzIHZlcnNpb24KICAgaWYgdGhlIG9y
aWdpbmFsIHB1Ymxpc2hlciBvZiB0aGF0IHZlcnNpb24gZ2l2ZXMgcGVybWlzc2lvbi4KQi4g
TGlzdCBvbiB0aGUgVGl0bGUgUGFnZSwgYXMgYXV0aG9ycywgb25lIG9yIG1vcmUgcGVyc29u
cyBvciBlbnRpdGllcwogICByZXNwb25zaWJsZSBmb3IgYXV0aG9yc2hpcCBvZiB0aGUgbW9k
aWZpY2F0aW9ucyBpbiB0aGUgTW9kaWZpZWQKICAgVmVyc2lvbiwgdG9nZXRoZXIgd2l0aCBh
dCBsZWFzdCBmaXZlIG9mIHRoZSBwcmluY2lwYWwgYXV0aG9ycyBvZiB0aGUKICAgRG9jdW1l
bnQgKGFsbCBvZiBpdHMgcHJpbmNpcGFsIGF1dGhvcnMsIGlmIGl0IGhhcyBsZXNzIHRoYW4g
Zml2ZSkuCkMuIFN0YXRlIG9uIHRoZSBUaXRsZSBwYWdlIHRoZSBuYW1lIG9mIHRoZSBwdWJs
aXNoZXIgb2YgdGhlCiAgIE1vZGlmaWVkIFZlcnNpb24sIGFzIHRoZSBwdWJsaXNoZXIuCkQu
IFByZXNlcnZlIGFsbCB0aGUgY29weXJpZ2h0IG5vdGljZXMgb2YgdGhlIERvY3VtZW50LgpF
LiBBZGQgYW4gYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZSBmb3IgeW91ciBtb2RpZmlj
YXRpb25zCiAgIGFkamFjZW50IHRvIHRoZSBvdGhlciBjb3B5cmlnaHQgbm90aWNlcy4KRi4g
SW5jbHVkZSwgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIGNvcHlyaWdodCBub3RpY2VzLCBhIGxp
Y2Vuc2Ugbm90aWNlCiAgIGdpdmluZyB0aGUgcHVibGljIHBlcm1pc3Npb24gdG8gdXNlIHRo
ZSBNb2RpZmllZCBWZXJzaW9uIHVuZGVyIHRoZQogICB0ZXJtcyBvZiB0aGlzIExpY2Vuc2Us
IGluIHRoZSBmb3JtIHNob3duIGluIHRoZSBBZGRlbmR1bSBiZWxvdy4KRy4gUHJlc2VydmUg
aW4gdGhhdCBsaWNlbnNlIG5vdGljZSB0aGUgZnVsbCBsaXN0cyBvZiBJbnZhcmlhbnQgU2Vj
dGlvbnMKICAgYW5kIHJlcXVpcmVkIENvdmVyIFRleHRzIGdpdmVuIGluIHRoZSBEb2N1bWVu
dCdzIGxpY2Vuc2Ugbm90aWNlLgpILiBJbmNsdWRlIGFuIHVuYWx0ZXJlZCBjb3B5IG9mIHRo
aXMgTGljZW5zZS4KSS4gUHJlc2VydmUgdGhlIHNlY3Rpb24gZW50aXRsZWQgIkhpc3Rvcnki
LCBhbmQgaXRzIHRpdGxlLCBhbmQgYWRkIHRvCiAgIGl0IGFuIGl0ZW0gc3RhdGluZyBhdCBs
ZWFzdCB0aGUgdGl0bGUsIHllYXIsIG5ldyBhdXRob3JzLCBhbmQKICAgcHVibGlzaGVyIG9m
IHRoZSBNb2RpZmllZCBWZXJzaW9uIGFzIGdpdmVuIG9uIHRoZSBUaXRsZSBQYWdlLiAgSWYK
ICAgdGhlcmUgaXMgbm8gc2VjdGlvbiBlbnRpdGxlZCAiSGlzdG9yeSIgaW4gdGhlIERvY3Vt
ZW50LCBjcmVhdGUgb25lCiAgIHN0YXRpbmcgdGhlIHRpdGxlLCB5ZWFyLCBhdXRob3JzLCBh
bmQgcHVibGlzaGVyIG9mIHRoZSBEb2N1bWVudCBhcwogICBnaXZlbiBvbiBpdHMgVGl0bGUg
UGFnZSwgdGhlbiBhZGQgYW4gaXRlbSBkZXNjcmliaW5nIHRoZSBNb2RpZmllZAogICBWZXJz
aW9uIGFzIHN0YXRlZCBpbiB0aGUgcHJldmlvdXMgc2VudGVuY2UuCkouIFByZXNlcnZlIHRo
ZSBuZXR3b3JrIGxvY2F0aW9uLCBpZiBhbnksIGdpdmVuIGluIHRoZSBEb2N1bWVudCBmb3IK
ICAgcHVibGljIGFjY2VzcyB0byBhIFRyYW5zcGFyZW50IGNvcHkgb2YgdGhlIERvY3VtZW50
LCBhbmQgbGlrZXdpc2UKICAgdGhlIG5ldHdvcmsgbG9jYXRpb25zIGdpdmVuIGluIHRoZSBE
b2N1bWVudCBmb3IgcHJldmlvdXMgdmVyc2lvbnMKICAgaXQgd2FzIGJhc2VkIG9uLiAgVGhl
c2UgbWF5IGJlIHBsYWNlZCBpbiB0aGUgIkhpc3RvcnkiIHNlY3Rpb24uCiAgIFlvdSBtYXkg
b21pdCBhIG5ldHdvcmsgbG9jYXRpb24gZm9yIGEgd29yayB0aGF0IHdhcyBwdWJsaXNoZWQg
YXQKICAgbGVhc3QgZm91ciB5ZWFycyBiZWZvcmUgdGhlIERvY3VtZW50IGl0c2VsZiwgb3Ig
aWYgdGhlIG9yaWdpbmFsCiAgIHB1Ymxpc2hlciBvZiB0aGUgdmVyc2lvbiBpdCByZWZlcnMg
dG8gZ2l2ZXMgcGVybWlzc2lvbi4KSy4gSW4gYW55IHNlY3Rpb24gZW50aXRsZWQgIkFja25v
d2xlZGdlbWVudHMiIG9yICJEZWRpY2F0aW9ucyIsCiAgIHByZXNlcnZlIHRoZSBzZWN0aW9u
J3MgdGl0bGUsIGFuZCBwcmVzZXJ2ZSBpbiB0aGUgc2VjdGlvbiBhbGwgdGhlCiAgIHN1YnN0
YW5jZSBhbmQgdG9uZSBvZiBlYWNoIG9mIHRoZSBjb250cmlidXRvciBhY2tub3dsZWRnZW1l
bnRzCiAgIGFuZC9vciBkZWRpY2F0aW9ucyBnaXZlbiB0aGVyZWluLgpMLiBQcmVzZXJ2ZSBh
bGwgdGhlIEludmFyaWFudCBTZWN0aW9ucyBvZiB0aGUgRG9jdW1lbnQsCiAgIHVuYWx0ZXJl
ZCBpbiB0aGVpciB0ZXh0IGFuZCBpbiB0aGVpciB0aXRsZXMuICBTZWN0aW9uIG51bWJlcnMK
ICAgb3IgdGhlIGVxdWl2YWxlbnQgYXJlIG5vdCBjb25zaWRlcmVkIHBhcnQgb2YgdGhlIHNl
Y3Rpb24gdGl0bGVzLgpNLiBEZWxldGUgYW55IHNlY3Rpb24gZW50aXRsZWQgIkVuZG9yc2Vt
ZW50cyIuICBTdWNoIGEgc2VjdGlvbgogICBtYXkgbm90IGJlIGluY2x1ZGVkIGluIHRoZSBN
b2RpZmllZCBWZXJzaW9uLgpOLiBEbyBub3QgcmV0aXRsZSBhbnkgZXhpc3Rpbmcgc2VjdGlv
biBhcyAiRW5kb3JzZW1lbnRzIgogICBvciB0byBjb25mbGljdCBpbiB0aXRsZSB3aXRoIGFu
eSBJbnZhcmlhbnQgU2VjdGlvbi4KCklmIHRoZSBNb2RpZmllZCBWZXJzaW9uIGluY2x1ZGVz
IG5ldyBmcm9udC1tYXR0ZXIgc2VjdGlvbnMgb3IKYXBwZW5kaWNlcyB0aGF0IHF1YWxpZnkg
YXMgU2Vjb25kYXJ5IFNlY3Rpb25zIGFuZCBjb250YWluIG5vIG1hdGVyaWFsCmNvcGllZCBm
cm9tIHRoZSBEb2N1bWVudCwgeW91IG1heSBhdCB5b3VyIG9wdGlvbiBkZXNpZ25hdGUgc29t
ZSBvciBhbGwKb2YgdGhlc2Ugc2VjdGlvbnMgYXMgaW52YXJpYW50LiAgVG8gZG8gdGhpcywg
YWRkIHRoZWlyIHRpdGxlcyB0byB0aGUKbGlzdCBvZiBJbnZhcmlhbnQgU2VjdGlvbnMgaW4g
dGhlIE1vZGlmaWVkIFZlcnNpb24ncyBsaWNlbnNlIG5vdGljZS4KVGhlc2UgdGl0bGVzIG11
c3QgYmUgZGlzdGluY3QgZnJvbSBhbnkgb3RoZXIgc2VjdGlvbiB0aXRsZXMuCgpZb3UgbWF5
IGFkZCBhIHNlY3Rpb24gZW50aXRsZWQgIkVuZG9yc2VtZW50cyIsIHByb3ZpZGVkIGl0IGNv
bnRhaW5zCm5vdGhpbmcgYnV0IGVuZG9yc2VtZW50cyBvZiB5b3VyIE1vZGlmaWVkIFZlcnNp
b24gYnkgdmFyaW91cwpwYXJ0aWVzLS1mb3IgZXhhbXBsZSwgc3RhdGVtZW50cyBvZiBwZWVy
IHJldmlldyBvciB0aGF0IHRoZSB0ZXh0IGhhcwpiZWVuIGFwcHJvdmVkIGJ5IGFuIG9yZ2Fu
aXphdGlvbiBhcyB0aGUgYXV0aG9yaXRhdGl2ZSBkZWZpbml0aW9uIG9mIGEKc3RhbmRhcmQu
CgpZb3UgbWF5IGFkZCBhIHBhc3NhZ2Ugb2YgdXAgdG8gZml2ZSB3b3JkcyBhcyBhIEZyb250
LUNvdmVyIFRleHQsIGFuZCBhCnBhc3NhZ2Ugb2YgdXAgdG8gMjUgd29yZHMgYXMgYSBCYWNr
LUNvdmVyIFRleHQsIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QKb2YgQ292ZXIgVGV4dHMgaW4g
dGhlIE1vZGlmaWVkIFZlcnNpb24uICBPbmx5IG9uZSBwYXNzYWdlIG9mCkZyb250LUNvdmVy
IFRleHQgYW5kIG9uZSBvZiBCYWNrLUNvdmVyIFRleHQgbWF5IGJlIGFkZGVkIGJ5IChvcgp0
aHJvdWdoIGFycmFuZ2VtZW50cyBtYWRlIGJ5KSBhbnkgb25lIGVudGl0eS4gIElmIHRoZSBE
b2N1bWVudCBhbHJlYWR5CmluY2x1ZGVzIGEgY292ZXIgdGV4dCBmb3IgdGhlIHNhbWUgY292
ZXIsIHByZXZpb3VzbHkgYWRkZWQgYnkgeW91IG9yCmJ5IGFycmFuZ2VtZW50IG1hZGUgYnkg
dGhlIHNhbWUgZW50aXR5IHlvdSBhcmUgYWN0aW5nIG9uIGJlaGFsZiBvZiwKeW91IG1heSBu
b3QgYWRkIGFub3RoZXI7IGJ1dCB5b3UgbWF5IHJlcGxhY2UgdGhlIG9sZCBvbmUsIG9uIGV4
cGxpY2l0CnBlcm1pc3Npb24gZnJvbSB0aGUgcHJldmlvdXMgcHVibGlzaGVyIHRoYXQgYWRk
ZWQgdGhlIG9sZCBvbmUuCgpUaGUgYXV0aG9yKHMpIGFuZCBwdWJsaXNoZXIocykgb2YgdGhl
IERvY3VtZW50IGRvIG5vdCBieSB0aGlzIExpY2Vuc2UKZ2l2ZSBwZXJtaXNzaW9uIHRvIHVz
ZSB0aGVpciBuYW1lcyBmb3IgcHVibGljaXR5IGZvciBvciB0byBhc3NlcnQgb3IKaW1wbHkg
ZW5kb3JzZW1lbnQgb2YgYW55IE1vZGlmaWVkIFZlcnNpb24uCgoKNS4gQ09NQklOSU5HIERP
Q1VNRU5UUwoKWW91IG1heSBjb21iaW5lIHRoZSBEb2N1bWVudCB3aXRoIG90aGVyIGRvY3Vt
ZW50cyByZWxlYXNlZCB1bmRlciB0aGlzCkxpY2Vuc2UsIHVuZGVyIHRoZSB0ZXJtcyBkZWZp
bmVkIGluIHNlY3Rpb24gNCBhYm92ZSBmb3IgbW9kaWZpZWQKdmVyc2lvbnMsIHByb3ZpZGVk
IHRoYXQgeW91IGluY2x1ZGUgaW4gdGhlIGNvbWJpbmF0aW9uIGFsbCBvZiB0aGUKSW52YXJp
YW50IFNlY3Rpb25zIG9mIGFsbCBvZiB0aGUgb3JpZ2luYWwgZG9jdW1lbnRzLCB1bm1vZGlm
aWVkLCBhbmQKbGlzdCB0aGVtIGFsbCBhcyBJbnZhcmlhbnQgU2VjdGlvbnMgb2YgeW91ciBj
b21iaW5lZCB3b3JrIGluIGl0cwpsaWNlbnNlIG5vdGljZS4KClRoZSBjb21iaW5lZCB3b3Jr
IG5lZWQgb25seSBjb250YWluIG9uZSBjb3B5IG9mIHRoaXMgTGljZW5zZSwgYW5kCm11bHRp
cGxlIGlkZW50aWNhbCBJbnZhcmlhbnQgU2VjdGlvbnMgbWF5IGJlIHJlcGxhY2VkIHdpdGgg
YSBzaW5nbGUKY29weS4gIElmIHRoZXJlIGFyZSBtdWx0aXBsZSBJbnZhcmlhbnQgU2VjdGlv
bnMgd2l0aCB0aGUgc2FtZSBuYW1lIGJ1dApkaWZmZXJlbnQgY29udGVudHMsIG1ha2UgdGhl
IHRpdGxlIG9mIGVhY2ggc3VjaCBzZWN0aW9uIHVuaXF1ZSBieQphZGRpbmcgYXQgdGhlIGVu
ZCBvZiBpdCwgaW4gcGFyZW50aGVzZXMsIHRoZSBuYW1lIG9mIHRoZSBvcmlnaW5hbAphdXRo
b3Igb3IgcHVibGlzaGVyIG9mIHRoYXQgc2VjdGlvbiBpZiBrbm93biwgb3IgZWxzZSBhIHVu
aXF1ZSBudW1iZXIuCk1ha2UgdGhlIHNhbWUgYWRqdXN0bWVudCB0byB0aGUgc2VjdGlvbiB0
aXRsZXMgaW4gdGhlIGxpc3Qgb2YKSW52YXJpYW50IFNlY3Rpb25zIGluIHRoZSBsaWNlbnNl
IG5vdGljZSBvZiB0aGUgY29tYmluZWQgd29yay4KCkluIHRoZSBjb21iaW5hdGlvbiwgeW91
IG11c3QgY29tYmluZSBhbnkgc2VjdGlvbnMgZW50aXRsZWQgIkhpc3RvcnkiCmluIHRoZSB2
YXJpb3VzIG9yaWdpbmFsIGRvY3VtZW50cywgZm9ybWluZyBvbmUgc2VjdGlvbiBlbnRpdGxl
ZAoiSGlzdG9yeSI7IGxpa2V3aXNlIGNvbWJpbmUgYW55IHNlY3Rpb25zIGVudGl0bGVkICJB
Y2tub3dsZWRnZW1lbnRzIiwKYW5kIGFueSBzZWN0aW9ucyBlbnRpdGxlZCAiRGVkaWNhdGlv
bnMiLiAgWW91IG11c3QgZGVsZXRlIGFsbCBzZWN0aW9ucwplbnRpdGxlZCAiRW5kb3JzZW1l
bnRzLiIKCgo2LiBDT0xMRUNUSU9OUyBPRiBET0NVTUVOVFMKCllvdSBtYXkgbWFrZSBhIGNv
bGxlY3Rpb24gY29uc2lzdGluZyBvZiB0aGUgRG9jdW1lbnQgYW5kIG90aGVyIGRvY3VtZW50
cwpyZWxlYXNlZCB1bmRlciB0aGlzIExpY2Vuc2UsIGFuZCByZXBsYWNlIHRoZSBpbmRpdmlk
dWFsIGNvcGllcyBvZiB0aGlzCkxpY2Vuc2UgaW4gdGhlIHZhcmlvdXMgZG9jdW1lbnRzIHdp
dGggYSBzaW5nbGUgY29weSB0aGF0IGlzIGluY2x1ZGVkIGluCnRoZSBjb2xsZWN0aW9uLCBw
cm92aWRlZCB0aGF0IHlvdSBmb2xsb3cgdGhlIHJ1bGVzIG9mIHRoaXMgTGljZW5zZSBmb3IK
dmVyYmF0aW0gY29weWluZyBvZiBlYWNoIG9mIHRoZSBkb2N1bWVudHMgaW4gYWxsIG90aGVy
IHJlc3BlY3RzLgoKWW91IG1heSBleHRyYWN0IGEgc2luZ2xlIGRvY3VtZW50IGZyb20gc3Vj
aCBhIGNvbGxlY3Rpb24sIGFuZCBkaXN0cmlidXRlCml0IGluZGl2aWR1YWxseSB1bmRlciB0
aGlzIExpY2Vuc2UsIHByb3ZpZGVkIHlvdSBpbnNlcnQgYSBjb3B5IG9mIHRoaXMKTGljZW5z
ZSBpbnRvIHRoZSBleHRyYWN0ZWQgZG9jdW1lbnQsIGFuZCBmb2xsb3cgdGhpcyBMaWNlbnNl
IGluIGFsbApvdGhlciByZXNwZWN0cyByZWdhcmRpbmcgdmVyYmF0aW0gY29weWluZyBvZiB0
aGF0IGRvY3VtZW50LgoKCgo3LiBBR0dSRUdBVElPTiBXSVRIIElOREVQRU5ERU5UIFdPUktT
CgpBIGNvbXBpbGF0aW9uIG9mIHRoZSBEb2N1bWVudCBvciBpdHMgZGVyaXZhdGl2ZXMgd2l0
aCBvdGhlciBzZXBhcmF0ZQphbmQgaW5kZXBlbmRlbnQgZG9jdW1lbnRzIG9yIHdvcmtzLCBp
biBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IKZGlzdHJpYnV0aW9uIG1lZGl1bSwg
ZG9lcyBub3QgYXMgYSB3aG9sZSBjb3VudCBhcyBhIE1vZGlmaWVkIFZlcnNpb24Kb2YgdGhl
IERvY3VtZW50LCBwcm92aWRlZCBubyBjb21waWxhdGlvbiBjb3B5cmlnaHQgaXMgY2xhaW1l
ZCBmb3IgdGhlCmNvbXBpbGF0aW9uLiAgU3VjaCBhIGNvbXBpbGF0aW9uIGlzIGNhbGxlZCBh
biAiYWdncmVnYXRlIiwgYW5kIHRoaXMKTGljZW5zZSBkb2VzIG5vdCBhcHBseSB0byB0aGUg
b3RoZXIgc2VsZi1jb250YWluZWQgd29ya3MgdGh1cyBjb21waWxlZAp3aXRoIHRoZSBEb2N1
bWVudCwgb24gYWNjb3VudCBvZiB0aGVpciBiZWluZyB0aHVzIGNvbXBpbGVkLCBpZiB0aGV5
CmFyZSBub3QgdGhlbXNlbHZlcyBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBEb2N1bWVudC4K
CklmIHRoZSBDb3ZlciBUZXh0IHJlcXVpcmVtZW50IG9mIHNlY3Rpb24gMyBpcyBhcHBsaWNh
YmxlIHRvIHRoZXNlCmNvcGllcyBvZiB0aGUgRG9jdW1lbnQsIHRoZW4gaWYgdGhlIERvY3Vt
ZW50IGlzIGxlc3MgdGhhbiBvbmUgcXVhcnRlcgpvZiB0aGUgZW50aXJlIGFnZ3JlZ2F0ZSwg
dGhlIERvY3VtZW50J3MgQ292ZXIgVGV4dHMgbWF5IGJlIHBsYWNlZCBvbgpjb3ZlcnMgdGhh
dCBzdXJyb3VuZCBvbmx5IHRoZSBEb2N1bWVudCB3aXRoaW4gdGhlIGFnZ3JlZ2F0ZS4KT3Ro
ZXJ3aXNlIHRoZXkgbXVzdCBhcHBlYXIgb24gY292ZXJzIGFyb3VuZCB0aGUgd2hvbGUgYWdn
cmVnYXRlLgoKCjguIFRSQU5TTEFUSU9OCgpUcmFuc2xhdGlvbiBpcyBjb25zaWRlcmVkIGEg
a2luZCBvZiBtb2RpZmljYXRpb24sIHNvIHlvdSBtYXkKZGlzdHJpYnV0ZSB0cmFuc2xhdGlv
bnMgb2YgdGhlIERvY3VtZW50IHVuZGVyIHRoZSB0ZXJtcyBvZiBzZWN0aW9uIDQuClJlcGxh
Y2luZyBJbnZhcmlhbnQgU2VjdGlvbnMgd2l0aCB0cmFuc2xhdGlvbnMgcmVxdWlyZXMgc3Bl
Y2lhbApwZXJtaXNzaW9uIGZyb20gdGhlaXIgY29weXJpZ2h0IGhvbGRlcnMsIGJ1dCB5b3Ug
bWF5IGluY2x1ZGUKdHJhbnNsYXRpb25zIG9mIHNvbWUgb3IgYWxsIEludmFyaWFudCBTZWN0
aW9ucyBpbiBhZGRpdGlvbiB0byB0aGUKb3JpZ2luYWwgdmVyc2lvbnMgb2YgdGhlc2UgSW52
YXJpYW50IFNlY3Rpb25zLiAgWW91IG1heSBpbmNsdWRlIGEKdHJhbnNsYXRpb24gb2YgdGhp
cyBMaWNlbnNlIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gaW5jbHVkZSB0aGUKb3JpZ2luYWwg
RW5nbGlzaCB2ZXJzaW9uIG9mIHRoaXMgTGljZW5zZS4gIEluIGNhc2Ugb2YgYSBkaXNhZ3Jl
ZW1lbnQKYmV0d2VlbiB0aGUgdHJhbnNsYXRpb24gYW5kIHRoZSBvcmlnaW5hbCBFbmdsaXNo
IHZlcnNpb24gb2YgdGhpcwpMaWNlbnNlLCB0aGUgb3JpZ2luYWwgRW5nbGlzaCB2ZXJzaW9u
IHdpbGwgcHJldmFpbC4KCgo5LiBURVJNSU5BVElPTgoKWW91IG1heSBub3QgY29weSwgbW9k
aWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmlidXRlIHRoZSBEb2N1bWVudCBleGNlcHQKYXMg
ZXhwcmVzc2x5IHByb3ZpZGVkIGZvciB1bmRlciB0aGlzIExpY2Vuc2UuICBBbnkgb3RoZXIg
YXR0ZW1wdCB0bwpjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2Ugb3IgZGlzdHJpYnV0ZSB0aGUg
RG9jdW1lbnQgaXMgdm9pZCwgYW5kIHdpbGwKYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91
ciByaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNlLiAgSG93ZXZlciwKcGFydGllcyB3aG8gaGF2
ZSByZWNlaXZlZCBjb3BpZXMsIG9yIHJpZ2h0cywgZnJvbSB5b3UgdW5kZXIgdGhpcwpMaWNl
bnNlIHdpbGwgbm90IGhhdmUgdGhlaXIgbGljZW5zZXMgdGVybWluYXRlZCBzbyBsb25nIGFz
IHN1Y2gKcGFydGllcyByZW1haW4gaW4gZnVsbCBjb21wbGlhbmNlLgoKCjEwLiBGVVRVUkUg
UkVWSVNJT05TIE9GIFRISVMgTElDRU5TRQoKVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biBtYXkgcHVibGlzaCBuZXcsIHJldmlzZWQgdmVyc2lvbnMKb2YgdGhlIEdOVSBGcmVlIERv
Y3VtZW50YXRpb24gTGljZW5zZSBmcm9tIHRpbWUgdG8gdGltZS4gIFN1Y2ggbmV3CnZlcnNp
b25zIHdpbGwgYmUgc2ltaWxhciBpbiBzcGlyaXQgdG8gdGhlIHByZXNlbnQgdmVyc2lvbiwg
YnV0IG1heQpkaWZmZXIgaW4gZGV0YWlsIHRvIGFkZHJlc3MgbmV3IHByb2JsZW1zIG9yIGNv
bmNlcm5zLiBTZWUKaHR0cDovLy93d3cuZ251Lm9yZy9jb3B5bGVmdC8uCgpFYWNoIHZlcnNp
b24gb2YgdGhlIExpY2Vuc2UgaXMgZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51
bWJlci4KSWYgdGhlIERvY3VtZW50IHNwZWNpZmllcyB0aGF0IGEgcGFydGljdWxhciBudW1i
ZXJlZCB2ZXJzaW9uIG9mIHRoaXMKTGljZW5zZSAib3IgYW55IGxhdGVyIHZlcnNpb24iIGFw
cGxpZXMgdG8gaXQsIHlvdSBoYXZlIHRoZSBvcHRpb24gb2YKZm9sbG93aW5nIHRoZSB0ZXJt
cyBhbmQgY29uZGl0aW9ucyBlaXRoZXIgb2YgdGhhdCBzcGVjaWZpZWQgdmVyc2lvbiBvcgpv
ZiBhbnkgbGF0ZXIgdmVyc2lvbiB0aGF0IGhhcyBiZWVuIHB1Ymxpc2hlZCAobm90IGFzIGEg
ZHJhZnQpIGJ5IHRoZQpGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uICBJZiB0aGUgRG9jdW1l
bnQgZG9lcyBub3Qgc3BlY2lmeSBhIHZlcnNpb24KbnVtYmVyIG9mIHRoaXMgTGljZW5zZSwg
eW91IG1heSBjaG9vc2UgYW55IHZlcnNpb24gZXZlciBwdWJsaXNoZWQgKG5vdAphcyBhIGRy
YWZ0KSBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgoKCkFEREVORFVNOiBIb3cg
dG8gdXNlIHRoaXMgTGljZW5zZSBmb3IgeW91ciBkb2N1bWVudHMKClRvIHVzZSB0aGlzIExp
Y2Vuc2UgaW4gYSBkb2N1bWVudCB5b3UgaGF2ZSB3cml0dGVuLCBpbmNsdWRlIGEgY29weSBv
Zgp0aGUgTGljZW5zZSBpbiB0aGUgZG9jdW1lbnQgYW5kIHB1dCB0aGUgZm9sbG93aW5nIGNv
cHlyaWdodCBhbmQKbGljZW5zZSBub3RpY2VzIGp1c3QgYWZ0ZXIgdGhlIHRpdGxlIHBhZ2U6
CgogICAgICBDb3B5cmlnaHQgKGMpICBZRUFSICBZT1VSIE5BTUUuCiAgICAgIFBlcm1pc3Np
b24gaXMgZ3JhbnRlZCB0byBjb3B5LCBkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhpcyBk
b2N1bWVudAogICAgICB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBGcmVlIERvY3VtZW50
YXRpb24gTGljZW5zZSwgVmVyc2lvbiAxLjEKICAgICAgb3IgYW55IGxhdGVyIHZlcnNpb24g
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247CiAgICAgIHdpdGgg
dGhlIEludmFyaWFudCBTZWN0aW9ucyBiZWluZyBMSVNUIFRIRUlSIFRJVExFUywgd2l0aCB0
aGUKICAgICAgRnJvbnQtQ292ZXIgVGV4dHMgYmVpbmcgTElTVCwgYW5kIHdpdGggdGhlIEJh
Y2stQ292ZXIgVGV4dHMgYmVpbmcgTElTVC4KICAgICAgQSBjb3B5IG9mIHRoZSBsaWNlbnNl
IGlzIGluY2x1ZGVkIGluIHRoZSBzZWN0aW9uIGVudGl0bGVkICJHTlUKICAgICAgRnJlZSBE
b2N1bWVudGF0aW9uIExpY2Vuc2UiLgoKSWYgeW91IGhhdmUgbm8gSW52YXJpYW50IFNlY3Rp
b25zLCB3cml0ZSAid2l0aCBubyBJbnZhcmlhbnQgU2VjdGlvbnMiCmluc3RlYWQgb2Ygc2F5
aW5nIHdoaWNoIG9uZXMgYXJlIGludmFyaWFudC4gIElmIHlvdSBoYXZlIG5vCkZyb250LUNv
dmVyIFRleHRzLCB3cml0ZSAibm8gRnJvbnQtQ292ZXIgVGV4dHMiIGluc3RlYWQgb2YKIkZy
b250LUNvdmVyIFRleHRzIGJlaW5nIExJU1QiOyBsaWtld2lzZSBmb3IgQmFjay1Db3ZlciBU
ZXh0cy4KCklmIHlvdXIgZG9jdW1lbnQgY29udGFpbnMgbm9udHJpdmlhbCBleGFtcGxlcyBv
ZiBwcm9ncmFtIGNvZGUsIHdlCnJlY29tbWVuZCByZWxlYXNpbmcgdGhlc2UgZXhhbXBsZXMg
aW4gcGFyYWxsZWwgdW5kZXIgeW91ciBjaG9pY2Ugb2YKZnJlZSBzb2Z0d2FyZSBsaWNlbnNl
LCBzdWNoIGFzIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwKdG8gcGVybWl0IHRo
ZWlyIHVzZSBpbiBmcmVlIHNvZnR3YXJlLgoKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb2N0YWwtYWxwaGEvZW5naW5lLmMAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMDc2NQAwMDAwNzcyADAwMDAwMDAwNzYzADA3
MTE2MTM2NTIzADAxMzAzNQAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAB1c3RhciAgAGR0bwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZHRv
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvKgoq
ICRIZWFkZXI6IC9ob21lL2R0by9vY3RhbC9SQ1MvZW5naW5lLmMsdiAxLjEgMjAwMC8wMy8y
OCAwNzoxNzozOSBkdG8gRXhwIGR0byAkCiogKEMpIDIwMDAgRGF2aWQgTydUb29sZSAkRGF0
ZTogMjAwMC8wMy8yOCAwNzoxNzozOSAkCiogCiogQ29kZSBmb3IgT0NUQUwncyBzaWduYWwg
bmV0d29yayBlbmdpbmUuICAKKgoqICRSZXZpc2lvbjogMS4xICQKKgoqIFRoaXMgc29mdHdh
cmUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQoqIEdOVSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIChHUEwpLiBSZWFkIHRoZSBpbmNsdWRlZCBmaWxlCiogQ09QWUlO
RyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4gCioKKi8Kc3RhdGljIGNvbnN0IGNoYXIgcmNzaWRb
XT0iJElkOiBlbmdpbmUuYyx2IDEuMSAyMDAwLzAzLzI4IDA3OjE3OjM5IGR0byBFeHAgZHRv
ICQiOwoKCgoKCgovKiBFbmQgJFNvdXJjZTogL2hvbWUvZHRvL29jdGFsL1JDUy9lbmdpbmUu
Yyx2ICQgKi8KAAAAAAAAAAAAAAAAAG9jdGFsLWFscGhhL2VuZ2luZS5oAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDA3NjUAMDAwMDc3MgAwMDAwMDAwNDE3NgAwNzEx
NjEzNjUyMwAwMTMwNDQAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAdXN0YXIgIABkdG8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGR0bwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALyoKKiAk
SGVhZGVyOiAvaG9tZS9kdG8vb2N0YWwvUkNTL2VuZ2luZS5oLHYgMS4xIDIwMDAvMDMvMjgg
MDc6MTc6MzkgZHRvIEV4cCBkdG8gJAoqIChDKSAyMDAwIERhdmlkIE8nVG9vbGUgJERhdGU6
IDIwMDAvMDMvMjggMDc6MTc6MzkgJAoqICRSZXZpc2lvbjogMS4xICQKKiAKKiBIZWFkZXIg
ZmlsZSBmb3IgT0NUQUwncyBzaWduYWwgbmV0d29yayBlbmdpbmUuIAoqCiogVGhpcyBzb2Z0
d2FyZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCiogR05VIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgKEdQTCkuIFJlYWQgdGhlIGluY2x1ZGVkIGZpbGUKKiBDT1BZ
SU5HIGZvciBtb3JlIGluZm9ybWF0aW9uLiAKKiAKKgoqLwoKI2lmbmRlZiBfZW5naW5lX2hf
CiNkZWZpbmUgX2VuZ2luZV9oXyAiQCgjKSIKCiNpbmNsdWRlICJtYWNoaW5lLmgiCgplbnVt
IHttYXhfbWFjaGluZXMgPSAxMjggfTsgICAgLyogcGVyIHNpZ25hbCBuZXR3b3JrICAgICAg
ICAgICAgICAgKi8gCgplbnVtIF9zaWdfdHlwZSB7ZW5fc3RkID0gMSwgZW5fYXV4ID0gMn07
IC8qIHR5cGVzIG9mIHNpZ25hbHMgaW4gdGhlIG5ldHdvcmsgICovIAp0eXBlZGVmIGVudW0g
X3NpZ190eXBlIHNpZ190eXBlOyAKCi8qIEkgc3RpbGwgaGF2ZSB0byBhZGQgdGhlIHNlcXVl
bmNlciBhbmQgcGF0dGVybiBlbmdpbmUgdG8gdGhpcy4uLiAKICogYWZ0ZXIgdGhhdCwgdGhl
cmUgaXNuJ3QgbXVjaCBsZWZ0IHRvIGRvIGJ1dCB0aGUgd2F2ZXRhYmxlIGFuZCBHVUkKICov
CgpzdHJ1Y3QgX2VuZ2luZSB7CiAgbWFjaGluZSAqbWFjaGluZXNbbWF4X21hY2hpbmVzXTsK
ICBzaWduYWxzW21heF9tYWNoaW5lc11bbWF4X21hY2hpbmVzXTsgCgogIHNhbXAgbWl4YnVm
W291dHB1dF9idWZmZXJfc2l6ZV07IC8qIHdoZXJlIHRlbXBvcmFyeSBzb3VuZCBvdXRwdXQg
aXMgc3RvcmVkICovIAogCiAgaW50IG51bV9tYWNoaW5lczsgICAgLyogaW4gY3VycmVudCBz
aWduYWwgbmV0d29yayAqLyAKICBsb25nIGdsb2JhbF9mcmFtZTsgCiAgbG9uZyB0aWNrOyAg
ICAgIC8qIGN1cnJlbnQgcG9zaXRpb24gaW4gc29uZyAgICAgICAgICAqLyAKICBpbnQgYmxv
Y2s7ICAgICAgLyogY3VycmVudCBibG9jayB3aXRoaW4gY3VycmVudCB0aWNrICovCiAKICBp
bnQgYmxvY2tfc2l6ZTsgCiAgaW50IHRpY2tfc2l6ZTsgIC8qIGFuIGludGVncmFsIG11bHRp
cGxlIG9mIGJsb2NrX3NpemUgKHBvc3NpYmx5IDEpICovIAogIGludCB0cGI7ICAgICAgICAv
KiB0aWNrcyBwZXIgYmVhdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLyAK
ICBpbnQgYnBtOyAgICAgICAgLyogYmVhdHMgcGVyIG1pbnV0ZSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKi8gCn0KCnR5cGVkZWYgc3RydWN0IF9lbmdpbmUgZW5naW5lOyAK
Ci8qIHRoaXMgaXMganVzdCBhIHNrZXRjaDsgdGhlcmUgYXJlIG5vdCB5ZXQgYW55IGltcGxl
bWVudGF0aW9ucyBmb3IgdGhlc2UgZnVuY3Rpb25zLgogKiBtb3JlIGlzIGNvbWluZyBvbiB0
aGlzIHZlcnkgc29vbi4KICovIAoKdm9pZCBjcmVhdGVfZW5naW5lKGVuZ2luZSogZSk7CnZv
aWQgY29ubmVjdChlbmdpbmUqIGUsIHNpZ190eXBlIHQsIGludCBzb3VyY2UsIGludCBzaW5r
KTsgICAgIC8qIG1hY2hpbmUgbnVtYmVyICovIAp2b2lkIGRpc2Nvbm5lY3QoZW5naW5lKiBl
LCBzaWdfdHlwZSB0LCBpbnQgc291cmNlLCBpbnQgc2luayk7IAppbnQgYWRkX21hY2hpbmUo
ZW5naW5lKiBlLCBtYWNoaW5lKiBtKTsgIC8qIHJldHVybnMgaW5kZXggb2YgbWFjaGluZSdz
IG5ldyBob21lICovIAp2b2lkIHJlbW92ZV9tYWNoaW5lKGVuZ2luZSogZSwgaW50IG0pOyAg
IAp2b2lkIGRvX2Jsb2NrKGVuZ2luZSogZSk7ICAgICAgICAgICAgICAgIAoKLyogSU1PIHRo
ZSBlbmdpbmUgc2hvdWxkIG5vdCBoYXZlIHRvIGRlYWwgd2l0aCBjcmVhdGluZyBtYWNoaW5l
czsgaXQgdGFrZXMgd2hhdGV2ZXIgCiAqIHlvdSBnaXZlIGl0LCBhbmQgbWFjaGluZSBpbnN0
YW50aWF0aW9uIGlzIGhhbmRsZWQgZWxzZXdoZXJlIGJ5IGZ1bmN0aW9ucyByZWxhdGVkCiAq
IHRvIHRoZSBtYWNoaW5lIHJlZ2lzdHJ5CiAqLwoKCgoKCgoKCgoKCgoKCgoKI2VuZGlmIC8q
X2VuZ2luZV9oXyovCgovKiAkU291cmNlOiAvaG9tZS9kdG8vb2N0YWwvUkNTL2VuZ2luZS5o
LHYgJCAqLwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAG9jdGFsLWFscGhhL21hY2hpbmUuYwAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAwMTAwNjQ0ADAwMDA3NjUAMDAwMDc3MgAwMDAwMDAxMTQxNwAwNzExNjEzNjUy
MwAwMTMxNzIAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAdXN0YXIgIABkdG8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGR0bwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALyoKKiAkSGVhZGVy
OiAvaG9tZS9kdG8vb2N0YWwvUkNTL21hY2hpbmUuYyx2IDEuNiAyMDAwLzA2LzAzIDA1OjU0
OjU2IGR0byBFeHAgZHRvICQKKiAoQykgMjAwMCBEYXZpZCBPJ1Rvb2xlICREYXRlOiAyMDAw
LzA2LzAzIDA1OjU0OjU2ICQKKiAKKiBtYWNoaW5lIGxvYWRpbmcsIGluc3RhbnRpYXRpb24s
IGNvbW11bmljYXRpb24KKgoqICRSZXZpc2lvbjogMS42ICQKKgoqIFRoaXMgc29mdHdhcmUg
aXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQoqIEdOVSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIChHUEwpLiBSZWFkIHRoZSBpbmNsdWRlZCBmaWxlCiogQ09QWUlORyBm
b3IgbW9yZSBpbmZvcm1hdGlvbi4gCioKKi8Kc3RhdGljIGNvbnN0IGNoYXIgcmNzaWRbXT0i
JElkOiBtYWNoaW5lLmMsdiAxLjYgMjAwMC8wNi8wMyAwNTo1NDo1NiBkdG8gRXhwIGR0byAk
IjsKI2luY2x1ZGUgPGRsZmNuLmg+ICAvKiBmb3IgVU5JWCBzaGFyZWQtb2JqZWN0IHN1cHBv
cnQgKi8KI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4gCiNpbmNsdWRl
IDxkaXJlbnQuaD4gLyogZGlyZWN0b3J5LWhhbmRsaW5nIHN0dWZmICovCiNpbmNsdWRlIDxz
eXMvdHlwZXMuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKI2luY2x1ZGUgIm1hY2hpbmUuaCIK
CnN0YXRpYyBtYWNoaW5lX3R5cGUgdHlwZV9yZWdpc3RyeVttYXhfdHlwZXNdOyAgIC8qIHRo
ZXNlIGFyZSBidWlsdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmcm9tIHRoZSBtYWNoaW5lCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yeSAqLwpzdGF0aWMgaW50IG51bV90
eXBlcyA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAvKiBob3cgbWFueSBhcmUgbG9hZGVk
PyAqLwoKLyogbG9va3MgaW4gdGhlIHNwZWNpZmllZCBkaXJlY3RvcnkgZm9yIHNoYXJlZCBv
YmplY3RzIGFuZCBhdHRlbXB0cyB0bwogKiBsb2FkIHRoZW0gYXMgT0NUQUwgcGx1Z2lucyAq
LwoKaW50IGxvYWRfdHlwZV9yZWdpc3RyeShjb25zdCBjaGFyKiBtYWNoaW5lX2Rpcikgewog
ICAKICBjaGFyICpmbjsKICBjaGFyIHRlbXBbMTAyNF07ICAvKiBmb3IgdGhlIGNvbmNhdGVu
YXRlZCBmaWxlbmFtZSAqLwogIGludCBpLCBpeCA9IDA7ICAgICAKICBESVIgKmRwOwogIHN0
cnVjdCBkaXJlbnQgKmVwOwoKICBkcCA9IG9wZW5kaXIobWFjaGluZV9kaXIpOwogIAogIGlm
IChkcCkgewogICAgd2hpbGUgKGVwID0gcmVhZGRpcihkcCkpIHsKICAgICAgZm4gPSBlcC0+
ZF9uYW1lOwogICAgICBpZiAoIHN0cmNtcChmbiArIChzdHJsZW4oZm4pLTMpLCAiLnNvIikg
IT0gMCApIAoJY29udGludWU7IAogICAgICAKICAgICAgLyogbm93IGJ1aWxkIHRoZSBmdWxs
IHBhdGhuYW1lIGluIHRlbXBbXSBhbmQgbG9hZCB0aGUgbWFjaGluZSAqLwogICAgICBzdHJj
cHkodGVtcCwgbWFjaGluZV9kaXIpOwogICAgICBzdHJjYXQodGVtcCwgIi8iKTsgICAgICAg
ICAgLyogZG9uJ3QgZm9yZ2V0IHRoZSBzZXBhcmF0b3Igc2xhc2ggKi8gCiAgICAgIHN0cmNh
dCh0ZW1wLCBlcC0+ZF9uYW1lKTsgCgogICAgICBpZiAobG9hZF9tYWNoaW5lX3R5cGUoJnR5
cGVfcmVnaXN0cnlbaXhdLCB0ZW1wKSkKCWl4Kys7IAogICAgfQogICAgbnVtX3R5cGVzID0g
aXg7IAogIH0KICAKICBlbHNlIG94X2RpZSgiJSVPQ1RBTDogQ291bGRuJ3Qgb3BlbiBtYWNo
aW5lX2RpciBkdXJpbmcgY2FsbCB0byBsb2FkX3R5cGVfcmVnaXN0cnkoKSBcbiIpOwoKICBp
ZiAoaXggPT0gMCkKICAgIG94X2RpZSgiJSVPQ1RBTDogTm8gbWFjaGluZXMgZm91bmQuIik7
CgogIC8qIHByaW50IG91dCBzb21lIGJhc2ljIGluZm8gYWJvdXQgdGhlIG1hY2hpbmVzICov
CiAgcHJpbnRmKCJTdWNjZXNzZnVsbHkgbG9hZGVkIHR5cGUgcmVnaXN0cnkgZnJvbSAlcyB3
aXRoICVkIG1hY2hpbmUgdHlwZXMuIFxuIiwKCSBtYWNoaW5lX2RpciwgaXgpOwogIAogIGZv
ciAoaT0wOyBpPGl4OyBpKyspIHsKICAgIHByaW50ZigiTG9hZGVkICVzICglcyksIGhhdmlu
ZyAlZCBwYXJhbWV0ZXJzLiBcbiIsIHR5cGVfcmVnaXN0cnlbaV0uc2hvcnRfbmFtZSwKCSAg
IHR5cGVfcmVnaXN0cnlbaV0ubG9uZ19uYW1lLCB0eXBlX3JlZ2lzdHJ5W2ldLm51bV9wYXJh
bXMpOwogIH0KfQoKCm1hY2hpbmVfdHlwZSogZ2V0X3R5cGUoY29uc3QgY2hhciogbmFtZSkg
ewogIGludCBpOwoKICBpZiAoIW51bV90eXBlcykgb3hfZGllKCIlJU9DVEFMOiBObyBtYWNo
aW5lIHR5cGVzIGxvYWRlZC4gXG4iKTsKICAKICBmb3IgKGk9MDsgaTxudW1fdHlwZXM7IGkr
KykgewogICAgaWYgKHN0cmNtcChuYW1lLCB0eXBlX3JlZ2lzdHJ5W2ldLnNob3J0X25hbWUp
ID09IDApCiAgICAgIHJldHVybigmdHlwZV9yZWdpc3RyeVtpXSk7CiAgICBlbHNlIGNvbnRp
bnVlOyAgCiAgfQogIHJldHVybigwKTsgIC8qIHdhc24ndCBmb3VuZCAqLyAKfQoKICAKCi8q
IGFjY2VwdHMgYSBzdHJpbmcgZmlsZW5hbWUsIGZpbGxzIGluIHRoZSBzdHJ1Y3R1cmUgcG9p
bnRlZCB0byBieSB0CiAgIHJldHVybnMgMCBvbiBmYWlsdXJlLCBvdGhlcndpc2UgcmV0dXJu
cyB2YWx1ZSByZXR1cm5lZCBieSBtYWNoaW5lJ3MKICAgaW5pdCgpICovCgppbnQgbG9hZF9t
YWNoaW5lX3R5cGUobWFjaGluZV90eXBlICp0LCBjb25zdCBjaGFyICpmbikgewogIGludCBy
ZXQ7CgkKICB0LT5zb19oYW5kbGUgPSBkbG9wZW4oZm4sIFJUTERfTk9XKTsgCiAgaWYgKCF0
LT5zb19oYW5kbGUpIHsgCiAgICBmcHJpbnRmKHN0ZGVyciwgIiUlT0NUQUw6ICVzOiBkbG9w
ZW4oKSByZXR1cm5lZCBOVUxMLlxuIiwgZm4pOyAKICAgIHJldHVybigwKTsgCiAgfQoJCQkK
ICB0LT5veF9pbml0ICAgID0gZGxzeW0odC0+c29faGFuZGxlLCAib3hfaW5pdCIpOwogIHQt
Pm94X2NyZWF0ZSAgPSBkbHN5bSh0LT5zb19oYW5kbGUsICJveF9jcmVhdGUiKTsKICB0LT5v
eF9kZXN0cm95ID0gZGxzeW0odC0+c29faGFuZGxlLCAib3hfZGVzdHJveSIpOwogIHQtPm94
X3VwZGF0ZSAgPSBkbHN5bSh0LT5zb19oYW5kbGUsICJveF91cGRhdGUiKTsKICB0LT5veF93
b3JrICAgID0gZGxzeW0odC0+c29faGFuZGxlLCAib3hfd29yayIpOwogIHQtPm94X2Rlc2Mg
ICAgPSBkbHN5bSh0LT5zb19oYW5kbGUsICJveF9kZXNjIik7CiAgdC0+b3hfdHJhY2sgICA9
IGRsc3ltKHQtPnNvX2hhbmRsZSwgIm94X3RyYWNrIik7CiAgCQogIGlmICghdC0+b3hfaW5p
dCB8fCAhdC0+b3hfY3JlYXRlIHx8ICF0LT5veF9kZXN0cm95IAogICAgICB8fCAhdC0+b3hf
d29yayB8fCAhdC0+b3hfZGVzYyB8fCAhdC0+b3hfdXBkYXRlIHx8ICF0LT5veF90cmFjaykg
ewogICAgcHJpbnRmKCIlJU9DVEFMOiAlcyBpcyBub3QgYSB2YWxpZCBPQ1RBTCBtYWNoaW5l
LlxuIiwgZm4pOwogICAgZGxjbG9zZSh0LT5zb19oYW5kbGUpOwogICAgcmV0dXJuKDApOwog
IH0KICByZXQgPSAoKnQtPm94X2luaXQpKHQpOwkKICByZXR1cm4ocmV0KTsJCQkKfQoJCmlu
dCB1bmxvYWRfbWFjaGluZV90eXBlKG1hY2hpbmVfdHlwZSAqdCkgewoJCiAgZGxjbG9zZSh0
LT5zb19oYW5kbGUpOwoJCiAgdC0+c29faGFuZGxlICA9IDA7CiAgCiAgdC0+b3hfaW5pdCAg
ICA9IDA7CiAgdC0+b3hfd29yayAgICA9IDA7CiAgdC0+b3hfY3JlYXRlICA9IDA7CiAgdC0+
b3hfZGVzdHJveSA9IDA7CiAgdC0+b3hfZGVzYyAgICA9IDA7CiAgdC0+b3hfdXBkYXRlICA9
IDA7CiAgdC0+b3hfdHJhY2sgICA9IDA7CgogIHJldHVybigxKTsKCQp9CgovKiB0ZWxsIHRo
ZSBsaWJyYXJ5IHRvIGluaXRpYWxpemUgdGhlIG1hY2hpbmUsCiAqIHNldCB0aGUgdHlwZSBw
b2ludGVyLCBhbGxvY2F0ZSBhbiBvdXRwdXQgYnVmZmVyCiAqIGFyZWEsIGFuZCBmaW5pc2gg
dXAuIAogKi8gICAKCQp2b2lkIGNyZWF0ZV9tYWNoaW5lKG1hY2hpbmUgKm0sIG1hY2hpbmVf
dHlwZSAqdCkgewoJCiAgKCoodC0+b3hfY3JlYXRlKSkobSk7CiAgbS0+dHlwZSA9IHQ7CiAg
bS0+ZnJhbWUgPSAwOwoKICAvKiBub3cgY3JlYXRlIHRoZSBtYWNoaW5lJ3Mgb3V0cHV0IGJ1
ZmZlcnMgKi8KICBtLT5sb3V0ID0gKHNhbXAqKSBtYWxsb2Mob3V0cHV0X2J1ZmZlcl9zaXpl
KTsKCiAgaWYgKGlzX3N0ZXJlb19vdXQobSkpIAogICAgbS0+cm91dCA9IChzYW1wKikgbWFs
bG9jKG91dHB1dF9idWZmZXJfc2l6ZSk7CiAgZWxzZSBtLT5yb3V0ID0gbS0+bG91dDsgIC8q
IG1vbm8gKi8gCgogIGlmICghbS0+cm91dCB8fCAhbS0+bG91dCkKICAgICAgb3hfZGllKCIl
JU9DVEFMOiBNZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWQgZHVyaW5nIGNyZWF0ZV9tYWNoaW5l
KClcbiIpOwogICAgCn0KCgp2b2lkIGRlc3Ryb3lfbWFjaGluZShtYWNoaW5lICptKSB7CiAg
CiAgKCoobS0+dHlwZS0+b3hfZGVzdHJveSkpKG0pOwoKICBmcmVlKG0tPmxvdXQpOwogIGlm
IChpc19zdGVyZW9fb3V0KG0pKQogICAgZnJlZShtLT5yb3V0KTsKICBtLT50eXBlID0gTlVM
TDsgCgp9CgoKaW50IGlzX3N0ZXJlb19vdXQobWFjaGluZSogbSkgewogIGlmIChtLT50eXBl
LT5vdXRwdXRfY2hhbm5lbHMgPT0gc3RlcmVvKSByZXR1cm4gMTsKICBlbHNlIHJldHVybiAw
Owp9CgppbnQgaXNfc3RlcmVvX2luKG1hY2hpbmUqIG0pIHsKICBpZiAobS0+dHlwZS0+aW5w
dXRfY2hhbm5lbHMgPT0gc3RlcmVvKSByZXR1cm4gMTsKICBlbHNlIHJldHVybiAwOwp9Cgpp
bnQgd2FudHNfaW5wdXQobWFjaGluZSogbSkgewogIGlmIChtLT50eXBlLT5pbnB1dF9jaGFu
bmVscyA+IDApIHJldHVybiAxOwogIGVsc2UgcmV0dXJuIDA7Cn0KCgoKCi8qIEVuZCAkU291
cmNlOiAvaG9tZS9kdG8vb2N0YWwvUkNTL21hY2hpbmUuYyx2ICQqLwoKCgoKCgoKCgoKCgoK
CgoKCgoKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvY3RhbC1hbHBoYS9tYWNoaW5lLmgA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwNzY1ADAwMDA3NzIAMDAwMDAw
MDY1NzYAMDcxMTYxMzY1MjMAMDEzMjExACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAZHRvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAABkdG8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAC8qCiogJEhlYWRlcjogL2hvbWUvZHRvL29jdGFsL1JDUy9tYWNoaW5lLmgsdiAxLjcg
MjAwMC8wNi8wMyAwNTo1NTo0OSBkdG8gRXhwIGR0byAkCiogKEMpIDIwMDAgRGF2aWQgTydU
b29sZSAkRGF0ZTogMjAwMC8wNi8wMyAwNTo1NTo0OSAkCiogJFJldmlzaW9uOiAxLjcgJAoq
IAoqIHN0dWZmIHJlbGF0ZWQgdG8gdGhlIG1hY2hpbmUgaW50ZXJmYWNlCioKKiBUaGlzIHNv
ZnR3YXJlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKiBHTlUgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSAoR1BMKS4gUmVhZCB0aGUgaW5jbHVkZWQgZmlsZQoqIENP
UFlJTkcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIAoqIAoqLwoKI2lmbmRlZiBfbWFjaGluZV9o
XwojZGVmaW5lIF9tYWNoaW5lX2hfICJAKCMpbWFjaGluZS5oICRSZXZpc2lvbjogMS43ICQi
CgojaW5jbHVkZSAib2N0YWwuaCIKI2luY2x1ZGUgInBhdHRlcm4uaCIKCmVudW0ge291dHB1
dF9idWZmZXJfc2l6ZSA9IHNpemVvZihzYW1wKSpPWF9TQU1QTElOR19SQVRFfTsgIC8qIHVz
ZWQgdG8gY3JlYXRlIGFuIG91dHB1dCBidWZmZXIgYXJlYQoJCQkJCQkgICAgICAgZm9yIG1h
Y2hpbmVzICovCmVudW0ge21heF90eXBlcyA9IDEyOH07CgovKiBzb21lIHNwZWNpYWwgdmFs
dWVzICovIAplbnVtIHttb25vPTEsIHN0ZXJlbz0yfTsKZW51bSB7bm9jaGFuZ2UgPSAtMSwg
bm90ZW9mZiA9IDB9OyAgIAplbnVtIHt3b3JrX3F1aWV0LCB3b3JrX25vaXN5fTsgICAvKiBv
eF93b3JrKCkgcmV0dXJucyB0aGVzZSAqLyAKCi8qIHN5bWJvbHMgZm9yIGZvcm1hdCBhbmQg
d2lkZ2V0IHR5cGUgc2VsZWN0aW9uICovCmVudW0geyBub3RlLCBzbWFsbCwgbGFyZ2UsIHRy
aWdnZXIsIHdhdmUgfTsgICAgICAvKiBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAqLyAK
ZW51bSB7IHNsaWRlciB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGNv
bnRyb2wgd2lkZ2V0IHR5cGVzICAgICAgICovCgpzdHJ1Y3QgX21hY2hpbmVfdHlwZTsgCgov
KiBwYXJhbV9zcGVjIGlzIHVzZWQgYnkgbWFjaGluZXMgdG8gZ2l2ZSBhbiBhYnN0cmFjdCBk
ZXNjcmlwdGlvbiBvZgogKiB0aGVpciBwYXJhbWV0ZXJzIAogKi8KCnR5cGVkZWYgc3RydWN0
IF9wYXJhbV9zcGVjIHsgCiAgaW50IHR5cGU7CiAgaW50IHdpZGdldDsgICAgCiAgY2hhciog
bmFtZTsgCiAgY2hhciogZGVzY3JpcHRpb247IAogIGRhdGEgbWluLCBtYXgsIHN0YXJ0OyAK
Cn0gcGFyYW1fc3BlYzsKCgp0eXBlZGVmIHN0cnVjdCBfbWFjaGluZSB7CgogIHN0cnVjdCBf
bWFjaGluZV90eXBlICp0eXBlOyAgICAgICAgICAKICB2b2lkICpzdGF0ZTsgICAgICAgICAg
ICAgICAgICAgICAgICAvKiB0aGlzIGlzIHlvdXIgInRoaXMiIHBvaW50ZXIgKi8gCiAgbG9u
ZyBmcmFtZTsgICAgICAgICAgICAgICAgICAgICAgICAgLyogZnJhbWUgY291bnQgICAgICAg
ICAgICAgICAgICovIAogIAogIC8qIHNhbXBsZSBpL28gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogIHNhbXAgKmxpbiwgICpyaW47
ICAgIC8qIHRoZXNlIG9mdGVuIHBvaW50IHRvIGEgbWl4LWJ1ZmZlciAgICAgICAgICAqLwog
IHNhbXAgKmxvdXQsICpyb3V0OyAgIC8qIHRoZXNlIGFyZSBhY3R1YWxseSBtYWxsb2MnZWQg
ICAgICAgICAgICAgICAqLyAKICAKICBpbnQgbnVtX3RyYWNrcywgdHJhY2tzX2NoYW5nZWQ7
CiAgCiAgaW50IHRpY2tfc2l6ZTsgCiAgbG9uZyB0aWNrX251bWJlcjsgCiAgCiAgcGFyYW0g
cGFyYW1zW01BWF9UUkFDS1NdW01BWF9QQVJBTVNdOyAgLyogcGFyYW1ldGVyIGRhdGEgZm9y
IHlvdSAqLyAKICAKfSBtYWNoaW5lOwoKCgp0eXBlZGVmIHN0cnVjdCBfbWFjaGluZV90eXBl
IHsgCiAgCiAgLyogUFJJVkFURS4gTWFjaGluZSBkZXZlbG9wZXJzIHNob3VsZG4ndCB0b3Vj
aCB0aGlzIHNlY3Rpb24uICovCgogIHZvaWQqIHNvX2hhbmRsZTsKCiAgLyogcG9pbnRlcnMg
dG8gdGhlIG1haW4gb2N0YWwgcGx1Z2luIGFwaSBjYWxsYmFja3MgKi8KCiAgaW50ICAgICAg
ICAgKCpveF9pbml0KShzdHJ1Y3QgX21hY2hpbmVfdHlwZSopOyAgICAgICAgICAgICAgCiAg
dm9pZCAgICAgICAgKCpveF9jcmVhdGUpKG1hY2hpbmUqKTsgICAKICB2b2lkICAgICAgICAo
Km94X3VwZGF0ZSkobWFjaGluZSopOwogIGludCAgICAgICAgICgqb3hfd29yaykobWFjaGlu
ZSosIGludCk7ICAvKiBub3cgYWNjZXB0cyBibG9ja19zaXplICovIAogIHZvaWQgICAgICAg
ICgqb3hfZGVzdHJveSkobWFjaGluZSopOwogIGNvbnN0IGNoYXIqICgqb3hfZGVzYykoaW50
LHBhcmFtKTsgCiAgdm9pZCAgICAgICAgKCpveF90cmFjaykobWFjaGluZSosIGludCk7ICAg
ICAgICAgICAvKiB3aGVuIG51bV90cmFja3MgY2hhbmdlcyAqLyAKCiAgLyogUFVCTElDLiBN
YWNoaW5lIGRldmVsb3BlcnMgbXVzdCBmaWxsIGluIHRoZXNlIHNlY3Rpb25zICAqLwogIC8q
IGR1cmluZyBveF9pbml0KCksIHVzaW5nIHRoZSBwb2ludGVyIHBhc3NlZCB0aGVyZSAgICAg
ICAgKi8KCiAgY2hhciogc2hvcnRfbmFtZTsgICAKICBjaGFyKiBsb25nX25hbWU7IAogIGlu
dCBtYXhfdHJhY2tzOyAgICAgIC8qIG1heGltdW0gbnVtYmVyIG9mIHRyYWNrcyBwZXIgbWFj
aGluZSAgICAgICAgICAgKi8KICBpbnQgaW5wdXRfY2hhbm5lbHM7ICAvKiBtb25vIGFuZCBz
dGVyZW8gYXJlIHZhbGlkIHZhbHVlcyAgICAgICAgICAgICAgICovIAogIGludCBvdXRwdXRf
Y2hhbm5lbHM7IC8qIHNhbWUgaGVyZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKi8KCiAgaW50IG51bV9wYXJhbXM7CiAgcGFyYW1fc3BlYyogcGFyYW1fc3BlY3M7
ICAvKiBwb2ludGVyIHRvIGFycmF5IGluc2lkZSBtYWNoaW5lIGxpYiAgICAgICAqLyAKCn0g
bWFjaGluZV90eXBlOwoKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKi8KCgppbnQgbG9hZF90eXBlX3JlZ2lzdHJ5KGNvbnN0IGNoYXIqIG1hY2hpbmVfZGly
KTsKbWFjaGluZV90eXBlKiBnZXRfdHlwZShjb25zdCBjaGFyKiBuYW1lKTsKCQppbnQgbG9h
ZF9tYWNoaW5lX3R5cGUobWFjaGluZV90eXBlICp0LCBjb25zdCBjaGFyICpmbik7CmludCB1
bmxvYWRfbWFjaGluZV90eXBlKG1hY2hpbmVfdHlwZSAqdCk7Cgp2b2lkIGNyZWF0ZV9tYWNo
aW5lKG1hY2hpbmUgKm0sIG1hY2hpbmVfdHlwZSAqdCk7CnZvaWQgZGVzdHJveV9tYWNoaW5l
KG1hY2hpbmUgKm0pOwoKLyogaW5zcGVjdG9yIHNob3J0Y3V0cyAqLyAKaW50IGlzX3N0ZXJl
b19vdXQobWFjaGluZSogbSk7CmludCBpc19zdGVyZW9faW4obWFjaGluZSogbSk7CmludCB3
YW50c19pbnB1dChtYWNoaW5lKiBtKTsKCiNlbmRpZiAvKl9tYWNoaW5lX2hfKi8KCi8qICRT
b3VyY2U6IC9ob21lL2R0by9vY3RhbC9SQ1MvbWFjaGluZS5oLHYgJCAqLwoKCgoKCgoKCgoK
CgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb2N0YWwtYWxwaGEvbWFpbi5jAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMDc2NQAwMDAwNzcyADAwMDAwMDA0Mzc1ADA3
MTE2MTM2NTIzADAxMjUxNwAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAB1c3RhciAgAGR0bwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZHRv
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvKiAk
SGVhZGVyOiAvaG9tZS9kdG8vb2N0YWwvUkNTL21haW4uYyx2IDEuNCAyMDAwLzAyLzIzIDA0
OjMwOjM5IGR0bwoqIEV4cCBkdG8gJCAoQykgMjAwMCBEYXZpZCBPJ1Rvb2xlICREYXRlOiAy
MDAwLzA2LzAzIDA1OjU0OjU2ICQKKiAKKiBNQUlOLkMKKiAKKiBPbmNlIGFnYWluIHRoaXMg
aXMganVzdCBmb3IgdGVzdGluZy4uLiBhbGwgd2lsbCBiZSByZXBsYWNlZC4KKgoqICRSZXZp
c2lvbjogMS44ICQgCioKKiBUaGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUKKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR1BMKS4gUmVh
ZCB0aGUgaW5jbHVkZWQgZmlsZQoqIENPUFlJTkcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIAoq
CiovCgovKiBzb21lIHRlbXBvcmFyeSAjZGVmaW5lcyAqLyAKI2RlZmluZSBUSUNLIDQ0MTAw
CiNkZWZpbmUgQkxPQ0sgKFRJQ0svNSkKCiNpbmNsdWRlIDxzdGRpby5oPgoKI2luY2x1ZGUg
Im91dHB1dC5oIgojaW5jbHVkZSAidXRpbC5oIgojaW5jbHVkZSAibWFjaGluZS5oIgoKc3Rh
dGljIGNvbnN0IGNoYXIgcmNzaWRbXT0iJElkOiBtYWluLmMsdiAxLjggMjAwMC8wNi8wMyAw
NTo1NDo1NiBkdG8gRXhwIGR0byAkIjsKCmNoYXIgbWVsb2R5WzE1XVs4XSA9IHsgImctNCIs
IAoJCSAgICAgICAiZy00IiwgCgkJICAgICAgICJnLTQiLCAKCQkgICAgICAgImQtNSIsIAoJ
CSAgICAgICAiZC01IiwgCgkJICAgICAgICJkLTUiLCAKCQkgICAgICAgImMtNSIsIAoJCSAg
ICAgICAiYi00IiwgLyogY2FuIHlvdSBndWVzcyB0aGUgc29uZz8gKi8gCgkJICAgICAgICJh
LTQiLCAKCQkgICAgICAgImctNSIsICAKCQkgICAgICAgImctNSIsIAoJCSAgICAgICAiZy01
IiwgIAoJCSAgICAgICAiZC01IiwgCgkJICAgICAgICJkLTUiLCAgCgkJICAgICAgICJkLTUi
LCB9OyAKCgppbnQgbWFpbigpIHsKCiAgc2FtcCBzaWxlbnRbQkxPQ0tdOwogCiAgbWFjaGlu
ZSBzcXVhcmU7CiAgbWFjaGluZSBkZWxheTsgCiAgbWFjaGluZV90eXBlKiB0OyAKICBpbnQg
aSxlLCBqOwoKICBwcmludGYoIiogVGhpcyBpcyBPQ1RBTC4gXG4tLS0tLS0tLS0tLS1cbiIp
OwoKICBzZXRfYmxvY2tfc2l6ZShCTE9DSyk7CiAgaW5pdF9zb3VuZChPWF9TQU1QTElOR19S
QVRFKTsKICBpbml0X2ZyZXFfdGFibGUoKTsKICBpbml0X25vdGVfbmFtZXMoKTsKCiAgbG9h
ZF90eXBlX3JlZ2lzdHJ5KCIuIik7ICAKICB0ID0gZ2V0X3R5cGUoImR0b3NxdWFyZSIpOwoK
ICBpZiAoIXQpIG94X2RpZSgiRGlkbid0IGxvY2F0ZSBtYWNoaW5lIHByb3Blcmx5LlxuIik7
IAogIGVsc2UgcHJpbnRmKCJSZXRyaWV2ZWQgdHlwZSAlcyBmcm9tIHJlZ2lzdHJ5LlxuIiwg
dC0+c2hvcnRfbmFtZSk7CgogIGNyZWF0ZV9tYWNoaW5lKCZzcXVhcmUsIHQpOwoKICB0ID0g
Z2V0X3R5cGUoIm1kZWxheSIpOwogIHByaW50ZigiUmV0cmlldmVkIHR5cGUgJXMgZnJvbSBy
ZWdpc3RyeS5cbiIsIHQtPnNob3J0X25hbWUpOwoKICBjcmVhdGVfbWFjaGluZSgmZGVsYXks
IHQpOwoKCiAgLyogY29ubmVjdCB0aGVtIHRvZ2V0aGVyLi4uIGEgcXVpY2sgaGFjayB1bnRp
bCB0aGUgbmV0d29yayAKICAgKiBlbmdpbmUgaXMgZG9uZSBsYXRlciB0aGlzIHdlZWsgCiAg
ICovIAogIGRlbGF5LmxpbiA9IHNxdWFyZS5sb3V0OyAKICBkZWxheS5yaW4gPSBzcXVhcmUu
cm91dDsKCiAgcHJpbnRmKCJTdGFydGluZyBvdXRwdXQuXG4iKTsKCiAgZm9yIChpPTA7IGk8
MTU7IGkrKykgewogICAgcHJpbnRmKCIlc1xuIiwgbWVsb2R5W2ldKTsKICAgIHNxdWFyZS5w
YXJhbXNbMF1bMF0gPSB0ZXh0Mm5vdGUobWVsb2R5W2ldKTsKICAgIHNxdWFyZS5wYXJhbXNb
MF1bMV0gPSAweEEwOwogICAgZGVsYXkucGFyYW1zWzBdWzFdID0gMHg0MDsgCiAgICAgICgq
c3F1YXJlLnR5cGUtPm94X3VwZGF0ZSkoJnNxdWFyZSk7CiAgICAgICgqZGVsYXkudHlwZS0+
b3hfdXBkYXRlKSgmZGVsYXkpOwogICAgICBlID0gKCpzcXVhcmUudHlwZS0+b3hfd29yayko
JnNxdWFyZSwgQkxPQ0spOwogICAgICBlID0gKCpkZWxheS50eXBlLT5veF93b3JrKSgmZGVs
YXksIEJMT0NLKTsKICAgICAgb3V0cHV0X2Jsb2NrKGRlbGF5LmxvdXQsIGRlbGF5LnJvdXQs
IEJMT0NLKTsgCgogIH0KCiAgZGVsYXkubGluID0gc2lsZW50OyAKICBkZWxheS5yaW4gPSBz
aWxlbnQ7IAoKICBjbG9zZV9zb3VuZCgpOwoKICBkZXN0cm95X21hY2hpbmUoJnNxdWFyZSk7
CiAgZGVzdHJveV9tYWNoaW5lKCZkZWxheSk7Cgp9CgkKLyogRW5kICRTb3VyY2U6IC9ob21l
L2R0by9vY3RhbC9SQ1MvbWFpbi5jLHYgJCAqLwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAb2N0YWwtYWxwaGEvTWFrZWZpbGUAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAADAxMDA2NDQAMDAwMDc2NQAwMDAwNzcyADAwMDAwMDAxNzAyADA3MTE2MTM2
NTIzADAxMzA1NgAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAB1c3RhciAgAGR0bwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZHRvAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjIE9DVEFMIE1h
a2VmaWxlCiMgKEMpIDIwMDAgYnkgRGF2aWQgTydUb29sZQojICRTb3VyY2U6IC9ob21lL2R0
by9vY3RhbC9SQ1MvTWFrZWZpbGUsdiAkCiMgJERhdGU6IDIwMDAvMDYvMDMgMDU6NTc6NTYg
JAojICRSZXZpc2lvbjogMS40ICQKCkNGTEFHUz0gLU8zIC1nIC1wZWRhbnRpYwpPQkpFQ1RT
PSB1dGlsLm8gb3V0cHV0Lm8gbWFpbi5vIG1hY2hpbmUubyBvY3RhbC5vCkxJQkRMPSAtcmR5
bmFtaWMgLWxkbApBTExIRUFERVJTPSBvY3RhbC5oIHV0aWwuaCBvdXRwdXQuaApTVERIRUFE
RVJTPSBvY3RhbC5oCkRJU1Q9IG9jdGFsLWFscGhhCgouYy5vOiAgCglnY2MgJChDRkxBR1Mp
IC1jICQ8IC1vICRACgphbGw6ICAkKE9CSkVDVFMpIHNxdWFyZWdlbi5zbyBkZWxheS5zbwoJ
Z2NjICQoQ0ZMQUdTKSAkKE9CSkVDVFMpICQoTElCREwpIC1vb2N0YWwtdGVzdAoKbWFjaGlu
ZS5jOiAKCWdjYyAkKENGTEFHUykgJChMSUJETCkgbWFjaGluZS5jIC1vbWFjaGluZS5vIAoK
c3F1YXJlZ2VuLnNvOiBzcXVhcmVnZW4uYyB1dGlsLm8gb2N0YWwubyAKCWdjYyAkKENGTEFH
UykgLXNoYXJlZCB1dGlsLm8gc3F1YXJlZ2VuLmMgLW8gc3F1YXJlZ2VuLnNvCgpkZWxheS5z
bzogZGVsYXkuYyB1dGlsLm8gb2N0YWwuaAoJZ2NjICQoQ0ZMQUdTKSAtc2hhcmVkIHV0aWwu
byBkZWxheS5jIC1vIGRlbGF5LnNvCgpjbGVhbjoKCS0gcm0gKi5vICouc28gKn4KCmRvYzog
b3hfYXBpX21haW4uZHZpCgpveF9hcGlfbWFpbi5kdmk6CglsYXRleCBveF9hcGlfbWFpbi50
ZXgKCWxhdGV4IG94X2FwaV9tYWluLnRleAoKZGlzdDogYWxsCgljcCAqLmMgKi5jYyAqLmgg
TWFrZWZpbGUgQ09QWUlORyBET0NfQ09QWUlORyBSRUxFQVNFICQoRElTVCkKCWNwIC4vZG9j
LyoudGV4ICQoRElTVCkKCXJsb2cgKi5jICouaCA+ICQoRElTVCkvUkVWSVNJT05TCgl0YXIg
LWN2ZiAkKERJU1QpLnRhciAkKERJU1QpLyoKCgoKCgoKCgAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb2N0YWwtYWxwaGEv
b2N0YWwuYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMDc2NQAwMDAw
NzcyADAwMDAwMDAxMjQ0ADA3MTE2MTM2NTIzADAxMjY2NQAgMAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGR0bwAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAZHRvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAvKgoqICRIZWFkZXI6IC9ob21lL2R0by9vY3RhbC9SQ1Mvb2N0YWwu
Yyx2IDEuMSAyMDAwLzAzLzI4IDA3OjE3OjM5IGR0byBFeHAgZHRvICQKKiAoQykgMjAwMCBE
YXZpZCBPJ1Rvb2xlICREYXRlOiAyMDAwLzAzLzI4IDA3OjE3OjM5ICQKKiAKKiBPQ1RBTC5D
ICAgKiogc29tZSBjb2RlIGZvciBzb21lIGdsb2JhbCB1dGlsaXR5IGZ1bmN0aW9ucyAKKiBu
b3QgcmVsYXRlZCB0byBzb3VuZC4gKHRob3NlIGFyZSBpbiB1dGlsLmMpLiAKKiAKKiAkUmV2
aXNpb246IDEuMSAkCioKKiBUaGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUKKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR1BMKS4gUmVh
ZCB0aGUgaW5jbHVkZWQgZmlsZQoqIENPUFlJTkcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIAoq
CiovCnN0YXRpYyBjb25zdCBjaGFyIHJjc2lkW109IiRJZDogb2N0YWwuYyx2IDEuMSAyMDAw
LzAzLzI4IDA3OjE3OjM5IGR0byBFeHAgZHRvICQiOwoKI2luY2x1ZGUgPHN0ZGlvLmg+CiNp
bmNsdWRlIDxzdGRsaWIuaD4KCnZvaWQgb3hfZGllKGNvbnN0IGNoYXIqIG1lc3NhZ2UpIHsK
ICBmcHJpbnRmKHN0ZGVyciwgbWVzc2FnZSk7CiAgZXhpdCgtMSk7Cn0KCgoKCi8qIEVuZCAk
U291cmNlOiAvaG9tZS9kdG8vb2N0YWwvUkNTL29jdGFsLmMsdiAkKi8KAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAb2N0YWwtYWxwaGEvb2N0YWwtZXh0cmFzLnRleAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAADAxMDA2NDQAMDAwMDc2NQAwMDAwNzcyADAwMDAwMDQxMDA3ADA3MTE2MTM2NTIzADAx
NDU1MAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1
c3RhciAgAGR0bwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZHRvAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcZG9jdW1lbnRjbGFzc1t0
d29jb2x1bW5de2FydGljbGV9Clx1c2VwYWNrYWdle2Z1bGxwYWdlfQpcdGl0bGV7KE9sZCkg
RXh0cmEgRG9jdW1lbnRhdGlvbiBmb3Ige1x0dCBHTlUgT0NUQUx9fQpcYXV0aG9ye0Rhdmlk
IE8nVG9vbGUufQpcbmV3Y29tbWFuZHtcZWRpdG9yc25vdGV9WzFde1xwYXIge1xpdCBbIzFd
fSBccGFyfSAKXGJlZ2lue2RvY3VtZW50fQpcb25lY29sdW1uClxtYWtldGl0bGUKXHRhYmxl
b2Zjb250ZW50cwoKXHNlY3Rpb257SW50cm9kdWN0aW9ufQpIZXJlIGlzIHNvbWUgYmFja2dy
b3VuZCBkb2N1bWVudGF0aW9uLCBtb3N0bHkgb3V0IG9mIGRhdGUsIGZvciB7XHR0IEdOVSBP
Q1RBTC59IE90aGVyIHNvdXJjZXMgdG8gY2hlY2sgYXJlIHRoZSBtYWlsaW5nIGxpc3QgYXJj
aGl2ZXMgKGxpbmtlZCB0byBmcm9tIGh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9vY3Rh
bCkuIAoKXHNlY3Rpb257T2N0YWwtZGV2IG1haWxpbmcgbGlzdCBhbm5vdW5jZW1lbnR9IAoK
XGVkaXRvcnNub3Rle1RoaXMgYGBraWNrLW9mZicnIG1lc3NhZ2Ugd2FzIG9uZSBvZiB0aGUg
Zmlyc3QgcG9zdGVkIHRvIHRoZSBvY3RhbC1kZXYKbWFpbGluZyBsaXN0LCBpbiB2ZXJ5IGVh
cmx5IDIwMDAuIEl0IGlzIG9idmlvdXNseSB2ZXJ5IG91dCBvZiBkYXRlIDotKX0gCgoKXGJl
Z2lue3ZlcmJhdGltfQpHTlUgT0NUQUwgOjo6IFRIRSBHTlUgVFJBQ0tFUiAKLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpXRUxDT01FCi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCldlbGNvbWUgdG8gdGhl
IGRldmVsb3BlcidzIG1haWxpbmcgbGlzdCBmb3IgR05VIE9DVEFMLApvY3RhbC1kZXZAZ251
Lm9yZy4gIFRoaXMgaXMgYSBsaXN0IGZvciBkaXNjdXNzaW5nIGRldmVsb3BtZW50IG9mCk9D
VEFMLCBkZXZlbG9wbWVudCBvZiBNYWNoaW5lIHBsdWdpbnMgZm9yIHVzZSB3aXRoIE9DVEFM
LCBhbmQgb3RoZXIKcmVsYXRlZCB0b3BpY3MuCgpJZiB5b3UgaGF2ZSBiZWVuIHBsYWNlZCBv
biB0aGlzIGxpc3QgYnkgbWlzdGFrZSwgcGxlYXNlIGVtYWlsIG1lIGF0CmR0b0BnbnUub3Jn
IHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgbGlzdC4KCk9DVEFMIGlzIGEgcHJvamVjdCB0byBi
cmluZyBhIEJ1enotbGlrZSwgdW5pdC1nZW5lcmF0b3ItYmFzZWQgdHJhY2tlcgp0byBVTklY
IGFuZCB0aGUgWCBXaW5kb3cgU3lzdGVtLiBZb3UgbWF5IHdhbnQgdG8gY2hlY2sgd3d3LmJ1
enoyLmNvbQpmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBCdXp6LiBJdCdzIGFuIGltbWVuc2Vs
eSBwb3B1bGFyIHRyYWNrZXIgZm9yCnRoZSBXaW4zMiBlbnZpcm9ubWVudC4gVGhlIGV4aXN0
aW5nIGRlc2lnbiBmb3IgT0NUQUwgbWFrZXMgc29tZQppbXByb3ZlbWVudHMgb3ZlciBCdXp6
LCBzdWNoIGFzOgoKKiBzdXBwb3J0IGZvciBzdGVyZW8gc2lnbmFscyBhbmQgc2FtcGxlcy4g
IAoqIGJldHRlciBzdXBwb3J0IGZvciBhdXhpbGlhcnkgaW5wdXRzIHRvIG1hY2hpbmVzIChm
b3Igdm9jb2RpbmcsIGV0YykuICAKKiBtb3JlIG9wZW4gQVBJICh5b3UgY2FuIHdyaXRlIG1h
Y2hpbmVzIGluIEMgb3IgQysrLCB3aGVyZWFzIEJ1enogcmVxdWlyZXMgYSBDKysKICBjb21w
aWxlciBmcm9tIGEgcGFydGljdWxhciB2ZW5kb3IuKSAgCiogYnVpbHQgb24gb3BlbiBzdGFu
ZGFyZHM6IE9TUy9GcmVlLCB0aGUgR05VIGRldmVsb3BtZW50IHN1aXRlLCBhbmQgc28gb24g
Ciogbm90IGhpbmRlcmVkIGJ5IGJpbmFyeSBjb21wYXRpYmlsaXR5IGlzc3VlcwoqIGl0J3Mg
R05VIDotKQoKSSBob3BlIHRoYXQgd2UgY2FuIGFsc28gYnVpbGQgYSBmcmVlIGxpYnJhcnkg
b2YgbWFjaGluZXMgdG8gcml2YWwgdGhhdAphdmFpbGFibGUgZm9yIEJ1enouIFRvd2FyZCB0
aGF0IGVuZCwgSSBoYXZlIGJlZW4gaW4gdG91Y2ggd2l0aApBcmd1ZWxsZXMgUml1cywgd2hv
IGhhcyB3cml0dGVuIG1hbnkgcG9wdWxhciBCdXp6IG1hY2hpbmVzLiBJbgphZGRpdGlvbiwg
TWF0dCBTdGFudG9uICh0aGUgIlBSIGd1eSIpIGhhcyBiZWVuIGluIHRvdWNoIHdpdGggc29t
ZSBtb3JlCnBlb3BsZSBhYm91dCBzaW1pbGFyIHBvcnRzLgoKVGhlIGhvbWUgcGFnZSBmb3Ig
T0NUQUwgaXMgYXQgaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL29jdGFsLiBCeQp0aGUg
dGltZSB5b3UgcmVhZCB0aGlzLCB0aGUgY3VycmVudCBzb3VyY2UgY29kZSBwYWNrYWdlIGFu
ZCBBUEkgZG9jcwpzaG91bGQgYmUgYXZhaWxhYmxlIGF0IGZ0cDovL2FscGhhLmdudS5vcmcK
ClNUQVRVUwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVGhlIGRl
c2lnbiB3YXMgd29ya2VkIG91dCBpbiB0aGUgbGF0dGVyIGhhbGYgb2YgMTk5OSwgYW5kIGNv
ZGluZyBiZWdhbgpzaG9ydGx5IGFmdGVyIHRoZSBOZXcgWWVhciwgMjAwMC4gVGhlIGNvcmUg
aXMgZnVuY3Rpb25hbCBidXQgY3VycmVudGx5CmluY29tcGxldGUsIGFuZCBpcyBpbiBhbiBh
bHBoYSBzdGFnZS4KCldoYXQgd29ya3Mgbm93OgoKKiBPU1Mgb3V0cHV0IChub3QgeWV0IGxv
dy1sYXRlbmN5IGJ1dCB0aGlzIGlzIGJlaW5nIHdvcmtlZCBvbikKKiBCbG9jay1vcmllbnRl
ZCBvdXRwdXQgYW5kIGdlbmVyYXRpb24gTW9zdCBvZiB0aGUgTWFjaGluZSBBUEksIHdpdGgK
ICBkb2N1bWVudGF0aW9uLiAgQSBzcXVhcmUtd2F2ZSBnZW5lcmF0b3IgcGx1Z2luLiBUaGlz
IGlzIG1vc3RseQogIGludGVuZGVkIGFzIGFuIGV4YW1wbGUgb2YgdGhlIHBsdWdpbiBBUEks
IHRvIHNob3cgb3RoZXJzIGhvdyB0byB1c2UKICBpdCB0byBjcmVhdGUgbWFjaGluZXMuICAK
KiBTaGFyZWQtb2JqZWN0IGxvYWRpbmcgZm9yIHBsdWdpbnMgKHRoaXMgZmFsbHMgdW5kZXIg
dGhlIE1hY2hpbmUgQVBJLikKCldoYXQgaXMgc3RpbGwgYmVpbmcgd29ya2VkIG9uOgoKICAq
IFRoZSBwYXR0ZXJuIHN5c3RlbSAob3IgInNlcXVlbmNlci4iKSBMaWtlIGFsbCB0cmFja2Vy
cywgdGhpcyB3aWxsIGJlCmRvbmUgd2l0aCBzdGVwLXNlcXVlbmNpbmcsIHNvIHRoaXMgd2ls
bCBsaWtlbHkgYmUgc29tZXdoYXQgc2ltcGxlLiBJCmFscmVhZHkgd3JvdGUgb25lIHZlcnNp
b24sIGJ1dCBJIHJlZGVzaWduZWQgaXQgYW5kIGhhdmUgc3RhcnRlZCBvdmVyLgogICogVGhl
IHNpZ25hbCBuZXR3b3JrIGNvbm5lY3RpbmcgbWFjaGluZXMgdG9nZXRoZXIgYW5kIGRyaXZp
bmcgdGhlIG1haW4KY29tcHV0YXRpb24uIFRoZSBhbGdvcml0aG1zIGFuZCBzdWNoIGhhdmUg
YWxyZWFkeSBiZWVuIHdvcmtlZCBvdXQgZm9yCnRoaXMuCiAgKiBVc2VyIGludGVyZmFjZSAo
dXNpbmcgR1RLKykuIFRoaXMgd2lsbCBmb2xsb3cgdGhlIEdJTVAgYW5kIEdOVSBEaWEsCndo
aWNoIGhhdmUgYSB0b29sYm94IGFuZCBzZXBhcmF0ZSB0b3AtbGV2ZWwgZG9jdW1lbnQgd2lu
ZG93cyB3aGljaCBjYW4KYmUgYXJyYW5nZWQgYXMgeW91IHBsZWFzZS4gWW91IGNhbiBoYXZl
IGEgcGF0dGVybiBlZGl0b3Igd2luZG93LCBhCm1hY2hpbmUtZGlhZ3JhbSB3aW5kb3csIGEg
bWFzdGVyIHNlcXVlbmNlIHdpbmRvdywgZXRjZXRlcmEuIChUaGFua3MgdG8KTWF0dGhldyBJ
dGtpbiBmb3IgdGhpcyBpZGVhLikKICBpbnRlcm5hbCB3YXZldGFibGUgYW5kIHJlc2FtcGxl
ciBlbmdpbmUKClRoZXNlIHJlbWFpbmluZyBjb21wb25lbnRzLCB3aXRoIHRoZSBleGNlcHRp
b24gb2YgdGhlIEdVSSwgc2hvdWxkIGJlCmZpbmlzaGVkIGJlZm9yZSB0b28gbG9uZy4gR1VJ
IGNvZGluZyB3aWxsIGJlIGRvbmUgaW4gdGhlIEMgbGFuZ3VhZ2UuCgpQSElMT1NPUEhZCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVGhpcyBwcm9qZWN0IGZv
bGxvd3MgdGhlICJrZWVwIGl0IHNpbXBsZSIgVU5JWCBhcHByb2FjaC4gSXQgaXMgaW4Ka2Vl
cGluZyB3aXRoIGJvdGggdGhlIFVOSVggd2F5LCBhbmQgKHNvbWV3aGF0KSB3aXRoIHRoZSB0
cmFja2luZwp3b3JsZCdzIHRyYWRpdGlvbmFsIGFwcHJvYWNoIHRvIHNvZnR3YXJlIGRlc2ln
bi4KCk9uZSB3YXkgdG8gcmVhZCB0aGlzIGlzIHRoYXQgc29tZSBmZWF0dXJlcyBhcmUgYmV0
dGVyIGltcGxlbWVudGVkIGFzCnNlcGFyYXRlIHByb2dyYW1zIHJhdGhlciB0aGFuIGV4cGFu
ZGluZyB0aGUgY29yZSBpdHNlbGYuIEZvciBleGFtcGxlLAppdCBoYXMgYmVlbiBzdWdnZXN0
ZWQgdGhhdCBPQ1RBTCBhZGQgaW50ZXJuYWwgc3VwcG9ydCBmb3IgY29tcHJlc3NlZApzYW1w
bGUgZm9ybWF0cy4gKFNvbWV0aW1lcyBNUDMgaXMgc3VnZ2VzdGVkLCBidXQgdGhpcyB3b3Vs
ZG4ndCB3b3JrCmR1ZSB0byB0aGUgd2F5IGl0IHN0b3JlcyBkYXRhLikKClRoaXMgbWlnaHQg
YmUgdXNlZnVsIGZvciBkaXN0cmlidXRpbmcgc29uZyBmaWxlcyBpbiB0aGVpciBuYXRpdmUK
Zm9ybWF0LS1zaG9ydGVyIGRvd25sb2FkIHRpbWVzLCBhbmQgdGhlIGxpa2UuIEJ1dCB0aGlz
IGlzIGJldHRlcgppbXBsZW1lbnRlZCBhcyBhIHNlcGFyYXRlIGNvbXByZXNzb3IgcHJvZ3Jh
bSwgdGFraW5nIGEgbm9ybWFsCnVuY29tcHJlc3NlZCBPQ1RBTCBzb25nIGFzIGl0cyBpbnB1
dCwgYW5kIGNyZWF0aW5nIGEgY29tcHJlc3NlZAp2ZXJzaW9uLiAoU29tZXRoaW5nIGxpa2Ug
Z3ppcCwgYnV0IGJldHRlciBvcHRpbWl6ZWQgZm9yIGF1ZGlvLikgVGhpcwp3YXkgdGhlIGNv
cmUgY29kZSBzdGF5cyBzaW1wbGUgYW5kIHVuY2x1dHRlcmVkLgoKSSBoYXZlIGEgc2ltaWxh
ciBvcGluaW9uIGFib3V0IHRoZSB3YXZlIGVkaXRvcjsgaXQgbWF5IG5vdCBiZSB0aGUgYmVz
dAp1c2Ugb2Ygb3VyIHRpbWUgdG8gd3JpdGUgb25lIGZyb20gc2NyYXRjaCwgYWx0aG91Z2gg
dGhlcmUgaXMgbm8gcmVhc29uCnRvIHJ1bGUgaXQgb3V0IHNob3VsZCB0aGUgbmVlZCBhcmlz
ZS4gV2hhdCBtaWdodCBiZSBiZXR0ZXIgaXMgdG8gc3RhcnQKd29ya2luZyB3aXRoIG9uZSBv
ZiB0aGUgZXhpc3RpbmcgVU5JWCB3YXZlIGVkaXRvciBwcm9qZWN0cy4gSG93ZXZlciwKaWYg
bm9uZSBvZiB0aGVtIHByb3ZlIHNhdGlzZmFjdG9yeSwgcGVyaGFwcyBpdCBtaWdodCBiZSBw
cnVkZW50IHRvCnN0YXJ0IGEgd2F2ZSBlZGl0b3IgZ29pbmcgYXQgR05VIGFzIHBhcnQgb2Yg
dGhlIE9DVEFMIHByb2plY3QuIChUaGlzCndhcyBpbnRlbmRlZCBvcmlnaW5hbGx5IHRvIGJl
IGEgc3VpdGUgb2YgcmVsYXRlZCBidXQgaW5kZXBlbmRlbnQKcHJvZ3JhbXMsIHN1Y2ggYXMg
YSB0cmFja2VyIGFuZCB3YXZlIGVkaXRvci4pCgpTQ09QRQotLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KClNvbWUgbGltaXRzIG11c3QgYmUgZHJhd24gaWYgdGhl
IHByb2plY3QgaXMgdG8gcmVhY2ggaXRzIGdvYWxzLiBPQ1RBTAppcyBub3QgYSBjb21waWxl
ciBmb3IgYSBsb3ctbGV2ZWwgRFNQIGxhbmd1YWdlIGxpa2UgQ1NvdW5kLCBub3IgaXMgaXQK
YSB2aXN1YWwgcHJvZ3JhbW1pbmcgdG9vbC4gSXQgaXMgYSBmcmVlLCBzdGVwLXNlcXVlbmNl
ZCwKcGx1Z2luLW9yaWVudGVkLCB1bml0LWdlbmVyYXRvci1iYXNlZCB0cmFja2luZyBzeXN0
ZW0gZm9yIGVsZWN0cm9uaWMKbXVzaWNpYW5zLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQoKVGhhbmsgeW91LiBJIGxvb2sgZm9yd2FyZCB0byB0YWxraW5nL3dvcmtpbmcgd2l0aCB5
b3UgaW4gdGhlIGNvbWluZwptb250aHMgYXMgT0NUQUwgbW92ZXMgdG93YXJkIGNvbXBsZXRp
b24sIGFuZCBhZnRlcndhcmQgYXMgdGhlIGxpYnJhcnkKb2YgbWFjaGluZXMgKGhvcGVmdWxs
eSkgZ3Jvd3MgYW5kIG11c2ljIGlzIHJlbGVhc2VkLgoKQ2hlY2sgb3V0IHRoZSBHTlUgVHJh
Y2tlciBNYWNoaW5lIEFQSSAodGVudGF0aXZlIG5hbWUpIGF0CmZ0cDovL2FscGhhLmdudS5v
cmcKXGVuZHt2ZXJiYXRpbX0KCiAgClx0d29jb2x1bW4KXHNlY3Rpb257QW4gZWFybHkge1x0
dCBPQ1RBTH0gYXJ0aWNsZX0KClxlZGl0b3Jzbm90ZXtUaGlzIGFydGljbGUgd2FzIGZpcnN0
IHB1Ymxpc2hlZCBhcyBhIGZlYXR1cmUgb24gQ3JlYXRpdmVMaW51eC5jb20gaW4gbGF0ZSAx
OTk5LiBJdCBpcyByZXByb2R1Y2VkIGhlcmUgYnkgcGVybWlzc2lvbiBvZiB0aGUgYXV0aG9y
Ln0KCkdOVSBPQ1RBTCBpcyBhbiB1cGNvbWluZyBtdXNpYyB0cmFja2VyLXdvcmtzdGF0aW9u
IGZyb20gdGhlIHdvcmxkd2lkZQpHTlUgUHJvamVjdC4gSW4gdGhpcyBhcnRpY2xlLCBJJ2xs
IGdpdmUgc29tZSBoaXN0b3JpY2FsIGJhY2tncm91bmQgb24KdHJhY2tpbmcgYW5kIGhvdyBp
dCdzIGRldmVsb3BlZCBvdmVyIHRoZSB5ZWFycywgdXAgdG8gYW4gZXhwbGFuYXRpb24Kb2Yg
d2hlcmUgaXQgc3RhbmRzIHRvZGF5LiBUaGVuIEknbGwgZGlzY3VzcyBob3cgdGhlc2UgaWRl
YXMgYXBwbHkgdG8KdGhlIE9DVEFMIHByb2plY3QuCgpcc2VjdGlvbip7V2hhdCBpcyBpdD99
ClRyYWNraW5nIGlzIGEgc29mdHdhcmUtYmFzZWQgbXVzaWMgY29tcG9zaXRpb24gYW5kIHBy
b2R1Y3Rpb24gdG9vbC4gV2l0aCB0b2RheSdzIHByb2Nlc3NpbmcgcG93ZXIgYXQgb3VyIGRp
c3Bvc2FsLCB0cmFja2luZyByZXByZXNlbnRzIGEgdmlicmFudCBhbmQgZmxleGlibGUgYWx0
ZXJuYXRpdmUgdG8gTUlESSBmb3IgY29tcG9zaW5nIGFuZCBwZXJmb3JtaW5nIG11c2ljIHdp
dGggYSBjb21wdXRlci4KCkF0IGl0cyBzaW1wbGVzdCwgdHJhY2tpbmcgaXMgYmFzZWQgb24g
dGhlIHNhbXBsZSwgYSBkaWdpdGl6ZWQKcmVjb3JkaW5nIG9mIGEgcmVhbCBvciBzeW50aGVz
aXplZCBzb3VuZC4gQnkgcGxheWluZyB0aGUgd2F2ZXMgYXQKZGlmZmVyZW50IHNwZWVkcywg
b25lIHdhdmUgY2FuIGJlY29tZSBhIHdob2xlIHNlY3Rpb24gb2YgdGhlIG11c2ljYWwKa2V5
Ym9hcmQuIEJ5IHBsYXlpbmcgYSB0aW1lZCBzZXF1ZW5jZSBvZiB3YXZlIGV2ZW50cywgeW91
IGNyZWF0ZSBhCm1lbG9keTsgcnVubmluZyBtYW55IHdhdmVzIGF0IG9uY2UgY2FuIGNyZWF0
ZSBhIGZ1bGwgbXVzaWNhbAphcnJhbmdlbWVudC4gVGhlbiB5b3UgY2FuIGFkZCBlZmZlY3Rz
LCB0ZW1wbyBjaGFuZ2VzLCBkcnVtIHRyYWNrcywgb3IKYW55dGhpbmcgZWxzZSB5b3UgcGxl
YXNlLgoKTm93IGEgYml0IG9mIGhpc3RvcmljYWwgY29udGV4dC4gQSBtYW4gbmFtZWQgS2Fy
c3RlbiBPYmFyc2tpIHdyb3RlIHRoZQpvcmlnaW5hbCB0cmFja2VyIGFwcGxpY2F0aW9uIGZv
ciB0aGUgQW1pZ2EgY29tcHV0ZXIgYmFjayBpbiB0aGUKODAncy4gSGUgdG9vayBhZHZhbnRh
Z2Ugb2YgdGhlIEFtaWdhJ3MgYWR2YW5jZWQgbXVsdGltZWRpYSBoYXJkd2FyZSB0bwphY2Nv
bXBsaXNoIHRoZSB0aGVuLWRpZmZpY3VsdCB0YXNrIG9mIG1peGluZyBhbGwgdGhvc2Ugc2Ft
cGxlcyBpbiByZWFsCnRpbWUuIEhpcyBlZmZvcnQgcGFpZCBvZmY6IHRyYWNraW5nJ3Mgc3Bl
ZWQsIHVuaXF1ZW5lc3MsIGVhc2Ugb2YgdXNlLAphbmQgc291bmQgcXVhbGl0eSB0b3VjaGVk
IG9mZiBhIHdvcmxkd2lkZSB0cmFja2luZyBjcmF6ZSB0aGF0IHF1aWNrbHkKc3ByZWFkIHRv
IG90aGVyIHBsYXRmb3JtcywgYW5kIHNob3dzIG5vIHNpZ25zIG9mIHN0b3BwaW5nCnRvZGF5
LiBUcmFja2VyIG11c2ljaWFucyAobGlrZSBteXNlbGYpIGxpdmUgYWxsIG92ZXIgdGhlIHdv
cmxkIGFuZApjb21lIGZyb20gYSB2YXJpZXR5IG9mIG11c2ljYWwgYmFja2dyb3VuZHMuCgpU
aGUgdGVjaG5vbG9neSBoYXMgY29tZSBhIGxvbmcgd2F5IGFzIGhvbWUgQ1BVIHNwZWVkcyBn
ZXQgZmFzdGVyIGFuZApmYXN0ZXIuIEVhcmx5IE1PRHMgaGFkIG9ubHkgNCBjaGFubmVscyBv
ZiBwb2x5cGhvbnksIGFzIGRpY3RhdGVkIGJ5CnRoZSBBbWlnYSdzIGhhcmR3YXJlLiBCdXQg
bW9zdCBtb2Rlcm4gdHJhY2tlciBwcm9ncmFtcyBhcmUgbGltaXRlZApvbmx5IGJ5IHByb2Nl
c3Npbmcgc3BlZWQuCgpQZXJoYXBzIG9uZSBvZiB0aGUgbW9zdCBpbm5vdmF0aXZlIHRoaW5n
cyBhYm91dCB0cmFja2luZyBpcyBpdHMKc3RyaXBwZWQtZG93biwgbWluaW1hbGlzdCBpbnRl
cmZhY2UtLWEgcmVzcG9uc2UgdG8gdGhlIGNoYW5naW5nIG5lZWRzCm9mIHRoZSBlbGVjdHJv
bmljIG11c2ljaWFuLiBTaW5jZSBtb2Rlcm4gZWxlY3Ryb25pYyBjb21wb3NpdGlvbiBvZmZl
cnMKc28gbXVjaCBtb3JlIGluIHRoZSB3YXkgb2YgY29udHJvbCBhbmQgYXJ0aWN1bGF0aW9u
LCBvcmRpbmFyeSBtdXNpY2FsCm5vdGF0aW9uIGlzIGJlY29taW5nIGluYWRlcXVhdGUuIFRo
ZSBoYWxsbWFyayBvZiBhIHRyYWNrZXIgaXMgdGhlCnNpbXBsZSwgc3ByZWFkc2hlZXQtbGlr
ZSBncmlkIHdoaWNoIGFycmFuZ2VzIHRoZSBzZXF1ZW5jZSBkYXRhLiBZb3VyCm5vdGVzIGFu
ZCBtZWxvZGllcyBhcmUgbnVtYmVycyBhbmQgbGV0dGVyczsgdGhleSBydW4gZG93biB0aGUg
c2NyZWVuCmluc3RlYWQgb2YgYWNyb3NzIGxpa2Ugb3JkaW5hcnkgbXVzaWNhbCBub3RhdGlv
bi4KCllvdSBtYXkgYWxyZWFkeSBiZSBhd2FyZSB0aGF0IE1JREkgZmlsZXMgcmVjb3JkIG9u
bHkgdGhlIHNlcXVlbmNlczsKdGhleSBkb24ndCBpbmNsdWRlIHNhbXBsZSBkYXRhLiBXaGls
ZSB0aGlzIGFwcHJvYWNoIHRlbmRzIHRvIHByb2R1Y2UKc21hbGwgc29uZyBmaWxlcywgaXQg
aGFzIGEgc2VyaW91cyBkcmF3YmFjazogYWNjdXJhdGUgcGxheWJhY2sgb2YgdGhlCnNvbmcg
cmVxdWlyZXMgdGhlIHVzZSBvZiBlcXVpcG1lbnQgaGF2aW5nIHRoZSBzYW1lIHNvdW5kcyBh
bmQgdGhlIHNhbWUKY29udHJvbHMuIFRoaXMgaXMgdGhlIHJlYXNvbiBmb3Igc3RhbmRhcmRz
IGxpa2UgR2VuZXJhbCBNSURJIGFuZApZYW1haGEncyBYRywgd2hpY2ggYXR0ZW1wdCB0byBw
cm92aWRlIGEgdW5pZm9ybSBzZXQgb2YgaW5zdHJ1bWVudApwYXRjaGVzIGFjcm9zcyBhIHdp
ZGUgcmFuZ2Ugb2YgaGFyZHdhcmUuIEJ1dCBpdCdzIGEgc3RvcGdhcCBzb2x1dGlvbjsKdGhv
c2UgMTI4IEdlbmVyYWwgTUlESSBpbnN0cnVtZW50cyBhY3QgYW5kIHNvdW5kIGRpZmZlcmVu
dCBvbgpkaWZmZXJlbnQgaGFyZHdhcmUgYW55d2F5LCBhbmQgdGhlIGltcGxlbWVudGF0aW9u
cyB2YXJ5IHdpZGVseSBpbgpxdWFsaXR5LiBQZXJoYXBzIHRoZSB3b3JzdCBsaW1pdGF0aW9u
IG9mIHN0YW5kYXJkcyBsaWtlIEdlbmVyYWwgTUlESQppcyB0aGF0IHlvdSBhcmUgbGltaXRl
ZCB0byBpdHMgc291bmQtc2V0IGlmIHlvdSB3YW50IHRoZSBwb3J0YWJpbGl0eS4KClRyYWNr
aW5nIGF2b2lkcyB0aGVzZSBkcmF3YmFja3MgYnkgZW1iZWRkaW5nIHRoZSBhY3R1YWwgc291
bmRzIGFuZApzYW1wbGVzIGludG8gdGhlIHNvbmcgZmlsZS4gQmVjYXVzZSB0cmFja2luZyBw
YWNrYWdlcyB1cCBib3RoIHRoZQpzZXF1ZW5jZXMgYW5kIHRoZSB3YXZlIHNvdW5kcywgZWFy
bHkgdHJhY2tlciBzb25ncyB3ZXJlIGNhbGxlZAoibW9kdWxlcywiIGFuZCB3ZXJlIHN1ZmZp
eGVkICIuTU9EIi4gKFRoZSBzdWZmaXhlcyBjaGFuZ2VkIG92ZXIgdGltZSwKYnV0IGlmIHlv
dSBsb29rIGludG8gdGhlIHRyYWNraW5nIHNjZW5lIHlvdSdsbCBzdGlsbCBoZWFyIHRlcm1z
IGxpa2UKTU9EIG11c2ljLCBtb2R1bGUgZm9ybWF0cywgYW5kIE1PRCB0cmFja2VycyBiZWlu
ZyB1c2VkLikgT2YKY291cnNlLCBkb2luZyBpdCB0aGlzIHdheSBpbnRyb2R1Y2VzIGRyYXdi
YWNrcyBvZiBpdHMgb3duLiBNeSBzb25nCmZpbGVzIGFyZSByb3V0aW5lbHkgdGVuIG1lZ2Fi
eXRlcyBkdWUgdG8gYWxsIHRoZSBzYW1wbGVzIGluc2lkZS0tbm90CmV4YWN0bHkgY29uZHVj
aXZlIHRvIGVhc3kgbmV0IGRpc3RyaWJ1dGlvbi4KClRoZXNlIHByb2JsZW1zIGFyZSBtaXRp
Z2F0ZWQgYnkgdGVjaG5vbG9naWVzIGxpa2UgTVAzLCBhbHJlYWR5IGFuCm92ZXJuaWdodCB1
bml2ZXJzYWwgc3RhbmRhcmQgZm9yIGRpc3RyaWJ1dGluZyBhbmQgc2hhcmluZyBtdXNpYy4g
Tm93CnRyYWNraW5nIGNhbiBmb2N1cyBvbiBob21lIGFuZCBzdHVkaW8gcmVjb3JkaW5nLCB3
aXRob3V0IGhhdmluZyB0bwp3b3JyeSBhYm91dCBmaWxlIHNpemVzIG9yIHNhbXBsZSBxdWFs
aXR5LgoKXHNlY3Rpb24qe1N0YXRlIG9mIHRoZSBUZWNobm9sb2d5fQoKSW4gdGhlIHBhc3Qg
ZmV3IHllYXJzLCB0aGUgdHJhY2tpbmcgbWV0YXBob3IgaGFzIGJlZW4gZXh0ZW5kZWQgd2l0
aAppZGVhcyBmcm9tIHRoZSBoaWdoLWVuZCBhdWRpbyB3b3JsZC4gVHJhZGl0aW9uYWwgdHJh
Y2tlcnMgYXJyYW5nZQpzb25ncyBpbnRvIGEgbnVtYmVyIG9mIGRpc2NyZXRlIGJ1dCBmdW5j
dGlvbmFsbHkgaWRlbnRpY2FsIGNoYW5uZWxzLAplYWNoIG9mIHdoaWNoIGNhbiBwbGF5IG9u
ZSBzYW1wbGUuIE5vdyBhbiBhbHRlcm5hdGl2ZSBzdHlsZSBvZgp0cmFja2luZyBoYXMgZW1l
cmdlZC4gVGhlIG5ldyBtb2R1bGFyIHRyYWNraW5nIGluY29ycG9yYXRlcwpzb2Z0d2FyZSBh
dWRpbyBwbHVnaW5zIGFuZCB1bml0IGdlbmVyYXRvcnMgdG8gY3JlYXRlIGEKbW9yZSBwb3dl
cmZ1bCBzeXN0ZW0uCgpNb2R1bGFyIHRyYWNraW5nIHZpZXdzIHRoaW5ncyBpbiBtb3JlIGFi
c3RyYWN0IHRlcm1zLiBJbnN0ZWFkIG9mCm9uZSB3YXZlIGF0IGEgdGltZSwgcGVyIGNoYW5u
ZWwgKHdpdGggZWFjaCBjaGFubmVsIGhhdmluZyBvbmUgZWZmZWN0CmFwcGxpZWQgdG8gaXQp
LCBtb2Rlcm4gdHJhY2tlcnMgaGF2ZSAibWFjaGluZXMiIChjbGFzc2ljYWxseSBjYWxsZWQK
InVuaXQgZ2VuZXJhdG9ycyIpIHRoYXQgZ2VuZXJhdGUgb3IgcHJvY2VzcyBzb3VuZCBzaWdu
YWxzLiBNYWNoaW5lcwphcmUgdXN1YWxseSBkaXZpZGVkIGludG8gc2V2ZXJhbCB0eXBlcywg
bGlrZSBnZW5lcmF0b3JzIGFuZAplZmZlY3RzLiBHZW5lcmF0b3JzIGFyZSB0aGUgc291cmNl
cyBvZiBzb3VuZCBpbiB0aGUgc3lzdGVtOwp0aGV5IGVtaXQgYSBzb3VuZCBzaWduYWwgYmFz
ZWQgb24gZXZlbnQgaW5wdXRzLCBsaWtlIG5vdGVzIGFuZCB2b2x1bWVzCmFuZCBmcmVxdWVu
Y3kgY3V0b2Zmcy4gVGhpcyBzaWduYWwgY2FuIGVpdGhlciBiZSBwbGF5ZWQgZGlyZWN0bHks
IG9yCnJvdXRlZCB0aHJvdWdoIGVmZmVjdHMgdGhhdCBwcm9jZXNzIHRoZSBzb3VuZCB0byBh
ZGQgZWNobywKcmV2ZXJiLCBvciBjaG9ydXMuCgpUaGUgYnJlYWt0aHJvdWdoIGhlcmUgaXMg
dGhhdCB0aGUgZWZmaWNpZW50IHRyYWNrZXItc3R5bGUgaW50ZXJmYWNlCm5vdyBleHRlbmRz
IHRvIG90aGVyIG1ldGhvZHMgb2Ygc291bmQgZ2VuZXJhdGlvbi4gSW4KdW5pdC1nZW5lcmF0
b3ItYmFzZWQgdHJhY2tpbmcgc3lzdGVtcywgYSBtYWNoaW5lIG1heSBiZSBhIHRyYWRpdGlv
bmFsCiJ0cmFja2VyIiBzYW1wbGUgcGxheWVyLCBhIHNvZnR3YXJlIHN5bnRoZXNpemVyLCBh
IHBpdGNoc2hpZnRlciwgYW4KZWNoby1kZWxheS4uLiBhbGwgYXJlIHNlcXVlbmNlZCB0aHJv
dWdoIGEgc2ltaWxhciBpbnRlcmZhY2UuCgpCeSBjb25uZWN0aW5nIGdyb3VwcyBvZiB0aGVz
ZSBtYWNoaW5lcyBpbnRvIHNpZ25hbCBjaGFpbnMsIHRoZQpvdXRwdXQgb2YgZWFjaCBvZiB3
aGljaCBjYW4gYmUgZHluYW1pY2FsbHkgcG9zaXRpb25lZCBpbiB0aGUgZmluYWwKbWl4LCB0
aGUgb3B0aW9ucyBmb3Igc291bmQgZ2VuZXJhdGlvbiBhcmUgaW5jcmVhc2VkLiBJbiBhZGRp
dGlvbiwgaWYKdGhlc2UgbWFjaGluZXMgYXJlIGltcGxlbWVudGVkIGFzIHNtYWxsIHNvZnR3
YXJlIHBsdWctaW5zLCBkZXZlbG9wZXJzCmFuZCB1c2VycyBjYW4gYWRkIHNvdW5kLXByb2Nl
c3NpbmcgYWJpbGl0aWVzIGF0IGFueSB0aW1lLCBkeW5hbWljYWxseSwKd2l0aG91dCBoYXZp
bmcgdG8gcmUtY29tcGlsZSBvciB1cGdyYWRlIHRoZSBzeXN0ZW0uCgpBbm90aGVyIGJlbmVm
aXQgb2YgdXNpbmcgdGhlIHRyYWNraW5nLXN0eWxlIGludGVyZmFjZSB3aXRoIHVuaXQKZ2Vu
ZXJhdG9ycyBpcyB0aGF0IGl0IGFsbG93cyB1cyB0byBhdm9pZCB0aGUgcGVyc2lzdGVudCB1
c2FiaWxpdHkKcHJvYmxlbXMgd2hpY2ggaGF2ZSBwbGFndWVkIHVuaXQtZ2VuZXJhdG9yLWJh
c2VkICJ2aXN1YWwgYXVkaW8KbGFuZ3VhZ2UiIGFwcGxpY2F0aW9ucy4gVGhvc2UgdGVuZCB0
byB1c2Ugc21hbGwgYXVkaW8gcHJpbWl0aXZlcyAobGlrZQpyZXNhbXBsZXJzLCBjbG9ja3Ms
IGFuZCBtdWx0aXBsaWVycykgYXMgdGhlaXIgdW5pdHMsIHNvIHRoZSBtdXNpY2lhbgptdXN0
IGNvbm5lY3QgbWFueSBvYmplY3RzIHRvIGdldCB1c2VmdWwgd29yayBkb25lLiBTaW5jZSB0
aGUgInVuaXRzIgppbiBPQ1RBTCB3aWxsIGJlIGNvbXBsZXRlLCBoaWdoLWxldmVsIG9iamVj
dHMgbGlrZSB0cmFja2VycyBhbmQKc29mdHN5bnRocyBhbmQgZWZmZWN0cywgd2UgY2FuIGFj
Y29tcGxpc2ggYSBncmVhdCBkZWFsIHdpdGggZmV3Cm9iamVjdHMgYW5kIHdpdGhvdXQgbWFr
aW5nIHRoZSBtdXNpY2lhbiBkbyB1bm5lY2Vzc2FyeQpwcm9ncmFtbWluZy4gVGhpcyBhcHBy
b2FjaCBpcyBpbiBrZWVwaW5nIHdpdGggdHJhY2tpbmcncyB0cmFkaXRpb25hbAplY29ub215
IG9mIGV4cHJlc3Npb24gYW5kIHJhcGlkIHJlYWxpemF0aW9uIG9mIG11c2ljYWwgaWRlYXMu
CgpBIHBvcHVsYXIgaW1wbGVtZW50YXRpb24gb2YgdW5pdC1nZW5lcmF0b3ItYmFzZWQgdHJh
Y2tpbmcgaXMgdGhlCmNsb3NlZC1zb3VyY2UgV2luZG93cyBwcm9ncmFtIHtcdHQgQnV6ei59
IFRoaXMgcHJvZ3JhbSBpcywgaW4gcGFydCwgYW4KaW5zcGlyYXRpb24gZm9yIE9DVEFMLgoK
XHNlY3Rpb24qe0ZlYXR1cmVzfQoKR05VIE9DVEFMIGlzIGEgcHJvamVjdCB0byBpbXBsZW1l
bnQgdGhlc2Ugc2ltcGxlLCBwb3dlcmZ1bCBpZGVhcyBpbiBhCnByb2Zlc3Npb25hbC1xdWFs
aXR5IHRyYWNrZXIgZm9yIFVOSVggYW5kIHRoZSBYIFdpbmRvdyBTeXN0ZW0uIEhlcmUncwph
IHF1aWNrIHN1bW1hcnkgb2YgaXRzIHBsYW5uZWQgZmVhdHVyZXM6IAoKXGJlZ2lue2Rlc2Ny
aXB0aW9ufQpcaXRlbVtUcmFja2VyLXN0eWxlIHNlcXVlbmNpbmcuXSBMaWtlIGNsYXNzaWMg
dHJhY2tlcnMsIE9DVEFMCmFycmFuZ2VzIG11c2ljYWwgc2VxdWVuY2UgZGF0YSBpbiBhIGdy
aWQsIHNpbWlsYXIgdG8gYSBzcHJlYWRzaGVldC4KXGl0ZW1bQXVkaW8gcGx1Z2lucy5dIEZv
ciB0aGUgZGlzY3JldGUsIHVuaWZvcm0gc2V0IG9mIGNoYW5uZWxzIGluCnRyYWRpdGlvbmFs
IHRyYWNraW5nIHRlY2huaXF1ZXMsIHRoZSBuZXcgbW9kdWxhciB0cmFja2luZwpzdWJzdGl0
dXRlcyBhIGRpdmVyc2UgYW5kIGV4cGFuZGluZyBzZXQgb2YgYXVkaW8gcGx1Z2lucy4gTmV3
IHNvdW5kCmdlbmVyYXRpb24gYW5kIHByb2Nlc3NpbmcgY2FwYWJpbGl0aWVzIGNhbiBiZSBh
ZGRlZCBkeW5hbWljYWxseSBhcyBuZXcKcGx1Z2lucyBhcmUgd3JpdHRlbi4gIApcaXRlbVtV
bml0LWdlbmVyYXRvcnMuXSBTaW5jZSB0aGUgcGx1Z2lucwpnZW5lcmF0ZSBhbmQgcHJvY2Vz
cyBzb3VuZCBzdHJlYW1zLCBpdCdzIHVzZWZ1bCB0byByb3V0ZSB0aGUgb3V0cHV0IG9mCm9u
ZSBvciBtb3JlIHVuaXRzIHRvIHRoZSBpbnB1dHMgb2Ygb3RoZXIgdW5pdHMuIEZvciBleGFt
cGxlLCB5b3UgY2FuCnJvdXRlIHRoZSBvdXRwdXQgb2YgYSBzb2Z0c3ludGgtdHJhY2tlciBw
bHVnaW4gdGhyb3VnaCBhIGNob3J1cywgb3IgYQpkZWxheSwgb3IgYSByZXZlcmIsIG9yIGFs
bCBvZiB0aGUgYWJvdmUuIFNvZnR3YXJlIHN5bnRoZXNpcwphbmQgc2FtcGxpbmcuIFVubGlr
ZSB0cmFkaXRpb25hbCB0cmFja2VycywgeW91IGNhbiBzZXF1ZW5jZSBmb3IKc29mdHdhcmUg
c3ludGhlc2l6ZXJzIGFzIGVhc2lseSBhcyBmb3Igc2FtcGxlLWJhc2VkCmluc3RydW1lbnRz
LiBTcGVha2luZyBvZiB3aGljaCwgT0NUQUwgd2lsbCBwcm92aWRlIGEgYnVpbHQtaW4Kd2F2
ZXRhYmxlIHRvIHByb3ZpZGUgc2FtcGxpbmcgc3VwcG9ydCBmb3IgdGhlIHN5c3RlbS4KXGVu
ZHtkZXNjcmlwdGlvbn0KClxzZWN0aW9uKntUaGUgR05VL0xpbnV4IEFkdmFudGFnZX0gSSBi
ZWxpZXZlIHRoYXQgdGhlIEdOVSBzeXN0ZW0KYW5kIGZyZWUgc29mdHdhcmUgYXJlIGdvb2Qg
Zm9yIGFydCBhbmQgYXJ0aXN0cy4gR05VL0xpbnV4IHByb3ZpZGVzCnByYWN0aWNhbCBhZHZh
bnRhZ2VzOiB5b3UgZ2V0IGEgZmFzdCwgc3RhYmxlIG9wZXJhdGluZyBzeXN0ZW0gd2hpY2gK
Y2FuIHN1cHBvcnQgbGl2ZSBwZXJmb3JtYW5jZQ0gd2l0aCBsZXNzIGRhbmdlciBvZiBjcmFz
aGluZy4gUGx1cywgdGhlCmxpbnV4IHVzZXIgYmVjb21lcyBwYXJ0IG9mIGFuIGVkdWNhdGVk
LCBkaXZlcnNlLCB3b3JsZHdpZGUgY29tbXVuaXR5Cm9mIHBlb3BsZSBkZXZvdGVkIHRvIHNo
YXJpbmcga25vd2xlZGdlIGFuZCBjcmVhdGl2aXR5LiBBZGQgdG8gdGhhdCBhbGwKdGhlIGZy
ZWUgdG9vbHMgdXN1YWxseSBpbmNsdWRlZCB3aXRoIExpbnV4IChvciBhdmFpbGFibGUgb25s
aW5lKToKClxlZGl0b3Jzbm90ZXtMaXN0IG9taXR0ZWQufQoKXHNlY3Rpb24qe0NhbGwgZm9y
IHBhcnRpY2lwYXRpb259IFRoZSBPQ1RBTCBjb3JlIHN5c3RlbSBpcyBjdXJyZW50bHkKdW5k
ZXIgZGV2ZWxvcG1lbnQgYXQgR05VLiBXZSdyZSBsb29raW5nIGZvciBtb3JlIGRldmVsb3Bl
cnMgdG8gd3JpdGUKZnJlZSBtYWNoaW5lcyBmb3IgT0NUQUwuICBXZSdyZSBhbHNvIGxvb2tp
bmcgZm9yIGNvbW1lbnRzIGFuZCBpbnB1dAphbmQgd2lzaGxpc3RzIGZyb20gY3VycmVudCB0
cmFja2VycywgYXMgd2VsbCBhcyB0aG9zZSBtdXNpY2lhbnMgd2hvCmFyZSBuZXcgdG8gdHJh
Y2tpbmcuCgpSZW1lbWJlciB0aGF0IHRoZSBtYWNoaW5lIHBsdWdpbnMgYXJlIHVzZWQgZm9y
IHZpcnR1YWxseSBhbGwgc291bmQKZ2VuZXJhdGlvbiBhbmQgcHJvY2Vzc2luZyBpbiBPQ1RB
TCwganVzdCBsaWtlIEJ1enogYW5kIG90aGVyCnBsdWdpbi1iYXNlZCB0cmFja2Vycy4gU28g
ZmluZGluZyBtYWNoaW5lIGRldmVsb3BlcnMgaXMgYQpwcmlvcml0eS4gQ3VycmVudGx5LCBJ
J3ZlIGdvdCB0aGUgdmVyeSB0YWxlbnRlZCBBcmd1ZWxsZXMgUml1cyAob2YKQnV6eiBtYWNo
aW5lLWRldmVsb3BtZW50IGZhbWUpIG9uIGJvYXJkIHJlYWR5IHRvIHdyaXRlIG5ldyBtYWNo
aW5lcyBhcwp3ZWxsIGFzIHBvcnQgaGlzIHdvcmsgb24gQnV6ei4KClRoZSAiY29yZSIgbmVl
ZGVkIG1hY2hpbmUgc2V0IGNvbnNpc3RzIG9mOgoKXGJlZ2lue2Rlc2NyaXB0aW9ufQpcaXRl
bVtzbXA6XSBBIG11bHRpdHJhY2sgc2FtcGxlciBwbHVnaW4sIHdoaWNoIHByb3ZpZGVzIGNs
YXNzaWNhbCAidHJhY2tlciIgZnVuY3Rpb25hbGl0eS4gSWYgQnV6eiB1c2FnZSBpcyBhbnkg
d2F5IHRvIGp1ZGdlLCB0aGlzIHdpbGwgYmUgb25lIG9mIHRoZSBoZWF2aWx5LXVzZWQgd29y
a2hvcnNlIG1hY2hpbmVzLiAKXGl0ZW1bYW5hbG9nOl0gQSBzaW1wbGUgYW5hbG9ndWUgc3lu
dGggZW11bGF0b3IuClxpdGVtW2RlbGF5Ol0gQSBzaW1wbGUgZWNobyBkZWxheSwgd2l0aCBt
b25vL3N0ZXJlbyBvcHRpb25zIGFuZCAiYm91bmNlIiBtb2RlLiAgClxpdGVtW3JldmVyYjpd
IENsZWFuIGFtYmllbmNlLgpcaXRlbVtjaG9ydXM6XSBDaG9ydXMgZWZmZWN0LgpcZW5ke2Rl
c2NyaXB0aW9ufQoKT2YgY291cnNlLCBJJ2QgbGlrZSB0byBtb3ZlIGZhciBiZXlvbmQgdGhh
dCBhbmQgaGVscCBwcm9kdWNlIHNvbWV0aGluZwpsaWtlIHRoZSB3aWRlIHZhcmlldHkgb2Yg
bWFjaGluZXMgdGhhdCBoYXMgYmVlbiBzZWVuIGluIHRoZSBCdXp6CmNvbW11bml0eS0tb25l
IHN0ZXAgYXQgYSB0aW1lLiBUaGUgbWFjaGluZSBBUEkgd2lsbCBiZSBwdWJsaXNoZWQKb25s
aW5lIGFzIHNvb24gYXMgaXQgaXMgYXZhaWxhYmxlLiBJZiB5b3UgYXJlIGludGVyZXN0ZWQg
aW4gZGV2ZWxvcGluZwptYWNoaW5lcyBmb3IgT0NUQUwsIHBsZWFzZSBjb250YWN0IG1lIGF0
IHtcdHQgZHRvQHF3c2kubmV0fQogICAKSSd2ZSBwcm9jdXJlZCBhIG5ldyBHTlUvTGludXgg
d29ya3N0YXRpb24gZm9yIGZ1cnRoZXIgZGV2ZWxvcG1lbnQgb2YKT0NUQUwgYXMgdGhlIHBy
b2plY3QgbW92ZXMgaW50byB0aGUgaW1wbGVtZW50YXRpb24gcGhhc2UuIEl0J3MgYW4gQU1E
Cks2LTIgNDUwTUhaIG1hY2hpbmUgcnVubmluZyB0aGUgbGF0ZXN0IExpbnV4LU1hbmRyYWtl
IHJlbGVhc2UsIGFuZCBhcwphIHNwZWNpYWwgdHJlYXQgSSBoYXZlIG9yZGVyZWQgYSBsb3Zl
bHkgdHJhbnNsdWNlbnQgb3JhbmdlIEFUWCBjYXNlLAprZXlib2FyZCwgYW5kIG1vdXNlIGZy
b20gdGhlIGZvbGtzIGF0IHtcdHQgd3d3LmNvbG9yY2FzZS5jb20ufQoKV2h5IGFtIEkgaW52
b2x2ZWQ/IEknbSBhIGdyYXBoaWMgZGVzaWduZXIsIG11c2ljaWFuLCBhbmQgc29mdHdhcmUK
ZGV2ZWxvcGVyOyBJIGJlbGlldmUgaW4gZnJlZSBzb2Z0d2FyZSwgYW5kIEkgcHJlZmVyIHRo
ZSBMaW51eApvcGVyYXRpbmcgc3lzdC0tZW0uIEkgc3RhcnRlZCB0aGUgT0NUQUwgcHJvamVj
dCBiZWNhdXNlIEkgd2FudGVkIHRvCmNyZWF0ZSBhIHByby1sZXZlbCBtdXNpYyBwcm9kdWN0
aW9uIHRvb2wgZm9yIExpbnV4LCBhbmQgdG8gaGVscCBmb3N0ZXIKdGhlIGNyZWF0aW9uIG9m
IGEgVU5JWCBtb2R1bGFyLXRyYWNraW5nIGNvbW11bml0eSBvbiB0aGUgaW50ZXJuZXQuCgpJ
biB0aGUgbmVhciBmdXR1cmUgSSdsbCBiZSBzZXR0aW5nIHVwIGFuIElSQyB7XHR0XCNvY3Rh
bH0gY2hhbm5lbCBhbmQKbWFpbGluZyBsaXN0IHRvIGhhbmcgb3V0IGFuZCB0YWxrIGFib3V0
IHRoZSBwcm9qZWN0LS1JJ20gbG9va2luZwpmb3J3YXJkIHRvIG1lZXRpbmcgY29kZXJzLCB0
cmFja2VycywgbXVzaWNpYW5zLCBhbmQgb3RoZXIgZm9sa3MuIEtlZXAKeW91ciBleWVzIHBl
ZWxlZCBmb3IgYW5ub3VuY2VtZW50cywgYW5kIHdhdGNoIE9DVEFMIHRha2Ugc2hhcGUgb25s
aW5lCmFzIGNvZGluZyBtaWxlc3RvbmVzIGFyZSByZWFjaGVkLgoKQXQgdGhlIHByZXNlbnQg
dGltZSwgdGhlIGRlc2lnbiBpcyBjb21wbGV0ZSBhbmQgY29kaW5nIGlzIGFib3V0IHRvIGJl
Z2luLCBzbyBzdGF5IHR1bmVkLg0KIAoKClxlbmR7ZG9jdW1lbnR9AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAG9jdGFsLWFscGhhL29jdGFsLmgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAw
NjQ0ADAwMDA3NjUAMDAwMDc3MgAwMDAwMDAwMzAxMAAwNzExNjEzNjUyMwAwMTI2NjMAIDAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABk
dG8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGR0bwAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALyoKKiAkSGVhZGVyOiAvaG9tZS9kdG8v
b2N0YWwvUkNTL29jdGFsLmgsdiAxLjUgMjAwMC8wNi8wMyAwNTo1NTo0OSBkdG8gRXhwIGR0
byAkCiogKEMpIDIwMDAgRGF2aWQgTydUb29sZSAkRGF0ZTogMjAwMC8wNi8wMyAwNTo1NTo0
OSAkCiogJFJldmlzaW9uOiAxLjUgJAoqIAoqIE9DVEFMLiBEZWZpbml0aW9ucyBhbmQgbWFj
cm9zIGZvciBkYXRhdHlwZXMsIGV0Y2V0ZXJhLiAKKgoqIFRoaXMgc29mdHdhcmUgaXMgZGlz
dHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQoqIEdOVSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIChHUEwpLiBSZWFkIHRoZSBpbmNsdWRlZCBmaWxlCiogQ09QWUlORyBmb3IgbW9y
ZSBpbmZvcm1hdGlvbi4gCiogCiogJExvZzogb2N0YWwuaCx2ICQKKiBSZXZpc2lvbiAxLjUg
IDIwMDAvMDYvMDMgMDU6NTU6NDkgIGR0bwoqIG1pbm9yIHR3ZWFrczsgY2hhbmdlZCAiCiog
ZGF0YSIgdG8gInBhcmFtIgoqCiogUmV2aXNpb24gMS40ICAyMDAwLzAzLzI4IDA3OjE3OjM5
ICBkdG8KKiBBZGRlZCB1dGlsaXR5IGZ1bmN0aW9uIG94X2RpZSgpCioKKiBSZXZpc2lvbiAx
LjMgIDIwMDAvMDMvMTEgMDY6MzM6MzMgIGR0bwoqIENvbnZlcnNpb24gYW5kIHBhcnRpYWwg
cmV3cml0ZSBkb25lLiBTdGlsbCB3b3JraW5nLiBJdCdzIDIgQU0uCioKKiBSZXZpc2lvbiAx
LjIgIDIwMDAvMDIvMjMgMDQ6MzA6MzkgIGR0bwoqIGNoZWNraW4gYmVmb3JlIG1ham9yIGlu
Y29tcGF0aWJsZSBjaGFuZ2VzLgoqIEF0IHRoZSBzdWdnZXN0aW9uIG9mIEFuZHkgU2xvYW5l
IChhbmR5QGd1aWxkc29mdHdhcmUuY29tKSBJIGFtIHN3aXRjaGluZyBvdmVyIHRvIGEKKiBm
bG9hdGluZy1wb2ludCByZXByZXNlbnRhdGlvbiBmb3IgYWxsIGF1ZGlvIGRhdGEgc3RvcmVk
IGluIE9DVEFMLiBTb21lIG90aGVyIGNoYW5nZXMgd2lsbCBiZSBtYWRlIHRvbzsKKiBtb3Jl
IGluZm8gbGF0ZXIuCioKKgoqCiovCgojaWZuZGVmIF9vY3RhbF9oXwojZGVmaW5lIF9vY3Rh
bF9oXyAiQCgjKW15ZmlsZS5oICRSZXZpc2lvbjogMS41ICQiCgojZGVmaW5lIE9YX1NBTVBM
SU5HX1JBVEUgNDQxMDAKI2RlZmluZSBOVU1fT0NUQVZFUyA5CiNkZWZpbmUgTk9URV9SQU5H
RSAoTlVNX09DVEFWRVMqMTIpCgp0eXBlZGVmIHNob3J0IGRhdGE7ICAvKiBhIHNpZ25lZCBp
bnRlZ2VyIHVzZWQgZm9yIHN0b3JpbmcgYWxsIG1hY2hpbmUgY29udHJvbCBkYXRhIHZhbHVl
cyAqLwp0eXBlZGVmIHNob3J0IHBhcmFtOyAvKiBkaXR0byAqLyAKdHlwZWRlZiBmbG9hdCBm
cmVxOyAgLyogZm9yIGZyZXF1ZW5jeSB2YWx1ZXMgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKi8KdHlwZWRlZiBmbG9hdCBzYW1wOyAgLyogZm9yIGF1
ZGlvIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKi8KCnZvaWQgb3hfZGllKGNvbnN0IGNoYXIqIG1lc3NhZ2UpOwoKI2VuZGlmIC8q
IF9vY3RhbF9oXyAqLwoKLyogJFNvdXJjZTogL2hvbWUvZHRvL29jdGFsL1JDUy9vY3RhbC5o
LHYgJCAqLwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvY3RhbC1hbHBoYS9vdXRwdXQuYwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwNzY1ADAwMDA3NzIAMDAwMDAwMDY1NjUA
MDcxMTYxMzY1MjMAMDEzMTM2ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAHVzdGFyICAAZHRvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABk
dG8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8q
CiogJEhlYWRlcjogL2hvbWUvZHRvL29jdGFsL1JDUy9vdXRwdXQuYyx2IDEuOSAyMDAwLzAz
LzI5IDE5OjA5OjE2IGR0byBFeHAgZHRvICQKKiBDb3B5cmlnaHQgMjAwMCBEYXZpZCBPJ1Rv
b2xlICREYXRlOiAyMDAwLzAzLzI5IDE5OjA5OjE2ICQKKiAKKiBHTlUgT0NUQUwgb3V0cHV0
IHN1YnN5c3RlbS4gQ3VycmVudGx5IHVzZXMgT1NTLiAKKiBodHRwOi8vd3d3LmdudS5vcmcv
c29mdHdhcmUvb2N0YWwvCioKKiBUaGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkIHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUKKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR1BMKS4g
UmVhZCB0aGUgaW5jbHVkZWQgZmlsZQoqIENPUFlJTkcgZm9yIG1vcmUgaW5mb3JtYXRpb24u
IAoqCiovCgpzdGF0aWMgY29uc3QgY2hhciByY3NpZFtdPSIkSWQ6IG91dHB1dC5jLHYgMS45
IDIwMDAvMDMvMjkgMTk6MDk6MTYgZHRvIEV4cCBkdG8gJCI7CgojaW5jbHVkZSA8c3RkaW8u
aD4KI2luY2x1ZGUgPGZjbnRsLmg+CiNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KI2luY2x1ZGUg
PHVuaXN0ZC5oPgojaW5jbHVkZSA8c3RkbGliLmg+CgovKiBvc3MgYXBpIGhlYWRlciAqLwoj
aW5jbHVkZSA8c3lzL3NvdW5kY2FyZC5oPiAKCiNpbmNsdWRlICJvY3RhbC5oIgojaW5jbHVk
ZSAib3V0cHV0LmgiCgp0eXBlZGVmIHNpZ25lZCBzaG9ydCBkZXZfc2FtcGxlOyAvKiBzeXN0
ZW0tc3BlY2lmaWMgc2FtcGxlIGZvcm1hdCAqLyAKCi8qIGltcG9ydGFudCBnbG9iYWwgZGF0
YSAqLyAKc3RhdGljIGludCBzb3VuZF9mZD0tMTsgCnN0YXRpYyBpbnQgYmxvY2tfc2l6ZSA9
IDA7IApzdGF0aWMgZGV2X3NhbXBsZSAqYnVmZmVyID0gMDsgCnN0YXRpYyBpbnQgYnVmZmVy
X3NpemVfYnl0ZXM7CgovKiB0aGlzIGRvZXNuJ3Qgc2V0IHRoZSBPU1MgZnJhZ21lbnQgc2l6
ZSwganVzdCB0aGUgaW50ZXJuYWwgYnVmZmVyIHNpemUgKi8KLyogZm9yIGNvbnZlcnRpbmcg
dG8gdGhlIHNvdW5kY2FyZCdzIGV4cGVjdGVkIHNhbXBsZSBmb3JtYXQuICAgICAgICAgICAg
ICovCgp2b2lkIHNldF9ibG9ja19zaXplKGludCBicykgewogIAogIGJsb2NrX3NpemUgPSBi
czsKICBpZiAoYnVmZmVyKSBmcmVlKGJ1ZmZlcik7CiAgYnVmZmVyX3NpemVfYnl0ZXMgPSBi
bG9ja19zaXplICogc2l6ZW9mKGRldl9zYW1wbGUpICogMjsKICBidWZmZXIgPSAoZGV2X3Nh
bXBsZSopbWFsbG9jKGJ1ZmZlcl9zaXplX2J5dGVzKTsKICAKfQoKdm9pZCBjbG9zZV9zb3Vu
ZCgpIHsKICBzb3VuZF9mZCAgID0gLTE7CiAgYmxvY2tfc2l6ZSA9IDA7CiAgZnJlZShidWZm
ZXIpOwogIGJ1ZmZlciA9IDA7Cn0KCgoKaW50IGluaXRfc291bmQoaW50IHNhbXBsZXJhdGUp
IHsKICAKICBpbnQgb3NzX2Zvcm1hdCA9IEFGTVRfUzE2X0xFOyAvKiBzaWduZWQsIDE2LWJp
dCwgbGl0dGxlLWVuZGlhbiBhdWRpbyAqLwogIGludCBvc3Nfc3BlZWQgPSBzYW1wbGVyYXRl
OwogIGludCBvc3Nfc3RlcmVvID0gMTsKICBpbnQgdG9sZXJhbmNlID0gc2FtcGxlcmF0ZS81
MCsxOyAgLyogdGhpcyBpcyBmb3Igd2VpcmQgc291bmRjYXJkcyAobGlrZSBtaW5lIDotKSAq
LwoKICBpZiAoYmxvY2tfc2l6ZSA9PSAwKSByZXR1cm4gLTE7CiAKICBpZiAoc291bmRfZmQg
PSBvcGVuKCIvZGV2L2RzcCIsIE9fV1JPTkxZKSkgewogICAgCQogICAgcHJpbnRmKCJPcGVu
ZWQgL2Rldi9kc3Agd2l0aCB2YWx1ZSBvZiAlZFxuIiwgc291bmRfZmQpOwkJCgkJCiAgICAv
KiBhdHRlbXB0IHRvIHNldCB1cCBoYXJkd2FyZSB0byBhY2NlcHQgb3VyIGZvcm1hdCAqLwog
ICAgaW9jdGwoc291bmRfZmQsIFNORENUTF9EU1BfUkVTRVQsIDApOwogICAgaW9jdGwoc291
bmRfZmQsIFNORENUTF9EU1BfU1RFUkVPLCAmb3NzX3N0ZXJlbyk7CiAgICBpZiAoIChpb2N0
bChzb3VuZF9mZCwgU05EQ1RMX0RTUF9TRVRGTVQsICZvc3NfZm9ybWF0KSAhPSAtMSkgJiYg
KG9zc19mb3JtYXQ9PUFGTVRfUzE2X0xFKSAmJgoJIChpb2N0bChzb3VuZF9mZCwgU05EQ1RM
X0RTUF9TUEVFRCwgJm9zc19zcGVlZCkgIT0gLTEpICYmIAoJIChhYnMob3NzX3NwZWVkLXNh
bXBsZXJhdGUpIDw9IHRvbGVyYW5jZSkgKQogICAgICB7IHJldHVybiBzb3VuZF9mZDsgfQoK
ICAgIC8qIG5vdGUgb24gdGhlIGFib3ZlOiBzb21lIGNhcmRzIHJldHVybiB3cm9uZyB2YWx1
ZXMgZm9yIHRoZSBzYW1wbGluZyByYXRlLiB0aGV5J3JlIG9mdGVuIAogICAgICAgc2xpZ2h0
bHkgb2ZmIHdoYXQgdGhleSBzaG91bGQgYmUgZG9pbmcsIGkuZS4gNDQwOTkgaW5zdGVhZCBv
ZiA0NDEwMC4gU29tZW9uZSB0b2xkIG1lIHRoYXQKICAgICAgIHRoZXkgbWF5IGFjdHVhbGx5
IGJlIHVzaW5nIHRoYXQgc2FtcGxlIHJhdGUsIG1lYW5pbmcgdGhhdCBldmVyeXRoaW5nIHdp
bGwgYmUgZGV0dW5lZC4gCiAgICAgICBpZiB0aGlzIGlzIHNvLCB0aGUgZnJlcS10YWJsZSBz
aG91bGQgYmUgcmVidWlsdCB3aXRoIHRoZSBuZXcgc2FtcGxpbmcgcmF0ZS4KICAgICovCgkJ
CiAgICBmcHJpbnRmKHN0ZGVyciwgIk9DVEFMIGluaXRzb3VuZDogL2Rldi9kc3Agd29uJ3Qg
YWNjZXB0IHJlcXVlc3RlZCBzYW1wbGUgcmF0ZVxuIik7ICAJCiAgICByZXR1cm4gLTE7CiAg
fQoJCiAgZnByaW50ZihzdGRlcnIsICJPQ1RBTCBpbml0c291bmQ6IC9kZXYvZHNwIGluYWNj
ZXNzaWJsZVxuIik7CiAgcmV0dXJuIC0xOwp9CgoKCgovKiBvdXRwdXRfYmxvY2soKSB0YWtl
cyBhIGxlZnQgYW5kIGEgcmlnaHQgY2hhbm5lbDsgaWYgeW91IHdhbnQgdG8gb3V0cHV0IG1v
bm8sCiAgIHBhc3MgdGhlIHNhbWUgYnVmZmVyIHRvIGJvdGggaW5wdXRzIAogICBjdXJyZW50
bHkgdXNlcyBibG9ja2luZyBpL28uIHRoaXMgd2lsbCBwcm9iYWJseSBjaGFuZ2UuIAoqLyAK
CnZvaWQgb3V0cHV0X2Jsb2NrKHNhbXAgKmxlZnQsIHNhbXAgKnJpZ2h0LCBpbnQgbnVtKSB7
CiAgaW50IGksIGo7CgogIGlmICghYnVmZmVyKSAKICAgIG94X2RpZSgiJSUlJU9DVEFMOiBO
byBvdXRwdXQgYnVmZmVyIGluIHNvdW5kIGRyaXZlci5cbiIpOwogICAKICBpZiAoc291bmRf
ZmQgPT0gLTEpIAogICAgb3hfZGllKCIlJSUlT0NUQUw6IE5vIHNvdW5kIGRldmljZSBvcGVu
LlxuICIpOwogIAkgIAogIC8qIG5vdyBjb252ZXJ0IGZyb20gT0NUQUwncyBzYW1wbGUgZm9y
bWF0IHRvIHRoZSBzb3VuZGNhcmQncy4gKi8KCiAgZm9yIChpPTA7IGk8bnVtOyBpKyspIHsK
ICAgIGogPSAyKmk7CgogICAgYnVmZmVyW2pdICAgPSAoZGV2X3NhbXBsZSkoMzI3NjcuMGYg
KiBsZWZ0W2ldKTsgICAvKiB0aGFua3MgYW5keSAqLyAKICAgIGJ1ZmZlcltqKzFdID0gKGRl
dl9zYW1wbGUpKDMyNzY3LjBmICogcmlnaHRbaV0pOwoJCSAgICAKICB9CiAgd3JpdGUoc291
bmRfZmQsIGJ1ZmZlciwgYnVmZmVyX3NpemVfYnl0ZXMpOwp9CgoKLyogRW5kICRTb3VyY2U6
IC9ob21lL2R0by9vY3RhbC9SQ1Mvb3V0cHV0LmMsdiAkICovCgoKCgoAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAb2N0YWwtYWxwaGEvb3V0cHV0LmgAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAADAxMDA2NDQAMDAwMDc2NQAwMDAwNzcyADAwMDAwMDAyNTc1ADA3MTE2MTM2
NTIzADAxMzE0MAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAB1c3RhciAgAGR0bwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZHRvAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvKgoqICRIZWFk
ZXI6IC9ob21lL2R0by9vY3RhbC9SQ1Mvb3V0cHV0LmgsdiAxLjYgMjAwMC8wMy8yOCAwNzox
NzozOSBkdG8gRXhwIGR0byAkCiogKEMpIDIwMDAgRGF2aWQgTydUb29sZSAkRGF0ZTogMjAw
MC8wMy8yOCAwNzoxNzozOSAkCiogJFJldmlzaW9uOiAxLjYgJAoqIAoqIE91dHB1dC5oCiog
T0NUQUwgU291bmQgT3V0cHV0IEZ1bmN0aW9ucwoqIFVzZXMgT1NTIEFQSQoqCiogVGhpcyBz
b2Z0d2FyZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCiogR05VIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkuIFJlYWQgdGhlIGluY2x1ZGVkIGZpbGUKKiBD
T1BZSU5HIGZvciBtb3JlIGluZm9ybWF0aW9uLiAKKiAKKiAkTG9nOiBvdXRwdXQuaCx2ICQK
KiBSZXZpc2lvbiAxLjYgIDIwMDAvMDMvMjggMDc6MTc6MzkgIGR0bwoqIFNlZSBvdXRwdXQu
YydzIHJsb2cKKgoqIFJldmlzaW9uIDEuNSAgMjAwMC8wMy8xNCAwNjoxMTo1MiAgZHRvCiog
R290IHJpZCBvZiBkYW5nbGluZyBwcm90b3R5cGUgZm9yIHRoZSBvbGQgbTJzKCkgZnVuY3Rp
b24uCioKKiBSZXZpc2lvbiAxLjQgIDIwMDAvMDMvMTEgMDY6MzM6MzMgIGR0bwoqIENvbnZl
cnNpb24gYW5kIHBhcnRpYWwgcmV3cml0ZSBkb25lLiBTdGlsbCB3b3JraW5nLiBJdCdzIDIg
QU0uCioKKiBSZXZpc2lvbiAxLjMgIDIwMDAvMDIvMDcgMDQ6MDM6NDAgIGR0bwoqIExhc3Qg
Q2hlY2tpbiBiZWZvcmUgc2hhcmVkLW9iamVjdGlmaWNhdGlvbgoqCiogUmV2aXNpb24gMS4y
ICAyMDAwLzAxLzA5IDAyOjMzOjMyICBkdG8KKiBzb21lIG1pbm9yIGZ1bmN0aW9uIGNoYW5n
ZXMuCioKKgoqCiovCiNpZm5kZWYgX291dHB1dF9oXwojZGVmaW5lIF9vdXRwdXRfaF8gIkAo
IylteWZpbGUuaCAkUmV2aXNpb246IDEuNiAkIgoKI2luY2x1ZGUgIm9jdGFsLmgiCgppbnQg
IGluaXRfc291bmQoaW50IHNhbXBsZXJhdGUpOyAgICAgICAgICAgICAgICAgICAgICAgIC8q
IGluaXRpYWxpemUgc291bmQgc3lzdGVtICAgICAgICAgICAgICAgICAgICAgICAgKi8Kdm9p
ZCBzZXRfYmxvY2tfc2l6ZShpbnQgYnMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
KiBjaG9vc2UgYSBibG9jayBzaXplIGZvciBvdXRwdXQgICAgICAgICAgICAgICAgICovCnZv
aWQgb3V0cHV0X2Jsb2NrKHNhbXAgKmxlZnQsIHNhbXAgKnJpZ2h0LCBpbnQgbnVtc2FtcGxl
cyk7ICAgICAgICAgICAgICAgICAgICAgCnZvaWQgY2xvc2Vfc291bmQoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogc2h1dCBkb3duIHRoZSBzb3VuZCBkcml2
ZXIgICAgICAgICAgICAgICAgICAgICAqLwoKCiNlbmRpZiAvKl9vdXRwdXRfaF8qLwoKLyog
JFNvdXJjZTogL2hvbWUvZHRvL29jdGFsL1JDUy9vdXRwdXQuaCx2ICQgKi8KAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABvY3RhbC1hbHBoYS9veF9hcGlfbWFpbi50ZXgAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAMDEwMDY0NAAwMDAwNzY1ADAwMDA3NzIAMDAwMDAwMDU1MjYAMDcxMTYxMzY1MjMA
MDE0NDMzACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AHVzdGFyICAAZHRvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkdG8AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUlJSBHTlUgT0NUQUwg
T1hfQVBJIERldmVsb3BlcidzIEd1aWRlCiUlJSBMYVRlWCBTb3VyY2UgRmlsZXMKJSUlIAol
JSUgb3hfYXBpX21haW4udGV4CiUlJSBveF9hcGlfdHV0b3JpYWwudGV4CiUlJSBveF9hcGlf
cmVmZXJlbmNlLnRleAolJSUKJSUlIChDKSAyMDAwIERhdmlkIE8nVG9vbGUuIFRoZXNlIGZp
bGVzIGFyZSBjb3ZlcmVkIHVuZGVyIHRoZSBHTlUKJSUlIEZyZWUgRG9jdW1lbnRhdGlvbiBM
aWNlbnNlLiBTZWUgdGV4dCBiZWxvdyBmb3IgbW9yZSBkZXRhaWxzLiAKJSUlCiUlJSBQcm9q
ZWN0IHdlYnNpdGU6IHd3dy5nbnUub3JnL3NvZnR3YXJlL29jdGFsCiUlJSUlJSUlJSUlJSUl
JSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUl
Clxkb2N1bWVudGNsYXNze3JlcG9ydH0KXHVzZXBhY2thZ2V7bWFydm9zeW19ICUgbm90IGNy
dWNpYWwgaWYgeW91IGRvbid0IGhhdmUgdGhpcy4ganVzdCByZWRlZmluZSBcbm90YWJlbmUg
YmVsb3cgdG8gYmUgeyB9CgolIG15IGNvbW1hbmRzCgpcbmV3Y29tbWFuZHtcZWRpdG9yc25v
dGV9WzFde3tcaXQgWyMxXX19ClxuZXdjb21tYW5ke1xveGFwaX17e1x0dCBPWFxfQVBJfX0K
XG5ld2NvbW1hbmR7XGNvZGV9WzFdeyBcYmVnaW57cXVvdGV9IFxiZWdpbntmbHVzaGxlZnR9
IFx0dHsjMX0gXGVuZHtmbHVzaGxlZnR9IFxlbmR7cXVvdGV9IH0KXG5ld2NvbW1hbmR7XG9j
dGFsfXt7XHR0IE9DVEFMfX0KXG5ld2NvbW1hbmR7XG5vdGFiZW5lfXtccGFyYWdyYXBoe1xM
QVJHRVxQb2ludGluZ2hhbmR9IH0gJSByZW1vdmUgdGhpcyBpZiB5b3UgZG9uJ3QgaGF2ZSBt
YXJ2b3N5bS5zdHkKClxiZWdpbntkb2N1bWVudH0KXHRpdGxle3tcdHQgR05VfSBcb2N0YWxc
IFxcIFxveGFwaVwgRGV2ZWxvcGVyJ3MgR3VpZGV9ClxhdXRob3J7RGF2aWQgVC4gTydUb29s
ZSAoZHRvQGdudS5vcmcpfQoKXG1ha2V0aXRsZQoKXHRhYmxlb2Zjb250ZW50cwoKXHNlY3Rp
b257SW50cm9kdWN0aW9ufQoKe1xiZiBUaGUgXG94YXBpXCBEZXZlbG9wZXIncyBHdWlkZX0g
c2hvd3MgaG93IHRvIHVzZSB0aGUgXG9jdGFsXApwbHVnaW4gQVBJIHRvIGNyZWF0ZSB0cmFj
a2VyLXNlcXVlbmNlZCBhdWRpbyBwbHVnaW5zIChhbHNvIGNhbGxlZApgYG1hY2hpbmVzJycp
IGZvciB0aGUgXG9jdGFsXCBwcm9ncmFtLiBcb2N0YWxcIGlzIGEgbW9kdWxhciB0cmFja2lu
ZyBzeXN0ZW0KZnJvbSB0aGUgR05VIFByb2plY3Qge1x0dCAod3d3LmdudS5vcmcpfSwgZGVz
aWduZWQgZm9yIHRoZSBjcmVhdGlvbiBvZgpkaWdpdGFsIG11c2ljLgoKXG9jdGFsXCBpcyBh
IHByb2plY3QgdG8gY3JlYXRlIGJvdGggYSBjdXR0aW5nLWVkZ2UgbXVzaWMgd29ya3N0YXRp
b24ge1xpdCBhbmRcL30KIHRvIGZyYW1lIGEgY3Jvc3MtcGxhdGZvcm0sIHNvdXJjZS1sZXZl
bCBwb3J0YWJsZSwgR1BMJ2VkIG11c2ljIHN5c3RlbXMKcGx1Z2luIEFQSSBzdGFuZGFyZCwg
YmFzZWQgb24gdW5pdCBnZW5lcmF0b3JzIGFuZAp0cmFja2luZy4gXG9jdGFsXCBpdHNlbGYg
KG5vdyB1bmRlciBjb25zdHJ1Y3Rpb24gYXQgR05VKSBpcyB0aGUgcmVzdWx0Cm9mIHRoZSBm
aXJzdCBnb2FsOyBcb3hhcGlcIChub3cgbmVhcmx5IGNvbXBsZXRlKSBpcyB0aGUgcHJvZHVj
dCBvZiB0aGUKc2Vjb25kLiBUaGUgXG9jdGFsXCBwcm9qZWN0IGhvbWVwYWdlIChVUkwgYmVs
b3cpIGluY2x1ZGVzIGEgbW9yZQpkZXRhaWxlZCBvdmVydmlldywgYXMgd2VsbCBhcyBjdXJy
ZW50IHJlbGVhc2UgY29kZSBhbmQKZG9jdW1lbnRhdGlvbi4gVGhlcmUgaXMgYWxzbyBhIG1h
aWxpbmcgbGlzdCAoY3VycmVudGx5IGF0IGFsbW9zdCA3MAptZW1iZXJzKSBjYWxsZWQge1x0
dCBvY3RhbC1kZXZ9LgoKXG5vdGFiZW5lIFRoaXMgZG9jdW1lbnQgYXNzdW1lcyBhdCBsZWFz
dCBhIHBhc3NpbmcgZmFtaWxpYXJpdHkgd2l0aCB0aGUgdHdvCnRlY2hub2xvZ2llcyBjb21i
aW5lZCBieSBzeXN0ZW1zIHN1Y2ggYXMgXG9jdGFsIDoge1xiZiBNT0QtdHJhY2tpbmd9CmFu
ZCB7XGJmIHVuaXQgZ2VuZXJhdG9ycy59IEFzIGFuIEFQSSB0dXRvcmlhbCwgdGhpcyBpcyBu
b3QgYSBnZW5lcmFsCmludHJvZHVjdGlvbiB0byB0aG9zZSB0ZWNobm9sb2dpZXMgdGhlbXNl
bHZlcy4gRm9yIGFuIG92ZXJ2aWV3LCBwbGVhc2UKc2VlIHRoZSBcb2N0YWxcIGhvbWUgcGFn
ZToKCntcdHQgaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL29jdGFsfQoKXHNlY3Rpb257
Q29weXJpZ2h0IGFuZCBMaWNlbnNlIEluZm9ybWF0aW9ufQpDb3B5cmlnaHQgXGNvcHlyaWdo
dFwgMjAwMCBEYXZpZCBPJ1Rvb2xlIHtcdHQgKGR0b0BnbnUub3JnKX0uClBlcm1pc3Npb24g
aXMgZ3JhbnRlZCB0byBjb3B5LCBkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhpcyBkb2N1
bWVudAp1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBGcmVlIERvY3VtZW50YXRpb24gTGlj
ZW5zZSwgVmVyc2lvbiAxLjEgb3IKYW55IGxhdGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHdpdGggbm8KSW52YXJpYW50IFNlY3Rpb25z
LgoKCVRoZSBpbmNsdWRlZCBmaWxlIHtcdHQgRE9DXF9DT1BZSU5HfSBjb250YWlucyB0aGUg
dGV4dCBvZiB0aGUKCWxpY2Vuc2UuIElmIGZvciBzb21lIHJlYXNvbiB0aGlzIGZpbGUgaXMg
bWlzc2luZywgYSBjb3B5IG9mCgl0aGUgbGljZW5zZSBpcyBhdmFpbGFibGUgb25saW5lIGF0
IAoKe1x0dCBodHRwOi8vd3d3LmdudS5vcmcvY29weWxlZnQvZmRsLmh0bWx9CgolJSBpbmNs
dWRlIHRoZSB2YXJpb3VzIGNoYXB0ZXJzIAolJSBcaW5wdXR7b3hfYXBpX292ZXJ2aWV3fQpc
aW5wdXR7b3hfYXBpX3R1dG9yaWFsfQpcaW5wdXR7b3hfYXBpX3JlZmVyZW5jZX0KXGVuZHtk
b2N1bWVudH0KCgoKCgoKCgoKCgoKCgoKCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG9jdGFsLWFscGhhL294X2FwaV9y
ZWZlcmVuY2UudGV4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDA3NjUAMDAwMDc3MgAwMDAw
MDAwMzcxMgAwNzExNjEzNjUyMwAwMTU0NDAAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABkdG8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAGR0bwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAXGNoYXB0ZXJ7XG94YXBpXCBSZWZlcmVuY2V9ICUlJSUlJSUlJSUlJSUlJSUlJSUl
JQoKXGVkaXRvcnNub3Rle1RoaXMgY2hhcHRlciBpcyBub3QgeWV0IGNvbXBsZXRlLn0KClxz
ZWN0aW9ue1R5cGVkZWZzfQoKXHN1YnNlY3Rpb257e3NhbXB9IChvY3RhbC5oKX0KCkEgc2ln
bmVkIGZsb2F0aW5nLXBvaW50IGRhdGEgdHlwZSBmb3IgaW5wdXR0aW5nIGFuZCBvdXRwdXR0
aW5nCnNhbXBsZXMuIFxvY3RhbFwgcGx1Z2luIGF1ZGlvIHN0cmVhbXMgbXVzdCBiZSBpbiB0
aGlzIGZvcm1hdC4gQXVkaW8gZGF0YQpzaG91bGQgYmUgc2NhbGVkIGZyb20gKy8tIDEuMDsg
Y29udHJvbCBkYXRhIGJlaW5nIHNlbnQgdGhyb3VnaCBBVVgKY29ubmVjdGlvbnMgbWF5IGJl
IHNjYWxlZCBpbiBvdGhlciB3YXlzLgoKXHN1YnNlY3Rpb257e3BhcmFtfSAob2N0YWwuaCl9
CgpBbiBpbnRlZ2VyIHR5cGUgZm9yIHN0b3JpbmcgbWFjaGluZSBwYXJhbWV0ZXJzIGFuZCBu
b3Rlcy4gXG9jdGFsXCAKcGF0dGVybnMgYXJlIHN0b3JlZCBpbiB0aGlzIGZvcm1hdC4gQWxs
IHZhbHVlcyBsZXNzIHRoYW4gMSBhcmUKcmVzZXJ2ZWQuIFNlZSB0aGUgc2VjdGlvbiBvbiB7
XHR0IG94XF91cGRhdGUoKX0gZm9yIG1vcmUgaW5mb3JtYXRpb24uCgpcc2VjdGlvbntTdHJ1
Y3R1cmVzfQoKXGVkaXRvcnNub3Rle0ZvciBub3csIGxvb2sgYXQgdGhlIGNvbW1lbnRzIGlu
IHtcdHQgbWFjaGluZS5ofX0KClxzdWJzZWN0aW9ue3N0cnVjdCBtYWNoaW5lXF90eXBlfQoK
XHN1YnNlY3Rpb257c3RydWN0IG1hY2hpbmV9Cgpcc3Vic2VjdGlvbntzdHJ1Y3QgcGFyYW1c
X3NwZWN9Cgpcc2VjdGlvbntDYXRhbG9nIG9mIHdpZGdldCBhbmQgZm9ybWF0IHR5cGVzfQol
JSB0YWJsZSBvZiB2YWx1ZXMgZm9yIHdpZGdldCBhbmQgZm9ybWF0IGhpbnRzCiAKXGxhYmVs
e3BhcmFtdGFibGV9ClxiZWdpbnt0YWJ1bGFyfXtjfGxsfQoJZm9ybWF0IG5hbWUgJiBtZWFu
aW5nICYgZXhhbXBsZSBcXAoJXGhsaW5lIAoJbm90ZSAmIGEgbXVzaWNhbCBub3RlICYgQy00
LCBEXCMyLCBCLTUgXFwKCXNtYWxsICYgdHdvLWRpZ2l0IGhleCAmIDNDLCBGRSwgMjMgXFwK
CWxhcmdlICYgZm91ci1kaWdpdCBoZXggJiA4MDAwLCAzQ0UxIFxcCgl0cmlnZ2VyICYgZXZl
bnQgdHJpZ2dlciAmIDAsIDEgICAgICBcXAoJd2F2ZSAmIGEgc291bmQgZnJvbSB0aGUgd2F2
ZXRhYmxlICYge1x0dCAzQywgMDV9IFxcClxlbmR7dGFidWxhcn0JCgpccGFyYWdyYXBoe30K
XGJlZ2lue3RhYnVsYXJ9e2N8bH0KCXdpZGdldCBuYW1lICYgZGVzY3JpcHRpb24gXFwKCVxo
bGluZQoJc2xpZGVyICYgYSBzbWFsbCBzbGlkZXIgYmFyIHdpdGggYSBoYW5kbGUgXFwKCQkm
IGFuZCBkaXNwbGF5ZWQgbnVtZXJpYyB2YWx1ZSBcXAoJZW50cnkgJiBhIG51bWVyaWMgZW50
cnkgYm94IHdpdGggYGBlbnRlcicnIGJ1dHRvbiBcXAoJLi4uICYgLi4uIG1vcmUgdG8gY29t
ZSBcXApcZW5ke3RhYnVsYXJ9Cgpcc2VjdGlvbntSZXF1aXJlZCBQcm90b3R5cGVzIGZvciBD
IENhbGxiYWNrc30KClxiZWdpbnt2ZXJiYXRpbX0KICAgICAgICBpbnQgICAgICAgICBveF9p
bml0KG1hY2hpbmVfdHlwZSogdCkKICAgICAgICB2b2lkICAgICAgICBveF9jcmVhdGUobWFj
aGluZSogbSkKICAgICAgICBpbnQgICAgICAgICBveF9kZXN0cm95KG1hY2hpbmUqIG0pCiAg
ICAgICAgdm9pZCAgICAgICAgb3hfd29yayhtYWNoaW5lKiBtLCBpbnQgYmxvY2tfc2l6ZSkK
ICAgICAgICB2b2lkICAgICAgICBveF91cGRhdGUobWFjaGluZSogbSkKICAgICAgICBjb25z
dCBjaGFyKiBveF9kZXNjKGludCB3aGljaCwgcGFyYW0gdmFsdWUpCiAgICAgICAgdm9pZCAg
ICAgICAgb3hfdHJhY2soaW50IGNoYW5nZSkKXGVuZHt2ZXJiYXRpbX0KClxzZWN0aW9ue1V0
aWxpdHkgRnVuY3Rpb25zfQpcZWRpdG9yc25vdGV7VGhpcyBwYXJ0IGlzIG5vdCBmaW5pc2hl
ZC4gTW9zdCBvZiB0aGVtIGFyZSBzZWxmLWV4cGxhbmF0b3J5OyBzZWUge1x0dCB1dGlsLmgu
fX0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AABvY3RhbC1hbHBoYS9veF9hcGlfdHV0b3JpYWwudGV4AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0
NAAwMDAwNzY1ADAwMDA3NzIAMDAwMDAwNTQxMzEAMDcxMTYxMzY1MjMAMDE1MzQ2ACAwAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAZHRv
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkdG8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUgVGhpcyBpcyB0aGUgVHV0b3JpYWwgcGFy
dCwgY29uc2lzdGluZyBvZiBDIGFuZCBDKysgY2hhcHRlcnMuIAoKXGNoYXB0ZXJ7VXNpbmcg
XG94YXBpfSAgJSUlJSUlJSUlJSUlJSUlJSUlCgpUaGlzIGNoYXB0ZXIgcHJlc2VudHMgYSBx
dWljayBydW4tdGhyb3VnaCBvZiBob3cgdG8gc2V0IHVwCmNvbW11bmljYXRpb24gYmV0d2Vl
biBcb2N0YWxcIGFuZCB5b3VyIHBsdWdpbiB1c2luZyB0aGUgQyBwcm9ncmFtbWluZwpsYW5n
dWFnZS4gU2VlIHRoZSB7XGJmIFJlZmVyZW5jZX0gY2hhcHRlciBpZiB5b3UgbmVlZCBjb21w
bGV0ZQppbmZvcm1hdGlvbi4KClxzZWN0aW9ue1Rlcm1pbm9sb2d5IG9mIG1vZHVsYXIgdHJh
Y2tpbmcgc3lzdGVtcy59CgpUaGlzIHNlY3Rpb24gZGVmaW5lcyBtb3N0IG9mIHRoZSBpbXBv
cnRhbnQgdGVybXMgdXNlZCBpbiB0aGUgcmVzdCBvZgp0aGUgZG9jdW1lbnQsIGZvY3VzaW5n
IG9uIHRob3NlIGFzc29jaWF0ZWQgd2l0aCBuZXcgdW5pdC1nZW5lcmF0b3IKYmFzZWQgdHJh
Y2tpbmcgc3lzdGVtcyBsaWtlIFxvY3RhbC4KClxiZWdpbntkZXNjcmlwdGlvbn0KXGl0ZW1b
TWFjaGluZXMuXXtBIG1hY2hpbmUgaXMgYW4gb2JqZWN0IHdoaWNoIHByb2Nlc3NlcyBvciBn
ZW5lcmF0ZXMgYXVkaW8gc2lnbmFscy4gVGhlc2UgYXJlIHRoZSBiYXNpYyBidWlsZGluZyBi
bG9ja3Mgb2YgYSBzaWduYWwgbmV0d29yaywgaW4gd2hpY2ggbWFjaGluZXMgdGhhdCBnZW5l
cmF0ZSBzaWduYWxzIHJvdXRlIHRoZWlyIGF1ZGlvIHRocm91Z2ggb3RoZXIgbWFjaGluZXMs
IGFuZCBzbyBvbi4gVHJhZGl0aW9uYWxseSB0aGUgdGVybSB7XGJmIHVuaXQgZ2VuZXJhdG9y
fSBoYXMgYmVlbiB1c2VkLCBidXQgcmVjZW50IHN5c3RlbXMgaGF2ZSBhdWdtZW50ZWQgdGhl
IGJhc2ljIGNvbmNlcHQgd2l0aCBpZGVhcyBmcm9tIHRoZSB0cmFja2luZyB3b3JsZC59Clxp
dGVtW1BhcmFtZXRlcnMuXXtQYXJhbWV0ZXJzIGFyZSBkYXRhIGl0ZW1zIHRoYXQgY2FuIGJl
IHJlY2lldmVkIGJ5IG1hY2hpbmVzIHRvIGNvbnRyb2wgdGhlaXIgZ2VuZXJhdGlvbi9wcm9j
ZXNzaW5nIG9mIGF1ZGlvLiBUaGluZ3MgbGlrZSBgYG5vdGUnJywgYGB2b2x1bWUnJywgYGBk
ZWxheSBsZW5ndGgnJywgb3IgYGB3YXZlIHNoYXBlJycgY2FuIGJlIHBhcmFtZXRlcnMuIFRo
ZXNlIGNhbiBiZSBjb250cm9sbGVkIGluIHR3byB3YXlzOiB7XGJmIHBhdHRlcm5zfSBhbmQg
e1xiZiBjb250cm9scy59fQpcaXRlbVtQYXR0ZXJucy5de0EgcGF0dGVybiBvcmdhbml6ZXMg
bXVzaWNhbCBkYXRhIGludG8gYSBncmlkLCB3aXRoIHRpbWUgcnVubmluZyBkb3dud2FyZHMu
IEVhY2ggcGFyYW1ldGVyIG9mIGEgbWFjaGluZSBjb3JyZXNwb25kcyB0byBhIGNvbHVtbiBp
biB0aGUgcGF0dGVybiBlZGl0b3IuIEVhY2ggcm93IGlzIGEgbW9tZW50IGluIHRpbWUsIGNh
bGxlZCBhIHtcdHQgdGljay59fQpcaXRlbVtDb250cm9sIHdpZGdldHMuXSB7QSBjb250cm9s
IHdpZGdldCBpcyBhbnl0aGluZyB0aGF0IGxldHMgeW91IGludGVyYWN0aXZlbHkgY2hhbmdl
IHRoZSB2YWx1ZSBvZiBhIHBhcmFtZXRlciBvbiBhIGdpdmVuIG1hY2hpbmUuIEZvciBpbnN0
YW5jZSwgYSBncmFwaGljYWwgc2xpZGVyIGlzIGEgY29udHJvbCB3aWRnZXQufQpcaXRlbVtG
b3JtYXRzLl0ge1xvY3RhbFwgbWFjaGluZXMgY2FuIG1ha2UgcmVxdWVzdHMgYXMgdG8gaG93
IHRoZWlyIHBhcmFtZXRlciBjb2x1bW5zIGFyZSBkaXNwbGF5ZWQgYW5kIGludGVycHJldGVk
IGJ5IHRoZSBob3N0IHdoZW4gdGhlIHVzZXIgZWRpdHMgcGF0dGVybnMuIFRoZXNlIGFyZSBj
YWxsZWQgZm9ybWF0cy59ClxpdGVtW01hY2hpbmUgbGlicmFyeS5dIHtJZiBtYWNoaW5lcyBh
cmUgaW5zdGFuY2VzLCB0aGlzIGlzIHRoZSBjbGFzcy4gQSBtYWNoaW5lIGxpYnJhcnkgaXMg
YSBkeW5hbWljYWxseS1sb2FkYWJsZSBsaWJyYXJ5IHRoYXQgY2FuIGNyZWF0ZSwgZGVzdHJv
eSwgYW5kIG9wZXJhdGUgbWFjaGluZSBvYmplY3RzLn0KXGl0ZW1bQmxvY2suXXtUaGUgY29u
dGlub3VzIGF1ZGlvIG91dHB1dCBvZiBcb2N0YWxcIGlzIGdlbmVyYXRlZCBpbiBzbWFsbCBi
bG9ja3Mgb2YgYSBmZXcgaHVuZHJlZCBzYW1wbGVzIGF0IGEgdGltZS4gVGhlIGJsb2NrIHNp
emUgY2hhbmdlcyBkeW5hbWljYWxseS59CgpcZW5ke2Rlc2NyaXB0aW9ufQoKXHNlY3Rpb257
UmVxdWlyZWQgaGVhZGVyc30KClxjb2RleyAKICAgICAgICBcI2luY2x1ZGUgInV0aWwuaCIg
XFwgXCNpbmNsdWRlICJtYWNoaW5lLmgiIH0KCntcdHQgdXRpbC5ofSBjb250YWlucyBzb21l
IG9mIFxvY3RhbHtcdHQgJ3N9XCBzdGFuZGFyZCB1dGlsaXR5IGZ1bmN0aW9ucywKYWNjZXNz
aWJsZSB0byBhbGwgbWFjaGluZXM7IGNvbnZlcnNpb24gZnVuY3Rpb25zIGxpa2Uge1x0dApu
b3RlMmZyZXEoKX0gYW5kIG90aGVycy4gVGhlIG90aGVyIGhlYWRlciwge1x0dCBtYWNoaW5l
Lmh9LCBkZWZpbmVzCnRoZSBzdHJ1Y3R1cmVzIGFuZCBjb25zdGFudHMgeW91J2xsIG5lZWQg
dG8gaW50ZXJmYWNlIHdpdGggT2N0YWwuCgpcc2VjdGlvbntEZXNjcmliaW5nIHlvdXIgcGFy
YW1ldGVycyBhbmQgY29udHJvbHN9ClxsYWJlbHtwYXJhbWV0ZXJzfQpccGFyYWdyYXBoe0lu
ZGV4aW5nLn0gRWFjaCBvZiB5b3VyIG1hY2hpbmUncyBwYXJhbWV0ZXJzIGlzIGlkZW50aWZp
ZWQgYnkgYSBudW1lcmljIGluZGV4LApzdGFydGluZyBhdCB6ZXJvLiBGaXJzdCwgbGV0J3Mg
c2V0IHVwIHNvbWUgc3ltYm9saWMgY29uc3RhbnRzIHRvIG1ha2UKdGhlc2UgaW5kaWNlcyBl
YXNpZXIgdG8gcmVtZW1iZXIuCgpUaGlzIGNhbiBiZSBkb25lIHZlcnkgZWFzaWx5IHdpdGgg
QydzIGVudW1lcmF0ZWQgdHlwZSBmYWNpbGl0eToKClxiZWdpbntxdW90ZX0KXGJlZ2lue3Zl
cmJhdGltfQplbnVtIHtpeF9maXJzdF9wYXJhbSwgaXhfc2Vjb25kX3BhcmFtLCAuLi4gfQpc
ZW5ke3ZlcmJhdGltfQpcZW5ke3F1b3RlfQoKVGhlIHtcdHQgaXhcX30gc3RhbmRzIGZvciBg
YGluZGV4LicnIEl0J3MganVzdCBhIGNvbnZlbnRpb24gdGhhdCBtYWtlcwp0aGUgbWVhbmlu
ZyBvZiB0aGUgbmFtZSBtb3JlIGNsZWFyLiBZb3Ugc2hvdWxkIG5hbWUgdGhlIGNvbnN0YW50
cyBpbgphY2NvcmRhbmNlIHdpdGggdGhlIHBhcmFtZXRlcidzIHVzZTsgZm9yIGluc3RhbmNl
LCB0aGUgZXhhbXBsZQpkZWxheSBtYWNoaW5lIHVzZXMge1x0dCBpeFxfbGVuZ3RofSBhbmQg
e1x0dCBpeFxfZmVlZGJhY2sufQoKXHBhcmFncmFwaHtQYXJhbVxfc3BlY3MufSBcbGFiZWx7
cGFyYW1zcGVjc30gWW91ciBtYWNoaW5lJ3MgcGFyYW1ldGVycyBtYXkgYmUgcHJlc2VudGVk
IHRvIHRoZSB1c2VyCiBpbiBhIHZhcmlldHkgb2Ygd2F5cy4gSW4gdGhlIHNlcXVlbmNlciB2
aWV3LCB0aGUgbXVzaWNpYW4gd2lsbCBzZWUgZWFjaAogcGFyYW1ldGVyIGFzIGEgY29sdW1u
IGluIGEgdHJhY2tlci1saWtlIGdyaWQgaW50ZXJmYWNlLiAgSW4gdGhlCiBzaWduYWwgcm91
dGVyIHZpZXcsIFxvY3RhbFwgY2FuIGRyYXcgdGhlIHVzZXIgYSBsaXR0bGUgd2luZG93IChv
ciBgYGNvbnRyb2wKIGJveCcnKSBmdWxsIG9mIGdyYXBoaWNhbCB3aWRnZXRzIGZvciBtYW5p
cHVsYXRpbmcgdGhlIHBhcmFtZXRlcnMKIGBgbGl2ZScnIGluIHJlYWwtdGltZS4KCkluIG9y
ZGVyIGZvciBcb2N0YWxcIHRvIGJlIGFibGUgdG8gZG8gYWxsIHRoaXMsIHdlJ2xsIGhhdmUg
dG8gdGVsbCBpdCBhCmxpdHRsZSBiaXQgYWJvdXQgZWFjaCBwYXJhbWV0ZXIuIEluIHBhcnRp
Y3VsYXIsIFxvY3RhbFwgbmVlZHMgdG8ga25vdwp3aGF0IHRoZXkncmUgY2FsbGVkOyBob3cg
dGhleSBzaG91bGQgYmUgZHJhd24gaW4gdGhlIHRyYWNrZXIgdmlldzsKd2hhdCBraW5kIG9m
IHdpZGdldCB0byB1c2Ugd2hlbiBvcGVuaW5nIGEgY29udHJvbCBib3g7IGEgc2hvcnQKZGVz
Y3JpcHRpb24gb2YgdGhlIHBhcmFtZXRlciB0aGF0IGNhbiBiZSBkaXNwbGF5ZWQgdG8gdGhl
IHVzZXI7IGFuZAppbmZvcm1hdGlvbiBhYm91dCB0aGUgYWNjZXB0YWJsZSByYW5nZXMgYW5k
IGRlZmF1bHQgdmFsdWUgZm9yIHRoZQpwYXJhbWV0ZXIuCgpUaGVyZSdzIGEgc3RydWN0dXJl
IGNhbGxlZCB7XHR0IHBhcmFtXF9zcGVjfSBtYWRlIHNwZWNpYWxseSBmb3IgdGhpcwpwdXJw
b3NlLiBcb2N0YWxcIHdpbGwgZXhwZWN0IGFuIGFycmF5IG9mIHRoZXNlIHN0cnVjdHVyZXMs
IGFycmFuZ2VkIGluCnRoZSBzYW1lIG9yZGVyIGFzIGxpc3RlZCBpbiB0aGUge1x0dCBpeFxf
Kn0gY29uc3RhbnRzIHdlIGRlZmluZWQKZWFybGllci4KCldlIGNhbiBzdGF0aWNhbGx5IGlu
aXRpYWxpemUgdGhlIGFycmF5IGxpa2UgdGhpczoKCgpcYmVnaW57cXVvdGV9ClxiZWdpbnt2
ZXJiYXRpbX0KcGFyYW1fc3BlYyBteV9wYXJhbXNbXSA9IHsKCiAgLyogZmlyc3QgcGFyYW1l
dGVyICovCiAgeyAgICAKICAgIG15X2Zvcm1hdF90eXBlLAogICAgbXlfd2lkZ2V0X3R5cGUs
CiAgICAic2hvcnQgbmFtZSIsCiAgICAiYSBsb25nZXIgZGVzY3JpcHRpb24iLAogICAgbWlu
X3ZhbHVlLAogICAgbWF4X3ZhbHVlLAogICAgZGVmYXVsdF92YWx1ZQogIH0sCgogIC8qIHNl
Y29uZCBwYXJhbWV0ZXIgKi8gCiAgewogICAgbXlfZm9ybWF0X3R5cGUsCiAgICAuLi4KICAg
IC4uLiAKICAgIC4uLgogIH0KfQpcZW5ke3ZlcmJhdGltfQpcZW5ke3F1b3RlfQoKV2l0aCB0
aGUgYWJvdmUgc3ludGF4LCB5b3UgY2FuIGJ1aWxkIGFuIGFycmF5IG9mIHtcdHQgcGFyYW1c
X3NwZWN9Cm9iamVjdHMgdGhhdCBtYXRjaCB5b3VyIG1hY2hpbmUncyBwYXJhbWV0ZXJzLiBC
eSBkZXNjcmliaW5nIHRoZW0KYWJzdHJhY3RseSBpbnN0ZWFkIG9mIGluIHRlcm1zIG9mIGdy
YXBoaWNzIGNhbGxzIGFuZCB3aW5kb3dzLCB5b3VyCm1hY2hpbmUgY2FuIHJlbWFpbiBpbmRl
cGVuZGVudCBvZiBHVUkgc3BlY2lmaWNzLgoKRm9yIG1vcmUgc3BlY2lmaWNzIGFib3V0IHRo
ZSBmb3JtYXQgdHlwZXMgYW5kIHdpZGdldCB0eXBlcyB5b3UgY2FuCmNob29zZSBmcm9tLCBj
b25zdWx0IHRoZSB0YWJsZSBpbiBccmVme3BhcmFtdGFibGV9IChwLgpccGFnZXJlZntwYXJh
bXRhYmxlfSkuCgoKXHNlY3Rpb257Q3JlYXRpbmcgYSBtYWNoaW5lIHR5cGUgYW5kIHRlbGxp
bmcgdGhlIGhvc3QgYWJvdXQgeW91cnNlbGZ9ClxsYWJlbHt5b3Vyc2VsZn0KXG9jdGFsIHtc
dHQgJ3N9XCB7XHR0IG1hY2hpbmVcX3R5cGV9IHN0cnVjdHVyZSBob2xkcyBpbmZvcm1hdGlv
biBhYm91dCB0aGUga2luZApvZiBtYWNoaW5lIHlvdSdyZSBtYWtpbmcuIFlvdSdsbCBuZWVk
IGEgbG9uZyBuYW1lIChpbmNsdWRpbmcgdGhlCmF1dGhvcidzIG5hbWUpLCBhIHNob3J0IG5h
bWUgKGxpa2UgYGBkZWxheScnIG9yIGBgc2FtcGxlcicnKSwgdGhlCm1heGltdW0gbnVtYmVy
IG9mIHRyYWNrcywgdGhlIG51bWJlciBvZiBwYXJhbWV0ZXJzIHlvdQpoYXZlXGZvb3Rub3Rl
e0lmIHlvdSBmb2xsb3dlZCB0aGUgbmFtaW5nIGNvbnZlbnRpb24gYWJvdmUsIHlvdSBjYW4g
dXNlCnNvbWV0aGluZyBsaWtlIFxyZWZ7cGFyYW1zcGVjc30sIHRoaXMgaXMge1x0dCBzaXpl
b2YobXlcX3BhcmFtcykgLwpzaXplb2YocGFyYW1cX3NwZWMpfX0sIGFuZCB0aGUgYWRkcmVz
cyBvZiB5b3VyIGFycmF5IG9mIHtcdHQKcGFyYW1cX3NwZWN9IHN0cnVjdHVyZXMuCgpZb3Un
bGwgYWxzbyBuZWVkIHRvIHRlbGwgT2N0YWwgYWJvdXQgeW91ciBpbnB1dCBhbmQgb3V0cHV0
IGNoYW5uZWxzLgpPbmUgYW5kIHR3byBhcmUge1x0dCBtb25vfSBhbmQge1x0dCBzdGVyZW99
LCByZXNwZWN0aXZlbHkuIFplcm8gaW5wdXQgY2hhbm5lbHMKd291bGQgbWVhbiB0aGF0IHlv
dXIgbWFjaGluZSBpcyBhIGBgcHVyZSBnZW5lcmF0b3InJyB3aGljaCBkb2VzIG5vdAphY2Nl
cHQgYW55IGF1ZGlvIGlucHV0LgoKXHNlY3Rpb257TWFpbnRhaW5pbmcgc3RhdGUufSAKCllv
dXIgbWFjaGluZSBsaWJyYXJ5IHdpbGwgYmUgY2FsbGVkIHVwb24gdG8gZG8gdGhlIHByb2Nl
c3NpbmcgZm9yIG1hbnkKe1xiZiBtYWNoaW5lIGluc3RhbmNlcy59XC8gQWZ0ZXIgYWxsLCB0
aGUgbXVzaWNpYW4gbWF5IHdhbnQgdG8gY3JlYXRlCm1vcmUgdGhhbiBvbmUgZGVsYXkgbWFj
aGluZSwgb3IgbW9yZSB0aGFuIG9uZSBzYW1wbGVyIG1hY2hpbmUsIGVhY2gKZG9pbmcgaXRz
IG93biB0aGluZyBhbmQgcGxheWluZyBpdHMgb3duIHNlcXVlbmNlcy4KClxvY3RhbFwgdXNl
cyB0aGUge1x0dCBtYWNoaW5lfSBzdHJ1Y3R1cmUgdG8gcmVwcmVzZW50IGVhY2ggbWFjaGlu
ZQppbnN0YW5jZSwgcmVnYXJkbGVzcyBvZiB0eXBlLiAoVGhlIHN5c3RlbSBrZWVwcyB0cmFj
ayBvZiB3aGljaCB0eXBlCmVhY2ggbWFjaGluZSBpbnN0YW5jZSBoYXMuKSBTaW5jZSBlYWNo
IG1hY2hpbmUgdHlwZSB3aWxsIG5lZWQgdG8gc3RvcmUKZGlmZmVyZW50IGtpbmRzIG9mIGRh
dGEsIHdlJ2xsIG5lZWQgdG8gZGVmaW5lIGEgbmV3IHN0cnVjdHVyZSB0eXBlCnRoYXQgaXMg
dW5pcXVlIHRvIHRoZSBuZXcgbWFjaGluZSB0eXBlLgoKXG9jdGFsXCBjYWxscyB0aGVzZSB7
XGJmIHN0YXRlIG9iamVjdHMufSBFYWNoIG1hY2hpbmUgY2FuIGhhdmUgYSBzdGF0ZQpvYmpl
Y3QgYXNzb2NpYXRlZCB3aXRoIGl0LiBTdHJ1Y3Qge1x0dCBtYWNoaW5lfSBoYXMgYSB7XHR0
IHZvaWQqfQptZW1iZXIgY2FsbGVkIHtcdHQgc3RhdGV9IHdoaWNoIHlvdSBjYW4gdXNlIHRv
IHN0b3JlIHRoZSBhZGRyZXNzIG9mIGEKc3RhdGUgb2JqZWN0LgoKU29tZSBvZiB0aGlzIGJv
b2trZWVwaW5nIGNhbiBiZSBoaWRkZW4gdXNpbmcgdGhlIGluY2x1ZGVkIHtcdHQKb3hcX3dy
YXBwZXJzLn0gVGhpcyBpcyBhIEMrKyB3cmFwcGVyIGZvciB0aGUgXG94YXBpLiBDbGFzcyBh
bmQgbWVtYmVyCmZ1bmN0aW9uIGZhY2lsaXRpZXMgaGlkZSB0aGUgbWFuYWdlbWVudCBvZiBz
dGF0ZSBvYmplY3RzIGNvbXBsZXRlbHkuIFNlZSB0aGlzIGRvY3VtZW50J3MgY2hhcHRlciBv
biB7XHR0IG94XF93cmFwcGVycy59Cgpcc2VjdGlvbntTZXR0aW5nIHVwIHlvdXIgY2FsbGJh
Y2tzfQoKRWFjaCBvY3RhbCBtYWNoaW5lIGxpYnJhcnkgbXVzdCBleHBvcnQgc2V2ZW4gc3Bl
Y2lhbGx5IG5hbWVkIGNhbGxiYWNrCmZ1bmN0aW9ucy5cZm9vdG5vdGV7VGhleSBtdXN0IGhh
dmUgQyBsaW5rYWdlLn0gVGhpcyBzZWN0aW9uIGRldGFpbHMKd2hlbiBhbmQgaG93IHRoZXNl
IGZ1bmN0aW9ucyBhcmUgY2FsbGVkIGJ5IHRoZSBob3N0LCBhcyB3ZWxsIGFzIHdoYXQKdG8g
ZG8gKGFuZCB3aGF0IG5vdCB0byBkbykgd2hlbiB0aGlzIGhhcHBlbnMuCgpcc3Vic2VjdGlv
bntveFxfaW5pdDogdGhlIHN0YXJ0dXB9ClxsYWJlbHtveF9pbml0fQoKXGNvZGV7IGludCBv
eFxfaW5pdChtYWNoaW5lXF90eXBlKiB0KSB9CgpUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3
aGVuIHRoZSBzaGFyZWQgbGlicmFyeSBpcyBmaXJzdCBsb2FkZWQuIFxvY3RhbFwgCndpbGwg
cGFzcyB5b3UgdGhlIGFkZHJlc3Mgb2YgYSBtYWNoaW5lXF90eXBlIHN0cnVjdHVyZSwgd2hp
Y2ggeW91IG11c3QKZmlsbCBpbiB3aXRoIHRoZSBhcHByb3ByaWF0ZSBkYXRhLiBZb3UgbWF5
IGFsc28gcGVyZm9ybSBhbnkgb3RoZXIKb25lLXRpbWUgaW5pdGlhbGl6YXRpb24gdGFza3Mg
aGVyZSwgc3VjaCBhcyBwcmVjb21wdXRpbmcgYSBsYXJnZQpsb29rdXAgdGFibGUsIGxvYWRp
bmcgYSBzcGVjaWFsIGNvbmZpZ3VyYXRpb24gZmlsZSwgZXRjZXRlcmEuCgpIZXJlIGlzIGEg
cXVpY2sgZXhhbXBsZSBvZiBob3cgdG8gZmlsbCBpbiB0aGUgc3RydWN0dXJlLCB0YWtlbiBm
cm9tIHRoZSBleGFtcGxlCiAgc3F1YXJlIHdhdmUgZ2VuZXJhdG9yIG1hY2hpbmUgaW5jbHVk
ZWQgaW4gdGhlIFxvY3RhbFwgZGlzdHJpYnV0aW9uOiAKClxiZWdpbntxdW90ZX0KXGJlZ2lu
e3ZlcmJhdGltfQogIHQtPmxvbmdfbmFtZSAgICAgICAgPSAiRGF2aWQncyBTaW1wbGUgU3F1
YXJld2F2ZSBNYWNoaW5lIjsgCiAgdC0+c2hvcnRfbmFtZSAgICAgICA9ICJkdG9zcXVhcmUi
OyAKICB0LT5tYXhfdHJhY2tzICAgICAgID0gMTsgCiAgdC0+aW5wdXRfY2hhbm5lbHMgICA9
IDE7IAogIHQtPm91dHB1dF9jaGFubmVscyAgPSAxOyAgIAogIHQtPm51bV9wYXJhbXMgICAg
ICAgPSAyOyAKCiAgLyogZ2l2ZSBpdCB0aGUgYWRkcmVzcyBvZiBteSBhcnJheSBvZiBwYXJh
bSBzdHJ1Y3RzICovIAogIHQtPnBhcmFtX3NwZWNzICAgICAgPSBteV9wYXJhbXM7ClxlbmR7
dmVyYmF0aW19ClxlbmR7cXVvdGV9CgoKXHN1YnNlY3Rpb257b3hcX2NyZWF0ZTogbWFudWZh
Y3R1cmluZyBuZXcgbWFjaGluZXN9ClxsYWJlbHtveF9jcmVhdGV9Clxjb2RlIHt2b2lkIG94
XF9jcmVhdGUobWFjaGluZSogbSl9CgpXaGVuIHRoZSB1c2VyIGNyZWF0ZXMgYSBuZXcgbWFj
aGluZSBpbnN0YW5jZSBvZiB5b3VyIHR5cGUsIHRoZSBob3N0CndpbGwgY2FsbCB0aGlzIGZ1
bmN0aW9uIHdpdGggdGhlIGFkZHJlc3Mgb2YgdGhlIG5ldyB7XHR0IG1hY2hpbmV9CnN0cnVj
dC4KCllvdXIgam9iIGR1cmluZyBveFxfY3JlYXRlKCkgaXMgYXMgZm9sbG93cyBpcyB0byBz
ZXQgdXAgdGhlIG1hY2hpbmUKaW5zdGFuY2UgYW5kIGdldCBpdCByZWFkeSB0byBydW4uCgpc
YmVnaW57aXRlbWl6ZX0KXGl0ZW0gQWxsb2NhdGUgYSBuZXcgc3RhdGUgb2JqZWN0IApcaXRl
bSBBc3NvY2lhdGUgdGhlIG5ldyBzdGF0ZSBvYmplY3Qgd2l0aCB0aGUgbWFjaGluZSBieSBh
c3NpZ25pbmcgaXRzCiAgYWRkcmVzcyB0byB7XHR0IG0tPnN0YXRlfSAoQWZ0ZXIgY2FzdGlu
ZyB0byB7XHR0ICh2b2lkKil9KQpcaXRlbSBEb24ndCB3b3JyeSBhYm91dCBzZXR0aW5nIHBh
cmFtIGRlZmF1bHRzOyB0aGUgaG9zdCB3aWxsIGRvIHRoaXMgYWZ0ZXIgeW91IHtcdHQgcmV0
dXJuKCl9IApcZW5ke2l0ZW1pemV9CgpJZiB5b3UncmUgbm90IHVzaW5nIHN0YXRlIG9iamVj
dHMsIHlvdSBjYW4gc2tpcCBtb3N0IG9mIHRob3NlIHN0ZXBzLgoKSGVyZSdzIGFuIGV4YW1w
bGU6CgpcY29kZXsKbXlcX3N0YXRlICpzOyBcXAouLi4gXFwKZG9cX3NvbWV0aGluZ1xfd2l0
aChzKTsgXFwKbS0+c3RhdGUgPSAodm9pZCopczsgXFwKfQoKClxzdWJzZWN0aW9ue294XF9k
ZXN0cm95OiBkZXN0cm95aW5nIG1hY2hpbmVzfQoKVGhlIG9wcG9zaXRlIG9mIHtcdHQgb3hc
X2NyZWF0ZSgpLn0gSWYgeW91IG5vcm1hbGx5IGNyZWF0ZSBhIHN0YXRlCm9iamVjdCBvciBh
bGxvY2F0ZSBhbnkgbWVtb3J5IGJ1ZmZlcnMgZm9yIGEgbWFjaGluZSwgbm93IGlzIHRoZSB0
aW1lCnRvIGZyZWUgdGhhdCBtZW1vcnksIGFuZCB0aGVuIGZyZWUgdGhlIHN0YXRlIG9iamVj
dCBpdHNlbGYuCgpcc3Vic2VjdGlvbntveFxfd29yazogcHJvY2Vzc2luZyBhbmQgZ2VuZXJh
dGluZyB9CgpcY29kZSB7aW50IG94XF93b3JrKG1hY2hpbmUqIG0sIGludCBibG9ja1xfc2l6
ZSl9CgpUaGlzIGlzIHdoZXJlIHRoZSBhY3R1YWwgd29yayBoYXBwZW5zOyBoZW5jZSB0aGUg
bmFtZS4gRmlyc3QsIGdyYWIKeW91ciBzdGF0ZSBvYmplY3QgYnkgY2FzdGluZyB7XHR0IG0t
PnN0YXRlfSB0byB3aGF0ZXZlciBwb2ludGVyIHR5cGUKeW91IGFyZSB1c2luZyBmb3IgeW91
ciBzdGF0ZSBvYmplY3RzLgoKXGNvZGUge215XF9zdGF0ZSAqcyA9IChteVxfc3RhdGUqKSBt
LT5zdGF0ZTsgfQoKWW91ciBwYXJhbWV0ZXJzIHdpbGwgaGF2ZSBiZWVuIHNldCBkdXJpbmcg
dGhlIGhvc3QncyBjYWxsIHRvIHtcdHQKb3hcX3VwZGF0ZSgpLn0gVGhlIG51bWJlciBvZiBz
YW1wbGVzIHlvdSBzaG91bGQgZ2VuZXJhdGUgZm9yIHRoaXMKYmxvY2sgaXMgaGVsZCBpbiB7
XHR0IGJsb2NrXF9zaXplIH0gd2hpY2ggaXMgcGFzc2VkIHRvIHlvdS4gIEJlZ2luCnByb2Nl
c3NpbmcuIFlvdXIgaW5wdXQgYnVmZmVycyB3aWxsIGJlIGFycmF5cyBvZiB0eXBlIHtcdHQg
c2FtcC59CntcdHQgbS0+bGlufSBhbmQge1x0dCBtLT5yaW59IGFyZSB0aGUgbGVmdCBhbmQg
cmlnaHQgaW5wdXQKYnVmZmVyc1xmb290bm90ZXtJZiB5b3VyIG1hY2hpbmUgb25seSBhY2Nl
cHRzIGEgbW9ubyBpbnB1dCwgdGhleSdsbApib3RoIHBvaW50IHRvIHRoZSBzYW1lIGJ1ZmZl
ci59LCB3aGlsZSB7XHR0IG0tPmxvdXR9IGFuZCB7XHR0IG0tPnJvdXR9CmFyZSB0aGUgb3V0
cHV0IGJ1ZmZlcnMuIAoKVGhlcmUgd2lsbCBhbHNvIGJlIGFuIGF1eGlsaWFyeSBpbnB1dCBz
aWduYWwgc2V0LCBsYWJlbGVkIHtcdHQKeGxpbi94cmlufSwgZm9yIHVzZSBpbiB2b2NvZGlu
ZyBhbmQgb3RoZXIgbW9kdWxhdGlvbiB0YXNrcy4gIFRoaXMgd2lsbApiZSBpbXBsZW1lbnRl
ZCBzb29uLgoKSWYgeW91IGdlbmVyYXRlZCBhbnkgc291bmQsIHJldHVybiB7XHR0IHdvcmtc
X25vaXN5OyB9IG90aGVyd2lzZSwKcmV0dXJuIHtcdHQgd29ya1xfcXVpZXQufQoKXHN1YnNl
Y3Rpb257b3hcX3VwZGF0ZTogZ2V0dGluZyB5b3VyIHBhcmFtZXRlcnMgfQpcY29kZXsgdm9p
ZCBveFxfdXBkYXRlKG1hY2hpbmUqIG0pIH0KClVzZSB0aGlzIGNhbGxiYWNrIHRvIHJlc3Bv
bmQgdG8gZXZlbnRzIGFuZCBwYXJhbWV0ZXIgY2hhbmdlcywgYWx0ZXJpbmcKdGhlIHN0YXRl
IG9mIHlvdXIgbWFjaGluZSBhcyBuZWVkZWQuCgpUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBh
dCBzZXF1ZW5jZXIgdGlja3Mgd2hlbiBwYXJhbWV0ZXJzIHNob3VsZApjaGFuZ2UuIEl0IG1h
eSBhbHNvIGJlIGNhbGxlZCBvbiBibG9jayBib3VuZGFyaWVzIHRoYXQgbGllIGluIGJldHdl
ZW4KdGlja3MsIHdoZW4gcmVhbHRpbWUgZXZlbnRzIG9jY3VyLiBUaGlzIGlzIHVzZWQgdG8g
YWNoaWV2ZSByZWxhdGl2ZWx5Cmxvdy1sYXRlbmN5IGtleWJvYXJkIGFuZCBwb3NzaWJseSBN
SURJIGNvbnRyb2wsIHdoaWxlIHN0aWxsIHJldGFpbmluZwp0aGUgYmxvY2stb3JpZW50ZWQg
b3V0cHV0IGFuZCB0cmFja2VyLXNlcXVlbmNpbmcuCgpccGFyYWdyYXBoe1doZXJlIGlzIG15
IHNlcXVlbmNlIGRhdGE/fSBOb3cgaXMgd2hlbiBhbGwgdGhvc2Uge1x0dCBpeFxfKn0gY29u
c3RhbnRzIGNvbWUgaW4uIFRoZSB7XHR0IG1hY2hpbmV9IHN0cnVjdHVyZSBoYXMgYSBtZW1i
ZXIgd2hvc2UgZGVjbGFyYXRpb24gbG9va3Mgc29tZXRoaW5nIGxpa2UgdGhpczoKClxjb2Rl
IHsgcGFyYW0gZXZlbnRzW3RyYWNrc11bcGFyYW1cX25vXTsgfQoKVGhpcyBpcyBhIHR3by1k
aW1lbnNpb25hbCBhcnJheSBvZiB7XHR0IHBhcmFtfSB2YWx1ZXMuIEl0IHJlcHJlc2VudHMK
b25lIG1vbWVudCdzIHBhcmFtZXRlciBjaGFuZ2VzIGZvciBtdWx0aXBsZSB0cmFja3MgaW4g
b25lIG1hY2hpbmUuIFlvdQp1c2UgdGhlIGZpcnN0IHN1YnNjcmlwdCB0byBzZWxlY3Qgd2hp
Y2ggc2VxdWVuY2VyIHRyYWNrIHlvdSBhcmUKcmVhZGluZzsgdGhlIHNlY29uZCBzdWJzY3Jp
cHQgc2VsZWN0cyB0aGUgcGFyYW1ldGVyIChvciBgYGNvbHVtbicnIG9mCnRoZSB0cmFja2Vy
KS4KCllvdXIgdHJhY2tzIGFyZSBudW1iZXJlZCBmcm9tIHplcm8gdG8ge1x0dCBteVxfbnVt
XF90cmFja3MgLSAxfTsgdGhlCnBhcmFtZXRlciBpbmRpY2VzIHdpbGwgbWF0Y2ggdXAgd2l0
aCB0aGUge1x0dCBpeFxfKn0gY29uc3RhbnRzIHlvdSBzZXQgdXAKZWFybGllci4KClRoZXJl
IGFyZSBzb21lIHNwZWNpYWwgcGFyYW0gdmFsdWVzIHRoYXQgdGhlIGhvc3Qgd2lsbCB1c2Ug
dG8gc2VuZAptZXNzYWdlcyBhYm91dCBlYWNoIHBhcmFtZXRlci4gQ29ycmVzcG9uZGluZyBz
eW1ib2xpYyBuYW1lcyBhcmUKZGVmaW5lZCBmb3IgeW91IGluIHtcdHQgbWFjaGluZS5ofS4g
QSB2YWx1ZSBvZiB7XHR0IG5vY2hhbmdlfSBtZWFucwp0aGF0IHRoZSBwYXJhbWV0ZXIgaXMg
bm90IGNoYW5naW5nLlxmb290bm90ZXtUcmFkaXRpb25hbGx5LCB0cmFja2VyCiAgY29sdW1u
cyBoYXZlIGJlZW4gYGBwZXJzaXN0ZW50LicnIEEgYmxhbmsgdHJhY2tlciBjZWxsIGNoYW5n
ZXMKICBub3RoaW5nIGFib3V0IHRoZSBzdGF0ZSBvZiB0aGUgbWFjaGluZSwgd2hpbGUgcGFy
YW1ldGVyIGNoYW5nZXMgdGhhdAogIGRvIGhhcHBlbiB7XGl0IHN0YXkgY2hhbmdlZCB1bnRp
bCB0aGUgdXNlciBvciBzZXF1ZW5jZXIgaW50ZXJmZXJlcy59CiAgSWYgeW91IGZvbGxvdyB0
aGlzIGNvbnZlbnRpb24sIHlvdXIgbWFjaGluZXMgd2lsbCBmZWVsIG1vcmUgc29saWQKICBh
bmQgbW9yZSBjb25zaXN0ZW50IHRvIGxvbmd0aW1lIHVzZXJzIG9mIHRyYWNraW5nIHNvZnR3
YXJlLn0gVGhlCnZhbHVlIHtcdHQgbm90ZW9mZn0gbWVhbnMgdGhhdCB0aGUgbm90ZSBzaG91
bGQgc3RvcCBwbGF5aW5nIG9uIHRoYXQKdHJhY2suCgpccGFyYWdyYXBoe0dyZWF0LiBCdXQg
bm93IHdoYXQgZG8gSSBkbyB3aXRoIHRoZSBkYXRhP30gCgpZb3UgbWlnaHQgd2FudCB0byBj
aGFuZ2UgdGhlIHN0YXRlIG9mIHlvdXIgbWFjaGluZS4gRm9yIGluc3RhbmNlLCB3aGVuCnlv
dSByZWNpZXZlIGEge1x0dCBub3Rlb2ZmfSB2YWx1ZSBpbiBhIG5vdGUgY29sdW1uLCB5b3Ug
bWF5IG5lZWQgdG8KdXBkYXRlIGEgdmFyaWFibGUgc29tZXdoZXJlIHRoYXQgc2F5cyBgYEkn
bSBubyBsb25nZXIgcGxheWluZyBhbnkKbm90ZXMgb24gdHJhY2sgJHgkLicnXGZvb3Rub3Rl
e1RoaXMgY2FuIGJlIHVzZWQgZm9yIG9wdGltaXphdGlvbjsgaWYKICB5b3VyIG1hY2hpbmUg
aXMgbm90IGN1cnJlbnRseSBwbGF5aW5nIGFueSBub3RlcywgaXQgY2FuIGZyZWUgdXAKICBw
cm9jZXNzb3IgdGltZSBieSBkb2luZyBub3RoaW5nIGR1cmluZyB7XHR0IG94XF93b3JrKCl9
Ln0KCllvdSBtaWdodCBhbHNvIHdhbnQgdG8gc2NhbGVcZm9vdG5vdGV7U2NhbGluZyBtYWNy
b3Mgd2lsbCBwcm9iYWJseSBiZQphZGRlZCB0byB7XHR0IG9jdGFsLmh9IHRvIHNpbXBsaWZ5
IHRoaXMgcHJvY2Vzcy59IHRoZSBwYXJhbWV0ZXIKZGF0YS4gRm9yIGluc3RhbmNlLCBcb2N0
YWxcIHdpbGwgZGlzcGxheSB7XHR0IHNtYWxsfSB0cmFja2VyIGNvbHVtbnMKYXMgdHdvLWRp
Z2l0IGhleGFkZWNpbWFsIG51bWJlcnM7IHdoaWxlIHRoaXMgbWFrZXMgaXQgZWFzeSBmb3Ig
dGhlCnVzZXIgdG8gZW50ZXIgYW5kIGVkaXQgdGhlIGRhdGEsIGl0J3Mgbm90IGxpa2VseSB0
aGF0IHlvdSdsbCBiZSB1c2luZwphIHZhbHVlIGZyb20gc2NhbGVkIHtcdHQgMHgwMCAtLSAw
eEZFfSBkaXJlY3RseSBpbiBEU1AgdGFza3MuICBNb3JlCm9mdGVuIHlvdSdsbCBuZWVkICsv
LSAxLjAgb3Igc29tZXRoaW5nIGxpa2UgdGhhdC4gWW91IGNhbiB1c2Uge1x0dApveFxfdXBk
YXRlKCl9IHRvIHBlcmZvcm0gdGhlIHNjYWxpbmcgd2hlbiBhIHBhcmFtZXRlcgpjaGFuZ2Vz
XGZvb3Rub3Rle1RoaXMgbWlnaHQgc2VlbSB1bm5lY2Vzc2FyeSwgYnV0IHRoZSBwb2ludCBv
ZiBkb2luZwppdCB0aGlzIHdheSBpcyB0byBrZWVwIHRoZSBtdXNpY2lhbidzIGludGVyZmFj
ZSB0byB0aGUgZGF0YSBtb3JlCmNvbnNpc3RlbnQsIGFuZCBlbnN1cmUgdGhhdCBoZXggbnVt
YmVycyB3aWxsIGludGVyb3BlcmF0ZSB3aXRoIG1vc3QKZGF0YSB0eXBlcyBieSBhbGxvd2lu
ZyBlYWNoIG1hY2hpbmUgdHlwZSB0byBjaG9vc2UgaG93IHRoZXkgd2lsbCBiZQppbnRlcnBy
ZXRlZC4gU29tZSBoYXZlIGFyZ3VlZCBmb3IgdGhlIGFiaWxpdHkgdG8gc2VxdWVuY2Ugd2l0
aAphcmJpdHJhcnkgZGF0YSB0eXBlcywgYnV0IGltYWdpbmUgdGhlIGFuYWxvZ291cyBzaXR1
YXRpb24gd2l0aAp0cmFkaXRpb25hbCBtdXNpYyBub3RhdGlvbjogd291bGQgd2UgcmVhbGx5
IHdhbnQgYSBkaWZmZXJlbnQtbG9va2luZwpzZXQgb2Ygbm90ZSBzeW1ib2xzIGZvciBlYWNo
IGluc3RydW1lbnQ/fSwgc3RvcmluZyB0aGUgcmVzdWx0IGluIHlvdXIKc3RhdGUgb2JqZWN0
IGlmIG5lY2Nlc3NhcnkuCgpIZXJlIGlzIGEgY29kZSBzbmlwcGV0IHRoYXQgcmVhZHMgYSB0
cmFjawpmdWxsIG9mIHBhcmFtZXRlcnM6CgpcYmVnaW57cXVvdGV9ClxiZWdpbnt2ZXJiYXRp
bX0KZGF0YSB0ZW1wOwoKLyogcmVhZCBhIHBhcmFtZXRlciAqLyAKCnRlbXAgPSBtLT5wYXJh
bXNbY3VycmVudF90cmFja11baXhfbm90ZV07CmlmICh0ZW1wICE9IG5vY2hhbmdlKSB7ICAg
IAogIHMtPnBpdGNoID0gbm90ZTJmcmVxKHRlbXApOwogIGlmICh0ZW1wID0gbm90ZW9mZikg
cy0+cGxheSA9IDA7CiAgICBlbHNlIHMtPnBsYXkgPSAxOwp9CgovKiBub3cgcmVhZCBhbm90
aGVyICovIAoKdGVtcCA9IG0tPnBhcmFtc1tjdXJyZW50X3RyYWNrXVtpeF92b2xdOyAgIC8q
IHZvbHVtZSAqLyAgCmlmICh0ZW1wICE9IG5vY2hhbmdlKQogIHMtPnZvbCA9ICgoZmxvYXQp
dGVtcCkgLyAyNTUuMDsgICAvKiBzY2FsZSBpdCAqLyAKCi4uLgpcZW5ke3ZlcmJhdGltfQpc
ZW5ke3F1b3RlfQoKXHN1YnNlY3Rpb257b3hcX2Rlc2M6IGdpdmluZyB0ZXh0IGZlZWRiYWNr
IH0KClxjb2RlIHtjb25zdCBjaGFyKiBveFxfZGVzYyhpbnQgd2hpY2hcX3BhcmFtLCBwYXJh
bQogIHZhbHVlKX0KClRoZSB1c2VyIG5lZWRzIHRvIGtub3cgc29tZXRoaW5nIGFib3V0IGhv
dyBhIG1hY2hpbmUgaW50ZXJwcmV0cwpudW1iZXJzLiBTbywgaW4gYWRkaXRpb24gdG8gdGhl
IHNpbXBsZSBuYW1pbmcgYW5kIGRlc2NyaXB0aW9uIG9mCnBhcmFtZXRlcnMgZGlzY3Vzc2Vk
IGluIFxyZWZ7cGFyYW1ldGVyc30sIHRoZSBcb3hhcGlcIHN1cHBvcnRzCmBgbGl2ZScnIHBh
cmFtZXRlciBmZWVkYmFjayBmcm9tIHRoZSBtYWNoaW5lcy4gV2hlbiB0aGUgbXVzaWNpYW4K
dHdlYWtzIGEgc2xpZGVyIG9yIHNwaW4gYnV0dG9uIG9uIHlvdXIgbWFjaGluZSwgT2N0YWwg
Y2FsbHMge1x0dAogIG94XF9kZXNjKCl9XGZvb3Rub3Rle05vdGUgdGhhdCB0aGlzIGZ1bmN0
aW9uIGlzIG5vdCBjYWxsZWQgaW4KICByZWZlcmVuY2UgdG8gYW55IHBhcnRpY3VsYXIgbWFj
aGluZSBpbnN0YW5jZS4gSXQgaXMKICBgYGxpYnJhcnktd2lkZS4nJ30gIHdpdGggdGhlIGlu
ZGV4IG51bWJlciBvZiB0aGUgcGFyYW1ldGVyIGJlaW5nCnR3ZWFrZWQsIGFuZCB0aGUgbmV3
IHZhbHVlLiBZb3VyIGpvYiBpcyB0byBtYWtlIHVwIGEgc3RyaW5nCmRlc2NyaWJpbmcgdGhl
IGBgaW50ZXJwcmV0ZWQgdmVyc2lvbicnIG9mIHRoZSBuZXcgdmFsdWU7IGZvciBpbnN0YW5j
ZSwKaWYgdGhlIHJhbmdlIHtcdHQgMHgwMCAtLSAweEZFfSBpcyBpbnRlcnByZXRlZCBhcyBh
IHBlcmNlbnRhZ2UsIHRoZQpmb2xsb3dpbmcgY29kZSB3aWxsIHJldHVybiBhIHN0cmluZyBk
ZXNjcmliaW5nIHRoZSBuZXcgdmFsdWUuIFxvY3RhbFwgCm1pZ2h0IHRoZW4gZGlzcGxheSB0
aGlzIHN0cmluZyBvbnNjcmVlbi4KClxiZWdpbntxdW90ZX0KXGJlZ2lue3ZlcmJhdGltfQpz
dGF0aWMgY2hhciAqdGVtcHN0cmluZ1sxMDAwXTsgIC8qIHRoaXMgTVVTVCBiZSBzdGF0aWMg
Ki8gCmZsb2F0IHg7CmludCBwZXJjZW50OwouLi4Kc3dpdGNoKHdoaWNoX3BhcmFtKSB7CiAg
CiAgY2FzZSBpeF9mZWVkYmFjazoKICAgIHggPSAoKGZsb2F0KXZhbHVlKSAvIDI1NS4wOyAK
ICAgIHBlcmNlbnQgPSAoaW50KSh4KjEwMCk7CiAgICBzcHJpbnRmKHRlbXBzdHJpbmcsICIl
ZCUlIiwgcGVyY2VudCk7CiAgICByZXR1cm4odGVtcHN0cmluZyk7CiAgICBicmVhazsKCiAg
Y2FzZSBpeF92b2w6IAogICAgCiAgICAuLi4KClxlbmR7dmVyYmF0aW19ClxlbmR7cXVvdGV9
Cgpcbm90YWJlbmUgClRoZSBzdHJpbmcgYmVpbmcgcmV0dXJuZWQgbXVzdCBiZSBkZWNsYXJl
ZCB7XHR0IHN0YXRpYzt9IHJldHVybmluZyB0aGUKYWRkcmVzcyBvZiBhIHN0YWNrLWFsbG9j
YXRlZCBsb2NhbCB2YXJpYWJsZSB3aWxsIGxpa2VseSBjYXVzZSBhCmNyYXNoLiBEb24ndCBy
ZXR1cm4gTlVMTCBlaXRoZXI7IGlmIHNvbWV0aGluZyBnb2VzIHdyb25nLCByZXR1cm4gYQpy
ZWFsIG1lc3NhZ2UgbGlrZSBgYEVSUk9SIScnIFRoaXMgd2lsbCBtYWtlIGRlYnVnZ2luZyBl
YXNpZXIsIHRvby4KClxub3RhYmVuZSAKSXQgaXNuJ3Qgc2FmZSB0byBhc3N1bWUgdGhhdCB0
aGUgaG9zdCdzIGNhbGxzIHRvIHtcdHQgb3hcX2Rlc2MoKX0gd2lsbApgYHBhaXIgdXAnJyB3
aXRoIHBhcmFtZXRlciBjaGFuZ2VzLiBXaGlsZSB0aGlzIHdpbGwgb2Z0ZW4gYmUgdHJ1ZSwK
c29tZXRpbWVzIHRoZXJlIHdpbGwgYmUgbm8gY29ubmVjdGlvbiBiZXR3ZWVuIGNhbGxzLiAg
Rm9yIGluc3RhbmNlLCB0bwpmaWxsIGEgYGBsaXN0Ym94Jycgc3R5bGUgY29udHJvbCB3aXRo
IGZpdmUgb3Igc2l4IG9wdGlvbnMsIE9DVEFMIHdpbGwKcXVlcnkge1x0dCBveFxfZGVzYygp
fSBmb3IgZWFjaCBjaG9pY2UgYW5kIHJldHJpZXZlIGEgc3RyaW5nIHRvCmRpc3BsYXkgZm9y
IGVhY2ggaXRlbSBpbiB0aGUgYm94LgoKWW91IGNhbiB1c2UgQydzIHtcdHQgZW51bX0gZmFj
aWxpdHkgdG8gY3JlYXRlIGEgc2V0IG9mIHVuaXF1ZSBpbmRpY2VzLAphbmQgdGhlbiB7XHR0
IHN3aXRjaH0gb24gdGhlIHtcdHQgdmFsdWV9IHBhc3NlZCB0byB5b3UgZHVyaW5nIHtcdHQK
b3hcX2Rlc2MoKX0sIGluIGVhY2gge1x0dCBjYXNlfSByZXR1cm5pbmcgdGhlIHN0cmluZyB5
b3Ugd291bGQgbGlrZSB0byBoYXZlCmFwcGVhciBpbiB0aGUgaW50ZXJmYWNlLiBUaGlzIGlu
ZGV4aW5nIHN0cmF0ZWd5IGlzIHRoZSBzYW1lIGFzIHRoZSBvbmUKdXNlZCBmb3IgcGFyYW1l
dGVycyB0aGVtc2VsdmVzLgoKXHN1YnNlY3Rpb257b3hcX3RyYWNrOiB3aGVuIHRoZSB1c2Vy
IGFkZHMgb3Igc3VidHJhY3RzIHRyYWNrc30KXGxhYmVse211bHRpdHJhY2t9CgpcY29kZSB7
dm9pZCBveFxfdHJhY2soaW50IGNoYW5nZSl9CgpUaGUgc2VjdGlvbiBvbiB7XHR0IG94XF91
cGRhdGUoKX0gY29udGFpbmVkIGEgZGlzY3Vzc2lvbiBvZiBob3cgeW91cgptYWNoaW5lcyBj
YW4gcmVjaWV2ZSBtdWx0aXBsZSB0cmFja3MgZnVsbCBvZiBwYXJhbWV0ZXJzLiBCdXQgaG93
IGRvCnlvdSBrbm93IHdoZW4gdGhlIHVzZXIgYWRkcyBvciBkZWxldGVzIGEgdHJhY2s/IChL
ZWVwIGluIG1pbmQgdGhhdCB0aGUKdHJhY2tzIGFyZSBhcnJhbmdlZCBpbiBhIHN0YWNrLCB3
aGVyZSBpbnNlcnRpb25zIGFuZCBkZWxldGlvbnMgY2FuCm9ubHkgb2NjdXIgYXQgdGhlIHJp
Z2htb3N0IGVuZC4pCgpXaGVuIHRoZSB1c2VyIGFkZHMgb3IgZGVsZXRlcyBhIHRyYWNrLCBc
b2N0YWxcIHdpbGwgc2V0IHtcdHQgbS0+bnVtXF90cmFja3N9IHRvCnRoZSBuZXcgdmFsdWUs
IGFuZCB0aGVuIGl0IHdpbGwgc2lnbmFsIHlvdSBieSBjYWxsaW5nIHtcdHQgb3hcX3RyYWNr
KCkufQpJZiB0aGUgdXNlciBoYXMgYWRkZWQgYSB0cmFjaywgeW91J2xsIHJlY2lldmUgdGhl
IHZhbHVlIHtcdHQgKzEufSBJZiB0aGUgCnVzZXIgaGFzIHJlbW92ZWQgYSB0cmFjaywgeW91
J2xsIHJlY2lldmUge1x0dCAtMS59CgpEbyB3aGF0ZXZlciBtZW1vcnkgYWxsb2NhdGlvbi9k
ZWFsbG9jYXRpb24gb3IgaW5pdGlhbGl6YXRpb24geW91IG1heQpuZWVkIHRvIGRvIGluIHRo
ZXNlIGNhc2VzLgoKXHNlY3Rpb257QmVpbmcgZmxhdHRlbmVkfQpcbGFiZWx7ZmxhdHRlbmVk
fQpXaGVuIHRoZSB1c2VyIHNhdmVzIGhpcy9oZXIgc29uZywgeW91ciBtYWNoaW5lIHdpbGwg
bmVlZCB0byBiZSBzYXZlZAp0byBkaXNrLiBTaW5jZSBcb2N0YWxcIGhhcyBzdG9yZWQgYWxs
IHRoZSBwYXR0ZXJucyBvZiB5b3VyIG1hY2hpbmUsIGFzCndlbGwgYXMga2VwdCB0cmFjayBv
ZiBjdXJyZW50IHBhcmFtZXRlciB2YWx1ZXMsIGl0IGNhbiBzYXZlIGFsbCB0aGlzCmRhdGEg
d2l0aG91dCB5b3VyIG5lZWRpbmcgdG8gd29ycnkgYWJvdXQgaXQuCgpBbGwgbWFjaGluZXMg
c3RhcnQgd2l0aCBvbmUgdHJhY2sgdXBvbiBjcmVhdGlvbi4gV2hlbiBcb2N0YWxcIG5lZWRz
IHRvCmNyZWF0ZSBhIG1hY2hpbmUgd2l0aCBmaXZlIHRyYWNrcyAoYmVjYXVzZSBzdWNoIGEg
bWFjaGluZSB3YXMgc2F2ZWQgaW4gdGhlIHNvbmcpLAppdCB3aWxsIHNpbXBseSBjcmVhdGUg
YSBkZWZhdWx0IG1hY2hpbmUgYW5kIHRoZW4gY2FsbCB5b3VyIHtcdHQKb3hcX3RyYWNrKDEp
fSBmb3VyIHRpbWVzIHRvIGFkZCB0aGUgcmVtYWluaW5nIHRyYWNrcy4KClxzZWN0aW9ue0Nv
bXBpbGluZyB3aXRoIEdDQy59CgpVc2luZyB0aGUge1x0dCAtc2hhcmVkfSBvcHRpb24gdG8g
R0NDLCB5b3UgY2FuIGNvbXBpbGUgeW91ciBDIHNvdXJjZQpmaWxlIGludG8gYSBzZWxmLWNv
bnRhaW5lZCBzaGFyZWQgbGlicmFyeSAod2l0aCB0aGUgc3VmZml4IHtcdHQKKi5zb30pLiBP
bmNlIHRoaXMgaXMgZG9uZSwgXG9jdGFsXCB3aWxsIGJlIGFibGUgdG8gbG9hZCBhbmQgdXNl
IHlvdXIKbWFjaGluZS4gSGVyZSdzIGFuIGV4YW1wbGUgb2YgYSB7XGJmIEdOVSBtYWtlfSBj
b21tYW5kIHRoYXQgd2lsbApwcm9wZXJseSBjb21waWxlIHlvdXIgbWFjaGluZToKClxiZWdp
bnt2ZXJiYXRpbX0Kc3F1YXJlZ2VuLnNvOiBzcXVhcmVnZW4uYyB1dGlsLm8gb2N0YWwubyAK
ICAgIGdjYyAtTzMgLWcgLXBlZGFudGljIC1zaGFyZWQgdXRpbC5vIHNxdWFyZWdlbi5jIC1v
IHNxdWFyZWdlbi5zbwpcZW5ke3ZlcmJhdGltfQoKXG9jdGFsIHtcdHQgJ3N9IGJ1aWxkIHN5
c3RlbSB3aWxsIGJlIGFibGUgdG8gYXV0b21hdGljYWxseSBjb21waWxlIGFuZCBpbnN0YWxs
Cm1hY2hpbmVzIGZvciB0aGUgZW5kIHVzZXIsIHNvIGEgZGlzdHJpYnV0aW9uIHBhY2sgY29u
c2lzdGluZyBvZiB0aGUKbWFjaGluZSBzb3VyY2UgYW5kIGRvY3VtZW50YXRpb24gc2hvdWxk
IHN1ZmZpY2UuCgpcc2VjdGlvbntVbnJlc29sdmVkIGlzc3Vlc30KCkFzIG9mIFx0b2RheSwg
XG94YXBpXCB3YXZldGFibGUgc3VwcG9ydCBoYXMgbm90IHlldCBiZWVuCmltcGxlbWVudGVk
LiBIb3dldmVyLCBpbiBhbGwgbGlrZWxpaG9vZCBpdCB3aWxsIHRha2UgdGhlIGZvcm0gb2Yg
YQpmdW5jdGlvbiBhY2NlcHRpbmcgYSB3YXZlIG51bWJlciBhbmQgcmV0dXJuaW5nIGEgcG9p
bnRlciB0byB0aGUKYnVmZmVyLCBhcyB3ZWxsIGFzIGl0cyBzaXplLiAKCkFkZGl0aW9uYWwg
ZnVuY3Rpb25zIG1heSBhbHNvIGFjY2VwdCBhIHZvbHVtZSBhbmQgbm90ZS1udW1iZXIsIGFu
ZApyZXR1cm5pbmcgYSBkaWZmZXJlbnQgd2F2ZSBkZXBlbmRpbmcgb24gdGhvc2UgdmFsdWVz
LiBUaGlzIHdpbGwgYWxsb3cKc28tY2FsbGVkIHZlbG9jaXR5IG1hcHBpbmcgYW5kIGtleWJv
YXJkLXJhbmdlIG1hcHBpbmcgZm9yIHdhdmVzLCBhcwp3ZWxsIGFzIGFueXRoaW5nIGVsc2Ug
Y29vbCB3ZSBjYW4gdGhpbmsgb2YuICAKCiUlJSUlJSUlJSUlCiUlJSUlJSUlJSUlIEhlcmUg
aXMgdGhlIGNoYXB0ZXIgb24gQysrIHVzYWdlLiAgCiUlJSUlJSUlJSUlCgpcY2hhcHRlcntV
c2luZyB7XHR0IG94XF93cmFwcGVyc319Cgpcc2VjdGlvbntPdmVydmlld30gXG9jdGFsXCBp
bmNsdWRlcyBhIHBhY2thZ2UgY2FsbGVkIHtcdHQKb3hcX3dyYXBwZXJzLH0gd2hpY2ggaXMg
ZGVzaWduZWQgdG8gc2ltcGxpZnkgXG9jdGFsXCBtYWNoaW5lCnByb2dyYW1taW5nIHRocm91
Z2ggdGhlIHVzZSBvZiBzeW50YWN0aWMgZmVhdHVyZXMgb2Yge1x0dCBDKysufSBUaGlzIHNl
Y3Rpb24gb25seSBleHBsYWlucwp0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiByYXcgXG94YXBp
XCBwcm9ncmFtbWluZyBhbmQge1x0dCBveFxfd3JhcHBlcnN9LCBzbyBpdCB3aWxsIGhlbHAg
dG8gaGF2ZSByZWFkIHRoZSBjaGFwdGVyIG9uIFxveGFwaVwgZmlyc3QuIAoKSW4gYSBudXRz
aGVsbCwgeW91ciBtYWNoaW5lIHR5cGUgaXMgbm93IGEgY2xhc3M7IGluZGl2aWR1YWwgbWFj
aGluZXMKYXJlIG5vdyBpbnN0YW5jZXMgb2YgdGhhdCBjbGFzcy4gVGhpcyBsZXRzIHlvdSBo
YXZlIGRhdGEgbWVtYmVycywKdXRpbGl0eSBjbGFzc2VzLCBhbmQgYWxsIHRoZSBpbnRlcmVz
dGluZyBmZWF0dXJlcyBvZiBDKysgYXQgeW91cgpkaXNwb3NhbCB0byBjcmVhdGUgbWFjaGlu
ZXMuCgpcc2VjdGlvbnt7XHR0IGNsYXNzIE9YXF9NYWNoaW5lfX0KCntcdHQgb3hcX3dyYXBw
ZXJzLmh9IGRlY2xhcmVzIGEgYmFzZSBjbGFzcyBjYWxsZWQge1x0dCBPWFxfTWFjaGluZSx9
IGZyb20gd2hpY2ggeW91J2xsIGRlcml2ZSBhIG5ldyBjbGFzcyB0aGF0IGltcGxlbWVudHMg
eW91ciBtYWNoaW5lLiBIZXJlIGlzIGl0cyBkZWZpbml0aW9uOgoKXGJlZ2lue3ZlcmJhdGlt
fQpjbGFzcyBPWF9NYWNoaW5lIHsKIHB1YmxpYzogCiAgT1hfTWFjaGluZShtYWNoaW5lKiBt
KSB7fTsgICAgICAgIAogIH5PWF9NYWNoaW5lKCkge307CiAgc3RhdGljIGludCBpbml0aWFs
aXplKG1hY2hpbmVfdHlwZSogdCkge307ICAgCiAgc3RhdGljIGNvbnN0IGNoYXIqIGRlc2Ny
aWJlKGludCB3aGljaCwgcGFyYW0gdmFsdWUpIHt9OyAKICB2b2lkIHVwZGF0ZSgpIHt9OyAg
ICAgICAgICAgCiAgaW50IHdvcmsoaW50IGJsb2NrX3NpemUpIHt9OyAKICB2b2lkIHRyYWNr
KGludCBjaGFuZ2UpIHt9OwoKICBtYWNoaW5lKiBtOyAKICBzYW1wICpsaW4sICpyaW4sICps
b3V0LCAqcm91dDsgCn07ClxlbmR7dmVyYmF0aW19CgpJdCdzIG5vdCBoYXJkIHRvIHNlZSB0
aGF0IHRoZSBtZW1iZXIgZnVuY3Rpb25zIGFyZSBqdXN0IGxpa2UgdGhlIHtcdHQKb3hcXyp9
IGNhbGxiYWNrcywgYnV0IHdpdGggdGhlIGBgbWFjaGluZSonJyBwb2ludGVyIHJlbW92ZWQg
ZnJvbSB0aGUKYXJndW1lbnQgbGlzdHMuXGZvb3Rub3Rle1NpbmNlIGBgaW5pdGlhbGl6ZScn
IGFuZCBgYGRlc2NyaWJlJycgYXJlCmdsb2JhbCBmdW5jdGlvbnMgdGhhdCBkb24ndCBoYXZl
IHRvIGJlIGFzc29jaWF0ZWQgd2l0aCBhbnkgcGFydGljdWxhcgptYWNoaW5lLCB0aGV5J3Jl
IGRlY2xhcmVkIHtcdHQgc3RhdGljLn19IHtcdHQgb3hcX2NyZWF0ZX0gYW5kIHtcdHQKb3hc
X2Rlc3Ryb3l9IGFyZSBub3cgdGhlIGNvbnN0cnVjdG9yXGZvb3Rub3Rle1RoZSByaWdodCBj
b25zdHJ1Y3Rvcgp0YWtlcyBhIHtcdHQgc3RydWN0IG1hY2hpbmUqfSBhcyBhbiBhcmd1bWVu
dDsgZG9uJ3QgdXNlIHRoZSBkZWZhdWx0Cm5vLWFyZyBjb25zdHJ1Y3RvciBhdCBhbGwufSBh
bmQgZGVzdHJ1Y3RvciwgcmVzcGVjdGl2ZWx5LgoKVGhlIGZyZXF1ZW50bHktYWNjZXNzZWQg
aS9vIGJ1ZmZlciBwb2ludGVycyB7XHR0IHJpbiwgbGluLCBsb3V0LCByb3V0fSBhcmUgCm1l
bWJlcnMgb2YgdGhlIGNsYXNzLCBzbyB0aGV5IGNhbiBiZSBhY2Nlc3NlZCBpbiBtZW1iZXIg
ZnVuY3Rpb25zIHdpdGhvdXQgCmFueSBleHBsaWNpdCBkZXJlZmVyZW5jaW5nLiAKCkluc3Rl
YWQgb2Ygc3RhdGUgb2JqZWN0cywgeW91IGNhbiBzaW1wbHkgYWRkIGRhdGEgbWVtYmVycyB0
byB5b3VyIGRlcml2ZWQgY2xhc3MuCgpcc2VjdGlvbntTZXR0aW5nIHRoaW5ncyB1cH0KCk5v
dyBpcyB0aGUgc2xpZ2h0bHkgd2VpcmQgcGFydC4gU3RlcCBvbmU6IGRlZmluZSB0aGUgbWFj
cm8ge1x0dApPWFxfQ0xBU1N9IHRvIGJlIHRoZSBuYW1lIG9mIHlvdXIgbmV3IGRlcml2ZWQg
Y2xhc3MuIElmIHlvdXIgY2xhc3MgaXMgY2FsbGVkIHtcdHQgTXlDb29sRGVsYXl9LCB0aGVu
IApcY29kZXtcI2RlZmluZSBPWFxfQ0xBU1MgTXlDb29sRGVsYXl9CgpJdCdzIGltcG9ydGFu
dCB0byBkbyB0aGlzIGJlZm9yZSB5b3UgaW5jbHVkZSBhbnkge1x0dCBveFxfd3JhcHBlcnN9
CmhlYWRlciBmaWxlcy4gVGhlIHJlYXNvbiBpcyB0aGF0IG5ldyBmdW5jdGlvbnMsIG1ha2lu
ZwpzdGF0aWNhbGx5LWJvdW5kIGNhbGxzIHRvIHlvdXIgbmV3IG1lbWJlciBmdW5jdGlvbnMs
IGFyZSBnb2luZyB0byBiZQpjcmVhdGVkIHdoZW4geW91IGNvbXBpbGUuIAoKTmV4dCwgZGVy
aXZlIHlvdXIgY2xhc3MgZnJvbSB7XHR0IE9YXF9NYWNoaW5lfSBhbmQgcGxhY2UgaXRzIGRl
Y2xhcmF0aW9uIGluLCBzYXksIHtcdHQgTXlDb29sRGVsYXkuaH1cIFRoZW4gZG8gdGhlIGZv
bGxvd2luZzoKClxiZWdpbnt2ZXJiYXRpbX0KI2RlZmluZSBPWF9DTEFTUyBNeUNvb2xEZWxh
eQojaW5jbHVkZSBgYG94X3dyYXBwZXJzLmgnJwojaW5jbHVkZSBgYE15Q29vbERlbGF5Lmgn
JwojaW5jbHVkZSBgYG94X3dyYXBwZXJzLmNjJycKXGVuZHt2ZXJiYXRpbX0KCk5vdyBpbXBs
ZW1lbnQgeW91ciBtZW1iZXIgZnVuY3Rpb25zLCBhbmQgY29tcGlsZSBhcyBhIHNoYXJlZCBv
YmplY3QuIFRoZSB3cmFwcGVyIHdpbGwgZXhwb3J0IHRoZSByZXF1aXJlZCBcb3hhcGlcIGZ1
bmN0aW9ucyB3aXRoIEMgbGlua2FnZSwgc28gdGhhdCBcb2N0YWxcIHdpbGwgYmUgYWJsZSB0
byBmaW5kIHRoZW0uIFdoZW4gXG9jdGFsXCBjYWxscyB0aGVtLCB7XHR0IG94XF93cmFwcGVy
c30gd2lsbCBmb3J3YXJkIHRoZSByZWxldmFudCBpbmZvIG9uIHRvIHlvdXIgbWFjaGluZS4g
CgpZb3UnbGwgc3RpbGwgaGF2ZSB0byB1c2Ugc29tZSBDIHN0cnVjdHVyZXMgc3VjaCBhcyB7
XHR0IG1hY2hpbmVcX3R5cGV9IGFuZCB7XHR0IHBhcmFtXF9zcGVjfSB3aGVuIGNvbW11bmlj
YXRpbmcgd2l0aCBcb2N0YWwuIFlvdXIgY2xhc3MgaW5oZXJpdHMgYSBkYXRhIG1lbWJlciB7
XHR0IG19LCB3aGljaCBpcyBhIHBvaW50ZXIgdG8gdGhlIHVuZGVybHlpbmcge1x0dCBzdHJ1
Y3QgbWFjaGluZX0gb2JqZWN0IHRoYXQgXG9jdGFsXCBpcyBkZWFsaW5nIHdpdGggZGlyZWN0
bHkuIFVzZQpcY29kZXttLT5wYXJhbXNbd2hpY2hcX3RyYWNrXVt3aGljaFxfcGFyYW1cX2l4
XX0KdG8gYWNjZXNzIHlvdXIgcGFyYW1ldGVycyBkdXJpbmcge1x0dCBNeUNvb2xDbGFzczo6
dXBkYXRlKCl9LgoKQWxsIHRoZSBpbmZvcm1hdGlvbiBpbiBccmVme3BhcmFtZXRlcnN9LCBc
cmVme3lvdXJzZWxmfSwgYW5kIFxyZWZ7ZmxhdHRlbmVkfSBhcHBsaWVzIHRvIHVzZSBvZiB7
XHR0IG94XF93cmFwcGVycy59IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAG9jdGFsLWFscGhhL294X3dyYXBwZXJzLmNjAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAwMTAwNjQ0ADAwMDA3NjUAMDAwMDc3MgAwMDAwMDAwMzUxMgAwNzExNjEzNjUyMwAwMTQy
NzcAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0
YXIgIABkdG8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGR0bwAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALyoKKiAkSGVhZGVyOiAvaG9t
ZS9kdG8vb2N0YWwvUkNTL294X3dyYXBwZXJzLmNjLHYgMS4xIDIwMDAvMDYvMDMgMDU6NTU6
MzEgZHRvIEV4cCBkdG8gJAoqIChDKSAyMDAwIERhdmlkIE8nVG9vbGUgZHRvQGdudS5vcmcg
JERhdGU6IDIwMDAvMDYvMDMgMDU6NTU6MzEgJAoqICRSZXZpc2lvbjogMS4xICQKKiAKKiBP
WF9XUkFQUEVSUy5DQwoqIAoqIEltcGxlbWVudGF0aW9ucyBmb3IgdGhlIHdyYXBwZXIgZnVu
Y3Rpb25zLiAKKgoqCiogVGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlCiogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkuIFJlYWQg
dGhlIGluY2x1ZGVkIGZpbGUKKiBDT1BZSU5HIGZvciBtb3JlIGluZm9ybWF0aW9uLiAKKiAK
KiAkTG9nOiBveF93cmFwcGVycy5jYyx2ICQKKiBSZXZpc2lvbiAxLjEgIDIwMDAvMDYvMDMg
MDU6NTU6MzEgIGR0bwoqIEluaXRpYWwgcmV2aXNpb24KKgoqCiovCiNpZm5kZWYgT1hfQ0xB
U1MKI2Vycm9yIHlvdSBtdXN0ICNkZWZpbmUgdGhlIG1hY3JvIE9YX0NMQVNTIGJlZm9yZSB1
c2luZyBveF93cmFwcGVycwojZW5kaWYKCmV4dGVybiAiQyIgeyAgICAgIC8qIGdpdmUgdGhl
c2UgZnVuY3Rpb25zIEMgbGlua2FnZSBzbyBPQ1RBTCBjYW4gZmluZAogICAgICAgICAgICAg
ICAgICAgICB0aGVtICovCgppbmxpbmUgdm9pZCB1cGRhdGVfc2lnbmFscyhtYWNoaW5lKiBt
LCBPWF9DTEFTUyogeCkgewogIHgtPmxpbiA9IG0tPmxpbjsKICB4LT5yaW4gPSBtLT5yaW47
CiAgeC0+bG91dCA9IG0tPmxvdXQ7CiAgeC0+cm91dCA9IG0tPnJvdXQ7Cn0KCmlubGluZSBP
WF9DTEFTUyogZ3JhYl9vYmplY3QobWFjaGluZSogbSkgewogIHJldHVybiAoKE9YX0NMQVNT
KikobS0+c3RhdGUpKTsKfQoKLyogdGhlIHdyYXBwZXIgZnVuY3Rpb25zIHRoZW1zZWx2ZXMu
IHByaW1hcmlseSB0aGVzZSBoaWRlIHRoZSAic3RhdGUgb2JqZWN0cyIgKi8gCgpPWF9DTEFT
UyogdGVtcDsKCmludCBveF9pbml0KG1hY2hpbmVfdHlwZSogdCkgewogIHJldHVybiBPWF9D
TEFTUzo6aW5pdGlhbGl6ZSh0KTsKfQoKdm9pZCBveF9jcmVhdGUobWFjaGluZSogbSkgewog
IHRlbXAgPSBuZXcgT1hfQ0xBU1MobSk7ICAgIC8qIGNhbGwgdGhlIGRlcml2ZWQgY2xhc3Mn
cyBjb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICovIAogIG0tPnN0YXRlID0gKHZvaWQq
KXRlbXA7ICAgIC8qIHN0b3JlIHRoZSBsb2NhdGlvbiBpbiBtLT5zdGF0ZSAgICAgICAgICAg
ICAgICAgICAgICAgICovICAgCiAgdGVtcC0+bSA9IG07ICAgICAgICAgICAgICAgLyogbWFr
ZSBzdXJlIGRlcml2ZWQgY2xhc3MgY2FuIGdldCB0byB0aGUgbWFjaGluZSBzdHJ1Y3QgKi8g
Cn0KCnZvaWQgb3hfZGVzdHJveShtYWNoaW5lKiBtKSB7CiAgdGVtcCA9IGdyYWJfb2JqZWN0
KG0pOyAKICBkZWxldGUgdGVtcDsgCn0KCmludCBveF93b3JrKG1hY2hpbmUqIG0sIGludCBi
bG9ja19zaXplKSB7CiAgdGVtcCA9IGdyYWJfb2JqZWN0KG0pOwogIHVwZGF0ZV9zaWduYWxz
KG0sIHRlbXApOyAKICByZXR1cm4gdGVtcC0+d29yayhibG9ja19zaXplKTsKfQoKdm9pZCBv
eF91cGRhdGUobWFjaGluZSogbSkgewogIHRlbXAgPSBncmFiX29iamVjdChtKTsKICB0ZW1w
LT51cGRhdGUoKTsgCn0KCnZvaWQgb3hfdHJhY2sobWFjaGluZSogbSwgaW50IGNoYW5nZSkg
ewogIHRlbXAgPSBncmFiX29iamVjdChtKTsKICB0ZW1wLT50cmFjayhjaGFuZ2UpOwogIH0K
CmNvbnN0IGNoYXIqIG94X2Rlc2NyaWJlKGludCB3aGljaCwgcGFyYW0gdmFsdWUpIHsKICBy
ZXR1cm4gT1hfQ0xBU1M6OmRlc2NyaWJlKHdoaWNoLCB2YWx1ZSk7Cn0KCgp9IC8qIGVuZCBl
eHRlcm4gQyAqLyAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvY3RhbC1hbHBoYS9veF93cmFwcGVy
cy5oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwNzY1ADAwMDA3NzIAMDAwMDAw
MDI2MzMAMDcxMTYxMzY1MjMAMDE0MTQ0ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAZHRvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAABkdG8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAC8qCiogJEhlYWRlcjogL2hvbWUvZHRvL29jdGFsL1JDUy9veF93cmFwcGVycy5oLHYg
MS4xIDIwMDAvMDYvMDMgMDU6NTU6NDkgZHRvIEV4cCBkdG8gJAoqIChDKSAyMDAwIERhdmlk
IE8nVG9vbGUgZHRvQGdudS5vcmcgJERhdGU6IDIwMDAvMDYvMDMgMDU6NTU6NDkgJAoqICRS
ZXZpc2lvbjogMS4xICQKKiAKKiBPWF9XUkFQUEVSUy5ICiogVGhpcyBmaWxlIGlzIHRoZSBs
aWdodHdlaWdodCBDKysgd3JhcHBlciBmb3IgdGhlIE9YX0FQSS4KKiBJdCdzIHBhcnQgb2Yg
dGhlIEdOVSBPQ1RBTCBwcm9qZWN0OyBzZWUgaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJl
L29jdGFsCiogZm9yIG1vcmUgaW5mb3JtYXRpb24uICAKKgoqIE5vLCB0aGlzIGludGVyZmFj
ZSBpc24ndCBwcmV0dHkgb24gdGhlIGluc2lkZS4gQnV0IG5laXRoZXIgaXMgQysrIDotKQoq
CiogVGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
CiogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkuIFJlYWQgdGhlIGluY2x1ZGVk
IGZpbGUKKiBDT1BZSU5HIGZvciBtb3JlIGluZm9ybWF0aW9uLiAKKiAKKiAkTG9nOiBveF93
cmFwcGVycy5oLHYgJAoqIFJldmlzaW9uIDEuMSAgMjAwMC8wNi8wMyAwNTo1NTo0OSAgZHRv
CiogSW5pdGlhbCByZXZpc2lvbgoqCioKKi8KCiNpZm5kZWYgX294X3dyYXBwZXJzX2hfCiNk
ZWZpbmUgX294X3dyYXBwZXJzX2hfICJAKCMpbXlmaWxlLmggJFJldmlzaW9uOiAxLjEgJCIK
CmV4dGVybiAiQyIgewojaW5jbHVkZSAib2N0YWwuaCIKI2luY2x1ZGUgIm1hY2hpbmUuaCIK
fQoKLyogY2xhc3MgT1hfTWFjaGluZSBqdXN0IGRlZmluZXMgdGhlIGludGVyZmFjZSB0byBr
ZWVwIHRoaW5ncwogICBjb25zaXN0ZW50LiAgbm9uZSBvZiBpdHMgbWVtYmVyIGZ1bmN0aW9u
cyB3aWxsIGV2ZXIgYmUgY2FsbGVkLAogICBiZWNhdXNlIGNhbGxzIHRvIHRoZSBkZXJpdmVk
IGNsYXNzIHdpbGwgYWxsIGJlIHN0YXRpY2FsbHkgYm91bmQgKi8KCmNsYXNzIE9YX01hY2hp
bmUgewogcHVibGljOiAKICBPWF9NYWNoaW5lKG1hY2hpbmUqIG0pIHt9OyAgICAgICAgCiAg
fk9YX01hY2hpbmUoKSB7fTsKICBzdGF0aWMgaW50IGluaXRpYWxpemUobWFjaGluZV90eXBl
KiB0KSB7fTsgICAKICBzdGF0aWMgY29uc3QgY2hhciogZGVzY3JpYmUoaW50IHdoaWNoLCBw
YXJhbSB2YWx1ZSkge307IAogIHZvaWQgdXBkYXRlKCkge307ICAgICAgICAgICAKICBpbnQg
d29yayhpbnQgYmxvY2tfc2l6ZSkge307IAogIHZvaWQgdHJhY2soaW50IGNoYW5nZSkge307
CgogIG1hY2hpbmUqIG07IAogIHNhbXAgKmxpbiwgKnJpbiwgKmxvdXQsICpyb3V0OyAKfTsK
CiNlbmRpZiAvKiBfb3hfd3JhcHBlcnNfaF8KLyogJFNvdXJjZTogL2hvbWUvZHRvL29jdGFs
L1JDUy9veF93cmFwcGVycy5oLHYgJCAqLwoKCgoKCgoKCgoAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG9jdGFsLWFscGhhL3BhdHRlcm4uaAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDA3NjUAMDAwMDc3MgAwMDAwMDAwMzQy
NAAwNzExNjEzNjUyMwAwMTMyNDcAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAdXN0YXIgIABkdG8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AGR0bwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
LyoKKiAkSGVhZGVyOiAvaG9tZS9kdG8vb2N0YWwvUkNTL3BhdHRlcm4uaCx2IDEuNSAyMDAw
LzAzLzE0IDA2OjExOjUyIGR0byBFeHAgZHRvICQKKiAoQykgMjAwMCBEYXZpZCBPJ1Rvb2xl
ICREYXRlOiAyMDAwLzAzLzE0IDA2OjExOjUyICQKKiAkUmV2aXNpb246IDEuNSAkCiogCiog
UEFUVEVSTi5IIAoqIERlZmluaXRpb25zIGZvciBPQ1RBTCdzIHBhdHRlcm4vZXZlbnQgc3lz
dGVtLiAKKgoqIFRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZQoqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpLiBSZWFkIHRoZSBp
bmNsdWRlZCBmaWxlCiogQ09QWUlORyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4gCiogCiogJExv
ZzogcGF0dGVybi5oLHYgJAoqIFJldmlzaW9uIDEuNSAgMjAwMC8wMy8xNCAwNjoxMTo1MiAg
ZHRvCiogVGhpcyBpc24ndCBkb25lIHlldCwgSSBzdGFydGVkIG92ZXIuCioKKiBSZXZpc2lv
biAxLjQgIDIwMDAvMDMvMTEgMDY6MzM6MzMgIGR0bwoqIENvbnZlcnNpb24gYW5kIHBhcnRp
YWwgcmV3cml0ZSBkb25lLiBTdGlsbCB3b3JraW5nLiBJdCdzIDIgQU0uCioKKiBSZXZpc2lv
biAxLjMgIDIwMDAvMDIvMjMgMDQ6MzA6MzkgIGR0bwoqIGNoZWNraW4gYmVmb3JlIG1ham9y
IGluY29tcGF0aWJsZSBjaGFuZ2VzLgoqIEF0IHRoZSBzdWdnZXN0aW9uIG9mIEFuZHkgU2xv
YW5lIChhbmR5QGd1aWxkc29mdHdhcmUuY29tKSBJIGFtIHN3aXRjaGluZyBvdmVyIHRvIGEK
KiBmbG9hdGluZy1wb2ludCByZXByZXNlbnRhdGlvbiBmb3IgYWxsIGF1ZGlvIGRhdGEgc3Rv
cmVkIGluIE9DVEFMLiBTb21lIG90aGVyIGNoYW5nZXMgd2lsbCBiZSBtYWRlIHRvbzsKKiBt
b3JlIGluZm8gbGF0ZXIuCioKKiBSZXZpc2lvbiAxLjEgIDIwMDAvMDIvMDUgMDA6MzY6MDcg
IGR0bwoqIEluaXRpYWwgcmV2aXNpb24KKgoqCioKKi8KI2lmbmRlZiBfcGF0dGVybl9oXwoj
ZGVmaW5lIF9wYXR0ZXJuX2hfICJAKCMpcGF0dGVybi5oICRSZXZpc2lvbjogMS41ICQiCgoj
aW5jbHVkZSAib2N0YWwuaCIKCiNkZWZpbmUgTUFYX1BBUkFNUyAzMiAgIC8qIHRoaXMgaXMg
cGVyIHRyYWNrICAgKi8KI2RlZmluZSBNQVhfVFJBQ0tTIDE2ICAgLyogdGhpcyBpcyBwZXIg
bWFjaGluZSAqLwojZGVmaW5lIE1BWF9ST1dTICAgNjQgICAvKiB0aGlzIHdpbGwgYmUgcmVw
bGFjZWQgd2l0aCBkeW5hbWljIGFsbG9jYXRpb24gc29vbiAqLwoKdHlwZWRlZiBzdHJ1Y3Qg
X3RyYWNrIHsKICBkYXRhIHBhcmFtc1tNQVhfUk9XU11bTUFYX1BBUkFNU107ICAvKiBldmVu
dCBsaXN0IGluIHRyYWNrZXIgZm9ybWF0ICovICAgCn0gdHJhY2s7Cgp0eXBlZGVmIHN0cnVj
dCBfcGF0dGVybiB7CiAgaW50IG51bV90cmFja3M7IAogIGludCBsZW5ndGg7ICAKICAKICB0
cmFjayAqdFtNQVhfVFJBQ0tTXTsgLyogaGlnaGVzdCB0cmFjayBpcyB0W251bV90cmFja3Mt
MV0gKi8gCgogIC8qIHNvIHlvdSBjYW4gdXNlIHRbY3VycmVudF90cmFja10ucGFyYW1zW2Rl
c2lyZWRfcm93XVtkZXNpcmVkX3BhcmFtXSAqLyAKCn0gcGF0dGVybjsgCgoKLyogcHJvdG90
eXBlcyBmb3IgZnVuY3Rpb25zIHRvIHRyYW5zcGFyZW50bHkgbWFuYWdlIHBhdHRlcm4gYWxs
b2NhdGlvbiB3b3VsZCBnbyBoZXJlLCAqLwovKiBidXQgdGhlIHBhdHRlcm4gc3Vic3lzdGVt
IGlzbid0IGRvbmUgeWV0LiBjb21pbmcgc29vbi4gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICovIAoKCgoKI2VuZGlmIC8qX3BhdHRlcm5faF8qLwovKiAkU291cmNlOiAvaG9tZS9k
dG8vb2N0YWwvUkNTL3BhdHRlcm4uaCx2ICQgKi8KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvY3Rh
bC1hbHBoYS9SRUFETUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAw
NzY1ADAwMDA3NzIAMDAwMDAwMDA2MDQAMDcwNzAwNTczNjAAMDEyMjc2ACAwAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAZHRvAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkdG8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAE1hcmNoIDI4LCAyMDAwCi0tLS0tLS0tLS0tLS0tLS0K
ClRoZSB1bml0IGdlbmVyYXRvciBzZXR1cCBhbmQgZGVsYXkgbW9kdWxlIGlzIG5vdyB3b3Jr
aW5nLiBTb3VuZHMKcm91Z2gsIEkgdGhpbmsgdGhpcyBoYXMgdG8gZG8gd2l0aCB0aGUgY29u
dmVydGVyIGNvZGUuIFNvbWV3aGVyZSB0aGUKbWF0aCBpcyBnZXR0aW5nIG1hbmdsZWQuCgpU
aGlzIGlzIGFuIGludGVyaW0gcmVsZWFzZS4gQnVncyB3ZXJlIGZpeGVkOyAgdGhlIG1hY2hp
bmUgcmVnaXN0cnkKaXMgd3JpdHRlbjsgdGhlIHNpZ25hbCBuZXR3b3JrIGlzIHN0YXJ0ZWQg
YnV0IHdvbid0IGJlIHJlYWR5IHRpbGwgCnRoaXMgd2Vla2VuZC4KCkV4cGVjdCBhbm90aGVy
IHJlbGVhc2UgdGhpcyB3ZWVrZW5kLiAKCi1kYXZpZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb2N0YWwt
YWxwaGEvUkVMRUFTRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMDc2
NQAwMDAwNzcyADAwMDAwMDAxMzA3ADA3MTE2MTM2NTIzADAxMjQyMgAgMAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGR0bwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAZHRvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAzIEp1bmUgMjAwMCAuLi4gR05VIE9DVEFMIFJFTEVBU0Ug
Tk9URVMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpUaGVy
ZSBhcmUgaW1wb3J0YW50IEFQSSBjaGFuZ2VzLiBUaGUgZG9jcyBoYXZlIGJlZW4gaHVnZWx5
IHVwZGF0ZWQ7CmlmIHlvdSBoYXZlIExhVGVYIGluc3RhbGxlZCwgeW91IGNhbiBidWlsZCB0
aGVtIHdpdGg6CgokIG1ha2UgZG9jCgpUaGlzIHJlbGVhc2UgaW5jbHVkZXMgb3hfd3JhcHBl
cnMsIGEgcGFja2FnZSB0aGF0IGxldHMgeW91IHVzZSBDKysgdG8Kd3JpdGUgT0NUQUwgbWFj
aGluZXMuIFNlZSB0aGUgT1hfQVBJIGd1aWRlIGZvciBtb3JlIGluZm8uIAoKTm93IHRoYXQg
T1hfQVBJIGlzIGZvciB0aGUgbW9zdCBwYXJ0IGNvbXBsZXRlLCBJIGhhdmUgYmVndW4gd29y
a2luZyBvbgpldmVyeXRoaW5nIGVsc2UgdGhhdCBuZWVkcyB0byBiZSBpbXBsZW1lbnRlZC4g
SSdkIGxpa2UgdG8gYmUgaW4gYmV0YQooaS5lLiBhIHdvcmtpbmcgYXBwKSBieSB0aGUgZW5k
IG9mIHRoZSBzdW1tZXIgaWYgcG9zc2libGUsIHNvIGl0J3MKbW92aW5nIGZhc3QuIFRoZSBB
UEkgd2FzIHRoZSBoYXJkZXN0IHBhcnQ7IGV2ZXJ5dGhpbmcgZWxzZSBzaG91bGQgZ28gCnJl
bGF0aXZlbHkgc21vb3RobHkuIAoKLWRhdmlkIG8ndG9vbGUKLWR0b0BnbnUub3JnCi13d3cu
Z251Lm9yZy9zb2Z0d2FyZS9vY3RhbAoKCgoKCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAb2N0YWwtYWxwaGEvUkVWSVNJT05TAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAADAxMDA2NDQAMDAwMDc2NQAwMDAwNzcyADAwMDAwMDQ1MjQ0ADA3MTE2MTM2
NTIzADAxMjczMwAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAB1c3RhciAgAGR0bwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZHRvAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKUkNTIGZpbGU6
IFJDUy9kZWxheS5jLHYKV29ya2luZyBmaWxlOiBkZWxheS5jCmhlYWQ6IDEuMwpicmFuY2g6
CmxvY2tzOiBzdHJpY3QKCWR0bzogMS4zCmFjY2VzcyBsaXN0OgpzeW1ib2xpYyBuYW1lczoK
a2V5d29yZCBzdWJzdGl0dXRpb246IGt2CnRvdGFsIHJldmlzaW9uczogMzsJc2VsZWN0ZWQg
cmV2aXNpb25zOiAzCmRlc2NyaXB0aW9uOgogf2Egc2ltcGxlIGRlbGF5IG1vZHV5bGV/f38K
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpyZXZpc2lvbiAxLjMJbG9ja2VkIGJ5OiBk
dG87CmRhdGU6IDIwMDAvMDYvMDMgMDU6NTQ6NTY7ICBhdXRob3I6IGR0bzsgIHN0YXRlOiBF
eHA7ICBsaW5lczogKzE5IC0yMQptaW5vciBjaGFuZ2VzIHRvIGJyaW5nIGl0IGluIGxpbmUg
d2l0aCBuZXcgQVBJIHNwZWMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpyZXZpc2lv
biAxLjIKZGF0ZTogMjAwMC8wMy8yOCAwNzoxNzozOTsgIGF1dGhvcjogZHRvOyAgc3RhdGU6
IEV4cDsgIGxpbmVzOiArNTEgLTY0CmZpeGVkIHNldmVyYWwgYnVncwotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCnJldmlzaW9uIDEuMQpkYXRlOiAyMDAwLzAzLzE5IDAzOjUzOjU5
OyAgYXV0aG9yOiBkdG87ICBzdGF0ZTogRXhwOwpJbml0aWFsIHJldmlzaW9uCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09CgpSQ1MgZmlsZTogUkNTL2VuZ2luZS5jLHYKV29ya2luZyBmaWxl
OiBlbmdpbmUuYwpoZWFkOiAxLjEKYnJhbmNoOgpsb2Nrczogc3RyaWN0CglkdG86IDEuMQph
Y2Nlc3MgbGlzdDoKc3ltYm9saWMgbmFtZXM6CmtleXdvcmQgc3Vic3RpdHV0aW9uOiBrdgp0
b3RhbCByZXZpc2lvbnM6IDE7CXNlbGVjdGVkIHJldmlzaW9uczogMQpkZXNjcmlwdGlvbjoK
T2N0YWwgY29yZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnJldmlzaW9uIDEuMQls
b2NrZWQgYnk6IGR0bzsKZGF0ZTogMjAwMC8wMy8yOCAwNzoxNzozOTsgIGF1dGhvcjogZHRv
OyAgc3RhdGU6IEV4cDsKSW5pdGlhbCByZXZpc2lvbgo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQoKUkNTIGZpbGU6IFJDUy9tYWNoaW5lLmMsdgpXb3JraW5nIGZpbGU6IG1hY2hpbmUuYwpo
ZWFkOiAxLjYKYnJhbmNoOgpsb2Nrczogc3RyaWN0CglkdG86IDEuNgphY2Nlc3MgbGlzdDoK
c3ltYm9saWMgbmFtZXM6CmtleXdvcmQgc3Vic3RpdHV0aW9uOiBrdgp0b3RhbCByZXZpc2lv
bnM6IDY7CXNlbGVjdGVkIHJldmlzaW9uczogNgpkZXNjcmlwdGlvbjoKTGFzdCBjaGVja2lu
ZyBiZWZvcmUgc2hhcmVkLW9iamVjdGlmaWNhdGlvbgotLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCnJldmlzaW9uIDEuNglsb2NrZWQgYnk6IGR0bzsKZGF0ZTogMjAwMC8wNi8wMyAw
NTo1NDo1NjsgIGF1dGhvcjogZHRvOyAgc3RhdGU6IEV4cDsgIGxpbmVzOiArMjMgLTI3Cm1p
bm9yIGNoYW5nZXMgdG8gYnJpbmcgaXQgaW4gbGluZSB3aXRoIG5ldyBBUEkgc3BlYwotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnJldmlzaW9uIDEuNQpkYXRlOiAyMDAwLzAzLzI4
IDA3OjE3OjM5OyAgYXV0aG9yOiBkdG87ICBzdGF0ZTogRXhwOyAgbGluZXM6ICsxMjAgLTIw
ClNvbWUgbWlub3IgdHdlYWtzLgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnJldmlz
aW9uIDEuNApkYXRlOiAyMDAwLzAzLzE0IDA2OjExOjUyOyAgYXV0aG9yOiBkdG87ICBzdGF0
ZTogRXhwOyAgbGluZXM6ICs1MyAtMzkKVmFyaW91cyBjbGVhbnVwcy4gTmV3IG1hY2hpbmUg
QVBJIGZ1bmN0aW9ucyBhZGRlZCwgdG9vLgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CnJldmlzaW9uIDEuMwpkYXRlOiAyMDAwLzAzLzExIDA2OjMzOjMzOyAgYXV0aG9yOiBkdG87
ICBzdGF0ZTogRXhwOyAgbGluZXM6ICsyMiAtMTYKQ29udmVyc2lvbiBhbmQgcGFydGlhbCBy
ZXdyaXRlIGRvbmUuIFN0aWxsIHdvcmtpbmcuIEl0J3MgMiBBTS4KLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQpyZXZpc2lvbiAxLjIKZGF0ZTogMjAwMC8wMi8yMyAwNDozMDozOTsg
IGF1dGhvcjogZHRvOyAgc3RhdGU6IEV4cDsgIGxpbmVzOiArNzcgLTYKY2hlY2tpbiBiZWZv
cmUgbWFqb3IgaW5jb21wYXRpYmxlIGNoYW5nZXMuCkF0IHRoZSBzdWdnZXN0aW9uIG9mIEFu
ZHkgU2xvYW5lIChhbmR5QGd1aWxkc29mdHdhcmUuY29tKSBJIGFtIHN3aXRjaGluZyBvdmVy
IHRvIGEKZmxvYXRpbmctcG9pbnQgcmVwcmVzZW50YXRpb24gZm9yIGFsbCBhdWRpbyBkYXRh
IHN0b3JlZCBpbiBPQ1RBTC4gU29tZSBvdGhlciBjaGFuZ2VzIHdpbGwgYmUgbWFkZSB0b287
Cm1vcmUgaW5mbyBsYXRlci4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpyZXZpc2lv
biAxLjEKZGF0ZTogMjAwMC8wMi8wNyAwNDowMzo0MDsgIGF1dGhvcjogZHRvOyAgc3RhdGU6
IEV4cDsKSW5pdGlhbCByZXZpc2lvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKUkNTIGZp
bGU6IFJDUy9tYWluLmMsdgpXb3JraW5nIGZpbGU6IG1haW4uYwpoZWFkOiAxLjgKYnJhbmNo
Ogpsb2Nrczogc3RyaWN0CglkdG86IDEuOAphY2Nlc3MgbGlzdDoKc3ltYm9saWMgbmFtZXM6
CmtleXdvcmQgc3Vic3RpdHV0aW9uOiBrdgp0b3RhbCByZXZpc2lvbnM6IDg7CXNlbGVjdGVk
IHJldmlzaW9uczogOApkZXNjcmlwdGlvbjoKbWFpbiBwcm9ncmFtCi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KcmV2aXNpb24gMS44CWxvY2tlZCBieTogZHRvOwpkYXRlOiAyMDAw
LzA2LzAzIDA1OjU0OjU2OyAgYXV0aG9yOiBkdG87ICBzdGF0ZTogRXhwOyAgbGluZXM6ICsx
NyAtMTYKbWlub3IgY2hhbmdlcyB0byBicmluZyBpdCBpbiBsaW5lIHdpdGggbmV3IEFQSSBz
cGVjCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KcmV2aXNpb24gMS43CmRhdGU6IDIw
MDAvMDMvMjggMDc6MTc6Mzk7ICBhdXRob3I6IGR0bzsgIHN0YXRlOiBFeHA7ICBsaW5lczog
KzUwIC05OApNYWluLmMgc3Vja3MuCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KcmV2
aXNpb24gMS42CmRhdGU6IDIwMDAvMDMvMTQgMDY6MTE6NTI7ICBhdXRob3I6IGR0bzsgIHN0
YXRlOiBFeHA7ICBsaW5lczogKzYyIC0yMwpTb21ld2hhdCBuaWNlciBsb29raW5nLCBidXQg
bm90IHJlYWxseS4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpyZXZpc2lvbiAxLjUK
ZGF0ZTogMjAwMC8wMy8xMSAwNjozMzozMzsgIGF1dGhvcjogZHRvOyAgc3RhdGU6IEV4cDsg
IGxpbmVzOiArODEgLTcyCkNvbnZlcnNpb24gYW5kIHBhcnRpYWwgcmV3cml0ZSBkb25lLiBT
dGlsbCB3b3JraW5nLiBJdCdzIDIgQU0uCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
cmV2aXNpb24gMS40CmRhdGU6IDIwMDAvMDIvMjMgMDQ6MzA6Mzk7ICBhdXRob3I6IGR0bzsg
IHN0YXRlOiBFeHA7ICBsaW5lczogKzMxIC0xNwpjaGVja2luIGJlZm9yZSBtYWpvciBpbmNv
bXBhdGlibGUgY2hhbmdlcy4KQXQgdGhlIHN1Z2dlc3Rpb24gb2YgQW5keSBTbG9hbmUgKGFu
ZHlAZ3VpbGRzb2Z0d2FyZS5jb20pIEkgYW0gc3dpdGNoaW5nIG92ZXIgdG8gYQpmbG9hdGlu
Zy1wb2ludCByZXByZXNlbnRhdGlvbiBmb3IgYWxsIGF1ZGlvIGRhdGEgc3RvcmVkIGluIE9D
VEFMLiBTb21lIG90aGVyIGNoYW5nZXMgd2lsbCBiZSBtYWRlIHRvbzsKbW9yZSBpbmZvIGxh
dGVyLgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnJldmlzaW9uIDEuMwpkYXRlOiAy
MDAwLzAyLzA3IDA0OjAzOjQwOyAgYXV0aG9yOiBkdG87ICBzdGF0ZTogRXhwOyAgbGluZXM6
ICs0NiAtNTcKTGFzdCBDaGVja2luIGJlZm9yZSBzaGFyZWQtb2JqZWN0aWZpY2F0aW9uCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KcmV2aXNpb24gMS4yCmRhdGU6IDIwMDAvMDEv
MDkgMDI6MzI6NDM7ICBhdXRob3I6IGR0bzsgIHN0YXRlOiBFeHA7ICBsaW5lczogKzY5IC02
CmFkZGVkIG1vcmUgYXV0b21hdGVkIHRlc3RzIHRvIHRlc3RydW4uIGFsbCBibG9jayBnZW5l
cmF0aW9uL291dHB1dCBzY2hlbWVzIHdvcmsgc2VhbWxlc3NseS4KLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQpyZXZpc2lvbiAxLjEKZGF0ZTogMjAwMC8wMS8wNiAwMTozNDo0Mzsg
IGF1dGhvcjogZHRvOyAgc3RhdGU6IEV4cDsKSW5pdGlhbCByZXZpc2lvbgo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQoKUkNTIGZpbGU6IFJDUy9vY3RhbC5jLHYKV29ya2luZyBmaWxlOiBv
Y3RhbC5jCmhlYWQ6IDEuMQpicmFuY2g6CmxvY2tzOiBzdHJpY3QKCWR0bzogMS4xCmFjY2Vz
cyBsaXN0OgpzeW1ib2xpYyBuYW1lczoKa2V5d29yZCBzdWJzdGl0dXRpb246IGt2CnRvdGFs
IHJldmlzaW9uczogMTsJc2VsZWN0ZWQgcmV2aXNpb25zOiAxCmRlc2NyaXB0aW9uOgpJbXBs
ZW1lbnRhdGlvbnMgb2Ygc29tZSBob3VzZWtlZXBpbmcgZnVuY3Rpb25zLgotLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCnJldmlzaW9uIDEuMQlsb2NrZWQgYnk6IGR0bzsKZGF0ZTog
MjAwMC8wMy8yOCAwNzoxNzozOTsgIGF1dGhvcjogZHRvOyAgc3RhdGU6IEV4cDsKSW5pdGlh
bCByZXZpc2lvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKUkNTIGZpbGU6IFJDUy9vdXRw
dXQuYyx2CldvcmtpbmcgZmlsZTogb3V0cHV0LmMKaGVhZDogMS45CmJyYW5jaDoKbG9ja3M6
IHN0cmljdAoJZHRvOiAxLjkKYWNjZXNzIGxpc3Q6CnN5bWJvbGljIG5hbWVzOgprZXl3b3Jk
IHN1YnN0aXR1dGlvbjoga3YKdG90YWwgcmV2aXNpb25zOiA5OwlzZWxlY3RlZCByZXZpc2lv
bnM6IDkKZGVzY3JpcHRpb246Ck9DVEFMIG91dHB1dCBmdW5jdGlvbnMuCi0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KcmV2aXNpb24gMS45CWxvY2tlZCBieTogZHRvOwpkYXRlOiAy
MDAwLzAzLzI5IDE5OjA5OjE2OyAgYXV0aG9yOiBkdG87ICBzdGF0ZTogRXhwOyAgbGluZXM6
ICs5IC0xMApGaXhlZCBzdGVyZW8gc2V0dGluZyBidWcuCi0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KcmV2aXNpb24gMS44CmRhdGU6IDIwMDAvMDMvMjggMDc6MTc6Mzk7ICBhdXRo
b3I6IGR0bzsgIHN0YXRlOiBFeHA7ICBsaW5lczogKzM3IC02OApNYWpvciBjaGFuZ2VzLiBT
dHJlYW1saW5pbmcuClJlbW92ZWQgaW50ZXJsZWF2ZSgpIGFzIHRoaXMgaXMgYSBwbGF0Zm9y
bS9oYXJkd2FyZSBzcGVjaWZpYwpkZXRhaWwgdGhhdCBzaG91bGRuJ3QgYmUgZXhwb3NlZCBp
biB0aGUgQVBJLgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnJldmlzaW9uIDEuNwpk
YXRlOiAyMDAwLzAzLzE1IDAxOjMyOjM2OyAgYXV0aG9yOiBkdG87ICBzdGF0ZTogRXhwOyAg
bGluZXM6ICs4IC00CmFkZGVkIHNvbWUgcHJlbGltaW5hcnkgZGl0aGVyaW5nIG9mIHRoZSBz
aWduYWwKZHVyaW5nIGNvbnZlcnNpb24gZnJvbSBmbG9hdGluZy1wb2ludCBmb3JtYXQKdG8g
dGhlIHNpZ25lZC1zaG9ydCByZXByZXNlbnRhdGlvbi4KLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQpyZXZpc2lvbiAxLjYKZGF0ZTogMjAwMC8wMy8xNCAwNjoxMTo1MjsgIGF1dGhv
cjogZHRvOyAgc3RhdGU6IEV4cDsgIGxpbmVzOiArMjEgLTYKQWRkZWQgaW50ZXJuYWwgYnVm
ZmVyaW5nIHRvIGhpZGUgdGhlIGRldmljZSdzIGZvcm1hdC4KLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQpyZXZpc2lvbiAxLjUKZGF0ZTogMjAwMC8wMy8xMSAwNjozMzozMzsgIGF1
dGhvcjogZHRvOyAgc3RhdGU6IEV4cDsgIGxpbmVzOiArOTQgLTY5CkNvbnZlcnNpb24gYW5k
IHBhcnRpYWwgcmV3cml0ZSBkb25lLiBTdGlsbCB3b3JraW5nLiBJdCdzIDIgQU0uCi0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KcmV2aXNpb24gMS40CmRhdGU6IDIwMDAvMDIvMDcg
MDQ6MDM6NDA7ICBhdXRob3I6IGR0bzsgIHN0YXRlOiBFeHA7ICBsaW5lczogKzM0IC0xMgpM
YXN0IENoZWNraW4gYmVmb3JlIHNoYXJlZC1vYmplY3RpZmljYXRpb24KLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQpyZXZpc2lvbiAxLjMKZGF0ZTogMjAwMC8wMS8wOSAwMjozMzoz
MjsgIGF1dGhvcjogZHRvOyAgc3RhdGU6IEV4cDsgIGxpbmVzOiArMjQgLTIKc29tZSBtaW5v
ciBmdW5jdGlvbiBjaGFuZ2VzLgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnJldmlz
aW9uIDEuMgpkYXRlOiAyMDAwLzAxLzA2IDAxOjMxOjQwOyAgYXV0aG9yOiBkdG87ICBzdGF0
ZTogRXhwOyAgbGluZXM6ICsxMyAtMjYKTW92ZWQgbWFpbigpIGVsc2V3aGVyZSwgYWRkZWQg
bmV3IGZ1bmN0aW9uIHN0dWIKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpyZXZpc2lv
biAxLjEKZGF0ZTogMjAwMC8wMS8wNSAyMjozMzo1NjsgIGF1dGhvcjogZHRvOyAgc3RhdGU6
IEV4cDsKSW5pdGlhbCByZXZpc2lvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKUkNTIGZp
bGU6IFJDUy9zcXVhcmVnZW4uYyx2CldvcmtpbmcgZmlsZTogc3F1YXJlZ2VuLmMKaGVhZDog
MS4xMApicmFuY2g6CmxvY2tzOiBzdHJpY3QKCWR0bzogMS4xMAphY2Nlc3MgbGlzdDoKc3lt
Ym9saWMgbmFtZXM6CmtleXdvcmQgc3Vic3RpdHV0aW9uOiBrdgp0b3RhbCByZXZpc2lvbnM6
IDEwOwlzZWxlY3RlZCByZXZpc2lvbnM6IDEwCmRlc2NyaXB0aW9uOgpscwoKCgpzcXVhcmUg
Z2VuZXJhdG9yCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KcmV2aXNpb24gMS4xMAls
b2NrZWQgYnk6IGR0bzsKZGF0ZTogMjAwMC8wNi8wMyAwNTo1NDo1NjsgIGF1dGhvcjogZHRv
OyAgc3RhdGU6IEV4cDsgIGxpbmVzOiArMjAgLTE2Cm1pbm9yIGNoYW5nZXMgdG8gYnJpbmcg
aXQgaW4gbGluZSB3aXRoIG5ldyBBUEkgc3BlYwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCnJldmlzaW9uIDEuOQpkYXRlOiAyMDAwLzAzLzI5IDA0OjQ3OjI1OyAgYXV0aG9yOiBk
dG87ICBzdGF0ZTogRXhwOyAgbGluZXM6ICsxMyAtOApBbmR5IHNlbnQgbWUgYSB0aW55IHBh
dGNoIHRvIGZpeCB0aGUgaGFybW9uaWNzOyBzb3VuZHMgYmV0dGVyIG5vdy4KLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQpyZXZpc2lvbiAxLjgKZGF0ZTogMjAwMC8wMy8yOCAwNzox
NzozOTsgIGF1dGhvcjogZHRvOyAgc3RhdGU6IEV4cDsgIGxpbmVzOiArOSAtMzAKQnVnZml4
ZXMuCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KcmV2aXNpb24gMS43CmRhdGU6IDIw
MDAvMDMvMTQgMDY6MTE6NTI7ICBhdXRob3I6IGR0bzsgIHN0YXRlOiBFeHA7ICBsaW5lczog
KzE1OCAtMjkKTm93IGEgZnVsbC1mbGVkZ2VkIE9DVEFMIG1hY2hpbmUuIFdlbGwsCml0J3Mg
bm90IGEgcGFydGljdWxhcmx5IGV4Y2l0aW5nIG9uZS4KTW9yZSBvZiBhbiBBUEkgdHV0b3Jp
YWwuIE1heWJlIEknbGwKZG8gYSBDKysgdmVyc2lvbi4KLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQpyZXZpc2lvbiAxLjYKZGF0ZTogMjAwMC8wMy8xMSAwNjozMzozMzsgIGF1dGhv
cjogZHRvOyAgc3RhdGU6IEV4cDsgIGxpbmVzOiArNTYgLTU0CkNvbnZlcnNpb24gYW5kIHBh
cnRpYWwgcmV3cml0ZSBkb25lLiBTdGlsbCB3b3JraW5nLiBJdCdzIDIgQU0uCi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KcmV2aXNpb24gMS41CmRhdGU6IDIwMDAvMDIvMjMgMDQ6
MzA6Mzk7ICBhdXRob3I6IGR0bzsgIHN0YXRlOiBFeHA7ICBsaW5lczogKzM0IC0yMQpjaGVj
a2luIGJlZm9yZSBtYWpvciBpbmNvbXBhdGlibGUgY2hhbmdlcy4KQXQgdGhlIHN1Z2dlc3Rp
b24gb2YgQW5keSBTbG9hbmUgKGFuZHlAZ3VpbGRzb2Z0d2FyZS5jb20pIEkgYW0gc3dpdGNo
aW5nIG92ZXIgdG8gYQpmbG9hdGluZy1wb2ludCByZXByZXNlbnRhdGlvbiBmb3IgYWxsIGF1
ZGlvIGRhdGEgc3RvcmVkIGluIE9DVEFMLiBTb21lIG90aGVyIGNoYW5nZXMgd2lsbCBiZSBt
YWRlIHRvbzsKbW9yZSBpbmZvIGxhdGVyLgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CnJldmlzaW9uIDEuNApkYXRlOiAyMDAwLzAyLzA3IDA0OjAzOjQwOyAgYXV0aG9yOiBkdG87
ICBzdGF0ZTogRXhwOyAgbGluZXM6ICs0IC0xCkxhc3QgQ2hlY2tpbiBiZWZvcmUgc2hhcmVk
LW9iamVjdGlmaWNhdGlvbgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnJldmlzaW9u
IDEuMwpkYXRlOiAyMDAwLzAyLzA2IDA1OjU4OjQ1OyAgYXV0aG9yOiBkdG87ICBzdGF0ZTog
RXhwOyAgbGluZXM6ICsxOCAtMjgKbGFzdCBjaGVja2luIGJlZm9yZSBpdCdzIG1hZGUgaW50
byBhIHNoYXJlZCBvYmplY3QKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpyZXZpc2lv
biAxLjIKZGF0ZTogMjAwMC8wMS8wOSAyMDozNjo0MDsgIGF1dGhvcjogZHRvOyAgc3RhdGU6
IEV4cDsgIGxpbmVzOiArMjkgLTIzCmFkZGVkIG5ldyBvY3RhbCBkYXRhdHlwZXMsIGFib3V0
IHRvIGFkZCBmbG9hdGluZyBwb2ludAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnJl
dmlzaW9uIDEuMQpkYXRlOiAyMDAwLzAxLzA5IDAyOjM0OjIyOyAgYXV0aG9yOiBkdG87ICBz
dGF0ZTogc3RhdGU7CkluaXRpYWwgcmV2aXNpb24KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
ClJDUyBmaWxlOiBSQ1MvdGVtcGxhdGUuYyx2CldvcmtpbmcgZmlsZTogdGVtcGxhdGUuYwpo
ZWFkOiAxLjEKYnJhbmNoOgpsb2Nrczogc3RyaWN0CglkdG86IDEuMQphY2Nlc3MgbGlzdDoK
c3ltYm9saWMgbmFtZXM6CmtleXdvcmQgc3Vic3RpdHV0aW9uOiBrdgp0b3RhbCByZXZpc2lv
bnM6IDE7CXNlbGVjdGVkIHJldmlzaW9uczogMQpkZXNjcmlwdGlvbjoKLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQpyZXZpc2lvbiAxLjEJbG9ja2VkIGJ5OiBkdG87CmRhdGU6IDIw
MDAvMDIvMDcgMDQ6MDM6NDA7ICBhdXRob3I6IGR0bzsgIHN0YXRlOiBFeHA7CkluaXRpYWwg
cmV2aXNpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KClJDUyBmaWxlOiBSQ1MvdXRpbC5j
LHYKV29ya2luZyBmaWxlOiB1dGlsLmMKaGVhZDogMS40CmJyYW5jaDoKbG9ja3M6IHN0cmlj
dAoJZHRvOiAxLjQKYWNjZXNzIGxpc3Q6CnN5bWJvbGljIG5hbWVzOgprZXl3b3JkIHN1YnN0
aXR1dGlvbjoga3YKdG90YWwgcmV2aXNpb25zOiA0OwlzZWxlY3RlZCByZXZpc2lvbnM6IDQK
ZGVzY3JpcHRpb246CnV0aWxpdHkgYW5kIGRhdGEgY29udmVyc2lvbgotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCnJldmlzaW9uIDEuNAlsb2NrZWQgYnk6IGR0bzsKZGF0ZTogMjAw
MC8wMy8xNCAwNjoxMTo1MjsgIGF1dGhvcjogZHRvOyAgc3RhdGU6IEV4cDsgIGxpbmVzOiAr
MjEgLTEwCk1pbm9yIHR3ZWFrcy4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpyZXZp
c2lvbiAxLjMKZGF0ZTogMjAwMC8wMi8yMyAwNDozMDozOTsgIGF1dGhvcjogZHRvOyAgc3Rh
dGU6IEV4cDsgIGxpbmVzOiArMCAtMgpjaGVja2luIGJlZm9yZSBtYWpvciBpbmNvbXBhdGli
bGUgY2hhbmdlcy4KQXQgdGhlIHN1Z2dlc3Rpb24gb2YgQW5keSBTbG9hbmUgKGFuZHlAZ3Vp
bGRzb2Z0d2FyZS5jb20pIEkgYW0gc3dpdGNoaW5nIG92ZXIgdG8gYQpmbG9hdGluZy1wb2lu
dCByZXByZXNlbnRhdGlvbiBmb3IgYWxsIGF1ZGlvIGRhdGEgc3RvcmVkIGluIE9DVEFMLiBT
b21lIG90aGVyIGNoYW5nZXMgd2lsbCBiZSBtYWRlIHRvbzsKbW9yZSBpbmZvIGxhdGVyLgot
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnJldmlzaW9uIDEuMgpkYXRlOiAyMDAwLzAy
LzA3IDA0OjAzOjQwOyAgYXV0aG9yOiBkdG87ICBzdGF0ZTogRXhwOyAgbGluZXM6ICsxMSAt
MTIKTGFzdCBDaGVja2luIGJlZm9yZSBzaGFyZWQtb2JqZWN0aWZpY2F0aW9uCi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KcmV2aXNpb24gMS4xCmRhdGU6IDIwMDAvMDEvMTUgMDI6
NTU6NTI7ICBhdXRob3I6IGR0bzsgIHN0YXRlOiBFeHA7CkluaXRpYWwgcmV2aXNpb24KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KClJDUyBmaWxlOiBSQ1MvZW5naW5lLmgsdgpXb3JraW5n
IGZpbGU6IGVuZ2luZS5oCmhlYWQ6IDEuMQpicmFuY2g6CmxvY2tzOiBzdHJpY3QKCWR0bzog
MS4xCmFjY2VzcyBsaXN0OgpzeW1ib2xpYyBuYW1lczoKa2V5d29yZCBzdWJzdGl0dXRpb246
IGt2CnRvdGFsIHJldmlzaW9uczogMTsJc2VsZWN0ZWQgcmV2aXNpb25zOiAxCmRlc2NyaXB0
aW9uOgpPY3RhbCdzIGNvcmUuCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KcmV2aXNp
b24gMS4xCWxvY2tlZCBieTogZHRvOwpkYXRlOiAyMDAwLzAzLzI4IDA3OjE3OjM5OyAgYXV0
aG9yOiBkdG87ICBzdGF0ZTogRXhwOwpJbml0aWFsIHJldmlzaW9uCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09CgpSQ1MgZmlsZTogUkNTL21hY2hpbmUuaCx2CldvcmtpbmcgZmlsZTogbWFj
aGluZS5oCmhlYWQ6IDEuNwpicmFuY2g6CmxvY2tzOiBzdHJpY3QKCWR0bzogMS43CmFjY2Vz
cyBsaXN0OgpzeW1ib2xpYyBuYW1lczoKa2V5d29yZCBzdWJzdGl0dXRpb246IGt2CnRvdGFs
IHJldmlzaW9uczogNzsJc2VsZWN0ZWQgcmV2aXNpb25zOiA3CmRlc2NyaXB0aW9uOgptYWNo
aW5lIEFQSSBzdHVmZgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnJldmlzaW9uIDEu
Nwlsb2NrZWQgYnk6IGR0bzsKZGF0ZTogMjAwMC8wNi8wMyAwNTo1NTo0OTsgIGF1dGhvcjog
ZHRvOyAgc3RhdGU6IEV4cDsgIGxpbmVzOiArMzQgLTE5Cm1pbm9yIGNoYW5nZXMgdG8gYWNj
b21vZGF0ZSBuZXcgQVBJLgppbiBwYXJ0aWN1bGFyLCBibG9ja19zaXplIGlzIG5vdyBhIHBh
cmFtZXRlcgppbiBjYWxscyB0byBveF93b3JrKCksIGluc3RlYWQgb2YgYSBtZW1iZXIKb2Yg
c3RydWN0IG1hY2hpbmUsIHdoaWNoIG1hZGUgbGl0dGxlIHNlbnNlLgotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCnJldmlzaW9uIDEuNgpkYXRlOiAyMDAwLzAzLzI4IDA3OjE3OjM5
OyAgYXV0aG9yOiBkdG87ICBzdGF0ZTogRXhwOyAgbGluZXM6ICszMCAtMjAKTm90aGluZyBt
dWNoLgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnJldmlzaW9uIDEuNQpkYXRlOiAy
MDAwLzAzLzE0IDA2OjExOjUyOyAgYXV0aG9yOiBkdG87ICBzdGF0ZTogRXhwOyAgbGluZXM6
ICs0NiAtMzMKU29tZSBuZXcgbWFjaGluZSBBUEkgZnVuY3Rpb25zLgotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCnJldmlzaW9uIDEuNApkYXRlOiAyMDAwLzAzLzExIDA2OjMzOjMz
OyAgYXV0aG9yOiBkdG87ICBzdGF0ZTogRXhwOyAgbGluZXM6ICs1MyAtNTgKQ29udmVyc2lv
biBhbmQgcGFydGlhbCByZXdyaXRlIGRvbmUuIFN0aWxsIHdvcmtpbmcuIEl0J3MgMiBBTS4K
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpyZXZpc2lvbiAxLjMKZGF0ZTogMjAwMC8w
Mi8yMyAwNDozMDozOTsgIGF1dGhvcjogZHRvOyAgc3RhdGU6IEV4cDsgIGxpbmVzOiArMTUg
LTEyCmNoZWNraW4gYmVmb3JlIG1ham9yIGluY29tcGF0aWJsZSBjaGFuZ2VzLgpBdCB0aGUg
c3VnZ2VzdGlvbiBvZiBBbmR5IFNsb2FuZSAoYW5keUBndWlsZHNvZnR3YXJlLmNvbSkgSSBh
bSBzd2l0Y2hpbmcgb3ZlciB0byBhCmZsb2F0aW5nLXBvaW50IHJlcHJlc2VudGF0aW9uIGZv
ciBhbGwgYXVkaW8gZGF0YSBzdG9yZWQgaW4gT0NUQUwuIFNvbWUgb3RoZXIgY2hhbmdlcyB3
aWxsIGJlIG1hZGUgdG9vOwptb3JlIGluZm8gbGF0ZXIuCi0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KcmV2aXNpb24gMS4yCmRhdGU6IDIwMDAvMDIvMDcgMDQ6MDM6NDA7ICBhdXRo
b3I6IGR0bzsgIHN0YXRlOiBFeHA7ICBsaW5lczogKzQwIC0zNwpMYXN0IENoZWNraW4gYmVm
b3JlIHNoYXJlZC1vYmplY3RpZmljYXRpb24KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQpyZXZpc2lvbiAxLjEKZGF0ZTogMjAwMC8wMi8wNSAwMDozNjozNDsgIGF1dGhvcjogZHRv
OyAgc3RhdGU6IEV4cDsKSW5pdGlhbCByZXZpc2lvbgo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQoKUkNTIGZpbGU6IFJDUy9vY3RhbC5oLHYKV29ya2luZyBmaWxlOiBvY3RhbC5oCmhlYWQ6
IDEuNQpicmFuY2g6CmxvY2tzOiBzdHJpY3QKCWR0bzogMS41CmFjY2VzcyBsaXN0OgpzeW1i
b2xpYyBuYW1lczoKa2V5d29yZCBzdWJzdGl0dXRpb246IGt2CnRvdGFsIHJldmlzaW9uczog
NTsJc2VsZWN0ZWQgcmV2aXNpb25zOiA1CmRlc2NyaXB0aW9uOgotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCnJldmlzaW9uIDEuNQlsb2NrZWQgYnk6IGR0bzsKZGF0ZTogMjAwMC8w
Ni8wMyAwNTo1NTo0OTsgIGF1dGhvcjogZHRvOyAgc3RhdGU6IEV4cDsgIGxpbmVzOiArMTIg
LTgKbWlub3IgdHdlYWtzOyBjaGFuZ2VkICIKZGF0YSIgdG8gInBhcmFtIgotLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCnJldmlzaW9uIDEuNApkYXRlOiAyMDAwLzAzLzI4IDA3OjE3
OjM5OyAgYXV0aG9yOiBkdG87ICBzdGF0ZTogRXhwOyAgbGluZXM6ICs5IC00CkFkZGVkIHV0
aWxpdHkgZnVuY3Rpb24gb3hfZGllKCkKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpy
ZXZpc2lvbiAxLjMKZGF0ZTogMjAwMC8wMy8xMSAwNjozMzozMzsgIGF1dGhvcjogZHRvOyAg
c3RhdGU6IEV4cDsgIGxpbmVzOiArMTggLTEyCkNvbnZlcnNpb24gYW5kIHBhcnRpYWwgcmV3
cml0ZSBkb25lLiBTdGlsbCB3b3JraW5nLiBJdCdzIDIgQU0uCi0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KcmV2aXNpb24gMS4yCmRhdGU6IDIwMDAvMDIvMjMgMDQ6MzA6Mzk7ICBh
dXRob3I6IGR0bzsgIHN0YXRlOiBFeHA7ICBsaW5lczogKzAgLTEKY2hlY2tpbiBiZWZvcmUg
bWFqb3IgaW5jb21wYXRpYmxlIGNoYW5nZXMuCkF0IHRoZSBzdWdnZXN0aW9uIG9mIEFuZHkg
U2xvYW5lIChhbmR5QGd1aWxkc29mdHdhcmUuY29tKSBJIGFtIHN3aXRjaGluZyBvdmVyIHRv
IGEKZmxvYXRpbmctcG9pbnQgcmVwcmVzZW50YXRpb24gZm9yIGFsbCBhdWRpbyBkYXRhIHN0
b3JlZCBpbiBPQ1RBTC4gU29tZSBvdGhlciBjaGFuZ2VzIHdpbGwgYmUgbWFkZSB0b287Cm1v
cmUgaW5mbyBsYXRlci4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpyZXZpc2lvbiAx
LjEKZGF0ZTogMjAwMC8wMi8wNyAwNDowMzo0MDsgIGF1dGhvcjogZHRvOyAgc3RhdGU6IEV4
cDsKSW5pdGlhbCByZXZpc2lvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKUkNTIGZpbGU6
IFJDUy9vdXRwdXQuaCx2CldvcmtpbmcgZmlsZTogb3V0cHV0LmgKaGVhZDogMS42CmJyYW5j
aDoKbG9ja3M6IHN0cmljdAoJZHRvOiAxLjYKYWNjZXNzIGxpc3Q6CnN5bWJvbGljIG5hbWVz
OgprZXl3b3JkIHN1YnN0aXR1dGlvbjoga3YKdG90YWwgcmV2aXNpb25zOiA2OwlzZWxlY3Rl
ZCByZXZpc2lvbnM6IDYKZGVzY3JpcHRpb246CmhlYWRlciBmb3Igb2N0YWwgb3V0cHV0IGZ1
bmN0aW9ucwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnJldmlzaW9uIDEuNglsb2Nr
ZWQgYnk6IGR0bzsKZGF0ZTogMjAwMC8wMy8yOCAwNzoxNzozOTsgIGF1dGhvcjogZHRvOyAg
c3RhdGU6IEV4cDsgIGxpbmVzOiArOCAtNwpTZWUgb3V0cHV0LmMncyBybG9nCi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KcmV2aXNpb24gMS41CmRhdGU6IDIwMDAvMDMvMTQgMDY6
MTE6NTI7ICBhdXRob3I6IGR0bzsgIHN0YXRlOiBFeHA7ICBsaW5lczogKzEyIC05CkdvdCBy
aWQgb2YgZGFuZ2xpbmcgcHJvdG90eXBlIGZvciB0aGUgb2xkIG0ycygpIGZ1bmN0aW9uLgot
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnJldmlzaW9uIDEuNApkYXRlOiAyMDAwLzAz
LzExIDA2OjMzOjMzOyAgYXV0aG9yOiBkdG87ICBzdGF0ZTogRXhwOyAgbGluZXM6ICsxMyAt
MTIKQ29udmVyc2lvbiBhbmQgcGFydGlhbCByZXdyaXRlIGRvbmUuIFN0aWxsIHdvcmtpbmcu
IEl0J3MgMiBBTS4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpyZXZpc2lvbiAxLjMK
ZGF0ZTogMjAwMC8wMi8wNyAwNDowMzo0MDsgIGF1dGhvcjogZHRvOyAgc3RhdGU6IEV4cDsg
IGxpbmVzOiArMTYgLTgKTGFzdCBDaGVja2luIGJlZm9yZSBzaGFyZWQtb2JqZWN0aWZpY2F0
aW9uCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KcmV2aXNpb24gMS4yCmRhdGU6IDIw
MDAvMDEvMDkgMDI6MzM6MzI7ICBhdXRob3I6IGR0bzsgIHN0YXRlOiBFeHA7ICBsaW5lczog
KzIgLTEKc29tZSBtaW5vciBmdW5jdGlvbiBjaGFuZ2VzLgotLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCnJldmlzaW9uIDEuMQpkYXRlOiAyMDAwLzAxLzA2IDAxOjMzOjQ5OyAgYXV0
aG9yOiBkdG87ICBzdGF0ZTogRXhwOwpJbml0aWFsIHJldmlzaW9uCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09CgpSQ1MgZmlsZTogUkNTL294X3dyYXBwZXJzLmgsdgpXb3JraW5nIGZpbGU6
IG94X3dyYXBwZXJzLmgKaGVhZDogMS4xCmJyYW5jaDoKbG9ja3M6IHN0cmljdAoJZHRvOiAx
LjEKYWNjZXNzIGxpc3Q6CnN5bWJvbGljIG5hbWVzOgprZXl3b3JkIHN1YnN0aXR1dGlvbjog
a3YKdG90YWwgcmV2aXNpb25zOiAxOwlzZWxlY3RlZCByZXZpc2lvbnM6IDEKZGVzY3JpcHRp
b246CkNsYXNzIGRlY2xhcmF0aW9uIGZvciBveF93cmFwcGVycwotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCnJldmlzaW9uIDEuMQlsb2NrZWQgYnk6IGR0bzsKZGF0ZTogMjAwMC8w
Ni8wMyAwNTo1NTo0OTsgIGF1dGhvcjogZHRvOyAgc3RhdGU6IEV4cDsKSW5pdGlhbCByZXZp
c2lvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKUkNTIGZpbGU6IFJDUy9wYXR0ZXJuLmgs
dgpXb3JraW5nIGZpbGU6IHBhdHRlcm4uaApoZWFkOiAxLjUKYnJhbmNoOgpsb2Nrczogc3Ry
aWN0CglkdG86IDEuNQphY2Nlc3MgbGlzdDoKc3ltYm9saWMgbmFtZXM6CmtleXdvcmQgc3Vi
c3RpdHV0aW9uOiBrdgp0b3RhbCByZXZpc2lvbnM6IDU7CXNlbGVjdGVkIHJldmlzaW9uczog
NQpkZXNjcmlwdGlvbjoKc3R1ZmYgcmVsYXRlZCB0byBwYXR0ZXJucyBhbmQgcGFyYW1ldGVy
IGRhdGEKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpyZXZpc2lvbiAxLjUJbG9ja2Vk
IGJ5OiBkdG87CmRhdGU6IDIwMDAvMDMvMTQgMDY6MTE6NTI7ICBhdXRob3I6IGR0bzsgIHN0
YXRlOiBFeHA7ICBsaW5lczogKzI3IC0yMApUaGlzIGlzbid0IGRvbmUgeWV0LCBJIHN0YXJ0
ZWQgb3Zlci4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpyZXZpc2lvbiAxLjQKZGF0
ZTogMjAwMC8wMy8xMSAwNjozMzozMzsgIGF1dGhvcjogZHRvOyAgc3RhdGU6IEV4cDsgIGxp
bmVzOiArMjggLTI5CkNvbnZlcnNpb24gYW5kIHBhcnRpYWwgcmV3cml0ZSBkb25lLiBTdGls
bCB3b3JraW5nLiBJdCdzIDIgQU0uCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KcmV2
aXNpb24gMS4zCmRhdGU6IDIwMDAvMDIvMjMgMDQ6MzA6Mzk7ICBhdXRob3I6IGR0bzsgIHN0
YXRlOiBFeHA7ICBsaW5lczogKzEyIC0xMQpjaGVja2luIGJlZm9yZSBtYWpvciBpbmNvbXBh
dGlibGUgY2hhbmdlcy4KQXQgdGhlIHN1Z2dlc3Rpb24gb2YgQW5keSBTbG9hbmUgKGFuZHlA
Z3VpbGRzb2Z0d2FyZS5jb20pIEkgYW0gc3dpdGNoaW5nIG92ZXIgdG8gYQpmbG9hdGluZy1w
b2ludCByZXByZXNlbnRhdGlvbiBmb3IgYWxsIGF1ZGlvIGRhdGEgc3RvcmVkIGluIE9DVEFM
LiBTb21lIG90aGVyIGNoYW5nZXMgd2lsbCBiZSBtYWRlIHRvbzsKbW9yZSBpbmZvIGxhdGVy
LgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnJldmlzaW9uIDEuMgpkYXRlOiAyMDAw
LzAyLzA3IDA0OjAzOjQwOyAgYXV0aG9yOiBkdG87ICBzdGF0ZTogRXhwOyAgbGluZXM6ICsx
NyAtMTQKTGFzdCBDaGVja2luIGJlZm9yZSBzaGFyZWQtb2JqZWN0aWZpY2F0aW9uCi0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KcmV2aXNpb24gMS4xCmRhdGU6IDIwMDAvMDIvMDUg
MDA6MzY6MDc7ICBhdXRob3I6IGR0bzsgIHN0YXRlOiBFeHA7CkluaXRpYWwgcmV2aXNpb24K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KClJDUyBmaWxlOiBSQ1Mvc3F1YXJlZ2VuLmgsdgpX
b3JraW5nIGZpbGU6IHNxdWFyZWdlbi5oCmhlYWQ6IDEuMwpicmFuY2g6CmxvY2tzOiBzdHJp
Y3QKCWR0bzogMS4zCmFjY2VzcyBsaXN0OgpzeW1ib2xpYyBuYW1lczoKa2V5d29yZCBzdWJz
dGl0dXRpb246IGt2CnRvdGFsIHJldmlzaW9uczogMzsJc2VsZWN0ZWQgcmV2aXNpb25zOiAz
CmRlc2NyaXB0aW9uOgpzaW1wbGUgc3F1YXJlIGdlbmVyYXRvciBmdW5jdGlvbnM7IG5vdyB3
b3JrcyB3ZWxsLgp3aWxsIHByb2JhYmx5IGJlIGNoYW5nZWQgdG8gYSBzaGFyZWQgb2JqZWN0
IGluIHRoZSBuZWFyIGZ1dHVyZQpzbyB0aGF0IHBsdWdpbiBhcGkncyBjYW4gYmUgd29ya2Vk
IG91dC4uLiBwYXJhbWV0ZXJpemF0aW9uIGV0Yy4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQpyZXZpc2lvbiAxLjMJbG9ja2VkIGJ5OiBkdG87CmRhdGU6IDIwMDAvMDIvMDYgMDU6
NTg6NDU7ICBhdXRob3I6IGR0bzsgIHN0YXRlOiBFeHA7ICBsaW5lczogKzggLTUKbGFzdCBj
aGVja2luIGJlZm9yZSBpdCdzIG1hZGUgaW50byBhIHNoYXJlZCBvYmplY3QKLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQpyZXZpc2lvbiAxLjIKZGF0ZTogMjAwMC8wMS8wOSAyMDoz
Njo0MDsgIGF1dGhvcjogZHRvOyAgc3RhdGU6IEV4cDsgIGxpbmVzOiArMTUgLTgKYWRkZWQg
bmV3IG9jdGFsIGRhdGF0eXBlcywgYWJvdXQgdG8gYWRkIGZsb2F0aW5nIHBvaW50Ci0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KcmV2aXNpb24gMS4xCmRhdGU6IDIwMDAvMDEvMDkg
MDI6MzQ6MjI7ICBhdXRob3I6IGR0bzsgIHN0YXRlOiBFeHA7CkluaXRpYWwgcmV2aXNpb24K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KClJDUyBmaWxlOiBSQ1MvdGVtcGxhdGUuaCx2Cldv
cmtpbmcgZmlsZTogdGVtcGxhdGUuaApoZWFkOiAxLjEKYnJhbmNoOgpsb2Nrczogc3RyaWN0
CglkdG86IDEuMQphY2Nlc3MgbGlzdDoKc3ltYm9saWMgbmFtZXM6CmtleXdvcmQgc3Vic3Rp
dHV0aW9uOiBrdgp0b3RhbCByZXZpc2lvbnM6IDE7CXNlbGVjdGVkIHJldmlzaW9uczogMQpk
ZXNjcmlwdGlvbjoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpyZXZpc2lvbiAxLjEJ
bG9ja2VkIGJ5OiBkdG87CmRhdGU6IDIwMDAvMDIvMDcgMDQ6MDM6NDA7ICBhdXRob3I6IGR0
bzsgIHN0YXRlOiBFeHA7CkluaXRpYWwgcmV2aXNpb24KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KClJDUyBmaWxlOiBSQ1MvdXRpbC5oLHYKV29ya2luZyBmaWxlOiB1dGlsLmgKaGVhZDog
MS41CmJyYW5jaDoKbG9ja3M6IHN0cmljdAoJZHRvOiAxLjUKYWNjZXNzIGxpc3Q6CnN5bWJv
bGljIG5hbWVzOgprZXl3b3JkIHN1YnN0aXR1dGlvbjoga3YKdG90YWwgcmV2aXNpb25zOiA1
OwlzZWxlY3RlZCByZXZpc2lvbnM6IDUKZGVzY3JpcHRpb246CnV0aWxpdHkgYW5kIGRhdGEg
Y29udmVyc2lvbgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnJldmlzaW9uIDEuNQls
b2NrZWQgYnk6IGR0bzsKZGF0ZTogMjAwMC8wMy8yOCAwNzoxNzozOTsgIGF1dGhvcjogZHRv
OyAgc3RhdGU6IEV4cDsgIGxpbmVzOiArMyAtMTgKTWlub3IgY2hhbmdlcy4KLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQpyZXZpc2lvbiAxLjQKZGF0ZTogMjAwMC8wMy8xNCAwNjox
MTo1MjsgIGF1dGhvcjogZHRvOyAgc3RhdGU6IEV4cDsgIGxpbmVzOiArMTAgLTkKU29tZSBt
aW5vciBjbGVhbnVwcy4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpyZXZpc2lvbiAx
LjMKZGF0ZTogMjAwMC8wMy8xMSAwNjozMzozMzsgIGF1dGhvcjogZHRvOyAgc3RhdGU6IEV4
cDsgIGxpbmVzOiArMTIgLTE4CkNvbnZlcnNpb24gYW5kIHBhcnRpYWwgcmV3cml0ZSBkb25l
LiBTdGlsbCB3b3JraW5nLiBJdCdzIDIgQU0uCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KcmV2aXNpb24gMS4yCmRhdGU6IDIwMDAvMDIvMjMgMDQ6MzA6Mzk7ICBhdXRob3I6IGR0
bzsgIHN0YXRlOiBFeHA7ICBsaW5lczogKzExIC04CmNoZWNraW4gYmVmb3JlIG1ham9yIGlu
Y29tcGF0aWJsZSBjaGFuZ2VzLgpBdCB0aGUgc3VnZ2VzdGlvbiBvZiBBbmR5IFNsb2FuZSAo
YW5keUBndWlsZHNvZnR3YXJlLmNvbSkgSSBhbSBzd2l0Y2hpbmcgb3ZlciB0byBhCmZsb2F0
aW5nLXBvaW50IHJlcHJlc2VudGF0aW9uIGZvciBhbGwgYXVkaW8gZGF0YSBzdG9yZWQgaW4g
T0NUQUwuIFNvbWUgb3RoZXIgY2hhbmdlcyB3aWxsIGJlIG1hZGUgdG9vOwptb3JlIGluZm8g
bGF0ZXIuCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KcmV2aXNpb24gMS4xCmRhdGU6
IDIwMDAvMDEvMTUgMDI6NTU6NTI7ICBhdXRob3I6IGR0bzsgIHN0YXRlOiBFeHA7CkluaXRp
YWwgcmV2aXNpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAb2N0YWwtYWxwaGEvc3F1YXJlZ2VuLmMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAx
MDA2NDQAMDAwMDc2NQAwMDAwNzcyADAwMDAwMDEzMTU0ADA3MTE2MTM2NTIzADAxMzU2MAAg
MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAg
AGR0bwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZHRvAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvKgoqICRIZWFkZXI6IC9ob21lL2R0
by9vY3RhbC9SQ1Mvc3F1YXJlZ2VuLmMsdiAxLjEwIDIwMDAvMDYvMDMgMDU6NTQ6NTYgZHRv
IEV4cCBkdG8gJAoqIChDKSAyMDAwIERhdmlkIE8nVG9vbGUgJERhdGU6IDIwMDAvMDYvMDMg
MDU6NTQ6NTYgJAoqIAoqIFNpbXBsZSBTcXVhcmUgV2F2ZSBHZW5lcmF0b3IgTWFjaGluZSBm
b3IgR05VIE9DVEFMLiBCbG9jay1vcmllbnRlZCBvdXRwdXQuCiogVGhpcyBpcyBpbnRlbmRl
ZCBhcyBhIHdvcmtpbmcgZXhhbXBsZSBvZiBob3cgdG8gd3JpdGUgYSBtYWNoaW5lIGZvciB0
aGUgT0NUQUwgQVBJLgoqIFlvdSBjYW4gYWxzbyB1c2UgQysrIGlmIHlvdSBwcmVmZXI7IHVz
ZSBveF93cmFwcGVycyAoc2VlIHRoZSBEZXZlbG9wZXIncyBHdWlkZSkKKiAKKiBUaGUgQVBJ
IGlzIG5vdCBzZXQgaW4gc3RvbmUgeWV0LiBOYW1lcy9tZXRob2RzL2V0YyB3aWxsIHByb2Jh
Ymx5IGNoYW5nZSBhIGxpdHRsZS4gCiogQWxzbywgdGhlIHdhdmV0YWJsZSBhbmQgYWNjZXNz
b3Igb2JqZWN0cyBhcmUgZGVzaWduZWQgYnV0IG5vdCB5ZXQgd3JpdHRlbi4gQ29taW5nIHNv
b24uICAKKgoqICRSZXZpc2lvbjogMS4xMCAkCioKKiBUaGlzIHNvZnR3YXJlIGlzIGRpc3Ry
aWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSAoR1BMKS4gUmVhZCB0aGUgaW5jbHVkZWQgZmlsZQoqIENPUFlJTkcgZm9yIG1vcmUg
aW5mb3JtYXRpb24uIAoqIAoqLwoKc3RhdGljIGNvbnN0IGNoYXIgcmNzaWRbXT0iJElkOiBz
cXVhcmVnZW4uYyx2IDEuMTAgMjAwMC8wNi8wMyAwNTo1NDo1NiBkdG8gRXhwIGR0byAkIjsK
CiNpbmNsdWRlICJ1dGlsLmgiICAgIC8qIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBtdXNpYyAg
Ki8KI2luY2x1ZGUgIm1hY2hpbmUuaCIgLyogbWFjaGluZSBpbnRlcmZhY2UgICAgICAgICAg
ICAqLwoKI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CgovKiBzb21l
IGluZm8gYWJvdXQgbXkgbWFjaGluZSB0eXBlLCB0byBiZSBwYXNzZWQgdG8gT0NUQUwgZHVy
aW5nIG94X2luaXQoKSAqLyAKCmVudW0ge2l4X25vdGUgPSAwLCBpeF92b2w9MX07ICAvKiBp
bmRleGVzIG9mIHBhcmFtZXRlcnMgaW4gYW4gZXZlbnQgKi8KZW51bSB7bXlfdHJhY2sgPSAw
IH07ICAgICAgICAgIC8qIHdlIG9ubHkgaGF2ZSBvbmUgdHJhY2sgZm9yIG5vdyAgICAqLwpl
bnVtIHtteV9udW1fcGFyYW1zID0gMn07CgpwYXJhbV9zcGVjIG15X3BhcmFtc1tdID0geyAK
ICB7CiAgICBub3RlLCAgICAgICAgICAgICAvKiBob3cgdG8gZGlzcGxheSBpdCBpbiBwYXR0
ZXJuIHZpZXcgKi8gCiAgICBzbGlkZXIsICAgICAgICAgICAvKiBob3cgdG8gY29udHJvbCBp
dCBpbiBjb250cm9sIGJveCAgKi8gCiAgICAibm90ZSIsCiAgICAiV2hpY2ggbm90ZSB0byBw
bGF5LiIsCiAgICAwLCAgICAgICAgICAgICAgICAvKiBtaW5pbXVtICAgICAgICAgICAqLwog
ICAgTk9URV9SQU5HRSwgICAgICAgLyogbWF4aW11bSAgICAgICAgICAgKi8gCiAgICAwICAg
ICAgICAgICAgICAgICAvKiBpZ25vcmVkIGZvciBub3RlIHBhcmFtcyAgICAgICAgICAgKi8g
CiAgfSwKCiAgewogICAgc21hbGwsICAgICAgICAgICAgLyogc2hvdyBhcyB0d28gaGV4IGRp
Z2l0cywgMDAtRkUgKi8KICAgIHNsaWRlciwgICAgICAgICAgIC8qIGNvbnRyb2wgdHlwZSBp
cyBzbGlkZXIgICAgICAgICovIAogICAgInZvbCIsIAogICAgIlZvbHVtZTogMDAtRkUiLAog
ICAgMHgwMCwgCiAgICAweEZFLCAKICAgIDB4ODAsICAgICAgICAgICAgIC8qIGRlZmF1bHQg
dm9sdW1lIHNldHRpbmcgICAgICAgICovIAogIH0KfTsKCi8qIHRoaXMgbmV4dCBzdHJ1Y3R1
cmUgcmVwcmVzZW50cyBhbiBpbnN0YW5jZSBvZiBhIHBhcnRpY3VsYXIgbWFjaGluZS4gKi8g
Cgp0eXBlZGVmIHN0cnVjdCBfbXlfc3RhdGUgeyAKICBmcmVxIHBpdGNoOyAgICAvKiBjYWxj
dWxhdGVkIGZyb20gbm90ZSBwYXJhbSB3aGVuZXZlciBpdCBjaGFuZ2VzICovIAogIHNhbXAg
dm9sOyAgICAgIC8qIGNhbGN1bGF0ZWQgZnJvbSB2b2wgcGFyYW0gd2hlbmV2ZXIgaXQgY2hh
bmdlcyAgKi8gIAogIHNhbXAgcGhhc2U7ICAgIC8qIGN1cnJlbnQgcGhhc2Ugb2Ygd2F2ZSAg
ICAgICAgICAgICAgICAgICAgICAgICAgKi8gIAogIHNhbXAgbGFzdF9zbXA7IAogIGludCBw
bGF5OyAgICAgIC8qIHVzZSB0aGlzIHRvIHRlbGwgd2hlbiB3ZSBoYXZlIG5vdGVvZmYgICAg
ICAgICAgKi8gCgp9IG15X3N0YXRlOyAKCi8qIG5vdyBJJ2xsIGltcGxlbWVudCB0aGUgY2Fs
bGJhY2tzIHRoYXQgT0NUQUwgZXhwZWN0cyB0byBmaW5kIChzZWUgbWFjaGluZS5oIGZvciBw
cm90b3R5cGVzKSAqLyAKCi8qIGluaXRpYWxpemUgdGhlIGxpYnJhcnkgYW5kIHRlbGwgT0NU
QUwgYWJvdXQgeW91cnNlbGYgKi8KIAppbnQgb3hfaW5pdChtYWNoaW5lX3R5cGUqIHQpIHsK
ICAKICB0LT5sb25nX25hbWUgICAgICAgID0gIkRhdmlkJ3MgU2ltcGxlIFNxdWFyZXdhdmUg
TWFjaGluZSI7IAogIHQtPnNob3J0X25hbWUgICAgICAgPSAiZHRvc3F1YXJlIjsgCiAgdC0+
bWF4X3RyYWNrcyAgICAgICA9IDE7IAogIHQtPmlucHV0X2NoYW5uZWxzICAgPSAxOyAKICB0
LT5vdXRwdXRfY2hhbm5lbHMgID0gMTsgICAKICB0LT5udW1fcGFyYW1zICAgICAgID0gbXlf
bnVtX3BhcmFtczsgCgogIHQtPnBhcmFtX3NwZWNzICAgICAgPSBteV9wYXJhbXM7IC8qIGdp
dmUgaXQgdGhlIGFkZHJlc3Mgb2YgbXkgYXJyYXkgb2YgcGFyYW0gc3RydWN0cyAqLyAKCiAg
cmV0dXJuKDEpOyAKfQoKCgovKiBjcmVhdGUgYSBtYWNoaW5lIGJ5IGFsbG9jYXRpbmcgYSBu
ZXcgbXlfc3RhdGUgc3RydWN0dXJlLCBhbmQgc3RvcmluZyBpdHMgbG9jYXRpb24gaW4gbS0+
c3RhdGUuICAgKi8KLyogdGhpcyBpcyBzYWZlIHNpbmNlIEkga25vdyB0aGF0IE9DVEFMIHdp
bGwgbmV2ZXIgdG91Y2ggdGhlIHZhbHVlIG9mIHRoaXMgcG9pbnRlcjsga2VlcGluZyBpdCBp
biAgICovCi8qIHRoZSBtYWNoaW5lIHN0cnVjdCBzaW1wbGlmaWVzIGtlZXBpbmcgdHJhY2sg
b2Ygc3RhdGUgb2JqZWN0cy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq
LyAKIAp2b2lkIG94X2NyZWF0ZShtYWNoaW5lKiBtKSB7CiAgbXlfc3RhdGUqIHM7CgogIHMg
PSAobXlfc3RhdGUqKSBtYWxsb2Moc2l6ZW9mKG15X3N0YXRlKSk7CiAgcy0+dm9sICA9IDB4
ODA7ICAgICAKICBzLT5wbGF5ID0gMDsgICAgICAgICAgIC8qIGRvbid0IHN0YXJ0IHVudGls
IHlvdSBnZXQgYSBub3RlICovIAogIHMtPmxhc3Rfc21wID0gMDsKICBtLT5zdGF0ZSA9ICh2
b2lkKilzOyAgCiAgbS0+bnVtX3RyYWNrcyA9IDE7CiAgfQoKLyogZnJlZSB0aGUgbWVtb3J5
IHdoZW4geW91IGRlc3Ryb3kgbWFjaGluZXMgKi8gCgp2b2lkIG94X2Rlc3Ryb3kobWFjaGlu
ZSogbSkgewogIGZyZWUobS0+c3RhdGUpOyAgCn0KCgovKiBveF91cGRhdGUoKSBpcyBjYWxs
ZWQgb24gZXZlcnkgdGljaywgb3Igd2hlbmV2ZXIgeW91IG1pZ2h0IGdldCBuZXcgcGFyYW1z
ICAgICAgKi8gCi8qIHNvIHJlbG9hZCBhbGwgdGhlIG9uZXMgdGhhdCBhcmVuJ3Qgc2V0IHRv
ICJub2NoYW5nZSIgICAgICAgICAgICAgICAgICAgICAgICAgKi8KCnZvaWQgb3hfdXBkYXRl
KG1hY2hpbmUqIG0pIHsKICBwYXJhbSB0ZW1wOyAKCiAgbXlfc3RhdGUgKnMgPSAobXlfc3Rh
dGUqKW0tPnN0YXRlOyAKICAgICAKICB0ZW1wID0gbS0+cGFyYW1zW215X3RyYWNrXVtpeF9u
b3RlXTsKICBpZiAodGVtcCAhPSBub2NoYW5nZSkgeyAKICAgIHMtPnBpdGNoID0gbm90ZTJm
cmVxKHRlbXApOyAKICAgIGlmICh0ZW1wID0gbm90ZW9mZikgcy0+cGxheSA9IDA7IAogICAg
ZWxzZSBzLT5wbGF5ID0gMTsgCiAgfQogIHRlbXAgPSBtLT5wYXJhbXNbbXlfdHJhY2tdW2l4
X3ZvbF07CiAgaWYgKHRlbXAgIT0gbm9jaGFuZ2UpIHsKICAgIHMtPnZvbCA9ICgoZmxvYXQp
dGVtcCkgLyAyNTUuMDsgICAgLyogc2NhbGUgZnJvbSAweDAwLi4weEZFIHRvIGZsb2F0aW5n
IHBvaW50IDAuLjEgKi8gICAKICB9Cn0gCgoKLyogcmV0dXJuIGEgc3RyaW5nIGRlc2NyaWJp
bmcgYSBnaXZlbiBwYXJhbWV0ZXIgdmFsdWUuLi4gdGhpcyBpcyB1c2VkIGZvciBpbnRlcmFj
dGl2ZSB0d2Vha2luZyAqLwovKiBvZiBwYXJhbWV0ZXJzLCBnaXZpbmcgdGhlIHVzZXIgZmVl
ZGJhY2sgb24gd2hhdCdzIGhhcHBlbmluZyB3aGVuIGhlL3NoZSBwdWxscyBhIHNsaWRlci4u
LiAgICovIAoKY29uc3QgY2hhciogb3hfZGVzYyhpbnQgd2hpY2hfcGFyYW0sIHBhcmFtIHZh
bHVlKSB7CiAgc3RhdGljIGNoYXIgdGVtcHN0cmluZ1sxMDBdOwogIGZsb2F0IHg7CiAgaW50
IHBlcmNlbnQ7IAoKICBzd2l0Y2ggKHdoaWNoX3BhcmFtKSB7CiAgCiAgY2FzZSBpeF9ub3Rl
OiAKICAgIHJldHVybiAiSWdub3JlZC4iOwogICAgYnJlYWs7IAoKICBjYXNlIGl4X3ZvbDog
CiAgICB4ID0gKChmbG9hdCl2YWx1ZSkgLyAyNTUuMDsgIC8qIHNjYWxlIGZyb20gMHgwMC4u
MHhGRSB0byBmbG9hdGluZyBwb2ludCAwLi4xICovIAogICAgcGVyY2VudCA9IChpbnQpKHgg
KiAxMDApOwogICAgc3ByaW50Zih0ZW1wc3RyaW5nLCAiJWQlJSIsIHBlcmNlbnQpOyAKICAg
IHJldHVybiB0ZW1wc3RyaW5nOwogICAgYnJlYWs7CgogIGRlZmF1bHQ6IAogICAgcmV0dXJu
KCJFUlJPUiIpOyAKICB9OwoKfQoKCmludCBveF93b3JrKG1hY2hpbmUqIG0sIGludCBibG9j
a19zaXplKSB7CgogbXlfc3RhdGUqIHM7ICAKIHNhbXAqIG1vdXQ7ICAgICAgICAgICAgICAv
KiBtb25vIG91dHB1dCBmb3IgdGhpcyBtYWNoaW5lICovIAogZnJlcSBwaGFzZWluYzsgCiBm
cmVxIHBoYXNlOyAgCiBzYW1wIHZvbCwgdG1wOyAKIGludCBpOwoKIHMgPSAobXlfc3RhdGUq
KW0tPnN0YXRlOyAgICAgICAgIC8qIGdyYWIgb3VyIHN0YXRlIGRhdGEgYWRkcmVzcyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICovIAogbW91dCA9IG0tPmxvdXQ7ICAgICAgICAgICAg
ICAgICAgLyogc2luY2UgbG91dD1yb3V0IGZvciBtb25vIG1hY2hpbmVzLCBJIGNvdWxkIHVz
ZSBlaXRoZXIgKi8gCiBwaGFzZWluYyA9IChmcmVxKShzLT5waXRjaC80NDEwMC4wKTsKIHBo
YXNlID0gcy0+cGhhc2U7IAogdm9sID0gcy0+dm9sOyAKCiBpZiAoIXMtPnBsYXkpIHJldHVy
biAoMCk7IC8qIG5vdGhpbmcgdG8gZ2VuZXJhdGUgKi8gIAoKIGZvciAoaT0wOyBpIDwgYmxv
Y2tfc2l6ZTsgaSsrKSB7CiAgICB0bXAgPSAocGhhc2UgPj0gMC41KSA/IHZvbCA6IC12b2w7
CiAgICAvKiBsb3ctcGFzcyBmaWx0ZXIgdGhlIG91dHB1dCAqLwogICAgdG1wID0gMC40NSp0
bXAgKyAoMS4wIC0gMC40NSkqcy0+bGFzdF9zbXA7CiAgICBzLT5sYXN0X3NtcCA9IHRtcDsK
ICAgIG1vdXRbaV0gPSB0bXA7CiAgICBwaGFzZSArPSBwaGFzZWluYzsKICAgIGlmIChwaGFz
ZSA+PSAxLjApIHBoYXNlID0gMC4wOwogIH0KCiBzLT5waGFzZSA9IHBoYXNlOyAgIC8qIHB1
dCBzdGF0ZSBkYXRhIGJhY2sgaW4gc3RhdGUgc3RydWN0ICovICAKIHJldHVybigxKTsgICAg
ICAgICAgLyogZ2VuZXJhdGVkIHN1Y2Nlc3NmdWxseSAqLyAKfQoKdm9pZCBveF90cmFjayht
YWNoaW5lKiBtLCBpbnQgY2hhbmdlKSB7IAogIC8qIGxlYXZlIHRoaXMgYmxhbmsgZm9yIGVm
ZmVjdHMsIG9yIGlmIHlvdSBkb24ndCBoYXZlIHBvbHlwaG9ueSAqLyAKfQoKCi8qIEVuZCAk
U291cmNlOiAvaG9tZS9kdG8vb2N0YWwvUkNTL3NxdWFyZWdlbi5jLHYgJCAqLwoKAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAABvY3RhbC1hbHBoYS9zcXVhcmVnZW4uaAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwNzY1ADAwMDA3NzIAMDAwMDAwMDE1NTIAMDcxMTYx
MzY1MjMAMDEzNTY0ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAHVzdGFyICAAZHRvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkdG8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8qCiogJEhl
YWRlcjogL2hvbWUvZHRvL29jdGFsL1JDUy9zcXVhcmVnZW4uaCx2IDEuMyAyMDAwLzAyLzA2
IDA1OjU4OjQ1IGR0byBFeHAgZHRvICQKKiAoQykgMjAwMCBEYXZpZCBPJ1Rvb2xlICREYXRl
OiAyMDAwLzAyLzA2IDA1OjU4OjQ1ICQKKiAkUmV2aXNpb246IDEuMyAkCiogCiogU1FVQVJF
R0VOLkgKKiBTaW1wbGUgU3F1YXJlIEdlbmVyYXRvcgoqCiogVGhpcyBzb2Z0d2FyZSBpcyBk
aXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCiogR05VIEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgKEdQTCkuIFJlYWQgdGhlIGluY2x1ZGVkIGZpbGUKKiBDT1BZSU5HIGZvciBt
b3JlIGluZm9ybWF0aW9uLiAKKiAKKiAkTG9nOiBzcXVhcmVnZW4uaCx2ICQKKiBSZXZpc2lv
biAxLjMgIDIwMDAvMDIvMDYgMDU6NTg6NDUgIGR0bwoqIGxhc3QgY2hlY2tpbiBiZWZvcmUg
aXQncyBtYWRlIGludG8gYSBzaGFyZWQgb2JqZWN0CioKKiBSZXZpc2lvbiAxLjIgIDIwMDAv
MDEvMDkgMjA6MzY6NDAgIGR0bwoqIGFkZGVkIG5ldyBvY3RhbCBkYXRhdHlwZXMsIGFib3V0
IHRvIGFkZCBmbG9hdGluZyBwb2ludAoqCiogUmV2aXNpb24gMS4xICAyMDAwLzAxLzA5IDAy
OjM0OjIyICBkdG8KKiBJbml0aWFsIHJldmlzaW9uCioKKgoqCiovCiNpZm5kZWYgX3NxdWFy
ZWdlbl9oXwojZGVmaW5lIF9zcXVhcmVnZW5faF8gIkAoIylteWZpbGUuaCAkUmV2aXNpb246
IDEuMyAkIgoKCiNpbmNsdWRlICJvY3RhbC5oIgoKdm9pZCB3b3JrKHNhbXAgKnBzYW1wbGVz
LCBpbnQgbnVtc2FtcGxlcywgZGF0YSBub3RlKTsKCgoKI2VuZGlmIC8qX3NxdWFyZWdlbl9o
XyovCgovKiAkU291cmNlOiAvaG9tZS9kdG8vb2N0YWwvUkNTL3NxdWFyZWdlbi5oLHYgJCAq
LwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvY3RhbC1hbHBo
YS90ZW1wbGF0ZS5jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwNzY1ADAw
MDA3NzIAMDAwMDAwMDEwNzAAMDcxMTYxMzY1MjMAMDEzMzczACAwAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAZHRvAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAABkdG8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAC8qCiogJEhlYWRlcjogL2hvbWUvZHRvL29jdGFsL1JDUy90ZW1w
bGF0ZS5jLHYgMS4xIDIwMDAvMDIvMDcgMDQ6MDM6NDAgZHRvIEV4cCBkdG8gJAoqIChDKSAy
MDAwIERhdmlkIE8nVG9vbGUgJERhdGU6IDIwMDAvMDIvMDcgMDQ6MDM6NDAgJAoqIAoqIDxk
ZXNjcmliZSBtZT4gCioKKiAkUmV2aXNpb246IDEuMSAkCioKKiBUaGlzIHNvZnR3YXJlIGlz
IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKiBHTlUgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSAoR1BMKS4gUmVhZCB0aGUgaW5jbHVkZWQgZmlsZQoqIENPUFlJTkcgZm9y
IG1vcmUgaW5mb3JtYXRpb24uIAoqIAoqICRMb2c6IHRlbXBsYXRlLmMsdiAkCiogUmV2aXNp
b24gMS4xICAyMDAwLzAyLzA3IDA0OjAzOjQwICBkdG8KKiBJbml0aWFsIHJldmlzaW9uCioK
KgoqCioKKi8Kc3RhdGljIGNvbnN0IGNoYXIgcmNzaWRbXT0iJElkOiB0ZW1wbGF0ZS5jLHYg
MS4xIDIwMDAvMDIvMDcgMDQ6MDM6NDAgZHRvIEV4cCBkdG8gJCI7CgoKCgoKCi8qIEVuZCAk
U291cmNlOiAvaG9tZS9kdG8vb2N0YWwvUkNTL3RlbXBsYXRlLmMsdiAkKi8AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABvY3RhbC1hbHBoYS90ZW1wbGF0ZS5oAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAMDEwMDY0NAAwMDAwNzY1ADAwMDA3NzIAMDAwMDAwMDEwNjYAMDcxMTYxMzY1MjMA
MDEzNDA1ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AHVzdGFyICAAZHRvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkdG8AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8qCiogJEhlYWRlcjog
L2hvbWUvZHRvL29jdGFsL1JDUy90ZW1wbGF0ZS5oLHYgMS4xIDIwMDAvMDIvMDcgMDQ6MDM6
NDAgZHRvIEV4cCBkdG8gJAoqIChDKSAyMDAwIERhdmlkIE8nVG9vbGUgJERhdGU6IDIwMDAv
MDIvMDcgMDQ6MDM6NDAgJAoqICRSZXZpc2lvbjogMS4xICQKKiAKKiA8ZGVzY3JpYmUgbWU+
IAoqCiogVGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlCiogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkuIFJlYWQgdGhlIGluY2x1
ZGVkIGZpbGUKKiBDT1BZSU5HIGZvciBtb3JlIGluZm9ybWF0aW9uLiAKKiAKKiAkTG9nOiB0
ZW1wbGF0ZS5oLHYgJAoqIFJldmlzaW9uIDEuMSAgMjAwMC8wMi8wNyAwNDowMzo0MCAgZHRv
CiogSW5pdGlhbCByZXZpc2lvbgoqCioKKgoqLwoKI2lmbmRlZiBfbXlmaWxlX2hfCiNkZWZp
bmUgX215ZmlsZV9oXyAiQCgjKW15ZmlsZS5oICRSZXZpc2lvbjogMS4xICQiCgojZW5kaWYg
LypfbXlmaWxlX2hfKi8KCi8qICRTb3VyY2U6IC9ob21lL2R0by9vY3RhbC9SQ1MvdGVtcGxh
dGUuaCx2ICQgKi8KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvY3RhbC1hbHBoYS9UT0RP
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwNzY1ADAwMDA3NzIA
MDAwMDAwMDAwMDAAMDcwNjcwNDUyNjEAMDEyMDc3ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAZHRvAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAABkdG8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAG9jdGFsLWFscGhhL3V0aWwuYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAwMTAwNjQ0ADAwMDA3NjUAMDAwMDc3MgAwMDAwMDAwNjE3MwAwNzExNjEzNjUyMwAwMTI1
NDYAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0
YXIgIABkdG8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGR0bwAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALyoKKiAkSGVhZGVyOiAvaG9t
ZS9kdG8vb2N0YWwvUkNTL3V0aWwuYyx2IDEuNCAyMDAwLzAzLzE0IDA2OjExOjUyIGR0byBF
eHAgZHRvICQKKiAoQykgMjAwMCBEYXZpZCBPJ1Rvb2xlICREYXRlOiAyMDAwLzAzLzE0IDA2
OjExOjUyICQKKiAKKiBPQ1RBTCdzIHZhcmlvdXMgdXRpbGl0eSBmdW5jdGlvbnMuIAoqCiog
JFJldmlzaW9uOiAxLjQgJAoqCiogVGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlCiogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCku
IFJlYWQgdGhlIGluY2x1ZGVkIGZpbGUKKiBDT1BZSU5HIGZvciBtb3JlIGluZm9ybWF0aW9u
LiAKKiAKKiAkTG9nOiB1dGlsLmMsdiAkCiogUmV2aXNpb24gMS40ICAyMDAwLzAzLzE0IDA2
OjExOjUyICBkdG8KKiBNaW5vciB0d2Vha3MuCioKKiBSZXZpc2lvbiAxLjMgIDIwMDAvMDIv
MjMgMDQ6MzA6MzkgIGR0bwoqIGNoZWNraW4gYmVmb3JlIG1ham9yIGluY29tcGF0aWJsZSBj
aGFuZ2VzLgoqIEF0IHRoZSBzdWdnZXN0aW9uIG9mIEFuZHkgU2xvYW5lIChhbmR5QGd1aWxk
c29mdHdhcmUuY29tKSBJIGFtIHN3aXRjaGluZyBvdmVyIHRvIGEKKiBmbG9hdGluZy1wb2lu
dCByZXByZXNlbnRhdGlvbiBmb3IgYWxsIGF1ZGlvIGRhdGEgc3RvcmVkIGluIE9DVEFMLiBT
b21lIG90aGVyIGNoYW5nZXMgd2lsbCBiZSBtYWRlIHRvbzsKKiBtb3JlIGluZm8gbGF0ZXIu
CioKKiBSZXZpc2lvbiAxLjEgIDIwMDAvMDEvMTUgMDI6NTU6NTIgIGR0bwoqIEluaXRpYWwg
cmV2aXNpb24KKgoqLwoKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4K
I2luY2x1ZGUgPHN0cmluZy5oPgojaW5jbHVkZSA8bWF0aC5oPgoKI2luY2x1ZGUgIm9jdGFs
LmgiCgpzdGF0aWMgY29uc3QgY2hhciByY3NpZFtdPSIkSWQ6IHV0aWwuYyx2IDEuNCAyMDAw
LzAzLzE0IDA2OjExOjUyIGR0byBFeHAgZHRvICQiOwoKLyogbWFnaWMgbnVtYmVycyAqLwoj
ZGVmaW5lIEZSRVFfT0ZfQTQgNDQwCiNkZWZpbmUgREFUQV9PRl9BNCA1NwoKZnJlcSBmcmVx
X3RhYmxlW05PVEVfUkFOR0VdOyAgICAgLyogZnJlcXVlbmN5IHRhYmxlIGZvciBub3RlcyAq
LwpjaGFyIG5vdGVfbmFtZXNbTk9URV9SQU5HRV1bMTBdOyAvKiB0ZXh0IGVxdWl2YWxlbnRz
IG9mIGFsbCB0aGUgbm90ZXMsIGJ5IGRhdGEgdmFsdWUuIDMgY2hhcmFjdGVycyBsb25nIGVh
Y2guICovCgovKiBkb24ndCB0b3VjaCB0aGlzLiAqLwpjb25zdCBjaGFyKiBub3RlX3ByZWZp
eGVzWzEyXT0geyJjLSIsICJjIyIsICJkLSIsICJkIyIsICJlLSIsIAoJCQkJCQkiZi0iLCAi
ZiMiLCAiZy0iLCAiZyMiLCAiYS0iLCAKCQkJCQkJImEjIiwgImItIn07IAoKCgovKiB0aGVz
ZSBpbml0XyBmdW5jdGlvbnMgbXVzdCBiZSBjYWxsZWQgYnkgb2N0YWwgYmVmb3JlIGFueSBt
YWNoaW5lcyBjYW4gZG8gd29yay4gKi8KLyogY29udmVuaWVudGx5LCBpbml0X3NvdW5kIGNh
biBwcm9iYWJseSBkbyB0aGlzLCBvciBhdCBsZWFzdCBhdCB0aGUgc2FtZSB0aW1lLiAgICov
Cgp2b2lkIGluaXRfbm90ZV9uYW1lcygpIHsKCWludCBpOwoKCWZvciAoaT0wOyBpPE5PVEVf
UkFOR0U7IGkrKykgeyAKCQlzcHJpbnRmKG5vdGVfbmFtZXNbaV0sICIlcyVkIiwgbm90ZV9w
cmVmaXhlc1tpJTEyXSwgaS8xMik7CgkJbm90ZV9uYW1lc1tpXVszXSA9ICdcMCc7IC8qIGFk
ZCBudWxsIHRlcm1pbmF0b3Igb24gNHRoIGNoYXIgKi8KCQl9Cgl9Cgp2b2lkIGluaXRfZnJl
cV90YWJsZSgpIHsKCWludCBpOwoJbG9uZyBkb3VibGUgZj0wOwoJbG9uZyBkb3VibGUgZmFj
dG9yOwoJbG9uZyBkb3VibGUgdDsKCQoJdD0oZG91YmxlKTEuMC8oZG91YmxlKTEyLjA7Cglm
YWN0b3I9cG93KDIsdCk7CgkKCS8qIGZpcnN0IHdhbGsgdXAgZnJvbSBBNCwgd2hpY2ggaXMg
dGhlIEEgYWJvdmUgbWlkZGxlIEMgaW4gT0NUQUwuIDQ0MEhaICovCglmb3IgKGkgPSBEQVRB
X09GX0E0LCBmID0gRlJFUV9PRl9BNDsgaTxOT1RFX1JBTkdFOyBpKyspIHsKCQlmcmVxX3Rh
YmxlW2ldID0gZjsKCQlmICo9IGZhY3RvcjsgICAgICAvKiBtdWx0IHRvIG5leHQgbm90ZSAq
LwoJCX0KCQoJLyogbm93IHdhbGsgZG93biBmcm9tIEE0IHRvIEMwICovCglmb3IgKGkgPSBE
QVRBX09GX0E0LCBmID0gRlJFUV9PRl9BNDsgaSA+PSAwOyBpLS0pIHsKCQlmcmVxX3RhYmxl
W2ldID0gZjsKCQlmIC89IGZhY3RvcjsgICAgICAvKiBkaXYgdG8gbmV4dCBub3RlICovCgkJ
fQoJCQoJfQoKLyogeW91IGNhbiBvbmx5IHVzZSB0aGVzZSBuZXh0IGNvdXBsZSBpZiB0aGUg
aW5pdCBmdW5jdGlvbnMgaGF2ZSBiZWVuIGNhbGxlZCAqLwoKZnJlcSBub3RlMmZyZXEoZGF0
YSBuKSB7CglyZXR1cm4gZnJlcV90YWJsZVtuXTsKCX0KCgpjb25zdCBjaGFyKiBub3RlMnRl
eHQoZGF0YSBuKSB7CglyZXR1cm4gbm90ZV9uYW1lc1tuXTsKCX0KCgovKiByZXR1cm5zIG1p
ZGRsZSBhIGlmIGl0IGNhbm5vdCBwYXJzZSB0aGUgbm90ZS4gCiAgIHJldHVybmluZyAtMSB3
b3VsZCBiZSBhIGJhZCBpZGVhLCBhcyBpdCB3b3VsZAogICBicmVhayBhbnl0aGluZyB3aGlj
aCB1c2VzIHRoZSByZXR1cm4gdmFsdWUgYXMgCiAgIGEgc3Vic2NyaXB0IAoqLyAKICAgCmRh
dGEgdGV4dDJub3RlKGNvbnN0IGNoYXIqIG5hbWUpIHsKCWludCBpOyAgICAgICAgICAgCglj
aGFyIG15Y29weVs2NF07IAoJCglzdHJjcHkobXljb3B5LCBuYW1lKTsKCW15Y29weVswXSA9
IHRvbG93ZXIobXljb3B5WzBdKTsKCW15Y29weVszXSA9ICdcMCc7CgkKCWZvciAoaT0wOyBp
PE5PVEVfUkFOR0U7IGkrKykgCgkJaWYgKHN0cmNtcChteWNvcHksIG5vdGVfbmFtZXNbaV0p
ID09IDApCQoJCQlyZXR1cm4gaTsKCSAgICAgICAKCS8qIHRoYXQgcmVhbGx5IHNob3VsZCBo
YXZlIGJlZW4gYSBiaW5hcnkgc2VhcmNoLCBub3QgbGluZWFyLiAKCSAgIGJ1dCB0aGlzIGlz
bid0IGdvaW5nIHRvIGdldCB1c2VkIG11Y2guIAoJKi8KCglyZXR1cm4gREFUQV9PRl9BNDsK
CQkKCX0KCmZyZXEgdGV4dDJmcmVxKGNvbnN0IGNoYXIqIG5hbWUpIHsKCWludCB0ZXN0PXRl
eHQybm90ZShuYW1lKTsKCWlmICh0ZXN0Pj0wKSByZXR1cm4gKG5vdGUyZnJlcSh0ZXN0KSk7
ICAgIC8qIGNvbnZlbmllbnQsIGVoPyAqLwoJZWxzZSByZXR1cm4gNDQwLjA7Cgl9CgovKiBF
bmQgJFNvdXJjZTogL2hvbWUvZHRvL29jdGFsL1JDUy91dGlsLmMsdiAkKi8KAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AABvY3RhbC1hbHBoYS91dGlsLmgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0
NAAwMDAwNzY1ADAwMDA3NzIAMDAwMDAwMDE3NTIAMDcxMTYxMzY1MjMAMDEyNTUxACAwAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAZHRv
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkdG8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8qICRIZWFkZXI6IC9ob21lL2R0by9vY3Rh
bC9SQ1MvdXRpbC5oLHYgMS4zIDIwMDAvMDMvMTEgMDY6MzM6MzMgZHRvCiogRXhwIGR0byAk
IChDKSAyMDAwIERhdmlkIE8nVG9vbGUgJERhdGU6IDIwMDAvMDMvMjggMDc6MTc6MzkgJAoq
ICRSZXZpc2lvbjogMS41ICQKKiAKKiBPQ1RBTCdzIHZhcmlvdXMgdXRpbGl0eSBmdW5jdGlv
bnMuIAoqCiogVGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlCiogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkuIFJlYWQgdGhlIGlu
Y2x1ZGVkIGZpbGUKKiBDT1BZSU5HIGZvciBtb3JlIGluZm9ybWF0aW9uLiAKKiAqLwojaWZu
ZGVmIF91dGlsX2hfCiNkZWZpbmUgX3V0aWxfaF8gIkAoIyl1dGlsLmggJFJldmlzaW9uOiAx
LjUgJCIKCiNpbmNsdWRlICJvY3RhbC5oIgoKLyogaW5pdGlhbGl6YXRpb24gKi8KCnZvaWQg
aW5pdF9mcmVxX3RhYmxlKCk7ICAvKiBmaWxsIHRoZSBmcmVxdWVuY3kgdGFibGUuICovCnZv
aWQgaW5pdF9ub3RlX25hbWVzKCk7ICAvKiBmaWxsIG5vdGVuYW1lIHRhYmxlLiAgICAgICov
CgovKiBtdXNpY2FsIGRhdGEgY29udmVyc2lvbiBmdW5jdGlvbnMgKi8KCmRhdGEgdGV4dDJu
b3RlKGNvbnN0IGNoYXIqIG5hbWUpOyAgIC8qIGFjY2VwdHMgdGhpbmdzIGxpa2UgYy0yLCBm
IzUsIGItNCAgICAgICAqLyAKY29uc3QgY2hhciogbm90ZTJ0ZXh0KGRhdGEgdmFsKTsgICAg
LyogcmV0dXJucyB0aGluZ3MgbGlrZSBjLTIsIGYjNSwgYi00ICAgICAgICovCgpmcmVxIHRl
eHQyZnJlcShjb25zdCBjaGFyKiBuYW1lKTsgICAvKiBhY2NlcHRzIHRoaW5ncyBsaWtlIGMt
MiwgZiM1LCBiLTQgICAgICAgKi8KZnJlcSBub3RlMmZyZXEoZGF0YSB2YWwpOyAJICAgIC8q
IGFjY2VwdHMgT0NUQUwncyBub3RlIGZvcm1hdCwgZ2l2ZXMgZnJlcSAqLwoKI2VuZGlmIC8q
X3V0aWxfaF8qLwoKLyogJFNvdXJjZTogL2hvbWUvZHRvL29jdGFsL1JDUy91dGlsLmgsdiAk
ICovCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
--------------ECCABE68FDBBC8C88A172164--



reply via email to

[Prev in Thread] Current Thread [Next in Thread]