<?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>98152</bug_id>
          
          <creation_ts>2012-10-02 05:41:57 -0700</creation_ts>
          <short_desc>Remove comments from the Apache config files to start avoiding useless duplication.</short_desc>
          <delta_ts>2024-07-26 10:51:25 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>98151</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Raphael Kubo da Costa (:rakuco)">rakuco</reporter>
          <assigned_to name="Raphael Kubo da Costa (:rakuco)">rakuco</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>ojan</cc>
    
    <cc>pfeldman</cc>
    
    <cc>sacolo9459</cc>
    
    <cc>vohaw37044</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>732578</commentid>
    <comment_count>0</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-10-02 05:41:57 -0700</bug_when>
    <thetext>Remove comments from the Apache config files to start avoiding useless duplication.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732579</commentid>
    <comment_count>1</comment_count>
      <attachid>166678</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-10-02 05:43:23 -0700</bug_when>
    <thetext>Created attachment 166678
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732616</commentid>
    <comment_count>2</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2012-10-02 06:40:08 -0700</bug_when>
    <thetext>I personally find the comments in the config file useful to keep, but I understand the intention here. Would you consider putting the comments (one version of the comments) back after the files are consolidated ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732620</commentid>
    <comment_count>3</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-10-02 06:45:03 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; I personally find the comments in the config file useful to keep, but I understand the intention here. Would you consider putting the comments (one version of the comments) back after the files are consolidated ?

That could be possible, but in the end I would like to trim the file down to the point that only a few directives are needed, preferably the ones everyone is most familiar with.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732675</commentid>
    <comment_count>4</comment_count>
      <attachid>166678</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2012-10-02 08:44:38 -0700</bug_when>
    <thetext>Comment on attachment 166678
Patch

Looks good to me, r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732679</commentid>
    <comment_count>5</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-10-02 08:50:02 -0700</bug_when>
    <thetext>Thanks a lot. I will wait at least a few more hours before landing to give the guys in the West Coast some time to chime in as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732695</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-10-02 09:12:28 -0700</bug_when>
    <thetext>We could also just generate these from python, or at least do our per-por modifications:
http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/layout_tests/servers/apache_http_server.py#L117

I&apos;m glad to see someone cleaning this up a bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732713</commentid>
    <comment_count>7</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-10-02 09:24:11 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; We could also just generate these from python, or at least do our per-por modifications:
&gt; http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/layout_tests/servers/apache_http_server.py#L117

Yes, after talking to Dirk yesterday my idea is to generate as much configuration from Python as possible and get rid of all those mostly duplicate files in LayouTests/http/conf.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732727</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-10-02 09:39:13 -0700</bug_when>
    <thetext>SGTM.  I suspect each port requires very little custom config.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732746</commentid>
    <comment_count>9</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-10-02 09:51:33 -0700</bug_when>
    <thetext>Err, webkit-patch land-safely seems to have done only half of its job. I will land this manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732750</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-10-02 09:53:46 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Err, webkit-patch land-safely seems to have done only half of its job. I will land this manually.

Half, how?  Coul dyou file a bug with the error?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732756</commentid>
    <comment_count>11</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-10-02 09:57:10 -0700</bug_when>
    <thetext>Committed r130182: &lt;http://trac.webkit.org/changeset/130182&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732760</commentid>
    <comment_count>12</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-10-02 10:01:07 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; Err, webkit-patch land-safely seems to have done only half of its job. I will land this manually.
&gt; 
&gt; Half, how?  Coul dyou file a bug with the error?

Actually, I think it is most likely my fault -- I assumed it was going to cq+ the reviewed patch, but it turns out it was going to upload my working diff instead (and I had none), so it only marked the current patch as obsolete and stopped.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732767</commentid>
    <comment_count>13</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-10-02 10:06:02 -0700</bug_when>
    <thetext>Still sounds like a bug.  It should probably abort earlier if there is no diff. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732771</commentid>
    <comment_count>14</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-10-02 10:07:13 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Still sounds like a bug.  It should probably abort earlier if there is no diff. :(

Filed bug 98171.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732895</commentid>
    <comment_count>15</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-10-02 11:48:18 -0700</bug_when>
    <thetext>This caused inspector/debugger/source-url-comment.html to fail on the chromium bots. For some reason, these tests are loading tests from the http/tests directory. Not sure if that&apos;s related.

&lt;script src=&quot;../../http/tests/inspector/inspector-test.js&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;../../http/tests/inspector/debugger-test.js&quot;&gt;&lt;/script&gt;

http://test-results.appspot.com/dashboards/flakiness_dashboard.html#showExpectations=true&amp;tests=inspector%2Fdebugger%2Fsource-url-comment.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732898</commentid>
    <comment_count>16</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-10-02 11:49:11 -0700</bug_when>
    <thetext>Nm...I think the bots were just confused about revision numbers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733151</commentid>
    <comment_count>17</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-02 15:38:30 -0700</bug_when>
    <thetext>I also used to find these comments helpful when playing with configuration files. Having lines even for default values is useful to know what you can change.

Why is trimming down the configuration files important?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733169</commentid>
    <comment_count>18</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-10-02 16:01:02 -0700</bug_when>
    <thetext>These config files haven&apos;t changed much in years.  My understanding of what he&apos;s going for is to get us down to a single config file (which could have comments if we like) and then just some python to adjust the individual ports.

I suspect he&apos;ll find that we need very little configuration to support our needs.  I also suspect he&apos;ll find that the NRWT port architecture will make it very easy to do this all in python and either not have a config file at all (like Chromium currently does) or have a single one and a couple lines of per-port python tweaks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733171</commentid>
    <comment_count>19</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-10-02 16:02:45 -0700</bug_when>
    <thetext>I&apos;m not really for or against the comments.  If folks feel strongly, I&apos;m sure we can add them back, or better document our few needed config options.   (The comments have never really helped me.  Either a. I always need to google the Apache commands anyway, or b. I don&apos;t trust our files and look at the latest-and-greatest default config file from apache.org to make decisions on what to add/remove.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733221</commentid>
    <comment_count>20</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-02 16:48:01 -0700</bug_when>
    <thetext>&gt; These config files haven&apos;t changed much in years.

It&apos;s not always landed changes. For example, I found myself changing these files locally to test a different authentication scheme.

I don&apos;t see the need to deviate from what&apos;s shipped with Apache by default. As you said, we don&apos;t hack on these files much.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733465</commentid>
    <comment_count>21</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-10-03 02:05:44 -0700</bug_when>
    <thetext>I really don&apos;t have anything against putting comments back; the reason I committed this was just to make it easier to do the necessary plumbing, otherwise all changes to these files would result in big, cluttered diffs. I&apos;m OK with adding comments back later, sure.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166678</attachid>
            <date>2012-10-02 05:43:23 -0700</date>
            <delta_ts>2012-10-02 09:51:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98152-20121002154234.patch</filename>
            <type>text/plain</type>
            <size>134069</size>
            <attacher name="Raphael Kubo da Costa (:rakuco)">rakuco</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDEzMDE1NykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEyLTEwLTAyICBSYXBoYWVsIEt1Ym8gZGEg
Q29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50ZWwuY29tPgorCisgICAgICAgIFJlbW92
ZSBjb21tZW50cyBmcm9tIHRoZSBBcGFjaGUgY29uZmlnIGZpbGVzIHRvIHN0YXJ0IGF2b2lkaW5n
IHVzZWxlc3MgZHVwbGljYXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05ODE1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoaXMgaXMgdGhlIGZpcnN0IHN0ZXAgdG93YXJkcyBnZXR0aW5nIHJpZCBv
ZiB0aGUgbXVsdGlwbGUsIGFsbW9zdAorICAgICAgICBpZGVudGljYWwgQXBhY2hlIGh0dHBkLmNv
bmYgZmlsZXMgd2UgaGF2ZSBpbiB0aGUgdHJlZS4KKworICAgICAgICBCZWZvcmUgYW55dGhpbmcg
ZWxzZSwgcmVtb3ZlIHRoZSBkZWZhdWx0IGNvbW1lbnRzIGZyb20gdGhlbSB0bworICAgICAgICBy
ZWR1Y2UgdGhlIGRpZmYgaW4gbGF0ZXIgY29tbWl0cy4KKworICAgICAgICAqIGh0dHAvY29uZi9h
cGFjaGUyLWRlYmlhbi1odHRwZC5jb25mOgorICAgICAgICAqIGh0dHAvY29uZi9hcGFjaGUyLWh0
dHBkLmNvbmY6CisgICAgICAgICogaHR0cC9jb25mL2FwYWNoZTItbXN5cy1odHRwZC5jb25mOgor
ICAgICAgICAqIGh0dHAvY29uZi9jeWd3aW4taHR0cGQuY29uZjoKKyAgICAgICAgKiBodHRwL2Nv
bmYvZmVkb3JhLWh0dHBkLmNvbmY6CisKIDIwMTItMTAtMDIgIEFuZHJleSBLb3N5YWtvdiAgPGNh
c2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGdhcmRlbmluZy4KSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvY29uZi9hcGFjaGUyLWRlYmlhbi1odHRwZC5jb25mCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvY29uZi9hcGFjaGUyLWRlYmlhbi1odHRwZC5jb25mCShy
ZXZpc2lvbiAxMzAxNTEpCisrKyBMYXlvdXRUZXN0cy9odHRwL2NvbmYvYXBhY2hlMi1kZWJpYW4t
aHR0cGQuY29uZgkod29ya2luZyBjb3B5KQpAQCAtMSwxNjYgKzEsMjMgQEAKLSMjCi0jIyBodHRw
ZC5jb25mIC0tIEFwYWNoZSBIVFRQIHNlcnZlciBjb25maWd1cmF0aW9uIGZpbGUKLSMjCi0KLSMK
LSMgQmFzZWQgdXBvbiB0aGUgTkNTQSBzZXJ2ZXIgY29uZmlndXJhdGlvbiBmaWxlcyBvcmlnaW5h
bGx5IGJ5IFJvYiBNY0Nvb2wuCi0jCi0jIFRoaXMgaXMgdGhlIG1haW4gQXBhY2hlIHNlcnZlciBj
b25maWd1cmF0aW9uIGZpbGUuICBJdCBjb250YWlucyB0aGUKLSMgY29uZmlndXJhdGlvbiBkaXJl
Y3RpdmVzIHRoYXQgZ2l2ZSB0aGUgc2VydmVyIGl0cyBpbnN0cnVjdGlvbnMuCi0jIFNlZSA8VVJM
Omh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvPiBmb3IgZGV0YWlsZWQgaW5mb3JtYXRpb24g
YWJvdXQKLSMgdGhlIGRpcmVjdGl2ZXMuCi0jCi0jIERvIE5PVCBzaW1wbHkgcmVhZCB0aGUgaW5z
dHJ1Y3Rpb25zIGluIGhlcmUgd2l0aG91dCB1bmRlcnN0YW5kaW5nCi0jIHdoYXQgdGhleSBkby4g
IFRoZXkncmUgaGVyZSBvbmx5IGFzIGhpbnRzIG9yIHJlbWluZGVycy4gIElmIHlvdSBhcmUgdW5z
dXJlCi0jIGNvbnN1bHQgdGhlIG9ubGluZSBkb2NzLiBZb3UgaGF2ZSBiZWVuIHdhcm5lZC4gIAot
IwotIyBBZnRlciB0aGlzIGZpbGUgaXMgcHJvY2Vzc2VkLCB0aGUgc2VydmVyIHdpbGwgbG9vayBm
b3IgYW5kIHByb2Nlc3MKLSMgL3ByaXZhdGUvZXRjL2FwYWNoZTIvc3JtLmNvbmYgYW5kIHRoZW4g
L3ByaXZhdGUvZXRjL2FwYWNoZTIvYWNjZXNzLmNvbmYKLSMgdW5sZXNzIHlvdSBoYXZlIG92ZXJy
aWRkZW4gdGhlc2Ugd2l0aCBSZXNvdXJjZUNvbmZpZyBhbmQvb3IKLSMgQWNjZXNzQ29uZmlnIGRp
cmVjdGl2ZXMgaGVyZS4KLSMKLSMgVGhlIGNvbmZpZ3VyYXRpb24gZGlyZWN0aXZlcyBhcmUgZ3Jv
dXBlZCBpbnRvIHRocmVlIGJhc2ljIHNlY3Rpb25zOgotIyAgMS4gRGlyZWN0aXZlcyB0aGF0IGNv
bnRyb2wgdGhlIG9wZXJhdGlvbiBvZiB0aGUgQXBhY2hlIHNlcnZlciBwcm9jZXNzIGFzIGEKLSMg
ICAgIHdob2xlICh0aGUgJ2dsb2JhbCBlbnZpcm9ubWVudCcpLgotIyAgMi4gRGlyZWN0aXZlcyB0
aGF0IGRlZmluZSB0aGUgcGFyYW1ldGVycyBvZiB0aGUgJ21haW4nIG9yICdkZWZhdWx0JyBzZXJ2
ZXIsCi0jICAgICB3aGljaCByZXNwb25kcyB0byByZXF1ZXN0cyB0aGF0IGFyZW4ndCBoYW5kbGVk
IGJ5IGEgdmlydHVhbCBob3N0LgotIyAgICAgVGhlc2UgZGlyZWN0aXZlcyBhbHNvIHByb3ZpZGUg
ZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZSBzZXR0aW5ncwotIyAgICAgb2YgYWxsIHZpcnR1YWwgaG9z
dHMuCi0jICAzLiBTZXR0aW5ncyBmb3IgdmlydHVhbCBob3N0cywgd2hpY2ggYWxsb3cgV2ViIHJl
cXVlc3RzIHRvIGJlIHNlbnQgdG8KLSMgICAgIGRpZmZlcmVudCBJUCBhZGRyZXNzZXMgb3IgaG9z
dG5hbWVzIGFuZCBoYXZlIHRoZW0gaGFuZGxlZCBieSB0aGUKLSMgICAgIHNhbWUgQXBhY2hlIHNl
cnZlciBwcm9jZXNzLgotIwotIyBDb25maWd1cmF0aW9uIGFuZCBsb2dmaWxlIG5hbWVzOiBJZiB0
aGUgZmlsZW5hbWVzIHlvdSBzcGVjaWZ5IGZvciBtYW55Ci0jIG9mIHRoZSBzZXJ2ZXIncyBjb250
cm9sIGZpbGVzIGJlZ2luIHdpdGggIi8iIChvciAiZHJpdmU6LyIgZm9yIFdpbjMyKSwgdGhlCi0j
IHNlcnZlciB3aWxsIHVzZSB0aGF0IGV4cGxpY2l0IHBhdGguICBJZiB0aGUgZmlsZW5hbWVzIGRv
ICpub3QqIGJlZ2luCi0jIHdpdGggIi8iLCB0aGUgdmFsdWUgb2YgU2VydmVyUm9vdCBpcyBwcmVw
ZW5kZWQgLS0gc28gImxvZ3MvZm9vLmxvZyIKLSMgd2l0aCBTZXJ2ZXJSb290IHNldCB0byAiL3Vz
ci9sb2NhbC9hcGFjaGUiIHdpbGwgYmUgaW50ZXJwcmV0ZWQgYnkgdGhlCi0jIHNlcnZlciBhcyAi
L3Vzci9sb2NhbC9hcGFjaGUvbG9ncy9mb28ubG9nIi4KLSMKLQotIyMjIFNlY3Rpb24gMTogR2xv
YmFsIEVudmlyb25tZW50Ci0jCi0jIFRoZSBkaXJlY3RpdmVzIGluIHRoaXMgc2VjdGlvbiBhZmZl
Y3QgdGhlIG92ZXJhbGwgb3BlcmF0aW9uIG9mIEFwYWNoZSwKLSMgc3VjaCBhcyB0aGUgbnVtYmVy
IG9mIGNvbmN1cnJlbnQgcmVxdWVzdHMgaXQgY2FuIGhhbmRsZSBvciB3aGVyZSBpdAotIyBjYW4g
ZmluZCBpdHMgY29uZmlndXJhdGlvbiBmaWxlcy4KLSMKLQotIwotIyBTZXJ2ZXJSb290OiBUaGUg
dG9wIG9mIHRoZSBkaXJlY3RvcnkgdHJlZSB1bmRlciB3aGljaCB0aGUgc2VydmVyJ3MKLSMgY29u
ZmlndXJhdGlvbiwgZXJyb3IsIGFuZCBsb2cgZmlsZXMgYXJlIGtlcHQuCi0jCi0jIE5PVEUhICBJ
ZiB5b3UgaW50ZW5kIHRvIHBsYWNlIHRoaXMgb24gYW4gTkZTIChvciBvdGhlcndpc2UgbmV0d29y
aykKLSMgbW91bnRlZCBmaWxlc3lzdGVtIHRoZW4gcGxlYXNlIHJlYWQgdGhlIExvY2tGaWxlIGRv
Y3VtZW50YXRpb24KLSMgKGF2YWlsYWJsZSBhdCA8VVJMOmh0dHA6Ly93d3cuYXBhY2hlLm9yZy9k
b2NzL21vZC9jb3JlLmh0bWwjbG9ja2ZpbGU+KTsKLSMgeW91IHdpbGwgc2F2ZSB5b3Vyc2VsZiBh
IGxvdCBvZiB0cm91YmxlLgotIwogU2VydmVyUm9vdCAiL3VzciIKIAotIwotIyBUaGUgTG9ja0Zp
bGUgZGlyZWN0aXZlIHNldHMgdGhlIHBhdGggdG8gdGhlIGxvY2tmaWxlIHVzZWQgd2hlbiBBcGFj
aGUKLSMgaXMgY29tcGlsZWQgd2l0aCBlaXRoZXIgVVNFX0ZDTlRMX1NFUklBTElaRURfQUNDRVBU
IG9yCi0jIFVTRV9GTE9DS19TRVJJQUxJWkVEX0FDQ0VQVC4gVGhpcyBkaXJlY3RpdmUgc2hvdWxk
IG5vcm1hbGx5IGJlIGxlZnQgYXQKLSMgaXRzIGRlZmF1bHQgdmFsdWUuIFRoZSBtYWluIHJlYXNv
biBmb3IgY2hhbmdpbmcgaXQgaXMgaWYgdGhlIGxvZ3MKLSMgZGlyZWN0b3J5IGlzIE5GUyBtb3Vu
dGVkLCBzaW5jZSB0aGUgbG9ja2ZpbGUgTVVTVCBCRSBTVE9SRUQgT04gQSBMT0NBTAotIyBESVNL
LiBUaGUgUElEIG9mIHRoZSBtYWluIHNlcnZlciBwcm9jZXNzIGlzIGF1dG9tYXRpY2FsbHkgYXBw
ZW5kZWQgdG8KLSMgdGhlIGZpbGVuYW1lLiAKLSMKIExvY2tGaWxlICIvdG1wL1dlYktpdC9odHRw
ZC5sb2NrIgotCi0jCi0jIFBpZEZpbGU6IFRoZSBmaWxlIGluIHdoaWNoIHRoZSBzZXJ2ZXIgc2hv
dWxkIHJlY29yZCBpdHMgcHJvY2VzcwotIyBpZGVudGlmaWNhdGlvbiBudW1iZXIgd2hlbiBpdCBz
dGFydHMuCi0jCiBQaWRGaWxlICIvdG1wL1dlYktpdC9odHRwZC5waWQiCi0KLSMKLSMgU2NvcmVC
b2FyZEZpbGU6IEZpbGUgdXNlZCB0byBzdG9yZSBpbnRlcm5hbCBzZXJ2ZXIgcHJvY2VzcyBpbmZv
cm1hdGlvbi4KLSMgTm90IGFsbCBhcmNoaXRlY3R1cmVzIHJlcXVpcmUgdGhpcy4gIEJ1dCBpZiB5
b3VycyBkb2VzICh5b3UnbGwga25vdyBiZWNhdXNlCi0jIHRoaXMgZmlsZSB3aWxsIGJlICBjcmVh
dGVkIHdoZW4geW91IHJ1biBBcGFjaGUpIHRoZW4geW91ICptdXN0KiBlbnN1cmUgdGhhdAotIyBu
byB0d28gaW52b2NhdGlvbnMgb2YgQXBhY2hlIHNoYXJlIHRoZSBzYW1lIHNjb3JlYm9hcmQgZmls
ZS4KLSMKIFNjb3JlQm9hcmRGaWxlICIvdG1wL1dlYktpdC9odHRwZC5zY29yZWJvYXJkIgogCi0j
Ci0jIFRpbWVvdXQ6IFRoZSBudW1iZXIgb2Ygc2Vjb25kcyBiZWZvcmUgcmVjZWl2ZXMgYW5kIHNl
bmRzIHRpbWUgb3V0LgotIwogVGltZW91dCAzMDAKLQotIwotIyBLZWVwQWxpdmU6IFdoZXRoZXIg
b3Igbm90IHRvIGFsbG93IHBlcnNpc3RlbnQgY29ubmVjdGlvbnMgKG1vcmUgdGhhbgotIyBvbmUg
cmVxdWVzdCBwZXIgY29ubmVjdGlvbikuIFNldCB0byAiT2ZmIiB0byBkZWFjdGl2YXRlLgotIwog
S2VlcEFsaXZlIE9uCi0KLSMKLSMgTWF4S2VlcEFsaXZlUmVxdWVzdHM6IFRoZSBtYXhpbXVtIG51
bWJlciBvZiByZXF1ZXN0cyB0byBhbGxvdwotIyBkdXJpbmcgYSBwZXJzaXN0ZW50IGNvbm5lY3Rp
b24uIFNldCB0byAwIHRvIGFsbG93IGFuIHVubGltaXRlZCBhbW91bnQuCi0jIFdlIHJlY29tbWVu
ZCB5b3UgbGVhdmUgdGhpcyBudW1iZXIgaGlnaCwgZm9yIG1heGltdW0gcGVyZm9ybWFuY2UuCi0j
CiBNYXhLZWVwQWxpdmVSZXF1ZXN0cyAxMDAKLQotIwotIyBLZWVwQWxpdmVUaW1lb3V0OiBOdW1i
ZXIgb2Ygc2Vjb25kcyB0byB3YWl0IGZvciB0aGUgbmV4dCByZXF1ZXN0IGZyb20gdGhlCi0jIHNh
bWUgY2xpZW50IG9uIHRoZSBzYW1lIGNvbm5lY3Rpb24uCi0jCiBLZWVwQWxpdmVUaW1lb3V0IDE1
CiAKLSMKLSMgU2VydmVyLXBvb2wgc2l6ZSByZWd1bGF0aW9uLiAgUmF0aGVyIHRoYW4gbWFraW5n
IHlvdSBndWVzcyBob3cgbWFueQotIyBzZXJ2ZXIgcHJvY2Vzc2VzIHlvdSBuZWVkLCBBcGFjaGUg
ZHluYW1pY2FsbHkgYWRhcHRzIHRvIHRoZSBsb2FkIGl0Ci0jIHNlZXMgLS0tIHRoYXQgaXMsIGl0
IHRyaWVzIHRvIG1haW50YWluIGVub3VnaCBzZXJ2ZXIgcHJvY2Vzc2VzIHRvCi0jIGhhbmRsZSB0
aGUgY3VycmVudCBsb2FkLCBwbHVzIGEgZmV3IHNwYXJlIHNlcnZlcnMgdG8gaGFuZGxlIHRyYW5z
aWVudAotIyBsb2FkIHNwaWtlcyAoZS5nLiwgbXVsdGlwbGUgc2ltdWx0YW5lb3VzIHJlcXVlc3Rz
IGZyb20gYSBzaW5nbGUKLSMgTmV0c2NhcGUgYnJvd3NlcikuCi0jCi0jIEl0IGRvZXMgdGhpcyBi
eSBwZXJpb2RpY2FsbHkgY2hlY2tpbmcgaG93IG1hbnkgc2VydmVycyBhcmUgd2FpdGluZwotIyBm
b3IgYSByZXF1ZXN0LiAgSWYgdGhlcmUgYXJlIGZld2VyIHRoYW4gTWluU3BhcmVTZXJ2ZXJzLCBp
dCBjcmVhdGVzCi0jIGEgbmV3IHNwYXJlLiAgSWYgdGhlcmUgYXJlIG1vcmUgdGhhbiBNYXhTcGFy
ZVNlcnZlcnMsIHNvbWUgb2YgdGhlCi0jIHNwYXJlcyBkaWUgb2ZmLiAgVGhlIGRlZmF1bHQgdmFs
dWVzIGFyZSBwcm9iYWJseSBPSyBmb3IgbW9zdCBzaXRlcy4KLSMKIE1pblNwYXJlU2VydmVycyAx
CiBNYXhTcGFyZVNlcnZlcnMgNQotCi0jCi0jIE51bWJlciBvZiBzZXJ2ZXJzIHRvIHN0YXJ0IGlu
aXRpYWxseSAtLS0gc2hvdWxkIGJlIGEgcmVhc29uYWJsZSBiYWxscGFyawotIyBmaWd1cmUuCi0j
CiBTdGFydFNlcnZlcnMgMQotCi0jCi0jIExpbWl0IG9uIHRvdGFsIG51bWJlciBvZiBzZXJ2ZXJz
IHJ1bm5pbmcsIGkuZS4sIGxpbWl0IG9uIHRoZSBudW1iZXIKLSMgb2YgY2xpZW50cyB3aG8gY2Fu
IHNpbXVsdGFuZW91c2x5IGNvbm5lY3QgLS0tIGlmIHRoaXMgbGltaXQgaXMgZXZlcgotIyByZWFj
aGVkLCBjbGllbnRzIHdpbGwgYmUgTE9DS0VEIE9VVCwgc28gaXQgc2hvdWxkIE5PVCBCRSBTRVQg
VE9PIExPVy4KLSMgSXQgaXMgaW50ZW5kZWQgbWFpbmx5IGFzIGEgYnJha2UgdG8ga2VlcCBhIHJ1
bmF3YXkgc2VydmVyIGZyb20gdGFraW5nCi0jIHRoZSBzeXN0ZW0gd2l0aCBpdCBhcyBpdCBzcGly
YWxzIGRvd24uLi4KLSMKIE1heENsaWVudHMgMTUwCi0KLSMKLSMgTWF4UmVxdWVzdHNQZXJDaGls
ZDogdGhlIG51bWJlciBvZiByZXF1ZXN0cyBlYWNoIGNoaWxkIHByb2Nlc3MgaXMKLSMgYWxsb3dl
ZCB0byBwcm9jZXNzIGJlZm9yZSB0aGUgY2hpbGQgZGllcy4gIFRoZSBjaGlsZCB3aWxsIGV4aXQg
c28KLSMgYXMgdG8gYXZvaWQgcHJvYmxlbXMgYWZ0ZXIgcHJvbG9uZ2VkIHVzZSB3aGVuIEFwYWNo
ZSAoYW5kIG1heWJlIHRoZQotIyBsaWJyYXJpZXMgaXQgdXNlcykgbGVhayBtZW1vcnkgb3Igb3Ro
ZXIgcmVzb3VyY2VzLiAgT24gbW9zdCBzeXN0ZW1zLCB0aGlzCi0jIGlzbid0IHJlYWxseSBuZWVk
ZWQsIGJ1dCBhIGZldyAoc3VjaCBhcyBTb2xhcmlzKSBkbyBoYXZlIG5vdGFibGUgbGVha3MKLSMg
aW4gdGhlIGxpYnJhcmllcy4gRm9yIHRoZXNlIHBsYXRmb3Jtcywgc2V0IHRvIHNvbWV0aGluZyBs
aWtlIDEwMDAwCi0jIG9yIHNvOyBhIHNldHRpbmcgb2YgMCBtZWFucyB1bmxpbWl0ZWQuCi0jCi0j
IE5PVEU6IFRoaXMgdmFsdWUgZG9lcyBub3QgaW5jbHVkZSBrZWVwYWxpdmUgcmVxdWVzdHMgYWZ0
ZXIgdGhlIGluaXRpYWwKLSMgICAgICAgcmVxdWVzdCBwZXIgY29ubmVjdGlvbi4gRm9yIGV4YW1w
bGUsIGlmIGEgY2hpbGQgcHJvY2VzcyBoYW5kbGVzCi0jICAgICAgIGFuIGluaXRpYWwgcmVxdWVz
dCBhbmQgMTAgc3Vic2VxdWVudCAia2VwdGFsaXZlIiByZXF1ZXN0cywgaXQKLSMgICAgICAgd291
bGQgb25seSBjb3VudCBhcyAxIHJlcXVlc3QgdG93YXJkcyB0aGlzIGxpbWl0LgogIwogTWF4UmVx
dWVzdHNQZXJDaGlsZCAxMDAwMDAKIAotIwotIyBMaXN0ZW46IEFsbG93cyB5b3UgdG8gYmluZCBB
cGFjaGUgdG8gc3BlY2lmaWMgSVAgYWRkcmVzc2VzIGFuZC9vcgotIyBwb3J0cywgaW5zdGVhZCBv
ZiB0aGUgZGVmYXVsdC4gU2VlIGFsc28gdGhlIDxWaXJ0dWFsSG9zdD4KLSMgZGlyZWN0aXZlLgot
IwogIyBDb25maWd1cmVkIGZyb20gdGhlIGh0dHBkIGNvbW1hbmQgbGluZSBmb3IgV2ViS2l0IGxh
eW91dCB0ZXN0cy4KICMgUG9ydCA4NDQzIGlzIGhhcmQtY29kZWQgYXMgaXQgaXMgbmVlZGVkIGZv
ciB0aGUgSFRUUFMgY29uZmlndXJhdGlvbiBsYXRlciBvbi4KLSMKLSNMaXN0ZW4gMzAwMAogTGlz
dGVuIDEyNy4wLjAuMTo4MDgwCiBMaXN0ZW4gMTI3LjAuMC4xOjg0NDMKICMgV2UgbGlzdGVuIHRv
IGJvdGggSVB2NCBhbmQgSVB2NiBsb29wLWJhY2sgYWRkcmVzc2VzLCBidXQgaWdub3JlCkBAIC0x
NzQsMzE0ICszMSw1MyBAQCBMaXN0ZW4gMTI3LjAuMC4xOjg0NDMKICNMaXN0ZW4gWzo6MV06ODA4
MAogI0xpc3RlbiBbOjoxXTo4NDQzCiAKLSMKLSMgRHluYW1pYyBTaGFyZWQgT2JqZWN0IChEU08p
IFN1cHBvcnQKLSMKLSMgVG8gYmUgYWJsZSB0byB1c2UgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgYSBt
b2R1bGUgd2hpY2ggd2FzIGJ1aWx0IGFzIGEgRFNPIHlvdQotIyBoYXZlIHRvIHBsYWNlIGNvcnJl
c3BvbmRpbmcgYExvYWRNb2R1bGUnIGxpbmVzIGF0IHRoaXMgbG9jYXRpb24gc28gdGhlCi0jIGRp
cmVjdGl2ZXMgY29udGFpbmVkIGluIGl0IGFyZSBhY3R1YWxseSBhdmFpbGFibGUgX2JlZm9yZV8g
dGhleSBhcmUgdXNlZC4KLSMgUGxlYXNlIHJlYWQgdGhlIGZpbGUgaHR0cDovL2h0dHBkLmFwYWNo
ZS5vcmcvZG9jcy9kc28uaHRtbCBmb3IgbW9yZQotIyBkZXRhaWxzIGFib3V0IHRoZSBEU08gbWVj
aGFuaXNtIGFuZCBydW4gYGh0dHBkIC1sJyBmb3IgdGhlIGxpc3Qgb2YgYWxyZWFkeQotIyBidWls
dC1pbiAoc3RhdGljYWxseSBsaW5rZWQgYW5kIHRodXMgYWx3YXlzIGF2YWlsYWJsZSkgbW9kdWxl
cyBpbiB5b3VyIGh0dHBkCi0jIGJpbmFyeS4KLSMKLSMgTm90ZTogVGhlIG9yZGVyIGluIHdoaWNo
IG1vZHVsZXMgYXJlIGxvYWRlZCBpcyBpbXBvcnRhbnQuICBEb24ndCBjaGFuZ2UKLSMgdGhlIG9y
ZGVyIGJlbG93IHdpdGhvdXQgZXhwZXJ0IGFkdmljZS4KLSMKLSMgRXhhbXBsZToKLSMgTG9hZE1v
ZHVsZSBmb29fbW9kdWxlIGxpYmV4ZWMvbW9kX2Zvby5zbwotI0xvYWRNb2R1bGUgdmhvc3RfYWxp
YXNfbW9kdWxlIC91c3IvbGliL2FwYWNoZTIvbW9kdWxlcy9tb2Rfdmhvc3RfYWxpYXMuc28KLSNM
b2FkTW9kdWxlIGVudl9tb2R1bGUgICAgICAgICAvdXNyL2xpYi9hcGFjaGUyL21vZHVsZXMvbW9k
X2Vudi5zbwotI0xvYWRNb2R1bGUgbG9nX2NvbmZpZ19tb2R1bGUgIC91c3IvbGliL2FwYWNoZTIv
bW9kdWxlcy9tb2RfbG9nX2NvbmZpZy5zbwotI0xvYWRNb2R1bGUgbWltZV9tYWdpY19tb2R1bGUg
IC91c3IvbGliL2FwYWNoZTIvbW9kdWxlcy9tb2RfbWltZV9tYWdpYy5zbwogTG9hZE1vZHVsZSBt
aW1lX21vZHVsZSAgICAgICAgL3Vzci9saWIvYXBhY2hlMi9tb2R1bGVzL21vZF9taW1lLnNvCiBM
b2FkTW9kdWxlIG5lZ290aWF0aW9uX21vZHVsZSAvdXNyL2xpYi9hcGFjaGUyL21vZHVsZXMvbW9k
X25lZ290aWF0aW9uLnNvCi0jTG9hZE1vZHVsZSBzdGF0dXNfbW9kdWxlICAgICAgL3Vzci9saWIv
YXBhY2hlMi9tb2R1bGVzL21vZF9zdGF0dXMuc28KLSNMb2FkTW9kdWxlIGluZm9fbW9kdWxlICAg
ICAgICAvdXNyL2xpYi9hcGFjaGUyL21vZHVsZXMvbW9kX2luZm8uc28KIExvYWRNb2R1bGUgaW5j
bHVkZV9tb2R1bGUgICAgL3Vzci9saWIvYXBhY2hlMi9tb2R1bGVzL21vZF9pbmNsdWRlLnNvCi0j
TG9hZE1vZHVsZSBhdXRvaW5kZXhfbW9kdWxlICAgL3Vzci9saWIvYXBhY2hlMi9tb2R1bGVzL21v
ZF9hdXRvaW5kZXguc28KLSNMb2FkTW9kdWxlIGRpcl9tb2R1bGUgICAgICAgICAvdXNyL2xpYi9h
cGFjaGUyL21vZHVsZXMvbW9kX2Rpci5zbwogTG9hZE1vZHVsZSBjZ2lfbW9kdWxlICAgICAgICAg
L3Vzci9saWIvYXBhY2hlMi9tb2R1bGVzL21vZF9jZ2kuc28KIExvYWRNb2R1bGUgYXNpc19tb2R1
bGUgICAgICAgIC91c3IvbGliL2FwYWNoZTIvbW9kdWxlcy9tb2RfYXNpcy5zbwogTG9hZE1vZHVs
ZSBpbWFnZW1hcF9tb2R1bGUgICAgL3Vzci9saWIvYXBhY2hlMi9tb2R1bGVzL21vZF9pbWFnZW1h
cC5zbwogTG9hZE1vZHVsZSBhY3Rpb25zX21vZHVsZSAgICAgIC91c3IvbGliL2FwYWNoZTIvbW9k
dWxlcy9tb2RfYWN0aW9ucy5zbwotI0xvYWRNb2R1bGUgc3BlbGluZ19tb2R1bGUgICAgIC91c3Iv
bGliL2FwYWNoZTIvbW9kdWxlcy9tb2Rfc3BlbGluZy5zbwotI0xvYWRNb2R1bGUgdXNlcmRpcl9t
b2R1bGUgICAgIC91c3IvbGliL2FwYWNoZTIvbW9kdWxlcy9tb2RfdXNlcmRpci5zbwogTG9hZE1v
ZHVsZSBhbGlhc19tb2R1bGUgICAgICAgL3Vzci9saWIvYXBhY2hlMi9tb2R1bGVzL21vZF9hbGlh
cy5zbwogTG9hZE1vZHVsZSByZXdyaXRlX21vZHVsZSAgICAgL3Vzci9saWIvYXBhY2hlMi9tb2R1
bGVzL21vZF9yZXdyaXRlLnNvCiBMb2FkTW9kdWxlIGF1dGh6X2hvc3RfbW9kdWxlICAvdXNyL2xp
Yi9hcGFjaGUyL21vZHVsZXMvbW9kX2F1dGh6X2hvc3Quc28KLSNMb2FkTW9kdWxlIGF1dGhfbW9k
dWxlICAgICAgICAvdXNyL2xpYi9hcGFjaGUyL21vZHVsZXMvbW9kX2F1dGhfYmFzaWMuc28KLSNM
b2FkTW9kdWxlIGFub25fYXV0aF9tb2R1bGUgICAvdXNyL2xpYi9hcGFjaGUyL21vZHVsZXMvbW9k
X2F1dGhfYW5vbi5zbwotI0xvYWRNb2R1bGUgZGJtX2F1dGhfbW9kdWxlICAgIC91c3IvbGliL2Fw
YWNoZTIvbW9kdWxlcy9tb2RfYXV0aF9kYm0uc28KLSNMb2FkTW9kdWxlIGRpZ2VzdF9tb2R1bGUg
ICAgICAvdXNyL2xpYi9hcGFjaGUyL21vZHVsZXMvbW9kX2RpZ2VzdC5zbwotI0xvYWRNb2R1bGUg
cHJveHlfbW9kdWxlICAgICAgIC91c3IvbGliL2FwYWNoZTIvbW9kdWxlcy9saWJwcm94eS5zbwot
I0xvYWRNb2R1bGUgY2Vybl9tZXRhX21vZHVsZSAgIC91c3IvbGliL2FwYWNoZTIvbW9kdWxlcy9t
b2RfY2Vybl9tZXRhLnNvCi0jTG9hZE1vZHVsZSBleHBpcmVzX21vZHVsZSAgICAgL3Vzci9saWIv
YXBhY2hlMi9tb2R1bGVzL21vZF9leHBpcmVzLnNvCiBMb2FkTW9kdWxlIGhlYWRlcnNfbW9kdWxl
ICAgICAvdXNyL2xpYi9hcGFjaGUyL21vZHVsZXMvbW9kX2hlYWRlcnMuc28KLSNMb2FkTW9kdWxl
IHVzZXJ0cmFja19tb2R1bGUgICAvdXNyL2xpYi9hcGFjaGUyL21vZHVsZXMvbW9kX3VzZXJ0cmFj
ay5zbwotI0xvYWRNb2R1bGUgbG9nX2ZvcmVuc2ljX21vZHVsZSAvdXNyL2xpYi9hcGFjaGUyL21v
ZHVsZXMvbW9kX2xvZ19mb3JlbnNpYy5zbwotI0xvYWRNb2R1bGUgdW5pcXVlX2lkX21vZHVsZSAg
IC91c3IvbGliL2FwYWNoZTIvbW9kdWxlcy9tb2RfdW5pcXVlX2lkLnNvCi0jTG9hZE1vZHVsZSBz
ZXRlbnZpZl9tb2R1bGUgICAgL3Vzci9saWIvYXBhY2hlMi9tb2R1bGVzL21vZF9zZXRlbnZpZi5z
bwotI0xvYWRNb2R1bGUgZGF2X21vZHVsZSAgICAgICAgIC91c3IvbGliL2FwYWNoZTIvbW9kdWxl
cy9saWJkYXYuc28KIExvYWRNb2R1bGUgc3NsX21vZHVsZSAgICAgICAgIC91c3IvbGliL2FwYWNo
ZTIvbW9kdWxlcy9tb2Rfc3NsLnNvCi0jTG9hZE1vZHVsZSBwZXJsX21vZHVsZSAgICAgICAgL3Vz
ci9saWIvYXBhY2hlMi9tb2R1bGVzL2xpYnBlcmwuc28KIExvYWRNb2R1bGUgcGhwNV9tb2R1bGUg
ICAgICAgIC91c3IvbGliL2FwYWNoZTIvbW9kdWxlcy9saWJwaHA1LnNvCi0jTG9hZE1vZHVsZSBo
ZnNfYXBwbGVfbW9kdWxlICAgL3Vzci9saWIvYXBhY2hlMi9tb2R1bGVzL21vZF9oZnNfYXBwbGUu
c28KLSNMb2FkTW9kdWxlIGJvbmpvdXJfbW9kdWxlICAgICAvdXNyL2xpYi9hcGFjaGUyL21vZHVs
ZXMvbW9kX2JvbmpvdXIuc28KLQotIyMjIFNlY3Rpb24gMjogJ01haW4nIHNlcnZlciBjb25maWd1
cmF0aW9uCi0jCi0jIFRoZSBkaXJlY3RpdmVzIGluIHRoaXMgc2VjdGlvbiBzZXQgdXAgdGhlIHZh
bHVlcyB1c2VkIGJ5IHRoZSAnbWFpbicKLSMgc2VydmVyLCB3aGljaCByZXNwb25kcyB0byBhbnkg
cmVxdWVzdHMgdGhhdCBhcmVuJ3QgaGFuZGxlZCBieSBhCi0jIDxWaXJ0dWFsSG9zdD4gZGVmaW5p
dGlvbi4gIFRoZXNlIHZhbHVlcyBhbHNvIHByb3ZpZGUgZGVmYXVsdHMgZm9yCi0jIGFueSA8Vmly
dHVhbEhvc3Q+IGNvbnRhaW5lcnMgeW91IG1heSBkZWZpbmUgbGF0ZXIgaW4gdGhlIGZpbGUuCi0j
Ci0jIEFsbCBvZiB0aGVzZSBkaXJlY3RpdmVzIG1heSBhcHBlYXIgaW5zaWRlIDxWaXJ0dWFsSG9z
dD4gY29udGFpbmVycywKLSMgaW4gd2hpY2ggY2FzZSB0aGVzZSBkZWZhdWx0IHNldHRpbmdzIHdp
bGwgYmUgb3ZlcnJpZGRlbiBmb3IgdGhlCi0jIHZpcnR1YWwgaG9zdCBiZWluZyBkZWZpbmVkLgot
IwogCi0jCi0jIFNlcnZlck5hbWUgYWxsb3dzIHlvdSB0byBzZXQgYSBob3N0IG5hbWUgd2hpY2gg
aXMgc2VudCBiYWNrIHRvIGNsaWVudHMgZm9yCi0jIHlvdXIgc2VydmVyIGlmIGl0J3MgZGlmZmVy
ZW50IHRoYW4gdGhlIG9uZSB0aGUgcHJvZ3JhbSB3b3VsZCBnZXQgKGkuZS4sIHVzZQotIyAid3d3
IiBpbnN0ZWFkIG9mIHRoZSBob3N0J3MgcmVhbCBuYW1lKS4KLSMKLSMgTm90ZTogWW91IGNhbm5v
dCBqdXN0IGludmVudCBob3N0IG5hbWVzIGFuZCBob3BlIHRoZXkgd29yay4gVGhlIG5hbWUgeW91
IAotIyBkZWZpbmUgaGVyZSBtdXN0IGJlIGEgdmFsaWQgRE5TIG5hbWUgZm9yIHlvdXIgaG9zdC4g
SWYgeW91IGRvbid0IHVuZGVyc3RhbmQKLSMgdGhpcywgYXNrIHlvdXIgbmV0d29yayBhZG1pbmlz
dHJhdG9yLgotIyBJZiB5b3VyIGhvc3QgZG9lc24ndCBoYXZlIGEgcmVnaXN0ZXJlZCBETlMgbmFt
ZSwgZW50ZXIgaXRzIElQIGFkZHJlc3MgaGVyZS4KLSMgWW91IHdpbGwgaGF2ZSB0byBhY2Nlc3Mg
aXQgYnkgaXRzIGFkZHJlc3MgKGUuZy4sIGh0dHA6Ly8xMjMuNDUuNjcuODkvKQotIyBhbnl3YXks
IGFuZCB0aGlzIHdpbGwgbWFrZSByZWRpcmVjdGlvbnMgd29yayBpbiBhIHNlbnNpYmxlIHdheS4K
LSMKLSMgMTI3LjAuMC4xIGlzIHRoZSBUQ1AvSVAgbG9jYWwgbG9vcC1iYWNrIGFkZHJlc3MsIG9m
dGVuIG5hbWVkIGxvY2FsaG9zdC4gWW91ciAKLSMgbWFjaGluZSBhbHdheXMga25vd3MgaXRzZWxm
IGJ5IHRoaXMgYWRkcmVzcy4gSWYgeW91IHVzZSBBcGFjaGUgc3RyaWN0bHkgZm9yIAotIyBsb2Nh
bCB0ZXN0aW5nIGFuZCBkZXZlbG9wbWVudCwgeW91IG1heSB1c2UgMTI3LjAuMC4xIGFzIHRoZSBz
ZXJ2ZXIgbmFtZS4KLSMKIFNlcnZlck5hbWUgMTI3LjAuMC4xCiAKLSMKLSMgRG9jdW1lbnRSb290
OiBUaGUgZGlyZWN0b3J5IG91dCBvZiB3aGljaCB5b3Ugd2lsbCBzZXJ2ZSB5b3VyCi0jIGRvY3Vt
ZW50cy4gQnkgZGVmYXVsdCwgYWxsIHJlcXVlc3RzIGFyZSB0YWtlbiBmcm9tIHRoaXMgZGlyZWN0
b3J5LCBidXQKLSMgc3ltYm9saWMgbGlua3MgYW5kIGFsaWFzZXMgbWF5IGJlIHVzZWQgdG8gcG9p
bnQgdG8gb3RoZXIgbG9jYXRpb25zLgotIwotIyBDb25maWd1cmVkIGZyb20gdGhlIGh0dHBkIGNv
bW1hbmQgbGluZSBmb3IgV2ViS2l0IGxheW91dCB0ZXN0cy4KLSNEb2N1bWVudFJvb3QgIi9MaWJy
YXJ5L1dlYlNlcnZlci9Eb2N1bWVudHMiCi0KLSMKLSMgRWFjaCBkaXJlY3RvcnkgdG8gd2hpY2gg
QXBhY2hlIGhhcyBhY2Nlc3MsIGNhbiBiZSBjb25maWd1cmVkIHdpdGggcmVzcGVjdAotIyB0byB3
aGljaCBzZXJ2aWNlcyBhbmQgZmVhdHVyZXMgYXJlIGFsbG93ZWQgYW5kL29yIGRpc2FibGVkIGlu
IHRoYXQKLSMgZGlyZWN0b3J5IChhbmQgaXRzIHN1YmRpcmVjdG9yaWVzKS4gCi0jCiA8RGlyZWN0
b3J5IC8+Ci0jCi0jIFRoaXMgbWF5IGFsc28gYmUgIk5vbmUiLCAiQWxsIiwgb3IgYW55IGNvbWJp
bmF0aW9uIG9mICJJbmRleGVzIiwKLSMgIkluY2x1ZGVzIiwgIkZvbGxvd1N5bUxpbmtzIiwgIkV4
ZWNDR0kiLCBvciAiTXVsdGlWaWV3cyIuCi0jCi0jIE5vdGUgdGhhdCAiTXVsdGlWaWV3cyIgbXVz
dCBiZSBuYW1lZCAqZXhwbGljaXRseSogLS0tICJPcHRpb25zIEFsbCIKLSMgZG9lc24ndCBnaXZl
IGl0IHRvIHlvdS4KLSMKICAgICBPcHRpb25zIEluZGV4ZXMgRm9sbG93U3ltTGlua3MgTXVsdGlW
aWV3cyBFeGVjQ0dJIEluY2x1ZGVzCi0KLSMKLSMgVGhpcyBjb250cm9scyB3aGljaCBvcHRpb25z
IHRoZSAuaHRhY2Nlc3MgZmlsZXMgaW4gZGlyZWN0b3JpZXMgY2FuCi0jIG92ZXJyaWRlLiBDYW4g
YWxzbyBiZSAiQWxsIiwgb3IgYW55IGNvbWJpbmF0aW9uIG9mICJPcHRpb25zIiwgIkZpbGVJbmZv
IiwgCi0jICJBdXRoQ29uZmlnIiwgYW5kICJMaW1pdCIKLSMKICAgICBBbGxvd092ZXJyaWRlIEFs
bAotCi0jCi0jIENvbnRyb2xzIHdobyBjYW4gZ2V0IHN0dWZmIGZyb20gdGhpcyBzZXJ2ZXIuCi0j
CiAgICAgT3JkZXIgYWxsb3csZGVueQogICAgIEFsbG93IGZyb20gYWxsCiA8L0RpcmVjdG9yeT4K
IAotIwotIyBBY2Nlc3NGaWxlTmFtZTogVGhlIG5hbWUgb2YgdGhlIGZpbGUgdG8gbG9vayBmb3Ig
aW4gZWFjaCBkaXJlY3RvcnkKLSMgZm9yIGFjY2VzcyBjb250cm9sIGluZm9ybWF0aW9uLgotIwog
QWNjZXNzRmlsZU5hbWUgLmh0YWNjZXNzCiAKLSMKLSMgVGhlIGZvbGxvd2luZyBsaW5lcyBwcmV2
ZW50IC5odGFjY2VzcyBmaWxlcyBmcm9tIGJlaW5nIHZpZXdlZCBieQotIyBXZWIgY2xpZW50cy4g
IFNpbmNlIC5odGFjY2VzcyBmaWxlcyBvZnRlbiBjb250YWluIGF1dGhvcml6YXRpb24KLSMgaW5m
b3JtYXRpb24sIGFjY2VzcyBpcyBkaXNhbGxvd2VkIGZvciBzZWN1cml0eSByZWFzb25zLiAgQ29t
bWVudAotIyB0aGVzZSBsaW5lcyBvdXQgaWYgeW91IHdhbnQgV2ViIHZpc2l0b3JzIHRvIHNlZSB0
aGUgY29udGVudHMgb2YKLSMgLmh0YWNjZXNzIGZpbGVzLiAgSWYgeW91IGNoYW5nZSB0aGUgQWNj
ZXNzRmlsZU5hbWUgZGlyZWN0aXZlIGFib3ZlLAotIyBiZSBzdXJlIHRvIG1ha2UgdGhlIGNvcnJl
c3BvbmRpbmcgY2hhbmdlcyBoZXJlLgotIwotIyBBbHNvLCBmb2xrcyB0ZW5kIHRvIHVzZSBuYW1l
cyBzdWNoIGFzIC5odHBhc3N3ZCBmb3IgcGFzc3dvcmQKLSMgZmlsZXMsIHNvIHRoaXMgd2lsbCBw
cm90ZWN0IHRob3NlIGFzIHdlbGwuCi0jCiA8RmlsZXMgfiAiXlwuKFtIaF1bVHRdfFtEZF1bU3Nd
X1tTc10pIj4KICAgICBPcmRlciBhbGxvdyxkZW55CiAgICAgRGVueSBmcm9tIGFsbAogICAgIFNh
dGlzZnkgQWxsCiA8L0ZpbGVzPgogCi0jCi0jIEFwcGxlIHNwZWNpZmljIGZpbGVzeXN0ZW0gcHJv
dGVjdGlvbi4KLSMgCi0KLTxGaWxlcyAicnNyYyI+Ci0gICAgT3JkZXIgYWxsb3csZGVueQotICAg
IERlbnkgZnJvbSBhbGwKLSAgICBTYXRpc2Z5IEFsbAotPC9GaWxlcz4KLQotPERpcmVjdG9yeSAg
fiAiLipcLlwubmFtZWRmb3JrIj4KLSAgICBPcmRlciBhbGxvdyxkZW55Ci0gICAgRGVueSBmcm9t
IGFsbAotICAgIFNhdGlzZnkgQWxsCi08L0RpcmVjdG9yeT4KLQotIwotIyBDYWNoZU5lZ290aWF0
ZWREb2NzOiBCeSBkZWZhdWx0LCBBcGFjaGUgc2VuZHMgIlByYWdtYTogbm8tY2FjaGUiIHdpdGgg
ZWFjaAotIyBkb2N1bWVudCB0aGF0IHdhcyBuZWdvdGlhdGVkIG9uIHRoZSBiYXNpcyBvZiBjb250
ZW50LiBUaGlzIGFza3MgcHJveHkKLSMgc2VydmVycyBub3QgdG8gY2FjaGUgdGhlIGRvY3VtZW50
LiBVbmNvbW1lbnRpbmcgdGhlIGZvbGxvd2luZyBsaW5lIGRpc2FibGVzCi0jIHRoaXMgYmVoYXZp
b3IsIGFuZCBwcm94aWVzIHdpbGwgYmUgYWxsb3dlZCB0byBjYWNoZSB0aGUgZG9jdW1lbnRzLgot
IwotI0NhY2hlTmVnb3RpYXRlZERvY3MKLQotIwotIyBVc2VDYW5vbmljYWxOYW1lOiAgKG5ldyBm
b3IgMS4zKSAgV2l0aCB0aGlzIHNldHRpbmcgdHVybmVkIG9uLCB3aGVuZXZlcgotIyBBcGFjaGUg
bmVlZHMgdG8gY29uc3RydWN0IGEgc2VsZi1yZWZlcmVuY2luZyBVUkwgKGEgVVJMIHRoYXQgcmVm
ZXJzIGJhY2sKLSMgdG8gdGhlIHNlcnZlciB0aGUgcmVzcG9uc2UgaXMgY29taW5nIGZyb20pIGl0
IHdpbGwgdXNlIFNlcnZlck5hbWUgYW5kCi0jIFBvcnQgdG8gZm9ybSBhICJjYW5vbmljYWwiIG5h
bWUuICBXaXRoIHRoaXMgc2V0dGluZyBvZmYsIEFwYWNoZSB3aWxsCi0jIHVzZSB0aGUgaG9zdG5h
bWU6cG9ydCB0aGF0IHRoZSBjbGllbnQgc3VwcGxpZWQsIHdoZW4gcG9zc2libGUuICBUaGlzCi0j
IGFsc28gYWZmZWN0cyBTRVJWRVJfTkFNRSBhbmQgU0VSVkVSX1BPUlQgaW4gQ0dJIHNjcmlwdHMu
Ci0jCiBVc2VDYW5vbmljYWxOYW1lIE9uCi0KLSMKLSMgVHlwZXNDb25maWcgZGVzY3JpYmVzIHdo
ZXJlIHRoZSBtaW1lLnR5cGVzIGZpbGUgKG9yIGVxdWl2YWxlbnQpIGlzCi0jIHRvIGJlIGZvdW5k
LgotIwotIyBDb25maWd1cmVkIGZyb20gdGhlIGh0dHBkIGNvbW1hbmQgbGluZSBmb3IgV2ViS2l0
IGxheW91dCB0ZXN0cy4KLSMKLSM8SWZNb2R1bGUgbW9kX21pbWUuYz4KLSMgICAgVHlwZXNDb25m
aWcgL3ByaXZhdGUvZXRjL2FwYWNoZTIvbWltZS50eXBlcwotIzwvSWZNb2R1bGU+Ci0KLSMKLSMg
RGVmYXVsdFR5cGUgaXMgdGhlIGRlZmF1bHQgTUlNRSB0eXBlIHRoZSBzZXJ2ZXIgd2lsbCB1c2Ug
Zm9yIGEgZG9jdW1lbnQKLSMgaWYgaXQgY2Fubm90IG90aGVyd2lzZSBkZXRlcm1pbmUgb25lLCBz
dWNoIGFzIGZyb20gZmlsZW5hbWUgZXh0ZW5zaW9ucy4KLSMgSWYgeW91ciBzZXJ2ZXIgY29udGFp
bnMgbW9zdGx5IHRleHQgb3IgSFRNTCBkb2N1bWVudHMsICJ0ZXh0L3BsYWluIiBpcwotIyBhIGdv
b2QgdmFsdWUuICBJZiBtb3N0IG9mIHlvdXIgY29udGVudCBpcyBiaW5hcnksIHN1Y2ggYXMgYXBw
bGljYXRpb25zCi0jIG9yIGltYWdlcywgeW91IG1heSB3YW50IHRvIHVzZSAiYXBwbGljYXRpb24v
b2N0ZXQtc3RyZWFtIiBpbnN0ZWFkIHRvCi0jIGtlZXAgYnJvd3NlcnMgZnJvbSB0cnlpbmcgdG8g
ZGlzcGxheSBiaW5hcnkgZmlsZXMgYXMgdGhvdWdoIHRoZXkgYXJlCi0jIHRleHQuCi0jCiBEZWZh
dWx0VHlwZSB0ZXh0L3BsYWluCi0KLSMKLSMgSG9zdG5hbWVMb29rdXBzOiBMb2cgdGhlIG5hbWVz
IG9mIGNsaWVudHMgb3IganVzdCB0aGVpciBJUCBhZGRyZXNzZXMKLSMgZS5nLiwgd3d3LmFwYWNo
ZS5vcmcgKG9uKSBvciAyMDQuNjIuMTI5LjEzMiAob2ZmKS4KLSMgVGhlIGRlZmF1bHQgaXMgb2Zm
IGJlY2F1c2UgaXQnZCBiZSBvdmVyYWxsIGJldHRlciBmb3IgdGhlIG5ldCBpZiBwZW9wbGUKLSMg
aGFkIHRvIGtub3dpbmdseSB0dXJuIHRoaXMgZmVhdHVyZSBvbiwgc2luY2UgZW5hYmxpbmcgaXQg
bWVhbnMgdGhhdAotIyBlYWNoIGNsaWVudCByZXF1ZXN0IHdpbGwgcmVzdWx0IGluIEFUIExFQVNU
IG9uZSBsb29rdXAgcmVxdWVzdCB0byB0aGUKLSMgbmFtZXNlcnZlci4KLSMKIEhvc3RuYW1lTG9v
a3VwcyBPZmYKIAotIwotIyBFcnJvckxvZzogVGhlIGxvY2F0aW9uIG9mIHRoZSBlcnJvciBsb2cg
ZmlsZS4KLSMgSWYgeW91IGRvIG5vdCBzcGVjaWZ5IGFuIEVycm9yTG9nIGRpcmVjdGl2ZSB3aXRo
aW4gYSA8VmlydHVhbEhvc3Q+Ci0jIGNvbnRhaW5lciwgZXJyb3IgbWVzc2FnZXMgcmVsYXRpbmcg
dG8gdGhhdCB2aXJ0dWFsIGhvc3Qgd2lsbCBiZQotIyBsb2dnZWQgaGVyZS4gIElmIHlvdSAqZG8q
IGRlZmluZSBhbiBlcnJvciBsb2dmaWxlIGZvciBhIDxWaXJ0dWFsSG9zdD4KLSMgY29udGFpbmVy
LCB0aGF0IGhvc3QncyBlcnJvcnMgd2lsbCBiZSBsb2dnZWQgdGhlcmUgYW5kIG5vdCBoZXJlLgot
IwotIyBDb25maWd1cmVkIGZyb20gdGhlIGh0dHBkIGNvbW1hbmQgbGluZSBmb3IgV2ViS2l0IGxh
eW91dCB0ZXN0cy4KLSNFcnJvckxvZyAiL3RtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Vycm9yX2xv
ZyIKLQotIwotIyBMb2dMZXZlbDogQ29udHJvbCB0aGUgbnVtYmVyIG9mIG1lc3NhZ2VzIGxvZ2dl
ZCB0byB0aGUgZXJyb3JfbG9nLgotIyBQb3NzaWJsZSB2YWx1ZXMgaW5jbHVkZTogZGVidWcsIGlu
Zm8sIG5vdGljZSwgd2FybiwgZXJyb3IsIGNyaXQsCi0jIGFsZXJ0LCBlbWVyZy4KLSMKIExvZ0xl
dmVsIHdhcm4KLQotIwotIyBUaGUgZm9sbG93aW5nIGRpcmVjdGl2ZXMgZGVmaW5lIHNvbWUgZm9y
bWF0IG5pY2tuYW1lcyBmb3IgdXNlIHdpdGgKLSMgYSBDdXN0b21Mb2cgZGlyZWN0aXZlIChzZWUg
YmVsb3cpLgotIwogTG9nRm9ybWF0ICIlaCAlbCAldSAldCBcIiVyXCIgJT5zICViIFwiJXtSZWZl
cmVyfWlcIiBcIiV7VXNlci1BZ2VudH1pXCIiIGNvbWJpbmVkCiBMb2dGb3JtYXQgIiVoICVsICV1
ICV0IFwiJXJcIiAlPnMgJWIiIGNvbW1vbgogTG9nRm9ybWF0ICIle1JlZmVyZXJ9aSAtPiAlVSIg
cmVmZXJlcgogTG9nRm9ybWF0ICIle1VzZXItYWdlbnR9aSIgYWdlbnQKIAotIwotIyBUaGUgbG9j
YXRpb24gYW5kIGZvcm1hdCBvZiB0aGUgYWNjZXNzIGxvZ2ZpbGUgKENvbW1vbiBMb2dmaWxlIEZv
cm1hdCkuCi0jIElmIHlvdSBkbyBub3QgZGVmaW5lIGFueSBhY2Nlc3MgbG9nZmlsZXMgd2l0aGlu
IGEgPFZpcnR1YWxIb3N0PgotIyBjb250YWluZXIsIHRoZXkgd2lsbCBiZSBsb2dnZWQgaGVyZS4g
IENvbnRyYXJpd2lzZSwgaWYgeW91ICpkbyoKLSMgZGVmaW5lIHBlci08VmlydHVhbEhvc3Q+IGFj
Y2VzcyBsb2dmaWxlcywgdHJhbnNhY3Rpb25zIHdpbGwgYmUKLSMgbG9nZ2VkIHRoZXJlaW4gYW5k
ICpub3QqIGluIHRoaXMgZmlsZS4KLSMKLSMgQ29uZmlndXJlZCBmcm9tIHRoZSBodHRwZCBjb21t
YW5kIGxpbmUgZm9yIFdlYktpdCBsYXlvdXQgdGVzdHMuCi0jQ3VzdG9tTG9nICIvdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvYWNjZXNzX2xvZyIgY29tbW9uCi0KLSMKLSMgSWYgeW91IHByZWZlciBh
IHNpbmdsZSBsb2dmaWxlIHdpdGggYWNjZXNzLCBhZ2VudCwgYW5kIHJlZmVyZXIgaW5mb3JtYXRp
b24KLSMgKENvbWJpbmVkIExvZ2ZpbGUgRm9ybWF0KSB5b3UgY2FuIHVzZSB0aGUgZm9sbG93aW5n
IGRpcmVjdGl2ZS4KLSMKLSNDdXN0b21Mb2cgIi90bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9hY2Nl
c3NfbG9nIiBjb21iaW5lZAotCi0jCi0jIE9wdGlvbmFsbHkgYWRkIGEgbGluZSBjb250YWluaW5n
IHRoZSBzZXJ2ZXIgdmVyc2lvbiBhbmQgdmlydHVhbCBob3N0Ci0jIG5hbWUgdG8gc2VydmVyLWdl
bmVyYXRlZCBwYWdlcyAoZXJyb3IgZG9jdW1lbnRzLCBGVFAgZGlyZWN0b3J5IGxpc3RpbmdzLAot
IyBtb2Rfc3RhdHVzIGFuZCBtb2RfaW5mbyBvdXRwdXQgZXRjLiwgYnV0IG5vdCBDR0kgZ2VuZXJh
dGVkIGRvY3VtZW50cykuCi0jIFNldCB0byAiRU1haWwiIHRvIGFsc28gaW5jbHVkZSBhIG1haWx0
bzogbGluayB0byB0aGUgU2VydmVyQWRtaW4uCi0jIFNldCB0byBvbmUgb2Y6ICBPbiB8IE9mZiB8
IEVNYWlsCi0jCiBTZXJ2ZXJTaWduYXR1cmUgT24KIAotIwotIyBBbGlhc2VzOiBBZGQgaGVyZSBh
cyBtYW55IGFsaWFzZXMgYXMgeW91IG5lZWQgKHdpdGggbm8gbGltaXQpLiBUaGUgZm9ybWF0IGlz
IAotIyBBbGlhcyBmYWtlbmFtZSByZWFsbmFtZQotIwogPElmTW9kdWxlIG1vZF9hbGlhcy5jPgog
PC9JZk1vZHVsZT4KLSMgRW5kIG9mIGFsaWFzZXMuCiAKLSMKLSMgUmVkaXJlY3QgYWxsb3dzIHlv
dSB0byB0ZWxsIGNsaWVudHMgYWJvdXQgZG9jdW1lbnRzIHdoaWNoIHVzZWQgdG8gZXhpc3QgaW4K
LSMgeW91ciBzZXJ2ZXIncyBuYW1lc3BhY2UsIGJ1dCBkbyBub3QgYW55bW9yZS4gVGhpcyBhbGxv
d3MgeW91IHRvIHRlbGwgdGhlCi0jIGNsaWVudHMgd2hlcmUgdG8gbG9vayBmb3IgdGhlIHJlbG9j
YXRlZCBkb2N1bWVudC4KLSMgRm9ybWF0OiBSZWRpcmVjdCBvbGQtVVJJIG5ldy1VUkwKLSMKLQot
IwotIyBEb2N1bWVudCB0eXBlcy4KLSMKIDxJZk1vZHVsZSBtb2RfbWltZS5jPgotCi0gICAgIwot
ICAgICMgQWRkTGFuZ3VhZ2UgYWxsb3dzIHlvdSB0byBzcGVjaWZ5IHRoZSBsYW5ndWFnZSBvZiBh
IGRvY3VtZW50LiBZb3UgY2FuCi0gICAgIyB0aGVuIHVzZSBjb250ZW50IG5lZ290aWF0aW9uIHRv
IGdpdmUgYSBicm93c2VyIGEgZmlsZSBpbiBhIGxhbmd1YWdlCi0gICAgIyBpdCBjYW4gdW5kZXJz
dGFuZC4gIAotICAgICMKLSAgICAjIE5vdGUgMTogVGhlIHN1ZmZpeCBkb2VzIG5vdCBoYXZlIHRv
IGJlIHRoZSBzYW1lIGFzIHRoZSBsYW5ndWFnZSAKLSAgICAjIGtleXdvcmQgLS0tIHRob3NlIHdp
dGggZG9jdW1lbnRzIGluIFBvbGlzaCAod2hvc2UgbmV0LXN0YW5kYXJkIAotICAgICMgbGFuZ3Vh
Z2UgY29kZSBpcyBwbCkgbWF5IHdpc2ggdG8gdXNlICJBZGRMYW5ndWFnZSBwbCAucG8iIHRvIAot
ICAgICMgYXZvaWQgdGhlIGFtYmlndWl0eSB3aXRoIHRoZSBjb21tb24gc3VmZml4IGZvciBwZXJs
IHNjcmlwdHMuCi0gICAgIwotICAgICMgTm90ZSAyOiBUaGUgZXhhbXBsZSBlbnRyaWVzIGJlbG93
IGlsbHVzdHJhdGUgdGhhdCBpbiBxdWl0ZQotICAgICMgc29tZSBjYXNlcyB0aGUgdHdvIGNoYXJh
Y3RlciAnTGFuZ3VhZ2UnIGFiYnJldmlhdGlvbiBpcyBub3QKLSAgICAjIGlkZW50aWNhbCB0byB0
aGUgdHdvIGNoYXJhY3RlciAnQ291bnRyeScgY29kZSBmb3IgaXRzIGNvdW50cnksCi0gICAgIyBF
LmcuICdEYW5tYXJrL2RrJyB2ZXJzdXMgJ0RhbmlzaC9kYScuCi0gICAgIwotICAgICMgTm90ZSAz
OiBJbiB0aGUgY2FzZSBvZiAnbHR6JyB3ZSB2aW9sYXRlIHRoZSBSRkMgYnkgdXNpbmcgYSB0aHJl
ZSBjaGFyIAotICAgICMgc3BlY2lmaWVyLiBCdXQgdGhlcmUgaXMgJ3dvcmsgaW4gcHJvZ3Jlc3Mn
IHRvIGZpeCB0aGlzIGFuZCBnZXQgCi0gICAgIyB0aGUgcmVmZXJlbmNlIGRhdGEgZm9yIHJmYzE3
NjYgY2xlYW5lZCB1cC4KLSAgICAjCi0gICAgIyBEYW5pc2ggKGRhKSAtIER1dGNoIChubCkgLSBF
bmdsaXNoIChlbikgLSBFc3RvbmlhbiAoZWUpCi0gICAgIyBGcmVuY2ggKGZyKSAtIEdlcm1hbiAo
ZGUpIC0gR3JlZWstTW9kZXJuIChlbCkKLSAgICAjIEl0YWxpYW4gKGl0KSAtIEtvcmVhbiAoa3Ip
IC0gTm9yd2VnaWFuIChubykgLSBOb3J3ZWdpYW4gTnlub3JzayAobm4pCi0gICAgIyBQb3J0dWdl
c2UgKHB0KSAtIEx1eGVtYm91cmdlb2lzKiAobHR6KQotICAgICMgU3BhbmlzaCAoZXMpIC0gU3dl
ZGlzaCAoc3YpIC0gQ2F0YWxhbiAoY2EpIC0gQ3plY2goY3MpCi0gICAgIyBQb2xpc2ggKHBsKSAt
IEJyYXppbGlhbiBQb3J0dWd1ZXNlIChwdC1icikgLSBKYXBhbmVzZSAoamEpCi0gICAgIyBSdXNz
aWFuIChydSkKLSAgICAjCiAgICAgQWRkTGFuZ3VhZ2UgZGEgLmRrCiAgICAgQWRkTGFuZ3VhZ2Ug
bmwgLm5sCiAgICAgQWRkTGFuZ3VhZ2UgZW4gLmVuCkBAIC01MTgsMTU4ICsxMTQsMjggQEAgU2Vy
dmVyU2lnbmF0dXJlIE9uCiAgICAgQWRkQ2hhcnNldCBVQ1MtNCAgICAgICAgLnVjczQKICAgICBB
ZGRDaGFyc2V0IFVURi04ICAgICAgICAudXRmOAogCi0gICAgIyBMYW5ndWFnZVByaW9yaXR5IGFs
bG93cyB5b3UgdG8gZ2l2ZSBwcmVjZWRlbmNlIHRvIHNvbWUgbGFuZ3VhZ2VzCi0gICAgIyBpbiBj
YXNlIG9mIGEgdGllIGR1cmluZyBjb250ZW50IG5lZ290aWF0aW9uLgotICAgICMKLSAgICAjIEp1
c3QgbGlzdCB0aGUgbGFuZ3VhZ2VzIGluIGRlY3JlYXNpbmcgb3JkZXIgb2YgcHJlZmVyZW5jZS4g
V2UgaGF2ZQotICAgICMgbW9yZSBvciBsZXNzIGFscGhhYmV0aXplZCB0aGVtIGhlcmUuIFlvdSBw
cm9iYWJseSB3YW50IHRvIGNoYW5nZSB0aGlzLgotICAgICMKICAgICA8SWZNb2R1bGUgbW9kX25l
Z290aWF0aW9uLmM+CiAgICAgICAgIExhbmd1YWdlUHJpb3JpdHkgZW4gZGEgbmwgZXQgZnIgZGUg
ZWwgaXQgamEga3Igbm8gcGwgcHQgcHQtYnIgcnUgbHR6IGNhIGVzIHN2IHR3CiAgICAgPC9JZk1v
ZHVsZT4KIAotICAgICMKLSAgICAjIEFkZFR5cGUgYWxsb3dzIHlvdSB0byB0d2VhayBtaW1lLnR5
cGVzIHdpdGhvdXQgYWN0dWFsbHkgZWRpdGluZyBpdCwgb3IgdG8KLSAgICAjIG1ha2UgY2VydGFp
biBmaWxlcyB0byBiZSBjZXJ0YWluIHR5cGVzLgotICAgICMKICAgICBBZGRUeXBlIGFwcGxpY2F0
aW9uL3gtdGFyIC50Z3oKIAotICAgICMKLSAgICAjIEFkZEVuY29kaW5nIGFsbG93cyB5b3UgdG8g
aGF2ZSBjZXJ0YWluIGJyb3dzZXJzIHVuY29tcHJlc3MKLSAgICAjIGluZm9ybWF0aW9uIG9uIHRo
ZSBmbHkuIE5vdGU6IE5vdCBhbGwgYnJvd3NlcnMgc3VwcG9ydCB0aGlzLgotICAgICMgRGVzcGl0
ZSB0aGUgbmFtZSBzaW1pbGFyaXR5LCB0aGUgZm9sbG93aW5nIEFkZCogZGlyZWN0aXZlcyBoYXZl
IG5vdGhpbmcKLSAgICAjIHRvIGRvIHdpdGggdGhlIEZhbmN5SW5kZXhpbmcgY3VzdG9taXphdGlv
biBkaXJlY3RpdmVzIGFib3ZlLgotICAgICMKICAgICBBZGRFbmNvZGluZyB4LWNvbXByZXNzIC5a
CiAgICAgQWRkRW5jb2RpbmcgeC1nemlwIC5neiAudGd6Ci0gICAgIwotICAgICMgSWYgdGhlIEFk
ZEVuY29kaW5nIGRpcmVjdGl2ZXMgYWJvdmUgYXJlIGNvbW1lbnRlZC1vdXQsIHRoZW4geW91Ci0g
ICAgIyBwcm9iYWJseSBzaG91bGQgZGVmaW5lIHRob3NlIGV4dGVuc2lvbnMgdG8gaW5kaWNhdGUg
bWVkaWEgdHlwZXM6Ci0gICAgIwotICAgICNBZGRUeXBlIGFwcGxpY2F0aW9uL3gtY29tcHJlc3Mg
LloKLSAgICAjQWRkVHlwZSBhcHBsaWNhdGlvbi94LWd6aXAgLmd6IC50Z3oKLQotICAgICMKLSAg
ICAjIEFkZEhhbmRsZXIgYWxsb3dzIHlvdSB0byBtYXAgY2VydGFpbiBmaWxlIGV4dGVuc2lvbnMg
dG8gImhhbmRsZXJzIiwKLSAgICAjIGFjdGlvbnMgdW5yZWxhdGVkIHRvIGZpbGV0eXBlLiBUaGVz
ZSBjYW4gYmUgZWl0aGVyIGJ1aWx0IGludG8gdGhlIHNlcnZlcgotICAgICMgb3IgYWRkZWQgd2l0
aCB0aGUgQWN0aW9uIGNvbW1hbmQgKHNlZSBiZWxvdykKLSAgICAjCi0gICAgIyBJZiB5b3Ugd2Fu
dCB0byB1c2Ugc2VydmVyIHNpZGUgaW5jbHVkZXMsIG9yIENHSSBvdXRzaWRlCi0gICAgIyBTY3Jp
cHRBbGlhc2VkIGRpcmVjdG9yaWVzLCB1bmNvbW1lbnQgdGhlIGZvbGxvd2luZyBsaW5lcy4KLSAg
ICAjCi0gICAgIyBUbyB1c2UgQ0dJIHNjcmlwdHM6Ci0gICAgIworCiAgICAgQWRkSGFuZGxlciBj
Z2ktc2NyaXB0IC5jZ2kgLnBsCiAKLSAgICAjCi0gICAgIyBUbyB1c2Ugc2VydmVyLXBhcnNlZCBI
VE1MIGZpbGVzCi0gICAgIwogICAgIEFkZFR5cGUgdGV4dC9odG1sIC5zaHRtbAogICAgIEFkZEhh
bmRsZXIgc2VydmVyLXBhcnNlZCAuc2h0bWwKIAotICAgICMKLSAgICAjIFVuY29tbWVudCB0aGUg
Zm9sbG93aW5nIGxpbmUgdG8gZW5hYmxlIEFwYWNoZSdzIHNlbmQtYXNpcyBIVFRQIGZpbGUKLSAg
ICAjIGZlYXR1cmUKLSAgICAjCiAgICAgQWRkSGFuZGxlciBzZW5kLWFzLWlzIGFzaXMKLQotICAg
ICMKLSAgICAjIElmIHlvdSB3aXNoIHRvIHVzZSBzZXJ2ZXItcGFyc2VkIGltYWdlbWFwIGZpbGVz
LCB1c2UKLSAgICAjCi0gICAgI0FkZEhhbmRsZXIgaW1hcC1maWxlIG1hcAotCi0gICAgIwotICAg
ICMgVG8gZW5hYmxlIHR5cGUgbWFwcywgeW91IG1pZ2h0IHdhbnQgdG8gdXNlCi0gICAgIwotICAg
ICNBZGRIYW5kbGVyIHR5cGUtbWFwIHZhcgotCiA8L0lmTW9kdWxlPgotIyBFbmQgb2YgZG9jdW1l
bnQgdHlwZXMuCi0KLSMKLSMgQWN0aW9uIGxldHMgeW91IGRlZmluZSBtZWRpYSB0eXBlcyB0aGF0
IHdpbGwgZXhlY3V0ZSBhIHNjcmlwdCB3aGVuZXZlcgotIyBhIG1hdGNoaW5nIGZpbGUgaXMgY2Fs
bGVkLiBUaGlzIGVsaW1pbmF0ZXMgdGhlIG5lZWQgZm9yIHJlcGVhdGVkIFVSTAotIyBwYXRobmFt
ZXMgZm9yIG9mdC11c2VkIENHSSBmaWxlIHByb2Nlc3NvcnMuCi0jIEZvcm1hdDogQWN0aW9uIG1l
ZGlhL3R5cGUgL2NnaS1zY3JpcHQvbG9jYXRpb24KLSMgRm9ybWF0OiBBY3Rpb24gaGFuZGxlci1u
YW1lIC9jZ2ktc2NyaXB0L2xvY2F0aW9uCi0jCi0KLSMKLSMgTWV0YURpcjogc3BlY2lmaWVzIHRo
ZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggQXBhY2hlIGNhbiBmaW5kCi0jIG1ldGEg
aW5mb3JtYXRpb24gZmlsZXMuIFRoZXNlIGZpbGVzIGNvbnRhaW4gYWRkaXRpb25hbCBIVFRQIGhl
YWRlcnMKLSMgdG8gaW5jbHVkZSB3aGVuIHNlbmRpbmcgdGhlIGRvY3VtZW50Ci0jCi0jTWV0YURp
ciAud2ViCi0KLSMKLSMgTWV0YVN1ZmZpeDogc3BlY2lmaWVzIHRoZSBmaWxlIG5hbWUgc3VmZml4
IGZvciB0aGUgZmlsZSBjb250YWluaW5nIHRoZQotIyBtZXRhIGluZm9ybWF0aW9uLgotIwotI01l
dGFTdWZmaXggLm1ldGEKLQotIwotIyBDdXN0b21pemFibGUgZXJyb3IgcmVzcG9uc2UgKEFwYWNo
ZSBzdHlsZSkKLSMgIHRoZXNlIGNvbWUgaW4gdGhyZWUgZmxhdm9ycwotIwotIyAgICAxKSBwbGFp
biB0ZXh0Ci0jRXJyb3JEb2N1bWVudCA1MDAgIlRoZSBzZXJ2ZXIgbWFkZSBhIGJvbyBib28uCi0j
ICBuLmIuICB0aGUgc2luZ2xlIGxlYWRpbmcgKCIpIG1hcmtzIGl0IGFzIHRleHQsIGl0IGRvZXMg
bm90IGdldCBvdXRwdXQKLSMKLSMgICAgMikgbG9jYWwgcmVkaXJlY3RzCi0jRXJyb3JEb2N1bWVu
dCA0MDQgL21pc3NpbmcuaHRtbAotIyAgdG8gcmVkaXJlY3QgdG8gbG9jYWwgVVJMIC9taXNzaW5n
Lmh0bWwKLSNFcnJvckRvY3VtZW50IDQwNCAvY2dpLWJpbi9taXNzaW5nX2hhbmRsZXIucGwKLSMg
IE4uQi46IFlvdSBjYW4gcmVkaXJlY3QgdG8gYSBzY3JpcHQgb3IgYSBkb2N1bWVudCB1c2luZyBz
ZXJ2ZXItc2lkZS1pbmNsdWRlcy4KLSMKLSMgICAgMykgZXh0ZXJuYWwgcmVkaXJlY3RzCi0jRXJy
b3JEb2N1bWVudCA0MDIgaHR0cDovL3NvbWUub3RoZXItc2VydmVyLmNvbS9zdWJzY3JpcHRpb25f
aW5mby5odG1sCi0jICBOLkIuOiBNYW55IG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYXNz
b2NpYXRlZCB3aXRoIHRoZSBvcmlnaW5hbAotIyAgcmVxdWVzdCB3aWxsICpub3QqIGJlIGF2YWls
YWJsZSB0byBzdWNoIGEgc2NyaXB0LgotCi0jCi0jIFByb3h5IFNlcnZlciBkaXJlY3RpdmVzLiBV
bmNvbW1lbnQgdGhlIGZvbGxvd2luZyBsaW5lcyB0bwotIyBlbmFibGUgdGhlIHByb3h5IHNlcnZl
cjoKLSMKLSM8SWZNb2R1bGUgbW9kX3Byb3h5LmM+Ci0jICAgIFByb3h5UmVxdWVzdHMgT24KLQot
IyAgICA8RGlyZWN0b3J5IHByb3h5Oio+Ci0jICAgICAgICBPcmRlciBkZW55LGFsbG93Ci0jICAg
ICAgICBEZW55IGZyb20gYWxsCi0jICAgICAgICBBbGxvdyBmcm9tIC55b3VyLWRvbWFpbi5jb20K
LSMgICAgPC9EaXJlY3Rvcnk+Ci0KLSAgICAjCi0gICAgIyBFbmFibGUvZGlzYWJsZSB0aGUgaGFu
ZGxpbmcgb2YgSFRUUC8xLjEgIlZpYToiIGhlYWRlcnMuCi0gICAgIyAoIkZ1bGwiIGFkZHMgdGhl
IHNlcnZlciB2ZXJzaW9uOyAiQmxvY2siIHJlbW92ZXMgYWxsIG91dGdvaW5nIFZpYTogaGVhZGVy
cykKLSAgICAjIFNldCB0byBvbmUgb2Y6IE9mZiB8IE9uIHwgRnVsbCB8IEJsb2NrCi0gICAgIwot
IyAgICBQcm94eVZpYSBPbgotCi0gICAgIwotICAgICMgVG8gZW5hYmxlIHRoZSBjYWNoZSBhcyB3
ZWxsLCBlZGl0IGFuZCB1bmNvbW1lbnQgdGhlIGZvbGxvd2luZyBsaW5lczoKLSAgICAjIChubyBj
YWNoZWluZyB3aXRob3V0IENhY2hlUm9vdCkKLSAgICAjCi0jICAgIENhY2hlUm9vdCAiL3ByaXZh
dGUvdmFyL3J1bi9wcm94eSIKLSMgICAgQ2FjaGVTaXplIDUKLSMgICAgQ2FjaGVHY0ludGVydmFs
IDQKLSMgICAgQ2FjaGVNYXhFeHBpcmUgMjQKLSMgICAgQ2FjaGVMYXN0TW9kaWZpZWRGYWN0b3Ig
MC4xCi0jICAgIENhY2hlRGVmYXVsdEV4cGlyZSAxCi0jICAgIE5vQ2FjaGUgYS1kb21haW4uY29t
IGFub3RoZXItZG9tYWluLmVkdSBqb2VzLmdhcmFnZS1zYWxlLmNvbQotCi0jPC9JZk1vZHVsZT4K
LSMgRW5kIG9mIHByb3h5IGRpcmVjdGl2ZXMuCi0KIAogPElmTW9kdWxlIG1vZF9waHA1LmM+Ci0g
ICAgIyBJZiBwaHAgaXMgdHVybmVkIG9uLCB3ZSByZXBzZWN0IC5waHAgYW5kIC5waHBzIGZpbGVz
LgogICAgIEFkZFR5cGUgYXBwbGljYXRpb24veC1odHRwZC1waHAgLnBocAogICAgIEFkZFR5cGUg
YXBwbGljYXRpb24veC1odHRwZC1waHAgLmJhdAogICAgIEFkZFR5cGUgYXBwbGljYXRpb24veC1o
dHRwZC1waHAtc291cmNlIC5waHBzCiAKLSAgICAjIFNpbmNlIG1vc3QgdXNlcnMgd2lsbCB3YW50
IGluZGV4LnBocCB0byB3b3JrIHdlCi0gICAgIyBhbHNvIGF1dG9tYXRpY2FsbHkgZW5hYmxlIGlu
ZGV4LnBocAogICAgIDxJZk1vZHVsZSBtb2RfZGlyLmM+CiAgICAgICAgIERpcmVjdG9yeUluZGV4
IGluZGV4Lmh0bWwgaW5kZXgucGhwCiAgICAgPC9JZk1vZHVsZT4KQEAgLTY4OCwzICsxNTQsMTgg
QEAgU2VydmVyU2lnbmF0dXJlIE9uCiAgICAgU2VydmVyTmFtZSAxMjcuMC4wLjEKICAgICBTU0xF
bmdpbmUgT24KIDwvVmlydHVhbEhvc3Q+CisKKyMKKyMgQXBwbGUtc3BlY2lmaWMgZmlsZXN5c3Rl
bSBwcm90ZWN0aW9uLgorIworPEZpbGVzICJyc3JjIj4KKyAgICBPcmRlciBhbGxvdyxkZW55Cisg
ICAgRGVueSBmcm9tIGFsbAorICAgIFNhdGlzZnkgQWxsCis8L0ZpbGVzPgorCis8RGlyZWN0b3J5
ICB+ICIuKlwuXC5uYW1lZGZvcmsiPgorICAgIE9yZGVyIGFsbG93LGRlbnkKKyAgICBEZW55IGZy
b20gYWxsCisgICAgU2F0aXNmeSBBbGwKKzwvRGlyZWN0b3J5PgpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC9jb25mL2FwYWNoZTItaHR0cGQuY29uZgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL2NvbmYvYXBhY2hlMi1odHRwZC5jb25mCShyZXZpc2lvbiAxMzAxNTEpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL2NvbmYvYXBhY2hlMi1odHRwZC5jb25mCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE2
MiArMSwyMCBAQAotIyMKLSMjIGh0dHBkLmNvbmYgLS0gQXBhY2hlIEhUVFAgc2VydmVyIGNvbmZp
Z3VyYXRpb24gZmlsZQotIyMKLQotIwotIyBCYXNlZCB1cG9uIHRoZSBOQ1NBIHNlcnZlciBjb25m
aWd1cmF0aW9uIGZpbGVzIG9yaWdpbmFsbHkgYnkgUm9iIE1jQ29vbC4KLSMKLSMgVGhpcyBpcyB0
aGUgbWFpbiBBcGFjaGUgc2VydmVyIGNvbmZpZ3VyYXRpb24gZmlsZS4gIEl0IGNvbnRhaW5zIHRo
ZQotIyBjb25maWd1cmF0aW9uIGRpcmVjdGl2ZXMgdGhhdCBnaXZlIHRoZSBzZXJ2ZXIgaXRzIGlu
c3RydWN0aW9ucy4KLSMgU2VlIDxVUkw6aHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8+IGZv
ciBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dAotIyB0aGUgZGlyZWN0aXZlcy4KLSMKLSMgRG8g
Tk9UIHNpbXBseSByZWFkIHRoZSBpbnN0cnVjdGlvbnMgaW4gaGVyZSB3aXRob3V0IHVuZGVyc3Rh
bmRpbmcKLSMgd2hhdCB0aGV5IGRvLiAgVGhleSdyZSBoZXJlIG9ubHkgYXMgaGludHMgb3IgcmVt
aW5kZXJzLiAgSWYgeW91IGFyZSB1bnN1cmUKLSMgY29uc3VsdCB0aGUgb25saW5lIGRvY3MuIFlv
dSBoYXZlIGJlZW4gd2FybmVkLiAgCi0jCi0jIEFmdGVyIHRoaXMgZmlsZSBpcyBwcm9jZXNzZWQs
IHRoZSBzZXJ2ZXIgd2lsbCBsb29rIGZvciBhbmQgcHJvY2VzcwotIyAvcHJpdmF0ZS9ldGMvYXBh
Y2hlMi9zcm0uY29uZiBhbmQgdGhlbiAvcHJpdmF0ZS9ldGMvYXBhY2hlMi9hY2Nlc3MuY29uZgot
IyB1bmxlc3MgeW91IGhhdmUgb3ZlcnJpZGRlbiB0aGVzZSB3aXRoIFJlc291cmNlQ29uZmlnIGFu
ZC9vcgotIyBBY2Nlc3NDb25maWcgZGlyZWN0aXZlcyBoZXJlLgotIwotIyBUaGUgY29uZmlndXJh
dGlvbiBkaXJlY3RpdmVzIGFyZSBncm91cGVkIGludG8gdGhyZWUgYmFzaWMgc2VjdGlvbnM6Ci0j
ICAxLiBEaXJlY3RpdmVzIHRoYXQgY29udHJvbCB0aGUgb3BlcmF0aW9uIG9mIHRoZSBBcGFjaGUg
c2VydmVyIHByb2Nlc3MgYXMgYQotIyAgICAgd2hvbGUgKHRoZSAnZ2xvYmFsIGVudmlyb25tZW50
JykuCi0jICAyLiBEaXJlY3RpdmVzIHRoYXQgZGVmaW5lIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSAn
bWFpbicgb3IgJ2RlZmF1bHQnIHNlcnZlciwKLSMgICAgIHdoaWNoIHJlc3BvbmRzIHRvIHJlcXVl
c3RzIHRoYXQgYXJlbid0IGhhbmRsZWQgYnkgYSB2aXJ0dWFsIGhvc3QuCi0jICAgICBUaGVzZSBk
aXJlY3RpdmVzIGFsc28gcHJvdmlkZSBkZWZhdWx0IHZhbHVlcyBmb3IgdGhlIHNldHRpbmdzCi0j
ICAgICBvZiBhbGwgdmlydHVhbCBob3N0cy4KLSMgIDMuIFNldHRpbmdzIGZvciB2aXJ0dWFsIGhv
c3RzLCB3aGljaCBhbGxvdyBXZWIgcmVxdWVzdHMgdG8gYmUgc2VudCB0bwotIyAgICAgZGlmZmVy
ZW50IElQIGFkZHJlc3NlcyBvciBob3N0bmFtZXMgYW5kIGhhdmUgdGhlbSBoYW5kbGVkIGJ5IHRo
ZQotIyAgICAgc2FtZSBBcGFjaGUgc2VydmVyIHByb2Nlc3MuCi0jCi0jIENvbmZpZ3VyYXRpb24g
YW5kIGxvZ2ZpbGUgbmFtZXM6IElmIHRoZSBmaWxlbmFtZXMgeW91IHNwZWNpZnkgZm9yIG1hbnkK
LSMgb2YgdGhlIHNlcnZlcidzIGNvbnRyb2wgZmlsZXMgYmVnaW4gd2l0aCAiLyIgKG9yICJkcml2
ZTovIiBmb3IgV2luMzIpLCB0aGUKLSMgc2VydmVyIHdpbGwgdXNlIHRoYXQgZXhwbGljaXQgcGF0
aC4gIElmIHRoZSBmaWxlbmFtZXMgZG8gKm5vdCogYmVnaW4KLSMgd2l0aCAiLyIsIHRoZSB2YWx1
ZSBvZiBTZXJ2ZXJSb290IGlzIHByZXBlbmRlZCAtLSBzbyAibG9ncy9mb28ubG9nIgotIyB3aXRo
IFNlcnZlclJvb3Qgc2V0IHRvICIvdXNyL2xvY2FsL2FwYWNoZSIgd2lsbCBiZSBpbnRlcnByZXRl
ZCBieSB0aGUKLSMgc2VydmVyIGFzICIvdXNyL2xvY2FsL2FwYWNoZS9sb2dzL2Zvby5sb2ciLgot
IwotCi0jIyMgU2VjdGlvbiAxOiBHbG9iYWwgRW52aXJvbm1lbnQKLSMKLSMgVGhlIGRpcmVjdGl2
ZXMgaW4gdGhpcyBzZWN0aW9uIGFmZmVjdCB0aGUgb3ZlcmFsbCBvcGVyYXRpb24gb2YgQXBhY2hl
LAotIyBzdWNoIGFzIHRoZSBudW1iZXIgb2YgY29uY3VycmVudCByZXF1ZXN0cyBpdCBjYW4gaGFu
ZGxlIG9yIHdoZXJlIGl0Ci0jIGNhbiBmaW5kIGl0cyBjb25maWd1cmF0aW9uIGZpbGVzLgotIwot
Ci0jCi0jIFNlcnZlclJvb3Q6IFRoZSB0b3Agb2YgdGhlIGRpcmVjdG9yeSB0cmVlIHVuZGVyIHdo
aWNoIHRoZSBzZXJ2ZXIncwotIyBjb25maWd1cmF0aW9uLCBlcnJvciwgYW5kIGxvZyBmaWxlcyBh
cmUga2VwdC4KLSMKLSMgTk9URSEgIElmIHlvdSBpbnRlbmQgdG8gcGxhY2UgdGhpcyBvbiBhbiBO
RlMgKG9yIG90aGVyd2lzZSBuZXR3b3JrKQotIyBtb3VudGVkIGZpbGVzeXN0ZW0gdGhlbiBwbGVh
c2UgcmVhZCB0aGUgTG9ja0ZpbGUgZG9jdW1lbnRhdGlvbgotIyAoYXZhaWxhYmxlIGF0IDxVUkw6
aHR0cDovL3d3dy5hcGFjaGUub3JnL2RvY3MvbW9kL2NvcmUuaHRtbCNsb2NrZmlsZT4pOwotIyB5
b3Ugd2lsbCBzYXZlIHlvdXJzZWxmIGEgbG90IG9mIHRyb3VibGUuCi0jCiBTZXJ2ZXJSb290ICIv
dXNyIgogCi0jCi0jIFRoZSBMb2NrRmlsZSBkaXJlY3RpdmUgc2V0cyB0aGUgcGF0aCB0byB0aGUg
bG9ja2ZpbGUgdXNlZCB3aGVuIEFwYWNoZQotIyBpcyBjb21waWxlZCB3aXRoIGVpdGhlciBVU0Vf
RkNOVExfU0VSSUFMSVpFRF9BQ0NFUFQgb3IKLSMgVVNFX0ZMT0NLX1NFUklBTElaRURfQUNDRVBU
LiBUaGlzIGRpcmVjdGl2ZSBzaG91bGQgbm9ybWFsbHkgYmUgbGVmdCBhdAotIyBpdHMgZGVmYXVs
dCB2YWx1ZS4gVGhlIG1haW4gcmVhc29uIGZvciBjaGFuZ2luZyBpdCBpcyBpZiB0aGUgbG9ncwot
IyBkaXJlY3RvcnkgaXMgTkZTIG1vdW50ZWQsIHNpbmNlIHRoZSBsb2NrZmlsZSBNVVNUIEJFIFNU
T1JFRCBPTiBBIExPQ0FMCi0jIERJU0suIFRoZSBQSUQgb2YgdGhlIG1haW4gc2VydmVyIHByb2Nl
c3MgaXMgYXV0b21hdGljYWxseSBhcHBlbmRlZCB0bwotIyB0aGUgZmlsZW5hbWUuIAotIwogTG9j
a0ZpbGUgIi90bXAvV2ViS2l0L2h0dHBkLmxvY2siCi0KLSMKLSMgUGlkRmlsZTogVGhlIGZpbGUg
aW4gd2hpY2ggdGhlIHNlcnZlciBzaG91bGQgcmVjb3JkIGl0cyBwcm9jZXNzCi0jIGlkZW50aWZp
Y2F0aW9uIG51bWJlciB3aGVuIGl0IHN0YXJ0cy4KLSMKIFBpZEZpbGUgIi90bXAvV2ViS2l0L2h0
dHBkLnBpZCIKLQotIwotIyBTY29yZUJvYXJkRmlsZTogRmlsZSB1c2VkIHRvIHN0b3JlIGludGVy
bmFsIHNlcnZlciBwcm9jZXNzIGluZm9ybWF0aW9uLgotIyBOb3QgYWxsIGFyY2hpdGVjdHVyZXMg
cmVxdWlyZSB0aGlzLiAgQnV0IGlmIHlvdXJzIGRvZXMgKHlvdSdsbCBrbm93IGJlY2F1c2UKLSMg
dGhpcyBmaWxlIHdpbGwgYmUgIGNyZWF0ZWQgd2hlbiB5b3UgcnVuIEFwYWNoZSkgdGhlbiB5b3Ug
Km11c3QqIGVuc3VyZSB0aGF0Ci0jIG5vIHR3byBpbnZvY2F0aW9ucyBvZiBBcGFjaGUgc2hhcmUg
dGhlIHNhbWUgc2NvcmVib2FyZCBmaWxlLgotIwogU2NvcmVCb2FyZEZpbGUgIi90bXAvV2ViS2l0
L2h0dHBkLnNjb3JlYm9hcmQiCiAKLSMKLSMgVGltZW91dDogVGhlIG51bWJlciBvZiBzZWNvbmRz
IGJlZm9yZSByZWNlaXZlcyBhbmQgc2VuZHMgdGltZSBvdXQuCi0jCiBUaW1lb3V0IDMwMAotCi0j
Ci0jIEtlZXBBbGl2ZTogV2hldGhlciBvciBub3QgdG8gYWxsb3cgcGVyc2lzdGVudCBjb25uZWN0
aW9ucyAobW9yZSB0aGFuCi0jIG9uZSByZXF1ZXN0IHBlciBjb25uZWN0aW9uKS4gU2V0IHRvICJP
ZmYiIHRvIGRlYWN0aXZhdGUuCi0jCiBLZWVwQWxpdmUgT24KLQotIwotIyBNYXhLZWVwQWxpdmVS
ZXF1ZXN0czogVGhlIG1heGltdW0gbnVtYmVyIG9mIHJlcXVlc3RzIHRvIGFsbG93Ci0jIGR1cmlu
ZyBhIHBlcnNpc3RlbnQgY29ubmVjdGlvbi4gU2V0IHRvIDAgdG8gYWxsb3cgYW4gdW5saW1pdGVk
IGFtb3VudC4KLSMgV2UgcmVjb21tZW5kIHlvdSBsZWF2ZSB0aGlzIG51bWJlciBoaWdoLCBmb3Ig
bWF4aW11bSBwZXJmb3JtYW5jZS4KLSMKIE1heEtlZXBBbGl2ZVJlcXVlc3RzIDEwMAotCi0jCi0j
IEtlZXBBbGl2ZVRpbWVvdXQ6IE51bWJlciBvZiBzZWNvbmRzIHRvIHdhaXQgZm9yIHRoZSBuZXh0
IHJlcXVlc3QgZnJvbSB0aGUKLSMgc2FtZSBjbGllbnQgb24gdGhlIHNhbWUgY29ubmVjdGlvbi4K
LSMKIEtlZXBBbGl2ZVRpbWVvdXQgMTUKIAotIwotIyBTZXJ2ZXItcG9vbCBzaXplIHJlZ3VsYXRp
b24uICBSYXRoZXIgdGhhbiBtYWtpbmcgeW91IGd1ZXNzIGhvdyBtYW55Ci0jIHNlcnZlciBwcm9j
ZXNzZXMgeW91IG5lZWQsIEFwYWNoZSBkeW5hbWljYWxseSBhZGFwdHMgdG8gdGhlIGxvYWQgaXQK
LSMgc2VlcyAtLS0gdGhhdCBpcywgaXQgdHJpZXMgdG8gbWFpbnRhaW4gZW5vdWdoIHNlcnZlciBw
cm9jZXNzZXMgdG8KLSMgaGFuZGxlIHRoZSBjdXJyZW50IGxvYWQsIHBsdXMgYSBmZXcgc3BhcmUg
c2VydmVycyB0byBoYW5kbGUgdHJhbnNpZW50Ci0jIGxvYWQgc3Bpa2VzIChlLmcuLCBtdWx0aXBs
ZSBzaW11bHRhbmVvdXMgcmVxdWVzdHMgZnJvbSBhIHNpbmdsZQotIyBOZXRzY2FwZSBicm93c2Vy
KS4KLSMKLSMgSXQgZG9lcyB0aGlzIGJ5IHBlcmlvZGljYWxseSBjaGVja2luZyBob3cgbWFueSBz
ZXJ2ZXJzIGFyZSB3YWl0aW5nCi0jIGZvciBhIHJlcXVlc3QuICBJZiB0aGVyZSBhcmUgZmV3ZXIg
dGhhbiBNaW5TcGFyZVNlcnZlcnMsIGl0IGNyZWF0ZXMKLSMgYSBuZXcgc3BhcmUuICBJZiB0aGVy
ZSBhcmUgbW9yZSB0aGFuIE1heFNwYXJlU2VydmVycywgc29tZSBvZiB0aGUKLSMgc3BhcmVzIGRp
ZSBvZmYuICBUaGUgZGVmYXVsdCB2YWx1ZXMgYXJlIHByb2JhYmx5IE9LIGZvciBtb3N0IHNpdGVz
LgotIwogTWluU3BhcmVTZXJ2ZXJzIDEKIE1heFNwYXJlU2VydmVycyA1Ci0KLSMKLSMgTnVtYmVy
IG9mIHNlcnZlcnMgdG8gc3RhcnQgaW5pdGlhbGx5IC0tLSBzaG91bGQgYmUgYSByZWFzb25hYmxl
IGJhbGxwYXJrCi0jIGZpZ3VyZS4KLSMKIFN0YXJ0U2VydmVycyAxCi0KLSMKLSMgTGltaXQgb24g
dG90YWwgbnVtYmVyIG9mIHNlcnZlcnMgcnVubmluZywgaS5lLiwgbGltaXQgb24gdGhlIG51bWJl
cgotIyBvZiBjbGllbnRzIHdobyBjYW4gc2ltdWx0YW5lb3VzbHkgY29ubmVjdCAtLS0gaWYgdGhp
cyBsaW1pdCBpcyBldmVyCi0jIHJlYWNoZWQsIGNsaWVudHMgd2lsbCBiZSBMT0NLRUQgT1VULCBz
byBpdCBzaG91bGQgTk9UIEJFIFNFVCBUT08gTE9XLgotIyBJdCBpcyBpbnRlbmRlZCBtYWlubHkg
YXMgYSBicmFrZSB0byBrZWVwIGEgcnVuYXdheSBzZXJ2ZXIgZnJvbSB0YWtpbmcKLSMgdGhlIHN5
c3RlbSB3aXRoIGl0IGFzIGl0IHNwaXJhbHMgZG93bi4uLgotIwogTWF4Q2xpZW50cyAxNTAKLQot
IwotIyBNYXhSZXF1ZXN0c1BlckNoaWxkOiB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzIGVhY2ggY2hp
bGQgcHJvY2VzcyBpcwotIyBhbGxvd2VkIHRvIHByb2Nlc3MgYmVmb3JlIHRoZSBjaGlsZCBkaWVz
LiAgVGhlIGNoaWxkIHdpbGwgZXhpdCBzbwotIyBhcyB0byBhdm9pZCBwcm9ibGVtcyBhZnRlciBw
cm9sb25nZWQgdXNlIHdoZW4gQXBhY2hlIChhbmQgbWF5YmUgdGhlCi0jIGxpYnJhcmllcyBpdCB1
c2VzKSBsZWFrIG1lbW9yeSBvciBvdGhlciByZXNvdXJjZXMuICBPbiBtb3N0IHN5c3RlbXMsIHRo
aXMKLSMgaXNuJ3QgcmVhbGx5IG5lZWRlZCwgYnV0IGEgZmV3IChzdWNoIGFzIFNvbGFyaXMpIGRv
IGhhdmUgbm90YWJsZSBsZWFrcwotIyBpbiB0aGUgbGlicmFyaWVzLiBGb3IgdGhlc2UgcGxhdGZv
cm1zLCBzZXQgdG8gc29tZXRoaW5nIGxpa2UgMTAwMDAKLSMgb3Igc287IGEgc2V0dGluZyBvZiAw
IG1lYW5zIHVubGltaXRlZC4KLSMKLSMgTk9URTogVGhpcyB2YWx1ZSBkb2VzIG5vdCBpbmNsdWRl
IGtlZXBhbGl2ZSByZXF1ZXN0cyBhZnRlciB0aGUgaW5pdGlhbAotIyAgICAgICByZXF1ZXN0IHBl
ciBjb25uZWN0aW9uLiBGb3IgZXhhbXBsZSwgaWYgYSBjaGlsZCBwcm9jZXNzIGhhbmRsZXMKLSMg
ICAgICAgYW4gaW5pdGlhbCByZXF1ZXN0IGFuZCAxMCBzdWJzZXF1ZW50ICJrZXB0YWxpdmUiIHJl
cXVlc3RzLCBpdAotIyAgICAgICB3b3VsZCBvbmx5IGNvdW50IGFzIDEgcmVxdWVzdCB0b3dhcmRz
IHRoaXMgbGltaXQuCi0jCiBNYXhSZXF1ZXN0c1BlckNoaWxkIDEwMDAwMAogCi0jCi0jIExpc3Rl
bjogQWxsb3dzIHlvdSB0byBiaW5kIEFwYWNoZSB0byBzcGVjaWZpYyBJUCBhZGRyZXNzZXMgYW5k
L29yCi0jIHBvcnRzLCBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0LiBTZWUgYWxzbyB0aGUgPFZpcnR1
YWxIb3N0PgotIyBkaXJlY3RpdmUuCi0jCiAjIENvbmZpZ3VyZWQgZnJvbSB0aGUgaHR0cGQgY29t
bWFuZCBsaW5lIGZvciBXZWJLaXQgbGF5b3V0IHRlc3RzLgogIyBQb3J0IDg0NDMgaXMgaGFyZC1j
b2RlZCBhcyBpdCBpcyBuZWVkZWQgZm9yIHRoZSBIVFRQUyBjb25maWd1cmF0aW9uIGxhdGVyIG9u
LgogIwpAQCAtMTcwLDMzOSArMjgsNTQgQEAgTGlzdGVuIFs6OjFdOjgwMDAKIExpc3RlbiBbOjox
XTo4MDgwCiBMaXN0ZW4gWzo6MV06ODQ0MwogCi0jCi0jIER5bmFtaWMgU2hhcmVkIE9iamVjdCAo
RFNPKSBTdXBwb3J0Ci0jCi0jIFRvIGJlIGFibGUgdG8gdXNlIHRoZSBmdW5jdGlvbmFsaXR5IG9m
IGEgbW9kdWxlIHdoaWNoIHdhcyBidWlsdCBhcyBhIERTTyB5b3UKLSMgaGF2ZSB0byBwbGFjZSBj
b3JyZXNwb25kaW5nIGBMb2FkTW9kdWxlJyBsaW5lcyBhdCB0aGlzIGxvY2F0aW9uIHNvIHRoZQot
IyBkaXJlY3RpdmVzIGNvbnRhaW5lZCBpbiBpdCBhcmUgYWN0dWFsbHkgYXZhaWxhYmxlIF9iZWZv
cmVfIHRoZXkgYXJlIHVzZWQuCi0jIFBsZWFzZSByZWFkIHRoZSBmaWxlIGh0dHA6Ly9odHRwZC5h
cGFjaGUub3JnL2RvY3MvZHNvLmh0bWwgZm9yIG1vcmUKLSMgZGV0YWlscyBhYm91dCB0aGUgRFNP
IG1lY2hhbmlzbSBhbmQgcnVuIGBodHRwZCAtbCcgZm9yIHRoZSBsaXN0IG9mIGFscmVhZHkKLSMg
YnVpbHQtaW4gKHN0YXRpY2FsbHkgbGlua2VkIGFuZCB0aHVzIGFsd2F5cyBhdmFpbGFibGUpIG1v
ZHVsZXMgaW4geW91ciBodHRwZAotIyBiaW5hcnkuCi0jCi0jIE5vdGU6IFRoZSBvcmRlciBpbiB3
aGljaCBtb2R1bGVzIGFyZSBsb2FkZWQgaXMgaW1wb3J0YW50LiAgRG9uJ3QgY2hhbmdlCi0jIHRo
ZSBvcmRlciBiZWxvdyB3aXRob3V0IGV4cGVydCBhZHZpY2UuCi0jCi0jIEV4YW1wbGU6Ci0jIExv
YWRNb2R1bGUgZm9vX21vZHVsZSBsaWJleGVjL21vZF9mb28uc28KLSNMb2FkTW9kdWxlIGF1dGhu
X2ZpbGVfbW9kdWxlIGxpYmV4ZWMvYXBhY2hlMi9tb2RfYXV0aG5fZmlsZS5zbwotI0xvYWRNb2R1
bGUgYXV0aG5fZGJtX21vZHVsZSBsaWJleGVjL2FwYWNoZTIvbW9kX2F1dGhuX2RibS5zbwotI0xv
YWRNb2R1bGUgYXV0aG5fYW5vbl9tb2R1bGUgbGliZXhlYy9hcGFjaGUyL21vZF9hdXRobl9hbm9u
LnNvCi0jTG9hZE1vZHVsZSBhdXRobl9kYmRfbW9kdWxlIGxpYmV4ZWMvYXBhY2hlMi9tb2RfYXV0
aG5fZGJkLnNvCi0jTG9hZE1vZHVsZSBhdXRobl9kZWZhdWx0X21vZHVsZSBsaWJleGVjL2FwYWNo
ZTIvbW9kX2F1dGhuX2RlZmF1bHQuc28KIExvYWRNb2R1bGUgYXV0aHpfaG9zdF9tb2R1bGUgbGli
ZXhlYy9hcGFjaGUyL21vZF9hdXRoel9ob3N0LnNvCi0jTG9hZE1vZHVsZSBhdXRoel9ncm91cGZp
bGVfbW9kdWxlIGxpYmV4ZWMvYXBhY2hlMi9tb2RfYXV0aHpfZ3JvdXBmaWxlLnNvCi0jTG9hZE1v
ZHVsZSBhdXRoel91c2VyX21vZHVsZSBsaWJleGVjL2FwYWNoZTIvbW9kX2F1dGh6X3VzZXIuc28K
LSNMb2FkTW9kdWxlIGF1dGh6X2RibV9tb2R1bGUgbGliZXhlYy9hcGFjaGUyL21vZF9hdXRoel9k
Ym0uc28KLSNMb2FkTW9kdWxlIGF1dGh6X293bmVyX21vZHVsZSBsaWJleGVjL2FwYWNoZTIvbW9k
X2F1dGh6X293bmVyLnNvCi0jTG9hZE1vZHVsZSBhdXRoel9kZWZhdWx0X21vZHVsZSBsaWJleGVj
L2FwYWNoZTIvbW9kX2F1dGh6X2RlZmF1bHQuc28KLSNMb2FkTW9kdWxlIGF1dGhfYmFzaWNfbW9k
dWxlIGxpYmV4ZWMvYXBhY2hlMi9tb2RfYXV0aF9iYXNpYy5zbwotI0xvYWRNb2R1bGUgYXV0aF9k
aWdlc3RfbW9kdWxlIGxpYmV4ZWMvYXBhY2hlMi9tb2RfYXV0aF9kaWdlc3Quc28KLSNMb2FkTW9k
dWxlIGNhY2hlX21vZHVsZSBsaWJleGVjL2FwYWNoZTIvbW9kX2NhY2hlLnNvCi0jTG9hZE1vZHVs
ZSBkaXNrX2NhY2hlX21vZHVsZSBsaWJleGVjL2FwYWNoZTIvbW9kX2Rpc2tfY2FjaGUuc28KLSNM
b2FkTW9kdWxlIG1lbV9jYWNoZV9tb2R1bGUgbGliZXhlYy9hcGFjaGUyL21vZF9tZW1fY2FjaGUu
c28KLSNMb2FkTW9kdWxlIGRiZF9tb2R1bGUgbGliZXhlYy9hcGFjaGUyL21vZF9kYmQuc28KLSNM
b2FkTW9kdWxlIGR1bXBpb19tb2R1bGUgbGliZXhlYy9hcGFjaGUyL21vZF9kdW1waW8uc28KLSNM
b2FkTW9kdWxlIGV4dF9maWx0ZXJfbW9kdWxlIGxpYmV4ZWMvYXBhY2hlMi9tb2RfZXh0X2ZpbHRl
ci5zbwogTG9hZE1vZHVsZSBpbmNsdWRlX21vZHVsZSBsaWJleGVjL2FwYWNoZTIvbW9kX2luY2x1
ZGUuc28KLSNMb2FkTW9kdWxlIGZpbHRlcl9tb2R1bGUgbGliZXhlYy9hcGFjaGUyL21vZF9maWx0
ZXIuc28KLSNMb2FkTW9kdWxlIHN1YnN0aXR1dGVfbW9kdWxlIGxpYmV4ZWMvYXBhY2hlMi9tb2Rf
c3Vic3RpdHV0ZS5zbwotI0xvYWRNb2R1bGUgZGVmbGF0ZV9tb2R1bGUgbGliZXhlYy9hcGFjaGUy
L21vZF9kZWZsYXRlLnNvCiBMb2FkTW9kdWxlIGxvZ19jb25maWdfbW9kdWxlIGxpYmV4ZWMvYXBh
Y2hlMi9tb2RfbG9nX2NvbmZpZy5zbwotI0xvYWRNb2R1bGUgbG9nX2ZvcmVuc2ljX21vZHVsZSBs
aWJleGVjL2FwYWNoZTIvbW9kX2xvZ19mb3JlbnNpYy5zbwotI0xvYWRNb2R1bGUgbG9naW9fbW9k
dWxlIGxpYmV4ZWMvYXBhY2hlMi9tb2RfbG9naW8uc28KLSNMb2FkTW9kdWxlIGVudl9tb2R1bGUg
bGliZXhlYy9hcGFjaGUyL21vZF9lbnYuc28KLSNMb2FkTW9kdWxlIG1pbWVfbWFnaWNfbW9kdWxl
IGxpYmV4ZWMvYXBhY2hlMi9tb2RfbWltZV9tYWdpYy5zbwotI0xvYWRNb2R1bGUgY2Vybl9tZXRh
X21vZHVsZSBsaWJleGVjL2FwYWNoZTIvbW9kX2Nlcm5fbWV0YS5zbwotI0xvYWRNb2R1bGUgZXhw
aXJlc19tb2R1bGUgbGliZXhlYy9hcGFjaGUyL21vZF9leHBpcmVzLnNvCiBMb2FkTW9kdWxlIGhl
YWRlcnNfbW9kdWxlIGxpYmV4ZWMvYXBhY2hlMi9tb2RfaGVhZGVycy5zbwotI0xvYWRNb2R1bGUg
aWRlbnRfbW9kdWxlIGxpYmV4ZWMvYXBhY2hlMi9tb2RfaWRlbnQuc28KLSNMb2FkTW9kdWxlIHVz
ZXJ0cmFja19tb2R1bGUgbGliZXhlYy9hcGFjaGUyL21vZF91c2VydHJhY2suc28KLSNMb2FkTW9k
dWxlIHVuaXF1ZV9pZF9tb2R1bGUgbGliZXhlYy9hcGFjaGUyL21vZF91bmlxdWVfaWQuc28KLSNM
b2FkTW9kdWxlIHNldGVudmlmX21vZHVsZSBsaWJleGVjL2FwYWNoZTIvbW9kX3NldGVudmlmLnNv
Ci0jTG9hZE1vZHVsZSB2ZXJzaW9uX21vZHVsZSBsaWJleGVjL2FwYWNoZTIvbW9kX3ZlcnNpb24u
c28KLSNMb2FkTW9kdWxlIHByb3h5X21vZHVsZSBsaWJleGVjL2FwYWNoZTIvbW9kX3Byb3h5LnNv
Ci0jTG9hZE1vZHVsZSBwcm94eV9jb25uZWN0X21vZHVsZSBsaWJleGVjL2FwYWNoZTIvbW9kX3By
b3h5X2Nvbm5lY3Quc28KLSNMb2FkTW9kdWxlIHByb3h5X2Z0cF9tb2R1bGUgbGliZXhlYy9hcGFj
aGUyL21vZF9wcm94eV9mdHAuc28KLSNMb2FkTW9kdWxlIHByb3h5X2h0dHBfbW9kdWxlIGxpYmV4
ZWMvYXBhY2hlMi9tb2RfcHJveHlfaHR0cC5zbwotI0xvYWRNb2R1bGUgcHJveHlfYWpwX21vZHVs
ZSBsaWJleGVjL2FwYWNoZTIvbW9kX3Byb3h5X2FqcC5zbwotI0xvYWRNb2R1bGUgcHJveHlfYmFs
YW5jZXJfbW9kdWxlIGxpYmV4ZWMvYXBhY2hlMi9tb2RfcHJveHlfYmFsYW5jZXIuc28KIExvYWRN
b2R1bGUgc3NsX21vZHVsZSBsaWJleGVjL2FwYWNoZTIvbW9kX3NzbC5zbwogTG9hZE1vZHVsZSBt
aW1lX21vZHVsZSBsaWJleGVjL2FwYWNoZTIvbW9kX21pbWUuc28KLSNMb2FkTW9kdWxlIGRhdl9t
b2R1bGUgbGliZXhlYy9hcGFjaGUyL21vZF9kYXYuc28KLSNMb2FkTW9kdWxlIHN0YXR1c19tb2R1
bGUgbGliZXhlYy9hcGFjaGUyL21vZF9zdGF0dXMuc28KLSNMb2FkTW9kdWxlIGF1dG9pbmRleF9t
b2R1bGUgbGliZXhlYy9hcGFjaGUyL21vZF9hdXRvaW5kZXguc28KIExvYWRNb2R1bGUgYXNpc19t
b2R1bGUgbGliZXhlYy9hcGFjaGUyL21vZF9hc2lzLnNvCi0jTG9hZE1vZHVsZSBpbmZvX21vZHVs
ZSBsaWJleGVjL2FwYWNoZTIvbW9kX2luZm8uc28KIExvYWRNb2R1bGUgY2dpX21vZHVsZSBsaWJl
eGVjL2FwYWNoZTIvbW9kX2NnaS5zbwotI0xvYWRNb2R1bGUgZGF2X2ZzX21vZHVsZSBsaWJleGVj
L2FwYWNoZTIvbW9kX2Rhdl9mcy5zbwotI0xvYWRNb2R1bGUgdmhvc3RfYWxpYXNfbW9kdWxlIGxp
YmV4ZWMvYXBhY2hlMi9tb2Rfdmhvc3RfYWxpYXMuc28KIExvYWRNb2R1bGUgbmVnb3RpYXRpb25f
bW9kdWxlIGxpYmV4ZWMvYXBhY2hlMi9tb2RfbmVnb3RpYXRpb24uc28KLSNMb2FkTW9kdWxlIGRp
cl9tb2R1bGUgbGliZXhlYy9hcGFjaGUyL21vZF9kaXIuc28KIExvYWRNb2R1bGUgaW1hZ2VtYXBf
bW9kdWxlIGxpYmV4ZWMvYXBhY2hlMi9tb2RfaW1hZ2VtYXAuc28KIExvYWRNb2R1bGUgYWN0aW9u
c19tb2R1bGUgbGliZXhlYy9hcGFjaGUyL21vZF9hY3Rpb25zLnNvCi0jTG9hZE1vZHVsZSBzcGVs
aW5nX21vZHVsZSBsaWJleGVjL2FwYWNoZTIvbW9kX3NwZWxpbmcuc28KLSNMb2FkTW9kdWxlIHVz
ZXJkaXJfbW9kdWxlIGxpYmV4ZWMvYXBhY2hlMi9tb2RfdXNlcmRpci5zbwogTG9hZE1vZHVsZSBh
bGlhc19tb2R1bGUgbGliZXhlYy9hcGFjaGUyL21vZF9hbGlhcy5zbwogTG9hZE1vZHVsZSByZXdy
aXRlX21vZHVsZSBsaWJleGVjL2FwYWNoZTIvbW9kX3Jld3JpdGUuc28KLSNMb2FkTW9kdWxlIGJv
bmpvdXJfbW9kdWxlICAgICBsaWJleGVjL2FwYWNoZTIvbW9kX2JvbmpvdXIuc28KIExvYWRNb2R1
bGUgcGhwNV9tb2R1bGUgICAgICAgIGxpYmV4ZWMvYXBhY2hlMi9saWJwaHA1LnNvCi0jTG9hZE1v
ZHVsZSBmYXN0Y2dpX21vZHVsZSAgICAgbGliZXhlYy9hcGFjaGUyL21vZF9mYXN0Y2dpLnNvCi0K
LSMjIyBTZWN0aW9uIDI6ICdNYWluJyBzZXJ2ZXIgY29uZmlndXJhdGlvbgotIwotIyBUaGUgZGly
ZWN0aXZlcyBpbiB0aGlzIHNlY3Rpb24gc2V0IHVwIHRoZSB2YWx1ZXMgdXNlZCBieSB0aGUgJ21h
aW4nCi0jIHNlcnZlciwgd2hpY2ggcmVzcG9uZHMgdG8gYW55IHJlcXVlc3RzIHRoYXQgYXJlbid0
IGhhbmRsZWQgYnkgYQotIyA8VmlydHVhbEhvc3Q+IGRlZmluaXRpb24uICBUaGVzZSB2YWx1ZXMg
YWxzbyBwcm92aWRlIGRlZmF1bHRzIGZvcgotIyBhbnkgPFZpcnR1YWxIb3N0PiBjb250YWluZXJz
IHlvdSBtYXkgZGVmaW5lIGxhdGVyIGluIHRoZSBmaWxlLgotIwotIyBBbGwgb2YgdGhlc2UgZGly
ZWN0aXZlcyBtYXkgYXBwZWFyIGluc2lkZSA8VmlydHVhbEhvc3Q+IGNvbnRhaW5lcnMsCi0jIGlu
IHdoaWNoIGNhc2UgdGhlc2UgZGVmYXVsdCBzZXR0aW5ncyB3aWxsIGJlIG92ZXJyaWRkZW4gZm9y
IHRoZQotIyB2aXJ0dWFsIGhvc3QgYmVpbmcgZGVmaW5lZC4KLSMKIAotIwotIyBTZXJ2ZXJOYW1l
IGFsbG93cyB5b3UgdG8gc2V0IGEgaG9zdCBuYW1lIHdoaWNoIGlzIHNlbnQgYmFjayB0byBjbGll
bnRzIGZvcgotIyB5b3VyIHNlcnZlciBpZiBpdCdzIGRpZmZlcmVudCB0aGFuIHRoZSBvbmUgdGhl
IHByb2dyYW0gd291bGQgZ2V0IChpLmUuLCB1c2UKLSMgInd3dyIgaW5zdGVhZCBvZiB0aGUgaG9z
dCdzIHJlYWwgbmFtZSkuCi0jCi0jIE5vdGU6IFlvdSBjYW5ub3QganVzdCBpbnZlbnQgaG9zdCBu
YW1lcyBhbmQgaG9wZSB0aGV5IHdvcmsuIFRoZSBuYW1lIHlvdSAKLSMgZGVmaW5lIGhlcmUgbXVz
dCBiZSBhIHZhbGlkIEROUyBuYW1lIGZvciB5b3VyIGhvc3QuIElmIHlvdSBkb24ndCB1bmRlcnN0
YW5kCi0jIHRoaXMsIGFzayB5b3VyIG5ldHdvcmsgYWRtaW5pc3RyYXRvci4KLSMgSWYgeW91ciBo
b3N0IGRvZXNuJ3QgaGF2ZSBhIHJlZ2lzdGVyZWQgRE5TIG5hbWUsIGVudGVyIGl0cyBJUCBhZGRy
ZXNzIGhlcmUuCi0jIFlvdSB3aWxsIGhhdmUgdG8gYWNjZXNzIGl0IGJ5IGl0cyBhZGRyZXNzIChl
LmcuLCBodHRwOi8vMTIzLjQ1LjY3Ljg5LykKLSMgYW55d2F5LCBhbmQgdGhpcyB3aWxsIG1ha2Ug
cmVkaXJlY3Rpb25zIHdvcmsgaW4gYSBzZW5zaWJsZSB3YXkuCi0jCi0jIDEyNy4wLjAuMSBpcyB0
aGUgVENQL0lQIGxvY2FsIGxvb3AtYmFjayBhZGRyZXNzLCBvZnRlbiBuYW1lZCBsb2NhbGhvc3Qu
IFlvdXIgCi0jIG1hY2hpbmUgYWx3YXlzIGtub3dzIGl0c2VsZiBieSB0aGlzIGFkZHJlc3MuIElm
IHlvdSB1c2UgQXBhY2hlIHN0cmljdGx5IGZvciAKLSMgbG9jYWwgdGVzdGluZyBhbmQgZGV2ZWxv
cG1lbnQsIHlvdSBtYXkgdXNlIDEyNy4wLjAuMSBhcyB0aGUgc2VydmVyIG5hbWUuCi0jCiBTZXJ2
ZXJOYW1lIDEyNy4wLjAuMQogCi0jCi0jIERvY3VtZW50Um9vdDogVGhlIGRpcmVjdG9yeSBvdXQg
b2Ygd2hpY2ggeW91IHdpbGwgc2VydmUgeW91cgotIyBkb2N1bWVudHMuIEJ5IGRlZmF1bHQsIGFs
bCByZXF1ZXN0cyBhcmUgdGFrZW4gZnJvbSB0aGlzIGRpcmVjdG9yeSwgYnV0Ci0jIHN5bWJvbGlj
IGxpbmtzIGFuZCBhbGlhc2VzIG1heSBiZSB1c2VkIHRvIHBvaW50IHRvIG90aGVyIGxvY2F0aW9u
cy4KLSMKLSMgQ29uZmlndXJlZCBmcm9tIHRoZSBodHRwZCBjb21tYW5kIGxpbmUgZm9yIFdlYktp
dCBsYXlvdXQgdGVzdHMuCi0jRG9jdW1lbnRSb290ICIvTGlicmFyeS9XZWJTZXJ2ZXIvRG9jdW1l
bnRzIgotCi0jCi0jIEVhY2ggZGlyZWN0b3J5IHRvIHdoaWNoIEFwYWNoZSBoYXMgYWNjZXNzLCBj
YW4gYmUgY29uZmlndXJlZCB3aXRoIHJlc3BlY3QKLSMgdG8gd2hpY2ggc2VydmljZXMgYW5kIGZl
YXR1cmVzIGFyZSBhbGxvd2VkIGFuZC9vciBkaXNhYmxlZCBpbiB0aGF0Ci0jIGRpcmVjdG9yeSAo
YW5kIGl0cyBzdWJkaXJlY3RvcmllcykuIAotIwogPERpcmVjdG9yeSAvPgotIwotIyBUaGlzIG1h
eSBhbHNvIGJlICJOb25lIiwgIkFsbCIsIG9yIGFueSBjb21iaW5hdGlvbiBvZiAiSW5kZXhlcyIs
Ci0jICJJbmNsdWRlcyIsICJGb2xsb3dTeW1MaW5rcyIsICJFeGVjQ0dJIiwgb3IgIk11bHRpVmll
d3MiLgotIwotIyBOb3RlIHRoYXQgIk11bHRpVmlld3MiIG11c3QgYmUgbmFtZWQgKmV4cGxpY2l0
bHkqIC0tLSAiT3B0aW9ucyBBbGwiCi0jIGRvZXNuJ3QgZ2l2ZSBpdCB0byB5b3UuCi0jCiAgICAg
T3B0aW9ucyBJbmRleGVzIEZvbGxvd1N5bUxpbmtzIE11bHRpVmlld3MgRXhlY0NHSSBJbmNsdWRl
cwotCi0jCi0jIFRoaXMgY29udHJvbHMgd2hpY2ggb3B0aW9ucyB0aGUgLmh0YWNjZXNzIGZpbGVz
IGluIGRpcmVjdG9yaWVzIGNhbgotIyBvdmVycmlkZS4gQ2FuIGFsc28gYmUgIkFsbCIsIG9yIGFu
eSBjb21iaW5hdGlvbiBvZiAiT3B0aW9ucyIsICJGaWxlSW5mbyIsIAotIyAiQXV0aENvbmZpZyIs
IGFuZCAiTGltaXQiCi0jCiAgICAgQWxsb3dPdmVycmlkZSBBbGwKLQotIwotIyBDb250cm9scyB3
aG8gY2FuIGdldCBzdHVmZiBmcm9tIHRoaXMgc2VydmVyLgotIwogICAgIE9yZGVyIGFsbG93LGRl
bnkKICAgICBBbGxvdyBmcm9tIGFsbAogPC9EaXJlY3Rvcnk+CiAKLSMKLSMgQWNjZXNzRmlsZU5h
bWU6IFRoZSBuYW1lIG9mIHRoZSBmaWxlIHRvIGxvb2sgZm9yIGluIGVhY2ggZGlyZWN0b3J5Ci0j
IGZvciBhY2Nlc3MgY29udHJvbCBpbmZvcm1hdGlvbi4KLSMKIEFjY2Vzc0ZpbGVOYW1lIC5odGFj
Y2VzcwogCi0jCi0jIFRoZSBmb2xsb3dpbmcgbGluZXMgcHJldmVudCAuaHRhY2Nlc3MgZmlsZXMg
ZnJvbSBiZWluZyB2aWV3ZWQgYnkKLSMgV2ViIGNsaWVudHMuICBTaW5jZSAuaHRhY2Nlc3MgZmls
ZXMgb2Z0ZW4gY29udGFpbiBhdXRob3JpemF0aW9uCi0jIGluZm9ybWF0aW9uLCBhY2Nlc3MgaXMg
ZGlzYWxsb3dlZCBmb3Igc2VjdXJpdHkgcmVhc29ucy4gIENvbW1lbnQKLSMgdGhlc2UgbGluZXMg
b3V0IGlmIHlvdSB3YW50IFdlYiB2aXNpdG9ycyB0byBzZWUgdGhlIGNvbnRlbnRzIG9mCi0jIC5o
dGFjY2VzcyBmaWxlcy4gIElmIHlvdSBjaGFuZ2UgdGhlIEFjY2Vzc0ZpbGVOYW1lIGRpcmVjdGl2
ZSBhYm92ZSwKLSMgYmUgc3VyZSB0byBtYWtlIHRoZSBjb3JyZXNwb25kaW5nIGNoYW5nZXMgaGVy
ZS4KLSMKLSMgQWxzbywgZm9sa3MgdGVuZCB0byB1c2UgbmFtZXMgc3VjaCBhcyAuaHRwYXNzd2Qg
Zm9yIHBhc3N3b3JkCi0jIGZpbGVzLCBzbyB0aGlzIHdpbGwgcHJvdGVjdCB0aG9zZSBhcyB3ZWxs
LgotIwogPEZpbGVzIH4gIl5cLihbSGhdW1R0XXxbRGRdW1NzXV9bU3NdKSI+CiAgICAgT3JkZXIg
YWxsb3csZGVueQogICAgIERlbnkgZnJvbSBhbGwKICAgICBTYXRpc2Z5IEFsbAogPC9GaWxlcz4K
IAotIwotIyBBcHBsZSBzcGVjaWZpYyBmaWxlc3lzdGVtIHByb3RlY3Rpb24uCi0jIAotCi08Rmls
ZXMgInJzcmMiPgotICAgIE9yZGVyIGFsbG93LGRlbnkKLSAgICBEZW55IGZyb20gYWxsCi0gICAg
U2F0aXNmeSBBbGwKLTwvRmlsZXM+Ci0KLTxEaXJlY3RvcnkgIH4gIi4qXC5cLm5hbWVkZm9yayI+
Ci0gICAgT3JkZXIgYWxsb3csZGVueQotICAgIERlbnkgZnJvbSBhbGwKLSAgICBTYXRpc2Z5IEFs
bAotPC9EaXJlY3Rvcnk+Ci0KLSMKLSMgQ2FjaGVOZWdvdGlhdGVkRG9jczogQnkgZGVmYXVsdCwg
QXBhY2hlIHNlbmRzICJQcmFnbWE6IG5vLWNhY2hlIiB3aXRoIGVhY2gKLSMgZG9jdW1lbnQgdGhh
dCB3YXMgbmVnb3RpYXRlZCBvbiB0aGUgYmFzaXMgb2YgY29udGVudC4gVGhpcyBhc2tzIHByb3h5
Ci0jIHNlcnZlcnMgbm90IHRvIGNhY2hlIHRoZSBkb2N1bWVudC4gVW5jb21tZW50aW5nIHRoZSBm
b2xsb3dpbmcgbGluZSBkaXNhYmxlcwotIyB0aGlzIGJlaGF2aW9yLCBhbmQgcHJveGllcyB3aWxs
IGJlIGFsbG93ZWQgdG8gY2FjaGUgdGhlIGRvY3VtZW50cy4KLSMKLSNDYWNoZU5lZ290aWF0ZWRE
b2NzCi0KLSMKLSMgVXNlQ2Fub25pY2FsTmFtZTogIChuZXcgZm9yIDEuMykgIFdpdGggdGhpcyBz
ZXR0aW5nIHR1cm5lZCBvbiwgd2hlbmV2ZXIKLSMgQXBhY2hlIG5lZWRzIHRvIGNvbnN0cnVjdCBh
IHNlbGYtcmVmZXJlbmNpbmcgVVJMIChhIFVSTCB0aGF0IHJlZmVycyBiYWNrCi0jIHRvIHRoZSBz
ZXJ2ZXIgdGhlIHJlc3BvbnNlIGlzIGNvbWluZyBmcm9tKSBpdCB3aWxsIHVzZSBTZXJ2ZXJOYW1l
IGFuZAotIyBQb3J0IHRvIGZvcm0gYSAiY2Fub25pY2FsIiBuYW1lLiAgV2l0aCB0aGlzIHNldHRp
bmcgb2ZmLCBBcGFjaGUgd2lsbAotIyB1c2UgdGhlIGhvc3RuYW1lOnBvcnQgdGhhdCB0aGUgY2xp
ZW50IHN1cHBsaWVkLCB3aGVuIHBvc3NpYmxlLiAgVGhpcwotIyBhbHNvIGFmZmVjdHMgU0VSVkVS
X05BTUUgYW5kIFNFUlZFUl9QT1JUIGluIENHSSBzY3JpcHRzLgotIwogVXNlQ2Fub25pY2FsTmFt
ZSBPbgotCi0jCi0jIFR5cGVzQ29uZmlnIGRlc2NyaWJlcyB3aGVyZSB0aGUgbWltZS50eXBlcyBm
aWxlIChvciBlcXVpdmFsZW50KSBpcwotIyB0byBiZSBmb3VuZC4KLSMKLSMgQ29uZmlndXJlZCBm
cm9tIHRoZSBodHRwZCBjb21tYW5kIGxpbmUgZm9yIFdlYktpdCBsYXlvdXQgdGVzdHMuCi0jCi0j
PElmTW9kdWxlIG1vZF9taW1lLmM+Ci0jICAgIFR5cGVzQ29uZmlnIC9wcml2YXRlL2V0Yy9hcGFj
aGUyL21pbWUudHlwZXMKLSM8L0lmTW9kdWxlPgotCi0jCi0jIERlZmF1bHRUeXBlIGlzIHRoZSBk
ZWZhdWx0IE1JTUUgdHlwZSB0aGUgc2VydmVyIHdpbGwgdXNlIGZvciBhIGRvY3VtZW50Ci0jIGlm
IGl0IGNhbm5vdCBvdGhlcndpc2UgZGV0ZXJtaW5lIG9uZSwgc3VjaCBhcyBmcm9tIGZpbGVuYW1l
IGV4dGVuc2lvbnMuCi0jIElmIHlvdXIgc2VydmVyIGNvbnRhaW5zIG1vc3RseSB0ZXh0IG9yIEhU
TUwgZG9jdW1lbnRzLCAidGV4dC9wbGFpbiIgaXMKLSMgYSBnb29kIHZhbHVlLiAgSWYgbW9zdCBv
ZiB5b3VyIGNvbnRlbnQgaXMgYmluYXJ5LCBzdWNoIGFzIGFwcGxpY2F0aW9ucwotIyBvciBpbWFn
ZXMsIHlvdSBtYXkgd2FudCB0byB1c2UgImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIgaW5zdGVh
ZCB0bwotIyBrZWVwIGJyb3dzZXJzIGZyb20gdHJ5aW5nIHRvIGRpc3BsYXkgYmluYXJ5IGZpbGVz
IGFzIHRob3VnaCB0aGV5IGFyZQotIyB0ZXh0LgotIwogRGVmYXVsdFR5cGUgdGV4dC9wbGFpbgot
Ci0jCi0jIEhvc3RuYW1lTG9va3VwczogTG9nIHRoZSBuYW1lcyBvZiBjbGllbnRzIG9yIGp1c3Qg
dGhlaXIgSVAgYWRkcmVzc2VzCi0jIGUuZy4sIHd3dy5hcGFjaGUub3JnIChvbikgb3IgMjA0LjYy
LjEyOS4xMzIgKG9mZikuCi0jIFRoZSBkZWZhdWx0IGlzIG9mZiBiZWNhdXNlIGl0J2QgYmUgb3Zl
cmFsbCBiZXR0ZXIgZm9yIHRoZSBuZXQgaWYgcGVvcGxlCi0jIGhhZCB0byBrbm93aW5nbHkgdHVy
biB0aGlzIGZlYXR1cmUgb24sIHNpbmNlIGVuYWJsaW5nIGl0IG1lYW5zIHRoYXQKLSMgZWFjaCBj
bGllbnQgcmVxdWVzdCB3aWxsIHJlc3VsdCBpbiBBVCBMRUFTVCBvbmUgbG9va3VwIHJlcXVlc3Qg
dG8gdGhlCi0jIG5hbWVzZXJ2ZXIuCi0jCiBIb3N0bmFtZUxvb2t1cHMgT2ZmCiAKLSMKLSMgRXJy
b3JMb2c6IFRoZSBsb2NhdGlvbiBvZiB0aGUgZXJyb3IgbG9nIGZpbGUuCi0jIElmIHlvdSBkbyBu
b3Qgc3BlY2lmeSBhbiBFcnJvckxvZyBkaXJlY3RpdmUgd2l0aGluIGEgPFZpcnR1YWxIb3N0Pgot
IyBjb250YWluZXIsIGVycm9yIG1lc3NhZ2VzIHJlbGF0aW5nIHRvIHRoYXQgdmlydHVhbCBob3N0
IHdpbGwgYmUKLSMgbG9nZ2VkIGhlcmUuICBJZiB5b3UgKmRvKiBkZWZpbmUgYW4gZXJyb3IgbG9n
ZmlsZSBmb3IgYSA8VmlydHVhbEhvc3Q+Ci0jIGNvbnRhaW5lciwgdGhhdCBob3N0J3MgZXJyb3Jz
IHdpbGwgYmUgbG9nZ2VkIHRoZXJlIGFuZCBub3QgaGVyZS4KLSMKLSMgQ29uZmlndXJlZCBmcm9t
IHRoZSBodHRwZCBjb21tYW5kIGxpbmUgZm9yIFdlYktpdCBsYXlvdXQgdGVzdHMuCi0jRXJyb3JM
b2cgIi90bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9lcnJvcl9sb2ciCi0KLSMKLSMgTG9nTGV2ZWw6
IENvbnRyb2wgdGhlIG51bWJlciBvZiBtZXNzYWdlcyBsb2dnZWQgdG8gdGhlIGVycm9yX2xvZy4K
LSMgUG9zc2libGUgdmFsdWVzIGluY2x1ZGU6IGRlYnVnLCBpbmZvLCBub3RpY2UsIHdhcm4sIGVy
cm9yLCBjcml0LAotIyBhbGVydCwgZW1lcmcuCi0jCiBMb2dMZXZlbCB3YXJuCi0KLSMKLSMgVGhl
IGZvbGxvd2luZyBkaXJlY3RpdmVzIGRlZmluZSBzb21lIGZvcm1hdCBuaWNrbmFtZXMgZm9yIHVz
ZSB3aXRoCi0jIGEgQ3VzdG9tTG9nIGRpcmVjdGl2ZSAoc2VlIGJlbG93KS4KLSMKIExvZ0Zvcm1h
dCAiJWggJWwgJXUgJXQgXCIlclwiICU+cyAlYiBcIiV7UmVmZXJlcn1pXCIgXCIle1VzZXItQWdl
bnR9aVwiIiBjb21iaW5lZAogTG9nRm9ybWF0ICIlaCAlbCAldSAldCBcIiVyXCIgJT5zICViIiBj
b21tb24KIExvZ0Zvcm1hdCAiJXtSZWZlcmVyfWkgLT4gJVUiIHJlZmVyZXIKIExvZ0Zvcm1hdCAi
JXtVc2VyLWFnZW50fWkiIGFnZW50CiAKLSMKLSMgVGhlIGxvY2F0aW9uIGFuZCBmb3JtYXQgb2Yg
dGhlIGFjY2VzcyBsb2dmaWxlIChDb21tb24gTG9nZmlsZSBGb3JtYXQpLgotIyBJZiB5b3UgZG8g
bm90IGRlZmluZSBhbnkgYWNjZXNzIGxvZ2ZpbGVzIHdpdGhpbiBhIDxWaXJ0dWFsSG9zdD4KLSMg
Y29udGFpbmVyLCB0aGV5IHdpbGwgYmUgbG9nZ2VkIGhlcmUuICBDb250cmFyaXdpc2UsIGlmIHlv
dSAqZG8qCi0jIGRlZmluZSBwZXItPFZpcnR1YWxIb3N0PiBhY2Nlc3MgbG9nZmlsZXMsIHRyYW5z
YWN0aW9ucyB3aWxsIGJlCi0jIGxvZ2dlZCB0aGVyZWluIGFuZCAqbm90KiBpbiB0aGlzIGZpbGUu
Ci0jCi0jIENvbmZpZ3VyZWQgZnJvbSB0aGUgaHR0cGQgY29tbWFuZCBsaW5lIGZvciBXZWJLaXQg
bGF5b3V0IHRlc3RzLgotI0N1c3RvbUxvZyAiL3RtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2FjY2Vz
c19sb2ciIGNvbW1vbgotCi0jCi0jIElmIHlvdSBwcmVmZXIgYSBzaW5nbGUgbG9nZmlsZSB3aXRo
IGFjY2VzcywgYWdlbnQsIGFuZCByZWZlcmVyIGluZm9ybWF0aW9uCi0jIChDb21iaW5lZCBMb2dm
aWxlIEZvcm1hdCkgeW91IGNhbiB1c2UgdGhlIGZvbGxvd2luZyBkaXJlY3RpdmUuCi0jCi0jQ3Vz
dG9tTG9nICIvdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvYWNjZXNzX2xvZyIgY29tYmluZWQKLQot
IwotIyBPcHRpb25hbGx5IGFkZCBhIGxpbmUgY29udGFpbmluZyB0aGUgc2VydmVyIHZlcnNpb24g
YW5kIHZpcnR1YWwgaG9zdAotIyBuYW1lIHRvIHNlcnZlci1nZW5lcmF0ZWQgcGFnZXMgKGVycm9y
IGRvY3VtZW50cywgRlRQIGRpcmVjdG9yeSBsaXN0aW5ncywKLSMgbW9kX3N0YXR1cyBhbmQgbW9k
X2luZm8gb3V0cHV0IGV0Yy4sIGJ1dCBub3QgQ0dJIGdlbmVyYXRlZCBkb2N1bWVudHMpLgotIyBT
ZXQgdG8gIkVNYWlsIiB0byBhbHNvIGluY2x1ZGUgYSBtYWlsdG86IGxpbmsgdG8gdGhlIFNlcnZl
ckFkbWluLgotIyBTZXQgdG8gb25lIG9mOiAgT24gfCBPZmYgfCBFTWFpbAotIwogU2VydmVyU2ln
bmF0dXJlIE9uCiAKLSMKLSMgQWxpYXNlczogQWRkIGhlcmUgYXMgbWFueSBhbGlhc2VzIGFzIHlv
dSBuZWVkICh3aXRoIG5vIGxpbWl0KS4gVGhlIGZvcm1hdCBpcyAKLSMgQWxpYXMgZmFrZW5hbWUg
cmVhbG5hbWUKLSMKIDxJZk1vZHVsZSBtb2RfYWxpYXMuYz4KIDwvSWZNb2R1bGU+Ci0jIEVuZCBv
ZiBhbGlhc2VzLgogCi0jCi0jIFJlZGlyZWN0IGFsbG93cyB5b3UgdG8gdGVsbCBjbGllbnRzIGFi
b3V0IGRvY3VtZW50cyB3aGljaCB1c2VkIHRvIGV4aXN0IGluCi0jIHlvdXIgc2VydmVyJ3MgbmFt
ZXNwYWNlLCBidXQgZG8gbm90IGFueW1vcmUuIFRoaXMgYWxsb3dzIHlvdSB0byB0ZWxsIHRoZQot
IyBjbGllbnRzIHdoZXJlIHRvIGxvb2sgZm9yIHRoZSByZWxvY2F0ZWQgZG9jdW1lbnQuCi0jIEZv
cm1hdDogUmVkaXJlY3Qgb2xkLVVSSSBuZXctVVJMCi0jCi0KLSMKLSMgRG9jdW1lbnQgdHlwZXMu
Ci0jCiA8SWZNb2R1bGUgbW9kX21pbWUuYz4KLQotICAgICMKLSAgICAjIEFkZExhbmd1YWdlIGFs
bG93cyB5b3UgdG8gc3BlY2lmeSB0aGUgbGFuZ3VhZ2Ugb2YgYSBkb2N1bWVudC4gWW91IGNhbgot
ICAgICMgdGhlbiB1c2UgY29udGVudCBuZWdvdGlhdGlvbiB0byBnaXZlIGEgYnJvd3NlciBhIGZp
bGUgaW4gYSBsYW5ndWFnZQotICAgICMgaXQgY2FuIHVuZGVyc3RhbmQuICAKLSAgICAjCi0gICAg
IyBOb3RlIDE6IFRoZSBzdWZmaXggZG9lcyBub3QgaGF2ZSB0byBiZSB0aGUgc2FtZSBhcyB0aGUg
bGFuZ3VhZ2UgCi0gICAgIyBrZXl3b3JkIC0tLSB0aG9zZSB3aXRoIGRvY3VtZW50cyBpbiBQb2xp
c2ggKHdob3NlIG5ldC1zdGFuZGFyZCAKLSAgICAjIGxhbmd1YWdlIGNvZGUgaXMgcGwpIG1heSB3
aXNoIHRvIHVzZSAiQWRkTGFuZ3VhZ2UgcGwgLnBvIiB0byAKLSAgICAjIGF2b2lkIHRoZSBhbWJp
Z3VpdHkgd2l0aCB0aGUgY29tbW9uIHN1ZmZpeCBmb3IgcGVybCBzY3JpcHRzLgotICAgICMKLSAg
ICAjIE5vdGUgMjogVGhlIGV4YW1wbGUgZW50cmllcyBiZWxvdyBpbGx1c3RyYXRlIHRoYXQgaW4g
cXVpdGUKLSAgICAjIHNvbWUgY2FzZXMgdGhlIHR3byBjaGFyYWN0ZXIgJ0xhbmd1YWdlJyBhYmJy
ZXZpYXRpb24gaXMgbm90Ci0gICAgIyBpZGVudGljYWwgdG8gdGhlIHR3byBjaGFyYWN0ZXIgJ0Nv
dW50cnknIGNvZGUgZm9yIGl0cyBjb3VudHJ5LAotICAgICMgRS5nLiAnRGFubWFyay9kaycgdmVy
c3VzICdEYW5pc2gvZGEnLgotICAgICMKLSAgICAjIE5vdGUgMzogSW4gdGhlIGNhc2Ugb2YgJ2x0
eicgd2UgdmlvbGF0ZSB0aGUgUkZDIGJ5IHVzaW5nIGEgdGhyZWUgY2hhciAKLSAgICAjIHNwZWNp
Zmllci4gQnV0IHRoZXJlIGlzICd3b3JrIGluIHByb2dyZXNzJyB0byBmaXggdGhpcyBhbmQgZ2V0
IAotICAgICMgdGhlIHJlZmVyZW5jZSBkYXRhIGZvciByZmMxNzY2IGNsZWFuZWQgdXAuCi0gICAg
IwotICAgICMgRGFuaXNoIChkYSkgLSBEdXRjaCAobmwpIC0gRW5nbGlzaCAoZW4pIC0gRXN0b25p
YW4gKGVlKQotICAgICMgRnJlbmNoIChmcikgLSBHZXJtYW4gKGRlKSAtIEdyZWVrLU1vZGVybiAo
ZWwpCi0gICAgIyBJdGFsaWFuIChpdCkgLSBLb3JlYW4gKGtyKSAtIE5vcndlZ2lhbiAobm8pIC0g
Tm9yd2VnaWFuIE55bm9yc2sgKG5uKQotICAgICMgUG9ydHVnZXNlIChwdCkgLSBMdXhlbWJvdXJn
ZW9pcyogKGx0eikKLSAgICAjIFNwYW5pc2ggKGVzKSAtIFN3ZWRpc2ggKHN2KSAtIENhdGFsYW4g
KGNhKSAtIEN6ZWNoKGNzKQotICAgICMgUG9saXNoIChwbCkgLSBCcmF6aWxpYW4gUG9ydHVndWVz
ZSAocHQtYnIpIC0gSmFwYW5lc2UgKGphKQotICAgICMgUnVzc2lhbiAocnUpCi0gICAgIwogICAg
IEFkZExhbmd1YWdlIGRhIC5kawogICAgIEFkZExhbmd1YWdlIG5sIC5ubAogICAgIEFkZExhbmd1
YWdlIGVuIC5lbgpAQCAtNTM5LDE1OCArMTEyLDI4IEBAIFNlcnZlclNpZ25hdHVyZSBPbgogICAg
IEFkZENoYXJzZXQgVUNTLTQgICAgICAgIC51Y3M0CiAgICAgQWRkQ2hhcnNldCBVVEYtOCAgICAg
ICAgLnV0ZjgKIAotICAgICMgTGFuZ3VhZ2VQcmlvcml0eSBhbGxvd3MgeW91IHRvIGdpdmUgcHJl
Y2VkZW5jZSB0byBzb21lIGxhbmd1YWdlcwotICAgICMgaW4gY2FzZSBvZiBhIHRpZSBkdXJpbmcg
Y29udGVudCBuZWdvdGlhdGlvbi4KLSAgICAjCi0gICAgIyBKdXN0IGxpc3QgdGhlIGxhbmd1YWdl
cyBpbiBkZWNyZWFzaW5nIG9yZGVyIG9mIHByZWZlcmVuY2UuIFdlIGhhdmUKLSAgICAjIG1vcmUg
b3IgbGVzcyBhbHBoYWJldGl6ZWQgdGhlbSBoZXJlLiBZb3UgcHJvYmFibHkgd2FudCB0byBjaGFu
Z2UgdGhpcy4KLSAgICAjCiAgICAgPElmTW9kdWxlIG1vZF9uZWdvdGlhdGlvbi5jPgogICAgICAg
ICBMYW5ndWFnZVByaW9yaXR5IGVuIGRhIG5sIGV0IGZyIGRlIGVsIGl0IGphIGtyIG5vIHBsIHB0
IHB0LWJyIHJ1IGx0eiBjYSBlcyBzdiB0dwogICAgIDwvSWZNb2R1bGU+CiAKLSAgICAjCi0gICAg
IyBBZGRUeXBlIGFsbG93cyB5b3UgdG8gdHdlYWsgbWltZS50eXBlcyB3aXRob3V0IGFjdHVhbGx5
IGVkaXRpbmcgaXQsIG9yIHRvCi0gICAgIyBtYWtlIGNlcnRhaW4gZmlsZXMgdG8gYmUgY2VydGFp
biB0eXBlcy4KLSAgICAjCiAgICAgQWRkVHlwZSBhcHBsaWNhdGlvbi94LXRhciAudGd6CiAKLSAg
ICAjCi0gICAgIyBBZGRFbmNvZGluZyBhbGxvd3MgeW91IHRvIGhhdmUgY2VydGFpbiBicm93c2Vy
cyB1bmNvbXByZXNzCi0gICAgIyBpbmZvcm1hdGlvbiBvbiB0aGUgZmx5LiBOb3RlOiBOb3QgYWxs
IGJyb3dzZXJzIHN1cHBvcnQgdGhpcy4KLSAgICAjIERlc3BpdGUgdGhlIG5hbWUgc2ltaWxhcml0
eSwgdGhlIGZvbGxvd2luZyBBZGQqIGRpcmVjdGl2ZXMgaGF2ZSBub3RoaW5nCi0gICAgIyB0byBk
byB3aXRoIHRoZSBGYW5jeUluZGV4aW5nIGN1c3RvbWl6YXRpb24gZGlyZWN0aXZlcyBhYm92ZS4K
LSAgICAjCiAgICAgQWRkRW5jb2RpbmcgeC1jb21wcmVzcyAuWgogICAgIEFkZEVuY29kaW5nIHgt
Z3ppcCAuZ3ogLnRnegotICAgICMKLSAgICAjIElmIHRoZSBBZGRFbmNvZGluZyBkaXJlY3RpdmVz
IGFib3ZlIGFyZSBjb21tZW50ZWQtb3V0LCB0aGVuIHlvdQotICAgICMgcHJvYmFibHkgc2hvdWxk
IGRlZmluZSB0aG9zZSBleHRlbnNpb25zIHRvIGluZGljYXRlIG1lZGlhIHR5cGVzOgotICAgICMK
LSAgICAjQWRkVHlwZSBhcHBsaWNhdGlvbi94LWNvbXByZXNzIC5aCi0gICAgI0FkZFR5cGUgYXBw
bGljYXRpb24veC1nemlwIC5neiAudGd6Ci0KLSAgICAjCi0gICAgIyBBZGRIYW5kbGVyIGFsbG93
cyB5b3UgdG8gbWFwIGNlcnRhaW4gZmlsZSBleHRlbnNpb25zIHRvICJoYW5kbGVycyIsCi0gICAg
IyBhY3Rpb25zIHVucmVsYXRlZCB0byBmaWxldHlwZS4gVGhlc2UgY2FuIGJlIGVpdGhlciBidWls
dCBpbnRvIHRoZSBzZXJ2ZXIKLSAgICAjIG9yIGFkZGVkIHdpdGggdGhlIEFjdGlvbiBjb21tYW5k
IChzZWUgYmVsb3cpCi0gICAgIwotICAgICMgSWYgeW91IHdhbnQgdG8gdXNlIHNlcnZlciBzaWRl
IGluY2x1ZGVzLCBvciBDR0kgb3V0c2lkZQotICAgICMgU2NyaXB0QWxpYXNlZCBkaXJlY3Rvcmll
cywgdW5jb21tZW50IHRoZSBmb2xsb3dpbmcgbGluZXMuCi0gICAgIwotICAgICMgVG8gdXNlIENH
SSBzY3JpcHRzOgotICAgICMKKwogICAgIEFkZEhhbmRsZXIgY2dpLXNjcmlwdCAuY2dpIC5wbAog
Ci0gICAgIwotICAgICMgVG8gdXNlIHNlcnZlci1wYXJzZWQgSFRNTCBmaWxlcwotICAgICMKICAg
ICBBZGRUeXBlIHRleHQvaHRtbCAuc2h0bWwKICAgICBBZGRIYW5kbGVyIHNlcnZlci1wYXJzZWQg
LnNodG1sCiAKLSAgICAjCi0gICAgIyBVbmNvbW1lbnQgdGhlIGZvbGxvd2luZyBsaW5lIHRvIGVu
YWJsZSBBcGFjaGUncyBzZW5kLWFzaXMgSFRUUCBmaWxlCi0gICAgIyBmZWF0dXJlCi0gICAgIwog
ICAgIEFkZEhhbmRsZXIgc2VuZC1hcy1pcyBhc2lzCi0KLSAgICAjCi0gICAgIyBJZiB5b3Ugd2lz
aCB0byB1c2Ugc2VydmVyLXBhcnNlZCBpbWFnZW1hcCBmaWxlcywgdXNlCi0gICAgIwotICAgICNB
ZGRIYW5kbGVyIGltYXAtZmlsZSBtYXAKLQotICAgICMKLSAgICAjIFRvIGVuYWJsZSB0eXBlIG1h
cHMsIHlvdSBtaWdodCB3YW50IHRvIHVzZQotICAgICMKLSAgICAjQWRkSGFuZGxlciB0eXBlLW1h
cCB2YXIKLQogPC9JZk1vZHVsZT4KLSMgRW5kIG9mIGRvY3VtZW50IHR5cGVzLgotCi0jCi0jIEFj
dGlvbiBsZXRzIHlvdSBkZWZpbmUgbWVkaWEgdHlwZXMgdGhhdCB3aWxsIGV4ZWN1dGUgYSBzY3Jp
cHQgd2hlbmV2ZXIKLSMgYSBtYXRjaGluZyBmaWxlIGlzIGNhbGxlZC4gVGhpcyBlbGltaW5hdGVz
IHRoZSBuZWVkIGZvciByZXBlYXRlZCBVUkwKLSMgcGF0aG5hbWVzIGZvciBvZnQtdXNlZCBDR0kg
ZmlsZSBwcm9jZXNzb3JzLgotIyBGb3JtYXQ6IEFjdGlvbiBtZWRpYS90eXBlIC9jZ2ktc2NyaXB0
L2xvY2F0aW9uCi0jIEZvcm1hdDogQWN0aW9uIGhhbmRsZXItbmFtZSAvY2dpLXNjcmlwdC9sb2Nh
dGlvbgotIwotCi0jCi0jIE1ldGFEaXI6IHNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgZGlyZWN0
b3J5IGluIHdoaWNoIEFwYWNoZSBjYW4gZmluZAotIyBtZXRhIGluZm9ybWF0aW9uIGZpbGVzLiBU
aGVzZSBmaWxlcyBjb250YWluIGFkZGl0aW9uYWwgSFRUUCBoZWFkZXJzCi0jIHRvIGluY2x1ZGUg
d2hlbiBzZW5kaW5nIHRoZSBkb2N1bWVudAotIwotI01ldGFEaXIgLndlYgotCi0jCi0jIE1ldGFT
dWZmaXg6IHNwZWNpZmllcyB0aGUgZmlsZSBuYW1lIHN1ZmZpeCBmb3IgdGhlIGZpbGUgY29udGFp
bmluZyB0aGUKLSMgbWV0YSBpbmZvcm1hdGlvbi4KLSMKLSNNZXRhU3VmZml4IC5tZXRhCi0KLSMK
LSMgQ3VzdG9taXphYmxlIGVycm9yIHJlc3BvbnNlIChBcGFjaGUgc3R5bGUpCi0jICB0aGVzZSBj
b21lIGluIHRocmVlIGZsYXZvcnMKLSMKLSMgICAgMSkgcGxhaW4gdGV4dAotI0Vycm9yRG9jdW1l
bnQgNTAwICJUaGUgc2VydmVyIG1hZGUgYSBib28gYm9vLgotIyAgbi5iLiAgdGhlIHNpbmdsZSBs
ZWFkaW5nICgiKSBtYXJrcyBpdCBhcyB0ZXh0LCBpdCBkb2VzIG5vdCBnZXQgb3V0cHV0Ci0jCi0j
ICAgIDIpIGxvY2FsIHJlZGlyZWN0cwotI0Vycm9yRG9jdW1lbnQgNDA0IC9taXNzaW5nLmh0bWwK
LSMgIHRvIHJlZGlyZWN0IHRvIGxvY2FsIFVSTCAvbWlzc2luZy5odG1sCi0jRXJyb3JEb2N1bWVu
dCA0MDQgL2NnaS1iaW4vbWlzc2luZ19oYW5kbGVyLnBsCi0jICBOLkIuOiBZb3UgY2FuIHJlZGly
ZWN0IHRvIGEgc2NyaXB0IG9yIGEgZG9jdW1lbnQgdXNpbmcgc2VydmVyLXNpZGUtaW5jbHVkZXMu
Ci0jCi0jICAgIDMpIGV4dGVybmFsIHJlZGlyZWN0cwotI0Vycm9yRG9jdW1lbnQgNDAyIGh0dHA6
Ly9zb21lLm90aGVyLXNlcnZlci5jb20vc3Vic2NyaXB0aW9uX2luZm8uaHRtbAotIyAgTi5CLjog
TWFueSBvZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgb3Jp
Z2luYWwKLSMgIHJlcXVlc3Qgd2lsbCAqbm90KiBiZSBhdmFpbGFibGUgdG8gc3VjaCBhIHNjcmlw
dC4KLQotIwotIyBQcm94eSBTZXJ2ZXIgZGlyZWN0aXZlcy4gVW5jb21tZW50IHRoZSBmb2xsb3dp
bmcgbGluZXMgdG8KLSMgZW5hYmxlIHRoZSBwcm94eSBzZXJ2ZXI6Ci0jCi0jPElmTW9kdWxlIG1v
ZF9wcm94eS5jPgotIyAgICBQcm94eVJlcXVlc3RzIE9uCi0KLSMgICAgPERpcmVjdG9yeSBwcm94
eToqPgotIyAgICAgICAgT3JkZXIgZGVueSxhbGxvdwotIyAgICAgICAgRGVueSBmcm9tIGFsbAot
IyAgICAgICAgQWxsb3cgZnJvbSAueW91ci1kb21haW4uY29tCi0jICAgIDwvRGlyZWN0b3J5Pgot
Ci0gICAgIwotICAgICMgRW5hYmxlL2Rpc2FibGUgdGhlIGhhbmRsaW5nIG9mIEhUVFAvMS4xICJW
aWE6IiBoZWFkZXJzLgotICAgICMgKCJGdWxsIiBhZGRzIHRoZSBzZXJ2ZXIgdmVyc2lvbjsgIkJs
b2NrIiByZW1vdmVzIGFsbCBvdXRnb2luZyBWaWE6IGhlYWRlcnMpCi0gICAgIyBTZXQgdG8gb25l
IG9mOiBPZmYgfCBPbiB8IEZ1bGwgfCBCbG9jawotICAgICMKLSMgICAgUHJveHlWaWEgT24KLQot
ICAgICMKLSAgICAjIFRvIGVuYWJsZSB0aGUgY2FjaGUgYXMgd2VsbCwgZWRpdCBhbmQgdW5jb21t
ZW50IHRoZSBmb2xsb3dpbmcgbGluZXM6Ci0gICAgIyAobm8gY2FjaGVpbmcgd2l0aG91dCBDYWNo
ZVJvb3QpCi0gICAgIwotIyAgICBDYWNoZVJvb3QgIi9wcml2YXRlL3Zhci9ydW4vcHJveHkiCi0j
ICAgIENhY2hlU2l6ZSA1Ci0jICAgIENhY2hlR2NJbnRlcnZhbCA0Ci0jICAgIENhY2hlTWF4RXhw
aXJlIDI0Ci0jICAgIENhY2hlTGFzdE1vZGlmaWVkRmFjdG9yIDAuMQotIyAgICBDYWNoZURlZmF1
bHRFeHBpcmUgMQotIyAgICBOb0NhY2hlIGEtZG9tYWluLmNvbSBhbm90aGVyLWRvbWFpbi5lZHUg
am9lcy5nYXJhZ2Utc2FsZS5jb20KLQotIzwvSWZNb2R1bGU+Ci0jIEVuZCBvZiBwcm94eSBkaXJl
Y3RpdmVzLgotCiAKIDxJZk1vZHVsZSBtb2RfcGhwNS5jPgotICAgICMgSWYgcGhwIGlzIHR1cm5l
ZCBvbiwgd2UgcmVwc2VjdCAucGhwIGFuZCAucGhwcyBmaWxlcy4KICAgICBBZGRUeXBlIGFwcGxp
Y2F0aW9uL3gtaHR0cGQtcGhwIC5waHAKICAgICBBZGRUeXBlIGFwcGxpY2F0aW9uL3gtaHR0cGQt
cGhwIC5iYXQKICAgICBBZGRUeXBlIGFwcGxpY2F0aW9uL3gtaHR0cGQtcGhwLXNvdXJjZSAucGhw
cwogCi0gICAgIyBTaW5jZSBtb3N0IHVzZXJzIHdpbGwgd2FudCBpbmRleC5waHAgdG8gd29yayB3
ZQotICAgICMgYWxzbyBhdXRvbWF0aWNhbGx5IGVuYWJsZSBpbmRleC5waHAKICAgICA8SWZNb2R1
bGUgbW9kX2Rpci5jPgogICAgICAgICBEaXJlY3RvcnlJbmRleCBpbmRleC5odG1sIGluZGV4LnBo
cAogICAgIDwvSWZNb2R1bGU+CkBAIC03MDksMyArMTUyLDE4IEBAIFNlcnZlclNpZ25hdHVyZSBP
bgogICAgIFNlcnZlck5hbWUgMTI3LjAuMC4xCiAgICAgU1NMRW5naW5lIE9uCiA8L1ZpcnR1YWxI
b3N0PgorCisjCisjIEFwcGxlLXNwZWNpZmljIGZpbGVzeXN0ZW0gcHJvdGVjdGlvbi4KKyMKKzxG
aWxlcyAicnNyYyI+CisgICAgT3JkZXIgYWxsb3csZGVueQorICAgIERlbnkgZnJvbSBhbGwKKyAg
ICBTYXRpc2Z5IEFsbAorPC9GaWxlcz4KKworPERpcmVjdG9yeSAgfiAiLipcLlwubmFtZWRmb3Jr
Ij4KKyAgICBPcmRlciBhbGxvdyxkZW55CisgICAgRGVueSBmcm9tIGFsbAorICAgIFNhdGlzZnkg
QWxsCis8L0RpcmVjdG9yeT4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvY29uZi9hcGFjaGUyLW1z
eXMtaHR0cGQuY29uZgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL2NvbmYvYXBhY2hl
Mi1tc3lzLWh0dHBkLmNvbmYJKHJldmlzaW9uIDEzMDE1MSkKKysrIExheW91dFRlc3RzL2h0dHAv
Y29uZi9hcGFjaGUyLW1zeXMtaHR0cGQuY29uZgkod29ya2luZyBjb3B5KQpAQCAtMSwxNjIgKzEs
MTMgQEAKLSMjCi0jIyBodHRwZC5jb25mIC0tIEFwYWNoZSBIVFRQIHNlcnZlciBjb25maWd1cmF0
aW9uIGZpbGUKLSMjCi0KLSMKLSMgQmFzZWQgdXBvbiB0aGUgTkNTQSBzZXJ2ZXIgY29uZmlndXJh
dGlvbiBmaWxlcyBvcmlnaW5hbGx5IGJ5IFJvYiBNY0Nvb2wuCi0jCi0jIFRoaXMgaXMgdGhlIG1h
aW4gQXBhY2hlIHNlcnZlciBjb25maWd1cmF0aW9uIGZpbGUuICBJdCBjb250YWlucyB0aGUKLSMg
Y29uZmlndXJhdGlvbiBkaXJlY3RpdmVzIHRoYXQgZ2l2ZSB0aGUgc2VydmVyIGl0cyBpbnN0cnVj
dGlvbnMuCi0jIFNlZSA8VVJMOmh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvPiBmb3IgZGV0
YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQKLSMgdGhlIGRpcmVjdGl2ZXMuCi0jCi0jIERvIE5PVCBz
aW1wbHkgcmVhZCB0aGUgaW5zdHJ1Y3Rpb25zIGluIGhlcmUgd2l0aG91dCB1bmRlcnN0YW5kaW5n
Ci0jIHdoYXQgdGhleSBkby4gIFRoZXkncmUgaGVyZSBvbmx5IGFzIGhpbnRzIG9yIHJlbWluZGVy
cy4gIElmIHlvdSBhcmUgdW5zdXJlCi0jIGNvbnN1bHQgdGhlIG9ubGluZSBkb2NzLiBZb3UgaGF2
ZSBiZWVuIHdhcm5lZC4gIAotIwotIyBBZnRlciB0aGlzIGZpbGUgaXMgcHJvY2Vzc2VkLCB0aGUg
c2VydmVyIHdpbGwgbG9vayBmb3IgYW5kIHByb2Nlc3MKLSMgL3ByaXZhdGUvZXRjL2FwYWNoZTIv
c3JtLmNvbmYgYW5kIHRoZW4gL3ByaXZhdGUvZXRjL2FwYWNoZTIvYWNjZXNzLmNvbmYKLSMgdW5s
ZXNzIHlvdSBoYXZlIG92ZXJyaWRkZW4gdGhlc2Ugd2l0aCBSZXNvdXJjZUNvbmZpZyBhbmQvb3IK
LSMgQWNjZXNzQ29uZmlnIGRpcmVjdGl2ZXMgaGVyZS4KLSMKLSMgVGhlIGNvbmZpZ3VyYXRpb24g
ZGlyZWN0aXZlcyBhcmUgZ3JvdXBlZCBpbnRvIHRocmVlIGJhc2ljIHNlY3Rpb25zOgotIyAgMS4g
RGlyZWN0aXZlcyB0aGF0IGNvbnRyb2wgdGhlIG9wZXJhdGlvbiBvZiB0aGUgQXBhY2hlIHNlcnZl
ciBwcm9jZXNzIGFzIGEKLSMgICAgIHdob2xlICh0aGUgJ2dsb2JhbCBlbnZpcm9ubWVudCcpLgot
IyAgMi4gRGlyZWN0aXZlcyB0aGF0IGRlZmluZSB0aGUgcGFyYW1ldGVycyBvZiB0aGUgJ21haW4n
IG9yICdkZWZhdWx0JyBzZXJ2ZXIsCi0jICAgICB3aGljaCByZXNwb25kcyB0byByZXF1ZXN0cyB0
aGF0IGFyZW4ndCBoYW5kbGVkIGJ5IGEgdmlydHVhbCBob3N0LgotIyAgICAgVGhlc2UgZGlyZWN0
aXZlcyBhbHNvIHByb3ZpZGUgZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZSBzZXR0aW5ncwotIyAgICAg
b2YgYWxsIHZpcnR1YWwgaG9zdHMuCi0jICAzLiBTZXR0aW5ncyBmb3IgdmlydHVhbCBob3N0cywg
d2hpY2ggYWxsb3cgV2ViIHJlcXVlc3RzIHRvIGJlIHNlbnQgdG8KLSMgICAgIGRpZmZlcmVudCBJ
UCBhZGRyZXNzZXMgb3IgaG9zdG5hbWVzIGFuZCBoYXZlIHRoZW0gaGFuZGxlZCBieSB0aGUKLSMg
ICAgIHNhbWUgQXBhY2hlIHNlcnZlciBwcm9jZXNzLgotIwotIyBDb25maWd1cmF0aW9uIGFuZCBs
b2dmaWxlIG5hbWVzOiBJZiB0aGUgZmlsZW5hbWVzIHlvdSBzcGVjaWZ5IGZvciBtYW55Ci0jIG9m
IHRoZSBzZXJ2ZXIncyBjb250cm9sIGZpbGVzIGJlZ2luIHdpdGggIi8iIChvciAiZHJpdmU6LyIg
Zm9yIFdpbjMyKSwgdGhlCi0jIHNlcnZlciB3aWxsIHVzZSB0aGF0IGV4cGxpY2l0IHBhdGguICBJ
ZiB0aGUgZmlsZW5hbWVzIGRvICpub3QqIGJlZ2luCi0jIHdpdGggIi8iLCB0aGUgdmFsdWUgb2Yg
U2VydmVyUm9vdCBpcyBwcmVwZW5kZWQgLS0gc28gImxvZ3MvZm9vLmxvZyIKLSMgd2l0aCBTZXJ2
ZXJSb290IHNldCB0byAiL3Vzci9sb2NhbC9hcGFjaGUiIHdpbGwgYmUgaW50ZXJwcmV0ZWQgYnkg
dGhlCi0jIHNlcnZlciBhcyAiL3Vzci9sb2NhbC9hcGFjaGUvbG9ncy9mb28ubG9nIi4KLSMKLQot
IyMjIFNlY3Rpb24gMTogR2xvYmFsIEVudmlyb25tZW50Ci0jCi0jIFRoZSBkaXJlY3RpdmVzIGlu
IHRoaXMgc2VjdGlvbiBhZmZlY3QgdGhlIG92ZXJhbGwgb3BlcmF0aW9uIG9mIEFwYWNoZSwKLSMg
c3VjaCBhcyB0aGUgbnVtYmVyIG9mIGNvbmN1cnJlbnQgcmVxdWVzdHMgaXQgY2FuIGhhbmRsZSBv
ciB3aGVyZSBpdAotIyBjYW4gZmluZCBpdHMgY29uZmlndXJhdGlvbiBmaWxlcy4KLSMKLQotIwot
IyBTZXJ2ZXJSb290OiBUaGUgdG9wIG9mIHRoZSBkaXJlY3RvcnkgdHJlZSB1bmRlciB3aGljaCB0
aGUgc2VydmVyJ3MKLSMgY29uZmlndXJhdGlvbiwgZXJyb3IsIGFuZCBsb2cgZmlsZXMgYXJlIGtl
cHQuCi0jCi0jIE5PVEUhICBJZiB5b3UgaW50ZW5kIHRvIHBsYWNlIHRoaXMgb24gYW4gTkZTIChv
ciBvdGhlcndpc2UgbmV0d29yaykKLSMgbW91bnRlZCBmaWxlc3lzdGVtIHRoZW4gcGxlYXNlIHJl
YWQgdGhlIExvY2tGaWxlIGRvY3VtZW50YXRpb24KLSMgKGF2YWlsYWJsZSBhdCA8VVJMOmh0dHA6
Ly93d3cuYXBhY2hlLm9yZy9kb2NzL21vZC9jb3JlLmh0bWwjbG9ja2ZpbGU+KTsKLSMgeW91IHdp
bGwgc2F2ZSB5b3Vyc2VsZiBhIGxvdCBvZiB0cm91YmxlLgotIwogU2VydmVyUm9vdCAiQzovUHJv
Z3JhbSBGaWxlcy9BcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbi9BcGFjaGUyLjIiCiAKLSMKLSMg
VGhlIExvY2tGaWxlIGRpcmVjdGl2ZSBzZXRzIHRoZSBwYXRoIHRvIHRoZSBsb2NrZmlsZSB1c2Vk
IHdoZW4gQXBhY2hlCi0jIGlzIGNvbXBpbGVkIHdpdGggZWl0aGVyIFVTRV9GQ05UTF9TRVJJQUxJ
WkVEX0FDQ0VQVCBvcgotIyBVU0VfRkxPQ0tfU0VSSUFMSVpFRF9BQ0NFUFQuIFRoaXMgZGlyZWN0
aXZlIHNob3VsZCBub3JtYWxseSBiZSBsZWZ0IGF0Ci0jIGl0cyBkZWZhdWx0IHZhbHVlLiBUaGUg
bWFpbiByZWFzb24gZm9yIGNoYW5naW5nIGl0IGlzIGlmIHRoZSBsb2dzCi0jIGRpcmVjdG9yeSBp
cyBORlMgbW91bnRlZCwgc2luY2UgdGhlIGxvY2tmaWxlIE1VU1QgQkUgU1RPUkVEIE9OIEEgTE9D
QUwKLSMgRElTSy4gVGhlIFBJRCBvZiB0aGUgbWFpbiBzZXJ2ZXIgcHJvY2VzcyBpcyBhdXRvbWF0
aWNhbGx5IGFwcGVuZGVkIHRvCi0jIHRoZSBmaWxlbmFtZS4gCi0jCi0jTG9ja0ZpbGUgIi90bXAv
V2ViS2l0L2h0dHBkLmxvY2siCi0KLSMKLSMgUGlkRmlsZTogVGhlIGZpbGUgaW4gd2hpY2ggdGhl
IHNlcnZlciBzaG91bGQgcmVjb3JkIGl0cyBwcm9jZXNzCi0jIGlkZW50aWZpY2F0aW9uIG51bWJl
ciB3aGVuIGl0IHN0YXJ0cy4KLSMKIFBpZEZpbGUgIi90bXAvV2ViS2l0L2h0dHBkLnBpZCIKLQot
IwotIyBTY29yZUJvYXJkRmlsZTogRmlsZSB1c2VkIHRvIHN0b3JlIGludGVybmFsIHNlcnZlciBw
cm9jZXNzIGluZm9ybWF0aW9uLgotIyBOb3QgYWxsIGFyY2hpdGVjdHVyZXMgcmVxdWlyZSB0aGlz
LiAgQnV0IGlmIHlvdXJzIGRvZXMgKHlvdSdsbCBrbm93IGJlY2F1c2UKLSMgdGhpcyBmaWxlIHdp
bGwgYmUgIGNyZWF0ZWQgd2hlbiB5b3UgcnVuIEFwYWNoZSkgdGhlbiB5b3UgKm11c3QqIGVuc3Vy
ZSB0aGF0Ci0jIG5vIHR3byBpbnZvY2F0aW9ucyBvZiBBcGFjaGUgc2hhcmUgdGhlIHNhbWUgc2Nv
cmVib2FyZCBmaWxlLgotIwogU2NvcmVCb2FyZEZpbGUgIi90bXAvV2ViS2l0L2h0dHBkLnNjb3Jl
Ym9hcmQiCiAKLSMKLSMgVGltZW91dDogVGhlIG51bWJlciBvZiBzZWNvbmRzIGJlZm9yZSByZWNl
aXZlcyBhbmQgc2VuZHMgdGltZSBvdXQuCi0jCiBUaW1lb3V0IDMwMAotCi0jCi0jIEtlZXBBbGl2
ZTogV2hldGhlciBvciBub3QgdG8gYWxsb3cgcGVyc2lzdGVudCBjb25uZWN0aW9ucyAobW9yZSB0
aGFuCi0jIG9uZSByZXF1ZXN0IHBlciBjb25uZWN0aW9uKS4gU2V0IHRvICJPZmYiIHRvIGRlYWN0
aXZhdGUuCi0jCiBLZWVwQWxpdmUgT24KLQotIwotIyBNYXhLZWVwQWxpdmVSZXF1ZXN0czogVGhl
IG1heGltdW0gbnVtYmVyIG9mIHJlcXVlc3RzIHRvIGFsbG93Ci0jIGR1cmluZyBhIHBlcnNpc3Rl
bnQgY29ubmVjdGlvbi4gU2V0IHRvIDAgdG8gYWxsb3cgYW4gdW5saW1pdGVkIGFtb3VudC4KLSMg
V2UgcmVjb21tZW5kIHlvdSBsZWF2ZSB0aGlzIG51bWJlciBoaWdoLCBmb3IgbWF4aW11bSBwZXJm
b3JtYW5jZS4KLSMKIE1heEtlZXBBbGl2ZVJlcXVlc3RzIDEwMAotCi0jCi0jIEtlZXBBbGl2ZVRp
bWVvdXQ6IE51bWJlciBvZiBzZWNvbmRzIHRvIHdhaXQgZm9yIHRoZSBuZXh0IHJlcXVlc3QgZnJv
bSB0aGUKLSMgc2FtZSBjbGllbnQgb24gdGhlIHNhbWUgY29ubmVjdGlvbi4KLSMKIEtlZXBBbGl2
ZVRpbWVvdXQgMTUKIAotIwotIyBTZXJ2ZXItcG9vbCBzaXplIHJlZ3VsYXRpb24uICBSYXRoZXIg
dGhhbiBtYWtpbmcgeW91IGd1ZXNzIGhvdyBtYW55Ci0jIHNlcnZlciBwcm9jZXNzZXMgeW91IG5l
ZWQsIEFwYWNoZSBkeW5hbWljYWxseSBhZGFwdHMgdG8gdGhlIGxvYWQgaXQKLSMgc2VlcyAtLS0g
dGhhdCBpcywgaXQgdHJpZXMgdG8gbWFpbnRhaW4gZW5vdWdoIHNlcnZlciBwcm9jZXNzZXMgdG8K
LSMgaGFuZGxlIHRoZSBjdXJyZW50IGxvYWQsIHBsdXMgYSBmZXcgc3BhcmUgc2VydmVycyB0byBo
YW5kbGUgdHJhbnNpZW50Ci0jIGxvYWQgc3Bpa2VzIChlLmcuLCBtdWx0aXBsZSBzaW11bHRhbmVv
dXMgcmVxdWVzdHMgZnJvbSBhIHNpbmdsZQotIyBOZXRzY2FwZSBicm93c2VyKS4KLSMKLSMgSXQg
ZG9lcyB0aGlzIGJ5IHBlcmlvZGljYWxseSBjaGVja2luZyBob3cgbWFueSBzZXJ2ZXJzIGFyZSB3
YWl0aW5nCi0jIGZvciBhIHJlcXVlc3QuICBJZiB0aGVyZSBhcmUgZmV3ZXIgdGhhbiBNaW5TcGFy
ZVNlcnZlcnMsIGl0IGNyZWF0ZXMKLSMgYSBuZXcgc3BhcmUuICBJZiB0aGVyZSBhcmUgbW9yZSB0
aGFuIE1heFNwYXJlU2VydmVycywgc29tZSBvZiB0aGUKLSMgc3BhcmVzIGRpZSBvZmYuICBUaGUg
ZGVmYXVsdCB2YWx1ZXMgYXJlIHByb2JhYmx5IE9LIGZvciBtb3N0IHNpdGVzLgotIwotI01pblNw
YXJlU2VydmVycyAxCi0jTWF4U3BhcmVTZXJ2ZXJzIDUKLQotIwotIyBOdW1iZXIgb2Ygc2VydmVy
cyB0byBzdGFydCBpbml0aWFsbHkgLS0tIHNob3VsZCBiZSBhIHJlYXNvbmFibGUgYmFsbHBhcmsK
LSMgZmlndXJlLgotIwotI1N0YXJ0U2VydmVycyAxCi0KLSMKLSMgTGltaXQgb24gdG90YWwgbnVt
YmVyIG9mIHNlcnZlcnMgcnVubmluZywgaS5lLiwgbGltaXQgb24gdGhlIG51bWJlcgotIyBvZiBj
bGllbnRzIHdobyBjYW4gc2ltdWx0YW5lb3VzbHkgY29ubmVjdCAtLS0gaWYgdGhpcyBsaW1pdCBp
cyBldmVyCi0jIHJlYWNoZWQsIGNsaWVudHMgd2lsbCBiZSBMT0NLRUQgT1VULCBzbyBpdCBzaG91
bGQgTk9UIEJFIFNFVCBUT08gTE9XLgotIyBJdCBpcyBpbnRlbmRlZCBtYWlubHkgYXMgYSBicmFr
ZSB0byBrZWVwIGEgcnVuYXdheSBzZXJ2ZXIgZnJvbSB0YWtpbmcKLSMgdGhlIHN5c3RlbSB3aXRo
IGl0IGFzIGl0IHNwaXJhbHMgZG93bi4uLgotIwotI01heENsaWVudHMgMTUwCi0KLSMKLSMgTWF4
UmVxdWVzdHNQZXJDaGlsZDogdGhlIG51bWJlciBvZiByZXF1ZXN0cyBlYWNoIGNoaWxkIHByb2Nl
c3MgaXMKLSMgYWxsb3dlZCB0byBwcm9jZXNzIGJlZm9yZSB0aGUgY2hpbGQgZGllcy4gIFRoZSBj
aGlsZCB3aWxsIGV4aXQgc28KLSMgYXMgdG8gYXZvaWQgcHJvYmxlbXMgYWZ0ZXIgcHJvbG9uZ2Vk
IHVzZSB3aGVuIEFwYWNoZSAoYW5kIG1heWJlIHRoZQotIyBsaWJyYXJpZXMgaXQgdXNlcykgbGVh
ayBtZW1vcnkgb3Igb3RoZXIgcmVzb3VyY2VzLiAgT24gbW9zdCBzeXN0ZW1zLCB0aGlzCi0jIGlz
bid0IHJlYWxseSBuZWVkZWQsIGJ1dCBhIGZldyAoc3VjaCBhcyBTb2xhcmlzKSBkbyBoYXZlIG5v
dGFibGUgbGVha3MKLSMgaW4gdGhlIGxpYnJhcmllcy4gRm9yIHRoZXNlIHBsYXRmb3Jtcywgc2V0
IHRvIHNvbWV0aGluZyBsaWtlIDEwMDAwCi0jIG9yIHNvOyBhIHNldHRpbmcgb2YgMCBtZWFucyB1
bmxpbWl0ZWQuCi0jCi0jIE5PVEU6IFRoaXMgdmFsdWUgZG9lcyBub3QgaW5jbHVkZSBrZWVwYWxp
dmUgcmVxdWVzdHMgYWZ0ZXIgdGhlIGluaXRpYWwKLSMgICAgICAgcmVxdWVzdCBwZXIgY29ubmVj
dGlvbi4gRm9yIGV4YW1wbGUsIGlmIGEgY2hpbGQgcHJvY2VzcyBoYW5kbGVzCi0jICAgICAgIGFu
IGluaXRpYWwgcmVxdWVzdCBhbmQgMTAgc3Vic2VxdWVudCAia2VwdGFsaXZlIiByZXF1ZXN0cywg
aXQKLSMgICAgICAgd291bGQgb25seSBjb3VudCBhcyAxIHJlcXVlc3QgdG93YXJkcyB0aGlzIGxp
bWl0LgotIwotI01heFJlcXVlc3RzUGVyQ2hpbGQgMTAwMDAwCi0KLSMKLSMgTGlzdGVuOiBBbGxv
d3MgeW91IHRvIGJpbmQgQXBhY2hlIHRvIHNwZWNpZmljIElQIGFkZHJlc3NlcyBhbmQvb3IKLSMg
cG9ydHMsIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQuIFNlZSBhbHNvIHRoZSA8VmlydHVhbEhvc3Q+
Ci0jIGRpcmVjdGl2ZS4KLSMKICMgQ29uZmlndXJlZCBmcm9tIHRoZSBodHRwZCBjb21tYW5kIGxp
bmUgZm9yIFdlYktpdCBsYXlvdXQgdGVzdHMuCiAjIFBvcnQgODQ0MyBpcyBoYXJkLWNvZGVkIGFz
IGl0IGlzIG5lZWRlZCBmb3IgdGhlIEhUVFBTIGNvbmZpZ3VyYXRpb24gbGF0ZXIgb24uCiAjCkBA
IC0xNzAsMzQwICsyMSw1NCBAQCBMaXN0ZW4gMTI3LjAuMC4xOjg0NDMKICNMaXN0ZW4gWzo6MV06
ODA4MAogI0xpc3RlbiBbOjoxXTo4NDQzCiAKLSMKLSMgRHluYW1pYyBTaGFyZWQgT2JqZWN0IChE
U08pIFN1cHBvcnQKLSMKLSMgVG8gYmUgYWJsZSB0byB1c2UgdGhlIGZ1bmN0aW9uYWxpdHkgb2Yg
YSBtb2R1bGUgd2hpY2ggd2FzIGJ1aWx0IGFzIGEgRFNPIHlvdQotIyBoYXZlIHRvIHBsYWNlIGNv
cnJlc3BvbmRpbmcgYExvYWRNb2R1bGUnIGxpbmVzIGF0IHRoaXMgbG9jYXRpb24gc28gdGhlCi0j
IGRpcmVjdGl2ZXMgY29udGFpbmVkIGluIGl0IGFyZSBhY3R1YWxseSBhdmFpbGFibGUgX2JlZm9y
ZV8gdGhleSBhcmUgdXNlZC4KLSMgUGxlYXNlIHJlYWQgdGhlIGZpbGUgaHR0cDovL2h0dHBkLmFw
YWNoZS5vcmcvZG9jcy9kc28uaHRtbCBmb3IgbW9yZQotIyBkZXRhaWxzIGFib3V0IHRoZSBEU08g
bWVjaGFuaXNtIGFuZCBydW4gYGh0dHBkIC1sJyBmb3IgdGhlIGxpc3Qgb2YgYWxyZWFkeQotIyBi
dWlsdC1pbiAoc3RhdGljYWxseSBsaW5rZWQgYW5kIHRodXMgYWx3YXlzIGF2YWlsYWJsZSkgbW9k
dWxlcyBpbiB5b3VyIGh0dHBkCi0jIGJpbmFyeS4KLSMKLSMgTm90ZTogVGhlIG9yZGVyIGluIHdo
aWNoIG1vZHVsZXMgYXJlIGxvYWRlZCBpcyBpbXBvcnRhbnQuICBEb24ndCBjaGFuZ2UKLSMgdGhl
IG9yZGVyIGJlbG93IHdpdGhvdXQgZXhwZXJ0IGFkdmljZS4KLSMKLSMgRXhhbXBsZToKLSMgTG9h
ZE1vZHVsZSBmb29fbW9kdWxlIGxpYmV4ZWMvbW9kX2Zvby5zbwotI0xvYWRNb2R1bGUgYXV0aG5f
ZmlsZV9tb2R1bGUgbW9kdWxlcy9tb2RfYXV0aG5fZmlsZS5zbwotI0xvYWRNb2R1bGUgYXV0aG5f
ZGJtX21vZHVsZSBtb2R1bGVzL21vZF9hdXRobl9kYm0uc28KLSNMb2FkTW9kdWxlIGF1dGhuX2Fu
b25fbW9kdWxlIG1vZHVsZXMvbW9kX2F1dGhuX2Fub24uc28KLSNMb2FkTW9kdWxlIGF1dGhuX2Ri
ZF9tb2R1bGUgbW9kdWxlcy9tb2RfYXV0aG5fZGJkLnNvCi0jTG9hZE1vZHVsZSBhdXRobl9kZWZh
dWx0X21vZHVsZSBtb2R1bGVzL21vZF9hdXRobl9kZWZhdWx0LnNvCiBMb2FkTW9kdWxlIGF1dGh6
X2hvc3RfbW9kdWxlIG1vZHVsZXMvbW9kX2F1dGh6X2hvc3Quc28KLSNMb2FkTW9kdWxlIGF1dGh6
X2dyb3VwZmlsZV9tb2R1bGUgbW9kdWxlcy9tb2RfYXV0aHpfZ3JvdXBmaWxlLnNvCi0jTG9hZE1v
ZHVsZSBhdXRoel91c2VyX21vZHVsZSBtb2R1bGVzL21vZF9hdXRoel91c2VyLnNvCi0jTG9hZE1v
ZHVsZSBhdXRoel9kYm1fbW9kdWxlIG1vZHVsZXMvbW9kX2F1dGh6X2RibS5zbwotI0xvYWRNb2R1
bGUgYXV0aHpfb3duZXJfbW9kdWxlIG1vZHVsZXMvbW9kX2F1dGh6X293bmVyLnNvCi0jTG9hZE1v
ZHVsZSBhdXRoel9kZWZhdWx0X21vZHVsZSBtb2R1bGVzL21vZF9hdXRoel9kZWZhdWx0LnNvCi0j
TG9hZE1vZHVsZSBhdXRoX2Jhc2ljX21vZHVsZSBtb2R1bGVzL21vZF9hdXRoX2Jhc2ljLnNvCi0j
TG9hZE1vZHVsZSBhdXRoX2RpZ2VzdF9tb2R1bGUgbW9kdWxlcy9tb2RfYXV0aF9kaWdlc3Quc28K
LSNMb2FkTW9kdWxlIGNhY2hlX21vZHVsZSBtb2R1bGVzL21vZF9jYWNoZS5zbwotI0xvYWRNb2R1
bGUgZGlza19jYWNoZV9tb2R1bGUgbW9kdWxlcy9tb2RfZGlza19jYWNoZS5zbwotI0xvYWRNb2R1
bGUgbWVtX2NhY2hlX21vZHVsZSBtb2R1bGVzL21vZF9tZW1fY2FjaGUuc28KLSNMb2FkTW9kdWxl
IGRiZF9tb2R1bGUgbW9kdWxlcy9tb2RfZGJkLnNvCi0jTG9hZE1vZHVsZSBkdW1waW9fbW9kdWxl
IG1vZHVsZXMvbW9kX2R1bXBpby5zbwotI0xvYWRNb2R1bGUgZXh0X2ZpbHRlcl9tb2R1bGUgbW9k
dWxlcy9tb2RfZXh0X2ZpbHRlci5zbwogTG9hZE1vZHVsZSBpbmNsdWRlX21vZHVsZSBtb2R1bGVz
L21vZF9pbmNsdWRlLnNvCi0jTG9hZE1vZHVsZSBmaWx0ZXJfbW9kdWxlIG1vZHVsZXMvbW9kX2Zp
bHRlci5zbwotI0xvYWRNb2R1bGUgc3Vic3RpdHV0ZV9tb2R1bGUgbW9kdWxlcy9tb2Rfc3Vic3Rp
dHV0ZS5zbwotI0xvYWRNb2R1bGUgZGVmbGF0ZV9tb2R1bGUgbW9kdWxlcy9tb2RfZGVmbGF0ZS5z
bwogTG9hZE1vZHVsZSBsb2dfY29uZmlnX21vZHVsZSBtb2R1bGVzL21vZF9sb2dfY29uZmlnLnNv
Ci0jTG9hZE1vZHVsZSBsb2dfZm9yZW5zaWNfbW9kdWxlIG1vZHVsZXMvbW9kX2xvZ19mb3JlbnNp
Yy5zbwotI0xvYWRNb2R1bGUgbG9naW9fbW9kdWxlIG1vZHVsZXMvbW9kX2xvZ2lvLnNvCi0jTG9h
ZE1vZHVsZSBlbnZfbW9kdWxlIG1vZHVsZXMvbW9kX2Vudi5zbwotI0xvYWRNb2R1bGUgbWltZV9t
YWdpY19tb2R1bGUgbW9kdWxlcy9tb2RfbWltZV9tYWdpYy5zbwotI0xvYWRNb2R1bGUgY2Vybl9t
ZXRhX21vZHVsZSBtb2R1bGVzL21vZF9jZXJuX21ldGEuc28KLSNMb2FkTW9kdWxlIGV4cGlyZXNf
bW9kdWxlIG1vZHVsZXMvbW9kX2V4cGlyZXMuc28KIExvYWRNb2R1bGUgaGVhZGVyc19tb2R1bGUg
bW9kdWxlcy9tb2RfaGVhZGVycy5zbwotI0xvYWRNb2R1bGUgaWRlbnRfbW9kdWxlIG1vZHVsZXMv
bW9kX2lkZW50LnNvCi0jTG9hZE1vZHVsZSB1c2VydHJhY2tfbW9kdWxlIG1vZHVsZXMvbW9kX3Vz
ZXJ0cmFjay5zbwotI0xvYWRNb2R1bGUgdW5pcXVlX2lkX21vZHVsZSBtb2R1bGVzL21vZF91bmlx
dWVfaWQuc28KLSNMb2FkTW9kdWxlIHNldGVudmlmX21vZHVsZSBtb2R1bGVzL21vZF9zZXRlbnZp
Zi5zbwotI0xvYWRNb2R1bGUgdmVyc2lvbl9tb2R1bGUgbW9kdWxlcy9tb2RfdmVyc2lvbi5zbwot
I0xvYWRNb2R1bGUgcHJveHlfbW9kdWxlIG1vZHVsZXMvbW9kX3Byb3h5LnNvCi0jTG9hZE1vZHVs
ZSBwcm94eV9jb25uZWN0X21vZHVsZSBtb2R1bGVzL21vZF9wcm94eV9jb25uZWN0LnNvCi0jTG9h
ZE1vZHVsZSBwcm94eV9mdHBfbW9kdWxlIG1vZHVsZXMvbW9kX3Byb3h5X2Z0cC5zbwotI0xvYWRN
b2R1bGUgcHJveHlfaHR0cF9tb2R1bGUgbW9kdWxlcy9tb2RfcHJveHlfaHR0cC5zbwotI0xvYWRN
b2R1bGUgcHJveHlfYWpwX21vZHVsZSBtb2R1bGVzL21vZF9wcm94eV9hanAuc28KLSNMb2FkTW9k
dWxlIHByb3h5X2JhbGFuY2VyX21vZHVsZSBtb2R1bGVzL21vZF9wcm94eV9iYWxhbmNlci5zbwog
TG9hZE1vZHVsZSBzc2xfbW9kdWxlIG1vZHVsZXMvbW9kX3NzbC5zbwogTG9hZE1vZHVsZSBtaW1l
X21vZHVsZSBtb2R1bGVzL21vZF9taW1lLnNvCi0jTG9hZE1vZHVsZSBkYXZfbW9kdWxlIG1vZHVs
ZXMvbW9kX2Rhdi5zbwotI0xvYWRNb2R1bGUgc3RhdHVzX21vZHVsZSBtb2R1bGVzL21vZF9zdGF0
dXMuc28KIExvYWRNb2R1bGUgYXV0b2luZGV4X21vZHVsZSBtb2R1bGVzL21vZF9hdXRvaW5kZXgu
c28KIExvYWRNb2R1bGUgYXNpc19tb2R1bGUgbW9kdWxlcy9tb2RfYXNpcy5zbwotI0xvYWRNb2R1
bGUgaW5mb19tb2R1bGUgbW9kdWxlcy9tb2RfaW5mby5zbwogTG9hZE1vZHVsZSBjZ2lfbW9kdWxl
IG1vZHVsZXMvbW9kX2NnaS5zbwotI0xvYWRNb2R1bGUgZGF2X2ZzX21vZHVsZSBtb2R1bGVzL21v
ZF9kYXZfZnMuc28KLSNMb2FkTW9kdWxlIHZob3N0X2FsaWFzX21vZHVsZSBtb2R1bGVzL21vZF92
aG9zdF9hbGlhcy5zbwogTG9hZE1vZHVsZSBuZWdvdGlhdGlvbl9tb2R1bGUgbW9kdWxlcy9tb2Rf
bmVnb3RpYXRpb24uc28KLSNMb2FkTW9kdWxlIGRpcl9tb2R1bGUgbW9kdWxlcy9tb2RfZGlyLnNv
CiBMb2FkTW9kdWxlIGltYWdlbWFwX21vZHVsZSBtb2R1bGVzL21vZF9pbWFnZW1hcC5zbwogTG9h
ZE1vZHVsZSBhY3Rpb25zX21vZHVsZSBtb2R1bGVzL21vZF9hY3Rpb25zLnNvCi0jTG9hZE1vZHVs
ZSBzcGVsaW5nX21vZHVsZSBtb2R1bGVzL21vZF9zcGVsaW5nLnNvCi0jTG9hZE1vZHVsZSB1c2Vy
ZGlyX21vZHVsZSBtb2R1bGVzL21vZF91c2VyZGlyLnNvCiBMb2FkTW9kdWxlIGFsaWFzX21vZHVs
ZSBtb2R1bGVzL21vZF9hbGlhcy5zbwogTG9hZE1vZHVsZSByZXdyaXRlX21vZHVsZSBtb2R1bGVz
L21vZF9yZXdyaXRlLnNvCi0jTG9hZE1vZHVsZSBib25qb3VyX21vZHVsZSAgICAgbW9kdWxlcy9t
b2RfYm9uam91ci5zbwotI0xvYWRNb2R1bGUgcGhwNV9tb2R1bGUgbW9kdWxlcy9waHA1YXBhY2hl
Ml8yLmRsbAotI0xvYWRNb2R1bGUgZmFzdGNnaV9tb2R1bGUgICAgIG1vZHVsZXMvbW9kX2Zhc3Rj
Z2kuc28KLSNMb2FkTW9kdWxlIGlzYXBpX21vZHVsZSBtb2R1bGVzL21vZF9pc2FwaS5zbwotCi0j
IyMgU2VjdGlvbiAyOiAnTWFpbicgc2VydmVyIGNvbmZpZ3VyYXRpb24KLSMKLSMgVGhlIGRpcmVj
dGl2ZXMgaW4gdGhpcyBzZWN0aW9uIHNldCB1cCB0aGUgdmFsdWVzIHVzZWQgYnkgdGhlICdtYWlu
JwotIyBzZXJ2ZXIsIHdoaWNoIHJlc3BvbmRzIHRvIGFueSByZXF1ZXN0cyB0aGF0IGFyZW4ndCBo
YW5kbGVkIGJ5IGEKLSMgPFZpcnR1YWxIb3N0PiBkZWZpbml0aW9uLiAgVGhlc2UgdmFsdWVzIGFs
c28gcHJvdmlkZSBkZWZhdWx0cyBmb3IKLSMgYW55IDxWaXJ0dWFsSG9zdD4gY29udGFpbmVycyB5
b3UgbWF5IGRlZmluZSBsYXRlciBpbiB0aGUgZmlsZS4KLSMKLSMgQWxsIG9mIHRoZXNlIGRpcmVj
dGl2ZXMgbWF5IGFwcGVhciBpbnNpZGUgPFZpcnR1YWxIb3N0PiBjb250YWluZXJzLAotIyBpbiB3
aGljaCBjYXNlIHRoZXNlIGRlZmF1bHQgc2V0dGluZ3Mgd2lsbCBiZSBvdmVycmlkZGVuIGZvciB0
aGUKLSMgdmlydHVhbCBob3N0IGJlaW5nIGRlZmluZWQuCi0jCiAKLSMKLSMgU2VydmVyTmFtZSBh
bGxvd3MgeW91IHRvIHNldCBhIGhvc3QgbmFtZSB3aGljaCBpcyBzZW50IGJhY2sgdG8gY2xpZW50
cyBmb3IKLSMgeW91ciBzZXJ2ZXIgaWYgaXQncyBkaWZmZXJlbnQgdGhhbiB0aGUgb25lIHRoZSBw
cm9ncmFtIHdvdWxkIGdldCAoaS5lLiwgdXNlCi0jICJ3d3ciIGluc3RlYWQgb2YgdGhlIGhvc3Qn
cyByZWFsIG5hbWUpLgotIwotIyBOb3RlOiBZb3UgY2Fubm90IGp1c3QgaW52ZW50IGhvc3QgbmFt
ZXMgYW5kIGhvcGUgdGhleSB3b3JrLiBUaGUgbmFtZSB5b3UgCi0jIGRlZmluZSBoZXJlIG11c3Qg
YmUgYSB2YWxpZCBETlMgbmFtZSBmb3IgeW91ciBob3N0LiBJZiB5b3UgZG9uJ3QgdW5kZXJzdGFu
ZAotIyB0aGlzLCBhc2sgeW91ciBuZXR3b3JrIGFkbWluaXN0cmF0b3IuCi0jIElmIHlvdXIgaG9z
dCBkb2Vzbid0IGhhdmUgYSByZWdpc3RlcmVkIEROUyBuYW1lLCBlbnRlciBpdHMgSVAgYWRkcmVz
cyBoZXJlLgotIyBZb3Ugd2lsbCBoYXZlIHRvIGFjY2VzcyBpdCBieSBpdHMgYWRkcmVzcyAoZS5n
LiwgaHR0cDovLzEyMy40NS42Ny44OS8pCi0jIGFueXdheSwgYW5kIHRoaXMgd2lsbCBtYWtlIHJl
ZGlyZWN0aW9ucyB3b3JrIGluIGEgc2Vuc2libGUgd2F5LgotIwotIyAxMjcuMC4wLjEgaXMgdGhl
IFRDUC9JUCBsb2NhbCBsb29wLWJhY2sgYWRkcmVzcywgb2Z0ZW4gbmFtZWQgbG9jYWxob3N0LiBZ
b3VyIAotIyBtYWNoaW5lIGFsd2F5cyBrbm93cyBpdHNlbGYgYnkgdGhpcyBhZGRyZXNzLiBJZiB5
b3UgdXNlIEFwYWNoZSBzdHJpY3RseSBmb3IgCi0jIGxvY2FsIHRlc3RpbmcgYW5kIGRldmVsb3Bt
ZW50LCB5b3UgbWF5IHVzZSAxMjcuMC4wLjEgYXMgdGhlIHNlcnZlciBuYW1lLgotIwogU2VydmVy
TmFtZSAxMjcuMC4wLjEKIAotIwotIyBEb2N1bWVudFJvb3Q6IFRoZSBkaXJlY3Rvcnkgb3V0IG9m
IHdoaWNoIHlvdSB3aWxsIHNlcnZlIHlvdXIKLSMgZG9jdW1lbnRzLiBCeSBkZWZhdWx0LCBhbGwg
cmVxdWVzdHMgYXJlIHRha2VuIGZyb20gdGhpcyBkaXJlY3RvcnksIGJ1dAotIyBzeW1ib2xpYyBs
aW5rcyBhbmQgYWxpYXNlcyBtYXkgYmUgdXNlZCB0byBwb2ludCB0byBvdGhlciBsb2NhdGlvbnMu
Ci0jCi0jIENvbmZpZ3VyZWQgZnJvbSB0aGUgaHR0cGQgY29tbWFuZCBsaW5lIGZvciBXZWJLaXQg
bGF5b3V0IHRlc3RzLgotI0RvY3VtZW50Um9vdCAiL0xpYnJhcnkvV2ViU2VydmVyL0RvY3VtZW50
cyIKLQotIwotIyBFYWNoIGRpcmVjdG9yeSB0byB3aGljaCBBcGFjaGUgaGFzIGFjY2VzcywgY2Fu
IGJlIGNvbmZpZ3VyZWQgd2l0aCByZXNwZWN0Ci0jIHRvIHdoaWNoIHNlcnZpY2VzIGFuZCBmZWF0
dXJlcyBhcmUgYWxsb3dlZCBhbmQvb3IgZGlzYWJsZWQgaW4gdGhhdAotIyBkaXJlY3RvcnkgKGFu
ZCBpdHMgc3ViZGlyZWN0b3JpZXMpLiAKLSMKIDxEaXJlY3RvcnkgLz4KLSMKLSMgVGhpcyBtYXkg
YWxzbyBiZSAiTm9uZSIsICJBbGwiLCBvciBhbnkgY29tYmluYXRpb24gb2YgIkluZGV4ZXMiLAot
IyAiSW5jbHVkZXMiLCAiRm9sbG93U3ltTGlua3MiLCAiRXhlY0NHSSIsIG9yICJNdWx0aVZpZXdz
Ii4KLSMKLSMgTm90ZSB0aGF0ICJNdWx0aVZpZXdzIiBtdXN0IGJlIG5hbWVkICpleHBsaWNpdGx5
KiAtLS0gIk9wdGlvbnMgQWxsIgotIyBkb2Vzbid0IGdpdmUgaXQgdG8geW91LgotIwogICAgIE9w
dGlvbnMgSW5kZXhlcyBGb2xsb3dTeW1MaW5rcyBNdWx0aVZpZXdzIEV4ZWNDR0kgSW5jbHVkZXMK
LQotIwotIyBUaGlzIGNvbnRyb2xzIHdoaWNoIG9wdGlvbnMgdGhlIC5odGFjY2VzcyBmaWxlcyBp
biBkaXJlY3RvcmllcyBjYW4KLSMgb3ZlcnJpZGUuIENhbiBhbHNvIGJlICJBbGwiLCBvciBhbnkg
Y29tYmluYXRpb24gb2YgIk9wdGlvbnMiLCAiRmlsZUluZm8iLCAKLSMgIkF1dGhDb25maWciLCBh
bmQgIkxpbWl0IgotIwogICAgIEFsbG93T3ZlcnJpZGUgQWxsCi0KLSMKLSMgQ29udHJvbHMgd2hv
IGNhbiBnZXQgc3R1ZmYgZnJvbSB0aGlzIHNlcnZlci4KLSMKICAgICBPcmRlciBhbGxvdyxkZW55
CiAgICAgQWxsb3cgZnJvbSBhbGwKIDwvRGlyZWN0b3J5PgogCi0jCi0jIEFjY2Vzc0ZpbGVOYW1l
OiBUaGUgbmFtZSBvZiB0aGUgZmlsZSB0byBsb29rIGZvciBpbiBlYWNoIGRpcmVjdG9yeQotIyBm
b3IgYWNjZXNzIGNvbnRyb2wgaW5mb3JtYXRpb24uCi0jCiBBY2Nlc3NGaWxlTmFtZSAuaHRhY2Nl
c3MKIAotIwotIyBUaGUgZm9sbG93aW5nIGxpbmVzIHByZXZlbnQgLmh0YWNjZXNzIGZpbGVzIGZy
b20gYmVpbmcgdmlld2VkIGJ5Ci0jIFdlYiBjbGllbnRzLiAgU2luY2UgLmh0YWNjZXNzIGZpbGVz
IG9mdGVuIGNvbnRhaW4gYXV0aG9yaXphdGlvbgotIyBpbmZvcm1hdGlvbiwgYWNjZXNzIGlzIGRp
c2FsbG93ZWQgZm9yIHNlY3VyaXR5IHJlYXNvbnMuICBDb21tZW50Ci0jIHRoZXNlIGxpbmVzIG91
dCBpZiB5b3Ugd2FudCBXZWIgdmlzaXRvcnMgdG8gc2VlIHRoZSBjb250ZW50cyBvZgotIyAuaHRh
Y2Nlc3MgZmlsZXMuICBJZiB5b3UgY2hhbmdlIHRoZSBBY2Nlc3NGaWxlTmFtZSBkaXJlY3RpdmUg
YWJvdmUsCi0jIGJlIHN1cmUgdG8gbWFrZSB0aGUgY29ycmVzcG9uZGluZyBjaGFuZ2VzIGhlcmUu
Ci0jCi0jIEFsc28sIGZvbGtzIHRlbmQgdG8gdXNlIG5hbWVzIHN1Y2ggYXMgLmh0cGFzc3dkIGZv
ciBwYXNzd29yZAotIyBmaWxlcywgc28gdGhpcyB3aWxsIHByb3RlY3QgdGhvc2UgYXMgd2VsbC4K
LSMKIDxGaWxlcyB+ICJeXC4oW0hoXVtUdF18W0RkXVtTc11fW1NzXSkiPgogICAgIE9yZGVyIGFs
bG93LGRlbnkKICAgICBEZW55IGZyb20gYWxsCiAgICAgU2F0aXNmeSBBbGwKIDwvRmlsZXM+CiAK
LSMKLSMgQXBwbGUgc3BlY2lmaWMgZmlsZXN5c3RlbSBwcm90ZWN0aW9uLgotIyAKLQotPEZpbGVz
ICJyc3JjIj4KLSAgICBPcmRlciBhbGxvdyxkZW55Ci0gICAgRGVueSBmcm9tIGFsbAotICAgIFNh
dGlzZnkgQWxsCi08L0ZpbGVzPgotCi08RGlyZWN0b3J5ICB+ICIuKlwuXC5uYW1lZGZvcmsiPgot
ICAgIE9yZGVyIGFsbG93LGRlbnkKLSAgICBEZW55IGZyb20gYWxsCi0gICAgU2F0aXNmeSBBbGwK
LTwvRGlyZWN0b3J5PgotCi0jCi0jIENhY2hlTmVnb3RpYXRlZERvY3M6IEJ5IGRlZmF1bHQsIEFw
YWNoZSBzZW5kcyAiUHJhZ21hOiBuby1jYWNoZSIgd2l0aCBlYWNoCi0jIGRvY3VtZW50IHRoYXQg
d2FzIG5lZ290aWF0ZWQgb24gdGhlIGJhc2lzIG9mIGNvbnRlbnQuIFRoaXMgYXNrcyBwcm94eQot
IyBzZXJ2ZXJzIG5vdCB0byBjYWNoZSB0aGUgZG9jdW1lbnQuIFVuY29tbWVudGluZyB0aGUgZm9s
bG93aW5nIGxpbmUgZGlzYWJsZXMKLSMgdGhpcyBiZWhhdmlvciwgYW5kIHByb3hpZXMgd2lsbCBi
ZSBhbGxvd2VkIHRvIGNhY2hlIHRoZSBkb2N1bWVudHMuCi0jCi0jQ2FjaGVOZWdvdGlhdGVkRG9j
cwotCi0jCi0jIFVzZUNhbm9uaWNhbE5hbWU6ICAobmV3IGZvciAxLjMpICBXaXRoIHRoaXMgc2V0
dGluZyB0dXJuZWQgb24sIHdoZW5ldmVyCi0jIEFwYWNoZSBuZWVkcyB0byBjb25zdHJ1Y3QgYSBz
ZWxmLXJlZmVyZW5jaW5nIFVSTCAoYSBVUkwgdGhhdCByZWZlcnMgYmFjawotIyB0byB0aGUgc2Vy
dmVyIHRoZSByZXNwb25zZSBpcyBjb21pbmcgZnJvbSkgaXQgd2lsbCB1c2UgU2VydmVyTmFtZSBh
bmQKLSMgUG9ydCB0byBmb3JtIGEgImNhbm9uaWNhbCIgbmFtZS4gIFdpdGggdGhpcyBzZXR0aW5n
IG9mZiwgQXBhY2hlIHdpbGwKLSMgdXNlIHRoZSBob3N0bmFtZTpwb3J0IHRoYXQgdGhlIGNsaWVu
dCBzdXBwbGllZCwgd2hlbiBwb3NzaWJsZS4gIFRoaXMKLSMgYWxzbyBhZmZlY3RzIFNFUlZFUl9O
QU1FIGFuZCBTRVJWRVJfUE9SVCBpbiBDR0kgc2NyaXB0cy4KLSMKIFVzZUNhbm9uaWNhbE5hbWUg
T24KLQotIwotIyBUeXBlc0NvbmZpZyBkZXNjcmliZXMgd2hlcmUgdGhlIG1pbWUudHlwZXMgZmls
ZSAob3IgZXF1aXZhbGVudCkgaXMKLSMgdG8gYmUgZm91bmQuCi0jCi0jIENvbmZpZ3VyZWQgZnJv
bSB0aGUgaHR0cGQgY29tbWFuZCBsaW5lIGZvciBXZWJLaXQgbGF5b3V0IHRlc3RzLgotIwotIzxJ
Zk1vZHVsZSBtb2RfbWltZS5jPgotIyAgICBUeXBlc0NvbmZpZyAvcHJpdmF0ZS9ldGMvYXBhY2hl
Mi9taW1lLnR5cGVzCi0jPC9JZk1vZHVsZT4KLQotIwotIyBEZWZhdWx0VHlwZSBpcyB0aGUgZGVm
YXVsdCBNSU1FIHR5cGUgdGhlIHNlcnZlciB3aWxsIHVzZSBmb3IgYSBkb2N1bWVudAotIyBpZiBp
dCBjYW5ub3Qgb3RoZXJ3aXNlIGRldGVybWluZSBvbmUsIHN1Y2ggYXMgZnJvbSBmaWxlbmFtZSBl
eHRlbnNpb25zLgotIyBJZiB5b3VyIHNlcnZlciBjb250YWlucyBtb3N0bHkgdGV4dCBvciBIVE1M
IGRvY3VtZW50cywgInRleHQvcGxhaW4iIGlzCi0jIGEgZ29vZCB2YWx1ZS4gIElmIG1vc3Qgb2Yg
eW91ciBjb250ZW50IGlzIGJpbmFyeSwgc3VjaCBhcyBhcHBsaWNhdGlvbnMKLSMgb3IgaW1hZ2Vz
LCB5b3UgbWF5IHdhbnQgdG8gdXNlICJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iIGluc3RlYWQg
dG8KLSMga2VlcCBicm93c2VycyBmcm9tIHRyeWluZyB0byBkaXNwbGF5IGJpbmFyeSBmaWxlcyBh
cyB0aG91Z2ggdGhleSBhcmUKLSMgdGV4dC4KLSMKIERlZmF1bHRUeXBlIHRleHQvcGxhaW4KLQot
IwotIyBIb3N0bmFtZUxvb2t1cHM6IExvZyB0aGUgbmFtZXMgb2YgY2xpZW50cyBvciBqdXN0IHRo
ZWlyIElQIGFkZHJlc3NlcwotIyBlLmcuLCB3d3cuYXBhY2hlLm9yZyAob24pIG9yIDIwNC42Mi4x
MjkuMTMyIChvZmYpLgotIyBUaGUgZGVmYXVsdCBpcyBvZmYgYmVjYXVzZSBpdCdkIGJlIG92ZXJh
bGwgYmV0dGVyIGZvciB0aGUgbmV0IGlmIHBlb3BsZQotIyBoYWQgdG8ga25vd2luZ2x5IHR1cm4g
dGhpcyBmZWF0dXJlIG9uLCBzaW5jZSBlbmFibGluZyBpdCBtZWFucyB0aGF0Ci0jIGVhY2ggY2xp
ZW50IHJlcXVlc3Qgd2lsbCByZXN1bHQgaW4gQVQgTEVBU1Qgb25lIGxvb2t1cCByZXF1ZXN0IHRv
IHRoZQotIyBuYW1lc2VydmVyLgotIwogSG9zdG5hbWVMb29rdXBzIE9mZgogCi0jCi0jIEVycm9y
TG9nOiBUaGUgbG9jYXRpb24gb2YgdGhlIGVycm9yIGxvZyBmaWxlLgotIyBJZiB5b3UgZG8gbm90
IHNwZWNpZnkgYW4gRXJyb3JMb2cgZGlyZWN0aXZlIHdpdGhpbiBhIDxWaXJ0dWFsSG9zdD4KLSMg
Y29udGFpbmVyLCBlcnJvciBtZXNzYWdlcyByZWxhdGluZyB0byB0aGF0IHZpcnR1YWwgaG9zdCB3
aWxsIGJlCi0jIGxvZ2dlZCBoZXJlLiAgSWYgeW91ICpkbyogZGVmaW5lIGFuIGVycm9yIGxvZ2Zp
bGUgZm9yIGEgPFZpcnR1YWxIb3N0PgotIyBjb250YWluZXIsIHRoYXQgaG9zdCdzIGVycm9ycyB3
aWxsIGJlIGxvZ2dlZCB0aGVyZSBhbmQgbm90IGhlcmUuCi0jCi0jIENvbmZpZ3VyZWQgZnJvbSB0
aGUgaHR0cGQgY29tbWFuZCBsaW5lIGZvciBXZWJLaXQgbGF5b3V0IHRlc3RzLgotI0Vycm9yTG9n
ICIvdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZXJyb3JfbG9nIgotCi0jCi0jIExvZ0xldmVsOiBD
b250cm9sIHRoZSBudW1iZXIgb2YgbWVzc2FnZXMgbG9nZ2VkIHRvIHRoZSBlcnJvcl9sb2cuCi0j
IFBvc3NpYmxlIHZhbHVlcyBpbmNsdWRlOiBkZWJ1ZywgaW5mbywgbm90aWNlLCB3YXJuLCBlcnJv
ciwgY3JpdCwKLSMgYWxlcnQsIGVtZXJnLgotIwogTG9nTGV2ZWwgd2FybgotCi0jCi0jIFRoZSBm
b2xsb3dpbmcgZGlyZWN0aXZlcyBkZWZpbmUgc29tZSBmb3JtYXQgbmlja25hbWVzIGZvciB1c2Ug
d2l0aAotIyBhIEN1c3RvbUxvZyBkaXJlY3RpdmUgKHNlZSBiZWxvdykuCi0jCiBMb2dGb3JtYXQg
IiVoICVsICV1ICV0IFwiJXJcIiAlPnMgJWIgXCIle1JlZmVyZXJ9aVwiIFwiJXtVc2VyLUFnZW50
fWlcIiIgY29tYmluZWQKIExvZ0Zvcm1hdCAiJWggJWwgJXUgJXQgXCIlclwiICU+cyAlYiIgY29t
bW9uCiBMb2dGb3JtYXQgIiV7UmVmZXJlcn1pIC0+ICVVIiByZWZlcmVyCiBMb2dGb3JtYXQgIiV7
VXNlci1hZ2VudH1pIiBhZ2VudAogCi0jCi0jIFRoZSBsb2NhdGlvbiBhbmQgZm9ybWF0IG9mIHRo
ZSBhY2Nlc3MgbG9nZmlsZSAoQ29tbW9uIExvZ2ZpbGUgRm9ybWF0KS4KLSMgSWYgeW91IGRvIG5v
dCBkZWZpbmUgYW55IGFjY2VzcyBsb2dmaWxlcyB3aXRoaW4gYSA8VmlydHVhbEhvc3Q+Ci0jIGNv
bnRhaW5lciwgdGhleSB3aWxsIGJlIGxvZ2dlZCBoZXJlLiAgQ29udHJhcml3aXNlLCBpZiB5b3Ug
KmRvKgotIyBkZWZpbmUgcGVyLTxWaXJ0dWFsSG9zdD4gYWNjZXNzIGxvZ2ZpbGVzLCB0cmFuc2Fj
dGlvbnMgd2lsbCBiZQotIyBsb2dnZWQgdGhlcmVpbiBhbmQgKm5vdCogaW4gdGhpcyBmaWxlLgot
IwotIyBDb25maWd1cmVkIGZyb20gdGhlIGh0dHBkIGNvbW1hbmQgbGluZSBmb3IgV2ViS2l0IGxh
eW91dCB0ZXN0cy4KLSNDdXN0b21Mb2cgIi90bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9hY2Nlc3Nf
bG9nIiBjb21tb24KLQotIwotIyBJZiB5b3UgcHJlZmVyIGEgc2luZ2xlIGxvZ2ZpbGUgd2l0aCBh
Y2Nlc3MsIGFnZW50LCBhbmQgcmVmZXJlciBpbmZvcm1hdGlvbgotIyAoQ29tYmluZWQgTG9nZmls
ZSBGb3JtYXQpIHlvdSBjYW4gdXNlIHRoZSBmb2xsb3dpbmcgZGlyZWN0aXZlLgotIwotI0N1c3Rv
bUxvZyAiL3RtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2FjY2Vzc19sb2ciIGNvbWJpbmVkCi0KLSMK
LSMgT3B0aW9uYWxseSBhZGQgYSBsaW5lIGNvbnRhaW5pbmcgdGhlIHNlcnZlciB2ZXJzaW9uIGFu
ZCB2aXJ0dWFsIGhvc3QKLSMgbmFtZSB0byBzZXJ2ZXItZ2VuZXJhdGVkIHBhZ2VzIChlcnJvciBk
b2N1bWVudHMsIEZUUCBkaXJlY3RvcnkgbGlzdGluZ3MsCi0jIG1vZF9zdGF0dXMgYW5kIG1vZF9p
bmZvIG91dHB1dCBldGMuLCBidXQgbm90IENHSSBnZW5lcmF0ZWQgZG9jdW1lbnRzKS4KLSMgU2V0
IHRvICJFTWFpbCIgdG8gYWxzbyBpbmNsdWRlIGEgbWFpbHRvOiBsaW5rIHRvIHRoZSBTZXJ2ZXJB
ZG1pbi4KLSMgU2V0IHRvIG9uZSBvZjogIE9uIHwgT2ZmIHwgRU1haWwKLSMKIFNlcnZlclNpZ25h
dHVyZSBPbgogCi0jCi0jIEFsaWFzZXM6IEFkZCBoZXJlIGFzIG1hbnkgYWxpYXNlcyBhcyB5b3Ug
bmVlZCAod2l0aCBubyBsaW1pdCkuIFRoZSBmb3JtYXQgaXMgCi0jIEFsaWFzIGZha2VuYW1lIHJl
YWxuYW1lCi0jCiA8SWZNb2R1bGUgbW9kX2FsaWFzLmM+CiA8L0lmTW9kdWxlPgotIyBFbmQgb2Yg
YWxpYXNlcy4KIAotIwotIyBSZWRpcmVjdCBhbGxvd3MgeW91IHRvIHRlbGwgY2xpZW50cyBhYm91
dCBkb2N1bWVudHMgd2hpY2ggdXNlZCB0byBleGlzdCBpbgotIyB5b3VyIHNlcnZlcidzIG5hbWVz
cGFjZSwgYnV0IGRvIG5vdCBhbnltb3JlLiBUaGlzIGFsbG93cyB5b3UgdG8gdGVsbCB0aGUKLSMg
Y2xpZW50cyB3aGVyZSB0byBsb29rIGZvciB0aGUgcmVsb2NhdGVkIGRvY3VtZW50LgotIyBGb3Jt
YXQ6IFJlZGlyZWN0IG9sZC1VUkkgbmV3LVVSTAotIwotCi0jCi0jIERvY3VtZW50IHR5cGVzLgot
IwogPElmTW9kdWxlIG1vZF9taW1lLmM+Ci0KLSAgICAjCi0gICAgIyBBZGRMYW5ndWFnZSBhbGxv
d3MgeW91IHRvIHNwZWNpZnkgdGhlIGxhbmd1YWdlIG9mIGEgZG9jdW1lbnQuIFlvdSBjYW4KLSAg
ICAjIHRoZW4gdXNlIGNvbnRlbnQgbmVnb3RpYXRpb24gdG8gZ2l2ZSBhIGJyb3dzZXIgYSBmaWxl
IGluIGEgbGFuZ3VhZ2UKLSAgICAjIGl0IGNhbiB1bmRlcnN0YW5kLiAgCi0gICAgIwotICAgICMg
Tm90ZSAxOiBUaGUgc3VmZml4IGRvZXMgbm90IGhhdmUgdG8gYmUgdGhlIHNhbWUgYXMgdGhlIGxh
bmd1YWdlIAotICAgICMga2V5d29yZCAtLS0gdGhvc2Ugd2l0aCBkb2N1bWVudHMgaW4gUG9saXNo
ICh3aG9zZSBuZXQtc3RhbmRhcmQgCi0gICAgIyBsYW5ndWFnZSBjb2RlIGlzIHBsKSBtYXkgd2lz
aCB0byB1c2UgIkFkZExhbmd1YWdlIHBsIC5wbyIgdG8gCi0gICAgIyBhdm9pZCB0aGUgYW1iaWd1
aXR5IHdpdGggdGhlIGNvbW1vbiBzdWZmaXggZm9yIHBlcmwgc2NyaXB0cy4KLSAgICAjCi0gICAg
IyBOb3RlIDI6IFRoZSBleGFtcGxlIGVudHJpZXMgYmVsb3cgaWxsdXN0cmF0ZSB0aGF0IGluIHF1
aXRlCi0gICAgIyBzb21lIGNhc2VzIHRoZSB0d28gY2hhcmFjdGVyICdMYW5ndWFnZScgYWJicmV2
aWF0aW9uIGlzIG5vdAotICAgICMgaWRlbnRpY2FsIHRvIHRoZSB0d28gY2hhcmFjdGVyICdDb3Vu
dHJ5JyBjb2RlIGZvciBpdHMgY291bnRyeSwKLSAgICAjIEUuZy4gJ0Rhbm1hcmsvZGsnIHZlcnN1
cyAnRGFuaXNoL2RhJy4KLSAgICAjCi0gICAgIyBOb3RlIDM6IEluIHRoZSBjYXNlIG9mICdsdHon
IHdlIHZpb2xhdGUgdGhlIFJGQyBieSB1c2luZyBhIHRocmVlIGNoYXIgCi0gICAgIyBzcGVjaWZp
ZXIuIEJ1dCB0aGVyZSBpcyAnd29yayBpbiBwcm9ncmVzcycgdG8gZml4IHRoaXMgYW5kIGdldCAK
LSAgICAjIHRoZSByZWZlcmVuY2UgZGF0YSBmb3IgcmZjMTc2NiBjbGVhbmVkIHVwLgotICAgICMK
LSAgICAjIERhbmlzaCAoZGEpIC0gRHV0Y2ggKG5sKSAtIEVuZ2xpc2ggKGVuKSAtIEVzdG9uaWFu
IChlZSkKLSAgICAjIEZyZW5jaCAoZnIpIC0gR2VybWFuIChkZSkgLSBHcmVlay1Nb2Rlcm4gKGVs
KQotICAgICMgSXRhbGlhbiAoaXQpIC0gS29yZWFuIChrcikgLSBOb3J3ZWdpYW4gKG5vKSAtIE5v
cndlZ2lhbiBOeW5vcnNrIChubikKLSAgICAjIFBvcnR1Z2VzZSAocHQpIC0gTHV4ZW1ib3VyZ2Vv
aXMqIChsdHopCi0gICAgIyBTcGFuaXNoIChlcykgLSBTd2VkaXNoIChzdikgLSBDYXRhbGFuIChj
YSkgLSBDemVjaChjcykKLSAgICAjIFBvbGlzaCAocGwpIC0gQnJhemlsaWFuIFBvcnR1Z3Vlc2Ug
KHB0LWJyKSAtIEphcGFuZXNlIChqYSkKLSAgICAjIFJ1c3NpYW4gKHJ1KQotICAgICMKICAgICBB
ZGRMYW5ndWFnZSBkYSAuZGsKICAgICBBZGRMYW5ndWFnZSBubCAubmwKICAgICBBZGRMYW5ndWFn
ZSBlbiAuZW4KQEAgLTU0MCwxNTggKzEwNSwyOCBAQCBTZXJ2ZXJTaWduYXR1cmUgT24KICAgICBB
ZGRDaGFyc2V0IFVDUy00ICAgICAgICAudWNzNAogICAgIEFkZENoYXJzZXQgVVRGLTggICAgICAg
IC51dGY4CiAKLSAgICAjIExhbmd1YWdlUHJpb3JpdHkgYWxsb3dzIHlvdSB0byBnaXZlIHByZWNl
ZGVuY2UgdG8gc29tZSBsYW5ndWFnZXMKLSAgICAjIGluIGNhc2Ugb2YgYSB0aWUgZHVyaW5nIGNv
bnRlbnQgbmVnb3RpYXRpb24uCi0gICAgIwotICAgICMgSnVzdCBsaXN0IHRoZSBsYW5ndWFnZXMg
aW4gZGVjcmVhc2luZyBvcmRlciBvZiBwcmVmZXJlbmNlLiBXZSBoYXZlCi0gICAgIyBtb3JlIG9y
IGxlc3MgYWxwaGFiZXRpemVkIHRoZW0gaGVyZS4gWW91IHByb2JhYmx5IHdhbnQgdG8gY2hhbmdl
IHRoaXMuCi0gICAgIwogICAgIDxJZk1vZHVsZSBtb2RfbmVnb3RpYXRpb24uYz4KICAgICAgICAg
TGFuZ3VhZ2VQcmlvcml0eSBlbiBkYSBubCBldCBmciBkZSBlbCBpdCBqYSBrciBubyBwbCBwdCBw
dC1iciBydSBsdHogY2EgZXMgc3YgdHcKICAgICA8L0lmTW9kdWxlPgogCi0gICAgIwotICAgICMg
QWRkVHlwZSBhbGxvd3MgeW91IHRvIHR3ZWFrIG1pbWUudHlwZXMgd2l0aG91dCBhY3R1YWxseSBl
ZGl0aW5nIGl0LCBvciB0bwotICAgICMgbWFrZSBjZXJ0YWluIGZpbGVzIHRvIGJlIGNlcnRhaW4g
dHlwZXMuCi0gICAgIwogICAgIEFkZFR5cGUgYXBwbGljYXRpb24veC10YXIgLnRnegogCi0gICAg
IwotICAgICMgQWRkRW5jb2RpbmcgYWxsb3dzIHlvdSB0byBoYXZlIGNlcnRhaW4gYnJvd3NlcnMg
dW5jb21wcmVzcwotICAgICMgaW5mb3JtYXRpb24gb24gdGhlIGZseS4gTm90ZTogTm90IGFsbCBi
cm93c2VycyBzdXBwb3J0IHRoaXMuCi0gICAgIyBEZXNwaXRlIHRoZSBuYW1lIHNpbWlsYXJpdHks
IHRoZSBmb2xsb3dpbmcgQWRkKiBkaXJlY3RpdmVzIGhhdmUgbm90aGluZwotICAgICMgdG8gZG8g
d2l0aCB0aGUgRmFuY3lJbmRleGluZyBjdXN0b21pemF0aW9uIGRpcmVjdGl2ZXMgYWJvdmUuCi0g
ICAgIwogICAgIEFkZEVuY29kaW5nIHgtY29tcHJlc3MgLloKICAgICBBZGRFbmNvZGluZyB4LWd6
aXAgLmd6IC50Z3oKLSAgICAjCi0gICAgIyBJZiB0aGUgQWRkRW5jb2RpbmcgZGlyZWN0aXZlcyBh
Ym92ZSBhcmUgY29tbWVudGVkLW91dCwgdGhlbiB5b3UKLSAgICAjIHByb2JhYmx5IHNob3VsZCBk
ZWZpbmUgdGhvc2UgZXh0ZW5zaW9ucyB0byBpbmRpY2F0ZSBtZWRpYSB0eXBlczoKLSAgICAjCi0g
ICAgI0FkZFR5cGUgYXBwbGljYXRpb24veC1jb21wcmVzcyAuWgotICAgICNBZGRUeXBlIGFwcGxp
Y2F0aW9uL3gtZ3ppcCAuZ3ogLnRnegotCi0gICAgIwotICAgICMgQWRkSGFuZGxlciBhbGxvd3Mg
eW91IHRvIG1hcCBjZXJ0YWluIGZpbGUgZXh0ZW5zaW9ucyB0byAiaGFuZGxlcnMiLAotICAgICMg
YWN0aW9ucyB1bnJlbGF0ZWQgdG8gZmlsZXR5cGUuIFRoZXNlIGNhbiBiZSBlaXRoZXIgYnVpbHQg
aW50byB0aGUgc2VydmVyCi0gICAgIyBvciBhZGRlZCB3aXRoIHRoZSBBY3Rpb24gY29tbWFuZCAo
c2VlIGJlbG93KQotICAgICMKLSAgICAjIElmIHlvdSB3YW50IHRvIHVzZSBzZXJ2ZXIgc2lkZSBp
bmNsdWRlcywgb3IgQ0dJIG91dHNpZGUKLSAgICAjIFNjcmlwdEFsaWFzZWQgZGlyZWN0b3JpZXMs
IHVuY29tbWVudCB0aGUgZm9sbG93aW5nIGxpbmVzLgotICAgICMKLSAgICAjIFRvIHVzZSBDR0kg
c2NyaXB0czoKLSAgICAjCisKICAgICBBZGRIYW5kbGVyIGNnaS1zY3JpcHQgLmNnaSAucGwKIAot
ICAgICMKLSAgICAjIFRvIHVzZSBzZXJ2ZXItcGFyc2VkIEhUTUwgZmlsZXMKLSAgICAjCiAgICAg
QWRkVHlwZSB0ZXh0L2h0bWwgLnNodG1sCiAgICAgQWRkSGFuZGxlciBzZXJ2ZXItcGFyc2VkIC5z
aHRtbAogCi0gICAgIwotICAgICMgVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgbGluZSB0byBlbmFi
bGUgQXBhY2hlJ3Mgc2VuZC1hc2lzIEhUVFAgZmlsZQotICAgICMgZmVhdHVyZQotICAgICMKICAg
ICBBZGRIYW5kbGVyIHNlbmQtYXMtaXMgYXNpcwotCi0gICAgIwotICAgICMgSWYgeW91IHdpc2gg
dG8gdXNlIHNlcnZlci1wYXJzZWQgaW1hZ2VtYXAgZmlsZXMsIHVzZQotICAgICMKLSAgICAjQWRk
SGFuZGxlciBpbWFwLWZpbGUgbWFwCi0KLSAgICAjCi0gICAgIyBUbyBlbmFibGUgdHlwZSBtYXBz
LCB5b3UgbWlnaHQgd2FudCB0byB1c2UKLSAgICAjCi0gICAgI0FkZEhhbmRsZXIgdHlwZS1tYXAg
dmFyCi0KIDwvSWZNb2R1bGU+Ci0jIEVuZCBvZiBkb2N1bWVudCB0eXBlcy4KLQotIwotIyBBY3Rp
b24gbGV0cyB5b3UgZGVmaW5lIG1lZGlhIHR5cGVzIHRoYXQgd2lsbCBleGVjdXRlIGEgc2NyaXB0
IHdoZW5ldmVyCi0jIGEgbWF0Y2hpbmcgZmlsZSBpcyBjYWxsZWQuIFRoaXMgZWxpbWluYXRlcyB0
aGUgbmVlZCBmb3IgcmVwZWF0ZWQgVVJMCi0jIHBhdGhuYW1lcyBmb3Igb2Z0LXVzZWQgQ0dJIGZp
bGUgcHJvY2Vzc29ycy4KLSMgRm9ybWF0OiBBY3Rpb24gbWVkaWEvdHlwZSAvY2dpLXNjcmlwdC9s
b2NhdGlvbgotIyBGb3JtYXQ6IEFjdGlvbiBoYW5kbGVyLW5hbWUgL2NnaS1zY3JpcHQvbG9jYXRp
b24KLSMKLQotIwotIyBNZXRhRGlyOiBzcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGRpcmVjdG9y
eSBpbiB3aGljaCBBcGFjaGUgY2FuIGZpbmQKLSMgbWV0YSBpbmZvcm1hdGlvbiBmaWxlcy4gVGhl
c2UgZmlsZXMgY29udGFpbiBhZGRpdGlvbmFsIEhUVFAgaGVhZGVycwotIyB0byBpbmNsdWRlIHdo
ZW4gc2VuZGluZyB0aGUgZG9jdW1lbnQKLSMKLSNNZXRhRGlyIC53ZWIKLQotIwotIyBNZXRhU3Vm
Zml4OiBzcGVjaWZpZXMgdGhlIGZpbGUgbmFtZSBzdWZmaXggZm9yIHRoZSBmaWxlIGNvbnRhaW5p
bmcgdGhlCi0jIG1ldGEgaW5mb3JtYXRpb24uCi0jCi0jTWV0YVN1ZmZpeCAubWV0YQotCi0jCi0j
IEN1c3RvbWl6YWJsZSBlcnJvciByZXNwb25zZSAoQXBhY2hlIHN0eWxlKQotIyAgdGhlc2UgY29t
ZSBpbiB0aHJlZSBmbGF2b3JzCi0jCi0jICAgIDEpIHBsYWluIHRleHQKLSNFcnJvckRvY3VtZW50
IDUwMCAiVGhlIHNlcnZlciBtYWRlIGEgYm9vIGJvby4KLSMgIG4uYi4gIHRoZSBzaW5nbGUgbGVh
ZGluZyAoIikgbWFya3MgaXQgYXMgdGV4dCwgaXQgZG9lcyBub3QgZ2V0IG91dHB1dAotIwotIyAg
ICAyKSBsb2NhbCByZWRpcmVjdHMKLSNFcnJvckRvY3VtZW50IDQwNCAvbWlzc2luZy5odG1sCi0j
ICB0byByZWRpcmVjdCB0byBsb2NhbCBVUkwgL21pc3NpbmcuaHRtbAotI0Vycm9yRG9jdW1lbnQg
NDA0IC9jZ2ktYmluL21pc3NpbmdfaGFuZGxlci5wbAotIyAgTi5CLjogWW91IGNhbiByZWRpcmVj
dCB0byBhIHNjcmlwdCBvciBhIGRvY3VtZW50IHVzaW5nIHNlcnZlci1zaWRlLWluY2x1ZGVzLgot
IwotIyAgICAzKSBleHRlcm5hbCByZWRpcmVjdHMKLSNFcnJvckRvY3VtZW50IDQwMiBodHRwOi8v
c29tZS5vdGhlci1zZXJ2ZXIuY29tL3N1YnNjcmlwdGlvbl9pbmZvLmh0bWwKLSMgIE4uQi46IE1h
bnkgb2YgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcyBhc3NvY2lhdGVkIHdpdGggdGhlIG9yaWdp
bmFsCi0jICByZXF1ZXN0IHdpbGwgKm5vdCogYmUgYXZhaWxhYmxlIHRvIHN1Y2ggYSBzY3JpcHQu
Ci0KLSMKLSMgUHJveHkgU2VydmVyIGRpcmVjdGl2ZXMuIFVuY29tbWVudCB0aGUgZm9sbG93aW5n
IGxpbmVzIHRvCi0jIGVuYWJsZSB0aGUgcHJveHkgc2VydmVyOgotIwotIzxJZk1vZHVsZSBtb2Rf
cHJveHkuYz4KLSMgICAgUHJveHlSZXF1ZXN0cyBPbgotCi0jICAgIDxEaXJlY3RvcnkgcHJveHk6
Kj4KLSMgICAgICAgIE9yZGVyIGRlbnksYWxsb3cKLSMgICAgICAgIERlbnkgZnJvbSBhbGwKLSMg
ICAgICAgIEFsbG93IGZyb20gLnlvdXItZG9tYWluLmNvbQotIyAgICA8L0RpcmVjdG9yeT4KLQot
ICAgICMKLSAgICAjIEVuYWJsZS9kaXNhYmxlIHRoZSBoYW5kbGluZyBvZiBIVFRQLzEuMSAiVmlh
OiIgaGVhZGVycy4KLSAgICAjICgiRnVsbCIgYWRkcyB0aGUgc2VydmVyIHZlcnNpb247ICJCbG9j
ayIgcmVtb3ZlcyBhbGwgb3V0Z29pbmcgVmlhOiBoZWFkZXJzKQotICAgICMgU2V0IHRvIG9uZSBv
ZjogT2ZmIHwgT24gfCBGdWxsIHwgQmxvY2sKLSAgICAjCi0jICAgIFByb3h5VmlhIE9uCi0KLSAg
ICAjCi0gICAgIyBUbyBlbmFibGUgdGhlIGNhY2hlIGFzIHdlbGwsIGVkaXQgYW5kIHVuY29tbWVu
dCB0aGUgZm9sbG93aW5nIGxpbmVzOgotICAgICMgKG5vIGNhY2hlaW5nIHdpdGhvdXQgQ2FjaGVS
b290KQotICAgICMKLSMgICAgQ2FjaGVSb290ICIvcHJpdmF0ZS92YXIvcnVuL3Byb3h5IgotIyAg
ICBDYWNoZVNpemUgNQotIyAgICBDYWNoZUdjSW50ZXJ2YWwgNAotIyAgICBDYWNoZU1heEV4cGly
ZSAyNAotIyAgICBDYWNoZUxhc3RNb2RpZmllZEZhY3RvciAwLjEKLSMgICAgQ2FjaGVEZWZhdWx0
RXhwaXJlIDEKLSMgICAgTm9DYWNoZSBhLWRvbWFpbi5jb20gYW5vdGhlci1kb21haW4uZWR1IGpv
ZXMuZ2FyYWdlLXNhbGUuY29tCi0KLSM8L0lmTW9kdWxlPgotIyBFbmQgb2YgcHJveHkgZGlyZWN0
aXZlcy4KLQogCiA8SWZNb2R1bGUgbW9kX3BocDUuYz4KLSAgICAjIElmIHBocCBpcyB0dXJuZWQg
b24sIHdlIHJlcHNlY3QgLnBocCBhbmQgLnBocHMgZmlsZXMuCiAgICAgQWRkVHlwZSBhcHBsaWNh
dGlvbi94LWh0dHBkLXBocCAucGhwCiAgICAgQWRkVHlwZSBhcHBsaWNhdGlvbi94LWh0dHBkLXBo
cCAuYmF0CiAgICAgQWRkVHlwZSBhcHBsaWNhdGlvbi94LWh0dHBkLXBocC1zb3VyY2UgLnBocHMK
IAotICAgICMgU2luY2UgbW9zdCB1c2VycyB3aWxsIHdhbnQgaW5kZXgucGhwIHRvIHdvcmsgd2UK
LSAgICAjIGFsc28gYXV0b21hdGljYWxseSBlbmFibGUgaW5kZXgucGhwCiAgICAgPElmTW9kdWxl
IG1vZF9kaXIuYz4KICAgICAgICAgRGlyZWN0b3J5SW5kZXggaW5kZXguaHRtbCBpbmRleC5waHAK
ICAgICA8L0lmTW9kdWxlPgpAQCAtNzEwLDMgKzE0NSwxOCBAQCBTZXJ2ZXJTaWduYXR1cmUgT24K
ICAgICBTZXJ2ZXJOYW1lIDEyNy4wLjAuMQogICAgIFNTTEVuZ2luZSBPbgogPC9WaXJ0dWFsSG9z
dD4KKworIworIyBBcHBsZS1zcGVjaWZpYyBmaWxlc3lzdGVtIHByb3RlY3Rpb24uCisjCis8Rmls
ZXMgInJzcmMiPgorICAgIE9yZGVyIGFsbG93LGRlbnkKKyAgICBEZW55IGZyb20gYWxsCisgICAg
U2F0aXNmeSBBbGwKKzwvRmlsZXM+CisKKzxEaXJlY3RvcnkgIH4gIi4qXC5cLm5hbWVkZm9yayI+
CisgICAgT3JkZXIgYWxsb3csZGVueQorICAgIERlbnkgZnJvbSBhbGwKKyAgICBTYXRpc2Z5IEFs
bAorPC9EaXJlY3Rvcnk+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL2NvbmYvY3lnd2luLWh0dHBk
LmNvbmYKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC9jb25mL2N5Z3dpbi1odHRwZC5j
b25mCShyZXZpc2lvbiAxMzAxNTEpCisrKyBMYXlvdXRUZXN0cy9odHRwL2NvbmYvY3lnd2luLWh0
dHBkLmNvbmYJKHdvcmtpbmcgY29weSkKQEAgLTEsNTQwICsxLDk5IEBACi0jIwotIyMgaHR0cGQu
Y29uZiAtLSBBcGFjaGUgSFRUUCBzZXJ2ZXIgY29uZmlndXJhdGlvbiBmaWxlCi0jIwotCi0jCi0j
IEJhc2VkIHVwb24gdGhlIE5DU0Egc2VydmVyIGNvbmZpZ3VyYXRpb24gZmlsZXMgb3JpZ2luYWxs
eSBieSBSb2IgTWNDb29sLgotIwotIyBUaGlzIGlzIHRoZSBtYWluIEFwYWNoZSBzZXJ2ZXIgY29u
ZmlndXJhdGlvbiBmaWxlLiAgSXQgY29udGFpbnMgdGhlCi0jIGNvbmZpZ3VyYXRpb24gZGlyZWN0
aXZlcyB0aGF0IGdpdmUgdGhlIHNlcnZlciBpdHMgaW5zdHJ1Y3Rpb25zLgotIyBTZWUgPFVSTDpo
dHRwOi8vaHR0cGQuYXBhY2hlLm9yZy9kb2NzLz4gZm9yIGRldGFpbGVkIGluZm9ybWF0aW9uIGFi
b3V0Ci0jIHRoZSBkaXJlY3RpdmVzLgotIwotIyBEbyBOT1Qgc2ltcGx5IHJlYWQgdGhlIGluc3Ry
dWN0aW9ucyBpbiBoZXJlIHdpdGhvdXQgdW5kZXJzdGFuZGluZwotIyB3aGF0IHRoZXkgZG8uICBU
aGV5J3JlIGhlcmUgb25seSBhcyBoaW50cyBvciByZW1pbmRlcnMuICBJZiB5b3UgYXJlIHVuc3Vy
ZQotIyBjb25zdWx0IHRoZSBvbmxpbmUgZG9jcy4gWW91IGhhdmUgYmVlbiB3YXJuZWQuICAKLSMK
LSMgQWZ0ZXIgdGhpcyBmaWxlIGlzIHByb2Nlc3NlZCwgdGhlIHNlcnZlciB3aWxsIGxvb2sgZm9y
IGFuZCBwcm9jZXNzCi0jIC9wcml2YXRlL2V0Yy9odHRwZC9zcm0uY29uZiBhbmQgdGhlbiAvcHJp
dmF0ZS9ldGMvaHR0cGQvYWNjZXNzLmNvbmYKLSMgdW5sZXNzIHlvdSBoYXZlIG92ZXJyaWRkZW4g
dGhlc2Ugd2l0aCBSZXNvdXJjZUNvbmZpZyBhbmQvb3IKLSMgQWNjZXNzQ29uZmlnIGRpcmVjdGl2
ZXMgaGVyZS4KLSMKLSMgVGhlIGNvbmZpZ3VyYXRpb24gZGlyZWN0aXZlcyBhcmUgZ3JvdXBlZCBp
bnRvIHRocmVlIGJhc2ljIHNlY3Rpb25zOgotIyAgMS4gRGlyZWN0aXZlcyB0aGF0IGNvbnRyb2wg
dGhlIG9wZXJhdGlvbiBvZiB0aGUgQXBhY2hlIHNlcnZlciBwcm9jZXNzIGFzIGEKLSMgICAgIHdo
b2xlICh0aGUgJ2dsb2JhbCBlbnZpcm9ubWVudCcpLgotIyAgMi4gRGlyZWN0aXZlcyB0aGF0IGRl
ZmluZSB0aGUgcGFyYW1ldGVycyBvZiB0aGUgJ21haW4nIG9yICdkZWZhdWx0JyBzZXJ2ZXIsCi0j
ICAgICB3aGljaCByZXNwb25kcyB0byByZXF1ZXN0cyB0aGF0IGFyZW4ndCBoYW5kbGVkIGJ5IGEg
dmlydHVhbCBob3N0LgotIyAgICAgVGhlc2UgZGlyZWN0aXZlcyBhbHNvIHByb3ZpZGUgZGVmYXVs
dCB2YWx1ZXMgZm9yIHRoZSBzZXR0aW5ncwotIyAgICAgb2YgYWxsIHZpcnR1YWwgaG9zdHMuCi0j
ICAzLiBTZXR0aW5ncyBmb3IgdmlydHVhbCBob3N0cywgd2hpY2ggYWxsb3cgV2ViIHJlcXVlc3Rz
IHRvIGJlIHNlbnQgdG8KLSMgICAgIGRpZmZlcmVudCBJUCBhZGRyZXNzZXMgb3IgaG9zdG5hbWVz
IGFuZCBoYXZlIHRoZW0gaGFuZGxlZCBieSB0aGUKLSMgICAgIHNhbWUgQXBhY2hlIHNlcnZlciBw
cm9jZXNzLgotIwotIyBDb25maWd1cmF0aW9uIGFuZCBsb2dmaWxlIG5hbWVzOiBJZiB0aGUgZmls
ZW5hbWVzIHlvdSBzcGVjaWZ5IGZvciBtYW55Ci0jIG9mIHRoZSBzZXJ2ZXIncyBjb250cm9sIGZp
bGVzIGJlZ2luIHdpdGggIi8iIChvciAiZHJpdmU6LyIgZm9yIFdpbjMyKSwgdGhlCi0jIHNlcnZl
ciB3aWxsIHVzZSB0aGF0IGV4cGxpY2l0IHBhdGguICBJZiB0aGUgZmlsZW5hbWVzIGRvICpub3Qq
IGJlZ2luCi0jIHdpdGggIi8iLCB0aGUgdmFsdWUgb2YgU2VydmVyUm9vdCBpcyBwcmVwZW5kZWQg
LS0gc28gImxvZ3MvZm9vLmxvZyIKLSMgd2l0aCBTZXJ2ZXJSb290IHNldCB0byAiL3Vzci9sb2Nh
bC9hcGFjaGUiIHdpbGwgYmUgaW50ZXJwcmV0ZWQgYnkgdGhlCi0jIHNlcnZlciBhcyAiL3Vzci9s
b2NhbC9hcGFjaGUvbG9ncy9mb28ubG9nIi4KLSMKLQotIyMjIFNlY3Rpb24gMTogR2xvYmFsIEVu
dmlyb25tZW50Ci0jCi0jIFRoZSBkaXJlY3RpdmVzIGluIHRoaXMgc2VjdGlvbiBhZmZlY3QgdGhl
IG92ZXJhbGwgb3BlcmF0aW9uIG9mIEFwYWNoZSwKLSMgc3VjaCBhcyB0aGUgbnVtYmVyIG9mIGNv
bmN1cnJlbnQgcmVxdWVzdHMgaXQgY2FuIGhhbmRsZSBvciB3aGVyZSBpdAotIyBjYW4gZmluZCBp
dHMgY29uZmlndXJhdGlvbiBmaWxlcy4KLSMKLQotIwotIyBTZXJ2ZXJUeXBlIGlzIGVpdGhlciBp
bmV0ZCwgb3Igc3RhbmRhbG9uZS4gIEluZXRkIG1vZGUgaXMgb25seSBzdXBwb3J0ZWQgb24KLSMg
VW5peCBwbGF0Zm9ybXMuCi0jCiBTZXJ2ZXJUeXBlIHN0YW5kYWxvbmUKIAotIwotIyBTZXJ2ZXJS
b290OiBUaGUgdG9wIG9mIHRoZSBkaXJlY3RvcnkgdHJlZSB1bmRlciB3aGljaCB0aGUgc2VydmVy
J3MKLSMgY29uZmlndXJhdGlvbiwgZXJyb3IsIGFuZCBsb2cgZmlsZXMgYXJlIGtlcHQuCi0jCi0j
IE5PVEUhICBJZiB5b3UgaW50ZW5kIHRvIHBsYWNlIHRoaXMgb24gYW4gTkZTIChvciBvdGhlcndp
c2UgbmV0d29yaykKLSMgbW91bnRlZCBmaWxlc3lzdGVtIHRoZW4gcGxlYXNlIHJlYWQgdGhlIExv
Y2tGaWxlIGRvY3VtZW50YXRpb24KLSMgKGF2YWlsYWJsZSBhdCA8VVJMOmh0dHA6Ly93d3cuYXBh
Y2hlLm9yZy9kb2NzL21vZC9jb3JlLmh0bWwjbG9ja2ZpbGU+KTsKLSMgeW91IHdpbGwgc2F2ZSB5
b3Vyc2VsZiBhIGxvdCBvZiB0cm91YmxlLgotIwogU2VydmVyUm9vdCAiL3VzciIKLQotIwotIyBU
aGUgTG9ja0ZpbGUgZGlyZWN0aXZlIHNldHMgdGhlIHBhdGggdG8gdGhlIGxvY2tmaWxlIHVzZWQg
d2hlbiBBcGFjaGUKLSMgaXMgY29tcGlsZWQgd2l0aCBlaXRoZXIgVVNFX0ZDTlRMX1NFUklBTEla
RURfQUNDRVBUIG9yCi0jIFVTRV9GTE9DS19TRVJJQUxJWkVEX0FDQ0VQVC4gVGhpcyBkaXJlY3Rp
dmUgc2hvdWxkIG5vcm1hbGx5IGJlIGxlZnQgYXQKLSMgaXRzIGRlZmF1bHQgdmFsdWUuIFRoZSBt
YWluIHJlYXNvbiBmb3IgY2hhbmdpbmcgaXQgaXMgaWYgdGhlIGxvZ3MKLSMgZGlyZWN0b3J5IGlz
IE5GUyBtb3VudGVkLCBzaW5jZSB0aGUgbG9ja2ZpbGUgTVVTVCBCRSBTVE9SRUQgT04gQSBMT0NB
TAotIyBESVNLLiBUaGUgUElEIG9mIHRoZSBtYWluIHNlcnZlciBwcm9jZXNzIGlzIGF1dG9tYXRp
Y2FsbHkgYXBwZW5kZWQgdG8KLSMgdGhlIGZpbGVuYW1lLiAKLSMKIExvY2tGaWxlICIvdG1wL1dl
YktpdC9odHRwZC5sb2NrIgotCi0jCi0jIFBpZEZpbGU6IFRoZSBmaWxlIGluIHdoaWNoIHRoZSBz
ZXJ2ZXIgc2hvdWxkIHJlY29yZCBpdHMgcHJvY2VzcwotIyBpZGVudGlmaWNhdGlvbiBudW1iZXIg
d2hlbiBpdCBzdGFydHMuCi0jCiBQaWRGaWxlICIvdG1wL1dlYktpdC9odHRwZC5waWQiCi0KLSMK
LSMgU2NvcmVCb2FyZEZpbGU6IEZpbGUgdXNlZCB0byBzdG9yZSBpbnRlcm5hbCBzZXJ2ZXIgcHJv
Y2VzcyBpbmZvcm1hdGlvbi4KLSMgTm90IGFsbCBhcmNoaXRlY3R1cmVzIHJlcXVpcmUgdGhpcy4g
IEJ1dCBpZiB5b3VycyBkb2VzICh5b3UnbGwga25vdyBiZWNhdXNlCi0jIHRoaXMgZmlsZSB3aWxs
IGJlICBjcmVhdGVkIHdoZW4geW91IHJ1biBBcGFjaGUpIHRoZW4geW91ICptdXN0KiBlbnN1cmUg
dGhhdAotIyBubyB0d28gaW52b2NhdGlvbnMgb2YgQXBhY2hlIHNoYXJlIHRoZSBzYW1lIHNjb3Jl
Ym9hcmQgZmlsZS4KLSMKIFNjb3JlQm9hcmRGaWxlICIvdG1wL1dlYktpdC9odHRwZC5zY29yZWJv
YXJkIgogCi0jCi0jIEluIHRoZSBzdGFuZGFyZCBjb25maWd1cmF0aW9uLCB0aGUgc2VydmVyIHdp
bGwgcHJvY2VzcyBodHRwZC5jb25mICh0aGlzIAotIyBmaWxlLCBzcGVjaWZpZWQgYnkgdGhlIC1m
IGNvbW1hbmQgbGluZSBvcHRpb24pLCBzcm0uY29uZiwgYW5kIGFjY2Vzcy5jb25mIAotIyBpbiB0
aGF0IG9yZGVyLiAgVGhlIGxhdHRlciB0d28gZmlsZXMgYXJlIG5vdyBkaXN0cmlidXRlZCBlbXB0
eSwgYXMgaXQgaXMgCi0jIHJlY29tbWVuZGVkIHRoYXQgYWxsIGRpcmVjdGl2ZXMgYmUga2VwdCBp
biBhIHNpbmdsZSBmaWxlIGZvciBzaW1wbGljaXR5LiAgCi0jIFRoZSBjb21tZW50ZWQtb3V0IHZh
bHVlcyBiZWxvdyBhcmUgdGhlIGJ1aWx0LWluIGRlZmF1bHRzLiAgWW91IGNhbiBoYXZlIHRoZSAK
LSMgc2VydmVyIGlnbm9yZSB0aGVzZSBmaWxlcyBhbHRvZ2V0aGVyIGJ5IHVzaW5nICIvZGV2L251
bGwiIChmb3IgVW5peCkgb3IKLSMgIm51bCIgKGZvciBXaW4zMikgZm9yIHRoZSBhcmd1bWVudHMg
dG8gdGhlIGRpcmVjdGl2ZXMuCi0jCiBSZXNvdXJjZUNvbmZpZyAvZGV2L251bGwKIEFjY2Vzc0Nv
bmZpZyAvZGV2L251bGwKIAotIwotIyBUaW1lb3V0OiBUaGUgbnVtYmVyIG9mIHNlY29uZHMgYmVm
b3JlIHJlY2VpdmVzIGFuZCBzZW5kcyB0aW1lIG91dC4KLSMKIFRpbWVvdXQgMzAwCi0KLSMKLSMg
S2VlcEFsaXZlOiBXaGV0aGVyIG9yIG5vdCB0byBhbGxvdyBwZXJzaXN0ZW50IGNvbm5lY3Rpb25z
IChtb3JlIHRoYW4KLSMgb25lIHJlcXVlc3QgcGVyIGNvbm5lY3Rpb24pLiBTZXQgdG8gIk9mZiIg
dG8gZGVhY3RpdmF0ZS4KLSMKIEtlZXBBbGl2ZSBPbgotCi0jCi0jIE1heEtlZXBBbGl2ZVJlcXVl
c3RzOiBUaGUgbWF4aW11bSBudW1iZXIgb2YgcmVxdWVzdHMgdG8gYWxsb3cKLSMgZHVyaW5nIGEg
cGVyc2lzdGVudCBjb25uZWN0aW9uLiBTZXQgdG8gMCB0byBhbGxvdyBhbiB1bmxpbWl0ZWQgYW1v
dW50LgotIyBXZSByZWNvbW1lbmQgeW91IGxlYXZlIHRoaXMgbnVtYmVyIGhpZ2gsIGZvciBtYXhp
bXVtIHBlcmZvcm1hbmNlLgotIwogTWF4S2VlcEFsaXZlUmVxdWVzdHMgMTAwCi0KLSMKLSMgS2Vl
cEFsaXZlVGltZW91dDogTnVtYmVyIG9mIHNlY29uZHMgdG8gd2FpdCBmb3IgdGhlIG5leHQgcmVx
dWVzdCBmcm9tIHRoZQotIyBzYW1lIGNsaWVudCBvbiB0aGUgc2FtZSBjb25uZWN0aW9uLgotIwog
S2VlcEFsaXZlVGltZW91dCAxNQogCi0jCi0jIFNlcnZlci1wb29sIHNpemUgcmVndWxhdGlvbi4g
IFJhdGhlciB0aGFuIG1ha2luZyB5b3UgZ3Vlc3MgaG93IG1hbnkKLSMgc2VydmVyIHByb2Nlc3Nl
cyB5b3UgbmVlZCwgQXBhY2hlIGR5bmFtaWNhbGx5IGFkYXB0cyB0byB0aGUgbG9hZCBpdAotIyBz
ZWVzIC0tLSB0aGF0IGlzLCBpdCB0cmllcyB0byBtYWludGFpbiBlbm91Z2ggc2VydmVyIHByb2Nl
c3NlcyB0bwotIyBoYW5kbGUgdGhlIGN1cnJlbnQgbG9hZCwgcGx1cyBhIGZldyBzcGFyZSBzZXJ2
ZXJzIHRvIGhhbmRsZSB0cmFuc2llbnQKLSMgbG9hZCBzcGlrZXMgKGUuZy4sIG11bHRpcGxlIHNp
bXVsdGFuZW91cyByZXF1ZXN0cyBmcm9tIGEgc2luZ2xlCi0jIE5ldHNjYXBlIGJyb3dzZXIpLgot
IwotIyBJdCBkb2VzIHRoaXMgYnkgcGVyaW9kaWNhbGx5IGNoZWNraW5nIGhvdyBtYW55IHNlcnZl
cnMgYXJlIHdhaXRpbmcKLSMgZm9yIGEgcmVxdWVzdC4gIElmIHRoZXJlIGFyZSBmZXdlciB0aGFu
IE1pblNwYXJlU2VydmVycywgaXQgY3JlYXRlcwotIyBhIG5ldyBzcGFyZS4gIElmIHRoZXJlIGFy
ZSBtb3JlIHRoYW4gTWF4U3BhcmVTZXJ2ZXJzLCBzb21lIG9mIHRoZQotIyBzcGFyZXMgZGllIG9m
Zi4gIFRoZSBkZWZhdWx0IHZhbHVlcyBhcmUgcHJvYmFibHkgT0sgZm9yIG1vc3Qgc2l0ZXMuCi0j
CiBNaW5TcGFyZVNlcnZlcnMgMQogTWF4U3BhcmVTZXJ2ZXJzIDUKLQotIwotIyBOdW1iZXIgb2Yg
c2VydmVycyB0byBzdGFydCBpbml0aWFsbHkgLS0tIHNob3VsZCBiZSBhIHJlYXNvbmFibGUgYmFs
bHBhcmsKLSMgZmlndXJlLgotIwogU3RhcnRTZXJ2ZXJzIDEKLQotIwotIyBMaW1pdCBvbiB0b3Rh
bCBudW1iZXIgb2Ygc2VydmVycyBydW5uaW5nLCBpLmUuLCBsaW1pdCBvbiB0aGUgbnVtYmVyCi0j
IG9mIGNsaWVudHMgd2hvIGNhbiBzaW11bHRhbmVvdXNseSBjb25uZWN0IC0tLSBpZiB0aGlzIGxp
bWl0IGlzIGV2ZXIKLSMgcmVhY2hlZCwgY2xpZW50cyB3aWxsIGJlIExPQ0tFRCBPVVQsIHNvIGl0
IHNob3VsZCBOT1QgQkUgU0VUIFRPTyBMT1cuCi0jIEl0IGlzIGludGVuZGVkIG1haW5seSBhcyBh
IGJyYWtlIHRvIGtlZXAgYSBydW5hd2F5IHNlcnZlciBmcm9tIHRha2luZwotIyB0aGUgc3lzdGVt
IHdpdGggaXQgYXMgaXQgc3BpcmFscyBkb3duLi4uCi0jCiBNYXhDbGllbnRzIDE1MAotCi0jCi0j
IE1heFJlcXVlc3RzUGVyQ2hpbGQ6IHRoZSBudW1iZXIgb2YgcmVxdWVzdHMgZWFjaCBjaGlsZCBw
cm9jZXNzIGlzCi0jIGFsbG93ZWQgdG8gcHJvY2VzcyBiZWZvcmUgdGhlIGNoaWxkIGRpZXMuICBU
aGUgY2hpbGQgd2lsbCBleGl0IHNvCi0jIGFzIHRvIGF2b2lkIHByb2JsZW1zIGFmdGVyIHByb2xv
bmdlZCB1c2Ugd2hlbiBBcGFjaGUgKGFuZCBtYXliZSB0aGUKLSMgbGlicmFyaWVzIGl0IHVzZXMp
IGxlYWsgbWVtb3J5IG9yIG90aGVyIHJlc291cmNlcy4gIE9uIG1vc3Qgc3lzdGVtcywgdGhpcwot
IyBpc24ndCByZWFsbHkgbmVlZGVkLCBidXQgYSBmZXcgKHN1Y2ggYXMgU29sYXJpcykgZG8gaGF2
ZSBub3RhYmxlIGxlYWtzCi0jIGluIHRoZSBsaWJyYXJpZXMuIEZvciB0aGVzZSBwbGF0Zm9ybXMs
IHNldCB0byBzb21ldGhpbmcgbGlrZSAxMDAwMAotIyBvciBzbzsgYSBzZXR0aW5nIG9mIDAgbWVh
bnMgdW5saW1pdGVkLgotIwotIyBOT1RFOiBUaGlzIHZhbHVlIGRvZXMgbm90IGluY2x1ZGUga2Vl
cGFsaXZlIHJlcXVlc3RzIGFmdGVyIHRoZSBpbml0aWFsCi0jICAgICAgIHJlcXVlc3QgcGVyIGNv
bm5lY3Rpb24uIEZvciBleGFtcGxlLCBpZiBhIGNoaWxkIHByb2Nlc3MgaGFuZGxlcwotIyAgICAg
ICBhbiBpbml0aWFsIHJlcXVlc3QgYW5kIDEwIHN1YnNlcXVlbnQgImtlcHRhbGl2ZSIgcmVxdWVz
dHMsIGl0Ci0jICAgICAgIHdvdWxkIG9ubHkgY291bnQgYXMgMSByZXF1ZXN0IHRvd2FyZHMgdGhp
cyBsaW1pdC4KLSMKIE1heFJlcXVlc3RzUGVyQ2hpbGQgMTAwMDAwCiAKLSMKLSMgTGlzdGVuOiBB
bGxvd3MgeW91IHRvIGJpbmQgQXBhY2hlIHRvIHNwZWNpZmljIElQIGFkZHJlc3NlcyBhbmQvb3IK
LSMgcG9ydHMsIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQuIFNlZSBhbHNvIHRoZSA8VmlydHVhbEhv
c3Q+Ci0jIGRpcmVjdGl2ZS4KLSMKICMgQ29uZmlndXJlZCBmcm9tIHRoZSBodHRwZCBjb21tYW5k
IGxpbmUgZm9yIFdlYktpdCBsYXlvdXQgdGVzdHMuCi0jCi0jTGlzdGVuIDMwMDAKIExpc3RlbiAx
MjcuMC4wLjE6ODA4MAogIyBBcGFjaGUgMS4zIG9ubHkgc3VwcG9ydHMgSVB2NCwgc28gd2UgZG8g
bm90IGxpc3RlbiBvbiA6OjEgKElQdjYgbG9vcGJhY2spLgogIyBUaGlzIG1heSBjYXVzZSBmbGFr
eSB0ZXN0cyBvbiBzeXN0ZW1zIHdoaWNoIHN1cHBvcnQgSVB2NiBpZiBsb2NhbGhvc3QgcmVzb2x2
ZXMKICMgdG8gOjoxIGluIGFkZGl0aW9uIHRvIDEyNy4wLjAuMS4KICMgU2VlIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzEwNAogCi0jCi0jIER5bmFtaWMgU2hhcmVk
IE9iamVjdCAoRFNPKSBTdXBwb3J0Ci0jCi0jIFRvIGJlIGFibGUgdG8gdXNlIHRoZSBmdW5jdGlv
bmFsaXR5IG9mIGEgbW9kdWxlIHdoaWNoIHdhcyBidWlsdCBhcyBhIERTTyB5b3UKLSMgaGF2ZSB0
byBwbGFjZSBjb3JyZXNwb25kaW5nIGBMb2FkTW9kdWxlJyBsaW5lcyBhdCB0aGlzIGxvY2F0aW9u
IHNvIHRoZQotIyBkaXJlY3RpdmVzIGNvbnRhaW5lZCBpbiBpdCBhcmUgYWN0dWFsbHkgYXZhaWxh
YmxlIF9iZWZvcmVfIHRoZXkgYXJlIHVzZWQuCi0jIFBsZWFzZSByZWFkIHRoZSBmaWxlIGh0dHA6
Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvZHNvLmh0bWwgZm9yIG1vcmUKLSMgZGV0YWlscyBhYm91
dCB0aGUgRFNPIG1lY2hhbmlzbSBhbmQgcnVuIGBodHRwZCAtbCcgZm9yIHRoZSBsaXN0IG9mIGFs
cmVhZHkKLSMgYnVpbHQtaW4gKHN0YXRpY2FsbHkgbGlua2VkIGFuZCB0aHVzIGFsd2F5cyBhdmFp
bGFibGUpIG1vZHVsZXMgaW4geW91ciBodHRwZAotIyBiaW5hcnkuCi0jCi0jIE5vdGU6IFRoZSBv
cmRlciBpbiB3aGljaCBtb2R1bGVzIGFyZSBsb2FkZWQgaXMgaW1wb3J0YW50LiAgRG9uJ3QgY2hh
bmdlCi0jIHRoZSBvcmRlciBiZWxvdyB3aXRob3V0IGV4cGVydCBhZHZpY2UuCi0jCi0jIEV4YW1w
bGU6Ci0jIExvYWRNb2R1bGUgZm9vX21vZHVsZSBsaWJleGVjL21vZF9mb28uc28KLSNMb2FkTW9k
dWxlIHZob3N0X2FsaWFzX21vZHVsZSBsaWIvYXBhY2hlL21vZF92aG9zdF9hbGlhcy5kbGwKLSNM
b2FkTW9kdWxlIGVudl9tb2R1bGUgICAgICAgICBsaWIvYXBhY2hlL21vZF9lbnYuZGxsCiBMb2Fk
TW9kdWxlIGNvbmZpZ19sb2dfbW9kdWxlICBsaWIvYXBhY2hlL21vZF9sb2dfY29uZmlnLmRsbAot
I0xvYWRNb2R1bGUgYWdlbnRfbG9nX21vZHVsZSAgIGxpYi9hcGFjaGUvbW9kX2xvZ19hZ2VudC5k
bGwKLSNMb2FkTW9kdWxlIHJlZmVyZXJfbG9nX21vZHVsZSBsaWIvYXBhY2hlL21vZF9sb2dfcmVm
ZXJlci5kbGwKLSNMb2FkTW9kdWxlIG1pbWVfbWFnaWNfbW9kdWxlICBsaWIvYXBhY2hlL21vZF9t
aW1lX21hZ2ljLmRsbAogTG9hZE1vZHVsZSBtaW1lX21vZHVsZSAgICAgICAgbGliL2FwYWNoZS9t
b2RfbWltZS5kbGwKIExvYWRNb2R1bGUgbmVnb3RpYXRpb25fbW9kdWxlIGxpYi9hcGFjaGUvbW9k
X25lZ290aWF0aW9uLmRsbAotI0xvYWRNb2R1bGUgc3RhdHVzX21vZHVsZSAgICAgIGxpYi9hcGFj
aGUvbW9kX3N0YXR1cy5kbGwKLSNMb2FkTW9kdWxlIGluZm9fbW9kdWxlICAgICAgICBsaWIvYXBh
Y2hlL21vZF9pbmZvLmRsbAogTG9hZE1vZHVsZSBpbmNsdWRlc19tb2R1bGUgICAgbGliL2FwYWNo
ZS9tb2RfaW5jbHVkZS5kbGwKLSNMb2FkTW9kdWxlIGF1dG9pbmRleF9tb2R1bGUgICBsaWIvYXBh
Y2hlL21vZF9hdXRvaW5kZXguZGxsCi0jTG9hZE1vZHVsZSBkaXJfbW9kdWxlICAgICAgICAgbGli
L2FwYWNoZS9tb2RfZGlyLmRsbAogTG9hZE1vZHVsZSBjZ2lfbW9kdWxlICAgICAgICAgbGliL2Fw
YWNoZS9tb2RfY2dpLmRsbAogTG9hZE1vZHVsZSBhc2lzX21vZHVsZSAgICAgICAgbGliL2FwYWNo
ZS9tb2RfYXNpcy5kbGwKIExvYWRNb2R1bGUgaW1hcF9tb2R1bGUgICAgICAgIGxpYi9hcGFjaGUv
bW9kX2ltYXAuZGxsCiBMb2FkTW9kdWxlIGFjdGlvbl9tb2R1bGUgICAgICBsaWIvYXBhY2hlL21v
ZF9hY3Rpb25zLmRsbAotI0xvYWRNb2R1bGUgc3BlbGluZ19tb2R1bGUgICAgIGxpYi9hcGFjaGUv
bW9kX3NwZWxpbmcuZGxsCi0jTG9hZE1vZHVsZSB1c2VyZGlyX21vZHVsZSAgICAgbGliL2FwYWNo
ZS9tb2RfdXNlcmRpci5kbGwKIExvYWRNb2R1bGUgYWxpYXNfbW9kdWxlICAgICAgIGxpYi9hcGFj
aGUvbW9kX2FsaWFzLmRsbAogTG9hZE1vZHVsZSByZXdyaXRlX21vZHVsZSAgICAgbGliL2FwYWNo
ZS9tb2RfcmV3cml0ZS5kbGwKIExvYWRNb2R1bGUgYWNjZXNzX21vZHVsZSAgICAgIGxpYi9hcGFj
aGUvbW9kX2FjY2Vzcy5kbGwKIExvYWRNb2R1bGUgYXV0aF9tb2R1bGUgICAgICAgIGxpYi9hcGFj
aGUvbW9kX2F1dGguZGxsCi0jTG9hZE1vZHVsZSBhbm9uX2F1dGhfbW9kdWxlICAgbGliL2FwYWNo
ZS9tb2RfYXV0aF9hbm9uLmRsbAotI0xvYWRNb2R1bGUgZGlnZXN0X21vZHVsZSAgICAgIGxpYi9h
cGFjaGUvbW9kX2RpZ2VzdC5kbGwKLSNMb2FkTW9kdWxlIHByb3h5X21vZHVsZSAgICAgICBsaWIv
YXBhY2hlL2xpYnByb3h5LmRsbAotI0xvYWRNb2R1bGUgY2Vybl9tZXRhX21vZHVsZSAgIGxpYi9h
cGFjaGUvbW9kX2Nlcm5fbWV0YS5kbGwKLSNMb2FkTW9kdWxlIGV4cGlyZXNfbW9kdWxlICAgICBs
aWIvYXBhY2hlL21vZF9leHBpcmVzLmRsbAogTG9hZE1vZHVsZSBoZWFkZXJzX21vZHVsZSAgICAg
bGliL2FwYWNoZS9tb2RfaGVhZGVycy5kbGwKLSNMb2FkTW9kdWxlIHVzZXJ0cmFja19tb2R1bGUg
ICBsaWIvYXBhY2hlL21vZF91c2VydHJhY2suZGxsCi0jTG9hZE1vZHVsZSBleGFtcGxlX21vZHVs
ZSAgICAgbGliL2FwYWNoZS9tb2RfZXhhbXBsZS5kbGwKLSNMb2FkTW9kdWxlIGxvZ19mb3JlbnNp
Y19tb2R1bGUgbGliL2FwYWNoZS9tb2RfbG9nX2ZvcmVuc2ljLmRsbAotI0xvYWRNb2R1bGUgdW5p
cXVlX2lkX21vZHVsZSAgIGxpYi9hcGFjaGUvbW9kX3VuaXF1ZV9pZC5kbGwKLSNMb2FkTW9kdWxl
IHNldGVudmlmX21vZHVsZSAgICBsaWIvYXBhY2hlL21vZF9zZXRlbnZpZi5kbGwKIExvYWRNb2R1
bGUgcGhwNF9tb2R1bGUgICAgICAgIGxpYi9hcGFjaGUvbGlicGhwNC5kbGwKLSNMb2FkTW9kdWxl
IGhmc19hcHBsZV9tb2R1bGUgICBsaWIvYXBhY2hlL21vZF9oZnNfYXBwbGUuc28KLSNMb2FkTW9k
dWxlIGJvbmpvdXJfbW9kdWxlICAgICBsaWIvYXBhY2hlL21vZF9ib25qb3VyLnNvCiAKICMgIFJl
Y29uc3RydWN0aW9uIG9mIHRoZSBjb21wbGV0ZSBtb2R1bGUgbGlzdCBmcm9tIGFsbCBhdmFpbGFi
bGUgbW9kdWxlcwogIyAgKHN0YXRpYyBhbmQgc2hhcmVkIG9uZXMpIHRvIGFjaGlldmUgY29ycmVj
dCBtb2R1bGUgZXhlY3V0aW9uIG9yZGVyLgogIyAgW1dIRU5FVkVSIFlPVSBDSEFOR0UgVEhFIExP
QURNT0RVTEUgU0VDVElPTiBBQk9WRSBVUERBVEUgVEhJUywgVE9PXQogQ2xlYXJNb2R1bGVMaXN0
Ci0jQWRkTW9kdWxlIG1vZF92aG9zdF9hbGlhcy5jCi0jQWRkTW9kdWxlIG1vZF9lbnYuYwogQWRk
TW9kdWxlIG1vZF9sb2dfY29uZmlnLmMKLSNBZGRNb2R1bGUgbW9kX21pbWVfbWFnaWMuYwogQWRk
TW9kdWxlIG1vZF9taW1lLmMKIEFkZE1vZHVsZSBtb2RfbmVnb3RpYXRpb24uYwotI0FkZE1vZHVs
ZSBtb2Rfc3RhdHVzLmMKLSNBZGRNb2R1bGUgbW9kX2luZm8uYwogQWRkTW9kdWxlIG1vZF9pbmNs
dWRlLmMKLSNBZGRNb2R1bGUgbW9kX2F1dG9pbmRleC5jCi0jQWRkTW9kdWxlIG1vZF9kaXIuYwog
QWRkTW9kdWxlIG1vZF9jZ2kuYwogQWRkTW9kdWxlIG1vZF9hc2lzLmMKIEFkZE1vZHVsZSBtb2Rf
aW1hcC5jCiBBZGRNb2R1bGUgbW9kX2FjdGlvbnMuYwotI0FkZE1vZHVsZSBtb2Rfc3BlbGluZy5j
Ci0jQWRkTW9kdWxlIG1vZF91c2VyZGlyLmMKIEFkZE1vZHVsZSBtb2RfYWxpYXMuYwogQWRkTW9k
dWxlIG1vZF9yZXdyaXRlLmMKIEFkZE1vZHVsZSBtb2RfYWNjZXNzLmMKIEFkZE1vZHVsZSBtb2Rf
YXV0aC5jCi0jQWRkTW9kdWxlIG1vZF9hdXRoX2Fub24uYwotI0FkZE1vZHVsZSBtb2RfYXV0aF9k
Ym0uYwotI0FkZE1vZHVsZSBtb2RfZGlnZXN0LmMKLSNBZGRNb2R1bGUgbW9kX3Byb3h5LmMKLSNB
ZGRNb2R1bGUgbW9kX2Nlcm5fbWV0YS5jCi0jQWRkTW9kdWxlIG1vZF9leHBpcmVzLmMKIEFkZE1v
ZHVsZSBtb2RfaGVhZGVycy5jCi0jQWRkTW9kdWxlIG1vZF91c2VydHJhY2suYwotI0FkZE1vZHVs
ZSBtb2RfbG9nX2ZvcmVuc2ljLmMKLSNBZGRNb2R1bGUgbW9kX3VuaXF1ZV9pZC5jCiBBZGRNb2R1
bGUgbW9kX3NvLmMKLSNBZGRNb2R1bGUgbW9kX3NldGVudmlmLmMKLSNBZGRNb2R1bGUgbW9kX2Rh
di5jCi0jQWRkTW9kdWxlIG1vZF9zc2wuYwotI0FkZE1vZHVsZSBtb2RfcGVybC5jCiBBZGRNb2R1
bGUgbW9kX3BocDQuYwotI0FkZE1vZHVsZSBtb2RfaGZzX2FwcGxlLmMKLSNBZGRNb2R1bGUgbW9k
X2JvbmpvdXIuYwotCi0jIyMgU2VjdGlvbiAyOiAnTWFpbicgc2VydmVyIGNvbmZpZ3VyYXRpb24K
LSMKLSMgVGhlIGRpcmVjdGl2ZXMgaW4gdGhpcyBzZWN0aW9uIHNldCB1cCB0aGUgdmFsdWVzIHVz
ZWQgYnkgdGhlICdtYWluJwotIyBzZXJ2ZXIsIHdoaWNoIHJlc3BvbmRzIHRvIGFueSByZXF1ZXN0
cyB0aGF0IGFyZW4ndCBoYW5kbGVkIGJ5IGEKLSMgPFZpcnR1YWxIb3N0PiBkZWZpbml0aW9uLiAg
VGhlc2UgdmFsdWVzIGFsc28gcHJvdmlkZSBkZWZhdWx0cyBmb3IKLSMgYW55IDxWaXJ0dWFsSG9z
dD4gY29udGFpbmVycyB5b3UgbWF5IGRlZmluZSBsYXRlciBpbiB0aGUgZmlsZS4KLSMKLSMgQWxs
IG9mIHRoZXNlIGRpcmVjdGl2ZXMgbWF5IGFwcGVhciBpbnNpZGUgPFZpcnR1YWxIb3N0PiBjb250
YWluZXJzLAotIyBpbiB3aGljaCBjYXNlIHRoZXNlIGRlZmF1bHQgc2V0dGluZ3Mgd2lsbCBiZSBv
dmVycmlkZGVuIGZvciB0aGUKLSMgdmlydHVhbCBob3N0IGJlaW5nIGRlZmluZWQuCi0jCiAKLSMK
LSMgU2VydmVyTmFtZSBhbGxvd3MgeW91IHRvIHNldCBhIGhvc3QgbmFtZSB3aGljaCBpcyBzZW50
IGJhY2sgdG8gY2xpZW50cyBmb3IKLSMgeW91ciBzZXJ2ZXIgaWYgaXQncyBkaWZmZXJlbnQgdGhh
biB0aGUgb25lIHRoZSBwcm9ncmFtIHdvdWxkIGdldCAoaS5lLiwgdXNlCi0jICJ3d3ciIGluc3Rl
YWQgb2YgdGhlIGhvc3QncyByZWFsIG5hbWUpLgotIwotIyBOb3RlOiBZb3UgY2Fubm90IGp1c3Qg
aW52ZW50IGhvc3QgbmFtZXMgYW5kIGhvcGUgdGhleSB3b3JrLiBUaGUgbmFtZSB5b3UgCi0jIGRl
ZmluZSBoZXJlIG11c3QgYmUgYSB2YWxpZCBETlMgbmFtZSBmb3IgeW91ciBob3N0LiBJZiB5b3Ug
ZG9uJ3QgdW5kZXJzdGFuZAotIyB0aGlzLCBhc2sgeW91ciBuZXR3b3JrIGFkbWluaXN0cmF0b3Iu
Ci0jIElmIHlvdXIgaG9zdCBkb2Vzbid0IGhhdmUgYSByZWdpc3RlcmVkIEROUyBuYW1lLCBlbnRl
ciBpdHMgSVAgYWRkcmVzcyBoZXJlLgotIyBZb3Ugd2lsbCBoYXZlIHRvIGFjY2VzcyBpdCBieSBp
dHMgYWRkcmVzcyAoZS5nLiwgaHR0cDovLzEyMy40NS42Ny44OS8pCi0jIGFueXdheSwgYW5kIHRo
aXMgd2lsbCBtYWtlIHJlZGlyZWN0aW9ucyB3b3JrIGluIGEgc2Vuc2libGUgd2F5LgotIwotIyAx
MjcuMC4wLjEgaXMgdGhlIFRDUC9JUCBsb2NhbCBsb29wLWJhY2sgYWRkcmVzcywgb2Z0ZW4gbmFt
ZWQgbG9jYWxob3N0LiBZb3VyIAotIyBtYWNoaW5lIGFsd2F5cyBrbm93cyBpdHNlbGYgYnkgdGhp
cyBhZGRyZXNzLiBJZiB5b3UgdXNlIEFwYWNoZSBzdHJpY3RseSBmb3IgCi0jIGxvY2FsIHRlc3Rp
bmcgYW5kIGRldmVsb3BtZW50LCB5b3UgbWF5IHVzZSAxMjcuMC4wLjEgYXMgdGhlIHNlcnZlciBu
YW1lLgotIwogU2VydmVyTmFtZSAxMjcuMC4wLjEKIAotIwotIyBEb2N1bWVudFJvb3Q6IFRoZSBk
aXJlY3Rvcnkgb3V0IG9mIHdoaWNoIHlvdSB3aWxsIHNlcnZlIHlvdXIKLSMgZG9jdW1lbnRzLiBC
eSBkZWZhdWx0LCBhbGwgcmVxdWVzdHMgYXJlIHRha2VuIGZyb20gdGhpcyBkaXJlY3RvcnksIGJ1
dAotIyBzeW1ib2xpYyBsaW5rcyBhbmQgYWxpYXNlcyBtYXkgYmUgdXNlZCB0byBwb2ludCB0byBv
dGhlciBsb2NhdGlvbnMuCi0jCi0jIENvbmZpZ3VyZWQgZnJvbSB0aGUgaHR0cGQgY29tbWFuZCBs
aW5lIGZvciBXZWJLaXQgbGF5b3V0IHRlc3RzLgotI0RvY3VtZW50Um9vdCAiL3Zhci93d3cvaHRk
b2NzIgotCi0jCi0jIEVhY2ggZGlyZWN0b3J5IHRvIHdoaWNoIEFwYWNoZSBoYXMgYWNjZXNzLCBj
YW4gYmUgY29uZmlndXJlZCB3aXRoIHJlc3BlY3QKLSMgdG8gd2hpY2ggc2VydmljZXMgYW5kIGZl
YXR1cmVzIGFyZSBhbGxvd2VkIGFuZC9vciBkaXNhYmxlZCBpbiB0aGF0Ci0jIGRpcmVjdG9yeSAo
YW5kIGl0cyBzdWJkaXJlY3RvcmllcykuIAotIwogPERpcmVjdG9yeSAvPgotIwotIyBUaGlzIG1h
eSBhbHNvIGJlICJOb25lIiwgIkFsbCIsIG9yIGFueSBjb21iaW5hdGlvbiBvZiAiSW5kZXhlcyIs
Ci0jICJJbmNsdWRlcyIsICJGb2xsb3dTeW1MaW5rcyIsICJFeGVjQ0dJIiwgb3IgIk11bHRpVmll
d3MiLgotIwotIyBOb3RlIHRoYXQgIk11bHRpVmlld3MiIG11c3QgYmUgbmFtZWQgKmV4cGxpY2l0
bHkqIC0tLSAiT3B0aW9ucyBBbGwiCi0jIGRvZXNuJ3QgZ2l2ZSBpdCB0byB5b3UuCi0jCiAgICAg
T3B0aW9ucyBJbmRleGVzIEZvbGxvd1N5bUxpbmtzIE11bHRpVmlld3MgRXhlY0NHSSBJbmNsdWRl
cwotCi0jCi0jIFRoaXMgY29udHJvbHMgd2hpY2ggb3B0aW9ucyB0aGUgLmh0YWNjZXNzIGZpbGVz
IGluIGRpcmVjdG9yaWVzIGNhbgotIyBvdmVycmlkZS4gQ2FuIGFsc28gYmUgIkFsbCIsIG9yIGFu
eSBjb21iaW5hdGlvbiBvZiAiT3B0aW9ucyIsICJGaWxlSW5mbyIsIAotIyAiQXV0aENvbmZpZyIs
IGFuZCAiTGltaXQiCi0jCiAgICAgQWxsb3dPdmVycmlkZSBBbGwKLQotIwotIyBDb250cm9scyB3
aG8gY2FuIGdldCBzdHVmZiBmcm9tIHRoaXMgc2VydmVyLgotIwogICAgIE9yZGVyIGFsbG93LGRl
bnkKICAgICBBbGxvdyBmcm9tIGFsbAogPC9EaXJlY3Rvcnk+CiAKLSMKLSMgQWNjZXNzRmlsZU5h
bWU6IFRoZSBuYW1lIG9mIHRoZSBmaWxlIHRvIGxvb2sgZm9yIGluIGVhY2ggZGlyZWN0b3J5Ci0j
IGZvciBhY2Nlc3MgY29udHJvbCBpbmZvcm1hdGlvbi4KLSMKIEFjY2Vzc0ZpbGVOYW1lIC5odGFj
Y2VzcwogCi0jCi0jIFRoZSBmb2xsb3dpbmcgbGluZXMgcHJldmVudCAuaHRhY2Nlc3MgZmlsZXMg
ZnJvbSBiZWluZyB2aWV3ZWQgYnkKLSMgV2ViIGNsaWVudHMuICBTaW5jZSAuaHRhY2Nlc3MgZmls
ZXMgb2Z0ZW4gY29udGFpbiBhdXRob3JpemF0aW9uCi0jIGluZm9ybWF0aW9uLCBhY2Nlc3MgaXMg
ZGlzYWxsb3dlZCBmb3Igc2VjdXJpdHkgcmVhc29ucy4gIENvbW1lbnQKLSMgdGhlc2UgbGluZXMg
b3V0IGlmIHlvdSB3YW50IFdlYiB2aXNpdG9ycyB0byBzZWUgdGhlIGNvbnRlbnRzIG9mCi0jIC5o
dGFjY2VzcyBmaWxlcy4gIElmIHlvdSBjaGFuZ2UgdGhlIEFjY2Vzc0ZpbGVOYW1lIGRpcmVjdGl2
ZSBhYm92ZSwKLSMgYmUgc3VyZSB0byBtYWtlIHRoZSBjb3JyZXNwb25kaW5nIGNoYW5nZXMgaGVy
ZS4KLSMKLSMgQWxzbywgZm9sa3MgdGVuZCB0byB1c2UgbmFtZXMgc3VjaCBhcyAuaHRwYXNzd2Qg
Zm9yIHBhc3N3b3JkCi0jIGZpbGVzLCBzbyB0aGlzIHdpbGwgcHJvdGVjdCB0aG9zZSBhcyB3ZWxs
LgotIwogPEZpbGVzIH4gIl5cLihbSGhdW1R0XXxbRGRdW1NzXV9bU3NdKSI+CiAgICAgT3JkZXIg
YWxsb3csZGVueQogICAgIERlbnkgZnJvbSBhbGwKICAgICBTYXRpc2Z5IEFsbAogPC9GaWxlcz4K
IAotIwotIyBBcHBsZSBzcGVjaWZpYyBmaWxlc3lzdGVtIHByb3RlY3Rpb24uCi0jIAotCi08Rmls
ZXMgInJzcmMiPgotICAgIE9yZGVyIGFsbG93LGRlbnkKLSAgICBEZW55IGZyb20gYWxsCi0gICAg
U2F0aXNmeSBBbGwKLTwvRmlsZXM+Ci0KLTxEaXJlY3RvcnkgIH4gIi4qXC5cLm5hbWVkZm9yayI+
Ci0gICAgT3JkZXIgYWxsb3csZGVueQotICAgIERlbnkgZnJvbSBhbGwKLSAgICBTYXRpc2Z5IEFs
bAotPC9EaXJlY3Rvcnk+Ci0KLSMKLSMgQ2FjaGVOZWdvdGlhdGVkRG9jczogQnkgZGVmYXVsdCwg
QXBhY2hlIHNlbmRzICJQcmFnbWE6IG5vLWNhY2hlIiB3aXRoIGVhY2gKLSMgZG9jdW1lbnQgdGhh
dCB3YXMgbmVnb3RpYXRlZCBvbiB0aGUgYmFzaXMgb2YgY29udGVudC4gVGhpcyBhc2tzIHByb3h5
Ci0jIHNlcnZlcnMgbm90IHRvIGNhY2hlIHRoZSBkb2N1bWVudC4gVW5jb21tZW50aW5nIHRoZSBm
b2xsb3dpbmcgbGluZSBkaXNhYmxlcwotIyB0aGlzIGJlaGF2aW9yLCBhbmQgcHJveGllcyB3aWxs
IGJlIGFsbG93ZWQgdG8gY2FjaGUgdGhlIGRvY3VtZW50cy4KLSMKLSNDYWNoZU5lZ290aWF0ZWRE
b2NzCi0KLSMKLSMgVXNlQ2Fub25pY2FsTmFtZTogIChuZXcgZm9yIDEuMykgIFdpdGggdGhpcyBz
ZXR0aW5nIHR1cm5lZCBvbiwgd2hlbmV2ZXIKLSMgQXBhY2hlIG5lZWRzIHRvIGNvbnN0cnVjdCBh
IHNlbGYtcmVmZXJlbmNpbmcgVVJMIChhIFVSTCB0aGF0IHJlZmVycyBiYWNrCi0jIHRvIHRoZSBz
ZXJ2ZXIgdGhlIHJlc3BvbnNlIGlzIGNvbWluZyBmcm9tKSBpdCB3aWxsIHVzZSBTZXJ2ZXJOYW1l
IGFuZAotIyBQb3J0IHRvIGZvcm0gYSAiY2Fub25pY2FsIiBuYW1lLiAgV2l0aCB0aGlzIHNldHRp
bmcgb2ZmLCBBcGFjaGUgd2lsbAotIyB1c2UgdGhlIGhvc3RuYW1lOnBvcnQgdGhhdCB0aGUgY2xp
ZW50IHN1cHBsaWVkLCB3aGVuIHBvc3NpYmxlLiAgVGhpcwotIyBhbHNvIGFmZmVjdHMgU0VSVkVS
X05BTUUgYW5kIFNFUlZFUl9QT1JUIGluIENHSSBzY3JpcHRzLgotIwogVXNlQ2Fub25pY2FsTmFt
ZSBPbgotCi0jCi0jIFR5cGVzQ29uZmlnIGRlc2NyaWJlcyB3aGVyZSB0aGUgbWltZS50eXBlcyBm
aWxlIChvciBlcXVpdmFsZW50KSBpcwotIyB0byBiZSBmb3VuZC4KLSMKLSMgQ29uZmlndXJlZCBm
cm9tIHRoZSBodHRwZCBjb21tYW5kIGxpbmUgZm9yIFdlYktpdCBsYXlvdXQgdGVzdHMuCi0jCi0j
PElmTW9kdWxlIG1vZF9taW1lLmM+Ci0jICAgIFR5cGVzQ29uZmlnIC9ldGMvYXBhY2hlL21pbWUu
dHlwZXMKLSM8L0lmTW9kdWxlPgotCi0jCi0jIERlZmF1bHRUeXBlIGlzIHRoZSBkZWZhdWx0IE1J
TUUgdHlwZSB0aGUgc2VydmVyIHdpbGwgdXNlIGZvciBhIGRvY3VtZW50Ci0jIGlmIGl0IGNhbm5v
dCBvdGhlcndpc2UgZGV0ZXJtaW5lIG9uZSwgc3VjaCBhcyBmcm9tIGZpbGVuYW1lIGV4dGVuc2lv
bnMuCi0jIElmIHlvdXIgc2VydmVyIGNvbnRhaW5zIG1vc3RseSB0ZXh0IG9yIEhUTUwgZG9jdW1l
bnRzLCAidGV4dC9wbGFpbiIgaXMKLSMgYSBnb29kIHZhbHVlLiAgSWYgbW9zdCBvZiB5b3VyIGNv
bnRlbnQgaXMgYmluYXJ5LCBzdWNoIGFzIGFwcGxpY2F0aW9ucwotIyBvciBpbWFnZXMsIHlvdSBt
YXkgd2FudCB0byB1c2UgImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIgaW5zdGVhZCB0bwotIyBr
ZWVwIGJyb3dzZXJzIGZyb20gdHJ5aW5nIHRvIGRpc3BsYXkgYmluYXJ5IGZpbGVzIGFzIHRob3Vn
aCB0aGV5IGFyZQotIyB0ZXh0LgotIwogRGVmYXVsdFR5cGUgdGV4dC9wbGFpbgotCi0jCi0jIEhv
c3RuYW1lTG9va3VwczogTG9nIHRoZSBuYW1lcyBvZiBjbGllbnRzIG9yIGp1c3QgdGhlaXIgSVAg
YWRkcmVzc2VzCi0jIGUuZy4sIHd3dy5hcGFjaGUub3JnIChvbikgb3IgMjA0LjYyLjEyOS4xMzIg
KG9mZikuCi0jIFRoZSBkZWZhdWx0IGlzIG9mZiBiZWNhdXNlIGl0J2QgYmUgb3ZlcmFsbCBiZXR0
ZXIgZm9yIHRoZSBuZXQgaWYgcGVvcGxlCi0jIGhhZCB0byBrbm93aW5nbHkgdHVybiB0aGlzIGZl
YXR1cmUgb24sIHNpbmNlIGVuYWJsaW5nIGl0IG1lYW5zIHRoYXQKLSMgZWFjaCBjbGllbnQgcmVx
dWVzdCB3aWxsIHJlc3VsdCBpbiBBVCBMRUFTVCBvbmUgbG9va3VwIHJlcXVlc3QgdG8gdGhlCi0j
IG5hbWVzZXJ2ZXIuCi0jCiBIb3N0bmFtZUxvb2t1cHMgT2ZmCiAKLSMKLSMgRXJyb3JMb2c6IFRo
ZSBsb2NhdGlvbiBvZiB0aGUgZXJyb3IgbG9nIGZpbGUuCi0jIElmIHlvdSBkbyBub3Qgc3BlY2lm
eSBhbiBFcnJvckxvZyBkaXJlY3RpdmUgd2l0aGluIGEgPFZpcnR1YWxIb3N0PgotIyBjb250YWlu
ZXIsIGVycm9yIG1lc3NhZ2VzIHJlbGF0aW5nIHRvIHRoYXQgdmlydHVhbCBob3N0IHdpbGwgYmUK
LSMgbG9nZ2VkIGhlcmUuICBJZiB5b3UgKmRvKiBkZWZpbmUgYW4gZXJyb3IgbG9nZmlsZSBmb3Ig
YSA8VmlydHVhbEhvc3Q+Ci0jIGNvbnRhaW5lciwgdGhhdCBob3N0J3MgZXJyb3JzIHdpbGwgYmUg
bG9nZ2VkIHRoZXJlIGFuZCBub3QgaGVyZS4KLSMKLSMgQ29uZmlndXJlZCBmcm9tIHRoZSBodHRw
ZCBjb21tYW5kIGxpbmUgZm9yIFdlYktpdCBsYXlvdXQgdGVzdHMuCi0jRXJyb3JMb2cgIi90bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9lcnJvcl9sb2ciCi0KLSMKLSMgTG9nTGV2ZWw6IENvbnRyb2wg
dGhlIG51bWJlciBvZiBtZXNzYWdlcyBsb2dnZWQgdG8gdGhlIGVycm9yX2xvZy4KLSMgUG9zc2li
bGUgdmFsdWVzIGluY2x1ZGU6IGRlYnVnLCBpbmZvLCBub3RpY2UsIHdhcm4sIGVycm9yLCBjcml0
LAotIyBhbGVydCwgZW1lcmcuCi0jCiBMb2dMZXZlbCB3YXJuCi0KLSMKLSMgVGhlIGZvbGxvd2lu
ZyBkaXJlY3RpdmVzIGRlZmluZSBzb21lIGZvcm1hdCBuaWNrbmFtZXMgZm9yIHVzZSB3aXRoCi0j
IGEgQ3VzdG9tTG9nIGRpcmVjdGl2ZSAoc2VlIGJlbG93KS4KLSMKIExvZ0Zvcm1hdCAiJWggJWwg
JXUgJXQgXCIlclwiICU+cyAlYiBcIiV7UmVmZXJlcn1pXCIgXCIle1VzZXItQWdlbnR9aVwiIiBj
b21iaW5lZAogTG9nRm9ybWF0ICIlaCAlbCAldSAldCBcIiVyXCIgJT5zICViIiBjb21tb24KIExv
Z0Zvcm1hdCAiJXtSZWZlcmVyfWkgLT4gJVUiIHJlZmVyZXIKIExvZ0Zvcm1hdCAiJXtVc2VyLWFn
ZW50fWkiIGFnZW50CiAKLSMKLSMgVGhlIGxvY2F0aW9uIGFuZCBmb3JtYXQgb2YgdGhlIGFjY2Vz
cyBsb2dmaWxlIChDb21tb24gTG9nZmlsZSBGb3JtYXQpLgotIyBJZiB5b3UgZG8gbm90IGRlZmlu
ZSBhbnkgYWNjZXNzIGxvZ2ZpbGVzIHdpdGhpbiBhIDxWaXJ0dWFsSG9zdD4KLSMgY29udGFpbmVy
LCB0aGV5IHdpbGwgYmUgbG9nZ2VkIGhlcmUuICBDb250cmFyaXdpc2UsIGlmIHlvdSAqZG8qCi0j
IGRlZmluZSBwZXItPFZpcnR1YWxIb3N0PiBhY2Nlc3MgbG9nZmlsZXMsIHRyYW5zYWN0aW9ucyB3
aWxsIGJlCi0jIGxvZ2dlZCB0aGVyZWluIGFuZCAqbm90KiBpbiB0aGlzIGZpbGUuCi0jCi0jIENv
bmZpZ3VyZWQgZnJvbSB0aGUgaHR0cGQgY29tbWFuZCBsaW5lIGZvciBXZWJLaXQgbGF5b3V0IHRl
c3RzLgotI0N1c3RvbUxvZyAiL3RtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2FjY2Vzc19sb2ciIGNv
bW1vbgotCi0jCi0jIElmIHlvdSBwcmVmZXIgYSBzaW5nbGUgbG9nZmlsZSB3aXRoIGFjY2Vzcywg
YWdlbnQsIGFuZCByZWZlcmVyIGluZm9ybWF0aW9uCi0jIChDb21iaW5lZCBMb2dmaWxlIEZvcm1h
dCkgeW91IGNhbiB1c2UgdGhlIGZvbGxvd2luZyBkaXJlY3RpdmUuCi0jCi0jQ3VzdG9tTG9nICIv
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvYWNjZXNzX2xvZyIgY29tYmluZWQKLQotIwotIyBPcHRp
b25hbGx5IGFkZCBhIGxpbmUgY29udGFpbmluZyB0aGUgc2VydmVyIHZlcnNpb24gYW5kIHZpcnR1
YWwgaG9zdAotIyBuYW1lIHRvIHNlcnZlci1nZW5lcmF0ZWQgcGFnZXMgKGVycm9yIGRvY3VtZW50
cywgRlRQIGRpcmVjdG9yeSBsaXN0aW5ncywKLSMgbW9kX3N0YXR1cyBhbmQgbW9kX2luZm8gb3V0
cHV0IGV0Yy4sIGJ1dCBub3QgQ0dJIGdlbmVyYXRlZCBkb2N1bWVudHMpLgotIyBTZXQgdG8gIkVN
YWlsIiB0byBhbHNvIGluY2x1ZGUgYSBtYWlsdG86IGxpbmsgdG8gdGhlIFNlcnZlckFkbWluLgot
IyBTZXQgdG8gb25lIG9mOiAgT24gfCBPZmYgfCBFTWFpbAotIwogU2VydmVyU2lnbmF0dXJlIE9u
CiAKLSMKLSMgQWxpYXNlczogQWRkIGhlcmUgYXMgbWFueSBhbGlhc2VzIGFzIHlvdSBuZWVkICh3
aXRoIG5vIGxpbWl0KS4gVGhlIGZvcm1hdCBpcyAKLSMgQWxpYXMgZmFrZW5hbWUgcmVhbG5hbWUK
LSMKIDxJZk1vZHVsZSBtb2RfYWxpYXMuYz4KIDwvSWZNb2R1bGU+Ci0jIEVuZCBvZiBhbGlhc2Vz
LgotCi0jCi0jIFJlZGlyZWN0IGFsbG93cyB5b3UgdG8gdGVsbCBjbGllbnRzIGFib3V0IGRvY3Vt
ZW50cyB3aGljaCB1c2VkIHRvIGV4aXN0IGluCi0jIHlvdXIgc2VydmVyJ3MgbmFtZXNwYWNlLCBi
dXQgZG8gbm90IGFueW1vcmUuIFRoaXMgYWxsb3dzIHlvdSB0byB0ZWxsIHRoZQotIyBjbGllbnRz
IHdoZXJlIHRvIGxvb2sgZm9yIHRoZSByZWxvY2F0ZWQgZG9jdW1lbnQuCi0jIEZvcm1hdDogUmVk
aXJlY3Qgb2xkLVVSSSBuZXctVVJMCi0jCiAKLSMKLSMgRG9jdW1lbnQgdHlwZXMuCi0jCiA8SWZN
b2R1bGUgbW9kX21pbWUuYz4KLQotICAgICMKLSAgICAjIEFkZExhbmd1YWdlIGFsbG93cyB5b3Ug
dG8gc3BlY2lmeSB0aGUgbGFuZ3VhZ2Ugb2YgYSBkb2N1bWVudC4gWW91IGNhbgotICAgICMgdGhl
biB1c2UgY29udGVudCBuZWdvdGlhdGlvbiB0byBnaXZlIGEgYnJvd3NlciBhIGZpbGUgaW4gYSBs
YW5ndWFnZQotICAgICMgaXQgY2FuIHVuZGVyc3RhbmQuICAKLSAgICAjCi0gICAgIyBOb3RlIDE6
IFRoZSBzdWZmaXggZG9lcyBub3QgaGF2ZSB0byBiZSB0aGUgc2FtZSBhcyB0aGUgbGFuZ3VhZ2Ug
Ci0gICAgIyBrZXl3b3JkIC0tLSB0aG9zZSB3aXRoIGRvY3VtZW50cyBpbiBQb2xpc2ggKHdob3Nl
IG5ldC1zdGFuZGFyZCAKLSAgICAjIGxhbmd1YWdlIGNvZGUgaXMgcGwpIG1heSB3aXNoIHRvIHVz
ZSAiQWRkTGFuZ3VhZ2UgcGwgLnBvIiB0byAKLSAgICAjIGF2b2lkIHRoZSBhbWJpZ3VpdHkgd2l0
aCB0aGUgY29tbW9uIHN1ZmZpeCBmb3IgcGVybCBzY3JpcHRzLgotICAgICMKLSAgICAjIE5vdGUg
MjogVGhlIGV4YW1wbGUgZW50cmllcyBiZWxvdyBpbGx1c3RyYXRlIHRoYXQgaW4gcXVpdGUKLSAg
ICAjIHNvbWUgY2FzZXMgdGhlIHR3byBjaGFyYWN0ZXIgJ0xhbmd1YWdlJyBhYmJyZXZpYXRpb24g
aXMgbm90Ci0gICAgIyBpZGVudGljYWwgdG8gdGhlIHR3byBjaGFyYWN0ZXIgJ0NvdW50cnknIGNv
ZGUgZm9yIGl0cyBjb3VudHJ5LAotICAgICMgRS5nLiAnRGFubWFyay9kaycgdmVyc3VzICdEYW5p
c2gvZGEnLgotICAgICMKLSAgICAjIE5vdGUgMzogSW4gdGhlIGNhc2Ugb2YgJ2x0eicgd2Ugdmlv
bGF0ZSB0aGUgUkZDIGJ5IHVzaW5nIGEgdGhyZWUgY2hhciAKLSAgICAjIHNwZWNpZmllci4gQnV0
IHRoZXJlIGlzICd3b3JrIGluIHByb2dyZXNzJyB0byBmaXggdGhpcyBhbmQgZ2V0IAotICAgICMg
dGhlIHJlZmVyZW5jZSBkYXRhIGZvciByZmMxNzY2IGNsZWFuZWQgdXAuCi0gICAgIwotICAgICMg
RGFuaXNoIChkYSkgLSBEdXRjaCAobmwpIC0gRW5nbGlzaCAoZW4pIC0gRXN0b25pYW4gKGVlKQot
ICAgICMgRnJlbmNoIChmcikgLSBHZXJtYW4gKGRlKSAtIEdyZWVrLU1vZGVybiAoZWwpCi0gICAg
IyBJdGFsaWFuIChpdCkgLSBLb3JlYW4gKGtyKSAtIE5vcndlZ2lhbiAobm8pIC0gTm9yd2VnaWFu
IE55bm9yc2sgKG5uKQotICAgICMgUG9ydHVnZXNlIChwdCkgLSBMdXhlbWJvdXJnZW9pcyogKGx0
eikKLSAgICAjIFNwYW5pc2ggKGVzKSAtIFN3ZWRpc2ggKHN2KSAtIENhdGFsYW4gKGNhKSAtIEN6
ZWNoKGNzKQotICAgICMgUG9saXNoIChwbCkgLSBCcmF6aWxpYW4gUG9ydHVndWVzZSAocHQtYnIp
IC0gSmFwYW5lc2UgKGphKQotICAgICMgUnVzc2lhbiAocnUpCi0gICAgIwogICAgIEFkZExhbmd1
YWdlIGRhIC5kawogICAgIEFkZExhbmd1YWdlIG5sIC5ubAogICAgIEFkZExhbmd1YWdlIGVuIC5l
bgpAQCAtNTcxLDE1OCArMTMwLDI4IEBAIFNlcnZlclNpZ25hdHVyZSBPbgogICAgIEFkZENoYXJz
ZXQgVUNTLTQgICAgICAgIC51Y3M0CiAgICAgQWRkQ2hhcnNldCBVVEYtOCAgICAgICAgLnV0ZjgK
IAotICAgICMgTGFuZ3VhZ2VQcmlvcml0eSBhbGxvd3MgeW91IHRvIGdpdmUgcHJlY2VkZW5jZSB0
byBzb21lIGxhbmd1YWdlcwotICAgICMgaW4gY2FzZSBvZiBhIHRpZSBkdXJpbmcgY29udGVudCBu
ZWdvdGlhdGlvbi4KLSAgICAjCi0gICAgIyBKdXN0IGxpc3QgdGhlIGxhbmd1YWdlcyBpbiBkZWNy
ZWFzaW5nIG9yZGVyIG9mIHByZWZlcmVuY2UuIFdlIGhhdmUKLSAgICAjIG1vcmUgb3IgbGVzcyBh
bHBoYWJldGl6ZWQgdGhlbSBoZXJlLiBZb3UgcHJvYmFibHkgd2FudCB0byBjaGFuZ2UgdGhpcy4K
LSAgICAjCiAgICAgPElmTW9kdWxlIG1vZF9uZWdvdGlhdGlvbi5jPgogICAgICAgICBMYW5ndWFn
ZVByaW9yaXR5IGVuIGRhIG5sIGV0IGZyIGRlIGVsIGl0IGphIGtyIG5vIHBsIHB0IHB0LWJyIHJ1
IGx0eiBjYSBlcyBzdiB0dwogICAgIDwvSWZNb2R1bGU+CiAKLSAgICAjCi0gICAgIyBBZGRUeXBl
IGFsbG93cyB5b3UgdG8gdHdlYWsgbWltZS50eXBlcyB3aXRob3V0IGFjdHVhbGx5IGVkaXRpbmcg
aXQsIG9yIHRvCi0gICAgIyBtYWtlIGNlcnRhaW4gZmlsZXMgdG8gYmUgY2VydGFpbiB0eXBlcy4K
LSAgICAjCiAgICAgQWRkVHlwZSBhcHBsaWNhdGlvbi94LXRhciAudGd6CiAKLSAgICAjCi0gICAg
IyBBZGRFbmNvZGluZyBhbGxvd3MgeW91IHRvIGhhdmUgY2VydGFpbiBicm93c2VycyB1bmNvbXBy
ZXNzCi0gICAgIyBpbmZvcm1hdGlvbiBvbiB0aGUgZmx5LiBOb3RlOiBOb3QgYWxsIGJyb3dzZXJz
IHN1cHBvcnQgdGhpcy4KLSAgICAjIERlc3BpdGUgdGhlIG5hbWUgc2ltaWxhcml0eSwgdGhlIGZv
bGxvd2luZyBBZGQqIGRpcmVjdGl2ZXMgaGF2ZSBub3RoaW5nCi0gICAgIyB0byBkbyB3aXRoIHRo
ZSBGYW5jeUluZGV4aW5nIGN1c3RvbWl6YXRpb24gZGlyZWN0aXZlcyBhYm92ZS4KLSAgICAjCiAg
ICAgQWRkRW5jb2RpbmcgeC1jb21wcmVzcyAuWgogICAgIEFkZEVuY29kaW5nIHgtZ3ppcCAuZ3og
LnRnegotICAgICMKLSAgICAjIElmIHRoZSBBZGRFbmNvZGluZyBkaXJlY3RpdmVzIGFib3ZlIGFy
ZSBjb21tZW50ZWQtb3V0LCB0aGVuIHlvdQotICAgICMgcHJvYmFibHkgc2hvdWxkIGRlZmluZSB0
aG9zZSBleHRlbnNpb25zIHRvIGluZGljYXRlIG1lZGlhIHR5cGVzOgotICAgICMKLSAgICAjQWRk
VHlwZSBhcHBsaWNhdGlvbi94LWNvbXByZXNzIC5aCi0gICAgI0FkZFR5cGUgYXBwbGljYXRpb24v
eC1nemlwIC5neiAudGd6Ci0KLSAgICAjCi0gICAgIyBBZGRIYW5kbGVyIGFsbG93cyB5b3UgdG8g
bWFwIGNlcnRhaW4gZmlsZSBleHRlbnNpb25zIHRvICJoYW5kbGVycyIsCi0gICAgIyBhY3Rpb25z
IHVucmVsYXRlZCB0byBmaWxldHlwZS4gVGhlc2UgY2FuIGJlIGVpdGhlciBidWlsdCBpbnRvIHRo
ZSBzZXJ2ZXIKLSAgICAjIG9yIGFkZGVkIHdpdGggdGhlIEFjdGlvbiBjb21tYW5kIChzZWUgYmVs
b3cpCi0gICAgIwotICAgICMgSWYgeW91IHdhbnQgdG8gdXNlIHNlcnZlciBzaWRlIGluY2x1ZGVz
LCBvciBDR0kgb3V0c2lkZQotICAgICMgU2NyaXB0QWxpYXNlZCBkaXJlY3RvcmllcywgdW5jb21t
ZW50IHRoZSBmb2xsb3dpbmcgbGluZXMuCi0gICAgIwotICAgICMgVG8gdXNlIENHSSBzY3JpcHRz
OgotICAgICMKKwogICAgIEFkZEhhbmRsZXIgY2dpLXNjcmlwdCAuY2dpIC5wbAogCi0gICAgIwot
ICAgICMgVG8gdXNlIHNlcnZlci1wYXJzZWQgSFRNTCBmaWxlcwotICAgICMKICAgICBBZGRUeXBl
IHRleHQvaHRtbCAuc2h0bWwKICAgICBBZGRIYW5kbGVyIHNlcnZlci1wYXJzZWQgLnNodG1sCiAK
LSAgICAjCi0gICAgIyBVbmNvbW1lbnQgdGhlIGZvbGxvd2luZyBsaW5lIHRvIGVuYWJsZSBBcGFj
aGUncyBzZW5kLWFzaXMgSFRUUCBmaWxlCi0gICAgIyBmZWF0dXJlCi0gICAgIwogICAgIEFkZEhh
bmRsZXIgc2VuZC1hcy1pcyBhc2lzCi0KLSAgICAjCi0gICAgIyBJZiB5b3Ugd2lzaCB0byB1c2Ug
c2VydmVyLXBhcnNlZCBpbWFnZW1hcCBmaWxlcywgdXNlCi0gICAgIwotICAgICNBZGRIYW5kbGVy
IGltYXAtZmlsZSBtYXAKLQotICAgICMKLSAgICAjIFRvIGVuYWJsZSB0eXBlIG1hcHMsIHlvdSBt
aWdodCB3YW50IHRvIHVzZQotICAgICMKLSAgICAjQWRkSGFuZGxlciB0eXBlLW1hcCB2YXIKLQog
PC9JZk1vZHVsZT4KLSMgRW5kIG9mIGRvY3VtZW50IHR5cGVzLgotCi0jCi0jIEFjdGlvbiBsZXRz
IHlvdSBkZWZpbmUgbWVkaWEgdHlwZXMgdGhhdCB3aWxsIGV4ZWN1dGUgYSBzY3JpcHQgd2hlbmV2
ZXIKLSMgYSBtYXRjaGluZyBmaWxlIGlzIGNhbGxlZC4gVGhpcyBlbGltaW5hdGVzIHRoZSBuZWVk
IGZvciByZXBlYXRlZCBVUkwKLSMgcGF0aG5hbWVzIGZvciBvZnQtdXNlZCBDR0kgZmlsZSBwcm9j
ZXNzb3JzLgotIyBGb3JtYXQ6IEFjdGlvbiBtZWRpYS90eXBlIC9jZ2ktc2NyaXB0L2xvY2F0aW9u
Ci0jIEZvcm1hdDogQWN0aW9uIGhhbmRsZXItbmFtZSAvY2dpLXNjcmlwdC9sb2NhdGlvbgotIwot
Ci0jCi0jIE1ldGFEaXI6IHNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5IGluIHdo
aWNoIEFwYWNoZSBjYW4gZmluZAotIyBtZXRhIGluZm9ybWF0aW9uIGZpbGVzLiBUaGVzZSBmaWxl
cyBjb250YWluIGFkZGl0aW9uYWwgSFRUUCBoZWFkZXJzCi0jIHRvIGluY2x1ZGUgd2hlbiBzZW5k
aW5nIHRoZSBkb2N1bWVudAotIwotI01ldGFEaXIgLndlYgotCi0jCi0jIE1ldGFTdWZmaXg6IHNw
ZWNpZmllcyB0aGUgZmlsZSBuYW1lIHN1ZmZpeCBmb3IgdGhlIGZpbGUgY29udGFpbmluZyB0aGUK
LSMgbWV0YSBpbmZvcm1hdGlvbi4KLSMKLSNNZXRhU3VmZml4IC5tZXRhCi0KLSMKLSMgQ3VzdG9t
aXphYmxlIGVycm9yIHJlc3BvbnNlIChBcGFjaGUgc3R5bGUpCi0jICB0aGVzZSBjb21lIGluIHRo
cmVlIGZsYXZvcnMKLSMKLSMgICAgMSkgcGxhaW4gdGV4dAotI0Vycm9yRG9jdW1lbnQgNTAwICJU
aGUgc2VydmVyIG1hZGUgYSBib28gYm9vLgotIyAgbi5iLiAgdGhlIHNpbmdsZSBsZWFkaW5nICgi
KSBtYXJrcyBpdCBhcyB0ZXh0LCBpdCBkb2VzIG5vdCBnZXQgb3V0cHV0Ci0jCi0jICAgIDIpIGxv
Y2FsIHJlZGlyZWN0cwotI0Vycm9yRG9jdW1lbnQgNDA0IC9taXNzaW5nLmh0bWwKLSMgIHRvIHJl
ZGlyZWN0IHRvIGxvY2FsIFVSTCAvbWlzc2luZy5odG1sCi0jRXJyb3JEb2N1bWVudCA0MDQgL2Nn
aS1iaW4vbWlzc2luZ19oYW5kbGVyLnBsCi0jICBOLkIuOiBZb3UgY2FuIHJlZGlyZWN0IHRvIGEg
c2NyaXB0IG9yIGEgZG9jdW1lbnQgdXNpbmcgc2VydmVyLXNpZGUtaW5jbHVkZXMuCi0jCi0jICAg
IDMpIGV4dGVybmFsIHJlZGlyZWN0cwotI0Vycm9yRG9jdW1lbnQgNDAyIGh0dHA6Ly9zb21lLm90
aGVyLXNlcnZlci5jb20vc3Vic2NyaXB0aW9uX2luZm8uaHRtbAotIyAgTi5CLjogTWFueSBvZiB0
aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgb3JpZ2luYWwKLSMg
IHJlcXVlc3Qgd2lsbCAqbm90KiBiZSBhdmFpbGFibGUgdG8gc3VjaCBhIHNjcmlwdC4KLQotIwot
IyBQcm94eSBTZXJ2ZXIgZGlyZWN0aXZlcy4gVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgbGluZXMg
dG8KLSMgZW5hYmxlIHRoZSBwcm94eSBzZXJ2ZXI6Ci0jCi0jPElmTW9kdWxlIG1vZF9wcm94eS5j
PgotIyAgICBQcm94eVJlcXVlc3RzIE9uCi0KLSMgICAgPERpcmVjdG9yeSBwcm94eToqPgotIyAg
ICAgICAgT3JkZXIgZGVueSxhbGxvdwotIyAgICAgICAgRGVueSBmcm9tIGFsbAotIyAgICAgICAg
QWxsb3cgZnJvbSAueW91ci1kb21haW4uY29tCi0jICAgIDwvRGlyZWN0b3J5PgotCi0gICAgIwot
ICAgICMgRW5hYmxlL2Rpc2FibGUgdGhlIGhhbmRsaW5nIG9mIEhUVFAvMS4xICJWaWE6IiBoZWFk
ZXJzLgotICAgICMgKCJGdWxsIiBhZGRzIHRoZSBzZXJ2ZXIgdmVyc2lvbjsgIkJsb2NrIiByZW1v
dmVzIGFsbCBvdXRnb2luZyBWaWE6IGhlYWRlcnMpCi0gICAgIyBTZXQgdG8gb25lIG9mOiBPZmYg
fCBPbiB8IEZ1bGwgfCBCbG9jawotICAgICMKLSMgICAgUHJveHlWaWEgT24KLQotICAgICMKLSAg
ICAjIFRvIGVuYWJsZSB0aGUgY2FjaGUgYXMgd2VsbCwgZWRpdCBhbmQgdW5jb21tZW50IHRoZSBm
b2xsb3dpbmcgbGluZXM6Ci0gICAgIyAobm8gY2FjaGVpbmcgd2l0aG91dCBDYWNoZVJvb3QpCi0g
ICAgIwotIyAgICBDYWNoZVJvb3QgIi9wcml2YXRlL3Zhci9ydW4vcHJveHkiCi0jICAgIENhY2hl
U2l6ZSA1Ci0jICAgIENhY2hlR2NJbnRlcnZhbCA0Ci0jICAgIENhY2hlTWF4RXhwaXJlIDI0Ci0j
ICAgIENhY2hlTGFzdE1vZGlmaWVkRmFjdG9yIDAuMQotIyAgICBDYWNoZURlZmF1bHRFeHBpcmUg
MQotIyAgICBOb0NhY2hlIGEtZG9tYWluLmNvbSBhbm90aGVyLWRvbWFpbi5lZHUgam9lcy5nYXJh
Z2Utc2FsZS5jb20KLQotIzwvSWZNb2R1bGU+Ci0jIEVuZCBvZiBwcm94eSBkaXJlY3RpdmVzLgot
CiAKIDxJZk1vZHVsZSBtb2RfcGhwNC5jPgotICAgICMgSWYgcGhwIGlzIHR1cm5lZCBvbiwgd2Ug
cmVwc2VjdCAucGhwIGFuZCAucGhwcyBmaWxlcy4KICAgICBBZGRUeXBlIGFwcGxpY2F0aW9uL3gt
aHR0cGQtcGhwIC5waHAKICAgICBBZGRUeXBlIGFwcGxpY2F0aW9uL3gtaHR0cGQtcGhwIC5iYXQK
ICAgICBBZGRUeXBlIGFwcGxpY2F0aW9uL3gtaHR0cGQtcGhwLXNvdXJjZSAucGhwcwogCi0gICAg
IyBTaW5jZSBtb3N0IHVzZXJzIHdpbGwgd2FudCBpbmRleC5waHAgdG8gd29yayB3ZQotICAgICMg
YWxzbyBhdXRvbWF0aWNhbGx5IGVuYWJsZSBpbmRleC5waHAKICAgICA8SWZNb2R1bGUgbW9kX2Rp
ci5jPgogICAgICAgICBEaXJlY3RvcnlJbmRleCBpbmRleC5odG1sIGluZGV4LnBocAogICAgIDwv
SWZNb2R1bGU+CkBAIC03MzYsMyArMTY1LDE4IEBAIFNlcnZlclNpZ25hdHVyZSBPbgogICAgIFJl
d3JpdGVDb25kICV7UkVRVUVTVF9NRVRIT0R9IF5UUkFDRQogICAgIFJld3JpdGVSdWxlIC4qIC0g
W0ZdCiA8L0lmTW9kdWxlPgorCisjCisjIEFwcGxlLXNwZWNpZmljIGZpbGVzeXN0ZW0gcHJvdGVj
dGlvbi4KKyMKKzxGaWxlcyAicnNyYyI+CisgICAgT3JkZXIgYWxsb3csZGVueQorICAgIERlbnkg
ZnJvbSBhbGwKKyAgICBTYXRpc2Z5IEFsbAorPC9GaWxlcz4KKworPERpcmVjdG9yeSAgfiAiLipc
LlwubmFtZWRmb3JrIj4KKyAgICBPcmRlciBhbGxvdyxkZW55CisgICAgRGVueSBmcm9tIGFsbAor
ICAgIFNhdGlzZnkgQWxsCis8L0RpcmVjdG9yeT4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvY29u
Zi9mZWRvcmEtaHR0cGQuY29uZgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL2NvbmYv
ZmVkb3JhLWh0dHBkLmNvbmYJKHJldmlzaW9uIDEzMDE1MSkKKysrIExheW91dFRlc3RzL2h0dHAv
Y29uZi9mZWRvcmEtaHR0cGQuY29uZgkod29ya2luZyBjb3B5KQpAQCAtMSwxNDEgKzEsMjEgQEAK
LSMKLSMgVGhpcyBpcyB0aGUgbWFpbiBBcGFjaGUgc2VydmVyIGNvbmZpZ3VyYXRpb24gZmlsZS4g
IEl0IGNvbnRhaW5zIHRoZQotIyBjb25maWd1cmF0aW9uIGRpcmVjdGl2ZXMgdGhhdCBnaXZlIHRo
ZSBzZXJ2ZXIgaXRzIGluc3RydWN0aW9ucy4KLSMgU2VlIDxVUkw6aHR0cDovL2h0dHBkLmFwYWNo
ZS5vcmcvZG9jcy8yLjIvPiBmb3IgZGV0YWlsZWQgaW5mb3JtYXRpb24uCi0jIEluIHBhcnRpY3Vs
YXIsIHNlZQotIyA8VVJMOmh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvMi4yL21vZC9kaXJl
Y3RpdmVzLmh0bWw+Ci0jIGZvciBhIGRpc2N1c3Npb24gb2YgZWFjaCBjb25maWd1cmF0aW9uIGRp
cmVjdGl2ZS4KLSMKLSMKLSMgRG8gTk9UIHNpbXBseSByZWFkIHRoZSBpbnN0cnVjdGlvbnMgaW4g
aGVyZSB3aXRob3V0IHVuZGVyc3RhbmRpbmcKLSMgd2hhdCB0aGV5IGRvLiAgVGhleSdyZSBoZXJl
IG9ubHkgYXMgaGludHMgb3IgcmVtaW5kZXJzLiAgSWYgeW91IGFyZSB1bnN1cmUKLSMgY29uc3Vs
dCB0aGUgb25saW5lIGRvY3MuIFlvdSBoYXZlIGJlZW4gd2FybmVkLiAgCi0jCi0jIFRoZSBjb25m
aWd1cmF0aW9uIGRpcmVjdGl2ZXMgYXJlIGdyb3VwZWQgaW50byB0aHJlZSBiYXNpYyBzZWN0aW9u
czoKLSMgIDEuIERpcmVjdGl2ZXMgdGhhdCBjb250cm9sIHRoZSBvcGVyYXRpb24gb2YgdGhlIEFw
YWNoZSBzZXJ2ZXIgcHJvY2VzcyBhcyBhCi0jICAgICB3aG9sZSAodGhlICdnbG9iYWwgZW52aXJv
bm1lbnQnKS4KLSMgIDIuIERpcmVjdGl2ZXMgdGhhdCBkZWZpbmUgdGhlIHBhcmFtZXRlcnMgb2Yg
dGhlICdtYWluJyBvciAnZGVmYXVsdCcgc2VydmVyLAotIyAgICAgd2hpY2ggcmVzcG9uZHMgdG8g
cmVxdWVzdHMgdGhhdCBhcmVuJ3QgaGFuZGxlZCBieSBhIHZpcnR1YWwgaG9zdC4KLSMgICAgIFRo
ZXNlIGRpcmVjdGl2ZXMgYWxzbyBwcm92aWRlIGRlZmF1bHQgdmFsdWVzIGZvciB0aGUgc2V0dGlu
Z3MKLSMgICAgIG9mIGFsbCB2aXJ0dWFsIGhvc3RzLgotIyAgMy4gU2V0dGluZ3MgZm9yIHZpcnR1
YWwgaG9zdHMsIHdoaWNoIGFsbG93IFdlYiByZXF1ZXN0cyB0byBiZSBzZW50IHRvCi0jICAgICBk
aWZmZXJlbnQgSVAgYWRkcmVzc2VzIG9yIGhvc3RuYW1lcyBhbmQgaGF2ZSB0aGVtIGhhbmRsZWQg
YnkgdGhlCi0jICAgICBzYW1lIEFwYWNoZSBzZXJ2ZXIgcHJvY2Vzcy4KLSMKLSMgQ29uZmlndXJh
dGlvbiBhbmQgbG9nZmlsZSBuYW1lczogSWYgdGhlIGZpbGVuYW1lcyB5b3Ugc3BlY2lmeSBmb3Ig
bWFueQotIyBvZiB0aGUgc2VydmVyJ3MgY29udHJvbCBmaWxlcyBiZWdpbiB3aXRoICIvIiAob3Ig
ImRyaXZlOi8iIGZvciBXaW4zMiksIHRoZQotIyBzZXJ2ZXIgd2lsbCB1c2UgdGhhdCBleHBsaWNp
dCBwYXRoLiAgSWYgdGhlIGZpbGVuYW1lcyBkbyAqbm90KiBiZWdpbgotIyB3aXRoICIvIiwgdGhl
IHZhbHVlIG9mIFNlcnZlclJvb3QgaXMgcHJlcGVuZGVkIC0tIHNvICJsb2dzL2Zvby5sb2ciCi0j
IHdpdGggU2VydmVyUm9vdCBzZXQgdG8gIi9ldGMvaHR0cGQiIHdpbGwgYmUgaW50ZXJwcmV0ZWQg
YnkgdGhlCi0jIHNlcnZlciBhcyAiL2V0Yy9odHRwZC9sb2dzL2Zvby5sb2ciLgotIwotCi0jIyMg
U2VjdGlvbiAxOiBHbG9iYWwgRW52aXJvbm1lbnQKLSMKLSMgVGhlIGRpcmVjdGl2ZXMgaW4gdGhp
cyBzZWN0aW9uIGFmZmVjdCB0aGUgb3ZlcmFsbCBvcGVyYXRpb24gb2YgQXBhY2hlLAotIyBzdWNo
IGFzIHRoZSBudW1iZXIgb2YgY29uY3VycmVudCByZXF1ZXN0cyBpdCBjYW4gaGFuZGxlIG9yIHdo
ZXJlIGl0Ci0jIGNhbiBmaW5kIGl0cyBjb25maWd1cmF0aW9uIGZpbGVzLgotIwotCi0jCi0jIERv
bid0IGdpdmUgYXdheSB0b28gbXVjaCBpbmZvcm1hdGlvbiBhYm91dCBhbGwgdGhlIHN1YmNvbXBv
bmVudHMKLSMgd2UgYXJlIHJ1bm5pbmcuICBDb21tZW50IG91dCB0aGlzIGxpbmUgaWYgeW91IGRv
bid0IG1pbmQgcmVtb3RlIHNpdGVzCi0jIGZpbmRpbmcgb3V0IHdoYXQgbWFqb3Igb3B0aW9uYWwg
bW9kdWxlcyB5b3UgYXJlIHJ1bm5pbmcKIFNlcnZlclRva2VucyBPUwotCi0jCi0jIFNlcnZlclJv
b3Q6IFRoZSB0b3Agb2YgdGhlIGRpcmVjdG9yeSB0cmVlIHVuZGVyIHdoaWNoIHRoZSBzZXJ2ZXIn
cwotIyBjb25maWd1cmF0aW9uLCBlcnJvciwgYW5kIGxvZyBmaWxlcyBhcmUga2VwdC4KLSMKLSMg
Tk9URSEgIElmIHlvdSBpbnRlbmQgdG8gcGxhY2UgdGhpcyBvbiBhbiBORlMgKG9yIG90aGVyd2lz
ZSBuZXR3b3JrKQotIyBtb3VudGVkIGZpbGVzeXN0ZW0gdGhlbiBwbGVhc2UgcmVhZCB0aGUgTG9j
a0ZpbGUgZG9jdW1lbnRhdGlvbgotIyAoYXZhaWxhYmxlIGF0IDxVUkw6aHR0cDovL2h0dHBkLmFw
YWNoZS5vcmcvZG9jcy8yLjIvbW9kL21wbV9jb21tb24uaHRtbCNsb2NrZmlsZT4pOwotIyB5b3Ug
d2lsbCBzYXZlIHlvdXJzZWxmIGEgbG90IG9mIHRyb3VibGUuCi0jCi0jIERvIE5PVCBhZGQgYSBz
bGFzaCBhdCB0aGUgZW5kIG9mIHRoZSBkaXJlY3RvcnkgcGF0aC4KLSMKIFNlcnZlclJvb3QgIi9l
dGMvaHR0cGQiCiAKLSMKLSMgUGlkRmlsZTogVGhlIGZpbGUgaW4gd2hpY2ggdGhlIHNlcnZlciBz
aG91bGQgcmVjb3JkIGl0cyBwcm9jZXNzCi0jIGlkZW50aWZpY2F0aW9uIG51bWJlciB3aGVuIGl0
IHN0YXJ0cy4KLSMKIExvY2tGaWxlICIvdG1wL1dlYktpdC9odHRwZC5sb2NrIgotCi0jCi0jIFBp
ZEZpbGU6IFRoZSBmaWxlIGluIHdoaWNoIHRoZSBzZXJ2ZXIgc2hvdWxkIHJlY29yZCBpdHMgcHJv
Y2VzcwotIyBpZGVudGlmaWNhdGlvbiBudW1iZXIgd2hlbiBpdCBzdGFydHMuCi0jCiBQaWRGaWxl
ICIvdG1wL1dlYktpdC9odHRwZC5waWQiCi0KLSMKLSMgU2NvcmVCb2FyZEZpbGU6IEZpbGUgdXNl
ZCB0byBzdG9yZSBpbnRlcm5hbCBzZXJ2ZXIgcHJvY2VzcyBpbmZvcm1hdGlvbi4KLSMgTm90IGFs
bCBhcmNoaXRlY3R1cmVzIHJlcXVpcmUgdGhpcy4gIEJ1dCBpZiB5b3VycyBkb2VzICh5b3UnbGwg
a25vdyBiZWNhdXNlCi0jIHRoaXMgZmlsZSB3aWxsIGJlICBjcmVhdGVkIHdoZW4geW91IHJ1biBB
cGFjaGUpIHRoZW4geW91ICptdXN0KiBlbnN1cmUgdGhhdAotIyBubyB0d28gaW52b2NhdGlvbnMg
b2YgQXBhY2hlIHNoYXJlIHRoZSBzYW1lIHNjb3JlYm9hcmQgZmlsZS4KLSMKIFNjb3JlQm9hcmRG
aWxlICIvdG1wL1dlYktpdC9odHRwZC5zY29yZWJvYXJkIgogCi0jCi0jIFRpbWVvdXQ6IFRoZSBu
dW1iZXIgb2Ygc2Vjb25kcyBiZWZvcmUgcmVjZWl2ZXMgYW5kIHNlbmRzIHRpbWUgb3V0LgotIwog
VGltZW91dCAzMDAKLQotIwotIyBLZWVwQWxpdmU6IFdoZXRoZXIgb3Igbm90IHRvIGFsbG93IHBl
cnNpc3RlbnQgY29ubmVjdGlvbnMgKG1vcmUgdGhhbgotIyBvbmUgcmVxdWVzdCBwZXIgY29ubmVj
dGlvbikuIFNldCB0byAiT2ZmIiB0byBkZWFjdGl2YXRlLgotIwogS2VlcEFsaXZlIE9uCi0KLSMK
LSMgTWF4S2VlcEFsaXZlUmVxdWVzdHM6IFRoZSBtYXhpbXVtIG51bWJlciBvZiByZXF1ZXN0cyB0
byBhbGxvdwotIyBkdXJpbmcgYSBwZXJzaXN0ZW50IGNvbm5lY3Rpb24uIFNldCB0byAwIHRvIGFs
bG93IGFuIHVubGltaXRlZCBhbW91bnQuCi0jIFdlIHJlY29tbWVuZCB5b3UgbGVhdmUgdGhpcyBu
dW1iZXIgaGlnaCwgZm9yIG1heGltdW0gcGVyZm9ybWFuY2UuCi0jCiBNYXhLZWVwQWxpdmVSZXF1
ZXN0cyAxMDAKLQotIwotIyBLZWVwQWxpdmVUaW1lb3V0OiBOdW1iZXIgb2Ygc2Vjb25kcyB0byB3
YWl0IGZvciB0aGUgbmV4dCByZXF1ZXN0IGZyb20gdGhlCi0jIHNhbWUgY2xpZW50IG9uIHRoZSBz
YW1lIGNvbm5lY3Rpb24uCi0jCiBLZWVwQWxpdmVUaW1lb3V0IDE1CiAKIE1pblNwYXJlU2VydmVy
cyAxCiBNYXhTcGFyZVNlcnZlcnMgNQogU3RhcnRTZXJ2ZXJzIDEKIE1heENsaWVudHMgMTUwCi0K
LSMjCi0jIyBTZXJ2ZXItUG9vbCBTaXplIFJlZ3VsYXRpb24gKE1QTSBzcGVjaWZpYykKLSMjIAot
Ci0jIHByZWZvcmsgTVBNCi0jIFN0YXJ0U2VydmVyczogbnVtYmVyIG9mIHNlcnZlciBwcm9jZXNz
ZXMgdG8gc3RhcnQKLSMgTWluU3BhcmVTZXJ2ZXJzOiBtaW5pbXVtIG51bWJlciBvZiBzZXJ2ZXIg
cHJvY2Vzc2VzIHdoaWNoIGFyZSBrZXB0IHNwYXJlCi0jIE1heFNwYXJlU2VydmVyczogbWF4aW11
bSBudW1iZXIgb2Ygc2VydmVyIHByb2Nlc3NlcyB3aGljaCBhcmUga2VwdCBzcGFyZQotIyBTZXJ2
ZXJMaW1pdDogbWF4aW11bSB2YWx1ZSBmb3IgTWF4Q2xpZW50cyBmb3IgdGhlIGxpZmV0aW1lIG9m
IHRoZSBzZXJ2ZXIKLSMgTWF4Q2xpZW50czogbWF4aW11bSBudW1iZXIgb2Ygc2VydmVyIHByb2Nl
c3NlcyBhbGxvd2VkIHRvIHN0YXJ0Ci0jIE1heFJlcXVlc3RzUGVyQ2hpbGQ6IG1heGltdW0gbnVt
YmVyIG9mIHJlcXVlc3RzIGEgc2VydmVyIHByb2Nlc3Mgc2VydmVzCi0KLSMgd29ya2VyIE1QTQot
IyBTdGFydFNlcnZlcnM6IGluaXRpYWwgbnVtYmVyIG9mIHNlcnZlciBwcm9jZXNzZXMgdG8gc3Rh
cnQKLSMgTWF4Q2xpZW50czogbWF4aW11bSBudW1iZXIgb2Ygc2ltdWx0YW5lb3VzIGNsaWVudCBj
b25uZWN0aW9ucwotIyBNaW5TcGFyZVRocmVhZHM6IG1pbmltdW0gbnVtYmVyIG9mIHdvcmtlciB0
aHJlYWRzIHdoaWNoIGFyZSBrZXB0IHNwYXJlCi0jIE1heFNwYXJlVGhyZWFkczogbWF4aW11bSBu
dW1iZXIgb2Ygd29ya2VyIHRocmVhZHMgd2hpY2ggYXJlIGtlcHQgc3BhcmUKLSMgVGhyZWFkc1Bl
ckNoaWxkOiBjb25zdGFudCBudW1iZXIgb2Ygd29ya2VyIHRocmVhZHMgaW4gZWFjaCBzZXJ2ZXIg
cHJvY2VzcwotIyBNYXhSZXF1ZXN0c1BlckNoaWxkOiBtYXhpbXVtIG51bWJlciBvZiByZXF1ZXN0
cyBhIHNlcnZlciBwcm9jZXNzIHNlcnZlcwotCiBNYXhSZXF1ZXN0c1BlckNoaWxkIDEwMDAwMAog
Ci0jCi0jIExpc3RlbjogQWxsb3dzIHlvdSB0byBiaW5kIEFwYWNoZSB0byBzcGVjaWZpYyBJUCBh
ZGRyZXNzZXMgYW5kL29yCi0jIHBvcnRzLCBpbiBhZGRpdGlvbiB0byB0aGUgZGVmYXVsdC4gU2Vl
IGFsc28gdGhlIDxWaXJ0dWFsSG9zdD4KLSMgZGlyZWN0aXZlLgotIwotIyBDaGFuZ2UgdGhpcyB0
byBMaXN0ZW4gb24gc3BlY2lmaWMgSVAgYWRkcmVzc2VzIGFzIHNob3duIGJlbG93IHRvIAotIyBw
cmV2ZW50IEFwYWNoZSBmcm9tIGdsb21taW5nIG9udG8gYWxsIGJvdW5kIElQIGFkZHJlc3NlcyAo
MC4wLjAuMCkKLSMKLSNMaXN0ZW4gMTIuMzQuNTYuNzg6ODAKIExpc3RlbiAxMjcuMC4wLjE6ODA4
MAogTGlzdGVuIDEyNy4wLjAuMTo4NDQzCiAjIFdlIGxpc3RlbiB0byBib3RoIElQdjQgYW5kIElQ
djYgbG9vcC1iYWNrIGFkZHJlc3NlcywgYnV0IGlnbm9yZQpAQCAtMTQ1LDQ0OCArMjUsNTYgQEAg
TGlzdGVuIFs6OjFdOjgwMDAKIExpc3RlbiBbOjoxXTo4MDgwCiBMaXN0ZW4gWzo6MV06ODQ0Mwog
Ci0jCi0jIER5bmFtaWMgU2hhcmVkIE9iamVjdCAoRFNPKSBTdXBwb3J0Ci0jCi0jIFRvIGJlIGFi
bGUgdG8gdXNlIHRoZSBmdW5jdGlvbmFsaXR5IG9mIGEgbW9kdWxlIHdoaWNoIHdhcyBidWlsdCBh
cyBhIERTTyB5b3UKLSMgaGF2ZSB0byBwbGFjZSBjb3JyZXNwb25kaW5nIGBMb2FkTW9kdWxlJyBs
aW5lcyBhdCB0aGlzIGxvY2F0aW9uIHNvIHRoZQotIyBkaXJlY3RpdmVzIGNvbnRhaW5lZCBpbiBp
dCBhcmUgYWN0dWFsbHkgYXZhaWxhYmxlIF9iZWZvcmVfIHRoZXkgYXJlIHVzZWQuCi0jIFN0YXRp
Y2FsbHkgY29tcGlsZWQgbW9kdWxlcyAodGhvc2UgbGlzdGVkIGJ5IGBodHRwZCAtbCcpIGRvIG5v
dCBuZWVkCi0jIHRvIGJlIGxvYWRlZCBoZXJlLgotIwotIyBFeGFtcGxlOgotIyBMb2FkTW9kdWxl
IGZvb19tb2R1bGUgbW9kdWxlcy9tb2RfZm9vLnNvCi0jCi0jTG9hZE1vZHVsZSBhdXRoX2Jhc2lj
X21vZHVsZSBtb2R1bGVzL21vZF9hdXRoX2Jhc2ljLnNvCi0jTG9hZE1vZHVsZSBhdXRoX2RpZ2Vz
dF9tb2R1bGUgbW9kdWxlcy9tb2RfYXV0aF9kaWdlc3Quc28KLSNMb2FkTW9kdWxlIGF1dGhuX2Zp
bGVfbW9kdWxlIG1vZHVsZXMvbW9kX2F1dGhuX2ZpbGUuc28KLSNMb2FkTW9kdWxlIGF1dGhuX2Fs
aWFzX21vZHVsZSBtb2R1bGVzL21vZF9hdXRobl9hbGlhcy5zbwotI0xvYWRNb2R1bGUgYXV0aG5f
YW5vbl9tb2R1bGUgbW9kdWxlcy9tb2RfYXV0aG5fYW5vbi5zbwotI0xvYWRNb2R1bGUgYXV0aG5f
ZGJtX21vZHVsZSBtb2R1bGVzL21vZF9hdXRobl9kYm0uc28KLSNMb2FkTW9kdWxlIGF1dGhuX2Rl
ZmF1bHRfbW9kdWxlIG1vZHVsZXMvbW9kX2F1dGhuX2RlZmF1bHQuc28KIExvYWRNb2R1bGUgYXV0
aHpfaG9zdF9tb2R1bGUgbW9kdWxlcy9tb2RfYXV0aHpfaG9zdC5zbwotI0xvYWRNb2R1bGUgYXV0
aHpfdXNlcl9tb2R1bGUgbW9kdWxlcy9tb2RfYXV0aHpfdXNlci5zbwotI0xvYWRNb2R1bGUgYXV0
aHpfb3duZXJfbW9kdWxlIG1vZHVsZXMvbW9kX2F1dGh6X293bmVyLnNvCi0jTG9hZE1vZHVsZSBh
dXRoel9ncm91cGZpbGVfbW9kdWxlIG1vZHVsZXMvbW9kX2F1dGh6X2dyb3VwZmlsZS5zbwotI0xv
YWRNb2R1bGUgYXV0aHpfZGJtX21vZHVsZSBtb2R1bGVzL21vZF9hdXRoel9kYm0uc28KLSNMb2Fk
TW9kdWxlIGF1dGh6X2RlZmF1bHRfbW9kdWxlIG1vZHVsZXMvbW9kX2F1dGh6X2RlZmF1bHQuc28K
LSNMb2FkTW9kdWxlIGxkYXBfbW9kdWxlIG1vZHVsZXMvbW9kX2xkYXAuc28KLSNMb2FkTW9kdWxl
IGF1dGhuel9sZGFwX21vZHVsZSBtb2R1bGVzL21vZF9hdXRobnpfbGRhcC5zbwogTG9hZE1vZHVs
ZSBpbmNsdWRlX21vZHVsZSBtb2R1bGVzL21vZF9pbmNsdWRlLnNvCiBMb2FkTW9kdWxlIGxvZ19j
b25maWdfbW9kdWxlIG1vZHVsZXMvbW9kX2xvZ19jb25maWcuc28KLSNMb2FkTW9kdWxlIGxvZ2lv
X21vZHVsZSBtb2R1bGVzL21vZF9sb2dpby5zbwotI0xvYWRNb2R1bGUgZW52X21vZHVsZSBtb2R1
bGVzL21vZF9lbnYuc28KLSNMb2FkTW9kdWxlIGV4dF9maWx0ZXJfbW9kdWxlIG1vZHVsZXMvbW9k
X2V4dF9maWx0ZXIuc28KLSNMb2FkTW9kdWxlIG1pbWVfbWFnaWNfbW9kdWxlIG1vZHVsZXMvbW9k
X21pbWVfbWFnaWMuc28KLSNMb2FkTW9kdWxlIGV4cGlyZXNfbW9kdWxlIG1vZHVsZXMvbW9kX2V4
cGlyZXMuc28KLSNMb2FkTW9kdWxlIGRlZmxhdGVfbW9kdWxlIG1vZHVsZXMvbW9kX2RlZmxhdGUu
c28KIExvYWRNb2R1bGUgaGVhZGVyc19tb2R1bGUgbW9kdWxlcy9tb2RfaGVhZGVycy5zbwotI0xv
YWRNb2R1bGUgdXNlcnRyYWNrX21vZHVsZSBtb2R1bGVzL21vZF91c2VydHJhY2suc28KLSNMb2Fk
TW9kdWxlIHNldGVudmlmX21vZHVsZSBtb2R1bGVzL21vZF9zZXRlbnZpZi5zbwogTG9hZE1vZHVs
ZSBtaW1lX21vZHVsZSBtb2R1bGVzL21vZF9taW1lLnNvCi0jTG9hZE1vZHVsZSBkYXZfbW9kdWxl
IG1vZHVsZXMvbW9kX2Rhdi5zbwotI0xvYWRNb2R1bGUgc3RhdHVzX21vZHVsZSBtb2R1bGVzL21v
ZF9zdGF0dXMuc28KLSNMb2FkTW9kdWxlIGF1dG9pbmRleF9tb2R1bGUgbW9kdWxlcy9tb2RfYXV0
b2luZGV4LnNvCi0jTG9hZE1vZHVsZSBpbmZvX21vZHVsZSBtb2R1bGVzL21vZF9pbmZvLnNvCi0j
TG9hZE1vZHVsZSBkYXZfZnNfbW9kdWxlIG1vZHVsZXMvbW9kX2Rhdl9mcy5zbwotI0xvYWRNb2R1
bGUgdmhvc3RfYWxpYXNfbW9kdWxlIG1vZHVsZXMvbW9kX3Zob3N0X2FsaWFzLnNvCiBMb2FkTW9k
dWxlIG5lZ290aWF0aW9uX21vZHVsZSBtb2R1bGVzL21vZF9uZWdvdGlhdGlvbi5zbwotI0xvYWRN
b2R1bGUgZGlyX21vZHVsZSBtb2R1bGVzL21vZF9kaXIuc28KIExvYWRNb2R1bGUgYWN0aW9uc19t
b2R1bGUgbW9kdWxlcy9tb2RfYWN0aW9ucy5zbwotI0xvYWRNb2R1bGUgc3BlbGluZ19tb2R1bGUg
bW9kdWxlcy9tb2Rfc3BlbGluZy5zbwotI0xvYWRNb2R1bGUgdXNlcmRpcl9tb2R1bGUgbW9kdWxl
cy9tb2RfdXNlcmRpci5zbwogTG9hZE1vZHVsZSBhbGlhc19tb2R1bGUgbW9kdWxlcy9tb2RfYWxp
YXMuc28KIExvYWRNb2R1bGUgcmV3cml0ZV9tb2R1bGUgbW9kdWxlcy9tb2RfcmV3cml0ZS5zbwot
I0xvYWRNb2R1bGUgcHJveHlfbW9kdWxlIG1vZHVsZXMvbW9kX3Byb3h5LnNvCi0jTG9hZE1vZHVs
ZSBwcm94eV9iYWxhbmNlcl9tb2R1bGUgbW9kdWxlcy9tb2RfcHJveHlfYmFsYW5jZXIuc28KLSNM
b2FkTW9kdWxlIHByb3h5X2Z0cF9tb2R1bGUgbW9kdWxlcy9tb2RfcHJveHlfZnRwLnNvCi0jTG9h
ZE1vZHVsZSBwcm94eV9odHRwX21vZHVsZSBtb2R1bGVzL21vZF9wcm94eV9odHRwLnNvCi0jTG9h
ZE1vZHVsZSBwcm94eV9jb25uZWN0X21vZHVsZSBtb2R1bGVzL21vZF9wcm94eV9jb25uZWN0LnNv
Ci0jTG9hZE1vZHVsZSBjYWNoZV9tb2R1bGUgbW9kdWxlcy9tb2RfY2FjaGUuc28KLSNMb2FkTW9k
dWxlIHN1ZXhlY19tb2R1bGUgbW9kdWxlcy9tb2Rfc3VleGVjLnNvCi0jTG9hZE1vZHVsZSBkaXNr
X2NhY2hlX21vZHVsZSBtb2R1bGVzL21vZF9kaXNrX2NhY2hlLnNvCi0jTG9hZE1vZHVsZSBmaWxl
X2NhY2hlX21vZHVsZSBtb2R1bGVzL21vZF9maWxlX2NhY2hlLnNvCi0jTG9hZE1vZHVsZSBtZW1f
Y2FjaGVfbW9kdWxlIG1vZHVsZXMvbW9kX21lbV9jYWNoZS5zbwogTG9hZE1vZHVsZSBjZ2lfbW9k
dWxlIG1vZHVsZXMvbW9kX2NnaS5zbwogTG9hZE1vZHVsZSBzc2xfbW9kdWxlIG1vZHVsZXMvbW9k
X3NzbC5zbwogTG9hZE1vZHVsZSBwaHA1X21vZHVsZSBtb2R1bGVzL2xpYnBocDUuc28KIAotIwot
IyBUaGUgZm9sbG93aW5nIG1vZHVsZXMgYXJlIG5vdCBsb2FkZWQgYnkgZGVmYXVsdDoKLSMKLSNM
b2FkTW9kdWxlIGNlcm5fbWV0YV9tb2R1bGUgbW9kdWxlcy9tb2RfY2Vybl9tZXRhLnNvCiBMb2Fk
TW9kdWxlIGFzaXNfbW9kdWxlIG1vZHVsZXMvbW9kX2FzaXMuc28KIAotIwotIyBMb2FkIGNvbmZp
ZyBmaWxlcyBmcm9tIHRoZSBjb25maWcgZGlyZWN0b3J5ICIvZXRjL2h0dHBkL2NvbmYuZCIuCi0j
Ci0jSW5jbHVkZSBjb25mLmQvKi5jb25mCi0KLSMKLSMgRXh0ZW5kZWRTdGF0dXMgY29udHJvbHMg
d2hldGhlciBBcGFjaGUgd2lsbCBnZW5lcmF0ZSAiZnVsbCIgc3RhdHVzCi0jIGluZm9ybWF0aW9u
IChFeHRlbmRlZFN0YXR1cyBPbikgb3IganVzdCBiYXNpYyBpbmZvcm1hdGlvbiAoRXh0ZW5kZWRT
dGF0dXMKLSMgT2ZmKSB3aGVuIHRoZSAic2VydmVyLXN0YXR1cyIgaGFuZGxlciBpcyBjYWxsZWQu
IFRoZSBkZWZhdWx0IGlzIE9mZi4KLSMKLSNFeHRlbmRlZFN0YXR1cyBPbgotCi0jCi0jIElmIHlv
dSB3aXNoIGh0dHBkIHRvIHJ1biBhcyBhIGRpZmZlcmVudCB1c2VyIG9yIGdyb3VwLCB5b3UgbXVz
dCBydW4KLSMgaHR0cGQgYXMgcm9vdCBpbml0aWFsbHkgYW5kIGl0IHdpbGwgc3dpdGNoLiAgCi0j
Ci0jIFVzZXIvR3JvdXA6IFRoZSBuYW1lIChvciAjbnVtYmVyKSBvZiB0aGUgdXNlci9ncm91cCB0
byBydW4gaHR0cGQgYXMuCi0jICAuIE9uIFNDTyAoT0RUIDMpIHVzZSAiVXNlciBub3VzZXIiIGFu
ZCAiR3JvdXAgbm9ncm91cCIuCi0jICAuIE9uIEhQVVggeW91IG1heSBub3QgYmUgYWJsZSB0byB1
c2Ugc2hhcmVkIG1lbW9yeSBhcyBub2JvZHksIGFuZCB0aGUKLSMgICAgc3VnZ2VzdGVkIHdvcmth
cm91bmQgaXMgdG8gY3JlYXRlIGEgdXNlciB3d3cgYW5kIHVzZSB0aGF0IHVzZXIuCi0jICBOT1RF
IHRoYXQgc29tZSBrZXJuZWxzIHJlZnVzZSB0byBzZXRnaWQoR3JvdXApIG9yIHNlbWN0bChJUENf
U0VUKQotIyAgd2hlbiB0aGUgdmFsdWUgb2YgKHVuc2lnbmVkKUdyb3VwIGlzIGFib3ZlIDYwMDAw
OyAKLSMgIGRvbid0IHVzZSBHcm91cCAjLTEgb24gdGhlc2Ugc3lzdGVtcyEKLSMKIFVzZXIgYXBh
Y2hlCiBHcm91cCBhcGFjaGUKIAotIyMjIFNlY3Rpb24gMjogJ01haW4nIHNlcnZlciBjb25maWd1
cmF0aW9uCi0jCi0jIFRoZSBkaXJlY3RpdmVzIGluIHRoaXMgc2VjdGlvbiBzZXQgdXAgdGhlIHZh
bHVlcyB1c2VkIGJ5IHRoZSAnbWFpbicKLSMgc2VydmVyLCB3aGljaCByZXNwb25kcyB0byBhbnkg
cmVxdWVzdHMgdGhhdCBhcmVuJ3QgaGFuZGxlZCBieSBhCi0jIDxWaXJ0dWFsSG9zdD4gZGVmaW5p
dGlvbi4gIFRoZXNlIHZhbHVlcyBhbHNvIHByb3ZpZGUgZGVmYXVsdHMgZm9yCi0jIGFueSA8Vmly
dHVhbEhvc3Q+IGNvbnRhaW5lcnMgeW91IG1heSBkZWZpbmUgbGF0ZXIgaW4gdGhlIGZpbGUuCi0j
Ci0jIEFsbCBvZiB0aGVzZSBkaXJlY3RpdmVzIG1heSBhcHBlYXIgaW5zaWRlIDxWaXJ0dWFsSG9z
dD4gY29udGFpbmVycywKLSMgaW4gd2hpY2ggY2FzZSB0aGVzZSBkZWZhdWx0IHNldHRpbmdzIHdp
bGwgYmUgb3ZlcnJpZGRlbiBmb3IgdGhlCi0jIHZpcnR1YWwgaG9zdCBiZWluZyBkZWZpbmVkLgot
IwotCi0jCi0jIFNlcnZlckFkbWluOiBZb3VyIGFkZHJlc3MsIHdoZXJlIHByb2JsZW1zIHdpdGgg
dGhlIHNlcnZlciBzaG91bGQgYmUKLSMgZS1tYWlsZWQuICBUaGlzIGFkZHJlc3MgYXBwZWFycyBv
biBzb21lIHNlcnZlci1nZW5lcmF0ZWQgcGFnZXMsIHN1Y2gKLSMgYXMgZXJyb3IgZG9jdW1lbnRz
LiAgZS5nLiBhZG1pbkB5b3VyLWRvbWFpbi5jb20KLSMKIFNlcnZlckFkbWluIHJvb3RAbG9jYWxo
b3N0Ci0KLSMKLSMgU2VydmVyTmFtZSBnaXZlcyB0aGUgbmFtZSBhbmQgcG9ydCB0aGF0IHRoZSBz
ZXJ2ZXIgdXNlcyB0byBpZGVudGlmeSBpdHNlbGYuCi0jIFRoaXMgY2FuIG9mdGVuIGJlIGRldGVy
bWluZWQgYXV0b21hdGljYWxseSwgYnV0IHdlIHJlY29tbWVuZCB5b3Ugc3BlY2lmeQotIyBpdCBl
eHBsaWNpdGx5IHRvIHByZXZlbnQgcHJvYmxlbXMgZHVyaW5nIHN0YXJ0dXAuCi0jCi0jIElmIHRo
aXMgaXMgbm90IHNldCB0byB2YWxpZCBETlMgbmFtZSBmb3IgeW91ciBob3N0LCBzZXJ2ZXItZ2Vu
ZXJhdGVkCi0jIHJlZGlyZWN0aW9ucyB3aWxsIG5vdCB3b3JrLiAgU2VlIGFsc28gdGhlIFVzZUNh
bm9uaWNhbE5hbWUgZGlyZWN0aXZlLgotIwotIyBJZiB5b3VyIGhvc3QgZG9lc24ndCBoYXZlIGEg
cmVnaXN0ZXJlZCBETlMgbmFtZSwgZW50ZXIgaXRzIElQIGFkZHJlc3MgaGVyZS4KLSMgWW91IHdp
bGwgaGF2ZSB0byBhY2Nlc3MgaXQgYnkgaXRzIGFkZHJlc3MgYW55d2F5LCBhbmQgdGhpcyB3aWxs
IG1ha2UgCi0jIHJlZGlyZWN0aW9ucyB3b3JrIGluIGEgc2Vuc2libGUgd2F5LgotIwogU2VydmVy
TmFtZSAxMjcuMC4wLjEKIAotIwotIyBVc2VDYW5vbmljYWxOYW1lOiBEZXRlcm1pbmVzIGhvdyBB
cGFjaGUgY29uc3RydWN0cyBzZWxmLXJlZmVyZW5jaW5nIAotIyBVUkxzIGFuZCB0aGUgU0VSVkVS
X05BTUUgYW5kIFNFUlZFUl9QT1JUIHZhcmlhYmxlcy4KLSMgV2hlbiBzZXQgIk9mZiIsIEFwYWNo
ZSB3aWxsIHVzZSB0aGUgSG9zdG5hbWUgYW5kIFBvcnQgc3VwcGxpZWQKLSMgYnkgdGhlIGNsaWVu
dC4gIFdoZW4gc2V0ICJPbiIsIEFwYWNoZSB3aWxsIHVzZSB0aGUgdmFsdWUgb2YgdGhlCi0jIFNl
cnZlck5hbWUgZGlyZWN0aXZlLgotIwogVXNlQ2Fub25pY2FsTmFtZSBPbgogCi0jCi0jIERvY3Vt
ZW50Um9vdDogVGhlIGRpcmVjdG9yeSBvdXQgb2Ygd2hpY2ggeW91IHdpbGwgc2VydmUgeW91cgot
IyBkb2N1bWVudHMuIEJ5IGRlZmF1bHQsIGFsbCByZXF1ZXN0cyBhcmUgdGFrZW4gZnJvbSB0aGlz
IGRpcmVjdG9yeSwgYnV0Ci0jIHN5bWJvbGljIGxpbmtzIGFuZCBhbGlhc2VzIG1heSBiZSB1c2Vk
IHRvIHBvaW50IHRvIG90aGVyIGxvY2F0aW9ucy4KLSMKLSNEb2N1bWVudFJvb3QgIi92YXIvd3d3
L2h0bWwiCi0KLSMKLSMgRWFjaCBkaXJlY3RvcnkgdG8gd2hpY2ggQXBhY2hlIGhhcyBhY2Nlc3Mg
Y2FuIGJlIGNvbmZpZ3VyZWQgd2l0aCByZXNwZWN0Ci0jIHRvIHdoaWNoIHNlcnZpY2VzIGFuZCBm
ZWF0dXJlcyBhcmUgYWxsb3dlZCBhbmQvb3IgZGlzYWJsZWQgaW4gdGhhdAotIyBkaXJlY3Rvcnkg
KGFuZCBpdHMgc3ViZGlyZWN0b3JpZXMpLiAKLSMKLSMgTm90ZSB0aGF0IGZyb20gdGhpcyBwb2lu
dCBmb3J3YXJkIHlvdSBtdXN0IHNwZWNpZmljYWxseSBhbGxvdwotIyBwYXJ0aWN1bGFyIGZlYXR1
cmVzIHRvIGJlIGVuYWJsZWQgLSBzbyBpZiBzb21ldGhpbmcncyBub3Qgd29ya2luZyBhcwotIyB5
b3UgbWlnaHQgZXhwZWN0LCBtYWtlIHN1cmUgdGhhdCB5b3UgaGF2ZSBzcGVjaWZpY2FsbHkgZW5h
YmxlZCBpdAotIyBiZWxvdy4KLSMKLQotIwotIyBUaGlzIHNob3VsZCBiZSBjaGFuZ2VkIHRvIHdo
YXRldmVyIHlvdSBzZXQgRG9jdW1lbnRSb290IHRvLgotIwogPERpcmVjdG9yeSAvPgotCi0jCi0j
IFBvc3NpYmxlIHZhbHVlcyBmb3IgdGhlIE9wdGlvbnMgZGlyZWN0aXZlIGFyZSAiTm9uZSIsICJB
bGwiLAotIyBvciBhbnkgY29tYmluYXRpb24gb2Y6Ci0jICAgSW5kZXhlcyBJbmNsdWRlcyBGb2xs
b3dTeW1MaW5rcyBTeW1MaW5rc2lmT3duZXJNYXRjaCBFeGVjQ0dJIE11bHRpVmlld3MKLSMKLSMg
Tm90ZSB0aGF0ICJNdWx0aVZpZXdzIiBtdXN0IGJlIG5hbWVkICpleHBsaWNpdGx5KiAtLS0gIk9w
dGlvbnMgQWxsIgotIyBkb2Vzbid0IGdpdmUgaXQgdG8geW91LgotIwotIyBUaGUgT3B0aW9ucyBk
aXJlY3RpdmUgaXMgYm90aCBjb21wbGljYXRlZCBhbmQgaW1wb3J0YW50LiAgUGxlYXNlIHNlZQot
IyBodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy9kb2NzLzIuMi9tb2QvY29yZS5odG1sI29wdGlvbnMK
LSMgZm9yIG1vcmUgaW5mb3JtYXRpb24uCi0jCiAgICAgT3B0aW9ucyBJbmRleGVzIEZvbGxvd1N5
bUxpbmtzIE11bHRpVmlld3MgRXhlY0NHSSBJbmNsdWRlcwotCi0jCi0jIEFsbG93T3ZlcnJpZGUg
Y29udHJvbHMgd2hhdCBkaXJlY3RpdmVzIG1heSBiZSBwbGFjZWQgaW4gLmh0YWNjZXNzIGZpbGVz
LgotIyBJdCBjYW4gYmUgIkFsbCIsICJOb25lIiwgb3IgYW55IGNvbWJpbmF0aW9uIG9mIHRoZSBr
ZXl3b3JkczoKLSMgICBPcHRpb25zIEZpbGVJbmZvIEF1dGhDb25maWcgTGltaXQKLSMKICAgICBB
bGxvd092ZXJyaWRlIEFsbAotCi0jCi0jIENvbnRyb2xzIHdobyBjYW4gZ2V0IHN0dWZmIGZyb20g
dGhpcyBzZXJ2ZXIuCi0jCiAgICAgT3JkZXIgYWxsb3csZGVueQogICAgIEFsbG93IGZyb20gYWxs
Ci0KIDwvRGlyZWN0b3J5PgogCi0jCi0jCi0jIENvbnRyb2wgYWNjZXNzIHRvIFVzZXJEaXIgZGly
ZWN0b3JpZXMuICBUaGUgZm9sbG93aW5nIGlzIGFuIGV4YW1wbGUKLSMgZm9yIGEgc2l0ZSB3aGVy
ZSB0aGVzZSBkaXJlY3RvcmllcyBhcmUgcmVzdHJpY3RlZCB0byByZWFkLW9ubHkuCi0jCi0jPERp
cmVjdG9yeSAvaG9tZS8qL3B1YmxpY19odG1sPgotIyAgICBBbGxvd092ZXJyaWRlIEZpbGVJbmZv
IEF1dGhDb25maWcgTGltaXQKLSMgICAgT3B0aW9ucyBNdWx0aVZpZXdzIEluZGV4ZXMgU3ltTGlu
a3NJZk93bmVyTWF0Y2ggSW5jbHVkZXNOb0V4ZWMKLSMgICAgPExpbWl0IEdFVCBQT1NUIE9QVElP
TlM+Ci0jICAgICAgICBPcmRlciBhbGxvdyxkZW55Ci0jICAgICAgICBBbGxvdyBmcm9tIGFsbAot
IyAgICA8L0xpbWl0PgotIyAgICA8TGltaXRFeGNlcHQgR0VUIFBPU1QgT1BUSU9OUz4KLSMgICAg
ICAgIE9yZGVyIGRlbnksYWxsb3cKLSMgICAgICAgIERlbnkgZnJvbSBhbGwKLSMgICAgPC9MaW1p
dEV4Y2VwdD4KLSM8L0RpcmVjdG9yeT4KLQotIwotIyBEaXJlY3RvcnlJbmRleDogc2V0cyB0aGUg
ZmlsZSB0aGF0IEFwYWNoZSB3aWxsIHNlcnZlIGlmIGEgZGlyZWN0b3J5Ci0jIGlzIHJlcXVlc3Rl
ZC4KLSMKLSMgVGhlIGluZGV4Lmh0bWwudmFyIGZpbGUgKGEgdHlwZS1tYXApIGlzIHVzZWQgdG8g
ZGVsaXZlciBjb250ZW50LQotIyBuZWdvdGlhdGVkIGRvY3VtZW50cy4gIFRoZSBNdWx0aVZpZXdz
IE9wdGlvbiBjYW4gYmUgdXNlZCBmb3IgdGhlIAotIyBzYW1lIHB1cnBvc2UsIGJ1dCBpdCBpcyBt
dWNoIHNsb3dlci4KLSMKLSNEaXJlY3RvcnlJbmRleCBpbmRleC5odG1sIGluZGV4Lmh0bWwudmFy
Ci0KLSMKLSMgQWNjZXNzRmlsZU5hbWU6IFRoZSBuYW1lIG9mIHRoZSBmaWxlIHRvIGxvb2sgZm9y
IGluIGVhY2ggZGlyZWN0b3J5Ci0jIGZvciBhZGRpdGlvbmFsIGNvbmZpZ3VyYXRpb24gZGlyZWN0
aXZlcy4gIFNlZSBhbHNvIHRoZSBBbGxvd092ZXJyaWRlCi0jIGRpcmVjdGl2ZS4KLSMKIEFjY2Vz
c0ZpbGVOYW1lIC5odGFjY2VzcwogCi0jCi0jIFRoZSBmb2xsb3dpbmcgbGluZXMgcHJldmVudCAu
aHRhY2Nlc3MgYW5kIC5odHBhc3N3ZCBmaWxlcyBmcm9tIGJlaW5nIAotIyB2aWV3ZWQgYnkgV2Vi
IGNsaWVudHMuIAotIwogPEZpbGVzIH4gIl5cLihbSGhdW1R0XXxbRGRdW1NzXV9bU3NdKSI+CiAg
ICAgT3JkZXIgYWxsb3csZGVueQogICAgIERlbnkgZnJvbSBhbGwKICAgICBTYXRpc2Z5IEFsbAog
PC9GaWxlcz4KIAotIwotIyBBcHBsZSBzcGVjaWZpYyBmaWxlc3lzdGVtIHByb3RlY3Rpb24uCi0j
IAotCi08RmlsZXMgInJzcmMiPgotICAgIE9yZGVyIGFsbG93LGRlbnkKLSAgICBEZW55IGZyb20g
YWxsCi0gICAgU2F0aXNmeSBBbGwKLTwvRmlsZXM+Ci0KLTxEaXJlY3RvcnkgIH4gIi4qXC5cLm5h
bWVkZm9yayI+Ci0gICAgT3JkZXIgYWxsb3csZGVueQotICAgIERlbnkgZnJvbSBhbGwKLSAgICBT
YXRpc2Z5IEFsbAotPC9EaXJlY3Rvcnk+Ci0KLSMKLSMgVHlwZXNDb25maWcgZGVzY3JpYmVzIHdo
ZXJlIHRoZSBtaW1lLnR5cGVzIGZpbGUgKG9yIGVxdWl2YWxlbnQpIGlzCi0jIHRvIGJlIGZvdW5k
LgotIwogVHlwZXNDb25maWcgL2V0Yy9taW1lLnR5cGVzCi0KLSMKLSMgRGVmYXVsdFR5cGUgaXMg
dGhlIGRlZmF1bHQgTUlNRSB0eXBlIHRoZSBzZXJ2ZXIgd2lsbCB1c2UgZm9yIGEgZG9jdW1lbnQK
LSMgaWYgaXQgY2Fubm90IG90aGVyd2lzZSBkZXRlcm1pbmUgb25lLCBzdWNoIGFzIGZyb20gZmls
ZW5hbWUgZXh0ZW5zaW9ucy4KLSMgSWYgeW91ciBzZXJ2ZXIgY29udGFpbnMgbW9zdGx5IHRleHQg
b3IgSFRNTCBkb2N1bWVudHMsICJ0ZXh0L3BsYWluIiBpcwotIyBhIGdvb2QgdmFsdWUuICBJZiBt
b3N0IG9mIHlvdXIgY29udGVudCBpcyBiaW5hcnksIHN1Y2ggYXMgYXBwbGljYXRpb25zCi0jIG9y
IGltYWdlcywgeW91IG1heSB3YW50IHRvIHVzZSAiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiBp
bnN0ZWFkIHRvCi0jIGtlZXAgYnJvd3NlcnMgZnJvbSB0cnlpbmcgdG8gZGlzcGxheSBiaW5hcnkg
ZmlsZXMgYXMgdGhvdWdoIHRoZXkgYXJlCi0jIHRleHQuCi0jCiBEZWZhdWx0VHlwZSB0ZXh0L3Bs
YWluCi0KLSMKLSMgSG9zdG5hbWVMb29rdXBzOiBMb2cgdGhlIG5hbWVzIG9mIGNsaWVudHMgb3Ig
anVzdCB0aGVpciBJUCBhZGRyZXNzZXMKLSMgZS5nLiwgd3d3LmFwYWNoZS5vcmcgKG9uKSBvciAy
MDQuNjIuMTI5LjEzMiAob2ZmKS4KLSMgVGhlIGRlZmF1bHQgaXMgb2ZmIGJlY2F1c2UgaXQnZCBi
ZSBvdmVyYWxsIGJldHRlciBmb3IgdGhlIG5ldCBpZiBwZW9wbGUKLSMgaGFkIHRvIGtub3dpbmds
eSB0dXJuIHRoaXMgZmVhdHVyZSBvbiwgc2luY2UgZW5hYmxpbmcgaXQgbWVhbnMgdGhhdAotIyBl
YWNoIGNsaWVudCByZXF1ZXN0IHdpbGwgcmVzdWx0IGluIEFUIExFQVNUIG9uZSBsb29rdXAgcmVx
dWVzdCB0byB0aGUKLSMgbmFtZXNlcnZlci4KLSMKIEhvc3RuYW1lTG9va3VwcyBPZmYKIAotIwot
IyBFbmFibGVNTUFQOiBDb250cm9sIHdoZXRoZXIgbWVtb3J5LW1hcHBpbmcgaXMgdXNlZCB0byBk
ZWxpdmVyCi0jIGZpbGVzIChhc3N1bWluZyB0aGF0IHRoZSB1bmRlcmx5aW5nIE9TIHN1cHBvcnRz
IGl0KS4KLSMgVGhlIGRlZmF1bHQgaXMgb247IHR1cm4gdGhpcyBvZmYgaWYgeW91IHNlcnZlIGZy
b20gTkZTLW1vdW50ZWQgCi0jIGZpbGVzeXN0ZW1zLiAgT24gc29tZSBzeXN0ZW1zLCB0dXJuaW5n
IGl0IG9mZiAocmVnYXJkbGVzcyBvZgotIyBmaWxlc3lzdGVtKSBjYW4gaW1wcm92ZSBwZXJmb3Jt
YW5jZTsgZm9yIGRldGFpbHMsIHBsZWFzZSBzZWUKLSMgaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcv
ZG9jcy8yLjIvbW9kL2NvcmUuaHRtbCNlbmFibGVtbWFwCi0jCi0jRW5hYmxlTU1BUCBvZmYKLQot
IwotIyBFbmFibGVTZW5kZmlsZTogQ29udHJvbCB3aGV0aGVyIHRoZSBzZW5kZmlsZSBrZXJuZWwg
c3VwcG9ydCBpcyAKLSMgdXNlZCB0byBkZWxpdmVyIGZpbGVzIChhc3N1bWluZyB0aGF0IHRoZSBP
UyBzdXBwb3J0cyBpdCkuIAotIyBUaGUgZGVmYXVsdCBpcyBvbjsgdHVybiB0aGlzIG9mZiBpZiB5
b3Ugc2VydmUgZnJvbSBORlMtbW91bnRlZCAKLSMgZmlsZXN5c3RlbXMuICBQbGVhc2Ugc2VlCi0j
IGh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvMi4yL21vZC9jb3JlLmh0bWwjZW5hYmxlc2Vu
ZGZpbGUKLSMKLSNFbmFibGVTZW5kZmlsZSBvZmYKLQotIwotIyBFcnJvckxvZzogVGhlIGxvY2F0
aW9uIG9mIHRoZSBlcnJvciBsb2cgZmlsZS4KLSMgSWYgeW91IGRvIG5vdCBzcGVjaWZ5IGFuIEVy
cm9yTG9nIGRpcmVjdGl2ZSB3aXRoaW4gYSA8VmlydHVhbEhvc3Q+Ci0jIGNvbnRhaW5lciwgZXJy
b3IgbWVzc2FnZXMgcmVsYXRpbmcgdG8gdGhhdCB2aXJ0dWFsIGhvc3Qgd2lsbCBiZQotIyBsb2dn
ZWQgaGVyZS4gIElmIHlvdSAqZG8qIGRlZmluZSBhbiBlcnJvciBsb2dmaWxlIGZvciBhIDxWaXJ0
dWFsSG9zdD4KLSMgY29udGFpbmVyLCB0aGF0IGhvc3QncyBlcnJvcnMgd2lsbCBiZSBsb2dnZWQg
dGhlcmUgYW5kIG5vdCBoZXJlLgotIwotI0Vycm9yTG9nIC90bXAvV2ViS2l0L2Vycm9yX2xvZwot
Ci0jCi0jIExvZ0xldmVsOiBDb250cm9sIHRoZSBudW1iZXIgb2YgbWVzc2FnZXMgbG9nZ2VkIHRv
IHRoZSBlcnJvcl9sb2cuCi0jIFBvc3NpYmxlIHZhbHVlcyBpbmNsdWRlOiBkZWJ1ZywgaW5mbywg
bm90aWNlLCB3YXJuLCBlcnJvciwgY3JpdCwKLSMgYWxlcnQsIGVtZXJnLgotIwogTG9nTGV2ZWwg
d2FybgotCi0jCi0jIFRoZSBmb2xsb3dpbmcgZGlyZWN0aXZlcyBkZWZpbmUgc29tZSBmb3JtYXQg
bmlja25hbWVzIGZvciB1c2Ugd2l0aAotIyBhIEN1c3RvbUxvZyBkaXJlY3RpdmUgKHNlZSBiZWxv
dykuCi0jCiBMb2dGb3JtYXQgIiVoICVsICV1ICV0IFwiJXJcIiAlPnMgJWIgXCIle1JlZmVyZXJ9
aVwiIFwiJXtVc2VyLUFnZW50fWlcIiIgY29tYmluZWQKIExvZ0Zvcm1hdCAiJWggJWwgJXUgJXQg
XCIlclwiICU+cyAlYiIgY29tbW9uCiBMb2dGb3JtYXQgIiV7UmVmZXJlcn1pIC0+ICVVIiByZWZl
cmVyCiBMb2dGb3JtYXQgIiV7VXNlci1hZ2VudH1pIiBhZ2VudAogCi0jICJjb21iaW5lZGlvIiBp
bmNsdWRlcyBhY3R1YWwgY291bnRzIG9mIGFjdHVhbCBieXRlcyByZWNlaXZlZCAoJUkpIGFuZCBz
ZW50ICglTyk7IHRoaXMKLSMgcmVxdWlyZXMgdGhlIG1vZF9sb2dpbyBtb2R1bGUgdG8gYmUgbG9h
ZGVkLgotI0xvZ0Zvcm1hdCAiJWggJWwgJXUgJXQgXCIlclwiICU+cyAlYiBcIiV7UmVmZXJlcn1p
XCIgXCIle1VzZXItQWdlbnR9aVwiICVJICVPIiBjb21iaW5lZGlvCi0KLSMKLSMgVGhlIGxvY2F0
aW9uIGFuZCBmb3JtYXQgb2YgdGhlIGFjY2VzcyBsb2dmaWxlIChDb21tb24gTG9nZmlsZSBGb3Jt
YXQpLgotIyBJZiB5b3UgZG8gbm90IGRlZmluZSBhbnkgYWNjZXNzIGxvZ2ZpbGVzIHdpdGhpbiBh
IDxWaXJ0dWFsSG9zdD4KLSMgY29udGFpbmVyLCB0aGV5IHdpbGwgYmUgbG9nZ2VkIGhlcmUuICBD
b250cmFyaXdpc2UsIGlmIHlvdSAqZG8qCi0jIGRlZmluZSBwZXItPFZpcnR1YWxIb3N0PiBhY2Nl
c3MgbG9nZmlsZXMsIHRyYW5zYWN0aW9ucyB3aWxsIGJlCi0jIGxvZ2dlZCB0aGVyZWluIGFuZCAq
bm90KiBpbiB0aGlzIGZpbGUuCi0jCi0jQ3VzdG9tTG9nIGxvZ3MvYWNjZXNzX2xvZyBjb21tb24K
LQotIwotIyBJZiB5b3Ugd291bGQgbGlrZSB0byBoYXZlIHNlcGFyYXRlIGFnZW50IGFuZCByZWZl
cmVyIGxvZ2ZpbGVzLCB1bmNvbW1lbnQKLSMgdGhlIGZvbGxvd2luZyBkaXJlY3RpdmVzLgotIwot
I0N1c3RvbUxvZyBsb2dzL3JlZmVyZXJfbG9nIHJlZmVyZXIKLSNDdXN0b21Mb2cgbG9ncy9hZ2Vu
dF9sb2cgYWdlbnQKLQotIwotIyBGb3IgYSBzaW5nbGUgbG9nZmlsZSB3aXRoIGFjY2VzcywgYWdl
bnQsIGFuZCByZWZlcmVyIGluZm9ybWF0aW9uCi0jIChDb21iaW5lZCBMb2dmaWxlIEZvcm1hdCks
IHVzZSB0aGUgZm9sbG93aW5nIGRpcmVjdGl2ZToKLSMKLSNDdXN0b21Mb2cgbG9ncy9hY2Nlc3Nf
bG9nIGNvbWJpbmVkCi0KLSMKLSMgT3B0aW9uYWxseSBhZGQgYSBsaW5lIGNvbnRhaW5pbmcgdGhl
IHNlcnZlciB2ZXJzaW9uIGFuZCB2aXJ0dWFsIGhvc3QKLSMgbmFtZSB0byBzZXJ2ZXItZ2VuZXJh
dGVkIHBhZ2VzIChpbnRlcm5hbCBlcnJvciBkb2N1bWVudHMsIEZUUCBkaXJlY3RvcnkKLSMgbGlz
dGluZ3MsIG1vZF9zdGF0dXMgYW5kIG1vZF9pbmZvIG91dHB1dCBldGMuLCBidXQgbm90IENHSSBn
ZW5lcmF0ZWQKLSMgZG9jdW1lbnRzIG9yIGN1c3RvbSBlcnJvciBkb2N1bWVudHMpLgotIyBTZXQg
dG8gIkVNYWlsIiB0byBhbHNvIGluY2x1ZGUgYSBtYWlsdG86IGxpbmsgdG8gdGhlIFNlcnZlckFk
bWluLgotIyBTZXQgdG8gb25lIG9mOiAgT24gfCBPZmYgfCBFTWFpbAotIwogU2VydmVyU2lnbmF0
dXJlIE9uCiAKLSMKLSMgQWxpYXNlczogQWRkIGhlcmUgYXMgbWFueSBhbGlhc2VzIGFzIHlvdSBu
ZWVkICh3aXRoIG5vIGxpbWl0KS4gVGhlIGZvcm1hdCBpcyAKLSMgQWxpYXMgZmFrZW5hbWUgcmVh
bG5hbWUKLSMKLSMgTm90ZSB0aGF0IGlmIHlvdSBpbmNsdWRlIGEgdHJhaWxpbmcgLyBvbiBmYWtl
bmFtZSB0aGVuIHRoZSBzZXJ2ZXIgd2lsbAotIyByZXF1aXJlIGl0IHRvIGJlIHByZXNlbnQgaW4g
dGhlIFVSTC4gIFNvICIvaWNvbnMiIGlzbid0IGFsaWFzZWQgaW4gdGhpcwotIyBleGFtcGxlLCBv
bmx5ICIvaWNvbnMvIi4gIElmIHRoZSBmYWtlbmFtZSBpcyBzbGFzaC10ZXJtaW5hdGVkLCB0aGVu
IHRoZSAKLSMgcmVhbG5hbWUgbXVzdCBhbHNvIGJlIHNsYXNoIHRlcm1pbmF0ZWQsIGFuZCBpZiB0
aGUgZmFrZW5hbWUgb21pdHMgdGhlIAotIyB0cmFpbGluZyBzbGFzaCwgdGhlIHJlYWxuYW1lIG11
c3QgYWxzbyBvbWl0IGl0LgotIwotIyBXZSBpbmNsdWRlIHRoZSAvaWNvbnMvIGFsaWFzIGZvciBG
YW5jeUluZGV4ZWQgZGlyZWN0b3J5IGxpc3RpbmdzLiAgSWYgeW91Ci0jIGRvIG5vdCB1c2UgRmFu
Y3lJbmRleGluZywgeW91IG1heSBjb21tZW50IHRoaXMgb3V0LgotIwotIwotIyBTY3JpcHRBbGlh
czogVGhpcyBjb250cm9scyB3aGljaCBkaXJlY3RvcmllcyBjb250YWluIHNlcnZlciBzY3JpcHRz
LgotIyBTY3JpcHRBbGlhc2VzIGFyZSBlc3NlbnRpYWxseSB0aGUgc2FtZSBhcyBBbGlhc2VzLCBl
eGNlcHQgdGhhdAotIyBkb2N1bWVudHMgaW4gdGhlIHJlYWxuYW1lIGRpcmVjdG9yeSBhcmUgdHJl
YXRlZCBhcyBhcHBsaWNhdGlvbnMgYW5kCi0jIHJ1biBieSB0aGUgc2VydmVyIHdoZW4gcmVxdWVz
dGVkIHJhdGhlciB0aGFuIGFzIGRvY3VtZW50cyBzZW50IHRvIHRoZSBjbGllbnQuCi0jIFRoZSBz
YW1lIHJ1bGVzIGFib3V0IHRyYWlsaW5nICIvIiBhcHBseSB0byBTY3JpcHRBbGlhcyBkaXJlY3Rp
dmVzIGFzIHRvCi0jIEFsaWFzLgotIwotCi0jCi0jIFJlZGlyZWN0IGFsbG93cyB5b3UgdG8gdGVs
bCBjbGllbnRzIGFib3V0IGRvY3VtZW50cyB3aGljaCB1c2VkIHRvIGV4aXN0IGluCi0jIHlvdXIg
c2VydmVyJ3MgbmFtZXNwYWNlLCBidXQgZG8gbm90IGFueW1vcmUuIFRoaXMgYWxsb3dzIHlvdSB0
byB0ZWxsIHRoZQotIyBjbGllbnRzIHdoZXJlIHRvIGxvb2sgZm9yIHRoZSByZWxvY2F0ZWQgZG9j
dW1lbnQuCi0jIEV4YW1wbGU6Ci0jIFJlZGlyZWN0IHBlcm1hbmVudCAvZm9vIGh0dHA6Ly93d3cu
ZXhhbXBsZS5jb20vYmFyCi0KLSMKLSMgRGlyZWN0aXZlcyBjb250cm9sbGluZyB0aGUgZGlzcGxh
eSBvZiBzZXJ2ZXItZ2VuZXJhdGVkIGRpcmVjdG9yeSBsaXN0aW5ncy4KLSMKLQotIwotIyBBZGRE
ZXNjcmlwdGlvbiBhbGxvd3MgeW91IHRvIHBsYWNlIGEgc2hvcnQgZGVzY3JpcHRpb24gYWZ0ZXIg
YSBmaWxlIGluCi0jIHNlcnZlci1nZW5lcmF0ZWQgaW5kZXhlcy4gIFRoZXNlIGFyZSBvbmx5IGRp
c3BsYXllZCBmb3IgRmFuY3lJbmRleGVkCi0jIGRpcmVjdG9yaWVzLgotIyBGb3JtYXQ6IEFkZERl
c2NyaXB0aW9uICJkZXNjcmlwdGlvbiIgZmlsZW5hbWUKLSMKLSNBZGREZXNjcmlwdGlvbiAiR1pJ
UCBjb21wcmVzc2VkIGRvY3VtZW50IiAuZ3oKLSNBZGREZXNjcmlwdGlvbiAidGFyIGFyY2hpdmUi
IC50YXIKLSNBZGREZXNjcmlwdGlvbiAiR1pJUCBjb21wcmVzc2VkIHRhciBhcmNoaXZlIiAudGd6
Ci0KLSMKLSMgRGVmYXVsdExhbmd1YWdlIGFuZCBBZGRMYW5ndWFnZSBhbGxvd3MgeW91IHRvIHNw
ZWNpZnkgdGhlIGxhbmd1YWdlIG9mIAotIyBhIGRvY3VtZW50LiBZb3UgY2FuIHRoZW4gdXNlIGNv
bnRlbnQgbmVnb3RpYXRpb24gdG8gZ2l2ZSBhIGJyb3dzZXIgYSAKLSMgZmlsZSBpbiBhIGxhbmd1
YWdlIHRoZSB1c2VyIGNhbiB1bmRlcnN0YW5kLgotIwotIyBTcGVjaWZ5IGEgZGVmYXVsdCBsYW5n
dWFnZS4gVGhpcyBtZWFucyB0aGF0IGFsbCBkYXRhCi0jIGdvaW5nIG91dCB3aXRob3V0IGEgc3Bl
Y2lmaWMgbGFuZ3VhZ2UgdGFnIChzZWUgYmVsb3cpIHdpbGwgCi0jIGJlIG1hcmtlZCB3aXRoIHRo
aXMgb25lLiBZb3UgcHJvYmFibHkgZG8gTk9UIHdhbnQgdG8gc2V0Ci0jIHRoaXMgdW5sZXNzIHlv
dSBhcmUgc3VyZSBpdCBpcyBjb3JyZWN0IGZvciBhbGwgY2FzZXMuCi0jCi0jICogSXQgaXMgZ2Vu
ZXJhbGx5IGJldHRlciB0byBub3QgbWFyayBhIHBhZ2UgYXMgCi0jICogYmVpbmcgYSBjZXJ0YWlu
IGxhbmd1YWdlIHRoYW4gbWFya2luZyBpdCB3aXRoIHRoZSB3cm9uZwotIyAqIGxhbmd1YWdlIQot
IwotIyBEZWZhdWx0TGFuZ3VhZ2UgbmwKLSMKLSMgTm90ZSAxOiBUaGUgc3VmZml4IGRvZXMgbm90
IGhhdmUgdG8gYmUgdGhlIHNhbWUgYXMgdGhlIGxhbmd1YWdlCi0jIGtleXdvcmQgLS0tIHRob3Nl
IHdpdGggZG9jdW1lbnRzIGluIFBvbGlzaCAod2hvc2UgbmV0LXN0YW5kYXJkCi0jIGxhbmd1YWdl
IGNvZGUgaXMgcGwpIG1heSB3aXNoIHRvIHVzZSAiQWRkTGFuZ3VhZ2UgcGwgLnBvIiB0bwotIyBh
dm9pZCB0aGUgYW1iaWd1aXR5IHdpdGggdGhlIGNvbW1vbiBzdWZmaXggZm9yIHBlcmwgc2NyaXB0
cy4KLSMKLSMgTm90ZSAyOiBUaGUgZXhhbXBsZSBlbnRyaWVzIGJlbG93IGlsbHVzdHJhdGUgdGhh
dCBpbiBzb21lIGNhc2VzIAotIyB0aGUgdHdvIGNoYXJhY3RlciAnTGFuZ3VhZ2UnIGFiYnJldmlh
dGlvbiBpcyBub3QgaWRlbnRpY2FsIHRvIAotIyB0aGUgdHdvIGNoYXJhY3RlciAnQ291bnRyeScg
Y29kZSBmb3IgaXRzIGNvdW50cnksCi0jIEUuZy4gJ0Rhbm1hcmsvZGsnIHZlcnN1cyAnRGFuaXNo
L2RhJy4KLSMKLSMgTm90ZSAzOiBJbiB0aGUgY2FzZSBvZiAnbHR6JyB3ZSB2aW9sYXRlIHRoZSBS
RkMgYnkgdXNpbmcgYSB0aHJlZSBjaGFyCi0jIHNwZWNpZmllci4gVGhlcmUgaXMgJ3dvcmsgaW4g
cHJvZ3Jlc3MnIHRvIGZpeCB0aGlzIGFuZCBnZXQKLSMgdGhlIHJlZmVyZW5jZSBkYXRhIGZvciBy
ZmMxNzY2IGNsZWFuZWQgdXAuCi0jCi0jIENhdGFsYW4gKGNhKSAtIENyb2F0aWFuIChocikgLSBD
emVjaCAoY3MpIC0gRGFuaXNoIChkYSkgLSBEdXRjaCAobmwpCi0jIEVuZ2xpc2ggKGVuKSAtIEVz
cGVyYW50byAoZW8pIC0gRXN0b25pYW4gKGV0KSAtIEZyZW5jaCAoZnIpIC0gR2VybWFuIChkZSkK
LSMgR3JlZWstTW9kZXJuIChlbCkgLSBIZWJyZXcgKGhlKSAtIEl0YWxpYW4gKGl0KSAtIEphcGFu
ZXNlIChqYSkKLSMgS29yZWFuIChrbykgLSBMdXhlbWJvdXJnZW9pcyogKGx0eikgLSBOb3J3ZWdp
YW4gTnlub3JzayAobm4pCi0jIE5vcndlZ2lhbiAobm8pIC0gUG9saXNoIChwbCkgLSBQb3J0dWdl
c2UgKHB0KQotIyBCcmF6aWxpYW4gUG9ydHVndWVzZSAocHQtQlIpIC0gUnVzc2lhbiAocnUpIC0g
U3dlZGlzaCAoc3YpCi0jIFNpbXBsaWZpZWQgQ2hpbmVzZSAoemgtQ04pIC0gU3BhbmlzaCAoZXMp
IC0gVHJhZGl0aW9uYWwgQ2hpbmVzZSAoemgtVFcpCi0jCiBBZGRMYW5ndWFnZSBjYSAuY2EKIEFk
ZExhbmd1YWdlIGNzIC5jeiAuY3MKIEFkZExhbmd1YWdlIGRhIC5kawpAQCAtNjIyLDI1NSArMTEw
LDI4IEBAIEFkZENoYXJzZXQgVUNTLTIgICAgICAgIC51Y3MyCiBBZGRDaGFyc2V0IFVDUy00ICAg
ICAgICAudWNzNAogQWRkQ2hhcnNldCBVVEYtOCAgICAgICAgLnV0ZjgKIAotIwotIyBMYW5ndWFn
ZVByaW9yaXR5IGFsbG93cyB5b3UgdG8gZ2l2ZSBwcmVjZWRlbmNlIHRvIHNvbWUgbGFuZ3VhZ2Vz
Ci0jIGluIGNhc2Ugb2YgYSB0aWUgZHVyaW5nIGNvbnRlbnQgbmVnb3RpYXRpb24uCi0jCi0jIEp1
c3QgbGlzdCB0aGUgbGFuZ3VhZ2VzIGluIGRlY3JlYXNpbmcgb3JkZXIgb2YgcHJlZmVyZW5jZS4g
V2UgaGF2ZQotIyBtb3JlIG9yIGxlc3MgYWxwaGFiZXRpemVkIHRoZW0gaGVyZS4gWW91IHByb2Jh
Ymx5IHdhbnQgdG8gY2hhbmdlIHRoaXMuCi0jCiA8SWZNb2R1bGUgbW9kX25lZ290aWF0aW9uLmM+
CiAgICAgTGFuZ3VhZ2VQcmlvcml0eSBlbiBjYSBjcyBkYSBkZSBlbCBlbyBlcyBldCBmciBoZSBo
ciBpdCBqYSBrbyBsdHogbmwgbm4gbm8gcGwgcHQgcHQtQlIgcnUgc3YgemgtQ04gemgtVFcKIDwv
SWZNb2R1bGU+CiAKLSMKLSMgRm9yY2VMYW5ndWFnZVByaW9yaXR5IGFsbG93cyB5b3UgdG8gc2Vy
dmUgYSByZXN1bHQgcGFnZSByYXRoZXIgdGhhbgotIyBNVUxUSVBMRSBDSE9JQ0VTIChQcmVmZXIp
IFtpbiBjYXNlIG9mIGEgdGllXSBvciBOT1QgQUNDRVBUQUJMRSAoRmFsbGJhY2spCi0jIFtpbiBj
YXNlIG5vIGFjY2VwdGVkIGxhbmd1YWdlcyBtYXRjaGVkIHRoZSBhdmFpbGFibGUgdmFyaWFudHNd
Ci0jCi0jRm9yY2VMYW5ndWFnZVByaW9yaXR5IFByZWZlciBGYWxsYmFjawotCi0jCi0jIFNwZWNp
ZnkgYSBkZWZhdWx0IGNoYXJzZXQgZm9yIGFsbCBjb250ZW50IHNlcnZlZDsgdGhpcyBlbmFibGVz
Ci0jIGludGVycHJldGF0aW9uIG9mIGFsbCBjb250ZW50IGFzIFVURi04IGJ5IGRlZmF1bHQuICBU
byB1c2UgdGhlIAotIyBkZWZhdWx0IGJyb3dzZXIgY2hvaWNlIChJU08tODg1OS0xKSwgb3IgdG8g
YWxsb3cgdGhlIE1FVEEgdGFncwotIyBpbiBIVE1MIGNvbnRlbnQgdG8gb3ZlcnJpZGUgdGhpcyBj
aG9pY2UsIGNvbW1lbnQgb3V0IHRoaXMKLSMgZGlyZWN0aXZlOgotIwotI0FkZERlZmF1bHRDaGFy
c2V0IFVURi04Ci0KLSMKLSMgQWRkVHlwZSBhbGxvd3MgeW91IHRvIGFkZCB0byBvciBvdmVycmlk
ZSB0aGUgTUlNRSBjb25maWd1cmF0aW9uCi0jIGZpbGUgbWltZS50eXBlcyBmb3Igc3BlY2lmaWMg
ZmlsZSB0eXBlcy4KLSMKLSNBZGRUeXBlIGFwcGxpY2F0aW9uL3gtdGFyIC50Z3oKLQotIwotIyBB
ZGRFbmNvZGluZyBhbGxvd3MgeW91IHRvIGhhdmUgY2VydGFpbiBicm93c2VycyB1bmNvbXByZXNz
Ci0jIGluZm9ybWF0aW9uIG9uIHRoZSBmbHkuIE5vdGU6IE5vdCBhbGwgYnJvd3NlcnMgc3VwcG9y
dCB0aGlzLgotIyBEZXNwaXRlIHRoZSBuYW1lIHNpbWlsYXJpdHksIHRoZSBmb2xsb3dpbmcgQWRk
KiBkaXJlY3RpdmVzIGhhdmUgbm90aGluZwotIyB0byBkbyB3aXRoIHRoZSBGYW5jeUluZGV4aW5n
IGN1c3RvbWl6YXRpb24gZGlyZWN0aXZlcyBhYm92ZS4KLSMKIEFkZEVuY29kaW5nIHgtY29tcHJl
c3MgLloKIEFkZEVuY29kaW5nIHgtZ3ppcCAuZ3ogLnRnegogCi0jIElmIHRoZSBBZGRFbmNvZGlu
ZyBkaXJlY3RpdmVzIGFib3ZlIGFyZSBjb21tZW50ZWQtb3V0LCB0aGVuIHlvdQotIyBwcm9iYWJs
eSBzaG91bGQgZGVmaW5lIHRob3NlIGV4dGVuc2lvbnMgdG8gaW5kaWNhdGUgbWVkaWEgdHlwZXM6
Ci0jCi0jQWRkVHlwZSBhcHBsaWNhdGlvbi94LWNvbXByZXNzIC5aCi0jQWRkVHlwZSBhcHBsaWNh
dGlvbi94LWd6aXAgLmd6IC50Z3oKLQotIwotIyAgIE1JTUUtdHlwZXMgZm9yIGRvd25sb2FkaW5n
IENlcnRpZmljYXRlcyBhbmQgQ1JMcwotIwogQWRkVHlwZSBhcHBsaWNhdGlvbi94LXg1MDktY2Et
Y2VydCAuY3J0CiBBZGRUeXBlIGFwcGxpY2F0aW9uL3gtcGtjczctY3JsICAgIC5jcmwKIAotIwot
IyBBZGRIYW5kbGVyIGFsbG93cyB5b3UgdG8gbWFwIGNlcnRhaW4gZmlsZSBleHRlbnNpb25zIHRv
ICJoYW5kbGVycyI6Ci0jIGFjdGlvbnMgdW5yZWxhdGVkIHRvIGZpbGV0eXBlLiBUaGVzZSBjYW4g
YmUgZWl0aGVyIGJ1aWx0IGludG8gdGhlIHNlcnZlcgotIyBvciBhZGRlZCB3aXRoIHRoZSBBY3Rp
b24gZGlyZWN0aXZlIChzZWUgYmVsb3cpCi0jCi0jIFRvIHVzZSBDR0kgc2NyaXB0cyBvdXRzaWRl
IG9mIFNjcmlwdEFsaWFzZWQgZGlyZWN0b3JpZXM6Ci0jIChZb3Ugd2lsbCBhbHNvIG5lZWQgdG8g
YWRkICJFeGVjQ0dJIiB0byB0aGUgIk9wdGlvbnMiIGRpcmVjdGl2ZS4pCi0jCiBBZGRIYW5kbGVy
IGNnaS1zY3JpcHQgLmNnaSAucGwKIAotIwotIyBGaWx0ZXJzIGFsbG93IHlvdSB0byBwcm9jZXNz
IGNvbnRlbnQgYmVmb3JlIGl0IGlzIHNlbnQgdG8gdGhlIGNsaWVudC4KLSMKLSMgVG8gcGFyc2Ug
LnNodG1sIGZpbGVzIGZvciBzZXJ2ZXItc2lkZSBpbmNsdWRlcyAoU1NJKToKLSMgKFlvdSB3aWxs
IGFsc28gbmVlZCB0byBhZGQgIkluY2x1ZGVzIiB0byB0aGUgIk9wdGlvbnMiIGRpcmVjdGl2ZS4p
Ci0jCiBBZGRUeXBlIHRleHQvaHRtbCAuc2h0bWwKIEFkZE91dHB1dEZpbHRlciBJTkNMVURFUyAu
c2h0bWwKIAotIwotIyBGb3IgZmlsZXMgdGhhdCBpbmNsdWRlIHRoZWlyIG93biBIVFRQIGhlYWRl
cnM6Ci0jCiBBZGRIYW5kbGVyIHNlbmQtYXMtaXMgYXNpcwogCi0jCi0jIEZvciB0eXBlIG1hcHMg
KG5lZ290aWF0ZWQgcmVzb3VyY2VzKToKLSMgKFRoaXMgaXMgZW5hYmxlZCBieSBkZWZhdWx0IHRv
IGFsbG93IHRoZSBBcGFjaGUgIkl0IFdvcmtlZCIgcGFnZQotIyAgdG8gYmUgZGlzdHJpYnV0ZWQg
aW4gbXVsdGlwbGUgbGFuZ3VhZ2VzLikKLSMKLSNBZGRIYW5kbGVyIHR5cGUtbWFwIHZhcgotCi0j
Ci0jIEFjdGlvbiBsZXRzIHlvdSBkZWZpbmUgbWVkaWEgdHlwZXMgdGhhdCB3aWxsIGV4ZWN1dGUg
YSBzY3JpcHQgd2hlbmV2ZXIKLSMgYSBtYXRjaGluZyBmaWxlIGlzIGNhbGxlZC4gVGhpcyBlbGlt
aW5hdGVzIHRoZSBuZWVkIGZvciByZXBlYXRlZCBVUkwKLSMgcGF0aG5hbWVzIGZvciBvZnQtdXNl
ZCBDR0kgZmlsZSBwcm9jZXNzb3JzLgotIyBGb3JtYXQ6IEFjdGlvbiBtZWRpYS90eXBlIC9jZ2kt
c2NyaXB0L2xvY2F0aW9uCi0jIEZvcm1hdDogQWN0aW9uIGhhbmRsZXItbmFtZSAvY2dpLXNjcmlw
dC9sb2NhdGlvbgotIwotCi0jCi0jIEN1c3RvbWl6YWJsZSBlcnJvciByZXNwb25zZXMgY29tZSBp
biB0aHJlZSBmbGF2b3JzOgotIyAxKSBwbGFpbiB0ZXh0IDIpIGxvY2FsIHJlZGlyZWN0cyAzKSBl
eHRlcm5hbCByZWRpcmVjdHMKLSMKLSMgU29tZSBleGFtcGxlczoKLSNFcnJvckRvY3VtZW50IDUw
MCAiVGhlIHNlcnZlciBtYWRlIGEgYm9vIGJvby4iCi0jRXJyb3JEb2N1bWVudCA0MDQgL21pc3Np
bmcuaHRtbAotI0Vycm9yRG9jdW1lbnQgNDA0ICIvY2dpLWJpbi9taXNzaW5nX2hhbmRsZXIucGwi
Ci0jRXJyb3JEb2N1bWVudCA0MDIgaHR0cDovL3d3dy5leGFtcGxlLmNvbS9zdWJzY3JpcHRpb25f
aW5mby5odG1sCi0jCi0KLSMKLSMgUHV0dGluZyB0aGlzIGFsbCB0b2dldGhlciwgd2UgY2FuIGlu
dGVybmF0aW9uYWxpemUgZXJyb3IgcmVzcG9uc2VzLgotIwotIyBXZSB1c2UgQWxpYXMgdG8gcmVk
aXJlY3QgYW55IC9lcnJvci9IVFRQXzxlcnJvcj4uaHRtbC52YXIgcmVzcG9uc2UgdG8KLSMgb3Vy
IGNvbGxlY3Rpb24gb2YgYnktZXJyb3IgbWVzc2FnZSBtdWx0aS1sYW5ndWFnZSBjb2xsZWN0aW9u
cy4gIFdlIHVzZSAKLSMgaW5jbHVkZXMgdG8gc3Vic3RpdHV0ZSB0aGUgYXBwcm9wcmlhdGUgdGV4
dC4KLSMKLSMgWW91IGNhbiBtb2RpZnkgdGhlIG1lc3NhZ2VzJyBhcHBlYXJhbmNlIHdpdGhvdXQg
Y2hhbmdpbmcgYW55IG9mIHRoZQotIyBkZWZhdWx0IEhUVFBfPGVycm9yPi5odG1sLnZhciBmaWxl
cyBieSBhZGRpbmcgdGhlIGxpbmU6Ci0jCi0jICAgQWxpYXMgL2Vycm9yL2luY2x1ZGUvICIveW91
ci9pbmNsdWRlL3BhdGgvIgotIwotIyB3aGljaCBhbGxvd3MgeW91IHRvIGNyZWF0ZSB5b3VyIG93
biBzZXQgb2YgZmlsZXMgYnkgc3RhcnRpbmcgd2l0aCB0aGUKLSMgL3Zhci93d3cvZXJyb3IvaW5j
bHVkZS8gZmlsZXMgYW5kCi0jIGNvcHlpbmcgdGhlbSB0byAveW91ci9pbmNsdWRlL3BhdGgvLCBl
dmVuIG9uIGEgcGVyLVZpcnR1YWxIb3N0IGJhc2lzLgotIwotCi0jCi0jIFRoZSBmb2xsb3dpbmcg
ZGlyZWN0aXZlcyBtb2RpZnkgbm9ybWFsIEhUVFAgcmVzcG9uc2UgYmVoYXZpb3IgdG8KLSMgaGFu
ZGxlIGtub3duIHByb2JsZW1zIHdpdGggYnJvd3NlciBpbXBsZW1lbnRhdGlvbnMuCi0jCi0jQnJv
d3Nlck1hdGNoICJNb3ppbGxhLzIiIG5va2VlcGFsaXZlCi0jQnJvd3Nlck1hdGNoICJNU0lFIDRc
LjBiMjsiIG5va2VlcGFsaXZlIGRvd25ncmFkZS0xLjAgZm9yY2UtcmVzcG9uc2UtMS4wCi0jQnJv
d3Nlck1hdGNoICJSZWFsUGxheWVyIDRcLjAiIGZvcmNlLXJlc3BvbnNlLTEuMAotI0Jyb3dzZXJN
YXRjaCAiSmF2YS8xXC4wIiBmb3JjZS1yZXNwb25zZS0xLjAKLSNCcm93c2VyTWF0Y2ggIkpESy8x
XC4wIiBmb3JjZS1yZXNwb25zZS0xLjAKLQotIwotIyBUaGUgZm9sbG93aW5nIGRpcmVjdGl2ZSBk
aXNhYmxlcyByZWRpcmVjdHMgb24gbm9uLUdFVCByZXF1ZXN0cyBmb3IKLSMgYSBkaXJlY3Rvcnkg
dGhhdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB0cmFpbGluZyBzbGFzaC4gIFRoaXMgZml4ZXMgYSAK
LSMgcHJvYmxlbSB3aXRoIE1pY3Jvc29mdCBXZWJGb2xkZXJzIHdoaWNoIGRvZXMgbm90IGFwcHJv
cHJpYXRlbHkgaGFuZGxlIAotIyByZWRpcmVjdHMgZm9yIGZvbGRlcnMgd2l0aCBEQVYgbWV0aG9k
cy4KLSMgU2FtZSBkZWFsIHdpdGggQXBwbGUncyBEQVYgZmlsZXN5c3RlbSBhbmQgR25vbWUgVkZT
IHN1cHBvcnQgZm9yIERBVi4KLSMKLSNCcm93c2VyTWF0Y2ggIk1pY3Jvc29mdCBEYXRhIEFjY2Vz
cyBJbnRlcm5ldCBQdWJsaXNoaW5nIFByb3ZpZGVyIiByZWRpcmVjdC1jYXJlZnVsbHkKLSNCcm93
c2VyTWF0Y2ggIk1TIEZyb250UGFnZSIgcmVkaXJlY3QtY2FyZWZ1bGx5Ci0jQnJvd3Nlck1hdGNo
ICJeV2ViRHJpdmUiIHJlZGlyZWN0LWNhcmVmdWxseQotI0Jyb3dzZXJNYXRjaCAiXldlYkRBVkZT
LzEuWzAxMjNdIiByZWRpcmVjdC1jYXJlZnVsbHkKLSNCcm93c2VyTWF0Y2ggIl5nbm9tZS12ZnMv
MS4wIiByZWRpcmVjdC1jYXJlZnVsbHkKLSNCcm93c2VyTWF0Y2ggIl5YTUwgU3B5IiByZWRpcmVj
dC1jYXJlZnVsbHkKLSNCcm93c2VyTWF0Y2ggIl5EcmVhbXdlYXZlci1XZWJEQVYtU0NNMSIgcmVk
aXJlY3QtY2FyZWZ1bGx5Ci0KLSMKLSMgQWxsb3cgc2VydmVyIHN0YXR1cyByZXBvcnRzIGdlbmVy
YXRlZCBieSBtb2Rfc3RhdHVzLAotIyB3aXRoIHRoZSBVUkwgb2YgaHR0cDovL3NlcnZlcm5hbWUv
c2VydmVyLXN0YXR1cwotIyBDaGFuZ2UgdGhlICIuZXhhbXBsZS5jb20iIHRvIG1hdGNoIHlvdXIg
ZG9tYWluIHRvIGVuYWJsZS4KLSMKLSM8TG9jYXRpb24gL3NlcnZlci1zdGF0dXM+Ci0jICAgIFNl
dEhhbmRsZXIgc2VydmVyLXN0YXR1cwotIyAgICBPcmRlciBkZW55LGFsbG93Ci0jICAgIERlbnkg
ZnJvbSBhbGwKLSMgICAgQWxsb3cgZnJvbSAuZXhhbXBsZS5jb20KLSM8L0xvY2F0aW9uPgotCi0j
Ci0jIEFsbG93IHJlbW90ZSBzZXJ2ZXIgY29uZmlndXJhdGlvbiByZXBvcnRzLCB3aXRoIHRoZSBV
Ukwgb2YKLSMgIGh0dHA6Ly9zZXJ2ZXJuYW1lL3NlcnZlci1pbmZvIChyZXF1aXJlcyB0aGF0IG1v
ZF9pbmZvLmMgYmUgbG9hZGVkKS4KLSMgQ2hhbmdlIHRoZSAiLmV4YW1wbGUuY29tIiB0byBtYXRj
aCB5b3VyIGRvbWFpbiB0byBlbmFibGUuCi0jCi0jPExvY2F0aW9uIC9zZXJ2ZXItaW5mbz4KLSMg
ICAgU2V0SGFuZGxlciBzZXJ2ZXItaW5mbwotIyAgICBPcmRlciBkZW55LGFsbG93Ci0jICAgIERl
bnkgZnJvbSBhbGwKLSMgICAgQWxsb3cgZnJvbSAuZXhhbXBsZS5jb20KLSM8L0xvY2F0aW9uPgot
Ci0jCi0jIFByb3h5IFNlcnZlciBkaXJlY3RpdmVzLiBVbmNvbW1lbnQgdGhlIGZvbGxvd2luZyBs
aW5lcyB0bwotIyBlbmFibGUgdGhlIHByb3h5IHNlcnZlcjoKLSMKLSM8SWZNb2R1bGUgbW9kX3By
b3h5LmM+Ci0jUHJveHlSZXF1ZXN0cyBPbgotIwotIzxQcm94eSAqPgotIyAgICBPcmRlciBkZW55
LGFsbG93Ci0jICAgIERlbnkgZnJvbSBhbGwKLSMgICAgQWxsb3cgZnJvbSAuZXhhbXBsZS5jb20K
LSM8L1Byb3h5PgotCi0jCi0jIEVuYWJsZS9kaXNhYmxlIHRoZSBoYW5kbGluZyBvZiBIVFRQLzEu
MSAiVmlhOiIgaGVhZGVycy4KLSMgKCJGdWxsIiBhZGRzIHRoZSBzZXJ2ZXIgdmVyc2lvbjsgIkJs
b2NrIiByZW1vdmVzIGFsbCBvdXRnb2luZyBWaWE6IGhlYWRlcnMpCi0jIFNldCB0byBvbmUgb2Y6
IE9mZiB8IE9uIHwgRnVsbCB8IEJsb2NrCi0jCi0jUHJveHlWaWEgT24KLQotIwotIyBUbyBlbmFi
bGUgYSBjYWNoZSBvZiBwcm94aWVkIGNvbnRlbnQsIHVuY29tbWVudCB0aGUgZm9sbG93aW5nIGxp
bmVzLgotIyBTZWUgaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8yLjIvbW9kL21vZF9jYWNo
ZS5odG1sIGZvciBtb3JlIGRldGFpbHMuCi0jCi0jPElmTW9kdWxlIG1vZF9kaXNrX2NhY2hlLmM+
Ci0jICAgQ2FjaGVFbmFibGUgZGlzayAvCi0jICAgQ2FjaGVSb290ICIvdmFyL2NhY2hlL21vZF9w
cm94eSIKLSM8L0lmTW9kdWxlPgotIwotCi0jPC9JZk1vZHVsZT4KLSMgRW5kIG9mIHByb3h5IGRp
cmVjdGl2ZXMuCi0KLSMjIyBTZWN0aW9uIDM6IFZpcnR1YWwgSG9zdHMKLSMKLSMgVmlydHVhbEhv
c3Q6IElmIHlvdSB3YW50IHRvIG1haW50YWluIG11bHRpcGxlIGRvbWFpbnMvaG9zdG5hbWVzIG9u
IHlvdXIKLSMgbWFjaGluZSB5b3UgY2FuIHNldHVwIFZpcnR1YWxIb3N0IGNvbnRhaW5lcnMgZm9y
IHRoZW0uIE1vc3QgY29uZmlndXJhdGlvbnMKLSMgdXNlIG9ubHkgbmFtZS1iYXNlZCB2aXJ0dWFs
IGhvc3RzIHNvIHRoZSBzZXJ2ZXIgZG9lc24ndCBuZWVkIHRvIHdvcnJ5IGFib3V0Ci0jIElQIGFk
ZHJlc3Nlcy4gVGhpcyBpcyBpbmRpY2F0ZWQgYnkgdGhlIGFzdGVyaXNrcyBpbiB0aGUgZGlyZWN0
aXZlcyBiZWxvdy4KLSMKLSMgUGxlYXNlIHNlZSB0aGUgZG9jdW1lbnRhdGlvbiBhdCAKLSMgPFVS
TDpodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy9kb2NzLzIuMi92aG9zdHMvPgotIyBmb3IgZnVydGhl
ciBkZXRhaWxzIGJlZm9yZSB5b3UgdHJ5IHRvIHNldHVwIHZpcnR1YWwgaG9zdHMuCi0jCi0jIFlv
dSBtYXkgdXNlIHRoZSBjb21tYW5kIGxpbmUgb3B0aW9uICctUycgdG8gdmVyaWZ5IHlvdXIgdmly
dHVhbCBob3N0Ci0jIGNvbmZpZ3VyYXRpb24uCi0KLSMKLSMgVXNlIG5hbWUtYmFzZWQgdmlydHVh
bCBob3N0aW5nLgotIwotI05hbWVWaXJ0dWFsSG9zdCAqOjgwCi0jCi0jIE5PVEU6IE5hbWVWaXJ0
dWFsSG9zdCBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IGEgcG9ydCBzcGVjaWZpZXIgCi0jIChlLmcu
IDo4MCkgaWYgbW9kX3NzbCBpcyBiZWluZyB1c2VkLCBkdWUgdG8gdGhlIG5hdHVyZSBvZiB0aGUK
LSMgU1NMIHByb3RvY29sLgotIwotCi0jCi0jIFZpcnR1YWxIb3N0IGV4YW1wbGU6Ci0jIEFsbW9z
dCBhbnkgQXBhY2hlIGRpcmVjdGl2ZSBtYXkgZ28gaW50byBhIFZpcnR1YWxIb3N0IGNvbnRhaW5l
ci4KLSMgVGhlIGZpcnN0IFZpcnR1YWxIb3N0IHNlY3Rpb24gaXMgdXNlZCBmb3IgcmVxdWVzdHMg
d2l0aG91dCBhIGtub3duCi0jIHNlcnZlciBuYW1lLgotIwotIzxWaXJ0dWFsSG9zdCAqOjgwPgot
IyAgICBTZXJ2ZXJBZG1pbiB3ZWJtYXN0ZXJAZHVtbXktaG9zdC5leGFtcGxlLmNvbQotIyAgICBE
b2N1bWVudFJvb3QgL3d3dy9kb2NzL2R1bW15LWhvc3QuZXhhbXBsZS5jb20KLSMgICAgU2VydmVy
TmFtZSBkdW1teS1ob3N0LmV4YW1wbGUuY29tCi0jICAgIEVycm9yTG9nIGxvZ3MvZHVtbXktaG9z
dC5leGFtcGxlLmNvbS1lcnJvcl9sb2cKLSMgICAgQ3VzdG9tTG9nIGxvZ3MvZHVtbXktaG9zdC5l
eGFtcGxlLmNvbS1hY2Nlc3NfbG9nIGNvbW1vbgotIzwvVmlydHVhbEhvc3Q+Ci0KIDxJZk1vZHVs
ZSBtb2RfcGhwNS5jPgotICAgICMgSWYgcGhwIGlzIHR1cm5lZCBvbiwgd2UgcmVwc2VjdCAucGhw
IGFuZCAucGhwcyBmaWxlcy4KICAgICBBZGRUeXBlIGFwcGxpY2F0aW9uL3gtaHR0cGQtcGhwIC5w
aHAKICAgICBBZGRUeXBlIGFwcGxpY2F0aW9uL3gtaHR0cGQtcGhwIC5iYXQKICAgICBBZGRUeXBl
IGFwcGxpY2F0aW9uL3gtaHR0cGQtcGhwLXNvdXJjZSAucGhwcwogCi0gICAgIyBTaW5jZSBtb3N0
IHVzZXJzIHdpbGwgd2FudCBpbmRleC5waHAgdG8gd29yayB3ZQotICAgICMgYWxzbyBhdXRvbWF0
aWNhbGx5IGVuYWJsZSBpbmRleC5waHAKICAgICA8SWZNb2R1bGUgbW9kX2Rpci5jPgogICAgICAg
ICBEaXJlY3RvcnlJbmRleCBpbmRleC5odG1sIGluZGV4LnBocAogICAgIDwvSWZNb2R1bGU+CkBA
IC04ODksMyArMTUwLDE4IEBAIEFkZEhhbmRsZXIgc2VuZC1hcy1pcyBhc2lzCiAgICAgU2VydmVy
TmFtZSAxMjcuMC4wLjEKICAgICBTU0xFbmdpbmUgT24KIDwvVmlydHVhbEhvc3Q+CisKKyMKKyMg
QXBwbGUtc3BlY2lmaWMgZmlsZXN5c3RlbSBwcm90ZWN0aW9uLgorIworPEZpbGVzICJyc3JjIj4K
KyAgICBPcmRlciBhbGxvdyxkZW55CisgICAgRGVueSBmcm9tIGFsbAorICAgIFNhdGlzZnkgQWxs
Cis8L0ZpbGVzPgorCis8RGlyZWN0b3J5ICB+ICIuKlwuXC5uYW1lZGZvcmsiPgorICAgIE9yZGVy
IGFsbG93LGRlbnkKKyAgICBEZW55IGZyb20gYWxsCisgICAgU2F0aXNmeSBBbGwKKzwvRGlyZWN0
b3J5Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>