<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>236385</bug_id>
          
          <creation_ts>2022-02-09 11:21:37 -0800</creation_ts>
          <short_desc>[libpas] add documentation</short_desc>
          <delta_ts>2022-06-01 13:16:37 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>bmalloc</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1839301</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2022-02-09 11:21:37 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839303</commentid>
    <comment_count>1</comment_count>
      <attachid>451416</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2022-02-09 11:22:32 -0800</bug_when>
    <thetext>Created attachment 451416
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839305</commentid>
    <comment_count>2</comment_count>
      <attachid>451416</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2022-02-09 11:26:19 -0800</bug_when>
    <thetext>Comment on attachment 451416
the patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839316</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2022-02-09 11:36:25 -0800</bug_when>
    <thetext>Landed in https://trac.webkit.org/changeset/289491/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839318</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-09 11:37:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/88704094&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1873347</commentid>
    <comment_count>5</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-06-01 11:33:20 -0700</bug_when>
    <thetext>Re-opening for pull request https://github.com/WebKit/WebKit/pull/1216</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1873363</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-06-01 13:16:34 -0700</bug_when>
    <thetext>Committed r295102 (251197@main): &lt;https://commits.webkit.org/251197@main&gt;

Reviewed commits have been landed. Closing PR #1216 and removing active labels.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451416</attachid>
            <date>2022-02-09 11:22:32 -0800</date>
            <delta_ts>2022-02-09 11:26:19 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>98205</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1h
bGxvYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4OTQ5MCkKKysrIFNvdXJjZS9ibWFsbG9jL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDIyLTAyLTA5ICBGaWxpcCBQ
aXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAgW2xpYnBhc10gYWRkIGRvY3VtZW50
YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
NjM4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
bGlicGFzL0RvY3VtZW50YXRpb24ubWQ6IEFkZGVkLgorCiAyMDIyLTAyLTA1ICBZdXN1a2UgU3V6
dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgVGhyZWFkIHN1c3BlbmQgYW5kIHJl
c3VtZSBzaG91bGQgdGFrZSBhIGdsb2JhbCBsb2NrIHRvIGF2b2lkIGRlYWRsb2NrCkluZGV4OiBT
b3VyY2UvYm1hbGxvYy9saWJwYXMvRG9jdW1lbnRhdGlvbi5tZAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvYm1hbGxvYy9saWJwYXMvRG9jdW1lbnRhdGlvbi5tZAkobm9uZXhpc3RlbnQpCisrKyBTb3Vy
Y2UvYm1hbGxvYy9saWJwYXMvRG9jdW1lbnRhdGlvbi5tZAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDEzMjYgQEAKKyMgQWxsIEFib3V0IExpYnBhcywgUGhpbCdzIFN1cGVyIEZhc3QgTWFsbG9j
CisKK0ZpbGlwIFBpemxvLCBBcHBsZSBJbmMuLCBGZWJydWFyeSAyMDIyCisKKyMgTGljZW5zZQor
CitDb3B5cmlnaHQgKGMpIDIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorCitS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworYXJlIG1ldDoKKworMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKzIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCitUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKK0VYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCitJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKK1BVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCitDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKK0VYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKK1BST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKK09GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisjIEludHJvZHVjdGlvbgorCitUaGlz
IGRvY3VtZW50IGRlc2NyaWJlcyBob3cgbGlicGFzIHdvcmtzIGFzIG9mIGEzNjFlZmE5NmNhNGIy
ZmY2YmRmYzI4YmM3ZWIxYTY3OGNkZTc1YmUsIHNvIGEgYml0IGFoZWFkIG9mCit3aGVyZSBXZWJL
aXQgd2FzIGFzIG9mIHIyODkxNDYuIExpYnBhcyBpcyBhIGZhc3QgYW5kIG1lbW9yeS1lZmZpY2ll
bnQgbWVtb3J5IGFsbG9jYXRpb24gdG9vbGtpdCBjYXBhYmxlIG9mCitzdXBwb3J0aW5nIG1hbnkg
aGVhcHMgYXQgb25jZSwgZW5naW5lZXJlZCB3aXRoIHRoZSBob3BlcyB0aGF0IHNvbWVkYXkgaXQn
bGwgYmUgdXNlZCBmb3IgY29tcHJlaGVuc2l2ZSBpc29oZWFwaW5nCitvZiBhbGwgbWFsbG9jL25l
dyBjYWxsc2l0ZXMgaW4gQy9DKysgcHJvZ3JhbXMuCisKK1NpbmNlIFdlYktpdCByMjEzNzUzLCB3
ZSd2ZSBiZWVuIHN0ZWFkaW5seSBlbmFibGluZyBsaWJwYXMgYXMgYSByZXBsYWNlbWVudCBmb3Ig
V2ViS2l0J3MgYm1hbGxvYyBhbmQKK01ldGFBbGxvY2F0b3IuIFRoaXMgaGFzIHNvIGZhciBhZGRl
ZCB1cCB0byBhIH4yJSBTcGVlZG9tZXRlcjIgc3BlZWQtdXAgYW5kIGEgfjglIG1lbW9yeSBpbXBy
b3ZlbWVudCAob24gbXVsdGlwbGUKK21lbW9yeSBiZW5jaG1hcmtzKS4gSGFsZiBvZiB0aGUgc3Bl
ZWQtdXAgY29tZXMgZnJvbSByZXBsYWNpbmcgdGhlIE1ldGFBbGxvY2F0b3IsIHdoaWNoIHdhcyBK
YXZhU2NyaXB0Q29yZSdzIG9sZAord2F5IG9mIG1hbmFnaW5nIGV4ZWN1dGFibGUgbWVtb3J5LiBO
b3csIEpTQyB1c2VzIGxpYnBhcydzIGppdF9oZWFwIHRvIG1hbmFnZSBleGVjdXRhYmxlIG1lbW9y
eS4gVGhlIG90aGVyIGhhbGYKK29mIHRoZSBzcGVlZC11cCBjb21lcyBmcm9tIHJlcGxhY2luZyBl
dmVyeXRoaW5nIHRoYXQgYm1hbGxvYyBwcm92aWRlZCAtLSB0aGUgZmFzdE1hbGxvYyBBUEksIHRo
ZSBHaWdhY2FnZSBBUEksCithbmQgdGhlIElzb0hlYXA8PiBBUEkuIEFsbCBvZiB0aGUgbWVtb3J5
IGltcHJvdmVtZW50IGNvbWVzIGZyb20gcmVwbGFjaW5nIGJtYWxsb2MgKHRoZSBNZXRhQWxsb2Nh
dG9yIHdhcyBhbHJlYWR5CitmYWlybHkgbWVtb3J5LWVmZmljaWVudCkuCisKK1RoaXMgZG9jdW1l
bnQgaXMgc3RydWN0dXJlZCBhcyBmb2xsb3dzLiBGaXJzdCBJIGRlc2NyaWJlIHRoZSBnb2FscyBv
ZiBsaWJwYXM7IHRoZXNlIGFyZSB0aGUgdGhpbmdzIHRoYXQgYQorbWFsbG9jLWxpa2UgQVBJIGNy
ZWF0ZWQgb3V0IG9mIGxpYnBhcyBzaG91bGQgYmUgYWJsZSB0byBleHBvc2UgYXMgZmFzdCBhbmQg
bWVtb3J5LWVmZmljaWVudCBmdW5jdGlvbnMuIFRoZW4gSQorZGVzY3JpYmUgdGhlIGNvZGluZyBz
dHlsZS4gTmV4dCBJIHRlbGwgYWxsIGFib3V0IHRoZSBkZXNpZ24uIEZpbmFsbHkgSSB0YWxrIGFi
b3V0IGhvdyBsaWJwYXMgaXMgdGVzdGVkLgorCisjIEdvYWxzIG9mIExpYnBhcworCitMaWJwYXMg
dHJpZXMgdG8gYmU6CisKKy0gRmFzdC4gVGhlIGdvYWwgaXMgdG8gYmVhdCBibWFsbG9jIHBlcmZv
cm1hbmNlIG9uIHNpbmdsZS10aHJlYWRlZCBjb2RlLiBCbWFsbG9jIHdhcyBwcmV2aW91c2x5IHRo
ZSBmYXN0ZXN0CisgIGtub3duIG1hbGxvYyBmb3IgV2ViS2l0LgorLSBTY2FsYWJsZS4gTGlicGFz
IGlzIG1lYW50IHRvIHNjYWxlIHdlbGwgb24gbXVsdGktY29yZSBkZXZpY2VzLgorLSBNZW1vcnkt
ZWZmaWNpZW50LiBUaGUgZ29hbCBpcyB0byBiZWF0IGJtYWxsb2MgbWVtb3J5IHVzYWdlIGFjcm9z
cyB0aGUgYm9hcmQuIFBhcnQgb2YgdGhlIHN0cmF0ZWd5IGZvciBtZW1vcnkKKyAgZWZmaWNpZW5j
eSBpcyBjb25zaXN0ZW50IHVzZSBvZiBmaXJzdC1maXQgYWxsb2NhdGlvbi4KKy0gRXh0ZXJuYWwg
bWV0YWRhdGEuIExpYnBhcyBuZXZlciBwdXRzIGluZm9ybWF0aW9uIGFib3V0IGEgZnJlZSBvYmpl
Y3QgaW5zaWRlIHRoYXQgb2JqZWN0LiBUaGUgbWV0YWRhdGEgaXMKKyAgYWx3YXlzIGVsc2V3aGVy
ZS4gU28sIHRoZXJlJ3Mgbm8gd2F5IGZvciBhIHVzZS1hZnRlci1mcmVlIHRvIGNvcnJ1cHQgbGli
cGFzJ3MgdW5kZXJzdGFuZGluZyBvZiBtZW1vcnkuCistIE11bHRpcGxlIGhlYXAgY29uZmlndXJh
dGlvbnMuIE5vdCBhbGwgcHJvZ3JhbXMgd2FudCB0aGUgc2FtZSB0aW1lLW1lbW9yeSB0cmFkZS1v
ZmYuIFNvbWUgbWFsbG9jIHVzZXJzIGhhdmUKKyAgdmVyeSBiaXphcnJlIHJlcXVpcmVtZW50cywg
bGlrZSB3aGF0IEphdmFTY3JpcHRDb3JlIGRvZXMgd2l0aCBpdHMgRXhlY3V0YWJsZUFsbG9jYXRv
ci4gVGhlIGdvYWwgaXMgdG8gc3VwcG9ydAorICBhbGwga2luZHMgb2Ygc3BlY2lhbCBhbGxvY2F0
b3IgbmVlZHMgc2ltdWx0YW5lb3VzbHkgaW4gb25lIGxpYnJhcnkuCistIEJvYXRsb2FkcyBvZiBo
ZWFwcy4gTGlicGFzIHdhcyB3cml0dGVuIHdpdGggdGhlIGRyZWFtIG9mIG9idmlhdGluZyB0aGUg
bmVlZCBmb3Igb3duZXJzaGlwIHR5cGUgc3lzdGVtcyBvcgorICBvdGhlciBjb21waWxlciBhcHBy
b2FjaGVzIHRvIGZpeGluZyB0aGUgdHlwZS1zYWZldHkgb2YgdXNlLWFmdGVyLWZyZWVzLiBUaGlz
IG1lYW5zIHRoYXQgd2UgbmVlZCBvbmUgaGVhcCBwZXIKKyAgdHlwZSwgYW5kIGJlIDEwMCUgc3Ry
aWN0IGFib3V0IGl0LiBTbywgbGlicGFzIHN1cHBvcnRzIHRvbnMgb2YgaGVhcHMuCistIFR5cGUt
YXdhcmVuZXNzLiBTb21ldGltZXMsIG1hbGxvYyBkZWNpc2lvbnMgcmVxdWlyZSBrbm93aW5nIHdo
YXQgdGhlIHR5cGUncyBzaXplIGFuZCBhbGlnbm1lbnQgYXJlLCBsaWtlIHdoZW4KKyAgZGVjaWRp
bmcgaG93IHRvIHNwbGl0IGFuZCBjb2FsZXNjZSBtZW1vcnkuIExpYnBhcyBpcyBkZXNpZ25lZCB0
byBhdm9pZCB0eXBlIGVycm9ycyBhcmlzaW5nIGZyb20gdGhlIG1hbGxvYydzCisgICJza2V3ZWQi
IHJldXNlIG9mIG1lbW9yeS4KKy0gQ29tbW9uIGZyZWUuIFVzZXJzIG9mIGxpYnBhcyBpc29oZWFw
cyBkb24ndCBoYXZlIHRvIGtub3cgdGhlIGhlYXAgb2YgYW4gb2JqZWN0IHdoZW4gdGhleSBmcmVl
IGl0LiBBbGwgb2JqZWN0cworICBzaG91bGQgZnVubmVsIGludG8gdGhlIHNhbWUgZnJlZSBmdW5j
dGlvbi4gT25lIGtpbmQgb2YgZXhjZXB0aW9uIHRvIHRoaXMgcmVxdWlyZW1lbnQgaXMgc3R1ZmYg
bGlrZQorICBFeGVjdXRhYmxlQWxsb2NhdG9yLCB3aGljaCBuZWVkcyBhIG1hbGxvYywgYnV0IGlz
IGZpbmUgd2l0aCBub3QgY2FsbGluZyBhIGNvbW1vbiBmcmVlIGZ1bmN0aW9uLgorLSBDYWdlcy4g
V2ViS2l0IHVzZXMgdmlydHVhbCBtZW1vcnkgcmVzZXJ2YXRpb25zIGNhbGxlZCAqY2FnZXMqLCBp
biB3aGljaCBjYXNlIFdlYktpdCBhbGxvY2F0ZXMgdGhlIHZpcnR1YWwKKyAgbWVtb3J5IGFuZCB0
aGUgbWFsbG9jIGhhcyB0byBhc3NvY2lhdGUgdGhhdCBtZW1vcnkgd2l0aCBzb21lIGhlYXAuIExp
YnBhcyBzdXBwb3J0cyBtdWx0aXBsZSBraW5lcyBvZiBjYWdlcy4KKworIyBMaWJwYXMgU3R5bGUK
KworTGlicGFzIGlzIHdyaXR0ZW4gaW4gQy4gVWx0aW1hdGVseSwgSSBjaG9zZSBDIGJlY2F1c2Ug
SSBmZWx0IHRoYXQgdGhlIGxhbmd1YWdlIHByb3ZpZGVzIGJldHRlciBzdXBwb3J0IGZvcgorZXh0
cmVtZWx5IGxvdy1sZXZlbCBjb2RlOgorCistIEMrKyBpcyB1c3VhbGx5IG15IGZhdm9yaXRlLCBi
ZWNhdXNlIGl0IG1ha2VzIGNvZGUgZWFzaWVyIHRvIHdyaXRlLCBidXQgZm9yIGxpYnBhcywgSSB3
YW50ZWQgc29tZXRoaW5nIGVhc2llcgorICB0byByZWFkLiBJdCdzIGVhc2llciB0byByZWFkIEMg
d2hlbiBhdWRpdGluZyBmb3Igc3VidGxlIGJ1Z3MsIGJlY2F1c2UgdGhlcmUncyBub3RoaW5nIGhp
ZGRlbi4gQyBkb2Vzbid0IGhhdmUKKyAgc3R1ZmYgbGlrZSBkZXN0cnVjdG9yIGludm9jYXRpb25z
IG9yIG9wZXJhdG9yIG92ZXJsb2FkaW5nLCB3aGljaCByZXN1bHQgaW4gc3VycHJpc2luZyBlZmZl
Y3RmdWxuZXNzIGluCisgIG90aGVyd2lzZSBpbm5vY2VudC1sb29raW5nIGNvZGUuIE1lbW9yeSBt
YW5hZ2VtZW50IGNvZGUgbGlrZSBsaWJwYXMgaGFzIHRvIGJlIHJlYWQgYSBsb3QsIHNvIEMgaXMg
YmV0dGVyLgorLSBDIG1ha2VzIGNhc3RpbmcgYmV0d2VlbiBwb2ludGVycyBhbmQgaW50ZWdlcnMg
dmVyeSBzaW1wbGUgd2l0aCBpdHMgc3R5bGUgb2YgY2FzdCBvcGVyYXRvci4gSXQgZmVlbHMgd2Vp
cmQgdG8KKyAgdXNlIHRoZSBDIGNhc3Qgb3BlcmF0b3IgaW4gQysrLCBzbyB3aGVuIEkgaGF2ZSB0
byBkbyBhIGxvdCBvZiB1aW50cHRyX3QnaW5nLCBJIHByZWZlciBDLgorCitDIGxldHMgeW91IGRv
IG1vc3Qgb2Ygd2hhdCBDKysgY2FuIGlmIHlvdSByZWx5IG9uIGBhbHdheXNfaW5saW5lYC4gVGhp
cyBkaWRuJ3QgdXNlZCB0byBiZSB0aGUgY2FzZSwgYnV0IG1vZGVybiBDCitjb21waWxlcnMgd2ls
bCBtZWF0LWdyaW5kIHRoZSBjb2RlIHdpdGggcmVwZWF0ZWQgYXBwbGljYXRpb24gb2YgdGhlIGZv
bGxvd2luZyB0aGluZ3M6CisKKy0gSW5saW5pbmcgYW55IGBhbHdheXNfaW5saW5lYCBjYWxsIGV4
Y2VwdCBpZiBpdCdzIHJlY3Vyc2l2ZSBvciB0aGUgZnVuY3Rpb24gdXNlcyBzb21lIHZlcnkgd2Vp
cmQgZmVhdHVyZXMgdGhhdAorICBsaWJwYXMgZG9lc24ndCB1c2UgKGxpa2UgZ290byBwb2ludGVy
KS4KKy0gQ29weS1wcm9wYWdhdGluZyB0aGUgdmFsdWVzIGZyb20gdGhlIGNhbGxzaXRlIGludG8g
dGhlIGZ1bmN0aW9uIHRoYXQgdXNlcyB0aGUgdmFsdWUuCisKK0NvbnNlcXVlbnRseSwgcGFzc2lu
ZyBhIGZ1bmN0aW9uIHBvaW50ZXIgKG9yIHN0cnVjdCBvZiBmdW5jdGlvbiBwb2ludGVycyksIHdo
ZXJlIHRoZSBwb2ludGVyIHBvaW50cyB0byBhbgorYGFsd2F5c19pbmxpbmVgIGZ1bmN0aW9uIGFu
ZCB0aGUgY2FsbGVlIGlzIGBhbHdheXNfaW5saW5lYCByZXN1bHRzIGluIHNwZWNpYWxpemF0aW9u
IGFraW4gdG8gdGVtcGxhdGUKK21vbm9tb3JwaGl6YXRpb24uIFRoaXMgd29ya3MgdG8gYW55IGRl
cHRoOyB0aGUgY29tcGlsZXIgd29uJ3QgYmUgc2F0aXNmaWVkIHVudGlsIHRoZXJlIGFyZSBubyBt
b3JlCitgYWx3YXlzX2lubGluZWAgZnVuY3Rpb24gY2FsbHMuIFRoaXMgZm9ydHVpdG91cyBkZXZl
bG9wbWVudCBpbiBjb21waWxlcnMgYWxsb3dlZCBtZSB0byB3cml0ZSB2ZXJ5IG5pY2UgdGVtcGxh
dGUKK2NvZGUgaW4gQy4gTGlicGFzIGFjaGlldmVzIHRlbXBsYXRlcyBpbiBDIHVzaW5nIGNvbmZp
ZyBzdHJ1Y3RzIHRoYXQgY29udGFpbiBmdW5jdGlvbiBwb2ludGVycyAtLSBzb21ldGltZXMgdG8K
K2BhbHdheXNfaW5saW5lYCBmdW5jdGlvbnMgKHdoZW4gd2Ugd2FudCBzcGVjaWFsaXphdGlvbiBh
bmQgaW5saW5pbmcpIGFuZCBzb21ldGltZXMgdG8gb3V0LW9mLWxpbmUgZnVuY3Rpb25zCisod2hl
biB3ZSB3YW50IHNwZWNpYWxpemF0aW9uIGJ1dCBub3QgaW5saW5pbmcpLiBBZGRpdGlvbmFsbHks
IHRoZSBDIHRlbXBsYXRlIHN0eWxlIGFsbG93cyB1cyB0byBoYXZlIHRydWUKK3BvbHltb3JwaGlj
IGZ1bmN0aW9ucy4gTG90cyBvZiBsaWJwYXMgc2xvdyBwYXRocyBhcmUgaHVnZSBhbmQgbm90IGF0
IGFsbCBob3QuIFdlIGRvbid0IHdhbnQgdGhhdCBjb2RlCitzcGVjaWFsaXplZCBmb3IgZXZlcnkg
Y29uZmlnLiBMdWNraWx5LCB0aGlzIHdvcmtzIGp1c3QgZmluZSBpbiBDIHRlbXBsYXRlcyAtLSB0
aG9zZSBwb2x5bW9ycGhpYyBmdW5jdGlvbnMganVzdAorcGFzcyBhcm91bmQgYSBwb2ludGVyIHRv
IHRoZSBjb25maWcgdGhleSBhcmUgdXNpbmcsIGFuZCBkeW5hbWljYWxseSBsb2FkIGFuZCBjYWxs
IHRoaW5ncyBpbiB0aGF0IGNvbmZpZywgYWxtb3N0CitleGFjdGx5IHRoZSBzYW1lIHdheSB0aGF0
IHRoZSBzcGVjaWFsaXplZCBjb2RlIHdvdWxkIGRvLiBUaGlzIHNhdmVzIGEgbG90IG9mIGNvZGUg
c2l6ZSB2ZXJzdXMgQysrIHRlbXBsYXRlcy4KKworTW9zdCBvZiBsaWJwYXMgaXMgd3JpdHRlbiBp
biBhbiBvYmplY3Qtb3JpZW50ZWQgc3R5bGUuIFN0cnVjdHMgYXJlIHVzZWQgdG8gY3JlYXRlIGVp
dGhlciBieS12YWx1ZSBvYmplY3RzIG9yCitoZWFwLWFsbG9jYXRlZCBvYmplY3RzLiBJdCdzIHVz
ZWZ1bCB0byB0aGluayBvZiB0aGVzZSBhcyBjbGFzc2VzLCBidXQgYSBsb29zZSB3YXkgc2luY2Ug
dGhlcmUgYXJlIG1hbnkgd2F5cyB0bworZG8gY2xhc3NlcyBpbiBDLCBhbmQgbGlicGFzIHVzZXMg
d2hhdGV2ZXIgdGVjaG5pcXVlcyBhcmUgYmVzdCBvbiBhIHBlci1jbGFzcyBiYXNpcy4gQnV0IGhl
YXAgYWxsb2NhdGVkIG9iamVjdHMKK2hhdmUgYSBjbGVhciBjb252ZW50aW9uOiBmb3IgYSBjbGFz
cyBuYW1lZCBgZm9vYCwgd2Ugd291bGQgY2FsbCB0aGUgc3RydWN0IGBwYXNfZm9vYCwgYW5kIGZv
ciBhIG1ldGhvZCBgYmFyYCBvbgorYGZvb2AsIHdlIHdvdWxkIGNhbGwgdGhlIGZ1bmN0aW9uIGBw
YXNfZm9vX2JhcmAgYW5kIGhhdmUgdGhlIGZpcnN0IHBhcmFtZXRlciBiZSBgcGFzX2ZvbypgLiBU
aGUgZnVuY3Rpb24gdGhhdAorY3JlYXRlcyBpbnN0YW5jZXMgb2YgYGZvb2AgaXMgY2FsbGVkIGBw
YXNfZm9vX2NyZWF0ZWAgKG9yIGBwYXNfZm9vX2NyZWF0ZV9ibGFoX2JsYWhgIGluIGNhc2Ugb2Yg
b3ZlcmxvYWRpbmcpIGFuZAorcmV0dXJucyBhIGBwYXNfZm9vKmAuIFRoZSBmdW5jdGlvbiB0aGF0
IGRlc3Ryb3lzIGBmb29gIG9iamVjdHMgaXMgY2FsbGVkIGBwYXNfZm9vX2Rlc3Ryb3lgIGFuZCB0
YWtlcyBhCitgcGFzX2ZvbypgLiAKKworTGlicGFzIGNsYXNzZXMgYXJlIHVzdWFsbHkgaW1wbGVt
ZW50ZWQgaW4gZmlsZXMgY2FsbGVkIGBwYXNfZm9vLmhgICh0aGUgaGVhZGVyIHRoYXQgZGVmaW5l
cyB0aGUgc3RydWN0IGFuZCBhCitzdWJzZXQgb2YgZnVuY3Rpb25zKSwgYHBhc19mb29faW5saW5l
cy5oYCAodGhlIGhlYWRlciB0aGF0IGRlZmluZXMgaW5saW5lIGZ1bmN0aW9ucyBvZiBgZm9vYCB0
aGF0IHJlcXVpcmUKK2NhbGxpbmcgZnVuY3Rpb25zIGRlY2xhcmVkIGluIGhlYWRlcnMgdGhhdCBg
cGFzX2Zvby5oYCBjYW4ndCBpbmNsdWRlKSwgYW5kIGBwYXNfZm9vLmNgICh0aGUgaW1wbGVtZW50
YXRpb25zIG9mCitgZm9vYCBmdW5jdGlvbnMgdGhhdCBjYW4gYmUgb3V0LW9mLWxpbmUpLgorCitT
b21lIGxpYnBhcyAiY2xhc3NlcyIgYXJlIHNpbmdsZXRvbnMuIFRoZSBzdGFuZGFyZCB3YXkgb2Yg
aW1wbGVtZW50aW5nIGEgc2luZ2xldG9uIGluIGxpYnBhcyBpcyB0aGF0IHRoZXJlIGlzCityZWFs
bHkgbm8gc3RydWN0LCBvbmx5IGdsb2JhbCB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucyB0aGF0IGFy
ZSBkZWNsYXJlZCBpbiB0aGUgaGVhZGVyLiBTZWUgYHBhc19wYWdlX21hbGxvY2Agb3IKK2BwYXNf
ZGVidWdfaGVhcGAgZm9yIGV4YW1wbGVzIG9mIHNpbmdsZXRvbnMuCisKK05vdCBldmVyeXRoaW5n
IGluIGxpYnBhcyBpcyBhIGNsYXNzLiBJbiBjYXNlcyB3aGVyZSBhIGJ1bmNoIG9mIG5vdC1jbGFz
cy1saWtlIHRoaW5ncyBjYW4gYmUgZ3JvdXBlZCB0b2dldGhlciBpbgorYSB3YXkgdGhhdCBtYWtl
cyBzZW5zZSwgd2UgdXN1YWxseSBkbyBzb21ldGhpbmcgbGlrZSBhIHNpbmdsZXRvbi4gSW4gY2Fz
ZXMgd2hlcmUgYSBmdW5jdGlvbiBjYW4ndCBlYXNpbHkgYmUKK2dyb3VwZWQgdG9nZXRoZXIgd2l0
aCBzb21lIGNsYXNzLCBldmVuIGEgc2luZ2xldG9uLCB3ZSBuYW1lIHRoZSBmaWxlIGl0J3MgaW4g
YWZ0ZXIgdGhlIGZ1bmN0aW9uLiBUaGVyZSBhcmUgbG90cworb2YgZXhhbXBsZXMgb2YgdGhpcywg
bGlrZSBgcGFzX2RlYWxsb2NhdGVgIG9yIGBwYXNfZ2V0X3BhZ2VfYmFzZWAuIFNvbWV0aW1lcyB0
aGlzIGdldHMgZnVuLCBsaWtlCitgcGFzX2dldF9wYWdlX2Jhc2VfYW5kX2tpbmRfZm9yX3NtYWxs
X290aGVyX2luX2Zhc3RfbWVnYXBhZ2UuaGAuCisKK0ZpbmFsbHksIGxpYnBhcyBhdm9pZHMgYWJi
cmV2aWF0aW9ucyBldmVuIG1vcmUgc28gdGhhbiBXZWJLaXQgdXN1YWxseSBkb2VzLiBGdW5jdGlv
bnMgdGhhdCBoYXZlIGEgcXVpcmt5CittZWFuaW5nIHR5cGljYWxseSBoYXZlIGEgbG9uZyBuYW1l
IHRoYXQgdGVsbHMgdGhlIHN0b3J5LiBUaGUgcG9pbnQgaXMgdG8gbWFrZSBpdCBlYXN5IHRvIGFw
cHJlY2lhdGUgdGhlIHN1YnRsZXR5CitvZiB0aGUgYWxnb3JpdGhtIHdoZW4gcmVhZGluZyB0aGUg
Y29kZS4gVGhpcyBpcyB0aGUga2luZCBvZiBjb2RlIHdoZXJlIGNvbXBsZXggc2l0dWF0aW9ucyBz
aG91bGQgbG9vayBjb21wbGV4CithdCBhbnkgYWJzdHJhY3Rpb24gbGV2ZWwuCisKKyMgRGVzaWdu
IG9mIExpYnBhcworCitMaWJwYXMgaXMgb3JnYW5pemVkIGludG8gcm91Z2hseSBlbGV2ZW4gYXJl
YXM6CisKKzEuICBIZWFwIGNvbmZpZ3VyYXRpb25zLiBUaGlzIGlzIHRoZSB3YXkgdGhhdCB3ZSB0
ZWxsIGxpYnBhcyBob3cgdG8gb3JnYW5pemUgYSBoZWFwLiBIZWFwIGNvbmZpZ3VyYXRpb25zIGNh
bgorICAgIGNvbnRyb2wgYSBsb3QuIFRoZXkgY2FuIGNoYW5nZSBvYnZpb3VzIHRoaW5ncyBsaWtl
IHRoZSBtaW5hbGlnbiBhbmQgcGFnZSBzaXplLCBidXQgYWxzbyBtb3JlIGNyYXp5IHRoaW5ncywK
KyAgICBsaWtlIGhvdyB0byBmaW5kIGEgcGFnZSBoZWFkZXIgZ2l2ZW4gYSBwYWdlIGFuZCB2aWNl
LXZlcnNhLgorMi4gIFRoZSBsYXJnZSBoZWFwcy4gVGhpcyBpcyBhIGZpcnN0LWZpdCBoZWFwIGJh
c2VkIG9uIGFycmF5cywgY2FydGVzaWFuIHRyZWVzLCBhbmQgaGFzaHRhYmxlcy4gVGhlIGxhcmdl
CisgICAgaGVhcCBoYXMgZXhjZWxsZW50IHR5cGUgc2FmZXR5IHN1cHBvcnQgYW5kIGNhbiBiZSBz
YWZlbHkgKHRob3VnaCBub3QgZWZmaWNpZW50bHkpIHVzZWQgZm9yIHNtYWxsIG9iamVjdHMuCisz
LiAgTWV0YWNpcmN1bGFyaXR5LiBMaWJwYXMgdXNlcyBtYWxsb2MtbGlrZSBBUElzIGludGVybmFs
bHkgZm9yIG1hbmFnaW5nIGl0cyBzdGF0ZS4gVGhlc2UgYXJlIHByb3ZpZGVkIGJ5IHRoZQorICAg
IHNvLWNhbGxlZCBib290c3RyYXAsIHV0aWxpdHksIGFuZCBpbW1vcnRhbCBoZWFwcy4KKzQuICBU
aGUgc2VncmVnYXRlZCBoZWFwcyBhbmQgVExDcyAodGhyZWFkLWxvY2FsIGNhY2hlcykuIExpYnBh
cyBoYXMgYSBzdXBlciBmYXN0IHNpbXBsZSBzZWdyZWdhdGVkIHN0b3JhZ2Ugc2xhYgorICAgIGFs
bG9jYXRvci4gSXQgc3VwcG9ydHMgdHlwZSBzYWZldHkgYW5kIGlzIHRoZSBtb3N0IGNvbW1vbmx5
IHVzZWQga2luZCBvZiBoZWFwLgorNS4gIFRoZSBiaXRmaXQgaGVhcHMuIFRoaXMgaXMgYSBmYXN0
IGFuZCBtZW1vcnktZWZmaWNpZW50IHR5cGUtdW5zYWZlIGhlYXAgYmFzZWQgb24gc2xhYnMgYW5k
IGJpdG1hcHMuCis2LiAgVGhlIHNjYXZlbmdlci4gTGlicGFzIHBlcmZvcm1zIGEgYnVuY2ggb2Yg
cGVyaW9kaWMgYm9va2tlZXBpbmcgdGFza3MgaW4gYSBzY2F2ZW5nZXIgdGhyZWFkLiBUaGlzIGlu
Y2x1ZGVzLAorICAgIGJ1dCBpcyBub3QgbGltaXRlZCB0bywgcmV0dXJuaW5nIG1lbW9yeSB0byB0
aGUgT1MuCis3LiAgTWVnYXBhZ2VzIGFuZCBwYWdlIGhlYWRlciB0YWJsZXMuIExpYnBhcyBoYXMg
bXVsdGlwbGUgY2xldmVyIHRyaWNrcyBmb3IgcmFwaWRseSBpZGVudGlmeWluZyB3aGljaCBraW5k
IG9mCisgICAgaGVhcCBhbiBvYmplY3QgYmVsb2dzIHRvLiBUaGlzIGluY2x1ZGVzIGFuIGFyaXRo
bWV0aWMgaGFjayBjYWxsZWQgbWVnYXBhZ2VzIGFuZCBzb21lIGxvY2stZnJlZSBoYXNodGFibGVz
LgorOC4gIFRoZSBlbnVtZXJhdG9yLiBMaWJwYXMgc3VwcG9ydHMgbWFsbG9jIGhlYXAgZW51bWVy
YXRpb24gQVBJcy4KKzkuICBUaGUgYmFzaWMgY29uZmlndXJhdGlvbiB0ZW1wbGF0ZSwgdXNlZCB0
byBjcmVhdGUgdGhlIGBibWFsbG9jX2hlYXBgIEFQSSB0aGF0IGlzIHVzZWQgYXMgYSByZXBsYWNl
bWVudCBmb3IKKyAgICBhbGwgb2YgYm1hbGxvYydzIGZ1bmN0aW9uYWxpdHkuCisxMC4gVGhlIEpJ
VCBoZWFwIGNvbmZpZy4KKzExLiBUaGUgZmFzdCBwYXRocy4gVGhlIHZhcmlvdXMgaGVhcHMsIFRM
Q3MsIG1lZ2FwYWdlcyBhbmQgcGFnZSBoZWFkZXIgdGFibGVzIGFyZSBnbHVlZCB0b2dldGhlciBi
eSBmYXN0IHBhdGhzCisgICAgcHJvdmlkZWQgZm9yIGFsbG9jYXRpb24sIGRlYWxsb2NhdGlvbiwg
YW5kIHZhcmlvdXMgdXRpbGl0eSBmdW5jdGlvbnMuCisKKyMjIEhlYXAgQ29uZmlndXJhdGlvbnMK
KworVGhlIGBwYXNfaGVhcF9jb25maWdgIHN0cnVjdCBkZWZpbmVzIGFsbCBvZiB0aGUgY29uZmln
dXJhYmxlIGJlaGF2aW9ycyBvZiBhIGxpYnBhcyBoZWFwLiBUaGlzIGluY2x1ZGVzIHRoaW5ncwor
bGlrZSBob3cgdGhlIGhlYXAgZ2V0cyBpdHMgbWVtb3J5LCB3aGF0IHNpemUgY2xhc3NlcyB1c2Ug
c2VncmVnYXRlZCwgYml0Zml0LCBvciBsYXJnZSBhbGxvY2F0b3JzLCBhbmQgYSBidW5jaAorb2Yg
b3RoZXIgdGhpbmdzLgorCitIZWFwIGNvbmZpZ3MgYXJlIHBhc3NlZCBieS12YWx1ZSB0byBmdW5j
dGlvbnMgdGhhdCBhcmUgbWVhbnQgdG8gYmUgc3BlY2lhbGl6ZWQgYW5kIGlubGluZWQuIFRvIHN1
cHBvcnQgdGhpcywKK3RoZSBjb252ZW50aW9uIGZvciBkZWZpbmluZyBhIGhlYXAgY29uZmlnIGlz
IHRoYXQgeW91IGNyZWF0ZSBhIG1hY3JvIChsaWtlIGBCTUFMTE9DX0hFQVBfQ09ORklHYCkgdGhh
dCBnaXZlcyBhCitoZWFwIGNvbmZpZyBsaXRlcmFsIGV4cHJlc3Npb24uIFNvLCBhIGNhbGwgbGlr
ZSBgcGFzX2dldF9hbGxvY2F0aW9uX3NpemUocHRyLCBCTUFMTE9DX0hFQVBfQ09ORklHKWAgd2ls
bCBnaXZlCit5b3UgYW4gb3B0aW1pemVkIGZhc3QgcGF0aCBmb3IgZ2V0dGluZyB0aGUgYWxsb2Nh
dGlvbiBzaXplIG9mIG9iamVjdHMgaW4gYm1hbGxvYy4gVGhpcyB3b3JrcyBiZWNhdXNlIHN1Y2gg
ZmFzdAorcGF0aHMgYXJlIGBhbHdheXNfaW5saW5lYC4KKworSGVhcCBjb25maW5ncyBhcmUgcGFz
c2VkIGJ5LXBvaW50ZXIgdG8gZnVuY3Rpb25zIHRoYXQgYXJlIG5vdCBtZWFudCB0byBiZSBzcGVj
aWFsaXplZC4gVG8gc3VwcG9ydCB0aGlzLCBhbGwKK2hlYXAgY29uZmlncyBhbHNvIGhhdmUgYSBn
bG9iYWwgdmFyaWFibGUgbGlrZSBgYm1hbGxvY19oZWFwX2NvbmZpZ2AsIHNvIHdlIGNhbiBkbyB0
aGluZ3MgbGlrZQorYHBhc19sYXJnZV9oZWFwX3RyeV9kZWFsbG9jYXRlKGJhc2UsICZibWFsbG9j
X2hlYXBfY29uZmlnKWAuCisKK0hlYXAgY29uZmlncyBjYW4gaGF2ZSB1cCB0byB0d28gc2VncmVn
YXRlZCBwYWdlIGNvbmZpZ3MgKGBjb25maWcuc21hbGxfc2VncmVnYXRlZF9jb25maWdgIGFuZAor
YGNvbmZpZy5tZWRpdW1fc2VncmVnYXRlZF9jb25maWdgKSBhbmQgdXAgdG8gdGhyZWUgYml0Zml0
IHBhZ2UgY29uZmlncyAoYGNvbmZpZy5zbWFsbF9iaXRmaXRfY29uZmlnYCwKK2Bjb25maWcubWVk
aXVtX2JpdGZpdF9jb25maWdgLCBhbmQgYGNvbmZpZy5tYXJnZV9iaXRmaXRfY29uZmlnYCkuIEFu
eSBvZiB0aGUgcGFnZSBjb25maWdzIGNhbiBiZSBkaXNhYmxlZCwKK3Rob3VnaCB3ZWlyZCB0aGlu
Z3MgbWlnaHQgaGFwcGVuIGlmIHRoZSBzbWFsbGVzdCBvbmVzIGFyZSBkaXNhYmxlZCAocmF0aGVy
IHRoYW4gZGlzYWJsaW5nIHRoZSBiaWdnZXIgb25lcykuCitQYWdlIGNvbmZpZ3MgKGBwYXNfc2Vn
cmVnYXRlZF9wYWdlX2NvbmZpZ2AsIGBwYXNfYml0Zml0X3BhZ2VfY29uZmlnYCwgYW5kIHRoZSBj
b21tb24gc3VwZXJ0eXBlLAorYHBhc19wYWdlX2Jhc2VfY29uZmlnYCkgZ2V0IHVzZWQgaW4gbXVj
aCB0aGUgc2FtZSB3YXkgYXMgaGVhcCBjb25maWdzIC0tIGVpdGhlciBieS12YWx1ZSBmb3Igc3Bl
Y2lhbGl6ZWQgYW5kCitpbmxpbmVkIGZ1bmN0aW9ucyBvciBieS1wb2ludGVyIGZvciB1bnNwZWNp
YWxpemVkIGZ1bmN0aW9ucy4KKworSGVhcCBhbmQgcGFnZSBjb25maWdzIGFsc28gc3VwcG9ydCBz
cGVjaWFsaXplZC1idXQtbm90LWlubGluZWQgZnVuY3Rpb25zLiBUaGVzZSBhcmUgc3VwcG9ydGVk
IHVzaW5nIGFkZGl0aW9uYWwKK2Z1bmN0aW9uIHBvaW50ZXJzIGluIHRob3NlIGNvbmZpZ3MgdGhh
dCBhcmUgZmlsbGVkIGluIHVzaW5nIG1hY3JvcyAtLSBzbyB5b3UgZG9uJ3QgbmVlZCB0byBmaWxs
IHRoZW0gaW4KK2V4cGxpY2l0bHkgd2hlbiBjcmVhdGluZyB5b3VyIG93biBjb25maWcsIGxpa2Ug
YEJNQUxMT0NfSEVBUF9DT05GSUdgIG9yIGBKSVRfSEVBUF9DT05GSUdgLiBUaGUgbWFjcm9zIGZp
bGwgdGhlbQoraW4gdG8gcG9pbnQgYXQgbmV2ZXJfaW5saW5lIGZ1bmN0aW9ucyB0aGF0IGNhbGwg
c29tZSBzcGVjaWFsaXplZCBhbmQgaW5saW5lZCBmdW5jdGlvbiB3aXRoIHRoZSBjb25maWcgcGFz
c2VkIGFzCithIGNvbnN0YW50LiBUaGlzIG1lYW5zIGZvciBleGFtcGxlIHRoYXQ6CisKKyAgICBC
TUFMTE9DX0hFQVBfQ09ORklHLnNwZWNpYWxpemVkX2xvY2FsX2FsbG9jYXRvcl90cnlfYWxsb2Nh
dGVfc21hbGxfc2VncmVnYXRlZF9zbG93KC4uLik7CisKK0lzIGFuIG91dC1vZi1saW5lIGRpcmVj
dCBmdW5jdGlvbiBjYWxsIHRvIHRoZSBzcGVjaWFsaXphdGlvbiBvZgorYHBhc19sb2NhbF9hbGxv
Y2F0b3JfdHJ5X2FsbG9jYXRlX3NtYWxsX3NlZ3JlZ2F0ZWRfc2xvd2AuIEFuZCB0aGlzIHdvdWxk
IGJlIGEgdmlydHVhbCBjYWxsIHRvIHRoZSBzYW1lCitmdW5jdGlvbjoKKworICAgIHBhc19oZWFw
X2NvbmZpZyogY29uZmlnID0gLi4uOworICAgIGNvbmZpZy0+c3BlY2lhbGl6ZWRfbG9jYWxfYWxs
b2NhdG9yX3RyeV9hbGxvY2F0ZV9zbWFsbF9zZWdyZWdhdGVkX3Nsb3coLi4uKTsKKworTm90ZSB0
aGF0IGluIG1hbnkgY2FzZXMgd2hlcmUgeW91IGhhdmUgYSBgcGFzX2hlYXBfY29uZmlnYCwgeW91
IGFyZSBpbiBzcGVjaWFsaXplZCBjb2RlIGFuZCB0aGUgaGVhcCBjb25maWcgaXMKK2Ega25vd24g
Y29uc3RhbnQgYXQgY29tcGlsZSB0bywgc28gdGhlbjoKKworICAgIGNvbmZpZy5zcGVjaWFsaXpl
ZF9sb2NhbF9hbGxvY2F0b3JfdHJ5X2FsbG9jYXRlX3NtYWxsX3NlZ3JlZ2F0ZWRfc2xvdyguLi4p
OworCitJcyBhbiBvdXQtb2YtbGluZSBkaXJlY3QgZnVuY3Rpb24gY2FsbC4KKworIyMgVGhlIExh
cmdlIEhlYXBzCisKK0xpYnBhcydzIGxhcmdlIGhlYXBzIHNlcnZlIG11bHRpcGxlIHB1cnBvc2Vz
OgorCistIEV2ZXJ5dGhpbmcgaXMgYm9vdHN0cmFwcGVkIG9uIGxhcmdlIGhlYXBzLiBXaGVuIHNl
Z3JlZ2F0ZWQgYW5kIGJpdGZpdCBoZWFwcyBhbGxvY2F0ZSBtZW1vcnksIHRoZXkgZG8gc28gZnJv
bQorICBzb21lIGxhcmdlIGhlYXAuCistIFNlZ3JlZ2F0ZWQgYW5kIGJpdGZpdCBoZWFwcyBoYXZl
IG9iamVjdCBzaXplIGNlaWxpbmdzIGluIHRoZSB0ZW5zIG9yIGh1bmRyZWRzIG9mIGtpbG9ieXRl
cy4gU28sIG9iamVjdHMgdGhhdAorICBhcmUgdG9vIGxhcmdlIGZvciB0aGUgb3RoZXIgaGVhcHMg
Z2V0IGFsbG9jYXRlZCBmcm9tIGxhcmdlIGhlYXBzLgorCitMYXJnZSBoZWFwcyBhcmUgYnJva2Vu
IGludG8gdHdvIHBhcnRzOgorCisxLiBUaGUgbGFyZ2UgZnJlZSBoZWFwLiBJbiBsaWJwYXMgamFy
Z29uLCBhICpmcmVlIGhlYXAqIGlzIGEgaGVhcCB0aGF0IHJlcXVpcmVzIHRoYXQgZGVhbGxvY2F0
aW9uIHBhc3NlcyB0aGUKKyAgIG9iamVjdCBzaXplLCByZXF1aXJlcyB0aGF0IHRoZSBmcmVlZCBv
YmplY3Qgc2l6ZSBtYXRjaGVzIHRoZSBhbGxvY2F0ZWQgb2JqZWN0IHNpemUgZm9yIHRoYXQgb2Jq
ZWN0LCBhbmQgbWFrZXMKKyAgIG5vIGd1YXJhbnRlZXMgYWJvdXQgd2hhdCBraW5kIG9mIG1lc3Mg
eW91J2xsIGdldCB5b3Vyc2VsZiBpbnRvIGlmIHlvdSBmYWlsIHRvIG9iZXkgdGhhdCBydWxlLgor
Mi4gVGhlIGxhcmdlIG1hcC4gVGhpcyBtYXBzIG9iamVjdCBwb2ludGVyIHRvIHNpemUgYW5kIGhl
YXAuCiszLiBUaGUgbGFyZ2UgaGVhcC4gVGhpcyBpcyBhbiBhYnN0cmFjdGlvbiBvdmVyIGJvdGgg
KDEpIGFuZCAoMikuCisKK0xhcmdlIGZyZWUgaGVhcHMganVzdCBtYWludGFpbiBhIGZyZWUtbGlz
dDsgdGhleSBrbm93IG5vdGhpbmcgYWJvdXQgYWxsb2NhdGVkIG9iamVjdHMuIEJ1dCBjb21iaW5l
ZCB3aXRoIHRoZQorbGFyZ2UgbWFwLCB0aGUgbGFyZ2UgaGVhcHMgcHJvdmlkZSBhIHVzZXItZnJp
ZW5kbHkgZGVhbGxvY2F0aW9uIEFQSTogeW91IGp1c3QgbmVlZCB0aGUgb2JqZWN0IHBvaW50ZXIs
IGFuZCB0aGUKK2xhcmdlIG1hcCBmaWd1cmVzIG91dCB0aGUgcmVzdCwgaW5jbHVkaW5nIGlkZW50
aWZ5aW5nIHdoaWNoIGZyZWUgaGVhcCB0aGUgb2JqZWN0IHNob3VsZCBiZSBkZWFsbG9jYXRlZCBp
bnRvLCBhbmQKK3RoZSBzaXplIHRvIHBhc3MgdG8gdGhhdCBmcmVlIGhlYXAuCisKK0xhcmdlIGhl
YXBzIG9wZXJhdGUgdW5kZXIgYSBzaW5nbGUgZ2xvYmFsIGxvY2ssIGNhbGxlZCB0aGUgKmhlYXAg
bG9jayouIE1vc3QgbGlicGFzIGhlYXBzIHVzZSBmaW5lLWdyYWluZWQKK2xvY2tpbmcgb3IgYXZv
aWQgbG9ja2luZyBlbnRpcmVseS4gQnV0IGZvciB0aGUgbGFyZ2UgaGVhcCwgbGlicGFzIGN1cnJl
bnRseSBqdXN0IHVzZXMgb25lIGxvY2suCisKKyMjIyBMYXJnZSBGcmVlIEhlYXAKKworTGFyZ2Ug
ZnJlZSBoZWFwcyBhcmUgYnVpbHQgb3V0IG9mIGEgZ2VuZXJpYyBhbGdvcml0aG0gdGhhdCBkb2Vz
bid0IGtub3cgaG93IHRvIHJlcHJlc2VudCB0aGUgZnJlZS1saXN0IGFuZCBnZXRzCitpbnN0YW50
aWF0ZWQgd2l0aCBlaXRoZXIgb2YgdHdvIGZyZWUtbGlzdCByZXByZXNlbnRhdGlvbnMsICpzaW1w
bGUqIGFuZCAqZmFzdCouIFRoZSBzaW1wbGUgbGFyZ2UgZnJlZSBoZWFwIHVzZXMKK2FuIHVub3Jk
ZXJlZCBhcnJheSBvZiBjb2FsZXNjZWQgZnJlZSBvYmplY3QgZGVzY3JpcHRpb25zLiBUaGUgZmFz
dCBsYXJnZSBmcmVlIGhlYXAgdXNlcyBhIGNhcnRlc2lhbiB0cmVlIG9mCitjb2FsZXNjZWQgZnJl
ZSBvYmplY3QgZGVzY3JpcHRpb25zLgorCitBIGZyZWUgb2JqZWN0IGRlc2NyaXB0aW9uIGlzIHJl
cHJlc2VudGVkIGJ5IHRoZSBgcGFzX2xhcmdlX2ZyZWVgIG9iamVjdCBpbiBsaWJwYXM7IGxldCdz
IGp1c3QgY2FsbCBpdCBhICpsYXJnZQorZnJlZSogZm9yIGJyZXZpdHkuIExhcmdlIGZyZWVzIGNh
biB0ZWxsIHlvdSB0aGUgYmVnaW5uaW5nIGFuZCBlbmQgb2YgYSBmcmVlIGNodW5rIG9mIG1lbW9y
eS4gVGhleSBjYW4gYWxzbyB0ZWxsCitpZiB0aGUgbWVtb3J5IGlzIGFscmVhZHkga25vd24gdG8g
YmUgemVybyBhbmQgd2hhdCB0aGUgKnR5cGUgc2tldyogb2YgdGhlIGZyZWUgbWVtb3J5IGlzLiBU
aGUgbGFyZ2UgaGVhcCBjYW4gYmUKK3VzZWQgdG8gbWFuYWdlIGFycmF5cyBvZiBzb21lIHR5cGUg
dGhhdCBpcyBlaXRoZXIgbGFyZ2VyIHRoYW4gdGhlIGhlYXAncyBtaW5pbXVtIGFsaWdubWVudCwg
b3IgdGhhdCBpcyBzbWFsbGVyCit0aGFuIGFuZCBub3QgYSBkaXZpc29yIG9mIHRoZSBhbGlnbm1l
bnQuIEVzcGVjaWFsbHkgd2hlbiB0aGlzIGlzIGNvbWJpbmVkIHdpdGggYG1lbWFsaWduYCwgdGhl
IGZyZWUgaGVhcCB3aWxsCitoYXZlIHRvIHRyYWNrIGZyZWUgbWVtb3J5IHRoYXQgaXNuJ3QgdHlw
ZS1hbGlnbmVkLiBKdXN0IGNvbnNpZGVyIGEgdHlwZSBvZiBzaXplIDEwMDAgdGhhdCBpcyBhbGxv
Y2F0ZWQgd2l0aAorYWxpZ25tZW50IDE2Mzg0LiBUaGUgcnVsZXMgb2YgbWVtYWxpZ24gc2F5IHRo
YXQgdGhlIHNpemUgbXVzdCBiZSAxNjM4NCBpbiB0aGF0IGNhc2UuIEFzc3VtaW5nIHRoYXQgdGhl
IGZyZWUgaGVhcAoraGFkIDMyNzY4IGNvbnRpZ3VvdXMgYnl0ZXMgb2YgZnJlZSBtZW1vcnkgdG8g
YmVnaW4gd2l0aCwgaXQgd2lsbCBub3cgaGF2ZSAxNjM4NCBieXRlcyB0aGF0IHN0YXJ0cyB3aXRo
IGEgdHlwZQorc2tldyBvZiAzODQgYnl0ZXMuIFRoZSB0eXBlIHNrZXcsIG9yIGBvZmZzZXRfaW5f
dHlwZWAgYXMgbGlicGFzIGNhbGxzIGl0LCBpcyB0aGUgb2Zmc2V0IG9mIHRoZSBiZWdpbm5pbmcg
b2YgdGhlCitsYXJnZSBmcmVlIGluc2lkZSB0aGUgaGVhcCdzIHR5cGUuIEluIGV4dHJlbWVseSBj
b21wbGV4IGNhc2VzLCB0aGlzIG1lYW5zIHRoYXQgZmluZGluZyB3aGVyZSB0aGUgZmlyc3QgdmFs
aWQKK29iamVjdCBhZGRyZXNzIGlzIGluc2lkZSBhIGxhcmdlIGZyZWUgZm9yIHNvbWUgdHlwZSBh
bmQgYWxpZ25tZW50IHJlcXVpcmVzIGNvbXB1dGluZyB0aGUgb2Zmc2V0IGxlYXN0IGNvbW1vbgor
bXVsdGlwbGUgKHNlZSBgcGFzX2NvYWxpZ25gKSwgd2hpY2ggcmVsaWVzIG9uIHRoZSByaWdodCBi
ZXpvdXQgY29lZmZpY2llbnQgb2YgdGhlIGV4dGVuZGVkIEdDRCBvZiB0aGUgdHlwZSBzaXplCith
bmQgYWxpZ25tZW50IChzZWUgYHBhc19leHRlbmRlZF9nY2RgKS4KKworTGFyZ2UgZnJlZXMgc3Vw
cG9ydCBhbiBBUEkgZm9yIGNvYWxlc2NpbmcgKG1lcmdpbmcgYXMgbGlicGFzIGNhbGxzIGl0KSBh
bmQgc3BsaXR0aW5nLiBUaGUgZ2VuZXJpYyBsYXJnZSBmcmVlCitoZWFwIGhhbmRsZXMgc2VhcmNo
aW5nIHRocm91Z2ggbGFyZ2UgZnJlZXMgdG8gZmluZCB0aGUgZmlyc3Qgb25lIHRoYXQgbWF0Y2hl
cyBhbiBhbGxvY2F0aW9uIHJlcXVlc3QgZm9yIHNvbWUKK3NpemUgYW5kIGFsaWdubWVudC4gSXQg
YWxzbyBoYW5kbGVzIGNvYWxlc2NpbmcgZnJlZWQgbWVtb3J5IGJhY2sgaW50byB0aGUgaGVhcCwg
Ynkgc2VhcmNoaW5nIGZvciBhZGphY2VudCBmcmVlCittZW1vcnkuIFRoZSBzZWFyY2hlcyBhcmUg
dGhyb3VnaCBhIHN0cnVjdCBvZiBmdW5jdGlvbiBwb2ludGVycyB0aGF0IG1heSBiZSBpbXBsZW1l
bnRlZCBlaXRoZXIgZWZmaWNpZW50bHkgKGxpa2UKK3RoZSBzaW1wbGUgbGFyZ2UgZnJlZSBoZWFw
J3MgTyhuKSBzZWFyY2ggdGhyb3VnaCBhbiB1bm9yZGVyZWQgYXJyYXkpIG9yIGVmZmljaWVudGx5
IChsaWtlIHRoZSBPKDEpLWlzaCBvcgorTyhsb2cgbiktaXNoIG9wZXJhdGlvbnMgb24gdGhlIGNh
cnRlc2lhbiB0cmVlIGluIHRoZSBmYXN0IGxhcmdlIGZyZWUgaGVhcCkuIFRoZSBnZW5lcmljIGFs
Z29yaXRobSB1c2VzIHRoZSBDCitnZW5lcmljIGlkaW9tIHNvIHRoZXJlIGFyZSBubyBhY3R1YWwg
ZnVuY3Rpb24gcG9pbnRlciBjYWxscyBhdCBydW50aW1lLgorCitMYXJnZSBmcmVlIGhlYXBzIGFs
bG93IHlvdSB0byBnaXZlIHRoZW0gY2FsbGJhY2tzIGZvciBhbGxvY2F0aW5nIGFuZCBkZWFsbG9j
YXRpbmcgbWVtb3J5LiBUaGUgYWxsb2NhdGlvbgorY2FsbGJhY2sgd2lsbCBnZXQgY2FsbGVkIGlm
IHlvdSBhc2sgYSBsYXJnZSBmcmVlIGhlYXAgZm9yIG1lbW9yeSBhbmQgaXQgZG9lc24ndCBoYXZl
IGl0LiBUaGF0IGFsbG9jYXRpb24KK2NhbGxiYWNrIGNvdWxkIGdldCB0aGUgbWVtb3J5IGZyb20g
dGhlIE9TLCBvciBpdCBjb3VsZCBnZXQgaXQgZnJvbSBzb21lIG90aGVyIGhlYXAuIFRoZSBkZWFs
bG9jYXRpb24gY2FsbGJhY2sKK2lzIGZvciB0aG9zZSBjYXNlcyB3aGVyZSB0aGUgbGFyZ2UgZnJl
ZSBoZWFwIGNhbGxlZCB0aGUgYWxsb2NhdGlvbiBjYWxsYmFjayBhbmQgdGhlbiBkZWNpZGVkIGl0
IHdhbnRlZCB0byBnaXZlCitzb21lIGZyYWN0aW9uIG9mIHRoYXQgbWVtb3J5IGJhY2suIEJvdGgg
Y2FsbGJhY2tzIGFyZSBvcHRpb25hbCAoY2FuIGJlIE5VTEwpLCB0aG91Z2ggdGhlIGNhc2Ugb2Yg
YSBOVUxMCithbGxvY2F0aW9uIGNhbGxiYWNrIGFuZCBub24tTlVMTCBkZWFsbG9jYXRpb24gY2Fs
bGJhY2sgaXMgbm90IHVzZWZ1bCBzaW5jZSB0aGUgZGVhbGxvY2F0aW9uIGNhbGxiYWNrIG9ubHkg
Z2V0cworY2FsbGVkIG9uIHRoZSBwYXRoIHdoZXJlIHdlIGhhZCBhbiBhbGxvY2F0aW9uIGNhbGxi
YWNrLgorCitOb3RlIHRoYXQgbGFyZ2UgZnJlZSBoZWFwcyBkbyBub3QgZG8gYW55dGhpbmcgdG8g
ZGVjb21taXQgdGhlaXIgZnJlZSBtZW1vcnkuIEFsbCBkZWNvbW1pdCBvZiBtZW1vcnkgaW4gbGFy
Z2UKK2ZyZWUgaGVhcHMgaXMgYWNjb21wbGlzaGVkIGJ5IHRoZSAqbGFyZ2Ugc2hhcmluZyBwb29s
Kiwgd2hpY2ggaXMgcGFydCBvZiB0aGUgc2NhdmVuZ2VyLgorCisjIyMgTGFyZ2UgTWFwCisKK1Ro
ZSBsYXJnZSBtYXAgaXMgYSBoYXNodGFibGUgdGhhdCBtYXBzIG9iamVjdCBhZGRyZXNzZXMgdG8g
KmxhcmdlIGVudHJpZXMqLCB3aGljaCBjb250YWluIHRoZSBzaXplIG9mIHRoZSBvYmplY3QKK2Fu
ZCB0aGUgaGVhcCBpdCBiZWxvbmdzIHRvLiBUaGUgbGFyZ2UgbWFwIGhhcyBhIGZhaXJseSBjb21w
bGV4IGhhc2h0YWJsZSBhbGdvcml0aG0gYmVjYXVzZSBvZiBteSBwYXN0IGF0dGVtcHRzCithdCBt
YWtpbmcgdGhlIGxhcmdlIGhlYXAgYXQgbGVhc3Qgc29tZXdoYXQgZWZmaWNpZW50IGV2ZW4gZm9y
IHNtYWxsIG9iamVjdHMuIEJ1dCBpdCdzIGNvbmNlcHR1YWxseSBhIHNpbXBsZSBwYXJ0CitvZiB0
aGUgb3ZlcmFsbCBhbGdvcml0aG0uIEl0J3MgYWxzbyBsZWdhbCB0byBhc2sgdGhlIGxhcmdlIG1h
cCBhYm91dCBvYmplY3RzIGl0IGRvZXNuJ3Qga25vdyBhYm91dCwgaW4gd2hpY2gKK2Nhc2UsIGxp
a2UgYSBub3JtYWwgaGFzaHRhYmxlLCBpdCB3aWxsIGp1c3QgdGVsbCB5b3UgdGhhdCBpdCBkb2Vz
bid0IGtub3cgYWJvdXQgeW91ciBvYmplY3QuIENvbWJpbmVkIHdpdGggdGhlCit3YXkgdGhhdCBz
ZWdyZWdhdGVkIGFuZCBiaXRmaXQgaGVhcHMgdXNlIG1lZ2FwYWdlIHRhYmxlcyBhbmQgcGFnZSBo
ZWFkZXIgdGFibGVzLCB0aGlzIG1lYW5zIHRoYXQgbGlicGFzIGNhbiBkbworZmFsbC10aHJvdWdo
IHRvIGFub3RoZXIgbWFsbG9jIGZvciBvYmplY3RzIHRoYXQgbGlicGFzIGRvZXNuJ3QgbWFuYWdl
LgorCitOb3RlIHRoYXQgaXQgbWlnaHQgYmUgT0sgdG8gcmVtb3ZlIHRoZSBzbWFsbCBvYmplY3Qg
b3B0aW1pemF0aW9ucyBpbiB0aGUgbGFyZ2UgbWFwLiBPbiB0aGUgb3RoZXIgaGFuZCwgdGhleSBh
cmUKK3JlbGlhYmxlLCBhbmQgdGhleSBhcmVuJ3Qga25vd24gdG8gaW5jcmVhc2UgdGhlIGNvc3Qg
b2YgdGhlIGFsZ29yaXRobS4gSGF2aW5nIHRoYXQgY2FwYWJpbGl0eSBtZWFucyB0aGF0IGFzIHBh
cnQKK29mIHR1bmluZyB0aGUgYWxnb3JpdGhtLCBpdCdzIG1vcmUgc2FmZSB0aGFuIGl0IHdvdWxk
IG90aGVyd2lzZSBiZSB0byB0cnkgcHV0dGluZyBzb21lIHNtYWxsIG9iamVjdHMgaW50byB0aGUK
K2xhcmdlIGhlYXAgdG8gYXZvaWQgYWxsb2NhdGluZyB0aGUgZGF0YSBzdHJ1Y3R1cmVzIHJlcXVp
cmVkIGZvciBvcGVyYXRpbmcgYSBzZWdyZWdhdGVkIG9yIGJpdGZpdCBoZWFwLgorCisjIyMgVGhl
IExhcmdlIEhlYXAKKworVGhlIGxhcmdlIGZyZWUgaGVhcCBhbmQgbGFyZ2UgbWFwIGFyZSBjb21i
aW5lZCBpbnRvIGEgaGlnaC1sZXZlbCBBUEkgd2l0aCB0aGUgYHBhc19sYXJnZV9oZWFwYC4gSW4g
dGVybXMgb2YKK3N0YXRlLCB0aGlzIGlzIGp1c3QgYQorYHBhc19sYXJnZV9mcmVlX2hlYXBgIHBs
dXMgc29tZSBkYXRhIHRvIGhlbHAgd2l0aCBzbWFsbC1vYmplY3Qgb3B0aW1pemF0aW9ucyBpbiB0
aGUgbGFyZ2UgbWFwLiBUaGUgZnVuY3Rpb25zCitvZiB0aGUgbGFyZ2UgaGVhcCBkbyBhIGxvdCBv
ZiBhZGRpdGlvbmFsIHdvcms6CisKKy0gVGhleSBnaXZlIHRoZSBmcmVlIGhlYXAgYW4gYWxsb2Nh
dG9yIGZvciBnZXR0aW5nIG5ldyBtZW1vcnkuIFRoZSBsYXJnZSBoZWFwIHJvdXRlcyBtZW1vcnkg
YWxsb2NhdGlvbgorICByZXF1ZXN0cyB0byB0aGUgaGVhcCBjb25maWcncyBhbGxvY2F0aW9uIGNh
bGxiYWNrLgorLSBUaGV5IGVuc3VyZSB0aGF0IGVhY2ggZnJlZSBoZWFwIGFsbG9jYXRpb24gZW5k
cyB1cCBpbiB0aGUgbGFyZ2UgbWFwLgorLSBUaGV5IGltcGxlbWVudCBkZWFsbG9jYXRpb24gYnkg
cmVtb3Zpbmcgc29tZXRoaW5nIGZyb20gdGhlIGxhcmdlIG1hcCBhbmQgdGhlbiBkZWFsbG9jYXRp
bmcgaXQgaW50byB0aGUgZnJlZQorICBoZWFwLgorLSBUaGV5IHByb3ZpZGUgaW50ZWdyYXRpb24g
d2l0aCB0aGUgc2NhdmVuZ2VyJ3MgbGFyZ2Ugc2hhcmluZyBwb29sIHNvIHRoYXQgZnJlZSBtZW1v
cnkgY2FuIGJlIGRlY29tbWl0dGVkLgorCitUaGUgbGFyZ2UgaGVhcCBpcyBhbHdheXMgdXNlZCBh
cyBhIG1lbWJlciBvZiB0aGUgYHBhc19oZWFwYCBvYmplY3QuIEl0J3MgdXNlZnVsIHRvIHRoaW5r
IG9mIGBwYXNfbGFyZ2VfaGVhcGAgYXMKK25ldmVyIGJlaW5nIGEgZGlzdGluY3Qgb2JqZWN0OyBp
dCdzIG1vcmUgb2YgYSB3YXkgb2YgY29tcGFydG1lbnRhbGl6aW5nIGBwYXNfaGVhcGAuIFRoZSBo
ZWFwIG9iamVjdCBhbHNvCitjb250YWlucyBhIHNlZ3JlZ2F0ZWQgaGVhcCBhbmQgc29tZSBvdGhl
ciBzdHVmZi4KKworIyMgTWV0YWNpcmN1bGFyaXR5CisKK0knbSB1c2VkIHRvIHByb2dyYW1taW5n
IHdpdGggZHluYW1pY2FsbHkgYWxsb2NhdGVkIG9iamVjdHMuIFRoaXMgbGV0cyBtZSBidWlsZCBh
cnJheXMsIHRyZWVzLCBoYXNodGFibGVzLAorbG9vay11cCB0YWJsZXMsIGFuZCBhbGwga2luZHMg
b2YgbG9jay1mcmVlIGRhdGEgc3RydWN0dXJlcy4gU28sIEkgd2FudGVkIGxpYnBhcydzIGludGVy
bmFscyB0byBiZSBhYmxlIHRvCithbGxvY2F0ZSBvYmplY3RzIGp1c3QgbGlrZSBhbnkgb3RoZXIg
a2luZCBvZiBhbGdvcml0aG0gd291bGQgZG8uIEJ1dCBsaWJwYXMgaXMgZW5naW5lZXJlZCBzbyB0
aGF0IGl0IGNhbgorYmUgYSAiYm90dG9tIG9mIHRoZSB3b3JsZCIgbWFsbG9jIC0tIHdoZXJlIGl0
IGlzIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBgbWFsbG9jYCBhbmQgYGZyZWVgIGFuZCBjYW5ub3Qg
cmVseSBvbgorYW55IG1lbW9yeSBhbGxvY2F0aW9uIHByaW1pdGl2ZXMgb3RoZXIgdGhhbiB3aGF0
IHRoZSBrZXJuZWwgcHJvdmlkZXMuIFNvLCBsaWJwYXMgdXNlcyBpdHMgb3duIGFsbG9jYXRpb24K
K3ByaW1pdGl2ZXMgZm9yIGl0cyBvd24gb2JqZWN0cyB0aGF0IGl0IHVzZXMgdG8gaW1wbGVtZW50
IHRob3NlIHByaW1pdGl2ZXMuIFRoaXMgaXMgYm9vdHN0cmFwcGVkIGFzIGZvbGxvd3M6CisKKy0g
VGhlICpib290c3RyYXAgaGVhcCogaXMgYSBzaW1wbGUgbGFyZ2UgZnJlZSBoZWFwLiBBIHNpbXBs
ZSBsYXJnZSBmcmVlIGhlYXAgbmVlZHMgdG8gYmUgYWJsZSB0byBhbGxvY2F0ZQorICBleGFjdGx5
IG9uZSB2YXJpYWJsZS1sZW5ndGggYXJyYXkgb2YgbGFyZ2UgZnJlZXMuIFRoZSBib290c3RyYXAg
aGVhcCBoYXMgaGFja3MgdG8gYWxsb3cgaXRzZWxmIHRvIGFsbG9jYXRlCisgIHRoYXQgYXJyYXkg
b3V0IG9mIGl0c2VsZi4gVGhpcyB0cmljayB0aGVuIGdpdmVzIHVzIGEgY29tcGxldGUgbWFsbG9j
IGltcGxlbWVudGF0aW9uIGZvciBpbnRlcm5hbCB1c2UgYnkKKyAgbGlicGFzLCBhbGJlaXQgb25l
IHRoYXQgaXMgcXVpdGUgc2xvdywgY2FuIG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgaGVhcCBsb2Nr
LCBhbmQgcmVxdWlyZXMgdXMgdG8ga25vdyB0aGUKKyAgb2JqZWN0J3Mgc2l6ZSB3aGVuIGZyZWVp
bmcgaXQuIEFsbCBvdGhlciBzaW1wbGUgbGFyZ2UgZnJlZSBoZWFwcyBhbGxvY2F0ZSB0aGVpciBm
cmVlIGxpc3RzIGZyb20gdGhlIGJvb3RzdHJhcAorICBoZWFwLiBUaGUgYm9vdHN0cmFwIGhlYXAg
aXMgdGhlIG9ubHkgaGVhcCBpbiBsaWJwYXMgdGhhdCBhc2tzIHRoZSBPUyBmb3IgbWVtb3J5LiBB
bGwgb3RoZXIgaGVhcHMgYXNrIGVpdGhlcgorICB0aGUgYm9vdHN0cmFwIGhlYXAgZm9yIG1lbW9y
eSwgb3IgdGhleSBhc2sgb25lIG9mIHRoZSBvdGhlciBoZWFwcy4KKy0gVGhlICpjb21wYWN0IHJl
c2VydmF0aW9uKiBpcyAxMjhNQiBvZiBtZW1vcnkgdGhhdCBsaWJwYXMgdXNlcyBmb3Igb2JqZWN0
cyB0aGF0IGNhbiBiZSBwb2ludGVkIGF0IHdpdGggMjQtYml0CisgICgzIGJ5dGUpIHBvaW50ZXJz
IGFzc3VtaW5nIDgtYnl0ZSBhbGlnbm1lbnQuIExpYnBhcyBuZWVkcyB0byBtYW5hZ2UgYSBsb3Qg
b2YgaGVhcHMsIGFuZCB0aGF0IHJlcXVpcmVzIGEgbG90CisgIG9mIGludGVybmFsIG1ldGEtZGF0
YSwgYW5kIGhhdmluZyBjb21wYWN0IHBvaW50ZXJzIHJlZHVjZXMgdGhlIGNvc3Qgb2YgZG9pbmcg
dGhpcy4gVGhlIGNvbXBhY3QgcmVzZXJ2YXRpb24gaXMKKyAgYWxsb2NhdGVkIGZyb20gdGhlIGJv
b3RzdHJhcCBoZWFwLgorLSBUaGUgKmltbW9ydGFsIGhlYXAqIGlzIGEgaGVhcCB0aGF0IGJ1bXAt
YWxsb2NhdGVzIG91dCBvZiB0aGUgY29tcGFjdCByZXNlcnZhdGlvbi4gSXQncyBpbnRlbmRlZCBm
b3Igc21hbGwKKyAgb2JqZWN0cyB0aGF0IGFyZSBpbW1vcnRhbC4KKy0gVGhlICpjb21wYWN0IGJv
b3RzdHJhcCBoZWFwKiBpcyBsaWtlIHRoZSBib290c3RyYXAgaGVhcCwgZXhjZXB0IHRoYXQgaXQg
YWxsb2NhdGVzIGl0cyBtZW1vcnkgZnJvbSB0aGUgY29tcGFjdAorICByZXNlcnZhdGlvbiwgYW5k
IGFsbG9jYXRlcyBpdHMgZnJlZSBsaXN0IGZyb20gdGhlIGJvb3RzdHJhcCBoZWFwIHJhdGhlciB0
aGFuIGl0c2VsZi4KKy0gVGhlICpjb21wYWN0IGxhcmdlIHV0aWxpdHkgZnJlZSBoZWFwKiBpcyBh
IGZhc3QgbGFyZ2UgZnJlZSBoZWFwIHRoYXQgc3VwcG9ydHMgZGVjb21taXR0aW5nIGZyZWUgbWVt
b3J5IChzZWUKKyAgdGhlIHNjYXZlbmdlciBzZWN0aW9uKSBhbmQgYWxsb2NhdGVzIGl0cyBtZW1v
cnkgZnJvbSB0aGUgY29tcGFjdCBib290c3RyYXAgaGVhcC4KKy0gVGhlICp1dGlsaXR5IGhlYXAq
IGlzIGEgc2VncmVnYXRlZCBoZWFwIGNvbmZpZ3VyZWQgdG8gYmUgYXMgc2ltcGxlIGFzIHBvc3Np
YmxlIChubyB0aHJlYWQtbG9jYWwgY2FjaGVzIGZvcgorICBleGFtcGxlKSBhbmQgY2FuIG9ubHkg
YmUgdXNlZCB3aGlsZSBob2xkaW5nIHRoZSBoZWFwIGxvY2suIEl0IG9ubHkgc3VwcG9ydHMgb2Jq
ZWN0cyB1cCB0byBzb21lIHNpemUKKyAgKGBQQVNfVVRJTElUWV9MT09LVVBfU0laRV9VUFBFUl9C
T1VORGApLCBzdXBwb3J0cyBkZWNvbW1pdHRpbmcgZnJlZSBtZW1vcnksIGFuZCBnZXRzIGl0cyBt
ZW1vcnkgZnJvbSB0aGUKKyAgY29tcGFjdCBib290c3RyYXAgaGVhcC4gT25lIGV4YW1wbGUgb2Yg
aG93IHRoZSB1dGlsaXR5IGhlYXAgZ2V0cyB1c2VkIGlzIHRoZSBub2RlcyBpbiB0aGUgY2FydGVz
aWFuIHRyZWVzCisgIHVzZWQgdG8gaW1wbGVtZW50IGZhc3QgbGFyZ2UgZnJlZSBoZWFwcy4gU28s
IGZvciBleGFtcGxlLCB0aGUgY29tcGFjdCBsYXJnZSB1dGlsaXR5IGZyZWUgaGVhcCByZWxpZXMg
b24gdGhlCisgIHV0aWxpdHkgaGVhcC4KKy0gVGhlICpsYXJnZSB1dGlsaXR5IGZyZWUgaGVhcCog
aXMgYSBmYXN0IGxhcmdlIGZyZWUgaGVhcCB0aGF0IHN1cHBvcnRzIGRlY29tbWl0dGluZyBmcmVl
IG1lbW9yeSBhbmQgYWxsb2NhdGVzCisgIGl0cyBtZW1vcnkgZnJvbSB0aGUgYm9vdHN0cmFwIGhl
YXAuCisKK05vdGUgaG93IHRoZSBoZWFwcyBwdWxsIG1lbW9yeSBmcm9tIG9uZSBhbm90aGVyLiBH
ZW5lcmFsbHksIGEgaGVhcCB3aWxsIG5vdCByZXR1cm4gbWVtb3J5IHRvIHRoZSBoZWFwIGl0IGdv
dAorbWVtb3J5IGZyb20gZXhjZXB0IHRvICJ1bmRvIiBwYXJ0IG9mIGFuIGFsbG9jYXRpb24gaXQg
aGFkIGp1c3QgZG9uZS4gU28sIHRoaXMgYXJyYW5nZW1lbnQgb2YKK3doby1wdWxscy1tZW1vcnkt
ZnJvbS13aG8gaXMgZGVzaWduZWQgZm9yIHR5cGUgc2FmZXR5LCBtZW1vcnkgZWZmaWNpZW5jeSwg
YW5kIGVsZWdhbnRseSBzdXBwb3J0aW5nIHdlaXJkCithbGlnbm1lbnRzOgorCistIExpYnBhcyB1
c2VzIGRlY29tbWl0IHJhdGhlciB0aGFuIHVubWFwcGluZyBmcmVlIG1lbW9yeSBiZWNhdXNlIHRo
aXMgZW5zdXJlcyB0aGF0IHdlIGRvbid0IGV2ZXIgY2hhbmdlIHRoZSB0eXBlCisgIG9mIG1lbW9y
eSBhZnRlciB0aGF0IG1lbW9yeSBnZXRzIGl0cyB0eXBlIGZvciB0aGUgZmlyc3QgdGltZS4KKy0g
VGhlIGxvd2VyLWxldmVsIGhlYXBzIChsaWtlIGJvb3RzdHJhcCBhbmQgY29tcGFjdCBib290c3Ry
YXApIGRvIG5vdCBzdXBwb3J0IGRlY29tbWl0LiBTbywgaWYgYSBoaWdoZXItbGV2ZWwKKyAgaGVh
cCB0aGF0IGRvZXMgc3VwcG9ydCBkZWNvbW1pdCBldmVyIHJldHVybmVkIG1lbW9yeSB0byB0aGUg
bG93ZXItbGV2ZWwgaGVhcCwgdGhlbiB0aGUgbWVtb3J5IHdvdWxkIG5ldmVyIGdldAorICBkZWNv
bW1pdHRlZC4KKy0gUGFnZSBhbGxvY2F0aW9uIEFQSXMgZG9uJ3QgbGV0IHVzIGVhc2lseSBhbGxv
Y2F0ZSB3aXRoIGFsaWdubWVudCBncmVhdGVyIHRoYW4gcGFnZSBzaXplLiBMaWJwYXMgZG9lcyB0
aGlzIGJ5CisgIG92ZXItYWxsb2NhdGluZyAoYWxsb2NhdGluZyBzaXplICsgYWxpZ25tZW50IGFu
ZCB0aGVuIHNlYXJjaGluZyBmb3IgdGhlIGZpcnN0IGFsaWduZWQgc3RhcnQgd2l0aGluIHRoYXQg
bGFyZ2VyCisgIHJlc2VydmF0aW9uKS4gVGhpcyBpcyBhbGwgaGlkZGVuIGluc2lkZSB0aGUgYm9v
dHN0cmFwIGhlYXA7IGFsbCBvdGhlciBoZWFwcyB0aGF0IHdhbnQgbWVtb3J5IG9uIHNvbWUgd2Vp
cmQKKyAgYWxpZ25tZW50IGp1c3QgYXNrIHNvbWUgb3RoZXIgaGVhcCBmb3IgbWVtb3J5IChvZnRl
biB0aGUgYm9vdHN0cmFwIGhlYXApIGFuZCB0aGF0IGhlYXAsIG9yIHVsdGltYXRlbHkgdGhlCisg
IGJvb3RzdHJhcCBoZWFwLCBmaWd1cmUgb3V0IHdoYXQgdGhhdCBtZWFucyBpbiB0ZXJtcyBvZiBz
eXN0ZW0gY2FsbHMuCisKK09uZSBtaXNzaW5nIHBpZWNlIHRvIHRoZSBtZXRhY2lyY3VsYXJpdHkg
aXMgaGF2aW5nIGEgKmZhc3QgdXRpbGl0eSBoZWFwKiB0aGF0IHVzZXMgdGhyZWFkLWxvY2FsIGNh
Y2hlcy4gVGhlcmUgaXMKK2N1cnJlbnRseSBtYXliZSBvbmUgdXRpbGl0eSBoZWFwIGNhbGxzaXRl
IHRoYXQgb25seSBncmFicyB0aGUgaGVhcCBsb2NrIGp1c3QgYmVjYXVzZSBpdCB3YW50cyB0byBh
bGxvY2F0ZSBpbiB0aGUKK3V0aWxpdHkgaGVhcC4gVGhlcmUncyBhIHBvc3NpYmlsaXR5IG9mIGEg
c21hbGwgc3BlZWQtdXAgaWYgYW55IGNhbGxzaXRlIGxpa2UgdGhhdCB1c2VkIGEgZmFzdCB1dGls
aXR5IGhlYXAKK2luc3RlYWQsIGFuZCB0aGVuIG5vIGxvY2tpbmcgd291bGQgYmUgcmVxdWlyZWQu
IEl0J3Mgbm90IGNsZWFyIGhvdyBlYXN5IHRoYXQgd291bGQgYmU7IGl0J3MgcG9zc2libGUgdGhh
dCBzb21lCitiYWQgaGFja3Mgd291bGQgYmUgcmVxdWlyZWQgdG8gYWxsb3cgY29kZSB0aGF0IHVz
ZXMgVExDcyB0byBjYWxsIGludG8gYSBoZWFwIHRoYXQgdGhlbiBhbHNvIHVzZXMgVExDcy4KKwor
IyMgU2VncmVnYXRlZCBIZWFwcyBhbmQgVExDcyAoVGhyZWFkIExvY2FsIENhY2hlcykKKworTGli
cGFzJ3MgZ3JlYXQgcGVyZm9ybWFuY2UgaXMgbW9zdGx5IGR1ZSB0byB0aGUgc2VncmVnYXRlZCBo
ZWFwcyBhbmQgaG93IHRoZXkgbGV2ZXJhZ2UgdGhyZWFkLWxvY2FsIGNhY2hlcy4gVExDcworcHJv
dmlkZSBhIGNhY2hlIG9mIGdsb2JhbCBtZW1vcnkgd2hpY2guIEluIHRoZSBiZXN0IGNhc2UsIHRo
aXMgY2FjaGUgcHJldmVudHMgdGhyZWFkcyBmcm9tIGRvaW5nIGFueQorc3luY2hyb25pemF0aW9u
IGR1cmluZyBhbGxvY2F0aW9uIGFuZCBkZWFsbG9jYXRpb24uIEV2ZW4gd2hlbiB0aGV5IGRvIGhh
dmUgdG8gZG8gc29tZSBzeW5jaHJvbml6YXRpb24sIFRMQ3MKK21ha2UgaXQgdW5saWtlbHkgdGhh
dCBvbmUgdGhyZWFkIHdpbGwgZXZlciB3YW50IHRvIGFjcXVpcmUgYSBsb2NrIGhlbGQgYnkgYW5v
dGhlciB0aHJlYWQuIFRoZSBzdHJhdGVneSBpcwordGhyZWUtZm9sZDoKKworLSBUaGUgVExDIGhh
cyBhIHBlci1zaXplLWNsYXNzIGFsbG9jYXRvciB0aGF0IGNhY2hlcyBzb21lIGFtb3VudCBvZiB0
aGF0IHNpemUgY2xhc3MncyBtZW1vcnkuIFRoaXMgbWVhbnMgdGhhdAorICB0aGUgYWxsb2NhdGlv
biBmYXN0IHBhdGggZG9lc24ndCBoYXZlIHRvIGRvIGFueSBsb2NraW5nIG9yIGF0b21pYyBpbnN0
cnVjdGlvbnMgZXhjZXB0IHdoZW4gaXRzIGNhY2hlIHJ1bnMgb3V0LgorICBUaGVuLCBpdCB3aWxs
IGhhdmUgdG8gZG8gc29tZSBzeW5jaHJvbml6YXRpb24gLS0gaW4gbGlicGFzJ3MgY2FzZSwgZmlu
ZS1ncmFpbmVkIGxvY2tpbmcgYW5kIHNvbWUgbG9jay1mcmVlCisgIGFsZ29yaXRobXMgLS0gdG8g
Z2V0IG1vcmUgbWVtb3J5LiBUaGUgYW1vdW50IG9mIG1lbW9yeSBlYWNoIGFsbG9jYXRvciBjYW4g
Y2FjaGUgaXMgYm91bmRlZCAodXN1YWxseSAxNktCKSBhbmQKKyAgYWxsb2NhdG9ycyBjYW4gb25s
eSBob2xkIG9udG8gbWVtb3J5IGZvciBhYm91dCBhIHNlY29uZCB3aXRob3V0IHVzaW5nIGl0IGJl
Zm9yZSBpdCBnZXRzIHJldHVybmVkIChzZWUgdGhlCisgIHNjYXZlbmdlciBzZWN0aW9uKS4KKy0g
VGhlIFRMQyBoYXMgYSBkZWFsbG9jYXRpb24gbG9nLiBUaGUgZmFzdCBwYXRoIG9mIGRlYWxsb2Nh
dGluZyBhIHNlZ3JlZ2F0ZWQgaGVhcCBvYmplY3QgaXMganVzdCBwdXNoaW5nIGl0IG9udG8KKyAg
dGhlIGRlYWxsb2NhdGlvbiBsb2cgd2l0aG91dCBhbnkgbG9ja2luZy4gVGhlIHNsb3cgcGF0aCBp
cyB0byB3YWxrIHRoZSBsb2cgYW5kIGZyZWUgYWxsIG9mIHRoZSBvYmplY3RzLiBUaGUKKyAgbGli
cGFzIGRlYWxsb2NhdGlvbiBsb2cgZmx1c2ggYWxnb3JpdGhtIGNsZXZlcmx5IGF2b2lkcyBkb2lu
ZyBwZXItb2JqZWN0IGxvY2tpbmc7IGluIHRoZSBiZXN0IGNhc2UgaXQgd2lsbAorICBhY3F1aXJl
IGEgY291cGxlIG9mIGxvY2tzIGJlZm9yZSBmbHVzaGluZyBhbmQgcmVsZWFzZSB0aGVtIGFmdGVy
IGZsdXNoaW5nIHRoZSB3aG9sZSBsb2cuCistIFdoZW4gdGhlIGRlYWxsb2NhdGlvbiBsb2cgZmx1
c2ggZnJlZXMgbWVtb3J5LCBpdCB0cmllcyB0byBmaXJzdCBtYWtlIHRoYXQgbWVtb3J5IGF2YWls
YWJsZSBleGNsdXNpdmVseSB0byB0aGUKKyAgdGhyZWFkIHRoYXQgZnJlZWQgaXQgYnkgcHV0dGlu
ZyB0aGUgZnJlZSBtZW1vcnkgaW50byB0aGUgKmxvY2FsIHZpZXcgY2FjaGUqIGZvciB0aGF0IHNp
emUgY2xhc3MgaW4gdGhhdAorICB0aHJlYWQuIE1lbW9yeSBtb3ZlcyBmcm9tIHRoZSBsb2NhbCB2
aWV3IGNhY2hlcyBpbnRvIHRoZSBnbG9iYWwgaGVhcCBvbmx5IGlmIHRoZSB2aWV3IGNhY2hlIGlz
IGZ1bGwgKGhhcyBhYm91dAorICAxLjZNQiBvZiBtZW1vcnkgaW4gaXQpIG9yIGlmIGl0IGhhc24n
dCBiZWVuIHVzZWQgaW4gYWJvdXQgYSBzZWNvbmQgKHNlZSB0aGUgc2NhdmVuZ2VyIHNlY3Rpb24p
LgorCitUaGlzIHNlY3Rpb24gbGF5cyBvdXQgdGhlIGRldGFpbHMgb2YgaG93IHRoaXMgd29ya3Mu
ICpTZWdyZWdhdGVkIGhlYXBzKiBhcmUgb3JnYW5pemVkIGludG8gKnNlZ3JlZ2F0ZWQKK2RpcmVj
dG9yaWVzKi4gRWFjaCBzZWdyZWdhdGVkIGRpcmVjdG9yeSBpcyBhbiBhcnJheSBvZiBwYWdlICp2
aWV3cyouIEVhY2ggcGFnZSB2aWV3IG1heSBvciBtYXkgbm90IGhhdmUgYSAqcGFnZSoKK2Fzc29j
aWF0ZWQgd2l0aCBpdC4gQSB2aWV3IGNhbiBiZSAqZXhjbHVzaXZlKiAodGhlIHZpZXcgaGFzIHRo
ZSBwYWdlIHRvIGl0c2VsZiksICpwYXJ0aWFsKiAoaXQncyBhIHZpZXcgaW50byBhCitwYWdlIHNo
YXJlZCBieSBvdGhlcnMpLCBvciAqc2hhcmVkKiAoaXQgcmVwcmVzZW50cyBhIHBhZ2Ugc2hhcmVk
IGJ5IG1hbnkgcGFydGlhbCB2aWV3cykuIFBhZ2VzIGhhdmUgYSAqcGFnZQorYm91bmRhcnkqICh0
aGUgYWRkcmVzcyBvZiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBwYWdlKSBhbmQgYSAqcGFnZSBoZWFk
ZXIqICh0aGUgb2JqZWN0IGRlc2NyaWJpbmcgdGhlIHBhZ2UsIHdoaWNoCittYXkgb3IgbWF5IG5v
dCBhY3R1YWxseSBiZSBpbnNpZGUgdGhlIHBhZ2UpLiBQYWdlcyBtYWludGFpbiAqYWxsb2MgYml0
cyogdG8gdGVsbCB3aGljaCBvYmplY3RzIGFyZSBsaXZlLgorQWxsb2NhdGlvbiB1c2VzIHRoZSBo
ZWFwJ3MgbG9va3VwIHRhYmxlcyB0byBmaW5kIHRoZSByaWdodCAqYWxsb2NhdG9yIGluZGV4KiBp
biB0aGUgVExDLCB3aGljaCB5aWVsZHMgYSAqbG9jYWwKK2FsbG9jYXRvcio7IHRoYXQgYWxsb2Nh
dG9yIHVzdWFsbHkgaGFzIGEgY2FjaGUgb2YgbWVtb3J5IHRvIGFsbG9jYXRlIGZyb20uIFdoZW4g
aXQgZG9lc24ndCwgaXQgZmlyc3QgdHJpZXMgdG8KK3BvcCBhIHZpZXcgZnJvbSB0aGUgbG9jYWwg
dmlldyBjYWNoZSwgYW5kIGlmIHRoYXQgZmFpbHMsIGl0IHVzZXMgdGhlICpmaW5kIGZpcnN0IGVs
aWdpYmxlKiBhbGdvcml0aG0gb24gdGhlCitjb3JyZXNwb25kaW5nIGRpcmVjdG9yeSB0byBmaW5k
IGFuIGVsaWdpYmxlIHZpZXcuIE9uZSB0aGUgYWxsb2NhdG9yIGhhcyBhIHZpZXcsIGl0IGVuc3Vy
ZXMgdGhhdCB0aGUgdmlldyBoYXMgYQorcGFnZSwgYW5kIHRoZW4gc2NhbnMgdGhlIGFsbG9jIGJp
dHMgdG8gY3JlYXRlIGEgY2FjaGUgb2YgZnJlZSBtZW1vcnkgaW4gdGhhdCBwYWdlLiBEZWFsbG9j
YXRpb24gZmFzdCBwYXRocyBqdXN0CitwdXNoIHRoZSBvYmplY3Qgb250byB0aGUgZGVhbGxvY2F0
aW9uIGxvZy4gV2hlbiB0aGUgbG9nIGlzIGZ1bGwsIHRoZSBUTEMgZmx1c2hlcyBpdHMgbG9nIHdo
aWxlIHRyeWluZyB0bworYW1vcnRpemUgbG9jayBhY3F1aXNpdGlvbi4gRnJlZWluZyBhbiBvYmpl
Y3QgaW4gYSBwYWdlIG1lYW5zIGNsZWFyaW5nIHRoZSBjb3JyZXNwb25kaW5nIGFsbG9jIGJpdC4g
T25jZSBlbm91Z2gKK2FsbG9jIGJpdHMgYXJlIGNsZWFyLCBlaXRoZXIgdGhlIHBhZ2UncyB2aWV3
IGVuZHMgdXAgb24gdGhlIHZpZXcgY2FjaGUsIG9yIHRoZSBkaXJlY3RvcnkgaXMgbm90aWZpZWQg
dG8gbWFyayB0aGUKK3BhZ2UgZWl0aGVyIGVsaWdpYmxlIG9yIGVtcHR5LiBUaGUgc2VjdGlvbnMg
dGhhdCBmb2xsb3cgZ28gaW50byBlYWNoIG9mIHRoZXNlIGNvbmNlcHRzIGluIGRldGFpbC4KKwor
IyMjIFRoZSBUaHJlYWQgTG9jYWwgQ2FjaGUKKworRWFjaCB0aHJlYWQgaGFzIHplcm8gb3Igb25l
IGBwYXNfdGhyZWFkX2xvY2FsX2NhY2hlYHMuIExpYnBhcyBwcm92aWRlcyBzbG93IHBhdGhzIGZv
ciBhbGxvY2F0aW5nIGFuZAorZGVhbGxvY2F0aW5nIHdpdGhvdXQgYSBUTEMgaW4gY2FzZXMgd2hl
cmUgVExDIGNyZWF0aW9uIGlzIGZvcmJpZGRlbiAobGlrZSB3aGVuIGEgdGhyZWFkIGlzIHNodXR0
aW5nIGRvd24pLiBCdXQKK3VzdWFsbHksIGFsbG9jYXRpb24gYW5kIGRlYWxsb2NhdGlvbiBjcmVh
dGUgYSBUTEMgaWYgdGhlIHRocmVhZCBkb2Vzbid0IGFscmVhZHkgaGF2ZSBvbmUuIFRMQ3MgYXJl
IHN0cnVjdHVyZWQKK2FzIGZvbGxvd3M6CisKKy0gVExDcyBjb250YWluIGEgZml4ZWQtc2l6ZSBk
ZWFsbG9jYXRpb24gbG9nIGFsb25nIHdpdGggYW4gaW5kZXggdGhhdCB0ZWxscyBob3cgbXVjaCBv
ZiB0aGUgbG9nIGlzIGZ1bGwuCisgIERlYWxsb2NhdGlvbiBwdXNoZXMgb250byB0aGF0IGxvZy4K
Ky0gVExDcyBjb250YWluIGEgdmFyaWFibGUtbGVuZ3RoIGFycmF5IG9mICphbGxvY2F0b3JzKiwg
d2hpY2ggYXJlIHJlYWxseSBlaXRoZXIgKmxvY2FsIGFsbG9jYXRvcnMqIG9yICpsb2NhbAorICB2
aWV3IGNhY2hlcyouIEFsbG9jYXRvcnMgYXJlIHZhcmlhYmxlIGxlbmd0aC4gQ2xpZW50cyBhY2Nl
c3MgYWxsb2NhdG9ycyB1c2luZyBhbiBhbGxvY2F0b3IgaW5kZXgsIHdoaWNoIHRoZXkKKyAgdXN1
YWxseSBnZXQgZnJvbSB0aGUgZGlyZWN0b3J5IHRoYXQgdGhlIGFsbG9jYXRvciBjb3JyZXNwb25k
cyB0by4KKy0gVExDcyBjYW4gZ2V0IHJlYWxsb2NhdGVkIGFuZCBkZWFsbG9jYXRlZCwgYnV0IHRo
ZXkgYWx3YXlzIHBvaW50IHRvIGEgYHBhc190aHJlYWRfbG9jYWxfY2FjaGVfbm9kZWAsIHdoaWNo
IGlzCisgIGFuIGltbW9ydGFsIGFuZCBjb21wYWN0IGRlc2NyaXB0b3Igb2YgYSBUTEMuIFRMQyBu
b2RlcyBhcmUgcGFydCBvZiBhIGdsb2JhbCBsaW5rZWQgbGlzdC4gRWFjaCBUTEMgbm9kZSBtYXkg
b3IKKyAgbWF5IG5vdCBoYXZlIGEgbGl2ZSBUTEMgYXNzb2NpYXRlZCB3aXRoIGl0LiBUTENzIGNh
bm5vdCBiZSBjcmVhdGVkIG9yIGRlc3Ryb3llZCB1bmxlc3MgdGhlIGhlYXAgbG9jayBpcyBoZWxk
LAorICBzbyBpZiB5b3UgaG9sZCB0aGUgaGVhcCBsb2NrLCB5b3UgY2FuIGl0ZXJhdGUgdGhlIFRM
QyBub2RlIGxpbmtlZCBsaXN0IHRvIGZpbmQgYWxsIFRMQ3MuCistIFRoZSBsYXlvdXQgb2YgYWxs
b2NhdG9yIGluZGljZXMgaW4gYSBUTEMgaXMgY29udHJvbGxlZCBieSBib3RoIHRoZSBkaXJlY3Rv
cmllcyBhbmQgdGhlIFRMQyBsYXlvdXQgZGF0YQorICBzdHJ1Y3R1cmUgKGBwYXNfdGhyZWFkX2xv
Y2FsX2NhY2hlX2xheW91dGApLiBUaGlzIGlzIGEgZ2xvYmFsIGRhdGEgc3RydWN0dXJlIHRoYXQg
Y2FuIHRlbGwgdXMgYWJvdXQgYWxsIG9mIHRoZQorICBhbGxvY2F0b3JzIGluIGEgVExDLiBXaGVu
IGhvbGRpbmcgdGhlIGhlYXAgbG9jaywgaXQncyBwb3NzaWJsZSB0byBsb29wIG92ZXIgdGhlIFRM
QyBsYXlvdXQgbGlua2VkIGxpc3QgdG8KKyAgZmluZCB3aGF0IGFsbCBvZiB0aGUgdmFsaWQgYWxs
b2NhdG9yIGluZGljZXMgYXJlIGFuZCB0byBpbnRyb3NwZWN0IHdoYXQgaXMgYXQgdGhvc2UgaW5k
aWNlcy4KKworVGhyZWFkIGxvY2FsIGNhY2hlcyB0ZW5kIHRvIGdldCBsYXJnZSBiZWNhdXNlIGJv
dGggdGhlIGxvY2FsIGFsbG9jYXRvcnMgYW5kIGxvY2FsIHZpZXcgY2FjaGVzIGhhdmUgaW5saW5l
CithcnJheXMuIFRoZSBsb2NhbCBhbGxvY2F0b3IgaGFzIGFuIGFycmF5IG9mIGJpdHMgdGhhdCB0
ZWxsIHRoZSBhbGxvY2F0b3Igd2hlcmUgdGhlIGZyZWUgb2JqZWN0cyBhcmUuIFRoZSBsb2NhbAor
dmlldyBjYWNoZSBoYXMgYW4gYXJyYXkgb2YgdmlldyBwb2ludGVycyAodXAgdG8gMS42TUIgLyAx
NktCID0gMTAwIGVudHJpZXMsIGVhY2ggdXNpbmcgYSAyNC1iaXQgcG9pbnRlcikuIFdoZW4KK3Vz
ZWQgaW4gc2luZ2xlLWhlYXAgYXBwbGljYXRpb25zLCB0aGVzZSBvdmVyaGVhZHMgZG9uJ3QgbWF0
dGVyIC0tIHRoZXkgZW5kIHVwIGJlaW5nIGFjY291bnRpbmcgZm9yIGxlc3MgdGhhbgorMTA8c3Vw
Pi01PC9zdXA+IG9mIHRoZSBvdmVyYWxsIHByb2Nlc3MgZm9vdHByaW50IChub3QganVzdCBpbiBX
ZWJLaXQgYnV0IHdoZW4gSSBleHBlcmltZW50ZWQgd2l0aCBsaWJwYXMgaW4KK2RhZW1vbnMpLiBC
dXQgd2hlbiB1c2VkIGZvciBtYW55IGhlYXBzLCB0aGVzZSBvdmVyaGVhZHMgYXJlIHN1YnN0YW50
aWFsLiBHaXZlbiB0aG91c2FuZHMgb3IgdGVucyBvZiB0aG91c2FuZHMKK29mIGhlYXBzLCBUTENz
IGFjY291bnQgZm9yIGFzIG11Y2ggYXMgMSUgb2YgbWVtb3J5LiBTbywgVExDcyBzdXBwb3J0IHBh
cnRpYWwgZGVjb21taXQuIFRob3NlIHBhZ2VzIHRoYXQgb25seQoraGF2ZSBhbGxvY2F0b3JzIHRo
YXQgYXJlIGluYWN0aXZlIGdldCBkZWNvbW1pdHRlZC4gTm90ZSB0aGF0IFRMQyBkZWNvbW1pdCBo
YXMgbGFuZGVkIGluIHRoZSBsaWJwYXMuZ2l0IHJlcG8KK2FzIG9mIGEzNjFlZmE5NmNhNGIyZmY2
YmRmYzI4YmM3ZWIxYTY3OGNkZTc1YmUsIGJ1dCBoYXNuJ3QgeWV0IGJlZW4gbWVyZ2VkIGludG8g
V2ViS2l0LgorCitUaGUgVExDIGRlYWxsb2NhdGlvbiBsb2cgZmx1c2ggYWxnb3JpdGhtIGlzIGRl
c2lnbmVkIHRvIGFjaGlldmUgdHdvIHBlcmZvcm1hbmNlIG9wdGltaXphdGlvbnM6CisKKy0gSXQg
YWNoaWV2ZXMgdGVtcG9yYWwgbG9jYWxpdHkgb2YgYWNjZXNzZXMgdG8gcGFnZSBoZWFkZXJzLiBJ
ZiBmcmVlaW5nIGVhY2ggb2JqZWN0IG1lYW50IGZsaXBwaW5nIGEgYml0IGluIHRoZQorICBwYWdl
IGhlYWRlciwgdGhlbiBtYW55IG9mIHRob3NlIG9wZXJhdGlvbnMgd291bGQgbWlzcyBjYWNoZSwg
c2luY2UgdGhlIHBhZ2UgaGVhZGVyIGlzIG5vdCBhY2Nlc3NlZCBieSBub3JtYWwKKyAgcHJvZ3Jh
bSBvcGVyYXRpb24gLS0gaXQncyBvbmx5IGFjY2Vzc2VkIGR1cmluZyBzb21lIGFsbG9jYXRpb24g
c2xvdyBwYXRocyBhbmQgd2hlbiBkZWFsbG9jYXRpbmcuIEJ1dCBiZWNhdXNlCisgIGRlYWxsb2Nh
dGlvbiBhY2Nlc3NlcyBwYWdlIGhlYWRlcnMgb25seSBkdXJpbmcgbG9nIGZsdXNoIGFuZCBsb2cg
Zmx1c2ggdG91Y2hlcyBhYm91dCAxMDAwIG9iamVjdHMsIGl0J3MgbGlrZWx5CisgIHRoYXQgdGhl
IGZsdXNoIHdpbGwgdG91Y2ggdGhlIHNhbWUgcGFnZSBoZWFkZXIgY2FjaGUgbGluZXMgbXVsdGlw
bGUgdGltZXMuCistIEl0IHJlZHVjZXMgdGhlIGF2ZXJhZ2UgbnVtYmVyIG9mIGxvY2sgYWNxdWlz
aXRpb25zIG5lZWRlZCB0byBmcmVlIGFuIG9iamVjdC4gRWFjaCBwYWdlIHVzZXMgaXRzIG93biBs
b2NrIHRvCisgIHByb3RlY3QgaXRzIHBhZ2UgaGVhZGVyLCBhbmQgdGhlIHBhZ2UgaGVhZGVyJ3Mg
YGFsbG9jX2JpdHNgLiBCdXQgZGVhbGxvY2F0aW9uIGxvZyBmbHVzaCB3aWxsIGRvIG5vIGxvY2tp
bmcgb3IKKyAgdW5sb2NraW5nIGlmIHRoZSBvYmplY3QgYXQgaW5kZXggKmkqIGFuZCB0aGUgb2Jq
ZWN0IGF0IGluZGV4ICppKzEqIHVzZSB0aGUgc2FtZSBsb2NrLiBQYWdlcyBjYW4gZHluYW1pY2Fs
bHkKKyAgc2VsZWN0IHdoaWNoIGxvY2sgdGhleSB1c2UgKHRoYW5rcyB0byBgcGFnZS0+bG9ja19w
dHJgKSwgYW5kIHRoZXkgc2VsZWN0IGl0IHNvIHRoYXQgcGFnZXMgYWxsb2NhdGVkIG91dCBvZiBi
eQorICBhIHRocmVhZCB0ZW5kIHRvIHNoYXJlIHRoZSBzYW1lIGxvY2ssIHNvIGRlYWxsb2NhdGlv
biBsb2cgZmx1c2ggdXN1YWxseSBvbmx5IGp1c3QgYWNxdWlyZXMgYSBsb2NrIGF0IHRoZSBzdGFy
dAorICBvZiB0aGUgMTAwMCBvYmplY3RzIGFuZCByZWxlYXNlcyBpdCB3aGVuIGl0IGZpbmlzaGVz
IHRoZSAxMDAwIG9iamVjdHMuCisKKyMjIyBUaGUgU2VncmVnYXRlZCBIZWFwCisKK1RoZSBgcGFz
X3NlZ3JlZ2F0ZWRfaGVhcGAgb2JqZWN0IGlzIHRoZSBwYXJ0IG9mIGBwYXNfaGVhcGAgdGhhdCBm
YWNpbGl0YXRlcyBzZWdyZWdhdGVkIGhlYXAgYW5kIGJpdGZpdCBoZWFwCithbGxvY2F0aW9uLiBU
aGUgZGV0YWlscyBvZiB0aGUgYml0Zml0IGhlYXAgYXJlIGRpc2N1c3NlZCBpbiBhIGxhdGVyIHNl
Y3Rpb24uIFNlZ3JlZ2F0ZWQgaGVhcHMgY2FuIGJlIGNyZWF0ZWQKK3NlcGFyYXRlbHkgZnJvbSBh
IGBwYXNfaGVhcGAsIGJ1dCBzZWdyZWdhdGVkIGhlYXBzIGFyZSBhbG1vc3QgYWx3YXlzIHBhcnQg
b2YgYSBgcGFzX2hlYXBgIChhbmQgaXQgd291bGQgYmUgZWFzeQordG8gcmVmYWN0b3IgbGlicGFz
IHRvIG1ha2UgaXQgc28gdGhhdCBzZWdyZWdhdGVkIGhlYXBzIGFyZSBhbHdheXMgcGFydCBvZiBo
ZWFwcykuCisKK1NlZ3JlZ2F0ZWQgaGVhcHMgdXNlICpzaXplIGRpcmVjdG9yaWVzKiB0byB0cmFj
ayBhY3R1YWwgbWVtb3J5LiBNb3N0IG9mIHRoZSBleGNpdGluZyBhY3Rpb24gb2YgYWxsb2NhdGlv
biBhbmQKK2RlYWxsb2NhdGlvbiBoYXBwZW5zIGluIGRpcmVjdG9yaWVzLiBFYWNoIGRpcmVjdG9y
eSBjb3JyZXNwb25kcyB0byBzb21lIHNpemUgY2xhc3MuIFNlZ3JlZ2F0ZWQgaGVhcHMgbWFrZSBp
dAorZWFzeSB0byBmaW5kIHRoZSBkaXJlY3RvcnkgZm9yIGEgcGFydGljdWxhciBzaXplLiBUaGV5
IGFsc28gbWFrZSBpdCBlYXN5IHRvIGl0ZXJhdGUgb3ZlciBhbGwgdGhlIGRpcmVjdG9yaWVzLgor
QWxzbywgc2VncmVnYXRlZCBoZWFwcyBtYWtlIGl0IGVhc3kgdG8gZmluZCB0aGUgYWxsb2NhdG9y
IGluZGV4IGZvciBhIHBhcnRpY3VsYXIgc2l6ZSAodXNpbmcgYSBsb29rdXAgdGFibGUgdGhhdAor
aXMgZXNzZW50aWFsbHkgYSBjYWNoZSBvZiB3aGF0IHlvdSB3b3VsZCBnZXQgaWYgeW91IGFza2Vk
IGZvciB0aGUgZGlyZWN0b3J5IHVzaW5nIHRoZSBzaXplLXRvLWRpcmVjdG9yeSBsb29rdXAKK3Rh
YmxlcyBhbmQgdGhlbiBhc2tlZCB0aGUgZGlyZWN0b3J5IGZvciB0aGUgYWxsb2NhdG9yIGluZGV4
KS4gVGhlIG1vc3QgZXhjaXRpbmcgcGFydCBvZiB0aGUgc2VncmVnYXRlZCBoZWFwCithbGdvcml0
aG0gaXMgYHBhc19zZWdyZWdhdGVkX2hlYXBfZW5zdXJlX3NpemVfZGlyZWN0b3J5X2Zvcl9zaXpl
YCwgd2hpY2ggZGVjaWRlcyB3aGF0IHRvIGRvIGFib3V0IGFsbG9jYXRpbmcgYQorc2l6ZSBpdCBo
YWRuJ3QgZW5jb3VudGVyZWQgYmVmb3JlLiBUaGlzIGFsZ29yaXRobSB3aWxsIGVpdGhlciByZXR1
cm4gYW4gZXhpc3RpbmcgZGlyZWN0b3J5LCBjcmVhdGUgYSBuZXcgb25lLCBvcgorZXZlbiByZXRp
cmUgYW4gZXhpc3Rpbmcgb25lLiBJdCBoYW5kbGVzIGFsbCBvZiB0aGUgaXNzdWVzIHJlbGF0ZWQg
dG8gdHlwZSBzaXplLCB0eXBlIGFsaWdubWVudCwgYW5kIHRoZQorYWxpZ25tZW50IGFyZ3VtZW50
IHRvIHRoZSBjdXJyZW50IG1hbGxvYyBjYWxsLgorCitUaGUgbG9va3VwIHRhYmxlcyBtYWludGFp
bmVkIGJ5IHNlZ3JlZ2F0ZWQgaGVhcHMgaGF2ZSBzb21lIGludGVyZXN0aW5nIHByb3BlcnRpZXM6
CisKKy0gVGhleSBjYW4gYmUgZGVjb21taXR0ZWQgYW5kIHJlbWF0ZXJpYWxpemVkLiBUaGlzIGlz
IGEgdXNlZnVsIHNwYWNlIHNhdmluZyB3aGVuIGhhdmluZyBsb3RzIG9mIGlzb2hlYXBzLiBUaGUK
KyAgcmVtYXRlcmlhbGl6YXRpb24gaGFwcGVucyBiZWNhdXNlIGEgaGVhcCBhbHNvIG1haW50YWlu
cyBhIGxpbmtlZCBsaXN0IG9mIGRpcmVjdG9yaWVzLCBhbmQgdGhhdCBsaW5rZWQgbGlzdAorICBu
ZXZlciBnb2VzIGF3YXkuIEVhY2ggZGlyZWN0b3J5IGluIHRoZSBsaW5rZWQgbGlzdCBrbm93cyB3
aGF0IGl0cyByZXByZXNlbnRhdGlvbiB3b3VsZCBoYXZlIGJlZW4gaW4gdGhlIGxvb2t1cAorICB0
YWJsZXMuCistIFRoZXkgYXJlIG9wdGlvbmFsLiBTb21lIGhlYXBzIGNhbiBiZSBjb25maWd1cmVk
IHRvIGhhdmUgYSBwcmVmZXJyZWQgc2l6ZSwgY2FsbGVkIHRoZSAqYmFzaWMgc2l6ZSBjbGFzcyou
IFRoaXMKKyAgaXMgdmVyeSBjb21tb24gZm9yIGlzb2hlYXBzLCB3aGljaCBtYXkgb25seSBldmVy
IGFsbG9jYXRlIGEgc2luZ2xlIHNpemUuIEZvciBpc29oZWFwcyBiYXNlZCBvbiB0eXBlLCB0aGUK
KyAgYmFzaWMgc2l6ZSBjbGFzcyBpcyBqdXN0IHRoYXQgdHlwZSdzIHNpemUuIE90aGVyIGlzb2hl
YXBzIGR5bmFtaWNhbGx5IGluZmVyIGEgcHJlZmVycmVkIHNpemUgYmFzZWQgb24gdGhlCisgIGZp
cnN0IGFsbG9jYXRpb24uIFdoZW4gYSBoZWFwIG9ubHkgaGFzIHRoZSBiYXNpYyBzaXplIGNsYXNz
LCBpdCB3aWxsIGhhdmUgbm8gbG9va3VwIHRhYmxlcy4KKy0gVGhlcmUgYXJlIHNlcGFyYXRlIGxv
b2t1cCB0YWJsZXMgZm9yIHNtYWxsZXIgc2l6ZXMgKG5vdCByZWxhdGVkIHRvIHRoZSBzbWFsbF9z
ZWdyZWdhdGVkX2NvbmZpZyAtLSB0aGUKKyAgdGhyZXNob2xkIGlzIHNldCBzZXBhcmF0ZWx5KSBh
cmUganVzdCBhcnJheXMgd2hvc2UgaW5kZXggaXMgdGhlIHNpemUgZGl2aWRlZCBieSB0aGUgaGVh
cCdzIG1pbmFsaWduLCByb3VuZGVkCisgIHVwLiBUaGVzZSBtYXkgYmUgcG9wdWxhdGVkIHVuZGVy
IGhlYXAgbG9jayB3aGlsZSB0aGV5IGFyZSBhY2Nlc3NlZCB3aXRob3V0IGFueSBsb2Nrcy4gU28s
IGFjY2Vzc2VzIHRvIHRoZW0KKyAgaGF2ZSBzb21lIGd1YXJkcyBhZ2FpbnN0IHJhY2VzLgorLSBU
aGVyZSBhcmUgc2VwYXJhdGUgbG9va3VwIHRhYmxlcyBmb3IgbWVkaXVtIHNpemVzIChhbnl0aGlu
ZyBhYm92ZSB0aGUgdGhyZXNob2xkIGZvciBzbWFsbCBsb29rdXAgdGFibGVzKS4KKyAgVGhlIG1l
ZGl1bSB0YWJsZSBpcyBhIHNvcnRlZCBhcnJheSB0aGF0IHRoZSBhbGxvY2F0b3IgYmluYXJ5LXNl
YXJjaGVzLiBJdCBtYXkgYmUgbXV0YXRlZCwgZGVjb21taXR0ZWQsCisgIHJlbWF0ZXJpYWxpemVk
LCBvciByZWFsbG9jYXRlZCB1bmRlciBoZWFwIGxvY2suIFRoZSBhbGdvcml0aG0gZGVmZW5kcyBp
dHNlbGYgYWdhaW5zdCB0aGlzIHdpdGggYSBidW5jaCBvZgorICBjb21waWxlciBmZW5jZXMsIGEg
bXV0YXRpb24gY291bnQgY2hlY2suIE11dGF0aW5nIHRoZSB0YWJsZSBtZWFucyBpbmNyZW1lbnRp
bmctdG8tbXV0YXRlIGJlZm9yZSBtYWtpbmcgY2hhbmdlcworICBhbmQgaW5jcmVtZW50aW5nLXRv
LWZpbmlzaCBhZnRlciBtYWtpbmcgY2hhbmdlcy4gU28sIHRoZSBhbGdvcml0aG0gZm9yIGxvY2st
ZnJlZSBsb29rdXAgY2hlY2tzIG11dGF0aW9uIGNvdW50CisgIGJlZm9yZSBhbmQgYWZ0ZXIsIGFu
ZCBtYWtlcyBzdXJlIHRoZXkgYXJlIHRoZSBzYW1lIGFuZCBuZWl0aGVyIGluZGljYXRlcyB0aGF0
IHdlIGFyZSBtdXRhdGluZy4gVGhpcyBpbnZvbHZlcworICBjbGV2ZXIgdXNlIG9mIGRlcGVuZGVu
Y3kgdGhyZWFkaW5nIChsaWtlIHRoZSBBUk02NCBlb3Itc2VsZiB0cmljaykgdG8gbWFrZSBzdXJl
IHRoYXQgdGhlIG11dGF0aW9uIGNvdW50IHJlYWRzCisgIHJlYWxseSBoYXBwZW4gYmVmb3JlIGFu
ZCBhZnRlciB0aGUgYmluYXJ5IHNlYXJjaC4KKworIyMjIFNlZ3JlZ2F0ZWQgRGlyZWN0b3JpZXMK
KworTXVjaCBvZiB0aGUgYWN0aW9uIG9mIG1hbmFnaW5nIG1lbW9yeSBpbiBhIHNlZ3JlZ2F0ZWQg
aGVhcCBoYXBwZW5zIGluIHRoZSBzZWdyZWdhdGVkIGRpcmVjdG9yaWVzLiBUaGVyZSBhcmUgdHdv
CitraW5kczoKKworLSBTZWdyZWdhdGVkIHNpemUgZGlyZWN0b3JpZXMsIHdoaWNoIHRyYWNrIHRo
ZSB2aWV3cyBiZWxvbmdpbmcgdG8gc29tZSBzaXplIGNsYXNzIGluIHNvbWUgaGVhcC4gVGhlc2Ug
bWF5IGJlCisgICpleGNsdXNpdmUgdmlld3MqLCB3aGljaCBvd24gYSBwYWdlLCBvciAqcGFydGlh
bCB2aWV3cyosIHdoaWNoIG93biBwYXJ0IG9mIGEgKnNoYXJlZCBwYWdlKi4gUGFydGlhbCB2aWV3
cworICByYW5nZSBpbiBzaXplIGJldHdlZW4ganVzdCBiZWxvdyA1MTIgYnl0ZXMgdG8gcG9zc2li
bHkgYSB3aG9sZSBwYWdlIChpbiByYXJlIGNhc2VzKS4KKy0gU2VncmVnYXRlZCBzaGFyZWQgcGFn
ZSBkaXJlY3Rvcmllcywgd2hpY2ggdHJhY2sgKnNoYXJlZCB2aWV3cyouIEVhY2ggc2hhcmVkIHZp
ZXcgdHJhY2tzIHNoYXJlZCBwYWdlIGFuZCB3aGljaAorICBwYXJ0aWFsIHZpZXdzIGJlbG9uZyB0
byBpdC4gSG93ZXZlciwgd2hlbiBhIHNoYXJlZCBwYWdlIGlzIGRlY29tbWl0dGVkLCB0byBzYXZl
IHNwYWNlLCB0aGUgc2hhcmVkIHZpZXcgd2lsbAorICBmb3JnZXQgd2hpY2ggcGFydGlhbCB2aWV3
cyBiZWxvbmcgdG8gaXQ7IHRoZXkgd2lsbCByZS1yZWdpc3RlciB0aGVtc2VsdmVzIHRoZSBmaXJz
dCB0aW1lIHNvbWVvbmUgYWxsb2NhdGVzIGluCisgIHRoZW0uCisKK0JvdGggb2YgdGhlbSByZWx5
IG9uIHRoZSBzYW1lIGJhc2ljIHN0YXRlLCB0aG91Z2ggdGhleSB1c2UgaXQgYSBiaXQgZGlmZmVy
ZW50bHk6CisKKy0gQSBsb2NrLWZyZWUtYWNjZXNzIHZlY3RvciBvZiBjb21wYWN0IHZpZXcgcG9p
bnRlcnMuIFRoZXNlIGFyZSA0LWJ5dGUgcG9pbnRlcnMuIFRoaXMgaXMgcG9zc2libGUgYmVjYXVz
ZSB2aWV3cworICBhcmUgYWx3YXlzIGFsbG9jYXRlZCBvdXQgb2YgdGhlIGNvbXBhY3QgcmVzZXJ2
YXRpb24gKHRoZXkgYXJlIHVzdWFsbHkgYWxsb2NhdGVkIGluIHRoZSBpbW1vcnRhbAorICBoZWFw
KS4gVGhpcyB2ZWN0b3IgbWF5IGJlIGFwcGVuZGVkIHRvLCBidXQgZXhpc3RpbmcgZW50cmllcyBh
cmUgaW1tdXRhYmxlLiBTbywgcmVzaXppbmcganVzdCBhdm9pZHMgZGVsZXRpbmcKKyAgdGhlIHNt
YWxsZXItc2l6ZWQgdmVjdG9ycyBzbyB0aGF0IHRoZXkgbWF5IHN0aWxsIGJlIGFjY2Vzc2VkIGlu
IGNhc2Ugb2YgYSByYWNlLgorLSBBIGxvY2stZnJlZS1hY2Nlc3Mgc2VnbWVudGVkIHZlY3RvciBv
ZiBiaXR2ZWN0b3JzLiBUaGVyZSBhcmUgdHdvIGJpdHZlY3RvcnMsIGFuZCB3ZSBpbnRlcmxlYXZl
IHRoZWlyIDMyLWJpdAorICB3b3JkcyBvZiBiaXRzLiBUaGUgKmVsaWdpYmlsZSogYml0dmVjdG9y
IHRlbGxzIHVzIHdoaWNoIHZpZXdzIG1heSBiZSBhbGxvY2F0ZWQgb3V0IG9mLiBUaGlzIG1lYW5z
IGRpZmZlcmVudAorICB0aGluZ3MgZm9yIHNpemUgZGlyZWN0b3JpZXMgdGhhbiBzaGFyZWQgcGFn
ZSBkaXJlY3Rvcmllcy4gRm9yIHNpemUgZGlyZWN0b3JpZXMsIHRoZXNlIGFyZSB0aGUgdmlld3Mg
dGhhdCBoYXZlCisgIHNvbWUgZnJlZSBtZW1vcnkgYW5kIG5vYm9keSBpcyBjdXJyZW50bHkgZG9p
bmcgYW55dGhpbmcgd2l0aCB0aGVtLiBGb3Igc2hhcmVkIHBhZ2UgZGlyZWN0b3JpZXMsIHRoZXNl
IGFyZSB0aGUKKyAgc2hhcmVkIHBhZ2VzIHRoYXQgaGF2ZW4ndCB5ZXQgYmVlbiBmdWxseSBjbGFp
bWVkIGJ5IHBhcnRpYWwgdmlld3MuIFRoZSAqZW1wdHkqIGJpdHZlY3RvciB0ZWxscyB1cyB3aGlj
aCBwYWdlcworICBhcmUgZnVsbHkgZW1wdHkgYW5kIGNhbiBiZSBkZWNvbW1pdHRlZC4gSXQncyBu
ZXZlciBzZXQgZm9yIHBhcnRpYWwgdmlld3MuIEl0IG1lYW5zIHRoZSBzYW1lIHRoaW5nIGZvciBi
b3RoCisgIGV4Y2x1c2l2ZSB2aWV3cyBpbiBzaXplIGRpcmVjdG9yaWVzIGFuZCBzaGFyZWQgdmll
d3MgaW4gc2hhcmVkIHBhZ2UgZGlyZWN0b3JpZXMuCisKK0JvdGggYml0dmVjdG9ycyBhcmUgc2Vh
cmNoZWQgaW4gb3JkZXI6CisKKy0gRWxpZ2libGUgYml0dmVjdG9ycyBhcmUgc2VhcmNoZWQgZmly
c3QtZml0LgorLSBFbXB0eSBiaXR2ZWN0b3JzIGFyZSBzZWFyY2hlZCBsYXN0LWZpdC4KKworU2Vh
cmNoZXMgYXJlIG1hZGUgZmFzdCBiZWNhdXNlIHRoZSBkaXJlY3RvcnkgdXNlcyB0aGUgbG9jay1m
cmVlIHRyaWNrcyBvZiBgcGFzX3ZlcnNpb25lZF9maWVsZGAgdG8gbWFpbnRhaW4gdHdvCitpbmRp
Y2VzOgorCistIEEgZmlyc3QtZWxpZ2libGUgaW5kZXguIFRoaXMgYWx3YXlzIHBvaW50cyB0byB0
aGUgZmlyc3QgZWxpZ2libGUgYml0LCBleGNlcHQgaW4gY2FzZXMgd2hlcmUgc29tZSB0aHJlYWQg
aGFzCisgIHNldCB0aGUgYml0IGJ1dCBoYXNuJ3QgZ290dGVuIGFyb3VuZCB0byBzZXR0aW5nIHRo
ZSBmaXJzdC1lbGlnaWJsZSBpbmRleC4gSW4gb3RoZXIgd29yZHMsIHRoaXMgbWF5IGhhdmUgc29t
ZQorICBsYWcsIGJ1dCB0aGUgbGFnIGlzIGJvdW5kZWQuCistIEEgbGFzdC1lbXB0eS1wbHVzLW9u
ZSBpbmRleC4gVGhpcyBhbHdheXMgcG9pbnRzIHRvIHRoZSBpbmRleCByaWdodCBhZnRlciB0aGUg
bGFzdCBlbXB0eSBiaXQuIElmIGl0J3MgemVybywgaXQKKyAgbWVhbnMgdGhlcmUgYXJlIG5vIHNl
dCBlbXB0eSBiaXRzLiBJZiBpdCdzIHRoZSBudW1iZXIgb2Ygdmlld3MsIHRoZW4gaXQgbWVhbnMg
dGhlIGxhc3QgdmlldyBpcyBlbXB0eSBmb3Igc3VyZQorICBhbmQgdGhlcmUgbWF5IGJlIGFueSBu
dW1iZXIgb2Ygb3RoZXIgZW1wdHkgdmlld3MuCisKK1RoZXNlIHZlcnNpb25lZCBpbmRpY2VzIGNh
biBiZSByZWFkIHdpdGhvdXQgYW55IGF0b21pYyBpbnN0cnVjdGlvbnMgaW4gbWFueSBjYXNlcywg
dGhvdWdoIG1vc3QgbXV0YXRpb25zIHRvIHRoZW0KK3JlcXVpcmUgYSBwYWlyIG9mIDEyOC1iaXQg
Y29tcGFyZS1hbmQtc3dhcHMuCisKK1RoZSBlbGlnaWJsZSBiaXR2ZWN0b3IgdG9nZXRoZXIgd2l0
aCB0aGUgZmlyc3QtZWxpZ2libGUgaW5kZXggYWxsb3cgZm9yIHZlcnkgZmFzdCBzZWFyY2hlcyB0
byBmaW5kIHRoZSBmaXJzdAorZWxpZ2libGUgdmlldy4gQml0dmVjdG9yIHNlYXJjaGVzIGFyZSBm
YXN0IHRvIGJlZ2luIHdpdGgsIGV2ZW4gb3ZlciBhIHNlZ21lbnRlZCB2ZWN0b3IsIHNpbmNlIHRo
ZSBzZWdtZW50ZWQKK3ZlY3RvciBoYXMgbGFyZ2UtZW5vdWdoIGNodW5rcy4gRXZlbiBzZWFyY2hp
bmcgdGhlIHdob2xlIGJpdHZlY3RvciBpcyBxdWl0ZSBlZmZpY2llbnQgYmVjYXVzZSBvZiB0aGUg
cHJvcGVydGllcworb2YgYml0dmVjdG9yIHNpbWQgKGkuZS4gdXNpbmcgYSAzMi1iaXQgb3IgNjQt
Yml0IG9yIHdoYXRldmVyLWJpdCB3b3JkIHRvIGhvbGQgdGhhdCBtYW55IGJpdHMpLiBCdXQgdGhl
CitmaXJzdC1lbGlnaWJsZSBpbmRleCBtZWFucyB0aGF0IG1vc3Qgc2VhcmNoZXMgbmV2ZXIgZ28g
cGFzdCB3aGVyZSB0aGF0IGluZGV4IHBvaW50cywgc28gd2UgZ2V0IGEgbW9zdGx5LU8oMSkKK2Jl
aGF2aW9yIHdoZW4gd2UgZG8gaGF2ZSB0byBmaW5kIHRoZSBmaXJzdCBlbGlnaWJsZSB2aWV3Lgor
CitUaGUgZW1wdHkgYml0dmVjdG9yIGdpdmVzIGEgc2ltaWxhciBwcm9wZXJ0eSBmb3IgdGhlIHNj
YXZlbmdlciwgd2hpY2ggc2VhcmNoZXMgYmFja3dhcmRzIHRvIGZpbmQgZW1wdHkgdmlld3MuCitU
aGUgZWZmaWNpZW5jeSBoZXJlIGFyaXNlcyBmcm9tIHRoZSBmYWN0IHRoYXQgZW1wdHkgcGFnZXMg
a25vdyB0aGUgdGltZXN0YW1wIG9mIHdoZW4gdGhleSBiZWNhbWUgZW1wdHksIGFuZCB0aGUKK3Nj
YXZlbmdlciB3aWxsIHRlcm1pbmF0ZSBpdHMgYmFja3dhcmRzIHNlYXJjaCB3aGVuIGl0IGZpbmRz
IGEgdG9vLXJlY2VudGx5IGVtcHRpZWQgcGFnZS4KKworRGlyZWN0b3JpZXMgaGF2ZSB0byBtYWtl
IHNvbWUgY2hvaWNlcyBhYm91dCBob3cgdG8gYWRkIHZpZXdzLiBWaWV3IGFkZGl0aW9uIGhhcHBl
bnMgdW5kZXIgaGVhcCBsb2NrIGFuZCBtdXN0IGJlCitpbiB0aGlzIG9yZGVyOgorCistIEZpcnN0
IHdlIG1ha2Ugc3VyZSB0aGF0IHRoZSBiaXR2ZWN0b3JzIGhhdmUgZW5vdWdoIHJvb20gZm9yIGEg
Yml0IGF0IHRoZSBuZXcgaW5kZXguIFRoZSBhbGdvcml0aG0gcmVsaWVzIG9uCisgIHRoZSBzaXpl
IG9mIHRoZSB2aWV3IHZlY3RvciB0ZWxsaW5nIHVzIGhvdyBtYW55IHZpZXdzIHRoZXJlIGFyZSwg
c28gaXQncyBmaW5lIGZvciB0aGUgYml0dmVjdG9ycyBhcmUgdG9vIGJpZworICBmb3IgYSBtb21l
bnQuIFRoZSBzZWdtZW50ZWQgdmVjdG9yIGFsZ29yaXRobSB1c2VkIGZvciB0aGUgYml0dmVjdG9y
cyByZXF1aXJlcyBhcHBlbmRpbmcgdG8gaGFwcGVuIHVuZGVyIGhlYXAKKyAgbG9jayBidXQgaXQg
Y2FuIHJ1biBjb25jdXJyZW50bHkgdG8gYWNjZXNzZXMgdG8gdGhlIHZlY3Rvci4gSXQgYWNjb21w
bGlzaGVzIHRoaXMgYnkgbmV2ZXIgZGVhbGxvY2F0aW5nIHRoZQorICB0b28tc21hbGwgdmVjdG9y
IHNwaW5lcy4KKy0gVGhlbiB3ZSBhcHBlbmQgdGhlIHRoZSB2aWV3IHRvIHRoZSB2aWV3IHZlY3Rv
ciwgcG9zc2libHkgcmVhbGxvY2F0aW5nIHRoZSB2aWV3IHZlY3Rvci4gUmVhbGxvY2F0aW9uIGtl
ZXBzIHRoZQorICBvbGQgdHdvLXNtYWxsIGNvcHkgb2YgdGhlIHZlY3RvciBhcm91bmQsIGFsbG93
aW5nIGNvbmN1cnJlbnQgcmVhZHMgdG8gdGhlIHZlY3Rvci4gVGhlIHZlY3RvciBhcHBlbmQgc3Rv
cmVzIHRoZQorICB2YWx1ZSwgZXhlY3V0ZXMgYW4gYWNxcmVsIGZlbmNlIChwcm9iYWJseSBvdmVy
a2lsbCAtLSBwcm9iYWJseSBjb3VsZCBqdXN0IGJlIGEgc3RvcmUgZmVuY2UpLCBhbmQgdGhlbgor
ICBpbmNyZW1lbnRzIHRoZSBzaXplLiBUaGlzIGVuc3VyZXMgbm9ib2R5IHNlZXMgdGhlIHZpZXcg
dW50aWwgd2UgYXJlIHJlYWR5LgorCitEaXJlY3RvcmllcyBqdXN0IGNob29zZSB3aGF0IGtpbmQg
b2YgdmlldyB0aGV5IHdpbGwgY3JlYXRlIGFuZCB0aGVuIGNyZWF0ZSBhbiBlbXB0eSBmb3JtIG9m
IHRoYXQgdmlldy4gU28sIHJpZ2h0CithdCB0aGUgcG9pbnQgd2hlcmUgdGhlIHZlY3RvciBhcHBl
bmQgaGFwcGVucywgdGhlIHZpZXcgd2lsbCByZXBvcnQgaXRzZWxmIGFzIG5vdCB5ZXQgYmVpbmcg
aW5pdGlhbGl6ZWQuIEhvd2V2ZXIsCithbnkgdGhyZWFkIGNhbiBpbml0aWFsaXplIGFuIGVtcHR5
IHZpZXcuIFRoZSBub3JtYWwgZmxvdyBvZiBhbGxvY2F0aW9uIG1lYW5zIGFza2luZyBhIHZpZXcg
dG8gInN0YXJ0CithbGxvY2F0aW5nIi4gVGhpcyBhY3R1YWxseSBoYXBwZW5zIGluIHR3byBzdGVw
cyAoYHdpbGxfc3RhcnRfYWxsb2NhdGluZ2AgYW5kIGBkaWRfc3RhcnRfYWxsb2NhdGluZ2ApLiBU
aGUKK3dpbGwtc3RhcnQgc3RlcCBjaGVja3MgaWYgdGhlIHZpZXcgbmVlZHMgdG8gY29tbWl0IGl0
cyBtZW1vcnksIHdoaWNoIHdpbGwgY2F1c2UgZW1wdHkgZXhjbHVzaXZlIHZpZXdzIHRvCithbGxv
Y2F0ZSBhIHBhZ2UuIEVtcHR5IHBhcnRpYWwgdmlld3MgZ2V0IHB1dCBpbnRvIHRoZSAqcGFydGlh
bCBwcmltb3JkaWFsKiBzdGF0ZSB3aGVyZSB0aGV5IGdyYWIgdGhlaXIgZmlyc3QKK2NodW5rIG9m
IG1lbW9yeSBmcm9tIHNvbWUgc2hhcmVkIHZpZXcgYW5kIHByZXBhcmUgdG8gcG9zc2libHkgZ3Jh
YiBtb3JlIGNodW5rcyBvZiB0aGF0IHNoYXJlZCB2aWV3LCBkZXBlbmRpbmcgb24KK2RlbWFuZC4g
QnV0IGFsbCBvZiB0aGlzIGhhcHBlbnMgYWZ0ZXIgdGhlIGRpcmVjdG9yeSBoYXMgY3JlYXRlZCB0
aGUgdmlldyBhbmQgYXBwZW5kZWQgaXQuIFRoaXMgbWVhbnMgdGhhdCB0aGVyZQoraXMgZXZlbiB0
aGUgcG9zc2liaWxpdHkgdGhhdCBvbmUgdGhyZWFkIGNyZWF0ZXMgYSB2aWV3LCBidXQgdGhlbiBz
b21lIG90aGVyIHRocmVhZCB0YWtlcyBpdCByaWdodCBhZnRlciBpdCB3YXMKK2FwcGVuZGVkLiBJ
biB0aGF0IGNhc2UsIHRoZSBmaXJzdCB0aHJlYWQgd2lsbCBsb29wIGFyb3VuZCBhbmQgdHJ5IGFn
YWluLCBtYXliZSBmaW5kaW5nIHNvbWUgb3RoZXIgdmlldyB0aGF0IGhhZAorYmVlbiBtYWRlIGVs
aWdpYmxlIGluIHRoZSBtZWFudGltZSwgb3IgYWdhaW5zdCBhcHBlbmRpbmcgYW5vdGhlciBuZXcg
dmlldy4KKworU2l6ZSBkaXJlY3RvcmllcyBtYWludGFpbiBhZGRpdGlvbmFsIHN0YXRlIHRvIG1h
a2UgcGFnZSBtYW5hZ2VtZW50IGVhc3kgYW5kIHRvIGFjY2VsZXJhdGUgYWxsb2NhdGlvbi4KKwor
U2l6ZSBkaXJlY3RvcmllcyB0aGF0IGhhdmUgZW5hYmxlZCBleGNsdXNpdmUgdmlld3MgaGF2ZSBh
IGBmdWxsX2FsbG9jX2JpdHNgIHZlY3RvciB0aGF0IGhhcyBiaXRzIHNldCBmb3IgdGhvc2UKK2lu
ZGljZXMgaW4gdGhlaXIgcGFnZXMgd2hlcmUgYW4gb2JqZWN0IG1pZ2h0IHN0YXJ0LiBQYWdlcyB1
c2UgYml0dmVjdG9ycyBpbmRleGVkIGJ5IG1pbmFsaWduLCBhbmQgb25seSBzZXQgdGhvc2UKK2Jp
dHMgdGhhdCBjb3JyZXNwb25kIHRvIHZhbGlkIG9iamVjdCBvZmZzZXRzLiBUaGUgYGZ1bGxfYWxs
b2NfYml0c2AgdmVjdG9yIGlzIHRoZSBtYWluIHdheSB0aGF0IGRpcmVjdG9yaWVzIHRlbGwKK3do
ZXJlIG9iamVjdHMgY291bGQgcG9zc2libHkgYmUgaW4gdGhlIHBhZ2UuIFRoZSBvdGhlciB3YXkg
dGhleSB0ZWxsIGlzIHdpdGgKK2BvZmZzZXRfZnJvbV9wYWdlX2JvdW5kYXJ5X3RvX2ZpcnN0X29i
amVjdGAgYW5kIGBvZmZzZXRfZnJvbV9wYWdlX2JvdW5kYXJ5X3RvX2VuZF9vZl9sYXN0X29iamVj
dGAsIGJ1dCB0aGUKK2FsZ29yaXRobSByZWxpZXMgb24gdGhvc2UgYSBiaXQgbGVzcy4KKworU2l6
ZSBkaXJlY3RvcmllcyBjYW4gdGVsbCBpZiB0aGV5IGhhdmUgYmVlbiBhc3NpZ25lZCBhbiBhbGxv
Y2F0b3IgaW5kZXggb3IgYSB2aWV3IGNhY2hlIGluZGV4LCBhbmQgY29udHJvbCB0aGUKK3BvbGlj
aWVzIG9mIHdoZW4gdGhleSBnZXQgdGhlbS4gQSBkaXJlY3Rvcnkgd2l0aG91dCBhbiBhbGxvY2F0
b3IgaW5kZXggd2lsbCBhbGxvY2F0ZSBvdXQgb2YgKmJhc2VsaW5lCithbGxvY2F0b3JzKiwgd2hp
Y2ggYXJlIHNoYXJlZCBieSBhbGwgdGhyZWFkcy4gSGF2aW5nIGFuIGFsbG9jYXRvciBpbmRleCBp
bXBsaWVzIHRoYXQgdGhlIGFsbG9jYXRvciBpbmRleCBoYXMKK2Fsc28gYmVlbiBzdG9yZWQgaW4g
dGhlIHJpZ2h0IHBsYWNlcyBpbiB0aGUgaGVhcCdzIGxvb2t1cCB0YWJsZXMuIEhhdmluZyBhIHZp
ZXcgY2FjaGUgaW5kZXggbWVhbnMgdGhhdAorZGVhbGxvY2F0aW9uIHdpbGwgcHV0IGVsaWdpYmxl
IHBhZ2VzIG9uIHRoZSB2aWV3IGNhY2hlIGJlZm9yZSBtYXJraW5nIHRoZW0gZWxpZ2libGUgaW4g
dGhlIGRpcmVjdG9yeS4KKworIyMjIFBhZ2UgQm91bmRhcmllcywgSGVhZGVycyBhbmQgQWxsb2Mg
Qml0cworCisiUGFnZXMiIGluIHRoZSBzZWdyZWdhdGVkIGhlYXAgYXJlIGEgY29uZmlndXJhYmxl
IGNvbmNlcHQuIFRoaW5ncyBsaWtlIHRoZWlyIHNpemUgYW5kIHdoZXJlIHRoZWlyIGhlYWRlciBs
aXZlcworY2FuIGJlIGNvbmZpZ3VyZWQgYnkgdGhlIGBwYXNfc2VncmVnYXRlZF9wYWdlX2NvbmZp
Z2Agb2YgdGhlaXIgZGlyZWN0b3J5LiBUaGUgY29uZmlnIGNhbiB0ZWxsIHdoaWNoIHBhcnRzIG9m
Cit0aGUgcGFnZSBhcmUgdXNhYmxlIGFzIG9iamVjdCBwYXlsb2FkLCBhbmQgdGhleSBjYW4gcHJv
dmlkZSBjYWxsYmFja3MgZm9yIGZpbmRpbmcgdGhlIHBhZ2UgaGVhZGVyLgorCitUaGUgcGFnZSBo
ZWFkZXIgY29udGFpbnM6CisKKy0gVGhlIHBhZ2UncyBraW5kLiBUaGUgc2VncmVnYXRlZCBwYWdl
IGhlYWRlciBpcyBhIHN1YnR5cGUgb2YgdGhlIGBwYXNfcGFnZV9iYXNlYCwgYW5kIHdlIHN1cHBv
cnQgc2FmZWx5CisgIGRvd25jYXN0aW5nIGZyb20gYHBhc19wYWdlX2Jhc2UqYCB0byBgcGFzX3Nl
Z3JlZ2F0ZWRfcGFnZSpgLiBIYXZpbmcgdGhlIGtpbmQgaGVscHMgd2l0aCB0aGlzLgorLSBXaGV0
aGVyIHRoZSBwYWdlIGlzIGluIHVzZSBmb3IgYWxsb2NhdGlvbiByaWdodCBub3cuIFRoaXMgZmll
bGQgaXMgb25seSBmb3IgZXhjbHVzaXZlIHZpZXdzLiBBbGxvY2F0aW9uIGluCisgIGV4Y2x1c2l2
ZSBwYWdlcyBjYW4gb25seSBoYXBwZW4gd2hlbiBzb21lIGxvY2FsIGFsbG9jYXRvciBjbGFpbXMg
YSBwYWdlLiBGb3Igc2hhcmVkIHBhZ2VzLCB0aGlzIGJpdCBpcyBpbgorICBlYWNoIG9mIHRoZSB0
aGUgcGFydGlhbCB2aWV3cy4KKy0gV2hldGhlciB3ZSBoYXZlIGZyZWVkIGFuIG9iamVjdCBpbiB0
aGUgcGFnZSB3aGlsZSBhbHNvIGFsbG9jYXRpbmcgaW4gaXQuIFRoaXMgZmllbGQgaXMgb25seSBm
b3IgZXhjbHVzaXZlCisgIHZpZXdzLiBXaGVuIHdlIGZpbmlzaCBhbGxvY2F0aW5nLCBhbmQgdGhl
IGJpdCBpcyBzZXQsIHdlIGRvIHRoZSBlbGlnaWJpbGl0eSBzdHVmZiB3ZSB3b3VsZCBoYXZlIGRv
bmUgaWYgd2UgaGFkCisgIGZyZWVkIG9iamVjdHMgd2l0aG91dCB0aGUgcGFnZSBiZWluZyB1c2Vk
IGZvciBhbGxvY2F0aW9uLiBGb3Igc2hhcmVkIHBhZ2VzLCB0aGlzIGJpdCBpcyBpbiBlYWNoIG9m
IHRoZSBwYXJ0aWFsCisgIHZpZXdzLgorLSBUaGUgc2l6ZXMgb2Ygb2JqZWN0cyB0aGF0IHRoZSBw
YWdlIG1hbmFnZXMuIEFnYWluLCB0aGlzIGlzIG9ubHkgdXNlZCBmb3IgZXhjbHVzaXZlIHZpZXdz
LiBGb3Igc2hhcmVkIHBhZ2VzLAorICBlYWNoIHBhcnRpYWwgdmlldyBtYXkgaGF2ZSBhIGRpZmZl
cmVudCBzaXplIGRpcmVjdG9yeSwgYW5kIHRoZSBzaXplIGRpcmVjdG9yeSB0ZWxscyB0aGUgb2Jq
ZWN0IHNpemUuIEl0J3MgYWxzbworICBwb3NzaWJsZSB0byBnZXQgdGhlIG9iamVjdCBzaXplIGJ5
IGFza2luZyB0aGUgZXhjbHVzaXZlIHZpZXcgZm9yIGl0cyBzaXplIGRpcmVjdG9yeSwgYW5kIHlv
dSB3aWxsIGdldCB0aGUgc2FtZQorICBhbnN3ZXIgYXMgaWYgeW91IGhhZCBhc2tlZCB0aGUgcGFn
ZSBpbiB0aGF0IGNhc2UuCistIEEgcG9pbnRlciB0byB0aGUgbG9jayB0aGF0IHRoZSBwYWdlIHVz
ZXMuIFBhZ2VzIGFyZSBsb2NrZWQgdXNpbmcgYSBraW5kIG9mIGxvY2tpbmcgZGFuY2U6IHlvdSBs
b2FkIHRoZQorICBgcGFnZS0+bG9ja19wdHJgLCBsb2NrIHRoYXQgbG9jaywgYW5kIHRoZW4gY2hl
Y2sgaWYgYHBhZ2UtPmxvY2tfcHRyYCBzdGlsbCBwb2ludHMgYXQgdGhlIGxvY2sgeW91IHRyaWVk
LgorICBBbnlvbmUgd2hvIGhvbGRzIGJvdGggdGhlIGN1cnJlbnQgbG9jayBhbmQgc29tZSBvdGhl
ciBsb2NrIGNhbiBjaGFuZ2UgYHBhZ2UtPmxvY2tfcHRyYCB0byB0aGUgb3RoZXIgbG9jay4KKyAg
Rm9yIHNoYXJlZCBwYWdlcywgdGhlIGBsb2NrX3B0cmAgYWx3YXlzIHBvaW50cyBhdCB0aGUgc2hh
cmVkIHZpZXcncyBvd25lcnNoaXAgbG9jay4gRm9yIGV4Y2x1c2l2ZSB2aWV3cywgdGhlCisgIGxp
YnBhcyBhbGxvY2F0b3Igd2lsbCBjaGFuZ2UgdGhlIGxvY2sgb2YgYSBwYWdlIHRvIGJlIHRoZSBs
b2NrIGFzc29jaWF0ZWQgd2l0aCB0aGVpciBUTEMuIElmIGNvbnRlbnRpb24KKyAgb24gYHBhZ2Ut
PmxvY2tfcHRyYCBoYXBwZW5zLCB0aGVuIHdlIGNoYW5nZSB0aGUgbG9jayBiYWNrIHRvIHRoZSB2
aWV3J3Mgb3duZXJzaGlwIGxvY2suIFRoaXMgbWVhbnMgdGhhdCBpbgorICB0aGUgY29tbW9uIGNh
c2UsIGZsdXNoaW5nIHRoZSBkZWFsbG9jYXRpb24gbG9nIHdpbGwgZW5jb3VudGVyIHBhZ2UgYWZ0
ZXIgcGFnZSB0aGF0IHdhbnRzIHRvIGhvbGQgdGhlIHNhbWUKKyAgbG9jayAtLSB1c3VhbGx5IHRo
ZSBUTEMgbG9jay4gVGhpcyBhbGxvd3MgdGhlIGRlYWxsb2NhdGlvbiBsb2cgZmx1c2ggdG8gb25s
eSBkbyBhIGhhbmRmdWwgb2YgbG9jayBhY3F1aXNpdGlvbnMKKyAgZm9yIGRlYWxsb2NhdGluZyB0
aG91c2FuZHMgb2Ygb2JqZWN0cy4KKy0gVGhlIHRpbWVzdGFtcCBvZiB3aGVuIHRoZSBwYWdlIGJl
Y2FtZSBlbXB0eSwgdXNpbmcgYSB1bml0IG9mIHRpbWUgbGlicGFzIGNhbGxzICplcG9jaCouCist
IFRoZSB2aWV3IHRoYXQgb3ducyB0aGUgcGFnZS4gVGhpcyBpcyBlaXRoZXIgYW4gZXhjbHVzaXZl
IHZpZXcgb3IgYSAqc2hhcmVkIGhhbmRsZSosIHdoaWNoIGlzIHRoZSBwYXJ0IG9mIHRoZQorICBz
aGFyZWQgdmlldyB0aGF0IGdldHMgZGVhbGxvY2F0ZWQgZm9yIGRlY29tbWl0dGVkIHBhZ2VzLiBO
b3RlOiBhbiBvYnZpb3VzIGltcHJvdmVtZW50IGlzIGlmIHNoYXJlZCBoYW5kbGVzCisgIHdlcmUg
YWN0dWFsbHkgcGFydCBvZiB0aGUgcGFnZSBoZWFkZXI7IHRoZXkgYXJlbid0IG9ubHkgYmVjYXVz
ZSB1bnRpbCByZWNlbnRseSwgdGhlIHBhZ2UgaGVhZGVyIHNpemUgaGFkIHRvIGJlCisgIHRoZSBz
YW1lIGZvciBleGNsdXNpdmUgYW5kIHNoYXJlZCBwYWdlcy4KKy0gVmlldyBjYWNoZSBpbmRleCwg
aWYgdGhlIGRpcmVjdG9yeSBlbmFibGVkIHZpZXcgY2FjaGluZy4gVGhpcyBhbGxvd3MgZGVhbGxv
Y2F0aW9uIHRvIHF1aWNrbHkgZmluZCBvdXQgd2hpY2gKKyAgdmlldyBjYWNoZSB0byB1c2UuCist
IFRoZSBhbGxvYyBiaXRzLgorLSBUaGUgbnVtYmVyIG9mIDMyLWJpdCBhbGxvYyBiaXQgd29yZHMg
dGhhdCBhcmUgbm90IGVtcHR5LgorLSBPcHRpb25hbGx5LCB0aGUgZ3JhbnVsZSB1c2UgY291bnRz
LiBJdCdzIHBvc3NpYmxlIGZvciB0aGUgcGFnZSBjb25maWcgdG8gc2F5IHRoYXQgdGhlIHBhZ2Ug
c2l6ZSBpcyBsYXJnZXIgdGhhbgorICB0aGUgc3lzdGVtIHBhZ2Ugc2l6ZSwgYnV0IHRoYXQgdGhl
IHBhZ2UgaXMgZGl2aWRlZCB1cCBpbnRvICpncmFudWxlcyogd2hpY2ggYXJlIHN5c3RlbSBwYWdl
IHNpemUuIEluIHRoYXQKKyAgY2FzZSwgdGhlIHBhZ2UgaGVhZGVyIHdpbGwgaGF2ZSBhbiBhcnJh
eSBvZiAxLWJ5dGUgdXNlIGNvdW50cyBwZXIgZ3JhbnVsZSwgd2hpY2ggY291bnQgdGhlIG51bWJl
ciBvZiBvYmplY3RzCisgIGluIHRoYXQgZ3JhbnVsZS4gVGhleSBhbHNvIHRyYWNrIGEgc3BlY2lh
bCBzdGF0ZSB3aGVuIHRoZSBncmFudWxlIGlzIGRlY29tbWl0dGVkLiBUaGUgbWVkaXVtX3NlZ3Jl
Z2F0ZWRfY29uZmlnCisgIHVzZXMgdGhpcyB0byBvZmZlciBmaW5lLWdyYWluZWQgZGVjb21taXQg
b2YgMTI4S0IgInBhZ2VzIi4KKworQ3VycmVudGx5IHdlIGhhdmUgdHdvIHdheXMgb2YgcGxhY2lu
ZyB0aGUgcGFnZSBoZWFkZXI6IGVpdGhlciBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBwYWdlLCBv
ciB3aGF0IHdlIGNhbGwKK3RoZSBwYWdlIGJvdW5kYXJ5LCBvciBpbiBhbiBvYmplY3QgYWxsb2Nh
dGVkIGluIHRoZSB1dGlsaXR5IGhlYXAuIEluIHRoZSBsYXR0ZXIgY2FzZSwgd2UgdXNlIHRoZQor
bW9zdGx5LWxvY2stZnJlZSBwYWdlIGhlYWRlciB0YWJsZSB0byBtYXAgYmV0d2VlbiB0aGUgcGFn
ZSBib3VuZGFyeSBhbmQgcGFnZSBoZWFkZXIsIG9yIHZpY2UtdmVyc2EuIFRoZSBwYWdlCitjb25m
aWcgaGFzIGNhbGxiYWNrcyB0aGF0IGFsbG93IGVpdGhlciBhcHByb2FjaC4gSSd2ZSBhbHNvIHVz
ZWQgcGFnZSBjb25maWcgaGFja2luZyB0byBhdHRlbXB0IG90aGVyIGtpbmRzIG9mCitzdHJhdGVn
aWVzLCBsaWtlIHNheWluZyB0aGF0IGV2ZXJ5IGFsaWduZWQgMTZNQiBjaHVuayBvZiBwYWdlcyBo
YXMgYW4gYXJyYXkgb2YgcGFnZSBoZWFkZXJzIGF0IHRoZSBzdGFydCBvZiBpdDsKK2J1dCB0aG9z
ZSB3ZXJlbid0IGFueSBiZXR0ZXIgdGhhbiBlaXRoZXIgb2YgdGhlIHR3byBjdXJyZW50IGFwcHJv
YWNoZXMuCisKK1RoZSBtb3N0IGltcG9ydGFudCBwYXJ0IG9mIHRoZSBwYWdlIGhlYWRlciBpcyB0
aGUgYWxsb2MgYml0cyBhcnJheSBhbmQgdGhlIGBudW1fbm9uX2VtcHR5X3dvcmRzYCBjb3VudGVy
LiBUaGlzCitpcyB3aGVyZSBtb3N0IG9mIHRoZSBhY3Rpb24gb2YgYWxsb2NhdGluZyBhbmQgZGVh
bGxvY2F0aW5nIGhhcHBlbnMuIFRoZSBtYWdpYyBvZiB0aGUgYWxnb3JpdGhtIGFyaXNlcyBmcm9t
IHRoZQorc2ltcGxlIGJpdHZlY3RvciBvcGVyYXRpb25zIHdlIGNhbiBwZXJmb3JtIG9uIGBwYWdl
LT5hbGxvY19iaXRzYCwgYGZ1bGxfYWxsb2NfYml0c2AgKGZyb20gdGhlIHNpemUKK2RpcmVjdG9y
eSBpbiBjYXNlIG9mIGV4Y2x1c2l2ZSBwYWdlcyBvciBmcm9tIHRoZSBwYXJ0aWFsIHZpZXcgaW4g
Y2FzZSBvZiBzaGFyZWQgcGFnZXMpLCBhbmQgdGhlCitgYWxsb2NhdG9yLT5iaXRzYC4gVGhlc2Ug
b3BlcmF0aW9ucyBhbGxvdyB1cyB0byBhY2hpZXZlIG1vc3Qgb2YgdGhlIGFsZ29yaXRobToKKwor
LSBEZWFsbG9jYXRpb24gY2xlYXJzIGEgYml0IGluIGBwYWdlLT5hbGxvY19iaXRzYCBhbmQgaWYg
dGhpcyByZXN1bHRzIGluIHRoZSB3b3JkIGJlY29taW5nIHplcm8sIGl0IGRlY3JlbWVudHMKKyAg
dGhlIGBudW1fbm9uX2VtcHR5X3dvcmRzYC4gVGhlIGJpdCBpbmRleCBpcyBqdXN0IHRoZSBvYmpl
Y3QncyBvZmZzZXQgc2hpZnRlZCBieSB0aGUgcGFnZSBjb25maWcncworICBgbWluX2FsaWdoX3No
aWZ0YCwgd2hpY2ggaXMgYSBjb21waWxlLXRpbWUgY29uc3RhbnQgaW4gbW9zdCBvZiB0aGUgYWxn
b3JpdGhtLiBJZiB0aGUgYWxnb3JpdGhtIG1ha2VzIGFueSBiaXQKKyAgKGZvciBwYXJ0aWFscykg
b3IgYW55IHdvcmQgKGZvciBleGNsdXNpdmVzKSBlbXB0eSwgaXQgbWFrZXMgdGhlIHBhZ2UgZWxp
Z2libGUgKGVpdGhlciBieSBwdXR0aW5nIGl0IG9uIGEgdmlldworICBjYWNoZSBvciBtYXJraW5n
IHRoZSB2aWV3IGVsaWdpYmxlIGluIGl0cyBvd25pbmcgZGlyZWN0b3J5KS4gSWYgYG51bV9ub25f
ZW1wdHlfd29yZHNgIGhpdHMgemVybywgdGhlCisgIGRlYWxsb2NhdG9yIGFsc28gbWFrZXMgdGhl
IHZpZXcgZW1wdHkuCistIEFsbG9jYXRpb24gZG9lcyBhIGZpbmQtZmlyc3Qtc2V0LWJpdCBvbiB0
aGUgYGFsbG9jYXRvci0+Yml0c2AsIGJ1dCBpbiBhIHZlcnkgZWZmaWNpZW50IHdheSwgYmVjYXVz
ZSB0aGUKKyAgY3VycmVudCA2NC1iaXQgd29yZCBvZiBiaXRzIHRoYXQgdGhlIGFsbG9jYXRvciBp
cyBvbiBpcyBjYWNoZWQgaW4gYGFsbG9jYXRvci0+Y3VycmVudF93b3JkYCAtLSBzbyBhbGxvY2F0
aW9uCisgIHJhcmVseSBzZWFyY2hlcyBhbiBhcnJheS4gU28sIHRoZSBhbGxvY2F0b3IganVzdCBs
b2FkcyB0aGUgY3VycmVudCB3b3JkLCBkb2VzIGEgYGN0emAgb3IgYGNsemAga2luZCBvZgorICBv
cGVyYXRpb24gKHdoaWNoIGlzIHN1cGVyIGNoZWFwIG9uIG1vZGVybiBDUFVzKSwgbGVmdC1zaGlm
dHMgdGhlIHJlc3VsdCBieSB0aGUgcGFnZSBjb25maWcncyBtaW5hbGlnbiwgYW5kCisgIGFkZHMg
dGhlIGBhbGxvY2F0b3ItPnBhZ2VfaXNoYCAodGhlIGFkZHJlc3MgaW4gbWVtb3J5IGNvcnJlc3Bv
bmRpbmcgdG8gdGhlIGZpcnN0IGJpdCBpbiBgY3VycmVudF93b3JkYCkuCisgIFRoYXQncyB0aGUg
YWxsb2NhdG9yIGZhc3QgcGF0aC4KKy0gV2UgcHJlcGFyZSBgYWxsb2NhdG9yLT5iaXRzYCBieSBi
YXNpY2FsbHkgc2F5aW5nIGBhbGxvY2F0b3ItPmJpdHMgPSBmdWxsX2FsbG9jX2JpdHMgJiB+cGFn
ZS0+YWxsb2NfYml0c2AuIFRoaXMKKyAgaXMgYSBsb29wIHNpbmNlIGVhY2ggb2YgdGhlIGBiaXRz
YCBpcyBhbiBhcnJheSBvZiB3b3JkcyBvZiBiaXRzIGFuZCBlYWNoIGFycmF5IGlzIHRoZSBzYW1l
IHNpemUuIEZvciBhIDE2Mzg0CisgIHNpemUgcGFnZSAodGhlIGRlZmF1bHQgZm9yIGBzbWFsbF9z
ZWdyZWdhdGVkX2NvbmZpZ2ApIGFuZCBhIG1pbmFsaWduIHNoaWZ0IG9mIDQgKHNvIG1pbmFsaWdu
ID0gMTYsIHRoZSBkZWZhdWx0CisgIGZvciBgc21hbGxfc2VncmVnYXRlZF9jb25maWdgKSwgdGhp
cyBtZWFucyAxMDI0IGJpdHMsIG9yIDMyIDMyLWJpdCB3b3Jkcywgb3IgMTI4IGJ5dGVzLiBUaGUg
bG9vcCBvdmVyIHRoZSAzMgorICAzMi1iaXQgd29yZHMgaXMgdXN1YWxseSBmdWxseSB1bnJvbGxl
ZCBieSB0aGUgY29tcGlsZXIuIFRoZXJlIGFyZSBubyBsb29wLWNhcnJpZWQgZGVwZW5kZW5jaWVz
LiBUaGlzIGxvb3AKKyAgc2hvd3MgdXAgaW4gcHJvZmlsZXMsIGFuZCB0aG91Z2ggSSd2ZSB0cmll
ZCB0byBtYWtlIGl0IGZhc3RlciwgSSd2ZSBuZXZlciBzdWNjZWVkZWQuCisKKyMjIyBMb2NhbCBB
bGxvY2F0b3JzCisKK0VhY2ggc2l6ZSBkaXJlY3RvcnkgY2FuIGNob29zZSB0byB1c2UgZWl0aGVy
IGJhc2VsaW5lIGFsbG9jYXRvcnMgb3IgVExDIGxvY2FsIGFsbG9jYXRvcnMgZm9yIGFsbG9jYXRp
b24uIEVhY2gKK3NpemUgZGlyZWN0b3J5IGNhbiBjaG9vc2UgdG8gaGF2ZSBhIGxvY2FsIHZpZXcg
Y2FjaGUgb3Igbm90LiBCYXNlbGluZSBhbGxvY2F0b3JzIGFyZSBqdXN0IGxvY2FsIGFsbG9jYXRv
cnMgdGhhdAorYXJlIGdsb2JhbCBhbmQgbm90IHBhcnQgb2YgYW55IFRMQyBhbmQgYWxsb2NhdGlv
biBuZWVkcyB0byBncmFiIGEgbG9jayB0byB1c2UgdGhlbS4gVExDIGxvY2FsIGFsbG9jYXRvcnMg
ZG9uJ3QKK3JlcXVpcmUgYW55IGxvY2tpbmcgdG8gZ2V0IGFjY2Vzc2VkLgorCitMb2NhbCBhbGxv
Y2F0b3JzIGNhbiBiZSBpbiBhbnkgb2YgdGhlc2UgbW9kZXM6CisKKy0gVGhleSBhcmUgdG90YWxs
eSB1bmluaXRpYWxpemVkLiBBbGwgZmFzdCBwYXRocyBmYWlsIGFuZCBzbG93IHBhdGhzIHdpbGwg
aW5pdGlhbGl6ZSB0aGUgbG9jYWwgYWxsb2NhdG9yIGJ5CisgIGFza2luZyB0aGUgVExDIGxheW91
dC4gVGhpcyBzdGF0ZSBoYXBwZW5zIGlmIFRMQyBkZWNvbW1pdCBjYXVzZXMgYSBsb2NhbCBhbGxv
Y2F0b3IgdG8gYmVjb21lIGFsbCB6ZXJvLgorLSBUaGV5IGFyZSBpbiBidW1wIGFsbG9jYXRpb24g
bW9kZS4gQnVtcCBhbGxvY2F0aW9uIGhhcHBlbnMgZWl0aGVyIHdoZW4gYSBsb2NhbCBhbGxvY2F0
b3IgZGVjaWRlcyB0byBhbGxvY2F0ZSBpbgorICBhIHRvdGFsbHkgZW1wdHkgZXhjbHVzaXZlIHBh
Z2UsIG9yIGZvciBwcmltb3JkaWFsIHBhcnRpYWwgYWxsb2NhdGlvbi4gSW4gdGhlIGZvcm1lciBj
YXNlLCBpdCdzIHdvcnRoIGFib3V0IDElCisgIHBlcmZvcm1hbmNlIHRvIHNvbWV0aW1lcyBidW1w
LWFsbG9jYXRlLiBJbiB0aGUgbGF0dGVyIGNhc2UsIHVzaW5nIGJ1bXAgYWxsb2NhdGlvbiBpcyBq
dXN0IGNvbnZlbmllbnQgLS0gdGhlCisgIHNsb3cgcGF0aCB3aWxsIGRlY2lkZSB0aGF0IHRoZSBw
YXJ0aWFsIHZpZXcgc2hvdWxkIGdldCBhIGNlcnRhaW4gcmFuZ2Ugb2YgbWVtb3J5IHdpdGhpbiBh
IHNoYXJlZCBwYWdlIGFuZCBpdAorICBrbm93cyB0aGF0IHRoaXMgbWVtb3J5IGhhcyBuZXZlciBi
ZWVuIHVzZWQgYmVmb3JlLCBzbyBpdCdzIG5hdHVyYWwgdG8ganVzdCBzZXQgdXAgYSBidW1wIHJh
bmdlIG92ZXIgdGhhdAorICBtZW1vcnkuCistIFRoZXkgYXJlIGluIGZyZWUgYml0cyBtb2RlLiBU
aGlzIGlzIHNsaWdodGx5IG1vcmUgY29tbW9uIHRoYW4gdGhlIGJ1bXAgbW9kZS4gSW4gdGhpcyBt
b2RlLCB0aGUKKyAgYGFsbG9jYXRvci0+Yml0c2AgaXMgY29tcHV0ZWQgdXNpbmcgYGZ1bGxfYWxs
b2NfYml0cyAmIH5wYWdlLT5hbGxvY19iaXRzYCBhbmQgY29udGFpbnMgYSBiaXQgZm9yIHRoZSBz
dGFydCBvZgorICBldmVyeSBmcmVlIG9iamVjdC4KKy0gVGhleSBhcmUgaW4gYml0Zml0IG1vZGUu
IEluIHRoaXMgbW9kZSwgdGhlIGFsbG9jYXRvciBqdXN0IGZvcndhcmRzIGFsbG9jYXRpb25zIHRv
IHRoZSBgcGFzX2JpdGZpdF9hbGxvY2F0b3JgLgorCitMb2NhbCBhbGxvY2F0b3JzIGNhbiBiZSAq
c3RvcHBlZCogYXQgYW55IHRpbWU7IHRoaXMgY2F1c2VzIHRoZW0gdG8ganVzdCByZXR1cm4gYWxs
IG9mIHRoZWlyIGZyZWUgbWVtb3J5IGJhY2sgdG8KK3RoZSBoZWFwLgorCitMb2NhbCBhbGxvY2F0
b3JzIGluIGEgVExDIGNhbiBiZSB1c2VkIHdpdGhvdXQgYW55IGNvbnZlbnRpb25hbCBsb2NraW5n
LiBIb3dldmVyLCB0aGVyZSBpcyBzdGlsbCBzeW5jaHJvbml6YXRpb24KK3Rha2luZyBwbGFjZSBi
ZWNhdXNlIHRoZSBzY2F2ZW5nZXIgaXMgYWxsb3dlZCB0byBzdG9wIGFsbG9jYXRvcnMuIFRvIHN1
cHBvcnQgdGhpcywgbG9jYWwgYWxsb2NhdG9ycyBzZXQgYW4KK2Bpbl91c2VgIGJpdCAobm90IGF0
b21pY2FsbHksIGJ1dCBwcm90ZWN0ZWQgYnkgYSBgcGFzX2NvbXBpbGVyX2ZlbmNlYCkgYmVmb3Jl
IHRoZXkgZG8gYW55IHdvcmsgYW5kIGNsZWFyIGl0IHdoZW4KK2RvbmUuIFRoZSBzY2F2ZW5nZXIg
dGhyZWFkIHdpbGwgc3VzcGVuZCB0aHJlYWRzIHRoYXQgaGF2ZSBUTENzIGFuZCB0aGVuIHdoaWxl
IHRoZSBUTEMgaXMgc3VzcGVuZGVkLCB0aGV5IGNhbgorc3RvcCBhbnkgYWxsb2NhdG9ycyB0aGF0
IGFyZSBub3QgYGluX3VzZWAuCisKKyMjIFRoZSBCaXRmaXQgSGVhcHMKKworTGlicGFzIGlzIHVz
dWFsbHkgdXNlZCB3aXRoIGEgY29tYmluYXRpb24gb2Ygc2VncmVnYXRlZCBhbmQgbGFyZ2UgaGVh
cHMuIEhvd2V2ZXIsIHNvbWV0aW1lcyB3ZSB3YW50IHRvIGhhdmUgYQoraGVhcCB0aGF0IGlzIG1v
cmUgc3BhY2UtZWZmaWNpZW50IHRoYW4gc2VncmVnYXRlZCBidXQgbm90IHF1aXRlIGFzIHNsb3cg
YXMgbGFyZ2UuIFRoZSBiaXRmaXQgaGVhcCBmb2xsb3dzIGEKK3NpbWlsYXIgc3R5bGUgdG8gc2Vn
cmVnYXRlZCwgYnV0OgorCistIFdoaWxlIGJpdGZpdCBoYXMgYSBiaXQgZm9yIGVhY2ggbWluYWxp
Z24gaW5kZXggbGlrZSBzZWdyZWdhdGVkLCBiaXRmaXQgYWN0dWFsbHkgdXNlcyBhbGwgb2YgdGhl
IGJpdHMuIFRvCisgIGFsbG9jYXRlIGFuIG9iamVjdCBpbiBiaXRmaXQsIGFsbCBvZiB0aGUgYml0
cyBjb3JyZXNwb25kaW5nIHRvIGFsbCBvZiB0aGUgbWluYWxpZ24gZ3JhbnVsZXMgdGhhdCB0aGUg
b2JqZWN0CisgIHdvdWxkIHVzZSBoYXZlIHRvIGJlIGZyZWUgYmVmb3JlIHRoZSBhbGxvY2F0aW9u
IGFuZCBoYXZlIHRvIGJlIG1hcmtlZCBhcyBub3QgZnJlZSBhZnRlciB0aGUgYWxsb2NhdGlvbi4K
KyAgRnJlZWluZyBoYXMgdG8gY2xlYXIgYWxsIG9mIHRoZSBiaXRzLgorLSBUaGUgc2FtZSBwYWdl
IGNhbiBoYXZlIG9iamVjdHMgb2YgYW55IHNpemUgYWxsb2NhdGVkIGluIGl0LiBGb3IgZXhhbXBs
ZSwgaWYgYSAxMDAgYnl0ZSBvYmplY3QgZ2V0cyBmcmVlZCwgdGhlbgorICBpdCdzIGxlZ2FsIHRv
IGFsbG9jYXRlIHR3byA1MCBieXRlIG9iamVjdHMgb3V0IG9mIHRoZSBmcmVlZCBzcGFjZSAoYXNz
dW1pbmcgNTAgaXMgYSBtdWx0aXBsZSBvZiBtaW5hbGlnbikuCistIEEgYml0Zml0IGRpcmVjdG9y
eSBkb2VzIG5vdCByZXByZXNlbnQgYSBzaXplIGNsYXNzLiBBIGJpdGZpdCBoZWFwIGhhcyBvbmUg
ZGlyZWN0b3J5IHBlciBiaXRmaXQgcGFnZSBjb25maWcKKyAgYW5kIGVhY2ggcGFnZSBjb25maWcg
c3VwcG9ydHMgYSBsYXJnZSByYW5nZSBvZiBzaXplcyAodGhlIGxhcmdlc3Qgb2JqZWN0IGlzIH4y
NTAgdGltZXMgbGFyZ2VyIHRoYW4gdGhlCisgIHNtYWxsZXN0KS4KKworQml0Zml0IHBhZ2VzIGhh
dmUgYGZyZWVfYml0c2AgYXMgd2VsbCBhcyBgb2JqZWN0X2VuZF9iaXRzYC4gVGhlIGBmcmVlX2Jp
dHNgIGluZGljYXRlcyBldmVyeSBtaW5hbGlnbiBncmFudWxlCit0aGF0IGlzIGZyZWUuIEZvciBu
b24tZnJlZSBncmFudWxlcywgdGhlIGBvYmplY3RfZW5kX2JpdHNgIGhhcyBhbiBlbnRyeSBmb3Ig
ZXZlcnkgZ3JhbnVsZSB0aGF0IGlzIHRoZSBsYXN0CitncmFudWxlIGluIHNvbWUgbGl2ZSBvYmpl
Y3QuIFRoZXNlIGJpdHMgZ2V0IHVzZWQgYXMgZm9sbG93czoKKworLSBUbyBhbGxvY2F0ZSwgd2Ug
ZmluZCB0aGUgZmlyc3Qgc2V0IGZyZWUgYml0IGFuZCB0aGVuIGZpbmQgdGhlIGZpcnN0IGNsZWFy
IGZyZWUgYml0IGFmdGVyIHRoYXQuIElmIHRoaXMgcmFuZ2UKKyAgaXMgYmlnIGVub3VnaCBmb3Ig
dGhlIGFsbG9jYXRpb24sIHdlIGNsZWFyIGFsbCBvZiB0aGUgZnJlZSBiaXRzIGFuZCBzZXQgdGhl
IG9iamVjdCBlbmQgYml0LiBJZiBpdCdzIG5vdCBiaWcKKyAgZW5vdWdoLCB3ZSBrZWVwIHNlYXJj
aGluZy4gV2UgZG8gc3BlY2lhbCB0aGluZ3MgKHNlZSBiZWxvdykgd2hlbiB3ZSBjYW5ub3QgYWxs
b2NhdGUgaW4gYSBwYWdlLgorLSBUbyBmcmVlLCB3ZSBmaW5kIHRoZSBmaXJzdCBzZXQgb2JqZWN0
IGVuZCBiaXQsIHdoaWNoIHRoZW4gZ2l2ZXMgdXMgdGhlIG9iamVjdCBzaXplLiBUaGVuIHdlIGNs
ZWFyIHRoZSBvYmplY3QKKyAgZW5kIGJpdCBhbmQgc2V0IHRoZSBmcmVlIGJpdHMuCisKK1RoaXMg
YmFzaWMgc3R5bGUgb2YgYWxsb2NhdGlvbiBpcyB1c3VhbGx5IGNhbGxlZCAqYml0bWFwKiBhbGxv
Y2F0aW9uLiBCaXRmaXQgaXMgYSBzcGVjaWFsIGtpbmQgb2YgYml0bWFwCithbGxvY2F0aW9uIHRo
YXQgbWFrZXMgaXQgY2hlYXAgdG8gZmluZCB0aGUgZmlyc3QgcGFnZSB0aGF0IGhhcyBlbm91Z2gg
c3BhY2UgZm9yIGFuIGFsbG9jYXRpb24gb2YgYSBnaXZlbiBzaXplLgorQml0Zml0IG1ha2VzIGFs
bG9jYXRpb24gZmFzdCBldmVuIHdoZW4gaXQgaXMgbWFuYWdpbmcgbG90cyBvZiBwYWdlcyBieSB1
c2luZyB0d28gdHJpY2tzOgorCistIEJpdGZpdCBkaXJlY3RvcmllcyBoYXZlIGFuIGFycmF5IG9m
IGJpdGZpdCB2aWV3cyBhbmQgYSBjb3JyZXNwb25kaW5nIGFycmF5IG9mIGBtYXhfZnJlZWAgYnl0
ZXMuIEJpdGZpdCB2aWV3cworICBhcmUgbW9ub21vcnBoaWMsIHVubGlrZSB0aGUgcG9seW1vcnBo
aWMgdmlld3Mgb2Ygc2VncmVnYXRlZCBoZWFwcy4gRWFjaCBiaXRmaXQgdmlldyBpcyBlaXRoZXIg
dW5pbml0aWFsaXplZCBvcgorICBoYXMgYSBiaXRmaXQgcGFnZS4gQSBgbWF4X2ZyZWVgIGJ5dGUg
Zm9yIGEgcGFnZSB0ZWxscyB0aGUgbWF4aW11bSBmcmVlIG9iamVjdCBzaXplIGluIHRoYXQgcGFn
ZS4gU28sIGluIHRoZQorICB3b3JzdCBjYXNlLCB3ZSBzZWFyY2ggdGhlIGBtYXhfZnJlZWAgdmVj
dG9yIHRvIGZpbmQgdGhlIGZpbmQgYnl0ZSB0aGF0IGlzIGxhcmdlIGVub3VnaCBmb3Igb3VyIGFs
bG9jYXRpb24uCistIEJpdGZpdCB1c2VzIHNpemUgY2xhc3NlcyB0byBzaG9ydC1jaXJjdWl0IHRo
ZSBzZWFyY2guIEJpdGZpdCBsZXZlcmFnZXMgc2VncmVnYXRlZCBoZWFwcyB0byBjcmVhdGUgc2l6
ZQorICBjbGFzc2VzLiBTZWdyZWdhdGVkIHNpemUgZGlyZWN0b3JpZXMgY2hvb3NlIGF0IGNyZWF0
aW9uIHRpbWUgaWYgdGhleSB3YW50IHRvIHN1cHBvcnQgc2VncmVnYXRlZCBhbGxvY2F0aW9uIG9y
CisgIGJpdGZpdCBhbGxvY2F0aW9uLiBJZiB0aGUgbGF0dGVyLCB0aGUgZGlyZWN0b3J5IGlzIGp1
c3QgdXNlZCBhcyBhIHdheSBvZiBsb2NhdGluZyB0aGUgYml0Zml0IHNpemUgY2xhc3MuIExpa2UK
KyAgd2l0aCBzZWdyZWdhdGVkLCBlYWNoIGxvY2FsIGFsbG9jYXRvciBpcyBhc3NvY2lhdGVkIHdp
dGggYSBzZWdyZWdhdGVkIHNpemUgZGlyZWN0b3J5LCBldmVuIGlmIGl0J3MgYSBsb2NhbAorICBh
bGxvY2F0b3IgY29uZmlndXJlZCBmb3IgYml0Zml0LiBFYWNoIHNpemUgY2xhc3MgbWFpbnRhaW5z
IHRoZSBpbmRleCBvZiB0aGUgZmlyc3Qgdmlldy9wYWdlIGluIHRoZSBkaXJlY3RvcnkKKyAgdGhh
dCBoYXMgYSBmcmVlIG9iamVjdCBiaWcgZW5vdWdoIGZvciB0aGF0IHNpemUgY2xhc3MuCisKK1Ro
ZSB1cGRhdGVzIHRvIGBtYXhfZnJlZWAgYW5kIHRoZSBzaG9ydC1jaXJjdWl0aW5nIGluZGljZXMg
aW4gc2l6ZSBjbGFzc2VzIGhhcHBlbiB3aGVuIGFuIGFsbG9jYXRpb24gZmFpbHMgaW4KK2EgcGFn
ZS4gVGhpcyBpcyBhbiBpZGVhbCB0aW1lIHRvIHNldCB0aG9zZSBpbmRpY2VzIHNpbmNlIGZhaWx1
cmUgdG8gYWxsb2NhdGUgaGFwcGVucyB0byBhbHNvIHRlbGwgeW91IHRoZSBzaXplCitvZiB0aGUg
bGFyZ2VzdCBmcmVlIG9iamVjdCBpbiB0aGUgcGFnZS4KKworV2hlbiBhbnkgb2JqZWN0IGlzIGZy
ZWVkIGluIGEgcGFnZSwgd2UgbWFyayB0aGUgcGFnZSBhcyBoYXZpbmcgYFBBU19CSVRGSVRfTUFY
X0ZSRUVfVU5QUk9DRVNTRURgIGFuZCByYXRoZXIgdGhhbgorc2V0dGluZyBhbnkgc2hvcnQtY2ly
Y3VpdGluZyBpbmRpY2VzIGluIHNpemUgY2xhc3Nlcywgd2UganVzdCBzZXQgdGhlIGBmaXJzdF91
bnByb2Nlc3NlZF9mcmVlYCBpbmRleCBpbiB0aGUKK2BwYXNfYml0Zml0X2RpcmVjdG9yeWAuIEFs
bG9jYXRpb24gd2lsbCBzdGFydCBpdHMgc2VhcmNoIGZyb20gdGhlIG1pbmltdW0gb2YgYGRpcmVj
dG9yeS0+Zmlyc3RfdW5wcm9jZXNzZWRfZnJlZWAKK2FuZCBgc2l6ZV9jbGFzcy0+Zmlyc3RfZnJl
ZWAuIEFsbCBvZiB0aGVzZSBzaG9ydC1jaXJjdWl0aW5nIGluZGljZXMgdXNlIGBwYXNfdmVyc2lv
bmVkX2ZpZWxkYCBqdXN0IGxpa2UgaG93CitzaG9ydC1jaXJjdWl0aW5nIHdvcmtzIGluIHNlZ3Jl
Z2F0ZWQgZGlyZWN0b3JpZXMuCisKK0JpdGZpdCBoZWFwcyB1c2UgZmluZS1ncmFpbmVkIGxvY2tp
bmcgaW4gdGhlIHNlbnNlIHRoYXQgZWFjaCB2aWV3IGhhcyBpdHMgb3duIGxvY2tzLiBCdXQsIHRo
ZXJlJ3Mgbm8gYXR0ZW1wdAorbWFkZSB0byBoYXZlIGRpZmZlcmVudCB0aHJlYWRzIGF2b2lkIGFs
bG9jYXRpbmcgaW4gdGhlIHNhbWUgcGFnZXMuIEFkZGluZyBzb21ldGhpbmcgbGlrZSB2aWV3IGNh
Y2hlcyB0byB0aGUKK2JpdGZpdCBoZWFwIGlzIGxpa2VseSB0byBtYWtlIGl0IG11Y2ggZmFzdGVy
LiBZb3UgY291bGQgZXZlbiBpbWFnaW5lIHRoYXQgcmF0aGVyIHRoYW4gaGF2aW5nIHRoZQorYGRp
cmVjdG9yeS0+Zmlyc3RfdW5wcm9jZXNzZWRfZnJlZWAsIHdlIGluc3RlYWQgaGF2ZSBmcmVlaW5n
IGluIGEgcGFnZSBwdXQgdGhlIHBhZ2UncyB2aWV3IG9udG8gYSBsb2NhbCB2aWV3CitjYWNoZSBm
b3IgdGhhdCBiaXRmaXQgZGlyZWN0b3J5LCBhbmQgdGhlbiB3ZSBhbGxvY2F0ZSBvdXQgb2YgdGhl
IHZpZXcgY2FjaGUgdW50aWwgaXQncyBlbXB0eS4gRmFpbHVyZSB0bworYWxsb2NhdGUgaW4gYSBw
YWdlIGluIHRoZSB2aWV3IGNhY2hlIHdpbGwgdGhlbiB0ZWxsIHVzIHRoZSBgbWF4X2ZyZWVgLCB3
aGljaCB3aWxsIGFsbG93IHVzIHRvIG1hcmsgdGhlIHZpZXcKK2VsaWdpYmxlIGluIHRoZSBkaXJl
Y3RvcnkuCisKKyMjIFRoZSBTY2F2ZW5nZXIKKworTGlicGFzIHJldHVybnMgbWVtb3J5IHRvIHRo
ZSBPUyBieSBtYWR2aXNpbmcgaXQuIFRoaXMgbWFrZXMgc2Vuc2UgZm9yIGEgbWFsbG9jIHRoYXQg
aXMgdHJ5aW5nIHRvIGdpdmUgc3Ryb25nCit0eXBlIGd1YXJhbnRlZXMuIElmIHdlIHVubWFwcGVk
IG1lbW9yeSwgdGhlbiB0aGUgbWVtb3J5IGNvdWxkIGJlIHVzZWQgZm9yIHNvbWUgdG90YWxseSB1
bnJlbGF0ZWQgdHlwZSBpbiB0aGUKK2Z1dHVyZS4gQnV0IGJ5IGp1c3QgZGVjb21taXR0aW5nIHRo
ZSBtZW1vcnksIHdlIGdldCB0aGUgbWVtb3J5IHNhdmluZ3MgZnJvbSBmcmVlIHBhZ2VzIG9mIG1l
bW9yeSBhbmQgd2UgYWxzbworZ2V0IHRvIHByZXNlcnZlIHR5cGUgc2FmZXR5LgorCitUaGUgbWFk
dmlzZSBzeXN0ZW0gY2FsbCAtLSBhbmQgbGlrZWx5IGFueSBtZWNoYW5pc20gZm9yIHNheWluZyAi
dGhpcyBwYWdlIGlzIGVtcHR5IiAtLSBpcyBleHBlbnNpdmUgZW5vdWdoIHRoYXQKK2l0IGRvZXNu
J3QgbWFrZSBzZW5zZSB0byBkbyBpdCBhbnl0aW1lIGEgcGFnZSBiZWNvbWVzIGVtcHR5LiBQYWdl
cyBvZnRlbiBiZWNvbWUgZW1wdHkgb25seSB0byByZWZpbGwgYWdhaW4uIEluCitmYWN0LCBsYXN0
IHRpbWUgSSBtZWFzdXJlZCBpdCwganVzdCBhYm91dCBoYWxmIG9mIGFsbG9jYXRpb25zIHdlbnQg
ZG93biB0aGUgYnVtcCBhbGxvY2F0aW9uIHBhdGggYW5kIChleGNlcHQgZm9yCithdCBzdGFydC11
cCkgdGhhdCBwYXRoIGlzIGZvciBjb21wbGV0ZWx5IGVtcHR5IHBhZ2VzLiBTbywgbGlicGFzIGhh
cyBtZWNoYW5pc21zIGZvciBzdGFzaGluZyB0aGUgaW5mb3JtYXRpb24KK3RoYXQgYSBwYWdlIGhh
cyBiZWNvbWUgZW1wdHkgYW5kIHRoZW4gaGF2aW5nIGEgKnNjYXZlbmdlciB0aHJlYWQqIHJldHVy
biB0aGF0IG1lbW9yeSB0byB0aGUgT1Mgd2l0aCBhbiBtYWR2aXNlCitjYWxsIChvciB3aGF0ZXZl
ciBtZWNoYW5pc20pLiBUaGUgc2NhdmVuZ2VyIHRocmVhZCBpcyBieSBkZWZhdWx0IGNvbmZpZ3Vy
ZWQgdG8gcnVuIGV2ZXJ5IDEwMG1zLCBidXQgd2lsbCBzaHV0CitpdHNlbGYgZG93biBpZiB3ZSBo
YXZlIGEgcGVyaW9kIG9mIG5vbi11c2UuIEF0IGVhY2ggdGljaywgaXQgcmV0dXJucyBhbGwgZW1w
dHkgcGFnZXMgdGhhdCBoYXZlIGJlZW4gZW1wdHkgZm9yCitzb21lIGxlbmd0aCBvZiB0aW1lIChj
dXJyZW50bHkgMzAwbXMpLiBUaG9zZSB0d28gdGhyZXNob2xkcyAtLSB0aGUgcGVyaW9kIGFuZCB0
aGUgdGFyZ2V0IGFnZSBmb3IgZGVjb21taXQgLS0gYXJlCitpbmRlcGVuZGVudGx5IGNvbmZpZ3Vy
YWJsZSBhdCBpdCBtaWdodCBtYWtlIHNlbnNlIChmb3IgZGlmZmVyZW50IHJlYXNvbnMpIHRvIGhh
dmUgZWl0aGVyIG51bWJlciBiZSBiaWdnZXIgdGhhbgordGhlIG90aGVyIG51bWJlci4KKworVGhp
cyBzZWN0aW9uIGRlc2NyaWJlcyB0aGUgc2NhdmVuZ2luZyBhbGdvcml0aG0gaXMgZGV0YWlsLiBU
aGlzIGlzIGEgbGFyZ2UgZnJhY3Rpb24gb2Ygd2hhdCBtYWtlcyBsaWJwYXMgZmFzdAorYW5kIHNw
YWNlLWVmZmljaWVudC4gVGhlIGFsZ29yaXRobSBoYXMgc29tZSBjcmF6eSB0aGluZ3MgaW4gaXQg
dGhhdCBwcm9iYWJseSBkaWRuJ3Qgd29yayBvdXQgYXMgd2VsbCBhcyBJIHdhbnRlZAorYnV0IG5v
bmV0aGVsZXNzIHRob3NlIHRoaW5ncyBzZWVtIHRvIGF2b2lkIHNob3dpbmcgdXAgaW4gcHJvZmls
ZXMuIFRoYXQncyBzb3J0IG9mIHRoZSBvdXRjb21lIG9mIHRoaXMgYWxnb3JpdGhtCitiZWluZyB0
dW5lZCBhbmQgdHdpc3RlZCBzbyBtYW55IHRpbWVzIGR1cmluZyB0aGUgZGV2ZWxvcG1lbnQgb2Yg
dGhpcyBhbGxvY2F0b3IuIEZpcnN0IEknbGwgZGVzY3JpYmUgdGhlCisqZGVmZXJyZWQgZGVjb21t
aXQgbG9nKiwgd2hpY2ggaXMgaG93IHdlIGNvYWxlc2NlIG1hZHZpc2UgY2FsbHMuIFRoZW4gSSds
bCBkZXNjcmliZSB0aGUgKnBhZ2Ugc2hhcmluZyBwb29sKiwKK3doaWNoIGlzIGEgbWVjaGFuaXNt
IGZvciBtdWx0aXBsZSAqcGFydGljaXBhbnRzKiB0byByZXBvcnQgdGhhdCB0aGV5IGhhdmUgc29t
ZSBlbXB0eSBwYWdlcy4gVGhlbiBJJ2xsIGRlc2NyaWJlCitob3cgdGhlIGxhcmdlIGhlYXAgaW1w
bGVtZW50cyB0aGlzIHdpdGggdGhlIGxhcmdlIHNoYXJpbmcgcG9vbCwgd2hpY2ggaXMgb25lIG9m
IHRoZSBzaW5nbGV0b24gcGFydGljaXBhbnRzLiBUaGVuCitJJ2xsIGRlc2NyaWJlIHRoZSBzZWdy
ZWdhdGVkIGRpcmVjdG9yeSBwYXJ0aWNpcGFudHMgLS0gd2hpY2ggYXJlIGEgYml0IGRpZmZlcmVu
dCBmb3Igc2hhcmVkIHBhZ2UgZGlyZWN0b3JpZXMKK3ZlcnN1cyBzaXplIGRpcmVjdG9yaWVzLiBJ
J2xsIGFsc28gZGVzY3JpYmUgdGhlIGJpdGZpdCBkaXJlY3RvcnkgcGFydGljaXBhbnRzLCB3aGlj
aCBhcmUgcXVpdGUgY2xvc2UgdG8gdGhlaXIKK3NlZ3JlZ2F0ZWQgZGlyZWN0b3J5IGNvdXNpbnMu
IFRoZW4gSSdsbCBkZXNjcmliZSBzb21lIG9mIHRoZSB0aGluZ3MgdGhhdCB0aGUgc2NhdmVuZ2Vy
IGRvZXMgdGhhdCBhcmVuJ3QgdG8gZG8KK3dpdGggdGhlIHBhZ2Ugc2hhcmluZyBwb29sLCBsaWtl
IHN0b3BwaW5nIGJhc2VsaW5lIGFsbG9jYXRvcnMsIHN0b3BwaW5nIHV0aWxpdHkgaGVhcCBhbGxv
Y2F0b3JzLCBzdG9wcGluZworVExDIGFsbG9jYXRvcnMsIGZsdXNoaW5nIFRMQyBkZWFsbG9jYXRp
b24gbG9ncywgZGVjb21taXR0aW5nIHVudXNlZCBwYXJ0cyBvZiBUTENzLCBhbmQgZGVjb21taXR0
aW5nIGV4cGVuZGFibGUKK21lbW9yeS4KKworIyMjIERlZmVycmVkIERlY29tbWl0IExvZworCitM
aWJwYXMncyBkZWNvbW1pdCBhbGdvcml0aG0gY29hbGVzY2VzIG1hZHZpc2UgY2FsbHMgLS0gc28g
aWYgdHdvIGFkamFjZW50IHBhZ2VzLCBldmVuIGZyb20gdG90YWxseSB1bnJlbGF0ZWQKK2hlYXBz
LCBiZWNvbWUgZW1wdHksIHRoZW4gdGhlaXIgZGVjb21taXQgd2lsbCBiZSBwYXJ0IG9mIG9uZSBz
eXNjYWxsLiBUaGlzIGlzIGFjaGlldmVkIGJ5IGhhdmluZyBwbGFjZXMgaW4gdGhlCitjb2RlIHRo
YXQgd2FudCB0byBkZWNvbW1pdCBtZW1vcnkgaW5zdGVhZCBhZGQgdGhhdCBtZW1vcnkgdG8gYSBk
ZWZlcnJlZCBkZWNvbW1pdCBsb2cuIFRoaXMgbG9nIGludGVybmFsbHkgdXNlcworYSBtaW5oZWFw
IGJhc2VkIG9uIGFkZHJlc3MuIFRoZSBsb2cgYWxzbyBzdG9yZXMgd2hhdCBsb2NrIHdhcyBuZWVk
ZWQgdG8gZGVjb21taXQgdGhlIHJhbmdlLCBzaW5jZSB0aGUgZGVjb21taXQKK2FsZ29yaXRobSBy
ZWxpZXMgb24gZmluZS1ncmFpbmVkIGxvY2tpbmcgb2YgbWVtb3J5IHJhdGhlciB0aGFuIGhhdmlu
ZyBhIGdsb2JhbCBjb21taXQgbG9jay4gU28sIHdoZW4gdGhlCitzY2F2ZW5nZXIgYXNrcyB0aGUg
cGFnZSBzaGFyaW5nIHBvb2wgdG8gZ28gZmluZCBzb21lIG1lbW9yeSB0byBkZWNvbW1pdCwgaXQg
Z2l2ZXMgaXQgYSBkZWZlcnJlZCBkZWNvbW1pdCBsb2cuCitUaGUgcGFnZSBzaGFyaW5nIHBvb2wg
d2lsbCB1c3VhbGx5IHJldHVybiBhbGwgb2YgdGhlIGVtcHR5IHBhZ2VzIGluIG9uZSBnbywgc28g
dGhlIGRlZmVycmVkIGRlY29tbWl0IGxvZ3MgY2FuCitnZXQgc29tZXdoYXQgYmlnLiBUaGV5IGFy
ZSBhbGxvY2F0ZWQgb3V0IG9mIHRoZSBib290c3RyYXAgZnJlZSBoZWFwICh3aGljaCBpc24ndCB0
aGUgYmVzdCBpZGVhIGlmIHRoZXkgZXZlciBnZXQKK3ZlcnkgYmlnLCBzaW5jZSBib290c3RyYXAg
ZnJlZSBoZWFwIG1lbW9yeSBpcyBub3QgZGVjb21taXR0ZWQgLS0gYnV0IHJpZ2h0IG5vdyB0aGlz
IGlzIGNvbnZlbmllbnQgYmVjYXVzZSBmb3IKK2EgaGVhcCB0byBzdXBwb3J0IGRlY29tbWl0LCBp
dCBuZWVkcyB0byB0YWxrIHRvIGRlZmVycmVkIGRlY29tbWl0IGxvZ3MsIHNvIHdlIHdhbnQgdG8g
YXZvaWQgaW5maW5pdGUgcmVjdXJzaW9uKS4KK0FmdGVyIHRoZSBsb2cgaXMgZmlsbGVkIHVwLCB3
ZSBjYW4gZGVjb21taXQgZXZlcnl0aGluZyBpbiB0aGUgbG9nIGF0IG9uY2UuIFRoaXMgaW52b2x2
ZXMgaGVhcGlmeWluZyB0aGUgYXJyYXkKK2FuZCB0aGVuIHNjYW5uaW5nIGl0IGJhY2t3YXJkcyB3
aGlsZSBkZXRlY3RpbmcgYWRqYWNlbnQgcmFuZ2VzLiBUaGlzIGlzIHRoZSBsb29wIHRoYXQgYWN0
dWFsbHkgY2FsbHMgZGVjb21taXQuIEEKK3NlY29uZCBsb29wIHVubG9ja3MgdGhlIGxvY2tzLgor
CitUd28gZnVuIGNvbXBsaWNhdGlvbnMgYXJpc2U6CisKKy0gQXMgdGhlIHBhZ2Ugc2hhcmluZyBw
b29sIHNjYW5zIG1lbW9yeSBmb3IgZW1wdHkgcGFnZXMsIGl0IG1heSBhcnJpdmUgYXQgcGFnZXMg
aW4gYSByYW5kb20gb3JkZXIsIHdoaWNoIG1heQorICBiZSBkaWZmZXJlbnQgZnJvbSBhbnkgdmFs
aWQgb3JkZXIgaW4gd2hpY2ggdG8gYWNxdWlyZSBjb21taXQgbG9ja3MuIFNvLCBhZnRlciBhY3F1
aXJpbmcgdGhlIGZpcnN0IGNvbW1pdCBsb2NrLAorICBhbGwgc3Vic2VxdWVudCBsb2NrIGFjcXVp
c2l0aW9ucyBhcmUgYHRyeV9sb2NrYCdzLiBJZiBhbnkgYHRyeV9sb2NrYCBmYWlscywgdGhlIGFs
Z29yaXRobSByZXR1cm5zIGVhcmx5LCBhbmQKKyAgdGhlIGRlZmVycmVkIGRlY29tbWl0IGxvZyBo
ZWxwcyBmYWNpbGl0YXRlIGRldGVjdGluZyB3aGVuIGEgbG9jayBmYWlsZWQgdG8gYmUgYWNxdWly
ZWQuCistIExpYnBhcyBzdXBwb3J0cyBjYWxsaW5nIGludG8gdGhlIGFsZ29yaXRobSBldmVuIGlm
IHNvbWUgY29tbWl0IGxvY2tzLCBvciB0aGUgaGVhcCBsb2NrLCBhcmUgaGVsZC4gSXQncyBub3QK
KyAgbGVnYWwgdG8gdHJ5IHRvIGFjcXVpcmUgYW55IGNvbW1pdCBsb2NrcyBvdGhlciB0aGFuIGJ5
IGB0cnlfbG9ja2AgaW4gdGhhdCBjYXNlLiBUaGUgZGVmZXJyZWQgZGVjb21taXQgbG9nIHdpbGwK
KyAgYWxzbyBtYWtlIHN1cmUgdGhhdCBpdCB3aWxsIG5vdCByZWxvY2sgYW55IGNvbW1pdCBsb2Nr
cyB0aGF0IGFyZSBhbHJlYWR5IGhlbGQuCisKK0xpYnBhcyBjYW4gYmUgY29uZmlndXJlZCB0byBy
ZXR1cm4gbWVtb3J5IGVpdGhlciBieSBtYWR2aXNpbmcgaXQgb3IgYnkgbW1hcC16ZXJvLWZpbGxp
bmcgaXQsIHdoaWNoIGhhcyBhIHNpbWlsYXIKK3NlbWFudGljIGVmZmVjdCBidXQgaXMgc2xvd2Vy
LiBMaWJwYXMgc3VwcG9ydHMgYm90aCBzeW1tZXRyaWMgYW5kIGFzeW1tZXRyaWMgZm9ybXMgb2Yg
bWFkdmlzZSwgdGhvdWdoIHRoZQorYXN5bW1ldHJpYyBmb3JtIGlzIGZhc3RlciBhbmQgaGFzIGEg
c2xpZ2h0ICh0aG91Z2ggbW9zdGx5IHRoZW9yZXRpY2FsKSBtZW1vcnkgdXNhZ2UgZWRnZS4gQnkg
KmFzeW1tZXRyaWMqIEkgbWVhbgordGhhdCB5b3UgY2FsbCBzb21lIGZvcm0gb2YgbWFkdmlzZSB0
byBkZWNvbW1pdCBtZW1vcnkgYW5kIHRoZW4gZG8gbm90aGluZyB0byBjb21taXQgaXQuIFRoaXMg
d29ya3Mgb24gRGFyd2luIGFuZAoraXQncyBxdWl0ZSBlZmZpY2llbnQgLS0gdGhlIGtlcm5lbCB3
aWxsIGNsZWFyIHRoZSBkZWNvbW1pdCByZXF1ZXN0IGFuZCBnaXZlIHRoZSBwYWdlIHJlYWwgbWVt
b3J5IGlmIHlvdSBhY2Nlc3MKK3RoZSBwYWdlLiBUaGUgbWVtb3J5IHVzYWdlIGVkZ2Ugb2Ygbm90
IGV4cGxpY2l0bHkgY29tbWl0dGluZyBtZW1vcnkgaW4gdGhlIG1lbW9yeSBhbGxvY2F0b3IgaXMg
dGhhdCBwcm9ncmFtcyBtYXkKK2FsbG9jYXRlIGxhcmdlIGFycmF5cyBhbmQgbmV2ZXIgdXNlIHRo
ZSB3aG9sZSBhcnJheS4gSXQncyBPSyB0byBjb25maWd1cmUgbGlicGFzIHRvIHVzZSBzeW1tZXRy
aWMgZGVjb21taXQsIGJ1dAordGhlIGFzeW1tZXRyaWMgdmFyaWFudCBtaWdodCBiZSBmYXN0ZXIg
b3IgbW9yZSBlZmZpY2llbnQsIGlmIHRoZSB0YXJnZXQgT1MgYWxsb3dzIGl0LgorCisjIyMgUGFn
ZSBTaGFyaW5nIFBvb2wKKworRGlmZmVyZW50IGtpbmRzIG9mIGhlYXBzIGhhdmUgZGlmZmVyZW50
IHdheXMgb2YgZGlzY292ZXJpbmcgdGhhdCB0aGV5IGhhdmUgZW1wdHkgcGFnZXMuIExpYnBhcyBz
dXBwb3J0cyB0aHJlZQorZGlmZmVyZW50IGtpbmRzIG9mIGhlYXBzIChsYXJnZSwgc2VncmVnYXRl
ZCwgYW5kIGJpdGZpdCkgYW5kIG9uZSBvZiB0aG9zZSBoZWFwcyBoYXMgdHdvIGRpZmZlcmVudCB3
YXlzIG9mCitkaXNjb3ZlcmluZyBmcmVlIG1lbXByeSAoc2VncmVnYXRlZCBzaGFyZWQgcGFnZSBk
aXJlY3RvcmllcyBhbmQgc2VncmVnYXRlZCBzaXplIGRpcmVjdG9yaWVzKS4gVGhlIHBhZ2Ugc2hh
cmluZworcG9vbCBpcyBhIGRhdGEgc3RydWN0dXJlIHRoYXQgY2FuIGhhbmRsZSBhbiBhcmJpdHJh
cnkgbnVtYmVyIG9mICpwYWdlIHNoYXJpbmcgcGFydGljaXBhbnRzKiwgZWFjaCBvZiB3aGljaCBp
cworYWJsZSB0byBzYXkgd2hldGhlciB0aGV5IGhhdmUgZW1wdHkgcGFnZXMgYW5kIHdoZXRoZXIg
dGhvc2UgZW1wdHkgcGFnZXMgYXJlIG9sZCBlbm91Z2ggdG8gYmUgd29ydGggZGVjb21taXR0aW5n
LgorCitQYWdlIHNoYXJpbmcgcGFydGljaXBhbnRzIG5lZWQgdG8gYmUgYWJsZSB0byBhbnN3ZXIg
dGhlIGZvbGxvd2luZyBxdWVyaWVzOgorCistIEdldHRpbmcgdGhlIGVwb2NoIG9mIHRoZSBvbGRl
c3QgZnJlZSBwYWdlLiBUaGlzIGNhbiBiZSBhcHByb3hpbWF0ZTsgZm9yIGV4YW1wbGUsIGl0J3Mg
T0sgZm9yIHRoZSBwYXJ0aWNpcGFudAorICB0byBvY2Nhc2lvbmFsbHkgZ2l2ZSBhbiBlcG9jaCB0
aGF0IGlzIG5ld2VyIHRoYW4gdGhlIHRydWUgb2xkZXN0IHNvIGxvbmcgYXMgdGhpcyBkb2Vzbid0
IGhhcHBlbiBhbGwgdGhlIHRpbWUuCisgIFdlIGNhbGwgdGhpcyB0aGUgYHVzZV9lcG9jaGAuCist
IFRlbGxpbmcgaWYgdGhlIHBhcnRpY2lwYW50IHRoaW5rcyBpdCAqaXMgZWxpZ2libGUqLCBpLmUu
IGhhcyBhbnkgZnJlZSBwYWdlcyByaWdodCBub3cuIEl0J3MgT0sgZm9yIHRoaXMgdG8KKyAgcmV0
dXJuIHRydWUgZXZlbiBpZiB0aGVyZSBhcmVuJ3QgZnJlZSBwYWdlcy4gSXQncyBub3QgT0sgZm9y
IHRoaXMgdG8gcmV0dXJuIGZhbHNlIGlmIHRoZXJlIGFyZSBmcmVlIHBhZ2VzLiBJZgorICB0aGlz
IHJldHVybnMgdHJ1ZSBhbmQgdGhlcmUgYXJlIG5vIGZyZWUgcGFnZXMsIHRoZW4gaXQgbXVzdCBy
ZXR1cm4gZmFsc2UgYWZ0ZXIgYSBib3VuZGVkIG51bWJlciBvZiBjYWxscyB0bworICBgdGFrZV9s
ZWFzdF9yZWNlbnRseV91c2VkYC4gVXN1YWxseSBpZiBhIHBhcnRpY2lwYW50IGluY29ycmVjdGx5
IHNheXMgdGhhdCBpdCBpcyBlbGlnaWJsZSwgdGhlbiB0aGlzIHN0YXRlCisgIHdpbGwgY2xlYXIg
d2l0aCBleGFjdGx5IG9uZSBjYWxsIHRvIGB0YWtlX2xlYXN0X3JlY2VudGx5X3VzZWRgLgorLSBU
YWtpbmcgdGhlIGxlYXN0IHJlY2VudGx5IHVzZWQgZW1wdHkgcGFnZSAoYHBhc19wYWdlX3NoYXJp
bmdfcGFydGljaXBhbnRfdGFrZV9sZWFzdF9yZWNlbnRseV91c2VkYCkuIFRoaXMgaXMKKyAgYWxs
b3dlZCB0byByZXR1cm4gdGhhdCB0aGVyZSBhcmVuJ3QgYWN0dWFsbHkgYW55IGVtcHR5IHBhZ2Vz
LiBJZiB0aGVyZSBhcmUgZnJlZSBwYWdlcywgdGhpcyBpcyBhbGxvd2VkIHRvCisgIHJldHVybiBh
bnkgbnVtYmVyIG9mIHRoZW0gKGRvZXNuJ3QgaGF2ZSB0byBiZSBqdXN0IG9uZSkuIFBhZ2VzIGFy
ZSAicmV0dXJuZWQiIHZpYSBhIGRlZmVycmVkIGRlY29tbWl0IGxvZy4KKworUGFydGljaXBhbnRz
IGFsc28gbm90aWZ5IHRoZSBwYWdlIHNoYXJpbmcgcG9vbCB3aGVuIHRoZXkgc2VlIGEgKmRlbHRh
Ki4gU2VlaW5nIGEgZGVsdGEgbWVhbnMgb25lIG9mOgorCistIFRoZSBwYXJ0aWNpcGFudCBmb3Vu
ZCBhIG5ldyBmcmVlIHBhZ2UgYW5kIGl0IHByZXZpb3VzbHkgdGhvdWdodCB0aGF0IGl0IGRpZG4n
dCBoYXZlIGFueS4KKy0gVGhlIHBhcnRpY2lwYW50IGhhcyBkaXNjb3ZlcmVkIHRoYXQgdGhlIG9s
ZGVzdCBmcmVlIHBhZ2UgaXMgb2xkZXIgdGhhbiBwcmV2aW91c2x5IHRob3VnaHQuCisKK0l0J3Mg
T0sgdG8gb25seSByZXBvcnQgYSBkZWx0YSBpZiB0aGUgcGFydGljaXBhbnQga25vd3MgdGhhdCBp
dCB3YXMgcHJldmlvdXNseSBub3QgYWR2ZXJ0aXNpbmcgaXRzZWxmIGFzIGJlaW5nCitlbGlnaWJs
ZSwgYW5kIGl0J3MgYWxzbyBPSyB0byByZXBvcnQgYSBkZWx0YSBldmVyeSB0aW1lIHRoYXQgYSBm
cmVlIHBhZ2UgaXMgZm91bmQuIE1vc3QgcGFydGljaXBhbnRzIHRyeSB0bworYXZvaWQgcmVwb3J0
aW5nIGRlbHRhcyB1bmxlc3MgdGhleSBrbm93IHRoYXQgdGhleSB3ZXJlIG5vdCBwcmV2aW91c2x5
IGVsaWdpYmxlLiBIb3dldmVyLCBzb21lIHBhcnRpY2lwYW50cyAodGhlCitzZWdyZWdhdGVkIGFu
ZCBiaXRmaXQgZGlyZWN0b3JpZXMpIGFyZSBzbG9wcHkgYWJvdXQgcmVwb3J0aW5nIHRoZSBlcG9j
aCBvZiB0aGUgb2xkZXN0IGZyZWUgcGFnZS4gVGhvc2UKK3BhcnRpY2lwYW50cyB3aWxsIGNvbnNl
cnZhdGl2ZWx5IHJlcG9ydCBhIGRlbHRhIGFueXRpbWUgdGhleSB0aGluayB0aGF0IHRoZWlyIGVz
dGltYXRlIG9mIHRoZSBvbGRlc3QgcGFnZSdzIGFnZQoraGFzIGNoYW5nZWQuCisKK1RoZSBwYWdl
IHNoYXJpbmcgcG9vbCBpdHNlbGYgY29tcHJpc2VzOgorCistIEEgc2VnbWVudGVkIHZlY3RvciBv
ZiBwYWdlIHNoYXJpbmcgcGFydGljaXBhbnQgcG9pbnRlcnMuIEVhY2ggcG9pbnRlciBpcyB0YWdn
ZWQgd2l0aCB0aGUgcGFydGljaXBhbnQncyB0eXBlLAorICB3aGljaCBoZWxwcyB0aGUgcG9vbCBk
ZWNpZGUgaG93IHRvIGdldCB0aGUgYHVzZV9lcG9jaGAsIGRlY2lkZSB3aGV0aGVyIHRoZSBwYXJ0
aWNpcGFudCBpcyBlbGlnaWJsZSwgYW5kIHRha2UKKyAgZnJlZSBwYWdlcyBmcm9tIGl0LgorLSBB
IGJpdHZlY3RvciBvZiBwYXJ0aWNpcGFudHMgdGhhdCBoYXZlIHJlcG9ydGVkIGRlbHRhcy4KKy0g
QSBtaW5oZWFwIG9mIHBhcnRpY2lwYW50cyBzb3J0ZWQgYnkgZXBvY2ggb2YgdGhlIG9sZGVzdCBm
cmVlIG1lbW9yeS4KKy0gVGhlIGBjdXJyZW50X3BhcnRpY2lwYW50YCwgd2hpY2ggdGhlIHBhZ2Ug
c2hhcmluZyBwb29sIHdpbGwgYXNrIGZvciBwYWdlcyBiZWZvcmUgZG9pbmcgYW55dGhpbmcgZWxz
ZSwgc28gbG9uZworICBhcyB0aGVyZSBhcmUgbm8gZGVsdGFzIGFuZCB0aGUgY3VycmVudCBwYXJ0
aWNpcGFudCBjb250aW51ZXMgdG8gYmUgZWxpZ2libGUgYW5kIGNvbnRpbnVlcyB0byByZXBvcnQg
dGhlIHNhbWUKKyAgdXNlIGVwb2NoLgorCitJZiB0aGUgY3VycmVudCBwYXJ0aWNpcGFudCBpcyBu
b3Qgc2V0IG9yIGRvZXMgbm90IG1lZXQgdGhlIGNyaXRlcmlhLCB0aGUgaGVhcCBsb2NrIGlzIHRh
a2VuIGFuZCBhbGwgb2YgdGhlCitwYXJ0aWNpcGFudHMgdGhhdCBoYXZlIHRoZSBkZWx0YSBiaXQg
c2V0IGdldCByZWluc2VydGVkIGludG8gdGhlIG1pbmhlYXAgYmFzZWQgb24gdXBkYXRlZCB1c2Ug
ZXBvY2hzLiBJdCdzCitwb3NzaWJsZSB0aGF0IHRoZSBkZWx0YSBiaXQgY2F1c2VzIHRoZSByZW1v
dmFsIG9mIGVudHJpZXMgaW4gdGhlIG1pbmhlYXAgKGlmIHNvbWV0aGluZyBzdG9wcGVkIGJlaW5n
IGVsaWdpYmxlKS4KK0l0J3MgcG9zc2libGUgdGhhdCB0aGUgZGVsdGEgYml0IGNhdXNlcyB0aGUg
aW5zZXJ0aW9uIG9mIGVudHJpZXMgdGhhdCB3ZXJlbid0IHByZXZpb3VzbHkgdGhlcmUgKGlmIHNv
bWV0aGluZyBoYXMKK2p1c3QgYmVjb21lIGVsaWdpYmxlKS4gQW5kIGl0J3MgcG9zc2libGUgZm9y
IGFuIGVudHJ5IHRvIGJlIHJlbW92ZWQgYW5kIHRoZW4gcmVhZGRlZCAoaWYgdGhlIHVzZSBlcG9j
aCBjaGFuZ2VkKS4KK1RoZW4sIHRoZSBtaW5pbXVtIG9mIHRoZSBtaW5oZWFwIGJlY29tZXMgdGhl
IGN1cnJlbnQgcGFydGljaXBhbnQsIGFuZCB3ZSBjYW4gYXNrIGl0IGZvciBwYWdlcy4KKworVGhl
IHBvb2wgaXRzZWxmIGlzIGEgY2xhc3MgYnV0IGl0IGhhcHBlbnMgdG8gYmUgYSBzaW5nbGV0b24g
cmlnaHQgbm93LiBJdCdzIHByb2JhYmx5IGEgZ29vZCBpZGVhIHRvIGtlZXAgaXQgYXMgYQorY2xh
c3MsIGJlY2F1c2UgYXMgSSd2ZSBleHBlcmltZW50ZWQgd2l0aCB2YXJpb3VzIGFwcHJvYWNoZXMg
dG8gb3JnYW5pemluZyBtZW1vcnksIEkgaGF2ZSBoYWQgdmVyc2lvbnMgd2hlcmUKK3RoZXJlIGFy
ZSBtYW55IHBvb2xzLiBUaGVyZSBpcyBhbHdheXMgdGhlIHBoeXNpY2FsIHBhZ2Ugc2hhcmluZyBw
b29sICh0aGUgc2luZ2xldG9uKSwgYnV0IEkgb25jZSBoYWQgc2hhcmluZworcG9vbHMgZm9yIG1v
dmluZyBwYWdlcyBiZXR3ZWVuIHRocmVhZHMgYW5kIHNoYXJpbmcgcG9vbHMgZm9yIHRyYWRpbmcg
dmlydHVhbCBtZW1vcnkuCisKK1RoZSBwYWdlIHNoYXJpbmcgcG9vbCBleHBvc2VzIEFQSXMgZm9y
IHRha2luZyBtZW1vcnkgZnJvbSB0aGUgcG9vbC4gVGhlcmUgYXJlIHR3byBjb21tb25seSB1c2Vk
IHZhcmlhbnRzOgorCistIFRha2UgYSBzZXQgbnVtYmVyIG9mIGJ5dGVzLiBUaGUgcGFnZSBzaGFy
aW5nIHBvb2wgd2lsbCB0cnkgdG8gdGFrZSB0aGF0IG11Y2ggbWVtb3J5IHVubGVzcyBhIHRyeV9s
b2NrIGZhaWxzLAorICBpbiB3aGljaCBjYXNlIGl0IHJlY29yZHMgdGhhdCBpdCBzaG91bGQgdGFr
ZSB0aGlzIGFkZGl0aW9uYWwgYW1vdW50IG9mIGJ5dGVzIG9uIHRoZSBuZXh0IGNhbGwuCistIFRh
a2UgYWxsIGZyZWUgcGFnZXMgdGhhdCBhcmUgc2FtZSBhZ2Ugb3Igb2xkZXIgdGhhbiBzb21lIGBt
YXhfZXBvY2hgLiBUaGlzIEFQSSBpcyBjYWxsZWQKKyAgYHBhc19waHlzaWNhbF9wYWdlX3NoYXJp
bmdfcG9vbF9zY2F2ZW5nZWAuIFRoaXMgYWxnb3JpdGhtIHdpbGwgb25seSByZXR1cm4gd2hlbiBp
dCBpcyBkb25lLiBJdCB3aWxsIHJlbG9vcCBpbgorICBjYXNlIG9mIGB0cnlfbG9ja2AgZmFpbHVy
ZSwgYW5kIGl0IGRvZXMgdGhpcyBpbiBhIHdheSB0aGF0IGF2b2lkcyBzcGlubmluZy4KKworVGhl
IGV4cGVjdGVkIGJlaGF2aW9yIGlzIHRoYXQgd2hlbiB0aGUgcGFnZSBzaGFyaW5nIHBvb2wgaGFz
IHRvIGdldCBhIGJ1bmNoIG9mIHBhZ2VzIGl0IHdpbGwgdXN1YWxseSBnZXQgYSBydW4KK29mIHRo
ZW0gZnJvbSBzb21lIHBhcnRpY2lwYW50IC0tIGhlbmNlIHRoZSBlbXBoYXNpcyBvbiB0aGUgYGN1
cnJlbnRfcGFydGljaXBhbnRgLiBIb3dldmVyLCBpdCdzIHBvc3NpYmxlIHRoYXQKK3ZhcmlvdXMg
dHdlYWtzIHRoYXQgSSd2ZSBtYWRlIHRvIHRoZSBhbGdvcml0aG0gaGF2ZSBtYWRlIHRoaXMgbm8g
bG9uZ2VyIGJlIHRoZSBjYXNlLiBJbiB0aGF0IGNhc2UsIGl0IG1pZ2h0IGJlCit3b3J0aHdoaWxl
IHRvIHRyeSB0byBjb21lIHVwIHdpdGggYSB3YXkgb2YgcmVjb21wdXRpbmcgaGUgYGN1cnJlbnRf
cGFydGljaXBhbnRgIHRoYXQgZG9lc24ndCByZXF1aXJlIGhvbGRpbmcgdGhlCitgaGVhcF9sb2Nr
YC4gTWF5YmUgZXZlbiBqdXN0IGEgbG9jayBmb3IgdGhlIHBhZ2Ugc2hhcmluZyBwb29sLCByYXRo
ZXIgdGhhbiB1c2luZyB0aGUgYGhlYXBfbG9ja2AsIHdvdWxkIGJlCitlbm91Z2ggdG8gZ2V0IGEg
c3BlZWQtdXAsIGFuZCBpbiB0aGUgYmVzdCBjYXNlIHRoYXQgc3BlZWQtdXAgd291bGQgbWFrZSBp
dCBlYXNpZXIgdG8gaW5jcmVhc2Ugc2NhdmVuZ2VyCitmcmVxdWVuY3kuCisKK1RoZSBwYWdlIHNo
YXJpbmcgcG9vbCdzIHNjYXZlbmdlIEFQSSBpcyB0aGUgbWFpbiBwYXJ0IG9mIHdoYXQgdGhlIHNj
YXZlbmdlciBkb2VzLiBUaGUgbmV4dCBzZWN0aW9ucyBkZXNjcmliZSB0aGUKK2lubmVyIHdvcmtp
bmdzIG9mIHRoZSBwYWdlIHNoYXJpbmcgcGFydGljaXBhbnRzLgorCisjIyMgTGFyZ2UgU2hhcmlu
ZyBQb29sCisKK1RoZSBsYXJnZSBzaGFyaW5nIHBvb2wgaXMgYSBzaW5nbGV0b24gcGFydGljaXBh
bnQgaW4gdGhlIHBoeXNpY2FsIHBhZ2Ugc2hhcmluZyBwb29sLiBJdCB0cmFja3Mgd2hpY2ggcmFu
Z2VzIG9mCitwYWdlcyBhcmUgZW1wdHkgYWNyb3NzIGFsbCBvZiB0aGUgbGFyZ2UgaGVhcHMuIFRo
ZSBpZGVhIGlzIHRvIGFsbG93IGxhcmdlIGhlYXBzIHRvIHNvbWV0aW1lcyBzcGxpdCBhIHBhZ2Ug
YW1vbmcKK2VhY2ggb3RoZXIsIHNvIHRoZW4gbm8gc2luZ2xlIGxhcmdlIGhlYXAga25vd3Mgd2hl
dGhlciB0aGUgcGFnZSBjYW4gYmUgZGVjb21taXR0ZWQuIFNvLCBhbGwgbGFyZ2UgaGVhcHMgYXMg
d2VsbAorYXMgdGhlIGxhcmdlIHV0aWxpdHkgZnJlZSBoZWFwIGFuZCBjb21wYWN0IGxhcmdlIHV0
aWxpdHkgZnJlZSBoZWFwIHJlcG9ydCB3aGVuIHRoZXkgYWxsb2NhdGUgYW5kIGRlYWxsb2NhdGUK
K21lbW9yeSB0byB0aGUgbGFyZ2Ugc2hhcmluZyBwb29sLgorCitJbnRlcm5hbGx5LCB0aGUgbGFy
Z2Ugc2hhcmluZyBwb29sIG1haW50YWlucyBhIHJlZC1ibGFjayB0cmVlIGFuZCBtaW5oZWFwLiBU
aGUgdHJlZSB0cmFja3MgY29hbGVzY2VkIHJhbmdlcyBvZgorcGFnZXMgYW5kIHRoZWlyIHN0YXRl
cy4gVGhlIGRhdGEgc3RydWN0dXJlIHRoaW5rcyBpdCBrbm93cyBhYm91dCBhbGwgb2YgbWVtb3J5
LCBhbmQgaXQgImJvb3RzIHVwIiB3aXRoIGEgc2luZ2xlCitub2RlIHJlcHJlc2VudGluZyB0aGUg
d2hvbGUgYWRkcmVzcyBzcGFjZSBhbmQgdGhhdCBub2RlIGNsYWltcyB0byBiZSBhbGxvY2F0ZWQg
YW5kIGNvbW1pdHRlZC4gV2hlbiBoZWFwcyB0aGF0Cit0YWxrIHRvIHRoZSBsYXJnZSBzaGFyaW5n
IHBvb2wgYWNxdWlyZSBtZW1vcnksIHRoZXkgdGVsbCB0aGUgc2hhcmluZyBwb29sIHRoYXQgdGhl
IG1lbW9yeSBpcyBub3cgZnJlZS4gQW55CitmcmVlLWFuZC1jb21taXR0ZWQgcmFuZ2VzIGFsc28g
cmVzaWRlIGluIHRoZSBtaW5oZWFwLCB3aGljaCBpcyBvcmRlcmVkIGJ5IHVzZSBlcG9jaCAodGhl
IHRpbWUgd2hlbiB0aGUgbWVtb3J5CitiZWNhbWUgZnJlZSkuCisKK1RoZSBsYXJnZSBzaGFyaW5n
IHBvb2wgY2FuIG9ubHkgYmUgdXNlZCB3aGlsZSBob2xkaW5nIHRoZSBgaGVhcF9sb2NrYCwgYnV0
IGl0IHVzZXMgYSBzZXBhcmF0ZSBsb2NrLCB0aGUKK2BwYXNfdmlydHVhbF9yYW5nZV9jb21tb25f
bG9ja2AsIGZvciBjb21taXQgYW5kIGRlY29tbWl0LiBTbywgd2hpbGUgbGlicGFzIGlzIGJsb2Nr
ZWQgaW4gdGhlIG1hZHZpc2Ugc3lzY2FsbCwKK2l0IGRvZXNuJ3QgaGF2ZSB0byBob2xkIHRoZSBg
aGVhcF9sb2NrYCBhbmQgdGhlIG90aGVyIGxvY2sgb25seSBnZXRzIGFjcXVpcmVkIHdoZW4gY29t
bWl0dGluZyBvciBkZWNvbW1pdHRpbmcKK2xhcmdlIG1lbW9yeS4KKworSXQncyBuYXR1cmFsIGZv
ciB0aGUgbGFyZ2Ugc2hhcmluZyBwb29sIHRvIGhhbmRsZSB0aGUgcGFydGljaXBhbnQgQVBJOgor
CistIFRoZSBsYXJnZSBzaGFyaW5nIHBvb2wgcGFydGljaXBhbnQgc2F5cyBpdCdzIGVsaWdpYmxl
IHdoZW4gdGhlIG1pbmhlYXAgaXMgbm9uLWVtcHR5LgorLSBUaGUgbGFyZ2Ugc2hhcmluZyBwb29s
IHBhcnRpY2lwYW50IHJlcG9ydHMgdGhlIG1pbmhlYXAncyBtaW5pbXVtIHVzZSBlcG9jaCBhcyBp
dHMgdXNlIGVwb2NoICh0aG91Z2ggaXQgY2FuIGJlCisgIGNvbmZpZ3VyZWQgdG8gZG8gc29tZXRo
aW5nIGVsc2U7IHRoYXQgc29tZXRoaW5nIGVsc2UgbWF5IG5vdCBiZSBpbnRlcmVzdGluZyBhbnlt
b3JlKS4KKy0gVGhlIGxhcmdlIHNoYXJpbmcgcG9vbCBwYXJ0aWNpcGFudCB0YWtlcyBsZWFzdCBy
ZWNlbnRseSB1c2VkIGJ5IHJlbW92aW5nIHRoZSBtaW5pbXVtIGZyb20gdGhlIG1pbmhlYXAgYW5k
CisgIGFkZGluZyB0aGF0IG5vZGUncyBtZW1vcnkgcmFuZ2UgdG8gdGhlIGRlZmVycmVkIGRlY29t
bWl0IGxvZy4KKworVGhlIGxhcmdlIHNoYXJpbmcgcG9vbCByZWdpc3RlcnMgaXRzZWxmIHdpdGgg
dGhlIHBoeXNpY2FsIHBhZ2Ugc2hhcmluZyBwb29sIHdoZW4gc29tZSBsYXJnZSBoZWFwIHJlcG9y
dHMgdGhlCitmaXJzdCBiaXQgb2YgbWVtb3J5IHRvIGl0LgorCisjIyMgU2VncmVnYXRlZCBEaXJl
Y3RvcnkgUGFydGljaXBhbnQKKworRWFjaCBzZWdyZWdhdGVkIGRpcmVjdG9yeSBpcyBhIHBhZ2Ug
c2hhcmluZyBwYXJ0aWNpcGFudC4gVGhleSByZWdpc3RlciB0aGVtc2VsdmVzIG9uY2UgdGhleSBo
YXZlIHBhZ2VzIHRoYXQKK2NvdWxkIGJlY29tZSBlbXB0eS4gU2VncmVnYXRlZCBkaXJlY3Rvcmll
cyB1c2UgdGhlIGVtcHR5IGJpdHMgYW5kIHRoZSBsYXN0LWVtcHR5LXBsdXMtb25lIGluZGV4IHRv
IHNhdGlzZnkgdGhlCitwYWdlIHNoYXJpbmcgcG9vbCBwYXJ0aWNpcGFudCBBUEk6CisKKy0gQSBk
aXJlY3RvcnkgcGFydGljcGFudCBzYXlzIGl0J3MgZWxpZ2libGUgd2hlbiBsYXN0LWVtcHR5LXBs
dXMtb25lIGlzIG5vbnplcm8uCistIEEgZGlyZWN0b3J5IHBhcnRpY2lwYW50IHJlcG9ydHMgdGhl
IHVzZSBlcG9jaCBvZiB0aGUgbGFzdCBlbXB0eSBwYWdlIGJlZm9yZSB3aGVyZSBsYXN0LWVtcHR5
LXBsdXMtb25lIHBvaW50cy4KKyAgTm90ZSB0aGF0IGluIGV4dHJlbWUgY2FzZXMgdGhpcyBtZWFu
cyBoYXZpbmcgdG8gc2VhcmNoIHRoZSBiaXR2ZWN0b3IgZm9yIGEgc2V0IGVtcHR5IGJpdCwgc2lu
Y2UgdGhlCisgIGxhc3QtZW1wdHktcGx1cy1vbmUgY291bGQgbGFnIGluIGJlaW5nIHNldCB0byBh
IGxvd2VyIHZhbHVlIGluIGNhc2Ugb2YgcmFjZXMuCistIEEgZGlyZWN0b3J5IHBhcnRpY2lwYW50
IHRha2VzIGxlYXN0IHJlY2VudGx5IHVzZWQgYnkgc2VhcmNoaW5nIGJhY2t3YXJkcyBmcm9tIGxh
c3QtZW1wdHktcGx1cy1vbmUgYW5kIHRha2luZworICB0aGUgbGFzdCBlbXB0eSBwYWdlLiBUaGlz
IGFjdGlvbiBhbHNvIHVwZGF0ZXMgbGFzdC1lbXB0eS1wbHVzLW9uZSB1c2luZyB0aGUgYHBhc192
ZXJzaW9uZWRfZmllbGRgIGxvY2stZnJlZQorICB0cmlja3MuCisKK09uY2UgYW4gZW1wdHkgcGFn
ZSBpcyBmb3VuZCB0aGUgYmFzaWMgaWRlYSBpczoKKworMS4gQ2xlYXIgdGhlIGVtcHR5IGJpdC4K
KzIuIFRyeSB0byB0YWtlIGVsaWdpYmlsaXR5OyBpLmUuIG1ha2UgdGhlIHBhZ2Ugbm90IGVsaWdp
YmxlLiBXZSB1c2UgdGhlIGVsaWdpYmxlIGJpdCBhcyBhIGtpbmQgb2YgbG9jaworICAgdGhyb3Vn
aG91dCB0aGUgc2VncmVnYXRlZCBoZWFwOyBmb3IgZXhhbXBsZSwgcGFnZXMgd2lsbCBub3QgYmUg
ZWxpZ2libGUgaWYgdGhleSBhcmUgY3VycmVudGx5IHVzZWQgYnkgc29tZQorICAgbG9jYWwgYWxs
b2NhdG9yLiBJZiB0aGlzIGZhaWxzLCB3ZSBqdXN0IHJldHVybi4gTm90ZSB0aGF0IGl0J3MgdXAg
dG8gYW55b25lIHdobyBtYWtlcyBhIHBhZ2UgaW5lbGlnaWJsZSB0bworICAgdGhlbiBjaGVjayBp
ZiBpdCBzaG91bGQgc2V0IHRoZSBlbXB0eSBiaXQgYWZ0ZXIgdGhleSBtYWtlIGl0IGVsaWdpYmxl
IGFnYWluLiBTbywgaXQncyBmaW5lIGZvciB0aGUgc2NhdmVuZ2VyCisgICB0byBub3Qgc2V0IHRo
ZSBlbXB0eSBiaXQgYWdhaW4gYWZ0ZXIgY2xlYXJpbmcgaXQgYW5kIGZhaWxpbmcgdG8gdGFrZSB0
aGUgZWxpZ2libGUgYml0LiBUaGlzIGFsc28gcHJldmVudHMgYQorICAgc3BpbiB3aGVyZSB0aGUg
c2NhdmVuZ2VyIGtlZXBzIHRyeWluZyB0byBsb29rIGF0IHRoaXMgYWxsZWdlZGx5IGVtcHR5IHBh
Z2UgZXZlbiB0aG91Z2ggaXQncyBub3QgZWxpZ2libGUuIEJ5CisgICBjbGVhcmluZyB0aGUgZW1w
dHkgYml0IGFuZCBub3Qgc2V0dGluZyBpdCBhZ2FpbiBpbiB0aGlzIGNhc2UsIHRoZSBzY2F2ZW5n
ZXIgd2lsbCBhdm9pZCB0aGlzIHBhZ2UgdW50aWwgaXQKKyAgIGJlY29tZXMgZWxpZ2libGUuCisz
LiBHcmFiIHRoZSAqb3duZXJzaGlwIGxvY2sqIHRvIHNheSB0aGF0IHRoZSBwYWdlIGlzIG5vdyBk
ZWNvbW1pdHRlZC4KKzQuIEdyYWIgdGhlIGNvbW1pdCBsb2NrIGFuZCB0aGVuIHB1dCB0aGUgcGFn
ZSBvbiB0aGUgZGVmZXJyZWQgZGVjb21taXQgbG9nLgorNS4gTWFrZSB0aGUgcGFnZSBlbGlnaWJs
ZSBhZ2Fpbi4KKworU2FkbHksIGl0J3MgYSBiaXQgbW9yZSBjb21wbGljYXRlZCB0aGFuIHRoYXQ6
CisKKy0gRGlyZWN0b3JpZXMgZG9uJ3QgdHJhY2sgcGFnZXM7IHRoZXkgdHJhY2sgdmlld3MuIFNo
YXJlZCBwYWdlIGRpcmVjdG9yaWVzIGhhdmUgdmlld3Mgb2YgcGFnZXMgd2hvc2UgYWN0dWFsCisg
IGVsaWdpYmlsaXR5IGlzIGNvdmVyZWQgYnkgdGhlIGVsaWdpYmlsZSBiaXRzIGluIHRoZSBzZWdy
ZWdhdGVkIHNpemUgZGlyZWN0b3JpZXMgdGhhdCBob2xkIHRoZSBzaGFyZWQgcGFnZSdzCisgIHBh
cnRpYWwgdmlld3MuIFNvLCBpbnNvZmFyIGFzIHRha2luZyBlbGlnaWJpbGl0eSBpcyBwYXJ0IG9m
IHRoZSBhbGdvcml0aG0sIHNoYXJlZCBwYWdlIGRpcmVjdG9yaWVzIGhhdmUgdG8KKyAgdGFrZSBl
bGlnaWJpbGl0eSBmb3IgZWFjaCBwYXJ0aWFsIHZpZXcgYXNzb2NpYXRlZCB3aXRoIHRoZSBzaGFy
ZWQgdmlldy4KKy0gU2hhcmVkIGFuZCBleGNsdXNpdmUgdmlld3MgY291bGQgYm90aCBiZSBpbiBh
IHN0YXRlIHdoZXJlIHRoZXkgZG9uJ3QgZXZlbiBoYXZlIGEgcGFnZS4gU28sIGJlZm9yZSBsb29r
aW5nIGF0CisgIGFueXRoaW5nIGFib3V0IHRoZSB2aWV3LCBpdCdzIG5lY2Vzc2FyeSB0byB0YWtl
IHRoZSBvd25lcnNoaXAgbG9jay4gSW4gZmFjdCwgdG8gaGF2ZSBhIGd1YXJhbnRlZSB0aGF0IG5v
Ym9keQorICBpcyBtZXNzaW5nIHdpdGggdGhlIHBhZ2UsIHdlIG5lZWQgdG8gZ3JhYiB0aGUgb3du
ZXJzaGlwIGxvY2sgYW5kIHRha2UgZWxpZ2liaWxpdHkuIFRoZSBhY3R1YWwgYWxnb3JpdGhtIGRv
ZXMKKyAgdGhlc2UgdHdvIHRoaW5ncyB0b2dldGhlci4KKy0gSXQncyBwb3NzaWJsZSBmb3IgdGhl
IHBhZ2UgdG8gbm90IGFjdHVhbGx5IGJlIGVtcHR5IGV2ZW4gdGhvdWdoIHRoZSBlbXB0eSBiaXQg
aXMgc2V0LiBXZSBkb24ndCByZXF1aXJlIHRoYXQKKyAgdGhlIGVtcHR5IGJpdCBpcyBjbGVhcmVk
IHdoZW4gYSBwYWdlIGJlY29tZXMgbm9uZW1wdHkuCistIFNvbWUgb2YgdGhlIGxvZ2ljIG9mIGRl
Y29tbWl0dGluZyByZXF1aXJlcyBob2xkaW5nIHRoZSBgcGFnZS0+bG9ja19wdHJgLCB3aGljaCBt
YXkgYmUgYSBkaWZmZXJlbnQgbG9jayB0aGFuCisgIHRoZSBvd25lcnNoaXAgbG9jay4gU28gdGhl
IGFsZ29yaXRobSBhY3R1YWxseSB0YWtlcyB0aGUgb3duZXJzaGlwIGxvY2ssIHRoZW4gdGhlIHBh
Z2UgbG9jaywgdGhlbiB0aGUgb3duZXJzaGlwCisgIGxvY2sgYWdhaW4sIGFuZCB0aGVuIHRoZSBj
b21taXQgbG9jay4KKy0gSWYgYSBgdHJ5X2xvY2tgIGZhaWxzLCB0aGVuIHdlIHNldCBib3RoIHRo
ZSBlbGlnaWJsZSBhbmQgZW1wdHkgYml0cywgc2luY2UgaW4gdGhhdCBjYXNlLCB3ZSByZWFsbHkg
ZG8gd2FudAorICB0aGUgcGFnZSBzaGFyaW5nIHBvb2wgdG8gY29tZSBiYWNrIHRvIHVzLgorCitT
b21lIHBhZ2UgY29uZmlncyBzdXBwb3J0IHNlZ3JlZ2F0ZWQgcGFnZXMgdGhhdCBoYXZlIG11bHRp
cGxlIHN5c3RlbSBwYWdlcyBpbnNpZGUgdGhlbS4gSW4gdGhhdCBjYXNlLCB0aGUgZW1wdHkKK2Jp
dCBnZXRzIHNldCB3aGVuIGFueSBzeXN0ZW0gcGFnZSBiZWNvbWVzIGVtcHR5ICh1c2luZyBncmFu
dWxlIHVzZSBjb3VudHMpLCBhbmQgdGhlIHRha2luZyBhbGdvcml0aG0ganVzdAorZGVjb21taXRz
IHRoZSBncmFudWxlcyByYXRoZXIgdGhhbiBkZWNvbW1pdHRpbmcgdGhlIHdob2xlIHBhZ2UuCisK
KyMjIyBCaXRmaXQgRGlyZWN0b3J5IFBhcnRpY2lwYW50CisKK0JpdGZpdCBkaXJlY3RvcmllcyBh
bHNvIHVzZSBhbiBlbXB0eSBiaXR2ZWN0b3IgYW5kIGFsc28gc3VwcG9ydCBncmFudWxlcy4gQWx0
aG91Z2ggYml0Zml0IGRpcmVjdG9yaWVzIGFyZSBhbgoraW5kZXBlbmRlbnQgcGllY2Ugb2YgY29k
ZSwgdGhlaXIgYXBwcm9hY2ggdG8gcGFydGljaXBhdGluZyBpbiBwYWdlIHNoYXJpbmcgcG9vbHMg
ZXhhY3RseSBtaXJyb3JzIHdoYXQgc2VncmVnYXRlZAorZGlyZWN0b3JpZXMgZG8uCisKK1RoaXMg
Y29uY2x1ZGVzIHRoZSBkaXNjdXNzaW9uIGFib3V0IHRoZSBwYWdlIHNoYXJpbmcgcG9vbCBhbmQg
aXRzIHBhcnRpY2lwYW50cy4gTmV4dCwgSSB3aWxsIGNvdmVyIHNvbWUgb2YgdGhlCitvdGhlciB0
aGluZ3MgdGhhdCB0aGUgc2NhdmVuZ2VyIGRvZXMuCisKKyMjIyBTdG9wcGluZyBCYXNlbGluZSBB
bGxvY2F0b3JzCisKK1RoZSBzY2F2ZW5nZXIgYWxzbyByb3V0aW5lbHkgc3RvcHMgYmFzZWxpbmUg
YWxsb2NhdG9ycy4gQmFzZWxpbmUgYWxsb2NhdG9ycyBhcmUgZWFzeSB0byBzdG9wIGJ5IHRoZSBz
Y2F2ZW5nZXIKK2JlY2F1c2UgdGhleSBjYW4gYmUgdXNlZCBieSBhbnlvbmUgd2hvIGhvbGRzIHRo
ZWlyIGxvY2suIFNvIHRoZSBzY2F2ZW5nZXIgY2FuIHN0b3AgYW55IGJhc2VsaW5lIGFsbG9jYXRv
ciBpdAord2FudHMuIEl0IHdpbGwgb25seSBzdG9wIHRob3NlIGFsbG9jYXRvcnMgdGhhdCBoYXZl
bid0IGJlZW4gdXNlZCBpbiBhIHdoaWxlIChieSBjaGVja2luZyBhbmQgcmVzZXR0aW5nIGEgZGly
dHkKK2JpdCkuCisKKyMjIyBTdG9wcGluZyBVdGlsaXR5IEhlYXAgQWxsb2NhdG9ycworCitUaGUg
c2NhdmVuZ2VyIGFsc28gZG9lcyB0aGUgc2FtZSB0aGluZyBmb3IgdXRpbGl0eSBhbGxvY2F0b3Jz
LiBUaGlzIGp1c3QgcmVxdWlyZXMgaG9sZGluZyB0aGUgYGhlYXBfbG9ja2AuCisKKyMjIyBTdG9w
cGluZyBUTEMgQWxsb2NhdG9ycworCitBbGxvY2F0b3JzIGluIFRMQ3MgYWxzbyBnZXQgc3RvcHBl
ZCwgYnV0IHRoaXMgcmVxdWlyZXMgbW9yZSBlZmZvcnQuIFdoZW4gdGhlIHNjYXZlbmdlciB0aHJl
YWQgaXMgcnVubmluZywgaXQncworcG9zc2libGUgZm9yIGFueSB0aHJlYWQgdG8gYmUgdXNpbmcg
YW55IG9mIGl0cyBhbGxvY2F0b3JzIGFuZCBubyBsb2NrcyBhcmUgaGVsZCB3aGVuIHRoaXMgaGFw
cGVucy4gU28sIHRoZQorc2NhdmVuZ2VyIHVzZXMgdGhlIGZvbGxvd2luZyBhbGdvcml0aG06CisK
Ky0gRmlyc3QgaXQgdHJpZXMgdG8gYXNrIHRoZSB0aHJlYWQgdG8gc3RvcCBjZXJ0YWluIGFsbG9j
YXRvcnMuIEluIGVhY2ggYWxsb2NhdGlvbiBzbG93IHBhdGgsIHRoZSBhbGxvY2F0b3IKKyAgY2hl
Y2tzIGlmIGFueSBvZiB0aGUgb3RoZXIgYWxsb2NhdG9ycyBpbiB0aGUgVExDIGhhdmUgYmVlbiBy
ZXF1ZXN0ZWQgdG8gc3RvcCBieSB0aGUgc2NhdmVuZ2VyLCBhbmQgaWYgc28sIGl0CisgIHN0b3Bz
IHRob3NlIGFsbG9jYXRvcnMuIFRoYXQgZG9lc24ndCByZXF1aXJlIHNwZWNpYWwgc3luY2hyb25p
emF0aW9uIGJlY2F1c2UgdGhlIHRocmVhZCB0aGF0IG93bnMgdGhlCisgIGFsbG9jYXRvciBpcyB0
aGUgb25lIHN0b3BwaW5nIGl0LgorLSBJZiB0aGF0IGRvZXNuJ3Qgd29yayBvdXQsIHRoZSBzY2F2
ZW5nZXIgc3VzcGVuZHMgdGhlIHRocmVhZCBhbmQgc3RvcHMgYWxsIGFsbG9jYXRvcnMgdGhhdCBk
b24ndCBoYXZlIHRoZQorICBgaW5fdXNlYCBiaXQgc2V0LiBUaGUgYGluX3VzZWAgYml0IGlzIHNl
dCB3aGVuZXZlciBhIHRocmVhZCBkb2VzIGFueXRoaW5nIHRvIGEgbG9jYWwgYWxsb2NhdG9yLCBh
bmQgY2xlYXJlZAorICBhZnRlci4KKworT25lIHdyaW5rbGUgYWJvdXQgc3RvcHBpbmcgYWxsb2Nh
dG9ycyBpcyB0aGF0IHN0b3BwZWQgYWxsb2NhdG9ycyBtaWdodCBnZXQgZGVjb21taXR0ZWQuIFRo
ZSB3YXkgdGhhdCB0aGlzIGlzCitjb29yZGluYXRlZCBpcyB0aGF0IGEgc3RvcHBlZCBhbGxvY2F0
b3IgaXMgaW4gYSBzcGVjaWFsIHN0YXRlIHRoYXQgbWVhbnMgdGhhdCBhbnkgYWxsb2NhdGlvbiBh
dHRlbXB0IHdpbGwgdGFrZQorYSBzbG93IHBhdGggdGhhdCBhY3F1aXJlcyB0aGUgVExDJ3Mgc2Nh
dmVuZ2luZyBsb2NrIGFuZCBwb3NzaWJseSByZWNvbW1pdHMgc29tZSBwYWdlcyBhbmQgdGhlbiBw
dXRzIHRoZQorYWxsb2NhdG9yIGJhY2sgaW50byBhIG5vcm1hbCBzdGF0ZS4KKworIyMjIEZsdXNo
aW5nIFRMQyBEZWFsbG9jYXRpb24gTG9ncworCitUaGUgVExDIGRlYWxsb2NhdGlvbiBsb2dzIGNh
biBiZSBmbHVzaGVkIGJ5IGFueSB0aHJlYWQgdGhhdCBob2xkcyB0aGUgc2NhdmVuZ2luZyBsb2Nr
LiBTbywgdGhlIHNjYXZlbmdlciB0aHJlYWQKK2ZsdXNoZXMgYWxsIGRlYWxsb2NhdGlvbiBsb2dz
IHRoYXQgaGF2ZW4ndCBiZWVuIGZsdXNoZWQgcmVjZW50bHkuCisKK1doZW4gYSB0aHJlYWQgZmx1
c2hlcyBpdHMgb3duIGxvZywgaXQgaG9sZHMgdGhlIHNjYXZlbmdlciBsb2NrLiBIb3dldmVyLCBh
cHBlbmRpbmcgZG9lc24ndCBncmFiIHRoZSBsb2NrLiBUbworbWFrZSB0aGlzIHdvcmssIHdoZW4g
dGhlIHNjYXZlbmdlciBmbHVzaGVzIHRoZSBsb2csIGl0OgorCistIFJlcGxhY2VzIGFueSBlbnRy
eSBpbiB0aGUgbG9nIHRoYXQgaXQgZGVhbGxvY2F0ZWQgd2l0aCB6ZXJvLiBBY3R1YWxseSwgdGhl
IGRlYWxsb2NhdGlvbiBsb2cgZmx1c2ggYWx3YXlzIGRvZXMKKyAgdGhpcy4KKy0gRG9lcyBub3Qg
cmVzZXQgdGhlIGB0aHJlYWRfbG9jYWxfY2FjaGUtPmRlYWxsb2NhdGlvbl9sb2dfaW5kZXhgLiBJ
biBmYWN0LCBpdCBkb2Vzbid0IGRvIGFueXRoaW5nIGV4Y2VwdCByZWFkCisgIHRoZSBmaWVsZC4K
KworQmVjYXVzZSBvZiB0aGUgc3RydWN0dXJlIG9mIHRoZSBkZWFsbG9jYXRpb24gbG9nIGZsdXNo
LCBpdCdzIGNoZWFwIGZvciBpdCB0byBudWxsLWNoZWNrIGV2ZXJ5dGhpbmcgaXQgbG9hZHMgZnJv
bQordGhlIGRlYWxsb2NhdGlvbiBsb2cuIFNvIHdoZW4sIGEgdGhyZWFkIGdvZXMgdG8gZmx1c2gg
aXRzIGxvZyBhZnRlciB0aGUgc2NhdmVuZ2VyIGhhcyBkb25lIGl0LCBpdCB3aWxsIHNlZSBhCiti
dW5jaCBvZiBudWxsIGVudHJpZXMsIGFuZCBpdCB3aWxsIHNraXAgdGhlbS4gSWYgYSB0aHJlYWQg
dHJpZXMgdG8gYXBwZW5kIHRvIHRoZSBkZWFsbG9jYXRpb24gbG9nIHdoaWxlIHRoZQorc2NhdmVu
Z2VyIGlzIGZsdXNoaW5nIGl0LCB0aGVuIHRoaXMganVzdCB3b3JrcywgYmVjYXVzZSBpdCBlbmRz
IHVwIHN0b3JpbmcgdGhlIG5ldyB2YWx1ZSBhYm92ZSB3aGF0IHRoZQorc2NhdmVuZ2VyIHNlZXMu
IFRoZSBvYmplY3QgaXMgc3RpbGwgaW4gdGhlIGxvZywgYW5kIHdpbGwgZ2V0IGRlYWxsb2NhdGVk
IG9uIHRoZSBuZXh0IGZsdXNoLgorCisjIyMgRGVjb21taXR0aW5nIFVudXNlZCBQYXJ0cyBvZiBU
TENzCisKK0ZvciBhbnkgcGFnZSBpbiB0aGUgVExDIGNvbnNpc3RpbmcgZW50aXJlbHkgb2Ygc3Rv
cHBlZCBhbGxvY2F0b3JzLCB0aGUgc2NhdmVuZ2VyIGNhbiBkZWNvbW1pdCB0aG9zZSBwYWdlcy4g
VGhlCit6ZXJvIHZhbHVlIHRyaWdnZXJzIGEgc2xvdyBwYXRoIGluIHRoZSBsb2NhbCBhbGxvY2F0
b3IgYW5kIGxvY2FsIHZpZXcgY2FjaGUgdGhhdCB0aGVuIGNvbW1pdHMgdGhlIHBhZ2UgYW5kCity
ZW1hdGVyaWFsaXplcyB0aGUgYWxsb2NhdG9yLiBUaGlzIGlzIHBhaW5zdGFraW5nbHkgZW5zdXJl
ZDsgdG8ga2VlcCB0aGlzIHByb3BlcnR5IHlvdSBnZW5lcmFsbHkgaGF2ZSB0byBhdWRpdAordGhl
IGZhc3QgcGF0aHMgdG8gc2VlIHdoaWNoIHBhcnRzIG9mIGFsbG9jYXRvcnMgdGhleSBhY2Nlc3Ms
IGFuZCBtYWtlIHN1cmUgdGhhdCB0aGUgYWxsb2NhdG9yIGdvZXMgdG8gYSBzbG93CitwYXRoIGlm
IHRoZXkgYXJlIGFsbCB6ZXJvLiBUaGF0IHNsb3cgcGF0aCB0aGVuIGhhcyB0byBjaGVjayBpZiB0
aGUgYWxsb2NhdG9yIGlzIHN0b3BwZWQgb3IgZGVjb21taXR0ZWQsIGFuZCBpZgoraXQgaXMgZWl0
aGVyLCBpdCBncmFicyB0aGUgVExDJ3Mgc2NhdmVuZ2VyIGxvY2sgYW5kIHJlY29tbWl0cyBhbmQg
cmVtYXRlcmlhbGl6ZXMuCisKK1RoaXMgZmVhdHVyZSBpcyBwYXJ0aWN1bGFybHkgdmFsdWFibGUg
YmVjYXVzZSBvZiBob3cgYmlnIGxvY2FsIGFsbG9jYXRvcnMgYW5kIGxvY2FsIHZpZXcgY2FjaGVz
IGFyZS4gV2hlbiB0aGVyZQorYXJlIGEgbG90IG9mIGhlYXBzLCB0aGlzIGFjY291bnRzIGZvciB0
ZW5zIG9mIE1CcyBpbiBzb21lIGNhc2VzLiBTbywgYmVpbmcgYWJsZSB0byBkZWNvbW1pdCB1bnVz
ZWQgcGFydHMgaXMgYQorYmlnIGRlYWwuCisKKyMjIyBEZWNvbW1pdHRpbmcgRXhwZW5kYWJsZSBN
ZW1vcnkKKworU2VncmVnYXRlZCBoZWFwcyBtYWludGFpbiBsb29rdXAgdGFibGVzIHRoYXQgbWFw
ICJpbmRleCIsIGkuZS4gdGhlIG9iamVjdCBzaXplIGRpdmlkZWQgYnkgdGhlIGhlYXAncyBtaW5h
bGlnbiwKK3RvIGFsbG9jYXRvciBpbmRpY2VzIGFuZCBkaXJlY3Rvcmllcy4gVGhlcmUgYXJlIHRo
cmVlIHRhYmxlczoKKworLSBUaGUgaW5kZXgtdG8tYWxsb2NhdG9yLWluZGV4IHRhYmxlLiBUaGlz
IG9ubHkgd29ya3MgZm9yIHNtYWxsLWVub3VnaCBpbmRpY2VzLgorLSBUaGUgaW5kZXgtdG8tZGly
ZWN0b3J5IHRhYmxlLiBUaGlzIGFsc28gb25seSB3b3JrcyBmb3Igc21hbGwtZW5vdWdoIGluZGlj
ZXMuCistIFRoZSBtZWRpdW0gaW5kZXgtdG8tZGlyZWN0b3J5LXR1cGxlIGJpbmFyeSBzZWFyY2gg
YXJyYXkuIFRoaXMgd29ya3MgZm9yIHRoZSBub3Qtc21hbGwtZW5vdWdoIGluZGljZXMuCisKK0l0
IG1ha2VzIHNlbnNlIHRvIGxldCB0aG9zZSB0YWJsZXMgZ2V0IGxhcmdlLiBJdCBtaWdodCBtYWtl
IHNlbnNlIGZvciBlYWNoIGlzb2hlYXAgdG8gaGF2ZSBhIGxhcmdlIGxvb2t1cCB0YWJsZS4KK0N1
cnJlbnRseSwgdGhleSB1c2Ugc29tZSBzbWFsbGVyIHRocmVzaG9sZC4gQnV0IHRvIG1ha2UgdGhh
dCBub3QgdXNlIGEgbG90IG9mIG1lbW9yeSwgd2UgbmVlZCB0byBiZSBhYmxlIHRvCitkZWNvbW1p
dCBtZW1vcnkgdGhhdCBpcyBvbmx5IHVzZWQgYnkgbG9va3VwIHRhYmxlcyBvZiBoZWFwcyB0aGF0
IG5vYm9keSBpcyB1c2luZy4KKworU28sIGxpYnBhcyBoYXMgdGhpcyB3ZWlyZCB0aGluZyBjYWxs
ZWQgYHBhc19leHBlbmRhYmxlX21lbW9yeWAsIHdoaWNoIGFsbG93cyB1cyB0byBhbGxvY2F0ZSBv
YmplY3RzIG9mIGltbW9ydGFsCittZW1vcnkgdGhhdCBhdXRvbWF0aWNhbGx5IGdldCBkZWNvbW1p
dHRlZCBpZiB3ZSBkb24ndCAidG91Y2giIHRoZW0gZnJlcXVlbnRseSBlbm91Z2guIFRoZSBzY2F2
ZW5nZXIgY2hlY2tzIHRoZQorc3RhdGUgb2YgYWxsIGV4cGVuZGFibGUgbWVtb3J5LCBhbmQgZGVj
b21taXRzIHRob3NlIHBhZ2VzIHRoYXQgaGF2ZW4ndCBiZWVuIHVzZWQgaW4gYSB3aGlsZS4gVGhl
IGV4cGVuZGFibGUKK21lbW9yeSBhbGdvcml0aG0gaXMgbm90IHdpcmVkIHVwIGFzIGEgcGFnZSBz
aGFyaW5nIHBhcnRpY2lwYW50IGJlY2F1c2UgdGhlIHNjYXZlbmdlciByZWFsbHkgbmVlZHMgdG8g
cG9rZSB0aGUKK3dob2xlIHRhYmxlIG1haW50YWluZWQgYnkgdGhlIGFsZ29yaXRobSBldmVyeSB0
aW1lIGl0IGRvZXMgYSB0aWNrOyBvdGhlcndpc2UgdGhlIGFsZ29yaXRobSB3b3VsZCBub3Qgd29y
ay4KK0ZvcnR1bmF0ZWx5LCB0aGVyZSdzIG5ldmVyIGEgbG90IG9mIHRoaXMga2luZCBvZiBtZW1v
cnkuIFNvLCB0aGlzIGlzbid0IGEgcGVyZm9ybWFuY2UgcHJvYmxlbSBhcyBmYXIgYXMgSSBrbm93
LgorQWxzbywgaXQgZG9lc24ndCBhY3R1YWxseSBzYXZlIHRoYXQgbXVjaCBtZW1vcnkgcmlnaHQg
bm93IC0tIGJ1dCBhbHNvLCByaWdodCBub3cgaXNvaGVhcHMgdXNlIHNtYWxsZXItc2l6ZQordGFi
bGVzLgorCitUaGlzIGNvbmNsdWRlcyB0aGUgZGlzY3Vzc2lvbiBvZiB0aGUgc2NhdmVuZ2VyLiBU
byBzdW1tYXJpemUsIHRoZSBzY2F2ZW5nZXIgcGVyaW9kaWNhbGx5OgorCistIFN0b3BzIGJhc2Vs
aW5lIGFsbG9jYXRvcnMuCistIFN0b3BzIHV0aWxpdHkgaGVhcCBhbGxvY2F0b3JzLgorLSBTdG9w
cyBUTEMgYWxsb2NhdG9ycy4KKy0gRmx1c2hlcyBUTEMgZGVhbGxvY2F0aW9uIGxvZ3MuCistIERl
Y29tbWl0cyB1bnVzZWQgcGFydHMgb2YgVExDcy4KKy0gRGVjb21taXRzIGV4cGVuZGFibGUgbWVt
b3J5LgorLSBBc2tzIHRoZSBwaHlzaWNhbCBwYWdlIHNoYXJpbmcgcG9vbCB0byBzY2F2ZW5nZS4K
KworV2hpbGUgaXQgZG9lcyB0aGVzZSB0aGluZ3MsIGl0IG5vdGVzIHdoZXRoZXIgYW55dGhpbmcg
aXMgbGVmdCBpbiBhIHN0YXRlIHdoZXJlIGl0IHdvdWxkIGJlIHdvcnRod2hpbGUgdG8gcnVuCith
Z2Fpbi4gQSBzdGVhZHkgc3RhdGUgbWlnaHQgbG9vayBsaWtlIHRoYXQgYWxsIGVtcHR5IHBhZ2Vz
IGhhdmUgYmVlbiBkZWNvbW1pdHRlZCwgcmF0aGVyIHRoYW4gdGhhdCBvbmx5IG9sZAorZW5vdWdo
IG9uZXMgd2VyZSBkZWNvbW1pdHRlZC4gSWYgYSBzdGVhZHkgc3RhdGUgbG9va3MgbGlrZSBpdCdz
IGJlaW5nIHJlYWNoZWQsIHRoZSBzY2F2ZW5nZXIgZmlyc3Qgc2xlZXBzIGZvcgorYSB3aGlsZSwg
YW5kIHRoZW4gc2h1dHMgZG93biBlbnRpcmVseS4KKworIyMgTWVnYXBhZ2VzIGFuZCBQYWdlIEhl
YWRlciBUYWJsZXMKKworTGlicGFzIHByb3ZpZGVzIG5vbi1sYXJnZSBoZWFwcyB0d28gZmFzdCBh
bmQgc2NhbGFibGUgd2F5cyBvZiBmaWd1cmluZyBvdXQgYWJvdXQgYW4gb2JqZWN0IGJhc2VkIG9u
IGl0cworYWRkcmVzcywgbGlrZSBkdXJpbmcgZGVhbGxvY2F0aW9uLCBvciBkdXJpbmcgdXNlciBx
dWVyaWVzIGxpa2UgYG1hbGxvY19zaXplYC4KKworMS4gTWVnYXBhZ2VzIGFuZCB0aGUgbWVnYXBh
Z2UgdGFibGUuIExpYnBhcyBkZXNjcmliZXMgZXZlcnkgMTZNQiBvZiBtZW1vcnkgdXNpbmcgYSB0
d28tYml0IGVudW0gY2FsbGVkCisgICBgcGFzX2Zhc3RfbWVnYXBhZ2Vfa2luZGAuIFRoZSB6ZXJv
IHN0YXRlIGluZGljYXRlcyB0aGF0IHRoaXMgYWRkcmVzcyBkb2VzIG5vdCBoYXZlIGEgKmZhc3Qg
bWVnYXBhZ2UqLiBUaGUKKyAgIG90aGVyIHR3byBkZXNjcmliZSB0d28gZGlmZmVyZW50IGtpbmRz
IG9mIGZhc3QgbWVnYXBhZ2VzLCBvbmUgd2hlcmUgeW91IGtub3cgZXhhY3RseSB0aGUgdHlwZSBv
ZiBwYWdlIGl0CisgICBpcyAoc21hbGwgZXhjbHVzaXZlIHNlZ3JlZ2F0ZWQpIGFuZCBvbmUgd2hl
cmUgeW91IGhhdmUgdG8gZmluZCBvdXQgYnkgYXNraW5nIHRoZSBwYWdlIGhlYWRlciwgYnV0IGF0
IGxlYXN0CisgICB5b3Uga25vdyB0aGF0IGl0J3Mgc21hbGwgKHNvIHVzdWFsbHkgMTZLQikuCisy
LiBQYWdlIGhlYWRlciB0YWJsZS4gVGhpcyBpcyBhIGxvY2stZnJlZS10by1yZWFkIGhhc2h0YWJs
ZSB0aGF0IHRlbGxzIHlvdSB3aGVyZSB0byBmaW5kIHRoZSBwYWdlIGhlYWRlciBmb3IKKyAgIHNv
bWUgcGFnZSBpbiBtZW1vcnkuIEZvciBwYWdlcyB0aGF0IHVzZSBwYWdlIGhlYWRlcnMsIHdlIGFs
c28gdXNlIHRoZSBwYWdlIGhlYWRlciB0YWJsZSB0byBmaW5kIG91dCBpZiB0aGUKKyAgIG1lbW9y
eSBhZGRyZXNzIGlzIGluIG1lbW9yeSBvd25lZCBieSBzb21lIGtpbmQgb2YgInBhZ2UiIChlaXRo
ZXIgYSBzZWdyZWdhdGVkIHBhZ2Ugb3IgYSBiaXRmaXQgcGFnZSkuCisKK1VzdWFsbHksIHRoZSBz
bWFsbCBzZWdyZWdhdGVkIGFuZCBzbWFsbCBiaXRmaXQgY29uZmlncyB1c2UgbWVnYXBhZ2VzLiBU
aGUgbWVkaXVtIHNlZ3JlZ2F0ZWQsIG1lZGl1bSBiaXRmaXQsIGFuZAorbWFyZ2UgYml0Zml0IGNv
bmZpZ3MgdXNlIHBhZ2UgaGVhZGVyIHRhYmxlcy4gTGFyZ2UgaGVhcHMgZG9uJ3QgdXNlIGVpdGhl
ciwgc2luY2UgdGhleSBoYXZlIHRoZSBsYXJnZSBtYXAuCisKKyMjIFRoZSBFbnVtZXJhdG9yCisK
K0xpYnBhcyBzdXBwb3J0cyB0aGUgbGlibWFsbG9jIGVudW1lcmF0b3IgQVBJLiBJdCBldmVuIGlu
Y2x1ZGVzIHRlc3RzIGZvciBpdC4gVGhlIHdheSB0aGF0IHRoaXMgaXMgaW1wbGVtZW50ZWQKK3Jl
dm9sdmVzIGFyb3VuZCB0aGUgYHBhc19lbnVtZXJhdG9yYCBjbGFzcy4gTWFueSBvZiB0aGUgZGF0
YSBzdHJ1Y3R1cmVzIHRoYXQgYXJlIG5lZWRlZCBieSB0aGUgZW51bWVyYXRvciBoYXZlCitBUElz
IHRvIHN1cHBvcnQgZW51bWVyYXRpb24gdGhhdCB0YWtlIGEgYHBhc19lbnVtZXJhdG9yKmAuIFRo
ZSBpZGVhIGJlaGluZCBob3cgaXQgd29ya3MgaXMgY29uY2VwdHVhbGx5IGVhc3k6CitqdXN0IHdh
bGsgdGhlIGhlYXAgLS0gd2hpY2ggaXMgcG9zc2libGUgdG8gZG8gYWNjdXJhdGVseSBpbiBsaWJw
YXMgLS0gYW5kIHJlcG9ydCB0aGUgbWV0YWRhdGEgYXJlYXMsIHRoZSBhcmVhcwordGhhdCBjb3Vs
ZCBjb250YWluIG9iamVjdHMsIGFuZCB0aGUgbGl2ZSBvYmplY3RzLiBCdXQsIHdlIGhhdmUgdG8g
ZG8gdGhpcyB3aGlsZSB3YWxraW5nIGEgaGVhcCBpbiBhIGZvcmVpZ24KK3Byb2Nlc3MsIGFuZCB3
ZSBnZXQgdG8gc2VlIHRoYXQgaGVhcCB0aHJvdWdoIGxpdHRsZSBjb3BpZXMgb2YgaXQgdGhhdCB3
ZSByZXF1ZXN0IGEgY2FsbGJhY2sgdG8gbWFrZSBmb3IgdXMuIFRoZQorY29kZSBmb3IgZW51bWVy
YXRpb24gaXNuJ3QgYWxsIHRoYXQgcHJldHR5IGJ1dCBhdCBsZWFzdCBpdCdzIGVhc3kgdG8gZmlu
ZCBtb3N0IG9mIGl0IGJ5IGxvb2tpbmcgZm9yIGZ1bmN0aW9ucworYW5kIGZpbGVzIHRoYXQgcmVm
ZXIgdG8gYHBhc19lbnVtZXJhdG9yYC4KKworQnV0IGEgY2hhbGxlbmdlIG9mIGVudW1lcmF0aW9u
IGlzIHRoYXQgaXQgaGFwcGVucyB3aGVuIHRoZSByZW1vdGUgcHJvY2VzcyBpcyBzdG9wcGVkIGF0
IHNvbWUgYXJiaXRyYXJ5Citwb2ludC4gVGhhdCBwb2ludCBoYXMgdG8gYmUgYW4gaW5zdHJ1Y3Rp
b24gYm91bmRhcnkgLS0gc28gQ1BVIG1lbW9yeSBtb2RlbCBpc3N1ZXMgYXJlbid0IGEgcHJvYmxl
bS4gQnV0IHRoaXMKK21lYW5zIHRoYXQgdGhlIHdob2xlIGFsZ29yaXRobSBoYXMgdG8gZW5zdXJl
IHRoYXQgYXQgYW55IGluc3RydWN0aW9uIGJvdW5kYXJ5LCB0aGUgZW51bWVyYXRvciB3aWxsIHNl
ZSB0aGUgcmlnaHQKK3RoaW5nLiBMb2dpYyB0byBoZWxwIHRoZSBlbnVtZXJhdG9yIHN0aWxsIHVu
ZGVyc3RhbmQgdGhlIGhlYXAgYXQgYW55IGluc3RydWN0aW9uIGlzIHNwcmVhZCB0aHJvdWdob3V0
IHRoZQorYWxsb2NhdGlvbiBhbGdvcml0aG1zLiBFdmVuIHRoZSB0cmVlcyBhbmQgaGFzaHRhYmxl
cyB1c2VkIGJ5IHRoZSBsYXJnZSBoZWFwIGhhdmUgc3BlY2lhbCBoYWNrcyB0byBlbmFibGUgdGhl
bSB0bworYmUgZW51bWVyYWJsZSBhdCBhbnkgaW5zdHJ1Y3Rpb24gYm91bmRhcnkuCisKK1RoZSBl
bnVtZXJhdG9yIGlzIG1haW50YWluZWQgc28gdGhhdCBpdCdzIDEwMCUgYWNjdXJhdGUuIEFueSBk
aXNjcmVwYW5jeSAtLSBlaXRoZXIgaW4gd2hhdCBvYmplY3RzIGFyZSByZXBvcnRlZAorbGl2ZSBv
ciB3aGF0IHRoZWlyIHNpemVzIGFyZSAtLSBnZXRzIGZsYWdnZWQgYXMgYW4gZXJyb3IgYnkgYHRl
c3RfcGFzYC4gVGhlIGdvYWwgc2hvdWxkIGJlIHRvIG1haW50YWluIHBlcmZlY3QKK2VudW1lcmF0
b3IgYWNjdXJhY3kuIFRoaXMgbWFrZXMgc2Vuc2UgZm9yIHR3byByZWFzb25zOgorCisxLiBJJ3Zl
IHlldCB0byBzZWUgYSBjYXNlIHdoZXJlIGRvaW5nIHNvIGlzIGEgcGVyZm9ybWFuY2Ugb3IgbWVt
b3J5IHJlZ3Jlc3Npb24uCisyLiBJdCBtYWtlcyB0aGUgZW51bWVyYXRvciBlYXN5IHRvIHRlc3Qu
IEkgZG9uJ3Qga25vdyBob3cgdG8gdGVzdCBhbiBlbnVtZXJhdG9yIHRoYXQgaXMgbm90IGFjY3Vy
YXRlIGJ5IGRlc2lnbi4KKyAgIElmIGl0J3MgYWNjdXJhdGUgYnkgZGVzaWduLCB0aGVuIGFueSBk
aXNjcmVwYW5jeSBiZXR3ZWVuIHRoZSB0ZXN0J3MgdW5kZXJzdGFuZGluZyBvZiB3aGF0IGlzIGxp
dmUgYW5kIHdoYXQKKyAgIHRoZSBlbnVtZXJhdG9yIHJlcG9ydHMgY2FuIGJlIGZsYWdnZWQgYXMg
YSB0ZXN0IGZhaWx1cmUuIElmIGl0IHdhc24ndCBhY2N1cmF0ZSBieSBkZXNpZ24sIHRoZW4gSSBk
b24ndCBrbm93CisgICB3aGF0IGl0IHdvdWxkIG1lYW4gZm9yIGEgdGVzdCB0byBmYWlsIG9yIHdo
YXQgdGhlIHRlc3RzIGNvdWxkIGV2ZW4gYXNzZXJ0LgorCisjIyBUaGUgQmFzaWMgQ29uZmlndXJh
dGlvbiBUZW1wbGF0ZQorCitMaWJwYXMncyBoZWFwIGNvbmZpZ3MgYW5kIHBhZ2UgY29uZmlncyBh
bGxvdyBmb3IgYSB0cmVtZW5kb3VzIGFtb3VudCBvZiBmbGV4aWJpbGl0eS4gVGhpbmdzIGxpa2Ug
dGhlIHV0aWxpdHkKK2hlYXAgYW5kIHRoZSBgaml0X2hlYXBgIGxldmVyYWdlIHRoaXMgZmxleGli
aWxpdHkgdG8gZG8gc3RyYW5nZSB0aGluZ3MuIEhvd2V2ZXIsIGlmIHlvdSdyZSB1c2luZyBsaWJw
YXMgdG8KK2NyZWF0ZSBhIG5vcm1hbCBtYWxsb2MsIHRoZW4gYSBsb3Qgb2YgdGhlIGNvbmZpZ3Vy
YWJpbGl0eSBpbiB0aGUgaGVhcC9wYWdlIGNvbmZpZ3MgaXMgdG9vIG11Y2guIEEgIm5vcm1hbCIK
K21hbGxvYyBpcyBvbmUgdGhhdCBpcyBleHBvc2VkIGFzIGEgbm9ybWFsIEFQSSByYXRoZXIgdGhh
biBiZWluZyBpbnRlcm5hbCB0byBsaWJwYXMsIGFuZCB0aGF0IG1hbmFnZXMgbWVtb3J5IHRoYXQK
K2RvZXNuJ3QgaGF2ZSBzcGVjaWFsIHByb3BlcnRpZXMgbGlrZSB0aGF0IGl0J3MgbWFya2VkIGV4
ZWN1dGFibGUgYW5kIG5vdCB3cml0ZWFibGUuCisKK1RoZSBiYXNpYyB0ZW1wbGF0ZSBpcyBwcm92
aWRlZCBieSBgcGFzX2hlYXBfY29uZmlnX3V0aWxzLmhgLiBUbyBkZWZpbmUgYSBuZXcgY29uZmln
IGJhc2VkIG9uIHRoaXMgdGVtcGxhdGUsIHlvdQorbmVlZCB0bzoKKworLSBBZGQgdGhlIGFwcHJv
cHJpYXRlIGhlYXAgY29uZmlnIGFuZCBwYWdlIGNvbmZpZyBraW5kcyB0byBgcGFzX2hlYXBfY29u
ZmlnX2tpbmQuZGVmYCwKKyAgYHBhc19zZWdyZWdhdGVkX3BhZ2VfY29uZmlnX2tpbmQuZGVmYCwg
YW5kIGBwYXNfYml0Zml0X3BhZ2VfY29uZmlnX2tpbmQuZGVmYC4gWW91IGFsc28gaGF2ZSB0byBk
byB0aGlzIGlmIHlvdQorICBhZGQgYW55IGtpbmQgb2YgY29uZmlnLCBldmVuIG9uZSB0aGF0IGRv
ZXNuJ3QgdXNlIHRoZSB0ZW1wbGF0ZS4KKy0gQ3JlYXRlIHRoZSBmaWxlcyBgZm9vX2hlYXBfY29u
ZmlnLmhgIGFuZCBgZm9vX2hlYXBfY29uZmlnLmNgLiBUaGVzZSBhcmUgbW9zdGx5IGJvaWxlcnBs
YXRlLgorCitUaGUgaGVhZGVyIGZpbGUgdXN1YWxseSBsb29rcyBsaWtlIHRoaXM6CisKKyAgICAj
ZGVmaW5lIElTT19NSU5BTElHTl9TSElGVCAoKHNpemVfdCk0KQorICAgICNkZWZpbmUgSVNPX01J
TkFMSUdOX1NJWkUgKChzaXplX3QpMSA8PCBJU09fTUlOQUxJR05fU0hJRlQpCisgICAgCisgICAg
I2RlZmluZSBJU09fSEVBUF9DT05GSUcgUEFTX0JBU0lDX0hFQVBfQ09ORklHKCBcCisgICAgICAg
IGlzbywgXAorICAgICAgICAuYWN0aXZhdGUgPSBwYXNfaGVhcF9jb25maWdfdXRpbHNfbnVsbF9h
Y3RpdmF0ZSwgXAorICAgICAgICAuZ2V0X3R5cGVfc2l6ZSA9IHBhc19zaW1wbGVfdHlwZV9hc19o
ZWFwX3R5cGVfZ2V0X3R5cGVfc2l6ZSwgXAorICAgICAgICAuZ2V0X3R5cGVfYWxpZ25tZW50ID0g
cGFzX3NpbXBsZV90eXBlX2FzX2hlYXBfdHlwZV9nZXRfdHlwZV9hbGlnbm1lbnQsIFwKKyAgICAg
ICAgLmR1bXBfdHlwZSA9IHBhc19zaW1wbGVfdHlwZV9hc19oZWFwX3R5cGVfZHVtcCwgXAorICAg
ICAgICAuY2hlY2tfZGVhbGxvY2F0aW9uID0gdHJ1ZSwgXAorICAgICAgICAuc21hbGxfc2VncmVn
YXRlZF9taW5fYWxpZ25fc2hpZnQgPSBJU09fTUlOQUxJR05fU0hJRlQsIFwKKyAgICAgICAgLnNt
YWxsX3NlZ3JlZ2F0ZWRfc2hhcmluZ19zaGlmdCA9IFBBU19TTUFMTF9TSEFSSU5HX1NISUZULCBc
CisgICAgICAgIC5zbWFsbF9zZWdyZWdhdGVkX3BhZ2Vfc2l6ZSA9IFBBU19TTUFMTF9QQUdFX0RF
RkFVTFRfU0laRSwgXAorICAgICAgICAuc21hbGxfc2VncmVnYXRlZF93YXN0ZWFnZV9oYW5kaWNh
cCA9IFBBU19TTUFMTF9QQUdFX0hBTkRJQ0FQLCBcCisgICAgICAgIC5zbWFsbF9leGNsdXNpdmVf
c2VncmVnYXRlZF9sb2dnaW5nX21vZGUgPSBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fc2l6
ZV9vYmxpdmlvdXNfbG9nZ2luZ19tb2RlLCBcCisgICAgICAgIC5zbWFsbF9zaGFyZWRfc2VncmVn
YXRlZF9sb2dnaW5nX21vZGUgPSBwYXNfc2VncmVnYXRlZF9kZWFsbG9jYXRpb25fbm9fbG9nZ2lu
Z19tb2RlLCBcCisgICAgICAgIC5zbWFsbF9leGNsdXNpdmVfc2VncmVnYXRlZF9lbmFibGVfZW1w
dHlfd29yZF9lbGlnaWJpbGl0eV9vcHRpbWl6YXRpb24gPSBmYWxzZSwgXAorICAgICAgICAuc21h
bGxfc2hhcmVkX3NlZ3JlZ2F0ZWRfZW5hYmxlX2VtcHR5X3dvcmRfZWxpZ2liaWxpdHlfb3B0aW1p
emF0aW9uID0gZmFsc2UsIFwKKyAgICAgICAgLnNtYWxsX3NlZ3JlZ2F0ZWRfdXNlX3JldmVyc2Vk
X2N1cnJlbnRfd29yZCA9IFBBU19BUk02NCwgXAorICAgICAgICAuZW5hYmxlX3ZpZXdfY2FjaGUg
PSBmYWxzZSwgXAorICAgICAgICAudXNlX3NtYWxsX2JpdGZpdCA9IHRydWUsIFwKKyAgICAgICAg
LnNtYWxsX2JpdGZpdF9taW5fYWxpZ25fc2hpZnQgPSBJU09fTUlOQUxJR05fU0hJRlQsIFwKKyAg
ICAgICAgLnNtYWxsX2JpdGZpdF9wYWdlX3NpemUgPSBQQVNfU01BTExfQklURklUX1BBR0VfREVG
QVVMVF9TSVpFLCBcCisgICAgICAgIC5tZWRpdW1fcGFnZV9zaXplID0gUEFTX01FRElVTV9QQUdF
X0RFRkFVTFRfU0laRSwgXAorICAgICAgICAuZ3JhbnVsZV9zaXplID0gUEFTX0dSQU5VTEVfREVG
QVVMVF9TSVpFLCBcCisgICAgICAgIC51c2VfbWVkaXVtX3NlZ3JlZ2F0ZWQgPSB0cnVlLCBcCisg
ICAgICAgIC5tZWRpdW1fc2VncmVnYXRlZF9taW5fYWxpZ25fc2hpZnQgPSBQQVNfTUlOX01FRElV
TV9BTElHTl9TSElGVCwgXAorICAgICAgICAubWVkaXVtX3NlZ3JlZ2F0ZWRfc2hhcmluZ19zaGlm
dCA9IFBBU19NRURJVU1fU0hBUklOR19TSElGVCwgXAorICAgICAgICAubWVkaXVtX3NlZ3JlZ2F0
ZWRfd2FzdGVhZ2VfaGFuZGljYXAgPSBQQVNfTUVESVVNX1BBR0VfSEFORElDQVAsIFwKKyAgICAg
ICAgLm1lZGl1bV9leGNsdXNpdmVfc2VncmVnYXRlZF9sb2dnaW5nX21vZGUgPSBwYXNfc2VncmVn
YXRlZF9kZWFsbG9jYXRpb25fc2l6ZV9hd2FyZV9sb2dnaW5nX21vZGUsIFwKKyAgICAgICAgLm1l
ZGl1bV9zaGFyZWRfc2VncmVnYXRlZF9sb2dnaW5nX21vZGUgPSBwYXNfc2VncmVnYXRlZF9kZWFs
bG9jYXRpb25fbm9fbG9nZ2luZ19tb2RlLCBcCisgICAgICAgIC51c2VfbWVkaXVtX2JpdGZpdCA9
IHRydWUsIFwKKyAgICAgICAgLm1lZGl1bV9iaXRmaXRfbWluX2FsaWduX3NoaWZ0ID0gUEFTX01J
Tl9NRURJVU1fQUxJR05fU0hJRlQsIFwKKyAgICAgICAgLnVzZV9tYXJnZV9iaXRmaXQgPSB0cnVl
LCBcCisgICAgICAgIC5tYXJnZV9iaXRmaXRfbWluX2FsaWduX3NoaWZ0ID0gUEFTX01JTl9NQVJH
RV9BTElHTl9TSElGVCwgXAorICAgICAgICAubWFyZ2VfYml0Zml0X3BhZ2Vfc2l6ZSA9IFBBU19N
QVJHRV9QQUdFX0RFRkFVTFRfU0laRSkKKyAgICAKKyAgICBQQVNfQVBJIGV4dGVybiBwYXNfaGVh
cF9jb25maWcgaXNvX2hlYXBfY29uZmlnOworICAgIAorICAgIFBBU19CQVNJQ19IRUFQX0NPTkZJ
R19ERUNMQVJBVElPTlMoaXNvLCBJU08pOworCitOb3RlIHRoZSB1c2Ugb2YgYFBBU19CQVNJQ19I
RUFQX0NPTkZJR2AsIHdoaWNoIGNyZWF0ZXMgYSBjb25maWcgbGl0ZXJhbCB0aGF0IGF1dG9tYXRp
Y2FsbHkgZmlsbHMgaW4gYSBidW5jaCBvZgoraGVhcCBjb25maWcsIHNlZ3JlZ2F0ZWQgcGFnZSBj
b25maWcsIGFuZCBiaXRmaXQgcGFnZSBjb25maWcgZmllbGRzIGJhc2VkIG9uIHRoZSBhcmd1bWVu
dHMgeW91IHBhc3MgdG8KK2BQQVNfQkFTSUNfSEVBUF9DT05GSUdgLiBUaGUgY29ycmVzcG9uZGlu
ZyBgLmNgIGZpbGUgbG9va3MgbGlrZSB0aGlzOgorCisgICAgcGFzX2hlYXBfY29uZmlnIGlzb19o
ZWFwX2NvbmZpZyA9IElTT19IRUFQX0NPTkZJRzsKKyAgICAKKyAgICBQQVNfQkFTSUNfSEVBUF9D
T05GSUdfREVGSU5JVElPTlMoCisgICAgICAgIGlzbywgSVNPLAorICAgICAgICAuYWxsb2NhdGVf
cGFnZV9zaG91bGRfemVybyA9IGZhbHNlLAorICAgICAgICAuaW50cmluc2ljX3ZpZXdfY2FjaGVf
Y2FwYWNpdHkgPSBwYXNfaGVhcF9ydW50aW1lX2NvbmZpZ196ZXJvX3ZpZXdfY2FjaGVfY2FwYWNp
dHkpOworCitOb3RlIHRoYXQgdGhpcyBqdXN0IGNvbmZpZ3VyZXMgd2hldGhlciBuZXcgcGFnZXMg
YXJlIHplcm9lZCBhbmQgd2hhdCB0aGUgdmlldyBjYWNoZSBjYXBhY2l0eSBmb3IgdGhlIGludHJp
bnNpYworaGVhcCBhcmUuIFRoZSAqaW50cmluc2ljIGhlYXAqIGlzIG9uZSBvZiB0aGUgZm91ciBj
YXRlZ29yaWVzIG9mIGhlYXBzIHRoYXQgdGhlIGJhc2ljIGhlYXAgY29uZmlndXJhdGlvbiB0ZW1w
bGF0ZQorc3VwcG9ydHM6CisKKy0gSW50cmluc2ljIGhlYXBzIGFyZSBnbG9iYWwgc2luZ2xldG9u
IGhlYXBzLCBsaWtlIHRoZSBjb21tb24gaGVhcCBmb3IgcHJpbWl0aXZlcy4gV2ViS2l0J3MgZmFz
dE1hbGxvYyBib3R0b21zCisgIG91dCBpbiBhbiBpbnRyaW5zaWMgaGVhcC4KKy0gUHJpbWl0aXZl
IGhlYXBzIGFyZSBoZWFwcyBmb3IgcHJpbWl0aXZlIHVudHlwZWQgdmFsdWVzLCBidXQgdGhhdCBh
cmVuJ3Qgc2luZ2xldG9ucy4gWW91IGNhbiBoYXZlIG1hbnkKKyAgcHJpbWl0aXZlIGhlYXBzLgor
LSBUeXBlZCBoZWFwcyBoYXZlIGEgdHlwZSwgYW5kIHRoZSB0eXBlIGhhcyBhIGZpeGVkIHNpemUg
YW5kIGFsaWdubWVudC4gVHlwZWQgaGVhcHMgYWxsb3cgYWxsb2NhdGluZyBzaW5nbGUKKyAgaW5z
dGFuY2VzIG9mIG9iamVjdHMgb2YgdGhhdCB0eXBlIG9yIGFycmF5cyBvZiB0aGF0IHR5cGUuCist
IEZsZXggaGVhcHMgYXJlIGZvciBvYmplY3RzIHdpdGggZmxleGlibGUgYXJyYXkgbWVtYmVycy4g
VGhleSBwcmV0ZW5kIGFzIGlmIHRoZWlyIHR5cGUgaGFzIHNpemUgYW5kIGFsaWdubWVudAorICBl
cXVhbCB0byAxLCBidXQgaW4gcHJhY3RpY2UgdGhleSBhcmUgdXNlZCBmb3Igb2JqZWN0cyB0aGF0
IGhhdmUgc29tZSBiYXNlIHNpemUgcGx1cyBhIHZhcmlhYmxlLWxlbmd0aCBhcnJheS4KKyAgTm90
ZSB0aGF0IGxpYnBhcyBkb2Vzbid0IGNvcnJlY3RseSBtYW5hZ2UgZmxleCBtZW1vcnkgaW4gdGhl
IGxhcmdlIGhlYXA7IHdlIG5lZWQgYSB2YXJpYW50IG9mIHRoZSBsYXJnZSBoZWFwCisgIHRoYXQg
a25vd3MgdGhhdCB5b3UgY2Fubm90IHJldXNlIGZsZXggbWVtb3J5IGJldHdlZW4gZGlmZmVyZW50
IHNpemVzLgorCitUaGUgYmFzaWMgaGVhcCBjb25maWcgdGVtcGxhdGUgc2V0cyB1cCBzb21lIGJh
c2ljIGRlZmF1bHRzIGZvciBob3cgaGVhcHMgd29yazoKKworLSBJdCBtYWtlcyBzbWFsbCBzZWdy
ZWdhdGVkIGFuZCBzbWFsbCBiaXRmaXQgcGFnZSBjb25maWdzIHB1dCB0aGUgcGFnZSBoZWFkZXIg
YXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcGFnZSBhbmQKKyAgaXQgYXJyYW5nZXMgdG8gaGF2ZSB0
aG9zZSBwYWdlcyBhbGxvY2F0ZWQgb3V0IG9mIG1lZ2FwYWdlcy4KKy0gSXQgbWFrZXMgbWVkaXVt
IHNlZ3JlZ2F0ZWQsIG1lZGl1bSBiaXRmaXQsIGFuZCBtYXJnZSBiaXRmaXQgdXNlIHBhZ2UgaGVh
ZGVyIHRhYmxlcy4KKy0gSXQgc2V0cyB1cCBhIHdheSB0byBmaW5kIHRoaW5ncyBsaWtlIHRoZSBw
YWdlIGhlYWRlciB0YWJsZXMgZnJvbSB0aGUgZW51bWVyYXRvci4KKy0gSXQgc2V0cyB1cCBzZWdy
ZWdhdGVkIHNoYXJlZCBwYWdlIGRpcmVjdG9yaWVzIGZvciBlYWNoIG9mIHRoZSBzZWdyZWdhdGVk
IHBhZ2UgY29uZmlncy4KKworVGhlIGBibWFsbG9jX2hlYXBfY29uZmlnYCBpcyBhbiBleGFtcGxl
IG9mIGEgY29uZmlndXJhdGlvbiB0aGF0IHVzZXMgdGhlIGJhc2ljIHRlbXBsYXRlLiBJZiB3ZSBl
dmVyIHdhbnRlZCB0bworcHV0IGxpYnBhcyBpbnRvIHNvbWUgb3RoZXIgbWFsbG9jIGxpYnJhcnks
IHdlJ2QgcHJvYmFibHkgY3JlYXRlIGEgaGVhcCBjb25maWcgZm9yIHRoYXQgbGlicmFyeSwgYW5k
IHdlIHdvdWxkCitwcm9iYWJseSBiYXNlIGl0IG9uIHRoZSBiYXNpYyBoZWFwIGNvbmZpZyB0ZW1w
bGF0ZSAodGhvdWdoIHdlIGRvbid0IGFic29sdXRlbHkgaGF2ZSB0bykuCisKKyMjIEpJVCBIZWFw
IENvbmZpZworCitUaGUgSklUIGhlYXAgY29uZmlnIGlzIGZvciByZXBsYWNpbmcgdGhlIE1ldGFB
bGxvY2F0b3IgYXMgYSB3YXkgb2YgZG9pbmcgZXhlY3V0YWJsZSBtZW1vcnkgYWxsb2NhdGlvbiBp
biBXZWJLaXQuCitJdCBuZWVkcyB0byBzYXRpc2Z5IHR3byByZXF1aXJlbWVudHMgb2YgZXhlY3V0
YWJsZSBtZW1vcnkgYWxsb2NhdGlvbjoKKworLSBUaGUgYWxsb2NhdG9yIGNhbm5vdCByZWFkIG9y
IHdyaXRlIHRoZSBtZW1vcnkgaXQgbWFuYWdlcywgc2luY2UgdGhhdCBtZW1vcnkgbWF5IGhhdmUg
d2VpcmQgcGVybWlzc2lvbnMgYXQgYW55CisgIHRpbWUuCistIENsaWVudHMgb2YgdGhlIGV4ZWN1
dGFibGUgYWxsb2NhdG9yIG11c3QgYmUgYWJsZSB0byBpbi1wbGFjZSBzaHJpbmsgYWxsb2NhdGlv
bnMuCisKK1RoZSBsYXJnZSBoZWFwIHRyaXZpYWxseSBzdXBwb3J0cyBib3RoIHJlcXVpcmVtZW50
cy4gVGhlIGJpdGZpdCBoZWFwIHRyaXZpYWxseSBzdXBwb3J0cyB0aGUgc2Vjb25kIHJlcXVpcmVt
ZW50LAorYW5kIGNhbiBiZSBtYWRlIHRvIHN1cHBvcnQgdGhlIGZpcnN0IHJlcXVpcmVtZW50IGlm
IHdlIHVzZSBwYWdlIGhlYWRlciB0YWJsZXMgZm9yIGFsbCBraW5kcyBvZiBtZW1vcnksIG5vdCBq
dXN0CittZWRpdW0gb3IgbWFyZ2UuIFNvLCB0aGUgSklUIGhlYXAgY29uZmlnIGZvY3VzZXMgb24g
anVzdCB1c2luZyBiaXRmaXQgYW5kIGxhcmdlIGFuZCBpdCBmb3JjZXMgYml0Zml0IHRvIHVzZQor
cGFnZSBoZWFkZXIgdGFibGVzIGV2ZW4gZm9yIHRoZSBzbWFsbCBiaXRmaXQgcGFnZSBjb25maWcu
CisKKyMjIFRoZSBGYXN0IFBhdGhzCisKK0FsbCBvZiB0aGUgZGlzY3Vzc2lvbiBpbiB0aGUgcHJl
dmlvdXMgc2VjdGlvbnMgaXMgYWJvdXQgdGhlIGlubmFyZHMgb2YgbGlicGFzLiBCdXQgdWx0aW1h
dGVseSwgY2xpZW50cyB3YW50IHRvCitqdXN0IGNhbGwgbWFsbG9jLWxpa2UgYW5kIGZyZWUtbGlr
ZSBmdW5jdGlvbnMgdG8gbWFuYWdlIG1lbW9yeS4gTGlicGFzIHByb3ZpZGVzIGZhc3QgcGF0aCB0
ZW1wbGF0ZXMgdGhhdCBhY3R1YWwKK2hlYXAgaW1wbGVtZW50YXRpb25zIHJldXNlIHRvIHByb3Zp
ZGVjIG1hbGxvYy9mcmVlIGZ1bmN0aW9ucy4gVGhlIGZhc3QgcGF0aHMgYXJlOgorCistIGBwYXNf
dHJ5X2FsbG9jYXRlLmhgLCB3aGljaCBpcyB0aGUgc2luZ2xlIG9iamVjdCBhbGxvY2F0aW9uIGZh
c3QgcGF0aCBmb3IgaXNvaGVhcHMuIFRoaXMgZnVuY3Rpb24ganVzdCB0YWtlcyBhCisgIGhlYXAg
YW5kIG5vIHNpemU7IGl0IGFsbG9jYXRlcyBvbmUgb2JqZWN0IG9mIHRoZSBzaXplIGFuZCBhbGln
bm1lbnQgdGhhdCB0aGUgaGVhcCdzIHR5cGUgd2FudHMuCistIGBwYXNfdHJ5X2FsbG9jYXRlX2Fy
cmF5LmhgLCB3aGljaCBpcyB0aGUgYXJyYXkgYW5kIGFsaWduZWQgYWxsb2NhdGlvbiBmYXN0IHBh
dGggZm9yIGlzb2hlYXBzLiBZb3Ugd2FudCB0byB1c2UKKyAgaXQgd2l0aCBoZWFwcyB0aGF0IGhh
dmUgYSB0eXBlLCBhbmQgdGhhdCB0eXBlIGhhcyBhIHNpemUgYW5kIGFsaWdubWVudCwgYW5kIHlv
dSB3YW50IHRvIGFsbG9jYXRlIGFycmF5cyBvZgorICB0aGF0IHR5cGUgb3IgaW5zdGFuY2VzIG9m
IHRoYXQgdHlwZSB3aXRoIHNwZWNpYWwgYWxpZ25tZW50LgorLSBgcGFzX3RyeV9hbGxvY2F0ZV9w
cmltaXRpdmUuaGAsIHdoaWNoIGlzIHRoZSBwcmltaXRpdmUgb2JqZWN0IGFsbG9jYXRpb24gZmFz
dCBwYXRoIGZvciBoZWFwcyB0aGF0IGRvbid0IGhhdmUKKyAgYSB0eXBlIChpLmUuIHRoZXkgaGF2
ZSB0aGUgcHJpbWl0aXZlIHR5cGUgYXMgdGhlaXIgdHlwZSAtLSB0aGUgdHlwZSBzYXlzIGl0IGhh
cyBzaXplIGFuZCBhbGlnbm1lbnQgZXF1YWwgdG8KKyAgMSkuCistIGBwYXNfdHJ5X2FsbG9jYXRl
X2ludHJpbnNpYy5oYCwgd2hpY2ggaXMgdGhlIGludHJpbnNpYyBoZWFwIGFsbG9jYXRpb24gZmFz
dCBwYXRoLgorLSBgcGFzX3RyeV9yZWFsbG9jYXRlLmhgLCB3aGljaCBwcm92aWRlcyB2YXJpYW50
cyBvZiBhbGwgb2YgdGhlIGFsbG9jYXRvcnMgdGhhdCByZWFsbG9jYXRlIG1lbW9yeS4KKy0gYHBh
c19kZWFsbG9jYXRlLmhgLCB3aGljaCBwcm92aWRlcyB0aGUgZmFzdCBwYXRoIGZvciBgZnJlZWAu
CistIGBwYXNfZ2V0X2FsbG9jYXRpb25fc2l6ZS5oYCwgd2hpY2ggaXMgdGhlIGZhc3QgcGF0aCBm
b3IgYG1hbGxvY19zaXplYC4KKworT25lIHRoaW5nIHRvIHJlbWVtYmVyIHdoZW4gZGVhbGluZyB3
aXRoIHRoZSBmYXN0IHBhdGhzIGlzIHRoYXQgdGhleSBhcmUgZW5naW5lZXJlZCBzbyB0aGF0IG1h
bGxvYy9mcmVlIGZ1bmN0aW9ucworZG8gbm90IGhhdmUgYSBzdGFjayBmcmFtZSwgbm8gY2FsbGVl
IHNhdmVzLCBhbmQgZG9uJ3QgbmVlZCB0byBzYXZlIHRoZSBMUi9GUCB0byB0aGUgc3RhY2suIFRv
IGZhY2lsaXRhdGUgdGhpcywKK3dlIGhhdmUgdGhlIGZhc3QgcGF0aCBjYWxsIGFuIGlubGluZS1v
bmx5IGZhc3QgcGF0aCwgYW5kIGlmIHRoYXQgZmFpbHMsIHdlIGNhbGwgYSAiY2FzdWFsIGNhc2Ui
LiBUaGUgaW5saW5lLW9ubHkKK2Zhc3QgcGF0aCBtYWtlcyBubyBvdXQtb2YtbGluZSBmdW5jdGlv
biBjYWxscywgc2luY2UgaWYgaXQgZGlkLCB3ZSdkIG5lZWQgYSBzdGFjayBmZXJhbWUuIFRoZSBv
bmx5IHNsb3cgY2FsbCAodG8KK3RoZSBjYXN1YWwgY2FzZSkgaXMgYSB0YWlsIGNhbGwuIEZvciBl
eGFtcGxlOgorCisgICAgc3RhdGljIFBBU19BTFdBWVNfSU5MSU5FIHZvaWQqIGJtYWxsb2NfdHJ5
X2FsbG9jYXRlX2lubGluZShzaXplX3Qgc2l6ZSkKKyAgICB7CisgICAgICAgIHBhc19hbGxvY2F0
aW9uX3Jlc3VsdCByZXN1bHQ7CisgICAgICAgIHJlc3VsdCA9IGJtYWxsb2NfdHJ5X2FsbG9jYXRl
X2ltcGxfaW5saW5lX29ubHkoc2l6ZSwgMSk7CisgICAgICAgIGlmIChQQVNfTElLRUxZKHJlc3Vs
dC5kaWRfc3VjY2VlZCkpCisgICAgICAgICAgICByZXR1cm4gKHZvaWQqKXJlc3VsdC5iZWdpbjsK
KyAgICAgICAgcmV0dXJuIGJtYWxsb2NfdHJ5X2FsbG9jYXRlX2Nhc3VhbChzaXplKTsKKyAgICB9
CisKK1RoZSB3YXkgdGhhdCB0aGUgYGJtYWxsb2NfdHJ5X2FsbG9jYXRlX2ltcGxfaW5saW5lX29u
bHlgIGFuZCBgYm1hbGxvY190cnlfYWxsb2NhdGVfY2FzdWFsYCBmdW5jdGlvbnMgYXJlIGNyZWF0
ZWQKK2lzIHdpdGg6CisKKyAgICBQQVNfQ1JFQVRFX1RSWV9BTExPQ0FURV9JTlRSSU5TSUMoCisg
ICAgICAgIGJtYWxsb2NfdHJ5X2FsbG9jYXRlX2ltcGwsCisgICAgICAgIEJNQUxMT0NfSEVBUF9D
T05GSUcsCisgICAgICAgICZibWFsbG9jX2ludHJpbnNpY19ydW50aW1lX2NvbmZpZy5iYXNlLAor
ICAgICAgICAmYm1hbGxvY19hbGxvY2F0b3JfY291bnRzLAorICAgICAgICBwYXNfYWxsb2NhdGlv
bl9yZXN1bHRfaWRlbnRpdHksCisgICAgICAgICZibWFsbG9jX2NvbW1vbl9wcmltaXRpdmVfaGVh
cCwKKyAgICAgICAgJmJtYWxsb2NfY29tbW9uX3ByaW1pdGl2ZV9oZWFwX3N1cHBvcnQsCisgICAg
ICAgIHBhc19pbnRyaW5zaWNfaGVhcF9pc19kZXNpZ25hdGVkKTsKKworQWxsIGFsbG9jYXRpb24g
ZmFzdCBwYXRocyByZXF1aXJlIHRoaXMga2luZCBvZiBtYWNybyB0aGF0IGNyZWF0ZXMgYSBidW5j
aCBvZiBmdW5jdGlvbnMgLS0gYm90aCB0aGUgaW5saW5lIHBhdGhzCithbmQgdGhlIG91dC1vZi1s
aW5lIHBhdGhzLiBUaGUgZGVhbGxvY2F0aW9uLCByZWFsbG9jYXRpb24sIGFuZCBvdGhlciBmYXN0
IHBhdGhzIGFyZSBzaW1wbGVyLiBGb3IgZXhhbXBsZSwKK2RlYWxsb2NhdGlvbiBpcyBqdXN0Ogor
CisgICAgc3RhdGljIFBBU19BTFdBWVNfSU5MSU5FIHZvaWQgYm1hbGxvY19kZWFsbG9jYXRlX2lu
bGluZSh2b2lkKiBwdHIpCisgICAgeworICAgICAgICBwYXNfZGVhbGxvY2F0ZShwdHIsIEJNQUxM
T0NfSEVBUF9DT05GSUcpOworICAgIH0KKworSWYgeW91IGxvb2sgYXQgYHBhc19kZWFsbG9jYXRl
YCwgeW91J2xsIHNlZSBjbGV2ZXJuZXNzIHRoYXQgZW5zdXJlcyB0aGF0IHRoZSBzbG93IHBhdGgg
Y2FsbCBpcyBhIHRhaWwgY2FsbCwKK3NpbWlsYXJseSB0byBob3cgYWxsb2NhdG9ycyB3b3JrLiBI
b3dldmVyLCBmb3IgZGVhbGxvY2F0aW9uLCBJIGhhdmVuJ3QgaGFkIHRoZSBuZWVkIHRvIG1ha2Ug
dGhlIHNsb3cgY2FsbAorZXhwbGljaXQgaW4gdGhlIGNsaWVudCBzaWRlICh0aGUgd2F5IHRoYXQg
YGJtYWxsb2NfdHJ5X2FsbG9jYXRlX2lubGluZWAgaGFzIHRvIGV4cGxpY2l0bHkgY2FsbCB0aGUg
c2xvdyBwYXRoKS4KKworVGhpcyBjb25jbHVkZXMgdGhlIGRpc2N1c3Npb24gb2YgbGlicGFzIGRl
c2lnbi4KKworIyBUZXN0aW5nIExpYnBhcworCitJJ3ZlIHRyaWVkIHRvIHdyaXRlIHRlc3QgY2Fz
ZXMgZm9yIGV2ZXJ5IGJlaGF2aW9yIGluIGxpYnBhcywgdG8gdGhlIHBvaW50IHRoYXQgeW91IHNo
b3VsZCBmZWVsIGNvbWZvcnRhYmxlCitkcm9wcGluZyBhIG5ldyBsaWJwYXMgaW4gV2ViS2l0IChv
ciB3aGVyZXZlcikgaWYgYHRlc3RfcGFzYCBwYXNzZXMuCisKK2B0ZXN0X3Bhc2AgaXMgYSB3aGl0
ZS1ib3ggY29tcG9uZW50LCByZWdyZXNzaW9uLCBhbmQgdW5pdCB0ZXN0IHN1aXRlLiBJdCdzIGFs
bG93ZWQgdG8gY2FsbCBhbnkgbGlicGFzIGZ1bmN0aW9uLAorZXZlbiBpbnRlcm5hbCBmdW5jdGlv
bnMsIGFuZCBzb21ldGltZXMgZnVuY3Rpb25zIHRoYXQgbGlicGFzIGV4cG9zZXMgb25seSBmb3Ig
dGhlIHRlc3Qgc3VpdGUuCisKK0xpYnBhcyB0ZXN0aW5nIGVycnMgb24gdGhlIHNpZGUgb2YgYmVp
bmcgY29tcHJlaGVuc2l2ZSBldmVuIGlmIHRoaXMgY3JlYXRlcyBhbm5veWluZyBzaXR1YXRpb25z
LiBNYW55IHRlc3RzCithc3NlcnQgZGV0YWlsZWQgdGhpbmdzIGFib3V0IGhvdyBtYW55IG9iamVj
dHMgZml0IGluIGEgcGFnZSwgd2hhdCBhbiBvYmplY3QncyBvZmZzZXQgaXMgaW4gYSBwYWdlLCBh
bmQgdGhpbmdzCitsaWtlIHRoYXQuIFRoaXMgbWVhbnMgdGhhdCBzb21lIGJlaGF2aW9yIGNoYW5n
ZXMgaW4gbGlicGFzIHRoYXQgYXJlbid0IGluIGFueSB3YXkgd3Jvbmcgd2lsbCBzZXQgb2ZmIGVy
cm9ycyBpbgordGhlIHRlc3Qgc3VpdGUuIFNvLCBpdCdzIGNvbW1vbiB0byBoYXZlIHRvIHJlYmFz
ZSB0ZXN0cyB3aGVuIG1ha2luZyBsaWJwYXMgY2hhbmdlcy4KKworVGhlIGxpYnBhcyB0ZXN0IHN1
aXRlIGlzIHdyaXR0ZW4gaW4gQysrIGFuZCB1c2VzIGl0cyBvd24gdGVzdCBoYXJuZXNzIHRoYXQg
Zm9ya3MgZm9yIGVhY2ggdGVzdCwgc28gZWFjaCB0ZXN0CitydW5zIGluIGEgdG90YWxseSBwcmlz
dGluZSBzdGF0ZS4gQWxzbywgdGhlIHRlc3Qgc3VpdGUgY2FuIHVzZSBgbWFsbG9jYCBhbmQgYG5l
d2AgYXMgbXVjaCBhcyBpdCBsaWtlcywgc2luY2UgaW4KK3RoZSB0ZXN0IHN1aXRlLCBsaWJwYXMg
ZG9lcyBub3QgcmVwbGFjZSBgbWFsbG9jYCBhbmQgYGZyZWVgLgorCitUaGUgbW9zdCBpbXBvcnRh
bnQgbGlicGFzIHRlc3RzIGFyZSB0aGUgc28tY2FsbGVkICpjaGFvcyogdGVzdHMsIHdoaWNoIHJh
bmRvbWx5IGNyZWF0ZSBhbmQgZGVzdHJveSBvYmplY3RzIGFuZAorYXNzZXJ0IHRoYXQgdGhlIGhl
YXAncyBzdGF0ZSBpcyBzdGlsbCBzYW5lIChsaWtlIHRoYXQgbm8gbGl2ZSBvYmplY3RzIG92ZXJs
YXAsIHRoYXQgYWxsIGxpdmUgb2JqZWN0cyBhcmUKK2VudW1lcmFibGUsIGV0YykuCisKKyMgQ29u
Y2x1c2lvbgorCitMaWJwYXMgaXMgYSBiZWFzdCBvZiBhIG1hbGxvYywgZGVzaWduZWQgZm9yIHNw
ZWVkLCBtZW1vcnkgZWZmaWNpZW5jeSwgYW5kIHR5cGUgc2FmZXR5LiBNYXkgd2hvZXZlciBtYWlu
dGFpbnMgaXQKK2ZpbmQgc29tZSBqb3kgaW4gdGhpcyBpbnNhbmUgY29kZWJhc2UhCisK
</data>
<flag name="review"
          id="478143"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>