<?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>205658</bug_id>
          
          <creation_ts>2019-12-31 11:23:48 -0800</creation_ts>
          <short_desc>[GTK][WPE] Migrate to Flatpak-based dev SDK</short_desc>
          <delta_ts>2020-03-25 23:02:39 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=208106</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=209221</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=209238</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>205775</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Philippe Normand">pnormand</reporter>
          <assigned_to name="Philippe Normand">pnormand</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>agomez</cc>
    
    <cc>aperez</cc>
    
    <cc>clopez</cc>
    
    <cc>dbates</cc>
    
    <cc>dpino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>jbedard</cc>
    
    <cc>ltilve</cc>
    
    <cc>pgriffis</cc>
    
    <cc>tsaunier</cc>
    
    <cc>twilco.o</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1601996</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-12-31 11:23:48 -0800</bug_when>
    <thetext>With the patch I will upload we could progressively migrate away from jhbuild to flatpak. By default flatpak would be used and initially the bots would set the WEBKIT_JHBUILD env var to keep the existing setup. Then one by one we could switch the bots and EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601997</commentid>
    <comment_count>1</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-12-31 11:25:55 -0800</bug_when>
    <thetext>Flipping the switch for all bots in one go seems quite a challenge, hence the step-by-step idea...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602162</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-02 09:32:48 -0800</bug_when>
    <thetext>(In reply to Philippe Normand from comment #0)
&gt; With the patch I will upload we could progressively migrate away from
&gt; jhbuild to flatpak. By default flatpak would be used and initially the bots
&gt; would set the WEBKIT_JHBUILD env var to keep the existing setup. Then one by
&gt; one we could switch the bots and EWS.

Please do the other way around.

Leave the default to be the current one (jhbuild), and use flatpak if a env var like WEBKIT_FLATPAK is set.

We then start setting this env var on the bots, one by one, and testing them.

Finally, if we get to the point were things work as expected with flatpak we make the default be flatpak.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602164</commentid>
    <comment_count>3</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-02 09:47:51 -0800</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #2)
&gt; (In reply to Philippe Normand from comment #0)
&gt; &gt; With the patch I will upload we could progressively migrate away from
&gt; &gt; jhbuild to flatpak. By default flatpak would be used and initially the bots
&gt; &gt; would set the WEBKIT_JHBUILD env var to keep the existing setup. Then one by
&gt; &gt; one we could switch the bots and EWS.
&gt; 
&gt; Please do the other way around.
&gt; 
&gt; Leave the default to be the current one (jhbuild), and use flatpak if a env
&gt; var like WEBKIT_FLATPAK is set.
&gt; 
&gt; We then start setting this env var on the bots, one by one, and testing them.
&gt; 
&gt; Finally, if we get to the point were things work as expected with flatpak we
&gt; make the default be flatpak.

Seems to be more work to me, I&apos;d rather try as initially proposed?
By switching build-webkit by default initially we would get more feedback. People are lazy and might be reluctant to set an env var :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602167</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-02 10:42:10 -0800</bug_when>
    <thetext>(In reply to Philippe Normand from comment #3)
&gt; (In reply to Carlos Alberto Lopez Perez from comment #2)
&gt; &gt; (In reply to Philippe Normand from comment #0)
&gt; &gt; &gt; With the patch I will upload we could progressively migrate away from
&gt; &gt; &gt; jhbuild to flatpak. By default flatpak would be used and initially the bots
&gt; &gt; &gt; would set the WEBKIT_JHBUILD env var to keep the existing setup. Then one by
&gt; &gt; &gt; one we could switch the bots and EWS.
&gt; &gt; 
&gt; &gt; Please do the other way around.
&gt; &gt; 
&gt; &gt; Leave the default to be the current one (jhbuild), and use flatpak if a env
&gt; &gt; var like WEBKIT_FLATPAK is set.
&gt; &gt; 
&gt; &gt; We then start setting this env var on the bots, one by one, and testing them.
&gt; &gt; 
&gt; &gt; Finally, if we get to the point were things work as expected with flatpak we
&gt; &gt; make the default be flatpak.
&gt; 
&gt; Seems to be more work to me, I&apos;d rather try as initially proposed?
&gt; By switching build-webkit by default initially we would get more feedback.
&gt; People are lazy and might be reluctant to set an env var :)

I don&apos;t think its more work, but I buy your argument of getting more feedback as you suggest. So let&apos;s try as you propose.

What is the implementation idea? update-webkitgtk-libs to execute update-webkitgtk-flatpak if the environment variable is not set?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602176</commentid>
    <comment_count>5</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-02 10:59:41 -0800</bug_when>
    <thetext>On a first run build-webkit will bootstrap everything itself :)
But yeah right, I need to check the update-*flatpak scripts indeed, they would update the flatpak user-tree (run some `flatpak update` on it).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602177</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-02 11:08:49 -0800</bug_when>
    <thetext>(In reply to Philippe Normand from comment #5)
&gt; On a first run build-webkit will bootstrap everything itself :)

I think that&apos;s not ok.

build-webkit should only use the jhbuild or the flatpak if it detects that the jhbuild or flatpak has been previously built (Check shouldUseJhbuild() and shouldUseFlatpak() in Tools/Scripts/webkitdirs.pm)

If the user (or the bot) its not using the internal jhbuild, then build-webkit should continue building without it (or without flatpak).


&gt; But yeah right, I need to check the update-*flatpak scripts indeed, they
&gt; would update the flatpak user-tree (run some `flatpak update` on it).

Currently all bots that build with jhbuild run a step called &quot;updated gtk dependencies&quot; before running build-webkit. That step simply executes update-webkitgtk-libs.

I think its simply a matter of making this script call into update-webkitgtk-flatpak if the env var is not set.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602490</commentid>
    <comment_count>7</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-03 10:00:35 -0800</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #6)
&gt; (In reply to Philippe Normand from comment #5)
&gt; &gt; On a first run build-webkit will bootstrap everything itself :)
&gt; 

Maybe I was wrong here, I&apos;ll double-check...

&gt; I think that&apos;s not ok.
&gt; 
&gt; build-webkit should only use the jhbuild or the flatpak if it detects that
&gt; the jhbuild or flatpak has been previously built (Check shouldUseJhbuild()
&gt; and shouldUseFlatpak() in Tools/Scripts/webkitdirs.pm)
&gt; 

Yes of course, I do know about those routines :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602772</commentid>
    <comment_count>8</comment_count>
      <attachid>386766</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-04 10:59:01 -0800</bug_when>
    <thetext>Created attachment 386766
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603074</commentid>
    <comment_count>9</comment_count>
      <attachid>386766</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-06 09:10:11 -0800</bug_when>
    <thetext>Comment on attachment 386766
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=386766&amp;action=review

&gt; Tools/ChangeLog:16
&gt; +        Flatpak repository hosted at https://software.igalia.com. The
&gt; +        repository can be regenerated with the scripts from the
&gt; +        webkit-flatpak-sdk Github project
&gt; +        (https://github.com/Igalia/webkit-flatpak-sdk). This is done

I don&apos;t like the idea of having a separate repository in github for hosting the SDK.
I think the SDK source code should be moved to inside the WebKit repository (likely under the Tools directory)
so the usual review and commit policies can be followed

&gt; Tools/BuildSlaveSupport/ews-build/steps.py:745
&gt;      description = [&apos;updating gtk dependencies&apos;]
&gt;      descriptionDone = [&apos;Updated gtk dependencies&apos;]
&gt;      command = [&apos;perl&apos;, &apos;Tools/Scripts/update-webkitgtk-libs&apos;]
&gt; +    env = {&apos;WEBKIT_JHBUILD&apos;: &apos;1&apos;}
&gt;      haltOnFailure = False

I don&apos;t think we should set this environment variable from the EWS master.
This is something each worker should set in its on local environment if needed.

&gt; Tools/BuildSlaveSupport/ews-build/steps.py:756
&gt; +    env = {&apos;WEBKIT_JHBUILD&apos;: &apos;1&apos;}

Ditto

&gt; Tools/BuildSlaveSupport/ews-build/steps.py:828
&gt; +        if platform in (&apos;gtk&apos;, &apos;wpe&apos;):
&gt; +            self.env[&apos;WEBKIT_JHBUILD&apos;] = &apos;1&apos;

Ditto

&gt; Tools/BuildSlaveSupport/gtk/buildbot/run:70
&gt; +		WEBKIT_JHBUILD=1 \

Ditto.
Actually this file is not used anywhere. Its just legacy.

&gt; Tools/Scripts/webkitpy/common/system/executive.py:353
&gt; +        if sys.platform.startswith(&apos;linux&apos;):
&gt; +            command = [&quot;pkill&quot;, &quot;-u&quot;, os.getenv(&quot;USER&quot;), &quot;-x&quot;, process_name]
&gt; +        else:
&gt; +            command = [&quot;killall&quot;, &quot;-TERM&quot;, &quot;-u&quot;, os.getenv(&quot;USER&quot;), process_name]

Why this change? Isn&apos;t killall available on the flatpak environ?

&gt; Tools/Scripts/webkitpy/port/base.py:1223
&gt; -        for path in [&quot;/usr/sbin/httpd&quot;, &quot;/usr/sbin/apache2&quot;, &quot;/app/bin/httpd&quot;]:
&gt; +        for path in [&quot;/usr/sbin/httpd&quot;, &quot;/usr/sbin/apache2&quot;, &quot;/usr/bin/httpd&quot;]:

This looks wrong. Please add &quot;/app/bin/httpd&quot; but don&apos;t remove &quot;/usr/bin/httpd&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603111</commentid>
    <comment_count>10</comment_count>
      <attachid>386766</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-06 10:15:39 -0800</bug_when>
    <thetext>Comment on attachment 386766
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=386766&amp;action=review

&gt;&gt; Tools/BuildSlaveSupport/gtk/buildbot/run:70
&gt;&gt; +		WEBKIT_JHBUILD=1 \
&gt; 
&gt; Ditto.
&gt; Actually this file is not used anywhere. Its just legacy.

Let&apos;s remove it then. It&apos;s confusing :)

&gt;&gt; Tools/Scripts/webkitpy/common/system/executive.py:353
&gt;&gt; +            command = [&quot;killall&quot;, &quot;-TERM&quot;, &quot;-u&quot;, os.getenv(&quot;USER&quot;), process_name]
&gt; 
&gt; Why this change? Isn&apos;t killall available on the flatpak environ?

No. killall is part of psmisc, not shipped by default in the FDO runtime. Perhaps I can add it in ours though...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603235</commentid>
    <comment_count>11</comment_count>
      <attachid>386766</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-06 13:11:33 -0800</bug_when>
    <thetext>Comment on attachment 386766
Patch

anoter thing I noticed: flatpak packages are missing from Tools/gtk/install-dependencies and the wpe counterpart</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603238</commentid>
    <comment_count>12</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-06 13:19:38 -0800</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #11)
&gt; Comment on attachment 386766 [details]
&gt; Patch
&gt; 
&gt; anoter thing I noticed: flatpak packages are missing from
&gt; Tools/gtk/install-dependencies and the wpe counterpart

Please do. Otherwise there are more scripts to be modified like Tools/BuildSlaveSupport/kill-old-processes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603239</commentid>
    <comment_count>13</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-06 13:20:17 -0800</bug_when>
    <thetext>(In reply to Philippe Normand from comment #10)
&gt; 
&gt; &gt;&gt; Tools/Scripts/webkitpy/common/system/executive.py:353
&gt; &gt;&gt; +            command = [&quot;killall&quot;, &quot;-TERM&quot;, &quot;-u&quot;, os.getenv(&quot;USER&quot;), process_name]
&gt; &gt; 
&gt; &gt; Why this change? Isn&apos;t killall available on the flatpak environ?
&gt; 
&gt; No. killall is part of psmisc, not shipped by default in the FDO runtime.
&gt; Perhaps I can add it in ours though...

Please do. Otherwise there are more scripts to be modified like Tools/BuildSlaveSupport/kill-old-processes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603497</commentid>
    <comment_count>14</comment_count>
      <attachid>386766</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-07 02:04:12 -0800</bug_when>
    <thetext>Comment on attachment 386766
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=386766&amp;action=review

&gt;&gt; Tools/Scripts/webkitpy/port/base.py:1223
&gt;&gt; +        for path in [&quot;/usr/sbin/httpd&quot;, &quot;/usr/sbin/apache2&quot;, &quot;/usr/bin/httpd&quot;]:
&gt; 
&gt; This looks wrong. Please add &quot;/app/bin/httpd&quot; but don&apos;t remove &quot;/usr/bin/httpd&quot;

No, it&apos;s correct. In the SDK the /app mount-point only contains the WebKit/ directory... Apache is installed in /usr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603519</commentid>
    <comment_count>15</comment_count>
      <attachid>386766</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-07 04:10:19 -0800</bug_when>
    <thetext>Comment on attachment 386766
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=386766&amp;action=review

&gt;&gt;&gt; Tools/Scripts/webkitpy/port/base.py:1223
&gt;&gt;&gt; +        for path in [&quot;/usr/sbin/httpd&quot;, &quot;/usr/sbin/apache2&quot;, &quot;/usr/bin/httpd&quot;]:
&gt;&gt; 
&gt;&gt; This looks wrong. Please add &quot;/app/bin/httpd&quot; but don&apos;t remove &quot;/usr/bin/httpd&quot;
&gt; 
&gt; No, it&apos;s correct. In the SDK the /app mount-point only contains the WebKit/ directory... Apache is installed in /usr.

Ok. I see.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603520</commentid>
    <comment_count>16</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-07 04:11:09 -0800</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #13)
&gt; (In reply to Philippe Normand from comment #10)
&gt; &gt; 
&gt; &gt; &gt;&gt; Tools/Scripts/webkitpy/common/system/executive.py:353
&gt; &gt; &gt;&gt; +            command = [&quot;killall&quot;, &quot;-TERM&quot;, &quot;-u&quot;, os.getenv(&quot;USER&quot;), process_name]
&gt; &gt; &gt; 
&gt; &gt; &gt; Why this change? Isn&apos;t killall available on the flatpak environ?
&gt; &gt; 
&gt; &gt; No. killall is part of psmisc, not shipped by default in the FDO runtime.
&gt; &gt; Perhaps I can add it in ours though...
&gt; 
&gt; Please do. Otherwise there are more scripts to be modified like
&gt; Tools/BuildSlaveSupport/kill-old-processes

on a second thought: kill-old-processes runs outside of the flatpak environment so it should not be affected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603521</commentid>
    <comment_count>17</comment_count>
      <attachid>386766</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-07 04:20:56 -0800</bug_when>
    <thetext>Comment on attachment 386766
Patch

This needs a bit more work, I detected some test failures related with drag&amp;drop support, I&apos;ll try to investigate soon...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603565</commentid>
    <comment_count>18</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-07 08:00:12 -0800</bug_when>
    <thetext>Done:

Exported the env var WEBKIT_JHBUILD=1 for all the relevant GTK and WPE buildbots. For the record:
- GTK Linux 64-bit Debug (Build)
- GTK Linux 64-bit Debug (Tests)
- GTK Linux 64-bit Release (Build)
- GTK Linux 64-bit Release (Perf)
- GTK Linux 64-bit Release (Tests)
- GTK Linux 64-bit Release Wayland (Tests)
- WPE Linux 64-bit Debug (Build)
- WPE Linux 64-bit Debug (Tests)
- WPE Linux 64-bit Release (Build)
- WPE Linux 64-bit Release (Tests)


Not exported for the following two bots because those don&apos;t run the jhbuild step:
- GTK Linux 64-bit Release Debian Stable (Build)
- GTK Linux 64-bit Release Ubuntu LTS (Build)


Done:

Exported the env var WEBKIT_JHBUILD=1 for all the Igalia EWS:

- igalia1-gtk-wk2-ews
- igalia2-gtk-wk2-ews
- igalia3-gtk-wk2-ews
- igalia4-gtk-wk2-ews
- igalia-wpe-ews


TODO (please talk with Adrian): Export the env var for the following EWS:

 - aperez-gtk-ews
 - aperez-wpe-ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603571</commentid>
    <comment_count>19</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-07 08:20:22 -0800</bug_when>
    <thetext>Great, many thanks Carlos!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605077</commentid>
    <comment_count>20</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-01-10 05:30:04 -0800</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #18)
 
&gt; TODO (please talk with Adrian): Export the env var for the following EWS:
&gt; 
&gt;  - aperez-gtk-ews
&gt;  - aperez-wpe-ews

Done, now these two builders are using WEBKIT_JHBUILD=1 as well
since yesterday.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605635</commentid>
    <comment_count>21</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-12 03:17:18 -0800</bug_when>
    <thetext>I&apos;m afraid a massive rebaseline will be needed :( I&apos;ve tried to downgrade Pango and Harfbuzz in the SDK to the versions pinned in JHBuild, but without success so far.

OTOH I think it would be good to finally bump these libs (and GTK). Perhaps it could be done in JHBuild along with the rebaseline?

In the SDK I currently have Pango 1.44.6, Harfbuzz 2.6.2, Freetype 2.10.1 and GTK 3.24.13.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605796</commentid>
    <comment_count>22</comment_count>
      <attachid>387513</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-13 04:08:26 -0800</bug_when>
    <thetext>Created attachment 387513
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605819</commentid>
    <comment_count>23</comment_count>
      <attachid>387513</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-13 06:27:53 -0800</bug_when>
    <thetext>Comment on attachment 387513
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=387513&amp;action=review

&gt; Tools/Scripts/update-webkitgtk-libs:25
&gt; +if (defined $ENV{&apos;WEBKIT_JHBUILD&apos;} and $ENV{&apos;WEBKIT_JHBUILD&apos;}) {

This failed on the igalia2-gtk-wk2 EWS. Is the env var set on the bots? I can&apos;t find out what you did there :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605829</commentid>
    <comment_count>24</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-13 07:06:01 -0800</bug_when>
    <thetext>GTK EWS green now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605830</commentid>
    <comment_count>25</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-13 07:06:40 -0800</bug_when>
    <thetext>(In reply to Philippe Normand from comment #21)
&gt; I&apos;m afraid a massive rebaseline will be needed :( I&apos;ve tried to downgrade
&gt; Pango and Harfbuzz in the SDK to the versions pinned in JHBuild, but without
&gt; success so far.
&gt; 
&gt; OTOH I think it would be good to finally bump these libs (and GTK). Perhaps
&gt; it could be done in JHBuild along with the rebaseline?
&gt; 
&gt; In the SDK I currently have Pango 1.44.6, Harfbuzz 2.6.2, Freetype 2.10.1
&gt; and GTK 3.24.13.

It will be needed indeed.

I think its maybe better to start with WPE, because it has less things to rebaseline (runs less tests) and also the WPE requirement of having a GPU is a good stress test for the flatpak suitability for running layout tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605831</commentid>
    <comment_count>26</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-13 07:07:47 -0800</bug_when>
    <thetext>I agree, I locally checked the WPE tests with the SDK and didn&apos;t notice a huge amount of failures compared to the current status.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605833</commentid>
    <comment_count>27</comment_count>
      <attachid>387513</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-13 07:24:38 -0800</bug_when>
    <thetext>Comment on attachment 387513
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=387513&amp;action=review

&gt; Tools/ChangeLog:16
&gt; +        Flatpak repository hosted at https://software.igalia.com. The
&gt; +        repository can be regenerated with the scripts from the
&gt; +        webkit-flatpak-sdk Github project
&gt; +        (https://github.com/Igalia/webkit-flatpak-sdk). This is done

What its your plan with this repository at https://github.com/Igalia/webkit-flatpak-sdk? Move it inside WebKit or leave it apart?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605836</commentid>
    <comment_count>28</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-13 07:36:33 -0800</bug_when>
    <thetext>For now I&apos;d like to keep it Github so we can iterate on its development faster. At some point I&apos;d like to migrate it to Buildstream and once that&apos;s done it could move to the WebKit tree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605972</commentid>
    <comment_count>29</comment_count>
      <attachid>387513</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-13 11:47:27 -0800</bug_when>
    <thetext>Comment on attachment 387513
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=387513&amp;action=review

&gt; Tools/Scripts/webkitdirs.pm:-2094
&gt; -    if (! -e getFlatpakPath()) {
&gt; -        return 0;
&gt; -    }

I think this should be kept?

AFAIK runInFlatpakIfAvailable() should not proceed if the flatpak subdir doesn&apos;t exist? should it?

&gt; Tools/Scripts/webkitpy/port/linux_get_crash_log.py:61
&gt; -        log_directory = os.environ.get(&quot;WEBKIT_CORE_DUMPS_DIRECTORY&quot;)
&gt; -        errors = []
&gt; -        crash_log = &apos;&apos;
&gt; -        expected_crash_dump_filename = &quot;core-pid_%s.dump&quot; % pid_representation
&gt; -        proc_name = &quot;%s&quot; % (self.name)
&gt; -
&gt; -        def match_filename(filesystem, directory, filename):
&gt; -            if self.pid:
&gt; -                return filename == expected_crash_dump_filename
&gt; -            return filename.find(self.name) &gt; -1
&gt; -
&gt; -        # Poor man which, ignore any failure.
&gt; -        for coredumpctl in [[&apos;coredumpctl&apos;], [&apos;flatpak-spawn&apos;, &apos;--host&apos;, &apos;coredumpctl&apos;], []]:
&gt; -            try:
&gt; -                if not self._executive.run_command(coredumpctl, return_exit_code=True):
&gt; -                    break
&gt; -            except:
&gt; -                continue
&gt; -
&gt; -        if log_directory:
&gt; -            dumps = self._filesystem.files_under(
&gt; -                log_directory, file_filter=match_filename)
&gt; -            if dumps:
&gt; -                # Get the most recent coredump matching the pid and/or process name.
&gt; -                coredump_path = list(reversed(sorted(dumps)))[0]
&gt; -                if not self.newer_than or self._filesystem.mtime(coredump_path) &gt; self.newer_than:
&gt; -                    crash_log, errors = self._get_gdb_output(coredump_path)
&gt; -        elif coredumpctl:
&gt; -            crash_log, errors = self._get_trace_from_systemd(coredumpctl, pid_representation)
&gt; -
&gt; -        stderr_lines = errors + decode_if_necessary(str(stderr or &apos;&lt;empty&gt;&apos;), errors=&apos;ignore&apos;).splitlines()
&gt; -        errors_str = &apos;\n&apos;.join((&apos;STDERR: &apos; + stderr_line) for stderr_line in stderr_lines)
&gt; +        proc_name = str(self.name)
&gt; +
&gt; +        if self.newer_than:
&gt; +            coredump_since = &quot;--gdb-stack-trace=@%f&quot; % self.newer_than
&gt; +        else:
&gt; +            coredump_since = &quot;--gdb-stack-trace&quot;
&gt; +        webkit_flatpak_path = self._webkit_finder.path_to_script(&apos;webkit-flatpak&apos;)
&gt; +        cmd = [&apos;flatpak-spawn&apos;, &apos;--host&apos;, webkit_flatpak_path, &apos;--%s&apos; % self._port_name,
&gt; +               &quot;--%s&quot; % self._configuration.lower(), coredump_since]
&gt; +        crash_log = self._executive.run_command(cmd, ignore_errors=True)
&gt; +
&gt; +        stderr_lines = decode_if_necessary(str(stderr or &apos;&lt;empty&gt;&apos;), errors=&apos;ignore&apos;).splitlines()
&gt; +        errors_str = &apos;\n&apos;.join([&apos;STDERR: &apos; + stderr_line for stderr_line in stderr_lines])

I think this will break GDB backtrace generation on current bots, that are using the code you delete here (WEBKIT_CORE_DUMPS_DIRECTORY).
Also I think the automatic GDB backtrace generation code should still work for developers that opt to work outside of flatpak (both with coredumpctl and without it), so please add the new functionality without deleting the non-flatpak one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606175</commentid>
    <comment_count>30</comment_count>
      <attachid>387513</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-13 17:54:49 -0800</bug_when>
    <thetext>Comment on attachment 387513
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=387513&amp;action=review

&gt; Tools/flatpak/flatpakutils.py:-863
&gt; -    def setup_icecc(self):
&gt; -        with tempfile.NamedTemporaryFile() as tmpfile:
&gt; -            self.run_in_sandbox(&apos;icecc&apos;, &apos;--build-native&apos;, stdout=tmpfile, cwd=self.build_path)
&gt; -            tmpfile.flush()
&gt; -            tmpfile.seek(0)
&gt; -            icc_version_filename, = re.findall(r&apos;.*creating (.*)&apos;, tmpfile.read())
&gt; -            self.icc_version = os.path.join(self.build_path, icc_version_filename)

Why this isn&apos;t needed anymore? is icecc supported in the new SDK? If so, how the native toolchain to pass to build hosts is now created?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606324</commentid>
    <comment_count>31</comment_count>
      <attachid>387513</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-14 02:44:14 -0800</bug_when>
    <thetext>Comment on attachment 387513
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=387513&amp;action=review

&gt;&gt; Tools/Scripts/webkitdirs.pm:-2094
&gt;&gt; -    }
&gt; 
&gt; I think this should be kept?
&gt; 
&gt; AFAIK runInFlatpakIfAvailable() should not proceed if the flatpak subdir doesn&apos;t exist? should it?

Right, this can be restored now that the SDK isn&apos;t automatically installed anymore.

&gt;&gt; Tools/Scripts/webkitpy/port/linux_get_crash_log.py:61
&gt;&gt; +        errors_str = &apos;\n&apos;.join([&apos;STDERR: &apos; + stderr_line for stderr_line in stderr_lines])
&gt; 
&gt; I think this will break GDB backtrace generation on current bots, that are using the code you delete here (WEBKIT_CORE_DUMPS_DIRECTORY).
&gt; Also I think the automatic GDB backtrace generation code should still work for developers that opt to work outside of flatpak (both with coredumpctl and without it), so please add the new functionality without deleting the non-flatpak one.

Sure thing!

&gt;&gt; Tools/flatpak/flatpakutils.py:-863
&gt;&gt; -            self.icc_version = os.path.join(self.build_path, icc_version_filename)
&gt; 
&gt; Why this isn&apos;t needed anymore? is icecc supported in the new SDK? If so, how the native toolchain to pass to build hosts is now created?

I didn&apos;t bother with icecc because I don&apos;t use it here. Do you? If not perhaps I can take a look...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606329</commentid>
    <comment_count>32</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-14 03:25:31 -0800</bug_when>
    <thetext>(In reply to Philippe Normand from comment #31)
&gt; &gt;&gt; Tools/flatpak/flatpakutils.py:-863
&gt; &gt;&gt; -            self.icc_version = os.path.join(self.build_path, icc_version_filename)
&gt; &gt; 
&gt; &gt; Why this isn&apos;t needed anymore? is icecc supported in the new SDK? If so, how the native toolchain to pass to build hosts is now created?
&gt; 
&gt; I didn&apos;t bother with icecc because I don&apos;t use it here. Do you? If not
&gt; perhaps I can take a look...

I do. I use it in combination with ccache.
In my honest opinion, no support for icecc would be a blocker for me for adopting a flatpak-based workflow.
Looking at the code, it seems to be already supported with the current flatpak SDK, so keep it please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606468</commentid>
    <comment_count>33</comment_count>
      <attachid>387674</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-14 10:24:34 -0800</bug_when>
    <thetext>Created attachment 387674
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606469</commentid>
    <comment_count>34</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-14 10:26:13 -0800</bug_when>
    <thetext>Please test the icecreem stuff, I can&apos;t set it up here :)

update-webkitgtk-libs --debug
webkit-flatpak --gtk --debug --use-icecream -b

should enable it (I think).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606504</commentid>
    <comment_count>35</comment_count>
      <attachid>387674</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-01-14 11:57:18 -0800</bug_when>
    <thetext>Comment on attachment 387674
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=387674&amp;action=review

&gt; Tools/flatpak/flatpakutils.py:837
&gt; +                except subprocess.CalledProcessError, err:

We don&apos;t have Python 3 in EWS yet, but we&apos;re about to.

Can you make sure that you aren&apos;t breaking Python 3 compatibility with &apos;python3 Tools/Scripts/test-webkitpy&apos;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606611</commentid>
    <comment_count>36</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-14 14:45:18 -0800</bug_when>
    <thetext>Thanks for the suggestion Jonathan, I&apos;ll check it. Right now I&apos;m not sure much (if any) of that module is unit-tested though :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606841</commentid>
    <comment_count>37</comment_count>
      <attachid>387764</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-15 01:38:18 -0800</bug_when>
    <thetext>Created attachment 387764
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606957</commentid>
    <comment_count>38</comment_count>
      <attachid>387764</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-15 09:43:28 -0800</bug_when>
    <thetext>Comment on attachment 387764
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=387764&amp;action=review

&gt; Tools/flatpak/flatpakutils.py:712
&gt; +        env_var_prefixes_to_keep = [
&gt; +            &quot;GST&quot;,
&gt; +            &quot;GTK&quot;,
&gt; +            &quot;G&quot;,
&gt; +            &quot;JSC&quot;,
&gt; +            &quot;WEBKIT&quot;,
&gt; +            &quot;WEBKIT2&quot;,
&gt; +            &quot;WPE&quot;,
&gt; +            &quot;GIGACAGE&quot;,
&gt; +        ]
&gt; +
&gt; +        env_vars_to_keep = [
&gt; +            &quot;JavaScriptCoreUseJIT&quot;,
&gt; +            &quot;Malloc&quot;,
&gt; +            &quot;WAYLAND_DISPLAY&quot;,
&gt; +            &quot;WAYLAND_SOCKET&quot;,
&gt; +            &quot;DISPLAY&quot;,
&gt; +            &quot;LANG&quot;,
&gt; +            &quot;NUMBER_OF_PROCESSORS&quot;,
&gt; +            &quot;CCACHE_PREFIX&quot;,
&gt; +            &quot;QML2_IMPORT_PATH&quot;,
&gt; +        ]

This misses some interesting environment variables like:
CC, CXX, CFLAGS, CXXFLAGS, LDFLAGS, etc...
Sometimes I set this variables to test different things or with different compilers (clang).
Also for X11 users I think we also need to also pass the environment variable XAUTHORITY.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606967</commentid>
    <comment_count>39</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-15 09:57:13 -0800</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #38)
&gt; Comment on attachment 387764 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=387764&amp;action=review
&gt; 
&gt; &gt; Tools/flatpak/flatpakutils.py:712
&gt; &gt; +        env_var_prefixes_to_keep = [
&gt; &gt; +            &quot;GST&quot;,
&gt; &gt; +            &quot;GTK&quot;,
&gt; &gt; +            &quot;G&quot;,
&gt; &gt; +            &quot;JSC&quot;,
&gt; &gt; +            &quot;WEBKIT&quot;,
&gt; &gt; +            &quot;WEBKIT2&quot;,
&gt; &gt; +            &quot;WPE&quot;,
&gt; &gt; +            &quot;GIGACAGE&quot;,
&gt; &gt; +        ]
&gt; &gt; +
&gt; &gt; +        env_vars_to_keep = [
&gt; &gt; +            &quot;JavaScriptCoreUseJIT&quot;,
&gt; &gt; +            &quot;Malloc&quot;,
&gt; &gt; +            &quot;WAYLAND_DISPLAY&quot;,
&gt; &gt; +            &quot;WAYLAND_SOCKET&quot;,
&gt; &gt; +            &quot;DISPLAY&quot;,
&gt; &gt; +            &quot;LANG&quot;,
&gt; &gt; +            &quot;NUMBER_OF_PROCESSORS&quot;,
&gt; &gt; +            &quot;CCACHE_PREFIX&quot;,
&gt; &gt; +            &quot;QML2_IMPORT_PATH&quot;,
&gt; &gt; +        ]
&gt; 
&gt; This misses some interesting environment variables like:
&gt; CC, CXX, CFLAGS, CXXFLAGS, LDFLAGS, etc...
&gt; Sometimes I set this variables to test different things or with different
&gt; compilers (clang).
&gt; Also for X11 users I think we also need to also pass the environment
&gt; variable XAUTHORITY.

Ah.. it also misses the environment variables:

BUILD_JSC_ARGS
BUILD_WEBKIT_ARGS
TEST_JSC_ARGS

The bots may set those to influence the build parameters of webkit or jsc. For example we set those on the debian/ubuntu stable bots to disable features when they fail to build there.

Perhaps &quot;WEBKIT&quot; and &quot;JSC&quot; should not be a prefix, but a string in any part of the environment variable name?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606974</commentid>
    <comment_count>40</comment_count>
      <attachid>387764</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-15 10:09:48 -0800</bug_when>
    <thetext>Comment on attachment 387764
Patch

I tested this now on buildbox2 and I can&apos;t get the layout tests to work. They always timeout, even for basic tests like fast/css/word-space-extra.html
Does it work for you? :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607419</commentid>
    <comment_count>41</comment_count>
      <attachid>387764</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-01-16 04:56:55 -0800</bug_when>
    <thetext>Comment on attachment 387764
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=387764&amp;action=review

I have just a couple of additional comments on top of Carlos&apos; — otherwise it&apos;s
looking pretty good and I have been able to check that things work well here
applying the patch in my checkout 👍

&gt; Source/WebCore/platform/text/hyphen/HyphenationLibHyphen.cpp:124
&gt; +    // Try alternative dictionaries path for people using Flatpak.

I would guard trying to use /usr/share/webkitgtk-test-dicts with ENABLE(DEVELOPER_MODE).
Such a path should not be used in a normal build.

&gt; Tools/Scripts/test262-runner:49
&gt; +                # module... Perl. Â¯\_(ã)_/Â¯

Usage of ¯\_(ツ)_/¯ gladly agreed upon when referring to Perl =}

&gt; Tools/WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:69
&gt; +    GUniquePtr&lt;char&gt;fontsPath(g_build_filename(&quot;/usr&quot;, &quot;share&quot;, &quot;webkitgtk-test-fonts&quot;, NULL));

For this I also think that it could be guarded with ENABLE(DEVELOPER_MODE).
I know that it was not between guards already before, but these changes
could be a good chance to add them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607420</commentid>
    <comment_count>42</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-01-16 04:59:23 -0800</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #40)
&gt; Comment on attachment 387764 [details]
&gt; Patch
&gt; 
&gt; I tested this now on buildbox2 and I can&apos;t get the layout tests to work.
&gt; They always timeout, even for basic tests like fast/css/word-space-extra.html
&gt; Does it work for you? :(

I ran just fine a few tests earlier with this patch applied, and to
make sure I have just ran all the tests under fast/css/ (which also
went well).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607423</commentid>
    <comment_count>43</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-16 05:08:23 -0800</bug_when>
    <thetext>(In reply to Adrian Perez from comment #42)
&gt; (In reply to Carlos Alberto Lopez Perez from comment #40)
&gt; &gt; Comment on attachment 387764 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; I tested this now on buildbox2 and I can&apos;t get the layout tests to work.
&gt; &gt; They always timeout, even for basic tests like fast/css/word-space-extra.html
&gt; &gt; Does it work for you? :(
&gt; 
&gt; I ran just fine a few tests earlier with this patch applied, and to
&gt; make sure I have just ran all the tests under fast/css/ (which also
&gt; went well).

There&apos;s an issue, as Carlos pointed out. The layout tests run on Debian stretch and bullseye but not on buster. I&apos;m trying to debug it but so far, no solution :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607439</commentid>
    <comment_count>44</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-01-16 06:23:19 -0800</bug_when>
    <thetext>(In reply to Philippe Normand from comment #43)
&gt; (In reply to Adrian Perez from comment #42)
&gt; &gt; (In reply to Carlos Alberto Lopez Perez from comment #40)
&gt; &gt; &gt; Comment on attachment 387764 [details]
&gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; I tested this now on buildbox2 and I can&apos;t get the layout tests to work.
&gt; &gt; &gt; They always timeout, even for basic tests like fast/css/word-space-extra.html
&gt; &gt; &gt; Does it work for you? :(
&gt; &gt; 
&gt; &gt; I ran just fine a few tests earlier with this patch applied, and to
&gt; &gt; make sure I have just ran all the tests under fast/css/ (which also
&gt; &gt; went well).
&gt; 
&gt; There&apos;s an issue, as Carlos pointed out. The layout tests run on Debian
&gt; stretch and bullseye but not on buster. I&apos;m trying to debug it but so far,
&gt; no solution :/

Right. I should have mentioned that here I was using Arch Linux.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607469</commentid>
    <comment_count>45</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-16 07:41:36 -0800</bug_when>
    <thetext>The issue in Buster headless hosts is that xdg-desktop-portal doesn&apos;t automatically start up, unless I manually start it up at least once. There goes my day debugging this...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607484</commentid>
    <comment_count>46</comment_count>
      <attachid>387764</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-16 08:13:14 -0800</bug_when>
    <thetext>Comment on attachment 387764
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=387764&amp;action=review

&gt;&gt; Source/WebCore/platform/text/hyphen/HyphenationLibHyphen.cpp:124
&gt;&gt; +    // Try alternative dictionaries path for people using Flatpak.
&gt; 
&gt; I would guard trying to use /usr/share/webkitgtk-test-dicts with ENABLE(DEVELOPER_MODE).
&gt; Such a path should not be used in a normal build.

I know it&apos;s not explicitly noticeable here but this code is already guarded with ENABLE(DEVELOPER_MODE) :)

&gt;&gt; Tools/WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:69
&gt;&gt; +    GUniquePtr&lt;char&gt;fontsPath(g_build_filename(&quot;/usr&quot;, &quot;share&quot;, &quot;webkitgtk-test-fonts&quot;, NULL));
&gt; 
&gt; For this I also think that it could be guarded with ENABLE(DEVELOPER_MODE).
&gt; I know that it was not between guards already before, but these changes
&gt; could be a good chance to add them.

Do you mean the whole file?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607488</commentid>
    <comment_count>47</comment_count>
      <attachid>387764</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-16 08:17:14 -0800</bug_when>
    <thetext>Comment on attachment 387764
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=387764&amp;action=review

&gt;&gt;&gt; Tools/flatpak/flatpakutils.py:712
&gt;&gt;&gt; +        ]
&gt;&gt; 
&gt;&gt; This misses some interesting environment variables like:
&gt;&gt; CC, CXX, CFLAGS, CXXFLAGS, LDFLAGS, etc...
&gt;&gt; Sometimes I set this variables to test different things or with different compilers (clang).
&gt;&gt; Also for X11 users I think we also need to also pass the environment variable XAUTHORITY.
&gt; 
&gt; Ah.. it also misses the environment variables:
&gt; 
&gt; BUILD_JSC_ARGS
&gt; BUILD_WEBKIT_ARGS
&gt; TEST_JSC_ARGS
&gt; 
&gt; The bots may set those to influence the build parameters of webkit or jsc. For example we set those on the debian/ubuntu stable bots to disable features when they fail to build there.
&gt; 
&gt; Perhaps &quot;WEBKIT&quot; and &quot;JSC&quot; should not be a prefix, but a string in any part of the environment variable name?

XAUTHORITY is already magically set by flatpak. I can pass-through the other vars.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607492</commentid>
    <comment_count>48</comment_count>
      <attachid>387924</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-16 08:26:06 -0800</bug_when>
    <thetext>Created attachment 387924
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611348</commentid>
    <comment_count>49</comment_count>
      <attachid>387924</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-27 02:49:59 -0800</bug_when>
    <thetext>Comment on attachment 387924
Patch

I have a working ICECC setup now so I can debug this further. The patch likely needs a few more changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612392</commentid>
    <comment_count>50</comment_count>
      <attachid>389122</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-29 05:05:31 -0800</bug_when>
    <thetext>Created attachment 389122
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612393</commentid>
    <comment_count>51</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-29 05:07:19 -0800</bug_when>
    <thetext>IceCC working now (hopefully): build-webkit --gtk --use-icecream
The host needs a running icecc-scheduler. I&apos;m not sure sandboxing this would be useful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612396</commentid>
    <comment_count>52</comment_count>
      <attachid>389125</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-29 05:19:03 -0800</bug_when>
    <thetext>Created attachment 389125
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612966</commentid>
    <comment_count>53</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-30 08:43:06 -0800</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #38)
&gt; This misses some interesting environment variables like:
&gt; CC, CXX, CFLAGS, CXXFLAGS, LDFLAGS, etc...
&gt; Sometimes I set this variables to test different things or with different
&gt; compilers (clang).

I don&apos;t see this on the last version of the patch. Would be it possible to add this variables to the list? Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612983</commentid>
    <comment_count>54</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-30 09:11:53 -0800</bug_when>
    <thetext>I&apos;ll add the ones explicitly mentioned. Dunno about the etc part :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612988</commentid>
    <comment_count>55</comment_count>
      <attachid>389255</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-30 09:17:39 -0800</bug_when>
    <thetext>Created attachment 389255
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612991</commentid>
    <comment_count>56</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-30 09:32:22 -0800</bug_when>
    <thetext>(In reply to Philippe Normand from comment #54)
&gt; I&apos;ll add the ones explicitly mentioned. Dunno about the etc part :)

Thanks.

We need to add also this one: &quot;WEBKIT_TEST_CHILD_PROCESSES&quot;

Its set by the bots to tell run-jsc-stress-tests how much cores it can use.

Sorry for not commenting about it before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613298</commentid>
    <comment_count>57</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-30 23:59:43 -0800</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #56)
&gt; (In reply to Philippe Normand from comment #54)
&gt; &gt; I&apos;ll add the ones explicitly mentioned. Dunno about the etc part :)
&gt; 
&gt; Thanks.
&gt; 
&gt; We need to add also this one: &quot;WEBKIT_TEST_CHILD_PROCESSES&quot;
&gt; 

All WEBKIT_* env vars are forwarded into the sandbox environment. More prefixes are white-listed via the env_var_prefixes_to_keep variable in flatpakutils.py</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613299</commentid>
    <comment_count>58</comment_count>
      <attachid>389334</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-31 00:03:39 -0800</bug_when>
    <thetext>Created attachment 389334
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613314</commentid>
    <comment_count>59</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-31 03:03:30 -0800</bug_when>
    <thetext>From a empty build state (WebKitBuild directory wiped), if I run update-webkitgtk-libs (no env var WEBKIT_JHBUILD set) I get this

$ Tools/Scripts/update-webkitgtk-libs
Adding repo webkit-sdk
Traceback (most recent call last):
  File &quot;Tools/Scripts/update-webkit-flatpak&quot;, line 28, in &lt;module&gt;
    WebkitFlatpak.load_from_args([&quot;--update&quot;] + sys.argv[1:]).run()
  File &quot;./Tools/flatpak/flatpakutils.py&quot;, line 757, in run
    if not self.clean_args():
  File &quot;./Tools/flatpak/flatpakutils.py&quot;, line 560, in clean_args
    FlatpakRepo(&quot;flathub&quot;, repo_file=&quot;https://dl.flathub.org/repo/flathub.flatpakrepo&quot;)
  File &quot;./Tools/flatpak/flatpakutils.py&quot;, line 290, in __init__
    self.url = repo[&quot;Flatpak Repo&quot;][&quot;Url&quot;]
AttributeError: ConfigParser instance has no attribute &apos;__getitem__&apos;
Died at Tools/Scripts/update-webkitgtk-libs line 28.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613316</commentid>
    <comment_count>60</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-31 03:13:22 -0800</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #59)
&gt; From a empty build state (WebKitBuild directory wiped), if I run
&gt; update-webkitgtk-libs (no env var WEBKIT_JHBUILD set) I get this
&gt; 
&gt; $ Tools/Scripts/update-webkitgtk-libs
&gt; Adding repo webkit-sdk
&gt; Traceback (most recent call last):
&gt;   File &quot;Tools/Scripts/update-webkit-flatpak&quot;, line 28, in &lt;module&gt;
&gt;     WebkitFlatpak.load_from_args([&quot;--update&quot;] + sys.argv[1:]).run()
&gt;   File &quot;./Tools/flatpak/flatpakutils.py&quot;, line 757, in run
&gt;     if not self.clean_args():
&gt;   File &quot;./Tools/flatpak/flatpakutils.py&quot;, line 560, in clean_args
&gt;     FlatpakRepo(&quot;flathub&quot;,
&gt; repo_file=&quot;https://dl.flathub.org/repo/flathub.flatpakrepo&quot;)
&gt;   File &quot;./Tools/flatpak/flatpakutils.py&quot;, line 290, in __init__
&gt;     self.url = repo[&quot;Flatpak Repo&quot;][&quot;Url&quot;]
&gt; AttributeError: ConfigParser instance has no attribute &apos;__getitem__&apos;
&gt; Died at Tools/Scripts/update-webkitgtk-libs line 28.

mmm, strange. I can&apos;t reproduce this on buildbox2. But it happens on my laptop :\</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613325</commentid>
    <comment_count>61</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-31 03:35:47 -0800</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #60)
&gt; (In reply to Carlos Alberto Lopez Perez from comment #59)
&gt; &gt; From a empty build state (WebKitBuild directory wiped), if I run
&gt; &gt; update-webkitgtk-libs (no env var WEBKIT_JHBUILD set) I get this
&gt; &gt; 
&gt; &gt; $ Tools/Scripts/update-webkitgtk-libs
&gt; &gt; Adding repo webkit-sdk
&gt; &gt; Traceback (most recent call last):
&gt; &gt;   File &quot;Tools/Scripts/update-webkit-flatpak&quot;, line 28, in &lt;module&gt;
&gt; &gt;     WebkitFlatpak.load_from_args([&quot;--update&quot;] + sys.argv[1:]).run()
&gt; &gt;   File &quot;./Tools/flatpak/flatpakutils.py&quot;, line 757, in run
&gt; &gt;     if not self.clean_args():
&gt; &gt;   File &quot;./Tools/flatpak/flatpakutils.py&quot;, line 560, in clean_args
&gt; &gt;     FlatpakRepo(&quot;flathub&quot;,
&gt; &gt; repo_file=&quot;https://dl.flathub.org/repo/flathub.flatpakrepo&quot;)
&gt; &gt;   File &quot;./Tools/flatpak/flatpakutils.py&quot;, line 290, in __init__
&gt; &gt;     self.url = repo[&quot;Flatpak Repo&quot;][&quot;Url&quot;]
&gt; &gt; AttributeError: ConfigParser instance has no attribute &apos;__getitem__&apos;
&gt; &gt; Died at Tools/Scripts/update-webkitgtk-libs line 28.
&gt; 
&gt; mmm, strange. I can&apos;t reproduce this on buildbox2. But it happens on my
&gt; laptop :\

Ok, the issue its with different configparser modules.

python-configparse its able to correctly parse the flatpak repo definition, but  ConfigParse from python-core (/usr/lib/python2.7/ConfigParser.py) fails to get a section with space

ipdb&gt; repo.sections()
[&apos;Flatpak Repo&apos;]
ipdb&gt; repo[&apos;Flatpak Repo&apos;]
*** AttributeError: ConfigParser instance has no attribute &apos;__getitem__&apos;
ipdb&gt; configparser
&lt;module &apos;ConfigParser&apos; from &apos;/usr/lib/python2.7/ConfigParser.pyc&apos;&gt;


Something like this should fix it:

--- a/Tools/flatpak/flatpakutils.py
+++ b/Tools/flatpak/flatpakutils.py
@@ -16,10 +16,7 @@
 # Boston, MA 02110-1301, USA.
 import argparse
 import logging
-try:
-    import configparser
-except ImportError:
-    import ConfigParser as configparser
+import configparser
 from contextlib import contextmanager
 import errno
 import json


and then we have to add python-configparser to the list of packages to be installed (I had not installed it)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613328</commentid>
    <comment_count>62</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-31 03:46:47 -0800</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #61)
&gt; Ok, the issue its with different configparser modules.
&gt; 
&gt; python-configparse its able to correctly parse the flatpak repo definition,
&gt; but  ConfigParse from python-core (/usr/lib/python2.7/ConfigParser.py) fails
&gt; to get a section with space
&gt; 
&gt; 

Its not that. Its that ConfigParse has different semantics/syntax to get this.

You have to use get(section, option) instead of accessing it like a dict.

This patch will fix the issue:

--- a/Tools/flatpak/flatpakutils.py
+++ b/Tools/flatpak/flatpakutils.py
@@ -287,7 +287,10 @@ class FlatpakRepo(FlatpakObject):
         if repo_file and not url:
             repo = configparser.ConfigParser()
             repo.read(self.repo_file.name)
-            self.url = repo[&quot;Flatpak Repo&quot;][&quot;Url&quot;]
+            try:
+                self.url = repo[&quot;Flatpak Repo&quot;][&quot;Url&quot;]
+            except AttributeError:
+                self.url = repo.get(&quot;Flatpak Repo&quot;, &quot;Url&quot;)
         else:
             assert url</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613332</commentid>
    <comment_count>63</comment_count>
      <attachid>389341</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-31 05:03:29 -0800</bug_when>
    <thetext>Created attachment 389341
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1614012</commentid>
    <comment_count>64</comment_count>
      <attachid>389532</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-02-03 09:58:03 -0800</bug_when>
    <thetext>Created attachment 389532
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1614588</commentid>
    <comment_count>65</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-02-04 09:30:15 -0800</bug_when>
    <thetext>It is looking good to me. I think this its almost ready to land. But let&apos;s give it a final round of testing :)
I have tested to run with this all the test steps that we test for GTK, and all worked but one (see at bottom)

Let&apos;ts see:

1) Steps for the GTK release test bot:

* jscore-test: OK

* layout-test: OK

I have run it and I get this:

Regressions: Unexpected text-only failures (204)
Regressions: Unexpected image-only failures (28)
Regressions: Unexpected audio failures (1)
Regressions: Unexpected crashes (10)
Regressions: Unexpected timeouts (8)

Which is not bad at all, I was expecting to get much more failures.

One thing I noticed its there are lot of errors logged with this:

AL lib: (EE) ALCplaybackOSS_open: Could not open /dev/dsp: No such file or directory


* webkitpy-test: OK
* webkitperl-test: OK
* bindings-generation-tests: OK
* builtins-generator-tests: OK
* dashboard-tests: OK

* api-tests: OK

The step runs ok, but it gives this extra errors:

Extra API tests failures:

Unexpected failures (4)
    /WebKit2Gtk/TestSSL
        /webkit/WebKitWebView/tls-errors-policy
    /WebKit2Gtk/TestDownloads
        /webkit/Downloads/remote-file-error
    /WebKit2Gtk/TestLoaderClient
        /webkit/WebKitWebView/is-loading
        /webkit/WebKitWebView/unfinished-subresource-load

Unexpected timeouts (1)
    /WebKit2Gtk/TestWebKitFaviconDatabase
        /webkit/WebKitFaviconDatabase/get-favicon


* webdriver-tests: OK
* test262-tests: OK


2) Steps for the GTK performance bot:

* benchmark-test: OK

* performance-tests: FAIL

This is the failure I get:

$ Tools/Scripts/run-perf-tests --no-build --release --platform gtk
ImageDiff was not found at /home/clopez/webkit/webkit-flatpak/WebKitBuild/Release/bin/ImageDiff
Failed to run &quot;[&apos;Tools/Scripts/build-imagediff&apos;, &apos;--release&apos;, &apos;--gtk&apos;]&quot; exit_code: 254 cwd: /home/clopez/webkit/webkit-flatpak

sysctl: cannot stat /proc/sys/hw/activecpu: No such file or directory
Can&apos;t exec &quot;xcodebuild&quot;: No such file or directory at /home/clopez/webkit/webkit-flatpak/Tools/Scripts/webkitdirs.pm line 1972.

Build not up to date for /home/clopez/webkit/webkit-flatpak/WebKitBuild/Release/bin/WebKitTestRunner


So, summarizing, before landing this I think we should try to fix this broken step of performance-tests (script run-perf-tests)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1614593</commentid>
    <comment_count>66</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-02-04 09:38:26 -0800</bug_when>
    <thetext>Oh, TIL run-perf-tests :) No wonder it fails, I didn&apos;t know it exists ;)

I&apos;ll have a look at it and also check the API tests again. The /dev/dsp warnings could easily be fixed as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1614600</commentid>
    <comment_count>67</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-02-04 09:47:04 -0800</bug_when>
    <thetext>Another thing i just noticed its not working its the ability of build-webkit to clean the build.

This fails:

$ Tools/Scripts/build-webkit --gtk --release --clean
Building flatpak based environment
+ cmake --build /app/webkit/WebKitBuild/Release --config Release --target clean
Error: could not load cache
Command &apos;[&apos;flatpak&apos;, &apos;build&apos;, &apos;--die-with-parent&apos;, &apos;--talk-name=org.a11y.Bus&apos;, &apos;--talk-name=org.gtk.vfs&apos;, &apos;--talk-name=org.gtk.vfs.*&apos;, &apos;--bind-mount=/run/shm=/dev/shm&apos;, &apos;--bind-mount=/run/host//tmp=/tmp&apos;, &apos;--bind-mount=/app/webkit=/home/igalia/clopez/webkit/webkit-flatpak&apos;, &apos;--bind-mount=/app/webkit/WebKitBuild/Release=/home/igalia/clopez/webkit/webkit-flatpak/WebKitBuild/GTK/Release&apos;, &apos;--env=LANG=en_US.UTF-8&apos;, &apos;--env=WEBKIT_TOP_LEVEL=/app/&apos;, &apos;--env=TEST_RUNNER_INJECTED_BUNDLE_FILENAME=/app/webkit/WebKitBuild/Release/lib/libTestRunnerInjectedBundle.so&apos;, &apos;/home/igalia/clopez/webkit/webkit-flatpak/WebKitBuild/UserFlatpak&apos;, &apos;/app/webkit/Tools/Scripts/build-webkit&apos;, &apos;--release&apos;, &apos;--gtk&apos;, &apos;--clean&apos;, &apos;--prefix=/app&apos;]&apos; returned non-zero exit status 1


And was working before this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1614606</commentid>
    <comment_count>68</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-02-04 09:52:56 -0800</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #67)
&gt; Another thing i just noticed its not working its the ability of build-webkit
&gt; to clean the build.
&gt; 
&gt; This fails:
&gt; 
&gt; $ Tools/Scripts/build-webkit --gtk --release --clean
&gt; Building flatpak based environment

mmm, forget that.. now its working for me... no idea why it failed before :\</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1621169</commentid>
    <comment_count>69</comment_count>
      <attachid>389532</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-02-20 05:16:45 -0800</bug_when>
    <thetext>Comment on attachment 389532
Patch

Setting r- to not forget that this version of the patch still doesn&apos;t fix run-perf-tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622618</commentid>
    <comment_count>70</comment_count>
      <attachid>391654</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-02-25 08:42:21 -0800</bug_when>
    <thetext>Created attachment 391654
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624637</commentid>
    <comment_count>71</comment_count>
      <attachid>391654</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-03-02 11:22:57 -0800</bug_when>
    <thetext>Comment on attachment 391654
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=391654&amp;action=review

&gt; Tools/flatpak/flatpakutils.py:51
&gt;  FLATPAK_REQ = [
&gt; -    (&quot;flatpak&quot;, &quot;0.10.0&quot;),
&gt; -    (&quot;flatpak-builder&quot;, &quot;0.10.0&quot;),
&gt; +    (&quot;flatpak&quot;, &quot;1.2.5&quot;),

....

&gt; Tools/flatpak/flatpakutils.py:-306
&gt; -        if FLATPAK_VERSION[&quot;flatpak&quot;] &lt; (1, 1, 2):
&gt; -            out = self.flatpak(&quot;list&quot;, &quot;-d&quot;, *args)
&gt; -            package_defs = [line for line in out.split(&quot;\n&quot;) if line]
&gt; -            for package_def in package_defs:
&gt; -                splited_packaged_def = package_def.split()
&gt; -                name, arch, branch = splited_packaged_def[0].split(&quot;/&quot;)
&gt; -
&gt; -                # If installed from a file, the package is in no repo
&gt; -                repo_name = splited_packaged_def[1]
&gt; -                repo = self.repos.repos.get(repo_name)
&gt; -
&gt; -                packs.append(FlatpakPackage(name, branch, repo, arch))
&gt; -        else:
&gt; -            out = self.flatpak(&quot;list&quot;, &quot;--columns=application,arch,branch,origin&quot;, *args)
&gt; -            package_defs = [line for line in out.split(&quot;\n&quot;) if line]
&gt; -            for package_def in package_defs:
&gt; -                name, arch, branch, origin = package_def.split(&quot;\t&quot;)

We have to support at least flatpak 1.0.8 (which is what Ubuntu 18.04 ships).
This change was not in the previous patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624984</commentid>
    <comment_count>72</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-03 02:02:25 -0800</bug_when>
    <thetext>Could we detect old versions in Ubuntu and recommend to install this PPA? https://launchpad.net/~alexlarsson/+archive/ubuntu/flatpak</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624992</commentid>
    <comment_count>73</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-03-03 03:37:31 -0800</bug_when>
    <thetext>(In reply to Philippe Normand from comment #72)
&gt; Could we detect old versions in Ubuntu and recommend to install this PPA?
&gt; https://launchpad.net/~alexlarsson/+archive/ubuntu/flatpak

Works for me considering that 1. the PPA its provided by upstream itself &lt;https://flatpak.org/setup/Ubuntu/&gt; and that 2. it will dramatically improve the first download time due to https://github.com/flatpak/flatpak/issues/3412</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625086</commentid>
    <comment_count>74</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-03 09:33:03 -0800</bug_when>
    <thetext>OK so do you want me to bump the version requirement to 1.6.2 then? I see it&apos;s available in the PPA.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625091</commentid>
    <comment_count>75</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-03-03 09:43:06 -0800</bug_when>
    <thetext>(In reply to Philippe Normand from comment #74)
&gt; OK so do you want me to bump the version requirement to 1.6.2 then? I see
&gt; it&apos;s available in the PPA.

I see 1.6.2 its available for Debian 10 also on the buster-backports repository. 

So you can bump the requirement if you wish.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625100</commentid>
    <comment_count>76</comment_count>
      <attachid>392288</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-03 09:52:23 -0800</bug_when>
    <thetext>Created attachment 392288
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625479</commentid>
    <comment_count>77</comment_count>
      <attachid>392288</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-03-04 05:29:10 -0800</bug_when>
    <thetext>Comment on attachment 392288
Patch

Sorry for the r-, I really wanted to give r+ this time... but I gave this another round of testing and this is breaking users opting to not use the flatpak environment.
Not sure if this was happening with previous versions of this patch or its new behaviour, but I really think this needs to be fixed before landing.

Let&apos;s see. I tested this

Test A) User that don&apos;t uses the JHBuild neither the flatpak (just builds webkit against the system libraries).
1. Builds WebKit.
$ rm -fr WebKitBuild
$ Tools/Scripts/build-webkit --gtk --cmakeargs=-DUSE_WPE_RENDERER=OFF
2. Tries to run layout-tests or perf-tests or api-tests or any test script. Example:
$ Tools/Scripts/run-gtk-tests

Expected behaviour:
- it runs the test script (without doing any flatpak thing)

Current behaviour:
- it fails with:
$ Tools/Scripts/run-gtk-tests 
Adding repo webkit-sdk
Traceback (most recent call last):
  File &quot;Tools/Scripts/run-gtk-tests&quot;, line 132, in &lt;module&gt;
    flatpakutils.run_in_sandbox_if_available(sys.argv)
  File &quot;./Tools/flatpak/flatpakutils.py&quot;, line 853, in run_in_sandbox_if_available
    sys.exit(flatpak_runner.run_in_sandbox(*args))
  File &quot;./Tools/flatpak/flatpakutils.py&quot;, line 551, in run_in_sandbox
    self.setup_builddir(stdout=kwargs.get(&quot;stdout&quot;, sys.stdout))
  File &quot;./Tools/flatpak/flatpakutils.py&quot;, line 522, in setup_builddir
    self.sdk.branch,
AttributeError: &apos;NoneType&apos; object has no attribute &apos;branch&apos;


Test B) User that wants to keep using the JHBuild by opting to it by setting WEBKIT_JHBUILD=1 when calling update-webkitgtk-libs
1. Builds the JHBuild
$ rm -fr WebKitBuild/
$ WEBKIT_JHBUILD=1 Tools/Scripts/update-webkitgtk-libs
2. Tries to builds webKit
$ Tools/Scripts/build-webkit --gtk

Expected behaviour:
- It builds fine with the JHBuild, even when the environment variable WEBKIT_JHBUILD=1 its not passed to the script build-webkit.

Current behaviour:
- It tries to use the system libraries instead of the JHBuild (aka: doesn&apos;t enable the JHBuild) and the build fails (in my case becasue libwpe is required for USE_WPE_RENDERER and I have not libwpe installed system-wide)


So, to summarize, this is how I think this should work:

1) I think the flatpak environment should *only* be enabled for the test scripts (run-webkit-tests, run-minibrowser, run-perf-tests, etc) *IF* the flatpak has been built previously (you can detect the user-flatpak directory being present in WebKitBuild/).

2) And to keep using JHBuild, it should *only* be needed to set the environment variable WEBKIT_FLATPAK=1 when executing the script update-webkitgtk-libs. All the other scripts (build-webkit, run-layout-tests, run-minibrowser, etc) should not rely on this environment variable to decide if enabling flatpak or JHbuild. They should simply use a directory-based checking to known what kind of third-party library system has been enabled (if any):
 - 1. If the flatpak directories are in WebKitBuild: Enable flatpak
 - 2. If the JHBuild directories are in WebKitBuild: Enable JHBuild
 - 3. Else: don&apos;t enable anything.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625480</commentid>
    <comment_count>78</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-03-04 05:30:38 -0800</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #77)
&gt; 
&gt; So, to summarize, this is how I think this should work:
&gt; 
&gt; 1) I think the flatpak environment should *only* be enabled for the test
&gt; scripts (run-webkit-tests, run-minibrowser, run-perf-tests, etc) *IF* the
&gt; flatpak has been built previously (you can detect the user-flatpak directory
&gt; being present in WebKitBuild/).
&gt; 
&gt; 2) And to keep using JHBuild, it should *only* be needed to set the
&gt; environment variable WEBKIT_FLATPAK=1 when executing the script
&gt; update-webkitgtk-libs. All the other scripts (build-webkit,
&gt; run-layout-tests, run-minibrowser, etc) should not rely on this environment
&gt; variable to decide if enabling flatpak or JHbuild. They should simply use a
&gt; directory-based checking to known what kind of third-party library system
&gt; has been enabled (if any):
&gt;  - 1. If the flatpak directories are in WebKitBuild: Enable flatpak
&gt;  - 2. If the JHBuild directories are in WebKitBuild: Enable JHBuild
&gt;  - 3. Else: don&apos;t enable anything.

Proposed patch on top of the current one: http://sprunge.us/T3Qir7?diff</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626003</commentid>
    <comment_count>79</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-05 02:24:40 -0800</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #77)

&gt; So, to summarize, this is how I think this should work:
&gt; 
&gt; 1) I think the flatpak environment should *only* be enabled for the test
&gt; scripts (run-webkit-tests, run-minibrowser, run-perf-tests, etc) *IF* the
&gt; flatpak has been built previously (you can detect the user-flatpak directory
&gt; being present in WebKitBuild/).
&gt; 
&gt; 2) And to keep using JHBuild, it should *only* be needed to set the
&gt; environment variable WEBKIT_FLATPAK=1 when executing the script
&gt; update-webkitgtk-libs.

I guess you mean WEBKIT_JHBUILD ?

&gt; All the other scripts (build-webkit,
&gt; run-layout-tests, run-minibrowser, etc) should not rely on this environment
&gt; variable to decide if enabling flatpak or JHbuild. They should simply use a
&gt; directory-based checking to known what kind of third-party library system
&gt; has been enabled (if any):
&gt;  - 1. If the flatpak directories are in WebKitBuild: Enable flatpak
&gt;  - 2. If the JHBuild directories are in WebKitBuild: Enable JHBuild
&gt;  - 3. Else: don&apos;t enable anything.

This won&apos;t encourage anybody to try Flatpak though, because devs already have a JHBuild or nothing (Hi Carlos Garcia).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626090</commentid>
    <comment_count>80</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-03-05 08:47:00 -0800</bug_when>
    <thetext>(In reply to Philippe Normand from comment #79)
&gt; (In reply to Carlos Alberto Lopez Perez from comment #77)
&gt; 
&gt; &gt; So, to summarize, this is how I think this should work:
&gt; &gt; 
&gt; &gt; 1) I think the flatpak environment should *only* be enabled for the test
&gt; &gt; scripts (run-webkit-tests, run-minibrowser, run-perf-tests, etc) *IF* the
&gt; &gt; flatpak has been built previously (you can detect the user-flatpak directory
&gt; &gt; being present in WebKitBuild/).
&gt; &gt; 
&gt; &gt; 2) And to keep using JHBuild, it should *only* be needed to set the
&gt; &gt; environment variable WEBKIT_FLATPAK=1 when executing the script
&gt; &gt; update-webkitgtk-libs.
&gt; 
&gt; I guess you mean WEBKIT_JHBUILD ?
&gt; 

yes, i meant that

&gt; &gt; All the other scripts (build-webkit,
&gt; &gt; run-layout-tests, run-minibrowser, etc) should not rely on this environment
&gt; &gt; variable to decide if enabling flatpak or JHbuild. They should simply use a
&gt; &gt; directory-based checking to known what kind of third-party library system
&gt; &gt; has been enabled (if any):
&gt; &gt;  - 1. If the flatpak directories are in WebKitBuild: Enable flatpak
&gt; &gt;  - 2. If the JHBuild directories are in WebKitBuild: Enable JHBuild
&gt; &gt;  - 3. Else: don&apos;t enable anything.
&gt; 
&gt; This won&apos;t encourage anybody to try Flatpak though, because devs already
&gt; have a JHBuild or nothing (Hi Carlos Garcia).

I think it will do. We are changing the default. Until now the default was JHBuild. Now it will be flatpak. We are even changing the default script to update third-party libs (update-webkitgtk-libs) to use flatpak.

I don&apos;t think that by making this more annoying to devs opting-out to not use flatpak (by forcing them to set WEBKIT_JHBUILD=0 in their .bashrc) is a good idea; neither I think will encourage anyone.

The idea of flatpak is to give it a serious try and if it works ok for almost everybody and for the bots then remove JHBuild.. and if not remove flatpak.. we can&apos;t live with the two third-party systems forever, we have to make a choice at some point and go with that.

And no matter what system for third-party libraries we choose, building WebKit against the system libraries and running tests with that has to be supported always.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627815</commentid>
    <comment_count>81</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-09 09:43:49 -0700</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #78)

&gt; &gt; 2) And to keep using JHBuild, it should *only* be needed to set the
&gt; &gt; environment variable WEBKIT_FLATPAK=1 when executing the script
&gt; &gt; update-webkitgtk-libs. All the other scripts (build-webkit,
&gt; &gt; run-layout-tests, run-minibrowser, etc) should not rely on this environment
&gt; &gt; variable to decide if enabling flatpak or JHbuild. They should simply use a
&gt; &gt; directory-based checking to known what kind of third-party library system
&gt; &gt; has been enabled (if any):
&gt; &gt;  - 1. If the flatpak directories are in WebKitBuild: Enable flatpak
&gt; &gt;  - 2. If the JHBuild directories are in WebKitBuild: Enable JHBuild
&gt; &gt;  - 3. Else: don&apos;t enable anything.
&gt; 
&gt; Proposed patch on top of the current one: http://sprunge.us/T3Qir7?diff

OK so I&apos;ve tried this patch. The build failed, g-ir-scanner wanted to load a libpcre that is not in the flatpak SDK. An hour later, after trying to debug this in the flatpak SDK, I notice the JHBuild sysroot mentioned in the build log...

So I don&apos;t know... what should we do when both the jhbuild and the flatpak dirs are present? I&apos;d rather keep the explicitly defined behavior based on WEBKIT_JHBUILD.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627861</commentid>
    <comment_count>82</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-03-09 11:33:10 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #81)
&gt; (In reply to Carlos Alberto Lopez Perez from comment #78)
&gt; 
&gt; &gt; &gt; 2) And to keep using JHBuild, it should *only* be needed to set the
&gt; &gt; &gt; environment variable WEBKIT_FLATPAK=1 when executing the script
&gt; &gt; &gt; update-webkitgtk-libs. All the other scripts (build-webkit,
&gt; &gt; &gt; run-layout-tests, run-minibrowser, etc) should not rely on this environment
&gt; &gt; &gt; variable to decide if enabling flatpak or JHbuild. They should simply use a
&gt; &gt; &gt; directory-based checking to known what kind of third-party library system
&gt; &gt; &gt; has been enabled (if any):
&gt; &gt; &gt;  - 1. If the flatpak directories are in WebKitBuild: Enable flatpak
&gt; &gt; &gt;  - 2. If the JHBuild directories are in WebKitBuild: Enable JHBuild
&gt; &gt; &gt;  - 3. Else: don&apos;t enable anything.
&gt; &gt; 
&gt; &gt; Proposed patch on top of the current one: http://sprunge.us/T3Qir7?diff
&gt; 
&gt; OK so I&apos;ve tried this patch. The build failed, g-ir-scanner wanted to load a
&gt; libpcre that is not in the flatpak SDK. An hour later, after trying to debug
&gt; this in the flatpak SDK, I notice the JHBuild sysroot mentioned in the build
&gt; log...
&gt; 

Do you know why it entered into the jhbuild path when you had present the flatpak directories?

&gt; So I don&apos;t know... what should we do when both the jhbuild and the flatpak
&gt; dirs are present? 

As i see this, if both directories are present, then the flatpak environment should be enabled. The only way to go back to a JHBuild-based build environment would be to wipe the flatpak directories from WebKitBuild.

&gt; I&apos;d rather keep the explicitly defined behavior based on WEBKIT_JHBUILD.

If you prefer that, then I&apos;m fine with being able to force one or the other via the value of that environment variable, but I think we still have to define a default way to operate when that environment variable its not present, and that way to operate its to check what directories for third-party libs are present inside WebKitBuild: 1) if flatpak dir is present: enable flatpak 2) if jhbuild dir is present: enable jhbuild 3) else: don&apos;t enable anything.


So the final algorithm could be something like this:

if (defined WEBKIT_JHBUILD and WEBKIT_JHBUILD==1): enable jhbuild
if (defined WEBKIT_JHBUILD and WEBKIT_JHBUILD==0): enable flatpak
if (flatpakDir in WebKitBuild): enable flatpak
if (jhBuildDir in WebKitBuild): enable jhbuild
(default): no enable anything, use system libraries</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627864</commentid>
    <comment_count>83</comment_count>
      <attachid>392288</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-03-09 11:40:25 -0700</bug_when>
    <thetext>Comment on attachment 392288
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=392288&amp;action=review

&gt; Tools/flatpak/flatpakutils.py:51
&gt; +    (&quot;flatpak&quot;, &quot;1.6.2&quot;),

By the way, I have remembered that Fedora 31 ships flatpak 1.4.4
We have to lower this, as we support developers using Fedora.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628211</commentid>
    <comment_count>84</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-10 06:17:54 -0700</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #82)
&gt; 
&gt; Do you know why it entered into the jhbuild path when you had present the
&gt; flatpak directories?
&gt; 

Yes, in webkitdirs.pm, the wrapperPrefixIfNeeded() enabled jhbuild.

&gt; &gt; So I don&apos;t know... what should we do when both the jhbuild and the flatpak
&gt; &gt; dirs are present? 
&gt; 
&gt; As i see this, if both directories are present, then the flatpak environment
&gt; should be enabled. The only way to go back to a JHBuild-based build
&gt; environment would be to wipe the flatpak directories from WebKitBuild.
&gt; 
&gt; &gt; I&apos;d rather keep the explicitly defined behavior based on WEBKIT_JHBUILD.
&gt; 
&gt; If you prefer that, then I&apos;m fine with being able to force one or the other
&gt; via the value of that environment variable, but I think we still have to
&gt; define a default way to operate when that environment variable its not
&gt; present, and that way to operate its to check what directories for
&gt; third-party libs are present inside WebKitBuild: 1) if flatpak dir is
&gt; present: enable flatpak 2) if jhbuild dir is present: enable jhbuild 3)
&gt; else: don&apos;t enable anything.
&gt; 
&gt; 
&gt; So the final algorithm could be something like this:
&gt; 
&gt; if (defined WEBKIT_JHBUILD and WEBKIT_JHBUILD==1): enable jhbuild
&gt; if (defined WEBKIT_JHBUILD and WEBKIT_JHBUILD==0): enable flatpak
&gt; if (flatpakDir in WebKitBuild): enable flatpak
&gt; if (jhBuildDir in WebKitBuild): enable jhbuild
&gt; (default): no enable anything, use system libraries

I&apos;ll give this a try :)

(In reply to Carlos Alberto Lopez Perez from comment #83)
&gt; Comment on attachment 392288 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=392288&amp;action=review
&gt; 
&gt; &gt; Tools/flatpak/flatpakutils.py:51
&gt; &gt; +    (&quot;flatpak&quot;, &quot;1.6.2&quot;),
&gt; 
&gt; By the way, I have remembered that Fedora 31 ships flatpak 1.4.4
&gt; We have to lower this, as we support developers using Fedora.

👍</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628262</commentid>
    <comment_count>85</comment_count>
      <attachid>393154</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-10 08:35:02 -0700</bug_when>
    <thetext>Created attachment 393154
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628266</commentid>
    <comment_count>86</comment_count>
      <attachid>393154</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-10 08:57:35 -0700</bug_when>
    <thetext>Comment on attachment 393154
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=393154&amp;action=review

&gt; Tools/Scripts/webkitdirs.pm:2146
&gt; +        } else {
&gt; +            # or let Flatpak take precedence over JHBuild.
&gt; +            if (-e getUserFlatpakPath()) {

This can be simplified a bit, I didn&apos;t know perl has a &quot;elsif&quot; ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628577</commentid>
    <comment_count>87</comment_count>
      <attachid>393214</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-11 02:51:31 -0700</bug_when>
    <thetext>Created attachment 393214
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628581</commentid>
    <comment_count>88</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-11 02:57:59 -0700</bug_when>
    <thetext>run-javascriptcore-tests needs a few updates, as detected by EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628594</commentid>
    <comment_count>89</comment_count>
      <attachid>393223</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-11 04:39:20 -0700</bug_when>
    <thetext>Created attachment 393223
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628595</commentid>
    <comment_count>90</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-11 04:52:38 -0700</bug_when>
    <thetext>I&apos;m adding support in build-jsc too, but I wonder, what should I do for JSCOnly? On Linux platforms would it be OK to use Flatpak?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628599</commentid>
    <comment_count>91</comment_count>
      <attachid>393225</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-11 05:00:46 -0700</bug_when>
    <thetext>Created attachment 393225
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628600</commentid>
    <comment_count>92</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-11 05:16:26 -0700</bug_when>
    <thetext>Another bug:

env CC=clang CXX=clang++ build-webkit --gtk --update-gtk
Building flatpak based environment

You need to install flatpak &gt;= 1.4.4 to be able to use the &apos;Tools/Scripts/update-webkit-flatpak&apos; script.

You can find some informations about how to install it for your distribution at:
    * http://flatpak.org/

+  cmake --build /app/webkit/WebKitBuild/Release --config Release -- -j12


We execute the update-webkitgtk-libs script within the sandbox...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628602</commentid>
    <comment_count>93</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-11 05:24:05 -0700</bug_when>
    <thetext>Are these --update-gtk and --update-wpe switches still needed? The buildbots don&apos;t seem to use that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628604</commentid>
    <comment_count>94</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-03-11 05:37:57 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #93)
&gt; Are these --update-gtk and --update-wpe switches still needed? 

No idea if some developer uses them.

but fixing it may be simple? you can exit with zero status early on the scripts update-webkitwpe-libs/update-webkitgtk-libs if you detect on them you are inside the sandbox.

&gt; The buildbots don&apos;t seem to use that.

right, it sems they don&apos;t ... and maybe they should because we have lot of ifdef code there to call the steps InstallGtkDependencies() for &quot;platform == gtk&quot;. And instead of that we could maybe just simply pass this parameter to build-webkit instead of adding a previous step to call update-webkitgtk-libs script ¯\_(ツ)_/¯</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628605</commentid>
    <comment_count>95</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-11 05:44:07 -0700</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #94)
&gt; (In reply to Philippe Normand from comment #93)
&gt; &gt; Are these --update-gtk and --update-wpe switches still needed? 
&gt; 
&gt; No idea if some developer uses them.
&gt; 
&gt; but fixing it may be simple? you can exit with zero status early on the
&gt; scripts update-webkitwpe-libs/update-webkitgtk-libs if you detect on them
&gt; you are inside the sandbox.
&gt; 

I&apos;m not sure it&apos;s simple. We could use flatpak-spawn maybe but then updating the sysroot while already inside the sandbox might be a foot-gun.

I think that ideally the update script should be called before entering the sandbox, so by checking the argument in build-webkit.

&gt; &gt; The buildbots don&apos;t seem to use that.
&gt; 
&gt; right, it sems they don&apos;t ... and maybe they should because we have lot of
&gt; ifdef code there to call the steps InstallGtkDependencies() for &quot;platform ==
&gt; gtk&quot;. And instead of that we could maybe just simply pass this parameter to
&gt; build-webkit instead of adding a previous step to call update-webkitgtk-libs
&gt; script ¯\_(ツ)_/¯

Yeah maybe, let&apos;s do that in follow-up though? This patch is already been going on for months :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628615</commentid>
    <comment_count>96</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-03-11 06:09:02 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #95)
&gt; Yeah maybe, let&apos;s do that in follow-up though? This patch is already been
&gt; going on for months :)

Yes, sure.. or even not do it.. at this point we already have all that code if-defed

Also it seems fine to me to remove support for &quot;--update-gtk&quot; on build-webkit if fixing it is complicated. That can be re-added later if someone misses it or someone wants to take on unifying the code for the buildbots and remove the extra step for installgtkdependencies.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628623</commentid>
    <comment_count>97</comment_count>
      <attachid>393236</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-11 07:04:55 -0700</bug_when>
    <thetext>Created attachment 393236
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630743</commentid>
    <comment_count>98</comment_count>
      <attachid>393236</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-03-17 09:17:17 -0700</bug_when>
    <thetext>Comment on attachment 393236
Patch

r=me
I set cq- because this patch changes the default method for handling third-party libraries and can cause big surprise to developers.
So I think we should send a mail to webkit-dev (or both gtk-dev+wpe-dev) webkit.org mailing lists telling about this before landing it (and at the same time encouraging everyone to test it and report any issue found with it)
Its also a good idea telling that Ubuntu LTS users can find the required flatpak version on that ppa, and debian stable users have the required version on the backports repository.
Thanks for all!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630782</commentid>
    <comment_count>99</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-17 10:43:50 -0700</bug_when>
    <thetext>https://lists.webkit.org/pipermail/webkit-dev/2020-March/031147.html :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631068</commentid>
    <comment_count>100</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-18 02:55:29 -0700</bug_when>
    <thetext>Committed r258626: &lt;https://trac.webkit.org/changeset/258626&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631069</commentid>
    <comment_count>101</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-18 02:56:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/60577737&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631078</commentid>
    <comment_count>102</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-18 03:18:32 -0700</bug_when>
    <thetext>*** Bug 205656 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631198</commentid>
    <comment_count>103</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2020-03-18 09:29:56 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #100)
&gt; Committed r258626: &lt;https://trac.webkit.org/changeset/258626&gt;
This has broken macOS test262 bots: https://bugs.webkit.org/show_bug.cgi?id=209238</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1633168</commentid>
    <comment_count>104</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-03-23 17:50:42 -0700</bug_when>
    <thetext>I&apos;m not sure how, but this may have caused:

Bug 209455: [Win] http/tests/misc/last-modified-parsing.html always fails on Windows EWS
&lt;https://bugs.webkit.org/show_bug.cgi?id=209455&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1633256</commentid>
    <comment_count>105</comment_count>
      <attachid>393236</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-24 02:07:54 -0700</bug_when>
    <thetext>Comment on attachment 393236
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=393236&amp;action=review

&gt; Tools/Scripts/webkitpy/port/base.py:896
&gt; +            &apos;TZ&apos;,

This might be the cause of the regression, David. If this variable has any effect on windows bots anyway.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386766</attachid>
            <date>2020-01-04 10:59:01 -0800</date>
            <delta_ts>2020-01-13 04:08:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205658-20200104185859.patch</filename>
            <type>text/plain</type>
            <size>119245</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0MDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzQxMTRhYzYxNWQ3ZWEy
YWFmOWRlNTI1ZGYwYjdlMDc1OTY5ZTRjYi4uMjNiZjViMzI2Nzc1OTk3YjlkY2U2MzcxYmQ3YWU4
ZjRhM2EyYjg0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAxLTA0ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVd
IE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0
aW9uTGliSHlwaGVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNjYW5UZXN0RGljdGlvbmFyaWVz
RGlyZWN0b3J5SWZOZWNlc3NhcnkpOiBDaGVjayBmb3IgZmxhdHBhay1pbnN0YWxsZWQgZGljdGlv
bmFyaWVzLgorCiAyMDIwLTAxLTAzICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgTWFrZSB0ZXh0IHRyYWNrIGxvYWRpbmcgc2V0IHNhbWUtb3JpZ2luIGZhbGxiYWNrIGZs
YWcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhl
bmF0aW9uTGliSHlwaGVuLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVu
L0h5cGhlbmF0aW9uTGliSHlwaGVuLmNwcAppbmRleCAxMmJhYTRjNGQzZTllNjNmN2ZmODFjNWUy
YjExOTRiOGJiOGE5YzA1Li5mMzM1OWQ4MDcwMjJmNTQ4OWM2OGY5YWNmODE2YTY3MDQyYTUzZDYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2h5cGhlbi9IeXBoZW5h
dGlvbkxpYkh5cGhlbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9oeXBo
ZW4vSHlwaGVuYXRpb25MaWJIeXBoZW4uY3BwCkBAIC0xMjEsOCArMTIxLDE1IEBAIHN0YXRpYyB2
b2lkIHNjYW5UZXN0RGljdGlvbmFyaWVzRGlyZWN0b3J5SWZOZWNlc3NhcnkoSGFzaE1hcDxBdG9t
U3RyaW5nLCBWZWN0b3I8CiAgICAgLy8gbGliaHlwaGVuIGRvZXNuJ3QgaGF2ZSB0aGUgY29uY2Vw
dCBvZiBpbnN0YWxsZWQgZGljdGlvbmFyaWVzLiBJbnN0ZWFkLAogICAgIC8vIHdlIGhhdmUgdGhp
cyBzcGVjaWFsIGNhc2UgZm9yIFdlYktpdCB0ZXN0cy4KICNpZiBQTEFURk9STShHVEspCisgICAg
Ly8gVHJ5IGFsdGVybmF0aXZlIGRpY3Rpb25hcmllcyBwYXRoIGZvciBwZW9wbGUgdXNpbmcgRmxh
dHBhay4KKyAgICBHVW5pcXVlUHRyPGNoYXI+IGRpY3Rpb25hcmllc1BhdGgoZ19idWlsZF9maWxl
bmFtZSgiL3VzciIsICJzaGFyZSIsICJ3ZWJraXRndGstdGVzdC1kaWN0cyIsIG51bGxwdHIpKTsK
KyAgICBpZiAoZ19nZXRlbnYoIkZMQVRQQUtfSUQiKSAmJiBnX2ZpbGVfdGVzdChkaWN0aW9uYXJp
ZXNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNUX0lTX0RJUikp
KSB7CisgICAgICAgIHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJpZXMoZGljdGlvbmFyaWVzUGF0
aC5nZXQoKSwgYXZhaWxhYmxlTG9jYWxlcyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAg
ICBDU3RyaW5nIGJ1aWxkRGlyZWN0b3J5ID0gd2Via2l0QnVpbGREaXJlY3RvcnkoKTsKLSAgICBH
VW5pcXVlUHRyPGNoYXI+IGRpY3Rpb25hcmllc1BhdGgoZ19idWlsZF9maWxlbmFtZShidWlsZERp
cmVjdG9yeS5kYXRhKCksICJEZXBlbmRlbmNpZXNHVEsiLCAiUm9vdCIsICJ3ZWJraXRndGstdGVz
dC1kaWN0cyIsIG51bGxwdHIpKTsKKyAgICBkaWN0aW9uYXJpZXNQYXRoLnJlc2V0KGdfYnVpbGRf
ZmlsZW5hbWUoYnVpbGREaXJlY3RvcnkuZGF0YSgpLCAiRGVwZW5kZW5jaWVzR1RLIiwgIlJvb3Qi
LCAid2Via2l0Z3RrLXRlc3QtZGljdHMiLCBudWxscHRyKSk7CiAgICAgaWYgKGdfZmlsZV90ZXN0
KGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RF
U1RfSVNfRElSKSkpIHsKICAgICAgICAgc2NhbkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0
aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFpbGFibGVMb2NhbGVzKTsKICAgICAgICAgcmV0dXJuOwpA
QCAtMTMwLDcgKzEzNyw5IEBAIHN0YXRpYyB2b2lkIHNjYW5UZXN0RGljdGlvbmFyaWVzRGlyZWN0
b3J5SWZOZWNlc3NhcnkoSGFzaE1hcDxBdG9tU3RyaW5nLCBWZWN0b3I8CiAKICAgICAvLyBUcnkg
YWx0ZXJuYXRpdmUgZGljdGlvbmFyaWVzIHBhdGggZm9yIHBlb3BsZSBub3QgdXNpbmcgSkhCdWls
ZC4KICAgICBkaWN0aW9uYXJpZXNQYXRoLnJlc2V0KGdfYnVpbGRfZmlsZW5hbWUoYnVpbGREaXJl
Y3RvcnkuZGF0YSgpLCAid2Via2l0Z3RrLXRlc3QtZGljdHMiLCBudWxscHRyKSk7Ci0gICAgc2Nh
bkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFpbGFi
bGVMb2NhbGVzKTsKKyAgICBpZiAoZ19maWxlX3Rlc3QoZGljdGlvbmFyaWVzUGF0aC5nZXQoKSwg
c3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9JU19ESVIpKSkKKyAgICAgICAgc2Nh
bkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFpbGFi
bGVMb2NhbGVzKTsKKwogI2VsaWYgZGVmaW5lZChURVNUX0hZUEhFTkFUQUlPTl9QQVRIKQogICAg
IHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJpZXMoVEVTVF9IWVBIRU5BVEFJT05fUEFUSCwgYXZh
aWxhYmxlTG9jYWxlcyk7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDY5MDFhMTI2NzMwOGQ3NDA3YmEzYTIyNTM1M2Y0NmVlZTA0YmU3
ODAuLjk0MDRjMWQwNDliNDU5YjNjOTJkYzhlMDYxNTZmN2E4NTU3YjZlYzQgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMTAgQEAK
KzIwMjAtMDEtMDQgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtHVEtdW1dQRV0gTWlncmF0ZSB0byBGbGF0cGFrLWJhc2VkIGRldiBTREsKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTY1OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEpIQnVpbGQgd2lsbCBu
b3cgYmUgdXNlZCBvbmx5IGlmIHRoZSBXRUJLSVRfSkhCVUlMRCBlbnZpcm9ubWVudAorICAgICAg
ICB2YXJpYWJsZSBpcyBzZXQgdG8gMSwgd2hpY2ggaXMgdGhlIGNhc2UgZm9yIHRoZSB0aW1lIGJl
aW5nIG9uIHRoZQorICAgICAgICBHVEsgYW5kIFdQRSBFV1MvYnVpbGQgYm90cy4KKworICAgICAg
ICBCeSBkZWZhdWx0IHRoZSBidWlsZCBkZXBlbmRlbmNpZXMgYXJlIG5vdyBsb2NhbGx5IGluc3Rh
bGxlZCBmcm9tIGEKKyAgICAgICAgRmxhdHBhayByZXBvc2l0b3J5IGhvc3RlZCBhdCBodHRwczov
L3NvZnR3YXJlLmlnYWxpYS5jb20uIFRoZQorICAgICAgICByZXBvc2l0b3J5IGNhbiBiZSByZWdl
bmVyYXRlZCB3aXRoIHRoZSBzY3JpcHRzIGZyb20gdGhlCisgICAgICAgIHdlYmtpdC1mbGF0cGFr
LXNkayBHaXRodWIgcHJvamVjdAorICAgICAgICAoaHR0cHM6Ly9naXRodWIuY29tL0lnYWxpYS93
ZWJraXQtZmxhdHBhay1zZGspLiBUaGlzIGlzIGRvbmUKKyAgICAgICAgdHJhbnNwYXJlbnRseSB3
aXRoIHRoZSB1cGRhdGUtd2Via2l0e2d0ayx3cGV9LWxpYnMgc2NyaXB0cy4gQXMKKyAgICAgICAg
dGhlcmUgaXMgbm8gbmVlZCB0byByZWJ1aWxkIHRoZSBkZXBlbmRlbmNpZXMgZnJvbSBzY3JhdGNo
LCB0aGUKKyAgICAgICAgZGV2ZWxvcGVyIHVzZXItZXhwZXJpZW5jZSBzaG91bGQgbm93IGJlIG11
Y2ggbW9yZSBmcmllbmRseSBhbmQKKyAgICAgICAgb3ZlcmFsbCBidWlsZCB0aW1lcyByZWR1Y2Vk
LgorCisgICAgICAgIFRoZSBKSEJ1aWxkIGluZnJhc3RydWN0dXJlIHdpbGwgYmUgcmVtb3ZlZCBv
bmNlIGFsbCB0aGUgYm90cyBoYXZlCisgICAgICAgIGJlZW4gc3dpdGNoZWQgb3ZlciB0byBGbGF0
cGFrLgorCisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5Ogor
ICAgICAgICAoSW5zdGFsbEd0a0RlcGVuZGVuY2llcyk6CisgICAgICAgIChJbnN0YWxsV3BlRGVw
ZW5kZW5jaWVzKToKKyAgICAgICAgKENvbXBpbGVXZWJLaXQuc3RhcnQpOgorICAgICAgICAqIEJ1
aWxkU2xhdmVTdXBwb3J0L2d0ay9idWlsZGJvdC9ydW46CisgICAgICAgICogU2NyaXB0cy9idWls
ZC13ZWJraXQ6CisgICAgICAgICogU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHM6CisgICAgICAg
ICogU2NyaXB0cy9ydW4tYnVpbHRpbnMtZ2VuZXJhdG9yLXRlc3RzOgorICAgICAgICAqIFNjcmlw
dHMvcnVuLWd0ay10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10
ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1taW5pYnJvd3NlcjoKKyAgICAgICAgKiBTY3Jp
cHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXI6CisgICAgICAgICogU2NyaXB0cy9ydW4td2ViZHJp
dmVyLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVuLXdwZS10ZXN0czoKKyAgICAgICAgKiBT
Y3JpcHRzL3Rlc3Qtd2Via2l0cGVybDoKKyAgICAgICAgKiBTY3JpcHRzL3Rlc3Qtd2Via2l0cHk6
CisgICAgICAgICogU2NyaXB0cy90ZXN0MjYyLXJ1bm5lcjoKKyAgICAgICAgKiBTY3JpcHRzL3Vw
ZGF0ZS13ZWJraXQtZmxhdHBhazogUmVuYW1lZCBmcm9tIFRvb2xzL1NjcmlwdHMvdXBkYXRlLXdl
YmtpdGd0ay1mbGF0cGFrLgorICAgICAgICAqIFNjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1saWJz
OgorICAgICAgICAqIFNjcmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1mbGF0cGFrOiBSZW1vdmVkLgor
ICAgICAgICAqIFNjcmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1saWJzOgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0ZGlycy5wbToKKyAgICAgICAgKGdldFVzZXJGbGF0cGFrUGF0aCk6CisgICAgICAg
IChpbkZsYXRwYWtTYW5kYm94KToKKyAgICAgICAgKHJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKToK
KyAgICAgICAgKHdyYXBwZXJQcmVmaXhJZk5lZWRlZCk6CisgICAgICAgIChzaG91bGRVc2VKaGJ1
aWxkKToKKyAgICAgICAgKHNob3VsZFVzZUZsYXRwYWspOgorICAgICAgICAoc2hvdWxkUmVtb3Zl
Q01ha2VDYWNoZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4
ZWN1dGl2ZS5weToKKyAgICAgICAgKEV4ZWN1dGl2ZS5raWxsX2FsbCk6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHk6CisgICAgICAgIChQb3J0Ll9wYXRoX3RvX2FwYWNo
ZSk6CisgICAgICAgIChQb3J0Ll9zaG91bGRfcnVuX2FzX3BpeGVsX3Rlc3QpOgorICAgICAgICAo
UG9ydC5faW5fZmxhdHBha19zYW5kYm94KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvZ3RrLnB5OgorICAgICAgICAoR3RrUG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIpOgor
ICAgICAgICAoR3RrUG9ydC5fZ2V0X2NyYXNoX2xvZyk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9sb2cucHk6CisgICAgICAgIChHREJDcmFzaExvZ0dl
bmVyYXRvcik6CisgICAgICAgIChHREJDcmFzaExvZ0dlbmVyYXRvci5fX2luaXRfXyk6CisgICAg
ICAgIChHREJDcmFzaExvZ0dlbmVyYXRvci5nZW5lcmF0ZV9jcmFzaF9sb2cpOgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5Ogor
ICAgICAgICAoR0RCQ3Jhc2hMb2dHZW5lcmF0b3JUZXN0LnRlc3RfZ2VuZXJhdGVfY3Jhc2hfbG9n
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvd3BlLnB5OgorICAgICAgICAoV1BF
UG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIpOgorICAgICAgICAoV1BFUG9ydC5fZ2V0X2Ny
YXNoX2xvZyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXIucHk6
CisgICAgICAgIChYdmZiRHJpdmVyLl9zZXR1cF9lbnZpcm9uX2Zvcl90ZXN0KToKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNw
cDoKKyAgICAgICAgKFdUUjo6Z2V0Rm9udHNQYXRoKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL3dwZS9BY3RpdmF0ZUZvbnRzV1BFLmNwcDoKKyAgICAgICAgKFdU
Ujo6Z2V0Rm9udHNQYXRoKToKKyAgICAgICAgKiBmbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttOiBS
ZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmbGF0cGFrL2ZsYXRwYWt1dGlscy5weToKKyAgICAgICAgKGNoZWNrX2Zs
YXRwYWspOgorICAgICAgICAoRmxhdHBha1JlcG9zLnVwZGF0ZSk6CisgICAgICAgIChGbGF0cGFr
UGFja2FnZS5fX3JlcHJfXyk6CisgICAgICAgIChGbGF0cGFrUGFja2FnZS5fX3N0cl9fKToKKyAg
ICAgICAgKFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2FyZ3MpOgorICAgICAgICAoV2Via2l0Rmxh
dHBhay5fX2luaXRfXyk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLmNsZWFuX2FyZ3MpOgorICAg
ICAgICAoV2Via2l0RmxhdHBhay5zZXR1cF9idWlsZGRpcik6CisgICAgICAgIChXZWJraXRGbGF0
cGFrKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuc2V0dXBfZ3N0YnVpbGQpOgorICAgICAgICAo
V2Via2l0RmxhdHBhay5ydW5faW5fc2FuZGJveCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnJ1
bik6CisgICAgICAgIChXZWJraXRGbGF0cGFrLmhhc19lbnZpcm9ubWVudCk6CisgICAgICAgIChX
ZWJraXRGbGF0cGFrLnNhdmVfY29uZmlnKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuc2V0dXBf
ZGV2X2Vudik6CisgICAgICAgIChXZWJraXRGbGF0cGFrLmluc3RhbGxfYWxsKToKKyAgICAgICAg
KFdlYmtpdEZsYXRwYWsucnVuX2dkYik6CisgICAgICAgICogZmxhdHBhay9vcmcud2Via2l0LkNv
bW1vbk1vZHVsZXMueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL29yZy53ZWJraXQu
R1RLLnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9vcmcud2Via2l0LldQRS55YW1s
OiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsvb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWw6
IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9vcmcud2Via2l0LldQRVFULnlhbWw6IFJlbW92
ZWQuCisgICAgICAgICogZmxhdHBhay9vcmcud2Via2l0LldlYktpdC55YW1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGZsYXRwYWsvcGF0Y2hlcy9odHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNv
bmZpZy1mb3ItUENSRS1kZXRlY3Rpb24ucGF0Y2g6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBh
ay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWRldGVjdC1ncGctZXJy
b3IucGF0Y2g6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9wYXRjaGVzL3h2ZmItMDAwMS1I
QUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1maWxlLnBhdGNoOiBSZW1vdmVkLgorCiAyMDIwLTAx
LTAzICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFJF
R1JFU1NJT046IDE1MCsgZmxha3kgZmFpbHVyZXMgb24gc29tZSBib3RzIChjb2xvciBtaXNtYXRj
aGVzKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBz
LnB5IGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5CmluZGV4IGM1
ZWM4MDhmMGQ3YTU3OWM3YTg3NTZiOGFkNjcyN2I0ZjcwMDdmZGIuLjAxM2FhOTgwNjkyNGUwODMz
NDY0NWY0OWJkZmRjMDRhMDk3NzVhYzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBw
b3J0L2V3cy1idWlsZC9zdGVwcy5weQorKysgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ld3Mt
YnVpbGQvc3RlcHMucHkKQEAgLTc0MSw2ICs3NDEsNyBAQCBjbGFzcyBJbnN0YWxsR3RrRGVwZW5k
ZW5jaWVzKHNoZWxsLlNoZWxsQ29tbWFuZCk6CiAgICAgZGVzY3JpcHRpb24gPSBbJ3VwZGF0aW5n
IGd0ayBkZXBlbmRlbmNpZXMnXQogICAgIGRlc2NyaXB0aW9uRG9uZSA9IFsnVXBkYXRlZCBndGsg
ZGVwZW5kZW5jaWVzJ10KICAgICBjb21tYW5kID0gWydwZXJsJywgJ1Rvb2xzL1NjcmlwdHMvdXBk
YXRlLXdlYmtpdGd0ay1saWJzJ10KKyAgICBlbnYgPSB7J1dFQktJVF9KSEJVSUxEJzogJzEnfQog
ICAgIGhhbHRPbkZhaWx1cmUgPSBGYWxzZQogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsICoqa3dh
cmdzKToKQEAgLTc1Miw2ICs3NTMsNyBAQCBjbGFzcyBJbnN0YWxsV3BlRGVwZW5kZW5jaWVzKHNo
ZWxsLlNoZWxsQ29tbWFuZCk6CiAgICAgZGVzY3JpcHRpb24gPSBbJ3VwZGF0aW5nIHdwZSBkZXBl
bmRlbmNpZXMnXQogICAgIGRlc2NyaXB0aW9uRG9uZSA9IFsnVXBkYXRlZCB3cGUgZGVwZW5kZW5j
aWVzJ10KICAgICBjb21tYW5kID0gWydwZXJsJywgJ1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtp
dHdwZS1saWJzJ10KKyAgICBlbnYgPSB7J1dFQktJVF9KSEJVSUxEJzogJzEnfQogICAgIGhhbHRP
bkZhaWx1cmUgPSBGYWxzZQogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsICoqa3dhcmdzKToKQEAg
LTgyMiw2ICs4MjQsOCBAQCBjbGFzcyBDb21waWxlV2ViS2l0KHNoZWxsLkNvbXBpbGUpOgogICAg
ICAgICAgICAgIyB0aGlzIG11Y2ggZmFzdGVyIHRoYW4gZnVsbCBkZWJ1ZyBpbmZvLCBhbmQgY3Jh
c2ggbG9ncyBzdGlsbCBoYXZlIGxpbmUgbnVtYmVycy4KICAgICAgICAgICAgIHNlbGYuc2V0Q29t
bWFuZChzZWxmLmNvbW1hbmQgKyBbJ0RFQlVHX0lORk9STUFUSU9OX0ZPUk1BVD1kd2FyZi13aXRo
LWRzeW0nXSkKICAgICAgICAgICAgIHNlbGYuc2V0Q29tbWFuZChzZWxmLmNvbW1hbmQgKyBbJ0NM
QU5HX0RFQlVHX0lORk9STUFUSU9OX0xFVkVMPWxpbmUtdGFibGVzLW9ubHknXSkKKyAgICAgICAg
aWYgcGxhdGZvcm0gaW4gKCdndGsnLCAnd3BlJyk6CisgICAgICAgICAgICBzZWxmLmVudlsnV0VC
S0lUX0pIQlVJTEQnXSA9ICcxJwogCiAgICAgICAgIGFwcGVuZEN1c3RvbUJ1aWxkRmxhZ3Moc2Vs
ZiwgcGxhdGZvcm0sIHNlbGYuZ2V0UHJvcGVydHkoJ2Z1bGxQbGF0Zm9ybScpKQogCmRpZmYgLS1n
aXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvcnVuIGIvVG9vbHMvQnVp
bGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L3J1bgppbmRleCAxNjZjMzgzZWE4ZTZjMTBmY2Mw
NWVmMDdlZDRmNDg4OWJiYmI5ZWFhLi42OTkwZGFlNzVhY2I4MzQxODRiZWE1YjM4NDhhZDQ3ZDgz
MjAzOTM0IDEwMDc1NQotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3Qv
cnVuCisrKyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWlsZGJvdC9ydW4KQEAgLTY3
LDYgKzY3LDcgQEAgZXhlYyAvdXNyL2Jpbi9lbnYgLSAgICAgICAgICBcCiAJCVBBVEg9IiR7UEFU
SH0iICAgICAgICAgICAgICBcCiAJCVNIRUxMPS9iaW4vYmFzaCAgICAgICAgICAgICAgXAogCQlM
QU5HPWVuX1VTLlVURi04ICAgICAgICAgICAgICBcCisJCVdFQktJVF9KSEJVSUxEPTEgXAogCQlV
U0VSPSIke2J1aWxkYm90X3VzZXJ9IiAgICAgICAgXAogCQlMT0dOQU1FPSIke2J1aWxkYm90X3Vz
ZXJ9IiAgICAgIFwKIAkJSE9NRT0iL2hvbWUvJHtidWlsZGJvdF91c2VyfSIgICAgXApkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgYi9Ub29scy9TY3JpcHRzL2J1aWxkLXdl
YmtpdAppbmRleCBkOTZhMDFiY2RhYjllNDU0ZjNkZmUzYjk0ZWJkMDM4OWNkODhiZDFiLi5lODcx
YzgzZTJmMjVjZDU2OGFjNGEzYjdmMDNkNGQ0ZDI0ZmEyMDAwIDEwMDc1NQotLS0gYS9Ub29scy9T
Y3JpcHRzL2J1aWxkLXdlYmtpdAorKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdApAQCAt
NTIsOCArNTIsOCBAQCBzZXRDb25maWd1cmF0aW9uKCk7CiAKIGlmIChzaG91bGRVc2VGbGF0cGFr
KCkpIHsKICAgICBwcmludCAiQnVpbGRpbmcgZmxhdHBhayBiYXNlZCBlbnZpcm9ubWVudFxuIjsK
LQotICAgIHJ1bkluRmxhdHBhaygiL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJr
aXQiKTsKKyAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigp
LCAiVG9vbHMiLCAiU2NyaXB0cyIsICJidWlsZC13ZWJraXQiKSk7CisgICAgcnVuSW5GbGF0cGFr
KEBjb21tYW5kKTsKIH0KIAogbXkgJG9yaWdpbmFsV29ya2luZ0RpcmVjdG9yeSA9IGdldGN3ZCgp
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMgYi9Ub29scy9T
Y3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0cwppbmRleCBmNmU0NDc3MjUwZjllMTllMzk1OGVmY2I3
ZDZlODFlMmFjMjhjOWFiLi4wYWMwYjNhMzEwODhhMTIyZTA5OThlYTQ5NTY1YmYyMzg3NzM4YTUw
IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0cworKysgYi9Ub29s
cy9TY3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0cwpAQCAtMzMsNiArMzMsMTEgQEAgaW1wb3J0IG9z
CiBpbXBvcnQgc3lzCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0IGV4ZWN1dGl2
ZQogCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4o
b3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgJy4uJywgJy4uJykpCitzeXMucGF0aC5pbnNlcnQo
MCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICdUb29scycsICdmbGF0cGFrJykp
CitpbXBvcnQgZmxhdHBha3V0aWxzCitmbGF0cGFrdXRpbHMucnVuX2luX3NhbmRib3hfaWZfYXZh
aWxhYmxlKHN5cy5hcmd2KQorCiBkZWYgbWFpbihhcmd2KToKICAgICAiIiJSdW5zIFdlYkNvcmUg
YmluZGluZ3MgY29kZSBnZW5lcmF0b3JzIG9uIHRlc3QgSURMIGZpbGVzIGFuZCBjb21wYXJlcwog
ICAgIHRoZSByZXN1bHRzIHdpdGggcmVmZXJlbmNlIGZpbGVzLgpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy9ydW4tYnVpbHRpbnMtZ2VuZXJhdG9yLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4t
YnVpbHRpbnMtZ2VuZXJhdG9yLXRlc3RzCmluZGV4IDIzOThjNzhjYTEwZWM1OTc2MjY2MTJjODU1
NTNhYmQxYTRlNmZiZDQuLmZiYjA4NjQyNDE5NzRlYTYwMzVkYTg4YjM2NzliYzQzYzAyYzdlOWQg
MTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRvci10ZXN0cwor
KysgYi9Ub29scy9TY3JpcHRzL3J1bi1idWlsdGlucy1nZW5lcmF0b3ItdGVzdHMKQEAgLTI1LDYg
KzI1LDEyIEBACiBpbXBvcnQgc3lzCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0
IGV4ZWN1dGl2ZQogCitpbXBvcnQgb3MKK3RvcF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5v
cm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAnLi4nLCAnLi4n
KSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwg
J1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBmbGF0cGFrdXRpbHMKK2ZsYXRwYWt1dGlscy5y
dW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lzLmFyZ3YpCisKIGRlZiBtYWluKGFyZ3YpOgog
ICAgICIiIlJ1bnMgdGhlIEpTIGJ1aWx0aW5zIGNvZGUgZ2VuZXJhdG9yIG9uIHRlc3QgaW5wdXQg
ZmlsZXMgYW5kIGNvbXBhcmVzCiAgICAgdGhlIHJlc3VsdHMgd2l0aCByZWZlcmVuY2UgZmlsZXMu
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMgYi9Ub29scy9TY3JpcHRz
L3J1bi1ndGstdGVzdHMKaW5kZXggNDFiMDVlMmRmNGIxZTZkOGZlMzhlYTNjNTQ5YjUzMzU4NGE0
Mjk3ZS4uZDM5NzQ4ZjRjM2Q4ZmRmY2VmZjFhMjI5OWFkYTQyYzg3ZTY1YWFlNSAxMDA3NTUKLS0t
IGEvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWd0
ay10ZXN0cwpAQCAtMTMzLDcgKzEzMyw3IEBAIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAg
ICAgaWYgbm90IGZsYXRwYWt1dGlscy5pc19zYW5kYm94ZWQoKSBhbmQgbm90IGpoYnVpbGR1dGls
cy5lbnRlcl9qaGJ1aWxkX2Vudmlyb25tZW50X2lmX2F2YWlsYWJsZSgiZ3RrIik6CiAgICAgICAg
IHByaW50ICcqKionCiAgICAgICAgIHByaW50ICcqKiogV2FybmluZzogamhidWlsZCBlbnZpcm9u
bWVudCBub3QgcHJlc2VudCBhbmQgbm90IHJ1bm5pbmcgaW4gZmxhdHBhay4nCi0gICAgICAgIHBy
aW50ICcqKiogUnVuIHVwZGF0ZS13ZWJraXRndGstbGlicyBvciB1cGRhdGUtd2Via2l0Z3RrLWZs
YXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3RpbmcuLicKKyAg
ICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJr
aXQtZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9wZXIgdGVzdGluZy4u
JwogICAgICAgICBwcmludCAnKioqJwogCiAgICAgb3B0aW9uX3BhcnNlciA9IG9wdHBhcnNlLk9w
dGlvblBhcnNlcih1c2FnZT0ndXNhZ2U6ICVwcm9nIFtvcHRpb25zXSBbdGVzdC4uLl0nKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMgYi9Ub29scy9T
Y3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwppbmRleCAyYmE5MTdkMzNmN2IzOTM4YjAw
NDkzNThlMGMzZmQ3NWJlOWVhYjEzLi4yMjAwY2NkNzJiMjY1NjBhNGJjNzA1ZTBkMGRkYzI2OWE2
YTBjOGFmIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0
cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwpAQCAtNDUsNiAr
NDUsMTIgQEAgdXNlIHdlYmtpdGRpcnM7CiBzZXRDb25maWd1cmF0aW9uKCk7CiBteSAkY29uZmln
dXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24oKTsKIAoraWYgKHNob3VsZFVzZUZsYXRwYWsoKSkgewor
ICAgIG15IEBjb21tYW5kID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29s
cyIsICJTY3JpcHRzIiwgInJ1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cyIpKTsKKyAgICBydW5JbkZs
YXRwYWsoQGNvbW1hbmQpOworfQorCisKICMgVGhlc2UgdmFyaWFibGVzIGFyZSBpbnRlbnRpb25h
bGx5IGxlZnQgdW5kZWZpbmVkLgogbXkgJHJvb3Q7CiBteSAkc2hvd0hlbHA7CmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlciBiL1Rvb2xzL1NjcmlwdHMvcnVuLW1pbmli
cm93c2VyCmluZGV4IDRjZjZiZTQwNDdiZmQ3NmQ2ODEwOWFiMjlhYTY4YTkwZGMwODY2ZTEuLjkw
Y2QzZmFmNDMxYWViOTI4ZGZkNmRkZmQ2ZWQ2ZDIzZDJmMjFjY2MgMTAwNzU1Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvcnVuLW1pbmlicm93c2VyCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93
c2VyCkBAIC00NSw3ICs0NSw4IEBAIHByb2hpYml0VW5rbm93blBvcnQoKTsKIHNldENvbmZpZ3Vy
YXRpb24oKTsKIAogaWYgKGlzR3RrKCkgfHwgaXNXUEUoKSkgewotICAgIHJ1bkluRmxhdHBha0lm
QXZhaWxhYmxlKCIvYXBwL3dlYmtpdC9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlciIpOwor
ICAgIG15IEBjb21tYW5kID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29s
cyIsICJTY3JpcHRzIiwgInJ1bi1taW5pYnJvd3NlciIpKTsKKyAgICBydW5JbkZsYXRwYWtJZkF2
YWlsYWJsZShAY29tbWFuZCk7CiAKICAgICAjIENoZWNrIHRvIHNlZSB0aGF0IGFsbCB0aGUgZnJh
bWV3b3JrcyBhcmUgYnVpbHQuCiAgICAgY2hlY2tGcmFtZXdvcmtzKCk7CmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXIgYi9Ub29scy9TY3JpcHRzL3J1bi1x
dC13cGUtbWluaWJyb3dzZXIKaW5kZXggYWVhY2I0ODNjMmZkMTBhYWE1ZmRkMDBkYzZkNGMwYzlm
NjE3MzI0NS4uZDQyMWNlNjI0ODE2ZTEyZDJkN2RmMzhkYTkwOWFkMDVhNmM5NWZhMCAxMDA3NTUK
LS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tcXQtd3BlLW1pbmlicm93c2VyCisrKyBiL1Rvb2xzL1Nj
cmlwdHMvcnVuLXF0LXdwZS1taW5pYnJvd3NlcgpAQCAtMzgsOSArMzgsMTMgQEAgbXkgQGpoYnVp
bGRXcmFwcGVyOwogbXkgJGNvbmZpZ3VyYXRpb24gPSBwYXNzZWRDb25maWd1cmF0aW9uKCk7CiBt
eSAkcHJvZHVjdERpciA9IHByb2R1Y3REaXIoKTsKIAotJGxpYlBhdGggPSAiL2FwcC93ZWJraXQv
V2ViS2l0QnVpbGQvJGNvbmZpZ3VyYXRpb24vbGliL3FtbCIgaWYgJGNvbmZpZ3VyYXRpb247Ci0k
RU5WeyJRTUwyX0lNUE9SVF9QQVRIIn0gPSAiJGxpYlBhdGgiIGlmICRsaWJQYXRoOwotcnVuSW5G
bGF0cGFrSWZBdmFpbGFibGUoIi9hcHAvd2Via2l0L1Rvb2xzL1NjcmlwdHMvcnVuLXF0LXdwZS1t
aW5pYnJvd3NlciIpOworaWYgKCRjb25maWd1cmF0aW9uKSB7CisgICAgJGxpYlBhdGggPSBGaWxl
OjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiV2ViS2l0QnVpbGQiLCAiJGNvbmZpZ3VyYXRp
b24iLCAibGliIiwgInFtbCIpOworICAgICRFTlZ7IlFNTDJfSU1QT1JUX1BBVEgifSA9ICIkbGli
UGF0aCI7Cit9CisKK215IEBjb21tYW5kID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNlRGly
KCksICJUb29scyIsICJTY3JpcHRzIiwgInJ1bi1xdC13cGUtbWluaWJyb3dzZXIiKSk7CitydW5J
bkZsYXRwYWtJZkF2YWlsYWJsZShAY29tbWFuZCk7CiAKICMgQ2hlY2sgdG8gc2VlIHRoYXQgYWxs
IHRoZSBmcmFtZXdvcmtzIGFyZSBidWlsdC4KIGNoZWNrRnJhbWV3b3JrcygpOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4t
d2ViZHJpdmVyLXRlc3RzCmluZGV4IGFjYzM1ZjcyNDgzZjI4MzJmMDljOGVmYjE4OTVkMTgxZDRk
Njc5MjkuLmMzMDA0ZDQ1MzIzYzUxNDI2NjVkMzcwMzM3ZThlNTkwNDIzYTlkNDAgMTAwNzU1Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0cworKysgYi9Ub29scy9TY3JpcHRz
L3J1bi13ZWJkcml2ZXItdGVzdHMKQEAgLTc4LDcgKzc4LDcgQEAgaWYgcG9ydC5uYW1lKCkgaW4g
WydndGsnLCAnd3BlJ106CiAgICAgICAgIGlmIG5vdCBqaGJ1aWxkdXRpbHMuZW50ZXJfamhidWls
ZF9lbnZpcm9ubWVudF9pZl9hdmFpbGFibGUocG9ydC5uYW1lKCkpOgogICAgICAgICAgICAgcHJp
bnQgJyoqKicKICAgICAgICAgICAgIHByaW50ICcqKiogV2FybmluZzogamhidWlsZCBlbnZpcm9u
bWVudCBub3QgcHJlc2VudCBhbmQgbm90IHJ1bm5pbmcgaW4gZmxhdHBhay4nCi0gICAgICAgICAg
ICBwcmludCAnKioqIFJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0
ay1mbGF0cGFrIGJlZm9yZSBidWlsZC13ZWJraXQgdG8gZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4n
CisgICAgICAgICAgICBwcmludCAnKioqIFJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBk
YXRlLXdlYmtpdC1mbGF0cGFrIGJlZm9yZSBidWlsZC13ZWJraXQgdG8gZW5zdXJlIHByb3BlciB0
ZXN0aW5nLi4nCiAgICAgICAgICAgICBwcmludCAnKioqJwogCiBwb3J0Ll9kaXNwbGF5X3NlcnZl
ciA9IG9wdGlvbnMuZGlzcGxheV9zZXJ2ZXIKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVu
LXdwZS10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXdwZS10ZXN0cwppbmRleCA4Zjc3NDllYjZh
ZDZkMWYxOTkxM2ExNzY5OWRjYjc2NzdmNDg2MmQxLi5mMzRjMTk3MDY0Nzc2MjI2MjQ1MmU2YWU4
M2ZhMjg1ZjI4ZTVkMTgwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi13cGUtdGVzdHMK
KysrIGIvVG9vbHMvU2NyaXB0cy9ydW4td3BlLXRlc3RzCkBAIC01MSw3ICs1MSw3IEBAIGlmIF9f
bmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgaWYgbm90IGZsYXRwYWt1dGlscy5pc19zYW5kYm94
ZWQoKSBhbmQgbm90IGpoYnVpbGR1dGlscy5lbnRlcl9qaGJ1aWxkX2Vudmlyb25tZW50X2lmX2F2
YWlsYWJsZSgid3BlIik6CiAgICAgICAgIHByaW50ICcqKionCiAgICAgICAgIHByaW50ICcqKiog
V2FybmluZzogamhidWlsZCBlbnZpcm9ubWVudCBub3QgcHJlc2VudCBhbmQgbm90IHJ1bm5pbmcg
aW4gZmxhdHBhay4nCi0gICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13ZWJraXRndGstbGli
cyBvciB1cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtpdCB0byBlbnN1
cmUgcHJvcGVyIHRlc3RpbmcuLicKKyAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdlYmtp
dHdwZS1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Via2l0IHRv
IGVuc3VyZSBwcm9wZXIgdGVzdGluZy4uJwogICAgICAgICBwcmludCAnKioqJwogCiAgICAgb3B0
aW9uX3BhcnNlciA9IG9wdHBhcnNlLk9wdGlvblBhcnNlcih1c2FnZT0ndXNhZ2U6ICVwcm9nIFtv
cHRpb25zXSBbdGVzdC4uLl0nKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtp
dHBlcmwgYi9Ub29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cGVybAppbmRleCA2NDk1Njk2MGZmYzY3
YWU3ZGY5MzM2NDEzNmQ5MWE1ZDg4ZWE5OTQzLi5kYzgxYzE3YzNiYWM1OWE4ODFhNzNlZDE1YjNh
NzQ2MGNhN2I5Zjk4IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cGVybAor
KysgYi9Ub29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cGVybApAQCAtMzIsNiArMzIsMTMgQEAKIAog
dXNlIHN0cmljdDsKIHVzZSB3YXJuaW5nczsKK3VzZSBGaWxlOjpCYXNlbmFtZTsKK3VzZSBGaWxl
OjpGaW5kOwordXNlIEZpbGU6OlNwZWM7Cit1c2UgRmluZEJpbjsKK3VzZSBHZXRvcHQ6Okxvbmcg
cXcoOmNvbmZpZyBwYXNzX3Rocm91Z2ggbm9fYXV0b19hYmJyZXYpOwordXNlIGxpYiAkRmluZEJp
bjo6QmluOwordXNlIHdlYmtpdGRpcnM7CiAKIHVzZSBGaWxlOjpTcGVjOwogdXNlIEZpbmRCaW47
CkBAIC0zOSw2ICs0NiwxMSBAQCB1c2UgVGVzdDo6SGFybmVzczsKIHVzZSBsaWIgJEZpbmRCaW46
OkJpbjsgIyBzbyB0aGlzIHNjcmlwdCBjYW4gYmUgcnVuIGZyb20gYW55IGRpcmVjdG9yeS4KIHVz
ZSBWQ1NVdGlsczsKIAoraWYgKHNob3VsZFVzZUZsYXRwYWsoKSkgeworICAgIG15IEBjb21tYW5k
ID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwg
InRlc3Qtd2Via2l0cGVybCIpKTsKKyAgICBydW5JbkZsYXRwYWsoQGNvbW1hbmQpOworfQorCiAj
IENoYW5nZSB0aGUgd29ya2luZyBkaXJlY3Rvcnkgc28gdGhhdCB3ZSBjYW4gcGFzcyBzaG9ydGVy
LCByZWxhdGl2ZQogIyBwYXRocyB0byBydW50ZXN0cygpLCByYXRoZXIgdGhhbiBsb25nZXIsIGFi
c29sdXRlIHBhdGhzLgogIwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5
IGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5CmluZGV4IGVlNjgyY2NjZjBhY2EzZjIwZGM2
MTVmZThiNjMyM2NjYzU3Y2JlYTQuLjQyMzg4ZTlmODYxNzg1ZWY3ZTM4ZmIxZjQ1NDkwMDUwNTJm
MDBhZWMgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweQorKysgYi9Ub29s
cy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkKQEAgLTI5LDQgKzI5LDEwIEBACiAjIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CiBmcm9tIHdlYmtpdHB5LmNvbW1vbiBpbXBvcnQgbXVsdGlwcm9jZXNzaW5nX2Jvb3RzdHJhcAog
CitpbXBvcnQgb3MsIHN5cwordG9wX2xldmVsX2RpcmVjdG9yeSA9IG9zLnBhdGgubm9ybXBhdGgo
b3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICcuLicsICcuLicpKQorc3lz
LnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxfZGlyZWN0b3J5LCAnVG9vbHMn
LCAnZmxhdHBhaycpKQoraW1wb3J0IGZsYXRwYWt1dGlscworZmxhdHBha3V0aWxzLnJ1bl9pbl9z
YW5kYm94X2lmX2F2YWlsYWJsZShzeXMuYXJndikKKwogbXVsdGlwcm9jZXNzaW5nX2Jvb3RzdHJh
cC5ydW4oJ3dlYmtpdHB5JywgJ3Rlc3QnLCAnbWFpbi5weScpCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3Rlc3QyNjItcnVubmVyIGIvVG9vbHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lcgppbmRl
eCBhMTMxYmNmNjMzZTMwZDk3NjVmYjU2MjQyNTA3MzExN2E5OGYyMjM4Li5hZjdhZDVlNDhlZjI1
MDhjZjRlMjFkNThkNTUwY2YwMzJlZjVmYTJiIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3Rl
c3QyNjItcnVubmVyCisrKyBiL1Rvb2xzL1NjcmlwdHMvdGVzdDI2Mi1ydW5uZXIKQEAgLTM0LDYg
KzM0LDI2IEBAIHVzZSA1LjguODsKIHVzZSBGaW5kQmluOwogdXNlIENvbmZpZzsKIAorQkVHSU4g
eworICAgIHVzZSBsaWIgJEZpbmRCaW46OkJpbjsKKyAgICB1c2UgRmlsZTo6U3BlYzo6RnVuY3Rp
b25zIHF3KGNhdGZpbGUpOworCisgICAgaWYgKCFncmVwKC9eLS1uby1mbGF0cGFrLWNoZWNrJC8s
IEBBUkdWKSkgeworICAgICAgICBpZiAoZXZhbCB7cmVxdWlyZSB3ZWJraXRkaXJzOyAxO30pIHsK
KyAgICAgICAgICAgIHdlYmtpdGRpcnMtPmltcG9ydChxdyhzaG91bGRVc2VGbGF0cGFrIHJ1bklu
RmxhdHBhayBzb3VyY2VEaXIpKTsKKyAgICAgICAgICAgIGlmIChzaG91bGRVc2VGbGF0cGFrKCkp
IHsKKyAgICAgICAgICAgICAgICBwcmludCAiUnVubmluZyBpbiBmbGF0cGFrIGJhc2VkIGVudmly
b25tZW50XG4iOworICAgICAgICAgICAgICAgIG15IEBjb21tYW5kID0gKEZpbGU6OlNwZWMtPmNh
dGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgInRlc3QyNjItcnVubmVyIikp
OworICAgICAgICAgICAgICAgICMgUHJldmVudCBleGVjJ2QgdGVzdDI2Mi1ydW5uZXIgcHJvY2Vz
cyBmcm9tIGltcG9ydGluZworICAgICAgICAgICAgICAgICMgd2Via2l0ZGlycyBzbyB0aGF0IGl0
IGNhbiBzdWNjZWVkIGxhdGVyIG9uIGluIHRoZSBSdW5uZXIKKyAgICAgICAgICAgICAgICAjIG1v
ZHVsZS4uLiBQZXJsLiDCr1xfKOODhClfL8KvCisgICAgICAgICAgICAgICAgcHVzaChAQVJHViwg
Ii0tbm8tZmxhdHBhay1jaGVjayIpOworICAgICAgICAgICAgICAgIHJ1bkluRmxhdHBhayhAY29t
bWFuZCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKIEJFR0lOIHsKICAg
ICAkRU5We0RCSUNfT1ZFUldSSVRFX0hFTFBFUl9NRVRIT0RTX09LfSA9IDE7CiAgICAgJEVOVntU
MjYyX0VYRUNfQklOfSA9ICIkRmluZEJpbjo6QmluL3Rlc3QyNjIiOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy91cGRhdGUtd2Via2l0LWZsYXRwYWsgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13
ZWJraXQtZmxhdHBhawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hODZiODFhMjAzM2Y0YmI3YmUyZDI5YmRlNWMxMmNm
NDk1MzMwZDU1Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0
LWZsYXRwYWsKQEAgLTAsMCArMSwyOCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjIENvcHly
aWdodCAoQykgMjAxOCBJZ2FsaWEgUy5MLgorIyBDb3B5cmlnaHQgKGMpIDIwMTgsIFRoaWJhdWx0
IFNhdW5pZXIgPHRzYXVuaWVyQGlnYWxpYS5jb20+CisjCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyMgbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworIyBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyMg
dmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorIyBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisjIExp
Y2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlCisjIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29y
LAorIyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyMgcHlsaW50OiBkaXNhYmxlPW1pc3Np
bmctZG9jc3RyaW5nLGludmFsaWQtbmFtZQoraW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK3RvcF9s
ZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRp
cm5hbWUoX19maWxlX18pLCAiLi4iLCAiLi4iKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRo
LmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgIlRvb2xzIiwgImZsYXRwYWsiKSkKK2Zyb20gZmxh
dHBha3V0aWxzIGltcG9ydCBXZWJraXRGbGF0cGFrCisKK2lmIF9fbmFtZV9fID09ICJfX21haW5f
XyI6CisgICAgV2Via2l0RmxhdHBhay5sb2FkX2Zyb21fYXJncyhbIi0tdXBkYXRlIl0gKyBzeXMu
YXJndlsxOl0pLnJ1bigpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRn
dGstZmxhdHBhayBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwOTU2ZjFmMmUxNDg1ZDI0ODYyZWY3ZjZkNzRhMmYz
Zjk4Y2Y5MmY4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrCisrKyAvZGV2L251bGwKQEAg
LTEsMjggKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCi0jIENvcHlyaWdodCAoQykgMjAx
OCBJZ2FsaWEgUy5MLgotIyBDb3B5cmlnaHQgKGMpIDIwMTgsIFRoaWJhdWx0IFNhdW5pZXIgPHRz
YXVuaWVyQGlnYWxpYS5jb20+Ci0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSMgdmVyc2lvbiAyLjEg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0j
Ci0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMZXNzZXIgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0jIExpY2Vuc2UgYWxvbmcg
d2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlCi0jIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLAotIyBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KLSMgcHlsaW50OiBkaXNhYmxlPW1pc3NpbmctZG9jc3RyaW5n
LGludmFsaWQtbmFtZQotaW1wb3J0IG9zCi1pbXBvcnQgc3lzCi0KLXRvcF9sZXZlbF9kaXJlY3Rv
cnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxl
X18pLCAiLi4iLCAiLi4iKSkKLXN5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xl
dmVsX2RpcmVjdG9yeSwgIlRvb2xzIiwgImZsYXRwYWsiKSkKLWZyb20gZmxhdHBha3V0aWxzIGlt
cG9ydCBXZWJraXRGbGF0cGFrCi0KLWlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6Ci0gICAgV2Vi
a2l0RmxhdHBhay5sb2FkX2Zyb21fYXJncyhbIi0tZ3RrIiwgIi0tdXBkYXRlIl0gKyBzeXMuYXJn
dlsxOl0pLnJ1bigpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGst
bGlicyBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1saWJzCmluZGV4IDJlMWMwMmZm
ZDcwNTYwMDgwZTM2YmM3NGI0NjU4ZmZlZjVkZWNkOGUuLjJlOGE4Nzg1MTk2ZGI4YzdiZmNjNDkw
NDk1YWQ5YzVkNzAwZmZmNTEgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtp
dGd0ay1saWJzCisrKyBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1saWJzCkBAIC0y
Miw0ICsyMiw4IEBAIHVzZSBsaWIgJEZpbmRCaW46OkJpbjsKIHVzZSB3ZWJraXRkaXJzOwogCiBt
eSAkc2NyaXB0c0RpciA9IHJlbGF0aXZlU2NyaXB0c0RpcigpOwotc3lzdGVtKCJwZXJsIiwgIiRz
Y3JpcHRzRGlyL3VwZGF0ZS13ZWJraXQtbGlicy1qaGJ1aWxkIiwgIi0tZ3RrIiwgQEFSR1YpID09
IDAgb3IgZGllICQhOworaWYgKGRlZmluZWQgJEVOVnsnV0VCS0lUX0pIQlVJTEQnfSBhbmQgJEVO
VnsnV0VCS0lUX0pIQlVJTEQnfSkgeworICAgIHN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rpci91
cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCIsICItLWd0ayIsIEBBUkdWKSA9PSAwIG9yIGRpZSAk
ITsKK30gZWxzZSB7CisgICAgc3lzdGVtKCIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWZsYXRw
YWsiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7Cit9CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3VwZGF0ZS13ZWJraXR3cGUtZmxhdHBhayBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdHdw
ZS1mbGF0cGFrCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA1NjRlODc2NTIxMTE4ZTJm
YzBmZDY4YjhjODY2YWE5MDAxY2I4MTIyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1mbGF0cGFrCisr
KyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCi0jIENv
cHlyaWdodCAoQykgMjAxOCBJZ2FsaWEgUy5MLgotIyBDb3B5cmlnaHQgKGMpIDIwMTgsIFRoaWJh
dWx0IFNhdW5pZXIgPHRzYXVuaWVyQGlnYWxpYS5jb20+Ci0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
LSMgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0j
IExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlCi0j
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZs
b29yLAotIyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSMgcHlsaW50OiBkaXNhYmxlPW1p
c3NpbmctZG9jc3RyaW5nLGludmFsaWQtbmFtZQotaW1wb3J0IG9zCi1pbXBvcnQgc3lzCi0KLXRv
cF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRo
LmRpcm5hbWUoX19maWxlX18pLCAiLi4iLCAiLi4iKSkKLXN5cy5wYXRoLmluc2VydCgwLCBvcy5w
YXRoLmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgIlRvb2xzIiwgImZsYXRwYWsiKSkKLWZyb20g
ZmxhdHBha3V0aWxzIGltcG9ydCBXZWJraXRGbGF0cGFrCi0KLWlmIF9fbmFtZV9fID09ICJfX21h
aW5fXyI6Ci0gICAgV2Via2l0RmxhdHBhay5sb2FkX2Zyb21fYXJncyhbIi0td3BlIiwgIi0tdXBk
YXRlIl0gKyBzeXMuYXJndlsxOl0pLnJ1bigpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3Vw
ZGF0ZS13ZWJraXR3cGUtbGlicyBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1saWJz
CmluZGV4IDZiNGI0NmYyYjdlYjhhOWU2ODA3NzU3YmNhMmI5ZTY4NDcwN2EwMjMuLmNkYzRjN2Ri
OGM2NWVhNzMyM2Q2OTI2ODE5OGEyZjY4YmQ1MTMwMTQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvdXBkYXRlLXdlYmtpdHdwZS1saWJzCisrKyBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtp
dHdwZS1saWJzCkBAIC0yMiw0ICsyMiw4IEBAIHVzZSBsaWIgJEZpbmRCaW46OkJpbjsKIHVzZSB3
ZWJraXRkaXJzOwogCiBteSAkc2NyaXB0c0RpciA9IHJlbGF0aXZlU2NyaXB0c0RpcigpOwotc3lz
dGVtKCJwZXJsIiwgIiRzY3JpcHRzRGlyL3VwZGF0ZS13ZWJraXQtbGlicy1qaGJ1aWxkIiwgIi0t
d3BlIiwgQEFSR1YpID09IDAgb3IgZGllICQhOworaWYgKGRlZmluZWQgJEVOVnsnV0VCS0lUX0pI
QlVJTEQnfSBhbmQgJEVOVnsnV0VCS0lUX0pIQlVJTEQnfSkgeworICAgIHN5c3RlbSgicGVybCIs
ICIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCIsICItLXdwZSIsIEBBUkdW
KSA9PSAwIG9yIGRpZSAkITsKK30gZWxzZSB7CisgICAgc3lzdGVtKCIkc2NyaXB0c0Rpci91cGRh
dGUtd2Via2l0LWZsYXRwYWsiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7Cit9CmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMu
cG0KaW5kZXggMGNhMDRiZDI1MWUyYzdhY2U3MzJiMGQxYmRlMjc5NTg1NDA1NDA3Yi4uMzlkMGY0
ZWViZmY5OWQ5NDNjODU3MGMxM2FjYzg2NTU4NGM2OWE3NyAxMDA3NTUKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRkaXJzLnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQpAQCAt
OTEsNyArOTEsMTAgQEAgQkVHSU4gewogICAgICAgICZzZXR1cFVuaXhXZWJLaXRFbnZpcm9ubWVu
dAogICAgICAgICZzaGFyZWRDb21tYW5kTGluZU9wdGlvbnMKICAgICAgICAmc2hhcmVkQ29tbWFu
ZExpbmVPcHRpb25zVXNhZ2UKKyAgICAgICAmc2hvdWxkVXNlRmxhdHBhaworICAgICAgICZydW5J
bkZsYXRwYWsKICAgICAgICAmc2h1dERvd25JT1NTaW11bGF0b3JEZXZpY2UKKyAgICAgICAmc291
cmNlRGlyCiAgICAgICAgJndpbGxVc2VJT1NEZXZpY2VTREsKICAgICAgICAmd2lsbFVzZUlPU1Np
bXVsYXRvclNESwogICAgICAgIERPX05PVF9VU0VfT1BFTl9DT01NQU5ECkBAIC0xOTk5LDIwICsy
MDAyLDExIEBAIHN1YiBnZXRKaGJ1aWxkUGF0aCgpCiAgICAgcmV0dXJuIEZpbGU6OlNwZWMtPmNh
dGRpcihAamhidWlsZFBhdGgpOwogfQogCi1zdWIgZ2V0RmxhdHBha1BhdGgoKQorc3ViIGdldFVz
ZXJGbGF0cGFrUGF0aCgpCiB7Ci0gICAgbXkgQGZsYXRwYWtCdWlsZFBhdGggPSBGaWxlOjpTcGVj
LT5zcGxpdGRpcihiYXNlUHJvZHVjdERpcigpKTsKLSAgICBpZiAoaXNHdGsoKSkgewotICAgICAg
ICBwdXNoKEBmbGF0cGFrQnVpbGRQYXRoLCAiR1RLIik7Ci0gICAgfSBlbHNpZiAoaXNXUEUoKSkg
ewotICAgICAgICBwdXNoKEBmbGF0cGFrQnVpbGRQYXRoLCAiV1BFIik7Ci0gICAgfSBlbHNlIHsK
LSAgICAgICAgZGllICJDYW5ub3QgZ2V0IEZsYXRwYWsgcGF0aCBmb3IgcGxhdGZvcm0gdGhhdCBp
c24ndCBHVEsrIG9yIFdQRS5cbiI7Ci0gICAgfQotICAgIG15IEBjb25maWd1cmF0aW9uID0gY29u
ZmlndXJhdGlvbigpOwotICAgIHB1c2goQGZsYXRwYWtCdWlsZFBhdGgsICJGbGF0cGFrVHJlZSRj
b25maWd1cmF0aW9uIik7Ci0KLSAgICByZXR1cm4gRmlsZTo6U3BlYy0+Y2F0ZGlyKEBmbGF0cGFr
QnVpbGRQYXRoKTsKKyAgICBteSBAZmxhdHBha1BhdGggPSBGaWxlOjpTcGVjLT5zcGxpdGRpcihi
YXNlUHJvZHVjdERpcigpKTsKKyAgICBwdXNoKEBmbGF0cGFrUGF0aCwgIlVzZXJGbGF0cGFrIik7
CisgICAgcmV0dXJuIEZpbGU6OlNwZWMtPmNhdGRpcihAZmxhdHBha1BhdGgpOwogfQogCiBzdWIg
aXNDYWNoZWRBcmd1bWVudGZpbGVPdXRPZkRhdGUoJEApCkBAIC0yMDM5LDExICsyMDMzLDcgQEAg
c3ViIGlzQ2FjaGVkQXJndW1lbnRmaWxlT3V0T2ZEYXRlKCRAKQogCiBzdWIgaW5GbGF0cGFrU2Fu
ZGJveCgpCiB7Ci0gICAgaWYgKC1mICIvLmZsYXRwYWstaW5mbyIpIHsKLSAgICAgICAgcmV0dXJu
IDE7Ci0gICAgfQotCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuICgtZiAiLy5mbGF0cGFrLWlu
Zm8iKTsKIH0KIAogc3ViIHJ1bkluRmxhdHBhayhAKQpAQCAtMjA2NCwxMCArMjA1NCw2IEBAIHN1
YiBydW5JbkZsYXRwYWtJZkF2YWlsYWJsZShAKQogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAK
LSAgICBpZiAoISAtZSBnZXRGbGF0cGFrUGF0aCgpKSB7Ci0gICAgICAgIHJldHVybiAwOwotICAg
IH0KLQogICAgIHJ1bkluRmxhdHBhayhAXykKIH0KIApAQCAtMjA4MCw3ICsyMDY2LDcgQEAgc3Vi
IHdyYXBwZXJQcmVmaXhJZk5lZWRlZCgpCiAgICAgaWYgKGlzQXBwbGVDb2NvYVdlYktpdCgpKSB7
CiAgICAgICAgIHJldHVybiAoInhjcnVuIik7CiAgICAgfQotICAgIGlmIChzaG91bGRVc2VKaGJ1
aWxkKCkgYW5kICEgc2hvdWxkVXNlRmxhdHBhaygpKSB7CisgICAgaWYgKHNob3VsZFVzZUpoYnVp
bGQoKSkgewogICAgICAgICBteSBAcHJlZml4ID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNl
RGlyKCksICJUb29scyIsICJqaGJ1aWxkIiwgImpoYnVpbGQtd3JhcHBlciIpKTsKICAgICAgICAg
aWYgKGlzR3RrKCkpIHsKICAgICAgICAgICAgIHB1c2goQHByZWZpeCwgIi0tZ3RrIik7CkBAIC0y
MDk3LDEyICsyMDgzLDEyIEBAIHN1YiB3cmFwcGVyUHJlZml4SWZOZWVkZWQoKQogCiBzdWIgc2hv
dWxkVXNlSmhidWlsZCgpCiB7Ci0gICAgcmV0dXJuICgoaXNHdGsoKSBvciBpc1dQRSgpKSBhbmQg
LWUgZ2V0SmhidWlsZFBhdGgoKSk7CisgICAgcmV0dXJuICgoISBpbkZsYXRwYWtTYW5kYm94KCkp
IGFuZCAoaXNHdGsoKSBvciBpc1dQRSgpKSBhbmQgLWUgZ2V0SmhidWlsZFBhdGgoKSBhbmQgZGVm
aW5lZCAkRU5WeydXRUJLSVRfSkhCVUlMRCd9IGFuZCAkRU5WeydXRUJLSVRfSkhCVUlMRCd9KTsK
IH0KIAogc3ViIHNob3VsZFVzZUZsYXRwYWsoKQogewotICAgIHJldHVybiAoKGlzR3RrKCkgb3Ig
aXNXUEUoKSkgYW5kICEgaW5GbGF0cGFrU2FuZGJveCgpIGFuZCAtZSBnZXRGbGF0cGFrUGF0aCgp
KTsKKyAgICByZXR1cm4gKCghIGluRmxhdHBha1NhbmRib3goKSkgYW5kIChpc0d0aygpIG9yIGlz
V1BFKCkpIGFuZCAtZSBnZXRVc2VyRmxhdHBha1BhdGgoKSk7CiB9CiAKIHN1YiBjbWFrZUNhY2hl
UGF0aCgpCkBAIC0yMTY5LDcgKzIxNTUsNyBAQCBzdWIgc2hvdWxkUmVtb3ZlQ01ha2VDYWNoZShA
KQogICAgIH0KIAogICAgICMgSWYgYSBjaGFuZ2Ugb24gdGhlIEpIQnVpbGQgbW9kdWxlc2V0IGhh
cyBiZWVuIGRvbmUsIHdlIG5lZWQgdG8gY2xlYW4gdGhlIGNhY2hlIGFzIHdlbGwuCi0gICAgaWYg
KGlzR3RrKCkgfHwgaXNXUEUoKSkgeworICAgIGlmICghIHNob3VsZFVzZUZsYXRwYWsoKSBhbmQg
KGlzR3RrKCkgfHwgaXNXUEUoKSkpIHsKICAgICAgICAgbXkgJGpoYnVpbGRSb290RGlyZWN0b3J5
ID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKGdldEpoYnVpbGRQYXRoKCksICJSb290Iik7CiAgICAgICAg
ICMgVGhlIHNjcmlwdCB1cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCBzaGFsbCByZS1nZW5lcmF0
ZSAkamhidWlsZFJvb3REaXJlY3RvcnkgaWYgdGhlIG1vZHVsZXNldCBjaGFuZ2VkLgogICAgICAg
ICBpZiAoLWQgJGpoYnVpbGRSb290RGlyZWN0b3J5ICYmICRjYWNoZUZpbGVNb2RpZmllZFRpbWUg
PCBzdGF0KCRqaGJ1aWxkUm9vdERpcmVjdG9yeSktPm10aW1lKSB7CmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlLnB5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZS5weQppbmRleCA5ZTJkYThkZWM4
Nzg4NTBiNTI1MWU4ZDk5NzE0ZTU0ZTI4ZDBiMjYwLi43ZDBiM2ZmOWUwODc3MWQwNzgwNjU2MTg1
OGY5YjI2ODZhNGQwNzdhIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi9zeXN0ZW0vZXhlY3V0aXZlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L3N5c3RlbS9leGVjdXRpdmUucHkKQEAgLTM0Nyw3ICszNDcsMTAgQEAgY2xhc3MgRXhlY3V0aXZl
KEFic3RyYWN0RXhlY3V0aXZlKToKICAgICAgICAgIyB1c2VzIEtJTEwuICBXaW5kb3dzIGlzIGFs
d2F5cyB1c2luZyAvZiAod2hpY2ggc2VlbXMgbGlrZSAtS0lMTCkuCiAgICAgICAgICMgV2Ugc2hv
dWxkIHBpY2sgb25lIG1vZGUsIG9yIGFkZCBzdXBwb3J0IGZvciBzd2l0Y2hpbmcgYmV0d2VlbiB0
aGVtLgogICAgICAgICAjIE5vdGU6IE1hYyBPUyBYIDEwLjYgcmVxdWlyZXMgLVNJR05BTE5BTUUg
YmVmb3JlIC11IFVTRVIKLSAgICAgICAgY29tbWFuZCA9IFsia2lsbGFsbCIsICItVEVSTSIsICIt
dSIsIG9zLmdldGVudigiVVNFUiIpLCBwcm9jZXNzX25hbWVdCisgICAgICAgIGlmIHN5cy5wbGF0
Zm9ybS5zdGFydHN3aXRoKCdsaW51eCcpOgorICAgICAgICAgICAgY29tbWFuZCA9IFsicGtpbGwi
LCAiLXUiLCBvcy5nZXRlbnYoIlVTRVIiKSwgIi14IiwgcHJvY2Vzc19uYW1lXQorICAgICAgICBl
bHNlOgorICAgICAgICAgICAgY29tbWFuZCA9IFsia2lsbGFsbCIsICItVEVSTSIsICItdSIsIG9z
LmdldGVudigiVVNFUiIpLCBwcm9jZXNzX25hbWVdCiAgICAgICAgICMga2lsbGFsbCByZXR1cm5z
IDEgaWYgbm8gcHJvY2VzcyBjYW4gYmUgZm91bmQgYW5kIDIgb24gY29tbWFuZCBlcnJvci4KICAg
ICAgICAgIyBGSVhNRTogV2Ugc2hvdWxkIHBhc3MgYSBjdXN0b20gZXJyb3JfaGFuZGxlciB0byBh
bGxvdyBvbmx5IGV4aXRfY29kZSAxLgogICAgICAgICAjIFdlIHNob3VsZCBsb2cgaW4gZXhpdF9j
b2RlID09IDEKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKaW5kZXggZGUwMDY2NjdiMmQx
ZTVlNWVlYjhmMmQxYTQ0OGI3NTZmN2YwNjZjZC4uYmYxMTFkZTk3MjBlNzJmMTI2YTUzNGFhZGQ3
MjVlZjMwMTgwNGEwZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jh
c2UucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKQEAgLTEyMjAs
NyArMTIyMCw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgVGhpcyBpcyBuZWVkZWQg
b25seSBieSBwb3J0cyB0aGF0IHVzZSB0aGUgYXBhY2hlX2h0dHBfc2VydmVyIG1vZHVsZS4iIiIK
ICAgICAgICAgIyBUaGUgQXBhY2hlIGJpbmFyeSBwYXRoIGNhbiB2YXJ5IGRlcGVuZGluZyBvbiBP
UyBhbmQgZGlzdHJpYnV0aW9uCiAgICAgICAgICMgU2VlIGh0dHA6Ly93aWtpLmFwYWNoZS5vcmcv
aHR0cGQvRGlzdHJvc0RlZmF1bHRMYXlvdXQKLSAgICAgICAgZm9yIHBhdGggaW4gWyIvdXNyL3Ni
aW4vaHR0cGQiLCAiL3Vzci9zYmluL2FwYWNoZTIiLCAiL2FwcC9iaW4vaHR0cGQiXToKKyAgICAg
ICAgZm9yIHBhdGggaW4gWyIvdXNyL3NiaW4vaHR0cGQiLCAiL3Vzci9zYmluL2FwYWNoZTIiLCAi
L3Vzci9iaW4vaHR0cGQiXToKICAgICAgICAgICAgIGlmIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3Rz
KHBhdGgpOgogICAgICAgICAgICAgICAgIHJldHVybiBwYXRoCiAgICAgICAgIF9sb2cuZXJyb3Io
IkNvdWxkIG5vdCBmaW5kIGFwYWNoZS4gTm90IGluc3RhbGxlZCBvciB1bmtub3duIHBhdGguIikK
QEAgLTE0NTIsMTQgKzE0NTIsOCBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgICMgLS1w
aXhlbC10ZXN0LWRpcmVjdG9yeSBpcyBub3Qgc3BlY2lmaWVkLgogICAgICAgICByZXR1cm4gVHJ1
ZQogCi0gICAgZGVmIF9zaG91bGRfdXNlX2ZsYXRwYWsoc2VsZik6Ci0gICAgICAgIHN1ZmZpeCA9
ICIiCi0gICAgICAgIGlmIHNlbGYucG9ydF9uYW1lOgotICAgICAgICAgICAgc3VmZml4ID0gc2Vs
Zi5wb3J0X25hbWUudXBwZXIoKQotICAgICAgICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5leGlz
dHMoc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1dlYktpdEJ1aWxkJywgc3VmZml4LCAiRmxh
dHBha1RyZWUiKSkKLQogICAgIGRlZiBfaW5fZmxhdHBha19zYW5kYm94KHNlbGYpOgotICAgICAg
ICByZXR1cm4gb3MucGF0aC5leGlzdHMoIi8uZmxhdHBhay1pbmZvIikKKyAgICAgICAgcmV0dXJu
IHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKCIvLmZsYXRwYWstaW5mbyIpCiAKICAgICBkZWYgX3No
b3VsZF91c2VfamhidWlsZChzZWxmKToKICAgICAgICAgaWYgc2VsZi5faW5fZmxhdHBha19zYW5k
Ym94KCk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQppbmRleCA2OGJjMTY5MjNmOGFiNzYw
OTFmNWIzZTk2NGQwNjVjNzk0M2ZmOGQ1Li4wNzE1ZTI2MmJlYTA1ZGJiNTVkMDY5ZmQ1ODBiNDAw
YjU0NzU4ZDc2IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkKQEAgLTEyMiw2ICsxMjIs
NyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICBlbnZpcm9ubWVudFsnVEVTVF9SVU5O
RVJfSU5KRUNURURfQlVORExFX0ZJTEVOQU1FJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdsaWInLCAn
bGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLnNvJykKICAgICAgICAgZW52aXJvbm1lbnRbJ1RF
U1RfUlVOTkVSX1RFU1RfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ2xpYicsICdw
bHVnaW5zJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVu
dmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJUicpCisgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVf
ZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9KSEJVSUxEJykKICAgICAg
ICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VC
S0lUX1RPUF9MRVZFTCcpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lm
X3NldChlbnZpcm9ubWVudCwgJ1VTRV9QTEFZQklOMycpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFs
dWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ0dTVF9ERUJVRycpCkBAIC0xMzQs
MTAgKzEzNSwxMSBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAgICAgaWYgc2VsZi5f
c2hvdWxkX3VzZV9qaGJ1aWxkKCk6CiAgICAgICAgICAgICAgICAgbGx2bXBpcGVfbGliZ2xfcGF0
aCA9IHNlbGYuaG9zdC5leGVjdXRpdmUucnVuX2NvbW1hbmQoc2VsZi5famhidWlsZF93cmFwcGVy
ICsgWydwcmludGVudicsICdMTFZNUElQRV9MSUJHTF9QQVRIJ10sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9y
ZV9lcnJvcnM9VHJ1ZSkuc3RyaXAoKQorICAgICAgICAgICAgICAgIGRyaV9saWJnbF9wYXRoID0g
b3MucGF0aC5qb2luKGxsdm1waXBlX2xpYmdsX3BhdGgsICJkcmkiKQogICAgICAgICAgICAgZWxz
ZTogICMgaW4gZmxhdHBhawotICAgICAgICAgICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGggPSAi
L2FwcC9zb2Z0R0wvbGliIgorICAgICAgICAgICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGggPSAi
L3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS8iCisgICAgICAgICAgICAgICAgZHJpX2xpYmdsX3Bh
dGggPSBvcy5wYXRoLmpvaW4obGx2bXBpcGVfbGliZ2xfcGF0aCwgIkdMIiwgImxpYiIsICJkcmki
KQogCi0gICAgICAgICAgICBkcmlfbGliZ2xfcGF0aCA9IG9zLnBhdGguam9pbihsbHZtcGlwZV9s
aWJnbF9wYXRoLCAiZHJpIikKICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGgu
am9pbihsbHZtcGlwZV9saWJnbF9wYXRoLCAibGliR0wuc28iKSkgYW5kIG9zLnBhdGguZXhpc3Rz
KG9zLnBhdGguam9pbihkcmlfbGliZ2xfcGF0aCwgInN3cmFzdF9kcmkuc28iKSk6CiAgICAgICAg
ICAgICAgICAgIyBNYWtlIHN1cmUgdmEtYXBpIHN1cHBvcnQgZ2V0cyBkaXNhYmxlZCBiZWNhdXNl
IGl0J3MgaW5jb21wYXRpYmxlIHdpdGggTWVzYSdzIHNvZnRHTCBkcml2ZXIuCiAgICAgICAgICAg
ICAgICAgZW52aXJvbm1lbnRbJ0xJQlZBX0RSSVZFUl9OQU1FJ10gPSAibnVsbCIKQEAgLTE0OCw3
ICsxNTAsNyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAgICAgICAgIGlmIG9zLmVu
dmlyb24uZ2V0KCdMRF9MSUJSQVJZX1BBVEgnKToKICAgICAgICAgICAgICAgICAgICAgZW52aXJv
bm1lbnRbJ0xEX0xJQlJBUllfUEFUSCddICs9ICc6JXMnICUgb3MuZW52aXJvbi5nZXQoJ0xEX0xJ
QlJBUllfUEFUSCcpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIF9sb2cud2Fy
bmluZygiQ2FuJ3QgZmluZCBHYWxsaXVtIGxsdm1waXBlIGRyaXZlci4gVHJ5IHRvIHJ1biB1cGRh
dGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIikKKyAgICAgICAg
ICAgICAgICBfbG9nLndhcm5pbmcoIkNhbid0IGZpbmQgR2FsbGl1bSBsbHZtcGlwZSBkcml2ZXIu
IFRyeSB0byBydW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBh
ayIpCiAgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbigibGVha3MiKToKICAgICAgICAgICAgICMg
VHVybiBvZmYgR0xpYiBtZW1vcnkgb3B0aW1pc2F0aW9ucyBodHRwczovL3dpa2kuZ25vbWUub3Jn
L1ZhbGdyaW5kLgogICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0dfU0xJQ0UnXSA9ICdhbHdheXMt
bWFsbG9jJwpAQCAtMjM3LDcgKzIzOSw3IEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAKICAgICBk
ZWYgX2dldF9jcmFzaF9sb2coc2VsZiwgbmFtZSwgcGlkLCBzdGRvdXQsIHN0ZGVyciwgbmV3ZXJf
dGhhbiwgdGFyZ2V0X2hvc3Q9Tm9uZSk6CiAgICAgICAgIHJldHVybiBHREJDcmFzaExvZ0dlbmVy
YXRvcihzZWxmLl9leGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwKLSAgICAgICAgICAg
IHNlbGYuX2ZpbGVzeXN0ZW0sIHNlbGYuX3BhdGhfdG9fZHJpdmVyKS5nZW5lcmF0ZV9jcmFzaF9s
b2coc3Rkb3V0LCBzdGRlcnIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLl9maWxlc3lzdGVtLCBzZWxmLnBvcnRfbmFtZSwgc2VsZi5nZXRfb3B0aW9uKCdjb25maWd1
cmF0aW9uJykpLmdlbmVyYXRlX2NyYXNoX2xvZyhzdGRvdXQsIHN0ZGVycikKIAogICAgIGRlZiB0
ZXN0X2V4cGVjdGF0aW9uc19maWxlX3Bvc2l0aW9uKHNlbGYpOgogICAgICAgICAjIEdUSyBwb3J0
IGJhc2VsaW5lIHNlYXJjaCBwYXRoIGlzIGd0ayAtPiB3azIgLT4gZ2VuZXJpYyAoYXMgZ3RrLXdr
MiBhbmQgZ3RrIGJhc2VsaW5lcyBhcmUgbWVyZ2VkKSwgc28gcG9ydCB0ZXN0IGV4cGVjdGF0aW9u
cyBmaWxlIGlzIGF0IHRoaXJkIHRvIGxhc3QgcG9zaXRpb24uCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nLnB5CmluZGV4IDlhZGM0NjM3MWY5
NjFiMTk2MjhlN2ZlZGQ0NjVlYmZkMDk2Y2QwMWEuLmQyYTdjODI3ZmM5YWI1MzNhMmQxNmYyMmZm
NjljMTAwMDIxOTgwZWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9s
aW51eF9nZXRfY3Jhc2hfbG9nLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9s
aW51eF9nZXRfY3Jhc2hfbG9nLnB5CkBAIC0yNywxMjggKzI3LDQyIEBACiAjIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgogCi1pbXBvcnQgZGF0ZXRpbWUKLWltcG9ydCBvcwogaW1wb3J0IHJl
Ci1pbXBvcnQgc2h1dGlsCiBpbXBvcnQgc3VicHJvY2VzcwotaW1wb3J0IHRlbXBmaWxlCi1pbXBv
cnQgdGltZQogCi1mcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBT
Y3JpcHRFcnJvcgogZnJvbSB3ZWJraXRweS5jb21tb24udW5pY29kZV9jb21wYXRpYmlsaXR5IGlt
cG9ydCBkZWNvZGVfaWZfbmVjZXNzYXJ5Ci0KK2Zyb20gd2Via2l0cHkuY29tbW9uLndlYmtpdF9m
aW5kZXIgaW1wb3J0IFdlYktpdEZpbmRlcgogCiBjbGFzcyBHREJDcmFzaExvZ0dlbmVyYXRvcihv
YmplY3QpOgotICAgIF9maW5kX3BpZF9yZWdleCA9IHJlLmNvbXBpbGUocidQSUQ6IChcZCspIFwo
LipcKScpCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgZXhlY3V0aXZlLCBuYW1lLCBwaWQsIG5l
d2VyX3RoYW4sIGZpbGVzeXN0ZW0sIHBhdGhfdG9fZHJpdmVyKToKKyAgICBkZWYgX19pbml0X18o
c2VsZiwgZXhlY3V0aXZlLCBuYW1lLCBwaWQsIG5ld2VyX3RoYW4sIGZpbGVzeXN0ZW0sIHBvcnRf
bmFtZSwgY29uZmlndXJhdGlvbik6CiAgICAgICAgIHNlbGYubmFtZSA9IG5hbWUKICAgICAgICAg
c2VsZi5waWQgPSBwaWQKICAgICAgICAgc2VsZi5uZXdlcl90aGFuID0gbmV3ZXJfdGhhbgotICAg
ICAgICBzZWxmLl9maWxlc3lzdGVtID0gZmlsZXN5c3RlbQotICAgICAgICBzZWxmLl9wYXRoX3Rv
X2RyaXZlciA9IHBhdGhfdG9fZHJpdmVyCiAgICAgICAgIHNlbGYuX2V4ZWN1dGl2ZSA9IGV4ZWN1
dGl2ZQotCi0gICAgZGVmIF9nZXRfZ2RiX291dHB1dChzZWxmLCBjb3JlZHVtcF9wYXRoKToKLSAg
ICAgICAgcHJvY2Vzc19uYW1lID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKG9zLnBhdGguZGlybmFt
ZShzdHIoc2VsZi5fcGF0aF90b19kcml2ZXIoKSkpLCBzZWxmLm5hbWUpCi0gICAgICAgIGNtZCA9
IFsnZ2RiJywgJy1leCcsICd0aHJlYWQgYXBwbHkgYWxsIGJ0IDEwMjQnLCAnLS1iYXRjaCcsIHBy
b2Nlc3NfbmFtZSwgY29yZWR1bXBfcGF0aF0KLSAgICAgICAgcHJvYyA9IHNlbGYuX2V4ZWN1dGl2
ZS5wb3BlbihjbWQsIHN0ZGluPU5vbmUsIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHN0ZGVycj1z
dWJwcm9jZXNzLlBJUEUpCi0gICAgICAgIHN0ZG91dCwgc3RkZXJyID0gcHJvYy5jb21tdW5pY2F0
ZSgpCi0gICAgICAgIGVycm9ycyA9IFtzdGRlcnJfbGluZS5zdHJpcCgpLmRlY29kZSgndXRmOCcs
ICdpZ25vcmUnKSBmb3Igc3RkZXJyX2xpbmUgaW4gc3RkZXJyLnNwbGl0bGluZXMoKV0KLSAgICAg
ICAgaWYgcHJvYy5yZXR1cm5jb2RlICE9IDA6Ci0gICAgICAgICAgICBzdGRvdXQgPSAoJ0VSUk9S
OiBUaGUgZ2RiIHByb2Nlc3MgZXhpdGVkIHdpdGggbm9uLXplcm8gcmV0dXJuIGNvZGUgJXNcblxu
JyAlIHByb2MucmV0dXJuY29kZSkgKyBzdGRvdXQKLSAgICAgICAgcmV0dXJuIChzdGRvdXQuZGVj
b2RlKCd1dGY4JywgJ2lnbm9yZScpLCBlcnJvcnMpCi0KLSAgICBkZWYgX2dldF90bXBfZmlsZV9u
YW1lKHNlbGYsIGNvcmVkdW1wY3RsLCBmaWxlbmFtZSk6Ci0gICAgICAgIGlmIGNvcmVkdW1wY3Rs
WzBdID09ICdmbGF0cGFrLXNwYXduJzoKLSAgICAgICAgICAgIHJldHVybiAiL3J1bi9ob3N0LyIg
KyBmaWxlbmFtZQotCi0gICAgICAgIHJldHVybiBmaWxlbmFtZQotCi0gICAgZGVmIF9nZXRfdHJh
Y2VfZnJvbV9zeXN0ZW1kKHNlbGYsIGNvcmVkdW1wY3RsLCBwaWQpOgotICAgICAgICAjIExldHRp
bmcgdXAgdG8gNSBzZWNvbmRzIGZvciB0aGUgYmFja3RyYWNlIHRvIGJlIGdlbmVyYXRlZCBvbiB0
aGUgc3lzdGVtZCBzaWRlCi0gICAgICAgIGZvciB0cnlfbnVtYmVyIGluIHJhbmdlKDUpOgotICAg
ICAgICAgICAgaWYgdHJ5X251bWJlciAhPSAwOgotICAgICAgICAgICAgICAgICMgTG9vcGluZywg
aXQgbWVhbnMgd2UgY29uc2lkZXIgdGhlIGxvZ3MgbWlnaHQgbm90IGJlIHJlYWR5IHlldC4KLSAg
ICAgICAgICAgICAgICB0aW1lLnNsZWVwKDEpCi0KLSAgICAgICAgICAgIHRyeToKLSAgICAgICAg
ICAgICAgICBpbmZvID0gc2VsZi5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kKGNvcmVkdW1wY3RsICsg
WydpbmZvJywgIi0tc2luY2U9IiArIHRpbWUuc3RyZnRpbWUoIiVhICVZLSVtLSVkICVIOiVNOiVT
ICVaIiwgdGltZS5sb2NhbHRpbWUoc2VsZi5uZXdlcl90aGFuKSldLAotICAgICAgICAgICAgICAg
ICAgICByZXR1cm5fc3RkZXJyPVRydWUpCi0gICAgICAgICAgICBleGNlcHQgKFNjcmlwdEVycm9y
LCBPU0Vycm9yKToKLSAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICBmb3Vu
ZF9uZXdlciA9IEZhbHNlCi0gICAgICAgICAgICAjIENvcmVkdW1wY3RsIHdpbGwgdXNlIHRoZSBs
YXRlc3QgY29yZSBkdW1wIHdpdGggdGhlIHNwZWNpZmllZCBQSUQKLSAgICAgICAgICAgICMgYXNz
dW1lIGl0IGlzIHRoZSByaWdodCBvbmUuCi0gICAgICAgICAgICBwaWRzID0gc2VsZi5fZmluZF9w
aWRfcmVnZXguZmluZGFsbChpbmZvKQotICAgICAgICAgICAgaWYgbm90IHBpZHM6Ci0gICAgICAg
ICAgICAgICAgY29udGludWUKLQotICAgICAgICAgICAgcGlkID0gcGlkc1swXQotICAgICAgICAg
ICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBhcyB0ZW1wX2ZpbGU6Ci0gICAg
ICAgICAgICAgICAgaWYgc2VsZi5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kKGNvcmVkdW1wY3RsICsg
WydkdW1wJywgcGlkLCAnLS1vdXRwdXQnLAotICAgICAgICAgICAgICAgICAgICAgICAgdGVtcF9m
aWxlLm5hbWVdLCByZXR1cm5fZXhpdF9jb2RlPVRydWUpOgotICAgICAgICAgICAgICAgICAgICBj
b250aW51ZQotCi0gICAgICAgICAgICAgICAgcmVzID0gc2VsZi5fZ2V0X2dkYl9vdXRwdXQoc2Vs
Zi5fZ2V0X3RtcF9maWxlX25hbWUoY29yZWR1bXBjdGwsIHRlbXBfZmlsZS5uYW1lKSkKLQotICAg
ICAgICAgICAgICAgIHJldHVybiByZXMKLQotICAgICAgICByZXR1cm4gJycsIFtdCisgICAgICAg
IHNlbGYuX3BvcnRfbmFtZSA9IHBvcnRfbmFtZQorICAgICAgICBzZWxmLl9jb25maWd1cmF0aW9u
ID0gY29uZmlndXJhdGlvbgorICAgICAgICBzZWxmLl93ZWJraXRfZmluZGVyID0gV2ViS2l0Rmlu
ZGVyKGZpbGVzeXN0ZW0pCiAKICAgICBkZWYgZ2VuZXJhdGVfY3Jhc2hfbG9nKHNlbGYsIHN0ZG91
dCwgc3RkZXJyKToKICAgICAgICAgcGlkX3JlcHJlc2VudGF0aW9uID0gc3RyKHNlbGYucGlkIG9y
ICc8dW5rbm93bj4nKQotICAgICAgICBsb2dfZGlyZWN0b3J5ID0gb3MuZW52aXJvbi5nZXQoIldF
QktJVF9DT1JFX0RVTVBTX0RJUkVDVE9SWSIpCi0gICAgICAgIGVycm9ycyA9IFtdCi0gICAgICAg
IGNyYXNoX2xvZyA9ICcnCi0gICAgICAgIGV4cGVjdGVkX2NyYXNoX2R1bXBfZmlsZW5hbWUgPSAi
Y29yZS1waWRfJXMuZHVtcCIgJSBwaWRfcmVwcmVzZW50YXRpb24KLSAgICAgICAgcHJvY19uYW1l
ID0gIiVzIiAlIChzZWxmLm5hbWUpCi0KLSAgICAgICAgZGVmIG1hdGNoX2ZpbGVuYW1lKGZpbGVz
eXN0ZW0sIGRpcmVjdG9yeSwgZmlsZW5hbWUpOgotICAgICAgICAgICAgaWYgc2VsZi5waWQ6Ci0g
ICAgICAgICAgICAgICAgcmV0dXJuIGZpbGVuYW1lID09IGV4cGVjdGVkX2NyYXNoX2R1bXBfZmls
ZW5hbWUKLSAgICAgICAgICAgIHJldHVybiBmaWxlbmFtZS5maW5kKHNlbGYubmFtZSkgPiAtMQot
Ci0gICAgICAgICMgUG9vciBtYW4gd2hpY2gsIGlnbm9yZSBhbnkgZmFpbHVyZS4KLSAgICAgICAg
Zm9yIGNvcmVkdW1wY3RsIGluIFtbJ2NvcmVkdW1wY3RsJ10sIFsnZmxhdHBhay1zcGF3bicsICct
LWhvc3QnLCAnY29yZWR1bXBjdGwnXSwgW11dOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAg
ICAgICAgIGlmIG5vdCBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQoY29yZWR1bXBjdGwsIHJl
dHVybl9leGl0X2NvZGU9VHJ1ZSk6Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAg
ICAgICBleGNlcHQ6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICBpZiBsb2df
ZGlyZWN0b3J5OgotICAgICAgICAgICAgZHVtcHMgPSBzZWxmLl9maWxlc3lzdGVtLmZpbGVzX3Vu
ZGVyKAotICAgICAgICAgICAgICAgIGxvZ19kaXJlY3RvcnksIGZpbGVfZmlsdGVyPW1hdGNoX2Zp
bGVuYW1lKQotICAgICAgICAgICAgaWYgZHVtcHM6Ci0gICAgICAgICAgICAgICAgIyBHZXQgdGhl
IG1vc3QgcmVjZW50IGNvcmVkdW1wIG1hdGNoaW5nIHRoZSBwaWQgYW5kL29yIHByb2Nlc3MgbmFt
ZS4KLSAgICAgICAgICAgICAgICBjb3JlZHVtcF9wYXRoID0gbGlzdChyZXZlcnNlZChzb3J0ZWQo
ZHVtcHMpKSlbMF0KLSAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5uZXdlcl90aGFuIG9yIHNl
bGYuX2ZpbGVzeXN0ZW0ubXRpbWUoY29yZWR1bXBfcGF0aCkgPiBzZWxmLm5ld2VyX3RoYW46Ci0g
ICAgICAgICAgICAgICAgICAgIGNyYXNoX2xvZywgZXJyb3JzID0gc2VsZi5fZ2V0X2dkYl9vdXRw
dXQoY29yZWR1bXBfcGF0aCkKLSAgICAgICAgZWxpZiBjb3JlZHVtcGN0bDoKLSAgICAgICAgICAg
IGNyYXNoX2xvZywgZXJyb3JzID0gc2VsZi5fZ2V0X3RyYWNlX2Zyb21fc3lzdGVtZChjb3JlZHVt
cGN0bCwgcGlkX3JlcHJlc2VudGF0aW9uKQotCi0gICAgICAgIHN0ZGVycl9saW5lcyA9IGVycm9y
cyArIGRlY29kZV9pZl9uZWNlc3Nhcnkoc3RyKHN0ZGVyciBvciAnPGVtcHR5PicpLCBlcnJvcnM9
J2lnbm9yZScpLnNwbGl0bGluZXMoKQotICAgICAgICBlcnJvcnNfc3RyID0gJ1xuJy5qb2luKCgn
U1RERVJSOiAnICsgc3RkZXJyX2xpbmUpIGZvciBzdGRlcnJfbGluZSBpbiBzdGRlcnJfbGluZXMp
CisgICAgICAgIHByb2NfbmFtZSA9IHN0cihzZWxmLm5hbWUpCisKKyAgICAgICAgaWYgc2VsZi5u
ZXdlcl90aGFuOgorICAgICAgICAgICAgY29yZWR1bXBfc2luY2UgPSAiLS1nZGItc3RhY2stdHJh
Y2U9QCVmIiAlIHNlbGYubmV3ZXJfdGhhbgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY29y
ZWR1bXBfc2luY2UgPSAiLS1nZGItc3RhY2stdHJhY2UiCisgICAgICAgIHdlYmtpdF9mbGF0cGFr
X3BhdGggPSBzZWxmLl93ZWJraXRfZmluZGVyLnBhdGhfdG9fc2NyaXB0KCd3ZWJraXQtZmxhdHBh
aycpCisgICAgICAgIGNtZCA9IFsnZmxhdHBhay1zcGF3bicsICctLWhvc3QnLCB3ZWJraXRfZmxh
dHBha19wYXRoLCAnLS0lcycgJSBzZWxmLl9wb3J0X25hbWUsCisgICAgICAgICAgICAgICAiLS0l
cyIgJSBzZWxmLl9jb25maWd1cmF0aW9uLmxvd2VyKCksIGNvcmVkdW1wX3NpbmNlXQorICAgICAg
ICBjcmFzaF9sb2cgPSBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQoY21kLCBpZ25vcmVfZXJy
b3JzPVRydWUpCisKKyAgICAgICAgc3RkZXJyX2xpbmVzID0gZGVjb2RlX2lmX25lY2Vzc2FyeShz
dHIoc3RkZXJyIG9yICc8ZW1wdHk+JyksIGVycm9ycz0naWdub3JlJykuc3BsaXRsaW5lcygpCisg
ICAgICAgIGVycm9yc19zdHIgPSAnXG4nLmpvaW4oWydTVERFUlI6ICcgKyBzdGRlcnJfbGluZSBm
b3Igc3RkZXJyX2xpbmUgaW4gc3RkZXJyX2xpbmVzXSkKICAgICAgICAgY3BwZmlsdF9wcm9jID0g
c2VsZi5fZXhlY3V0aXZlLnBvcGVuKAogICAgICAgICAgICAgWydjKytmaWx0J10sIHN0ZGluPXN1
YnByb2Nlc3MuUElQRSwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwgc3RkZXJyPXN1YnByb2Nlc3Mu
UElQRSkKICAgICAgICAgZXJyb3JzX3N0ciA9IGNwcGZpbHRfcHJvYy5jb21tdW5pY2F0ZShlcnJv
cnNfc3RyKVswXQogCi0gICAgICAgIGlmIG5vdCBjcmFzaF9sb2c6Ci0gICAgICAgICAgICBpZiBu
b3QgbG9nX2RpcmVjdG9yeToKLSAgICAgICAgICAgICAgICBsb2dfZGlyZWN0b3J5ID0gIi9wYXRo
L3RvL2NvcmVkdW1wcyIKLSAgICAgICAgICAgIGNvcmVfcGF0dGVybiA9IHNlbGYuX2ZpbGVzeXN0
ZW0uam9pbihsb2dfZGlyZWN0b3J5LCAiY29yZS1waWRfJXAuZHVtcCIpCi0gICAgICAgICAgICBj
cmFzaF9sb2cgPSAiIiJcCi1Db3JlZHVtcCAlKGV4cGVjdGVkX2NyYXNoX2R1bXBfZmlsZW5hbWUp
cyBub3QgZm91bmQuIFRvIGVuYWJsZSBjcmFzaCBsb2dzOgotCi0tIHJ1biB0aGlzIGNvbW1hbmQg
YXMgc3VwZXItdXNlcjogZWNobyAiJShjb3JlX3BhdHRlcm4pcyIgPiAvcHJvYy9zeXMva2VybmVs
L2NvcmVfcGF0dGVybgotLSBlbmFibGUgY29yZSBkdW1wczogdWxpbWl0IC1jIHVubGltaXRlZAot
LSBzZXQgdGhlIFdFQktJVF9DT1JFX0RVTVBTX0RJUkVDVE9SWSBlbnZpcm9ubWVudCB2YXJpYWJs
ZTogZXhwb3J0IFdFQktJVF9DT1JFX0RVTVBTX0RJUkVDVE9SWT0lKGxvZ19kaXJlY3Rvcnkpcwot
Ci0iIiIgJSBsb2NhbHMoKQotCiAgICAgICAgIHJldHVybiAoc3RkZXJyLCAiIiJcCiBjcmFzaCBs
b2cgZm9yICUocHJvY19uYW1lKXMgKHBpZCAlKHBpZF9yZXByZXNlbnRhdGlvbilzKToKIApkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9sb2df
dW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNo
X2xvZ191bml0dGVzdC5weQppbmRleCA5ZjNiN2UzOTM3OWM0M2ExMDVlY2UyMGMxY2E2MjYyNDNk
ZmE3ZDM0Li5mYWIzNjljZjI3ZjhlNTAzZWQyOTkwNDRlOGM1YWFlOWM2ZWFhYzdkIDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZ191bml0
dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNo
X2xvZ191bml0dGVzdC5weQpAQCAtNDYsMjAgKzQ2LDEyIEBAIGNsYXNzIEdEQkNyYXNoTG9nR2Vu
ZXJhdG9yVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGV4ZWN1dGl2ZSA9IE1vY2tF
eGVjdXRpdmUoKQogICAgICAgICBleGVjdXRpdmUuX3Byb2MgPSBNb2NrUHJvY2VzcygpCiAgICAg
ICAgIGV4ZWN1dGl2ZS5fcHJvYy5zdGRvdXQgPSAnU1RERVJSOiA8ZW1wdHk+JwotICAgICAgICBn
ZW5lcmF0b3IgPSBHREJDcmFzaExvZ0dlbmVyYXRvcihleGVjdXRpdmUsICdEdW1wUmVuZGVyVHJl
ZScsIDI4NTI5LCBuZXdlcl90aGFuPU5vbmUsIGZpbGVzeXN0ZW09TW9ja0ZpbGVTeXN0ZW0oeycv
cGF0aC90by9jb3JlZHVtcHMnOiAnJ30pLCBwYXRoX3RvX2RyaXZlcj1Ob25lKQorICAgICAgICBn
ZW5lcmF0b3IgPSBHREJDcmFzaExvZ0dlbmVyYXRvcihleGVjdXRpdmUsICdXZWJLaXRXZWJQcm9j
ZXNzJywgMjg1MjksIE5vbmUsIE1vY2tGaWxlU3lzdGVtKHt9KSwgImd0ayIsICJEZWJ1ZyIpCiAK
LSAgICAgICAgY29yZV9kaXJlY3RvcnkgPSBvcy5lbnZpcm9uLmdldCgnV0VCS0lUX0NPUkVfRFVN
UFNfRElSRUNUT1JZJywgJy9wYXRoL3RvL2NvcmVkdW1wcycpCi0gICAgICAgIGNvcmVfcGF0dGVy
biA9IGdlbmVyYXRvci5fZmlsZXN5c3RlbS5qb2luKGNvcmVfZGlyZWN0b3J5LCAiY29yZS1waWRf
JXAuZHVtcCIpCiAgICAgICAgIG1vY2tfZW1wdHlfY3Jhc2hfbG9nID0gIiIiXAotY3Jhc2ggbG9n
IGZvciBEdW1wUmVuZGVyVHJlZSAocGlkIDI4NTI5KToKLQotQ29yZWR1bXAgY29yZS1waWRfMjg1
MjkuZHVtcCBub3QgZm91bmQuIFRvIGVuYWJsZSBjcmFzaCBsb2dzOgotCi0tIHJ1biB0aGlzIGNv
bW1hbmQgYXMgc3VwZXItdXNlcjogZWNobyAiJShjb3JlX3BhdHRlcm4pcyIgPiAvcHJvYy9zeXMv
a2VybmVsL2NvcmVfcGF0dGVybgotLSBlbmFibGUgY29yZSBkdW1wczogdWxpbWl0IC1jIHVubGlt
aXRlZAotLSBzZXQgdGhlIFdFQktJVF9DT1JFX0RVTVBTX0RJUkVDVE9SWSBlbnZpcm9ubWVudCB2
YXJpYWJsZTogZXhwb3J0IFdFQktJVF9DT1JFX0RVTVBTX0RJUkVDVE9SWT0lKGNvcmVfZGlyZWN0
b3J5KXMKLQorY3Jhc2ggbG9nIGZvciBXZWJLaXRXZWJQcm9jZXNzIChwaWQgMjg1MjkpOgogCitN
T0NLIG91dHB1dCBvZiBjaGlsZCBwcm9jZXNzCiBTVERFUlI6IDxlbXB0eT4iIiIgJSBsb2NhbHMo
KQogCiAgICAgICAgIGRlZiBfbW9ja19nZGJfb3V0cHV0KHNlbGYsIGNvcmVkdW1wX3BhdGgpOgpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dwZS5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC93cGUucHkKaW5kZXggOTVjNDg5MzY2NWY1OGNmMjJhMmI5YzU3
ZmYzNmY1N2M1YTRhMzQyNy4uOGQ3M2ZhZmVlMGRjYjQzYjVmMTlmMDcyYzEzOTk3NTQwN2MyYmI5
NSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dwZS5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd3BlLnB5CkBAIC03Nyw2ICs3Nyw3IEBAIGNsYXNz
IFdQRVBvcnQoUG9ydCk6CiAgICAgICAgIGVudmlyb25tZW50WydURVNUX1JVTk5FUl9URVNUX1BM
VUdJTl9QQVRIJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdsaWInLCAncGx1Z2lucycpCiAgICAgICAg
IGVudmlyb25tZW50WydXRUJLSVRfRVhFQ19QQVRIJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdiaW4n
KQogICAgICAgICBzZWxmLl9jb3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9zZXQoZW52aXJvbm1l
bnQsICdXRUJLSVRfT1VUUFVURElSJykKKyAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vu
dmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX0pIQlVJTEQnKQogICAgICAgICBzZWxm
Ll9jb3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9zZXQoZW52aXJvbm1lbnQsICdXRUJLSVRfVE9Q
X0xFVkVMJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVu
dmlyb25tZW50LCAnVVNFX1BMQVlCSU4zJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9t
X2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnR1NUX0RFQlVHJykKQEAgLTEyMCw3ICsxMjEs
OCBAQCBjbGFzcyBXUEVQb3J0KFBvcnQpOgogICAgICAgICByZXR1cm4gMgogCiAgICAgZGVmIF9n
ZXRfY3Jhc2hfbG9nKHNlbGYsIG5hbWUsIHBpZCwgc3Rkb3V0LCBzdGRlcnIsIG5ld2VyX3RoYW4s
IHRhcmdldF9ob3N0PU5vbmUpOgotICAgICAgICByZXR1cm4gR0RCQ3Jhc2hMb2dHZW5lcmF0b3Io
c2VsZi5fZXhlY3V0aXZlLCBuYW1lLCBwaWQsIG5ld2VyX3RoYW4sIHNlbGYuX2ZpbGVzeXN0ZW0s
IHNlbGYuX3BhdGhfdG9fZHJpdmVyKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIp
CisgICAgICAgIHJldHVybiBHREJDcmFzaExvZ0dlbmVyYXRvcihzZWxmLl9leGVjdXRpdmUsIG5h
bWUsIHBpZCwgbmV3ZXJfdGhhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNlbGYuX2ZpbGVzeXN0ZW0sIHNlbGYucG9ydF9uYW1lLCBzZWxmLmdldF9vcHRpb24oJ2NvbmZp
Z3VyYXRpb24nKSkuZ2VuZXJhdGVfY3Jhc2hfbG9nKHN0ZG91dCwgc3RkZXJyKQogCiAgICAgZGVm
IGNvbmZpZ3VyYXRpb25fZm9yX3VwbG9hZChzZWxmLCBob3N0PU5vbmUpOgogICAgICAgICBjb25m
aWd1cmF0aW9uID0gc3VwZXIoV1BFUG9ydCwgc2VsZikuY29uZmlndXJhdGlvbl9mb3JfdXBsb2Fk
KGhvc3Q9aG9zdCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvZ3RrL0FjdGl2YXRlRm9udHNHdGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0ay5jcHAKaW5kZXggM2Y4ZTI0NDBmMjgz
ZTRiNGU1NDI3YWQ2NDRkMmIzYjRlMzE5NjVhMS4uODFiY2Q5NjJhMDljN2FjZmVmMjJlYzJmNDhi
YzAyYjI0OWE1NmM0NCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0ay5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0ay5jcHAKQEAgLTY1LDggKzY1
LDEzIEBAIENTdHJpbmcgZ2V0T3V0cHV0RGlyKCkKIAogc3RhdGljIENTdHJpbmcgZ2V0Rm9udHNQ
YXRoKCkKIHsKKyAgICAvLyBUcnkgZmxhdHBhayBzYW5kYm94IHBhdGguCisgICAgR1VuaXF1ZVB0
cjxjaGFyPmZvbnRzUGF0aChnX2J1aWxkX2ZpbGVuYW1lKCIvdXNyIiwgInNoYXJlIiwgIndlYmtp
dGd0ay10ZXN0LWZvbnRzIiwgTlVMTCkpOworICAgIGlmIChnX2ZpbGVfdGVzdChmb250c1BhdGgu
Z2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfRVhJU1RTIHwgR19GSUxF
X1RFU1RfSVNfRElSKSkpCisgICAgICAgIHJldHVybiBmb250c1BhdGguZ2V0KCk7CisKICAgICBD
U3RyaW5nIHdlYmtpdE91dHB1dERpciA9IGdldE91dHB1dERpcigpOwotICAgIEdVbmlxdWVQdHI8
Y2hhcj4gZm9udHNQYXRoKGdfYnVpbGRfZmlsZW5hbWUod2Via2l0T3V0cHV0RGlyLmRhdGEoKSwg
IkRlcGVuZGVuY2llc0dUSyIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgbnVsbHB0
cikpOworICAgIGZvbnRzUGF0aC5yZXNldChnX2J1aWxkX2ZpbGVuYW1lKHdlYmtpdE91dHB1dERp
ci5kYXRhKCksICJEZXBlbmRlbmNpZXNHVEsiLCAiUm9vdCIsICJ3ZWJraXRndGstdGVzdC1mb250
cyIsIG51bGxwdHIpKTsKICAgICBpZiAoZ19maWxlX3Rlc3QoZm9udHNQYXRoLmdldCgpLCBzdGF0
aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNUX0VYSVNUUyB8IEdfRklMRV9URVNUX0lTX0RJ
UikpKQogICAgICAgICByZXR1cm4gZm9udHNQYXRoLmdldCgpOwogCmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dwZS9BY3RpdmF0ZUZvbnRzV1BFLmNw
cCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9u
dHNXUEUuY3BwCmluZGV4IGE0OWM3YTI5MjE4MjU5MWUyNzI3YjJiOTAxZTQxMmIyZGU4ZTAzZGEu
LjhiZTczNmYwNDljOTFiMzA4Y2QyYzFlY2FmMTQwNWEwNWMxYWU1MDAgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUu
Y3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2
YXRlRm9udHNXUEUuY3BwCkBAIC01OCw4ICs1OCwxMyBAQCBDU3RyaW5nIGdldE91dHB1dERpcigp
CiAKIHN0YXRpYyBDU3RyaW5nIGdldEZvbnRzUGF0aCgpCiB7CisgICAgLy8gVHJ5IGZsYXRwYWsg
c2FuZGJveCBwYXRoLgorICAgIEdVbmlxdWVQdHI8Y2hhcj5mb250c1BhdGgoZ19idWlsZF9maWxl
bmFtZSgiL3VzciIsICJzaGFyZSIsICJ3ZWJraXRndGstdGVzdC1mb250cyIsIE5VTEwpKTsKKyAg
ICBpZiAoZ19maWxlX3Rlc3QoZm9udHNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+
KEdfRklMRV9URVNUX0VYSVNUUyB8IEdfRklMRV9URVNUX0lTX0RJUikpKQorICAgICAgICByZXR1
cm4gZm9udHNQYXRoLmdldCgpOworCiAgICAgQ1N0cmluZyB3ZWJraXRPdXRwdXREaXIgPSBnZXRP
dXRwdXREaXIoKTsKLSAgICBHVW5pcXVlUHRyPGNoYXI+IGZvbnRzUGF0aChnX2J1aWxkX2ZpbGVu
YW1lKHdlYmtpdE91dHB1dERpci5kYXRhKCksICJEZXBlbmRlbmNpZXNXUEUiLCAiUm9vdCIsICJ3
ZWJraXRndGstdGVzdC1mb250cyIsIG51bGxwdHIpKTsKKyAgICBmb250c1BhdGgucmVzZXQoZ19i
dWlsZF9maWxlbmFtZSh3ZWJraXRPdXRwdXREaXIuZGF0YSgpLCAiRGVwZW5kZW5jaWVzV1BFIiwg
IlJvb3QiLCAid2Via2l0Z3RrLXRlc3QtZm9udHMiLCBudWxscHRyKSk7CiAgICAgaWYgKGdfZmls
ZV90ZXN0KGZvbnRzUGF0aC5nZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVT
VF9FWElTVFMgfCBHX0ZJTEVfVEVTVF9JU19ESVIpKSkKICAgICAgICAgcmV0dXJuIGZvbnRzUGF0
aC5nZXQoKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9maWxlcy9kZWZhdWx0LnhrbSBi
L1Rvb2xzL2ZsYXRwYWsvZmlsZXMvZGVmYXVsdC54a20KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAxNmY2YjA4ZjZkODA4NTgwOTY4YmEwMjI1NmQ5MDc1ZDQ4YTQ3ZDAuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFs
IDAKSGNtVj9kMDAwMDEKCmxpdGVyYWwgMTIwMzIKemNtY2d5WWo3TGFiLXVlOzVGa2lWbDMlZkZj
U15yeCokTlkyTDRzaUdyVUMod3B6dCZSbDlIMiVyQVN6JE1VZ1p9CnpOPi1mNE5+Viheb3dVZ2BO
ei1AeXREVX4+UkNVd05SREdxWGA+KWdLWWRXNHpgZj9tNmFvZEArb3ZOTCUtKkBqPgp6Pn5hbUlz
JU8mVzlEZShxZChPUypLSzk8YmkrbEx1Zz1nPUlANWkyM04pMEdXZU19WFUxMDBWMkRLeXxpdVNQ
QjQKenBVMmpZK1E4UmA5PXw2N1kqLUlIOUEkY1pfbjdDVyljJHdIUkJpOEtXb3pYRXlkeF5OdT90
TTdPNk84JXFyS01jCnpiUjFSRE49RyN7IyNKLUZ3WWw1ZitFNk80RCF1IUpZT08lSSFLPzwyfElH
VE9qKjJxUiopQyROYzZPSCljeCFMRgp6KCo+NVU1V1UjJVJHbXchb2w3VHtIYGJTVEl5PVhveCFt
ZFFVVV5pLV93UHFVTik9bXFsYEFHdzVFcWgkajYpX00KejhPUzZnM3peQ2xRJU1OeVF0b3VRKW9B
Q1lSanZUUDB7alpfRTVOUyt6WEpSVUBHSFF0MEtXcUszaCpuVystQUYzCnp0S3szMlRwb1VUX35x
ZjNoaEg5a2RIQ2h3bXhvXi1ldEchaVE+a3tQUF5gP2ZOK2AzRW59Kipze0hFYkk0Wm1zbAp6T35Z
PiplJCgpcWhUbjg1Kj0pQjs8d2tZQmxCPXteamVJZW1ZcVZ5eyRyUXdlcSNAJncyfWxNcTNDVGpI
WDNEOCMKenR5KEYhQHxBTUFGeyNScEVNeUFPbmxDclRmZkpBbkJ2JlhtUWF+NHloOW5fe05AYnl2
V304LTh2dSkmc0A9fU8zCnpsYDd9anh6YiFTUzFRKVpyRStfPUkkdFdEWVVIY3NNelBqSmQlJDww
KFFNX0xoX19Pa0RVfEJmOyhTQT8jX1c4Zgp6UWstY3dYR2BzM3QpTDNeI2FkJndQQEFpQDZrNFM/
bXZXUVVgRjMla1VLeFgmWHcoOyokbnkjNEdtWUdRM3omc1cKem0xP3Q8KHk5Q2NgWXY1cm9VMWg8
YEZnZHtZUyRhTisxeTtDUyNRa08zaVgrMHQofnRvJmVSY0NCaUN4ciUrKDZ7CnpgTC0kKkR+LTkt
XyNfMVJqWmUqYENYJGQ4I0QlMEc8QiRuUjFfSFlZKmlGREwxR14wREdPKXxRRSg1eV4+QHUqKwp6
eiVCIzM0RDJSaEh3bjgqKmlGSzI1X1hmWW59cHBZPj9VRDEzQS0lcHZhcmotRSheT1g/NlI9UyFZ
JktERWJPd2QKem5AWGJYKGEkT0xhfC0+T0xPLVhfJm5maEMzak9STi05YFZuNyFOTSYtMF5DbXdU
UnxkKW5Zcj5ucn0ycVhCeTJwCnpIPF5WQCZBRiowQm41RkhYfjtOYTArTkFETFNVRElvZU1oYGJ9
c0IoKnR4S0NWZHVpbWcmcTNDYnp6cj1UXmU/Mgp6KnJqMlloRnV6VlkxcE08bXhmJiRjSF4pY2h1
dHtyIyRoKU95SyZmISF3JnU3cUNaXnBobH5EaihIfTFRISRwNiUKej1ucj5kTE8oUDRsKl8pWjdI
amktbVAke3lYRV9FYylwbX5LcGgtbDxiQ3VhOSQ0YT9ATTtwJnxXcUoxcnBiSzBDCnpyaCFHXklJ
c3p2ME1hZjRKT2k4ciZJN1orSXA3cXEmU3hMayExSylmYXpOKFMweTRoPmtvbkMzbmNwbXNgSVVn
bwp6Py1ZPnZtNFZEcEttV2lkQHRpWkMoP0k1djJRckBwQW9IMDlHTV5mZGBCYzY2SkZacj9FXmNw
aGJ+e1NsI3xQQ2kKekdOfGdjOyE+ciFQXkBzUy1uPkchRWRyWkMpbjJTaXh9JkJza0x2ayRaVCtj
VDZAaV5pVGlEU2pwPm1aKkRLfWtnCnomKmVRXk45QzhkY2JJUFp3a1VpK201WE9FbXcwdnFUcjx2
ZngpdzZqPD5UTD1ZTChfQCs5eDxSSnYtPUZfNmFUPQp6QyVyZ05Ec0A7akA9Ri1KI2lqfD9NTGok
cForJm4pZHE9Nkd3OW5VVD9QazU9ZDNnM1EpbXdzNCFJTEgpYnlEMyUKenBVT2NlJm5MS1VEU0sz
V012WUpOVzxMSjkkSHZrMVI8PTZDYSF+MVRUOzV1JD82fXkqKXJnTUNIfT5OMyk+dmc5Cno1ISls
aW1JR2NnX0hFNU45RX1icmhidWskKD87dD5FSnJ6THc3QU4qbi0kIytkZjE/OGQrNm5YSHI4Vnom
YjR7ZQp6ajElZHJRVDckYCp6SW9VWmQwK2lxWWxUQk5kKT1HKmtPNWcjRlFEYVN1WGw3aE9yaWYz
fTlhWiNYIXRhdV8kRH4KekxIfHxpYENNaEdJRU13bylGO15BSStnKm1YR2ptNSpoY2paMWdqTHJC
eDIhcylpSUJmNFQtSEwyPF8rckFFVUp4CnpwVHctPU1mKGg/Y0J4dFBvfWRGYD9tIUd5K183Uyle
TVNTbldwa3N8dChmSWxMbj5JQ3g4YC1Ud3picjA2O3IyMgp6TyVKZU1yYGhKWjdsdTUmP2djYkM7
eTVJNmFKK2ZfJXI8QkhxdUYmI1E0QntmdTkpcHUwfTtvJUQ7T1VKWCF1JEcKei1eUmZJRXpZUVFV
cHpEeEwrITxWVUs5O0ZmU3E1PSFjRypJNE5VfCF1K1VGNz5KKHZ9UD9zbit0T0tZPTRFMW1ACno3
ZXlvUnYqOHprVWolK097MzIyNy1VRF5pXld4SVgreVhrZG8tY0ZZaGJ8MT8xNlA8SU5EUHAkVTZe
fk94Qjdoagp6enFUI00mOEBicmpqbGwzK0d5S2oyaW4jaktqIWhoY3s3TEdDZHxGSWRie31UWD1C
RzRrP3xYUiZVKTxAYytUfEwKemxzVWl+cXUrNiR0eTt6RW9abnZJZFpJaDw5USlWSl9fdzI7N1Vw
RjxWaDg1Nmdxbz8oJVF9M2tXa3h1Xk9GcUgmCnpeNSYmRzE5PTlmcDB+e1RIPTgzKHskQFQyPUlg
fiNKO0Q2SGIjdj5zVypnc1gtN0UrNTRDPTs0KHRqQWhkaX10Pgp6I1dmYzVtM2x8OHtPYTg0VnF3
V19rT0pqK2QhKER5RzNwR016Q2RJKV5Ub3RCOUwpRSRBTT8lZjIoSHQ/SHEoMU8KejxqWiozVz9V
O0NQXzFHRUpMcTxDaUxhU1V4bXNhS0A3UkpKZyFzY182Uk5rZzlybGlWcjxYTyR0amsmaCtYJlp1
Cno+O24kMG95YXNlJEtNZ0dYUU1MVGtfcjEoYHcwNmJ7bFM4TClmPFFDdD17Xkd6T3ZDek19eUBe
NHwhJHU+bU9hTwp6UVE2eGZLWWx8QT8hfStPdUZVPT4+aGdwOFhqOWZ1c25fO1ZYTH0jcEJnM0J1
LSQjQTFxYD9wZmB+OG4jUUtMMSsKemxfVDd5MGVEb253Zz4tO19RJUxXOH1mUTEjSntZMHFMPT05
aDx7YntwPGVwZUxqM0VSNUJKakY0RG1aT2tMal89CnpAe2o4SHUhbHdidGlvLT04OSh7JCFXbHBM
aHZAJnxLfiMtUT5UbTVJdFV2Z0hgaCREKkE3Rm0pazI9T2JFfVktMgp6Y3FNdXExPnFWZGhkOyp3
dWFPPSVfQWZDV1l1fTJnZUZVTUBQbHgjRGRLfUozfEFgUiliKVIhT1AoS3lvKkxvY0oKejxOQzE+
ZjRScF4xJTVvbGYzd0g7YVZob2I1ZFZDU3FhTHtiT287IU0mbj4zXldRaE5VYUJrc3d7WTs0ZXNQ
S2VpCnojX3o5JV8kUGc/ci1vaylAbFd8JmNqMiN1XyU5Mk8lZ3BqaUFeeEs5TDc4fWRIcEc5YDxF
QV4rWEc4b2lnP3NWOwp6bUN0cEtlPVZILSYtVkc3OSNeYChVS1FATyYpQGRhVlUwNHMpWjx7X3Vn
bSFJPzchbDM5cE17MypYNGlKPWVtOH4Kej5+VH0hZkErY2R7fS1RWWdNYW44X1d5P1BMRFFZOy0r
WnE5fEp+PT58MzdATHtyXis9VmZyNlk+UEM9e0QpbkUmCnpGfmpLbXtAZHFoMzhsNyFfOXZCa0Nj
eD4/NFJFJkNQTEx5Xy01fCNeeUJGa1cpSnM4Kl8kfitlczhZYGNJM017ZAp6MG5SQDhLIUNGV3t6
Q1hMP3NANj8pdGlyQ3B5JF5CKlltNHo9Qzl9MTBOMy1ZYUYoYSUqOHRiXnQ4aiNgXiF5cyYKemVg
bSVNVEd6QyVfMDlNWiZRRkslYT4+aT9hb3Y0YktmSDleZU9OeXtaWUkyRmtEQ1EhcHZVbmRqd3t5
VmN0T1YlCno/e1BETjJZY0wlczY+d153RWErejR7MUshPEVCTCk3WEh5amNlWjxPTT9LezgjcjRl
e14/PTd1RUw2OHZKTCpBPwp6an5UQWw3aWt+MWZMPnB+NTNEY1h0VWM1Sk4hbDtNazElckM0JTI8
VWtNLURGS1ZkPlVFbSgjMT87JUlrX1I1TDkKem9mR1N1byEjVTVYOXhieWZadEc1YXI2QWZgcCgr
dUAlaCVIQ1VmQEV5KGtsfXAoK0t7e21jeWF7QVA3aD8pZnFPCnpMQWY2WEp8eT1Pej0hMk4xM1dB
RGxmWXdncDlNWjlfZng+KmEtUmU7MWVQQGhUJDIwbTEpaC1tSU8zd3ZXKUxgdgp6djV0RXlfLSpl
USpnaiRHNTlsdkx4N2JKRGZ2KHNgLS1XSyhONis3aitJe3I9SGhIRnhlaDwzJktLZ2EmPUtBUWoK
enBzVi1NWiRzQkdkaTdyNWI4YFFGOzE1OTlaLT53KDdXVG1aVkF8K0Z7Zyt7ckdkPjZPYDI0OV9l
ZXxvKTc1ZUMoCnpmXk1kZHt5Y1FFZWVgUzRtSE96UGhWRTEhSiU1K3V3flRQVjsqKiVGN2BeJSk7
Q0lYWUJmdG1ie2AtTCtmXmUkZwp6eXUpJHdLSlg3aCF1ZnB3eCtuWVNwTT8mdUI1JCFAZmlCLWll
K2p5VUtLZ1VlUDUwNG5MUmFnZnpYJTtaaTBoYyYKejM0QzFjLXZ4WSsrYGsrNmVHdH5+P0A+UX5w
OV9CZjxYJEJ4X2hhc3tWWmsra15FfTdNc1A/ekB5YnxgbTR4NkJHCnp0YDZKJEVeTENyYDgjYSRk
JDApIz1rJjE2QDUzZjJvYWUoZmUqbH1IYVBBTT17Ml4/RCF1MjMqXjk5JWhnPTw5RQp6PThzPyM2
c3tYI249aXM5Q3xwYXpIaCZEOHBtMlMkdFJ3MXE9LUt7IS17ODM5ekwkR3AtZ0ElM2VKfTYxcFhE
QW0Kem9HPHM4TEUqWVdkK3h1dkMrOXUpeTQ/VHJwOElhQCNsIWg8S049TFNTRzREUTBeYzJZJnZ5
ZDhDLTkjOGY0JnAmCnpvX2tnOVV3UXZvQW9yQDRieWRJZlZPWmZTNSQ5dDZgd0dWfSQxYjEwcE0h
KkJjP0pHSztvMkx2YDRpWCNoM2hmMAp6KHJ0TjZteWIwXkBJaz54MVJucjt3bSs8T2pgfk1ueEQz
N24xWkM4O2k1MzI+VjtPZExMaHd2ayFRWTtecitPWDIKenshSXVyMWU9Mk1mPT52eDFRIUx7Zih3
RXhnOE0rUDQhNy1kRWE0cWhAT0h0KzFiO18tVVY7UHEkbTtoeSgoU09oCnpBYTx3ViRHJjdnbiFk
IUVGS09kSVF8P0t7SiltV3MpTyRhY2VfbXxYMSltYiEtakN8fEk+TWgzejl7aXM1V0ZiMwp6Q1Um
UVZLUHxpP3s1eWRyMkJxRkR4KVh4JDdrbjtZXkZ5TWAyfkc+WE9ZbGotRn5NRUk9TFBRKE9iVnQy
anxufmsKel54fUNaPyU4JWszZnR1IXFQcWlfNjVVOyp5QSRaeS02dmA5NSE/aU5gRj5iKmNNSSth
RXtLaDFfcElvejJ5ITNBCno3YFRUYnU4SDMzOCF6OVk9d30zSDF4dGMrSyhDQz9pUzhFIVVsZT8p
WExENzV8Nm5gdDt5VDBpaFMhKCV7WWliIwp6QG5kOEJAY08jK0cyNGk3ZGhMYEtVSnh0YHs9NlhU
UGtZYnJHdkxnUkl6RUApe2xgVmBhaiNFKk1FdmcrVG9RYS0KekBUXzE0PT1wbCVKMGZZZXBldU1y
Jj1ETEVqMCRwV0dRT19oQ2o+N0d6RXwqKmZ9YXhuRypET1FDalhjeEZBdSUqCnpQOXhDbTxGI2l7
QHB0Vn17bjYwNiUzcWV2NzNjNVJNeT4zdC1XTXh7LXdEbEdDUH43KGdgPSpENH1Xakl4Vl49bgp6
KjdeQ2FjUjh4T3l0JDBJdzVRPkhZb3BXSSMmMkghNn5wPGJvJGJ5aF9tYz4lY2owezA5KUlzUXFz
Nkc5VGk/TSgKellwYGQ8R09OcSQqIS1FZEduMFRsJilSYkx7UUJtMyNfbkk8Wj5Gc0hAS3lQc2hV
QSE8P1FaUkRrTWJTbiZ7Zio9CnpEO3g4eVp0ZC1LTSQ0VG1KMHFqaT11WlR3aGREUGtpMSgpQiti
Z04kI0d+cWN4NVo8YVFjPF9WaCQqSUR1cU0+bAp6VmBGUWJqWjItfl5fQXRaaT1FWj15XkNZcnZD
WGFTI3BSN0xCO3BfdHsrcXdgb3ZtemtWcm5kZm17JlZIRThYPyYKei1Tc1cqMlp6KmJYUzM1P1Vs
flBGOzhBc01WfG5FUUBiY09eOGZpZUM/ez09Wk5yUzBtbClTVHZDXlYqJUBOcmJGCnotb3lzZCMp
NSVHU1k1LVA0WkgpamQ7eCM+NHZmPWJlKTxQM0tZaCgmSSE9eVo8TCZ3MTlZfVh7SSF+Pjl0OHxf
cwp6IX1te28zPzdpcXgqT3k0Wm1WbSNpZ0ZFNlVlanJlJHc4MmdiPUkwdWxvdEBeM3Ahcio1cTxE
R0k2bTlePCgmJHwKemxoTl87XnFIVDJCVChQaGJiV2MrJXVvTUQhMmU2eXpnak5APk5ecmh6b0dx
R0YhMjNmMypgVDJDTEpmKHtQZD9DCnp6ZGFZNjd3YD02XnFIVUQ0ZGoxVG0oU0JgZSk9YEVrPjZp
dVFVNk1AZmNvPko5VXUyTT9OXld8YmghNilGNHs0IQp6WDcpQiQlc19mb1R+e3czeCgqOHJSYV49
RGFVJFZhTFVmNlp2dmpGZjswfD1iaUR8KWMhM201PD5OQ1A4MSsjKXYKekNPd3JqSmUzbUVgU0dr
QWhNMnszZGVybCo4PEElc3g3VWB7SXMzWkc0ODB0fF5CNDh2OF5JMEZLaFh+NzhGaFhACnpvZ1l4
ZzJoe05hQyZXKDIyZD83LT5pQj9EQ2YmcnhiQ0pTemV0Wkoob2V3UlV6JUxzcDdpVDNDXz5Pe2VR
TnxBRQp6czxiYE1SU0JBTWFqcl9aREhyRmVncXcxNHVGN3lKN3cwTzQ+LV9qK1Y2QHZHI2g1Pllh
eWhhU0RyKTJXbChFRDQKekR7WVZTU0F3UW9vV0J4byVFa0ZCO2lnPWl6Y082UCNrb3YhS0I+ZTQx
e0JOVmxhaiFSMC1rQD1fQmdMOFh2KVFUCnpFI2FuSW9ZeFg9JUVmc3Q7aWc9aT1RUH11JU9AP05W
endST2N0bStQSkJkNCs9aCtmIShCXnFoQkZ9dGNPajxuVgp6TChYJDxNNG99dVQ+QX4kRjshZSQt
X19HUSMhUGEhVX58azJJPjtMUm1CNGQ9WnpuaXdpNVA2MiR0M2JqQ1hzIzEKemJlX1dgPWxNKk5V
Ty12T0YySTVoMmhWWW1HaUtXSkpmfXtfU3h6RiliYG8oR3RhRHwxZEcoekE7KW9xIzlFc2w4CnpX
azVXYU47e3F2SENSUG0kWGdtMjVBQXF2Nj8lKGpSfURASDxfWlpsdGo3bDk7Q1dWKUp8VVJWJGk2
aUJxKHNsQgp6cFpUUSlpLT56eipNfCF9WFA8LWBMVjdgdTEpS3J2dFR2VzZKNktDP157Vj05Sk9C
fDY0cVUtfmZyR2pDWWE9ODAKenJPe2wkeUBYP1R0PUE2d1kya2Y/Nlh7eFM5UCFoS3l8ZFBwPCNR
fUk7QG5WUUspR0wzdDIlUkNabz5Td2BGN1hSCnpMd2N7bkpXTF54PW5aeEtGelJIUEdFRHJZa2hm
ZEw7bE5wTXNmdm1XKykkcyM8b1lvdyQ3PjZ6aihXUmdhYztvOApNa2tzZH5iSUlpWTA4M0swMj48
ezkKCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL2ZpbGVzL2h0dHBkLWF1dG9nZW4uc2ggYi9U
b29scy9mbGF0cGFrL2ZpbGVzL2h0dHBkLWF1dG9nZW4uc2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NzU1CmluZGV4IDFjMGM0ODMwNTFmYmRmODYwNGI5NDRhNjM1MTFjNGUxMjFlYWVmNGQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9m
aWxlcy9odHRwZC1hdXRvZ2VuLnNoCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1hdXRv
bWFrZSAtLWFkZC1taXNzaW5nCi1hdXRvcmVjb25mIC0taW5zdGFsbApkaWZmIC0tZ2l0IGEvVG9v
bHMvZmxhdHBhay9mbGF0cGFrdXRpbHMucHkgYi9Ub29scy9mbGF0cGFrL2ZsYXRwYWt1dGlscy5w
eQppbmRleCA4OWViYzY3MzEwYzFkNWI4NGM5MGNmNTQwN2Y5NDBjMDFiMDVlZWU2Li45NTljMjBm
MzY3YzhiZjIwODBmYjk4NTc1YTBkM2NlMGI5ZjE4OGQxIDEwMDY0NAotLS0gYS9Ub29scy9mbGF0
cGFrL2ZsYXRwYWt1dGlscy5weQorKysgYi9Ub29scy9mbGF0cGFrL2ZsYXRwYWt1dGlscy5weQpA
QCAtNDksMTUgKzQ5LDExIEBAIGV4Y2VwdCBJbXBvcnRFcnJvcjoKIAogRkxBVFBBS19SRVEgPSBb
CiAgICAgKCJmbGF0cGFrIiwgIjAuMTAuMCIpLAotICAgICgiZmxhdHBhay1idWlsZGVyIiwgIjAu
MTAuMCIpLAorICAgICMgKCJmbGF0cGFrLWJ1aWxkZXIiLCAiMC4xMC4wIiksCiBdCiAKIEZMQVRQ
QUtfVkVSU0lPTiA9IHt9CiAKLVdQRV9NQU5JRkVTVF9NQVAgPSB7Ci0gICAgInF0IjogIm9yZy53
ZWJraXQuV1BFUVQueWFtbCIsCi19Ci0KIHNjcmlwdGRpciA9IG9zLnBhdGguYWJzcGF0aChvcy5w
YXRoLmRpcm5hbWUoX19maWxlX18pKQogX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9f
KQogCkBAIC0xMjMsMTMyICsxMTksNiBAQCBkZWYgY2hlY2tfZmxhdHBhayh2ZXJib3NlPVRydWUp
OgogICAgIHJldHVybiBUcnVlCiAKIAotZGVmIHJlbW92ZV9leHRlbnNpb25fcG9pbnRzKGFycmF5
KToKLSAgICByZXN1bHRfYXJncyA9IFtdCi0gICAgZm9yIGFyZyBpbiBhcnJheToKLSAgICAgICAg
aWYobm90IGFyZy5zdGFydHN3aXRoKCctLWV4dGVuc2lvbicpKToKLSAgICAgICAgICAgIHJlc3Vs
dF9hcmdzLmFwcGVuZChhcmcpCi0gICAgcmV0dXJuIHJlc3VsdF9hcmdzCi0KLQotZGVmIHJlbW92
ZV9jb21tZW50cyhzdHJpbmcpOgotICAgIHBhdHRlcm4gPSByIihcIi4qP1wifFwnLio/XCcpfCgv
XCouKj9cKi98Ly9bXlxyXG5dKiQpIgotICAgICMgZmlyc3QgZ3JvdXAgY2FwdHVyZXMgcXVvdGVk
IHN0cmluZ3MgKGRvdWJsZSBvciBzaW5nbGUpCi0gICAgIyBzZWNvbmQgZ3JvdXAgY2FwdHVyZXMg
Y29tbWVudHMgKC8vc2luZ2xlLWxpbmUgb3IgLyogbXVsdGktbGluZSAqLykKLSAgICByZWdleCA9
IHJlLmNvbXBpbGUocGF0dGVybiwgcmUuTVVMVElMSU5FIHwgcmUuRE9UQUxMKQotCi0gICAgZGVm
IF9yZXBsYWNlcihtYXRjaCk6Ci0gICAgICAgICMgaWYgdGhlIDJuZCBncm91cCAoY2FwdHVyaW5n
IGNvbW1lbnRzKSBpcyBub3QgTm9uZSwKLSAgICAgICAgIyBpdCBtZWFucyB3ZSBoYXZlIGNhcHR1
cmVkIGEgbm9uLXF1b3RlZCAocmVhbCkgY29tbWVudCBzdHJpbmcuCi0gICAgICAgIGlmIG1hdGNo
Lmdyb3VwKDIpIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcmV0dXJuICIiICAjIHNvIHdlIHdp
bGwgcmV0dXJuIGVtcHR5IHRvIHJlbW92ZSB0aGUgY29tbWVudAotICAgICAgICBlbHNlOiAgIyBv
dGhlcndpc2UsIHdlIHdpbGwgcmV0dXJuIHRoZSAxc3QgZ3JvdXAKLSAgICAgICAgICAgIHJldHVy
biBtYXRjaC5ncm91cCgxKSAgIyBjYXB0dXJlZCBxdW90ZWQtc3RyaW5nCi0gICAgcmV0dXJuIHJl
Z2V4LnN1YihfcmVwbGFjZXIsIHN0cmluZykKLQotCi1kZWYgbG9hZF9tYW5pZmVzdChtYW5pZmVz
dF9wYXRoLCBwb3J0X25hbWU9Tm9uZSwgY29tbWFuZD1Ob25lKToKLSAgICBpc195YW1sID0gbWFu
aWZlc3RfcGF0aC5lbmRzd2l0aCgnLnlhbWwnKQotICAgIHdpdGggb3BlbihtYW5pZmVzdF9wYXRo
LCAiciIpIGFzIG1yOgotICAgICAgICBjb250ZW50cyA9IG1yLnJlYWQoKQotCi0gICAgICAgIGNv
bnRlbnRzID0gY29udGVudHMgJSB7IkNPTU1BTkQiOiBjb21tYW5kLCAiUE9SVE5BTUUiOiBwb3J0
X25hbWV9Ci0gICAgICAgIGlmIGlzX3lhbWw6Ci0gICAgICAgICAgICBpbXBvcnQgeWFtbAotICAg
ICAgICAgICAgeWFtbF9sb2FkID0gZ2V0YXR0cih5YW1sLCAic2FmZV9sb2FkIiwgeWFtbC5sb2Fk
KQotICAgICAgICAgICAgbWFuaWZlc3QgPSB5YW1sX2xvYWQoY29udGVudHMpCi0gICAgICAgIGVs
c2U6Ci0gICAgICAgICAgICBjb250ZW50cyA9IHJlbW92ZV9jb21tZW50cyhjb250ZW50cykKLSAg
ICAgICAgICAgIG1hbmlmZXN0ID0ganNvbi5sb2Fkcyhjb250ZW50cykKLQotICAgIHJldHVybiBt
YW5pZmVzdAotCi0KLWRlZiBleHBhbmRfc3VibW9kdWxlc19yZWN1cnNlKG1vZHVsZXMsIG1hbmlm
ZXN0X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCk6Ci0gICAgYWxsX21vZHVsZXMgPSBbXQotICAg
IGlmIHR5cGUobW9kdWxlcykgaXMgc3RyOgotICAgICAgICBzdWJtYW5pZmVzdF9wYXRoID0gb3Mu
cGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShtYW5pZmVzdF9wYXRoKSwgbW9kdWxlcykKLSAgICAg
ICAgc3VibWFuaWZlc3QgPSBsb2FkX21hbmlmZXN0KHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRfbmFt
ZT1wb3J0X25hbWUsIGNvbW1hbmQ9Y29tbWFuZCkKLSAgICAgICAgYWxsX21vZHVsZXMuZXh0ZW5k
KGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2Uoc3VibWFuaWZlc3QsIHN1Ym1hbmlmZXN0X3BhdGgs
IHBvcnRfbmFtZSwgY29tbWFuZCkpCi0gICAgICAgIHJldHVybiBhbGxfbW9kdWxlcwotCi0gICAg
IyBUaGUgbGFzdCByZWN1cnNlIG1hbmlmZXN0IGV4cGFuZCBpdGVyYXRpb24gbWlnaHQgbGVhZCB0
byBhIHNpbmdsZSBtb2R1bGUuCi0gICAgaWYgbm90IGlzaW5zdGFuY2UobW9kdWxlcywgbGlzdCk6
Ci0gICAgICAgIGFsbF9tb2R1bGVzLmFwcGVuZChtb2R1bGVzKQotICAgICAgICByZXR1cm4gYWxs
X21vZHVsZXMKLQotICAgIGZvciBtb2R1bGUgaW4gbW9kdWxlczoKLSAgICAgICAgaWYgdHlwZSht
b2R1bGUpIGlzIHN0cjoKLSAgICAgICAgICAgIHN1Ym1hbmlmZXN0X3BhdGggPSBvcy5wYXRoLmpv
aW4ob3MucGF0aC5kaXJuYW1lKG1hbmlmZXN0X3BhdGgpLCBtb2R1bGUpCi0gICAgICAgICAgICBz
dWJtYW5pZmVzdCA9IGxvYWRfbWFuaWZlc3Qoc3VibWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lPXBv
cnRfbmFtZSwgY29tbWFuZD1jb21tYW5kKQotICAgICAgICAgICAgYWxsX21vZHVsZXMuZXh0ZW5k
KGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2Uoc3VibWFuaWZlc3QsIHN1Ym1hbmlmZXN0X3BhdGgs
IHBvcnRfbmFtZSwgY29tbWFuZCkpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBhbGxfbW9k
dWxlcy5hcHBlbmQobW9kdWxlKQotCi0gICAgcmV0dXJuIGFsbF9tb2R1bGVzCi0KLWRlZiBleHBh
bmRfbWFuaWZlc3QobWFuaWZlc3RfcGF0aCwgb3V0ZmlsZSwgcG9ydF9uYW1lLCBzb3VyY2Vfcm9v
dCwgY29tbWFuZCk6Ci0gICAgIiIiQ3JlYXRlcyB0aGUgbWFuaWZlc3QgZmlsZS4iIiIKLSAgICB0
cnk6Ci0gICAgICAgIG9zLnJlbW92ZShvdXRmaWxlKQotICAgIGV4Y2VwdCBPU0Vycm9yOgotICAg
ICAgICBwYXNzCi0KLSAgICBtYW5pZmVzdCA9IGxvYWRfbWFuaWZlc3QobWFuaWZlc3RfcGF0aCwg
cG9ydF9uYW1lPXBvcnRfbmFtZSwgY29tbWFuZD1jb21tYW5kKQotICAgIGlmIG5vdCBtYW5pZmVz
dDoKLSAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICBpZiAic2RrLWhhc2giIGluIG1hbmlmZXN0
OgotICAgICAgICBkZWwgbWFuaWZlc3RbInNkay1oYXNoIl0KLSAgICBpZiAicnVudGltZS1oYXNo
IiBpbiBtYW5pZmVzdDoKLSAgICAgICAgZGVsIG1hbmlmZXN0WyJydW50aW1lLWhhc2giXQotCi0g
ICAgYWxsX21vZHVsZXMgPSBbXQotCi0gICAgb3ZlcnJpZGVuX21vZHVsZXMgPSBbXQotICAgIGlm
ICJXRUJLSVRfRVhUUkFfTU9EVUxFU0VUUyIgaW4gb3MuZW52aXJvbjoKLSAgICAgICAgb3ZlcnJp
ZGVuX21vZHVsZXMgPSBsb2FkX21hbmlmZXN0KG9zLmVudmlyb25bIldFQktJVF9FWFRSQV9NT0RV
TEVTRVRTIl0pCi0gICAgICAgIGlmIG5vdCBvdmVycmlkZW5fbW9kdWxlczoKLSAgICAgICAgICAg
IG92ZXJyaWRlbl9tb2R1bGVzID0gW10KLSAgICBmb3IgbW9kdWxlcyBpbiBtYW5pZmVzdFsibW9k
dWxlcyJdOgotICAgICAgICBtb2R1bGVzID0gZXhwYW5kX3N1Ym1vZHVsZXNfcmVjdXJzZShtb2R1
bGVzLCBtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWUsIGNvbW1hbmQpCi0KLSAgICAgICAgaWYgbm90
IGlzaW5zdGFuY2UobW9kdWxlcywgbGlzdCk6Ci0gICAgICAgICAgICBtb2R1bGVzID0gW21vZHVs
ZXNdCi0KLSAgICAgICAgZm9yIG1vZHVsZSBpbiBtb2R1bGVzOgotICAgICAgICAgICAgZm9yIG92
ZXJyaWRlbl9tb2R1bGUgaW4gb3ZlcnJpZGVuX21vZHVsZXM6Ci0gICAgICAgICAgICAgICAgaWYg
bW9kdWxlWyduYW1lJ10gPT0gb3ZlcnJpZGVuX21vZHVsZVsnbmFtZSddOgotICAgICAgICAgICAg
ICAgICAgICBtb2R1bGUgPSBvdmVycmlkZW5fbW9kdWxlCi0gICAgICAgICAgICAgICAgICAgIG92
ZXJyaWRlbl9tb2R1bGVzLnJlbW92ZShtb2R1bGUpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFr
Ci0KLSAgICAgICAgICAgIGFsbF9tb2R1bGVzLmFwcGVuZChtb2R1bGUpCi0KLSAgICAjIEFuZCBh
ZGQgb3ZlcnJpZGVuIG1vZHVsZXMgcmlnaHQgYmVmb3JlIHRoZSB3ZWJraXQgcG9ydCBidWlsZCBk
ZWYuCi0gICAgZm9yIG92ZXJyaWRlbl9tb2R1bGUgaW4gb3ZlcnJpZGVuX21vZHVsZXM6Ci0gICAg
ICAgIGFsbF9tb2R1bGVzLmluc2VydCgtMSwgb3ZlcnJpZGVuX21vZHVsZSkKLQotICAgIG1hbmlm
ZXN0WyJtb2R1bGVzIl0gPSBhbGxfbW9kdWxlcwotICAgIGZvciBtb2R1bGUgaW4gbWFuaWZlc3Rb
Im1vZHVsZXMiXToKLSAgICAgICAgaWYgbm90IG1vZHVsZS5nZXQoInNvdXJjZXMiKToKLSAgICAg
ICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgaWYgbW9kdWxlWyJzb3VyY2VzIl1bMF1bInR5cGUi
XSA9PSAiZ2l0IjoKLSAgICAgICAgICAgIGlmIHBvcnRfbmFtZSA9PSBtb2R1bGVbIm5hbWUiXToK
LSAgICAgICAgICAgICAgICByZXBvID0gImZpbGU6Ly8iICsgc291cmNlX3Jvb3QKLSAgICAgICAg
ICAgICAgICBtb2R1bGVbInNvdXJjZXMiXVswXVsidXJsIl0gPSByZXBvCi0KLSAgICAgICAgZm9y
IHNvdXJjZSBpbiBtb2R1bGVbInNvdXJjZXMiXToKLSAgICAgICAgICAgIGlmIHNvdXJjZVsidHlw
ZSJdID09ICJwYXRjaCIgb3IgKHNvdXJjZVsidHlwZSJdID09ICJmaWxlIiBhbmQgc291cmNlLmdl
dCgncGF0aCcpKToKLSAgICAgICAgICAgICAgICBzb3VyY2VbInBhdGgiXSA9IG9zLnBhdGguam9p
bihvcy5wYXRoLmRpcm5hbWUobWFuaWZlc3RfcGF0aCksIHNvdXJjZVsicGF0aCJdKQotCi0gICAg
d2l0aCBvcGVuKG91dGZpbGUsICJ3IikgYXMgb2Y6Ci0gICAgICAgIG9mLndyaXRlKGpzb24uZHVt
cHMobWFuaWZlc3QsIGluZGVudD00KSkKLQotICAgIHJldHVybiBUcnVlCi0KLQogY2xhc3MgRmxh
dHBha09iamVjdDoKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB1c2VyKToKQEAgLTI4NCw3ICsx
NTQsNiBAQCBjbGFzcyBGbGF0cGFrUGFja2FnZXMoRmxhdHBha09iamVjdCk6CiAgICAgICAgIHNl
bGYuYXBwcyA9IHNlbGYuX19kZXRlY3RfYXBwcygpCiAgICAgICAgIHNlbGYucGFja2FnZXMgPSBz
ZWxmLnJ1bnRpbWVzICsgc2VsZi5hcHBzCiAKLQogICAgIGRlZiBfX2RldGVjdF9wYWNrYWdlcyhz
ZWxmLCAqYXJncyk6CiAgICAgICAgIHBhY2tzID0gW10KICAgICAgICAgaWYgRkxBVFBBS19WRVJT
SU9OWyJmbGF0cGFrIl0gPCAoMSwgMSwgMik6CkBAIC0zMTIsNyArMTgxLDYgQEAgY2xhc3MgRmxh
dHBha1BhY2thZ2VzKEZsYXRwYWtPYmplY3QpOgogCiAgICAgICAgIHJldHVybiBwYWNrcwogCi0K
ICAgICBkZWYgX19kZXRlY3RfcnVudGltZXMoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9f
ZGV0ZWN0X3BhY2thZ2VzKCItLXJ1bnRpbWUiKQogCkBAIC0zNjIsNyArMjMwLDcgQEAgY2xhc3Mg
RmxhdHBha1JlcG9zKEZsYXRwYWtPYmplY3QpOgogICAgICAgICAgICAgICAgICAgICBDb25zb2xl
Lm1lc3NhZ2UoIk5vIHZhbGlkIFVSSSBmb3VuZCBmb3I6ICVzIiwgcmVwbykKICAgICAgICAgICAg
ICAgICAgICAgY29udGludWUKIAotICAgICAgICAgICAgICAgIHNlbGYucmVwb3NbbmFtZV0gPSBG
bGF0cGFrUmVwbyhuYW1lLCB1cmwsIGRlc2MsIHJlcG9zPXNlbGYpCisgICAgICAgICAgICAgICAg
c2VsZi5yZXBvc1tuYW1lXSA9IEZsYXRwYWtSZXBvKG5hbWU9bmFtZSwgdXJsPXVybCwgZGVzYz1k
ZXNjLCByZXBvcz1zZWxmKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgb3V0ID0gc2VsZi5m
bGF0cGFrKCJyZW1vdGUtbGlzdCIsICItLWNvbHVtbnM9bmFtZSx0aXRsZSx1cmwiKQogICAgICAg
ICAgICAgcmVtb3RlcyA9IFtsaW5lIGZvciBsaW5lIGluIG91dC5zcGxpdCgiXG4iKSBpZiBsaW5l
XQpAQCAtMzczLDcgKzI0MSw3IEBAIGNsYXNzIEZsYXRwYWtSZXBvcyhGbGF0cGFrT2JqZWN0KToK
ICAgICAgICAgICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJObyB2YWxpZCBVUkkgZm91bmQg
Zm9yOiAlcyIsIHJlbW90ZSkKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKIAotICAgICAg
ICAgICAgICAgIHNlbGYucmVwb3NbbmFtZV0gPSBGbGF0cGFrUmVwbyhuYW1lLCB1cmwsIHRpdGxl
LCByZXBvcz1zZWxmKQorICAgICAgICAgICAgICAgIHNlbGYucmVwb3NbbmFtZV0gPSBGbGF0cGFr
UmVwbyhuYW1lPW5hbWUsIHVybD11cmwsIGRlc2M9dGl0bGUsIHJlcG9zPXNlbGYpCiAKICAgICAg
ICAgc2VsZi5wYWNrYWdlcyA9IEZsYXRwYWtQYWNrYWdlcyhzZWxmKQogCkBAIC00NDksOSArMzE3
LDEyIEBAIGNsYXNzIEZsYXRwYWtQYWNrYWdlKEZsYXRwYWtPYmplY3QpOgogICAgICAgICBzZWxm
LmFyY2ggPSBhcmNoCiAgICAgICAgIHNlbGYuaGFzaCA9IGhhc2gKIAotICAgIGRlZiBfX3N0cl9f
KHNlbGYpOgorICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAgICAgcmV0dXJuICIlcy8lcy8l
cyAlcyIgJSAoc2VsZi5uYW1lLCBzZWxmLmFyY2gsIHNlbGYuYnJhbmNoLCBzZWxmLnJlcG8ubmFt
ZSkKIAorICAgIGRlZiBfX3N0cl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gIiVzLyVzLyVzIiAl
IChzZWxmLm5hbWUsIHNlbGYuYXJjaCwgc2VsZi5icmFuY2gpCisKICAgICBkZWYgaXNfaW5zdGFs
bGVkKHNlbGYsIGJyYW5jaCk6CiAgICAgICAgIGlmIG5vdCBzZWxmLnJlcG86CiAgICAgICAgICAg
ICAjIEJ1bmRsZSBpbnN0YWxsZWQgZnJvbSBmaWxlCkBAIC00OTEsNyArMzYyLDcgQEAgY2xhc3Mg
RmxhdHBha1BhY2thZ2UoRmxhdHBha09iamVjdCk6CiAgICAgICAgIGV4dHJhX2FyZ3MuYXBwZW5k
KCItLWFzc3VtZXllcyIpCiAKICAgICAgICAgc2VsZi5mbGF0cGFrKCJ1cGRhdGUiLCBzZWxmLm5h
bWUsIHNlbGYuYnJhbmNoLCBzaG93X291dHB1dD1UcnVlLAotICAgICAgICAgICAgICAgICAgICAq
ZXh0cmFfYXJncywgY29tbWVudD1jb21tZW50KQorICAgICAgICAgICAgICAgICAgICAgKmV4dHJh
X2FyZ3MsIGNvbW1lbnQ9Y29tbWVudCkKIAogCiBAY29udGV4dG1hbmFnZXIKQEAgLTUxOSw1MSAr
MzkwLDUyIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3Vt
ZW50KCctLXZlcmJvc2UnLCBhY3Rpb249J3N0b3JlX3RydWUnLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBoZWxwPSdTaG93IGRlYnVnIG1lc3NhZ2UnKQogICAgICAgICBnZW5lcmFsLmFk
ZF9hcmd1bWVudCgiLS1kZWJ1ZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0i
Q29tcGlsZSB3aXRoIERlYnVnIGNvbmZpZ3VyYXRpb24sIGFsc28gaW5zdGFsbHMgU2RrIGRlYnVn
IHN5bWJvbGVzLiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90
cnVlIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iQ29tcGlsZSB3aXRoIERl
YnVnIGNvbmZpZ3VyYXRpb24sIGFsc28gaW5zdGFsbHMgU2RrIGRlYnVnIHN5bWJvbGVzLiIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIpCiAgICAgICAg
IGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLXJlbGVhc2UiLCBoZWxwPSJDb21waWxlIHdpdGggUmVs
ZWFzZSBjb25maWd1cmF0aW9uLiIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIpCiAgICAgICAgIGdlbmVy
YWwuYWRkX2FyZ3VtZW50KCctLXBsYXRmb3JtJywgYWN0aW9uPSdzdG9yZScsIGhlbHA9J1BsYXRm
b3JtIHRvIHVzZSAoZS5nLiwgIm1hYy1saW9uIiknKSwKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJn
dW1lbnQoJy0tZ3RrJywgYWN0aW9uPSdzdG9yZV9jb25zdCcsIGRlc3Q9J3BsYXRmb3JtJywgY29u
c3Q9J2d0aycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J0FsaWFzIGZvciAt
LXBsYXRmb3JtPWd0aycpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCctLXdwZScsIGFj
dGlvbj0nc3RvcmVfY29uc3QnLCBkZXN0PSdwbGF0Zm9ybScsIGNvbnN0PSd3cGUnLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhlbHA9KCdBbGlhcyBmb3IgLS1wbGF0Zm9ybT13cGUnKSkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0oJ0FsaWFzIGZvciAtLXBsYXRmb3Jt
PXdwZScpKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLW5mIiwgIi0tbm8tZmxhdHBh
ay11cGRhdGUiLCBkZXN0PSJub19mbGF0cGFrX3VwZGF0ZSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSJEbyBub3QgdXBkYXRlIGZsYXB0YWsgcnVudGltZS9zZGsiKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBoZWxwPSJEbyBub3QgdXBkYXRlIGZsYXB0YWsgcnVudGltZS9zZGsiKQogICAg
ICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLXUiLCAiLS11cGRhdGUiLCBkZXN0PSJ1cGRhdGUi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iVXBkYXRlIHRoZSBydW50aW1lL3Nkay9hcHAg
YW5kIHJlYnVpbGQgdGhlIGRldmVsb3BtZW50IGVudmlyb25tZW50IGlmIG5lZWRlZCIpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGhlbHA9IlVwZGF0ZSB0aGUgcnVudGltZS9zZGsvYXBwIGFuZCBy
ZWJ1aWxkIHRoZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCBpZiBuZWVkZWQiKQogICAgICAgICBn
ZW5lcmFsLmFkZF9hcmd1bWVudCgiLWIiLCAiLS1idWlsZC13ZWJraXQiLCBkZXN0PSJidWlsZF93
ZWJraXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRm9yY2UgcmVidWlsZGluZyB0aGUg
YXBwLiIpCi0gICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItYmEiLCAiLS1idWlsZC1hbGwi
LCBkZXN0PSJidWlsZF9hbGwiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0i
c3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRm9yY2UgcmVi
dWlsZGluZyB0aGUgYXBwIGFuZCBpdHMgZGVwZW5kZW5jaWVzLiIpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhlbHA9IkZvcmNlIHJlYnVpbGRpbmcgdGhlIGFwcC4iKQorICAgICAgICBnZW5lcmFs
LmFkZF9hcmd1bWVudCgiLWJnc3QiLCAiLS1idWlsZC1nc3QiLCBkZXN0PSJidWlsZF9nc3QiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJGb3JjZSByZWJ1aWxkaW5nIGdzdC1idWlsZCwg
cmVwb3NpdG9yeSBwYXRoIGlzIGRlZmluZWQgYnkgdGhlIGBHU1RfQlVJTERfUEFUSGAgZW52aXJv
bm1lbnQgdmFyaWFibGUuIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi1xIiwgIi0t
cXVpZXQiLCBkZXN0PSJxdWlldCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9u
PSJzdG9yZV90cnVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJEbyBub3Qg
cHJpbnQgYW55dGhpbmciKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0
b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJEbyBub3QgcHJp
bnQgYW55dGhpbmciKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLXQiLCAiLS10ZXN0
cyIsIGRlc3Q9InJ1bl90ZXN0cyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFyZ3M9
YXJncGFyc2UuUkVNQUlOREVSLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlJ1
biBMYXlvdXRUZXN0cyIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hcmdzPWFyZ3Bh
cnNlLlJFTUFJTkRFUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iUnVuIExh
eW91dFRlc3RzIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi1jIiwgIi0tY29tbWFu
ZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFyZ3M9YXJncGFyc2UuUkVNQUlOREVS
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlRoZSBjb21tYW5kIHRvIHJ1biBp
biB0aGUgc2FuZGJveCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdD0idXNlcl9j
b21tYW5kIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFyZ3M9YXJncGFyc2UuUkVN
QUlOREVSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJUaGUgY29tbWFuZCB0
byBydW4gaW4gdGhlIHNhbmRib3giLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0
PSJ1c2VyX2NvbW1hbmQiKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgnLS1hdmFpbGFi
bGUnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZXN0PSJjaGVja19hdmFpbGFibGUiLCBoZWxwPSdD
aGVjayBpZiByZXF1aXJlZCBkZXBlbmRlbmNpZXMgYXJlIGF2YWlsYWJsZS4nKSwKICAgICAgICAg
Z2VuZXJhbC5hZGRfYXJndW1lbnQoIi0tdXNlLWljZWNyZWFtIiwgaGVscD0iVXNlIHRoZSBkaXN0
cmlidXRlZCBpY2VjcmVhbSAoaWNlY2MpIGNvbXBpbGVyLiIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIp
Ci0gICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLXdwZS1leHRlbnNpb24iLCBhY3Rpb249
InN0b3JlIiwgZGVzdD0id3BlX2V4dGVuc2lvbiIsIGhlbHA9IldQRSBFeHRlbnNpb24gdG8gZW5h
YmxlIikKIAogICAgICAgICBkZWJ1Z29wdGlvbnMgPSBwYXJzZXIuYWRkX2FyZ3VtZW50X2dyb3Vw
KCJEZWJ1Z2dpbmciKQogICAgICAgICBkZWJ1Z29wdGlvbnMuYWRkX2FyZ3VtZW50KCItLWdkYiIs
IG5hcmdzPSI/IiwgaGVscD0iQWN0aXZhdGUgZ2RiLCBwYXNzaW5nIGV4dHJhIGFyZ3MgdG8gaXQg
aWYgd2FudGVkLiIpCisgICAgICAgIGRlYnVnb3B0aW9ucy5hZGRfYXJndW1lbnQoIi0tZ2RiLXN0
YWNrLXRyYWNlIiwgZGVzdD0iZ2RiX3N0YWNrX3RyYWNlIiwgbmFyZ3M9Ij8iLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkR1bXAgdGhlIHN0YWNrdHJhY2UgdG8gc3Rk
b3V0LiBUaGUgYXJndW1lbnQgaXMgYSB0aW1lc3RhbXAgdG8gYmUgcGFyc2VkIGJ5IGNvcmVkdW1w
Y3RsLiIpCiAgICAgICAgIGRlYnVnb3B0aW9ucy5hZGRfYXJndW1lbnQoIi1tIiwgIi0tY29yZWR1
bXBjdGwtbWF0Y2hlcyIsIGRlZmF1bHQ9IiIsIGhlbHA9J0FyZ3VtZW50cyB0byBwYXNzIHRvIGdk
Yi4nKQogCiAgICAgICAgIGJ1aWxkb3B0aW9ucyA9IHBhcnNlci5hZGRfYXJndW1lbnRfZ3JvdXAo
IkV4dHJhIGJ1aWxkIGFyZ3VtZW50cyIpCiAgICAgICAgIGJ1aWxkb3B0aW9ucy5hZGRfYXJndW1l
bnQoIi0tbWFrZWFyZ3MiLCBoZWxwPSJPcHRpb25hbCBNYWtlZmlsZSBmbGFncyIpCiAgICAgICAg
IGJ1aWxkb3B0aW9ucy5hZGRfYXJndW1lbnQoIi0tY21ha2VhcmdzIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaGVscD0iT25lIG9yIG1vcmUgb3B0aW9uYWwgQ01ha2UgZmxhZ3Mg
KGUuZy4gLS1jbWFrZWFyZ3M9XCItREZPTz1iYXIgLURDTUFLRV9QUkVGSVhfUEFUSD0vdXNyL2xv
Y2FsXCIpIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJPbmUgb3Ig
bW9yZSBvcHRpb25hbCBDTWFrZSBmbGFncyAoZS5nLiAtLWNtYWtlYXJncz1cIi1ERk9PPWJhciAt
RENNQUtFX1BSRUZJWF9QQVRIPS91c3IvbG9jYWxcIikiKQogCiAgICAgICAgIGdlbmVyYWwuYWRk
X2FyZ3VtZW50KCItLWNsZWFuIiwgZGVzdD0iY2xlYW4iLCBhY3Rpb249InN0b3JlX3RydWUiLAot
ICAgICAgICAgICAgaGVscD0iQ2xlYW4gcHJldmlvdXMgYnVpbGRzIGFuZCByZXN0YXJ0IGZyb20g
c2NyYXRjaCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkNsZWFuIHByZXZp
b3VzIGJ1aWxkcyBhbmQgcmVzdGFydCBmcm9tIHNjcmF0Y2giKQogCiAgICAgICAgIF8sIHNlbGYu
YXJncyA9IHBhcnNlci5wYXJzZV9rbm93bl9hcmdzKGFyZ3M9YXJncywgbmFtZXNwYWNlPXNlbGYp
CiAKQEAgLTU4Myw2ICs0NTUsNyBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICBzZWxm
LnVwZGF0ZSA9IEZhbHNlCiAgICAgICAgIHNlbGYuYXJncyA9IFtdCiAgICAgICAgIHNlbGYuZmlu
aXNoX2FyZ3MgPSBOb25lCisgICAgICAgIHNlbGYuZ2RiX3N0YWNrX3RyYWNlID0gRmFsc2UKIAog
ICAgICAgICBzZWxmLm5vX2ZsYXRwYWtfdXBkYXRlID0gRmFsc2UKICAgICAgICAgc2VsZi5yZWxl
YXNlID0gRmFsc2UKQEAgLTU5MCwxMyArNDYzLDE0IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAg
ICAgICAgIHNlbGYuY2xlYW4gPSBGYWxzZQogICAgICAgICBzZWxmLnJ1bl90ZXN0cyA9IE5vbmUK
ICAgICAgICAgc2VsZi5zb3VyY2Vfcm9vdCA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5hYnNw
YXRoKG9zLnBhdGguam9pbihzY3JpcHRkaXIsICcuLi8uLi8nKSkpCi0gICAgICAgICMgV2hlcmUg
dGhlIHNvdXJjZSBmb2xkZXIgaXMgbW91bnRlZCBpbnNpZGUgdGhlIHNhbmRib3guCisgICAgICAg
ICMgIyBXaGVyZSB0aGUgc291cmNlIGZvbGRlciBpcyBtb3VudGVkIGluc2lkZSB0aGUgc2FuZGJv
eC4KICAgICAgICAgc2VsZi5zYW5kYm94X3NvdXJjZV9yb290ID0gIi9hcHAvd2Via2l0IgogCiAg
ICAgICAgIHNlbGYuYnVpbGRfd2Via2l0ID0gRmFsc2UKKyAgICAgICAgc2VsZi5idWlsZF9nc3Qg
PSBGYWxzZQogICAgICAgICBzZWxmLmJ1aWxkX2FsbCA9IEZhbHNlCiAKLSAgICAgICAgc2VsZi5z
ZGtfYnJhbmNoID0gTm9uZQorICAgICAgICBzZWxmLnNka19icmFuY2ggPSAiMC4xIgogICAgICAg
ICBzZWxmLnBsYXRmb3JtID0gImd0ayIKICAgICAgICAgc2VsZi5idWlsZF90eXBlID0gIlJlbGVh
c2UiCiAgICAgICAgIHNlbGYubWFuaWZlc3RfcGF0aCA9IE5vbmUKQEAgLTYwNyw3ICs0ODEsNiBA
QCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICBzZWxmLmFwcF9tb2R1bGUgPSBOb25lCiAg
ICAgICAgIHNlbGYuZmxhdHBha19kZWZhdWx0X2FyZ3MgPSBbXQogICAgICAgICBzZWxmLmNoZWNr
X2F2YWlsYWJsZSA9IEZhbHNlCi0gICAgICAgIHNlbGYud3BlX2V4dGVuc2lvbiA9IE5vbmUKIAog
ICAgICAgICAjIERlZmF1bHQgYXBwbGljYXRpb24gdG8gcnVuIGluIHRoZSBzYW5kYm94CiAgICAg
ICAgIHNlbGYuY29tbWFuZCA9IE5vbmUKQEAgLTYyMSw5ICs0OTQsNiBAQCBjbGFzcyBXZWJraXRG
bGF0cGFrOgogICAgICAgICBzZWxmLmNtYWtlYXJncyA9ICIiCiAgICAgICAgIHNlbGYubWFrZWFy
Z3MgPSAiIgogCi0gICAgICAgIHNlbGYudXNlX2ljZWNyZWFtID0gRmFsc2UKLSAgICAgICAgc2Vs
Zi5pY2NfdmVyc2lvbiA9IE5vbmUKLQogICAgIGRlZiBjbGVhbl9hcmdzKHNlbGYpOgogICAgICAg
ICBvcy5lbnZpcm9uWyJGTEFUUEFLX1VTRVJfRElSIl0gPSBvcy5lbnZpcm9uLmdldCgiV0VCS0lU
X0ZMQVRQQUtfVVNFUl9ESVIiLCBvcy5wYXRoLnJlYWxwYXRoKG9zLnBhdGguam9pbihzY3JpcHRk
aXIsICIuLi8uLi9XZWJLaXRCdWlsZCIsICJVc2VyRmxhdHBhayIpKSkKICAgICAgICAgdHJ5OgpA
QCAtNjQ2LDMwICs1MTYsMTkgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgICAgIHNl
bGYuZ2RiID0gIiIKIAogICAgICAgICBzZWxmLmNvbW1hbmQgPSAiJXMgJXMgJXMiICUgKG9zLnBh
dGguam9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsCi0gICAgICAgICAgICAiVG9vbHMvU2Ny
aXB0cy9ydW4tbWluaWJyb3dzZXIiKSwKLSAgICAgICAgICAgICItLSIgKyBzZWxmLnBsYXRmb3Jt
Lmxvd2VyKCksCi0gICAgICAgICAgICAiIC0tZGVidWciIGlmIHNlbGYuZGVidWcgZWxzZSAiIC0t
cmVsZWFzZSIpCi0KLSAgICAgICAgc2VsZi5uYW1lID0gIm9yZy53ZWJraXQuJXMiICUgc2VsZi5w
bGF0Zm9ybQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiVG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXIiKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiLS0iICsgc2VsZi5wbGF0Zm9ybS5sb3dlcigpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgLS1kZWJ1ZyIgaWYgc2VsZi5kZWJ1ZyBlbHNl
ICIgLS1yZWxlYXNlIikKIAotICAgICAgICBpZiBzZWxmLndwZV9leHRlbnNpb246Ci0gICAgICAg
ICAgICBtYW5pZmVzdF9maWxlbmFtZSA9IFdQRV9NQU5JRkVTVF9NQVBbc2VsZi53cGVfZXh0ZW5z
aW9uXQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgbWFuaWZlc3RfZmlsZW5hbWUgPSAib3Jn
LndlYmtpdC5XZWJLaXQueWFtbCIKLSAgICAgICAgc2VsZi5tYW5pZmVzdF9wYXRoID0gb3MucGF0
aC5hYnNwYXRoKG9zLnBhdGguam9pbihzY3JpcHRkaXIsICcuLi9mbGF0cGFrLycpICsgbWFuaWZl
c3RfZmlsZW5hbWUpCi0KLSAgICAgICAgc2VsZi5idWlsZF9uYW1lID0gc2VsZi5uYW1lICsgIi1n
ZW5lcmF0ZWQiCisgICAgICAgIHNlbGYuZmxhdHBha19idWlsZF9wYXRoID0gb3MuZW52aXJvblsi
RkxBVFBBS19VU0VSX0RJUiJdCiAKICAgICAgICAgYnVpbGRfcm9vdCA9IG9zLnBhdGguam9pbihz
ZWxmLnNvdXJjZV9yb290LCAnV2ViS2l0QnVpbGQnKQotICAgICAgICBzZWxmLmZsYXRwYWtfYnVp
bGRfcGF0aCA9IG9zLnBhdGguam9pbihidWlsZF9yb290LCBzZWxmLnBsYXRmb3JtLCAiRmxhdHBh
a1RyZWUiICsgc2VsZi5idWlsZF90eXBlKQotICAgICAgICBzZWxmLmNhY2hlX3BhdGggPSBvcy5w
YXRoLmpvaW4oYnVpbGRfcm9vdCwgIkZsYXRwYWtDYWNoZSIpCiAgICAgICAgIHNlbGYuYnVpbGRf
cGF0aCA9IG9zLnBhdGguam9pbihidWlsZF9yb290LCBzZWxmLnBsYXRmb3JtLCBzZWxmLmJ1aWxk
X3R5cGUpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG9zLm1ha2VkaXJzKHNlbGYuYnVpbGRf
cGF0aCkKICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgIGlmIGUuZXJy
bm8gIT0gZXJybm8uRUVYSVNUOgogICAgICAgICAgICAgICAgIHJhaXNlIGUKLSAgICAgICAgc2Vs
Zi5jb25maWdfZmlsZSA9IG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3BhdGgsICd3ZWJraXRfZmxh
dHBha19jb25maWcuanNvbicpCiAKICAgICAgICAgQ29uc29sZS5xdWlldCA9IHNlbGYucXVpZXQK
ICAgICAgICAgaWYgbm90IGNoZWNrX2ZsYXRwYWsoKToKQEAgLTY3Nyw0NSArNTM2LDc2IEBAIGNs
YXNzIFdlYmtpdEZsYXRwYWs6CiAKICAgICAgICAgcmVwb3MgPSBGbGF0cGFrUmVwb3MoKQogICAg
ICAgICBzZWxmLnNka19yZXBvID0gcmVwb3MuYWRkKAotICAgICAgICAgICAgRmxhdHBha1JlcG8o
ImZsYXRodWIiLAotICAgICAgICAgICAgICAgICAgICAgICAgdXJsPSJodHRwczovL2RsLmZsYXRo
dWIub3JnL3JlcG8vIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlcG9fZmlsZT0iaHR0cHM6
Ly9kbC5mbGF0aHViLm9yZy9yZXBvL2ZsYXRodWIuZmxhdHBha3JlcG8iKSkKLQotICAgICAgICBt
YW5pZmVzdCA9IGxvYWRfbWFuaWZlc3Qoc2VsZi5tYW5pZmVzdF9wYXRoLCBwb3J0X25hbWU9c2Vs
Zi5uYW1lKQotICAgICAgICBpZiBub3QgbWFuaWZlc3Q6Ci0gICAgICAgICAgICByZXR1cm4gRmFs
c2UKKyAgICAgICAgICAgIEZsYXRwYWtSZXBvKCJ3ZWJraXQtc2RrIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHVybD0iaHR0cHM6Ly9zb2Z0d2FyZS5pZ2FsaWEuY29tL3dlYmtpdC1zZGstcmVw
by8iLAorICAgICAgICAgICAgICAgICAgICAgICAgcmVwb19maWxlPSJodHRwczovL3NvZnR3YXJl
LmlnYWxpYS5jb20vZmxhdHBhay1yZWZzL3dlYmtpdC1zZGsuZmxhdHBha3JlcG8iKQorICAgICAg
ICApCiAKLSAgICAgICAgc2VsZi5hcHAgPSBtYW5pZmVzdFsnYXBwLWlkJ10KLQotICAgICAgICBz
ZWxmLnNka19icmFuY2ggPSBtYW5pZmVzdFsicnVudGltZS12ZXJzaW9uIl0KLSAgICAgICAgc2Vs
Zi5maW5pc2hfYXJncyA9IG1hbmlmZXN0LmdldCgiZmluaXNoLWFyZ3MiLCBbXSkKLSAgICAgICAg
c2VsZi5maW5pc2hfYXJncyA9IHJlbW92ZV9leHRlbnNpb25fcG9pbnRzKHNlbGYuZmluaXNoX2Fy
Z3MpCi0gICAgICAgIHNlbGYucnVudGltZSA9IEZsYXRwYWtQYWNrYWdlKG1hbmlmZXN0WydydW50
aW1lJ10sIHNlbGYuc2RrX2JyYW5jaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGhhc2g9bWFuaWZlc3QuZ2V0KCJydW50aW1lLWhhc2giKSkKLSAgICAgICAg
c2VsZi5sb2NhbGUgPSBGbGF0cGFrUGFja2FnZShtYW5pZmVzdFsncnVudGltZSddICsgJy5Mb2Nh
bGUnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX2JyYW5j
aCwgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCi0gICAgICAgIHNlbGYuc2RrID0gRmxhdHBha1Bh
Y2thZ2UobWFuaWZlc3RbJ3NkayddLCBzZWxmLnNka19icmFuY2gsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaGFzaD1tYW5pZmVzdC5nZXQoInNkay1oYXNoIikpCisgICAg
ICAgIHNlbGYuZmluaXNoX2FyZ3MgPSBbXQorICAgICAgICBzZWxmLnJ1bnRpbWUgPSBGbGF0cGFr
UGFja2FnZSgib3JnLndlYmtpdC5QbGF0Zm9ybSIsIHNlbGYuc2RrX2JyYW5jaCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCisg
ICAgICAgIHNlbGYubG9jYWxlID0gRmxhdHBha1BhY2thZ2UoIm9yZy53ZWJraXQuUGxhdGZvcm0u
TG9jYWxlIiwgc2VsZi5zZGtfYnJhbmNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQiKQorICAgICAgICBzZWxmLnNkayA9IEZsYXRw
YWtQYWNrYWdlKCJvcmcud2Via2l0LlNkayIsICIwLjEiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQiKQogICAgICAgICBzZWxmLnBhY2tz
ID0gW3NlbGYucnVudGltZSwgc2VsZi5sb2NhbGUsIHNlbGYuc2RrXQogCisgICAgICAgICMgRklY
TUU6IEZvciB1bmtub3duIHJlYXNvbnMsIHRoZSBHTCBleHRlbnNpb24gbmVlZHMgdG8gYmUgZXhw
bGljaXRlbHkKKyAgICAgICAgIyBpbnN0YWxsZWQgZm9yIEZsYXRwYWsgMS4yLnggdG8gYmUgYWJs
ZSB0byBtYWtlIHVzZSBvZiBpdC4gU2VlbXMgbGlrZQorICAgICAgICAjIGl0J3Mgbm90IGNvcnJl
Y3RseSBpbmhlcml0aW5nIGl0IGZyb20gdGhlIFNESy4KKyAgICAgICAgc2VsZi5mbGF0aHViX3Jl
cG8gPSByZXBvcy5hZGQoCisgICAgICAgICAgICBGbGF0cGFrUmVwbygiZmxhdGh1YiIsIHJlcG9f
ZmlsZT0iaHR0cHM6Ly9kbC5mbGF0aHViLm9yZy9yZXBvL2ZsYXRodWIuZmxhdHBha3JlcG8iKQor
ICAgICAgICApCisgICAgICAgIHNlbGYuZ2xfZXh0ZW5zaW9uID0gRmxhdHBha1BhY2thZ2UoIm9y
Zy5mcmVlZGVza3RvcC5QbGF0Zm9ybS5HTC5kZWZhdWx0IiwgIjE5LjA4IiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmZsYXRodWJfcmVwbywgIng4Nl82
NCIpCisgICAgICAgIHNlbGYucGFja3MuYXBwZW5kKHNlbGYuZ2xfZXh0ZW5zaW9uKQorCiAgICAg
ICAgIGlmIHNlbGYuZGVidWc6Ci0gICAgICAgICAgICBzZWxmLnNka19kZWJ1ZyA9IEZsYXRwYWtQ
YWNrYWdlKG1hbmlmZXN0WydzZGsnXSArICcuRGVidWcnLCBzZWxmLnNka19icmFuY2gsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQi
KQorICAgICAgICAgICAgc2VsZi5zZGtfZGVidWcgPSBGbGF0cGFrUGFja2FnZSgnb3JnLndlYmtp
dC5TZGsuRGVidWcnLCBzZWxmLnNka19icmFuY2gsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQiKQogICAgICAgICAgICAg
c2VsZi5wYWNrcy5hcHBlbmQoc2VsZi5zZGtfZGVidWcpCi0gICAgICAgIHNlbGYubWFuaWZlc3Rf
Z2VuZXJhdGVkX3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5jYWNoZV9wYXRoLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYnVpbGRfbmFt
ZSArICIuanNvbiIpCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHdpdGggb3BlbihzZWxmLmNv
bmZpZ19maWxlKSBhcyBjb25maWc6Ci0gICAgICAgICAgICAgICAganNvbl9jb25maWcgPSBqc29u
LmxvYWQoY29uZmlnKQotICAgICAgICAgICAgICAgIHNlbGYuaWNjX3ZlcnNpb24gPSBqc29uX2Nv
bmZpZ1snaWNlY2NfdmVyc2lvbiddCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6Ci0gICAg
ICAgICAgICBwYXNzCiAKICAgICAgICAgcmV0dXJuIFRydWUKIAorICAgIGRlZiBzZXR1cF9idWls
ZGRpcihzZWxmLCAqKmt3YXJncyk6CisgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGgu
am9pbihzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCwgIm1ldGFkYXRhIikpOgorICAgICAgICAgICAg
cmV0dXJuCisKKyAgICAgICAgc2VsZi5zZGtfcmVwby5mbGF0cGFrKCJidWlsZC1pbml0IiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmxhdHBha19idWlsZF9wYXRoLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9yZy53ZWJraXQuV2Via2l0IiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN0cihzZWxmLnNkayksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzdHIoc2VsZi5ydW50aW1lKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNlbGYuc2RrLmJyYW5jaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3df
b3V0cHV0PSJzdGRvdXQiIGluIGt3YXJncy5rZXlzKCkpCisKKyAgICBkZWYgc2V0dXBfZ3N0YnVp
bGQoc2VsZiwgYnVpbGRpbmcpOgorICAgICAgICBnc3RfZGlyID0gb3MuZW52aXJvbi5nZXQoJ0dT
VF9CVUlMRF9QQVRIJykKKyAgICAgICAgaWYgbm90IGdzdF9kaXI6CisgICAgICAgICAgICByZXR1
cm4gW10KKworICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKGdzdF9k
aXIsICdnc3QtZW52LnB5JykpOgorICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdHU1Rf
QlVJTERfUEFUSCBzZXQgdG8gJXMgYnV0IGl0IGRvZXNuXCd0IHNlZW0gdG8gYmUgYSB2YWxpZCBg
Z3N0LWJ1aWxkYCBjaGVja291dC4nICUgZ3N0X2RpcikKKworICAgICAgICBnc3RfYnVpbGRkaXIg
PSBvcy5wYXRoLmpvaW4oc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCAiV2ViS2l0QnVpbGQiLCAn
Z3N0LWJ1aWxkJykKKyAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihz
ZWxmLnNvdXJjZV9yb290LCAnV2ViS2l0QnVpbGQnLCAnZ3N0LWJ1aWxkJywgJ2J1aWxkLm5pbmph
JykpOgorICAgICAgICAgICAgaWYgbm90IGJ1aWxkaW5nOgorICAgICAgICAgICAgICAgIHJhaXNl
IFJ1bnRpbWVFcnJvcignVHJ5aW5nIHRvIGVudGVyIGdzdC1idWlsZCBlbnYgZnJvbSAlcyBidXQg
aXQgaXMgbm90IGJ1aWx0LCBtYWtlIHN1cmUgdG8gcmVidWlsZCB3ZWJraXQuJyAlIGdzdF9kaXIp
CisKKyAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiUnVubmluZyBtZXNvbiBmb3IgYGdzdC1i
dWlsZGAgJXMgIiwgZ3N0X2RpcikKKyAgICAgICAgICAgIHNlbGYucnVuX2luX3NhbmRib3goJ21l
c29uJywgZ3N0X2RpciwgZ3N0X2J1aWxkZGlyLCBidWlsZGluZ19nc3Q9VHJ1ZSkKKworICAgICAg
ICBpZiBub3QgYnVpbGRpbmc6CisgICAgICAgICAgICByZXR1cm4gW10KKworICAgICAgICBDb25z
b2xlLm1lc3NhZ2UoIkJ1aWxkaW5nIGBnc3QtYnVpbGRgICVzICIsIGdzdF9kaXIpCisgICAgICAg
IGlmIHNlbGYucnVuX2luX3NhbmRib3goJ25pbmphJywgJy1DJywgZ3N0X2J1aWxkZGlyLCBidWls
ZGluZ19nc3Q9VHJ1ZSkgIT0gMDoKKyAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignRXJy
b3Igd2hpbGUgYnVpbGRpbmcgZ3N0LWJ1aWxkLicpCisKKyAgICAgICAgcmV0dXJuIFtvcy5wYXRo
LmpvaW4oZ3N0X2RpciwgJ2dzdC1lbnYucHknKSwgJy0tYnVpbGRkaXInLCBnc3RfYnVpbGRkaXIs
ICctLXNyY2RpcicsIGdzdF9kaXJdCisKICAgICBkZWYgcnVuX2luX3NhbmRib3goc2VsZiwgKmFy
Z3MsICoqa3dhcmdzKToKKyAgICAgICAgc2VsZi5zZXR1cF9idWlsZGRpcihzdGRvdXQ9a3dhcmdz
LmdldCgic3Rkb3V0Iiwgc3lzLnN0ZG91dCkpCiAgICAgICAgIGN3ZCA9IGt3YXJncy5wb3AoImN3
ZCIsIE5vbmUpCiAgICAgICAgIGV4dHJhX2Vudl92YXJzID0ga3dhcmdzLnBvcCgiZW52Iiwge30p
CiAgICAgICAgIHN0ZG91dCA9IGt3YXJncy5wb3AoInN0ZG91dCIsIHN5cy5zdGRvdXQpCkBAIC03
MjMsNiArNjEzLDcgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKIAogICAgICAgICBpZiBub3QgaXNp
bnN0YW5jZShhcmdzLCBsaXN0KToKICAgICAgICAgICAgIGFyZ3MgPSBsaXN0KGFyZ3MpCisKICAg
ICAgICAgaWYgYXJnczoKICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGFyZ3NbMF0pOgog
ICAgICAgICAgICAgICAgIGNvbW1hbmQgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguYWJzcGF0
aChhcmdzWzBdKSkKQEAgLTczMCw5NCArNjIxLDEwOSBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgog
ICAgICAgICAgICAgICAgIGFyZ3NbMF0gPSBjb21tYW5kLnJlcGxhY2Uoc2VsZi5zb3VyY2Vfcm9v
dCwgc2VsZi5zYW5kYm94X3NvdXJjZV9yb290KQogICAgICAgICAgICAgaWYgYXJnc1swXS5lbmRz
d2l0aCgiYnVpbGQtd2Via2l0Iik6CiAgICAgICAgICAgICAgICAgYXJncy5hcHBlbmQoIi0tcHJl
Zml4PS9hcHAiKQorICAgICAgICBidWlsZGluZyA9IG9zLnBhdGguYmFzZW5hbWUoYXJnc1swXSku
c3RhcnRzd2l0aCgiYnVpbGQiKQogCiAgICAgICAgIHNhbmRib3hfYnVpbGRfcGF0aCA9IG9zLnBh
dGguam9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsICJXZWJLaXRCdWlsZCIsIHNlbGYuYnVp
bGRfdHlwZSkKLSAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUobW9kZT0i
dyIpIGFzIHRtcHNjcmlwdDoKLSAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZCA9IFsiZmxhdHBh
ayIsICJidWlsZCIsICItLWRpZS13aXRoLXBhcmVudCIsCi0gICAgICAgICAgICAgICAgIi0tYmlu
ZC1tb3VudD0vcnVuL3NobT0vZGV2L3NobSIsCi0gICAgICAgICAgICAgICAgIyBXb3JrYXJvdW5k
IGZvciBodHRwczovL3dlYmtpdC5vcmcvYi8xODczODQgdG8gaGF2ZSBvdXIgb3duIHBlcmwgbW9k
dWxlcyB1c2FibGUgaW5zaWRlIHRoZSBzYW5kYm94Ci0gICAgICAgICAgICAgICAgIyBhcyBzZXR0
aW5nIHRoZSBQRVJMNUxJQiBlbnZ2YXIgd29uJ3Qgd29yayBpbnNpZGUgYXBhY2hlIChhbmQgZm9y
IHNjcmlwdHMgdXNpbmcgYHBlcmwgLVRgYCkuCi0gICAgICAgICAgICAgICAgIi0tYmluZC1tb3Vu
dD0vcnVuL2hvc3QvJXM9JXMiICUgKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwgdGVtcGZpbGUuZ2V0
dGVtcGRpcigpKSwKLSAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PSVzPSVzIiAlIChzZWxm
LnNhbmRib3hfc291cmNlX3Jvb3QsIHNlbGYuc291cmNlX3Jvb3QpLAorICAgICAgICBmbGF0cGFr
X2NvbW1hbmQgPSBbImZsYXRwYWsiLCAiYnVpbGQiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIi0tZGllLXdpdGgtcGFyZW50IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLXRh
bGstbmFtZT1vcmcuYTExeS5CdXMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tdGFs
ay1uYW1lPW9yZy5ndGsudmZzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLXRhbGst
bmFtZT1vcmcuZ3RrLnZmcy4qIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQt
bW91bnQ9L3J1bi9zaG09L2Rldi9zaG0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBX
b3JrYXJvdW5kIGZvciBodHRwczovL3dlYmtpdC5vcmcvYi8xODczODQgdG8gaGF2ZSBvdXIgb3du
IHBlcmwgbW9kdWxlcyB1c2FibGUgaW5zaWRlIHRoZSBzYW5kYm94CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAjIGFzIHNldHRpbmcgdGhlIFBFUkw1TElCIGVudnZhciB3b24ndCB3b3JrIGlu
c2lkZSBhcGFjaGUgKGFuZCBmb3Igc2NyaXB0cyB1c2luZyBgcGVybCAtVGBgKS4KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9L3J1bi9ob3N0LyVzPSVzIiAlICh0ZW1w
ZmlsZS5nZXR0ZW1wZGlyKCksIHRlbXBmaWxlLmdldHRlbXBkaXIoKSksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PSVzPSVzIiAlIChzZWxmLnNhbmRib3hfc291cmNl
X3Jvb3QsIHNlbGYuc291cmNlX3Jvb3QpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBX
ZSBtb3VudCBXZWJLaXRCdWlsZC9QT1JUTkFNRS9CdWlsZFR5cGUgdG8gL2FwcC93ZWJraXQvV2Vi
S2l0QnVpbGQvQnVpbGRUeXBlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHNvIHdlIGNh
biBidWlsZCBXUEUgYW5kIEdUSyBpbiBhIHNhbWUgc291cmNlIHRyZWUuCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PSVzPSVzIiAlIChzYW5kYm94X2J1aWxkX3BhdGgs
IHNlbGYuYnVpbGRfcGF0aCldCisKKyAgICAgICAgZm9yd2FyZGVkID0geworICAgICAgICAgICAg
IldFQktJVF9UT1BfTEVWRUwiOiAiL2FwcC8iLAorICAgICAgICAgICAgIlRFU1RfUlVOTkVSX0lO
SkVDVEVEX0JVTkRMRV9GSUxFTkFNRSI6IG9zLnBhdGguam9pbihzYW5kYm94X2J1aWxkX3BhdGgs
ICJsaWIvbGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLnNvIiksCisgICAgICAgICAgICAjICJJ
Q0VDQ19WRVJTSU9OIjogc2VsZi5pY2NfdmVyc2lvbiwKKyAgICAgICAgfQorCisgICAgICAgIGlm
IGFyZ3NbMF0uZmluZCgncnVuLXdlYmRyaXZlci10ZXN0cycpICE9IC0xOgorICAgICAgICAgICAg
ZmxhdHBha19jb21tYW5kLmV4dGVuZChbCisgICAgICAgICAgICAgICAgIi0tc29ja2V0PXN5c3Rl
bS1idXMiLAorICAgICAgICAgICAgICAgICItLXNvY2tldD1zZXNzaW9uLWJ1cyIsCisgICAgICAg
ICAgICAgICAgIi0tdGFsay1uYW1lPW9yZy53ZWJraXQuKiIKKyAgICAgICAgICAgIF0pCisKKyAg
ICAgICAgaWYgbm90IGJ1aWxkaW5nOgorICAgICAgICAgICAgZmxhdHBha19jb21tYW5kLmV4dGVu
ZChbCiAgICAgICAgICAgICAgICAgIi0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cyIsCi0gICAgICAg
ICAgICAgICAgIi0tdGFsay1uYW1lPW9yZy5ndGsudmZzIiwKLSAgICAgICAgICAgICAgICAiLS10
YWxrLW5hbWU9b3JnLmd0ay52ZnMuKiIsCi0gICAgICAgICAgICAgICAgIyBXZSBtb3VudCBXZWJL
aXRCdWlsZC9QT1JUTkFNRS9CdWlsZFR5cGUgdG8gL2FwcC93ZWJraXQvV2ViS2l0QnVpbGQvQnVp
bGRUeXBlCi0gICAgICAgICAgICAgICAgIyBzbyB3ZSBjYW4gYnVpbGQgV1BFIGFuZCBHVEsgaW4g
YSBzYW1lIHNvdXJjZSB0cmVlLgotICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9JXM9JXMi
ICUgKHNhbmRib3hfYnVpbGRfcGF0aCwgc2VsZi5idWlsZF9wYXRoKV0KLQotICAgICAgICAgICAg
Zm9yd2FyZGVkID0gewotICAgICAgICAgICAgICAgICJXRUJLSVRfVE9QX0xFVkVMIjogIi9hcHAv
IiwKLSAgICAgICAgICAgICAgICAiVEVTVF9SVU5ORVJfSU5KRUNURURfQlVORExFX0ZJTEVOQU1F
IjogIi9hcHAvd2Via2l0L2xpYi9saWJUZXN0UnVubmVySW5qZWN0ZWRCdW5kbGUuc28iLAotICAg
ICAgICAgICAgICAgICJJQ0VDQ19WRVJTSU9OIjogc2VsZi5pY2NfdmVyc2lvbiwKLSAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgZW52X3Zhcl9wcmVmaXhlc190b19rZWVwID0gWwotICAgICAg
ICAgICAgICAgICJHU1QiLAotICAgICAgICAgICAgICAgICJHVEsiLAotICAgICAgICAgICAgICAg
ICJHIiwKLSAgICAgICAgICAgICAgICAiSlNDIiwKLSAgICAgICAgICAgICAgICAiV0VCS0lUIiwK
LSAgICAgICAgICAgICAgICAiV0VCS0lUMiIsCi0gICAgICAgICAgICAgICAgIldQRSIsCi0gICAg
ICAgICAgICAgICAgIkdJR0FDQUdFIiwKLSAgICAgICAgICAgIF0KLQotICAgICAgICAgICAgZW52
X3ZhcnNfdG9fa2VlcCA9IFsKLSAgICAgICAgICAgICAgICAiSmF2YVNjcmlwdENvcmVVc2VKSVQi
LAotICAgICAgICAgICAgICAgICJNYWxsb2MiLAotICAgICAgICAgICAgICAgICJXQVlMQU5EX0RJ
U1BMQVkiLAotICAgICAgICAgICAgICAgICJXQVlMQU5EX1NPQ0tFVCIsCi0gICAgICAgICAgICAg
ICAgIkRJU1BMQVkiLAotICAgICAgICAgICAgICAgICJMQU5HIiwKLSAgICAgICAgICAgICAgICAi
TlVNQkVSX09GX1BST0NFU1NPUlMiLAotICAgICAgICAgICAgICAgICJDQ0FDSEVfUFJFRklYIiwK
LSAgICAgICAgICAgICAgICAiUU1MMl9JTVBPUlRfUEFUSCIsCi0gICAgICAgICAgICBdCi0KLSAg
ICAgICAgICAgIGlmIHNlbGYudXNlX2ljZWNyZWFtOgotICAgICAgICAgICAgICAgIF9sb2cuZGVi
dWcoJ0VuYWJsaW5nIHRoZSBpY2VjcmVhbSBjb21waWxlcicpCi0gICAgICAgICAgICAgICAgZm9y
d2FyZGVkWyJDQ0FDSEVfUFJFRklYIl0gPSAiaWNlY2MiCi0gICAgICAgICAgICAgICAgaWYgbm90
IG9zLmVudmlyb24uZ2V0KCdOVU1CRVJfT0ZfUFJPQ0VTU09SUycpOgotICAgICAgICAgICAgICAg
ICAgICBuX2NvcmVzID0gbXVsdGlwcm9jZXNzaW5nLmNwdV9jb3VudCgpICogMwotICAgICAgICAg
ICAgICAgICAgICBfbG9nLmRlYnVnKCdGb2xsb3cgaWNlY3JlYW0gcmVjb21tZW5kYXRpb24gZm9y
IHRoZSBudW1iZXIgb2YgY29yZXMgdG8gdXNlOiAlZCcgJSBuX2NvcmVzKQotICAgICAgICAgICAg
ICAgICAgICBmb3J3YXJkZWRbIk5VTUJFUl9PRl9QUk9DRVNTT1JTIl0gPSBuX2NvcmVzCi0KLSAg
ICAgICAgICAgIGVudl92YXJzID0gb3MuZW52aXJvbgotICAgICAgICAgICAgZW52X3ZhcnMudXBk
YXRlKGV4dHJhX2Vudl92YXJzKQotICAgICAgICAgICAgZm9yIGVudnZhciwgdmFsdWUgaW4gZW52
X3ZhcnMuaXRlbXMoKToKLSAgICAgICAgICAgICAgICBpZiBlbnZ2YXIuc3BsaXQoIl8iKVswXSBp
biBlbnZfdmFyX3ByZWZpeGVzX3RvX2tlZXAgb3IgZW52dmFyIGluIGVudl92YXJzX3RvX2tlZXA6
Ci0gICAgICAgICAgICAgICAgICAgIGZvcndhcmRlZFtlbnZ2YXJdID0gdmFsdWUKLQotICAgICAg
ICAgICAgZm9yIGVudnZhciwgdmFsdWUgaW4gZm9yd2FyZGVkLml0ZW1zKCk6Ci0gICAgICAgICAg
ICAgICAgZmxhdHBha19jb21tYW5kLmFwcGVuZCgiLS1lbnY9JXM9JXMiICUgKGVudnZhciwgdmFs
dWUpKQotCi0gICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQgKz0gc2VsZi5maW5pc2hfYXJncyAr
IGV4dHJhX2ZsYXRwYWtfYXJncyArIFtzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aF0KLQotICAgICAg
ICAgICAgc2hlbGxfc3RyaW5nID0gIiIKLSAgICAgICAgICAgIGlmIGFyZ3M6Ci0gICAgICAgICAg
ICAgICAgaWYgY3dkOgotICAgICAgICAgICAgICAgICAgICBzaGVsbF9zdHJpbmcgPSAnY2QgIiVz
IiAmJiAiJXMiJyAlIChjd2QsICciICInLmpvaW4oYXJncykpCi0gICAgICAgICAgICAgICAgZWxz
ZToKLSAgICAgICAgICAgICAgICAgICAgc2hlbGxfc3RyaW5nID0gJyIlcyInICUgKCciICInLmpv
aW4oYXJncykpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHNoZWxsX3N0cmlu
ZyA9IHNlbGYuY29tbWFuZAotICAgICAgICAgICAgICAgIGlmIHNlbGYuYXJnczoKLSAgICAgICAg
ICAgICAgICAgICAgc2hlbGxfc3RyaW5nICs9ICcgIiVzIicgJSAnIiAiJy5qb2luKHNlbGYuYXJn
cykKLQotICAgICAgICAgICAgdG1wc2NyaXB0LndyaXRlKHNoZWxsX3N0cmluZykKLSAgICAgICAg
ICAgIHRtcHNjcmlwdC5mbHVzaCgpCi0KLSAgICAgICAgICAgIF9sb2cuZGVidWcoJ1J1bm5pbmcg
aW4gc2FuZGJveDogIiVzIiAlc1xuJyAlICgnIiAiJy5qb2luKGZsYXRwYWtfY29tbWFuZCksIHNo
ZWxsX3N0cmluZykpCi0gICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQuZXh0ZW5kKFsnc2gnLCAi
L3J1bi9ob3N0LyIgKyB0bXBzY3JpcHQubmFtZV0pCisgICAgICAgICAgICAgICAgIi0tc29ja2V0
PXdheWxhbmQiLAorICAgICAgICAgICAgICAgICItLXNvY2tldD1wdWxzZWF1ZGlvIiwKKyAgICAg
ICAgICAgICAgICAiLS1zb2NrZXQ9eDExIiwKKyAgICAgICAgICAgICAgICAiLS1zb2NrZXQ9d2F5
bGFuZCIsCisgICAgICAgICAgICAgICAgIi0tc29ja2V0PXN5c3RlbS1idXMiLAorICAgICAgICAg
ICAgICAgICItLXNvY2tldD1wdWxzZWF1ZGlvIiwKKyAgICAgICAgICAgICAgICAiLS1kZXZpY2U9
ZHJpIiwKKyAgICAgICAgICAgICAgICAiLS1kZXZpY2U9YWxsIiwKKyAgICAgICAgICAgICAgICAi
LS1zaGFyZT1pcGMiLAorICAgICAgICAgICAgICAgICItLXNoYXJlPW5ldHdvcmsiLAorICAgICAg
ICAgICAgICAgICItLXN5c3RlbS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkdlb0NsdWUyIiwK
KyAgICAgICAgICAgICAgICAiLS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cyIsCisgICAg
ICAgICAgICAgICAgIi0tZmlsZXN5c3RlbT1ob3N0IiwKKyAgICAgICAgICAgICAgICAiLS10YWxr
LW5hbWU9b3JnLmZyZWVkZXNrdG9wLkZsYXRwYWsiCisgICAgICAgICAgICBdKQorCisgICAgICAg
ICAgICBmb3J3YXJkZWQudXBkYXRlKHsKKyAgICAgICAgICAgICAgICAiVFoiOiAiUFNUOFBEVCIs
CisgICAgICAgICAgICAgICAgIkxBTkciOiAiZW5fVVMuVVRGLTgiCisgICAgICAgICAgICB9KQor
ICAgICAgICBlbHNlOgorICAgICAgICAgICAgYXJncy5hcHBlbmQoIi0tcHJlZml4PS9hcHAiKQor
CisgICAgICAgIGVudl92YXJfcHJlZml4ZXNfdG9fa2VlcCA9IFsKKyAgICAgICAgICAgICJHU1Qi
LAorICAgICAgICAgICAgIkdUSyIsCisgICAgICAgICAgICAiRyIsCisgICAgICAgICAgICAiSlND
IiwKKyAgICAgICAgICAgICJXRUJLSVQiLAorICAgICAgICAgICAgIldFQktJVDIiLAorICAgICAg
ICAgICAgIldQRSIsCisgICAgICAgICAgICAiR0lHQUNBR0UiLAorICAgICAgICBdCisKKyAgICAg
ICAgZW52X3ZhcnNfdG9fa2VlcCA9IFsKKyAgICAgICAgICAgICJKYXZhU2NyaXB0Q29yZVVzZUpJ
VCIsCisgICAgICAgICAgICAiTWFsbG9jIiwKKyAgICAgICAgICAgICJXQVlMQU5EX0RJU1BMQVki
LAorICAgICAgICAgICAgIldBWUxBTkRfU09DS0VUIiwKKyAgICAgICAgICAgICJESVNQTEFZIiwK
KyAgICAgICAgICAgICJMQU5HIiwKKyAgICAgICAgICAgICJOVU1CRVJfT0ZfUFJPQ0VTU09SUyIs
CisgICAgICAgICAgICAiQ0NBQ0hFX1BSRUZJWCIsCisgICAgICAgICAgICAiUU1MMl9JTVBPUlRf
UEFUSCIsCisgICAgICAgIF0KKworICAgICAgICBlbnZfdmFycyA9IG9zLmVudmlyb24KKyAgICAg
ICAgZW52X3ZhcnMudXBkYXRlKGV4dHJhX2Vudl92YXJzKQorICAgICAgICBmb3IgZW52dmFyLCB2
YWx1ZSBpbiBlbnZfdmFycy5pdGVtcygpOgorICAgICAgICAgICAgaWYgZW52dmFyLnNwbGl0KCJf
IilbMF0gaW4gZW52X3Zhcl9wcmVmaXhlc190b19rZWVwIG9yIGVudnZhciBpbiBlbnZfdmFyc190
b19rZWVwOgorICAgICAgICAgICAgICAgIGZvcndhcmRlZFtlbnZ2YXJdID0gdmFsdWUKKworICAg
ICAgICBmb3IgZW52dmFyLCB2YWx1ZSBpbiBmb3J3YXJkZWQuaXRlbXMoKToKKyAgICAgICAgICAg
IGZsYXRwYWtfY29tbWFuZC5hcHBlbmQoIi0tZW52PSVzPSVzIiAlIChlbnZ2YXIsIHZhbHVlKSkK
KworICAgICAgICBnc3RfZW52ID0gW10KKyAgICAgICAgaWYgbm90IGt3YXJncy5nZXQoJ2J1aWxk
aW5nX2dzdCcpOgorICAgICAgICAgICAgZ3N0X2VudiA9IHNlbGYuc2V0dXBfZ3N0YnVpbGQoYnVp
bGRpbmcpCisgICAgICAgIGZsYXRwYWtfY29tbWFuZCArPSBzZWxmLmZpbmlzaF9hcmdzICsgZXh0
cmFfZmxhdHBha19hcmdzICsgXAorICAgICAgICAgICAgW3NlbGYuZmxhdHBha19idWlsZF9wYXRo
XSArIGdzdF9lbnYgKyBhcmdzCisKKyAgICAgICAgX2xvZy5kZWJ1ZygnUnVubmluZyBpbiBzYW5k
Ym94OiAlc1xuJyAlICcgJy5qb2luKGZsYXRwYWtfY29tbWFuZCkpCiAKLSAgICAgICAgICAgIHRy
eToKLSAgICAgICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoZmxhdHBha19jb21tYW5k
LCBzdGRvdXQ9c3Rkb3V0KQotICAgICAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJv
Y2Vzc0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZShzdHIoZSkg
KyAiXG4iKQotICAgICAgICAgICAgICAgIHJldHVybiBlLnJldHVybmNvZGUKLSAgICAgICAgICAg
IGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoKLSAgICAgICAgICAgICAgICByZXR1cm4gMAorICAg
ICAgICB0cnk6CisgICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoZmxhdHBha19jb21t
YW5kLCBzdGRvdXQ9c3Rkb3V0KQorICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9j
ZXNzRXJyb3IgYXMgZToKKyAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoc3RyKGUpICsgIlxu
IikKKyAgICAgICAgICAgIHJldHVybiBlLnJldHVybmNvZGUKKyAgICAgICAgZXhjZXB0IEtleWJv
YXJkSW50ZXJydXB0OgorICAgICAgICAgICAgcmV0dXJuIDAKIAogICAgICAgICByZXR1cm4gMAog
CkBAIC04MzUsNjQgKzc0MSwyOSBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICAgICAg
ICAgIHNodXRpbC5ybXRyZWUoc2VsZi5idWlsZF9wYXRoKQogCiAgICAgICAgIGlmIHNlbGYudXBk
YXRlOgotICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJVcGRhdGluZyBGbGF0cGFrIGVudmly
b25tZW50IGZvciAlcyAoJXMpIiAlICgKLSAgICAgICAgICAgICAgICBzZWxmLnBsYXRmb3JtLCBz
ZWxmLmJ1aWxkX3R5cGUpKQorICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJVcGRhdGluZyBG
bGF0cGFrICVzIGVudmlyb25tZW50IiAlIHNlbGYuYnVpbGRfdHlwZSkKICAgICAgICAgICAgIGlm
IG5vdCBzZWxmLm5vX2ZsYXRwYWtfdXBkYXRlOgogICAgICAgICAgICAgICAgIHNlbGYudXBkYXRl
X2FsbCgpCiAKICAgICAgICAgcmV0dXJuIHNlbGYuc2V0dXBfZGV2X2VudigpCiAKICAgICBkZWYg
aGFzX2Vudmlyb25tZW50KHNlbGYpOgotICAgICAgICByZXR1cm4gb3MucGF0aC5leGlzdHMob3Mu
cGF0aC5qb2luKHNlbGYuYnVpbGRfcGF0aCwgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgpKQorICAg
ICAgICByZXR1cm4gb3MucGF0aC5leGlzdHMoc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgpCiAKICAg
ICBkZWYgc2F2ZV9jb25maWcoc2VsZik6Ci0gICAgICAgIHdpdGggb3BlbihzZWxmLmNvbmZpZ19m
aWxlLCAndycpIGFzIGNvbmZpZzoKLSAgICAgICAgICAgIGpzb25fY29uZmlnID0geydpY2VjY192
ZXJzaW9uJzogc2VsZi5pY2NfdmVyc2lvbn0KLSAgICAgICAgICAgIGpzb24uZHVtcChqc29uX2Nv
bmZpZywgY29uZmlnKQotCi0gICAgZGVmIHNldHVwX2NjYWNoZShzZWxmKToKLSAgICAgICAgZm9y
IGNvbXBpbGVyIGluIFsiYysrIiwgImNjIiwgImNsYW5nIiwgImNsYW5nKysiLCAiZysrIiwgImdj
YyJdOgotICAgICAgICAgICAgc2VsZi5ydW5faW5fc2FuZGJveCgibG4iLCAiLXMiLCAiLi4vLi4v
dXNyL2Jpbi9jY2FjaGUiLCBjb21waWxlciwgY3dkPSIvYXBwL2JpbiIpCi0KLSAgICBkZWYgc2V0
dXBfaWNlY2Moc2VsZik6Ci0gICAgICAgIHdpdGggdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxl
KCkgYXMgdG1wZmlsZToKLSAgICAgICAgICAgIHNlbGYucnVuX2luX3NhbmRib3goJ2ljZWNjJywg
Jy0tYnVpbGQtbmF0aXZlJywgc3Rkb3V0PXRtcGZpbGUsIGN3ZD1zZWxmLmJ1aWxkX3BhdGgpCi0g
ICAgICAgICAgICB0bXBmaWxlLmZsdXNoKCkKLSAgICAgICAgICAgIHRtcGZpbGUuc2VlaygwKQot
ICAgICAgICAgICAgaWNjX3ZlcnNpb25fZmlsZW5hbWUsID0gcmUuZmluZGFsbChyJy4qY3JlYXRp
bmcgKC4qKScsIHRtcGZpbGUucmVhZCgpKQotICAgICAgICAgICAgc2VsZi5pY2NfdmVyc2lvbiA9
IG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3BhdGgsIGljY192ZXJzaW9uX2ZpbGVuYW1lKQorICAg
ICAgICBwYXNzCiAKICAgICBkZWYgc2V0dXBfZGV2X2VudihzZWxmKToKLSAgICAgICAgaWYgbm90
IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3BhdGgsIHNlbGYuZmxhdHBh
a19idWlsZF9wYXRoKSkgXAotICAgICAgICAgICAgICAgIG9yIHNlbGYudXBkYXRlIG9yIHNlbGYu
YnVpbGRfYWxsOgorICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNl
bGYuZmxhdHBha19idWlsZF9wYXRoLCAicnVudGltZSIsICJvcmcud2Via2l0LlNkayIpKSBvciBz
ZWxmLnVwZGF0ZSBvciBzZWxmLmJ1aWxkX2FsbDoKICAgICAgICAgICAgIHNlbGYuaW5zdGFsbF9h
bGwoKQotICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJCdWlsZGluZyAlcyBhbmQgZGVwZW5k
ZW5jaWVzIGluICVzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm5hbWUsIHNl
bGYuZmxhdHBha19idWlsZF9wYXRoKQotCi0gICAgICAgICAgICAjIENyZWF0ZSBlbnZpcm9ubWVu
dCBkaXJzIGlmIG5lY2Vzc2FyeQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIG9z
Lm1ha2VkaXJzKG9zLnBhdGguZGlybmFtZShzZWxmLm1hbmlmZXN0X2dlbmVyYXRlZF9wYXRoKSkK
LSAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgaWYgZS5l
cnJubyAhPSBlcnJuby5FRVhJU1Q6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIGUKLSAgICAg
ICAgICAgIGlmIG5vdCBleHBhbmRfbWFuaWZlc3Qoc2VsZi5tYW5pZmVzdF9wYXRoLCBzZWxmLm1h
bmlmZXN0X2dlbmVyYXRlZF9wYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzZWxmLm5hbWUsIHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgc2VsZi5jb21tYW5kKToKLSAg
ICAgICAgICAgICAgICByZXR1cm4gMQotCi0gICAgICAgICAgICBidWlsZGVyX2FyZ3MgPSBbImZs
YXRwYWstYnVpbGRlciIsICItLWRpc2FibGUtcm9maWxlcy1mdXNlIiwgIi0tc3RhdGUtZGlyIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmNhY2hlX3BhdGgsICItLWNjYWNoZSIs
IHNlbGYuZmxhdHBha19idWlsZF9wYXRoLCAiLS1mb3JjZS1jbGVhbiIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2VsZi5tYW5pZmVzdF9nZW5lcmF0ZWRfcGF0aF0KLSAgICAgICAgICAg
IGJ1aWxkZXJfYXJncy5hcHBlbmQoIi0tYnVpbGQtb25seSIpCi0gICAgICAgICAgICBidWlsZGVy
X2FyZ3MuYXBwZW5kKCItLXN0b3AtYXQ9JXMiICUgc2VsZi5hcHApCi0KLSAgICAgICAgICAgIHN1
YnByb2Nlc3MuY2hlY2tfY2FsbChidWlsZGVyX2FyZ3MpCi0gICAgICAgICAgICBzZWxmLnNldHVw
X2NjYWNoZSgpCi0gICAgICAgICAgICBzZWxmLnNldHVwX2ljZWNjKCkKLSAgICAgICAgICAgIHNl
bGYuc2F2ZV9jb25maWcoKQogCiAgICAgICAgIGJ1aWxkX3R5cGUgPSAiLS1kZWJ1ZyIgaWYgc2Vs
Zi5kZWJ1ZyBlbHNlICItLXJlbGVhc2UiCisgICAgICAgIGlmIHNlbGYuYnVpbGRfZ3N0OgorICAg
ICAgICAgICAgc2VsZi5zZXR1cF9nc3RidWlsZChUcnVlKQorCiAgICAgICAgIGlmIHNlbGYuYnVp
bGRfd2Via2l0OgotICAgICAgICAgICAgYnVpbGRlciA9IFtvcy5wYXRoLmpvaW4oc2VsZi5zYW5k
Ym94X3NvdXJjZV9yb290LCAnVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQnKSwKKyAgICAgICAg
ICAgIGJ1aWxkZXIgPSBbCisgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKHNlbGYuc2FuZGJv
eF9zb3VyY2Vfcm9vdCwgJ1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0JyksCiAgICAgICAgICAg
ICAgICAgYnVpbGRfdHlwZSwgJy0tJyArIHNlbGYucGxhdGZvcm0ubG93ZXIoKV0KICAgICAgICAg
ICAgIGlmIHNlbGYubWFrZWFyZ3M6CiAgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoIi0t
bWFrZWFyZ3M9JXMiICUgc2VsZi5tYWtlYXJncykKQEAgLTkwMywyMyArNzc0LDIyIEBAIGNsYXNz
IFdlYmtpdEZsYXRwYWs6CiAKICAgICAgICAgICAgIGlmIHJlczoKICAgICAgICAgICAgICAgICBy
ZXR1cm4gcmVzCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIlVz
aW5nICVzIHByZWZpeCBpbiAlcyIsIHNlbGYubmFtZSwgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgp
CiAKICAgICAgICAgaWYgc2VsZi5ydW5fdGVzdHMgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICB0
ZXN0X2xhdW5jaGVyID0gW29zLnBhdGguam9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsICdU
b29scy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMnKSwKLSAgICAgICAgICAgICAgICBidWlsZF90
eXBlLCAnLS0nICsgc2VsZi5wbGF0Zm9ybS5sb3dlcigpXSArIHNlbGYucnVuX3Rlc3RzCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkX3R5cGUsICctLScgKyBzZWxmLnBsYXRmb3Jt
Lmxvd2VyKCldICsgc2VsZi5ydW5fdGVzdHMKICAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1bl9p
bl9zYW5kYm94KCp0ZXN0X2xhdW5jaGVyKQotICAgICAgICBlbGlmIHNlbGYuZ2RiIGlzIG5vdCBO
b25lOgorICAgICAgICBlbGlmIHNlbGYuZ2RiIG9yIHNlbGYuZ2RiX3N0YWNrX3RyYWNlOgogICAg
ICAgICAgICAgcmV0dXJuIHNlbGYucnVuX2dkYigpCiAgICAgICAgIGVsaWYgc2VsZi51c2VyX2Nv
bW1hbmQ6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5faW5fc2FuZGJveCgqc2VsZi51c2Vy
X2NvbW1hbmQpCi0gICAgICAgIGVsaWYgbm90IHNlbGYudXBkYXRlIGFuZCBub3Qgc2VsZi5idWls
ZF93ZWJraXQ6CisgICAgICAgIGVsaWYgbm90IHNlbGYudXBkYXRlIGFuZCBub3Qgc2VsZi5idWls
ZF93ZWJraXQgYW5kIG5vdCBzZWxmLmJ1aWxkX2dzdDoKICAgICAgICAgICAgIHJldHVybiBzZWxm
LnJ1bl9pbl9zYW5kYm94KCkKIAogICAgICAgICByZXR1cm4gMAogCiAgICAgZGVmIGluc3RhbGxf
YWxsKHNlbGYpOgorICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIkluc3RhbGxpbmcgJXMgZGVwZW5k
ZW5jaWVzIGluICVzIiwgc2VsZi5idWlsZF90eXBlLCBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkK
ICAgICAgICAgZm9yIHBhY2thZ2UgaW4gc2VsZi5wYWNrczoKICAgICAgICAgICAgIGlmIG5vdCBw
YWNrYWdlLmlzX2luc3RhbGxlZChzZWxmLnNka19icmFuY2gpOgogICAgICAgICAgICAgICAgIHBh
Y2thZ2UuaW5zdGFsbCgpCkBAIC05MzUsMTkgKzgwNSwzMiBAQCBjbGFzcyBXZWJraXRGbGF0cGFr
OgogICAgICAgICAjIFdlIG5lZWQgYWNjZXNzIHRvIHRoZSBob3N0IGZyb20gdGhlIHNhbmRib3gg
dG8gcnVuLgogICAgICAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZSgpIGFzIGNv
cmVkdW1wOgogICAgICAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBh
cyBzdGRlcnI6Ci0gICAgICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKFsiY29yZWR1
bXBjdGwiLCAiZHVtcCJdICsgc2hsZXguc3BsaXQoc2VsZi5jb3JlZHVtcGN0bF9tYXRjaGVzKSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PWNvcmVkdW1wLCBz
dGRlcnI9c3RkZXJyKQorICAgICAgICAgICAgICAgIGlmIHNlbGYuZ2RiX3N0YWNrX3RyYWNlOgor
ICAgICAgICAgICAgICAgICAgICAjCisgICAgICAgICAgICAgICAgICAgIGNtZCA9IFsiY29yZWR1
bXBjdGwiLCAiLS1zaW5jZT0lcyIgJSBzZWxmLmdkYl9zdGFja190cmFjZSwgImR1bXAiXQorICAg
ICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGNtZCA9IFsiY29yZWR1bXBj
dGwiLCAiZHVtcCJdICsgc2hsZXguc3BsaXQoc2VsZi5jb3JlZHVtcGN0bF9tYXRjaGVzKQorICAg
ICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19j
YWxsKGNtZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91
dD1jb3JlZHVtcCwgc3RkZXJyPXN0ZGVycikKKyAgICAgICAgICAgICAgICBleGNlcHQgc3VicHJv
Y2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IsIGVycjoKKyAgICAgICAgICAgICAgICAgICAgd2l0aCBv
cGVuKHN0ZGVyci5uYW1lLCAncicpIGFzIHN0ZGVycmY6CisgICAgICAgICAgICAgICAgICAgICAg
ICBzdGRlcnIgPSBzdGRlcnJmLnJlYWQoKQorICAgICAgICAgICAgICAgICAgICBjbWQgPSAnICcu
am9pbihlcnIuY21kKQorICAgICAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCInJXMn
IHJldHVybmVkIGEgbm9uLXplcm8gZXhpdCBjb2RlLiBTdGRlcnI6ICVzIiAlIChjbWQsIHN0ZGVy
cikpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBlcnIucmV0dXJuY29kZQogCiAgICAgICAg
ICAgICAgICAgd2l0aCBvcGVuKHN0ZGVyci5uYW1lLCAncicpIGFzIHN0ZGVycmY6CiAgICAgICAg
ICAgICAgICAgICAgIHN0ZGVyciA9IHN0ZGVycmYucmVhZCgpCisKICAgICAgICAgICAgICAgICBl
eGVjdXRhYmxlLCA9IHJlLmZpbmRhbGwoIi4qRXhlY3V0YWJsZTogKC4qKSIsIHN0ZGVycikKLSAg
ICAgICAgICAgICAgICBpZiBub3QgZXhlY3V0YWJsZS5zdGFydHN3aXRoKCIvbmV3cm9vdCIpOgot
ICAgICAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCJFeGVjdXRhYmxlICVzIGRvZXNu
J3Qgc2VlbSB0byBiZSBhIGZsYXRwYWtlZCBhcHBsaWNhdGlvbi5cbiIgJSBleGVjdXRhYmxlKQog
Ci0gICAgICAgICAgICAgICAgZXhlY3V0YWJsZSA9IGV4ZWN1dGFibGUucmVwbGFjZSgiL25ld3Jv
b3QiLCAiIikKLSAgICAgICAgICAgICAgICBhcmdzID0gWyJnZGIiLCBleGVjdXRhYmxlLCAiL3J1
bi9ob3N0LyVzIiAlIGNvcmVkdW1wLm5hbWVdICsgc2hsZXguc3BsaXQoc2VsZi5nZGIpCisgICAg
ICAgICAgICAgICAgaWYgc2VsZi5nZGI6CisgICAgICAgICAgICAgICAgICAgIGJhcmdzID0gWyJn
ZGIiLCBleGVjdXRhYmxlLCAiL3J1bi9ob3N0LyVzIiAlIGNvcmVkdW1wLm5hbWVdICsgc2hsZXgu
c3BsaXQoc2VsZi5nZGIpCisgICAgICAgICAgICAgICAgZWxpZiBzZWxmLmdkYl9zdGFja190cmFj
ZToKKyAgICAgICAgICAgICAgICAgICAgYmFyZ3MgPSBbImdkYiIsICctZXgnLCAidGhyZWFkIGFw
cGx5IGFsbCBiYWNrdHJhY2UiLCAnLS1iYXRjaCcsIGV4ZWN1dGFibGUsICIvcnVuL2hvc3QvJXMi
ICUgY29yZWR1bXAubmFtZV0KIAotICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1bl9pbl9z
YW5kYm94KCphcmdzKQorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1bl9pbl9zYW5kYm94
KCpiYXJncykKIAogICAgIGRlZiB1cGRhdGVfYWxsKHNlbGYpOgogICAgICAgICBmb3IgbSBpbiBb
c2VsZi5ydW50aW1lLCBzZWxmLnNkaywgc2VsZi5zZGtfZGVidWddOgpkaWZmIC0tZ2l0IGEvVG9v
bHMvZmxhdHBhay9vcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbCBiL1Rvb2xzL2ZsYXRwYWsv
b3JnLndlYmtpdC5Db21tb25Nb2R1bGVzLnlhbWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDg2NTFjM2M1MTBjNTZkNDg3NjVmNTdjMzNhY2YxYjgzMmVmYmQ1MmEuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9vcmcud2Vi
a2l0LkNvbW1vbk1vZHVsZXMueWFtbAorKysgL2Rldi9udWxsCkBAIC0xLDMzMCArMCwwIEBACi0j
IGh0dHAgYW5kIGRlcGVuZGVuY2llcy4KLS0gbmFtZTogYXByCi0gIHNvdXJjZXM6Ci0gICAgLSB0
eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvZGlzdC9hcHIv
YXByLTEuNi41LnRhci5iejIKLSAgICAgIHNoYTI1NjogYTY3Y2E5ZmNmOWM0ZmY1OWJjZTdmNDI4
YTMyM2M4YjVlMTg2NjdmZGVhN2IwZWJhZDQ3ZDE5NDM3MWIwYTEwNQotLSBuYW1lOiBhcHItdXRp
bAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL3d3
dy5hcGFjaGUub3JnL2Rpc3QvYXByL2Fwci11dGlsLTEuNi4xLnRhci5iejIKLSAgICAgIHNoYTUx
MjogIjQwZWZmOGEzN2MwNjM0ZjdmZGRkZDZjYTVlNTk2YjM4ZGUxNWZkMTA3NjdhMzRjMzBiYmU0
OWM2MzI4MTZlOGYzZTFlMjMwNjc4MDM0ZjU3OGRkNTgxNmE5NGYyNDZmYjVkZmRmNDhkNjQ0ODI5
YWYxM2JmMjhkZTMyMjUyMDVkIgotICBjb25maWctb3B0czoKLSAgICAtIC0td2l0aC1hcHI9L2Fw
cC9iaW4vYXByLTEtY29uZmlnCi0tIG5hbWU6IGh0dHBkCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBl
OiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2FwYWNoZS9odHRwZC5naXQKLSAg
ICAgIGJyYW5jaDogMi40LjM3Ci0gICAgLSB0eXBlIDogZmlsZQotICAgICAgcGF0aCA6IGZpbGVz
L2h0dHBkLWF1dG9nZW4uc2gKLSAgICAgIGRlc3QtZmlsZW5hbWUgOiBhdXRvZ2VuLnNoCi0gICAg
IyBUaGUgdmVyc2lvbiBlbWJlZGRlZCBpbiB0aGUgc2FuZGJveCBkb2Vzbid0IGhhdmUgYSB3b3Jr
aW5nIHBjcmUtY29uZmlnCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogcGF0Y2hlcy9o
dHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1kZXRlY3Rpb24ucGF0
Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLWVuYWJsZS1tcG1zLXNoYXJlZD1hbGwKLSAgICAt
IC0tZW5hYmxlLW1vZHVsZXM9YWxsCi0gICAgLSAtLXdpdGgtYXByPS9hcHAvYmluL2Fwci0xLWNv
bmZpZwotICAgIC0gLS13aXRoLWFwci11dGlsPS9hcHAvYmluL2FwdS0xLWNvbmZpZwotICAgIC0g
LS13aXRoLXBjcmU9L2FwcAotICAgIC0gLS1lbmFibGUtYXV0aG56LWZjZ2kKLSAgICAtIC0tZW5h
YmxlLWNnaQotICAgIC0gLS1lbmFibGUtY2dpZAotLSBuYW1lOiBwaHAKLSAgc291cmNlczoKLSAg
ICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly9waHAubmV0L2Rpc3RyaWJ1dGlv
bnMvcGhwLTcuMi42LnRhci54egotICAgICAgc2hhNTEyOiBkYTg2YjFmZjJkZjNiOWUyZDQ2ZTU5
YTgwMjk2Yjk0MGQ4MTEzMjk3NWI2MjFiZGVjOTYwMmY4YjRjOGQ5MWEzZmRjZDRmZmQ3Y2I5ODJk
NjNkM2VjOTc0YjNhMTJhNzg1NGU0MmE3M2I3ZjJjYzhlZWZhZGUxNDMzNWFhN2M3MQotICBjb25m
aWctb3B0czoKLSAgICAtIC0tZGlzYWJsZS14bWwKLSAgICAtIC0tZGlzYWJsZS1kb20KLSAgICAt
IC0tZGlzYWJsZS1saWJ4bWwKLSAgICAtIC0tZGlzYWJsZS1zaW1wbGV4bWwKLSAgICAtIC0tZGlz
YWJsZS14bWxyZWFkZXIKLSAgICAtIC0tZGlzYWJsZS14bWx3cml0ZXIKLSAgICAtIC0td2l0aG91
dC1wZWFyCi0gICAgLSAtLXdpdGgtYXB4czIKLSAgICAtIC0td2l0aC16bGliCi0gICAgLSAtLXdp
dGgtbGliemlwCi0gICAgLSAtLWVuYWJsZS1zb2NrZXRzPXNoYXJlZAotLSBuYW1lOiBsaWJldmVu
dAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0aHVi
LmNvbS9saWJldmVudC9saWJldmVudC5naXQKLSAgICAgIGJyYW5jaDogZTdmZjRlZiAjIDIuMS44
Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1kaXNhYmxlLWxpYmV2ZW50LXJlZ3Jlc3MKLQotIyBS
ZXF1aXJlbWVudCBmb3IgZmxhdHBrdXRpbHMKLS0gbmFtZTogcHl0aG9uMy1weWFtbAotICBidWls
ZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAtIHBpcDMgaW5zdGFsbCAtLW5v
LWluZGV4IC0tZmluZC1saW5rcz0iZmlsZTovLyR7UFdEfSIgLS1wcmVmaXg9JHtGTEFUUEFLX0RF
U1R9IHB5YW1sCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogZmlsZQotICAgIHVybDogaHR0cHM6Ly9m
aWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzRhLzg1L2RiNWEyZGY0NzcwNzJiMjkwMmIw
ZWI4OTJmZWIzN2Q4OGFjNjM1ZDM2MjQ1YTcyYTZhNjliMjNiMzgzYS9QeVlBTUwtMy4xMi50YXIu
Z3oKLSAgICBzaGEyNTY6IDU5Mjc2NmM2MzAzMjA3YTIwZWZjNDQ1NTg3Nzc4MzIyZDdmNzNiMTYx
YmQ5OTRmMjI3YWRhYTM0MWJhMjEyYWIKLSAgLSB0eXBlOiBmaWxlCi0gICAgdXJsOiBodHRwczov
L2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvOWUvMTcvMWQ0ZWQ2ZTFhNGMwOTE4YTAz
NTdkZmEyZmRiZTI2YmY2M2Y2ZTYxNjAxM2MwNGExNGJjZTlmZDMzZTQwL3B5YW1sLTE3LjEyLjEu
dGFyLmd6Ci0gICAgc2hhMjU2OiA2NjYyM2M1MmYzNGQ4M2EyYzBmYzk2M2UwOGU4YjlkMGMxM2Q4
ODQwNGUzYjQzYjE4NTJlZjcxZWRhMTlhZmEzCi0KLS0gbmFtZTogcHl0aG9uMi1weWFtbAotICBi
dWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAtIHBpcDIgaW5zdGFsbCAt
LW5vLWluZGV4IC0tZmluZC1saW5rcz0iZmlsZTovLyR7UFdEfSIgLS10YXJnZXQ9L2FwcC9saWIv
cHl0aG9uMi43L3NpdGUtcGFja2FnZXMvIHB5YW1sCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogZmls
ZQotICAgIHVybDogaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzRhLzg1
L2RiNWEyZGY0NzcwNzJiMjkwMmIwZWI4OTJmZWIzN2Q4OGFjNjM1ZDM2MjQ1YTcyYTZhNjliMjNi
MzgzYS9QeVlBTUwtMy4xMi50YXIuZ3oKLSAgICBzaGEyNTY6IDU5Mjc2NmM2MzAzMjA3YTIwZWZj
NDQ1NTg3Nzc4MzIyZDdmNzNiMTYxYmQ5OTRmMjI3YWRhYTM0MWJhMjEyYWIKLSAgLSB0eXBlOiBm
aWxlCi0gICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvOWUv
MTcvMWQ0ZWQ2ZTFhNGMwOTE4YTAzNTdkZmEyZmRiZTI2YmY2M2Y2ZTYxNjAxM2MwNGExNGJjZTlm
ZDMzZTQwL3B5YW1sLTE3LjEyLjEudGFyLmd6Ci0gICAgc2hhMjU2OiA2NjYyM2M1MmYzNGQ4M2Ey
YzBmYzk2M2UwOGU4YjlkMGMxM2Q4ODQwNGUzYjQzYjE4NTJlZjcxZWRhMTlhZmEzCi0KLS0gbmFt
ZTogcHl0aG9uMi1zdWJwcm9jZXNzMzIKLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1j
b21tYW5kczoKLSAgLSBwaXAyIGluc3RhbGwgLS10YXJnZXQ9L2FwcC9saWIvcHl0aG9uMi43L3Np
dGUtcGFja2FnZXMvIC4KLSAgc291cmNlczoKLSAgLSB0eXBlOiBhcmNoaXZlCi0gICAgdXJsOiBo
dHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvYmUvMmIvYmVlYmE1ODNlOTg3
N2U2NGRiMTBiNTJhOTY5MTVhZmMwZmVhYmY3MTQ0ZGNiZjJhMGQwZWE2OGJmNzNkL3N1YnByb2Nl
c3MzMi0zLjUuMy50YXIuZ3oKLSAgICBzaGEyNTY6IDZiYzgyOTkyMzE2ZWVmM2NjZmYzMTliNTAz
MzgwOTgwMWMwYzMzNzI3MDljNWY2OTg1Mjk5Yzg4YWM3MjI1YzMKLQotIyBHU3RyZWFtZXIgbW9k
dWxlcwotLSBuYW1lOiBsaWJ2cHgKLSAgbm8tYXV0b2dlbjogdHJ1ZQotICBzb3VyY2VzOgotICAg
IC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNv
bS93ZWJtL2xpYnZweAotICAgICAgYnJhbmNoOiB2MS43LjAKLSAgY29uZmlnLW9wdHM6Ci0gICAg
LSAtLWVuYWJsZS1waWMKLSAgICAtIC0tYXM9bmFzbQotICAgIC0gLS1kaXNhYmxlLXVuaXQtdGVz
dHMKLSAgICAtIC0tc2l6ZS1saW1pdD0xNjM4NHgxNjM4NAotICAgIC0gLS1lbmFibGUtcG9zdHBy
b2MKLSAgICAtIC0tZW5hYmxlLW11bHRpLXJlcy1lbmNvZGluZwotICAgIC0gLS1lbmFibGUtdGVt
cG9yYWwtZGVub2lzaW5nCi0gICAgLSAtLWVuYWJsZS12cDktdGVtcG9yYWwtZGVub2lzaW5nCi0g
ICAgLSAtLWVuYWJsZS12cDktcG9zdHByb2MKLSAgICAtIC0tZW5hYmxlLXNoYXJlZAotLSBuYW1l
OiBhb20KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Fv
bWVkaWEuZ29vZ2xlc291cmNlLmNvbS9hb20KLSAgICAgIGJyYW5jaDogY2RiMDgzZTg0YTcxZDZk
MzExNjNhNGY2NGYxOGRjMTMyOGZkNzgyYwotICBidWlsZHN5c3RlbTogY21ha2UtbmluamEKLSAg
YnVpbGRkaXI6IHRydWUKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtREJVSUxEX1NIQVJFRF9MSUJT
PTEKLS0gbmFtZTogbGlidW53aW5kCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAg
IHVybDogaHR0cHM6Ly9naXRodWIuY29tL2xpYnVud2luZC9saWJ1bndpbmQuZ2l0Ci0gICAgICBj
b21taXQ6IHYxLjIuMQotLSBuYW1lOiBsaWJvcGVuaDI2NAotICBidWlsZHN5c3RlbTogbWVzb24K
LSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5j
b20vY2lzY28vb3BlbmgyNjQuZ2l0Ci0gICAgICBicmFuY2g6IGExYjNmMDdjNTI3MWYzMTI5OTdm
Y2MzNDUxMjM3MDMxNDQ0YzQ0NzUgIyAxLjguMCArIGZpeCBmb3IgZ2NjIDgKLS0gbmFtZTogZ3N0
cmVhbWVyCi0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0
Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0
cmVhbWVyLmdpdAotICAgICAgYnJhbmNoOiAxLjE2LjEKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAt
RGd0a19kb2M9ZGlzYWJsZWQKLSAgICAtIC1EaW50cm9zcGVjdGlvbj1kaXNhYmxlZAotICAgIC0g
LURleGFtcGxlcz1kaXNhYmxlZAotICAgIC0gLUR0ZXN0cz1kaXNhYmxlZAotLSBuYW1lOiBnc3Qt
cGx1Z2lucy1iYXNlCi0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0gdHlw
ZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFt
ZXIvZ3N0LXBsdWdpbnMtYmFzZS5naXQKLSAgICAgIGJyYW5jaDogMS4xNi4xCi0gICAgLSB0eXBl
OiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3N0cmVhbWVyL3BhdGNoZXMvYmFzZS0wMDAxLXBsYXli
aW4tSGFuZGxlLWVycm9yLW1lc3NhZ2Utd2l0aC1yZWRpcmVjdGlvbi1pbmRpY2EucGF0Y2gKLSAg
ICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9nc3RyZWFtZXIvcGF0Y2hlcy9iYXNlLTAw
MDEtZ2x1cGxvYWQtQWRkLVZpZGVvTWV0YXMtYW5kLUdMU3luY01ldGEtdG8tdGhlLXJhdy11cC5w
YXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotICAgIC0gLURp
bnRyb3NwZWN0aW9uPWRpc2FibGVkCi0gICAgLSAtRGV4YW1wbGVzPWRpc2FibGVkCi0gICAgLSAt
RHRlc3RzPWRpc2FibGVkCi0tIG5hbWU6IGdzdC1wbHVnaW5zLWdvb2QKLSAgYnVpbGRzeXN0ZW06
IG1lc29uCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9n
aXRsYWIuZnJlZWRlc2t0b3Aub3JnL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1nb29kLmdpdAotICAg
ICAgYnJhbmNoOiAxLjE2LjEKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9nc3Ry
ZWFtZXIvcGF0Y2hlcy9nb29kLTAwMDEtcXRkZW11eC1TcGVjaWZ5LVJFRElSRUNULWluZm9ybWF0
aW9uLWluLWVycm9yLW1lc3NhZy5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC1EZ3RrX2Rv
Yz1kaXNhYmxlZAotICAgIC0gLURpbnRyb3NwZWN0aW9uPWRpc2FibGVkCi0gICAgLSAtRGV4YW1w
bGVzPWRpc2FibGVkCi0gICAgLSAtRGd0azM9ZGlzYWJsZWQKLS0gbmFtZTogeDI2NAotICBjb25m
aWctb3B0czoKLSAgICAtICItLWVuYWJsZS1zaGFyZWQiCi0gICAgLSAiLS1lbmFibGUtc3RhdGlj
IgotICAgIC0gIi0tZW5hYmxlLXBpYyIKLSAgICAtICItLWRpc2FibGUtbGF2ZiIKLSAgICAtICIt
LWRpc2FibGUtYXNtIgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJs
OiBodHRwOi8vZG93bmxvYWQudmlkZW9sYW4ub3JnL3B1Yi94MjY0L3NuYXBzaG90cy94MjY0LXNu
YXBzaG90LTIwMTQwMjEyLTIyNDUtc3RhYmxlLnRhci5iejIKLSAgICAgIHNoYTI1NjogNWQ5OGU5
ZTRmYWY2ZGQ1NWU3MTkzZWQzNzlhZmY0NzdiOGFjYmRhNjc3Nzc1ODk1NmVmN2U1ZjA1MDY3YmUx
OAotLSBuYW1lOiBnc3QtcGx1Z2lucy11Z2x5Ci0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBzb3Vy
Y2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVz
a3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy11Z2x5Ci0gICAgICBicmFuY2g6IDEu
MTYuMAotICBjb25maWctb3B0czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotLSBuYW1lOiBn
c3QtcGx1Z2lucy1iYWQKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIHNvdXJjZXM6Ci0gICAgLSB0
eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL2dzdHJl
YW1lci9nc3QtcGx1Z2lucy1iYWQuZ2l0Ci0gICAgICBicmFuY2g6IDEuMTYuMQotICAgIC0gdHlw
ZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2dzdHJlYW1lci9wYXRjaGVzL2dzdC1wbHVnaW5zLWJh
ZC0wMDAxLWgyNjRwYXJzZS1Qb3N0LWEtV0FSTklORy13aGVuLWRhdGEtaXMtYnJva2VuLnBhdGNo
Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9jPWRpc2FibGVkCi0gICAgLSAtRGludHJv
c3BlY3Rpb249ZGlzYWJsZWQKLSAgICAtIC1EZXhhbXBsZXM9ZGlzYWJsZWQKLS0gbmFtZTogZmZt
cGVnCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHBzOi8v
ZmZtcGVnLm9yZy9yZWxlYXNlcy9mZm1wZWctNC4wLjQudGFyLmd6Ci0gICAgICBzaGEyNTY6IDgw
YmI2ODVhYmZjZGRhN2M5YjZjOWM1Y2FmMWQ4ZGJiOTI3ODU4MDUwZDczNzdjMmI4ZjM0ODhjN2U4
YTliN2YKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLWVuYWJsZS1zdGF0aWMKLSAgICAtIC0tZW5h
YmxlLXBpYwotICAgIC0gLS1kaXNhYmxlLWF2ZGV2aWNlCi0gICAgLSAtLWRpc2FibGUtcG9zdHBy
b2MKLSAgICAtIC0tZGlzYWJsZS1zd3NjYWxlCi0gICAgLSAtLWRpc2FibGUtcHJvZ3JhbXMKLSAg
ICAtIC0tZGlzYWJsZS1mZnBsYXkKLSAgICAtIC0tZGlzYWJsZS1mZnByb2JlCi0gICAgLSAtLWRp
c2FibGUtZmZtcGVnCi0gICAgLSAtLWRpc2FibGUtZW5jb2Rlcj1mbGFjCi0gICAgLSAtLWRpc2Fi
bGUtcHJvdG9jb2xzCi0gICAgLSAtLWRpc2FibGUtZGV2aWNlcwotICAgIC0gLS1kaXNhYmxlLW5l
dHdvcmsKLSAgICAtIC0tZGlzYWJsZS1od2FjY2VscwotICAgIC0gLS1kaXNhYmxlLWR4dmEyCi0g
ICAgLSAtLWRpc2FibGUtdmRwYXUKLSAgICAtIC0tZGlzYWJsZS1maWx0ZXJzCi0gICAgLSAtLWVu
YWJsZS1maWx0ZXI9eWFkaWYKLSAgICAtIC0tZGlzYWJsZS1kb2MKLSAgICAtIC0tZGlzYWJsZS1k
M2QxMXZhCi0gICAgLSAtLWRpc2FibGUtZHh2YTIKLSAgICAtIC0tZGlzYWJsZS1hdWRpb3Rvb2xi
b3gKLSAgICAtIC0tZGlzYWJsZS12aWRlb3Rvb2xib3gKLSAgICAtIC0tZGlzYWJsZS12YWFwaQot
ICAgIC0gLS1kaXNhYmxlLWNyeXN0YWxoZAotICAgIC0gLS1kaXNhYmxlLW1lZGlhY29kZWMKLSAg
ICAtIC0tZGlzYWJsZS1udmVuYwotICAgIC0gLS1kaXNhYmxlLW1tYWwKLSAgICAtIC0tZGlzYWJs
ZS1vbXgKLSAgICAtIC0tZGlzYWJsZS1vbXgtcnBpCi0gICAgLSAtLWRpc2FibGUtY3VkYQotICAg
IC0gLS1kaXNhYmxlLWN1dmlkCi0gICAgLSAtLWRpc2FibGUtbGlibWZ4Ci0gICAgLSAtLWRpc2Fi
bGUtbGlibnBwCi0gICAgLSAtLWRpc2FibGUtaWNvbnYKLSAgICAtIC0tZGlzYWJsZS1qbmkKLSAg
ICAtIC0tZGlzYWJsZS12NGwyX20ybQotICAgIC0gLS1lbmFibGUtb3B0aW1pemF0aW9ucwotLSBu
YW1lOiBnc3QtbGliYXYKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIGJ1aWxkZGlyOiB0cnVlCi0g
IHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHBzOi8vZ3N0cmVh
bWVyLmZyZWVkZXNrdG9wLm9yZy9zcmMvZ3N0LWxpYmF2L2dzdC1saWJhdi0xLjE2LjEudGFyLnh6
Ci0gICAgICBzaGEyNTY6IGU4YTU3NDhhZTlhNGE3YmU5Njk2NTEyMTgyZWE5ZmZhNmVmZTBiZTli
Nzk3NjkxNjU0OGU5ZDQzODFjYTYxYzQKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9
ZGlzYWJsZWQKLQotLSBuYW1lOiBsaWJnY3J5cHQgIyBTcGVlZHVwIGxpYmdjcnlwdAotICBzb3Vy
Y2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZGV2LmdudXBnLm9yZy9z
b3VyY2UvbGliZ2NyeXB0LmdpdAotICAgICAgYnJhbmNoOiBsaWJnY3J5cHQtMS44LjQKLSAgICAt
IHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiBwYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVzZS1wa2ct
Y29uZmlnLXRvLWRldGVjdC1ncGctZXJyb3IucGF0Y2gKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAg
ICBwYXRoOiAuLi9ndGsvcGF0Y2hlcy9saWJnY3J5cHQtdXNlLW9ubHktZGV2LXVyYW5kb20tZm9y
LXRlc3RpbmcucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLWRpc2FibGUtZG9jCi0KLS0g
bmFtZTogcGVybC1jZ2ktcG0KLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5k
czoKLSAgICAtIHBlcmwgTWFrZWZpbGUuUEwgUFJFRklYPS9hcHAgTElCPS9hcHAvbGliL3Blcmwv
Ci0gICAgLSBtYWtlIGluc3RhbGwKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAg
ICAgIHVybDogaHR0cHM6Ly9jcGFuLm1ldGFjcGFuLm9yZy9hdXRob3JzL2lkL0wvTEUvTEVFSk8v
Q0dJLTQuMzgudGFyLmd6Ci0gICAgICBzaGEyNTY6IDhjNThmNGE1MjliYjkyYTkxNGIyMmI3ZTY0
YzVlMzExODVjOTg1NGE0MDcwYTZkZmFkNDRmZTVjYzI0OGU3ZDQKLQotLSBuYW1lOiBweXRob24y
LXZpcnR1YWxlbnYKLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAg
LSBwaXAyIGluc3RhbGwgLS1uby1pbmRleCAtLWZpbmQtbGlua3M9ImZpbGU6Ly8ke1BXRH0iIC0t
dGFyZ2V0PS9hcHAvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzLyB2aXJ0dWFsZW52Ci0gIC0g
bG4gLXMgL2FwcC9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvdmlydHVhbGVudi5weSAvYXBw
L2Jpbi92aXJ0dWFsZW52Ci0gIC0gY2htb2QgK3ggL2FwcC9iaW4vdmlydHVhbGVudgotICBzb3Vy
Y2VzOgotICAtIHR5cGU6IGZpbGUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVk
Lm9yZy9wYWNrYWdlcy8zMy9iYy9mYTBiNTM0NzEzOWNkOTU2NGYwZDQ0ZWJkMmIxNDdhYzk3YzM2
YjI0MDM5NDNkYmVlOGEyNWZkNzQwMTIvdmlydHVhbGVudi0xNi4wLjAudGFyLmd6Ci0gICAgc2hh
MjU2OiBjYTA3YjRjMGI1NGUxNGE5MWFmOWYzNGQwOTE5NzkwYjAxNjkyM2QxNTdhZmRhNWVmZGRl
NTVjOTY3MThmNzUyCi0KLS0gbmFtZTogbGliY2FwLW5nCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBl
OiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL3N0ZXZlZ3J1YmIvbGliY2FwLW5n
Ci0gICAgICBicmFuY2g6IHYwLjcuOQotICBjb25maWctb3B0czoKLSAgICAtIC0td2l0aC1weXRo
b249bm8KLSAgICAtIC0td2l0aC1weXRob24zPW5vCi0KLS0gbmFtZTogbHpvMgotICBzb3VyY2Vz
OgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwOi8vd3d3Lm9iZXJodW1lci5j
b20vb3BlbnNvdXJjZS9sem8vZG93bmxvYWQvbHpvLTIuMTAudGFyLmd6Ci0gICAgICBzaGExOiA0
OTI0Njc2YTliYWU1ZGI1OGVmMTI5ZGMxY2ViY2UzYmFhM2M0YjVkCi0KLS0gbmFtZTogaWNlY2MK
LSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5j
b20vaWNlY2MvaWNlY3JlYW0KLSAgICAgIGJyYW5jaDogIjEuMSIKLSAgY29uZmlnLW9wdHM6Ci0g
ICAgLSAtLXdpdGhvdXQtbWFuCi0KLS0gbmFtZTogYnJvdGxpCi0gIHNvdXJjZXM6Ci0gIC0gdHlw
ZTogYXJjaGl2ZQotICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9icm90bGkvYXJj
aGl2ZS92MS4wLjUudGFyLmd6Ci0gICAgc2hhMjU2OiAzZDViZWRkNDhlZGI5MDlmZTNiODdjYjk5
ZjdkMTM5Yjk4N2VmNmYxNjE2YjdlMjJkNzRlOTI4MjcwYTJmZDIwCi0gIGJ1aWxkc3lzdGVtOiBj
bWFrZS1uaW5qYQotCi0tIG5hbWU6IHdvZmYyCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogYXJjaGl2
ZQotICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS93b2ZmMi9hcmNoaXZlL3YxLjAu
Mi50YXIuZ3oKLSAgICBzaGEyNTY6IGFkZDI3MmJiMDllNjM4NGE0ODMzZmZjYTQ4OTYzNTBmZGIx
NmUwY2EyMmRmNjhjMDM4NDc3M2M2N2ExNzU1OTQKLSAgYnVpbGRzeXN0ZW06IGNtYWtlLW5pbmph
Ci0KLS0gbmFtZTogb3BlbmpwZWcKLSAgc291cmNlczoKLSAgLSB0eXBlOiBhcmNoaXZlCi0gICAg
dXJsOiBodHRwOi8vZ2l0aHViLmNvbS91Y2xvdXZhaW4vb3BlbmpwZWcvYXJjaGl2ZS92Mi4zLjAu
dGFyLmd6Ci0gICAgc2hhMjU2OiAzZGM3ODdjMWJiNjAyM2JhODQ2YzJhMGQ5YjFmNmUxNzlmMWNk
MjU1MTcyYmRlOWViNzViMDFmMWU2YzdkNzFhCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1uaW5qYQpk
aWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LkdUSy55YW1sIGIvVG9vbHMvZmxh
dHBhay9vcmcud2Via2l0LkdUSy55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5
NjNiNTYwNDQwODA0NWVkMDg3YzdjMjY3YTU5MzJiODRlNjMwZDNmLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5H
VEsueWFtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyMyArMCwwIEBACi0tIG5hbWU6IG1lc2EKLSAg
c291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly9tZXNhLmZy
ZWVkZXNrdG9wLm9yZy9hcmNoaXZlL21lc2EtMTguMC4zLnRhci54egotICAgICAgc2hhMjU2OiAw
OTlkOTY2NzMyN2E3NmE2MTc0MWE1MzNmOTUwNjdkNzZlYTcxYTY1NmU2NmI5MTUwN2IzYzBjYWYx
ZDQ5ZTMwCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1wcmVmaXg9L2FwcC9zb2Z0R0wKLSAgICAt
IC0tZGlzYWJsZS1kcmkzCi0gICAgLSAtLWVuYWJsZS1kcmkKLSAgICAtIC0tZW5hYmxlLWdseAot
ICAgIC0gLS1lbmFibGUtZWdsCi0gICAgLSAtLXdpdGgtZWdsLXBsYXRmb3Jtcz14MTEsd2F5bGFu
ZAotICAgIC0gLS13aXRoLWRyaS1kcml2ZXJzPXN3cmFzdAotICAgIC0gLS13aXRoLWdhbGxpdW0t
ZHJpdmVycz1zd3Jhc3QKLQotLSBuYW1lOiB3ZWJraXRndGstdGVzdC1mb250cwotICBuby1hdXRv
Z2VuOiB0cnVlCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6
Ly9naXRodWIuY29tL1dlYktpdEdUSy93ZWJraXRndGstdGVzdC1mb250cy5naXQKLSAgYnVpbGRz
eXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgICAjIEZJWE1FOiBNYWtlIEFjdGl2
YXRlRm9udFdQRSBzbWFydGVyLgotICAgIC0gbWFrZSBpbnN0YWxsIERFU1RESVI9L2FwcC9XZWJL
aXRCdWlsZC9EZXBlbmRlbmNpZXNHVEsvUm9vdAotCi0tIG5hbWU6IHhvcmctdXRpbC1tYWNyb3MK
LSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Fub25naXQu
ZnJlZWRlc2t0b3Aub3JnL2dpdC94b3JnL3V0aWwvbWFjcm9zLmdpdAotICAgICAgYnJhbmNoOiB1
dGlsLW1hY3Jvcy0xLjE5LjIKLQotLSBuYW1lOiB4b3JnLWZvbnQtdXRpbAotICBzb3VyY2VzOgot
ICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5v
cmcvZ2l0L3hvcmcvZm9udC91dGlsLmdpdAotICAgICAgYnJhbmNoOiBmb250LXV0aWwtMS4zLjEK
LQotLSBuYW1lOiB4a2JmaWxlCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIGJy
YW5jaDogbGlieGtiZmlsZS0xLjAuOQotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRl
c2t0b3Aub3JnL2dpdC94b3JnL2xpYi9saWJ4a2JmaWxlLmdpdAotCi0tIG5hbWU6IGZvbnRlbmMK
LSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgYnJhbmNoOiBsaWJmb250ZW5jLTEu
MS4zCi0gICAgICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcv
bGliL2xpYmZvbnRlbmMuZ2l0Ci0KLS0gbmFtZTogeGZvbnQKLSAgc291cmNlczoKLSAgICAtIHR5
cGU6IGdpdAotICAgICAgYnJhbmNoOiBsaWJYZm9udDItMi4wLjMKLSAgICAgIHVybDogaHR0cHM6
Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy9saWIvbGliWGZvbnQuZ2l0Ci0KLS0g
bmFtZTogeHZmYgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBz
Oi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcveHNlcnZlci5naXQKLSAgICAgIGJy
YW5jaDogeG9yZy1zZXJ2ZXItMS4xOS42Ci0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDog
cGF0Y2hlcy94dmZiLTAwMDEtSEFDSy1Bdm9pZC1jb21waWxpbmctYS1rYm0tZmlsZS5wYXRjaAot
ICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2d0ay9wYXRjaGVzL3hzZXJ2ZXItcmVt
b3ZlLWJvZ3VzLWRlcGVuZGVuY2llcy5wYXRjaAotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBh
dGg6IC4uL2d0ay9wYXRjaGVzL3hzZXJ2ZXItc2VhcmNoLWZvci1EUkktZHJpdmVycy1hdC1MSUJH
TF9EUklWRVJTX1BBVEgtZW52aXJvbi5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC0tZW5h
YmxlLXh2ZmIKLSAgICAtIC0tZGlzYWJsZS14d2F5bGFuZAotICAgIC0gLS1lbmFibGUteHZmYgot
ICAgIC0gLS1kaXNhYmxlLXh3YXlsYW5kCi0gICAgLSAtLWRpc2FibGUteGluZXJhbWEKLSAgICAt
IC0tZW5hYmxlLWdseAotICAgIC0gLS1lbmFibGUtY29tcG9zaXRlCi0gICAgLSAtLWRpc2FibGUt
eG9yZwotICAgIC0gLS1kaXNhYmxlLWRteAotICAgIC0gLS1kaXNhYmxlLXhuZXN0Ci0gICAgLSAt
LWRpc2FibGUteHF1YXJ0egotICAgIC0gLS1kaXNhYmxlLXh3aW4KLSAgICAtIC0tZGlzYWJsZS14
ZXBoeXIKLSAgICAtIC0tZGlzYWJsZS14ZmFrZQotICAgIC0gLS1kaXNhYmxlLXhmYmRldgotICAg
IC0gLS1kaXNhYmxlLWluc3RhbGwtc2V0dWlkCi0gICAgLSAtLWRpc2FibGUtdW5pdC10ZXN0cwot
ICAgIC0gLS1kaXNhYmxlLXByZXNlbnQKLSAgICAtIC0tZW5hYmxlLXVuaXgtdHJhbnNwb3J0Ci0g
ICAgLSAtLWVuYWJsZS10Y3AtdHJhbnNwb3J0Ci0gICAgLSAtLWRpc2FibGUtbG9jYWwtdHJhbnNw
b3J0Ci0gICAgLSAtLXdpdGhvdXQtZHRyYWNlCi0KLSMgUmVxdWlyZWQgZm9yIHJ1bi1ndGstdGVz
dHMKLS0gbmFtZTogcHljYWlybwotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1h
bmRzOgotICAtIHB5dGhvbjIgc2V0dXAucHkgaW5zdGFsbCAtLXByZWZpeD0vYXBwCi0gIHNvdXJj
ZXM6Ci0gIC0gdHlwZTogYXJjaGl2ZQotICAgIHVybDogaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcv
cGFja2FnZXMvZWYvOTcvYjMzZGM1MzNlYTYwNzZkNGVhOWNiZDJmZTA0OWEyYjRhM2RmNWM1YjZm
YmE5YTE4MjYxNmY2ZjhkMzEwL3B5Y2Fpcm8tMS4xNS40LnRhci5negotICAgIHNoYTI1NjogZWU0
YzMwNjhjMDQ4MjMwZTVjZTc0YmI4OTk0YTAyNDcxMTEyOWJkZTFhZjFkNzZlMzI3NmM3YWNkODFj
NDM1NwotICBjbGVhbnVwOgotICAtICIvaW5jbHVkZSIKLSAgLSAiL2xpYi9wa2djb25maWciCi0K
LS0gbmFtZTogcHlnb2JqZWN0LXB5dGhvbjIKLSAgYnVpbGQtb3B0aW9uczoKLSAgICBlbnY6Ci0g
ICAgICBQWVRIT046ICIvdXNyL2Jpbi9weXRob24yIgotICBzb3VyY2VzOgotICAtIHR5cGU6IGFy
Y2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vZG93bmxvYWQuZ25vbWUub3JnL3NvdXJjZXMvcHlnb2Jq
ZWN0LzMuMjgvcHlnb2JqZWN0LTMuMjguMS50YXIueHoKLSAgICBzaGEyNTY6IDQyMzEyYjRhNTAx
NTU3MWZhMGE0ZjJkMjAxMDA1ZGE0NmI3MWMyNTFlYTI2MjViYzk1NzAyZDA3MWM0ZmY4OTUKLSAg
Y2xlYW51cDoKLSAgLSAiL2luY2x1ZGUiCi0gIC0gIi9saWIvcGtnY29uZmlnIgotICAtICIvbGli
L3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL2dpLyoubGEiCi0KLS0gb3JnLndlYmtpdC5XUEVNb2R1
bGVzLnlhbWwKLQotLSBuYW1lOiBvcmcud2Via2l0LkdUSwotICBidWlsZHN5c3RlbTogc2ltcGxl
Ci0gIGJ1aWxkLWNvbW1hbmRzOgotICAgIC0gL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9idWls
ZC13ZWJraXQgLS1ndGsgLS1wcmVmaXg9L2FwcAotCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFr
L29yZy53ZWJraXQuV1BFLnlhbWwgYi9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFLnlhbWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjYmFiYmFhMGNiOGUxNThhZDQ0NDFmOThi
NGQwNTNhOGNiM2JhNzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRS55YW1sCisrKyAvZGV2L251bGwKQEAg
LTEsMTQgKzAsMCBAQAotLSBvcmcud2Via2l0LldQRU1vZHVsZXMueWFtbAotLSBuYW1lOiB3ZWJr
aXRndGstdGVzdC1mb250cwotICBuby1hdXRvZ2VuOiB0cnVlCi0gIHNvdXJjZXM6Ci0gICAgLSB0
eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL1dlYktpdEdUSy93ZWJraXRn
dGstdGVzdC1mb250cy5naXQKLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5k
czoKLSAgICAjIEZJWE1FOiBNYWtlIEFjdGl2YXRlRm9udFdQRSBzbWFydGVyLgotICAgIC0gbWFr
ZSBpbnN0YWxsIERFU1RESVI9L2FwcC9XZWJLaXRCdWlsZC9EZXBlbmRlbmNpZXNXUEUvUm9vdAot
LSBuYW1lOiBvcmcud2Via2l0LldQRQotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNv
bW1hbmRzOgotICAgIC0gL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgLS13
cGUgLS1wcmVmaXg9L2FwcApkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQ
RU1vZHVsZXMueWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE4MGUyY2NiM2E0ZDk1MjJhNjA3OTM0YzA2
ZTBhZjkyMDViZjAyMTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRU1vZHVsZXMueWFtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDEyICswLDAgQEAKLS0gbmFtZTogbGlid3BlCi0gIGJ1aWxkc3lzdGVtOiBjbWFr
ZS1uaW5qYQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRw
czovL3dwZXdlYmtpdC5vcmcvcmVsZWFzZXMvbGlid3BlLTEuNC4wLnRhci54egotICAgICAgc2hh
MjU2OiBlMmQzNDk0ZmMzM2ZlOTQ2YWQ5MTdmZDZhM2FiZDEyNzQ2MmI5MWJiYTYyZWY4YjM1NTA3
ZTkyZjhlZGU0MTg4Ci0tIG5hbWU6IHdwZWJhY2tlbmQtZmRvCi0gIGJ1aWxkc3lzdGVtOiBjbWFr
ZS1uaW5qYQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRw
czovL3dwZXdlYmtpdC5vcmcvcmVsZWFzZXMvd3BlYmFja2VuZC1mZG8tMS40LjAudGFyLnh6Ci0g
ICAgICBzaGEyNTY6IGE5MTljYTRhNWJjNDQ1Zjk0MTlhNWI3ZjM3ODFjZmM5OGU1YWJjZjVkNzI1
OWViMTg2OWY1YWIyMGZkMThiYWYKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtp
dC5XUEVRVC55YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRVFULnlhbWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlMzY5NTdhNDYxYmMzNDc5YTM4ZWZmZGU2ZDk1OGJk
MDA3MjY3OGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
VG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRVFULnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwz
OSArMCwwIEBACi1hcHAtaWQ6IG9yZy53ZWJraXQuV1BFUVQKLXJ1bnRpbWU6IG9yZy5rZGUuUGxh
dGZvcm0KLXJ1bnRpbWUtdmVyc2lvbjogIjUuMTIiCi0jIENvbnRyb2wgdGhlIGV4YWN0IHZlcnNp
b24gb2YgdGhlIFNkay9SdW50aW1lIHRoYXQgaXMgYmVpbmcgdXNlZC4KLXNkay1oYXNoOiBkNmVm
YTI0ZTI3YzFjODc4YWQ0ZmRlNzZiNzNjOTZhMTFiZTMyYjU5OGFlODdhZWZiZTMzOWVlNGJiMTlh
OGJlCi1ydW50aW1lLWhhc2g6IDEwMTg3MWUwOTEwMDA2MTZhZDJiNjM1ZTA2YzQxNGViMGUxYzRl
MWMzNDI5MmEyMDVjNTIzOTkzNWVlNWVhNDQKLXNkazogb3JnLmtkZS5TZGsKLWNvbW1hbmQ6ICUo
Q09NTUFORClzCi1maW5pc2gtYXJnczoKLSAgIyBCYXNpY2FsbHkgbm8gc2FuZGJveGluZywgdGhl
IGdvYWwgaGVyZSBpcyB0byBtYWtlIGl0IGZsZXhpYmxlCi0gICMgZm9yIGRldmVsb3BlcnMsIG5v
dCByZWFsbHkgdG8gaXNvbGF0ZSAob3Blbm5pbmcgYWxsIGRldmljZXMKLSAgIyB0byBhbGxvdyBh
Y2NlcyB2aWRlbyBjYW1lcmFzIHVudGlsIHdlIGhhdmUgYSBwb3J0YWwgYXQgbGVhc3QpLgotICAt
IC0tc2hhcmU9aXBjCi0gIC0gLS1zb2NrZXQ9eDExCi0gIC0gLS1zb2NrZXQ9d2F5bGFuZAotICAt
IC0tZGV2aWNlPWFsbAotICAtIC0tc2hhcmU9bmV0d29yawotICAtIC0tc29ja2V0PXB1bHNlYXVk
aW8KLSAgLSAtLXN5c3RlbS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkdlb0NsdWUyCi0gIC0g
LS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cwotICAtIC0tZmlsZXN5c3RlbT1ob3N0Ci0g
IC0gLS1zb2NrZXQ9c3lzdGVtLWJ1cwotICAtIC0tdGFsay1uYW1lPW9yZy5mcmVlZGVza3RvcC5G
bGF0cGFrCi0gIC0gLS1lbnY9R1NUX1BSRVNFVF9QQVRIPS9hcHAvc2hhcmUvZ3N0cmVhbWVyLTEu
MC9wcmVzZXRzLwotYnVpbGQtb3B0aW9uczoKLSAgY2ZsYWdzOiAtTzIgLWcKLSAgY3h4ZmxhZ3M6
IC1PMiAtZwotICBzdHJpcDogZmFsc2UKLSAgbm8tZGVidWdpbmZvOiB0cnVlCi1tb2R1bGVzOgot
ICAtIG9yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sCi0gIC0gb3JnLndlYmtpdC5XUEVNb2R1
bGVzLnlhbWwKLQotICAjIFRoaXMgbW9kdWxlIGlzIG5vdCBhY3R1YWxseSBidWlsdC4KLSAgLSBu
YW1lOiBvcmcud2Via2l0LldQRVFUCi0gICAgYnVpbGRzeXN0ZW06IGNtYWtlCi0gICAgc291cmNl
czoKLSAgICAtIHR5cGU6IGRpcgotICAgICAgcGF0aDogL2FwcC93ZWJraXQvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL3dwZS9xdApkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9vcmcud2Vi
a2l0LldlYktpdC55YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldlYktpdC55YW1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNmQ2MTI2NjBkOGEyMDQ1ZGEzMTJmZGIwOTFi
NzhlNThhODA3ZTY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XZWJLaXQueWFtbAorKysgL2Rldi9udWxsCkBA
IC0xLDMzICswLDAgQEAKLWFwcC1pZDogJShQT1JUTkFNRSlzCi1ydW50aW1lOiBvcmcuZ25vbWUu
UGxhdGZvcm0KLXJ1bnRpbWUtdmVyc2lvbjogIjMuMzIiCi0jIENvbnRyb2wgdGhlIGV4YWN0IHZl
cnNpb24gb2YgdGhlIFNkay9SdW50aW1lIHRoYXQgaXMgYmVpbmcgdXNlZC4KLXNkay1oYXNoOiBi
M2I5YjFkMWIxOWVhMmJiNzIwMTk0MjhjYTc1YzdhNzg0NTVlOTg2YTBmOTFkZGRmNmEyOWM5Mjk5
MGNjNWE3Ci1ydW50aW1lLWhhc2g6IDdjOWQ1NTkyZDgwNWQwYjdjMjEyMTkwZmQ4MTE4ZTRjNzhj
YjhlZDhmODFlNjg3ODU4OTcyNjcwZGFjY2ZmNzYKLXNkazogb3JnLmdub21lLlNkawotY29tbWFu
ZDogJShDT01NQU5EKXMKLWZpbmlzaC1hcmdzOgotICAjIEJhc2ljYWxseSBubyBzYW5kYm94aW5n
LCB0aGUgZ29hbCBoZXJlIGlzIHRvIG1ha2UgaXQgZmxleGlibGUKLSAgIyBmb3IgZGV2ZWxvcGVy
cywgbm90IHJlYWxseSB0byBpc29sYXRlIChvcGVubmluZyBhbGwgZGV2aWNlcwotICAjIHRvIGFs
bG93IGFjY2VzIHZpZGVvIGNhbWVyYXMgdW50aWwgd2UgaGF2ZSBhIHBvcnRhbCBhdCBsZWFzdCku
Ci0gIC0gLS1zaGFyZT1pcGMKLSAgLSAtLXNvY2tldD14MTEKLSAgLSAtLXNvY2tldD13YXlsYW5k
Ci0gIC0gLS1kZXZpY2U9YWxsCi0gIC0gLS1zaGFyZT1uZXR3b3JrCi0gIC0gLS1zb2NrZXQ9cHVs
c2VhdWRpbwotICAtIC0tc3lzdGVtLXRhbGstbmFtZT1vcmcuZnJlZWRlc2t0b3AuR2VvQ2x1ZTIK
LSAgLSAtLXN5c3RlbS10YWxrLW5hbWU9b3JnLmExMXkuQnVzCi0gIC0gLS1maWxlc3lzdGVtPWhv
c3QKLSAgLSAtLXNvY2tldD1zeXN0ZW0tYnVzCi0gIC0gLS10YWxrLW5hbWU9b3JnLmZyZWVkZXNr
dG9wLkZsYXRwYWsKLSAgLSAtLWVudj1HU1RfUFJFU0VUX1BBVEg9L2FwcC9zaGFyZS9nc3RyZWFt
ZXItMS4wL3ByZXNldHMvCi1idWlsZC1vcHRpb25zOgotICBjZmxhZ3M6IC1PMiAtZwotICBjeHhm
bGFnczogLU8yIC1nCi0gIHN0cmlwOiBmYWxzZQotICBuby1kZWJ1Z2luZm86IHRydWUKLW1vZHVs
ZXM6Ci0gIC0gb3JnLndlYmtpdC5Db21tb25Nb2R1bGVzLnlhbWwKLSAgIyBQb3J0IHNwZWNpZmlj
IGNvbXBvbmVudHMuCi0gIC0gJShQT1JUTkFNRSlzLnlhbWwKZGlmZiAtLWdpdCBhL1Rvb2xzL2Zs
YXRwYWsvcGF0Y2hlcy9odHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENS
RS1kZXRlY3Rpb24ucGF0Y2ggYi9Ub29scy9mbGF0cGFrL3BhdGNoZXMvaHR0cGQtMDAwMS1jb25m
aWd1cmUtdXNlLXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBkMzZhNjk0ZjI5MjNkMzUxZGI2ZjNmMTMzMjc2MDI4M2RhNzhm
OWRlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xz
L2ZsYXRwYWsvcGF0Y2hlcy9odHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3It
UENSRS1kZXRlY3Rpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1Gcm9t
IGI1ZWJlNDA0ZjEzODhkZGRhMzYwM2U1MzI3N2Y4N2UwYjk2YmE2OTUgTW9uIFNlcCAxNyAwMDow
MDowMCAyMDAxCi1Gcm9tOiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgot
RGF0ZTogTW9uLCAxMSBKdW4gMjAxOCAxNjoxNDozOCAtMDQwMAotU3ViamVjdDogW1BBVENIXSBj
b25maWd1cmU6IHVzZSBwa2ctY29uZmlnIGZvciBQQ1JFIGRldGVjdGlvbgotCi0tLS0KLSBjb25m
aWd1cmUuaW4gfCAyNyArKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdl
ZCwgNSBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NvbmZp
Z3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgotaW5kZXggNzYxZTgzNi4uYjE1NWQ0YiAxMDA2NDQKLS0t
LSBhL2NvbmZpZ3VyZS5pbgotKysrIGIvY29uZmlndXJlLmluCi1AQCAtMjE1LDI4ICsyMTUsMTEg
QEAgZmkKLSBBQ19BUkdfV0lUSChwY3JlLAotIEFQQUNIRV9IRUxQX1NUUklORygtLXdpdGgtcGNy
ZT1QQVRILFVzZSBleHRlcm5hbCBQQ1JFIGxpYnJhcnkpKQotIAotLUFDX1BBVEhfUFJPRyhQQ1JF
X0NPTkZJRywgcGNyZS1jb25maWcsIGZhbHNlKQotLWlmIHRlc3QgLWQgIiR3aXRoX3BjcmUiICYm
IHRlc3QgLXggIiR3aXRoX3BjcmUvYmluL3BjcmUtY29uZmlnIjsgdGhlbgotLSAgIFBDUkVfQ09O
RklHPSR3aXRoX3BjcmUvYmluL3BjcmUtY29uZmlnCi0tZWxpZiB0ZXN0IC14ICIkd2l0aF9wY3Jl
IjsgdGhlbgotLSAgIFBDUkVfQ09ORklHPSR3aXRoX3BjcmUKLS1maQotLQotLWlmIHRlc3QgIiRQ
Q1JFX0NPTkZJRyIgIT0gImZhbHNlIjsgdGhlbgotLSAgaWYgJFBDUkVfQ09ORklHIC0tdmVyc2lv
biA+L2Rldi9udWxsIDI+JjE7IHRoZW4gOjsgZWxzZQotLSAgICBBQ19NU0dfRVJST1IoW0RpZCBu
b3QgZmluZCBwY3JlLWNvbmZpZyBzY3JpcHQgYXQgJFBDUkVfQ09ORklHXSkKLS0gIGZpCi0tICBj
YXNlIGAkUENSRV9DT05GSUcgLS12ZXJzaW9uYCBpbgotLSAgW1sxLTVdLipdKQotLSAgICBBQ19N
U0dfRVJST1IoW05lZWQgYXQgbGVhc3QgcGNyZSB2ZXJzaW9uIDYuMF0pCi0tICAgIDs7Ci0tICBl
c2FjCi0tICBBQ19NU0dfTk9USUNFKFtVc2luZyBleHRlcm5hbCBQQ1JFIGxpYnJhcnkgZnJvbSAk
UENSRV9DT05GSUddKQotLSAgQVBSX0FERFRPKFBDUkVfSU5DTFVERVMsIFtgJFBDUkVfQ09ORklH
IC0tY2ZsYWdzYF0pCi0tICBBUFJfQUREVE8oUENSRV9MSUJTLCBbYCRQQ1JFX0NPTkZJRyAtLWxp
YnNgXSkKLS1lbHNlCi0tICBBQ19NU0dfRVJST1IoW3BjcmUtY29uZmlnIGZvciBsaWJwY3JlIG5v
dCBmb3VuZC4gUENSRSBpcyByZXF1aXJlZCBhbmQgYXZhaWxhYmxlIGZyb20gaHR0cDovL3BjcmUu
b3JnL10pCi0tZmkKLStQS0dfQ0hFQ0tfTU9EVUxFUyhbUENSRV0sIFtsaWJwY3JlXSwgWwotKyAg
QUNfREVGSU5FKFtIQVZFX1BDUkVdLCBbMV0sIFtEZWZpbmUgaWYgeW91IGhhdmUgUENSRSBsaWJy
YXJ5XSkKLStdLCBbCi0rICBBQ19NU0dfRVJST1IoWyRQQ1JFX1BLR19FUlJPUlNdKQotK10pCi0g
QVBBQ0hFX1NVQlNUKFBDUkVfTElCUykKLSAKLSBBQ19NU0dfTk9USUNFKFtdKQotLS0gCi0yLjE3
LjEKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVz
ZS1wa2ctY29uZmlnLXRvLWRldGVjdC1ncGctZXJyb3IucGF0Y2ggYi9Ub29scy9mbGF0cGFrL3Bh
dGNoZXMvbGliZ2NyeXB0LTAwMDEtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWdwZy1lcnJvci5w
YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzU3NzI3ZmJiOGIwOGI5MTk1YTVj
MDk3ZDZjNjFiOTA4YzY5MTc5YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL3BhdGNoZXMvbGliZ2NyeXB0LTAwMDEtVXNlLXBrZy1j
b25maWctdG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExMCAr
MCwwIEBACi1Gcm9tIDlhZmYzZjFiMzQ0ZmM4NjY2YjE0YzU3NjI5MTYyYzJiOTAwN2NhZDggTW9u
IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBp
Z2FsaWEuY29tPgotRGF0ZTogRnJpLCAyOSBKdW4gMjAxOCAwOTowNTo1MiAtMDQwMAotU3ViamVj
dDogW1BBVENIXSBVc2UgcGtnLWNvbmZpZyB0byBkZXRlY3QgZ3BnLWVycm9yCi0KLS0tLQotIG00
L2dwZy1lcnJvci5tNCB8IDg4ICsrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNzYgZGVsZXRp
b25zKC0pCi0KLWRpZmYgLS1naXQgYS9tNC9ncGctZXJyb3IubTQgYi9tNC9ncGctZXJyb3IubTQK
LWluZGV4IDE2NjEyMDRjLi41ZjlmMzNjMiAxMDA2NDQKLS0tLSBhL200L2dwZy1lcnJvci5tNAot
KysrIGIvbTQvZ3BnLWVycm9yLm00Ci1AQCAtNDEsODEgKzQxLDE3IEBAIEFDX0RFRlVOKFtBTV9Q
QVRIX0dQR19FUlJPUl0sCi0gICBBQ19BUkdfV0lUSChncGctZXJyb3ItcHJlZml4LCwKLSAgICAg
ICAgICAgICAgIFtncGdfZXJyb3JfY29uZmlnX3ByZWZpeD0iJHdpdGh2YWwiXSkKLSAKLS0gIGlm
IHRlc3QgeCIke0dQR19FUlJPUl9DT05GSUd9IiA9IHggOyB0aGVuCi0tICAgICBpZiB0ZXN0IHgi
JHtncGdfZXJyb3JfY29uZmlnX3ByZWZpeH0iICE9IHggOyB0aGVuCi0tICAgICAgICBHUEdfRVJS
T1JfQ09ORklHPSIke2dwZ19lcnJvcl9jb25maWdfcHJlZml4fS9iaW4vZ3BnLWVycm9yLWNvbmZp
ZyIKLS0gICAgIGVsc2UKLS0gICAgICAgY2FzZSAiJHtTWVNST09UfSIgaW4KLS0gICAgICAgICAv
KikKLS0gICAgICAgICAgIGlmIHRlc3QgLXggIiR7U1lTUk9PVH0vYmluL2dwZy1lcnJvci1jb25m
aWciIDsgdGhlbgotLSAgICAgICAgICAgICBHUEdfRVJST1JfQ09ORklHPSIke1NZU1JPT1R9L2Jp
bi9ncGctZXJyb3ItY29uZmlnIgotLSAgICAgICAgICAgZmkKLS0gICAgICAgICAgIDs7Ci0tICAg
ICAgICAgJycpCi0tICAgICAgICAgICA7OwotLSAgICAgICAgICAqKQotLSAgICAgICAgICAgQUNf
TVNHX1dBUk4oW0lnbm9yaW5nIFwkU1lTUk9PVCBhcyBpdCBpcyBub3QgYW4gYWJzb2x1dGUgcGF0
aC5dKQotLSAgICAgICAgICAgOzsKLS0gICAgICAgZXNhYwotLSAgICAgZmkKLS0gIGZpCi0rICBQ
S0dfQ0hFQ0tfTU9EVUxFUyhbR1BHX0VSUk9SXSwgW2dwZy1lcnJvcl0sIFsKLSsgICAgQUNfREVG
SU5FKFtIQVZFX0dQR19FUlJPUl0sIFsxXSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBncGctZXJyb3Ig
bGlicmFyeV0pCi0gCi0tICBBQ19QQVRIX1BST0coR1BHX0VSUk9SX0NPTkZJRywgZ3BnLWVycm9y
LWNvbmZpZywgbm8pCi0tICBtaW5fZ3BnX2Vycm9yX3ZlcnNpb249aWZlbHNlKFskMV0sICwwLjAs
JDEpCi0tICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIEdQRyBFcnJvciAtIHZlcnNpb24gPj0gJG1pbl9n
cGdfZXJyb3JfdmVyc2lvbikKLS0gIG9rPW5vCi0tICBpZiB0ZXN0ICIkR1BHX0VSUk9SX0NPTkZJ
RyIgIT0gIm5vIiBcCi0tICAgICAmJiB0ZXN0IC1mICIkR1BHX0VSUk9SX0NPTkZJRyIgOyB0aGVu
Ci0tICAgIHJlcV9tYWpvcj1gZWNobyAkbWluX2dwZ19lcnJvcl92ZXJzaW9uIHwgXAotLSAgICAg
ICAgICAgICAgIHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS9cMS8nYAotLSAgICBy
ZXFfbWlub3I9YGVjaG8gJG1pbl9ncGdfZXJyb3JfdmVyc2lvbiB8IFwKLS0gICAgICAgICAgICAg
ICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXCkvXDIvJ2AKLS0gICAgZ3BnX2Vycm9y
X2NvbmZpZ192ZXJzaW9uPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19hcmdz
IC0tdmVyc2lvbmAKLS0gICAgbWFqb3I9YGVjaG8gJGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbiB8
IFwKLS0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXCkuKi9c
MS8nYAotLSAgICBtaW5vcj1gZWNobyAkZ3BnX2Vycm9yX2NvbmZpZ192ZXJzaW9uIHwgXAotLSAg
ICAgICAgICAgICAgIHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS4qL1wyLydgCi0t
ICAgIGlmIHRlc3QgIiRtYWpvciIgLWd0ICIkcmVxX21ham9yIjsgdGhlbgotLSAgICAgICAgb2s9
eWVzCi0tICAgIGVsc2UKLS0gICAgICAgIGlmIHRlc3QgIiRtYWpvciIgLWVxICIkcmVxX21ham9y
IjsgdGhlbgotLSAgICAgICAgICAgIGlmIHRlc3QgIiRtaW5vciIgLWdlICIkcmVxX21pbm9yIjsg
dGhlbgotLSAgICAgICAgICAgICAgIG9rPXllcwotLSAgICAgICAgICAgIGZpCi0tICAgICAgICBm
aQotLSAgICBmaQotLSAgZmkKLS0gIGlmIHRlc3QgJG9rID0geWVzOyB0aGVuCi0tICAgIEdQR19F
UlJPUl9DRkxBR1M9YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1j
ZmxhZ3NgCi0tICAgIEdQR19FUlJPUl9MSUJTPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9y
X2NvbmZpZ19hcmdzIC0tbGlic2AKLS0gICAgR1BHX0VSUk9SX01UX0NGTEFHUz1gJEdQR19FUlJP
Ul9DT05GSUcgJGdwZ19lcnJvcl9jb25maWdfYXJncyAtLW10IC0tY2ZsYWdzIDI+L2Rldi9udWxs
YAotLSAgICBHUEdfRVJST1JfTVRfTElCUz1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9j
b25maWdfYXJncyAtLW10IC0tbGlicyAyPi9kZXYvbnVsbGAKLS0gICAgQUNfTVNHX1JFU1VMVChb
eWVzICgkZ3BnX2Vycm9yX2NvbmZpZ192ZXJzaW9uKV0pCi0tICAgIGlmZWxzZShbJDJdLCAsIDos
IFskMl0pCi0tICAgIGdwZ19lcnJvcl9jb25maWdfaG9zdD1gJEdQR19FUlJPUl9DT05GSUcgJGdw
Z19lcnJvcl9jb25maWdfYXJncyAtLWhvc3QgMj4vZGV2L251bGwgfHwgZWNobyBub25lYAotLSAg
ICBpZiB0ZXN0IHgiJGdwZ19lcnJvcl9jb25maWdfaG9zdCIgIT0geG5vbmUgOyB0aGVuCi0tICAg
ICAgaWYgdGVzdCB4IiRncGdfZXJyb3JfY29uZmlnX2hvc3QiICE9IHgiJGhvc3QiIDsgdGhlbgot
LSAgQUNfTVNHX1dBUk4oW1sKLS0qKioKLS0qKiogVGhlIGNvbmZpZyBzY3JpcHQgJEdQR19FUlJP
Ul9DT05GSUcgd2FzCi0tKioqIGJ1aWx0IGZvciAkZ3BnX2Vycm9yX2NvbmZpZ19ob3N0IGFuZCB0
aHVzIG1heSBub3QgbWF0Y2ggdGhlCi0tKioqIHVzZWQgaG9zdCAkaG9zdC4KLS0qKiogWW91IG1h
eSB3YW50IHRvIHVzZSB0aGUgY29uZmlndXJlIG9wdGlvbiAtLXdpdGgtZ3BnLWVycm9yLXByZWZp
eAotLSoqKiB0byBzcGVjaWZ5IGEgbWF0Y2hpbmcgY29uZmlnIHNjcmlwdCBvciB1c2UgXCRTWVNS
T09ULgotLSoqKl1dKQotLSAgICAgICAgZ3BnX2NvbmZpZ19zY3JpcHRfd2Fybj0iJGdwZ19jb25m
aWdfc2NyaXB0X3dhcm4gbGliZ3BnLWVycm9yIgotLSAgICAgIGZpCi0tICAgIGZpCi0tICBlbHNl
Ci0tICAgIEdQR19FUlJPUl9DRkxBR1M9IiIKLS0gICAgR1BHX0VSUk9SX0xJQlM9IiIKLS0gICAg
R1BHX0VSUk9SX01UX0NGTEFHUz0iIgotLSAgICBHUEdfRVJST1JfTVRfTElCUz0iIgotLSAgICBB
Q19NU0dfUkVTVUxUKG5vKQotLSAgICBpZmVsc2UoWyQzXSwgLCA6LCBbJDNdKQotLSAgZmkKLS0g
IEFDX1NVQlNUKEdQR19FUlJPUl9DRkxBR1MpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfTElCUykK
LS0gIEFDX1NVQlNUKEdQR19FUlJPUl9NVF9DRkxBR1MpCi0tICBBQ19TVUJTVChHUEdfRVJST1Jf
TVRfTElCUykKLSsgICAgR1BHX0VSUk9SX01UX0NGTEFHUz0iJEdQR19FUlJPUl9DRkxBR1MiCi0r
ICAgIEdQR19FUlJPUl9NVF9MSUJTPSItbHB0aHJlYWQgJEdQR19FUlJPUl9MSUJTIgotKwotKyAg
ICBBQ19TVUJTVChHUEdfRVJST1JfQ0ZMQUdTKQotKyAgICBBQ19TVUJTVChHUEdfRVJST1JfTElC
UykKLSsgICAgQUNfU1VCU1QoR1BHX0VSUk9SX01UX0NGTEFHUykKLSsgICAgQUNfU1VCU1QoR1BH
X0VSUk9SX01UX0xJQlMpCi0rICBdLCBbCi0rICAgIEFDX01TR19FUlJPUihbJEdQR19FUlJPUl9F
UlJPUlNdKQotKyAgXSkKLSBdKQotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvZmxh
dHBhay9wYXRjaGVzL3h2ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1maWxlLnBh
dGNoIGIvVG9vbHMvZmxhdHBhay9wYXRjaGVzL3h2ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGlu
Zy1hLWtibS1maWxlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OTg4NDJi
MzgxZDI1MTQwZmJjMDhmNTRhOTcyMzBhNmRiZTRhNDUwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEt
SEFDSy1Bdm9pZC1jb21waWxpbmctYS1rYm0tZmlsZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x
LDUwICswLDAgQEAKLUZyb20gYWVkMWI2ZThkZTQxMzc1YzFiOGIxZGZjNDhhMzUwZTBhOWI5Y2Ji
YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVu
aWVyQGlnYWxpYS5jb20+Ci1EYXRlOiBNb24sIDExIEp1biAyMDE4IDEwOjU1OjQzIC0wNDAwCi1T
dWJqZWN0OiBbUEFUQ0ggeHNlcnZlcl0gSEFDSzogQXZvaWQgY29tcGlsaW5nIGEga2JtIGZpbGUK
LQotVGhpcyB3b3VsZCBuZWVkIHRvIGJlIGluIC91c3Ivc2hhcmUvWDExLyBhcyB0aGlzIGlzIHdo
ZXJlCi1yZXNvdXJjZSBmaWxlcyBhcmUgaW4gdGhlIHNhbmRib3ggYnV0IGl0IGlzIHJlYWQgb25s
eSBpbiB0aGVyZS4KLQotSGFjayBhcm91bmQgdGhhdC4KLS0tLQotIHhrYi9kZHhMb2FkLmMgfCA5
ICstLS0tLS0tLQotIHhrYi94a2JJbml0LmMgfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGlu
c2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS94a2IvZGR4TG9hZC5j
IGIveGtiL2RkeExvYWQuYwotaW5kZXggYmJlMzk1Mi4uYTRhMDNhMSAxMDA2NDQKLS0tLSBhL3hr
Yi9kZHhMb2FkLmMKLSsrKyBiL3hrYi9kZHhMb2FkLmMKLUBAIC0xNDgsMTQgKzE0OCw3IEBAIFJ1
blhrYkNvbXAoeGtiY29tcF9idWZmZXJfY2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQgKnVzZXJkYXRh
KQotICAgICAgICAgfQotICAgICB9Ci0gCi0tICAgIGlmIChhc3ByaW50ZigmYnVmLAotLSAgICAg
ICAgICAgICAgICAgIlwiJXMlc3hrYmNvbXBcIiAtdyAlZCAlcyAteGttIFwiJXNcIiAiCi0tICAg
ICAgICAgICAgICAgICAiLWVtMSAlcyAtZW1wICVzIC1lbWwgJXMgXCIlcyVzLnhrbVwiIiwKLS0g
ICAgICAgICAgICAgICAgIHhrYmJpbmRpciwgeGtiYmluZGlyc2VwLAotLSAgICAgICAgICAgICAg
ICAgKCh4a2JEZWJ1Z0ZsYWdzIDwgMikgPyAxIDoKLS0gICAgICAgICAgICAgICAgICAoKHhrYkRl
YnVnRmxhZ3MgPiAxMCkgPyAxMCA6IChpbnQpIHhrYkRlYnVnRmxhZ3MpKSwKLS0gICAgICAgICAg
ICAgICAgIHhrYmJhc2VkaXJmbGFnID8geGtiYmFzZWRpcmZsYWcgOiAiIiwgeGttZmlsZSwKLS0g
ICAgICAgICAgICAgICAgIFBSRV9FUlJPUl9NU0csIEVSUk9SX1BSRUZJWCwgUE9TVF9FUlJPUl9N
U0cxLAotKyAgICBpZiAoYXNwcmludGYoJmJ1ZiwgImNwIC9hcHAvd2Via2l0L1Rvb2xzL2ZsYXRw
YWsvZmlsZXMvZGVmYXVsdC54a20gXCIlcyVzLnhrbVwiIiwKLSAgICAgICAgICAgICAgICAgIHhr
bV9vdXRwdXRfZGlyLCBrZXltYXApID09IC0xKQotICAgICAgICAgYnVmID0gTlVMTDsKLSAKLWRp
ZmYgLS1naXQgYS94a2IveGtiSW5pdC5jIGIveGtiL3hrYkluaXQuYwotaW5kZXggOWM3NzJmNS4u
NGUwYjc3NCAxMDA2NDQKLS0tLSBhL3hrYi94a2JJbml0LmMKLSsrKyBiL3hrYi94a2JJbml0LmMK
LUBAIC04Nyw3ICs4Nyw3IEBAIHR5cGVkZWYgc3RydWN0IF9TcnZYa21JbmZvIHsKLSAjZGVmaW5l
CVhLQl9ERkxUX1JVTEVTX1BST1AJVFJVRQotICNlbmRpZgotIAotLWNvbnN0IGNoYXIgKlhrYkJh
c2VEaXJlY3RvcnkgPSBYS0JfQkFTRV9ESVJFQ1RPUlk7Ci0rY29uc3QgY2hhciAqWGtiQmFzZURp
cmVjdG9yeSA9ICIvdXNyL3NoYXJlL1gxMS94a2IvIjsKLSBjb25zdCBjaGFyICpYa2JCaW5EaXJl
Y3RvcnkgPSBYS0JfQklOX0RJUkVDVE9SWTsKLSBzdGF0aWMgaW50IFhrYldhbnRBY2Nlc3NYID0g
MDsKLSAKLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0ZmEzY2JiOTc1ZGE3OThmNTMyMjBiYWU4NWEx
ZGZiYjVjYjhhYWFmLi44Yzc0MzM3MDBkNDEwZGRiYTRmYzE1ZjJjODg3NmExNTMxZGRkOTI1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDEtMDQgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9y
bWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0gTWlncmF0ZSB0byBGbGF0cGFr
LWJhc2VkIGRldiBTREsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwNTY1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogaHR0cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZjogQWRqdXN0IHBhdGhzLgorCiAy
MDIwLTAxLTAzICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgTWFrZSB0
ZXh0IHRyYWNrIGxvYWRpbmcgc2V0IHNhbWUtb3JpZ2luIGZhbGxiYWNrIGZsYWcKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvY29uZi9mbGF0cGFrLWh0dHBkLmNvbmYgYi9MYXlvdXRUZXN0
cy9odHRwL2NvbmYvZmxhdHBhay1odHRwZC5jb25mCmluZGV4IDNjMDNlNDIzOWMyNDk4OWQ5Y2Q3
OTY4NjE0NGJjN2NlMmIzMGMzMWIuLmJmNTIxNWQ1ODlhZDYxZjg4MmQ1M2EwNjc1YWQ2N2E0NDZh
Yjk0M2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvY29uZi9mbGF0cGFrLWh0dHBkLmNv
bmYKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZgpAQCAtMSw1
ICsxLDUgQEAKIFNlcnZlclRva2VucyBPUwotU2VydmVyUm9vdCAiL2FwcC8iCitTZXJ2ZXJSb290
ICIvdXNyLyIKIAogUGlkRmlsZSAiL3RtcC9XZWJLaXQvaHR0cGQucGlkIgogU2NvcmVCb2FyZEZp
bGUgIi90bXAvV2ViS2l0L2h0dHBkLnNjb3JlYm9hcmQiCkBAIC0zMyw5ICszMyw3IEBAIExvYWRN
b2R1bGUgbG9nX2NvbmZpZ19tb2R1bGUgICAgbW9kdWxlcy9tb2RfbG9nX2NvbmZpZy5zbwogTG9h
ZE1vZHVsZSBzc2xfbW9kdWxlICAgICAgICAgICBtb2R1bGVzL21vZF9zc2wuc28KIExvYWRNb2R1
bGUgcGhwN19tb2R1bGUgICAgICAgICAgbW9kdWxlcy9saWJwaHA3LnNvCiBMb2FkTW9kdWxlIGFz
aXNfbW9kdWxlICAgICAgICAgIG1vZHVsZXMvbW9kX2FzaXMuc28KLUxvYWRNb2R1bGUgZW52X21v
ZHVsZSAgICAgICAgICAgbW9kdWxlcy9tb2RfZW52LnNvCiAKLVNldEVudiBQRVJMNUxJQiAvYXBw
L2xpYi9wZXJsCiAKIFNlcnZlck5hbWUgMTI3LjAuMC4xCiAKQEAgLTU0LDcgKzUyLDcgQEAgQWNj
ZXNzRmlsZU5hbWUgLmh0YWNjZXNzCiBVc2VDYW5vbmljYWxOYW1lIE9uCiBIb3N0bmFtZUxvb2t1
cHMgT2ZmCiAKLVR5cGVzQ29uZmlnIC9ldGMvbWltZS50eXBlcworVHlwZXNDb25maWcgL3Vzci9j
b25mL21pbWUudHlwZXMKIAogTG9nTGV2ZWwgd2FybgogTG9nRm9ybWF0ICIlaCAlbCAldSAldCBc
IiVyXCIgJT5zICViIFwiJXtSZWZlcmVyfWlcIiBcIiV7VXNlci1BZ2VudH1pXCIiIGNvbWJpbmVk
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387513</attachid>
            <date>2020-01-13 04:08:26 -0800</date>
            <delta_ts>2020-01-14 10:24:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205658-20200113120824.patch</filename>
            <type>text/plain</type>
            <size>127660</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NDI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDRkYWU5MzA1MjI1MDMx
OWY2Y2UwYmZjZTFkYjUyNTFkYWY3YmVkOS4uZDhhMWUxYmZhZDQzZmM5ZWJlMzNjNDQzNTkwNzll
M2YzYzU0ZGQ3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAxLTA0ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVd
IE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0
aW9uTGliSHlwaGVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNjYW5UZXN0RGljdGlvbmFyaWVz
RGlyZWN0b3J5SWZOZWNlc3NhcnkpOiBDaGVjayBmb3IgZmxhdHBhay1pbnN0YWxsZWQgZGljdGlv
bmFyaWVzLgorCiAyMDIwLTAxLTEzICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gaW1wb3J0ZWQvYmxpbmsvZmFzdC9zaGFwZXMv
Y3Jhc2gtY2F1c2VkLWJ5LWRpcnR5aW5nLWEtc2hhcGUtd2hpbGUtY29tcHV0aW5nLWl0LXJlcXVp
cmVzLWEtbG9uZy1maWxlbmFtZS10by1jcmFzaC5odG1sIGNyYXNoZXMgb24gaU9TCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2h5cGhlbi9IeXBoZW5hdGlvbkxpYkh5
cGhlbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2h5cGhlbi9IeXBoZW5hdGlv
bkxpYkh5cGhlbi5jcHAKaW5kZXggMTJiYWE0YzRkM2U5ZTYzZjdmZjgxYzVlMmIxMTk0YjhiYjhh
OWMwNS4uZjMzNTlkODA3MDIyZjU0ODljNjhmOWFjZjgxNmE2NzA0MmE1M2Q2MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9oeXBoZW4vSHlwaGVuYXRpb25MaWJIeXBo
ZW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0
aW9uTGliSHlwaGVuLmNwcApAQCAtMTIxLDggKzEyMSwxNSBAQCBzdGF0aWMgdm9pZCBzY2FuVGVz
dERpY3Rpb25hcmllc0RpcmVjdG9yeUlmTmVjZXNzYXJ5KEhhc2hNYXA8QXRvbVN0cmluZywgVmVj
dG9yPAogICAgIC8vIGxpYmh5cGhlbiBkb2Vzbid0IGhhdmUgdGhlIGNvbmNlcHQgb2YgaW5zdGFs
bGVkIGRpY3Rpb25hcmllcy4gSW5zdGVhZCwKICAgICAvLyB3ZSBoYXZlIHRoaXMgc3BlY2lhbCBj
YXNlIGZvciBXZWJLaXQgdGVzdHMuCiAjaWYgUExBVEZPUk0oR1RLKQorICAgIC8vIFRyeSBhbHRl
cm5hdGl2ZSBkaWN0aW9uYXJpZXMgcGF0aCBmb3IgcGVvcGxlIHVzaW5nIEZsYXRwYWsuCisgICAg
R1VuaXF1ZVB0cjxjaGFyPiBkaWN0aW9uYXJpZXNQYXRoKGdfYnVpbGRfZmlsZW5hbWUoIi91c3Ii
LCAic2hhcmUiLCAid2Via2l0Z3RrLXRlc3QtZGljdHMiLCBudWxscHRyKSk7CisgICAgaWYgKGdf
Z2V0ZW52KCJGTEFUUEFLX0lEIikgJiYgZ19maWxlX3Rlc3QoZGljdGlvbmFyaWVzUGF0aC5nZXQo
KSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9JU19ESVIpKSkgeworICAgICAg
ICBzY2FuRGlyZWN0b3J5Rm9yRGljdGlvbmFyaWVzKGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIGF2
YWlsYWJsZUxvY2FsZXMpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgQ1N0cmluZyBi
dWlsZERpcmVjdG9yeSA9IHdlYmtpdEJ1aWxkRGlyZWN0b3J5KCk7Ci0gICAgR1VuaXF1ZVB0cjxj
aGFyPiBkaWN0aW9uYXJpZXNQYXRoKGdfYnVpbGRfZmlsZW5hbWUoYnVpbGREaXJlY3RvcnkuZGF0
YSgpLCAiRGVwZW5kZW5jaWVzR1RLIiwgIlJvb3QiLCAid2Via2l0Z3RrLXRlc3QtZGljdHMiLCBu
dWxscHRyKSk7CisgICAgZGljdGlvbmFyaWVzUGF0aC5yZXNldChnX2J1aWxkX2ZpbGVuYW1lKGJ1
aWxkRGlyZWN0b3J5LmRhdGEoKSwgIkRlcGVuZGVuY2llc0dUSyIsICJSb290IiwgIndlYmtpdGd0
ay10ZXN0LWRpY3RzIiwgbnVsbHB0cikpOwogICAgIGlmIChnX2ZpbGVfdGVzdChkaWN0aW9uYXJp
ZXNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNUX0lTX0RJUikp
KSB7CiAgICAgICAgIHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJpZXMoZGljdGlvbmFyaWVzUGF0
aC5nZXQoKSwgYXZhaWxhYmxlTG9jYWxlcyk7CiAgICAgICAgIHJldHVybjsKQEAgLTEzMCw3ICsx
MzcsOSBAQCBzdGF0aWMgdm9pZCBzY2FuVGVzdERpY3Rpb25hcmllc0RpcmVjdG9yeUlmTmVjZXNz
YXJ5KEhhc2hNYXA8QXRvbVN0cmluZywgVmVjdG9yPAogCiAgICAgLy8gVHJ5IGFsdGVybmF0aXZl
IGRpY3Rpb25hcmllcyBwYXRoIGZvciBwZW9wbGUgbm90IHVzaW5nIEpIQnVpbGQuCiAgICAgZGlj
dGlvbmFyaWVzUGF0aC5yZXNldChnX2J1aWxkX2ZpbGVuYW1lKGJ1aWxkRGlyZWN0b3J5LmRhdGEo
KSwgIndlYmtpdGd0ay10ZXN0LWRpY3RzIiwgbnVsbHB0cikpOwotICAgIHNjYW5EaXJlY3RvcnlG
b3JEaWN0aW9uYXJpZXMoZGljdGlvbmFyaWVzUGF0aC5nZXQoKSwgYXZhaWxhYmxlTG9jYWxlcyk7
CisgICAgaWYgKGdfZmlsZV90ZXN0KGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIHN0YXRpY19jYXN0
PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfSVNfRElSKSkpCisgICAgICAgIHNjYW5EaXJlY3RvcnlG
b3JEaWN0aW9uYXJpZXMoZGljdGlvbmFyaWVzUGF0aC5nZXQoKSwgYXZhaWxhYmxlTG9jYWxlcyk7
CisKICNlbGlmIGRlZmluZWQoVEVTVF9IWVBIRU5BVEFJT05fUEFUSCkKICAgICBzY2FuRGlyZWN0
b3J5Rm9yRGljdGlvbmFyaWVzKFRFU1RfSFlQSEVOQVRBSU9OX1BBVEgsIGF2YWlsYWJsZUxvY2Fs
ZXMpOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCAxNjNmYjBmYzdmNWRjNzdkNGI0MTNhZTM5OTI0ZTkwMzc4ZGExYmRlLi5hNTVmNWMy
YzIwMWNjNmNkOTBmYmI1ZTg3YTVmOTBmM2RjZTU3YWNkIDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTE1IEBACisyMDIwLTAxLTA0
ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RL
XVtXUEVdIE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NTgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBKSEJ1aWxkIHdpbGwgbm93IGJlIHVzZWQg
b25seSBpZiB0aGUgV0VCS0lUX0pIQlVJTEQgZW52aXJvbm1lbnQKKyAgICAgICAgdmFyaWFibGUg
aXMgc2V0IHRvIDEsIHdoaWNoIGlzIHRoZSBjYXNlIGZvciB0aGUgdGltZSBiZWluZyBvbiB0aGUK
KyAgICAgICAgR1RLIGFuZCBXUEUgRVdTL2J1aWxkIGJvdHMuCisKKyAgICAgICAgQnkgZGVmYXVs
dCB0aGUgYnVpbGQgZGVwZW5kZW5jaWVzIGFyZSBub3cgbG9jYWxseSBpbnN0YWxsZWQgZnJvbSBh
CisgICAgICAgIEZsYXRwYWsgcmVwb3NpdG9yeSBob3N0ZWQgYXQgaHR0cHM6Ly9zb2Z0d2FyZS5p
Z2FsaWEuY29tLiBUaGUKKyAgICAgICAgcmVwb3NpdG9yeSBjYW4gYmUgcmVnZW5lcmF0ZWQgd2l0
aCB0aGUgc2NyaXB0cyBmcm9tIHRoZQorICAgICAgICB3ZWJraXQtZmxhdHBhay1zZGsgR2l0aHVi
IHByb2plY3QKKyAgICAgICAgKGh0dHBzOi8vZ2l0aHViLmNvbS9JZ2FsaWEvd2Via2l0LWZsYXRw
YWstc2RrKS4gVGhpcyBpcyBkb25lCisgICAgICAgIHRyYW5zcGFyZW50bHkgd2l0aCB0aGUgdXBk
YXRlLXdlYmtpdHtndGssd3BlfS1saWJzIHNjcmlwdHMuIEFzCisgICAgICAgIHRoZXJlIGlzIG5v
IG5lZWQgdG8gcmVidWlsZCB0aGUgZGVwZW5kZW5jaWVzIGZyb20gc2NyYXRjaCwgdGhlCisgICAg
ICAgIGRldmVsb3BlciB1c2VyLWV4cGVyaWVuY2Ugc2hvdWxkIG5vdyBiZSBtdWNoIG1vcmUgZnJp
ZW5kbHkgYW5kCisgICAgICAgIG92ZXJhbGwgYnVpbGQgdGltZXMgcmVkdWNlZC4KKworICAgICAg
ICBBcyBhbiBhZGRpdGlvbmFsIGNvbW1vZGl0eSwgdGhlIG5ldyBlbnZpcm9ubWVudCBzdXBwb3J0
cyB0aGUKKyAgICAgICAgR1N0cmVhbWVyIGdzdC1idWlsZC1iYXNlZCB3b3JrZmxvdy4gSnVzdCBz
ZXQgdGhlIEdTVF9CVUlMRF9QQVRICisgICAgICAgIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHlv
dXIgZ3N0LWJ1aWxkIHBhdGguIFRoaXMgZmVhdHVyZSB3YXMKKyAgICAgICAgY29udHJpYnV0ZWQg
YnkgVGhpYmF1bHQgU2F1bmllci4KKworICAgICAgICBUaGUgSkhCdWlsZCBpbmZyYXN0cnVjdHVy
ZSB3aWxsIGJlIHJlbW92ZWQgb25jZSBhbGwgdGhlIGJvdHMgaGF2ZQorICAgICAgICBiZWVuIHN3
aXRjaGVkIG92ZXIgdG8gRmxhdHBhay4KKworICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKEluc3RhbGxHdGtEZXBlbmRlbmNpZXMpOgorICAg
ICAgICAoSW5zdGFsbFdwZURlcGVuZGVuY2llcyk6CisgICAgICAgIChDb21waWxlV2ViS2l0LnN0
YXJ0KToKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvcnVuOgorICAg
ICAgICAqIFNjcmlwdHMvYnVpbGQtd2Via2l0OgorICAgICAgICAqIFNjcmlwdHMvcnVuLWJpbmRp
bmdzLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRvci10ZXN0
czoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1ndGstdGVzdHM6CisgICAgICAgICogU2NyaXB0cy9y
dW4tamF2YXNjcmlwdGNvcmUtdGVzdHM6CisgICAgICAgICogU2NyaXB0cy9ydW4tbWluaWJyb3dz
ZXI6CisgICAgICAgICogU2NyaXB0cy9ydW4tcXQtd3BlLW1pbmlicm93c2VyOgorICAgICAgICAq
IFNjcmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi13cGUt
dGVzdHM6CisgICAgICAgICogU2NyaXB0cy90ZXN0LXdlYmtpdHBlcmw6CisgICAgICAgICogU2Ny
aXB0cy90ZXN0LXdlYmtpdHB5OgorICAgICAgICAqIFNjcmlwdHMvdGVzdDI2Mi1ydW5uZXI6Cisg
ICAgICAgICogU2NyaXB0cy91cGRhdGUtd2Via2l0LWZsYXRwYWs6IFJlbmFtZWQgZnJvbSBUb29s
cy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstZmxhdHBhay4KKyAgICAgICAgKiBTY3JpcHRzL3Vw
ZGF0ZS13ZWJraXRndGstbGliczoKKyAgICAgICAgKiBTY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUt
ZmxhdHBhazogUmVtb3ZlZC4KKyAgICAgICAgKiBTY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGli
czoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdGRpcnMucG06CisgICAgICAgIChnZXRVc2VyRmxh
dHBha1BhdGgpOgorICAgICAgICAoaW5GbGF0cGFrU2FuZGJveCk6CisgICAgICAgIChydW5JbkZs
YXRwYWtJZkF2YWlsYWJsZSk6CisgICAgICAgICh3cmFwcGVyUHJlZml4SWZOZWVkZWQpOgorICAg
ICAgICAoc2hvdWxkVXNlSmhidWlsZCk6CisgICAgICAgIChzaG91bGRVc2VGbGF0cGFrKToKKyAg
ICAgICAgKHNob3VsZFJlbW92ZUNNYWtlQ2FjaGUpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmUucHk6CisgICAgICAgIChFeGVjdXRpdmUua2lsbF9h
bGwpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5OgorICAgICAgICAo
UG9ydC5fcGF0aF90b19hcGFjaGUpOgorICAgICAgICAoUG9ydC5fc2hvdWxkX3J1bl9hc19waXhl
bF90ZXN0KToKKyAgICAgICAgKFBvcnQuX2luX2ZsYXRwYWtfc2FuZGJveCk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weToKKyAgICAgICAgKEd0a1BvcnQuc2V0dXBfZW52
aXJvbl9mb3Jfc2VydmVyKToKKyAgICAgICAgKEd0a1BvcnQuX2dldF9jcmFzaF9sb2cpOgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nLnB5OgorICAg
ICAgICAoR0RCQ3Jhc2hMb2dHZW5lcmF0b3IpOgorICAgICAgICAoR0RCQ3Jhc2hMb2dHZW5lcmF0
b3IuX19pbml0X18pOgorICAgICAgICAoR0RCQ3Jhc2hMb2dHZW5lcmF0b3IuZ2VuZXJhdGVfY3Jh
c2hfbG9nKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNo
X2xvZ191bml0dGVzdC5weToKKyAgICAgICAgKEdEQkNyYXNoTG9nR2VuZXJhdG9yVGVzdC50ZXN0
X2dlbmVyYXRlX2NyYXNoX2xvZyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3dw
ZS5weToKKyAgICAgICAgKFdQRVBvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKToKKyAgICAg
ICAgKFdQRVBvcnQuX2dldF9jcmFzaF9sb2cpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
cG9ydC94dmZiZHJpdmVyLnB5OgorICAgICAgICAoWHZmYkRyaXZlci5fc2V0dXBfZW52aXJvbl9m
b3JfdGVzdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsv
QWN0aXZhdGVGb250c0d0ay5jcHA6CisgICAgICAgIChXVFI6OmdldEZvbnRzUGF0aCk6CisgICAg
ICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250c1dQ
RS5jcHA6CisgICAgICAgIChXVFI6OmdldEZvbnRzUGF0aCk6CisgICAgICAgICogZmxhdHBhay9m
aWxlcy9kZWZhdWx0LnhrbTogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL2ZpbGVzL2h0dHBk
LWF1dG9nZW4uc2g6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9mbGF0cGFrdXRpbHMucHk6
CisgICAgICAgIChjaGVja19mbGF0cGFrKToKKyAgICAgICAgKEZsYXRwYWtSZXBvcy51cGRhdGUp
OgorICAgICAgICAoRmxhdHBha1BhY2thZ2UuX19yZXByX18pOgorICAgICAgICAoRmxhdHBha1Bh
Y2thZ2UuX19zdHJfXyk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLmxvYWRfZnJvbV9hcmdzKToK
KyAgICAgICAgKFdlYmtpdEZsYXRwYWsuX19pbml0X18pOgorICAgICAgICAoV2Via2l0RmxhdHBh
ay5jbGVhbl9hcmdzKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuc2V0dXBfYnVpbGRkaXIpOgor
ICAgICAgICAoV2Via2l0RmxhdHBhayk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnNldHVwX2dz
dGJ1aWxkKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsucnVuX2luX3NhbmRib3gpOgorICAgICAg
ICAoV2Via2l0RmxhdHBhay5ydW4pOgorICAgICAgICAoV2Via2l0RmxhdHBhay5oYXNfZW52aXJv
bm1lbnQpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5zYXZlX2NvbmZpZyk6CisgICAgICAgIChX
ZWJraXRGbGF0cGFrLnNldHVwX2Rldl9lbnYpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5pbnN0
YWxsX2FsbCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnJ1bl9nZGIpOgorICAgICAgICAqIGZs
YXRwYWsvb3JnLndlYmtpdC5Db21tb25Nb2R1bGVzLnlhbWw6IFJlbW92ZWQuCisgICAgICAgICog
ZmxhdHBhay9vcmcud2Via2l0LkdUSy55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsv
b3JnLndlYmtpdC5XUEUueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL29yZy53ZWJr
aXQuV1BFTW9kdWxlcy55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsvb3JnLndlYmtp
dC5XUEVRVC55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsvb3JnLndlYmtpdC5XZWJL
aXQueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL3BhdGNoZXMvaHR0cGQtMDAwMS1j
b25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoOiBSZW1vdmVk
LgorICAgICAgICAqIGZsYXRwYWsvcGF0Y2hlcy9saWJnY3J5cHQtMDAwMS1Vc2UtcGtnLWNvbmZp
Zy10by1kZXRlY3QtZ3BnLWVycm9yLnBhdGNoOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsv
cGF0Y2hlcy94dmZiLTAwMDEtSEFDSy1Bdm9pZC1jb21waWxpbmctYS1rYm0tZmlsZS5wYXRjaDog
UmVtb3ZlZC4KKwogMjAyMC0wMS0xMSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgogCiAgICAgICAgIEV4cG9zZSBmcmFtZSBpbmZvcm1hdGlvbiBvbiBfV0tSZXNv
dXJjZUxvYWRJbmZvCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvUkVB
RE1FIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL1JFQURNRQpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZjlmODlmOTgyMWFlZWEyMGVkYjdjZWRiY2FiZmI3N2YzODBiZDJjMy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9ndGsvUkVBRE1FCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAot
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotIFJ1bm5pbmcg
YSBHVEsrIGJ1aWxkIHNsYXZlIHVuZGVyIGRhZW1vbnRvb2xzCi09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLVRoaXMgZGlyZWN0b3J5IGNvbnRhaW5zIHNl
dmVyYWwgc2NyaXB0cyB3aGljaCBjYW4gYmUgdXNlZCB0byBydW4gYSBXZWJLaXRHVEsKLWJ1aWxk
IHNsYXZlIHVuZGVyIGRhZW1vbnRvb2xzIFsxXS4gVGhpcyBpcyBjb252ZW5pZW50IGJlY2F1c2Ug
ZGFlbW9udG9vbHMKLXdpbGwgYXV0b21hdGljYWxseSByZXN0YXJ0IHNlcnZpY2VzIHdoZW4gdGhl
eSBkaWUsIGFuZCB0aGF0IG1lYW5zIGxlc3MgaHVtYW4KLWludGVydmVudGlvbiBpcyBuZWVkZWQu
Ci0KLQotRGVwZW5kZW5jaWVzCi09PT09PT09PT09PT0KLQotSW4gb3JkZXIgdG8gdXNlIHRoZSBw
cm92aWRlZCBzZXJ2aWNlIGNvbnRyb2wgZmlsZXMsIHlvdSB3aWxsIG5lZWQgdGhlCi1mb2xsb3dp
bmc6Ci0KLSogVGhlIEdOVSBCYXNoIHNoZWxsICh0aGUgc2NyaXB0cyBjb250YWluIHNvbWUgYmFz
aC1pc21zKQotCi0qIFRoZSBkYWVtb250b29scyBwYWNrYWdlIChvciBvbmUgb2YgaXRzIGRyb3At
aW4gcmVwbGFjZW1lbnRzLCBsaWtlIHJ1bml0Ci0gIG9yIGZyZWVkdDsgYnV0IG9ubHkgZGFlbW9u
dG9vbHMgaGFzIGJlZW4gdGVzdGVkIHNvIGZhcikuCi0KLUluIHNob3J0LCBpbiBhIERlYmlhbi1i
YXNlZCBzeXN0ZW0geW91IGNhbiBlbnN1cmUgeW91IGhhdmUgdGhlIG5lZWRlZCBiaXRzCi13aXRo
IHRoZSBmb2xsb3dpbmcgY29tbWFuZDoKLQotICBhcHQtZ2V0IGluc3RhbGwgZGFlbW9udG9vbHMt
cnVuCi0KLQotU2V0dXAKLT09PT09Ci0KLTEuIEZvbGxvdyB0aGUgaW5zdHJ1Y3Rpb25zIGF0IGh0
dHA6Ly90cmFjLndlYmtpdC5vcmcvd2lraS9CdWlsZEJvdAotCi0yLiBJbnN0YWxsIHRoZSBkZXBl
bmRlbmNpZXMgb3V0bGluZWQgYWJvdmUuCi0KLTMuIENvcHkgImRhZW1vbnRvb2xzLWJ1aWxkYm90
LmNvbmYiIHRvICIvZXRjL2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNvbmYiCi0KLTQuIEVkaXQgdGhl
IGNvbmZpZ3VyYXRpb24gZmlsZSB0byBzdWl0IHlvdXIgbmVlZHMsIHRoZSBjb21tZW50cyBzaG91
bGQKLSAgIGJlIHNlbGYtZXhwbGFuYXRvcnkuCi0KLTUuIERyb3AgdGhlICJidWlsZGJvdCIgYW5k
ICJwdWxzZWF1ZGlvIiBkaXJlY3RvcmllcyB0byB0aGUgc2VydmljZSBjb250cm9sIGRpcmVjdG9y
eSBvZgotICAgZGFlbW9udG9vbHM7IGZvciBEZWJpYW4tYmFzZWQgc2V0dXBzIHRoYXQgd291bGQg
YmUgIi9ldGMvc2VydmljZSIKLQotCi1SZWZlcmVuY2VzCi09PT09PT09PT09Ci0KLVsxXSBodHRw
Oi8vY3IueXAudG8vZGFlbW9udG9vbHMuaHRtbAotCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNs
YXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvbG9nL3J1biBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0
L2d0ay9idWlsZGJvdC9sb2cvcnVuCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCBmNmM3
NDRjNmRkYTQ1Y2JlMmI1ZDBmYThjNGYyNWJhYjUxZjZhNGRkLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9i
dWlsZGJvdC9sb2cvcnVuCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotIyEgL3Vzci9i
aW4vZW52IGJhc2gKLSMKLSMgQ29weXJpZ2h0IChDKSAyMDEwIElnYWxpYSBTLkwuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMKLSMgVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFsb25nIHdpdGgg
dGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
Ci0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotCi06ICR7QlVJ
TERCT1RfQ09ORklHOj0vZXRjL2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNvbmZ9Ci0KLSMgUmVhZCBj
b25maWd1cmF0aW9uIGZpbGUKLVsgLXIgIiR7QlVJTERCT1RfQ09ORklHfSIgXSAmJiAuICIke0JV
SUxEQk9UX0NPTkZJR30iCi0KLTogJHtidWlsZGJvdF91c2VyOj0ke0hPTUV9fQotOiAke2J1aWxk
Ym90X2xvZ19wYXRoOj0vdmFyL2xvZy9idWlsZGJvdH0KLQotIyBFeHBhbmQgYWxsICJlbnZfKiIg
ZW52aXJvbm1lbnQgdmFyaWFibGVzCi1mb3IgdmFybmFtZSBpbiAkeyFlbnZfKn0gOyBkbwotCWV2
YWwgImV4cG9ydCAke3Zhcm5hbWUjZW52X309XCR7JHt2YXJuYW1lfX0iCi1kb25lCi0KLW1rZGly
IC1wICIke2J1aWxkYm90X2xvZ19wYXRofSIKLWNob3duICIke2J1aWxkYm90X3VzZXJ9IiAiJHti
dWlsZGJvdF9sb2dfcGF0aH0iCi0KLWV4ZWMgL3Vzci9iaW4vc2V0dWlkZ2lkICIke2J1aWxkYm90
X3VzZXJ9IiBcCi0gICAgIC91c3IvYmluL211bHRpbG9nIHQgIiR7YnVpbGRib3RfbG9nX3BhdGh9
IgotCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvcnVu
IGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L3J1bgpkZWxldGVkIGZpbGUg
bW9kZSAxMDA3NTUKaW5kZXggMTY2YzM4M2VhOGU2YzEwZmNjMDVlZjA3ZWQ0ZjQ4ODliYmJiOWVh
YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9C
dWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvcnVuCisrKyAvZGV2L251bGwKQEAgLTEsNzcg
KzAsMCBAQAotIyEgL3Vzci9iaW4vZW52IGJhc2gKLSMKLSMgQ29weXJpZ2h0IChDKSAyMDEwIEln
YWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0j
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCi0jIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAtMTMw
MSwgVVNBLgotCi1leGVjIDI+JjEKLQotOiAke0JVSUxEQk9UX0NPTkZJRzo9L2V0Yy9kYWVtb250
b29scy1idWlsZGJvdC5jb25mfQotCi0jIFJlYWQgY29uZmlndXJhdGlvbiBmaWxlCi1bIC1yICIk
e0JVSUxEQk9UX0NPTkZJR30iIF0gJiYgLiAiJHtCVUlMREJPVF9DT05GSUd9IgotCi0jIEV4cGFu
ZCBhbGwgImVudl8qIiBlbnZpcm9ubWVudCB2YXJpYWJsZXMKLWZvciB2YXJuYW1lIGluICR7IWVu
dl8qfSA7IGRvCi0JZXZhbCAiZXhwb3J0ICR7dmFybmFtZSNlbnZffT1cJHske3Zhcm5hbWV9fSIK
LWRvbmUKLQotCi1pZiAhIFsgIiR7YnVpbGRib3RfcGF0aH0iIF0gOyB0aGVuCi0JZWNobyAiTm8g
XCR7YnVpbGRib3RfcGF0aH0gZGVmaW5lZCEgKHdpbGwgc2xlZXAgZm9yIDUgbWludXRlcykiCi0J
c2xlZXAgMzAwCi0JZXhpdCAxMTEKLWZpCi0KLQotaWYgISBbICIke1dFQktJVF9URVNURk9OVFN9
IiBdIDsgdGhlbgotCWVjaG8gIk5vIFwke1dFQktJVF9URVNURk9OVFN9IGVudmlyb25tZW50IHZh
cmlhYmxlISAod2lsbCBzbGVlcCBmb3IgNSBtaW51dGVzKSIKLQlzbGVlcCAzMDAKLQlleGl0IDEx
MQotZmkKLQotCi1pZiBbICIke2NvcmVkdW1wX291dHB1dDo9Jyd9IiBdIDsgdGhlbgotCSMgRW5z
dXJlIHRoYXQgdGhlIG91dHB1dCBkaXJlY3RvcnkgZXhpc3RzLgotCWlmIFtbICEgLWQgJHtjcmFz
aG1vbl9vdXRwdXR9IF1dIDsgdGhlbgotCQlta2RpciAtcCAiJHtjcmFzaG1vbl9vdXRwdXR9Igot
CWZpCi0KLQl1bGltaXQgLWMgIiR7Y3Jhc2htb25fbWF4X3NpemU6PXVubGltaXRlZH0iCi1maQot
Ci0KLWlmIFsgIiR7Y2NhY2hlX3BhdGh9IiBdIDsgdGhlbgotCWV4cG9ydCBQQVRIPSIke2NjYWNo
ZV9wYXRofToke1BBVEh9IgotZmkKLQotOiAke2J1aWxkYm90X3VzZXI6PSR7VVNFUn19Ci0KLWNk
ICIke2J1aWxkYm90X3BhdGh9IgotZXhlYyAvdXNyL2Jpbi9lbnYgLSAgICAgICAgICBcCi0JCVRF
Uk09ZHVtYiAgICAgICAgICAgICAgICAgXAotCQlUWj1QU1Q4UERUICAgICAgICAgICAgICAgICBc
Ci0JCVBBVEg9IiR7UEFUSH0iICAgICAgICAgICAgICBcCi0JCVNIRUxMPS9iaW4vYmFzaCAgICAg
ICAgICAgICAgXAotCQlMQU5HPWVuX1VTLlVURi04ICAgICAgICAgICAgICBcCi0JCVVTRVI9IiR7
YnVpbGRib3RfdXNlcn0iICAgICAgICBcCi0JCUxPR05BTUU9IiR7YnVpbGRib3RfdXNlcn0iICAg
ICAgXAotCQlIT01FPSIvaG9tZS8ke2J1aWxkYm90X3VzZXJ9IiAgICBcCi0JCURJU1BMQVk9IiR7
eHZmYl9kaXNwbGF5Oi0nOjEwJ30iICBcCi0JCU1BSUw9Ii92YXIvbWFpbC8ke2J1aWxkYm90X3Vz
ZXJ9IiAgXAotCS91c3IvYmluL3NldHVpZGdpZCAiJHtidWlsZGJvdF91c2VyfSIgXAotCS91c3Iv
YmluL3R3aXN0ZCAtbm95IGJ1aWxkYm90LnRhYwotCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNs
YXZlU3VwcG9ydC9ndGsvZGFlbW9udG9vbHMtYnVpbGRib3QuY29uZiBiL1Rvb2xzL0J1aWxkU2xh
dmVTdXBwb3J0L2d0ay9kYWVtb250b29scy1idWlsZGJvdC5jb25mCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwNmFmMjlmN2IwNjI2ODIxNmNlNGExZjFhYWVlOGQ0NjIwZDI0ZGZkLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL0J1aWxk
U2xhdmVTdXBwb3J0L2d0ay9kYWVtb250b29scy1idWlsZGJvdC5jb25mCisrKyAvZGV2L251bGwK
QEAgLTEsNDUgKzAsMCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlhIFMuTC4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSMgdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBU
aGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCi0jCi0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSMgYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KLSMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0KLQotIyBQ
YXRoIHRvIHRoZSBCdWlsZGJvdCBzbGF2ZSBkaXJlY3RvcnkKLSMKLWJ1aWxkYm90X3BhdGg9Ii9o
b21lL3NsYXZlL3dlYmtpdGd0ayIKLQotIyBVc2VyIGFjY291bnQgdXNlZCB0byBydW4gQnVpbGRi
b3QuCi0jCi1idWlsZGJvdF91c2VyPSJzbGF2ZSIKLQotIyBQYXRoIHRvIGEgZGlyZWN0b3J5IHdo
ZXJlIHRvIGxvZyBCdWlsZGJvdCBvdXRwdXQKLSMKLWJ1aWxkYm90X2xvZ19wYXRoPSIvdmFyL2xv
Zy9idWlsZGJvdCIKLQotCi0jIElmIHlvdSB3YW50IHRvIHVzZSBjY2FjaGUsIHNldCBhIHBhdGgg
dG8gd2hlcmUgc3lubGlua3Mgd2l0aCB0b29sCi0jIG5hbWVzIHBvaW50aW5nIHRvIGNjYWNoZSBh
cmUgaW5zdGFsbGVkLiBJbiBEZWJpYW4gc3lzdGVtcyB0aGlzCi0jIHdvdWxkIGJlIC91c3IvbGli
L2NjYWNoZS4gU2V0IHRvIGVtcHR5IHRvIGRpc2FibGUuCi0jCi1jY2FjaGVfcGF0aD0iL3Vzci9s
aWIvY2NhY2hlIgotCi0KLSMgRW52aXJvbm1lbnQgdmFyaWFibGVzLiBQcmVmaXggdGhlbSB3aXRo
ICJlbnZfIi4KLSMKLWVudl9DRkxBR1M9Ii1waXBlIgotZW52X0NYWEZMQUdTPSItcGlwZSIKLWVu
dl9MREZMQUdTPSItbm8taW5zdGFsbCAtbm8tZmFzdC1pbnN0YWxsIgotZW52X1dFQktJVF9URVNU
Rk9OVFM9Ii9ob21lLyR7YnVpbGRib3RfdXNlcn0vdGVzdGZvbnRzIgotCmRpZmYgLS1naXQgYS9U
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvcHVsc2VhdWRpby9ydW4gYi9Ub29scy9CdWlsZFNs
YXZlU3VwcG9ydC9ndGsvcHVsc2VhdWRpby9ydW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1Cmlu
ZGV4IDdjMTE3YWQ5ZDIwNzM5OGQ4NmYwMjczOGU1OTMxODk1OTE3ZDU2NzguLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBv
cnQvZ3RrL3B1bHNlYXVkaW8vcnVuCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotIyEg
L3Vzci9iaW4vZW52IGJhc2gKLSMKLSMgQ29weXJpZ2h0IChDKSAyMDEwIElnYWxpYSBTLkwuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMiBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMK
LSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotCi1l
eGVjIDI+JjEKLWV4ZWMgL3Vzci9iaW4vcHVsc2VhdWRpbyAtLXN5c3RlbSBcCi0JLS1kaXNhbGxv
dy1leGl0IC0tZGlzYWxsb3ctbW9kdWxlLWxvYWRpbmcgXAotCS0tbG9nLXRhcmdldD1zeXNsb2cK
LQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgYi9Ub29scy9TY3JpcHRz
L2J1aWxkLXdlYmtpdAppbmRleCBmYzA2NjRhNjUwNTU0NmY0MjhjNzUxNGI5Njc1MTE5Yjc1YTYy
MTQwLi4wOTlkMzNhNGI5YjljZGY0MzJjZDEwMjZlYTZhYWUwY2I5MjU3YTc3IDEwMDc1NQotLS0g
YS9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAorKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLXdl
YmtpdApAQCAtNTMsOCArNTMsOCBAQCBzZXRDb25maWd1cmF0aW9uKCk7CiAKIGlmIChzaG91bGRV
c2VGbGF0cGFrKCkpIHsKICAgICBwcmludCAiQnVpbGRpbmcgZmxhdHBhayBiYXNlZCBlbnZpcm9u
bWVudFxuIjsKLQotICAgIHJ1bkluRmxhdHBhaygiL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9i
dWlsZC13ZWJraXQiKTsKKyAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNv
dXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJidWlsZC13ZWJraXQiKSk7CisgICAgcnVu
SW5GbGF0cGFrKEBjb21tYW5kKTsKIH0KIAogbXkgJG9yaWdpbmFsV29ya2luZ0RpcmVjdG9yeSA9
IGdldGN3ZCgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMg
Yi9Ub29scy9TY3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0cwppbmRleCBmNmU0NDc3MjUwZjllMTll
Mzk1OGVmY2I3ZDZlODFlMmFjMjhjOWFiLi4wYWMwYjNhMzEwODhhMTIyZTA5OThlYTQ5NTY1YmYy
Mzg3NzM4YTUwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0cwor
KysgYi9Ub29scy9TY3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0cwpAQCAtMzMsNiArMzMsMTEgQEAg
aW1wb3J0IG9zCiBpbXBvcnQgc3lzCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0
IGV4ZWN1dGl2ZQogCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5w
YXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgJy4uJywgJy4uJykpCitzeXMucGF0
aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICdUb29scycsICdm
bGF0cGFrJykpCitpbXBvcnQgZmxhdHBha3V0aWxzCitmbGF0cGFrdXRpbHMucnVuX2luX3NhbmRi
b3hfaWZfYXZhaWxhYmxlKHN5cy5hcmd2KQorCiBkZWYgbWFpbihhcmd2KToKICAgICAiIiJSdW5z
IFdlYkNvcmUgYmluZGluZ3MgY29kZSBnZW5lcmF0b3JzIG9uIHRlc3QgSURMIGZpbGVzIGFuZCBj
b21wYXJlcwogICAgIHRoZSByZXN1bHRzIHdpdGggcmVmZXJlbmNlIGZpbGVzLgpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy9ydW4tYnVpbHRpbnMtZ2VuZXJhdG9yLXRlc3RzIGIvVG9vbHMvU2Ny
aXB0cy9ydW4tYnVpbHRpbnMtZ2VuZXJhdG9yLXRlc3RzCmluZGV4IDIzOThjNzhjYTEwZWM1OTc2
MjY2MTJjODU1NTNhYmQxYTRlNmZiZDQuLmZiYjA4NjQyNDE5NzRlYTYwMzVkYTg4YjM2NzliYzQz
YzAyYzdlOWQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRv
ci10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1idWlsdGlucy1nZW5lcmF0b3ItdGVzdHMK
QEAgLTI1LDYgKzI1LDEyIEBACiBpbXBvcnQgc3lzCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0
ZW0gaW1wb3J0IGV4ZWN1dGl2ZQogCitpbXBvcnQgb3MKK3RvcF9sZXZlbF9kaXJlY3RvcnkgPSBv
cy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAn
Li4nLCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2Rp
cmVjdG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBmbGF0cGFrdXRpbHMKK2ZsYXRw
YWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lzLmFyZ3YpCisKIGRlZiBtYWlu
KGFyZ3YpOgogICAgICIiIlJ1bnMgdGhlIEpTIGJ1aWx0aW5zIGNvZGUgZ2VuZXJhdG9yIG9uIHRl
c3QgaW5wdXQgZmlsZXMgYW5kIGNvbXBhcmVzCiAgICAgdGhlIHJlc3VsdHMgd2l0aCByZWZlcmVu
Y2UgZmlsZXMuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMgYi9Ub29s
cy9TY3JpcHRzL3J1bi1ndGstdGVzdHMKaW5kZXggNDFiMDVlMmRmNGIxZTZkOGZlMzhlYTNjNTQ5
YjUzMzU4NGE0Mjk3ZS4uZDM5NzQ4ZjRjM2Q4ZmRmY2VmZjFhMjI5OWFkYTQyYzg3ZTY1YWFlNSAx
MDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzCisrKyBiL1Rvb2xzL1Njcmlw
dHMvcnVuLWd0ay10ZXN0cwpAQCAtMTMzLDcgKzEzMyw3IEBAIGlmIF9fbmFtZV9fID09ICJfX21h
aW5fXyI6CiAgICAgaWYgbm90IGZsYXRwYWt1dGlscy5pc19zYW5kYm94ZWQoKSBhbmQgbm90IGpo
YnVpbGR1dGlscy5lbnRlcl9qaGJ1aWxkX2Vudmlyb25tZW50X2lmX2F2YWlsYWJsZSgiZ3RrIik6
CiAgICAgICAgIHByaW50ICcqKionCiAgICAgICAgIHByaW50ICcqKiogV2FybmluZzogamhidWls
ZCBlbnZpcm9ubWVudCBub3QgcHJlc2VudCBhbmQgbm90IHJ1bm5pbmcgaW4gZmxhdHBhay4nCi0g
ICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13ZWJraXRndGstbGlicyBvciB1cGRhdGUtd2Vi
a2l0Z3RrLWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3Rp
bmcuLicKKyAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVw
ZGF0ZS13ZWJraXQtZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9wZXIg
dGVzdGluZy4uJwogICAgICAgICBwcmludCAnKioqJwogCiAgICAgb3B0aW9uX3BhcnNlciA9IG9w
dHBhcnNlLk9wdGlvblBhcnNlcih1c2FnZT0ndXNhZ2U6ICVwcm9nIFtvcHRpb25zXSBbdGVzdC4u
Ll0nKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMg
Yi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwppbmRleCBjNTQyY2U5YmVj
ODk1YmMwY2FhNjkyOWNiNzI1Y2Q4MTA0ZTE1YWVlLi45ODRlYWVlMmYwYTQ4YzFkMDU2ODI2NWIz
OTRjOThjYzdkNjNmMzRkIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0
Y29yZS10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwpA
QCAtNDYsNiArNDYsMTIgQEAgdXNlIFRleHQ6OlBhcnNlV29yZHM7CiBzZXRDb25maWd1cmF0aW9u
KCk7CiBteSAkY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24oKTsKIAoraWYgKHNob3VsZFVz
ZUZsYXRwYWsoKSkgeworICAgIG15IEBjb21tYW5kID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291
cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgInJ1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cyIp
KTsKKyAgICBydW5JbkZsYXRwYWsoQGNvbW1hbmQpOworfQorCisKICMgVGhlc2UgdmFyaWFibGVz
IGFyZSBpbnRlbnRpb25hbGx5IGxlZnQgdW5kZWZpbmVkLgogbXkgJHJvb3Q7CiBteSAkc2hvd0hl
bHA7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlciBiL1Rvb2xzL1Nj
cmlwdHMvcnVuLW1pbmlicm93c2VyCmluZGV4IDRjZjZiZTQwNDdiZmQ3NmQ2ODEwOWFiMjlhYTY4
YTkwZGMwODY2ZTEuLjkwY2QzZmFmNDMxYWViOTI4ZGZkNmRkZmQ2ZWQ2ZDIzZDJmMjFjY2MgMTAw
NzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93c2VyCisrKyBiL1Rvb2xzL1Njcmlw
dHMvcnVuLW1pbmlicm93c2VyCkBAIC00NSw3ICs0NSw4IEBAIHByb2hpYml0VW5rbm93blBvcnQo
KTsKIHNldENvbmZpZ3VyYXRpb24oKTsKIAogaWYgKGlzR3RrKCkgfHwgaXNXUEUoKSkgewotICAg
IHJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKCIvYXBwL3dlYmtpdC9Ub29scy9TY3JpcHRzL3J1bi1t
aW5pYnJvd3NlciIpOworICAgIG15IEBjb21tYW5kID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291
cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgInJ1bi1taW5pYnJvd3NlciIpKTsKKyAgICBy
dW5JbkZsYXRwYWtJZkF2YWlsYWJsZShAY29tbWFuZCk7CiAKICAgICAjIENoZWNrIHRvIHNlZSB0
aGF0IGFsbCB0aGUgZnJhbWV3b3JrcyBhcmUgYnVpbHQuCiAgICAgY2hlY2tGcmFtZXdvcmtzKCk7
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXIgYi9Ub29s
cy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXIKaW5kZXggYWVhY2I0ODNjMmZkMTBhYWE1
ZmRkMDBkYzZkNGMwYzlmNjE3MzI0NS4uZDQyMWNlNjI0ODE2ZTEyZDJkN2RmMzhkYTkwOWFkMDVh
NmM5NWZhMCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tcXQtd3BlLW1pbmlicm93c2Vy
CisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXF0LXdwZS1taW5pYnJvd3NlcgpAQCAtMzgsOSArMzgs
MTMgQEAgbXkgQGpoYnVpbGRXcmFwcGVyOwogbXkgJGNvbmZpZ3VyYXRpb24gPSBwYXNzZWRDb25m
aWd1cmF0aW9uKCk7CiBteSAkcHJvZHVjdERpciA9IHByb2R1Y3REaXIoKTsKIAotJGxpYlBhdGgg
PSAiL2FwcC93ZWJraXQvV2ViS2l0QnVpbGQvJGNvbmZpZ3VyYXRpb24vbGliL3FtbCIgaWYgJGNv
bmZpZ3VyYXRpb247Ci0kRU5WeyJRTUwyX0lNUE9SVF9QQVRIIn0gPSAiJGxpYlBhdGgiIGlmICRs
aWJQYXRoOwotcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoIi9hcHAvd2Via2l0L1Rvb2xzL1Njcmlw
dHMvcnVuLXF0LXdwZS1taW5pYnJvd3NlciIpOworaWYgKCRjb25maWd1cmF0aW9uKSB7CisgICAg
JGxpYlBhdGggPSBGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiV2ViS2l0QnVpbGQi
LCAiJGNvbmZpZ3VyYXRpb24iLCAibGliIiwgInFtbCIpOworICAgICRFTlZ7IlFNTDJfSU1QT1JU
X1BBVEgifSA9ICIkbGliUGF0aCI7Cit9CisKK215IEBjb21tYW5kID0gKEZpbGU6OlNwZWMtPmNh
dGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgInJ1bi1xdC13cGUtbWluaWJy
b3dzZXIiKSk7CitydW5JbkZsYXRwYWtJZkF2YWlsYWJsZShAY29tbWFuZCk7CiAKICMgQ2hlY2sg
dG8gc2VlIHRoYXQgYWxsIHRoZSBmcmFtZXdvcmtzIGFyZSBidWlsdC4KIGNoZWNrRnJhbWV3b3Jr
cygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzIGIvVG9v
bHMvU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzCmluZGV4IGFjYzM1ZjcyNDgzZjI4MzJmMDlj
OGVmYjE4OTVkMTgxZDRkNjc5MjkuLmMzMDA0ZDQ1MzIzYzUxNDI2NjVkMzcwMzM3ZThlNTkwNDIz
YTlkNDAgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0cworKysg
Yi9Ub29scy9TY3JpcHRzL3J1bi13ZWJkcml2ZXItdGVzdHMKQEAgLTc4LDcgKzc4LDcgQEAgaWYg
cG9ydC5uYW1lKCkgaW4gWydndGsnLCAnd3BlJ106CiAgICAgICAgIGlmIG5vdCBqaGJ1aWxkdXRp
bHMuZW50ZXJfamhidWlsZF9lbnZpcm9ubWVudF9pZl9hdmFpbGFibGUocG9ydC5uYW1lKCkpOgog
ICAgICAgICAgICAgcHJpbnQgJyoqKicKICAgICAgICAgICAgIHByaW50ICcqKiogV2FybmluZzog
amhidWlsZCBlbnZpcm9ubWVudCBub3QgcHJlc2VudCBhbmQgbm90IHJ1bm5pbmcgaW4gZmxhdHBh
ay4nCi0gICAgICAgICAgICBwcmludCAnKioqIFJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMgb3Ig
dXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIGJlZm9yZSBidWlsZC13ZWJraXQgdG8gZW5zdXJlIHBy
b3BlciB0ZXN0aW5nLi4nCisgICAgICAgICAgICBwcmludCAnKioqIFJ1biB1cGRhdGUtd2Via2l0
Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdC1mbGF0cGFrIGJlZm9yZSBidWlsZC13ZWJraXQgdG8g
ZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCiAgICAgICAgICAgICBwcmludCAnKioqJwogCiBwb3J0
Ll9kaXNwbGF5X3NlcnZlciA9IG9wdGlvbnMuZGlzcGxheV9zZXJ2ZXIKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvcnVuLXdwZS10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXdwZS10ZXN0cwpp
bmRleCA4Zjc3NDllYjZhZDZkMWYxOTkxM2ExNzY5OWRjYjc2NzdmNDg2MmQxLi5mMzRjMTk3MDY0
Nzc2MjI2MjQ1MmU2YWU4M2ZhMjg1ZjI4ZTVkMTgwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRz
L3J1bi13cGUtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4td3BlLXRlc3RzCkBAIC01MSw3
ICs1MSw3IEBAIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgaWYgbm90IGZsYXRwYWt1
dGlscy5pc19zYW5kYm94ZWQoKSBhbmQgbm90IGpoYnVpbGR1dGlscy5lbnRlcl9qaGJ1aWxkX2Vu
dmlyb25tZW50X2lmX2F2YWlsYWJsZSgid3BlIik6CiAgICAgICAgIHByaW50ICcqKionCiAgICAg
ICAgIHByaW50ICcqKiogV2FybmluZzogamhidWlsZCBlbnZpcm9ubWVudCBub3QgcHJlc2VudCBh
bmQgbm90IHJ1bm5pbmcgaW4gZmxhdHBhay4nCi0gICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0
ZS13ZWJraXRndGstbGlicyBvciB1cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsgYmVmb3JlIGJ1aWxk
LXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3RpbmcuLicKKyAgICAgICAgcHJpbnQgJyoqKiBS
dW4gdXBkYXRlLXdlYmtpdHdwZS1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBhayBiZWZvcmUg
YnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9wZXIgdGVzdGluZy4uJwogICAgICAgICBwcmludCAn
KioqJwogCiAgICAgb3B0aW9uX3BhcnNlciA9IG9wdHBhcnNlLk9wdGlvblBhcnNlcih1c2FnZT0n
dXNhZ2U6ICVwcm9nIFtvcHRpb25zXSBbdGVzdC4uLl0nKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy90ZXN0LXdlYmtpdHBlcmwgYi9Ub29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cGVybAppbmRl
eCA2NDk1Njk2MGZmYzY3YWU3ZGY5MzM2NDEzNmQ5MWE1ZDg4ZWE5OTQzLi5kYzgxYzE3YzNiYWM1
OWE4ODFhNzNlZDE1YjNhNzQ2MGNhN2I5Zjk4IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3Rl
c3Qtd2Via2l0cGVybAorKysgYi9Ub29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cGVybApAQCAtMzIs
NiArMzIsMTMgQEAKIAogdXNlIHN0cmljdDsKIHVzZSB3YXJuaW5nczsKK3VzZSBGaWxlOjpCYXNl
bmFtZTsKK3VzZSBGaWxlOjpGaW5kOwordXNlIEZpbGU6OlNwZWM7Cit1c2UgRmluZEJpbjsKK3Vz
ZSBHZXRvcHQ6OkxvbmcgcXcoOmNvbmZpZyBwYXNzX3Rocm91Z2ggbm9fYXV0b19hYmJyZXYpOwor
dXNlIGxpYiAkRmluZEJpbjo6QmluOwordXNlIHdlYmtpdGRpcnM7CiAKIHVzZSBGaWxlOjpTcGVj
OwogdXNlIEZpbmRCaW47CkBAIC0zOSw2ICs0NiwxMSBAQCB1c2UgVGVzdDo6SGFybmVzczsKIHVz
ZSBsaWIgJEZpbmRCaW46OkJpbjsgIyBzbyB0aGlzIHNjcmlwdCBjYW4gYmUgcnVuIGZyb20gYW55
IGRpcmVjdG9yeS4KIHVzZSBWQ1NVdGlsczsKIAoraWYgKHNob3VsZFVzZUZsYXRwYWsoKSkgewor
ICAgIG15IEBjb21tYW5kID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29s
cyIsICJTY3JpcHRzIiwgInRlc3Qtd2Via2l0cGVybCIpKTsKKyAgICBydW5JbkZsYXRwYWsoQGNv
bW1hbmQpOworfQorCiAjIENoYW5nZSB0aGUgd29ya2luZyBkaXJlY3Rvcnkgc28gdGhhdCB3ZSBj
YW4gcGFzcyBzaG9ydGVyLCByZWxhdGl2ZQogIyBwYXRocyB0byBydW50ZXN0cygpLCByYXRoZXIg
dGhhbiBsb25nZXIsIGFic29sdXRlIHBhdGhzLgogIwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy90ZXN0LXdlYmtpdHB5IGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5CmluZGV4IGVlNjgy
Y2NjZjBhY2EzZjIwZGM2MTVmZThiNjMyM2NjYzU3Y2JlYTQuLjQyMzg4ZTlmODYxNzg1ZWY3ZTM4
ZmIxZjQ1NDkwMDUwNTJmMDBhZWMgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJr
aXRweQorKysgYi9Ub29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkKQEAgLTI5LDQgKzI5LDEwIEBA
CiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCiBmcm9tIHdlYmtpdHB5LmNvbW1vbiBpbXBvcnQgbXVsdGlwcm9jZXNz
aW5nX2Jvb3RzdHJhcAogCitpbXBvcnQgb3MsIHN5cwordG9wX2xldmVsX2RpcmVjdG9yeSA9IG9z
LnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICcu
LicsICcuLicpKQorc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxfZGly
ZWN0b3J5LCAnVG9vbHMnLCAnZmxhdHBhaycpKQoraW1wb3J0IGZsYXRwYWt1dGlscworZmxhdHBh
a3V0aWxzLnJ1bl9pbl9zYW5kYm94X2lmX2F2YWlsYWJsZShzeXMuYXJndikKKwogbXVsdGlwcm9j
ZXNzaW5nX2Jvb3RzdHJhcC5ydW4oJ3dlYmtpdHB5JywgJ3Rlc3QnLCAnbWFpbi5weScpCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3Rlc3QyNjItcnVubmVyIGIvVG9vbHMvU2NyaXB0cy90ZXN0
MjYyLXJ1bm5lcgppbmRleCBhMTMxYmNmNjMzZTMwZDk3NjVmYjU2MjQyNTA3MzExN2E5OGYyMjM4
Li5hZjdhZDVlNDhlZjI1MDhjZjRlMjFkNThkNTUwY2YwMzJlZjVmYTJiIDEwMDc1NQotLS0gYS9U
b29scy9TY3JpcHRzL3Rlc3QyNjItcnVubmVyCisrKyBiL1Rvb2xzL1NjcmlwdHMvdGVzdDI2Mi1y
dW5uZXIKQEAgLTM0LDYgKzM0LDI2IEBAIHVzZSA1LjguODsKIHVzZSBGaW5kQmluOwogdXNlIENv
bmZpZzsKIAorQkVHSU4geworICAgIHVzZSBsaWIgJEZpbmRCaW46OkJpbjsKKyAgICB1c2UgRmls
ZTo6U3BlYzo6RnVuY3Rpb25zIHF3KGNhdGZpbGUpOworCisgICAgaWYgKCFncmVwKC9eLS1uby1m
bGF0cGFrLWNoZWNrJC8sIEBBUkdWKSkgeworICAgICAgICBpZiAoZXZhbCB7cmVxdWlyZSB3ZWJr
aXRkaXJzOyAxO30pIHsKKyAgICAgICAgICAgIHdlYmtpdGRpcnMtPmltcG9ydChxdyhzaG91bGRV
c2VGbGF0cGFrIHJ1bkluRmxhdHBhayBzb3VyY2VEaXIpKTsKKyAgICAgICAgICAgIGlmIChzaG91
bGRVc2VGbGF0cGFrKCkpIHsKKyAgICAgICAgICAgICAgICBwcmludCAiUnVubmluZyBpbiBmbGF0
cGFrIGJhc2VkIGVudmlyb25tZW50XG4iOworICAgICAgICAgICAgICAgIG15IEBjb21tYW5kID0g
KEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgInRl
c3QyNjItcnVubmVyIikpOworICAgICAgICAgICAgICAgICMgUHJldmVudCBleGVjJ2QgdGVzdDI2
Mi1ydW5uZXIgcHJvY2VzcyBmcm9tIGltcG9ydGluZworICAgICAgICAgICAgICAgICMgd2Via2l0
ZGlycyBzbyB0aGF0IGl0IGNhbiBzdWNjZWVkIGxhdGVyIG9uIGluIHRoZSBSdW5uZXIKKyAgICAg
ICAgICAgICAgICAjIG1vZHVsZS4uLiBQZXJsLiDCr1xfKOODhClfL8KvCisgICAgICAgICAgICAg
ICAgcHVzaChAQVJHViwgIi0tbm8tZmxhdHBhay1jaGVjayIpOworICAgICAgICAgICAgICAgIHJ1
bkluRmxhdHBhayhAY29tbWFuZCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9
CisKIEJFR0lOIHsKICAgICAkRU5We0RCSUNfT1ZFUldSSVRFX0hFTFBFUl9NRVRIT0RTX09LfSA9
IDE7CiAgICAgJEVOVntUMjYyX0VYRUNfQklOfSA9ICIkRmluZEJpbjo6QmluL3Rlc3QyNjIiOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0LWZsYXRwYWsgYi9Ub29scy9T
Y3JpcHRzL3VwZGF0ZS13ZWJraXQtZmxhdHBhawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hODZiODFhMjAzM2Y0YmI3
YmUyZDI5YmRlNWMxMmNmNDk1MzMwZDU1Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0
cy91cGRhdGUtd2Via2l0LWZsYXRwYWsKQEAgLTAsMCArMSwyOCBAQAorIyEvdXNyL2Jpbi9lbnYg
cHl0aG9uCisjIENvcHlyaWdodCAoQykgMjAxOCBJZ2FsaWEgUy5MLgorIyBDb3B5cmlnaHQgKGMp
IDIwMTgsIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGlnYWxpYS5jb20+CisjCisjIFRoaXMg
cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
KyMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1
YmxpYworIyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKKyMgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQorIyBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIwor
IyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVy
YWwgUHVibGljCisjIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3Jp
dGUgdG8gdGhlCisjIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3QsIEZpZnRoIEZsb29yLAorIyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyMgcHlsaW50
OiBkaXNhYmxlPW1pc3NpbmctZG9jc3RyaW5nLGludmFsaWQtbmFtZQoraW1wb3J0IG9zCitpbXBv
cnQgc3lzCisKK3RvcF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGgu
am9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAiLi4iLCAiLi4iKSkKK3N5cy5wYXRoLmlu
c2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgIlRvb2xzIiwgImZsYXRw
YWsiKSkKK2Zyb20gZmxhdHBha3V0aWxzIGltcG9ydCBXZWJraXRGbGF0cGFrCisKK2lmIF9fbmFt
ZV9fID09ICJfX21haW5fXyI6CisgICAgV2Via2l0RmxhdHBhay5sb2FkX2Zyb21fYXJncyhbIi0t
dXBkYXRlIl0gKyBzeXMuYXJndlsxOl0pLnJ1bigpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3VwZGF0ZS13ZWJraXRndGstZmxhdHBhayBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0
ay1mbGF0cGFrCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwOTU2ZjFmMmUxNDg1ZDI0
ODYyZWY3ZjZkNzRhMmYzZjk4Y2Y5MmY4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrCisr
KyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCi0jIENv
cHlyaWdodCAoQykgMjAxOCBJZ2FsaWEgUy5MLgotIyBDb3B5cmlnaHQgKGMpIDIwMTgsIFRoaWJh
dWx0IFNhdW5pZXIgPHRzYXVuaWVyQGlnYWxpYS5jb20+Ci0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
LSMgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0j
IExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlCi0j
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZs
b29yLAotIyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSMgcHlsaW50OiBkaXNhYmxlPW1p
c3NpbmctZG9jc3RyaW5nLGludmFsaWQtbmFtZQotaW1wb3J0IG9zCi1pbXBvcnQgc3lzCi0KLXRv
cF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRo
LmRpcm5hbWUoX19maWxlX18pLCAiLi4iLCAiLi4iKSkKLXN5cy5wYXRoLmluc2VydCgwLCBvcy5w
YXRoLmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgIlRvb2xzIiwgImZsYXRwYWsiKSkKLWZyb20g
ZmxhdHBha3V0aWxzIGltcG9ydCBXZWJraXRGbGF0cGFrCi0KLWlmIF9fbmFtZV9fID09ICJfX21h
aW5fXyI6Ci0gICAgV2Via2l0RmxhdHBhay5sb2FkX2Zyb21fYXJncyhbIi0tZ3RrIiwgIi0tdXBk
YXRlIl0gKyBzeXMuYXJndlsxOl0pLnJ1bigpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3Vw
ZGF0ZS13ZWJraXRndGstbGlicyBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1saWJz
CmluZGV4IDJlMWMwMmZmZDcwNTYwMDgwZTM2YmM3NGI0NjU4ZmZlZjVkZWNkOGUuLjJlOGE4Nzg1
MTk2ZGI4YzdiZmNjNDkwNDk1YWQ5YzVkNzAwZmZmNTEgMTAwNzU1Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvdXBkYXRlLXdlYmtpdGd0ay1saWJzCisrKyBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtp
dGd0ay1saWJzCkBAIC0yMiw0ICsyMiw4IEBAIHVzZSBsaWIgJEZpbmRCaW46OkJpbjsKIHVzZSB3
ZWJraXRkaXJzOwogCiBteSAkc2NyaXB0c0RpciA9IHJlbGF0aXZlU2NyaXB0c0RpcigpOwotc3lz
dGVtKCJwZXJsIiwgIiRzY3JpcHRzRGlyL3VwZGF0ZS13ZWJraXQtbGlicy1qaGJ1aWxkIiwgIi0t
Z3RrIiwgQEFSR1YpID09IDAgb3IgZGllICQhOworaWYgKGRlZmluZWQgJEVOVnsnV0VCS0lUX0pI
QlVJTEQnfSBhbmQgJEVOVnsnV0VCS0lUX0pIQlVJTEQnfSkgeworICAgIHN5c3RlbSgicGVybCIs
ICIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCIsICItLWd0ayIsIEBBUkdW
KSA9PSAwIG9yIGRpZSAkITsKK30gZWxzZSB7CisgICAgc3lzdGVtKCIkc2NyaXB0c0Rpci91cGRh
dGUtd2Via2l0LWZsYXRwYWsiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7Cit9CmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtZmxhdHBhayBiL1Rvb2xzL1NjcmlwdHMv
dXBkYXRlLXdlYmtpdHdwZS1mbGF0cGFrCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA1
NjRlODc2NTIxMTE4ZTJmYzBmZDY4YjhjODY2YWE5MDAxY2I4MTIyLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtp
dHdwZS1mbGF0cGFrCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotIyEvdXNyL2Jpbi9l
bnYgcHl0aG9uCi0jIENvcHlyaWdodCAoQykgMjAxOCBJZ2FsaWEgUy5MLgotIyBDb3B5cmlnaHQg
KGMpIDIwMTgsIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGlnYWxpYS5jb20+Ci0jCi0jIFRo
aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFs
IFB1YmxpYwotIyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKLSMgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotIyBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgot
IwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdl
bmVyYWwgUHVibGljCi0jIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwg
d3JpdGUgdG8gdGhlCi0jIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3QsIEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSMgcHls
aW50OiBkaXNhYmxlPW1pc3NpbmctZG9jc3RyaW5nLGludmFsaWQtbmFtZQotaW1wb3J0IG9zCi1p
bXBvcnQgc3lzCi0KLXRvcF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBh
dGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAiLi4iLCAiLi4iKSkKLXN5cy5wYXRo
Lmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgIlRvb2xzIiwgImZs
YXRwYWsiKSkKLWZyb20gZmxhdHBha3V0aWxzIGltcG9ydCBXZWJraXRGbGF0cGFrCi0KLWlmIF9f
bmFtZV9fID09ICJfX21haW5fXyI6Ci0gICAgV2Via2l0RmxhdHBhay5sb2FkX2Zyb21fYXJncyhb
Ii0td3BlIiwgIi0tdXBkYXRlIl0gKyBzeXMuYXJndlsxOl0pLnJ1bigpCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGlicyBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRl
LXdlYmtpdHdwZS1saWJzCmluZGV4IDZiNGI0NmYyYjdlYjhhOWU2ODA3NzU3YmNhMmI5ZTY4NDcw
N2EwMjMuLmNkYzRjN2RiOGM2NWVhNzMyM2Q2OTI2ODE5OGEyZjY4YmQ1MTMwMTQgMTAwNzU1Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1saWJzCisrKyBiL1Rvb2xzL1Njcmlw
dHMvdXBkYXRlLXdlYmtpdHdwZS1saWJzCkBAIC0yMiw0ICsyMiw4IEBAIHVzZSBsaWIgJEZpbmRC
aW46OkJpbjsKIHVzZSB3ZWJraXRkaXJzOwogCiBteSAkc2NyaXB0c0RpciA9IHJlbGF0aXZlU2Ny
aXB0c0RpcigpOwotc3lzdGVtKCJwZXJsIiwgIiRzY3JpcHRzRGlyL3VwZGF0ZS13ZWJraXQtbGli
cy1qaGJ1aWxkIiwgIi0td3BlIiwgQEFSR1YpID09IDAgb3IgZGllICQhOworaWYgKGRlZmluZWQg
JEVOVnsnV0VCS0lUX0pIQlVJTEQnfSBhbmQgJEVOVnsnV0VCS0lUX0pIQlVJTEQnfSkgeworICAg
IHN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCIs
ICItLXdwZSIsIEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK30gZWxzZSB7CisgICAgc3lzdGVtKCIk
c2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWZsYXRwYWsiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7
Cit9CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0gYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdGRpcnMucG0KaW5kZXggOTYxYTQ2Mjg2ZjQ4NzVkNmFmYjcyNTk5MWM0ZDA0OTVi
OWVhMjMyMi4uNjllM2JhZjg5N2NhMTYwMzgyOTRhZGQyM2Y4ZGQzNDUwMGM3ZDc3OSAxMDA3NTUK
LS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0ZGlycy5wbQpAQCAtOTEsNyArOTEsMTAgQEAgQkVHSU4gewogICAgICAgICZzZXR1cFVuaXhX
ZWJLaXRFbnZpcm9ubWVudAogICAgICAgICZzaGFyZWRDb21tYW5kTGluZU9wdGlvbnMKICAgICAg
ICAmc2hhcmVkQ29tbWFuZExpbmVPcHRpb25zVXNhZ2UKKyAgICAgICAmc2hvdWxkVXNlRmxhdHBh
aworICAgICAgICZydW5JbkZsYXRwYWsKICAgICAgICAmc2h1dERvd25JT1NTaW11bGF0b3JEZXZp
Y2UKKyAgICAgICAmc291cmNlRGlyCiAgICAgICAgJndpbGxVc2VJT1NEZXZpY2VTREsKICAgICAg
ICAmd2lsbFVzZUlPU1NpbXVsYXRvclNESwogICAgICAgIERPX05PVF9VU0VfT1BFTl9DT01NQU5E
CkBAIC0yMDI0LDIwICsyMDI3LDExIEBAIHN1YiBnZXRKaGJ1aWxkUGF0aCgpCiAgICAgcmV0dXJu
IEZpbGU6OlNwZWMtPmNhdGRpcihAamhidWlsZFBhdGgpOwogfQogCi1zdWIgZ2V0RmxhdHBha1Bh
dGgoKQorc3ViIGdldFVzZXJGbGF0cGFrUGF0aCgpCiB7Ci0gICAgbXkgQGZsYXRwYWtCdWlsZFBh
dGggPSBGaWxlOjpTcGVjLT5zcGxpdGRpcihiYXNlUHJvZHVjdERpcigpKTsKLSAgICBpZiAoaXNH
dGsoKSkgewotICAgICAgICBwdXNoKEBmbGF0cGFrQnVpbGRQYXRoLCAiR1RLIik7Ci0gICAgfSBl
bHNpZiAoaXNXUEUoKSkgewotICAgICAgICBwdXNoKEBmbGF0cGFrQnVpbGRQYXRoLCAiV1BFIik7
Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgZGllICJDYW5ub3QgZ2V0IEZsYXRwYWsgcGF0aCBmb3Ig
cGxhdGZvcm0gdGhhdCBpc24ndCBHVEsrIG9yIFdQRS5cbiI7Ci0gICAgfQotICAgIG15IEBjb25m
aWd1cmF0aW9uID0gY29uZmlndXJhdGlvbigpOwotICAgIHB1c2goQGZsYXRwYWtCdWlsZFBhdGgs
ICJGbGF0cGFrVHJlZSRjb25maWd1cmF0aW9uIik7Ci0KLSAgICByZXR1cm4gRmlsZTo6U3BlYy0+
Y2F0ZGlyKEBmbGF0cGFrQnVpbGRQYXRoKTsKKyAgICBteSBAZmxhdHBha1BhdGggPSBGaWxlOjpT
cGVjLT5zcGxpdGRpcihiYXNlUHJvZHVjdERpcigpKTsKKyAgICBwdXNoKEBmbGF0cGFrUGF0aCwg
IlVzZXJGbGF0cGFrIik7CisgICAgcmV0dXJuIEZpbGU6OlNwZWMtPmNhdGRpcihAZmxhdHBha1Bh
dGgpOwogfQogCiBzdWIgaXNDYWNoZWRBcmd1bWVudGZpbGVPdXRPZkRhdGUoJEApCkBAIC0yMDY0
LDExICsyMDU4LDcgQEAgc3ViIGlzQ2FjaGVkQXJndW1lbnRmaWxlT3V0T2ZEYXRlKCRAKQogCiBz
dWIgaW5GbGF0cGFrU2FuZGJveCgpCiB7Ci0gICAgaWYgKC1mICIvLmZsYXRwYWstaW5mbyIpIHsK
LSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQotCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuICgt
ZiAiLy5mbGF0cGFrLWluZm8iKTsKIH0KIAogc3ViIHJ1bkluRmxhdHBhayhAKQpAQCAtMjA4OSwx
MCArMjA3OSw2IEBAIHN1YiBydW5JbkZsYXRwYWtJZkF2YWlsYWJsZShAKQogICAgICAgICByZXR1
cm4gMDsKICAgICB9CiAKLSAgICBpZiAoISAtZSBnZXRGbGF0cGFrUGF0aCgpKSB7Ci0gICAgICAg
IHJldHVybiAwOwotICAgIH0KLQogICAgIHJ1bkluRmxhdHBhayhAXykKIH0KIApAQCAtMjEwNSw3
ICsyMDkxLDcgQEAgc3ViIHdyYXBwZXJQcmVmaXhJZk5lZWRlZCgpCiAgICAgaWYgKGlzQXBwbGVD
b2NvYVdlYktpdCgpKSB7CiAgICAgICAgIHJldHVybiAoInhjcnVuIik7CiAgICAgfQotICAgIGlm
IChzaG91bGRVc2VKaGJ1aWxkKCkgYW5kICEgc2hvdWxkVXNlRmxhdHBhaygpKSB7CisgICAgaWYg
KHNob3VsZFVzZUpoYnVpbGQoKSkgewogICAgICAgICBteSBAcHJlZml4ID0gKEZpbGU6OlNwZWMt
PmNhdGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJqaGJ1aWxkIiwgImpoYnVpbGQtd3JhcHBl
ciIpKTsKICAgICAgICAgaWYgKGlzR3RrKCkpIHsKICAgICAgICAgICAgIHB1c2goQHByZWZpeCwg
Ii0tZ3RrIik7CkBAIC0yMTIyLDEyICsyMTA4LDEyIEBAIHN1YiB3cmFwcGVyUHJlZml4SWZOZWVk
ZWQoKQogCiBzdWIgc2hvdWxkVXNlSmhidWlsZCgpCiB7Ci0gICAgcmV0dXJuICgoaXNHdGsoKSBv
ciBpc1dQRSgpKSBhbmQgLWUgZ2V0SmhidWlsZFBhdGgoKSk7CisgICAgcmV0dXJuICgoISBpbkZs
YXRwYWtTYW5kYm94KCkpIGFuZCAoaXNHdGsoKSBvciBpc1dQRSgpKSBhbmQgLWUgZ2V0SmhidWls
ZFBhdGgoKSBhbmQgZGVmaW5lZCAkRU5WeydXRUJLSVRfSkhCVUlMRCd9IGFuZCAkRU5WeydXRUJL
SVRfSkhCVUlMRCd9KTsKIH0KIAogc3ViIHNob3VsZFVzZUZsYXRwYWsoKQogewotICAgIHJldHVy
biAoKGlzR3RrKCkgb3IgaXNXUEUoKSkgYW5kICEgaW5GbGF0cGFrU2FuZGJveCgpIGFuZCAtZSBn
ZXRGbGF0cGFrUGF0aCgpKTsKKyAgICByZXR1cm4gKCghIGluRmxhdHBha1NhbmRib3goKSkgYW5k
IChpc0d0aygpIG9yIGlzV1BFKCkpIGFuZCAtZSBnZXRVc2VyRmxhdHBha1BhdGgoKSk7CiB9CiAK
IHN1YiBjbWFrZUNhY2hlUGF0aCgpCkBAIC0yMTk0LDcgKzIxODAsNyBAQCBzdWIgc2hvdWxkUmVt
b3ZlQ01ha2VDYWNoZShAKQogICAgIH0KIAogICAgICMgSWYgYSBjaGFuZ2Ugb24gdGhlIEpIQnVp
bGQgbW9kdWxlc2V0IGhhcyBiZWVuIGRvbmUsIHdlIG5lZWQgdG8gY2xlYW4gdGhlIGNhY2hlIGFz
IHdlbGwuCi0gICAgaWYgKGlzR3RrKCkgfHwgaXNXUEUoKSkgeworICAgIGlmICghIHNob3VsZFVz
ZUZsYXRwYWsoKSBhbmQgKGlzR3RrKCkgfHwgaXNXUEUoKSkpIHsKICAgICAgICAgbXkgJGpoYnVp
bGRSb290RGlyZWN0b3J5ID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKGdldEpoYnVpbGRQYXRoKCksICJS
b290Iik7CiAgICAgICAgICMgVGhlIHNjcmlwdCB1cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCBz
aGFsbCByZS1nZW5lcmF0ZSAkamhidWlsZFJvb3REaXJlY3RvcnkgaWYgdGhlIG1vZHVsZXNldCBj
aGFuZ2VkLgogICAgICAgICBpZiAoLWQgJGpoYnVpbGRSb290RGlyZWN0b3J5ICYmICRjYWNoZUZp
bGVNb2RpZmllZFRpbWUgPCBzdGF0KCRqaGJ1aWxkUm9vdERpcmVjdG9yeSktPm10aW1lKSB7CmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CmluZGV4IGRlMDA2NjY3YjJkMWU1ZTVlZWI4ZjJk
MWE0NDhiNzU2ZjdmMDY2Y2QuLjFjM2VlN2FiZGJhM2Q4NmIyYTY4YTQ2ODhiNGVhZDk2ZTk5ODc1
ZWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CkBAIC04OTMsNiArODkzLDcgQEAg
Y2xhc3MgUG9ydChvYmplY3QpOgogICAgICAgICAgICAgJ0xBTkcnLAogICAgICAgICAgICAgJ0xE
X0xJQlJBUllfUEFUSCcsCiAgICAgICAgICAgICAnVEVSTScsCisgICAgICAgICAgICAnVFonLAog
ICAgICAgICAgICAgJ1hER19EQVRBX0RJUlMnLAogICAgICAgICAgICAgJ1hER19SVU5USU1FX0RJ
UicsCiAKQEAgLTEyMjAsNyArMTIyMSw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAg
VGhpcyBpcyBuZWVkZWQgb25seSBieSBwb3J0cyB0aGF0IHVzZSB0aGUgYXBhY2hlX2h0dHBfc2Vy
dmVyIG1vZHVsZS4iIiIKICAgICAgICAgIyBUaGUgQXBhY2hlIGJpbmFyeSBwYXRoIGNhbiB2YXJ5
IGRlcGVuZGluZyBvbiBPUyBhbmQgZGlzdHJpYnV0aW9uCiAgICAgICAgICMgU2VlIGh0dHA6Ly93
aWtpLmFwYWNoZS5vcmcvaHR0cGQvRGlzdHJvc0RlZmF1bHRMYXlvdXQKLSAgICAgICAgZm9yIHBh
dGggaW4gWyIvdXNyL3NiaW4vaHR0cGQiLCAiL3Vzci9zYmluL2FwYWNoZTIiLCAiL2FwcC9iaW4v
aHR0cGQiXToKKyAgICAgICAgZm9yIHBhdGggaW4gWyIvdXNyL3NiaW4vaHR0cGQiLCAiL3Vzci9z
YmluL2FwYWNoZTIiLCAiL3Vzci9iaW4vaHR0cGQiXToKICAgICAgICAgICAgIGlmIHNlbGYuX2Zp
bGVzeXN0ZW0uZXhpc3RzKHBhdGgpOgogICAgICAgICAgICAgICAgIHJldHVybiBwYXRoCiAgICAg
ICAgIF9sb2cuZXJyb3IoIkNvdWxkIG5vdCBmaW5kIGFwYWNoZS4gTm90IGluc3RhbGxlZCBvciB1
bmtub3duIHBhdGguIikKQEAgLTE0NTIsMTQgKzE0NTMsOCBAQCBjbGFzcyBQb3J0KG9iamVjdCk6
CiAgICAgICAgICMgLS1waXhlbC10ZXN0LWRpcmVjdG9yeSBpcyBub3Qgc3BlY2lmaWVkLgogICAg
ICAgICByZXR1cm4gVHJ1ZQogCi0gICAgZGVmIF9zaG91bGRfdXNlX2ZsYXRwYWsoc2VsZik6Ci0g
ICAgICAgIHN1ZmZpeCA9ICIiCi0gICAgICAgIGlmIHNlbGYucG9ydF9uYW1lOgotICAgICAgICAg
ICAgc3VmZml4ID0gc2VsZi5wb3J0X25hbWUudXBwZXIoKQotICAgICAgICByZXR1cm4gc2VsZi5f
ZmlsZXN5c3RlbS5leGlzdHMoc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1dlYktpdEJ1aWxk
Jywgc3VmZml4LCAiRmxhdHBha1RyZWUiKSkKLQogICAgIGRlZiBfaW5fZmxhdHBha19zYW5kYm94
KHNlbGYpOgotICAgICAgICByZXR1cm4gb3MucGF0aC5leGlzdHMoIi8uZmxhdHBhay1pbmZvIikK
KyAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKCIvLmZsYXRwYWstaW5mbyIp
CiAKICAgICBkZWYgX3Nob3VsZF91c2VfamhidWlsZChzZWxmKToKICAgICAgICAgaWYgc2VsZi5f
aW5fZmxhdHBha19zYW5kYm94KCk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3BvcnQvZ3RrLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQppbmRleCA2
OGJjMTY5MjNmOGFiNzYwOTFmNWIzZTk2NGQwNjVjNzk0M2ZmOGQ1Li4wNzE1ZTI2MmJlYTA1ZGJi
NTVkMDY5ZmQ1ODBiNDAwYjU0NzU4ZDc2IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQvZ3RrLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkK
QEAgLTEyMiw2ICsxMjIsNyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICBlbnZpcm9u
bWVudFsnVEVTVF9SVU5ORVJfSU5KRUNURURfQlVORExFX0ZJTEVOQU1FJ10gPSBzZWxmLl9idWls
ZF9wYXRoKCdsaWInLCAnbGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLnNvJykKICAgICAgICAg
ZW52aXJvbm1lbnRbJ1RFU1RfUlVOTkVSX1RFU1RfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxk
X3BhdGgoJ2xpYicsICdwbHVnaW5zJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vu
dmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJUicpCisgICAgICAgIHNl
bGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9K
SEJVSUxEJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVu
dmlyb25tZW50LCAnV0VCS0lUX1RPUF9MRVZFTCcpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVf
ZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1VTRV9QTEFZQklOMycpCiAgICAgICAg
IHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ0dTVF9E
RUJVRycpCkBAIC0xMzQsMTAgKzEzNSwxMSBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAg
ICAgICAgaWYgc2VsZi5fc2hvdWxkX3VzZV9qaGJ1aWxkKCk6CiAgICAgICAgICAgICAgICAgbGx2
bXBpcGVfbGliZ2xfcGF0aCA9IHNlbGYuaG9zdC5leGVjdXRpdmUucnVuX2NvbW1hbmQoc2VsZi5f
amhidWlsZF93cmFwcGVyICsgWydwcmludGVudicsICdMTFZNUElQRV9MSUJHTF9QQVRIJ10sCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGlnbm9yZV9lcnJvcnM9VHJ1ZSkuc3RyaXAoKQorICAgICAgICAgICAgICAgIGRy
aV9saWJnbF9wYXRoID0gb3MucGF0aC5qb2luKGxsdm1waXBlX2xpYmdsX3BhdGgsICJkcmkiKQog
ICAgICAgICAgICAgZWxzZTogICMgaW4gZmxhdHBhawotICAgICAgICAgICAgICAgIGxsdm1waXBl
X2xpYmdsX3BhdGggPSAiL2FwcC9zb2Z0R0wvbGliIgorICAgICAgICAgICAgICAgIGxsdm1waXBl
X2xpYmdsX3BhdGggPSAiL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS8iCisgICAgICAgICAgICAg
ICAgZHJpX2xpYmdsX3BhdGggPSBvcy5wYXRoLmpvaW4obGx2bXBpcGVfbGliZ2xfcGF0aCwgIkdM
IiwgImxpYiIsICJkcmkiKQogCi0gICAgICAgICAgICBkcmlfbGliZ2xfcGF0aCA9IG9zLnBhdGgu
am9pbihsbHZtcGlwZV9saWJnbF9wYXRoLCAiZHJpIikKICAgICAgICAgICAgIGlmIG9zLnBhdGgu
ZXhpc3RzKG9zLnBhdGguam9pbihsbHZtcGlwZV9saWJnbF9wYXRoLCAibGliR0wuc28iKSkgYW5k
IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihkcmlfbGliZ2xfcGF0aCwgInN3cmFzdF9kcmku
c28iKSk6CiAgICAgICAgICAgICAgICAgIyBNYWtlIHN1cmUgdmEtYXBpIHN1cHBvcnQgZ2V0cyBk
aXNhYmxlZCBiZWNhdXNlIGl0J3MgaW5jb21wYXRpYmxlIHdpdGggTWVzYSdzIHNvZnRHTCBkcml2
ZXIuCiAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0xJQlZBX0RSSVZFUl9OQU1FJ10gPSAi
bnVsbCIKQEAgLTE0OCw3ICsxNTAsNyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAg
ICAgICAgIGlmIG9zLmVudmlyb24uZ2V0KCdMRF9MSUJSQVJZX1BBVEgnKToKICAgICAgICAgICAg
ICAgICAgICAgZW52aXJvbm1lbnRbJ0xEX0xJQlJBUllfUEFUSCddICs9ICc6JXMnICUgb3MuZW52
aXJvbi5nZXQoJ0xEX0xJQlJBUllfUEFUSCcpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAg
ICAgICAgIF9sb2cud2FybmluZygiQ2FuJ3QgZmluZCBHYWxsaXVtIGxsdm1waXBlIGRyaXZlci4g
VHJ5IHRvIHJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0
cGFrIikKKyAgICAgICAgICAgICAgICBfbG9nLndhcm5pbmcoIkNhbid0IGZpbmQgR2FsbGl1bSBs
bHZtcGlwZSBkcml2ZXIuIFRyeSB0byBydW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0
ZS13ZWJraXQtZmxhdHBhayIpCiAgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbigibGVha3MiKToK
ICAgICAgICAgICAgICMgVHVybiBvZmYgR0xpYiBtZW1vcnkgb3B0aW1pc2F0aW9ucyBodHRwczov
L3dpa2kuZ25vbWUub3JnL1ZhbGdyaW5kLgogICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0dfU0xJ
Q0UnXSA9ICdhbHdheXMtbWFsbG9jJwpAQCAtMjM3LDcgKzIzOSw3IEBAIGNsYXNzIEd0a1BvcnQo
UG9ydCk6CiAKICAgICBkZWYgX2dldF9jcmFzaF9sb2coc2VsZiwgbmFtZSwgcGlkLCBzdGRvdXQs
IHN0ZGVyciwgbmV3ZXJfdGhhbiwgdGFyZ2V0X2hvc3Q9Tm9uZSk6CiAgICAgICAgIHJldHVybiBH
REJDcmFzaExvZ0dlbmVyYXRvcihzZWxmLl9leGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhh
biwKLSAgICAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0sIHNlbGYuX3BhdGhfdG9fZHJpdmVyKS5n
ZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIpCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLCBzZWxmLnBvcnRfbmFtZSwgc2VsZi5nZXRf
b3B0aW9uKCdjb25maWd1cmF0aW9uJykpLmdlbmVyYXRlX2NyYXNoX2xvZyhzdGRvdXQsIHN0ZGVy
cikKIAogICAgIGRlZiB0ZXN0X2V4cGVjdGF0aW9uc19maWxlX3Bvc2l0aW9uKHNlbGYpOgogICAg
ICAgICAjIEdUSyBwb3J0IGJhc2VsaW5lIHNlYXJjaCBwYXRoIGlzIGd0ayAtPiB3azIgLT4gZ2Vu
ZXJpYyAoYXMgZ3RrLXdrMiBhbmQgZ3RrIGJhc2VsaW5lcyBhcmUgbWVyZ2VkKSwgc28gcG9ydCB0
ZXN0IGV4cGVjdGF0aW9ucyBmaWxlIGlzIGF0IHRoaXJkIHRvIGxhc3QgcG9zaXRpb24uCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nLnB5Cmlu
ZGV4IDlhZGM0NjM3MWY5NjFiMTk2MjhlN2ZlZGQ0NjVlYmZkMDk2Y2QwMWEuLmQyYTdjODI3ZmM5
YWI1MzNhMmQxNmYyMmZmNjljMTAwMDIxOTgwZWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nLnB5CkBAIC0yNywxMjggKzI3LDQyIEBA
CiAjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCi1pbXBvcnQgZGF0ZXRpbWUKLWltcG9y
dCBvcwogaW1wb3J0IHJlCi1pbXBvcnQgc2h1dGlsCiBpbXBvcnQgc3VicHJvY2VzcwotaW1wb3J0
IHRlbXBmaWxlCi1pbXBvcnQgdGltZQogCi1mcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhl
Y3V0aXZlIGltcG9ydCBTY3JpcHRFcnJvcgogZnJvbSB3ZWJraXRweS5jb21tb24udW5pY29kZV9j
b21wYXRpYmlsaXR5IGltcG9ydCBkZWNvZGVfaWZfbmVjZXNzYXJ5Ci0KK2Zyb20gd2Via2l0cHku
Y29tbW9uLndlYmtpdF9maW5kZXIgaW1wb3J0IFdlYktpdEZpbmRlcgogCiBjbGFzcyBHREJDcmFz
aExvZ0dlbmVyYXRvcihvYmplY3QpOgotICAgIF9maW5kX3BpZF9yZWdleCA9IHJlLmNvbXBpbGUo
cidQSUQ6IChcZCspIFwoLipcKScpCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgZXhlY3V0aXZl
LCBuYW1lLCBwaWQsIG5ld2VyX3RoYW4sIGZpbGVzeXN0ZW0sIHBhdGhfdG9fZHJpdmVyKToKKyAg
ICBkZWYgX19pbml0X18oc2VsZiwgZXhlY3V0aXZlLCBuYW1lLCBwaWQsIG5ld2VyX3RoYW4sIGZp
bGVzeXN0ZW0sIHBvcnRfbmFtZSwgY29uZmlndXJhdGlvbik6CiAgICAgICAgIHNlbGYubmFtZSA9
IG5hbWUKICAgICAgICAgc2VsZi5waWQgPSBwaWQKICAgICAgICAgc2VsZi5uZXdlcl90aGFuID0g
bmV3ZXJfdGhhbgotICAgICAgICBzZWxmLl9maWxlc3lzdGVtID0gZmlsZXN5c3RlbQotICAgICAg
ICBzZWxmLl9wYXRoX3RvX2RyaXZlciA9IHBhdGhfdG9fZHJpdmVyCiAgICAgICAgIHNlbGYuX2V4
ZWN1dGl2ZSA9IGV4ZWN1dGl2ZQotCi0gICAgZGVmIF9nZXRfZ2RiX291dHB1dChzZWxmLCBjb3Jl
ZHVtcF9wYXRoKToKLSAgICAgICAgcHJvY2Vzc19uYW1lID0gc2VsZi5fZmlsZXN5c3RlbS5qb2lu
KG9zLnBhdGguZGlybmFtZShzdHIoc2VsZi5fcGF0aF90b19kcml2ZXIoKSkpLCBzZWxmLm5hbWUp
Ci0gICAgICAgIGNtZCA9IFsnZ2RiJywgJy1leCcsICd0aHJlYWQgYXBwbHkgYWxsIGJ0IDEwMjQn
LCAnLS1iYXRjaCcsIHByb2Nlc3NfbmFtZSwgY29yZWR1bXBfcGF0aF0KLSAgICAgICAgcHJvYyA9
IHNlbGYuX2V4ZWN1dGl2ZS5wb3BlbihjbWQsIHN0ZGluPU5vbmUsIHN0ZG91dD1zdWJwcm9jZXNz
LlBJUEUsIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUpCi0gICAgICAgIHN0ZG91dCwgc3RkZXJyID0g
cHJvYy5jb21tdW5pY2F0ZSgpCi0gICAgICAgIGVycm9ycyA9IFtzdGRlcnJfbGluZS5zdHJpcCgp
LmRlY29kZSgndXRmOCcsICdpZ25vcmUnKSBmb3Igc3RkZXJyX2xpbmUgaW4gc3RkZXJyLnNwbGl0
bGluZXMoKV0KLSAgICAgICAgaWYgcHJvYy5yZXR1cm5jb2RlICE9IDA6Ci0gICAgICAgICAgICBz
dGRvdXQgPSAoJ0VSUk9SOiBUaGUgZ2RiIHByb2Nlc3MgZXhpdGVkIHdpdGggbm9uLXplcm8gcmV0
dXJuIGNvZGUgJXNcblxuJyAlIHByb2MucmV0dXJuY29kZSkgKyBzdGRvdXQKLSAgICAgICAgcmV0
dXJuIChzdGRvdXQuZGVjb2RlKCd1dGY4JywgJ2lnbm9yZScpLCBlcnJvcnMpCi0KLSAgICBkZWYg
X2dldF90bXBfZmlsZV9uYW1lKHNlbGYsIGNvcmVkdW1wY3RsLCBmaWxlbmFtZSk6Ci0gICAgICAg
IGlmIGNvcmVkdW1wY3RsWzBdID09ICdmbGF0cGFrLXNwYXduJzoKLSAgICAgICAgICAgIHJldHVy
biAiL3J1bi9ob3N0LyIgKyBmaWxlbmFtZQotCi0gICAgICAgIHJldHVybiBmaWxlbmFtZQotCi0g
ICAgZGVmIF9nZXRfdHJhY2VfZnJvbV9zeXN0ZW1kKHNlbGYsIGNvcmVkdW1wY3RsLCBwaWQpOgot
ICAgICAgICAjIExldHRpbmcgdXAgdG8gNSBzZWNvbmRzIGZvciB0aGUgYmFja3RyYWNlIHRvIGJl
IGdlbmVyYXRlZCBvbiB0aGUgc3lzdGVtZCBzaWRlCi0gICAgICAgIGZvciB0cnlfbnVtYmVyIGlu
IHJhbmdlKDUpOgotICAgICAgICAgICAgaWYgdHJ5X251bWJlciAhPSAwOgotICAgICAgICAgICAg
ICAgICMgTG9vcGluZywgaXQgbWVhbnMgd2UgY29uc2lkZXIgdGhlIGxvZ3MgbWlnaHQgbm90IGJl
IHJlYWR5IHlldC4KLSAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKDEpCi0KLSAgICAgICAgICAg
IHRyeToKLSAgICAgICAgICAgICAgICBpbmZvID0gc2VsZi5fZXhlY3V0aXZlLnJ1bl9jb21tYW5k
KGNvcmVkdW1wY3RsICsgWydpbmZvJywgIi0tc2luY2U9IiArIHRpbWUuc3RyZnRpbWUoIiVhICVZ
LSVtLSVkICVIOiVNOiVTICVaIiwgdGltZS5sb2NhbHRpbWUoc2VsZi5uZXdlcl90aGFuKSldLAot
ICAgICAgICAgICAgICAgICAgICByZXR1cm5fc3RkZXJyPVRydWUpCi0gICAgICAgICAgICBleGNl
cHQgKFNjcmlwdEVycm9yLCBPU0Vycm9yKToKLSAgICAgICAgICAgICAgICBjb250aW51ZQotCi0g
ICAgICAgICAgICBmb3VuZF9uZXdlciA9IEZhbHNlCi0gICAgICAgICAgICAjIENvcmVkdW1wY3Rs
IHdpbGwgdXNlIHRoZSBsYXRlc3QgY29yZSBkdW1wIHdpdGggdGhlIHNwZWNpZmllZCBQSUQKLSAg
ICAgICAgICAgICMgYXNzdW1lIGl0IGlzIHRoZSByaWdodCBvbmUuCi0gICAgICAgICAgICBwaWRz
ID0gc2VsZi5fZmluZF9waWRfcmVnZXguZmluZGFsbChpbmZvKQotICAgICAgICAgICAgaWYgbm90
IHBpZHM6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICAgICAgcGlkID0gcGlk
c1swXQotICAgICAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBhcyB0
ZW1wX2ZpbGU6Ci0gICAgICAgICAgICAgICAgaWYgc2VsZi5fZXhlY3V0aXZlLnJ1bl9jb21tYW5k
KGNvcmVkdW1wY3RsICsgWydkdW1wJywgcGlkLCAnLS1vdXRwdXQnLAotICAgICAgICAgICAgICAg
ICAgICAgICAgdGVtcF9maWxlLm5hbWVdLCByZXR1cm5fZXhpdF9jb2RlPVRydWUpOgotICAgICAg
ICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICAgICAgcmVzID0gc2VsZi5fZ2V0
X2dkYl9vdXRwdXQoc2VsZi5fZ2V0X3RtcF9maWxlX25hbWUoY29yZWR1bXBjdGwsIHRlbXBfZmls
ZS5uYW1lKSkKLQotICAgICAgICAgICAgICAgIHJldHVybiByZXMKLQotICAgICAgICByZXR1cm4g
JycsIFtdCisgICAgICAgIHNlbGYuX3BvcnRfbmFtZSA9IHBvcnRfbmFtZQorICAgICAgICBzZWxm
Ll9jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbgorICAgICAgICBzZWxmLl93ZWJraXRfZmlu
ZGVyID0gV2ViS2l0RmluZGVyKGZpbGVzeXN0ZW0pCiAKICAgICBkZWYgZ2VuZXJhdGVfY3Jhc2hf
bG9nKHNlbGYsIHN0ZG91dCwgc3RkZXJyKToKICAgICAgICAgcGlkX3JlcHJlc2VudGF0aW9uID0g
c3RyKHNlbGYucGlkIG9yICc8dW5rbm93bj4nKQotICAgICAgICBsb2dfZGlyZWN0b3J5ID0gb3Mu
ZW52aXJvbi5nZXQoIldFQktJVF9DT1JFX0RVTVBTX0RJUkVDVE9SWSIpCi0gICAgICAgIGVycm9y
cyA9IFtdCi0gICAgICAgIGNyYXNoX2xvZyA9ICcnCi0gICAgICAgIGV4cGVjdGVkX2NyYXNoX2R1
bXBfZmlsZW5hbWUgPSAiY29yZS1waWRfJXMuZHVtcCIgJSBwaWRfcmVwcmVzZW50YXRpb24KLSAg
ICAgICAgcHJvY19uYW1lID0gIiVzIiAlIChzZWxmLm5hbWUpCi0KLSAgICAgICAgZGVmIG1hdGNo
X2ZpbGVuYW1lKGZpbGVzeXN0ZW0sIGRpcmVjdG9yeSwgZmlsZW5hbWUpOgotICAgICAgICAgICAg
aWYgc2VsZi5waWQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZpbGVuYW1lID09IGV4cGVjdGVk
X2NyYXNoX2R1bXBfZmlsZW5hbWUKLSAgICAgICAgICAgIHJldHVybiBmaWxlbmFtZS5maW5kKHNl
bGYubmFtZSkgPiAtMQotCi0gICAgICAgICMgUG9vciBtYW4gd2hpY2gsIGlnbm9yZSBhbnkgZmFp
bHVyZS4KLSAgICAgICAgZm9yIGNvcmVkdW1wY3RsIGluIFtbJ2NvcmVkdW1wY3RsJ10sIFsnZmxh
dHBhay1zcGF3bicsICctLWhvc3QnLCAnY29yZWR1bXBjdGwnXSwgW11dOgotICAgICAgICAgICAg
dHJ5OgotICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQo
Y29yZWR1bXBjdGwsIHJldHVybl9leGl0X2NvZGU9VHJ1ZSk6Ci0gICAgICAgICAgICAgICAgICAg
IGJyZWFrCi0gICAgICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLQot
ICAgICAgICBpZiBsb2dfZGlyZWN0b3J5OgotICAgICAgICAgICAgZHVtcHMgPSBzZWxmLl9maWxl
c3lzdGVtLmZpbGVzX3VuZGVyKAotICAgICAgICAgICAgICAgIGxvZ19kaXJlY3RvcnksIGZpbGVf
ZmlsdGVyPW1hdGNoX2ZpbGVuYW1lKQotICAgICAgICAgICAgaWYgZHVtcHM6Ci0gICAgICAgICAg
ICAgICAgIyBHZXQgdGhlIG1vc3QgcmVjZW50IGNvcmVkdW1wIG1hdGNoaW5nIHRoZSBwaWQgYW5k
L29yIHByb2Nlc3MgbmFtZS4KLSAgICAgICAgICAgICAgICBjb3JlZHVtcF9wYXRoID0gbGlzdChy
ZXZlcnNlZChzb3J0ZWQoZHVtcHMpKSlbMF0KLSAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5u
ZXdlcl90aGFuIG9yIHNlbGYuX2ZpbGVzeXN0ZW0ubXRpbWUoY29yZWR1bXBfcGF0aCkgPiBzZWxm
Lm5ld2VyX3RoYW46Ci0gICAgICAgICAgICAgICAgICAgIGNyYXNoX2xvZywgZXJyb3JzID0gc2Vs
Zi5fZ2V0X2dkYl9vdXRwdXQoY29yZWR1bXBfcGF0aCkKLSAgICAgICAgZWxpZiBjb3JlZHVtcGN0
bDoKLSAgICAgICAgICAgIGNyYXNoX2xvZywgZXJyb3JzID0gc2VsZi5fZ2V0X3RyYWNlX2Zyb21f
c3lzdGVtZChjb3JlZHVtcGN0bCwgcGlkX3JlcHJlc2VudGF0aW9uKQotCi0gICAgICAgIHN0ZGVy
cl9saW5lcyA9IGVycm9ycyArIGRlY29kZV9pZl9uZWNlc3Nhcnkoc3RyKHN0ZGVyciBvciAnPGVt
cHR5PicpLCBlcnJvcnM9J2lnbm9yZScpLnNwbGl0bGluZXMoKQotICAgICAgICBlcnJvcnNfc3Ry
ID0gJ1xuJy5qb2luKCgnU1RERVJSOiAnICsgc3RkZXJyX2xpbmUpIGZvciBzdGRlcnJfbGluZSBp
biBzdGRlcnJfbGluZXMpCisgICAgICAgIHByb2NfbmFtZSA9IHN0cihzZWxmLm5hbWUpCisKKyAg
ICAgICAgaWYgc2VsZi5uZXdlcl90aGFuOgorICAgICAgICAgICAgY29yZWR1bXBfc2luY2UgPSAi
LS1nZGItc3RhY2stdHJhY2U9QCVmIiAlIHNlbGYubmV3ZXJfdGhhbgorICAgICAgICBlbHNlOgor
ICAgICAgICAgICAgY29yZWR1bXBfc2luY2UgPSAiLS1nZGItc3RhY2stdHJhY2UiCisgICAgICAg
IHdlYmtpdF9mbGF0cGFrX3BhdGggPSBzZWxmLl93ZWJraXRfZmluZGVyLnBhdGhfdG9fc2NyaXB0
KCd3ZWJraXQtZmxhdHBhaycpCisgICAgICAgIGNtZCA9IFsnZmxhdHBhay1zcGF3bicsICctLWhv
c3QnLCB3ZWJraXRfZmxhdHBha19wYXRoLCAnLS0lcycgJSBzZWxmLl9wb3J0X25hbWUsCisgICAg
ICAgICAgICAgICAiLS0lcyIgJSBzZWxmLl9jb25maWd1cmF0aW9uLmxvd2VyKCksIGNvcmVkdW1w
X3NpbmNlXQorICAgICAgICBjcmFzaF9sb2cgPSBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQo
Y21kLCBpZ25vcmVfZXJyb3JzPVRydWUpCisKKyAgICAgICAgc3RkZXJyX2xpbmVzID0gZGVjb2Rl
X2lmX25lY2Vzc2FyeShzdHIoc3RkZXJyIG9yICc8ZW1wdHk+JyksIGVycm9ycz0naWdub3JlJyku
c3BsaXRsaW5lcygpCisgICAgICAgIGVycm9yc19zdHIgPSAnXG4nLmpvaW4oWydTVERFUlI6ICcg
KyBzdGRlcnJfbGluZSBmb3Igc3RkZXJyX2xpbmUgaW4gc3RkZXJyX2xpbmVzXSkKICAgICAgICAg
Y3BwZmlsdF9wcm9jID0gc2VsZi5fZXhlY3V0aXZlLnBvcGVuKAogICAgICAgICAgICAgWydjKytm
aWx0J10sIHN0ZGluPXN1YnByb2Nlc3MuUElQRSwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwgc3Rk
ZXJyPXN1YnByb2Nlc3MuUElQRSkKICAgICAgICAgZXJyb3JzX3N0ciA9IGNwcGZpbHRfcHJvYy5j
b21tdW5pY2F0ZShlcnJvcnNfc3RyKVswXQogCi0gICAgICAgIGlmIG5vdCBjcmFzaF9sb2c6Ci0g
ICAgICAgICAgICBpZiBub3QgbG9nX2RpcmVjdG9yeToKLSAgICAgICAgICAgICAgICBsb2dfZGly
ZWN0b3J5ID0gIi9wYXRoL3RvL2NvcmVkdW1wcyIKLSAgICAgICAgICAgIGNvcmVfcGF0dGVybiA9
IHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihsb2dfZGlyZWN0b3J5LCAiY29yZS1waWRfJXAuZHVtcCIp
Ci0gICAgICAgICAgICBjcmFzaF9sb2cgPSAiIiJcCi1Db3JlZHVtcCAlKGV4cGVjdGVkX2NyYXNo
X2R1bXBfZmlsZW5hbWUpcyBub3QgZm91bmQuIFRvIGVuYWJsZSBjcmFzaCBsb2dzOgotCi0tIHJ1
biB0aGlzIGNvbW1hbmQgYXMgc3VwZXItdXNlcjogZWNobyAiJShjb3JlX3BhdHRlcm4pcyIgPiAv
cHJvYy9zeXMva2VybmVsL2NvcmVfcGF0dGVybgotLSBlbmFibGUgY29yZSBkdW1wczogdWxpbWl0
IC1jIHVubGltaXRlZAotLSBzZXQgdGhlIFdFQktJVF9DT1JFX0RVTVBTX0RJUkVDVE9SWSBlbnZp
cm9ubWVudCB2YXJpYWJsZTogZXhwb3J0IFdFQktJVF9DT1JFX0RVTVBTX0RJUkVDVE9SWT0lKGxv
Z19kaXJlY3RvcnkpcwotCi0iIiIgJSBsb2NhbHMoKQotCiAgICAgICAgIHJldHVybiAoc3RkZXJy
LCAiIiJcCiBjcmFzaCBsb2cgZm9yICUocHJvY19uYW1lKXMgKHBpZCAlKHBpZF9yZXByZXNlbnRh
dGlvbilzKToKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4
X2dldF9jcmFzaF9sb2dfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQv
bGludXhfZ2V0X2NyYXNoX2xvZ191bml0dGVzdC5weQppbmRleCA5ZjNiN2UzOTM3OWM0M2ExMDVl
Y2UyMGMxY2E2MjYyNDNkZmE3ZDM0Li5mYWIzNjljZjI3ZjhlNTAzZWQyOTkwNDRlOGM1YWFlOWM2
ZWFhYzdkIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0
X2NyYXNoX2xvZ191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQv
bGludXhfZ2V0X2NyYXNoX2xvZ191bml0dGVzdC5weQpAQCAtNDYsMjAgKzQ2LDEyIEBAIGNsYXNz
IEdEQkNyYXNoTG9nR2VuZXJhdG9yVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGV4
ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUoKQogICAgICAgICBleGVjdXRpdmUuX3Byb2MgPSBNb2Nr
UHJvY2VzcygpCiAgICAgICAgIGV4ZWN1dGl2ZS5fcHJvYy5zdGRvdXQgPSAnU1RERVJSOiA8ZW1w
dHk+JwotICAgICAgICBnZW5lcmF0b3IgPSBHREJDcmFzaExvZ0dlbmVyYXRvcihleGVjdXRpdmUs
ICdEdW1wUmVuZGVyVHJlZScsIDI4NTI5LCBuZXdlcl90aGFuPU5vbmUsIGZpbGVzeXN0ZW09TW9j
a0ZpbGVTeXN0ZW0oeycvcGF0aC90by9jb3JlZHVtcHMnOiAnJ30pLCBwYXRoX3RvX2RyaXZlcj1O
b25lKQorICAgICAgICBnZW5lcmF0b3IgPSBHREJDcmFzaExvZ0dlbmVyYXRvcihleGVjdXRpdmUs
ICdXZWJLaXRXZWJQcm9jZXNzJywgMjg1MjksIE5vbmUsIE1vY2tGaWxlU3lzdGVtKHt9KSwgImd0
ayIsICJEZWJ1ZyIpCiAKLSAgICAgICAgY29yZV9kaXJlY3RvcnkgPSBvcy5lbnZpcm9uLmdldCgn
V0VCS0lUX0NPUkVfRFVNUFNfRElSRUNUT1JZJywgJy9wYXRoL3RvL2NvcmVkdW1wcycpCi0gICAg
ICAgIGNvcmVfcGF0dGVybiA9IGdlbmVyYXRvci5fZmlsZXN5c3RlbS5qb2luKGNvcmVfZGlyZWN0
b3J5LCAiY29yZS1waWRfJXAuZHVtcCIpCiAgICAgICAgIG1vY2tfZW1wdHlfY3Jhc2hfbG9nID0g
IiIiXAotY3Jhc2ggbG9nIGZvciBEdW1wUmVuZGVyVHJlZSAocGlkIDI4NTI5KToKLQotQ29yZWR1
bXAgY29yZS1waWRfMjg1MjkuZHVtcCBub3QgZm91bmQuIFRvIGVuYWJsZSBjcmFzaCBsb2dzOgot
Ci0tIHJ1biB0aGlzIGNvbW1hbmQgYXMgc3VwZXItdXNlcjogZWNobyAiJShjb3JlX3BhdHRlcm4p
cyIgPiAvcHJvYy9zeXMva2VybmVsL2NvcmVfcGF0dGVybgotLSBlbmFibGUgY29yZSBkdW1wczog
dWxpbWl0IC1jIHVubGltaXRlZAotLSBzZXQgdGhlIFdFQktJVF9DT1JFX0RVTVBTX0RJUkVDVE9S
WSBlbnZpcm9ubWVudCB2YXJpYWJsZTogZXhwb3J0IFdFQktJVF9DT1JFX0RVTVBTX0RJUkVDVE9S
WT0lKGNvcmVfZGlyZWN0b3J5KXMKLQorY3Jhc2ggbG9nIGZvciBXZWJLaXRXZWJQcm9jZXNzIChw
aWQgMjg1MjkpOgogCitNT0NLIG91dHB1dCBvZiBjaGlsZCBwcm9jZXNzCiBTVERFUlI6IDxlbXB0
eT4iIiIgJSBsb2NhbHMoKQogCiAgICAgICAgIGRlZiBfbW9ja19nZGJfb3V0cHV0KHNlbGYsIGNv
cmVkdW1wX3BhdGgpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dw
ZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93cGUucHkKaW5kZXggOTVjNDg5MzY2
NWY1OGNmMjJhMmI5YzU3ZmYzNmY1N2M1YTRhMzQyNy4uOGQ3M2ZhZmVlMGRjYjQzYjVmMTlmMDcy
YzEzOTk3NTQwN2MyYmI5NSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L3dwZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd3BlLnB5CkBAIC03Nyw2
ICs3Nyw3IEBAIGNsYXNzIFdQRVBvcnQoUG9ydCk6CiAgICAgICAgIGVudmlyb25tZW50WydURVNU
X1JVTk5FUl9URVNUX1BMVUdJTl9QQVRIJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdsaWInLCAncGx1
Z2lucycpCiAgICAgICAgIGVudmlyb25tZW50WydXRUJLSVRfRVhFQ19QQVRIJ10gPSBzZWxmLl9i
dWlsZF9wYXRoKCdiaW4nKQogICAgICAgICBzZWxmLl9jb3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9p
Zl9zZXQoZW52aXJvbm1lbnQsICdXRUJLSVRfT1VUUFVURElSJykKKyAgICAgICAgc2VsZi5fY29w
eV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX0pIQlVJTEQn
KQogICAgICAgICBzZWxmLl9jb3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9zZXQoZW52aXJvbm1l
bnQsICdXRUJLSVRfVE9QX0xFVkVMJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vu
dmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnVVNFX1BMQVlCSU4zJykKICAgICAgICAgc2VsZi5f
Y29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnR1NUX0RFQlVHJykK
QEAgLTEyMCw3ICsxMjEsOCBAQCBjbGFzcyBXUEVQb3J0KFBvcnQpOgogICAgICAgICByZXR1cm4g
MgogCiAgICAgZGVmIF9nZXRfY3Jhc2hfbG9nKHNlbGYsIG5hbWUsIHBpZCwgc3Rkb3V0LCBzdGRl
cnIsIG5ld2VyX3RoYW4sIHRhcmdldF9ob3N0PU5vbmUpOgotICAgICAgICByZXR1cm4gR0RCQ3Jh
c2hMb2dHZW5lcmF0b3Ioc2VsZi5fZXhlY3V0aXZlLCBuYW1lLCBwaWQsIG5ld2VyX3RoYW4sIHNl
bGYuX2ZpbGVzeXN0ZW0sIHNlbGYuX3BhdGhfdG9fZHJpdmVyKS5nZW5lcmF0ZV9jcmFzaF9sb2co
c3Rkb3V0LCBzdGRlcnIpCisgICAgICAgIHJldHVybiBHREJDcmFzaExvZ0dlbmVyYXRvcihzZWxm
Ll9leGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0sIHNlbGYucG9ydF9uYW1lLCBzZWxmLmdl
dF9vcHRpb24oJ2NvbmZpZ3VyYXRpb24nKSkuZ2VuZXJhdGVfY3Jhc2hfbG9nKHN0ZG91dCwgc3Rk
ZXJyKQogCiAgICAgZGVmIGNvbmZpZ3VyYXRpb25fZm9yX3VwbG9hZChzZWxmLCBob3N0PU5vbmUp
OgogICAgICAgICBjb25maWd1cmF0aW9uID0gc3VwZXIoV1BFUG9ydCwgc2VsZikuY29uZmlndXJh
dGlvbl9mb3JfdXBsb2FkKGhvc3Q9aG9zdCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0FjdGl2YXRlRm9udHNHdGsuY3BwIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0ay5jcHAKaW5k
ZXggM2Y4ZTI0NDBmMjgzZTRiNGU1NDI3YWQ2NDRkMmIzYjRlMzE5NjVhMS4uODFiY2Q5NjJhMDlj
N2FjZmVmMjJlYzJmNDhiYzAyYjI0OWE1NmM0NCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0ay5jcHAKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0ay5j
cHAKQEAgLTY1LDggKzY1LDEzIEBAIENTdHJpbmcgZ2V0T3V0cHV0RGlyKCkKIAogc3RhdGljIENT
dHJpbmcgZ2V0Rm9udHNQYXRoKCkKIHsKKyAgICAvLyBUcnkgZmxhdHBhayBzYW5kYm94IHBhdGgu
CisgICAgR1VuaXF1ZVB0cjxjaGFyPmZvbnRzUGF0aChnX2J1aWxkX2ZpbGVuYW1lKCIvdXNyIiwg
InNoYXJlIiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgTlVMTCkpOworICAgIGlmIChnX2ZpbGVf
dGVzdChmb250c1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1Rf
RVhJU1RTIHwgR19GSUxFX1RFU1RfSVNfRElSKSkpCisgICAgICAgIHJldHVybiBmb250c1BhdGgu
Z2V0KCk7CisKICAgICBDU3RyaW5nIHdlYmtpdE91dHB1dERpciA9IGdldE91dHB1dERpcigpOwot
ICAgIEdVbmlxdWVQdHI8Y2hhcj4gZm9udHNQYXRoKGdfYnVpbGRfZmlsZW5hbWUod2Via2l0T3V0
cHV0RGlyLmRhdGEoKSwgIkRlcGVuZGVuY2llc0dUSyIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0
LWZvbnRzIiwgbnVsbHB0cikpOworICAgIGZvbnRzUGF0aC5yZXNldChnX2J1aWxkX2ZpbGVuYW1l
KHdlYmtpdE91dHB1dERpci5kYXRhKCksICJEZXBlbmRlbmNpZXNHVEsiLCAiUm9vdCIsICJ3ZWJr
aXRndGstdGVzdC1mb250cyIsIG51bGxwdHIpKTsKICAgICBpZiAoZ19maWxlX3Rlc3QoZm9udHNQ
YXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNUX0VYSVNUUyB8IEdf
RklMRV9URVNUX0lTX0RJUikpKQogICAgICAgICByZXR1cm4gZm9udHNQYXRoLmdldCgpOwogCmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dwZS9BY3Rp
dmF0ZUZvbnRzV1BFLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
d3BlL0FjdGl2YXRlRm9udHNXUEUuY3BwCmluZGV4IGE0OWM3YTI5MjE4MjU5MWUyNzI3YjJiOTAx
ZTQxMmIyZGU4ZTAzZGEuLjhiZTczNmYwNDljOTFiMzA4Y2QyYzFlY2FmMTQwNWEwNWMxYWU1MDAg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0Fj
dGl2YXRlRm9udHNXUEUuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUuY3BwCkBAIC01OCw4ICs1OCwxMyBAQCBDU3RyaW5n
IGdldE91dHB1dERpcigpCiAKIHN0YXRpYyBDU3RyaW5nIGdldEZvbnRzUGF0aCgpCiB7CisgICAg
Ly8gVHJ5IGZsYXRwYWsgc2FuZGJveCBwYXRoLgorICAgIEdVbmlxdWVQdHI8Y2hhcj5mb250c1Bh
dGgoZ19idWlsZF9maWxlbmFtZSgiL3VzciIsICJzaGFyZSIsICJ3ZWJraXRndGstdGVzdC1mb250
cyIsIE5VTEwpKTsKKyAgICBpZiAoZ19maWxlX3Rlc3QoZm9udHNQYXRoLmdldCgpLCBzdGF0aWNf
Y2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNUX0VYSVNUUyB8IEdfRklMRV9URVNUX0lTX0RJUikp
KQorICAgICAgICByZXR1cm4gZm9udHNQYXRoLmdldCgpOworCiAgICAgQ1N0cmluZyB3ZWJraXRP
dXRwdXREaXIgPSBnZXRPdXRwdXREaXIoKTsKLSAgICBHVW5pcXVlUHRyPGNoYXI+IGZvbnRzUGF0
aChnX2J1aWxkX2ZpbGVuYW1lKHdlYmtpdE91dHB1dERpci5kYXRhKCksICJEZXBlbmRlbmNpZXNX
UEUiLCAiUm9vdCIsICJ3ZWJraXRndGstdGVzdC1mb250cyIsIG51bGxwdHIpKTsKKyAgICBmb250
c1BhdGgucmVzZXQoZ19idWlsZF9maWxlbmFtZSh3ZWJraXRPdXRwdXREaXIuZGF0YSgpLCAiRGVw
ZW5kZW5jaWVzV1BFIiwgIlJvb3QiLCAid2Via2l0Z3RrLXRlc3QtZm9udHMiLCBudWxscHRyKSk7
CiAgICAgaWYgKGdfZmlsZV90ZXN0KGZvbnRzUGF0aC5nZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVU
ZXN0PihHX0ZJTEVfVEVTVF9FWElTVFMgfCBHX0ZJTEVfVEVTVF9JU19ESVIpKSkKICAgICAgICAg
cmV0dXJuIGZvbnRzUGF0aC5nZXQoKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9maWxl
cy9kZWZhdWx0LnhrbSBiL1Rvb2xzL2ZsYXRwYWsvZmlsZXMvZGVmYXVsdC54a20KZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxNmY2YjA4ZjZkODA4NTgwOTY4YmEwMjI1NmQ5MDc1ZDQ4
YTQ3ZDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFy
eSBwYXRjaApsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmxpdGVyYWwgMTIwMzIKemNtY2d5WWo3TGFi
LXVlOzVGa2lWbDMlZkZjU15yeCokTlkyTDRzaUdyVUMod3B6dCZSbDlIMiVyQVN6JE1VZ1p9CnpO
Pi1mNE5+Viheb3dVZ2BOei1AeXREVX4+UkNVd05SREdxWGA+KWdLWWRXNHpgZj9tNmFvZEArb3ZO
TCUtKkBqPgp6Pn5hbUlzJU8mVzlEZShxZChPUypLSzk8YmkrbEx1Zz1nPUlANWkyM04pMEdXZU19
WFUxMDBWMkRLeXxpdVNQQjQKenBVMmpZK1E4UmA5PXw2N1kqLUlIOUEkY1pfbjdDVyljJHdIUkJp
OEtXb3pYRXlkeF5OdT90TTdPNk84JXFyS01jCnpiUjFSRE49RyN7IyNKLUZ3WWw1ZitFNk80RCF1
IUpZT08lSSFLPzwyfElHVE9qKjJxUiopQyROYzZPSCljeCFMRgp6KCo+NVU1V1UjJVJHbXchb2w3
VHtIYGJTVEl5PVhveCFtZFFVVV5pLV93UHFVTik9bXFsYEFHdzVFcWgkajYpX00KejhPUzZnM3pe
Q2xRJU1OeVF0b3VRKW9BQ1lSanZUUDB7alpfRTVOUyt6WEpSVUBHSFF0MEtXcUszaCpuVystQUYz
Cnp0S3szMlRwb1VUX35xZjNoaEg5a2RIQ2h3bXhvXi1ldEchaVE+a3tQUF5gP2ZOK2AzRW59Kipz
e0hFYkk0Wm1zbAp6T35ZPiplJCgpcWhUbjg1Kj0pQjs8d2tZQmxCPXteamVJZW1ZcVZ5eyRyUXdl
cSNAJncyfWxNcTNDVGpIWDNEOCMKenR5KEYhQHxBTUFGeyNScEVNeUFPbmxDclRmZkpBbkJ2Jlht
UWF+NHloOW5fe05AYnl2V304LTh2dSkmc0A9fU8zCnpsYDd9anh6YiFTUzFRKVpyRStfPUkkdFdE
WVVIY3NNelBqSmQlJDwwKFFNX0xoX19Pa0RVfEJmOyhTQT8jX1c4Zgp6UWstY3dYR2BzM3QpTDNe
I2FkJndQQEFpQDZrNFM/bXZXUVVgRjMla1VLeFgmWHcoOyokbnkjNEdtWUdRM3omc1cKem0xP3Q8
KHk5Q2NgWXY1cm9VMWg8YEZnZHtZUyRhTisxeTtDUyNRa08zaVgrMHQofnRvJmVSY0NCaUN4ciUr
KDZ7CnpgTC0kKkR+LTktXyNfMVJqWmUqYENYJGQ4I0QlMEc8QiRuUjFfSFlZKmlGREwxR14wREdP
KXxRRSg1eV4+QHUqKwp6eiVCIzM0RDJSaEh3bjgqKmlGSzI1X1hmWW59cHBZPj9VRDEzQS0lcHZh
cmotRSheT1g/NlI9UyFZJktERWJPd2QKem5AWGJYKGEkT0xhfC0+T0xPLVhfJm5maEMzak9STi05
YFZuNyFOTSYtMF5DbXdUUnxkKW5Zcj5ucn0ycVhCeTJwCnpIPF5WQCZBRiowQm41RkhYfjtOYTAr
TkFETFNVRElvZU1oYGJ9c0IoKnR4S0NWZHVpbWcmcTNDYnp6cj1UXmU/Mgp6KnJqMlloRnV6Vlkx
cE08bXhmJiRjSF4pY2h1dHtyIyRoKU95SyZmISF3JnU3cUNaXnBobH5EaihIfTFRISRwNiUKej1u
cj5kTE8oUDRsKl8pWjdIamktbVAke3lYRV9FYylwbX5LcGgtbDxiQ3VhOSQ0YT9ATTtwJnxXcUox
cnBiSzBDCnpyaCFHXklJc3p2ME1hZjRKT2k4ciZJN1orSXA3cXEmU3hMayExSylmYXpOKFMweTRo
PmtvbkMzbmNwbXNgSVVnbwp6Py1ZPnZtNFZEcEttV2lkQHRpWkMoP0k1djJRckBwQW9IMDlHTV5m
ZGBCYzY2SkZacj9FXmNwaGJ+e1NsI3xQQ2kKekdOfGdjOyE+ciFQXkBzUy1uPkchRWRyWkMpbjJT
aXh9JkJza0x2ayRaVCtjVDZAaV5pVGlEU2pwPm1aKkRLfWtnCnomKmVRXk45QzhkY2JJUFp3a1Vp
K201WE9FbXcwdnFUcjx2ZngpdzZqPD5UTD1ZTChfQCs5eDxSSnYtPUZfNmFUPQp6QyVyZ05Ec0A7
akA9Ri1KI2lqfD9NTGokcForJm4pZHE9Nkd3OW5VVD9QazU9ZDNnM1EpbXdzNCFJTEgpYnlEMyUK
enBVT2NlJm5MS1VEU0szV012WUpOVzxMSjkkSHZrMVI8PTZDYSF+MVRUOzV1JD82fXkqKXJnTUNI
fT5OMyk+dmc5Cno1ISlsaW1JR2NnX0hFNU45RX1icmhidWskKD87dD5FSnJ6THc3QU4qbi0kIytk
ZjE/OGQrNm5YSHI4VnomYjR7ZQp6ajElZHJRVDckYCp6SW9VWmQwK2lxWWxUQk5kKT1HKmtPNWcj
RlFEYVN1WGw3aE9yaWYzfTlhWiNYIXRhdV8kRH4KekxIfHxpYENNaEdJRU13bylGO15BSStnKm1Y
R2ptNSpoY2paMWdqTHJCeDIhcylpSUJmNFQtSEwyPF8rckFFVUp4CnpwVHctPU1mKGg/Y0J4dFBv
fWRGYD9tIUd5K183UyleTVNTbldwa3N8dChmSWxMbj5JQ3g4YC1Ud3picjA2O3IyMgp6TyVKZU1y
YGhKWjdsdTUmP2djYkM7eTVJNmFKK2ZfJXI8QkhxdUYmI1E0QntmdTkpcHUwfTtvJUQ7T1VKWCF1
JEcKei1eUmZJRXpZUVFVcHpEeEwrITxWVUs5O0ZmU3E1PSFjRypJNE5VfCF1K1VGNz5KKHZ9UD9z
bit0T0tZPTRFMW1ACno3ZXlvUnYqOHprVWolK097MzIyNy1VRF5pXld4SVgreVhrZG8tY0ZZaGJ8
MT8xNlA8SU5EUHAkVTZefk94Qjdoagp6enFUI00mOEBicmpqbGwzK0d5S2oyaW4jaktqIWhoY3s3
TEdDZHxGSWRie31UWD1CRzRrP3xYUiZVKTxAYytUfEwKemxzVWl+cXUrNiR0eTt6RW9abnZJZFpJ
aDw5USlWSl9fdzI7N1VwRjxWaDg1Nmdxbz8oJVF9M2tXa3h1Xk9GcUgmCnpeNSYmRzE5PTlmcDB+
e1RIPTgzKHskQFQyPUlgfiNKO0Q2SGIjdj5zVypnc1gtN0UrNTRDPTs0KHRqQWhkaX10Pgp6I1dm
YzVtM2x8OHtPYTg0VnF3V19rT0pqK2QhKER5RzNwR016Q2RJKV5Ub3RCOUwpRSRBTT8lZjIoSHQ/
SHEoMU8KejxqWiozVz9VO0NQXzFHRUpMcTxDaUxhU1V4bXNhS0A3UkpKZyFzY182Uk5rZzlybGlW
cjxYTyR0amsmaCtYJlp1Cno+O24kMG95YXNlJEtNZ0dYUU1MVGtfcjEoYHcwNmJ7bFM4TClmPFFD
dD17Xkd6T3ZDek19eUBeNHwhJHU+bU9hTwp6UVE2eGZLWWx8QT8hfStPdUZVPT4+aGdwOFhqOWZ1
c25fO1ZYTH0jcEJnM0J1LSQjQTFxYD9wZmB+OG4jUUtMMSsKemxfVDd5MGVEb253Zz4tO19RJUxX
OH1mUTEjSntZMHFMPT05aDx7YntwPGVwZUxqM0VSNUJKakY0RG1aT2tMal89CnpAe2o4SHUhbHdi
dGlvLT04OSh7JCFXbHBMaHZAJnxLfiMtUT5UbTVJdFV2Z0hgaCREKkE3Rm0pazI9T2JFfVktMgp6
Y3FNdXExPnFWZGhkOyp3dWFPPSVfQWZDV1l1fTJnZUZVTUBQbHgjRGRLfUozfEFgUiliKVIhT1Ao
S3lvKkxvY0oKejxOQzE+ZjRScF4xJTVvbGYzd0g7YVZob2I1ZFZDU3FhTHtiT287IU0mbj4zXldR
aE5VYUJrc3d7WTs0ZXNQS2VpCnojX3o5JV8kUGc/ci1vaylAbFd8JmNqMiN1XyU5Mk8lZ3BqaUFe
eEs5TDc4fWRIcEc5YDxFQV4rWEc4b2lnP3NWOwp6bUN0cEtlPVZILSYtVkc3OSNeYChVS1FATyYp
QGRhVlUwNHMpWjx7X3VnbSFJPzchbDM5cE17MypYNGlKPWVtOH4Kej5+VH0hZkErY2R7fS1RWWdN
YW44X1d5P1BMRFFZOy0rWnE5fEp+PT58MzdATHtyXis9VmZyNlk+UEM9e0QpbkUmCnpGfmpLbXtA
ZHFoMzhsNyFfOXZCa0NjeD4/NFJFJkNQTEx5Xy01fCNeeUJGa1cpSnM4Kl8kfitlczhZYGNJM017
ZAp6MG5SQDhLIUNGV3t6Q1hMP3NANj8pdGlyQ3B5JF5CKlltNHo9Qzl9MTBOMy1ZYUYoYSUqOHRi
XnQ4aiNgXiF5cyYKemVgbSVNVEd6QyVfMDlNWiZRRkslYT4+aT9hb3Y0YktmSDleZU9OeXtaWUky
RmtEQ1EhcHZVbmRqd3t5VmN0T1YlCno/e1BETjJZY0wlczY+d153RWErejR7MUshPEVCTCk3WEh5
amNlWjxPTT9LezgjcjRle14/PTd1RUw2OHZKTCpBPwp6an5UQWw3aWt+MWZMPnB+NTNEY1h0VWM1
Sk4hbDtNazElckM0JTI8VWtNLURGS1ZkPlVFbSgjMT87JUlrX1I1TDkKem9mR1N1byEjVTVYOXhi
eWZadEc1YXI2QWZgcCgrdUAlaCVIQ1VmQEV5KGtsfXAoK0t7e21jeWF7QVA3aD8pZnFPCnpMQWY2
WEp8eT1Pej0hMk4xM1dBRGxmWXdncDlNWjlfZng+KmEtUmU7MWVQQGhUJDIwbTEpaC1tSU8zd3ZX
KUxgdgp6djV0RXlfLSplUSpnaiRHNTlsdkx4N2JKRGZ2KHNgLS1XSyhONis3aitJe3I9SGhIRnhl
aDwzJktLZ2EmPUtBUWoKenBzVi1NWiRzQkdkaTdyNWI4YFFGOzE1OTlaLT53KDdXVG1aVkF8K0Z7
Zyt7ckdkPjZPYDI0OV9lZXxvKTc1ZUMoCnpmXk1kZHt5Y1FFZWVgUzRtSE96UGhWRTEhSiU1K3V3
flRQVjsqKiVGN2BeJSk7Q0lYWUJmdG1ie2AtTCtmXmUkZwp6eXUpJHdLSlg3aCF1ZnB3eCtuWVNw
TT8mdUI1JCFAZmlCLWllK2p5VUtLZ1VlUDUwNG5MUmFnZnpYJTtaaTBoYyYKejM0QzFjLXZ4WSsr
YGsrNmVHdH5+P0A+UX5wOV9CZjxYJEJ4X2hhc3tWWmsra15FfTdNc1A/ekB5YnxgbTR4NkJHCnp0
YDZKJEVeTENyYDgjYSRkJDApIz1rJjE2QDUzZjJvYWUoZmUqbH1IYVBBTT17Ml4/RCF1MjMqXjk5
JWhnPTw5RQp6PThzPyM2c3tYI249aXM5Q3xwYXpIaCZEOHBtMlMkdFJ3MXE9LUt7IS17ODM5ekwk
R3AtZ0ElM2VKfTYxcFhEQW0Kem9HPHM4TEUqWVdkK3h1dkMrOXUpeTQ/VHJwOElhQCNsIWg8S049
TFNTRzREUTBeYzJZJnZ5ZDhDLTkjOGY0JnAmCnpvX2tnOVV3UXZvQW9yQDRieWRJZlZPWmZTNSQ5
dDZgd0dWfSQxYjEwcE0hKkJjP0pHSztvMkx2YDRpWCNoM2hmMAp6KHJ0TjZteWIwXkBJaz54MVJu
cjt3bSs8T2pgfk1ueEQzN24xWkM4O2k1MzI+VjtPZExMaHd2ayFRWTtecitPWDIKenshSXVyMWU9
Mk1mPT52eDFRIUx7Zih3RXhnOE0rUDQhNy1kRWE0cWhAT0h0KzFiO18tVVY7UHEkbTtoeSgoU09o
CnpBYTx3ViRHJjdnbiFkIUVGS09kSVF8P0t7SiltV3MpTyRhY2VfbXxYMSltYiEtakN8fEk+TWgz
ejl7aXM1V0ZiMwp6Q1UmUVZLUHxpP3s1eWRyMkJxRkR4KVh4JDdrbjtZXkZ5TWAyfkc+WE9ZbGot
Rn5NRUk9TFBRKE9iVnQyanxufmsKel54fUNaPyU4JWszZnR1IXFQcWlfNjVVOyp5QSRaeS02dmA5
NSE/aU5gRj5iKmNNSSthRXtLaDFfcElvejJ5ITNBCno3YFRUYnU4SDMzOCF6OVk9d30zSDF4dGMr
SyhDQz9pUzhFIVVsZT8pWExENzV8Nm5gdDt5VDBpaFMhKCV7WWliIwp6QG5kOEJAY08jK0cyNGk3
ZGhMYEtVSnh0YHs9NlhUUGtZYnJHdkxnUkl6RUApe2xgVmBhaiNFKk1FdmcrVG9RYS0KekBUXzE0
PT1wbCVKMGZZZXBldU1yJj1ETEVqMCRwV0dRT19oQ2o+N0d6RXwqKmZ9YXhuRypET1FDalhjeEZB
dSUqCnpQOXhDbTxGI2l7QHB0Vn17bjYwNiUzcWV2NzNjNVJNeT4zdC1XTXh7LXdEbEdDUH43KGdg
PSpENH1Xakl4Vl49bgp6KjdeQ2FjUjh4T3l0JDBJdzVRPkhZb3BXSSMmMkghNn5wPGJvJGJ5aF9t
Yz4lY2owezA5KUlzUXFzNkc5VGk/TSgKellwYGQ8R09OcSQqIS1FZEduMFRsJilSYkx7UUJtMyNf
bkk8Wj5Gc0hAS3lQc2hVQSE8P1FaUkRrTWJTbiZ7Zio9CnpEO3g4eVp0ZC1LTSQ0VG1KMHFqaT11
WlR3aGREUGtpMSgpQitiZ04kI0d+cWN4NVo8YVFjPF9WaCQqSUR1cU0+bAp6VmBGUWJqWjItfl5f
QXRaaT1FWj15XkNZcnZDWGFTI3BSN0xCO3BfdHsrcXdgb3ZtemtWcm5kZm17JlZIRThYPyYKei1T
c1cqMlp6KmJYUzM1P1VsflBGOzhBc01WfG5FUUBiY09eOGZpZUM/ez09Wk5yUzBtbClTVHZDXlYq
JUBOcmJGCnotb3lzZCMpNSVHU1k1LVA0WkgpamQ7eCM+NHZmPWJlKTxQM0tZaCgmSSE9eVo8TCZ3
MTlZfVh7SSF+Pjl0OHxfcwp6IX1te28zPzdpcXgqT3k0Wm1WbSNpZ0ZFNlVlanJlJHc4MmdiPUkw
dWxvdEBeM3Ahcio1cTxER0k2bTlePCgmJHwKemxoTl87XnFIVDJCVChQaGJiV2MrJXVvTUQhMmU2
eXpnak5APk5ecmh6b0dxR0YhMjNmMypgVDJDTEpmKHtQZD9DCnp6ZGFZNjd3YD02XnFIVUQ0ZGox
VG0oU0JgZSk9YEVrPjZpdVFVNk1AZmNvPko5VXUyTT9OXld8YmghNilGNHs0IQp6WDcpQiQlc19m
b1R+e3czeCgqOHJSYV49RGFVJFZhTFVmNlp2dmpGZjswfD1iaUR8KWMhM201PD5OQ1A4MSsjKXYK
ekNPd3JqSmUzbUVgU0drQWhNMnszZGVybCo4PEElc3g3VWB7SXMzWkc0ODB0fF5CNDh2OF5JMEZL
aFh+NzhGaFhACnpvZ1l4ZzJoe05hQyZXKDIyZD83LT5pQj9EQ2YmcnhiQ0pTemV0Wkoob2V3UlV6
JUxzcDdpVDNDXz5Pe2VRTnxBRQp6czxiYE1SU0JBTWFqcl9aREhyRmVncXcxNHVGN3lKN3cwTzQ+
LV9qK1Y2QHZHI2g1PllheWhhU0RyKTJXbChFRDQKekR7WVZTU0F3UW9vV0J4byVFa0ZCO2lnPWl6
Y082UCNrb3YhS0I+ZTQxe0JOVmxhaiFSMC1rQD1fQmdMOFh2KVFUCnpFI2FuSW9ZeFg9JUVmc3Q7
aWc9aT1RUH11JU9AP05WendST2N0bStQSkJkNCs9aCtmIShCXnFoQkZ9dGNPajxuVgp6TChYJDxN
NG99dVQ+QX4kRjshZSQtX19HUSMhUGEhVX58azJJPjtMUm1CNGQ9WnpuaXdpNVA2MiR0M2JqQ1hz
IzEKemJlX1dgPWxNKk5VTy12T0YySTVoMmhWWW1HaUtXSkpmfXtfU3h6RiliYG8oR3RhRHwxZEco
ekE7KW9xIzlFc2w4CnpXazVXYU47e3F2SENSUG0kWGdtMjVBQXF2Nj8lKGpSfURASDxfWlpsdGo3
bDk7Q1dWKUp8VVJWJGk2aUJxKHNsQgp6cFpUUSlpLT56eipNfCF9WFA8LWBMVjdgdTEpS3J2dFR2
VzZKNktDP157Vj05Sk9CfDY0cVUtfmZyR2pDWWE9ODAKenJPe2wkeUBYP1R0PUE2d1kya2Y/Nlh7
eFM5UCFoS3l8ZFBwPCNRfUk7QG5WUUspR0wzdDIlUkNabz5Td2BGN1hSCnpMd2N7bkpXTF54PW5a
eEtGelJIUEdFRHJZa2hmZEw7bE5wTXNmdm1XKykkcyM8b1lvdyQ3PjZ6aihXUmdhYztvOApNa2tz
ZH5iSUlpWTA4M0swMj48ezkKCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL2ZpbGVzL2h0dHBk
LWF1dG9nZW4uc2ggYi9Ub29scy9mbGF0cGFrL2ZpbGVzL2h0dHBkLWF1dG9nZW4uc2gKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDFjMGM0ODMwNTFmYmRmODYwNGI5NDRhNjM1MTFjNGUx
MjFlYWVmNGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
VG9vbHMvZmxhdHBhay9maWxlcy9odHRwZC1hdXRvZ2VuLnNoCisrKyAvZGV2L251bGwKQEAgLTEs
MiArMCwwIEBACi1hdXRvbWFrZSAtLWFkZC1taXNzaW5nCi1hdXRvcmVjb25mIC0taW5zdGFsbApk
aWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9mbGF0cGFrdXRpbHMucHkgYi9Ub29scy9mbGF0cGFr
L2ZsYXRwYWt1dGlscy5weQppbmRleCA4OWViYzY3MzEwYzFkNWI4NGM5MGNmNTQwN2Y5NDBjMDFi
MDVlZWU2Li4yYTBjOWE3ZGYzYjY5MWVmYThkYzU3OTA2YjRiNjVhZGQ2ZGI1NzA5IDEwMDY0NAot
LS0gYS9Ub29scy9mbGF0cGFrL2ZsYXRwYWt1dGlscy5weQorKysgYi9Ub29scy9mbGF0cGFrL2Zs
YXRwYWt1dGlscy5weQpAQCAtNDksMTUgKzQ5LDEwIEBAIGV4Y2VwdCBJbXBvcnRFcnJvcjoKIAog
RkxBVFBBS19SRVEgPSBbCiAgICAgKCJmbGF0cGFrIiwgIjAuMTAuMCIpLAotICAgICgiZmxhdHBh
ay1idWlsZGVyIiwgIjAuMTAuMCIpLAogXQogCiBGTEFUUEFLX1ZFUlNJT04gPSB7fQogCi1XUEVf
TUFOSUZFU1RfTUFQID0gewotICAgICJxdCI6ICJvcmcud2Via2l0LldQRVFULnlhbWwiLAotfQot
CiBzY3JpcHRkaXIgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSkK
IF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIApAQCAtMTIzLDEzMiArMTE4LDYg
QEAgZGVmIGNoZWNrX2ZsYXRwYWsodmVyYm9zZT1UcnVlKToKICAgICByZXR1cm4gVHJ1ZQogCiAK
LWRlZiByZW1vdmVfZXh0ZW5zaW9uX3BvaW50cyhhcnJheSk6Ci0gICAgcmVzdWx0X2FyZ3MgPSBb
XQotICAgIGZvciBhcmcgaW4gYXJyYXk6Ci0gICAgICAgIGlmKG5vdCBhcmcuc3RhcnRzd2l0aCgn
LS1leHRlbnNpb24nKSk6Ci0gICAgICAgICAgICByZXN1bHRfYXJncy5hcHBlbmQoYXJnKQotICAg
IHJldHVybiByZXN1bHRfYXJncwotCi0KLWRlZiByZW1vdmVfY29tbWVudHMoc3RyaW5nKToKLSAg
ICBwYXR0ZXJuID0gciIoXCIuKj9cInxcJy4qP1wnKXwoL1wqLio/XCovfC8vW15cclxuXSokKSIK
LSAgICAjIGZpcnN0IGdyb3VwIGNhcHR1cmVzIHF1b3RlZCBzdHJpbmdzIChkb3VibGUgb3Igc2lu
Z2xlKQotICAgICMgc2Vjb25kIGdyb3VwIGNhcHR1cmVzIGNvbW1lbnRzICgvL3NpbmdsZS1saW5l
IG9yIC8qIG11bHRpLWxpbmUgKi8pCi0gICAgcmVnZXggPSByZS5jb21waWxlKHBhdHRlcm4sIHJl
Lk1VTFRJTElORSB8IHJlLkRPVEFMTCkKLQotICAgIGRlZiBfcmVwbGFjZXIobWF0Y2gpOgotICAg
ICAgICAjIGlmIHRoZSAybmQgZ3JvdXAgKGNhcHR1cmluZyBjb21tZW50cykgaXMgbm90IE5vbmUs
Ci0gICAgICAgICMgaXQgbWVhbnMgd2UgaGF2ZSBjYXB0dXJlZCBhIG5vbi1xdW90ZWQgKHJlYWwp
IGNvbW1lbnQgc3RyaW5nLgotICAgICAgICBpZiBtYXRjaC5ncm91cCgyKSBpcyBub3QgTm9uZToK
LSAgICAgICAgICAgIHJldHVybiAiIiAgIyBzbyB3ZSB3aWxsIHJldHVybiBlbXB0eSB0byByZW1v
dmUgdGhlIGNvbW1lbnQKLSAgICAgICAgZWxzZTogICMgb3RoZXJ3aXNlLCB3ZSB3aWxsIHJldHVy
biB0aGUgMXN0IGdyb3VwCi0gICAgICAgICAgICByZXR1cm4gbWF0Y2guZ3JvdXAoMSkgICMgY2Fw
dHVyZWQgcXVvdGVkLXN0cmluZwotICAgIHJldHVybiByZWdleC5zdWIoX3JlcGxhY2VyLCBzdHJp
bmcpCi0KLQotZGVmIGxvYWRfbWFuaWZlc3QobWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lPU5vbmUs
IGNvbW1hbmQ9Tm9uZSk6Ci0gICAgaXNfeWFtbCA9IG1hbmlmZXN0X3BhdGguZW5kc3dpdGgoJy55
YW1sJykKLSAgICB3aXRoIG9wZW4obWFuaWZlc3RfcGF0aCwgInIiKSBhcyBtcjoKLSAgICAgICAg
Y29udGVudHMgPSBtci5yZWFkKCkKLQotICAgICAgICBjb250ZW50cyA9IGNvbnRlbnRzICUgeyJD
T01NQU5EIjogY29tbWFuZCwgIlBPUlROQU1FIjogcG9ydF9uYW1lfQotICAgICAgICBpZiBpc195
YW1sOgotICAgICAgICAgICAgaW1wb3J0IHlhbWwKLSAgICAgICAgICAgIHlhbWxfbG9hZCA9IGdl
dGF0dHIoeWFtbCwgInNhZmVfbG9hZCIsIHlhbWwubG9hZCkKLSAgICAgICAgICAgIG1hbmlmZXN0
ID0geWFtbF9sb2FkKGNvbnRlbnRzKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgY29udGVu
dHMgPSByZW1vdmVfY29tbWVudHMoY29udGVudHMpCi0gICAgICAgICAgICBtYW5pZmVzdCA9IGpz
b24ubG9hZHMoY29udGVudHMpCi0KLSAgICByZXR1cm4gbWFuaWZlc3QKLQotCi1kZWYgZXhwYW5k
X3N1Ym1vZHVsZXNfcmVjdXJzZShtb2R1bGVzLCBtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWUsIGNv
bW1hbmQpOgotICAgIGFsbF9tb2R1bGVzID0gW10KLSAgICBpZiB0eXBlKG1vZHVsZXMpIGlzIHN0
cjoKLSAgICAgICAgc3VibWFuaWZlc3RfcGF0aCA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5h
bWUobWFuaWZlc3RfcGF0aCksIG1vZHVsZXMpCi0gICAgICAgIHN1Ym1hbmlmZXN0ID0gbG9hZF9t
YW5pZmVzdChzdWJtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWU9cG9ydF9uYW1lLCBjb21tYW5kPWNv
bW1hbmQpCi0gICAgICAgIGFsbF9tb2R1bGVzLmV4dGVuZChleHBhbmRfc3VibW9kdWxlc19yZWN1
cnNlKHN1Ym1hbmlmZXN0LCBzdWJtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWUsIGNvbW1hbmQpKQot
ICAgICAgICByZXR1cm4gYWxsX21vZHVsZXMKLQotICAgICMgVGhlIGxhc3QgcmVjdXJzZSBtYW5p
ZmVzdCBleHBhbmQgaXRlcmF0aW9uIG1pZ2h0IGxlYWQgdG8gYSBzaW5nbGUgbW9kdWxlLgotICAg
IGlmIG5vdCBpc2luc3RhbmNlKG1vZHVsZXMsIGxpc3QpOgotICAgICAgICBhbGxfbW9kdWxlcy5h
cHBlbmQobW9kdWxlcykKLSAgICAgICAgcmV0dXJuIGFsbF9tb2R1bGVzCi0KLSAgICBmb3IgbW9k
dWxlIGluIG1vZHVsZXM6Ci0gICAgICAgIGlmIHR5cGUobW9kdWxlKSBpcyBzdHI6Ci0gICAgICAg
ICAgICBzdWJtYW5pZmVzdF9wYXRoID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShtYW5p
ZmVzdF9wYXRoKSwgbW9kdWxlKQotICAgICAgICAgICAgc3VibWFuaWZlc3QgPSBsb2FkX21hbmlm
ZXN0KHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZT1wb3J0X25hbWUsIGNvbW1hbmQ9Y29tbWFu
ZCkKLSAgICAgICAgICAgIGFsbF9tb2R1bGVzLmV4dGVuZChleHBhbmRfc3VibW9kdWxlc19yZWN1
cnNlKHN1Ym1hbmlmZXN0LCBzdWJtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWUsIGNvbW1hbmQpKQot
ICAgICAgICBlbHNlOgotICAgICAgICAgICAgYWxsX21vZHVsZXMuYXBwZW5kKG1vZHVsZSkKLQot
ICAgIHJldHVybiBhbGxfbW9kdWxlcwotCi1kZWYgZXhwYW5kX21hbmlmZXN0KG1hbmlmZXN0X3Bh
dGgsIG91dGZpbGUsIHBvcnRfbmFtZSwgc291cmNlX3Jvb3QsIGNvbW1hbmQpOgotICAgICIiIkNy
ZWF0ZXMgdGhlIG1hbmlmZXN0IGZpbGUuIiIiCi0gICAgdHJ5OgotICAgICAgICBvcy5yZW1vdmUo
b3V0ZmlsZSkKLSAgICBleGNlcHQgT1NFcnJvcjoKLSAgICAgICAgcGFzcwotCi0gICAgbWFuaWZl
c3QgPSBsb2FkX21hbmlmZXN0KG1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZT1wb3J0X25hbWUsIGNv
bW1hbmQ9Y29tbWFuZCkKLSAgICBpZiBub3QgbWFuaWZlc3Q6Ci0gICAgICAgIHJldHVybiBGYWxz
ZQotCi0gICAgaWYgInNkay1oYXNoIiBpbiBtYW5pZmVzdDoKLSAgICAgICAgZGVsIG1hbmlmZXN0
WyJzZGstaGFzaCJdCi0gICAgaWYgInJ1bnRpbWUtaGFzaCIgaW4gbWFuaWZlc3Q6Ci0gICAgICAg
IGRlbCBtYW5pZmVzdFsicnVudGltZS1oYXNoIl0KLQotICAgIGFsbF9tb2R1bGVzID0gW10KLQot
ICAgIG92ZXJyaWRlbl9tb2R1bGVzID0gW10KLSAgICBpZiAiV0VCS0lUX0VYVFJBX01PRFVMRVNF
VFMiIGluIG9zLmVudmlyb246Ci0gICAgICAgIG92ZXJyaWRlbl9tb2R1bGVzID0gbG9hZF9tYW5p
ZmVzdChvcy5lbnZpcm9uWyJXRUJLSVRfRVhUUkFfTU9EVUxFU0VUUyJdKQotICAgICAgICBpZiBu
b3Qgb3ZlcnJpZGVuX21vZHVsZXM6Ci0gICAgICAgICAgICBvdmVycmlkZW5fbW9kdWxlcyA9IFtd
Ci0gICAgZm9yIG1vZHVsZXMgaW4gbWFuaWZlc3RbIm1vZHVsZXMiXToKLSAgICAgICAgbW9kdWxl
cyA9IGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2UobW9kdWxlcywgbWFuaWZlc3RfcGF0aCwgcG9y
dF9uYW1lLCBjb21tYW5kKQotCi0gICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKG1vZHVsZXMsIGxp
c3QpOgotICAgICAgICAgICAgbW9kdWxlcyA9IFttb2R1bGVzXQotCi0gICAgICAgIGZvciBtb2R1
bGUgaW4gbW9kdWxlczoKLSAgICAgICAgICAgIGZvciBvdmVycmlkZW5fbW9kdWxlIGluIG92ZXJy
aWRlbl9tb2R1bGVzOgotICAgICAgICAgICAgICAgIGlmIG1vZHVsZVsnbmFtZSddID09IG92ZXJy
aWRlbl9tb2R1bGVbJ25hbWUnXToKLSAgICAgICAgICAgICAgICAgICAgbW9kdWxlID0gb3ZlcnJp
ZGVuX21vZHVsZQotICAgICAgICAgICAgICAgICAgICBvdmVycmlkZW5fbW9kdWxlcy5yZW1vdmUo
bW9kdWxlKQotICAgICAgICAgICAgICAgICAgICBicmVhawotCi0gICAgICAgICAgICBhbGxfbW9k
dWxlcy5hcHBlbmQobW9kdWxlKQotCi0gICAgIyBBbmQgYWRkIG92ZXJyaWRlbiBtb2R1bGVzIHJp
Z2h0IGJlZm9yZSB0aGUgd2Via2l0IHBvcnQgYnVpbGQgZGVmLgotICAgIGZvciBvdmVycmlkZW5f
bW9kdWxlIGluIG92ZXJyaWRlbl9tb2R1bGVzOgotICAgICAgICBhbGxfbW9kdWxlcy5pbnNlcnQo
LTEsIG92ZXJyaWRlbl9tb2R1bGUpCi0KLSAgICBtYW5pZmVzdFsibW9kdWxlcyJdID0gYWxsX21v
ZHVsZXMKLSAgICBmb3IgbW9kdWxlIGluIG1hbmlmZXN0WyJtb2R1bGVzIl06Ci0gICAgICAgIGlm
IG5vdCBtb2R1bGUuZ2V0KCJzb3VyY2VzIik6Ci0gICAgICAgICAgICBjb250aW51ZQotCi0gICAg
ICAgIGlmIG1vZHVsZVsic291cmNlcyJdWzBdWyJ0eXBlIl0gPT0gImdpdCI6Ci0gICAgICAgICAg
ICBpZiBwb3J0X25hbWUgPT0gbW9kdWxlWyJuYW1lIl06Ci0gICAgICAgICAgICAgICAgcmVwbyA9
ICJmaWxlOi8vIiArIHNvdXJjZV9yb290Ci0gICAgICAgICAgICAgICAgbW9kdWxlWyJzb3VyY2Vz
Il1bMF1bInVybCJdID0gcmVwbwotCi0gICAgICAgIGZvciBzb3VyY2UgaW4gbW9kdWxlWyJzb3Vy
Y2VzIl06Ci0gICAgICAgICAgICBpZiBzb3VyY2VbInR5cGUiXSA9PSAicGF0Y2giIG9yIChzb3Vy
Y2VbInR5cGUiXSA9PSAiZmlsZSIgYW5kIHNvdXJjZS5nZXQoJ3BhdGgnKSk6Ci0gICAgICAgICAg
ICAgICAgc291cmNlWyJwYXRoIl0gPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKG1hbmlm
ZXN0X3BhdGgpLCBzb3VyY2VbInBhdGgiXSkKLQotICAgIHdpdGggb3BlbihvdXRmaWxlLCAidyIp
IGFzIG9mOgotICAgICAgICBvZi53cml0ZShqc29uLmR1bXBzKG1hbmlmZXN0LCBpbmRlbnQ9NCkp
Ci0KLSAgICByZXR1cm4gVHJ1ZQotCi0KIGNsYXNzIEZsYXRwYWtPYmplY3Q6CiAKICAgICBkZWYg
X19pbml0X18oc2VsZiwgdXNlcik6CkBAIC0yODQsNyArMTUzLDYgQEAgY2xhc3MgRmxhdHBha1Bh
Y2thZ2VzKEZsYXRwYWtPYmplY3QpOgogICAgICAgICBzZWxmLmFwcHMgPSBzZWxmLl9fZGV0ZWN0
X2FwcHMoKQogICAgICAgICBzZWxmLnBhY2thZ2VzID0gc2VsZi5ydW50aW1lcyArIHNlbGYuYXBw
cwogCi0KICAgICBkZWYgX19kZXRlY3RfcGFja2FnZXMoc2VsZiwgKmFyZ3MpOgogICAgICAgICBw
YWNrcyA9IFtdCiAgICAgICAgIGlmIEZMQVRQQUtfVkVSU0lPTlsiZmxhdHBhayJdIDwgKDEsIDEs
IDIpOgpAQCAtMzEyLDcgKzE4MCw2IEBAIGNsYXNzIEZsYXRwYWtQYWNrYWdlcyhGbGF0cGFrT2Jq
ZWN0KToKIAogICAgICAgICByZXR1cm4gcGFja3MKIAotCiAgICAgZGVmIF9fZGV0ZWN0X3J1bnRp
bWVzKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5fX2RldGVjdF9wYWNrYWdlcygiLS1ydW50
aW1lIikKIApAQCAtMzYyLDcgKzIyOSw3IEBAIGNsYXNzIEZsYXRwYWtSZXBvcyhGbGF0cGFrT2Jq
ZWN0KToKICAgICAgICAgICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJObyB2YWxpZCBVUkkg
Zm91bmQgZm9yOiAlcyIsIHJlcG8pCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAKLSAg
ICAgICAgICAgICAgICBzZWxmLnJlcG9zW25hbWVdID0gRmxhdHBha1JlcG8obmFtZSwgdXJsLCBk
ZXNjLCByZXBvcz1zZWxmKQorICAgICAgICAgICAgICAgIHNlbGYucmVwb3NbbmFtZV0gPSBGbGF0
cGFrUmVwbyhuYW1lPW5hbWUsIHVybD11cmwsIGRlc2M9ZGVzYywgcmVwb3M9c2VsZikKICAgICAg
ICAgZWxzZToKICAgICAgICAgICAgIG91dCA9IHNlbGYuZmxhdHBhaygicmVtb3RlLWxpc3QiLCAi
LS1jb2x1bW5zPW5hbWUsdGl0bGUsdXJsIikKICAgICAgICAgICAgIHJlbW90ZXMgPSBbbGluZSBm
b3IgbGluZSBpbiBvdXQuc3BsaXQoIlxuIikgaWYgbGluZV0KQEAgLTM3Myw3ICsyNDAsNyBAQCBj
bGFzcyBGbGF0cGFrUmVwb3MoRmxhdHBha09iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgIENv
bnNvbGUubWVzc2FnZSgiTm8gdmFsaWQgVVJJIGZvdW5kIGZvcjogJXMiLCByZW1vdGUpCiAgICAg
ICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAKLSAgICAgICAgICAgICAgICBzZWxmLnJlcG9zW25h
bWVdID0gRmxhdHBha1JlcG8obmFtZSwgdXJsLCB0aXRsZSwgcmVwb3M9c2VsZikKKyAgICAgICAg
ICAgICAgICBzZWxmLnJlcG9zW25hbWVdID0gRmxhdHBha1JlcG8obmFtZT1uYW1lLCB1cmw9dXJs
LCBkZXNjPXRpdGxlLCByZXBvcz1zZWxmKQogCiAgICAgICAgIHNlbGYucGFja2FnZXMgPSBGbGF0
cGFrUGFja2FnZXMoc2VsZikKIApAQCAtNDQ5LDkgKzMxNiwxMiBAQCBjbGFzcyBGbGF0cGFrUGFj
a2FnZShGbGF0cGFrT2JqZWN0KToKICAgICAgICAgc2VsZi5hcmNoID0gYXJjaAogICAgICAgICBz
ZWxmLmhhc2ggPSBoYXNoCiAKLSAgICBkZWYgX19zdHJfXyhzZWxmKToKKyAgICBkZWYgX19yZXBy
X18oc2VsZik6CiAgICAgICAgIHJldHVybiAiJXMvJXMvJXMgJXMiICUgKHNlbGYubmFtZSwgc2Vs
Zi5hcmNoLCBzZWxmLmJyYW5jaCwgc2VsZi5yZXBvLm5hbWUpCiAKKyAgICBkZWYgX19zdHJfXyhz
ZWxmKToKKyAgICAgICAgcmV0dXJuICIlcy8lcy8lcyIgJSAoc2VsZi5uYW1lLCBzZWxmLmFyY2gs
IHNlbGYuYnJhbmNoKQorCiAgICAgZGVmIGlzX2luc3RhbGxlZChzZWxmLCBicmFuY2gpOgogICAg
ICAgICBpZiBub3Qgc2VsZi5yZXBvOgogICAgICAgICAgICAgIyBCdW5kbGUgaW5zdGFsbGVkIGZy
b20gZmlsZQpAQCAtNDkxLDcgKzM2MSw3IEBAIGNsYXNzIEZsYXRwYWtQYWNrYWdlKEZsYXRwYWtP
YmplY3QpOgogICAgICAgICBleHRyYV9hcmdzLmFwcGVuZCgiLS1hc3N1bWV5ZXMiKQogCiAgICAg
ICAgIHNlbGYuZmxhdHBhaygidXBkYXRlIiwgc2VsZi5uYW1lLCBzZWxmLmJyYW5jaCwgc2hvd19v
dXRwdXQ9VHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgKmV4dHJhX2FyZ3MsIGNvbW1lbnQ9Y29t
bWVudCkKKyAgICAgICAgICAgICAgICAgICAgICpleHRyYV9hcmdzLCBjb21tZW50PWNvbW1lbnQp
CiAKIAogQGNvbnRleHRtYW5hZ2VyCkBAIC01MTksNTEgKzM4OSw1MiBAQCBjbGFzcyBXZWJraXRG
bGF0cGFrOgogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgnLS12ZXJib3NlJywgYWN0aW9u
PSdzdG9yZV90cnVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nU2hvdyBk
ZWJ1ZyBtZXNzYWdlJykKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi0tZGVidWciLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkNvbXBpbGUgd2l0aCBEZWJ1ZyBjb25m
aWd1cmF0aW9uLCBhbHNvIGluc3RhbGxzIFNkayBkZWJ1ZyBzeW1ib2xlcy4iLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGhlbHA9IkNvbXBpbGUgd2l0aCBEZWJ1ZyBjb25maWd1cmF0aW9uLCBhbHNv
IGluc3RhbGxzIFNkayBkZWJ1ZyBzeW1ib2xlcy4iLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBhY3Rpb249InN0b3JlX3RydWUiKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgi
LS1yZWxlYXNlIiwgaGVscD0iQ29tcGlsZSB3aXRoIFJlbGVhc2UgY29uZmlndXJhdGlvbi4iLCBh
Y3Rpb249InN0b3JlX3RydWUiKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgnLS1wbGF0
Zm9ybScsIGFjdGlvbj0nc3RvcmUnLCBoZWxwPSdQbGF0Zm9ybSB0byB1c2UgKGUuZy4sICJtYWMt
bGlvbiIpJyksCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCctLWd0aycsIGFjdGlvbj0n
c3RvcmVfY29uc3QnLCBkZXN0PSdwbGF0Zm9ybScsIGNvbnN0PSdndGsnLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoZWxwPSdBbGlhcyBmb3IgLS1wbGF0Zm9ybT1ndGsnKQogICAgICAg
ICBnZW5lcmFsLmFkZF9hcmd1bWVudCgnLS13cGUnLCBhY3Rpb249J3N0b3JlX2NvbnN0JywgZGVz
dD0ncGxhdGZvcm0nLCBjb25zdD0nd3BlJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBo
ZWxwPSgnQWxpYXMgZm9yIC0tcGxhdGZvcm09d3BlJykpCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhlbHA9KCdBbGlhcyBmb3IgLS1wbGF0Zm9ybT13cGUnKSkKICAgICAgICAgZ2VuZXJh
bC5hZGRfYXJndW1lbnQoIi1uZiIsICItLW5vLWZsYXRwYWstdXBkYXRlIiwgZGVzdD0ibm9fZmxh
dHBha191cGRhdGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVf
dHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRG8gbm90IHVwZGF0ZSBm
bGFwdGFrIHJ1bnRpbWUvc2RrIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9u
PSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRG8gbm90
IHVwZGF0ZSBmbGFwdGFrIHJ1bnRpbWUvc2RrIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1l
bnQoIi11IiwgIi0tdXBkYXRlIiwgZGVzdD0idXBkYXRlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGhlbHA9IlVwZGF0ZSB0aGUgcnVudGltZS9zZGsvYXBwIGFuZCByZWJ1aWxkIHRoZSBkZXZlbG9w
bWVudCBlbnZpcm9ubWVudCBpZiBuZWVkZWQiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxw
PSJVcGRhdGUgdGhlIHJ1bnRpbWUvc2RrL2FwcCBhbmQgcmVidWlsZCB0aGUgZGV2ZWxvcG1lbnQg
ZW52aXJvbm1lbnQgaWYgbmVlZGVkIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi1i
IiwgIi0tYnVpbGQtd2Via2l0IiwgZGVzdD0iYnVpbGRfd2Via2l0IiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhlbHA9IkZvcmNlIHJlYnVpbGRpbmcgdGhlIGFwcC4iKQotICAgICAgICBnZW5lcmFs
LmFkZF9hcmd1bWVudCgiLWJhIiwgIi0tYnVpbGQtYWxsIiwgZGVzdD0iYnVpbGRfYWxsIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGhlbHA9IkZvcmNlIHJlYnVpbGRpbmcgdGhlIGFwcCBhbmQgaXRz
IGRlcGVuZGVuY2llcy4iKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0
b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJGb3JjZSByZWJ1
aWxkaW5nIHRoZSBhcHAuIikKKyAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi1iZ3N0Iiwg
Ii0tYnVpbGQtZ3N0IiwgZGVzdD0iYnVpbGRfZ3N0IiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aGVscD0iRm9yY2UgcmVidWlsZGluZyBnc3QtYnVpbGQsIHJlcG9zaXRvcnkgcGF0aCBpcyBkZWZp
bmVkIGJ5IHRoZSBgR1NUX0JVSUxEX1BBVEhgIGVudmlyb25tZW50IHZhcmlhYmxlLiIpCiAgICAg
ICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItcSIsICItLXF1aWV0IiwgZGVzdD0icXVpZXQiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaGVscD0iRG8gbm90IHByaW50IGFueXRoaW5nIikKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaGVscD0iRG8gbm90IHByaW50IGFueXRoaW5nIikKICAgICAgICAg
Z2VuZXJhbC5hZGRfYXJndW1lbnQoIi10IiwgIi0tdGVzdHMiLCBkZXN0PSJydW5fdGVzdHMiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hcmdzPWFyZ3BhcnNlLlJFTUFJTkRFUiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJSdW4gTGF5b3V0VGVzdHMiKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBuYXJncz1hcmdwYXJzZS5SRU1BSU5ERVIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlJ1biBMYXlvdXRUZXN0cyIpCiAgICAgICAgIGdl
bmVyYWwuYWRkX2FyZ3VtZW50KCItYyIsICItLWNvbW1hbmQiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG5hcmdzPWFyZ3BhcnNlLlJFTUFJTkRFUiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBoZWxwPSJUaGUgY29tbWFuZCB0byBydW4gaW4gdGhlIHNhbmRib3giLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9InVzZXJfY29tbWFuZCIpCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG5hcmdzPWFyZ3BhcnNlLlJFTUFJTkRFUiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaGVscD0iVGhlIGNvbW1hbmQgdG8gcnVuIGluIHRoZSBzYW5kYm94IiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdD0idXNlcl9jb21tYW5kIikKICAgICAg
ICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoJy0tYXZhaWxhYmxlJywgYWN0aW9uPSdzdG9yZV90cnVl
JywgZGVzdD0iY2hlY2tfYXZhaWxhYmxlIiwgaGVscD0nQ2hlY2sgaWYgcmVxdWlyZWQgZGVwZW5k
ZW5jaWVzIGFyZSBhdmFpbGFibGUuJyksCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCIt
LXVzZS1pY2VjcmVhbSIsIGhlbHA9IlVzZSB0aGUgZGlzdHJpYnV0ZWQgaWNlY3JlYW0gKGljZWNj
KSBjb21waWxlci4iLCBhY3Rpb249InN0b3JlX3RydWUiKQotICAgICAgICBnZW5lcmFsLmFkZF9h
cmd1bWVudCgiLS13cGUtZXh0ZW5zaW9uIiwgYWN0aW9uPSJzdG9yZSIsIGRlc3Q9IndwZV9leHRl
bnNpb24iLCBoZWxwPSJXUEUgRXh0ZW5zaW9uIHRvIGVuYWJsZSIpCiAKICAgICAgICAgZGVidWdv
cHRpb25zID0gcGFyc2VyLmFkZF9hcmd1bWVudF9ncm91cCgiRGVidWdnaW5nIikKICAgICAgICAg
ZGVidWdvcHRpb25zLmFkZF9hcmd1bWVudCgiLS1nZGIiLCBuYXJncz0iPyIsIGhlbHA9IkFjdGl2
YXRlIGdkYiwgcGFzc2luZyBleHRyYSBhcmdzIHRvIGl0IGlmIHdhbnRlZC4iKQorICAgICAgICBk
ZWJ1Z29wdGlvbnMuYWRkX2FyZ3VtZW50KCItLWdkYi1zdGFjay10cmFjZSIsIGRlc3Q9ImdkYl9z
dGFja190cmFjZSIsIG5hcmdzPSI/IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSJEdW1wIHRoZSBzdGFja3RyYWNlIHRvIHN0ZG91dC4gVGhlIGFyZ3VtZW50IGlzIGEg
dGltZXN0YW1wIHRvIGJlIHBhcnNlZCBieSBjb3JlZHVtcGN0bC4iKQogICAgICAgICBkZWJ1Z29w
dGlvbnMuYWRkX2FyZ3VtZW50KCItbSIsICItLWNvcmVkdW1wY3RsLW1hdGNoZXMiLCBkZWZhdWx0
PSIiLCBoZWxwPSdBcmd1bWVudHMgdG8gcGFzcyB0byBnZGIuJykKIAogICAgICAgICBidWlsZG9w
dGlvbnMgPSBwYXJzZXIuYWRkX2FyZ3VtZW50X2dyb3VwKCJFeHRyYSBidWlsZCBhcmd1bWVudHMi
KQogICAgICAgICBidWlsZG9wdGlvbnMuYWRkX2FyZ3VtZW50KCItLW1ha2VhcmdzIiwgaGVscD0i
T3B0aW9uYWwgTWFrZWZpbGUgZmxhZ3MiKQogICAgICAgICBidWlsZG9wdGlvbnMuYWRkX2FyZ3Vt
ZW50KCItLWNtYWtlYXJncyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9
Ik9uZSBvciBtb3JlIG9wdGlvbmFsIENNYWtlIGZsYWdzIChlLmcuIC0tY21ha2VhcmdzPVwiLURG
T089YmFyIC1EQ01BS0VfUFJFRklYX1BBVEg9L3Vzci9sb2NhbFwiKSIpCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaGVscD0iT25lIG9yIG1vcmUgb3B0aW9uYWwgQ01ha2UgZmxh
Z3MgKGUuZy4gLS1jbWFrZWFyZ3M9XCItREZPTz1iYXIgLURDTUFLRV9QUkVGSVhfUEFUSD0vdXNy
L2xvY2FsXCIpIikKIAogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLS1jbGVhbiIsIGRl
c3Q9ImNsZWFuIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgICAgIGhlbHA9IkNsZWFu
IHByZXZpb3VzIGJ1aWxkcyBhbmQgcmVzdGFydCBmcm9tIHNjcmF0Y2giKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoZWxwPSJDbGVhbiBwcmV2aW91cyBidWlsZHMgYW5kIHJlc3RhcnQg
ZnJvbSBzY3JhdGNoIikKIAogICAgICAgICBfLCBzZWxmLmFyZ3MgPSBwYXJzZXIucGFyc2Vfa25v
d25fYXJncyhhcmdzPWFyZ3MsIG5hbWVzcGFjZT1zZWxmKQogCkBAIC01ODMsNiArNDU0LDcgQEAg
Y2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgc2VsZi51cGRhdGUgPSBGYWxzZQogICAgICAg
ICBzZWxmLmFyZ3MgPSBbXQogICAgICAgICBzZWxmLmZpbmlzaF9hcmdzID0gTm9uZQorICAgICAg
ICBzZWxmLmdkYl9zdGFja190cmFjZSA9IEZhbHNlCiAKICAgICAgICAgc2VsZi5ub19mbGF0cGFr
X3VwZGF0ZSA9IEZhbHNlCiAgICAgICAgIHNlbGYucmVsZWFzZSA9IEZhbHNlCkBAIC01OTQsOSAr
NDY2LDEwIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgIHNlbGYuc2FuZGJveF9zb3Vy
Y2Vfcm9vdCA9ICIvYXBwL3dlYmtpdCIKIAogICAgICAgICBzZWxmLmJ1aWxkX3dlYmtpdCA9IEZh
bHNlCisgICAgICAgIHNlbGYuYnVpbGRfZ3N0ID0gRmFsc2UKICAgICAgICAgc2VsZi5idWlsZF9h
bGwgPSBGYWxzZQogCi0gICAgICAgIHNlbGYuc2RrX2JyYW5jaCA9IE5vbmUKKyAgICAgICAgc2Vs
Zi5zZGtfYnJhbmNoID0gIjAuMSIKICAgICAgICAgc2VsZi5wbGF0Zm9ybSA9ICJndGsiCiAgICAg
ICAgIHNlbGYuYnVpbGRfdHlwZSA9ICJSZWxlYXNlIgogICAgICAgICBzZWxmLm1hbmlmZXN0X3Bh
dGggPSBOb25lCkBAIC02MDcsNyArNDgwLDYgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAg
ICAgc2VsZi5hcHBfbW9kdWxlID0gTm9uZQogICAgICAgICBzZWxmLmZsYXRwYWtfZGVmYXVsdF9h
cmdzID0gW10KICAgICAgICAgc2VsZi5jaGVja19hdmFpbGFibGUgPSBGYWxzZQotICAgICAgICBz
ZWxmLndwZV9leHRlbnNpb24gPSBOb25lCiAKICAgICAgICAgIyBEZWZhdWx0IGFwcGxpY2F0aW9u
IHRvIHJ1biBpbiB0aGUgc2FuZGJveAogICAgICAgICBzZWxmLmNvbW1hbmQgPSBOb25lCkBAIC02
MjEsOSArNDkzLDYgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgc2VsZi5jbWFrZWFy
Z3MgPSAiIgogICAgICAgICBzZWxmLm1ha2VhcmdzID0gIiIKIAotICAgICAgICBzZWxmLnVzZV9p
Y2VjcmVhbSA9IEZhbHNlCi0gICAgICAgIHNlbGYuaWNjX3ZlcnNpb24gPSBOb25lCi0KICAgICBk
ZWYgY2xlYW5fYXJncyhzZWxmKToKICAgICAgICAgb3MuZW52aXJvblsiRkxBVFBBS19VU0VSX0RJ
UiJdID0gb3MuZW52aXJvbi5nZXQoIldFQktJVF9GTEFUUEFLX1VTRVJfRElSIiwgb3MucGF0aC5y
ZWFscGF0aChvcy5wYXRoLmpvaW4oc2NyaXB0ZGlyLCAiLi4vLi4vV2ViS2l0QnVpbGQiLCAiVXNl
ckZsYXRwYWsiKSkpCiAgICAgICAgIHRyeToKQEAgLTY0NiwzMCArNTE1LDE5IEBAIGNsYXNzIFdl
YmtpdEZsYXRwYWs6CiAgICAgICAgICAgICBzZWxmLmdkYiA9ICIiCiAKICAgICAgICAgc2VsZi5j
b21tYW5kID0gIiVzICVzICVzIiAlIChvcy5wYXRoLmpvaW4oc2VsZi5zYW5kYm94X3NvdXJjZV9y
b290LAotICAgICAgICAgICAgIlRvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93c2VyIiksCi0gICAg
ICAgICAgICAiLS0iICsgc2VsZi5wbGF0Zm9ybS5sb3dlcigpLAotICAgICAgICAgICAgIiAtLWRl
YnVnIiBpZiBzZWxmLmRlYnVnIGVsc2UgIiAtLXJlbGVhc2UiKQotCi0gICAgICAgIHNlbGYubmFt
ZSA9ICJvcmcud2Via2l0LiVzIiAlIHNlbGYucGxhdGZvcm0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93
c2VyIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tIiArIHNlbGYu
cGxhdGZvcm0ubG93ZXIoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
IC0tZGVidWciIGlmIHNlbGYuZGVidWcgZWxzZSAiIC0tcmVsZWFzZSIpCiAKLSAgICAgICAgaWYg
c2VsZi53cGVfZXh0ZW5zaW9uOgotICAgICAgICAgICAgbWFuaWZlc3RfZmlsZW5hbWUgPSBXUEVf
TUFOSUZFU1RfTUFQW3NlbGYud3BlX2V4dGVuc2lvbl0KLSAgICAgICAgZWxzZToKLSAgICAgICAg
ICAgIG1hbmlmZXN0X2ZpbGVuYW1lID0gIm9yZy53ZWJraXQuV2ViS2l0LnlhbWwiCi0gICAgICAg
IHNlbGYubWFuaWZlc3RfcGF0aCA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4oc2NyaXB0
ZGlyLCAnLi4vZmxhdHBhay8nKSArIG1hbmlmZXN0X2ZpbGVuYW1lKQotCi0gICAgICAgIHNlbGYu
YnVpbGRfbmFtZSA9IHNlbGYubmFtZSArICItZ2VuZXJhdGVkIgorICAgICAgICBzZWxmLmZsYXRw
YWtfYnVpbGRfcGF0aCA9IG9zLmVudmlyb25bIkZMQVRQQUtfVVNFUl9ESVIiXQogCiAgICAgICAg
IGJ1aWxkX3Jvb3QgPSBvcy5wYXRoLmpvaW4oc2VsZi5zb3VyY2Vfcm9vdCwgJ1dlYktpdEJ1aWxk
JykKLSAgICAgICAgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGggPSBvcy5wYXRoLmpvaW4oYnVpbGRf
cm9vdCwgc2VsZi5wbGF0Zm9ybSwgIkZsYXRwYWtUcmVlIiArIHNlbGYuYnVpbGRfdHlwZSkKLSAg
ICAgICAgc2VsZi5jYWNoZV9wYXRoID0gb3MucGF0aC5qb2luKGJ1aWxkX3Jvb3QsICJGbGF0cGFr
Q2FjaGUiKQogICAgICAgICBzZWxmLmJ1aWxkX3BhdGggPSBvcy5wYXRoLmpvaW4oYnVpbGRfcm9v
dCwgc2VsZi5wbGF0Zm9ybSwgc2VsZi5idWlsZF90eXBlKQogICAgICAgICB0cnk6CiAgICAgICAg
ICAgICBvcy5tYWtlZGlycyhzZWxmLmJ1aWxkX3BhdGgpCiAgICAgICAgIGV4Y2VwdCBPU0Vycm9y
IGFzIGU6CiAgICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVFWElTVDoKICAgICAgICAg
ICAgICAgICByYWlzZSBlCi0gICAgICAgIHNlbGYuY29uZmlnX2ZpbGUgPSBvcy5wYXRoLmpvaW4o
c2VsZi5idWlsZF9wYXRoLCAnd2Via2l0X2ZsYXRwYWtfY29uZmlnLmpzb24nKQogCiAgICAgICAg
IENvbnNvbGUucXVpZXQgPSBzZWxmLnF1aWV0CiAgICAgICAgIGlmIG5vdCBjaGVja19mbGF0cGFr
KCk6CkBAIC02NzcsNDUgKzUzNSw3NiBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogCiAgICAgICAg
IHJlcG9zID0gRmxhdHBha1JlcG9zKCkKICAgICAgICAgc2VsZi5zZGtfcmVwbyA9IHJlcG9zLmFk
ZCgKLSAgICAgICAgICAgIEZsYXRwYWtSZXBvKCJmbGF0aHViIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHVybD0iaHR0cHM6Ly9kbC5mbGF0aHViLm9yZy9yZXBvLyIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICByZXBvX2ZpbGU9Imh0dHBzOi8vZGwuZmxhdGh1Yi5vcmcvcmVwby9mbGF0aHVi
LmZsYXRwYWtyZXBvIikpCi0KLSAgICAgICAgbWFuaWZlc3QgPSBsb2FkX21hbmlmZXN0KHNlbGYu
bWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lPXNlbGYubmFtZSkKLSAgICAgICAgaWYgbm90IG1hbmlm
ZXN0OgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgICAgICBGbGF0cGFrUmVwbygi
d2Via2l0LXNkayIsCisgICAgICAgICAgICAgICAgICAgICAgICB1cmw9Imh0dHBzOi8vc29mdHdh
cmUuaWdhbGlhLmNvbS93ZWJraXQtc2RrLXJlcG8vIiwKKyAgICAgICAgICAgICAgICAgICAgICAg
IHJlcG9fZmlsZT0iaHR0cHM6Ly9zb2Z0d2FyZS5pZ2FsaWEuY29tL2ZsYXRwYWstcmVmcy93ZWJr
aXQtc2RrLmZsYXRwYWtyZXBvIikKKyAgICAgICAgKQogCi0gICAgICAgIHNlbGYuYXBwID0gbWFu
aWZlc3RbJ2FwcC1pZCddCi0KLSAgICAgICAgc2VsZi5zZGtfYnJhbmNoID0gbWFuaWZlc3RbInJ1
bnRpbWUtdmVyc2lvbiJdCi0gICAgICAgIHNlbGYuZmluaXNoX2FyZ3MgPSBtYW5pZmVzdC5nZXQo
ImZpbmlzaC1hcmdzIiwgW10pCi0gICAgICAgIHNlbGYuZmluaXNoX2FyZ3MgPSByZW1vdmVfZXh0
ZW5zaW9uX3BvaW50cyhzZWxmLmZpbmlzaF9hcmdzKQotICAgICAgICBzZWxmLnJ1bnRpbWUgPSBG
bGF0cGFrUGFja2FnZShtYW5pZmVzdFsncnVudGltZSddLCBzZWxmLnNka19icmFuY2gsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNoPW1hbmlmZXN0Lmdl
dCgicnVudGltZS1oYXNoIikpCi0gICAgICAgIHNlbGYubG9jYWxlID0gRmxhdHBha1BhY2thZ2Uo
bWFuaWZlc3RbJ3J1bnRpbWUnXSArICcuTG9jYWxlJywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzZWxmLnNka19icmFuY2gsIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQiKQot
ICAgICAgICBzZWxmLnNkayA9IEZsYXRwYWtQYWNrYWdlKG1hbmlmZXN0WydzZGsnXSwgc2VsZi5z
ZGtfYnJhbmNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX3Jl
cG8sICJ4ODZfNjQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc2g9bWFu
aWZlc3QuZ2V0KCJzZGstaGFzaCIpKQorICAgICAgICBzZWxmLmZpbmlzaF9hcmdzID0gW10KKyAg
ICAgICAgc2VsZi5ydW50aW1lID0gRmxhdHBha1BhY2thZ2UoIm9yZy53ZWJraXQuUGxhdGZvcm0i
LCBzZWxmLnNka19icmFuY2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQiKQorICAgICAgICBzZWxmLmxvY2FsZSA9IEZsYXRwYWtQ
YWNrYWdlKCJvcmcud2Via2l0LlBsYXRmb3JtLkxvY2FsZSIsIHNlbGYuc2RrX2JyYW5jaCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0
IikKKyAgICAgICAgc2VsZi5zZGsgPSBGbGF0cGFrUGFja2FnZSgib3JnLndlYmtpdC5TZGsiLCAi
MC4xIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNka19yZXBvLCAi
eDg2XzY0IikKICAgICAgICAgc2VsZi5wYWNrcyA9IFtzZWxmLnJ1bnRpbWUsIHNlbGYubG9jYWxl
LCBzZWxmLnNka10KIAorICAgICAgICAjIEZJWE1FOiBGb3IgdW5rbm93biByZWFzb25zLCB0aGUg
R0wgZXh0ZW5zaW9uIG5lZWRzIHRvIGJlIGV4cGxpY2l0ZWx5CisgICAgICAgICMgaW5zdGFsbGVk
IGZvciBGbGF0cGFrIDEuMi54IHRvIGJlIGFibGUgdG8gbWFrZSB1c2Ugb2YgaXQuIFNlZW1zIGxp
a2UKKyAgICAgICAgIyBpdCdzIG5vdCBjb3JyZWN0bHkgaW5oZXJpdGluZyBpdCBmcm9tIHRoZSBT
REsuCisgICAgICAgIHNlbGYuZmxhdGh1Yl9yZXBvID0gcmVwb3MuYWRkKAorICAgICAgICAgICAg
RmxhdHBha1JlcG8oImZsYXRodWIiLCByZXBvX2ZpbGU9Imh0dHBzOi8vZGwuZmxhdGh1Yi5vcmcv
cmVwby9mbGF0aHViLmZsYXRwYWtyZXBvIikKKyAgICAgICAgKQorICAgICAgICBzZWxmLmdsX2V4
dGVuc2lvbiA9IEZsYXRwYWtQYWNrYWdlKCJvcmcuZnJlZWRlc2t0b3AuUGxhdGZvcm0uR0wuZGVm
YXVsdCIsICIxOS4wOCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2VsZi5mbGF0aHViX3JlcG8sICJ4ODZfNjQiKQorICAgICAgICBzZWxmLnBhY2tzLmFwcGVu
ZChzZWxmLmdsX2V4dGVuc2lvbikKKwogICAgICAgICBpZiBzZWxmLmRlYnVnOgotICAgICAgICAg
ICAgc2VsZi5zZGtfZGVidWcgPSBGbGF0cGFrUGFja2FnZShtYW5pZmVzdFsnc2RrJ10gKyAnLkRl
YnVnJywgc2VsZi5zZGtfYnJhbmNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IikKKyAgICAgICAgICAgIHNlbGYuc2RrX2RlYnVn
ID0gRmxhdHBha1BhY2thZ2UoJ29yZy53ZWJraXQuU2RrLkRlYnVnJywgc2VsZi5zZGtfYnJhbmNo
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNka19y
ZXBvLCAieDg2XzY0IikKICAgICAgICAgICAgIHNlbGYucGFja3MuYXBwZW5kKHNlbGYuc2RrX2Rl
YnVnKQotICAgICAgICBzZWxmLm1hbmlmZXN0X2dlbmVyYXRlZF9wYXRoID0gb3MucGF0aC5qb2lu
KHNlbGYuY2FjaGVfcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzZWxmLmJ1aWxkX25hbWUgKyAiLmpzb24iKQotICAgICAgICB0cnk6Ci0g
ICAgICAgICAgICB3aXRoIG9wZW4oc2VsZi5jb25maWdfZmlsZSkgYXMgY29uZmlnOgotICAgICAg
ICAgICAgICAgIGpzb25fY29uZmlnID0ganNvbi5sb2FkKGNvbmZpZykKLSAgICAgICAgICAgICAg
ICBzZWxmLmljY192ZXJzaW9uID0ganNvbl9jb25maWdbJ2ljZWNjX3ZlcnNpb24nXQotICAgICAg
ICBleGNlcHQgSU9FcnJvciBhcyBlOgotICAgICAgICAgICAgcGFzcwogCiAgICAgICAgIHJldHVy
biBUcnVlCiAKKyAgICBkZWYgc2V0dXBfYnVpbGRkaXIoc2VsZiwgKiprd2FyZ3MpOgorICAgICAg
ICBpZiBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgs
ICJtZXRhZGF0YSIpKToKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIHNlbGYuc2RrX3Jl
cG8uZmxhdHBhaygiYnVpbGQtaW5pdCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJv
cmcud2Via2l0LldlYmtpdCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2Vs
Zi5zZGspLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlbGYucnVudGltZSks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNkay5icmFuY2gsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzaG93X291dHB1dD0ic3Rkb3V0IiBpbiBrd2FyZ3Mua2V5
cygpKQorCisgICAgZGVmIHNldHVwX2dzdGJ1aWxkKHNlbGYsIGJ1aWxkaW5nKToKKyAgICAgICAg
Z3N0X2RpciA9IG9zLmVudmlyb24uZ2V0KCdHU1RfQlVJTERfUEFUSCcpCisgICAgICAgIGlmIG5v
dCBnc3RfZGlyOgorICAgICAgICAgICAgcmV0dXJuIFtdCisKKyAgICAgICAgaWYgbm90IG9zLnBh
dGguZXhpc3RzKG9zLnBhdGguam9pbihnc3RfZGlyLCAnZ3N0LWVudi5weScpKToKKyAgICAgICAg
ICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignR1NUX0JVSUxEX1BBVEggc2V0IHRvICVzIGJ1dCBpdCBk
b2VzblwndCBzZWVtIHRvIGJlIGEgdmFsaWQgYGdzdC1idWlsZGAgY2hlY2tvdXQuJyAlIGdzdF9k
aXIpCisKKyAgICAgICAgZ3N0X2J1aWxkZGlyID0gb3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9z
b3VyY2Vfcm9vdCwgIldlYktpdEJ1aWxkIiwgJ2dzdC1idWlsZCcpCisgICAgICAgIGlmIG5vdCBv
cy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oc2VsZi5zb3VyY2Vfcm9vdCwgJ1dlYktpdEJ1aWxk
JywgJ2dzdC1idWlsZCcsICdidWlsZC5uaW5qYScpKToKKyAgICAgICAgICAgIGlmIG5vdCBidWls
ZGluZzoKKyAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ1RyeWluZyB0byBlbnRl
ciBnc3QtYnVpbGQgZW52IGZyb20gJXMgYnV0IGl0IGlzIG5vdCBidWlsdCwgbWFrZSBzdXJlIHRv
IHJlYnVpbGQgd2Via2l0LicgJSBnc3RfZGlyKQorCisgICAgICAgICAgICBDb25zb2xlLm1lc3Nh
Z2UoIlJ1bm5pbmcgbWVzb24gZm9yIGBnc3QtYnVpbGRgICVzICIsIGdzdF9kaXIpCisgICAgICAg
ICAgICBzZWxmLnJ1bl9pbl9zYW5kYm94KCdtZXNvbicsIGdzdF9kaXIsIGdzdF9idWlsZGRpciwg
YnVpbGRpbmdfZ3N0PVRydWUpCisKKyAgICAgICAgaWYgbm90IGJ1aWxkaW5nOgorICAgICAgICAg
ICAgcmV0dXJuIFtdCisKKyAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJCdWlsZGluZyBgZ3N0LWJ1
aWxkYCAlcyAiLCBnc3RfZGlyKQorICAgICAgICBpZiBzZWxmLnJ1bl9pbl9zYW5kYm94KCduaW5q
YScsICctQycsIGdzdF9idWlsZGRpciwgYnVpbGRpbmdfZ3N0PVRydWUpICE9IDA6CisgICAgICAg
ICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ0Vycm9yIHdoaWxlIGJ1aWxkaW5nIGdzdC1idWlsZC4n
KQorCisgICAgICAgIHJldHVybiBbb3MucGF0aC5qb2luKGdzdF9kaXIsICdnc3QtZW52LnB5Jyks
ICctLWJ1aWxkZGlyJywgZ3N0X2J1aWxkZGlyLCAnLS1zcmNkaXInLCBnc3RfZGlyXQorCiAgICAg
ZGVmIHJ1bl9pbl9zYW5kYm94KHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHNlbGYu
c2V0dXBfYnVpbGRkaXIoc3Rkb3V0PWt3YXJncy5nZXQoInN0ZG91dCIsIHN5cy5zdGRvdXQpKQog
ICAgICAgICBjd2QgPSBrd2FyZ3MucG9wKCJjd2QiLCBOb25lKQogICAgICAgICBleHRyYV9lbnZf
dmFycyA9IGt3YXJncy5wb3AoImVudiIsIHt9KQogICAgICAgICBzdGRvdXQgPSBrd2FyZ3MucG9w
KCJzdGRvdXQiLCBzeXMuc3Rkb3V0KQpAQCAtNzIzLDYgKzYxMiw3IEBAIGNsYXNzIFdlYmtpdEZs
YXRwYWs6CiAKICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoYXJncywgbGlzdCk6CiAgICAgICAg
ICAgICBhcmdzID0gbGlzdChhcmdzKQorCiAgICAgICAgIGlmIGFyZ3M6CiAgICAgICAgICAgICBp
ZiBvcy5wYXRoLmV4aXN0cyhhcmdzWzBdKToKICAgICAgICAgICAgICAgICBjb21tYW5kID0gb3Mu
cGF0aC5ub3JtcGF0aChvcy5wYXRoLmFic3BhdGgoYXJnc1swXSkpCkBAIC03MzAsOTQgKzYyMCwx
MDIgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgICAgICAgICBhcmdzWzBdID0gY29t
bWFuZC5yZXBsYWNlKHNlbGYuc291cmNlX3Jvb3QsIHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCkK
ICAgICAgICAgICAgIGlmIGFyZ3NbMF0uZW5kc3dpdGgoImJ1aWxkLXdlYmtpdCIpOgogICAgICAg
ICAgICAgICAgIGFyZ3MuYXBwZW5kKCItLXByZWZpeD0vYXBwIikKKyAgICAgICAgYnVpbGRpbmcg
PSBvcy5wYXRoLmJhc2VuYW1lKGFyZ3NbMF0pLnN0YXJ0c3dpdGgoImJ1aWxkIikKIAogICAgICAg
ICBzYW5kYm94X2J1aWxkX3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5zYW5kYm94X3NvdXJjZV9y
b290LCAiV2ViS2l0QnVpbGQiLCBzZWxmLmJ1aWxkX3R5cGUpCi0gICAgICAgIHdpdGggdGVtcGZp
bGUuTmFtZWRUZW1wb3JhcnlGaWxlKG1vZGU9InciKSBhcyB0bXBzY3JpcHQ6Ci0gICAgICAgICAg
ICBmbGF0cGFrX2NvbW1hbmQgPSBbImZsYXRwYWsiLCAiYnVpbGQiLCAiLS1kaWUtd2l0aC1wYXJl
bnQiLAotICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9L3J1bi9zaG09L2Rldi9zaG0iLAot
ICAgICAgICAgICAgICAgICMgV29ya2Fyb3VuZCBmb3IgaHR0cHM6Ly93ZWJraXQub3JnL2IvMTg3
Mzg0IHRvIGhhdmUgb3VyIG93biBwZXJsIG1vZHVsZXMgdXNhYmxlIGluc2lkZSB0aGUgc2FuZGJv
eAotICAgICAgICAgICAgICAgICMgYXMgc2V0dGluZyB0aGUgUEVSTDVMSUIgZW52dmFyIHdvbid0
IHdvcmsgaW5zaWRlIGFwYWNoZSAoYW5kIGZvciBzY3JpcHRzIHVzaW5nIGBwZXJsIC1UYGApLgot
ICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9L3J1bi9ob3N0LyVzPSVzIiAlICh0ZW1wZmls
ZS5nZXR0ZW1wZGlyKCksIHRlbXBmaWxlLmdldHRlbXBkaXIoKSksCi0gICAgICAgICAgICAgICAg
Ii0tYmluZC1tb3VudD0lcz0lcyIgJSAoc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCBzZWxmLnNv
dXJjZV9yb290KSwKKyAgICAgICAgZmxhdHBha19jb21tYW5kID0gWyJmbGF0cGFrIiwgImJ1aWxk
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLWRpZS13aXRoLXBhcmVudCIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiLS10YWxrLW5hbWU9b3JnLmExMXkuQnVzIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuZ3RrLnZmcyIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiLS10YWxrLW5hbWU9b3JnLmd0ay52ZnMuKiIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PS9ydW4vc2htPS9kZXYvc2htIiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICMgV29ya2Fyb3VuZCBmb3IgaHR0cHM6Ly93ZWJraXQu
b3JnL2IvMTg3Mzg0IHRvIGhhdmUgb3VyIG93biBwZXJsIG1vZHVsZXMgdXNhYmxlIGluc2lkZSB0
aGUgc2FuZGJveAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBhcyBzZXR0aW5nIHRoZSBQ
RVJMNUxJQiBlbnZ2YXIgd29uJ3Qgd29yayBpbnNpZGUgYXBhY2hlIChhbmQgZm9yIHNjcmlwdHMg
dXNpbmcgYHBlcmwgLVRgYCkuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1iaW5kLW1v
dW50PS9ydW4vaG9zdC8lcz0lcyIgJSAodGVtcGZpbGUuZ2V0dGVtcGRpcigpLCB0ZW1wZmlsZS5n
ZXR0ZW1wZGlyKCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0l
cz0lcyIgJSAoc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCBzZWxmLnNvdXJjZV9yb290KSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICMgV2UgbW91bnQgV2ViS2l0QnVpbGQvUE9SVE5BTUUv
QnVpbGRUeXBlIHRvIC9hcHAvd2Via2l0L1dlYktpdEJ1aWxkL0J1aWxkVHlwZQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIyBzbyB3ZSBjYW4gYnVpbGQgV1BFIGFuZCBHVEsgaW4gYSBzYW1l
IHNvdXJjZSB0cmVlLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0l
cz0lcyIgJSAoc2FuZGJveF9idWlsZF9wYXRoLCBzZWxmLmJ1aWxkX3BhdGgpXQorCisgICAgICAg
IGZvcndhcmRlZCA9IHsKKyAgICAgICAgICAgICJXRUJLSVRfVE9QX0xFVkVMIjogIi9hcHAvIiwK
KyAgICAgICAgICAgICJURVNUX1JVTk5FUl9JTkpFQ1RFRF9CVU5ETEVfRklMRU5BTUUiOiBvcy5w
YXRoLmpvaW4oc2FuZGJveF9idWlsZF9wYXRoLCAibGliL2xpYlRlc3RSdW5uZXJJbmplY3RlZEJ1
bmRsZS5zbyIpLAorICAgICAgICAgICAgIyAiSUNFQ0NfVkVSU0lPTiI6IHNlbGYuaWNjX3ZlcnNp
b24sCisgICAgICAgIH0KKworICAgICAgICBpZiBub3QgYnVpbGRpbmc6CisgICAgICAgICAgICBm
bGF0cGFrX2NvbW1hbmQuZXh0ZW5kKFsKICAgICAgICAgICAgICAgICAiLS10YWxrLW5hbWU9b3Jn
LmExMXkuQnVzIiwKLSAgICAgICAgICAgICAgICAiLS10YWxrLW5hbWU9b3JnLmd0ay52ZnMiLAot
ICAgICAgICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuZ3RrLnZmcy4qIiwKLSAgICAgICAgICAg
ICAgICAjIFdlIG1vdW50IFdlYktpdEJ1aWxkL1BPUlROQU1FL0J1aWxkVHlwZSB0byAvYXBwL3dl
YmtpdC9XZWJLaXRCdWlsZC9CdWlsZFR5cGUKLSAgICAgICAgICAgICAgICAjIHNvIHdlIGNhbiBi
dWlsZCBXUEUgYW5kIEdUSyBpbiBhIHNhbWUgc291cmNlIHRyZWUuCi0gICAgICAgICAgICAgICAg
Ii0tYmluZC1tb3VudD0lcz0lcyIgJSAoc2FuZGJveF9idWlsZF9wYXRoLCBzZWxmLmJ1aWxkX3Bh
dGgpXQotCi0gICAgICAgICAgICBmb3J3YXJkZWQgPSB7Ci0gICAgICAgICAgICAgICAgIldFQktJ
VF9UT1BfTEVWRUwiOiAiL2FwcC8iLAotICAgICAgICAgICAgICAgICJURVNUX1JVTk5FUl9JTkpF
Q1RFRF9CVU5ETEVfRklMRU5BTUUiOiAiL2FwcC93ZWJraXQvbGliL2xpYlRlc3RSdW5uZXJJbmpl
Y3RlZEJ1bmRsZS5zbyIsCi0gICAgICAgICAgICAgICAgIklDRUNDX1ZFUlNJT04iOiBzZWxmLmlj
Y192ZXJzaW9uLAotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBlbnZfdmFyX3ByZWZpeGVz
X3RvX2tlZXAgPSBbCi0gICAgICAgICAgICAgICAgIkdTVCIsCi0gICAgICAgICAgICAgICAgIkdU
SyIsCi0gICAgICAgICAgICAgICAgIkciLAotICAgICAgICAgICAgICAgICJKU0MiLAotICAgICAg
ICAgICAgICAgICJXRUJLSVQiLAotICAgICAgICAgICAgICAgICJXRUJLSVQyIiwKLSAgICAgICAg
ICAgICAgICAiV1BFIiwKLSAgICAgICAgICAgICAgICAiR0lHQUNBR0UiLAotICAgICAgICAgICAg
XQotCi0gICAgICAgICAgICBlbnZfdmFyc190b19rZWVwID0gWwotICAgICAgICAgICAgICAgICJK
YXZhU2NyaXB0Q29yZVVzZUpJVCIsCi0gICAgICAgICAgICAgICAgIk1hbGxvYyIsCi0gICAgICAg
ICAgICAgICAgIldBWUxBTkRfRElTUExBWSIsCi0gICAgICAgICAgICAgICAgIldBWUxBTkRfU09D
S0VUIiwKLSAgICAgICAgICAgICAgICAiRElTUExBWSIsCi0gICAgICAgICAgICAgICAgIkxBTkci
LAotICAgICAgICAgICAgICAgICJOVU1CRVJfT0ZfUFJPQ0VTU09SUyIsCi0gICAgICAgICAgICAg
ICAgIkNDQUNIRV9QUkVGSVgiLAotICAgICAgICAgICAgICAgICJRTUwyX0lNUE9SVF9QQVRIIiwK
LSAgICAgICAgICAgIF0KLQotICAgICAgICAgICAgaWYgc2VsZi51c2VfaWNlY3JlYW06Ci0gICAg
ICAgICAgICAgICAgX2xvZy5kZWJ1ZygnRW5hYmxpbmcgdGhlIGljZWNyZWFtIGNvbXBpbGVyJykK
LSAgICAgICAgICAgICAgICBmb3J3YXJkZWRbIkNDQUNIRV9QUkVGSVgiXSA9ICJpY2VjYyIKLSAg
ICAgICAgICAgICAgICBpZiBub3Qgb3MuZW52aXJvbi5nZXQoJ05VTUJFUl9PRl9QUk9DRVNTT1JT
Jyk6Ci0gICAgICAgICAgICAgICAgICAgIG5fY29yZXMgPSBtdWx0aXByb2Nlc3NpbmcuY3B1X2Nv
dW50KCkgKiAzCi0gICAgICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoJ0ZvbGxvdyBpY2VjcmVh
bSByZWNvbW1lbmRhdGlvbiBmb3IgdGhlIG51bWJlciBvZiBjb3JlcyB0byB1c2U6ICVkJyAlIG5f
Y29yZXMpCi0gICAgICAgICAgICAgICAgICAgIGZvcndhcmRlZFsiTlVNQkVSX09GX1BST0NFU1NP
UlMiXSA9IG5fY29yZXMKLQotICAgICAgICAgICAgZW52X3ZhcnMgPSBvcy5lbnZpcm9uCi0gICAg
ICAgICAgICBlbnZfdmFycy51cGRhdGUoZXh0cmFfZW52X3ZhcnMpCi0gICAgICAgICAgICBmb3Ig
ZW52dmFyLCB2YWx1ZSBpbiBlbnZfdmFycy5pdGVtcygpOgotICAgICAgICAgICAgICAgIGlmIGVu
dnZhci5zcGxpdCgiXyIpWzBdIGluIGVudl92YXJfcHJlZml4ZXNfdG9fa2VlcCBvciBlbnZ2YXIg
aW4gZW52X3ZhcnNfdG9fa2VlcDoKLSAgICAgICAgICAgICAgICAgICAgZm9yd2FyZGVkW2VudnZh
cl0gPSB2YWx1ZQotCi0gICAgICAgICAgICBmb3IgZW52dmFyLCB2YWx1ZSBpbiBmb3J3YXJkZWQu
aXRlbXMoKToKLSAgICAgICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQuYXBwZW5kKCItLWVudj0l
cz0lcyIgJSAoZW52dmFyLCB2YWx1ZSkpCi0KLSAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZCAr
PSBzZWxmLmZpbmlzaF9hcmdzICsgZXh0cmFfZmxhdHBha19hcmdzICsgW3NlbGYuZmxhdHBha19i
dWlsZF9wYXRoXQotCi0gICAgICAgICAgICBzaGVsbF9zdHJpbmcgPSAiIgotICAgICAgICAgICAg
aWYgYXJnczoKLSAgICAgICAgICAgICAgICBpZiBjd2Q6Ci0gICAgICAgICAgICAgICAgICAgIHNo
ZWxsX3N0cmluZyA9ICdjZCAiJXMiICYmICIlcyInICUgKGN3ZCwgJyIgIicuam9pbihhcmdzKSkK
LSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBzaGVsbF9zdHJpbmcg
PSAnIiVzIicgJSAoJyIgIicuam9pbihhcmdzKSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAg
ICAgICAgICAgc2hlbGxfc3RyaW5nID0gc2VsZi5jb21tYW5kCi0gICAgICAgICAgICAgICAgaWYg
c2VsZi5hcmdzOgotICAgICAgICAgICAgICAgICAgICBzaGVsbF9zdHJpbmcgKz0gJyAiJXMiJyAl
ICciICInLmpvaW4oc2VsZi5hcmdzKQotCi0gICAgICAgICAgICB0bXBzY3JpcHQud3JpdGUoc2hl
bGxfc3RyaW5nKQotICAgICAgICAgICAgdG1wc2NyaXB0LmZsdXNoKCkKLQotICAgICAgICAgICAg
X2xvZy5kZWJ1ZygnUnVubmluZyBpbiBzYW5kYm94OiAiJXMiICVzXG4nICUgKCciICInLmpvaW4o
ZmxhdHBha19jb21tYW5kKSwgc2hlbGxfc3RyaW5nKSkKLSAgICAgICAgICAgIGZsYXRwYWtfY29t
bWFuZC5leHRlbmQoWydzaCcsICIvcnVuL2hvc3QvIiArIHRtcHNjcmlwdC5uYW1lXSkKKyAgICAg
ICAgICAgICAgICAiLS1zb2NrZXQ9d2F5bGFuZCIsCisgICAgICAgICAgICAgICAgIi0tc29ja2V0
PXB1bHNlYXVkaW8iLAorICAgICAgICAgICAgICAgICItLXNvY2tldD14MTEiLAorICAgICAgICAg
ICAgICAgICItLXNvY2tldD13YXlsYW5kIiwKKyAgICAgICAgICAgICAgICAiLS1zb2NrZXQ9c3lz
dGVtLWJ1cyIsCisgICAgICAgICAgICAgICAgIi0tc29ja2V0PXB1bHNlYXVkaW8iLAorICAgICAg
ICAgICAgICAgICItLWRldmljZT1kcmkiLAorICAgICAgICAgICAgICAgICItLWRldmljZT1hbGwi
LAorICAgICAgICAgICAgICAgICItLXNoYXJlPWlwYyIsCisgICAgICAgICAgICAgICAgIi0tc2hh
cmU9bmV0d29yayIsCisgICAgICAgICAgICAgICAgIi0tc3lzdGVtLXRhbGstbmFtZT1vcmcuZnJl
ZWRlc2t0b3AuR2VvQ2x1ZTIiLAorICAgICAgICAgICAgICAgICItLXN5c3RlbS10YWxrLW5hbWU9
b3JnLmExMXkuQnVzIiwKKyAgICAgICAgICAgICAgICAiLS1maWxlc3lzdGVtPWhvc3QiLAorICAg
ICAgICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuZnJlZWRlc2t0b3AuRmxhdHBhayIKKyAgICAg
ICAgICAgIF0pCisKKyAgICAgICAgICAgIGZvcndhcmRlZC51cGRhdGUoeworICAgICAgICAgICAg
ICAgICJUWiI6ICJQU1Q4UERUIiwKKyAgICAgICAgICAgICAgICAiTEFORyI6ICJlbl9VUy5VVEYt
OCIKKyAgICAgICAgICAgIH0pCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBhcmdzLmFwcGVu
ZCgiLS1wcmVmaXg9L2FwcCIpCisKKyAgICAgICAgZW52X3Zhcl9wcmVmaXhlc190b19rZWVwID0g
WworICAgICAgICAgICAgIkdTVCIsCisgICAgICAgICAgICAiR1RLIiwKKyAgICAgICAgICAgICJH
IiwKKyAgICAgICAgICAgICJKU0MiLAorICAgICAgICAgICAgIldFQktJVCIsCisgICAgICAgICAg
ICAiV0VCS0lUMiIsCisgICAgICAgICAgICAiV1BFIiwKKyAgICAgICAgICAgICJHSUdBQ0FHRSIs
CisgICAgICAgIF0KKworICAgICAgICBlbnZfdmFyc190b19rZWVwID0gWworICAgICAgICAgICAg
IkphdmFTY3JpcHRDb3JlVXNlSklUIiwKKyAgICAgICAgICAgICJNYWxsb2MiLAorICAgICAgICAg
ICAgIldBWUxBTkRfRElTUExBWSIsCisgICAgICAgICAgICAiV0FZTEFORF9TT0NLRVQiLAorICAg
ICAgICAgICAgIkRJU1BMQVkiLAorICAgICAgICAgICAgIkxBTkciLAorICAgICAgICAgICAgIk5V
TUJFUl9PRl9QUk9DRVNTT1JTIiwKKyAgICAgICAgICAgICJDQ0FDSEVfUFJFRklYIiwKKyAgICAg
ICAgICAgICJRTUwyX0lNUE9SVF9QQVRIIiwKKyAgICAgICAgXQorCisgICAgICAgIGVudl92YXJz
ID0gb3MuZW52aXJvbgorICAgICAgICBlbnZfdmFycy51cGRhdGUoZXh0cmFfZW52X3ZhcnMpCisg
ICAgICAgIGZvciBlbnZ2YXIsIHZhbHVlIGluIGVudl92YXJzLml0ZW1zKCk6CisgICAgICAgICAg
ICBpZiBlbnZ2YXIuc3BsaXQoIl8iKVswXSBpbiBlbnZfdmFyX3ByZWZpeGVzX3RvX2tlZXAgb3Ig
ZW52dmFyIGluIGVudl92YXJzX3RvX2tlZXA6CisgICAgICAgICAgICAgICAgZm9yd2FyZGVkW2Vu
dnZhcl0gPSB2YWx1ZQorCisgICAgICAgIGZvciBlbnZ2YXIsIHZhbHVlIGluIGZvcndhcmRlZC5p
dGVtcygpOgorICAgICAgICAgICAgZmxhdHBha19jb21tYW5kLmFwcGVuZCgiLS1lbnY9JXM9JXMi
ICUgKGVudnZhciwgdmFsdWUpKQorCisgICAgICAgIGdzdF9lbnYgPSBbXQorICAgICAgICBpZiBu
b3Qga3dhcmdzLmdldCgnYnVpbGRpbmdfZ3N0Jyk6CisgICAgICAgICAgICBnc3RfZW52ID0gc2Vs
Zi5zZXR1cF9nc3RidWlsZChidWlsZGluZykKKyAgICAgICAgZmxhdHBha19jb21tYW5kICs9IHNl
bGYuZmluaXNoX2FyZ3MgKyBleHRyYV9mbGF0cGFrX2FyZ3MgKyBcCisgICAgICAgICAgICBbc2Vs
Zi5mbGF0cGFrX2J1aWxkX3BhdGhdICsgZ3N0X2VudiArIGFyZ3MKKworICAgICAgICBfbG9nLmRl
YnVnKCdSdW5uaW5nIGluIHNhbmRib3g6ICVzXG4nICUgJyAnLmpvaW4oZmxhdHBha19jb21tYW5k
KSkKIAotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tf
Y2FsbChmbGF0cGFrX2NvbW1hbmQsIHN0ZG91dD1zdGRvdXQpCi0gICAgICAgICAgICBleGNlcHQg
c3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICBzeXMu
c3RkZXJyLndyaXRlKHN0cihlKSArICJcbiIpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGUucmV0
dXJuY29kZQotICAgICAgICAgICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgotICAgICAgICAg
ICAgICAgIHJldHVybiAwCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hl
Y2tfY2FsbChmbGF0cGFrX2NvbW1hbmQsIHN0ZG91dD1zdGRvdXQpCisgICAgICAgIGV4Y2VwdCBz
dWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgorICAgICAgICAgICAgc3lzLnN0ZGVy
ci53cml0ZShzdHIoZSkgKyAiXG4iKQorICAgICAgICAgICAgcmV0dXJuIGUucmV0dXJuY29kZQor
ICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6CisgICAgICAgICAgICByZXR1cm4gMAog
CiAgICAgICAgIHJldHVybiAwCiAKQEAgLTgzNSw2NCArNzMzLDI5IEBAIGNsYXNzIFdlYmtpdEZs
YXRwYWs6CiAgICAgICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShzZWxmLmJ1aWxkX3BhdGgpCiAK
ICAgICAgICAgaWYgc2VsZi51cGRhdGU6Ci0gICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIlVw
ZGF0aW5nIEZsYXRwYWsgZW52aXJvbm1lbnQgZm9yICVzICglcykiICUgKAotICAgICAgICAgICAg
ICAgIHNlbGYucGxhdGZvcm0sIHNlbGYuYnVpbGRfdHlwZSkpCisgICAgICAgICAgICBDb25zb2xl
Lm1lc3NhZ2UoIlVwZGF0aW5nIEZsYXRwYWsgJXMgZW52aXJvbm1lbnQiICUgc2VsZi5idWlsZF90
eXBlKQogICAgICAgICAgICAgaWYgbm90IHNlbGYubm9fZmxhdHBha191cGRhdGU6CiAgICAgICAg
ICAgICAgICAgc2VsZi51cGRhdGVfYWxsKCkKIAogICAgICAgICByZXR1cm4gc2VsZi5zZXR1cF9k
ZXZfZW52KCkKIAogICAgIGRlZiBoYXNfZW52aXJvbm1lbnQoc2VsZik6Ci0gICAgICAgIHJldHVy
biBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF9wYXRoLCBzZWxmLmZsYXRw
YWtfYnVpbGRfcGF0aCkpCisgICAgICAgIHJldHVybiBvcy5wYXRoLmV4aXN0cyhzZWxmLmZsYXRw
YWtfYnVpbGRfcGF0aCkKIAogICAgIGRlZiBzYXZlX2NvbmZpZyhzZWxmKToKLSAgICAgICAgd2l0
aCBvcGVuKHNlbGYuY29uZmlnX2ZpbGUsICd3JykgYXMgY29uZmlnOgotICAgICAgICAgICAganNv
bl9jb25maWcgPSB7J2ljZWNjX3ZlcnNpb24nOiBzZWxmLmljY192ZXJzaW9ufQotICAgICAgICAg
ICAganNvbi5kdW1wKGpzb25fY29uZmlnLCBjb25maWcpCi0KLSAgICBkZWYgc2V0dXBfY2NhY2hl
KHNlbGYpOgotICAgICAgICBmb3IgY29tcGlsZXIgaW4gWyJjKysiLCAiY2MiLCAiY2xhbmciLCAi
Y2xhbmcrKyIsICJnKysiLCAiZ2NjIl06Ci0gICAgICAgICAgICBzZWxmLnJ1bl9pbl9zYW5kYm94
KCJsbiIsICItcyIsICIuLi8uLi91c3IvYmluL2NjYWNoZSIsIGNvbXBpbGVyLCBjd2Q9Ii9hcHAv
YmluIikKLQotICAgIGRlZiBzZXR1cF9pY2VjYyhzZWxmKToKLSAgICAgICAgd2l0aCB0ZW1wZmls
ZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBhcyB0bXBmaWxlOgotICAgICAgICAgICAgc2VsZi5ydW5f
aW5fc2FuZGJveCgnaWNlY2MnLCAnLS1idWlsZC1uYXRpdmUnLCBzdGRvdXQ9dG1wZmlsZSwgY3dk
PXNlbGYuYnVpbGRfcGF0aCkKLSAgICAgICAgICAgIHRtcGZpbGUuZmx1c2goKQotICAgICAgICAg
ICAgdG1wZmlsZS5zZWVrKDApCi0gICAgICAgICAgICBpY2NfdmVyc2lvbl9maWxlbmFtZSwgPSBy
ZS5maW5kYWxsKHInLipjcmVhdGluZyAoLiopJywgdG1wZmlsZS5yZWFkKCkpCi0gICAgICAgICAg
ICBzZWxmLmljY192ZXJzaW9uID0gb3MucGF0aC5qb2luKHNlbGYuYnVpbGRfcGF0aCwgaWNjX3Zl
cnNpb25fZmlsZW5hbWUpCisgICAgICAgIHBhc3MKIAogICAgIGRlZiBzZXR1cF9kZXZfZW52KHNl
bGYpOgotICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYuYnVp
bGRfcGF0aCwgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgpKSBcCi0gICAgICAgICAgICAgICAgb3Ig
c2VsZi51cGRhdGUgb3Igc2VsZi5idWlsZF9hbGw6CisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4
aXN0cyhvcy5wYXRoLmpvaW4oc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsICJydW50aW1lIiwgIm9y
Zy53ZWJraXQuU2RrIikpIG9yIHNlbGYudXBkYXRlIG9yIHNlbGYuYnVpbGRfYWxsOgogICAgICAg
ICAgICAgc2VsZi5pbnN0YWxsX2FsbCgpCi0gICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIkJ1
aWxkaW5nICVzIGFuZCBkZXBlbmRlbmNpZXMgaW4gJXMiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbGYubmFtZSwgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgpCi0KLSAgICAgICAgICAg
ICMgQ3JlYXRlIGVudmlyb25tZW50IGRpcnMgaWYgbmVjZXNzYXJ5Ci0gICAgICAgICAgICB0cnk6
Ci0gICAgICAgICAgICAgICAgb3MubWFrZWRpcnMob3MucGF0aC5kaXJuYW1lKHNlbGYubWFuaWZl
c3RfZ2VuZXJhdGVkX3BhdGgpKQotICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLSAg
ICAgICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVFWElTVDoKLSAgICAgICAgICAgICAg
ICAgICAgcmFpc2UgZQotICAgICAgICAgICAgaWYgbm90IGV4cGFuZF9tYW5pZmVzdChzZWxmLm1h
bmlmZXN0X3BhdGgsIHNlbGYubWFuaWZlc3RfZ2VuZXJhdGVkX3BhdGgsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNlbGYubmFtZSwgc2VsZi5zYW5kYm94X3NvdXJjZV9yb290
LCBzZWxmLmNvbW1hbmQpOgotICAgICAgICAgICAgICAgIHJldHVybiAxCi0KLSAgICAgICAgICAg
IGJ1aWxkZXJfYXJncyA9IFsiZmxhdHBhay1idWlsZGVyIiwgIi0tZGlzYWJsZS1yb2ZpbGVzLWZ1
c2UiLCAiLS1zdGF0ZS1kaXIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuY2Fj
aGVfcGF0aCwgIi0tY2NhY2hlIiwgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsICItLWZvcmNlLWNs
ZWFuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm1hbmlmZXN0X2dlbmVyYXRl
ZF9wYXRoXQotICAgICAgICAgICAgYnVpbGRlcl9hcmdzLmFwcGVuZCgiLS1idWlsZC1vbmx5IikK
LSAgICAgICAgICAgIGJ1aWxkZXJfYXJncy5hcHBlbmQoIi0tc3RvcC1hdD0lcyIgJSBzZWxmLmFw
cCkKLQotICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGJ1aWxkZXJfYXJncykKLSAg
ICAgICAgICAgIHNlbGYuc2V0dXBfY2NhY2hlKCkKLSAgICAgICAgICAgIHNlbGYuc2V0dXBfaWNl
Y2MoKQotICAgICAgICAgICAgc2VsZi5zYXZlX2NvbmZpZygpCiAKICAgICAgICAgYnVpbGRfdHlw
ZSA9ICItLWRlYnVnIiBpZiBzZWxmLmRlYnVnIGVsc2UgIi0tcmVsZWFzZSIKKyAgICAgICAgaWYg
c2VsZi5idWlsZF9nc3Q6CisgICAgICAgICAgICBzZWxmLnNldHVwX2dzdGJ1aWxkKFRydWUpCisK
ICAgICAgICAgaWYgc2VsZi5idWlsZF93ZWJraXQ6Ci0gICAgICAgICAgICBidWlsZGVyID0gW29z
LnBhdGguam9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsICdUb29scy9TY3JpcHRzL2J1aWxk
LXdlYmtpdCcpLAorICAgICAgICAgICAgYnVpbGRlciA9IFsKKyAgICAgICAgICAgICAgICBvcy5w
YXRoLmpvaW4oc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCAnVG9vbHMvU2NyaXB0cy9idWlsZC13
ZWJraXQnKSwKICAgICAgICAgICAgICAgICBidWlsZF90eXBlLCAnLS0nICsgc2VsZi5wbGF0Zm9y
bS5sb3dlcigpXQogICAgICAgICAgICAgaWYgc2VsZi5tYWtlYXJnczoKICAgICAgICAgICAgICAg
ICBidWlsZGVyLmFwcGVuZCgiLS1tYWtlYXJncz0lcyIgJSBzZWxmLm1ha2VhcmdzKQpAQCAtOTAz
LDIzICs3NjYsMjIgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKIAogICAgICAgICAgICAgaWYgcmVz
OgogICAgICAgICAgICAgICAgIHJldHVybiByZXMKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAg
IENvbnNvbGUubWVzc2FnZSgiVXNpbmcgJXMgcHJlZml4IGluICVzIiwgc2VsZi5uYW1lLCBzZWxm
LmZsYXRwYWtfYnVpbGRfcGF0aCkKIAogICAgICAgICBpZiBzZWxmLnJ1bl90ZXN0cyBpcyBub3Qg
Tm9uZToKICAgICAgICAgICAgIHRlc3RfbGF1bmNoZXIgPSBbb3MucGF0aC5qb2luKHNlbGYuc2Fu
ZGJveF9zb3VyY2Vfcm9vdCwgJ1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cycpLAotICAg
ICAgICAgICAgICAgIGJ1aWxkX3R5cGUsICctLScgKyBzZWxmLnBsYXRmb3JtLmxvd2VyKCldICsg
c2VsZi5ydW5fdGVzdHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRfdHlwZSwg
Jy0tJyArIHNlbGYucGxhdGZvcm0ubG93ZXIoKV0gKyBzZWxmLnJ1bl90ZXN0cwogICAgICAgICAg
ICAgcmV0dXJuIHNlbGYucnVuX2luX3NhbmRib3goKnRlc3RfbGF1bmNoZXIpCi0gICAgICAgIGVs
aWYgc2VsZi5nZGIgaXMgbm90IE5vbmU6CisgICAgICAgIGVsaWYgc2VsZi5nZGIgb3Igc2VsZi5n
ZGJfc3RhY2tfdHJhY2U6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5fZ2RiKCkKICAgICAg
ICAgZWxpZiBzZWxmLnVzZXJfY29tbWFuZDoKICAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1bl9p
bl9zYW5kYm94KCpzZWxmLnVzZXJfY29tbWFuZCkKLSAgICAgICAgZWxpZiBub3Qgc2VsZi51cGRh
dGUgYW5kIG5vdCBzZWxmLmJ1aWxkX3dlYmtpdDoKKyAgICAgICAgZWxpZiBub3Qgc2VsZi51cGRh
dGUgYW5kIG5vdCBzZWxmLmJ1aWxkX3dlYmtpdCBhbmQgbm90IHNlbGYuYnVpbGRfZ3N0OgogICAg
ICAgICAgICAgcmV0dXJuIHNlbGYucnVuX2luX3NhbmRib3goKQogCiAgICAgICAgIHJldHVybiAw
CiAKICAgICBkZWYgaW5zdGFsbF9hbGwoc2VsZik6CisgICAgICAgIENvbnNvbGUubWVzc2FnZSgi
SW5zdGFsbGluZyAlcyBkZXBlbmRlbmNpZXMgaW4gJXMiLCBzZWxmLmJ1aWxkX3R5cGUsIHNlbGYu
ZmxhdHBha19idWlsZF9wYXRoKQogICAgICAgICBmb3IgcGFja2FnZSBpbiBzZWxmLnBhY2tzOgog
ICAgICAgICAgICAgaWYgbm90IHBhY2thZ2UuaXNfaW5zdGFsbGVkKHNlbGYuc2RrX2JyYW5jaCk6
CiAgICAgICAgICAgICAgICAgcGFja2FnZS5pbnN0YWxsKCkKQEAgLTkzNSwxOSArNzk3LDMwIEBA
IGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgICMgV2UgbmVlZCBhY2Nlc3MgdG8gdGhlIGhv
c3QgZnJvbSB0aGUgc2FuZGJveCB0byBydW4uCiAgICAgICAgIHdpdGggdGVtcGZpbGUuTmFtZWRU
ZW1wb3JhcnlGaWxlKCkgYXMgY29yZWR1bXA6CiAgICAgICAgICAgICB3aXRoIHRlbXBmaWxlLk5h
bWVkVGVtcG9yYXJ5RmlsZSgpIGFzIHN0ZGVycjoKLSAgICAgICAgICAgICAgICBzdWJwcm9jZXNz
LmNoZWNrX2NhbGwoWyJjb3JlZHVtcGN0bCIsICJkdW1wIl0gKyBzaGxleC5zcGxpdChzZWxmLmNv
cmVkdW1wY3RsX21hdGNoZXMpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdGRvdXQ9Y29yZWR1bXAsIHN0ZGVycj1zdGRlcnIpCisgICAgICAgICAgICAgICAgaWYgc2Vs
Zi5nZGJfc3RhY2tfdHJhY2U6CisgICAgICAgICAgICAgICAgICAgIGNtZCA9IFsiY29yZWR1bXBj
dGwiLCAiLS1zaW5jZT0lcyIgJSBzZWxmLmdkYl9zdGFja190cmFjZSwgImR1bXAiXQorICAgICAg
ICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGNtZCA9IFsiY29yZWR1bXBjdGwi
LCAiZHVtcCJdICsgc2hsZXguc3BsaXQoc2VsZi5jb3JlZHVtcGN0bF9tYXRjaGVzKQorICAgICAg
ICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxs
KGNtZCwgc3Rkb3V0PWNvcmVkdW1wLCBzdGRlcnI9c3RkZXJyKQorICAgICAgICAgICAgICAgIGV4
Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciwgZXJyOgorICAgICAgICAgICAgICAg
ICAgICB3aXRoIG9wZW4oc3RkZXJyLm5hbWUsICdyJykgYXMgc3RkZXJyZjoKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHN0ZGVyciA9IHN0ZGVycmYucmVhZCgpCisgICAgICAgICAgICAgICAgICAg
IGNtZCA9ICcgJy5qb2luKGVyci5jbWQpCisgICAgICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIu
d3JpdGUoIiclcycgcmV0dXJuZWQgYSBub24temVybyBleGl0IGNvZGUuIFN0ZGVycjogJXMiICUg
KGNtZCwgc3RkZXJyKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVyci5yZXR1cm5jb2Rl
CiAKICAgICAgICAgICAgICAgICB3aXRoIG9wZW4oc3RkZXJyLm5hbWUsICdyJykgYXMgc3RkZXJy
ZjoKICAgICAgICAgICAgICAgICAgICAgc3RkZXJyID0gc3RkZXJyZi5yZWFkKCkKKwogICAgICAg
ICAgICAgICAgIGV4ZWN1dGFibGUsID0gcmUuZmluZGFsbCgiLipFeGVjdXRhYmxlOiAoLiopIiwg
c3RkZXJyKQotICAgICAgICAgICAgICAgIGlmIG5vdCBleGVjdXRhYmxlLnN0YXJ0c3dpdGgoIi9u
ZXdyb290Iik6Ci0gICAgICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoIkV4ZWN1dGFi
bGUgJXMgZG9lc24ndCBzZWVtIHRvIGJlIGEgZmxhdHBha2VkIGFwcGxpY2F0aW9uLlxuIiAlIGV4
ZWN1dGFibGUpCiAKLSAgICAgICAgICAgICAgICBleGVjdXRhYmxlID0gZXhlY3V0YWJsZS5yZXBs
YWNlKCIvbmV3cm9vdCIsICIiKQotICAgICAgICAgICAgICAgIGFyZ3MgPSBbImdkYiIsIGV4ZWN1
dGFibGUsICIvcnVuL2hvc3QvJXMiICUgY29yZWR1bXAubmFtZV0gKyBzaGxleC5zcGxpdChzZWxm
LmdkYikKKyAgICAgICAgICAgICAgICBpZiBzZWxmLmdkYjoKKyAgICAgICAgICAgICAgICAgICAg
YmFyZ3MgPSBbImdkYiIsIGV4ZWN1dGFibGUsICIvcnVuL2hvc3QvJXMiICUgY29yZWR1bXAubmFt
ZV0gKyBzaGxleC5zcGxpdChzZWxmLmdkYikKKyAgICAgICAgICAgICAgICBlbGlmIHNlbGYuZ2Ri
X3N0YWNrX3RyYWNlOgorICAgICAgICAgICAgICAgICAgICBiYXJncyA9IFsiZ2RiIiwgJy1leCcs
ICJ0aHJlYWQgYXBwbHkgYWxsIGJhY2t0cmFjZSIsICctLWJhdGNoJywgZXhlY3V0YWJsZSwgIi9y
dW4vaG9zdC8lcyIgJSBjb3JlZHVtcC5uYW1lXQogCi0gICAgICAgICAgICAgICAgcmV0dXJuIHNl
bGYucnVuX2luX3NhbmRib3goKmFyZ3MpCisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYucnVu
X2luX3NhbmRib3goKmJhcmdzKQogCiAgICAgZGVmIHVwZGF0ZV9hbGwoc2VsZik6CiAgICAgICAg
IGZvciBtIGluIFtzZWxmLnJ1bnRpbWUsIHNlbGYuc2RrLCBzZWxmLnNka19kZWJ1Z106CmRpZmYg
LS1naXQgYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sIGIvVG9v
bHMvZmxhdHBhay9vcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZTFhMDdjZjg2ZjgzYjY4ODMzYTU3Mjg0ZTQ3MjNmNTIyYjczYzQwYi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0
cGFrL29yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sCisrKyAvZGV2L251bGwKQEAgLTEsMzMx
ICswLDAgQEAKLSMgaHR0cCBhbmQgZGVwZW5kZW5jaWVzLgotLSBuYW1lOiBhcHIKLSAgc291cmNl
czoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly93d3cuYXBhY2hlLm9y
Zy9kaXN0L2Fwci9hcHItMS42LjUudGFyLmJ6MgotICAgICAgc2hhMjU2OiBhNjdjYTlmY2Y5YzRm
ZjU5YmNlN2Y0MjhhMzIzYzhiNWUxODY2N2ZkZWE3YjBlYmFkNDdkMTk0MzcxYjBhMTA1Ci0tIG5h
bWU6IGFwci11dGlsCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6
IGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvZGlzdC9hcHIvYXByLXV0aWwtMS42LjEudGFyLmJ6Mgot
ICAgICAgc2hhNTEyOiAiNDBlZmY4YTM3YzA2MzRmN2ZkZGRkNmNhNWU1OTZiMzhkZTE1ZmQxMDc2
N2EzNGMzMGJiZTQ5YzYzMjgxNmU4ZjNlMWUyMzA2NzgwMzRmNTc4ZGQ1ODE2YTk0ZjI0NmZiNWRm
ZGY0OGQ2NDQ4MjlhZjEzYmYyOGRlMzIyNTIwNWQiCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS13
aXRoLWFwcj0vYXBwL2Jpbi9hcHItMS1jb25maWcKLS0gbmFtZTogaHR0cGQKLSAgc291cmNlczoK
LSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vYXBhY2hlL2h0
dHBkLmdpdAotICAgICAgYnJhbmNoOiAyLjQuMzcKLSAgICAtIHR5cGUgOiBmaWxlCi0gICAgICBw
YXRoIDogZmlsZXMvaHR0cGQtYXV0b2dlbi5zaAotICAgICAgZGVzdC1maWxlbmFtZSA6IGF1dG9n
ZW4uc2gKLSAgICAjIFRoZSB2ZXJzaW9uIGVtYmVkZGVkIGluIHRoZSBzYW5kYm94IGRvZXNuJ3Qg
aGF2ZSBhIHdvcmtpbmcgcGNyZS1jb25maWcKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRo
OiBwYXRjaGVzL2h0dHBkLTAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1QQ1JFLWRl
dGVjdGlvbi5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC0tZW5hYmxlLW1wbXMtc2hhcmVk
PWFsbAotICAgIC0gLS1lbmFibGUtbW9kdWxlcz1hbGwKLSAgICAtIC0td2l0aC1hcHI9L2FwcC9i
aW4vYXByLTEtY29uZmlnCi0gICAgLSAtLXdpdGgtYXByLXV0aWw9L2FwcC9iaW4vYXB1LTEtY29u
ZmlnCi0gICAgLSAtLXdpdGgtcGNyZT0vYXBwCi0gICAgLSAtLWVuYWJsZS1hdXRobnotZmNnaQot
ICAgIC0gLS1lbmFibGUtY2dpCi0gICAgLSAtLWVuYWJsZS1jZ2lkCi0tIG5hbWU6IHBocAotICBz
b3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL3BocC5uZXQv
ZGlzdHJpYnV0aW9ucy9waHAtNy4yLjYudGFyLnh6Ci0gICAgICBzaGE1MTI6IGRhODZiMWZmMmRm
M2I5ZTJkNDZlNTlhODAyOTZiOTQwZDgxMTMyOTc1YjYyMWJkZWM5NjAyZjhiNGM4ZDkxYTNmZGNk
NGZmZDdjYjk4MmQ2M2QzZWM5NzRiM2ExMmE3ODU0ZTQyYTczYjdmMmNjOGVlZmFkZTE0MzM1YWE3
YzcxCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1kaXNhYmxlLXhtbAotICAgIC0gLS1kaXNhYmxl
LWRvbQotICAgIC0gLS1kaXNhYmxlLWxpYnhtbAotICAgIC0gLS1kaXNhYmxlLXNpbXBsZXhtbAot
ICAgIC0gLS1kaXNhYmxlLXhtbHJlYWRlcgotICAgIC0gLS1kaXNhYmxlLXhtbHdyaXRlcgotICAg
IC0gLS13aXRob3V0LXBlYXIKLSAgICAtIC0td2l0aC1hcHhzMgotICAgIC0gLS13aXRoLXpsaWIK
LSAgICAtIC0td2l0aC1saWJ6aXAKLSAgICAtIC0tZW5hYmxlLXNvY2tldHM9c2hhcmVkCi0tIG5h
bWU6IGxpYmV2ZW50Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0
cHM6Ly9naXRodWIuY29tL2xpYmV2ZW50L2xpYmV2ZW50LmdpdAotICAgICAgYnJhbmNoOiBlN2Zm
NGVmICMgMi4xLjgKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLWRpc2FibGUtbGliZXZlbnQtcmVn
cmVzcwotCi0jIFJlcXVpcmVtZW50IGZvciBmbGF0cGt1dGlscwotLSBuYW1lOiBweXRob24zLXB5
YW1sCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gIC0gcGlwMyBp
bnN0YWxsIC0tbm8taW5kZXggLS1maW5kLWxpbmtzPSJmaWxlOi8vJHtQV0R9IiAtLXByZWZpeD0k
e0ZMQVRQQUtfREVTVH0gcHlhbWwKLSAgc291cmNlczoKLSAgLSB0eXBlOiBmaWxlCi0gICAgdXJs
OiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvNGEvODUvZGI1YTJkZjQ3
NzA3MmIyOTAyYjBlYjg5MmZlYjM3ZDg4YWM2MzVkMzYyNDVhNzJhNmE2OWIyM2IzODNhL1B5WUFN
TC0zLjEyLnRhci5negotICAgIHNoYTI1NjogNTkyNzY2YzYzMDMyMDdhMjBlZmM0NDU1ODc3Nzgz
MjJkN2Y3M2IxNjFiZDk5NGYyMjdhZGFhMzQxYmEyMTJhYgotICAtIHR5cGU6IGZpbGUKLSAgICB1
cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy85ZS8xNy8xZDRlZDZl
MWE0YzA5MThhMDM1N2RmYTJmZGJlMjZiZjYzZjZlNjE2MDEzYzA0YTE0YmNlOWZkMzNlNDAvcHlh
bWwtMTcuMTIuMS50YXIuZ3oKLSAgICBzaGEyNTY6IDY2NjIzYzUyZjM0ZDgzYTJjMGZjOTYzZTA4
ZThiOWQwYzEzZDg4NDA0ZTNiNDNiMTg1MmVmNzFlZGExOWFmYTMKLQotLSBuYW1lOiBweXRob24y
LXB5YW1sCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gIC0gcGlw
MiBpbnN0YWxsIC0tbm8taW5kZXggLS1maW5kLWxpbmtzPSJmaWxlOi8vJHtQV0R9IiAtLXRhcmdl
dD0vYXBwL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy8gcHlhbWwKLSAgc291cmNlczoKLSAg
LSB0eXBlOiBmaWxlCi0gICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFj
a2FnZXMvNGEvODUvZGI1YTJkZjQ3NzA3MmIyOTAyYjBlYjg5MmZlYjM3ZDg4YWM2MzVkMzYyNDVh
NzJhNmE2OWIyM2IzODNhL1B5WUFNTC0zLjEyLnRhci5negotICAgIHNoYTI1NjogNTkyNzY2YzYz
MDMyMDdhMjBlZmM0NDU1ODc3NzgzMjJkN2Y3M2IxNjFiZDk5NGYyMjdhZGFhMzQxYmEyMTJhYgot
ICAtIHR5cGU6IGZpbGUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9w
YWNrYWdlcy85ZS8xNy8xZDRlZDZlMWE0YzA5MThhMDM1N2RmYTJmZGJlMjZiZjYzZjZlNjE2MDEz
YzA0YTE0YmNlOWZkMzNlNDAvcHlhbWwtMTcuMTIuMS50YXIuZ3oKLSAgICBzaGEyNTY6IDY2NjIz
YzUyZjM0ZDgzYTJjMGZjOTYzZTA4ZThiOWQwYzEzZDg4NDA0ZTNiNDNiMTg1MmVmNzFlZGExOWFm
YTMKLQotLSBuYW1lOiBweXRob24yLXN1YnByb2Nlc3MzMgotICBidWlsZHN5c3RlbTogc2ltcGxl
Ci0gIGJ1aWxkLWNvbW1hbmRzOgotICAtIHBpcDIgaW5zdGFsbCAtLXRhcmdldD0vYXBwL2xpYi9w
eXRob24yLjcvc2l0ZS1wYWNrYWdlcy8gLgotICBzb3VyY2VzOgotICAtIHR5cGU6IGFyY2hpdmUK
LSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy9iZS8yYi9i
ZWViYTU4M2U5ODc3ZTY0ZGIxMGI1MmE5NjkxNWFmYzBmZWFiZjcxNDRkY2JmMmEwZDBlYTY4YmY3
M2Qvc3VicHJvY2VzczMyLTMuNS4zLnRhci5negotICAgIHNoYTI1NjogNmJjODI5OTIzMTZlZWYz
Y2NmZjMxOWI1MDMzODA5ODAxYzBjMzM3MjcwOWM1ZjY5ODUyOTljODhhYzcyMjVjMwotCi0jIEdT
dHJlYW1lciBtb2R1bGVzCi0tIG5hbWU6IGxpYnZweAotICBuby1hdXRvZ2VuOiB0cnVlCi0gIHNv
dXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9jaHJvbWl1bS5nb29n
bGVzb3VyY2UuY29tL3dlYm0vbGlidnB4Ci0gICAgICBicmFuY2g6IHYxLjcuMAotICBjb25maWct
b3B0czoKLSAgICAtIC0tZW5hYmxlLXBpYwotICAgIC0gLS1hcz1uYXNtCi0gICAgLSAtLWRpc2Fi
bGUtdW5pdC10ZXN0cwotICAgIC0gLS1zaXplLWxpbWl0PTE2Mzg0eDE2Mzg0Ci0gICAgLSAtLWVu
YWJsZS1wb3N0cHJvYwotICAgIC0gLS1lbmFibGUtbXVsdGktcmVzLWVuY29kaW5nCi0gICAgLSAt
LWVuYWJsZS10ZW1wb3JhbC1kZW5vaXNpbmcKLSAgICAtIC0tZW5hYmxlLXZwOS10ZW1wb3JhbC1k
ZW5vaXNpbmcKLSAgICAtIC0tZW5hYmxlLXZwOS1wb3N0cHJvYwotICAgIC0gLS1lbmFibGUtc2hh
cmVkCi0tIG5hbWU6IGFvbQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6
IGh0dHBzOi8vYW9tZWRpYS5nb29nbGVzb3VyY2UuY29tL2FvbQotICAgICAgYnJhbmNoOiBjZGIw
ODNlODRhNzFkNmQzMTE2M2E0ZjY0ZjE4ZGMxMzI4ZmQ3ODJjCi0gIGJ1aWxkc3lzdGVtOiBjbWFr
ZS1uaW5qYQotICBidWlsZGRpcjogdHJ1ZQotICBjb25maWctb3B0czoKLSAgICAtIC1EQlVJTERf
U0hBUkVEX0xJQlM9MQotLSBuYW1lOiBsaWJ1bndpbmQKLSAgc291cmNlczoKLSAgICAtIHR5cGU6
IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbGlidW53aW5kL2xpYnVud2luZC5n
aXQKLSAgICAgIGNvbW1pdDogdjEuMi4xCi0tIG5hbWU6IGxpYm9wZW5oMjY0Ci0gIGJ1aWxkc3lz
dGVtOiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBz
Oi8vZ2l0aHViLmNvbS9jaXNjby9vcGVuaDI2NC5naXQKLSAgICAgIGJyYW5jaDogYTFiM2YwN2M1
MjcxZjMxMjk5N2ZjYzM0NTEyMzcwMzE0NDRjNDQ3NSAjIDEuOC4wICsgZml4IGZvciBnY2MgOAot
LSBuYW1lOiBnc3RyZWFtZXIKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIHNvdXJjZXM6Ci0gICAg
LSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL2dz
dHJlYW1lci9nc3RyZWFtZXIuZ2l0Ci0gICAgICBicmFuY2g6IDEuMTYuMQotICBjb25maWctb3B0
czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotICAgIC0gLURpbnRyb3NwZWN0aW9uPWRpc2Fi
bGVkCi0gICAgLSAtRGV4YW1wbGVzPWRpc2FibGVkCi0gICAgLSAtRHRlc3RzPWRpc2FibGVkCi0t
IG5hbWU6IGdzdC1wbHVnaW5zLWJhc2UKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIHNvdXJjZXM6
Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Au
b3JnL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYXNlLmdpdAotICAgICAgYnJhbmNoOiAxLjE2LjEK
LSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9nc3RyZWFtZXIvcGF0Y2hlcy9iYXNl
LTAwMDEtcGxheWJpbi1IYW5kbGUtZXJyb3ItbWVzc2FnZS13aXRoLXJlZGlyZWN0aW9uLWluZGlj
YS5wYXRjaAotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2dzdHJlYW1lci9wYXRj
aGVzL2Jhc2UtMDAwMS1nbHVwbG9hZC1BZGQtVmlkZW9NZXRhcy1hbmQtR0xTeW5jTWV0YS10by10
aGUtcmF3LXVwLnBhdGNoCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9jPWRpc2FibGVk
Ci0gICAgLSAtRGludHJvc3BlY3Rpb249ZGlzYWJsZWQKLSAgICAtIC1EZXhhbXBsZXM9ZGlzYWJs
ZWQKLSAgICAtIC1EdGVzdHM9ZGlzYWJsZWQKLS0gbmFtZTogZ3N0LXBsdWdpbnMtZ29vZAotICBi
dWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJs
OiBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWdv
b2QuZ2l0Ci0gICAgICBicmFuY2g6IDEuMTYuMQotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBh
dGg6IC4uL2dzdHJlYW1lci9wYXRjaGVzL2dvb2QtMDAwMS1xdGRlbXV4LVNwZWNpZnktUkVESVJF
Q1QtaW5mb3JtYXRpb24taW4tZXJyb3ItbWVzc2FnLnBhdGNoCi0gIGNvbmZpZy1vcHRzOgotICAg
IC0gLURndGtfZG9jPWRpc2FibGVkCi0gICAgLSAtRGludHJvc3BlY3Rpb249ZGlzYWJsZWQKLSAg
ICAtIC1EZXhhbXBsZXM9ZGlzYWJsZWQKLSAgICAtIC1EZ3RrMz1kaXNhYmxlZAotLSBuYW1lOiB4
MjY0Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gIi0tZW5hYmxlLXNoYXJlZCIKLSAgICAtICItLWVu
YWJsZS1zdGF0aWMiCi0gICAgLSAiLS1lbmFibGUtcGljIgotICAgIC0gIi0tZGlzYWJsZS1sYXZm
IgotICAgIC0gIi0tZGlzYWJsZS1hc20iCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZl
Ci0gICAgICB1cmw6IGh0dHA6Ly9kb3dubG9hZC52aWRlb2xhbi5vcmcvcHViL3gyNjQvc25hcHNo
b3RzL3gyNjQtc25hcHNob3QtMjAxNDAyMTItMjI0NS1zdGFibGUudGFyLmJ6MgotICAgICAgc2hh
MjU2OiA1ZDk4ZTllNGZhZjZkZDU1ZTcxOTNlZDM3OWFmZjQ3N2I4YWNiZGE2Nzc3NzU4OTU2ZWY3
ZTVmMDUwNjdiZTE4Ci0tIG5hbWU6IGdzdC1wbHVnaW5zLXVnbHkKLSAgYnVpbGRzeXN0ZW06IG1l
c29uCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9hbm9u
Z2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLXVnbHkKLSAgICAg
IGJyYW5jaDogMS4xNi4wCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9jPWRpc2FibGVk
Ci0tIG5hbWU6IGdzdC1wbHVnaW5zLWJhZAotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNl
czoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGxhYi5mcmVlZGVza3Rv
cC5vcmcvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZC5naXQKLSAgICAgIGJyYW5jaDogMS4xNi4x
Ci0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3N0cmVhbWVyL3BhdGNoZXMvZ3N0
LXBsdWdpbnMtYmFkLTAwMDEtaDI2NHBhcnNlLVBvc3QtYS1XQVJOSU5HLXdoZW4tZGF0YS1pcy1i
cm9rZW4ucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlzYWJsZWQKLSAg
ICAtIC1EaW50cm9zcGVjdGlvbj1kaXNhYmxlZAotICAgIC0gLURleGFtcGxlcz1kaXNhYmxlZAot
LSBuYW1lOiBmZm1wZWcKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVy
bDogaHR0cHM6Ly9mZm1wZWcub3JnL3JlbGVhc2VzL2ZmbXBlZy00LjAuNC50YXIuZ3oKLSAgICAg
IHNoYTI1NjogODBiYjY4NWFiZmNkZGE3YzliNmM5YzVjYWYxZDhkYmI5Mjc4NTgwNTBkNzM3N2My
YjhmMzQ4OGM3ZThhOWI3ZgotICBjb25maWctb3B0czoKLSAgICAtIC0tZW5hYmxlLXN0YXRpYwot
ICAgIC0gLS1lbmFibGUtcGljCi0gICAgLSAtLWRpc2FibGUtYXZkZXZpY2UKLSAgICAtIC0tZGlz
YWJsZS1wb3N0cHJvYwotICAgIC0gLS1kaXNhYmxlLXN3c2NhbGUKLSAgICAtIC0tZGlzYWJsZS1w
cm9ncmFtcwotICAgIC0gLS1kaXNhYmxlLWZmcGxheQotICAgIC0gLS1kaXNhYmxlLWZmcHJvYmUK
LSAgICAtIC0tZGlzYWJsZS1mZm1wZWcKLSAgICAtIC0tZGlzYWJsZS1lbmNvZGVyPWZsYWMKLSAg
ICAtIC0tZGlzYWJsZS1wcm90b2NvbHMKLSAgICAtIC0tZGlzYWJsZS1kZXZpY2VzCi0gICAgLSAt
LWRpc2FibGUtbmV0d29yawotICAgIC0gLS1kaXNhYmxlLWh3YWNjZWxzCi0gICAgLSAtLWRpc2Fi
bGUtZHh2YTIKLSAgICAtIC0tZGlzYWJsZS12ZHBhdQotICAgIC0gLS1kaXNhYmxlLWZpbHRlcnMK
LSAgICAtIC0tZW5hYmxlLWZpbHRlcj15YWRpZgotICAgIC0gLS1kaXNhYmxlLWRvYwotICAgIC0g
LS1kaXNhYmxlLWQzZDExdmEKLSAgICAtIC0tZGlzYWJsZS1keHZhMgotICAgIC0gLS1kaXNhYmxl
LWF1ZGlvdG9vbGJveAotICAgIC0gLS1kaXNhYmxlLXZpZGVvdG9vbGJveAotICAgIC0gLS1kaXNh
YmxlLXZhYXBpCi0gICAgLSAtLWRpc2FibGUtY3J5c3RhbGhkCi0gICAgLSAtLWRpc2FibGUtbWVk
aWFjb2RlYwotICAgIC0gLS1kaXNhYmxlLW52ZW5jCi0gICAgLSAtLWRpc2FibGUtbW1hbAotICAg
IC0gLS1kaXNhYmxlLW9teAotICAgIC0gLS1kaXNhYmxlLW9teC1ycGkKLSAgICAtIC0tZGlzYWJs
ZS1jdWRhCi0gICAgLSAtLWRpc2FibGUtY3V2aWQKLSAgICAtIC0tZGlzYWJsZS1saWJtZngKLSAg
ICAtIC0tZGlzYWJsZS1saWJucHAKLSAgICAtIC0tZGlzYWJsZS1pY29udgotICAgIC0gLS1kaXNh
YmxlLWpuaQotICAgIC0gLS1kaXNhYmxlLXY0bDJfbTJtCi0gICAgLSAtLWVuYWJsZS1vcHRpbWl6
YXRpb25zCi0tIG5hbWU6IGdzdC1saWJhdgotICBidWlsZHN5c3RlbTogbWVzb24KLSAgYnVpbGRk
aXI6IHRydWUKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0
cHM6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL3NyYy9nc3QtbGliYXYvZ3N0LWxpYmF2LTEu
MTYuMS50YXIueHoKLSAgICAgIHNoYTI1NjogZThhNTc0OGFlOWE0YTdiZTk2OTY1MTIxODJlYTlm
ZmE2ZWZlMGJlOWI3OTc2OTE2NTQ4ZTlkNDM4MWNhNjFjNAotICBjb25maWctb3B0czoKLSAgICAt
IC1EZ3RrX2RvYz1kaXNhYmxlZAotCi0tIG5hbWU6IGxpYmdjcnlwdCAjIFNwZWVkdXAgbGliZ2Ny
eXB0Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9kZXYu
Z251cGcub3JnL3NvdXJjZS9saWJnY3J5cHQuZ2l0Ci0gICAgICBicmFuY2g6IGxpYmdjcnlwdC0x
LjguNAotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IHBhdGNoZXMvbGliZ2NyeXB0LTAw
MDEtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRjaAotICAgIC0gdHlwZTog
cGF0Y2gKLSAgICAgIHBhdGg6IC4uL2d0ay9wYXRjaGVzL2xpYmdjcnlwdC11c2Utb25seS1kZXYt
dXJhbmRvbS1mb3ItdGVzdGluZy5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC0tZGlzYWJs
ZS1kb2MKLQotLSBuYW1lOiBwZXJsLWNnaS1wbQotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1
aWxkLWNvbW1hbmRzOgotICAgIC0gcGVybCBNYWtlZmlsZS5QTCBQUkVGSVg9L2FwcCBMSUI9L2Fw
cC9saWIvcGVybC8KLSAgICAtIG1ha2UgaW5zdGFsbAotICBzb3VyY2VzOgotICAgIC0gdHlwZTog
YXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL2NwYW4ubWV0YWNwYW4ub3JnL2F1dGhvcnMvaWQv
TC9MRS9MRUVKTy9DR0ktNC4zOC50YXIuZ3oKLSAgICAgIHNoYTI1NjogOGM1OGY0YTUyOWJiOTJh
OTE0YjIyYjdlNjRjNWUzMTE4NWM5ODU0YTQwNzBhNmRmYWQ0NGZlNWNjMjQ4ZTdkNAotCi0tIG5h
bWU6IHB5dGhvbjItdmlydHVhbGVudgotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNv
bW1hbmRzOgotICAtIHBpcDIgaW5zdGFsbCAtLW5vLWluZGV4IC0tZmluZC1saW5rcz0iZmlsZTov
LyR7UFdEfSIgLS10YXJnZXQ9L2FwcC9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvIHZpcnR1
YWxlbnYKLSAgLSBsbiAtcyAvYXBwL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy92aXJ0dWFs
ZW52LnB5IC9hcHAvYmluL3ZpcnR1YWxlbnYKLSAgLSBjaG1vZCAreCAvYXBwL2Jpbi92aXJ0dWFs
ZW52Ci0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogZmlsZQotICAgIHVybDogaHR0cHM6Ly9maWxlcy5w
eXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzMzL2JjL2ZhMGI1MzQ3MTM5Y2Q5NTY0ZjBkNDRlYmQy
YjE0N2FjOTdjMzZiMjQwMzk0M2RiZWU4YTI1ZmQ3NDAxMi92aXJ0dWFsZW52LTE2LjAuMC50YXIu
Z3oKLSAgICBzaGEyNTY6IGNhMDdiNGMwYjU0ZTE0YTkxYWY5ZjM0ZDA5MTk3OTBiMDE2OTIzZDE1
N2FmZGE1ZWZkZGU1NWM5NjcxOGY3NTIKLQotLSBuYW1lOiBsaWJjYXAtbmcKLSAgc291cmNlczoK
LSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vc3RldmVncnVi
Yi9saWJjYXAtbmcKLSAgICAgIGJyYW5jaDogdjAuNy45Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0g
LS13aXRoLXB5dGhvbj1ubwotICAgIC0gLS13aXRoLXB5dGhvbjM9bm8KLQotLSBuYW1lOiBsem8y
Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHA6Ly93d3cu
b2Jlcmh1bWVyLmNvbS9vcGVuc291cmNlL2x6by9kb3dubG9hZC9sem8tMi4xMC50YXIuZ3oKLSAg
ICAgIHNoYTE6IDQ5MjQ2NzZhOWJhZTVkYjU4ZWYxMjlkYzFjZWJjZTNiYWEzYzRiNWQKLQotLSBu
YW1lOiBpY2VjYwotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBz
Oi8vZ2l0aHViLmNvbS9pY2VjYy9pY2VjcmVhbQotICAgICAgdGFnOiAiMS4yIgotICAgICAgY29t
bWl0OiBlM2QxMGEzMmJjNmMwNDZkOGYzZDExODJlNzVjNjU5ZDRiMjhlZDQ5Ci0gIGNvbmZpZy1v
cHRzOgotICAgIC0gLS13aXRob3V0LW1hbgotCi0tIG5hbWU6IGJyb3RsaQotICBzb3VyY2VzOgot
ICAtIHR5cGU6IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvYnJv
dGxpL2FyY2hpdmUvdjEuMC41LnRhci5negotICAgIHNoYTI1NjogM2Q1YmVkZDQ4ZWRiOTA5ZmUz
Yjg3Y2I5OWY3ZDEzOWI5ODdlZjZmMTYxNmI3ZTIyZDc0ZTkyODI3MGEyZmQyMAotICBidWlsZHN5
c3RlbTogY21ha2UtbmluamEKLQotLSBuYW1lOiB3b2ZmMgotICBzb3VyY2VzOgotICAtIHR5cGU6
IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvd29mZjIvYXJjaGl2
ZS92MS4wLjIudGFyLmd6Ci0gICAgc2hhMjU2OiBhZGQyNzJiYjA5ZTYzODRhNDgzM2ZmY2E0ODk2
MzUwZmRiMTZlMGNhMjJkZjY4YzAzODQ3NzNjNjdhMTc1NTk0Ci0gIGJ1aWxkc3lzdGVtOiBjbWFr
ZS1uaW5qYQotCi0tIG5hbWU6IG9wZW5qcGVnCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogYXJjaGl2
ZQotICAgIHVybDogaHR0cDovL2dpdGh1Yi5jb20vdWNsb3V2YWluL29wZW5qcGVnL2FyY2hpdmUv
djIuMy4wLnRhci5negotICAgIHNoYTI1NjogM2RjNzg3YzFiYjYwMjNiYTg0NmMyYTBkOWIxZjZl
MTc5ZjFjZDI1NTE3MmJkZTllYjc1YjAxZjFlNmM3ZDcxYQotICBidWlsZHN5c3RlbTogY21ha2Ut
bmluamEKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5HVEsueWFtbCBiL1Rv
b2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5HVEsueWFtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggOTYzYjU2MDQ0MDgwNDVlZDA4N2M3YzI2N2E1OTMyYjg0ZTYzMGQzZi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL29yZy53
ZWJraXQuR1RLLnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMjMgKzAsMCBAQAotLSBuYW1lOiBt
ZXNhCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHBzOi8v
bWVzYS5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZS9tZXNhLTE4LjAuMy50YXIueHoKLSAgICAgIHNo
YTI1NjogMDk5ZDk2NjczMjdhNzZhNjE3NDFhNTMzZjk1MDY3ZDc2ZWE3MWE2NTZlNjZiOTE1MDdi
M2MwY2FmMWQ0OWUzMAotICBjb25maWctb3B0czoKLSAgICAtIC0tcHJlZml4PS9hcHAvc29mdEdM
Ci0gICAgLSAtLWRpc2FibGUtZHJpMwotICAgIC0gLS1lbmFibGUtZHJpCi0gICAgLSAtLWVuYWJs
ZS1nbHgKLSAgICAtIC0tZW5hYmxlLWVnbAotICAgIC0gLS13aXRoLWVnbC1wbGF0Zm9ybXM9eDEx
LHdheWxhbmQKLSAgICAtIC0td2l0aC1kcmktZHJpdmVycz1zd3Jhc3QKLSAgICAtIC0td2l0aC1n
YWxsaXVtLWRyaXZlcnM9c3dyYXN0Ci0KLS0gbmFtZTogd2Via2l0Z3RrLXRlc3QtZm9udHMKLSAg
bm8tYXV0b2dlbjogdHJ1ZQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6
IGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJLaXRHVEsvd2Via2l0Z3RrLXRlc3QtZm9udHMuZ2l0Ci0g
IGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gICAgIyBGSVhNRTogTWFr
ZSBBY3RpdmF0ZUZvbnRXUEUgc21hcnRlci4KLSAgICAtIG1ha2UgaW5zdGFsbCBERVNURElSPS9h
cHAvV2ViS2l0QnVpbGQvRGVwZW5kZW5jaWVzR1RLL1Jvb3QKLQotLSBuYW1lOiB4b3JnLXV0aWwt
bWFjcm9zCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9h
bm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy91dGlsL21hY3Jvcy5naXQKLSAgICAgIGJy
YW5jaDogdXRpbC1tYWNyb3MtMS4xOS4yCi0KLS0gbmFtZTogeG9yZy1mb250LXV0aWwKLSAgc291
cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRl
c2t0b3Aub3JnL2dpdC94b3JnL2ZvbnQvdXRpbC5naXQKLSAgICAgIGJyYW5jaDogZm9udC11dGls
LTEuMy4xCi0KLS0gbmFtZTogeGtiZmlsZQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0g
ICAgICBicmFuY2g6IGxpYnhrYmZpbGUtMS4wLjkKLSAgICAgIHVybDogaHR0cHM6Ly9hbm9uZ2l0
LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy9saWIvbGlieGtiZmlsZS5naXQKLQotLSBuYW1lOiBm
b250ZW5jCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIGJyYW5jaDogbGliZm9u
dGVuYy0xLjEuMwotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dp
dC94b3JnL2xpYi9saWJmb250ZW5jLmdpdAotCi0tIG5hbWU6IHhmb250Ci0gIHNvdXJjZXM6Ci0g
ICAgLSB0eXBlOiBnaXQKLSAgICAgIGJyYW5jaDogbGliWGZvbnQyLTIuMC4zCi0gICAgICB1cmw6
IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcvbGliL2xpYlhmb250Lmdp
dAotCi0tIG5hbWU6IHh2ZmIKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJs
OiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC94b3JnL3hzZXJ2ZXIuZ2l0Ci0g
ICAgICBicmFuY2g6IHhvcmctc2VydmVyLTEuMTkuNgotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAg
IHBhdGg6IHBhdGNoZXMveHZmYi0wMDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEta2JtLWZpbGUu
cGF0Y2gKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9ndGsvcGF0Y2hlcy94c2Vy
dmVyLXJlbW92ZS1ib2d1cy1kZXBlbmRlbmNpZXMucGF0Y2gKLSAgICAtIHR5cGU6IHBhdGNoCi0g
ICAgICBwYXRoOiAuLi9ndGsvcGF0Y2hlcy94c2VydmVyLXNlYXJjaC1mb3ItRFJJLWRyaXZlcnMt
YXQtTElCR0xfRFJJVkVSU19QQVRILWVudmlyb24ucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAg
LSAtLWVuYWJsZS14dmZiCi0gICAgLSAtLWRpc2FibGUteHdheWxhbmQKLSAgICAtIC0tZW5hYmxl
LXh2ZmIKLSAgICAtIC0tZGlzYWJsZS14d2F5bGFuZAotICAgIC0gLS1kaXNhYmxlLXhpbmVyYW1h
Ci0gICAgLSAtLWVuYWJsZS1nbHgKLSAgICAtIC0tZW5hYmxlLWNvbXBvc2l0ZQotICAgIC0gLS1k
aXNhYmxlLXhvcmcKLSAgICAtIC0tZGlzYWJsZS1kbXgKLSAgICAtIC0tZGlzYWJsZS14bmVzdAot
ICAgIC0gLS1kaXNhYmxlLXhxdWFydHoKLSAgICAtIC0tZGlzYWJsZS14d2luCi0gICAgLSAtLWRp
c2FibGUteGVwaHlyCi0gICAgLSAtLWRpc2FibGUteGZha2UKLSAgICAtIC0tZGlzYWJsZS14ZmJk
ZXYKLSAgICAtIC0tZGlzYWJsZS1pbnN0YWxsLXNldHVpZAotICAgIC0gLS1kaXNhYmxlLXVuaXQt
dGVzdHMKLSAgICAtIC0tZGlzYWJsZS1wcmVzZW50Ci0gICAgLSAtLWVuYWJsZS11bml4LXRyYW5z
cG9ydAotICAgIC0gLS1lbmFibGUtdGNwLXRyYW5zcG9ydAotICAgIC0gLS1kaXNhYmxlLWxvY2Fs
LXRyYW5zcG9ydAotICAgIC0gLS13aXRob3V0LWR0cmFjZQotCi0jIFJlcXVpcmVkIGZvciBydW4t
Z3RrLXRlc3RzCi0tIG5hbWU6IHB5Y2Fpcm8KLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWls
ZC1jb21tYW5kczoKLSAgLSBweXRob24yIHNldHVwLnB5IGluc3RhbGwgLS1wcmVmaXg9L2FwcAot
ICBzb3VyY2VzOgotICAtIHR5cGU6IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vcHlwaS5weXRo
b24ub3JnL3BhY2thZ2VzL2VmLzk3L2IzM2RjNTMzZWE2MDc2ZDRlYTljYmQyZmUwNDlhMmI0YTNk
ZjVjNWI2ZmJhOWExODI2MTZmNmY4ZDMxMC9weWNhaXJvLTEuMTUuNC50YXIuZ3oKLSAgICBzaGEy
NTY6IGVlNGMzMDY4YzA0ODIzMGU1Y2U3NGJiODk5NGEwMjQ3MTExMjliZGUxYWYxZDc2ZTMyNzZj
N2FjZDgxYzQzNTcKLSAgY2xlYW51cDoKLSAgLSAiL2luY2x1ZGUiCi0gIC0gIi9saWIvcGtnY29u
ZmlnIgotCi0tIG5hbWU6IHB5Z29iamVjdC1weXRob24yCi0gIGJ1aWxkLW9wdGlvbnM6Ci0gICAg
ZW52OgotICAgICAgUFlUSE9OOiAiL3Vzci9iaW4vcHl0aG9uMiIKLSAgc291cmNlczoKLSAgLSB0
eXBlOiBhcmNoaXZlCi0gICAgdXJsOiBodHRwczovL2Rvd25sb2FkLmdub21lLm9yZy9zb3VyY2Vz
L3B5Z29iamVjdC8zLjI4L3B5Z29iamVjdC0zLjI4LjEudGFyLnh6Ci0gICAgc2hhMjU2OiA0MjMx
MmI0YTUwMTU1NzFmYTBhNGYyZDIwMTAwNWRhNDZiNzFjMjUxZWEyNjI1YmM5NTcwMmQwNzFjNGZm
ODk1Ci0gIGNsZWFudXA6Ci0gIC0gIi9pbmNsdWRlIgotICAtICIvbGliL3BrZ2NvbmZpZyIKLSAg
LSAiL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9naS8qLmxhIgotCi0tIG9yZy53ZWJraXQu
V1BFTW9kdWxlcy55YW1sCi0KLS0gbmFtZTogb3JnLndlYmtpdC5HVEsKLSAgYnVpbGRzeXN0ZW06
IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgICAtIC9hcHAvd2Via2l0L1Rvb2xzL1Njcmlw
dHMvYnVpbGQtd2Via2l0IC0tZ3RrIC0tcHJlZml4PS9hcHAKLQpkaWZmIC0tZ2l0IGEvVG9vbHMv
ZmxhdHBhay9vcmcud2Via2l0LldQRS55YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQ
RS55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0Y2JhYmJhYTBjYjhlMTU4YWQ0
NDQxZjk4YjRkMDUzYThjYjNiYTc2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEUueWFtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDE0ICswLDAgQEAKLS0gb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwKLS0gbmFt
ZTogd2Via2l0Z3RrLXRlc3QtZm9udHMKLSAgbm8tYXV0b2dlbjogdHJ1ZQotICBzb3VyY2VzOgot
ICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJLaXRHVEsv
d2Via2l0Z3RrLXRlc3QtZm9udHMuZ2l0Ci0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQt
Y29tbWFuZHM6Ci0gICAgIyBGSVhNRTogTWFrZSBBY3RpdmF0ZUZvbnRXUEUgc21hcnRlci4KLSAg
ICAtIG1ha2UgaW5zdGFsbCBERVNURElSPS9hcHAvV2ViS2l0QnVpbGQvRGVwZW5kZW5jaWVzV1BF
L1Jvb3QKLS0gbmFtZTogb3JnLndlYmtpdC5XUEUKLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBi
dWlsZC1jb21tYW5kczoKLSAgICAtIC9hcHAvd2Via2l0L1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Vi
a2l0IC0td3BlIC0tcHJlZml4PS9hcHAKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndl
YmtpdC5XUEVNb2R1bGVzLnlhbWwgYi9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFTW9kdWxl
cy55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhODBlMmNjYjNhNGQ5NTIyYTYw
NzkzNGMwNmUwYWY5MjA1YmYwMjE3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwKKysr
IC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0tIG5hbWU6IGxpYndwZQotICBidWlsZHN5c3Rl
bTogY21ha2UtbmluamEKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVy
bDogaHR0cHM6Ly93cGV3ZWJraXQub3JnL3JlbGVhc2VzL2xpYndwZS0xLjQuMC50YXIueHoKLSAg
ICAgIHNoYTI1NjogZTJkMzQ5NGZjMzNmZTk0NmFkOTE3ZmQ2YTNhYmQxMjc0NjJiOTFiYmE2MmVm
OGIzNTUwN2U5MmY4ZWRlNDE4OAotLSBuYW1lOiB3cGViYWNrZW5kLWZkbwotICBidWlsZHN5c3Rl
bTogY21ha2UtbmluamEKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVy
bDogaHR0cHM6Ly93cGV3ZWJraXQub3JnL3JlbGVhc2VzL3dwZWJhY2tlbmQtZmRvLTEuNC4wLnRh
ci54egotICAgICAgc2hhMjU2OiBhOTE5Y2E0YTViYzQ0NWY5NDE5YTViN2YzNzgxY2ZjOThlNWFi
Y2Y1ZDcyNTllYjE4NjlmNWFiMjBmZDE4YmFmCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29y
Zy53ZWJraXQuV1BFUVQueWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVRVC55YW1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTM2OTU3YTQ2MWJjMzQ3OWEzOGVmZmRl
NmQ5NThiZDAwNzI2NzhlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVRVC55YW1sCisrKyAvZGV2L251bGwK
QEAgLTEsMzkgKzAsMCBAQAotYXBwLWlkOiBvcmcud2Via2l0LldQRVFUCi1ydW50aW1lOiBvcmcu
a2RlLlBsYXRmb3JtCi1ydW50aW1lLXZlcnNpb246ICI1LjEyIgotIyBDb250cm9sIHRoZSBleGFj
dCB2ZXJzaW9uIG9mIHRoZSBTZGsvUnVudGltZSB0aGF0IGlzIGJlaW5nIHVzZWQuCi1zZGstaGFz
aDogZDZlZmEyNGUyN2MxYzg3OGFkNGZkZTc2YjczYzk2YTExYmUzMmI1OThhZTg3YWVmYmUzMzll
ZTRiYjE5YThiZQotcnVudGltZS1oYXNoOiAxMDE4NzFlMDkxMDAwNjE2YWQyYjYzNWUwNmM0MTRl
YjBlMWM0ZTFjMzQyOTJhMjA1YzUyMzk5MzVlZTVlYTQ0Ci1zZGs6IG9yZy5rZGUuU2RrCi1jb21t
YW5kOiAlKENPTU1BTkQpcwotZmluaXNoLWFyZ3M6Ci0gICMgQmFzaWNhbGx5IG5vIHNhbmRib3hp
bmcsIHRoZSBnb2FsIGhlcmUgaXMgdG8gbWFrZSBpdCBmbGV4aWJsZQotICAjIGZvciBkZXZlbG9w
ZXJzLCBub3QgcmVhbGx5IHRvIGlzb2xhdGUgKG9wZW5uaW5nIGFsbCBkZXZpY2VzCi0gICMgdG8g
YWxsb3cgYWNjZXMgdmlkZW8gY2FtZXJhcyB1bnRpbCB3ZSBoYXZlIGEgcG9ydGFsIGF0IGxlYXN0
KS4KLSAgLSAtLXNoYXJlPWlwYwotICAtIC0tc29ja2V0PXgxMQotICAtIC0tc29ja2V0PXdheWxh
bmQKLSAgLSAtLWRldmljZT1hbGwKLSAgLSAtLXNoYXJlPW5ldHdvcmsKLSAgLSAtLXNvY2tldD1w
dWxzZWF1ZGlvCi0gIC0gLS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5mcmVlZGVza3RvcC5HZW9DbHVl
MgotICAtIC0tc3lzdGVtLXRhbGstbmFtZT1vcmcuYTExeS5CdXMKLSAgLSAtLWZpbGVzeXN0ZW09
aG9zdAotICAtIC0tc29ja2V0PXN5c3RlbS1idXMKLSAgLSAtLXRhbGstbmFtZT1vcmcuZnJlZWRl
c2t0b3AuRmxhdHBhawotICAtIC0tZW52PUdTVF9QUkVTRVRfUEFUSD0vYXBwL3NoYXJlL2dzdHJl
YW1lci0xLjAvcHJlc2V0cy8KLWJ1aWxkLW9wdGlvbnM6Ci0gIGNmbGFnczogLU8yIC1nCi0gIGN4
eGZsYWdzOiAtTzIgLWcKLSAgc3RyaXA6IGZhbHNlCi0gIG5vLWRlYnVnaW5mbzogdHJ1ZQotbW9k
dWxlczoKLSAgLSBvcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbAotICAtIG9yZy53ZWJraXQu
V1BFTW9kdWxlcy55YW1sCi0KLSAgIyBUaGlzIG1vZHVsZSBpcyBub3QgYWN0dWFsbHkgYnVpbHQu
Ci0gIC0gbmFtZTogb3JnLndlYmtpdC5XUEVRVAotICAgIGJ1aWxkc3lzdGVtOiBjbWFrZQotICAg
IHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBkaXIKLSAgICAgIHBhdGg6IC9hcHAvd2Via2l0L1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvcXQKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsv
b3JnLndlYmtpdC5XZWJLaXQueWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XZWJLaXQu
eWFtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjZkNjEyNjYwZDhhMjA0NWRhMzEy
ZmRiMDkxYjc4ZTU4YTgwN2U2OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV2ViS2l0LnlhbWwKKysrIC9kZXYv
bnVsbApAQCAtMSwzMyArMCwwIEBACi1hcHAtaWQ6ICUoUE9SVE5BTUUpcwotcnVudGltZTogb3Jn
Lmdub21lLlBsYXRmb3JtCi1ydW50aW1lLXZlcnNpb246ICIzLjMyIgotIyBDb250cm9sIHRoZSBl
eGFjdCB2ZXJzaW9uIG9mIHRoZSBTZGsvUnVudGltZSB0aGF0IGlzIGJlaW5nIHVzZWQuCi1zZGst
aGFzaDogYjNiOWIxZDFiMTllYTJiYjcyMDE5NDI4Y2E3NWM3YTc4NDU1ZTk4NmEwZjkxZGRkZjZh
MjljOTI5OTBjYzVhNwotcnVudGltZS1oYXNoOiA3YzlkNTU5MmQ4MDVkMGI3YzIxMjE5MGZkODEx
OGU0Yzc4Y2I4ZWQ4ZjgxZTY4Nzg1ODk3MjY3MGRhY2NmZjc2Ci1zZGs6IG9yZy5nbm9tZS5TZGsK
LWNvbW1hbmQ6ICUoQ09NTUFORClzCi1maW5pc2gtYXJnczoKLSAgIyBCYXNpY2FsbHkgbm8gc2Fu
ZGJveGluZywgdGhlIGdvYWwgaGVyZSBpcyB0byBtYWtlIGl0IGZsZXhpYmxlCi0gICMgZm9yIGRl
dmVsb3BlcnMsIG5vdCByZWFsbHkgdG8gaXNvbGF0ZSAob3Blbm5pbmcgYWxsIGRldmljZXMKLSAg
IyB0byBhbGxvdyBhY2NlcyB2aWRlbyBjYW1lcmFzIHVudGlsIHdlIGhhdmUgYSBwb3J0YWwgYXQg
bGVhc3QpLgotICAtIC0tc2hhcmU9aXBjCi0gIC0gLS1zb2NrZXQ9eDExCi0gIC0gLS1zb2NrZXQ9
d2F5bGFuZAotICAtIC0tZGV2aWNlPWFsbAotICAtIC0tc2hhcmU9bmV0d29yawotICAtIC0tc29j
a2V0PXB1bHNlYXVkaW8KLSAgLSAtLXN5c3RlbS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkdl
b0NsdWUyCi0gIC0gLS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cwotICAtIC0tZmlsZXN5
c3RlbT1ob3N0Ci0gIC0gLS1zb2NrZXQ9c3lzdGVtLWJ1cwotICAtIC0tdGFsay1uYW1lPW9yZy5m
cmVlZGVza3RvcC5GbGF0cGFrCi0gIC0gLS1lbnY9R1NUX1BSRVNFVF9QQVRIPS9hcHAvc2hhcmUv
Z3N0cmVhbWVyLTEuMC9wcmVzZXRzLwotYnVpbGQtb3B0aW9uczoKLSAgY2ZsYWdzOiAtTzIgLWcK
LSAgY3h4ZmxhZ3M6IC1PMiAtZwotICBzdHJpcDogZmFsc2UKLSAgbm8tZGVidWdpbmZvOiB0cnVl
Ci1tb2R1bGVzOgotICAtIG9yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sCi0gICMgUG9ydCBz
cGVjaWZpYyBjb21wb25lbnRzLgotICAtICUoUE9SVE5BTUUpcy55YW1sCmRpZmYgLS1naXQgYS9U
b29scy9mbGF0cGFrL3BhdGNoZXMvaHR0cGQtMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWct
Zm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoIGIvVG9vbHMvZmxhdHBhay9wYXRjaGVzL2h0dHBkLTAw
MDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1QQ1JFLWRldGVjdGlvbi5wYXRjaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDM2YTY5NGYyOTIzZDM1MWRiNmYzZjEzMzI3NjAy
ODNkYTc4ZjlkZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Ub29scy9mbGF0cGFrL3BhdGNoZXMvaHR0cGQtMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25m
aWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBA
QAotRnJvbSBiNWViZTQwNGYxMzg4ZGRkYTM2MDNlNTMyNzdmODdlMGI5NmJhNjk1IE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAaWdhbGlh
LmNvbT4KLURhdGU6IE1vbiwgMTEgSnVuIDIwMTggMTY6MTQ6MzggLTA0MDAKLVN1YmplY3Q6IFtQ
QVRDSF0gY29uZmlndXJlOiB1c2UgcGtnLWNvbmZpZyBmb3IgUENSRSBkZXRlY3Rpb24KLQotLS0t
Ci0gY29uZmlndXJlLmluIHwgMjcgKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxl
IGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQg
YS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KLWluZGV4IDc2MWU4MzYuLmIxNTVkNGIgMTAw
NjQ0Ci0tLS0gYS9jb25maWd1cmUuaW4KLSsrKyBiL2NvbmZpZ3VyZS5pbgotQEAgLTIxNSwyOCAr
MjE1LDExIEBAIGZpCi0gQUNfQVJHX1dJVEgocGNyZSwKLSBBUEFDSEVfSEVMUF9TVFJJTkcoLS13
aXRoLXBjcmU9UEFUSCxVc2UgZXh0ZXJuYWwgUENSRSBsaWJyYXJ5KSkKLSAKLS1BQ19QQVRIX1BS
T0coUENSRV9DT05GSUcsIHBjcmUtY29uZmlnLCBmYWxzZSkKLS1pZiB0ZXN0IC1kICIkd2l0aF9w
Y3JlIiAmJiB0ZXN0IC14ICIkd2l0aF9wY3JlL2Jpbi9wY3JlLWNvbmZpZyI7IHRoZW4KLS0gICBQ
Q1JFX0NPTkZJRz0kd2l0aF9wY3JlL2Jpbi9wY3JlLWNvbmZpZwotLWVsaWYgdGVzdCAteCAiJHdp
dGhfcGNyZSI7IHRoZW4KLS0gICBQQ1JFX0NPTkZJRz0kd2l0aF9wY3JlCi0tZmkKLS0KLS1pZiB0
ZXN0ICIkUENSRV9DT05GSUciICE9ICJmYWxzZSI7IHRoZW4KLS0gIGlmICRQQ1JFX0NPTkZJRyAt
LXZlcnNpb24gPi9kZXYvbnVsbCAyPiYxOyB0aGVuIDo7IGVsc2UKLS0gICAgQUNfTVNHX0VSUk9S
KFtEaWQgbm90IGZpbmQgcGNyZS1jb25maWcgc2NyaXB0IGF0ICRQQ1JFX0NPTkZJR10pCi0tICBm
aQotLSAgY2FzZSBgJFBDUkVfQ09ORklHIC0tdmVyc2lvbmAgaW4KLS0gIFtbMS01XS4qXSkKLS0g
ICAgQUNfTVNHX0VSUk9SKFtOZWVkIGF0IGxlYXN0IHBjcmUgdmVyc2lvbiA2LjBdKQotLSAgICA7
OwotLSAgZXNhYwotLSAgQUNfTVNHX05PVElDRShbVXNpbmcgZXh0ZXJuYWwgUENSRSBsaWJyYXJ5
IGZyb20gJFBDUkVfQ09ORklHXSkKLS0gIEFQUl9BRERUTyhQQ1JFX0lOQ0xVREVTLCBbYCRQQ1JF
X0NPTkZJRyAtLWNmbGFnc2BdKQotLSAgQVBSX0FERFRPKFBDUkVfTElCUywgW2AkUENSRV9DT05G
SUcgLS1saWJzYF0pCi0tZWxzZQotLSAgQUNfTVNHX0VSUk9SKFtwY3JlLWNvbmZpZyBmb3IgbGli
cGNyZSBub3QgZm91bmQuIFBDUkUgaXMgcmVxdWlyZWQgYW5kIGF2YWlsYWJsZSBmcm9tIGh0dHA6
Ly9wY3JlLm9yZy9dKQotLWZpCi0rUEtHX0NIRUNLX01PRFVMRVMoW1BDUkVdLCBbbGlicGNyZV0s
IFsKLSsgIEFDX0RFRklORShbSEFWRV9QQ1JFXSwgWzFdLCBbRGVmaW5lIGlmIHlvdSBoYXZlIFBD
UkUgbGlicmFyeV0pCi0rXSwgWwotKyAgQUNfTVNHX0VSUk9SKFskUENSRV9QS0dfRVJST1JTXSkK
LStdKQotIEFQQUNIRV9TVUJTVChQQ1JFX0xJQlMpCi0gCi0gQUNfTVNHX05PVElDRShbXSkKLS0t
IAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy9saWJnY3J5cHQt
MDAwMS1Vc2UtcGtnLWNvbmZpZy10by1kZXRlY3QtZ3BnLWVycm9yLnBhdGNoIGIvVG9vbHMvZmxh
dHBhay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWRldGVjdC1ncGct
ZXJyb3IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM1NzcyN2ZiYjhiMDhi
OTE5NWE1YzA5N2Q2YzYxYjkwOGM2OTE3OWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVz
ZS1wa2ctY29uZmlnLXRvLWRldGVjdC1ncGctZXJyb3IucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAt
MSwxMTAgKzAsMCBAQAotRnJvbSA5YWZmM2YxYjM0NGZjODY2NmIxNGM1NzYyOTE2MmMyYjkwMDdj
YWQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGhpYmF1bHQgU2F1bmllciA8dHNh
dW5pZXJAaWdhbGlhLmNvbT4KLURhdGU6IEZyaSwgMjkgSnVuIDIwMTggMDk6MDU6NTIgLTA0MDAK
LVN1YmplY3Q6IFtQQVRDSF0gVXNlIHBrZy1jb25maWcgdG8gZGV0ZWN0IGdwZy1lcnJvcgotCi0t
LS0KLSBtNC9ncGctZXJyb3IubTQgfCA4OCArKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDc2
IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbTQvZ3BnLWVycm9yLm00IGIvbTQvZ3BnLWVy
cm9yLm00Ci1pbmRleCAxNjYxMjA0Yy4uNWY5ZjMzYzIgMTAwNjQ0Ci0tLS0gYS9tNC9ncGctZXJy
b3IubTQKLSsrKyBiL200L2dwZy1lcnJvci5tNAotQEAgLTQxLDgxICs0MSwxNyBAQCBBQ19ERUZV
TihbQU1fUEFUSF9HUEdfRVJST1JdLAotICAgQUNfQVJHX1dJVEgoZ3BnLWVycm9yLXByZWZpeCws
Ci0gICAgICAgICAgICAgICBbZ3BnX2Vycm9yX2NvbmZpZ19wcmVmaXg9IiR3aXRodmFsIl0pCi0g
Ci0tICBpZiB0ZXN0IHgiJHtHUEdfRVJST1JfQ09ORklHfSIgPSB4IDsgdGhlbgotLSAgICAgaWYg
dGVzdCB4IiR7Z3BnX2Vycm9yX2NvbmZpZ19wcmVmaXh9IiAhPSB4IDsgdGhlbgotLSAgICAgICAg
R1BHX0VSUk9SX0NPTkZJRz0iJHtncGdfZXJyb3JfY29uZmlnX3ByZWZpeH0vYmluL2dwZy1lcnJv
ci1jb25maWciCi0tICAgICBlbHNlCi0tICAgICAgIGNhc2UgIiR7U1lTUk9PVH0iIGluCi0tICAg
ICAgICAgLyopCi0tICAgICAgICAgICBpZiB0ZXN0IC14ICIke1NZU1JPT1R9L2Jpbi9ncGctZXJy
b3ItY29uZmlnIiA7IHRoZW4KLS0gICAgICAgICAgICAgR1BHX0VSUk9SX0NPTkZJRz0iJHtTWVNS
T09UfS9iaW4vZ3BnLWVycm9yLWNvbmZpZyIKLS0gICAgICAgICAgIGZpCi0tICAgICAgICAgICA7
OwotLSAgICAgICAgICcnKQotLSAgICAgICAgICAgOzsKLS0gICAgICAgICAgKikKLS0gICAgICAg
ICAgIEFDX01TR19XQVJOKFtJZ25vcmluZyBcJFNZU1JPT1QgYXMgaXQgaXMgbm90IGFuIGFic29s
dXRlIHBhdGguXSkKLS0gICAgICAgICAgIDs7Ci0tICAgICAgIGVzYWMKLS0gICAgIGZpCi0tICBm
aQotKyAgUEtHX0NIRUNLX01PRFVMRVMoW0dQR19FUlJPUl0sIFtncGctZXJyb3JdLCBbCi0rICAg
IEFDX0RFRklORShbSEFWRV9HUEdfRVJST1JdLCBbMV0sIFtEZWZpbmUgaWYgeW91IGhhdmUgZ3Bn
LWVycm9yIGxpYnJhcnldKQotIAotLSAgQUNfUEFUSF9QUk9HKEdQR19FUlJPUl9DT05GSUcsIGdw
Zy1lcnJvci1jb25maWcsIG5vKQotLSAgbWluX2dwZ19lcnJvcl92ZXJzaW9uPWlmZWxzZShbJDFd
LCAsMC4wLCQxKQotLSAgQUNfTVNHX0NIRUNLSU5HKGZvciBHUEcgRXJyb3IgLSB2ZXJzaW9uID49
ICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb24pCi0tICBvaz1ubwotLSAgaWYgdGVzdCAiJEdQR19FUlJP
Ul9DT05GSUciICE9ICJubyIgXAotLSAgICAgJiYgdGVzdCAtZiAiJEdQR19FUlJPUl9DT05GSUci
IDsgdGhlbgotLSAgICByZXFfbWFqb3I9YGVjaG8gJG1pbl9ncGdfZXJyb3JfdmVyc2lvbiB8IFwK
LS0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXCkvXDEvJ2AK
LS0gICAgcmVxX21pbm9yPWBlY2hvICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb24gfCBcCi0tICAgICAg
ICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwuXChbWzAtOV1dKlwpL1wyLydgCi0tICAgIGdw
Z19lcnJvcl9jb25maWdfdmVyc2lvbj1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9jb25m
aWdfYXJncyAtLXZlcnNpb25gCi0tICAgIG1ham9yPWBlY2hvICRncGdfZXJyb3JfY29uZmlnX3Zl
cnNpb24gfCBcCi0tICAgICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwuXChbWzAtOV1d
KlwpLiovXDEvJ2AKLS0gICAgbWlub3I9YGVjaG8gJGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbiB8
IFwKLS0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXCkuKi9c
Mi8nYAotLSAgICBpZiB0ZXN0ICIkbWFqb3IiIC1ndCAiJHJlcV9tYWpvciI7IHRoZW4KLS0gICAg
ICAgIG9rPXllcwotLSAgICBlbHNlCi0tICAgICAgICBpZiB0ZXN0ICIkbWFqb3IiIC1lcSAiJHJl
cV9tYWpvciI7IHRoZW4KLS0gICAgICAgICAgICBpZiB0ZXN0ICIkbWlub3IiIC1nZSAiJHJlcV9t
aW5vciI7IHRoZW4KLS0gICAgICAgICAgICAgICBvaz15ZXMKLS0gICAgICAgICAgICBmaQotLSAg
ICAgICAgZmkKLS0gICAgZmkKLS0gIGZpCi0tICBpZiB0ZXN0ICRvayA9IHllczsgdGhlbgotLSAg
ICBHUEdfRVJST1JfQ0ZMQUdTPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19h
cmdzIC0tY2ZsYWdzYAotLSAgICBHUEdfRVJST1JfTElCUz1gJEdQR19FUlJPUl9DT05GSUcgJGdw
Z19lcnJvcl9jb25maWdfYXJncyAtLWxpYnNgCi0tICAgIEdQR19FUlJPUl9NVF9DRkxBR1M9YCRH
UEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1tdCAtLWNmbGFncyAyPi9k
ZXYvbnVsbGAKLS0gICAgR1BHX0VSUk9SX01UX0xJQlM9YCRHUEdfRVJST1JfQ09ORklHICRncGdf
ZXJyb3JfY29uZmlnX2FyZ3MgLS1tdCAtLWxpYnMgMj4vZGV2L251bGxgCi0tICAgIEFDX01TR19S
RVNVTFQoW3llcyAoJGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbildKQotLSAgICBpZmVsc2UoWyQy
XSwgLCA6LCBbJDJdKQotLSAgICBncGdfZXJyb3JfY29uZmlnX2hvc3Q9YCRHUEdfRVJST1JfQ09O
RklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1ob3N0IDI+L2Rldi9udWxsIHx8IGVjaG8gbm9u
ZWAKLS0gICAgaWYgdGVzdCB4IiRncGdfZXJyb3JfY29uZmlnX2hvc3QiICE9IHhub25lIDsgdGhl
bgotLSAgICAgIGlmIHRlc3QgeCIkZ3BnX2Vycm9yX2NvbmZpZ19ob3N0IiAhPSB4IiRob3N0IiA7
IHRoZW4KLS0gIEFDX01TR19XQVJOKFtbCi0tKioqCi0tKioqIFRoZSBjb25maWcgc2NyaXB0ICRH
UEdfRVJST1JfQ09ORklHIHdhcwotLSoqKiBidWlsdCBmb3IgJGdwZ19lcnJvcl9jb25maWdfaG9z
dCBhbmQgdGh1cyBtYXkgbm90IG1hdGNoIHRoZQotLSoqKiB1c2VkIGhvc3QgJGhvc3QuCi0tKioq
IFlvdSBtYXkgd2FudCB0byB1c2UgdGhlIGNvbmZpZ3VyZSBvcHRpb24gLS13aXRoLWdwZy1lcnJv
ci1wcmVmaXgKLS0qKiogdG8gc3BlY2lmeSBhIG1hdGNoaW5nIGNvbmZpZyBzY3JpcHQgb3IgdXNl
IFwkU1lTUk9PVC4KLS0qKipdXSkKLS0gICAgICAgIGdwZ19jb25maWdfc2NyaXB0X3dhcm49IiRn
cGdfY29uZmlnX3NjcmlwdF93YXJuIGxpYmdwZy1lcnJvciIKLS0gICAgICBmaQotLSAgICBmaQot
LSAgZWxzZQotLSAgICBHUEdfRVJST1JfQ0ZMQUdTPSIiCi0tICAgIEdQR19FUlJPUl9MSUJTPSIi
Ci0tICAgIEdQR19FUlJPUl9NVF9DRkxBR1M9IiIKLS0gICAgR1BHX0VSUk9SX01UX0xJQlM9IiIK
LS0gICAgQUNfTVNHX1JFU1VMVChubykKLS0gICAgaWZlbHNlKFskM10sICwgOiwgWyQzXSkKLS0g
IGZpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfQ0ZMQUdTKQotLSAgQUNfU1VCU1QoR1BHX0VSUk9S
X0xJQlMpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfTVRfQ0ZMQUdTKQotLSAgQUNfU1VCU1QoR1BH
X0VSUk9SX01UX0xJQlMpCi0rICAgIEdQR19FUlJPUl9NVF9DRkxBR1M9IiRHUEdfRVJST1JfQ0ZM
QUdTIgotKyAgICBHUEdfRVJST1JfTVRfTElCUz0iLWxwdGhyZWFkICRHUEdfRVJST1JfTElCUyIK
LSsKLSsgICAgQUNfU1VCU1QoR1BHX0VSUk9SX0NGTEFHUykKLSsgICAgQUNfU1VCU1QoR1BHX0VS
Uk9SX0xJQlMpCi0rICAgIEFDX1NVQlNUKEdQR19FUlJPUl9NVF9DRkxBR1MpCi0rICAgIEFDX1NV
QlNUKEdQR19FUlJPUl9NVF9MSUJTKQotKyAgXSwgWwotKyAgICBBQ19NU0dfRVJST1IoWyRHUEdf
RVJST1JfRVJST1JTXSkKLSsgIF0pCi0gXSkKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL1Rv
b2xzL2ZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEtSEFDSy1Bdm9pZC1jb21waWxpbmctYS1rYm0t
ZmlsZS5wYXRjaCBiL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEtSEFDSy1Bdm9pZC1j
b21waWxpbmctYS1rYm0tZmlsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ODk4ODQyYjM4MWQyNTE0MGZiYzA4ZjU0YTk3MjMwYTZkYmU0YTQ1MC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL3BhdGNoZXMveHZm
Yi0wMDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEta2JtLWZpbGUucGF0Y2gKKysrIC9kZXYvbnVs
bApAQCAtMSw1MCArMCwwIEBACi1Gcm9tIGFlZDFiNmU4ZGU0MTM3NWMxYjhiMWRmYzQ4YTM1MGUw
YTliOWNiYmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUaGliYXVsdCBTYXVuaWVy
IDx0c2F1bmllckBpZ2FsaWEuY29tPgotRGF0ZTogTW9uLCAxMSBKdW4gMjAxOCAxMDo1NTo0MyAt
MDQwMAotU3ViamVjdDogW1BBVENIIHhzZXJ2ZXJdIEhBQ0s6IEF2b2lkIGNvbXBpbGluZyBhIGti
bSBmaWxlCi0KLVRoaXMgd291bGQgbmVlZCB0byBiZSBpbiAvdXNyL3NoYXJlL1gxMS8gYXMgdGhp
cyBpcyB3aGVyZQotcmVzb3VyY2UgZmlsZXMgYXJlIGluIHRoZSBzYW5kYm94IGJ1dCBpdCBpcyBy
ZWFkIG9ubHkgaW4gdGhlcmUuCi0KLUhhY2sgYXJvdW5kIHRoYXQuCi0tLS0KLSB4a2IvZGR4TG9h
ZC5jIHwgOSArLS0tLS0tLS0KLSB4a2IveGtiSW5pdC5jIHwgMiArLQotIDIgZmlsZXMgY2hhbmdl
ZCwgMiBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEveGtiL2Rk
eExvYWQuYyBiL3hrYi9kZHhMb2FkLmMKLWluZGV4IGJiZTM5NTIuLmE0YTAzYTEgMTAwNjQ0Ci0t
LS0gYS94a2IvZGR4TG9hZC5jCi0rKysgYi94a2IvZGR4TG9hZC5jCi1AQCAtMTQ4LDE0ICsxNDgs
NyBAQCBSdW5Ya2JDb21wKHhrYmNvbXBfYnVmZmVyX2NhbGxiYWNrIGNhbGxiYWNrLCB2b2lkICp1
c2VyZGF0YSkKLSAgICAgICAgIH0KLSAgICAgfQotIAotLSAgICBpZiAoYXNwcmludGYoJmJ1ZiwK
LS0gICAgICAgICAgICAgICAgICJcIiVzJXN4a2Jjb21wXCIgLXcgJWQgJXMgLXhrbSBcIiVzXCIg
IgotLSAgICAgICAgICAgICAgICAgIi1lbTEgJXMgLWVtcCAlcyAtZW1sICVzIFwiJXMlcy54a21c
IiIsCi0tICAgICAgICAgICAgICAgICB4a2JiaW5kaXIsIHhrYmJpbmRpcnNlcCwKLS0gICAgICAg
ICAgICAgICAgICgoeGtiRGVidWdGbGFncyA8IDIpID8gMSA6Ci0tICAgICAgICAgICAgICAgICAg
KCh4a2JEZWJ1Z0ZsYWdzID4gMTApID8gMTAgOiAoaW50KSB4a2JEZWJ1Z0ZsYWdzKSksCi0tICAg
ICAgICAgICAgICAgICB4a2JiYXNlZGlyZmxhZyA/IHhrYmJhc2VkaXJmbGFnIDogIiIsIHhrbWZp
bGUsCi0tICAgICAgICAgICAgICAgICBQUkVfRVJST1JfTVNHLCBFUlJPUl9QUkVGSVgsIFBPU1Rf
RVJST1JfTVNHMSwKLSsgICAgaWYgKGFzcHJpbnRmKCZidWYsICJjcCAvYXBwL3dlYmtpdC9Ub29s
cy9mbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttIFwiJXMlcy54a21cIiIsCi0gICAgICAgICAgICAg
ICAgICB4a21fb3V0cHV0X2Rpciwga2V5bWFwKSA9PSAtMSkKLSAgICAgICAgIGJ1ZiA9IE5VTEw7
Ci0gCi1kaWZmIC0tZ2l0IGEveGtiL3hrYkluaXQuYyBiL3hrYi94a2JJbml0LmMKLWluZGV4IDlj
NzcyZjUuLjRlMGI3NzQgMTAwNjQ0Ci0tLS0gYS94a2IveGtiSW5pdC5jCi0rKysgYi94a2IveGti
SW5pdC5jCi1AQCAtODcsNyArODcsNyBAQCB0eXBlZGVmIHN0cnVjdCBfU3J2WGttSW5mbyB7Ci0g
I2RlZmluZQlYS0JfREZMVF9SVUxFU19QUk9QCVRSVUUKLSAjZW5kaWYKLSAKLS1jb25zdCBjaGFy
ICpYa2JCYXNlRGlyZWN0b3J5ID0gWEtCX0JBU0VfRElSRUNUT1JZOwotK2NvbnN0IGNoYXIgKlhr
YkJhc2VEaXJlY3RvcnkgPSAiL3Vzci9zaGFyZS9YMTEveGtiLyI7Ci0gY29uc3QgY2hhciAqWGti
QmluRGlyZWN0b3J5ID0gWEtCX0JJTl9ESVJFQ1RPUlk7Ci0gc3RhdGljIGludCBYa2JXYW50QWNj
ZXNzWCA9IDA7Ci0gCi0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9Ub29scy9ndGsvaW5zdGFs
bC1kZXBlbmRlbmNpZXMgYi9Ub29scy9ndGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMKaW5kZXggYzZk
YzUwY2EwZTVmZTdiMzA3ZmU1Njg4OTc2YzNiMzI4MWE0YzI2MS4uY2E1Yzc3MjAyNDViZGFlZDMz
MmRjZjAxZGNjYjNkMjhkMGRiMGFhYSAxMDA3NTUKLS0tIGEvVG9vbHMvZ3RrL2luc3RhbGwtZGVw
ZW5kZW5jaWVzCisrKyBiL1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVuZGVuY2llcwpAQCAtMTc2LDYg
KzE3NiwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aEFwdCB7CiAgICAgICAg
IHdlc3RvbiBcCiAgICAgICAgIHh2ZmIiCiAKKyAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMg
bmVjZXNzYXJ5IGZvciBidWlsZGluZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAgICBwYWNrYWdl
cz0iJHBhY2thZ2VzIFwKKyAgICAgICAgZmxhdHBhayIKKwogICAgICMgVGhlc2UgYXJlIGRlcGVu
ZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAgIHBhY2thZ2Vz
PSIkcGFja2FnZXMgXAogICAgICAgICBiaXNvbiBcCkBAIC0zNDQsNiArMzQ4LDEwIEBAIGZ1bmN0
aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoUGFjbWFuIHsKICAgICAgICAgd2VzdG9uIFwKICAg
ICAgICAgeG9yZy1zZXJ2ZXIteHZmYiIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBu
ZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAgIHBhY2thZ2Vz
PSIkcGFja2FnZXMgXAorICAgICAgICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBhcmUgZGVwZW5k
ZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAgIyBOb3RlOiBD
b3VsZCBub3QgZmluZCBsaWJlZ2wtbWVzYQogICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXApAQCAt
NTE2LDYgKzUyNCwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aERuZiB7CiAg
ICAgICAgIHdlc3Rvbi1kZXZlbCBcCiAgICAgICAgIHhvcmcteDExLXNlcnZlci1YdmZiIgogCisg
ICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgd2l0aCB0
aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCisgICAgICAgIGZsYXRw
YWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGlu
ZyB0aGUgamhidWlsZC4KICAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKICAgICAgICAgYmlzb24g
XApkaWZmIC0tZ2l0IGEvVG9vbHMvd3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzIGIvVG9vbHMvd3Bl
L2luc3RhbGwtZGVwZW5kZW5jaWVzCmluZGV4IDI3ZDljODFhY2ZhYTRhYzIyODRjZThlNzc2N2Zh
NTkyOTdjOGY0ZTguLmI4M2I2ZDY0MjA4YjZjMzdlMGY3OTlkZDhiNzdjNjUxYjI2YjAwMjUgMTAw
NzU1Ci0tLSBhL1Rvb2xzL3dwZS9pbnN0YWxsLWRlcGVuZGVuY2llcworKysgYi9Ub29scy93cGUv
aW5zdGFsbC1kZXBlbmRlbmNpZXMKQEAgLTExMCw2ICsxMTAsMTAgQEAgZnVuY3Rpb24gaW5zdGFs
bERlcGVuZGVuY2llc1dpdGhBcHQgewogICAgICAgICBydWJ5LWhpZ2hsaW5lIFwKICAgICAgICAg
cnVieS1qc29uIgogCisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3Ig
YnVpbGRpbmcgd2l0aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBc
CisgICAgICAgIGZsYXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNz
YXJ5IGZvciBidWlsZGluZyB0aGUgamhidWlsZC4KICAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwK
ICAgICAgICAgZ2l0IFwKQEAgLTIxMiw2ICsyMTYsMTAgQEAgZnVuY3Rpb24gaW5zdGFsbERlcGVu
ZGVuY2llc1dpdGhQYWNtYW4gewogICAgICAgICBweXRob24yLXBzdXRpbCBcCiAgICAgICAgIHJ1
YnkiCiAKKyAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGlu
ZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAgICAg
ICAgZmxhdHBhayIKKwogICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9y
IGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAogICAgICAg
ICBleHBhdCBcCkBAIC0zMjMsNiArMzMxLDEwIEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNp
ZXNXaXRoRG5mIHsKICAgICAgICAgcnVieWdlbS1oaWdobGluZSBcCiAgICAgICAgIHJ1YnlnZW0t
anNvbiIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxk
aW5nIHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAorICAg
ICAgICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBm
b3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCiAgICAg
ICAgIGV4cGF0LWRldmVsIFwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyZmNiNmEyODdmYWYzYzMzODdmZmU1ZWNkZGZhZTMy
MjE1ZGNjYzM5Li44NWJiMWQwNmYxZDc4ZmU3NGU4Y2I4NGZjODQ1NGU1NzU3MjMyNDA2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDEtMDQgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFu
ZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0gTWlncmF0ZSB0byBGbGF0cGFrLWJh
c2VkIGRldiBTREsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwNTY1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaHR0cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZjogQWRqdXN0IHBhdGhzLgorCiAyMDIw
LTAxLTEzICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZD
XVtJbnRlZ3JhdGlvbl0gRW5zdXJlIHRoYXQgc2ltcGxlIGxpbmUgbGF5b3V0IHRlc3RzIHN0YXlz
IGRvbid0IHR1cm4gaW50byBMRkMgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
Y29uZi9mbGF0cGFrLWh0dHBkLmNvbmYgYi9MYXlvdXRUZXN0cy9odHRwL2NvbmYvZmxhdHBhay1o
dHRwZC5jb25mCmluZGV4IDNjMDNlNDIzOWMyNDk4OWQ5Y2Q3OTY4NjE0NGJjN2NlMmIzMGMzMWIu
LmJmNTIxNWQ1ODlhZDYxZjg4MmQ1M2EwNjc1YWQ2N2E0NDZhYjk0M2YgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvY29uZi9mbGF0cGFrLWh0dHBkLmNvbmYKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZgpAQCAtMSw1ICsxLDUgQEAKIFNlcnZlclRva2Vu
cyBPUwotU2VydmVyUm9vdCAiL2FwcC8iCitTZXJ2ZXJSb290ICIvdXNyLyIKIAogUGlkRmlsZSAi
L3RtcC9XZWJLaXQvaHR0cGQucGlkIgogU2NvcmVCb2FyZEZpbGUgIi90bXAvV2ViS2l0L2h0dHBk
LnNjb3JlYm9hcmQiCkBAIC0zMyw5ICszMyw3IEBAIExvYWRNb2R1bGUgbG9nX2NvbmZpZ19tb2R1
bGUgICAgbW9kdWxlcy9tb2RfbG9nX2NvbmZpZy5zbwogTG9hZE1vZHVsZSBzc2xfbW9kdWxlICAg
ICAgICAgICBtb2R1bGVzL21vZF9zc2wuc28KIExvYWRNb2R1bGUgcGhwN19tb2R1bGUgICAgICAg
ICAgbW9kdWxlcy9saWJwaHA3LnNvCiBMb2FkTW9kdWxlIGFzaXNfbW9kdWxlICAgICAgICAgIG1v
ZHVsZXMvbW9kX2FzaXMuc28KLUxvYWRNb2R1bGUgZW52X21vZHVsZSAgICAgICAgICAgbW9kdWxl
cy9tb2RfZW52LnNvCiAKLVNldEVudiBQRVJMNUxJQiAvYXBwL2xpYi9wZXJsCiAKIFNlcnZlck5h
bWUgMTI3LjAuMC4xCiAKQEAgLTU0LDcgKzUyLDcgQEAgQWNjZXNzRmlsZU5hbWUgLmh0YWNjZXNz
CiBVc2VDYW5vbmljYWxOYW1lIE9uCiBIb3N0bmFtZUxvb2t1cHMgT2ZmCiAKLVR5cGVzQ29uZmln
IC9ldGMvbWltZS50eXBlcworVHlwZXNDb25maWcgL3Vzci9jb25mL21pbWUudHlwZXMKIAogTG9n
TGV2ZWwgd2FybgogTG9nRm9ybWF0ICIlaCAlbCAldSAldCBcIiVyXCIgJT5zICViIFwiJXtSZWZl
cmVyfWlcIiBcIiV7VXNlci1BZ2VudH1pXCIiIGNvbWJpbmVkCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387674</attachid>
            <date>2020-01-14 10:24:34 -0800</date>
            <delta_ts>2020-01-15 01:38:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205658-20200114182432.patch</filename>
            <type>text/plain</type>
            <size>123238</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGZmOGM1MmE1ZTM5Y2Nk
Mzg5MDdlYjcxNmRlMTM1YmU0ODBmOGIwZi4uYjkwMmZkNDUyMmQyMjQ5MzQ0ZjQ5OTRmMWU2MzVi
MjFmZGQ5N2JmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAxLTA0ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVd
IE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0
aW9uTGliSHlwaGVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNjYW5UZXN0RGljdGlvbmFyaWVz
RGlyZWN0b3J5SWZOZWNlc3NhcnkpOiBDaGVjayBmb3IgZmxhdHBhay1pbnN0YWxsZWQgZGljdGlv
bmFyaWVzLgorCiAyMDIwLTAxLTE0ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVyXSBVbnJldmlld2VkIGJ1aWxkIHdhcm5pbmcgZml4
IGFmdGVyIHIyNTQ1MDMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
aHlwaGVuL0h5cGhlbmF0aW9uTGliSHlwaGVuLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvaHlwaGVuL0h5cGhlbmF0aW9uTGliSHlwaGVuLmNwcAppbmRleCAxMmJhYTRjNGQzZTll
NjNmN2ZmODFjNWUyYjExOTRiOGJiOGE5YzA1Li5mMzM1OWQ4MDcwMjJmNTQ4OWM2OGY5YWNmODE2
YTY3MDQyYTUzZDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2h5
cGhlbi9IeXBoZW5hdGlvbkxpYkh5cGhlbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9oeXBoZW4vSHlwaGVuYXRpb25MaWJIeXBoZW4uY3BwCkBAIC0xMjEsOCArMTIxLDE1
IEBAIHN0YXRpYyB2b2lkIHNjYW5UZXN0RGljdGlvbmFyaWVzRGlyZWN0b3J5SWZOZWNlc3Nhcnko
SGFzaE1hcDxBdG9tU3RyaW5nLCBWZWN0b3I8CiAgICAgLy8gbGliaHlwaGVuIGRvZXNuJ3QgaGF2
ZSB0aGUgY29uY2VwdCBvZiBpbnN0YWxsZWQgZGljdGlvbmFyaWVzLiBJbnN0ZWFkLAogICAgIC8v
IHdlIGhhdmUgdGhpcyBzcGVjaWFsIGNhc2UgZm9yIFdlYktpdCB0ZXN0cy4KICNpZiBQTEFURk9S
TShHVEspCisgICAgLy8gVHJ5IGFsdGVybmF0aXZlIGRpY3Rpb25hcmllcyBwYXRoIGZvciBwZW9w
bGUgdXNpbmcgRmxhdHBhay4KKyAgICBHVW5pcXVlUHRyPGNoYXI+IGRpY3Rpb25hcmllc1BhdGgo
Z19idWlsZF9maWxlbmFtZSgiL3VzciIsICJzaGFyZSIsICJ3ZWJraXRndGstdGVzdC1kaWN0cyIs
IG51bGxwdHIpKTsKKyAgICBpZiAoZ19nZXRlbnYoIkZMQVRQQUtfSUQiKSAmJiBnX2ZpbGVfdGVz
dChkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9U
RVNUX0lTX0RJUikpKSB7CisgICAgICAgIHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJpZXMoZGlj
dGlvbmFyaWVzUGF0aC5nZXQoKSwgYXZhaWxhYmxlTG9jYWxlcyk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKICAgICBDU3RyaW5nIGJ1aWxkRGlyZWN0b3J5ID0gd2Via2l0QnVpbGREaXJlY3Rv
cnkoKTsKLSAgICBHVW5pcXVlUHRyPGNoYXI+IGRpY3Rpb25hcmllc1BhdGgoZ19idWlsZF9maWxl
bmFtZShidWlsZERpcmVjdG9yeS5kYXRhKCksICJEZXBlbmRlbmNpZXNHVEsiLCAiUm9vdCIsICJ3
ZWJraXRndGstdGVzdC1kaWN0cyIsIG51bGxwdHIpKTsKKyAgICBkaWN0aW9uYXJpZXNQYXRoLnJl
c2V0KGdfYnVpbGRfZmlsZW5hbWUoYnVpbGREaXJlY3RvcnkuZGF0YSgpLCAiRGVwZW5kZW5jaWVz
R1RLIiwgIlJvb3QiLCAid2Via2l0Z3RrLXRlc3QtZGljdHMiLCBudWxscHRyKSk7CiAgICAgaWYg
KGdfZmlsZV90ZXN0KGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVz
dD4oR19GSUxFX1RFU1RfSVNfRElSKSkpIHsKICAgICAgICAgc2NhbkRpcmVjdG9yeUZvckRpY3Rp
b25hcmllcyhkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFpbGFibGVMb2NhbGVzKTsKICAgICAg
ICAgcmV0dXJuOwpAQCAtMTMwLDcgKzEzNyw5IEBAIHN0YXRpYyB2b2lkIHNjYW5UZXN0RGljdGlv
bmFyaWVzRGlyZWN0b3J5SWZOZWNlc3NhcnkoSGFzaE1hcDxBdG9tU3RyaW5nLCBWZWN0b3I8CiAK
ICAgICAvLyBUcnkgYWx0ZXJuYXRpdmUgZGljdGlvbmFyaWVzIHBhdGggZm9yIHBlb3BsZSBub3Qg
dXNpbmcgSkhCdWlsZC4KICAgICBkaWN0aW9uYXJpZXNQYXRoLnJlc2V0KGdfYnVpbGRfZmlsZW5h
bWUoYnVpbGREaXJlY3RvcnkuZGF0YSgpLCAid2Via2l0Z3RrLXRlc3QtZGljdHMiLCBudWxscHRy
KSk7Ci0gICAgc2NhbkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0aW9uYXJpZXNQYXRoLmdl
dCgpLCBhdmFpbGFibGVMb2NhbGVzKTsKKyAgICBpZiAoZ19maWxlX3Rlc3QoZGljdGlvbmFyaWVz
UGF0aC5nZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9JU19ESVIpKSkK
KyAgICAgICAgc2NhbkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0aW9uYXJpZXNQYXRoLmdl
dCgpLCBhdmFpbGFibGVMb2NhbGVzKTsKKwogI2VsaWYgZGVmaW5lZChURVNUX0hZUEhFTkFUQUlP
Tl9QQVRIKQogICAgIHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJpZXMoVEVTVF9IWVBIRU5BVEFJ
T05fUEFUSCwgYXZhaWxhYmxlTG9jYWxlcyk7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGIyNTM1NTcyZTUyMTU5Y2FhMzIzNGQ1M2Ew
MmNlY2EzNWU1MDVlMTUuLjQ2NTFkNDhjNTc1NDdjNmRiYzhjNTY0OTkyMmZlMzZjZTI0OTNkMmQg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTUgQEAKKzIwMjAtMDEtMDQgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0gTWlncmF0ZSB0byBGbGF0cGFrLWJhc2VkIGRl
diBTREsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
NTY1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEpI
QnVpbGQgd2lsbCBub3cgYmUgdXNlZCBvbmx5IGlmIHRoZSBXRUJLSVRfSkhCVUlMRCBlbnZpcm9u
bWVudAorICAgICAgICB2YXJpYWJsZSBpcyBzZXQgdG8gMSwgd2hpY2ggaXMgdGhlIGNhc2UgZm9y
IHRoZSB0aW1lIGJlaW5nIG9uIHRoZQorICAgICAgICBHVEsgYW5kIFdQRSBFV1MvYnVpbGQgYm90
cy4KKworICAgICAgICBCeSBkZWZhdWx0IHRoZSBidWlsZCBkZXBlbmRlbmNpZXMgYXJlIG5vdyBs
b2NhbGx5IGluc3RhbGxlZCBmcm9tIGEKKyAgICAgICAgRmxhdHBhayByZXBvc2l0b3J5IGhvc3Rl
ZCBhdCBodHRwczovL3NvZnR3YXJlLmlnYWxpYS5jb20uIFRoZQorICAgICAgICByZXBvc2l0b3J5
IGNhbiBiZSByZWdlbmVyYXRlZCB3aXRoIHRoZSBzY3JpcHRzIGZyb20gdGhlCisgICAgICAgIHdl
YmtpdC1mbGF0cGFrLXNkayBHaXRodWIgcHJvamVjdAorICAgICAgICAoaHR0cHM6Ly9naXRodWIu
Y29tL0lnYWxpYS93ZWJraXQtZmxhdHBhay1zZGspLiBUaGlzIGlzIGRvbmUKKyAgICAgICAgdHJh
bnNwYXJlbnRseSB3aXRoIHRoZSB1cGRhdGUtd2Via2l0e2d0ayx3cGV9LWxpYnMgc2NyaXB0cy4g
QXMKKyAgICAgICAgdGhlcmUgaXMgbm8gbmVlZCB0byByZWJ1aWxkIHRoZSBkZXBlbmRlbmNpZXMg
ZnJvbSBzY3JhdGNoLCB0aGUKKyAgICAgICAgZGV2ZWxvcGVyIHVzZXItZXhwZXJpZW5jZSBzaG91
bGQgbm93IGJlIG11Y2ggbW9yZSBmcmllbmRseSBhbmQKKyAgICAgICAgb3ZlcmFsbCBidWlsZCB0
aW1lcyByZWR1Y2VkLgorCisgICAgICAgIEFzIGFuIGFkZGl0aW9uYWwgY29tbW9kaXR5LCB0aGUg
bmV3IGVudmlyb25tZW50IHN1cHBvcnRzIHRoZQorICAgICAgICBHU3RyZWFtZXIgZ3N0LWJ1aWxk
LWJhc2VkIHdvcmtmbG93LiBKdXN0IHNldCB0aGUgR1NUX0JVSUxEX1BBVEgKKyAgICAgICAgZW52
aXJvbm1lbnQgdmFyaWFibGUgdG8geW91ciBnc3QtYnVpbGQgcGF0aC4gVGhpcyBmZWF0dXJlIHdh
cworICAgICAgICBjb250cmlidXRlZCBieSBUaGliYXVsdCBTYXVuaWVyLgorCisgICAgICAgIFRo
ZSBKSEJ1aWxkIGluZnJhc3RydWN0dXJlIHdpbGwgYmUgcmVtb3ZlZCBvbmNlIGFsbCB0aGUgYm90
cyBoYXZlCisgICAgICAgIGJlZW4gc3dpdGNoZWQgb3ZlciB0byBGbGF0cGFrLgorCisgICAgICAg
ICogQnVpbGRTbGF2ZVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5OgorICAgICAgICAoSW5zdGFs
bEd0a0RlcGVuZGVuY2llcyk6CisgICAgICAgIChJbnN0YWxsV3BlRGVwZW5kZW5jaWVzKToKKyAg
ICAgICAgKENvbXBpbGVXZWJLaXQuc3RhcnQpOgorICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0
L2d0ay9idWlsZGJvdC9ydW46CisgICAgICAgICogU2NyaXB0cy9idWlsZC13ZWJraXQ6CisgICAg
ICAgICogU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHM6CisgICAgICAgICogU2NyaXB0cy9ydW4t
YnVpbHRpbnMtZ2VuZXJhdG9yLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVuLWd0ay10ZXN0
czoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0czoKKyAgICAgICAg
KiBTY3JpcHRzL3J1bi1taW5pYnJvd3NlcjoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1xdC13cGUt
bWluaWJyb3dzZXI6CisgICAgICAgICogU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzOgorICAg
ICAgICAqIFNjcmlwdHMvcnVuLXdwZS10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3Rlc3Qtd2Vi
a2l0cGVybDoKKyAgICAgICAgKiBTY3JpcHRzL3Rlc3Qtd2Via2l0cHk6CisgICAgICAgICogU2Ny
aXB0cy90ZXN0MjYyLXJ1bm5lcjoKKyAgICAgICAgKiBTY3JpcHRzL3VwZGF0ZS13ZWJraXQtZmxh
dHBhazogUmVuYW1lZCBmcm9tIFRvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFr
LgorICAgICAgICAqIFNjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1saWJzOgorICAgICAgICAqIFNj
cmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1mbGF0cGFrOiBSZW1vdmVkLgorICAgICAgICAqIFNjcmlw
dHMvdXBkYXRlLXdlYmtpdHdwZS1saWJzOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0ZGlycy5w
bToKKyAgICAgICAgKGdldFVzZXJGbGF0cGFrUGF0aCk6CisgICAgICAgIChpbkZsYXRwYWtTYW5k
Ym94KToKKyAgICAgICAgKHJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKToKKyAgICAgICAgKHdyYXBw
ZXJQcmVmaXhJZk5lZWRlZCk6CisgICAgICAgIChzaG91bGRVc2VKaGJ1aWxkKToKKyAgICAgICAg
KHNob3VsZFVzZUZsYXRwYWspOgorICAgICAgICAoc2hvdWxkUmVtb3ZlQ01ha2VDYWNoZSk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZS5weToKKyAg
ICAgICAgKEV4ZWN1dGl2ZS5raWxsX2FsbCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9w
b3J0L2Jhc2UucHk6CisgICAgICAgIChQb3J0Ll9wYXRoX3RvX2FwYWNoZSk6CisgICAgICAgIChQ
b3J0Ll9zaG91bGRfcnVuX2FzX3BpeGVsX3Rlc3QpOgorICAgICAgICAoUG9ydC5faW5fZmxhdHBh
a19zYW5kYm94KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5OgorICAg
ICAgICAoR3RrUG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIpOgorICAgICAgICAoR3RrUG9y
dC5fZ2V0X2NyYXNoX2xvZyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4
X2dldF9jcmFzaF9sb2cucHk6CisgICAgICAgIChHREJDcmFzaExvZ0dlbmVyYXRvcik6CisgICAg
ICAgIChHREJDcmFzaExvZ0dlbmVyYXRvci5fX2luaXRfXyk6CisgICAgICAgIChHREJDcmFzaExv
Z0dlbmVyYXRvci5nZW5lcmF0ZV9jcmFzaF9sb2cpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5OgorICAgICAgICAoR0RCQ3Jh
c2hMb2dHZW5lcmF0b3JUZXN0LnRlc3RfZ2VuZXJhdGVfY3Jhc2hfbG9nKToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvd3BlLnB5OgorICAgICAgICAoV1BFUG9ydC5zZXR1cF9lbnZp
cm9uX2Zvcl9zZXJ2ZXIpOgorICAgICAgICAoV1BFUG9ydC5fZ2V0X2NyYXNoX2xvZyk6CisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXIucHk6CisgICAgICAgIChYdmZi
RHJpdmVyLl9zZXR1cF9lbnZpcm9uX2Zvcl90ZXN0KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcDoKKyAgICAgICAgKFdU
Ujo6Z2V0Rm9udHNQYXRoKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL3dwZS9BY3RpdmF0ZUZvbnRzV1BFLmNwcDoKKyAgICAgICAgKFdUUjo6Z2V0Rm9udHNQYXRo
KToKKyAgICAgICAgKiBmbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttOiBSZW1vdmVkLgorICAgICAg
ICAqIGZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
bGF0cGFrL2ZsYXRwYWt1dGlscy5weToKKyAgICAgICAgKGNoZWNrX2ZsYXRwYWspOgorICAgICAg
ICAoRmxhdHBha1JlcG9zLnVwZGF0ZSk6CisgICAgICAgIChGbGF0cGFrUGFja2FnZS5fX3JlcHJf
Xyk6CisgICAgICAgIChGbGF0cGFrUGFja2FnZS5fX3N0cl9fKToKKyAgICAgICAgKFdlYmtpdEZs
YXRwYWsubG9hZF9mcm9tX2FyZ3MpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5fX2luaXRfXyk6
CisgICAgICAgIChXZWJraXRGbGF0cGFrLmNsZWFuX2FyZ3MpOgorICAgICAgICAoV2Via2l0Rmxh
dHBhay5zZXR1cF9idWlsZGRpcik6CisgICAgICAgIChXZWJraXRGbGF0cGFrKToKKyAgICAgICAg
KFdlYmtpdEZsYXRwYWsuc2V0dXBfZ3N0YnVpbGQpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5y
dW5faW5fc2FuZGJveCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnJ1bik6CisgICAgICAgIChX
ZWJraXRGbGF0cGFrLmhhc19lbnZpcm9ubWVudCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnNh
dmVfY29uZmlnKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuc2V0dXBfZGV2X2Vudik6CisgICAg
ICAgIChXZWJraXRGbGF0cGFrLmluc3RhbGxfYWxsKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsu
cnVuX2dkYik6CisgICAgICAgICogZmxhdHBhay9vcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL29yZy53ZWJraXQuR1RLLnlhbWw6IFJlbW92
ZWQuCisgICAgICAgICogZmxhdHBhay9vcmcud2Via2l0LldQRS55YW1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGZsYXRwYWsvb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWw6IFJlbW92ZWQuCisgICAg
ICAgICogZmxhdHBhay9vcmcud2Via2l0LldQRVFULnlhbWw6IFJlbW92ZWQuCisgICAgICAgICog
ZmxhdHBhay9vcmcud2Via2l0LldlYktpdC55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRw
YWsvcGF0Y2hlcy9odHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1k
ZXRlY3Rpb24ucGF0Y2g6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9wYXRjaGVzL2xpYmdj
cnlwdC0wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWRldGVjdC1ncGctZXJyb3IucGF0Y2g6IFJlbW92
ZWQuCisgICAgICAgICogZmxhdHBhay9wYXRjaGVzL3h2ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBp
bGluZy1hLWtibS1maWxlLnBhdGNoOiBSZW1vdmVkLgorCiAyMDIwLTAxLTEzICBGdWppaSBIaXJv
bm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgc29y
dC1YY29kZS1wcm9qZWN0LWZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0
L2d0ay9SRUFETUUgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvUkVBRE1FCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOWY4OWY5ODIxYWVlYTIwZWRiN2NlZGJjYWJmYjc3ZjM4
MGJkMmMzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rv
b2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9SRUFETUUKKysrIC9kZXYvbnVsbApAQCAtMSw0OCAr
MCwwIEBACi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0g
UnVubmluZyBhIEdUSysgYnVpbGQgc2xhdmUgdW5kZXIgZGFlbW9udG9vbHMKLT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotVGhpcyBkaXJlY3RvcnkgY29u
dGFpbnMgc2V2ZXJhbCBzY3JpcHRzIHdoaWNoIGNhbiBiZSB1c2VkIHRvIHJ1biBhIFdlYktpdEdU
SwotYnVpbGQgc2xhdmUgdW5kZXIgZGFlbW9udG9vbHMgWzFdLiBUaGlzIGlzIGNvbnZlbmllbnQg
YmVjYXVzZSBkYWVtb250b29scwotd2lsbCBhdXRvbWF0aWNhbGx5IHJlc3RhcnQgc2VydmljZXMg
d2hlbiB0aGV5IGRpZSwgYW5kIHRoYXQgbWVhbnMgbGVzcyBodW1hbgotaW50ZXJ2ZW50aW9uIGlz
IG5lZWRlZC4KLQotCi1EZXBlbmRlbmNpZXMKLT09PT09PT09PT09PQotCi1JbiBvcmRlciB0byB1
c2UgdGhlIHByb3ZpZGVkIHNlcnZpY2UgY29udHJvbCBmaWxlcywgeW91IHdpbGwgbmVlZCB0aGUK
LWZvbGxvd2luZzoKLQotKiBUaGUgR05VIEJhc2ggc2hlbGwgKHRoZSBzY3JpcHRzIGNvbnRhaW4g
c29tZSBiYXNoLWlzbXMpCi0KLSogVGhlIGRhZW1vbnRvb2xzIHBhY2thZ2UgKG9yIG9uZSBvZiBp
dHMgZHJvcC1pbiByZXBsYWNlbWVudHMsIGxpa2UgcnVuaXQKLSAgb3IgZnJlZWR0OyBidXQgb25s
eSBkYWVtb250b29scyBoYXMgYmVlbiB0ZXN0ZWQgc28gZmFyKS4KLQotSW4gc2hvcnQsIGluIGEg
RGViaWFuLWJhc2VkIHN5c3RlbSB5b3UgY2FuIGVuc3VyZSB5b3UgaGF2ZSB0aGUgbmVlZGVkIGJp
dHMKLXdpdGggdGhlIGZvbGxvd2luZyBjb21tYW5kOgotCi0gIGFwdC1nZXQgaW5zdGFsbCBkYWVt
b250b29scy1ydW4KLQotCi1TZXR1cAotPT09PT0KLQotMS4gRm9sbG93IHRoZSBpbnN0cnVjdGlv
bnMgYXQgaHR0cDovL3RyYWMud2Via2l0Lm9yZy93aWtpL0J1aWxkQm90Ci0KLTIuIEluc3RhbGwg
dGhlIGRlcGVuZGVuY2llcyBvdXRsaW5lZCBhYm92ZS4KLQotMy4gQ29weSAiZGFlbW9udG9vbHMt
YnVpbGRib3QuY29uZiIgdG8gIi9ldGMvZGFlbW9udG9vbHMtYnVpbGRib3QuY29uZiIKLQotNC4g
RWRpdCB0aGUgY29uZmlndXJhdGlvbiBmaWxlIHRvIHN1aXQgeW91ciBuZWVkcywgdGhlIGNvbW1l
bnRzIHNob3VsZAotICAgYmUgc2VsZi1leHBsYW5hdG9yeS4KLQotNS4gRHJvcCB0aGUgImJ1aWxk
Ym90IiBhbmQgInB1bHNlYXVkaW8iIGRpcmVjdG9yaWVzIHRvIHRoZSBzZXJ2aWNlIGNvbnRyb2wg
ZGlyZWN0b3J5IG9mCi0gICBkYWVtb250b29sczsgZm9yIERlYmlhbi1iYXNlZCBzZXR1cHMgdGhh
dCB3b3VsZCBiZSAiL2V0Yy9zZXJ2aWNlIgotCi0KLVJlZmVyZW5jZXMKLT09PT09PT09PT0KLQot
WzFdIGh0dHA6Ly9jci55cC50by9kYWVtb250b29scy5odG1sCi0KZGlmZiAtLWdpdCBhL1Rvb2xz
L0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWlsZGJvdC9sb2cvcnVuIGIvVG9vbHMvQnVpbGRTbGF2
ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L2xvZy9ydW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1Cmlu
ZGV4IGY2Yzc0NGM2ZGRhNDVjYmUyYjVkMGZhOGM0ZjI1YmFiNTFmNmE0ZGQuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBv
cnQvZ3RrL2J1aWxkYm90L2xvZy9ydW4KKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi0j
ISAvdXNyL2Jpbi9lbnYgYmFzaAotIwotIyBDb3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlhIFMuTC4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSMgdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgot
IwotIyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0jCi0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSMgYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KLSMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0K
LTogJHtCVUlMREJPVF9DT05GSUc6PS9ldGMvZGFlbW9udG9vbHMtYnVpbGRib3QuY29uZn0KLQot
IyBSZWFkIGNvbmZpZ3VyYXRpb24gZmlsZQotWyAtciAiJHtCVUlMREJPVF9DT05GSUd9IiBdICYm
IC4gIiR7QlVJTERCT1RfQ09ORklHfSIKLQotOiAke2J1aWxkYm90X3VzZXI6PSR7SE9NRX19Ci06
ICR7YnVpbGRib3RfbG9nX3BhdGg6PS92YXIvbG9nL2J1aWxkYm90fQotCi0jIEV4cGFuZCBhbGwg
ImVudl8qIiBlbnZpcm9ubWVudCB2YXJpYWJsZXMKLWZvciB2YXJuYW1lIGluICR7IWVudl8qfSA7
IGRvCi0JZXZhbCAiZXhwb3J0ICR7dmFybmFtZSNlbnZffT1cJHske3Zhcm5hbWV9fSIKLWRvbmUK
LQotbWtkaXIgLXAgIiR7YnVpbGRib3RfbG9nX3BhdGh9IgotY2hvd24gIiR7YnVpbGRib3RfdXNl
cn0iICIke2J1aWxkYm90X2xvZ19wYXRofSIKLQotZXhlYyAvdXNyL2Jpbi9zZXR1aWRnaWQgIiR7
YnVpbGRib3RfdXNlcn0iIFwKLSAgICAgL3Vzci9iaW4vbXVsdGlsb2cgdCAiJHtidWlsZGJvdF9s
b2dfcGF0aH0iCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWls
ZGJvdC9ydW4gYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvcnVuCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAxNjZjMzgzZWE4ZTZjMTBmY2MwNWVmMDdlZDRmNDg4
OWJiYmI5ZWFhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWlsZGJvdC9ydW4KKysrIC9kZXYvbnVsbApA
QCAtMSw3NyArMCwwIEBACi0jISAvdXNyL2Jpbi9lbnYgYmFzaAotIwotIyBDb3B5cmlnaHQgKEMp
IDIwMTAgSWdhbGlhIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotIyBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwot
IyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKLSMgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0jCi0jIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UKLSMgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCi0KLWV4ZWMgMj4mMQotCi06ICR7QlVJTERCT1RfQ09ORklHOj0vZXRj
L2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNvbmZ9Ci0KLSMgUmVhZCBjb25maWd1cmF0aW9uIGZpbGUK
LVsgLXIgIiR7QlVJTERCT1RfQ09ORklHfSIgXSAmJiAuICIke0JVSUxEQk9UX0NPTkZJR30iCi0K
LSMgRXhwYW5kIGFsbCAiZW52XyoiIGVudmlyb25tZW50IHZhcmlhYmxlcwotZm9yIHZhcm5hbWUg
aW4gJHshZW52Xyp9IDsgZG8KLQlldmFsICJleHBvcnQgJHt2YXJuYW1lI2Vudl99PVwkeyR7dmFy
bmFtZX19IgotZG9uZQotCi0KLWlmICEgWyAiJHtidWlsZGJvdF9wYXRofSIgXSA7IHRoZW4KLQll
Y2hvICJObyBcJHtidWlsZGJvdF9wYXRofSBkZWZpbmVkISAod2lsbCBzbGVlcCBmb3IgNSBtaW51
dGVzKSIKLQlzbGVlcCAzMDAKLQlleGl0IDExMQotZmkKLQotCi1pZiAhIFsgIiR7V0VCS0lUX1RF
U1RGT05UU30iIF0gOyB0aGVuCi0JZWNobyAiTm8gXCR7V0VCS0lUX1RFU1RGT05UU30gZW52aXJv
bm1lbnQgdmFyaWFibGUhICh3aWxsIHNsZWVwIGZvciA1IG1pbnV0ZXMpIgotCXNsZWVwIDMwMAot
CWV4aXQgMTExCi1maQotCi0KLWlmIFsgIiR7Y29yZWR1bXBfb3V0cHV0Oj0nJ30iIF0gOyB0aGVu
Ci0JIyBFbnN1cmUgdGhhdCB0aGUgb3V0cHV0IGRpcmVjdG9yeSBleGlzdHMuCi0JaWYgW1sgISAt
ZCAke2NyYXNobW9uX291dHB1dH0gXV0gOyB0aGVuCi0JCW1rZGlyIC1wICIke2NyYXNobW9uX291
dHB1dH0iCi0JZmkKLQotCXVsaW1pdCAtYyAiJHtjcmFzaG1vbl9tYXhfc2l6ZTo9dW5saW1pdGVk
fSIKLWZpCi0KLQotaWYgWyAiJHtjY2FjaGVfcGF0aH0iIF0gOyB0aGVuCi0JZXhwb3J0IFBBVEg9
IiR7Y2NhY2hlX3BhdGh9OiR7UEFUSH0iCi1maQotCi06ICR7YnVpbGRib3RfdXNlcjo9JHtVU0VS
fX0KLQotY2QgIiR7YnVpbGRib3RfcGF0aH0iCi1leGVjIC91c3IvYmluL2VudiAtICAgICAgICAg
IFwKLQkJVEVSTT1kdW1iICAgICAgICAgICAgICAgICBcCi0JCVRaPVBTVDhQRFQgICAgICAgICAg
ICAgICAgIFwKLQkJUEFUSD0iJHtQQVRIfSIgICAgICAgICAgICAgIFwKLQkJU0hFTEw9L2Jpbi9i
YXNoICAgICAgICAgICAgICBcCi0JCUxBTkc9ZW5fVVMuVVRGLTggICAgICAgICAgICAgIFwKLQkJ
VVNFUj0iJHtidWlsZGJvdF91c2VyfSIgICAgICAgIFwKLQkJTE9HTkFNRT0iJHtidWlsZGJvdF91
c2VyfSIgICAgICBcCi0JCUhPTUU9Ii9ob21lLyR7YnVpbGRib3RfdXNlcn0iICAgIFwKLQkJRElT
UExBWT0iJHt4dmZiX2Rpc3BsYXk6LSc6MTAnfSIgIFwKLQkJTUFJTD0iL3Zhci9tYWlsLyR7YnVp
bGRib3RfdXNlcn0iICBcCi0JL3Vzci9iaW4vc2V0dWlkZ2lkICIke2J1aWxkYm90X3VzZXJ9IiBc
Ci0JL3Vzci9iaW4vdHdpc3RkIC1ub3kgYnVpbGRib3QudGFjCi0KZGlmZiAtLWdpdCBhL1Rvb2xz
L0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9kYWVtb250b29scy1idWlsZGJvdC5jb25mIGIvVG9vbHMv
QnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNvbmYKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA2YWYyOWY3YjA2MjY4MjE2Y2U0YTFmMWFhZWU4ZDQ2MjBk
MjRkZmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9v
bHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNvbmYKKysrIC9k
ZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi0jIENvcHlyaWdodCAoQykgMjAxMCBJZ2FsaWEgUy5M
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0jIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotIyB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
Ci0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotIyBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bwotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
LQotCi0jIFBhdGggdG8gdGhlIEJ1aWxkYm90IHNsYXZlIGRpcmVjdG9yeQotIwotYnVpbGRib3Rf
cGF0aD0iL2hvbWUvc2xhdmUvd2Via2l0Z3RrIgotCi0jIFVzZXIgYWNjb3VudCB1c2VkIHRvIHJ1
biBCdWlsZGJvdC4KLSMKLWJ1aWxkYm90X3VzZXI9InNsYXZlIgotCi0jIFBhdGggdG8gYSBkaXJl
Y3Rvcnkgd2hlcmUgdG8gbG9nIEJ1aWxkYm90IG91dHB1dAotIwotYnVpbGRib3RfbG9nX3BhdGg9
Ii92YXIvbG9nL2J1aWxkYm90IgotCi0KLSMgSWYgeW91IHdhbnQgdG8gdXNlIGNjYWNoZSwgc2V0
IGEgcGF0aCB0byB3aGVyZSBzeW5saW5rcyB3aXRoIHRvb2wKLSMgbmFtZXMgcG9pbnRpbmcgdG8g
Y2NhY2hlIGFyZSBpbnN0YWxsZWQuIEluIERlYmlhbiBzeXN0ZW1zIHRoaXMKLSMgd291bGQgYmUg
L3Vzci9saWIvY2NhY2hlLiBTZXQgdG8gZW1wdHkgdG8gZGlzYWJsZS4KLSMKLWNjYWNoZV9wYXRo
PSIvdXNyL2xpYi9jY2FjaGUiCi0KLQotIyBFbnZpcm9ubWVudCB2YXJpYWJsZXMuIFByZWZpeCB0
aGVtIHdpdGggImVudl8iLgotIwotZW52X0NGTEFHUz0iLXBpcGUiCi1lbnZfQ1hYRkxBR1M9Ii1w
aXBlIgotZW52X0xERkxBR1M9Ii1uby1pbnN0YWxsIC1uby1mYXN0LWluc3RhbGwiCi1lbnZfV0VC
S0lUX1RFU1RGT05UUz0iL2hvbWUvJHtidWlsZGJvdF91c2VyfS90ZXN0Zm9udHMiCi0KZGlmZiAt
LWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9wdWxzZWF1ZGlvL3J1biBiL1Rvb2xz
L0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9wdWxzZWF1ZGlvL3J1bgpkZWxldGVkIGZpbGUgbW9kZSAx
MDA3NTUKaW5kZXggN2MxMTdhZDlkMjA3Mzk4ZDg2ZjAyNzM4ZTU5MzE4OTU5MTdkNTY3OC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9CdWlsZFNs
YXZlU3VwcG9ydC9ndGsvcHVsc2VhdWRpby9ydW4KKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCww
IEBACi0jISAvdXNyL2Jpbi9lbnYgYmFzaAotIwotIyBDb3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlh
IFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotIyBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSMgdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgotIwotIyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0jCi0jIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
LSMgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElm
IG5vdCwgd3JpdGUgdG8KLSMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCi0KLWV4ZWMgMj4mMQotZXhlYyAvdXNyL2Jpbi9wdWxzZWF1ZGlvIC0tc3lzdGVtIFwKLQkt
LWRpc2FsbG93LWV4aXQgLS1kaXNhbGxvdy1tb2R1bGUtbG9hZGluZyBcCi0JLS1sb2ctdGFyZ2V0
PXN5c2xvZwotCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdCBiL1Rvb2xz
L1NjcmlwdHMvYnVpbGQtd2Via2l0CmluZGV4IGZjMDY2NGE2NTA1NTQ2ZjQyOGM3NTE0Yjk2NzUx
MTliNzVhNjIxNDAuLjA5OWQzM2E0YjliOWNkZjQzMmNkMTAyNmVhNmFhZTBjYjkyNTdhNzcgMTAw
NzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CisrKyBiL1Rvb2xzL1NjcmlwdHMv
YnVpbGQtd2Via2l0CkBAIC01Myw4ICs1Myw4IEBAIHNldENvbmZpZ3VyYXRpb24oKTsKIAogaWYg
KHNob3VsZFVzZUZsYXRwYWsoKSkgewogICAgIHByaW50ICJCdWlsZGluZyBmbGF0cGFrIGJhc2Vk
IGVudmlyb25tZW50XG4iOwotCi0gICAgcnVuSW5GbGF0cGFrKCIvYXBwL3dlYmtpdC9Ub29scy9T
Y3JpcHRzL2J1aWxkLXdlYmtpdCIpOworICAgIG15IEBjb21tYW5kID0gKEZpbGU6OlNwZWMtPmNh
dGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgImJ1aWxkLXdlYmtpdCIpKTsK
KyAgICBydW5JbkZsYXRwYWsoQGNvbW1hbmQpOwogfQogCiBteSAkb3JpZ2luYWxXb3JraW5nRGly
ZWN0b3J5ID0gZ2V0Y3dkKCk7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1iaW5kaW5n
cy10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWJpbmRpbmdzLXRlc3RzCmluZGV4IGY2ZTQ0Nzcy
NTBmOWUxOWUzOTU4ZWZjYjdkNmU4MWUyYWMyOGM5YWIuLjBhYzBiM2EzMTA4OGExMjJlMDk5OGVh
NDk1NjViZjIzODc3MzhhNTAgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWJpbmRpbmdz
LXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWJpbmRpbmdzLXRlc3RzCkBAIC0zMyw2ICsz
MywxMSBAQCBpbXBvcnQgb3MKIGltcG9ydCBzeXMKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3Rl
bSBpbXBvcnQgZXhlY3V0aXZlCiAKK3RvcF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1w
YXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAnLi4nLCAnLi4nKSkK
K3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgJ1Rv
b2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBmbGF0cGFrdXRpbHMKK2ZsYXRwYWt1dGlscy5ydW5f
aW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lzLmFyZ3YpCisKIGRlZiBtYWluKGFyZ3YpOgogICAg
ICIiIlJ1bnMgV2ViQ29yZSBiaW5kaW5ncyBjb2RlIGdlbmVyYXRvcnMgb24gdGVzdCBJREwgZmls
ZXMgYW5kIGNvbXBhcmVzCiAgICAgdGhlIHJlc3VsdHMgd2l0aCByZWZlcmVuY2UgZmlsZXMuCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1idWlsdGlucy1nZW5lcmF0b3ItdGVzdHMgYi9U
b29scy9TY3JpcHRzL3J1bi1idWlsdGlucy1nZW5lcmF0b3ItdGVzdHMKaW5kZXggMjM5OGM3OGNh
MTBlYzU5NzYyNjYxMmM4NTU1M2FiZDFhNGU2ZmJkNC4uZmJiMDg2NDI0MTk3NGVhNjAzNWRhODhi
MzY3OWJjNDNjMDJjN2U5ZCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tYnVpbHRpbnMt
Z2VuZXJhdG9yLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRv
ci10ZXN0cwpAQCAtMjUsNiArMjUsMTIgQEAKIGltcG9ydCBzeXMKIGZyb20gd2Via2l0cHkuY29t
bW9uLnN5c3RlbSBpbXBvcnQgZXhlY3V0aXZlCiAKK2ltcG9ydCBvcwordG9wX2xldmVsX2RpcmVj
dG9yeSA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2Zp
bGVfXyksICcuLicsICcuLicpKQorc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbih0b3Bf
bGV2ZWxfZGlyZWN0b3J5LCAnVG9vbHMnLCAnZmxhdHBhaycpKQoraW1wb3J0IGZsYXRwYWt1dGls
cworZmxhdHBha3V0aWxzLnJ1bl9pbl9zYW5kYm94X2lmX2F2YWlsYWJsZShzeXMuYXJndikKKwog
ZGVmIG1haW4oYXJndik6CiAgICAgIiIiUnVucyB0aGUgSlMgYnVpbHRpbnMgY29kZSBnZW5lcmF0
b3Igb24gdGVzdCBpbnB1dCBmaWxlcyBhbmQgY29tcGFyZXMKICAgICB0aGUgcmVzdWx0cyB3aXRo
IHJlZmVyZW5jZSBmaWxlcy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWd0ay10ZXN0
cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWd0ay10ZXN0cwppbmRleCA0MWIwNWUyZGY0YjFlNmQ4ZmUz
OGVhM2M1NDliNTMzNTg0YTQyOTdlLi5kMzk3NDhmNGMzZDhmZGZjZWZmMWEyMjk5YWRhNDJjODdl
NjVhYWU1IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMKKysrIGIvVG9v
bHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzCkBAIC0xMzMsNyArMTMzLDcgQEAgaWYgX19uYW1lX18g
PT0gIl9fbWFpbl9fIjoKICAgICBpZiBub3QgZmxhdHBha3V0aWxzLmlzX3NhbmRib3hlZCgpIGFu
ZCBub3QgamhidWlsZHV0aWxzLmVudGVyX2poYnVpbGRfZW52aXJvbm1lbnRfaWZfYXZhaWxhYmxl
KCJndGsiKToKICAgICAgICAgcHJpbnQgJyoqKicKICAgICAgICAgcHJpbnQgJyoqKiBXYXJuaW5n
OiBqaGJ1aWxkIGVudmlyb25tZW50IG5vdCBwcmVzZW50IGFuZCBub3QgcnVubmluZyBpbiBmbGF0
cGFrLicKLSAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVw
ZGF0ZS13ZWJraXRndGstZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9w
ZXIgdGVzdGluZy4uJworICAgICAgICBwcmludCAnKioqIFJ1biB1cGRhdGUtd2Via2l0Z3RrLWxp
YnMgb3IgdXBkYXRlLXdlYmtpdC1mbGF0cGFrIGJlZm9yZSBidWlsZC13ZWJraXQgdG8gZW5zdXJl
IHByb3BlciB0ZXN0aW5nLi4nCiAgICAgICAgIHByaW50ICcqKionCiAKICAgICBvcHRpb25fcGFy
c2VyID0gb3B0cGFyc2UuT3B0aW9uUGFyc2VyKHVzYWdlPSd1c2FnZTogJXByb2cgW29wdGlvbnNd
IFt0ZXN0Li4uXScpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29y
ZS10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCmluZGV4IGM1
NDJjZTliZWM4OTViYzBjYWE2OTI5Y2I3MjVjZDgxMDRlMTVhZWUuLjk4NGVhZWUyZjBhNDhjMWQw
NTY4MjY1YjM5NGM5OGNjN2Q2M2YzNGQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWph
dmFzY3JpcHRjb3JlLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3Jl
LXRlc3RzCkBAIC00Niw2ICs0NiwxMiBAQCB1c2UgVGV4dDo6UGFyc2VXb3JkczsKIHNldENvbmZp
Z3VyYXRpb24oKTsKIG15ICRjb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbigpOwogCitpZiAo
c2hvdWxkVXNlRmxhdHBhaygpKSB7CisgICAgbXkgQGNvbW1hbmQgPSAoRmlsZTo6U3BlYy0+Y2F0
ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgIlNjcmlwdHMiLCAicnVuLWphdmFzY3JpcHRjb3Jl
LXRlc3RzIikpOworICAgIHJ1bkluRmxhdHBhayhAY29tbWFuZCk7Cit9CisKKwogIyBUaGVzZSB2
YXJpYWJsZXMgYXJlIGludGVudGlvbmFsbHkgbGVmdCB1bmRlZmluZWQuCiBteSAkcm9vdDsKIG15
ICRzaG93SGVscDsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93c2VyIGIv
VG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXIKaW5kZXggNGNmNmJlNDA0N2JmZDc2ZDY4MTA5
YWIyOWFhNjhhOTBkYzA4NjZlMS4uOTBjZDNmYWY0MzFhZWI5MjhkZmQ2ZGRmZDZlZDZkMjNkMmYy
MWNjYyAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXIKKysrIGIvVG9v
bHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXIKQEAgLTQ1LDcgKzQ1LDggQEAgcHJvaGliaXRVbmtu
b3duUG9ydCgpOwogc2V0Q29uZmlndXJhdGlvbigpOwogCiBpZiAoaXNHdGsoKSB8fCBpc1dQRSgp
KSB7Ci0gICAgcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoIi9hcHAvd2Via2l0L1Rvb2xzL1Njcmlw
dHMvcnVuLW1pbmlicm93c2VyIik7CisgICAgbXkgQGNvbW1hbmQgPSAoRmlsZTo6U3BlYy0+Y2F0
ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgIlNjcmlwdHMiLCAicnVuLW1pbmlicm93c2VyIikp
OworICAgIHJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKEBjb21tYW5kKTsKIAogICAgICMgQ2hlY2sg
dG8gc2VlIHRoYXQgYWxsIHRoZSBmcmFtZXdvcmtzIGFyZSBidWlsdC4KICAgICBjaGVja0ZyYW1l
d29ya3MoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLXF0LXdwZS1taW5pYnJvd3Nl
ciBiL1Rvb2xzL1NjcmlwdHMvcnVuLXF0LXdwZS1taW5pYnJvd3NlcgppbmRleCBhZWFjYjQ4M2My
ZmQxMGFhYTVmZGQwMGRjNmQ0YzBjOWY2MTczMjQ1Li5kNDIxY2U2MjQ4MTZlMTJkMmQ3ZGYzOGRh
OTA5YWQwNWE2Yzk1ZmEwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWlu
aWJyb3dzZXIKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tcXQtd3BlLW1pbmlicm93c2VyCkBAIC0z
OCw5ICszOCwxMyBAQCBteSBAamhidWlsZFdyYXBwZXI7CiBteSAkY29uZmlndXJhdGlvbiA9IHBh
c3NlZENvbmZpZ3VyYXRpb24oKTsKIG15ICRwcm9kdWN0RGlyID0gcHJvZHVjdERpcigpOwogCi0k
bGliUGF0aCA9ICIvYXBwL3dlYmtpdC9XZWJLaXRCdWlsZC8kY29uZmlndXJhdGlvbi9saWIvcW1s
IiBpZiAkY29uZmlndXJhdGlvbjsKLSRFTlZ7IlFNTDJfSU1QT1JUX1BBVEgifSA9ICIkbGliUGF0
aCIgaWYgJGxpYlBhdGg7Ci1ydW5JbkZsYXRwYWtJZkF2YWlsYWJsZSgiL2FwcC93ZWJraXQvVG9v
bHMvU2NyaXB0cy9ydW4tcXQtd3BlLW1pbmlicm93c2VyIik7CitpZiAoJGNvbmZpZ3VyYXRpb24p
IHsKKyAgICAkbGliUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJXZWJL
aXRCdWlsZCIsICIkY29uZmlndXJhdGlvbiIsICJsaWIiLCAicW1sIik7CisgICAgJEVOVnsiUU1M
Ml9JTVBPUlRfUEFUSCJ9ID0gIiRsaWJQYXRoIjsKK30KKworbXkgQGNvbW1hbmQgPSAoRmlsZTo6
U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgIlNjcmlwdHMiLCAicnVuLXF0LXdw
ZS1taW5pYnJvd3NlciIpKTsKK3J1bkluRmxhdHBha0lmQXZhaWxhYmxlKEBjb21tYW5kKTsKIAog
IyBDaGVjayB0byBzZWUgdGhhdCBhbGwgdGhlIGZyYW1ld29ya3MgYXJlIGJ1aWx0LgogY2hlY2tG
cmFtZXdvcmtzKCk7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi13ZWJkcml2ZXItdGVz
dHMgYi9Ub29scy9TY3JpcHRzL3J1bi13ZWJkcml2ZXItdGVzdHMKaW5kZXggYWNjMzVmNzI0ODNm
MjgzMmYwOWM4ZWZiMTg5NWQxODFkNGQ2NzkyOS4uYzMwMDRkNDUzMjNjNTE0MjY2NWQzNzAzMzdl
OGU1OTA0MjNhOWQ0MCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRl
c3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0cwpAQCAtNzgsNyArNzgs
NyBAQCBpZiBwb3J0Lm5hbWUoKSBpbiBbJ2d0aycsICd3cGUnXToKICAgICAgICAgaWYgbm90IGpo
YnVpbGR1dGlscy5lbnRlcl9qaGJ1aWxkX2Vudmlyb25tZW50X2lmX2F2YWlsYWJsZShwb3J0Lm5h
bWUoKSk6CiAgICAgICAgICAgICBwcmludCAnKioqJwogICAgICAgICAgICAgcHJpbnQgJyoqKiBX
YXJuaW5nOiBqaGJ1aWxkIGVudmlyb25tZW50IG5vdCBwcmVzZW50IGFuZCBub3QgcnVubmluZyBp
biBmbGF0cGFrLicKLSAgICAgICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13ZWJraXRndGst
bGlicyBvciB1cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtpdCB0byBl
bnN1cmUgcHJvcGVyIHRlc3RpbmcuLicKKyAgICAgICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0
ZS13ZWJraXRndGstbGlicyBvciB1cGRhdGUtd2Via2l0LWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdl
YmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3RpbmcuLicKICAgICAgICAgICAgIHByaW50ICcqKion
CiAKIHBvcnQuX2Rpc3BsYXlfc2VydmVyID0gb3B0aW9ucy5kaXNwbGF5X3NlcnZlcgpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4td3BlLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4td3Bl
LXRlc3RzCmluZGV4IDhmNzc0OWViNmFkNmQxZjE5OTEzYTE3Njk5ZGNiNzY3N2Y0ODYyZDEuLmYz
NGMxOTcwNjQ3NzYyMjYyNDUyZTZhZTgzZmEyODVmMjhlNWQxODAgMTAwNzU1Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvcnVuLXdwZS10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi13cGUtdGVzdHMK
QEAgLTUxLDcgKzUxLDcgQEAgaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICBpZiBub3Qg
ZmxhdHBha3V0aWxzLmlzX3NhbmRib3hlZCgpIGFuZCBub3QgamhidWlsZHV0aWxzLmVudGVyX2po
YnVpbGRfZW52aXJvbm1lbnRfaWZfYXZhaWxhYmxlKCJ3cGUiKToKICAgICAgICAgcHJpbnQgJyoq
KicKICAgICAgICAgcHJpbnQgJyoqKiBXYXJuaW5nOiBqaGJ1aWxkIGVudmlyb25tZW50IG5vdCBw
cmVzZW50IGFuZCBub3QgcnVubmluZyBpbiBmbGF0cGFrLicKLSAgICAgICAgcHJpbnQgJyoqKiBS
dW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXRndGstZmxhdHBhayBiZWZv
cmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9wZXIgdGVzdGluZy4uJworICAgICAgICBwcmlu
dCAnKioqIFJ1biB1cGRhdGUtd2Via2l0d3BlLWxpYnMgb3IgdXBkYXRlLXdlYmtpdC1mbGF0cGFr
IGJlZm9yZSBidWlsZC13ZWJraXQgdG8gZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCiAgICAgICAg
IHByaW50ICcqKionCiAKICAgICBvcHRpb25fcGFyc2VyID0gb3B0cGFyc2UuT3B0aW9uUGFyc2Vy
KHVzYWdlPSd1c2FnZTogJXByb2cgW29wdGlvbnNdIFt0ZXN0Li4uXScpCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cGVybCBiL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRw
ZXJsCmluZGV4IDY0OTU2OTYwZmZjNjdhZTdkZjkzMzY0MTM2ZDkxYTVkODhlYTk5NDMuLmRjODFj
MTdjM2JhYzU5YTg4MWE3M2VkMTViM2E3NDYwY2E3YjlmOTggMTAwNzU1Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvdGVzdC13ZWJraXRwZXJsCisrKyBiL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRwZXJs
CkBAIC0zMiw2ICszMiwxMyBAQAogCiB1c2Ugc3RyaWN0OwogdXNlIHdhcm5pbmdzOwordXNlIEZp
bGU6OkJhc2VuYW1lOwordXNlIEZpbGU6OkZpbmQ7Cit1c2UgRmlsZTo6U3BlYzsKK3VzZSBGaW5k
QmluOwordXNlIEdldG9wdDo6TG9uZyBxdyg6Y29uZmlnIHBhc3NfdGhyb3VnaCBub19hdXRvX2Fi
YnJldik7Cit1c2UgbGliICRGaW5kQmluOjpCaW47Cit1c2Ugd2Via2l0ZGlyczsKIAogdXNlIEZp
bGU6OlNwZWM7CiB1c2UgRmluZEJpbjsKQEAgLTM5LDYgKzQ2LDExIEBAIHVzZSBUZXN0OjpIYXJu
ZXNzOwogdXNlIGxpYiAkRmluZEJpbjo6QmluOyAjIHNvIHRoaXMgc2NyaXB0IGNhbiBiZSBydW4g
ZnJvbSBhbnkgZGlyZWN0b3J5LgogdXNlIFZDU1V0aWxzOwogCitpZiAoc2hvdWxkVXNlRmxhdHBh
aygpKSB7CisgICAgbXkgQGNvbW1hbmQgPSAoRmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIo
KSwgIlRvb2xzIiwgIlNjcmlwdHMiLCAidGVzdC13ZWJraXRwZXJsIikpOworICAgIHJ1bkluRmxh
dHBhayhAY29tbWFuZCk7Cit9CisKICMgQ2hhbmdlIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBzbyB0
aGF0IHdlIGNhbiBwYXNzIHNob3J0ZXIsIHJlbGF0aXZlCiAjIHBhdGhzIHRvIHJ1bnRlc3RzKCks
IHJhdGhlciB0aGFuIGxvbmdlciwgYWJzb2x1dGUgcGF0aHMuCiAjCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkgYi9Ub29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkKaW5k
ZXggZWU2ODJjY2NmMGFjYTNmMjBkYzYxNWZlOGI2MzIzY2NjNTdjYmVhNC4uNDIzODhlOWY4NjE3
ODVlZjdlMzhmYjFmNDU0OTAwNTA1MmYwMGFlYyAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy90
ZXN0LXdlYmtpdHB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweQpAQCAtMjksNCAr
MjksMTAgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIGZyb20gd2Via2l0cHkuY29tbW9uIGltcG9ydCBtdWx0
aXByb2Nlc3NpbmdfYm9vdHN0cmFwCiAKK2ltcG9ydCBvcywgc3lzCit0b3BfbGV2ZWxfZGlyZWN0
b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmls
ZV9fKSwgJy4uJywgJy4uJykpCitzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9s
ZXZlbF9kaXJlY3RvcnksICdUb29scycsICdmbGF0cGFrJykpCitpbXBvcnQgZmxhdHBha3V0aWxz
CitmbGF0cGFrdXRpbHMucnVuX2luX3NhbmRib3hfaWZfYXZhaWxhYmxlKHN5cy5hcmd2KQorCiBt
dWx0aXByb2Nlc3NpbmdfYm9vdHN0cmFwLnJ1bignd2Via2l0cHknLCAndGVzdCcsICdtYWluLnB5
JykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvdGVzdDI2Mi1ydW5uZXIgYi9Ub29scy9TY3Jp
cHRzL3Rlc3QyNjItcnVubmVyCmluZGV4IGExMzFiY2Y2MzNlMzBkOTc2NWZiNTYyNDI1MDczMTE3
YTk4ZjIyMzguLmFmN2FkNWU0OGVmMjUwOGNmNGUyMWQ1OGQ1NTBjZjAzMmVmNWZhMmIgMTAwNzU1
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvdGVzdDI2Mi1ydW5uZXIKKysrIGIvVG9vbHMvU2NyaXB0cy90
ZXN0MjYyLXJ1bm5lcgpAQCAtMzQsNiArMzQsMjYgQEAgdXNlIDUuOC44OwogdXNlIEZpbmRCaW47
CiB1c2UgQ29uZmlnOwogCitCRUdJTiB7CisgICAgdXNlIGxpYiAkRmluZEJpbjo6QmluOworICAg
IHVzZSBGaWxlOjpTcGVjOjpGdW5jdGlvbnMgcXcoY2F0ZmlsZSk7CisKKyAgICBpZiAoIWdyZXAo
L14tLW5vLWZsYXRwYWstY2hlY2skLywgQEFSR1YpKSB7CisgICAgICAgIGlmIChldmFsIHtyZXF1
aXJlIHdlYmtpdGRpcnM7IDE7fSkgeworICAgICAgICAgICAgd2Via2l0ZGlycy0+aW1wb3J0KHF3
KHNob3VsZFVzZUZsYXRwYWsgcnVuSW5GbGF0cGFrIHNvdXJjZURpcikpOworICAgICAgICAgICAg
aWYgKHNob3VsZFVzZUZsYXRwYWsoKSkgeworICAgICAgICAgICAgICAgIHByaW50ICJSdW5uaW5n
IGluIGZsYXRwYWsgYmFzZWQgZW52aXJvbm1lbnRcbiI7CisgICAgICAgICAgICAgICAgbXkgQGNv
bW1hbmQgPSAoRmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgIlNjcmlw
dHMiLCAidGVzdDI2Mi1ydW5uZXIiKSk7CisgICAgICAgICAgICAgICAgIyBQcmV2ZW50IGV4ZWMn
ZCB0ZXN0MjYyLXJ1bm5lciBwcm9jZXNzIGZyb20gaW1wb3J0aW5nCisgICAgICAgICAgICAgICAg
IyB3ZWJraXRkaXJzIHNvIHRoYXQgaXQgY2FuIHN1Y2NlZWQgbGF0ZXIgb24gaW4gdGhlIFJ1bm5l
cgorICAgICAgICAgICAgICAgICMgbW9kdWxlLi4uIFBlcmwuIMKvXF8o44OEKV8vwq8KKyAgICAg
ICAgICAgICAgICBwdXNoKEBBUkdWLCAiLS1uby1mbGF0cGFrLWNoZWNrIik7CisgICAgICAgICAg
ICAgICAgcnVuSW5GbGF0cGFrKEBjb21tYW5kKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
ICAgIH0KK30KKwogQkVHSU4gewogICAgICRFTlZ7REJJQ19PVkVSV1JJVEVfSEVMUEVSX01FVEhP
RFNfT0t9ID0gMTsKICAgICAkRU5We1QyNjJfRVhFQ19CSU59ID0gIiRGaW5kQmluOjpCaW4vdGVz
dDI2MiI7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXQtZmxhdHBhayBi
L1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdC1mbGF0cGFrCm5ldyBmaWxlIG1vZGUgMTAwNzU1
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE4NmI4MWEy
MDMzZjRiYjdiZTJkMjliZGU1YzEyY2Y0OTUzMzBkNTUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29s
cy9TY3JpcHRzL3VwZGF0ZS13ZWJraXQtZmxhdHBhawpAQCAtMCwwICsxLDI4IEBACisjIS91c3Iv
YmluL2VudiBweXRob24KKyMgQ29weXJpZ2h0IChDKSAyMDE4IElnYWxpYSBTLkwuCisjIENvcHly
aWdodCAoYykgMjAxOCwgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KKyMK
KyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgorIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdl
bmVyYWwgUHVibGljCisjIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgorIyB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisj
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisjIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNz
ZXIgR2VuZXJhbCBQdWJsaWMKKyMgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYg
bm90LCB3cml0ZSB0byB0aGUKKyMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG
cmFua2xpbiBTdCwgRmlmdGggRmxvb3IsCisjIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgor
IyBweWxpbnQ6IGRpc2FibGU9bWlzc2luZy1kb2NzdHJpbmcsaW52YWxpZC1uYW1lCitpbXBvcnQg
b3MKK2ltcG9ydCBzeXMKKwordG9wX2xldmVsX2RpcmVjdG9yeSA9IG9zLnBhdGgubm9ybXBhdGgo
b3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICIuLiIsICIuLiIpKQorc3lz
LnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxfZGlyZWN0b3J5LCAiVG9vbHMi
LCAiZmxhdHBhayIpKQorZnJvbSBmbGF0cGFrdXRpbHMgaW1wb3J0IFdlYmtpdEZsYXRwYWsKKwor
aWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICBXZWJraXRGbGF0cGFrLmxvYWRfZnJvbV9h
cmdzKFsiLS11cGRhdGUiXSArIHN5cy5hcmd2WzE6XSkucnVuKCkKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIGIvVG9vbHMvU2NyaXB0cy91cGRhdGUt
d2Via2l0Z3RrLWZsYXRwYWsKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDA5NTZmMWYy
ZTE0ODVkMjQ4NjJlZjdmNmQ3NGEyZjNmOThjZjkyZjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWZs
YXRwYWsKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi0jIS91c3IvYmluL2VudiBweXRo
b24KLSMgQ29weXJpZ2h0IChDKSAyMDE4IElnYWxpYSBTLkwuCi0jIENvcHlyaWdodCAoYykgMjAx
OCwgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KLSMKLSMgVGhpcyBwcm9n
cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotIyBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj
Ci0jIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotIyB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0j
IExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0jCi0jIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQ
dWJsaWMKLSMgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0
byB0aGUKLSMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwg
RmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotIyBweWxpbnQ6IGRp
c2FibGU9bWlzc2luZy1kb2NzdHJpbmcsaW52YWxpZC1uYW1lCi1pbXBvcnQgb3MKLWltcG9ydCBz
eXMKLQotdG9wX2xldmVsX2RpcmVjdG9yeSA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2lu
KG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICIuLiIsICIuLiIpKQotc3lzLnBhdGguaW5zZXJ0
KDAsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxfZGlyZWN0b3J5LCAiVG9vbHMiLCAiZmxhdHBhayIp
KQotZnJvbSBmbGF0cGFrdXRpbHMgaW1wb3J0IFdlYmtpdEZsYXRwYWsKLQotaWYgX19uYW1lX18g
PT0gIl9fbWFpbl9fIjoKLSAgICBXZWJraXRGbGF0cGFrLmxvYWRfZnJvbV9hcmdzKFsiLS1ndGsi
LCAiLS11cGRhdGUiXSArIHN5cy5hcmd2WzE6XSkucnVuKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1saWJzIGIvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0
Z3RrLWxpYnMKaW5kZXggMmUxYzAyZmZkNzA1NjAwODBlMzZiYzc0YjQ2NThmZmVmNWRlY2Q4ZS4u
MmU4YTg3ODUxOTZkYjhjN2JmY2M0OTA0OTVhZDljNWQ3MDBmZmY1MSAxMDA3NTUKLS0tIGEvVG9v
bHMvU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWxpYnMKKysrIGIvVG9vbHMvU2NyaXB0cy91cGRh
dGUtd2Via2l0Z3RrLWxpYnMKQEAgLTIyLDQgKzIyLDggQEAgdXNlIGxpYiAkRmluZEJpbjo6Qmlu
OwogdXNlIHdlYmtpdGRpcnM7CiAKIG15ICRzY3JpcHRzRGlyID0gcmVsYXRpdmVTY3JpcHRzRGly
KCk7Ci1zeXN0ZW0oInBlcmwiLCAiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1saWJzLWpoYnVp
bGQiLCAiLS1ndGsiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7CitpZiAoZGVmaW5lZCAkRU5WeydX
RUJLSVRfSkhCVUlMRCd9IGFuZCAkRU5WeydXRUJLSVRfSkhCVUlMRCd9KSB7CisgICAgc3lzdGVt
KCJwZXJsIiwgIiRzY3JpcHRzRGlyL3VwZGF0ZS13ZWJraXQtbGlicy1qaGJ1aWxkIiwgIi0tZ3Rr
IiwgQEFSR1YpID09IDAgb3IgZGllICQhOworfSBlbHNlIHsKKyAgICBzeXN0ZW0oIiRzY3JpcHRz
RGlyL3VwZGF0ZS13ZWJraXQtZmxhdHBhayIsIEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK30KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1mbGF0cGFrIGIvVG9vbHMv
U2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWZsYXRwYWsKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1
CmluZGV4IDU2NGU4NzY1MjExMThlMmZjMGZkNjhiOGM4NjZhYTkwMDFjYjgxMjIuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvU2NyaXB0cy91cGRh
dGUtd2Via2l0d3BlLWZsYXRwYWsKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi0jIS91
c3IvYmluL2VudiBweXRob24KLSMgQ29weXJpZ2h0IChDKSAyMDE4IElnYWxpYSBTLkwuCi0jIENv
cHlyaWdodCAoYykgMjAxOCwgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAaWdhbGlhLmNvbT4K
LSMKLSMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgotIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2Vy
IEdlbmVyYWwgUHVibGljCi0jIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgotIyB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBwcm9ncmFtIGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
Ci0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCi0jIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCi0jCi0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsg
aWYgbm90LCB3cml0ZSB0byB0aGUKLSMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgotIyBweWxpbnQ6IGRpc2FibGU9bWlzc2luZy1kb2NzdHJpbmcsaW52YWxpZC1uYW1lCi1pbXBv
cnQgb3MKLWltcG9ydCBzeXMKLQotdG9wX2xldmVsX2RpcmVjdG9yeSA9IG9zLnBhdGgubm9ybXBh
dGgob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICIuLiIsICIuLiIpKQot
c3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxfZGlyZWN0b3J5LCAiVG9v
bHMiLCAiZmxhdHBhayIpKQotZnJvbSBmbGF0cGFrdXRpbHMgaW1wb3J0IFdlYmtpdEZsYXRwYWsK
LQotaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSAgICBXZWJraXRGbGF0cGFrLmxvYWRfZnJv
bV9hcmdzKFsiLS13cGUiLCAiLS11cGRhdGUiXSArIHN5cy5hcmd2WzE6XSkucnVuKCkKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1saWJzIGIvVG9vbHMvU2NyaXB0
cy91cGRhdGUtd2Via2l0d3BlLWxpYnMKaW5kZXggNmI0YjQ2ZjJiN2ViOGE5ZTY4MDc3NTdiY2Ey
YjllNjg0NzA3YTAyMy4uY2RjNGM3ZGI4YzY1ZWE3MzIzZDY5MjY4MTk4YTJmNjhiZDUxMzAxNCAx
MDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWxpYnMKKysrIGIvVG9v
bHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWxpYnMKQEAgLTIyLDQgKzIyLDggQEAgdXNlIGxp
YiAkRmluZEJpbjo6QmluOwogdXNlIHdlYmtpdGRpcnM7CiAKIG15ICRzY3JpcHRzRGlyID0gcmVs
YXRpdmVTY3JpcHRzRGlyKCk7Ci1zeXN0ZW0oInBlcmwiLCAiJHNjcmlwdHNEaXIvdXBkYXRlLXdl
YmtpdC1saWJzLWpoYnVpbGQiLCAiLS13cGUiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7CitpZiAo
ZGVmaW5lZCAkRU5WeydXRUJLSVRfSkhCVUlMRCd9IGFuZCAkRU5WeydXRUJLSVRfSkhCVUlMRCd9
KSB7CisgICAgc3lzdGVtKCJwZXJsIiwgIiRzY3JpcHRzRGlyL3VwZGF0ZS13ZWJraXQtbGlicy1q
aGJ1aWxkIiwgIi0td3BlIiwgQEFSR1YpID09IDAgb3IgZGllICQhOworfSBlbHNlIHsKKyAgICBz
eXN0ZW0oIiRzY3JpcHRzRGlyL3VwZGF0ZS13ZWJraXQtZmxhdHBhayIsIEBBUkdWKSA9PSAwIG9y
IGRpZSAkITsKK30KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQppbmRleCA5NjFhNDYyODZmNDg3NWQ2YWZiNzI1OTkx
YzRkMDQ5NWI5ZWEyMzIyLi4zMDQzMGQzMTM5MTJiOTJhMDcxYTE1NGQ0NTFkNGIwY2VhYjQxZjAz
IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRkaXJzLnBtCkBAIC05MSw3ICs5MSwxMCBAQCBCRUdJTiB7CiAgICAgICAgJnNl
dHVwVW5peFdlYktpdEVudmlyb25tZW50CiAgICAgICAgJnNoYXJlZENvbW1hbmRMaW5lT3B0aW9u
cwogICAgICAgICZzaGFyZWRDb21tYW5kTGluZU9wdGlvbnNVc2FnZQorICAgICAgICZzaG91bGRV
c2VGbGF0cGFrCisgICAgICAgJnJ1bkluRmxhdHBhawogICAgICAgICZzaHV0RG93bklPU1NpbXVs
YXRvckRldmljZQorICAgICAgICZzb3VyY2VEaXIKICAgICAgICAmd2lsbFVzZUlPU0RldmljZVNE
SwogICAgICAgICZ3aWxsVXNlSU9TU2ltdWxhdG9yU0RLCiAgICAgICAgRE9fTk9UX1VTRV9PUEVO
X0NPTU1BTkQKQEAgLTIwMjQsMjAgKzIwMjcsMTEgQEAgc3ViIGdldEpoYnVpbGRQYXRoKCkKICAg
ICByZXR1cm4gRmlsZTo6U3BlYy0+Y2F0ZGlyKEBqaGJ1aWxkUGF0aCk7CiB9CiAKLXN1YiBnZXRG
bGF0cGFrUGF0aCgpCitzdWIgZ2V0VXNlckZsYXRwYWtQYXRoKCkKIHsKLSAgICBteSBAZmxhdHBh
a0J1aWxkUGF0aCA9IEZpbGU6OlNwZWMtPnNwbGl0ZGlyKGJhc2VQcm9kdWN0RGlyKCkpOwotICAg
IGlmIChpc0d0aygpKSB7Ci0gICAgICAgIHB1c2goQGZsYXRwYWtCdWlsZFBhdGgsICJHVEsiKTsK
LSAgICB9IGVsc2lmIChpc1dQRSgpKSB7Ci0gICAgICAgIHB1c2goQGZsYXRwYWtCdWlsZFBhdGgs
ICJXUEUiKTsKLSAgICB9IGVsc2UgewotICAgICAgICBkaWUgIkNhbm5vdCBnZXQgRmxhdHBhayBw
YXRoIGZvciBwbGF0Zm9ybSB0aGF0IGlzbid0IEdUSysgb3IgV1BFLlxuIjsKLSAgICB9Ci0gICAg
bXkgQGNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uKCk7Ci0gICAgcHVzaChAZmxhdHBha0J1
aWxkUGF0aCwgIkZsYXRwYWtUcmVlJGNvbmZpZ3VyYXRpb24iKTsKLQotICAgIHJldHVybiBGaWxl
OjpTcGVjLT5jYXRkaXIoQGZsYXRwYWtCdWlsZFBhdGgpOworICAgIG15IEBmbGF0cGFrUGF0aCA9
IEZpbGU6OlNwZWMtPnNwbGl0ZGlyKGJhc2VQcm9kdWN0RGlyKCkpOworICAgIHB1c2goQGZsYXRw
YWtQYXRoLCAiVXNlckZsYXRwYWsiKTsKKyAgICByZXR1cm4gRmlsZTo6U3BlYy0+Y2F0ZGlyKEBm
bGF0cGFrUGF0aCk7CiB9CiAKIHN1YiBpc0NhY2hlZEFyZ3VtZW50ZmlsZU91dE9mRGF0ZSgkQCkK
QEAgLTIwNjQsMTEgKzIwNTgsNyBAQCBzdWIgaXNDYWNoZWRBcmd1bWVudGZpbGVPdXRPZkRhdGUo
JEApCiAKIHN1YiBpbkZsYXRwYWtTYW5kYm94KCkKIHsKLSAgICBpZiAoLWYgIi8uZmxhdHBhay1p
bmZvIikgewotICAgICAgICByZXR1cm4gMTsKLSAgICB9Ci0KLSAgICByZXR1cm4gMDsKKyAgICBy
ZXR1cm4gKC1mICIvLmZsYXRwYWstaW5mbyIpOwogfQogCiBzdWIgcnVuSW5GbGF0cGFrKEApCkBA
IC0yMDg5LDggKzIwNzksOCBAQCBzdWIgcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQCkKICAgICAg
ICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgaWYgKCEgLWUgZ2V0RmxhdHBha1BhdGgoKSkgewot
ICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAoISAtZSBnZXRVc2VyRmxhdHBha1BhdGgoKSkgewor
ICAgICAgcmV0dXJuIDA7CiAgICAgfQogCiAgICAgcnVuSW5GbGF0cGFrKEBfKQpAQCAtMjEwNSw3
ICsyMDk1LDcgQEAgc3ViIHdyYXBwZXJQcmVmaXhJZk5lZWRlZCgpCiAgICAgaWYgKGlzQXBwbGVD
b2NvYVdlYktpdCgpKSB7CiAgICAgICAgIHJldHVybiAoInhjcnVuIik7CiAgICAgfQotICAgIGlm
IChzaG91bGRVc2VKaGJ1aWxkKCkgYW5kICEgc2hvdWxkVXNlRmxhdHBhaygpKSB7CisgICAgaWYg
KHNob3VsZFVzZUpoYnVpbGQoKSkgewogICAgICAgICBteSBAcHJlZml4ID0gKEZpbGU6OlNwZWMt
PmNhdGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJqaGJ1aWxkIiwgImpoYnVpbGQtd3JhcHBl
ciIpKTsKICAgICAgICAgaWYgKGlzR3RrKCkpIHsKICAgICAgICAgICAgIHB1c2goQHByZWZpeCwg
Ii0tZ3RrIik7CkBAIC0yMTIyLDEyICsyMTEyLDEyIEBAIHN1YiB3cmFwcGVyUHJlZml4SWZOZWVk
ZWQoKQogCiBzdWIgc2hvdWxkVXNlSmhidWlsZCgpCiB7Ci0gICAgcmV0dXJuICgoaXNHdGsoKSBv
ciBpc1dQRSgpKSBhbmQgLWUgZ2V0SmhidWlsZFBhdGgoKSk7CisgICAgcmV0dXJuICgoISBpbkZs
YXRwYWtTYW5kYm94KCkpIGFuZCAoaXNHdGsoKSBvciBpc1dQRSgpKSBhbmQgLWUgZ2V0SmhidWls
ZFBhdGgoKSBhbmQgZGVmaW5lZCAkRU5WeydXRUJLSVRfSkhCVUlMRCd9IGFuZCAkRU5WeydXRUJL
SVRfSkhCVUlMRCd9KTsKIH0KIAogc3ViIHNob3VsZFVzZUZsYXRwYWsoKQogewotICAgIHJldHVy
biAoKGlzR3RrKCkgb3IgaXNXUEUoKSkgYW5kICEgaW5GbGF0cGFrU2FuZGJveCgpIGFuZCAtZSBn
ZXRGbGF0cGFrUGF0aCgpKTsKKyAgICByZXR1cm4gKCghIGluRmxhdHBha1NhbmRib3goKSkgYW5k
IChpc0d0aygpIG9yIGlzV1BFKCkpIGFuZCAtZSBnZXRVc2VyRmxhdHBha1BhdGgoKSk7CiB9CiAK
IHN1YiBjbWFrZUNhY2hlUGF0aCgpCkBAIC0yMTk0LDcgKzIxODQsNyBAQCBzdWIgc2hvdWxkUmVt
b3ZlQ01ha2VDYWNoZShAKQogICAgIH0KIAogICAgICMgSWYgYSBjaGFuZ2Ugb24gdGhlIEpIQnVp
bGQgbW9kdWxlc2V0IGhhcyBiZWVuIGRvbmUsIHdlIG5lZWQgdG8gY2xlYW4gdGhlIGNhY2hlIGFz
IHdlbGwuCi0gICAgaWYgKGlzR3RrKCkgfHwgaXNXUEUoKSkgeworICAgIGlmICghIHNob3VsZFVz
ZUZsYXRwYWsoKSBhbmQgKGlzR3RrKCkgfHwgaXNXUEUoKSkpIHsKICAgICAgICAgbXkgJGpoYnVp
bGRSb290RGlyZWN0b3J5ID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKGdldEpoYnVpbGRQYXRoKCksICJS
b290Iik7CiAgICAgICAgICMgVGhlIHNjcmlwdCB1cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCBz
aGFsbCByZS1nZW5lcmF0ZSAkamhidWlsZFJvb3REaXJlY3RvcnkgaWYgdGhlIG1vZHVsZXNldCBj
aGFuZ2VkLgogICAgICAgICBpZiAoLWQgJGpoYnVpbGRSb290RGlyZWN0b3J5ICYmICRjYWNoZUZp
bGVNb2RpZmllZFRpbWUgPCBzdGF0KCRqaGJ1aWxkUm9vdERpcmVjdG9yeSktPm10aW1lKSB7CmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CmluZGV4IGRlMDA2NjY3YjJkMWU1ZTVlZWI4ZjJk
MWE0NDhiNzU2ZjdmMDY2Y2QuLjFjM2VlN2FiZGJhM2Q4NmIyYTY4YTQ2ODhiNGVhZDk2ZTk5ODc1
ZWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CkBAIC04OTMsNiArODkzLDcgQEAg
Y2xhc3MgUG9ydChvYmplY3QpOgogICAgICAgICAgICAgJ0xBTkcnLAogICAgICAgICAgICAgJ0xE
X0xJQlJBUllfUEFUSCcsCiAgICAgICAgICAgICAnVEVSTScsCisgICAgICAgICAgICAnVFonLAog
ICAgICAgICAgICAgJ1hER19EQVRBX0RJUlMnLAogICAgICAgICAgICAgJ1hER19SVU5USU1FX0RJ
UicsCiAKQEAgLTEyMjAsNyArMTIyMSw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAg
VGhpcyBpcyBuZWVkZWQgb25seSBieSBwb3J0cyB0aGF0IHVzZSB0aGUgYXBhY2hlX2h0dHBfc2Vy
dmVyIG1vZHVsZS4iIiIKICAgICAgICAgIyBUaGUgQXBhY2hlIGJpbmFyeSBwYXRoIGNhbiB2YXJ5
IGRlcGVuZGluZyBvbiBPUyBhbmQgZGlzdHJpYnV0aW9uCiAgICAgICAgICMgU2VlIGh0dHA6Ly93
aWtpLmFwYWNoZS5vcmcvaHR0cGQvRGlzdHJvc0RlZmF1bHRMYXlvdXQKLSAgICAgICAgZm9yIHBh
dGggaW4gWyIvdXNyL3NiaW4vaHR0cGQiLCAiL3Vzci9zYmluL2FwYWNoZTIiLCAiL2FwcC9iaW4v
aHR0cGQiXToKKyAgICAgICAgZm9yIHBhdGggaW4gWyIvdXNyL3NiaW4vaHR0cGQiLCAiL3Vzci9z
YmluL2FwYWNoZTIiLCAiL3Vzci9iaW4vaHR0cGQiXToKICAgICAgICAgICAgIGlmIHNlbGYuX2Zp
bGVzeXN0ZW0uZXhpc3RzKHBhdGgpOgogICAgICAgICAgICAgICAgIHJldHVybiBwYXRoCiAgICAg
ICAgIF9sb2cuZXJyb3IoIkNvdWxkIG5vdCBmaW5kIGFwYWNoZS4gTm90IGluc3RhbGxlZCBvciB1
bmtub3duIHBhdGguIikKQEAgLTE0NTIsMTQgKzE0NTMsOCBAQCBjbGFzcyBQb3J0KG9iamVjdCk6
CiAgICAgICAgICMgLS1waXhlbC10ZXN0LWRpcmVjdG9yeSBpcyBub3Qgc3BlY2lmaWVkLgogICAg
ICAgICByZXR1cm4gVHJ1ZQogCi0gICAgZGVmIF9zaG91bGRfdXNlX2ZsYXRwYWsoc2VsZik6Ci0g
ICAgICAgIHN1ZmZpeCA9ICIiCi0gICAgICAgIGlmIHNlbGYucG9ydF9uYW1lOgotICAgICAgICAg
ICAgc3VmZml4ID0gc2VsZi5wb3J0X25hbWUudXBwZXIoKQotICAgICAgICByZXR1cm4gc2VsZi5f
ZmlsZXN5c3RlbS5leGlzdHMoc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1dlYktpdEJ1aWxk
Jywgc3VmZml4LCAiRmxhdHBha1RyZWUiKSkKLQogICAgIGRlZiBfaW5fZmxhdHBha19zYW5kYm94
KHNlbGYpOgotICAgICAgICByZXR1cm4gb3MucGF0aC5leGlzdHMoIi8uZmxhdHBhay1pbmZvIikK
KyAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKCIvLmZsYXRwYWstaW5mbyIp
CiAKICAgICBkZWYgX3Nob3VsZF91c2VfamhidWlsZChzZWxmKToKICAgICAgICAgaWYgc2VsZi5f
aW5fZmxhdHBha19zYW5kYm94KCk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3BvcnQvZ3RrLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQppbmRleCA2
OGJjMTY5MjNmOGFiNzYwOTFmNWIzZTk2NGQwNjVjNzk0M2ZmOGQ1Li4wY2U4YWE0ODc0NTkwOWM3
OTczNjg4M2IzNmQzNGU4NzQwOThkNDczIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQvZ3RrLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkK
QEAgLTEyMiw2ICsxMjIsNyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICBlbnZpcm9u
bWVudFsnVEVTVF9SVU5ORVJfSU5KRUNURURfQlVORExFX0ZJTEVOQU1FJ10gPSBzZWxmLl9idWls
ZF9wYXRoKCdsaWInLCAnbGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLnNvJykKICAgICAgICAg
ZW52aXJvbm1lbnRbJ1RFU1RfUlVOTkVSX1RFU1RfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxk
X3BhdGgoJ2xpYicsICdwbHVnaW5zJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vu
dmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJUicpCisgICAgICAgIHNl
bGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9K
SEJVSUxEJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVu
dmlyb25tZW50LCAnV0VCS0lUX1RPUF9MRVZFTCcpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVf
ZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1VTRV9QTEFZQklOMycpCiAgICAgICAg
IHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ0dTVF9E
RUJVRycpCkBAIC0xMzQsMTAgKzEzNSwxMSBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAg
ICAgICAgaWYgc2VsZi5fc2hvdWxkX3VzZV9qaGJ1aWxkKCk6CiAgICAgICAgICAgICAgICAgbGx2
bXBpcGVfbGliZ2xfcGF0aCA9IHNlbGYuaG9zdC5leGVjdXRpdmUucnVuX2NvbW1hbmQoc2VsZi5f
amhidWlsZF93cmFwcGVyICsgWydwcmludGVudicsICdMTFZNUElQRV9MSUJHTF9QQVRIJ10sCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGlnbm9yZV9lcnJvcnM9VHJ1ZSkuc3RyaXAoKQorICAgICAgICAgICAgICAgIGRy
aV9saWJnbF9wYXRoID0gb3MucGF0aC5qb2luKGxsdm1waXBlX2xpYmdsX3BhdGgsICJkcmkiKQog
ICAgICAgICAgICAgZWxzZTogICMgaW4gZmxhdHBhawotICAgICAgICAgICAgICAgIGxsdm1waXBl
X2xpYmdsX3BhdGggPSAiL2FwcC9zb2Z0R0wvbGliIgorICAgICAgICAgICAgICAgIGxsdm1waXBl
X2xpYmdsX3BhdGggPSAiL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS8iCisgICAgICAgICAgICAg
ICAgZHJpX2xpYmdsX3BhdGggPSBvcy5wYXRoLmpvaW4obGx2bXBpcGVfbGliZ2xfcGF0aCwgIkdM
IiwgImxpYiIsICJkcmkiKQogCi0gICAgICAgICAgICBkcmlfbGliZ2xfcGF0aCA9IG9zLnBhdGgu
am9pbihsbHZtcGlwZV9saWJnbF9wYXRoLCAiZHJpIikKICAgICAgICAgICAgIGlmIG9zLnBhdGgu
ZXhpc3RzKG9zLnBhdGguam9pbihsbHZtcGlwZV9saWJnbF9wYXRoLCAibGliR0wuc28iKSkgYW5k
IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihkcmlfbGliZ2xfcGF0aCwgInN3cmFzdF9kcmku
c28iKSk6CiAgICAgICAgICAgICAgICAgIyBNYWtlIHN1cmUgdmEtYXBpIHN1cHBvcnQgZ2V0cyBk
aXNhYmxlZCBiZWNhdXNlIGl0J3MgaW5jb21wYXRpYmxlIHdpdGggTWVzYSdzIHNvZnRHTCBkcml2
ZXIuCiAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0xJQlZBX0RSSVZFUl9OQU1FJ10gPSAi
bnVsbCIKQEAgLTE0OCw3ICsxNTAsNyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAg
ICAgICAgIGlmIG9zLmVudmlyb24uZ2V0KCdMRF9MSUJSQVJZX1BBVEgnKToKICAgICAgICAgICAg
ICAgICAgICAgZW52aXJvbm1lbnRbJ0xEX0xJQlJBUllfUEFUSCddICs9ICc6JXMnICUgb3MuZW52
aXJvbi5nZXQoJ0xEX0xJQlJBUllfUEFUSCcpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAg
ICAgICAgIF9sb2cud2FybmluZygiQ2FuJ3QgZmluZCBHYWxsaXVtIGxsdm1waXBlIGRyaXZlci4g
VHJ5IHRvIHJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0
cGFrIikKKyAgICAgICAgICAgICAgICBfbG9nLndhcm5pbmcoIkNhbid0IGZpbmQgR2FsbGl1bSBs
bHZtcGlwZSBkcml2ZXIuIFRyeSB0byBydW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0
ZS13ZWJraXQtZmxhdHBhayIpCiAgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbigibGVha3MiKToK
ICAgICAgICAgICAgICMgVHVybiBvZmYgR0xpYiBtZW1vcnkgb3B0aW1pc2F0aW9ucyBodHRwczov
L3dpa2kuZ25vbWUub3JnL1ZhbGdyaW5kLgogICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0dfU0xJ
Q0UnXSA9ICdhbHdheXMtbWFsbG9jJwpAQCAtMjM3LDcgKzIzOSw3IEBAIGNsYXNzIEd0a1BvcnQo
UG9ydCk6CiAKICAgICBkZWYgX2dldF9jcmFzaF9sb2coc2VsZiwgbmFtZSwgcGlkLCBzdGRvdXQs
IHN0ZGVyciwgbmV3ZXJfdGhhbiwgdGFyZ2V0X2hvc3Q9Tm9uZSk6CiAgICAgICAgIHJldHVybiBH
REJDcmFzaExvZ0dlbmVyYXRvcihzZWxmLl9leGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhh
biwKLSAgICAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0sIHNlbGYuX3BhdGhfdG9fZHJpdmVyKS5n
ZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIpCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlciwgc2Vs
Zi5wb3J0X25hbWUsIHNlbGYuZ2V0X29wdGlvbignY29uZmlndXJhdGlvbicpKS5nZW5lcmF0ZV9j
cmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIpCiAKICAgICBkZWYgdGVzdF9leHBlY3RhdGlvbnNfZmls
ZV9wb3NpdGlvbihzZWxmKToKICAgICAgICAgIyBHVEsgcG9ydCBiYXNlbGluZSBzZWFyY2ggcGF0
aCBpcyBndGsgLT4gd2syIC0+IGdlbmVyaWMgKGFzIGd0ay13azIgYW5kIGd0ayBiYXNlbGluZXMg
YXJlIG1lcmdlZCksIHNvIHBvcnQgdGVzdCBleHBlY3RhdGlvbnMgZmlsZSBpcyBhdCB0aGlyZCB0
byBsYXN0IHBvc2l0aW9uLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L2xpbnV4X2dldF9jcmFzaF9sb2cucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGlu
dXhfZ2V0X2NyYXNoX2xvZy5weQppbmRleCA5YWRjNDYzNzFmOTYxYjE5NjI4ZTdmZWRkNDY1ZWJm
ZDA5NmNkMDFhLi4yZTAzZGZmMWEzNmViNWMyMDVhZTY4NzljZDIyYmQyYzcwMjIxMWUzIDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5w
eQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5w
eQpAQCAtMzcsMTggKzM3LDIyIEBAIGltcG9ydCB0aW1lCiAKIGZyb20gd2Via2l0cHkuY29tbW9u
LnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IFNjcmlwdEVycm9yCiBmcm9tIHdlYmtpdHB5LmNvbW1v
bi51bmljb2RlX2NvbXBhdGliaWxpdHkgaW1wb3J0IGRlY29kZV9pZl9uZWNlc3NhcnkKK2Zyb20g
d2Via2l0cHkuY29tbW9uLndlYmtpdF9maW5kZXIgaW1wb3J0IFdlYktpdEZpbmRlcgogCiAKIGNs
YXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgX2ZpbmRfcGlkX3JlZ2V4ID0g
cmUuY29tcGlsZShyJ1BJRDogKFxkKykgXCguKlwpJykKIAotICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBleGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwgZmlsZXN5c3RlbSwgcGF0aF90b19k
cml2ZXIpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBleGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3
ZXJfdGhhbiwgZmlsZXN5c3RlbSwgcGF0aF90b19kcml2ZXIsIHBvcnRfbmFtZSwgY29uZmlndXJh
dGlvbik6CiAgICAgICAgIHNlbGYubmFtZSA9IG5hbWUKICAgICAgICAgc2VsZi5waWQgPSBwaWQK
ICAgICAgICAgc2VsZi5uZXdlcl90aGFuID0gbmV3ZXJfdGhhbgogICAgICAgICBzZWxmLl9maWxl
c3lzdGVtID0gZmlsZXN5c3RlbQogICAgICAgICBzZWxmLl9wYXRoX3RvX2RyaXZlciA9IHBhdGhf
dG9fZHJpdmVyCiAgICAgICAgIHNlbGYuX2V4ZWN1dGl2ZSA9IGV4ZWN1dGl2ZQorICAgICAgICBz
ZWxmLl9wb3J0X25hbWUgPSBwb3J0X25hbWUKKyAgICAgICAgc2VsZi5fY29uZmlndXJhdGlvbiA9
IGNvbmZpZ3VyYXRpb24KKyAgICAgICAgc2VsZi5fd2Via2l0X2ZpbmRlciA9IFdlYktpdEZpbmRl
cihmaWxlc3lzdGVtKQogCiAgICAgZGVmIF9nZXRfZ2RiX291dHB1dChzZWxmLCBjb3JlZHVtcF9w
YXRoKToKICAgICAgICAgcHJvY2Vzc19uYW1lID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKG9zLnBh
dGguZGlybmFtZShzdHIoc2VsZi5fcGF0aF90b19kcml2ZXIoKSkpLCBzZWxmLm5hbWUpCkBAIC02
Nyw2ICs3MSw5IEBAIGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAg
IHJldHVybiBmaWxlbmFtZQogCiAgICAgZGVmIF9nZXRfdHJhY2VfZnJvbV9zeXN0ZW1kKHNlbGYs
IGNvcmVkdW1wY3RsLCBwaWQpOgorICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZSgiLy5mbGF0cGFr
LWluZm8iKToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9nZXRfdHJhY2VfZnJvbV9mbGF0cGFr
KCkKKwogICAgICAgICAjIExldHRpbmcgdXAgdG8gNSBzZWNvbmRzIGZvciB0aGUgYmFja3RyYWNl
IHRvIGJlIGdlbmVyYXRlZCBvbiB0aGUgc3lzdGVtZCBzaWRlCiAgICAgICAgIGZvciB0cnlfbnVt
YmVyIGluIHJhbmdlKDUpOgogICAgICAgICAgICAgaWYgdHJ5X251bWJlciAhPSAwOgpAQCAtOTIs
MTIgKzk5LDI0IEBAIGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAg
ICAgICAgICAgICAgICAgICB0ZW1wX2ZpbGUubmFtZV0sIHJldHVybl9leGl0X2NvZGU9VHJ1ZSk6
CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAKLSAgICAgICAgICAgICAgICByZXMgPSBz
ZWxmLl9nZXRfZ2RiX291dHB1dChzZWxmLl9nZXRfdG1wX2ZpbGVfbmFtZShjb3JlZHVtcGN0bCwg
dGVtcF9maWxlLm5hbWUpKQotCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJlcworICAgICAgICAg
ICAgICAgIHJldHVybiBzZWxmLl9nZXRfZ2RiX291dHB1dChzZWxmLl9nZXRfdG1wX2ZpbGVfbmFt
ZShjb3JlZHVtcGN0bCwgdGVtcF9maWxlLm5hbWUpKQogCiAgICAgICAgIHJldHVybiAnJywgW10K
IAorICAgIGRlZiBfZ2V0X3RyYWNlX2Zyb21fZmxhdHBhayhzZWxmKToKKyAgICAgICAgaWYgc2Vs
Zi5uZXdlcl90aGFuOgorICAgICAgICAgICAgY29yZWR1bXBfc2luY2UgPSAiLS1nZGItc3RhY2st
dHJhY2U9QCVmIiAlIHNlbGYubmV3ZXJfdGhhbgorICAgICAgICBlbHNlOgorICAgICAgICAgICAg
Y29yZWR1bXBfc2luY2UgPSAiLS1nZGItc3RhY2stdHJhY2UiCisgICAgICAgIHdlYmtpdF9mbGF0
cGFrX3BhdGggPSBzZWxmLl93ZWJraXRfZmluZGVyLnBhdGhfdG9fc2NyaXB0KCd3ZWJraXQtZmxh
dHBhaycpCisgICAgICAgIGNtZCA9IFsnZmxhdHBhay1zcGF3bicsICctLWhvc3QnLCB3ZWJraXRf
ZmxhdHBha19wYXRoLCAnLS0lcycgJSBzZWxmLl9wb3J0X25hbWUsCisgICAgICAgICAgICAgICAi
LS0lcyIgJSBzZWxmLl9jb25maWd1cmF0aW9uLmxvd2VyKCksIGNvcmVkdW1wX3NpbmNlXQorCisg
ICAgICAgIHByb2MgPSBzZWxmLl9leGVjdXRpdmUucG9wZW4oY21kLCBzdGRpbj1Ob25lLCBzdGRv
dXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKQorICAgICAgICBjcmFz
aF9sb2csIHN0ZGVyciA9IHByb2MuY29tbXVuaWNhdGUoKQorICAgICAgICBlcnJvcnMgPSBkZWNv
ZGVfaWZfbmVjZXNzYXJ5KHN0cihzdGRlcnIgb3IgJzxlbXB0eT4nKSwgZXJyb3JzPSdpZ25vcmUn
KS5zcGxpdGxpbmVzKCkKKyAgICAgICAgcmV0dXJuIGNyYXNoX2xvZywgZXJyb3JzCisKICAgICBk
ZWYgZ2VuZXJhdGVfY3Jhc2hfbG9nKHNlbGYsIHN0ZG91dCwgc3RkZXJyKToKICAgICAgICAgcGlk
X3JlcHJlc2VudGF0aW9uID0gc3RyKHNlbGYucGlkIG9yICc8dW5rbm93bj4nKQogICAgICAgICBs
b2dfZGlyZWN0b3J5ID0gb3MuZW52aXJvbi5nZXQoIldFQktJVF9DT1JFX0RVTVBTX0RJUkVDVE9S
WSIpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2Ny
YXNoX2xvZ191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9n
ZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5CmluZGV4IDlmM2I3ZTM5Mzc5YzQzYTEwNWVjZTIwYzFj
YTYyNjI0M2RmYTdkMzQuLjNhMzllODQ2NzBhNjRjODM2YjVlMTQ0MmZjOGEzNTkzNGMzN2RmOTQg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hf
bG9nX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9n
ZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5CkBAIC00Niw3ICs0Niw3IEBAIGNsYXNzIEdEQkNyYXNo
TG9nR2VuZXJhdG9yVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGV4ZWN1dGl2ZSA9
IE1vY2tFeGVjdXRpdmUoKQogICAgICAgICBleGVjdXRpdmUuX3Byb2MgPSBNb2NrUHJvY2Vzcygp
CiAgICAgICAgIGV4ZWN1dGl2ZS5fcHJvYy5zdGRvdXQgPSAnU1RERVJSOiA8ZW1wdHk+JwotICAg
ICAgICBnZW5lcmF0b3IgPSBHREJDcmFzaExvZ0dlbmVyYXRvcihleGVjdXRpdmUsICdEdW1wUmVu
ZGVyVHJlZScsIDI4NTI5LCBuZXdlcl90aGFuPU5vbmUsIGZpbGVzeXN0ZW09TW9ja0ZpbGVTeXN0
ZW0oeycvcGF0aC90by9jb3JlZHVtcHMnOiAnJ30pLCBwYXRoX3RvX2RyaXZlcj1Ob25lKQorICAg
ICAgICBnZW5lcmF0b3IgPSBHREJDcmFzaExvZ0dlbmVyYXRvcihleGVjdXRpdmUsICdEdW1wUmVu
ZGVyVHJlZScsIDI4NTI5LCBuZXdlcl90aGFuPU5vbmUsIGZpbGVzeXN0ZW09TW9ja0ZpbGVTeXN0
ZW0oeycvcGF0aC90by9jb3JlZHVtcHMnOiAnJ30pLCBwYXRoX3RvX2RyaXZlcj1Ob25lLCBwb3J0
X25hbWU9Imd0ayIsIGNvbmZpZ3VyYXRpb249IkRlYnVnIikKIAogICAgICAgICBjb3JlX2RpcmVj
dG9yeSA9IG9zLmVudmlyb24uZ2V0KCdXRUJLSVRfQ09SRV9EVU1QU19ESVJFQ1RPUlknLCAnL3Bh
dGgvdG8vY29yZWR1bXBzJykKICAgICAgICAgY29yZV9wYXR0ZXJuID0gZ2VuZXJhdG9yLl9maWxl
c3lzdGVtLmpvaW4oY29yZV9kaXJlY3RvcnksICJjb3JlLXBpZF8lcC5kdW1wIikKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93cGUucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvd3BlLnB5CmluZGV4IDk1YzQ4OTM2NjVmNThjZjIyYTJiOWM1N2ZmMzZmNTdj
NWE0YTM0MjcuLjlkZjY1ZDRmM2Y4OTYzMjYzYzFjMTE3MWQ4MjdjMzAxNDI1ZDY2MDAgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93cGUucHkKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9wb3J0L3dwZS5weQpAQCAtNzcsNiArNzcsNyBAQCBjbGFzcyBXUEVQb3J0
KFBvcnQpOgogICAgICAgICBlbnZpcm9ubWVudFsnVEVTVF9SVU5ORVJfVEVTVF9QTFVHSU5fUEFU
SCddID0gc2VsZi5fYnVpbGRfcGF0aCgnbGliJywgJ3BsdWdpbnMnKQogICAgICAgICBlbnZpcm9u
bWVudFsnV0VCS0lUX0VYRUNfUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0aCgnYmluJykKICAgICAg
ICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VC
S0lUX09VVFBVVERJUicpCisgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lm
X3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9KSEJVSUxEJykKICAgICAgICAgc2VsZi5fY29weV92
YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX1RPUF9MRVZFTCcp
CiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVu
dCwgJ1VTRV9QTEFZQklOMycpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9u
X2lmX3NldChlbnZpcm9ubWVudCwgJ0dTVF9ERUJVRycpCkBAIC0xMjAsNyArMTIxLDggQEAgY2xh
c3MgV1BFUG9ydChQb3J0KToKICAgICAgICAgcmV0dXJuIDIKIAogICAgIGRlZiBfZ2V0X2NyYXNo
X2xvZyhzZWxmLCBuYW1lLCBwaWQsIHN0ZG91dCwgc3RkZXJyLCBuZXdlcl90aGFuLCB0YXJnZXRf
aG9zdD1Ob25lKToKLSAgICAgICAgcmV0dXJuIEdEQkNyYXNoTG9nR2VuZXJhdG9yKHNlbGYuX2V4
ZWN1dGl2ZSwgbmFtZSwgcGlkLCBuZXdlcl90aGFuLCBzZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9w
YXRoX3RvX2RyaXZlcikuZ2VuZXJhdGVfY3Jhc2hfbG9nKHN0ZG91dCwgc3RkZXJyKQorICAgICAg
ICByZXR1cm4gR0RCQ3Jhc2hMb2dHZW5lcmF0b3Ioc2VsZi5fZXhlY3V0aXZlLCBuYW1lLCBwaWQs
IG5ld2VyX3RoYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9m
aWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlciwgc2VsZi5wb3J0X25hbWUsIHNlbGYuZ2V0
X29wdGlvbignY29uZmlndXJhdGlvbicpKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRl
cnIpCiAKICAgICBkZWYgY29uZmlndXJhdGlvbl9mb3JfdXBsb2FkKHNlbGYsIGhvc3Q9Tm9uZSk6
CiAgICAgICAgIGNvbmZpZ3VyYXRpb24gPSBzdXBlcihXUEVQb3J0LCBzZWxmKS5jb25maWd1cmF0
aW9uX2Zvcl91cGxvYWQoaG9zdD1ob3N0KQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0ay5jcHAgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcAppbmRl
eCAzZjhlMjQ0MGYyODNlNGI0ZTU0MjdhZDY0NGQyYjNiNGUzMTk2NWExLi44MWJjZDk2MmEwOWM3
YWNmZWYyMmVjMmY0OGJjMDJiMjQ5YTU2YzQ0IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcAorKysgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNw
cApAQCAtNjUsOCArNjUsMTMgQEAgQ1N0cmluZyBnZXRPdXRwdXREaXIoKQogCiBzdGF0aWMgQ1N0
cmluZyBnZXRGb250c1BhdGgoKQogeworICAgIC8vIFRyeSBmbGF0cGFrIHNhbmRib3ggcGF0aC4K
KyAgICBHVW5pcXVlUHRyPGNoYXI+Zm9udHNQYXRoKGdfYnVpbGRfZmlsZW5hbWUoIi91c3IiLCAi
c2hhcmUiLCAid2Via2l0Z3RrLXRlc3QtZm9udHMiLCBOVUxMKSk7CisgICAgaWYgKGdfZmlsZV90
ZXN0KGZvbnRzUGF0aC5nZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9F
WElTVFMgfCBHX0ZJTEVfVEVTVF9JU19ESVIpKSkKKyAgICAgICAgcmV0dXJuIGZvbnRzUGF0aC5n
ZXQoKTsKKwogICAgIENTdHJpbmcgd2Via2l0T3V0cHV0RGlyID0gZ2V0T3V0cHV0RGlyKCk7Ci0g
ICAgR1VuaXF1ZVB0cjxjaGFyPiBmb250c1BhdGgoZ19idWlsZF9maWxlbmFtZSh3ZWJraXRPdXRw
dXREaXIuZGF0YSgpLCAiRGVwZW5kZW5jaWVzR1RLIiwgIlJvb3QiLCAid2Via2l0Z3RrLXRlc3Qt
Zm9udHMiLCBudWxscHRyKSk7CisgICAgZm9udHNQYXRoLnJlc2V0KGdfYnVpbGRfZmlsZW5hbWUo
d2Via2l0T3V0cHV0RGlyLmRhdGEoKSwgIkRlcGVuZGVuY2llc0dUSyIsICJSb290IiwgIndlYmtp
dGd0ay10ZXN0LWZvbnRzIiwgbnVsbHB0cikpOwogICAgIGlmIChnX2ZpbGVfdGVzdChmb250c1Bh
dGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfRVhJU1RTIHwgR19G
SUxFX1RFU1RfSVNfRElSKSkpCiAgICAgICAgIHJldHVybiBmb250c1BhdGguZ2V0KCk7CiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2
YXRlRm9udHNXUEUuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93
cGUvQWN0aXZhdGVGb250c1dQRS5jcHAKaW5kZXggYTQ5YzdhMjkyMTgyNTkxZTI3MjdiMmI5MDFl
NDEyYjJkZThlMDNkYS4uOGJlNzM2ZjA0OWM5MWIzMDhjZDJjMWVjYWYxNDA1YTA1YzFhZTUwMCAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0
aXZhdGVGb250c1dQRS5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS93cGUvQWN0aXZhdGVGb250c1dQRS5jcHAKQEAgLTU4LDggKzU4LDEzIEBAIENTdHJpbmcg
Z2V0T3V0cHV0RGlyKCkKIAogc3RhdGljIENTdHJpbmcgZ2V0Rm9udHNQYXRoKCkKIHsKKyAgICAv
LyBUcnkgZmxhdHBhayBzYW5kYm94IHBhdGguCisgICAgR1VuaXF1ZVB0cjxjaGFyPmZvbnRzUGF0
aChnX2J1aWxkX2ZpbGVuYW1lKCIvdXNyIiwgInNoYXJlIiwgIndlYmtpdGd0ay10ZXN0LWZvbnRz
IiwgTlVMTCkpOworICAgIGlmIChnX2ZpbGVfdGVzdChmb250c1BhdGguZ2V0KCksIHN0YXRpY19j
YXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfRVhJU1RTIHwgR19GSUxFX1RFU1RfSVNfRElSKSkp
CisgICAgICAgIHJldHVybiBmb250c1BhdGguZ2V0KCk7CisKICAgICBDU3RyaW5nIHdlYmtpdE91
dHB1dERpciA9IGdldE91dHB1dERpcigpOwotICAgIEdVbmlxdWVQdHI8Y2hhcj4gZm9udHNQYXRo
KGdfYnVpbGRfZmlsZW5hbWUod2Via2l0T3V0cHV0RGlyLmRhdGEoKSwgIkRlcGVuZGVuY2llc1dQ
RSIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgbnVsbHB0cikpOworICAgIGZvbnRz
UGF0aC5yZXNldChnX2J1aWxkX2ZpbGVuYW1lKHdlYmtpdE91dHB1dERpci5kYXRhKCksICJEZXBl
bmRlbmNpZXNXUEUiLCAiUm9vdCIsICJ3ZWJraXRndGstdGVzdC1mb250cyIsIG51bGxwdHIpKTsK
ICAgICBpZiAoZ19maWxlX3Rlc3QoZm9udHNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRl
c3Q+KEdfRklMRV9URVNUX0VYSVNUUyB8IEdfRklMRV9URVNUX0lTX0RJUikpKQogICAgICAgICBy
ZXR1cm4gZm9udHNQYXRoLmdldCgpOwogCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL2ZpbGVz
L2RlZmF1bHQueGttIGIvVG9vbHMvZmxhdHBhay9maWxlcy9kZWZhdWx0LnhrbQpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDE2ZjZiMDhmNmQ4MDg1ODA5NjhiYTAyMjU2ZDkwNzVkNDhh
NDdkMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMApHSVQgYmluYXJ5
IHBhdGNoCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKbGl0ZXJhbCAxMjAzMgp6Y21jZ3lZajdMYWIt
dWU7NUZraVZsMyVmRmNTXnJ4KiROWTJMNHNpR3JVQyh3cHp0JlJsOUgyJXJBU3okTVVnWn0Kek4+
LWY0Tn5WKF5vd1VnYE56LUB5dERVfj5SQ1V3TlJER3FYYD4pZ0tZZFc0emBmP202YW9kQCtvdk5M
JS0qQGo+Cno+fmFtSXMlTyZXOURlKHFkKE9TKktLOTxiaStsTHVnPWc9SUA1aTIzTikwR1dlTX1Y
VTEwMFYyREt5fGl1U1BCNAp6cFUyalkrUThSYDk9fDY3WSotSUg5QSRjWl9uN0NXKWMkd0hSQmk4
S1dvelhFeWR4Xk51P3RNN082TzglcXJLTWMKemJSMVJETj1HI3sjI0otRndZbDVmK0U2TzREIXUh
SllPTyVJIUs/PDJ8SUdUT2oqMnFSKilDJE5jNk9IKWN4IUxGCnooKj41VTVXVSMlUkdtdyFvbDdU
e0hgYlNUSXk9WG94IW1kUVVVXmktX3dQcVVOKT1tcWxgQUd3NUVxaCRqNilfTQp6OE9TNmczel5D
bFElTU55UXRvdVEpb0FDWVJqdlRQMHtqWl9FNU5TK3pYSlJVQEdIUXQwS1dxSzNoKm5XKy1BRjMK
enRLezMyVHBvVVRffnFmM2hoSDlrZEhDaHdteG9eLWV0RyFpUT5re1BQXmA/Zk4rYDNFbn0qKnN7
SEViSTRabXNsCnpPflk+KmUkKClxaFRuODUqPSlCOzx3a1lCbEI9e15qZUllbVlxVnl7JHJRd2Vx
I0AmdzJ9bE1xM0NUakhYM0Q4Iwp6dHkoRiFAfEFNQUZ7I1JwRU15QU9ubENyVGZmSkFuQnYmWG1R
YX40eWg5bl97TkBieXZXfTgtOHZ1KSZzQD19TzMKemxgN31qeHpiIVNTMVEpWnJFK189SSR0V0RZ
VUhjc016UGpKZCUkPDAoUU1fTGhfX09rRFV8QmY7KFNBPyNfVzhmCnpRay1jd1hHYHMzdClMM14j
YWQmd1BAQWlANms0Uz9tdldRVWBGMyVrVUt4WCZYdyg7KiRueSM0R21ZR1EzeiZzVwp6bTE/dDwo
eTlDY2BZdjVyb1UxaDxgRmdke1lTJGFOKzF5O0NTI1FrTzNpWCswdCh+dG8mZVJjQ0JpQ3hyJSso
NnsKemBMLSQqRH4tOS1fI18xUmpaZSpgQ1gkZDgjRCUwRzxCJG5SMV9IWVkqaUZETDFHXjBER08p
fFFFKDV5Xj5AdSorCnp6JUIjMzREMlJoSHduOCoqaUZLMjVfWGZZbn1wcFk+P1VEMTNBLSVwdmFy
ai1FKF5PWD82Uj1TIVkmS0RFYk93ZAp6bkBYYlgoYSRPTGF8LT5PTE8tWF8mbmZoQzNqT1JOLTlg
Vm43IU5NJi0wXkNtd1RSfGQpbllyPm5yfTJxWEJ5MnAKekg8XlZAJkFGKjBCbjVGSFh+O05hMCtO
QURMU1VESW9lTWhgYn1zQigqdHhLQ1ZkdWltZyZxM0NienpyPVReZT8yCnoqcmoyWWhGdXpWWTFw
TTxteGYmJGNIXiljaHV0e3IjJGgpT3lLJmYhIXcmdTdxQ1pecGhsfkRqKEh9MVEhJHA2JQp6PW5y
PmRMTyhQNGwqXylaN0hqaS1tUCR7eVhFX0VjKXBtfktwaC1sPGJDdWE5JDRhP0BNO3AmfFdxSjFy
cGJLMEMKenJoIUdeSUlzenYwTWFmNEpPaThyJkk3WitJcDdxcSZTeExrITFLKWZhek4oUzB5NGg+
a29uQzNuY3Btc2BJVWdvCno/LVk+dm00VkRwS21XaWRAdGlaQyg/STV2MlFyQHBBb0gwOUdNXmZk
YEJjNjZKRlpyP0VeY3BoYn57U2wjfFBDaQp6R058Z2M7IT5yIVBeQHNTLW4+RyFFZHJaQyluMlNp
eH0mQnNrTHZrJFpUK2NUNkBpXmlUaURTanA+bVoqREt9a2cKeiYqZVFeTjlDOGRjYklQWndrVWkr
bTVYT0VtdzB2cVRyPHZmeCl3Nmo8PlRMPVlMKF9AKzl4PFJKdi09Rl82YVQ9CnpDJXJnTkRzQDtq
QD1GLUojaWp8P01MaiRwWismbilkcT02R3c5blVUP1BrNT1kM2czUSltd3M0IUlMSClieUQzJQp6
cFVPY2UmbkxLVURTSzNXTXZZSk5XPExKOSRIdmsxUjw9NkNhIX4xVFQ7NXUkPzZ9eSopcmdNQ0h9
Pk4zKT52ZzkKejUhKWxpbUlHY2dfSEU1TjlFfWJyaGJ1ayQoPzt0PkVKcnpMdzdBTipuLSQjK2Rm
MT84ZCs2blhIcjhWeiZiNHtlCnpqMSVkclFUNyRgKnpJb1VaZDAraXFZbFRCTmQpPUcqa081ZyNG
UURhU3VYbDdoT3JpZjN9OWFaI1ghdGF1XyREfgp6TEh8fGlgQ01oR0lFTXdvKUY7XkFJK2cqbVhH
am01KmhjaloxZ2pMckJ4MiFzKWlJQmY0VC1ITDI8XytyQUVVSngKenBUdy09TWYoaD9jQnh0UG99
ZEZgP20hR3krXzdTKV5NU1NuV3Brc3x0KGZJbExuPklDeDhgLVR3emJyMDY7cjIyCnpPJUplTXJg
aEpaN2x1NSY/Z2NiQzt5NUk2YUorZl8lcjxCSHF1RiYjUTRCe2Z1OSlwdTB9O28lRDtPVUpYIXUk
Rwp6LV5SZklFellRUVVwekR4TCshPFZVSzk7RmZTcTU9IWNHKkk0TlV8IXUrVUY3Pkoodn1QP3Nu
K3RPS1k9NEUxbUAKejdleW9Sdio4emtVaiUrT3szMjI3LVVEXmleV3hJWCt5WGtkby1jRlloYnwx
PzE2UDxJTkRQcCRVNl5+T3hCN2hqCnp6cVQjTSY4QGJyampsbDMrR3lLajJpbiNqS2ohaGhjezdM
R0NkfEZJZGJ7fVRYPUJHNGs/fFhSJlUpPEBjK1R8TAp6bHNVaX5xdSs2JHR5O3pFb1pudklkWklo
PDlRKVZKX193Mjs3VXBGPFZoODU2Z3FvPyglUX0za1dreHVeT0ZxSCYKel41JiZHMTk9OWZwMH57
VEg9ODMoeyRAVDI9SWB+I0o7RDZIYiN2PnNXKmdzWC03RSs1NEM9OzQodGpBaGRpfXQ+CnojV2Zj
NW0zbHw4e09hODRWcXdXX2tPSmorZCEoRHlHM3BHTXpDZEkpXlRvdEI5TClFJEFNPyVmMihIdD9I
cSgxTwp6PGpaKjNXP1U7Q1BfMUdFSkxxPENpTGFTVXhtc2FLQDdSSkpnIXNjXzZSTmtnOXJsaVZy
PFhPJHRqayZoK1gmWnUKej47biQwb3lhc2UkS01nR1hRTUxUa19yMShgdzA2YntsUzhMKWY8UUN0
PXteR3pPdkN6TX15QF40fCEkdT5tT2FPCnpRUTZ4ZktZbHxBPyF9K091RlU9Pj5oZ3A4WGo5ZnVz
bl87VlhMfSNwQmczQnUtJCNBMXFgP3BmYH44biNRS0wxKwp6bF9UN3kwZURvbndnPi07X1ElTFc4
fWZRMSNKe1kwcUw9PTloPHtie3A8ZXBlTGozRVI1QkpqRjREbVpPa0xqXz0KekB7ajhIdSFsd2J0
aW8tPTg5KHskIVdscExodkAmfEt+Iy1RPlRtNUl0VXZnSGBoJEQqQTdGbSlrMj1PYkV9WS0yCnpj
cU11cTE+cVZkaGQ7Knd1YU89JV9BZkNXWXV9MmdlRlVNQFBseCNEZEt9SjN8QWBSKWIpUiFPUChL
eW8qTG9jSgp6PE5DMT5mNFJwXjElNW9sZjN3SDthVmhvYjVkVkNTcWFMe2JPbzshTSZuPjNeV1Fo
TlVhQmtzd3tZOzRlc1BLZWkKeiNfejklXyRQZz9yLW9rKUBsV3wmY2oyI3VfJTkyTyVncGppQV54
SzlMNzh9ZEhwRzlgPEVBXitYRzhvaWc/c1Y7CnptQ3RwS2U9VkgtJi1WRzc5I15gKFVLUUBPJilA
ZGFWVTA0cylaPHtfdWdtIUk/NyFsMzlwTXszKlg0aUo9ZW04fgp6Pn5UfSFmQStjZHt9LVFZZ01h
bjhfV3k/UExEUVk7LStacTl8Sn49PnwzN0BMe3JeKz1WZnI2WT5QQz17RCluRSYKekZ+aktte0Bk
cWgzOGw3IV85dkJrQ2N4Pj80UkUmQ1BMTHlfLTV8I155QkZrVylKczgqXyR+K2VzOFlgY0kzTXtk
CnowblJAOEshQ0ZXe3pDWEw/c0A2Pyl0aXJDcHkkXkIqWW00ej1DOX0xME4zLVlhRihhJSo4dGJe
dDhqI2BeIXlzJgp6ZWBtJU1UR3pDJV8wOU1aJlFGSyVhPj5pP2FvdjRiS2ZIOV5lT055e1pZSTJG
a0RDUSFwdlVuZGp3e3lWY3RPViUKej97UEROMlljTCVzNj53XndFYSt6NHsxSyE8RUJMKTdYSHlq
Y2VaPE9NP0t7OCNyNGV7Xj89N3VFTDY4dkpMKkE/CnpqflRBbDdpa34xZkw+cH41M0RjWHRVYzVK
TiFsO01rMSVyQzQlMjxVa00tREZLVmQ+VUVtKCMxPzslSWtfUjVMOQp6b2ZHU3VvISNVNVg5eGJ5
Zlp0RzVhcjZBZmBwKCt1QCVoJUhDVWZARXkoa2x9cCgrS3t7bWN5YXtBUDdoPylmcU8KekxBZjZY
Snx5PU96PSEyTjEzV0FEbGZZd2dwOU1aOV9meD4qYS1SZTsxZVBAaFQkMjBtMSloLW1JTzN3dlcp
TGB2Cnp2NXRFeV8tKmVRKmdqJEc1OWx2THg3YkpEZnYoc2AtLVdLKE42KzdqK0l7cj1IaEhGeGVo
PDMmS0tnYSY9S0FRagp6cHNWLU1aJHNCR2RpN3I1YjhgUUY7MTU5OVotPncoN1dUbVpWQXwrRntn
K3tyR2Q+Nk9gMjQ5X2VlfG8pNzVlQygKemZeTWRke3ljUUVlZWBTNG1IT3pQaFZFMSFKJTUrdXd+
VFBWOyoqJUY3YF4lKTtDSVhZQmZ0bWJ7YC1MK2ZeZSRnCnp5dSkkd0tKWDdoIXVmcHd4K25ZU3BN
PyZ1QjUkIUBmaUItaWUranlVS0tnVWVQNTA0bkxSYWdmelglO1ppMGhjJgp6MzRDMWMtdnhZKytg
ays2ZUd0fn4/QD5RfnA5X0JmPFgkQnhfaGFze1ZaaytrXkV9N01zUD96QHlifGBtNHg2QkcKenRg
NkokRV5MQ3JgOCNhJGQkMCkjPWsmMTZANTNmMm9hZShmZSpsfUhhUEFNPXsyXj9EIXUyMypeOTkl
aGc9PDlFCno9OHM/IzZze1gjbj1pczlDfHBhekhoJkQ4cG0yUyR0UncxcT0tS3shLXs4Mzl6TCRH
cC1nQSUzZUp9NjFwWERBbQp6b0c8czhMRSpZV2QreHV2Qys5dSl5ND9UcnA4SWFAI2whaDxLTj1M
U1NHNERRMF5jMlkmdnlkOEMtOSM4ZjQmcCYKem9fa2c5VXdRdm9Bb3JANGJ5ZElmVk9aZlM1JDl0
NmB3R1Z9JDFiMTBwTSEqQmM/SkdLO28yTHZgNGlYI2gzaGYwCnoocnRONm15YjBeQElrPngxUm5y
O3dtKzxPamB+TW54RDM3bjFaQzg7aTUzMj5WO09kTExod3ZrIVFZO15yK09YMgp6eyFJdXIxZT0y
TWY9PnZ4MVEhTHtmKHdFeGc4TStQNCE3LWRFYTRxaEBPSHQrMWI7Xy1VVjtQcSRtO2h5KChTT2gK
ekFhPHdWJEcmN2duIWQhRUZLT2RJUXw/S3tKKW1XcylPJGFjZV9tfFgxKW1iIS1qQ3x8ST5NaDN6
OXtpczVXRmIzCnpDVSZRVktQfGk/ezV5ZHIyQnFGRHgpWHgkN2tuO1leRnlNYDJ+Rz5YT1lsai1G
fk1FST1MUFEoT2JWdDJqfG5+awp6Xnh9Q1o/JTglazNmdHUhcVBxaV82NVU7KnlBJFp5LTZ2YDk1
IT9pTmBGPmIqY01JK2FFe0toMV9wSW96MnkhM0EKejdgVFRidThIMzM4IXo5WT13fTNIMXh0YytL
KENDP2lTOEUhVWxlPylYTEQ3NXw2bmB0O3lUMGloUyEoJXtZaWIjCnpAbmQ4QkBjTyMrRzI0aTdk
aExgS1VKeHRgez02WFRQa1lickd2TGdSSXpFQCl7bGBWYGFqI0UqTUV2ZytUb1FhLQp6QFRfMTQ9
PXBsJUowZlllcGV1TXImPURMRWowJHBXR1FPX2hDaj43R3pFfCoqZn1heG5HKkRPUUNqWGN4RkF1
JSoKelA5eENtPEYjaXtAcHRWfXtuNjA2JTNxZXY3M2M1Uk15PjN0LVdNeHstd0RsR0NQfjcoZ2A9
KkQ0fVdqSXhWXj1uCnoqN15DYWNSOHhPeXQkMEl3NVE+SFlvcFdJIyYySCE2fnA8Ym8kYnloX21j
PiVjajB7MDkpSXNRcXM2RzlUaT9NKAp6WXBgZDxHT05xJCohLUVkR24wVGwmKVJiTHtRQm0zI19u
STxaPkZzSEBLeVBzaFVBITw/UVpSRGtNYlNuJntmKj0KekQ7eDh5WnRkLUtNJDRUbUowcWppPXVa
VHdoZERQa2kxKClCK2JnTiQjR35xY3g1WjxhUWM8X1ZoJCpJRHVxTT5sCnpWYEZRYmpaMi1+Xl9B
dFppPUVaPXleQ1lydkNYYVMjcFI3TEI7cF90eytxd2Bvdm16a1ZybmRmbXsmVkhFOFg/Jgp6LVNz
VyoyWnoqYlhTMzU/VWx+UEY7OEFzTVZ8bkVRQGJjT144ZmllQz97PT1aTnJTMG1sKVNUdkNeViol
QE5yYkYKei1veXNkIyk1JUdTWTUtUDRaSClqZDt4Iz40dmY9YmUpPFAzS1loKCZJIT15WjxMJncx
OVl9WHtJIX4+OXQ4fF9zCnohfW17bzM/N2lxeCpPeTRabVZtI2lnRkU2VWVqcmUkdzgyZ2I9STB1
bG90QF4zcCFyKjVxPERHSTZtOV48KCYkfAp6bGhOXztecUhUMkJUKFBoYmJXYysldW9NRCEyZTZ5
emdqTkA+Tl5yaHpvR3FHRiEyM2YzKmBUMkNMSmYoe1BkP0MKenpkYVk2N3dgPTZecUhVRDRkajFU
bShTQmBlKT1gRWs+Nml1UVU2TUBmY28+SjlVdTJNP05eV3xiaCE2KUY0ezQhCnpYNylCJCVzX2Zv
VH57dzN4KCo4clJhXj1EYVUkVmFMVWY2WnZ2akZmOzB8PWJpRHwpYyEzbTU8Pk5DUDgxKyMpdgp6
Q093cmpKZTNtRWBTR2tBaE0yezNkZXJsKjg8QSVzeDdVYHtJczNaRzQ4MHR8XkI0OHY4XkkwRkto
WH43OEZoWEAKem9nWXhnMmh7TmFDJlcoMjJkPzctPmlCP0RDZiZyeGJDSlN6ZXRaSihvZXdSVXol
THNwN2lUM0NfPk97ZVFOfEFFCnpzPGJgTVJTQkFNYWpyX1pESHJGZWdxdzE0dUY3eUo3dzBPND4t
X2orVjZAdkcjaDU+WWF5aGFTRHIpMldsKEVENAp6RHtZVlNTQXdRb29XQnhvJUVrRkI7aWc9aXpj
TzZQI2tvdiFLQj5lNDF7Qk5WbGFqIVIwLWtAPV9CZ0w4WHYpUVQKekUjYW5Jb1l4WD0lRWZzdDtp
Zz1pPVFQfXUlT0A/TlZ6d1JPY3RtK1BKQmQ0Kz1oK2YhKEJecWhCRn10Y09qPG5WCnpMKFgkPE00
b311VD5BfiRGOyFlJC1fX0dRIyFQYSFVfnxrMkk+O0xSbUI0ZD1aem5pd2k1UDYyJHQzYmpDWHMj
MQp6YmVfV2A9bE0qTlVPLXZPRjJJNWgyaFZZbUdpS1dKSmZ9e19TeHpGKWJgbyhHdGFEfDFkRyh6
QTspb3EjOUVzbDgKeldrNVdhTjt7cXZIQ1JQbSRYZ20yNUFBcXY2PyUoalJ9REBIPF9aWmx0ajds
OTtDV1YpSnxVUlYkaTZpQnEoc2xCCnpwWlRRKWktPnp6Kk18IX1YUDwtYExWN2B1MSlLcnZ0VHZX
Nko2S0M/XntWPTlKT0J8NjRxVS1+ZnJHakNZYT04MAp6ck97bCR5QFg/VHQ9QTZ3WTJrZj82WHt4
UzlQIWhLeXxkUHA8I1F9STtAblZRSylHTDN0MiVSQ1pvPlN3YEY3WFIKekx3Y3tuSldMXng9blp4
S0Z6UkhQR0VEcllraGZkTDtsTnBNc2Z2bVcrKSRzIzxvWW93JDc+NnpqKFdSZ2FjO284Ck1ra3Nk
fmJJSWlZMDgzSzAyPjx7OQoKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvZmlsZXMvaHR0cGQt
YXV0b2dlbi5zaCBiL1Rvb2xzL2ZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMWMwYzQ4MzA1MWZiZGY4NjA0Yjk0NGE2MzUxMWM0ZTEy
MWVhZWY0ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9U
b29scy9mbGF0cGFrL2ZpbGVzL2h0dHBkLWF1dG9nZW4uc2gKKysrIC9kZXYvbnVsbApAQCAtMSwy
ICswLDAgQEAKLWF1dG9tYWtlIC0tYWRkLW1pc3NpbmcKLWF1dG9yZWNvbmYgLS1pbnN0YWxsCmRp
ZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL2ZsYXRwYWt1dGlscy5weSBiL1Rvb2xzL2ZsYXRwYWsv
ZmxhdHBha3V0aWxzLnB5CmluZGV4IDg5ZWJjNjczMTBjMWQ1Yjg0YzkwY2Y1NDA3Zjk0MGMwMWIw
NWVlZTYuLmM4ZDcwOGZkYTE5OWE2ZWY4MjEwMThjYjY5NGM4NTcwZmY3YjZkNzQgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5CisrKyBiL1Rvb2xzL2ZsYXRwYWsvZmxh
dHBha3V0aWxzLnB5CkBAIC00OSwxNSArNDksMTAgQEAgZXhjZXB0IEltcG9ydEVycm9yOgogCiBG
TEFUUEFLX1JFUSA9IFsKICAgICAoImZsYXRwYWsiLCAiMC4xMC4wIiksCi0gICAgKCJmbGF0cGFr
LWJ1aWxkZXIiLCAiMC4xMC4wIiksCiBdCiAKIEZMQVRQQUtfVkVSU0lPTiA9IHt9CiAKLVdQRV9N
QU5JRkVTVF9NQVAgPSB7Ci0gICAgInF0IjogIm9yZy53ZWJraXQuV1BFUVQueWFtbCIsCi19Ci0K
IHNjcmlwdGRpciA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pKQog
X2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCkBAIC0xMjMsMTMyICsxMTgsNiBA
QCBkZWYgY2hlY2tfZmxhdHBhayh2ZXJib3NlPVRydWUpOgogICAgIHJldHVybiBUcnVlCiAKIAot
ZGVmIHJlbW92ZV9leHRlbnNpb25fcG9pbnRzKGFycmF5KToKLSAgICByZXN1bHRfYXJncyA9IFtd
Ci0gICAgZm9yIGFyZyBpbiBhcnJheToKLSAgICAgICAgaWYobm90IGFyZy5zdGFydHN3aXRoKCct
LWV4dGVuc2lvbicpKToKLSAgICAgICAgICAgIHJlc3VsdF9hcmdzLmFwcGVuZChhcmcpCi0gICAg
cmV0dXJuIHJlc3VsdF9hcmdzCi0KLQotZGVmIHJlbW92ZV9jb21tZW50cyhzdHJpbmcpOgotICAg
IHBhdHRlcm4gPSByIihcIi4qP1wifFwnLio/XCcpfCgvXCouKj9cKi98Ly9bXlxyXG5dKiQpIgot
ICAgICMgZmlyc3QgZ3JvdXAgY2FwdHVyZXMgcXVvdGVkIHN0cmluZ3MgKGRvdWJsZSBvciBzaW5n
bGUpCi0gICAgIyBzZWNvbmQgZ3JvdXAgY2FwdHVyZXMgY29tbWVudHMgKC8vc2luZ2xlLWxpbmUg
b3IgLyogbXVsdGktbGluZSAqLykKLSAgICByZWdleCA9IHJlLmNvbXBpbGUocGF0dGVybiwgcmUu
TVVMVElMSU5FIHwgcmUuRE9UQUxMKQotCi0gICAgZGVmIF9yZXBsYWNlcihtYXRjaCk6Ci0gICAg
ICAgICMgaWYgdGhlIDJuZCBncm91cCAoY2FwdHVyaW5nIGNvbW1lbnRzKSBpcyBub3QgTm9uZSwK
LSAgICAgICAgIyBpdCBtZWFucyB3ZSBoYXZlIGNhcHR1cmVkIGEgbm9uLXF1b3RlZCAocmVhbCkg
Y29tbWVudCBzdHJpbmcuCi0gICAgICAgIGlmIG1hdGNoLmdyb3VwKDIpIGlzIG5vdCBOb25lOgot
ICAgICAgICAgICAgcmV0dXJuICIiICAjIHNvIHdlIHdpbGwgcmV0dXJuIGVtcHR5IHRvIHJlbW92
ZSB0aGUgY29tbWVudAotICAgICAgICBlbHNlOiAgIyBvdGhlcndpc2UsIHdlIHdpbGwgcmV0dXJu
IHRoZSAxc3QgZ3JvdXAKLSAgICAgICAgICAgIHJldHVybiBtYXRjaC5ncm91cCgxKSAgIyBjYXB0
dXJlZCBxdW90ZWQtc3RyaW5nCi0gICAgcmV0dXJuIHJlZ2V4LnN1YihfcmVwbGFjZXIsIHN0cmlu
ZykKLQotCi1kZWYgbG9hZF9tYW5pZmVzdChtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWU9Tm9uZSwg
Y29tbWFuZD1Ob25lKToKLSAgICBpc195YW1sID0gbWFuaWZlc3RfcGF0aC5lbmRzd2l0aCgnLnlh
bWwnKQotICAgIHdpdGggb3BlbihtYW5pZmVzdF9wYXRoLCAiciIpIGFzIG1yOgotICAgICAgICBj
b250ZW50cyA9IG1yLnJlYWQoKQotCi0gICAgICAgIGNvbnRlbnRzID0gY29udGVudHMgJSB7IkNP
TU1BTkQiOiBjb21tYW5kLCAiUE9SVE5BTUUiOiBwb3J0X25hbWV9Ci0gICAgICAgIGlmIGlzX3lh
bWw6Ci0gICAgICAgICAgICBpbXBvcnQgeWFtbAotICAgICAgICAgICAgeWFtbF9sb2FkID0gZ2V0
YXR0cih5YW1sLCAic2FmZV9sb2FkIiwgeWFtbC5sb2FkKQotICAgICAgICAgICAgbWFuaWZlc3Qg
PSB5YW1sX2xvYWQoY29udGVudHMpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBjb250ZW50
cyA9IHJlbW92ZV9jb21tZW50cyhjb250ZW50cykKLSAgICAgICAgICAgIG1hbmlmZXN0ID0ganNv
bi5sb2Fkcyhjb250ZW50cykKLQotICAgIHJldHVybiBtYW5pZmVzdAotCi0KLWRlZiBleHBhbmRf
c3VibW9kdWxlc19yZWN1cnNlKG1vZHVsZXMsIG1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZSwgY29t
bWFuZCk6Ci0gICAgYWxsX21vZHVsZXMgPSBbXQotICAgIGlmIHR5cGUobW9kdWxlcykgaXMgc3Ry
OgotICAgICAgICBzdWJtYW5pZmVzdF9wYXRoID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFt
ZShtYW5pZmVzdF9wYXRoKSwgbW9kdWxlcykKLSAgICAgICAgc3VibWFuaWZlc3QgPSBsb2FkX21h
bmlmZXN0KHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZT1wb3J0X25hbWUsIGNvbW1hbmQ9Y29t
bWFuZCkKLSAgICAgICAgYWxsX21vZHVsZXMuZXh0ZW5kKGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vy
c2Uoc3VibWFuaWZlc3QsIHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCkpCi0g
ICAgICAgIHJldHVybiBhbGxfbW9kdWxlcwotCi0gICAgIyBUaGUgbGFzdCByZWN1cnNlIG1hbmlm
ZXN0IGV4cGFuZCBpdGVyYXRpb24gbWlnaHQgbGVhZCB0byBhIHNpbmdsZSBtb2R1bGUuCi0gICAg
aWYgbm90IGlzaW5zdGFuY2UobW9kdWxlcywgbGlzdCk6Ci0gICAgICAgIGFsbF9tb2R1bGVzLmFw
cGVuZChtb2R1bGVzKQotICAgICAgICByZXR1cm4gYWxsX21vZHVsZXMKLQotICAgIGZvciBtb2R1
bGUgaW4gbW9kdWxlczoKLSAgICAgICAgaWYgdHlwZShtb2R1bGUpIGlzIHN0cjoKLSAgICAgICAg
ICAgIHN1Ym1hbmlmZXN0X3BhdGggPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKG1hbmlm
ZXN0X3BhdGgpLCBtb2R1bGUpCi0gICAgICAgICAgICBzdWJtYW5pZmVzdCA9IGxvYWRfbWFuaWZl
c3Qoc3VibWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lPXBvcnRfbmFtZSwgY29tbWFuZD1jb21tYW5k
KQotICAgICAgICAgICAgYWxsX21vZHVsZXMuZXh0ZW5kKGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vy
c2Uoc3VibWFuaWZlc3QsIHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCkpCi0g
ICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBhbGxfbW9kdWxlcy5hcHBlbmQobW9kdWxlKQotCi0g
ICAgcmV0dXJuIGFsbF9tb2R1bGVzCi0KLWRlZiBleHBhbmRfbWFuaWZlc3QobWFuaWZlc3RfcGF0
aCwgb3V0ZmlsZSwgcG9ydF9uYW1lLCBzb3VyY2Vfcm9vdCwgY29tbWFuZCk6Ci0gICAgIiIiQ3Jl
YXRlcyB0aGUgbWFuaWZlc3QgZmlsZS4iIiIKLSAgICB0cnk6Ci0gICAgICAgIG9zLnJlbW92ZShv
dXRmaWxlKQotICAgIGV4Y2VwdCBPU0Vycm9yOgotICAgICAgICBwYXNzCi0KLSAgICBtYW5pZmVz
dCA9IGxvYWRfbWFuaWZlc3QobWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lPXBvcnRfbmFtZSwgY29t
bWFuZD1jb21tYW5kKQotICAgIGlmIG5vdCBtYW5pZmVzdDoKLSAgICAgICAgcmV0dXJuIEZhbHNl
Ci0KLSAgICBpZiAic2RrLWhhc2giIGluIG1hbmlmZXN0OgotICAgICAgICBkZWwgbWFuaWZlc3Rb
InNkay1oYXNoIl0KLSAgICBpZiAicnVudGltZS1oYXNoIiBpbiBtYW5pZmVzdDoKLSAgICAgICAg
ZGVsIG1hbmlmZXN0WyJydW50aW1lLWhhc2giXQotCi0gICAgYWxsX21vZHVsZXMgPSBbXQotCi0g
ICAgb3ZlcnJpZGVuX21vZHVsZXMgPSBbXQotICAgIGlmICJXRUJLSVRfRVhUUkFfTU9EVUxFU0VU
UyIgaW4gb3MuZW52aXJvbjoKLSAgICAgICAgb3ZlcnJpZGVuX21vZHVsZXMgPSBsb2FkX21hbmlm
ZXN0KG9zLmVudmlyb25bIldFQktJVF9FWFRSQV9NT0RVTEVTRVRTIl0pCi0gICAgICAgIGlmIG5v
dCBvdmVycmlkZW5fbW9kdWxlczoKLSAgICAgICAgICAgIG92ZXJyaWRlbl9tb2R1bGVzID0gW10K
LSAgICBmb3IgbW9kdWxlcyBpbiBtYW5pZmVzdFsibW9kdWxlcyJdOgotICAgICAgICBtb2R1bGVz
ID0gZXhwYW5kX3N1Ym1vZHVsZXNfcmVjdXJzZShtb2R1bGVzLCBtYW5pZmVzdF9wYXRoLCBwb3J0
X25hbWUsIGNvbW1hbmQpCi0KLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UobW9kdWxlcywgbGlz
dCk6Ci0gICAgICAgICAgICBtb2R1bGVzID0gW21vZHVsZXNdCi0KLSAgICAgICAgZm9yIG1vZHVs
ZSBpbiBtb2R1bGVzOgotICAgICAgICAgICAgZm9yIG92ZXJyaWRlbl9tb2R1bGUgaW4gb3ZlcnJp
ZGVuX21vZHVsZXM6Ci0gICAgICAgICAgICAgICAgaWYgbW9kdWxlWyduYW1lJ10gPT0gb3ZlcnJp
ZGVuX21vZHVsZVsnbmFtZSddOgotICAgICAgICAgICAgICAgICAgICBtb2R1bGUgPSBvdmVycmlk
ZW5fbW9kdWxlCi0gICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlbl9tb2R1bGVzLnJlbW92ZSht
b2R1bGUpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrCi0KLSAgICAgICAgICAgIGFsbF9tb2R1
bGVzLmFwcGVuZChtb2R1bGUpCi0KLSAgICAjIEFuZCBhZGQgb3ZlcnJpZGVuIG1vZHVsZXMgcmln
aHQgYmVmb3JlIHRoZSB3ZWJraXQgcG9ydCBidWlsZCBkZWYuCi0gICAgZm9yIG92ZXJyaWRlbl9t
b2R1bGUgaW4gb3ZlcnJpZGVuX21vZHVsZXM6Ci0gICAgICAgIGFsbF9tb2R1bGVzLmluc2VydCgt
MSwgb3ZlcnJpZGVuX21vZHVsZSkKLQotICAgIG1hbmlmZXN0WyJtb2R1bGVzIl0gPSBhbGxfbW9k
dWxlcwotICAgIGZvciBtb2R1bGUgaW4gbWFuaWZlc3RbIm1vZHVsZXMiXToKLSAgICAgICAgaWYg
bm90IG1vZHVsZS5nZXQoInNvdXJjZXMiKToKLSAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAg
ICAgaWYgbW9kdWxlWyJzb3VyY2VzIl1bMF1bInR5cGUiXSA9PSAiZ2l0IjoKLSAgICAgICAgICAg
IGlmIHBvcnRfbmFtZSA9PSBtb2R1bGVbIm5hbWUiXToKLSAgICAgICAgICAgICAgICByZXBvID0g
ImZpbGU6Ly8iICsgc291cmNlX3Jvb3QKLSAgICAgICAgICAgICAgICBtb2R1bGVbInNvdXJjZXMi
XVswXVsidXJsIl0gPSByZXBvCi0KLSAgICAgICAgZm9yIHNvdXJjZSBpbiBtb2R1bGVbInNvdXJj
ZXMiXToKLSAgICAgICAgICAgIGlmIHNvdXJjZVsidHlwZSJdID09ICJwYXRjaCIgb3IgKHNvdXJj
ZVsidHlwZSJdID09ICJmaWxlIiBhbmQgc291cmNlLmdldCgncGF0aCcpKToKLSAgICAgICAgICAg
ICAgICBzb3VyY2VbInBhdGgiXSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUobWFuaWZl
c3RfcGF0aCksIHNvdXJjZVsicGF0aCJdKQotCi0gICAgd2l0aCBvcGVuKG91dGZpbGUsICJ3Iikg
YXMgb2Y6Ci0gICAgICAgIG9mLndyaXRlKGpzb24uZHVtcHMobWFuaWZlc3QsIGluZGVudD00KSkK
LQotICAgIHJldHVybiBUcnVlCi0KLQogY2xhc3MgRmxhdHBha09iamVjdDoKIAogICAgIGRlZiBf
X2luaXRfXyhzZWxmLCB1c2VyKToKQEAgLTI4NCw3ICsxNTMsNiBAQCBjbGFzcyBGbGF0cGFrUGFj
a2FnZXMoRmxhdHBha09iamVjdCk6CiAgICAgICAgIHNlbGYuYXBwcyA9IHNlbGYuX19kZXRlY3Rf
YXBwcygpCiAgICAgICAgIHNlbGYucGFja2FnZXMgPSBzZWxmLnJ1bnRpbWVzICsgc2VsZi5hcHBz
CiAKLQogICAgIGRlZiBfX2RldGVjdF9wYWNrYWdlcyhzZWxmLCAqYXJncyk6CiAgICAgICAgIHBh
Y2tzID0gW10KICAgICAgICAgaWYgRkxBVFBBS19WRVJTSU9OWyJmbGF0cGFrIl0gPCAoMSwgMSwg
Mik6CkBAIC0zMTIsNyArMTgwLDYgQEAgY2xhc3MgRmxhdHBha1BhY2thZ2VzKEZsYXRwYWtPYmpl
Y3QpOgogCiAgICAgICAgIHJldHVybiBwYWNrcwogCi0KICAgICBkZWYgX19kZXRlY3RfcnVudGlt
ZXMoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9fZGV0ZWN0X3BhY2thZ2VzKCItLXJ1bnRp
bWUiKQogCkBAIC0zNjIsNyArMjI5LDcgQEAgY2xhc3MgRmxhdHBha1JlcG9zKEZsYXRwYWtPYmpl
Y3QpOgogICAgICAgICAgICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIk5vIHZhbGlkIFVSSSBm
b3VuZCBmb3I6ICVzIiwgcmVwbykKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKIAotICAg
ICAgICAgICAgICAgIHNlbGYucmVwb3NbbmFtZV0gPSBGbGF0cGFrUmVwbyhuYW1lLCB1cmwsIGRl
c2MsIHJlcG9zPXNlbGYpCisgICAgICAgICAgICAgICAgc2VsZi5yZXBvc1tuYW1lXSA9IEZsYXRw
YWtSZXBvKG5hbWU9bmFtZSwgdXJsPXVybCwgZGVzYz1kZXNjLCByZXBvcz1zZWxmKQogICAgICAg
ICBlbHNlOgogICAgICAgICAgICAgb3V0ID0gc2VsZi5mbGF0cGFrKCJyZW1vdGUtbGlzdCIsICIt
LWNvbHVtbnM9bmFtZSx0aXRsZSx1cmwiKQogICAgICAgICAgICAgcmVtb3RlcyA9IFtsaW5lIGZv
ciBsaW5lIGluIG91dC5zcGxpdCgiXG4iKSBpZiBsaW5lXQpAQCAtMzczLDcgKzI0MCw3IEBAIGNs
YXNzIEZsYXRwYWtSZXBvcyhGbGF0cGFrT2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgQ29u
c29sZS5tZXNzYWdlKCJObyB2YWxpZCBVUkkgZm91bmQgZm9yOiAlcyIsIHJlbW90ZSkKICAgICAg
ICAgICAgICAgICAgICAgY29udGludWUKIAotICAgICAgICAgICAgICAgIHNlbGYucmVwb3NbbmFt
ZV0gPSBGbGF0cGFrUmVwbyhuYW1lLCB1cmwsIHRpdGxlLCByZXBvcz1zZWxmKQorICAgICAgICAg
ICAgICAgIHNlbGYucmVwb3NbbmFtZV0gPSBGbGF0cGFrUmVwbyhuYW1lPW5hbWUsIHVybD11cmws
IGRlc2M9dGl0bGUsIHJlcG9zPXNlbGYpCiAKICAgICAgICAgc2VsZi5wYWNrYWdlcyA9IEZsYXRw
YWtQYWNrYWdlcyhzZWxmKQogCkBAIC00NDksOSArMzE2LDEyIEBAIGNsYXNzIEZsYXRwYWtQYWNr
YWdlKEZsYXRwYWtPYmplY3QpOgogICAgICAgICBzZWxmLmFyY2ggPSBhcmNoCiAgICAgICAgIHNl
bGYuaGFzaCA9IGhhc2gKIAotICAgIGRlZiBfX3N0cl9fKHNlbGYpOgorICAgIGRlZiBfX3JlcHJf
XyhzZWxmKToKICAgICAgICAgcmV0dXJuICIlcy8lcy8lcyAlcyIgJSAoc2VsZi5uYW1lLCBzZWxm
LmFyY2gsIHNlbGYuYnJhbmNoLCBzZWxmLnJlcG8ubmFtZSkKIAorICAgIGRlZiBfX3N0cl9fKHNl
bGYpOgorICAgICAgICByZXR1cm4gIiVzLyVzLyVzIiAlIChzZWxmLm5hbWUsIHNlbGYuYXJjaCwg
c2VsZi5icmFuY2gpCisKICAgICBkZWYgaXNfaW5zdGFsbGVkKHNlbGYsIGJyYW5jaCk6CiAgICAg
ICAgIGlmIG5vdCBzZWxmLnJlcG86CiAgICAgICAgICAgICAjIEJ1bmRsZSBpbnN0YWxsZWQgZnJv
bSBmaWxlCkBAIC00OTEsNyArMzYxLDcgQEAgY2xhc3MgRmxhdHBha1BhY2thZ2UoRmxhdHBha09i
amVjdCk6CiAgICAgICAgIGV4dHJhX2FyZ3MuYXBwZW5kKCItLWFzc3VtZXllcyIpCiAKICAgICAg
ICAgc2VsZi5mbGF0cGFrKCJ1cGRhdGUiLCBzZWxmLm5hbWUsIHNlbGYuYnJhbmNoLCBzaG93X291
dHB1dD1UcnVlLAotICAgICAgICAgICAgICAgICAgICAqZXh0cmFfYXJncywgY29tbWVudD1jb21t
ZW50KQorICAgICAgICAgICAgICAgICAgICAgKmV4dHJhX2FyZ3MsIGNvbW1lbnQ9Y29tbWVudCkK
IAogCiBAY29udGV4dG1hbmFnZXIKQEAgLTUxOSw1MSArMzg5LDUyIEBAIGNsYXNzIFdlYmtpdEZs
YXRwYWs6CiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCctLXZlcmJvc2UnLCBhY3Rpb249
J3N0b3JlX3RydWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdTaG93IGRl
YnVnIG1lc3NhZ2UnKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLS1kZWJ1ZyIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iQ29tcGlsZSB3aXRoIERlYnVnIGNvbmZp
Z3VyYXRpb24sIGFsc28gaW5zdGFsbHMgU2RrIGRlYnVnIHN5bWJvbGVzLiIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIikKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaGVscD0iQ29tcGlsZSB3aXRoIERlYnVnIGNvbmZpZ3VyYXRpb24sIGFsc28g
aW5zdGFsbHMgU2RrIGRlYnVnIHN5bWJvbGVzLiIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCIt
LXJlbGVhc2UiLCBoZWxwPSJDb21waWxlIHdpdGggUmVsZWFzZSBjb25maWd1cmF0aW9uLiIsIGFj
dGlvbj0ic3RvcmVfdHJ1ZSIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCctLXBsYXRm
b3JtJywgYWN0aW9uPSdzdG9yZScsIGhlbHA9J1BsYXRmb3JtIHRvIHVzZSAoZS5nLiwgIm1hYy1s
aW9uIiknKSwKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoJy0tZ3RrJywgYWN0aW9uPSdz
dG9yZV9jb25zdCcsIGRlc3Q9J3BsYXRmb3JtJywgY29uc3Q9J2d0aycsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGhlbHA9J0FsaWFzIGZvciAtLXBsYXRmb3JtPWd0aycpCiAgICAgICAg
IGdlbmVyYWwuYWRkX2FyZ3VtZW50KCctLXdwZScsIGFjdGlvbj0nc3RvcmVfY29uc3QnLCBkZXN0
PSdwbGF0Zm9ybScsIGNvbnN0PSd3cGUnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhl
bHA9KCdBbGlhcyBmb3IgLS1wbGF0Zm9ybT13cGUnKSkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0oJ0FsaWFzIGZvciAtLXBsYXRmb3JtPXdwZScpKQogICAgICAgICBnZW5lcmFs
LmFkZF9hcmd1bWVudCgiLW5mIiwgIi0tbm8tZmxhdHBhay11cGRhdGUiLCBkZXN0PSJub19mbGF0
cGFrX3VwZGF0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90
cnVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJEbyBub3QgdXBkYXRlIGZs
YXB0YWsgcnVudGltZS9zZGsiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249
InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJEbyBub3Qg
dXBkYXRlIGZsYXB0YWsgcnVudGltZS9zZGsiKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVu
dCgiLXUiLCAiLS11cGRhdGUiLCBkZXN0PSJ1cGRhdGUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
aGVscD0iVXBkYXRlIHRoZSBydW50aW1lL3Nkay9hcHAgYW5kIHJlYnVpbGQgdGhlIGRldmVsb3Bt
ZW50IGVudmlyb25tZW50IGlmIG5lZWRlZCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9
IlVwZGF0ZSB0aGUgcnVudGltZS9zZGsvYXBwIGFuZCByZWJ1aWxkIHRoZSBkZXZlbG9wbWVudCBl
bnZpcm9ubWVudCBpZiBuZWVkZWQiKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLWIi
LCAiLS1idWlsZC13ZWJraXQiLCBkZXN0PSJidWlsZF93ZWJraXQiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0iRm9yY2UgcmVidWlsZGluZyB0aGUgYXBwLiIpCi0gICAgICAgIGdlbmVyYWwu
YWRkX2FyZ3VtZW50KCItYmEiLCAiLS1idWlsZC1hbGwiLCBkZXN0PSJidWlsZF9hbGwiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaGVscD0iRm9yY2UgcmVidWlsZGluZyB0aGUgYXBwIGFuZCBpdHMg
ZGVwZW5kZW5jaWVzLiIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3Rv
cmVfdHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkZvcmNlIHJlYnVp
bGRpbmcgdGhlIGFwcC4iKQorICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLWJnc3QiLCAi
LS1idWlsZC1nc3QiLCBkZXN0PSJidWlsZF9nc3QiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBo
ZWxwPSJGb3JjZSByZWJ1aWxkaW5nIGdzdC1idWlsZCwgcmVwb3NpdG9yeSBwYXRoIGlzIGRlZmlu
ZWQgYnkgdGhlIGBHU1RfQlVJTERfUEFUSGAgZW52aXJvbm1lbnQgdmFyaWFibGUuIikKICAgICAg
ICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi1xIiwgIi0tcXVpZXQiLCBkZXN0PSJxdWlldCIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBoZWxwPSJEbyBub3QgcHJpbnQgYW55dGhpbmciKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoZWxwPSJEbyBub3QgcHJpbnQgYW55dGhpbmciKQogICAgICAgICBn
ZW5lcmFsLmFkZF9hcmd1bWVudCgiLXQiLCAiLS10ZXN0cyIsIGRlc3Q9InJ1bl90ZXN0cyIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFyZ3M9YXJncGFyc2UuUkVNQUlOREVSLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlJ1biBMYXlvdXRUZXN0cyIpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG5hcmdzPWFyZ3BhcnNlLlJFTUFJTkRFUiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaGVscD0iUnVuIExheW91dFRlc3RzIikKICAgICAgICAgZ2Vu
ZXJhbC5hZGRfYXJndW1lbnQoIi1jIiwgIi0tY29tbWFuZCIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbmFyZ3M9YXJncGFyc2UuUkVNQUlOREVSLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhlbHA9IlRoZSBjb21tYW5kIHRvIHJ1biBpbiB0aGUgc2FuZGJveCIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZGVzdD0idXNlcl9jb21tYW5kIikKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbmFyZ3M9YXJncGFyc2UuUkVNQUlOREVSLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBoZWxwPSJUaGUgY29tbWFuZCB0byBydW4gaW4gdGhlIHNhbmRib3giLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0PSJ1c2VyX2NvbW1hbmQiKQogICAgICAg
ICBnZW5lcmFsLmFkZF9hcmd1bWVudCgnLS1hdmFpbGFibGUnLCBhY3Rpb249J3N0b3JlX3RydWUn
LCBkZXN0PSJjaGVja19hdmFpbGFibGUiLCBoZWxwPSdDaGVjayBpZiByZXF1aXJlZCBkZXBlbmRl
bmNpZXMgYXJlIGF2YWlsYWJsZS4nKSwKLSAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi0t
dXNlLWljZWNyZWFtIiwgaGVscD0iVXNlIHRoZSBkaXN0cmlidXRlZCBpY2VjcmVhbSAoaWNlY2Mp
IGNvbXBpbGVyLiIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIpCi0gICAgICAgIGdlbmVyYWwuYWRkX2Fy
Z3VtZW50KCItLXdwZS1leHRlbnNpb24iLCBhY3Rpb249InN0b3JlIiwgZGVzdD0id3BlX2V4dGVu
c2lvbiIsIGhlbHA9IldQRSBFeHRlbnNpb24gdG8gZW5hYmxlIikKKyAgICAgICAgZ2VuZXJhbC5h
ZGRfYXJndW1lbnQoIi0tdXNlLWljZWNyZWFtIiwgZGVzdD0idXNlX2ljZWNyZWFtIiwgaGVscD0i
VXNlIHRoZSBkaXN0cmlidXRlZCBpY2VjcmVhbSAoaWNlY2MpIGNvbXBpbGVyLiIsIGFjdGlvbj0i
c3RvcmVfdHJ1ZSIpCiAKICAgICAgICAgZGVidWdvcHRpb25zID0gcGFyc2VyLmFkZF9hcmd1bWVu
dF9ncm91cCgiRGVidWdnaW5nIikKICAgICAgICAgZGVidWdvcHRpb25zLmFkZF9hcmd1bWVudCgi
LS1nZGIiLCBuYXJncz0iPyIsIGhlbHA9IkFjdGl2YXRlIGdkYiwgcGFzc2luZyBleHRyYSBhcmdz
IHRvIGl0IGlmIHdhbnRlZC4iKQorICAgICAgICBkZWJ1Z29wdGlvbnMuYWRkX2FyZ3VtZW50KCIt
LWdkYi1zdGFjay10cmFjZSIsIGRlc3Q9ImdkYl9zdGFja190cmFjZSIsIG5hcmdzPSI/IiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJEdW1wIHRoZSBzdGFja3RyYWNl
IHRvIHN0ZG91dC4gVGhlIGFyZ3VtZW50IGlzIGEgdGltZXN0YW1wIHRvIGJlIHBhcnNlZCBieSBj
b3JlZHVtcGN0bC4iKQogICAgICAgICBkZWJ1Z29wdGlvbnMuYWRkX2FyZ3VtZW50KCItbSIsICIt
LWNvcmVkdW1wY3RsLW1hdGNoZXMiLCBkZWZhdWx0PSIiLCBoZWxwPSdBcmd1bWVudHMgdG8gcGFz
cyB0byBnZGIuJykKIAogICAgICAgICBidWlsZG9wdGlvbnMgPSBwYXJzZXIuYWRkX2FyZ3VtZW50
X2dyb3VwKCJFeHRyYSBidWlsZCBhcmd1bWVudHMiKQogICAgICAgICBidWlsZG9wdGlvbnMuYWRk
X2FyZ3VtZW50KCItLW1ha2VhcmdzIiwgaGVscD0iT3B0aW9uYWwgTWFrZWZpbGUgZmxhZ3MiKQog
ICAgICAgICBidWlsZG9wdGlvbnMuYWRkX2FyZ3VtZW50KCItLWNtYWtlYXJncyIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9Ik9uZSBvciBtb3JlIG9wdGlvbmFsIENNYWtl
IGZsYWdzIChlLmcuIC0tY21ha2VhcmdzPVwiLURGT089YmFyIC1EQ01BS0VfUFJFRklYX1BBVEg9
L3Vzci9sb2NhbFwiKSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0i
T25lIG9yIG1vcmUgb3B0aW9uYWwgQ01ha2UgZmxhZ3MgKGUuZy4gLS1jbWFrZWFyZ3M9XCItREZP
Tz1iYXIgLURDTUFLRV9QUkVGSVhfUEFUSD0vdXNyL2xvY2FsXCIpIikKIAogICAgICAgICBnZW5l
cmFsLmFkZF9hcmd1bWVudCgiLS1jbGVhbiIsIGRlc3Q9ImNsZWFuIiwgYWN0aW9uPSJzdG9yZV90
cnVlIiwKLSAgICAgICAgICAgIGhlbHA9IkNsZWFuIHByZXZpb3VzIGJ1aWxkcyBhbmQgcmVzdGFy
dCBmcm9tIHNjcmF0Y2giKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJDbGVh
biBwcmV2aW91cyBidWlsZHMgYW5kIHJlc3RhcnQgZnJvbSBzY3JhdGNoIikKIAogICAgICAgICBf
LCBzZWxmLmFyZ3MgPSBwYXJzZXIucGFyc2Vfa25vd25fYXJncyhhcmdzPWFyZ3MsIG5hbWVzcGFj
ZT1zZWxmKQogCkBAIC01ODMsNiArNDU0LDcgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAg
ICAgc2VsZi51cGRhdGUgPSBGYWxzZQogICAgICAgICBzZWxmLmFyZ3MgPSBbXQogICAgICAgICBz
ZWxmLmZpbmlzaF9hcmdzID0gTm9uZQorICAgICAgICBzZWxmLmdkYl9zdGFja190cmFjZSA9IEZh
bHNlCiAKICAgICAgICAgc2VsZi5ub19mbGF0cGFrX3VwZGF0ZSA9IEZhbHNlCiAgICAgICAgIHNl
bGYucmVsZWFzZSA9IEZhbHNlCkBAIC01OTQsOSArNDY2LDEwIEBAIGNsYXNzIFdlYmtpdEZsYXRw
YWs6CiAgICAgICAgIHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCA9ICIvYXBwL3dlYmtpdCIKIAog
ICAgICAgICBzZWxmLmJ1aWxkX3dlYmtpdCA9IEZhbHNlCisgICAgICAgIHNlbGYuYnVpbGRfZ3N0
ID0gRmFsc2UKICAgICAgICAgc2VsZi5idWlsZF9hbGwgPSBGYWxzZQogCi0gICAgICAgIHNlbGYu
c2RrX2JyYW5jaCA9IE5vbmUKKyAgICAgICAgc2VsZi5zZGtfYnJhbmNoID0gIjAuMSIKICAgICAg
ICAgc2VsZi5wbGF0Zm9ybSA9ICJndGsiCiAgICAgICAgIHNlbGYuYnVpbGRfdHlwZSA9ICJSZWxl
YXNlIgogICAgICAgICBzZWxmLm1hbmlmZXN0X3BhdGggPSBOb25lCkBAIC02MDcsNyArNDgwLDYg
QEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgc2VsZi5hcHBfbW9kdWxlID0gTm9uZQog
ICAgICAgICBzZWxmLmZsYXRwYWtfZGVmYXVsdF9hcmdzID0gW10KICAgICAgICAgc2VsZi5jaGVj
a19hdmFpbGFibGUgPSBGYWxzZQotICAgICAgICBzZWxmLndwZV9leHRlbnNpb24gPSBOb25lCiAK
ICAgICAgICAgIyBEZWZhdWx0IGFwcGxpY2F0aW9uIHRvIHJ1biBpbiB0aGUgc2FuZGJveAogICAg
ICAgICBzZWxmLmNvbW1hbmQgPSBOb25lCkBAIC02NDYsMzAgKzUxOCwyMCBAQCBjbGFzcyBXZWJr
aXRGbGF0cGFrOgogICAgICAgICAgICAgc2VsZi5nZGIgPSAiIgogCiAgICAgICAgIHNlbGYuY29t
bWFuZCA9ICIlcyAlcyAlcyIgJSAob3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9v
dCwKLSAgICAgICAgICAgICJUb29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlciIpLAotICAgICAg
ICAgICAgIi0tIiArIHNlbGYucGxhdGZvcm0ubG93ZXIoKSwKLSAgICAgICAgICAgICIgLS1kZWJ1
ZyIgaWYgc2VsZi5kZWJ1ZyBlbHNlICIgLS1yZWxlYXNlIikKLQotICAgICAgICBzZWxmLm5hbWUg
PSAib3JnLndlYmtpdC4lcyIgJSBzZWxmLnBsYXRmb3JtCi0KLSAgICAgICAgaWYgc2VsZi53cGVf
ZXh0ZW5zaW9uOgotICAgICAgICAgICAgbWFuaWZlc3RfZmlsZW5hbWUgPSBXUEVfTUFOSUZFU1Rf
TUFQW3NlbGYud3BlX2V4dGVuc2lvbl0KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG1hbmlm
ZXN0X2ZpbGVuYW1lID0gIm9yZy53ZWJraXQuV2ViS2l0LnlhbWwiCi0gICAgICAgIHNlbGYubWFu
aWZlc3RfcGF0aCA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4oc2NyaXB0ZGlyLCAnLi4v
ZmxhdHBhay8nKSArIG1hbmlmZXN0X2ZpbGVuYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiVG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXIi
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS0iICsgc2VsZi5wbGF0
Zm9ybS5sb3dlcigpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgLS1k
ZWJ1ZyIgaWYgc2VsZi5kZWJ1ZyBlbHNlICIgLS1yZWxlYXNlIikKIAotICAgICAgICBzZWxmLmJ1
aWxkX25hbWUgPSBzZWxmLm5hbWUgKyAiLWdlbmVyYXRlZCIKKyAgICAgICAgc2VsZi5mbGF0cGFr
X2J1aWxkX3BhdGggPSBvcy5lbnZpcm9uWyJGTEFUUEFLX1VTRVJfRElSIl0KIAogICAgICAgICBi
dWlsZF9yb290ID0gb3MucGF0aC5qb2luKHNlbGYuc291cmNlX3Jvb3QsICdXZWJLaXRCdWlsZCcp
Ci0gICAgICAgIHNlbGYuZmxhdHBha19idWlsZF9wYXRoID0gb3MucGF0aC5qb2luKGJ1aWxkX3Jv
b3QsIHNlbGYucGxhdGZvcm0sICJGbGF0cGFrVHJlZSIgKyBzZWxmLmJ1aWxkX3R5cGUpCi0gICAg
ICAgIHNlbGYuY2FjaGVfcGF0aCA9IG9zLnBhdGguam9pbihidWlsZF9yb290LCAiRmxhdHBha0Nh
Y2hlIikKICAgICAgICAgc2VsZi5idWlsZF9wYXRoID0gb3MucGF0aC5qb2luKGJ1aWxkX3Jvb3Qs
IHNlbGYucGxhdGZvcm0sIHNlbGYuYnVpbGRfdHlwZSkKICAgICAgICAgdHJ5OgogICAgICAgICAg
ICAgb3MubWFrZWRpcnMoc2VsZi5idWlsZF9wYXRoKQogICAgICAgICBleGNlcHQgT1NFcnJvciBh
cyBlOgogICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FRVhJU1Q6CiAgICAgICAgICAg
ICAgICAgcmFpc2UgZQotICAgICAgICBzZWxmLmNvbmZpZ19maWxlID0gb3MucGF0aC5qb2luKHNl
bGYuYnVpbGRfcGF0aCwgJ3dlYmtpdF9mbGF0cGFrX2NvbmZpZy5qc29uJykKKyAgICAgICAgc2Vs
Zi5jb25maWdfZmlsZSA9IG9zLnBhdGguam9pbihzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCwgJ3dl
YmtpdF9mbGF0cGFrX2NvbmZpZy5qc29uJykKIAogICAgICAgICBDb25zb2xlLnF1aWV0ID0gc2Vs
Zi5xdWlldAogICAgICAgICBpZiBub3QgY2hlY2tfZmxhdHBhaygpOgpAQCAtNjc3LDM1ICs1Mzks
MzUgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKIAogICAgICAgICByZXBvcyA9IEZsYXRwYWtSZXBv
cygpCiAgICAgICAgIHNlbGYuc2RrX3JlcG8gPSByZXBvcy5hZGQoCi0gICAgICAgICAgICBGbGF0
cGFrUmVwbygiZmxhdGh1YiIsCi0gICAgICAgICAgICAgICAgICAgICAgICB1cmw9Imh0dHBzOi8v
ZGwuZmxhdGh1Yi5vcmcvcmVwby8iLAotICAgICAgICAgICAgICAgICAgICAgICAgcmVwb19maWxl
PSJodHRwczovL2RsLmZsYXRodWIub3JnL3JlcG8vZmxhdGh1Yi5mbGF0cGFrcmVwbyIpKQorICAg
ICAgICAgICAgRmxhdHBha1JlcG8oIndlYmtpdC1zZGsiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgdXJsPSJodHRwczovL3NvZnR3YXJlLmlnYWxpYS5jb20vd2Via2l0LXNkay1yZXBvLyIsCisg
ICAgICAgICAgICAgICAgICAgICAgICByZXBvX2ZpbGU9Imh0dHBzOi8vc29mdHdhcmUuaWdhbGlh
LmNvbS9mbGF0cGFrLXJlZnMvd2Via2l0LXNkay5mbGF0cGFrcmVwbyIpCisgICAgICAgICkKIAot
ICAgICAgICBtYW5pZmVzdCA9IGxvYWRfbWFuaWZlc3Qoc2VsZi5tYW5pZmVzdF9wYXRoLCBwb3J0
X25hbWU9c2VsZi5uYW1lKQotICAgICAgICBpZiBub3QgbWFuaWZlc3Q6Ci0gICAgICAgICAgICBy
ZXR1cm4gRmFsc2UKLQotICAgICAgICBzZWxmLmFwcCA9IG1hbmlmZXN0WydhcHAtaWQnXQotCi0g
ICAgICAgIHNlbGYuc2RrX2JyYW5jaCA9IG1hbmlmZXN0WyJydW50aW1lLXZlcnNpb24iXQotICAg
ICAgICBzZWxmLmZpbmlzaF9hcmdzID0gbWFuaWZlc3QuZ2V0KCJmaW5pc2gtYXJncyIsIFtdKQot
ICAgICAgICBzZWxmLmZpbmlzaF9hcmdzID0gcmVtb3ZlX2V4dGVuc2lvbl9wb2ludHMoc2VsZi5m
aW5pc2hfYXJncykKLSAgICAgICAgc2VsZi5ydW50aW1lID0gRmxhdHBha1BhY2thZ2UobWFuaWZl
c3RbJ3J1bnRpbWUnXSwgc2VsZi5zZGtfYnJhbmNoLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaGFzaD1tYW5pZmVzdC5nZXQoInJ1bnRpbWUtaGFzaCIpKQot
ICAgICAgICBzZWxmLmxvY2FsZSA9IEZsYXRwYWtQYWNrYWdlKG1hbmlmZXN0WydydW50aW1lJ10g
KyAnLkxvY2FsZScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5z
ZGtfYnJhbmNoLCBzZWxmLnNka19yZXBvLCAieDg2XzY0IikKLSAgICAgICAgc2VsZi5zZGsgPSBG
bGF0cGFrUGFja2FnZShtYW5pZmVzdFsnc2RrJ10sIHNlbGYuc2RrX2JyYW5jaCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNoPW1hbmlmZXN0LmdldCgic2RrLWhhc2gi
KSkKKyAgICAgICAgc2VsZi5maW5pc2hfYXJncyA9IFtdCisgICAgICAgIHNlbGYucnVudGltZSA9
IEZsYXRwYWtQYWNrYWdlKCJvcmcud2Via2l0LlBsYXRmb3JtIiwgc2VsZi5zZGtfYnJhbmNoLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2
XzY0IikKKyAgICAgICAgc2VsZi5sb2NhbGUgPSBGbGF0cGFrUGFja2FnZSgib3JnLndlYmtpdC5Q
bGF0Zm9ybS5Mb2NhbGUiLCBzZWxmLnNka19icmFuY2gsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCisgICAgICAgIHNlbGYuc2Rr
ID0gRmxhdHBha1BhY2thZ2UoIm9yZy53ZWJraXQuU2RrIiwgIjAuMSIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCiAgICAgICAgIHNl
bGYucGFja3MgPSBbc2VsZi5ydW50aW1lLCBzZWxmLmxvY2FsZSwgc2VsZi5zZGtdCiAKKyAgICAg
ICAgIyBGSVhNRTogRm9yIHVua25vd24gcmVhc29ucywgdGhlIEdMIGV4dGVuc2lvbiBuZWVkcyB0
byBiZSBleHBsaWNpdGVseQorICAgICAgICAjIGluc3RhbGxlZCBmb3IgRmxhdHBhayAxLjIueCB0
byBiZSBhYmxlIHRvIG1ha2UgdXNlIG9mIGl0LiBTZWVtcyBsaWtlCisgICAgICAgICMgaXQncyBu
b3QgY29ycmVjdGx5IGluaGVyaXRpbmcgaXQgZnJvbSB0aGUgU0RLLgorICAgICAgICBzZWxmLmZs
YXRodWJfcmVwbyA9IHJlcG9zLmFkZCgKKyAgICAgICAgICAgIEZsYXRwYWtSZXBvKCJmbGF0aHVi
IiwgcmVwb19maWxlPSJodHRwczovL2RsLmZsYXRodWIub3JnL3JlcG8vZmxhdGh1Yi5mbGF0cGFr
cmVwbyIpCisgICAgICAgICkKKyAgICAgICAgc2VsZi5nbF9leHRlbnNpb24gPSBGbGF0cGFrUGFj
a2FnZSgib3JnLmZyZWVkZXNrdG9wLlBsYXRmb3JtLkdMLmRlZmF1bHQiLCAiMTkuMDgiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmxhdGh1Yl9yZXBv
LCAieDg2XzY0IikKKyAgICAgICAgc2VsZi5wYWNrcy5hcHBlbmQoc2VsZi5nbF9leHRlbnNpb24p
CisKICAgICAgICAgaWYgc2VsZi5kZWJ1ZzoKLSAgICAgICAgICAgIHNlbGYuc2RrX2RlYnVnID0g
RmxhdHBha1BhY2thZ2UobWFuaWZlc3RbJ3NkayddICsgJy5EZWJ1ZycsIHNlbGYuc2RrX2JyYW5j
aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywg
Ing4Nl82NCIpCisgICAgICAgICAgICBzZWxmLnNka19kZWJ1ZyA9IEZsYXRwYWtQYWNrYWdlKCdv
cmcud2Via2l0LlNkay5EZWJ1ZycsIHNlbGYuc2RrX2JyYW5jaCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCiAgICAg
ICAgICAgICBzZWxmLnBhY2tzLmFwcGVuZChzZWxmLnNka19kZWJ1ZykKLSAgICAgICAgc2VsZi5t
YW5pZmVzdF9nZW5lcmF0ZWRfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLmNhY2hlX3BhdGgsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5i
dWlsZF9uYW1lICsgIi5qc29uIikKKwogICAgICAgICB0cnk6CiAgICAgICAgICAgICB3aXRoIG9w
ZW4oc2VsZi5jb25maWdfZmlsZSkgYXMgY29uZmlnOgogICAgICAgICAgICAgICAgIGpzb25fY29u
ZmlnID0ganNvbi5sb2FkKGNvbmZpZykKQEAgLTcxNSw3ICs1NzcsNDUgQEAgY2xhc3MgV2Via2l0
RmxhdHBhazoKIAogICAgICAgICByZXR1cm4gVHJ1ZQogCisgICAgZGVmIHNldHVwX2J1aWxkZGly
KHNlbGYsICoqa3dhcmdzKToKKyAgICAgICAgaWYgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2lu
KHNlbGYuZmxhdHBha19idWlsZF9wYXRoLCAibWV0YWRhdGEiKSk6CisgICAgICAgICAgICByZXR1
cm4KKworICAgICAgICBzZWxmLnNka19yZXBvLmZsYXRwYWsoImJ1aWxkLWluaXQiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAib3JnLndlYmtpdC5XZWJraXQiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3RyKHNlbGYuc2RrKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0cihzZWxmLnJ1bnRpbWUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2VsZi5zZGsuYnJhbmNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd19vdXRw
dXQ9InN0ZG91dCIgaW4ga3dhcmdzLmtleXMoKSkKKworICAgIGRlZiBzZXR1cF9nc3RidWlsZChz
ZWxmLCBidWlsZGluZyk6CisgICAgICAgIGdzdF9kaXIgPSBvcy5lbnZpcm9uLmdldCgnR1NUX0JV
SUxEX1BBVEgnKQorICAgICAgICBpZiBub3QgZ3N0X2RpcjoKKyAgICAgICAgICAgIHJldHVybiBb
XQorCisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oZ3N0X2Rpciwg
J2dzdC1lbnYucHknKSk6CisgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ0dTVF9CVUlM
RF9QQVRIIHNldCB0byAlcyBidXQgaXQgZG9lc25cJ3Qgc2VlbSB0byBiZSBhIHZhbGlkIGBnc3Qt
YnVpbGRgIGNoZWNrb3V0LicgJSBnc3RfZGlyKQorCisgICAgICAgIGdzdF9idWlsZGRpciA9IG9z
LnBhdGguam9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsICJXZWJLaXRCdWlsZCIsICdnc3Qt
YnVpbGQnKQorICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYu
c291cmNlX3Jvb3QsICdXZWJLaXRCdWlsZCcsICdnc3QtYnVpbGQnLCAnYnVpbGQubmluamEnKSk6
CisgICAgICAgICAgICBpZiBub3QgYnVpbGRpbmc6CisgICAgICAgICAgICAgICAgcmFpc2UgUnVu
dGltZUVycm9yKCdUcnlpbmcgdG8gZW50ZXIgZ3N0LWJ1aWxkIGVudiBmcm9tICVzIGJ1dCBpdCBp
cyBub3QgYnVpbHQsIG1ha2Ugc3VyZSB0byByZWJ1aWxkIHdlYmtpdC4nICUgZ3N0X2RpcikKKwor
ICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJSdW5uaW5nIG1lc29uIGZvciBgZ3N0LWJ1aWxk
YCAlcyAiLCBnc3RfZGlyKQorICAgICAgICAgICAgc2VsZi5ydW5faW5fc2FuZGJveCgnbWVzb24n
LCBnc3RfZGlyLCBnc3RfYnVpbGRkaXIsIGJ1aWxkaW5nX2dzdD1UcnVlKQorCisgICAgICAgIGlm
IG5vdCBidWlsZGluZzoKKyAgICAgICAgICAgIHJldHVybiBbb3MucGF0aC5qb2luKGdzdF9kaXIs
ICdnc3QtZW52LnB5JyksICctLWJ1aWxkZGlyJywgZ3N0X2J1aWxkZGlyLCAnLS1zcmNkaXInLCBn
c3RfZGlyXQorCisgICAgICAgIENvbnNvbGUubWVzc2FnZSgiQnVpbGRpbmcgYGdzdC1idWlsZGAg
JXMgIiwgZ3N0X2RpcikKKyAgICAgICAgaWYgc2VsZi5ydW5faW5fc2FuZGJveCgnbmluamEnLCAn
LUMnLCBnc3RfYnVpbGRkaXIsIGJ1aWxkaW5nX2dzdD1UcnVlKSAhPSAwOgorICAgICAgICAgICAg
cmFpc2UgUnVudGltZUVycm9yKCdFcnJvciB3aGlsZSBidWlsZGluZyBnc3QtYnVpbGQuJykKKwor
ICAgICAgICByZXR1cm4gW29zLnBhdGguam9pbihnc3RfZGlyLCAnZ3N0LWVudi5weScpLCAnLS1i
dWlsZGRpcicsIGdzdF9idWlsZGRpciwgJy0tc3JjZGlyJywgZ3N0X2Rpcl0KKwogICAgIGRlZiBy
dW5faW5fc2FuZGJveChzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBzZWxmLnNldHVw
X2J1aWxkZGlyKHN0ZG91dD1rd2FyZ3MuZ2V0KCJzdGRvdXQiLCBzeXMuc3Rkb3V0KSkKICAgICAg
ICAgY3dkID0ga3dhcmdzLnBvcCgiY3dkIiwgTm9uZSkKICAgICAgICAgZXh0cmFfZW52X3ZhcnMg
PSBrd2FyZ3MucG9wKCJlbnYiLCB7fSkKICAgICAgICAgc3Rkb3V0ID0ga3dhcmdzLnBvcCgic3Rk
b3V0Iiwgc3lzLnN0ZG91dCkKQEAgLTcyMyw2ICs2MjMsNyBAQCBjbGFzcyBXZWJraXRGbGF0cGFr
OgogCiAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGFyZ3MsIGxpc3QpOgogICAgICAgICAgICAg
YXJncyA9IGxpc3QoYXJncykKKwogICAgICAgICBpZiBhcmdzOgogICAgICAgICAgICAgaWYgb3Mu
cGF0aC5leGlzdHMoYXJnc1swXSk6CiAgICAgICAgICAgICAgICAgY29tbWFuZCA9IG9zLnBhdGgu
bm9ybXBhdGgob3MucGF0aC5hYnNwYXRoKGFyZ3NbMF0pKQpAQCAtNzMwLDUwICs2MzEsNTQgQEAg
Y2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgICAgICAgICBhcmdzWzBdID0gY29tbWFuZC5y
ZXBsYWNlKHNlbGYuc291cmNlX3Jvb3QsIHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCkKICAgICAg
ICAgICAgIGlmIGFyZ3NbMF0uZW5kc3dpdGgoImJ1aWxkLXdlYmtpdCIpOgogICAgICAgICAgICAg
ICAgIGFyZ3MuYXBwZW5kKCItLXByZWZpeD0vYXBwIikKKyAgICAgICAgYnVpbGRpbmcgPSBvcy5w
YXRoLmJhc2VuYW1lKGFyZ3NbMF0pLnN0YXJ0c3dpdGgoImJ1aWxkIikKIAogICAgICAgICBzYW5k
Ym94X2J1aWxkX3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCAi
V2ViS2l0QnVpbGQiLCBzZWxmLmJ1aWxkX3R5cGUpCi0gICAgICAgIHdpdGggdGVtcGZpbGUuTmFt
ZWRUZW1wb3JhcnlGaWxlKG1vZGU9InciKSBhcyB0bXBzY3JpcHQ6Ci0gICAgICAgICAgICBmbGF0
cGFrX2NvbW1hbmQgPSBbImZsYXRwYWsiLCAiYnVpbGQiLCAiLS1kaWUtd2l0aC1wYXJlbnQiLAot
ICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9L3J1bi9zaG09L2Rldi9zaG0iLAotICAgICAg
ICAgICAgICAgICMgV29ya2Fyb3VuZCBmb3IgaHR0cHM6Ly93ZWJraXQub3JnL2IvMTg3Mzg0IHRv
IGhhdmUgb3VyIG93biBwZXJsIG1vZHVsZXMgdXNhYmxlIGluc2lkZSB0aGUgc2FuZGJveAotICAg
ICAgICAgICAgICAgICMgYXMgc2V0dGluZyB0aGUgUEVSTDVMSUIgZW52dmFyIHdvbid0IHdvcmsg
aW5zaWRlIGFwYWNoZSAoYW5kIGZvciBzY3JpcHRzIHVzaW5nIGBwZXJsIC1UYGApLgotICAgICAg
ICAgICAgICAgICItLWJpbmQtbW91bnQ9L3J1bi9ob3N0LyVzPSVzIiAlICh0ZW1wZmlsZS5nZXR0
ZW1wZGlyKCksIHRlbXBmaWxlLmdldHRlbXBkaXIoKSksCi0gICAgICAgICAgICAgICAgIi0tYmlu
ZC1tb3VudD0lcz0lcyIgJSAoc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCBzZWxmLnNvdXJjZV9y
b290KSwKKyAgICAgICAgZmxhdHBha19jb21tYW5kID0gWyJmbGF0cGFrIiwgImJ1aWxkIiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICItLWRpZS13aXRoLXBhcmVudCIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiLS10YWxrLW5hbWU9b3JnLmExMXkuQnVzIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuZ3RrLnZmcyIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiLS10YWxrLW5hbWU9b3JnLmd0ay52ZnMuKiIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PS9ydW4vc2htPS9kZXYvc2htIiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICMgV29ya2Fyb3VuZCBmb3IgaHR0cHM6Ly93ZWJraXQub3JnL2Iv
MTg3Mzg0IHRvIGhhdmUgb3VyIG93biBwZXJsIG1vZHVsZXMgdXNhYmxlIGluc2lkZSB0aGUgc2Fu
ZGJveAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBhcyBzZXR0aW5nIHRoZSBQRVJMNUxJ
QiBlbnZ2YXIgd29uJ3Qgd29yayBpbnNpZGUgYXBhY2hlIChhbmQgZm9yIHNjcmlwdHMgdXNpbmcg
YHBlcmwgLVRgYCkuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PS9y
dW4vaG9zdC8lcz0lcyIgJSAodGVtcGZpbGUuZ2V0dGVtcGRpcigpLCB0ZW1wZmlsZS5nZXR0ZW1w
ZGlyKCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0lcz0lcyIg
JSAoc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCBzZWxmLnNvdXJjZV9yb290KSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICMgV2UgbW91bnQgV2ViS2l0QnVpbGQvUE9SVE5BTUUvQnVpbGRU
eXBlIHRvIC9hcHAvd2Via2l0L1dlYktpdEJ1aWxkL0J1aWxkVHlwZQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIyBzbyB3ZSBjYW4gYnVpbGQgV1BFIGFuZCBHVEsgaW4gYSBzYW1lIHNvdXJj
ZSB0cmVlLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0lcz0lcyIg
JSAoc2FuZGJveF9idWlsZF9wYXRoLCBzZWxmLmJ1aWxkX3BhdGgpXQorCisgICAgICAgIGZvcndh
cmRlZCA9IHsKKyAgICAgICAgICAgICJXRUJLSVRfVE9QX0xFVkVMIjogIi9hcHAvIiwKKyAgICAg
ICAgICAgICJURVNUX1JVTk5FUl9JTkpFQ1RFRF9CVU5ETEVfRklMRU5BTUUiOiBvcy5wYXRoLmpv
aW4oc2FuZGJveF9idWlsZF9wYXRoLCAibGliL2xpYlRlc3RSdW5uZXJJbmplY3RlZEJ1bmRsZS5z
byIpLAorICAgICAgICAgICAgIklDRUNDX1ZFUlNJT04iOiBzZWxmLmljY192ZXJzaW9uLAorICAg
ICAgICB9CisKKyAgICAgICAgaWYgbm90IGJ1aWxkaW5nOgorICAgICAgICAgICAgZmxhdHBha19j
b21tYW5kLmV4dGVuZChbCiAgICAgICAgICAgICAgICAgIi0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1
cyIsCi0gICAgICAgICAgICAgICAgIi0tdGFsay1uYW1lPW9yZy5ndGsudmZzIiwKLSAgICAgICAg
ICAgICAgICAiLS10YWxrLW5hbWU9b3JnLmd0ay52ZnMuKiIsCi0gICAgICAgICAgICAgICAgIyBX
ZSBtb3VudCBXZWJLaXRCdWlsZC9QT1JUTkFNRS9CdWlsZFR5cGUgdG8gL2FwcC93ZWJraXQvV2Vi
S2l0QnVpbGQvQnVpbGRUeXBlCi0gICAgICAgICAgICAgICAgIyBzbyB3ZSBjYW4gYnVpbGQgV1BF
IGFuZCBHVEsgaW4gYSBzYW1lIHNvdXJjZSB0cmVlLgotICAgICAgICAgICAgICAgICItLWJpbmQt
bW91bnQ9JXM9JXMiICUgKHNhbmRib3hfYnVpbGRfcGF0aCwgc2VsZi5idWlsZF9wYXRoKV0KLQot
ICAgICAgICAgICAgZm9yd2FyZGVkID0gewotICAgICAgICAgICAgICAgICJXRUJLSVRfVE9QX0xF
VkVMIjogIi9hcHAvIiwKLSAgICAgICAgICAgICAgICAiVEVTVF9SVU5ORVJfSU5KRUNURURfQlVO
RExFX0ZJTEVOQU1FIjogIi9hcHAvd2Via2l0L2xpYi9saWJUZXN0UnVubmVySW5qZWN0ZWRCdW5k
bGUuc28iLAotICAgICAgICAgICAgICAgICJJQ0VDQ19WRVJTSU9OIjogc2VsZi5pY2NfdmVyc2lv
biwKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZW52X3Zhcl9wcmVmaXhlc190b19rZWVw
ID0gWwotICAgICAgICAgICAgICAgICJHU1QiLAotICAgICAgICAgICAgICAgICJHVEsiLAotICAg
ICAgICAgICAgICAgICJHIiwKLSAgICAgICAgICAgICAgICAiSlNDIiwKLSAgICAgICAgICAgICAg
ICAiV0VCS0lUIiwKLSAgICAgICAgICAgICAgICAiV0VCS0lUMiIsCi0gICAgICAgICAgICAgICAg
IldQRSIsCi0gICAgICAgICAgICAgICAgIkdJR0FDQUdFIiwKLSAgICAgICAgICAgIF0KLQotICAg
ICAgICAgICAgZW52X3ZhcnNfdG9fa2VlcCA9IFsKLSAgICAgICAgICAgICAgICAiSmF2YVNjcmlw
dENvcmVVc2VKSVQiLAotICAgICAgICAgICAgICAgICJNYWxsb2MiLAotICAgICAgICAgICAgICAg
ICJXQVlMQU5EX0RJU1BMQVkiLAotICAgICAgICAgICAgICAgICJXQVlMQU5EX1NPQ0tFVCIsCi0g
ICAgICAgICAgICAgICAgIkRJU1BMQVkiLAotICAgICAgICAgICAgICAgICJMQU5HIiwKLSAgICAg
ICAgICAgICAgICAiTlVNQkVSX09GX1BST0NFU1NPUlMiLAotICAgICAgICAgICAgICAgICJDQ0FD
SEVfUFJFRklYIiwKLSAgICAgICAgICAgICAgICAiUU1MMl9JTVBPUlRfUEFUSCIsCi0gICAgICAg
ICAgICBdCisgICAgICAgICAgICAgICAgIi0tc29ja2V0PXdheWxhbmQiLAorICAgICAgICAgICAg
ICAgICItLXNvY2tldD1wdWxzZWF1ZGlvIiwKKyAgICAgICAgICAgICAgICAiLS1zb2NrZXQ9eDEx
IiwKKyAgICAgICAgICAgICAgICAiLS1zb2NrZXQ9d2F5bGFuZCIsCisgICAgICAgICAgICAgICAg
Ii0tc29ja2V0PXN5c3RlbS1idXMiLAorICAgICAgICAgICAgICAgICItLXNvY2tldD1wdWxzZWF1
ZGlvIiwKKyAgICAgICAgICAgICAgICAiLS1kZXZpY2U9ZHJpIiwKKyAgICAgICAgICAgICAgICAi
LS1kZXZpY2U9YWxsIiwKKyAgICAgICAgICAgICAgICAiLS1zaGFyZT1pcGMiLAorICAgICAgICAg
ICAgICAgICItLXNoYXJlPW5ldHdvcmsiLAorICAgICAgICAgICAgICAgICItLXN5c3RlbS10YWxr
LW5hbWU9b3JnLmZyZWVkZXNrdG9wLkdlb0NsdWUyIiwKKyAgICAgICAgICAgICAgICAiLS1zeXN0
ZW0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cyIsCisgICAgICAgICAgICAgICAgIi0tZmlsZXN5c3Rl
bT1ob3N0IiwKKyAgICAgICAgICAgICAgICAiLS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkZs
YXRwYWsiCisgICAgICAgICAgICBdKQorCisgICAgICAgICAgICBmb3J3YXJkZWQudXBkYXRlKHsK
KyAgICAgICAgICAgICAgICAiVFoiOiAiUFNUOFBEVCIsCisgICAgICAgICAgICAgICAgIkxBTkci
OiAiZW5fVVMuVVRGLTgiCisgICAgICAgICAgICB9KQorICAgICAgICBlbHNlOgorICAgICAgICAg
ICAgYXJncy5hcHBlbmQoIi0tcHJlZml4PS9hcHAiKQogCiAgICAgICAgICAgICBpZiBzZWxmLnVz
ZV9pY2VjcmVhbToKICAgICAgICAgICAgICAgICBfbG9nLmRlYnVnKCdFbmFibGluZyB0aGUgaWNl
Y3JlYW0gY29tcGlsZXInKQpAQCAtNzgzLDQxICs2ODgsNTMgQEAgY2xhc3MgV2Via2l0RmxhdHBh
azoKICAgICAgICAgICAgICAgICAgICAgX2xvZy5kZWJ1ZygnRm9sbG93IGljZWNyZWFtIHJlY29t
bWVuZGF0aW9uIGZvciB0aGUgbnVtYmVyIG9mIGNvcmVzIHRvIHVzZTogJWQnICUgbl9jb3JlcykK
ICAgICAgICAgICAgICAgICAgICAgZm9yd2FyZGVkWyJOVU1CRVJfT0ZfUFJPQ0VTU09SUyJdID0g
bl9jb3JlcwogCi0gICAgICAgICAgICBlbnZfdmFycyA9IG9zLmVudmlyb24KLSAgICAgICAgICAg
IGVudl92YXJzLnVwZGF0ZShleHRyYV9lbnZfdmFycykKLSAgICAgICAgICAgIGZvciBlbnZ2YXIs
IHZhbHVlIGluIGVudl92YXJzLml0ZW1zKCk6Ci0gICAgICAgICAgICAgICAgaWYgZW52dmFyLnNw
bGl0KCJfIilbMF0gaW4gZW52X3Zhcl9wcmVmaXhlc190b19rZWVwIG9yIGVudnZhciBpbiBlbnZf
dmFyc190b19rZWVwOgotICAgICAgICAgICAgICAgICAgICBmb3J3YXJkZWRbZW52dmFyXSA9IHZh
bHVlCi0KLSAgICAgICAgICAgIGZvciBlbnZ2YXIsIHZhbHVlIGluIGZvcndhcmRlZC5pdGVtcygp
OgotICAgICAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZC5hcHBlbmQoIi0tZW52PSVzPSVzIiAl
IChlbnZ2YXIsIHZhbHVlKSkKKyAgICAgICAgZW52X3Zhcl9wcmVmaXhlc190b19rZWVwID0gWwor
ICAgICAgICAgICAgIkdTVCIsCisgICAgICAgICAgICAiR1RLIiwKKyAgICAgICAgICAgICJHIiwK
KyAgICAgICAgICAgICJKU0MiLAorICAgICAgICAgICAgIldFQktJVCIsCisgICAgICAgICAgICAi
V0VCS0lUMiIsCisgICAgICAgICAgICAiV1BFIiwKKyAgICAgICAgICAgICJHSUdBQ0FHRSIsCisg
ICAgICAgIF0KKworICAgICAgICBlbnZfdmFyc190b19rZWVwID0gWworICAgICAgICAgICAgIkph
dmFTY3JpcHRDb3JlVXNlSklUIiwKKyAgICAgICAgICAgICJNYWxsb2MiLAorICAgICAgICAgICAg
IldBWUxBTkRfRElTUExBWSIsCisgICAgICAgICAgICAiV0FZTEFORF9TT0NLRVQiLAorICAgICAg
ICAgICAgIkRJU1BMQVkiLAorICAgICAgICAgICAgIkxBTkciLAorICAgICAgICAgICAgIk5VTUJF
Ul9PRl9QUk9DRVNTT1JTIiwKKyAgICAgICAgICAgICJDQ0FDSEVfUFJFRklYIiwKKyAgICAgICAg
ICAgICJRTUwyX0lNUE9SVF9QQVRIIiwKKyAgICAgICAgXQorCisgICAgICAgIGVudl92YXJzID0g
b3MuZW52aXJvbgorICAgICAgICBlbnZfdmFycy51cGRhdGUoZXh0cmFfZW52X3ZhcnMpCisgICAg
ICAgIGZvciBlbnZ2YXIsIHZhbHVlIGluIGVudl92YXJzLml0ZW1zKCk6CisgICAgICAgICAgICBp
ZiBlbnZ2YXIuc3BsaXQoIl8iKVswXSBpbiBlbnZfdmFyX3ByZWZpeGVzX3RvX2tlZXAgb3IgZW52
dmFyIGluIGVudl92YXJzX3RvX2tlZXA6CisgICAgICAgICAgICAgICAgZm9yd2FyZGVkW2VudnZh
cl0gPSB2YWx1ZQorCisgICAgICAgIGZvciBlbnZ2YXIsIHZhbHVlIGluIGZvcndhcmRlZC5pdGVt
cygpOgorICAgICAgICAgICAgZmxhdHBha19jb21tYW5kLmFwcGVuZCgiLS1lbnY9JXM9JXMiICUg
KGVudnZhciwgdmFsdWUpKQorCisgICAgICAgIGdzdF9lbnYgPSBbXQorICAgICAgICBpZiBub3Qg
a3dhcmdzLmdldCgnYnVpbGRpbmdfZ3N0Jyk6CisgICAgICAgICAgICBnc3RfZW52ID0gc2VsZi5z
ZXR1cF9nc3RidWlsZChidWlsZGluZykKKyAgICAgICAgZmxhdHBha19jb21tYW5kICs9IHNlbGYu
ZmluaXNoX2FyZ3MgKyBleHRyYV9mbGF0cGFrX2FyZ3MgKyBcCisgICAgICAgICAgICBbc2VsZi5m
bGF0cGFrX2J1aWxkX3BhdGhdICsgZ3N0X2VudiArIGFyZ3MKKworICAgICAgICBfbG9nLmRlYnVn
KCdSdW5uaW5nIGluIHNhbmRib3g6ICVzXG4nICUgJyAnLmpvaW4oZmxhdHBha19jb21tYW5kKSkK
IAotICAgICAgICAgICAgZmxhdHBha19jb21tYW5kICs9IHNlbGYuZmluaXNoX2FyZ3MgKyBleHRy
YV9mbGF0cGFrX2FyZ3MgKyBbc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGhdCi0KLSAgICAgICAgICAg
IHNoZWxsX3N0cmluZyA9ICIiCi0gICAgICAgICAgICBpZiBhcmdzOgotICAgICAgICAgICAgICAg
IGlmIGN3ZDoKLSAgICAgICAgICAgICAgICAgICAgc2hlbGxfc3RyaW5nID0gJ2NkICIlcyIgJiYg
IiVzIicgJSAoY3dkLCAnIiAiJy5qb2luKGFyZ3MpKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0g
ICAgICAgICAgICAgICAgICAgIHNoZWxsX3N0cmluZyA9ICciJXMiJyAlICgnIiAiJy5qb2luKGFy
Z3MpKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzaGVsbF9zdHJpbmcgPSBz
ZWxmLmNvbW1hbmQKLSAgICAgICAgICAgICAgICBpZiBzZWxmLmFyZ3M6Ci0gICAgICAgICAgICAg
ICAgICAgIHNoZWxsX3N0cmluZyArPSAnICIlcyInICUgJyIgIicuam9pbihzZWxmLmFyZ3MpCi0K
LSAgICAgICAgICAgIHRtcHNjcmlwdC53cml0ZShzaGVsbF9zdHJpbmcpCi0gICAgICAgICAgICB0
bXBzY3JpcHQuZmx1c2goKQotCi0gICAgICAgICAgICBfbG9nLmRlYnVnKCdSdW5uaW5nIGluIHNh
bmRib3g6ICIlcyIgJXNcbicgJSAoJyIgIicuam9pbihmbGF0cGFrX2NvbW1hbmQpLCBzaGVsbF9z
dHJpbmcpKQotICAgICAgICAgICAgZmxhdHBha19jb21tYW5kLmV4dGVuZChbJ3NoJywgIi9ydW4v
aG9zdC8iICsgdG1wc2NyaXB0Lm5hbWVdKQotCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAg
ICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGZsYXRwYWtfY29tbWFuZCwgc3Rkb3V0PXN0ZG91
dCkKLSAgICAgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBl
OgotICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoc3RyKGUpICsgIlxuIikKLSAgICAg
ICAgICAgICAgICByZXR1cm4gZS5yZXR1cm5jb2RlCi0gICAgICAgICAgICBleGNlcHQgS2V5Ym9h
cmRJbnRlcnJ1cHQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgdHJ5OgorICAg
ICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGZsYXRwYWtfY29tbWFuZCwgc3Rkb3V0PXN0
ZG91dCkKKyAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGU6
CisgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKHN0cihlKSArICJcbiIpCisgICAgICAgICAg
ICByZXR1cm4gZS5yZXR1cm5jb2RlCisgICAgICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoK
KyAgICAgICAgICAgIHJldHVybiAwCiAKICAgICAgICAgcmV0dXJuIDAKIApAQCAtODM1LDY0ICs3
NTIsNDEgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgICAgICAgICBzaHV0aWwucm10
cmVlKHNlbGYuYnVpbGRfcGF0aCkKIAogICAgICAgICBpZiBzZWxmLnVwZGF0ZToKLSAgICAgICAg
ICAgIENvbnNvbGUubWVzc2FnZSgiVXBkYXRpbmcgRmxhdHBhayBlbnZpcm9ubWVudCBmb3IgJXMg
KCVzKSIgJSAoCi0gICAgICAgICAgICAgICAgc2VsZi5wbGF0Zm9ybSwgc2VsZi5idWlsZF90eXBl
KSkKKyAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiVXBkYXRpbmcgRmxhdHBhayAlcyBlbnZp
cm9ubWVudCIgJSBzZWxmLmJ1aWxkX3R5cGUpCiAgICAgICAgICAgICBpZiBub3Qgc2VsZi5ub19m
bGF0cGFrX3VwZGF0ZToKICAgICAgICAgICAgICAgICBzZWxmLnVwZGF0ZV9hbGwoKQogCiAgICAg
ICAgIHJldHVybiBzZWxmLnNldHVwX2Rldl9lbnYoKQogCiAgICAgZGVmIGhhc19lbnZpcm9ubWVu
dChzZWxmKToKLSAgICAgICAgcmV0dXJuIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihzZWxm
LmJ1aWxkX3BhdGgsIHNlbGYuZmxhdHBha19idWlsZF9wYXRoKSkKKyAgICAgICAgcmV0dXJuIG9z
LnBhdGguZXhpc3RzKHNlbGYuZmxhdHBha19idWlsZF9wYXRoKQogCiAgICAgZGVmIHNhdmVfY29u
ZmlnKHNlbGYpOgogICAgICAgICB3aXRoIG9wZW4oc2VsZi5jb25maWdfZmlsZSwgJ3cnKSBhcyBj
b25maWc6CiAgICAgICAgICAgICBqc29uX2NvbmZpZyA9IHsnaWNlY2NfdmVyc2lvbic6IHNlbGYu
aWNjX3ZlcnNpb259CiAgICAgICAgICAgICBqc29uLmR1bXAoanNvbl9jb25maWcsIGNvbmZpZykK
IAotICAgIGRlZiBzZXR1cF9jY2FjaGUoc2VsZik6Ci0gICAgICAgIGZvciBjb21waWxlciBpbiBb
ImMrKyIsICJjYyIsICJjbGFuZyIsICJjbGFuZysrIiwgImcrKyIsICJnY2MiXToKLSAgICAgICAg
ICAgIHNlbGYucnVuX2luX3NhbmRib3goImxuIiwgIi1zIiwgIi4uLy4uL3Vzci9iaW4vY2NhY2hl
IiwgY29tcGlsZXIsIGN3ZD0iL2FwcC9iaW4iKQotCiAgICAgZGVmIHNldHVwX2ljZWNjKHNlbGYp
OgogICAgICAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZSgpIGFzIHRtcGZpbGU6
Ci0gICAgICAgICAgICBzZWxmLnJ1bl9pbl9zYW5kYm94KCdpY2VjYycsICctLWJ1aWxkLW5hdGl2
ZScsIHN0ZG91dD10bXBmaWxlLCBjd2Q9c2VsZi5idWlsZF9wYXRoKQorICAgICAgICAgICAgc2Vs
Zi5ydW5faW5fc2FuZGJveCgnaWNlY2MnLCAnLS1idWlsZC1uYXRpdmUnLCBzdGRvdXQ9dG1wZmls
ZSwgY3dkPXNlbGYuZmxhdHBha19idWlsZF9wYXRoKQogICAgICAgICAgICAgdG1wZmlsZS5mbHVz
aCgpCiAgICAgICAgICAgICB0bXBmaWxlLnNlZWsoMCkKICAgICAgICAgICAgIGljY192ZXJzaW9u
X2ZpbGVuYW1lLCA9IHJlLmZpbmRhbGwocicuKmNyZWF0aW5nICguKiknLCB0bXBmaWxlLnJlYWQo
KSkKLSAgICAgICAgICAgIHNlbGYuaWNjX3ZlcnNpb24gPSBvcy5wYXRoLmpvaW4oc2VsZi5idWls
ZF9wYXRoLCBpY2NfdmVyc2lvbl9maWxlbmFtZSkKKyAgICAgICAgICAgIHNlbGYuaWNjX3ZlcnNp
b24gPSBvcy5wYXRoLmpvaW4oc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsIGljY192ZXJzaW9uX2Zp
bGVuYW1lKQogCiAgICAgZGVmIHNldHVwX2Rldl9lbnYoc2VsZik6Ci0gICAgICAgIGlmIG5vdCBv
cy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF9wYXRoLCBzZWxmLmZsYXRwYWtf
YnVpbGRfcGF0aCkpIFwKLSAgICAgICAgICAgICAgICBvciBzZWxmLnVwZGF0ZSBvciBzZWxmLmJ1
aWxkX2FsbDoKKyAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihzZWxm
LmZsYXRwYWtfYnVpbGRfcGF0aCwgInJ1bnRpbWUiLCAib3JnLndlYmtpdC5TZGsiKSkgb3Igc2Vs
Zi51cGRhdGUgb3Igc2VsZi5idWlsZF9hbGw6CiAgICAgICAgICAgICBzZWxmLmluc3RhbGxfYWxs
KCkKLSAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiQnVpbGRpbmcgJXMgYW5kIGRlcGVuZGVu
Y2llcyBpbiAlcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5uYW1lLCBzZWxm
LmZsYXRwYWtfYnVpbGRfcGF0aCkKLQotICAgICAgICAgICAgIyBDcmVhdGUgZW52aXJvbm1lbnQg
ZGlycyBpZiBuZWNlc3NhcnkKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBvcy5t
YWtlZGlycyhvcy5wYXRoLmRpcm5hbWUoc2VsZi5tYW5pZmVzdF9nZW5lcmF0ZWRfcGF0aCkpCi0g
ICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgotICAgICAgICAgICAgICAgIGlmIGUuZXJy
bm8gIT0gZXJybm8uRUVYSVNUOgotICAgICAgICAgICAgICAgICAgICByYWlzZSBlCi0gICAgICAg
ICAgICBpZiBub3QgZXhwYW5kX21hbmlmZXN0KHNlbGYubWFuaWZlc3RfcGF0aCwgc2VsZi5tYW5p
ZmVzdF9nZW5lcmF0ZWRfcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2VsZi5uYW1lLCBzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsIHNlbGYuY29tbWFuZCk6Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuIDEKLQotICAgICAgICAgICAgYnVpbGRlcl9hcmdzID0gWyJmbGF0
cGFrLWJ1aWxkZXIiLCAiLS1kaXNhYmxlLXJvZmlsZXMtZnVzZSIsICItLXN0YXRlLWRpciIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5jYWNoZV9wYXRoLCAiLS1jY2FjaGUiLCBz
ZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCwgIi0tZm9yY2UtY2xlYW4iLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNlbGYubWFuaWZlc3RfZ2VuZXJhdGVkX3BhdGhdCi0gICAgICAgICAgICBi
dWlsZGVyX2FyZ3MuYXBwZW5kKCItLWJ1aWxkLW9ubHkiKQotICAgICAgICAgICAgYnVpbGRlcl9h
cmdzLmFwcGVuZCgiLS1zdG9wLWF0PSVzIiAlIHNlbGYuYXBwKQotCi0gICAgICAgICAgICBzdWJw
cm9jZXNzLmNoZWNrX2NhbGwoYnVpbGRlcl9hcmdzKQotICAgICAgICAgICAgc2VsZi5zZXR1cF9j
Y2FjaGUoKQogICAgICAgICAgICAgc2VsZi5zZXR1cF9pY2VjYygpCiAgICAgICAgICAgICBzZWxm
LnNhdmVfY29uZmlnKCkKIAogICAgICAgICBidWlsZF90eXBlID0gIi0tZGVidWciIGlmIHNlbGYu
ZGVidWcgZWxzZSAiLS1yZWxlYXNlIgorICAgICAgICBpZiBzZWxmLmJ1aWxkX2dzdDoKKyAgICAg
ICAgICAgIHNlbGYuc2V0dXBfZ3N0YnVpbGQoVHJ1ZSkKKwogICAgICAgICBpZiBzZWxmLmJ1aWxk
X3dlYmtpdDoKLSAgICAgICAgICAgIGJ1aWxkZXIgPSBbb3MucGF0aC5qb2luKHNlbGYuc2FuZGJv
eF9zb3VyY2Vfcm9vdCwgJ1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0JyksCisgICAgICAgICAg
ICBidWlsZGVyID0gWworICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbihzZWxmLnNhbmRib3hf
c291cmNlX3Jvb3QsICdUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdCcpLAogICAgICAgICAgICAg
ICAgIGJ1aWxkX3R5cGUsICctLScgKyBzZWxmLnBsYXRmb3JtLmxvd2VyKCldCiAgICAgICAgICAg
ICBpZiBzZWxmLm1ha2VhcmdzOgogICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCItLW1h
a2VhcmdzPSVzIiAlIHNlbGYubWFrZWFyZ3MpCkBAIC05MDMsMjMgKzc5NywyMiBAQCBjbGFzcyBX
ZWJraXRGbGF0cGFrOgogCiAgICAgICAgICAgICBpZiByZXM6CiAgICAgICAgICAgICAgICAgcmV0
dXJuIHJlcwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJVc2lu
ZyAlcyBwcmVmaXggaW4gJXMiLCBzZWxmLm5hbWUsIHNlbGYuZmxhdHBha19idWlsZF9wYXRoKQog
CiAgICAgICAgIGlmIHNlbGYucnVuX3Rlc3RzIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgdGVz
dF9sYXVuY2hlciA9IFtvcy5wYXRoLmpvaW4oc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCAnVG9v
bHMvU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzJyksCi0gICAgICAgICAgICAgICAgYnVpbGRfdHlw
ZSwgJy0tJyArIHNlbGYucGxhdGZvcm0ubG93ZXIoKV0gKyBzZWxmLnJ1bl90ZXN0cworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBidWlsZF90eXBlLCAnLS0nICsgc2VsZi5wbGF0Zm9ybS5s
b3dlcigpXSArIHNlbGYucnVuX3Rlc3RzCiAgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5faW5f
c2FuZGJveCgqdGVzdF9sYXVuY2hlcikKLSAgICAgICAgZWxpZiBzZWxmLmdkYiBpcyBub3QgTm9u
ZToKKyAgICAgICAgZWxpZiBzZWxmLmdkYiBvciBzZWxmLmdkYl9zdGFja190cmFjZToKICAgICAg
ICAgICAgIHJldHVybiBzZWxmLnJ1bl9nZGIoKQogICAgICAgICBlbGlmIHNlbGYudXNlcl9jb21t
YW5kOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYucnVuX2luX3NhbmRib3goKnNlbGYudXNlcl9j
b21tYW5kKQotICAgICAgICBlbGlmIG5vdCBzZWxmLnVwZGF0ZSBhbmQgbm90IHNlbGYuYnVpbGRf
d2Via2l0OgorICAgICAgICBlbGlmIG5vdCBzZWxmLnVwZGF0ZSBhbmQgbm90IHNlbGYuYnVpbGRf
d2Via2l0IGFuZCBub3Qgc2VsZi5idWlsZF9nc3Q6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5y
dW5faW5fc2FuZGJveCgpCiAKICAgICAgICAgcmV0dXJuIDAKIAogICAgIGRlZiBpbnN0YWxsX2Fs
bChzZWxmKToKKyAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJJbnN0YWxsaW5nICVzIGRlcGVuZGVu
Y2llcyBpbiAlcyIsIHNlbGYuYnVpbGRfdHlwZSwgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgpCiAg
ICAgICAgIGZvciBwYWNrYWdlIGluIHNlbGYucGFja3M6CiAgICAgICAgICAgICBpZiBub3QgcGFj
a2FnZS5pc19pbnN0YWxsZWQoc2VsZi5zZGtfYnJhbmNoKToKICAgICAgICAgICAgICAgICBwYWNr
YWdlLmluc3RhbGwoKQpAQCAtOTM1LDE5ICs4MjgsMzAgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoK
ICAgICAgICAgIyBXZSBuZWVkIGFjY2VzcyB0byB0aGUgaG9zdCBmcm9tIHRoZSBzYW5kYm94IHRv
IHJ1bi4KICAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBhcyBjb3Jl
ZHVtcDoKICAgICAgICAgICAgIHdpdGggdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKCkgYXMg
c3RkZXJyOgotICAgICAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChbImNvcmVkdW1w
Y3RsIiwgImR1bXAiXSArIHNobGV4LnNwbGl0KHNlbGYuY29yZWR1bXBjdGxfbWF0Y2hlcyksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dD1jb3JlZHVtcCwgc3Rk
ZXJyPXN0ZGVycikKKyAgICAgICAgICAgICAgICBpZiBzZWxmLmdkYl9zdGFja190cmFjZToKKyAg
ICAgICAgICAgICAgICAgICAgY21kID0gWyJjb3JlZHVtcGN0bCIsICItLXNpbmNlPSVzIiAlIHNl
bGYuZ2RiX3N0YWNrX3RyYWNlLCAiZHVtcCJdCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAg
ICAgICAgICAgICAgICAgY21kID0gWyJjb3JlZHVtcGN0bCIsICJkdW1wIl0gKyBzaGxleC5zcGxp
dChzZWxmLmNvcmVkdW1wY3RsX21hdGNoZXMpCisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAg
ICAgICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoY21kLCBzdGRvdXQ9Y29yZWR1bXAs
IHN0ZGVycj1zdGRlcnIpCisgICAgICAgICAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVk
UHJvY2Vzc0Vycm9yLCBlcnI6CisgICAgICAgICAgICAgICAgICAgIHdpdGggb3BlbihzdGRlcnIu
bmFtZSwgJ3InKSBhcyBzdGRlcnJmOgorICAgICAgICAgICAgICAgICAgICAgICAgc3RkZXJyID0g
c3RkZXJyZi5yZWFkKCkKKyAgICAgICAgICAgICAgICAgICAgY21kID0gJyAnLmpvaW4oZXJyLmNt
ZCkKKyAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiJyVzJyByZXR1cm5lZCBh
IG5vbi16ZXJvIGV4aXQgY29kZS4gU3RkZXJyOiAlcyIgJSAoY21kLCBzdGRlcnIpKQorICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gZXJyLnJldHVybmNvZGUKIAogICAgICAgICAgICAgICAgIHdp
dGggb3BlbihzdGRlcnIubmFtZSwgJ3InKSBhcyBzdGRlcnJmOgogICAgICAgICAgICAgICAgICAg
ICBzdGRlcnIgPSBzdGRlcnJmLnJlYWQoKQorCiAgICAgICAgICAgICAgICAgZXhlY3V0YWJsZSwg
PSByZS5maW5kYWxsKCIuKkV4ZWN1dGFibGU6ICguKikiLCBzdGRlcnIpCi0gICAgICAgICAgICAg
ICAgaWYgbm90IGV4ZWN1dGFibGUuc3RhcnRzd2l0aCgiL25ld3Jvb3QiKToKLSAgICAgICAgICAg
ICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiRXhlY3V0YWJsZSAlcyBkb2Vzbid0IHNlZW0gdG8g
YmUgYSBmbGF0cGFrZWQgYXBwbGljYXRpb24uXG4iICUgZXhlY3V0YWJsZSkKIAotICAgICAgICAg
ICAgICAgIGV4ZWN1dGFibGUgPSBleGVjdXRhYmxlLnJlcGxhY2UoIi9uZXdyb290IiwgIiIpCi0g
ICAgICAgICAgICAgICAgYXJncyA9IFsiZ2RiIiwgZXhlY3V0YWJsZSwgIi9ydW4vaG9zdC8lcyIg
JSBjb3JlZHVtcC5uYW1lXSArIHNobGV4LnNwbGl0KHNlbGYuZ2RiKQorICAgICAgICAgICAgICAg
IGlmIHNlbGYuZ2RiOgorICAgICAgICAgICAgICAgICAgICBiYXJncyA9IFsiZ2RiIiwgZXhlY3V0
YWJsZSwgIi9ydW4vaG9zdC8lcyIgJSBjb3JlZHVtcC5uYW1lXSArIHNobGV4LnNwbGl0KHNlbGYu
Z2RiKQorICAgICAgICAgICAgICAgIGVsaWYgc2VsZi5nZGJfc3RhY2tfdHJhY2U6CisgICAgICAg
ICAgICAgICAgICAgIGJhcmdzID0gWyJnZGIiLCAnLWV4JywgInRocmVhZCBhcHBseSBhbGwgYmFj
a3RyYWNlIiwgJy0tYmF0Y2gnLCBleGVjdXRhYmxlLCAiL3J1bi9ob3N0LyVzIiAlIGNvcmVkdW1w
Lm5hbWVdCiAKLSAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5faW5fc2FuZGJveCgqYXJn
cykKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5faW5fc2FuZGJveCgqYmFyZ3MpCiAK
ICAgICBkZWYgdXBkYXRlX2FsbChzZWxmKToKICAgICAgICAgZm9yIG0gaW4gW3NlbGYucnVudGlt
ZSwgc2VsZi5zZGssIHNlbGYuc2RrX2RlYnVnXToKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsv
b3JnLndlYmtpdC5Db21tb25Nb2R1bGVzLnlhbWwgYi9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQu
Q29tbW9uTW9kdWxlcy55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMWEwN2Nm
ODZmODNiNjg4MzNhNTcyODRlNDcyM2Y1MjJiNzNjNDBiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5Db21tb25N
b2R1bGVzLnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMzEgKzAsMCBAQAotIyBodHRwIGFuZCBk
ZXBlbmRlbmNpZXMuCi0tIG5hbWU6IGFwcgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2
ZQotICAgICAgdXJsOiBodHRwczovL3d3dy5hcGFjaGUub3JnL2Rpc3QvYXByL2Fwci0xLjYuNS50
YXIuYnoyCi0gICAgICBzaGEyNTY6IGE2N2NhOWZjZjljNGZmNTliY2U3ZjQyOGEzMjNjOGI1ZTE4
NjY3ZmRlYTdiMGViYWQ0N2QxOTQzNzFiMGExMDUKLS0gbmFtZTogYXByLXV0aWwKLSAgc291cmNl
czoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly93d3cuYXBhY2hlLm9y
Zy9kaXN0L2Fwci9hcHItdXRpbC0xLjYuMS50YXIuYnoyCi0gICAgICBzaGE1MTI6ICI0MGVmZjhh
MzdjMDYzNGY3ZmRkZGQ2Y2E1ZTU5NmIzOGRlMTVmZDEwNzY3YTM0YzMwYmJlNDljNjMyODE2ZThm
M2UxZTIzMDY3ODAzNGY1NzhkZDU4MTZhOTRmMjQ2ZmI1ZGZkZjQ4ZDY0NDgyOWFmMTNiZjI4ZGUz
MjI1MjA1ZCIKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLXdpdGgtYXByPS9hcHAvYmluL2Fwci0x
LWNvbmZpZwotLSBuYW1lOiBodHRwZAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAg
ICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9hcGFjaGUvaHR0cGQuZ2l0Ci0gICAgICBicmFuY2g6
IDIuNC4zNwotICAgIC0gdHlwZSA6IGZpbGUKLSAgICAgIHBhdGggOiBmaWxlcy9odHRwZC1hdXRv
Z2VuLnNoCi0gICAgICBkZXN0LWZpbGVuYW1lIDogYXV0b2dlbi5zaAotICAgICMgVGhlIHZlcnNp
b24gZW1iZWRkZWQgaW4gdGhlIHNhbmRib3ggZG9lc24ndCBoYXZlIGEgd29ya2luZyBwY3JlLWNv
bmZpZwotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IHBhdGNoZXMvaHR0cGQtMDAwMS1j
b25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoCi0gIGNvbmZp
Zy1vcHRzOgotICAgIC0gLS1lbmFibGUtbXBtcy1zaGFyZWQ9YWxsCi0gICAgLSAtLWVuYWJsZS1t
b2R1bGVzPWFsbAotICAgIC0gLS13aXRoLWFwcj0vYXBwL2Jpbi9hcHItMS1jb25maWcKLSAgICAt
IC0td2l0aC1hcHItdXRpbD0vYXBwL2Jpbi9hcHUtMS1jb25maWcKLSAgICAtIC0td2l0aC1wY3Jl
PS9hcHAKLSAgICAtIC0tZW5hYmxlLWF1dGhuei1mY2dpCi0gICAgLSAtLWVuYWJsZS1jZ2kKLSAg
ICAtIC0tZW5hYmxlLWNnaWQKLS0gbmFtZTogcGhwCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBh
cmNoaXZlCi0gICAgICB1cmw6IGh0dHBzOi8vcGhwLm5ldC9kaXN0cmlidXRpb25zL3BocC03LjIu
Ni50YXIueHoKLSAgICAgIHNoYTUxMjogZGE4NmIxZmYyZGYzYjllMmQ0NmU1OWE4MDI5NmI5NDBk
ODExMzI5NzViNjIxYmRlYzk2MDJmOGI0YzhkOTFhM2ZkY2Q0ZmZkN2NiOTgyZDYzZDNlYzk3NGIz
YTEyYTc4NTRlNDJhNzNiN2YyY2M4ZWVmYWRlMTQzMzVhYTdjNzEKLSAgY29uZmlnLW9wdHM6Ci0g
ICAgLSAtLWRpc2FibGUteG1sCi0gICAgLSAtLWRpc2FibGUtZG9tCi0gICAgLSAtLWRpc2FibGUt
bGlieG1sCi0gICAgLSAtLWRpc2FibGUtc2ltcGxleG1sCi0gICAgLSAtLWRpc2FibGUteG1scmVh
ZGVyCi0gICAgLSAtLWRpc2FibGUteG1sd3JpdGVyCi0gICAgLSAtLXdpdGhvdXQtcGVhcgotICAg
IC0gLS13aXRoLWFweHMyCi0gICAgLSAtLXdpdGgtemxpYgotICAgIC0gLS13aXRoLWxpYnppcAot
ICAgIC0gLS1lbmFibGUtc29ja2V0cz1zaGFyZWQKLS0gbmFtZTogbGliZXZlbnQKLSAgc291cmNl
czoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbGliZXZl
bnQvbGliZXZlbnQuZ2l0Ci0gICAgICBicmFuY2g6IGU3ZmY0ZWYgIyAyLjEuOAotICBjb25maWct
b3B0czoKLSAgICAtIC0tZGlzYWJsZS1saWJldmVudC1yZWdyZXNzCi0KLSMgUmVxdWlyZW1lbnQg
Zm9yIGZsYXRwa3V0aWxzCi0tIG5hbWU6IHB5dGhvbjMtcHlhbWwKLSAgYnVpbGRzeXN0ZW06IHNp
bXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgLSBwaXAzIGluc3RhbGwgLS1uby1pbmRleCAtLWZp
bmQtbGlua3M9ImZpbGU6Ly8ke1BXRH0iIC0tcHJlZml4PSR7RkxBVFBBS19ERVNUfSBweWFtbAot
ICBzb3VyY2VzOgotICAtIHR5cGU6IGZpbGUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9u
aG9zdGVkLm9yZy9wYWNrYWdlcy80YS84NS9kYjVhMmRmNDc3MDcyYjI5MDJiMGViODkyZmViMzdk
ODhhYzYzNWQzNjI0NWE3MmE2YTY5YjIzYjM4M2EvUHlZQU1MLTMuMTIudGFyLmd6Ci0gICAgc2hh
MjU2OiA1OTI3NjZjNjMwMzIwN2EyMGVmYzQ0NTU4Nzc3ODMyMmQ3ZjczYjE2MWJkOTk0ZjIyN2Fk
YWEzNDFiYTIxMmFiCi0gIC0gdHlwZTogZmlsZQotICAgIHVybDogaHR0cHM6Ly9maWxlcy5weXRo
b25ob3N0ZWQub3JnL3BhY2thZ2VzLzllLzE3LzFkNGVkNmUxYTRjMDkxOGEwMzU3ZGZhMmZkYmUy
NmJmNjNmNmU2MTYwMTNjMDRhMTRiY2U5ZmQzM2U0MC9weWFtbC0xNy4xMi4xLnRhci5negotICAg
IHNoYTI1NjogNjY2MjNjNTJmMzRkODNhMmMwZmM5NjNlMDhlOGI5ZDBjMTNkODg0MDRlM2I0M2Ix
ODUyZWY3MWVkYTE5YWZhMwotCi0tIG5hbWU6IHB5dGhvbjItcHlhbWwKLSAgYnVpbGRzeXN0ZW06
IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgLSBwaXAyIGluc3RhbGwgLS1uby1pbmRleCAt
LWZpbmQtbGlua3M9ImZpbGU6Ly8ke1BXRH0iIC0tdGFyZ2V0PS9hcHAvbGliL3B5dGhvbjIuNy9z
aXRlLXBhY2thZ2VzLyBweWFtbAotICBzb3VyY2VzOgotICAtIHR5cGU6IGZpbGUKLSAgICB1cmw6
IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy80YS84NS9kYjVhMmRmNDc3
MDcyYjI5MDJiMGViODkyZmViMzdkODhhYzYzNWQzNjI0NWE3MmE2YTY5YjIzYjM4M2EvUHlZQU1M
LTMuMTIudGFyLmd6Ci0gICAgc2hhMjU2OiA1OTI3NjZjNjMwMzIwN2EyMGVmYzQ0NTU4Nzc3ODMy
MmQ3ZjczYjE2MWJkOTk0ZjIyN2FkYWEzNDFiYTIxMmFiCi0gIC0gdHlwZTogZmlsZQotICAgIHVy
bDogaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzllLzE3LzFkNGVkNmUx
YTRjMDkxOGEwMzU3ZGZhMmZkYmUyNmJmNjNmNmU2MTYwMTNjMDRhMTRiY2U5ZmQzM2U0MC9weWFt
bC0xNy4xMi4xLnRhci5negotICAgIHNoYTI1NjogNjY2MjNjNTJmMzRkODNhMmMwZmM5NjNlMDhl
OGI5ZDBjMTNkODg0MDRlM2I0M2IxODUyZWY3MWVkYTE5YWZhMwotCi0tIG5hbWU6IHB5dGhvbjIt
c3VicHJvY2VzczMyCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0g
IC0gcGlwMiBpbnN0YWxsIC0tdGFyZ2V0PS9hcHAvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2Vz
LyAuCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogYXJjaGl2ZQotICAgIHVybDogaHR0cHM6Ly9maWxl
cy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzL2JlLzJiL2JlZWJhNTgzZTk4NzdlNjRkYjEwYjUy
YTk2OTE1YWZjMGZlYWJmNzE0NGRjYmYyYTBkMGVhNjhiZjczZC9zdWJwcm9jZXNzMzItMy41LjMu
dGFyLmd6Ci0gICAgc2hhMjU2OiA2YmM4Mjk5MjMxNmVlZjNjY2ZmMzE5YjUwMzM4MDk4MDFjMGMz
MzcyNzA5YzVmNjk4NTI5OWM4OGFjNzIyNWMzCi0KLSMgR1N0cmVhbWVyIG1vZHVsZXMKLS0gbmFt
ZTogbGlidnB4Ci0gIG5vLWF1dG9nZW46IHRydWUKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdp
dAotICAgICAgdXJsOiBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vd2VibS9saWJ2
cHgKLSAgICAgIGJyYW5jaDogdjEuNy4wCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1lbmFibGUt
cGljCi0gICAgLSAtLWFzPW5hc20KLSAgICAtIC0tZGlzYWJsZS11bml0LXRlc3RzCi0gICAgLSAt
LXNpemUtbGltaXQ9MTYzODR4MTYzODQKLSAgICAtIC0tZW5hYmxlLXBvc3Rwcm9jCi0gICAgLSAt
LWVuYWJsZS1tdWx0aS1yZXMtZW5jb2RpbmcKLSAgICAtIC0tZW5hYmxlLXRlbXBvcmFsLWRlbm9p
c2luZwotICAgIC0gLS1lbmFibGUtdnA5LXRlbXBvcmFsLWRlbm9pc2luZwotICAgIC0gLS1lbmFi
bGUtdnA5LXBvc3Rwcm9jCi0gICAgLSAtLWVuYWJsZS1zaGFyZWQKLS0gbmFtZTogYW9tCi0gIHNv
dXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9hb21lZGlhLmdvb2ds
ZXNvdXJjZS5jb20vYW9tCi0gICAgICBicmFuY2g6IGNkYjA4M2U4NGE3MWQ2ZDMxMTYzYTRmNjRm
MThkYzEzMjhmZDc4MmMKLSAgYnVpbGRzeXN0ZW06IGNtYWtlLW5pbmphCi0gIGJ1aWxkZGlyOiB0
cnVlCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURCVUlMRF9TSEFSRURfTElCUz0xCi0tIG5hbWU6
IGxpYnVud2luZAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBz
Oi8vZ2l0aHViLmNvbS9saWJ1bndpbmQvbGlidW53aW5kLmdpdAotICAgICAgY29tbWl0OiB2MS4y
LjEKLS0gbmFtZTogbGlib3BlbmgyNjQKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIHNvdXJjZXM6
Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2Npc2NvL29w
ZW5oMjY0LmdpdAotICAgICAgYnJhbmNoOiBhMWIzZjA3YzUyNzFmMzEyOTk3ZmNjMzQ1MTIzNzAz
MTQ0NGM0NDc1ICMgMS44LjAgKyBmaXggZm9yIGdjYyA4Ci0tIG5hbWU6IGdzdHJlYW1lcgotICBi
dWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJs
OiBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdHJlYW1lci5naXQK
LSAgICAgIGJyYW5jaDogMS4xNi4xCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9jPWRp
c2FibGVkCi0gICAgLSAtRGludHJvc3BlY3Rpb249ZGlzYWJsZWQKLSAgICAtIC1EZXhhbXBsZXM9
ZGlzYWJsZWQKLSAgICAtIC1EdGVzdHM9ZGlzYWJsZWQKLS0gbmFtZTogZ3N0LXBsdWdpbnMtYmFz
ZQotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAg
ICAgdXJsOiBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdC1wbHVn
aW5zLWJhc2UuZ2l0Ci0gICAgICBicmFuY2g6IDEuMTYuMQotICAgIC0gdHlwZTogcGF0Y2gKLSAg
ICAgIHBhdGg6IC4uL2dzdHJlYW1lci9wYXRjaGVzL2Jhc2UtMDAwMS1wbGF5YmluLUhhbmRsZS1l
cnJvci1tZXNzYWdlLXdpdGgtcmVkaXJlY3Rpb24taW5kaWNhLnBhdGNoCi0gICAgLSB0eXBlOiBw
YXRjaAotICAgICAgcGF0aDogLi4vZ3N0cmVhbWVyL3BhdGNoZXMvYmFzZS0wMDAxLWdsdXBsb2Fk
LUFkZC1WaWRlb01ldGFzLWFuZC1HTFN5bmNNZXRhLXRvLXRoZS1yYXctdXAucGF0Y2gKLSAgY29u
ZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlzYWJsZWQKLSAgICAtIC1EaW50cm9zcGVjdGlv
bj1kaXNhYmxlZAotICAgIC0gLURleGFtcGxlcz1kaXNhYmxlZAotICAgIC0gLUR0ZXN0cz1kaXNh
YmxlZAotLSBuYW1lOiBnc3QtcGx1Z2lucy1nb29kCi0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBz
b3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0bGFiLmZyZWVk
ZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtZ29vZC5naXQKLSAgICAgIGJyYW5jaDog
MS4xNi4xCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3N0cmVhbWVyL3BhdGNo
ZXMvZ29vZC0wMDAxLXF0ZGVtdXgtU3BlY2lmeS1SRURJUkVDVC1pbmZvcm1hdGlvbi1pbi1lcnJv
ci1tZXNzYWcucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlzYWJsZWQK
LSAgICAtIC1EaW50cm9zcGVjdGlvbj1kaXNhYmxlZAotICAgIC0gLURleGFtcGxlcz1kaXNhYmxl
ZAotICAgIC0gLURndGszPWRpc2FibGVkCi0tIG5hbWU6IHgyNjQKLSAgY29uZmlnLW9wdHM6Ci0g
ICAgLSAiLS1lbmFibGUtc2hhcmVkIgotICAgIC0gIi0tZW5hYmxlLXN0YXRpYyIKLSAgICAtICIt
LWVuYWJsZS1waWMiCi0gICAgLSAiLS1kaXNhYmxlLWxhdmYiCi0gICAgLSAiLS1kaXNhYmxlLWFz
bSIKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cDovL2Rv
d25sb2FkLnZpZGVvbGFuLm9yZy9wdWIveDI2NC9zbmFwc2hvdHMveDI2NC1zbmFwc2hvdC0yMDE0
MDIxMi0yMjQ1LXN0YWJsZS50YXIuYnoyCi0gICAgICBzaGEyNTY6IDVkOThlOWU0ZmFmNmRkNTVl
NzE5M2VkMzc5YWZmNDc3YjhhY2JkYTY3Nzc3NTg5NTZlZjdlNWYwNTA2N2JlMTgKLS0gbmFtZTog
Z3N0LXBsdWdpbnMtdWdseQotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoKLSAgICAt
IHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dp
dC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtdWdseQotICAgICAgYnJhbmNoOiAxLjE2LjAKLSAgY29u
ZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlzYWJsZWQKLS0gbmFtZTogZ3N0LXBsdWdpbnMt
YmFkCi0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0g
ICAgICB1cmw6IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0LXBs
dWdpbnMtYmFkLmdpdAotICAgICAgYnJhbmNoOiAxLjE2LjEKLSAgICAtIHR5cGU6IHBhdGNoCi0g
ICAgICBwYXRoOiAuLi9nc3RyZWFtZXIvcGF0Y2hlcy9nc3QtcGx1Z2lucy1iYWQtMDAwMS1oMjY0
cGFyc2UtUG9zdC1hLVdBUk5JTkctd2hlbi1kYXRhLWlzLWJyb2tlbi5wYXRjaAotICBjb25maWct
b3B0czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotICAgIC0gLURpbnRyb3NwZWN0aW9uPWRp
c2FibGVkCi0gICAgLSAtRGV4YW1wbGVzPWRpc2FibGVkCi0tIG5hbWU6IGZmbXBlZwotICBzb3Vy
Y2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL2ZmbXBlZy5vcmcv
cmVsZWFzZXMvZmZtcGVnLTQuMC40LnRhci5negotICAgICAgc2hhMjU2OiA4MGJiNjg1YWJmY2Rk
YTdjOWI2YzljNWNhZjFkOGRiYjkyNzg1ODA1MGQ3Mzc3YzJiOGYzNDg4YzdlOGE5YjdmCi0gIGNv
bmZpZy1vcHRzOgotICAgIC0gLS1lbmFibGUtc3RhdGljCi0gICAgLSAtLWVuYWJsZS1waWMKLSAg
ICAtIC0tZGlzYWJsZS1hdmRldmljZQotICAgIC0gLS1kaXNhYmxlLXBvc3Rwcm9jCi0gICAgLSAt
LWRpc2FibGUtc3dzY2FsZQotICAgIC0gLS1kaXNhYmxlLXByb2dyYW1zCi0gICAgLSAtLWRpc2Fi
bGUtZmZwbGF5Ci0gICAgLSAtLWRpc2FibGUtZmZwcm9iZQotICAgIC0gLS1kaXNhYmxlLWZmbXBl
ZwotICAgIC0gLS1kaXNhYmxlLWVuY29kZXI9ZmxhYwotICAgIC0gLS1kaXNhYmxlLXByb3RvY29s
cwotICAgIC0gLS1kaXNhYmxlLWRldmljZXMKLSAgICAtIC0tZGlzYWJsZS1uZXR3b3JrCi0gICAg
LSAtLWRpc2FibGUtaHdhY2NlbHMKLSAgICAtIC0tZGlzYWJsZS1keHZhMgotICAgIC0gLS1kaXNh
YmxlLXZkcGF1Ci0gICAgLSAtLWRpc2FibGUtZmlsdGVycwotICAgIC0gLS1lbmFibGUtZmlsdGVy
PXlhZGlmCi0gICAgLSAtLWRpc2FibGUtZG9jCi0gICAgLSAtLWRpc2FibGUtZDNkMTF2YQotICAg
IC0gLS1kaXNhYmxlLWR4dmEyCi0gICAgLSAtLWRpc2FibGUtYXVkaW90b29sYm94Ci0gICAgLSAt
LWRpc2FibGUtdmlkZW90b29sYm94Ci0gICAgLSAtLWRpc2FibGUtdmFhcGkKLSAgICAtIC0tZGlz
YWJsZS1jcnlzdGFsaGQKLSAgICAtIC0tZGlzYWJsZS1tZWRpYWNvZGVjCi0gICAgLSAtLWRpc2Fi
bGUtbnZlbmMKLSAgICAtIC0tZGlzYWJsZS1tbWFsCi0gICAgLSAtLWRpc2FibGUtb214Ci0gICAg
LSAtLWRpc2FibGUtb214LXJwaQotICAgIC0gLS1kaXNhYmxlLWN1ZGEKLSAgICAtIC0tZGlzYWJs
ZS1jdXZpZAotICAgIC0gLS1kaXNhYmxlLWxpYm1meAotICAgIC0gLS1kaXNhYmxlLWxpYm5wcAot
ICAgIC0gLS1kaXNhYmxlLWljb252Ci0gICAgLSAtLWRpc2FibGUtam5pCi0gICAgLSAtLWRpc2Fi
bGUtdjRsMl9tMm0KLSAgICAtIC0tZW5hYmxlLW9wdGltaXphdGlvbnMKLS0gbmFtZTogZ3N0LWxp
YmF2Ci0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBidWlsZGRpcjogdHJ1ZQotICBzb3VyY2VzOgot
ICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL2dzdHJlYW1lci5mcmVlZGVz
a3RvcC5vcmcvc3JjL2dzdC1saWJhdi9nc3QtbGliYXYtMS4xNi4xLnRhci54egotICAgICAgc2hh
MjU2OiBlOGE1NzQ4YWU5YTRhN2JlOTY5NjUxMjE4MmVhOWZmYTZlZmUwYmU5Yjc5NzY5MTY1NDhl
OWQ0MzgxY2E2MWM0Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9jPWRpc2FibGVkCi0K
LS0gbmFtZTogbGliZ2NyeXB0ICMgU3BlZWR1cCBsaWJnY3J5cHQKLSAgc291cmNlczoKLSAgICAt
IHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Rldi5nbnVwZy5vcmcvc291cmNlL2xpYmdj
cnlwdC5naXQKLSAgICAgIGJyYW5jaDogbGliZ2NyeXB0LTEuOC40Ci0gICAgLSB0eXBlOiBwYXRj
aAotICAgICAgcGF0aDogcGF0Y2hlcy9saWJnY3J5cHQtMDAwMS1Vc2UtcGtnLWNvbmZpZy10by1k
ZXRlY3QtZ3BnLWVycm9yLnBhdGNoCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4v
Z3RrL3BhdGNoZXMvbGliZ2NyeXB0LXVzZS1vbmx5LWRldi11cmFuZG9tLWZvci10ZXN0aW5nLnBh
dGNoCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1kaXNhYmxlLWRvYwotCi0tIG5hbWU6IHBlcmwt
Y2dpLXBtCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gICAgLSBw
ZXJsIE1ha2VmaWxlLlBMIFBSRUZJWD0vYXBwIExJQj0vYXBwL2xpYi9wZXJsLwotICAgIC0gbWFr
ZSBpbnN0YWxsCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0
dHBzOi8vY3Bhbi5tZXRhY3Bhbi5vcmcvYXV0aG9ycy9pZC9ML0xFL0xFRUpPL0NHSS00LjM4LnRh
ci5negotICAgICAgc2hhMjU2OiA4YzU4ZjRhNTI5YmI5MmE5MTRiMjJiN2U2NGM1ZTMxMTg1Yzk4
NTRhNDA3MGE2ZGZhZDQ0ZmU1Y2MyNDhlN2Q0Ci0KLS0gbmFtZTogcHl0aG9uMi12aXJ0dWFsZW52
Ci0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gIC0gcGlwMiBpbnN0
YWxsIC0tbm8taW5kZXggLS1maW5kLWxpbmtzPSJmaWxlOi8vJHtQV0R9IiAtLXRhcmdldD0vYXBw
L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy8gdmlydHVhbGVudgotICAtIGxuIC1zIC9hcHAv
bGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3ZpcnR1YWxlbnYucHkgL2FwcC9iaW4vdmlydHVh
bGVudgotICAtIGNobW9kICt4IC9hcHAvYmluL3ZpcnR1YWxlbnYKLSAgc291cmNlczoKLSAgLSB0
eXBlOiBmaWxlCi0gICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2Fn
ZXMvMzMvYmMvZmEwYjUzNDcxMzljZDk1NjRmMGQ0NGViZDJiMTQ3YWM5N2MzNmIyNDAzOTQzZGJl
ZThhMjVmZDc0MDEyL3ZpcnR1YWxlbnYtMTYuMC4wLnRhci5negotICAgIHNoYTI1NjogY2EwN2I0
YzBiNTRlMTRhOTFhZjlmMzRkMDkxOTc5MGIwMTY5MjNkMTU3YWZkYTVlZmRkZTU1Yzk2NzE4Zjc1
MgotCi0tIG5hbWU6IGxpYmNhcC1uZwotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAg
ICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdGV2ZWdydWJiL2xpYmNhcC1uZwotICAgICAgYnJh
bmNoOiB2MC43LjkKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLXdpdGgtcHl0aG9uPW5vCi0gICAg
LSAtLXdpdGgtcHl0aG9uMz1ubwotCi0tIG5hbWU6IGx6bzIKLSAgc291cmNlczoKLSAgICAtIHR5
cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cDovL3d3dy5vYmVyaHVtZXIuY29tL29wZW5zb3Vy
Y2UvbHpvL2Rvd25sb2FkL2x6by0yLjEwLnRhci5negotICAgICAgc2hhMTogNDkyNDY3NmE5YmFl
NWRiNThlZjEyOWRjMWNlYmNlM2JhYTNjNGI1ZAotCi0tIG5hbWU6IGljZWNjCi0gIHNvdXJjZXM6
Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2ljZWNjL2lj
ZWNyZWFtCi0gICAgICB0YWc6ICIxLjIiCi0gICAgICBjb21taXQ6IGUzZDEwYTMyYmM2YzA0NmQ4
ZjNkMTE4MmU3NWM2NTlkNGIyOGVkNDkKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLXdpdGhvdXQt
bWFuCi0KLS0gbmFtZTogYnJvdGxpCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogYXJjaGl2ZQotICAg
IHVybDogaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9icm90bGkvYXJjaGl2ZS92MS4wLjUudGFy
Lmd6Ci0gICAgc2hhMjU2OiAzZDViZWRkNDhlZGI5MDlmZTNiODdjYjk5ZjdkMTM5Yjk4N2VmNmYx
NjE2YjdlMjJkNzRlOTI4MjcwYTJmZDIwCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1uaW5qYQotCi0t
IG5hbWU6IHdvZmYyCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogYXJjaGl2ZQotICAgIHVybDogaHR0
cHM6Ly9naXRodWIuY29tL2dvb2dsZS93b2ZmMi9hcmNoaXZlL3YxLjAuMi50YXIuZ3oKLSAgICBz
aGEyNTY6IGFkZDI3MmJiMDllNjM4NGE0ODMzZmZjYTQ4OTYzNTBmZGIxNmUwY2EyMmRmNjhjMDM4
NDc3M2M2N2ExNzU1OTQKLSAgYnVpbGRzeXN0ZW06IGNtYWtlLW5pbmphCi0KLS0gbmFtZTogb3Bl
bmpwZWcKLSAgc291cmNlczoKLSAgLSB0eXBlOiBhcmNoaXZlCi0gICAgdXJsOiBodHRwOi8vZ2l0
aHViLmNvbS91Y2xvdXZhaW4vb3BlbmpwZWcvYXJjaGl2ZS92Mi4zLjAudGFyLmd6Ci0gICAgc2hh
MjU2OiAzZGM3ODdjMWJiNjAyM2JhODQ2YzJhMGQ5YjFmNmUxNzlmMWNkMjU1MTcyYmRlOWViNzVi
MDFmMWU2YzdkNzFhCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1uaW5qYQpkaWZmIC0tZ2l0IGEvVG9v
bHMvZmxhdHBhay9vcmcud2Via2l0LkdUSy55YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0
LkdUSy55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NjNiNTYwNDQwODA0NWVk
MDg3YzdjMjY3YTU5MzJiODRlNjMwZDNmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5HVEsueWFtbAorKysgL2Rl
di9udWxsCkBAIC0xLDEyMyArMCwwIEBACi0tIG5hbWU6IG1lc2EKLSAgc291cmNlczoKLSAgICAt
IHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly9tZXNhLmZyZWVkZXNrdG9wLm9yZy9h
cmNoaXZlL21lc2EtMTguMC4zLnRhci54egotICAgICAgc2hhMjU2OiAwOTlkOTY2NzMyN2E3NmE2
MTc0MWE1MzNmOTUwNjdkNzZlYTcxYTY1NmU2NmI5MTUwN2IzYzBjYWYxZDQ5ZTMwCi0gIGNvbmZp
Zy1vcHRzOgotICAgIC0gLS1wcmVmaXg9L2FwcC9zb2Z0R0wKLSAgICAtIC0tZGlzYWJsZS1kcmkz
Ci0gICAgLSAtLWVuYWJsZS1kcmkKLSAgICAtIC0tZW5hYmxlLWdseAotICAgIC0gLS1lbmFibGUt
ZWdsCi0gICAgLSAtLXdpdGgtZWdsLXBsYXRmb3Jtcz14MTEsd2F5bGFuZAotICAgIC0gLS13aXRo
LWRyaS1kcml2ZXJzPXN3cmFzdAotICAgIC0gLS13aXRoLWdhbGxpdW0tZHJpdmVycz1zd3Jhc3QK
LQotLSBuYW1lOiB3ZWJraXRndGstdGVzdC1mb250cwotICBuby1hdXRvZ2VuOiB0cnVlCi0gIHNv
dXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL1dl
YktpdEdUSy93ZWJraXRndGstdGVzdC1mb250cy5naXQKLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQot
ICBidWlsZC1jb21tYW5kczoKLSAgICAjIEZJWE1FOiBNYWtlIEFjdGl2YXRlRm9udFdQRSBzbWFy
dGVyLgotICAgIC0gbWFrZSBpbnN0YWxsIERFU1RESVI9L2FwcC9XZWJLaXRCdWlsZC9EZXBlbmRl
bmNpZXNHVEsvUm9vdAotCi0tIG5hbWU6IHhvcmctdXRpbC1tYWNyb3MKLSAgc291cmNlczoKLSAg
ICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Aub3Jn
L2dpdC94b3JnL3V0aWwvbWFjcm9zLmdpdAotICAgICAgYnJhbmNoOiB1dGlsLW1hY3Jvcy0xLjE5
LjIKLQotLSBuYW1lOiB4b3JnLWZvbnQtdXRpbAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0
Ci0gICAgICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcvZm9u
dC91dGlsLmdpdAotICAgICAgYnJhbmNoOiBmb250LXV0aWwtMS4zLjEKLQotLSBuYW1lOiB4a2Jm
aWxlCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIGJyYW5jaDogbGlieGtiZmls
ZS0xLjAuOQotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC94
b3JnL2xpYi9saWJ4a2JmaWxlLmdpdAotCi0tIG5hbWU6IGZvbnRlbmMKLSAgc291cmNlczoKLSAg
ICAtIHR5cGU6IGdpdAotICAgICAgYnJhbmNoOiBsaWJmb250ZW5jLTEuMS4zCi0gICAgICB1cmw6
IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcvbGliL2xpYmZvbnRlbmMu
Z2l0Ci0KLS0gbmFtZTogeGZvbnQKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAg
YnJhbmNoOiBsaWJYZm9udDItMi4wLjMKLSAgICAgIHVybDogaHR0cHM6Ly9hbm9uZ2l0LmZyZWVk
ZXNrdG9wLm9yZy9naXQveG9yZy9saWIvbGliWGZvbnQuZ2l0Ci0KLS0gbmFtZTogeHZmYgotICBz
b3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVl
ZGVza3RvcC5vcmcvZ2l0L3hvcmcveHNlcnZlci5naXQKLSAgICAgIGJyYW5jaDogeG9yZy1zZXJ2
ZXItMS4xOS42Ci0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogcGF0Y2hlcy94dmZiLTAw
MDEtSEFDSy1Bdm9pZC1jb21waWxpbmctYS1rYm0tZmlsZS5wYXRjaAotICAgIC0gdHlwZTogcGF0
Y2gKLSAgICAgIHBhdGg6IC4uL2d0ay9wYXRjaGVzL3hzZXJ2ZXItcmVtb3ZlLWJvZ3VzLWRlcGVu
ZGVuY2llcy5wYXRjaAotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2d0ay9wYXRj
aGVzL3hzZXJ2ZXItc2VhcmNoLWZvci1EUkktZHJpdmVycy1hdC1MSUJHTF9EUklWRVJTX1BBVEgt
ZW52aXJvbi5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC0tZW5hYmxlLXh2ZmIKLSAgICAt
IC0tZGlzYWJsZS14d2F5bGFuZAotICAgIC0gLS1lbmFibGUteHZmYgotICAgIC0gLS1kaXNhYmxl
LXh3YXlsYW5kCi0gICAgLSAtLWRpc2FibGUteGluZXJhbWEKLSAgICAtIC0tZW5hYmxlLWdseAot
ICAgIC0gLS1lbmFibGUtY29tcG9zaXRlCi0gICAgLSAtLWRpc2FibGUteG9yZwotICAgIC0gLS1k
aXNhYmxlLWRteAotICAgIC0gLS1kaXNhYmxlLXhuZXN0Ci0gICAgLSAtLWRpc2FibGUteHF1YXJ0
egotICAgIC0gLS1kaXNhYmxlLXh3aW4KLSAgICAtIC0tZGlzYWJsZS14ZXBoeXIKLSAgICAtIC0t
ZGlzYWJsZS14ZmFrZQotICAgIC0gLS1kaXNhYmxlLXhmYmRldgotICAgIC0gLS1kaXNhYmxlLWlu
c3RhbGwtc2V0dWlkCi0gICAgLSAtLWRpc2FibGUtdW5pdC10ZXN0cwotICAgIC0gLS1kaXNhYmxl
LXByZXNlbnQKLSAgICAtIC0tZW5hYmxlLXVuaXgtdHJhbnNwb3J0Ci0gICAgLSAtLWVuYWJsZS10
Y3AtdHJhbnNwb3J0Ci0gICAgLSAtLWRpc2FibGUtbG9jYWwtdHJhbnNwb3J0Ci0gICAgLSAtLXdp
dGhvdXQtZHRyYWNlCi0KLSMgUmVxdWlyZWQgZm9yIHJ1bi1ndGstdGVzdHMKLS0gbmFtZTogcHlj
YWlybwotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAtIHB5dGhv
bjIgc2V0dXAucHkgaW5zdGFsbCAtLXByZWZpeD0vYXBwCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTog
YXJjaGl2ZQotICAgIHVybDogaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcGFja2FnZXMvZWYvOTcv
YjMzZGM1MzNlYTYwNzZkNGVhOWNiZDJmZTA0OWEyYjRhM2RmNWM1YjZmYmE5YTE4MjYxNmY2Zjhk
MzEwL3B5Y2Fpcm8tMS4xNS40LnRhci5negotICAgIHNoYTI1NjogZWU0YzMwNjhjMDQ4MjMwZTVj
ZTc0YmI4OTk0YTAyNDcxMTEyOWJkZTFhZjFkNzZlMzI3NmM3YWNkODFjNDM1NwotICBjbGVhbnVw
OgotICAtICIvaW5jbHVkZSIKLSAgLSAiL2xpYi9wa2djb25maWciCi0KLS0gbmFtZTogcHlnb2Jq
ZWN0LXB5dGhvbjIKLSAgYnVpbGQtb3B0aW9uczoKLSAgICBlbnY6Ci0gICAgICBQWVRIT046ICIv
dXNyL2Jpbi9weXRob24yIgotICBzb3VyY2VzOgotICAtIHR5cGU6IGFyY2hpdmUKLSAgICB1cmw6
IGh0dHBzOi8vZG93bmxvYWQuZ25vbWUub3JnL3NvdXJjZXMvcHlnb2JqZWN0LzMuMjgvcHlnb2Jq
ZWN0LTMuMjguMS50YXIueHoKLSAgICBzaGEyNTY6IDQyMzEyYjRhNTAxNTU3MWZhMGE0ZjJkMjAx
MDA1ZGE0NmI3MWMyNTFlYTI2MjViYzk1NzAyZDA3MWM0ZmY4OTUKLSAgY2xlYW51cDoKLSAgLSAi
L2luY2x1ZGUiCi0gIC0gIi9saWIvcGtnY29uZmlnIgotICAtICIvbGliL3B5dGhvbjIuNy9zaXRl
LXBhY2thZ2VzL2dpLyoubGEiCi0KLS0gb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwKLQotLSBu
YW1lOiBvcmcud2Via2l0LkdUSwotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1h
bmRzOgotICAgIC0gL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgLS1ndGsg
LS1wcmVmaXg9L2FwcAotCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BF
LnlhbWwgYi9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFLnlhbWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDRjYmFiYmFhMGNiOGUxNThhZDQ0NDFmOThiNGQwNTNhOGNiM2JhNzYu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxh
dHBhay9vcmcud2Via2l0LldQRS55YW1sCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAot
LSBvcmcud2Via2l0LldQRU1vZHVsZXMueWFtbAotLSBuYW1lOiB3ZWJraXRndGstdGVzdC1mb250
cwotICBuby1hdXRvZ2VuOiB0cnVlCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAg
IHVybDogaHR0cHM6Ly9naXRodWIuY29tL1dlYktpdEdUSy93ZWJraXRndGstdGVzdC1mb250cy5n
aXQKLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgICAjIEZJWE1F
OiBNYWtlIEFjdGl2YXRlRm9udFdQRSBzbWFydGVyLgotICAgIC0gbWFrZSBpbnN0YWxsIERFU1RE
SVI9L2FwcC9XZWJLaXRCdWlsZC9EZXBlbmRlbmNpZXNXUEUvUm9vdAotLSBuYW1lOiBvcmcud2Vi
a2l0LldQRQotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAgIC0g
L2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgLS13cGUgLS1wcmVmaXg9L2Fw
cApkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRU1vZHVsZXMueWFtbCBi
L1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGE4MGUyY2NiM2E0ZDk1MjJhNjA3OTM0YzA2ZTBhZjkyMDViZjAyMTcu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxh
dHBhay9vcmcud2Via2l0LldQRU1vZHVsZXMueWFtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyICsw
LDAgQEAKLS0gbmFtZTogbGlid3BlCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1uaW5qYQotICBzb3Vy
Y2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL3dwZXdlYmtpdC5v
cmcvcmVsZWFzZXMvbGlid3BlLTEuNC4wLnRhci54egotICAgICAgc2hhMjU2OiBlMmQzNDk0ZmMz
M2ZlOTQ2YWQ5MTdmZDZhM2FiZDEyNzQ2MmI5MWJiYTYyZWY4YjM1NTA3ZTkyZjhlZGU0MTg4Ci0t
IG5hbWU6IHdwZWJhY2tlbmQtZmRvCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1uaW5qYQotICBzb3Vy
Y2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL3dwZXdlYmtpdC5v
cmcvcmVsZWFzZXMvd3BlYmFja2VuZC1mZG8tMS40LjAudGFyLnh6Ci0gICAgICBzaGEyNTY6IGE5
MTljYTRhNWJjNDQ1Zjk0MTlhNWI3ZjM3ODFjZmM5OGU1YWJjZjVkNzI1OWViMTg2OWY1YWIyMGZk
MThiYWYKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVRVC55YW1sIGIv
VG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRVFULnlhbWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGRlMzY5NTdhNDYxYmMzNDc5YTM4ZWZmZGU2ZDk1OGJkMDA3MjY3OGUuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9v
cmcud2Via2l0LldQRVFULnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi1hcHAt
aWQ6IG9yZy53ZWJraXQuV1BFUVQKLXJ1bnRpbWU6IG9yZy5rZGUuUGxhdGZvcm0KLXJ1bnRpbWUt
dmVyc2lvbjogIjUuMTIiCi0jIENvbnRyb2wgdGhlIGV4YWN0IHZlcnNpb24gb2YgdGhlIFNkay9S
dW50aW1lIHRoYXQgaXMgYmVpbmcgdXNlZC4KLXNkay1oYXNoOiBkNmVmYTI0ZTI3YzFjODc4YWQ0
ZmRlNzZiNzNjOTZhMTFiZTMyYjU5OGFlODdhZWZiZTMzOWVlNGJiMTlhOGJlCi1ydW50aW1lLWhh
c2g6IDEwMTg3MWUwOTEwMDA2MTZhZDJiNjM1ZTA2YzQxNGViMGUxYzRlMWMzNDI5MmEyMDVjNTIz
OTkzNWVlNWVhNDQKLXNkazogb3JnLmtkZS5TZGsKLWNvbW1hbmQ6ICUoQ09NTUFORClzCi1maW5p
c2gtYXJnczoKLSAgIyBCYXNpY2FsbHkgbm8gc2FuZGJveGluZywgdGhlIGdvYWwgaGVyZSBpcyB0
byBtYWtlIGl0IGZsZXhpYmxlCi0gICMgZm9yIGRldmVsb3BlcnMsIG5vdCByZWFsbHkgdG8gaXNv
bGF0ZSAob3Blbm5pbmcgYWxsIGRldmljZXMKLSAgIyB0byBhbGxvdyBhY2NlcyB2aWRlbyBjYW1l
cmFzIHVudGlsIHdlIGhhdmUgYSBwb3J0YWwgYXQgbGVhc3QpLgotICAtIC0tc2hhcmU9aXBjCi0g
IC0gLS1zb2NrZXQ9eDExCi0gIC0gLS1zb2NrZXQ9d2F5bGFuZAotICAtIC0tZGV2aWNlPWFsbAot
ICAtIC0tc2hhcmU9bmV0d29yawotICAtIC0tc29ja2V0PXB1bHNlYXVkaW8KLSAgLSAtLXN5c3Rl
bS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkdlb0NsdWUyCi0gIC0gLS1zeXN0ZW0tdGFsay1u
YW1lPW9yZy5hMTF5LkJ1cwotICAtIC0tZmlsZXN5c3RlbT1ob3N0Ci0gIC0gLS1zb2NrZXQ9c3lz
dGVtLWJ1cwotICAtIC0tdGFsay1uYW1lPW9yZy5mcmVlZGVza3RvcC5GbGF0cGFrCi0gIC0gLS1l
bnY9R1NUX1BSRVNFVF9QQVRIPS9hcHAvc2hhcmUvZ3N0cmVhbWVyLTEuMC9wcmVzZXRzLwotYnVp
bGQtb3B0aW9uczoKLSAgY2ZsYWdzOiAtTzIgLWcKLSAgY3h4ZmxhZ3M6IC1PMiAtZwotICBzdHJp
cDogZmFsc2UKLSAgbm8tZGVidWdpbmZvOiB0cnVlCi1tb2R1bGVzOgotICAtIG9yZy53ZWJraXQu
Q29tbW9uTW9kdWxlcy55YW1sCi0gIC0gb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwKLQotICAj
IFRoaXMgbW9kdWxlIGlzIG5vdCBhY3R1YWxseSBidWlsdC4KLSAgLSBuYW1lOiBvcmcud2Via2l0
LldQRVFUCi0gICAgYnVpbGRzeXN0ZW06IGNtYWtlCi0gICAgc291cmNlczoKLSAgICAtIHR5cGU6
IGRpcgotICAgICAgcGF0aDogL2FwcC93ZWJraXQvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L3dwZS9xdApkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldlYktpdC55YW1s
IGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldlYktpdC55YW1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBiNmQ2MTI2NjBkOGEyMDQ1ZGEzMTJmZGIwOTFiNzhlNThhODA3ZTY5Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRw
YWsvb3JnLndlYmtpdC5XZWJLaXQueWFtbAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAK
LWFwcC1pZDogJShQT1JUTkFNRSlzCi1ydW50aW1lOiBvcmcuZ25vbWUuUGxhdGZvcm0KLXJ1bnRp
bWUtdmVyc2lvbjogIjMuMzIiCi0jIENvbnRyb2wgdGhlIGV4YWN0IHZlcnNpb24gb2YgdGhlIFNk
ay9SdW50aW1lIHRoYXQgaXMgYmVpbmcgdXNlZC4KLXNkay1oYXNoOiBiM2I5YjFkMWIxOWVhMmJi
NzIwMTk0MjhjYTc1YzdhNzg0NTVlOTg2YTBmOTFkZGRmNmEyOWM5Mjk5MGNjNWE3Ci1ydW50aW1l
LWhhc2g6IDdjOWQ1NTkyZDgwNWQwYjdjMjEyMTkwZmQ4MTE4ZTRjNzhjYjhlZDhmODFlNjg3ODU4
OTcyNjcwZGFjY2ZmNzYKLXNkazogb3JnLmdub21lLlNkawotY29tbWFuZDogJShDT01NQU5EKXMK
LWZpbmlzaC1hcmdzOgotICAjIEJhc2ljYWxseSBubyBzYW5kYm94aW5nLCB0aGUgZ29hbCBoZXJl
IGlzIHRvIG1ha2UgaXQgZmxleGlibGUKLSAgIyBmb3IgZGV2ZWxvcGVycywgbm90IHJlYWxseSB0
byBpc29sYXRlIChvcGVubmluZyBhbGwgZGV2aWNlcwotICAjIHRvIGFsbG93IGFjY2VzIHZpZGVv
IGNhbWVyYXMgdW50aWwgd2UgaGF2ZSBhIHBvcnRhbCBhdCBsZWFzdCkuCi0gIC0gLS1zaGFyZT1p
cGMKLSAgLSAtLXNvY2tldD14MTEKLSAgLSAtLXNvY2tldD13YXlsYW5kCi0gIC0gLS1kZXZpY2U9
YWxsCi0gIC0gLS1zaGFyZT1uZXR3b3JrCi0gIC0gLS1zb2NrZXQ9cHVsc2VhdWRpbwotICAtIC0t
c3lzdGVtLXRhbGstbmFtZT1vcmcuZnJlZWRlc2t0b3AuR2VvQ2x1ZTIKLSAgLSAtLXN5c3RlbS10
YWxrLW5hbWU9b3JnLmExMXkuQnVzCi0gIC0gLS1maWxlc3lzdGVtPWhvc3QKLSAgLSAtLXNvY2tl
dD1zeXN0ZW0tYnVzCi0gIC0gLS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkZsYXRwYWsKLSAg
LSAtLWVudj1HU1RfUFJFU0VUX1BBVEg9L2FwcC9zaGFyZS9nc3RyZWFtZXItMS4wL3ByZXNldHMv
Ci1idWlsZC1vcHRpb25zOgotICBjZmxhZ3M6IC1PMiAtZwotICBjeHhmbGFnczogLU8yIC1nCi0g
IHN0cmlwOiBmYWxzZQotICBuby1kZWJ1Z2luZm86IHRydWUKLW1vZHVsZXM6Ci0gIC0gb3JnLndl
YmtpdC5Db21tb25Nb2R1bGVzLnlhbWwKLSAgIyBQb3J0IHNwZWNpZmljIGNvbXBvbmVudHMuCi0g
IC0gJShQT1JUTkFNRSlzLnlhbWwKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy9o
dHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1kZXRlY3Rpb24ucGF0
Y2ggYi9Ub29scy9mbGF0cGFrL3BhdGNoZXMvaHR0cGQtMDAwMS1jb25maWd1cmUtdXNlLXBrZy1j
b25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBkMzZhNjk0ZjI5MjNkMzUxZGI2ZjNmMTMzMjc2MDI4M2RhNzhmOWRlLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hl
cy9odHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1kZXRlY3Rpb24u
cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1Gcm9tIGI1ZWJlNDA0ZjEzODhk
ZGRhMzYwM2U1MzI3N2Y4N2UwYjk2YmE2OTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t
OiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotRGF0ZTogTW9uLCAxMSBK
dW4gMjAxOCAxNjoxNDozOCAtMDQwMAotU3ViamVjdDogW1BBVENIXSBjb25maWd1cmU6IHVzZSBw
a2ctY29uZmlnIGZvciBQQ1JFIGRldGVjdGlvbgotCi0tLS0KLSBjb25maWd1cmUuaW4gfCAyNyAr
KysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25z
KCspLCAyMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZp
Z3VyZS5pbgotaW5kZXggNzYxZTgzNi4uYjE1NWQ0YiAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5p
bgotKysrIGIvY29uZmlndXJlLmluCi1AQCAtMjE1LDI4ICsyMTUsMTEgQEAgZmkKLSBBQ19BUkdf
V0lUSChwY3JlLAotIEFQQUNIRV9IRUxQX1NUUklORygtLXdpdGgtcGNyZT1QQVRILFVzZSBleHRl
cm5hbCBQQ1JFIGxpYnJhcnkpKQotIAotLUFDX1BBVEhfUFJPRyhQQ1JFX0NPTkZJRywgcGNyZS1j
b25maWcsIGZhbHNlKQotLWlmIHRlc3QgLWQgIiR3aXRoX3BjcmUiICYmIHRlc3QgLXggIiR3aXRo
X3BjcmUvYmluL3BjcmUtY29uZmlnIjsgdGhlbgotLSAgIFBDUkVfQ09ORklHPSR3aXRoX3BjcmUv
YmluL3BjcmUtY29uZmlnCi0tZWxpZiB0ZXN0IC14ICIkd2l0aF9wY3JlIjsgdGhlbgotLSAgIFBD
UkVfQ09ORklHPSR3aXRoX3BjcmUKLS1maQotLQotLWlmIHRlc3QgIiRQQ1JFX0NPTkZJRyIgIT0g
ImZhbHNlIjsgdGhlbgotLSAgaWYgJFBDUkVfQ09ORklHIC0tdmVyc2lvbiA+L2Rldi9udWxsIDI+
JjE7IHRoZW4gOjsgZWxzZQotLSAgICBBQ19NU0dfRVJST1IoW0RpZCBub3QgZmluZCBwY3JlLWNv
bmZpZyBzY3JpcHQgYXQgJFBDUkVfQ09ORklHXSkKLS0gIGZpCi0tICBjYXNlIGAkUENSRV9DT05G
SUcgLS12ZXJzaW9uYCBpbgotLSAgW1sxLTVdLipdKQotLSAgICBBQ19NU0dfRVJST1IoW05lZWQg
YXQgbGVhc3QgcGNyZSB2ZXJzaW9uIDYuMF0pCi0tICAgIDs7Ci0tICBlc2FjCi0tICBBQ19NU0df
Tk9USUNFKFtVc2luZyBleHRlcm5hbCBQQ1JFIGxpYnJhcnkgZnJvbSAkUENSRV9DT05GSUddKQot
LSAgQVBSX0FERFRPKFBDUkVfSU5DTFVERVMsIFtgJFBDUkVfQ09ORklHIC0tY2ZsYWdzYF0pCi0t
ICBBUFJfQUREVE8oUENSRV9MSUJTLCBbYCRQQ1JFX0NPTkZJRyAtLWxpYnNgXSkKLS1lbHNlCi0t
ICBBQ19NU0dfRVJST1IoW3BjcmUtY29uZmlnIGZvciBsaWJwY3JlIG5vdCBmb3VuZC4gUENSRSBp
cyByZXF1aXJlZCBhbmQgYXZhaWxhYmxlIGZyb20gaHR0cDovL3BjcmUub3JnL10pCi0tZmkKLStQ
S0dfQ0hFQ0tfTU9EVUxFUyhbUENSRV0sIFtsaWJwY3JlXSwgWwotKyAgQUNfREVGSU5FKFtIQVZF
X1BDUkVdLCBbMV0sIFtEZWZpbmUgaWYgeW91IGhhdmUgUENSRSBsaWJyYXJ5XSkKLStdLCBbCi0r
ICBBQ19NU0dfRVJST1IoWyRQQ1JFX1BLR19FUlJPUlNdKQotK10pCi0gQVBBQ0hFX1NVQlNUKFBD
UkVfTElCUykKLSAKLSBBQ19NU0dfTk9USUNFKFtdKQotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0
IGEvVG9vbHMvZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVzZS1wa2ctY29uZmlnLXRv
LWRldGVjdC1ncGctZXJyb3IucGF0Y2ggYi9Ub29scy9mbGF0cGFrL3BhdGNoZXMvbGliZ2NyeXB0
LTAwMDEtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRjaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYzU3NzI3ZmJiOGIwOGI5MTk1YTVjMDk3ZDZjNjFiOTA4YzY5
MTc5YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29s
cy9mbGF0cGFrL3BhdGNoZXMvbGliZ2NyeXB0LTAwMDEtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0
LWdwZy1lcnJvci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExMCArMCwwIEBACi1Gcm9tIDlh
ZmYzZjFiMzQ0ZmM4NjY2YjE0YzU3NjI5MTYyYzJiOTAwN2NhZDggTW9uIFNlcCAxNyAwMDowMDow
MCAyMDAxCi1Gcm9tOiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotRGF0
ZTogRnJpLCAyOSBKdW4gMjAxOCAwOTowNTo1MiAtMDQwMAotU3ViamVjdDogW1BBVENIXSBVc2Ug
cGtnLWNvbmZpZyB0byBkZXRlY3QgZ3BnLWVycm9yCi0KLS0tLQotIG00L2dwZy1lcnJvci5tNCB8
IDg4ICsrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAx
IGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNzYgZGVsZXRpb25zKC0pCi0KLWRpZmYg
LS1naXQgYS9tNC9ncGctZXJyb3IubTQgYi9tNC9ncGctZXJyb3IubTQKLWluZGV4IDE2NjEyMDRj
Li41ZjlmMzNjMiAxMDA2NDQKLS0tLSBhL200L2dwZy1lcnJvci5tNAotKysrIGIvbTQvZ3BnLWVy
cm9yLm00Ci1AQCAtNDEsODEgKzQxLDE3IEBAIEFDX0RFRlVOKFtBTV9QQVRIX0dQR19FUlJPUl0s
Ci0gICBBQ19BUkdfV0lUSChncGctZXJyb3ItcHJlZml4LCwKLSAgICAgICAgICAgICAgIFtncGdf
ZXJyb3JfY29uZmlnX3ByZWZpeD0iJHdpdGh2YWwiXSkKLSAKLS0gIGlmIHRlc3QgeCIke0dQR19F
UlJPUl9DT05GSUd9IiA9IHggOyB0aGVuCi0tICAgICBpZiB0ZXN0IHgiJHtncGdfZXJyb3JfY29u
ZmlnX3ByZWZpeH0iICE9IHggOyB0aGVuCi0tICAgICAgICBHUEdfRVJST1JfQ09ORklHPSIke2dw
Z19lcnJvcl9jb25maWdfcHJlZml4fS9iaW4vZ3BnLWVycm9yLWNvbmZpZyIKLS0gICAgIGVsc2UK
LS0gICAgICAgY2FzZSAiJHtTWVNST09UfSIgaW4KLS0gICAgICAgICAvKikKLS0gICAgICAgICAg
IGlmIHRlc3QgLXggIiR7U1lTUk9PVH0vYmluL2dwZy1lcnJvci1jb25maWciIDsgdGhlbgotLSAg
ICAgICAgICAgICBHUEdfRVJST1JfQ09ORklHPSIke1NZU1JPT1R9L2Jpbi9ncGctZXJyb3ItY29u
ZmlnIgotLSAgICAgICAgICAgZmkKLS0gICAgICAgICAgIDs7Ci0tICAgICAgICAgJycpCi0tICAg
ICAgICAgICA7OwotLSAgICAgICAgICAqKQotLSAgICAgICAgICAgQUNfTVNHX1dBUk4oW0lnbm9y
aW5nIFwkU1lTUk9PVCBhcyBpdCBpcyBub3QgYW4gYWJzb2x1dGUgcGF0aC5dKQotLSAgICAgICAg
ICAgOzsKLS0gICAgICAgZXNhYwotLSAgICAgZmkKLS0gIGZpCi0rICBQS0dfQ0hFQ0tfTU9EVUxF
UyhbR1BHX0VSUk9SXSwgW2dwZy1lcnJvcl0sIFsKLSsgICAgQUNfREVGSU5FKFtIQVZFX0dQR19F
UlJPUl0sIFsxXSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBncGctZXJyb3IgbGlicmFyeV0pCi0gCi0t
ICBBQ19QQVRIX1BST0coR1BHX0VSUk9SX0NPTkZJRywgZ3BnLWVycm9yLWNvbmZpZywgbm8pCi0t
ICBtaW5fZ3BnX2Vycm9yX3ZlcnNpb249aWZlbHNlKFskMV0sICwwLjAsJDEpCi0tICBBQ19NU0df
Q0hFQ0tJTkcoZm9yIEdQRyBFcnJvciAtIHZlcnNpb24gPj0gJG1pbl9ncGdfZXJyb3JfdmVyc2lv
bikKLS0gIG9rPW5vCi0tICBpZiB0ZXN0ICIkR1BHX0VSUk9SX0NPTkZJRyIgIT0gIm5vIiBcCi0t
ICAgICAmJiB0ZXN0IC1mICIkR1BHX0VSUk9SX0NPTkZJRyIgOyB0aGVuCi0tICAgIHJlcV9tYWpv
cj1gZWNobyAkbWluX2dwZ19lcnJvcl92ZXJzaW9uIHwgXAotLSAgICAgICAgICAgICAgIHNlZCAn
cy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS9cMS8nYAotLSAgICByZXFfbWlub3I9YGVjaG8g
JG1pbl9ncGdfZXJyb3JfdmVyc2lvbiB8IFwKLS0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAt
OV1dKlwpXC5cKFtbMC05XV0qXCkvXDIvJ2AKLS0gICAgZ3BnX2Vycm9yX2NvbmZpZ192ZXJzaW9u
PWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19hcmdzIC0tdmVyc2lvbmAKLS0g
ICAgbWFqb3I9YGVjaG8gJGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbiB8IFwKLS0gICAgICAgICAg
ICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXCkuKi9cMS8nYAotLSAgICBtaW5v
cj1gZWNobyAkZ3BnX2Vycm9yX2NvbmZpZ192ZXJzaW9uIHwgXAotLSAgICAgICAgICAgICAgIHNl
ZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS4qL1wyLydgCi0tICAgIGlmIHRlc3QgIiRt
YWpvciIgLWd0ICIkcmVxX21ham9yIjsgdGhlbgotLSAgICAgICAgb2s9eWVzCi0tICAgIGVsc2UK
LS0gICAgICAgIGlmIHRlc3QgIiRtYWpvciIgLWVxICIkcmVxX21ham9yIjsgdGhlbgotLSAgICAg
ICAgICAgIGlmIHRlc3QgIiRtaW5vciIgLWdlICIkcmVxX21pbm9yIjsgdGhlbgotLSAgICAgICAg
ICAgICAgIG9rPXllcwotLSAgICAgICAgICAgIGZpCi0tICAgICAgICBmaQotLSAgICBmaQotLSAg
ZmkKLS0gIGlmIHRlc3QgJG9rID0geWVzOyB0aGVuCi0tICAgIEdQR19FUlJPUl9DRkxBR1M9YCRH
UEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1jZmxhZ3NgCi0tICAgIEdQ
R19FUlJPUl9MSUJTPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19hcmdzIC0t
bGlic2AKLS0gICAgR1BHX0VSUk9SX01UX0NGTEFHUz1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19l
cnJvcl9jb25maWdfYXJncyAtLW10IC0tY2ZsYWdzIDI+L2Rldi9udWxsYAotLSAgICBHUEdfRVJS
T1JfTVRfTElCUz1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9jb25maWdfYXJncyAtLW10
IC0tbGlicyAyPi9kZXYvbnVsbGAKLS0gICAgQUNfTVNHX1JFU1VMVChbeWVzICgkZ3BnX2Vycm9y
X2NvbmZpZ192ZXJzaW9uKV0pCi0tICAgIGlmZWxzZShbJDJdLCAsIDosIFskMl0pCi0tICAgIGdw
Z19lcnJvcl9jb25maWdfaG9zdD1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9jb25maWdf
YXJncyAtLWhvc3QgMj4vZGV2L251bGwgfHwgZWNobyBub25lYAotLSAgICBpZiB0ZXN0IHgiJGdw
Z19lcnJvcl9jb25maWdfaG9zdCIgIT0geG5vbmUgOyB0aGVuCi0tICAgICAgaWYgdGVzdCB4IiRn
cGdfZXJyb3JfY29uZmlnX2hvc3QiICE9IHgiJGhvc3QiIDsgdGhlbgotLSAgQUNfTVNHX1dBUk4o
W1sKLS0qKioKLS0qKiogVGhlIGNvbmZpZyBzY3JpcHQgJEdQR19FUlJPUl9DT05GSUcgd2FzCi0t
KioqIGJ1aWx0IGZvciAkZ3BnX2Vycm9yX2NvbmZpZ19ob3N0IGFuZCB0aHVzIG1heSBub3QgbWF0
Y2ggdGhlCi0tKioqIHVzZWQgaG9zdCAkaG9zdC4KLS0qKiogWW91IG1heSB3YW50IHRvIHVzZSB0
aGUgY29uZmlndXJlIG9wdGlvbiAtLXdpdGgtZ3BnLWVycm9yLXByZWZpeAotLSoqKiB0byBzcGVj
aWZ5IGEgbWF0Y2hpbmcgY29uZmlnIHNjcmlwdCBvciB1c2UgXCRTWVNST09ULgotLSoqKl1dKQot
LSAgICAgICAgZ3BnX2NvbmZpZ19zY3JpcHRfd2Fybj0iJGdwZ19jb25maWdfc2NyaXB0X3dhcm4g
bGliZ3BnLWVycm9yIgotLSAgICAgIGZpCi0tICAgIGZpCi0tICBlbHNlCi0tICAgIEdQR19FUlJP
Ul9DRkxBR1M9IiIKLS0gICAgR1BHX0VSUk9SX0xJQlM9IiIKLS0gICAgR1BHX0VSUk9SX01UX0NG
TEFHUz0iIgotLSAgICBHUEdfRVJST1JfTVRfTElCUz0iIgotLSAgICBBQ19NU0dfUkVTVUxUKG5v
KQotLSAgICBpZmVsc2UoWyQzXSwgLCA6LCBbJDNdKQotLSAgZmkKLS0gIEFDX1NVQlNUKEdQR19F
UlJPUl9DRkxBR1MpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfTElCUykKLS0gIEFDX1NVQlNUKEdQ
R19FUlJPUl9NVF9DRkxBR1MpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfTVRfTElCUykKLSsgICAg
R1BHX0VSUk9SX01UX0NGTEFHUz0iJEdQR19FUlJPUl9DRkxBR1MiCi0rICAgIEdQR19FUlJPUl9N
VF9MSUJTPSItbHB0aHJlYWQgJEdQR19FUlJPUl9MSUJTIgotKwotKyAgICBBQ19TVUJTVChHUEdf
RVJST1JfQ0ZMQUdTKQotKyAgICBBQ19TVUJTVChHUEdfRVJST1JfTElCUykKLSsgICAgQUNfU1VC
U1QoR1BHX0VSUk9SX01UX0NGTEFHUykKLSsgICAgQUNfU1VCU1QoR1BHX0VSUk9SX01UX0xJQlMp
Ci0rICBdLCBbCi0rICAgIEFDX01TR19FUlJPUihbJEdQR19FUlJPUl9FUlJPUlNdKQotKyAgXSkK
LSBdKQotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9wYXRjaGVzL3h2
ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1maWxlLnBhdGNoIGIvVG9vbHMvZmxh
dHBhay9wYXRjaGVzL3h2ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1maWxlLnBh
dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OTg4NDJiMzgxZDI1MTQwZmJjMDhm
NTRhOTcyMzBhNmRiZTRhNDUwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEtSEFDSy1Bdm9pZC1jb21w
aWxpbmctYS1rYm0tZmlsZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLUZy
b20gYWVkMWI2ZThkZTQxMzc1YzFiOGIxZGZjNDhhMzUwZTBhOWI5Y2JiYSBNb24gU2VwIDE3IDAw
OjAwOjAwIDIwMDEKLUZyb206IFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGlnYWxpYS5jb20+
Ci1EYXRlOiBNb24sIDExIEp1biAyMDE4IDEwOjU1OjQzIC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0gg
eHNlcnZlcl0gSEFDSzogQXZvaWQgY29tcGlsaW5nIGEga2JtIGZpbGUKLQotVGhpcyB3b3VsZCBu
ZWVkIHRvIGJlIGluIC91c3Ivc2hhcmUvWDExLyBhcyB0aGlzIGlzIHdoZXJlCi1yZXNvdXJjZSBm
aWxlcyBhcmUgaW4gdGhlIHNhbmRib3ggYnV0IGl0IGlzIHJlYWQgb25seSBpbiB0aGVyZS4KLQot
SGFjayBhcm91bmQgdGhhdC4KLS0tLQotIHhrYi9kZHhMb2FkLmMgfCA5ICstLS0tLS0tLQotIHhr
Yi94a2JJbml0LmMgfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDkg
ZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS94a2IvZGR4TG9hZC5jIGIveGtiL2RkeExvYWQu
YwotaW5kZXggYmJlMzk1Mi4uYTRhMDNhMSAxMDA2NDQKLS0tLSBhL3hrYi9kZHhMb2FkLmMKLSsr
KyBiL3hrYi9kZHhMb2FkLmMKLUBAIC0xNDgsMTQgKzE0OCw3IEBAIFJ1blhrYkNvbXAoeGtiY29t
cF9idWZmZXJfY2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQgKnVzZXJkYXRhKQotICAgICAgICAgfQot
ICAgICB9Ci0gCi0tICAgIGlmIChhc3ByaW50ZigmYnVmLAotLSAgICAgICAgICAgICAgICAgIlwi
JXMlc3hrYmNvbXBcIiAtdyAlZCAlcyAteGttIFwiJXNcIiAiCi0tICAgICAgICAgICAgICAgICAi
LWVtMSAlcyAtZW1wICVzIC1lbWwgJXMgXCIlcyVzLnhrbVwiIiwKLS0gICAgICAgICAgICAgICAg
IHhrYmJpbmRpciwgeGtiYmluZGlyc2VwLAotLSAgICAgICAgICAgICAgICAgKCh4a2JEZWJ1Z0Zs
YWdzIDwgMikgPyAxIDoKLS0gICAgICAgICAgICAgICAgICAoKHhrYkRlYnVnRmxhZ3MgPiAxMCkg
PyAxMCA6IChpbnQpIHhrYkRlYnVnRmxhZ3MpKSwKLS0gICAgICAgICAgICAgICAgIHhrYmJhc2Vk
aXJmbGFnID8geGtiYmFzZWRpcmZsYWcgOiAiIiwgeGttZmlsZSwKLS0gICAgICAgICAgICAgICAg
IFBSRV9FUlJPUl9NU0csIEVSUk9SX1BSRUZJWCwgUE9TVF9FUlJPUl9NU0cxLAotKyAgICBpZiAo
YXNwcmludGYoJmJ1ZiwgImNwIC9hcHAvd2Via2l0L1Rvb2xzL2ZsYXRwYWsvZmlsZXMvZGVmYXVs
dC54a20gXCIlcyVzLnhrbVwiIiwKLSAgICAgICAgICAgICAgICAgIHhrbV9vdXRwdXRfZGlyLCBr
ZXltYXApID09IC0xKQotICAgICAgICAgYnVmID0gTlVMTDsKLSAKLWRpZmYgLS1naXQgYS94a2Iv
eGtiSW5pdC5jIGIveGtiL3hrYkluaXQuYwotaW5kZXggOWM3NzJmNS4uNGUwYjc3NCAxMDA2NDQK
LS0tLSBhL3hrYi94a2JJbml0LmMKLSsrKyBiL3hrYi94a2JJbml0LmMKLUBAIC04Nyw3ICs4Nyw3
IEBAIHR5cGVkZWYgc3RydWN0IF9TcnZYa21JbmZvIHsKLSAjZGVmaW5lCVhLQl9ERkxUX1JVTEVT
X1BST1AJVFJVRQotICNlbmRpZgotIAotLWNvbnN0IGNoYXIgKlhrYkJhc2VEaXJlY3RvcnkgPSBY
S0JfQkFTRV9ESVJFQ1RPUlk7Ci0rY29uc3QgY2hhciAqWGtiQmFzZURpcmVjdG9yeSA9ICIvdXNy
L3NoYXJlL1gxMS94a2IvIjsKLSBjb25zdCBjaGFyICpYa2JCaW5EaXJlY3RvcnkgPSBYS0JfQklO
X0RJUkVDVE9SWTsKLSBzdGF0aWMgaW50IFhrYldhbnRBY2Nlc3NYID0gMDsKLSAKLS0tIAotMi4x
Ny4xCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVuZGVuY2llcyBiL1Rvb2xz
L2d0ay9pbnN0YWxsLWRlcGVuZGVuY2llcwppbmRleCBjNmRjNTBjYTBlNWZlN2IzMDdmZTU2ODg5
NzZjM2IzMjgxYTRjMjYxLi5jYTVjNzcyMDI0NWJkYWVkMzMyZGNmMDFkY2NiM2QyOGQwZGIwYWFh
IDEwMDc1NQotLS0gYS9Ub29scy9ndGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMKKysrIGIvVG9vbHMv
Z3RrL2luc3RhbGwtZGVwZW5kZW5jaWVzCkBAIC0xNzYsNiArMTc2LDEwIEBAIGZ1bmN0aW9uIGlu
c3RhbGxEZXBlbmRlbmNpZXNXaXRoQXB0IHsKICAgICAgICAgd2VzdG9uIFwKICAgICAgICAgeHZm
YiIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5n
IHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAorICAgICAg
ICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3Ig
YnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCiAgICAgICAg
IGJpc29uIFwKQEAgLTM0NCw2ICszNDgsMTAgQEAgZnVuY3Rpb24gaW5zdGFsbERlcGVuZGVuY2ll
c1dpdGhQYWNtYW4gewogICAgICAgICB3ZXN0b24gXAogICAgICAgICB4b3JnLXNlcnZlci14dmZi
IgogCisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcg
d2l0aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCisgICAgICAg
IGZsYXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBi
dWlsZGluZyB0aGUgamhidWlsZC4KICAgICAjIE5vdGU6IENvdWxkIG5vdCBmaW5kIGxpYmVnbC1t
ZXNhCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCkBAIC01MTYsNiArNTI0LDEwIEBAIGZ1bmN0
aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoRG5mIHsKICAgICAgICAgd2VzdG9uLWRldmVsIFwK
ICAgICAgICAgeG9yZy14MTEtc2VydmVyLVh2ZmIiCiAKKyAgICAjIFRoZXNlIGFyZSBkZXBlbmRl
bmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAgICBw
YWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAgICAgICAgZmxhdHBhayIKKwogICAgICMgVGhlc2UgYXJl
IGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAgIHBh
Y2thZ2VzPSIkcGFja2FnZXMgXAogICAgICAgICBiaXNvbiBcCmRpZmYgLS1naXQgYS9Ub29scy93
cGUvaW5zdGFsbC1kZXBlbmRlbmNpZXMgYi9Ub29scy93cGUvaW5zdGFsbC1kZXBlbmRlbmNpZXMK
aW5kZXggMjdkOWM4MWFjZmFhNGFjMjI4NGNlOGU3NzY3ZmE1OTI5N2M4ZjRlOC4uYjgzYjZkNjQy
MDhiNmMzN2UwZjc5OWRkOGI3N2M2NTFiMjZiMDAyNSAxMDA3NTUKLS0tIGEvVG9vbHMvd3BlL2lu
c3RhbGwtZGVwZW5kZW5jaWVzCisrKyBiL1Rvb2xzL3dwZS9pbnN0YWxsLWRlcGVuZGVuY2llcwpA
QCAtMTEwLDYgKzExMCwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aEFwdCB7
CiAgICAgICAgIHJ1YnktaGlnaGxpbmUgXAogICAgICAgICBydWJ5LWpzb24iCiAKKyAgICAjIFRo
ZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB3aXRoIHRoZSBGbGF0
cGFrIFNESy4KKyAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAgICAgICAgZmxhdHBhayIKKwog
ICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHRoZSBq
aGJ1aWxkLgogICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAogICAgICAgICBnaXQgXApAQCAtMjEy
LDYgKzIxNiwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aFBhY21hbiB7CiAg
ICAgICAgIHB5dGhvbjItcHN1dGlsIFwKICAgICAgICAgcnVieSIKIAorICAgICMgVGhlc2UgYXJl
IGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHdpdGggdGhlIEZsYXRwYWsgU0RL
LgorICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAorICAgICAgICBmbGF0cGFrIgorCiAgICAgIyBU
aGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQu
CiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCiAgICAgICAgIGV4cGF0IFwKQEAgLTMyMyw2ICsz
MzEsMTAgQEAgZnVuY3Rpb24gaW5zdGFsbERlcGVuZGVuY2llc1dpdGhEbmYgewogICAgICAgICBy
dWJ5Z2VtLWhpZ2hsaW5lIFwKICAgICAgICAgcnVieWdlbS1qc29uIgogCisgICAgIyBUaGVzZSBh
cmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgd2l0aCB0aGUgRmxhdHBhayBT
REsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCisgICAgICAgIGZsYXRwYWsiCisKICAgICAj
IFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB0aGUgamhidWls
ZC4KICAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKICAgICAgICAgZXhwYXQtZGV2ZWwgXApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGYwZWJkYTA1NzZhODQ5MTc4MTk3OTgzNjBmMjUxNzMzNzJlMjBmNTUuLjVmOWRlZTU0MzJh
YWM2YWFiZmM0NDE4NDQxYzkzYmZhMDhkYTUzNjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAy
MC0wMS0wNCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CisKKyAgICAg
ICAgW0dUS11bV1BFXSBNaWdyYXRlIHRvIEZsYXRwYWstYmFzZWQgZGV2IFNESworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NjU4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL2NvbmYvZmxhdHBh
ay1odHRwZC5jb25mOiBBZGp1c3QgcGF0aHMuCisKIDIwMjAtMDEtMTQgIENhcmxvcyBBbGJlcnRv
IExvcGV6IFBlcmV6ICA8Y2xvcGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0ZyZWV0eXBlXSBT
dXBwb3J0IGZvciB0aGUgLXdlYmtpdC1mb250LXNtb290aGluZyBDU1MgcHJvcGVydHkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvY29uZi9mbGF0cGFrLWh0dHBkLmNvbmYgYi9MYXlvdXRU
ZXN0cy9odHRwL2NvbmYvZmxhdHBhay1odHRwZC5jb25mCmluZGV4IDNjMDNlNDIzOWMyNDk4OWQ5
Y2Q3OTY4NjE0NGJjN2NlMmIzMGMzMWIuLmJmNTIxNWQ1ODlhZDYxZjg4MmQ1M2EwNjc1YWQ2N2E0
NDZhYjk0M2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvY29uZi9mbGF0cGFrLWh0dHBk
LmNvbmYKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZgpAQCAt
MSw1ICsxLDUgQEAKIFNlcnZlclRva2VucyBPUwotU2VydmVyUm9vdCAiL2FwcC8iCitTZXJ2ZXJS
b290ICIvdXNyLyIKIAogUGlkRmlsZSAiL3RtcC9XZWJLaXQvaHR0cGQucGlkIgogU2NvcmVCb2Fy
ZEZpbGUgIi90bXAvV2ViS2l0L2h0dHBkLnNjb3JlYm9hcmQiCkBAIC0zMyw5ICszMyw3IEBAIExv
YWRNb2R1bGUgbG9nX2NvbmZpZ19tb2R1bGUgICAgbW9kdWxlcy9tb2RfbG9nX2NvbmZpZy5zbwog
TG9hZE1vZHVsZSBzc2xfbW9kdWxlICAgICAgICAgICBtb2R1bGVzL21vZF9zc2wuc28KIExvYWRN
b2R1bGUgcGhwN19tb2R1bGUgICAgICAgICAgbW9kdWxlcy9saWJwaHA3LnNvCiBMb2FkTW9kdWxl
IGFzaXNfbW9kdWxlICAgICAgICAgIG1vZHVsZXMvbW9kX2FzaXMuc28KLUxvYWRNb2R1bGUgZW52
X21vZHVsZSAgICAgICAgICAgbW9kdWxlcy9tb2RfZW52LnNvCiAKLVNldEVudiBQRVJMNUxJQiAv
YXBwL2xpYi9wZXJsCiAKIFNlcnZlck5hbWUgMTI3LjAuMC4xCiAKQEAgLTU0LDcgKzUyLDcgQEAg
QWNjZXNzRmlsZU5hbWUgLmh0YWNjZXNzCiBVc2VDYW5vbmljYWxOYW1lIE9uCiBIb3N0bmFtZUxv
b2t1cHMgT2ZmCiAKLVR5cGVzQ29uZmlnIC9ldGMvbWltZS50eXBlcworVHlwZXNDb25maWcgL3Vz
ci9jb25mL21pbWUudHlwZXMKIAogTG9nTGV2ZWwgd2FybgogTG9nRm9ybWF0ICIlaCAlbCAldSAl
dCBcIiVyXCIgJT5zICViIFwiJXtSZWZlcmVyfWlcIiBcIiV7VXNlci1BZ2VudH1pXCIiIGNvbWJp
bmVkCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387764</attachid>
            <date>2020-01-15 01:38:18 -0800</date>
            <delta_ts>2020-01-16 08:26:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205658-20200115093816.patch</filename>
            <type>text/plain</type>
            <size>123226</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGMyN2MzNzM2YjRjMGRh
NWJiMmI3MjYyYzg3M2NiMGI3MjUyMDNkNC4uN2RlNzNhMWQ1Y2Y0YmM3MDFmMjhhNjE3M2NiY2Ri
NDc2NTZjMjNjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAxLTA0ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVd
IE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0
aW9uTGliSHlwaGVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNjYW5UZXN0RGljdGlvbmFyaWVz
RGlyZWN0b3J5SWZOZWNlc3NhcnkpOiBDaGVjayBmb3IgZmxhdHBhay1pbnN0YWxsZWQgZGljdGlv
bmFyaWVzLgorCiAyMDIwLTAxLTE0ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgTG9uZyBjb250aW51YXRpb24gY2hhaW4gY291bGQgbGVhZCB0byBzdGFjayBleGhh
dXN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2h5cGhlbi9I
eXBoZW5hdGlvbkxpYkh5cGhlbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2h5
cGhlbi9IeXBoZW5hdGlvbkxpYkh5cGhlbi5jcHAKaW5kZXggMTJiYWE0YzRkM2U5ZTYzZjdmZjgx
YzVlMmIxMTk0YjhiYjhhOWMwNS4uZjMzNTlkODA3MDIyZjU0ODljNjhmOWFjZjgxNmE2NzA0MmE1
M2Q2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9oeXBoZW4vSHlw
aGVuYXRpb25MaWJIeXBoZW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
aHlwaGVuL0h5cGhlbmF0aW9uTGliSHlwaGVuLmNwcApAQCAtMTIxLDggKzEyMSwxNSBAQCBzdGF0
aWMgdm9pZCBzY2FuVGVzdERpY3Rpb25hcmllc0RpcmVjdG9yeUlmTmVjZXNzYXJ5KEhhc2hNYXA8
QXRvbVN0cmluZywgVmVjdG9yPAogICAgIC8vIGxpYmh5cGhlbiBkb2Vzbid0IGhhdmUgdGhlIGNv
bmNlcHQgb2YgaW5zdGFsbGVkIGRpY3Rpb25hcmllcy4gSW5zdGVhZCwKICAgICAvLyB3ZSBoYXZl
IHRoaXMgc3BlY2lhbCBjYXNlIGZvciBXZWJLaXQgdGVzdHMuCiAjaWYgUExBVEZPUk0oR1RLKQor
ICAgIC8vIFRyeSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJpZXMgcGF0aCBmb3IgcGVvcGxlIHVzaW5n
IEZsYXRwYWsuCisgICAgR1VuaXF1ZVB0cjxjaGFyPiBkaWN0aW9uYXJpZXNQYXRoKGdfYnVpbGRf
ZmlsZW5hbWUoIi91c3IiLCAic2hhcmUiLCAid2Via2l0Z3RrLXRlc3QtZGljdHMiLCBudWxscHRy
KSk7CisgICAgaWYgKGdfZ2V0ZW52KCJGTEFUUEFLX0lEIikgJiYgZ19maWxlX3Rlc3QoZGljdGlv
bmFyaWVzUGF0aC5nZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9JU19E
SVIpKSkgeworICAgICAgICBzY2FuRGlyZWN0b3J5Rm9yRGljdGlvbmFyaWVzKGRpY3Rpb25hcmll
c1BhdGguZ2V0KCksIGF2YWlsYWJsZUxvY2FsZXMpOworICAgICAgICByZXR1cm47CisgICAgfQor
CiAgICAgQ1N0cmluZyBidWlsZERpcmVjdG9yeSA9IHdlYmtpdEJ1aWxkRGlyZWN0b3J5KCk7Ci0g
ICAgR1VuaXF1ZVB0cjxjaGFyPiBkaWN0aW9uYXJpZXNQYXRoKGdfYnVpbGRfZmlsZW5hbWUoYnVp
bGREaXJlY3RvcnkuZGF0YSgpLCAiRGVwZW5kZW5jaWVzR1RLIiwgIlJvb3QiLCAid2Via2l0Z3Rr
LXRlc3QtZGljdHMiLCBudWxscHRyKSk7CisgICAgZGljdGlvbmFyaWVzUGF0aC5yZXNldChnX2J1
aWxkX2ZpbGVuYW1lKGJ1aWxkRGlyZWN0b3J5LmRhdGEoKSwgIkRlcGVuZGVuY2llc0dUSyIsICJS
b290IiwgIndlYmtpdGd0ay10ZXN0LWRpY3RzIiwgbnVsbHB0cikpOwogICAgIGlmIChnX2ZpbGVf
dGVzdChkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklM
RV9URVNUX0lTX0RJUikpKSB7CiAgICAgICAgIHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJpZXMo
ZGljdGlvbmFyaWVzUGF0aC5nZXQoKSwgYXZhaWxhYmxlTG9jYWxlcyk7CiAgICAgICAgIHJldHVy
bjsKQEAgLTEzMCw3ICsxMzcsOSBAQCBzdGF0aWMgdm9pZCBzY2FuVGVzdERpY3Rpb25hcmllc0Rp
cmVjdG9yeUlmTmVjZXNzYXJ5KEhhc2hNYXA8QXRvbVN0cmluZywgVmVjdG9yPAogCiAgICAgLy8g
VHJ5IGFsdGVybmF0aXZlIGRpY3Rpb25hcmllcyBwYXRoIGZvciBwZW9wbGUgbm90IHVzaW5nIEpI
QnVpbGQuCiAgICAgZGljdGlvbmFyaWVzUGF0aC5yZXNldChnX2J1aWxkX2ZpbGVuYW1lKGJ1aWxk
RGlyZWN0b3J5LmRhdGEoKSwgIndlYmtpdGd0ay10ZXN0LWRpY3RzIiwgbnVsbHB0cikpOwotICAg
IHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJpZXMoZGljdGlvbmFyaWVzUGF0aC5nZXQoKSwgYXZh
aWxhYmxlTG9jYWxlcyk7CisgICAgaWYgKGdfZmlsZV90ZXN0KGRpY3Rpb25hcmllc1BhdGguZ2V0
KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfSVNfRElSKSkpCisgICAgICAg
IHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJpZXMoZGljdGlvbmFyaWVzUGF0aC5nZXQoKSwgYXZh
aWxhYmxlTG9jYWxlcyk7CisKICNlbGlmIGRlZmluZWQoVEVTVF9IWVBIRU5BVEFJT05fUEFUSCkK
ICAgICBzY2FuRGlyZWN0b3J5Rm9yRGljdGlvbmFyaWVzKFRFU1RfSFlQSEVOQVRBSU9OX1BBVEgs
IGF2YWlsYWJsZUxvY2FsZXMpOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3M2FmODVjMzNlNWU1Y2FhN2ZlZjM0MTI0ZGM2YTlhZDE5
NmZmZjllLi44ZmIxNGFjOWQ0NzlhYzVhNmIwYTc3ODRmZTk5NzE1OGEwZTRiYzJkIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTE1
IEBACisyMDIwLTAxLTA0ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4K
KworICAgICAgICBbR1RLXVtXUEVdIE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBkZXYgU0RLCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBKSEJ1aWxkIHdp
bGwgbm93IGJlIHVzZWQgb25seSBpZiB0aGUgV0VCS0lUX0pIQlVJTEQgZW52aXJvbm1lbnQKKyAg
ICAgICAgdmFyaWFibGUgaXMgc2V0IHRvIDEsIHdoaWNoIGlzIHRoZSBjYXNlIGZvciB0aGUgdGlt
ZSBiZWluZyBvbiB0aGUKKyAgICAgICAgR1RLIGFuZCBXUEUgRVdTL2J1aWxkIGJvdHMuCisKKyAg
ICAgICAgQnkgZGVmYXVsdCB0aGUgYnVpbGQgZGVwZW5kZW5jaWVzIGFyZSBub3cgbG9jYWxseSBp
bnN0YWxsZWQgZnJvbSBhCisgICAgICAgIEZsYXRwYWsgcmVwb3NpdG9yeSBob3N0ZWQgYXQgaHR0
cHM6Ly9zb2Z0d2FyZS5pZ2FsaWEuY29tLiBUaGUKKyAgICAgICAgcmVwb3NpdG9yeSBjYW4gYmUg
cmVnZW5lcmF0ZWQgd2l0aCB0aGUgc2NyaXB0cyBmcm9tIHRoZQorICAgICAgICB3ZWJraXQtZmxh
dHBhay1zZGsgR2l0aHViIHByb2plY3QKKyAgICAgICAgKGh0dHBzOi8vZ2l0aHViLmNvbS9JZ2Fs
aWEvd2Via2l0LWZsYXRwYWstc2RrKS4gVGhpcyBpcyBkb25lCisgICAgICAgIHRyYW5zcGFyZW50
bHkgd2l0aCB0aGUgdXBkYXRlLXdlYmtpdHtndGssd3BlfS1saWJzIHNjcmlwdHMuIEFzCisgICAg
ICAgIHRoZXJlIGlzIG5vIG5lZWQgdG8gcmVidWlsZCB0aGUgZGVwZW5kZW5jaWVzIGZyb20gc2Ny
YXRjaCwgdGhlCisgICAgICAgIGRldmVsb3BlciB1c2VyLWV4cGVyaWVuY2Ugc2hvdWxkIG5vdyBi
ZSBtdWNoIG1vcmUgZnJpZW5kbHkgYW5kCisgICAgICAgIG92ZXJhbGwgYnVpbGQgdGltZXMgcmVk
dWNlZC4KKworICAgICAgICBBcyBhbiBhZGRpdGlvbmFsIGNvbW1vZGl0eSwgdGhlIG5ldyBlbnZp
cm9ubWVudCBzdXBwb3J0cyB0aGUKKyAgICAgICAgR1N0cmVhbWVyIGdzdC1idWlsZC1iYXNlZCB3
b3JrZmxvdy4gSnVzdCBzZXQgdGhlIEdTVF9CVUlMRF9QQVRICisgICAgICAgIGVudmlyb25tZW50
IHZhcmlhYmxlIHRvIHlvdXIgZ3N0LWJ1aWxkIHBhdGguIFRoaXMgZmVhdHVyZSB3YXMKKyAgICAg
ICAgY29udHJpYnV0ZWQgYnkgVGhpYmF1bHQgU2F1bmllci4KKworICAgICAgICBUaGUgSkhCdWls
ZCBpbmZyYXN0cnVjdHVyZSB3aWxsIGJlIHJlbW92ZWQgb25jZSBhbGwgdGhlIGJvdHMgaGF2ZQor
ICAgICAgICBiZWVuIHN3aXRjaGVkIG92ZXIgdG8gRmxhdHBhay4KKworICAgICAgICAqIEJ1aWxk
U2xhdmVTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKEluc3RhbGxHdGtEZXBl
bmRlbmNpZXMpOgorICAgICAgICAoSW5zdGFsbFdwZURlcGVuZGVuY2llcyk6CisgICAgICAgIChD
b21waWxlV2ViS2l0LnN0YXJ0KToKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVp
bGRib3QvcnVuOgorICAgICAgICAqIFNjcmlwdHMvYnVpbGQtd2Via2l0OgorICAgICAgICAqIFNj
cmlwdHMvcnVuLWJpbmRpbmdzLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVuLWJ1aWx0aW5z
LWdlbmVyYXRvci10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1ndGstdGVzdHM6CisgICAg
ICAgICogU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHM6CisgICAgICAgICogU2NyaXB0
cy9ydW4tbWluaWJyb3dzZXI6CisgICAgICAgICogU2NyaXB0cy9ydW4tcXQtd3BlLW1pbmlicm93
c2VyOgorICAgICAgICAqIFNjcmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0czoKKyAgICAgICAgKiBT
Y3JpcHRzL3J1bi13cGUtdGVzdHM6CisgICAgICAgICogU2NyaXB0cy90ZXN0LXdlYmtpdHBlcmw6
CisgICAgICAgICogU2NyaXB0cy90ZXN0LXdlYmtpdHB5OgorICAgICAgICAqIFNjcmlwdHMvdGVz
dDI2Mi1ydW5uZXI6CisgICAgICAgICogU2NyaXB0cy91cGRhdGUtd2Via2l0LWZsYXRwYWs6IFJl
bmFtZWQgZnJvbSBUb29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstZmxhdHBhay4KKyAgICAg
ICAgKiBTY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstbGliczoKKyAgICAgICAgKiBTY3JpcHRzL3Vw
ZGF0ZS13ZWJraXR3cGUtZmxhdHBhazogUmVtb3ZlZC4KKyAgICAgICAgKiBTY3JpcHRzL3VwZGF0
ZS13ZWJraXR3cGUtbGliczoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdGRpcnMucG06CisgICAg
ICAgIChnZXRVc2VyRmxhdHBha1BhdGgpOgorICAgICAgICAoaW5GbGF0cGFrU2FuZGJveCk6Cisg
ICAgICAgIChydW5JbkZsYXRwYWtJZkF2YWlsYWJsZSk6CisgICAgICAgICh3cmFwcGVyUHJlZml4
SWZOZWVkZWQpOgorICAgICAgICAoc2hvdWxkVXNlSmhidWlsZCk6CisgICAgICAgIChzaG91bGRV
c2VGbGF0cGFrKToKKyAgICAgICAgKHNob3VsZFJlbW92ZUNNYWtlQ2FjaGUpOgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmUucHk6CisgICAgICAgIChF
eGVjdXRpdmUua2lsbF9hbGwpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNl
LnB5OgorICAgICAgICAoUG9ydC5fcGF0aF90b19hcGFjaGUpOgorICAgICAgICAoUG9ydC5fc2hv
dWxkX3J1bl9hc19waXhlbF90ZXN0KToKKyAgICAgICAgKFBvcnQuX2luX2ZsYXRwYWtfc2FuZGJv
eCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weToKKyAgICAgICAgKEd0
a1BvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKToKKyAgICAgICAgKEd0a1BvcnQuX2dldF9j
cmFzaF9sb2cpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jh
c2hfbG9nLnB5OgorICAgICAgICAoR0RCQ3Jhc2hMb2dHZW5lcmF0b3IpOgorICAgICAgICAoR0RC
Q3Jhc2hMb2dHZW5lcmF0b3IuX19pbml0X18pOgorICAgICAgICAoR0RCQ3Jhc2hMb2dHZW5lcmF0
b3IuZ2VuZXJhdGVfY3Jhc2hfbG9nKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQv
bGludXhfZ2V0X2NyYXNoX2xvZ191bml0dGVzdC5weToKKyAgICAgICAgKEdEQkNyYXNoTG9nR2Vu
ZXJhdG9yVGVzdC50ZXN0X2dlbmVyYXRlX2NyYXNoX2xvZyk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9wb3J0L3dwZS5weToKKyAgICAgICAgKFdQRVBvcnQuc2V0dXBfZW52aXJvbl9mb3Jf
c2VydmVyKToKKyAgICAgICAgKFdQRVBvcnQuX2dldF9jcmFzaF9sb2cpOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyLnB5OgorICAgICAgICAoWHZmYkRyaXZlci5f
c2V0dXBfZW52aXJvbl9mb3JfdGVzdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0ay5jcHA6CisgICAgICAgIChXVFI6OmdldEZv
bnRzUGF0aCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUv
QWN0aXZhdGVGb250c1dQRS5jcHA6CisgICAgICAgIChXVFI6OmdldEZvbnRzUGF0aCk6CisgICAg
ICAgICogZmxhdHBhay9maWxlcy9kZWZhdWx0LnhrbTogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0
cGFrL2ZpbGVzL2h0dHBkLWF1dG9nZW4uc2g6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9m
bGF0cGFrdXRpbHMucHk6CisgICAgICAgIChjaGVja19mbGF0cGFrKToKKyAgICAgICAgKEZsYXRw
YWtSZXBvcy51cGRhdGUpOgorICAgICAgICAoRmxhdHBha1BhY2thZ2UuX19yZXByX18pOgorICAg
ICAgICAoRmxhdHBha1BhY2thZ2UuX19zdHJfXyk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLmxv
YWRfZnJvbV9hcmdzKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuX19pbml0X18pOgorICAgICAg
ICAoV2Via2l0RmxhdHBhay5jbGVhbl9hcmdzKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuc2V0
dXBfYnVpbGRkaXIpOgorICAgICAgICAoV2Via2l0RmxhdHBhayk6CisgICAgICAgIChXZWJraXRG
bGF0cGFrLnNldHVwX2dzdGJ1aWxkKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsucnVuX2luX3Nh
bmRib3gpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5ydW4pOgorICAgICAgICAoV2Via2l0Rmxh
dHBhay5oYXNfZW52aXJvbm1lbnQpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5zYXZlX2NvbmZp
Zyk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnNldHVwX2Rldl9lbnYpOgorICAgICAgICAoV2Vi
a2l0RmxhdHBhay5pbnN0YWxsX2FsbCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnJ1bl9nZGIp
OgorICAgICAgICAqIGZsYXRwYWsvb3JnLndlYmtpdC5Db21tb25Nb2R1bGVzLnlhbWw6IFJlbW92
ZWQuCisgICAgICAgICogZmxhdHBhay9vcmcud2Via2l0LkdUSy55YW1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGZsYXRwYWsvb3JnLndlYmtpdC5XUEUueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
bGF0cGFrL29yZy53ZWJraXQuV1BFTW9kdWxlcy55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZs
YXRwYWsvb3JnLndlYmtpdC5XUEVRVC55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsv
b3JnLndlYmtpdC5XZWJLaXQueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL3BhdGNo
ZXMvaHR0cGQtMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9u
LnBhdGNoOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsvcGF0Y2hlcy9saWJnY3J5cHQtMDAw
MS1Vc2UtcGtnLWNvbmZpZy10by1kZXRlY3QtZ3BnLWVycm9yLnBhdGNoOiBSZW1vdmVkLgorICAg
ICAgICAqIGZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEtSEFDSy1Bdm9pZC1jb21waWxpbmctYS1r
Ym0tZmlsZS5wYXRjaDogUmVtb3ZlZC4KKwogMjAyMC0wMS0xNCAgQ29tbWl0IFF1ZXVlICA8Y29t
bWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjI1NDQ4MCwgcjI1NDQ5NiwgYW5kIHIyNTQ1MTcuCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNs
YXZlU3VwcG9ydC9ndGsvUkVBRE1FIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL1JFQURN
RQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjlmODlmOTgyMWFlZWEyMGVkYjdjZWRi
Y2FiZmI3N2YzODBiZDJjMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvUkVBRE1FCisrKyAvZGV2L251bGwK
QEAgLTEsNDggKzAsMCBAQAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotIFJ1bm5pbmcgYSBHVEsrIGJ1aWxkIHNsYXZlIHVuZGVyIGRhZW1vbnRvb2xzCi09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLVRoaXMgZGly
ZWN0b3J5IGNvbnRhaW5zIHNldmVyYWwgc2NyaXB0cyB3aGljaCBjYW4gYmUgdXNlZCB0byBydW4g
YSBXZWJLaXRHVEsKLWJ1aWxkIHNsYXZlIHVuZGVyIGRhZW1vbnRvb2xzIFsxXS4gVGhpcyBpcyBj
b252ZW5pZW50IGJlY2F1c2UgZGFlbW9udG9vbHMKLXdpbGwgYXV0b21hdGljYWxseSByZXN0YXJ0
IHNlcnZpY2VzIHdoZW4gdGhleSBkaWUsIGFuZCB0aGF0IG1lYW5zIGxlc3MgaHVtYW4KLWludGVy
dmVudGlvbiBpcyBuZWVkZWQuCi0KLQotRGVwZW5kZW5jaWVzCi09PT09PT09PT09PT0KLQotSW4g
b3JkZXIgdG8gdXNlIHRoZSBwcm92aWRlZCBzZXJ2aWNlIGNvbnRyb2wgZmlsZXMsIHlvdSB3aWxs
IG5lZWQgdGhlCi1mb2xsb3dpbmc6Ci0KLSogVGhlIEdOVSBCYXNoIHNoZWxsICh0aGUgc2NyaXB0
cyBjb250YWluIHNvbWUgYmFzaC1pc21zKQotCi0qIFRoZSBkYWVtb250b29scyBwYWNrYWdlIChv
ciBvbmUgb2YgaXRzIGRyb3AtaW4gcmVwbGFjZW1lbnRzLCBsaWtlIHJ1bml0Ci0gIG9yIGZyZWVk
dDsgYnV0IG9ubHkgZGFlbW9udG9vbHMgaGFzIGJlZW4gdGVzdGVkIHNvIGZhcikuCi0KLUluIHNo
b3J0LCBpbiBhIERlYmlhbi1iYXNlZCBzeXN0ZW0geW91IGNhbiBlbnN1cmUgeW91IGhhdmUgdGhl
IG5lZWRlZCBiaXRzCi13aXRoIHRoZSBmb2xsb3dpbmcgY29tbWFuZDoKLQotICBhcHQtZ2V0IGlu
c3RhbGwgZGFlbW9udG9vbHMtcnVuCi0KLQotU2V0dXAKLT09PT09Ci0KLTEuIEZvbGxvdyB0aGUg
aW5zdHJ1Y3Rpb25zIGF0IGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvd2lraS9CdWlsZEJvdAotCi0y
LiBJbnN0YWxsIHRoZSBkZXBlbmRlbmNpZXMgb3V0bGluZWQgYWJvdmUuCi0KLTMuIENvcHkgImRh
ZW1vbnRvb2xzLWJ1aWxkYm90LmNvbmYiIHRvICIvZXRjL2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNv
bmYiCi0KLTQuIEVkaXQgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSB0byBzdWl0IHlvdXIgbmVlZHMs
IHRoZSBjb21tZW50cyBzaG91bGQKLSAgIGJlIHNlbGYtZXhwbGFuYXRvcnkuCi0KLTUuIERyb3Ag
dGhlICJidWlsZGJvdCIgYW5kICJwdWxzZWF1ZGlvIiBkaXJlY3RvcmllcyB0byB0aGUgc2Vydmlj
ZSBjb250cm9sIGRpcmVjdG9yeSBvZgotICAgZGFlbW9udG9vbHM7IGZvciBEZWJpYW4tYmFzZWQg
c2V0dXBzIHRoYXQgd291bGQgYmUgIi9ldGMvc2VydmljZSIKLQotCi1SZWZlcmVuY2VzCi09PT09
PT09PT09Ci0KLVsxXSBodHRwOi8vY3IueXAudG8vZGFlbW9udG9vbHMuaHRtbAotCmRpZmYgLS1n
aXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvbG9nL3J1biBiL1Rvb2xz
L0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWlsZGJvdC9sb2cvcnVuCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDc1NQppbmRleCBmNmM3NDRjNmRkYTQ1Y2JlMmI1ZDBmYThjNGYyNWJhYjUxZjZhNGRkLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL0J1aWxk
U2xhdmVTdXBwb3J0L2d0ay9idWlsZGJvdC9sb2cvcnVuCisrKyAvZGV2L251bGwKQEAgLTEsMzgg
KzAsMCBAQAotIyEgL3Vzci9iaW4vZW52IGJhc2gKLSMKLSMgQ29weXJpZ2h0IChDKSAyMDEwIEln
YWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0j
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCi0jIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAtMTMw
MSwgVVNBLgotCi06ICR7QlVJTERCT1RfQ09ORklHOj0vZXRjL2RhZW1vbnRvb2xzLWJ1aWxkYm90
LmNvbmZ9Ci0KLSMgUmVhZCBjb25maWd1cmF0aW9uIGZpbGUKLVsgLXIgIiR7QlVJTERCT1RfQ09O
RklHfSIgXSAmJiAuICIke0JVSUxEQk9UX0NPTkZJR30iCi0KLTogJHtidWlsZGJvdF91c2VyOj0k
e0hPTUV9fQotOiAke2J1aWxkYm90X2xvZ19wYXRoOj0vdmFyL2xvZy9idWlsZGJvdH0KLQotIyBF
eHBhbmQgYWxsICJlbnZfKiIgZW52aXJvbm1lbnQgdmFyaWFibGVzCi1mb3IgdmFybmFtZSBpbiAk
eyFlbnZfKn0gOyBkbwotCWV2YWwgImV4cG9ydCAke3Zhcm5hbWUjZW52X309XCR7JHt2YXJuYW1l
fX0iCi1kb25lCi0KLW1rZGlyIC1wICIke2J1aWxkYm90X2xvZ19wYXRofSIKLWNob3duICIke2J1
aWxkYm90X3VzZXJ9IiAiJHtidWlsZGJvdF9sb2dfcGF0aH0iCi0KLWV4ZWMgL3Vzci9iaW4vc2V0
dWlkZ2lkICIke2J1aWxkYm90X3VzZXJ9IiBcCi0gICAgIC91c3IvYmluL211bHRpbG9nIHQgIiR7
YnVpbGRib3RfbG9nX3BhdGh9IgotCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9y
dC9ndGsvYnVpbGRib3QvcnVuIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90
L3J1bgpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMTY2YzM4M2VhOGU2YzEwZmNjMDVl
ZjA3ZWQ0ZjQ4ODliYmJiOWVhYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvcnVuCisrKyAv
ZGV2L251bGwKQEAgLTEsNzcgKzAsMCBAQAotIyEgL3Vzci9iaW4vZW52IGJhc2gKLSMKLSMgQ29w
eXJpZ2h0IChDKSAyMDEwIElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1
dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCi0jIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgot
IwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0jIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotCi1leGVjIDI+JjEKLQotOiAke0JVSUxEQk9UX0NP
TkZJRzo9L2V0Yy9kYWVtb250b29scy1idWlsZGJvdC5jb25mfQotCi0jIFJlYWQgY29uZmlndXJh
dGlvbiBmaWxlCi1bIC1yICIke0JVSUxEQk9UX0NPTkZJR30iIF0gJiYgLiAiJHtCVUlMREJPVF9D
T05GSUd9IgotCi0jIEV4cGFuZCBhbGwgImVudl8qIiBlbnZpcm9ubWVudCB2YXJpYWJsZXMKLWZv
ciB2YXJuYW1lIGluICR7IWVudl8qfSA7IGRvCi0JZXZhbCAiZXhwb3J0ICR7dmFybmFtZSNlbnZf
fT1cJHske3Zhcm5hbWV9fSIKLWRvbmUKLQotCi1pZiAhIFsgIiR7YnVpbGRib3RfcGF0aH0iIF0g
OyB0aGVuCi0JZWNobyAiTm8gXCR7YnVpbGRib3RfcGF0aH0gZGVmaW5lZCEgKHdpbGwgc2xlZXAg
Zm9yIDUgbWludXRlcykiCi0Jc2xlZXAgMzAwCi0JZXhpdCAxMTEKLWZpCi0KLQotaWYgISBbICIk
e1dFQktJVF9URVNURk9OVFN9IiBdIDsgdGhlbgotCWVjaG8gIk5vIFwke1dFQktJVF9URVNURk9O
VFN9IGVudmlyb25tZW50IHZhcmlhYmxlISAod2lsbCBzbGVlcCBmb3IgNSBtaW51dGVzKSIKLQlz
bGVlcCAzMDAKLQlleGl0IDExMQotZmkKLQotCi1pZiBbICIke2NvcmVkdW1wX291dHB1dDo9Jyd9
IiBdIDsgdGhlbgotCSMgRW5zdXJlIHRoYXQgdGhlIG91dHB1dCBkaXJlY3RvcnkgZXhpc3RzLgot
CWlmIFtbICEgLWQgJHtjcmFzaG1vbl9vdXRwdXR9IF1dIDsgdGhlbgotCQlta2RpciAtcCAiJHtj
cmFzaG1vbl9vdXRwdXR9IgotCWZpCi0KLQl1bGltaXQgLWMgIiR7Y3Jhc2htb25fbWF4X3NpemU6
PXVubGltaXRlZH0iCi1maQotCi0KLWlmIFsgIiR7Y2NhY2hlX3BhdGh9IiBdIDsgdGhlbgotCWV4
cG9ydCBQQVRIPSIke2NjYWNoZV9wYXRofToke1BBVEh9IgotZmkKLQotOiAke2J1aWxkYm90X3Vz
ZXI6PSR7VVNFUn19Ci0KLWNkICIke2J1aWxkYm90X3BhdGh9IgotZXhlYyAvdXNyL2Jpbi9lbnYg
LSAgICAgICAgICBcCi0JCVRFUk09ZHVtYiAgICAgICAgICAgICAgICAgXAotCQlUWj1QU1Q4UERU
ICAgICAgICAgICAgICAgICBcCi0JCVBBVEg9IiR7UEFUSH0iICAgICAgICAgICAgICBcCi0JCVNI
RUxMPS9iaW4vYmFzaCAgICAgICAgICAgICAgXAotCQlMQU5HPWVuX1VTLlVURi04ICAgICAgICAg
ICAgICBcCi0JCVVTRVI9IiR7YnVpbGRib3RfdXNlcn0iICAgICAgICBcCi0JCUxPR05BTUU9IiR7
YnVpbGRib3RfdXNlcn0iICAgICAgXAotCQlIT01FPSIvaG9tZS8ke2J1aWxkYm90X3VzZXJ9IiAg
ICBcCi0JCURJU1BMQVk9IiR7eHZmYl9kaXNwbGF5Oi0nOjEwJ30iICBcCi0JCU1BSUw9Ii92YXIv
bWFpbC8ke2J1aWxkYm90X3VzZXJ9IiAgXAotCS91c3IvYmluL3NldHVpZGdpZCAiJHtidWlsZGJv
dF91c2VyfSIgXAotCS91c3IvYmluL3R3aXN0ZCAtbm95IGJ1aWxkYm90LnRhYwotCmRpZmYgLS1n
aXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvZGFlbW9udG9vbHMtYnVpbGRib3QuY29u
ZiBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9kYWVtb250b29scy1idWlsZGJvdC5jb25m
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNmFmMjlmN2IwNjI2ODIxNmNlNGExZjFh
YWVlOGQ0NjIwZDI0ZGZkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9kYWVtb250b29scy1idWlsZGJvdC5j
b25mCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMTAg
SWdhbGlhIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotIyBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotIyBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
LSMgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgotIwotIyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0jCi0jIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKLSMgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KLSMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCi0KLQotIyBQYXRoIHRvIHRoZSBCdWlsZGJvdCBzbGF2ZSBkaXJlY3RvcnkKLSMK
LWJ1aWxkYm90X3BhdGg9Ii9ob21lL3NsYXZlL3dlYmtpdGd0ayIKLQotIyBVc2VyIGFjY291bnQg
dXNlZCB0byBydW4gQnVpbGRib3QuCi0jCi1idWlsZGJvdF91c2VyPSJzbGF2ZSIKLQotIyBQYXRo
IHRvIGEgZGlyZWN0b3J5IHdoZXJlIHRvIGxvZyBCdWlsZGJvdCBvdXRwdXQKLSMKLWJ1aWxkYm90
X2xvZ19wYXRoPSIvdmFyL2xvZy9idWlsZGJvdCIKLQotCi0jIElmIHlvdSB3YW50IHRvIHVzZSBj
Y2FjaGUsIHNldCBhIHBhdGggdG8gd2hlcmUgc3lubGlua3Mgd2l0aCB0b29sCi0jIG5hbWVzIHBv
aW50aW5nIHRvIGNjYWNoZSBhcmUgaW5zdGFsbGVkLiBJbiBEZWJpYW4gc3lzdGVtcyB0aGlzCi0j
IHdvdWxkIGJlIC91c3IvbGliL2NjYWNoZS4gU2V0IHRvIGVtcHR5IHRvIGRpc2FibGUuCi0jCi1j
Y2FjaGVfcGF0aD0iL3Vzci9saWIvY2NhY2hlIgotCi0KLSMgRW52aXJvbm1lbnQgdmFyaWFibGVz
LiBQcmVmaXggdGhlbSB3aXRoICJlbnZfIi4KLSMKLWVudl9DRkxBR1M9Ii1waXBlIgotZW52X0NY
WEZMQUdTPSItcGlwZSIKLWVudl9MREZMQUdTPSItbm8taW5zdGFsbCAtbm8tZmFzdC1pbnN0YWxs
IgotZW52X1dFQktJVF9URVNURk9OVFM9Ii9ob21lLyR7YnVpbGRib3RfdXNlcn0vdGVzdGZvbnRz
IgotCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvcHVsc2VhdWRpby9y
dW4gYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvcHVsc2VhdWRpby9ydW4KZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNzU1CmluZGV4IDdjMTE3YWQ5ZDIwNzM5OGQ4NmYwMjczOGU1OTMxODk1OTE3
ZDU2NzguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9v
bHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL3B1bHNlYXVkaW8vcnVuCisrKyAvZGV2L251bGwKQEAg
LTEsMjQgKzAsMCBAQAotIyEgL3Vzci9iaW4vZW52IGJhc2gKLSMKLSMgQ29weXJpZ2h0IChDKSAy
MDEwIElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCi0jIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCi0jIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgotCi1leGVjIDI+JjEKLWV4ZWMgL3Vzci9iaW4vcHVsc2VhdWRpbyAtLXN5
c3RlbSBcCi0JLS1kaXNhbGxvdy1leGl0IC0tZGlzYWxsb3ctbW9kdWxlLWxvYWRpbmcgXAotCS0t
bG9nLXRhcmdldD1zeXNsb2cKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJr
aXQgYi9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAppbmRleCBmYzA2NjRhNjUwNTU0NmY0Mjhj
NzUxNGI5Njc1MTE5Yjc1YTYyMTQwLi4wOTlkMzNhNGI5YjljZGY0MzJjZDEwMjZlYTZhYWUwY2I5
MjU3YTc3IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAorKysgYi9Ub29s
cy9TY3JpcHRzL2J1aWxkLXdlYmtpdApAQCAtNTMsOCArNTMsOCBAQCBzZXRDb25maWd1cmF0aW9u
KCk7CiAKIGlmIChzaG91bGRVc2VGbGF0cGFrKCkpIHsKICAgICBwcmludCAiQnVpbGRpbmcgZmxh
dHBhayBiYXNlZCBlbnZpcm9ubWVudFxuIjsKLQotICAgIHJ1bkluRmxhdHBhaygiL2FwcC93ZWJr
aXQvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQiKTsKKyAgICBteSBAY29tbWFuZCA9IChGaWxl
OjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJidWlsZC13
ZWJraXQiKSk7CisgICAgcnVuSW5GbGF0cGFrKEBjb21tYW5kKTsKIH0KIAogbXkgJG9yaWdpbmFs
V29ya2luZ0RpcmVjdG9yeSA9IGdldGN3ZCgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9y
dW4tYmluZGluZ3MtdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0cwppbmRl
eCBmNmU0NDc3MjUwZjllMTllMzk1OGVmY2I3ZDZlODFlMmFjMjhjOWFiLi4wYWMwYjNhMzEwODhh
MTIyZTA5OThlYTQ5NTY1YmYyMzg3NzM4YTUwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1
bi1iaW5kaW5ncy10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0cwpA
QCAtMzMsNiArMzMsMTEgQEAgaW1wb3J0IG9zCiBpbXBvcnQgc3lzCiBmcm9tIHdlYmtpdHB5LmNv
bW1vbi5zeXN0ZW0gaW1wb3J0IGV4ZWN1dGl2ZQogCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3Mu
cGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgJy4u
JywgJy4uJykpCitzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJl
Y3RvcnksICdUb29scycsICdmbGF0cGFrJykpCitpbXBvcnQgZmxhdHBha3V0aWxzCitmbGF0cGFr
dXRpbHMucnVuX2luX3NhbmRib3hfaWZfYXZhaWxhYmxlKHN5cy5hcmd2KQorCiBkZWYgbWFpbihh
cmd2KToKICAgICAiIiJSdW5zIFdlYkNvcmUgYmluZGluZ3MgY29kZSBnZW5lcmF0b3JzIG9uIHRl
c3QgSURMIGZpbGVzIGFuZCBjb21wYXJlcwogICAgIHRoZSByZXN1bHRzIHdpdGggcmVmZXJlbmNl
IGZpbGVzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tYnVpbHRpbnMtZ2VuZXJhdG9y
LXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tYnVpbHRpbnMtZ2VuZXJhdG9yLXRlc3RzCmluZGV4
IDIzOThjNzhjYTEwZWM1OTc2MjY2MTJjODU1NTNhYmQxYTRlNmZiZDQuLmZiYjA4NjQyNDE5NzRl
YTYwMzVkYTg4YjM2NzliYzQzYzAyYzdlOWQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVu
LWJ1aWx0aW5zLWdlbmVyYXRvci10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1idWlsdGlu
cy1nZW5lcmF0b3ItdGVzdHMKQEAgLTI1LDYgKzI1LDEyIEBACiBpbXBvcnQgc3lzCiBmcm9tIHdl
YmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0IGV4ZWN1dGl2ZQogCitpbXBvcnQgb3MKK3RvcF9s
ZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRp
cm5hbWUoX19maWxlX18pLCAnLi4nLCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRo
LmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBm
bGF0cGFrdXRpbHMKK2ZsYXRwYWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lz
LmFyZ3YpCisKIGRlZiBtYWluKGFyZ3YpOgogICAgICIiIlJ1bnMgdGhlIEpTIGJ1aWx0aW5zIGNv
ZGUgZ2VuZXJhdG9yIG9uIHRlc3QgaW5wdXQgZmlsZXMgYW5kIGNvbXBhcmVzCiAgICAgdGhlIHJl
c3VsdHMgd2l0aCByZWZlcmVuY2UgZmlsZXMuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1
bi1ndGstdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMKaW5kZXggNDFiMDVlMmRm
NGIxZTZkOGZlMzhlYTNjNTQ5YjUzMzU4NGE0Mjk3ZS4uZDM5NzQ4ZjRjM2Q4ZmRmY2VmZjFhMjI5
OWFkYTQyYzg3ZTY1YWFlNSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3Rz
CisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWd0ay10ZXN0cwpAQCAtMTMzLDcgKzEzMyw3IEBAIGlm
IF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgaWYgbm90IGZsYXRwYWt1dGlscy5pc19zYW5k
Ym94ZWQoKSBhbmQgbm90IGpoYnVpbGR1dGlscy5lbnRlcl9qaGJ1aWxkX2Vudmlyb25tZW50X2lm
X2F2YWlsYWJsZSgiZ3RrIik6CiAgICAgICAgIHByaW50ICcqKionCiAgICAgICAgIHByaW50ICcq
KiogV2FybmluZzogamhidWlsZCBlbnZpcm9ubWVudCBub3QgcHJlc2VudCBhbmQgbm90IHJ1bm5p
bmcgaW4gZmxhdHBhay4nCi0gICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13ZWJraXRndGst
bGlicyBvciB1cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtpdCB0byBl
bnN1cmUgcHJvcGVyIHRlc3RpbmcuLicKKyAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdl
YmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Via2l0
IHRvIGVuc3VyZSBwcm9wZXIgdGVzdGluZy4uJwogICAgICAgICBwcmludCAnKioqJwogCiAgICAg
b3B0aW9uX3BhcnNlciA9IG9wdHBhcnNlLk9wdGlvblBhcnNlcih1c2FnZT0ndXNhZ2U6ICVwcm9n
IFtvcHRpb25zXSBbdGVzdC4uLl0nKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tamF2
YXNjcmlwdGNvcmUtdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0
cwppbmRleCBjNTQyY2U5YmVjODk1YmMwY2FhNjkyOWNiNzI1Y2Q4MTA0ZTE1YWVlLi45ODRlYWVl
MmYwYTQ4YzFkMDU2ODI2NWIzOTRjOThjYzdkNjNmMzRkIDEwMDc1NQotLS0gYS9Ub29scy9TY3Jp
cHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1qYXZh
c2NyaXB0Y29yZS10ZXN0cwpAQCAtNDYsNiArNDYsMTIgQEAgdXNlIFRleHQ6OlBhcnNlV29yZHM7
CiBzZXRDb25maWd1cmF0aW9uKCk7CiBteSAkY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24o
KTsKIAoraWYgKHNob3VsZFVzZUZsYXRwYWsoKSkgeworICAgIG15IEBjb21tYW5kID0gKEZpbGU6
OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgInJ1bi1qYXZh
c2NyaXB0Y29yZS10ZXN0cyIpKTsKKyAgICBydW5JbkZsYXRwYWsoQGNvbW1hbmQpOworfQorCisK
ICMgVGhlc2UgdmFyaWFibGVzIGFyZSBpbnRlbnRpb25hbGx5IGxlZnQgdW5kZWZpbmVkLgogbXkg
JHJvb3Q7CiBteSAkc2hvd0hlbHA7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1taW5p
YnJvd3NlciBiL1Rvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93c2VyCmluZGV4IDRjZjZiZTQwNDdi
ZmQ3NmQ2ODEwOWFiMjlhYTY4YTkwZGMwODY2ZTEuLjkwY2QzZmFmNDMxYWViOTI4ZGZkNmRkZmQ2
ZWQ2ZDIzZDJmMjFjY2MgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93c2Vy
CisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93c2VyCkBAIC00NSw3ICs0NSw4IEBAIHBy
b2hpYml0VW5rbm93blBvcnQoKTsKIHNldENvbmZpZ3VyYXRpb24oKTsKIAogaWYgKGlzR3RrKCkg
fHwgaXNXUEUoKSkgewotICAgIHJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKCIvYXBwL3dlYmtpdC9U
b29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlciIpOworICAgIG15IEBjb21tYW5kID0gKEZpbGU6
OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgInJ1bi1taW5p
YnJvd3NlciIpKTsKKyAgICBydW5JbkZsYXRwYWtJZkF2YWlsYWJsZShAY29tbWFuZCk7CiAKICAg
ICAjIENoZWNrIHRvIHNlZSB0aGF0IGFsbCB0aGUgZnJhbWV3b3JrcyBhcmUgYnVpbHQuCiAgICAg
Y2hlY2tGcmFtZXdvcmtzKCk7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUt
bWluaWJyb3dzZXIgYi9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXIKaW5kZXgg
YWVhY2I0ODNjMmZkMTBhYWE1ZmRkMDBkYzZkNGMwYzlmNjE3MzI0NS4uZDQyMWNlNjI0ODE2ZTEy
ZDJkN2RmMzhkYTkwOWFkMDVhNmM5NWZhMCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4t
cXQtd3BlLW1pbmlicm93c2VyCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXF0LXdwZS1taW5pYnJv
d3NlcgpAQCAtMzgsOSArMzgsMTMgQEAgbXkgQGpoYnVpbGRXcmFwcGVyOwogbXkgJGNvbmZpZ3Vy
YXRpb24gPSBwYXNzZWRDb25maWd1cmF0aW9uKCk7CiBteSAkcHJvZHVjdERpciA9IHByb2R1Y3RE
aXIoKTsKIAotJGxpYlBhdGggPSAiL2FwcC93ZWJraXQvV2ViS2l0QnVpbGQvJGNvbmZpZ3VyYXRp
b24vbGliL3FtbCIgaWYgJGNvbmZpZ3VyYXRpb247Ci0kRU5WeyJRTUwyX0lNUE9SVF9QQVRIIn0g
PSAiJGxpYlBhdGgiIGlmICRsaWJQYXRoOwotcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoIi9hcHAv
d2Via2l0L1Rvb2xzL1NjcmlwdHMvcnVuLXF0LXdwZS1taW5pYnJvd3NlciIpOworaWYgKCRjb25m
aWd1cmF0aW9uKSB7CisgICAgJGxpYlBhdGggPSBGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURp
cigpLCAiV2ViS2l0QnVpbGQiLCAiJGNvbmZpZ3VyYXRpb24iLCAibGliIiwgInFtbCIpOworICAg
ICRFTlZ7IlFNTDJfSU1QT1JUX1BBVEgifSA9ICIkbGliUGF0aCI7Cit9CisKK215IEBjb21tYW5k
ID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwg
InJ1bi1xdC13cGUtbWluaWJyb3dzZXIiKSk7CitydW5JbkZsYXRwYWtJZkF2YWlsYWJsZShAY29t
bWFuZCk7CiAKICMgQ2hlY2sgdG8gc2VlIHRoYXQgYWxsIHRoZSBmcmFtZXdvcmtzIGFyZSBidWls
dC4KIGNoZWNrRnJhbWV3b3JrcygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4td2Vi
ZHJpdmVyLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzCmluZGV4IGFj
YzM1ZjcyNDgzZjI4MzJmMDljOGVmYjE4OTVkMTgxZDRkNjc5MjkuLmMzMDA0ZDQ1MzIzYzUxNDI2
NjVkMzcwMzM3ZThlNTkwNDIzYTlkNDAgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLXdl
YmRyaXZlci10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi13ZWJkcml2ZXItdGVzdHMKQEAg
LTc4LDcgKzc4LDcgQEAgaWYgcG9ydC5uYW1lKCkgaW4gWydndGsnLCAnd3BlJ106CiAgICAgICAg
IGlmIG5vdCBqaGJ1aWxkdXRpbHMuZW50ZXJfamhidWlsZF9lbnZpcm9ubWVudF9pZl9hdmFpbGFi
bGUocG9ydC5uYW1lKCkpOgogICAgICAgICAgICAgcHJpbnQgJyoqKicKICAgICAgICAgICAgIHBy
aW50ICcqKiogV2FybmluZzogamhidWlsZCBlbnZpcm9ubWVudCBub3QgcHJlc2VudCBhbmQgbm90
IHJ1bm5pbmcgaW4gZmxhdHBhay4nCi0gICAgICAgICAgICBwcmludCAnKioqIFJ1biB1cGRhdGUt
d2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIGJlZm9yZSBidWlsZC13
ZWJraXQgdG8gZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCisgICAgICAgICAgICBwcmludCAnKioq
IFJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdC1mbGF0cGFrIGJlZm9y
ZSBidWlsZC13ZWJraXQgdG8gZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCiAgICAgICAgICAgICBw
cmludCAnKioqJwogCiBwb3J0Ll9kaXNwbGF5X3NlcnZlciA9IG9wdGlvbnMuZGlzcGxheV9zZXJ2
ZXIKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLXdwZS10ZXN0cyBiL1Rvb2xzL1Njcmlw
dHMvcnVuLXdwZS10ZXN0cwppbmRleCA4Zjc3NDllYjZhZDZkMWYxOTkxM2ExNzY5OWRjYjc2Nzdm
NDg2MmQxLi5mMzRjMTk3MDY0Nzc2MjI2MjQ1MmU2YWU4M2ZhMjg1ZjI4ZTVkMTgwIDEwMDc1NQot
LS0gYS9Ub29scy9TY3JpcHRzL3J1bi13cGUtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4t
d3BlLXRlc3RzCkBAIC01MSw3ICs1MSw3IEBAIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAg
ICAgaWYgbm90IGZsYXRwYWt1dGlscy5pc19zYW5kYm94ZWQoKSBhbmQgbm90IGpoYnVpbGR1dGls
cy5lbnRlcl9qaGJ1aWxkX2Vudmlyb25tZW50X2lmX2F2YWlsYWJsZSgid3BlIik6CiAgICAgICAg
IHByaW50ICcqKionCiAgICAgICAgIHByaW50ICcqKiogV2FybmluZzogamhidWlsZCBlbnZpcm9u
bWVudCBub3QgcHJlc2VudCBhbmQgbm90IHJ1bm5pbmcgaW4gZmxhdHBhay4nCi0gICAgICAgIHBy
aW50ICcqKiogUnVuIHVwZGF0ZS13ZWJraXRndGstbGlicyBvciB1cGRhdGUtd2Via2l0Z3RrLWZs
YXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3RpbmcuLicKKyAg
ICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdlYmtpdHdwZS1saWJzIG9yIHVwZGF0ZS13ZWJr
aXQtZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9wZXIgdGVzdGluZy4u
JwogICAgICAgICBwcmludCAnKioqJwogCiAgICAgb3B0aW9uX3BhcnNlciA9IG9wdHBhcnNlLk9w
dGlvblBhcnNlcih1c2FnZT0ndXNhZ2U6ICVwcm9nIFtvcHRpb25zXSBbdGVzdC4uLl0nKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHBlcmwgYi9Ub29scy9TY3JpcHRzL3Rl
c3Qtd2Via2l0cGVybAppbmRleCA2NDk1Njk2MGZmYzY3YWU3ZGY5MzM2NDEzNmQ5MWE1ZDg4ZWE5
OTQzLi5kYzgxYzE3YzNiYWM1OWE4ODFhNzNlZDE1YjNhNzQ2MGNhN2I5Zjk4IDEwMDc1NQotLS0g
YS9Ub29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cGVybAorKysgYi9Ub29scy9TY3JpcHRzL3Rlc3Qt
d2Via2l0cGVybApAQCAtMzIsNiArMzIsMTMgQEAKIAogdXNlIHN0cmljdDsKIHVzZSB3YXJuaW5n
czsKK3VzZSBGaWxlOjpCYXNlbmFtZTsKK3VzZSBGaWxlOjpGaW5kOwordXNlIEZpbGU6OlNwZWM7
Cit1c2UgRmluZEJpbjsKK3VzZSBHZXRvcHQ6OkxvbmcgcXcoOmNvbmZpZyBwYXNzX3Rocm91Z2gg
bm9fYXV0b19hYmJyZXYpOwordXNlIGxpYiAkRmluZEJpbjo6QmluOwordXNlIHdlYmtpdGRpcnM7
CiAKIHVzZSBGaWxlOjpTcGVjOwogdXNlIEZpbmRCaW47CkBAIC0zOSw2ICs0NiwxMSBAQCB1c2Ug
VGVzdDo6SGFybmVzczsKIHVzZSBsaWIgJEZpbmRCaW46OkJpbjsgIyBzbyB0aGlzIHNjcmlwdCBj
YW4gYmUgcnVuIGZyb20gYW55IGRpcmVjdG9yeS4KIHVzZSBWQ1NVdGlsczsKIAoraWYgKHNob3Vs
ZFVzZUZsYXRwYWsoKSkgeworICAgIG15IEBjb21tYW5kID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUo
c291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgInRlc3Qtd2Via2l0cGVybCIpKTsKKyAg
ICBydW5JbkZsYXRwYWsoQGNvbW1hbmQpOworfQorCiAjIENoYW5nZSB0aGUgd29ya2luZyBkaXJl
Y3Rvcnkgc28gdGhhdCB3ZSBjYW4gcGFzcyBzaG9ydGVyLCByZWxhdGl2ZQogIyBwYXRocyB0byBy
dW50ZXN0cygpLCByYXRoZXIgdGhhbiBsb25nZXIsIGFic29sdXRlIHBhdGhzLgogIwpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5IGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdl
YmtpdHB5CmluZGV4IGVlNjgyY2NjZjBhY2EzZjIwZGM2MTVmZThiNjMyM2NjYzU3Y2JlYTQuLjQy
Mzg4ZTlmODYxNzg1ZWY3ZTM4ZmIxZjQ1NDkwMDUwNTJmMDBhZWMgMTAwNzU1Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvdGVzdC13ZWJraXRweQorKysgYi9Ub29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkK
QEAgLTI5LDQgKzI5LDEwIEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiBmcm9tIHdlYmtpdHB5LmNvbW1vbiBp
bXBvcnQgbXVsdGlwcm9jZXNzaW5nX2Jvb3RzdHJhcAogCitpbXBvcnQgb3MsIHN5cwordG9wX2xl
dmVsX2RpcmVjdG9yeSA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKG9zLnBhdGguZGly
bmFtZShfX2ZpbGVfXyksICcuLicsICcuLicpKQorc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGgu
am9pbih0b3BfbGV2ZWxfZGlyZWN0b3J5LCAnVG9vbHMnLCAnZmxhdHBhaycpKQoraW1wb3J0IGZs
YXRwYWt1dGlscworZmxhdHBha3V0aWxzLnJ1bl9pbl9zYW5kYm94X2lmX2F2YWlsYWJsZShzeXMu
YXJndikKKwogbXVsdGlwcm9jZXNzaW5nX2Jvb3RzdHJhcC5ydW4oJ3dlYmtpdHB5JywgJ3Rlc3Qn
LCAnbWFpbi5weScpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3Rlc3QyNjItcnVubmVyIGIv
VG9vbHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lcgppbmRleCBhMTMxYmNmNjMzZTMwZDk3NjVmYjU2
MjQyNTA3MzExN2E5OGYyMjM4Li5hZjdhZDVlNDhlZjI1MDhjZjRlMjFkNThkNTUwY2YwMzJlZjVm
YTJiIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3Rlc3QyNjItcnVubmVyCisrKyBiL1Rvb2xz
L1NjcmlwdHMvdGVzdDI2Mi1ydW5uZXIKQEAgLTM0LDYgKzM0LDI2IEBAIHVzZSA1LjguODsKIHVz
ZSBGaW5kQmluOwogdXNlIENvbmZpZzsKIAorQkVHSU4geworICAgIHVzZSBsaWIgJEZpbmRCaW46
OkJpbjsKKyAgICB1c2UgRmlsZTo6U3BlYzo6RnVuY3Rpb25zIHF3KGNhdGZpbGUpOworCisgICAg
aWYgKCFncmVwKC9eLS1uby1mbGF0cGFrLWNoZWNrJC8sIEBBUkdWKSkgeworICAgICAgICBpZiAo
ZXZhbCB7cmVxdWlyZSB3ZWJraXRkaXJzOyAxO30pIHsKKyAgICAgICAgICAgIHdlYmtpdGRpcnMt
PmltcG9ydChxdyhzaG91bGRVc2VGbGF0cGFrIHJ1bkluRmxhdHBhayBzb3VyY2VEaXIpKTsKKyAg
ICAgICAgICAgIGlmIChzaG91bGRVc2VGbGF0cGFrKCkpIHsKKyAgICAgICAgICAgICAgICBwcmlu
dCAiUnVubmluZyBpbiBmbGF0cGFrIGJhc2VkIGVudmlyb25tZW50XG4iOworICAgICAgICAgICAg
ICAgIG15IEBjb21tYW5kID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29s
cyIsICJTY3JpcHRzIiwgInRlc3QyNjItcnVubmVyIikpOworICAgICAgICAgICAgICAgICMgUHJl
dmVudCBleGVjJ2QgdGVzdDI2Mi1ydW5uZXIgcHJvY2VzcyBmcm9tIGltcG9ydGluZworICAgICAg
ICAgICAgICAgICMgd2Via2l0ZGlycyBzbyB0aGF0IGl0IGNhbiBzdWNjZWVkIGxhdGVyIG9uIGlu
IHRoZSBSdW5uZXIKKyAgICAgICAgICAgICAgICAjIG1vZHVsZS4uLiBQZXJsLiDCr1xfKOODhClf
L8KvCisgICAgICAgICAgICAgICAgcHVzaChAQVJHViwgIi0tbm8tZmxhdHBhay1jaGVjayIpOwor
ICAgICAgICAgICAgICAgIHJ1bkluRmxhdHBhayhAY29tbWFuZCk7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICB9Cit9CisKIEJFR0lOIHsKICAgICAkRU5We0RCSUNfT1ZFUldSSVRFX0hF
TFBFUl9NRVRIT0RTX09LfSA9IDE7CiAgICAgJEVOVntUMjYyX0VYRUNfQklOfSA9ICIkRmluZEJp
bjo6QmluL3Rlc3QyNjIiOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0
LWZsYXRwYWsgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXQtZmxhdHBhawpuZXcgZmlsZSBt
b2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hODZiODFhMjAzM2Y0YmI3YmUyZDI5YmRlNWMxMmNmNDk1MzMwZDU1Ci0tLSAvZGV2L251bGwK
KysrIGIvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0LWZsYXRwYWsKQEAgLTAsMCArMSwyOCBA
QAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjIENvcHlyaWdodCAoQykgMjAxOCBJZ2FsaWEgUy5M
LgorIyBDb3B5cmlnaHQgKGMpIDIwMTgsIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGlnYWxp
YS5jb20+CisjCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExlc3NlciBHZW5lcmFsIFB1YmxpYworIyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyMgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgcHJv
Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor
IyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQorIyBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisjIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHBy
b2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlCisjIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLAorIyBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KKyMgcHlsaW50OiBkaXNhYmxlPW1pc3NpbmctZG9jc3RyaW5nLGludmFsaWQtbmFt
ZQoraW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK3RvcF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRo
Lm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAiLi4iLCAi
Li4iKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVjdG9y
eSwgIlRvb2xzIiwgImZsYXRwYWsiKSkKK2Zyb20gZmxhdHBha3V0aWxzIGltcG9ydCBXZWJraXRG
bGF0cGFrCisKK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgV2Via2l0RmxhdHBhay5s
b2FkX2Zyb21fYXJncyhbIi0tdXBkYXRlIl0gKyBzeXMuYXJndlsxOl0pLnJ1bigpCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstZmxhdHBhayBiL1Rvb2xzL1Njcmlw
dHMvdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRl
eCAwOTU2ZjFmMmUxNDg1ZDI0ODYyZWY3ZjZkNzRhMmYzZjk4Y2Y5MmY4Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdl
YmtpdGd0ay1mbGF0cGFrCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotIyEvdXNyL2Jp
bi9lbnYgcHl0aG9uCi0jIENvcHlyaWdodCAoQykgMjAxOCBJZ2FsaWEgUy5MLgotIyBDb3B5cmln
aHQgKGMpIDIwMTgsIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGlnYWxpYS5jb20+Ci0jCi0j
IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5l
cmFsIFB1YmxpYwotIyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKLSMgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQotIyBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2Vy
IEdlbmVyYWwgUHVibGljCi0jIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5v
dCwgd3JpdGUgdG8gdGhlCi0jIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3QsIEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSMg
cHlsaW50OiBkaXNhYmxlPW1pc3NpbmctZG9jc3RyaW5nLGludmFsaWQtbmFtZQotaW1wb3J0IG9z
Ci1pbXBvcnQgc3lzCi0KLXRvcF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9z
LnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAiLi4iLCAiLi4iKSkKLXN5cy5w
YXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgIlRvb2xzIiwg
ImZsYXRwYWsiKSkKLWZyb20gZmxhdHBha3V0aWxzIGltcG9ydCBXZWJraXRGbGF0cGFrCi0KLWlm
IF9fbmFtZV9fID09ICJfX21haW5fXyI6Ci0gICAgV2Via2l0RmxhdHBhay5sb2FkX2Zyb21fYXJn
cyhbIi0tZ3RrIiwgIi0tdXBkYXRlIl0gKyBzeXMuYXJndlsxOl0pLnJ1bigpCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstbGlicyBiL1Rvb2xzL1NjcmlwdHMvdXBk
YXRlLXdlYmtpdGd0ay1saWJzCmluZGV4IDJlMWMwMmZmZDcwNTYwMDgwZTM2YmM3NGI0NjU4ZmZl
ZjVkZWNkOGUuLjJlOGE4Nzg1MTk2ZGI4YzdiZmNjNDkwNDk1YWQ5YzVkNzAwZmZmNTEgMTAwNzU1
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1saWJzCisrKyBiL1Rvb2xzL1Nj
cmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1saWJzCkBAIC0yMiw0ICsyMiw4IEBAIHVzZSBsaWIgJEZp
bmRCaW46OkJpbjsKIHVzZSB3ZWJraXRkaXJzOwogCiBteSAkc2NyaXB0c0RpciA9IHJlbGF0aXZl
U2NyaXB0c0RpcigpOwotc3lzdGVtKCJwZXJsIiwgIiRzY3JpcHRzRGlyL3VwZGF0ZS13ZWJraXQt
bGlicy1qaGJ1aWxkIiwgIi0tZ3RrIiwgQEFSR1YpID09IDAgb3IgZGllICQhOworaWYgKGRlZmlu
ZWQgJEVOVnsnV0VCS0lUX0pIQlVJTEQnfSBhbmQgJEVOVnsnV0VCS0lUX0pIQlVJTEQnfSkgewor
ICAgIHN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWxpYnMtamhidWls
ZCIsICItLWd0ayIsIEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK30gZWxzZSB7CisgICAgc3lzdGVt
KCIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWZsYXRwYWsiLCBAQVJHVikgPT0gMCBvciBkaWUg
JCE7Cit9CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtZmxhdHBh
ayBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1mbGF0cGFrCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDc1NQppbmRleCA1NjRlODc2NTIxMTE4ZTJmYzBmZDY4YjhjODY2YWE5MDAxY2I4MTIy
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1Nj
cmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1mbGF0cGFrCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAs
MCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCi0jIENvcHlyaWdodCAoQykgMjAxOCBJZ2FsaWEg
Uy5MLgotIyBDb3B5cmlnaHQgKGMpIDIwMTgsIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGln
YWxpYS5jb20+Ci0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSMgdmVyc2lvbiAyLjEgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMg
cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0jIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlz
IHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlCi0jIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KLSMgcHlsaW50OiBkaXNhYmxlPW1pc3NpbmctZG9jc3RyaW5nLGludmFsaWQt
bmFtZQotaW1wb3J0IG9zCi1pbXBvcnQgc3lzCi0KLXRvcF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5w
YXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAiLi4i
LCAiLi4iKSkKLXN5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVj
dG9yeSwgIlRvb2xzIiwgImZsYXRwYWsiKSkKLWZyb20gZmxhdHBha3V0aWxzIGltcG9ydCBXZWJr
aXRGbGF0cGFrCi0KLWlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6Ci0gICAgV2Via2l0RmxhdHBh
ay5sb2FkX2Zyb21fYXJncyhbIi0td3BlIiwgIi0tdXBkYXRlIl0gKyBzeXMuYXJndlsxOl0pLnJ1
bigpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGlicyBiL1Rv
b2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1saWJzCmluZGV4IDZiNGI0NmYyYjdlYjhhOWU2
ODA3NzU3YmNhMmI5ZTY4NDcwN2EwMjMuLmNkYzRjN2RiOGM2NWVhNzMyM2Q2OTI2ODE5OGEyZjY4
YmQ1MTMwMTQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1saWJz
CisrKyBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1saWJzCkBAIC0yMiw0ICsyMiw4
IEBAIHVzZSBsaWIgJEZpbmRCaW46OkJpbjsKIHVzZSB3ZWJraXRkaXJzOwogCiBteSAkc2NyaXB0
c0RpciA9IHJlbGF0aXZlU2NyaXB0c0RpcigpOwotc3lzdGVtKCJwZXJsIiwgIiRzY3JpcHRzRGly
L3VwZGF0ZS13ZWJraXQtbGlicy1qaGJ1aWxkIiwgIi0td3BlIiwgQEFSR1YpID09IDAgb3IgZGll
ICQhOworaWYgKGRlZmluZWQgJEVOVnsnV0VCS0lUX0pIQlVJTEQnfSBhbmQgJEVOVnsnV0VCS0lU
X0pIQlVJTEQnfSkgeworICAgIHN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rpci91cGRhdGUtd2Vi
a2l0LWxpYnMtamhidWlsZCIsICItLXdwZSIsIEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK30gZWxz
ZSB7CisgICAgc3lzdGVtKCIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWZsYXRwYWsiLCBAQVJH
VikgPT0gMCBvciBkaWUgJCE7Cit9CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdGRp
cnMucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KaW5kZXggOTYxYTQ2Mjg2ZjQ4NzVk
NmFmYjcyNTk5MWM0ZDA0OTViOWVhMjMyMi4uMzA0MzBkMzEzOTEyYjkyYTA3MWExNTRkNDUxZDRi
MGNlYWI0MWYwMyAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQpAQCAtOTEsNyArOTEsMTAgQEAgQkVHSU4gewog
ICAgICAgICZzZXR1cFVuaXhXZWJLaXRFbnZpcm9ubWVudAogICAgICAgICZzaGFyZWRDb21tYW5k
TGluZU9wdGlvbnMKICAgICAgICAmc2hhcmVkQ29tbWFuZExpbmVPcHRpb25zVXNhZ2UKKyAgICAg
ICAmc2hvdWxkVXNlRmxhdHBhaworICAgICAgICZydW5JbkZsYXRwYWsKICAgICAgICAmc2h1dERv
d25JT1NTaW11bGF0b3JEZXZpY2UKKyAgICAgICAmc291cmNlRGlyCiAgICAgICAgJndpbGxVc2VJ
T1NEZXZpY2VTREsKICAgICAgICAmd2lsbFVzZUlPU1NpbXVsYXRvclNESwogICAgICAgIERPX05P
VF9VU0VfT1BFTl9DT01NQU5ECkBAIC0yMDI0LDIwICsyMDI3LDExIEBAIHN1YiBnZXRKaGJ1aWxk
UGF0aCgpCiAgICAgcmV0dXJuIEZpbGU6OlNwZWMtPmNhdGRpcihAamhidWlsZFBhdGgpOwogfQog
Ci1zdWIgZ2V0RmxhdHBha1BhdGgoKQorc3ViIGdldFVzZXJGbGF0cGFrUGF0aCgpCiB7Ci0gICAg
bXkgQGZsYXRwYWtCdWlsZFBhdGggPSBGaWxlOjpTcGVjLT5zcGxpdGRpcihiYXNlUHJvZHVjdERp
cigpKTsKLSAgICBpZiAoaXNHdGsoKSkgewotICAgICAgICBwdXNoKEBmbGF0cGFrQnVpbGRQYXRo
LCAiR1RLIik7Ci0gICAgfSBlbHNpZiAoaXNXUEUoKSkgewotICAgICAgICBwdXNoKEBmbGF0cGFr
QnVpbGRQYXRoLCAiV1BFIik7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgZGllICJDYW5ub3QgZ2V0
IEZsYXRwYWsgcGF0aCBmb3IgcGxhdGZvcm0gdGhhdCBpc24ndCBHVEsrIG9yIFdQRS5cbiI7Ci0g
ICAgfQotICAgIG15IEBjb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbigpOwotICAgIHB1c2go
QGZsYXRwYWtCdWlsZFBhdGgsICJGbGF0cGFrVHJlZSRjb25maWd1cmF0aW9uIik7Ci0KLSAgICBy
ZXR1cm4gRmlsZTo6U3BlYy0+Y2F0ZGlyKEBmbGF0cGFrQnVpbGRQYXRoKTsKKyAgICBteSBAZmxh
dHBha1BhdGggPSBGaWxlOjpTcGVjLT5zcGxpdGRpcihiYXNlUHJvZHVjdERpcigpKTsKKyAgICBw
dXNoKEBmbGF0cGFrUGF0aCwgIlVzZXJGbGF0cGFrIik7CisgICAgcmV0dXJuIEZpbGU6OlNwZWMt
PmNhdGRpcihAZmxhdHBha1BhdGgpOwogfQogCiBzdWIgaXNDYWNoZWRBcmd1bWVudGZpbGVPdXRP
ZkRhdGUoJEApCkBAIC0yMDY0LDExICsyMDU4LDcgQEAgc3ViIGlzQ2FjaGVkQXJndW1lbnRmaWxl
T3V0T2ZEYXRlKCRAKQogCiBzdWIgaW5GbGF0cGFrU2FuZGJveCgpCiB7Ci0gICAgaWYgKC1mICIv
LmZsYXRwYWstaW5mbyIpIHsKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQotCi0gICAgcmV0dXJu
IDA7CisgICAgcmV0dXJuICgtZiAiLy5mbGF0cGFrLWluZm8iKTsKIH0KIAogc3ViIHJ1bkluRmxh
dHBhayhAKQpAQCAtMjA4OSw4ICsyMDc5LDggQEAgc3ViIHJ1bkluRmxhdHBha0lmQXZhaWxhYmxl
KEApCiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIGlmICghIC1lIGdldEZsYXRwYWtQ
YXRoKCkpIHsKLSAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKCEgLWUgZ2V0VXNlckZsYXRwYWtQ
YXRoKCkpIHsKKyAgICAgIHJldHVybiAwOwogICAgIH0KIAogICAgIHJ1bkluRmxhdHBhayhAXykK
QEAgLTIxMDUsNyArMjA5NSw3IEBAIHN1YiB3cmFwcGVyUHJlZml4SWZOZWVkZWQoKQogICAgIGlm
IChpc0FwcGxlQ29jb2FXZWJLaXQoKSkgewogICAgICAgICByZXR1cm4gKCJ4Y3J1biIpOwogICAg
IH0KLSAgICBpZiAoc2hvdWxkVXNlSmhidWlsZCgpIGFuZCAhIHNob3VsZFVzZUZsYXRwYWsoKSkg
eworICAgIGlmIChzaG91bGRVc2VKaGJ1aWxkKCkpIHsKICAgICAgICAgbXkgQHByZWZpeCA9IChG
aWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiamhidWlsZCIsICJqaGJ1
aWxkLXdyYXBwZXIiKSk7CiAgICAgICAgIGlmIChpc0d0aygpKSB7CiAgICAgICAgICAgICBwdXNo
KEBwcmVmaXgsICItLWd0ayIpOwpAQCAtMjEyMiwxMiArMjExMiwxMiBAQCBzdWIgd3JhcHBlclBy
ZWZpeElmTmVlZGVkKCkKIAogc3ViIHNob3VsZFVzZUpoYnVpbGQoKQogewotICAgIHJldHVybiAo
KGlzR3RrKCkgb3IgaXNXUEUoKSkgYW5kIC1lIGdldEpoYnVpbGRQYXRoKCkpOworICAgIHJldHVy
biAoKCEgaW5GbGF0cGFrU2FuZGJveCgpKSBhbmQgKGlzR3RrKCkgb3IgaXNXUEUoKSkgYW5kIC1l
IGdldEpoYnVpbGRQYXRoKCkgYW5kIGRlZmluZWQgJEVOVnsnV0VCS0lUX0pIQlVJTEQnfSBhbmQg
JEVOVnsnV0VCS0lUX0pIQlVJTEQnfSk7CiB9CiAKIHN1YiBzaG91bGRVc2VGbGF0cGFrKCkKIHsK
LSAgICByZXR1cm4gKChpc0d0aygpIG9yIGlzV1BFKCkpIGFuZCAhIGluRmxhdHBha1NhbmRib3go
KSBhbmQgLWUgZ2V0RmxhdHBha1BhdGgoKSk7CisgICAgcmV0dXJuICgoISBpbkZsYXRwYWtTYW5k
Ym94KCkpIGFuZCAoaXNHdGsoKSBvciBpc1dQRSgpKSBhbmQgLWUgZ2V0VXNlckZsYXRwYWtQYXRo
KCkpOwogfQogCiBzdWIgY21ha2VDYWNoZVBhdGgoKQpAQCAtMjE5NCw3ICsyMTg0LDcgQEAgc3Vi
IHNob3VsZFJlbW92ZUNNYWtlQ2FjaGUoQCkKICAgICB9CiAKICAgICAjIElmIGEgY2hhbmdlIG9u
IHRoZSBKSEJ1aWxkIG1vZHVsZXNldCBoYXMgYmVlbiBkb25lLCB3ZSBuZWVkIHRvIGNsZWFuIHRo
ZSBjYWNoZSBhcyB3ZWxsLgotICAgIGlmIChpc0d0aygpIHx8IGlzV1BFKCkpIHsKKyAgICBpZiAo
ISBzaG91bGRVc2VGbGF0cGFrKCkgYW5kIChpc0d0aygpIHx8IGlzV1BFKCkpKSB7CiAgICAgICAg
IG15ICRqaGJ1aWxkUm9vdERpcmVjdG9yeSA9IEZpbGU6OlNwZWMtPmNhdGRpcihnZXRKaGJ1aWxk
UGF0aCgpLCAiUm9vdCIpOwogICAgICAgICAjIFRoZSBzY3JpcHQgdXBkYXRlLXdlYmtpdC1saWJz
LWpoYnVpbGQgc2hhbGwgcmUtZ2VuZXJhdGUgJGpoYnVpbGRSb290RGlyZWN0b3J5IGlmIHRoZSBt
b2R1bGVzZXQgY2hhbmdlZC4KICAgICAgICAgaWYgKC1kICRqaGJ1aWxkUm9vdERpcmVjdG9yeSAm
JiAkY2FjaGVGaWxlTW9kaWZpZWRUaW1lIDwgc3RhdCgkamhidWlsZFJvb3REaXJlY3RvcnkpLT5t
dGltZSkgewpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weQppbmRleCBkZTAwNjY2N2IyZDFl
NWU1ZWViOGYyZDFhNDQ4Yjc1NmY3ZjA2NmNkLi4xYzNlZTdhYmRiYTNkODZiMmE2OGE0Njg4YjRl
YWQ5NmU5OTg3NWVlIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFz
ZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weQpAQCAtODkzLDYg
Kzg5Myw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgICAgICdMQU5HJywKICAgICAg
ICAgICAgICdMRF9MSUJSQVJZX1BBVEgnLAogICAgICAgICAgICAgJ1RFUk0nLAorICAgICAgICAg
ICAgJ1RaJywKICAgICAgICAgICAgICdYREdfREFUQV9ESVJTJywKICAgICAgICAgICAgICdYREdf
UlVOVElNRV9ESVInLAogCkBAIC0xMjIwLDcgKzEyMjEsNyBAQCBjbGFzcyBQb3J0KG9iamVjdCk6
CiAgICAgICAgIFRoaXMgaXMgbmVlZGVkIG9ubHkgYnkgcG9ydHMgdGhhdCB1c2UgdGhlIGFwYWNo
ZV9odHRwX3NlcnZlciBtb2R1bGUuIiIiCiAgICAgICAgICMgVGhlIEFwYWNoZSBiaW5hcnkgcGF0
aCBjYW4gdmFyeSBkZXBlbmRpbmcgb24gT1MgYW5kIGRpc3RyaWJ1dGlvbgogICAgICAgICAjIFNl
ZSBodHRwOi8vd2lraS5hcGFjaGUub3JnL2h0dHBkL0Rpc3Ryb3NEZWZhdWx0TGF5b3V0Ci0gICAg
ICAgIGZvciBwYXRoIGluIFsiL3Vzci9zYmluL2h0dHBkIiwgIi91c3Ivc2Jpbi9hcGFjaGUyIiwg
Ii9hcHAvYmluL2h0dHBkIl06CisgICAgICAgIGZvciBwYXRoIGluIFsiL3Vzci9zYmluL2h0dHBk
IiwgIi91c3Ivc2Jpbi9hcGFjaGUyIiwgIi91c3IvYmluL2h0dHBkIl06CiAgICAgICAgICAgICBp
ZiBzZWxmLl9maWxlc3lzdGVtLmV4aXN0cyhwYXRoKToKICAgICAgICAgICAgICAgICByZXR1cm4g
cGF0aAogICAgICAgICBfbG9nLmVycm9yKCJDb3VsZCBub3QgZmluZCBhcGFjaGUuIE5vdCBpbnN0
YWxsZWQgb3IgdW5rbm93biBwYXRoLiIpCkBAIC0xNDUyLDE0ICsxNDUzLDggQEAgY2xhc3MgUG9y
dChvYmplY3QpOgogICAgICAgICAjIC0tcGl4ZWwtdGVzdC1kaXJlY3RvcnkgaXMgbm90IHNwZWNp
ZmllZC4KICAgICAgICAgcmV0dXJuIFRydWUKIAotICAgIGRlZiBfc2hvdWxkX3VzZV9mbGF0cGFr
KHNlbGYpOgotICAgICAgICBzdWZmaXggPSAiIgotICAgICAgICBpZiBzZWxmLnBvcnRfbmFtZToK
LSAgICAgICAgICAgIHN1ZmZpeCA9IHNlbGYucG9ydF9uYW1lLnVwcGVyKCkKLSAgICAgICAgcmV0
dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKHNlbGYucGF0aF9mcm9tX3dlYmtpdF9iYXNlKCdX
ZWJLaXRCdWlsZCcsIHN1ZmZpeCwgIkZsYXRwYWtUcmVlIikpCi0KICAgICBkZWYgX2luX2ZsYXRw
YWtfc2FuZGJveChzZWxmKToKLSAgICAgICAgcmV0dXJuIG9zLnBhdGguZXhpc3RzKCIvLmZsYXRw
YWstaW5mbyIpCisgICAgICAgIHJldHVybiBzZWxmLl9maWxlc3lzdGVtLmV4aXN0cygiLy5mbGF0
cGFrLWluZm8iKQogCiAgICAgZGVmIF9zaG91bGRfdXNlX2poYnVpbGQoc2VsZik6CiAgICAgICAg
IGlmIHNlbGYuX2luX2ZsYXRwYWtfc2FuZGJveCgpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wb3J0L2d0ay5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsu
cHkKaW5kZXggNjhiYzE2OTIzZjhhYjc2MDkxZjViM2U5NjRkMDY1Yzc5NDNmZjhkNS4uMGNlOGFh
NDg3NDU5MDljNzk3MzY4ODNiMzZkMzRlODc0MDk4ZDQ3MyAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvZ3RrLnB5CkBAIC0xMjIsNiArMTIyLDcgQEAgY2xhc3MgR3RrUG9ydChQb3J0KToKICAgICAg
ICAgZW52aXJvbm1lbnRbJ1RFU1RfUlVOTkVSX0lOSkVDVEVEX0JVTkRMRV9GSUxFTkFNRSddID0g
c2VsZi5fYnVpbGRfcGF0aCgnbGliJywgJ2xpYlRlc3RSdW5uZXJJbmplY3RlZEJ1bmRsZS5zbycp
CiAgICAgICAgIGVudmlyb25tZW50WydURVNUX1JVTk5FUl9URVNUX1BMVUdJTl9QQVRIJ10gPSBz
ZWxmLl9idWlsZF9wYXRoKCdsaWInLCAncGx1Z2lucycpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFs
dWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9PVVRQVVRESVInKQor
ICAgICAgICBzZWxmLl9jb3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9zZXQoZW52aXJvbm1lbnQs
ICdXRUJLSVRfSkhCVUlMRCcpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9u
X2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9UT1BfTEVWRUwnKQogICAgICAgICBzZWxmLl9j
b3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9zZXQoZW52aXJvbm1lbnQsICdVU0VfUExBWUJJTjMn
KQogICAgICAgICBzZWxmLl9jb3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9zZXQoZW52aXJvbm1l
bnQsICdHU1RfREVCVUcnKQpAQCAtMTM0LDEwICsxMzUsMTEgQEAgY2xhc3MgR3RrUG9ydChQb3J0
KToKICAgICAgICAgICAgIGlmIHNlbGYuX3Nob3VsZF91c2VfamhidWlsZCgpOgogICAgICAgICAg
ICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGggPSBzZWxmLmhvc3QuZXhlY3V0aXZlLnJ1bl9jb21t
YW5kKHNlbGYuX2poYnVpbGRfd3JhcHBlciArIFsncHJpbnRlbnYnLCAnTExWTVBJUEVfTElCR0xf
UEFUSCddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpZ25vcmVfZXJyb3JzPVRydWUpLnN0cmlwKCkKKyAgICAgICAg
ICAgICAgICBkcmlfbGliZ2xfcGF0aCA9IG9zLnBhdGguam9pbihsbHZtcGlwZV9saWJnbF9wYXRo
LCAiZHJpIikKICAgICAgICAgICAgIGVsc2U6ICAjIGluIGZsYXRwYWsKLSAgICAgICAgICAgICAg
ICBsbHZtcGlwZV9saWJnbF9wYXRoID0gIi9hcHAvc29mdEdML2xpYiIKKyAgICAgICAgICAgICAg
ICBsbHZtcGlwZV9saWJnbF9wYXRoID0gIi91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvIgorICAg
ICAgICAgICAgICAgIGRyaV9saWJnbF9wYXRoID0gb3MucGF0aC5qb2luKGxsdm1waXBlX2xpYmds
X3BhdGgsICJHTCIsICJsaWIiLCAiZHJpIikKIAotICAgICAgICAgICAgZHJpX2xpYmdsX3BhdGgg
PSBvcy5wYXRoLmpvaW4obGx2bXBpcGVfbGliZ2xfcGF0aCwgImRyaSIpCiAgICAgICAgICAgICBp
ZiBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4obGx2bXBpcGVfbGliZ2xfcGF0aCwgImxpYkdM
LnNvIikpIGFuZCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oZHJpX2xpYmdsX3BhdGgsICJz
d3Jhc3RfZHJpLnNvIikpOgogICAgICAgICAgICAgICAgICMgTWFrZSBzdXJlIHZhLWFwaSBzdXBw
b3J0IGdldHMgZGlzYWJsZWQgYmVjYXVzZSBpdCdzIGluY29tcGF0aWJsZSB3aXRoIE1lc2EncyBz
b2Z0R0wgZHJpdmVyLgogICAgICAgICAgICAgICAgIGVudmlyb25tZW50WydMSUJWQV9EUklWRVJf
TkFNRSddID0gIm51bGwiCkBAIC0xNDgsNyArMTUwLDcgQEAgY2xhc3MgR3RrUG9ydChQb3J0KToK
ICAgICAgICAgICAgICAgICBpZiBvcy5lbnZpcm9uLmdldCgnTERfTElCUkFSWV9QQVRIJyk6CiAg
ICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50WydMRF9MSUJSQVJZX1BBVEgnXSArPSAnOiVz
JyAlIG9zLmVudmlyb24uZ2V0KCdMRF9MSUJSQVJZX1BBVEgnKQogICAgICAgICAgICAgZWxzZToK
LSAgICAgICAgICAgICAgICBfbG9nLndhcm5pbmcoIkNhbid0IGZpbmQgR2FsbGl1bSBsbHZtcGlw
ZSBkcml2ZXIuIFRyeSB0byBydW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJr
aXRndGstZmxhdHBhayIpCisgICAgICAgICAgICAgICAgX2xvZy53YXJuaW5nKCJDYW4ndCBmaW5k
IEdhbGxpdW0gbGx2bXBpcGUgZHJpdmVyLiBUcnkgdG8gcnVuIHVwZGF0ZS13ZWJraXRndGstbGli
cyBvciB1cGRhdGUtd2Via2l0LWZsYXRwYWsiKQogICAgICAgICBpZiBzZWxmLmdldF9vcHRpb24o
ImxlYWtzIik6CiAgICAgICAgICAgICAjIFR1cm4gb2ZmIEdMaWIgbWVtb3J5IG9wdGltaXNhdGlv
bnMgaHR0cHM6Ly93aWtpLmdub21lLm9yZy9WYWxncmluZC4KICAgICAgICAgICAgIGVudmlyb25t
ZW50WydHX1NMSUNFJ10gPSAnYWx3YXlzLW1hbGxvYycKQEAgLTIzNyw3ICsyMzksNyBAQCBjbGFz
cyBHdGtQb3J0KFBvcnQpOgogCiAgICAgZGVmIF9nZXRfY3Jhc2hfbG9nKHNlbGYsIG5hbWUsIHBp
ZCwgc3Rkb3V0LCBzdGRlcnIsIG5ld2VyX3RoYW4sIHRhcmdldF9ob3N0PU5vbmUpOgogICAgICAg
ICByZXR1cm4gR0RCQ3Jhc2hMb2dHZW5lcmF0b3Ioc2VsZi5fZXhlY3V0aXZlLCBuYW1lLCBwaWQs
IG5ld2VyX3RoYW4sCi0gICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRoX3Rv
X2RyaXZlcikuZ2VuZXJhdGVfY3Jhc2hfbG9nKHN0ZG91dCwgc3RkZXJyKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbSwgc2VsZi5fcGF0aF90b19k
cml2ZXIsIHNlbGYucG9ydF9uYW1lLCBzZWxmLmdldF9vcHRpb24oJ2NvbmZpZ3VyYXRpb24nKSku
Z2VuZXJhdGVfY3Jhc2hfbG9nKHN0ZG91dCwgc3RkZXJyKQogCiAgICAgZGVmIHRlc3RfZXhwZWN0
YXRpb25zX2ZpbGVfcG9zaXRpb24oc2VsZik6CiAgICAgICAgICMgR1RLIHBvcnQgYmFzZWxpbmUg
c2VhcmNoIHBhdGggaXMgZ3RrIC0+IHdrMiAtPiBnZW5lcmljIChhcyBndGstd2syIGFuZCBndGsg
YmFzZWxpbmVzIGFyZSBtZXJnZWQpLCBzbyBwb3J0IHRlc3QgZXhwZWN0YXRpb25zIGZpbGUgaXMg
YXQgdGhpcmQgdG8gbGFzdCBwb3NpdGlvbi4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wb3J0L2xpbnV4X2dldF9jcmFzaF9sb2cucHkKaW5kZXggOWFkYzQ2MzcxZjk2MWIxOTYyOGU3
ZmVkZDQ2NWViZmQwOTZjZDAxYS4uMmUwM2RmZjFhMzZlYjVjMjA1YWU2ODc5Y2QyMmJkMmM3MDIy
MTFlMyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9j
cmFzaF9sb2cucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9j
cmFzaF9sb2cucHkKQEAgLTM3LDE4ICszNywyMiBAQCBpbXBvcnQgdGltZQogCiBmcm9tIHdlYmtp
dHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBTY3JpcHRFcnJvcgogZnJvbSB3ZWJr
aXRweS5jb21tb24udW5pY29kZV9jb21wYXRpYmlsaXR5IGltcG9ydCBkZWNvZGVfaWZfbmVjZXNz
YXJ5Citmcm9tIHdlYmtpdHB5LmNvbW1vbi53ZWJraXRfZmluZGVyIGltcG9ydCBXZWJLaXRGaW5k
ZXIKIAogCiBjbGFzcyBHREJDcmFzaExvZ0dlbmVyYXRvcihvYmplY3QpOgogICAgIF9maW5kX3Bp
ZF9yZWdleCA9IHJlLmNvbXBpbGUocidQSUQ6IChcZCspIFwoLipcKScpCiAKLSAgICBkZWYgX19p
bml0X18oc2VsZiwgZXhlY3V0aXZlLCBuYW1lLCBwaWQsIG5ld2VyX3RoYW4sIGZpbGVzeXN0ZW0s
IHBhdGhfdG9fZHJpdmVyKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZXhlY3V0aXZlLCBuYW1l
LCBwaWQsIG5ld2VyX3RoYW4sIGZpbGVzeXN0ZW0sIHBhdGhfdG9fZHJpdmVyLCBwb3J0X25hbWUs
IGNvbmZpZ3VyYXRpb24pOgogICAgICAgICBzZWxmLm5hbWUgPSBuYW1lCiAgICAgICAgIHNlbGYu
cGlkID0gcGlkCiAgICAgICAgIHNlbGYubmV3ZXJfdGhhbiA9IG5ld2VyX3RoYW4KICAgICAgICAg
c2VsZi5fZmlsZXN5c3RlbSA9IGZpbGVzeXN0ZW0KICAgICAgICAgc2VsZi5fcGF0aF90b19kcml2
ZXIgPSBwYXRoX3RvX2RyaXZlcgogICAgICAgICBzZWxmLl9leGVjdXRpdmUgPSBleGVjdXRpdmUK
KyAgICAgICAgc2VsZi5fcG9ydF9uYW1lID0gcG9ydF9uYW1lCisgICAgICAgIHNlbGYuX2NvbmZp
Z3VyYXRpb24gPSBjb25maWd1cmF0aW9uCisgICAgICAgIHNlbGYuX3dlYmtpdF9maW5kZXIgPSBX
ZWJLaXRGaW5kZXIoZmlsZXN5c3RlbSkKIAogICAgIGRlZiBfZ2V0X2dkYl9vdXRwdXQoc2VsZiwg
Y29yZWR1bXBfcGF0aCk6CiAgICAgICAgIHByb2Nlc3NfbmFtZSA9IHNlbGYuX2ZpbGVzeXN0ZW0u
am9pbihvcy5wYXRoLmRpcm5hbWUoc3RyKHNlbGYuX3BhdGhfdG9fZHJpdmVyKCkpKSwgc2VsZi5u
YW1lKQpAQCAtNjcsNiArNzEsOSBAQCBjbGFzcyBHREJDcmFzaExvZ0dlbmVyYXRvcihvYmplY3Qp
OgogICAgICAgICByZXR1cm4gZmlsZW5hbWUKIAogICAgIGRlZiBfZ2V0X3RyYWNlX2Zyb21fc3lz
dGVtZChzZWxmLCBjb3JlZHVtcGN0bCwgcGlkKToKKyAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUo
Ii8uZmxhdHBhay1pbmZvIik6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fZ2V0X3RyYWNlX2Zy
b21fZmxhdHBhaygpCisKICAgICAgICAgIyBMZXR0aW5nIHVwIHRvIDUgc2Vjb25kcyBmb3IgdGhl
IGJhY2t0cmFjZSB0byBiZSBnZW5lcmF0ZWQgb24gdGhlIHN5c3RlbWQgc2lkZQogICAgICAgICBm
b3IgdHJ5X251bWJlciBpbiByYW5nZSg1KToKICAgICAgICAgICAgIGlmIHRyeV9udW1iZXIgIT0g
MDoKQEAgLTkyLDEyICs5OSwyNCBAQCBjbGFzcyBHREJDcmFzaExvZ0dlbmVyYXRvcihvYmplY3Qp
OgogICAgICAgICAgICAgICAgICAgICAgICAgdGVtcF9maWxlLm5hbWVdLCByZXR1cm5fZXhpdF9j
b2RlPVRydWUpOgogICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogCi0gICAgICAgICAgICAg
ICAgcmVzID0gc2VsZi5fZ2V0X2dkYl9vdXRwdXQoc2VsZi5fZ2V0X3RtcF9maWxlX25hbWUoY29y
ZWR1bXBjdGwsIHRlbXBfZmlsZS5uYW1lKSkKLQotICAgICAgICAgICAgICAgIHJldHVybiByZXMK
KyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fZ2V0X2dkYl9vdXRwdXQoc2VsZi5fZ2V0X3Rt
cF9maWxlX25hbWUoY29yZWR1bXBjdGwsIHRlbXBfZmlsZS5uYW1lKSkKIAogICAgICAgICByZXR1
cm4gJycsIFtdCiAKKyAgICBkZWYgX2dldF90cmFjZV9mcm9tX2ZsYXRwYWsoc2VsZik6CisgICAg
ICAgIGlmIHNlbGYubmV3ZXJfdGhhbjoKKyAgICAgICAgICAgIGNvcmVkdW1wX3NpbmNlID0gIi0t
Z2RiLXN0YWNrLXRyYWNlPUAlZiIgJSBzZWxmLm5ld2VyX3RoYW4KKyAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgIGNvcmVkdW1wX3NpbmNlID0gIi0tZ2RiLXN0YWNrLXRyYWNlIgorICAgICAgICB3
ZWJraXRfZmxhdHBha19wYXRoID0gc2VsZi5fd2Via2l0X2ZpbmRlci5wYXRoX3RvX3NjcmlwdCgn
d2Via2l0LWZsYXRwYWsnKQorICAgICAgICBjbWQgPSBbJ2ZsYXRwYWstc3Bhd24nLCAnLS1ob3N0
Jywgd2Via2l0X2ZsYXRwYWtfcGF0aCwgJy0tJXMnICUgc2VsZi5fcG9ydF9uYW1lLAorICAgICAg
ICAgICAgICAgIi0tJXMiICUgc2VsZi5fY29uZmlndXJhdGlvbi5sb3dlcigpLCBjb3JlZHVtcF9z
aW5jZV0KKworICAgICAgICBwcm9jID0gc2VsZi5fZXhlY3V0aXZlLnBvcGVuKGNtZCwgc3RkaW49
Tm9uZSwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwgc3RkZXJyPXN1YnByb2Nlc3MuUElQRSkKKyAg
ICAgICAgY3Jhc2hfbG9nLCBzdGRlcnIgPSBwcm9jLmNvbW11bmljYXRlKCkKKyAgICAgICAgZXJy
b3JzID0gZGVjb2RlX2lmX25lY2Vzc2FyeShzdHIoc3RkZXJyIG9yICc8ZW1wdHk+JyksIGVycm9y
cz0naWdub3JlJykuc3BsaXRsaW5lcygpCisgICAgICAgIHJldHVybiBjcmFzaF9sb2csIGVycm9y
cworCiAgICAgZGVmIGdlbmVyYXRlX2NyYXNoX2xvZyhzZWxmLCBzdGRvdXQsIHN0ZGVycik6CiAg
ICAgICAgIHBpZF9yZXByZXNlbnRhdGlvbiA9IHN0cihzZWxmLnBpZCBvciAnPHVua25vd24+JykK
ICAgICAgICAgbG9nX2RpcmVjdG9yeSA9IG9zLmVudmlyb24uZ2V0KCJXRUJLSVRfQ09SRV9EVU1Q
U19ESVJFQ1RPUlkiKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xp
bnV4X2dldF9jcmFzaF9sb2dfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvbGludXhfZ2V0X2NyYXNoX2xvZ191bml0dGVzdC5weQppbmRleCA5ZjNiN2UzOTM3OWM0M2Ex
MDVlY2UyMGMxY2E2MjYyNDNkZmE3ZDM0Li4zYTM5ZTg0NjcwYTY0YzgzNmI1ZTE0NDJmYzhhMzU5
MzRjMzdkZjk0IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhf
Z2V0X2NyYXNoX2xvZ191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvbGludXhfZ2V0X2NyYXNoX2xvZ191bml0dGVzdC5weQpAQCAtNDYsNyArNDYsNyBAQCBjbGFz
cyBHREJDcmFzaExvZ0dlbmVyYXRvclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBl
eGVjdXRpdmUgPSBNb2NrRXhlY3V0aXZlKCkKICAgICAgICAgZXhlY3V0aXZlLl9wcm9jID0gTW9j
a1Byb2Nlc3MoKQogICAgICAgICBleGVjdXRpdmUuX3Byb2Muc3Rkb3V0ID0gJ1NUREVSUjogPGVt
cHR5PicKLSAgICAgICAgZ2VuZXJhdG9yID0gR0RCQ3Jhc2hMb2dHZW5lcmF0b3IoZXhlY3V0aXZl
LCAnRHVtcFJlbmRlclRyZWUnLCAyODUyOSwgbmV3ZXJfdGhhbj1Ob25lLCBmaWxlc3lzdGVtPU1v
Y2tGaWxlU3lzdGVtKHsnL3BhdGgvdG8vY29yZWR1bXBzJzogJyd9KSwgcGF0aF90b19kcml2ZXI9
Tm9uZSkKKyAgICAgICAgZ2VuZXJhdG9yID0gR0RCQ3Jhc2hMb2dHZW5lcmF0b3IoZXhlY3V0aXZl
LCAnRHVtcFJlbmRlclRyZWUnLCAyODUyOSwgbmV3ZXJfdGhhbj1Ob25lLCBmaWxlc3lzdGVtPU1v
Y2tGaWxlU3lzdGVtKHsnL3BhdGgvdG8vY29yZWR1bXBzJzogJyd9KSwgcGF0aF90b19kcml2ZXI9
Tm9uZSwgcG9ydF9uYW1lPSJndGsiLCBjb25maWd1cmF0aW9uPSJEZWJ1ZyIpCiAKICAgICAgICAg
Y29yZV9kaXJlY3RvcnkgPSBvcy5lbnZpcm9uLmdldCgnV0VCS0lUX0NPUkVfRFVNUFNfRElSRUNU
T1JZJywgJy9wYXRoL3RvL2NvcmVkdW1wcycpCiAgICAgICAgIGNvcmVfcGF0dGVybiA9IGdlbmVy
YXRvci5fZmlsZXN5c3RlbS5qb2luKGNvcmVfZGlyZWN0b3J5LCAiY29yZS1waWRfJXAuZHVtcCIp
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd3BlLnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9wb3J0L3dwZS5weQppbmRleCA5NWM0ODkzNjY1ZjU4Y2YyMmEyYjlj
NTdmZjM2ZjU3YzVhNGEzNDI3Li45ZGY2NWQ0ZjNmODk2MzI2M2MxYzExNzFkODI3YzMwMTQyNWQ2
NjAwIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd3BlLnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93cGUucHkKQEAgLTc3LDYgKzc3LDcgQEAgY2xh
c3MgV1BFUG9ydChQb3J0KToKICAgICAgICAgZW52aXJvbm1lbnRbJ1RFU1RfUlVOTkVSX1RFU1Rf
UExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ2xpYicsICdwbHVnaW5zJykKICAgICAg
ICAgZW52aXJvbm1lbnRbJ1dFQktJVF9FWEVDX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ2Jp
bicpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9u
bWVudCwgJ1dFQktJVF9PVVRQVVRESVInKQorICAgICAgICBzZWxmLl9jb3B5X3ZhbHVlX2Zyb21f
ZW52aXJvbl9pZl9zZXQoZW52aXJvbm1lbnQsICdXRUJLSVRfSkhCVUlMRCcpCiAgICAgICAgIHNl
bGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9U
T1BfTEVWRUwnKQogICAgICAgICBzZWxmLl9jb3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9zZXQo
ZW52aXJvbm1lbnQsICdVU0VfUExBWUJJTjMnKQogICAgICAgICBzZWxmLl9jb3B5X3ZhbHVlX2Zy
b21fZW52aXJvbl9pZl9zZXQoZW52aXJvbm1lbnQsICdHU1RfREVCVUcnKQpAQCAtMTIwLDcgKzEy
MSw4IEBAIGNsYXNzIFdQRVBvcnQoUG9ydCk6CiAgICAgICAgIHJldHVybiAyCiAKICAgICBkZWYg
X2dldF9jcmFzaF9sb2coc2VsZiwgbmFtZSwgcGlkLCBzdGRvdXQsIHN0ZGVyciwgbmV3ZXJfdGhh
biwgdGFyZ2V0X2hvc3Q9Tm9uZSk6Ci0gICAgICAgIHJldHVybiBHREJDcmFzaExvZ0dlbmVyYXRv
cihzZWxmLl9leGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwgc2VsZi5fZmlsZXN5c3Rl
bSwgc2VsZi5fcGF0aF90b19kcml2ZXIpLmdlbmVyYXRlX2NyYXNoX2xvZyhzdGRvdXQsIHN0ZGVy
cikKKyAgICAgICAgcmV0dXJuIEdEQkNyYXNoTG9nR2VuZXJhdG9yKHNlbGYuX2V4ZWN1dGl2ZSwg
bmFtZSwgcGlkLCBuZXdlcl90aGFuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2VsZi5fZmlsZXN5c3RlbSwgc2VsZi5fcGF0aF90b19kcml2ZXIsIHNlbGYucG9ydF9uYW1l
LCBzZWxmLmdldF9vcHRpb24oJ2NvbmZpZ3VyYXRpb24nKSkuZ2VuZXJhdGVfY3Jhc2hfbG9nKHN0
ZG91dCwgc3RkZXJyKQogCiAgICAgZGVmIGNvbmZpZ3VyYXRpb25fZm9yX3VwbG9hZChzZWxmLCBo
b3N0PU5vbmUpOgogICAgICAgICBjb25maWd1cmF0aW9uID0gc3VwZXIoV1BFUG9ydCwgc2VsZiku
Y29uZmlndXJhdGlvbl9mb3JfdXBsb2FkKGhvc3Q9aG9zdCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0FjdGl2YXRlRm9udHNHdGsuY3BwIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0
ay5jcHAKaW5kZXggM2Y4ZTI0NDBmMjgzZTRiNGU1NDI3YWQ2NDRkMmIzYjRlMzE5NjVhMS4uODFi
Y2Q5NjJhMDljN2FjZmVmMjJlYzJmNDhiYzAyYjI0OWE1NmM0NCAxMDA2NDQKLS0tIGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0ay5jcHAK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvQWN0aXZhdGVG
b250c0d0ay5jcHAKQEAgLTY1LDggKzY1LDEzIEBAIENTdHJpbmcgZ2V0T3V0cHV0RGlyKCkKIAog
c3RhdGljIENTdHJpbmcgZ2V0Rm9udHNQYXRoKCkKIHsKKyAgICAvLyBUcnkgZmxhdHBhayBzYW5k
Ym94IHBhdGguCisgICAgR1VuaXF1ZVB0cjxjaGFyPmZvbnRzUGF0aChnX2J1aWxkX2ZpbGVuYW1l
KCIvdXNyIiwgInNoYXJlIiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgTlVMTCkpOworICAgIGlm
IChnX2ZpbGVfdGVzdChmb250c1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19G
SUxFX1RFU1RfRVhJU1RTIHwgR19GSUxFX1RFU1RfSVNfRElSKSkpCisgICAgICAgIHJldHVybiBm
b250c1BhdGguZ2V0KCk7CisKICAgICBDU3RyaW5nIHdlYmtpdE91dHB1dERpciA9IGdldE91dHB1
dERpcigpOwotICAgIEdVbmlxdWVQdHI8Y2hhcj4gZm9udHNQYXRoKGdfYnVpbGRfZmlsZW5hbWUo
d2Via2l0T3V0cHV0RGlyLmRhdGEoKSwgIkRlcGVuZGVuY2llc0dUSyIsICJSb290IiwgIndlYmtp
dGd0ay10ZXN0LWZvbnRzIiwgbnVsbHB0cikpOworICAgIGZvbnRzUGF0aC5yZXNldChnX2J1aWxk
X2ZpbGVuYW1lKHdlYmtpdE91dHB1dERpci5kYXRhKCksICJEZXBlbmRlbmNpZXNHVEsiLCAiUm9v
dCIsICJ3ZWJraXRndGstdGVzdC1mb250cyIsIG51bGxwdHIpKTsKICAgICBpZiAoZ19maWxlX3Rl
c3QoZm9udHNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNUX0VY
SVNUUyB8IEdfRklMRV9URVNUX0lTX0RJUikpKQogICAgICAgICByZXR1cm4gZm9udHNQYXRoLmdl
dCgpOwogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L3dwZS9BY3RpdmF0ZUZvbnRzV1BFLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUuY3BwCmluZGV4IGE0OWM3YTI5MjE4MjU5MWUy
NzI3YjJiOTAxZTQxMmIyZGU4ZTAzZGEuLjhiZTczNmYwNDljOTFiMzA4Y2QyYzFlY2FmMTQwNWEw
NWMxYWU1MDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvd3BlL0FjdGl2YXRlRm9udHNXUEUuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUuY3BwCkBAIC01OCw4ICs1OCwxMyBA
QCBDU3RyaW5nIGdldE91dHB1dERpcigpCiAKIHN0YXRpYyBDU3RyaW5nIGdldEZvbnRzUGF0aCgp
CiB7CisgICAgLy8gVHJ5IGZsYXRwYWsgc2FuZGJveCBwYXRoLgorICAgIEdVbmlxdWVQdHI8Y2hh
cj5mb250c1BhdGgoZ19idWlsZF9maWxlbmFtZSgiL3VzciIsICJzaGFyZSIsICJ3ZWJraXRndGst
dGVzdC1mb250cyIsIE5VTEwpKTsKKyAgICBpZiAoZ19maWxlX3Rlc3QoZm9udHNQYXRoLmdldCgp
LCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNUX0VYSVNUUyB8IEdfRklMRV9URVNU
X0lTX0RJUikpKQorICAgICAgICByZXR1cm4gZm9udHNQYXRoLmdldCgpOworCiAgICAgQ1N0cmlu
ZyB3ZWJraXRPdXRwdXREaXIgPSBnZXRPdXRwdXREaXIoKTsKLSAgICBHVW5pcXVlUHRyPGNoYXI+
IGZvbnRzUGF0aChnX2J1aWxkX2ZpbGVuYW1lKHdlYmtpdE91dHB1dERpci5kYXRhKCksICJEZXBl
bmRlbmNpZXNXUEUiLCAiUm9vdCIsICJ3ZWJraXRndGstdGVzdC1mb250cyIsIG51bGxwdHIpKTsK
KyAgICBmb250c1BhdGgucmVzZXQoZ19idWlsZF9maWxlbmFtZSh3ZWJraXRPdXRwdXREaXIuZGF0
YSgpLCAiRGVwZW5kZW5jaWVzV1BFIiwgIlJvb3QiLCAid2Via2l0Z3RrLXRlc3QtZm9udHMiLCBu
dWxscHRyKSk7CiAgICAgaWYgKGdfZmlsZV90ZXN0KGZvbnRzUGF0aC5nZXQoKSwgc3RhdGljX2Nh
c3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9FWElTVFMgfCBHX0ZJTEVfVEVTVF9JU19ESVIpKSkK
ICAgICAgICAgcmV0dXJuIGZvbnRzUGF0aC5nZXQoKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvZmxh
dHBhay9maWxlcy9kZWZhdWx0LnhrbSBiL1Rvb2xzL2ZsYXRwYWsvZmlsZXMvZGVmYXVsdC54a20K
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxNmY2YjA4ZjZkODA4NTgwOTY4YmEwMjI1
NmQ5MDc1ZDQ4YTQ3ZDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
R0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmxpdGVyYWwgMTIwMzIKemNt
Y2d5WWo3TGFiLXVlOzVGa2lWbDMlZkZjU15yeCokTlkyTDRzaUdyVUMod3B6dCZSbDlIMiVyQVN6
JE1VZ1p9CnpOPi1mNE5+Viheb3dVZ2BOei1AeXREVX4+UkNVd05SREdxWGA+KWdLWWRXNHpgZj9t
NmFvZEArb3ZOTCUtKkBqPgp6Pn5hbUlzJU8mVzlEZShxZChPUypLSzk8YmkrbEx1Zz1nPUlANWky
M04pMEdXZU19WFUxMDBWMkRLeXxpdVNQQjQKenBVMmpZK1E4UmA5PXw2N1kqLUlIOUEkY1pfbjdD
VyljJHdIUkJpOEtXb3pYRXlkeF5OdT90TTdPNk84JXFyS01jCnpiUjFSRE49RyN7IyNKLUZ3WWw1
ZitFNk80RCF1IUpZT08lSSFLPzwyfElHVE9qKjJxUiopQyROYzZPSCljeCFMRgp6KCo+NVU1V1Uj
JVJHbXchb2w3VHtIYGJTVEl5PVhveCFtZFFVVV5pLV93UHFVTik9bXFsYEFHdzVFcWgkajYpX00K
ejhPUzZnM3peQ2xRJU1OeVF0b3VRKW9BQ1lSanZUUDB7alpfRTVOUyt6WEpSVUBHSFF0MEtXcUsz
aCpuVystQUYzCnp0S3szMlRwb1VUX35xZjNoaEg5a2RIQ2h3bXhvXi1ldEchaVE+a3tQUF5gP2ZO
K2AzRW59Kipze0hFYkk0Wm1zbAp6T35ZPiplJCgpcWhUbjg1Kj0pQjs8d2tZQmxCPXteamVJZW1Z
cVZ5eyRyUXdlcSNAJncyfWxNcTNDVGpIWDNEOCMKenR5KEYhQHxBTUFGeyNScEVNeUFPbmxDclRm
ZkpBbkJ2JlhtUWF+NHloOW5fe05AYnl2V304LTh2dSkmc0A9fU8zCnpsYDd9anh6YiFTUzFRKVpy
RStfPUkkdFdEWVVIY3NNelBqSmQlJDwwKFFNX0xoX19Pa0RVfEJmOyhTQT8jX1c4Zgp6UWstY3dY
R2BzM3QpTDNeI2FkJndQQEFpQDZrNFM/bXZXUVVgRjMla1VLeFgmWHcoOyokbnkjNEdtWUdRM3om
c1cKem0xP3Q8KHk5Q2NgWXY1cm9VMWg8YEZnZHtZUyRhTisxeTtDUyNRa08zaVgrMHQofnRvJmVS
Y0NCaUN4ciUrKDZ7CnpgTC0kKkR+LTktXyNfMVJqWmUqYENYJGQ4I0QlMEc8QiRuUjFfSFlZKmlG
REwxR14wREdPKXxRRSg1eV4+QHUqKwp6eiVCIzM0RDJSaEh3bjgqKmlGSzI1X1hmWW59cHBZPj9V
RDEzQS0lcHZhcmotRSheT1g/NlI9UyFZJktERWJPd2QKem5AWGJYKGEkT0xhfC0+T0xPLVhfJm5m
aEMzak9STi05YFZuNyFOTSYtMF5DbXdUUnxkKW5Zcj5ucn0ycVhCeTJwCnpIPF5WQCZBRiowQm41
RkhYfjtOYTArTkFETFNVRElvZU1oYGJ9c0IoKnR4S0NWZHVpbWcmcTNDYnp6cj1UXmU/Mgp6KnJq
MlloRnV6VlkxcE08bXhmJiRjSF4pY2h1dHtyIyRoKU95SyZmISF3JnU3cUNaXnBobH5EaihIfTFR
ISRwNiUKej1ucj5kTE8oUDRsKl8pWjdIamktbVAke3lYRV9FYylwbX5LcGgtbDxiQ3VhOSQ0YT9A
TTtwJnxXcUoxcnBiSzBDCnpyaCFHXklJc3p2ME1hZjRKT2k4ciZJN1orSXA3cXEmU3hMayExSylm
YXpOKFMweTRoPmtvbkMzbmNwbXNgSVVnbwp6Py1ZPnZtNFZEcEttV2lkQHRpWkMoP0k1djJRckBw
QW9IMDlHTV5mZGBCYzY2SkZacj9FXmNwaGJ+e1NsI3xQQ2kKekdOfGdjOyE+ciFQXkBzUy1uPkch
RWRyWkMpbjJTaXh9JkJza0x2ayRaVCtjVDZAaV5pVGlEU2pwPm1aKkRLfWtnCnomKmVRXk45Qzhk
Y2JJUFp3a1VpK201WE9FbXcwdnFUcjx2ZngpdzZqPD5UTD1ZTChfQCs5eDxSSnYtPUZfNmFUPQp6
QyVyZ05Ec0A7akA9Ri1KI2lqfD9NTGokcForJm4pZHE9Nkd3OW5VVD9QazU9ZDNnM1EpbXdzNCFJ
TEgpYnlEMyUKenBVT2NlJm5MS1VEU0szV012WUpOVzxMSjkkSHZrMVI8PTZDYSF+MVRUOzV1JD82
fXkqKXJnTUNIfT5OMyk+dmc5Cno1ISlsaW1JR2NnX0hFNU45RX1icmhidWskKD87dD5FSnJ6THc3
QU4qbi0kIytkZjE/OGQrNm5YSHI4VnomYjR7ZQp6ajElZHJRVDckYCp6SW9VWmQwK2lxWWxUQk5k
KT1HKmtPNWcjRlFEYVN1WGw3aE9yaWYzfTlhWiNYIXRhdV8kRH4KekxIfHxpYENNaEdJRU13bylG
O15BSStnKm1YR2ptNSpoY2paMWdqTHJCeDIhcylpSUJmNFQtSEwyPF8rckFFVUp4CnpwVHctPU1m
KGg/Y0J4dFBvfWRGYD9tIUd5K183UyleTVNTbldwa3N8dChmSWxMbj5JQ3g4YC1Ud3picjA2O3Iy
Mgp6TyVKZU1yYGhKWjdsdTUmP2djYkM7eTVJNmFKK2ZfJXI8QkhxdUYmI1E0QntmdTkpcHUwfTtv
JUQ7T1VKWCF1JEcKei1eUmZJRXpZUVFVcHpEeEwrITxWVUs5O0ZmU3E1PSFjRypJNE5VfCF1K1VG
Nz5KKHZ9UD9zbit0T0tZPTRFMW1ACno3ZXlvUnYqOHprVWolK097MzIyNy1VRF5pXld4SVgreVhr
ZG8tY0ZZaGJ8MT8xNlA8SU5EUHAkVTZefk94Qjdoagp6enFUI00mOEBicmpqbGwzK0d5S2oyaW4j
aktqIWhoY3s3TEdDZHxGSWRie31UWD1CRzRrP3xYUiZVKTxAYytUfEwKemxzVWl+cXUrNiR0eTt6
RW9abnZJZFpJaDw5USlWSl9fdzI7N1VwRjxWaDg1Nmdxbz8oJVF9M2tXa3h1Xk9GcUgmCnpeNSYm
RzE5PTlmcDB+e1RIPTgzKHskQFQyPUlgfiNKO0Q2SGIjdj5zVypnc1gtN0UrNTRDPTs0KHRqQWhk
aX10Pgp6I1dmYzVtM2x8OHtPYTg0VnF3V19rT0pqK2QhKER5RzNwR016Q2RJKV5Ub3RCOUwpRSRB
TT8lZjIoSHQ/SHEoMU8KejxqWiozVz9VO0NQXzFHRUpMcTxDaUxhU1V4bXNhS0A3UkpKZyFzY182
Uk5rZzlybGlWcjxYTyR0amsmaCtYJlp1Cno+O24kMG95YXNlJEtNZ0dYUU1MVGtfcjEoYHcwNmJ7
bFM4TClmPFFDdD17Xkd6T3ZDek19eUBeNHwhJHU+bU9hTwp6UVE2eGZLWWx8QT8hfStPdUZVPT4+
aGdwOFhqOWZ1c25fO1ZYTH0jcEJnM0J1LSQjQTFxYD9wZmB+OG4jUUtMMSsKemxfVDd5MGVEb253
Zz4tO19RJUxXOH1mUTEjSntZMHFMPT05aDx7YntwPGVwZUxqM0VSNUJKakY0RG1aT2tMal89CnpA
e2o4SHUhbHdidGlvLT04OSh7JCFXbHBMaHZAJnxLfiMtUT5UbTVJdFV2Z0hgaCREKkE3Rm0pazI9
T2JFfVktMgp6Y3FNdXExPnFWZGhkOyp3dWFPPSVfQWZDV1l1fTJnZUZVTUBQbHgjRGRLfUozfEFg
UiliKVIhT1AoS3lvKkxvY0oKejxOQzE+ZjRScF4xJTVvbGYzd0g7YVZob2I1ZFZDU3FhTHtiT287
IU0mbj4zXldRaE5VYUJrc3d7WTs0ZXNQS2VpCnojX3o5JV8kUGc/ci1vaylAbFd8JmNqMiN1XyU5
Mk8lZ3BqaUFeeEs5TDc4fWRIcEc5YDxFQV4rWEc4b2lnP3NWOwp6bUN0cEtlPVZILSYtVkc3OSNe
YChVS1FATyYpQGRhVlUwNHMpWjx7X3VnbSFJPzchbDM5cE17MypYNGlKPWVtOH4Kej5+VH0hZkEr
Y2R7fS1RWWdNYW44X1d5P1BMRFFZOy0rWnE5fEp+PT58MzdATHtyXis9VmZyNlk+UEM9e0QpbkUm
CnpGfmpLbXtAZHFoMzhsNyFfOXZCa0NjeD4/NFJFJkNQTEx5Xy01fCNeeUJGa1cpSnM4Kl8kfitl
czhZYGNJM017ZAp6MG5SQDhLIUNGV3t6Q1hMP3NANj8pdGlyQ3B5JF5CKlltNHo9Qzl9MTBOMy1Z
YUYoYSUqOHRiXnQ4aiNgXiF5cyYKemVgbSVNVEd6QyVfMDlNWiZRRkslYT4+aT9hb3Y0YktmSDle
ZU9OeXtaWUkyRmtEQ1EhcHZVbmRqd3t5VmN0T1YlCno/e1BETjJZY0wlczY+d153RWErejR7MUsh
PEVCTCk3WEh5amNlWjxPTT9LezgjcjRle14/PTd1RUw2OHZKTCpBPwp6an5UQWw3aWt+MWZMPnB+
NTNEY1h0VWM1Sk4hbDtNazElckM0JTI8VWtNLURGS1ZkPlVFbSgjMT87JUlrX1I1TDkKem9mR1N1
byEjVTVYOXhieWZadEc1YXI2QWZgcCgrdUAlaCVIQ1VmQEV5KGtsfXAoK0t7e21jeWF7QVA3aD8p
ZnFPCnpMQWY2WEp8eT1Pej0hMk4xM1dBRGxmWXdncDlNWjlfZng+KmEtUmU7MWVQQGhUJDIwbTEp
aC1tSU8zd3ZXKUxgdgp6djV0RXlfLSplUSpnaiRHNTlsdkx4N2JKRGZ2KHNgLS1XSyhONis3aitJ
e3I9SGhIRnhlaDwzJktLZ2EmPUtBUWoKenBzVi1NWiRzQkdkaTdyNWI4YFFGOzE1OTlaLT53KDdX
VG1aVkF8K0Z7Zyt7ckdkPjZPYDI0OV9lZXxvKTc1ZUMoCnpmXk1kZHt5Y1FFZWVgUzRtSE96UGhW
RTEhSiU1K3V3flRQVjsqKiVGN2BeJSk7Q0lYWUJmdG1ie2AtTCtmXmUkZwp6eXUpJHdLSlg3aCF1
ZnB3eCtuWVNwTT8mdUI1JCFAZmlCLWllK2p5VUtLZ1VlUDUwNG5MUmFnZnpYJTtaaTBoYyYKejM0
QzFjLXZ4WSsrYGsrNmVHdH5+P0A+UX5wOV9CZjxYJEJ4X2hhc3tWWmsra15FfTdNc1A/ekB5Ynxg
bTR4NkJHCnp0YDZKJEVeTENyYDgjYSRkJDApIz1rJjE2QDUzZjJvYWUoZmUqbH1IYVBBTT17Ml4/
RCF1MjMqXjk5JWhnPTw5RQp6PThzPyM2c3tYI249aXM5Q3xwYXpIaCZEOHBtMlMkdFJ3MXE9LUt7
IS17ODM5ekwkR3AtZ0ElM2VKfTYxcFhEQW0Kem9HPHM4TEUqWVdkK3h1dkMrOXUpeTQ/VHJwOElh
QCNsIWg8S049TFNTRzREUTBeYzJZJnZ5ZDhDLTkjOGY0JnAmCnpvX2tnOVV3UXZvQW9yQDRieWRJ
ZlZPWmZTNSQ5dDZgd0dWfSQxYjEwcE0hKkJjP0pHSztvMkx2YDRpWCNoM2hmMAp6KHJ0TjZteWIw
XkBJaz54MVJucjt3bSs8T2pgfk1ueEQzN24xWkM4O2k1MzI+VjtPZExMaHd2ayFRWTtecitPWDIK
enshSXVyMWU9Mk1mPT52eDFRIUx7Zih3RXhnOE0rUDQhNy1kRWE0cWhAT0h0KzFiO18tVVY7UHEk
bTtoeSgoU09oCnpBYTx3ViRHJjdnbiFkIUVGS09kSVF8P0t7SiltV3MpTyRhY2VfbXxYMSltYiEt
akN8fEk+TWgzejl7aXM1V0ZiMwp6Q1UmUVZLUHxpP3s1eWRyMkJxRkR4KVh4JDdrbjtZXkZ5TWAy
fkc+WE9ZbGotRn5NRUk9TFBRKE9iVnQyanxufmsKel54fUNaPyU4JWszZnR1IXFQcWlfNjVVOyp5
QSRaeS02dmA5NSE/aU5gRj5iKmNNSSthRXtLaDFfcElvejJ5ITNBCno3YFRUYnU4SDMzOCF6OVk9
d30zSDF4dGMrSyhDQz9pUzhFIVVsZT8pWExENzV8Nm5gdDt5VDBpaFMhKCV7WWliIwp6QG5kOEJA
Y08jK0cyNGk3ZGhMYEtVSnh0YHs9NlhUUGtZYnJHdkxnUkl6RUApe2xgVmBhaiNFKk1FdmcrVG9R
YS0KekBUXzE0PT1wbCVKMGZZZXBldU1yJj1ETEVqMCRwV0dRT19oQ2o+N0d6RXwqKmZ9YXhuRypE
T1FDalhjeEZBdSUqCnpQOXhDbTxGI2l7QHB0Vn17bjYwNiUzcWV2NzNjNVJNeT4zdC1XTXh7LXdE
bEdDUH43KGdgPSpENH1Xakl4Vl49bgp6KjdeQ2FjUjh4T3l0JDBJdzVRPkhZb3BXSSMmMkghNn5w
PGJvJGJ5aF9tYz4lY2owezA5KUlzUXFzNkc5VGk/TSgKellwYGQ8R09OcSQqIS1FZEduMFRsJilS
Ykx7UUJtMyNfbkk8Wj5Gc0hAS3lQc2hVQSE8P1FaUkRrTWJTbiZ7Zio9CnpEO3g4eVp0ZC1LTSQ0
VG1KMHFqaT11WlR3aGREUGtpMSgpQitiZ04kI0d+cWN4NVo8YVFjPF9WaCQqSUR1cU0+bAp6VmBG
UWJqWjItfl5fQXRaaT1FWj15XkNZcnZDWGFTI3BSN0xCO3BfdHsrcXdgb3ZtemtWcm5kZm17JlZI
RThYPyYKei1Tc1cqMlp6KmJYUzM1P1VsflBGOzhBc01WfG5FUUBiY09eOGZpZUM/ez09Wk5yUzBt
bClTVHZDXlYqJUBOcmJGCnotb3lzZCMpNSVHU1k1LVA0WkgpamQ7eCM+NHZmPWJlKTxQM0tZaCgm
SSE9eVo8TCZ3MTlZfVh7SSF+Pjl0OHxfcwp6IX1te28zPzdpcXgqT3k0Wm1WbSNpZ0ZFNlVlanJl
JHc4MmdiPUkwdWxvdEBeM3Ahcio1cTxER0k2bTlePCgmJHwKemxoTl87XnFIVDJCVChQaGJiV2Mr
JXVvTUQhMmU2eXpnak5APk5ecmh6b0dxR0YhMjNmMypgVDJDTEpmKHtQZD9DCnp6ZGFZNjd3YD02
XnFIVUQ0ZGoxVG0oU0JgZSk9YEVrPjZpdVFVNk1AZmNvPko5VXUyTT9OXld8YmghNilGNHs0IQp6
WDcpQiQlc19mb1R+e3czeCgqOHJSYV49RGFVJFZhTFVmNlp2dmpGZjswfD1iaUR8KWMhM201PD5O
Q1A4MSsjKXYKekNPd3JqSmUzbUVgU0drQWhNMnszZGVybCo4PEElc3g3VWB7SXMzWkc0ODB0fF5C
NDh2OF5JMEZLaFh+NzhGaFhACnpvZ1l4ZzJoe05hQyZXKDIyZD83LT5pQj9EQ2YmcnhiQ0pTemV0
Wkoob2V3UlV6JUxzcDdpVDNDXz5Pe2VRTnxBRQp6czxiYE1SU0JBTWFqcl9aREhyRmVncXcxNHVG
N3lKN3cwTzQ+LV9qK1Y2QHZHI2g1PllheWhhU0RyKTJXbChFRDQKekR7WVZTU0F3UW9vV0J4byVF
a0ZCO2lnPWl6Y082UCNrb3YhS0I+ZTQxe0JOVmxhaiFSMC1rQD1fQmdMOFh2KVFUCnpFI2FuSW9Z
eFg9JUVmc3Q7aWc9aT1RUH11JU9AP05WendST2N0bStQSkJkNCs9aCtmIShCXnFoQkZ9dGNPajxu
Vgp6TChYJDxNNG99dVQ+QX4kRjshZSQtX19HUSMhUGEhVX58azJJPjtMUm1CNGQ9WnpuaXdpNVA2
MiR0M2JqQ1hzIzEKemJlX1dgPWxNKk5VTy12T0YySTVoMmhWWW1HaUtXSkpmfXtfU3h6RiliYG8o
R3RhRHwxZEcoekE7KW9xIzlFc2w4CnpXazVXYU47e3F2SENSUG0kWGdtMjVBQXF2Nj8lKGpSfURA
SDxfWlpsdGo3bDk7Q1dWKUp8VVJWJGk2aUJxKHNsQgp6cFpUUSlpLT56eipNfCF9WFA8LWBMVjdg
dTEpS3J2dFR2VzZKNktDP157Vj05Sk9CfDY0cVUtfmZyR2pDWWE9ODAKenJPe2wkeUBYP1R0PUE2
d1kya2Y/Nlh7eFM5UCFoS3l8ZFBwPCNRfUk7QG5WUUspR0wzdDIlUkNabz5Td2BGN1hSCnpMd2N7
bkpXTF54PW5aeEtGelJIUEdFRHJZa2hmZEw7bE5wTXNmdm1XKykkcyM8b1lvdyQ3PjZ6aihXUmdh
YztvOApNa2tzZH5iSUlpWTA4M0swMj48ezkKCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL2Zp
bGVzL2h0dHBkLWF1dG9nZW4uc2ggYi9Ub29scy9mbGF0cGFrL2ZpbGVzL2h0dHBkLWF1dG9nZW4u
c2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDFjMGM0ODMwNTFmYmRmODYwNGI5NDRh
NjM1MTFjNGUxMjFlYWVmNGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvVG9vbHMvZmxhdHBhay9maWxlcy9odHRwZC1hdXRvZ2VuLnNoCisrKyAvZGV2L251
bGwKQEAgLTEsMiArMCwwIEBACi1hdXRvbWFrZSAtLWFkZC1taXNzaW5nCi1hdXRvcmVjb25mIC0t
aW5zdGFsbApkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9mbGF0cGFrdXRpbHMucHkgYi9Ub29s
cy9mbGF0cGFrL2ZsYXRwYWt1dGlscy5weQppbmRleCA4OWViYzY3MzEwYzFkNWI4NGM5MGNmNTQw
N2Y5NDBjMDFiMDVlZWU2Li4wNDI5Nzk5YWEwYTdkOGQxNWQ3ZDc5Y2UzZTIwYTBhN2ZjMmE4OGRi
IDEwMDY0NAotLS0gYS9Ub29scy9mbGF0cGFrL2ZsYXRwYWt1dGlscy5weQorKysgYi9Ub29scy9m
bGF0cGFrL2ZsYXRwYWt1dGlscy5weQpAQCAtNDksMTUgKzQ5LDEwIEBAIGV4Y2VwdCBJbXBvcnRF
cnJvcjoKIAogRkxBVFBBS19SRVEgPSBbCiAgICAgKCJmbGF0cGFrIiwgIjAuMTAuMCIpLAotICAg
ICgiZmxhdHBhay1idWlsZGVyIiwgIjAuMTAuMCIpLAogXQogCiBGTEFUUEFLX1ZFUlNJT04gPSB7
fQogCi1XUEVfTUFOSUZFU1RfTUFQID0gewotICAgICJxdCI6ICJvcmcud2Via2l0LldQRVFULnlh
bWwiLAotfQotCiBzY3JpcHRkaXIgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1lKF9f
ZmlsZV9fKSkKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIApAQCAtMTIzLDEz
MiArMTE4LDYgQEAgZGVmIGNoZWNrX2ZsYXRwYWsodmVyYm9zZT1UcnVlKToKICAgICByZXR1cm4g
VHJ1ZQogCiAKLWRlZiByZW1vdmVfZXh0ZW5zaW9uX3BvaW50cyhhcnJheSk6Ci0gICAgcmVzdWx0
X2FyZ3MgPSBbXQotICAgIGZvciBhcmcgaW4gYXJyYXk6Ci0gICAgICAgIGlmKG5vdCBhcmcuc3Rh
cnRzd2l0aCgnLS1leHRlbnNpb24nKSk6Ci0gICAgICAgICAgICByZXN1bHRfYXJncy5hcHBlbmQo
YXJnKQotICAgIHJldHVybiByZXN1bHRfYXJncwotCi0KLWRlZiByZW1vdmVfY29tbWVudHMoc3Ry
aW5nKToKLSAgICBwYXR0ZXJuID0gciIoXCIuKj9cInxcJy4qP1wnKXwoL1wqLio/XCovfC8vW15c
clxuXSokKSIKLSAgICAjIGZpcnN0IGdyb3VwIGNhcHR1cmVzIHF1b3RlZCBzdHJpbmdzIChkb3Vi
bGUgb3Igc2luZ2xlKQotICAgICMgc2Vjb25kIGdyb3VwIGNhcHR1cmVzIGNvbW1lbnRzICgvL3Np
bmdsZS1saW5lIG9yIC8qIG11bHRpLWxpbmUgKi8pCi0gICAgcmVnZXggPSByZS5jb21waWxlKHBh
dHRlcm4sIHJlLk1VTFRJTElORSB8IHJlLkRPVEFMTCkKLQotICAgIGRlZiBfcmVwbGFjZXIobWF0
Y2gpOgotICAgICAgICAjIGlmIHRoZSAybmQgZ3JvdXAgKGNhcHR1cmluZyBjb21tZW50cykgaXMg
bm90IE5vbmUsCi0gICAgICAgICMgaXQgbWVhbnMgd2UgaGF2ZSBjYXB0dXJlZCBhIG5vbi1xdW90
ZWQgKHJlYWwpIGNvbW1lbnQgc3RyaW5nLgotICAgICAgICBpZiBtYXRjaC5ncm91cCgyKSBpcyBu
b3QgTm9uZToKLSAgICAgICAgICAgIHJldHVybiAiIiAgIyBzbyB3ZSB3aWxsIHJldHVybiBlbXB0
eSB0byByZW1vdmUgdGhlIGNvbW1lbnQKLSAgICAgICAgZWxzZTogICMgb3RoZXJ3aXNlLCB3ZSB3
aWxsIHJldHVybiB0aGUgMXN0IGdyb3VwCi0gICAgICAgICAgICByZXR1cm4gbWF0Y2guZ3JvdXAo
MSkgICMgY2FwdHVyZWQgcXVvdGVkLXN0cmluZwotICAgIHJldHVybiByZWdleC5zdWIoX3JlcGxh
Y2VyLCBzdHJpbmcpCi0KLQotZGVmIGxvYWRfbWFuaWZlc3QobWFuaWZlc3RfcGF0aCwgcG9ydF9u
YW1lPU5vbmUsIGNvbW1hbmQ9Tm9uZSk6Ci0gICAgaXNfeWFtbCA9IG1hbmlmZXN0X3BhdGguZW5k
c3dpdGgoJy55YW1sJykKLSAgICB3aXRoIG9wZW4obWFuaWZlc3RfcGF0aCwgInIiKSBhcyBtcjoK
LSAgICAgICAgY29udGVudHMgPSBtci5yZWFkKCkKLQotICAgICAgICBjb250ZW50cyA9IGNvbnRl
bnRzICUgeyJDT01NQU5EIjogY29tbWFuZCwgIlBPUlROQU1FIjogcG9ydF9uYW1lfQotICAgICAg
ICBpZiBpc195YW1sOgotICAgICAgICAgICAgaW1wb3J0IHlhbWwKLSAgICAgICAgICAgIHlhbWxf
bG9hZCA9IGdldGF0dHIoeWFtbCwgInNhZmVfbG9hZCIsIHlhbWwubG9hZCkKLSAgICAgICAgICAg
IG1hbmlmZXN0ID0geWFtbF9sb2FkKGNvbnRlbnRzKQotICAgICAgICBlbHNlOgotICAgICAgICAg
ICAgY29udGVudHMgPSByZW1vdmVfY29tbWVudHMoY29udGVudHMpCi0gICAgICAgICAgICBtYW5p
ZmVzdCA9IGpzb24ubG9hZHMoY29udGVudHMpCi0KLSAgICByZXR1cm4gbWFuaWZlc3QKLQotCi1k
ZWYgZXhwYW5kX3N1Ym1vZHVsZXNfcmVjdXJzZShtb2R1bGVzLCBtYW5pZmVzdF9wYXRoLCBwb3J0
X25hbWUsIGNvbW1hbmQpOgotICAgIGFsbF9tb2R1bGVzID0gW10KLSAgICBpZiB0eXBlKG1vZHVs
ZXMpIGlzIHN0cjoKLSAgICAgICAgc3VibWFuaWZlc3RfcGF0aCA9IG9zLnBhdGguam9pbihvcy5w
YXRoLmRpcm5hbWUobWFuaWZlc3RfcGF0aCksIG1vZHVsZXMpCi0gICAgICAgIHN1Ym1hbmlmZXN0
ID0gbG9hZF9tYW5pZmVzdChzdWJtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWU9cG9ydF9uYW1lLCBj
b21tYW5kPWNvbW1hbmQpCi0gICAgICAgIGFsbF9tb2R1bGVzLmV4dGVuZChleHBhbmRfc3VibW9k
dWxlc19yZWN1cnNlKHN1Ym1hbmlmZXN0LCBzdWJtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWUsIGNv
bW1hbmQpKQotICAgICAgICByZXR1cm4gYWxsX21vZHVsZXMKLQotICAgICMgVGhlIGxhc3QgcmVj
dXJzZSBtYW5pZmVzdCBleHBhbmQgaXRlcmF0aW9uIG1pZ2h0IGxlYWQgdG8gYSBzaW5nbGUgbW9k
dWxlLgotICAgIGlmIG5vdCBpc2luc3RhbmNlKG1vZHVsZXMsIGxpc3QpOgotICAgICAgICBhbGxf
bW9kdWxlcy5hcHBlbmQobW9kdWxlcykKLSAgICAgICAgcmV0dXJuIGFsbF9tb2R1bGVzCi0KLSAg
ICBmb3IgbW9kdWxlIGluIG1vZHVsZXM6Ci0gICAgICAgIGlmIHR5cGUobW9kdWxlKSBpcyBzdHI6
Ci0gICAgICAgICAgICBzdWJtYW5pZmVzdF9wYXRoID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGly
bmFtZShtYW5pZmVzdF9wYXRoKSwgbW9kdWxlKQotICAgICAgICAgICAgc3VibWFuaWZlc3QgPSBs
b2FkX21hbmlmZXN0KHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZT1wb3J0X25hbWUsIGNvbW1h
bmQ9Y29tbWFuZCkKLSAgICAgICAgICAgIGFsbF9tb2R1bGVzLmV4dGVuZChleHBhbmRfc3VibW9k
dWxlc19yZWN1cnNlKHN1Ym1hbmlmZXN0LCBzdWJtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWUsIGNv
bW1hbmQpKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgYWxsX21vZHVsZXMuYXBwZW5kKG1v
ZHVsZSkKLQotICAgIHJldHVybiBhbGxfbW9kdWxlcwotCi1kZWYgZXhwYW5kX21hbmlmZXN0KG1h
bmlmZXN0X3BhdGgsIG91dGZpbGUsIHBvcnRfbmFtZSwgc291cmNlX3Jvb3QsIGNvbW1hbmQpOgot
ICAgICIiIkNyZWF0ZXMgdGhlIG1hbmlmZXN0IGZpbGUuIiIiCi0gICAgdHJ5OgotICAgICAgICBv
cy5yZW1vdmUob3V0ZmlsZSkKLSAgICBleGNlcHQgT1NFcnJvcjoKLSAgICAgICAgcGFzcwotCi0g
ICAgbWFuaWZlc3QgPSBsb2FkX21hbmlmZXN0KG1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZT1wb3J0
X25hbWUsIGNvbW1hbmQ9Y29tbWFuZCkKLSAgICBpZiBub3QgbWFuaWZlc3Q6Ci0gICAgICAgIHJl
dHVybiBGYWxzZQotCi0gICAgaWYgInNkay1oYXNoIiBpbiBtYW5pZmVzdDoKLSAgICAgICAgZGVs
IG1hbmlmZXN0WyJzZGstaGFzaCJdCi0gICAgaWYgInJ1bnRpbWUtaGFzaCIgaW4gbWFuaWZlc3Q6
Ci0gICAgICAgIGRlbCBtYW5pZmVzdFsicnVudGltZS1oYXNoIl0KLQotICAgIGFsbF9tb2R1bGVz
ID0gW10KLQotICAgIG92ZXJyaWRlbl9tb2R1bGVzID0gW10KLSAgICBpZiAiV0VCS0lUX0VYVFJB
X01PRFVMRVNFVFMiIGluIG9zLmVudmlyb246Ci0gICAgICAgIG92ZXJyaWRlbl9tb2R1bGVzID0g
bG9hZF9tYW5pZmVzdChvcy5lbnZpcm9uWyJXRUJLSVRfRVhUUkFfTU9EVUxFU0VUUyJdKQotICAg
ICAgICBpZiBub3Qgb3ZlcnJpZGVuX21vZHVsZXM6Ci0gICAgICAgICAgICBvdmVycmlkZW5fbW9k
dWxlcyA9IFtdCi0gICAgZm9yIG1vZHVsZXMgaW4gbWFuaWZlc3RbIm1vZHVsZXMiXToKLSAgICAg
ICAgbW9kdWxlcyA9IGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2UobW9kdWxlcywgbWFuaWZlc3Rf
cGF0aCwgcG9ydF9uYW1lLCBjb21tYW5kKQotCi0gICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKG1v
ZHVsZXMsIGxpc3QpOgotICAgICAgICAgICAgbW9kdWxlcyA9IFttb2R1bGVzXQotCi0gICAgICAg
IGZvciBtb2R1bGUgaW4gbW9kdWxlczoKLSAgICAgICAgICAgIGZvciBvdmVycmlkZW5fbW9kdWxl
IGluIG92ZXJyaWRlbl9tb2R1bGVzOgotICAgICAgICAgICAgICAgIGlmIG1vZHVsZVsnbmFtZSdd
ID09IG92ZXJyaWRlbl9tb2R1bGVbJ25hbWUnXToKLSAgICAgICAgICAgICAgICAgICAgbW9kdWxl
ID0gb3ZlcnJpZGVuX21vZHVsZQotICAgICAgICAgICAgICAgICAgICBvdmVycmlkZW5fbW9kdWxl
cy5yZW1vdmUobW9kdWxlKQotICAgICAgICAgICAgICAgICAgICBicmVhawotCi0gICAgICAgICAg
ICBhbGxfbW9kdWxlcy5hcHBlbmQobW9kdWxlKQotCi0gICAgIyBBbmQgYWRkIG92ZXJyaWRlbiBt
b2R1bGVzIHJpZ2h0IGJlZm9yZSB0aGUgd2Via2l0IHBvcnQgYnVpbGQgZGVmLgotICAgIGZvciBv
dmVycmlkZW5fbW9kdWxlIGluIG92ZXJyaWRlbl9tb2R1bGVzOgotICAgICAgICBhbGxfbW9kdWxl
cy5pbnNlcnQoLTEsIG92ZXJyaWRlbl9tb2R1bGUpCi0KLSAgICBtYW5pZmVzdFsibW9kdWxlcyJd
ID0gYWxsX21vZHVsZXMKLSAgICBmb3IgbW9kdWxlIGluIG1hbmlmZXN0WyJtb2R1bGVzIl06Ci0g
ICAgICAgIGlmIG5vdCBtb2R1bGUuZ2V0KCJzb3VyY2VzIik6Ci0gICAgICAgICAgICBjb250aW51
ZQotCi0gICAgICAgIGlmIG1vZHVsZVsic291cmNlcyJdWzBdWyJ0eXBlIl0gPT0gImdpdCI6Ci0g
ICAgICAgICAgICBpZiBwb3J0X25hbWUgPT0gbW9kdWxlWyJuYW1lIl06Ci0gICAgICAgICAgICAg
ICAgcmVwbyA9ICJmaWxlOi8vIiArIHNvdXJjZV9yb290Ci0gICAgICAgICAgICAgICAgbW9kdWxl
WyJzb3VyY2VzIl1bMF1bInVybCJdID0gcmVwbwotCi0gICAgICAgIGZvciBzb3VyY2UgaW4gbW9k
dWxlWyJzb3VyY2VzIl06Ci0gICAgICAgICAgICBpZiBzb3VyY2VbInR5cGUiXSA9PSAicGF0Y2gi
IG9yIChzb3VyY2VbInR5cGUiXSA9PSAiZmlsZSIgYW5kIHNvdXJjZS5nZXQoJ3BhdGgnKSk6Ci0g
ICAgICAgICAgICAgICAgc291cmNlWyJwYXRoIl0gPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJu
YW1lKG1hbmlmZXN0X3BhdGgpLCBzb3VyY2VbInBhdGgiXSkKLQotICAgIHdpdGggb3BlbihvdXRm
aWxlLCAidyIpIGFzIG9mOgotICAgICAgICBvZi53cml0ZShqc29uLmR1bXBzKG1hbmlmZXN0LCBp
bmRlbnQ9NCkpCi0KLSAgICByZXR1cm4gVHJ1ZQotCi0KIGNsYXNzIEZsYXRwYWtPYmplY3Q6CiAK
ICAgICBkZWYgX19pbml0X18oc2VsZiwgdXNlcik6CkBAIC0yODQsNyArMTUzLDYgQEAgY2xhc3Mg
RmxhdHBha1BhY2thZ2VzKEZsYXRwYWtPYmplY3QpOgogICAgICAgICBzZWxmLmFwcHMgPSBzZWxm
Ll9fZGV0ZWN0X2FwcHMoKQogICAgICAgICBzZWxmLnBhY2thZ2VzID0gc2VsZi5ydW50aW1lcyAr
IHNlbGYuYXBwcwogCi0KICAgICBkZWYgX19kZXRlY3RfcGFja2FnZXMoc2VsZiwgKmFyZ3MpOgog
ICAgICAgICBwYWNrcyA9IFtdCiAgICAgICAgIGlmIEZMQVRQQUtfVkVSU0lPTlsiZmxhdHBhayJd
IDwgKDEsIDEsIDIpOgpAQCAtMzEyLDcgKzE4MCw2IEBAIGNsYXNzIEZsYXRwYWtQYWNrYWdlcyhG
bGF0cGFrT2JqZWN0KToKIAogICAgICAgICByZXR1cm4gcGFja3MKIAotCiAgICAgZGVmIF9fZGV0
ZWN0X3J1bnRpbWVzKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5fX2RldGVjdF9wYWNrYWdl
cygiLS1ydW50aW1lIikKIApAQCAtMzYyLDcgKzIyOSw3IEBAIGNsYXNzIEZsYXRwYWtSZXBvcyhG
bGF0cGFrT2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJObyB2
YWxpZCBVUkkgZm91bmQgZm9yOiAlcyIsIHJlcG8pCiAgICAgICAgICAgICAgICAgICAgIGNvbnRp
bnVlCiAKLSAgICAgICAgICAgICAgICBzZWxmLnJlcG9zW25hbWVdID0gRmxhdHBha1JlcG8obmFt
ZSwgdXJsLCBkZXNjLCByZXBvcz1zZWxmKQorICAgICAgICAgICAgICAgIHNlbGYucmVwb3NbbmFt
ZV0gPSBGbGF0cGFrUmVwbyhuYW1lPW5hbWUsIHVybD11cmwsIGRlc2M9ZGVzYywgcmVwb3M9c2Vs
ZikKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIG91dCA9IHNlbGYuZmxhdHBhaygicmVtb3Rl
LWxpc3QiLCAiLS1jb2x1bW5zPW5hbWUsdGl0bGUsdXJsIikKICAgICAgICAgICAgIHJlbW90ZXMg
PSBbbGluZSBmb3IgbGluZSBpbiBvdXQuc3BsaXQoIlxuIikgaWYgbGluZV0KQEAgLTM3Myw3ICsy
NDAsNyBAQCBjbGFzcyBGbGF0cGFrUmVwb3MoRmxhdHBha09iamVjdCk6CiAgICAgICAgICAgICAg
ICAgICAgIENvbnNvbGUubWVzc2FnZSgiTm8gdmFsaWQgVVJJIGZvdW5kIGZvcjogJXMiLCByZW1v
dGUpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAKLSAgICAgICAgICAgICAgICBzZWxm
LnJlcG9zW25hbWVdID0gRmxhdHBha1JlcG8obmFtZSwgdXJsLCB0aXRsZSwgcmVwb3M9c2VsZikK
KyAgICAgICAgICAgICAgICBzZWxmLnJlcG9zW25hbWVdID0gRmxhdHBha1JlcG8obmFtZT1uYW1l
LCB1cmw9dXJsLCBkZXNjPXRpdGxlLCByZXBvcz1zZWxmKQogCiAgICAgICAgIHNlbGYucGFja2Fn
ZXMgPSBGbGF0cGFrUGFja2FnZXMoc2VsZikKIApAQCAtNDQ5LDkgKzMxNiwxMiBAQCBjbGFzcyBG
bGF0cGFrUGFja2FnZShGbGF0cGFrT2JqZWN0KToKICAgICAgICAgc2VsZi5hcmNoID0gYXJjaAog
ICAgICAgICBzZWxmLmhhc2ggPSBoYXNoCiAKLSAgICBkZWYgX19zdHJfXyhzZWxmKToKKyAgICBk
ZWYgX19yZXByX18oc2VsZik6CiAgICAgICAgIHJldHVybiAiJXMvJXMvJXMgJXMiICUgKHNlbGYu
bmFtZSwgc2VsZi5hcmNoLCBzZWxmLmJyYW5jaCwgc2VsZi5yZXBvLm5hbWUpCiAKKyAgICBkZWYg
X19zdHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuICIlcy8lcy8lcyIgJSAoc2VsZi5uYW1lLCBz
ZWxmLmFyY2gsIHNlbGYuYnJhbmNoKQorCiAgICAgZGVmIGlzX2luc3RhbGxlZChzZWxmLCBicmFu
Y2gpOgogICAgICAgICBpZiBub3Qgc2VsZi5yZXBvOgogICAgICAgICAgICAgIyBCdW5kbGUgaW5z
dGFsbGVkIGZyb20gZmlsZQpAQCAtNDkxLDcgKzM2MSw3IEBAIGNsYXNzIEZsYXRwYWtQYWNrYWdl
KEZsYXRwYWtPYmplY3QpOgogICAgICAgICBleHRyYV9hcmdzLmFwcGVuZCgiLS1hc3N1bWV5ZXMi
KQogCiAgICAgICAgIHNlbGYuZmxhdHBhaygidXBkYXRlIiwgc2VsZi5uYW1lLCBzZWxmLmJyYW5j
aCwgc2hvd19vdXRwdXQ9VHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgKmV4dHJhX2FyZ3MsIGNv
bW1lbnQ9Y29tbWVudCkKKyAgICAgICAgICAgICAgICAgICAgICpleHRyYV9hcmdzLCBjb21tZW50
PWNvbW1lbnQpCiAKIAogQGNvbnRleHRtYW5hZ2VyCkBAIC01MTksNTEgKzM4OSw1MiBAQCBjbGFz
cyBXZWJraXRGbGF0cGFrOgogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgnLS12ZXJib3Nl
JywgYWN0aW9uPSdzdG9yZV90cnVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVs
cD0nU2hvdyBkZWJ1ZyBtZXNzYWdlJykKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi0t
ZGVidWciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkNvbXBpbGUgd2l0aCBE
ZWJ1ZyBjb25maWd1cmF0aW9uLCBhbHNvIGluc3RhbGxzIFNkayBkZWJ1ZyBzeW1ib2xlcy4iLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkNvbXBpbGUgd2l0aCBEZWJ1ZyBjb25maWd1cmF0
aW9uLCBhbHNvIGluc3RhbGxzIFNkayBkZWJ1ZyBzeW1ib2xlcy4iLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiKQogICAgICAgICBnZW5lcmFsLmFkZF9h
cmd1bWVudCgiLS1yZWxlYXNlIiwgaGVscD0iQ29tcGlsZSB3aXRoIFJlbGVhc2UgY29uZmlndXJh
dGlvbi4iLCBhY3Rpb249InN0b3JlX3RydWUiKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVu
dCgnLS1wbGF0Zm9ybScsIGFjdGlvbj0nc3RvcmUnLCBoZWxwPSdQbGF0Zm9ybSB0byB1c2UgKGUu
Zy4sICJtYWMtbGlvbiIpJyksCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCctLWd0aycs
IGFjdGlvbj0nc3RvcmVfY29uc3QnLCBkZXN0PSdwbGF0Zm9ybScsIGNvbnN0PSdndGsnLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdBbGlhcyBmb3IgLS1wbGF0Zm9ybT1ndGsn
KQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgnLS13cGUnLCBhY3Rpb249J3N0b3JlX2Nv
bnN0JywgZGVzdD0ncGxhdGZvcm0nLCBjb25zdD0nd3BlJywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBoZWxwPSgnQWxpYXMgZm9yIC0tcGxhdGZvcm09d3BlJykpCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGhlbHA9KCdBbGlhcyBmb3IgLS1wbGF0Zm9ybT13cGUnKSkKICAgICAg
ICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi1uZiIsICItLW5vLWZsYXRwYWstdXBkYXRlIiwgZGVz
dD0ibm9fZmxhdHBha191cGRhdGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlv
bj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRG8gbm90
IHVwZGF0ZSBmbGFwdGFrIHJ1bnRpbWUvc2RrIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVs
cD0iRG8gbm90IHVwZGF0ZSBmbGFwdGFrIHJ1bnRpbWUvc2RrIikKICAgICAgICAgZ2VuZXJhbC5h
ZGRfYXJndW1lbnQoIi11IiwgIi0tdXBkYXRlIiwgZGVzdD0idXBkYXRlIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGhlbHA9IlVwZGF0ZSB0aGUgcnVudGltZS9zZGsvYXBwIGFuZCByZWJ1aWxkIHRo
ZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCBpZiBuZWVkZWQiKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBoZWxwPSJVcGRhdGUgdGhlIHJ1bnRpbWUvc2RrL2FwcCBhbmQgcmVidWlsZCB0aGUgZGV2
ZWxvcG1lbnQgZW52aXJvbm1lbnQgaWYgbmVlZGVkIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJn
dW1lbnQoIi1iIiwgIi0tYnVpbGQtd2Via2l0IiwgZGVzdD0iYnVpbGRfd2Via2l0IiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGhlbHA9IkZvcmNlIHJlYnVpbGRpbmcgdGhlIGFwcC4iKQotICAgICAg
ICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLWJhIiwgIi0tYnVpbGQtYWxsIiwgZGVzdD0iYnVpbGRf
YWxsIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkZvcmNlIHJlYnVpbGRpbmcgdGhlIGFw
cCBhbmQgaXRzIGRlcGVuZGVuY2llcy4iKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBh
Y3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJG
b3JjZSByZWJ1aWxkaW5nIHRoZSBhcHAuIikKKyAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQo
Ii1iZ3N0IiwgIi0tYnVpbGQtZ3N0IiwgZGVzdD0iYnVpbGRfZ3N0IiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaGVscD0iRm9yY2UgcmVidWlsZGluZyBnc3QtYnVpbGQsIHJlcG9zaXRvcnkgcGF0
aCBpcyBkZWZpbmVkIGJ5IHRoZSBgR1NUX0JVSUxEX1BBVEhgIGVudmlyb25tZW50IHZhcmlhYmxl
LiIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItcSIsICItLXF1aWV0IiwgZGVzdD0i
cXVpZXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRG8gbm90IHByaW50IGFueXRoaW5n
IikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRG8gbm90IHByaW50IGFueXRoaW5nIikK
ICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi10IiwgIi0tdGVzdHMiLCBkZXN0PSJydW5f
dGVzdHMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hcmdzPWFyZ3BhcnNlLlJFTUFJ
TkRFUiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJSdW4gTGF5b3V0VGVzdHMi
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXJncz1hcmdwYXJzZS5SRU1BSU5ERVIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlJ1biBMYXlvdXRUZXN0cyIpCiAg
ICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItYyIsICItLWNvbW1hbmQiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG5hcmdzPWFyZ3BhcnNlLlJFTUFJTkRFUiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoZWxwPSJUaGUgY29tbWFuZCB0byBydW4gaW4gdGhlIHNhbmRib3gi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9InVzZXJfY29tbWFuZCIpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG5hcmdzPWFyZ3BhcnNlLlJFTUFJTkRFUiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iVGhlIGNvbW1hbmQgdG8gcnVuIGluIHRoZSBz
YW5kYm94IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdD0idXNlcl9jb21tYW5k
IikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoJy0tYXZhaWxhYmxlJywgYWN0aW9uPSdz
dG9yZV90cnVlJywgZGVzdD0iY2hlY2tfYXZhaWxhYmxlIiwgaGVscD0nQ2hlY2sgaWYgcmVxdWly
ZWQgZGVwZW5kZW5jaWVzIGFyZSBhdmFpbGFibGUuJyksCi0gICAgICAgIGdlbmVyYWwuYWRkX2Fy
Z3VtZW50KCItLXVzZS1pY2VjcmVhbSIsIGhlbHA9IlVzZSB0aGUgZGlzdHJpYnV0ZWQgaWNlY3Jl
YW0gKGljZWNjKSBjb21waWxlci4iLCBhY3Rpb249InN0b3JlX3RydWUiKQotICAgICAgICBnZW5l
cmFsLmFkZF9hcmd1bWVudCgiLS13cGUtZXh0ZW5zaW9uIiwgYWN0aW9uPSJzdG9yZSIsIGRlc3Q9
IndwZV9leHRlbnNpb24iLCBoZWxwPSJXUEUgRXh0ZW5zaW9uIHRvIGVuYWJsZSIpCisgICAgICAg
IGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLXVzZS1pY2VjcmVhbSIsIGRlc3Q9InVzZV9pY2VjcmVh
bSIsIGhlbHA9IlVzZSB0aGUgZGlzdHJpYnV0ZWQgaWNlY3JlYW0gKGljZWNjKSBjb21waWxlci4i
LCBhY3Rpb249InN0b3JlX3RydWUiKQogCiAgICAgICAgIGRlYnVnb3B0aW9ucyA9IHBhcnNlci5h
ZGRfYXJndW1lbnRfZ3JvdXAoIkRlYnVnZ2luZyIpCiAgICAgICAgIGRlYnVnb3B0aW9ucy5hZGRf
YXJndW1lbnQoIi0tZ2RiIiwgbmFyZ3M9Ij8iLCBoZWxwPSJBY3RpdmF0ZSBnZGIsIHBhc3Npbmcg
ZXh0cmEgYXJncyB0byBpdCBpZiB3YW50ZWQuIikKKyAgICAgICAgZGVidWdvcHRpb25zLmFkZF9h
cmd1bWVudCgiLS1nZGItc3RhY2stdHJhY2UiLCBkZXN0PSJnZGJfc3RhY2tfdHJhY2UiLCBuYXJn
cz0iPyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRHVtcCB0aGUg
c3RhY2t0cmFjZSB0byBzdGRvdXQuIFRoZSBhcmd1bWVudCBpcyBhIHRpbWVzdGFtcCB0byBiZSBw
YXJzZWQgYnkgY29yZWR1bXBjdGwuIikKICAgICAgICAgZGVidWdvcHRpb25zLmFkZF9hcmd1bWVu
dCgiLW0iLCAiLS1jb3JlZHVtcGN0bC1tYXRjaGVzIiwgZGVmYXVsdD0iIiwgaGVscD0nQXJndW1l
bnRzIHRvIHBhc3MgdG8gZ2RiLicpCiAKICAgICAgICAgYnVpbGRvcHRpb25zID0gcGFyc2VyLmFk
ZF9hcmd1bWVudF9ncm91cCgiRXh0cmEgYnVpbGQgYXJndW1lbnRzIikKICAgICAgICAgYnVpbGRv
cHRpb25zLmFkZF9hcmd1bWVudCgiLS1tYWtlYXJncyIsIGhlbHA9Ik9wdGlvbmFsIE1ha2VmaWxl
IGZsYWdzIikKICAgICAgICAgYnVpbGRvcHRpb25zLmFkZF9hcmd1bWVudCgiLS1jbWFrZWFyZ3Mi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJPbmUgb3IgbW9yZSBvcHRp
b25hbCBDTWFrZSBmbGFncyAoZS5nLiAtLWNtYWtlYXJncz1cIi1ERk9PPWJhciAtRENNQUtFX1BS
RUZJWF9QQVRIPS91c3IvbG9jYWxcIikiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGhlbHA9Ik9uZSBvciBtb3JlIG9wdGlvbmFsIENNYWtlIGZsYWdzIChlLmcuIC0tY21ha2Vh
cmdzPVwiLURGT089YmFyIC1EQ01BS0VfUFJFRklYX1BBVEg9L3Vzci9sb2NhbFwiKSIpCiAKICAg
ICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi0tY2xlYW4iLCBkZXN0PSJjbGVhbiIsIGFjdGlv
bj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICBoZWxwPSJDbGVhbiBwcmV2aW91cyBidWlsZHMg
YW5kIHJlc3RhcnQgZnJvbSBzY3JhdGNoIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aGVscD0iQ2xlYW4gcHJldmlvdXMgYnVpbGRzIGFuZCByZXN0YXJ0IGZyb20gc2NyYXRjaCIpCiAK
ICAgICAgICAgXywgc2VsZi5hcmdzID0gcGFyc2VyLnBhcnNlX2tub3duX2FyZ3MoYXJncz1hcmdz
LCBuYW1lc3BhY2U9c2VsZikKIApAQCAtNTgzLDYgKzQ1NCw3IEBAIGNsYXNzIFdlYmtpdEZsYXRw
YWs6CiAgICAgICAgIHNlbGYudXBkYXRlID0gRmFsc2UKICAgICAgICAgc2VsZi5hcmdzID0gW10K
ICAgICAgICAgc2VsZi5maW5pc2hfYXJncyA9IE5vbmUKKyAgICAgICAgc2VsZi5nZGJfc3RhY2tf
dHJhY2UgPSBGYWxzZQogCiAgICAgICAgIHNlbGYubm9fZmxhdHBha191cGRhdGUgPSBGYWxzZQog
ICAgICAgICBzZWxmLnJlbGVhc2UgPSBGYWxzZQpAQCAtNTk0LDkgKzQ2NiwxMCBAQCBjbGFzcyBX
ZWJraXRGbGF0cGFrOgogICAgICAgICBzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QgPSAiL2FwcC93
ZWJraXQiCiAKICAgICAgICAgc2VsZi5idWlsZF93ZWJraXQgPSBGYWxzZQorICAgICAgICBzZWxm
LmJ1aWxkX2dzdCA9IEZhbHNlCiAgICAgICAgIHNlbGYuYnVpbGRfYWxsID0gRmFsc2UKIAotICAg
ICAgICBzZWxmLnNka19icmFuY2ggPSBOb25lCisgICAgICAgIHNlbGYuc2RrX2JyYW5jaCA9ICIw
LjEiCiAgICAgICAgIHNlbGYucGxhdGZvcm0gPSAiZ3RrIgogICAgICAgICBzZWxmLmJ1aWxkX3R5
cGUgPSAiUmVsZWFzZSIKICAgICAgICAgc2VsZi5tYW5pZmVzdF9wYXRoID0gTm9uZQpAQCAtNjA3
LDcgKzQ4MCw2IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgIHNlbGYuYXBwX21vZHVs
ZSA9IE5vbmUKICAgICAgICAgc2VsZi5mbGF0cGFrX2RlZmF1bHRfYXJncyA9IFtdCiAgICAgICAg
IHNlbGYuY2hlY2tfYXZhaWxhYmxlID0gRmFsc2UKLSAgICAgICAgc2VsZi53cGVfZXh0ZW5zaW9u
ID0gTm9uZQogCiAgICAgICAgICMgRGVmYXVsdCBhcHBsaWNhdGlvbiB0byBydW4gaW4gdGhlIHNh
bmRib3gKICAgICAgICAgc2VsZi5jb21tYW5kID0gTm9uZQpAQCAtNjQ2LDMwICs1MTgsMjAgQEAg
Y2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgICAgIHNlbGYuZ2RiID0gIiIKIAogICAgICAg
ICBzZWxmLmNvbW1hbmQgPSAiJXMgJXMgJXMiICUgKG9zLnBhdGguam9pbihzZWxmLnNhbmRib3hf
c291cmNlX3Jvb3QsCi0gICAgICAgICAgICAiVG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXIi
KSwKLSAgICAgICAgICAgICItLSIgKyBzZWxmLnBsYXRmb3JtLmxvd2VyKCksCi0gICAgICAgICAg
ICAiIC0tZGVidWciIGlmIHNlbGYuZGVidWcgZWxzZSAiIC0tcmVsZWFzZSIpCi0KLSAgICAgICAg
c2VsZi5uYW1lID0gIm9yZy53ZWJraXQuJXMiICUgc2VsZi5wbGF0Zm9ybQotCi0gICAgICAgIGlm
IHNlbGYud3BlX2V4dGVuc2lvbjoKLSAgICAgICAgICAgIG1hbmlmZXN0X2ZpbGVuYW1lID0gV1BF
X01BTklGRVNUX01BUFtzZWxmLndwZV9leHRlbnNpb25dCi0gICAgICAgIGVsc2U6Ci0gICAgICAg
ICAgICBtYW5pZmVzdF9maWxlbmFtZSA9ICJvcmcud2Via2l0LldlYktpdC55YW1sIgotICAgICAg
ICBzZWxmLm1hbmlmZXN0X3BhdGggPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKHNjcmlw
dGRpciwgJy4uL2ZsYXRwYWsvJykgKyBtYW5pZmVzdF9maWxlbmFtZSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRvb2xzL1NjcmlwdHMvcnVuLW1p
bmlicm93c2VyIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tIiAr
IHNlbGYucGxhdGZvcm0ubG93ZXIoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiIC0tZGVidWciIGlmIHNlbGYuZGVidWcgZWxzZSAiIC0tcmVsZWFzZSIpCiAKLSAgICAg
ICAgc2VsZi5idWlsZF9uYW1lID0gc2VsZi5uYW1lICsgIi1nZW5lcmF0ZWQiCisgICAgICAgIHNl
bGYuZmxhdHBha19idWlsZF9wYXRoID0gb3MuZW52aXJvblsiRkxBVFBBS19VU0VSX0RJUiJdCiAK
ICAgICAgICAgYnVpbGRfcm9vdCA9IG9zLnBhdGguam9pbihzZWxmLnNvdXJjZV9yb290LCAnV2Vi
S2l0QnVpbGQnKQotICAgICAgICBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCA9IG9zLnBhdGguam9p
bihidWlsZF9yb290LCBzZWxmLnBsYXRmb3JtLCAiRmxhdHBha1RyZWUiICsgc2VsZi5idWlsZF90
eXBlKQotICAgICAgICBzZWxmLmNhY2hlX3BhdGggPSBvcy5wYXRoLmpvaW4oYnVpbGRfcm9vdCwg
IkZsYXRwYWtDYWNoZSIpCiAgICAgICAgIHNlbGYuYnVpbGRfcGF0aCA9IG9zLnBhdGguam9pbihi
dWlsZF9yb290LCBzZWxmLnBsYXRmb3JtLCBzZWxmLmJ1aWxkX3R5cGUpCiAgICAgICAgIHRyeToK
ICAgICAgICAgICAgIG9zLm1ha2VkaXJzKHNlbGYuYnVpbGRfcGF0aCkKICAgICAgICAgZXhjZXB0
IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUVYSVNUOgog
ICAgICAgICAgICAgICAgIHJhaXNlIGUKLSAgICAgICAgc2VsZi5jb25maWdfZmlsZSA9IG9zLnBh
dGguam9pbihzZWxmLmJ1aWxkX3BhdGgsICd3ZWJraXRfZmxhdHBha19jb25maWcuanNvbicpCisg
ICAgICAgIHNlbGYuY29uZmlnX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5mbGF0cGFrX2J1aWxk
X3BhdGgsICd3ZWJraXRfZmxhdHBha19jb25maWcuanNvbicpCiAKICAgICAgICAgQ29uc29sZS5x
dWlldCA9IHNlbGYucXVpZXQKICAgICAgICAgaWYgbm90IGNoZWNrX2ZsYXRwYWsoKToKQEAgLTY3
NywzNSArNTM5LDM1IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAKICAgICAgICAgcmVwb3MgPSBG
bGF0cGFrUmVwb3MoKQogICAgICAgICBzZWxmLnNka19yZXBvID0gcmVwb3MuYWRkKAotICAgICAg
ICAgICAgRmxhdHBha1JlcG8oImZsYXRodWIiLAotICAgICAgICAgICAgICAgICAgICAgICAgdXJs
PSJodHRwczovL2RsLmZsYXRodWIub3JnL3JlcG8vIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
IHJlcG9fZmlsZT0iaHR0cHM6Ly9kbC5mbGF0aHViLm9yZy9yZXBvL2ZsYXRodWIuZmxhdHBha3Jl
cG8iKSkKKyAgICAgICAgICAgIEZsYXRwYWtSZXBvKCJ3ZWJraXQtc2RrIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHVybD0iaHR0cHM6Ly9zb2Z0d2FyZS5pZ2FsaWEuY29tL3dlYmtpdC1zZGst
cmVwby8iLAorICAgICAgICAgICAgICAgICAgICAgICAgcmVwb19maWxlPSJodHRwczovL3NvZnR3
YXJlLmlnYWxpYS5jb20vZmxhdHBhay1yZWZzL3dlYmtpdC1zZGsuZmxhdHBha3JlcG8iKQorICAg
ICAgICApCiAKLSAgICAgICAgbWFuaWZlc3QgPSBsb2FkX21hbmlmZXN0KHNlbGYubWFuaWZlc3Rf
cGF0aCwgcG9ydF9uYW1lPXNlbGYubmFtZSkKLSAgICAgICAgaWYgbm90IG1hbmlmZXN0OgotICAg
ICAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICAgICAgc2VsZi5hcHAgPSBtYW5pZmVzdFsnYXBw
LWlkJ10KLQotICAgICAgICBzZWxmLnNka19icmFuY2ggPSBtYW5pZmVzdFsicnVudGltZS12ZXJz
aW9uIl0KLSAgICAgICAgc2VsZi5maW5pc2hfYXJncyA9IG1hbmlmZXN0LmdldCgiZmluaXNoLWFy
Z3MiLCBbXSkKLSAgICAgICAgc2VsZi5maW5pc2hfYXJncyA9IHJlbW92ZV9leHRlbnNpb25fcG9p
bnRzKHNlbGYuZmluaXNoX2FyZ3MpCi0gICAgICAgIHNlbGYucnVudGltZSA9IEZsYXRwYWtQYWNr
YWdlKG1hbmlmZXN0WydydW50aW1lJ10sIHNlbGYuc2RrX2JyYW5jaCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc2g9bWFuaWZlc3QuZ2V0KCJydW50aW1l
LWhhc2giKSkKLSAgICAgICAgc2VsZi5sb2NhbGUgPSBGbGF0cGFrUGFja2FnZShtYW5pZmVzdFsn
cnVudGltZSddICsgJy5Mb2NhbGUnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNlbGYuc2RrX2JyYW5jaCwgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCi0gICAgICAgIHNl
bGYuc2RrID0gRmxhdHBha1BhY2thZ2UobWFuaWZlc3RbJ3NkayddLCBzZWxmLnNka19icmFuY2gs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82
NCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzaD1tYW5pZmVzdC5nZXQo
InNkay1oYXNoIikpCisgICAgICAgIHNlbGYuZmluaXNoX2FyZ3MgPSBbXQorICAgICAgICBzZWxm
LnJ1bnRpbWUgPSBGbGF0cGFrUGFja2FnZSgib3JnLndlYmtpdC5QbGF0Zm9ybSIsIHNlbGYuc2Rr
X2JyYW5jaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtf
cmVwbywgIng4Nl82NCIpCisgICAgICAgIHNlbGYubG9jYWxlID0gRmxhdHBha1BhY2thZ2UoIm9y
Zy53ZWJraXQuUGxhdGZvcm0uTG9jYWxlIiwgc2VsZi5zZGtfYnJhbmNoLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQiKQorICAgICAg
ICBzZWxmLnNkayA9IEZsYXRwYWtQYWNrYWdlKCJvcmcud2Via2l0LlNkayIsICIwLjEiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQiKQog
ICAgICAgICBzZWxmLnBhY2tzID0gW3NlbGYucnVudGltZSwgc2VsZi5sb2NhbGUsIHNlbGYuc2Rr
XQogCisgICAgICAgICMgRklYTUU6IEZvciB1bmtub3duIHJlYXNvbnMsIHRoZSBHTCBleHRlbnNp
b24gbmVlZHMgdG8gYmUgZXhwbGljaXRlbHkKKyAgICAgICAgIyBpbnN0YWxsZWQgZm9yIEZsYXRw
YWsgMS4yLnggdG8gYmUgYWJsZSB0byBtYWtlIHVzZSBvZiBpdC4gU2VlbXMgbGlrZQorICAgICAg
ICAjIGl0J3Mgbm90IGNvcnJlY3RseSBpbmhlcml0aW5nIGl0IGZyb20gdGhlIFNESy4KKyAgICAg
ICAgc2VsZi5mbGF0aHViX3JlcG8gPSByZXBvcy5hZGQoCisgICAgICAgICAgICBGbGF0cGFrUmVw
bygiZmxhdGh1YiIsIHJlcG9fZmlsZT0iaHR0cHM6Ly9kbC5mbGF0aHViLm9yZy9yZXBvL2ZsYXRo
dWIuZmxhdHBha3JlcG8iKQorICAgICAgICApCisgICAgICAgIHNlbGYuZ2xfZXh0ZW5zaW9uID0g
RmxhdHBha1BhY2thZ2UoIm9yZy5mcmVlZGVza3RvcC5QbGF0Zm9ybS5HTC5kZWZhdWx0IiwgIjE5
LjA4IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmZs
YXRodWJfcmVwbywgIng4Nl82NCIpCisgICAgICAgIHNlbGYucGFja3MuYXBwZW5kKHNlbGYuZ2xf
ZXh0ZW5zaW9uKQorCiAgICAgICAgIGlmIHNlbGYuZGVidWc6Ci0gICAgICAgICAgICBzZWxmLnNk
a19kZWJ1ZyA9IEZsYXRwYWtQYWNrYWdlKG1hbmlmZXN0WydzZGsnXSArICcuRGVidWcnLCBzZWxm
LnNka19icmFuY2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu
c2RrX3JlcG8sICJ4ODZfNjQiKQorICAgICAgICAgICAgc2VsZi5zZGtfZGVidWcgPSBGbGF0cGFr
UGFja2FnZSgnb3JnLndlYmtpdC5TZGsuRGVidWcnLCBzZWxmLnNka19icmFuY2gsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX3JlcG8sICJ4ODZf
NjQiKQogICAgICAgICAgICAgc2VsZi5wYWNrcy5hcHBlbmQoc2VsZi5zZGtfZGVidWcpCi0gICAg
ICAgIHNlbGYubWFuaWZlc3RfZ2VuZXJhdGVkX3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5jYWNo
ZV9wYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNlbGYuYnVpbGRfbmFtZSArICIuanNvbiIpCisKICAgICAgICAgdHJ5OgogICAgICAgICAg
ICAgd2l0aCBvcGVuKHNlbGYuY29uZmlnX2ZpbGUpIGFzIGNvbmZpZzoKICAgICAgICAgICAgICAg
ICBqc29uX2NvbmZpZyA9IGpzb24ubG9hZChjb25maWcpCkBAIC03MTUsNyArNTc3LDQ1IEBAIGNs
YXNzIFdlYmtpdEZsYXRwYWs6CiAKICAgICAgICAgcmV0dXJuIFRydWUKIAorICAgIGRlZiBzZXR1
cF9idWlsZGRpcihzZWxmLCAqKmt3YXJncyk6CisgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9z
LnBhdGguam9pbihzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCwgIm1ldGFkYXRhIikpOgorICAgICAg
ICAgICAgcmV0dXJuCisKKyAgICAgICAgc2VsZi5zZGtfcmVwby5mbGF0cGFrKCJidWlsZC1pbml0
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmxhdHBha19idWlsZF9wYXRo
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9yZy53ZWJraXQuV2Via2l0IiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZWxmLnNkayksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzdHIoc2VsZi5ydW50aW1lKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNlbGYuc2RrLmJyYW5jaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNob3dfb3V0cHV0PSJzdGRvdXQiIGluIGt3YXJncy5rZXlzKCkpCisKKyAgICBkZWYgc2V0dXBf
Z3N0YnVpbGQoc2VsZiwgYnVpbGRpbmcpOgorICAgICAgICBnc3RfZGlyID0gb3MuZW52aXJvbi5n
ZXQoJ0dTVF9CVUlMRF9QQVRIJykKKyAgICAgICAgaWYgbm90IGdzdF9kaXI6CisgICAgICAgICAg
ICByZXR1cm4gW10KKworICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2lu
KGdzdF9kaXIsICdnc3QtZW52LnB5JykpOgorICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9y
KCdHU1RfQlVJTERfUEFUSCBzZXQgdG8gJXMgYnV0IGl0IGRvZXNuXCd0IHNlZW0gdG8gYmUgYSB2
YWxpZCBgZ3N0LWJ1aWxkYCBjaGVja291dC4nICUgZ3N0X2RpcikKKworICAgICAgICBnc3RfYnVp
bGRkaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCAiV2ViS2l0QnVp
bGQiLCAnZ3N0LWJ1aWxkJykKKyAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGgu
am9pbihzZWxmLnNvdXJjZV9yb290LCAnV2ViS2l0QnVpbGQnLCAnZ3N0LWJ1aWxkJywgJ2J1aWxk
Lm5pbmphJykpOgorICAgICAgICAgICAgaWYgbm90IGJ1aWxkaW5nOgorICAgICAgICAgICAgICAg
IHJhaXNlIFJ1bnRpbWVFcnJvcignVHJ5aW5nIHRvIGVudGVyIGdzdC1idWlsZCBlbnYgZnJvbSAl
cyBidXQgaXQgaXMgbm90IGJ1aWx0LCBtYWtlIHN1cmUgdG8gcmVidWlsZCB3ZWJraXQuJyAlIGdz
dF9kaXIpCisKKyAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiUnVubmluZyBtZXNvbiBmb3Ig
YGdzdC1idWlsZGAgJXMgIiwgZ3N0X2RpcikKKyAgICAgICAgICAgIHNlbGYucnVuX2luX3NhbmRi
b3goJ21lc29uJywgZ3N0X2RpciwgZ3N0X2J1aWxkZGlyLCBidWlsZGluZ19nc3Q9VHJ1ZSkKKwor
ICAgICAgICBpZiBub3QgYnVpbGRpbmc6CisgICAgICAgICAgICByZXR1cm4gW29zLnBhdGguam9p
bihnc3RfZGlyLCAnZ3N0LWVudi5weScpLCAnLS1idWlsZGRpcicsIGdzdF9idWlsZGRpciwgJy0t
c3JjZGlyJywgZ3N0X2Rpcl0KKworICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIkJ1aWxkaW5nIGBn
c3QtYnVpbGRgICVzICIsIGdzdF9kaXIpCisgICAgICAgIGlmIHNlbGYucnVuX2luX3NhbmRib3go
J25pbmphJywgJy1DJywgZ3N0X2J1aWxkZGlyLCBidWlsZGluZ19nc3Q9VHJ1ZSkgIT0gMDoKKyAg
ICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignRXJyb3Igd2hpbGUgYnVpbGRpbmcgZ3N0LWJ1
aWxkLicpCisKKyAgICAgICAgcmV0dXJuIFtvcy5wYXRoLmpvaW4oZ3N0X2RpciwgJ2dzdC1lbnYu
cHknKSwgJy0tYnVpbGRkaXInLCBnc3RfYnVpbGRkaXIsICctLXNyY2RpcicsIGdzdF9kaXJdCisK
ICAgICBkZWYgcnVuX2luX3NhbmRib3goc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAg
c2VsZi5zZXR1cF9idWlsZGRpcihzdGRvdXQ9a3dhcmdzLmdldCgic3Rkb3V0Iiwgc3lzLnN0ZG91
dCkpCiAgICAgICAgIGN3ZCA9IGt3YXJncy5wb3AoImN3ZCIsIE5vbmUpCiAgICAgICAgIGV4dHJh
X2Vudl92YXJzID0ga3dhcmdzLnBvcCgiZW52Iiwge30pCiAgICAgICAgIHN0ZG91dCA9IGt3YXJn
cy5wb3AoInN0ZG91dCIsIHN5cy5zdGRvdXQpCkBAIC03MjMsNiArNjIzLDcgQEAgY2xhc3MgV2Vi
a2l0RmxhdHBhazoKIAogICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShhcmdzLCBsaXN0KToKICAg
ICAgICAgICAgIGFyZ3MgPSBsaXN0KGFyZ3MpCisKICAgICAgICAgaWYgYXJnczoKICAgICAgICAg
ICAgIGlmIG9zLnBhdGguZXhpc3RzKGFyZ3NbMF0pOgogICAgICAgICAgICAgICAgIGNvbW1hbmQg
PSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguYWJzcGF0aChhcmdzWzBdKSkKQEAgLTczMCw1MCAr
NjMxLDU0IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgICAgICAgICAgYXJnc1swXSA9
IGNvbW1hbmQucmVwbGFjZShzZWxmLnNvdXJjZV9yb290LCBzZWxmLnNhbmRib3hfc291cmNlX3Jv
b3QpCiAgICAgICAgICAgICBpZiBhcmdzWzBdLmVuZHN3aXRoKCJidWlsZC13ZWJraXQiKToKICAg
ICAgICAgICAgICAgICBhcmdzLmFwcGVuZCgiLS1wcmVmaXg9L2FwcCIpCisgICAgICAgIGJ1aWxk
aW5nID0gb3MucGF0aC5iYXNlbmFtZShhcmdzWzBdKS5zdGFydHN3aXRoKCJidWlsZCIpCiAKICAg
ICAgICAgc2FuZGJveF9idWlsZF9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3Vy
Y2Vfcm9vdCwgIldlYktpdEJ1aWxkIiwgc2VsZi5idWlsZF90eXBlKQotICAgICAgICB3aXRoIHRl
bXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZShtb2RlPSJ3IikgYXMgdG1wc2NyaXB0OgotICAgICAg
ICAgICAgZmxhdHBha19jb21tYW5kID0gWyJmbGF0cGFrIiwgImJ1aWxkIiwgIi0tZGllLXdpdGgt
cGFyZW50IiwKLSAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PS9ydW4vc2htPS9kZXYvc2ht
IiwKLSAgICAgICAgICAgICAgICAjIFdvcmthcm91bmQgZm9yIGh0dHBzOi8vd2Via2l0Lm9yZy9i
LzE4NzM4NCB0byBoYXZlIG91ciBvd24gcGVybCBtb2R1bGVzIHVzYWJsZSBpbnNpZGUgdGhlIHNh
bmRib3gKLSAgICAgICAgICAgICAgICAjIGFzIHNldHRpbmcgdGhlIFBFUkw1TElCIGVudnZhciB3
b24ndCB3b3JrIGluc2lkZSBhcGFjaGUgKGFuZCBmb3Igc2NyaXB0cyB1c2luZyBgcGVybCAtVGBg
KS4KLSAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PS9ydW4vaG9zdC8lcz0lcyIgJSAodGVt
cGZpbGUuZ2V0dGVtcGRpcigpLCB0ZW1wZmlsZS5nZXR0ZW1wZGlyKCkpLAotICAgICAgICAgICAg
ICAgICItLWJpbmQtbW91bnQ9JXM9JXMiICUgKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgc2Vs
Zi5zb3VyY2Vfcm9vdCksCisgICAgICAgIGZsYXRwYWtfY29tbWFuZCA9IFsiZmxhdHBhayIsICJi
dWlsZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1kaWUtd2l0aC1wYXJlbnQiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cyIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiLS10YWxrLW5hbWU9b3JnLmd0ay52ZnMiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIi0tdGFsay1uYW1lPW9yZy5ndGsudmZzLioiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0vcnVuL3NobT0vZGV2L3NobSIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFdvcmthcm91bmQgZm9yIGh0dHBzOi8vd2Vi
a2l0Lm9yZy9iLzE4NzM4NCB0byBoYXZlIG91ciBvd24gcGVybCBtb2R1bGVzIHVzYWJsZSBpbnNp
ZGUgdGhlIHNhbmRib3gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICMgYXMgc2V0dGluZyB0
aGUgUEVSTDVMSUIgZW52dmFyIHdvbid0IHdvcmsgaW5zaWRlIGFwYWNoZSAoYW5kIGZvciBzY3Jp
cHRzIHVzaW5nIGBwZXJsIC1UYGApLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tYmlu
ZC1tb3VudD0vcnVuL2hvc3QvJXM9JXMiICUgKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwgdGVtcGZp
bGUuZ2V0dGVtcGRpcigpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91
bnQ9JXM9JXMiICUgKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgc2VsZi5zb3VyY2Vfcm9vdCks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFdlIG1vdW50IFdlYktpdEJ1aWxkL1BPUlRO
QU1FL0J1aWxkVHlwZSB0byAvYXBwL3dlYmtpdC9XZWJLaXRCdWlsZC9CdWlsZFR5cGUKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICMgc28gd2UgY2FuIGJ1aWxkIFdQRSBhbmQgR1RLIGluIGEg
c2FtZSBzb3VyY2UgdHJlZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91
bnQ9JXM9JXMiICUgKHNhbmRib3hfYnVpbGRfcGF0aCwgc2VsZi5idWlsZF9wYXRoKV0KKworICAg
ICAgICBmb3J3YXJkZWQgPSB7CisgICAgICAgICAgICAiV0VCS0lUX1RPUF9MRVZFTCI6ICIvYXBw
LyIsCisgICAgICAgICAgICAiVEVTVF9SVU5ORVJfSU5KRUNURURfQlVORExFX0ZJTEVOQU1FIjog
b3MucGF0aC5qb2luKHNhbmRib3hfYnVpbGRfcGF0aCwgImxpYi9saWJUZXN0UnVubmVySW5qZWN0
ZWRCdW5kbGUuc28iKSwKKyAgICAgICAgICAgICJJQ0VDQ19WRVJTSU9OIjogc2VsZi5pY2NfdmVy
c2lvbiwKKyAgICAgICAgfQorCisgICAgICAgIGlmIG5vdCBidWlsZGluZzoKKyAgICAgICAgICAg
IGZsYXRwYWtfY29tbWFuZC5leHRlbmQoWwogICAgICAgICAgICAgICAgICItLXRhbGstbmFtZT1v
cmcuYTExeS5CdXMiLAotICAgICAgICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuZ3RrLnZmcyIs
Ci0gICAgICAgICAgICAgICAgIi0tdGFsay1uYW1lPW9yZy5ndGsudmZzLioiLAotICAgICAgICAg
ICAgICAgICMgV2UgbW91bnQgV2ViS2l0QnVpbGQvUE9SVE5BTUUvQnVpbGRUeXBlIHRvIC9hcHAv
d2Via2l0L1dlYktpdEJ1aWxkL0J1aWxkVHlwZQotICAgICAgICAgICAgICAgICMgc28gd2UgY2Fu
IGJ1aWxkIFdQRSBhbmQgR1RLIGluIGEgc2FtZSBzb3VyY2UgdHJlZS4KLSAgICAgICAgICAgICAg
ICAiLS1iaW5kLW1vdW50PSVzPSVzIiAlIChzYW5kYm94X2J1aWxkX3BhdGgsIHNlbGYuYnVpbGRf
cGF0aCldCi0KLSAgICAgICAgICAgIGZvcndhcmRlZCA9IHsKLSAgICAgICAgICAgICAgICAiV0VC
S0lUX1RPUF9MRVZFTCI6ICIvYXBwLyIsCi0gICAgICAgICAgICAgICAgIlRFU1RfUlVOTkVSX0lO
SkVDVEVEX0JVTkRMRV9GSUxFTkFNRSI6ICIvYXBwL3dlYmtpdC9saWIvbGliVGVzdFJ1bm5lcklu
amVjdGVkQnVuZGxlLnNvIiwKLSAgICAgICAgICAgICAgICAiSUNFQ0NfVkVSU0lPTiI6IHNlbGYu
aWNjX3ZlcnNpb24sCi0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGVudl92YXJfcHJlZml4
ZXNfdG9fa2VlcCA9IFsKLSAgICAgICAgICAgICAgICAiR1NUIiwKLSAgICAgICAgICAgICAgICAi
R1RLIiwKLSAgICAgICAgICAgICAgICAiRyIsCi0gICAgICAgICAgICAgICAgIkpTQyIsCi0gICAg
ICAgICAgICAgICAgIldFQktJVCIsCi0gICAgICAgICAgICAgICAgIldFQktJVDIiLAotICAgICAg
ICAgICAgICAgICJXUEUiLAotICAgICAgICAgICAgICAgICJHSUdBQ0FHRSIsCi0gICAgICAgICAg
ICBdCi0KLSAgICAgICAgICAgIGVudl92YXJzX3RvX2tlZXAgPSBbCi0gICAgICAgICAgICAgICAg
IkphdmFTY3JpcHRDb3JlVXNlSklUIiwKLSAgICAgICAgICAgICAgICAiTWFsbG9jIiwKLSAgICAg
ICAgICAgICAgICAiV0FZTEFORF9ESVNQTEFZIiwKLSAgICAgICAgICAgICAgICAiV0FZTEFORF9T
T0NLRVQiLAotICAgICAgICAgICAgICAgICJESVNQTEFZIiwKLSAgICAgICAgICAgICAgICAiTEFO
RyIsCi0gICAgICAgICAgICAgICAgIk5VTUJFUl9PRl9QUk9DRVNTT1JTIiwKLSAgICAgICAgICAg
ICAgICAiQ0NBQ0hFX1BSRUZJWCIsCi0gICAgICAgICAgICAgICAgIlFNTDJfSU1QT1JUX1BBVEgi
LAotICAgICAgICAgICAgXQorICAgICAgICAgICAgICAgICItLXNvY2tldD13YXlsYW5kIiwKKyAg
ICAgICAgICAgICAgICAiLS1zb2NrZXQ9cHVsc2VhdWRpbyIsCisgICAgICAgICAgICAgICAgIi0t
c29ja2V0PXgxMSIsCisgICAgICAgICAgICAgICAgIi0tc29ja2V0PXdheWxhbmQiLAorICAgICAg
ICAgICAgICAgICItLXNvY2tldD1zeXN0ZW0tYnVzIiwKKyAgICAgICAgICAgICAgICAiLS1zb2Nr
ZXQ9cHVsc2VhdWRpbyIsCisgICAgICAgICAgICAgICAgIi0tZGV2aWNlPWRyaSIsCisgICAgICAg
ICAgICAgICAgIi0tZGV2aWNlPWFsbCIsCisgICAgICAgICAgICAgICAgIi0tc2hhcmU9aXBjIiwK
KyAgICAgICAgICAgICAgICAiLS1zaGFyZT1uZXR3b3JrIiwKKyAgICAgICAgICAgICAgICAiLS1z
eXN0ZW0tdGFsay1uYW1lPW9yZy5mcmVlZGVza3RvcC5HZW9DbHVlMiIsCisgICAgICAgICAgICAg
ICAgIi0tc3lzdGVtLXRhbGstbmFtZT1vcmcuYTExeS5CdXMiLAorICAgICAgICAgICAgICAgICIt
LWZpbGVzeXN0ZW09aG9zdCIsCisgICAgICAgICAgICAgICAgIi0tdGFsay1uYW1lPW9yZy5mcmVl
ZGVza3RvcC5GbGF0cGFrIgorICAgICAgICAgICAgXSkKKworICAgICAgICAgICAgZm9yd2FyZGVk
LnVwZGF0ZSh7CisgICAgICAgICAgICAgICAgIlRaIjogIlBTVDhQRFQiLAorICAgICAgICAgICAg
ICAgICJMQU5HIjogImVuX1VTLlVURi04IgorICAgICAgICAgICAgfSkKKyAgICAgICAgZWxzZToK
KyAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCItLXByZWZpeD0vYXBwIikKIAogICAgICAgICAgICAg
aWYgc2VsZi51c2VfaWNlY3JlYW06CiAgICAgICAgICAgICAgICAgX2xvZy5kZWJ1ZygnRW5hYmxp
bmcgdGhlIGljZWNyZWFtIGNvbXBpbGVyJykKQEAgLTc4Myw0MSArNjg4LDUzIEBAIGNsYXNzIFdl
YmtpdEZsYXRwYWs6CiAgICAgICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoJ0ZvbGxvdyBpY2Vj
cmVhbSByZWNvbW1lbmRhdGlvbiBmb3IgdGhlIG51bWJlciBvZiBjb3JlcyB0byB1c2U6ICVkJyAl
IG5fY29yZXMpCiAgICAgICAgICAgICAgICAgICAgIGZvcndhcmRlZFsiTlVNQkVSX09GX1BST0NF
U1NPUlMiXSA9IG5fY29yZXMKIAotICAgICAgICAgICAgZW52X3ZhcnMgPSBvcy5lbnZpcm9uCi0g
ICAgICAgICAgICBlbnZfdmFycy51cGRhdGUoZXh0cmFfZW52X3ZhcnMpCi0gICAgICAgICAgICBm
b3IgZW52dmFyLCB2YWx1ZSBpbiBlbnZfdmFycy5pdGVtcygpOgotICAgICAgICAgICAgICAgIGlm
IGVudnZhci5zcGxpdCgiXyIpWzBdIGluIGVudl92YXJfcHJlZml4ZXNfdG9fa2VlcCBvciBlbnZ2
YXIgaW4gZW52X3ZhcnNfdG9fa2VlcDoKLSAgICAgICAgICAgICAgICAgICAgZm9yd2FyZGVkW2Vu
dnZhcl0gPSB2YWx1ZQotCi0gICAgICAgICAgICBmb3IgZW52dmFyLCB2YWx1ZSBpbiBmb3J3YXJk
ZWQuaXRlbXMoKToKLSAgICAgICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQuYXBwZW5kKCItLWVu
dj0lcz0lcyIgJSAoZW52dmFyLCB2YWx1ZSkpCisgICAgICAgIGVudl92YXJfcHJlZml4ZXNfdG9f
a2VlcCA9IFsKKyAgICAgICAgICAgICJHU1QiLAorICAgICAgICAgICAgIkdUSyIsCisgICAgICAg
ICAgICAiRyIsCisgICAgICAgICAgICAiSlNDIiwKKyAgICAgICAgICAgICJXRUJLSVQiLAorICAg
ICAgICAgICAgIldFQktJVDIiLAorICAgICAgICAgICAgIldQRSIsCisgICAgICAgICAgICAiR0lH
QUNBR0UiLAorICAgICAgICBdCisKKyAgICAgICAgZW52X3ZhcnNfdG9fa2VlcCA9IFsKKyAgICAg
ICAgICAgICJKYXZhU2NyaXB0Q29yZVVzZUpJVCIsCisgICAgICAgICAgICAiTWFsbG9jIiwKKyAg
ICAgICAgICAgICJXQVlMQU5EX0RJU1BMQVkiLAorICAgICAgICAgICAgIldBWUxBTkRfU09DS0VU
IiwKKyAgICAgICAgICAgICJESVNQTEFZIiwKKyAgICAgICAgICAgICJMQU5HIiwKKyAgICAgICAg
ICAgICJOVU1CRVJfT0ZfUFJPQ0VTU09SUyIsCisgICAgICAgICAgICAiQ0NBQ0hFX1BSRUZJWCIs
CisgICAgICAgICAgICAiUU1MMl9JTVBPUlRfUEFUSCIsCisgICAgICAgIF0KKworICAgICAgICBl
bnZfdmFycyA9IG9zLmVudmlyb24KKyAgICAgICAgZW52X3ZhcnMudXBkYXRlKGV4dHJhX2Vudl92
YXJzKQorICAgICAgICBmb3IgZW52dmFyLCB2YWx1ZSBpbiBlbnZfdmFycy5pdGVtcygpOgorICAg
ICAgICAgICAgaWYgZW52dmFyLnNwbGl0KCJfIilbMF0gaW4gZW52X3Zhcl9wcmVmaXhlc190b19r
ZWVwIG9yIGVudnZhciBpbiBlbnZfdmFyc190b19rZWVwOgorICAgICAgICAgICAgICAgIGZvcndh
cmRlZFtlbnZ2YXJdID0gdmFsdWUKKworICAgICAgICBmb3IgZW52dmFyLCB2YWx1ZSBpbiBmb3J3
YXJkZWQuaXRlbXMoKToKKyAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZC5hcHBlbmQoIi0tZW52
PSVzPSVzIiAlIChlbnZ2YXIsIHZhbHVlKSkKKworICAgICAgICBnc3RfZW52ID0gW10KKyAgICAg
ICAgaWYgbm90IGt3YXJncy5nZXQoJ2J1aWxkaW5nX2dzdCcpOgorICAgICAgICAgICAgZ3N0X2Vu
diA9IHNlbGYuc2V0dXBfZ3N0YnVpbGQoYnVpbGRpbmcpCisgICAgICAgIGZsYXRwYWtfY29tbWFu
ZCArPSBzZWxmLmZpbmlzaF9hcmdzICsgZXh0cmFfZmxhdHBha19hcmdzICsgXAorICAgICAgICAg
ICAgW3NlbGYuZmxhdHBha19idWlsZF9wYXRoXSArIGdzdF9lbnYgKyBhcmdzCisKKyAgICAgICAg
X2xvZy5kZWJ1ZygnUnVubmluZyBpbiBzYW5kYm94OiAlc1xuJyAlICcgJy5qb2luKGZsYXRwYWtf
Y29tbWFuZCkpCiAKLSAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZCArPSBzZWxmLmZpbmlzaF9h
cmdzICsgZXh0cmFfZmxhdHBha19hcmdzICsgW3NlbGYuZmxhdHBha19idWlsZF9wYXRoXQotCi0g
ICAgICAgICAgICBzaGVsbF9zdHJpbmcgPSAiIgotICAgICAgICAgICAgaWYgYXJnczoKLSAgICAg
ICAgICAgICAgICBpZiBjd2Q6Ci0gICAgICAgICAgICAgICAgICAgIHNoZWxsX3N0cmluZyA9ICdj
ZCAiJXMiICYmICIlcyInICUgKGN3ZCwgJyIgIicuam9pbihhcmdzKSkKLSAgICAgICAgICAgICAg
ICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBzaGVsbF9zdHJpbmcgPSAnIiVzIicgJSAoJyIg
Iicuam9pbihhcmdzKSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2hlbGxf
c3RyaW5nID0gc2VsZi5jb21tYW5kCi0gICAgICAgICAgICAgICAgaWYgc2VsZi5hcmdzOgotICAg
ICAgICAgICAgICAgICAgICBzaGVsbF9zdHJpbmcgKz0gJyAiJXMiJyAlICciICInLmpvaW4oc2Vs
Zi5hcmdzKQotCi0gICAgICAgICAgICB0bXBzY3JpcHQud3JpdGUoc2hlbGxfc3RyaW5nKQotICAg
ICAgICAgICAgdG1wc2NyaXB0LmZsdXNoKCkKLQotICAgICAgICAgICAgX2xvZy5kZWJ1ZygnUnVu
bmluZyBpbiBzYW5kYm94OiAiJXMiICVzXG4nICUgKCciICInLmpvaW4oZmxhdHBha19jb21tYW5k
KSwgc2hlbGxfc3RyaW5nKSkKLSAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZC5leHRlbmQoWydz
aCcsICIvcnVuL2hvc3QvIiArIHRtcHNjcmlwdC5uYW1lXSkKLQotICAgICAgICAgICAgdHJ5Ogot
ICAgICAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChmbGF0cGFrX2NvbW1hbmQsIHN0
ZG91dD1zdGRvdXQpCi0gICAgICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNz
RXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKHN0cihlKSArICJc
biIpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGUucmV0dXJuY29kZQotICAgICAgICAgICAgZXhj
ZXB0IEtleWJvYXJkSW50ZXJydXB0OgotICAgICAgICAgICAgICAgIHJldHVybiAwCisgICAgICAg
IHRyeToKKyAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChmbGF0cGFrX2NvbW1hbmQs
IHN0ZG91dD1zdGRvdXQpCisgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NF
cnJvciBhcyBlOgorICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZShzdHIoZSkgKyAiXG4iKQor
ICAgICAgICAgICAgcmV0dXJuIGUucmV0dXJuY29kZQorICAgICAgICBleGNlcHQgS2V5Ym9hcmRJ
bnRlcnJ1cHQ6CisgICAgICAgICAgICByZXR1cm4gMAogCiAgICAgICAgIHJldHVybiAwCiAKQEAg
LTgzNSw2NCArNzUyLDQxIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgICAgICAgICAg
c2h1dGlsLnJtdHJlZShzZWxmLmJ1aWxkX3BhdGgpCiAKICAgICAgICAgaWYgc2VsZi51cGRhdGU6
Ci0gICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIlVwZGF0aW5nIEZsYXRwYWsgZW52aXJvbm1l
bnQgZm9yICVzICglcykiICUgKAotICAgICAgICAgICAgICAgIHNlbGYucGxhdGZvcm0sIHNlbGYu
YnVpbGRfdHlwZSkpCisgICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIlVwZGF0aW5nIEZsYXRw
YWsgJXMgZW52aXJvbm1lbnQiICUgc2VsZi5idWlsZF90eXBlKQogICAgICAgICAgICAgaWYgbm90
IHNlbGYubm9fZmxhdHBha191cGRhdGU6CiAgICAgICAgICAgICAgICAgc2VsZi51cGRhdGVfYWxs
KCkKIAogICAgICAgICByZXR1cm4gc2VsZi5zZXR1cF9kZXZfZW52KCkKIAogICAgIGRlZiBoYXNf
ZW52aXJvbm1lbnQoc2VsZik6Ci0gICAgICAgIHJldHVybiBvcy5wYXRoLmV4aXN0cyhvcy5wYXRo
LmpvaW4oc2VsZi5idWlsZF9wYXRoLCBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkpCisgICAgICAg
IHJldHVybiBvcy5wYXRoLmV4aXN0cyhzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkKIAogICAgIGRl
ZiBzYXZlX2NvbmZpZyhzZWxmKToKICAgICAgICAgd2l0aCBvcGVuKHNlbGYuY29uZmlnX2ZpbGUs
ICd3JykgYXMgY29uZmlnOgogICAgICAgICAgICAganNvbl9jb25maWcgPSB7J2ljZWNjX3ZlcnNp
b24nOiBzZWxmLmljY192ZXJzaW9ufQogICAgICAgICAgICAganNvbi5kdW1wKGpzb25fY29uZmln
LCBjb25maWcpCiAKLSAgICBkZWYgc2V0dXBfY2NhY2hlKHNlbGYpOgotICAgICAgICBmb3IgY29t
cGlsZXIgaW4gWyJjKysiLCAiY2MiLCAiY2xhbmciLCAiY2xhbmcrKyIsICJnKysiLCAiZ2NjIl06
Ci0gICAgICAgICAgICBzZWxmLnJ1bl9pbl9zYW5kYm94KCJsbiIsICItcyIsICIuLi8uLi91c3Iv
YmluL2NjYWNoZSIsIGNvbXBpbGVyLCBjd2Q9Ii9hcHAvYmluIikKLQogICAgIGRlZiBzZXR1cF9p
Y2VjYyhzZWxmKToKICAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBh
cyB0bXBmaWxlOgotICAgICAgICAgICAgc2VsZi5ydW5faW5fc2FuZGJveCgnaWNlY2MnLCAnLS1i
dWlsZC1uYXRpdmUnLCBzdGRvdXQ9dG1wZmlsZSwgY3dkPXNlbGYuYnVpbGRfcGF0aCkKKyAgICAg
ICAgICAgIHNlbGYucnVuX2luX3NhbmRib3goJ2ljZWNjJywgJy0tYnVpbGQtbmF0aXZlJywgc3Rk
b3V0PXRtcGZpbGUsIGN3ZD1zZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkKICAgICAgICAgICAgIHRt
cGZpbGUuZmx1c2goKQogICAgICAgICAgICAgdG1wZmlsZS5zZWVrKDApCiAgICAgICAgICAgICBp
Y2NfdmVyc2lvbl9maWxlbmFtZSwgPSByZS5maW5kYWxsKHInLipjcmVhdGluZyAoLiopJywgdG1w
ZmlsZS5yZWFkKCkpCi0gICAgICAgICAgICBzZWxmLmljY192ZXJzaW9uID0gb3MucGF0aC5qb2lu
KHNlbGYuYnVpbGRfcGF0aCwgaWNjX3ZlcnNpb25fZmlsZW5hbWUpCisgICAgICAgICAgICBzZWxm
LmljY192ZXJzaW9uID0gb3MucGF0aC5qb2luKHNlbGYuZmxhdHBha19idWlsZF9wYXRoLCBpY2Nf
dmVyc2lvbl9maWxlbmFtZSkKIAogICAgIGRlZiBzZXR1cF9kZXZfZW52KHNlbGYpOgotICAgICAg
ICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYuYnVpbGRfcGF0aCwgc2Vs
Zi5mbGF0cGFrX2J1aWxkX3BhdGgpKSBcCi0gICAgICAgICAgICAgICAgb3Igc2VsZi51cGRhdGUg
b3Igc2VsZi5idWlsZF9hbGw6CisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRo
LmpvaW4oc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsICJydW50aW1lIiwgIm9yZy53ZWJraXQuU2Rr
IikpIG9yIHNlbGYudXBkYXRlIG9yIHNlbGYuYnVpbGRfYWxsOgogICAgICAgICAgICAgc2VsZi5p
bnN0YWxsX2FsbCgpCi0gICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIkJ1aWxkaW5nICVzIGFu
ZCBkZXBlbmRlbmNpZXMgaW4gJXMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu
bmFtZSwgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgpCi0KLSAgICAgICAgICAgICMgQ3JlYXRlIGVu
dmlyb25tZW50IGRpcnMgaWYgbmVjZXNzYXJ5Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAg
ICAgICAgb3MubWFrZWRpcnMob3MucGF0aC5kaXJuYW1lKHNlbGYubWFuaWZlc3RfZ2VuZXJhdGVk
X3BhdGgpKQotICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAg
ICBpZiBlLmVycm5vICE9IGVycm5vLkVFWElTVDoKLSAgICAgICAgICAgICAgICAgICAgcmFpc2Ug
ZQotICAgICAgICAgICAgaWYgbm90IGV4cGFuZF9tYW5pZmVzdChzZWxmLm1hbmlmZXN0X3BhdGgs
IHNlbGYubWFuaWZlc3RfZ2VuZXJhdGVkX3BhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNlbGYubmFtZSwgc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCBzZWxmLmNvbW1h
bmQpOgotICAgICAgICAgICAgICAgIHJldHVybiAxCi0KLSAgICAgICAgICAgIGJ1aWxkZXJfYXJn
cyA9IFsiZmxhdHBhay1idWlsZGVyIiwgIi0tZGlzYWJsZS1yb2ZpbGVzLWZ1c2UiLCAiLS1zdGF0
ZS1kaXIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuY2FjaGVfcGF0aCwgIi0t
Y2NhY2hlIiwgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsICItLWZvcmNlLWNsZWFuIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm1hbmlmZXN0X2dlbmVyYXRlZF9wYXRoXQotICAg
ICAgICAgICAgYnVpbGRlcl9hcmdzLmFwcGVuZCgiLS1idWlsZC1vbmx5IikKLSAgICAgICAgICAg
IGJ1aWxkZXJfYXJncy5hcHBlbmQoIi0tc3RvcC1hdD0lcyIgJSBzZWxmLmFwcCkKLQotICAgICAg
ICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGJ1aWxkZXJfYXJncykKLSAgICAgICAgICAgIHNl
bGYuc2V0dXBfY2NhY2hlKCkKICAgICAgICAgICAgIHNlbGYuc2V0dXBfaWNlY2MoKQogICAgICAg
ICAgICAgc2VsZi5zYXZlX2NvbmZpZygpCiAKICAgICAgICAgYnVpbGRfdHlwZSA9ICItLWRlYnVn
IiBpZiBzZWxmLmRlYnVnIGVsc2UgIi0tcmVsZWFzZSIKKyAgICAgICAgaWYgc2VsZi5idWlsZF9n
c3Q6CisgICAgICAgICAgICBzZWxmLnNldHVwX2dzdGJ1aWxkKFRydWUpCisKICAgICAgICAgaWYg
c2VsZi5idWlsZF93ZWJraXQ6Ci0gICAgICAgICAgICBidWlsZGVyID0gW29zLnBhdGguam9pbihz
ZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsICdUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdCcpLAor
ICAgICAgICAgICAgYnVpbGRlciA9IFsKKyAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oc2Vs
Zi5zYW5kYm94X3NvdXJjZV9yb290LCAnVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQnKSwKICAg
ICAgICAgICAgICAgICBidWlsZF90eXBlLCAnLS0nICsgc2VsZi5wbGF0Zm9ybS5sb3dlcigpXQog
ICAgICAgICAgICAgaWYgc2VsZi5tYWtlYXJnczoKICAgICAgICAgICAgICAgICBidWlsZGVyLmFw
cGVuZCgiLS1tYWtlYXJncz0lcyIgJSBzZWxmLm1ha2VhcmdzKQpAQCAtOTAzLDIzICs3OTcsMjIg
QEAgY2xhc3MgV2Via2l0RmxhdHBhazoKIAogICAgICAgICAgICAgaWYgcmVzOgogICAgICAgICAg
ICAgICAgIHJldHVybiByZXMKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIENvbnNvbGUubWVz
c2FnZSgiVXNpbmcgJXMgcHJlZml4IGluICVzIiwgc2VsZi5uYW1lLCBzZWxmLmZsYXRwYWtfYnVp
bGRfcGF0aCkKIAogICAgICAgICBpZiBzZWxmLnJ1bl90ZXN0cyBpcyBub3QgTm9uZToKICAgICAg
ICAgICAgIHRlc3RfbGF1bmNoZXIgPSBbb3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vf
cm9vdCwgJ1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cycpLAotICAgICAgICAgICAgICAg
IGJ1aWxkX3R5cGUsICctLScgKyBzZWxmLnBsYXRmb3JtLmxvd2VyKCldICsgc2VsZi5ydW5fdGVz
dHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRfdHlwZSwgJy0tJyArIHNlbGYu
cGxhdGZvcm0ubG93ZXIoKV0gKyBzZWxmLnJ1bl90ZXN0cwogICAgICAgICAgICAgcmV0dXJuIHNl
bGYucnVuX2luX3NhbmRib3goKnRlc3RfbGF1bmNoZXIpCi0gICAgICAgIGVsaWYgc2VsZi5nZGIg
aXMgbm90IE5vbmU6CisgICAgICAgIGVsaWYgc2VsZi5nZGIgb3Igc2VsZi5nZGJfc3RhY2tfdHJh
Y2U6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5fZ2RiKCkKICAgICAgICAgZWxpZiBzZWxm
LnVzZXJfY29tbWFuZDoKICAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1bl9pbl9zYW5kYm94KCpz
ZWxmLnVzZXJfY29tbWFuZCkKLSAgICAgICAgZWxpZiBub3Qgc2VsZi51cGRhdGUgYW5kIG5vdCBz
ZWxmLmJ1aWxkX3dlYmtpdDoKKyAgICAgICAgZWxpZiBub3Qgc2VsZi51cGRhdGUgYW5kIG5vdCBz
ZWxmLmJ1aWxkX3dlYmtpdCBhbmQgbm90IHNlbGYuYnVpbGRfZ3N0OgogICAgICAgICAgICAgcmV0
dXJuIHNlbGYucnVuX2luX3NhbmRib3goKQogCiAgICAgICAgIHJldHVybiAwCiAKICAgICBkZWYg
aW5zdGFsbF9hbGwoc2VsZik6CisgICAgICAgIENvbnNvbGUubWVzc2FnZSgiSW5zdGFsbGluZyAl
cyBkZXBlbmRlbmNpZXMgaW4gJXMiLCBzZWxmLmJ1aWxkX3R5cGUsIHNlbGYuZmxhdHBha19idWls
ZF9wYXRoKQogICAgICAgICBmb3IgcGFja2FnZSBpbiBzZWxmLnBhY2tzOgogICAgICAgICAgICAg
aWYgbm90IHBhY2thZ2UuaXNfaW5zdGFsbGVkKHNlbGYuc2RrX2JyYW5jaCk6CiAgICAgICAgICAg
ICAgICAgcGFja2FnZS5pbnN0YWxsKCkKQEAgLTkzNSwxOSArODI4LDMwIEBAIGNsYXNzIFdlYmtp
dEZsYXRwYWs6CiAgICAgICAgICMgV2UgbmVlZCBhY2Nlc3MgdG8gdGhlIGhvc3QgZnJvbSB0aGUg
c2FuZGJveCB0byBydW4uCiAgICAgICAgIHdpdGggdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxl
KCkgYXMgY29yZWR1bXA6CiAgICAgICAgICAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5
RmlsZSgpIGFzIHN0ZGVycjoKLSAgICAgICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwo
WyJjb3JlZHVtcGN0bCIsICJkdW1wIl0gKyBzaGxleC5zcGxpdChzZWxmLmNvcmVkdW1wY3RsX21h
dGNoZXMpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9Y29y
ZWR1bXAsIHN0ZGVycj1zdGRlcnIpCisgICAgICAgICAgICAgICAgaWYgc2VsZi5nZGJfc3RhY2tf
dHJhY2U6CisgICAgICAgICAgICAgICAgICAgIGNtZCA9IFsiY29yZWR1bXBjdGwiLCAiLS1zaW5j
ZT0lcyIgJSBzZWxmLmdkYl9zdGFja190cmFjZSwgImR1bXAiXQorICAgICAgICAgICAgICAgIGVs
c2U6CisgICAgICAgICAgICAgICAgICAgIGNtZCA9IFsiY29yZWR1bXBjdGwiLCAiZHVtcCJdICsg
c2hsZXguc3BsaXQoc2VsZi5jb3JlZHVtcGN0bF9tYXRjaGVzKQorICAgICAgICAgICAgICAgIHRy
eToKKyAgICAgICAgICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGNtZCwgc3Rkb3V0
PWNvcmVkdW1wLCBzdGRlcnI9c3RkZXJyKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBzdWJwcm9j
ZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlcnI6CisgICAgICAgICAgICAgICAgICAgIHdpdGgg
b3BlbihzdGRlcnIubmFtZSwgJ3InKSBhcyBzdGRlcnJmOgorICAgICAgICAgICAgICAgICAgICAg
ICAgc3RkZXJyID0gc3RkZXJyZi5yZWFkKCkKKyAgICAgICAgICAgICAgICAgICAgY21kID0gJyAn
LmpvaW4oZXJyLmNtZCkKKyAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiJyVz
JyByZXR1cm5lZCBhIG5vbi16ZXJvIGV4aXQgY29kZS4gU3RkZXJyOiAlcyIgJSAoY21kLCBzdGRl
cnIpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXJyLnJldHVybmNvZGUKIAogICAgICAg
ICAgICAgICAgIHdpdGggb3BlbihzdGRlcnIubmFtZSwgJ3InKSBhcyBzdGRlcnJmOgogICAgICAg
ICAgICAgICAgICAgICBzdGRlcnIgPSBzdGRlcnJmLnJlYWQoKQorCiAgICAgICAgICAgICAgICAg
ZXhlY3V0YWJsZSwgPSByZS5maW5kYWxsKCIuKkV4ZWN1dGFibGU6ICguKikiLCBzdGRlcnIpCi0g
ICAgICAgICAgICAgICAgaWYgbm90IGV4ZWN1dGFibGUuc3RhcnRzd2l0aCgiL25ld3Jvb3QiKToK
LSAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiRXhlY3V0YWJsZSAlcyBkb2Vz
bid0IHNlZW0gdG8gYmUgYSBmbGF0cGFrZWQgYXBwbGljYXRpb24uXG4iICUgZXhlY3V0YWJsZSkK
IAotICAgICAgICAgICAgICAgIGV4ZWN1dGFibGUgPSBleGVjdXRhYmxlLnJlcGxhY2UoIi9uZXdy
b290IiwgIiIpCi0gICAgICAgICAgICAgICAgYXJncyA9IFsiZ2RiIiwgZXhlY3V0YWJsZSwgIi9y
dW4vaG9zdC8lcyIgJSBjb3JlZHVtcC5uYW1lXSArIHNobGV4LnNwbGl0KHNlbGYuZ2RiKQorICAg
ICAgICAgICAgICAgIGlmIHNlbGYuZ2RiOgorICAgICAgICAgICAgICAgICAgICBiYXJncyA9IFsi
Z2RiIiwgZXhlY3V0YWJsZSwgIi9ydW4vaG9zdC8lcyIgJSBjb3JlZHVtcC5uYW1lXSArIHNobGV4
LnNwbGl0KHNlbGYuZ2RiKQorICAgICAgICAgICAgICAgIGVsaWYgc2VsZi5nZGJfc3RhY2tfdHJh
Y2U6CisgICAgICAgICAgICAgICAgICAgIGJhcmdzID0gWyJnZGIiLCAnLWV4JywgInRocmVhZCBh
cHBseSBhbGwgYmFja3RyYWNlIiwgJy0tYmF0Y2gnLCBleGVjdXRhYmxlLCAiL3J1bi9ob3N0LyVz
IiAlIGNvcmVkdW1wLm5hbWVdCiAKLSAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5faW5f
c2FuZGJveCgqYXJncykKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5faW5fc2FuZGJv
eCgqYmFyZ3MpCiAKICAgICBkZWYgdXBkYXRlX2FsbChzZWxmKToKICAgICAgICAgZm9yIG0gaW4g
W3NlbGYucnVudGltZSwgc2VsZi5zZGssIHNlbGYuc2RrX2RlYnVnXToKZGlmZiAtLWdpdCBhL1Rv
b2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5Db21tb25Nb2R1bGVzLnlhbWwgYi9Ub29scy9mbGF0cGFr
L29yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBlMWEwN2NmODZmODNiNjg4MzNhNTcyODRlNDcyM2Y1MjJiNzNjNDBiLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndl
YmtpdC5Db21tb25Nb2R1bGVzLnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMzEgKzAsMCBAQAot
IyBodHRwIGFuZCBkZXBlbmRlbmNpZXMuCi0tIG5hbWU6IGFwcgotICBzb3VyY2VzOgotICAgIC0g
dHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL3d3dy5hcGFjaGUub3JnL2Rpc3QvYXBy
L2Fwci0xLjYuNS50YXIuYnoyCi0gICAgICBzaGEyNTY6IGE2N2NhOWZjZjljNGZmNTliY2U3ZjQy
OGEzMjNjOGI1ZTE4NjY3ZmRlYTdiMGViYWQ0N2QxOTQzNzFiMGExMDUKLS0gbmFtZTogYXByLXV0
aWwKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly93
d3cuYXBhY2hlLm9yZy9kaXN0L2Fwci9hcHItdXRpbC0xLjYuMS50YXIuYnoyCi0gICAgICBzaGE1
MTI6ICI0MGVmZjhhMzdjMDYzNGY3ZmRkZGQ2Y2E1ZTU5NmIzOGRlMTVmZDEwNzY3YTM0YzMwYmJl
NDljNjMyODE2ZThmM2UxZTIzMDY3ODAzNGY1NzhkZDU4MTZhOTRmMjQ2ZmI1ZGZkZjQ4ZDY0NDgy
OWFmMTNiZjI4ZGUzMjI1MjA1ZCIKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLXdpdGgtYXByPS9h
cHAvYmluL2Fwci0xLWNvbmZpZwotLSBuYW1lOiBodHRwZAotICBzb3VyY2VzOgotICAgIC0gdHlw
ZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9hcGFjaGUvaHR0cGQuZ2l0Ci0g
ICAgICBicmFuY2g6IDIuNC4zNwotICAgIC0gdHlwZSA6IGZpbGUKLSAgICAgIHBhdGggOiBmaWxl
cy9odHRwZC1hdXRvZ2VuLnNoCi0gICAgICBkZXN0LWZpbGVuYW1lIDogYXV0b2dlbi5zaAotICAg
ICMgVGhlIHZlcnNpb24gZW1iZWRkZWQgaW4gdGhlIHNhbmRib3ggZG9lc24ndCBoYXZlIGEgd29y
a2luZyBwY3JlLWNvbmZpZwotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IHBhdGNoZXMv
aHR0cGQtMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBh
dGNoCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1lbmFibGUtbXBtcy1zaGFyZWQ9YWxsCi0gICAg
LSAtLWVuYWJsZS1tb2R1bGVzPWFsbAotICAgIC0gLS13aXRoLWFwcj0vYXBwL2Jpbi9hcHItMS1j
b25maWcKLSAgICAtIC0td2l0aC1hcHItdXRpbD0vYXBwL2Jpbi9hcHUtMS1jb25maWcKLSAgICAt
IC0td2l0aC1wY3JlPS9hcHAKLSAgICAtIC0tZW5hYmxlLWF1dGhuei1mY2dpCi0gICAgLSAtLWVu
YWJsZS1jZ2kKLSAgICAtIC0tZW5hYmxlLWNnaWQKLS0gbmFtZTogcGhwCi0gIHNvdXJjZXM6Ci0g
ICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHBzOi8vcGhwLm5ldC9kaXN0cmlidXRp
b25zL3BocC03LjIuNi50YXIueHoKLSAgICAgIHNoYTUxMjogZGE4NmIxZmYyZGYzYjllMmQ0NmU1
OWE4MDI5NmI5NDBkODExMzI5NzViNjIxYmRlYzk2MDJmOGI0YzhkOTFhM2ZkY2Q0ZmZkN2NiOTgy
ZDYzZDNlYzk3NGIzYTEyYTc4NTRlNDJhNzNiN2YyY2M4ZWVmYWRlMTQzMzVhYTdjNzEKLSAgY29u
ZmlnLW9wdHM6Ci0gICAgLSAtLWRpc2FibGUteG1sCi0gICAgLSAtLWRpc2FibGUtZG9tCi0gICAg
LSAtLWRpc2FibGUtbGlieG1sCi0gICAgLSAtLWRpc2FibGUtc2ltcGxleG1sCi0gICAgLSAtLWRp
c2FibGUteG1scmVhZGVyCi0gICAgLSAtLWRpc2FibGUteG1sd3JpdGVyCi0gICAgLSAtLXdpdGhv
dXQtcGVhcgotICAgIC0gLS13aXRoLWFweHMyCi0gICAgLSAtLXdpdGgtemxpYgotICAgIC0gLS13
aXRoLWxpYnppcAotICAgIC0gLS1lbmFibGUtc29ja2V0cz1zaGFyZWQKLS0gbmFtZTogbGliZXZl
bnQKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1
Yi5jb20vbGliZXZlbnQvbGliZXZlbnQuZ2l0Ci0gICAgICBicmFuY2g6IGU3ZmY0ZWYgIyAyLjEu
OAotICBjb25maWctb3B0czoKLSAgICAtIC0tZGlzYWJsZS1saWJldmVudC1yZWdyZXNzCi0KLSMg
UmVxdWlyZW1lbnQgZm9yIGZsYXRwa3V0aWxzCi0tIG5hbWU6IHB5dGhvbjMtcHlhbWwKLSAgYnVp
bGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgLSBwaXAzIGluc3RhbGwgLS1u
by1pbmRleCAtLWZpbmQtbGlua3M9ImZpbGU6Ly8ke1BXRH0iIC0tcHJlZml4PSR7RkxBVFBBS19E
RVNUfSBweWFtbAotICBzb3VyY2VzOgotICAtIHR5cGU6IGZpbGUKLSAgICB1cmw6IGh0dHBzOi8v
ZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy80YS84NS9kYjVhMmRmNDc3MDcyYjI5MDJi
MGViODkyZmViMzdkODhhYzYzNWQzNjI0NWE3MmE2YTY5YjIzYjM4M2EvUHlZQU1MLTMuMTIudGFy
Lmd6Ci0gICAgc2hhMjU2OiA1OTI3NjZjNjMwMzIwN2EyMGVmYzQ0NTU4Nzc3ODMyMmQ3ZjczYjE2
MWJkOTk0ZjIyN2FkYWEzNDFiYTIxMmFiCi0gIC0gdHlwZTogZmlsZQotICAgIHVybDogaHR0cHM6
Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzllLzE3LzFkNGVkNmUxYTRjMDkxOGEw
MzU3ZGZhMmZkYmUyNmJmNjNmNmU2MTYwMTNjMDRhMTRiY2U5ZmQzM2U0MC9weWFtbC0xNy4xMi4x
LnRhci5negotICAgIHNoYTI1NjogNjY2MjNjNTJmMzRkODNhMmMwZmM5NjNlMDhlOGI5ZDBjMTNk
ODg0MDRlM2I0M2IxODUyZWY3MWVkYTE5YWZhMwotCi0tIG5hbWU6IHB5dGhvbjItcHlhbWwKLSAg
YnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgLSBwaXAyIGluc3RhbGwg
LS1uby1pbmRleCAtLWZpbmQtbGlua3M9ImZpbGU6Ly8ke1BXRH0iIC0tdGFyZ2V0PS9hcHAvbGli
L3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzLyBweWFtbAotICBzb3VyY2VzOgotICAtIHR5cGU6IGZp
bGUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy80YS84
NS9kYjVhMmRmNDc3MDcyYjI5MDJiMGViODkyZmViMzdkODhhYzYzNWQzNjI0NWE3MmE2YTY5YjIz
YjM4M2EvUHlZQU1MLTMuMTIudGFyLmd6Ci0gICAgc2hhMjU2OiA1OTI3NjZjNjMwMzIwN2EyMGVm
YzQ0NTU4Nzc3ODMyMmQ3ZjczYjE2MWJkOTk0ZjIyN2FkYWEzNDFiYTIxMmFiCi0gIC0gdHlwZTog
ZmlsZQotICAgIHVybDogaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzll
LzE3LzFkNGVkNmUxYTRjMDkxOGEwMzU3ZGZhMmZkYmUyNmJmNjNmNmU2MTYwMTNjMDRhMTRiY2U5
ZmQzM2U0MC9weWFtbC0xNy4xMi4xLnRhci5negotICAgIHNoYTI1NjogNjY2MjNjNTJmMzRkODNh
MmMwZmM5NjNlMDhlOGI5ZDBjMTNkODg0MDRlM2I0M2IxODUyZWY3MWVkYTE5YWZhMwotCi0tIG5h
bWU6IHB5dGhvbjItc3VicHJvY2VzczMyCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQt
Y29tbWFuZHM6Ci0gIC0gcGlwMiBpbnN0YWxsIC0tdGFyZ2V0PS9hcHAvbGliL3B5dGhvbjIuNy9z
aXRlLXBhY2thZ2VzLyAuCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogYXJjaGl2ZQotICAgIHVybDog
aHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzL2JlLzJiL2JlZWJhNTgzZTk4
NzdlNjRkYjEwYjUyYTk2OTE1YWZjMGZlYWJmNzE0NGRjYmYyYTBkMGVhNjhiZjczZC9zdWJwcm9j
ZXNzMzItMy41LjMudGFyLmd6Ci0gICAgc2hhMjU2OiA2YmM4Mjk5MjMxNmVlZjNjY2ZmMzE5YjUw
MzM4MDk4MDFjMGMzMzcyNzA5YzVmNjk4NTI5OWM4OGFjNzIyNWMzCi0KLSMgR1N0cmVhbWVyIG1v
ZHVsZXMKLS0gbmFtZTogbGlidnB4Ci0gIG5vLWF1dG9nZW46IHRydWUKLSAgc291cmNlczoKLSAg
ICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5j
b20vd2VibS9saWJ2cHgKLSAgICAgIGJyYW5jaDogdjEuNy4wCi0gIGNvbmZpZy1vcHRzOgotICAg
IC0gLS1lbmFibGUtcGljCi0gICAgLSAtLWFzPW5hc20KLSAgICAtIC0tZGlzYWJsZS11bml0LXRl
c3RzCi0gICAgLSAtLXNpemUtbGltaXQ9MTYzODR4MTYzODQKLSAgICAtIC0tZW5hYmxlLXBvc3Rw
cm9jCi0gICAgLSAtLWVuYWJsZS1tdWx0aS1yZXMtZW5jb2RpbmcKLSAgICAtIC0tZW5hYmxlLXRl
bXBvcmFsLWRlbm9pc2luZwotICAgIC0gLS1lbmFibGUtdnA5LXRlbXBvcmFsLWRlbm9pc2luZwot
ICAgIC0gLS1lbmFibGUtdnA5LXBvc3Rwcm9jCi0gICAgLSAtLWVuYWJsZS1zaGFyZWQKLS0gbmFt
ZTogYW9tCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9h
b21lZGlhLmdvb2dsZXNvdXJjZS5jb20vYW9tCi0gICAgICBicmFuY2g6IGNkYjA4M2U4NGE3MWQ2
ZDMxMTYzYTRmNjRmMThkYzEzMjhmZDc4MmMKLSAgYnVpbGRzeXN0ZW06IGNtYWtlLW5pbmphCi0g
IGJ1aWxkZGlyOiB0cnVlCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURCVUlMRF9TSEFSRURfTElC
Uz0xCi0tIG5hbWU6IGxpYnVud2luZAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAg
ICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9saWJ1bndpbmQvbGlidW53aW5kLmdpdAotICAgICAg
Y29tbWl0OiB2MS4yLjEKLS0gbmFtZTogbGlib3BlbmgyNjQKLSAgYnVpbGRzeXN0ZW06IG1lc29u
Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIu
Y29tL2Npc2NvL29wZW5oMjY0LmdpdAotICAgICAgYnJhbmNoOiBhMWIzZjA3YzUyNzFmMzEyOTk3
ZmNjMzQ1MTIzNzAzMTQ0NGM0NDc1ICMgMS44LjAgKyBmaXggZm9yIGdjYyA4Ci0tIG5hbWU6IGdz
dHJlYW1lcgotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdp
dAotICAgICAgdXJsOiBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dz
dHJlYW1lci5naXQKLSAgICAgIGJyYW5jaDogMS4xNi4xCi0gIGNvbmZpZy1vcHRzOgotICAgIC0g
LURndGtfZG9jPWRpc2FibGVkCi0gICAgLSAtRGludHJvc3BlY3Rpb249ZGlzYWJsZWQKLSAgICAt
IC1EZXhhbXBsZXM9ZGlzYWJsZWQKLSAgICAtIC1EdGVzdHM9ZGlzYWJsZWQKLS0gbmFtZTogZ3N0
LXBsdWdpbnMtYmFzZQotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoKLSAgICAtIHR5
cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvZ3N0cmVh
bWVyL2dzdC1wbHVnaW5zLWJhc2UuZ2l0Ci0gICAgICBicmFuY2g6IDEuMTYuMQotICAgIC0gdHlw
ZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2dzdHJlYW1lci9wYXRjaGVzL2Jhc2UtMDAwMS1wbGF5
YmluLUhhbmRsZS1lcnJvci1tZXNzYWdlLXdpdGgtcmVkaXJlY3Rpb24taW5kaWNhLnBhdGNoCi0g
ICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3N0cmVhbWVyL3BhdGNoZXMvYmFzZS0w
MDAxLWdsdXBsb2FkLUFkZC1WaWRlb01ldGFzLWFuZC1HTFN5bmNNZXRhLXRvLXRoZS1yYXctdXAu
cGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlzYWJsZWQKLSAgICAtIC1E
aW50cm9zcGVjdGlvbj1kaXNhYmxlZAotICAgIC0gLURleGFtcGxlcz1kaXNhYmxlZAotICAgIC0g
LUR0ZXN0cz1kaXNhYmxlZAotLSBuYW1lOiBnc3QtcGx1Z2lucy1nb29kCi0gIGJ1aWxkc3lzdGVt
OiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8v
Z2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtZ29vZC5naXQKLSAg
ICAgIGJyYW5jaDogMS4xNi4xCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3N0
cmVhbWVyL3BhdGNoZXMvZ29vZC0wMDAxLXF0ZGVtdXgtU3BlY2lmeS1SRURJUkVDVC1pbmZvcm1h
dGlvbi1pbi1lcnJvci1tZXNzYWcucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19k
b2M9ZGlzYWJsZWQKLSAgICAtIC1EaW50cm9zcGVjdGlvbj1kaXNhYmxlZAotICAgIC0gLURleGFt
cGxlcz1kaXNhYmxlZAotICAgIC0gLURndGszPWRpc2FibGVkCi0tIG5hbWU6IHgyNjQKLSAgY29u
ZmlnLW9wdHM6Ci0gICAgLSAiLS1lbmFibGUtc2hhcmVkIgotICAgIC0gIi0tZW5hYmxlLXN0YXRp
YyIKLSAgICAtICItLWVuYWJsZS1waWMiCi0gICAgLSAiLS1kaXNhYmxlLWxhdmYiCi0gICAgLSAi
LS1kaXNhYmxlLWFzbSIKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVy
bDogaHR0cDovL2Rvd25sb2FkLnZpZGVvbGFuLm9yZy9wdWIveDI2NC9zbmFwc2hvdHMveDI2NC1z
bmFwc2hvdC0yMDE0MDIxMi0yMjQ1LXN0YWJsZS50YXIuYnoyCi0gICAgICBzaGEyNTY6IDVkOThl
OWU0ZmFmNmRkNTVlNzE5M2VkMzc5YWZmNDc3YjhhY2JkYTY3Nzc3NTg5NTZlZjdlNWYwNTA2N2Jl
MTgKLS0gbmFtZTogZ3N0LXBsdWdpbnMtdWdseQotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291
cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRl
c2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtdWdseQotICAgICAgYnJhbmNoOiAx
LjE2LjAKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlzYWJsZWQKLS0gbmFtZTog
Z3N0LXBsdWdpbnMtYmFkCi0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0g
dHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9nc3Ry
ZWFtZXIvZ3N0LXBsdWdpbnMtYmFkLmdpdAotICAgICAgYnJhbmNoOiAxLjE2LjEKLSAgICAtIHR5
cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9nc3RyZWFtZXIvcGF0Y2hlcy9nc3QtcGx1Z2lucy1i
YWQtMDAwMS1oMjY0cGFyc2UtUG9zdC1hLVdBUk5JTkctd2hlbi1kYXRhLWlzLWJyb2tlbi5wYXRj
aAotICBjb25maWctb3B0czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotICAgIC0gLURpbnRy
b3NwZWN0aW9uPWRpc2FibGVkCi0gICAgLSAtRGV4YW1wbGVzPWRpc2FibGVkCi0tIG5hbWU6IGZm
bXBlZwotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczov
L2ZmbXBlZy5vcmcvcmVsZWFzZXMvZmZtcGVnLTQuMC40LnRhci5negotICAgICAgc2hhMjU2OiA4
MGJiNjg1YWJmY2RkYTdjOWI2YzljNWNhZjFkOGRiYjkyNzg1ODA1MGQ3Mzc3YzJiOGYzNDg4Yzdl
OGE5YjdmCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1lbmFibGUtc3RhdGljCi0gICAgLSAtLWVu
YWJsZS1waWMKLSAgICAtIC0tZGlzYWJsZS1hdmRldmljZQotICAgIC0gLS1kaXNhYmxlLXBvc3Rw
cm9jCi0gICAgLSAtLWRpc2FibGUtc3dzY2FsZQotICAgIC0gLS1kaXNhYmxlLXByb2dyYW1zCi0g
ICAgLSAtLWRpc2FibGUtZmZwbGF5Ci0gICAgLSAtLWRpc2FibGUtZmZwcm9iZQotICAgIC0gLS1k
aXNhYmxlLWZmbXBlZwotICAgIC0gLS1kaXNhYmxlLWVuY29kZXI9ZmxhYwotICAgIC0gLS1kaXNh
YmxlLXByb3RvY29scwotICAgIC0gLS1kaXNhYmxlLWRldmljZXMKLSAgICAtIC0tZGlzYWJsZS1u
ZXR3b3JrCi0gICAgLSAtLWRpc2FibGUtaHdhY2NlbHMKLSAgICAtIC0tZGlzYWJsZS1keHZhMgot
ICAgIC0gLS1kaXNhYmxlLXZkcGF1Ci0gICAgLSAtLWRpc2FibGUtZmlsdGVycwotICAgIC0gLS1l
bmFibGUtZmlsdGVyPXlhZGlmCi0gICAgLSAtLWRpc2FibGUtZG9jCi0gICAgLSAtLWRpc2FibGUt
ZDNkMTF2YQotICAgIC0gLS1kaXNhYmxlLWR4dmEyCi0gICAgLSAtLWRpc2FibGUtYXVkaW90b29s
Ym94Ci0gICAgLSAtLWRpc2FibGUtdmlkZW90b29sYm94Ci0gICAgLSAtLWRpc2FibGUtdmFhcGkK
LSAgICAtIC0tZGlzYWJsZS1jcnlzdGFsaGQKLSAgICAtIC0tZGlzYWJsZS1tZWRpYWNvZGVjCi0g
ICAgLSAtLWRpc2FibGUtbnZlbmMKLSAgICAtIC0tZGlzYWJsZS1tbWFsCi0gICAgLSAtLWRpc2Fi
bGUtb214Ci0gICAgLSAtLWRpc2FibGUtb214LXJwaQotICAgIC0gLS1kaXNhYmxlLWN1ZGEKLSAg
ICAtIC0tZGlzYWJsZS1jdXZpZAotICAgIC0gLS1kaXNhYmxlLWxpYm1meAotICAgIC0gLS1kaXNh
YmxlLWxpYm5wcAotICAgIC0gLS1kaXNhYmxlLWljb252Ci0gICAgLSAtLWRpc2FibGUtam5pCi0g
ICAgLSAtLWRpc2FibGUtdjRsMl9tMm0KLSAgICAtIC0tZW5hYmxlLW9wdGltaXphdGlvbnMKLS0g
bmFtZTogZ3N0LWxpYmF2Ci0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBidWlsZGRpcjogdHJ1ZQot
ICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL2dzdHJl
YW1lci5mcmVlZGVza3RvcC5vcmcvc3JjL2dzdC1saWJhdi9nc3QtbGliYXYtMS4xNi4xLnRhci54
egotICAgICAgc2hhMjU2OiBlOGE1NzQ4YWU5YTRhN2JlOTY5NjUxMjE4MmVhOWZmYTZlZmUwYmU5
Yjc5NzY5MTY1NDhlOWQ0MzgxY2E2MWM0Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9j
PWRpc2FibGVkCi0KLS0gbmFtZTogbGliZ2NyeXB0ICMgU3BlZWR1cCBsaWJnY3J5cHQKLSAgc291
cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Rldi5nbnVwZy5vcmcv
c291cmNlL2xpYmdjcnlwdC5naXQKLSAgICAgIGJyYW5jaDogbGliZ2NyeXB0LTEuOC40Ci0gICAg
LSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogcGF0Y2hlcy9saWJnY3J5cHQtMDAwMS1Vc2UtcGtn
LWNvbmZpZy10by1kZXRlY3QtZ3BnLWVycm9yLnBhdGNoCi0gICAgLSB0eXBlOiBwYXRjaAotICAg
ICAgcGF0aDogLi4vZ3RrL3BhdGNoZXMvbGliZ2NyeXB0LXVzZS1vbmx5LWRldi11cmFuZG9tLWZv
ci10ZXN0aW5nLnBhdGNoCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1kaXNhYmxlLWRvYwotCi0t
IG5hbWU6IHBlcmwtY2dpLXBtCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFu
ZHM6Ci0gICAgLSBwZXJsIE1ha2VmaWxlLlBMIFBSRUZJWD0vYXBwIExJQj0vYXBwL2xpYi9wZXJs
LwotICAgIC0gbWFrZSBpbnN0YWxsCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0g
ICAgICB1cmw6IGh0dHBzOi8vY3Bhbi5tZXRhY3Bhbi5vcmcvYXV0aG9ycy9pZC9ML0xFL0xFRUpP
L0NHSS00LjM4LnRhci5negotICAgICAgc2hhMjU2OiA4YzU4ZjRhNTI5YmI5MmE5MTRiMjJiN2U2
NGM1ZTMxMTg1Yzk4NTRhNDA3MGE2ZGZhZDQ0ZmU1Y2MyNDhlN2Q0Ci0KLS0gbmFtZTogcHl0aG9u
Mi12aXJ0dWFsZW52Ci0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0g
IC0gcGlwMiBpbnN0YWxsIC0tbm8taW5kZXggLS1maW5kLWxpbmtzPSJmaWxlOi8vJHtQV0R9IiAt
LXRhcmdldD0vYXBwL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy8gdmlydHVhbGVudgotICAt
IGxuIC1zIC9hcHAvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3ZpcnR1YWxlbnYucHkgL2Fw
cC9iaW4vdmlydHVhbGVudgotICAtIGNobW9kICt4IC9hcHAvYmluL3ZpcnR1YWxlbnYKLSAgc291
cmNlczoKLSAgLSB0eXBlOiBmaWxlCi0gICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3Rl
ZC5vcmcvcGFja2FnZXMvMzMvYmMvZmEwYjUzNDcxMzljZDk1NjRmMGQ0NGViZDJiMTQ3YWM5N2Mz
NmIyNDAzOTQzZGJlZThhMjVmZDc0MDEyL3ZpcnR1YWxlbnYtMTYuMC4wLnRhci5negotICAgIHNo
YTI1NjogY2EwN2I0YzBiNTRlMTRhOTFhZjlmMzRkMDkxOTc5MGIwMTY5MjNkMTU3YWZkYTVlZmRk
ZTU1Yzk2NzE4Zjc1MgotCi0tIG5hbWU6IGxpYmNhcC1uZwotICBzb3VyY2VzOgotICAgIC0gdHlw
ZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdGV2ZWdydWJiL2xpYmNhcC1u
ZwotICAgICAgYnJhbmNoOiB2MC43LjkKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLXdpdGgtcHl0
aG9uPW5vCi0gICAgLSAtLXdpdGgtcHl0aG9uMz1ubwotCi0tIG5hbWU6IGx6bzIKLSAgc291cmNl
czoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cDovL3d3dy5vYmVyaHVtZXIu
Y29tL29wZW5zb3VyY2UvbHpvL2Rvd25sb2FkL2x6by0yLjEwLnRhci5negotICAgICAgc2hhMTog
NDkyNDY3NmE5YmFlNWRiNThlZjEyOWRjMWNlYmNlM2JhYTNjNGI1ZAotCi0tIG5hbWU6IGljZWNj
Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIu
Y29tL2ljZWNjL2ljZWNyZWFtCi0gICAgICB0YWc6ICIxLjIiCi0gICAgICBjb21taXQ6IGUzZDEw
YTMyYmM2YzA0NmQ4ZjNkMTE4MmU3NWM2NTlkNGIyOGVkNDkKLSAgY29uZmlnLW9wdHM6Ci0gICAg
LSAtLXdpdGhvdXQtbWFuCi0KLS0gbmFtZTogYnJvdGxpCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTog
YXJjaGl2ZQotICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9icm90bGkvYXJjaGl2
ZS92MS4wLjUudGFyLmd6Ci0gICAgc2hhMjU2OiAzZDViZWRkNDhlZGI5MDlmZTNiODdjYjk5Zjdk
MTM5Yjk4N2VmNmYxNjE2YjdlMjJkNzRlOTI4MjcwYTJmZDIwCi0gIGJ1aWxkc3lzdGVtOiBjbWFr
ZS1uaW5qYQotCi0tIG5hbWU6IHdvZmYyCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogYXJjaGl2ZQot
ICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS93b2ZmMi9hcmNoaXZlL3YxLjAuMi50
YXIuZ3oKLSAgICBzaGEyNTY6IGFkZDI3MmJiMDllNjM4NGE0ODMzZmZjYTQ4OTYzNTBmZGIxNmUw
Y2EyMmRmNjhjMDM4NDc3M2M2N2ExNzU1OTQKLSAgYnVpbGRzeXN0ZW06IGNtYWtlLW5pbmphCi0K
LS0gbmFtZTogb3BlbmpwZWcKLSAgc291cmNlczoKLSAgLSB0eXBlOiBhcmNoaXZlCi0gICAgdXJs
OiBodHRwOi8vZ2l0aHViLmNvbS91Y2xvdXZhaW4vb3BlbmpwZWcvYXJjaGl2ZS92Mi4zLjAudGFy
Lmd6Ci0gICAgc2hhMjU2OiAzZGM3ODdjMWJiNjAyM2JhODQ2YzJhMGQ5YjFmNmUxNzlmMWNkMjU1
MTcyYmRlOWViNzViMDFmMWU2YzdkNzFhCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1uaW5qYQpkaWZm
IC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LkdUSy55YW1sIGIvVG9vbHMvZmxhdHBh
ay9vcmcud2Via2l0LkdUSy55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NjNi
NTYwNDQwODA0NWVkMDg3YzdjMjY3YTU5MzJiODRlNjMwZDNmLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5HVEsu
eWFtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyMyArMCwwIEBACi0tIG5hbWU6IG1lc2EKLSAgc291
cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly9tZXNhLmZyZWVk
ZXNrdG9wLm9yZy9hcmNoaXZlL21lc2EtMTguMC4zLnRhci54egotICAgICAgc2hhMjU2OiAwOTlk
OTY2NzMyN2E3NmE2MTc0MWE1MzNmOTUwNjdkNzZlYTcxYTY1NmU2NmI5MTUwN2IzYzBjYWYxZDQ5
ZTMwCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1wcmVmaXg9L2FwcC9zb2Z0R0wKLSAgICAtIC0t
ZGlzYWJsZS1kcmkzCi0gICAgLSAtLWVuYWJsZS1kcmkKLSAgICAtIC0tZW5hYmxlLWdseAotICAg
IC0gLS1lbmFibGUtZWdsCi0gICAgLSAtLXdpdGgtZWdsLXBsYXRmb3Jtcz14MTEsd2F5bGFuZAot
ICAgIC0gLS13aXRoLWRyaS1kcml2ZXJzPXN3cmFzdAotICAgIC0gLS13aXRoLWdhbGxpdW0tZHJp
dmVycz1zd3Jhc3QKLQotLSBuYW1lOiB3ZWJraXRndGstdGVzdC1mb250cwotICBuby1hdXRvZ2Vu
OiB0cnVlCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9n
aXRodWIuY29tL1dlYktpdEdUSy93ZWJraXRndGstdGVzdC1mb250cy5naXQKLSAgYnVpbGRzeXN0
ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgICAjIEZJWE1FOiBNYWtlIEFjdGl2YXRl
Rm9udFdQRSBzbWFydGVyLgotICAgIC0gbWFrZSBpbnN0YWxsIERFU1RESVI9L2FwcC9XZWJLaXRC
dWlsZC9EZXBlbmRlbmNpZXNHVEsvUm9vdAotCi0tIG5hbWU6IHhvcmctdXRpbC1tYWNyb3MKLSAg
c291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJl
ZWRlc2t0b3Aub3JnL2dpdC94b3JnL3V0aWwvbWFjcm9zLmdpdAotICAgICAgYnJhbmNoOiB1dGls
LW1hY3Jvcy0xLjE5LjIKLQotLSBuYW1lOiB4b3JnLWZvbnQtdXRpbAotICBzb3VyY2VzOgotICAg
IC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcv
Z2l0L3hvcmcvZm9udC91dGlsLmdpdAotICAgICAgYnJhbmNoOiBmb250LXV0aWwtMS4zLjEKLQot
LSBuYW1lOiB4a2JmaWxlCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIGJyYW5j
aDogbGlieGtiZmlsZS0xLjAuOQotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0
b3Aub3JnL2dpdC94b3JnL2xpYi9saWJ4a2JmaWxlLmdpdAotCi0tIG5hbWU6IGZvbnRlbmMKLSAg
c291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgYnJhbmNoOiBsaWJmb250ZW5jLTEuMS4z
Ci0gICAgICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcvbGli
L2xpYmZvbnRlbmMuZ2l0Ci0KLS0gbmFtZTogeGZvbnQKLSAgc291cmNlczoKLSAgICAtIHR5cGU6
IGdpdAotICAgICAgYnJhbmNoOiBsaWJYZm9udDItMi4wLjMKLSAgICAgIHVybDogaHR0cHM6Ly9h
bm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy9saWIvbGliWGZvbnQuZ2l0Ci0KLS0gbmFt
ZTogeHZmYgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8v
YW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcveHNlcnZlci5naXQKLSAgICAgIGJyYW5j
aDogeG9yZy1zZXJ2ZXItMS4xOS42Ci0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogcGF0
Y2hlcy94dmZiLTAwMDEtSEFDSy1Bdm9pZC1jb21waWxpbmctYS1rYm0tZmlsZS5wYXRjaAotICAg
IC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2d0ay9wYXRjaGVzL3hzZXJ2ZXItcmVtb3Zl
LWJvZ3VzLWRlcGVuZGVuY2llcy5wYXRjaAotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6
IC4uL2d0ay9wYXRjaGVzL3hzZXJ2ZXItc2VhcmNoLWZvci1EUkktZHJpdmVycy1hdC1MSUJHTF9E
UklWRVJTX1BBVEgtZW52aXJvbi5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC0tZW5hYmxl
LXh2ZmIKLSAgICAtIC0tZGlzYWJsZS14d2F5bGFuZAotICAgIC0gLS1lbmFibGUteHZmYgotICAg
IC0gLS1kaXNhYmxlLXh3YXlsYW5kCi0gICAgLSAtLWRpc2FibGUteGluZXJhbWEKLSAgICAtIC0t
ZW5hYmxlLWdseAotICAgIC0gLS1lbmFibGUtY29tcG9zaXRlCi0gICAgLSAtLWRpc2FibGUteG9y
ZwotICAgIC0gLS1kaXNhYmxlLWRteAotICAgIC0gLS1kaXNhYmxlLXhuZXN0Ci0gICAgLSAtLWRp
c2FibGUteHF1YXJ0egotICAgIC0gLS1kaXNhYmxlLXh3aW4KLSAgICAtIC0tZGlzYWJsZS14ZXBo
eXIKLSAgICAtIC0tZGlzYWJsZS14ZmFrZQotICAgIC0gLS1kaXNhYmxlLXhmYmRldgotICAgIC0g
LS1kaXNhYmxlLWluc3RhbGwtc2V0dWlkCi0gICAgLSAtLWRpc2FibGUtdW5pdC10ZXN0cwotICAg
IC0gLS1kaXNhYmxlLXByZXNlbnQKLSAgICAtIC0tZW5hYmxlLXVuaXgtdHJhbnNwb3J0Ci0gICAg
LSAtLWVuYWJsZS10Y3AtdHJhbnNwb3J0Ci0gICAgLSAtLWRpc2FibGUtbG9jYWwtdHJhbnNwb3J0
Ci0gICAgLSAtLXdpdGhvdXQtZHRyYWNlCi0KLSMgUmVxdWlyZWQgZm9yIHJ1bi1ndGstdGVzdHMK
LS0gbmFtZTogcHljYWlybwotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRz
OgotICAtIHB5dGhvbjIgc2V0dXAucHkgaW5zdGFsbCAtLXByZWZpeD0vYXBwCi0gIHNvdXJjZXM6
Ci0gIC0gdHlwZTogYXJjaGl2ZQotICAgIHVybDogaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcGFj
a2FnZXMvZWYvOTcvYjMzZGM1MzNlYTYwNzZkNGVhOWNiZDJmZTA0OWEyYjRhM2RmNWM1YjZmYmE5
YTE4MjYxNmY2ZjhkMzEwL3B5Y2Fpcm8tMS4xNS40LnRhci5negotICAgIHNoYTI1NjogZWU0YzMw
NjhjMDQ4MjMwZTVjZTc0YmI4OTk0YTAyNDcxMTEyOWJkZTFhZjFkNzZlMzI3NmM3YWNkODFjNDM1
NwotICBjbGVhbnVwOgotICAtICIvaW5jbHVkZSIKLSAgLSAiL2xpYi9wa2djb25maWciCi0KLS0g
bmFtZTogcHlnb2JqZWN0LXB5dGhvbjIKLSAgYnVpbGQtb3B0aW9uczoKLSAgICBlbnY6Ci0gICAg
ICBQWVRIT046ICIvdXNyL2Jpbi9weXRob24yIgotICBzb3VyY2VzOgotICAtIHR5cGU6IGFyY2hp
dmUKLSAgICB1cmw6IGh0dHBzOi8vZG93bmxvYWQuZ25vbWUub3JnL3NvdXJjZXMvcHlnb2JqZWN0
LzMuMjgvcHlnb2JqZWN0LTMuMjguMS50YXIueHoKLSAgICBzaGEyNTY6IDQyMzEyYjRhNTAxNTU3
MWZhMGE0ZjJkMjAxMDA1ZGE0NmI3MWMyNTFlYTI2MjViYzk1NzAyZDA3MWM0ZmY4OTUKLSAgY2xl
YW51cDoKLSAgLSAiL2luY2x1ZGUiCi0gIC0gIi9saWIvcGtnY29uZmlnIgotICAtICIvbGliL3B5
dGhvbjIuNy9zaXRlLXBhY2thZ2VzL2dpLyoubGEiCi0KLS0gb3JnLndlYmtpdC5XUEVNb2R1bGVz
LnlhbWwKLQotLSBuYW1lOiBvcmcud2Via2l0LkdUSwotICBidWlsZHN5c3RlbTogc2ltcGxlCi0g
IGJ1aWxkLWNvbW1hbmRzOgotICAgIC0gL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9idWlsZC13
ZWJraXQgLS1ndGsgLS1wcmVmaXg9L2FwcAotCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29y
Zy53ZWJraXQuV1BFLnlhbWwgYi9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFLnlhbWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjYmFiYmFhMGNiOGUxNThhZDQ0NDFmOThiNGQw
NTNhOGNiM2JhNzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRS55YW1sCisrKyAvZGV2L251bGwKQEAgLTEs
MTQgKzAsMCBAQAotLSBvcmcud2Via2l0LldQRU1vZHVsZXMueWFtbAotLSBuYW1lOiB3ZWJraXRn
dGstdGVzdC1mb250cwotICBuby1hdXRvZ2VuOiB0cnVlCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBl
OiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL1dlYktpdEdUSy93ZWJraXRndGst
dGVzdC1mb250cy5naXQKLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoK
LSAgICAjIEZJWE1FOiBNYWtlIEFjdGl2YXRlRm9udFdQRSBzbWFydGVyLgotICAgIC0gbWFrZSBp
bnN0YWxsIERFU1RESVI9L2FwcC9XZWJLaXRCdWlsZC9EZXBlbmRlbmNpZXNXUEUvUm9vdAotLSBu
YW1lOiBvcmcud2Via2l0LldQRQotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1h
bmRzOgotICAgIC0gL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgLS13cGUg
LS1wcmVmaXg9L2FwcApkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRU1v
ZHVsZXMueWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE4MGUyY2NiM2E0ZDk1MjJhNjA3OTM0YzA2ZTBh
ZjkyMDViZjAyMTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRU1vZHVsZXMueWFtbAorKysgL2Rldi9udWxs
CkBAIC0xLDEyICswLDAgQEAKLS0gbmFtZTogbGlid3BlCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1u
aW5qYQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczov
L3dwZXdlYmtpdC5vcmcvcmVsZWFzZXMvbGlid3BlLTEuNC4wLnRhci54egotICAgICAgc2hhMjU2
OiBlMmQzNDk0ZmMzM2ZlOTQ2YWQ5MTdmZDZhM2FiZDEyNzQ2MmI5MWJiYTYyZWY4YjM1NTA3ZTky
ZjhlZGU0MTg4Ci0tIG5hbWU6IHdwZWJhY2tlbmQtZmRvCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1u
aW5qYQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczov
L3dwZXdlYmtpdC5vcmcvcmVsZWFzZXMvd3BlYmFja2VuZC1mZG8tMS40LjAudGFyLnh6Ci0gICAg
ICBzaGEyNTY6IGE5MTljYTRhNWJjNDQ1Zjk0MTlhNWI3ZjM3ODFjZmM5OGU1YWJjZjVkNzI1OWVi
MTg2OWY1YWIyMGZkMThiYWYKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5X
UEVRVC55YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRVFULnlhbWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlMzY5NTdhNDYxYmMzNDc5YTM4ZWZmZGU2ZDk1OGJkMDA3
MjY3OGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9v
bHMvZmxhdHBhay9vcmcud2Via2l0LldQRVFULnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwzOSAr
MCwwIEBACi1hcHAtaWQ6IG9yZy53ZWJraXQuV1BFUVQKLXJ1bnRpbWU6IG9yZy5rZGUuUGxhdGZv
cm0KLXJ1bnRpbWUtdmVyc2lvbjogIjUuMTIiCi0jIENvbnRyb2wgdGhlIGV4YWN0IHZlcnNpb24g
b2YgdGhlIFNkay9SdW50aW1lIHRoYXQgaXMgYmVpbmcgdXNlZC4KLXNkay1oYXNoOiBkNmVmYTI0
ZTI3YzFjODc4YWQ0ZmRlNzZiNzNjOTZhMTFiZTMyYjU5OGFlODdhZWZiZTMzOWVlNGJiMTlhOGJl
Ci1ydW50aW1lLWhhc2g6IDEwMTg3MWUwOTEwMDA2MTZhZDJiNjM1ZTA2YzQxNGViMGUxYzRlMWMz
NDI5MmEyMDVjNTIzOTkzNWVlNWVhNDQKLXNkazogb3JnLmtkZS5TZGsKLWNvbW1hbmQ6ICUoQ09N
TUFORClzCi1maW5pc2gtYXJnczoKLSAgIyBCYXNpY2FsbHkgbm8gc2FuZGJveGluZywgdGhlIGdv
YWwgaGVyZSBpcyB0byBtYWtlIGl0IGZsZXhpYmxlCi0gICMgZm9yIGRldmVsb3BlcnMsIG5vdCBy
ZWFsbHkgdG8gaXNvbGF0ZSAob3Blbm5pbmcgYWxsIGRldmljZXMKLSAgIyB0byBhbGxvdyBhY2Nl
cyB2aWRlbyBjYW1lcmFzIHVudGlsIHdlIGhhdmUgYSBwb3J0YWwgYXQgbGVhc3QpLgotICAtIC0t
c2hhcmU9aXBjCi0gIC0gLS1zb2NrZXQ9eDExCi0gIC0gLS1zb2NrZXQ9d2F5bGFuZAotICAtIC0t
ZGV2aWNlPWFsbAotICAtIC0tc2hhcmU9bmV0d29yawotICAtIC0tc29ja2V0PXB1bHNlYXVkaW8K
LSAgLSAtLXN5c3RlbS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkdlb0NsdWUyCi0gIC0gLS1z
eXN0ZW0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cwotICAtIC0tZmlsZXN5c3RlbT1ob3N0Ci0gIC0g
LS1zb2NrZXQ9c3lzdGVtLWJ1cwotICAtIC0tdGFsay1uYW1lPW9yZy5mcmVlZGVza3RvcC5GbGF0
cGFrCi0gIC0gLS1lbnY9R1NUX1BSRVNFVF9QQVRIPS9hcHAvc2hhcmUvZ3N0cmVhbWVyLTEuMC9w
cmVzZXRzLwotYnVpbGQtb3B0aW9uczoKLSAgY2ZsYWdzOiAtTzIgLWcKLSAgY3h4ZmxhZ3M6IC1P
MiAtZwotICBzdHJpcDogZmFsc2UKLSAgbm8tZGVidWdpbmZvOiB0cnVlCi1tb2R1bGVzOgotICAt
IG9yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sCi0gIC0gb3JnLndlYmtpdC5XUEVNb2R1bGVz
LnlhbWwKLQotICAjIFRoaXMgbW9kdWxlIGlzIG5vdCBhY3R1YWxseSBidWlsdC4KLSAgLSBuYW1l
OiBvcmcud2Via2l0LldQRVFUCi0gICAgYnVpbGRzeXN0ZW06IGNtYWtlCi0gICAgc291cmNlczoK
LSAgICAtIHR5cGU6IGRpcgotICAgICAgcGF0aDogL2FwcC93ZWJraXQvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL3dwZS9xdApkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0
LldlYktpdC55YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldlYktpdC55YW1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNmQ2MTI2NjBkOGEyMDQ1ZGEzMTJmZGIwOTFiNzhl
NThhODA3ZTY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XZWJLaXQueWFtbAorKysgL2Rldi9udWxsCkBAIC0x
LDMzICswLDAgQEAKLWFwcC1pZDogJShQT1JUTkFNRSlzCi1ydW50aW1lOiBvcmcuZ25vbWUuUGxh
dGZvcm0KLXJ1bnRpbWUtdmVyc2lvbjogIjMuMzIiCi0jIENvbnRyb2wgdGhlIGV4YWN0IHZlcnNp
b24gb2YgdGhlIFNkay9SdW50aW1lIHRoYXQgaXMgYmVpbmcgdXNlZC4KLXNkay1oYXNoOiBiM2I5
YjFkMWIxOWVhMmJiNzIwMTk0MjhjYTc1YzdhNzg0NTVlOTg2YTBmOTFkZGRmNmEyOWM5Mjk5MGNj
NWE3Ci1ydW50aW1lLWhhc2g6IDdjOWQ1NTkyZDgwNWQwYjdjMjEyMTkwZmQ4MTE4ZTRjNzhjYjhl
ZDhmODFlNjg3ODU4OTcyNjcwZGFjY2ZmNzYKLXNkazogb3JnLmdub21lLlNkawotY29tbWFuZDog
JShDT01NQU5EKXMKLWZpbmlzaC1hcmdzOgotICAjIEJhc2ljYWxseSBubyBzYW5kYm94aW5nLCB0
aGUgZ29hbCBoZXJlIGlzIHRvIG1ha2UgaXQgZmxleGlibGUKLSAgIyBmb3IgZGV2ZWxvcGVycywg
bm90IHJlYWxseSB0byBpc29sYXRlIChvcGVubmluZyBhbGwgZGV2aWNlcwotICAjIHRvIGFsbG93
IGFjY2VzIHZpZGVvIGNhbWVyYXMgdW50aWwgd2UgaGF2ZSBhIHBvcnRhbCBhdCBsZWFzdCkuCi0g
IC0gLS1zaGFyZT1pcGMKLSAgLSAtLXNvY2tldD14MTEKLSAgLSAtLXNvY2tldD13YXlsYW5kCi0g
IC0gLS1kZXZpY2U9YWxsCi0gIC0gLS1zaGFyZT1uZXR3b3JrCi0gIC0gLS1zb2NrZXQ9cHVsc2Vh
dWRpbwotICAtIC0tc3lzdGVtLXRhbGstbmFtZT1vcmcuZnJlZWRlc2t0b3AuR2VvQ2x1ZTIKLSAg
LSAtLXN5c3RlbS10YWxrLW5hbWU9b3JnLmExMXkuQnVzCi0gIC0gLS1maWxlc3lzdGVtPWhvc3QK
LSAgLSAtLXNvY2tldD1zeXN0ZW0tYnVzCi0gIC0gLS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9w
LkZsYXRwYWsKLSAgLSAtLWVudj1HU1RfUFJFU0VUX1BBVEg9L2FwcC9zaGFyZS9nc3RyZWFtZXIt
MS4wL3ByZXNldHMvCi1idWlsZC1vcHRpb25zOgotICBjZmxhZ3M6IC1PMiAtZwotICBjeHhmbGFn
czogLU8yIC1nCi0gIHN0cmlwOiBmYWxzZQotICBuby1kZWJ1Z2luZm86IHRydWUKLW1vZHVsZXM6
Ci0gIC0gb3JnLndlYmtpdC5Db21tb25Nb2R1bGVzLnlhbWwKLSAgIyBQb3J0IHNwZWNpZmljIGNv
bXBvbmVudHMuCi0gIC0gJShQT1JUTkFNRSlzLnlhbWwKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRw
YWsvcGF0Y2hlcy9odHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1k
ZXRlY3Rpb24ucGF0Y2ggYi9Ub29scy9mbGF0cGFrL3BhdGNoZXMvaHR0cGQtMDAwMS1jb25maWd1
cmUtdXNlLXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBkMzZhNjk0ZjI5MjNkMzUxZGI2ZjNmMTMzMjc2MDI4M2RhNzhmOWRl
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2Zs
YXRwYWsvcGF0Y2hlcy9odHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENS
RS1kZXRlY3Rpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1Gcm9tIGI1
ZWJlNDA0ZjEzODhkZGRhMzYwM2U1MzI3N2Y4N2UwYjk2YmE2OTUgTW9uIFNlcCAxNyAwMDowMDow
MCAyMDAxCi1Gcm9tOiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotRGF0
ZTogTW9uLCAxMSBKdW4gMjAxOCAxNjoxNDozOCAtMDQwMAotU3ViamVjdDogW1BBVENIXSBjb25m
aWd1cmU6IHVzZSBwa2ctY29uZmlnIGZvciBQQ1JFIGRldGVjdGlvbgotCi0tLS0KLSBjb25maWd1
cmUuaW4gfCAyNyArKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwg
NSBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3Vy
ZS5pbiBiL2NvbmZpZ3VyZS5pbgotaW5kZXggNzYxZTgzNi4uYjE1NWQ0YiAxMDA2NDQKLS0tLSBh
L2NvbmZpZ3VyZS5pbgotKysrIGIvY29uZmlndXJlLmluCi1AQCAtMjE1LDI4ICsyMTUsMTEgQEAg
ZmkKLSBBQ19BUkdfV0lUSChwY3JlLAotIEFQQUNIRV9IRUxQX1NUUklORygtLXdpdGgtcGNyZT1Q
QVRILFVzZSBleHRlcm5hbCBQQ1JFIGxpYnJhcnkpKQotIAotLUFDX1BBVEhfUFJPRyhQQ1JFX0NP
TkZJRywgcGNyZS1jb25maWcsIGZhbHNlKQotLWlmIHRlc3QgLWQgIiR3aXRoX3BjcmUiICYmIHRl
c3QgLXggIiR3aXRoX3BjcmUvYmluL3BjcmUtY29uZmlnIjsgdGhlbgotLSAgIFBDUkVfQ09ORklH
PSR3aXRoX3BjcmUvYmluL3BjcmUtY29uZmlnCi0tZWxpZiB0ZXN0IC14ICIkd2l0aF9wY3JlIjsg
dGhlbgotLSAgIFBDUkVfQ09ORklHPSR3aXRoX3BjcmUKLS1maQotLQotLWlmIHRlc3QgIiRQQ1JF
X0NPTkZJRyIgIT0gImZhbHNlIjsgdGhlbgotLSAgaWYgJFBDUkVfQ09ORklHIC0tdmVyc2lvbiA+
L2Rldi9udWxsIDI+JjE7IHRoZW4gOjsgZWxzZQotLSAgICBBQ19NU0dfRVJST1IoW0RpZCBub3Qg
ZmluZCBwY3JlLWNvbmZpZyBzY3JpcHQgYXQgJFBDUkVfQ09ORklHXSkKLS0gIGZpCi0tICBjYXNl
IGAkUENSRV9DT05GSUcgLS12ZXJzaW9uYCBpbgotLSAgW1sxLTVdLipdKQotLSAgICBBQ19NU0df
RVJST1IoW05lZWQgYXQgbGVhc3QgcGNyZSB2ZXJzaW9uIDYuMF0pCi0tICAgIDs7Ci0tICBlc2Fj
Ci0tICBBQ19NU0dfTk9USUNFKFtVc2luZyBleHRlcm5hbCBQQ1JFIGxpYnJhcnkgZnJvbSAkUENS
RV9DT05GSUddKQotLSAgQVBSX0FERFRPKFBDUkVfSU5DTFVERVMsIFtgJFBDUkVfQ09ORklHIC0t
Y2ZsYWdzYF0pCi0tICBBUFJfQUREVE8oUENSRV9MSUJTLCBbYCRQQ1JFX0NPTkZJRyAtLWxpYnNg
XSkKLS1lbHNlCi0tICBBQ19NU0dfRVJST1IoW3BjcmUtY29uZmlnIGZvciBsaWJwY3JlIG5vdCBm
b3VuZC4gUENSRSBpcyByZXF1aXJlZCBhbmQgYXZhaWxhYmxlIGZyb20gaHR0cDovL3BjcmUub3Jn
L10pCi0tZmkKLStQS0dfQ0hFQ0tfTU9EVUxFUyhbUENSRV0sIFtsaWJwY3JlXSwgWwotKyAgQUNf
REVGSU5FKFtIQVZFX1BDUkVdLCBbMV0sIFtEZWZpbmUgaWYgeW91IGhhdmUgUENSRSBsaWJyYXJ5
XSkKLStdLCBbCi0rICBBQ19NU0dfRVJST1IoWyRQQ1JFX1BLR19FUlJPUlNdKQotK10pCi0gQVBB
Q0hFX1NVQlNUKFBDUkVfTElCUykKLSAKLSBBQ19NU0dfTk9USUNFKFtdKQotLS0gCi0yLjE3LjEK
LQpkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVzZS1w
a2ctY29uZmlnLXRvLWRldGVjdC1ncGctZXJyb3IucGF0Y2ggYi9Ub29scy9mbGF0cGFrL3BhdGNo
ZXMvbGliZ2NyeXB0LTAwMDEtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRj
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzU3NzI3ZmJiOGIwOGI5MTk1YTVjMDk3
ZDZjNjFiOTA4YzY5MTc5YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Ub29scy9mbGF0cGFrL3BhdGNoZXMvbGliZ2NyeXB0LTAwMDEtVXNlLXBrZy1jb25m
aWctdG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExMCArMCww
IEBACi1Gcm9tIDlhZmYzZjFiMzQ0ZmM4NjY2YjE0YzU3NjI5MTYyYzJiOTAwN2NhZDggTW9uIFNl
cCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2Fs
aWEuY29tPgotRGF0ZTogRnJpLCAyOSBKdW4gMjAxOCAwOTowNTo1MiAtMDQwMAotU3ViamVjdDog
W1BBVENIXSBVc2UgcGtnLWNvbmZpZyB0byBkZXRlY3QgZ3BnLWVycm9yCi0KLS0tLQotIG00L2dw
Zy1lcnJvci5tNCB8IDg4ICsrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNzYgZGVsZXRpb25z
KC0pCi0KLWRpZmYgLS1naXQgYS9tNC9ncGctZXJyb3IubTQgYi9tNC9ncGctZXJyb3IubTQKLWlu
ZGV4IDE2NjEyMDRjLi41ZjlmMzNjMiAxMDA2NDQKLS0tLSBhL200L2dwZy1lcnJvci5tNAotKysr
IGIvbTQvZ3BnLWVycm9yLm00Ci1AQCAtNDEsODEgKzQxLDE3IEBAIEFDX0RFRlVOKFtBTV9QQVRI
X0dQR19FUlJPUl0sCi0gICBBQ19BUkdfV0lUSChncGctZXJyb3ItcHJlZml4LCwKLSAgICAgICAg
ICAgICAgIFtncGdfZXJyb3JfY29uZmlnX3ByZWZpeD0iJHdpdGh2YWwiXSkKLSAKLS0gIGlmIHRl
c3QgeCIke0dQR19FUlJPUl9DT05GSUd9IiA9IHggOyB0aGVuCi0tICAgICBpZiB0ZXN0IHgiJHtn
cGdfZXJyb3JfY29uZmlnX3ByZWZpeH0iICE9IHggOyB0aGVuCi0tICAgICAgICBHUEdfRVJST1Jf
Q09ORklHPSIke2dwZ19lcnJvcl9jb25maWdfcHJlZml4fS9iaW4vZ3BnLWVycm9yLWNvbmZpZyIK
LS0gICAgIGVsc2UKLS0gICAgICAgY2FzZSAiJHtTWVNST09UfSIgaW4KLS0gICAgICAgICAvKikK
LS0gICAgICAgICAgIGlmIHRlc3QgLXggIiR7U1lTUk9PVH0vYmluL2dwZy1lcnJvci1jb25maWci
IDsgdGhlbgotLSAgICAgICAgICAgICBHUEdfRVJST1JfQ09ORklHPSIke1NZU1JPT1R9L2Jpbi9n
cGctZXJyb3ItY29uZmlnIgotLSAgICAgICAgICAgZmkKLS0gICAgICAgICAgIDs7Ci0tICAgICAg
ICAgJycpCi0tICAgICAgICAgICA7OwotLSAgICAgICAgICAqKQotLSAgICAgICAgICAgQUNfTVNH
X1dBUk4oW0lnbm9yaW5nIFwkU1lTUk9PVCBhcyBpdCBpcyBub3QgYW4gYWJzb2x1dGUgcGF0aC5d
KQotLSAgICAgICAgICAgOzsKLS0gICAgICAgZXNhYwotLSAgICAgZmkKLS0gIGZpCi0rICBQS0df
Q0hFQ0tfTU9EVUxFUyhbR1BHX0VSUk9SXSwgW2dwZy1lcnJvcl0sIFsKLSsgICAgQUNfREVGSU5F
KFtIQVZFX0dQR19FUlJPUl0sIFsxXSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBncGctZXJyb3IgbGli
cmFyeV0pCi0gCi0tICBBQ19QQVRIX1BST0coR1BHX0VSUk9SX0NPTkZJRywgZ3BnLWVycm9yLWNv
bmZpZywgbm8pCi0tICBtaW5fZ3BnX2Vycm9yX3ZlcnNpb249aWZlbHNlKFskMV0sICwwLjAsJDEp
Ci0tICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIEdQRyBFcnJvciAtIHZlcnNpb24gPj0gJG1pbl9ncGdf
ZXJyb3JfdmVyc2lvbikKLS0gIG9rPW5vCi0tICBpZiB0ZXN0ICIkR1BHX0VSUk9SX0NPTkZJRyIg
IT0gIm5vIiBcCi0tICAgICAmJiB0ZXN0IC1mICIkR1BHX0VSUk9SX0NPTkZJRyIgOyB0aGVuCi0t
ICAgIHJlcV9tYWpvcj1gZWNobyAkbWluX2dwZ19lcnJvcl92ZXJzaW9uIHwgXAotLSAgICAgICAg
ICAgICAgIHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS9cMS8nYAotLSAgICByZXFf
bWlub3I9YGVjaG8gJG1pbl9ncGdfZXJyb3JfdmVyc2lvbiB8IFwKLS0gICAgICAgICAgICAgICBz
ZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXCkvXDIvJ2AKLS0gICAgZ3BnX2Vycm9yX2Nv
bmZpZ192ZXJzaW9uPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19hcmdzIC0t
dmVyc2lvbmAKLS0gICAgbWFqb3I9YGVjaG8gJGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbiB8IFwK
LS0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXCkuKi9cMS8n
YAotLSAgICBtaW5vcj1gZWNobyAkZ3BnX2Vycm9yX2NvbmZpZ192ZXJzaW9uIHwgXAotLSAgICAg
ICAgICAgICAgIHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS4qL1wyLydgCi0tICAg
IGlmIHRlc3QgIiRtYWpvciIgLWd0ICIkcmVxX21ham9yIjsgdGhlbgotLSAgICAgICAgb2s9eWVz
Ci0tICAgIGVsc2UKLS0gICAgICAgIGlmIHRlc3QgIiRtYWpvciIgLWVxICIkcmVxX21ham9yIjsg
dGhlbgotLSAgICAgICAgICAgIGlmIHRlc3QgIiRtaW5vciIgLWdlICIkcmVxX21pbm9yIjsgdGhl
bgotLSAgICAgICAgICAgICAgIG9rPXllcwotLSAgICAgICAgICAgIGZpCi0tICAgICAgICBmaQot
LSAgICBmaQotLSAgZmkKLS0gIGlmIHRlc3QgJG9rID0geWVzOyB0aGVuCi0tICAgIEdQR19FUlJP
Ul9DRkxBR1M9YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1jZmxh
Z3NgCi0tICAgIEdQR19FUlJPUl9MSUJTPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2Nv
bmZpZ19hcmdzIC0tbGlic2AKLS0gICAgR1BHX0VSUk9SX01UX0NGTEFHUz1gJEdQR19FUlJPUl9D
T05GSUcgJGdwZ19lcnJvcl9jb25maWdfYXJncyAtLW10IC0tY2ZsYWdzIDI+L2Rldi9udWxsYAot
LSAgICBHUEdfRVJST1JfTVRfTElCUz1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9jb25m
aWdfYXJncyAtLW10IC0tbGlicyAyPi9kZXYvbnVsbGAKLS0gICAgQUNfTVNHX1JFU1VMVChbeWVz
ICgkZ3BnX2Vycm9yX2NvbmZpZ192ZXJzaW9uKV0pCi0tICAgIGlmZWxzZShbJDJdLCAsIDosIFsk
Ml0pCi0tICAgIGdwZ19lcnJvcl9jb25maWdfaG9zdD1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19l
cnJvcl9jb25maWdfYXJncyAtLWhvc3QgMj4vZGV2L251bGwgfHwgZWNobyBub25lYAotLSAgICBp
ZiB0ZXN0IHgiJGdwZ19lcnJvcl9jb25maWdfaG9zdCIgIT0geG5vbmUgOyB0aGVuCi0tICAgICAg
aWYgdGVzdCB4IiRncGdfZXJyb3JfY29uZmlnX2hvc3QiICE9IHgiJGhvc3QiIDsgdGhlbgotLSAg
QUNfTVNHX1dBUk4oW1sKLS0qKioKLS0qKiogVGhlIGNvbmZpZyBzY3JpcHQgJEdQR19FUlJPUl9D
T05GSUcgd2FzCi0tKioqIGJ1aWx0IGZvciAkZ3BnX2Vycm9yX2NvbmZpZ19ob3N0IGFuZCB0aHVz
IG1heSBub3QgbWF0Y2ggdGhlCi0tKioqIHVzZWQgaG9zdCAkaG9zdC4KLS0qKiogWW91IG1heSB3
YW50IHRvIHVzZSB0aGUgY29uZmlndXJlIG9wdGlvbiAtLXdpdGgtZ3BnLWVycm9yLXByZWZpeAot
LSoqKiB0byBzcGVjaWZ5IGEgbWF0Y2hpbmcgY29uZmlnIHNjcmlwdCBvciB1c2UgXCRTWVNST09U
LgotLSoqKl1dKQotLSAgICAgICAgZ3BnX2NvbmZpZ19zY3JpcHRfd2Fybj0iJGdwZ19jb25maWdf
c2NyaXB0X3dhcm4gbGliZ3BnLWVycm9yIgotLSAgICAgIGZpCi0tICAgIGZpCi0tICBlbHNlCi0t
ICAgIEdQR19FUlJPUl9DRkxBR1M9IiIKLS0gICAgR1BHX0VSUk9SX0xJQlM9IiIKLS0gICAgR1BH
X0VSUk9SX01UX0NGTEFHUz0iIgotLSAgICBHUEdfRVJST1JfTVRfTElCUz0iIgotLSAgICBBQ19N
U0dfUkVTVUxUKG5vKQotLSAgICBpZmVsc2UoWyQzXSwgLCA6LCBbJDNdKQotLSAgZmkKLS0gIEFD
X1NVQlNUKEdQR19FUlJPUl9DRkxBR1MpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfTElCUykKLS0g
IEFDX1NVQlNUKEdQR19FUlJPUl9NVF9DRkxBR1MpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfTVRf
TElCUykKLSsgICAgR1BHX0VSUk9SX01UX0NGTEFHUz0iJEdQR19FUlJPUl9DRkxBR1MiCi0rICAg
IEdQR19FUlJPUl9NVF9MSUJTPSItbHB0aHJlYWQgJEdQR19FUlJPUl9MSUJTIgotKwotKyAgICBB
Q19TVUJTVChHUEdfRVJST1JfQ0ZMQUdTKQotKyAgICBBQ19TVUJTVChHUEdfRVJST1JfTElCUykK
LSsgICAgQUNfU1VCU1QoR1BHX0VSUk9SX01UX0NGTEFHUykKLSsgICAgQUNfU1VCU1QoR1BHX0VS
Uk9SX01UX0xJQlMpCi0rICBdLCBbCi0rICAgIEFDX01TR19FUlJPUihbJEdQR19FUlJPUl9FUlJP
UlNdKQotKyAgXSkKLSBdKQotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBh
ay9wYXRjaGVzL3h2ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1maWxlLnBhdGNo
IGIvVG9vbHMvZmxhdHBhay9wYXRjaGVzL3h2ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1h
LWtibS1maWxlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OTg4NDJiMzgx
ZDI1MTQwZmJjMDhmNTRhOTcyMzBhNmRiZTRhNDUwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEtSEFD
Sy1Bdm9pZC1jb21waWxpbmctYS1rYm0tZmlsZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUw
ICswLDAgQEAKLUZyb20gYWVkMWI2ZThkZTQxMzc1YzFiOGIxZGZjNDhhMzUwZTBhOWI5Y2JiYSBN
b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVy
QGlnYWxpYS5jb20+Ci1EYXRlOiBNb24sIDExIEp1biAyMDE4IDEwOjU1OjQzIC0wNDAwCi1TdWJq
ZWN0OiBbUEFUQ0ggeHNlcnZlcl0gSEFDSzogQXZvaWQgY29tcGlsaW5nIGEga2JtIGZpbGUKLQot
VGhpcyB3b3VsZCBuZWVkIHRvIGJlIGluIC91c3Ivc2hhcmUvWDExLyBhcyB0aGlzIGlzIHdoZXJl
Ci1yZXNvdXJjZSBmaWxlcyBhcmUgaW4gdGhlIHNhbmRib3ggYnV0IGl0IGlzIHJlYWQgb25seSBp
biB0aGVyZS4KLQotSGFjayBhcm91bmQgdGhhdC4KLS0tLQotIHhrYi9kZHhMb2FkLmMgfCA5ICst
LS0tLS0tLQotIHhrYi94a2JJbml0LmMgfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2Vy
dGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS94a2IvZGR4TG9hZC5jIGIv
eGtiL2RkeExvYWQuYwotaW5kZXggYmJlMzk1Mi4uYTRhMDNhMSAxMDA2NDQKLS0tLSBhL3hrYi9k
ZHhMb2FkLmMKLSsrKyBiL3hrYi9kZHhMb2FkLmMKLUBAIC0xNDgsMTQgKzE0OCw3IEBAIFJ1blhr
YkNvbXAoeGtiY29tcF9idWZmZXJfY2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQgKnVzZXJkYXRhKQot
ICAgICAgICAgfQotICAgICB9Ci0gCi0tICAgIGlmIChhc3ByaW50ZigmYnVmLAotLSAgICAgICAg
ICAgICAgICAgIlwiJXMlc3hrYmNvbXBcIiAtdyAlZCAlcyAteGttIFwiJXNcIiAiCi0tICAgICAg
ICAgICAgICAgICAiLWVtMSAlcyAtZW1wICVzIC1lbWwgJXMgXCIlcyVzLnhrbVwiIiwKLS0gICAg
ICAgICAgICAgICAgIHhrYmJpbmRpciwgeGtiYmluZGlyc2VwLAotLSAgICAgICAgICAgICAgICAg
KCh4a2JEZWJ1Z0ZsYWdzIDwgMikgPyAxIDoKLS0gICAgICAgICAgICAgICAgICAoKHhrYkRlYnVn
RmxhZ3MgPiAxMCkgPyAxMCA6IChpbnQpIHhrYkRlYnVnRmxhZ3MpKSwKLS0gICAgICAgICAgICAg
ICAgIHhrYmJhc2VkaXJmbGFnID8geGtiYmFzZWRpcmZsYWcgOiAiIiwgeGttZmlsZSwKLS0gICAg
ICAgICAgICAgICAgIFBSRV9FUlJPUl9NU0csIEVSUk9SX1BSRUZJWCwgUE9TVF9FUlJPUl9NU0cx
LAotKyAgICBpZiAoYXNwcmludGYoJmJ1ZiwgImNwIC9hcHAvd2Via2l0L1Rvb2xzL2ZsYXRwYWsv
ZmlsZXMvZGVmYXVsdC54a20gXCIlcyVzLnhrbVwiIiwKLSAgICAgICAgICAgICAgICAgIHhrbV9v
dXRwdXRfZGlyLCBrZXltYXApID09IC0xKQotICAgICAgICAgYnVmID0gTlVMTDsKLSAKLWRpZmYg
LS1naXQgYS94a2IveGtiSW5pdC5jIGIveGtiL3hrYkluaXQuYwotaW5kZXggOWM3NzJmNS4uNGUw
Yjc3NCAxMDA2NDQKLS0tLSBhL3hrYi94a2JJbml0LmMKLSsrKyBiL3hrYi94a2JJbml0LmMKLUBA
IC04Nyw3ICs4Nyw3IEBAIHR5cGVkZWYgc3RydWN0IF9TcnZYa21JbmZvIHsKLSAjZGVmaW5lCVhL
Ql9ERkxUX1JVTEVTX1BST1AJVFJVRQotICNlbmRpZgotIAotLWNvbnN0IGNoYXIgKlhrYkJhc2VE
aXJlY3RvcnkgPSBYS0JfQkFTRV9ESVJFQ1RPUlk7Ci0rY29uc3QgY2hhciAqWGtiQmFzZURpcmVj
dG9yeSA9ICIvdXNyL3NoYXJlL1gxMS94a2IvIjsKLSBjb25zdCBjaGFyICpYa2JCaW5EaXJlY3Rv
cnkgPSBYS0JfQklOX0RJUkVDVE9SWTsKLSBzdGF0aWMgaW50IFhrYldhbnRBY2Nlc3NYID0gMDsK
LSAKLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVuZGVu
Y2llcyBiL1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVuZGVuY2llcwppbmRleCBjNmRjNTBjYTBlNWZl
N2IzMDdmZTU2ODg5NzZjM2IzMjgxYTRjMjYxLi5jYTVjNzcyMDI0NWJkYWVkMzMyZGNmMDFkY2Ni
M2QyOGQwZGIwYWFhIDEwMDc1NQotLS0gYS9Ub29scy9ndGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMK
KysrIGIvVG9vbHMvZ3RrL2luc3RhbGwtZGVwZW5kZW5jaWVzCkBAIC0xNzYsNiArMTc2LDEwIEBA
IGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoQXB0IHsKICAgICAgICAgd2VzdG9uIFwK
ICAgICAgICAgeHZmYiIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3Nhcnkg
Zm9yIGJ1aWxkaW5nIHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2Fn
ZXMgXAorICAgICAgICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5l
Y2Vzc2FyeSBmb3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdl
cyBcCiAgICAgICAgIGJpc29uIFwKQEAgLTM0NCw2ICszNDgsMTAgQEAgZnVuY3Rpb24gaW5zdGFs
bERlcGVuZGVuY2llc1dpdGhQYWNtYW4gewogICAgICAgICB3ZXN0b24gXAogICAgICAgICB4b3Jn
LXNlcnZlci14dmZiIgogCisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBm
b3IgYnVpbGRpbmcgd2l0aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdl
cyBcCisgICAgICAgIGZsYXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVj
ZXNzYXJ5IGZvciBidWlsZGluZyB0aGUgamhidWlsZC4KICAgICAjIE5vdGU6IENvdWxkIG5vdCBm
aW5kIGxpYmVnbC1tZXNhCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCkBAIC01MTYsNiArNTI0
LDEwIEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoRG5mIHsKICAgICAgICAgd2Vz
dG9uLWRldmVsIFwKICAgICAgICAgeG9yZy14MTEtc2VydmVyLVh2ZmIiCiAKKyAgICAjIFRoZXNl
IGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB3aXRoIHRoZSBGbGF0cGFr
IFNESy4KKyAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAgICAgICAgZmxhdHBhayIKKwogICAg
ICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHRoZSBqaGJ1
aWxkLgogICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAogICAgICAgICBiaXNvbiBcCmRpZmYgLS1n
aXQgYS9Ub29scy93cGUvaW5zdGFsbC1kZXBlbmRlbmNpZXMgYi9Ub29scy93cGUvaW5zdGFsbC1k
ZXBlbmRlbmNpZXMKaW5kZXggMjdkOWM4MWFjZmFhNGFjMjI4NGNlOGU3NzY3ZmE1OTI5N2M4ZjRl
OC4uYjgzYjZkNjQyMDhiNmMzN2UwZjc5OWRkOGI3N2M2NTFiMjZiMDAyNSAxMDA3NTUKLS0tIGEv
VG9vbHMvd3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzCisrKyBiL1Rvb2xzL3dwZS9pbnN0YWxsLWRl
cGVuZGVuY2llcwpAQCAtMTEwLDYgKzExMCwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5j
aWVzV2l0aEFwdCB7CiAgICAgICAgIHJ1YnktaGlnaGxpbmUgXAogICAgICAgICBydWJ5LWpzb24i
CiAKKyAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB3
aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAgICAgICAg
ZmxhdHBhayIKKwogICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1
aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAogICAgICAgICBn
aXQgXApAQCAtMjEyLDYgKzIxNiwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0
aFBhY21hbiB7CiAgICAgICAgIHB5dGhvbjItcHN1dGlsIFwKICAgICAgICAgcnVieSIKIAorICAg
ICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHdpdGggdGhl
IEZsYXRwYWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAorICAgICAgICBmbGF0cGFr
IgorCiAgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcg
dGhlIGpoYnVpbGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCiAgICAgICAgIGV4cGF0IFwK
QEAgLTMyMyw2ICszMzEsMTAgQEAgZnVuY3Rpb24gaW5zdGFsbERlcGVuZGVuY2llc1dpdGhEbmYg
ewogICAgICAgICBydWJ5Z2VtLWhpZ2hsaW5lIFwKICAgICAgICAgcnVieWdlbS1qc29uIgogCisg
ICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgd2l0aCB0
aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCisgICAgICAgIGZsYXRw
YWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGlu
ZyB0aGUgamhidWlsZC4KICAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKICAgICAgICAgZXhwYXQt
ZGV2ZWwgXApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IGFmN2E5NjQ4ZmI3ZDEzZjZmYjcyMDUzNTEzNTg1MDVjOTU1Mjg0MGUu
LmFlYmVlOTgyM2FlYjZhZDMyY2E5NGI3ZjY0Njc0MWJlNjJiM2E2OTIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMiBAQAorMjAyMC0wMS0wNCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5j
b20+CisKKyAgICAgICAgW0dUS11bV1BFXSBNaWdyYXRlIHRvIEZsYXRwYWstYmFzZWQgZGV2IFNE
SworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NjU4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRw
L2NvbmYvZmxhdHBhay1odHRwZC5jb25mOiBBZGp1c3QgcGF0aHMuCisKIDIwMjAtMDEtMTQgIFph
bGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBMb25nIGNvbnRpbnVhdGlv
biBjaGFpbiBjb3VsZCBsZWFkIHRvIHN0YWNrIGV4aGF1c3Rpb24KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvY29uZi9mbGF0cGFrLWh0dHBkLmNvbmYgYi9MYXlvdXRUZXN0cy9odHRwL2Nv
bmYvZmxhdHBhay1odHRwZC5jb25mCmluZGV4IDNjMDNlNDIzOWMyNDk4OWQ5Y2Q3OTY4NjE0NGJj
N2NlMmIzMGMzMWIuLmJmNTIxNWQ1ODlhZDYxZjg4MmQ1M2EwNjc1YWQ2N2E0NDZhYjk0M2YgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvY29uZi9mbGF0cGFrLWh0dHBkLmNvbmYKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZgpAQCAtMSw1ICsxLDUgQEAK
IFNlcnZlclRva2VucyBPUwotU2VydmVyUm9vdCAiL2FwcC8iCitTZXJ2ZXJSb290ICIvdXNyLyIK
IAogUGlkRmlsZSAiL3RtcC9XZWJLaXQvaHR0cGQucGlkIgogU2NvcmVCb2FyZEZpbGUgIi90bXAv
V2ViS2l0L2h0dHBkLnNjb3JlYm9hcmQiCkBAIC0zMyw5ICszMyw3IEBAIExvYWRNb2R1bGUgbG9n
X2NvbmZpZ19tb2R1bGUgICAgbW9kdWxlcy9tb2RfbG9nX2NvbmZpZy5zbwogTG9hZE1vZHVsZSBz
c2xfbW9kdWxlICAgICAgICAgICBtb2R1bGVzL21vZF9zc2wuc28KIExvYWRNb2R1bGUgcGhwN19t
b2R1bGUgICAgICAgICAgbW9kdWxlcy9saWJwaHA3LnNvCiBMb2FkTW9kdWxlIGFzaXNfbW9kdWxl
ICAgICAgICAgIG1vZHVsZXMvbW9kX2FzaXMuc28KLUxvYWRNb2R1bGUgZW52X21vZHVsZSAgICAg
ICAgICAgbW9kdWxlcy9tb2RfZW52LnNvCiAKLVNldEVudiBQRVJMNUxJQiAvYXBwL2xpYi9wZXJs
CiAKIFNlcnZlck5hbWUgMTI3LjAuMC4xCiAKQEAgLTU0LDcgKzUyLDcgQEAgQWNjZXNzRmlsZU5h
bWUgLmh0YWNjZXNzCiBVc2VDYW5vbmljYWxOYW1lIE9uCiBIb3N0bmFtZUxvb2t1cHMgT2ZmCiAK
LVR5cGVzQ29uZmlnIC9ldGMvbWltZS50eXBlcworVHlwZXNDb25maWcgL3Vzci9jb25mL21pbWUu
dHlwZXMKIAogTG9nTGV2ZWwgd2FybgogTG9nRm9ybWF0ICIlaCAlbCAldSAldCBcIiVyXCIgJT5z
ICViIFwiJXtSZWZlcmVyfWlcIiBcIiV7VXNlci1BZ2VudH1pXCIiIGNvbWJpbmVkCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387924</attachid>
            <date>2020-01-16 08:26:06 -0800</date>
            <delta_ts>2020-01-29 05:05:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205658-20200116162604.patch</filename>
            <type>text/plain</type>
            <size>123537</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmYwNGQyODJhODQ1MTBi
NmE3Nzg3NGY2ODllMDVkMjhmNDVhN2Q5My4uMmUzYmVmYTYxMDZjYzA1MmMwMTE0Yjg3ZmFhYjk2
MmYyMWM4ODAwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAxLTA0ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVd
IE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0
aW9uTGliSHlwaGVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNjYW5UZXN0RGljdGlvbmFyaWVz
RGlyZWN0b3J5SWZOZWNlc3NhcnkpOiBDaGVjayBmb3IgZmxhdHBhay1pbnN0YWxsZWQgZGljdGlv
bmFyaWVzLgorCiAyMDIwLTAxLTE2ICBQaGlsaXBwZSBOb3JtYW5kICA8cGhpbG5AaWdhbGlhLmNv
bT4KIAogICAgICAgICBbR1N0cmVhbWVyXVtXUEVdIENsaWVudC1zaWRlIHZpZGVvIHJlbmRlcmlu
ZyBzdXBwb3J0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2h5cGhl
bi9IeXBoZW5hdGlvbkxpYkh5cGhlbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L2h5cGhlbi9IeXBoZW5hdGlvbkxpYkh5cGhlbi5jcHAKaW5kZXggMTJiYWE0YzRkM2U5ZTYzZjdm
ZjgxYzVlMmIxMTk0YjhiYjhhOWMwNS4uZjMzNTlkODA3MDIyZjU0ODljNjhmOWFjZjgxNmE2NzA0
MmE1M2Q2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9oeXBoZW4v
SHlwaGVuYXRpb25MaWJIeXBoZW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvaHlwaGVuL0h5cGhlbmF0aW9uTGliSHlwaGVuLmNwcApAQCAtMTIxLDggKzEyMSwxNSBAQCBz
dGF0aWMgdm9pZCBzY2FuVGVzdERpY3Rpb25hcmllc0RpcmVjdG9yeUlmTmVjZXNzYXJ5KEhhc2hN
YXA8QXRvbVN0cmluZywgVmVjdG9yPAogICAgIC8vIGxpYmh5cGhlbiBkb2Vzbid0IGhhdmUgdGhl
IGNvbmNlcHQgb2YgaW5zdGFsbGVkIGRpY3Rpb25hcmllcy4gSW5zdGVhZCwKICAgICAvLyB3ZSBo
YXZlIHRoaXMgc3BlY2lhbCBjYXNlIGZvciBXZWJLaXQgdGVzdHMuCiAjaWYgUExBVEZPUk0oR1RL
KQorICAgIC8vIFRyeSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJpZXMgcGF0aCBmb3IgcGVvcGxlIHVz
aW5nIEZsYXRwYWsuCisgICAgR1VuaXF1ZVB0cjxjaGFyPiBkaWN0aW9uYXJpZXNQYXRoKGdfYnVp
bGRfZmlsZW5hbWUoIi91c3IiLCAic2hhcmUiLCAid2Via2l0Z3RrLXRlc3QtZGljdHMiLCBudWxs
cHRyKSk7CisgICAgaWYgKGdfZ2V0ZW52KCJGTEFUUEFLX0lEIikgJiYgZ19maWxlX3Rlc3QoZGlj
dGlvbmFyaWVzUGF0aC5nZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9J
U19ESVIpKSkgeworICAgICAgICBzY2FuRGlyZWN0b3J5Rm9yRGljdGlvbmFyaWVzKGRpY3Rpb25h
cmllc1BhdGguZ2V0KCksIGF2YWlsYWJsZUxvY2FsZXMpOworICAgICAgICByZXR1cm47CisgICAg
fQorCiAgICAgQ1N0cmluZyBidWlsZERpcmVjdG9yeSA9IHdlYmtpdEJ1aWxkRGlyZWN0b3J5KCk7
Ci0gICAgR1VuaXF1ZVB0cjxjaGFyPiBkaWN0aW9uYXJpZXNQYXRoKGdfYnVpbGRfZmlsZW5hbWUo
YnVpbGREaXJlY3RvcnkuZGF0YSgpLCAiRGVwZW5kZW5jaWVzR1RLIiwgIlJvb3QiLCAid2Via2l0
Z3RrLXRlc3QtZGljdHMiLCBudWxscHRyKSk7CisgICAgZGljdGlvbmFyaWVzUGF0aC5yZXNldChn
X2J1aWxkX2ZpbGVuYW1lKGJ1aWxkRGlyZWN0b3J5LmRhdGEoKSwgIkRlcGVuZGVuY2llc0dUSyIs
ICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWRpY3RzIiwgbnVsbHB0cikpOwogICAgIGlmIChnX2Zp
bGVfdGVzdChkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdf
RklMRV9URVNUX0lTX0RJUikpKSB7CiAgICAgICAgIHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJp
ZXMoZGljdGlvbmFyaWVzUGF0aC5nZXQoKSwgYXZhaWxhYmxlTG9jYWxlcyk7CiAgICAgICAgIHJl
dHVybjsKQEAgLTEzMCw3ICsxMzcsOSBAQCBzdGF0aWMgdm9pZCBzY2FuVGVzdERpY3Rpb25hcmll
c0RpcmVjdG9yeUlmTmVjZXNzYXJ5KEhhc2hNYXA8QXRvbVN0cmluZywgVmVjdG9yPAogCiAgICAg
Ly8gVHJ5IGFsdGVybmF0aXZlIGRpY3Rpb25hcmllcyBwYXRoIGZvciBwZW9wbGUgbm90IHVzaW5n
IEpIQnVpbGQuCiAgICAgZGljdGlvbmFyaWVzUGF0aC5yZXNldChnX2J1aWxkX2ZpbGVuYW1lKGJ1
aWxkRGlyZWN0b3J5LmRhdGEoKSwgIndlYmtpdGd0ay10ZXN0LWRpY3RzIiwgbnVsbHB0cikpOwot
ICAgIHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJpZXMoZGljdGlvbmFyaWVzUGF0aC5nZXQoKSwg
YXZhaWxhYmxlTG9jYWxlcyk7CisgICAgaWYgKGdfZmlsZV90ZXN0KGRpY3Rpb25hcmllc1BhdGgu
Z2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfSVNfRElSKSkpCisgICAg
ICAgIHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJpZXMoZGljdGlvbmFyaWVzUGF0aC5nZXQoKSwg
YXZhaWxhYmxlTG9jYWxlcyk7CisKICNlbGlmIGRlZmluZWQoVEVTVF9IWVBIRU5BVEFJT05fUEFU
SCkKICAgICBzY2FuRGlyZWN0b3J5Rm9yRGljdGlvbmFyaWVzKFRFU1RfSFlQSEVOQVRBSU9OX1BB
VEgsIGF2YWlsYWJsZUxvY2FsZXMpOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiZThlZWY1YjY2NThmNDNkNWIxODMyN2Y4ZTY1YzQ3
ZmI2MGE5YzQzLi45ZTc1YmU2YmJhMTAxMWQ3MjNjYTc4Njg0ODIxZDIwOTQ4NDQ1OGRhIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTE1IEBACisyMDIwLTAxLTA0ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNv
bT4KKworICAgICAgICBbR1RLXVtXUEVdIE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBkZXYgU0RL
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NTgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBKSEJ1aWxk
IHdpbGwgbm93IGJlIHVzZWQgb25seSBpZiB0aGUgV0VCS0lUX0pIQlVJTEQgZW52aXJvbm1lbnQK
KyAgICAgICAgdmFyaWFibGUgaXMgc2V0IHRvIDEsIHdoaWNoIGlzIHRoZSBjYXNlIGZvciB0aGUg
dGltZSBiZWluZyBvbiB0aGUKKyAgICAgICAgR1RLIGFuZCBXUEUgRVdTL2J1aWxkIGJvdHMuCisK
KyAgICAgICAgQnkgZGVmYXVsdCB0aGUgYnVpbGQgZGVwZW5kZW5jaWVzIGFyZSBub3cgbG9jYWxs
eSBpbnN0YWxsZWQgZnJvbSBhCisgICAgICAgIEZsYXRwYWsgcmVwb3NpdG9yeSBob3N0ZWQgYXQg
aHR0cHM6Ly9zb2Z0d2FyZS5pZ2FsaWEuY29tLiBUaGUKKyAgICAgICAgcmVwb3NpdG9yeSBjYW4g
YmUgcmVnZW5lcmF0ZWQgd2l0aCB0aGUgc2NyaXB0cyBmcm9tIHRoZQorICAgICAgICB3ZWJraXQt
ZmxhdHBhay1zZGsgR2l0aHViIHByb2plY3QKKyAgICAgICAgKGh0dHBzOi8vZ2l0aHViLmNvbS9J
Z2FsaWEvd2Via2l0LWZsYXRwYWstc2RrKS4gVGhpcyBpcyBkb25lCisgICAgICAgIHRyYW5zcGFy
ZW50bHkgd2l0aCB0aGUgdXBkYXRlLXdlYmtpdHtndGssd3BlfS1saWJzIHNjcmlwdHMuIEFzCisg
ICAgICAgIHRoZXJlIGlzIG5vIG5lZWQgdG8gcmVidWlsZCB0aGUgZGVwZW5kZW5jaWVzIGZyb20g
c2NyYXRjaCwgdGhlCisgICAgICAgIGRldmVsb3BlciB1c2VyLWV4cGVyaWVuY2Ugc2hvdWxkIG5v
dyBiZSBtdWNoIG1vcmUgZnJpZW5kbHkgYW5kCisgICAgICAgIG92ZXJhbGwgYnVpbGQgdGltZXMg
cmVkdWNlZC4KKworICAgICAgICBBcyBhbiBhZGRpdGlvbmFsIGNvbW1vZGl0eSwgdGhlIG5ldyBl
bnZpcm9ubWVudCBzdXBwb3J0cyB0aGUKKyAgICAgICAgR1N0cmVhbWVyIGdzdC1idWlsZC1iYXNl
ZCB3b3JrZmxvdy4gSnVzdCBzZXQgdGhlIEdTVF9CVUlMRF9QQVRICisgICAgICAgIGVudmlyb25t
ZW50IHZhcmlhYmxlIHRvIHlvdXIgZ3N0LWJ1aWxkIHBhdGguIFRoaXMgZmVhdHVyZSB3YXMKKyAg
ICAgICAgY29udHJpYnV0ZWQgYnkgVGhpYmF1bHQgU2F1bmllci4KKworICAgICAgICBUaGUgSkhC
dWlsZCBpbmZyYXN0cnVjdHVyZSB3aWxsIGJlIHJlbW92ZWQgb25jZSBhbGwgdGhlIGJvdHMgaGF2
ZQorICAgICAgICBiZWVuIHN3aXRjaGVkIG92ZXIgdG8gRmxhdHBhay4KKworICAgICAgICAqIEJ1
aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKEluc3RhbGxHdGtE
ZXBlbmRlbmNpZXMpOgorICAgICAgICAoSW5zdGFsbFdwZURlcGVuZGVuY2llcyk6CisgICAgICAg
IChDb21waWxlV2ViS2l0LnN0YXJ0KToKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9ndGsv
YnVpbGRib3QvcnVuOgorICAgICAgICAqIFNjcmlwdHMvYnVpbGQtd2Via2l0OgorICAgICAgICAq
IFNjcmlwdHMvcnVuLWJpbmRpbmdzLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVuLWJ1aWx0
aW5zLWdlbmVyYXRvci10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1ndGstdGVzdHM6Cisg
ICAgICAgICogU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHM6CisgICAgICAgICogU2Ny
aXB0cy9ydW4tbWluaWJyb3dzZXI6CisgICAgICAgICogU2NyaXB0cy9ydW4tcXQtd3BlLW1pbmli
cm93c2VyOgorICAgICAgICAqIFNjcmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0czoKKyAgICAgICAg
KiBTY3JpcHRzL3J1bi13cGUtdGVzdHM6CisgICAgICAgICogU2NyaXB0cy90ZXN0LXdlYmtpdHBl
cmw6CisgICAgICAgICogU2NyaXB0cy90ZXN0LXdlYmtpdHB5OgorICAgICAgICAqIFNjcmlwdHMv
dGVzdDI2Mi1ydW5uZXI6CisgICAgICAgICogU2NyaXB0cy91cGRhdGUtd2Via2l0LWZsYXRwYWs6
IFJlbmFtZWQgZnJvbSBUb29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstZmxhdHBhay4KKyAg
ICAgICAgKiBTY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstbGliczoKKyAgICAgICAgKiBTY3JpcHRz
L3VwZGF0ZS13ZWJraXR3cGUtZmxhdHBhazogUmVtb3ZlZC4KKyAgICAgICAgKiBTY3JpcHRzL3Vw
ZGF0ZS13ZWJraXR3cGUtbGliczoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdGRpcnMucG06Cisg
ICAgICAgIChnZXRVc2VyRmxhdHBha1BhdGgpOgorICAgICAgICAoaW5GbGF0cGFrU2FuZGJveCk6
CisgICAgICAgIChydW5JbkZsYXRwYWtJZkF2YWlsYWJsZSk6CisgICAgICAgICh3cmFwcGVyUHJl
Zml4SWZOZWVkZWQpOgorICAgICAgICAoc2hvdWxkVXNlSmhidWlsZCk6CisgICAgICAgIChzaG91
bGRVc2VGbGF0cGFrKToKKyAgICAgICAgKHNob3VsZFJlbW92ZUNNYWtlQ2FjaGUpOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmUucHk6CisgICAgICAg
IChFeGVjdXRpdmUua2lsbF9hbGwpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9i
YXNlLnB5OgorICAgICAgICAoUG9ydC5fcGF0aF90b19hcGFjaGUpOgorICAgICAgICAoUG9ydC5f
c2hvdWxkX3J1bl9hc19waXhlbF90ZXN0KToKKyAgICAgICAgKFBvcnQuX2luX2ZsYXRwYWtfc2Fu
ZGJveCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weToKKyAgICAgICAg
KEd0a1BvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKToKKyAgICAgICAgKEd0a1BvcnQuX2dl
dF9jcmFzaF9sb2cpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRf
Y3Jhc2hfbG9nLnB5OgorICAgICAgICAoR0RCQ3Jhc2hMb2dHZW5lcmF0b3IpOgorICAgICAgICAo
R0RCQ3Jhc2hMb2dHZW5lcmF0b3IuX19pbml0X18pOgorICAgICAgICAoR0RCQ3Jhc2hMb2dHZW5l
cmF0b3IuZ2VuZXJhdGVfY3Jhc2hfbG9nKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvbGludXhfZ2V0X2NyYXNoX2xvZ191bml0dGVzdC5weToKKyAgICAgICAgKEdEQkNyYXNoTG9n
R2VuZXJhdG9yVGVzdC50ZXN0X2dlbmVyYXRlX2NyYXNoX2xvZyk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9wb3J0L3dwZS5weToKKyAgICAgICAgKFdQRVBvcnQuc2V0dXBfZW52aXJvbl9m
b3Jfc2VydmVyKToKKyAgICAgICAgKFdQRVBvcnQuX2dldF9jcmFzaF9sb2cpOgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyLnB5OgorICAgICAgICAoWHZmYkRyaXZl
ci5fc2V0dXBfZW52aXJvbl9mb3JfdGVzdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0ay5jcHA6CisgICAgICAgIChXVFI6Omdl
dEZvbnRzUGF0aCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93
cGUvQWN0aXZhdGVGb250c1dQRS5jcHA6CisgICAgICAgIChXVFI6OmdldEZvbnRzUGF0aCk6Cisg
ICAgICAgICogZmxhdHBhay9maWxlcy9kZWZhdWx0LnhrbTogUmVtb3ZlZC4KKyAgICAgICAgKiBm
bGF0cGFrL2ZpbGVzL2h0dHBkLWF1dG9nZW4uc2g6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBh
ay9mbGF0cGFrdXRpbHMucHk6CisgICAgICAgIChjaGVja19mbGF0cGFrKToKKyAgICAgICAgKEZs
YXRwYWtSZXBvcy51cGRhdGUpOgorICAgICAgICAoRmxhdHBha1BhY2thZ2UuX19yZXByX18pOgor
ICAgICAgICAoRmxhdHBha1BhY2thZ2UuX19zdHJfXyk6CisgICAgICAgIChXZWJraXRGbGF0cGFr
LmxvYWRfZnJvbV9hcmdzKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuX19pbml0X18pOgorICAg
ICAgICAoV2Via2l0RmxhdHBhay5jbGVhbl9hcmdzKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsu
c2V0dXBfYnVpbGRkaXIpOgorICAgICAgICAoV2Via2l0RmxhdHBhayk6CisgICAgICAgIChXZWJr
aXRGbGF0cGFrLnNldHVwX2dzdGJ1aWxkKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsucnVuX2lu
X3NhbmRib3gpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5ydW4pOgorICAgICAgICAoV2Via2l0
RmxhdHBhay5oYXNfZW52aXJvbm1lbnQpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5zYXZlX2Nv
bmZpZyk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnNldHVwX2Rldl9lbnYpOgorICAgICAgICAo
V2Via2l0RmxhdHBhay5pbnN0YWxsX2FsbCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnJ1bl9n
ZGIpOgorICAgICAgICAqIGZsYXRwYWsvb3JnLndlYmtpdC5Db21tb25Nb2R1bGVzLnlhbWw6IFJl
bW92ZWQuCisgICAgICAgICogZmxhdHBhay9vcmcud2Via2l0LkdUSy55YW1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGZsYXRwYWsvb3JnLndlYmtpdC5XUEUueWFtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmbGF0cGFrL29yZy53ZWJraXQuV1BFTW9kdWxlcy55YW1sOiBSZW1vdmVkLgorICAgICAgICAq
IGZsYXRwYWsvb3JnLndlYmtpdC5XUEVRVC55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRw
YWsvb3JnLndlYmtpdC5XZWJLaXQueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL3Bh
dGNoZXMvaHR0cGQtMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0
aW9uLnBhdGNoOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsvcGF0Y2hlcy9saWJnY3J5cHQt
MDAwMS1Vc2UtcGtnLWNvbmZpZy10by1kZXRlY3QtZ3BnLWVycm9yLnBhdGNoOiBSZW1vdmVkLgor
ICAgICAgICAqIGZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEtSEFDSy1Bdm9pZC1jb21waWxpbmct
YS1rYm0tZmlsZS5wYXRjaDogUmVtb3ZlZC4KKwogMjAyMC0wMS0xNiAgUGhpbGlwcGUgTm9ybWFu
ZCAgPHBoaWxuQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl1bV1BFXSBDbGllbnQt
c2lkZSB2aWRlbyByZW5kZXJpbmcgc3VwcG9ydApkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2
ZVN1cHBvcnQvZ3RrL1JFQURNRSBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9SRUFETUUK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5Zjg5Zjk4MjFhZWVhMjBlZGI3Y2VkYmNh
YmZiNzdmMzgwYmQyYzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL1JFQURNRQorKysgL2Rldi9udWxsCkBA
IC0xLDQ4ICswLDAgQEAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLSBSdW5uaW5nIGEgR1RLKyBidWlsZCBzbGF2ZSB1bmRlciBkYWVtb250b29scwotPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi1UaGlzIGRpcmVj
dG9yeSBjb250YWlucyBzZXZlcmFsIHNjcmlwdHMgd2hpY2ggY2FuIGJlIHVzZWQgdG8gcnVuIGEg
V2ViS2l0R1RLCi1idWlsZCBzbGF2ZSB1bmRlciBkYWVtb250b29scyBbMV0uIFRoaXMgaXMgY29u
dmVuaWVudCBiZWNhdXNlIGRhZW1vbnRvb2xzCi13aWxsIGF1dG9tYXRpY2FsbHkgcmVzdGFydCBz
ZXJ2aWNlcyB3aGVuIHRoZXkgZGllLCBhbmQgdGhhdCBtZWFucyBsZXNzIGh1bWFuCi1pbnRlcnZl
bnRpb24gaXMgbmVlZGVkLgotCi0KLURlcGVuZGVuY2llcwotPT09PT09PT09PT09Ci0KLUluIG9y
ZGVyIHRvIHVzZSB0aGUgcHJvdmlkZWQgc2VydmljZSBjb250cm9sIGZpbGVzLCB5b3Ugd2lsbCBu
ZWVkIHRoZQotZm9sbG93aW5nOgotCi0qIFRoZSBHTlUgQmFzaCBzaGVsbCAodGhlIHNjcmlwdHMg
Y29udGFpbiBzb21lIGJhc2gtaXNtcykKLQotKiBUaGUgZGFlbW9udG9vbHMgcGFja2FnZSAob3Ig
b25lIG9mIGl0cyBkcm9wLWluIHJlcGxhY2VtZW50cywgbGlrZSBydW5pdAotICBvciBmcmVlZHQ7
IGJ1dCBvbmx5IGRhZW1vbnRvb2xzIGhhcyBiZWVuIHRlc3RlZCBzbyBmYXIpLgotCi1JbiBzaG9y
dCwgaW4gYSBEZWJpYW4tYmFzZWQgc3lzdGVtIHlvdSBjYW4gZW5zdXJlIHlvdSBoYXZlIHRoZSBu
ZWVkZWQgYml0cwotd2l0aCB0aGUgZm9sbG93aW5nIGNvbW1hbmQ6Ci0KLSAgYXB0LWdldCBpbnN0
YWxsIGRhZW1vbnRvb2xzLXJ1bgotCi0KLVNldHVwCi09PT09PQotCi0xLiBGb2xsb3cgdGhlIGlu
c3RydWN0aW9ucyBhdCBodHRwOi8vdHJhYy53ZWJraXQub3JnL3dpa2kvQnVpbGRCb3QKLQotMi4g
SW5zdGFsbCB0aGUgZGVwZW5kZW5jaWVzIG91dGxpbmVkIGFib3ZlLgotCi0zLiBDb3B5ICJkYWVt
b250b29scy1idWlsZGJvdC5jb25mIiB0byAiL2V0Yy9kYWVtb250b29scy1idWlsZGJvdC5jb25m
IgotCi00LiBFZGl0IHRoZSBjb25maWd1cmF0aW9uIGZpbGUgdG8gc3VpdCB5b3VyIG5lZWRzLCB0
aGUgY29tbWVudHMgc2hvdWxkCi0gICBiZSBzZWxmLWV4cGxhbmF0b3J5LgotCi01LiBEcm9wIHRo
ZSAiYnVpbGRib3QiIGFuZCAicHVsc2VhdWRpbyIgZGlyZWN0b3JpZXMgdG8gdGhlIHNlcnZpY2Ug
Y29udHJvbCBkaXJlY3Rvcnkgb2YKLSAgIGRhZW1vbnRvb2xzOyBmb3IgRGViaWFuLWJhc2VkIHNl
dHVwcyB0aGF0IHdvdWxkIGJlICIvZXRjL3NlcnZpY2UiCi0KLQotUmVmZXJlbmNlcwotPT09PT09
PT09PQotCi1bMV0gaHR0cDovL2NyLnlwLnRvL2RhZW1vbnRvb2xzLmh0bWwKLQpkaWZmIC0tZ2l0
IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L2xvZy9ydW4gYi9Ub29scy9C
dWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvbG9nL3J1bgpkZWxldGVkIGZpbGUgbW9kZSAx
MDA3NTUKaW5kZXggZjZjNzQ0YzZkZGE0NWNiZTJiNWQwZmE4YzRmMjViYWI1MWY2YTRkZC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9CdWlsZFNs
YXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvbG9nL3J1bgorKysgL2Rldi9udWxsCkBAIC0xLDM4ICsw
LDAgQEAKLSMhIC91c3IvYmluL2VudiBiYXNoCi0jCi0jIENvcHlyaWdodCAoQykgMjAxMCBJZ2Fs
aWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0jIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotIyB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQotIyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAg
SWYgbm90LCB3cml0ZSB0bwotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAyMTEwLTEzMDEs
IFVTQS4KLQotOiAke0JVSUxEQk9UX0NPTkZJRzo9L2V0Yy9kYWVtb250b29scy1idWlsZGJvdC5j
b25mfQotCi0jIFJlYWQgY29uZmlndXJhdGlvbiBmaWxlCi1bIC1yICIke0JVSUxEQk9UX0NPTkZJ
R30iIF0gJiYgLiAiJHtCVUlMREJPVF9DT05GSUd9IgotCi06ICR7YnVpbGRib3RfdXNlcjo9JHtI
T01FfX0KLTogJHtidWlsZGJvdF9sb2dfcGF0aDo9L3Zhci9sb2cvYnVpbGRib3R9Ci0KLSMgRXhw
YW5kIGFsbCAiZW52XyoiIGVudmlyb25tZW50IHZhcmlhYmxlcwotZm9yIHZhcm5hbWUgaW4gJHsh
ZW52Xyp9IDsgZG8KLQlldmFsICJleHBvcnQgJHt2YXJuYW1lI2Vudl99PVwkeyR7dmFybmFtZX19
IgotZG9uZQotCi1ta2RpciAtcCAiJHtidWlsZGJvdF9sb2dfcGF0aH0iCi1jaG93biAiJHtidWls
ZGJvdF91c2VyfSIgIiR7YnVpbGRib3RfbG9nX3BhdGh9IgotCi1leGVjIC91c3IvYmluL3NldHVp
ZGdpZCAiJHtidWlsZGJvdF91c2VyfSIgXAotICAgICAvdXNyL2Jpbi9tdWx0aWxvZyB0ICIke2J1
aWxkYm90X2xvZ19wYXRofSIKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQv
Z3RrL2J1aWxkYm90L3J1biBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWlsZGJvdC9y
dW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDE2NmMzODNlYThlNmMxMGZjYzA1ZWYw
N2VkNGY0ODg5YmJiYjllYWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L3J1bgorKysgL2Rl
di9udWxsCkBAIC0xLDc3ICswLDAgQEAKLSMhIC91c3IvYmluL2VudiBiYXNoCi0jCi0jIENvcHly
aWdodCAoQykgMjAxMCBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
Ci0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCi0jIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgotIyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQotIyBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMK
LSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotIyB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIyBCb3N0
b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLQotZXhlYyAyPiYxCi0KLTogJHtCVUlMREJPVF9DT05G
SUc6PS9ldGMvZGFlbW9udG9vbHMtYnVpbGRib3QuY29uZn0KLQotIyBSZWFkIGNvbmZpZ3VyYXRp
b24gZmlsZQotWyAtciAiJHtCVUlMREJPVF9DT05GSUd9IiBdICYmIC4gIiR7QlVJTERCT1RfQ09O
RklHfSIKLQotIyBFeHBhbmQgYWxsICJlbnZfKiIgZW52aXJvbm1lbnQgdmFyaWFibGVzCi1mb3Ig
dmFybmFtZSBpbiAkeyFlbnZfKn0gOyBkbwotCWV2YWwgImV4cG9ydCAke3Zhcm5hbWUjZW52X309
XCR7JHt2YXJuYW1lfX0iCi1kb25lCi0KLQotaWYgISBbICIke2J1aWxkYm90X3BhdGh9IiBdIDsg
dGhlbgotCWVjaG8gIk5vIFwke2J1aWxkYm90X3BhdGh9IGRlZmluZWQhICh3aWxsIHNsZWVwIGZv
ciA1IG1pbnV0ZXMpIgotCXNsZWVwIDMwMAotCWV4aXQgMTExCi1maQotCi0KLWlmICEgWyAiJHtX
RUJLSVRfVEVTVEZPTlRTfSIgXSA7IHRoZW4KLQllY2hvICJObyBcJHtXRUJLSVRfVEVTVEZPTlRT
fSBlbnZpcm9ubWVudCB2YXJpYWJsZSEgKHdpbGwgc2xlZXAgZm9yIDUgbWludXRlcykiCi0Jc2xl
ZXAgMzAwCi0JZXhpdCAxMTEKLWZpCi0KLQotaWYgWyAiJHtjb3JlZHVtcF9vdXRwdXQ6PScnfSIg
XSA7IHRoZW4KLQkjIEVuc3VyZSB0aGF0IHRoZSBvdXRwdXQgZGlyZWN0b3J5IGV4aXN0cy4KLQlp
ZiBbWyAhIC1kICR7Y3Jhc2htb25fb3V0cHV0fSBdXSA7IHRoZW4KLQkJbWtkaXIgLXAgIiR7Y3Jh
c2htb25fb3V0cHV0fSIKLQlmaQotCi0JdWxpbWl0IC1jICIke2NyYXNobW9uX21heF9zaXplOj11
bmxpbWl0ZWR9IgotZmkKLQotCi1pZiBbICIke2NjYWNoZV9wYXRofSIgXSA7IHRoZW4KLQlleHBv
cnQgUEFUSD0iJHtjY2FjaGVfcGF0aH06JHtQQVRIfSIKLWZpCi0KLTogJHtidWlsZGJvdF91c2Vy
Oj0ke1VTRVJ9fQotCi1jZCAiJHtidWlsZGJvdF9wYXRofSIKLWV4ZWMgL3Vzci9iaW4vZW52IC0g
ICAgICAgICAgXAotCQlURVJNPWR1bWIgICAgICAgICAgICAgICAgIFwKLQkJVFo9UFNUOFBEVCAg
ICAgICAgICAgICAgICAgXAotCQlQQVRIPSIke1BBVEh9IiAgICAgICAgICAgICAgXAotCQlTSEVM
TD0vYmluL2Jhc2ggICAgICAgICAgICAgIFwKLQkJTEFORz1lbl9VUy5VVEYtOCAgICAgICAgICAg
ICAgXAotCQlVU0VSPSIke2J1aWxkYm90X3VzZXJ9IiAgICAgICAgXAotCQlMT0dOQU1FPSIke2J1
aWxkYm90X3VzZXJ9IiAgICAgIFwKLQkJSE9NRT0iL2hvbWUvJHtidWlsZGJvdF91c2VyfSIgICAg
XAotCQlESVNQTEFZPSIke3h2ZmJfZGlzcGxheTotJzoxMCd9IiAgXAotCQlNQUlMPSIvdmFyL21h
aWwvJHtidWlsZGJvdF91c2VyfSIgIFwKLQkvdXNyL2Jpbi9zZXR1aWRnaWQgIiR7YnVpbGRib3Rf
dXNlcn0iIFwKLQkvdXNyL2Jpbi90d2lzdGQgLW5veSBidWlsZGJvdC50YWMKLQpkaWZmIC0tZ2l0
IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNvbmYg
Yi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvZGFlbW9udG9vbHMtYnVpbGRib3QuY29uZgpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDZhZjI5ZjdiMDYyNjgyMTZjZTRhMWYxYWFl
ZThkNDYyMGQyNGRmZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvZGFlbW9udG9vbHMtYnVpbGRib3QuY29u
ZgorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDEwIEln
YWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0j
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCi0jIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAtMTMw
MSwgVVNBLgotCi0KLSMgUGF0aCB0byB0aGUgQnVpbGRib3Qgc2xhdmUgZGlyZWN0b3J5Ci0jCi1i
dWlsZGJvdF9wYXRoPSIvaG9tZS9zbGF2ZS93ZWJraXRndGsiCi0KLSMgVXNlciBhY2NvdW50IHVz
ZWQgdG8gcnVuIEJ1aWxkYm90LgotIwotYnVpbGRib3RfdXNlcj0ic2xhdmUiCi0KLSMgUGF0aCB0
byBhIGRpcmVjdG9yeSB3aGVyZSB0byBsb2cgQnVpbGRib3Qgb3V0cHV0Ci0jCi1idWlsZGJvdF9s
b2dfcGF0aD0iL3Zhci9sb2cvYnVpbGRib3QiCi0KLQotIyBJZiB5b3Ugd2FudCB0byB1c2UgY2Nh
Y2hlLCBzZXQgYSBwYXRoIHRvIHdoZXJlIHN5bmxpbmtzIHdpdGggdG9vbAotIyBuYW1lcyBwb2lu
dGluZyB0byBjY2FjaGUgYXJlIGluc3RhbGxlZC4gSW4gRGViaWFuIHN5c3RlbXMgdGhpcwotIyB3
b3VsZCBiZSAvdXNyL2xpYi9jY2FjaGUuIFNldCB0byBlbXB0eSB0byBkaXNhYmxlLgotIwotY2Nh
Y2hlX3BhdGg9Ii91c3IvbGliL2NjYWNoZSIKLQotCi0jIEVudmlyb25tZW50IHZhcmlhYmxlcy4g
UHJlZml4IHRoZW0gd2l0aCAiZW52XyIuCi0jCi1lbnZfQ0ZMQUdTPSItcGlwZSIKLWVudl9DWFhG
TEFHUz0iLXBpcGUiCi1lbnZfTERGTEFHUz0iLW5vLWluc3RhbGwgLW5vLWZhc3QtaW5zdGFsbCIK
LWVudl9XRUJLSVRfVEVTVEZPTlRTPSIvaG9tZS8ke2J1aWxkYm90X3VzZXJ9L3Rlc3Rmb250cyIK
LQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL3B1bHNlYXVkaW8vcnVu
IGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL3B1bHNlYXVkaW8vcnVuCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDc1NQppbmRleCA3YzExN2FkOWQyMDczOThkODZmMDI3MzhlNTkzMTg5NTkxN2Q1
Njc4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xz
L0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9wdWxzZWF1ZGlvL3J1bgorKysgL2Rldi9udWxsCkBAIC0x
LDI0ICswLDAgQEAKLSMhIC91c3IvYmluL2VudiBiYXNoCi0jCi0jIENvcHlyaWdodCAoQykgMjAx
MCBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0jIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgotIyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bwotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KLQotZXhlYyAyPiYxCi1leGVjIC91c3IvYmluL3B1bHNlYXVkaW8gLS1zeXN0
ZW0gXAotCS0tZGlzYWxsb3ctZXhpdCAtLWRpc2FsbG93LW1vZHVsZS1sb2FkaW5nIFwKLQktLWxv
Zy10YXJnZXQ9c3lzbG9nCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0
IGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKaW5kZXggZmMwNjY0YTY1MDU1NDZmNDI4Yzc1
MTRiOTY3NTExOWI3NWE2MjE0MC4uMDk5ZDMzYTRiOWI5Y2RmNDMyY2QxMDI2ZWE2YWFlMGNiOTI1
N2E3NyAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKKysrIGIvVG9vbHMv
U2NyaXB0cy9idWlsZC13ZWJraXQKQEAgLTUzLDggKzUzLDggQEAgc2V0Q29uZmlndXJhdGlvbigp
OwogCiBpZiAoc2hvdWxkVXNlRmxhdHBhaygpKSB7CiAgICAgcHJpbnQgIkJ1aWxkaW5nIGZsYXRw
YWsgYmFzZWQgZW52aXJvbm1lbnRcbiI7Ci0KLSAgICBydW5JbkZsYXRwYWsoIi9hcHAvd2Via2l0
L1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0Iik7CisgICAgbXkgQGNvbW1hbmQgPSAoRmlsZTo6
U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgIlNjcmlwdHMiLCAiYnVpbGQtd2Vi
a2l0IikpOworICAgIHJ1bkluRmxhdHBhayhAY29tbWFuZCk7CiB9CiAKIG15ICRvcmlnaW5hbFdv
cmtpbmdEaXJlY3RvcnkgPSBnZXRjd2QoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVu
LWJpbmRpbmdzLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMKaW5kZXgg
ZjZlNDQ3NzI1MGY5ZTE5ZTM5NThlZmNiN2Q2ZTgxZTJhYzI4YzlhYi4uMGFjMGIzYTMxMDg4YTEy
MmUwOTk4ZWE0OTU2NWJmMjM4NzczOGE1MCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4t
YmluZGluZ3MtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMKQEAg
LTMzLDYgKzMzLDExIEBAIGltcG9ydCBvcwogaW1wb3J0IHN5cwogZnJvbSB3ZWJraXRweS5jb21t
b24uc3lzdGVtIGltcG9ydCBleGVjdXRpdmUKIAordG9wX2xldmVsX2RpcmVjdG9yeSA9IG9zLnBh
dGgubm9ybXBhdGgob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICcuLics
ICcuLicpKQorc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxfZGlyZWN0
b3J5LCAnVG9vbHMnLCAnZmxhdHBhaycpKQoraW1wb3J0IGZsYXRwYWt1dGlscworZmxhdHBha3V0
aWxzLnJ1bl9pbl9zYW5kYm94X2lmX2F2YWlsYWJsZShzeXMuYXJndikKKwogZGVmIG1haW4oYXJn
dik6CiAgICAgIiIiUnVucyBXZWJDb3JlIGJpbmRpbmdzIGNvZGUgZ2VuZXJhdG9ycyBvbiB0ZXN0
IElETCBmaWxlcyBhbmQgY29tcGFyZXMKICAgICB0aGUgcmVzdWx0cyB3aXRoIHJlZmVyZW5jZSBm
aWxlcy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRvci10
ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRvci10ZXN0cwppbmRleCAy
Mzk4Yzc4Y2ExMGVjNTk3NjI2NjEyYzg1NTUzYWJkMWE0ZTZmYmQ0Li5mYmIwODY0MjQxOTc0ZWE2
MDM1ZGE4OGIzNjc5YmM0M2MwMmM3ZTlkIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1i
dWlsdGlucy1nZW5lcmF0b3ItdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tYnVpbHRpbnMt
Z2VuZXJhdG9yLXRlc3RzCkBAIC0yNSw2ICsyNSwxMiBAQAogaW1wb3J0IHN5cwogZnJvbSB3ZWJr
aXRweS5jb21tb24uc3lzdGVtIGltcG9ydCBleGVjdXRpdmUKIAoraW1wb3J0IG9zCit0b3BfbGV2
ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJu
YW1lKF9fZmlsZV9fKSwgJy4uJywgJy4uJykpCitzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5q
b2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICdUb29scycsICdmbGF0cGFrJykpCitpbXBvcnQgZmxh
dHBha3V0aWxzCitmbGF0cGFrdXRpbHMucnVuX2luX3NhbmRib3hfaWZfYXZhaWxhYmxlKHN5cy5h
cmd2KQorCiBkZWYgbWFpbihhcmd2KToKICAgICAiIiJSdW5zIHRoZSBKUyBidWlsdGlucyBjb2Rl
IGdlbmVyYXRvciBvbiB0ZXN0IGlucHV0IGZpbGVzIGFuZCBjb21wYXJlcwogICAgIHRoZSByZXN1
bHRzIHdpdGggcmVmZXJlbmNlIGZpbGVzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4t
Z3RrLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzCmluZGV4IDQxYjA1ZTJkZjRi
MWU2ZDhmZTM4ZWEzYzU0OWI1MzM1ODRhNDI5N2UuLmQzOTc0OGY0YzNkOGZkZmNlZmYxYTIyOTlh
ZGE0MmM4N2U2NWFhZTUgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWd0ay10ZXN0cwor
KysgYi9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMKQEAgLTEzMyw3ICsxMzMsNyBAQCBpZiBf
X25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIGlmIG5vdCBmbGF0cGFrdXRpbHMuaXNfc2FuZGJv
eGVkKCkgYW5kIG5vdCBqaGJ1aWxkdXRpbHMuZW50ZXJfamhidWlsZF9lbnZpcm9ubWVudF9pZl9h
dmFpbGFibGUoImd0ayIpOgogICAgICAgICBwcmludCAnKioqJwogICAgICAgICBwcmludCAnKioq
IFdhcm5pbmc6IGpoYnVpbGQgZW52aXJvbm1lbnQgbm90IHByZXNlbnQgYW5kIG5vdCBydW5uaW5n
IGluIGZsYXRwYWsuJwotICAgICAgICBwcmludCAnKioqIFJ1biB1cGRhdGUtd2Via2l0Z3RrLWxp
YnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIGJlZm9yZSBidWlsZC13ZWJraXQgdG8gZW5z
dXJlIHByb3BlciB0ZXN0aW5nLi4nCisgICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13ZWJr
aXRndGstbGlicyBvciB1cGRhdGUtd2Via2l0LWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtpdCB0
byBlbnN1cmUgcHJvcGVyIHRlc3RpbmcuLicKICAgICAgICAgcHJpbnQgJyoqKicKIAogICAgIG9w
dGlvbl9wYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIodXNhZ2U9J3VzYWdlOiAlcHJvZyBb
b3B0aW9uc10gW3Rlc3QuLi5dJykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFz
Y3JpcHRjb3JlLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMK
aW5kZXggYzU0MmNlOWJlYzg5NWJjMGNhYTY5MjljYjcyNWNkODEwNGUxNWFlZS4uOTg0ZWFlZTJm
MGE0OGMxZDA1NjgyNjViMzk0Yzk4Y2M3ZDYzZjM0ZCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0
cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNj
cmlwdGNvcmUtdGVzdHMKQEAgLTQ2LDYgKzQ2LDEyIEBAIHVzZSBUZXh0OjpQYXJzZVdvcmRzOwog
c2V0Q29uZmlndXJhdGlvbigpOwogbXkgJGNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uKCk7
CiAKK2lmIChzaG91bGRVc2VGbGF0cGFrKCkpIHsKKyAgICBteSBAY29tbWFuZCA9IChGaWxlOjpT
cGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tamF2YXNj
cmlwdGNvcmUtdGVzdHMiKSk7CisgICAgcnVuSW5GbGF0cGFrKEBjb21tYW5kKTsKK30KKworCiAj
IFRoZXNlIHZhcmlhYmxlcyBhcmUgaW50ZW50aW9uYWxseSBsZWZ0IHVuZGVmaW5lZC4KIG15ICRy
b290OwogbXkgJHNob3dIZWxwOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tbWluaWJy
b3dzZXIgYi9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlcgppbmRleCA0Y2Y2YmU0MDQ3YmZk
NzZkNjgxMDlhYjI5YWE2OGE5MGRjMDg2NmUxLi45MGNkM2ZhZjQzMWFlYjkyOGRmZDZkZGZkNmVk
NmQyM2QyZjIxY2NjIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3Nlcgor
KysgYi9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlcgpAQCAtNDUsNyArNDUsOCBAQCBwcm9o
aWJpdFVua25vd25Qb3J0KCk7CiBzZXRDb25maWd1cmF0aW9uKCk7CiAKIGlmIChpc0d0aygpIHx8
IGlzV1BFKCkpIHsKLSAgICBydW5JbkZsYXRwYWtJZkF2YWlsYWJsZSgiL2FwcC93ZWJraXQvVG9v
bHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXIiKTsKKyAgICBteSBAY29tbWFuZCA9IChGaWxlOjpT
cGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tbWluaWJy
b3dzZXIiKSk7CisgICAgcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQGNvbW1hbmQpOwogCiAgICAg
IyBDaGVjayB0byBzZWUgdGhhdCBhbGwgdGhlIGZyYW1ld29ya3MgYXJlIGJ1aWx0LgogICAgIGNo
ZWNrRnJhbWV3b3JrcygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tcXQtd3BlLW1p
bmlicm93c2VyIGIvVG9vbHMvU2NyaXB0cy9ydW4tcXQtd3BlLW1pbmlicm93c2VyCmluZGV4IGFl
YWNiNDgzYzJmZDEwYWFhNWZkZDAwZGM2ZDRjMGM5ZjYxNzMyNDUuLmQ0MjFjZTYyNDgxNmUxMmQy
ZDdkZjM4ZGE5MDlhZDA1YTZjOTVmYTAgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLXF0
LXdwZS1taW5pYnJvd3NlcgorKysgYi9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dz
ZXIKQEAgLTM4LDkgKzM4LDEzIEBAIG15IEBqaGJ1aWxkV3JhcHBlcjsKIG15ICRjb25maWd1cmF0
aW9uID0gcGFzc2VkQ29uZmlndXJhdGlvbigpOwogbXkgJHByb2R1Y3REaXIgPSBwcm9kdWN0RGly
KCk7CiAKLSRsaWJQYXRoID0gIi9hcHAvd2Via2l0L1dlYktpdEJ1aWxkLyRjb25maWd1cmF0aW9u
L2xpYi9xbWwiIGlmICRjb25maWd1cmF0aW9uOwotJEVOVnsiUU1MMl9JTVBPUlRfUEFUSCJ9ID0g
IiRsaWJQYXRoIiBpZiAkbGliUGF0aDsKLXJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKCIvYXBwL3dl
YmtpdC9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXIiKTsKK2lmICgkY29uZmln
dXJhdGlvbikgeworICAgICRsaWJQYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIo
KSwgIldlYktpdEJ1aWxkIiwgIiRjb25maWd1cmF0aW9uIiwgImxpYiIsICJxbWwiKTsKKyAgICAk
RU5WeyJRTUwyX0lNUE9SVF9QQVRIIn0gPSAiJGxpYlBhdGgiOworfQorCitteSBAY29tbWFuZCA9
IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJy
dW4tcXQtd3BlLW1pbmlicm93c2VyIikpOworcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQGNvbW1h
bmQpOwogCiAjIENoZWNrIHRvIHNlZSB0aGF0IGFsbCB0aGUgZnJhbWV3b3JrcyBhcmUgYnVpbHQu
CiBjaGVja0ZyYW1ld29ya3MoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmRy
aXZlci10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0cwppbmRleCBhY2Mz
NWY3MjQ4M2YyODMyZjA5YzhlZmIxODk1ZDE4MWQ0ZDY3OTI5Li5jMzAwNGQ0NTMyM2M1MTQyNjY1
ZDM3MDMzN2U4ZTU5MDQyM2E5ZDQwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi13ZWJk
cml2ZXItdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzCkBAIC03
OCw3ICs3OCw3IEBAIGlmIHBvcnQubmFtZSgpIGluIFsnZ3RrJywgJ3dwZSddOgogICAgICAgICBp
ZiBub3QgamhidWlsZHV0aWxzLmVudGVyX2poYnVpbGRfZW52aXJvbm1lbnRfaWZfYXZhaWxhYmxl
KHBvcnQubmFtZSgpKToKICAgICAgICAgICAgIHByaW50ICcqKionCiAgICAgICAgICAgICBwcmlu
dCAnKioqIFdhcm5pbmc6IGpoYnVpbGQgZW52aXJvbm1lbnQgbm90IHByZXNlbnQgYW5kIG5vdCBy
dW5uaW5nIGluIGZsYXRwYWsuJwotICAgICAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdl
YmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXRndGstZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Vi
a2l0IHRvIGVuc3VyZSBwcm9wZXIgdGVzdGluZy4uJworICAgICAgICAgICAgcHJpbnQgJyoqKiBS
dW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBhayBiZWZvcmUg
YnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9wZXIgdGVzdGluZy4uJwogICAgICAgICAgICAgcHJp
bnQgJyoqKicKIAogcG9ydC5fZGlzcGxheV9zZXJ2ZXIgPSBvcHRpb25zLmRpc3BsYXlfc2VydmVy
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi13cGUtdGVzdHMgYi9Ub29scy9TY3JpcHRz
L3J1bi13cGUtdGVzdHMKaW5kZXggOGY3NzQ5ZWI2YWQ2ZDFmMTk5MTNhMTc2OTlkY2I3Njc3ZjQ4
NjJkMS4uZjM0YzE5NzA2NDc3NjIyNjI0NTJlNmFlODNmYTI4NWYyOGU1ZDE4MCAxMDA3NTUKLS0t
IGEvVG9vbHMvU2NyaXB0cy9ydW4td3BlLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXdw
ZS10ZXN0cwpAQCAtNTEsNyArNTEsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAg
IGlmIG5vdCBmbGF0cGFrdXRpbHMuaXNfc2FuZGJveGVkKCkgYW5kIG5vdCBqaGJ1aWxkdXRpbHMu
ZW50ZXJfamhidWlsZF9lbnZpcm9ubWVudF9pZl9hdmFpbGFibGUoIndwZSIpOgogICAgICAgICBw
cmludCAnKioqJwogICAgICAgICBwcmludCAnKioqIFdhcm5pbmc6IGpoYnVpbGQgZW52aXJvbm1l
bnQgbm90IHByZXNlbnQgYW5kIG5vdCBydW5uaW5nIGluIGZsYXRwYWsuJwotICAgICAgICBwcmlu
dCAnKioqIFJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0
cGFrIGJlZm9yZSBidWlsZC13ZWJraXQgdG8gZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCisgICAg
ICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13ZWJraXR3cGUtbGlicyBvciB1cGRhdGUtd2Via2l0
LWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3RpbmcuLicK
ICAgICAgICAgcHJpbnQgJyoqKicKIAogICAgIG9wdGlvbl9wYXJzZXIgPSBvcHRwYXJzZS5PcHRp
b25QYXJzZXIodXNhZ2U9J3VzYWdlOiAlcHJvZyBbb3B0aW9uc10gW3Rlc3QuLi5dJykKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRwZXJsIGIvVG9vbHMvU2NyaXB0cy90ZXN0
LXdlYmtpdHBlcmwKaW5kZXggNjQ5NTY5NjBmZmM2N2FlN2RmOTMzNjQxMzZkOTFhNWQ4OGVhOTk0
My4uZGM4MWMxN2MzYmFjNTlhODgxYTczZWQxNWIzYTc0NjBjYTdiOWY5OCAxMDA3NTUKLS0tIGEv
VG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHBlcmwKKysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdl
YmtpdHBlcmwKQEAgLTMyLDYgKzMyLDEzIEBACiAKIHVzZSBzdHJpY3Q7CiB1c2Ugd2FybmluZ3M7
Cit1c2UgRmlsZTo6QmFzZW5hbWU7Cit1c2UgRmlsZTo6RmluZDsKK3VzZSBGaWxlOjpTcGVjOwor
dXNlIEZpbmRCaW47Cit1c2UgR2V0b3B0OjpMb25nIHF3KDpjb25maWcgcGFzc190aHJvdWdoIG5v
X2F1dG9fYWJicmV2KTsKK3VzZSBsaWIgJEZpbmRCaW46OkJpbjsKK3VzZSB3ZWJraXRkaXJzOwog
CiB1c2UgRmlsZTo6U3BlYzsKIHVzZSBGaW5kQmluOwpAQCAtMzksNiArNDYsMTEgQEAgdXNlIFRl
c3Q6Okhhcm5lc3M7CiB1c2UgbGliICRGaW5kQmluOjpCaW47ICMgc28gdGhpcyBzY3JpcHQgY2Fu
IGJlIHJ1biBmcm9tIGFueSBkaXJlY3RvcnkuCiB1c2UgVkNTVXRpbHM7CiAKK2lmIChzaG91bGRV
c2VGbGF0cGFrKCkpIHsKKyAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNv
dXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJ0ZXN0LXdlYmtpdHBlcmwiKSk7CisgICAg
cnVuSW5GbGF0cGFrKEBjb21tYW5kKTsKK30KKwogIyBDaGFuZ2UgdGhlIHdvcmtpbmcgZGlyZWN0
b3J5IHNvIHRoYXQgd2UgY2FuIHBhc3Mgc2hvcnRlciwgcmVsYXRpdmUKICMgcGF0aHMgdG8gcnVu
dGVzdHMoKSwgcmF0aGVyIHRoYW4gbG9uZ2VyLCBhYnNvbHV0ZSBwYXRocy4KICMKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweSBiL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJr
aXRweQppbmRleCBlZTY4MmNjY2YwYWNhM2YyMGRjNjE1ZmU4YjYzMjNjY2M1N2NiZWE0Li40MjM4
OGU5Zjg2MTc4NWVmN2UzOGZiMWY0NTQ5MDA1MDUyZjAwYWVjIDEwMDc1NQotLS0gYS9Ub29scy9T
Y3JpcHRzL3Rlc3Qtd2Via2l0cHkKKysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5CkBA
IC0yOSw0ICsyOSwxMCBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogZnJvbSB3ZWJraXRweS5jb21tb24gaW1w
b3J0IG11bHRpcHJvY2Vzc2luZ19ib290c3RyYXAKIAoraW1wb3J0IG9zLCBzeXMKK3RvcF9sZXZl
bF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5h
bWUoX19maWxlX18pLCAnLi4nLCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpv
aW4odG9wX2xldmVsX2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBmbGF0
cGFrdXRpbHMKK2ZsYXRwYWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lzLmFy
Z3YpCisKIG11bHRpcHJvY2Vzc2luZ19ib290c3RyYXAucnVuKCd3ZWJraXRweScsICd0ZXN0Jywg
J21haW4ucHknKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lciBiL1Rv
b2xzL1NjcmlwdHMvdGVzdDI2Mi1ydW5uZXIKaW5kZXggYTEzMWJjZjYzM2UzMGQ5NzY1ZmI1NjI0
MjUwNzMxMTdhOThmMjIzOC4uYWY3YWQ1ZTQ4ZWYyNTA4Y2Y0ZTIxZDU4ZDU1MGNmMDMyZWY1ZmEy
YiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lcgorKysgYi9Ub29scy9T
Y3JpcHRzL3Rlc3QyNjItcnVubmVyCkBAIC0zNCw2ICszNCwyNiBAQCB1c2UgNS44Ljg7CiB1c2Ug
RmluZEJpbjsKIHVzZSBDb25maWc7CiAKK0JFR0lOIHsKKyAgICB1c2UgbGliICRGaW5kQmluOjpC
aW47CisgICAgdXNlIEZpbGU6OlNwZWM6OkZ1bmN0aW9ucyBxdyhjYXRmaWxlKTsKKworICAgIGlm
ICghZ3JlcCgvXi0tbm8tZmxhdHBhay1jaGVjayQvLCBAQVJHVikpIHsKKyAgICAgICAgaWYgKGV2
YWwge3JlcXVpcmUgd2Via2l0ZGlyczsgMTt9KSB7CisgICAgICAgICAgICB3ZWJraXRkaXJzLT5p
bXBvcnQocXcoc2hvdWxkVXNlRmxhdHBhayBydW5JbkZsYXRwYWsgc291cmNlRGlyKSk7CisgICAg
ICAgICAgICBpZiAoc2hvdWxkVXNlRmxhdHBhaygpKSB7CisgICAgICAgICAgICAgICAgcHJpbnQg
IlJ1bm5pbmcgaW4gZmxhdHBhayBiYXNlZCBlbnZpcm9ubWVudFxuIjsKKyAgICAgICAgICAgICAg
ICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMi
LCAiU2NyaXB0cyIsICJ0ZXN0MjYyLXJ1bm5lciIpKTsKKyAgICAgICAgICAgICAgICAjIFByZXZl
bnQgZXhlYydkIHRlc3QyNjItcnVubmVyIHByb2Nlc3MgZnJvbSBpbXBvcnRpbmcKKyAgICAgICAg
ICAgICAgICAjIHdlYmtpdGRpcnMgc28gdGhhdCBpdCBjYW4gc3VjY2VlZCBsYXRlciBvbiBpbiB0
aGUgUnVubmVyCisgICAgICAgICAgICAgICAgIyBtb2R1bGUuLi4gUGVybC4gwq9cXyjjg4QpXy/C
rworICAgICAgICAgICAgICAgIHB1c2goQEFSR1YsICItLW5vLWZsYXRwYWstY2hlY2siKTsKKyAg
ICAgICAgICAgICAgICBydW5JbkZsYXRwYWsoQGNvbW1hbmQpOworICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgfQorfQorCiBCRUdJTiB7CiAgICAgJEVOVntEQklDX09WRVJXUklURV9IRUxQ
RVJfTUVUSE9EU19PS30gPSAxOwogICAgICRFTlZ7VDI2Ml9FWEVDX0JJTn0gPSAiJEZpbmRCaW46
OkJpbi90ZXN0MjYyIjsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdC1m
bGF0cGFrIGIvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0LWZsYXRwYWsKbmV3IGZpbGUgbW9k
ZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTg2YjgxYTIwMzNmNGJiN2JlMmQyOWJkZTVjMTJjZjQ5NTMzMGQ1NQotLS0gL2Rldi9udWxsCisr
KyBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdC1mbGF0cGFrCkBAIC0wLDAgKzEsMjggQEAK
KyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4K
KyMgQ29weXJpZ2h0IChjKSAyMDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEu
Y29tPgorIworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCisjIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisjIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIHByb2dy
YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMg
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9n
cmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZQorIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwKKyMgQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCisjIHB5bGludDogZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5hbWUK
K2ltcG9ydCBvcworaW1wb3J0IHN5cworCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5u
b3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwgIi4u
IikpCitzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3Rvcnks
ICJUb29scyIsICJmbGF0cGFrIikpCitmcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0Rmxh
dHBhaworCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIFdlYmtpdEZsYXRwYWsubG9h
ZF9mcm9tX2FyZ3MoWyItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsgYi9Ub29scy9TY3JpcHRz
L3VwZGF0ZS13ZWJraXRndGstZmxhdHBhawpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXgg
MDk1NmYxZjJlMTQ4NWQyNDg2MmVmN2Y2ZDc0YTJmM2Y5OGNmOTJmOC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJr
aXRndGstZmxhdHBhaworKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLSMhL3Vzci9iaW4v
ZW52IHB5dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KLSMgQ29weXJpZ2h0
IChjKSAyMDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotIwotIyBU
aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJh
bCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKLSMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
LSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBH
ZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3Qs
IHdyaXRlIHRvIHRoZQotIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0jIHB5
bGludDogZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5hbWUKLWltcG9ydCBvcwot
aW1wb3J0IHN5cwotCi10b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5w
YXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCi1zeXMucGF0
aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICJUb29scyIsICJm
bGF0cGFrIikpCi1mcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0RmxhdHBhawotCi1pZiBf
X25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2FyZ3Mo
WyItLWd0ayIsICItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWxpYnMgYi9Ub29scy9TY3JpcHRzL3VwZGF0
ZS13ZWJraXRndGstbGlicwppbmRleCAyZTFjMDJmZmQ3MDU2MDA4MGUzNmJjNzRiNDY1OGZmZWY1
ZGVjZDhlLi4yZThhODc4NTE5NmRiOGM3YmZjYzQ5MDQ5NWFkOWM1ZDcwMGZmZjUxIDEwMDc1NQot
LS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstbGlicworKysgYi9Ub29scy9TY3Jp
cHRzL3VwZGF0ZS13ZWJraXRndGstbGlicwpAQCAtMjIsNCArMjIsOCBAQCB1c2UgbGliICRGaW5k
QmluOjpCaW47CiB1c2Ugd2Via2l0ZGlyczsKIAogbXkgJHNjcmlwdHNEaXIgPSByZWxhdGl2ZVNj
cmlwdHNEaXIoKTsKLXN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWxp
YnMtamhidWlsZCIsICItLWd0ayIsIEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK2lmIChkZWZpbmVk
ICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30gYW5kICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30pIHsKKyAg
ICBzeXN0ZW0oInBlcmwiLCAiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1saWJzLWpoYnVpbGQi
LCAiLS1ndGsiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7Cit9IGVsc2UgeworICAgIHN5c3RlbSgi
JHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1mbGF0cGFrIiwgQEFSR1YpID09IDAgb3IgZGllICQh
OworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWZsYXRwYWsg
Yi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtZmxhdHBhawpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA3NTUKaW5kZXggNTY0ZTg3NjUyMTExOGUyZmMwZmQ2OGI4Yzg2NmFhOTAwMWNiODEyMi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9TY3Jp
cHRzL3VwZGF0ZS13ZWJraXR3cGUtZmxhdHBhaworKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAg
QEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMu
TC4KLSMgQ29weXJpZ2h0IChjKSAyMDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2Fs
aWEuY29tPgotIwotIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIHBy
b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
LSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBw
cm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZQotIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCi0jIHB5bGludDogZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5h
bWUKLWltcG9ydCBvcwotaW1wb3J0IHN5cwotCi10b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0
aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwg
Ii4uIikpCi1zeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3Rv
cnksICJUb29scyIsICJmbGF0cGFrIikpCi1mcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0
RmxhdHBhawotCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIFdlYmtpdEZsYXRwYWsu
bG9hZF9mcm9tX2FyZ3MoWyItLXdwZSIsICItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4o
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWxpYnMgYi9Ub29s
cy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGlicwppbmRleCA2YjRiNDZmMmI3ZWI4YTllNjgw
Nzc1N2JjYTJiOWU2ODQ3MDdhMDIzLi5jZGM0YzdkYjhjNjVlYTczMjNkNjkyNjgxOThhMmY2OGJk
NTEzMDE0IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGlicwor
KysgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGlicwpAQCAtMjIsNCArMjIsOCBA
QCB1c2UgbGliICRGaW5kQmluOjpCaW47CiB1c2Ugd2Via2l0ZGlyczsKIAogbXkgJHNjcmlwdHNE
aXIgPSByZWxhdGl2ZVNjcmlwdHNEaXIoKTsKLXN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rpci91
cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCIsICItLXdwZSIsIEBBUkdWKSA9PSAwIG9yIGRpZSAk
ITsKK2lmIChkZWZpbmVkICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30gYW5kICRFTlZ7J1dFQktJVF9K
SEJVSUxEJ30pIHsKKyAgICBzeXN0ZW0oInBlcmwiLCAiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtp
dC1saWJzLWpoYnVpbGQiLCAiLS13cGUiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7Cit9IGVsc2Ug
eworICAgIHN5c3RlbSgiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1mbGF0cGFrIiwgQEFSR1Yp
ID09IDAgb3IgZGllICQhOworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJz
LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCmluZGV4IDk2MWE0NjI4NmY0ODc1ZDZh
ZmI3MjU5OTFjNGQwNDk1YjllYTIzMjIuLjMwNDMwZDMxMzkxMmI5MmEwNzFhMTU0ZDQ1MWQ0YjBj
ZWFiNDFmMDMgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KQEAgLTkxLDcgKzkxLDEwIEBAIEJFR0lOIHsKICAg
ICAgICAmc2V0dXBVbml4V2ViS2l0RW52aXJvbm1lbnQKICAgICAgICAmc2hhcmVkQ29tbWFuZExp
bmVPcHRpb25zCiAgICAgICAgJnNoYXJlZENvbW1hbmRMaW5lT3B0aW9uc1VzYWdlCisgICAgICAg
JnNob3VsZFVzZUZsYXRwYWsKKyAgICAgICAmcnVuSW5GbGF0cGFrCiAgICAgICAgJnNodXREb3du
SU9TU2ltdWxhdG9yRGV2aWNlCisgICAgICAgJnNvdXJjZURpcgogICAgICAgICZ3aWxsVXNlSU9T
RGV2aWNlU0RLCiAgICAgICAgJndpbGxVc2VJT1NTaW11bGF0b3JTREsKICAgICAgICBET19OT1Rf
VVNFX09QRU5fQ09NTUFORApAQCAtMjAyNCwyMCArMjAyNywxMSBAQCBzdWIgZ2V0SmhidWlsZFBh
dGgoKQogICAgIHJldHVybiBGaWxlOjpTcGVjLT5jYXRkaXIoQGpoYnVpbGRQYXRoKTsKIH0KIAot
c3ViIGdldEZsYXRwYWtQYXRoKCkKK3N1YiBnZXRVc2VyRmxhdHBha1BhdGgoKQogewotICAgIG15
IEBmbGF0cGFrQnVpbGRQYXRoID0gRmlsZTo6U3BlYy0+c3BsaXRkaXIoYmFzZVByb2R1Y3REaXIo
KSk7Ci0gICAgaWYgKGlzR3RrKCkpIHsKLSAgICAgICAgcHVzaChAZmxhdHBha0J1aWxkUGF0aCwg
IkdUSyIpOwotICAgIH0gZWxzaWYgKGlzV1BFKCkpIHsKLSAgICAgICAgcHVzaChAZmxhdHBha0J1
aWxkUGF0aCwgIldQRSIpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGRpZSAiQ2Fubm90IGdldCBG
bGF0cGFrIHBhdGggZm9yIHBsYXRmb3JtIHRoYXQgaXNuJ3QgR1RLKyBvciBXUEUuXG4iOwotICAg
IH0KLSAgICBteSBAY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24oKTsKLSAgICBwdXNoKEBm
bGF0cGFrQnVpbGRQYXRoLCAiRmxhdHBha1RyZWUkY29uZmlndXJhdGlvbiIpOwotCi0gICAgcmV0
dXJuIEZpbGU6OlNwZWMtPmNhdGRpcihAZmxhdHBha0J1aWxkUGF0aCk7CisgICAgbXkgQGZsYXRw
YWtQYXRoID0gRmlsZTo6U3BlYy0+c3BsaXRkaXIoYmFzZVByb2R1Y3REaXIoKSk7CisgICAgcHVz
aChAZmxhdHBha1BhdGgsICJVc2VyRmxhdHBhayIpOworICAgIHJldHVybiBGaWxlOjpTcGVjLT5j
YXRkaXIoQGZsYXRwYWtQYXRoKTsKIH0KIAogc3ViIGlzQ2FjaGVkQXJndW1lbnRmaWxlT3V0T2ZE
YXRlKCRAKQpAQCAtMjA2NCwxMSArMjA1OCw3IEBAIHN1YiBpc0NhY2hlZEFyZ3VtZW50ZmlsZU91
dE9mRGF0ZSgkQCkKIAogc3ViIGluRmxhdHBha1NhbmRib3goKQogewotICAgIGlmICgtZiAiLy5m
bGF0cGFrLWluZm8iKSB7Ci0gICAgICAgIHJldHVybiAxOwotICAgIH0KLQotICAgIHJldHVybiAw
OworICAgIHJldHVybiAoLWYgIi8uZmxhdHBhay1pbmZvIik7CiB9CiAKIHN1YiBydW5JbkZsYXRw
YWsoQCkKQEAgLTIwODksOCArMjA3OSw4IEBAIHN1YiBydW5JbkZsYXRwYWtJZkF2YWlsYWJsZShA
KQogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICBpZiAoISAtZSBnZXRGbGF0cGFrUGF0
aCgpKSB7Ci0gICAgICAgIHJldHVybiAwOworICAgIGlmICghIC1lIGdldFVzZXJGbGF0cGFrUGF0
aCgpKSB7CisgICAgICByZXR1cm4gMDsKICAgICB9CiAKICAgICBydW5JbkZsYXRwYWsoQF8pCkBA
IC0yMTA1LDcgKzIwOTUsNyBAQCBzdWIgd3JhcHBlclByZWZpeElmTmVlZGVkKCkKICAgICBpZiAo
aXNBcHBsZUNvY29hV2ViS2l0KCkpIHsKICAgICAgICAgcmV0dXJuICgieGNydW4iKTsKICAgICB9
Ci0gICAgaWYgKHNob3VsZFVzZUpoYnVpbGQoKSBhbmQgISBzaG91bGRVc2VGbGF0cGFrKCkpIHsK
KyAgICBpZiAoc2hvdWxkVXNlSmhidWlsZCgpKSB7CiAgICAgICAgIG15IEBwcmVmaXggPSAoRmls
ZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgImpoYnVpbGQiLCAiamhidWls
ZC13cmFwcGVyIikpOwogICAgICAgICBpZiAoaXNHdGsoKSkgewogICAgICAgICAgICAgcHVzaChA
cHJlZml4LCAiLS1ndGsiKTsKQEAgLTIxMjIsMTIgKzIxMTIsMTIgQEAgc3ViIHdyYXBwZXJQcmVm
aXhJZk5lZWRlZCgpCiAKIHN1YiBzaG91bGRVc2VKaGJ1aWxkKCkKIHsKLSAgICByZXR1cm4gKChp
c0d0aygpIG9yIGlzV1BFKCkpIGFuZCAtZSBnZXRKaGJ1aWxkUGF0aCgpKTsKKyAgICByZXR1cm4g
KCghIGluRmxhdHBha1NhbmRib3goKSkgYW5kIChpc0d0aygpIG9yIGlzV1BFKCkpIGFuZCAtZSBn
ZXRKaGJ1aWxkUGF0aCgpIGFuZCBkZWZpbmVkICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30gYW5kICRF
TlZ7J1dFQktJVF9KSEJVSUxEJ30pOwogfQogCiBzdWIgc2hvdWxkVXNlRmxhdHBhaygpCiB7Ci0g
ICAgcmV0dXJuICgoaXNHdGsoKSBvciBpc1dQRSgpKSBhbmQgISBpbkZsYXRwYWtTYW5kYm94KCkg
YW5kIC1lIGdldEZsYXRwYWtQYXRoKCkpOworICAgIHJldHVybiAoKCEgaW5GbGF0cGFrU2FuZGJv
eCgpKSBhbmQgKGlzR3RrKCkgb3IgaXNXUEUoKSkgYW5kIC1lIGdldFVzZXJGbGF0cGFrUGF0aCgp
KTsKIH0KIAogc3ViIGNtYWtlQ2FjaGVQYXRoKCkKQEAgLTIxOTQsNyArMjE4NCw3IEBAIHN1YiBz
aG91bGRSZW1vdmVDTWFrZUNhY2hlKEApCiAgICAgfQogCiAgICAgIyBJZiBhIGNoYW5nZSBvbiB0
aGUgSkhCdWlsZCBtb2R1bGVzZXQgaGFzIGJlZW4gZG9uZSwgd2UgbmVlZCB0byBjbGVhbiB0aGUg
Y2FjaGUgYXMgd2VsbC4KLSAgICBpZiAoaXNHdGsoKSB8fCBpc1dQRSgpKSB7CisgICAgaWYgKCEg
c2hvdWxkVXNlRmxhdHBhaygpIGFuZCAoaXNHdGsoKSB8fCBpc1dQRSgpKSkgewogICAgICAgICBt
eSAkamhidWlsZFJvb3REaXJlY3RvcnkgPSBGaWxlOjpTcGVjLT5jYXRkaXIoZ2V0SmhidWlsZFBh
dGgoKSwgIlJvb3QiKTsKICAgICAgICAgIyBUaGUgc2NyaXB0IHVwZGF0ZS13ZWJraXQtbGlicy1q
aGJ1aWxkIHNoYWxsIHJlLWdlbmVyYXRlICRqaGJ1aWxkUm9vdERpcmVjdG9yeSBpZiB0aGUgbW9k
dWxlc2V0IGNoYW5nZWQuCiAgICAgICAgIGlmICgtZCAkamhidWlsZFJvb3REaXJlY3RvcnkgJiYg
JGNhY2hlRmlsZU1vZGlmaWVkVGltZSA8IHN0YXQoJGpoYnVpbGRSb290RGlyZWN0b3J5KS0+bXRp
bWUpIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKaW5kZXggZGUwMDY2NjdiMmQxZTVl
NWVlYjhmMmQxYTQ0OGI3NTZmN2YwNjZjZC4uMWMzZWU3YWJkYmEzZDg2YjJhNjhhNDY4OGI0ZWFk
OTZlOTk4NzVlZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2Uu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKQEAgLTg5Myw2ICs4
OTMsNyBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgICAgICAnTEFORycsCiAgICAgICAg
ICAgICAnTERfTElCUkFSWV9QQVRIJywKICAgICAgICAgICAgICdURVJNJywKKyAgICAgICAgICAg
ICdUWicsCiAgICAgICAgICAgICAnWERHX0RBVEFfRElSUycsCiAgICAgICAgICAgICAnWERHX1JV
TlRJTUVfRElSJywKIApAQCAtMTIyMCw3ICsxMjIxLDcgQEAgY2xhc3MgUG9ydChvYmplY3QpOgog
ICAgICAgICBUaGlzIGlzIG5lZWRlZCBvbmx5IGJ5IHBvcnRzIHRoYXQgdXNlIHRoZSBhcGFjaGVf
aHR0cF9zZXJ2ZXIgbW9kdWxlLiIiIgogICAgICAgICAjIFRoZSBBcGFjaGUgYmluYXJ5IHBhdGgg
Y2FuIHZhcnkgZGVwZW5kaW5nIG9uIE9TIGFuZCBkaXN0cmlidXRpb24KICAgICAgICAgIyBTZWUg
aHR0cDovL3dpa2kuYXBhY2hlLm9yZy9odHRwZC9EaXN0cm9zRGVmYXVsdExheW91dAotICAgICAg
ICBmb3IgcGF0aCBpbiBbIi91c3Ivc2Jpbi9odHRwZCIsICIvdXNyL3NiaW4vYXBhY2hlMiIsICIv
YXBwL2Jpbi9odHRwZCJdOgorICAgICAgICBmb3IgcGF0aCBpbiBbIi91c3Ivc2Jpbi9odHRwZCIs
ICIvdXNyL3NiaW4vYXBhY2hlMiIsICIvdXNyL2Jpbi9odHRwZCJdOgogICAgICAgICAgICAgaWYg
c2VsZi5fZmlsZXN5c3RlbS5leGlzdHMocGF0aCk6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHBh
dGgKICAgICAgICAgX2xvZy5lcnJvcigiQ291bGQgbm90IGZpbmQgYXBhY2hlLiBOb3QgaW5zdGFs
bGVkIG9yIHVua25vd24gcGF0aC4iKQpAQCAtMTQ1MiwxNCArMTQ1Myw4IEBAIGNsYXNzIFBvcnQo
b2JqZWN0KToKICAgICAgICAgIyAtLXBpeGVsLXRlc3QtZGlyZWN0b3J5IGlzIG5vdCBzcGVjaWZp
ZWQuCiAgICAgICAgIHJldHVybiBUcnVlCiAKLSAgICBkZWYgX3Nob3VsZF91c2VfZmxhdHBhayhz
ZWxmKToKLSAgICAgICAgc3VmZml4ID0gIiIKLSAgICAgICAgaWYgc2VsZi5wb3J0X25hbWU6Ci0g
ICAgICAgICAgICBzdWZmaXggPSBzZWxmLnBvcnRfbmFtZS51cHBlcigpCi0gICAgICAgIHJldHVy
biBzZWxmLl9maWxlc3lzdGVtLmV4aXN0cyhzZWxmLnBhdGhfZnJvbV93ZWJraXRfYmFzZSgnV2Vi
S2l0QnVpbGQnLCBzdWZmaXgsICJGbGF0cGFrVHJlZSIpKQotCiAgICAgZGVmIF9pbl9mbGF0cGFr
X3NhbmRib3goc2VsZik6Ci0gICAgICAgIHJldHVybiBvcy5wYXRoLmV4aXN0cygiLy5mbGF0cGFr
LWluZm8iKQorICAgICAgICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5leGlzdHMoIi8uZmxhdHBh
ay1pbmZvIikKIAogICAgIGRlZiBfc2hvdWxkX3VzZV9qaGJ1aWxkKHNlbGYpOgogICAgICAgICBp
ZiBzZWxmLl9pbl9mbGF0cGFrX3NhbmRib3goKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9ndGsucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5
CmluZGV4IDY4YmMxNjkyM2Y4YWI3NjA5MWY1YjNlOTY0ZDA2NWM3OTQzZmY4ZDUuLjBjZThhYTQ4
NzQ1OTA5Yzc5NzM2ODgzYjM2ZDM0ZTg3NDA5OGQ0NzMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9ndGsucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L2d0ay5weQpAQCAtMTIyLDYgKzEyMiw3IEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAgICAgICAg
IGVudmlyb25tZW50WydURVNUX1JVTk5FUl9JTkpFQ1RFRF9CVU5ETEVfRklMRU5BTUUnXSA9IHNl
bGYuX2J1aWxkX3BhdGgoJ2xpYicsICdsaWJUZXN0UnVubmVySW5qZWN0ZWRCdW5kbGUuc28nKQog
ICAgICAgICBlbnZpcm9ubWVudFsnVEVTVF9SVU5ORVJfVEVTVF9QTFVHSU5fUEFUSCddID0gc2Vs
Zi5fYnVpbGRfcGF0aCgnbGliJywgJ3BsdWdpbnMnKQogICAgICAgICBzZWxmLl9jb3B5X3ZhbHVl
X2Zyb21fZW52aXJvbl9pZl9zZXQoZW52aXJvbm1lbnQsICdXRUJLSVRfT1VUUFVURElSJykKKyAg
ICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAn
V0VCS0lUX0pIQlVJTEQnKQogICAgICAgICBzZWxmLl9jb3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9p
Zl9zZXQoZW52aXJvbm1lbnQsICdXRUJLSVRfVE9QX0xFVkVMJykKICAgICAgICAgc2VsZi5fY29w
eV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnVVNFX1BMQVlCSU4zJykK
ICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50
LCAnR1NUX0RFQlVHJykKQEAgLTEzNCwxMCArMTM1LDExIEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6
CiAgICAgICAgICAgICBpZiBzZWxmLl9zaG91bGRfdXNlX2poYnVpbGQoKToKICAgICAgICAgICAg
ICAgICBsbHZtcGlwZV9saWJnbF9wYXRoID0gc2VsZi5ob3N0LmV4ZWN1dGl2ZS5ydW5fY29tbWFu
ZChzZWxmLl9qaGJ1aWxkX3dyYXBwZXIgKyBbJ3ByaW50ZW52JywgJ0xMVk1QSVBFX0xJQkdMX1BB
VEgnXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaWdub3JlX2Vycm9ycz1UcnVlKS5zdHJpcCgpCisgICAgICAgICAg
ICAgICAgZHJpX2xpYmdsX3BhdGggPSBvcy5wYXRoLmpvaW4obGx2bXBpcGVfbGliZ2xfcGF0aCwg
ImRyaSIpCiAgICAgICAgICAgICBlbHNlOiAgIyBpbiBmbGF0cGFrCi0gICAgICAgICAgICAgICAg
bGx2bXBpcGVfbGliZ2xfcGF0aCA9ICIvYXBwL3NvZnRHTC9saWIiCisgICAgICAgICAgICAgICAg
bGx2bXBpcGVfbGliZ2xfcGF0aCA9ICIvdXNyL2xpYi94ODZfNjQtbGludXgtZ251LyIKKyAgICAg
ICAgICAgICAgICBkcmlfbGliZ2xfcGF0aCA9IG9zLnBhdGguam9pbihsbHZtcGlwZV9saWJnbF9w
YXRoLCAiR0wiLCAibGliIiwgImRyaSIpCiAKLSAgICAgICAgICAgIGRyaV9saWJnbF9wYXRoID0g
b3MucGF0aC5qb2luKGxsdm1waXBlX2xpYmdsX3BhdGgsICJkcmkiKQogICAgICAgICAgICAgaWYg
b3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKGxsdm1waXBlX2xpYmdsX3BhdGgsICJsaWJHTC5z
byIpKSBhbmQgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKGRyaV9saWJnbF9wYXRoLCAic3dy
YXN0X2RyaS5zbyIpKToKICAgICAgICAgICAgICAgICAjIE1ha2Ugc3VyZSB2YS1hcGkgc3VwcG9y
dCBnZXRzIGRpc2FibGVkIGJlY2F1c2UgaXQncyBpbmNvbXBhdGlibGUgd2l0aCBNZXNhJ3Mgc29m
dEdMIGRyaXZlci4KICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudFsnTElCVkFfRFJJVkVSX05B
TUUnXSA9ICJudWxsIgpAQCAtMTQ4LDcgKzE1MCw3IEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAg
ICAgICAgICAgICAgICAgaWYgb3MuZW52aXJvbi5nZXQoJ0xEX0xJQlJBUllfUEFUSCcpOgogICAg
ICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudFsnTERfTElCUkFSWV9QQVRIJ10gKz0gJzolcycg
JSBvcy5lbnZpcm9uLmdldCgnTERfTElCUkFSWV9QQVRIJykKICAgICAgICAgICAgIGVsc2U6Ci0g
ICAgICAgICAgICAgICAgX2xvZy53YXJuaW5nKCJDYW4ndCBmaW5kIEdhbGxpdW0gbGx2bXBpcGUg
ZHJpdmVyLiBUcnkgdG8gcnVuIHVwZGF0ZS13ZWJraXRndGstbGlicyBvciB1cGRhdGUtd2Via2l0
Z3RrLWZsYXRwYWsiKQorICAgICAgICAgICAgICAgIF9sb2cud2FybmluZygiQ2FuJ3QgZmluZCBH
YWxsaXVtIGxsdm1waXBlIGRyaXZlci4gVHJ5IHRvIHJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMg
b3IgdXBkYXRlLXdlYmtpdC1mbGF0cGFrIikKICAgICAgICAgaWYgc2VsZi5nZXRfb3B0aW9uKCJs
ZWFrcyIpOgogICAgICAgICAgICAgIyBUdXJuIG9mZiBHTGliIG1lbW9yeSBvcHRpbWlzYXRpb25z
IGh0dHBzOi8vd2lraS5nbm9tZS5vcmcvVmFsZ3JpbmQuCiAgICAgICAgICAgICBlbnZpcm9ubWVu
dFsnR19TTElDRSddID0gJ2Fsd2F5cy1tYWxsb2MnCkBAIC0yMzcsNyArMjM5LDcgQEAgY2xhc3Mg
R3RrUG9ydChQb3J0KToKIAogICAgIGRlZiBfZ2V0X2NyYXNoX2xvZyhzZWxmLCBuYW1lLCBwaWQs
IHN0ZG91dCwgc3RkZXJyLCBuZXdlcl90aGFuLCB0YXJnZXRfaG9zdD1Ob25lKToKICAgICAgICAg
cmV0dXJuIEdEQkNyYXNoTG9nR2VuZXJhdG9yKHNlbGYuX2V4ZWN1dGl2ZSwgbmFtZSwgcGlkLCBu
ZXdlcl90aGFuLAotICAgICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbSwgc2VsZi5fcGF0aF90b19k
cml2ZXIpLmdlbmVyYXRlX2NyYXNoX2xvZyhzdGRvdXQsIHN0ZGVycikKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0sIHNlbGYuX3BhdGhfdG9fZHJp
dmVyLCBzZWxmLnBvcnRfbmFtZSwgc2VsZi5nZXRfb3B0aW9uKCdjb25maWd1cmF0aW9uJykpLmdl
bmVyYXRlX2NyYXNoX2xvZyhzdGRvdXQsIHN0ZGVycikKIAogICAgIGRlZiB0ZXN0X2V4cGVjdGF0
aW9uc19maWxlX3Bvc2l0aW9uKHNlbGYpOgogICAgICAgICAjIEdUSyBwb3J0IGJhc2VsaW5lIHNl
YXJjaCBwYXRoIGlzIGd0ayAtPiB3azIgLT4gZ2VuZXJpYyAoYXMgZ3RrLXdrMiBhbmQgZ3RrIGJh
c2VsaW5lcyBhcmUgbWVyZ2VkKSwgc28gcG9ydCB0ZXN0IGV4cGVjdGF0aW9ucyBmaWxlIGlzIGF0
IHRoaXJkIHRvIGxhc3QgcG9zaXRpb24uCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nLnB5CmluZGV4IDlhZGM0NjM3MWY5NjFiMTk2MjhlN2Zl
ZGQ0NjVlYmZkMDk2Y2QwMWEuLjJlMDNkZmYxYTM2ZWI1YzIwNWFlNjg3OWNkMjJiZDJjNzAyMjEx
ZTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jh
c2hfbG9nLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jh
c2hfbG9nLnB5CkBAIC0zNywxOCArMzcsMjIgQEAgaW1wb3J0IHRpbWUKIAogZnJvbSB3ZWJraXRw
eS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgU2NyaXB0RXJyb3IKIGZyb20gd2Via2l0
cHkuY29tbW9uLnVuaWNvZGVfY29tcGF0aWJpbGl0eSBpbXBvcnQgZGVjb2RlX2lmX25lY2Vzc2Fy
eQorZnJvbSB3ZWJraXRweS5jb21tb24ud2Via2l0X2ZpbmRlciBpbXBvcnQgV2ViS2l0RmluZGVy
CiAKIAogY2xhc3MgR0RCQ3Jhc2hMb2dHZW5lcmF0b3Iob2JqZWN0KToKICAgICBfZmluZF9waWRf
cmVnZXggPSByZS5jb21waWxlKHInUElEOiAoXGQrKSBcKC4qXCknKQogCi0gICAgZGVmIF9faW5p
dF9fKHNlbGYsIGV4ZWN1dGl2ZSwgbmFtZSwgcGlkLCBuZXdlcl90aGFuLCBmaWxlc3lzdGVtLCBw
YXRoX3RvX2RyaXZlcik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGV4ZWN1dGl2ZSwgbmFtZSwg
cGlkLCBuZXdlcl90aGFuLCBmaWxlc3lzdGVtLCBwYXRoX3RvX2RyaXZlciwgcG9ydF9uYW1lLCBj
b25maWd1cmF0aW9uKToKICAgICAgICAgc2VsZi5uYW1lID0gbmFtZQogICAgICAgICBzZWxmLnBp
ZCA9IHBpZAogICAgICAgICBzZWxmLm5ld2VyX3RoYW4gPSBuZXdlcl90aGFuCiAgICAgICAgIHNl
bGYuX2ZpbGVzeXN0ZW0gPSBmaWxlc3lzdGVtCiAgICAgICAgIHNlbGYuX3BhdGhfdG9fZHJpdmVy
ID0gcGF0aF90b19kcml2ZXIKICAgICAgICAgc2VsZi5fZXhlY3V0aXZlID0gZXhlY3V0aXZlCisg
ICAgICAgIHNlbGYuX3BvcnRfbmFtZSA9IHBvcnRfbmFtZQorICAgICAgICBzZWxmLl9jb25maWd1
cmF0aW9uID0gY29uZmlndXJhdGlvbgorICAgICAgICBzZWxmLl93ZWJraXRfZmluZGVyID0gV2Vi
S2l0RmluZGVyKGZpbGVzeXN0ZW0pCiAKICAgICBkZWYgX2dldF9nZGJfb3V0cHV0KHNlbGYsIGNv
cmVkdW1wX3BhdGgpOgogICAgICAgICBwcm9jZXNzX25hbWUgPSBzZWxmLl9maWxlc3lzdGVtLmpv
aW4ob3MucGF0aC5kaXJuYW1lKHN0cihzZWxmLl9wYXRoX3RvX2RyaXZlcigpKSksIHNlbGYubmFt
ZSkKQEAgLTY3LDYgKzcxLDkgQEAgY2xhc3MgR0RCQ3Jhc2hMb2dHZW5lcmF0b3Iob2JqZWN0KToK
ICAgICAgICAgcmV0dXJuIGZpbGVuYW1lCiAKICAgICBkZWYgX2dldF90cmFjZV9mcm9tX3N5c3Rl
bWQoc2VsZiwgY29yZWR1bXBjdGwsIHBpZCk6CisgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKCIv
LmZsYXRwYWstaW5mbyIpOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2dldF90cmFjZV9mcm9t
X2ZsYXRwYWsoKQorCiAgICAgICAgICMgTGV0dGluZyB1cCB0byA1IHNlY29uZHMgZm9yIHRoZSBi
YWNrdHJhY2UgdG8gYmUgZ2VuZXJhdGVkIG9uIHRoZSBzeXN0ZW1kIHNpZGUKICAgICAgICAgZm9y
IHRyeV9udW1iZXIgaW4gcmFuZ2UoNSk6CiAgICAgICAgICAgICBpZiB0cnlfbnVtYmVyICE9IDA6
CkBAIC05MiwxMiArOTksMjQgQEAgY2xhc3MgR0RCQ3Jhc2hMb2dHZW5lcmF0b3Iob2JqZWN0KToK
ICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBfZmlsZS5uYW1lXSwgcmV0dXJuX2V4aXRfY29k
ZT1UcnVlKToKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKIAotICAgICAgICAgICAgICAg
IHJlcyA9IHNlbGYuX2dldF9nZGJfb3V0cHV0KHNlbGYuX2dldF90bXBfZmlsZV9uYW1lKGNvcmVk
dW1wY3RsLCB0ZW1wX2ZpbGUubmFtZSkpCi0KLSAgICAgICAgICAgICAgICByZXR1cm4gcmVzCisg
ICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2dldF9nZGJfb3V0cHV0KHNlbGYuX2dldF90bXBf
ZmlsZV9uYW1lKGNvcmVkdW1wY3RsLCB0ZW1wX2ZpbGUubmFtZSkpCiAKICAgICAgICAgcmV0dXJu
ICcnLCBbXQogCisgICAgZGVmIF9nZXRfdHJhY2VfZnJvbV9mbGF0cGFrKHNlbGYpOgorICAgICAg
ICBpZiBzZWxmLm5ld2VyX3RoYW46CisgICAgICAgICAgICBjb3JlZHVtcF9zaW5jZSA9ICItLWdk
Yi1zdGFjay10cmFjZT1AJWYiICUgc2VsZi5uZXdlcl90aGFuCisgICAgICAgIGVsc2U6CisgICAg
ICAgICAgICBjb3JlZHVtcF9zaW5jZSA9ICItLWdkYi1zdGFjay10cmFjZSIKKyAgICAgICAgd2Vi
a2l0X2ZsYXRwYWtfcGF0aCA9IHNlbGYuX3dlYmtpdF9maW5kZXIucGF0aF90b19zY3JpcHQoJ3dl
YmtpdC1mbGF0cGFrJykKKyAgICAgICAgY21kID0gWydmbGF0cGFrLXNwYXduJywgJy0taG9zdCcs
IHdlYmtpdF9mbGF0cGFrX3BhdGgsICctLSVzJyAlIHNlbGYuX3BvcnRfbmFtZSwKKyAgICAgICAg
ICAgICAgICItLSVzIiAlIHNlbGYuX2NvbmZpZ3VyYXRpb24ubG93ZXIoKSwgY29yZWR1bXBfc2lu
Y2VdCisKKyAgICAgICAgcHJvYyA9IHNlbGYuX2V4ZWN1dGl2ZS5wb3BlbihjbWQsIHN0ZGluPU5v
bmUsIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUpCisgICAg
ICAgIGNyYXNoX2xvZywgc3RkZXJyID0gcHJvYy5jb21tdW5pY2F0ZSgpCisgICAgICAgIGVycm9y
cyA9IGRlY29kZV9pZl9uZWNlc3Nhcnkoc3RyKHN0ZGVyciBvciAnPGVtcHR5PicpLCBlcnJvcnM9
J2lnbm9yZScpLnNwbGl0bGluZXMoKQorICAgICAgICByZXR1cm4gY3Jhc2hfbG9nLCBlcnJvcnMK
KwogICAgIGRlZiBnZW5lcmF0ZV9jcmFzaF9sb2coc2VsZiwgc3Rkb3V0LCBzdGRlcnIpOgogICAg
ICAgICBwaWRfcmVwcmVzZW50YXRpb24gPSBzdHIoc2VsZi5waWQgb3IgJzx1bmtub3duPicpCiAg
ICAgICAgIGxvZ19kaXJlY3RvcnkgPSBvcy5lbnZpcm9uLmdldCgiV0VCS0lUX0NPUkVfRFVNUFNf
RElSRUNUT1JZIikKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51
eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L2xpbnV4X2dldF9jcmFzaF9sb2dfdW5pdHRlc3QucHkKaW5kZXggOWYzYjdlMzkzNzljNDNhMTA1
ZWNlMjBjMWNhNjI2MjQzZGZhN2QzNC4uM2EzOWU4NDY3MGE2NGM4MzZiNWUxNDQyZmM4YTM1OTM0
YzM3ZGY5NCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dl
dF9jcmFzaF9sb2dfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L2xpbnV4X2dldF9jcmFzaF9sb2dfdW5pdHRlc3QucHkKQEAgLTQ2LDcgKzQ2LDcgQEAgY2xhc3Mg
R0RCQ3Jhc2hMb2dHZW5lcmF0b3JUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgZXhl
Y3V0aXZlID0gTW9ja0V4ZWN1dGl2ZSgpCiAgICAgICAgIGV4ZWN1dGl2ZS5fcHJvYyA9IE1vY2tQ
cm9jZXNzKCkKICAgICAgICAgZXhlY3V0aXZlLl9wcm9jLnN0ZG91dCA9ICdTVERFUlI6IDxlbXB0
eT4nCi0gICAgICAgIGdlbmVyYXRvciA9IEdEQkNyYXNoTG9nR2VuZXJhdG9yKGV4ZWN1dGl2ZSwg
J0R1bXBSZW5kZXJUcmVlJywgMjg1MjksIG5ld2VyX3RoYW49Tm9uZSwgZmlsZXN5c3RlbT1Nb2Nr
RmlsZVN5c3RlbSh7Jy9wYXRoL3RvL2NvcmVkdW1wcyc6ICcnfSksIHBhdGhfdG9fZHJpdmVyPU5v
bmUpCisgICAgICAgIGdlbmVyYXRvciA9IEdEQkNyYXNoTG9nR2VuZXJhdG9yKGV4ZWN1dGl2ZSwg
J0R1bXBSZW5kZXJUcmVlJywgMjg1MjksIG5ld2VyX3RoYW49Tm9uZSwgZmlsZXN5c3RlbT1Nb2Nr
RmlsZVN5c3RlbSh7Jy9wYXRoL3RvL2NvcmVkdW1wcyc6ICcnfSksIHBhdGhfdG9fZHJpdmVyPU5v
bmUsIHBvcnRfbmFtZT0iZ3RrIiwgY29uZmlndXJhdGlvbj0iRGVidWciKQogCiAgICAgICAgIGNv
cmVfZGlyZWN0b3J5ID0gb3MuZW52aXJvbi5nZXQoJ1dFQktJVF9DT1JFX0RVTVBTX0RJUkVDVE9S
WScsICcvcGF0aC90by9jb3JlZHVtcHMnKQogICAgICAgICBjb3JlX3BhdHRlcm4gPSBnZW5lcmF0
b3IuX2ZpbGVzeXN0ZW0uam9pbihjb3JlX2RpcmVjdG9yeSwgImNvcmUtcGlkXyVwLmR1bXAiKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dwZS5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC93cGUucHkKaW5kZXggOTVjNDg5MzY2NWY1OGNmMjJhMmI5YzU3
ZmYzNmY1N2M1YTRhMzQyNy4uOWRmNjVkNGYzZjg5NjMyNjNjMWMxMTcxZDgyN2MzMDE0MjVkNjYw
MCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dwZS5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd3BlLnB5CkBAIC03Nyw2ICs3Nyw3IEBAIGNsYXNz
IFdQRVBvcnQoUG9ydCk6CiAgICAgICAgIGVudmlyb25tZW50WydURVNUX1JVTk5FUl9URVNUX1BM
VUdJTl9QQVRIJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdsaWInLCAncGx1Z2lucycpCiAgICAgICAg
IGVudmlyb25tZW50WydXRUJLSVRfRVhFQ19QQVRIJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdiaW4n
KQogICAgICAgICBzZWxmLl9jb3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9zZXQoZW52aXJvbm1l
bnQsICdXRUJLSVRfT1VUUFVURElSJykKKyAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vu
dmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX0pIQlVJTEQnKQogICAgICAgICBzZWxm
Ll9jb3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9zZXQoZW52aXJvbm1lbnQsICdXRUJLSVRfVE9Q
X0xFVkVMJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVu
dmlyb25tZW50LCAnVVNFX1BMQVlCSU4zJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9t
X2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnR1NUX0RFQlVHJykKQEAgLTEyMCw3ICsxMjEs
OCBAQCBjbGFzcyBXUEVQb3J0KFBvcnQpOgogICAgICAgICByZXR1cm4gMgogCiAgICAgZGVmIF9n
ZXRfY3Jhc2hfbG9nKHNlbGYsIG5hbWUsIHBpZCwgc3Rkb3V0LCBzdGRlcnIsIG5ld2VyX3RoYW4s
IHRhcmdldF9ob3N0PU5vbmUpOgotICAgICAgICByZXR1cm4gR0RCQ3Jhc2hMb2dHZW5lcmF0b3Io
c2VsZi5fZXhlY3V0aXZlLCBuYW1lLCBwaWQsIG5ld2VyX3RoYW4sIHNlbGYuX2ZpbGVzeXN0ZW0s
IHNlbGYuX3BhdGhfdG9fZHJpdmVyKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIp
CisgICAgICAgIHJldHVybiBHREJDcmFzaExvZ0dlbmVyYXRvcihzZWxmLl9leGVjdXRpdmUsIG5h
bWUsIHBpZCwgbmV3ZXJfdGhhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNlbGYuX2ZpbGVzeXN0ZW0sIHNlbGYuX3BhdGhfdG9fZHJpdmVyLCBzZWxmLnBvcnRfbmFtZSwg
c2VsZi5nZXRfb3B0aW9uKCdjb25maWd1cmF0aW9uJykpLmdlbmVyYXRlX2NyYXNoX2xvZyhzdGRv
dXQsIHN0ZGVycikKIAogICAgIGRlZiBjb25maWd1cmF0aW9uX2Zvcl91cGxvYWQoc2VsZiwgaG9z
dD1Ob25lKToKICAgICAgICAgY29uZmlndXJhdGlvbiA9IHN1cGVyKFdQRVBvcnQsIHNlbGYpLmNv
bmZpZ3VyYXRpb25fZm9yX3VwbG9hZChob3N0PWhvc3QpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0FjdGl2YXRlRm9udHNHdGsu
Y3BwCmluZGV4IDNmOGUyNDQwZjI4M2U0YjRlNTQyN2FkNjQ0ZDJiM2I0ZTMxOTY1YTEuLjgxYmNk
OTYyYTA5YzdhY2ZlZjIyZWMyZjQ4YmMwMmIyNDlhNTZjNDQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0FjdGl2YXRlRm9udHNHdGsuY3BwCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0FjdGl2YXRlRm9u
dHNHdGsuY3BwCkBAIC02NSw4ICs2NSwxMyBAQCBDU3RyaW5nIGdldE91dHB1dERpcigpCiAKIHN0
YXRpYyBDU3RyaW5nIGdldEZvbnRzUGF0aCgpCiB7CisgICAgLy8gVHJ5IGZsYXRwYWsgc2FuZGJv
eCBwYXRoLgorICAgIEdVbmlxdWVQdHI8Y2hhcj5mb250c1BhdGgoZ19idWlsZF9maWxlbmFtZSgi
L3VzciIsICJzaGFyZSIsICJ3ZWJraXRndGstdGVzdC1mb250cyIsIE5VTEwpKTsKKyAgICBpZiAo
Z19maWxlX3Rlc3QoZm9udHNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklM
RV9URVNUX0VYSVNUUyB8IEdfRklMRV9URVNUX0lTX0RJUikpKQorICAgICAgICByZXR1cm4gZm9u
dHNQYXRoLmdldCgpOworCiAgICAgQ1N0cmluZyB3ZWJraXRPdXRwdXREaXIgPSBnZXRPdXRwdXRE
aXIoKTsKLSAgICBHVW5pcXVlUHRyPGNoYXI+IGZvbnRzUGF0aChnX2J1aWxkX2ZpbGVuYW1lKHdl
YmtpdE91dHB1dERpci5kYXRhKCksICJEZXBlbmRlbmNpZXNHVEsiLCAiUm9vdCIsICJ3ZWJraXRn
dGstdGVzdC1mb250cyIsIG51bGxwdHIpKTsKKyAgICBmb250c1BhdGgucmVzZXQoZ19idWlsZF9m
aWxlbmFtZSh3ZWJraXRPdXRwdXREaXIuZGF0YSgpLCAiRGVwZW5kZW5jaWVzR1RLIiwgIlJvb3Qi
LCAid2Via2l0Z3RrLXRlc3QtZm9udHMiLCBudWxscHRyKSk7CiAgICAgaWYgKGdfZmlsZV90ZXN0
KGZvbnRzUGF0aC5nZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9FWElT
VFMgfCBHX0ZJTEVfVEVTVF9JU19ESVIpKSkKICAgICAgICAgcmV0dXJuIGZvbnRzUGF0aC5nZXQo
KTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93
cGUvQWN0aXZhdGVGb250c1dQRS5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL3dwZS9BY3RpdmF0ZUZvbnRzV1BFLmNwcAppbmRleCBhNDljN2EyOTIxODI1OTFlMjcy
N2IyYjkwMWU0MTJiMmRlOGUwM2RhLi44YmU3MzZmMDQ5YzkxYjMwOGNkMmMxZWNhZjE0MDVhMDVj
MWFlNTAwIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L3dwZS9BY3RpdmF0ZUZvbnRzV1BFLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL3dwZS9BY3RpdmF0ZUZvbnRzV1BFLmNwcApAQCAtNTgsOCArNTgsMTMgQEAg
Q1N0cmluZyBnZXRPdXRwdXREaXIoKQogCiBzdGF0aWMgQ1N0cmluZyBnZXRGb250c1BhdGgoKQog
eworICAgIC8vIFRyeSBmbGF0cGFrIHNhbmRib3ggcGF0aC4KKyAgICBHVW5pcXVlUHRyPGNoYXI+
Zm9udHNQYXRoKGdfYnVpbGRfZmlsZW5hbWUoIi91c3IiLCAic2hhcmUiLCAid2Via2l0Z3RrLXRl
c3QtZm9udHMiLCBOVUxMKSk7CisgICAgaWYgKGdfZmlsZV90ZXN0KGZvbnRzUGF0aC5nZXQoKSwg
c3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9FWElTVFMgfCBHX0ZJTEVfVEVTVF9J
U19ESVIpKSkKKyAgICAgICAgcmV0dXJuIGZvbnRzUGF0aC5nZXQoKTsKKwogICAgIENTdHJpbmcg
d2Via2l0T3V0cHV0RGlyID0gZ2V0T3V0cHV0RGlyKCk7Ci0gICAgR1VuaXF1ZVB0cjxjaGFyPiBm
b250c1BhdGgoZ19idWlsZF9maWxlbmFtZSh3ZWJraXRPdXRwdXREaXIuZGF0YSgpLCAiRGVwZW5k
ZW5jaWVzV1BFIiwgIlJvb3QiLCAid2Via2l0Z3RrLXRlc3QtZm9udHMiLCBudWxscHRyKSk7Cisg
ICAgZm9udHNQYXRoLnJlc2V0KGdfYnVpbGRfZmlsZW5hbWUod2Via2l0T3V0cHV0RGlyLmRhdGEo
KSwgIkRlcGVuZGVuY2llc1dQRSIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgbnVs
bHB0cikpOwogICAgIGlmIChnX2ZpbGVfdGVzdChmb250c1BhdGguZ2V0KCksIHN0YXRpY19jYXN0
PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfRVhJU1RTIHwgR19GSUxFX1RFU1RfSVNfRElSKSkpCiAg
ICAgICAgIHJldHVybiBmb250c1BhdGguZ2V0KCk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRw
YWsvZmlsZXMvZGVmYXVsdC54a20gYi9Ub29scy9mbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMTZmNmIwOGY2ZDgwODU4MDk2OGJhMDIyNTZk
OTA3NWQ0OGE0N2QwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCkdJ
VCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpsaXRlcmFsIDEyMDMyCnpjbWNn
eVlqN0xhYi11ZTs1RmtpVmwzJWZGY1NecngqJE5ZMkw0c2lHclVDKHdwenQmUmw5SDIlckFTeiRN
VWdafQp6Tj4tZjROflYoXm93VWdgTnotQHl0RFV+PlJDVXdOUkRHcVhgPilnS1lkVzR6YGY/bTZh
b2RAK292TkwlLSpAaj4Kej5+YW1JcyVPJlc5RGUocWQoT1MqS0s5PGJpK2xMdWc9Zz1JQDVpMjNO
KTBHV2VNfVhVMTAwVjJES3l8aXVTUEI0CnpwVTJqWStROFJgOT18NjdZKi1JSDlBJGNaX243Q1cp
YyR3SFJCaThLV296WEV5ZHheTnU/dE03TzZPOCVxcktNYwp6YlIxUkROPUcjeyMjSi1Gd1lsNWYr
RTZPNEQhdSFKWU9PJUkhSz88MnxJR1RPaioycVIqKUMkTmM2T0gpY3ghTEYKeigqPjVVNVdVIyVS
R213IW9sN1R7SGBiU1RJeT1Yb3ghbWRRVVVeaS1fd1BxVU4pPW1xbGBBR3c1RXFoJGo2KV9NCno4
T1M2ZzN6XkNsUSVNTnlRdG91USlvQUNZUmp2VFAwe2paX0U1TlMrelhKUlVAR0hRdDBLV3FLM2gq
blcrLUFGMwp6dEt7MzJUcG9VVF9+cWYzaGhIOWtkSENod214b14tZXRHIWlRPmt7UFBeYD9mTitg
M0VufSoqc3tIRWJJNFptc2wKek9+WT4qZSQoKXFoVG44NSo9KUI7PHdrWUJsQj17XmplSWVtWXFW
eXskclF3ZXEjQCZ3Mn1sTXEzQ1RqSFgzRDgjCnp0eShGIUB8QU1BRnsjUnBFTXlBT25sQ3JUZmZK
QW5CdiZYbVFhfjR5aDluX3tOQGJ5dld9OC04dnUpJnNAPX1PMwp6bGA3fWp4emIhU1MxUSlackUr
Xz1JJHRXRFlVSGNzTXpQakpkJSQ8MChRTV9MaF9fT2tEVXxCZjsoU0E/I19XOGYKelFrLWN3WEdg
czN0KUwzXiNhZCZ3UEBBaUA2azRTP212V1FVYEYzJWtVS3hYJlh3KDsqJG55IzRHbVlHUTN6JnNX
CnptMT90PCh5OUNjYFl2NXJvVTFoPGBGZ2R7WVMkYU4rMXk7Q1MjUWtPM2lYKzB0KH50byZlUmND
QmlDeHIlKyg2ewp6YEwtJCpEfi05LV8jXzFSalplKmBDWCRkOCNEJTBHPEIkblIxX0hZWSppRkRM
MUdeMERHTyl8UUUoNXlePkB1KisKenolQiMzNEQyUmhId244KippRksyNV9YZllufXBwWT4/VUQx
M0EtJXB2YXJqLUUoXk9YPzZSPVMhWSZLREViT3dkCnpuQFhiWChhJE9MYXwtPk9MTy1YXyZuZmhD
M2pPUk4tOWBWbjchTk0mLTBeQ213VFJ8ZCluWXI+bnJ9MnFYQnkycAp6SDxeVkAmQUYqMEJuNUZI
WH47TmEwK05BRExTVURJb2VNaGBifXNCKCp0eEtDVmR1aW1nJnEzQ2J6enI9VF5lPzIKeipyajJZ
aEZ1elZZMXBNPG14ZiYkY0heKWNodXR7ciMkaClPeUsmZiEhdyZ1N3FDWl5waGx+RGooSH0xUSEk
cDYlCno9bnI+ZExPKFA0bCpfKVo3SGppLW1QJHt5WEVfRWMpcG1+S3BoLWw8YkN1YTkkNGE/QE07
cCZ8V3FKMXJwYkswQwp6cmghR15JSXN6djBNYWY0Sk9pOHImSTdaK0lwN3FxJlN4TGshMUspZmF6
TihTMHk0aD5rb25DM25jcG1zYElVZ28Kej8tWT52bTRWRHBLbVdpZEB0aVpDKD9JNXYyUXJAcEFv
SDA5R01eZmRgQmM2NkpGWnI/RV5jcGhifntTbCN8UENpCnpHTnxnYzshPnIhUF5Ac1Mtbj5HIUVk
clpDKW4yU2l4fSZCc2tMdmskWlQrY1Q2QGleaVRpRFNqcD5tWipES31rZwp6JiplUV5OOUM4ZGNi
SVBad2tVaSttNVhPRW13MHZxVHI8dmZ4KXc2ajw+VEw9WUwoX0ArOXg8Ukp2LT1GXzZhVD0KekMl
cmdORHNAO2pAPUYtSiNpanw/TUxqJHBaKyZuKWRxPTZHdzluVVQ/UGs1PWQzZzNRKW13czQhSUxI
KWJ5RDMlCnpwVU9jZSZuTEtVRFNLM1dNdllKTlc8TEo5JEh2azFSPD02Q2EhfjFUVDs1dSQ/Nn15
KilyZ01DSH0+TjMpPnZnOQp6NSEpbGltSUdjZ19IRTVOOUV9YnJoYnVrJCg/O3Q+RUpyekx3N0FO
Km4tJCMrZGYxPzhkKzZuWEhyOFZ6JmI0e2UKemoxJWRyUVQ3JGAqeklvVVpkMCtpcVlsVEJOZCk9
RyprTzVnI0ZRRGFTdVhsN2hPcmlmM305YVojWCF0YXVfJER+CnpMSHx8aWBDTWhHSUVNd28pRjte
QUkrZyptWEdqbTUqaGNqWjFnakxyQngyIXMpaUlCZjRULUhMMjxfK3JBRVVKeAp6cFR3LT1NZiho
P2NCeHRQb31kRmA/bSFHeStfN1MpXk1TU25XcGtzfHQoZklsTG4+SUN4OGAtVHd6YnIwNjtyMjIK
ek8lSmVNcmBoSlo3bHU1Jj9nY2JDO3k1STZhSitmXyVyPEJIcXVGJiNRNEJ7ZnU5KXB1MH07byVE
O09VSlghdSRHCnotXlJmSUV6WVFRVXB6RHhMKyE8VlVLOTtGZlNxNT0hY0cqSTROVXwhdStVRjc+
Sih2fVA/c24rdE9LWT00RTFtQAp6N2V5b1J2Kjh6a1VqJStPezMyMjctVUReaV5XeElYK3lYa2Rv
LWNGWWhifDE/MTZQPElORFBwJFU2Xn5PeEI3aGoKenpxVCNNJjhAYnJqamxsMytHeUtqMmluI2pL
aiFoaGN7N0xHQ2R8RklkYnt9VFg9Qkc0az98WFImVSk8QGMrVHxMCnpsc1VpfnF1KzYkdHk7ekVv
Wm52SWRaSWg8OVEpVkpfX3cyOzdVcEY8Vmg4NTZncW8/KCVRfTNrV2t4dV5PRnFIJgp6XjUmJkcx
OT05ZnAwfntUSD04Myh7JEBUMj1JYH4jSjtENkhiI3Y+c1cqZ3NYLTdFKzU0Qz07NCh0akFoZGl9
dD4KeiNXZmM1bTNsfDh7T2E4NFZxd1dfa09KaitkIShEeUczcEdNekNkSSleVG90QjlMKUUkQU0/
JWYyKEh0P0hxKDFPCno8aloqM1c/VTtDUF8xR0VKTHE8Q2lMYVNVeG1zYUtAN1JKSmchc2NfNlJO
a2c5cmxpVnI8WE8kdGprJmgrWCZadQp6PjtuJDBveWFzZSRLTWdHWFFNTFRrX3IxKGB3MDZie2xT
OEwpZjxRQ3Q9e15Hek92Q3pNfXlAXjR8ISR1Pm1PYU8KelFRNnhmS1lsfEE/IX0rT3VGVT0+Pmhn
cDhYajlmdXNuXztWWEx9I3BCZzNCdS0kI0ExcWA/cGZgfjhuI1FLTDErCnpsX1Q3eTBlRG9ud2c+
LTtfUSVMVzh9ZlExI0p7WTBxTD09OWg8e2J7cDxlcGVMajNFUjVCSmpGNERtWk9rTGpfPQp6QHtq
OEh1IWx3YnRpby09ODkoeyQhV2xwTGh2QCZ8S34jLVE+VG01SXRVdmdIYGgkRCpBN0ZtKWsyPU9i
RX1ZLTIKemNxTXVxMT5xVmRoZDsqd3VhTz0lX0FmQ1dZdX0yZ2VGVU1AUGx4I0RkS31KM3xBYFIp
YilSIU9QKEt5bypMb2NKCno8TkMxPmY0UnBeMSU1b2xmM3dIO2FWaG9iNWRWQ1NxYUx7Yk9vOyFN
Jm4+M15XUWhOVWFCa3N3e1k7NGVzUEtlaQp6I196OSVfJFBnP3Itb2spQGxXfCZjajIjdV8lOTJP
JWdwamlBXnhLOUw3OH1kSHBHOWA8RUFeK1hHOG9pZz9zVjsKem1DdHBLZT1WSC0mLVZHNzkjXmAo
VUtRQE8mKUBkYVZVMDRzKVo8e191Z20hST83IWwzOXBNezMqWDRpSj1lbTh+Cno+flR9IWZBK2Nk
e30tUVlnTWFuOF9XeT9QTERRWTstK1pxOXxKfj0+fDM3QEx7cl4rPVZmcjZZPlBDPXtEKW5FJgp6
Rn5qS217QGRxaDM4bDchXzl2QmtDY3g+PzRSRSZDUExMeV8tNXwjXnlCRmtXKUpzOCpfJH4rZXM4
WWBjSTNNe2QKejBuUkA4SyFDRld7ekNYTD9zQDY/KXRpckNweSReQipZbTR6PUM5fTEwTjMtWWFG
KGElKjh0Yl50OGojYF4heXMmCnplYG0lTVRHekMlXzA5TVomUUZLJWE+Pmk/YW92NGJLZkg5XmVP
Tnl7WllJMkZrRENRIXB2VW5kand7eVZjdE9WJQp6P3tQRE4yWWNMJXM2Pnded0VhK3o0ezFLITxF
QkwpN1hIeWpjZVo8T00/S3s4I3I0ZXtePz03dUVMNjh2SkwqQT8Kemp+VEFsN2lrfjFmTD5wfjUz
RGNYdFVjNUpOIWw7TWsxJXJDNCUyPFVrTS1ERktWZD5VRW0oIzE/OyVJa19SNUw5CnpvZkdTdW8h
I1U1WDl4YnlmWnRHNWFyNkFmYHAoK3VAJWglSENVZkBFeShrbH1wKCtLe3ttY3lhe0FQN2g/KWZx
Twp6TEFmNlhKfHk9T3o9ITJOMTNXQURsZll3Z3A5TVo5X2Z4PiphLVJlOzFlUEBoVCQyMG0xKWgt
bUlPM3d2VylMYHYKenY1dEV5Xy0qZVEqZ2okRzU5bHZMeDdiSkRmdihzYC0tV0soTjYrN2orSXty
PUhoSEZ4ZWg8MyZLS2dhJj1LQVFqCnpwc1YtTVokc0JHZGk3cjViOGBRRjsxNTk5Wi0+dyg3V1Rt
WlZBfCtGe2cre3JHZD42T2AyNDlfZWV8byk3NWVDKAp6Zl5NZGR7eWNRRWVlYFM0bUhPelBoVkUx
IUolNSt1d35UUFY7KiolRjdgXiUpO0NJWFlCZnRtYntgLUwrZl5lJGcKenl1KSR3S0pYN2ghdWZw
d3grbllTcE0/JnVCNSQhQGZpQi1pZStqeVVLS2dVZVA1MDRuTFJhZ2Z6WCU7WmkwaGMmCnozNEMx
Yy12eFkrK2BrKzZlR3R+fj9APlF+cDlfQmY8WCRCeF9oYXN7VlprK2teRX03TXNQP3pAeWJ8YG00
eDZCRwp6dGA2SiRFXkxDcmA4I2EkZCQwKSM9ayYxNkA1M2Yyb2FlKGZlKmx9SGFQQU09ezJeP0Qh
dTIzKl45OSVoZz08OUUKej04cz8jNnN7WCNuPWlzOUN8cGF6SGgmRDhwbTJTJHRSdzFxPS1LeyEt
ezgzOXpMJEdwLWdBJTNlSn02MXBYREFtCnpvRzxzOExFKllXZCt4dXZDKzl1KXk0P1RycDhJYUAj
bCFoPEtOPUxTU0c0RFEwXmMyWSZ2eWQ4Qy05IzhmNCZwJgp6b19rZzlVd1F2b0FvckA0YnlkSWZW
T1pmUzUkOXQ2YHdHVn0kMWIxMHBNISpCYz9KR0s7bzJMdmA0aVgjaDNoZjAKeihydE42bXliMF5A
SWs+eDFSbnI7d20rPE9qYH5NbnhEMzduMVpDODtpNTMyPlY7T2RMTGh3dmshUVk7XnIrT1gyCnp7
IUl1cjFlPTJNZj0+dngxUSFMe2Yod0V4ZzhNK1A0ITctZEVhNHFoQE9IdCsxYjtfLVVWO1BxJG07
aHkoKFNPaAp6QWE8d1YkRyY3Z24hZCFFRktPZElRfD9Le0opbVdzKU8kYWNlX218WDEpbWIhLWpD
fHxJPk1oM3o5e2lzNVdGYjMKekNVJlFWS1B8aT97NXlkcjJCcUZEeClYeCQ3a247WV5GeU1gMn5H
PlhPWWxqLUZ+TUVJPUxQUShPYlZ0Mmp8bn5rCnpeeH1DWj8lOCVrM2Z0dSFxUHFpXzY1VTsqeUEk
WnktNnZgOTUhP2lOYEY+YipjTUkrYUV7S2gxX3BJb3oyeSEzQQp6N2BUVGJ1OEgzMzghejlZPXd9
M0gxeHRjK0soQ0M/aVM4RSFVbGU/KVhMRDc1fDZuYHQ7eVQwaWhTISgle1lpYiMKekBuZDhCQGNP
IytHMjRpN2RoTGBLVUp4dGB7PTZYVFBrWWJyR3ZMZ1JJekVAKXtsYFZgYWojRSpNRXZnK1RvUWEt
CnpAVF8xND09cGwlSjBmWWVwZXVNciY9RExFajAkcFdHUU9faENqPjdHekV8KipmfWF4bkcqRE9R
Q2pYY3hGQXUlKgp6UDl4Q208RiNpe0BwdFZ9e242MDYlM3FldjczYzVSTXk+M3QtV014ey13RGxH
Q1B+NyhnYD0qRDR9V2pJeFZePW4Keio3XkNhY1I4eE95dCQwSXc1UT5IWW9wV0kjJjJIITZ+cDxi
byRieWhfbWM+JWNqMHswOSlJc1FxczZHOVRpP00oCnpZcGBkPEdPTnEkKiEtRWRHbjBUbCYpUmJM
e1FCbTMjX25JPFo+RnNIQEt5UHNoVUEhPD9RWlJEa01iU24me2YqPQp6RDt4OHladGQtS00kNFRt
SjBxamk9dVpUd2hkRFBraTEoKUIrYmdOJCNHfnFjeDVaPGFRYzxfVmgkKklEdXFNPmwKelZgRlFi
aloyLX5eX0F0Wmk9RVo9eV5DWXJ2Q1hhUyNwUjdMQjtwX3R7K3F3YG92bXprVnJuZGZteyZWSEU4
WD8mCnotU3NXKjJaeipiWFMzNT9VbH5QRjs4QXNNVnxuRVFAYmNPXjhmaWVDP3s9PVpOclMwbWwp
U1R2Q15WKiVATnJiRgp6LW95c2QjKTUlR1NZNS1QNFpIKWpkO3gjPjR2Zj1iZSk8UDNLWWgoJkkh
PXlaPEwmdzE5WX1Ye0khfj45dDh8X3MKeiF9bXtvMz83aXF4Kk95NFptVm0jaWdGRTZVZWpyZSR3
ODJnYj1JMHVsb3RAXjNwIXIqNXE8REdJNm05XjwoJiR8CnpsaE5fO15xSFQyQlQoUGhiYldjKyV1
b01EITJlNnl6Z2pOQD5OXnJoem9HcUdGITIzZjMqYFQyQ0xKZih7UGQ/Qwp6emRhWTY3d2A9Nl5x
SFVENGRqMVRtKFNCYGUpPWBFaz42aXVRVTZNQGZjbz5KOVV1Mk0/Tl5XfGJoITYpRjR7NCEKelg3
KUIkJXNfZm9Ufnt3M3goKjhyUmFePURhVSRWYUxVZjZadnZqRmY7MHw9YmlEfCljITNtNTw+TkNQ
ODErIyl2CnpDT3dyakplM21FYFNHa0FoTTJ7M2RlcmwqODxBJXN4N1Vge0lzM1pHNDgwdHxeQjQ4
djheSTBGS2hYfjc4RmhYQAp6b2dZeGcyaHtOYUMmVygyMmQ/Ny0+aUI/RENmJnJ4YkNKU3pldFpK
KG9ld1JVeiVMc3A3aVQzQ18+T3tlUU58QUUKenM8YmBNUlNCQU1hanJfWkRIckZlZ3F3MTR1Rjd5
Sjd3ME80Pi1faitWNkB2RyNoNT5ZYXloYVNEcikyV2woRUQ0CnpEe1lWU1NBd1Fvb1dCeG8lRWtG
QjtpZz1pemNPNlAja292IUtCPmU0MXtCTlZsYWohUjAta0A9X0JnTDhYdilRVAp6RSNhbklvWXhY
PSVFZnN0O2lnPWk9UVB9dSVPQD9OVnp3Uk9jdG0rUEpCZDQrPWgrZiEoQl5xaEJGfXRjT2o8blYK
ekwoWCQ8TTRvfXVUPkF+JEY7IWUkLV9fR1EjIVBhIVV+fGsyST47TFJtQjRkPVp6bml3aTVQNjIk
dDNiakNYcyMxCnpiZV9XYD1sTSpOVU8tdk9GMkk1aDJoVlltR2lLV0pKZn17X1N4ekYpYmBvKEd0
YUR8MWRHKHpBOylvcSM5RXNsOAp6V2s1V2FOO3txdkhDUlBtJFhnbTI1QUFxdjY/JShqUn1EQEg8
X1pabHRqN2w5O0NXVilKfFVSViRpNmlCcShzbEIKenBaVFEpaS0+enoqTXwhfVhQPC1gTFY3YHUx
KUtydnRUdlc2SjZLQz9ee1Y9OUpPQnw2NHFVLX5mckdqQ1lhPTgwCnpyT3tsJHlAWD9UdD1BNndZ
MmtmPzZYe3hTOVAhaEt5fGRQcDwjUX1JO0BuVlFLKUdMM3QyJVJDWm8+U3dgRjdYUgp6THdje25K
V0xeeD1uWnhLRnpSSFBHRURyWWtoZmRMO2xOcE1zZnZtVyspJHMjPG9Zb3ckNz42emooV1JnYWM7
bzgKTWtrc2R+YklJaVkwODNLMDI+PHs5CgpkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9maWxl
cy9odHRwZC1hdXRvZ2VuLnNoIGIvVG9vbHMvZmxhdHBhay9maWxlcy9odHRwZC1hdXRvZ2VuLnNo
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAxYzBjNDgzMDUxZmJkZjg2MDRiOTQ0YTYz
NTExYzRlMTIxZWFlZjRkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1Rvb2xzL2ZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaAorKysgL2Rldi9udWxs
CkBAIC0xLDIgKzAsMCBAQAotYXV0b21ha2UgLS1hZGQtbWlzc2luZwotYXV0b3JlY29uZiAtLWlu
c3RhbGwKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5IGIvVG9vbHMv
ZmxhdHBhay9mbGF0cGFrdXRpbHMucHkKaW5kZXggODllYmM2NzMxMGMxZDViODRjOTBjZjU0MDdm
OTQwYzAxYjA1ZWVlNi4uYzQxODJlNDFiMzgxY2QyNmNiZjg1NDVmMjNhZDIxYzM1OTIxNzFiNCAx
MDA2NDQKLS0tIGEvVG9vbHMvZmxhdHBhay9mbGF0cGFrdXRpbHMucHkKKysrIGIvVG9vbHMvZmxh
dHBhay9mbGF0cGFrdXRpbHMucHkKQEAgLTQ5LDE1ICs0OSwxMCBAQCBleGNlcHQgSW1wb3J0RXJy
b3I6CiAKIEZMQVRQQUtfUkVRID0gWwogICAgICgiZmxhdHBhayIsICIwLjEwLjAiKSwKLSAgICAo
ImZsYXRwYWstYnVpbGRlciIsICIwLjEwLjAiKSwKIF0KIAogRkxBVFBBS19WRVJTSU9OID0ge30K
IAotV1BFX01BTklGRVNUX01BUCA9IHsKLSAgICAicXQiOiAib3JnLndlYmtpdC5XUEVRVC55YW1s
IiwKLX0KLQogc2NyaXB0ZGlyID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShfX2Zp
bGVfXykpCiBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAKQEAgLTEyMywxMzIg
KzExOCw2IEBAIGRlZiBjaGVja19mbGF0cGFrKHZlcmJvc2U9VHJ1ZSk6CiAgICAgcmV0dXJuIFRy
dWUKIAogCi1kZWYgcmVtb3ZlX2V4dGVuc2lvbl9wb2ludHMoYXJyYXkpOgotICAgIHJlc3VsdF9h
cmdzID0gW10KLSAgICBmb3IgYXJnIGluIGFycmF5OgotICAgICAgICBpZihub3QgYXJnLnN0YXJ0
c3dpdGgoJy0tZXh0ZW5zaW9uJykpOgotICAgICAgICAgICAgcmVzdWx0X2FyZ3MuYXBwZW5kKGFy
ZykKLSAgICByZXR1cm4gcmVzdWx0X2FyZ3MKLQotCi1kZWYgcmVtb3ZlX2NvbW1lbnRzKHN0cmlu
Zyk6Ci0gICAgcGF0dGVybiA9IHIiKFwiLio/XCJ8XCcuKj9cJyl8KC9cKi4qP1wqL3wvL1teXHJc
bl0qJCkiCi0gICAgIyBmaXJzdCBncm91cCBjYXB0dXJlcyBxdW90ZWQgc3RyaW5ncyAoZG91Ymxl
IG9yIHNpbmdsZSkKLSAgICAjIHNlY29uZCBncm91cCBjYXB0dXJlcyBjb21tZW50cyAoLy9zaW5n
bGUtbGluZSBvciAvKiBtdWx0aS1saW5lICovKQotICAgIHJlZ2V4ID0gcmUuY29tcGlsZShwYXR0
ZXJuLCByZS5NVUxUSUxJTkUgfCByZS5ET1RBTEwpCi0KLSAgICBkZWYgX3JlcGxhY2VyKG1hdGNo
KToKLSAgICAgICAgIyBpZiB0aGUgMm5kIGdyb3VwIChjYXB0dXJpbmcgY29tbWVudHMpIGlzIG5v
dCBOb25lLAotICAgICAgICAjIGl0IG1lYW5zIHdlIGhhdmUgY2FwdHVyZWQgYSBub24tcXVvdGVk
IChyZWFsKSBjb21tZW50IHN0cmluZy4KLSAgICAgICAgaWYgbWF0Y2guZ3JvdXAoMikgaXMgbm90
IE5vbmU6Ci0gICAgICAgICAgICByZXR1cm4gIiIgICMgc28gd2Ugd2lsbCByZXR1cm4gZW1wdHkg
dG8gcmVtb3ZlIHRoZSBjb21tZW50Ci0gICAgICAgIGVsc2U6ICAjIG90aGVyd2lzZSwgd2Ugd2ls
bCByZXR1cm4gdGhlIDFzdCBncm91cAotICAgICAgICAgICAgcmV0dXJuIG1hdGNoLmdyb3VwKDEp
ICAjIGNhcHR1cmVkIHF1b3RlZC1zdHJpbmcKLSAgICByZXR1cm4gcmVnZXguc3ViKF9yZXBsYWNl
ciwgc3RyaW5nKQotCi0KLWRlZiBsb2FkX21hbmlmZXN0KG1hbmlmZXN0X3BhdGgsIHBvcnRfbmFt
ZT1Ob25lLCBjb21tYW5kPU5vbmUpOgotICAgIGlzX3lhbWwgPSBtYW5pZmVzdF9wYXRoLmVuZHN3
aXRoKCcueWFtbCcpCi0gICAgd2l0aCBvcGVuKG1hbmlmZXN0X3BhdGgsICJyIikgYXMgbXI6Ci0g
ICAgICAgIGNvbnRlbnRzID0gbXIucmVhZCgpCi0KLSAgICAgICAgY29udGVudHMgPSBjb250ZW50
cyAlIHsiQ09NTUFORCI6IGNvbW1hbmQsICJQT1JUTkFNRSI6IHBvcnRfbmFtZX0KLSAgICAgICAg
aWYgaXNfeWFtbDoKLSAgICAgICAgICAgIGltcG9ydCB5YW1sCi0gICAgICAgICAgICB5YW1sX2xv
YWQgPSBnZXRhdHRyKHlhbWwsICJzYWZlX2xvYWQiLCB5YW1sLmxvYWQpCi0gICAgICAgICAgICBt
YW5pZmVzdCA9IHlhbWxfbG9hZChjb250ZW50cykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAg
IGNvbnRlbnRzID0gcmVtb3ZlX2NvbW1lbnRzKGNvbnRlbnRzKQotICAgICAgICAgICAgbWFuaWZl
c3QgPSBqc29uLmxvYWRzKGNvbnRlbnRzKQotCi0gICAgcmV0dXJuIG1hbmlmZXN0Ci0KLQotZGVm
IGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2UobW9kdWxlcywgbWFuaWZlc3RfcGF0aCwgcG9ydF9u
YW1lLCBjb21tYW5kKToKLSAgICBhbGxfbW9kdWxlcyA9IFtdCi0gICAgaWYgdHlwZShtb2R1bGVz
KSBpcyBzdHI6Ci0gICAgICAgIHN1Ym1hbmlmZXN0X3BhdGggPSBvcy5wYXRoLmpvaW4ob3MucGF0
aC5kaXJuYW1lKG1hbmlmZXN0X3BhdGgpLCBtb2R1bGVzKQotICAgICAgICBzdWJtYW5pZmVzdCA9
IGxvYWRfbWFuaWZlc3Qoc3VibWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lPXBvcnRfbmFtZSwgY29t
bWFuZD1jb21tYW5kKQotICAgICAgICBhbGxfbW9kdWxlcy5leHRlbmQoZXhwYW5kX3N1Ym1vZHVs
ZXNfcmVjdXJzZShzdWJtYW5pZmVzdCwgc3VibWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lLCBjb21t
YW5kKSkKLSAgICAgICAgcmV0dXJuIGFsbF9tb2R1bGVzCi0KLSAgICAjIFRoZSBsYXN0IHJlY3Vy
c2UgbWFuaWZlc3QgZXhwYW5kIGl0ZXJhdGlvbiBtaWdodCBsZWFkIHRvIGEgc2luZ2xlIG1vZHVs
ZS4KLSAgICBpZiBub3QgaXNpbnN0YW5jZShtb2R1bGVzLCBsaXN0KToKLSAgICAgICAgYWxsX21v
ZHVsZXMuYXBwZW5kKG1vZHVsZXMpCi0gICAgICAgIHJldHVybiBhbGxfbW9kdWxlcwotCi0gICAg
Zm9yIG1vZHVsZSBpbiBtb2R1bGVzOgotICAgICAgICBpZiB0eXBlKG1vZHVsZSkgaXMgc3RyOgot
ICAgICAgICAgICAgc3VibWFuaWZlc3RfcGF0aCA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5h
bWUobWFuaWZlc3RfcGF0aCksIG1vZHVsZSkKLSAgICAgICAgICAgIHN1Ym1hbmlmZXN0ID0gbG9h
ZF9tYW5pZmVzdChzdWJtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWU9cG9ydF9uYW1lLCBjb21tYW5k
PWNvbW1hbmQpCi0gICAgICAgICAgICBhbGxfbW9kdWxlcy5leHRlbmQoZXhwYW5kX3N1Ym1vZHVs
ZXNfcmVjdXJzZShzdWJtYW5pZmVzdCwgc3VibWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lLCBjb21t
YW5kKSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGFsbF9tb2R1bGVzLmFwcGVuZChtb2R1
bGUpCi0KLSAgICByZXR1cm4gYWxsX21vZHVsZXMKLQotZGVmIGV4cGFuZF9tYW5pZmVzdChtYW5p
ZmVzdF9wYXRoLCBvdXRmaWxlLCBwb3J0X25hbWUsIHNvdXJjZV9yb290LCBjb21tYW5kKToKLSAg
ICAiIiJDcmVhdGVzIHRoZSBtYW5pZmVzdCBmaWxlLiIiIgotICAgIHRyeToKLSAgICAgICAgb3Mu
cmVtb3ZlKG91dGZpbGUpCi0gICAgZXhjZXB0IE9TRXJyb3I6Ci0gICAgICAgIHBhc3MKLQotICAg
IG1hbmlmZXN0ID0gbG9hZF9tYW5pZmVzdChtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWU9cG9ydF9u
YW1lLCBjb21tYW5kPWNvbW1hbmQpCi0gICAgaWYgbm90IG1hbmlmZXN0OgotICAgICAgICByZXR1
cm4gRmFsc2UKLQotICAgIGlmICJzZGstaGFzaCIgaW4gbWFuaWZlc3Q6Ci0gICAgICAgIGRlbCBt
YW5pZmVzdFsic2RrLWhhc2giXQotICAgIGlmICJydW50aW1lLWhhc2giIGluIG1hbmlmZXN0Ogot
ICAgICAgICBkZWwgbWFuaWZlc3RbInJ1bnRpbWUtaGFzaCJdCi0KLSAgICBhbGxfbW9kdWxlcyA9
IFtdCi0KLSAgICBvdmVycmlkZW5fbW9kdWxlcyA9IFtdCi0gICAgaWYgIldFQktJVF9FWFRSQV9N
T0RVTEVTRVRTIiBpbiBvcy5lbnZpcm9uOgotICAgICAgICBvdmVycmlkZW5fbW9kdWxlcyA9IGxv
YWRfbWFuaWZlc3Qob3MuZW52aXJvblsiV0VCS0lUX0VYVFJBX01PRFVMRVNFVFMiXSkKLSAgICAg
ICAgaWYgbm90IG92ZXJyaWRlbl9tb2R1bGVzOgotICAgICAgICAgICAgb3ZlcnJpZGVuX21vZHVs
ZXMgPSBbXQotICAgIGZvciBtb2R1bGVzIGluIG1hbmlmZXN0WyJtb2R1bGVzIl06Ci0gICAgICAg
IG1vZHVsZXMgPSBleHBhbmRfc3VibW9kdWxlc19yZWN1cnNlKG1vZHVsZXMsIG1hbmlmZXN0X3Bh
dGgsIHBvcnRfbmFtZSwgY29tbWFuZCkKLQotICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShtb2R1
bGVzLCBsaXN0KToKLSAgICAgICAgICAgIG1vZHVsZXMgPSBbbW9kdWxlc10KLQotICAgICAgICBm
b3IgbW9kdWxlIGluIG1vZHVsZXM6Ci0gICAgICAgICAgICBmb3Igb3ZlcnJpZGVuX21vZHVsZSBp
biBvdmVycmlkZW5fbW9kdWxlczoKLSAgICAgICAgICAgICAgICBpZiBtb2R1bGVbJ25hbWUnXSA9
PSBvdmVycmlkZW5fbW9kdWxlWyduYW1lJ106Ci0gICAgICAgICAgICAgICAgICAgIG1vZHVsZSA9
IG92ZXJyaWRlbl9tb2R1bGUKLSAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVuX21vZHVsZXMu
cmVtb3ZlKG1vZHVsZSkKLSAgICAgICAgICAgICAgICAgICAgYnJlYWsKLQotICAgICAgICAgICAg
YWxsX21vZHVsZXMuYXBwZW5kKG1vZHVsZSkKLQotICAgICMgQW5kIGFkZCBvdmVycmlkZW4gbW9k
dWxlcyByaWdodCBiZWZvcmUgdGhlIHdlYmtpdCBwb3J0IGJ1aWxkIGRlZi4KLSAgICBmb3Igb3Zl
cnJpZGVuX21vZHVsZSBpbiBvdmVycmlkZW5fbW9kdWxlczoKLSAgICAgICAgYWxsX21vZHVsZXMu
aW5zZXJ0KC0xLCBvdmVycmlkZW5fbW9kdWxlKQotCi0gICAgbWFuaWZlc3RbIm1vZHVsZXMiXSA9
IGFsbF9tb2R1bGVzCi0gICAgZm9yIG1vZHVsZSBpbiBtYW5pZmVzdFsibW9kdWxlcyJdOgotICAg
ICAgICBpZiBub3QgbW9kdWxlLmdldCgic291cmNlcyIpOgotICAgICAgICAgICAgY29udGludWUK
LQotICAgICAgICBpZiBtb2R1bGVbInNvdXJjZXMiXVswXVsidHlwZSJdID09ICJnaXQiOgotICAg
ICAgICAgICAgaWYgcG9ydF9uYW1lID09IG1vZHVsZVsibmFtZSJdOgotICAgICAgICAgICAgICAg
IHJlcG8gPSAiZmlsZTovLyIgKyBzb3VyY2Vfcm9vdAotICAgICAgICAgICAgICAgIG1vZHVsZVsi
c291cmNlcyJdWzBdWyJ1cmwiXSA9IHJlcG8KLQotICAgICAgICBmb3Igc291cmNlIGluIG1vZHVs
ZVsic291cmNlcyJdOgotICAgICAgICAgICAgaWYgc291cmNlWyJ0eXBlIl0gPT0gInBhdGNoIiBv
ciAoc291cmNlWyJ0eXBlIl0gPT0gImZpbGUiIGFuZCBzb3VyY2UuZ2V0KCdwYXRoJykpOgotICAg
ICAgICAgICAgICAgIHNvdXJjZVsicGF0aCJdID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFt
ZShtYW5pZmVzdF9wYXRoKSwgc291cmNlWyJwYXRoIl0pCi0KLSAgICB3aXRoIG9wZW4ob3V0Zmls
ZSwgInciKSBhcyBvZjoKLSAgICAgICAgb2Yud3JpdGUoanNvbi5kdW1wcyhtYW5pZmVzdCwgaW5k
ZW50PTQpKQotCi0gICAgcmV0dXJuIFRydWUKLQotCiBjbGFzcyBGbGF0cGFrT2JqZWN0OgogCiAg
ICAgZGVmIF9faW5pdF9fKHNlbGYsIHVzZXIpOgpAQCAtMjg0LDcgKzE1Myw2IEBAIGNsYXNzIEZs
YXRwYWtQYWNrYWdlcyhGbGF0cGFrT2JqZWN0KToKICAgICAgICAgc2VsZi5hcHBzID0gc2VsZi5f
X2RldGVjdF9hcHBzKCkKICAgICAgICAgc2VsZi5wYWNrYWdlcyA9IHNlbGYucnVudGltZXMgKyBz
ZWxmLmFwcHMKIAotCiAgICAgZGVmIF9fZGV0ZWN0X3BhY2thZ2VzKHNlbGYsICphcmdzKToKICAg
ICAgICAgcGFja3MgPSBbXQogICAgICAgICBpZiBGTEFUUEFLX1ZFUlNJT05bImZsYXRwYWsiXSA8
ICgxLCAxLCAyKToKQEAgLTMxMiw3ICsxODAsNiBAQCBjbGFzcyBGbGF0cGFrUGFja2FnZXMoRmxh
dHBha09iamVjdCk6CiAKICAgICAgICAgcmV0dXJuIHBhY2tzCiAKLQogICAgIGRlZiBfX2RldGVj
dF9ydW50aW1lcyhzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX19kZXRlY3RfcGFja2FnZXMo
Ii0tcnVudGltZSIpCiAKQEAgLTM2Miw3ICsyMjksNyBAQCBjbGFzcyBGbGF0cGFrUmVwb3MoRmxh
dHBha09iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiTm8gdmFs
aWQgVVJJIGZvdW5kIGZvcjogJXMiLCByZXBvKQogICAgICAgICAgICAgICAgICAgICBjb250aW51
ZQogCi0gICAgICAgICAgICAgICAgc2VsZi5yZXBvc1tuYW1lXSA9IEZsYXRwYWtSZXBvKG5hbWUs
IHVybCwgZGVzYywgcmVwb3M9c2VsZikKKyAgICAgICAgICAgICAgICBzZWxmLnJlcG9zW25hbWVd
ID0gRmxhdHBha1JlcG8obmFtZT1uYW1lLCB1cmw9dXJsLCBkZXNjPWRlc2MsIHJlcG9zPXNlbGYp
CiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBvdXQgPSBzZWxmLmZsYXRwYWsoInJlbW90ZS1s
aXN0IiwgIi0tY29sdW1ucz1uYW1lLHRpdGxlLHVybCIpCiAgICAgICAgICAgICByZW1vdGVzID0g
W2xpbmUgZm9yIGxpbmUgaW4gb3V0LnNwbGl0KCJcbiIpIGlmIGxpbmVdCkBAIC0zNzMsNyArMjQw
LDcgQEAgY2xhc3MgRmxhdHBha1JlcG9zKEZsYXRwYWtPYmplY3QpOgogICAgICAgICAgICAgICAg
ICAgICBDb25zb2xlLm1lc3NhZ2UoIk5vIHZhbGlkIFVSSSBmb3VuZCBmb3I6ICVzIiwgcmVtb3Rl
KQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogCi0gICAgICAgICAgICAgICAgc2VsZi5y
ZXBvc1tuYW1lXSA9IEZsYXRwYWtSZXBvKG5hbWUsIHVybCwgdGl0bGUsIHJlcG9zPXNlbGYpCisg
ICAgICAgICAgICAgICAgc2VsZi5yZXBvc1tuYW1lXSA9IEZsYXRwYWtSZXBvKG5hbWU9bmFtZSwg
dXJsPXVybCwgZGVzYz10aXRsZSwgcmVwb3M9c2VsZikKIAogICAgICAgICBzZWxmLnBhY2thZ2Vz
ID0gRmxhdHBha1BhY2thZ2VzKHNlbGYpCiAKQEAgLTQ0OSw5ICszMTYsMTIgQEAgY2xhc3MgRmxh
dHBha1BhY2thZ2UoRmxhdHBha09iamVjdCk6CiAgICAgICAgIHNlbGYuYXJjaCA9IGFyY2gKICAg
ICAgICAgc2VsZi5oYXNoID0gaGFzaAogCi0gICAgZGVmIF9fc3RyX18oc2VsZik6CisgICAgZGVm
IF9fcmVwcl9fKHNlbGYpOgogICAgICAgICByZXR1cm4gIiVzLyVzLyVzICVzIiAlIChzZWxmLm5h
bWUsIHNlbGYuYXJjaCwgc2VsZi5icmFuY2gsIHNlbGYucmVwby5uYW1lKQogCisgICAgZGVmIF9f
c3RyX18oc2VsZik6CisgICAgICAgIHJldHVybiAiJXMvJXMvJXMiICUgKHNlbGYubmFtZSwgc2Vs
Zi5hcmNoLCBzZWxmLmJyYW5jaCkKKwogICAgIGRlZiBpc19pbnN0YWxsZWQoc2VsZiwgYnJhbmNo
KToKICAgICAgICAgaWYgbm90IHNlbGYucmVwbzoKICAgICAgICAgICAgICMgQnVuZGxlIGluc3Rh
bGxlZCBmcm9tIGZpbGUKQEAgLTQ5MSw3ICszNjEsNyBAQCBjbGFzcyBGbGF0cGFrUGFja2FnZShG
bGF0cGFrT2JqZWN0KToKICAgICAgICAgZXh0cmFfYXJncy5hcHBlbmQoIi0tYXNzdW1leWVzIikK
IAogICAgICAgICBzZWxmLmZsYXRwYWsoInVwZGF0ZSIsIHNlbGYubmFtZSwgc2VsZi5icmFuY2gs
IHNob3dfb3V0cHV0PVRydWUsCi0gICAgICAgICAgICAgICAgICAgICpleHRyYV9hcmdzLCBjb21t
ZW50PWNvbW1lbnQpCisgICAgICAgICAgICAgICAgICAgICAqZXh0cmFfYXJncywgY29tbWVudD1j
b21tZW50KQogCiAKIEBjb250ZXh0bWFuYWdlcgpAQCAtNTE5LDUxICszODksNTIgQEAgY2xhc3Mg
V2Via2l0RmxhdHBhazoKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoJy0tdmVyYm9zZScs
IGFjdGlvbj0nc3RvcmVfdHJ1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9
J1Nob3cgZGVidWcgbWVzc2FnZScpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLWRl
YnVnIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJDb21waWxlIHdpdGggRGVi
dWcgY29uZmlndXJhdGlvbiwgYWxzbyBpbnN0YWxscyBTZGsgZGVidWcgc3ltYm9sZXMuIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBoZWxwPSJDb21waWxlIHdpdGggRGVidWcgY29uZmlndXJhdGlv
biwgYWxzbyBpbnN0YWxscyBTZGsgZGVidWcgc3ltYm9sZXMuIiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJn
dW1lbnQoIi0tcmVsZWFzZSIsIGhlbHA9IkNvbXBpbGUgd2l0aCBSZWxlYXNlIGNvbmZpZ3VyYXRp
b24uIiwgYWN0aW9uPSJzdG9yZV90cnVlIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQo
Jy0tcGxhdGZvcm0nLCBhY3Rpb249J3N0b3JlJywgaGVscD0nUGxhdGZvcm0gdG8gdXNlIChlLmcu
LCAibWFjLWxpb24iKScpLAogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgnLS1ndGsnLCBh
Y3Rpb249J3N0b3JlX2NvbnN0JywgZGVzdD0ncGxhdGZvcm0nLCBjb25zdD0nZ3RrJywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nQWxpYXMgZm9yIC0tcGxhdGZvcm09Z3RrJykK
ICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoJy0td3BlJywgYWN0aW9uPSdzdG9yZV9jb25z
dCcsIGRlc3Q9J3BsYXRmb3JtJywgY29uc3Q9J3dwZScsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0oJ0FsaWFzIGZvciAtLXBsYXRmb3JtPXdwZScpKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBoZWxwPSgnQWxpYXMgZm9yIC0tcGxhdGZvcm09d3BlJykpCiAgICAgICAg
IGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItbmYiLCAiLS1uby1mbGF0cGFrLXVwZGF0ZSIsIGRlc3Q9
Im5vX2ZsYXRwYWtfdXBkYXRlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249
InN0b3JlX3RydWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkRvIG5vdCB1
cGRhdGUgZmxhcHRhayBydW50aW1lL3NkayIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9
IkRvIG5vdCB1cGRhdGUgZmxhcHRhayBydW50aW1lL3NkayIpCiAgICAgICAgIGdlbmVyYWwuYWRk
X2FyZ3VtZW50KCItdSIsICItLXVwZGF0ZSIsIGRlc3Q9InVwZGF0ZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBoZWxwPSJVcGRhdGUgdGhlIHJ1bnRpbWUvc2RrL2FwcCBhbmQgcmVidWlsZCB0aGUg
ZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgaWYgbmVlZGVkIikKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaGVscD0iVXBkYXRlIHRoZSBydW50aW1lL3Nkay9hcHAgYW5kIHJlYnVpbGQgdGhlIGRldmVs
b3BtZW50IGVudmlyb25tZW50IGlmIG5lZWRlZCIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3Vt
ZW50KCItYiIsICItLWJ1aWxkLXdlYmtpdCIsIGRlc3Q9ImJ1aWxkX3dlYmtpdCIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBoZWxwPSJGb3JjZSByZWJ1aWxkaW5nIHRoZSBhcHAuIikKLSAgICAgICAg
Z2VuZXJhbC5hZGRfYXJndW1lbnQoIi1iYSIsICItLWJ1aWxkLWFsbCIsIGRlc3Q9ImJ1aWxkX2Fs
bCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJGb3JjZSByZWJ1aWxkaW5nIHRoZSBhcHAg
YW5kIGl0cyBkZXBlbmRlbmNpZXMuIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0
aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRm9y
Y2UgcmVidWlsZGluZyB0aGUgYXBwLiIpCisgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCIt
YmdzdCIsICItLWJ1aWxkLWdzdCIsIGRlc3Q9ImJ1aWxkX2dzdCIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhlbHA9IkZvcmNlIHJlYnVpbGRpbmcgZ3N0LWJ1aWxkLCByZXBvc2l0b3J5IHBhdGgg
aXMgZGVmaW5lZCBieSB0aGUgYEdTVF9CVUlMRF9QQVRIYCBlbnZpcm9ubWVudCB2YXJpYWJsZS4i
KQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLXEiLCAiLS1xdWlldCIsIGRlc3Q9InF1
aWV0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkRvIG5vdCBwcmludCBhbnl0aGluZyIp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkRvIG5vdCBwcmludCBhbnl0aGluZyIpCiAg
ICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItdCIsICItLXRlc3RzIiwgZGVzdD0icnVuX3Rl
c3RzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXJncz1hcmdwYXJzZS5SRU1BSU5E
RVIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iUnVuIExheW91dFRlc3RzIikK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFyZ3M9YXJncGFyc2UuUkVNQUlOREVSLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJSdW4gTGF5b3V0VGVzdHMiKQogICAg
ICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLWMiLCAiLS1jb21tYW5kIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBuYXJncz1hcmdwYXJzZS5SRU1BSU5ERVIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaGVscD0iVGhlIGNvbW1hbmQgdG8gcnVuIGluIHRoZSBzYW5kYm94IiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0PSJ1c2VyX2NvbW1hbmQiKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBuYXJncz1hcmdwYXJzZS5SRU1BSU5ERVIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlRoZSBjb21tYW5kIHRvIHJ1biBpbiB0aGUgc2Fu
ZGJveCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9InVzZXJfY29tbWFuZCIp
CiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCctLWF2YWlsYWJsZScsIGFjdGlvbj0nc3Rv
cmVfdHJ1ZScsIGRlc3Q9ImNoZWNrX2F2YWlsYWJsZSIsIGhlbHA9J0NoZWNrIGlmIHJlcXVpcmVk
IGRlcGVuZGVuY2llcyBhcmUgYXZhaWxhYmxlLicpLAotICAgICAgICBnZW5lcmFsLmFkZF9hcmd1
bWVudCgiLS11c2UtaWNlY3JlYW0iLCBoZWxwPSJVc2UgdGhlIGRpc3RyaWJ1dGVkIGljZWNyZWFt
IChpY2VjYykgY29tcGlsZXIuIiwgYWN0aW9uPSJzdG9yZV90cnVlIikKLSAgICAgICAgZ2VuZXJh
bC5hZGRfYXJndW1lbnQoIi0td3BlLWV4dGVuc2lvbiIsIGFjdGlvbj0ic3RvcmUiLCBkZXN0PSJ3
cGVfZXh0ZW5zaW9uIiwgaGVscD0iV1BFIEV4dGVuc2lvbiB0byBlbmFibGUiKQorICAgICAgICBn
ZW5lcmFsLmFkZF9hcmd1bWVudCgiLS11c2UtaWNlY3JlYW0iLCBkZXN0PSJ1c2VfaWNlY3JlYW0i
LCBoZWxwPSJVc2UgdGhlIGRpc3RyaWJ1dGVkIGljZWNyZWFtIChpY2VjYykgY29tcGlsZXIuIiwg
YWN0aW9uPSJzdG9yZV90cnVlIikKIAogICAgICAgICBkZWJ1Z29wdGlvbnMgPSBwYXJzZXIuYWRk
X2FyZ3VtZW50X2dyb3VwKCJEZWJ1Z2dpbmciKQogICAgICAgICBkZWJ1Z29wdGlvbnMuYWRkX2Fy
Z3VtZW50KCItLWdkYiIsIG5hcmdzPSI/IiwgaGVscD0iQWN0aXZhdGUgZ2RiLCBwYXNzaW5nIGV4
dHJhIGFyZ3MgdG8gaXQgaWYgd2FudGVkLiIpCisgICAgICAgIGRlYnVnb3B0aW9ucy5hZGRfYXJn
dW1lbnQoIi0tZ2RiLXN0YWNrLXRyYWNlIiwgZGVzdD0iZ2RiX3N0YWNrX3RyYWNlIiwgbmFyZ3M9
Ij8iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkR1bXAgdGhlIHN0
YWNrdHJhY2UgdG8gc3Rkb3V0LiBUaGUgYXJndW1lbnQgaXMgYSB0aW1lc3RhbXAgdG8gYmUgcGFy
c2VkIGJ5IGNvcmVkdW1wY3RsLiIpCiAgICAgICAgIGRlYnVnb3B0aW9ucy5hZGRfYXJndW1lbnQo
Ii1tIiwgIi0tY29yZWR1bXBjdGwtbWF0Y2hlcyIsIGRlZmF1bHQ9IiIsIGhlbHA9J0FyZ3VtZW50
cyB0byBwYXNzIHRvIGdkYi4nKQogCiAgICAgICAgIGJ1aWxkb3B0aW9ucyA9IHBhcnNlci5hZGRf
YXJndW1lbnRfZ3JvdXAoIkV4dHJhIGJ1aWxkIGFyZ3VtZW50cyIpCiAgICAgICAgIGJ1aWxkb3B0
aW9ucy5hZGRfYXJndW1lbnQoIi0tbWFrZWFyZ3MiLCBoZWxwPSJPcHRpb25hbCBNYWtlZmlsZSBm
bGFncyIpCiAgICAgICAgIGJ1aWxkb3B0aW9ucy5hZGRfYXJndW1lbnQoIi0tY21ha2VhcmdzIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iT25lIG9yIG1vcmUgb3B0aW9u
YWwgQ01ha2UgZmxhZ3MgKGUuZy4gLS1jbWFrZWFyZ3M9XCItREZPTz1iYXIgLURDTUFLRV9QUkVG
SVhfUEFUSD0vdXNyL2xvY2FsXCIpIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSJPbmUgb3IgbW9yZSBvcHRpb25hbCBDTWFrZSBmbGFncyAoZS5nLiAtLWNtYWtlYXJn
cz1cIi1ERk9PPWJhciAtRENNQUtFX1BSRUZJWF9QQVRIPS91c3IvbG9jYWxcIikiKQogCiAgICAg
ICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLWNsZWFuIiwgZGVzdD0iY2xlYW4iLCBhY3Rpb249
InN0b3JlX3RydWUiLAotICAgICAgICAgICAgaGVscD0iQ2xlYW4gcHJldmlvdXMgYnVpbGRzIGFu
ZCByZXN0YXJ0IGZyb20gc2NyYXRjaCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhl
bHA9IkNsZWFuIHByZXZpb3VzIGJ1aWxkcyBhbmQgcmVzdGFydCBmcm9tIHNjcmF0Y2giKQogCiAg
ICAgICAgIF8sIHNlbGYuYXJncyA9IHBhcnNlci5wYXJzZV9rbm93bl9hcmdzKGFyZ3M9YXJncywg
bmFtZXNwYWNlPXNlbGYpCiAKQEAgLTU4Myw2ICs0NTQsNyBAQCBjbGFzcyBXZWJraXRGbGF0cGFr
OgogICAgICAgICBzZWxmLnVwZGF0ZSA9IEZhbHNlCiAgICAgICAgIHNlbGYuYXJncyA9IFtdCiAg
ICAgICAgIHNlbGYuZmluaXNoX2FyZ3MgPSBOb25lCisgICAgICAgIHNlbGYuZ2RiX3N0YWNrX3Ry
YWNlID0gRmFsc2UKIAogICAgICAgICBzZWxmLm5vX2ZsYXRwYWtfdXBkYXRlID0gRmFsc2UKICAg
ICAgICAgc2VsZi5yZWxlYXNlID0gRmFsc2UKQEAgLTU5NCw5ICs0NjYsMTAgQEAgY2xhc3MgV2Vi
a2l0RmxhdHBhazoKICAgICAgICAgc2VsZi5zYW5kYm94X3NvdXJjZV9yb290ID0gIi9hcHAvd2Vi
a2l0IgogCiAgICAgICAgIHNlbGYuYnVpbGRfd2Via2l0ID0gRmFsc2UKKyAgICAgICAgc2VsZi5i
dWlsZF9nc3QgPSBGYWxzZQogICAgICAgICBzZWxmLmJ1aWxkX2FsbCA9IEZhbHNlCiAKLSAgICAg
ICAgc2VsZi5zZGtfYnJhbmNoID0gTm9uZQorICAgICAgICBzZWxmLnNka19icmFuY2ggPSAiMC4x
IgogICAgICAgICBzZWxmLnBsYXRmb3JtID0gImd0ayIKICAgICAgICAgc2VsZi5idWlsZF90eXBl
ID0gIlJlbGVhc2UiCiAgICAgICAgIHNlbGYubWFuaWZlc3RfcGF0aCA9IE5vbmUKQEAgLTYwNyw3
ICs0ODAsNiBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICBzZWxmLmFwcF9tb2R1bGUg
PSBOb25lCiAgICAgICAgIHNlbGYuZmxhdHBha19kZWZhdWx0X2FyZ3MgPSBbXQogICAgICAgICBz
ZWxmLmNoZWNrX2F2YWlsYWJsZSA9IEZhbHNlCi0gICAgICAgIHNlbGYud3BlX2V4dGVuc2lvbiA9
IE5vbmUKIAogICAgICAgICAjIERlZmF1bHQgYXBwbGljYXRpb24gdG8gcnVuIGluIHRoZSBzYW5k
Ym94CiAgICAgICAgIHNlbGYuY29tbWFuZCA9IE5vbmUKQEAgLTY0NiwzMCArNTE4LDIwIEBAIGNs
YXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgICAgICBzZWxmLmdkYiA9ICIiCiAKICAgICAgICAg
c2VsZi5jb21tYW5kID0gIiVzICVzICVzIiAlIChvcy5wYXRoLmpvaW4oc2VsZi5zYW5kYm94X3Nv
dXJjZV9yb290LAotICAgICAgICAgICAgIlRvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93c2VyIiks
Ci0gICAgICAgICAgICAiLS0iICsgc2VsZi5wbGF0Zm9ybS5sb3dlcigpLAotICAgICAgICAgICAg
IiAtLWRlYnVnIiBpZiBzZWxmLmRlYnVnIGVsc2UgIiAtLXJlbGVhc2UiKQotCi0gICAgICAgIHNl
bGYubmFtZSA9ICJvcmcud2Via2l0LiVzIiAlIHNlbGYucGxhdGZvcm0KLQotICAgICAgICBpZiBz
ZWxmLndwZV9leHRlbnNpb246Ci0gICAgICAgICAgICBtYW5pZmVzdF9maWxlbmFtZSA9IFdQRV9N
QU5JRkVTVF9NQVBbc2VsZi53cGVfZXh0ZW5zaW9uXQotICAgICAgICBlbHNlOgotICAgICAgICAg
ICAgbWFuaWZlc3RfZmlsZW5hbWUgPSAib3JnLndlYmtpdC5XZWJLaXQueWFtbCIKLSAgICAgICAg
c2VsZi5tYW5pZmVzdF9wYXRoID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihzY3JpcHRk
aXIsICcuLi9mbGF0cGFrLycpICsgbWFuaWZlc3RfZmlsZW5hbWUpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUb29scy9TY3JpcHRzL3J1bi1taW5p
YnJvd3NlciIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItLSIgKyBz
ZWxmLnBsYXRmb3JtLmxvd2VyKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIiAtLWRlYnVnIiBpZiBzZWxmLmRlYnVnIGVsc2UgIiAtLXJlbGVhc2UiKQogCi0gICAgICAg
IHNlbGYuYnVpbGRfbmFtZSA9IHNlbGYubmFtZSArICItZ2VuZXJhdGVkIgorICAgICAgICBzZWxm
LmZsYXRwYWtfYnVpbGRfcGF0aCA9IG9zLmVudmlyb25bIkZMQVRQQUtfVVNFUl9ESVIiXQogCiAg
ICAgICAgIGJ1aWxkX3Jvb3QgPSBvcy5wYXRoLmpvaW4oc2VsZi5zb3VyY2Vfcm9vdCwgJ1dlYktp
dEJ1aWxkJykKLSAgICAgICAgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGggPSBvcy5wYXRoLmpvaW4o
YnVpbGRfcm9vdCwgc2VsZi5wbGF0Zm9ybSwgIkZsYXRwYWtUcmVlIiArIHNlbGYuYnVpbGRfdHlw
ZSkKLSAgICAgICAgc2VsZi5jYWNoZV9wYXRoID0gb3MucGF0aC5qb2luKGJ1aWxkX3Jvb3QsICJG
bGF0cGFrQ2FjaGUiKQogICAgICAgICBzZWxmLmJ1aWxkX3BhdGggPSBvcy5wYXRoLmpvaW4oYnVp
bGRfcm9vdCwgc2VsZi5wbGF0Zm9ybSwgc2VsZi5idWlsZF90eXBlKQogICAgICAgICB0cnk6CiAg
ICAgICAgICAgICBvcy5tYWtlZGlycyhzZWxmLmJ1aWxkX3BhdGgpCiAgICAgICAgIGV4Y2VwdCBP
U0Vycm9yIGFzIGU6CiAgICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVFWElTVDoKICAg
ICAgICAgICAgICAgICByYWlzZSBlCi0gICAgICAgIHNlbGYuY29uZmlnX2ZpbGUgPSBvcy5wYXRo
LmpvaW4oc2VsZi5idWlsZF9wYXRoLCAnd2Via2l0X2ZsYXRwYWtfY29uZmlnLmpzb24nKQorICAg
ICAgICBzZWxmLmNvbmZpZ19maWxlID0gb3MucGF0aC5qb2luKHNlbGYuZmxhdHBha19idWlsZF9w
YXRoLCAnd2Via2l0X2ZsYXRwYWtfY29uZmlnLmpzb24nKQogCiAgICAgICAgIENvbnNvbGUucXVp
ZXQgPSBzZWxmLnF1aWV0CiAgICAgICAgIGlmIG5vdCBjaGVja19mbGF0cGFrKCk6CkBAIC02Nzcs
MzUgKzUzOSwzNSBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogCiAgICAgICAgIHJlcG9zID0gRmxh
dHBha1JlcG9zKCkKICAgICAgICAgc2VsZi5zZGtfcmVwbyA9IHJlcG9zLmFkZCgKLSAgICAgICAg
ICAgIEZsYXRwYWtSZXBvKCJmbGF0aHViIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVybD0i
aHR0cHM6Ly9kbC5mbGF0aHViLm9yZy9yZXBvLyIsCi0gICAgICAgICAgICAgICAgICAgICAgICBy
ZXBvX2ZpbGU9Imh0dHBzOi8vZGwuZmxhdGh1Yi5vcmcvcmVwby9mbGF0aHViLmZsYXRwYWtyZXBv
IikpCisgICAgICAgICAgICBGbGF0cGFrUmVwbygid2Via2l0LXNkayIsCisgICAgICAgICAgICAg
ICAgICAgICAgICB1cmw9Imh0dHBzOi8vc29mdHdhcmUuaWdhbGlhLmNvbS93ZWJraXQtc2RrLXJl
cG8vIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcG9fZmlsZT0iaHR0cHM6Ly9zb2Z0d2Fy
ZS5pZ2FsaWEuY29tL2ZsYXRwYWstcmVmcy93ZWJraXQtc2RrLmZsYXRwYWtyZXBvIikKKyAgICAg
ICAgKQogCi0gICAgICAgIG1hbmlmZXN0ID0gbG9hZF9tYW5pZmVzdChzZWxmLm1hbmlmZXN0X3Bh
dGgsIHBvcnRfbmFtZT1zZWxmLm5hbWUpCi0gICAgICAgIGlmIG5vdCBtYW5pZmVzdDoKLSAgICAg
ICAgICAgIHJldHVybiBGYWxzZQotCi0gICAgICAgIHNlbGYuYXBwID0gbWFuaWZlc3RbJ2FwcC1p
ZCddCi0KLSAgICAgICAgc2VsZi5zZGtfYnJhbmNoID0gbWFuaWZlc3RbInJ1bnRpbWUtdmVyc2lv
biJdCi0gICAgICAgIHNlbGYuZmluaXNoX2FyZ3MgPSBtYW5pZmVzdC5nZXQoImZpbmlzaC1hcmdz
IiwgW10pCi0gICAgICAgIHNlbGYuZmluaXNoX2FyZ3MgPSByZW1vdmVfZXh0ZW5zaW9uX3BvaW50
cyhzZWxmLmZpbmlzaF9hcmdzKQotICAgICAgICBzZWxmLnJ1bnRpbWUgPSBGbGF0cGFrUGFja2Fn
ZShtYW5pZmVzdFsncnVudGltZSddLCBzZWxmLnNka19icmFuY2gsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNoPW1hbmlmZXN0LmdldCgicnVudGltZS1o
YXNoIikpCi0gICAgICAgIHNlbGYubG9jYWxlID0gRmxhdHBha1BhY2thZ2UobWFuaWZlc3RbJ3J1
bnRpbWUnXSArICcuTG9jYWxlJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzZWxmLnNka19icmFuY2gsIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQiKQotICAgICAgICBzZWxm
LnNkayA9IEZsYXRwYWtQYWNrYWdlKG1hbmlmZXN0WydzZGsnXSwgc2VsZi5zZGtfYnJhbmNoLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc2g9bWFuaWZlc3QuZ2V0KCJz
ZGstaGFzaCIpKQorICAgICAgICBzZWxmLmZpbmlzaF9hcmdzID0gW10KKyAgICAgICAgc2VsZi5y
dW50aW1lID0gRmxhdHBha1BhY2thZ2UoIm9yZy53ZWJraXQuUGxhdGZvcm0iLCBzZWxmLnNka19i
cmFuY2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX3Jl
cG8sICJ4ODZfNjQiKQorICAgICAgICBzZWxmLmxvY2FsZSA9IEZsYXRwYWtQYWNrYWdlKCJvcmcu
d2Via2l0LlBsYXRmb3JtLkxvY2FsZSIsIHNlbGYuc2RrX2JyYW5jaCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IikKKyAgICAgICAg
c2VsZi5zZGsgPSBGbGF0cGFrUGFja2FnZSgib3JnLndlYmtpdC5TZGsiLCAiMC4xIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IikKICAg
ICAgICAgc2VsZi5wYWNrcyA9IFtzZWxmLnJ1bnRpbWUsIHNlbGYubG9jYWxlLCBzZWxmLnNka10K
IAorICAgICAgICAjIEZJWE1FOiBGb3IgdW5rbm93biByZWFzb25zLCB0aGUgR0wgZXh0ZW5zaW9u
IG5lZWRzIHRvIGJlIGV4cGxpY2l0ZWx5CisgICAgICAgICMgaW5zdGFsbGVkIGZvciBGbGF0cGFr
IDEuMi54IHRvIGJlIGFibGUgdG8gbWFrZSB1c2Ugb2YgaXQuIFNlZW1zIGxpa2UKKyAgICAgICAg
IyBpdCdzIG5vdCBjb3JyZWN0bHkgaW5oZXJpdGluZyBpdCBmcm9tIHRoZSBTREsuCisgICAgICAg
IHNlbGYuZmxhdGh1Yl9yZXBvID0gcmVwb3MuYWRkKAorICAgICAgICAgICAgRmxhdHBha1JlcG8o
ImZsYXRodWIiLCByZXBvX2ZpbGU9Imh0dHBzOi8vZGwuZmxhdGh1Yi5vcmcvcmVwby9mbGF0aHVi
LmZsYXRwYWtyZXBvIikKKyAgICAgICAgKQorICAgICAgICBzZWxmLmdsX2V4dGVuc2lvbiA9IEZs
YXRwYWtQYWNrYWdlKCJvcmcuZnJlZWRlc2t0b3AuUGxhdGZvcm0uR0wuZGVmYXVsdCIsICIxOS4w
OCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5mbGF0
aHViX3JlcG8sICJ4ODZfNjQiKQorICAgICAgICBzZWxmLnBhY2tzLmFwcGVuZChzZWxmLmdsX2V4
dGVuc2lvbikKKwogICAgICAgICBpZiBzZWxmLmRlYnVnOgotICAgICAgICAgICAgc2VsZi5zZGtf
ZGVidWcgPSBGbGF0cGFrUGFja2FnZShtYW5pZmVzdFsnc2RrJ10gKyAnLkRlYnVnJywgc2VsZi5z
ZGtfYnJhbmNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNk
a19yZXBvLCAieDg2XzY0IikKKyAgICAgICAgICAgIHNlbGYuc2RrX2RlYnVnID0gRmxhdHBha1Bh
Y2thZ2UoJ29yZy53ZWJraXQuU2RrLkRlYnVnJywgc2VsZi5zZGtfYnJhbmNoLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0
IikKICAgICAgICAgICAgIHNlbGYucGFja3MuYXBwZW5kKHNlbGYuc2RrX2RlYnVnKQotICAgICAg
ICBzZWxmLm1hbmlmZXN0X2dlbmVyYXRlZF9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYuY2FjaGVf
cGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzZWxmLmJ1aWxkX25hbWUgKyAiLmpzb24iKQorCiAgICAgICAgIHRyeToKICAgICAgICAgICAg
IHdpdGggb3BlbihzZWxmLmNvbmZpZ19maWxlKSBhcyBjb25maWc6CiAgICAgICAgICAgICAgICAg
anNvbl9jb25maWcgPSBqc29uLmxvYWQoY29uZmlnKQpAQCAtNzE1LDcgKzU3Nyw0NSBAQCBjbGFz
cyBXZWJraXRGbGF0cGFrOgogCiAgICAgICAgIHJldHVybiBUcnVlCiAKKyAgICBkZWYgc2V0dXBf
YnVpbGRkaXIoc2VsZiwgKiprd2FyZ3MpOgorICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhvcy5w
YXRoLmpvaW4oc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsICJtZXRhZGF0YSIpKToKKyAgICAgICAg
ICAgIHJldHVybgorCisgICAgICAgIHNlbGYuc2RrX3JlcG8uZmxhdHBhaygiYnVpbGQtaW5pdCIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcmcud2Via2l0LldlYmtpdCIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2VsZi5zZGspLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3RyKHNlbGYucnVudGltZSksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzZWxmLnNkay5icmFuY2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
aG93X291dHB1dD0ic3Rkb3V0IiBpbiBrd2FyZ3Mua2V5cygpKQorCisgICAgZGVmIHNldHVwX2dz
dGJ1aWxkKHNlbGYsIGJ1aWxkaW5nKToKKyAgICAgICAgZ3N0X2RpciA9IG9zLmVudmlyb24uZ2V0
KCdHU1RfQlVJTERfUEFUSCcpCisgICAgICAgIGlmIG5vdCBnc3RfZGlyOgorICAgICAgICAgICAg
cmV0dXJuIFtdCisKKyAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihn
c3RfZGlyLCAnZ3N0LWVudi5weScpKToKKyAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcign
R1NUX0JVSUxEX1BBVEggc2V0IHRvICVzIGJ1dCBpdCBkb2VzblwndCBzZWVtIHRvIGJlIGEgdmFs
aWQgYGdzdC1idWlsZGAgY2hlY2tvdXQuJyAlIGdzdF9kaXIpCisKKyAgICAgICAgZ3N0X2J1aWxk
ZGlyID0gb3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgIldlYktpdEJ1aWxk
IiwgJ2dzdC1idWlsZCcpCisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpv
aW4oc2VsZi5zb3VyY2Vfcm9vdCwgJ1dlYktpdEJ1aWxkJywgJ2dzdC1idWlsZCcsICdidWlsZC5u
aW5qYScpKToKKyAgICAgICAgICAgIGlmIG5vdCBidWlsZGluZzoKKyAgICAgICAgICAgICAgICBy
YWlzZSBSdW50aW1lRXJyb3IoJ1RyeWluZyB0byBlbnRlciBnc3QtYnVpbGQgZW52IGZyb20gJXMg
YnV0IGl0IGlzIG5vdCBidWlsdCwgbWFrZSBzdXJlIHRvIHJlYnVpbGQgd2Via2l0LicgJSBnc3Rf
ZGlyKQorCisgICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIlJ1bm5pbmcgbWVzb24gZm9yIGBn
c3QtYnVpbGRgICVzICIsIGdzdF9kaXIpCisgICAgICAgICAgICBzZWxmLnJ1bl9pbl9zYW5kYm94
KCdtZXNvbicsIGdzdF9kaXIsIGdzdF9idWlsZGRpciwgYnVpbGRpbmdfZ3N0PVRydWUpCisKKyAg
ICAgICAgaWYgbm90IGJ1aWxkaW5nOgorICAgICAgICAgICAgcmV0dXJuIFtvcy5wYXRoLmpvaW4o
Z3N0X2RpciwgJ2dzdC1lbnYucHknKSwgJy0tYnVpbGRkaXInLCBnc3RfYnVpbGRkaXIsICctLXNy
Y2RpcicsIGdzdF9kaXJdCisKKyAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJCdWlsZGluZyBgZ3N0
LWJ1aWxkYCAlcyAiLCBnc3RfZGlyKQorICAgICAgICBpZiBzZWxmLnJ1bl9pbl9zYW5kYm94KCdu
aW5qYScsICctQycsIGdzdF9idWlsZGRpciwgYnVpbGRpbmdfZ3N0PVRydWUpICE9IDA6CisgICAg
ICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ0Vycm9yIHdoaWxlIGJ1aWxkaW5nIGdzdC1idWls
ZC4nKQorCisgICAgICAgIHJldHVybiBbb3MucGF0aC5qb2luKGdzdF9kaXIsICdnc3QtZW52LnB5
JyksICctLWJ1aWxkZGlyJywgZ3N0X2J1aWxkZGlyLCAnLS1zcmNkaXInLCBnc3RfZGlyXQorCiAg
ICAgZGVmIHJ1bl9pbl9zYW5kYm94KHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHNl
bGYuc2V0dXBfYnVpbGRkaXIoc3Rkb3V0PWt3YXJncy5nZXQoInN0ZG91dCIsIHN5cy5zdGRvdXQp
KQogICAgICAgICBjd2QgPSBrd2FyZ3MucG9wKCJjd2QiLCBOb25lKQogICAgICAgICBleHRyYV9l
bnZfdmFycyA9IGt3YXJncy5wb3AoImVudiIsIHt9KQogICAgICAgICBzdGRvdXQgPSBrd2FyZ3Mu
cG9wKCJzdGRvdXQiLCBzeXMuc3Rkb3V0KQpAQCAtNzIzLDYgKzYyMyw3IEBAIGNsYXNzIFdlYmtp
dEZsYXRwYWs6CiAKICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoYXJncywgbGlzdCk6CiAgICAg
ICAgICAgICBhcmdzID0gbGlzdChhcmdzKQorCiAgICAgICAgIGlmIGFyZ3M6CiAgICAgICAgICAg
ICBpZiBvcy5wYXRoLmV4aXN0cyhhcmdzWzBdKToKICAgICAgICAgICAgICAgICBjb21tYW5kID0g
b3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmFic3BhdGgoYXJnc1swXSkpCkBAIC03MzAsNTAgKzYz
MSw1NCBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICAgICAgICAgIGFyZ3NbMF0gPSBj
b21tYW5kLnJlcGxhY2Uoc2VsZi5zb3VyY2Vfcm9vdCwgc2VsZi5zYW5kYm94X3NvdXJjZV9yb290
KQogICAgICAgICAgICAgaWYgYXJnc1swXS5lbmRzd2l0aCgiYnVpbGQtd2Via2l0Iik6CiAgICAg
ICAgICAgICAgICAgYXJncy5hcHBlbmQoIi0tcHJlZml4PS9hcHAiKQorICAgICAgICBidWlsZGlu
ZyA9IG9zLnBhdGguYmFzZW5hbWUoYXJnc1swXSkuc3RhcnRzd2l0aCgiYnVpbGQiKQogCiAgICAg
ICAgIHNhbmRib3hfYnVpbGRfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLnNhbmRib3hfc291cmNl
X3Jvb3QsICJXZWJLaXRCdWlsZCIsIHNlbGYuYnVpbGRfdHlwZSkKLSAgICAgICAgd2l0aCB0ZW1w
ZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUobW9kZT0idyIpIGFzIHRtcHNjcmlwdDoKLSAgICAgICAg
ICAgIGZsYXRwYWtfY29tbWFuZCA9IFsiZmxhdHBhayIsICJidWlsZCIsICItLWRpZS13aXRoLXBh
cmVudCIsCi0gICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0vcnVuL3NobT0vZGV2L3NobSIs
Ci0gICAgICAgICAgICAgICAgIyBXb3JrYXJvdW5kIGZvciBodHRwczovL3dlYmtpdC5vcmcvYi8x
ODczODQgdG8gaGF2ZSBvdXIgb3duIHBlcmwgbW9kdWxlcyB1c2FibGUgaW5zaWRlIHRoZSBzYW5k
Ym94Ci0gICAgICAgICAgICAgICAgIyBhcyBzZXR0aW5nIHRoZSBQRVJMNUxJQiBlbnZ2YXIgd29u
J3Qgd29yayBpbnNpZGUgYXBhY2hlIChhbmQgZm9yIHNjcmlwdHMgdXNpbmcgYHBlcmwgLVRgYCku
Ci0gICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0vcnVuL2hvc3QvJXM9JXMiICUgKHRlbXBm
aWxlLmdldHRlbXBkaXIoKSwgdGVtcGZpbGUuZ2V0dGVtcGRpcigpKSwKLSAgICAgICAgICAgICAg
ICAiLS1iaW5kLW1vdW50PSVzPSVzIiAlIChzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsIHNlbGYu
c291cmNlX3Jvb3QpLAorICAgICAgICBmbGF0cGFrX2NvbW1hbmQgPSBbImZsYXRwYWsiLCAiYnVp
bGQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tZGllLXdpdGgtcGFyZW50IiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuYTExeS5CdXMiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIi0tdGFsay1uYW1lPW9yZy5ndGsudmZzIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuZ3RrLnZmcy4qIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9L3J1bi9zaG09L2Rldi9zaG0iLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBXb3JrYXJvdW5kIGZvciBodHRwczovL3dlYmtp
dC5vcmcvYi8xODczODQgdG8gaGF2ZSBvdXIgb3duIHBlcmwgbW9kdWxlcyB1c2FibGUgaW5zaWRl
IHRoZSBzYW5kYm94CisgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGFzIHNldHRpbmcgdGhl
IFBFUkw1TElCIGVudnZhciB3b24ndCB3b3JrIGluc2lkZSBhcGFjaGUgKGFuZCBmb3Igc2NyaXB0
cyB1c2luZyBgcGVybCAtVGBgKS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQt
bW91bnQ9L3J1bi9ob3N0LyVzPSVzIiAlICh0ZW1wZmlsZS5nZXR0ZW1wZGlyKCksIHRlbXBmaWxl
LmdldHRlbXBkaXIoKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50
PSVzPSVzIiAlIChzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsIHNlbGYuc291cmNlX3Jvb3QpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBXZSBtb3VudCBXZWJLaXRCdWlsZC9QT1JUTkFN
RS9CdWlsZFR5cGUgdG8gL2FwcC93ZWJraXQvV2ViS2l0QnVpbGQvQnVpbGRUeXBlCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAjIHNvIHdlIGNhbiBidWlsZCBXUEUgYW5kIEdUSyBpbiBhIHNh
bWUgc291cmNlIHRyZWUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50
PSVzPSVzIiAlIChzYW5kYm94X2J1aWxkX3BhdGgsIHNlbGYuYnVpbGRfcGF0aCldCisKKyAgICAg
ICAgZm9yd2FyZGVkID0geworICAgICAgICAgICAgIldFQktJVF9UT1BfTEVWRUwiOiAiL2FwcC8i
LAorICAgICAgICAgICAgIlRFU1RfUlVOTkVSX0lOSkVDVEVEX0JVTkRMRV9GSUxFTkFNRSI6IG9z
LnBhdGguam9pbihzYW5kYm94X2J1aWxkX3BhdGgsICJsaWIvbGliVGVzdFJ1bm5lckluamVjdGVk
QnVuZGxlLnNvIiksCisgICAgICAgICAgICAiSUNFQ0NfVkVSU0lPTiI6IHNlbGYuaWNjX3ZlcnNp
b24sCisgICAgICAgIH0KKworICAgICAgICBpZiBub3QgYnVpbGRpbmc6CisgICAgICAgICAgICBm
bGF0cGFrX2NvbW1hbmQuZXh0ZW5kKFsKICAgICAgICAgICAgICAgICAiLS10YWxrLW5hbWU9b3Jn
LmExMXkuQnVzIiwKLSAgICAgICAgICAgICAgICAiLS10YWxrLW5hbWU9b3JnLmd0ay52ZnMiLAot
ICAgICAgICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuZ3RrLnZmcy4qIiwKLSAgICAgICAgICAg
ICAgICAjIFdlIG1vdW50IFdlYktpdEJ1aWxkL1BPUlROQU1FL0J1aWxkVHlwZSB0byAvYXBwL3dl
YmtpdC9XZWJLaXRCdWlsZC9CdWlsZFR5cGUKLSAgICAgICAgICAgICAgICAjIHNvIHdlIGNhbiBi
dWlsZCBXUEUgYW5kIEdUSyBpbiBhIHNhbWUgc291cmNlIHRyZWUuCi0gICAgICAgICAgICAgICAg
Ii0tYmluZC1tb3VudD0lcz0lcyIgJSAoc2FuZGJveF9idWlsZF9wYXRoLCBzZWxmLmJ1aWxkX3Bh
dGgpXQotCi0gICAgICAgICAgICBmb3J3YXJkZWQgPSB7Ci0gICAgICAgICAgICAgICAgIldFQktJ
VF9UT1BfTEVWRUwiOiAiL2FwcC8iLAotICAgICAgICAgICAgICAgICJURVNUX1JVTk5FUl9JTkpF
Q1RFRF9CVU5ETEVfRklMRU5BTUUiOiAiL2FwcC93ZWJraXQvbGliL2xpYlRlc3RSdW5uZXJJbmpl
Y3RlZEJ1bmRsZS5zbyIsCi0gICAgICAgICAgICAgICAgIklDRUNDX1ZFUlNJT04iOiBzZWxmLmlj
Y192ZXJzaW9uLAotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBlbnZfdmFyX3ByZWZpeGVz
X3RvX2tlZXAgPSBbCi0gICAgICAgICAgICAgICAgIkdTVCIsCi0gICAgICAgICAgICAgICAgIkdU
SyIsCi0gICAgICAgICAgICAgICAgIkciLAotICAgICAgICAgICAgICAgICJKU0MiLAotICAgICAg
ICAgICAgICAgICJXRUJLSVQiLAotICAgICAgICAgICAgICAgICJXRUJLSVQyIiwKLSAgICAgICAg
ICAgICAgICAiV1BFIiwKLSAgICAgICAgICAgICAgICAiR0lHQUNBR0UiLAotICAgICAgICAgICAg
XQotCi0gICAgICAgICAgICBlbnZfdmFyc190b19rZWVwID0gWwotICAgICAgICAgICAgICAgICJK
YXZhU2NyaXB0Q29yZVVzZUpJVCIsCi0gICAgICAgICAgICAgICAgIk1hbGxvYyIsCi0gICAgICAg
ICAgICAgICAgIldBWUxBTkRfRElTUExBWSIsCi0gICAgICAgICAgICAgICAgIldBWUxBTkRfU09D
S0VUIiwKLSAgICAgICAgICAgICAgICAiRElTUExBWSIsCi0gICAgICAgICAgICAgICAgIkxBTkci
LAotICAgICAgICAgICAgICAgICJOVU1CRVJfT0ZfUFJPQ0VTU09SUyIsCi0gICAgICAgICAgICAg
ICAgIkNDQUNIRV9QUkVGSVgiLAotICAgICAgICAgICAgICAgICJRTUwyX0lNUE9SVF9QQVRIIiwK
LSAgICAgICAgICAgIF0KKyAgICAgICAgICAgICAgICAiLS1zb2NrZXQ9d2F5bGFuZCIsCisgICAg
ICAgICAgICAgICAgIi0tc29ja2V0PXB1bHNlYXVkaW8iLAorICAgICAgICAgICAgICAgICItLXNv
Y2tldD14MTEiLAorICAgICAgICAgICAgICAgICItLXNvY2tldD13YXlsYW5kIiwKKyAgICAgICAg
ICAgICAgICAiLS1zb2NrZXQ9c3lzdGVtLWJ1cyIsCisgICAgICAgICAgICAgICAgIi0tc29ja2V0
PXB1bHNlYXVkaW8iLAorICAgICAgICAgICAgICAgICItLWRldmljZT1kcmkiLAorICAgICAgICAg
ICAgICAgICItLWRldmljZT1hbGwiLAorICAgICAgICAgICAgICAgICItLXNoYXJlPWlwYyIsCisg
ICAgICAgICAgICAgICAgIi0tc2hhcmU9bmV0d29yayIsCisgICAgICAgICAgICAgICAgIi0tc3lz
dGVtLXRhbGstbmFtZT1vcmcuZnJlZWRlc2t0b3AuR2VvQ2x1ZTIiLAorICAgICAgICAgICAgICAg
ICItLXN5c3RlbS10YWxrLW5hbWU9b3JnLmExMXkuQnVzIiwKKyAgICAgICAgICAgICAgICAiLS1m
aWxlc3lzdGVtPWhvc3QiLAorICAgICAgICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuZnJlZWRl
c2t0b3AuRmxhdHBhayIKKyAgICAgICAgICAgIF0pCisKKyAgICAgICAgICAgIGZvcndhcmRlZC51
cGRhdGUoeworICAgICAgICAgICAgICAgICJUWiI6ICJQU1Q4UERUIiwKKyAgICAgICAgICAgICAg
ICAiTEFORyI6ICJlbl9VUy5VVEYtOCIKKyAgICAgICAgICAgIH0pCisgICAgICAgIGVsc2U6Cisg
ICAgICAgICAgICBhcmdzLmFwcGVuZCgiLS1wcmVmaXg9L2FwcCIpCiAKICAgICAgICAgICAgIGlm
IHNlbGYudXNlX2ljZWNyZWFtOgogICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoJ0VuYWJsaW5n
IHRoZSBpY2VjcmVhbSBjb21waWxlcicpCkBAIC03ODMsNDEgKzY4OCw2NCBAQCBjbGFzcyBXZWJr
aXRGbGF0cGFrOgogICAgICAgICAgICAgICAgICAgICBfbG9nLmRlYnVnKCdGb2xsb3cgaWNlY3Jl
YW0gcmVjb21tZW5kYXRpb24gZm9yIHRoZSBudW1iZXIgb2YgY29yZXMgdG8gdXNlOiAlZCcgJSBu
X2NvcmVzKQogICAgICAgICAgICAgICAgICAgICBmb3J3YXJkZWRbIk5VTUJFUl9PRl9QUk9DRVNT
T1JTIl0gPSBuX2NvcmVzCiAKLSAgICAgICAgICAgIGVudl92YXJzID0gb3MuZW52aXJvbgotICAg
ICAgICAgICAgZW52X3ZhcnMudXBkYXRlKGV4dHJhX2Vudl92YXJzKQotICAgICAgICAgICAgZm9y
IGVudnZhciwgdmFsdWUgaW4gZW52X3ZhcnMuaXRlbXMoKToKLSAgICAgICAgICAgICAgICBpZiBl
bnZ2YXIuc3BsaXQoIl8iKVswXSBpbiBlbnZfdmFyX3ByZWZpeGVzX3RvX2tlZXAgb3IgZW52dmFy
IGluIGVudl92YXJzX3RvX2tlZXA6Ci0gICAgICAgICAgICAgICAgICAgIGZvcndhcmRlZFtlbnZ2
YXJdID0gdmFsdWUKLQotICAgICAgICAgICAgZm9yIGVudnZhciwgdmFsdWUgaW4gZm9yd2FyZGVk
Lml0ZW1zKCk6Ci0gICAgICAgICAgICAgICAgZmxhdHBha19jb21tYW5kLmFwcGVuZCgiLS1lbnY9
JXM9JXMiICUgKGVudnZhciwgdmFsdWUpKQorICAgICAgICBlbnZfdmFyX3ByZWZpeGVzX3RvX2tl
ZXAgPSBbCisgICAgICAgICAgICAiRyIsCisgICAgICAgICAgICAiR0lHQUNBR0UiLAorICAgICAg
ICAgICAgIkdTVCIsCisgICAgICAgICAgICAiR1RLIiwKKyAgICAgICAgICAgICJKU0MiLAorICAg
ICAgICAgICAgIldFQktJVCIsCisgICAgICAgICAgICAiV0VCS0lUMiIsCisgICAgICAgICAgICAi
V1BFIiwKKyAgICAgICAgXQorCisgICAgICAgIGVudl92YXJfc3VmZml4ZXNfdG9fa2VlcCA9IFsK
KyAgICAgICAgICAgICJKU0NfQVJHUyIsCisgICAgICAgICAgICAiV0VCS0lUX0FSR1MiLAorICAg
ICAgICBdCisKKyAgICAgICAgZW52X3ZhcnNfdG9fa2VlcCA9IFsKKyAgICAgICAgICAgICJDQyIs
CisgICAgICAgICAgICAiQ0NBQ0hFX1BSRUZJWCIsCisgICAgICAgICAgICAiQ0ZMQUdTIiwKKyAg
ICAgICAgICAgICJDWFgiLAorICAgICAgICAgICAgIkNYWEZMQUdTIiwKKyAgICAgICAgICAgICJE
SVNQTEFZIiwKKyAgICAgICAgICAgICJKYXZhU2NyaXB0Q29yZVVzZUpJVCIsCisgICAgICAgICAg
ICAiTEFORyIsCisgICAgICAgICAgICAiTERGTEFHUyIsCisgICAgICAgICAgICAiTWFsbG9jIiwK
KyAgICAgICAgICAgICJOVU1CRVJfT0ZfUFJPQ0VTU09SUyIsCisgICAgICAgICAgICAiUU1MMl9J
TVBPUlRfUEFUSCIsCisgICAgICAgICAgICAiV0FZTEFORF9ESVNQTEFZIiwKKyAgICAgICAgICAg
ICJXQVlMQU5EX1NPQ0tFVCIsCisgICAgICAgIF0KKworICAgICAgICBlbnZfdmFycyA9IG9zLmVu
dmlyb24KKyAgICAgICAgZW52X3ZhcnMudXBkYXRlKGV4dHJhX2Vudl92YXJzKQorICAgICAgICBm
b3IgZW52dmFyLCB2YWx1ZSBpbiBlbnZfdmFycy5pdGVtcygpOgorICAgICAgICAgICAgdmFyX3Rv
a2VucyA9IGVudnZhci5zcGxpdCgiXyIpCisgICAgICAgICAgICBpZiB2YXJfdG9rZW5zWzBdIGlu
IGVudl92YXJfcHJlZml4ZXNfdG9fa2VlcCBvciBlbnZ2YXIgaW4gZW52X3ZhcnNfdG9fa2VlcCBv
ciB2YXJfdG9rZW5zWy0xXSBpbiBlbnZfdmFyX3N1ZmZpeGVzX3RvX2tlZXA6CisgICAgICAgICAg
ICAgICAgZm9yd2FyZGVkW2VudnZhcl0gPSB2YWx1ZQorCisgICAgICAgIGZvciBlbnZ2YXIsIHZh
bHVlIGluIGZvcndhcmRlZC5pdGVtcygpOgorICAgICAgICAgICAgZmxhdHBha19jb21tYW5kLmFw
cGVuZCgiLS1lbnY9JXM9JXMiICUgKGVudnZhciwgdmFsdWUpKQorCisgICAgICAgIGdzdF9lbnYg
PSBbXQorICAgICAgICBpZiBub3Qga3dhcmdzLmdldCgnYnVpbGRpbmdfZ3N0Jyk6CisgICAgICAg
ICAgICBnc3RfZW52ID0gc2VsZi5zZXR1cF9nc3RidWlsZChidWlsZGluZykKKyAgICAgICAgZmxh
dHBha19jb21tYW5kICs9IHNlbGYuZmluaXNoX2FyZ3MgKyBleHRyYV9mbGF0cGFrX2FyZ3MgKyBc
CisgICAgICAgICAgICBbc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGhdICsgZ3N0X2VudiArIGFyZ3MK
KworICAgICAgICBfbG9nLmRlYnVnKCdSdW5uaW5nIGluIHNhbmRib3g6ICVzXG4nICUgJyAnLmpv
aW4oZmxhdHBha19jb21tYW5kKSkKIAotICAgICAgICAgICAgZmxhdHBha19jb21tYW5kICs9IHNl
bGYuZmluaXNoX2FyZ3MgKyBleHRyYV9mbGF0cGFrX2FyZ3MgKyBbc2VsZi5mbGF0cGFrX2J1aWxk
X3BhdGhdCi0KLSAgICAgICAgICAgIHNoZWxsX3N0cmluZyA9ICIiCi0gICAgICAgICAgICBpZiBh
cmdzOgotICAgICAgICAgICAgICAgIGlmIGN3ZDoKLSAgICAgICAgICAgICAgICAgICAgc2hlbGxf
c3RyaW5nID0gJ2NkICIlcyIgJiYgIiVzIicgJSAoY3dkLCAnIiAiJy5qb2luKGFyZ3MpKQotICAg
ICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHNoZWxsX3N0cmluZyA9ICci
JXMiJyAlICgnIiAiJy5qb2luKGFyZ3MpKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAg
ICAgICBzaGVsbF9zdHJpbmcgPSBzZWxmLmNvbW1hbmQKLSAgICAgICAgICAgICAgICBpZiBzZWxm
LmFyZ3M6Ci0gICAgICAgICAgICAgICAgICAgIHNoZWxsX3N0cmluZyArPSAnICIlcyInICUgJyIg
Iicuam9pbihzZWxmLmFyZ3MpCi0KLSAgICAgICAgICAgIHRtcHNjcmlwdC53cml0ZShzaGVsbF9z
dHJpbmcpCi0gICAgICAgICAgICB0bXBzY3JpcHQuZmx1c2goKQotCi0gICAgICAgICAgICBfbG9n
LmRlYnVnKCdSdW5uaW5nIGluIHNhbmRib3g6ICIlcyIgJXNcbicgJSAoJyIgIicuam9pbihmbGF0
cGFrX2NvbW1hbmQpLCBzaGVsbF9zdHJpbmcpKQotICAgICAgICAgICAgZmxhdHBha19jb21tYW5k
LmV4dGVuZChbJ3NoJywgIi9ydW4vaG9zdC8iICsgdG1wc2NyaXB0Lm5hbWVdKQotCi0gICAgICAg
ICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGZsYXRwYWtf
Y29tbWFuZCwgc3Rkb3V0PXN0ZG91dCkKLSAgICAgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNh
bGxlZFByb2Nlc3NFcnJvciBhcyBlOgotICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUo
c3RyKGUpICsgIlxuIikKLSAgICAgICAgICAgICAgICByZXR1cm4gZS5yZXR1cm5jb2RlCi0gICAg
ICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IDAKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGZsYXRw
YWtfY29tbWFuZCwgc3Rkb3V0PXN0ZG91dCkKKyAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2Fs
bGVkUHJvY2Vzc0Vycm9yIGFzIGU6CisgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKHN0cihl
KSArICJcbiIpCisgICAgICAgICAgICByZXR1cm4gZS5yZXR1cm5jb2RlCisgICAgICAgIGV4Y2Vw
dCBLZXlib2FyZEludGVycnVwdDoKKyAgICAgICAgICAgIHJldHVybiAwCiAKICAgICAgICAgcmV0
dXJuIDAKIApAQCAtODM1LDY0ICs3NjMsNDEgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAg
ICAgICAgICAgICBzaHV0aWwucm10cmVlKHNlbGYuYnVpbGRfcGF0aCkKIAogICAgICAgICBpZiBz
ZWxmLnVwZGF0ZToKLSAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiVXBkYXRpbmcgRmxhdHBh
ayBlbnZpcm9ubWVudCBmb3IgJXMgKCVzKSIgJSAoCi0gICAgICAgICAgICAgICAgc2VsZi5wbGF0
Zm9ybSwgc2VsZi5idWlsZF90eXBlKSkKKyAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiVXBk
YXRpbmcgRmxhdHBhayAlcyBlbnZpcm9ubWVudCIgJSBzZWxmLmJ1aWxkX3R5cGUpCiAgICAgICAg
ICAgICBpZiBub3Qgc2VsZi5ub19mbGF0cGFrX3VwZGF0ZToKICAgICAgICAgICAgICAgICBzZWxm
LnVwZGF0ZV9hbGwoKQogCiAgICAgICAgIHJldHVybiBzZWxmLnNldHVwX2Rldl9lbnYoKQogCiAg
ICAgZGVmIGhhc19lbnZpcm9ubWVudChzZWxmKToKLSAgICAgICAgcmV0dXJuIG9zLnBhdGguZXhp
c3RzKG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3BhdGgsIHNlbGYuZmxhdHBha19idWlsZF9wYXRo
KSkKKyAgICAgICAgcmV0dXJuIG9zLnBhdGguZXhpc3RzKHNlbGYuZmxhdHBha19idWlsZF9wYXRo
KQogCiAgICAgZGVmIHNhdmVfY29uZmlnKHNlbGYpOgogICAgICAgICB3aXRoIG9wZW4oc2VsZi5j
b25maWdfZmlsZSwgJ3cnKSBhcyBjb25maWc6CiAgICAgICAgICAgICBqc29uX2NvbmZpZyA9IHsn
aWNlY2NfdmVyc2lvbic6IHNlbGYuaWNjX3ZlcnNpb259CiAgICAgICAgICAgICBqc29uLmR1bXAo
anNvbl9jb25maWcsIGNvbmZpZykKIAotICAgIGRlZiBzZXR1cF9jY2FjaGUoc2VsZik6Ci0gICAg
ICAgIGZvciBjb21waWxlciBpbiBbImMrKyIsICJjYyIsICJjbGFuZyIsICJjbGFuZysrIiwgImcr
KyIsICJnY2MiXToKLSAgICAgICAgICAgIHNlbGYucnVuX2luX3NhbmRib3goImxuIiwgIi1zIiwg
Ii4uLy4uL3Vzci9iaW4vY2NhY2hlIiwgY29tcGlsZXIsIGN3ZD0iL2FwcC9iaW4iKQotCiAgICAg
ZGVmIHNldHVwX2ljZWNjKHNlbGYpOgogICAgICAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9y
YXJ5RmlsZSgpIGFzIHRtcGZpbGU6Ci0gICAgICAgICAgICBzZWxmLnJ1bl9pbl9zYW5kYm94KCdp
Y2VjYycsICctLWJ1aWxkLW5hdGl2ZScsIHN0ZG91dD10bXBmaWxlLCBjd2Q9c2VsZi5idWlsZF9w
YXRoKQorICAgICAgICAgICAgc2VsZi5ydW5faW5fc2FuZGJveCgnaWNlY2MnLCAnLS1idWlsZC1u
YXRpdmUnLCBzdGRvdXQ9dG1wZmlsZSwgY3dkPXNlbGYuZmxhdHBha19idWlsZF9wYXRoKQogICAg
ICAgICAgICAgdG1wZmlsZS5mbHVzaCgpCiAgICAgICAgICAgICB0bXBmaWxlLnNlZWsoMCkKICAg
ICAgICAgICAgIGljY192ZXJzaW9uX2ZpbGVuYW1lLCA9IHJlLmZpbmRhbGwocicuKmNyZWF0aW5n
ICguKiknLCB0bXBmaWxlLnJlYWQoKSkKLSAgICAgICAgICAgIHNlbGYuaWNjX3ZlcnNpb24gPSBv
cy5wYXRoLmpvaW4oc2VsZi5idWlsZF9wYXRoLCBpY2NfdmVyc2lvbl9maWxlbmFtZSkKKyAgICAg
ICAgICAgIHNlbGYuaWNjX3ZlcnNpb24gPSBvcy5wYXRoLmpvaW4oc2VsZi5mbGF0cGFrX2J1aWxk
X3BhdGgsIGljY192ZXJzaW9uX2ZpbGVuYW1lKQogCiAgICAgZGVmIHNldHVwX2Rldl9lbnYoc2Vs
Zik6Ci0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oc2VsZi5idWls
ZF9wYXRoLCBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkpIFwKLSAgICAgICAgICAgICAgICBvciBz
ZWxmLnVwZGF0ZSBvciBzZWxmLmJ1aWxkX2FsbDoKKyAgICAgICAgaWYgbm90IG9zLnBhdGguZXhp
c3RzKG9zLnBhdGguam9pbihzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCwgInJ1bnRpbWUiLCAib3Jn
LndlYmtpdC5TZGsiKSkgb3Igc2VsZi51cGRhdGUgb3Igc2VsZi5idWlsZF9hbGw6CiAgICAgICAg
ICAgICBzZWxmLmluc3RhbGxfYWxsKCkKLSAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiQnVp
bGRpbmcgJXMgYW5kIGRlcGVuZGVuY2llcyBpbiAlcyIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2VsZi5uYW1lLCBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkKLQotICAgICAgICAgICAg
IyBDcmVhdGUgZW52aXJvbm1lbnQgZGlycyBpZiBuZWNlc3NhcnkKLSAgICAgICAgICAgIHRyeToK
LSAgICAgICAgICAgICAgICBvcy5tYWtlZGlycyhvcy5wYXRoLmRpcm5hbWUoc2VsZi5tYW5pZmVz
dF9nZW5lcmF0ZWRfcGF0aCkpCi0gICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgotICAg
ICAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUVYSVNUOgotICAgICAgICAgICAgICAg
ICAgICByYWlzZSBlCi0gICAgICAgICAgICBpZiBub3QgZXhwYW5kX21hbmlmZXN0KHNlbGYubWFu
aWZlc3RfcGF0aCwgc2VsZi5tYW5pZmVzdF9nZW5lcmF0ZWRfcGF0aCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2VsZi5uYW1lLCBzZWxmLnNhbmRib3hfc291cmNlX3Jvb3Qs
IHNlbGYuY29tbWFuZCk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDEKLQotICAgICAgICAgICAg
YnVpbGRlcl9hcmdzID0gWyJmbGF0cGFrLWJ1aWxkZXIiLCAiLS1kaXNhYmxlLXJvZmlsZXMtZnVz
ZSIsICItLXN0YXRlLWRpciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5jYWNo
ZV9wYXRoLCAiLS1jY2FjaGUiLCBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCwgIi0tZm9yY2UtY2xl
YW4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWFuaWZlc3RfZ2VuZXJhdGVk
X3BhdGhdCi0gICAgICAgICAgICBidWlsZGVyX2FyZ3MuYXBwZW5kKCItLWJ1aWxkLW9ubHkiKQot
ICAgICAgICAgICAgYnVpbGRlcl9hcmdzLmFwcGVuZCgiLS1zdG9wLWF0PSVzIiAlIHNlbGYuYXBw
KQotCi0gICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoYnVpbGRlcl9hcmdzKQotICAg
ICAgICAgICAgc2VsZi5zZXR1cF9jY2FjaGUoKQogICAgICAgICAgICAgc2VsZi5zZXR1cF9pY2Vj
YygpCiAgICAgICAgICAgICBzZWxmLnNhdmVfY29uZmlnKCkKIAogICAgICAgICBidWlsZF90eXBl
ID0gIi0tZGVidWciIGlmIHNlbGYuZGVidWcgZWxzZSAiLS1yZWxlYXNlIgorICAgICAgICBpZiBz
ZWxmLmJ1aWxkX2dzdDoKKyAgICAgICAgICAgIHNlbGYuc2V0dXBfZ3N0YnVpbGQoVHJ1ZSkKKwog
ICAgICAgICBpZiBzZWxmLmJ1aWxkX3dlYmtpdDoKLSAgICAgICAgICAgIGJ1aWxkZXIgPSBbb3Mu
cGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgJ1Rvb2xzL1NjcmlwdHMvYnVpbGQt
d2Via2l0JyksCisgICAgICAgICAgICBidWlsZGVyID0gWworICAgICAgICAgICAgICAgIG9zLnBh
dGguam9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsICdUb29scy9TY3JpcHRzL2J1aWxkLXdl
YmtpdCcpLAogICAgICAgICAgICAgICAgIGJ1aWxkX3R5cGUsICctLScgKyBzZWxmLnBsYXRmb3Jt
Lmxvd2VyKCldCiAgICAgICAgICAgICBpZiBzZWxmLm1ha2VhcmdzOgogICAgICAgICAgICAgICAg
IGJ1aWxkZXIuYXBwZW5kKCItLW1ha2VhcmdzPSVzIiAlIHNlbGYubWFrZWFyZ3MpCkBAIC05MDMs
MjMgKzgwOCwyMiBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogCiAgICAgICAgICAgICBpZiByZXM6
CiAgICAgICAgICAgICAgICAgcmV0dXJuIHJlcwotICAgICAgICBlbHNlOgotICAgICAgICAgICAg
Q29uc29sZS5tZXNzYWdlKCJVc2luZyAlcyBwcmVmaXggaW4gJXMiLCBzZWxmLm5hbWUsIHNlbGYu
ZmxhdHBha19idWlsZF9wYXRoKQogCiAgICAgICAgIGlmIHNlbGYucnVuX3Rlc3RzIGlzIG5vdCBO
b25lOgogICAgICAgICAgICAgdGVzdF9sYXVuY2hlciA9IFtvcy5wYXRoLmpvaW4oc2VsZi5zYW5k
Ym94X3NvdXJjZV9yb290LCAnVG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzJyksCi0gICAg
ICAgICAgICAgICAgYnVpbGRfdHlwZSwgJy0tJyArIHNlbGYucGxhdGZvcm0ubG93ZXIoKV0gKyBz
ZWxmLnJ1bl90ZXN0cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZF90eXBlLCAn
LS0nICsgc2VsZi5wbGF0Zm9ybS5sb3dlcigpXSArIHNlbGYucnVuX3Rlc3RzCiAgICAgICAgICAg
ICByZXR1cm4gc2VsZi5ydW5faW5fc2FuZGJveCgqdGVzdF9sYXVuY2hlcikKLSAgICAgICAgZWxp
ZiBzZWxmLmdkYiBpcyBub3QgTm9uZToKKyAgICAgICAgZWxpZiBzZWxmLmdkYiBvciBzZWxmLmdk
Yl9zdGFja190cmFjZToKICAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1bl9nZGIoKQogICAgICAg
ICBlbGlmIHNlbGYudXNlcl9jb21tYW5kOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYucnVuX2lu
X3NhbmRib3goKnNlbGYudXNlcl9jb21tYW5kKQotICAgICAgICBlbGlmIG5vdCBzZWxmLnVwZGF0
ZSBhbmQgbm90IHNlbGYuYnVpbGRfd2Via2l0OgorICAgICAgICBlbGlmIG5vdCBzZWxmLnVwZGF0
ZSBhbmQgbm90IHNlbGYuYnVpbGRfd2Via2l0IGFuZCBub3Qgc2VsZi5idWlsZF9nc3Q6CiAgICAg
ICAgICAgICByZXR1cm4gc2VsZi5ydW5faW5fc2FuZGJveCgpCiAKICAgICAgICAgcmV0dXJuIDAK
IAogICAgIGRlZiBpbnN0YWxsX2FsbChzZWxmKToKKyAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJJ
bnN0YWxsaW5nICVzIGRlcGVuZGVuY2llcyBpbiAlcyIsIHNlbGYuYnVpbGRfdHlwZSwgc2VsZi5m
bGF0cGFrX2J1aWxkX3BhdGgpCiAgICAgICAgIGZvciBwYWNrYWdlIGluIHNlbGYucGFja3M6CiAg
ICAgICAgICAgICBpZiBub3QgcGFja2FnZS5pc19pbnN0YWxsZWQoc2VsZi5zZGtfYnJhbmNoKToK
ICAgICAgICAgICAgICAgICBwYWNrYWdlLmluc3RhbGwoKQpAQCAtOTM1LDE5ICs4MzksMzAgQEAg
Y2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgIyBXZSBuZWVkIGFjY2VzcyB0byB0aGUgaG9z
dCBmcm9tIHRoZSBzYW5kYm94IHRvIHJ1bi4KICAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRl
bXBvcmFyeUZpbGUoKSBhcyBjb3JlZHVtcDoKICAgICAgICAgICAgIHdpdGggdGVtcGZpbGUuTmFt
ZWRUZW1wb3JhcnlGaWxlKCkgYXMgc3RkZXJyOgotICAgICAgICAgICAgICAgIHN1YnByb2Nlc3Mu
Y2hlY2tfY2FsbChbImNvcmVkdW1wY3RsIiwgImR1bXAiXSArIHNobGV4LnNwbGl0KHNlbGYuY29y
ZWR1bXBjdGxfbWF0Y2hlcyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0ZG91dD1jb3JlZHVtcCwgc3RkZXJyPXN0ZGVycikKKyAgICAgICAgICAgICAgICBpZiBzZWxm
LmdkYl9zdGFja190cmFjZToKKyAgICAgICAgICAgICAgICAgICAgY21kID0gWyJjb3JlZHVtcGN0
bCIsICItLXNpbmNlPSVzIiAlIHNlbGYuZ2RiX3N0YWNrX3RyYWNlLCAiZHVtcCJdCisgICAgICAg
ICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgY21kID0gWyJjb3JlZHVtcGN0bCIs
ICJkdW1wIl0gKyBzaGxleC5zcGxpdChzZWxmLmNvcmVkdW1wY3RsX21hdGNoZXMpCisgICAgICAg
ICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwo
Y21kLCBzdGRvdXQ9Y29yZWR1bXAsIHN0ZGVycj1zdGRlcnIpCisgICAgICAgICAgICAgICAgZXhj
ZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGVycjoKKyAgICAgICAgICAgICAg
ICAgICAgd2l0aCBvcGVuKHN0ZGVyci5uYW1lLCAncicpIGFzIHN0ZGVycmY6CisgICAgICAgICAg
ICAgICAgICAgICAgICBzdGRlcnIgPSBzdGRlcnJmLnJlYWQoKQorICAgICAgICAgICAgICAgICAg
ICBjbWQgPSAnICcuam9pbihlcnIuY21kKQorICAgICAgICAgICAgICAgICAgICBzeXMuc3RkZXJy
LndyaXRlKCInJXMnIHJldHVybmVkIGEgbm9uLXplcm8gZXhpdCBjb2RlLiBTdGRlcnI6ICVzIiAl
IChjbWQsIHN0ZGVycikpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBlcnIucmV0dXJuY29k
ZQogCiAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKHN0ZGVyci5uYW1lLCAncicpIGFzIHN0ZGVy
cmY6CiAgICAgICAgICAgICAgICAgICAgIHN0ZGVyciA9IHN0ZGVycmYucmVhZCgpCisKICAgICAg
ICAgICAgICAgICBleGVjdXRhYmxlLCA9IHJlLmZpbmRhbGwoIi4qRXhlY3V0YWJsZTogKC4qKSIs
IHN0ZGVycikKLSAgICAgICAgICAgICAgICBpZiBub3QgZXhlY3V0YWJsZS5zdGFydHN3aXRoKCIv
bmV3cm9vdCIpOgotICAgICAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCJFeGVjdXRh
YmxlICVzIGRvZXNuJ3Qgc2VlbSB0byBiZSBhIGZsYXRwYWtlZCBhcHBsaWNhdGlvbi5cbiIgJSBl
eGVjdXRhYmxlKQogCi0gICAgICAgICAgICAgICAgZXhlY3V0YWJsZSA9IGV4ZWN1dGFibGUucmVw
bGFjZSgiL25ld3Jvb3QiLCAiIikKLSAgICAgICAgICAgICAgICBhcmdzID0gWyJnZGIiLCBleGVj
dXRhYmxlLCAiL3J1bi9ob3N0LyVzIiAlIGNvcmVkdW1wLm5hbWVdICsgc2hsZXguc3BsaXQoc2Vs
Zi5nZGIpCisgICAgICAgICAgICAgICAgaWYgc2VsZi5nZGI6CisgICAgICAgICAgICAgICAgICAg
IGJhcmdzID0gWyJnZGIiLCBleGVjdXRhYmxlLCAiL3J1bi9ob3N0LyVzIiAlIGNvcmVkdW1wLm5h
bWVdICsgc2hsZXguc3BsaXQoc2VsZi5nZGIpCisgICAgICAgICAgICAgICAgZWxpZiBzZWxmLmdk
Yl9zdGFja190cmFjZToKKyAgICAgICAgICAgICAgICAgICAgYmFyZ3MgPSBbImdkYiIsICctZXgn
LCAidGhyZWFkIGFwcGx5IGFsbCBiYWNrdHJhY2UiLCAnLS1iYXRjaCcsIGV4ZWN1dGFibGUsICIv
cnVuL2hvc3QvJXMiICUgY29yZWR1bXAubmFtZV0KIAotICAgICAgICAgICAgICAgIHJldHVybiBz
ZWxmLnJ1bl9pbl9zYW5kYm94KCphcmdzKQorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1
bl9pbl9zYW5kYm94KCpiYXJncykKIAogICAgIGRlZiB1cGRhdGVfYWxsKHNlbGYpOgogICAgICAg
ICBmb3IgbSBpbiBbc2VsZi5ydW50aW1lLCBzZWxmLnNkaywgc2VsZi5zZGtfZGVidWddOgpkaWZm
IC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbCBiL1Rv
b2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5Db21tb25Nb2R1bGVzLnlhbWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGUxYTA3Y2Y4NmY4M2I2ODgzM2E1NzI4NGU0NzIzZjUyMmI3M2M0MGIu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxh
dHBhay9vcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbAorKysgL2Rldi9udWxsCkBAIC0xLDMz
MSArMCwwIEBACi0jIGh0dHAgYW5kIGRlcGVuZGVuY2llcy4KLS0gbmFtZTogYXByCi0gIHNvdXJj
ZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHBzOi8vd3d3LmFwYWNoZS5v
cmcvZGlzdC9hcHIvYXByLTEuNi41LnRhci5iejIKLSAgICAgIHNoYTI1NjogYTY3Y2E5ZmNmOWM0
ZmY1OWJjZTdmNDI4YTMyM2M4YjVlMTg2NjdmZGVhN2IwZWJhZDQ3ZDE5NDM3MWIwYTEwNQotLSBu
YW1lOiBhcHItdXRpbAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJs
OiBodHRwczovL3d3dy5hcGFjaGUub3JnL2Rpc3QvYXByL2Fwci11dGlsLTEuNi4xLnRhci5iejIK
LSAgICAgIHNoYTUxMjogIjQwZWZmOGEzN2MwNjM0ZjdmZGRkZDZjYTVlNTk2YjM4ZGUxNWZkMTA3
NjdhMzRjMzBiYmU0OWM2MzI4MTZlOGYzZTFlMjMwNjc4MDM0ZjU3OGRkNTgxNmE5NGYyNDZmYjVk
ZmRmNDhkNjQ0ODI5YWYxM2JmMjhkZTMyMjUyMDVkIgotICBjb25maWctb3B0czoKLSAgICAtIC0t
d2l0aC1hcHI9L2FwcC9iaW4vYXByLTEtY29uZmlnCi0tIG5hbWU6IGh0dHBkCi0gIHNvdXJjZXM6
Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2FwYWNoZS9o
dHRwZC5naXQKLSAgICAgIGJyYW5jaDogMi40LjM3Ci0gICAgLSB0eXBlIDogZmlsZQotICAgICAg
cGF0aCA6IGZpbGVzL2h0dHBkLWF1dG9nZW4uc2gKLSAgICAgIGRlc3QtZmlsZW5hbWUgOiBhdXRv
Z2VuLnNoCi0gICAgIyBUaGUgdmVyc2lvbiBlbWJlZGRlZCBpbiB0aGUgc2FuZGJveCBkb2Vzbid0
IGhhdmUgYSB3b3JraW5nIHBjcmUtY29uZmlnCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0
aDogcGF0Y2hlcy9odHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1k
ZXRlY3Rpb24ucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLWVuYWJsZS1tcG1zLXNoYXJl
ZD1hbGwKLSAgICAtIC0tZW5hYmxlLW1vZHVsZXM9YWxsCi0gICAgLSAtLXdpdGgtYXByPS9hcHAv
YmluL2Fwci0xLWNvbmZpZwotICAgIC0gLS13aXRoLWFwci11dGlsPS9hcHAvYmluL2FwdS0xLWNv
bmZpZwotICAgIC0gLS13aXRoLXBjcmU9L2FwcAotICAgIC0gLS1lbmFibGUtYXV0aG56LWZjZ2kK
LSAgICAtIC0tZW5hYmxlLWNnaQotICAgIC0gLS1lbmFibGUtY2dpZAotLSBuYW1lOiBwaHAKLSAg
c291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly9waHAubmV0
L2Rpc3RyaWJ1dGlvbnMvcGhwLTcuMi42LnRhci54egotICAgICAgc2hhNTEyOiBkYTg2YjFmZjJk
ZjNiOWUyZDQ2ZTU5YTgwMjk2Yjk0MGQ4MTEzMjk3NWI2MjFiZGVjOTYwMmY4YjRjOGQ5MWEzZmRj
ZDRmZmQ3Y2I5ODJkNjNkM2VjOTc0YjNhMTJhNzg1NGU0MmE3M2I3ZjJjYzhlZWZhZGUxNDMzNWFh
N2M3MQotICBjb25maWctb3B0czoKLSAgICAtIC0tZGlzYWJsZS14bWwKLSAgICAtIC0tZGlzYWJs
ZS1kb20KLSAgICAtIC0tZGlzYWJsZS1saWJ4bWwKLSAgICAtIC0tZGlzYWJsZS1zaW1wbGV4bWwK
LSAgICAtIC0tZGlzYWJsZS14bWxyZWFkZXIKLSAgICAtIC0tZGlzYWJsZS14bWx3cml0ZXIKLSAg
ICAtIC0td2l0aG91dC1wZWFyCi0gICAgLSAtLXdpdGgtYXB4czIKLSAgICAtIC0td2l0aC16bGli
Ci0gICAgLSAtLXdpdGgtbGliemlwCi0gICAgLSAtLWVuYWJsZS1zb2NrZXRzPXNoYXJlZAotLSBu
YW1lOiBsaWJldmVudAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0
dHBzOi8vZ2l0aHViLmNvbS9saWJldmVudC9saWJldmVudC5naXQKLSAgICAgIGJyYW5jaDogZTdm
ZjRlZiAjIDIuMS44Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1kaXNhYmxlLWxpYmV2ZW50LXJl
Z3Jlc3MKLQotIyBSZXF1aXJlbWVudCBmb3IgZmxhdHBrdXRpbHMKLS0gbmFtZTogcHl0aG9uMy1w
eWFtbAotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAtIHBpcDMg
aW5zdGFsbCAtLW5vLWluZGV4IC0tZmluZC1saW5rcz0iZmlsZTovLyR7UFdEfSIgLS1wcmVmaXg9
JHtGTEFUUEFLX0RFU1R9IHB5YW1sCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogZmlsZQotICAgIHVy
bDogaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzRhLzg1L2RiNWEyZGY0
NzcwNzJiMjkwMmIwZWI4OTJmZWIzN2Q4OGFjNjM1ZDM2MjQ1YTcyYTZhNjliMjNiMzgzYS9QeVlB
TUwtMy4xMi50YXIuZ3oKLSAgICBzaGEyNTY6IDU5Mjc2NmM2MzAzMjA3YTIwZWZjNDQ1NTg3Nzc4
MzIyZDdmNzNiMTYxYmQ5OTRmMjI3YWRhYTM0MWJhMjEyYWIKLSAgLSB0eXBlOiBmaWxlCi0gICAg
dXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvOWUvMTcvMWQ0ZWQ2
ZTFhNGMwOTE4YTAzNTdkZmEyZmRiZTI2YmY2M2Y2ZTYxNjAxM2MwNGExNGJjZTlmZDMzZTQwL3B5
YW1sLTE3LjEyLjEudGFyLmd6Ci0gICAgc2hhMjU2OiA2NjYyM2M1MmYzNGQ4M2EyYzBmYzk2M2Uw
OGU4YjlkMGMxM2Q4ODQwNGUzYjQzYjE4NTJlZjcxZWRhMTlhZmEzCi0KLS0gbmFtZTogcHl0aG9u
Mi1weWFtbAotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAtIHBp
cDIgaW5zdGFsbCAtLW5vLWluZGV4IC0tZmluZC1saW5rcz0iZmlsZTovLyR7UFdEfSIgLS10YXJn
ZXQ9L2FwcC9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvIHB5YW1sCi0gIHNvdXJjZXM6Ci0g
IC0gdHlwZTogZmlsZQotICAgIHVybDogaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3Bh
Y2thZ2VzLzRhLzg1L2RiNWEyZGY0NzcwNzJiMjkwMmIwZWI4OTJmZWIzN2Q4OGFjNjM1ZDM2MjQ1
YTcyYTZhNjliMjNiMzgzYS9QeVlBTUwtMy4xMi50YXIuZ3oKLSAgICBzaGEyNTY6IDU5Mjc2NmM2
MzAzMjA3YTIwZWZjNDQ1NTg3Nzc4MzIyZDdmNzNiMTYxYmQ5OTRmMjI3YWRhYTM0MWJhMjEyYWIK
LSAgLSB0eXBlOiBmaWxlCi0gICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcv
cGFja2FnZXMvOWUvMTcvMWQ0ZWQ2ZTFhNGMwOTE4YTAzNTdkZmEyZmRiZTI2YmY2M2Y2ZTYxNjAx
M2MwNGExNGJjZTlmZDMzZTQwL3B5YW1sLTE3LjEyLjEudGFyLmd6Ci0gICAgc2hhMjU2OiA2NjYy
M2M1MmYzNGQ4M2EyYzBmYzk2M2UwOGU4YjlkMGMxM2Q4ODQwNGUzYjQzYjE4NTJlZjcxZWRhMTlh
ZmEzCi0KLS0gbmFtZTogcHl0aG9uMi1zdWJwcm9jZXNzMzIKLSAgYnVpbGRzeXN0ZW06IHNpbXBs
ZQotICBidWlsZC1jb21tYW5kczoKLSAgLSBwaXAyIGluc3RhbGwgLS10YXJnZXQ9L2FwcC9saWIv
cHl0aG9uMi43L3NpdGUtcGFja2FnZXMvIC4KLSAgc291cmNlczoKLSAgLSB0eXBlOiBhcmNoaXZl
Ci0gICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvYmUvMmIv
YmVlYmE1ODNlOTg3N2U2NGRiMTBiNTJhOTY5MTVhZmMwZmVhYmY3MTQ0ZGNiZjJhMGQwZWE2OGJm
NzNkL3N1YnByb2Nlc3MzMi0zLjUuMy50YXIuZ3oKLSAgICBzaGEyNTY6IDZiYzgyOTkyMzE2ZWVm
M2NjZmYzMTliNTAzMzgwOTgwMWMwYzMzNzI3MDljNWY2OTg1Mjk5Yzg4YWM3MjI1YzMKLQotIyBH
U3RyZWFtZXIgbW9kdWxlcwotLSBuYW1lOiBsaWJ2cHgKLSAgbm8tYXV0b2dlbjogdHJ1ZQotICBz
b3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vY2hyb21pdW0uZ29v
Z2xlc291cmNlLmNvbS93ZWJtL2xpYnZweAotICAgICAgYnJhbmNoOiB2MS43LjAKLSAgY29uZmln
LW9wdHM6Ci0gICAgLSAtLWVuYWJsZS1waWMKLSAgICAtIC0tYXM9bmFzbQotICAgIC0gLS1kaXNh
YmxlLXVuaXQtdGVzdHMKLSAgICAtIC0tc2l6ZS1saW1pdD0xNjM4NHgxNjM4NAotICAgIC0gLS1l
bmFibGUtcG9zdHByb2MKLSAgICAtIC0tZW5hYmxlLW11bHRpLXJlcy1lbmNvZGluZwotICAgIC0g
LS1lbmFibGUtdGVtcG9yYWwtZGVub2lzaW5nCi0gICAgLSAtLWVuYWJsZS12cDktdGVtcG9yYWwt
ZGVub2lzaW5nCi0gICAgLSAtLWVuYWJsZS12cDktcG9zdHByb2MKLSAgICAtIC0tZW5hYmxlLXNo
YXJlZAotLSBuYW1lOiBhb20KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJs
OiBodHRwczovL2FvbWVkaWEuZ29vZ2xlc291cmNlLmNvbS9hb20KLSAgICAgIGJyYW5jaDogY2Ri
MDgzZTg0YTcxZDZkMzExNjNhNGY2NGYxOGRjMTMyOGZkNzgyYwotICBidWlsZHN5c3RlbTogY21h
a2UtbmluamEKLSAgYnVpbGRkaXI6IHRydWUKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtREJVSUxE
X1NIQVJFRF9MSUJTPTEKLS0gbmFtZTogbGlidW53aW5kCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBl
OiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2xpYnVud2luZC9saWJ1bndpbmQu
Z2l0Ci0gICAgICBjb21taXQ6IHYxLjIuMQotLSBuYW1lOiBsaWJvcGVuaDI2NAotICBidWlsZHN5
c3RlbTogbWVzb24KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRw
czovL2dpdGh1Yi5jb20vY2lzY28vb3BlbmgyNjQuZ2l0Ci0gICAgICBicmFuY2g6IGExYjNmMDdj
NTI3MWYzMTI5OTdmY2MzNDUxMjM3MDMxNDQ0YzQ0NzUgIyAxLjguMCArIGZpeCBmb3IgZ2NjIDgK
LS0gbmFtZTogZ3N0cmVhbWVyCi0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBzb3VyY2VzOgotICAg
IC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9n
c3RyZWFtZXIvZ3N0cmVhbWVyLmdpdAotICAgICAgYnJhbmNoOiAxLjE2LjEKLSAgY29uZmlnLW9w
dHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlzYWJsZWQKLSAgICAtIC1EaW50cm9zcGVjdGlvbj1kaXNh
YmxlZAotICAgIC0gLURleGFtcGxlcz1kaXNhYmxlZAotICAgIC0gLUR0ZXN0cz1kaXNhYmxlZAot
LSBuYW1lOiBnc3QtcGx1Z2lucy1iYXNlCi0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBzb3VyY2Vz
OgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9w
Lm9yZy9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFzZS5naXQKLSAgICAgIGJyYW5jaDogMS4xNi4x
Ci0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3N0cmVhbWVyL3BhdGNoZXMvYmFz
ZS0wMDAxLXBsYXliaW4tSGFuZGxlLWVycm9yLW1lc3NhZ2Utd2l0aC1yZWRpcmVjdGlvbi1pbmRp
Y2EucGF0Y2gKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9nc3RyZWFtZXIvcGF0
Y2hlcy9iYXNlLTAwMDEtZ2x1cGxvYWQtQWRkLVZpZGVvTWV0YXMtYW5kLUdMU3luY01ldGEtdG8t
dGhlLXJhdy11cC5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxl
ZAotICAgIC0gLURpbnRyb3NwZWN0aW9uPWRpc2FibGVkCi0gICAgLSAtRGV4YW1wbGVzPWRpc2Fi
bGVkCi0gICAgLSAtRHRlc3RzPWRpc2FibGVkCi0tIG5hbWU6IGdzdC1wbHVnaW5zLWdvb2QKLSAg
YnVpbGRzeXN0ZW06IG1lc29uCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVy
bDogaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1n
b29kLmdpdAotICAgICAgYnJhbmNoOiAxLjE2LjEKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBw
YXRoOiAuLi9nc3RyZWFtZXIvcGF0Y2hlcy9nb29kLTAwMDEtcXRkZW11eC1TcGVjaWZ5LVJFRElS
RUNULWluZm9ybWF0aW9uLWluLWVycm9yLW1lc3NhZy5wYXRjaAotICBjb25maWctb3B0czoKLSAg
ICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotICAgIC0gLURpbnRyb3NwZWN0aW9uPWRpc2FibGVkCi0g
ICAgLSAtRGV4YW1wbGVzPWRpc2FibGVkCi0gICAgLSAtRGd0azM9ZGlzYWJsZWQKLS0gbmFtZTog
eDI2NAotICBjb25maWctb3B0czoKLSAgICAtICItLWVuYWJsZS1zaGFyZWQiCi0gICAgLSAiLS1l
bmFibGUtc3RhdGljIgotICAgIC0gIi0tZW5hYmxlLXBpYyIKLSAgICAtICItLWRpc2FibGUtbGF2
ZiIKLSAgICAtICItLWRpc2FibGUtYXNtIgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2
ZQotICAgICAgdXJsOiBodHRwOi8vZG93bmxvYWQudmlkZW9sYW4ub3JnL3B1Yi94MjY0L3NuYXBz
aG90cy94MjY0LXNuYXBzaG90LTIwMTQwMjEyLTIyNDUtc3RhYmxlLnRhci5iejIKLSAgICAgIHNo
YTI1NjogNWQ5OGU5ZTRmYWY2ZGQ1NWU3MTkzZWQzNzlhZmY0NzdiOGFjYmRhNjc3Nzc1ODk1NmVm
N2U1ZjA1MDY3YmUxOAotLSBuYW1lOiBnc3QtcGx1Z2lucy11Z2x5Ci0gIGJ1aWxkc3lzdGVtOiBt
ZXNvbgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vYW5v
bmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy11Z2x5Ci0gICAg
ICBicmFuY2g6IDEuMTYuMAotICBjb25maWctb3B0czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxl
ZAotLSBuYW1lOiBnc3QtcGx1Z2lucy1iYWQKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIHNvdXJj
ZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0
b3Aub3JnL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQuZ2l0Ci0gICAgICBicmFuY2g6IDEuMTYu
MQotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2dzdHJlYW1lci9wYXRjaGVzL2dz
dC1wbHVnaW5zLWJhZC0wMDAxLWgyNjRwYXJzZS1Qb3N0LWEtV0FSTklORy13aGVuLWRhdGEtaXMt
YnJva2VuLnBhdGNoCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9jPWRpc2FibGVkCi0g
ICAgLSAtRGludHJvc3BlY3Rpb249ZGlzYWJsZWQKLSAgICAtIC1EZXhhbXBsZXM9ZGlzYWJsZWQK
LS0gbmFtZTogZmZtcGVnCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1
cmw6IGh0dHBzOi8vZmZtcGVnLm9yZy9yZWxlYXNlcy9mZm1wZWctNC4wLjQudGFyLmd6Ci0gICAg
ICBzaGEyNTY6IDgwYmI2ODVhYmZjZGRhN2M5YjZjOWM1Y2FmMWQ4ZGJiOTI3ODU4MDUwZDczNzdj
MmI4ZjM0ODhjN2U4YTliN2YKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLWVuYWJsZS1zdGF0aWMK
LSAgICAtIC0tZW5hYmxlLXBpYwotICAgIC0gLS1kaXNhYmxlLWF2ZGV2aWNlCi0gICAgLSAtLWRp
c2FibGUtcG9zdHByb2MKLSAgICAtIC0tZGlzYWJsZS1zd3NjYWxlCi0gICAgLSAtLWRpc2FibGUt
cHJvZ3JhbXMKLSAgICAtIC0tZGlzYWJsZS1mZnBsYXkKLSAgICAtIC0tZGlzYWJsZS1mZnByb2Jl
Ci0gICAgLSAtLWRpc2FibGUtZmZtcGVnCi0gICAgLSAtLWRpc2FibGUtZW5jb2Rlcj1mbGFjCi0g
ICAgLSAtLWRpc2FibGUtcHJvdG9jb2xzCi0gICAgLSAtLWRpc2FibGUtZGV2aWNlcwotICAgIC0g
LS1kaXNhYmxlLW5ldHdvcmsKLSAgICAtIC0tZGlzYWJsZS1od2FjY2VscwotICAgIC0gLS1kaXNh
YmxlLWR4dmEyCi0gICAgLSAtLWRpc2FibGUtdmRwYXUKLSAgICAtIC0tZGlzYWJsZS1maWx0ZXJz
Ci0gICAgLSAtLWVuYWJsZS1maWx0ZXI9eWFkaWYKLSAgICAtIC0tZGlzYWJsZS1kb2MKLSAgICAt
IC0tZGlzYWJsZS1kM2QxMXZhCi0gICAgLSAtLWRpc2FibGUtZHh2YTIKLSAgICAtIC0tZGlzYWJs
ZS1hdWRpb3Rvb2xib3gKLSAgICAtIC0tZGlzYWJsZS12aWRlb3Rvb2xib3gKLSAgICAtIC0tZGlz
YWJsZS12YWFwaQotICAgIC0gLS1kaXNhYmxlLWNyeXN0YWxoZAotICAgIC0gLS1kaXNhYmxlLW1l
ZGlhY29kZWMKLSAgICAtIC0tZGlzYWJsZS1udmVuYwotICAgIC0gLS1kaXNhYmxlLW1tYWwKLSAg
ICAtIC0tZGlzYWJsZS1vbXgKLSAgICAtIC0tZGlzYWJsZS1vbXgtcnBpCi0gICAgLSAtLWRpc2Fi
bGUtY3VkYQotICAgIC0gLS1kaXNhYmxlLWN1dmlkCi0gICAgLSAtLWRpc2FibGUtbGlibWZ4Ci0g
ICAgLSAtLWRpc2FibGUtbGlibnBwCi0gICAgLSAtLWRpc2FibGUtaWNvbnYKLSAgICAtIC0tZGlz
YWJsZS1qbmkKLSAgICAtIC0tZGlzYWJsZS12NGwyX20ybQotICAgIC0gLS1lbmFibGUtb3B0aW1p
emF0aW9ucwotLSBuYW1lOiBnc3QtbGliYXYKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIGJ1aWxk
ZGlyOiB0cnVlCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0
dHBzOi8vZ3N0cmVhbWVyLmZyZWVkZXNrdG9wLm9yZy9zcmMvZ3N0LWxpYmF2L2dzdC1saWJhdi0x
LjE2LjEudGFyLnh6Ci0gICAgICBzaGEyNTY6IGU4YTU3NDhhZTlhNGE3YmU5Njk2NTEyMTgyZWE5
ZmZhNmVmZTBiZTliNzk3NjkxNjU0OGU5ZDQzODFjYTYxYzQKLSAgY29uZmlnLW9wdHM6Ci0gICAg
LSAtRGd0a19kb2M9ZGlzYWJsZWQKLQotLSBuYW1lOiBsaWJnY3J5cHQgIyBTcGVlZHVwIGxpYmdj
cnlwdAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZGV2
LmdudXBnLm9yZy9zb3VyY2UvbGliZ2NyeXB0LmdpdAotICAgICAgYnJhbmNoOiBsaWJnY3J5cHQt
MS44LjQKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiBwYXRjaGVzL2xpYmdjcnlwdC0w
MDAxLVVzZS1wa2ctY29uZmlnLXRvLWRldGVjdC1ncGctZXJyb3IucGF0Y2gKLSAgICAtIHR5cGU6
IHBhdGNoCi0gICAgICBwYXRoOiAuLi9ndGsvcGF0Y2hlcy9saWJnY3J5cHQtdXNlLW9ubHktZGV2
LXVyYW5kb20tZm9yLXRlc3RpbmcucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLWRpc2Fi
bGUtZG9jCi0KLS0gbmFtZTogcGVybC1jZ2ktcG0KLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBi
dWlsZC1jb21tYW5kczoKLSAgICAtIHBlcmwgTWFrZWZpbGUuUEwgUFJFRklYPS9hcHAgTElCPS9h
cHAvbGliL3BlcmwvCi0gICAgLSBtYWtlIGluc3RhbGwKLSAgc291cmNlczoKLSAgICAtIHR5cGU6
IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly9jcGFuLm1ldGFjcGFuLm9yZy9hdXRob3JzL2lk
L0wvTEUvTEVFSk8vQ0dJLTQuMzgudGFyLmd6Ci0gICAgICBzaGEyNTY6IDhjNThmNGE1MjliYjky
YTkxNGIyMmI3ZTY0YzVlMzExODVjOTg1NGE0MDcwYTZkZmFkNDRmZTVjYzI0OGU3ZDQKLQotLSBu
YW1lOiBweXRob24yLXZpcnR1YWxlbnYKLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1j
b21tYW5kczoKLSAgLSBwaXAyIGluc3RhbGwgLS1uby1pbmRleCAtLWZpbmQtbGlua3M9ImZpbGU6
Ly8ke1BXRH0iIC0tdGFyZ2V0PS9hcHAvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzLyB2aXJ0
dWFsZW52Ci0gIC0gbG4gLXMgL2FwcC9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvdmlydHVh
bGVudi5weSAvYXBwL2Jpbi92aXJ0dWFsZW52Ci0gIC0gY2htb2QgK3ggL2FwcC9iaW4vdmlydHVh
bGVudgotICBzb3VyY2VzOgotICAtIHR5cGU6IGZpbGUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMu
cHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy8zMy9iYy9mYTBiNTM0NzEzOWNkOTU2NGYwZDQ0ZWJk
MmIxNDdhYzk3YzM2YjI0MDM5NDNkYmVlOGEyNWZkNzQwMTIvdmlydHVhbGVudi0xNi4wLjAudGFy
Lmd6Ci0gICAgc2hhMjU2OiBjYTA3YjRjMGI1NGUxNGE5MWFmOWYzNGQwOTE5NzkwYjAxNjkyM2Qx
NTdhZmRhNWVmZGRlNTVjOTY3MThmNzUyCi0KLS0gbmFtZTogbGliY2FwLW5nCi0gIHNvdXJjZXM6
Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL3N0ZXZlZ3J1
YmIvbGliY2FwLW5nCi0gICAgICBicmFuY2g6IHYwLjcuOQotICBjb25maWctb3B0czoKLSAgICAt
IC0td2l0aC1weXRob249bm8KLSAgICAtIC0td2l0aC1weXRob24zPW5vCi0KLS0gbmFtZTogbHpv
MgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwOi8vd3d3
Lm9iZXJodW1lci5jb20vb3BlbnNvdXJjZS9sem8vZG93bmxvYWQvbHpvLTIuMTAudGFyLmd6Ci0g
ICAgICBzaGExOiA0OTI0Njc2YTliYWU1ZGI1OGVmMTI5ZGMxY2ViY2UzYmFhM2M0YjVkCi0KLS0g
bmFtZTogaWNlY2MKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRw
czovL2dpdGh1Yi5jb20vaWNlY2MvaWNlY3JlYW0KLSAgICAgIHRhZzogIjEuMiIKLSAgICAgIGNv
bW1pdDogZTNkMTBhMzJiYzZjMDQ2ZDhmM2QxMTgyZTc1YzY1OWQ0YjI4ZWQ0OQotICBjb25maWct
b3B0czoKLSAgICAtIC0td2l0aG91dC1tYW4KLQotLSBuYW1lOiBicm90bGkKLSAgc291cmNlczoK
LSAgLSB0eXBlOiBhcmNoaXZlCi0gICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2Jy
b3RsaS9hcmNoaXZlL3YxLjAuNS50YXIuZ3oKLSAgICBzaGEyNTY6IDNkNWJlZGQ0OGVkYjkwOWZl
M2I4N2NiOTlmN2QxMzliOTg3ZWY2ZjE2MTZiN2UyMmQ3NGU5MjgyNzBhMmZkMjAKLSAgYnVpbGRz
eXN0ZW06IGNtYWtlLW5pbmphCi0KLS0gbmFtZTogd29mZjIKLSAgc291cmNlczoKLSAgLSB0eXBl
OiBhcmNoaXZlCi0gICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL3dvZmYyL2FyY2hp
dmUvdjEuMC4yLnRhci5negotICAgIHNoYTI1NjogYWRkMjcyYmIwOWU2Mzg0YTQ4MzNmZmNhNDg5
NjM1MGZkYjE2ZTBjYTIyZGY2OGMwMzg0NzczYzY3YTE3NTU5NAotICBidWlsZHN5c3RlbTogY21h
a2UtbmluamEKLQotLSBuYW1lOiBvcGVuanBlZwotICBzb3VyY2VzOgotICAtIHR5cGU6IGFyY2hp
dmUKLSAgICB1cmw6IGh0dHA6Ly9naXRodWIuY29tL3VjbG91dmFpbi9vcGVuanBlZy9hcmNoaXZl
L3YyLjMuMC50YXIuZ3oKLSAgICBzaGEyNTY6IDNkYzc4N2MxYmI2MDIzYmE4NDZjMmEwZDliMWY2
ZTE3OWYxY2QyNTUxNzJiZGU5ZWI3NWIwMWYxZTZjN2Q3MWEKLSAgYnVpbGRzeXN0ZW06IGNtYWtl
LW5pbmphCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuR1RLLnlhbWwgYi9U
b29scy9mbGF0cGFrL29yZy53ZWJraXQuR1RLLnlhbWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDk2M2I1NjA0NDA4MDQ1ZWQwODdjN2MyNjdhNTkzMmI4NGU2MzBkM2YuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9vcmcu
d2Via2l0LkdUSy55YW1sCisrKyAvZGV2L251bGwKQEAgLTEsMTIzICswLDAgQEAKLS0gbmFtZTog
bWVzYQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczov
L21lc2EuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmUvbWVzYS0xOC4wLjMudGFyLnh6Ci0gICAgICBz
aGEyNTY6IDA5OWQ5NjY3MzI3YTc2YTYxNzQxYTUzM2Y5NTA2N2Q3NmVhNzFhNjU2ZTY2YjkxNTA3
YjNjMGNhZjFkNDllMzAKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLXByZWZpeD0vYXBwL3NvZnRH
TAotICAgIC0gLS1kaXNhYmxlLWRyaTMKLSAgICAtIC0tZW5hYmxlLWRyaQotICAgIC0gLS1lbmFi
bGUtZ2x4Ci0gICAgLSAtLWVuYWJsZS1lZ2wKLSAgICAtIC0td2l0aC1lZ2wtcGxhdGZvcm1zPXgx
MSx3YXlsYW5kCi0gICAgLSAtLXdpdGgtZHJpLWRyaXZlcnM9c3dyYXN0Ci0gICAgLSAtLXdpdGgt
Z2FsbGl1bS1kcml2ZXJzPXN3cmFzdAotCi0tIG5hbWU6IHdlYmtpdGd0ay10ZXN0LWZvbnRzCi0g
IG5vLWF1dG9nZW46IHRydWUKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJs
OiBodHRwczovL2dpdGh1Yi5jb20vV2ViS2l0R1RLL3dlYmtpdGd0ay10ZXN0LWZvbnRzLmdpdAot
ICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAgICMgRklYTUU6IE1h
a2UgQWN0aXZhdGVGb250V1BFIHNtYXJ0ZXIuCi0gICAgLSBtYWtlIGluc3RhbGwgREVTVERJUj0v
YXBwL1dlYktpdEJ1aWxkL0RlcGVuZGVuY2llc0dUSy9Sb290Ci0KLS0gbmFtZTogeG9yZy11dGls
LW1hY3JvcwotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8v
YW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcvdXRpbC9tYWNyb3MuZ2l0Ci0gICAgICBi
cmFuY2g6IHV0aWwtbWFjcm9zLTEuMTkuMgotCi0tIG5hbWU6IHhvcmctZm9udC11dGlsCi0gIHNv
dXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9hbm9uZ2l0LmZyZWVk
ZXNrdG9wLm9yZy9naXQveG9yZy9mb250L3V0aWwuZ2l0Ci0gICAgICBicmFuY2g6IGZvbnQtdXRp
bC0xLjMuMQotCi0tIG5hbWU6IHhrYmZpbGUKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAot
ICAgICAgYnJhbmNoOiBsaWJ4a2JmaWxlLTEuMC45Ci0gICAgICB1cmw6IGh0dHBzOi8vYW5vbmdp
dC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcvbGliL2xpYnhrYmZpbGUuZ2l0Ci0KLS0gbmFtZTog
Zm9udGVuYwotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICBicmFuY2g6IGxpYmZv
bnRlbmMtMS4xLjMKLSAgICAgIHVybDogaHR0cHM6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9n
aXQveG9yZy9saWIvbGliZm9udGVuYy5naXQKLQotLSBuYW1lOiB4Zm9udAotICBzb3VyY2VzOgot
ICAgIC0gdHlwZTogZ2l0Ci0gICAgICBicmFuY2g6IGxpYlhmb250Mi0yLjAuMwotICAgICAgdXJs
OiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC94b3JnL2xpYi9saWJYZm9udC5n
aXQKLQotLSBuYW1lOiB4dmZiCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVy
bDogaHR0cHM6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy94c2VydmVyLmdpdAot
ICAgICAgYnJhbmNoOiB4b3JnLXNlcnZlci0xLjE5LjYKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAg
ICBwYXRoOiBwYXRjaGVzL3h2ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1maWxl
LnBhdGNoCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3RrL3BhdGNoZXMveHNl
cnZlci1yZW1vdmUtYm9ndXMtZGVwZW5kZW5jaWVzLnBhdGNoCi0gICAgLSB0eXBlOiBwYXRjaAot
ICAgICAgcGF0aDogLi4vZ3RrL3BhdGNoZXMveHNlcnZlci1zZWFyY2gtZm9yLURSSS1kcml2ZXJz
LWF0LUxJQkdMX0RSSVZFUlNfUEFUSC1lbnZpcm9uLnBhdGNoCi0gIGNvbmZpZy1vcHRzOgotICAg
IC0gLS1lbmFibGUteHZmYgotICAgIC0gLS1kaXNhYmxlLXh3YXlsYW5kCi0gICAgLSAtLWVuYWJs
ZS14dmZiCi0gICAgLSAtLWRpc2FibGUteHdheWxhbmQKLSAgICAtIC0tZGlzYWJsZS14aW5lcmFt
YQotICAgIC0gLS1lbmFibGUtZ2x4Ci0gICAgLSAtLWVuYWJsZS1jb21wb3NpdGUKLSAgICAtIC0t
ZGlzYWJsZS14b3JnCi0gICAgLSAtLWRpc2FibGUtZG14Ci0gICAgLSAtLWRpc2FibGUteG5lc3QK
LSAgICAtIC0tZGlzYWJsZS14cXVhcnR6Ci0gICAgLSAtLWRpc2FibGUteHdpbgotICAgIC0gLS1k
aXNhYmxlLXhlcGh5cgotICAgIC0gLS1kaXNhYmxlLXhmYWtlCi0gICAgLSAtLWRpc2FibGUteGZi
ZGV2Ci0gICAgLSAtLWRpc2FibGUtaW5zdGFsbC1zZXR1aWQKLSAgICAtIC0tZGlzYWJsZS11bml0
LXRlc3RzCi0gICAgLSAtLWRpc2FibGUtcHJlc2VudAotICAgIC0gLS1lbmFibGUtdW5peC10cmFu
c3BvcnQKLSAgICAtIC0tZW5hYmxlLXRjcC10cmFuc3BvcnQKLSAgICAtIC0tZGlzYWJsZS1sb2Nh
bC10cmFuc3BvcnQKLSAgICAtIC0td2l0aG91dC1kdHJhY2UKLQotIyBSZXF1aXJlZCBmb3IgcnVu
LWd0ay10ZXN0cwotLSBuYW1lOiBweWNhaXJvCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVp
bGQtY29tbWFuZHM6Ci0gIC0gcHl0aG9uMiBzZXR1cC5weSBpbnN0YWxsIC0tcHJlZml4PS9hcHAK
LSAgc291cmNlczoKLSAgLSB0eXBlOiBhcmNoaXZlCi0gICAgdXJsOiBodHRwczovL3B5cGkucHl0
aG9uLm9yZy9wYWNrYWdlcy9lZi85Ny9iMzNkYzUzM2VhNjA3NmQ0ZWE5Y2JkMmZlMDQ5YTJiNGEz
ZGY1YzViNmZiYTlhMTgyNjE2ZjZmOGQzMTAvcHljYWlyby0xLjE1LjQudGFyLmd6Ci0gICAgc2hh
MjU2OiBlZTRjMzA2OGMwNDgyMzBlNWNlNzRiYjg5OTRhMDI0NzExMTI5YmRlMWFmMWQ3NmUzMjc2
YzdhY2Q4MWM0MzU3Ci0gIGNsZWFudXA6Ci0gIC0gIi9pbmNsdWRlIgotICAtICIvbGliL3BrZ2Nv
bmZpZyIKLQotLSBuYW1lOiBweWdvYmplY3QtcHl0aG9uMgotICBidWlsZC1vcHRpb25zOgotICAg
IGVudjoKLSAgICAgIFBZVEhPTjogIi91c3IvYmluL3B5dGhvbjIiCi0gIHNvdXJjZXM6Ci0gIC0g
dHlwZTogYXJjaGl2ZQotICAgIHVybDogaHR0cHM6Ly9kb3dubG9hZC5nbm9tZS5vcmcvc291cmNl
cy9weWdvYmplY3QvMy4yOC9weWdvYmplY3QtMy4yOC4xLnRhci54egotICAgIHNoYTI1NjogNDIz
MTJiNGE1MDE1NTcxZmEwYTRmMmQyMDEwMDVkYTQ2YjcxYzI1MWVhMjYyNWJjOTU3MDJkMDcxYzRm
Zjg5NQotICBjbGVhbnVwOgotICAtICIvaW5jbHVkZSIKLSAgLSAiL2xpYi9wa2djb25maWciCi0g
IC0gIi9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvZ2kvKi5sYSIKLQotLSBvcmcud2Via2l0
LldQRU1vZHVsZXMueWFtbAotCi0tIG5hbWU6IG9yZy53ZWJraXQuR1RLCi0gIGJ1aWxkc3lzdGVt
OiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gICAgLSAvYXBwL3dlYmtpdC9Ub29scy9TY3Jp
cHRzL2J1aWxkLXdlYmtpdCAtLWd0ayAtLXByZWZpeD0vYXBwCi0KZGlmZiAtLWdpdCBhL1Rvb2xz
L2ZsYXRwYWsvb3JnLndlYmtpdC5XUEUueWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5X
UEUueWFtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGNiYWJiYWEwY2I4ZTE1OGFk
NDQ0MWY5OGI0ZDA1M2E4Y2IzYmE3Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFLnlhbWwKKysrIC9kZXYv
bnVsbApAQCAtMSwxNCArMCwwIEBACi0tIG9yZy53ZWJraXQuV1BFTW9kdWxlcy55YW1sCi0tIG5h
bWU6IHdlYmtpdGd0ay10ZXN0LWZvbnRzCi0gIG5vLWF1dG9nZW46IHRydWUKLSAgc291cmNlczoK
LSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vV2ViS2l0R1RL
L3dlYmtpdGd0ay10ZXN0LWZvbnRzLmdpdAotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxk
LWNvbW1hbmRzOgotICAgICMgRklYTUU6IE1ha2UgQWN0aXZhdGVGb250V1BFIHNtYXJ0ZXIuCi0g
ICAgLSBtYWtlIGluc3RhbGwgREVTVERJUj0vYXBwL1dlYktpdEJ1aWxkL0RlcGVuZGVuY2llc1dQ
RS9Sb290Ci0tIG5hbWU6IG9yZy53ZWJraXQuV1BFCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAg
YnVpbGQtY29tbWFuZHM6Ci0gICAgLSAvYXBwL3dlYmtpdC9Ub29scy9TY3JpcHRzL2J1aWxkLXdl
YmtpdCAtLXdwZSAtLXByZWZpeD0vYXBwCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29yZy53
ZWJraXQuV1BFTW9kdWxlcy55YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRU1vZHVs
ZXMueWFtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTgwZTJjY2IzYTRkOTUyMmE2
MDc5MzRjMDZlMGFmOTIwNWJmMDIxNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFTW9kdWxlcy55YW1sCisr
KyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLSBuYW1lOiBsaWJ3cGUKLSAgYnVpbGRzeXN0
ZW06IGNtYWtlLW5pbmphCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1
cmw6IGh0dHBzOi8vd3Bld2Via2l0Lm9yZy9yZWxlYXNlcy9saWJ3cGUtMS40LjAudGFyLnh6Ci0g
ICAgICBzaGEyNTY6IGUyZDM0OTRmYzMzZmU5NDZhZDkxN2ZkNmEzYWJkMTI3NDYyYjkxYmJhNjJl
ZjhiMzU1MDdlOTJmOGVkZTQxODgKLS0gbmFtZTogd3BlYmFja2VuZC1mZG8KLSAgYnVpbGRzeXN0
ZW06IGNtYWtlLW5pbmphCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1
cmw6IGh0dHBzOi8vd3Bld2Via2l0Lm9yZy9yZWxlYXNlcy93cGViYWNrZW5kLWZkby0xLjQuMC50
YXIueHoKLSAgICAgIHNoYTI1NjogYTkxOWNhNGE1YmM0NDVmOTQxOWE1YjdmMzc4MWNmYzk4ZTVh
YmNmNWQ3MjU5ZWIxODY5ZjVhYjIwZmQxOGJhZgpkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9v
cmcud2Via2l0LldQRVFULnlhbWwgYi9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFUVQueWFt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGUzNjk1N2E0NjFiYzM0NzlhMzhlZmZk
ZTZkOTU4YmQwMDcyNjc4ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFUVQueWFtbAorKysgL2Rldi9udWxs
CkBAIC0xLDM5ICswLDAgQEAKLWFwcC1pZDogb3JnLndlYmtpdC5XUEVRVAotcnVudGltZTogb3Jn
LmtkZS5QbGF0Zm9ybQotcnVudGltZS12ZXJzaW9uOiAiNS4xMiIKLSMgQ29udHJvbCB0aGUgZXhh
Y3QgdmVyc2lvbiBvZiB0aGUgU2RrL1J1bnRpbWUgdGhhdCBpcyBiZWluZyB1c2VkLgotc2RrLWhh
c2g6IGQ2ZWZhMjRlMjdjMWM4NzhhZDRmZGU3NmI3M2M5NmExMWJlMzJiNTk4YWU4N2FlZmJlMzM5
ZWU0YmIxOWE4YmUKLXJ1bnRpbWUtaGFzaDogMTAxODcxZTA5MTAwMDYxNmFkMmI2MzVlMDZjNDE0
ZWIwZTFjNGUxYzM0MjkyYTIwNWM1MjM5OTM1ZWU1ZWE0NAotc2RrOiBvcmcua2RlLlNkawotY29t
bWFuZDogJShDT01NQU5EKXMKLWZpbmlzaC1hcmdzOgotICAjIEJhc2ljYWxseSBubyBzYW5kYm94
aW5nLCB0aGUgZ29hbCBoZXJlIGlzIHRvIG1ha2UgaXQgZmxleGlibGUKLSAgIyBmb3IgZGV2ZWxv
cGVycywgbm90IHJlYWxseSB0byBpc29sYXRlIChvcGVubmluZyBhbGwgZGV2aWNlcwotICAjIHRv
IGFsbG93IGFjY2VzIHZpZGVvIGNhbWVyYXMgdW50aWwgd2UgaGF2ZSBhIHBvcnRhbCBhdCBsZWFz
dCkuCi0gIC0gLS1zaGFyZT1pcGMKLSAgLSAtLXNvY2tldD14MTEKLSAgLSAtLXNvY2tldD13YXls
YW5kCi0gIC0gLS1kZXZpY2U9YWxsCi0gIC0gLS1zaGFyZT1uZXR3b3JrCi0gIC0gLS1zb2NrZXQ9
cHVsc2VhdWRpbwotICAtIC0tc3lzdGVtLXRhbGstbmFtZT1vcmcuZnJlZWRlc2t0b3AuR2VvQ2x1
ZTIKLSAgLSAtLXN5c3RlbS10YWxrLW5hbWU9b3JnLmExMXkuQnVzCi0gIC0gLS1maWxlc3lzdGVt
PWhvc3QKLSAgLSAtLXNvY2tldD1zeXN0ZW0tYnVzCi0gIC0gLS10YWxrLW5hbWU9b3JnLmZyZWVk
ZXNrdG9wLkZsYXRwYWsKLSAgLSAtLWVudj1HU1RfUFJFU0VUX1BBVEg9L2FwcC9zaGFyZS9nc3Ry
ZWFtZXItMS4wL3ByZXNldHMvCi1idWlsZC1vcHRpb25zOgotICBjZmxhZ3M6IC1PMiAtZwotICBj
eHhmbGFnczogLU8yIC1nCi0gIHN0cmlwOiBmYWxzZQotICBuby1kZWJ1Z2luZm86IHRydWUKLW1v
ZHVsZXM6Ci0gIC0gb3JnLndlYmtpdC5Db21tb25Nb2R1bGVzLnlhbWwKLSAgLSBvcmcud2Via2l0
LldQRU1vZHVsZXMueWFtbAotCi0gICMgVGhpcyBtb2R1bGUgaXMgbm90IGFjdHVhbGx5IGJ1aWx0
LgotICAtIG5hbWU6IG9yZy53ZWJraXQuV1BFUVQKLSAgICBidWlsZHN5c3RlbTogY21ha2UKLSAg
ICBzb3VyY2VzOgotICAgIC0gdHlwZTogZGlyCi0gICAgICBwYXRoOiAvYXBwL3dlYmtpdC9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL3F0CmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFr
L29yZy53ZWJraXQuV2ViS2l0LnlhbWwgYi9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV2ViS2l0
LnlhbWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2ZDYxMjY2MGQ4YTIwNDVkYTMx
MmZkYjA5MWI3OGU1OGE4MDdlNjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldlYktpdC55YW1sCisrKyAvZGV2
L251bGwKQEAgLTEsMzMgKzAsMCBAQAotYXBwLWlkOiAlKFBPUlROQU1FKXMKLXJ1bnRpbWU6IG9y
Zy5nbm9tZS5QbGF0Zm9ybQotcnVudGltZS12ZXJzaW9uOiAiMy4zMiIKLSMgQ29udHJvbCB0aGUg
ZXhhY3QgdmVyc2lvbiBvZiB0aGUgU2RrL1J1bnRpbWUgdGhhdCBpcyBiZWluZyB1c2VkLgotc2Rr
LWhhc2g6IGIzYjliMWQxYjE5ZWEyYmI3MjAxOTQyOGNhNzVjN2E3ODQ1NWU5ODZhMGY5MWRkZGY2
YTI5YzkyOTkwY2M1YTcKLXJ1bnRpbWUtaGFzaDogN2M5ZDU1OTJkODA1ZDBiN2MyMTIxOTBmZDgx
MThlNGM3OGNiOGVkOGY4MWU2ODc4NTg5NzI2NzBkYWNjZmY3Ngotc2RrOiBvcmcuZ25vbWUuU2Rr
Ci1jb21tYW5kOiAlKENPTU1BTkQpcwotZmluaXNoLWFyZ3M6Ci0gICMgQmFzaWNhbGx5IG5vIHNh
bmRib3hpbmcsIHRoZSBnb2FsIGhlcmUgaXMgdG8gbWFrZSBpdCBmbGV4aWJsZQotICAjIGZvciBk
ZXZlbG9wZXJzLCBub3QgcmVhbGx5IHRvIGlzb2xhdGUgKG9wZW5uaW5nIGFsbCBkZXZpY2VzCi0g
ICMgdG8gYWxsb3cgYWNjZXMgdmlkZW8gY2FtZXJhcyB1bnRpbCB3ZSBoYXZlIGEgcG9ydGFsIGF0
IGxlYXN0KS4KLSAgLSAtLXNoYXJlPWlwYwotICAtIC0tc29ja2V0PXgxMQotICAtIC0tc29ja2V0
PXdheWxhbmQKLSAgLSAtLWRldmljZT1hbGwKLSAgLSAtLXNoYXJlPW5ldHdvcmsKLSAgLSAtLXNv
Y2tldD1wdWxzZWF1ZGlvCi0gIC0gLS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5mcmVlZGVza3RvcC5H
ZW9DbHVlMgotICAtIC0tc3lzdGVtLXRhbGstbmFtZT1vcmcuYTExeS5CdXMKLSAgLSAtLWZpbGVz
eXN0ZW09aG9zdAotICAtIC0tc29ja2V0PXN5c3RlbS1idXMKLSAgLSAtLXRhbGstbmFtZT1vcmcu
ZnJlZWRlc2t0b3AuRmxhdHBhawotICAtIC0tZW52PUdTVF9QUkVTRVRfUEFUSD0vYXBwL3NoYXJl
L2dzdHJlYW1lci0xLjAvcHJlc2V0cy8KLWJ1aWxkLW9wdGlvbnM6Ci0gIGNmbGFnczogLU8yIC1n
Ci0gIGN4eGZsYWdzOiAtTzIgLWcKLSAgc3RyaXA6IGZhbHNlCi0gIG5vLWRlYnVnaW5mbzogdHJ1
ZQotbW9kdWxlczoKLSAgLSBvcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbAotICAjIFBvcnQg
c3BlY2lmaWMgY29tcG9uZW50cy4KLSAgLSAlKFBPUlROQU1FKXMueWFtbApkaWZmIC0tZ2l0IGEv
VG9vbHMvZmxhdHBhay9wYXRjaGVzL2h0dHBkLTAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmln
LWZvci1QQ1JFLWRldGVjdGlvbi5wYXRjaCBiL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy9odHRwZC0w
MDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1kZXRlY3Rpb24ucGF0Y2gKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQzNmE2OTRmMjkyM2QzNTFkYjZmM2YxMzMyNzYw
MjgzZGE3OGY5ZGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvVG9vbHMvZmxhdHBhay9wYXRjaGVzL2h0dHBkLTAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29u
ZmlnLWZvci1QQ1JFLWRldGVjdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAg
QEAKLUZyb20gYjVlYmU0MDRmMTM4OGRkZGEzNjAzZTUzMjc3Zjg3ZTBiOTZiYTY5NSBNb24gU2Vw
IDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGlnYWxp
YS5jb20+Ci1EYXRlOiBNb24sIDExIEp1biAyMDE4IDE2OjE0OjM4IC0wNDAwCi1TdWJqZWN0OiBb
UEFUQ0hdIGNvbmZpZ3VyZTogdXNlIHBrZy1jb25maWcgZm9yIFBDUkUgZGV0ZWN0aW9uCi0KLS0t
LQotIGNvbmZpZ3VyZS5pbiB8IDI3ICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmls
ZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0
IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCi1pbmRleCA3NjFlODM2Li5iMTU1ZDRiIDEw
MDY0NAotLS0tIGEvY29uZmlndXJlLmluCi0rKysgYi9jb25maWd1cmUuaW4KLUBAIC0yMTUsMjgg
KzIxNSwxMSBAQCBmaQotIEFDX0FSR19XSVRIKHBjcmUsCi0gQVBBQ0hFX0hFTFBfU1RSSU5HKC0t
d2l0aC1wY3JlPVBBVEgsVXNlIGV4dGVybmFsIFBDUkUgbGlicmFyeSkpCi0gCi0tQUNfUEFUSF9Q
Uk9HKFBDUkVfQ09ORklHLCBwY3JlLWNvbmZpZywgZmFsc2UpCi0taWYgdGVzdCAtZCAiJHdpdGhf
cGNyZSIgJiYgdGVzdCAteCAiJHdpdGhfcGNyZS9iaW4vcGNyZS1jb25maWciOyB0aGVuCi0tICAg
UENSRV9DT05GSUc9JHdpdGhfcGNyZS9iaW4vcGNyZS1jb25maWcKLS1lbGlmIHRlc3QgLXggIiR3
aXRoX3BjcmUiOyB0aGVuCi0tICAgUENSRV9DT05GSUc9JHdpdGhfcGNyZQotLWZpCi0tCi0taWYg
dGVzdCAiJFBDUkVfQ09ORklHIiAhPSAiZmFsc2UiOyB0aGVuCi0tICBpZiAkUENSRV9DT05GSUcg
LS12ZXJzaW9uID4vZGV2L251bGwgMj4mMTsgdGhlbiA6OyBlbHNlCi0tICAgIEFDX01TR19FUlJP
UihbRGlkIG5vdCBmaW5kIHBjcmUtY29uZmlnIHNjcmlwdCBhdCAkUENSRV9DT05GSUddKQotLSAg
ZmkKLS0gIGNhc2UgYCRQQ1JFX0NPTkZJRyAtLXZlcnNpb25gIGluCi0tICBbWzEtNV0uKl0pCi0t
ICAgIEFDX01TR19FUlJPUihbTmVlZCBhdCBsZWFzdCBwY3JlIHZlcnNpb24gNi4wXSkKLS0gICAg
OzsKLS0gIGVzYWMKLS0gIEFDX01TR19OT1RJQ0UoW1VzaW5nIGV4dGVybmFsIFBDUkUgbGlicmFy
eSBmcm9tICRQQ1JFX0NPTkZJR10pCi0tICBBUFJfQUREVE8oUENSRV9JTkNMVURFUywgW2AkUENS
RV9DT05GSUcgLS1jZmxhZ3NgXSkKLS0gIEFQUl9BRERUTyhQQ1JFX0xJQlMsIFtgJFBDUkVfQ09O
RklHIC0tbGlic2BdKQotLWVsc2UKLS0gIEFDX01TR19FUlJPUihbcGNyZS1jb25maWcgZm9yIGxp
YnBjcmUgbm90IGZvdW5kLiBQQ1JFIGlzIHJlcXVpcmVkIGFuZCBhdmFpbGFibGUgZnJvbSBodHRw
Oi8vcGNyZS5vcmcvXSkKLS1maQotK1BLR19DSEVDS19NT0RVTEVTKFtQQ1JFXSwgW2xpYnBjcmVd
LCBbCi0rICBBQ19ERUZJTkUoW0hBVkVfUENSRV0sIFsxXSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBQ
Q1JFIGxpYnJhcnldKQotK10sIFsKLSsgIEFDX01TR19FUlJPUihbJFBDUkVfUEtHX0VSUk9SU10p
Ci0rXSkKLSBBUEFDSEVfU1VCU1QoUENSRV9MSUJTKQotIAotIEFDX01TR19OT1RJQ0UoW10pCi0t
LSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL3BhdGNoZXMvbGliZ2NyeXB0
LTAwMDEtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRjaCBiL1Rvb2xzL2Zs
YXRwYWsvcGF0Y2hlcy9saWJnY3J5cHQtMDAwMS1Vc2UtcGtnLWNvbmZpZy10by1kZXRlY3QtZ3Bn
LWVycm9yLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNTc3MjdmYmI4YjA4
YjkxOTVhNWMwOTdkNmM2MWI5MDhjNjkxNzlhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy9saWJnY3J5cHQtMDAwMS1V
c2UtcGtnLWNvbmZpZy10by1kZXRlY3QtZ3BnLWVycm9yLnBhdGNoCisrKyAvZGV2L251bGwKQEAg
LTEsMTEwICswLDAgQEAKLUZyb20gOWFmZjNmMWIzNDRmYzg2NjZiMTRjNTc2MjkxNjJjMmI5MDA3
Y2FkOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRoaWJhdWx0IFNhdW5pZXIgPHRz
YXVuaWVyQGlnYWxpYS5jb20+Ci1EYXRlOiBGcmksIDI5IEp1biAyMDE4IDA5OjA1OjUyIC0wNDAw
Ci1TdWJqZWN0OiBbUEFUQ0hdIFVzZSBwa2ctY29uZmlnIHRvIGRldGVjdCBncGctZXJyb3IKLQot
LS0tCi0gbTQvZ3BnLWVycm9yLm00IHwgODggKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA3
NiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL200L2dwZy1lcnJvci5tNCBiL200L2dwZy1l
cnJvci5tNAotaW5kZXggMTY2MTIwNGMuLjVmOWYzM2MyIDEwMDY0NAotLS0tIGEvbTQvZ3BnLWVy
cm9yLm00Ci0rKysgYi9tNC9ncGctZXJyb3IubTQKLUBAIC00MSw4MSArNDEsMTcgQEAgQUNfREVG
VU4oW0FNX1BBVEhfR1BHX0VSUk9SXSwKLSAgIEFDX0FSR19XSVRIKGdwZy1lcnJvci1wcmVmaXgs
LAotICAgICAgICAgICAgICAgW2dwZ19lcnJvcl9jb25maWdfcHJlZml4PSIkd2l0aHZhbCJdKQot
IAotLSAgaWYgdGVzdCB4IiR7R1BHX0VSUk9SX0NPTkZJR30iID0geCA7IHRoZW4KLS0gICAgIGlm
IHRlc3QgeCIke2dwZ19lcnJvcl9jb25maWdfcHJlZml4fSIgIT0geCA7IHRoZW4KLS0gICAgICAg
IEdQR19FUlJPUl9DT05GSUc9IiR7Z3BnX2Vycm9yX2NvbmZpZ19wcmVmaXh9L2Jpbi9ncGctZXJy
b3ItY29uZmlnIgotLSAgICAgZWxzZQotLSAgICAgICBjYXNlICIke1NZU1JPT1R9IiBpbgotLSAg
ICAgICAgIC8qKQotLSAgICAgICAgICAgaWYgdGVzdCAteCAiJHtTWVNST09UfS9iaW4vZ3BnLWVy
cm9yLWNvbmZpZyIgOyB0aGVuCi0tICAgICAgICAgICAgIEdQR19FUlJPUl9DT05GSUc9IiR7U1lT
Uk9PVH0vYmluL2dwZy1lcnJvci1jb25maWciCi0tICAgICAgICAgICBmaQotLSAgICAgICAgICAg
OzsKLS0gICAgICAgICAnJykKLS0gICAgICAgICAgIDs7Ci0tICAgICAgICAgICopCi0tICAgICAg
ICAgICBBQ19NU0dfV0FSTihbSWdub3JpbmcgXCRTWVNST09UIGFzIGl0IGlzIG5vdCBhbiBhYnNv
bHV0ZSBwYXRoLl0pCi0tICAgICAgICAgICA7OwotLSAgICAgICBlc2FjCi0tICAgICBmaQotLSAg
ZmkKLSsgIFBLR19DSEVDS19NT0RVTEVTKFtHUEdfRVJST1JdLCBbZ3BnLWVycm9yXSwgWwotKyAg
ICBBQ19ERUZJTkUoW0hBVkVfR1BHX0VSUk9SXSwgWzFdLCBbRGVmaW5lIGlmIHlvdSBoYXZlIGdw
Zy1lcnJvciBsaWJyYXJ5XSkKLSAKLS0gIEFDX1BBVEhfUFJPRyhHUEdfRVJST1JfQ09ORklHLCBn
cGctZXJyb3ItY29uZmlnLCBubykKLS0gIG1pbl9ncGdfZXJyb3JfdmVyc2lvbj1pZmVsc2UoWyQx
XSwgLDAuMCwkMSkKLS0gIEFDX01TR19DSEVDS0lORyhmb3IgR1BHIEVycm9yIC0gdmVyc2lvbiA+
PSAkbWluX2dwZ19lcnJvcl92ZXJzaW9uKQotLSAgb2s9bm8KLS0gIGlmIHRlc3QgIiRHUEdfRVJS
T1JfQ09ORklHIiAhPSAibm8iIFwKLS0gICAgICYmIHRlc3QgLWYgIiRHUEdfRVJST1JfQ09ORklH
IiA7IHRoZW4KLS0gICAgcmVxX21ham9yPWBlY2hvICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb24gfCBc
Ci0tICAgICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwuXChbWzAtOV1dKlwpL1wxLydg
Ci0tICAgIHJlcV9taW5vcj1gZWNobyAkbWluX2dwZ19lcnJvcl92ZXJzaW9uIHwgXAotLSAgICAg
ICAgICAgICAgIHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS9cMi8nYAotLSAgICBn
cGdfZXJyb3JfY29uZmlnX3ZlcnNpb249YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29u
ZmlnX2FyZ3MgLS12ZXJzaW9uYAotLSAgICBtYWpvcj1gZWNobyAkZ3BnX2Vycm9yX2NvbmZpZ192
ZXJzaW9uIHwgXAotLSAgICAgICAgICAgICAgIHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTld
XSpcKS4qL1wxLydgCi0tICAgIG1pbm9yPWBlY2hvICRncGdfZXJyb3JfY29uZmlnX3ZlcnNpb24g
fCBcCi0tICAgICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwuXChbWzAtOV1dKlwpLiov
XDIvJ2AKLS0gICAgaWYgdGVzdCAiJG1ham9yIiAtZ3QgIiRyZXFfbWFqb3IiOyB0aGVuCi0tICAg
ICAgICBvaz15ZXMKLS0gICAgZWxzZQotLSAgICAgICAgaWYgdGVzdCAiJG1ham9yIiAtZXEgIiRy
ZXFfbWFqb3IiOyB0aGVuCi0tICAgICAgICAgICAgaWYgdGVzdCAiJG1pbm9yIiAtZ2UgIiRyZXFf
bWlub3IiOyB0aGVuCi0tICAgICAgICAgICAgICAgb2s9eWVzCi0tICAgICAgICAgICAgZmkKLS0g
ICAgICAgIGZpCi0tICAgIGZpCi0tICBmaQotLSAgaWYgdGVzdCAkb2sgPSB5ZXM7IHRoZW4KLS0g
ICAgR1BHX0VSUk9SX0NGTEFHUz1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9jb25maWdf
YXJncyAtLWNmbGFnc2AKLS0gICAgR1BHX0VSUk9SX0xJQlM9YCRHUEdfRVJST1JfQ09ORklHICRn
cGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1saWJzYAotLSAgICBHUEdfRVJST1JfTVRfQ0ZMQUdTPWAk
R1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19hcmdzIC0tbXQgLS1jZmxhZ3MgMj4v
ZGV2L251bGxgCi0tICAgIEdQR19FUlJPUl9NVF9MSUJTPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3Bn
X2Vycm9yX2NvbmZpZ19hcmdzIC0tbXQgLS1saWJzIDI+L2Rldi9udWxsYAotLSAgICBBQ19NU0df
UkVTVUxUKFt5ZXMgKCRncGdfZXJyb3JfY29uZmlnX3ZlcnNpb24pXSkKLS0gICAgaWZlbHNlKFsk
Ml0sICwgOiwgWyQyXSkKLS0gICAgZ3BnX2Vycm9yX2NvbmZpZ19ob3N0PWAkR1BHX0VSUk9SX0NP
TkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19hcmdzIC0taG9zdCAyPi9kZXYvbnVsbCB8fCBlY2hvIG5v
bmVgCi0tICAgIGlmIHRlc3QgeCIkZ3BnX2Vycm9yX2NvbmZpZ19ob3N0IiAhPSB4bm9uZSA7IHRo
ZW4KLS0gICAgICBpZiB0ZXN0IHgiJGdwZ19lcnJvcl9jb25maWdfaG9zdCIgIT0geCIkaG9zdCIg
OyB0aGVuCi0tICBBQ19NU0dfV0FSTihbWwotLSoqKgotLSoqKiBUaGUgY29uZmlnIHNjcmlwdCAk
R1BHX0VSUk9SX0NPTkZJRyB3YXMKLS0qKiogYnVpbHQgZm9yICRncGdfZXJyb3JfY29uZmlnX2hv
c3QgYW5kIHRodXMgbWF5IG5vdCBtYXRjaCB0aGUKLS0qKiogdXNlZCBob3N0ICRob3N0LgotLSoq
KiBZb3UgbWF5IHdhbnQgdG8gdXNlIHRoZSBjb25maWd1cmUgb3B0aW9uIC0td2l0aC1ncGctZXJy
b3ItcHJlZml4Ci0tKioqIHRvIHNwZWNpZnkgYSBtYXRjaGluZyBjb25maWcgc2NyaXB0IG9yIHVz
ZSBcJFNZU1JPT1QuCi0tKioqXV0pCi0tICAgICAgICBncGdfY29uZmlnX3NjcmlwdF93YXJuPSIk
Z3BnX2NvbmZpZ19zY3JpcHRfd2FybiBsaWJncGctZXJyb3IiCi0tICAgICAgZmkKLS0gICAgZmkK
LS0gIGVsc2UKLS0gICAgR1BHX0VSUk9SX0NGTEFHUz0iIgotLSAgICBHUEdfRVJST1JfTElCUz0i
IgotLSAgICBHUEdfRVJST1JfTVRfQ0ZMQUdTPSIiCi0tICAgIEdQR19FUlJPUl9NVF9MSUJTPSIi
Ci0tICAgIEFDX01TR19SRVNVTFQobm8pCi0tICAgIGlmZWxzZShbJDNdLCAsIDosIFskM10pCi0t
ICBmaQotLSAgQUNfU1VCU1QoR1BHX0VSUk9SX0NGTEFHUykKLS0gIEFDX1NVQlNUKEdQR19FUlJP
Ul9MSUJTKQotLSAgQUNfU1VCU1QoR1BHX0VSUk9SX01UX0NGTEFHUykKLS0gIEFDX1NVQlNUKEdQ
R19FUlJPUl9NVF9MSUJTKQotKyAgICBHUEdfRVJST1JfTVRfQ0ZMQUdTPSIkR1BHX0VSUk9SX0NG
TEFHUyIKLSsgICAgR1BHX0VSUk9SX01UX0xJQlM9Ii1scHRocmVhZCAkR1BHX0VSUk9SX0xJQlMi
Ci0rCi0rICAgIEFDX1NVQlNUKEdQR19FUlJPUl9DRkxBR1MpCi0rICAgIEFDX1NVQlNUKEdQR19F
UlJPUl9MSUJTKQotKyAgICBBQ19TVUJTVChHUEdfRVJST1JfTVRfQ0ZMQUdTKQotKyAgICBBQ19T
VUJTVChHUEdfRVJST1JfTVRfTElCUykKLSsgIF0sIFsKLSsgICAgQUNfTVNHX0VSUk9SKFskR1BH
X0VSUk9SX0VSUk9SU10pCi0rICBdKQotIF0pCi0tLSAKLTIuMTguMAotCmRpZmYgLS1naXQgYS9U
b29scy9mbGF0cGFrL3BhdGNoZXMveHZmYi0wMDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEta2Jt
LWZpbGUucGF0Y2ggYi9Ub29scy9mbGF0cGFrL3BhdGNoZXMveHZmYi0wMDAxLUhBQ0stQXZvaWQt
Y29tcGlsaW5nLWEta2JtLWZpbGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDg5ODg0MmIzODFkMjUxNDBmYmMwOGY1NGE5NzIzMGE2ZGJlNGE0NTAuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9wYXRjaGVzL3h2
ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1maWxlLnBhdGNoCisrKyAvZGV2L251
bGwKQEAgLTEsNTAgKzAsMCBAQAotRnJvbSBhZWQxYjZlOGRlNDEzNzVjMWI4YjFkZmM0OGEzNTBl
MGE5YjljYmJhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGhpYmF1bHQgU2F1bmll
ciA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KLURhdGU6IE1vbiwgMTEgSnVuIDIwMTggMTA6NTU6NDMg
LTA0MDAKLVN1YmplY3Q6IFtQQVRDSCB4c2VydmVyXSBIQUNLOiBBdm9pZCBjb21waWxpbmcgYSBr
Ym0gZmlsZQotCi1UaGlzIHdvdWxkIG5lZWQgdG8gYmUgaW4gL3Vzci9zaGFyZS9YMTEvIGFzIHRo
aXMgaXMgd2hlcmUKLXJlc291cmNlIGZpbGVzIGFyZSBpbiB0aGUgc2FuZGJveCBidXQgaXQgaXMg
cmVhZCBvbmx5IGluIHRoZXJlLgotCi1IYWNrIGFyb3VuZCB0aGF0LgotLS0tCi0geGtiL2RkeExv
YWQuYyB8IDkgKy0tLS0tLS0tCi0geGtiL3hrYkluaXQuYyB8IDIgKy0KLSAyIGZpbGVzIGNoYW5n
ZWQsIDIgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3hrYi9k
ZHhMb2FkLmMgYi94a2IvZGR4TG9hZC5jCi1pbmRleCBiYmUzOTUyLi5hNGEwM2ExIDEwMDY0NAot
LS0tIGEveGtiL2RkeExvYWQuYwotKysrIGIveGtiL2RkeExvYWQuYwotQEAgLTE0OCwxNCArMTQ4
LDcgQEAgUnVuWGtiQ29tcCh4a2Jjb21wX2J1ZmZlcl9jYWxsYmFjayBjYWxsYmFjaywgdm9pZCAq
dXNlcmRhdGEpCi0gICAgICAgICB9Ci0gICAgIH0KLSAKLS0gICAgaWYgKGFzcHJpbnRmKCZidWYs
Ci0tICAgICAgICAgICAgICAgICAiXCIlcyVzeGtiY29tcFwiIC13ICVkICVzIC14a20gXCIlc1wi
ICIKLS0gICAgICAgICAgICAgICAgICItZW0xICVzIC1lbXAgJXMgLWVtbCAlcyBcIiVzJXMueGtt
XCIiLAotLSAgICAgICAgICAgICAgICAgeGtiYmluZGlyLCB4a2JiaW5kaXJzZXAsCi0tICAgICAg
ICAgICAgICAgICAoKHhrYkRlYnVnRmxhZ3MgPCAyKSA/IDEgOgotLSAgICAgICAgICAgICAgICAg
ICgoeGtiRGVidWdGbGFncyA+IDEwKSA/IDEwIDogKGludCkgeGtiRGVidWdGbGFncykpLAotLSAg
ICAgICAgICAgICAgICAgeGtiYmFzZWRpcmZsYWcgPyB4a2JiYXNlZGlyZmxhZyA6ICIiLCB4a21m
aWxlLAotLSAgICAgICAgICAgICAgICAgUFJFX0VSUk9SX01TRywgRVJST1JfUFJFRklYLCBQT1NU
X0VSUk9SX01TRzEsCi0rICAgIGlmIChhc3ByaW50ZigmYnVmLCAiY3AgL2FwcC93ZWJraXQvVG9v
bHMvZmxhdHBhay9maWxlcy9kZWZhdWx0LnhrbSBcIiVzJXMueGttXCIiLAotICAgICAgICAgICAg
ICAgICAgeGttX291dHB1dF9kaXIsIGtleW1hcCkgPT0gLTEpCi0gICAgICAgICBidWYgPSBOVUxM
OwotIAotZGlmZiAtLWdpdCBhL3hrYi94a2JJbml0LmMgYi94a2IveGtiSW5pdC5jCi1pbmRleCA5
Yzc3MmY1Li40ZTBiNzc0IDEwMDY0NAotLS0tIGEveGtiL3hrYkluaXQuYwotKysrIGIveGtiL3hr
YkluaXQuYwotQEAgLTg3LDcgKzg3LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX1NydlhrbUluZm8gewot
ICNkZWZpbmUJWEtCX0RGTFRfUlVMRVNfUFJPUAlUUlVFCi0gI2VuZGlmCi0gCi0tY29uc3QgY2hh
ciAqWGtiQmFzZURpcmVjdG9yeSA9IFhLQl9CQVNFX0RJUkVDVE9SWTsKLStjb25zdCBjaGFyICpY
a2JCYXNlRGlyZWN0b3J5ID0gIi91c3Ivc2hhcmUvWDExL3hrYi8iOwotIGNvbnN0IGNoYXIgKlhr
YkJpbkRpcmVjdG9yeSA9IFhLQl9CSU5fRElSRUNUT1JZOwotIHN0YXRpYyBpbnQgWGtiV2FudEFj
Y2Vzc1ggPSAwOwotIAotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvZ3RrL2luc3Rh
bGwtZGVwZW5kZW5jaWVzIGIvVG9vbHMvZ3RrL2luc3RhbGwtZGVwZW5kZW5jaWVzCmluZGV4IGM2
ZGM1MGNhMGU1ZmU3YjMwN2ZlNTY4ODk3NmMzYjMyODFhNGMyNjEuLmNhNWM3NzIwMjQ1YmRhZWQz
MzJkY2YwMWRjY2IzZDI4ZDBkYjBhYWEgMTAwNzU1Ci0tLSBhL1Rvb2xzL2d0ay9pbnN0YWxsLWRl
cGVuZGVuY2llcworKysgYi9Ub29scy9ndGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMKQEAgLTE3Niw2
ICsxNzYsMTAgQEAgZnVuY3Rpb24gaW5zdGFsbERlcGVuZGVuY2llc1dpdGhBcHQgewogICAgICAg
ICB3ZXN0b24gXAogICAgICAgICB4dmZiIgogCisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVz
IG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgd2l0aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2Fn
ZXM9IiRwYWNrYWdlcyBcCisgICAgICAgIGZsYXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBl
bmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB0aGUgamhidWlsZC4KICAgICBwYWNrYWdl
cz0iJHBhY2thZ2VzIFwKICAgICAgICAgYmlzb24gXApAQCAtMzQ0LDYgKzM0OCwxMCBAQCBmdW5j
dGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aFBhY21hbiB7CiAgICAgICAgIHdlc3RvbiBcCiAg
ICAgICAgIHhvcmctc2VydmVyLXh2ZmIiCiAKKyAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMg
bmVjZXNzYXJ5IGZvciBidWlsZGluZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAgICBwYWNrYWdl
cz0iJHBhY2thZ2VzIFwKKyAgICAgICAgZmxhdHBhayIKKwogICAgICMgVGhlc2UgYXJlIGRlcGVu
ZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAgICMgTm90ZTog
Q291bGQgbm90IGZpbmQgbGliZWdsLW1lc2EKICAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKQEAg
LTUxNiw2ICs1MjQsMTAgQEAgZnVuY3Rpb24gaW5zdGFsbERlcGVuZGVuY2llc1dpdGhEbmYgewog
ICAgICAgICB3ZXN0b24tZGV2ZWwgXAogICAgICAgICB4b3JnLXgxMS1zZXJ2ZXItWHZmYiIKIAor
ICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHdpdGgg
dGhlIEZsYXRwYWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAorICAgICAgICBmbGF0
cGFrIgorCiAgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRp
bmcgdGhlIGpoYnVpbGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCiAgICAgICAgIGJpc29u
IFwKZGlmZiAtLWdpdCBhL1Rvb2xzL3dwZS9pbnN0YWxsLWRlcGVuZGVuY2llcyBiL1Rvb2xzL3dw
ZS9pbnN0YWxsLWRlcGVuZGVuY2llcwppbmRleCAyN2Q5YzgxYWNmYWE0YWMyMjg0Y2U4ZTc3Njdm
YTU5Mjk3YzhmNGU4Li5iODNiNmQ2NDIwOGI2YzM3ZTBmNzk5ZGQ4Yjc3YzY1MWIyNmIwMDI1IDEw
MDc1NQotLS0gYS9Ub29scy93cGUvaW5zdGFsbC1kZXBlbmRlbmNpZXMKKysrIGIvVG9vbHMvd3Bl
L2luc3RhbGwtZGVwZW5kZW5jaWVzCkBAIC0xMTAsNiArMTEwLDEwIEBAIGZ1bmN0aW9uIGluc3Rh
bGxEZXBlbmRlbmNpZXNXaXRoQXB0IHsKICAgICAgICAgcnVieS1oaWdobGluZSBcCiAgICAgICAg
IHJ1YnktanNvbiIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9y
IGJ1aWxkaW5nIHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2FnZXMg
XAorICAgICAgICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vz
c2FyeSBmb3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBc
CiAgICAgICAgIGdpdCBcCkBAIC0yMTIsNiArMjE2LDEwIEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBl
bmRlbmNpZXNXaXRoUGFjbWFuIHsKICAgICAgICAgcHl0aG9uMi1wc3V0aWwgXAogICAgICAgICBy
dWJ5IgogCisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRp
bmcgd2l0aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCisgICAg
ICAgIGZsYXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZv
ciBidWlsZGluZyB0aGUgamhidWlsZC4KICAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKICAgICAg
ICAgZXhwYXQgXApAQCAtMzIzLDYgKzMzMSwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5j
aWVzV2l0aERuZiB7CiAgICAgICAgIHJ1YnlnZW0taGlnaGxpbmUgXAogICAgICAgICBydWJ5Z2Vt
LWpzb24iCiAKKyAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWls
ZGluZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAg
ICAgICAgZmxhdHBhayIKKwogICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3Nhcnkg
Zm9yIGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAogICAg
ICAgICBleHBhdC1kZXZlbCBcCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTc4MDM2NGIyNWQ3NjMxMjAzZTQzMTg3ZDcwYTYw
MWIxM2FiY2ZjMS4uN2YxODIxZmJkMmQ2ZTQ4MmU3MjgxNjZlYjYyYTY3YmY3ZmM2OWQ0NSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTAxLTA0ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1h
bmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIE1pZ3JhdGUgdG8gRmxhdHBhay1i
YXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGh0dHAvY29uZi9mbGF0cGFrLWh0dHBkLmNvbmY6IEFkanVzdCBwYXRocy4KKwogMjAy
MC0wMS0xNiAgQWxpY2lhIEJveWEgR2FyY8OtYSAgPGFib3lhQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgW01TRV0gRG9uJ3QgZW5xdWV1ZSBzYW1wbGVzIHRoYXQgc3RhcnQgYXQgYSBiaWcgZGlzY29u
dGludWl0eQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC9jb25mL2ZsYXRwYWstaHR0cGQu
Y29uZiBiL0xheW91dFRlc3RzL2h0dHAvY29uZi9mbGF0cGFrLWh0dHBkLmNvbmYKaW5kZXggM2Mw
M2U0MjM5YzI0OTg5ZDljZDc5Njg2MTQ0YmM3Y2UyYjMwYzMxYi4uYmY1MjE1ZDU4OWFkNjFmODgy
ZDUzYTA2NzVhZDY3YTQ0NmFiOTQzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC9jb25m
L2ZsYXRwYWstaHR0cGQuY29uZgorKysgYi9MYXlvdXRUZXN0cy9odHRwL2NvbmYvZmxhdHBhay1o
dHRwZC5jb25mCkBAIC0xLDUgKzEsNSBAQAogU2VydmVyVG9rZW5zIE9TCi1TZXJ2ZXJSb290ICIv
YXBwLyIKK1NlcnZlclJvb3QgIi91c3IvIgogCiBQaWRGaWxlICIvdG1wL1dlYktpdC9odHRwZC5w
aWQiCiBTY29yZUJvYXJkRmlsZSAiL3RtcC9XZWJLaXQvaHR0cGQuc2NvcmVib2FyZCIKQEAgLTMz
LDkgKzMzLDcgQEAgTG9hZE1vZHVsZSBsb2dfY29uZmlnX21vZHVsZSAgICBtb2R1bGVzL21vZF9s
b2dfY29uZmlnLnNvCiBMb2FkTW9kdWxlIHNzbF9tb2R1bGUgICAgICAgICAgIG1vZHVsZXMvbW9k
X3NzbC5zbwogTG9hZE1vZHVsZSBwaHA3X21vZHVsZSAgICAgICAgICBtb2R1bGVzL2xpYnBocDcu
c28KIExvYWRNb2R1bGUgYXNpc19tb2R1bGUgICAgICAgICAgbW9kdWxlcy9tb2RfYXNpcy5zbwot
TG9hZE1vZHVsZSBlbnZfbW9kdWxlICAgICAgICAgICBtb2R1bGVzL21vZF9lbnYuc28KIAotU2V0
RW52IFBFUkw1TElCIC9hcHAvbGliL3BlcmwKIAogU2VydmVyTmFtZSAxMjcuMC4wLjEKIApAQCAt
NTQsNyArNTIsNyBAQCBBY2Nlc3NGaWxlTmFtZSAuaHRhY2Nlc3MKIFVzZUNhbm9uaWNhbE5hbWUg
T24KIEhvc3RuYW1lTG9va3VwcyBPZmYKIAotVHlwZXNDb25maWcgL2V0Yy9taW1lLnR5cGVzCitU
eXBlc0NvbmZpZyAvdXNyL2NvbmYvbWltZS50eXBlcwogCiBMb2dMZXZlbCB3YXJuCiBMb2dGb3Jt
YXQgIiVoICVsICV1ICV0IFwiJXJcIiAlPnMgJWIgXCIle1JlZmVyZXJ9aVwiIFwiJXtVc2VyLUFn
ZW50fWlcIiIgY29tYmluZWQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389122</attachid>
            <date>2020-01-29 05:05:31 -0800</date>
            <delta_ts>2020-01-29 05:18:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205658-20200129140529.patch</filename>
            <type>text/plain</type>
            <size>124087</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTA2YTE1ZDMxN2E4MmU3
OTUxNjhmNDNiZTNiMWFmOTVjNDYxMGQ5Mi4uODBmZDQxZDhiYTAwNmUxODE3ZWNhNzcxZmJlNGU5
ZWI1ZDQ2YmYzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAxLTA0ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVd
IE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0
aW9uTGliSHlwaGVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNjYW5UZXN0RGljdGlvbmFyaWVz
RGlyZWN0b3J5SWZOZWNlc3NhcnkpOiBDaGVjayBmb3IgZmxhdHBhay1pbnN0YWxsZWQgZGljdGlv
bmFyaWVzLgorCiAyMDIwLTAxLTI5ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBCbG9iIG1lZGlhIGxvYWRpbmcgZG9lcyBub3Qgd29yayB3aXRoIEdQVVByb2Nl
c3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhl
bmF0aW9uTGliSHlwaGVuLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVu
L0h5cGhlbmF0aW9uTGliSHlwaGVuLmNwcAppbmRleCAxMmJhYTRjNGQzZTllNjNmN2ZmODFjNWUy
YjExOTRiOGJiOGE5YzA1Li5mMzM1OWQ4MDcwMjJmNTQ4OWM2OGY5YWNmODE2YTY3MDQyYTUzZDYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2h5cGhlbi9IeXBoZW5h
dGlvbkxpYkh5cGhlbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9oeXBo
ZW4vSHlwaGVuYXRpb25MaWJIeXBoZW4uY3BwCkBAIC0xMjEsOCArMTIxLDE1IEBAIHN0YXRpYyB2
b2lkIHNjYW5UZXN0RGljdGlvbmFyaWVzRGlyZWN0b3J5SWZOZWNlc3NhcnkoSGFzaE1hcDxBdG9t
U3RyaW5nLCBWZWN0b3I8CiAgICAgLy8gbGliaHlwaGVuIGRvZXNuJ3QgaGF2ZSB0aGUgY29uY2Vw
dCBvZiBpbnN0YWxsZWQgZGljdGlvbmFyaWVzLiBJbnN0ZWFkLAogICAgIC8vIHdlIGhhdmUgdGhp
cyBzcGVjaWFsIGNhc2UgZm9yIFdlYktpdCB0ZXN0cy4KICNpZiBQTEFURk9STShHVEspCisgICAg
Ly8gVHJ5IGFsdGVybmF0aXZlIGRpY3Rpb25hcmllcyBwYXRoIGZvciBwZW9wbGUgdXNpbmcgRmxh
dHBhay4KKyAgICBHVW5pcXVlUHRyPGNoYXI+IGRpY3Rpb25hcmllc1BhdGgoZ19idWlsZF9maWxl
bmFtZSgiL3VzciIsICJzaGFyZSIsICJ3ZWJraXRndGstdGVzdC1kaWN0cyIsIG51bGxwdHIpKTsK
KyAgICBpZiAoZ19nZXRlbnYoIkZMQVRQQUtfSUQiKSAmJiBnX2ZpbGVfdGVzdChkaWN0aW9uYXJp
ZXNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNUX0lTX0RJUikp
KSB7CisgICAgICAgIHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJpZXMoZGljdGlvbmFyaWVzUGF0
aC5nZXQoKSwgYXZhaWxhYmxlTG9jYWxlcyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAg
ICBDU3RyaW5nIGJ1aWxkRGlyZWN0b3J5ID0gd2Via2l0QnVpbGREaXJlY3RvcnkoKTsKLSAgICBH
VW5pcXVlUHRyPGNoYXI+IGRpY3Rpb25hcmllc1BhdGgoZ19idWlsZF9maWxlbmFtZShidWlsZERp
cmVjdG9yeS5kYXRhKCksICJEZXBlbmRlbmNpZXNHVEsiLCAiUm9vdCIsICJ3ZWJraXRndGstdGVz
dC1kaWN0cyIsIG51bGxwdHIpKTsKKyAgICBkaWN0aW9uYXJpZXNQYXRoLnJlc2V0KGdfYnVpbGRf
ZmlsZW5hbWUoYnVpbGREaXJlY3RvcnkuZGF0YSgpLCAiRGVwZW5kZW5jaWVzR1RLIiwgIlJvb3Qi
LCAid2Via2l0Z3RrLXRlc3QtZGljdHMiLCBudWxscHRyKSk7CiAgICAgaWYgKGdfZmlsZV90ZXN0
KGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RF
U1RfSVNfRElSKSkpIHsKICAgICAgICAgc2NhbkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0
aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFpbGFibGVMb2NhbGVzKTsKICAgICAgICAgcmV0dXJuOwpA
QCAtMTMwLDcgKzEzNyw5IEBAIHN0YXRpYyB2b2lkIHNjYW5UZXN0RGljdGlvbmFyaWVzRGlyZWN0
b3J5SWZOZWNlc3NhcnkoSGFzaE1hcDxBdG9tU3RyaW5nLCBWZWN0b3I8CiAKICAgICAvLyBUcnkg
YWx0ZXJuYXRpdmUgZGljdGlvbmFyaWVzIHBhdGggZm9yIHBlb3BsZSBub3QgdXNpbmcgSkhCdWls
ZC4KICAgICBkaWN0aW9uYXJpZXNQYXRoLnJlc2V0KGdfYnVpbGRfZmlsZW5hbWUoYnVpbGREaXJl
Y3RvcnkuZGF0YSgpLCAid2Via2l0Z3RrLXRlc3QtZGljdHMiLCBudWxscHRyKSk7Ci0gICAgc2Nh
bkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFpbGFi
bGVMb2NhbGVzKTsKKyAgICBpZiAoZ19maWxlX3Rlc3QoZGljdGlvbmFyaWVzUGF0aC5nZXQoKSwg
c3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9JU19ESVIpKSkKKyAgICAgICAgc2Nh
bkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFpbGFi
bGVMb2NhbGVzKTsKKwogI2VsaWYgZGVmaW5lZChURVNUX0hZUEhFTkFUQUlPTl9QQVRIKQogICAg
IHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJpZXMoVEVTVF9IWVBIRU5BVEFJT05fUEFUSCwgYXZh
aWxhYmxlTG9jYWxlcyk7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDgzOGQ4ZWJiMGUwNGZmNzAxZDI3NDU4MDhhN2ViYThkMmRkMDc3
OWQuLmExZWNhZGE2ZjBjMTZmN2RmZjllZjBiMDc2YWJiZjQ0MDFjYmYxODYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMTUgQEAK
KzIwMjAtMDEtMDQgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtHVEtdW1dQRV0gTWlncmF0ZSB0byBGbGF0cGFrLWJhc2VkIGRldiBTREsKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTY1OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEpIQnVpbGQgd2lsbCBu
b3cgYmUgdXNlZCBvbmx5IGlmIHRoZSBXRUJLSVRfSkhCVUlMRCBlbnZpcm9ubWVudAorICAgICAg
ICB2YXJpYWJsZSBpcyBzZXQgdG8gMSwgd2hpY2ggaXMgdGhlIGNhc2UgZm9yIHRoZSB0aW1lIGJl
aW5nIG9uIHRoZQorICAgICAgICBHVEsgYW5kIFdQRSBFV1MvYnVpbGQgYm90cy4KKworICAgICAg
ICBCeSBkZWZhdWx0IHRoZSBidWlsZCBkZXBlbmRlbmNpZXMgYXJlIG5vdyBsb2NhbGx5IGluc3Rh
bGxlZCBmcm9tIGEKKyAgICAgICAgRmxhdHBhayByZXBvc2l0b3J5IGhvc3RlZCBhdCBodHRwczov
L3NvZnR3YXJlLmlnYWxpYS5jb20uIFRoZQorICAgICAgICByZXBvc2l0b3J5IGNhbiBiZSByZWdl
bmVyYXRlZCB3aXRoIHRoZSBzY3JpcHRzIGZyb20gdGhlCisgICAgICAgIHdlYmtpdC1mbGF0cGFr
LXNkayBHaXRodWIgcHJvamVjdAorICAgICAgICAoaHR0cHM6Ly9naXRodWIuY29tL0lnYWxpYS93
ZWJraXQtZmxhdHBhay1zZGspLiBUaGlzIGlzIGRvbmUKKyAgICAgICAgdHJhbnNwYXJlbnRseSB3
aXRoIHRoZSB1cGRhdGUtd2Via2l0e2d0ayx3cGV9LWxpYnMgc2NyaXB0cy4gQXMKKyAgICAgICAg
dGhlcmUgaXMgbm8gbmVlZCB0byByZWJ1aWxkIHRoZSBkZXBlbmRlbmNpZXMgZnJvbSBzY3JhdGNo
LCB0aGUKKyAgICAgICAgZGV2ZWxvcGVyIHVzZXItZXhwZXJpZW5jZSBzaG91bGQgbm93IGJlIG11
Y2ggbW9yZSBmcmllbmRseSBhbmQKKyAgICAgICAgb3ZlcmFsbCBidWlsZCB0aW1lcyByZWR1Y2Vk
LgorCisgICAgICAgIEFzIGFuIGFkZGl0aW9uYWwgY29tbW9kaXR5LCB0aGUgbmV3IGVudmlyb25t
ZW50IHN1cHBvcnRzIHRoZQorICAgICAgICBHU3RyZWFtZXIgZ3N0LWJ1aWxkLWJhc2VkIHdvcmtm
bG93LiBKdXN0IHNldCB0aGUgR1NUX0JVSUxEX1BBVEgKKyAgICAgICAgZW52aXJvbm1lbnQgdmFy
aWFibGUgdG8geW91ciBnc3QtYnVpbGQgcGF0aC4gVGhpcyBmZWF0dXJlIHdhcworICAgICAgICBj
b250cmlidXRlZCBieSBUaGliYXVsdCBTYXVuaWVyLgorCisgICAgICAgIFRoZSBKSEJ1aWxkIGlu
ZnJhc3RydWN0dXJlIHdpbGwgYmUgcmVtb3ZlZCBvbmNlIGFsbCB0aGUgYm90cyBoYXZlCisgICAg
ICAgIGJlZW4gc3dpdGNoZWQgb3ZlciB0byBGbGF0cGFrLgorCisgICAgICAgICogQnVpbGRTbGF2
ZVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5OgorICAgICAgICAoSW5zdGFsbEd0a0RlcGVuZGVu
Y2llcyk6CisgICAgICAgIChJbnN0YWxsV3BlRGVwZW5kZW5jaWVzKToKKyAgICAgICAgKENvbXBp
bGVXZWJLaXQuc3RhcnQpOgorICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWlsZGJv
dC9ydW46CisgICAgICAgICogU2NyaXB0cy9idWlsZC13ZWJraXQ6CisgICAgICAgICogU2NyaXB0
cy9ydW4tYmluZGluZ3MtdGVzdHM6CisgICAgICAgICogU2NyaXB0cy9ydW4tYnVpbHRpbnMtZ2Vu
ZXJhdG9yLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVuLWd0ay10ZXN0czoKKyAgICAgICAg
KiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3J1
bi1taW5pYnJvd3NlcjoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXI6
CisgICAgICAgICogU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzOgorICAgICAgICAqIFNjcmlw
dHMvcnVuLXdwZS10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3Rlc3Qtd2Via2l0cGVybDoKKyAg
ICAgICAgKiBTY3JpcHRzL3Rlc3Qtd2Via2l0cHk6CisgICAgICAgICogU2NyaXB0cy90ZXN0MjYy
LXJ1bm5lcjoKKyAgICAgICAgKiBTY3JpcHRzL3VwZGF0ZS13ZWJraXQtZmxhdHBhazogUmVuYW1l
ZCBmcm9tIFRvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrLgorICAgICAgICAq
IFNjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1saWJzOgorICAgICAgICAqIFNjcmlwdHMvdXBkYXRl
LXdlYmtpdHdwZS1mbGF0cGFrOiBSZW1vdmVkLgorICAgICAgICAqIFNjcmlwdHMvdXBkYXRlLXdl
YmtpdHdwZS1saWJzOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0ZGlycy5wbToKKyAgICAgICAg
KGdldFVzZXJGbGF0cGFrUGF0aCk6CisgICAgICAgIChpbkZsYXRwYWtTYW5kYm94KToKKyAgICAg
ICAgKHJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKToKKyAgICAgICAgKHdyYXBwZXJQcmVmaXhJZk5l
ZWRlZCk6CisgICAgICAgIChzaG91bGRVc2VKaGJ1aWxkKToKKyAgICAgICAgKHNob3VsZFVzZUZs
YXRwYWspOgorICAgICAgICAoc2hvdWxkUmVtb3ZlQ01ha2VDYWNoZSk6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZS5weToKKyAgICAgICAgKEV4ZWN1
dGl2ZS5raWxsX2FsbCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHk6
CisgICAgICAgIChQb3J0Ll9wYXRoX3RvX2FwYWNoZSk6CisgICAgICAgIChQb3J0Ll9zaG91bGRf
cnVuX2FzX3BpeGVsX3Rlc3QpOgorICAgICAgICAoUG9ydC5faW5fZmxhdHBha19zYW5kYm94KToK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5OgorICAgICAgICAoR3RrUG9y
dC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIpOgorICAgICAgICAoR3RrUG9ydC5fZ2V0X2NyYXNo
X2xvZyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9s
b2cucHk6CisgICAgICAgIChHREJDcmFzaExvZ0dlbmVyYXRvcik6CisgICAgICAgIChHREJDcmFz
aExvZ0dlbmVyYXRvci5fX2luaXRfXyk6CisgICAgICAgIChHREJDcmFzaExvZ0dlbmVyYXRvci5n
ZW5lcmF0ZV9jcmFzaF9sb2cpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51
eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5OgorICAgICAgICAoR0RCQ3Jhc2hMb2dHZW5lcmF0
b3JUZXN0LnRlc3RfZ2VuZXJhdGVfY3Jhc2hfbG9nKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3BvcnQvd3BlLnB5OgorICAgICAgICAoV1BFUG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2
ZXIpOgorICAgICAgICAoV1BFUG9ydC5fZ2V0X2NyYXNoX2xvZyk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXIucHk6CisgICAgICAgIChYdmZiRHJpdmVyLl9zZXR1
cF9lbnZpcm9uX2Zvcl90ZXN0KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcDoKKyAgICAgICAgKFdUUjo6Z2V0Rm9udHNQ
YXRoKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dwZS9BY3Rp
dmF0ZUZvbnRzV1BFLmNwcDoKKyAgICAgICAgKFdUUjo6Z2V0Rm9udHNQYXRoKToKKyAgICAgICAg
KiBmbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsv
ZmlsZXMvaHR0cGQtYXV0b2dlbi5zaDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL2ZsYXRw
YWt1dGlscy5weToKKyAgICAgICAgKGNoZWNrX2ZsYXRwYWspOgorICAgICAgICAoRmxhdHBha1Jl
cG9zLnVwZGF0ZSk6CisgICAgICAgIChGbGF0cGFrUGFja2FnZS5fX3JlcHJfXyk6CisgICAgICAg
IChGbGF0cGFrUGFja2FnZS5fX3N0cl9fKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsubG9hZF9m
cm9tX2FyZ3MpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5fX2luaXRfXyk6CisgICAgICAgIChX
ZWJraXRGbGF0cGFrLmNsZWFuX2FyZ3MpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5zZXR1cF9i
dWlsZGRpcik6CisgICAgICAgIChXZWJraXRGbGF0cGFrKToKKyAgICAgICAgKFdlYmtpdEZsYXRw
YWsuc2V0dXBfZ3N0YnVpbGQpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5ydW5faW5fc2FuZGJv
eCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnJ1bik6CisgICAgICAgIChXZWJraXRGbGF0cGFr
Lmhhc19lbnZpcm9ubWVudCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnNhdmVfY29uZmlnKToK
KyAgICAgICAgKFdlYmtpdEZsYXRwYWsuc2V0dXBfZGV2X2Vudik6CisgICAgICAgIChXZWJraXRG
bGF0cGFrLmluc3RhbGxfYWxsKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsucnVuX2dkYik6Cisg
ICAgICAgICogZmxhdHBhay9vcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmbGF0cGFrL29yZy53ZWJraXQuR1RLLnlhbWw6IFJlbW92ZWQuCisgICAgICAg
ICogZmxhdHBhay9vcmcud2Via2l0LldQRS55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRw
YWsvb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBh
ay9vcmcud2Via2l0LldQRVFULnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9vcmcu
d2Via2l0LldlYktpdC55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsvcGF0Y2hlcy9o
dHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1kZXRlY3Rpb24ucGF0
Y2g6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVz
ZS1wa2ctY29uZmlnLXRvLWRldGVjdC1ncGctZXJyb3IucGF0Y2g6IFJlbW92ZWQuCisgICAgICAg
ICogZmxhdHBhay9wYXRjaGVzL3h2ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1m
aWxlLnBhdGNoOiBSZW1vdmVkLgorCiAyMDIwLTAxLTI4ICBUaW0gSG9ydG9uICA8dGltb3RoeV9o
b3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIG1hY0NhdGFseXN0OiBSaWdodCBjbGlja2luZyBv
biBhIGxpbmsgZm9sbG93cyBpdCBpbW1lZGlhdGVseQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRT
bGF2ZVN1cHBvcnQvZ3RrL1JFQURNRSBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9SRUFE
TUUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5Zjg5Zjk4MjFhZWVhMjBlZGI3Y2Vk
YmNhYmZiNzdmMzgwYmQyYzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL1JFQURNRQorKysgL2Rldi9udWxs
CkBAIC0xLDQ4ICswLDAgQEAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLSBSdW5uaW5nIGEgR1RLKyBidWlsZCBzbGF2ZSB1bmRlciBkYWVtb250b29scwot
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi1UaGlzIGRp
cmVjdG9yeSBjb250YWlucyBzZXZlcmFsIHNjcmlwdHMgd2hpY2ggY2FuIGJlIHVzZWQgdG8gcnVu
IGEgV2ViS2l0R1RLCi1idWlsZCBzbGF2ZSB1bmRlciBkYWVtb250b29scyBbMV0uIFRoaXMgaXMg
Y29udmVuaWVudCBiZWNhdXNlIGRhZW1vbnRvb2xzCi13aWxsIGF1dG9tYXRpY2FsbHkgcmVzdGFy
dCBzZXJ2aWNlcyB3aGVuIHRoZXkgZGllLCBhbmQgdGhhdCBtZWFucyBsZXNzIGh1bWFuCi1pbnRl
cnZlbnRpb24gaXMgbmVlZGVkLgotCi0KLURlcGVuZGVuY2llcwotPT09PT09PT09PT09Ci0KLUlu
IG9yZGVyIHRvIHVzZSB0aGUgcHJvdmlkZWQgc2VydmljZSBjb250cm9sIGZpbGVzLCB5b3Ugd2ls
bCBuZWVkIHRoZQotZm9sbG93aW5nOgotCi0qIFRoZSBHTlUgQmFzaCBzaGVsbCAodGhlIHNjcmlw
dHMgY29udGFpbiBzb21lIGJhc2gtaXNtcykKLQotKiBUaGUgZGFlbW9udG9vbHMgcGFja2FnZSAo
b3Igb25lIG9mIGl0cyBkcm9wLWluIHJlcGxhY2VtZW50cywgbGlrZSBydW5pdAotICBvciBmcmVl
ZHQ7IGJ1dCBvbmx5IGRhZW1vbnRvb2xzIGhhcyBiZWVuIHRlc3RlZCBzbyBmYXIpLgotCi1JbiBz
aG9ydCwgaW4gYSBEZWJpYW4tYmFzZWQgc3lzdGVtIHlvdSBjYW4gZW5zdXJlIHlvdSBoYXZlIHRo
ZSBuZWVkZWQgYml0cwotd2l0aCB0aGUgZm9sbG93aW5nIGNvbW1hbmQ6Ci0KLSAgYXB0LWdldCBp
bnN0YWxsIGRhZW1vbnRvb2xzLXJ1bgotCi0KLVNldHVwCi09PT09PQotCi0xLiBGb2xsb3cgdGhl
IGluc3RydWN0aW9ucyBhdCBodHRwOi8vdHJhYy53ZWJraXQub3JnL3dpa2kvQnVpbGRCb3QKLQot
Mi4gSW5zdGFsbCB0aGUgZGVwZW5kZW5jaWVzIG91dGxpbmVkIGFib3ZlLgotCi0zLiBDb3B5ICJk
YWVtb250b29scy1idWlsZGJvdC5jb25mIiB0byAiL2V0Yy9kYWVtb250b29scy1idWlsZGJvdC5j
b25mIgotCi00LiBFZGl0IHRoZSBjb25maWd1cmF0aW9uIGZpbGUgdG8gc3VpdCB5b3VyIG5lZWRz
LCB0aGUgY29tbWVudHMgc2hvdWxkCi0gICBiZSBzZWxmLWV4cGxhbmF0b3J5LgotCi01LiBEcm9w
IHRoZSAiYnVpbGRib3QiIGFuZCAicHVsc2VhdWRpbyIgZGlyZWN0b3JpZXMgdG8gdGhlIHNlcnZp
Y2UgY29udHJvbCBkaXJlY3Rvcnkgb2YKLSAgIGRhZW1vbnRvb2xzOyBmb3IgRGViaWFuLWJhc2Vk
IHNldHVwcyB0aGF0IHdvdWxkIGJlICIvZXRjL3NlcnZpY2UiCi0KLQotUmVmZXJlbmNlcwotPT09
PT09PT09PQotCi1bMV0gaHR0cDovL2NyLnlwLnRvL2RhZW1vbnRvb2xzLmh0bWwKLQpkaWZmIC0t
Z2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L2xvZy9ydW4gYi9Ub29s
cy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvbG9nL3J1bgpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA3NTUKaW5kZXggZjZjNzQ0YzZkZGE0NWNiZTJiNWQwZmE4YzRmMjViYWI1MWY2YTRkZC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvbG9nL3J1bgorKysgL2Rldi9udWxsCkBAIC0xLDM4
ICswLDAgQEAKLSMhIC91c3IvYmluL2VudiBiYXNoCi0jCi0jIENvcHlyaWdodCAoQykgMjAxMCBJ
Z2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0jIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgot
IyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bwotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KLQotOiAke0JVSUxEQk9UX0NPTkZJRzo9L2V0Yy9kYWVtb250b29scy1idWlsZGJv
dC5jb25mfQotCi0jIFJlYWQgY29uZmlndXJhdGlvbiBmaWxlCi1bIC1yICIke0JVSUxEQk9UX0NP
TkZJR30iIF0gJiYgLiAiJHtCVUlMREJPVF9DT05GSUd9IgotCi06ICR7YnVpbGRib3RfdXNlcjo9
JHtIT01FfX0KLTogJHtidWlsZGJvdF9sb2dfcGF0aDo9L3Zhci9sb2cvYnVpbGRib3R9Ci0KLSMg
RXhwYW5kIGFsbCAiZW52XyoiIGVudmlyb25tZW50IHZhcmlhYmxlcwotZm9yIHZhcm5hbWUgaW4g
JHshZW52Xyp9IDsgZG8KLQlldmFsICJleHBvcnQgJHt2YXJuYW1lI2Vudl99PVwkeyR7dmFybmFt
ZX19IgotZG9uZQotCi1ta2RpciAtcCAiJHtidWlsZGJvdF9sb2dfcGF0aH0iCi1jaG93biAiJHti
dWlsZGJvdF91c2VyfSIgIiR7YnVpbGRib3RfbG9nX3BhdGh9IgotCi1leGVjIC91c3IvYmluL3Nl
dHVpZGdpZCAiJHtidWlsZGJvdF91c2VyfSIgXAotICAgICAvdXNyL2Jpbi9tdWx0aWxvZyB0ICIk
e2J1aWxkYm90X2xvZ19wYXRofSIKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBv
cnQvZ3RrL2J1aWxkYm90L3J1biBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWlsZGJv
dC9ydW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDE2NmMzODNlYThlNmMxMGZjYzA1
ZWYwN2VkNGY0ODg5YmJiYjllYWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L3J1bgorKysg
L2Rldi9udWxsCkBAIC0xLDc3ICswLDAgQEAKLSMhIC91c3IvYmluL2VudiBiYXNoCi0jCi0jIENv
cHlyaWdodCAoQykgMjAxMCBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCi0jIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgotIyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotIyBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
LSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotIyB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIyBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLQotZXhlYyAyPiYxCi0KLTogJHtCVUlMREJPVF9D
T05GSUc6PS9ldGMvZGFlbW9udG9vbHMtYnVpbGRib3QuY29uZn0KLQotIyBSZWFkIGNvbmZpZ3Vy
YXRpb24gZmlsZQotWyAtciAiJHtCVUlMREJPVF9DT05GSUd9IiBdICYmIC4gIiR7QlVJTERCT1Rf
Q09ORklHfSIKLQotIyBFeHBhbmQgYWxsICJlbnZfKiIgZW52aXJvbm1lbnQgdmFyaWFibGVzCi1m
b3IgdmFybmFtZSBpbiAkeyFlbnZfKn0gOyBkbwotCWV2YWwgImV4cG9ydCAke3Zhcm5hbWUjZW52
X309XCR7JHt2YXJuYW1lfX0iCi1kb25lCi0KLQotaWYgISBbICIke2J1aWxkYm90X3BhdGh9IiBd
IDsgdGhlbgotCWVjaG8gIk5vIFwke2J1aWxkYm90X3BhdGh9IGRlZmluZWQhICh3aWxsIHNsZWVw
IGZvciA1IG1pbnV0ZXMpIgotCXNsZWVwIDMwMAotCWV4aXQgMTExCi1maQotCi0KLWlmICEgWyAi
JHtXRUJLSVRfVEVTVEZPTlRTfSIgXSA7IHRoZW4KLQllY2hvICJObyBcJHtXRUJLSVRfVEVTVEZP
TlRTfSBlbnZpcm9ubWVudCB2YXJpYWJsZSEgKHdpbGwgc2xlZXAgZm9yIDUgbWludXRlcykiCi0J
c2xlZXAgMzAwCi0JZXhpdCAxMTEKLWZpCi0KLQotaWYgWyAiJHtjb3JlZHVtcF9vdXRwdXQ6PScn
fSIgXSA7IHRoZW4KLQkjIEVuc3VyZSB0aGF0IHRoZSBvdXRwdXQgZGlyZWN0b3J5IGV4aXN0cy4K
LQlpZiBbWyAhIC1kICR7Y3Jhc2htb25fb3V0cHV0fSBdXSA7IHRoZW4KLQkJbWtkaXIgLXAgIiR7
Y3Jhc2htb25fb3V0cHV0fSIKLQlmaQotCi0JdWxpbWl0IC1jICIke2NyYXNobW9uX21heF9zaXpl
Oj11bmxpbWl0ZWR9IgotZmkKLQotCi1pZiBbICIke2NjYWNoZV9wYXRofSIgXSA7IHRoZW4KLQll
eHBvcnQgUEFUSD0iJHtjY2FjaGVfcGF0aH06JHtQQVRIfSIKLWZpCi0KLTogJHtidWlsZGJvdF91
c2VyOj0ke1VTRVJ9fQotCi1jZCAiJHtidWlsZGJvdF9wYXRofSIKLWV4ZWMgL3Vzci9iaW4vZW52
IC0gICAgICAgICAgXAotCQlURVJNPWR1bWIgICAgICAgICAgICAgICAgIFwKLQkJVFo9UFNUOFBE
VCAgICAgICAgICAgICAgICAgXAotCQlQQVRIPSIke1BBVEh9IiAgICAgICAgICAgICAgXAotCQlT
SEVMTD0vYmluL2Jhc2ggICAgICAgICAgICAgIFwKLQkJTEFORz1lbl9VUy5VVEYtOCAgICAgICAg
ICAgICAgXAotCQlVU0VSPSIke2J1aWxkYm90X3VzZXJ9IiAgICAgICAgXAotCQlMT0dOQU1FPSIk
e2J1aWxkYm90X3VzZXJ9IiAgICAgIFwKLQkJSE9NRT0iL2hvbWUvJHtidWlsZGJvdF91c2VyfSIg
ICAgXAotCQlESVNQTEFZPSIke3h2ZmJfZGlzcGxheTotJzoxMCd9IiAgXAotCQlNQUlMPSIvdmFy
L21haWwvJHtidWlsZGJvdF91c2VyfSIgIFwKLQkvdXNyL2Jpbi9zZXR1aWRnaWQgIiR7YnVpbGRi
b3RfdXNlcn0iIFwKLQkvdXNyL2Jpbi90d2lzdGQgLW5veSBidWlsZGJvdC50YWMKLQpkaWZmIC0t
Z2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNv
bmYgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvZGFlbW9udG9vbHMtYnVpbGRib3QuY29u
ZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDZhZjI5ZjdiMDYyNjgyMTZjZTRhMWYx
YWFlZThkNDYyMGQyNGRmZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvZGFlbW9udG9vbHMtYnVpbGRib3Qu
Y29uZgorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDEw
IElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
Ci0jIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCi0jIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgotCi0KLSMgUGF0aCB0byB0aGUgQnVpbGRib3Qgc2xhdmUgZGlyZWN0b3J5Ci0j
Ci1idWlsZGJvdF9wYXRoPSIvaG9tZS9zbGF2ZS93ZWJraXRndGsiCi0KLSMgVXNlciBhY2NvdW50
IHVzZWQgdG8gcnVuIEJ1aWxkYm90LgotIwotYnVpbGRib3RfdXNlcj0ic2xhdmUiCi0KLSMgUGF0
aCB0byBhIGRpcmVjdG9yeSB3aGVyZSB0byBsb2cgQnVpbGRib3Qgb3V0cHV0Ci0jCi1idWlsZGJv
dF9sb2dfcGF0aD0iL3Zhci9sb2cvYnVpbGRib3QiCi0KLQotIyBJZiB5b3Ugd2FudCB0byB1c2Ug
Y2NhY2hlLCBzZXQgYSBwYXRoIHRvIHdoZXJlIHN5bmxpbmtzIHdpdGggdG9vbAotIyBuYW1lcyBw
b2ludGluZyB0byBjY2FjaGUgYXJlIGluc3RhbGxlZC4gSW4gRGViaWFuIHN5c3RlbXMgdGhpcwot
IyB3b3VsZCBiZSAvdXNyL2xpYi9jY2FjaGUuIFNldCB0byBlbXB0eSB0byBkaXNhYmxlLgotIwot
Y2NhY2hlX3BhdGg9Ii91c3IvbGliL2NjYWNoZSIKLQotCi0jIEVudmlyb25tZW50IHZhcmlhYmxl
cy4gUHJlZml4IHRoZW0gd2l0aCAiZW52XyIuCi0jCi1lbnZfQ0ZMQUdTPSItcGlwZSIKLWVudl9D
WFhGTEFHUz0iLXBpcGUiCi1lbnZfTERGTEFHUz0iLW5vLWluc3RhbGwgLW5vLWZhc3QtaW5zdGFs
bCIKLWVudl9XRUJLSVRfVEVTVEZPTlRTPSIvaG9tZS8ke2J1aWxkYm90X3VzZXJ9L3Rlc3Rmb250
cyIKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL3B1bHNlYXVkaW8v
cnVuIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL3B1bHNlYXVkaW8vcnVuCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDc1NQppbmRleCA3YzExN2FkOWQyMDczOThkODZmMDI3MzhlNTkzMTg5NTkx
N2Q1Njc4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rv
b2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9wdWxzZWF1ZGlvL3J1bgorKysgL2Rldi9udWxsCkBA
IC0xLDI0ICswLDAgQEAKLSMhIC91c3IvYmluL2VudiBiYXNoCi0jCi0jIENvcHlyaWdodCAoQykg
MjAxMCBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0j
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgotIyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KLQotZXhlYyAyPiYxCi1leGVjIC91c3IvYmluL3B1bHNlYXVkaW8gLS1z
eXN0ZW0gXAotCS0tZGlzYWxsb3ctZXhpdCAtLWRpc2FsbG93LW1vZHVsZS1sb2FkaW5nIFwKLQkt
LWxvZy10YXJnZXQ9c3lzbG9nCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Vi
a2l0IGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKaW5kZXggZmMwNjY0YTY1MDU1NDZmNDI4
Yzc1MTRiOTY3NTExOWI3NWE2MjE0MC4uMDk5ZDMzYTRiOWI5Y2RmNDMyY2QxMDI2ZWE2YWFlMGNi
OTI1N2E3NyAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKKysrIGIvVG9v
bHMvU2NyaXB0cy9idWlsZC13ZWJraXQKQEAgLTUzLDggKzUzLDggQEAgc2V0Q29uZmlndXJhdGlv
bigpOwogCiBpZiAoc2hvdWxkVXNlRmxhdHBhaygpKSB7CiAgICAgcHJpbnQgIkJ1aWxkaW5nIGZs
YXRwYWsgYmFzZWQgZW52aXJvbm1lbnRcbiI7Ci0KLSAgICBydW5JbkZsYXRwYWsoIi9hcHAvd2Vi
a2l0L1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0Iik7CisgICAgbXkgQGNvbW1hbmQgPSAoRmls
ZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgIlNjcmlwdHMiLCAiYnVpbGQt
d2Via2l0IikpOworICAgIHJ1bkluRmxhdHBhayhAY29tbWFuZCk7CiB9CiAKIG15ICRvcmlnaW5h
bFdvcmtpbmdEaXJlY3RvcnkgPSBnZXRjd2QoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
cnVuLWJpbmRpbmdzLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMKaW5k
ZXggZjZlNDQ3NzI1MGY5ZTE5ZTM5NThlZmNiN2Q2ZTgxZTJhYzI4YzlhYi4uMGFjMGIzYTMxMDg4
YTEyMmUwOTk4ZWE0OTU2NWJmMjM4NzczOGE1MCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9y
dW4tYmluZGluZ3MtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMK
QEAgLTMzLDYgKzMzLDExIEBAIGltcG9ydCBvcwogaW1wb3J0IHN5cwogZnJvbSB3ZWJraXRweS5j
b21tb24uc3lzdGVtIGltcG9ydCBleGVjdXRpdmUKIAordG9wX2xldmVsX2RpcmVjdG9yeSA9IG9z
LnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICcu
LicsICcuLicpKQorc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxfZGly
ZWN0b3J5LCAnVG9vbHMnLCAnZmxhdHBhaycpKQoraW1wb3J0IGZsYXRwYWt1dGlscworZmxhdHBh
a3V0aWxzLnJ1bl9pbl9zYW5kYm94X2lmX2F2YWlsYWJsZShzeXMuYXJndikKKwogZGVmIG1haW4o
YXJndik6CiAgICAgIiIiUnVucyBXZWJDb3JlIGJpbmRpbmdzIGNvZGUgZ2VuZXJhdG9ycyBvbiB0
ZXN0IElETCBmaWxlcyBhbmQgY29tcGFyZXMKICAgICB0aGUgcmVzdWx0cyB3aXRoIHJlZmVyZW5j
ZSBmaWxlcy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRv
ci10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRvci10ZXN0cwppbmRl
eCAyMzk4Yzc4Y2ExMGVjNTk3NjI2NjEyYzg1NTUzYWJkMWE0ZTZmYmQ0Li5mYmIwODY0MjQxOTc0
ZWE2MDM1ZGE4OGIzNjc5YmM0M2MwMmM3ZTlkIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1
bi1idWlsdGlucy1nZW5lcmF0b3ItdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tYnVpbHRp
bnMtZ2VuZXJhdG9yLXRlc3RzCkBAIC0yNSw2ICsyNSwxMiBAQAogaW1wb3J0IHN5cwogZnJvbSB3
ZWJraXRweS5jb21tb24uc3lzdGVtIGltcG9ydCBleGVjdXRpdmUKIAoraW1wb3J0IG9zCit0b3Bf
bGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5k
aXJuYW1lKF9fZmlsZV9fKSwgJy4uJywgJy4uJykpCitzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0
aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICdUb29scycsICdmbGF0cGFrJykpCitpbXBvcnQg
ZmxhdHBha3V0aWxzCitmbGF0cGFrdXRpbHMucnVuX2luX3NhbmRib3hfaWZfYXZhaWxhYmxlKHN5
cy5hcmd2KQorCiBkZWYgbWFpbihhcmd2KToKICAgICAiIiJSdW5zIHRoZSBKUyBidWlsdGlucyBj
b2RlIGdlbmVyYXRvciBvbiB0ZXN0IGlucHV0IGZpbGVzIGFuZCBjb21wYXJlcwogICAgIHRoZSBy
ZXN1bHRzIHdpdGggcmVmZXJlbmNlIGZpbGVzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9y
dW4tZ3RrLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzCmluZGV4IDQxYjA1ZTJk
ZjRiMWU2ZDhmZTM4ZWEzYzU0OWI1MzM1ODRhNDI5N2UuLmQzOTc0OGY0YzNkOGZkZmNlZmYxYTIy
OTlhZGE0MmM4N2U2NWFhZTUgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWd0ay10ZXN0
cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMKQEAgLTEzMyw3ICsxMzMsNyBAQCBp
ZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIGlmIG5vdCBmbGF0cGFrdXRpbHMuaXNfc2Fu
ZGJveGVkKCkgYW5kIG5vdCBqaGJ1aWxkdXRpbHMuZW50ZXJfamhidWlsZF9lbnZpcm9ubWVudF9p
Zl9hdmFpbGFibGUoImd0ayIpOgogICAgICAgICBwcmludCAnKioqJwogICAgICAgICBwcmludCAn
KioqIFdhcm5pbmc6IGpoYnVpbGQgZW52aXJvbm1lbnQgbm90IHByZXNlbnQgYW5kIG5vdCBydW5u
aW5nIGluIGZsYXRwYWsuJwotICAgICAgICBwcmludCAnKioqIFJ1biB1cGRhdGUtd2Via2l0Z3Rr
LWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIGJlZm9yZSBidWlsZC13ZWJraXQgdG8g
ZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCisgICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13
ZWJraXRndGstbGlicyBvciB1cGRhdGUtd2Via2l0LWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtp
dCB0byBlbnN1cmUgcHJvcGVyIHRlc3RpbmcuLicKICAgICAgICAgcHJpbnQgJyoqKicKIAogICAg
IG9wdGlvbl9wYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIodXNhZ2U9J3VzYWdlOiAlcHJv
ZyBbb3B0aW9uc10gW3Rlc3QuLi5dJykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWph
dmFzY3JpcHRjb3JlLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVz
dHMKaW5kZXggODhkNGY1YmYxZjZmZDk5MDcyYTQ4YWM3NDg0OThhNmM0MGMxZjNlOS4uOTkzNzE3
YTc0NGQ2ZDIxY2MyM2YxNDBkNmQ1NzhiZWUwYTZkOTAwNiAxMDA3NTUKLS0tIGEvVG9vbHMvU2Ny
aXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2
YXNjcmlwdGNvcmUtdGVzdHMKQEAgLTQ2LDYgKzQ2LDEyIEBAIHVzZSBUZXh0OjpQYXJzZVdvcmRz
Owogc2V0Q29uZmlndXJhdGlvbigpOwogbXkgJGNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9u
KCk7CiAKK2lmIChzaG91bGRVc2VGbGF0cGFrKCkpIHsKKyAgICBteSBAY29tbWFuZCA9IChGaWxl
OjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tamF2
YXNjcmlwdGNvcmUtdGVzdHMiKSk7CisgICAgcnVuSW5GbGF0cGFrKEBjb21tYW5kKTsKK30KKwor
CiAjIFRoZXNlIHZhcmlhYmxlcyBhcmUgaW50ZW50aW9uYWxseSBsZWZ0IHVuZGVmaW5lZC4KIG15
ICRyb290OwogbXkgJHNob3dIZWxwOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tbWlu
aWJyb3dzZXIgYi9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlcgppbmRleCA0Y2Y2YmU0MDQ3
YmZkNzZkNjgxMDlhYjI5YWE2OGE5MGRjMDg2NmUxLi45MGNkM2ZhZjQzMWFlYjkyOGRmZDZkZGZk
NmVkNmQyM2QyZjIxY2NjIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3Nl
cgorKysgYi9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlcgpAQCAtNDUsNyArNDUsOCBAQCBw
cm9oaWJpdFVua25vd25Qb3J0KCk7CiBzZXRDb25maWd1cmF0aW9uKCk7CiAKIGlmIChpc0d0aygp
IHx8IGlzV1BFKCkpIHsKLSAgICBydW5JbkZsYXRwYWtJZkF2YWlsYWJsZSgiL2FwcC93ZWJraXQv
VG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXIiKTsKKyAgICBteSBAY29tbWFuZCA9IChGaWxl
OjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tbWlu
aWJyb3dzZXIiKSk7CisgICAgcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQGNvbW1hbmQpOwogCiAg
ICAgIyBDaGVjayB0byBzZWUgdGhhdCBhbGwgdGhlIGZyYW1ld29ya3MgYXJlIGJ1aWx0LgogICAg
IGNoZWNrRnJhbWV3b3JrcygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tcXQtd3Bl
LW1pbmlicm93c2VyIGIvVG9vbHMvU2NyaXB0cy9ydW4tcXQtd3BlLW1pbmlicm93c2VyCmluZGV4
IGFlYWNiNDgzYzJmZDEwYWFhNWZkZDAwZGM2ZDRjMGM5ZjYxNzMyNDUuLmQ0MjFjZTYyNDgxNmUx
MmQyZDdkZjM4ZGE5MDlhZDA1YTZjOTVmYTAgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVu
LXF0LXdwZS1taW5pYnJvd3NlcgorKysgYi9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJy
b3dzZXIKQEAgLTM4LDkgKzM4LDEzIEBAIG15IEBqaGJ1aWxkV3JhcHBlcjsKIG15ICRjb25maWd1
cmF0aW9uID0gcGFzc2VkQ29uZmlndXJhdGlvbigpOwogbXkgJHByb2R1Y3REaXIgPSBwcm9kdWN0
RGlyKCk7CiAKLSRsaWJQYXRoID0gIi9hcHAvd2Via2l0L1dlYktpdEJ1aWxkLyRjb25maWd1cmF0
aW9uL2xpYi9xbWwiIGlmICRjb25maWd1cmF0aW9uOwotJEVOVnsiUU1MMl9JTVBPUlRfUEFUSCJ9
ID0gIiRsaWJQYXRoIiBpZiAkbGliUGF0aDsKLXJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKCIvYXBw
L3dlYmtpdC9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXIiKTsKK2lmICgkY29u
ZmlndXJhdGlvbikgeworICAgICRsaWJQYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VE
aXIoKSwgIldlYktpdEJ1aWxkIiwgIiRjb25maWd1cmF0aW9uIiwgImxpYiIsICJxbWwiKTsKKyAg
ICAkRU5WeyJRTUwyX0lNUE9SVF9QQVRIIn0gPSAiJGxpYlBhdGgiOworfQorCitteSBAY29tbWFu
ZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIs
ICJydW4tcXQtd3BlLW1pbmlicm93c2VyIikpOworcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQGNv
bW1hbmQpOwogCiAjIENoZWNrIHRvIHNlZSB0aGF0IGFsbCB0aGUgZnJhbWV3b3JrcyBhcmUgYnVp
bHQuCiBjaGVja0ZyYW1ld29ya3MoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLXdl
YmRyaXZlci10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0cwppbmRleCBh
Y2MzNWY3MjQ4M2YyODMyZjA5YzhlZmIxODk1ZDE4MWQ0ZDY3OTI5Li5jMzAwNGQ0NTMyM2M1MTQy
NjY1ZDM3MDMzN2U4ZTU5MDQyM2E5ZDQwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi13
ZWJkcml2ZXItdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzCkBA
IC03OCw3ICs3OCw3IEBAIGlmIHBvcnQubmFtZSgpIGluIFsnZ3RrJywgJ3dwZSddOgogICAgICAg
ICBpZiBub3QgamhidWlsZHV0aWxzLmVudGVyX2poYnVpbGRfZW52aXJvbm1lbnRfaWZfYXZhaWxh
YmxlKHBvcnQubmFtZSgpKToKICAgICAgICAgICAgIHByaW50ICcqKionCiAgICAgICAgICAgICBw
cmludCAnKioqIFdhcm5pbmc6IGpoYnVpbGQgZW52aXJvbm1lbnQgbm90IHByZXNlbnQgYW5kIG5v
dCBydW5uaW5nIGluIGZsYXRwYWsuJwotICAgICAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRl
LXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXRndGstZmxhdHBhayBiZWZvcmUgYnVpbGQt
d2Via2l0IHRvIGVuc3VyZSBwcm9wZXIgdGVzdGluZy4uJworICAgICAgICAgICAgcHJpbnQgJyoq
KiBSdW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBhayBiZWZv
cmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9wZXIgdGVzdGluZy4uJwogICAgICAgICAgICAg
cHJpbnQgJyoqKicKIAogcG9ydC5fZGlzcGxheV9zZXJ2ZXIgPSBvcHRpb25zLmRpc3BsYXlfc2Vy
dmVyCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi13cGUtdGVzdHMgYi9Ub29scy9TY3Jp
cHRzL3J1bi13cGUtdGVzdHMKaW5kZXggOGY3NzQ5ZWI2YWQ2ZDFmMTk5MTNhMTc2OTlkY2I3Njc3
ZjQ4NjJkMS4uZjM0YzE5NzA2NDc3NjIyNjI0NTJlNmFlODNmYTI4NWYyOGU1ZDE4MCAxMDA3NTUK
LS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4td3BlLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVu
LXdwZS10ZXN0cwpAQCAtNTEsNyArNTEsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgog
ICAgIGlmIG5vdCBmbGF0cGFrdXRpbHMuaXNfc2FuZGJveGVkKCkgYW5kIG5vdCBqaGJ1aWxkdXRp
bHMuZW50ZXJfamhidWlsZF9lbnZpcm9ubWVudF9pZl9hdmFpbGFibGUoIndwZSIpOgogICAgICAg
ICBwcmludCAnKioqJwogICAgICAgICBwcmludCAnKioqIFdhcm5pbmc6IGpoYnVpbGQgZW52aXJv
bm1lbnQgbm90IHByZXNlbnQgYW5kIG5vdCBydW5uaW5nIGluIGZsYXRwYWsuJwotICAgICAgICBw
cmludCAnKioqIFJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1m
bGF0cGFrIGJlZm9yZSBidWlsZC13ZWJraXQgdG8gZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCisg
ICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13ZWJraXR3cGUtbGlicyBvciB1cGRhdGUtd2Vi
a2l0LWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3Rpbmcu
LicKICAgICAgICAgcHJpbnQgJyoqKicKIAogICAgIG9wdGlvbl9wYXJzZXIgPSBvcHRwYXJzZS5P
cHRpb25QYXJzZXIodXNhZ2U9J3VzYWdlOiAlcHJvZyBbb3B0aW9uc10gW3Rlc3QuLi5dJykKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRwZXJsIGIvVG9vbHMvU2NyaXB0cy90
ZXN0LXdlYmtpdHBlcmwKaW5kZXggNjQ5NTY5NjBmZmM2N2FlN2RmOTMzNjQxMzZkOTFhNWQ4OGVh
OTk0My4uZGM4MWMxN2MzYmFjNTlhODgxYTczZWQxNWIzYTc0NjBjYTdiOWY5OCAxMDA3NTUKLS0t
IGEvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHBlcmwKKysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0
LXdlYmtpdHBlcmwKQEAgLTMyLDYgKzMyLDEzIEBACiAKIHVzZSBzdHJpY3Q7CiB1c2Ugd2Fybmlu
Z3M7Cit1c2UgRmlsZTo6QmFzZW5hbWU7Cit1c2UgRmlsZTo6RmluZDsKK3VzZSBGaWxlOjpTcGVj
OwordXNlIEZpbmRCaW47Cit1c2UgR2V0b3B0OjpMb25nIHF3KDpjb25maWcgcGFzc190aHJvdWdo
IG5vX2F1dG9fYWJicmV2KTsKK3VzZSBsaWIgJEZpbmRCaW46OkJpbjsKK3VzZSB3ZWJraXRkaXJz
OwogCiB1c2UgRmlsZTo6U3BlYzsKIHVzZSBGaW5kQmluOwpAQCAtMzksNiArNDYsMTEgQEAgdXNl
IFRlc3Q6Okhhcm5lc3M7CiB1c2UgbGliICRGaW5kQmluOjpCaW47ICMgc28gdGhpcyBzY3JpcHQg
Y2FuIGJlIHJ1biBmcm9tIGFueSBkaXJlY3RvcnkuCiB1c2UgVkNTVXRpbHM7CiAKK2lmIChzaG91
bGRVc2VGbGF0cGFrKCkpIHsKKyAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxl
KHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJ0ZXN0LXdlYmtpdHBlcmwiKSk7Cisg
ICAgcnVuSW5GbGF0cGFrKEBjb21tYW5kKTsKK30KKwogIyBDaGFuZ2UgdGhlIHdvcmtpbmcgZGly
ZWN0b3J5IHNvIHRoYXQgd2UgY2FuIHBhc3Mgc2hvcnRlciwgcmVsYXRpdmUKICMgcGF0aHMgdG8g
cnVudGVzdHMoKSwgcmF0aGVyIHRoYW4gbG9uZ2VyLCBhYnNvbHV0ZSBwYXRocy4KICMKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweSBiL1Rvb2xzL1NjcmlwdHMvdGVzdC13
ZWJraXRweQppbmRleCBlZTY4MmNjY2YwYWNhM2YyMGRjNjE1ZmU4YjYzMjNjY2M1N2NiZWE0Li40
MjM4OGU5Zjg2MTc4NWVmN2UzOGZiMWY0NTQ5MDA1MDUyZjAwYWVjIDEwMDc1NQotLS0gYS9Ub29s
cy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkKKysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5
CkBAIC0yOSw0ICsyOSwxMCBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogZnJvbSB3ZWJraXRweS5jb21tb24g
aW1wb3J0IG11bHRpcHJvY2Vzc2luZ19ib290c3RyYXAKIAoraW1wb3J0IG9zLCBzeXMKK3RvcF9s
ZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRp
cm5hbWUoX19maWxlX18pLCAnLi4nLCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRo
LmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBm
bGF0cGFrdXRpbHMKK2ZsYXRwYWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lz
LmFyZ3YpCisKIG11bHRpcHJvY2Vzc2luZ19ib290c3RyYXAucnVuKCd3ZWJraXRweScsICd0ZXN0
JywgJ21haW4ucHknKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lciBi
L1Rvb2xzL1NjcmlwdHMvdGVzdDI2Mi1ydW5uZXIKaW5kZXggYTEzMWJjZjYzM2UzMGQ5NzY1ZmI1
NjI0MjUwNzMxMTdhOThmMjIzOC4uYWY3YWQ1ZTQ4ZWYyNTA4Y2Y0ZTIxZDU4ZDU1MGNmMDMyZWY1
ZmEyYiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lcgorKysgYi9Ub29s
cy9TY3JpcHRzL3Rlc3QyNjItcnVubmVyCkBAIC0zNCw2ICszNCwyNiBAQCB1c2UgNS44Ljg7CiB1
c2UgRmluZEJpbjsKIHVzZSBDb25maWc7CiAKK0JFR0lOIHsKKyAgICB1c2UgbGliICRGaW5kQmlu
OjpCaW47CisgICAgdXNlIEZpbGU6OlNwZWM6OkZ1bmN0aW9ucyBxdyhjYXRmaWxlKTsKKworICAg
IGlmICghZ3JlcCgvXi0tbm8tZmxhdHBhay1jaGVjayQvLCBAQVJHVikpIHsKKyAgICAgICAgaWYg
KGV2YWwge3JlcXVpcmUgd2Via2l0ZGlyczsgMTt9KSB7CisgICAgICAgICAgICB3ZWJraXRkaXJz
LT5pbXBvcnQocXcoc2hvdWxkVXNlRmxhdHBhayBydW5JbkZsYXRwYWsgc291cmNlRGlyKSk7Cisg
ICAgICAgICAgICBpZiAoc2hvdWxkVXNlRmxhdHBhaygpKSB7CisgICAgICAgICAgICAgICAgcHJp
bnQgIlJ1bm5pbmcgaW4gZmxhdHBhayBiYXNlZCBlbnZpcm9ubWVudFxuIjsKKyAgICAgICAgICAg
ICAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9v
bHMiLCAiU2NyaXB0cyIsICJ0ZXN0MjYyLXJ1bm5lciIpKTsKKyAgICAgICAgICAgICAgICAjIFBy
ZXZlbnQgZXhlYydkIHRlc3QyNjItcnVubmVyIHByb2Nlc3MgZnJvbSBpbXBvcnRpbmcKKyAgICAg
ICAgICAgICAgICAjIHdlYmtpdGRpcnMgc28gdGhhdCBpdCBjYW4gc3VjY2VlZCBsYXRlciBvbiBp
biB0aGUgUnVubmVyCisgICAgICAgICAgICAgICAgIyBtb2R1bGUuLi4gUGVybC4gwq9cXyjjg4Qp
Xy/CrworICAgICAgICAgICAgICAgIHB1c2goQEFSR1YsICItLW5vLWZsYXRwYWstY2hlY2siKTsK
KyAgICAgICAgICAgICAgICBydW5JbkZsYXRwYWsoQGNvbW1hbmQpOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgfQorfQorCiBCRUdJTiB7CiAgICAgJEVOVntEQklDX09WRVJXUklURV9I
RUxQRVJfTUVUSE9EU19PS30gPSAxOwogICAgICRFTlZ7VDI2Ml9FWEVDX0JJTn0gPSAiJEZpbmRC
aW46OkJpbi90ZXN0MjYyIjsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtp
dC1mbGF0cGFrIGIvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0LWZsYXRwYWsKbmV3IGZpbGUg
bW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTg2YjgxYTIwMzNmNGJiN2JlMmQyOWJkZTVjMTJjZjQ5NTMzMGQ1NQotLS0gL2Rldi9udWxs
CisrKyBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdC1mbGF0cGFrCkBAIC0wLDAgKzEsMjgg
QEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMu
TC4KKyMgQ29weXJpZ2h0IChjKSAyMDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2Fs
aWEuY29tPgorIworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisjIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisjIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIHBy
b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKKyMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBw
cm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZQorIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwKKyMgQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCisjIHB5bGludDogZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5h
bWUKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0
aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwg
Ii4uIikpCitzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3Rv
cnksICJUb29scyIsICJmbGF0cGFrIikpCitmcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0
RmxhdHBhaworCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIFdlYmtpdEZsYXRwYWsu
bG9hZF9mcm9tX2FyZ3MoWyItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsgYi9Ub29scy9TY3Jp
cHRzL3VwZGF0ZS13ZWJraXRndGstZmxhdHBhawpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5k
ZXggMDk1NmYxZjJlMTQ4NWQyNDg2MmVmN2Y2ZDc0YTJmM2Y5OGNmOTJmOC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13
ZWJraXRndGstZmxhdHBhaworKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLSMhL3Vzci9i
aW4vZW52IHB5dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KLSMgQ29weXJp
Z2h0IChjKSAyMDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotIwot
IyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMg
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKLSMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBu
b3QsIHdyaXRlIHRvIHRoZQotIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0j
IHB5bGludDogZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5hbWUKLWltcG9ydCBv
cwotaW1wb3J0IHN5cwotCi10b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChv
cy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCi1zeXMu
cGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICJUb29scyIs
ICJmbGF0cGFrIikpCi1mcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0RmxhdHBhawotCi1p
ZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2Fy
Z3MoWyItLWd0ayIsICItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWxpYnMgYi9Ub29scy9TY3JpcHRzL3Vw
ZGF0ZS13ZWJraXRndGstbGlicwppbmRleCAyZTFjMDJmZmQ3MDU2MDA4MGUzNmJjNzRiNDY1OGZm
ZWY1ZGVjZDhlLi4yZThhODc4NTE5NmRiOGM3YmZjYzQ5MDQ5NWFkOWM1ZDcwMGZmZjUxIDEwMDc1
NQotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstbGlicworKysgYi9Ub29scy9T
Y3JpcHRzL3VwZGF0ZS13ZWJraXRndGstbGlicwpAQCAtMjIsNCArMjIsOCBAQCB1c2UgbGliICRG
aW5kQmluOjpCaW47CiB1c2Ugd2Via2l0ZGlyczsKIAogbXkgJHNjcmlwdHNEaXIgPSByZWxhdGl2
ZVNjcmlwdHNEaXIoKTsKLXN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0
LWxpYnMtamhidWlsZCIsICItLWd0ayIsIEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK2lmIChkZWZp
bmVkICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30gYW5kICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30pIHsK
KyAgICBzeXN0ZW0oInBlcmwiLCAiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1saWJzLWpoYnVp
bGQiLCAiLS1ndGsiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7Cit9IGVsc2UgeworICAgIHN5c3Rl
bSgiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1mbGF0cGFrIiwgQEFSR1YpID09IDAgb3IgZGll
ICQhOworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWZsYXRw
YWsgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtZmxhdHBhawpkZWxldGVkIGZpbGUg
bW9kZSAxMDA3NTUKaW5kZXggNTY0ZTg3NjUyMTExOGUyZmMwZmQ2OGI4Yzg2NmFhOTAwMWNiODEy
Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9T
Y3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtZmxhdHBhaworKysgL2Rldi9udWxsCkBAIC0xLDI4ICsw
LDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlh
IFMuTC4KLSMgQ29weXJpZ2h0IChjKSAyMDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBp
Z2FsaWEuY29tPgotIwotIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMi4xIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlz
IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFsb25nIHdpdGggdGhp
cyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZQotIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCi0jIHB5bGludDogZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlk
LW5hbWUKLWltcG9ydCBvcwotaW1wb3J0IHN5cwotCi10b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3Mu
cGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4u
IiwgIi4uIikpCi1zeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJl
Y3RvcnksICJUb29scyIsICJmbGF0cGFrIikpCi1mcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Vi
a2l0RmxhdHBhawotCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIFdlYmtpdEZsYXRw
YWsubG9hZF9mcm9tX2FyZ3MoWyItLXdwZSIsICItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5y
dW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWxpYnMgYi9U
b29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGlicwppbmRleCA2YjRiNDZmMmI3ZWI4YTll
NjgwNzc1N2JjYTJiOWU2ODQ3MDdhMDIzLi5jZGM0YzdkYjhjNjVlYTczMjNkNjkyNjgxOThhMmY2
OGJkNTEzMDE0IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGli
cworKysgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGlicwpAQCAtMjIsNCArMjIs
OCBAQCB1c2UgbGliICRGaW5kQmluOjpCaW47CiB1c2Ugd2Via2l0ZGlyczsKIAogbXkgJHNjcmlw
dHNEaXIgPSByZWxhdGl2ZVNjcmlwdHNEaXIoKTsKLXN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rp
ci91cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCIsICItLXdwZSIsIEBBUkdWKSA9PSAwIG9yIGRp
ZSAkITsKK2lmIChkZWZpbmVkICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30gYW5kICRFTlZ7J1dFQktJ
VF9KSEJVSUxEJ30pIHsKKyAgICBzeXN0ZW0oInBlcmwiLCAiJHNjcmlwdHNEaXIvdXBkYXRlLXdl
YmtpdC1saWJzLWpoYnVpbGQiLCAiLS13cGUiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7Cit9IGVs
c2UgeworICAgIHN5c3RlbSgiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1mbGF0cGFrIiwgQEFS
R1YpID09IDAgb3IgZGllICQhOworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRk
aXJzLnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCmluZGV4IDEwNGY2NjAyYWI1NzQw
MDRkYTc0Nzk4M2U5Njk1NjIwMDNkYTgwZjMuLjUzYjRlNjBiZDg3NzMyZTBjMmJmZjI5NTEwMGJi
OGQ0YTJiMmFlMjkgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KQEAgLTkxLDcgKzkxLDEwIEBAIEJFR0lOIHsK
ICAgICAgICAmc2V0dXBVbml4V2ViS2l0RW52aXJvbm1lbnQKICAgICAgICAmc2hhcmVkQ29tbWFu
ZExpbmVPcHRpb25zCiAgICAgICAgJnNoYXJlZENvbW1hbmRMaW5lT3B0aW9uc1VzYWdlCisgICAg
ICAgJnNob3VsZFVzZUZsYXRwYWsKKyAgICAgICAmcnVuSW5GbGF0cGFrCiAgICAgICAgJnNodXRE
b3duSU9TU2ltdWxhdG9yRGV2aWNlCisgICAgICAgJnNvdXJjZURpcgogICAgICAgICZ3aWxsVXNl
SU9TRGV2aWNlU0RLCiAgICAgICAgJndpbGxVc2VJT1NTaW11bGF0b3JTREsKICAgICAgICBET19O
T1RfVVNFX09QRU5fQ09NTUFORApAQCAtMjA0NywyMCArMjA1MCwxMSBAQCBzdWIgZ2V0SmhidWls
ZFBhdGgoKQogICAgIHJldHVybiBGaWxlOjpTcGVjLT5jYXRkaXIoQGpoYnVpbGRQYXRoKTsKIH0K
IAotc3ViIGdldEZsYXRwYWtQYXRoKCkKK3N1YiBnZXRVc2VyRmxhdHBha1BhdGgoKQogewotICAg
IG15IEBmbGF0cGFrQnVpbGRQYXRoID0gRmlsZTo6U3BlYy0+c3BsaXRkaXIoYmFzZVByb2R1Y3RE
aXIoKSk7Ci0gICAgaWYgKGlzR3RrKCkpIHsKLSAgICAgICAgcHVzaChAZmxhdHBha0J1aWxkUGF0
aCwgIkdUSyIpOwotICAgIH0gZWxzaWYgKGlzV1BFKCkpIHsKLSAgICAgICAgcHVzaChAZmxhdHBh
a0J1aWxkUGF0aCwgIldQRSIpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGRpZSAiQ2Fubm90IGdl
dCBGbGF0cGFrIHBhdGggZm9yIHBsYXRmb3JtIHRoYXQgaXNuJ3QgR1RLKyBvciBXUEUuXG4iOwot
ICAgIH0KLSAgICBteSBAY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24oKTsKLSAgICBwdXNo
KEBmbGF0cGFrQnVpbGRQYXRoLCAiRmxhdHBha1RyZWUkY29uZmlndXJhdGlvbiIpOwotCi0gICAg
cmV0dXJuIEZpbGU6OlNwZWMtPmNhdGRpcihAZmxhdHBha0J1aWxkUGF0aCk7CisgICAgbXkgQGZs
YXRwYWtQYXRoID0gRmlsZTo6U3BlYy0+c3BsaXRkaXIoYmFzZVByb2R1Y3REaXIoKSk7CisgICAg
cHVzaChAZmxhdHBha1BhdGgsICJVc2VyRmxhdHBhayIpOworICAgIHJldHVybiBGaWxlOjpTcGVj
LT5jYXRkaXIoQGZsYXRwYWtQYXRoKTsKIH0KIAogc3ViIGlzQ2FjaGVkQXJndW1lbnRmaWxlT3V0
T2ZEYXRlKCRAKQpAQCAtMjA4NywxOCArMjA4MSwxNCBAQCBzdWIgaXNDYWNoZWRBcmd1bWVudGZp
bGVPdXRPZkRhdGUoJEApCiAKIHN1YiBpbkZsYXRwYWtTYW5kYm94KCkKIHsKLSAgICBpZiAoLWYg
Ii8uZmxhdHBhay1pbmZvIikgewotICAgICAgICByZXR1cm4gMTsKLSAgICB9Ci0KLSAgICByZXR1
cm4gMDsKKyAgICByZXR1cm4gKC1mICIvLmZsYXRwYWstaW5mbyIpOwogfQogCiBzdWIgcnVuSW5G
bGF0cGFrKEApCiB7CiAgICAgbXkgQGFyZyA9IEBfOwogICAgIG15IEBjb21tYW5kID0gKEZpbGU6
OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgIndlYmtpdC1m
bGF0cGFrIikpOwotICAgIGV4ZWMgQGNvbW1hbmQsIGFyZ3VtZW50c0ZvckNvbmZpZ3VyYXRpb24o
KSwgIi0tY29tbWFuZCIsIEBfLCBhcmd1bWVudHNGb3JDb25maWd1cmF0aW9uKCksIEBBUkdWIG9y
IGRpZTsKKyAgICBleGVjIEBjb21tYW5kLCBhcmd1bWVudHNGb3JDb25maWd1cmF0aW9uKCksIEBB
UkdWLCAiLS1jb21tYW5kIiwgQGFyZywgYXJndW1lbnRzRm9yQ29uZmlndXJhdGlvbigpIG9yIGRp
ZTsKIH0KIAogc3ViIHJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKEApCkBAIC0yMTEyLDggKzIxMDIs
OCBAQCBzdWIgcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQCkKICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgfQogCi0gICAgaWYgKCEgLWUgZ2V0RmxhdHBha1BhdGgoKSkgewotICAgICAgICByZXR1cm4g
MDsKKyAgICBpZiAoISAtZSBnZXRVc2VyRmxhdHBha1BhdGgoKSkgeworICAgICAgcmV0dXJuIDA7
CiAgICAgfQogCiAgICAgcnVuSW5GbGF0cGFrKEBfKQpAQCAtMjEyOCw3ICsyMTE4LDcgQEAgc3Vi
IHdyYXBwZXJQcmVmaXhJZk5lZWRlZCgpCiAgICAgaWYgKGlzQXBwbGVDb2NvYVdlYktpdCgpKSB7
CiAgICAgICAgIHJldHVybiAoInhjcnVuIik7CiAgICAgfQotICAgIGlmIChzaG91bGRVc2VKaGJ1
aWxkKCkgYW5kICEgc2hvdWxkVXNlRmxhdHBhaygpKSB7CisgICAgaWYgKHNob3VsZFVzZUpoYnVp
bGQoKSkgewogICAgICAgICBteSBAcHJlZml4ID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNl
RGlyKCksICJUb29scyIsICJqaGJ1aWxkIiwgImpoYnVpbGQtd3JhcHBlciIpKTsKICAgICAgICAg
aWYgKGlzR3RrKCkpIHsKICAgICAgICAgICAgIHB1c2goQHByZWZpeCwgIi0tZ3RrIik7CkBAIC0y
MTQ1LDEyICsyMTM1LDEyIEBAIHN1YiB3cmFwcGVyUHJlZml4SWZOZWVkZWQoKQogCiBzdWIgc2hv
dWxkVXNlSmhidWlsZCgpCiB7Ci0gICAgcmV0dXJuICgoaXNHdGsoKSBvciBpc1dQRSgpKSBhbmQg
LWUgZ2V0SmhidWlsZFBhdGgoKSk7CisgICAgcmV0dXJuICgoISBpbkZsYXRwYWtTYW5kYm94KCkp
IGFuZCAoaXNHdGsoKSBvciBpc1dQRSgpKSBhbmQgLWUgZ2V0SmhidWlsZFBhdGgoKSBhbmQgZGVm
aW5lZCAkRU5WeydXRUJLSVRfSkhCVUlMRCd9IGFuZCAkRU5WeydXRUJLSVRfSkhCVUlMRCd9KTsK
IH0KIAogc3ViIHNob3VsZFVzZUZsYXRwYWsoKQogewotICAgIHJldHVybiAoKGlzR3RrKCkgb3Ig
aXNXUEUoKSkgYW5kICEgaW5GbGF0cGFrU2FuZGJveCgpIGFuZCAtZSBnZXRGbGF0cGFrUGF0aCgp
KTsKKyAgICByZXR1cm4gKCghIGluRmxhdHBha1NhbmRib3goKSkgYW5kIChpc0d0aygpIG9yIGlz
V1BFKCkpIGFuZCAtZSBnZXRVc2VyRmxhdHBha1BhdGgoKSk7CiB9CiAKIHN1YiBjbWFrZUNhY2hl
UGF0aCgpCkBAIC0yMjE3LDcgKzIyMDcsNyBAQCBzdWIgc2hvdWxkUmVtb3ZlQ01ha2VDYWNoZShA
KQogICAgIH0KIAogICAgICMgSWYgYSBjaGFuZ2Ugb24gdGhlIEpIQnVpbGQgbW9kdWxlc2V0IGhh
cyBiZWVuIGRvbmUsIHdlIG5lZWQgdG8gY2xlYW4gdGhlIGNhY2hlIGFzIHdlbGwuCi0gICAgaWYg
KGlzR3RrKCkgfHwgaXNXUEUoKSkgeworICAgIGlmICghIHNob3VsZFVzZUZsYXRwYWsoKSBhbmQg
KGlzR3RrKCkgfHwgaXNXUEUoKSkpIHsKICAgICAgICAgbXkgJGpoYnVpbGRSb290RGlyZWN0b3J5
ID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKGdldEpoYnVpbGRQYXRoKCksICJSb290Iik7CiAgICAgICAg
ICMgVGhlIHNjcmlwdCB1cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCBzaGFsbCByZS1nZW5lcmF0
ZSAkamhidWlsZFJvb3REaXJlY3RvcnkgaWYgdGhlIG1vZHVsZXNldCBjaGFuZ2VkLgogICAgICAg
ICBpZiAoLWQgJGpoYnVpbGRSb290RGlyZWN0b3J5ICYmICRjYWNoZUZpbGVNb2RpZmllZFRpbWUg
PCBzdGF0KCRqaGJ1aWxkUm9vdERpcmVjdG9yeSktPm10aW1lKSB7CmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9iYXNlLnB5CmluZGV4IGRlMDA2NjY3YjJkMWU1ZTVlZWI4ZjJkMWE0NDhiNzU2ZjdmMDY2
Y2QuLjFjM2VlN2FiZGJhM2Q4NmIyYTY4YTQ2ODhiNGVhZDk2ZTk5ODc1ZWUgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9iYXNlLnB5CkBAIC04OTMsNiArODkzLDcgQEAgY2xhc3MgUG9ydChvYmpl
Y3QpOgogICAgICAgICAgICAgJ0xBTkcnLAogICAgICAgICAgICAgJ0xEX0xJQlJBUllfUEFUSCcs
CiAgICAgICAgICAgICAnVEVSTScsCisgICAgICAgICAgICAnVFonLAogICAgICAgICAgICAgJ1hE
R19EQVRBX0RJUlMnLAogICAgICAgICAgICAgJ1hER19SVU5USU1FX0RJUicsCiAKQEAgLTEyMjAs
NyArMTIyMSw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgVGhpcyBpcyBuZWVkZWQg
b25seSBieSBwb3J0cyB0aGF0IHVzZSB0aGUgYXBhY2hlX2h0dHBfc2VydmVyIG1vZHVsZS4iIiIK
ICAgICAgICAgIyBUaGUgQXBhY2hlIGJpbmFyeSBwYXRoIGNhbiB2YXJ5IGRlcGVuZGluZyBvbiBP
UyBhbmQgZGlzdHJpYnV0aW9uCiAgICAgICAgICMgU2VlIGh0dHA6Ly93aWtpLmFwYWNoZS5vcmcv
aHR0cGQvRGlzdHJvc0RlZmF1bHRMYXlvdXQKLSAgICAgICAgZm9yIHBhdGggaW4gWyIvdXNyL3Ni
aW4vaHR0cGQiLCAiL3Vzci9zYmluL2FwYWNoZTIiLCAiL2FwcC9iaW4vaHR0cGQiXToKKyAgICAg
ICAgZm9yIHBhdGggaW4gWyIvdXNyL3NiaW4vaHR0cGQiLCAiL3Vzci9zYmluL2FwYWNoZTIiLCAi
L3Vzci9iaW4vaHR0cGQiXToKICAgICAgICAgICAgIGlmIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3Rz
KHBhdGgpOgogICAgICAgICAgICAgICAgIHJldHVybiBwYXRoCiAgICAgICAgIF9sb2cuZXJyb3Io
IkNvdWxkIG5vdCBmaW5kIGFwYWNoZS4gTm90IGluc3RhbGxlZCBvciB1bmtub3duIHBhdGguIikK
QEAgLTE0NTIsMTQgKzE0NTMsOCBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgICMgLS1w
aXhlbC10ZXN0LWRpcmVjdG9yeSBpcyBub3Qgc3BlY2lmaWVkLgogICAgICAgICByZXR1cm4gVHJ1
ZQogCi0gICAgZGVmIF9zaG91bGRfdXNlX2ZsYXRwYWsoc2VsZik6Ci0gICAgICAgIHN1ZmZpeCA9
ICIiCi0gICAgICAgIGlmIHNlbGYucG9ydF9uYW1lOgotICAgICAgICAgICAgc3VmZml4ID0gc2Vs
Zi5wb3J0X25hbWUudXBwZXIoKQotICAgICAgICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5leGlz
dHMoc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1dlYktpdEJ1aWxkJywgc3VmZml4LCAiRmxh
dHBha1RyZWUiKSkKLQogICAgIGRlZiBfaW5fZmxhdHBha19zYW5kYm94KHNlbGYpOgotICAgICAg
ICByZXR1cm4gb3MucGF0aC5leGlzdHMoIi8uZmxhdHBhay1pbmZvIikKKyAgICAgICAgcmV0dXJu
IHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKCIvLmZsYXRwYWstaW5mbyIpCiAKICAgICBkZWYgX3No
b3VsZF91c2VfamhidWlsZChzZWxmKToKICAgICAgICAgaWYgc2VsZi5faW5fZmxhdHBha19zYW5k
Ym94KCk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQppbmRleCA2OGJjMTY5MjNmOGFiNzYw
OTFmNWIzZTk2NGQwNjVjNzk0M2ZmOGQ1Li4wY2U4YWE0ODc0NTkwOWM3OTczNjg4M2IzNmQzNGU4
NzQwOThkNDczIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkKQEAgLTEyMiw2ICsxMjIs
NyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICBlbnZpcm9ubWVudFsnVEVTVF9SVU5O
RVJfSU5KRUNURURfQlVORExFX0ZJTEVOQU1FJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdsaWInLCAn
bGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLnNvJykKICAgICAgICAgZW52aXJvbm1lbnRbJ1RF
U1RfUlVOTkVSX1RFU1RfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ2xpYicsICdw
bHVnaW5zJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVu
dmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJUicpCisgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVf
ZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9KSEJVSUxEJykKICAgICAg
ICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VC
S0lUX1RPUF9MRVZFTCcpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lm
X3NldChlbnZpcm9ubWVudCwgJ1VTRV9QTEFZQklOMycpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFs
dWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ0dTVF9ERUJVRycpCkBAIC0xMzQs
MTAgKzEzNSwxMSBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAgICAgaWYgc2VsZi5f
c2hvdWxkX3VzZV9qaGJ1aWxkKCk6CiAgICAgICAgICAgICAgICAgbGx2bXBpcGVfbGliZ2xfcGF0
aCA9IHNlbGYuaG9zdC5leGVjdXRpdmUucnVuX2NvbW1hbmQoc2VsZi5famhidWlsZF93cmFwcGVy
ICsgWydwcmludGVudicsICdMTFZNUElQRV9MSUJHTF9QQVRIJ10sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9y
ZV9lcnJvcnM9VHJ1ZSkuc3RyaXAoKQorICAgICAgICAgICAgICAgIGRyaV9saWJnbF9wYXRoID0g
b3MucGF0aC5qb2luKGxsdm1waXBlX2xpYmdsX3BhdGgsICJkcmkiKQogICAgICAgICAgICAgZWxz
ZTogICMgaW4gZmxhdHBhawotICAgICAgICAgICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGggPSAi
L2FwcC9zb2Z0R0wvbGliIgorICAgICAgICAgICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGggPSAi
L3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS8iCisgICAgICAgICAgICAgICAgZHJpX2xpYmdsX3Bh
dGggPSBvcy5wYXRoLmpvaW4obGx2bXBpcGVfbGliZ2xfcGF0aCwgIkdMIiwgImxpYiIsICJkcmki
KQogCi0gICAgICAgICAgICBkcmlfbGliZ2xfcGF0aCA9IG9zLnBhdGguam9pbihsbHZtcGlwZV9s
aWJnbF9wYXRoLCAiZHJpIikKICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGgu
am9pbihsbHZtcGlwZV9saWJnbF9wYXRoLCAibGliR0wuc28iKSkgYW5kIG9zLnBhdGguZXhpc3Rz
KG9zLnBhdGguam9pbihkcmlfbGliZ2xfcGF0aCwgInN3cmFzdF9kcmkuc28iKSk6CiAgICAgICAg
ICAgICAgICAgIyBNYWtlIHN1cmUgdmEtYXBpIHN1cHBvcnQgZ2V0cyBkaXNhYmxlZCBiZWNhdXNl
IGl0J3MgaW5jb21wYXRpYmxlIHdpdGggTWVzYSdzIHNvZnRHTCBkcml2ZXIuCiAgICAgICAgICAg
ICAgICAgZW52aXJvbm1lbnRbJ0xJQlZBX0RSSVZFUl9OQU1FJ10gPSAibnVsbCIKQEAgLTE0OCw3
ICsxNTAsNyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAgICAgICAgIGlmIG9zLmVu
dmlyb24uZ2V0KCdMRF9MSUJSQVJZX1BBVEgnKToKICAgICAgICAgICAgICAgICAgICAgZW52aXJv
bm1lbnRbJ0xEX0xJQlJBUllfUEFUSCddICs9ICc6JXMnICUgb3MuZW52aXJvbi5nZXQoJ0xEX0xJ
QlJBUllfUEFUSCcpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIF9sb2cud2Fy
bmluZygiQ2FuJ3QgZmluZCBHYWxsaXVtIGxsdm1waXBlIGRyaXZlci4gVHJ5IHRvIHJ1biB1cGRh
dGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIikKKyAgICAgICAg
ICAgICAgICBfbG9nLndhcm5pbmcoIkNhbid0IGZpbmQgR2FsbGl1bSBsbHZtcGlwZSBkcml2ZXIu
IFRyeSB0byBydW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBh
ayIpCiAgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbigibGVha3MiKToKICAgICAgICAgICAgICMg
VHVybiBvZmYgR0xpYiBtZW1vcnkgb3B0aW1pc2F0aW9ucyBodHRwczovL3dpa2kuZ25vbWUub3Jn
L1ZhbGdyaW5kLgogICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0dfU0xJQ0UnXSA9ICdhbHdheXMt
bWFsbG9jJwpAQCAtMjM3LDcgKzIzOSw3IEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAKICAgICBk
ZWYgX2dldF9jcmFzaF9sb2coc2VsZiwgbmFtZSwgcGlkLCBzdGRvdXQsIHN0ZGVyciwgbmV3ZXJf
dGhhbiwgdGFyZ2V0X2hvc3Q9Tm9uZSk6CiAgICAgICAgIHJldHVybiBHREJDcmFzaExvZ0dlbmVy
YXRvcihzZWxmLl9leGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwKLSAgICAgICAgICAg
IHNlbGYuX2ZpbGVzeXN0ZW0sIHNlbGYuX3BhdGhfdG9fZHJpdmVyKS5nZW5lcmF0ZV9jcmFzaF9s
b2coc3Rkb3V0LCBzdGRlcnIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlciwgc2VsZi5wb3J0X25hbWUsIHNl
bGYuZ2V0X29wdGlvbignY29uZmlndXJhdGlvbicpKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0
LCBzdGRlcnIpCiAKICAgICBkZWYgdGVzdF9leHBlY3RhdGlvbnNfZmlsZV9wb3NpdGlvbihzZWxm
KToKICAgICAgICAgIyBHVEsgcG9ydCBiYXNlbGluZSBzZWFyY2ggcGF0aCBpcyBndGsgLT4gd2sy
IC0+IGdlbmVyaWMgKGFzIGd0ay13azIgYW5kIGd0ayBiYXNlbGluZXMgYXJlIG1lcmdlZCksIHNv
IHBvcnQgdGVzdCBleHBlY3RhdGlvbnMgZmlsZSBpcyBhdCB0aGlyZCB0byBsYXN0IHBvc2l0aW9u
LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFz
aF9sb2cucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xv
Zy5weQppbmRleCA5YWRjNDYzNzFmOTYxYjE5NjI4ZTdmZWRkNDY1ZWJmZDA5NmNkMDFhLi4yZTAz
ZGZmMWEzNmViNWMyMDVhZTY4NzljZDIyYmQyYzcwMjIxMWUzIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQpAQCAtMzcsMTggKzM3
LDIyIEBAIGltcG9ydCB0aW1lCiAKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRp
dmUgaW1wb3J0IFNjcmlwdEVycm9yCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi51bmljb2RlX2NvbXBh
dGliaWxpdHkgaW1wb3J0IGRlY29kZV9pZl9uZWNlc3NhcnkKK2Zyb20gd2Via2l0cHkuY29tbW9u
LndlYmtpdF9maW5kZXIgaW1wb3J0IFdlYktpdEZpbmRlcgogCiAKIGNsYXNzIEdEQkNyYXNoTG9n
R2VuZXJhdG9yKG9iamVjdCk6CiAgICAgX2ZpbmRfcGlkX3JlZ2V4ID0gcmUuY29tcGlsZShyJ1BJ
RDogKFxkKykgXCguKlwpJykKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBleGVjdXRpdmUsIG5h
bWUsIHBpZCwgbmV3ZXJfdGhhbiwgZmlsZXN5c3RlbSwgcGF0aF90b19kcml2ZXIpOgorICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBleGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwgZmlsZXN5
c3RlbSwgcGF0aF90b19kcml2ZXIsIHBvcnRfbmFtZSwgY29uZmlndXJhdGlvbik6CiAgICAgICAg
IHNlbGYubmFtZSA9IG5hbWUKICAgICAgICAgc2VsZi5waWQgPSBwaWQKICAgICAgICAgc2VsZi5u
ZXdlcl90aGFuID0gbmV3ZXJfdGhhbgogICAgICAgICBzZWxmLl9maWxlc3lzdGVtID0gZmlsZXN5
c3RlbQogICAgICAgICBzZWxmLl9wYXRoX3RvX2RyaXZlciA9IHBhdGhfdG9fZHJpdmVyCiAgICAg
ICAgIHNlbGYuX2V4ZWN1dGl2ZSA9IGV4ZWN1dGl2ZQorICAgICAgICBzZWxmLl9wb3J0X25hbWUg
PSBwb3J0X25hbWUKKyAgICAgICAgc2VsZi5fY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24K
KyAgICAgICAgc2VsZi5fd2Via2l0X2ZpbmRlciA9IFdlYktpdEZpbmRlcihmaWxlc3lzdGVtKQog
CiAgICAgZGVmIF9nZXRfZ2RiX291dHB1dChzZWxmLCBjb3JlZHVtcF9wYXRoKToKICAgICAgICAg
cHJvY2Vzc19uYW1lID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKG9zLnBhdGguZGlybmFtZShzdHIo
c2VsZi5fcGF0aF90b19kcml2ZXIoKSkpLCBzZWxmLm5hbWUpCkBAIC02Nyw2ICs3MSw5IEBAIGNs
YXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBmaWxlbmFt
ZQogCiAgICAgZGVmIF9nZXRfdHJhY2VfZnJvbV9zeXN0ZW1kKHNlbGYsIGNvcmVkdW1wY3RsLCBw
aWQpOgorICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZSgiLy5mbGF0cGFrLWluZm8iKToKKyAgICAg
ICAgICAgIHJldHVybiBzZWxmLl9nZXRfdHJhY2VfZnJvbV9mbGF0cGFrKCkKKwogICAgICAgICAj
IExldHRpbmcgdXAgdG8gNSBzZWNvbmRzIGZvciB0aGUgYmFja3RyYWNlIHRvIGJlIGdlbmVyYXRl
ZCBvbiB0aGUgc3lzdGVtZCBzaWRlCiAgICAgICAgIGZvciB0cnlfbnVtYmVyIGluIHJhbmdlKDUp
OgogICAgICAgICAgICAgaWYgdHJ5X251bWJlciAhPSAwOgpAQCAtOTIsMTIgKzk5LDI0IEBAIGNs
YXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgICAg
ICB0ZW1wX2ZpbGUubmFtZV0sIHJldHVybl9leGl0X2NvZGU9VHJ1ZSk6CiAgICAgICAgICAgICAg
ICAgICAgIGNvbnRpbnVlCiAKLSAgICAgICAgICAgICAgICByZXMgPSBzZWxmLl9nZXRfZ2RiX291
dHB1dChzZWxmLl9nZXRfdG1wX2ZpbGVfbmFtZShjb3JlZHVtcGN0bCwgdGVtcF9maWxlLm5hbWUp
KQotCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJlcworICAgICAgICAgICAgICAgIHJldHVybiBz
ZWxmLl9nZXRfZ2RiX291dHB1dChzZWxmLl9nZXRfdG1wX2ZpbGVfbmFtZShjb3JlZHVtcGN0bCwg
dGVtcF9maWxlLm5hbWUpKQogCiAgICAgICAgIHJldHVybiAnJywgW10KIAorICAgIGRlZiBfZ2V0
X3RyYWNlX2Zyb21fZmxhdHBhayhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5uZXdlcl90aGFuOgor
ICAgICAgICAgICAgY29yZWR1bXBfc2luY2UgPSAiLS1nZGItc3RhY2stdHJhY2U9QCVmIiAlIHNl
bGYubmV3ZXJfdGhhbgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY29yZWR1bXBfc2luY2Ug
PSAiLS1nZGItc3RhY2stdHJhY2UiCisgICAgICAgIHdlYmtpdF9mbGF0cGFrX3BhdGggPSBzZWxm
Ll93ZWJraXRfZmluZGVyLnBhdGhfdG9fc2NyaXB0KCd3ZWJraXQtZmxhdHBhaycpCisgICAgICAg
IGNtZCA9IFsnZmxhdHBhay1zcGF3bicsICctLWhvc3QnLCB3ZWJraXRfZmxhdHBha19wYXRoLCAn
LS0lcycgJSBzZWxmLl9wb3J0X25hbWUsCisgICAgICAgICAgICAgICAiLS0lcyIgJSBzZWxmLl9j
b25maWd1cmF0aW9uLmxvd2VyKCksIGNvcmVkdW1wX3NpbmNlXQorCisgICAgICAgIHByb2MgPSBz
ZWxmLl9leGVjdXRpdmUucG9wZW4oY21kLCBzdGRpbj1Ob25lLCBzdGRvdXQ9c3VicHJvY2Vzcy5Q
SVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKQorICAgICAgICBjcmFzaF9sb2csIHN0ZGVyciA9
IHByb2MuY29tbXVuaWNhdGUoKQorICAgICAgICBlcnJvcnMgPSBkZWNvZGVfaWZfbmVjZXNzYXJ5
KHN0cihzdGRlcnIgb3IgJzxlbXB0eT4nKSwgZXJyb3JzPSdpZ25vcmUnKS5zcGxpdGxpbmVzKCkK
KyAgICAgICAgcmV0dXJuIGNyYXNoX2xvZywgZXJyb3JzCisKICAgICBkZWYgZ2VuZXJhdGVfY3Jh
c2hfbG9nKHNlbGYsIHN0ZG91dCwgc3RkZXJyKToKICAgICAgICAgcGlkX3JlcHJlc2VudGF0aW9u
ID0gc3RyKHNlbGYucGlkIG9yICc8dW5rbm93bj4nKQogICAgICAgICBsb2dfZGlyZWN0b3J5ID0g
b3MuZW52aXJvbi5nZXQoIldFQktJVF9DT1JFX0RVTVBTX0RJUkVDVE9SWSIpCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZ191bml0dGVz
dC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3Vu
aXR0ZXN0LnB5CmluZGV4IDlmM2I3ZTM5Mzc5YzQzYTEwNWVjZTIwYzFjYTYyNjI0M2RmYTdkMzQu
LjNhMzllODQ2NzBhNjRjODM2YjVlMTQ0MmZjOGEzNTkzNGMzN2RmOTQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3Vu
aXR0ZXN0LnB5CkBAIC00Niw3ICs0Niw3IEBAIGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yVGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGV4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUo
KQogICAgICAgICBleGVjdXRpdmUuX3Byb2MgPSBNb2NrUHJvY2VzcygpCiAgICAgICAgIGV4ZWN1
dGl2ZS5fcHJvYy5zdGRvdXQgPSAnU1RERVJSOiA8ZW1wdHk+JwotICAgICAgICBnZW5lcmF0b3Ig
PSBHREJDcmFzaExvZ0dlbmVyYXRvcihleGVjdXRpdmUsICdEdW1wUmVuZGVyVHJlZScsIDI4NTI5
LCBuZXdlcl90aGFuPU5vbmUsIGZpbGVzeXN0ZW09TW9ja0ZpbGVTeXN0ZW0oeycvcGF0aC90by9j
b3JlZHVtcHMnOiAnJ30pLCBwYXRoX3RvX2RyaXZlcj1Ob25lKQorICAgICAgICBnZW5lcmF0b3Ig
PSBHREJDcmFzaExvZ0dlbmVyYXRvcihleGVjdXRpdmUsICdEdW1wUmVuZGVyVHJlZScsIDI4NTI5
LCBuZXdlcl90aGFuPU5vbmUsIGZpbGVzeXN0ZW09TW9ja0ZpbGVTeXN0ZW0oeycvcGF0aC90by9j
b3JlZHVtcHMnOiAnJ30pLCBwYXRoX3RvX2RyaXZlcj1Ob25lLCBwb3J0X25hbWU9Imd0ayIsIGNv
bmZpZ3VyYXRpb249IkRlYnVnIikKIAogICAgICAgICBjb3JlX2RpcmVjdG9yeSA9IG9zLmVudmly
b24uZ2V0KCdXRUJLSVRfQ09SRV9EVU1QU19ESVJFQ1RPUlknLCAnL3BhdGgvdG8vY29yZWR1bXBz
JykKICAgICAgICAgY29yZV9wYXR0ZXJuID0gZ2VuZXJhdG9yLl9maWxlc3lzdGVtLmpvaW4oY29y
ZV9kaXJlY3RvcnksICJjb3JlLXBpZF8lcC5kdW1wIikKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC93cGUucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd3Bl
LnB5CmluZGV4IDAwY2U1Mjc2ZTljYzQyMWI0ODM3YWMyYjU0ZjMzYzU1MmJiZWM4NTUuLjU0Njky
NWY0N2M2NDAwNzI1YWYwNzNhMzU1M2M3ZmY1NGVlYTdkOTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC93cGUucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9w
b3J0L3dwZS5weQpAQCAtNzcsNiArNzcsNyBAQCBjbGFzcyBXUEVQb3J0KFBvcnQpOgogICAgICAg
ICBlbnZpcm9ubWVudFsnVEVTVF9SVU5ORVJfVEVTVF9QTFVHSU5fUEFUSCddID0gc2VsZi5fYnVp
bGRfcGF0aCgnbGliJywgJ3BsdWdpbnMnKQogICAgICAgICBlbnZpcm9ubWVudFsnV0VCS0lUX0VY
RUNfUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0aCgnYmluJykKICAgICAgICAgc2VsZi5fY29weV92
YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJUicp
CisgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVu
dCwgJ1dFQktJVF9KSEJVSUxEJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmly
b25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX1RPUF9MRVZFTCcpCiAgICAgICAgIHNlbGYu
X2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1VTRV9QTEFZQklO
MycpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9u
bWVudCwgJ0dTVF9ERUJVRycpCkBAIC0xMjEsNyArMTIyLDggQEAgY2xhc3MgV1BFUG9ydChQb3J0
KToKICAgICAgICAgcmV0dXJuIDIKIAogICAgIGRlZiBfZ2V0X2NyYXNoX2xvZyhzZWxmLCBuYW1l
LCBwaWQsIHN0ZG91dCwgc3RkZXJyLCBuZXdlcl90aGFuLCB0YXJnZXRfaG9zdD1Ob25lKToKLSAg
ICAgICAgcmV0dXJuIEdEQkNyYXNoTG9nR2VuZXJhdG9yKHNlbGYuX2V4ZWN1dGl2ZSwgbmFtZSwg
cGlkLCBuZXdlcl90aGFuLCBzZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlciku
Z2VuZXJhdGVfY3Jhc2hfbG9nKHN0ZG91dCwgc3RkZXJyKQorICAgICAgICByZXR1cm4gR0RCQ3Jh
c2hMb2dHZW5lcmF0b3Ioc2VsZi5fZXhlY3V0aXZlLCBuYW1lLCBwaWQsIG5ld2VyX3RoYW4sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLCBzZWxm
Ll9wYXRoX3RvX2RyaXZlciwgc2VsZi5wb3J0X25hbWUsIHNlbGYuZ2V0X29wdGlvbignY29uZmln
dXJhdGlvbicpKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIpCiAKICAgICBkZWYg
Y29uZmlndXJhdGlvbl9mb3JfdXBsb2FkKHNlbGYsIGhvc3Q9Tm9uZSk6CiAgICAgICAgIGNvbmZp
Z3VyYXRpb24gPSBzdXBlcihXUEVQb3J0LCBzZWxmKS5jb25maWd1cmF0aW9uX2Zvcl91cGxvYWQo
aG9zdD1ob3N0KQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcAppbmRleCAzZjhlMjQ0MGYyODNl
NGI0ZTU0MjdhZDY0NGQyYjNiNGUzMTk2NWExLi44MWJjZDk2MmEwOWM3YWNmZWYyMmVjMmY0OGJj
MDJiMjQ5YTU2YzQ0IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcApAQCAtNjUsOCArNjUs
MTMgQEAgQ1N0cmluZyBnZXRPdXRwdXREaXIoKQogCiBzdGF0aWMgQ1N0cmluZyBnZXRGb250c1Bh
dGgoKQogeworICAgIC8vIFRyeSBmbGF0cGFrIHNhbmRib3ggcGF0aC4KKyAgICBHVW5pcXVlUHRy
PGNoYXI+Zm9udHNQYXRoKGdfYnVpbGRfZmlsZW5hbWUoIi91c3IiLCAic2hhcmUiLCAid2Via2l0
Z3RrLXRlc3QtZm9udHMiLCBOVUxMKSk7CisgICAgaWYgKGdfZmlsZV90ZXN0KGZvbnRzUGF0aC5n
ZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9FWElTVFMgfCBHX0ZJTEVf
VEVTVF9JU19ESVIpKSkKKyAgICAgICAgcmV0dXJuIGZvbnRzUGF0aC5nZXQoKTsKKwogICAgIENT
dHJpbmcgd2Via2l0T3V0cHV0RGlyID0gZ2V0T3V0cHV0RGlyKCk7Ci0gICAgR1VuaXF1ZVB0cjxj
aGFyPiBmb250c1BhdGgoZ19idWlsZF9maWxlbmFtZSh3ZWJraXRPdXRwdXREaXIuZGF0YSgpLCAi
RGVwZW5kZW5jaWVzR1RLIiwgIlJvb3QiLCAid2Via2l0Z3RrLXRlc3QtZm9udHMiLCBudWxscHRy
KSk7CisgICAgZm9udHNQYXRoLnJlc2V0KGdfYnVpbGRfZmlsZW5hbWUod2Via2l0T3V0cHV0RGly
LmRhdGEoKSwgIkRlcGVuZGVuY2llc0dUSyIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWZvbnRz
IiwgbnVsbHB0cikpOwogICAgIGlmIChnX2ZpbGVfdGVzdChmb250c1BhdGguZ2V0KCksIHN0YXRp
Y19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfRVhJU1RTIHwgR19GSUxFX1RFU1RfSVNfRElS
KSkpCiAgICAgICAgIHJldHVybiBmb250c1BhdGguZ2V0KCk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUuY3Bw
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250
c1dQRS5jcHAKaW5kZXggYTQ5YzdhMjkyMTgyNTkxZTI3MjdiMmI5MDFlNDEyYjJkZThlMDNkYS4u
OGJlNzM2ZjA0OWM5MWIzMDhjZDJjMWVjYWYxNDA1YTA1YzFhZTUwMCAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250c1dQRS5j
cHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZh
dGVGb250c1dQRS5jcHAKQEAgLTU4LDggKzU4LDEzIEBAIENTdHJpbmcgZ2V0T3V0cHV0RGlyKCkK
IAogc3RhdGljIENTdHJpbmcgZ2V0Rm9udHNQYXRoKCkKIHsKKyAgICAvLyBUcnkgZmxhdHBhayBz
YW5kYm94IHBhdGguCisgICAgR1VuaXF1ZVB0cjxjaGFyPmZvbnRzUGF0aChnX2J1aWxkX2ZpbGVu
YW1lKCIvdXNyIiwgInNoYXJlIiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgTlVMTCkpOworICAg
IGlmIChnX2ZpbGVfdGVzdChmb250c1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4o
R19GSUxFX1RFU1RfRVhJU1RTIHwgR19GSUxFX1RFU1RfSVNfRElSKSkpCisgICAgICAgIHJldHVy
biBmb250c1BhdGguZ2V0KCk7CisKICAgICBDU3RyaW5nIHdlYmtpdE91dHB1dERpciA9IGdldE91
dHB1dERpcigpOwotICAgIEdVbmlxdWVQdHI8Y2hhcj4gZm9udHNQYXRoKGdfYnVpbGRfZmlsZW5h
bWUod2Via2l0T3V0cHV0RGlyLmRhdGEoKSwgIkRlcGVuZGVuY2llc1dQRSIsICJSb290IiwgIndl
YmtpdGd0ay10ZXN0LWZvbnRzIiwgbnVsbHB0cikpOworICAgIGZvbnRzUGF0aC5yZXNldChnX2J1
aWxkX2ZpbGVuYW1lKHdlYmtpdE91dHB1dERpci5kYXRhKCksICJEZXBlbmRlbmNpZXNXUEUiLCAi
Um9vdCIsICJ3ZWJraXRndGstdGVzdC1mb250cyIsIG51bGxwdHIpKTsKICAgICBpZiAoZ19maWxl
X3Rlc3QoZm9udHNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNU
X0VYSVNUUyB8IEdfRklMRV9URVNUX0lTX0RJUikpKQogICAgICAgICByZXR1cm4gZm9udHNQYXRo
LmdldCgpOwogCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttIGIv
VG9vbHMvZmxhdHBhay9maWxlcy9kZWZhdWx0LnhrbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDE2ZjZiMDhmNmQ4MDg1ODA5NjhiYTAyMjU2ZDkwNzVkNDhhNDdkMC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwg
MApIY21WP2QwMDAwMQoKbGl0ZXJhbCAxMjAzMgp6Y21jZ3lZajdMYWItdWU7NUZraVZsMyVmRmNT
XnJ4KiROWTJMNHNpR3JVQyh3cHp0JlJsOUgyJXJBU3okTVVnWn0Kek4+LWY0Tn5WKF5vd1VnYE56
LUB5dERVfj5SQ1V3TlJER3FYYD4pZ0tZZFc0emBmP202YW9kQCtvdk5MJS0qQGo+Cno+fmFtSXMl
TyZXOURlKHFkKE9TKktLOTxiaStsTHVnPWc9SUA1aTIzTikwR1dlTX1YVTEwMFYyREt5fGl1U1BC
NAp6cFUyalkrUThSYDk9fDY3WSotSUg5QSRjWl9uN0NXKWMkd0hSQmk4S1dvelhFeWR4Xk51P3RN
N082TzglcXJLTWMKemJSMVJETj1HI3sjI0otRndZbDVmK0U2TzREIXUhSllPTyVJIUs/PDJ8SUdU
T2oqMnFSKilDJE5jNk9IKWN4IUxGCnooKj41VTVXVSMlUkdtdyFvbDdUe0hgYlNUSXk9WG94IW1k
UVVVXmktX3dQcVVOKT1tcWxgQUd3NUVxaCRqNilfTQp6OE9TNmczel5DbFElTU55UXRvdVEpb0FD
WVJqdlRQMHtqWl9FNU5TK3pYSlJVQEdIUXQwS1dxSzNoKm5XKy1BRjMKenRLezMyVHBvVVRffnFm
M2hoSDlrZEhDaHdteG9eLWV0RyFpUT5re1BQXmA/Zk4rYDNFbn0qKnN7SEViSTRabXNsCnpPflk+
KmUkKClxaFRuODUqPSlCOzx3a1lCbEI9e15qZUllbVlxVnl7JHJRd2VxI0AmdzJ9bE1xM0NUakhY
M0Q4Iwp6dHkoRiFAfEFNQUZ7I1JwRU15QU9ubENyVGZmSkFuQnYmWG1RYX40eWg5bl97TkBieXZX
fTgtOHZ1KSZzQD19TzMKemxgN31qeHpiIVNTMVEpWnJFK189SSR0V0RZVUhjc016UGpKZCUkPDAo
UU1fTGhfX09rRFV8QmY7KFNBPyNfVzhmCnpRay1jd1hHYHMzdClMM14jYWQmd1BAQWlANms0Uz9t
dldRVWBGMyVrVUt4WCZYdyg7KiRueSM0R21ZR1EzeiZzVwp6bTE/dDwoeTlDY2BZdjVyb1UxaDxg
Rmdke1lTJGFOKzF5O0NTI1FrTzNpWCswdCh+dG8mZVJjQ0JpQ3hyJSsoNnsKemBMLSQqRH4tOS1f
I18xUmpaZSpgQ1gkZDgjRCUwRzxCJG5SMV9IWVkqaUZETDFHXjBER08pfFFFKDV5Xj5AdSorCnp6
JUIjMzREMlJoSHduOCoqaUZLMjVfWGZZbn1wcFk+P1VEMTNBLSVwdmFyai1FKF5PWD82Uj1TIVkm
S0RFYk93ZAp6bkBYYlgoYSRPTGF8LT5PTE8tWF8mbmZoQzNqT1JOLTlgVm43IU5NJi0wXkNtd1RS
fGQpbllyPm5yfTJxWEJ5MnAKekg8XlZAJkFGKjBCbjVGSFh+O05hMCtOQURMU1VESW9lTWhgYn1z
QigqdHhLQ1ZkdWltZyZxM0NienpyPVReZT8yCnoqcmoyWWhGdXpWWTFwTTxteGYmJGNIXiljaHV0
e3IjJGgpT3lLJmYhIXcmdTdxQ1pecGhsfkRqKEh9MVEhJHA2JQp6PW5yPmRMTyhQNGwqXylaN0hq
aS1tUCR7eVhFX0VjKXBtfktwaC1sPGJDdWE5JDRhP0BNO3AmfFdxSjFycGJLMEMKenJoIUdeSUlz
enYwTWFmNEpPaThyJkk3WitJcDdxcSZTeExrITFLKWZhek4oUzB5NGg+a29uQzNuY3Btc2BJVWdv
Cno/LVk+dm00VkRwS21XaWRAdGlaQyg/STV2MlFyQHBBb0gwOUdNXmZkYEJjNjZKRlpyP0VeY3Bo
Yn57U2wjfFBDaQp6R058Z2M7IT5yIVBeQHNTLW4+RyFFZHJaQyluMlNpeH0mQnNrTHZrJFpUK2NU
NkBpXmlUaURTanA+bVoqREt9a2cKeiYqZVFeTjlDOGRjYklQWndrVWkrbTVYT0VtdzB2cVRyPHZm
eCl3Nmo8PlRMPVlMKF9AKzl4PFJKdi09Rl82YVQ9CnpDJXJnTkRzQDtqQD1GLUojaWp8P01MaiRw
WismbilkcT02R3c5blVUP1BrNT1kM2czUSltd3M0IUlMSClieUQzJQp6cFVPY2UmbkxLVURTSzNX
TXZZSk5XPExKOSRIdmsxUjw9NkNhIX4xVFQ7NXUkPzZ9eSopcmdNQ0h9Pk4zKT52ZzkKejUhKWxp
bUlHY2dfSEU1TjlFfWJyaGJ1ayQoPzt0PkVKcnpMdzdBTipuLSQjK2RmMT84ZCs2blhIcjhWeiZi
NHtlCnpqMSVkclFUNyRgKnpJb1VaZDAraXFZbFRCTmQpPUcqa081ZyNGUURhU3VYbDdoT3JpZjN9
OWFaI1ghdGF1XyREfgp6TEh8fGlgQ01oR0lFTXdvKUY7XkFJK2cqbVhHam01KmhjaloxZ2pMckJ4
MiFzKWlJQmY0VC1ITDI8XytyQUVVSngKenBUdy09TWYoaD9jQnh0UG99ZEZgP20hR3krXzdTKV5N
U1NuV3Brc3x0KGZJbExuPklDeDhgLVR3emJyMDY7cjIyCnpPJUplTXJgaEpaN2x1NSY/Z2NiQzt5
NUk2YUorZl8lcjxCSHF1RiYjUTRCe2Z1OSlwdTB9O28lRDtPVUpYIXUkRwp6LV5SZklFellRUVVw
ekR4TCshPFZVSzk7RmZTcTU9IWNHKkk0TlV8IXUrVUY3Pkoodn1QP3NuK3RPS1k9NEUxbUAKejdl
eW9Sdio4emtVaiUrT3szMjI3LVVEXmleV3hJWCt5WGtkby1jRlloYnwxPzE2UDxJTkRQcCRVNl5+
T3hCN2hqCnp6cVQjTSY4QGJyampsbDMrR3lLajJpbiNqS2ohaGhjezdMR0NkfEZJZGJ7fVRYPUJH
NGs/fFhSJlUpPEBjK1R8TAp6bHNVaX5xdSs2JHR5O3pFb1pudklkWkloPDlRKVZKX193Mjs3VXBG
PFZoODU2Z3FvPyglUX0za1dreHVeT0ZxSCYKel41JiZHMTk9OWZwMH57VEg9ODMoeyRAVDI9SWB+
I0o7RDZIYiN2PnNXKmdzWC03RSs1NEM9OzQodGpBaGRpfXQ+CnojV2ZjNW0zbHw4e09hODRWcXdX
X2tPSmorZCEoRHlHM3BHTXpDZEkpXlRvdEI5TClFJEFNPyVmMihIdD9IcSgxTwp6PGpaKjNXP1U7
Q1BfMUdFSkxxPENpTGFTVXhtc2FLQDdSSkpnIXNjXzZSTmtnOXJsaVZyPFhPJHRqayZoK1gmWnUK
ej47biQwb3lhc2UkS01nR1hRTUxUa19yMShgdzA2YntsUzhMKWY8UUN0PXteR3pPdkN6TX15QF40
fCEkdT5tT2FPCnpRUTZ4ZktZbHxBPyF9K091RlU9Pj5oZ3A4WGo5ZnVzbl87VlhMfSNwQmczQnUt
JCNBMXFgP3BmYH44biNRS0wxKwp6bF9UN3kwZURvbndnPi07X1ElTFc4fWZRMSNKe1kwcUw9PTlo
PHtie3A8ZXBlTGozRVI1QkpqRjREbVpPa0xqXz0KekB7ajhIdSFsd2J0aW8tPTg5KHskIVdscExo
dkAmfEt+Iy1RPlRtNUl0VXZnSGBoJEQqQTdGbSlrMj1PYkV9WS0yCnpjcU11cTE+cVZkaGQ7Knd1
YU89JV9BZkNXWXV9MmdlRlVNQFBseCNEZEt9SjN8QWBSKWIpUiFPUChLeW8qTG9jSgp6PE5DMT5m
NFJwXjElNW9sZjN3SDthVmhvYjVkVkNTcWFMe2JPbzshTSZuPjNeV1FoTlVhQmtzd3tZOzRlc1BL
ZWkKeiNfejklXyRQZz9yLW9rKUBsV3wmY2oyI3VfJTkyTyVncGppQV54SzlMNzh9ZEhwRzlgPEVB
XitYRzhvaWc/c1Y7CnptQ3RwS2U9VkgtJi1WRzc5I15gKFVLUUBPJilAZGFWVTA0cylaPHtfdWdt
IUk/NyFsMzlwTXszKlg0aUo9ZW04fgp6Pn5UfSFmQStjZHt9LVFZZ01hbjhfV3k/UExEUVk7LSta
cTl8Sn49PnwzN0BMe3JeKz1WZnI2WT5QQz17RCluRSYKekZ+aktte0BkcWgzOGw3IV85dkJrQ2N4
Pj80UkUmQ1BMTHlfLTV8I155QkZrVylKczgqXyR+K2VzOFlgY0kzTXtkCnowblJAOEshQ0ZXe3pD
WEw/c0A2Pyl0aXJDcHkkXkIqWW00ej1DOX0xME4zLVlhRihhJSo4dGJedDhqI2BeIXlzJgp6ZWBt
JU1UR3pDJV8wOU1aJlFGSyVhPj5pP2FvdjRiS2ZIOV5lT055e1pZSTJGa0RDUSFwdlVuZGp3e3lW
Y3RPViUKej97UEROMlljTCVzNj53XndFYSt6NHsxSyE8RUJMKTdYSHlqY2VaPE9NP0t7OCNyNGV7
Xj89N3VFTDY4dkpMKkE/CnpqflRBbDdpa34xZkw+cH41M0RjWHRVYzVKTiFsO01rMSVyQzQlMjxV
a00tREZLVmQ+VUVtKCMxPzslSWtfUjVMOQp6b2ZHU3VvISNVNVg5eGJ5Zlp0RzVhcjZBZmBwKCt1
QCVoJUhDVWZARXkoa2x9cCgrS3t7bWN5YXtBUDdoPylmcU8KekxBZjZYSnx5PU96PSEyTjEzV0FE
bGZZd2dwOU1aOV9meD4qYS1SZTsxZVBAaFQkMjBtMSloLW1JTzN3dlcpTGB2Cnp2NXRFeV8tKmVR
KmdqJEc1OWx2THg3YkpEZnYoc2AtLVdLKE42KzdqK0l7cj1IaEhGeGVoPDMmS0tnYSY9S0FRagp6
cHNWLU1aJHNCR2RpN3I1YjhgUUY7MTU5OVotPncoN1dUbVpWQXwrRntnK3tyR2Q+Nk9gMjQ5X2Vl
fG8pNzVlQygKemZeTWRke3ljUUVlZWBTNG1IT3pQaFZFMSFKJTUrdXd+VFBWOyoqJUY3YF4lKTtD
SVhZQmZ0bWJ7YC1MK2ZeZSRnCnp5dSkkd0tKWDdoIXVmcHd4K25ZU3BNPyZ1QjUkIUBmaUItaWUr
anlVS0tnVWVQNTA0bkxSYWdmelglO1ppMGhjJgp6MzRDMWMtdnhZKytgays2ZUd0fn4/QD5RfnA5
X0JmPFgkQnhfaGFze1ZaaytrXkV9N01zUD96QHlifGBtNHg2QkcKenRgNkokRV5MQ3JgOCNhJGQk
MCkjPWsmMTZANTNmMm9hZShmZSpsfUhhUEFNPXsyXj9EIXUyMypeOTklaGc9PDlFCno9OHM/IzZz
e1gjbj1pczlDfHBhekhoJkQ4cG0yUyR0UncxcT0tS3shLXs4Mzl6TCRHcC1nQSUzZUp9NjFwWERB
bQp6b0c8czhMRSpZV2QreHV2Qys5dSl5ND9UcnA4SWFAI2whaDxLTj1MU1NHNERRMF5jMlkmdnlk
OEMtOSM4ZjQmcCYKem9fa2c5VXdRdm9Bb3JANGJ5ZElmVk9aZlM1JDl0NmB3R1Z9JDFiMTBwTSEq
QmM/SkdLO28yTHZgNGlYI2gzaGYwCnoocnRONm15YjBeQElrPngxUm5yO3dtKzxPamB+TW54RDM3
bjFaQzg7aTUzMj5WO09kTExod3ZrIVFZO15yK09YMgp6eyFJdXIxZT0yTWY9PnZ4MVEhTHtmKHdF
eGc4TStQNCE3LWRFYTRxaEBPSHQrMWI7Xy1VVjtQcSRtO2h5KChTT2gKekFhPHdWJEcmN2duIWQh
RUZLT2RJUXw/S3tKKW1XcylPJGFjZV9tfFgxKW1iIS1qQ3x8ST5NaDN6OXtpczVXRmIzCnpDVSZR
VktQfGk/ezV5ZHIyQnFGRHgpWHgkN2tuO1leRnlNYDJ+Rz5YT1lsai1Gfk1FST1MUFEoT2JWdDJq
fG5+awp6Xnh9Q1o/JTglazNmdHUhcVBxaV82NVU7KnlBJFp5LTZ2YDk1IT9pTmBGPmIqY01JK2FF
e0toMV9wSW96MnkhM0EKejdgVFRidThIMzM4IXo5WT13fTNIMXh0YytLKENDP2lTOEUhVWxlPylY
TEQ3NXw2bmB0O3lUMGloUyEoJXtZaWIjCnpAbmQ4QkBjTyMrRzI0aTdkaExgS1VKeHRgez02WFRQ
a1lickd2TGdSSXpFQCl7bGBWYGFqI0UqTUV2ZytUb1FhLQp6QFRfMTQ9PXBsJUowZlllcGV1TXIm
PURMRWowJHBXR1FPX2hDaj43R3pFfCoqZn1heG5HKkRPUUNqWGN4RkF1JSoKelA5eENtPEYjaXtA
cHRWfXtuNjA2JTNxZXY3M2M1Uk15PjN0LVdNeHstd0RsR0NQfjcoZ2A9KkQ0fVdqSXhWXj1uCnoq
N15DYWNSOHhPeXQkMEl3NVE+SFlvcFdJIyYySCE2fnA8Ym8kYnloX21jPiVjajB7MDkpSXNRcXM2
RzlUaT9NKAp6WXBgZDxHT05xJCohLUVkR24wVGwmKVJiTHtRQm0zI19uSTxaPkZzSEBLeVBzaFVB
ITw/UVpSRGtNYlNuJntmKj0KekQ7eDh5WnRkLUtNJDRUbUowcWppPXVaVHdoZERQa2kxKClCK2Jn
TiQjR35xY3g1WjxhUWM8X1ZoJCpJRHVxTT5sCnpWYEZRYmpaMi1+Xl9BdFppPUVaPXleQ1lydkNY
YVMjcFI3TEI7cF90eytxd2Bvdm16a1ZybmRmbXsmVkhFOFg/Jgp6LVNzVyoyWnoqYlhTMzU/VWx+
UEY7OEFzTVZ8bkVRQGJjT144ZmllQz97PT1aTnJTMG1sKVNUdkNeViolQE5yYkYKei1veXNkIyk1
JUdTWTUtUDRaSClqZDt4Iz40dmY9YmUpPFAzS1loKCZJIT15WjxMJncxOVl9WHtJIX4+OXQ4fF9z
CnohfW17bzM/N2lxeCpPeTRabVZtI2lnRkU2VWVqcmUkdzgyZ2I9STB1bG90QF4zcCFyKjVxPERH
STZtOV48KCYkfAp6bGhOXztecUhUMkJUKFBoYmJXYysldW9NRCEyZTZ5emdqTkA+Tl5yaHpvR3FH
RiEyM2YzKmBUMkNMSmYoe1BkP0MKenpkYVk2N3dgPTZecUhVRDRkajFUbShTQmBlKT1gRWs+Nml1
UVU2TUBmY28+SjlVdTJNP05eV3xiaCE2KUY0ezQhCnpYNylCJCVzX2ZvVH57dzN4KCo4clJhXj1E
YVUkVmFMVWY2WnZ2akZmOzB8PWJpRHwpYyEzbTU8Pk5DUDgxKyMpdgp6Q093cmpKZTNtRWBTR2tB
aE0yezNkZXJsKjg8QSVzeDdVYHtJczNaRzQ4MHR8XkI0OHY4XkkwRktoWH43OEZoWEAKem9nWXhn
Mmh7TmFDJlcoMjJkPzctPmlCP0RDZiZyeGJDSlN6ZXRaSihvZXdSVXolTHNwN2lUM0NfPk97ZVFO
fEFFCnpzPGJgTVJTQkFNYWpyX1pESHJGZWdxdzE0dUY3eUo3dzBPND4tX2orVjZAdkcjaDU+WWF5
aGFTRHIpMldsKEVENAp6RHtZVlNTQXdRb29XQnhvJUVrRkI7aWc9aXpjTzZQI2tvdiFLQj5lNDF7
Qk5WbGFqIVIwLWtAPV9CZ0w4WHYpUVQKekUjYW5Jb1l4WD0lRWZzdDtpZz1pPVFQfXUlT0A/TlZ6
d1JPY3RtK1BKQmQ0Kz1oK2YhKEJecWhCRn10Y09qPG5WCnpMKFgkPE00b311VD5BfiRGOyFlJC1f
X0dRIyFQYSFVfnxrMkk+O0xSbUI0ZD1aem5pd2k1UDYyJHQzYmpDWHMjMQp6YmVfV2A9bE0qTlVP
LXZPRjJJNWgyaFZZbUdpS1dKSmZ9e19TeHpGKWJgbyhHdGFEfDFkRyh6QTspb3EjOUVzbDgKeldr
NVdhTjt7cXZIQ1JQbSRYZ20yNUFBcXY2PyUoalJ9REBIPF9aWmx0ajdsOTtDV1YpSnxVUlYkaTZp
QnEoc2xCCnpwWlRRKWktPnp6Kk18IX1YUDwtYExWN2B1MSlLcnZ0VHZXNko2S0M/XntWPTlKT0J8
NjRxVS1+ZnJHakNZYT04MAp6ck97bCR5QFg/VHQ9QTZ3WTJrZj82WHt4UzlQIWhLeXxkUHA8I1F9
STtAblZRSylHTDN0MiVSQ1pvPlN3YEY3WFIKekx3Y3tuSldMXng9blp4S0Z6UkhQR0VEcllraGZk
TDtsTnBNc2Z2bVcrKSRzIzxvWW93JDc+NnpqKFdSZ2FjO284Ck1ra3NkfmJJSWlZMDgzSzAyPjx7
OQoKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaCBiL1Rv
b2xzL2ZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3
NTUKaW5kZXggMWMwYzQ4MzA1MWZiZGY4NjA0Yjk0NGE2MzUxMWM0ZTEyMWVhZWY0ZC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL2Zp
bGVzL2h0dHBkLWF1dG9nZW4uc2gKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLWF1dG9t
YWtlIC0tYWRkLW1pc3NpbmcKLWF1dG9yZWNvbmYgLS1pbnN0YWxsCmRpZmYgLS1naXQgYS9Ub29s
cy9mbGF0cGFrL2ZsYXRwYWt1dGlscy5weSBiL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5
CmluZGV4IDg5ZWJjNjczMTBjMWQ1Yjg0YzkwY2Y1NDA3Zjk0MGMwMWIwNWVlZTYuLjllYmUxMGE4
OTM2YWEzYjYxYjNjMTNkNWFlNWQwOWY5ZDFhYzk4ZTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL2ZsYXRw
YWsvZmxhdHBha3V0aWxzLnB5CisrKyBiL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5CkBA
IC00OSwxNSArNDksMTAgQEAgZXhjZXB0IEltcG9ydEVycm9yOgogCiBGTEFUUEFLX1JFUSA9IFsK
ICAgICAoImZsYXRwYWsiLCAiMC4xMC4wIiksCi0gICAgKCJmbGF0cGFrLWJ1aWxkZXIiLCAiMC4x
MC4wIiksCiBdCiAKIEZMQVRQQUtfVkVSU0lPTiA9IHt9CiAKLVdQRV9NQU5JRkVTVF9NQVAgPSB7
Ci0gICAgInF0IjogIm9yZy53ZWJraXQuV1BFUVQueWFtbCIsCi19Ci0KIHNjcmlwdGRpciA9IG9z
LnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pKQogX2xvZyA9IGxvZ2dpbmcu
Z2V0TG9nZ2VyKF9fbmFtZV9fKQogCkBAIC0xMjMsMTMyICsxMTgsNiBAQCBkZWYgY2hlY2tfZmxh
dHBhayh2ZXJib3NlPVRydWUpOgogICAgIHJldHVybiBUcnVlCiAKIAotZGVmIHJlbW92ZV9leHRl
bnNpb25fcG9pbnRzKGFycmF5KToKLSAgICByZXN1bHRfYXJncyA9IFtdCi0gICAgZm9yIGFyZyBp
biBhcnJheToKLSAgICAgICAgaWYobm90IGFyZy5zdGFydHN3aXRoKCctLWV4dGVuc2lvbicpKToK
LSAgICAgICAgICAgIHJlc3VsdF9hcmdzLmFwcGVuZChhcmcpCi0gICAgcmV0dXJuIHJlc3VsdF9h
cmdzCi0KLQotZGVmIHJlbW92ZV9jb21tZW50cyhzdHJpbmcpOgotICAgIHBhdHRlcm4gPSByIihc
Ii4qP1wifFwnLio/XCcpfCgvXCouKj9cKi98Ly9bXlxyXG5dKiQpIgotICAgICMgZmlyc3QgZ3Jv
dXAgY2FwdHVyZXMgcXVvdGVkIHN0cmluZ3MgKGRvdWJsZSBvciBzaW5nbGUpCi0gICAgIyBzZWNv
bmQgZ3JvdXAgY2FwdHVyZXMgY29tbWVudHMgKC8vc2luZ2xlLWxpbmUgb3IgLyogbXVsdGktbGlu
ZSAqLykKLSAgICByZWdleCA9IHJlLmNvbXBpbGUocGF0dGVybiwgcmUuTVVMVElMSU5FIHwgcmUu
RE9UQUxMKQotCi0gICAgZGVmIF9yZXBsYWNlcihtYXRjaCk6Ci0gICAgICAgICMgaWYgdGhlIDJu
ZCBncm91cCAoY2FwdHVyaW5nIGNvbW1lbnRzKSBpcyBub3QgTm9uZSwKLSAgICAgICAgIyBpdCBt
ZWFucyB3ZSBoYXZlIGNhcHR1cmVkIGEgbm9uLXF1b3RlZCAocmVhbCkgY29tbWVudCBzdHJpbmcu
Ci0gICAgICAgIGlmIG1hdGNoLmdyb3VwKDIpIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcmV0
dXJuICIiICAjIHNvIHdlIHdpbGwgcmV0dXJuIGVtcHR5IHRvIHJlbW92ZSB0aGUgY29tbWVudAot
ICAgICAgICBlbHNlOiAgIyBvdGhlcndpc2UsIHdlIHdpbGwgcmV0dXJuIHRoZSAxc3QgZ3JvdXAK
LSAgICAgICAgICAgIHJldHVybiBtYXRjaC5ncm91cCgxKSAgIyBjYXB0dXJlZCBxdW90ZWQtc3Ry
aW5nCi0gICAgcmV0dXJuIHJlZ2V4LnN1YihfcmVwbGFjZXIsIHN0cmluZykKLQotCi1kZWYgbG9h
ZF9tYW5pZmVzdChtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWU9Tm9uZSwgY29tbWFuZD1Ob25lKToK
LSAgICBpc195YW1sID0gbWFuaWZlc3RfcGF0aC5lbmRzd2l0aCgnLnlhbWwnKQotICAgIHdpdGgg
b3BlbihtYW5pZmVzdF9wYXRoLCAiciIpIGFzIG1yOgotICAgICAgICBjb250ZW50cyA9IG1yLnJl
YWQoKQotCi0gICAgICAgIGNvbnRlbnRzID0gY29udGVudHMgJSB7IkNPTU1BTkQiOiBjb21tYW5k
LCAiUE9SVE5BTUUiOiBwb3J0X25hbWV9Ci0gICAgICAgIGlmIGlzX3lhbWw6Ci0gICAgICAgICAg
ICBpbXBvcnQgeWFtbAotICAgICAgICAgICAgeWFtbF9sb2FkID0gZ2V0YXR0cih5YW1sLCAic2Fm
ZV9sb2FkIiwgeWFtbC5sb2FkKQotICAgICAgICAgICAgbWFuaWZlc3QgPSB5YW1sX2xvYWQoY29u
dGVudHMpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBjb250ZW50cyA9IHJlbW92ZV9jb21t
ZW50cyhjb250ZW50cykKLSAgICAgICAgICAgIG1hbmlmZXN0ID0ganNvbi5sb2Fkcyhjb250ZW50
cykKLQotICAgIHJldHVybiBtYW5pZmVzdAotCi0KLWRlZiBleHBhbmRfc3VibW9kdWxlc19yZWN1
cnNlKG1vZHVsZXMsIG1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCk6Ci0gICAgYWxs
X21vZHVsZXMgPSBbXQotICAgIGlmIHR5cGUobW9kdWxlcykgaXMgc3RyOgotICAgICAgICBzdWJt
YW5pZmVzdF9wYXRoID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShtYW5pZmVzdF9wYXRo
KSwgbW9kdWxlcykKLSAgICAgICAgc3VibWFuaWZlc3QgPSBsb2FkX21hbmlmZXN0KHN1Ym1hbmlm
ZXN0X3BhdGgsIHBvcnRfbmFtZT1wb3J0X25hbWUsIGNvbW1hbmQ9Y29tbWFuZCkKLSAgICAgICAg
YWxsX21vZHVsZXMuZXh0ZW5kKGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2Uoc3VibWFuaWZlc3Qs
IHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCkpCi0gICAgICAgIHJldHVybiBh
bGxfbW9kdWxlcwotCi0gICAgIyBUaGUgbGFzdCByZWN1cnNlIG1hbmlmZXN0IGV4cGFuZCBpdGVy
YXRpb24gbWlnaHQgbGVhZCB0byBhIHNpbmdsZSBtb2R1bGUuCi0gICAgaWYgbm90IGlzaW5zdGFu
Y2UobW9kdWxlcywgbGlzdCk6Ci0gICAgICAgIGFsbF9tb2R1bGVzLmFwcGVuZChtb2R1bGVzKQot
ICAgICAgICByZXR1cm4gYWxsX21vZHVsZXMKLQotICAgIGZvciBtb2R1bGUgaW4gbW9kdWxlczoK
LSAgICAgICAgaWYgdHlwZShtb2R1bGUpIGlzIHN0cjoKLSAgICAgICAgICAgIHN1Ym1hbmlmZXN0
X3BhdGggPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKG1hbmlmZXN0X3BhdGgpLCBtb2R1
bGUpCi0gICAgICAgICAgICBzdWJtYW5pZmVzdCA9IGxvYWRfbWFuaWZlc3Qoc3VibWFuaWZlc3Rf
cGF0aCwgcG9ydF9uYW1lPXBvcnRfbmFtZSwgY29tbWFuZD1jb21tYW5kKQotICAgICAgICAgICAg
YWxsX21vZHVsZXMuZXh0ZW5kKGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2Uoc3VibWFuaWZlc3Qs
IHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCkpCi0gICAgICAgIGVsc2U6Ci0g
ICAgICAgICAgICBhbGxfbW9kdWxlcy5hcHBlbmQobW9kdWxlKQotCi0gICAgcmV0dXJuIGFsbF9t
b2R1bGVzCi0KLWRlZiBleHBhbmRfbWFuaWZlc3QobWFuaWZlc3RfcGF0aCwgb3V0ZmlsZSwgcG9y
dF9uYW1lLCBzb3VyY2Vfcm9vdCwgY29tbWFuZCk6Ci0gICAgIiIiQ3JlYXRlcyB0aGUgbWFuaWZl
c3QgZmlsZS4iIiIKLSAgICB0cnk6Ci0gICAgICAgIG9zLnJlbW92ZShvdXRmaWxlKQotICAgIGV4
Y2VwdCBPU0Vycm9yOgotICAgICAgICBwYXNzCi0KLSAgICBtYW5pZmVzdCA9IGxvYWRfbWFuaWZl
c3QobWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lPXBvcnRfbmFtZSwgY29tbWFuZD1jb21tYW5kKQot
ICAgIGlmIG5vdCBtYW5pZmVzdDoKLSAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICBpZiAic2Rr
LWhhc2giIGluIG1hbmlmZXN0OgotICAgICAgICBkZWwgbWFuaWZlc3RbInNkay1oYXNoIl0KLSAg
ICBpZiAicnVudGltZS1oYXNoIiBpbiBtYW5pZmVzdDoKLSAgICAgICAgZGVsIG1hbmlmZXN0WyJy
dW50aW1lLWhhc2giXQotCi0gICAgYWxsX21vZHVsZXMgPSBbXQotCi0gICAgb3ZlcnJpZGVuX21v
ZHVsZXMgPSBbXQotICAgIGlmICJXRUJLSVRfRVhUUkFfTU9EVUxFU0VUUyIgaW4gb3MuZW52aXJv
bjoKLSAgICAgICAgb3ZlcnJpZGVuX21vZHVsZXMgPSBsb2FkX21hbmlmZXN0KG9zLmVudmlyb25b
IldFQktJVF9FWFRSQV9NT0RVTEVTRVRTIl0pCi0gICAgICAgIGlmIG5vdCBvdmVycmlkZW5fbW9k
dWxlczoKLSAgICAgICAgICAgIG92ZXJyaWRlbl9tb2R1bGVzID0gW10KLSAgICBmb3IgbW9kdWxl
cyBpbiBtYW5pZmVzdFsibW9kdWxlcyJdOgotICAgICAgICBtb2R1bGVzID0gZXhwYW5kX3N1Ym1v
ZHVsZXNfcmVjdXJzZShtb2R1bGVzLCBtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWUsIGNvbW1hbmQp
Ci0KLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UobW9kdWxlcywgbGlzdCk6Ci0gICAgICAgICAg
ICBtb2R1bGVzID0gW21vZHVsZXNdCi0KLSAgICAgICAgZm9yIG1vZHVsZSBpbiBtb2R1bGVzOgot
ICAgICAgICAgICAgZm9yIG92ZXJyaWRlbl9tb2R1bGUgaW4gb3ZlcnJpZGVuX21vZHVsZXM6Ci0g
ICAgICAgICAgICAgICAgaWYgbW9kdWxlWyduYW1lJ10gPT0gb3ZlcnJpZGVuX21vZHVsZVsnbmFt
ZSddOgotICAgICAgICAgICAgICAgICAgICBtb2R1bGUgPSBvdmVycmlkZW5fbW9kdWxlCi0gICAg
ICAgICAgICAgICAgICAgIG92ZXJyaWRlbl9tb2R1bGVzLnJlbW92ZShtb2R1bGUpCi0gICAgICAg
ICAgICAgICAgICAgIGJyZWFrCi0KLSAgICAgICAgICAgIGFsbF9tb2R1bGVzLmFwcGVuZChtb2R1
bGUpCi0KLSAgICAjIEFuZCBhZGQgb3ZlcnJpZGVuIG1vZHVsZXMgcmlnaHQgYmVmb3JlIHRoZSB3
ZWJraXQgcG9ydCBidWlsZCBkZWYuCi0gICAgZm9yIG92ZXJyaWRlbl9tb2R1bGUgaW4gb3ZlcnJp
ZGVuX21vZHVsZXM6Ci0gICAgICAgIGFsbF9tb2R1bGVzLmluc2VydCgtMSwgb3ZlcnJpZGVuX21v
ZHVsZSkKLQotICAgIG1hbmlmZXN0WyJtb2R1bGVzIl0gPSBhbGxfbW9kdWxlcwotICAgIGZvciBt
b2R1bGUgaW4gbWFuaWZlc3RbIm1vZHVsZXMiXToKLSAgICAgICAgaWYgbm90IG1vZHVsZS5nZXQo
InNvdXJjZXMiKToKLSAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgaWYgbW9kdWxlWyJz
b3VyY2VzIl1bMF1bInR5cGUiXSA9PSAiZ2l0IjoKLSAgICAgICAgICAgIGlmIHBvcnRfbmFtZSA9
PSBtb2R1bGVbIm5hbWUiXToKLSAgICAgICAgICAgICAgICByZXBvID0gImZpbGU6Ly8iICsgc291
cmNlX3Jvb3QKLSAgICAgICAgICAgICAgICBtb2R1bGVbInNvdXJjZXMiXVswXVsidXJsIl0gPSBy
ZXBvCi0KLSAgICAgICAgZm9yIHNvdXJjZSBpbiBtb2R1bGVbInNvdXJjZXMiXToKLSAgICAgICAg
ICAgIGlmIHNvdXJjZVsidHlwZSJdID09ICJwYXRjaCIgb3IgKHNvdXJjZVsidHlwZSJdID09ICJm
aWxlIiBhbmQgc291cmNlLmdldCgncGF0aCcpKToKLSAgICAgICAgICAgICAgICBzb3VyY2VbInBh
dGgiXSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUobWFuaWZlc3RfcGF0aCksIHNvdXJj
ZVsicGF0aCJdKQotCi0gICAgd2l0aCBvcGVuKG91dGZpbGUsICJ3IikgYXMgb2Y6Ci0gICAgICAg
IG9mLndyaXRlKGpzb24uZHVtcHMobWFuaWZlc3QsIGluZGVudD00KSkKLQotICAgIHJldHVybiBU
cnVlCi0KLQogY2xhc3MgRmxhdHBha09iamVjdDoKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB1
c2VyKToKQEAgLTI4NCw3ICsxNTMsNiBAQCBjbGFzcyBGbGF0cGFrUGFja2FnZXMoRmxhdHBha09i
amVjdCk6CiAgICAgICAgIHNlbGYuYXBwcyA9IHNlbGYuX19kZXRlY3RfYXBwcygpCiAgICAgICAg
IHNlbGYucGFja2FnZXMgPSBzZWxmLnJ1bnRpbWVzICsgc2VsZi5hcHBzCiAKLQogICAgIGRlZiBf
X2RldGVjdF9wYWNrYWdlcyhzZWxmLCAqYXJncyk6CiAgICAgICAgIHBhY2tzID0gW10KICAgICAg
ICAgaWYgRkxBVFBBS19WRVJTSU9OWyJmbGF0cGFrIl0gPCAoMSwgMSwgMik6CkBAIC0zMTIsNyAr
MTgwLDYgQEAgY2xhc3MgRmxhdHBha1BhY2thZ2VzKEZsYXRwYWtPYmplY3QpOgogCiAgICAgICAg
IHJldHVybiBwYWNrcwogCi0KICAgICBkZWYgX19kZXRlY3RfcnVudGltZXMoc2VsZik6CiAgICAg
ICAgIHJldHVybiBzZWxmLl9fZGV0ZWN0X3BhY2thZ2VzKCItLXJ1bnRpbWUiKQogCkBAIC0zNjIs
NyArMjI5LDcgQEAgY2xhc3MgRmxhdHBha1JlcG9zKEZsYXRwYWtPYmplY3QpOgogICAgICAgICAg
ICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIk5vIHZhbGlkIFVSSSBmb3VuZCBmb3I6ICVzIiwg
cmVwbykKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKIAotICAgICAgICAgICAgICAgIHNl
bGYucmVwb3NbbmFtZV0gPSBGbGF0cGFrUmVwbyhuYW1lLCB1cmwsIGRlc2MsIHJlcG9zPXNlbGYp
CisgICAgICAgICAgICAgICAgc2VsZi5yZXBvc1tuYW1lXSA9IEZsYXRwYWtSZXBvKG5hbWU9bmFt
ZSwgdXJsPXVybCwgZGVzYz1kZXNjLCByZXBvcz1zZWxmKQogICAgICAgICBlbHNlOgogICAgICAg
ICAgICAgb3V0ID0gc2VsZi5mbGF0cGFrKCJyZW1vdGUtbGlzdCIsICItLWNvbHVtbnM9bmFtZSx0
aXRsZSx1cmwiKQogICAgICAgICAgICAgcmVtb3RlcyA9IFtsaW5lIGZvciBsaW5lIGluIG91dC5z
cGxpdCgiXG4iKSBpZiBsaW5lXQpAQCAtMzczLDcgKzI0MCw3IEBAIGNsYXNzIEZsYXRwYWtSZXBv
cyhGbGF0cGFrT2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJO
byB2YWxpZCBVUkkgZm91bmQgZm9yOiAlcyIsIHJlbW90ZSkKICAgICAgICAgICAgICAgICAgICAg
Y29udGludWUKIAotICAgICAgICAgICAgICAgIHNlbGYucmVwb3NbbmFtZV0gPSBGbGF0cGFrUmVw
byhuYW1lLCB1cmwsIHRpdGxlLCByZXBvcz1zZWxmKQorICAgICAgICAgICAgICAgIHNlbGYucmVw
b3NbbmFtZV0gPSBGbGF0cGFrUmVwbyhuYW1lPW5hbWUsIHVybD11cmwsIGRlc2M9dGl0bGUsIHJl
cG9zPXNlbGYpCiAKICAgICAgICAgc2VsZi5wYWNrYWdlcyA9IEZsYXRwYWtQYWNrYWdlcyhzZWxm
KQogCkBAIC00NDksOSArMzE2LDEyIEBAIGNsYXNzIEZsYXRwYWtQYWNrYWdlKEZsYXRwYWtPYmpl
Y3QpOgogICAgICAgICBzZWxmLmFyY2ggPSBhcmNoCiAgICAgICAgIHNlbGYuaGFzaCA9IGhhc2gK
IAotICAgIGRlZiBfX3N0cl9fKHNlbGYpOgorICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAg
ICAgcmV0dXJuICIlcy8lcy8lcyAlcyIgJSAoc2VsZi5uYW1lLCBzZWxmLmFyY2gsIHNlbGYuYnJh
bmNoLCBzZWxmLnJlcG8ubmFtZSkKIAorICAgIGRlZiBfX3N0cl9fKHNlbGYpOgorICAgICAgICBy
ZXR1cm4gIiVzLyVzLyVzIiAlIChzZWxmLm5hbWUsIHNlbGYuYXJjaCwgc2VsZi5icmFuY2gpCisK
ICAgICBkZWYgaXNfaW5zdGFsbGVkKHNlbGYsIGJyYW5jaCk6CiAgICAgICAgIGlmIG5vdCBzZWxm
LnJlcG86CiAgICAgICAgICAgICAjIEJ1bmRsZSBpbnN0YWxsZWQgZnJvbSBmaWxlCkBAIC00OTEs
NyArMzYxLDcgQEAgY2xhc3MgRmxhdHBha1BhY2thZ2UoRmxhdHBha09iamVjdCk6CiAgICAgICAg
IGV4dHJhX2FyZ3MuYXBwZW5kKCItLWFzc3VtZXllcyIpCiAKICAgICAgICAgc2VsZi5mbGF0cGFr
KCJ1cGRhdGUiLCBzZWxmLm5hbWUsIHNlbGYuYnJhbmNoLCBzaG93X291dHB1dD1UcnVlLAotICAg
ICAgICAgICAgICAgICAgICAqZXh0cmFfYXJncywgY29tbWVudD1jb21tZW50KQorICAgICAgICAg
ICAgICAgICAgICAgKmV4dHJhX2FyZ3MsIGNvbW1lbnQ9Y29tbWVudCkKIAogCiBAY29udGV4dG1h
bmFnZXIKQEAgLTUxOSw1MSArMzg5LDUyIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAg
IGdlbmVyYWwuYWRkX2FyZ3VtZW50KCctLXZlcmJvc2UnLCBhY3Rpb249J3N0b3JlX3RydWUnLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdTaG93IGRlYnVnIG1lc3NhZ2UnKQog
ICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLS1kZWJ1ZyIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaGVscD0iQ29tcGlsZSB3aXRoIERlYnVnIGNvbmZpZ3VyYXRpb24sIGFsc28g
aW5zdGFsbHMgU2RrIGRlYnVnIHN5bWJvbGVzLiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYWN0aW9uPSJzdG9yZV90cnVlIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVs
cD0iQ29tcGlsZSB3aXRoIERlYnVnIGNvbmZpZ3VyYXRpb24sIGFsc28gaW5zdGFsbHMgU2RrIGRl
YnVnIHN5bWJvbGVzLiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3Rv
cmVfdHJ1ZSIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLXJlbGVhc2UiLCBoZWxw
PSJDb21waWxlIHdpdGggUmVsZWFzZSBjb25maWd1cmF0aW9uLiIsIGFjdGlvbj0ic3RvcmVfdHJ1
ZSIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCctLXBsYXRmb3JtJywgYWN0aW9uPSdz
dG9yZScsIGhlbHA9J1BsYXRmb3JtIHRvIHVzZSAoZS5nLiwgIm1hYy1saW9uIiknKSwKICAgICAg
ICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoJy0tZ3RrJywgYWN0aW9uPSdzdG9yZV9jb25zdCcsIGRl
c3Q9J3BsYXRmb3JtJywgY29uc3Q9J2d0aycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGhlbHA9J0FsaWFzIGZvciAtLXBsYXRmb3JtPWd0aycpCiAgICAgICAgIGdlbmVyYWwuYWRkX2Fy
Z3VtZW50KCctLXdwZScsIGFjdGlvbj0nc3RvcmVfY29uc3QnLCBkZXN0PSdwbGF0Zm9ybScsIGNv
bnN0PSd3cGUnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9KCdBbGlhcyBmb3Ig
LS1wbGF0Zm9ybT13cGUnKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0oJ0Fs
aWFzIGZvciAtLXBsYXRmb3JtPXdwZScpKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgi
LW5mIiwgIi0tbm8tZmxhdHBhay11cGRhdGUiLCBkZXN0PSJub19mbGF0cGFrX3VwZGF0ZSIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBoZWxwPSJEbyBub3QgdXBkYXRlIGZsYXB0YWsgcnVudGltZS9z
ZGsiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJEbyBub3QgdXBkYXRlIGZsYXB0YWsg
cnVudGltZS9zZGsiKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLXUiLCAiLS11cGRh
dGUiLCBkZXN0PSJ1cGRhdGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0i
c3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iVXBkYXRlIHRo
ZSBydW50aW1lL3Nkay9hcHAgYW5kIHJlYnVpbGQgdGhlIGRldmVsb3BtZW50IGVudmlyb25tZW50
IGlmIG5lZWRlZCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVf
dHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlVwZGF0ZSB0aGUgcnVu
dGltZS9zZGsvYXBwIGFuZCByZWJ1aWxkIHRoZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCBpZiBu
ZWVkZWQiKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLWIiLCAiLS1idWlsZC13ZWJr
aXQiLCBkZXN0PSJidWlsZF93ZWJraXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFj
dGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRm9y
Y2UgcmVidWlsZGluZyB0aGUgYXBwLiIpCi0gICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCIt
YmEiLCAiLS1idWlsZC1hbGwiLCBkZXN0PSJidWlsZF9hbGwiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaGVscD0iRm9yY2UgcmVidWlsZGluZyB0aGUgYXBwIGFuZCBpdHMgZGVwZW5kZW5jaWVzLiIp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkZvcmNlIHJlYnVpbGRpbmcgdGhlIGFwcC4i
KQorICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLWJnc3QiLCAiLS1idWlsZC1nc3QiLCBk
ZXN0PSJidWlsZF9nc3QiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0
b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJGb3JjZSByZWJ1
aWxkaW5nIGdzdC1idWlsZCwgcmVwb3NpdG9yeSBwYXRoIGlzIGRlZmluZWQgYnkgdGhlIGBHU1Rf
QlVJTERfUEFUSGAgZW52aXJvbm1lbnQgdmFyaWFibGUuIikKICAgICAgICAgZ2VuZXJhbC5hZGRf
YXJndW1lbnQoIi1xIiwgIi0tcXVpZXQiLCBkZXN0PSJxdWlldCIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBoZWxwPSJEbyBub3QgcHJpbnQgYW55dGhpbmciKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSJEbyBub3QgcHJpbnQgYW55dGhpbmciKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1
bWVudCgiLXQiLCAiLS10ZXN0cyIsIGRlc3Q9InJ1bl90ZXN0cyIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbmFyZ3M9YXJncGFyc2UuUkVNQUlOREVSLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGhlbHA9IlJ1biBMYXlvdXRUZXN0cyIpCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG5hcmdzPWFyZ3BhcnNlLlJFTUFJTkRFUiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0iUnVuIExheW91dFRlc3RzIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1l
bnQoIi1jIiwgIi0tY29tbWFuZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFyZ3M9
YXJncGFyc2UuUkVNQUlOREVSLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlRo
ZSBjb21tYW5kIHRvIHJ1biBpbiB0aGUgc2FuZGJveCIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGVzdD0idXNlcl9jb21tYW5kIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bmFyZ3M9YXJncGFyc2UuUkVNQUlOREVSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBo
ZWxwPSJUaGUgY29tbWFuZCB0byBydW4gaW4gdGhlIHNhbmRib3giLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkZXN0PSJ1c2VyX2NvbW1hbmQiKQogICAgICAgICBnZW5lcmFsLmFkZF9h
cmd1bWVudCgnLS1hdmFpbGFibGUnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZXN0PSJjaGVja19h
dmFpbGFibGUiLCBoZWxwPSdDaGVjayBpZiByZXF1aXJlZCBkZXBlbmRlbmNpZXMgYXJlIGF2YWls
YWJsZS4nKSwKLSAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi0tdXNlLWljZWNyZWFtIiwg
aGVscD0iVXNlIHRoZSBkaXN0cmlidXRlZCBpY2VjcmVhbSAoaWNlY2MpIGNvbXBpbGVyLiIsIGFj
dGlvbj0ic3RvcmVfdHJ1ZSIpCi0gICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLXdwZS1l
eHRlbnNpb24iLCBhY3Rpb249InN0b3JlIiwgZGVzdD0id3BlX2V4dGVuc2lvbiIsIGhlbHA9IldQ
RSBFeHRlbnNpb24gdG8gZW5hYmxlIikKKyAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi0t
dXNlLWljZWNyZWFtIiwgZGVzdD0idXNlX2ljZWNyZWFtIiwgaGVscD0iVXNlIHRoZSBkaXN0cmli
dXRlZCBpY2VjcmVhbSAoaWNlY2MpIGNvbXBpbGVyLiIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIpCiAK
ICAgICAgICAgZGVidWdvcHRpb25zID0gcGFyc2VyLmFkZF9hcmd1bWVudF9ncm91cCgiRGVidWdn
aW5nIikKICAgICAgICAgZGVidWdvcHRpb25zLmFkZF9hcmd1bWVudCgiLS1nZGIiLCBuYXJncz0i
PyIsIGhlbHA9IkFjdGl2YXRlIGdkYiwgcGFzc2luZyBleHRyYSBhcmdzIHRvIGl0IGlmIHdhbnRl
ZC4iKQorICAgICAgICBkZWJ1Z29wdGlvbnMuYWRkX2FyZ3VtZW50KCItLWdkYi1zdGFjay10cmFj
ZSIsIGRlc3Q9ImdkYl9zdGFja190cmFjZSIsIG5hcmdzPSI/IiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoZWxwPSJEdW1wIHRoZSBzdGFja3RyYWNlIHRvIHN0ZG91dC4gVGhl
IGFyZ3VtZW50IGlzIGEgdGltZXN0YW1wIHRvIGJlIHBhcnNlZCBieSBjb3JlZHVtcGN0bC4iKQog
ICAgICAgICBkZWJ1Z29wdGlvbnMuYWRkX2FyZ3VtZW50KCItbSIsICItLWNvcmVkdW1wY3RsLW1h
dGNoZXMiLCBkZWZhdWx0PSIiLCBoZWxwPSdBcmd1bWVudHMgdG8gcGFzcyB0byBnZGIuJykKIAog
ICAgICAgICBidWlsZG9wdGlvbnMgPSBwYXJzZXIuYWRkX2FyZ3VtZW50X2dyb3VwKCJFeHRyYSBi
dWlsZCBhcmd1bWVudHMiKQogICAgICAgICBidWlsZG9wdGlvbnMuYWRkX2FyZ3VtZW50KCItLW1h
a2VhcmdzIiwgaGVscD0iT3B0aW9uYWwgTWFrZWZpbGUgZmxhZ3MiKQogICAgICAgICBidWlsZG9w
dGlvbnMuYWRkX2FyZ3VtZW50KCItLWNtYWtlYXJncyIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGhlbHA9Ik9uZSBvciBtb3JlIG9wdGlvbmFsIENNYWtlIGZsYWdzIChlLmcuIC0t
Y21ha2VhcmdzPVwiLURGT089YmFyIC1EQ01BS0VfUFJFRklYX1BBVEg9L3Vzci9sb2NhbFwiKSIp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iT25lIG9yIG1vcmUgb3B0
aW9uYWwgQ01ha2UgZmxhZ3MgKGUuZy4gLS1jbWFrZWFyZ3M9XCItREZPTz1iYXIgLURDTUFLRV9Q
UkVGSVhfUEFUSD0vdXNyL2xvY2FsXCIpIikKIAogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVu
dCgiLS1jbGVhbiIsIGRlc3Q9ImNsZWFuIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAg
ICAgIGhlbHA9IkNsZWFuIHByZXZpb3VzIGJ1aWxkcyBhbmQgcmVzdGFydCBmcm9tIHNjcmF0Y2gi
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJDbGVhbiBwcmV2aW91cyBidWls
ZHMgYW5kIHJlc3RhcnQgZnJvbSBzY3JhdGNoIikKIAogICAgICAgICBfLCBzZWxmLmFyZ3MgPSBw
YXJzZXIucGFyc2Vfa25vd25fYXJncyhhcmdzPWFyZ3MsIG5hbWVzcGFjZT1zZWxmKQogCkBAIC01
ODMsNiArNDU0LDcgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgc2VsZi51cGRhdGUg
PSBGYWxzZQogICAgICAgICBzZWxmLmFyZ3MgPSBbXQogICAgICAgICBzZWxmLmZpbmlzaF9hcmdz
ID0gTm9uZQorICAgICAgICBzZWxmLmdkYl9zdGFja190cmFjZSA9IEZhbHNlCiAKICAgICAgICAg
c2VsZi5ub19mbGF0cGFrX3VwZGF0ZSA9IEZhbHNlCiAgICAgICAgIHNlbGYucmVsZWFzZSA9IEZh
bHNlCkBAIC01OTQsOSArNDY2LDEwIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgIHNl
bGYuc2FuZGJveF9zb3VyY2Vfcm9vdCA9ICIvYXBwL3dlYmtpdCIKIAogICAgICAgICBzZWxmLmJ1
aWxkX3dlYmtpdCA9IEZhbHNlCisgICAgICAgIHNlbGYuYnVpbGRfZ3N0ID0gRmFsc2UKICAgICAg
ICAgc2VsZi5idWlsZF9hbGwgPSBGYWxzZQogCi0gICAgICAgIHNlbGYuc2RrX2JyYW5jaCA9IE5v
bmUKKyAgICAgICAgc2VsZi5zZGtfYnJhbmNoID0gIjAuMSIKICAgICAgICAgc2VsZi5wbGF0Zm9y
bSA9ICJndGsiCiAgICAgICAgIHNlbGYuYnVpbGRfdHlwZSA9ICJSZWxlYXNlIgogICAgICAgICBz
ZWxmLm1hbmlmZXN0X3BhdGggPSBOb25lCkBAIC02MDcsNyArNDgwLDYgQEAgY2xhc3MgV2Via2l0
RmxhdHBhazoKICAgICAgICAgc2VsZi5hcHBfbW9kdWxlID0gTm9uZQogICAgICAgICBzZWxmLmZs
YXRwYWtfZGVmYXVsdF9hcmdzID0gW10KICAgICAgICAgc2VsZi5jaGVja19hdmFpbGFibGUgPSBG
YWxzZQotICAgICAgICBzZWxmLndwZV9leHRlbnNpb24gPSBOb25lCiAKICAgICAgICAgIyBEZWZh
dWx0IGFwcGxpY2F0aW9uIHRvIHJ1biBpbiB0aGUgc2FuZGJveAogICAgICAgICBzZWxmLmNvbW1h
bmQgPSBOb25lCkBAIC02NDYsMzAgKzUxOCwyMCBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAg
ICAgICAgICAgc2VsZi5nZGIgPSAiIgogCiAgICAgICAgIHNlbGYuY29tbWFuZCA9ICIlcyAlcyAl
cyIgJSAob3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwKLSAgICAgICAgICAg
ICJUb29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlciIpLAotICAgICAgICAgICAgIi0tIiArIHNl
bGYucGxhdGZvcm0ubG93ZXIoKSwKLSAgICAgICAgICAgICIgLS1kZWJ1ZyIgaWYgc2VsZi5kZWJ1
ZyBlbHNlICIgLS1yZWxlYXNlIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIlRvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93c2VyIiksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tIiArIHNlbGYucGxhdGZvcm0ubG93ZXIo
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIC0tZGVidWciIGlmIHNl
bGYuZGVidWcgZWxzZSAiIC0tcmVsZWFzZSIpCiAKLSAgICAgICAgc2VsZi5uYW1lID0gIm9yZy53
ZWJraXQuJXMiICUgc2VsZi5wbGF0Zm9ybQotCi0gICAgICAgIGlmIHNlbGYud3BlX2V4dGVuc2lv
bjoKLSAgICAgICAgICAgIG1hbmlmZXN0X2ZpbGVuYW1lID0gV1BFX01BTklGRVNUX01BUFtzZWxm
LndwZV9leHRlbnNpb25dCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBtYW5pZmVzdF9maWxl
bmFtZSA9ICJvcmcud2Via2l0LldlYktpdC55YW1sIgotICAgICAgICBzZWxmLm1hbmlmZXN0X3Bh
dGggPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKHNjcmlwdGRpciwgJy4uL2ZsYXRwYWsv
JykgKyBtYW5pZmVzdF9maWxlbmFtZSkKLQotICAgICAgICBzZWxmLmJ1aWxkX25hbWUgPSBzZWxm
Lm5hbWUgKyAiLWdlbmVyYXRlZCIKKyAgICAgICAgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGggPSBv
cy5lbnZpcm9uWyJGTEFUUEFLX1VTRVJfRElSIl0KIAogICAgICAgICBidWlsZF9yb290ID0gb3Mu
cGF0aC5qb2luKHNlbGYuc291cmNlX3Jvb3QsICdXZWJLaXRCdWlsZCcpCi0gICAgICAgIHNlbGYu
ZmxhdHBha19idWlsZF9wYXRoID0gb3MucGF0aC5qb2luKGJ1aWxkX3Jvb3QsIHNlbGYucGxhdGZv
cm0sICJGbGF0cGFrVHJlZSIgKyBzZWxmLmJ1aWxkX3R5cGUpCi0gICAgICAgIHNlbGYuY2FjaGVf
cGF0aCA9IG9zLnBhdGguam9pbihidWlsZF9yb290LCAiRmxhdHBha0NhY2hlIikKICAgICAgICAg
c2VsZi5idWlsZF9wYXRoID0gb3MucGF0aC5qb2luKGJ1aWxkX3Jvb3QsIHNlbGYucGxhdGZvcm0s
IHNlbGYuYnVpbGRfdHlwZSkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb3MubWFrZWRpcnMo
c2VsZi5idWlsZF9wYXRoKQogICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAg
ICAgaWYgZS5lcnJubyAhPSBlcnJuby5FRVhJU1Q6CiAgICAgICAgICAgICAgICAgcmFpc2UgZQot
ICAgICAgICBzZWxmLmNvbmZpZ19maWxlID0gb3MucGF0aC5qb2luKHNlbGYuYnVpbGRfcGF0aCwg
J3dlYmtpdF9mbGF0cGFrX2NvbmZpZy5qc29uJykKKyAgICAgICAgc2VsZi5jb25maWdfZmlsZSA9
IG9zLnBhdGguam9pbihzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCwgJ3dlYmtpdF9mbGF0cGFrX2Nv
bmZpZy5qc29uJykKIAogICAgICAgICBDb25zb2xlLnF1aWV0ID0gc2VsZi5xdWlldAogICAgICAg
ICBpZiBub3QgY2hlY2tfZmxhdHBhaygpOgpAQCAtNjc3LDM1ICs1MzksMzUgQEAgY2xhc3MgV2Vi
a2l0RmxhdHBhazoKIAogICAgICAgICByZXBvcyA9IEZsYXRwYWtSZXBvcygpCiAgICAgICAgIHNl
bGYuc2RrX3JlcG8gPSByZXBvcy5hZGQoCi0gICAgICAgICAgICBGbGF0cGFrUmVwbygiZmxhdGh1
YiIsCi0gICAgICAgICAgICAgICAgICAgICAgICB1cmw9Imh0dHBzOi8vZGwuZmxhdGh1Yi5vcmcv
cmVwby8iLAotICAgICAgICAgICAgICAgICAgICAgICAgcmVwb19maWxlPSJodHRwczovL2RsLmZs
YXRodWIub3JnL3JlcG8vZmxhdGh1Yi5mbGF0cGFrcmVwbyIpKQotCi0gICAgICAgIG1hbmlmZXN0
ID0gbG9hZF9tYW5pZmVzdChzZWxmLm1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZT1zZWxmLm5hbWUp
Ci0gICAgICAgIGlmIG5vdCBtYW5pZmVzdDoKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAg
ICAgICAgICAgRmxhdHBha1JlcG8oIndlYmtpdC1zZGsiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgdXJsPSJodHRwczovL3NvZnR3YXJlLmlnYWxpYS5jb20vd2Via2l0LXNkay1yZXBvLyIsCisg
ICAgICAgICAgICAgICAgICAgICAgICByZXBvX2ZpbGU9Imh0dHBzOi8vc29mdHdhcmUuaWdhbGlh
LmNvbS9mbGF0cGFrLXJlZnMvd2Via2l0LXNkay5mbGF0cGFrcmVwbyIpCisgICAgICAgICkKIAot
ICAgICAgICBzZWxmLmFwcCA9IG1hbmlmZXN0WydhcHAtaWQnXQotCi0gICAgICAgIHNlbGYuc2Rr
X2JyYW5jaCA9IG1hbmlmZXN0WyJydW50aW1lLXZlcnNpb24iXQotICAgICAgICBzZWxmLmZpbmlz
aF9hcmdzID0gbWFuaWZlc3QuZ2V0KCJmaW5pc2gtYXJncyIsIFtdKQotICAgICAgICBzZWxmLmZp
bmlzaF9hcmdzID0gcmVtb3ZlX2V4dGVuc2lvbl9wb2ludHMoc2VsZi5maW5pc2hfYXJncykKLSAg
ICAgICAgc2VsZi5ydW50aW1lID0gRmxhdHBha1BhY2thZ2UobWFuaWZlc3RbJ3J1bnRpbWUnXSwg
c2VsZi5zZGtfYnJhbmNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLnNka19yZXBvLCAieDg2XzY0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGFzaD1tYW5pZmVzdC5nZXQoInJ1bnRpbWUtaGFzaCIpKQotICAgICAgICBzZWxmLmxv
Y2FsZSA9IEZsYXRwYWtQYWNrYWdlKG1hbmlmZXN0WydydW50aW1lJ10gKyAnLkxvY2FsZScsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfYnJhbmNoLCBzZWxm
LnNka19yZXBvLCAieDg2XzY0IikKLSAgICAgICAgc2VsZi5zZGsgPSBGbGF0cGFrUGFja2FnZSht
YW5pZmVzdFsnc2RrJ10sIHNlbGYuc2RrX2JyYW5jaCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBoYXNoPW1hbmlmZXN0LmdldCgic2RrLWhhc2giKSkKKyAgICAgICAgc2Vs
Zi5maW5pc2hfYXJncyA9IFtdCisgICAgICAgIHNlbGYucnVudGltZSA9IEZsYXRwYWtQYWNrYWdl
KCJvcmcud2Via2l0LlBsYXRmb3JtIiwgc2VsZi5zZGtfYnJhbmNoLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IikKKyAgICAgICAg
c2VsZi5sb2NhbGUgPSBGbGF0cGFrUGFja2FnZSgib3JnLndlYmtpdC5QbGF0Zm9ybS5Mb2NhbGUi
LCBzZWxmLnNka19icmFuY2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCisgICAgICAgIHNlbGYuc2RrID0gRmxhdHBha1BhY2th
Z2UoIm9yZy53ZWJraXQuU2RrIiwgIjAuMSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCiAgICAgICAgIHNlbGYucGFja3MgPSBbc2Vs
Zi5ydW50aW1lLCBzZWxmLmxvY2FsZSwgc2VsZi5zZGtdCiAKKyAgICAgICAgIyBGSVhNRTogRm9y
IHVua25vd24gcmVhc29ucywgdGhlIEdMIGV4dGVuc2lvbiBuZWVkcyB0byBiZSBleHBsaWNpdGVs
eQorICAgICAgICAjIGluc3RhbGxlZCBmb3IgRmxhdHBhayAxLjIueCB0byBiZSBhYmxlIHRvIG1h
a2UgdXNlIG9mIGl0LiBTZWVtcyBsaWtlCisgICAgICAgICMgaXQncyBub3QgY29ycmVjdGx5IGlu
aGVyaXRpbmcgaXQgZnJvbSB0aGUgU0RLLgorICAgICAgICBzZWxmLmZsYXRodWJfcmVwbyA9IHJl
cG9zLmFkZCgKKyAgICAgICAgICAgIEZsYXRwYWtSZXBvKCJmbGF0aHViIiwgcmVwb19maWxlPSJo
dHRwczovL2RsLmZsYXRodWIub3JnL3JlcG8vZmxhdGh1Yi5mbGF0cGFrcmVwbyIpCisgICAgICAg
ICkKKyAgICAgICAgc2VsZi5nbF9leHRlbnNpb24gPSBGbGF0cGFrUGFja2FnZSgib3JnLmZyZWVk
ZXNrdG9wLlBsYXRmb3JtLkdMLmRlZmF1bHQiLCAiMTkuMDgiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmxhdGh1Yl9yZXBvLCAieDg2XzY0IikKKyAg
ICAgICAgc2VsZi5wYWNrcy5hcHBlbmQoc2VsZi5nbF9leHRlbnNpb24pCisKICAgICAgICAgaWYg
c2VsZi5kZWJ1ZzoKLSAgICAgICAgICAgIHNlbGYuc2RrX2RlYnVnID0gRmxhdHBha1BhY2thZ2Uo
bWFuaWZlc3RbJ3NkayddICsgJy5EZWJ1ZycsIHNlbGYuc2RrX2JyYW5jaCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCisgICAg
ICAgICAgICBzZWxmLnNka19kZWJ1ZyA9IEZsYXRwYWtQYWNrYWdlKCdvcmcud2Via2l0LlNkay5E
ZWJ1ZycsIHNlbGYuc2RrX2JyYW5jaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCiAgICAgICAgICAgICBzZWxmLnBh
Y2tzLmFwcGVuZChzZWxmLnNka19kZWJ1ZykKLSAgICAgICAgc2VsZi5tYW5pZmVzdF9nZW5lcmF0
ZWRfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLmNhY2hlX3BhdGgsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5idWlsZF9uYW1lICsgIi5q
c29uIikKKwogICAgICAgICB0cnk6CiAgICAgICAgICAgICB3aXRoIG9wZW4oc2VsZi5jb25maWdf
ZmlsZSkgYXMgY29uZmlnOgogICAgICAgICAgICAgICAgIGpzb25fY29uZmlnID0ganNvbi5sb2Fk
KGNvbmZpZykKQEAgLTcxNSw3ICs1NzcsNDUgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKIAogICAg
ICAgICByZXR1cm4gVHJ1ZQogCisgICAgZGVmIHNldHVwX2J1aWxkZGlyKHNlbGYsICoqa3dhcmdz
KToKKyAgICAgICAgaWYgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYuZmxhdHBha19i
dWlsZF9wYXRoLCAibWV0YWRhdGEiKSk6CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBz
ZWxmLnNka19yZXBvLmZsYXRwYWsoImJ1aWxkLWluaXQiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAib3JnLndlYmtpdC5XZWJraXQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc3RyKHNlbGYuc2RrKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZWxm
LnJ1bnRpbWUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGsuYnJhbmNo
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd19vdXRwdXQ9InN0ZG91dCIgaW4g
a3dhcmdzLmtleXMoKSkKKworICAgIGRlZiBzZXR1cF9nc3RidWlsZChzZWxmLCBidWlsZGluZyk6
CisgICAgICAgIGdzdF9kaXIgPSBvcy5lbnZpcm9uLmdldCgnR1NUX0JVSUxEX1BBVEgnKQorICAg
ICAgICBpZiBub3QgZ3N0X2RpcjoKKyAgICAgICAgICAgIHJldHVybiBbXQorCisgICAgICAgIGlm
IG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oZ3N0X2RpciwgJ2dzdC1lbnYucHknKSk6
CisgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ0dTVF9CVUlMRF9QQVRIIHNldCB0byAl
cyBidXQgaXQgZG9lc25cJ3Qgc2VlbSB0byBiZSBhIHZhbGlkIGBnc3QtYnVpbGRgIGNoZWNrb3V0
LicgJSBnc3RfZGlyKQorCisgICAgICAgIGdzdF9idWlsZGRpciA9IG9zLnBhdGguam9pbihzZWxm
LnNhbmRib3hfc291cmNlX3Jvb3QsICJXZWJLaXRCdWlsZCIsICdnc3QtYnVpbGQnKQorICAgICAg
ICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYuc291cmNlX3Jvb3QsICdX
ZWJLaXRCdWlsZCcsICdnc3QtYnVpbGQnLCAnYnVpbGQubmluamEnKSk6CisgICAgICAgICAgICBp
ZiBub3QgYnVpbGRpbmc6CisgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdUcnlp
bmcgdG8gZW50ZXIgZ3N0LWJ1aWxkIGVudiBmcm9tICVzIGJ1dCBpdCBpcyBub3QgYnVpbHQsIG1h
a2Ugc3VyZSB0byByZWJ1aWxkIHdlYmtpdC4nICUgZ3N0X2RpcikKKworICAgICAgICAgICAgQ29u
c29sZS5tZXNzYWdlKCJSdW5uaW5nIG1lc29uIGZvciBgZ3N0LWJ1aWxkYCAlcyAiLCBnc3RfZGly
KQorICAgICAgICAgICAgc2VsZi5ydW5faW5fc2FuZGJveCgnbWVzb24nLCBnc3RfZGlyLCBnc3Rf
YnVpbGRkaXIsIGJ1aWxkaW5nX2dzdD1UcnVlKQorCisgICAgICAgIGlmIG5vdCBidWlsZGluZzoK
KyAgICAgICAgICAgIHJldHVybiBbb3MucGF0aC5qb2luKGdzdF9kaXIsICdnc3QtZW52LnB5Jyks
ICctLWJ1aWxkZGlyJywgZ3N0X2J1aWxkZGlyLCAnLS1zcmNkaXInLCBnc3RfZGlyXQorCisgICAg
ICAgIENvbnNvbGUubWVzc2FnZSgiQnVpbGRpbmcgYGdzdC1idWlsZGAgJXMgIiwgZ3N0X2RpcikK
KyAgICAgICAgaWYgc2VsZi5ydW5faW5fc2FuZGJveCgnbmluamEnLCAnLUMnLCBnc3RfYnVpbGRk
aXIsIGJ1aWxkaW5nX2dzdD1UcnVlKSAhPSAwOgorICAgICAgICAgICAgcmFpc2UgUnVudGltZUVy
cm9yKCdFcnJvciB3aGlsZSBidWlsZGluZyBnc3QtYnVpbGQuJykKKworICAgICAgICByZXR1cm4g
W29zLnBhdGguam9pbihnc3RfZGlyLCAnZ3N0LWVudi5weScpLCAnLS1idWlsZGRpcicsIGdzdF9i
dWlsZGRpciwgJy0tc3JjZGlyJywgZ3N0X2Rpcl0KKwogICAgIGRlZiBydW5faW5fc2FuZGJveChz
ZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBzZWxmLnNldHVwX2J1aWxkZGlyKHN0ZG91
dD1rd2FyZ3MuZ2V0KCJzdGRvdXQiLCBzeXMuc3Rkb3V0KSkKICAgICAgICAgY3dkID0ga3dhcmdz
LnBvcCgiY3dkIiwgTm9uZSkKICAgICAgICAgZXh0cmFfZW52X3ZhcnMgPSBrd2FyZ3MucG9wKCJl
bnYiLCB7fSkKICAgICAgICAgc3Rkb3V0ID0ga3dhcmdzLnBvcCgic3Rkb3V0Iiwgc3lzLnN0ZG91
dCkKQEAgLTcyMyw2ICs2MjMsNyBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogCiAgICAgICAgIGlm
IG5vdCBpc2luc3RhbmNlKGFyZ3MsIGxpc3QpOgogICAgICAgICAgICAgYXJncyA9IGxpc3QoYXJn
cykKKwogICAgICAgICBpZiBhcmdzOgogICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoYXJn
c1swXSk6CiAgICAgICAgICAgICAgICAgY29tbWFuZCA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0
aC5hYnNwYXRoKGFyZ3NbMF0pKQpAQCAtNzMwLDk0ICs2MzEsMTEwIEBAIGNsYXNzIFdlYmtpdEZs
YXRwYWs6CiAgICAgICAgICAgICAgICAgYXJnc1swXSA9IGNvbW1hbmQucmVwbGFjZShzZWxmLnNv
dXJjZV9yb290LCBzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QpCiAgICAgICAgICAgICBpZiBhcmdz
WzBdLmVuZHN3aXRoKCJidWlsZC13ZWJraXQiKToKICAgICAgICAgICAgICAgICBhcmdzLmFwcGVu
ZCgiLS1wcmVmaXg9L2FwcCIpCisgICAgICAgIGJ1aWxkaW5nID0gb3MucGF0aC5iYXNlbmFtZShh
cmdzWzBdKS5zdGFydHN3aXRoKCJidWlsZCIpCiAKICAgICAgICAgc2FuZGJveF9idWlsZF9wYXRo
ID0gb3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgIldlYktpdEJ1aWxkIiwg
c2VsZi5idWlsZF90eXBlKQotICAgICAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5Rmls
ZShtb2RlPSJ3IikgYXMgdG1wc2NyaXB0OgotICAgICAgICAgICAgZmxhdHBha19jb21tYW5kID0g
WyJmbGF0cGFrIiwgImJ1aWxkIiwgIi0tZGllLXdpdGgtcGFyZW50IiwKLSAgICAgICAgICAgICAg
ICAiLS1iaW5kLW1vdW50PS9ydW4vc2htPS9kZXYvc2htIiwKLSAgICAgICAgICAgICAgICAjIFdv
cmthcm91bmQgZm9yIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE4NzM4NCB0byBoYXZlIG91ciBvd24g
cGVybCBtb2R1bGVzIHVzYWJsZSBpbnNpZGUgdGhlIHNhbmRib3gKLSAgICAgICAgICAgICAgICAj
IGFzIHNldHRpbmcgdGhlIFBFUkw1TElCIGVudnZhciB3b24ndCB3b3JrIGluc2lkZSBhcGFjaGUg
KGFuZCBmb3Igc2NyaXB0cyB1c2luZyBgcGVybCAtVGBgKS4KLSAgICAgICAgICAgICAgICAiLS1i
aW5kLW1vdW50PS9ydW4vaG9zdC8lcz0lcyIgJSAodGVtcGZpbGUuZ2V0dGVtcGRpcigpLCB0ZW1w
ZmlsZS5nZXR0ZW1wZGlyKCkpLAotICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9JXM9JXMi
ICUgKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgc2VsZi5zb3VyY2Vfcm9vdCksCisgICAgICAg
IGZsYXRwYWtfY29tbWFuZCA9IFsiZmxhdHBhayIsICJidWlsZCIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiLS1kaWUtd2l0aC1wYXJlbnQiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIi0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cyIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiLS10YWxrLW5hbWU9b3JnLmd0ay52ZnMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ii0tdGFsay1uYW1lPW9yZy5ndGsudmZzLioiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ii0tYmluZC1tb3VudD0vcnVuL3NobT0vZGV2L3NobSIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAjIFdvcmthcm91bmQgZm9yIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE4NzM4NCB0byBoYXZl
IG91ciBvd24gcGVybCBtb2R1bGVzIHVzYWJsZSBpbnNpZGUgdGhlIHNhbmRib3gKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICMgYXMgc2V0dGluZyB0aGUgUEVSTDVMSUIgZW52dmFyIHdvbid0
IHdvcmsgaW5zaWRlIGFwYWNoZSAoYW5kIGZvciBzY3JpcHRzIHVzaW5nIGBwZXJsIC1UYGApLgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0vcnVuL2hvc3QvJXM9JXMi
ICUgKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwgdGVtcGZpbGUuZ2V0dGVtcGRpcigpKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9JXM9JXMiICUgKHNlbGYuc2FuZGJv
eF9zb3VyY2Vfcm9vdCwgc2VsZi5zb3VyY2Vfcm9vdCksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAjIFdlIG1vdW50IFdlYktpdEJ1aWxkL1BPUlROQU1FL0J1aWxkVHlwZSB0byAvYXBwL3dl
YmtpdC9XZWJLaXRCdWlsZC9CdWlsZFR5cGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICMg
c28gd2UgY2FuIGJ1aWxkIFdQRSBhbmQgR1RLIGluIGEgc2FtZSBzb3VyY2UgdHJlZS4KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9JXM9JXMiICUgKHNhbmRib3hfYnVp
bGRfcGF0aCwgc2VsZi5idWlsZF9wYXRoKV0KKworICAgICAgICBmb3J3YXJkZWQgPSB7CisgICAg
ICAgICAgICAiV0VCS0lUX1RPUF9MRVZFTCI6ICIvYXBwLyIsCisgICAgICAgICAgICAiVEVTVF9S
VU5ORVJfSU5KRUNURURfQlVORExFX0ZJTEVOQU1FIjogb3MucGF0aC5qb2luKHNhbmRib3hfYnVp
bGRfcGF0aCwgImxpYi9saWJUZXN0UnVubmVySW5qZWN0ZWRCdW5kbGUuc28iKSwKKyAgICAgICAg
fQorCisgICAgICAgIGlmIG5vdCBidWlsZGluZzoKKyAgICAgICAgICAgIGZsYXRwYWtfY29tbWFu
ZC5leHRlbmQoWworICAgICAgICAgICAgICAgICItLWRldmljZT1hbGwiLAorICAgICAgICAgICAg
ICAgICItLWRldmljZT1kcmkiLAorICAgICAgICAgICAgICAgICItLWZpbGVzeXN0ZW09aG9zdCIs
CisgICAgICAgICAgICAgICAgIi0tc2hhcmU9aXBjIiwKKyAgICAgICAgICAgICAgICAiLS1zaGFy
ZT1uZXR3b3JrIiwKKyAgICAgICAgICAgICAgICAiLS1zb2NrZXQ9cHVsc2VhdWRpbyIsCisgICAg
ICAgICAgICAgICAgIi0tc29ja2V0PXN5c3RlbS1idXMiLAorICAgICAgICAgICAgICAgICItLXNv
Y2tldD13YXlsYW5kIiwKKyAgICAgICAgICAgICAgICAiLS1zb2NrZXQ9eDExIiwKKyAgICAgICAg
ICAgICAgICAiLS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cyIsCisgICAgICAgICAgICAg
ICAgIi0tc3lzdGVtLXRhbGstbmFtZT1vcmcuZnJlZWRlc2t0b3AuR2VvQ2x1ZTIiLAogICAgICAg
ICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuYTExeS5CdXMiLAotICAgICAgICAgICAgICAgICIt
LXRhbGstbmFtZT1vcmcuZ3RrLnZmcyIsCi0gICAgICAgICAgICAgICAgIi0tdGFsay1uYW1lPW9y
Zy5ndGsudmZzLioiLAotICAgICAgICAgICAgICAgICMgV2UgbW91bnQgV2ViS2l0QnVpbGQvUE9S
VE5BTUUvQnVpbGRUeXBlIHRvIC9hcHAvd2Via2l0L1dlYktpdEJ1aWxkL0J1aWxkVHlwZQotICAg
ICAgICAgICAgICAgICMgc28gd2UgY2FuIGJ1aWxkIFdQRSBhbmQgR1RLIGluIGEgc2FtZSBzb3Vy
Y2UgdHJlZS4KLSAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PSVzPSVzIiAlIChzYW5kYm94
X2J1aWxkX3BhdGgsIHNlbGYuYnVpbGRfcGF0aCldCi0KLSAgICAgICAgICAgIGZvcndhcmRlZCA9
IHsKLSAgICAgICAgICAgICAgICAiV0VCS0lUX1RPUF9MRVZFTCI6ICIvYXBwLyIsCi0gICAgICAg
ICAgICAgICAgIlRFU1RfUlVOTkVSX0lOSkVDVEVEX0JVTkRMRV9GSUxFTkFNRSI6ICIvYXBwL3dl
YmtpdC9saWIvbGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLnNvIiwKKyAgICAgICAgICAgICAg
ICAiLS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkZsYXRwYWsiCisgICAgICAgICAgICBdKQor
CisgICAgICAgICAgICBmb3J3YXJkZWQudXBkYXRlKHsKKyAgICAgICAgICAgICAgICAiVFoiOiAi
UFNUOFBEVCIsCisgICAgICAgICAgICAgICAgIkxBTkciOiAiZW5fVVMuVVRGLTgiCisgICAgICAg
ICAgICB9KQorCisgICAgICAgIGVudl92YXJfcHJlZml4ZXNfdG9fa2VlcCA9IFsKKyAgICAgICAg
ICAgICJHIiwKKyAgICAgICAgICAgICJHSUdBQ0FHRSIsCisgICAgICAgICAgICAiR1NUIiwKKyAg
ICAgICAgICAgICJHVEsiLAorICAgICAgICAgICAgIklDRUNDIiwKKyAgICAgICAgICAgICJKU0Mi
LAorICAgICAgICAgICAgIldFQktJVCIsCisgICAgICAgICAgICAiV0VCS0lUMiIsCisgICAgICAg
IF0KKworICAgICAgICBlbnZfdmFyc190b19rZWVwID0gWworICAgICAgICAgICAgIkNDQUNIRV9Q
UkVGSVgiLAorICAgICAgICAgICAgIkRJU1BMQVkiLAorICAgICAgICAgICAgIkphdmFTY3JpcHRD
b3JlVXNlSklUIiwKKyAgICAgICAgICAgICJMQU5HIiwKKyAgICAgICAgICAgICJNYWxsb2MiLAor
ICAgICAgICAgICAgIk5VTUJFUl9PRl9QUk9DRVNTT1JTIiwKKyAgICAgICAgICAgICJRTUwyX0lN
UE9SVF9QQVRIIiwKKyAgICAgICAgICAgICJXQVlMQU5EX0RJU1BMQVkiLAorICAgICAgICAgICAg
IldBWUxBTkRfU09DS0VUIiwKKyAgICAgICAgXQorCisgICAgICAgIGVudl92YXJzID0gb3MuZW52
aXJvbgorICAgICAgICBlbnZfdmFycy51cGRhdGUoZXh0cmFfZW52X3ZhcnMpCisgICAgICAgIGZv
ciBlbnZ2YXIsIHZhbHVlIGluIGVudl92YXJzLml0ZW1zKCk6CisgICAgICAgICAgICBpZiBlbnZ2
YXIuc3BsaXQoIl8iKVswXSBpbiBlbnZfdmFyX3ByZWZpeGVzX3RvX2tlZXAgb3IgZW52dmFyIGlu
IGVudl92YXJzX3RvX2tlZXA6CisgICAgICAgICAgICAgICAgZm9yd2FyZGVkW2VudnZhcl0gPSB2
YWx1ZQorCisgICAgICAgIGlmIGJ1aWxkaW5nIGFuZCBzZWxmLnVzZV9pY2VjcmVhbToKKyAgICAg
ICAgICAgIF9sb2cuZGVidWcoJ0VuYWJsaW5nIHRoZSBpY2VjcmVhbSBjb21waWxlcicpCisgICAg
ICAgICAgICBmbGF0cGFrX2NvbW1hbmQuZXh0ZW5kKFsiLS1zaGFyZT1uZXR3b3JrIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9L3Zhci9ydW4vaWNl
Y2M9L3Zhci9ydW4vaWNlY2MiXSkKKworICAgICAgICAgICAgbl9jb3JlcyA9IG11bHRpcHJvY2Vz
c2luZy5jcHVfY291bnQoKSAqIDMKKyAgICAgICAgICAgIF9sb2cuZGVidWcoJ0ZvbGxvd2luZyBp
Y2VjcmVhbSByZWNvbW1lbmRhdGlvbiBmb3IgdGhlIG51bWJlciBvZiBjb3JlcyB0byB1c2U6ICVk
JyAlIG5fY29yZXMpCisgICAgICAgICAgICBmb3J3YXJkZWQudXBkYXRlKHsKKyAgICAgICAgICAg
ICAgICAiQ0NBQ0hFX1BSRUZJWCI6ICJpY2VjYyIsCiAgICAgICAgICAgICAgICAgIklDRUNDX1ZF
UlNJT04iOiBzZWxmLmljY192ZXJzaW9uLAotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBl
bnZfdmFyX3ByZWZpeGVzX3RvX2tlZXAgPSBbCi0gICAgICAgICAgICAgICAgIkdTVCIsCi0gICAg
ICAgICAgICAgICAgIkdUSyIsCi0gICAgICAgICAgICAgICAgIkciLAotICAgICAgICAgICAgICAg
ICJKU0MiLAotICAgICAgICAgICAgICAgICJXRUJLSVQiLAotICAgICAgICAgICAgICAgICJXRUJL
SVQyIiwKLSAgICAgICAgICAgICAgICAiV1BFIiwKLSAgICAgICAgICAgICAgICAiR0lHQUNBR0Ui
LAotICAgICAgICAgICAgXQotCi0gICAgICAgICAgICBlbnZfdmFyc190b19rZWVwID0gWwotICAg
ICAgICAgICAgICAgICJKYXZhU2NyaXB0Q29yZVVzZUpJVCIsCi0gICAgICAgICAgICAgICAgIk1h
bGxvYyIsCi0gICAgICAgICAgICAgICAgIldBWUxBTkRfRElTUExBWSIsCi0gICAgICAgICAgICAg
ICAgIldBWUxBTkRfU09DS0VUIiwKLSAgICAgICAgICAgICAgICAiRElTUExBWSIsCi0gICAgICAg
ICAgICAgICAgIkxBTkciLAotICAgICAgICAgICAgICAgICJOVU1CRVJfT0ZfUFJPQ0VTU09SUyIs
Ci0gICAgICAgICAgICAgICAgIkNDQUNIRV9QUkVGSVgiLAotICAgICAgICAgICAgICAgICJRTUwy
X0lNUE9SVF9QQVRIIiwKLSAgICAgICAgICAgIF0KLQotICAgICAgICAgICAgaWYgc2VsZi51c2Vf
aWNlY3JlYW06Ci0gICAgICAgICAgICAgICAgX2xvZy5kZWJ1ZygnRW5hYmxpbmcgdGhlIGljZWNy
ZWFtIGNvbXBpbGVyJykKLSAgICAgICAgICAgICAgICBmb3J3YXJkZWRbIkNDQUNIRV9QUkVGSVgi
XSA9ICJpY2VjYyIKLSAgICAgICAgICAgICAgICBpZiBub3Qgb3MuZW52aXJvbi5nZXQoJ05VTUJF
Ul9PRl9QUk9DRVNTT1JTJyk6Ci0gICAgICAgICAgICAgICAgICAgIG5fY29yZXMgPSBtdWx0aXBy
b2Nlc3NpbmcuY3B1X2NvdW50KCkgKiAzCi0gICAgICAgICAgICAgICAgICAgIF9sb2cuZGVidWco
J0ZvbGxvdyBpY2VjcmVhbSByZWNvbW1lbmRhdGlvbiBmb3IgdGhlIG51bWJlciBvZiBjb3JlcyB0
byB1c2U6ICVkJyAlIG5fY29yZXMpCi0gICAgICAgICAgICAgICAgICAgIGZvcndhcmRlZFsiTlVN
QkVSX09GX1BST0NFU1NPUlMiXSA9IG5fY29yZXMKLQotICAgICAgICAgICAgZW52X3ZhcnMgPSBv
cy5lbnZpcm9uCi0gICAgICAgICAgICBlbnZfdmFycy51cGRhdGUoZXh0cmFfZW52X3ZhcnMpCi0g
ICAgICAgICAgICBmb3IgZW52dmFyLCB2YWx1ZSBpbiBlbnZfdmFycy5pdGVtcygpOgotICAgICAg
ICAgICAgICAgIGlmIGVudnZhci5zcGxpdCgiXyIpWzBdIGluIGVudl92YXJfcHJlZml4ZXNfdG9f
a2VlcCBvciBlbnZ2YXIgaW4gZW52X3ZhcnNfdG9fa2VlcDoKLSAgICAgICAgICAgICAgICAgICAg
Zm9yd2FyZGVkW2VudnZhcl0gPSB2YWx1ZQotCi0gICAgICAgICAgICBmb3IgZW52dmFyLCB2YWx1
ZSBpbiBmb3J3YXJkZWQuaXRlbXMoKToKLSAgICAgICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQu
YXBwZW5kKCItLWVudj0lcz0lcyIgJSAoZW52dmFyLCB2YWx1ZSkpCi0KLSAgICAgICAgICAgIGZs
YXRwYWtfY29tbWFuZCArPSBzZWxmLmZpbmlzaF9hcmdzICsgZXh0cmFfZmxhdHBha19hcmdzICsg
W3NlbGYuZmxhdHBha19idWlsZF9wYXRoXQotCi0gICAgICAgICAgICBzaGVsbF9zdHJpbmcgPSAi
IgotICAgICAgICAgICAgaWYgYXJnczoKLSAgICAgICAgICAgICAgICBpZiBjd2Q6Ci0gICAgICAg
ICAgICAgICAgICAgIHNoZWxsX3N0cmluZyA9ICdjZCAiJXMiICYmICIlcyInICUgKGN3ZCwgJyIg
Iicuam9pbihhcmdzKSkKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAg
ICBzaGVsbF9zdHJpbmcgPSAnIiVzIicgJSAoJyIgIicuam9pbihhcmdzKSkKLSAgICAgICAgICAg
IGVsc2U6Ci0gICAgICAgICAgICAgICAgc2hlbGxfc3RyaW5nID0gc2VsZi5jb21tYW5kCi0gICAg
ICAgICAgICAgICAgaWYgc2VsZi5hcmdzOgotICAgICAgICAgICAgICAgICAgICBzaGVsbF9zdHJp
bmcgKz0gJyAiJXMiJyAlICciICInLmpvaW4oc2VsZi5hcmdzKQorICAgICAgICAgICAgICAgICJO
VU1CRVJfT0ZfUFJPQ0VTU09SUyI6IG5fY29yZXMsCisgICAgICAgICAgICB9KQogCi0gICAgICAg
ICAgICB0bXBzY3JpcHQud3JpdGUoc2hlbGxfc3RyaW5nKQotICAgICAgICAgICAgdG1wc2NyaXB0
LmZsdXNoKCkKKyAgICAgICAgZm9yIGVudnZhciwgdmFsdWUgaW4gZm9yd2FyZGVkLml0ZW1zKCk6
CisgICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQuYXBwZW5kKCItLWVudj0lcz0lcyIgJSAoZW52
dmFyLCB2YWx1ZSkpCiAKLSAgICAgICAgICAgIF9sb2cuZGVidWcoJ1J1bm5pbmcgaW4gc2FuZGJv
eDogIiVzIiAlc1xuJyAlICgnIiAiJy5qb2luKGZsYXRwYWtfY29tbWFuZCksIHNoZWxsX3N0cmlu
ZykpCi0gICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQuZXh0ZW5kKFsnc2gnLCAiL3J1bi9ob3N0
LyIgKyB0bXBzY3JpcHQubmFtZV0pCisgICAgICAgIGdzdF9lbnYgPSBbXQorICAgICAgICBpZiBu
b3Qga3dhcmdzLmdldCgnYnVpbGRpbmdfZ3N0Jyk6CisgICAgICAgICAgICBnc3RfZW52ID0gc2Vs
Zi5zZXR1cF9nc3RidWlsZChidWlsZGluZykKKyAgICAgICAgZmxhdHBha19jb21tYW5kICs9IHNl
bGYuZmluaXNoX2FyZ3MgKyBleHRyYV9mbGF0cGFrX2FyZ3MgKyBcCisgICAgICAgICAgICBbc2Vs
Zi5mbGF0cGFrX2J1aWxkX3BhdGhdICsgZ3N0X2VudiArIGFyZ3MKIAotICAgICAgICAgICAgdHJ5
OgotICAgICAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChmbGF0cGFrX2NvbW1hbmQs
IHN0ZG91dD1zdGRvdXQpCi0gICAgICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9j
ZXNzRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKHN0cihlKSAr
ICJcbiIpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGUucmV0dXJuY29kZQotICAgICAgICAgICAg
ZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgotICAgICAgICAgICAgICAgIHJldHVybiAwCisgICAg
ICAgIF9sb2cuZGVidWcoJ1J1bm5pbmcgaW4gc2FuZGJveDogJXNcbicgJSAnICcuam9pbihmbGF0
cGFrX2NvbW1hbmQpKQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hl
Y2tfY2FsbChmbGF0cGFrX2NvbW1hbmQsIHN0ZG91dD1zdGRvdXQpCisgICAgICAgIGV4Y2VwdCBz
dWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgorICAgICAgICAgICAgc3lzLnN0ZGVy
ci53cml0ZShzdHIoZSkgKyAiXG4iKQorICAgICAgICAgICAgcmV0dXJuIGUucmV0dXJuY29kZQor
ICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6CisgICAgICAgICAgICByZXR1cm4gMAog
CiAgICAgICAgIHJldHVybiAwCiAKQEAgLTgzNSw2NCArNzUyLDQxIEBAIGNsYXNzIFdlYmtpdEZs
YXRwYWs6CiAgICAgICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShzZWxmLmJ1aWxkX3BhdGgpCiAK
ICAgICAgICAgaWYgc2VsZi51cGRhdGU6Ci0gICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIlVw
ZGF0aW5nIEZsYXRwYWsgZW52aXJvbm1lbnQgZm9yICVzICglcykiICUgKAotICAgICAgICAgICAg
ICAgIHNlbGYucGxhdGZvcm0sIHNlbGYuYnVpbGRfdHlwZSkpCisgICAgICAgICAgICBDb25zb2xl
Lm1lc3NhZ2UoIlVwZGF0aW5nIEZsYXRwYWsgJXMgZW52aXJvbm1lbnQiICUgc2VsZi5idWlsZF90
eXBlKQogICAgICAgICAgICAgaWYgbm90IHNlbGYubm9fZmxhdHBha191cGRhdGU6CiAgICAgICAg
ICAgICAgICAgc2VsZi51cGRhdGVfYWxsKCkKIAogICAgICAgICByZXR1cm4gc2VsZi5zZXR1cF9k
ZXZfZW52KCkKIAogICAgIGRlZiBoYXNfZW52aXJvbm1lbnQoc2VsZik6Ci0gICAgICAgIHJldHVy
biBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF9wYXRoLCBzZWxmLmZsYXRw
YWtfYnVpbGRfcGF0aCkpCisgICAgICAgIHJldHVybiBvcy5wYXRoLmV4aXN0cyhzZWxmLmZsYXRw
YWtfYnVpbGRfcGF0aCkKIAogICAgIGRlZiBzYXZlX2NvbmZpZyhzZWxmKToKICAgICAgICAgd2l0
aCBvcGVuKHNlbGYuY29uZmlnX2ZpbGUsICd3JykgYXMgY29uZmlnOgogICAgICAgICAgICAganNv
bl9jb25maWcgPSB7J2ljZWNjX3ZlcnNpb24nOiBzZWxmLmljY192ZXJzaW9ufQogICAgICAgICAg
ICAganNvbi5kdW1wKGpzb25fY29uZmlnLCBjb25maWcpCiAKLSAgICBkZWYgc2V0dXBfY2NhY2hl
KHNlbGYpOgotICAgICAgICBmb3IgY29tcGlsZXIgaW4gWyJjKysiLCAiY2MiLCAiY2xhbmciLCAi
Y2xhbmcrKyIsICJnKysiLCAiZ2NjIl06Ci0gICAgICAgICAgICBzZWxmLnJ1bl9pbl9zYW5kYm94
KCJsbiIsICItcyIsICIuLi8uLi91c3IvYmluL2NjYWNoZSIsIGNvbXBpbGVyLCBjd2Q9Ii9hcHAv
YmluIikKLQogICAgIGRlZiBzZXR1cF9pY2VjYyhzZWxmKToKICAgICAgICAgd2l0aCB0ZW1wZmls
ZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBhcyB0bXBmaWxlOgotICAgICAgICAgICAgc2VsZi5ydW5f
aW5fc2FuZGJveCgnaWNlY2MnLCAnLS1idWlsZC1uYXRpdmUnLCBzdGRvdXQ9dG1wZmlsZSwgY3dk
PXNlbGYuYnVpbGRfcGF0aCkKKyAgICAgICAgICAgIHNlbGYucnVuX2luX3NhbmRib3goJ2ljZWNj
JywgJy0tYnVpbGQtbmF0aXZlJywgc3Rkb3V0PXRtcGZpbGUsIGN3ZD1zZWxmLnNvdXJjZV9yb290
KQogICAgICAgICAgICAgdG1wZmlsZS5mbHVzaCgpCiAgICAgICAgICAgICB0bXBmaWxlLnNlZWso
MCkKICAgICAgICAgICAgIGljY192ZXJzaW9uX2ZpbGVuYW1lLCA9IHJlLmZpbmRhbGwocicuKmNy
ZWF0aW5nICguKiknLCB0bXBmaWxlLnJlYWQoKSkKLSAgICAgICAgICAgIHNlbGYuaWNjX3ZlcnNp
b24gPSBvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF9wYXRoLCBpY2NfdmVyc2lvbl9maWxlbmFtZSkK
KyAgICAgICAgICAgIHNlbGYuaWNjX3ZlcnNpb24gPSBvcy5wYXRoLmpvaW4oc2VsZi5zb3VyY2Vf
cm9vdCwgaWNjX3ZlcnNpb25fZmlsZW5hbWUpCiAKICAgICBkZWYgc2V0dXBfZGV2X2VudihzZWxm
KToKLSAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihzZWxmLmJ1aWxk
X3BhdGgsIHNlbGYuZmxhdHBha19idWlsZF9wYXRoKSkgXAotICAgICAgICAgICAgICAgIG9yIHNl
bGYudXBkYXRlIG9yIHNlbGYuYnVpbGRfYWxsOgorICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlz
dHMob3MucGF0aC5qb2luKHNlbGYuZmxhdHBha19idWlsZF9wYXRoLCAicnVudGltZSIsICJvcmcu
d2Via2l0LlNkayIpKSBvciBzZWxmLnVwZGF0ZSBvciBzZWxmLmJ1aWxkX2FsbDoKICAgICAgICAg
ICAgIHNlbGYuaW5zdGFsbF9hbGwoKQotICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJCdWls
ZGluZyAlcyBhbmQgZGVwZW5kZW5jaWVzIGluICVzIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzZWxmLm5hbWUsIHNlbGYuZmxhdHBha19idWlsZF9wYXRoKQotCi0gICAgICAgICAgICAj
IENyZWF0ZSBlbnZpcm9ubWVudCBkaXJzIGlmIG5lY2Vzc2FyeQotICAgICAgICAgICAgdHJ5Ogot
ICAgICAgICAgICAgICAgIG9zLm1ha2VkaXJzKG9zLnBhdGguZGlybmFtZShzZWxmLm1hbmlmZXN0
X2dlbmVyYXRlZF9wYXRoKSkKLSAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6Ci0gICAg
ICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FRVhJU1Q6Ci0gICAgICAgICAgICAgICAg
ICAgIHJhaXNlIGUKLSAgICAgICAgICAgIGlmIG5vdCBleHBhbmRfbWFuaWZlc3Qoc2VsZi5tYW5p
ZmVzdF9wYXRoLCBzZWxmLm1hbmlmZXN0X2dlbmVyYXRlZF9wYXRoLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzZWxmLm5hbWUsIHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwg
c2VsZi5jb21tYW5kKToKLSAgICAgICAgICAgICAgICByZXR1cm4gMQotCi0gICAgICAgICAgICBi
dWlsZGVyX2FyZ3MgPSBbImZsYXRwYWstYnVpbGRlciIsICItLWRpc2FibGUtcm9maWxlcy1mdXNl
IiwgIi0tc3RhdGUtZGlyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmNhY2hl
X3BhdGgsICItLWNjYWNoZSIsIHNlbGYuZmxhdHBha19idWlsZF9wYXRoLCAiLS1mb3JjZS1jbGVh
biIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tYW5pZmVzdF9nZW5lcmF0ZWRf
cGF0aF0KLSAgICAgICAgICAgIGJ1aWxkZXJfYXJncy5hcHBlbmQoIi0tYnVpbGQtb25seSIpCi0g
ICAgICAgICAgICBidWlsZGVyX2FyZ3MuYXBwZW5kKCItLXN0b3AtYXQ9JXMiICUgc2VsZi5hcHAp
Ci0KLSAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChidWlsZGVyX2FyZ3MpCi0gICAg
ICAgICAgICBzZWxmLnNldHVwX2NjYWNoZSgpCiAgICAgICAgICAgICBzZWxmLnNldHVwX2ljZWNj
KCkKICAgICAgICAgICAgIHNlbGYuc2F2ZV9jb25maWcoKQogCiAgICAgICAgIGJ1aWxkX3R5cGUg
PSAiLS1kZWJ1ZyIgaWYgc2VsZi5kZWJ1ZyBlbHNlICItLXJlbGVhc2UiCisgICAgICAgIGlmIHNl
bGYuYnVpbGRfZ3N0OgorICAgICAgICAgICAgc2VsZi5zZXR1cF9nc3RidWlsZChUcnVlKQorCiAg
ICAgICAgIGlmIHNlbGYuYnVpbGRfd2Via2l0OgotICAgICAgICAgICAgYnVpbGRlciA9IFtvcy5w
YXRoLmpvaW4oc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCAnVG9vbHMvU2NyaXB0cy9idWlsZC13
ZWJraXQnKSwKKyAgICAgICAgICAgIGJ1aWxkZXIgPSBbCisgICAgICAgICAgICAgICAgb3MucGF0
aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgJ1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Vi
a2l0JyksCiAgICAgICAgICAgICAgICAgYnVpbGRfdHlwZSwgJy0tJyArIHNlbGYucGxhdGZvcm0u
bG93ZXIoKV0KICAgICAgICAgICAgIGlmIHNlbGYubWFrZWFyZ3M6CiAgICAgICAgICAgICAgICAg
YnVpbGRlci5hcHBlbmQoIi0tbWFrZWFyZ3M9JXMiICUgc2VsZi5tYWtlYXJncykKQEAgLTkwMywy
MyArNzk3LDIyIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAKICAgICAgICAgICAgIGlmIHJlczoK
ICAgICAgICAgICAgICAgICByZXR1cm4gcmVzCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBD
b25zb2xlLm1lc3NhZ2UoIlVzaW5nICVzIHByZWZpeCBpbiAlcyIsIHNlbGYubmFtZSwgc2VsZi5m
bGF0cGFrX2J1aWxkX3BhdGgpCiAKICAgICAgICAgaWYgc2VsZi5ydW5fdGVzdHMgaXMgbm90IE5v
bmU6CiAgICAgICAgICAgICB0ZXN0X2xhdW5jaGVyID0gW29zLnBhdGguam9pbihzZWxmLnNhbmRi
b3hfc291cmNlX3Jvb3QsICdUb29scy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMnKSwKLSAgICAg
ICAgICAgICAgICBidWlsZF90eXBlLCAnLS0nICsgc2VsZi5wbGF0Zm9ybS5sb3dlcigpXSArIHNl
bGYucnVuX3Rlc3RzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkX3R5cGUsICct
LScgKyBzZWxmLnBsYXRmb3JtLmxvd2VyKCldICsgc2VsZi5ydW5fdGVzdHMKICAgICAgICAgICAg
IHJldHVybiBzZWxmLnJ1bl9pbl9zYW5kYm94KCp0ZXN0X2xhdW5jaGVyKQotICAgICAgICBlbGlm
IHNlbGYuZ2RiIGlzIG5vdCBOb25lOgorICAgICAgICBlbGlmIHNlbGYuZ2RiIG9yIHNlbGYuZ2Ri
X3N0YWNrX3RyYWNlOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYucnVuX2dkYigpCiAgICAgICAg
IGVsaWYgc2VsZi51c2VyX2NvbW1hbmQ6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5faW5f
c2FuZGJveCgqc2VsZi51c2VyX2NvbW1hbmQpCi0gICAgICAgIGVsaWYgbm90IHNlbGYudXBkYXRl
IGFuZCBub3Qgc2VsZi5idWlsZF93ZWJraXQ6CisgICAgICAgIGVsaWYgbm90IHNlbGYudXBkYXRl
IGFuZCBub3Qgc2VsZi5idWlsZF93ZWJraXQgYW5kIG5vdCBzZWxmLmJ1aWxkX2dzdDoKICAgICAg
ICAgICAgIHJldHVybiBzZWxmLnJ1bl9pbl9zYW5kYm94KCkKIAogICAgICAgICByZXR1cm4gMAog
CiAgICAgZGVmIGluc3RhbGxfYWxsKHNlbGYpOgorICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIklu
c3RhbGxpbmcgJXMgZGVwZW5kZW5jaWVzIGluICVzIiwgc2VsZi5idWlsZF90eXBlLCBzZWxmLmZs
YXRwYWtfYnVpbGRfcGF0aCkKICAgICAgICAgZm9yIHBhY2thZ2UgaW4gc2VsZi5wYWNrczoKICAg
ICAgICAgICAgIGlmIG5vdCBwYWNrYWdlLmlzX2luc3RhbGxlZChzZWxmLnNka19icmFuY2gpOgog
ICAgICAgICAgICAgICAgIHBhY2thZ2UuaW5zdGFsbCgpCkBAIC05MzUsMTkgKzgyOCwzMCBAQCBj
bGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICAjIFdlIG5lZWQgYWNjZXNzIHRvIHRoZSBob3N0
IGZyb20gdGhlIHNhbmRib3ggdG8gcnVuLgogICAgICAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVt
cG9yYXJ5RmlsZSgpIGFzIGNvcmVkdW1wOgogICAgICAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1l
ZFRlbXBvcmFyeUZpbGUoKSBhcyBzdGRlcnI6Ci0gICAgICAgICAgICAgICAgc3VicHJvY2Vzcy5j
aGVja19jYWxsKFsiY29yZWR1bXBjdGwiLCAiZHVtcCJdICsgc2hsZXguc3BsaXQoc2VsZi5jb3Jl
ZHVtcGN0bF9tYXRjaGVzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c3Rkb3V0PWNvcmVkdW1wLCBzdGRlcnI9c3RkZXJyKQorICAgICAgICAgICAgICAgIGlmIHNlbGYu
Z2RiX3N0YWNrX3RyYWNlOgorICAgICAgICAgICAgICAgICAgICBjbWQgPSBbImNvcmVkdW1wY3Rs
IiwgIi0tc2luY2U9JXMiICUgc2VsZi5nZGJfc3RhY2tfdHJhY2UsICJkdW1wIl0KKyAgICAgICAg
ICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBjbWQgPSBbImNvcmVkdW1wY3RsIiwg
ImR1bXAiXSArIHNobGV4LnNwbGl0KHNlbGYuY29yZWR1bXBjdGxfbWF0Y2hlcykKKyAgICAgICAg
ICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChj
bWQsIHN0ZG91dD1jb3JlZHVtcCwgc3RkZXJyPXN0ZGVycikKKyAgICAgICAgICAgICAgICBleGNl
cHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZXJyOgorICAgICAgICAgICAgICAg
ICAgICB3aXRoIG9wZW4oc3RkZXJyLm5hbWUsICdyJykgYXMgc3RkZXJyZjoKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHN0ZGVyciA9IHN0ZGVycmYucmVhZCgpCisgICAgICAgICAgICAgICAgICAg
IGNtZCA9ICcgJy5qb2luKGVyci5jbWQpCisgICAgICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIu
d3JpdGUoIiclcycgcmV0dXJuZWQgYSBub24temVybyBleGl0IGNvZGUuIFN0ZGVycjogJXMiICUg
KGNtZCwgc3RkZXJyKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVyci5yZXR1cm5jb2Rl
CiAKICAgICAgICAgICAgICAgICB3aXRoIG9wZW4oc3RkZXJyLm5hbWUsICdyJykgYXMgc3RkZXJy
ZjoKICAgICAgICAgICAgICAgICAgICAgc3RkZXJyID0gc3RkZXJyZi5yZWFkKCkKKwogICAgICAg
ICAgICAgICAgIGV4ZWN1dGFibGUsID0gcmUuZmluZGFsbCgiLipFeGVjdXRhYmxlOiAoLiopIiwg
c3RkZXJyKQotICAgICAgICAgICAgICAgIGlmIG5vdCBleGVjdXRhYmxlLnN0YXJ0c3dpdGgoIi9u
ZXdyb290Iik6Ci0gICAgICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoIkV4ZWN1dGFi
bGUgJXMgZG9lc24ndCBzZWVtIHRvIGJlIGEgZmxhdHBha2VkIGFwcGxpY2F0aW9uLlxuIiAlIGV4
ZWN1dGFibGUpCiAKLSAgICAgICAgICAgICAgICBleGVjdXRhYmxlID0gZXhlY3V0YWJsZS5yZXBs
YWNlKCIvbmV3cm9vdCIsICIiKQotICAgICAgICAgICAgICAgIGFyZ3MgPSBbImdkYiIsIGV4ZWN1
dGFibGUsICIvcnVuL2hvc3QvJXMiICUgY29yZWR1bXAubmFtZV0gKyBzaGxleC5zcGxpdChzZWxm
LmdkYikKKyAgICAgICAgICAgICAgICBpZiBzZWxmLmdkYjoKKyAgICAgICAgICAgICAgICAgICAg
YmFyZ3MgPSBbImdkYiIsIGV4ZWN1dGFibGUsICIvcnVuL2hvc3QvJXMiICUgY29yZWR1bXAubmFt
ZV0gKyBzaGxleC5zcGxpdChzZWxmLmdkYikKKyAgICAgICAgICAgICAgICBlbGlmIHNlbGYuZ2Ri
X3N0YWNrX3RyYWNlOgorICAgICAgICAgICAgICAgICAgICBiYXJncyA9IFsiZ2RiIiwgJy1leCcs
ICJ0aHJlYWQgYXBwbHkgYWxsIGJhY2t0cmFjZSIsICctLWJhdGNoJywgZXhlY3V0YWJsZSwgIi9y
dW4vaG9zdC8lcyIgJSBjb3JlZHVtcC5uYW1lXQogCi0gICAgICAgICAgICAgICAgcmV0dXJuIHNl
bGYucnVuX2luX3NhbmRib3goKmFyZ3MpCisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYucnVu
X2luX3NhbmRib3goKmJhcmdzKQogCiAgICAgZGVmIHVwZGF0ZV9hbGwoc2VsZik6CiAgICAgICAg
IGZvciBtIGluIFtzZWxmLnJ1bnRpbWUsIHNlbGYuc2RrLCBzZWxmLnNka19kZWJ1Z106CmRpZmYg
LS1naXQgYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sIGIvVG9v
bHMvZmxhdHBhay9vcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZTFhMDdjZjg2ZjgzYjY4ODMzYTU3Mjg0ZTQ3MjNmNTIyYjczYzQwYi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0
cGFrL29yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sCisrKyAvZGV2L251bGwKQEAgLTEsMzMx
ICswLDAgQEAKLSMgaHR0cCBhbmQgZGVwZW5kZW5jaWVzLgotLSBuYW1lOiBhcHIKLSAgc291cmNl
czoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly93d3cuYXBhY2hlLm9y
Zy9kaXN0L2Fwci9hcHItMS42LjUudGFyLmJ6MgotICAgICAgc2hhMjU2OiBhNjdjYTlmY2Y5YzRm
ZjU5YmNlN2Y0MjhhMzIzYzhiNWUxODY2N2ZkZWE3YjBlYmFkNDdkMTk0MzcxYjBhMTA1Ci0tIG5h
bWU6IGFwci11dGlsCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6
IGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvZGlzdC9hcHIvYXByLXV0aWwtMS42LjEudGFyLmJ6Mgot
ICAgICAgc2hhNTEyOiAiNDBlZmY4YTM3YzA2MzRmN2ZkZGRkNmNhNWU1OTZiMzhkZTE1ZmQxMDc2
N2EzNGMzMGJiZTQ5YzYzMjgxNmU4ZjNlMWUyMzA2NzgwMzRmNTc4ZGQ1ODE2YTk0ZjI0NmZiNWRm
ZGY0OGQ2NDQ4MjlhZjEzYmYyOGRlMzIyNTIwNWQiCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS13
aXRoLWFwcj0vYXBwL2Jpbi9hcHItMS1jb25maWcKLS0gbmFtZTogaHR0cGQKLSAgc291cmNlczoK
LSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vYXBhY2hlL2h0
dHBkLmdpdAotICAgICAgYnJhbmNoOiAyLjQuMzcKLSAgICAtIHR5cGUgOiBmaWxlCi0gICAgICBw
YXRoIDogZmlsZXMvaHR0cGQtYXV0b2dlbi5zaAotICAgICAgZGVzdC1maWxlbmFtZSA6IGF1dG9n
ZW4uc2gKLSAgICAjIFRoZSB2ZXJzaW9uIGVtYmVkZGVkIGluIHRoZSBzYW5kYm94IGRvZXNuJ3Qg
aGF2ZSBhIHdvcmtpbmcgcGNyZS1jb25maWcKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRo
OiBwYXRjaGVzL2h0dHBkLTAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1QQ1JFLWRl
dGVjdGlvbi5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC0tZW5hYmxlLW1wbXMtc2hhcmVk
PWFsbAotICAgIC0gLS1lbmFibGUtbW9kdWxlcz1hbGwKLSAgICAtIC0td2l0aC1hcHI9L2FwcC9i
aW4vYXByLTEtY29uZmlnCi0gICAgLSAtLXdpdGgtYXByLXV0aWw9L2FwcC9iaW4vYXB1LTEtY29u
ZmlnCi0gICAgLSAtLXdpdGgtcGNyZT0vYXBwCi0gICAgLSAtLWVuYWJsZS1hdXRobnotZmNnaQot
ICAgIC0gLS1lbmFibGUtY2dpCi0gICAgLSAtLWVuYWJsZS1jZ2lkCi0tIG5hbWU6IHBocAotICBz
b3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL3BocC5uZXQv
ZGlzdHJpYnV0aW9ucy9waHAtNy4yLjYudGFyLnh6Ci0gICAgICBzaGE1MTI6IGRhODZiMWZmMmRm
M2I5ZTJkNDZlNTlhODAyOTZiOTQwZDgxMTMyOTc1YjYyMWJkZWM5NjAyZjhiNGM4ZDkxYTNmZGNk
NGZmZDdjYjk4MmQ2M2QzZWM5NzRiM2ExMmE3ODU0ZTQyYTczYjdmMmNjOGVlZmFkZTE0MzM1YWE3
YzcxCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1kaXNhYmxlLXhtbAotICAgIC0gLS1kaXNhYmxl
LWRvbQotICAgIC0gLS1kaXNhYmxlLWxpYnhtbAotICAgIC0gLS1kaXNhYmxlLXNpbXBsZXhtbAot
ICAgIC0gLS1kaXNhYmxlLXhtbHJlYWRlcgotICAgIC0gLS1kaXNhYmxlLXhtbHdyaXRlcgotICAg
IC0gLS13aXRob3V0LXBlYXIKLSAgICAtIC0td2l0aC1hcHhzMgotICAgIC0gLS13aXRoLXpsaWIK
LSAgICAtIC0td2l0aC1saWJ6aXAKLSAgICAtIC0tZW5hYmxlLXNvY2tldHM9c2hhcmVkCi0tIG5h
bWU6IGxpYmV2ZW50Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0
cHM6Ly9naXRodWIuY29tL2xpYmV2ZW50L2xpYmV2ZW50LmdpdAotICAgICAgYnJhbmNoOiBlN2Zm
NGVmICMgMi4xLjgKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLWRpc2FibGUtbGliZXZlbnQtcmVn
cmVzcwotCi0jIFJlcXVpcmVtZW50IGZvciBmbGF0cGt1dGlscwotLSBuYW1lOiBweXRob24zLXB5
YW1sCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gIC0gcGlwMyBp
bnN0YWxsIC0tbm8taW5kZXggLS1maW5kLWxpbmtzPSJmaWxlOi8vJHtQV0R9IiAtLXByZWZpeD0k
e0ZMQVRQQUtfREVTVH0gcHlhbWwKLSAgc291cmNlczoKLSAgLSB0eXBlOiBmaWxlCi0gICAgdXJs
OiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvNGEvODUvZGI1YTJkZjQ3
NzA3MmIyOTAyYjBlYjg5MmZlYjM3ZDg4YWM2MzVkMzYyNDVhNzJhNmE2OWIyM2IzODNhL1B5WUFN
TC0zLjEyLnRhci5negotICAgIHNoYTI1NjogNTkyNzY2YzYzMDMyMDdhMjBlZmM0NDU1ODc3Nzgz
MjJkN2Y3M2IxNjFiZDk5NGYyMjdhZGFhMzQxYmEyMTJhYgotICAtIHR5cGU6IGZpbGUKLSAgICB1
cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy85ZS8xNy8xZDRlZDZl
MWE0YzA5MThhMDM1N2RmYTJmZGJlMjZiZjYzZjZlNjE2MDEzYzA0YTE0YmNlOWZkMzNlNDAvcHlh
bWwtMTcuMTIuMS50YXIuZ3oKLSAgICBzaGEyNTY6IDY2NjIzYzUyZjM0ZDgzYTJjMGZjOTYzZTA4
ZThiOWQwYzEzZDg4NDA0ZTNiNDNiMTg1MmVmNzFlZGExOWFmYTMKLQotLSBuYW1lOiBweXRob24y
LXB5YW1sCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gIC0gcGlw
MiBpbnN0YWxsIC0tbm8taW5kZXggLS1maW5kLWxpbmtzPSJmaWxlOi8vJHtQV0R9IiAtLXRhcmdl
dD0vYXBwL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy8gcHlhbWwKLSAgc291cmNlczoKLSAg
LSB0eXBlOiBmaWxlCi0gICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFj
a2FnZXMvNGEvODUvZGI1YTJkZjQ3NzA3MmIyOTAyYjBlYjg5MmZlYjM3ZDg4YWM2MzVkMzYyNDVh
NzJhNmE2OWIyM2IzODNhL1B5WUFNTC0zLjEyLnRhci5negotICAgIHNoYTI1NjogNTkyNzY2YzYz
MDMyMDdhMjBlZmM0NDU1ODc3NzgzMjJkN2Y3M2IxNjFiZDk5NGYyMjdhZGFhMzQxYmEyMTJhYgot
ICAtIHR5cGU6IGZpbGUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9w
YWNrYWdlcy85ZS8xNy8xZDRlZDZlMWE0YzA5MThhMDM1N2RmYTJmZGJlMjZiZjYzZjZlNjE2MDEz
YzA0YTE0YmNlOWZkMzNlNDAvcHlhbWwtMTcuMTIuMS50YXIuZ3oKLSAgICBzaGEyNTY6IDY2NjIz
YzUyZjM0ZDgzYTJjMGZjOTYzZTA4ZThiOWQwYzEzZDg4NDA0ZTNiNDNiMTg1MmVmNzFlZGExOWFm
YTMKLQotLSBuYW1lOiBweXRob24yLXN1YnByb2Nlc3MzMgotICBidWlsZHN5c3RlbTogc2ltcGxl
Ci0gIGJ1aWxkLWNvbW1hbmRzOgotICAtIHBpcDIgaW5zdGFsbCAtLXRhcmdldD0vYXBwL2xpYi9w
eXRob24yLjcvc2l0ZS1wYWNrYWdlcy8gLgotICBzb3VyY2VzOgotICAtIHR5cGU6IGFyY2hpdmUK
LSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy9iZS8yYi9i
ZWViYTU4M2U5ODc3ZTY0ZGIxMGI1MmE5NjkxNWFmYzBmZWFiZjcxNDRkY2JmMmEwZDBlYTY4YmY3
M2Qvc3VicHJvY2VzczMyLTMuNS4zLnRhci5negotICAgIHNoYTI1NjogNmJjODI5OTIzMTZlZWYz
Y2NmZjMxOWI1MDMzODA5ODAxYzBjMzM3MjcwOWM1ZjY5ODUyOTljODhhYzcyMjVjMwotCi0jIEdT
dHJlYW1lciBtb2R1bGVzCi0tIG5hbWU6IGxpYnZweAotICBuby1hdXRvZ2VuOiB0cnVlCi0gIHNv
dXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9jaHJvbWl1bS5nb29n
bGVzb3VyY2UuY29tL3dlYm0vbGlidnB4Ci0gICAgICBicmFuY2g6IHYxLjcuMAotICBjb25maWct
b3B0czoKLSAgICAtIC0tZW5hYmxlLXBpYwotICAgIC0gLS1hcz1uYXNtCi0gICAgLSAtLWRpc2Fi
bGUtdW5pdC10ZXN0cwotICAgIC0gLS1zaXplLWxpbWl0PTE2Mzg0eDE2Mzg0Ci0gICAgLSAtLWVu
YWJsZS1wb3N0cHJvYwotICAgIC0gLS1lbmFibGUtbXVsdGktcmVzLWVuY29kaW5nCi0gICAgLSAt
LWVuYWJsZS10ZW1wb3JhbC1kZW5vaXNpbmcKLSAgICAtIC0tZW5hYmxlLXZwOS10ZW1wb3JhbC1k
ZW5vaXNpbmcKLSAgICAtIC0tZW5hYmxlLXZwOS1wb3N0cHJvYwotICAgIC0gLS1lbmFibGUtc2hh
cmVkCi0tIG5hbWU6IGFvbQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6
IGh0dHBzOi8vYW9tZWRpYS5nb29nbGVzb3VyY2UuY29tL2FvbQotICAgICAgYnJhbmNoOiBjZGIw
ODNlODRhNzFkNmQzMTE2M2E0ZjY0ZjE4ZGMxMzI4ZmQ3ODJjCi0gIGJ1aWxkc3lzdGVtOiBjbWFr
ZS1uaW5qYQotICBidWlsZGRpcjogdHJ1ZQotICBjb25maWctb3B0czoKLSAgICAtIC1EQlVJTERf
U0hBUkVEX0xJQlM9MQotLSBuYW1lOiBsaWJ1bndpbmQKLSAgc291cmNlczoKLSAgICAtIHR5cGU6
IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbGlidW53aW5kL2xpYnVud2luZC5n
aXQKLSAgICAgIGNvbW1pdDogdjEuMi4xCi0tIG5hbWU6IGxpYm9wZW5oMjY0Ci0gIGJ1aWxkc3lz
dGVtOiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBz
Oi8vZ2l0aHViLmNvbS9jaXNjby9vcGVuaDI2NC5naXQKLSAgICAgIGJyYW5jaDogYTFiM2YwN2M1
MjcxZjMxMjk5N2ZjYzM0NTEyMzcwMzE0NDRjNDQ3NSAjIDEuOC4wICsgZml4IGZvciBnY2MgOAot
LSBuYW1lOiBnc3RyZWFtZXIKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIHNvdXJjZXM6Ci0gICAg
LSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL2dz
dHJlYW1lci9nc3RyZWFtZXIuZ2l0Ci0gICAgICBicmFuY2g6IDEuMTYuMQotICBjb25maWctb3B0
czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotICAgIC0gLURpbnRyb3NwZWN0aW9uPWRpc2Fi
bGVkCi0gICAgLSAtRGV4YW1wbGVzPWRpc2FibGVkCi0gICAgLSAtRHRlc3RzPWRpc2FibGVkCi0t
IG5hbWU6IGdzdC1wbHVnaW5zLWJhc2UKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIHNvdXJjZXM6
Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Au
b3JnL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYXNlLmdpdAotICAgICAgYnJhbmNoOiAxLjE2LjEK
LSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9nc3RyZWFtZXIvcGF0Y2hlcy9iYXNl
LTAwMDEtcGxheWJpbi1IYW5kbGUtZXJyb3ItbWVzc2FnZS13aXRoLXJlZGlyZWN0aW9uLWluZGlj
YS5wYXRjaAotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2dzdHJlYW1lci9wYXRj
aGVzL2Jhc2UtMDAwMS1nbHVwbG9hZC1BZGQtVmlkZW9NZXRhcy1hbmQtR0xTeW5jTWV0YS10by10
aGUtcmF3LXVwLnBhdGNoCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9jPWRpc2FibGVk
Ci0gICAgLSAtRGludHJvc3BlY3Rpb249ZGlzYWJsZWQKLSAgICAtIC1EZXhhbXBsZXM9ZGlzYWJs
ZWQKLSAgICAtIC1EdGVzdHM9ZGlzYWJsZWQKLS0gbmFtZTogZ3N0LXBsdWdpbnMtZ29vZAotICBi
dWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJs
OiBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWdv
b2QuZ2l0Ci0gICAgICBicmFuY2g6IDEuMTYuMQotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBh
dGg6IC4uL2dzdHJlYW1lci9wYXRjaGVzL2dvb2QtMDAwMS1xdGRlbXV4LVNwZWNpZnktUkVESVJF
Q1QtaW5mb3JtYXRpb24taW4tZXJyb3ItbWVzc2FnLnBhdGNoCi0gIGNvbmZpZy1vcHRzOgotICAg
IC0gLURndGtfZG9jPWRpc2FibGVkCi0gICAgLSAtRGludHJvc3BlY3Rpb249ZGlzYWJsZWQKLSAg
ICAtIC1EZXhhbXBsZXM9ZGlzYWJsZWQKLSAgICAtIC1EZ3RrMz1kaXNhYmxlZAotLSBuYW1lOiB4
MjY0Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gIi0tZW5hYmxlLXNoYXJlZCIKLSAgICAtICItLWVu
YWJsZS1zdGF0aWMiCi0gICAgLSAiLS1lbmFibGUtcGljIgotICAgIC0gIi0tZGlzYWJsZS1sYXZm
IgotICAgIC0gIi0tZGlzYWJsZS1hc20iCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZl
Ci0gICAgICB1cmw6IGh0dHA6Ly9kb3dubG9hZC52aWRlb2xhbi5vcmcvcHViL3gyNjQvc25hcHNo
b3RzL3gyNjQtc25hcHNob3QtMjAxNDAyMTItMjI0NS1zdGFibGUudGFyLmJ6MgotICAgICAgc2hh
MjU2OiA1ZDk4ZTllNGZhZjZkZDU1ZTcxOTNlZDM3OWFmZjQ3N2I4YWNiZGE2Nzc3NzU4OTU2ZWY3
ZTVmMDUwNjdiZTE4Ci0tIG5hbWU6IGdzdC1wbHVnaW5zLXVnbHkKLSAgYnVpbGRzeXN0ZW06IG1l
c29uCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9hbm9u
Z2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLXVnbHkKLSAgICAg
IGJyYW5jaDogMS4xNi4wCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9jPWRpc2FibGVk
Ci0tIG5hbWU6IGdzdC1wbHVnaW5zLWJhZAotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNl
czoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGxhYi5mcmVlZGVza3Rv
cC5vcmcvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZC5naXQKLSAgICAgIGJyYW5jaDogMS4xNi4x
Ci0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3N0cmVhbWVyL3BhdGNoZXMvZ3N0
LXBsdWdpbnMtYmFkLTAwMDEtaDI2NHBhcnNlLVBvc3QtYS1XQVJOSU5HLXdoZW4tZGF0YS1pcy1i
cm9rZW4ucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlzYWJsZWQKLSAg
ICAtIC1EaW50cm9zcGVjdGlvbj1kaXNhYmxlZAotICAgIC0gLURleGFtcGxlcz1kaXNhYmxlZAot
LSBuYW1lOiBmZm1wZWcKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVy
bDogaHR0cHM6Ly9mZm1wZWcub3JnL3JlbGVhc2VzL2ZmbXBlZy00LjAuNC50YXIuZ3oKLSAgICAg
IHNoYTI1NjogODBiYjY4NWFiZmNkZGE3YzliNmM5YzVjYWYxZDhkYmI5Mjc4NTgwNTBkNzM3N2My
YjhmMzQ4OGM3ZThhOWI3ZgotICBjb25maWctb3B0czoKLSAgICAtIC0tZW5hYmxlLXN0YXRpYwot
ICAgIC0gLS1lbmFibGUtcGljCi0gICAgLSAtLWRpc2FibGUtYXZkZXZpY2UKLSAgICAtIC0tZGlz
YWJsZS1wb3N0cHJvYwotICAgIC0gLS1kaXNhYmxlLXN3c2NhbGUKLSAgICAtIC0tZGlzYWJsZS1w
cm9ncmFtcwotICAgIC0gLS1kaXNhYmxlLWZmcGxheQotICAgIC0gLS1kaXNhYmxlLWZmcHJvYmUK
LSAgICAtIC0tZGlzYWJsZS1mZm1wZWcKLSAgICAtIC0tZGlzYWJsZS1lbmNvZGVyPWZsYWMKLSAg
ICAtIC0tZGlzYWJsZS1wcm90b2NvbHMKLSAgICAtIC0tZGlzYWJsZS1kZXZpY2VzCi0gICAgLSAt
LWRpc2FibGUtbmV0d29yawotICAgIC0gLS1kaXNhYmxlLWh3YWNjZWxzCi0gICAgLSAtLWRpc2Fi
bGUtZHh2YTIKLSAgICAtIC0tZGlzYWJsZS12ZHBhdQotICAgIC0gLS1kaXNhYmxlLWZpbHRlcnMK
LSAgICAtIC0tZW5hYmxlLWZpbHRlcj15YWRpZgotICAgIC0gLS1kaXNhYmxlLWRvYwotICAgIC0g
LS1kaXNhYmxlLWQzZDExdmEKLSAgICAtIC0tZGlzYWJsZS1keHZhMgotICAgIC0gLS1kaXNhYmxl
LWF1ZGlvdG9vbGJveAotICAgIC0gLS1kaXNhYmxlLXZpZGVvdG9vbGJveAotICAgIC0gLS1kaXNh
YmxlLXZhYXBpCi0gICAgLSAtLWRpc2FibGUtY3J5c3RhbGhkCi0gICAgLSAtLWRpc2FibGUtbWVk
aWFjb2RlYwotICAgIC0gLS1kaXNhYmxlLW52ZW5jCi0gICAgLSAtLWRpc2FibGUtbW1hbAotICAg
IC0gLS1kaXNhYmxlLW9teAotICAgIC0gLS1kaXNhYmxlLW9teC1ycGkKLSAgICAtIC0tZGlzYWJs
ZS1jdWRhCi0gICAgLSAtLWRpc2FibGUtY3V2aWQKLSAgICAtIC0tZGlzYWJsZS1saWJtZngKLSAg
ICAtIC0tZGlzYWJsZS1saWJucHAKLSAgICAtIC0tZGlzYWJsZS1pY29udgotICAgIC0gLS1kaXNh
YmxlLWpuaQotICAgIC0gLS1kaXNhYmxlLXY0bDJfbTJtCi0gICAgLSAtLWVuYWJsZS1vcHRpbWl6
YXRpb25zCi0tIG5hbWU6IGdzdC1saWJhdgotICBidWlsZHN5c3RlbTogbWVzb24KLSAgYnVpbGRk
aXI6IHRydWUKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0
cHM6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL3NyYy9nc3QtbGliYXYvZ3N0LWxpYmF2LTEu
MTYuMS50YXIueHoKLSAgICAgIHNoYTI1NjogZThhNTc0OGFlOWE0YTdiZTk2OTY1MTIxODJlYTlm
ZmE2ZWZlMGJlOWI3OTc2OTE2NTQ4ZTlkNDM4MWNhNjFjNAotICBjb25maWctb3B0czoKLSAgICAt
IC1EZ3RrX2RvYz1kaXNhYmxlZAotCi0tIG5hbWU6IGxpYmdjcnlwdCAjIFNwZWVkdXAgbGliZ2Ny
eXB0Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9kZXYu
Z251cGcub3JnL3NvdXJjZS9saWJnY3J5cHQuZ2l0Ci0gICAgICBicmFuY2g6IGxpYmdjcnlwdC0x
LjguNAotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IHBhdGNoZXMvbGliZ2NyeXB0LTAw
MDEtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRjaAotICAgIC0gdHlwZTog
cGF0Y2gKLSAgICAgIHBhdGg6IC4uL2d0ay9wYXRjaGVzL2xpYmdjcnlwdC11c2Utb25seS1kZXYt
dXJhbmRvbS1mb3ItdGVzdGluZy5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC0tZGlzYWJs
ZS1kb2MKLQotLSBuYW1lOiBwZXJsLWNnaS1wbQotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1
aWxkLWNvbW1hbmRzOgotICAgIC0gcGVybCBNYWtlZmlsZS5QTCBQUkVGSVg9L2FwcCBMSUI9L2Fw
cC9saWIvcGVybC8KLSAgICAtIG1ha2UgaW5zdGFsbAotICBzb3VyY2VzOgotICAgIC0gdHlwZTog
YXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL2NwYW4ubWV0YWNwYW4ub3JnL2F1dGhvcnMvaWQv
TC9MRS9MRUVKTy9DR0ktNC4zOC50YXIuZ3oKLSAgICAgIHNoYTI1NjogOGM1OGY0YTUyOWJiOTJh
OTE0YjIyYjdlNjRjNWUzMTE4NWM5ODU0YTQwNzBhNmRmYWQ0NGZlNWNjMjQ4ZTdkNAotCi0tIG5h
bWU6IHB5dGhvbjItdmlydHVhbGVudgotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNv
bW1hbmRzOgotICAtIHBpcDIgaW5zdGFsbCAtLW5vLWluZGV4IC0tZmluZC1saW5rcz0iZmlsZTov
LyR7UFdEfSIgLS10YXJnZXQ9L2FwcC9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvIHZpcnR1
YWxlbnYKLSAgLSBsbiAtcyAvYXBwL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy92aXJ0dWFs
ZW52LnB5IC9hcHAvYmluL3ZpcnR1YWxlbnYKLSAgLSBjaG1vZCAreCAvYXBwL2Jpbi92aXJ0dWFs
ZW52Ci0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogZmlsZQotICAgIHVybDogaHR0cHM6Ly9maWxlcy5w
eXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzMzL2JjL2ZhMGI1MzQ3MTM5Y2Q5NTY0ZjBkNDRlYmQy
YjE0N2FjOTdjMzZiMjQwMzk0M2RiZWU4YTI1ZmQ3NDAxMi92aXJ0dWFsZW52LTE2LjAuMC50YXIu
Z3oKLSAgICBzaGEyNTY6IGNhMDdiNGMwYjU0ZTE0YTkxYWY5ZjM0ZDA5MTk3OTBiMDE2OTIzZDE1
N2FmZGE1ZWZkZGU1NWM5NjcxOGY3NTIKLQotLSBuYW1lOiBsaWJjYXAtbmcKLSAgc291cmNlczoK
LSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vc3RldmVncnVi
Yi9saWJjYXAtbmcKLSAgICAgIGJyYW5jaDogdjAuNy45Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0g
LS13aXRoLXB5dGhvbj1ubwotICAgIC0gLS13aXRoLXB5dGhvbjM9bm8KLQotLSBuYW1lOiBsem8y
Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHA6Ly93d3cu
b2Jlcmh1bWVyLmNvbS9vcGVuc291cmNlL2x6by9kb3dubG9hZC9sem8tMi4xMC50YXIuZ3oKLSAg
ICAgIHNoYTE6IDQ5MjQ2NzZhOWJhZTVkYjU4ZWYxMjlkYzFjZWJjZTNiYWEzYzRiNWQKLQotLSBu
YW1lOiBpY2VjYwotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBz
Oi8vZ2l0aHViLmNvbS9pY2VjYy9pY2VjcmVhbQotICAgICAgdGFnOiAiMS4yIgotICAgICAgY29t
bWl0OiBlM2QxMGEzMmJjNmMwNDZkOGYzZDExODJlNzVjNjU5ZDRiMjhlZDQ5Ci0gIGNvbmZpZy1v
cHRzOgotICAgIC0gLS13aXRob3V0LW1hbgotCi0tIG5hbWU6IGJyb3RsaQotICBzb3VyY2VzOgot
ICAtIHR5cGU6IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvYnJv
dGxpL2FyY2hpdmUvdjEuMC41LnRhci5negotICAgIHNoYTI1NjogM2Q1YmVkZDQ4ZWRiOTA5ZmUz
Yjg3Y2I5OWY3ZDEzOWI5ODdlZjZmMTYxNmI3ZTIyZDc0ZTkyODI3MGEyZmQyMAotICBidWlsZHN5
c3RlbTogY21ha2UtbmluamEKLQotLSBuYW1lOiB3b2ZmMgotICBzb3VyY2VzOgotICAtIHR5cGU6
IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvd29mZjIvYXJjaGl2
ZS92MS4wLjIudGFyLmd6Ci0gICAgc2hhMjU2OiBhZGQyNzJiYjA5ZTYzODRhNDgzM2ZmY2E0ODk2
MzUwZmRiMTZlMGNhMjJkZjY4YzAzODQ3NzNjNjdhMTc1NTk0Ci0gIGJ1aWxkc3lzdGVtOiBjbWFr
ZS1uaW5qYQotCi0tIG5hbWU6IG9wZW5qcGVnCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogYXJjaGl2
ZQotICAgIHVybDogaHR0cDovL2dpdGh1Yi5jb20vdWNsb3V2YWluL29wZW5qcGVnL2FyY2hpdmUv
djIuMy4wLnRhci5negotICAgIHNoYTI1NjogM2RjNzg3YzFiYjYwMjNiYTg0NmMyYTBkOWIxZjZl
MTc5ZjFjZDI1NTE3MmJkZTllYjc1YjAxZjFlNmM3ZDcxYQotICBidWlsZHN5c3RlbTogY21ha2Ut
bmluamEKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5HVEsueWFtbCBiL1Rv
b2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5HVEsueWFtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggOTYzYjU2MDQ0MDgwNDVlZDA4N2M3YzI2N2E1OTMyYjg0ZTYzMGQzZi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL29yZy53
ZWJraXQuR1RLLnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMjMgKzAsMCBAQAotLSBuYW1lOiBt
ZXNhCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHBzOi8v
bWVzYS5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZS9tZXNhLTE4LjAuMy50YXIueHoKLSAgICAgIHNo
YTI1NjogMDk5ZDk2NjczMjdhNzZhNjE3NDFhNTMzZjk1MDY3ZDc2ZWE3MWE2NTZlNjZiOTE1MDdi
M2MwY2FmMWQ0OWUzMAotICBjb25maWctb3B0czoKLSAgICAtIC0tcHJlZml4PS9hcHAvc29mdEdM
Ci0gICAgLSAtLWRpc2FibGUtZHJpMwotICAgIC0gLS1lbmFibGUtZHJpCi0gICAgLSAtLWVuYWJs
ZS1nbHgKLSAgICAtIC0tZW5hYmxlLWVnbAotICAgIC0gLS13aXRoLWVnbC1wbGF0Zm9ybXM9eDEx
LHdheWxhbmQKLSAgICAtIC0td2l0aC1kcmktZHJpdmVycz1zd3Jhc3QKLSAgICAtIC0td2l0aC1n
YWxsaXVtLWRyaXZlcnM9c3dyYXN0Ci0KLS0gbmFtZTogd2Via2l0Z3RrLXRlc3QtZm9udHMKLSAg
bm8tYXV0b2dlbjogdHJ1ZQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6
IGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJLaXRHVEsvd2Via2l0Z3RrLXRlc3QtZm9udHMuZ2l0Ci0g
IGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gICAgIyBGSVhNRTogTWFr
ZSBBY3RpdmF0ZUZvbnRXUEUgc21hcnRlci4KLSAgICAtIG1ha2UgaW5zdGFsbCBERVNURElSPS9h
cHAvV2ViS2l0QnVpbGQvRGVwZW5kZW5jaWVzR1RLL1Jvb3QKLQotLSBuYW1lOiB4b3JnLXV0aWwt
bWFjcm9zCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9h
bm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy91dGlsL21hY3Jvcy5naXQKLSAgICAgIGJy
YW5jaDogdXRpbC1tYWNyb3MtMS4xOS4yCi0KLS0gbmFtZTogeG9yZy1mb250LXV0aWwKLSAgc291
cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRl
c2t0b3Aub3JnL2dpdC94b3JnL2ZvbnQvdXRpbC5naXQKLSAgICAgIGJyYW5jaDogZm9udC11dGls
LTEuMy4xCi0KLS0gbmFtZTogeGtiZmlsZQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0g
ICAgICBicmFuY2g6IGxpYnhrYmZpbGUtMS4wLjkKLSAgICAgIHVybDogaHR0cHM6Ly9hbm9uZ2l0
LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy9saWIvbGlieGtiZmlsZS5naXQKLQotLSBuYW1lOiBm
b250ZW5jCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIGJyYW5jaDogbGliZm9u
dGVuYy0xLjEuMwotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dp
dC94b3JnL2xpYi9saWJmb250ZW5jLmdpdAotCi0tIG5hbWU6IHhmb250Ci0gIHNvdXJjZXM6Ci0g
ICAgLSB0eXBlOiBnaXQKLSAgICAgIGJyYW5jaDogbGliWGZvbnQyLTIuMC4zCi0gICAgICB1cmw6
IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcvbGliL2xpYlhmb250Lmdp
dAotCi0tIG5hbWU6IHh2ZmIKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJs
OiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC94b3JnL3hzZXJ2ZXIuZ2l0Ci0g
ICAgICBicmFuY2g6IHhvcmctc2VydmVyLTEuMTkuNgotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAg
IHBhdGg6IHBhdGNoZXMveHZmYi0wMDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEta2JtLWZpbGUu
cGF0Y2gKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9ndGsvcGF0Y2hlcy94c2Vy
dmVyLXJlbW92ZS1ib2d1cy1kZXBlbmRlbmNpZXMucGF0Y2gKLSAgICAtIHR5cGU6IHBhdGNoCi0g
ICAgICBwYXRoOiAuLi9ndGsvcGF0Y2hlcy94c2VydmVyLXNlYXJjaC1mb3ItRFJJLWRyaXZlcnMt
YXQtTElCR0xfRFJJVkVSU19QQVRILWVudmlyb24ucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAg
LSAtLWVuYWJsZS14dmZiCi0gICAgLSAtLWRpc2FibGUteHdheWxhbmQKLSAgICAtIC0tZW5hYmxl
LXh2ZmIKLSAgICAtIC0tZGlzYWJsZS14d2F5bGFuZAotICAgIC0gLS1kaXNhYmxlLXhpbmVyYW1h
Ci0gICAgLSAtLWVuYWJsZS1nbHgKLSAgICAtIC0tZW5hYmxlLWNvbXBvc2l0ZQotICAgIC0gLS1k
aXNhYmxlLXhvcmcKLSAgICAtIC0tZGlzYWJsZS1kbXgKLSAgICAtIC0tZGlzYWJsZS14bmVzdAot
ICAgIC0gLS1kaXNhYmxlLXhxdWFydHoKLSAgICAtIC0tZGlzYWJsZS14d2luCi0gICAgLSAtLWRp
c2FibGUteGVwaHlyCi0gICAgLSAtLWRpc2FibGUteGZha2UKLSAgICAtIC0tZGlzYWJsZS14ZmJk
ZXYKLSAgICAtIC0tZGlzYWJsZS1pbnN0YWxsLXNldHVpZAotICAgIC0gLS1kaXNhYmxlLXVuaXQt
dGVzdHMKLSAgICAtIC0tZGlzYWJsZS1wcmVzZW50Ci0gICAgLSAtLWVuYWJsZS11bml4LXRyYW5z
cG9ydAotICAgIC0gLS1lbmFibGUtdGNwLXRyYW5zcG9ydAotICAgIC0gLS1kaXNhYmxlLWxvY2Fs
LXRyYW5zcG9ydAotICAgIC0gLS13aXRob3V0LWR0cmFjZQotCi0jIFJlcXVpcmVkIGZvciBydW4t
Z3RrLXRlc3RzCi0tIG5hbWU6IHB5Y2Fpcm8KLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWls
ZC1jb21tYW5kczoKLSAgLSBweXRob24yIHNldHVwLnB5IGluc3RhbGwgLS1wcmVmaXg9L2FwcAot
ICBzb3VyY2VzOgotICAtIHR5cGU6IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vcHlwaS5weXRo
b24ub3JnL3BhY2thZ2VzL2VmLzk3L2IzM2RjNTMzZWE2MDc2ZDRlYTljYmQyZmUwNDlhMmI0YTNk
ZjVjNWI2ZmJhOWExODI2MTZmNmY4ZDMxMC9weWNhaXJvLTEuMTUuNC50YXIuZ3oKLSAgICBzaGEy
NTY6IGVlNGMzMDY4YzA0ODIzMGU1Y2U3NGJiODk5NGEwMjQ3MTExMjliZGUxYWYxZDc2ZTMyNzZj
N2FjZDgxYzQzNTcKLSAgY2xlYW51cDoKLSAgLSAiL2luY2x1ZGUiCi0gIC0gIi9saWIvcGtnY29u
ZmlnIgotCi0tIG5hbWU6IHB5Z29iamVjdC1weXRob24yCi0gIGJ1aWxkLW9wdGlvbnM6Ci0gICAg
ZW52OgotICAgICAgUFlUSE9OOiAiL3Vzci9iaW4vcHl0aG9uMiIKLSAgc291cmNlczoKLSAgLSB0
eXBlOiBhcmNoaXZlCi0gICAgdXJsOiBodHRwczovL2Rvd25sb2FkLmdub21lLm9yZy9zb3VyY2Vz
L3B5Z29iamVjdC8zLjI4L3B5Z29iamVjdC0zLjI4LjEudGFyLnh6Ci0gICAgc2hhMjU2OiA0MjMx
MmI0YTUwMTU1NzFmYTBhNGYyZDIwMTAwNWRhNDZiNzFjMjUxZWEyNjI1YmM5NTcwMmQwNzFjNGZm
ODk1Ci0gIGNsZWFudXA6Ci0gIC0gIi9pbmNsdWRlIgotICAtICIvbGliL3BrZ2NvbmZpZyIKLSAg
LSAiL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9naS8qLmxhIgotCi0tIG9yZy53ZWJraXQu
V1BFTW9kdWxlcy55YW1sCi0KLS0gbmFtZTogb3JnLndlYmtpdC5HVEsKLSAgYnVpbGRzeXN0ZW06
IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgICAtIC9hcHAvd2Via2l0L1Rvb2xzL1Njcmlw
dHMvYnVpbGQtd2Via2l0IC0tZ3RrIC0tcHJlZml4PS9hcHAKLQpkaWZmIC0tZ2l0IGEvVG9vbHMv
ZmxhdHBhay9vcmcud2Via2l0LldQRS55YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQ
RS55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0Y2JhYmJhYTBjYjhlMTU4YWQ0
NDQxZjk4YjRkMDUzYThjYjNiYTc2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEUueWFtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDE0ICswLDAgQEAKLS0gb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwKLS0gbmFt
ZTogd2Via2l0Z3RrLXRlc3QtZm9udHMKLSAgbm8tYXV0b2dlbjogdHJ1ZQotICBzb3VyY2VzOgot
ICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJLaXRHVEsv
d2Via2l0Z3RrLXRlc3QtZm9udHMuZ2l0Ci0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQt
Y29tbWFuZHM6Ci0gICAgIyBGSVhNRTogTWFrZSBBY3RpdmF0ZUZvbnRXUEUgc21hcnRlci4KLSAg
ICAtIG1ha2UgaW5zdGFsbCBERVNURElSPS9hcHAvV2ViS2l0QnVpbGQvRGVwZW5kZW5jaWVzV1BF
L1Jvb3QKLS0gbmFtZTogb3JnLndlYmtpdC5XUEUKLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBi
dWlsZC1jb21tYW5kczoKLSAgICAtIC9hcHAvd2Via2l0L1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Vi
a2l0IC0td3BlIC0tcHJlZml4PS9hcHAKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndl
YmtpdC5XUEVNb2R1bGVzLnlhbWwgYi9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFTW9kdWxl
cy55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhODBlMmNjYjNhNGQ5NTIyYTYw
NzkzNGMwNmUwYWY5MjA1YmYwMjE3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwKKysr
IC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0tIG5hbWU6IGxpYndwZQotICBidWlsZHN5c3Rl
bTogY21ha2UtbmluamEKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVy
bDogaHR0cHM6Ly93cGV3ZWJraXQub3JnL3JlbGVhc2VzL2xpYndwZS0xLjQuMC50YXIueHoKLSAg
ICAgIHNoYTI1NjogZTJkMzQ5NGZjMzNmZTk0NmFkOTE3ZmQ2YTNhYmQxMjc0NjJiOTFiYmE2MmVm
OGIzNTUwN2U5MmY4ZWRlNDE4OAotLSBuYW1lOiB3cGViYWNrZW5kLWZkbwotICBidWlsZHN5c3Rl
bTogY21ha2UtbmluamEKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVy
bDogaHR0cHM6Ly93cGV3ZWJraXQub3JnL3JlbGVhc2VzL3dwZWJhY2tlbmQtZmRvLTEuNC4wLnRh
ci54egotICAgICAgc2hhMjU2OiBhOTE5Y2E0YTViYzQ0NWY5NDE5YTViN2YzNzgxY2ZjOThlNWFi
Y2Y1ZDcyNTllYjE4NjlmNWFiMjBmZDE4YmFmCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29y
Zy53ZWJraXQuV1BFUVQueWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVRVC55YW1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTM2OTU3YTQ2MWJjMzQ3OWEzOGVmZmRl
NmQ5NThiZDAwNzI2NzhlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVRVC55YW1sCisrKyAvZGV2L251bGwK
QEAgLTEsMzkgKzAsMCBAQAotYXBwLWlkOiBvcmcud2Via2l0LldQRVFUCi1ydW50aW1lOiBvcmcu
a2RlLlBsYXRmb3JtCi1ydW50aW1lLXZlcnNpb246ICI1LjEyIgotIyBDb250cm9sIHRoZSBleGFj
dCB2ZXJzaW9uIG9mIHRoZSBTZGsvUnVudGltZSB0aGF0IGlzIGJlaW5nIHVzZWQuCi1zZGstaGFz
aDogZDZlZmEyNGUyN2MxYzg3OGFkNGZkZTc2YjczYzk2YTExYmUzMmI1OThhZTg3YWVmYmUzMzll
ZTRiYjE5YThiZQotcnVudGltZS1oYXNoOiAxMDE4NzFlMDkxMDAwNjE2YWQyYjYzNWUwNmM0MTRl
YjBlMWM0ZTFjMzQyOTJhMjA1YzUyMzk5MzVlZTVlYTQ0Ci1zZGs6IG9yZy5rZGUuU2RrCi1jb21t
YW5kOiAlKENPTU1BTkQpcwotZmluaXNoLWFyZ3M6Ci0gICMgQmFzaWNhbGx5IG5vIHNhbmRib3hp
bmcsIHRoZSBnb2FsIGhlcmUgaXMgdG8gbWFrZSBpdCBmbGV4aWJsZQotICAjIGZvciBkZXZlbG9w
ZXJzLCBub3QgcmVhbGx5IHRvIGlzb2xhdGUgKG9wZW5uaW5nIGFsbCBkZXZpY2VzCi0gICMgdG8g
YWxsb3cgYWNjZXMgdmlkZW8gY2FtZXJhcyB1bnRpbCB3ZSBoYXZlIGEgcG9ydGFsIGF0IGxlYXN0
KS4KLSAgLSAtLXNoYXJlPWlwYwotICAtIC0tc29ja2V0PXgxMQotICAtIC0tc29ja2V0PXdheWxh
bmQKLSAgLSAtLWRldmljZT1hbGwKLSAgLSAtLXNoYXJlPW5ldHdvcmsKLSAgLSAtLXNvY2tldD1w
dWxzZWF1ZGlvCi0gIC0gLS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5mcmVlZGVza3RvcC5HZW9DbHVl
MgotICAtIC0tc3lzdGVtLXRhbGstbmFtZT1vcmcuYTExeS5CdXMKLSAgLSAtLWZpbGVzeXN0ZW09
aG9zdAotICAtIC0tc29ja2V0PXN5c3RlbS1idXMKLSAgLSAtLXRhbGstbmFtZT1vcmcuZnJlZWRl
c2t0b3AuRmxhdHBhawotICAtIC0tZW52PUdTVF9QUkVTRVRfUEFUSD0vYXBwL3NoYXJlL2dzdHJl
YW1lci0xLjAvcHJlc2V0cy8KLWJ1aWxkLW9wdGlvbnM6Ci0gIGNmbGFnczogLU8yIC1nCi0gIGN4
eGZsYWdzOiAtTzIgLWcKLSAgc3RyaXA6IGZhbHNlCi0gIG5vLWRlYnVnaW5mbzogdHJ1ZQotbW9k
dWxlczoKLSAgLSBvcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbAotICAtIG9yZy53ZWJraXQu
V1BFTW9kdWxlcy55YW1sCi0KLSAgIyBUaGlzIG1vZHVsZSBpcyBub3QgYWN0dWFsbHkgYnVpbHQu
Ci0gIC0gbmFtZTogb3JnLndlYmtpdC5XUEVRVAotICAgIGJ1aWxkc3lzdGVtOiBjbWFrZQotICAg
IHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBkaXIKLSAgICAgIHBhdGg6IC9hcHAvd2Via2l0L1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvcXQKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsv
b3JnLndlYmtpdC5XZWJLaXQueWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XZWJLaXQu
eWFtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjZkNjEyNjYwZDhhMjA0NWRhMzEy
ZmRiMDkxYjc4ZTU4YTgwN2U2OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV2ViS2l0LnlhbWwKKysrIC9kZXYv
bnVsbApAQCAtMSwzMyArMCwwIEBACi1hcHAtaWQ6ICUoUE9SVE5BTUUpcwotcnVudGltZTogb3Jn
Lmdub21lLlBsYXRmb3JtCi1ydW50aW1lLXZlcnNpb246ICIzLjMyIgotIyBDb250cm9sIHRoZSBl
eGFjdCB2ZXJzaW9uIG9mIHRoZSBTZGsvUnVudGltZSB0aGF0IGlzIGJlaW5nIHVzZWQuCi1zZGst
aGFzaDogYjNiOWIxZDFiMTllYTJiYjcyMDE5NDI4Y2E3NWM3YTc4NDU1ZTk4NmEwZjkxZGRkZjZh
MjljOTI5OTBjYzVhNwotcnVudGltZS1oYXNoOiA3YzlkNTU5MmQ4MDVkMGI3YzIxMjE5MGZkODEx
OGU0Yzc4Y2I4ZWQ4ZjgxZTY4Nzg1ODk3MjY3MGRhY2NmZjc2Ci1zZGs6IG9yZy5nbm9tZS5TZGsK
LWNvbW1hbmQ6ICUoQ09NTUFORClzCi1maW5pc2gtYXJnczoKLSAgIyBCYXNpY2FsbHkgbm8gc2Fu
ZGJveGluZywgdGhlIGdvYWwgaGVyZSBpcyB0byBtYWtlIGl0IGZsZXhpYmxlCi0gICMgZm9yIGRl
dmVsb3BlcnMsIG5vdCByZWFsbHkgdG8gaXNvbGF0ZSAob3Blbm5pbmcgYWxsIGRldmljZXMKLSAg
IyB0byBhbGxvdyBhY2NlcyB2aWRlbyBjYW1lcmFzIHVudGlsIHdlIGhhdmUgYSBwb3J0YWwgYXQg
bGVhc3QpLgotICAtIC0tc2hhcmU9aXBjCi0gIC0gLS1zb2NrZXQ9eDExCi0gIC0gLS1zb2NrZXQ9
d2F5bGFuZAotICAtIC0tZGV2aWNlPWFsbAotICAtIC0tc2hhcmU9bmV0d29yawotICAtIC0tc29j
a2V0PXB1bHNlYXVkaW8KLSAgLSAtLXN5c3RlbS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkdl
b0NsdWUyCi0gIC0gLS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cwotICAtIC0tZmlsZXN5
c3RlbT1ob3N0Ci0gIC0gLS1zb2NrZXQ9c3lzdGVtLWJ1cwotICAtIC0tdGFsay1uYW1lPW9yZy5m
cmVlZGVza3RvcC5GbGF0cGFrCi0gIC0gLS1lbnY9R1NUX1BSRVNFVF9QQVRIPS9hcHAvc2hhcmUv
Z3N0cmVhbWVyLTEuMC9wcmVzZXRzLwotYnVpbGQtb3B0aW9uczoKLSAgY2ZsYWdzOiAtTzIgLWcK
LSAgY3h4ZmxhZ3M6IC1PMiAtZwotICBzdHJpcDogZmFsc2UKLSAgbm8tZGVidWdpbmZvOiB0cnVl
Ci1tb2R1bGVzOgotICAtIG9yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sCi0gICMgUG9ydCBz
cGVjaWZpYyBjb21wb25lbnRzLgotICAtICUoUE9SVE5BTUUpcy55YW1sCmRpZmYgLS1naXQgYS9U
b29scy9mbGF0cGFrL3BhdGNoZXMvaHR0cGQtMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWct
Zm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoIGIvVG9vbHMvZmxhdHBhay9wYXRjaGVzL2h0dHBkLTAw
MDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1QQ1JFLWRldGVjdGlvbi5wYXRjaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDM2YTY5NGYyOTIzZDM1MWRiNmYzZjEzMzI3NjAy
ODNkYTc4ZjlkZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Ub29scy9mbGF0cGFrL3BhdGNoZXMvaHR0cGQtMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25m
aWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBA
QAotRnJvbSBiNWViZTQwNGYxMzg4ZGRkYTM2MDNlNTMyNzdmODdlMGI5NmJhNjk1IE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAaWdhbGlh
LmNvbT4KLURhdGU6IE1vbiwgMTEgSnVuIDIwMTggMTY6MTQ6MzggLTA0MDAKLVN1YmplY3Q6IFtQ
QVRDSF0gY29uZmlndXJlOiB1c2UgcGtnLWNvbmZpZyBmb3IgUENSRSBkZXRlY3Rpb24KLQotLS0t
Ci0gY29uZmlndXJlLmluIHwgMjcgKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxl
IGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQg
YS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KLWluZGV4IDc2MWU4MzYuLmIxNTVkNGIgMTAw
NjQ0Ci0tLS0gYS9jb25maWd1cmUuaW4KLSsrKyBiL2NvbmZpZ3VyZS5pbgotQEAgLTIxNSwyOCAr
MjE1LDExIEBAIGZpCi0gQUNfQVJHX1dJVEgocGNyZSwKLSBBUEFDSEVfSEVMUF9TVFJJTkcoLS13
aXRoLXBjcmU9UEFUSCxVc2UgZXh0ZXJuYWwgUENSRSBsaWJyYXJ5KSkKLSAKLS1BQ19QQVRIX1BS
T0coUENSRV9DT05GSUcsIHBjcmUtY29uZmlnLCBmYWxzZSkKLS1pZiB0ZXN0IC1kICIkd2l0aF9w
Y3JlIiAmJiB0ZXN0IC14ICIkd2l0aF9wY3JlL2Jpbi9wY3JlLWNvbmZpZyI7IHRoZW4KLS0gICBQ
Q1JFX0NPTkZJRz0kd2l0aF9wY3JlL2Jpbi9wY3JlLWNvbmZpZwotLWVsaWYgdGVzdCAteCAiJHdp
dGhfcGNyZSI7IHRoZW4KLS0gICBQQ1JFX0NPTkZJRz0kd2l0aF9wY3JlCi0tZmkKLS0KLS1pZiB0
ZXN0ICIkUENSRV9DT05GSUciICE9ICJmYWxzZSI7IHRoZW4KLS0gIGlmICRQQ1JFX0NPTkZJRyAt
LXZlcnNpb24gPi9kZXYvbnVsbCAyPiYxOyB0aGVuIDo7IGVsc2UKLS0gICAgQUNfTVNHX0VSUk9S
KFtEaWQgbm90IGZpbmQgcGNyZS1jb25maWcgc2NyaXB0IGF0ICRQQ1JFX0NPTkZJR10pCi0tICBm
aQotLSAgY2FzZSBgJFBDUkVfQ09ORklHIC0tdmVyc2lvbmAgaW4KLS0gIFtbMS01XS4qXSkKLS0g
ICAgQUNfTVNHX0VSUk9SKFtOZWVkIGF0IGxlYXN0IHBjcmUgdmVyc2lvbiA2LjBdKQotLSAgICA7
OwotLSAgZXNhYwotLSAgQUNfTVNHX05PVElDRShbVXNpbmcgZXh0ZXJuYWwgUENSRSBsaWJyYXJ5
IGZyb20gJFBDUkVfQ09ORklHXSkKLS0gIEFQUl9BRERUTyhQQ1JFX0lOQ0xVREVTLCBbYCRQQ1JF
X0NPTkZJRyAtLWNmbGFnc2BdKQotLSAgQVBSX0FERFRPKFBDUkVfTElCUywgW2AkUENSRV9DT05G
SUcgLS1saWJzYF0pCi0tZWxzZQotLSAgQUNfTVNHX0VSUk9SKFtwY3JlLWNvbmZpZyBmb3IgbGli
cGNyZSBub3QgZm91bmQuIFBDUkUgaXMgcmVxdWlyZWQgYW5kIGF2YWlsYWJsZSBmcm9tIGh0dHA6
Ly9wY3JlLm9yZy9dKQotLWZpCi0rUEtHX0NIRUNLX01PRFVMRVMoW1BDUkVdLCBbbGlicGNyZV0s
IFsKLSsgIEFDX0RFRklORShbSEFWRV9QQ1JFXSwgWzFdLCBbRGVmaW5lIGlmIHlvdSBoYXZlIFBD
UkUgbGlicmFyeV0pCi0rXSwgWwotKyAgQUNfTVNHX0VSUk9SKFskUENSRV9QS0dfRVJST1JTXSkK
LStdKQotIEFQQUNIRV9TVUJTVChQQ1JFX0xJQlMpCi0gCi0gQUNfTVNHX05PVElDRShbXSkKLS0t
IAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy9saWJnY3J5cHQt
MDAwMS1Vc2UtcGtnLWNvbmZpZy10by1kZXRlY3QtZ3BnLWVycm9yLnBhdGNoIGIvVG9vbHMvZmxh
dHBhay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWRldGVjdC1ncGct
ZXJyb3IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM1NzcyN2ZiYjhiMDhi
OTE5NWE1YzA5N2Q2YzYxYjkwOGM2OTE3OWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVz
ZS1wa2ctY29uZmlnLXRvLWRldGVjdC1ncGctZXJyb3IucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAt
MSwxMTAgKzAsMCBAQAotRnJvbSA5YWZmM2YxYjM0NGZjODY2NmIxNGM1NzYyOTE2MmMyYjkwMDdj
YWQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGhpYmF1bHQgU2F1bmllciA8dHNh
dW5pZXJAaWdhbGlhLmNvbT4KLURhdGU6IEZyaSwgMjkgSnVuIDIwMTggMDk6MDU6NTIgLTA0MDAK
LVN1YmplY3Q6IFtQQVRDSF0gVXNlIHBrZy1jb25maWcgdG8gZGV0ZWN0IGdwZy1lcnJvcgotCi0t
LS0KLSBtNC9ncGctZXJyb3IubTQgfCA4OCArKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDc2
IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbTQvZ3BnLWVycm9yLm00IGIvbTQvZ3BnLWVy
cm9yLm00Ci1pbmRleCAxNjYxMjA0Yy4uNWY5ZjMzYzIgMTAwNjQ0Ci0tLS0gYS9tNC9ncGctZXJy
b3IubTQKLSsrKyBiL200L2dwZy1lcnJvci5tNAotQEAgLTQxLDgxICs0MSwxNyBAQCBBQ19ERUZV
TihbQU1fUEFUSF9HUEdfRVJST1JdLAotICAgQUNfQVJHX1dJVEgoZ3BnLWVycm9yLXByZWZpeCws
Ci0gICAgICAgICAgICAgICBbZ3BnX2Vycm9yX2NvbmZpZ19wcmVmaXg9IiR3aXRodmFsIl0pCi0g
Ci0tICBpZiB0ZXN0IHgiJHtHUEdfRVJST1JfQ09ORklHfSIgPSB4IDsgdGhlbgotLSAgICAgaWYg
dGVzdCB4IiR7Z3BnX2Vycm9yX2NvbmZpZ19wcmVmaXh9IiAhPSB4IDsgdGhlbgotLSAgICAgICAg
R1BHX0VSUk9SX0NPTkZJRz0iJHtncGdfZXJyb3JfY29uZmlnX3ByZWZpeH0vYmluL2dwZy1lcnJv
ci1jb25maWciCi0tICAgICBlbHNlCi0tICAgICAgIGNhc2UgIiR7U1lTUk9PVH0iIGluCi0tICAg
ICAgICAgLyopCi0tICAgICAgICAgICBpZiB0ZXN0IC14ICIke1NZU1JPT1R9L2Jpbi9ncGctZXJy
b3ItY29uZmlnIiA7IHRoZW4KLS0gICAgICAgICAgICAgR1BHX0VSUk9SX0NPTkZJRz0iJHtTWVNS
T09UfS9iaW4vZ3BnLWVycm9yLWNvbmZpZyIKLS0gICAgICAgICAgIGZpCi0tICAgICAgICAgICA7
OwotLSAgICAgICAgICcnKQotLSAgICAgICAgICAgOzsKLS0gICAgICAgICAgKikKLS0gICAgICAg
ICAgIEFDX01TR19XQVJOKFtJZ25vcmluZyBcJFNZU1JPT1QgYXMgaXQgaXMgbm90IGFuIGFic29s
dXRlIHBhdGguXSkKLS0gICAgICAgICAgIDs7Ci0tICAgICAgIGVzYWMKLS0gICAgIGZpCi0tICBm
aQotKyAgUEtHX0NIRUNLX01PRFVMRVMoW0dQR19FUlJPUl0sIFtncGctZXJyb3JdLCBbCi0rICAg
IEFDX0RFRklORShbSEFWRV9HUEdfRVJST1JdLCBbMV0sIFtEZWZpbmUgaWYgeW91IGhhdmUgZ3Bn
LWVycm9yIGxpYnJhcnldKQotIAotLSAgQUNfUEFUSF9QUk9HKEdQR19FUlJPUl9DT05GSUcsIGdw
Zy1lcnJvci1jb25maWcsIG5vKQotLSAgbWluX2dwZ19lcnJvcl92ZXJzaW9uPWlmZWxzZShbJDFd
LCAsMC4wLCQxKQotLSAgQUNfTVNHX0NIRUNLSU5HKGZvciBHUEcgRXJyb3IgLSB2ZXJzaW9uID49
ICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb24pCi0tICBvaz1ubwotLSAgaWYgdGVzdCAiJEdQR19FUlJP
Ul9DT05GSUciICE9ICJubyIgXAotLSAgICAgJiYgdGVzdCAtZiAiJEdQR19FUlJPUl9DT05GSUci
IDsgdGhlbgotLSAgICByZXFfbWFqb3I9YGVjaG8gJG1pbl9ncGdfZXJyb3JfdmVyc2lvbiB8IFwK
LS0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXCkvXDEvJ2AK
LS0gICAgcmVxX21pbm9yPWBlY2hvICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb24gfCBcCi0tICAgICAg
ICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwuXChbWzAtOV1dKlwpL1wyLydgCi0tICAgIGdw
Z19lcnJvcl9jb25maWdfdmVyc2lvbj1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9jb25m
aWdfYXJncyAtLXZlcnNpb25gCi0tICAgIG1ham9yPWBlY2hvICRncGdfZXJyb3JfY29uZmlnX3Zl
cnNpb24gfCBcCi0tICAgICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwuXChbWzAtOV1d
KlwpLiovXDEvJ2AKLS0gICAgbWlub3I9YGVjaG8gJGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbiB8
IFwKLS0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXCkuKi9c
Mi8nYAotLSAgICBpZiB0ZXN0ICIkbWFqb3IiIC1ndCAiJHJlcV9tYWpvciI7IHRoZW4KLS0gICAg
ICAgIG9rPXllcwotLSAgICBlbHNlCi0tICAgICAgICBpZiB0ZXN0ICIkbWFqb3IiIC1lcSAiJHJl
cV9tYWpvciI7IHRoZW4KLS0gICAgICAgICAgICBpZiB0ZXN0ICIkbWlub3IiIC1nZSAiJHJlcV9t
aW5vciI7IHRoZW4KLS0gICAgICAgICAgICAgICBvaz15ZXMKLS0gICAgICAgICAgICBmaQotLSAg
ICAgICAgZmkKLS0gICAgZmkKLS0gIGZpCi0tICBpZiB0ZXN0ICRvayA9IHllczsgdGhlbgotLSAg
ICBHUEdfRVJST1JfQ0ZMQUdTPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19h
cmdzIC0tY2ZsYWdzYAotLSAgICBHUEdfRVJST1JfTElCUz1gJEdQR19FUlJPUl9DT05GSUcgJGdw
Z19lcnJvcl9jb25maWdfYXJncyAtLWxpYnNgCi0tICAgIEdQR19FUlJPUl9NVF9DRkxBR1M9YCRH
UEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1tdCAtLWNmbGFncyAyPi9k
ZXYvbnVsbGAKLS0gICAgR1BHX0VSUk9SX01UX0xJQlM9YCRHUEdfRVJST1JfQ09ORklHICRncGdf
ZXJyb3JfY29uZmlnX2FyZ3MgLS1tdCAtLWxpYnMgMj4vZGV2L251bGxgCi0tICAgIEFDX01TR19S
RVNVTFQoW3llcyAoJGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbildKQotLSAgICBpZmVsc2UoWyQy
XSwgLCA6LCBbJDJdKQotLSAgICBncGdfZXJyb3JfY29uZmlnX2hvc3Q9YCRHUEdfRVJST1JfQ09O
RklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1ob3N0IDI+L2Rldi9udWxsIHx8IGVjaG8gbm9u
ZWAKLS0gICAgaWYgdGVzdCB4IiRncGdfZXJyb3JfY29uZmlnX2hvc3QiICE9IHhub25lIDsgdGhl
bgotLSAgICAgIGlmIHRlc3QgeCIkZ3BnX2Vycm9yX2NvbmZpZ19ob3N0IiAhPSB4IiRob3N0IiA7
IHRoZW4KLS0gIEFDX01TR19XQVJOKFtbCi0tKioqCi0tKioqIFRoZSBjb25maWcgc2NyaXB0ICRH
UEdfRVJST1JfQ09ORklHIHdhcwotLSoqKiBidWlsdCBmb3IgJGdwZ19lcnJvcl9jb25maWdfaG9z
dCBhbmQgdGh1cyBtYXkgbm90IG1hdGNoIHRoZQotLSoqKiB1c2VkIGhvc3QgJGhvc3QuCi0tKioq
IFlvdSBtYXkgd2FudCB0byB1c2UgdGhlIGNvbmZpZ3VyZSBvcHRpb24gLS13aXRoLWdwZy1lcnJv
ci1wcmVmaXgKLS0qKiogdG8gc3BlY2lmeSBhIG1hdGNoaW5nIGNvbmZpZyBzY3JpcHQgb3IgdXNl
IFwkU1lTUk9PVC4KLS0qKipdXSkKLS0gICAgICAgIGdwZ19jb25maWdfc2NyaXB0X3dhcm49IiRn
cGdfY29uZmlnX3NjcmlwdF93YXJuIGxpYmdwZy1lcnJvciIKLS0gICAgICBmaQotLSAgICBmaQot
LSAgZWxzZQotLSAgICBHUEdfRVJST1JfQ0ZMQUdTPSIiCi0tICAgIEdQR19FUlJPUl9MSUJTPSIi
Ci0tICAgIEdQR19FUlJPUl9NVF9DRkxBR1M9IiIKLS0gICAgR1BHX0VSUk9SX01UX0xJQlM9IiIK
LS0gICAgQUNfTVNHX1JFU1VMVChubykKLS0gICAgaWZlbHNlKFskM10sICwgOiwgWyQzXSkKLS0g
IGZpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfQ0ZMQUdTKQotLSAgQUNfU1VCU1QoR1BHX0VSUk9S
X0xJQlMpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfTVRfQ0ZMQUdTKQotLSAgQUNfU1VCU1QoR1BH
X0VSUk9SX01UX0xJQlMpCi0rICAgIEdQR19FUlJPUl9NVF9DRkxBR1M9IiRHUEdfRVJST1JfQ0ZM
QUdTIgotKyAgICBHUEdfRVJST1JfTVRfTElCUz0iLWxwdGhyZWFkICRHUEdfRVJST1JfTElCUyIK
LSsKLSsgICAgQUNfU1VCU1QoR1BHX0VSUk9SX0NGTEFHUykKLSsgICAgQUNfU1VCU1QoR1BHX0VS
Uk9SX0xJQlMpCi0rICAgIEFDX1NVQlNUKEdQR19FUlJPUl9NVF9DRkxBR1MpCi0rICAgIEFDX1NV
QlNUKEdQR19FUlJPUl9NVF9MSUJTKQotKyAgXSwgWwotKyAgICBBQ19NU0dfRVJST1IoWyRHUEdf
RVJST1JfRVJST1JTXSkKLSsgIF0pCi0gXSkKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL1Rv
b2xzL2ZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEtSEFDSy1Bdm9pZC1jb21waWxpbmctYS1rYm0t
ZmlsZS5wYXRjaCBiL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEtSEFDSy1Bdm9pZC1j
b21waWxpbmctYS1rYm0tZmlsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ODk4ODQyYjM4MWQyNTE0MGZiYzA4ZjU0YTk3MjMwYTZkYmU0YTQ1MC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL3BhdGNoZXMveHZm
Yi0wMDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEta2JtLWZpbGUucGF0Y2gKKysrIC9kZXYvbnVs
bApAQCAtMSw1MCArMCwwIEBACi1Gcm9tIGFlZDFiNmU4ZGU0MTM3NWMxYjhiMWRmYzQ4YTM1MGUw
YTliOWNiYmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUaGliYXVsdCBTYXVuaWVy
IDx0c2F1bmllckBpZ2FsaWEuY29tPgotRGF0ZTogTW9uLCAxMSBKdW4gMjAxOCAxMDo1NTo0MyAt
MDQwMAotU3ViamVjdDogW1BBVENIIHhzZXJ2ZXJdIEhBQ0s6IEF2b2lkIGNvbXBpbGluZyBhIGti
bSBmaWxlCi0KLVRoaXMgd291bGQgbmVlZCB0byBiZSBpbiAvdXNyL3NoYXJlL1gxMS8gYXMgdGhp
cyBpcyB3aGVyZQotcmVzb3VyY2UgZmlsZXMgYXJlIGluIHRoZSBzYW5kYm94IGJ1dCBpdCBpcyBy
ZWFkIG9ubHkgaW4gdGhlcmUuCi0KLUhhY2sgYXJvdW5kIHRoYXQuCi0tLS0KLSB4a2IvZGR4TG9h
ZC5jIHwgOSArLS0tLS0tLS0KLSB4a2IveGtiSW5pdC5jIHwgMiArLQotIDIgZmlsZXMgY2hhbmdl
ZCwgMiBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEveGtiL2Rk
eExvYWQuYyBiL3hrYi9kZHhMb2FkLmMKLWluZGV4IGJiZTM5NTIuLmE0YTAzYTEgMTAwNjQ0Ci0t
LS0gYS94a2IvZGR4TG9hZC5jCi0rKysgYi94a2IvZGR4TG9hZC5jCi1AQCAtMTQ4LDE0ICsxNDgs
NyBAQCBSdW5Ya2JDb21wKHhrYmNvbXBfYnVmZmVyX2NhbGxiYWNrIGNhbGxiYWNrLCB2b2lkICp1
c2VyZGF0YSkKLSAgICAgICAgIH0KLSAgICAgfQotIAotLSAgICBpZiAoYXNwcmludGYoJmJ1ZiwK
LS0gICAgICAgICAgICAgICAgICJcIiVzJXN4a2Jjb21wXCIgLXcgJWQgJXMgLXhrbSBcIiVzXCIg
IgotLSAgICAgICAgICAgICAgICAgIi1lbTEgJXMgLWVtcCAlcyAtZW1sICVzIFwiJXMlcy54a21c
IiIsCi0tICAgICAgICAgICAgICAgICB4a2JiaW5kaXIsIHhrYmJpbmRpcnNlcCwKLS0gICAgICAg
ICAgICAgICAgICgoeGtiRGVidWdGbGFncyA8IDIpID8gMSA6Ci0tICAgICAgICAgICAgICAgICAg
KCh4a2JEZWJ1Z0ZsYWdzID4gMTApID8gMTAgOiAoaW50KSB4a2JEZWJ1Z0ZsYWdzKSksCi0tICAg
ICAgICAgICAgICAgICB4a2JiYXNlZGlyZmxhZyA/IHhrYmJhc2VkaXJmbGFnIDogIiIsIHhrbWZp
bGUsCi0tICAgICAgICAgICAgICAgICBQUkVfRVJST1JfTVNHLCBFUlJPUl9QUkVGSVgsIFBPU1Rf
RVJST1JfTVNHMSwKLSsgICAgaWYgKGFzcHJpbnRmKCZidWYsICJjcCAvYXBwL3dlYmtpdC9Ub29s
cy9mbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttIFwiJXMlcy54a21cIiIsCi0gICAgICAgICAgICAg
ICAgICB4a21fb3V0cHV0X2Rpciwga2V5bWFwKSA9PSAtMSkKLSAgICAgICAgIGJ1ZiA9IE5VTEw7
Ci0gCi1kaWZmIC0tZ2l0IGEveGtiL3hrYkluaXQuYyBiL3hrYi94a2JJbml0LmMKLWluZGV4IDlj
NzcyZjUuLjRlMGI3NzQgMTAwNjQ0Ci0tLS0gYS94a2IveGtiSW5pdC5jCi0rKysgYi94a2IveGti
SW5pdC5jCi1AQCAtODcsNyArODcsNyBAQCB0eXBlZGVmIHN0cnVjdCBfU3J2WGttSW5mbyB7Ci0g
I2RlZmluZQlYS0JfREZMVF9SVUxFU19QUk9QCVRSVUUKLSAjZW5kaWYKLSAKLS1jb25zdCBjaGFy
ICpYa2JCYXNlRGlyZWN0b3J5ID0gWEtCX0JBU0VfRElSRUNUT1JZOwotK2NvbnN0IGNoYXIgKlhr
YkJhc2VEaXJlY3RvcnkgPSAiL3Vzci9zaGFyZS9YMTEveGtiLyI7Ci0gY29uc3QgY2hhciAqWGti
QmluRGlyZWN0b3J5ID0gWEtCX0JJTl9ESVJFQ1RPUlk7Ci0gc3RhdGljIGludCBYa2JXYW50QWNj
ZXNzWCA9IDA7Ci0gCi0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9Ub29scy9ndGsvaW5zdGFs
bC1kZXBlbmRlbmNpZXMgYi9Ub29scy9ndGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMKaW5kZXggYzZk
YzUwY2EwZTVmZTdiMzA3ZmU1Njg4OTc2YzNiMzI4MWE0YzI2MS4uY2E1Yzc3MjAyNDViZGFlZDMz
MmRjZjAxZGNjYjNkMjhkMGRiMGFhYSAxMDA3NTUKLS0tIGEvVG9vbHMvZ3RrL2luc3RhbGwtZGVw
ZW5kZW5jaWVzCisrKyBiL1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVuZGVuY2llcwpAQCAtMTc2LDYg
KzE3NiwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aEFwdCB7CiAgICAgICAg
IHdlc3RvbiBcCiAgICAgICAgIHh2ZmIiCiAKKyAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMg
bmVjZXNzYXJ5IGZvciBidWlsZGluZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAgICBwYWNrYWdl
cz0iJHBhY2thZ2VzIFwKKyAgICAgICAgZmxhdHBhayIKKwogICAgICMgVGhlc2UgYXJlIGRlcGVu
ZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAgIHBhY2thZ2Vz
PSIkcGFja2FnZXMgXAogICAgICAgICBiaXNvbiBcCkBAIC0zNDQsNiArMzQ4LDEwIEBAIGZ1bmN0
aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoUGFjbWFuIHsKICAgICAgICAgd2VzdG9uIFwKICAg
ICAgICAgeG9yZy1zZXJ2ZXIteHZmYiIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBu
ZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAgIHBhY2thZ2Vz
PSIkcGFja2FnZXMgXAorICAgICAgICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBhcmUgZGVwZW5k
ZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAgIyBOb3RlOiBD
b3VsZCBub3QgZmluZCBsaWJlZ2wtbWVzYQogICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXApAQCAt
NTE2LDYgKzUyNCwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aERuZiB7CiAg
ICAgICAgIHdlc3Rvbi1kZXZlbCBcCiAgICAgICAgIHhvcmcteDExLXNlcnZlci1YdmZiIgogCisg
ICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgd2l0aCB0
aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCisgICAgICAgIGZsYXRw
YWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGlu
ZyB0aGUgamhidWlsZC4KICAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKICAgICAgICAgYmlzb24g
XApkaWZmIC0tZ2l0IGEvVG9vbHMvd3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzIGIvVG9vbHMvd3Bl
L2luc3RhbGwtZGVwZW5kZW5jaWVzCmluZGV4IDI3ZDljODFhY2ZhYTRhYzIyODRjZThlNzc2N2Zh
NTkyOTdjOGY0ZTguLmI4M2I2ZDY0MjA4YjZjMzdlMGY3OTlkZDhiNzdjNjUxYjI2YjAwMjUgMTAw
NzU1Ci0tLSBhL1Rvb2xzL3dwZS9pbnN0YWxsLWRlcGVuZGVuY2llcworKysgYi9Ub29scy93cGUv
aW5zdGFsbC1kZXBlbmRlbmNpZXMKQEAgLTExMCw2ICsxMTAsMTAgQEAgZnVuY3Rpb24gaW5zdGFs
bERlcGVuZGVuY2llc1dpdGhBcHQgewogICAgICAgICBydWJ5LWhpZ2hsaW5lIFwKICAgICAgICAg
cnVieS1qc29uIgogCisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3Ig
YnVpbGRpbmcgd2l0aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBc
CisgICAgICAgIGZsYXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNz
YXJ5IGZvciBidWlsZGluZyB0aGUgamhidWlsZC4KICAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwK
ICAgICAgICAgZ2l0IFwKQEAgLTIxMiw2ICsyMTYsMTAgQEAgZnVuY3Rpb24gaW5zdGFsbERlcGVu
ZGVuY2llc1dpdGhQYWNtYW4gewogICAgICAgICBweXRob24yLXBzdXRpbCBcCiAgICAgICAgIHJ1
YnkiCiAKKyAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGlu
ZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAgICAg
ICAgZmxhdHBhayIKKwogICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9y
IGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAogICAgICAg
ICBleHBhdCBcCkBAIC0zMjMsNiArMzMxLDEwIEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNp
ZXNXaXRoRG5mIHsKICAgICAgICAgcnVieWdlbS1oaWdobGluZSBcCiAgICAgICAgIHJ1YnlnZW0t
anNvbiIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxk
aW5nIHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAorICAg
ICAgICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBm
b3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCiAgICAg
ICAgIGV4cGF0LWRldmVsIFwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzNTNjYTNjZmVjYTY5MTEyMzY5MWYyOTVjZGVlYmI4
ZWUyYTE3YWM4Li5kZmNjOTdmYmI1MjNiNWJlNmI5MDg0MzUzODlkMDljNzZhZDgzYTlmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDEtMDQgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFu
ZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0gTWlncmF0ZSB0byBGbGF0cGFrLWJh
c2VkIGRldiBTREsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwNTY1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaHR0cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZjogQWRqdXN0IHBhdGhzLgorCiAyMDIw
LTAxLTI5ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBCbG9i
IG1lZGlhIGxvYWRpbmcgZG9lcyBub3Qgd29yayB3aXRoIEdQVVByb2Nlc3MKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvY29uZi9mbGF0cGFrLWh0dHBkLmNvbmYgYi9MYXlvdXRUZXN0cy9o
dHRwL2NvbmYvZmxhdHBhay1odHRwZC5jb25mCmluZGV4IDNjMDNlNDIzOWMyNDk4OWQ5Y2Q3OTY4
NjE0NGJjN2NlMmIzMGMzMWIuLmJmNTIxNWQ1ODlhZDYxZjg4MmQ1M2EwNjc1YWQ2N2E0NDZhYjk0
M2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvY29uZi9mbGF0cGFrLWh0dHBkLmNvbmYK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZgpAQCAtMSw1ICsx
LDUgQEAKIFNlcnZlclRva2VucyBPUwotU2VydmVyUm9vdCAiL2FwcC8iCitTZXJ2ZXJSb290ICIv
dXNyLyIKIAogUGlkRmlsZSAiL3RtcC9XZWJLaXQvaHR0cGQucGlkIgogU2NvcmVCb2FyZEZpbGUg
Ii90bXAvV2ViS2l0L2h0dHBkLnNjb3JlYm9hcmQiCkBAIC0zMyw5ICszMyw3IEBAIExvYWRNb2R1
bGUgbG9nX2NvbmZpZ19tb2R1bGUgICAgbW9kdWxlcy9tb2RfbG9nX2NvbmZpZy5zbwogTG9hZE1v
ZHVsZSBzc2xfbW9kdWxlICAgICAgICAgICBtb2R1bGVzL21vZF9zc2wuc28KIExvYWRNb2R1bGUg
cGhwN19tb2R1bGUgICAgICAgICAgbW9kdWxlcy9saWJwaHA3LnNvCiBMb2FkTW9kdWxlIGFzaXNf
bW9kdWxlICAgICAgICAgIG1vZHVsZXMvbW9kX2FzaXMuc28KLUxvYWRNb2R1bGUgZW52X21vZHVs
ZSAgICAgICAgICAgbW9kdWxlcy9tb2RfZW52LnNvCiAKLVNldEVudiBQRVJMNUxJQiAvYXBwL2xp
Yi9wZXJsCiAKIFNlcnZlck5hbWUgMTI3LjAuMC4xCiAKQEAgLTU0LDcgKzUyLDcgQEAgQWNjZXNz
RmlsZU5hbWUgLmh0YWNjZXNzCiBVc2VDYW5vbmljYWxOYW1lIE9uCiBIb3N0bmFtZUxvb2t1cHMg
T2ZmCiAKLVR5cGVzQ29uZmlnIC9ldGMvbWltZS50eXBlcworVHlwZXNDb25maWcgL3Vzci9jb25m
L21pbWUudHlwZXMKIAogTG9nTGV2ZWwgd2FybgogTG9nRm9ybWF0ICIlaCAlbCAldSAldCBcIiVy
XCIgJT5zICViIFwiJXtSZWZlcmVyfWlcIiBcIiV7VXNlci1BZ2VudH1pXCIiIGNvbWJpbmVkCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389125</attachid>
            <date>2020-01-29 05:19:03 -0800</date>
            <delta_ts>2020-01-30 09:17:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205658-20200129141901.patch</filename>
            <type>text/plain</type>
            <size>124074</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTA2YTE1ZDMxN2E4MmU3
OTUxNjhmNDNiZTNiMWFmOTVjNDYxMGQ5Mi4uODBmZDQxZDhiYTAwNmUxODE3ZWNhNzcxZmJlNGU5
ZWI1ZDQ2YmYzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAxLTA0ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVd
IE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0
aW9uTGliSHlwaGVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNjYW5UZXN0RGljdGlvbmFyaWVz
RGlyZWN0b3J5SWZOZWNlc3NhcnkpOiBDaGVjayBmb3IgZmxhdHBhay1pbnN0YWxsZWQgZGljdGlv
bmFyaWVzLgorCiAyMDIwLTAxLTI5ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBCbG9iIG1lZGlhIGxvYWRpbmcgZG9lcyBub3Qgd29yayB3aXRoIEdQVVByb2Nl
c3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhl
bmF0aW9uTGliSHlwaGVuLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVu
L0h5cGhlbmF0aW9uTGliSHlwaGVuLmNwcAppbmRleCAxMmJhYTRjNGQzZTllNjNmN2ZmODFjNWUy
YjExOTRiOGJiOGE5YzA1Li5mMzM1OWQ4MDcwMjJmNTQ4OWM2OGY5YWNmODE2YTY3MDQyYTUzZDYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2h5cGhlbi9IeXBoZW5h
dGlvbkxpYkh5cGhlbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9oeXBo
ZW4vSHlwaGVuYXRpb25MaWJIeXBoZW4uY3BwCkBAIC0xMjEsOCArMTIxLDE1IEBAIHN0YXRpYyB2
b2lkIHNjYW5UZXN0RGljdGlvbmFyaWVzRGlyZWN0b3J5SWZOZWNlc3NhcnkoSGFzaE1hcDxBdG9t
U3RyaW5nLCBWZWN0b3I8CiAgICAgLy8gbGliaHlwaGVuIGRvZXNuJ3QgaGF2ZSB0aGUgY29uY2Vw
dCBvZiBpbnN0YWxsZWQgZGljdGlvbmFyaWVzLiBJbnN0ZWFkLAogICAgIC8vIHdlIGhhdmUgdGhp
cyBzcGVjaWFsIGNhc2UgZm9yIFdlYktpdCB0ZXN0cy4KICNpZiBQTEFURk9STShHVEspCisgICAg
Ly8gVHJ5IGFsdGVybmF0aXZlIGRpY3Rpb25hcmllcyBwYXRoIGZvciBwZW9wbGUgdXNpbmcgRmxh
dHBhay4KKyAgICBHVW5pcXVlUHRyPGNoYXI+IGRpY3Rpb25hcmllc1BhdGgoZ19idWlsZF9maWxl
bmFtZSgiL3VzciIsICJzaGFyZSIsICJ3ZWJraXRndGstdGVzdC1kaWN0cyIsIG51bGxwdHIpKTsK
KyAgICBpZiAoZ19nZXRlbnYoIkZMQVRQQUtfSUQiKSAmJiBnX2ZpbGVfdGVzdChkaWN0aW9uYXJp
ZXNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNUX0lTX0RJUikp
KSB7CisgICAgICAgIHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJpZXMoZGljdGlvbmFyaWVzUGF0
aC5nZXQoKSwgYXZhaWxhYmxlTG9jYWxlcyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAg
ICBDU3RyaW5nIGJ1aWxkRGlyZWN0b3J5ID0gd2Via2l0QnVpbGREaXJlY3RvcnkoKTsKLSAgICBH
VW5pcXVlUHRyPGNoYXI+IGRpY3Rpb25hcmllc1BhdGgoZ19idWlsZF9maWxlbmFtZShidWlsZERp
cmVjdG9yeS5kYXRhKCksICJEZXBlbmRlbmNpZXNHVEsiLCAiUm9vdCIsICJ3ZWJraXRndGstdGVz
dC1kaWN0cyIsIG51bGxwdHIpKTsKKyAgICBkaWN0aW9uYXJpZXNQYXRoLnJlc2V0KGdfYnVpbGRf
ZmlsZW5hbWUoYnVpbGREaXJlY3RvcnkuZGF0YSgpLCAiRGVwZW5kZW5jaWVzR1RLIiwgIlJvb3Qi
LCAid2Via2l0Z3RrLXRlc3QtZGljdHMiLCBudWxscHRyKSk7CiAgICAgaWYgKGdfZmlsZV90ZXN0
KGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RF
U1RfSVNfRElSKSkpIHsKICAgICAgICAgc2NhbkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0
aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFpbGFibGVMb2NhbGVzKTsKICAgICAgICAgcmV0dXJuOwpA
QCAtMTMwLDcgKzEzNyw5IEBAIHN0YXRpYyB2b2lkIHNjYW5UZXN0RGljdGlvbmFyaWVzRGlyZWN0
b3J5SWZOZWNlc3NhcnkoSGFzaE1hcDxBdG9tU3RyaW5nLCBWZWN0b3I8CiAKICAgICAvLyBUcnkg
YWx0ZXJuYXRpdmUgZGljdGlvbmFyaWVzIHBhdGggZm9yIHBlb3BsZSBub3QgdXNpbmcgSkhCdWls
ZC4KICAgICBkaWN0aW9uYXJpZXNQYXRoLnJlc2V0KGdfYnVpbGRfZmlsZW5hbWUoYnVpbGREaXJl
Y3RvcnkuZGF0YSgpLCAid2Via2l0Z3RrLXRlc3QtZGljdHMiLCBudWxscHRyKSk7Ci0gICAgc2Nh
bkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFpbGFi
bGVMb2NhbGVzKTsKKyAgICBpZiAoZ19maWxlX3Rlc3QoZGljdGlvbmFyaWVzUGF0aC5nZXQoKSwg
c3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9JU19ESVIpKSkKKyAgICAgICAgc2Nh
bkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFpbGFi
bGVMb2NhbGVzKTsKKwogI2VsaWYgZGVmaW5lZChURVNUX0hZUEhFTkFUQUlPTl9QQVRIKQogICAg
IHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJpZXMoVEVTVF9IWVBIRU5BVEFJT05fUEFUSCwgYXZh
aWxhYmxlTG9jYWxlcyk7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDgzOGQ4ZWJiMGUwNGZmNzAxZDI3NDU4MDhhN2ViYThkMmRkMDc3
OWQuLmExZWNhZGE2ZjBjMTZmN2RmZjllZjBiMDc2YWJiZjQ0MDFjYmYxODYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMTUgQEAK
KzIwMjAtMDEtMDQgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtHVEtdW1dQRV0gTWlncmF0ZSB0byBGbGF0cGFrLWJhc2VkIGRldiBTREsKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTY1OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEpIQnVpbGQgd2lsbCBu
b3cgYmUgdXNlZCBvbmx5IGlmIHRoZSBXRUJLSVRfSkhCVUlMRCBlbnZpcm9ubWVudAorICAgICAg
ICB2YXJpYWJsZSBpcyBzZXQgdG8gMSwgd2hpY2ggaXMgdGhlIGNhc2UgZm9yIHRoZSB0aW1lIGJl
aW5nIG9uIHRoZQorICAgICAgICBHVEsgYW5kIFdQRSBFV1MvYnVpbGQgYm90cy4KKworICAgICAg
ICBCeSBkZWZhdWx0IHRoZSBidWlsZCBkZXBlbmRlbmNpZXMgYXJlIG5vdyBsb2NhbGx5IGluc3Rh
bGxlZCBmcm9tIGEKKyAgICAgICAgRmxhdHBhayByZXBvc2l0b3J5IGhvc3RlZCBhdCBodHRwczov
L3NvZnR3YXJlLmlnYWxpYS5jb20uIFRoZQorICAgICAgICByZXBvc2l0b3J5IGNhbiBiZSByZWdl
bmVyYXRlZCB3aXRoIHRoZSBzY3JpcHRzIGZyb20gdGhlCisgICAgICAgIHdlYmtpdC1mbGF0cGFr
LXNkayBHaXRodWIgcHJvamVjdAorICAgICAgICAoaHR0cHM6Ly9naXRodWIuY29tL0lnYWxpYS93
ZWJraXQtZmxhdHBhay1zZGspLiBUaGlzIGlzIGRvbmUKKyAgICAgICAgdHJhbnNwYXJlbnRseSB3
aXRoIHRoZSB1cGRhdGUtd2Via2l0e2d0ayx3cGV9LWxpYnMgc2NyaXB0cy4gQXMKKyAgICAgICAg
dGhlcmUgaXMgbm8gbmVlZCB0byByZWJ1aWxkIHRoZSBkZXBlbmRlbmNpZXMgZnJvbSBzY3JhdGNo
LCB0aGUKKyAgICAgICAgZGV2ZWxvcGVyIHVzZXItZXhwZXJpZW5jZSBzaG91bGQgbm93IGJlIG11
Y2ggbW9yZSBmcmllbmRseSBhbmQKKyAgICAgICAgb3ZlcmFsbCBidWlsZCB0aW1lcyByZWR1Y2Vk
LgorCisgICAgICAgIEFzIGFuIGFkZGl0aW9uYWwgY29tbW9kaXR5LCB0aGUgbmV3IGVudmlyb25t
ZW50IHN1cHBvcnRzIHRoZQorICAgICAgICBHU3RyZWFtZXIgZ3N0LWJ1aWxkLWJhc2VkIHdvcmtm
bG93LiBKdXN0IHNldCB0aGUgR1NUX0JVSUxEX1BBVEgKKyAgICAgICAgZW52aXJvbm1lbnQgdmFy
aWFibGUgdG8geW91ciBnc3QtYnVpbGQgcGF0aC4gVGhpcyBmZWF0dXJlIHdhcworICAgICAgICBj
b250cmlidXRlZCBieSBUaGliYXVsdCBTYXVuaWVyLgorCisgICAgICAgIFRoZSBKSEJ1aWxkIGlu
ZnJhc3RydWN0dXJlIHdpbGwgYmUgcmVtb3ZlZCBvbmNlIGFsbCB0aGUgYm90cyBoYXZlCisgICAg
ICAgIGJlZW4gc3dpdGNoZWQgb3ZlciB0byBGbGF0cGFrLgorCisgICAgICAgICogQnVpbGRTbGF2
ZVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5OgorICAgICAgICAoSW5zdGFsbEd0a0RlcGVuZGVu
Y2llcyk6CisgICAgICAgIChJbnN0YWxsV3BlRGVwZW5kZW5jaWVzKToKKyAgICAgICAgKENvbXBp
bGVXZWJLaXQuc3RhcnQpOgorICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWlsZGJv
dC9ydW46CisgICAgICAgICogU2NyaXB0cy9idWlsZC13ZWJraXQ6CisgICAgICAgICogU2NyaXB0
cy9ydW4tYmluZGluZ3MtdGVzdHM6CisgICAgICAgICogU2NyaXB0cy9ydW4tYnVpbHRpbnMtZ2Vu
ZXJhdG9yLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVuLWd0ay10ZXN0czoKKyAgICAgICAg
KiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3J1
bi1taW5pYnJvd3NlcjoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXI6
CisgICAgICAgICogU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzOgorICAgICAgICAqIFNjcmlw
dHMvcnVuLXdwZS10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3Rlc3Qtd2Via2l0cGVybDoKKyAg
ICAgICAgKiBTY3JpcHRzL3Rlc3Qtd2Via2l0cHk6CisgICAgICAgICogU2NyaXB0cy90ZXN0MjYy
LXJ1bm5lcjoKKyAgICAgICAgKiBTY3JpcHRzL3VwZGF0ZS13ZWJraXQtZmxhdHBhazogUmVuYW1l
ZCBmcm9tIFRvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrLgorICAgICAgICAq
IFNjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1saWJzOgorICAgICAgICAqIFNjcmlwdHMvdXBkYXRl
LXdlYmtpdHdwZS1mbGF0cGFrOiBSZW1vdmVkLgorICAgICAgICAqIFNjcmlwdHMvdXBkYXRlLXdl
YmtpdHdwZS1saWJzOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0ZGlycy5wbToKKyAgICAgICAg
KGdldFVzZXJGbGF0cGFrUGF0aCk6CisgICAgICAgIChpbkZsYXRwYWtTYW5kYm94KToKKyAgICAg
ICAgKHJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKToKKyAgICAgICAgKHdyYXBwZXJQcmVmaXhJZk5l
ZWRlZCk6CisgICAgICAgIChzaG91bGRVc2VKaGJ1aWxkKToKKyAgICAgICAgKHNob3VsZFVzZUZs
YXRwYWspOgorICAgICAgICAoc2hvdWxkUmVtb3ZlQ01ha2VDYWNoZSk6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZS5weToKKyAgICAgICAgKEV4ZWN1
dGl2ZS5raWxsX2FsbCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHk6
CisgICAgICAgIChQb3J0Ll9wYXRoX3RvX2FwYWNoZSk6CisgICAgICAgIChQb3J0Ll9zaG91bGRf
cnVuX2FzX3BpeGVsX3Rlc3QpOgorICAgICAgICAoUG9ydC5faW5fZmxhdHBha19zYW5kYm94KToK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5OgorICAgICAgICAoR3RrUG9y
dC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIpOgorICAgICAgICAoR3RrUG9ydC5fZ2V0X2NyYXNo
X2xvZyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9s
b2cucHk6CisgICAgICAgIChHREJDcmFzaExvZ0dlbmVyYXRvcik6CisgICAgICAgIChHREJDcmFz
aExvZ0dlbmVyYXRvci5fX2luaXRfXyk6CisgICAgICAgIChHREJDcmFzaExvZ0dlbmVyYXRvci5n
ZW5lcmF0ZV9jcmFzaF9sb2cpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51
eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5OgorICAgICAgICAoR0RCQ3Jhc2hMb2dHZW5lcmF0
b3JUZXN0LnRlc3RfZ2VuZXJhdGVfY3Jhc2hfbG9nKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3BvcnQvd3BlLnB5OgorICAgICAgICAoV1BFUG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2
ZXIpOgorICAgICAgICAoV1BFUG9ydC5fZ2V0X2NyYXNoX2xvZyk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXIucHk6CisgICAgICAgIChYdmZiRHJpdmVyLl9zZXR1
cF9lbnZpcm9uX2Zvcl90ZXN0KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcDoKKyAgICAgICAgKFdUUjo6Z2V0Rm9udHNQ
YXRoKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dwZS9BY3Rp
dmF0ZUZvbnRzV1BFLmNwcDoKKyAgICAgICAgKFdUUjo6Z2V0Rm9udHNQYXRoKToKKyAgICAgICAg
KiBmbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsv
ZmlsZXMvaHR0cGQtYXV0b2dlbi5zaDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL2ZsYXRw
YWt1dGlscy5weToKKyAgICAgICAgKGNoZWNrX2ZsYXRwYWspOgorICAgICAgICAoRmxhdHBha1Jl
cG9zLnVwZGF0ZSk6CisgICAgICAgIChGbGF0cGFrUGFja2FnZS5fX3JlcHJfXyk6CisgICAgICAg
IChGbGF0cGFrUGFja2FnZS5fX3N0cl9fKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsubG9hZF9m
cm9tX2FyZ3MpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5fX2luaXRfXyk6CisgICAgICAgIChX
ZWJraXRGbGF0cGFrLmNsZWFuX2FyZ3MpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5zZXR1cF9i
dWlsZGRpcik6CisgICAgICAgIChXZWJraXRGbGF0cGFrKToKKyAgICAgICAgKFdlYmtpdEZsYXRw
YWsuc2V0dXBfZ3N0YnVpbGQpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5ydW5faW5fc2FuZGJv
eCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnJ1bik6CisgICAgICAgIChXZWJraXRGbGF0cGFr
Lmhhc19lbnZpcm9ubWVudCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnNhdmVfY29uZmlnKToK
KyAgICAgICAgKFdlYmtpdEZsYXRwYWsuc2V0dXBfZGV2X2Vudik6CisgICAgICAgIChXZWJraXRG
bGF0cGFrLmluc3RhbGxfYWxsKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsucnVuX2dkYik6Cisg
ICAgICAgICogZmxhdHBhay9vcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmbGF0cGFrL29yZy53ZWJraXQuR1RLLnlhbWw6IFJlbW92ZWQuCisgICAgICAg
ICogZmxhdHBhay9vcmcud2Via2l0LldQRS55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRw
YWsvb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBh
ay9vcmcud2Via2l0LldQRVFULnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9vcmcu
d2Via2l0LldlYktpdC55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsvcGF0Y2hlcy9o
dHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1kZXRlY3Rpb24ucGF0
Y2g6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVz
ZS1wa2ctY29uZmlnLXRvLWRldGVjdC1ncGctZXJyb3IucGF0Y2g6IFJlbW92ZWQuCisgICAgICAg
ICogZmxhdHBhay9wYXRjaGVzL3h2ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1m
aWxlLnBhdGNoOiBSZW1vdmVkLgorCiAyMDIwLTAxLTI4ICBUaW0gSG9ydG9uICA8dGltb3RoeV9o
b3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIG1hY0NhdGFseXN0OiBSaWdodCBjbGlja2luZyBv
biBhIGxpbmsgZm9sbG93cyBpdCBpbW1lZGlhdGVseQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRT
bGF2ZVN1cHBvcnQvZ3RrL1JFQURNRSBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9SRUFE
TUUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5Zjg5Zjk4MjFhZWVhMjBlZGI3Y2Vk
YmNhYmZiNzdmMzgwYmQyYzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL1JFQURNRQorKysgL2Rldi9udWxs
CkBAIC0xLDQ4ICswLDAgQEAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLSBSdW5uaW5nIGEgR1RLKyBidWlsZCBzbGF2ZSB1bmRlciBkYWVtb250b29scwot
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi1UaGlzIGRp
cmVjdG9yeSBjb250YWlucyBzZXZlcmFsIHNjcmlwdHMgd2hpY2ggY2FuIGJlIHVzZWQgdG8gcnVu
IGEgV2ViS2l0R1RLCi1idWlsZCBzbGF2ZSB1bmRlciBkYWVtb250b29scyBbMV0uIFRoaXMgaXMg
Y29udmVuaWVudCBiZWNhdXNlIGRhZW1vbnRvb2xzCi13aWxsIGF1dG9tYXRpY2FsbHkgcmVzdGFy
dCBzZXJ2aWNlcyB3aGVuIHRoZXkgZGllLCBhbmQgdGhhdCBtZWFucyBsZXNzIGh1bWFuCi1pbnRl
cnZlbnRpb24gaXMgbmVlZGVkLgotCi0KLURlcGVuZGVuY2llcwotPT09PT09PT09PT09Ci0KLUlu
IG9yZGVyIHRvIHVzZSB0aGUgcHJvdmlkZWQgc2VydmljZSBjb250cm9sIGZpbGVzLCB5b3Ugd2ls
bCBuZWVkIHRoZQotZm9sbG93aW5nOgotCi0qIFRoZSBHTlUgQmFzaCBzaGVsbCAodGhlIHNjcmlw
dHMgY29udGFpbiBzb21lIGJhc2gtaXNtcykKLQotKiBUaGUgZGFlbW9udG9vbHMgcGFja2FnZSAo
b3Igb25lIG9mIGl0cyBkcm9wLWluIHJlcGxhY2VtZW50cywgbGlrZSBydW5pdAotICBvciBmcmVl
ZHQ7IGJ1dCBvbmx5IGRhZW1vbnRvb2xzIGhhcyBiZWVuIHRlc3RlZCBzbyBmYXIpLgotCi1JbiBz
aG9ydCwgaW4gYSBEZWJpYW4tYmFzZWQgc3lzdGVtIHlvdSBjYW4gZW5zdXJlIHlvdSBoYXZlIHRo
ZSBuZWVkZWQgYml0cwotd2l0aCB0aGUgZm9sbG93aW5nIGNvbW1hbmQ6Ci0KLSAgYXB0LWdldCBp
bnN0YWxsIGRhZW1vbnRvb2xzLXJ1bgotCi0KLVNldHVwCi09PT09PQotCi0xLiBGb2xsb3cgdGhl
IGluc3RydWN0aW9ucyBhdCBodHRwOi8vdHJhYy53ZWJraXQub3JnL3dpa2kvQnVpbGRCb3QKLQot
Mi4gSW5zdGFsbCB0aGUgZGVwZW5kZW5jaWVzIG91dGxpbmVkIGFib3ZlLgotCi0zLiBDb3B5ICJk
YWVtb250b29scy1idWlsZGJvdC5jb25mIiB0byAiL2V0Yy9kYWVtb250b29scy1idWlsZGJvdC5j
b25mIgotCi00LiBFZGl0IHRoZSBjb25maWd1cmF0aW9uIGZpbGUgdG8gc3VpdCB5b3VyIG5lZWRz
LCB0aGUgY29tbWVudHMgc2hvdWxkCi0gICBiZSBzZWxmLWV4cGxhbmF0b3J5LgotCi01LiBEcm9w
IHRoZSAiYnVpbGRib3QiIGFuZCAicHVsc2VhdWRpbyIgZGlyZWN0b3JpZXMgdG8gdGhlIHNlcnZp
Y2UgY29udHJvbCBkaXJlY3Rvcnkgb2YKLSAgIGRhZW1vbnRvb2xzOyBmb3IgRGViaWFuLWJhc2Vk
IHNldHVwcyB0aGF0IHdvdWxkIGJlICIvZXRjL3NlcnZpY2UiCi0KLQotUmVmZXJlbmNlcwotPT09
PT09PT09PQotCi1bMV0gaHR0cDovL2NyLnlwLnRvL2RhZW1vbnRvb2xzLmh0bWwKLQpkaWZmIC0t
Z2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L2xvZy9ydW4gYi9Ub29s
cy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvbG9nL3J1bgpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA3NTUKaW5kZXggZjZjNzQ0YzZkZGE0NWNiZTJiNWQwZmE4YzRmMjViYWI1MWY2YTRkZC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvbG9nL3J1bgorKysgL2Rldi9udWxsCkBAIC0xLDM4
ICswLDAgQEAKLSMhIC91c3IvYmluL2VudiBiYXNoCi0jCi0jIENvcHlyaWdodCAoQykgMjAxMCBJ
Z2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0jIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgot
IyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bwotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KLQotOiAke0JVSUxEQk9UX0NPTkZJRzo9L2V0Yy9kYWVtb250b29scy1idWlsZGJv
dC5jb25mfQotCi0jIFJlYWQgY29uZmlndXJhdGlvbiBmaWxlCi1bIC1yICIke0JVSUxEQk9UX0NP
TkZJR30iIF0gJiYgLiAiJHtCVUlMREJPVF9DT05GSUd9IgotCi06ICR7YnVpbGRib3RfdXNlcjo9
JHtIT01FfX0KLTogJHtidWlsZGJvdF9sb2dfcGF0aDo9L3Zhci9sb2cvYnVpbGRib3R9Ci0KLSMg
RXhwYW5kIGFsbCAiZW52XyoiIGVudmlyb25tZW50IHZhcmlhYmxlcwotZm9yIHZhcm5hbWUgaW4g
JHshZW52Xyp9IDsgZG8KLQlldmFsICJleHBvcnQgJHt2YXJuYW1lI2Vudl99PVwkeyR7dmFybmFt
ZX19IgotZG9uZQotCi1ta2RpciAtcCAiJHtidWlsZGJvdF9sb2dfcGF0aH0iCi1jaG93biAiJHti
dWlsZGJvdF91c2VyfSIgIiR7YnVpbGRib3RfbG9nX3BhdGh9IgotCi1leGVjIC91c3IvYmluL3Nl
dHVpZGdpZCAiJHtidWlsZGJvdF91c2VyfSIgXAotICAgICAvdXNyL2Jpbi9tdWx0aWxvZyB0ICIk
e2J1aWxkYm90X2xvZ19wYXRofSIKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBv
cnQvZ3RrL2J1aWxkYm90L3J1biBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWlsZGJv
dC9ydW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDE2NmMzODNlYThlNmMxMGZjYzA1
ZWYwN2VkNGY0ODg5YmJiYjllYWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L3J1bgorKysg
L2Rldi9udWxsCkBAIC0xLDc3ICswLDAgQEAKLSMhIC91c3IvYmluL2VudiBiYXNoCi0jCi0jIENv
cHlyaWdodCAoQykgMjAxMCBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCi0jIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgotIyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotIyBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
LSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotIyB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIyBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLQotZXhlYyAyPiYxCi0KLTogJHtCVUlMREJPVF9D
T05GSUc6PS9ldGMvZGFlbW9udG9vbHMtYnVpbGRib3QuY29uZn0KLQotIyBSZWFkIGNvbmZpZ3Vy
YXRpb24gZmlsZQotWyAtciAiJHtCVUlMREJPVF9DT05GSUd9IiBdICYmIC4gIiR7QlVJTERCT1Rf
Q09ORklHfSIKLQotIyBFeHBhbmQgYWxsICJlbnZfKiIgZW52aXJvbm1lbnQgdmFyaWFibGVzCi1m
b3IgdmFybmFtZSBpbiAkeyFlbnZfKn0gOyBkbwotCWV2YWwgImV4cG9ydCAke3Zhcm5hbWUjZW52
X309XCR7JHt2YXJuYW1lfX0iCi1kb25lCi0KLQotaWYgISBbICIke2J1aWxkYm90X3BhdGh9IiBd
IDsgdGhlbgotCWVjaG8gIk5vIFwke2J1aWxkYm90X3BhdGh9IGRlZmluZWQhICh3aWxsIHNsZWVw
IGZvciA1IG1pbnV0ZXMpIgotCXNsZWVwIDMwMAotCWV4aXQgMTExCi1maQotCi0KLWlmICEgWyAi
JHtXRUJLSVRfVEVTVEZPTlRTfSIgXSA7IHRoZW4KLQllY2hvICJObyBcJHtXRUJLSVRfVEVTVEZP
TlRTfSBlbnZpcm9ubWVudCB2YXJpYWJsZSEgKHdpbGwgc2xlZXAgZm9yIDUgbWludXRlcykiCi0J
c2xlZXAgMzAwCi0JZXhpdCAxMTEKLWZpCi0KLQotaWYgWyAiJHtjb3JlZHVtcF9vdXRwdXQ6PScn
fSIgXSA7IHRoZW4KLQkjIEVuc3VyZSB0aGF0IHRoZSBvdXRwdXQgZGlyZWN0b3J5IGV4aXN0cy4K
LQlpZiBbWyAhIC1kICR7Y3Jhc2htb25fb3V0cHV0fSBdXSA7IHRoZW4KLQkJbWtkaXIgLXAgIiR7
Y3Jhc2htb25fb3V0cHV0fSIKLQlmaQotCi0JdWxpbWl0IC1jICIke2NyYXNobW9uX21heF9zaXpl
Oj11bmxpbWl0ZWR9IgotZmkKLQotCi1pZiBbICIke2NjYWNoZV9wYXRofSIgXSA7IHRoZW4KLQll
eHBvcnQgUEFUSD0iJHtjY2FjaGVfcGF0aH06JHtQQVRIfSIKLWZpCi0KLTogJHtidWlsZGJvdF91
c2VyOj0ke1VTRVJ9fQotCi1jZCAiJHtidWlsZGJvdF9wYXRofSIKLWV4ZWMgL3Vzci9iaW4vZW52
IC0gICAgICAgICAgXAotCQlURVJNPWR1bWIgICAgICAgICAgICAgICAgIFwKLQkJVFo9UFNUOFBE
VCAgICAgICAgICAgICAgICAgXAotCQlQQVRIPSIke1BBVEh9IiAgICAgICAgICAgICAgXAotCQlT
SEVMTD0vYmluL2Jhc2ggICAgICAgICAgICAgIFwKLQkJTEFORz1lbl9VUy5VVEYtOCAgICAgICAg
ICAgICAgXAotCQlVU0VSPSIke2J1aWxkYm90X3VzZXJ9IiAgICAgICAgXAotCQlMT0dOQU1FPSIk
e2J1aWxkYm90X3VzZXJ9IiAgICAgIFwKLQkJSE9NRT0iL2hvbWUvJHtidWlsZGJvdF91c2VyfSIg
ICAgXAotCQlESVNQTEFZPSIke3h2ZmJfZGlzcGxheTotJzoxMCd9IiAgXAotCQlNQUlMPSIvdmFy
L21haWwvJHtidWlsZGJvdF91c2VyfSIgIFwKLQkvdXNyL2Jpbi9zZXR1aWRnaWQgIiR7YnVpbGRi
b3RfdXNlcn0iIFwKLQkvdXNyL2Jpbi90d2lzdGQgLW5veSBidWlsZGJvdC50YWMKLQpkaWZmIC0t
Z2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNv
bmYgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvZGFlbW9udG9vbHMtYnVpbGRib3QuY29u
ZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDZhZjI5ZjdiMDYyNjgyMTZjZTRhMWYx
YWFlZThkNDYyMGQyNGRmZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvZGFlbW9udG9vbHMtYnVpbGRib3Qu
Y29uZgorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDEw
IElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
Ci0jIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCi0jIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgotCi0KLSMgUGF0aCB0byB0aGUgQnVpbGRib3Qgc2xhdmUgZGlyZWN0b3J5Ci0j
Ci1idWlsZGJvdF9wYXRoPSIvaG9tZS9zbGF2ZS93ZWJraXRndGsiCi0KLSMgVXNlciBhY2NvdW50
IHVzZWQgdG8gcnVuIEJ1aWxkYm90LgotIwotYnVpbGRib3RfdXNlcj0ic2xhdmUiCi0KLSMgUGF0
aCB0byBhIGRpcmVjdG9yeSB3aGVyZSB0byBsb2cgQnVpbGRib3Qgb3V0cHV0Ci0jCi1idWlsZGJv
dF9sb2dfcGF0aD0iL3Zhci9sb2cvYnVpbGRib3QiCi0KLQotIyBJZiB5b3Ugd2FudCB0byB1c2Ug
Y2NhY2hlLCBzZXQgYSBwYXRoIHRvIHdoZXJlIHN5bmxpbmtzIHdpdGggdG9vbAotIyBuYW1lcyBw
b2ludGluZyB0byBjY2FjaGUgYXJlIGluc3RhbGxlZC4gSW4gRGViaWFuIHN5c3RlbXMgdGhpcwot
IyB3b3VsZCBiZSAvdXNyL2xpYi9jY2FjaGUuIFNldCB0byBlbXB0eSB0byBkaXNhYmxlLgotIwot
Y2NhY2hlX3BhdGg9Ii91c3IvbGliL2NjYWNoZSIKLQotCi0jIEVudmlyb25tZW50IHZhcmlhYmxl
cy4gUHJlZml4IHRoZW0gd2l0aCAiZW52XyIuCi0jCi1lbnZfQ0ZMQUdTPSItcGlwZSIKLWVudl9D
WFhGTEFHUz0iLXBpcGUiCi1lbnZfTERGTEFHUz0iLW5vLWluc3RhbGwgLW5vLWZhc3QtaW5zdGFs
bCIKLWVudl9XRUJLSVRfVEVTVEZPTlRTPSIvaG9tZS8ke2J1aWxkYm90X3VzZXJ9L3Rlc3Rmb250
cyIKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL3B1bHNlYXVkaW8v
cnVuIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL3B1bHNlYXVkaW8vcnVuCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDc1NQppbmRleCA3YzExN2FkOWQyMDczOThkODZmMDI3MzhlNTkzMTg5NTkx
N2Q1Njc4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rv
b2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9wdWxzZWF1ZGlvL3J1bgorKysgL2Rldi9udWxsCkBA
IC0xLDI0ICswLDAgQEAKLSMhIC91c3IvYmluL2VudiBiYXNoCi0jCi0jIENvcHlyaWdodCAoQykg
MjAxMCBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0j
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgotIyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KLQotZXhlYyAyPiYxCi1leGVjIC91c3IvYmluL3B1bHNlYXVkaW8gLS1z
eXN0ZW0gXAotCS0tZGlzYWxsb3ctZXhpdCAtLWRpc2FsbG93LW1vZHVsZS1sb2FkaW5nIFwKLQkt
LWxvZy10YXJnZXQ9c3lzbG9nCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Vi
a2l0IGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKaW5kZXggZmMwNjY0YTY1MDU1NDZmNDI4
Yzc1MTRiOTY3NTExOWI3NWE2MjE0MC4uMDk5ZDMzYTRiOWI5Y2RmNDMyY2QxMDI2ZWE2YWFlMGNi
OTI1N2E3NyAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKKysrIGIvVG9v
bHMvU2NyaXB0cy9idWlsZC13ZWJraXQKQEAgLTUzLDggKzUzLDggQEAgc2V0Q29uZmlndXJhdGlv
bigpOwogCiBpZiAoc2hvdWxkVXNlRmxhdHBhaygpKSB7CiAgICAgcHJpbnQgIkJ1aWxkaW5nIGZs
YXRwYWsgYmFzZWQgZW52aXJvbm1lbnRcbiI7Ci0KLSAgICBydW5JbkZsYXRwYWsoIi9hcHAvd2Vi
a2l0L1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0Iik7CisgICAgbXkgQGNvbW1hbmQgPSAoRmls
ZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgIlNjcmlwdHMiLCAiYnVpbGQt
d2Via2l0IikpOworICAgIHJ1bkluRmxhdHBhayhAY29tbWFuZCk7CiB9CiAKIG15ICRvcmlnaW5h
bFdvcmtpbmdEaXJlY3RvcnkgPSBnZXRjd2QoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
cnVuLWJpbmRpbmdzLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMKaW5k
ZXggZjZlNDQ3NzI1MGY5ZTE5ZTM5NThlZmNiN2Q2ZTgxZTJhYzI4YzlhYi4uMGFjMGIzYTMxMDg4
YTEyMmUwOTk4ZWE0OTU2NWJmMjM4NzczOGE1MCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9y
dW4tYmluZGluZ3MtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMK
QEAgLTMzLDYgKzMzLDExIEBAIGltcG9ydCBvcwogaW1wb3J0IHN5cwogZnJvbSB3ZWJraXRweS5j
b21tb24uc3lzdGVtIGltcG9ydCBleGVjdXRpdmUKIAordG9wX2xldmVsX2RpcmVjdG9yeSA9IG9z
LnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICcu
LicsICcuLicpKQorc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxfZGly
ZWN0b3J5LCAnVG9vbHMnLCAnZmxhdHBhaycpKQoraW1wb3J0IGZsYXRwYWt1dGlscworZmxhdHBh
a3V0aWxzLnJ1bl9pbl9zYW5kYm94X2lmX2F2YWlsYWJsZShzeXMuYXJndikKKwogZGVmIG1haW4o
YXJndik6CiAgICAgIiIiUnVucyBXZWJDb3JlIGJpbmRpbmdzIGNvZGUgZ2VuZXJhdG9ycyBvbiB0
ZXN0IElETCBmaWxlcyBhbmQgY29tcGFyZXMKICAgICB0aGUgcmVzdWx0cyB3aXRoIHJlZmVyZW5j
ZSBmaWxlcy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRv
ci10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRvci10ZXN0cwppbmRl
eCAyMzk4Yzc4Y2ExMGVjNTk3NjI2NjEyYzg1NTUzYWJkMWE0ZTZmYmQ0Li5mYmIwODY0MjQxOTc0
ZWE2MDM1ZGE4OGIzNjc5YmM0M2MwMmM3ZTlkIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1
bi1idWlsdGlucy1nZW5lcmF0b3ItdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tYnVpbHRp
bnMtZ2VuZXJhdG9yLXRlc3RzCkBAIC0yNSw2ICsyNSwxMiBAQAogaW1wb3J0IHN5cwogZnJvbSB3
ZWJraXRweS5jb21tb24uc3lzdGVtIGltcG9ydCBleGVjdXRpdmUKIAoraW1wb3J0IG9zCit0b3Bf
bGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5k
aXJuYW1lKF9fZmlsZV9fKSwgJy4uJywgJy4uJykpCitzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0
aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICdUb29scycsICdmbGF0cGFrJykpCitpbXBvcnQg
ZmxhdHBha3V0aWxzCitmbGF0cGFrdXRpbHMucnVuX2luX3NhbmRib3hfaWZfYXZhaWxhYmxlKHN5
cy5hcmd2KQorCiBkZWYgbWFpbihhcmd2KToKICAgICAiIiJSdW5zIHRoZSBKUyBidWlsdGlucyBj
b2RlIGdlbmVyYXRvciBvbiB0ZXN0IGlucHV0IGZpbGVzIGFuZCBjb21wYXJlcwogICAgIHRoZSBy
ZXN1bHRzIHdpdGggcmVmZXJlbmNlIGZpbGVzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9y
dW4tZ3RrLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzCmluZGV4IDQxYjA1ZTJk
ZjRiMWU2ZDhmZTM4ZWEzYzU0OWI1MzM1ODRhNDI5N2UuLmQzOTc0OGY0YzNkOGZkZmNlZmYxYTIy
OTlhZGE0MmM4N2U2NWFhZTUgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWd0ay10ZXN0
cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMKQEAgLTEzMyw3ICsxMzMsNyBAQCBp
ZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIGlmIG5vdCBmbGF0cGFrdXRpbHMuaXNfc2Fu
ZGJveGVkKCkgYW5kIG5vdCBqaGJ1aWxkdXRpbHMuZW50ZXJfamhidWlsZF9lbnZpcm9ubWVudF9p
Zl9hdmFpbGFibGUoImd0ayIpOgogICAgICAgICBwcmludCAnKioqJwogICAgICAgICBwcmludCAn
KioqIFdhcm5pbmc6IGpoYnVpbGQgZW52aXJvbm1lbnQgbm90IHByZXNlbnQgYW5kIG5vdCBydW5u
aW5nIGluIGZsYXRwYWsuJwotICAgICAgICBwcmludCAnKioqIFJ1biB1cGRhdGUtd2Via2l0Z3Rr
LWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIGJlZm9yZSBidWlsZC13ZWJraXQgdG8g
ZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCisgICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13
ZWJraXRndGstbGlicyBvciB1cGRhdGUtd2Via2l0LWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtp
dCB0byBlbnN1cmUgcHJvcGVyIHRlc3RpbmcuLicKICAgICAgICAgcHJpbnQgJyoqKicKIAogICAg
IG9wdGlvbl9wYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIodXNhZ2U9J3VzYWdlOiAlcHJv
ZyBbb3B0aW9uc10gW3Rlc3QuLi5dJykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWph
dmFzY3JpcHRjb3JlLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVz
dHMKaW5kZXggODhkNGY1YmYxZjZmZDk5MDcyYTQ4YWM3NDg0OThhNmM0MGMxZjNlOS4uOTkzNzE3
YTc0NGQ2ZDIxY2MyM2YxNDBkNmQ1NzhiZWUwYTZkOTAwNiAxMDA3NTUKLS0tIGEvVG9vbHMvU2Ny
aXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2
YXNjcmlwdGNvcmUtdGVzdHMKQEAgLTQ2LDYgKzQ2LDEyIEBAIHVzZSBUZXh0OjpQYXJzZVdvcmRz
Owogc2V0Q29uZmlndXJhdGlvbigpOwogbXkgJGNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9u
KCk7CiAKK2lmIChzaG91bGRVc2VGbGF0cGFrKCkpIHsKKyAgICBteSBAY29tbWFuZCA9IChGaWxl
OjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tamF2
YXNjcmlwdGNvcmUtdGVzdHMiKSk7CisgICAgcnVuSW5GbGF0cGFrKEBjb21tYW5kKTsKK30KKwor
CiAjIFRoZXNlIHZhcmlhYmxlcyBhcmUgaW50ZW50aW9uYWxseSBsZWZ0IHVuZGVmaW5lZC4KIG15
ICRyb290OwogbXkgJHNob3dIZWxwOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tbWlu
aWJyb3dzZXIgYi9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlcgppbmRleCA0Y2Y2YmU0MDQ3
YmZkNzZkNjgxMDlhYjI5YWE2OGE5MGRjMDg2NmUxLi45MGNkM2ZhZjQzMWFlYjkyOGRmZDZkZGZk
NmVkNmQyM2QyZjIxY2NjIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3Nl
cgorKysgYi9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlcgpAQCAtNDUsNyArNDUsOCBAQCBw
cm9oaWJpdFVua25vd25Qb3J0KCk7CiBzZXRDb25maWd1cmF0aW9uKCk7CiAKIGlmIChpc0d0aygp
IHx8IGlzV1BFKCkpIHsKLSAgICBydW5JbkZsYXRwYWtJZkF2YWlsYWJsZSgiL2FwcC93ZWJraXQv
VG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXIiKTsKKyAgICBteSBAY29tbWFuZCA9IChGaWxl
OjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tbWlu
aWJyb3dzZXIiKSk7CisgICAgcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQGNvbW1hbmQpOwogCiAg
ICAgIyBDaGVjayB0byBzZWUgdGhhdCBhbGwgdGhlIGZyYW1ld29ya3MgYXJlIGJ1aWx0LgogICAg
IGNoZWNrRnJhbWV3b3JrcygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tcXQtd3Bl
LW1pbmlicm93c2VyIGIvVG9vbHMvU2NyaXB0cy9ydW4tcXQtd3BlLW1pbmlicm93c2VyCmluZGV4
IGFlYWNiNDgzYzJmZDEwYWFhNWZkZDAwZGM2ZDRjMGM5ZjYxNzMyNDUuLmQ0MjFjZTYyNDgxNmUx
MmQyZDdkZjM4ZGE5MDlhZDA1YTZjOTVmYTAgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVu
LXF0LXdwZS1taW5pYnJvd3NlcgorKysgYi9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJy
b3dzZXIKQEAgLTM4LDkgKzM4LDEzIEBAIG15IEBqaGJ1aWxkV3JhcHBlcjsKIG15ICRjb25maWd1
cmF0aW9uID0gcGFzc2VkQ29uZmlndXJhdGlvbigpOwogbXkgJHByb2R1Y3REaXIgPSBwcm9kdWN0
RGlyKCk7CiAKLSRsaWJQYXRoID0gIi9hcHAvd2Via2l0L1dlYktpdEJ1aWxkLyRjb25maWd1cmF0
aW9uL2xpYi9xbWwiIGlmICRjb25maWd1cmF0aW9uOwotJEVOVnsiUU1MMl9JTVBPUlRfUEFUSCJ9
ID0gIiRsaWJQYXRoIiBpZiAkbGliUGF0aDsKLXJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKCIvYXBw
L3dlYmtpdC9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXIiKTsKK2lmICgkY29u
ZmlndXJhdGlvbikgeworICAgICRsaWJQYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VE
aXIoKSwgIldlYktpdEJ1aWxkIiwgIiRjb25maWd1cmF0aW9uIiwgImxpYiIsICJxbWwiKTsKKyAg
ICAkRU5WeyJRTUwyX0lNUE9SVF9QQVRIIn0gPSAiJGxpYlBhdGgiOworfQorCitteSBAY29tbWFu
ZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIs
ICJydW4tcXQtd3BlLW1pbmlicm93c2VyIikpOworcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQGNv
bW1hbmQpOwogCiAjIENoZWNrIHRvIHNlZSB0aGF0IGFsbCB0aGUgZnJhbWV3b3JrcyBhcmUgYnVp
bHQuCiBjaGVja0ZyYW1ld29ya3MoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLXdl
YmRyaXZlci10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0cwppbmRleCBh
Y2MzNWY3MjQ4M2YyODMyZjA5YzhlZmIxODk1ZDE4MWQ0ZDY3OTI5Li5jMzAwNGQ0NTMyM2M1MTQy
NjY1ZDM3MDMzN2U4ZTU5MDQyM2E5ZDQwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi13
ZWJkcml2ZXItdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzCkBA
IC03OCw3ICs3OCw3IEBAIGlmIHBvcnQubmFtZSgpIGluIFsnZ3RrJywgJ3dwZSddOgogICAgICAg
ICBpZiBub3QgamhidWlsZHV0aWxzLmVudGVyX2poYnVpbGRfZW52aXJvbm1lbnRfaWZfYXZhaWxh
YmxlKHBvcnQubmFtZSgpKToKICAgICAgICAgICAgIHByaW50ICcqKionCiAgICAgICAgICAgICBw
cmludCAnKioqIFdhcm5pbmc6IGpoYnVpbGQgZW52aXJvbm1lbnQgbm90IHByZXNlbnQgYW5kIG5v
dCBydW5uaW5nIGluIGZsYXRwYWsuJwotICAgICAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRl
LXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXRndGstZmxhdHBhayBiZWZvcmUgYnVpbGQt
d2Via2l0IHRvIGVuc3VyZSBwcm9wZXIgdGVzdGluZy4uJworICAgICAgICAgICAgcHJpbnQgJyoq
KiBSdW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBhayBiZWZv
cmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9wZXIgdGVzdGluZy4uJwogICAgICAgICAgICAg
cHJpbnQgJyoqKicKIAogcG9ydC5fZGlzcGxheV9zZXJ2ZXIgPSBvcHRpb25zLmRpc3BsYXlfc2Vy
dmVyCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi13cGUtdGVzdHMgYi9Ub29scy9TY3Jp
cHRzL3J1bi13cGUtdGVzdHMKaW5kZXggOGY3NzQ5ZWI2YWQ2ZDFmMTk5MTNhMTc2OTlkY2I3Njc3
ZjQ4NjJkMS4uZjM0YzE5NzA2NDc3NjIyNjI0NTJlNmFlODNmYTI4NWYyOGU1ZDE4MCAxMDA3NTUK
LS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4td3BlLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVu
LXdwZS10ZXN0cwpAQCAtNTEsNyArNTEsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgog
ICAgIGlmIG5vdCBmbGF0cGFrdXRpbHMuaXNfc2FuZGJveGVkKCkgYW5kIG5vdCBqaGJ1aWxkdXRp
bHMuZW50ZXJfamhidWlsZF9lbnZpcm9ubWVudF9pZl9hdmFpbGFibGUoIndwZSIpOgogICAgICAg
ICBwcmludCAnKioqJwogICAgICAgICBwcmludCAnKioqIFdhcm5pbmc6IGpoYnVpbGQgZW52aXJv
bm1lbnQgbm90IHByZXNlbnQgYW5kIG5vdCBydW5uaW5nIGluIGZsYXRwYWsuJwotICAgICAgICBw
cmludCAnKioqIFJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1m
bGF0cGFrIGJlZm9yZSBidWlsZC13ZWJraXQgdG8gZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCisg
ICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13ZWJraXR3cGUtbGlicyBvciB1cGRhdGUtd2Vi
a2l0LWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3Rpbmcu
LicKICAgICAgICAgcHJpbnQgJyoqKicKIAogICAgIG9wdGlvbl9wYXJzZXIgPSBvcHRwYXJzZS5P
cHRpb25QYXJzZXIodXNhZ2U9J3VzYWdlOiAlcHJvZyBbb3B0aW9uc10gW3Rlc3QuLi5dJykKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRwZXJsIGIvVG9vbHMvU2NyaXB0cy90
ZXN0LXdlYmtpdHBlcmwKaW5kZXggNjQ5NTY5NjBmZmM2N2FlN2RmOTMzNjQxMzZkOTFhNWQ4OGVh
OTk0My4uZGM4MWMxN2MzYmFjNTlhODgxYTczZWQxNWIzYTc0NjBjYTdiOWY5OCAxMDA3NTUKLS0t
IGEvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHBlcmwKKysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0
LXdlYmtpdHBlcmwKQEAgLTMyLDYgKzMyLDEzIEBACiAKIHVzZSBzdHJpY3Q7CiB1c2Ugd2Fybmlu
Z3M7Cit1c2UgRmlsZTo6QmFzZW5hbWU7Cit1c2UgRmlsZTo6RmluZDsKK3VzZSBGaWxlOjpTcGVj
OwordXNlIEZpbmRCaW47Cit1c2UgR2V0b3B0OjpMb25nIHF3KDpjb25maWcgcGFzc190aHJvdWdo
IG5vX2F1dG9fYWJicmV2KTsKK3VzZSBsaWIgJEZpbmRCaW46OkJpbjsKK3VzZSB3ZWJraXRkaXJz
OwogCiB1c2UgRmlsZTo6U3BlYzsKIHVzZSBGaW5kQmluOwpAQCAtMzksNiArNDYsMTEgQEAgdXNl
IFRlc3Q6Okhhcm5lc3M7CiB1c2UgbGliICRGaW5kQmluOjpCaW47ICMgc28gdGhpcyBzY3JpcHQg
Y2FuIGJlIHJ1biBmcm9tIGFueSBkaXJlY3RvcnkuCiB1c2UgVkNTVXRpbHM7CiAKK2lmIChzaG91
bGRVc2VGbGF0cGFrKCkpIHsKKyAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxl
KHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJ0ZXN0LXdlYmtpdHBlcmwiKSk7Cisg
ICAgcnVuSW5GbGF0cGFrKEBjb21tYW5kKTsKK30KKwogIyBDaGFuZ2UgdGhlIHdvcmtpbmcgZGly
ZWN0b3J5IHNvIHRoYXQgd2UgY2FuIHBhc3Mgc2hvcnRlciwgcmVsYXRpdmUKICMgcGF0aHMgdG8g
cnVudGVzdHMoKSwgcmF0aGVyIHRoYW4gbG9uZ2VyLCBhYnNvbHV0ZSBwYXRocy4KICMKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweSBiL1Rvb2xzL1NjcmlwdHMvdGVzdC13
ZWJraXRweQppbmRleCBlZTY4MmNjY2YwYWNhM2YyMGRjNjE1ZmU4YjYzMjNjY2M1N2NiZWE0Li40
MjM4OGU5Zjg2MTc4NWVmN2UzOGZiMWY0NTQ5MDA1MDUyZjAwYWVjIDEwMDc1NQotLS0gYS9Ub29s
cy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkKKysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5
CkBAIC0yOSw0ICsyOSwxMCBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogZnJvbSB3ZWJraXRweS5jb21tb24g
aW1wb3J0IG11bHRpcHJvY2Vzc2luZ19ib290c3RyYXAKIAoraW1wb3J0IG9zLCBzeXMKK3RvcF9s
ZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRp
cm5hbWUoX19maWxlX18pLCAnLi4nLCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRo
LmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBm
bGF0cGFrdXRpbHMKK2ZsYXRwYWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lz
LmFyZ3YpCisKIG11bHRpcHJvY2Vzc2luZ19ib290c3RyYXAucnVuKCd3ZWJraXRweScsICd0ZXN0
JywgJ21haW4ucHknKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lciBi
L1Rvb2xzL1NjcmlwdHMvdGVzdDI2Mi1ydW5uZXIKaW5kZXggYTEzMWJjZjYzM2UzMGQ5NzY1ZmI1
NjI0MjUwNzMxMTdhOThmMjIzOC4uYWY3YWQ1ZTQ4ZWYyNTA4Y2Y0ZTIxZDU4ZDU1MGNmMDMyZWY1
ZmEyYiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lcgorKysgYi9Ub29s
cy9TY3JpcHRzL3Rlc3QyNjItcnVubmVyCkBAIC0zNCw2ICszNCwyNiBAQCB1c2UgNS44Ljg7CiB1
c2UgRmluZEJpbjsKIHVzZSBDb25maWc7CiAKK0JFR0lOIHsKKyAgICB1c2UgbGliICRGaW5kQmlu
OjpCaW47CisgICAgdXNlIEZpbGU6OlNwZWM6OkZ1bmN0aW9ucyBxdyhjYXRmaWxlKTsKKworICAg
IGlmICghZ3JlcCgvXi0tbm8tZmxhdHBhay1jaGVjayQvLCBAQVJHVikpIHsKKyAgICAgICAgaWYg
KGV2YWwge3JlcXVpcmUgd2Via2l0ZGlyczsgMTt9KSB7CisgICAgICAgICAgICB3ZWJraXRkaXJz
LT5pbXBvcnQocXcoc2hvdWxkVXNlRmxhdHBhayBydW5JbkZsYXRwYWsgc291cmNlRGlyKSk7Cisg
ICAgICAgICAgICBpZiAoc2hvdWxkVXNlRmxhdHBhaygpKSB7CisgICAgICAgICAgICAgICAgcHJp
bnQgIlJ1bm5pbmcgaW4gZmxhdHBhayBiYXNlZCBlbnZpcm9ubWVudFxuIjsKKyAgICAgICAgICAg
ICAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9v
bHMiLCAiU2NyaXB0cyIsICJ0ZXN0MjYyLXJ1bm5lciIpKTsKKyAgICAgICAgICAgICAgICAjIFBy
ZXZlbnQgZXhlYydkIHRlc3QyNjItcnVubmVyIHByb2Nlc3MgZnJvbSBpbXBvcnRpbmcKKyAgICAg
ICAgICAgICAgICAjIHdlYmtpdGRpcnMgc28gdGhhdCBpdCBjYW4gc3VjY2VlZCBsYXRlciBvbiBp
biB0aGUgUnVubmVyCisgICAgICAgICAgICAgICAgIyBtb2R1bGUuLi4gUGVybC4gwq9cXyjjg4Qp
Xy/CrworICAgICAgICAgICAgICAgIHB1c2goQEFSR1YsICItLW5vLWZsYXRwYWstY2hlY2siKTsK
KyAgICAgICAgICAgICAgICBydW5JbkZsYXRwYWsoQGNvbW1hbmQpOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgfQorfQorCiBCRUdJTiB7CiAgICAgJEVOVntEQklDX09WRVJXUklURV9I
RUxQRVJfTUVUSE9EU19PS30gPSAxOwogICAgICRFTlZ7VDI2Ml9FWEVDX0JJTn0gPSAiJEZpbmRC
aW46OkJpbi90ZXN0MjYyIjsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtp
dC1mbGF0cGFrIGIvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0LWZsYXRwYWsKbmV3IGZpbGUg
bW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTg2YjgxYTIwMzNmNGJiN2JlMmQyOWJkZTVjMTJjZjQ5NTMzMGQ1NQotLS0gL2Rldi9udWxs
CisrKyBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdC1mbGF0cGFrCkBAIC0wLDAgKzEsMjgg
QEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMu
TC4KKyMgQ29weXJpZ2h0IChjKSAyMDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2Fs
aWEuY29tPgorIworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisjIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisjIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIHBy
b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKKyMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBw
cm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZQorIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwKKyMgQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCisjIHB5bGludDogZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5h
bWUKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0
aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwg
Ii4uIikpCitzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3Rv
cnksICJUb29scyIsICJmbGF0cGFrIikpCitmcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0
RmxhdHBhaworCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIFdlYmtpdEZsYXRwYWsu
bG9hZF9mcm9tX2FyZ3MoWyItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsgYi9Ub29scy9TY3Jp
cHRzL3VwZGF0ZS13ZWJraXRndGstZmxhdHBhawpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5k
ZXggMDk1NmYxZjJlMTQ4NWQyNDg2MmVmN2Y2ZDc0YTJmM2Y5OGNmOTJmOC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13
ZWJraXRndGstZmxhdHBhaworKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLSMhL3Vzci9i
aW4vZW52IHB5dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KLSMgQ29weXJp
Z2h0IChjKSAyMDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotIwot
IyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMg
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKLSMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBu
b3QsIHdyaXRlIHRvIHRoZQotIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0j
IHB5bGludDogZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5hbWUKLWltcG9ydCBv
cwotaW1wb3J0IHN5cwotCi10b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChv
cy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCi1zeXMu
cGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICJUb29scyIs
ICJmbGF0cGFrIikpCi1mcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0RmxhdHBhawotCi1p
ZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2Fy
Z3MoWyItLWd0ayIsICItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWxpYnMgYi9Ub29scy9TY3JpcHRzL3Vw
ZGF0ZS13ZWJraXRndGstbGlicwppbmRleCAyZTFjMDJmZmQ3MDU2MDA4MGUzNmJjNzRiNDY1OGZm
ZWY1ZGVjZDhlLi4yZThhODc4NTE5NmRiOGM3YmZjYzQ5MDQ5NWFkOWM1ZDcwMGZmZjUxIDEwMDc1
NQotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstbGlicworKysgYi9Ub29scy9T
Y3JpcHRzL3VwZGF0ZS13ZWJraXRndGstbGlicwpAQCAtMjIsNCArMjIsOCBAQCB1c2UgbGliICRG
aW5kQmluOjpCaW47CiB1c2Ugd2Via2l0ZGlyczsKIAogbXkgJHNjcmlwdHNEaXIgPSByZWxhdGl2
ZVNjcmlwdHNEaXIoKTsKLXN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0
LWxpYnMtamhidWlsZCIsICItLWd0ayIsIEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK2lmIChkZWZp
bmVkICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30gYW5kICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30pIHsK
KyAgICBzeXN0ZW0oInBlcmwiLCAiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1saWJzLWpoYnVp
bGQiLCAiLS1ndGsiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7Cit9IGVsc2UgeworICAgIHN5c3Rl
bSgiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1mbGF0cGFrIiwgQEFSR1YpID09IDAgb3IgZGll
ICQhOworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWZsYXRw
YWsgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtZmxhdHBhawpkZWxldGVkIGZpbGUg
bW9kZSAxMDA3NTUKaW5kZXggNTY0ZTg3NjUyMTExOGUyZmMwZmQ2OGI4Yzg2NmFhOTAwMWNiODEy
Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9T
Y3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtZmxhdHBhaworKysgL2Rldi9udWxsCkBAIC0xLDI4ICsw
LDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlh
IFMuTC4KLSMgQ29weXJpZ2h0IChjKSAyMDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBp
Z2FsaWEuY29tPgotIwotIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMi4xIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlz
IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFsb25nIHdpdGggdGhp
cyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZQotIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCi0jIHB5bGludDogZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlk
LW5hbWUKLWltcG9ydCBvcwotaW1wb3J0IHN5cwotCi10b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3Mu
cGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4u
IiwgIi4uIikpCi1zeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJl
Y3RvcnksICJUb29scyIsICJmbGF0cGFrIikpCi1mcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Vi
a2l0RmxhdHBhawotCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIFdlYmtpdEZsYXRw
YWsubG9hZF9mcm9tX2FyZ3MoWyItLXdwZSIsICItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5y
dW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWxpYnMgYi9U
b29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGlicwppbmRleCA2YjRiNDZmMmI3ZWI4YTll
NjgwNzc1N2JjYTJiOWU2ODQ3MDdhMDIzLi5jZGM0YzdkYjhjNjVlYTczMjNkNjkyNjgxOThhMmY2
OGJkNTEzMDE0IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGli
cworKysgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGlicwpAQCAtMjIsNCArMjIs
OCBAQCB1c2UgbGliICRGaW5kQmluOjpCaW47CiB1c2Ugd2Via2l0ZGlyczsKIAogbXkgJHNjcmlw
dHNEaXIgPSByZWxhdGl2ZVNjcmlwdHNEaXIoKTsKLXN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rp
ci91cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCIsICItLXdwZSIsIEBBUkdWKSA9PSAwIG9yIGRp
ZSAkITsKK2lmIChkZWZpbmVkICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30gYW5kICRFTlZ7J1dFQktJ
VF9KSEJVSUxEJ30pIHsKKyAgICBzeXN0ZW0oInBlcmwiLCAiJHNjcmlwdHNEaXIvdXBkYXRlLXdl
YmtpdC1saWJzLWpoYnVpbGQiLCAiLS13cGUiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7Cit9IGVs
c2UgeworICAgIHN5c3RlbSgiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1mbGF0cGFrIiwgQEFS
R1YpID09IDAgb3IgZGllICQhOworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRk
aXJzLnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCmluZGV4IDEwNGY2NjAyYWI1NzQw
MDRkYTc0Nzk4M2U5Njk1NjIwMDNkYTgwZjMuLjUzYjRlNjBiZDg3NzMyZTBjMmJmZjI5NTEwMGJi
OGQ0YTJiMmFlMjkgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KQEAgLTkxLDcgKzkxLDEwIEBAIEJFR0lOIHsK
ICAgICAgICAmc2V0dXBVbml4V2ViS2l0RW52aXJvbm1lbnQKICAgICAgICAmc2hhcmVkQ29tbWFu
ZExpbmVPcHRpb25zCiAgICAgICAgJnNoYXJlZENvbW1hbmRMaW5lT3B0aW9uc1VzYWdlCisgICAg
ICAgJnNob3VsZFVzZUZsYXRwYWsKKyAgICAgICAmcnVuSW5GbGF0cGFrCiAgICAgICAgJnNodXRE
b3duSU9TU2ltdWxhdG9yRGV2aWNlCisgICAgICAgJnNvdXJjZURpcgogICAgICAgICZ3aWxsVXNl
SU9TRGV2aWNlU0RLCiAgICAgICAgJndpbGxVc2VJT1NTaW11bGF0b3JTREsKICAgICAgICBET19O
T1RfVVNFX09QRU5fQ09NTUFORApAQCAtMjA0NywyMCArMjA1MCwxMSBAQCBzdWIgZ2V0SmhidWls
ZFBhdGgoKQogICAgIHJldHVybiBGaWxlOjpTcGVjLT5jYXRkaXIoQGpoYnVpbGRQYXRoKTsKIH0K
IAotc3ViIGdldEZsYXRwYWtQYXRoKCkKK3N1YiBnZXRVc2VyRmxhdHBha1BhdGgoKQogewotICAg
IG15IEBmbGF0cGFrQnVpbGRQYXRoID0gRmlsZTo6U3BlYy0+c3BsaXRkaXIoYmFzZVByb2R1Y3RE
aXIoKSk7Ci0gICAgaWYgKGlzR3RrKCkpIHsKLSAgICAgICAgcHVzaChAZmxhdHBha0J1aWxkUGF0
aCwgIkdUSyIpOwotICAgIH0gZWxzaWYgKGlzV1BFKCkpIHsKLSAgICAgICAgcHVzaChAZmxhdHBh
a0J1aWxkUGF0aCwgIldQRSIpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGRpZSAiQ2Fubm90IGdl
dCBGbGF0cGFrIHBhdGggZm9yIHBsYXRmb3JtIHRoYXQgaXNuJ3QgR1RLKyBvciBXUEUuXG4iOwot
ICAgIH0KLSAgICBteSBAY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24oKTsKLSAgICBwdXNo
KEBmbGF0cGFrQnVpbGRQYXRoLCAiRmxhdHBha1RyZWUkY29uZmlndXJhdGlvbiIpOwotCi0gICAg
cmV0dXJuIEZpbGU6OlNwZWMtPmNhdGRpcihAZmxhdHBha0J1aWxkUGF0aCk7CisgICAgbXkgQGZs
YXRwYWtQYXRoID0gRmlsZTo6U3BlYy0+c3BsaXRkaXIoYmFzZVByb2R1Y3REaXIoKSk7CisgICAg
cHVzaChAZmxhdHBha1BhdGgsICJVc2VyRmxhdHBhayIpOworICAgIHJldHVybiBGaWxlOjpTcGVj
LT5jYXRkaXIoQGZsYXRwYWtQYXRoKTsKIH0KIAogc3ViIGlzQ2FjaGVkQXJndW1lbnRmaWxlT3V0
T2ZEYXRlKCRAKQpAQCAtMjA4NywxOCArMjA4MSwxNCBAQCBzdWIgaXNDYWNoZWRBcmd1bWVudGZp
bGVPdXRPZkRhdGUoJEApCiAKIHN1YiBpbkZsYXRwYWtTYW5kYm94KCkKIHsKLSAgICBpZiAoLWYg
Ii8uZmxhdHBhay1pbmZvIikgewotICAgICAgICByZXR1cm4gMTsKLSAgICB9Ci0KLSAgICByZXR1
cm4gMDsKKyAgICByZXR1cm4gKC1mICIvLmZsYXRwYWstaW5mbyIpOwogfQogCiBzdWIgcnVuSW5G
bGF0cGFrKEApCiB7CiAgICAgbXkgQGFyZyA9IEBfOwogICAgIG15IEBjb21tYW5kID0gKEZpbGU6
OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgIndlYmtpdC1m
bGF0cGFrIikpOwotICAgIGV4ZWMgQGNvbW1hbmQsIGFyZ3VtZW50c0ZvckNvbmZpZ3VyYXRpb24o
KSwgIi0tY29tbWFuZCIsIEBfLCBhcmd1bWVudHNGb3JDb25maWd1cmF0aW9uKCksIEBBUkdWIG9y
IGRpZTsKKyAgICBleGVjIEBjb21tYW5kLCBhcmd1bWVudHNGb3JDb25maWd1cmF0aW9uKCksIEBB
UkdWLCAiLS1jb21tYW5kIiwgQGFyZywgYXJndW1lbnRzRm9yQ29uZmlndXJhdGlvbigpIG9yIGRp
ZTsKIH0KIAogc3ViIHJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKEApCkBAIC0yMTEyLDggKzIxMDIs
OCBAQCBzdWIgcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQCkKICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgfQogCi0gICAgaWYgKCEgLWUgZ2V0RmxhdHBha1BhdGgoKSkgewotICAgICAgICByZXR1cm4g
MDsKKyAgICBpZiAoISAtZSBnZXRVc2VyRmxhdHBha1BhdGgoKSkgeworICAgICAgcmV0dXJuIDA7
CiAgICAgfQogCiAgICAgcnVuSW5GbGF0cGFrKEBfKQpAQCAtMjEyOCw3ICsyMTE4LDcgQEAgc3Vi
IHdyYXBwZXJQcmVmaXhJZk5lZWRlZCgpCiAgICAgaWYgKGlzQXBwbGVDb2NvYVdlYktpdCgpKSB7
CiAgICAgICAgIHJldHVybiAoInhjcnVuIik7CiAgICAgfQotICAgIGlmIChzaG91bGRVc2VKaGJ1
aWxkKCkgYW5kICEgc2hvdWxkVXNlRmxhdHBhaygpKSB7CisgICAgaWYgKHNob3VsZFVzZUpoYnVp
bGQoKSkgewogICAgICAgICBteSBAcHJlZml4ID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNl
RGlyKCksICJUb29scyIsICJqaGJ1aWxkIiwgImpoYnVpbGQtd3JhcHBlciIpKTsKICAgICAgICAg
aWYgKGlzR3RrKCkpIHsKICAgICAgICAgICAgIHB1c2goQHByZWZpeCwgIi0tZ3RrIik7CkBAIC0y
MTQ1LDEyICsyMTM1LDEyIEBAIHN1YiB3cmFwcGVyUHJlZml4SWZOZWVkZWQoKQogCiBzdWIgc2hv
dWxkVXNlSmhidWlsZCgpCiB7Ci0gICAgcmV0dXJuICgoaXNHdGsoKSBvciBpc1dQRSgpKSBhbmQg
LWUgZ2V0SmhidWlsZFBhdGgoKSk7CisgICAgcmV0dXJuICgoISBpbkZsYXRwYWtTYW5kYm94KCkp
IGFuZCAoaXNHdGsoKSBvciBpc1dQRSgpKSBhbmQgLWUgZ2V0SmhidWlsZFBhdGgoKSBhbmQgZGVm
aW5lZCAkRU5WeydXRUJLSVRfSkhCVUlMRCd9IGFuZCAkRU5WeydXRUJLSVRfSkhCVUlMRCd9KTsK
IH0KIAogc3ViIHNob3VsZFVzZUZsYXRwYWsoKQogewotICAgIHJldHVybiAoKGlzR3RrKCkgb3Ig
aXNXUEUoKSkgYW5kICEgaW5GbGF0cGFrU2FuZGJveCgpIGFuZCAtZSBnZXRGbGF0cGFrUGF0aCgp
KTsKKyAgICByZXR1cm4gKCghIGluRmxhdHBha1NhbmRib3goKSkgYW5kIChpc0d0aygpIG9yIGlz
V1BFKCkpIGFuZCAtZSBnZXRVc2VyRmxhdHBha1BhdGgoKSk7CiB9CiAKIHN1YiBjbWFrZUNhY2hl
UGF0aCgpCkBAIC0yMjE3LDcgKzIyMDcsNyBAQCBzdWIgc2hvdWxkUmVtb3ZlQ01ha2VDYWNoZShA
KQogICAgIH0KIAogICAgICMgSWYgYSBjaGFuZ2Ugb24gdGhlIEpIQnVpbGQgbW9kdWxlc2V0IGhh
cyBiZWVuIGRvbmUsIHdlIG5lZWQgdG8gY2xlYW4gdGhlIGNhY2hlIGFzIHdlbGwuCi0gICAgaWYg
KGlzR3RrKCkgfHwgaXNXUEUoKSkgeworICAgIGlmICghIHNob3VsZFVzZUZsYXRwYWsoKSBhbmQg
KGlzR3RrKCkgfHwgaXNXUEUoKSkpIHsKICAgICAgICAgbXkgJGpoYnVpbGRSb290RGlyZWN0b3J5
ID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKGdldEpoYnVpbGRQYXRoKCksICJSb290Iik7CiAgICAgICAg
ICMgVGhlIHNjcmlwdCB1cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCBzaGFsbCByZS1nZW5lcmF0
ZSAkamhidWlsZFJvb3REaXJlY3RvcnkgaWYgdGhlIG1vZHVsZXNldCBjaGFuZ2VkLgogICAgICAg
ICBpZiAoLWQgJGpoYnVpbGRSb290RGlyZWN0b3J5ICYmICRjYWNoZUZpbGVNb2RpZmllZFRpbWUg
PCBzdGF0KCRqaGJ1aWxkUm9vdERpcmVjdG9yeSktPm10aW1lKSB7CmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9iYXNlLnB5CmluZGV4IGRlMDA2NjY3YjJkMWU1ZTVlZWI4ZjJkMWE0NDhiNzU2ZjdmMDY2
Y2QuLjFjM2VlN2FiZGJhM2Q4NmIyYTY4YTQ2ODhiNGVhZDk2ZTk5ODc1ZWUgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9iYXNlLnB5CkBAIC04OTMsNiArODkzLDcgQEAgY2xhc3MgUG9ydChvYmpl
Y3QpOgogICAgICAgICAgICAgJ0xBTkcnLAogICAgICAgICAgICAgJ0xEX0xJQlJBUllfUEFUSCcs
CiAgICAgICAgICAgICAnVEVSTScsCisgICAgICAgICAgICAnVFonLAogICAgICAgICAgICAgJ1hE
R19EQVRBX0RJUlMnLAogICAgICAgICAgICAgJ1hER19SVU5USU1FX0RJUicsCiAKQEAgLTEyMjAs
NyArMTIyMSw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgVGhpcyBpcyBuZWVkZWQg
b25seSBieSBwb3J0cyB0aGF0IHVzZSB0aGUgYXBhY2hlX2h0dHBfc2VydmVyIG1vZHVsZS4iIiIK
ICAgICAgICAgIyBUaGUgQXBhY2hlIGJpbmFyeSBwYXRoIGNhbiB2YXJ5IGRlcGVuZGluZyBvbiBP
UyBhbmQgZGlzdHJpYnV0aW9uCiAgICAgICAgICMgU2VlIGh0dHA6Ly93aWtpLmFwYWNoZS5vcmcv
aHR0cGQvRGlzdHJvc0RlZmF1bHRMYXlvdXQKLSAgICAgICAgZm9yIHBhdGggaW4gWyIvdXNyL3Ni
aW4vaHR0cGQiLCAiL3Vzci9zYmluL2FwYWNoZTIiLCAiL2FwcC9iaW4vaHR0cGQiXToKKyAgICAg
ICAgZm9yIHBhdGggaW4gWyIvdXNyL3NiaW4vaHR0cGQiLCAiL3Vzci9zYmluL2FwYWNoZTIiLCAi
L3Vzci9iaW4vaHR0cGQiXToKICAgICAgICAgICAgIGlmIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3Rz
KHBhdGgpOgogICAgICAgICAgICAgICAgIHJldHVybiBwYXRoCiAgICAgICAgIF9sb2cuZXJyb3Io
IkNvdWxkIG5vdCBmaW5kIGFwYWNoZS4gTm90IGluc3RhbGxlZCBvciB1bmtub3duIHBhdGguIikK
QEAgLTE0NTIsMTQgKzE0NTMsOCBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgICMgLS1w
aXhlbC10ZXN0LWRpcmVjdG9yeSBpcyBub3Qgc3BlY2lmaWVkLgogICAgICAgICByZXR1cm4gVHJ1
ZQogCi0gICAgZGVmIF9zaG91bGRfdXNlX2ZsYXRwYWsoc2VsZik6Ci0gICAgICAgIHN1ZmZpeCA9
ICIiCi0gICAgICAgIGlmIHNlbGYucG9ydF9uYW1lOgotICAgICAgICAgICAgc3VmZml4ID0gc2Vs
Zi5wb3J0X25hbWUudXBwZXIoKQotICAgICAgICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5leGlz
dHMoc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1dlYktpdEJ1aWxkJywgc3VmZml4LCAiRmxh
dHBha1RyZWUiKSkKLQogICAgIGRlZiBfaW5fZmxhdHBha19zYW5kYm94KHNlbGYpOgotICAgICAg
ICByZXR1cm4gb3MucGF0aC5leGlzdHMoIi8uZmxhdHBhay1pbmZvIikKKyAgICAgICAgcmV0dXJu
IHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKCIvLmZsYXRwYWstaW5mbyIpCiAKICAgICBkZWYgX3No
b3VsZF91c2VfamhidWlsZChzZWxmKToKICAgICAgICAgaWYgc2VsZi5faW5fZmxhdHBha19zYW5k
Ym94KCk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQppbmRleCA2OGJjMTY5MjNmOGFiNzYw
OTFmNWIzZTk2NGQwNjVjNzk0M2ZmOGQ1Li4wY2U4YWE0ODc0NTkwOWM3OTczNjg4M2IzNmQzNGU4
NzQwOThkNDczIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkKQEAgLTEyMiw2ICsxMjIs
NyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICBlbnZpcm9ubWVudFsnVEVTVF9SVU5O
RVJfSU5KRUNURURfQlVORExFX0ZJTEVOQU1FJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdsaWInLCAn
bGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLnNvJykKICAgICAgICAgZW52aXJvbm1lbnRbJ1RF
U1RfUlVOTkVSX1RFU1RfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ2xpYicsICdw
bHVnaW5zJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVu
dmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJUicpCisgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVf
ZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9KSEJVSUxEJykKICAgICAg
ICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VC
S0lUX1RPUF9MRVZFTCcpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lm
X3NldChlbnZpcm9ubWVudCwgJ1VTRV9QTEFZQklOMycpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFs
dWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ0dTVF9ERUJVRycpCkBAIC0xMzQs
MTAgKzEzNSwxMSBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAgICAgaWYgc2VsZi5f
c2hvdWxkX3VzZV9qaGJ1aWxkKCk6CiAgICAgICAgICAgICAgICAgbGx2bXBpcGVfbGliZ2xfcGF0
aCA9IHNlbGYuaG9zdC5leGVjdXRpdmUucnVuX2NvbW1hbmQoc2VsZi5famhidWlsZF93cmFwcGVy
ICsgWydwcmludGVudicsICdMTFZNUElQRV9MSUJHTF9QQVRIJ10sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9y
ZV9lcnJvcnM9VHJ1ZSkuc3RyaXAoKQorICAgICAgICAgICAgICAgIGRyaV9saWJnbF9wYXRoID0g
b3MucGF0aC5qb2luKGxsdm1waXBlX2xpYmdsX3BhdGgsICJkcmkiKQogICAgICAgICAgICAgZWxz
ZTogICMgaW4gZmxhdHBhawotICAgICAgICAgICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGggPSAi
L2FwcC9zb2Z0R0wvbGliIgorICAgICAgICAgICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGggPSAi
L3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS8iCisgICAgICAgICAgICAgICAgZHJpX2xpYmdsX3Bh
dGggPSBvcy5wYXRoLmpvaW4obGx2bXBpcGVfbGliZ2xfcGF0aCwgIkdMIiwgImxpYiIsICJkcmki
KQogCi0gICAgICAgICAgICBkcmlfbGliZ2xfcGF0aCA9IG9zLnBhdGguam9pbihsbHZtcGlwZV9s
aWJnbF9wYXRoLCAiZHJpIikKICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGgu
am9pbihsbHZtcGlwZV9saWJnbF9wYXRoLCAibGliR0wuc28iKSkgYW5kIG9zLnBhdGguZXhpc3Rz
KG9zLnBhdGguam9pbihkcmlfbGliZ2xfcGF0aCwgInN3cmFzdF9kcmkuc28iKSk6CiAgICAgICAg
ICAgICAgICAgIyBNYWtlIHN1cmUgdmEtYXBpIHN1cHBvcnQgZ2V0cyBkaXNhYmxlZCBiZWNhdXNl
IGl0J3MgaW5jb21wYXRpYmxlIHdpdGggTWVzYSdzIHNvZnRHTCBkcml2ZXIuCiAgICAgICAgICAg
ICAgICAgZW52aXJvbm1lbnRbJ0xJQlZBX0RSSVZFUl9OQU1FJ10gPSAibnVsbCIKQEAgLTE0OCw3
ICsxNTAsNyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAgICAgICAgIGlmIG9zLmVu
dmlyb24uZ2V0KCdMRF9MSUJSQVJZX1BBVEgnKToKICAgICAgICAgICAgICAgICAgICAgZW52aXJv
bm1lbnRbJ0xEX0xJQlJBUllfUEFUSCddICs9ICc6JXMnICUgb3MuZW52aXJvbi5nZXQoJ0xEX0xJ
QlJBUllfUEFUSCcpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIF9sb2cud2Fy
bmluZygiQ2FuJ3QgZmluZCBHYWxsaXVtIGxsdm1waXBlIGRyaXZlci4gVHJ5IHRvIHJ1biB1cGRh
dGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIikKKyAgICAgICAg
ICAgICAgICBfbG9nLndhcm5pbmcoIkNhbid0IGZpbmQgR2FsbGl1bSBsbHZtcGlwZSBkcml2ZXIu
IFRyeSB0byBydW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBh
ayIpCiAgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbigibGVha3MiKToKICAgICAgICAgICAgICMg
VHVybiBvZmYgR0xpYiBtZW1vcnkgb3B0aW1pc2F0aW9ucyBodHRwczovL3dpa2kuZ25vbWUub3Jn
L1ZhbGdyaW5kLgogICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0dfU0xJQ0UnXSA9ICdhbHdheXMt
bWFsbG9jJwpAQCAtMjM3LDcgKzIzOSw3IEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAKICAgICBk
ZWYgX2dldF9jcmFzaF9sb2coc2VsZiwgbmFtZSwgcGlkLCBzdGRvdXQsIHN0ZGVyciwgbmV3ZXJf
dGhhbiwgdGFyZ2V0X2hvc3Q9Tm9uZSk6CiAgICAgICAgIHJldHVybiBHREJDcmFzaExvZ0dlbmVy
YXRvcihzZWxmLl9leGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwKLSAgICAgICAgICAg
IHNlbGYuX2ZpbGVzeXN0ZW0sIHNlbGYuX3BhdGhfdG9fZHJpdmVyKS5nZW5lcmF0ZV9jcmFzaF9s
b2coc3Rkb3V0LCBzdGRlcnIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlciwgc2VsZi5wb3J0X25hbWUsIHNl
bGYuZ2V0X29wdGlvbignY29uZmlndXJhdGlvbicpKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0
LCBzdGRlcnIpCiAKICAgICBkZWYgdGVzdF9leHBlY3RhdGlvbnNfZmlsZV9wb3NpdGlvbihzZWxm
KToKICAgICAgICAgIyBHVEsgcG9ydCBiYXNlbGluZSBzZWFyY2ggcGF0aCBpcyBndGsgLT4gd2sy
IC0+IGdlbmVyaWMgKGFzIGd0ay13azIgYW5kIGd0ayBiYXNlbGluZXMgYXJlIG1lcmdlZCksIHNv
IHBvcnQgdGVzdCBleHBlY3RhdGlvbnMgZmlsZSBpcyBhdCB0aGlyZCB0byBsYXN0IHBvc2l0aW9u
LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFz
aF9sb2cucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xv
Zy5weQppbmRleCA5YWRjNDYzNzFmOTYxYjE5NjI4ZTdmZWRkNDY1ZWJmZDA5NmNkMDFhLi4yZTAz
ZGZmMWEzNmViNWMyMDVhZTY4NzljZDIyYmQyYzcwMjIxMWUzIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQpAQCAtMzcsMTggKzM3
LDIyIEBAIGltcG9ydCB0aW1lCiAKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRp
dmUgaW1wb3J0IFNjcmlwdEVycm9yCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi51bmljb2RlX2NvbXBh
dGliaWxpdHkgaW1wb3J0IGRlY29kZV9pZl9uZWNlc3NhcnkKK2Zyb20gd2Via2l0cHkuY29tbW9u
LndlYmtpdF9maW5kZXIgaW1wb3J0IFdlYktpdEZpbmRlcgogCiAKIGNsYXNzIEdEQkNyYXNoTG9n
R2VuZXJhdG9yKG9iamVjdCk6CiAgICAgX2ZpbmRfcGlkX3JlZ2V4ID0gcmUuY29tcGlsZShyJ1BJ
RDogKFxkKykgXCguKlwpJykKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBleGVjdXRpdmUsIG5h
bWUsIHBpZCwgbmV3ZXJfdGhhbiwgZmlsZXN5c3RlbSwgcGF0aF90b19kcml2ZXIpOgorICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBleGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwgZmlsZXN5
c3RlbSwgcGF0aF90b19kcml2ZXIsIHBvcnRfbmFtZSwgY29uZmlndXJhdGlvbik6CiAgICAgICAg
IHNlbGYubmFtZSA9IG5hbWUKICAgICAgICAgc2VsZi5waWQgPSBwaWQKICAgICAgICAgc2VsZi5u
ZXdlcl90aGFuID0gbmV3ZXJfdGhhbgogICAgICAgICBzZWxmLl9maWxlc3lzdGVtID0gZmlsZXN5
c3RlbQogICAgICAgICBzZWxmLl9wYXRoX3RvX2RyaXZlciA9IHBhdGhfdG9fZHJpdmVyCiAgICAg
ICAgIHNlbGYuX2V4ZWN1dGl2ZSA9IGV4ZWN1dGl2ZQorICAgICAgICBzZWxmLl9wb3J0X25hbWUg
PSBwb3J0X25hbWUKKyAgICAgICAgc2VsZi5fY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24K
KyAgICAgICAgc2VsZi5fd2Via2l0X2ZpbmRlciA9IFdlYktpdEZpbmRlcihmaWxlc3lzdGVtKQog
CiAgICAgZGVmIF9nZXRfZ2RiX291dHB1dChzZWxmLCBjb3JlZHVtcF9wYXRoKToKICAgICAgICAg
cHJvY2Vzc19uYW1lID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKG9zLnBhdGguZGlybmFtZShzdHIo
c2VsZi5fcGF0aF90b19kcml2ZXIoKSkpLCBzZWxmLm5hbWUpCkBAIC02Nyw2ICs3MSw5IEBAIGNs
YXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBmaWxlbmFt
ZQogCiAgICAgZGVmIF9nZXRfdHJhY2VfZnJvbV9zeXN0ZW1kKHNlbGYsIGNvcmVkdW1wY3RsLCBw
aWQpOgorICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZSgiLy5mbGF0cGFrLWluZm8iKToKKyAgICAg
ICAgICAgIHJldHVybiBzZWxmLl9nZXRfdHJhY2VfZnJvbV9mbGF0cGFrKCkKKwogICAgICAgICAj
IExldHRpbmcgdXAgdG8gNSBzZWNvbmRzIGZvciB0aGUgYmFja3RyYWNlIHRvIGJlIGdlbmVyYXRl
ZCBvbiB0aGUgc3lzdGVtZCBzaWRlCiAgICAgICAgIGZvciB0cnlfbnVtYmVyIGluIHJhbmdlKDUp
OgogICAgICAgICAgICAgaWYgdHJ5X251bWJlciAhPSAwOgpAQCAtOTIsMTIgKzk5LDI0IEBAIGNs
YXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgICAg
ICB0ZW1wX2ZpbGUubmFtZV0sIHJldHVybl9leGl0X2NvZGU9VHJ1ZSk6CiAgICAgICAgICAgICAg
ICAgICAgIGNvbnRpbnVlCiAKLSAgICAgICAgICAgICAgICByZXMgPSBzZWxmLl9nZXRfZ2RiX291
dHB1dChzZWxmLl9nZXRfdG1wX2ZpbGVfbmFtZShjb3JlZHVtcGN0bCwgdGVtcF9maWxlLm5hbWUp
KQotCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJlcworICAgICAgICAgICAgICAgIHJldHVybiBz
ZWxmLl9nZXRfZ2RiX291dHB1dChzZWxmLl9nZXRfdG1wX2ZpbGVfbmFtZShjb3JlZHVtcGN0bCwg
dGVtcF9maWxlLm5hbWUpKQogCiAgICAgICAgIHJldHVybiAnJywgW10KIAorICAgIGRlZiBfZ2V0
X3RyYWNlX2Zyb21fZmxhdHBhayhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5uZXdlcl90aGFuOgor
ICAgICAgICAgICAgY29yZWR1bXBfc2luY2UgPSAiLS1nZGItc3RhY2stdHJhY2U9QCVmIiAlIHNl
bGYubmV3ZXJfdGhhbgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY29yZWR1bXBfc2luY2Ug
PSAiLS1nZGItc3RhY2stdHJhY2UiCisgICAgICAgIHdlYmtpdF9mbGF0cGFrX3BhdGggPSBzZWxm
Ll93ZWJraXRfZmluZGVyLnBhdGhfdG9fc2NyaXB0KCd3ZWJraXQtZmxhdHBhaycpCisgICAgICAg
IGNtZCA9IFsnZmxhdHBhay1zcGF3bicsICctLWhvc3QnLCB3ZWJraXRfZmxhdHBha19wYXRoLCAn
LS0lcycgJSBzZWxmLl9wb3J0X25hbWUsCisgICAgICAgICAgICAgICAiLS0lcyIgJSBzZWxmLl9j
b25maWd1cmF0aW9uLmxvd2VyKCksIGNvcmVkdW1wX3NpbmNlXQorCisgICAgICAgIHByb2MgPSBz
ZWxmLl9leGVjdXRpdmUucG9wZW4oY21kLCBzdGRpbj1Ob25lLCBzdGRvdXQ9c3VicHJvY2Vzcy5Q
SVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKQorICAgICAgICBjcmFzaF9sb2csIHN0ZGVyciA9
IHByb2MuY29tbXVuaWNhdGUoKQorICAgICAgICBlcnJvcnMgPSBkZWNvZGVfaWZfbmVjZXNzYXJ5
KHN0cihzdGRlcnIgb3IgJzxlbXB0eT4nKSwgZXJyb3JzPSdpZ25vcmUnKS5zcGxpdGxpbmVzKCkK
KyAgICAgICAgcmV0dXJuIGNyYXNoX2xvZywgZXJyb3JzCisKICAgICBkZWYgZ2VuZXJhdGVfY3Jh
c2hfbG9nKHNlbGYsIHN0ZG91dCwgc3RkZXJyKToKICAgICAgICAgcGlkX3JlcHJlc2VudGF0aW9u
ID0gc3RyKHNlbGYucGlkIG9yICc8dW5rbm93bj4nKQogICAgICAgICBsb2dfZGlyZWN0b3J5ID0g
b3MuZW52aXJvbi5nZXQoIldFQktJVF9DT1JFX0RVTVBTX0RJUkVDVE9SWSIpCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZ191bml0dGVz
dC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3Vu
aXR0ZXN0LnB5CmluZGV4IDlmM2I3ZTM5Mzc5YzQzYTEwNWVjZTIwYzFjYTYyNjI0M2RmYTdkMzQu
LjNhMzllODQ2NzBhNjRjODM2YjVlMTQ0MmZjOGEzNTkzNGMzN2RmOTQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3Vu
aXR0ZXN0LnB5CkBAIC00Niw3ICs0Niw3IEBAIGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yVGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGV4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUo
KQogICAgICAgICBleGVjdXRpdmUuX3Byb2MgPSBNb2NrUHJvY2VzcygpCiAgICAgICAgIGV4ZWN1
dGl2ZS5fcHJvYy5zdGRvdXQgPSAnU1RERVJSOiA8ZW1wdHk+JwotICAgICAgICBnZW5lcmF0b3Ig
PSBHREJDcmFzaExvZ0dlbmVyYXRvcihleGVjdXRpdmUsICdEdW1wUmVuZGVyVHJlZScsIDI4NTI5
LCBuZXdlcl90aGFuPU5vbmUsIGZpbGVzeXN0ZW09TW9ja0ZpbGVTeXN0ZW0oeycvcGF0aC90by9j
b3JlZHVtcHMnOiAnJ30pLCBwYXRoX3RvX2RyaXZlcj1Ob25lKQorICAgICAgICBnZW5lcmF0b3Ig
PSBHREJDcmFzaExvZ0dlbmVyYXRvcihleGVjdXRpdmUsICdEdW1wUmVuZGVyVHJlZScsIDI4NTI5
LCBuZXdlcl90aGFuPU5vbmUsIGZpbGVzeXN0ZW09TW9ja0ZpbGVTeXN0ZW0oeycvcGF0aC90by9j
b3JlZHVtcHMnOiAnJ30pLCBwYXRoX3RvX2RyaXZlcj1Ob25lLCBwb3J0X25hbWU9Imd0ayIsIGNv
bmZpZ3VyYXRpb249IkRlYnVnIikKIAogICAgICAgICBjb3JlX2RpcmVjdG9yeSA9IG9zLmVudmly
b24uZ2V0KCdXRUJLSVRfQ09SRV9EVU1QU19ESVJFQ1RPUlknLCAnL3BhdGgvdG8vY29yZWR1bXBz
JykKICAgICAgICAgY29yZV9wYXR0ZXJuID0gZ2VuZXJhdG9yLl9maWxlc3lzdGVtLmpvaW4oY29y
ZV9kaXJlY3RvcnksICJjb3JlLXBpZF8lcC5kdW1wIikKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC93cGUucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd3Bl
LnB5CmluZGV4IDAwY2U1Mjc2ZTljYzQyMWI0ODM3YWMyYjU0ZjMzYzU1MmJiZWM4NTUuLjU0Njky
NWY0N2M2NDAwNzI1YWYwNzNhMzU1M2M3ZmY1NGVlYTdkOTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC93cGUucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9w
b3J0L3dwZS5weQpAQCAtNzcsNiArNzcsNyBAQCBjbGFzcyBXUEVQb3J0KFBvcnQpOgogICAgICAg
ICBlbnZpcm9ubWVudFsnVEVTVF9SVU5ORVJfVEVTVF9QTFVHSU5fUEFUSCddID0gc2VsZi5fYnVp
bGRfcGF0aCgnbGliJywgJ3BsdWdpbnMnKQogICAgICAgICBlbnZpcm9ubWVudFsnV0VCS0lUX0VY
RUNfUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0aCgnYmluJykKICAgICAgICAgc2VsZi5fY29weV92
YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJUicp
CisgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVu
dCwgJ1dFQktJVF9KSEJVSUxEJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmly
b25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX1RPUF9MRVZFTCcpCiAgICAgICAgIHNlbGYu
X2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1VTRV9QTEFZQklO
MycpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9u
bWVudCwgJ0dTVF9ERUJVRycpCkBAIC0xMjEsNyArMTIyLDggQEAgY2xhc3MgV1BFUG9ydChQb3J0
KToKICAgICAgICAgcmV0dXJuIDIKIAogICAgIGRlZiBfZ2V0X2NyYXNoX2xvZyhzZWxmLCBuYW1l
LCBwaWQsIHN0ZG91dCwgc3RkZXJyLCBuZXdlcl90aGFuLCB0YXJnZXRfaG9zdD1Ob25lKToKLSAg
ICAgICAgcmV0dXJuIEdEQkNyYXNoTG9nR2VuZXJhdG9yKHNlbGYuX2V4ZWN1dGl2ZSwgbmFtZSwg
cGlkLCBuZXdlcl90aGFuLCBzZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlciku
Z2VuZXJhdGVfY3Jhc2hfbG9nKHN0ZG91dCwgc3RkZXJyKQorICAgICAgICByZXR1cm4gR0RCQ3Jh
c2hMb2dHZW5lcmF0b3Ioc2VsZi5fZXhlY3V0aXZlLCBuYW1lLCBwaWQsIG5ld2VyX3RoYW4sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLCBzZWxm
Ll9wYXRoX3RvX2RyaXZlciwgc2VsZi5wb3J0X25hbWUsIHNlbGYuZ2V0X29wdGlvbignY29uZmln
dXJhdGlvbicpKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIpCiAKICAgICBkZWYg
Y29uZmlndXJhdGlvbl9mb3JfdXBsb2FkKHNlbGYsIGhvc3Q9Tm9uZSk6CiAgICAgICAgIGNvbmZp
Z3VyYXRpb24gPSBzdXBlcihXUEVQb3J0LCBzZWxmKS5jb25maWd1cmF0aW9uX2Zvcl91cGxvYWQo
aG9zdD1ob3N0KQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcAppbmRleCAzZjhlMjQ0MGYyODNl
NGI0ZTU0MjdhZDY0NGQyYjNiNGUzMTk2NWExLi44MWJjZDk2MmEwOWM3YWNmZWYyMmVjMmY0OGJj
MDJiMjQ5YTU2YzQ0IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcApAQCAtNjUsOCArNjUs
MTMgQEAgQ1N0cmluZyBnZXRPdXRwdXREaXIoKQogCiBzdGF0aWMgQ1N0cmluZyBnZXRGb250c1Bh
dGgoKQogeworICAgIC8vIFRyeSBmbGF0cGFrIHNhbmRib3ggcGF0aC4KKyAgICBHVW5pcXVlUHRy
PGNoYXI+Zm9udHNQYXRoKGdfYnVpbGRfZmlsZW5hbWUoIi91c3IiLCAic2hhcmUiLCAid2Via2l0
Z3RrLXRlc3QtZm9udHMiLCBOVUxMKSk7CisgICAgaWYgKGdfZmlsZV90ZXN0KGZvbnRzUGF0aC5n
ZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9FWElTVFMgfCBHX0ZJTEVf
VEVTVF9JU19ESVIpKSkKKyAgICAgICAgcmV0dXJuIGZvbnRzUGF0aC5nZXQoKTsKKwogICAgIENT
dHJpbmcgd2Via2l0T3V0cHV0RGlyID0gZ2V0T3V0cHV0RGlyKCk7Ci0gICAgR1VuaXF1ZVB0cjxj
aGFyPiBmb250c1BhdGgoZ19idWlsZF9maWxlbmFtZSh3ZWJraXRPdXRwdXREaXIuZGF0YSgpLCAi
RGVwZW5kZW5jaWVzR1RLIiwgIlJvb3QiLCAid2Via2l0Z3RrLXRlc3QtZm9udHMiLCBudWxscHRy
KSk7CisgICAgZm9udHNQYXRoLnJlc2V0KGdfYnVpbGRfZmlsZW5hbWUod2Via2l0T3V0cHV0RGly
LmRhdGEoKSwgIkRlcGVuZGVuY2llc0dUSyIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWZvbnRz
IiwgbnVsbHB0cikpOwogICAgIGlmIChnX2ZpbGVfdGVzdChmb250c1BhdGguZ2V0KCksIHN0YXRp
Y19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfRVhJU1RTIHwgR19GSUxFX1RFU1RfSVNfRElS
KSkpCiAgICAgICAgIHJldHVybiBmb250c1BhdGguZ2V0KCk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUuY3Bw
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250
c1dQRS5jcHAKaW5kZXggYTQ5YzdhMjkyMTgyNTkxZTI3MjdiMmI5MDFlNDEyYjJkZThlMDNkYS4u
OGJlNzM2ZjA0OWM5MWIzMDhjZDJjMWVjYWYxNDA1YTA1YzFhZTUwMCAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250c1dQRS5j
cHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZh
dGVGb250c1dQRS5jcHAKQEAgLTU4LDggKzU4LDEzIEBAIENTdHJpbmcgZ2V0T3V0cHV0RGlyKCkK
IAogc3RhdGljIENTdHJpbmcgZ2V0Rm9udHNQYXRoKCkKIHsKKyAgICAvLyBUcnkgZmxhdHBhayBz
YW5kYm94IHBhdGguCisgICAgR1VuaXF1ZVB0cjxjaGFyPmZvbnRzUGF0aChnX2J1aWxkX2ZpbGVu
YW1lKCIvdXNyIiwgInNoYXJlIiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgTlVMTCkpOworICAg
IGlmIChnX2ZpbGVfdGVzdChmb250c1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4o
R19GSUxFX1RFU1RfRVhJU1RTIHwgR19GSUxFX1RFU1RfSVNfRElSKSkpCisgICAgICAgIHJldHVy
biBmb250c1BhdGguZ2V0KCk7CisKICAgICBDU3RyaW5nIHdlYmtpdE91dHB1dERpciA9IGdldE91
dHB1dERpcigpOwotICAgIEdVbmlxdWVQdHI8Y2hhcj4gZm9udHNQYXRoKGdfYnVpbGRfZmlsZW5h
bWUod2Via2l0T3V0cHV0RGlyLmRhdGEoKSwgIkRlcGVuZGVuY2llc1dQRSIsICJSb290IiwgIndl
YmtpdGd0ay10ZXN0LWZvbnRzIiwgbnVsbHB0cikpOworICAgIGZvbnRzUGF0aC5yZXNldChnX2J1
aWxkX2ZpbGVuYW1lKHdlYmtpdE91dHB1dERpci5kYXRhKCksICJEZXBlbmRlbmNpZXNXUEUiLCAi
Um9vdCIsICJ3ZWJraXRndGstdGVzdC1mb250cyIsIG51bGxwdHIpKTsKICAgICBpZiAoZ19maWxl
X3Rlc3QoZm9udHNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNU
X0VYSVNUUyB8IEdfRklMRV9URVNUX0lTX0RJUikpKQogICAgICAgICByZXR1cm4gZm9udHNQYXRo
LmdldCgpOwogCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttIGIv
VG9vbHMvZmxhdHBhay9maWxlcy9kZWZhdWx0LnhrbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDE2ZjZiMDhmNmQ4MDg1ODA5NjhiYTAyMjU2ZDkwNzVkNDhhNDdkMC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwg
MApIY21WP2QwMDAwMQoKbGl0ZXJhbCAxMjAzMgp6Y21jZ3lZajdMYWItdWU7NUZraVZsMyVmRmNT
XnJ4KiROWTJMNHNpR3JVQyh3cHp0JlJsOUgyJXJBU3okTVVnWn0Kek4+LWY0Tn5WKF5vd1VnYE56
LUB5dERVfj5SQ1V3TlJER3FYYD4pZ0tZZFc0emBmP202YW9kQCtvdk5MJS0qQGo+Cno+fmFtSXMl
TyZXOURlKHFkKE9TKktLOTxiaStsTHVnPWc9SUA1aTIzTikwR1dlTX1YVTEwMFYyREt5fGl1U1BC
NAp6cFUyalkrUThSYDk9fDY3WSotSUg5QSRjWl9uN0NXKWMkd0hSQmk4S1dvelhFeWR4Xk51P3RN
N082TzglcXJLTWMKemJSMVJETj1HI3sjI0otRndZbDVmK0U2TzREIXUhSllPTyVJIUs/PDJ8SUdU
T2oqMnFSKilDJE5jNk9IKWN4IUxGCnooKj41VTVXVSMlUkdtdyFvbDdUe0hgYlNUSXk9WG94IW1k
UVVVXmktX3dQcVVOKT1tcWxgQUd3NUVxaCRqNilfTQp6OE9TNmczel5DbFElTU55UXRvdVEpb0FD
WVJqdlRQMHtqWl9FNU5TK3pYSlJVQEdIUXQwS1dxSzNoKm5XKy1BRjMKenRLezMyVHBvVVRffnFm
M2hoSDlrZEhDaHdteG9eLWV0RyFpUT5re1BQXmA/Zk4rYDNFbn0qKnN7SEViSTRabXNsCnpPflk+
KmUkKClxaFRuODUqPSlCOzx3a1lCbEI9e15qZUllbVlxVnl7JHJRd2VxI0AmdzJ9bE1xM0NUakhY
M0Q4Iwp6dHkoRiFAfEFNQUZ7I1JwRU15QU9ubENyVGZmSkFuQnYmWG1RYX40eWg5bl97TkBieXZX
fTgtOHZ1KSZzQD19TzMKemxgN31qeHpiIVNTMVEpWnJFK189SSR0V0RZVUhjc016UGpKZCUkPDAo
UU1fTGhfX09rRFV8QmY7KFNBPyNfVzhmCnpRay1jd1hHYHMzdClMM14jYWQmd1BAQWlANms0Uz9t
dldRVWBGMyVrVUt4WCZYdyg7KiRueSM0R21ZR1EzeiZzVwp6bTE/dDwoeTlDY2BZdjVyb1UxaDxg
Rmdke1lTJGFOKzF5O0NTI1FrTzNpWCswdCh+dG8mZVJjQ0JpQ3hyJSsoNnsKemBMLSQqRH4tOS1f
I18xUmpaZSpgQ1gkZDgjRCUwRzxCJG5SMV9IWVkqaUZETDFHXjBER08pfFFFKDV5Xj5AdSorCnp6
JUIjMzREMlJoSHduOCoqaUZLMjVfWGZZbn1wcFk+P1VEMTNBLSVwdmFyai1FKF5PWD82Uj1TIVkm
S0RFYk93ZAp6bkBYYlgoYSRPTGF8LT5PTE8tWF8mbmZoQzNqT1JOLTlgVm43IU5NJi0wXkNtd1RS
fGQpbllyPm5yfTJxWEJ5MnAKekg8XlZAJkFGKjBCbjVGSFh+O05hMCtOQURMU1VESW9lTWhgYn1z
QigqdHhLQ1ZkdWltZyZxM0NienpyPVReZT8yCnoqcmoyWWhGdXpWWTFwTTxteGYmJGNIXiljaHV0
e3IjJGgpT3lLJmYhIXcmdTdxQ1pecGhsfkRqKEh9MVEhJHA2JQp6PW5yPmRMTyhQNGwqXylaN0hq
aS1tUCR7eVhFX0VjKXBtfktwaC1sPGJDdWE5JDRhP0BNO3AmfFdxSjFycGJLMEMKenJoIUdeSUlz
enYwTWFmNEpPaThyJkk3WitJcDdxcSZTeExrITFLKWZhek4oUzB5NGg+a29uQzNuY3Btc2BJVWdv
Cno/LVk+dm00VkRwS21XaWRAdGlaQyg/STV2MlFyQHBBb0gwOUdNXmZkYEJjNjZKRlpyP0VeY3Bo
Yn57U2wjfFBDaQp6R058Z2M7IT5yIVBeQHNTLW4+RyFFZHJaQyluMlNpeH0mQnNrTHZrJFpUK2NU
NkBpXmlUaURTanA+bVoqREt9a2cKeiYqZVFeTjlDOGRjYklQWndrVWkrbTVYT0VtdzB2cVRyPHZm
eCl3Nmo8PlRMPVlMKF9AKzl4PFJKdi09Rl82YVQ9CnpDJXJnTkRzQDtqQD1GLUojaWp8P01MaiRw
WismbilkcT02R3c5blVUP1BrNT1kM2czUSltd3M0IUlMSClieUQzJQp6cFVPY2UmbkxLVURTSzNX
TXZZSk5XPExKOSRIdmsxUjw9NkNhIX4xVFQ7NXUkPzZ9eSopcmdNQ0h9Pk4zKT52ZzkKejUhKWxp
bUlHY2dfSEU1TjlFfWJyaGJ1ayQoPzt0PkVKcnpMdzdBTipuLSQjK2RmMT84ZCs2blhIcjhWeiZi
NHtlCnpqMSVkclFUNyRgKnpJb1VaZDAraXFZbFRCTmQpPUcqa081ZyNGUURhU3VYbDdoT3JpZjN9
OWFaI1ghdGF1XyREfgp6TEh8fGlgQ01oR0lFTXdvKUY7XkFJK2cqbVhHam01KmhjaloxZ2pMckJ4
MiFzKWlJQmY0VC1ITDI8XytyQUVVSngKenBUdy09TWYoaD9jQnh0UG99ZEZgP20hR3krXzdTKV5N
U1NuV3Brc3x0KGZJbExuPklDeDhgLVR3emJyMDY7cjIyCnpPJUplTXJgaEpaN2x1NSY/Z2NiQzt5
NUk2YUorZl8lcjxCSHF1RiYjUTRCe2Z1OSlwdTB9O28lRDtPVUpYIXUkRwp6LV5SZklFellRUVVw
ekR4TCshPFZVSzk7RmZTcTU9IWNHKkk0TlV8IXUrVUY3Pkoodn1QP3NuK3RPS1k9NEUxbUAKejdl
eW9Sdio4emtVaiUrT3szMjI3LVVEXmleV3hJWCt5WGtkby1jRlloYnwxPzE2UDxJTkRQcCRVNl5+
T3hCN2hqCnp6cVQjTSY4QGJyampsbDMrR3lLajJpbiNqS2ohaGhjezdMR0NkfEZJZGJ7fVRYPUJH
NGs/fFhSJlUpPEBjK1R8TAp6bHNVaX5xdSs2JHR5O3pFb1pudklkWkloPDlRKVZKX193Mjs3VXBG
PFZoODU2Z3FvPyglUX0za1dreHVeT0ZxSCYKel41JiZHMTk9OWZwMH57VEg9ODMoeyRAVDI9SWB+
I0o7RDZIYiN2PnNXKmdzWC03RSs1NEM9OzQodGpBaGRpfXQ+CnojV2ZjNW0zbHw4e09hODRWcXdX
X2tPSmorZCEoRHlHM3BHTXpDZEkpXlRvdEI5TClFJEFNPyVmMihIdD9IcSgxTwp6PGpaKjNXP1U7
Q1BfMUdFSkxxPENpTGFTVXhtc2FLQDdSSkpnIXNjXzZSTmtnOXJsaVZyPFhPJHRqayZoK1gmWnUK
ej47biQwb3lhc2UkS01nR1hRTUxUa19yMShgdzA2YntsUzhMKWY8UUN0PXteR3pPdkN6TX15QF40
fCEkdT5tT2FPCnpRUTZ4ZktZbHxBPyF9K091RlU9Pj5oZ3A4WGo5ZnVzbl87VlhMfSNwQmczQnUt
JCNBMXFgP3BmYH44biNRS0wxKwp6bF9UN3kwZURvbndnPi07X1ElTFc4fWZRMSNKe1kwcUw9PTlo
PHtie3A8ZXBlTGozRVI1QkpqRjREbVpPa0xqXz0KekB7ajhIdSFsd2J0aW8tPTg5KHskIVdscExo
dkAmfEt+Iy1RPlRtNUl0VXZnSGBoJEQqQTdGbSlrMj1PYkV9WS0yCnpjcU11cTE+cVZkaGQ7Knd1
YU89JV9BZkNXWXV9MmdlRlVNQFBseCNEZEt9SjN8QWBSKWIpUiFPUChLeW8qTG9jSgp6PE5DMT5m
NFJwXjElNW9sZjN3SDthVmhvYjVkVkNTcWFMe2JPbzshTSZuPjNeV1FoTlVhQmtzd3tZOzRlc1BL
ZWkKeiNfejklXyRQZz9yLW9rKUBsV3wmY2oyI3VfJTkyTyVncGppQV54SzlMNzh9ZEhwRzlgPEVB
XitYRzhvaWc/c1Y7CnptQ3RwS2U9VkgtJi1WRzc5I15gKFVLUUBPJilAZGFWVTA0cylaPHtfdWdt
IUk/NyFsMzlwTXszKlg0aUo9ZW04fgp6Pn5UfSFmQStjZHt9LVFZZ01hbjhfV3k/UExEUVk7LSta
cTl8Sn49PnwzN0BMe3JeKz1WZnI2WT5QQz17RCluRSYKekZ+aktte0BkcWgzOGw3IV85dkJrQ2N4
Pj80UkUmQ1BMTHlfLTV8I155QkZrVylKczgqXyR+K2VzOFlgY0kzTXtkCnowblJAOEshQ0ZXe3pD
WEw/c0A2Pyl0aXJDcHkkXkIqWW00ej1DOX0xME4zLVlhRihhJSo4dGJedDhqI2BeIXlzJgp6ZWBt
JU1UR3pDJV8wOU1aJlFGSyVhPj5pP2FvdjRiS2ZIOV5lT055e1pZSTJGa0RDUSFwdlVuZGp3e3lW
Y3RPViUKej97UEROMlljTCVzNj53XndFYSt6NHsxSyE8RUJMKTdYSHlqY2VaPE9NP0t7OCNyNGV7
Xj89N3VFTDY4dkpMKkE/CnpqflRBbDdpa34xZkw+cH41M0RjWHRVYzVKTiFsO01rMSVyQzQlMjxV
a00tREZLVmQ+VUVtKCMxPzslSWtfUjVMOQp6b2ZHU3VvISNVNVg5eGJ5Zlp0RzVhcjZBZmBwKCt1
QCVoJUhDVWZARXkoa2x9cCgrS3t7bWN5YXtBUDdoPylmcU8KekxBZjZYSnx5PU96PSEyTjEzV0FE
bGZZd2dwOU1aOV9meD4qYS1SZTsxZVBAaFQkMjBtMSloLW1JTzN3dlcpTGB2Cnp2NXRFeV8tKmVR
KmdqJEc1OWx2THg3YkpEZnYoc2AtLVdLKE42KzdqK0l7cj1IaEhGeGVoPDMmS0tnYSY9S0FRagp6
cHNWLU1aJHNCR2RpN3I1YjhgUUY7MTU5OVotPncoN1dUbVpWQXwrRntnK3tyR2Q+Nk9gMjQ5X2Vl
fG8pNzVlQygKemZeTWRke3ljUUVlZWBTNG1IT3pQaFZFMSFKJTUrdXd+VFBWOyoqJUY3YF4lKTtD
SVhZQmZ0bWJ7YC1MK2ZeZSRnCnp5dSkkd0tKWDdoIXVmcHd4K25ZU3BNPyZ1QjUkIUBmaUItaWUr
anlVS0tnVWVQNTA0bkxSYWdmelglO1ppMGhjJgp6MzRDMWMtdnhZKytgays2ZUd0fn4/QD5RfnA5
X0JmPFgkQnhfaGFze1ZaaytrXkV9N01zUD96QHlifGBtNHg2QkcKenRgNkokRV5MQ3JgOCNhJGQk
MCkjPWsmMTZANTNmMm9hZShmZSpsfUhhUEFNPXsyXj9EIXUyMypeOTklaGc9PDlFCno9OHM/IzZz
e1gjbj1pczlDfHBhekhoJkQ4cG0yUyR0UncxcT0tS3shLXs4Mzl6TCRHcC1nQSUzZUp9NjFwWERB
bQp6b0c8czhMRSpZV2QreHV2Qys5dSl5ND9UcnA4SWFAI2whaDxLTj1MU1NHNERRMF5jMlkmdnlk
OEMtOSM4ZjQmcCYKem9fa2c5VXdRdm9Bb3JANGJ5ZElmVk9aZlM1JDl0NmB3R1Z9JDFiMTBwTSEq
QmM/SkdLO28yTHZgNGlYI2gzaGYwCnoocnRONm15YjBeQElrPngxUm5yO3dtKzxPamB+TW54RDM3
bjFaQzg7aTUzMj5WO09kTExod3ZrIVFZO15yK09YMgp6eyFJdXIxZT0yTWY9PnZ4MVEhTHtmKHdF
eGc4TStQNCE3LWRFYTRxaEBPSHQrMWI7Xy1VVjtQcSRtO2h5KChTT2gKekFhPHdWJEcmN2duIWQh
RUZLT2RJUXw/S3tKKW1XcylPJGFjZV9tfFgxKW1iIS1qQ3x8ST5NaDN6OXtpczVXRmIzCnpDVSZR
VktQfGk/ezV5ZHIyQnFGRHgpWHgkN2tuO1leRnlNYDJ+Rz5YT1lsai1Gfk1FST1MUFEoT2JWdDJq
fG5+awp6Xnh9Q1o/JTglazNmdHUhcVBxaV82NVU7KnlBJFp5LTZ2YDk1IT9pTmBGPmIqY01JK2FF
e0toMV9wSW96MnkhM0EKejdgVFRidThIMzM4IXo5WT13fTNIMXh0YytLKENDP2lTOEUhVWxlPylY
TEQ3NXw2bmB0O3lUMGloUyEoJXtZaWIjCnpAbmQ4QkBjTyMrRzI0aTdkaExgS1VKeHRgez02WFRQ
a1lickd2TGdSSXpFQCl7bGBWYGFqI0UqTUV2ZytUb1FhLQp6QFRfMTQ9PXBsJUowZlllcGV1TXIm
PURMRWowJHBXR1FPX2hDaj43R3pFfCoqZn1heG5HKkRPUUNqWGN4RkF1JSoKelA5eENtPEYjaXtA
cHRWfXtuNjA2JTNxZXY3M2M1Uk15PjN0LVdNeHstd0RsR0NQfjcoZ2A9KkQ0fVdqSXhWXj1uCnoq
N15DYWNSOHhPeXQkMEl3NVE+SFlvcFdJIyYySCE2fnA8Ym8kYnloX21jPiVjajB7MDkpSXNRcXM2
RzlUaT9NKAp6WXBgZDxHT05xJCohLUVkR24wVGwmKVJiTHtRQm0zI19uSTxaPkZzSEBLeVBzaFVB
ITw/UVpSRGtNYlNuJntmKj0KekQ7eDh5WnRkLUtNJDRUbUowcWppPXVaVHdoZERQa2kxKClCK2Jn
TiQjR35xY3g1WjxhUWM8X1ZoJCpJRHVxTT5sCnpWYEZRYmpaMi1+Xl9BdFppPUVaPXleQ1lydkNY
YVMjcFI3TEI7cF90eytxd2Bvdm16a1ZybmRmbXsmVkhFOFg/Jgp6LVNzVyoyWnoqYlhTMzU/VWx+
UEY7OEFzTVZ8bkVRQGJjT144ZmllQz97PT1aTnJTMG1sKVNUdkNeViolQE5yYkYKei1veXNkIyk1
JUdTWTUtUDRaSClqZDt4Iz40dmY9YmUpPFAzS1loKCZJIT15WjxMJncxOVl9WHtJIX4+OXQ4fF9z
CnohfW17bzM/N2lxeCpPeTRabVZtI2lnRkU2VWVqcmUkdzgyZ2I9STB1bG90QF4zcCFyKjVxPERH
STZtOV48KCYkfAp6bGhOXztecUhUMkJUKFBoYmJXYysldW9NRCEyZTZ5emdqTkA+Tl5yaHpvR3FH
RiEyM2YzKmBUMkNMSmYoe1BkP0MKenpkYVk2N3dgPTZecUhVRDRkajFUbShTQmBlKT1gRWs+Nml1
UVU2TUBmY28+SjlVdTJNP05eV3xiaCE2KUY0ezQhCnpYNylCJCVzX2ZvVH57dzN4KCo4clJhXj1E
YVUkVmFMVWY2WnZ2akZmOzB8PWJpRHwpYyEzbTU8Pk5DUDgxKyMpdgp6Q093cmpKZTNtRWBTR2tB
aE0yezNkZXJsKjg8QSVzeDdVYHtJczNaRzQ4MHR8XkI0OHY4XkkwRktoWH43OEZoWEAKem9nWXhn
Mmh7TmFDJlcoMjJkPzctPmlCP0RDZiZyeGJDSlN6ZXRaSihvZXdSVXolTHNwN2lUM0NfPk97ZVFO
fEFFCnpzPGJgTVJTQkFNYWpyX1pESHJGZWdxdzE0dUY3eUo3dzBPND4tX2orVjZAdkcjaDU+WWF5
aGFTRHIpMldsKEVENAp6RHtZVlNTQXdRb29XQnhvJUVrRkI7aWc9aXpjTzZQI2tvdiFLQj5lNDF7
Qk5WbGFqIVIwLWtAPV9CZ0w4WHYpUVQKekUjYW5Jb1l4WD0lRWZzdDtpZz1pPVFQfXUlT0A/TlZ6
d1JPY3RtK1BKQmQ0Kz1oK2YhKEJecWhCRn10Y09qPG5WCnpMKFgkPE00b311VD5BfiRGOyFlJC1f
X0dRIyFQYSFVfnxrMkk+O0xSbUI0ZD1aem5pd2k1UDYyJHQzYmpDWHMjMQp6YmVfV2A9bE0qTlVP
LXZPRjJJNWgyaFZZbUdpS1dKSmZ9e19TeHpGKWJgbyhHdGFEfDFkRyh6QTspb3EjOUVzbDgKeldr
NVdhTjt7cXZIQ1JQbSRYZ20yNUFBcXY2PyUoalJ9REBIPF9aWmx0ajdsOTtDV1YpSnxVUlYkaTZp
QnEoc2xCCnpwWlRRKWktPnp6Kk18IX1YUDwtYExWN2B1MSlLcnZ0VHZXNko2S0M/XntWPTlKT0J8
NjRxVS1+ZnJHakNZYT04MAp6ck97bCR5QFg/VHQ9QTZ3WTJrZj82WHt4UzlQIWhLeXxkUHA8I1F9
STtAblZRSylHTDN0MiVSQ1pvPlN3YEY3WFIKekx3Y3tuSldMXng9blp4S0Z6UkhQR0VEcllraGZk
TDtsTnBNc2Z2bVcrKSRzIzxvWW93JDc+NnpqKFdSZ2FjO284Ck1ra3NkfmJJSWlZMDgzSzAyPjx7
OQoKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaCBiL1Rv
b2xzL2ZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3
NTUKaW5kZXggMWMwYzQ4MzA1MWZiZGY4NjA0Yjk0NGE2MzUxMWM0ZTEyMWVhZWY0ZC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL2Zp
bGVzL2h0dHBkLWF1dG9nZW4uc2gKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLWF1dG9t
YWtlIC0tYWRkLW1pc3NpbmcKLWF1dG9yZWNvbmYgLS1pbnN0YWxsCmRpZmYgLS1naXQgYS9Ub29s
cy9mbGF0cGFrL2ZsYXRwYWt1dGlscy5weSBiL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5
CmluZGV4IDg5ZWJjNjczMTBjMWQ1Yjg0YzkwY2Y1NDA3Zjk0MGMwMWIwNWVlZTYuLjgyNDAzNGZm
ZWZhYWFmMGJmMzUxMGI4ZjNkOTAxNWRkNWZjMGJiOTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2ZsYXRw
YWsvZmxhdHBha3V0aWxzLnB5CisrKyBiL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5CkBA
IC00OSwxNSArNDksMTAgQEAgZXhjZXB0IEltcG9ydEVycm9yOgogCiBGTEFUUEFLX1JFUSA9IFsK
ICAgICAoImZsYXRwYWsiLCAiMC4xMC4wIiksCi0gICAgKCJmbGF0cGFrLWJ1aWxkZXIiLCAiMC4x
MC4wIiksCiBdCiAKIEZMQVRQQUtfVkVSU0lPTiA9IHt9CiAKLVdQRV9NQU5JRkVTVF9NQVAgPSB7
Ci0gICAgInF0IjogIm9yZy53ZWJraXQuV1BFUVQueWFtbCIsCi19Ci0KIHNjcmlwdGRpciA9IG9z
LnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pKQogX2xvZyA9IGxvZ2dpbmcu
Z2V0TG9nZ2VyKF9fbmFtZV9fKQogCkBAIC0xMjMsMTMyICsxMTgsNiBAQCBkZWYgY2hlY2tfZmxh
dHBhayh2ZXJib3NlPVRydWUpOgogICAgIHJldHVybiBUcnVlCiAKIAotZGVmIHJlbW92ZV9leHRl
bnNpb25fcG9pbnRzKGFycmF5KToKLSAgICByZXN1bHRfYXJncyA9IFtdCi0gICAgZm9yIGFyZyBp
biBhcnJheToKLSAgICAgICAgaWYobm90IGFyZy5zdGFydHN3aXRoKCctLWV4dGVuc2lvbicpKToK
LSAgICAgICAgICAgIHJlc3VsdF9hcmdzLmFwcGVuZChhcmcpCi0gICAgcmV0dXJuIHJlc3VsdF9h
cmdzCi0KLQotZGVmIHJlbW92ZV9jb21tZW50cyhzdHJpbmcpOgotICAgIHBhdHRlcm4gPSByIihc
Ii4qP1wifFwnLio/XCcpfCgvXCouKj9cKi98Ly9bXlxyXG5dKiQpIgotICAgICMgZmlyc3QgZ3Jv
dXAgY2FwdHVyZXMgcXVvdGVkIHN0cmluZ3MgKGRvdWJsZSBvciBzaW5nbGUpCi0gICAgIyBzZWNv
bmQgZ3JvdXAgY2FwdHVyZXMgY29tbWVudHMgKC8vc2luZ2xlLWxpbmUgb3IgLyogbXVsdGktbGlu
ZSAqLykKLSAgICByZWdleCA9IHJlLmNvbXBpbGUocGF0dGVybiwgcmUuTVVMVElMSU5FIHwgcmUu
RE9UQUxMKQotCi0gICAgZGVmIF9yZXBsYWNlcihtYXRjaCk6Ci0gICAgICAgICMgaWYgdGhlIDJu
ZCBncm91cCAoY2FwdHVyaW5nIGNvbW1lbnRzKSBpcyBub3QgTm9uZSwKLSAgICAgICAgIyBpdCBt
ZWFucyB3ZSBoYXZlIGNhcHR1cmVkIGEgbm9uLXF1b3RlZCAocmVhbCkgY29tbWVudCBzdHJpbmcu
Ci0gICAgICAgIGlmIG1hdGNoLmdyb3VwKDIpIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcmV0
dXJuICIiICAjIHNvIHdlIHdpbGwgcmV0dXJuIGVtcHR5IHRvIHJlbW92ZSB0aGUgY29tbWVudAot
ICAgICAgICBlbHNlOiAgIyBvdGhlcndpc2UsIHdlIHdpbGwgcmV0dXJuIHRoZSAxc3QgZ3JvdXAK
LSAgICAgICAgICAgIHJldHVybiBtYXRjaC5ncm91cCgxKSAgIyBjYXB0dXJlZCBxdW90ZWQtc3Ry
aW5nCi0gICAgcmV0dXJuIHJlZ2V4LnN1YihfcmVwbGFjZXIsIHN0cmluZykKLQotCi1kZWYgbG9h
ZF9tYW5pZmVzdChtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWU9Tm9uZSwgY29tbWFuZD1Ob25lKToK
LSAgICBpc195YW1sID0gbWFuaWZlc3RfcGF0aC5lbmRzd2l0aCgnLnlhbWwnKQotICAgIHdpdGgg
b3BlbihtYW5pZmVzdF9wYXRoLCAiciIpIGFzIG1yOgotICAgICAgICBjb250ZW50cyA9IG1yLnJl
YWQoKQotCi0gICAgICAgIGNvbnRlbnRzID0gY29udGVudHMgJSB7IkNPTU1BTkQiOiBjb21tYW5k
LCAiUE9SVE5BTUUiOiBwb3J0X25hbWV9Ci0gICAgICAgIGlmIGlzX3lhbWw6Ci0gICAgICAgICAg
ICBpbXBvcnQgeWFtbAotICAgICAgICAgICAgeWFtbF9sb2FkID0gZ2V0YXR0cih5YW1sLCAic2Fm
ZV9sb2FkIiwgeWFtbC5sb2FkKQotICAgICAgICAgICAgbWFuaWZlc3QgPSB5YW1sX2xvYWQoY29u
dGVudHMpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBjb250ZW50cyA9IHJlbW92ZV9jb21t
ZW50cyhjb250ZW50cykKLSAgICAgICAgICAgIG1hbmlmZXN0ID0ganNvbi5sb2Fkcyhjb250ZW50
cykKLQotICAgIHJldHVybiBtYW5pZmVzdAotCi0KLWRlZiBleHBhbmRfc3VibW9kdWxlc19yZWN1
cnNlKG1vZHVsZXMsIG1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCk6Ci0gICAgYWxs
X21vZHVsZXMgPSBbXQotICAgIGlmIHR5cGUobW9kdWxlcykgaXMgc3RyOgotICAgICAgICBzdWJt
YW5pZmVzdF9wYXRoID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShtYW5pZmVzdF9wYXRo
KSwgbW9kdWxlcykKLSAgICAgICAgc3VibWFuaWZlc3QgPSBsb2FkX21hbmlmZXN0KHN1Ym1hbmlm
ZXN0X3BhdGgsIHBvcnRfbmFtZT1wb3J0X25hbWUsIGNvbW1hbmQ9Y29tbWFuZCkKLSAgICAgICAg
YWxsX21vZHVsZXMuZXh0ZW5kKGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2Uoc3VibWFuaWZlc3Qs
IHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCkpCi0gICAgICAgIHJldHVybiBh
bGxfbW9kdWxlcwotCi0gICAgIyBUaGUgbGFzdCByZWN1cnNlIG1hbmlmZXN0IGV4cGFuZCBpdGVy
YXRpb24gbWlnaHQgbGVhZCB0byBhIHNpbmdsZSBtb2R1bGUuCi0gICAgaWYgbm90IGlzaW5zdGFu
Y2UobW9kdWxlcywgbGlzdCk6Ci0gICAgICAgIGFsbF9tb2R1bGVzLmFwcGVuZChtb2R1bGVzKQot
ICAgICAgICByZXR1cm4gYWxsX21vZHVsZXMKLQotICAgIGZvciBtb2R1bGUgaW4gbW9kdWxlczoK
LSAgICAgICAgaWYgdHlwZShtb2R1bGUpIGlzIHN0cjoKLSAgICAgICAgICAgIHN1Ym1hbmlmZXN0
X3BhdGggPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKG1hbmlmZXN0X3BhdGgpLCBtb2R1
bGUpCi0gICAgICAgICAgICBzdWJtYW5pZmVzdCA9IGxvYWRfbWFuaWZlc3Qoc3VibWFuaWZlc3Rf
cGF0aCwgcG9ydF9uYW1lPXBvcnRfbmFtZSwgY29tbWFuZD1jb21tYW5kKQotICAgICAgICAgICAg
YWxsX21vZHVsZXMuZXh0ZW5kKGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2Uoc3VibWFuaWZlc3Qs
IHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCkpCi0gICAgICAgIGVsc2U6Ci0g
ICAgICAgICAgICBhbGxfbW9kdWxlcy5hcHBlbmQobW9kdWxlKQotCi0gICAgcmV0dXJuIGFsbF9t
b2R1bGVzCi0KLWRlZiBleHBhbmRfbWFuaWZlc3QobWFuaWZlc3RfcGF0aCwgb3V0ZmlsZSwgcG9y
dF9uYW1lLCBzb3VyY2Vfcm9vdCwgY29tbWFuZCk6Ci0gICAgIiIiQ3JlYXRlcyB0aGUgbWFuaWZl
c3QgZmlsZS4iIiIKLSAgICB0cnk6Ci0gICAgICAgIG9zLnJlbW92ZShvdXRmaWxlKQotICAgIGV4
Y2VwdCBPU0Vycm9yOgotICAgICAgICBwYXNzCi0KLSAgICBtYW5pZmVzdCA9IGxvYWRfbWFuaWZl
c3QobWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lPXBvcnRfbmFtZSwgY29tbWFuZD1jb21tYW5kKQot
ICAgIGlmIG5vdCBtYW5pZmVzdDoKLSAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICBpZiAic2Rr
LWhhc2giIGluIG1hbmlmZXN0OgotICAgICAgICBkZWwgbWFuaWZlc3RbInNkay1oYXNoIl0KLSAg
ICBpZiAicnVudGltZS1oYXNoIiBpbiBtYW5pZmVzdDoKLSAgICAgICAgZGVsIG1hbmlmZXN0WyJy
dW50aW1lLWhhc2giXQotCi0gICAgYWxsX21vZHVsZXMgPSBbXQotCi0gICAgb3ZlcnJpZGVuX21v
ZHVsZXMgPSBbXQotICAgIGlmICJXRUJLSVRfRVhUUkFfTU9EVUxFU0VUUyIgaW4gb3MuZW52aXJv
bjoKLSAgICAgICAgb3ZlcnJpZGVuX21vZHVsZXMgPSBsb2FkX21hbmlmZXN0KG9zLmVudmlyb25b
IldFQktJVF9FWFRSQV9NT0RVTEVTRVRTIl0pCi0gICAgICAgIGlmIG5vdCBvdmVycmlkZW5fbW9k
dWxlczoKLSAgICAgICAgICAgIG92ZXJyaWRlbl9tb2R1bGVzID0gW10KLSAgICBmb3IgbW9kdWxl
cyBpbiBtYW5pZmVzdFsibW9kdWxlcyJdOgotICAgICAgICBtb2R1bGVzID0gZXhwYW5kX3N1Ym1v
ZHVsZXNfcmVjdXJzZShtb2R1bGVzLCBtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWUsIGNvbW1hbmQp
Ci0KLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UobW9kdWxlcywgbGlzdCk6Ci0gICAgICAgICAg
ICBtb2R1bGVzID0gW21vZHVsZXNdCi0KLSAgICAgICAgZm9yIG1vZHVsZSBpbiBtb2R1bGVzOgot
ICAgICAgICAgICAgZm9yIG92ZXJyaWRlbl9tb2R1bGUgaW4gb3ZlcnJpZGVuX21vZHVsZXM6Ci0g
ICAgICAgICAgICAgICAgaWYgbW9kdWxlWyduYW1lJ10gPT0gb3ZlcnJpZGVuX21vZHVsZVsnbmFt
ZSddOgotICAgICAgICAgICAgICAgICAgICBtb2R1bGUgPSBvdmVycmlkZW5fbW9kdWxlCi0gICAg
ICAgICAgICAgICAgICAgIG92ZXJyaWRlbl9tb2R1bGVzLnJlbW92ZShtb2R1bGUpCi0gICAgICAg
ICAgICAgICAgICAgIGJyZWFrCi0KLSAgICAgICAgICAgIGFsbF9tb2R1bGVzLmFwcGVuZChtb2R1
bGUpCi0KLSAgICAjIEFuZCBhZGQgb3ZlcnJpZGVuIG1vZHVsZXMgcmlnaHQgYmVmb3JlIHRoZSB3
ZWJraXQgcG9ydCBidWlsZCBkZWYuCi0gICAgZm9yIG92ZXJyaWRlbl9tb2R1bGUgaW4gb3ZlcnJp
ZGVuX21vZHVsZXM6Ci0gICAgICAgIGFsbF9tb2R1bGVzLmluc2VydCgtMSwgb3ZlcnJpZGVuX21v
ZHVsZSkKLQotICAgIG1hbmlmZXN0WyJtb2R1bGVzIl0gPSBhbGxfbW9kdWxlcwotICAgIGZvciBt
b2R1bGUgaW4gbWFuaWZlc3RbIm1vZHVsZXMiXToKLSAgICAgICAgaWYgbm90IG1vZHVsZS5nZXQo
InNvdXJjZXMiKToKLSAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgaWYgbW9kdWxlWyJz
b3VyY2VzIl1bMF1bInR5cGUiXSA9PSAiZ2l0IjoKLSAgICAgICAgICAgIGlmIHBvcnRfbmFtZSA9
PSBtb2R1bGVbIm5hbWUiXToKLSAgICAgICAgICAgICAgICByZXBvID0gImZpbGU6Ly8iICsgc291
cmNlX3Jvb3QKLSAgICAgICAgICAgICAgICBtb2R1bGVbInNvdXJjZXMiXVswXVsidXJsIl0gPSBy
ZXBvCi0KLSAgICAgICAgZm9yIHNvdXJjZSBpbiBtb2R1bGVbInNvdXJjZXMiXToKLSAgICAgICAg
ICAgIGlmIHNvdXJjZVsidHlwZSJdID09ICJwYXRjaCIgb3IgKHNvdXJjZVsidHlwZSJdID09ICJm
aWxlIiBhbmQgc291cmNlLmdldCgncGF0aCcpKToKLSAgICAgICAgICAgICAgICBzb3VyY2VbInBh
dGgiXSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUobWFuaWZlc3RfcGF0aCksIHNvdXJj
ZVsicGF0aCJdKQotCi0gICAgd2l0aCBvcGVuKG91dGZpbGUsICJ3IikgYXMgb2Y6Ci0gICAgICAg
IG9mLndyaXRlKGpzb24uZHVtcHMobWFuaWZlc3QsIGluZGVudD00KSkKLQotICAgIHJldHVybiBU
cnVlCi0KLQogY2xhc3MgRmxhdHBha09iamVjdDoKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB1
c2VyKToKQEAgLTI4NCw3ICsxNTMsNiBAQCBjbGFzcyBGbGF0cGFrUGFja2FnZXMoRmxhdHBha09i
amVjdCk6CiAgICAgICAgIHNlbGYuYXBwcyA9IHNlbGYuX19kZXRlY3RfYXBwcygpCiAgICAgICAg
IHNlbGYucGFja2FnZXMgPSBzZWxmLnJ1bnRpbWVzICsgc2VsZi5hcHBzCiAKLQogICAgIGRlZiBf
X2RldGVjdF9wYWNrYWdlcyhzZWxmLCAqYXJncyk6CiAgICAgICAgIHBhY2tzID0gW10KICAgICAg
ICAgaWYgRkxBVFBBS19WRVJTSU9OWyJmbGF0cGFrIl0gPCAoMSwgMSwgMik6CkBAIC0zMTIsNyAr
MTgwLDYgQEAgY2xhc3MgRmxhdHBha1BhY2thZ2VzKEZsYXRwYWtPYmplY3QpOgogCiAgICAgICAg
IHJldHVybiBwYWNrcwogCi0KICAgICBkZWYgX19kZXRlY3RfcnVudGltZXMoc2VsZik6CiAgICAg
ICAgIHJldHVybiBzZWxmLl9fZGV0ZWN0X3BhY2thZ2VzKCItLXJ1bnRpbWUiKQogCkBAIC0zNjIs
NyArMjI5LDcgQEAgY2xhc3MgRmxhdHBha1JlcG9zKEZsYXRwYWtPYmplY3QpOgogICAgICAgICAg
ICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIk5vIHZhbGlkIFVSSSBmb3VuZCBmb3I6ICVzIiwg
cmVwbykKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKIAotICAgICAgICAgICAgICAgIHNl
bGYucmVwb3NbbmFtZV0gPSBGbGF0cGFrUmVwbyhuYW1lLCB1cmwsIGRlc2MsIHJlcG9zPXNlbGYp
CisgICAgICAgICAgICAgICAgc2VsZi5yZXBvc1tuYW1lXSA9IEZsYXRwYWtSZXBvKG5hbWU9bmFt
ZSwgdXJsPXVybCwgZGVzYz1kZXNjLCByZXBvcz1zZWxmKQogICAgICAgICBlbHNlOgogICAgICAg
ICAgICAgb3V0ID0gc2VsZi5mbGF0cGFrKCJyZW1vdGUtbGlzdCIsICItLWNvbHVtbnM9bmFtZSx0
aXRsZSx1cmwiKQogICAgICAgICAgICAgcmVtb3RlcyA9IFtsaW5lIGZvciBsaW5lIGluIG91dC5z
cGxpdCgiXG4iKSBpZiBsaW5lXQpAQCAtMzczLDcgKzI0MCw3IEBAIGNsYXNzIEZsYXRwYWtSZXBv
cyhGbGF0cGFrT2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJO
byB2YWxpZCBVUkkgZm91bmQgZm9yOiAlcyIsIHJlbW90ZSkKICAgICAgICAgICAgICAgICAgICAg
Y29udGludWUKIAotICAgICAgICAgICAgICAgIHNlbGYucmVwb3NbbmFtZV0gPSBGbGF0cGFrUmVw
byhuYW1lLCB1cmwsIHRpdGxlLCByZXBvcz1zZWxmKQorICAgICAgICAgICAgICAgIHNlbGYucmVw
b3NbbmFtZV0gPSBGbGF0cGFrUmVwbyhuYW1lPW5hbWUsIHVybD11cmwsIGRlc2M9dGl0bGUsIHJl
cG9zPXNlbGYpCiAKICAgICAgICAgc2VsZi5wYWNrYWdlcyA9IEZsYXRwYWtQYWNrYWdlcyhzZWxm
KQogCkBAIC00NDksOSArMzE2LDEyIEBAIGNsYXNzIEZsYXRwYWtQYWNrYWdlKEZsYXRwYWtPYmpl
Y3QpOgogICAgICAgICBzZWxmLmFyY2ggPSBhcmNoCiAgICAgICAgIHNlbGYuaGFzaCA9IGhhc2gK
IAotICAgIGRlZiBfX3N0cl9fKHNlbGYpOgorICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAg
ICAgcmV0dXJuICIlcy8lcy8lcyAlcyIgJSAoc2VsZi5uYW1lLCBzZWxmLmFyY2gsIHNlbGYuYnJh
bmNoLCBzZWxmLnJlcG8ubmFtZSkKIAorICAgIGRlZiBfX3N0cl9fKHNlbGYpOgorICAgICAgICBy
ZXR1cm4gIiVzLyVzLyVzIiAlIChzZWxmLm5hbWUsIHNlbGYuYXJjaCwgc2VsZi5icmFuY2gpCisK
ICAgICBkZWYgaXNfaW5zdGFsbGVkKHNlbGYsIGJyYW5jaCk6CiAgICAgICAgIGlmIG5vdCBzZWxm
LnJlcG86CiAgICAgICAgICAgICAjIEJ1bmRsZSBpbnN0YWxsZWQgZnJvbSBmaWxlCkBAIC00OTEs
NyArMzYxLDcgQEAgY2xhc3MgRmxhdHBha1BhY2thZ2UoRmxhdHBha09iamVjdCk6CiAgICAgICAg
IGV4dHJhX2FyZ3MuYXBwZW5kKCItLWFzc3VtZXllcyIpCiAKICAgICAgICAgc2VsZi5mbGF0cGFr
KCJ1cGRhdGUiLCBzZWxmLm5hbWUsIHNlbGYuYnJhbmNoLCBzaG93X291dHB1dD1UcnVlLAotICAg
ICAgICAgICAgICAgICAgICAqZXh0cmFfYXJncywgY29tbWVudD1jb21tZW50KQorICAgICAgICAg
ICAgICAgICAgICAgKmV4dHJhX2FyZ3MsIGNvbW1lbnQ9Y29tbWVudCkKIAogCiBAY29udGV4dG1h
bmFnZXIKQEAgLTUxOSw1MSArMzg5LDUyIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAg
IGdlbmVyYWwuYWRkX2FyZ3VtZW50KCctLXZlcmJvc2UnLCBhY3Rpb249J3N0b3JlX3RydWUnLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdTaG93IGRlYnVnIG1lc3NhZ2UnKQog
ICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLS1kZWJ1ZyIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaGVscD0iQ29tcGlsZSB3aXRoIERlYnVnIGNvbmZpZ3VyYXRpb24sIGFsc28g
aW5zdGFsbHMgU2RrIGRlYnVnIHN5bWJvbGVzLiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYWN0aW9uPSJzdG9yZV90cnVlIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVs
cD0iQ29tcGlsZSB3aXRoIERlYnVnIGNvbmZpZ3VyYXRpb24sIGFsc28gaW5zdGFsbHMgU2RrIGRl
YnVnIHN5bWJvbGVzLiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3Rv
cmVfdHJ1ZSIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLXJlbGVhc2UiLCBoZWxw
PSJDb21waWxlIHdpdGggUmVsZWFzZSBjb25maWd1cmF0aW9uLiIsIGFjdGlvbj0ic3RvcmVfdHJ1
ZSIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCctLXBsYXRmb3JtJywgYWN0aW9uPSdz
dG9yZScsIGhlbHA9J1BsYXRmb3JtIHRvIHVzZSAoZS5nLiwgIm1hYy1saW9uIiknKSwKICAgICAg
ICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoJy0tZ3RrJywgYWN0aW9uPSdzdG9yZV9jb25zdCcsIGRl
c3Q9J3BsYXRmb3JtJywgY29uc3Q9J2d0aycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGhlbHA9J0FsaWFzIGZvciAtLXBsYXRmb3JtPWd0aycpCiAgICAgICAgIGdlbmVyYWwuYWRkX2Fy
Z3VtZW50KCctLXdwZScsIGFjdGlvbj0nc3RvcmVfY29uc3QnLCBkZXN0PSdwbGF0Zm9ybScsIGNv
bnN0PSd3cGUnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9KCdBbGlhcyBmb3Ig
LS1wbGF0Zm9ybT13cGUnKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0oJ0Fs
aWFzIGZvciAtLXBsYXRmb3JtPXdwZScpKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgi
LW5mIiwgIi0tbm8tZmxhdHBhay11cGRhdGUiLCBkZXN0PSJub19mbGF0cGFrX3VwZGF0ZSIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBoZWxwPSJEbyBub3QgdXBkYXRlIGZsYXB0YWsgcnVudGltZS9z
ZGsiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJEbyBub3QgdXBkYXRlIGZsYXB0YWsg
cnVudGltZS9zZGsiKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLXUiLCAiLS11cGRh
dGUiLCBkZXN0PSJ1cGRhdGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0i
c3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iVXBkYXRlIHRo
ZSBydW50aW1lL3Nkay9hcHAgYW5kIHJlYnVpbGQgdGhlIGRldmVsb3BtZW50IGVudmlyb25tZW50
IGlmIG5lZWRlZCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVf
dHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlVwZGF0ZSB0aGUgcnVu
dGltZS9zZGsvYXBwIGFuZCByZWJ1aWxkIHRoZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCBpZiBu
ZWVkZWQiKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLWIiLCAiLS1idWlsZC13ZWJr
aXQiLCBkZXN0PSJidWlsZF93ZWJraXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFj
dGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRm9y
Y2UgcmVidWlsZGluZyB0aGUgYXBwLiIpCi0gICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCIt
YmEiLCAiLS1idWlsZC1hbGwiLCBkZXN0PSJidWlsZF9hbGwiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaGVscD0iRm9yY2UgcmVidWlsZGluZyB0aGUgYXBwIGFuZCBpdHMgZGVwZW5kZW5jaWVzLiIp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkZvcmNlIHJlYnVpbGRpbmcgdGhlIGFwcC4i
KQorICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLWJnc3QiLCAiLS1idWlsZC1nc3QiLCBk
ZXN0PSJidWlsZF9nc3QiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0
b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJGb3JjZSByZWJ1
aWxkaW5nIGdzdC1idWlsZCwgcmVwb3NpdG9yeSBwYXRoIGlzIGRlZmluZWQgYnkgdGhlIGBHU1Rf
QlVJTERfUEFUSGAgZW52aXJvbm1lbnQgdmFyaWFibGUuIikKICAgICAgICAgZ2VuZXJhbC5hZGRf
YXJndW1lbnQoIi1xIiwgIi0tcXVpZXQiLCBkZXN0PSJxdWlldCIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBoZWxwPSJEbyBub3QgcHJpbnQgYW55dGhpbmciKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSJEbyBub3QgcHJpbnQgYW55dGhpbmciKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1
bWVudCgiLXQiLCAiLS10ZXN0cyIsIGRlc3Q9InJ1bl90ZXN0cyIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbmFyZ3M9YXJncGFyc2UuUkVNQUlOREVSLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGhlbHA9IlJ1biBMYXlvdXRUZXN0cyIpCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG5hcmdzPWFyZ3BhcnNlLlJFTUFJTkRFUiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0iUnVuIExheW91dFRlc3RzIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1l
bnQoIi1jIiwgIi0tY29tbWFuZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFyZ3M9
YXJncGFyc2UuUkVNQUlOREVSLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlRo
ZSBjb21tYW5kIHRvIHJ1biBpbiB0aGUgc2FuZGJveCIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGVzdD0idXNlcl9jb21tYW5kIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bmFyZ3M9YXJncGFyc2UuUkVNQUlOREVSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBo
ZWxwPSJUaGUgY29tbWFuZCB0byBydW4gaW4gdGhlIHNhbmRib3giLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkZXN0PSJ1c2VyX2NvbW1hbmQiKQogICAgICAgICBnZW5lcmFsLmFkZF9h
cmd1bWVudCgnLS1hdmFpbGFibGUnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZXN0PSJjaGVja19h
dmFpbGFibGUiLCBoZWxwPSdDaGVjayBpZiByZXF1aXJlZCBkZXBlbmRlbmNpZXMgYXJlIGF2YWls
YWJsZS4nKSwKLSAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi0tdXNlLWljZWNyZWFtIiwg
aGVscD0iVXNlIHRoZSBkaXN0cmlidXRlZCBpY2VjcmVhbSAoaWNlY2MpIGNvbXBpbGVyLiIsIGFj
dGlvbj0ic3RvcmVfdHJ1ZSIpCi0gICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLXdwZS1l
eHRlbnNpb24iLCBhY3Rpb249InN0b3JlIiwgZGVzdD0id3BlX2V4dGVuc2lvbiIsIGhlbHA9IldQ
RSBFeHRlbnNpb24gdG8gZW5hYmxlIikKKyAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi0t
dXNlLWljZWNyZWFtIiwgZGVzdD0idXNlX2ljZWNyZWFtIiwgaGVscD0iVXNlIHRoZSBkaXN0cmli
dXRlZCBpY2VjcmVhbSAoaWNlY2MpIGNvbXBpbGVyLiIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIpCiAK
ICAgICAgICAgZGVidWdvcHRpb25zID0gcGFyc2VyLmFkZF9hcmd1bWVudF9ncm91cCgiRGVidWdn
aW5nIikKICAgICAgICAgZGVidWdvcHRpb25zLmFkZF9hcmd1bWVudCgiLS1nZGIiLCBuYXJncz0i
PyIsIGhlbHA9IkFjdGl2YXRlIGdkYiwgcGFzc2luZyBleHRyYSBhcmdzIHRvIGl0IGlmIHdhbnRl
ZC4iKQorICAgICAgICBkZWJ1Z29wdGlvbnMuYWRkX2FyZ3VtZW50KCItLWdkYi1zdGFjay10cmFj
ZSIsIGRlc3Q9ImdkYl9zdGFja190cmFjZSIsIG5hcmdzPSI/IiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoZWxwPSJEdW1wIHRoZSBzdGFja3RyYWNlIHRvIHN0ZG91dC4gVGhl
IGFyZ3VtZW50IGlzIGEgdGltZXN0YW1wIHRvIGJlIHBhcnNlZCBieSBjb3JlZHVtcGN0bC4iKQog
ICAgICAgICBkZWJ1Z29wdGlvbnMuYWRkX2FyZ3VtZW50KCItbSIsICItLWNvcmVkdW1wY3RsLW1h
dGNoZXMiLCBkZWZhdWx0PSIiLCBoZWxwPSdBcmd1bWVudHMgdG8gcGFzcyB0byBnZGIuJykKIAog
ICAgICAgICBidWlsZG9wdGlvbnMgPSBwYXJzZXIuYWRkX2FyZ3VtZW50X2dyb3VwKCJFeHRyYSBi
dWlsZCBhcmd1bWVudHMiKQogICAgICAgICBidWlsZG9wdGlvbnMuYWRkX2FyZ3VtZW50KCItLW1h
a2VhcmdzIiwgaGVscD0iT3B0aW9uYWwgTWFrZWZpbGUgZmxhZ3MiKQogICAgICAgICBidWlsZG9w
dGlvbnMuYWRkX2FyZ3VtZW50KCItLWNtYWtlYXJncyIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGhlbHA9Ik9uZSBvciBtb3JlIG9wdGlvbmFsIENNYWtlIGZsYWdzIChlLmcuIC0t
Y21ha2VhcmdzPVwiLURGT089YmFyIC1EQ01BS0VfUFJFRklYX1BBVEg9L3Vzci9sb2NhbFwiKSIp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iT25lIG9yIG1vcmUgb3B0
aW9uYWwgQ01ha2UgZmxhZ3MgKGUuZy4gLS1jbWFrZWFyZ3M9XCItREZPTz1iYXIgLURDTUFLRV9Q
UkVGSVhfUEFUSD0vdXNyL2xvY2FsXCIpIikKIAogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVu
dCgiLS1jbGVhbiIsIGRlc3Q9ImNsZWFuIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAg
ICAgIGhlbHA9IkNsZWFuIHByZXZpb3VzIGJ1aWxkcyBhbmQgcmVzdGFydCBmcm9tIHNjcmF0Y2gi
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJDbGVhbiBwcmV2aW91cyBidWls
ZHMgYW5kIHJlc3RhcnQgZnJvbSBzY3JhdGNoIikKIAogICAgICAgICBfLCBzZWxmLmFyZ3MgPSBw
YXJzZXIucGFyc2Vfa25vd25fYXJncyhhcmdzPWFyZ3MsIG5hbWVzcGFjZT1zZWxmKQogCkBAIC01
ODMsNiArNDU0LDcgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgc2VsZi51cGRhdGUg
PSBGYWxzZQogICAgICAgICBzZWxmLmFyZ3MgPSBbXQogICAgICAgICBzZWxmLmZpbmlzaF9hcmdz
ID0gTm9uZQorICAgICAgICBzZWxmLmdkYl9zdGFja190cmFjZSA9IEZhbHNlCiAKICAgICAgICAg
c2VsZi5ub19mbGF0cGFrX3VwZGF0ZSA9IEZhbHNlCiAgICAgICAgIHNlbGYucmVsZWFzZSA9IEZh
bHNlCkBAIC01OTQsOSArNDY2LDEwIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgIHNl
bGYuc2FuZGJveF9zb3VyY2Vfcm9vdCA9ICIvYXBwL3dlYmtpdCIKIAogICAgICAgICBzZWxmLmJ1
aWxkX3dlYmtpdCA9IEZhbHNlCisgICAgICAgIHNlbGYuYnVpbGRfZ3N0ID0gRmFsc2UKICAgICAg
ICAgc2VsZi5idWlsZF9hbGwgPSBGYWxzZQogCi0gICAgICAgIHNlbGYuc2RrX2JyYW5jaCA9IE5v
bmUKKyAgICAgICAgc2VsZi5zZGtfYnJhbmNoID0gIjAuMSIKICAgICAgICAgc2VsZi5wbGF0Zm9y
bSA9ICJndGsiCiAgICAgICAgIHNlbGYuYnVpbGRfdHlwZSA9ICJSZWxlYXNlIgogICAgICAgICBz
ZWxmLm1hbmlmZXN0X3BhdGggPSBOb25lCkBAIC02MDcsNyArNDgwLDYgQEAgY2xhc3MgV2Via2l0
RmxhdHBhazoKICAgICAgICAgc2VsZi5hcHBfbW9kdWxlID0gTm9uZQogICAgICAgICBzZWxmLmZs
YXRwYWtfZGVmYXVsdF9hcmdzID0gW10KICAgICAgICAgc2VsZi5jaGVja19hdmFpbGFibGUgPSBG
YWxzZQotICAgICAgICBzZWxmLndwZV9leHRlbnNpb24gPSBOb25lCiAKICAgICAgICAgIyBEZWZh
dWx0IGFwcGxpY2F0aW9uIHRvIHJ1biBpbiB0aGUgc2FuZGJveAogICAgICAgICBzZWxmLmNvbW1h
bmQgPSBOb25lCkBAIC02NDYsMzAgKzUxOCwyMCBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAg
ICAgICAgICAgc2VsZi5nZGIgPSAiIgogCiAgICAgICAgIHNlbGYuY29tbWFuZCA9ICIlcyAlcyAl
cyIgJSAob3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwKLSAgICAgICAgICAg
ICJUb29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlciIpLAotICAgICAgICAgICAgIi0tIiArIHNl
bGYucGxhdGZvcm0ubG93ZXIoKSwKLSAgICAgICAgICAgICIgLS1kZWJ1ZyIgaWYgc2VsZi5kZWJ1
ZyBlbHNlICIgLS1yZWxlYXNlIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIlRvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93c2VyIiksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tIiArIHNlbGYucGxhdGZvcm0ubG93ZXIo
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIC0tZGVidWciIGlmIHNl
bGYuZGVidWcgZWxzZSAiIC0tcmVsZWFzZSIpCiAKLSAgICAgICAgc2VsZi5uYW1lID0gIm9yZy53
ZWJraXQuJXMiICUgc2VsZi5wbGF0Zm9ybQotCi0gICAgICAgIGlmIHNlbGYud3BlX2V4dGVuc2lv
bjoKLSAgICAgICAgICAgIG1hbmlmZXN0X2ZpbGVuYW1lID0gV1BFX01BTklGRVNUX01BUFtzZWxm
LndwZV9leHRlbnNpb25dCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBtYW5pZmVzdF9maWxl
bmFtZSA9ICJvcmcud2Via2l0LldlYktpdC55YW1sIgotICAgICAgICBzZWxmLm1hbmlmZXN0X3Bh
dGggPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKHNjcmlwdGRpciwgJy4uL2ZsYXRwYWsv
JykgKyBtYW5pZmVzdF9maWxlbmFtZSkKLQotICAgICAgICBzZWxmLmJ1aWxkX25hbWUgPSBzZWxm
Lm5hbWUgKyAiLWdlbmVyYXRlZCIKKyAgICAgICAgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGggPSBv
cy5lbnZpcm9uWyJGTEFUUEFLX1VTRVJfRElSIl0KIAogICAgICAgICBidWlsZF9yb290ID0gb3Mu
cGF0aC5qb2luKHNlbGYuc291cmNlX3Jvb3QsICdXZWJLaXRCdWlsZCcpCi0gICAgICAgIHNlbGYu
ZmxhdHBha19idWlsZF9wYXRoID0gb3MucGF0aC5qb2luKGJ1aWxkX3Jvb3QsIHNlbGYucGxhdGZv
cm0sICJGbGF0cGFrVHJlZSIgKyBzZWxmLmJ1aWxkX3R5cGUpCi0gICAgICAgIHNlbGYuY2FjaGVf
cGF0aCA9IG9zLnBhdGguam9pbihidWlsZF9yb290LCAiRmxhdHBha0NhY2hlIikKICAgICAgICAg
c2VsZi5idWlsZF9wYXRoID0gb3MucGF0aC5qb2luKGJ1aWxkX3Jvb3QsIHNlbGYucGxhdGZvcm0s
IHNlbGYuYnVpbGRfdHlwZSkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb3MubWFrZWRpcnMo
c2VsZi5idWlsZF9wYXRoKQogICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAg
ICAgaWYgZS5lcnJubyAhPSBlcnJuby5FRVhJU1Q6CiAgICAgICAgICAgICAgICAgcmFpc2UgZQot
ICAgICAgICBzZWxmLmNvbmZpZ19maWxlID0gb3MucGF0aC5qb2luKHNlbGYuYnVpbGRfcGF0aCwg
J3dlYmtpdF9mbGF0cGFrX2NvbmZpZy5qc29uJykKKyAgICAgICAgc2VsZi5jb25maWdfZmlsZSA9
IG9zLnBhdGguam9pbihzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCwgJ3dlYmtpdF9mbGF0cGFrX2Nv
bmZpZy5qc29uJykKIAogICAgICAgICBDb25zb2xlLnF1aWV0ID0gc2VsZi5xdWlldAogICAgICAg
ICBpZiBub3QgY2hlY2tfZmxhdHBhaygpOgpAQCAtNjc3LDM1ICs1MzksMzUgQEAgY2xhc3MgV2Vi
a2l0RmxhdHBhazoKIAogICAgICAgICByZXBvcyA9IEZsYXRwYWtSZXBvcygpCiAgICAgICAgIHNl
bGYuc2RrX3JlcG8gPSByZXBvcy5hZGQoCi0gICAgICAgICAgICBGbGF0cGFrUmVwbygiZmxhdGh1
YiIsCi0gICAgICAgICAgICAgICAgICAgICAgICB1cmw9Imh0dHBzOi8vZGwuZmxhdGh1Yi5vcmcv
cmVwby8iLAotICAgICAgICAgICAgICAgICAgICAgICAgcmVwb19maWxlPSJodHRwczovL2RsLmZs
YXRodWIub3JnL3JlcG8vZmxhdGh1Yi5mbGF0cGFrcmVwbyIpKQotCi0gICAgICAgIG1hbmlmZXN0
ID0gbG9hZF9tYW5pZmVzdChzZWxmLm1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZT1zZWxmLm5hbWUp
Ci0gICAgICAgIGlmIG5vdCBtYW5pZmVzdDoKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAg
ICAgICAgICAgRmxhdHBha1JlcG8oIndlYmtpdC1zZGsiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgdXJsPSJodHRwczovL3NvZnR3YXJlLmlnYWxpYS5jb20vd2Via2l0LXNkay1yZXBvLyIsCisg
ICAgICAgICAgICAgICAgICAgICAgICByZXBvX2ZpbGU9Imh0dHBzOi8vc29mdHdhcmUuaWdhbGlh
LmNvbS9mbGF0cGFrLXJlZnMvd2Via2l0LXNkay5mbGF0cGFrcmVwbyIpCisgICAgICAgICkKIAot
ICAgICAgICBzZWxmLmFwcCA9IG1hbmlmZXN0WydhcHAtaWQnXQotCi0gICAgICAgIHNlbGYuc2Rr
X2JyYW5jaCA9IG1hbmlmZXN0WyJydW50aW1lLXZlcnNpb24iXQotICAgICAgICBzZWxmLmZpbmlz
aF9hcmdzID0gbWFuaWZlc3QuZ2V0KCJmaW5pc2gtYXJncyIsIFtdKQotICAgICAgICBzZWxmLmZp
bmlzaF9hcmdzID0gcmVtb3ZlX2V4dGVuc2lvbl9wb2ludHMoc2VsZi5maW5pc2hfYXJncykKLSAg
ICAgICAgc2VsZi5ydW50aW1lID0gRmxhdHBha1BhY2thZ2UobWFuaWZlc3RbJ3J1bnRpbWUnXSwg
c2VsZi5zZGtfYnJhbmNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLnNka19yZXBvLCAieDg2XzY0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGFzaD1tYW5pZmVzdC5nZXQoInJ1bnRpbWUtaGFzaCIpKQotICAgICAgICBzZWxmLmxv
Y2FsZSA9IEZsYXRwYWtQYWNrYWdlKG1hbmlmZXN0WydydW50aW1lJ10gKyAnLkxvY2FsZScsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfYnJhbmNoLCBzZWxm
LnNka19yZXBvLCAieDg2XzY0IikKLSAgICAgICAgc2VsZi5zZGsgPSBGbGF0cGFrUGFja2FnZSht
YW5pZmVzdFsnc2RrJ10sIHNlbGYuc2RrX2JyYW5jaCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBoYXNoPW1hbmlmZXN0LmdldCgic2RrLWhhc2giKSkKKyAgICAgICAgc2Vs
Zi5maW5pc2hfYXJncyA9IFtdCisgICAgICAgIHNlbGYucnVudGltZSA9IEZsYXRwYWtQYWNrYWdl
KCJvcmcud2Via2l0LlBsYXRmb3JtIiwgc2VsZi5zZGtfYnJhbmNoLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IikKKyAgICAgICAg
c2VsZi5sb2NhbGUgPSBGbGF0cGFrUGFja2FnZSgib3JnLndlYmtpdC5QbGF0Zm9ybS5Mb2NhbGUi
LCBzZWxmLnNka19icmFuY2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCisgICAgICAgIHNlbGYuc2RrID0gRmxhdHBha1BhY2th
Z2UoIm9yZy53ZWJraXQuU2RrIiwgIjAuMSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCiAgICAgICAgIHNlbGYucGFja3MgPSBbc2Vs
Zi5ydW50aW1lLCBzZWxmLmxvY2FsZSwgc2VsZi5zZGtdCiAKKyAgICAgICAgIyBGSVhNRTogRm9y
IHVua25vd24gcmVhc29ucywgdGhlIEdMIGV4dGVuc2lvbiBuZWVkcyB0byBiZSBleHBsaWNpdGVs
eQorICAgICAgICAjIGluc3RhbGxlZCBmb3IgRmxhdHBhayAxLjIueCB0byBiZSBhYmxlIHRvIG1h
a2UgdXNlIG9mIGl0LiBTZWVtcyBsaWtlCisgICAgICAgICMgaXQncyBub3QgY29ycmVjdGx5IGlu
aGVyaXRpbmcgaXQgZnJvbSB0aGUgU0RLLgorICAgICAgICBzZWxmLmZsYXRodWJfcmVwbyA9IHJl
cG9zLmFkZCgKKyAgICAgICAgICAgIEZsYXRwYWtSZXBvKCJmbGF0aHViIiwgcmVwb19maWxlPSJo
dHRwczovL2RsLmZsYXRodWIub3JnL3JlcG8vZmxhdGh1Yi5mbGF0cGFrcmVwbyIpCisgICAgICAg
ICkKKyAgICAgICAgc2VsZi5nbF9leHRlbnNpb24gPSBGbGF0cGFrUGFja2FnZSgib3JnLmZyZWVk
ZXNrdG9wLlBsYXRmb3JtLkdMLmRlZmF1bHQiLCAiMTkuMDgiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmxhdGh1Yl9yZXBvLCAieDg2XzY0IikKKyAg
ICAgICAgc2VsZi5wYWNrcy5hcHBlbmQoc2VsZi5nbF9leHRlbnNpb24pCisKICAgICAgICAgaWYg
c2VsZi5kZWJ1ZzoKLSAgICAgICAgICAgIHNlbGYuc2RrX2RlYnVnID0gRmxhdHBha1BhY2thZ2Uo
bWFuaWZlc3RbJ3NkayddICsgJy5EZWJ1ZycsIHNlbGYuc2RrX2JyYW5jaCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCisgICAg
ICAgICAgICBzZWxmLnNka19kZWJ1ZyA9IEZsYXRwYWtQYWNrYWdlKCdvcmcud2Via2l0LlNkay5E
ZWJ1ZycsIHNlbGYuc2RrX2JyYW5jaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCiAgICAgICAgICAgICBzZWxmLnBh
Y2tzLmFwcGVuZChzZWxmLnNka19kZWJ1ZykKLSAgICAgICAgc2VsZi5tYW5pZmVzdF9nZW5lcmF0
ZWRfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLmNhY2hlX3BhdGgsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5idWlsZF9uYW1lICsgIi5q
c29uIikKKwogICAgICAgICB0cnk6CiAgICAgICAgICAgICB3aXRoIG9wZW4oc2VsZi5jb25maWdf
ZmlsZSkgYXMgY29uZmlnOgogICAgICAgICAgICAgICAgIGpzb25fY29uZmlnID0ganNvbi5sb2Fk
KGNvbmZpZykKQEAgLTcxNSw3ICs1NzcsNDUgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKIAogICAg
ICAgICByZXR1cm4gVHJ1ZQogCisgICAgZGVmIHNldHVwX2J1aWxkZGlyKHNlbGYsICoqa3dhcmdz
KToKKyAgICAgICAgaWYgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYuZmxhdHBha19i
dWlsZF9wYXRoLCAibWV0YWRhdGEiKSk6CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBz
ZWxmLnNka19yZXBvLmZsYXRwYWsoImJ1aWxkLWluaXQiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAib3JnLndlYmtpdC5XZWJraXQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc3RyKHNlbGYuc2RrKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZWxm
LnJ1bnRpbWUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGsuYnJhbmNo
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd19vdXRwdXQ9InN0ZG91dCIgaW4g
a3dhcmdzLmtleXMoKSkKKworICAgIGRlZiBzZXR1cF9nc3RidWlsZChzZWxmLCBidWlsZGluZyk6
CisgICAgICAgIGdzdF9kaXIgPSBvcy5lbnZpcm9uLmdldCgnR1NUX0JVSUxEX1BBVEgnKQorICAg
ICAgICBpZiBub3QgZ3N0X2RpcjoKKyAgICAgICAgICAgIHJldHVybiBbXQorCisgICAgICAgIGlm
IG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oZ3N0X2RpciwgJ2dzdC1lbnYucHknKSk6
CisgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ0dTVF9CVUlMRF9QQVRIIHNldCB0byAl
cyBidXQgaXQgZG9lc25cJ3Qgc2VlbSB0byBiZSBhIHZhbGlkIGBnc3QtYnVpbGRgIGNoZWNrb3V0
LicgJSBnc3RfZGlyKQorCisgICAgICAgIGdzdF9idWlsZGRpciA9IG9zLnBhdGguam9pbihzZWxm
LnNhbmRib3hfc291cmNlX3Jvb3QsICJXZWJLaXRCdWlsZCIsICdnc3QtYnVpbGQnKQorICAgICAg
ICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYuc291cmNlX3Jvb3QsICdX
ZWJLaXRCdWlsZCcsICdnc3QtYnVpbGQnLCAnYnVpbGQubmluamEnKSk6CisgICAgICAgICAgICBp
ZiBub3QgYnVpbGRpbmc6CisgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdUcnlp
bmcgdG8gZW50ZXIgZ3N0LWJ1aWxkIGVudiBmcm9tICVzIGJ1dCBpdCBpcyBub3QgYnVpbHQsIG1h
a2Ugc3VyZSB0byByZWJ1aWxkIHdlYmtpdC4nICUgZ3N0X2RpcikKKworICAgICAgICAgICAgQ29u
c29sZS5tZXNzYWdlKCJSdW5uaW5nIG1lc29uIGZvciBgZ3N0LWJ1aWxkYCAlcyAiLCBnc3RfZGly
KQorICAgICAgICAgICAgc2VsZi5ydW5faW5fc2FuZGJveCgnbWVzb24nLCBnc3RfZGlyLCBnc3Rf
YnVpbGRkaXIsIGJ1aWxkaW5nX2dzdD1UcnVlKQorCisgICAgICAgIGlmIG5vdCBidWlsZGluZzoK
KyAgICAgICAgICAgIHJldHVybiBbb3MucGF0aC5qb2luKGdzdF9kaXIsICdnc3QtZW52LnB5Jyks
ICctLWJ1aWxkZGlyJywgZ3N0X2J1aWxkZGlyLCAnLS1zcmNkaXInLCBnc3RfZGlyXQorCisgICAg
ICAgIENvbnNvbGUubWVzc2FnZSgiQnVpbGRpbmcgYGdzdC1idWlsZGAgJXMgIiwgZ3N0X2RpcikK
KyAgICAgICAgaWYgc2VsZi5ydW5faW5fc2FuZGJveCgnbmluamEnLCAnLUMnLCBnc3RfYnVpbGRk
aXIsIGJ1aWxkaW5nX2dzdD1UcnVlKSAhPSAwOgorICAgICAgICAgICAgcmFpc2UgUnVudGltZUVy
cm9yKCdFcnJvciB3aGlsZSBidWlsZGluZyBnc3QtYnVpbGQuJykKKworICAgICAgICByZXR1cm4g
W29zLnBhdGguam9pbihnc3RfZGlyLCAnZ3N0LWVudi5weScpLCAnLS1idWlsZGRpcicsIGdzdF9i
dWlsZGRpciwgJy0tc3JjZGlyJywgZ3N0X2Rpcl0KKwogICAgIGRlZiBydW5faW5fc2FuZGJveChz
ZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBzZWxmLnNldHVwX2J1aWxkZGlyKHN0ZG91
dD1rd2FyZ3MuZ2V0KCJzdGRvdXQiLCBzeXMuc3Rkb3V0KSkKICAgICAgICAgY3dkID0ga3dhcmdz
LnBvcCgiY3dkIiwgTm9uZSkKICAgICAgICAgZXh0cmFfZW52X3ZhcnMgPSBrd2FyZ3MucG9wKCJl
bnYiLCB7fSkKICAgICAgICAgc3Rkb3V0ID0ga3dhcmdzLnBvcCgic3Rkb3V0Iiwgc3lzLnN0ZG91
dCkKQEAgLTcyMyw2ICs2MjMsNyBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogCiAgICAgICAgIGlm
IG5vdCBpc2luc3RhbmNlKGFyZ3MsIGxpc3QpOgogICAgICAgICAgICAgYXJncyA9IGxpc3QoYXJn
cykKKwogICAgICAgICBpZiBhcmdzOgogICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoYXJn
c1swXSk6CiAgICAgICAgICAgICAgICAgY29tbWFuZCA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0
aC5hYnNwYXRoKGFyZ3NbMF0pKQpAQCAtNzMwLDk0ICs2MzEsMTEwIEBAIGNsYXNzIFdlYmtpdEZs
YXRwYWs6CiAgICAgICAgICAgICAgICAgYXJnc1swXSA9IGNvbW1hbmQucmVwbGFjZShzZWxmLnNv
dXJjZV9yb290LCBzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QpCiAgICAgICAgICAgICBpZiBhcmdz
WzBdLmVuZHN3aXRoKCJidWlsZC13ZWJraXQiKToKICAgICAgICAgICAgICAgICBhcmdzLmFwcGVu
ZCgiLS1wcmVmaXg9L2FwcCIpCisgICAgICAgIGJ1aWxkaW5nID0gb3MucGF0aC5iYXNlbmFtZShh
cmdzWzBdKS5zdGFydHN3aXRoKCJidWlsZCIpCiAKICAgICAgICAgc2FuZGJveF9idWlsZF9wYXRo
ID0gb3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgIldlYktpdEJ1aWxkIiwg
c2VsZi5idWlsZF90eXBlKQotICAgICAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5Rmls
ZShtb2RlPSJ3IikgYXMgdG1wc2NyaXB0OgotICAgICAgICAgICAgZmxhdHBha19jb21tYW5kID0g
WyJmbGF0cGFrIiwgImJ1aWxkIiwgIi0tZGllLXdpdGgtcGFyZW50IiwKLSAgICAgICAgICAgICAg
ICAiLS1iaW5kLW1vdW50PS9ydW4vc2htPS9kZXYvc2htIiwKLSAgICAgICAgICAgICAgICAjIFdv
cmthcm91bmQgZm9yIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE4NzM4NCB0byBoYXZlIG91ciBvd24g
cGVybCBtb2R1bGVzIHVzYWJsZSBpbnNpZGUgdGhlIHNhbmRib3gKLSAgICAgICAgICAgICAgICAj
IGFzIHNldHRpbmcgdGhlIFBFUkw1TElCIGVudnZhciB3b24ndCB3b3JrIGluc2lkZSBhcGFjaGUg
KGFuZCBmb3Igc2NyaXB0cyB1c2luZyBgcGVybCAtVGBgKS4KLSAgICAgICAgICAgICAgICAiLS1i
aW5kLW1vdW50PS9ydW4vaG9zdC8lcz0lcyIgJSAodGVtcGZpbGUuZ2V0dGVtcGRpcigpLCB0ZW1w
ZmlsZS5nZXR0ZW1wZGlyKCkpLAotICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9JXM9JXMi
ICUgKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgc2VsZi5zb3VyY2Vfcm9vdCksCisgICAgICAg
IGZsYXRwYWtfY29tbWFuZCA9IFsiZmxhdHBhayIsICJidWlsZCIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiLS1kaWUtd2l0aC1wYXJlbnQiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIi0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cyIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiLS10YWxrLW5hbWU9b3JnLmd0ay52ZnMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ii0tdGFsay1uYW1lPW9yZy5ndGsudmZzLioiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ii0tYmluZC1tb3VudD0vcnVuL3NobT0vZGV2L3NobSIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAjIFdvcmthcm91bmQgZm9yIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE4NzM4NCB0byBoYXZl
IG91ciBvd24gcGVybCBtb2R1bGVzIHVzYWJsZSBpbnNpZGUgdGhlIHNhbmRib3gKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICMgYXMgc2V0dGluZyB0aGUgUEVSTDVMSUIgZW52dmFyIHdvbid0
IHdvcmsgaW5zaWRlIGFwYWNoZSAoYW5kIGZvciBzY3JpcHRzIHVzaW5nIGBwZXJsIC1UYGApLgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0vcnVuL2hvc3QvJXM9JXMi
ICUgKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwgdGVtcGZpbGUuZ2V0dGVtcGRpcigpKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9JXM9JXMiICUgKHNlbGYuc2FuZGJv
eF9zb3VyY2Vfcm9vdCwgc2VsZi5zb3VyY2Vfcm9vdCksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAjIFdlIG1vdW50IFdlYktpdEJ1aWxkL1BPUlROQU1FL0J1aWxkVHlwZSB0byAvYXBwL3dl
YmtpdC9XZWJLaXRCdWlsZC9CdWlsZFR5cGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICMg
c28gd2UgY2FuIGJ1aWxkIFdQRSBhbmQgR1RLIGluIGEgc2FtZSBzb3VyY2UgdHJlZS4KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9JXM9JXMiICUgKHNhbmRib3hfYnVp
bGRfcGF0aCwgc2VsZi5idWlsZF9wYXRoKV0KKworICAgICAgICBmb3J3YXJkZWQgPSB7CisgICAg
ICAgICAgICAiV0VCS0lUX1RPUF9MRVZFTCI6ICIvYXBwLyIsCisgICAgICAgICAgICAiVEVTVF9S
VU5ORVJfSU5KRUNURURfQlVORExFX0ZJTEVOQU1FIjogb3MucGF0aC5qb2luKHNhbmRib3hfYnVp
bGRfcGF0aCwgImxpYi9saWJUZXN0UnVubmVySW5qZWN0ZWRCdW5kbGUuc28iKSwKKyAgICAgICAg
fQorCisgICAgICAgIGlmIG5vdCBidWlsZGluZzoKKyAgICAgICAgICAgIGZsYXRwYWtfY29tbWFu
ZC5leHRlbmQoWworICAgICAgICAgICAgICAgICItLWRldmljZT1hbGwiLAorICAgICAgICAgICAg
ICAgICItLWRldmljZT1kcmkiLAorICAgICAgICAgICAgICAgICItLWZpbGVzeXN0ZW09aG9zdCIs
CisgICAgICAgICAgICAgICAgIi0tc2hhcmU9aXBjIiwKKyAgICAgICAgICAgICAgICAiLS1zaGFy
ZT1uZXR3b3JrIiwKKyAgICAgICAgICAgICAgICAiLS1zb2NrZXQ9cHVsc2VhdWRpbyIsCisgICAg
ICAgICAgICAgICAgIi0tc29ja2V0PXN5c3RlbS1idXMiLAorICAgICAgICAgICAgICAgICItLXNv
Y2tldD13YXlsYW5kIiwKKyAgICAgICAgICAgICAgICAiLS1zb2NrZXQ9eDExIiwKKyAgICAgICAg
ICAgICAgICAiLS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cyIsCisgICAgICAgICAgICAg
ICAgIi0tc3lzdGVtLXRhbGstbmFtZT1vcmcuZnJlZWRlc2t0b3AuR2VvQ2x1ZTIiLAogICAgICAg
ICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuYTExeS5CdXMiLAotICAgICAgICAgICAgICAgICIt
LXRhbGstbmFtZT1vcmcuZ3RrLnZmcyIsCi0gICAgICAgICAgICAgICAgIi0tdGFsay1uYW1lPW9y
Zy5ndGsudmZzLioiLAotICAgICAgICAgICAgICAgICMgV2UgbW91bnQgV2ViS2l0QnVpbGQvUE9S
VE5BTUUvQnVpbGRUeXBlIHRvIC9hcHAvd2Via2l0L1dlYktpdEJ1aWxkL0J1aWxkVHlwZQotICAg
ICAgICAgICAgICAgICMgc28gd2UgY2FuIGJ1aWxkIFdQRSBhbmQgR1RLIGluIGEgc2FtZSBzb3Vy
Y2UgdHJlZS4KLSAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PSVzPSVzIiAlIChzYW5kYm94
X2J1aWxkX3BhdGgsIHNlbGYuYnVpbGRfcGF0aCldCi0KLSAgICAgICAgICAgIGZvcndhcmRlZCA9
IHsKLSAgICAgICAgICAgICAgICAiV0VCS0lUX1RPUF9MRVZFTCI6ICIvYXBwLyIsCi0gICAgICAg
ICAgICAgICAgIlRFU1RfUlVOTkVSX0lOSkVDVEVEX0JVTkRMRV9GSUxFTkFNRSI6ICIvYXBwL3dl
YmtpdC9saWIvbGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLnNvIiwKKyAgICAgICAgICAgICAg
ICAiLS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkZsYXRwYWsiCisgICAgICAgICAgICBdKQor
CisgICAgICAgICAgICBmb3J3YXJkZWQudXBkYXRlKHsKKyAgICAgICAgICAgICAgICAiVFoiOiAi
UFNUOFBEVCIsCisgICAgICAgICAgICAgICAgIkxBTkciOiAiZW5fVVMuVVRGLTgiCisgICAgICAg
ICAgICB9KQorCisgICAgICAgIGVudl92YXJfcHJlZml4ZXNfdG9fa2VlcCA9IFsKKyAgICAgICAg
ICAgICJHIiwKKyAgICAgICAgICAgICJHSUdBQ0FHRSIsCisgICAgICAgICAgICAiR1NUIiwKKyAg
ICAgICAgICAgICJHVEsiLAorICAgICAgICAgICAgIklDRUNDIiwKKyAgICAgICAgICAgICJKU0Mi
LAorICAgICAgICAgICAgIldFQktJVCIsCisgICAgICAgICAgICAiV0VCS0lUMiIsCisgICAgICAg
IF0KKworICAgICAgICBlbnZfdmFyc190b19rZWVwID0gWworICAgICAgICAgICAgIkNDQUNIRV9Q
UkVGSVgiLAorICAgICAgICAgICAgIkRJU1BMQVkiLAorICAgICAgICAgICAgIkphdmFTY3JpcHRD
b3JlVXNlSklUIiwKKyAgICAgICAgICAgICJMQU5HIiwKKyAgICAgICAgICAgICJNYWxsb2MiLAor
ICAgICAgICAgICAgIk5VTUJFUl9PRl9QUk9DRVNTT1JTIiwKKyAgICAgICAgICAgICJRTUwyX0lN
UE9SVF9QQVRIIiwKKyAgICAgICAgICAgICJXQVlMQU5EX0RJU1BMQVkiLAorICAgICAgICAgICAg
IldBWUxBTkRfU09DS0VUIiwKKyAgICAgICAgXQorCisgICAgICAgIGVudl92YXJzID0gb3MuZW52
aXJvbgorICAgICAgICBlbnZfdmFycy51cGRhdGUoZXh0cmFfZW52X3ZhcnMpCisgICAgICAgIGZv
ciBlbnZ2YXIsIHZhbHVlIGluIGVudl92YXJzLml0ZW1zKCk6CisgICAgICAgICAgICBpZiBlbnZ2
YXIuc3BsaXQoIl8iKVswXSBpbiBlbnZfdmFyX3ByZWZpeGVzX3RvX2tlZXAgb3IgZW52dmFyIGlu
IGVudl92YXJzX3RvX2tlZXA6CisgICAgICAgICAgICAgICAgZm9yd2FyZGVkW2VudnZhcl0gPSB2
YWx1ZQorCisgICAgICAgIGlmIHNlbGYudXNlX2ljZWNyZWFtOgorICAgICAgICAgICAgX2xvZy5k
ZWJ1ZygnRW5hYmxpbmcgdGhlIGljZWNyZWFtIGNvbXBpbGVyJykKKyAgICAgICAgICAgIGZsYXRw
YWtfY29tbWFuZC5leHRlbmQoWyItLXNoYXJlPW5ldHdvcmsiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0vdmFyL3J1bi9pY2VjYz0vdmFyL3J1bi9p
Y2VjYyJdKQorCisgICAgICAgICAgICBuX2NvcmVzID0gbXVsdGlwcm9jZXNzaW5nLmNwdV9jb3Vu
dCgpICogMworICAgICAgICAgICAgX2xvZy5kZWJ1ZygnRm9sbG93aW5nIGljZWNyZWFtIHJlY29t
bWVuZGF0aW9uIGZvciB0aGUgbnVtYmVyIG9mIGNvcmVzIHRvIHVzZTogJWQnICUgbl9jb3JlcykK
KyAgICAgICAgICAgIGZvcndhcmRlZC51cGRhdGUoeworICAgICAgICAgICAgICAgICJDQ0FDSEVf
UFJFRklYIjogImljZWNjIiwKICAgICAgICAgICAgICAgICAiSUNFQ0NfVkVSU0lPTiI6IHNlbGYu
aWNjX3ZlcnNpb24sCi0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGVudl92YXJfcHJlZml4
ZXNfdG9fa2VlcCA9IFsKLSAgICAgICAgICAgICAgICAiR1NUIiwKLSAgICAgICAgICAgICAgICAi
R1RLIiwKLSAgICAgICAgICAgICAgICAiRyIsCi0gICAgICAgICAgICAgICAgIkpTQyIsCi0gICAg
ICAgICAgICAgICAgIldFQktJVCIsCi0gICAgICAgICAgICAgICAgIldFQktJVDIiLAotICAgICAg
ICAgICAgICAgICJXUEUiLAotICAgICAgICAgICAgICAgICJHSUdBQ0FHRSIsCi0gICAgICAgICAg
ICBdCi0KLSAgICAgICAgICAgIGVudl92YXJzX3RvX2tlZXAgPSBbCi0gICAgICAgICAgICAgICAg
IkphdmFTY3JpcHRDb3JlVXNlSklUIiwKLSAgICAgICAgICAgICAgICAiTWFsbG9jIiwKLSAgICAg
ICAgICAgICAgICAiV0FZTEFORF9ESVNQTEFZIiwKLSAgICAgICAgICAgICAgICAiV0FZTEFORF9T
T0NLRVQiLAotICAgICAgICAgICAgICAgICJESVNQTEFZIiwKLSAgICAgICAgICAgICAgICAiTEFO
RyIsCi0gICAgICAgICAgICAgICAgIk5VTUJFUl9PRl9QUk9DRVNTT1JTIiwKLSAgICAgICAgICAg
ICAgICAiQ0NBQ0hFX1BSRUZJWCIsCi0gICAgICAgICAgICAgICAgIlFNTDJfSU1QT1JUX1BBVEgi
LAotICAgICAgICAgICAgXQotCi0gICAgICAgICAgICBpZiBzZWxmLnVzZV9pY2VjcmVhbToKLSAg
ICAgICAgICAgICAgICBfbG9nLmRlYnVnKCdFbmFibGluZyB0aGUgaWNlY3JlYW0gY29tcGlsZXIn
KQotICAgICAgICAgICAgICAgIGZvcndhcmRlZFsiQ0NBQ0hFX1BSRUZJWCJdID0gImljZWNjIgot
ICAgICAgICAgICAgICAgIGlmIG5vdCBvcy5lbnZpcm9uLmdldCgnTlVNQkVSX09GX1BST0NFU1NP
UlMnKToKLSAgICAgICAgICAgICAgICAgICAgbl9jb3JlcyA9IG11bHRpcHJvY2Vzc2luZy5jcHVf
Y291bnQoKSAqIDMKLSAgICAgICAgICAgICAgICAgICAgX2xvZy5kZWJ1ZygnRm9sbG93IGljZWNy
ZWFtIHJlY29tbWVuZGF0aW9uIGZvciB0aGUgbnVtYmVyIG9mIGNvcmVzIHRvIHVzZTogJWQnICUg
bl9jb3JlcykKLSAgICAgICAgICAgICAgICAgICAgZm9yd2FyZGVkWyJOVU1CRVJfT0ZfUFJPQ0VT
U09SUyJdID0gbl9jb3JlcwotCi0gICAgICAgICAgICBlbnZfdmFycyA9IG9zLmVudmlyb24KLSAg
ICAgICAgICAgIGVudl92YXJzLnVwZGF0ZShleHRyYV9lbnZfdmFycykKLSAgICAgICAgICAgIGZv
ciBlbnZ2YXIsIHZhbHVlIGluIGVudl92YXJzLml0ZW1zKCk6Ci0gICAgICAgICAgICAgICAgaWYg
ZW52dmFyLnNwbGl0KCJfIilbMF0gaW4gZW52X3Zhcl9wcmVmaXhlc190b19rZWVwIG9yIGVudnZh
ciBpbiBlbnZfdmFyc190b19rZWVwOgotICAgICAgICAgICAgICAgICAgICBmb3J3YXJkZWRbZW52
dmFyXSA9IHZhbHVlCi0KLSAgICAgICAgICAgIGZvciBlbnZ2YXIsIHZhbHVlIGluIGZvcndhcmRl
ZC5pdGVtcygpOgotICAgICAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZC5hcHBlbmQoIi0tZW52
PSVzPSVzIiAlIChlbnZ2YXIsIHZhbHVlKSkKLQotICAgICAgICAgICAgZmxhdHBha19jb21tYW5k
ICs9IHNlbGYuZmluaXNoX2FyZ3MgKyBleHRyYV9mbGF0cGFrX2FyZ3MgKyBbc2VsZi5mbGF0cGFr
X2J1aWxkX3BhdGhdCi0KLSAgICAgICAgICAgIHNoZWxsX3N0cmluZyA9ICIiCi0gICAgICAgICAg
ICBpZiBhcmdzOgotICAgICAgICAgICAgICAgIGlmIGN3ZDoKLSAgICAgICAgICAgICAgICAgICAg
c2hlbGxfc3RyaW5nID0gJ2NkICIlcyIgJiYgIiVzIicgJSAoY3dkLCAnIiAiJy5qb2luKGFyZ3Mp
KQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHNoZWxsX3N0cmlu
ZyA9ICciJXMiJyAlICgnIiAiJy5qb2luKGFyZ3MpKQotICAgICAgICAgICAgZWxzZToKLSAgICAg
ICAgICAgICAgICBzaGVsbF9zdHJpbmcgPSBzZWxmLmNvbW1hbmQKLSAgICAgICAgICAgICAgICBp
ZiBzZWxmLmFyZ3M6Ci0gICAgICAgICAgICAgICAgICAgIHNoZWxsX3N0cmluZyArPSAnICIlcyIn
ICUgJyIgIicuam9pbihzZWxmLmFyZ3MpCisgICAgICAgICAgICAgICAgIk5VTUJFUl9PRl9QUk9D
RVNTT1JTIjogbl9jb3JlcywKKyAgICAgICAgICAgIH0pCiAKLSAgICAgICAgICAgIHRtcHNjcmlw
dC53cml0ZShzaGVsbF9zdHJpbmcpCi0gICAgICAgICAgICB0bXBzY3JpcHQuZmx1c2goKQorICAg
ICAgICBmb3IgZW52dmFyLCB2YWx1ZSBpbiBmb3J3YXJkZWQuaXRlbXMoKToKKyAgICAgICAgICAg
IGZsYXRwYWtfY29tbWFuZC5hcHBlbmQoIi0tZW52PSVzPSVzIiAlIChlbnZ2YXIsIHZhbHVlKSkK
IAotICAgICAgICAgICAgX2xvZy5kZWJ1ZygnUnVubmluZyBpbiBzYW5kYm94OiAiJXMiICVzXG4n
ICUgKCciICInLmpvaW4oZmxhdHBha19jb21tYW5kKSwgc2hlbGxfc3RyaW5nKSkKLSAgICAgICAg
ICAgIGZsYXRwYWtfY29tbWFuZC5leHRlbmQoWydzaCcsICIvcnVuL2hvc3QvIiArIHRtcHNjcmlw
dC5uYW1lXSkKKyAgICAgICAgZ3N0X2VudiA9IFtdCisgICAgICAgIGlmIG5vdCBrd2FyZ3MuZ2V0
KCdidWlsZGluZ19nc3QnKToKKyAgICAgICAgICAgIGdzdF9lbnYgPSBzZWxmLnNldHVwX2dzdGJ1
aWxkKGJ1aWxkaW5nKQorICAgICAgICBmbGF0cGFrX2NvbW1hbmQgKz0gc2VsZi5maW5pc2hfYXJn
cyArIGV4dHJhX2ZsYXRwYWtfYXJncyArIFwKKyAgICAgICAgICAgIFtzZWxmLmZsYXRwYWtfYnVp
bGRfcGF0aF0gKyBnc3RfZW52ICsgYXJncwogCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAg
ICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGZsYXRwYWtfY29tbWFuZCwgc3Rkb3V0PXN0ZG91
dCkKLSAgICAgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBl
OgotICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoc3RyKGUpICsgIlxuIikKLSAgICAg
ICAgICAgICAgICByZXR1cm4gZS5yZXR1cm5jb2RlCi0gICAgICAgICAgICBleGNlcHQgS2V5Ym9h
cmRJbnRlcnJ1cHQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgX2xvZy5kZWJ1
ZygnUnVubmluZyBpbiBzYW5kYm94OiAlc1xuJyAlICcgJy5qb2luKGZsYXRwYWtfY29tbWFuZCkp
CisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGZsYXRw
YWtfY29tbWFuZCwgc3Rkb3V0PXN0ZG91dCkKKyAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2Fs
bGVkUHJvY2Vzc0Vycm9yIGFzIGU6CisgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKHN0cihl
KSArICJcbiIpCisgICAgICAgICAgICByZXR1cm4gZS5yZXR1cm5jb2RlCisgICAgICAgIGV4Y2Vw
dCBLZXlib2FyZEludGVycnVwdDoKKyAgICAgICAgICAgIHJldHVybiAwCiAKICAgICAgICAgcmV0
dXJuIDAKIApAQCAtODM1LDY0ICs3NTIsNDEgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAg
ICAgICAgICAgICBzaHV0aWwucm10cmVlKHNlbGYuYnVpbGRfcGF0aCkKIAogICAgICAgICBpZiBz
ZWxmLnVwZGF0ZToKLSAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiVXBkYXRpbmcgRmxhdHBh
ayBlbnZpcm9ubWVudCBmb3IgJXMgKCVzKSIgJSAoCi0gICAgICAgICAgICAgICAgc2VsZi5wbGF0
Zm9ybSwgc2VsZi5idWlsZF90eXBlKSkKKyAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiVXBk
YXRpbmcgRmxhdHBhayAlcyBlbnZpcm9ubWVudCIgJSBzZWxmLmJ1aWxkX3R5cGUpCiAgICAgICAg
ICAgICBpZiBub3Qgc2VsZi5ub19mbGF0cGFrX3VwZGF0ZToKICAgICAgICAgICAgICAgICBzZWxm
LnVwZGF0ZV9hbGwoKQogCiAgICAgICAgIHJldHVybiBzZWxmLnNldHVwX2Rldl9lbnYoKQogCiAg
ICAgZGVmIGhhc19lbnZpcm9ubWVudChzZWxmKToKLSAgICAgICAgcmV0dXJuIG9zLnBhdGguZXhp
c3RzKG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3BhdGgsIHNlbGYuZmxhdHBha19idWlsZF9wYXRo
KSkKKyAgICAgICAgcmV0dXJuIG9zLnBhdGguZXhpc3RzKHNlbGYuZmxhdHBha19idWlsZF9wYXRo
KQogCiAgICAgZGVmIHNhdmVfY29uZmlnKHNlbGYpOgogICAgICAgICB3aXRoIG9wZW4oc2VsZi5j
b25maWdfZmlsZSwgJ3cnKSBhcyBjb25maWc6CiAgICAgICAgICAgICBqc29uX2NvbmZpZyA9IHsn
aWNlY2NfdmVyc2lvbic6IHNlbGYuaWNjX3ZlcnNpb259CiAgICAgICAgICAgICBqc29uLmR1bXAo
anNvbl9jb25maWcsIGNvbmZpZykKIAotICAgIGRlZiBzZXR1cF9jY2FjaGUoc2VsZik6Ci0gICAg
ICAgIGZvciBjb21waWxlciBpbiBbImMrKyIsICJjYyIsICJjbGFuZyIsICJjbGFuZysrIiwgImcr
KyIsICJnY2MiXToKLSAgICAgICAgICAgIHNlbGYucnVuX2luX3NhbmRib3goImxuIiwgIi1zIiwg
Ii4uLy4uL3Vzci9iaW4vY2NhY2hlIiwgY29tcGlsZXIsIGN3ZD0iL2FwcC9iaW4iKQotCiAgICAg
ZGVmIHNldHVwX2ljZWNjKHNlbGYpOgogICAgICAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9y
YXJ5RmlsZSgpIGFzIHRtcGZpbGU6Ci0gICAgICAgICAgICBzZWxmLnJ1bl9pbl9zYW5kYm94KCdp
Y2VjYycsICctLWJ1aWxkLW5hdGl2ZScsIHN0ZG91dD10bXBmaWxlLCBjd2Q9c2VsZi5idWlsZF9w
YXRoKQorICAgICAgICAgICAgc2VsZi5ydW5faW5fc2FuZGJveCgnaWNlY2MnLCAnLS1idWlsZC1u
YXRpdmUnLCBzdGRvdXQ9dG1wZmlsZSwgY3dkPXNlbGYuc291cmNlX3Jvb3QpCiAgICAgICAgICAg
ICB0bXBmaWxlLmZsdXNoKCkKICAgICAgICAgICAgIHRtcGZpbGUuc2VlaygwKQogICAgICAgICAg
ICAgaWNjX3ZlcnNpb25fZmlsZW5hbWUsID0gcmUuZmluZGFsbChyJy4qY3JlYXRpbmcgKC4qKScs
IHRtcGZpbGUucmVhZCgpKQotICAgICAgICAgICAgc2VsZi5pY2NfdmVyc2lvbiA9IG9zLnBhdGgu
am9pbihzZWxmLmJ1aWxkX3BhdGgsIGljY192ZXJzaW9uX2ZpbGVuYW1lKQorICAgICAgICAgICAg
c2VsZi5pY2NfdmVyc2lvbiA9IG9zLnBhdGguam9pbihzZWxmLnNvdXJjZV9yb290LCBpY2NfdmVy
c2lvbl9maWxlbmFtZSkKIAogICAgIGRlZiBzZXR1cF9kZXZfZW52KHNlbGYpOgotICAgICAgICBp
ZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYuYnVpbGRfcGF0aCwgc2VsZi5m
bGF0cGFrX2J1aWxkX3BhdGgpKSBcCi0gICAgICAgICAgICAgICAgb3Igc2VsZi51cGRhdGUgb3Ig
c2VsZi5idWlsZF9hbGw6CisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpv
aW4oc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsICJydW50aW1lIiwgIm9yZy53ZWJraXQuU2RrIikp
IG9yIHNlbGYudXBkYXRlIG9yIHNlbGYuYnVpbGRfYWxsOgogICAgICAgICAgICAgc2VsZi5pbnN0
YWxsX2FsbCgpCi0gICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIkJ1aWxkaW5nICVzIGFuZCBk
ZXBlbmRlbmNpZXMgaW4gJXMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubmFt
ZSwgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgpCi0KLSAgICAgICAgICAgICMgQ3JlYXRlIGVudmly
b25tZW50IGRpcnMgaWYgbmVjZXNzYXJ5Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAg
ICAgb3MubWFrZWRpcnMob3MucGF0aC5kaXJuYW1lKHNlbGYubWFuaWZlc3RfZ2VuZXJhdGVkX3Bh
dGgpKQotICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICBp
ZiBlLmVycm5vICE9IGVycm5vLkVFWElTVDoKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgZQot
ICAgICAgICAgICAgaWYgbm90IGV4cGFuZF9tYW5pZmVzdChzZWxmLm1hbmlmZXN0X3BhdGgsIHNl
bGYubWFuaWZlc3RfZ2VuZXJhdGVkX3BhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbGYubmFtZSwgc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCBzZWxmLmNvbW1hbmQp
OgotICAgICAgICAgICAgICAgIHJldHVybiAxCi0KLSAgICAgICAgICAgIGJ1aWxkZXJfYXJncyA9
IFsiZmxhdHBhay1idWlsZGVyIiwgIi0tZGlzYWJsZS1yb2ZpbGVzLWZ1c2UiLCAiLS1zdGF0ZS1k
aXIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuY2FjaGVfcGF0aCwgIi0tY2Nh
Y2hlIiwgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsICItLWZvcmNlLWNsZWFuIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzZWxmLm1hbmlmZXN0X2dlbmVyYXRlZF9wYXRoXQotICAgICAg
ICAgICAgYnVpbGRlcl9hcmdzLmFwcGVuZCgiLS1idWlsZC1vbmx5IikKLSAgICAgICAgICAgIGJ1
aWxkZXJfYXJncy5hcHBlbmQoIi0tc3RvcC1hdD0lcyIgJSBzZWxmLmFwcCkKLQotICAgICAgICAg
ICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGJ1aWxkZXJfYXJncykKLSAgICAgICAgICAgIHNlbGYu
c2V0dXBfY2NhY2hlKCkKICAgICAgICAgICAgIHNlbGYuc2V0dXBfaWNlY2MoKQogICAgICAgICAg
ICAgc2VsZi5zYXZlX2NvbmZpZygpCiAKICAgICAgICAgYnVpbGRfdHlwZSA9ICItLWRlYnVnIiBp
ZiBzZWxmLmRlYnVnIGVsc2UgIi0tcmVsZWFzZSIKKyAgICAgICAgaWYgc2VsZi5idWlsZF9nc3Q6
CisgICAgICAgICAgICBzZWxmLnNldHVwX2dzdGJ1aWxkKFRydWUpCisKICAgICAgICAgaWYgc2Vs
Zi5idWlsZF93ZWJraXQ6Ci0gICAgICAgICAgICBidWlsZGVyID0gW29zLnBhdGguam9pbihzZWxm
LnNhbmRib3hfc291cmNlX3Jvb3QsICdUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdCcpLAorICAg
ICAgICAgICAgYnVpbGRlciA9IFsKKyAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oc2VsZi5z
YW5kYm94X3NvdXJjZV9yb290LCAnVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQnKSwKICAgICAg
ICAgICAgICAgICBidWlsZF90eXBlLCAnLS0nICsgc2VsZi5wbGF0Zm9ybS5sb3dlcigpXQogICAg
ICAgICAgICAgaWYgc2VsZi5tYWtlYXJnczoKICAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVu
ZCgiLS1tYWtlYXJncz0lcyIgJSBzZWxmLm1ha2VhcmdzKQpAQCAtOTAzLDIzICs3OTcsMjIgQEAg
Y2xhc3MgV2Via2l0RmxhdHBhazoKIAogICAgICAgICAgICAgaWYgcmVzOgogICAgICAgICAgICAg
ICAgIHJldHVybiByZXMKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIENvbnNvbGUubWVzc2Fn
ZSgiVXNpbmcgJXMgcHJlZml4IGluICVzIiwgc2VsZi5uYW1lLCBzZWxmLmZsYXRwYWtfYnVpbGRf
cGF0aCkKIAogICAgICAgICBpZiBzZWxmLnJ1bl90ZXN0cyBpcyBub3QgTm9uZToKICAgICAgICAg
ICAgIHRlc3RfbGF1bmNoZXIgPSBbb3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9v
dCwgJ1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cycpLAotICAgICAgICAgICAgICAgIGJ1
aWxkX3R5cGUsICctLScgKyBzZWxmLnBsYXRmb3JtLmxvd2VyKCldICsgc2VsZi5ydW5fdGVzdHMK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRfdHlwZSwgJy0tJyArIHNlbGYucGxh
dGZvcm0ubG93ZXIoKV0gKyBzZWxmLnJ1bl90ZXN0cwogICAgICAgICAgICAgcmV0dXJuIHNlbGYu
cnVuX2luX3NhbmRib3goKnRlc3RfbGF1bmNoZXIpCi0gICAgICAgIGVsaWYgc2VsZi5nZGIgaXMg
bm90IE5vbmU6CisgICAgICAgIGVsaWYgc2VsZi5nZGIgb3Igc2VsZi5nZGJfc3RhY2tfdHJhY2U6
CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5fZ2RiKCkKICAgICAgICAgZWxpZiBzZWxmLnVz
ZXJfY29tbWFuZDoKICAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1bl9pbl9zYW5kYm94KCpzZWxm
LnVzZXJfY29tbWFuZCkKLSAgICAgICAgZWxpZiBub3Qgc2VsZi51cGRhdGUgYW5kIG5vdCBzZWxm
LmJ1aWxkX3dlYmtpdDoKKyAgICAgICAgZWxpZiBub3Qgc2VsZi51cGRhdGUgYW5kIG5vdCBzZWxm
LmJ1aWxkX3dlYmtpdCBhbmQgbm90IHNlbGYuYnVpbGRfZ3N0OgogICAgICAgICAgICAgcmV0dXJu
IHNlbGYucnVuX2luX3NhbmRib3goKQogCiAgICAgICAgIHJldHVybiAwCiAKICAgICBkZWYgaW5z
dGFsbF9hbGwoc2VsZik6CisgICAgICAgIENvbnNvbGUubWVzc2FnZSgiSW5zdGFsbGluZyAlcyBk
ZXBlbmRlbmNpZXMgaW4gJXMiLCBzZWxmLmJ1aWxkX3R5cGUsIHNlbGYuZmxhdHBha19idWlsZF9w
YXRoKQogICAgICAgICBmb3IgcGFja2FnZSBpbiBzZWxmLnBhY2tzOgogICAgICAgICAgICAgaWYg
bm90IHBhY2thZ2UuaXNfaW5zdGFsbGVkKHNlbGYuc2RrX2JyYW5jaCk6CiAgICAgICAgICAgICAg
ICAgcGFja2FnZS5pbnN0YWxsKCkKQEAgLTkzNSwxOSArODI4LDMwIEBAIGNsYXNzIFdlYmtpdEZs
YXRwYWs6CiAgICAgICAgICMgV2UgbmVlZCBhY2Nlc3MgdG8gdGhlIGhvc3QgZnJvbSB0aGUgc2Fu
ZGJveCB0byBydW4uCiAgICAgICAgIHdpdGggdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKCkg
YXMgY29yZWR1bXA6CiAgICAgICAgICAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5Rmls
ZSgpIGFzIHN0ZGVycjoKLSAgICAgICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoWyJj
b3JlZHVtcGN0bCIsICJkdW1wIl0gKyBzaGxleC5zcGxpdChzZWxmLmNvcmVkdW1wY3RsX21hdGNo
ZXMpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9Y29yZWR1
bXAsIHN0ZGVycj1zdGRlcnIpCisgICAgICAgICAgICAgICAgaWYgc2VsZi5nZGJfc3RhY2tfdHJh
Y2U6CisgICAgICAgICAgICAgICAgICAgIGNtZCA9IFsiY29yZWR1bXBjdGwiLCAiLS1zaW5jZT0l
cyIgJSBzZWxmLmdkYl9zdGFja190cmFjZSwgImR1bXAiXQorICAgICAgICAgICAgICAgIGVsc2U6
CisgICAgICAgICAgICAgICAgICAgIGNtZCA9IFsiY29yZWR1bXBjdGwiLCAiZHVtcCJdICsgc2hs
ZXguc3BsaXQoc2VsZi5jb3JlZHVtcGN0bF9tYXRjaGVzKQorICAgICAgICAgICAgICAgIHRyeToK
KyAgICAgICAgICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGNtZCwgc3Rkb3V0PWNv
cmVkdW1wLCBzdGRlcnI9c3RkZXJyKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNz
LkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlcnI6CisgICAgICAgICAgICAgICAgICAgIHdpdGggb3Bl
bihzdGRlcnIubmFtZSwgJ3InKSBhcyBzdGRlcnJmOgorICAgICAgICAgICAgICAgICAgICAgICAg
c3RkZXJyID0gc3RkZXJyZi5yZWFkKCkKKyAgICAgICAgICAgICAgICAgICAgY21kID0gJyAnLmpv
aW4oZXJyLmNtZCkKKyAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiJyVzJyBy
ZXR1cm5lZCBhIG5vbi16ZXJvIGV4aXQgY29kZS4gU3RkZXJyOiAlcyIgJSAoY21kLCBzdGRlcnIp
KQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXJyLnJldHVybmNvZGUKIAogICAgICAgICAg
ICAgICAgIHdpdGggb3BlbihzdGRlcnIubmFtZSwgJ3InKSBhcyBzdGRlcnJmOgogICAgICAgICAg
ICAgICAgICAgICBzdGRlcnIgPSBzdGRlcnJmLnJlYWQoKQorCiAgICAgICAgICAgICAgICAgZXhl
Y3V0YWJsZSwgPSByZS5maW5kYWxsKCIuKkV4ZWN1dGFibGU6ICguKikiLCBzdGRlcnIpCi0gICAg
ICAgICAgICAgICAgaWYgbm90IGV4ZWN1dGFibGUuc3RhcnRzd2l0aCgiL25ld3Jvb3QiKToKLSAg
ICAgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiRXhlY3V0YWJsZSAlcyBkb2Vzbid0
IHNlZW0gdG8gYmUgYSBmbGF0cGFrZWQgYXBwbGljYXRpb24uXG4iICUgZXhlY3V0YWJsZSkKIAot
ICAgICAgICAgICAgICAgIGV4ZWN1dGFibGUgPSBleGVjdXRhYmxlLnJlcGxhY2UoIi9uZXdyb290
IiwgIiIpCi0gICAgICAgICAgICAgICAgYXJncyA9IFsiZ2RiIiwgZXhlY3V0YWJsZSwgIi9ydW4v
aG9zdC8lcyIgJSBjb3JlZHVtcC5uYW1lXSArIHNobGV4LnNwbGl0KHNlbGYuZ2RiKQorICAgICAg
ICAgICAgICAgIGlmIHNlbGYuZ2RiOgorICAgICAgICAgICAgICAgICAgICBiYXJncyA9IFsiZ2Ri
IiwgZXhlY3V0YWJsZSwgIi9ydW4vaG9zdC8lcyIgJSBjb3JlZHVtcC5uYW1lXSArIHNobGV4LnNw
bGl0KHNlbGYuZ2RiKQorICAgICAgICAgICAgICAgIGVsaWYgc2VsZi5nZGJfc3RhY2tfdHJhY2U6
CisgICAgICAgICAgICAgICAgICAgIGJhcmdzID0gWyJnZGIiLCAnLWV4JywgInRocmVhZCBhcHBs
eSBhbGwgYmFja3RyYWNlIiwgJy0tYmF0Y2gnLCBleGVjdXRhYmxlLCAiL3J1bi9ob3N0LyVzIiAl
IGNvcmVkdW1wLm5hbWVdCiAKLSAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5faW5fc2Fu
ZGJveCgqYXJncykKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5faW5fc2FuZGJveCgq
YmFyZ3MpCiAKICAgICBkZWYgdXBkYXRlX2FsbChzZWxmKToKICAgICAgICAgZm9yIG0gaW4gW3Nl
bGYucnVudGltZSwgc2VsZi5zZGssIHNlbGYuc2RrX2RlYnVnXToKZGlmZiAtLWdpdCBhL1Rvb2xz
L2ZsYXRwYWsvb3JnLndlYmtpdC5Db21tb25Nb2R1bGVzLnlhbWwgYi9Ub29scy9mbGF0cGFrL29y
Zy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBlMWEwN2NmODZmODNiNjg4MzNhNTcyODRlNDcyM2Y1MjJiNzNjNDBiLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtp
dC5Db21tb25Nb2R1bGVzLnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMzEgKzAsMCBAQAotIyBo
dHRwIGFuZCBkZXBlbmRlbmNpZXMuCi0tIG5hbWU6IGFwcgotICBzb3VyY2VzOgotICAgIC0gdHlw
ZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL3d3dy5hcGFjaGUub3JnL2Rpc3QvYXByL2Fw
ci0xLjYuNS50YXIuYnoyCi0gICAgICBzaGEyNTY6IGE2N2NhOWZjZjljNGZmNTliY2U3ZjQyOGEz
MjNjOGI1ZTE4NjY3ZmRlYTdiMGViYWQ0N2QxOTQzNzFiMGExMDUKLS0gbmFtZTogYXByLXV0aWwK
LSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly93d3cu
YXBhY2hlLm9yZy9kaXN0L2Fwci9hcHItdXRpbC0xLjYuMS50YXIuYnoyCi0gICAgICBzaGE1MTI6
ICI0MGVmZjhhMzdjMDYzNGY3ZmRkZGQ2Y2E1ZTU5NmIzOGRlMTVmZDEwNzY3YTM0YzMwYmJlNDlj
NjMyODE2ZThmM2UxZTIzMDY3ODAzNGY1NzhkZDU4MTZhOTRmMjQ2ZmI1ZGZkZjQ4ZDY0NDgyOWFm
MTNiZjI4ZGUzMjI1MjA1ZCIKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLXdpdGgtYXByPS9hcHAv
YmluL2Fwci0xLWNvbmZpZwotLSBuYW1lOiBodHRwZAotICBzb3VyY2VzOgotICAgIC0gdHlwZTog
Z2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9hcGFjaGUvaHR0cGQuZ2l0Ci0gICAg
ICBicmFuY2g6IDIuNC4zNwotICAgIC0gdHlwZSA6IGZpbGUKLSAgICAgIHBhdGggOiBmaWxlcy9o
dHRwZC1hdXRvZ2VuLnNoCi0gICAgICBkZXN0LWZpbGVuYW1lIDogYXV0b2dlbi5zaAotICAgICMg
VGhlIHZlcnNpb24gZW1iZWRkZWQgaW4gdGhlIHNhbmRib3ggZG9lc24ndCBoYXZlIGEgd29ya2lu
ZyBwY3JlLWNvbmZpZwotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IHBhdGNoZXMvaHR0
cGQtMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNo
Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1lbmFibGUtbXBtcy1zaGFyZWQ9YWxsCi0gICAgLSAt
LWVuYWJsZS1tb2R1bGVzPWFsbAotICAgIC0gLS13aXRoLWFwcj0vYXBwL2Jpbi9hcHItMS1jb25m
aWcKLSAgICAtIC0td2l0aC1hcHItdXRpbD0vYXBwL2Jpbi9hcHUtMS1jb25maWcKLSAgICAtIC0t
d2l0aC1wY3JlPS9hcHAKLSAgICAtIC0tZW5hYmxlLWF1dGhuei1mY2dpCi0gICAgLSAtLWVuYWJs
ZS1jZ2kKLSAgICAtIC0tZW5hYmxlLWNnaWQKLS0gbmFtZTogcGhwCi0gIHNvdXJjZXM6Ci0gICAg
LSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHBzOi8vcGhwLm5ldC9kaXN0cmlidXRpb25z
L3BocC03LjIuNi50YXIueHoKLSAgICAgIHNoYTUxMjogZGE4NmIxZmYyZGYzYjllMmQ0NmU1OWE4
MDI5NmI5NDBkODExMzI5NzViNjIxYmRlYzk2MDJmOGI0YzhkOTFhM2ZkY2Q0ZmZkN2NiOTgyZDYz
ZDNlYzk3NGIzYTEyYTc4NTRlNDJhNzNiN2YyY2M4ZWVmYWRlMTQzMzVhYTdjNzEKLSAgY29uZmln
LW9wdHM6Ci0gICAgLSAtLWRpc2FibGUteG1sCi0gICAgLSAtLWRpc2FibGUtZG9tCi0gICAgLSAt
LWRpc2FibGUtbGlieG1sCi0gICAgLSAtLWRpc2FibGUtc2ltcGxleG1sCi0gICAgLSAtLWRpc2Fi
bGUteG1scmVhZGVyCi0gICAgLSAtLWRpc2FibGUteG1sd3JpdGVyCi0gICAgLSAtLXdpdGhvdXQt
cGVhcgotICAgIC0gLS13aXRoLWFweHMyCi0gICAgLSAtLXdpdGgtemxpYgotICAgIC0gLS13aXRo
LWxpYnppcAotICAgIC0gLS1lbmFibGUtc29ja2V0cz1zaGFyZWQKLS0gbmFtZTogbGliZXZlbnQK
LSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5j
b20vbGliZXZlbnQvbGliZXZlbnQuZ2l0Ci0gICAgICBicmFuY2g6IGU3ZmY0ZWYgIyAyLjEuOAot
ICBjb25maWctb3B0czoKLSAgICAtIC0tZGlzYWJsZS1saWJldmVudC1yZWdyZXNzCi0KLSMgUmVx
dWlyZW1lbnQgZm9yIGZsYXRwa3V0aWxzCi0tIG5hbWU6IHB5dGhvbjMtcHlhbWwKLSAgYnVpbGRz
eXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgLSBwaXAzIGluc3RhbGwgLS1uby1p
bmRleCAtLWZpbmQtbGlua3M9ImZpbGU6Ly8ke1BXRH0iIC0tcHJlZml4PSR7RkxBVFBBS19ERVNU
fSBweWFtbAotICBzb3VyY2VzOgotICAtIHR5cGU6IGZpbGUKLSAgICB1cmw6IGh0dHBzOi8vZmls
ZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy80YS84NS9kYjVhMmRmNDc3MDcyYjI5MDJiMGVi
ODkyZmViMzdkODhhYzYzNWQzNjI0NWE3MmE2YTY5YjIzYjM4M2EvUHlZQU1MLTMuMTIudGFyLmd6
Ci0gICAgc2hhMjU2OiA1OTI3NjZjNjMwMzIwN2EyMGVmYzQ0NTU4Nzc3ODMyMmQ3ZjczYjE2MWJk
OTk0ZjIyN2FkYWEzNDFiYTIxMmFiCi0gIC0gdHlwZTogZmlsZQotICAgIHVybDogaHR0cHM6Ly9m
aWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzllLzE3LzFkNGVkNmUxYTRjMDkxOGEwMzU3
ZGZhMmZkYmUyNmJmNjNmNmU2MTYwMTNjMDRhMTRiY2U5ZmQzM2U0MC9weWFtbC0xNy4xMi4xLnRh
ci5negotICAgIHNoYTI1NjogNjY2MjNjNTJmMzRkODNhMmMwZmM5NjNlMDhlOGI5ZDBjMTNkODg0
MDRlM2I0M2IxODUyZWY3MWVkYTE5YWZhMwotCi0tIG5hbWU6IHB5dGhvbjItcHlhbWwKLSAgYnVp
bGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgLSBwaXAyIGluc3RhbGwgLS1u
by1pbmRleCAtLWZpbmQtbGlua3M9ImZpbGU6Ly8ke1BXRH0iIC0tdGFyZ2V0PS9hcHAvbGliL3B5
dGhvbjIuNy9zaXRlLXBhY2thZ2VzLyBweWFtbAotICBzb3VyY2VzOgotICAtIHR5cGU6IGZpbGUK
LSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy80YS84NS9k
YjVhMmRmNDc3MDcyYjI5MDJiMGViODkyZmViMzdkODhhYzYzNWQzNjI0NWE3MmE2YTY5YjIzYjM4
M2EvUHlZQU1MLTMuMTIudGFyLmd6Ci0gICAgc2hhMjU2OiA1OTI3NjZjNjMwMzIwN2EyMGVmYzQ0
NTU4Nzc3ODMyMmQ3ZjczYjE2MWJkOTk0ZjIyN2FkYWEzNDFiYTIxMmFiCi0gIC0gdHlwZTogZmls
ZQotICAgIHVybDogaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzllLzE3
LzFkNGVkNmUxYTRjMDkxOGEwMzU3ZGZhMmZkYmUyNmJmNjNmNmU2MTYwMTNjMDRhMTRiY2U5ZmQz
M2U0MC9weWFtbC0xNy4xMi4xLnRhci5negotICAgIHNoYTI1NjogNjY2MjNjNTJmMzRkODNhMmMw
ZmM5NjNlMDhlOGI5ZDBjMTNkODg0MDRlM2I0M2IxODUyZWY3MWVkYTE5YWZhMwotCi0tIG5hbWU6
IHB5dGhvbjItc3VicHJvY2VzczMyCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29t
bWFuZHM6Ci0gIC0gcGlwMiBpbnN0YWxsIC0tdGFyZ2V0PS9hcHAvbGliL3B5dGhvbjIuNy9zaXRl
LXBhY2thZ2VzLyAuCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogYXJjaGl2ZQotICAgIHVybDogaHR0
cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzL2JlLzJiL2JlZWJhNTgzZTk4Nzdl
NjRkYjEwYjUyYTk2OTE1YWZjMGZlYWJmNzE0NGRjYmYyYTBkMGVhNjhiZjczZC9zdWJwcm9jZXNz
MzItMy41LjMudGFyLmd6Ci0gICAgc2hhMjU2OiA2YmM4Mjk5MjMxNmVlZjNjY2ZmMzE5YjUwMzM4
MDk4MDFjMGMzMzcyNzA5YzVmNjk4NTI5OWM4OGFjNzIyNWMzCi0KLSMgR1N0cmVhbWVyIG1vZHVs
ZXMKLS0gbmFtZTogbGlidnB4Ci0gIG5vLWF1dG9nZW46IHRydWUKLSAgc291cmNlczoKLSAgICAt
IHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20v
d2VibS9saWJ2cHgKLSAgICAgIGJyYW5jaDogdjEuNy4wCi0gIGNvbmZpZy1vcHRzOgotICAgIC0g
LS1lbmFibGUtcGljCi0gICAgLSAtLWFzPW5hc20KLSAgICAtIC0tZGlzYWJsZS11bml0LXRlc3Rz
Ci0gICAgLSAtLXNpemUtbGltaXQ9MTYzODR4MTYzODQKLSAgICAtIC0tZW5hYmxlLXBvc3Rwcm9j
Ci0gICAgLSAtLWVuYWJsZS1tdWx0aS1yZXMtZW5jb2RpbmcKLSAgICAtIC0tZW5hYmxlLXRlbXBv
cmFsLWRlbm9pc2luZwotICAgIC0gLS1lbmFibGUtdnA5LXRlbXBvcmFsLWRlbm9pc2luZwotICAg
IC0gLS1lbmFibGUtdnA5LXBvc3Rwcm9jCi0gICAgLSAtLWVuYWJsZS1zaGFyZWQKLS0gbmFtZTog
YW9tCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9hb21l
ZGlhLmdvb2dsZXNvdXJjZS5jb20vYW9tCi0gICAgICBicmFuY2g6IGNkYjA4M2U4NGE3MWQ2ZDMx
MTYzYTRmNjRmMThkYzEzMjhmZDc4MmMKLSAgYnVpbGRzeXN0ZW06IGNtYWtlLW5pbmphCi0gIGJ1
aWxkZGlyOiB0cnVlCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURCVUlMRF9TSEFSRURfTElCUz0x
Ci0tIG5hbWU6IGxpYnVud2luZAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1
cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9saWJ1bndpbmQvbGlidW53aW5kLmdpdAotICAgICAgY29t
bWl0OiB2MS4yLjEKLS0gbmFtZTogbGlib3BlbmgyNjQKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0g
IHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29t
L2Npc2NvL29wZW5oMjY0LmdpdAotICAgICAgYnJhbmNoOiBhMWIzZjA3YzUyNzFmMzEyOTk3ZmNj
MzQ1MTIzNzAzMTQ0NGM0NDc1ICMgMS44LjAgKyBmaXggZm9yIGdjYyA4Ci0tIG5hbWU6IGdzdHJl
YW1lcgotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAot
ICAgICAgdXJsOiBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdHJl
YW1lci5naXQKLSAgICAgIGJyYW5jaDogMS4xNi4xCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURn
dGtfZG9jPWRpc2FibGVkCi0gICAgLSAtRGludHJvc3BlY3Rpb249ZGlzYWJsZWQKLSAgICAtIC1E
ZXhhbXBsZXM9ZGlzYWJsZWQKLSAgICAtIC1EdGVzdHM9ZGlzYWJsZWQKLS0gbmFtZTogZ3N0LXBs
dWdpbnMtYmFzZQotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoKLSAgICAtIHR5cGU6
IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVy
L2dzdC1wbHVnaW5zLWJhc2UuZ2l0Ci0gICAgICBicmFuY2g6IDEuMTYuMQotICAgIC0gdHlwZTog
cGF0Y2gKLSAgICAgIHBhdGg6IC4uL2dzdHJlYW1lci9wYXRjaGVzL2Jhc2UtMDAwMS1wbGF5Ymlu
LUhhbmRsZS1lcnJvci1tZXNzYWdlLXdpdGgtcmVkaXJlY3Rpb24taW5kaWNhLnBhdGNoCi0gICAg
LSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3N0cmVhbWVyL3BhdGNoZXMvYmFzZS0wMDAx
LWdsdXBsb2FkLUFkZC1WaWRlb01ldGFzLWFuZC1HTFN5bmNNZXRhLXRvLXRoZS1yYXctdXAucGF0
Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlzYWJsZWQKLSAgICAtIC1EaW50
cm9zcGVjdGlvbj1kaXNhYmxlZAotICAgIC0gLURleGFtcGxlcz1kaXNhYmxlZAotICAgIC0gLUR0
ZXN0cz1kaXNhYmxlZAotLSBuYW1lOiBnc3QtcGx1Z2lucy1nb29kCi0gIGJ1aWxkc3lzdGVtOiBt
ZXNvbgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0
bGFiLmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtZ29vZC5naXQKLSAgICAg
IGJyYW5jaDogMS4xNi4xCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3N0cmVh
bWVyL3BhdGNoZXMvZ29vZC0wMDAxLXF0ZGVtdXgtU3BlY2lmeS1SRURJUkVDVC1pbmZvcm1hdGlv
bi1pbi1lcnJvci1tZXNzYWcucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9
ZGlzYWJsZWQKLSAgICAtIC1EaW50cm9zcGVjdGlvbj1kaXNhYmxlZAotICAgIC0gLURleGFtcGxl
cz1kaXNhYmxlZAotICAgIC0gLURndGszPWRpc2FibGVkCi0tIG5hbWU6IHgyNjQKLSAgY29uZmln
LW9wdHM6Ci0gICAgLSAiLS1lbmFibGUtc2hhcmVkIgotICAgIC0gIi0tZW5hYmxlLXN0YXRpYyIK
LSAgICAtICItLWVuYWJsZS1waWMiCi0gICAgLSAiLS1kaXNhYmxlLWxhdmYiCi0gICAgLSAiLS1k
aXNhYmxlLWFzbSIKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDog
aHR0cDovL2Rvd25sb2FkLnZpZGVvbGFuLm9yZy9wdWIveDI2NC9zbmFwc2hvdHMveDI2NC1zbmFw
c2hvdC0yMDE0MDIxMi0yMjQ1LXN0YWJsZS50YXIuYnoyCi0gICAgICBzaGEyNTY6IDVkOThlOWU0
ZmFmNmRkNTVlNzE5M2VkMzc5YWZmNDc3YjhhY2JkYTY3Nzc3NTg5NTZlZjdlNWYwNTA2N2JlMTgK
LS0gbmFtZTogZ3N0LXBsdWdpbnMtdWdseQotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNl
czoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0
b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtdWdseQotICAgICAgYnJhbmNoOiAxLjE2
LjAKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlzYWJsZWQKLS0gbmFtZTogZ3N0
LXBsdWdpbnMtYmFkCi0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0gdHlw
ZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFt
ZXIvZ3N0LXBsdWdpbnMtYmFkLmdpdAotICAgICAgYnJhbmNoOiAxLjE2LjEKLSAgICAtIHR5cGU6
IHBhdGNoCi0gICAgICBwYXRoOiAuLi9nc3RyZWFtZXIvcGF0Y2hlcy9nc3QtcGx1Z2lucy1iYWQt
MDAwMS1oMjY0cGFyc2UtUG9zdC1hLVdBUk5JTkctd2hlbi1kYXRhLWlzLWJyb2tlbi5wYXRjaAot
ICBjb25maWctb3B0czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotICAgIC0gLURpbnRyb3Nw
ZWN0aW9uPWRpc2FibGVkCi0gICAgLSAtRGV4YW1wbGVzPWRpc2FibGVkCi0tIG5hbWU6IGZmbXBl
ZwotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL2Zm
bXBlZy5vcmcvcmVsZWFzZXMvZmZtcGVnLTQuMC40LnRhci5negotICAgICAgc2hhMjU2OiA4MGJi
Njg1YWJmY2RkYTdjOWI2YzljNWNhZjFkOGRiYjkyNzg1ODA1MGQ3Mzc3YzJiOGYzNDg4YzdlOGE5
YjdmCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1lbmFibGUtc3RhdGljCi0gICAgLSAtLWVuYWJs
ZS1waWMKLSAgICAtIC0tZGlzYWJsZS1hdmRldmljZQotICAgIC0gLS1kaXNhYmxlLXBvc3Rwcm9j
Ci0gICAgLSAtLWRpc2FibGUtc3dzY2FsZQotICAgIC0gLS1kaXNhYmxlLXByb2dyYW1zCi0gICAg
LSAtLWRpc2FibGUtZmZwbGF5Ci0gICAgLSAtLWRpc2FibGUtZmZwcm9iZQotICAgIC0gLS1kaXNh
YmxlLWZmbXBlZwotICAgIC0gLS1kaXNhYmxlLWVuY29kZXI9ZmxhYwotICAgIC0gLS1kaXNhYmxl
LXByb3RvY29scwotICAgIC0gLS1kaXNhYmxlLWRldmljZXMKLSAgICAtIC0tZGlzYWJsZS1uZXR3
b3JrCi0gICAgLSAtLWRpc2FibGUtaHdhY2NlbHMKLSAgICAtIC0tZGlzYWJsZS1keHZhMgotICAg
IC0gLS1kaXNhYmxlLXZkcGF1Ci0gICAgLSAtLWRpc2FibGUtZmlsdGVycwotICAgIC0gLS1lbmFi
bGUtZmlsdGVyPXlhZGlmCi0gICAgLSAtLWRpc2FibGUtZG9jCi0gICAgLSAtLWRpc2FibGUtZDNk
MTF2YQotICAgIC0gLS1kaXNhYmxlLWR4dmEyCi0gICAgLSAtLWRpc2FibGUtYXVkaW90b29sYm94
Ci0gICAgLSAtLWRpc2FibGUtdmlkZW90b29sYm94Ci0gICAgLSAtLWRpc2FibGUtdmFhcGkKLSAg
ICAtIC0tZGlzYWJsZS1jcnlzdGFsaGQKLSAgICAtIC0tZGlzYWJsZS1tZWRpYWNvZGVjCi0gICAg
LSAtLWRpc2FibGUtbnZlbmMKLSAgICAtIC0tZGlzYWJsZS1tbWFsCi0gICAgLSAtLWRpc2FibGUt
b214Ci0gICAgLSAtLWRpc2FibGUtb214LXJwaQotICAgIC0gLS1kaXNhYmxlLWN1ZGEKLSAgICAt
IC0tZGlzYWJsZS1jdXZpZAotICAgIC0gLS1kaXNhYmxlLWxpYm1meAotICAgIC0gLS1kaXNhYmxl
LWxpYm5wcAotICAgIC0gLS1kaXNhYmxlLWljb252Ci0gICAgLSAtLWRpc2FibGUtam5pCi0gICAg
LSAtLWRpc2FibGUtdjRsMl9tMm0KLSAgICAtIC0tZW5hYmxlLW9wdGltaXphdGlvbnMKLS0gbmFt
ZTogZ3N0LWxpYmF2Ci0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBidWlsZGRpcjogdHJ1ZQotICBz
b3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL2dzdHJlYW1l
ci5mcmVlZGVza3RvcC5vcmcvc3JjL2dzdC1saWJhdi9nc3QtbGliYXYtMS4xNi4xLnRhci54egot
ICAgICAgc2hhMjU2OiBlOGE1NzQ4YWU5YTRhN2JlOTY5NjUxMjE4MmVhOWZmYTZlZmUwYmU5Yjc5
NzY5MTY1NDhlOWQ0MzgxY2E2MWM0Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9jPWRp
c2FibGVkCi0KLS0gbmFtZTogbGliZ2NyeXB0ICMgU3BlZWR1cCBsaWJnY3J5cHQKLSAgc291cmNl
czoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Rldi5nbnVwZy5vcmcvc291
cmNlL2xpYmdjcnlwdC5naXQKLSAgICAgIGJyYW5jaDogbGliZ2NyeXB0LTEuOC40Ci0gICAgLSB0
eXBlOiBwYXRjaAotICAgICAgcGF0aDogcGF0Y2hlcy9saWJnY3J5cHQtMDAwMS1Vc2UtcGtnLWNv
bmZpZy10by1kZXRlY3QtZ3BnLWVycm9yLnBhdGNoCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAg
cGF0aDogLi4vZ3RrL3BhdGNoZXMvbGliZ2NyeXB0LXVzZS1vbmx5LWRldi11cmFuZG9tLWZvci10
ZXN0aW5nLnBhdGNoCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1kaXNhYmxlLWRvYwotCi0tIG5h
bWU6IHBlcmwtY2dpLXBtCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6
Ci0gICAgLSBwZXJsIE1ha2VmaWxlLlBMIFBSRUZJWD0vYXBwIExJQj0vYXBwL2xpYi9wZXJsLwot
ICAgIC0gbWFrZSBpbnN0YWxsCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAg
ICB1cmw6IGh0dHBzOi8vY3Bhbi5tZXRhY3Bhbi5vcmcvYXV0aG9ycy9pZC9ML0xFL0xFRUpPL0NH
SS00LjM4LnRhci5negotICAgICAgc2hhMjU2OiA4YzU4ZjRhNTI5YmI5MmE5MTRiMjJiN2U2NGM1
ZTMxMTg1Yzk4NTRhNDA3MGE2ZGZhZDQ0ZmU1Y2MyNDhlN2Q0Ci0KLS0gbmFtZTogcHl0aG9uMi12
aXJ0dWFsZW52Ci0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gIC0g
cGlwMiBpbnN0YWxsIC0tbm8taW5kZXggLS1maW5kLWxpbmtzPSJmaWxlOi8vJHtQV0R9IiAtLXRh
cmdldD0vYXBwL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy8gdmlydHVhbGVudgotICAtIGxu
IC1zIC9hcHAvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3ZpcnR1YWxlbnYucHkgL2FwcC9i
aW4vdmlydHVhbGVudgotICAtIGNobW9kICt4IC9hcHAvYmluL3ZpcnR1YWxlbnYKLSAgc291cmNl
czoKLSAgLSB0eXBlOiBmaWxlCi0gICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5v
cmcvcGFja2FnZXMvMzMvYmMvZmEwYjUzNDcxMzljZDk1NjRmMGQ0NGViZDJiMTQ3YWM5N2MzNmIy
NDAzOTQzZGJlZThhMjVmZDc0MDEyL3ZpcnR1YWxlbnYtMTYuMC4wLnRhci5negotICAgIHNoYTI1
NjogY2EwN2I0YzBiNTRlMTRhOTFhZjlmMzRkMDkxOTc5MGIwMTY5MjNkMTU3YWZkYTVlZmRkZTU1
Yzk2NzE4Zjc1MgotCi0tIG5hbWU6IGxpYmNhcC1uZwotICBzb3VyY2VzOgotICAgIC0gdHlwZTog
Z2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdGV2ZWdydWJiL2xpYmNhcC1uZwot
ICAgICAgYnJhbmNoOiB2MC43LjkKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLXdpdGgtcHl0aG9u
PW5vCi0gICAgLSAtLXdpdGgtcHl0aG9uMz1ubwotCi0tIG5hbWU6IGx6bzIKLSAgc291cmNlczoK
LSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cDovL3d3dy5vYmVyaHVtZXIuY29t
L29wZW5zb3VyY2UvbHpvL2Rvd25sb2FkL2x6by0yLjEwLnRhci5negotICAgICAgc2hhMTogNDky
NDY3NmE5YmFlNWRiNThlZjEyOWRjMWNlYmNlM2JhYTNjNGI1ZAotCi0tIG5hbWU6IGljZWNjCi0g
IHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29t
L2ljZWNjL2ljZWNyZWFtCi0gICAgICB0YWc6ICIxLjIiCi0gICAgICBjb21taXQ6IGUzZDEwYTMy
YmM2YzA0NmQ4ZjNkMTE4MmU3NWM2NTlkNGIyOGVkNDkKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAt
LXdpdGhvdXQtbWFuCi0KLS0gbmFtZTogYnJvdGxpCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogYXJj
aGl2ZQotICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9icm90bGkvYXJjaGl2ZS92
MS4wLjUudGFyLmd6Ci0gICAgc2hhMjU2OiAzZDViZWRkNDhlZGI5MDlmZTNiODdjYjk5ZjdkMTM5
Yjk4N2VmNmYxNjE2YjdlMjJkNzRlOTI4MjcwYTJmZDIwCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1u
aW5qYQotCi0tIG5hbWU6IHdvZmYyCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogYXJjaGl2ZQotICAg
IHVybDogaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS93b2ZmMi9hcmNoaXZlL3YxLjAuMi50YXIu
Z3oKLSAgICBzaGEyNTY6IGFkZDI3MmJiMDllNjM4NGE0ODMzZmZjYTQ4OTYzNTBmZGIxNmUwY2Ey
MmRmNjhjMDM4NDc3M2M2N2ExNzU1OTQKLSAgYnVpbGRzeXN0ZW06IGNtYWtlLW5pbmphCi0KLS0g
bmFtZTogb3BlbmpwZWcKLSAgc291cmNlczoKLSAgLSB0eXBlOiBhcmNoaXZlCi0gICAgdXJsOiBo
dHRwOi8vZ2l0aHViLmNvbS91Y2xvdXZhaW4vb3BlbmpwZWcvYXJjaGl2ZS92Mi4zLjAudGFyLmd6
Ci0gICAgc2hhMjU2OiAzZGM3ODdjMWJiNjAyM2JhODQ2YzJhMGQ5YjFmNmUxNzlmMWNkMjU1MTcy
YmRlOWViNzViMDFmMWU2YzdkNzFhCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1uaW5qYQpkaWZmIC0t
Z2l0IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LkdUSy55YW1sIGIvVG9vbHMvZmxhdHBhay9v
cmcud2Via2l0LkdUSy55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NjNiNTYw
NDQwODA0NWVkMDg3YzdjMjY3YTU5MzJiODRlNjMwZDNmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5HVEsueWFt
bAorKysgL2Rldi9udWxsCkBAIC0xLDEyMyArMCwwIEBACi0tIG5hbWU6IG1lc2EKLSAgc291cmNl
czoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly9tZXNhLmZyZWVkZXNr
dG9wLm9yZy9hcmNoaXZlL21lc2EtMTguMC4zLnRhci54egotICAgICAgc2hhMjU2OiAwOTlkOTY2
NzMyN2E3NmE2MTc0MWE1MzNmOTUwNjdkNzZlYTcxYTY1NmU2NmI5MTUwN2IzYzBjYWYxZDQ5ZTMw
Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1wcmVmaXg9L2FwcC9zb2Z0R0wKLSAgICAtIC0tZGlz
YWJsZS1kcmkzCi0gICAgLSAtLWVuYWJsZS1kcmkKLSAgICAtIC0tZW5hYmxlLWdseAotICAgIC0g
LS1lbmFibGUtZWdsCi0gICAgLSAtLXdpdGgtZWdsLXBsYXRmb3Jtcz14MTEsd2F5bGFuZAotICAg
IC0gLS13aXRoLWRyaS1kcml2ZXJzPXN3cmFzdAotICAgIC0gLS13aXRoLWdhbGxpdW0tZHJpdmVy
cz1zd3Jhc3QKLQotLSBuYW1lOiB3ZWJraXRndGstdGVzdC1mb250cwotICBuby1hdXRvZ2VuOiB0
cnVlCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRo
dWIuY29tL1dlYktpdEdUSy93ZWJraXRndGstdGVzdC1mb250cy5naXQKLSAgYnVpbGRzeXN0ZW06
IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgICAjIEZJWE1FOiBNYWtlIEFjdGl2YXRlRm9u
dFdQRSBzbWFydGVyLgotICAgIC0gbWFrZSBpbnN0YWxsIERFU1RESVI9L2FwcC9XZWJLaXRCdWls
ZC9EZXBlbmRlbmNpZXNHVEsvUm9vdAotCi0tIG5hbWU6IHhvcmctdXRpbC1tYWNyb3MKLSAgc291
cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRl
c2t0b3Aub3JnL2dpdC94b3JnL3V0aWwvbWFjcm9zLmdpdAotICAgICAgYnJhbmNoOiB1dGlsLW1h
Y3Jvcy0xLjE5LjIKLQotLSBuYW1lOiB4b3JnLWZvbnQtdXRpbAotICBzb3VyY2VzOgotICAgIC0g
dHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0
L3hvcmcvZm9udC91dGlsLmdpdAotICAgICAgYnJhbmNoOiBmb250LXV0aWwtMS4zLjEKLQotLSBu
YW1lOiB4a2JmaWxlCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIGJyYW5jaDog
bGlieGtiZmlsZS0xLjAuOQotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Au
b3JnL2dpdC94b3JnL2xpYi9saWJ4a2JmaWxlLmdpdAotCi0tIG5hbWU6IGZvbnRlbmMKLSAgc291
cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgYnJhbmNoOiBsaWJmb250ZW5jLTEuMS4zCi0g
ICAgICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcvbGliL2xp
YmZvbnRlbmMuZ2l0Ci0KLS0gbmFtZTogeGZvbnQKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdp
dAotICAgICAgYnJhbmNoOiBsaWJYZm9udDItMi4wLjMKLSAgICAgIHVybDogaHR0cHM6Ly9hbm9u
Z2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy9saWIvbGliWGZvbnQuZ2l0Ci0KLS0gbmFtZTog
eHZmYgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vYW5v
bmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcveHNlcnZlci5naXQKLSAgICAgIGJyYW5jaDog
eG9yZy1zZXJ2ZXItMS4xOS42Ci0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogcGF0Y2hl
cy94dmZiLTAwMDEtSEFDSy1Bdm9pZC1jb21waWxpbmctYS1rYm0tZmlsZS5wYXRjaAotICAgIC0g
dHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2d0ay9wYXRjaGVzL3hzZXJ2ZXItcmVtb3ZlLWJv
Z3VzLWRlcGVuZGVuY2llcy5wYXRjaAotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4u
L2d0ay9wYXRjaGVzL3hzZXJ2ZXItc2VhcmNoLWZvci1EUkktZHJpdmVycy1hdC1MSUJHTF9EUklW
RVJTX1BBVEgtZW52aXJvbi5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC0tZW5hYmxlLXh2
ZmIKLSAgICAtIC0tZGlzYWJsZS14d2F5bGFuZAotICAgIC0gLS1lbmFibGUteHZmYgotICAgIC0g
LS1kaXNhYmxlLXh3YXlsYW5kCi0gICAgLSAtLWRpc2FibGUteGluZXJhbWEKLSAgICAtIC0tZW5h
YmxlLWdseAotICAgIC0gLS1lbmFibGUtY29tcG9zaXRlCi0gICAgLSAtLWRpc2FibGUteG9yZwot
ICAgIC0gLS1kaXNhYmxlLWRteAotICAgIC0gLS1kaXNhYmxlLXhuZXN0Ci0gICAgLSAtLWRpc2Fi
bGUteHF1YXJ0egotICAgIC0gLS1kaXNhYmxlLXh3aW4KLSAgICAtIC0tZGlzYWJsZS14ZXBoeXIK
LSAgICAtIC0tZGlzYWJsZS14ZmFrZQotICAgIC0gLS1kaXNhYmxlLXhmYmRldgotICAgIC0gLS1k
aXNhYmxlLWluc3RhbGwtc2V0dWlkCi0gICAgLSAtLWRpc2FibGUtdW5pdC10ZXN0cwotICAgIC0g
LS1kaXNhYmxlLXByZXNlbnQKLSAgICAtIC0tZW5hYmxlLXVuaXgtdHJhbnNwb3J0Ci0gICAgLSAt
LWVuYWJsZS10Y3AtdHJhbnNwb3J0Ci0gICAgLSAtLWRpc2FibGUtbG9jYWwtdHJhbnNwb3J0Ci0g
ICAgLSAtLXdpdGhvdXQtZHRyYWNlCi0KLSMgUmVxdWlyZWQgZm9yIHJ1bi1ndGstdGVzdHMKLS0g
bmFtZTogcHljYWlybwotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgot
ICAtIHB5dGhvbjIgc2V0dXAucHkgaW5zdGFsbCAtLXByZWZpeD0vYXBwCi0gIHNvdXJjZXM6Ci0g
IC0gdHlwZTogYXJjaGl2ZQotICAgIHVybDogaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcGFja2Fn
ZXMvZWYvOTcvYjMzZGM1MzNlYTYwNzZkNGVhOWNiZDJmZTA0OWEyYjRhM2RmNWM1YjZmYmE5YTE4
MjYxNmY2ZjhkMzEwL3B5Y2Fpcm8tMS4xNS40LnRhci5negotICAgIHNoYTI1NjogZWU0YzMwNjhj
MDQ4MjMwZTVjZTc0YmI4OTk0YTAyNDcxMTEyOWJkZTFhZjFkNzZlMzI3NmM3YWNkODFjNDM1Nwot
ICBjbGVhbnVwOgotICAtICIvaW5jbHVkZSIKLSAgLSAiL2xpYi9wa2djb25maWciCi0KLS0gbmFt
ZTogcHlnb2JqZWN0LXB5dGhvbjIKLSAgYnVpbGQtb3B0aW9uczoKLSAgICBlbnY6Ci0gICAgICBQ
WVRIT046ICIvdXNyL2Jpbi9weXRob24yIgotICBzb3VyY2VzOgotICAtIHR5cGU6IGFyY2hpdmUK
LSAgICB1cmw6IGh0dHBzOi8vZG93bmxvYWQuZ25vbWUub3JnL3NvdXJjZXMvcHlnb2JqZWN0LzMu
MjgvcHlnb2JqZWN0LTMuMjguMS50YXIueHoKLSAgICBzaGEyNTY6IDQyMzEyYjRhNTAxNTU3MWZh
MGE0ZjJkMjAxMDA1ZGE0NmI3MWMyNTFlYTI2MjViYzk1NzAyZDA3MWM0ZmY4OTUKLSAgY2xlYW51
cDoKLSAgLSAiL2luY2x1ZGUiCi0gIC0gIi9saWIvcGtnY29uZmlnIgotICAtICIvbGliL3B5dGhv
bjIuNy9zaXRlLXBhY2thZ2VzL2dpLyoubGEiCi0KLS0gb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlh
bWwKLQotLSBuYW1lOiBvcmcud2Via2l0LkdUSwotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1
aWxkLWNvbW1hbmRzOgotICAgIC0gL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJr
aXQgLS1ndGsgLS1wcmVmaXg9L2FwcAotCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29yZy53
ZWJraXQuV1BFLnlhbWwgYi9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFLnlhbWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjYmFiYmFhMGNiOGUxNThhZDQ0NDFmOThiNGQwNTNh
OGNiM2JhNzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
VG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRS55YW1sCisrKyAvZGV2L251bGwKQEAgLTEsMTQg
KzAsMCBAQAotLSBvcmcud2Via2l0LldQRU1vZHVsZXMueWFtbAotLSBuYW1lOiB3ZWJraXRndGst
dGVzdC1mb250cwotICBuby1hdXRvZ2VuOiB0cnVlCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBn
aXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL1dlYktpdEdUSy93ZWJraXRndGstdGVz
dC1mb250cy5naXQKLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAg
ICAjIEZJWE1FOiBNYWtlIEFjdGl2YXRlRm9udFdQRSBzbWFydGVyLgotICAgIC0gbWFrZSBpbnN0
YWxsIERFU1RESVI9L2FwcC9XZWJLaXRCdWlsZC9EZXBlbmRlbmNpZXNXUEUvUm9vdAotLSBuYW1l
OiBvcmcud2Via2l0LldQRQotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRz
OgotICAgIC0gL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgLS13cGUgLS1w
cmVmaXg9L2FwcApkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRU1vZHVs
ZXMueWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE4MGUyY2NiM2E0ZDk1MjJhNjA3OTM0YzA2ZTBhZjky
MDViZjAyMTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
VG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRU1vZHVsZXMueWFtbAorKysgL2Rldi9udWxsCkBA
IC0xLDEyICswLDAgQEAKLS0gbmFtZTogbGlid3BlCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1uaW5q
YQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL3dw
ZXdlYmtpdC5vcmcvcmVsZWFzZXMvbGlid3BlLTEuNC4wLnRhci54egotICAgICAgc2hhMjU2OiBl
MmQzNDk0ZmMzM2ZlOTQ2YWQ5MTdmZDZhM2FiZDEyNzQ2MmI5MWJiYTYyZWY4YjM1NTA3ZTkyZjhl
ZGU0MTg4Ci0tIG5hbWU6IHdwZWJhY2tlbmQtZmRvCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1uaW5q
YQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL3dw
ZXdlYmtpdC5vcmcvcmVsZWFzZXMvd3BlYmFja2VuZC1mZG8tMS40LjAudGFyLnh6Ci0gICAgICBz
aGEyNTY6IGE5MTljYTRhNWJjNDQ1Zjk0MTlhNWI3ZjM3ODFjZmM5OGU1YWJjZjVkNzI1OWViMTg2
OWY1YWIyMGZkMThiYWYKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVR
VC55YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRVFULnlhbWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGRlMzY5NTdhNDYxYmMzNDc5YTM4ZWZmZGU2ZDk1OGJkMDA3MjY3
OGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMv
ZmxhdHBhay9vcmcud2Via2l0LldQRVFULnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCww
IEBACi1hcHAtaWQ6IG9yZy53ZWJraXQuV1BFUVQKLXJ1bnRpbWU6IG9yZy5rZGUuUGxhdGZvcm0K
LXJ1bnRpbWUtdmVyc2lvbjogIjUuMTIiCi0jIENvbnRyb2wgdGhlIGV4YWN0IHZlcnNpb24gb2Yg
dGhlIFNkay9SdW50aW1lIHRoYXQgaXMgYmVpbmcgdXNlZC4KLXNkay1oYXNoOiBkNmVmYTI0ZTI3
YzFjODc4YWQ0ZmRlNzZiNzNjOTZhMTFiZTMyYjU5OGFlODdhZWZiZTMzOWVlNGJiMTlhOGJlCi1y
dW50aW1lLWhhc2g6IDEwMTg3MWUwOTEwMDA2MTZhZDJiNjM1ZTA2YzQxNGViMGUxYzRlMWMzNDI5
MmEyMDVjNTIzOTkzNWVlNWVhNDQKLXNkazogb3JnLmtkZS5TZGsKLWNvbW1hbmQ6ICUoQ09NTUFO
RClzCi1maW5pc2gtYXJnczoKLSAgIyBCYXNpY2FsbHkgbm8gc2FuZGJveGluZywgdGhlIGdvYWwg
aGVyZSBpcyB0byBtYWtlIGl0IGZsZXhpYmxlCi0gICMgZm9yIGRldmVsb3BlcnMsIG5vdCByZWFs
bHkgdG8gaXNvbGF0ZSAob3Blbm5pbmcgYWxsIGRldmljZXMKLSAgIyB0byBhbGxvdyBhY2NlcyB2
aWRlbyBjYW1lcmFzIHVudGlsIHdlIGhhdmUgYSBwb3J0YWwgYXQgbGVhc3QpLgotICAtIC0tc2hh
cmU9aXBjCi0gIC0gLS1zb2NrZXQ9eDExCi0gIC0gLS1zb2NrZXQ9d2F5bGFuZAotICAtIC0tZGV2
aWNlPWFsbAotICAtIC0tc2hhcmU9bmV0d29yawotICAtIC0tc29ja2V0PXB1bHNlYXVkaW8KLSAg
LSAtLXN5c3RlbS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkdlb0NsdWUyCi0gIC0gLS1zeXN0
ZW0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cwotICAtIC0tZmlsZXN5c3RlbT1ob3N0Ci0gIC0gLS1z
b2NrZXQ9c3lzdGVtLWJ1cwotICAtIC0tdGFsay1uYW1lPW9yZy5mcmVlZGVza3RvcC5GbGF0cGFr
Ci0gIC0gLS1lbnY9R1NUX1BSRVNFVF9QQVRIPS9hcHAvc2hhcmUvZ3N0cmVhbWVyLTEuMC9wcmVz
ZXRzLwotYnVpbGQtb3B0aW9uczoKLSAgY2ZsYWdzOiAtTzIgLWcKLSAgY3h4ZmxhZ3M6IC1PMiAt
ZwotICBzdHJpcDogZmFsc2UKLSAgbm8tZGVidWdpbmZvOiB0cnVlCi1tb2R1bGVzOgotICAtIG9y
Zy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sCi0gIC0gb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlh
bWwKLQotICAjIFRoaXMgbW9kdWxlIGlzIG5vdCBhY3R1YWxseSBidWlsdC4KLSAgLSBuYW1lOiBv
cmcud2Via2l0LldQRVFUCi0gICAgYnVpbGRzeXN0ZW06IGNtYWtlCi0gICAgc291cmNlczoKLSAg
ICAtIHR5cGU6IGRpcgotICAgICAgcGF0aDogL2FwcC93ZWJraXQvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL3dwZS9xdApkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0Lldl
YktpdC55YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldlYktpdC55YW1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNmQ2MTI2NjBkOGEyMDQ1ZGEzMTJmZGIwOTFiNzhlNThh
ODA3ZTY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rv
b2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XZWJLaXQueWFtbAorKysgL2Rldi9udWxsCkBAIC0xLDMz
ICswLDAgQEAKLWFwcC1pZDogJShQT1JUTkFNRSlzCi1ydW50aW1lOiBvcmcuZ25vbWUuUGxhdGZv
cm0KLXJ1bnRpbWUtdmVyc2lvbjogIjMuMzIiCi0jIENvbnRyb2wgdGhlIGV4YWN0IHZlcnNpb24g
b2YgdGhlIFNkay9SdW50aW1lIHRoYXQgaXMgYmVpbmcgdXNlZC4KLXNkay1oYXNoOiBiM2I5YjFk
MWIxOWVhMmJiNzIwMTk0MjhjYTc1YzdhNzg0NTVlOTg2YTBmOTFkZGRmNmEyOWM5Mjk5MGNjNWE3
Ci1ydW50aW1lLWhhc2g6IDdjOWQ1NTkyZDgwNWQwYjdjMjEyMTkwZmQ4MTE4ZTRjNzhjYjhlZDhm
ODFlNjg3ODU4OTcyNjcwZGFjY2ZmNzYKLXNkazogb3JnLmdub21lLlNkawotY29tbWFuZDogJShD
T01NQU5EKXMKLWZpbmlzaC1hcmdzOgotICAjIEJhc2ljYWxseSBubyBzYW5kYm94aW5nLCB0aGUg
Z29hbCBoZXJlIGlzIHRvIG1ha2UgaXQgZmxleGlibGUKLSAgIyBmb3IgZGV2ZWxvcGVycywgbm90
IHJlYWxseSB0byBpc29sYXRlIChvcGVubmluZyBhbGwgZGV2aWNlcwotICAjIHRvIGFsbG93IGFj
Y2VzIHZpZGVvIGNhbWVyYXMgdW50aWwgd2UgaGF2ZSBhIHBvcnRhbCBhdCBsZWFzdCkuCi0gIC0g
LS1zaGFyZT1pcGMKLSAgLSAtLXNvY2tldD14MTEKLSAgLSAtLXNvY2tldD13YXlsYW5kCi0gIC0g
LS1kZXZpY2U9YWxsCi0gIC0gLS1zaGFyZT1uZXR3b3JrCi0gIC0gLS1zb2NrZXQ9cHVsc2VhdWRp
bwotICAtIC0tc3lzdGVtLXRhbGstbmFtZT1vcmcuZnJlZWRlc2t0b3AuR2VvQ2x1ZTIKLSAgLSAt
LXN5c3RlbS10YWxrLW5hbWU9b3JnLmExMXkuQnVzCi0gIC0gLS1maWxlc3lzdGVtPWhvc3QKLSAg
LSAtLXNvY2tldD1zeXN0ZW0tYnVzCi0gIC0gLS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkZs
YXRwYWsKLSAgLSAtLWVudj1HU1RfUFJFU0VUX1BBVEg9L2FwcC9zaGFyZS9nc3RyZWFtZXItMS4w
L3ByZXNldHMvCi1idWlsZC1vcHRpb25zOgotICBjZmxhZ3M6IC1PMiAtZwotICBjeHhmbGFnczog
LU8yIC1nCi0gIHN0cmlwOiBmYWxzZQotICBuby1kZWJ1Z2luZm86IHRydWUKLW1vZHVsZXM6Ci0g
IC0gb3JnLndlYmtpdC5Db21tb25Nb2R1bGVzLnlhbWwKLSAgIyBQb3J0IHNwZWNpZmljIGNvbXBv
bmVudHMuCi0gIC0gJShQT1JUTkFNRSlzLnlhbWwKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsv
cGF0Y2hlcy9odHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1kZXRl
Y3Rpb24ucGF0Y2ggYi9Ub29scy9mbGF0cGFrL3BhdGNoZXMvaHR0cGQtMDAwMS1jb25maWd1cmUt
dXNlLXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBkMzZhNjk0ZjI5MjNkMzUxZGI2ZjNmMTMzMjc2MDI4M2RhNzhmOWRlLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRw
YWsvcGF0Y2hlcy9odHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1k
ZXRlY3Rpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1Gcm9tIGI1ZWJl
NDA0ZjEzODhkZGRhMzYwM2U1MzI3N2Y4N2UwYjk2YmE2OTUgTW9uIFNlcCAxNyAwMDowMDowMCAy
MDAxCi1Gcm9tOiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotRGF0ZTog
TW9uLCAxMSBKdW4gMjAxOCAxNjoxNDozOCAtMDQwMAotU3ViamVjdDogW1BBVENIXSBjb25maWd1
cmU6IHVzZSBwa2ctY29uZmlnIGZvciBQQ1JFIGRldGVjdGlvbgotCi0tLS0KLSBjb25maWd1cmUu
aW4gfCAyNyArKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNSBp
bnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5p
biBiL2NvbmZpZ3VyZS5pbgotaW5kZXggNzYxZTgzNi4uYjE1NWQ0YiAxMDA2NDQKLS0tLSBhL2Nv
bmZpZ3VyZS5pbgotKysrIGIvY29uZmlndXJlLmluCi1AQCAtMjE1LDI4ICsyMTUsMTEgQEAgZmkK
LSBBQ19BUkdfV0lUSChwY3JlLAotIEFQQUNIRV9IRUxQX1NUUklORygtLXdpdGgtcGNyZT1QQVRI
LFVzZSBleHRlcm5hbCBQQ1JFIGxpYnJhcnkpKQotIAotLUFDX1BBVEhfUFJPRyhQQ1JFX0NPTkZJ
RywgcGNyZS1jb25maWcsIGZhbHNlKQotLWlmIHRlc3QgLWQgIiR3aXRoX3BjcmUiICYmIHRlc3Qg
LXggIiR3aXRoX3BjcmUvYmluL3BjcmUtY29uZmlnIjsgdGhlbgotLSAgIFBDUkVfQ09ORklHPSR3
aXRoX3BjcmUvYmluL3BjcmUtY29uZmlnCi0tZWxpZiB0ZXN0IC14ICIkd2l0aF9wY3JlIjsgdGhl
bgotLSAgIFBDUkVfQ09ORklHPSR3aXRoX3BjcmUKLS1maQotLQotLWlmIHRlc3QgIiRQQ1JFX0NP
TkZJRyIgIT0gImZhbHNlIjsgdGhlbgotLSAgaWYgJFBDUkVfQ09ORklHIC0tdmVyc2lvbiA+L2Rl
di9udWxsIDI+JjE7IHRoZW4gOjsgZWxzZQotLSAgICBBQ19NU0dfRVJST1IoW0RpZCBub3QgZmlu
ZCBwY3JlLWNvbmZpZyBzY3JpcHQgYXQgJFBDUkVfQ09ORklHXSkKLS0gIGZpCi0tICBjYXNlIGAk
UENSRV9DT05GSUcgLS12ZXJzaW9uYCBpbgotLSAgW1sxLTVdLipdKQotLSAgICBBQ19NU0dfRVJS
T1IoW05lZWQgYXQgbGVhc3QgcGNyZSB2ZXJzaW9uIDYuMF0pCi0tICAgIDs7Ci0tICBlc2FjCi0t
ICBBQ19NU0dfTk9USUNFKFtVc2luZyBleHRlcm5hbCBQQ1JFIGxpYnJhcnkgZnJvbSAkUENSRV9D
T05GSUddKQotLSAgQVBSX0FERFRPKFBDUkVfSU5DTFVERVMsIFtgJFBDUkVfQ09ORklHIC0tY2Zs
YWdzYF0pCi0tICBBUFJfQUREVE8oUENSRV9MSUJTLCBbYCRQQ1JFX0NPTkZJRyAtLWxpYnNgXSkK
LS1lbHNlCi0tICBBQ19NU0dfRVJST1IoW3BjcmUtY29uZmlnIGZvciBsaWJwY3JlIG5vdCBmb3Vu
ZC4gUENSRSBpcyByZXF1aXJlZCBhbmQgYXZhaWxhYmxlIGZyb20gaHR0cDovL3BjcmUub3JnL10p
Ci0tZmkKLStQS0dfQ0hFQ0tfTU9EVUxFUyhbUENSRV0sIFtsaWJwY3JlXSwgWwotKyAgQUNfREVG
SU5FKFtIQVZFX1BDUkVdLCBbMV0sIFtEZWZpbmUgaWYgeW91IGhhdmUgUENSRSBsaWJyYXJ5XSkK
LStdLCBbCi0rICBBQ19NU0dfRVJST1IoWyRQQ1JFX1BLR19FUlJPUlNdKQotK10pCi0gQVBBQ0hF
X1NVQlNUKFBDUkVfTElCUykKLSAKLSBBQ19NU0dfTk9USUNFKFtdKQotLS0gCi0yLjE3LjEKLQpk
aWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVzZS1wa2ct
Y29uZmlnLXRvLWRldGVjdC1ncGctZXJyb3IucGF0Y2ggYi9Ub29scy9mbGF0cGFrL3BhdGNoZXMv
bGliZ2NyeXB0LTAwMDEtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRjaApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzU3NzI3ZmJiOGIwOGI5MTk1YTVjMDk3ZDZj
NjFiOTA4YzY5MTc5YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Ub29scy9mbGF0cGFrL3BhdGNoZXMvbGliZ2NyeXB0LTAwMDEtVXNlLXBrZy1jb25maWct
dG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExMCArMCwwIEBA
Ci1Gcm9tIDlhZmYzZjFiMzQ0ZmM4NjY2YjE0YzU3NjI5MTYyYzJiOTAwN2NhZDggTW9uIFNlcCAx
NyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEu
Y29tPgotRGF0ZTogRnJpLCAyOSBKdW4gMjAxOCAwOTowNTo1MiAtMDQwMAotU3ViamVjdDogW1BB
VENIXSBVc2UgcGtnLWNvbmZpZyB0byBkZXRlY3QgZ3BnLWVycm9yCi0KLS0tLQotIG00L2dwZy1l
cnJvci5tNCB8IDg4ICsrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNzYgZGVsZXRpb25zKC0p
Ci0KLWRpZmYgLS1naXQgYS9tNC9ncGctZXJyb3IubTQgYi9tNC9ncGctZXJyb3IubTQKLWluZGV4
IDE2NjEyMDRjLi41ZjlmMzNjMiAxMDA2NDQKLS0tLSBhL200L2dwZy1lcnJvci5tNAotKysrIGIv
bTQvZ3BnLWVycm9yLm00Ci1AQCAtNDEsODEgKzQxLDE3IEBAIEFDX0RFRlVOKFtBTV9QQVRIX0dQ
R19FUlJPUl0sCi0gICBBQ19BUkdfV0lUSChncGctZXJyb3ItcHJlZml4LCwKLSAgICAgICAgICAg
ICAgIFtncGdfZXJyb3JfY29uZmlnX3ByZWZpeD0iJHdpdGh2YWwiXSkKLSAKLS0gIGlmIHRlc3Qg
eCIke0dQR19FUlJPUl9DT05GSUd9IiA9IHggOyB0aGVuCi0tICAgICBpZiB0ZXN0IHgiJHtncGdf
ZXJyb3JfY29uZmlnX3ByZWZpeH0iICE9IHggOyB0aGVuCi0tICAgICAgICBHUEdfRVJST1JfQ09O
RklHPSIke2dwZ19lcnJvcl9jb25maWdfcHJlZml4fS9iaW4vZ3BnLWVycm9yLWNvbmZpZyIKLS0g
ICAgIGVsc2UKLS0gICAgICAgY2FzZSAiJHtTWVNST09UfSIgaW4KLS0gICAgICAgICAvKikKLS0g
ICAgICAgICAgIGlmIHRlc3QgLXggIiR7U1lTUk9PVH0vYmluL2dwZy1lcnJvci1jb25maWciIDsg
dGhlbgotLSAgICAgICAgICAgICBHUEdfRVJST1JfQ09ORklHPSIke1NZU1JPT1R9L2Jpbi9ncGct
ZXJyb3ItY29uZmlnIgotLSAgICAgICAgICAgZmkKLS0gICAgICAgICAgIDs7Ci0tICAgICAgICAg
JycpCi0tICAgICAgICAgICA7OwotLSAgICAgICAgICAqKQotLSAgICAgICAgICAgQUNfTVNHX1dB
Uk4oW0lnbm9yaW5nIFwkU1lTUk9PVCBhcyBpdCBpcyBub3QgYW4gYWJzb2x1dGUgcGF0aC5dKQot
LSAgICAgICAgICAgOzsKLS0gICAgICAgZXNhYwotLSAgICAgZmkKLS0gIGZpCi0rICBQS0dfQ0hF
Q0tfTU9EVUxFUyhbR1BHX0VSUk9SXSwgW2dwZy1lcnJvcl0sIFsKLSsgICAgQUNfREVGSU5FKFtI
QVZFX0dQR19FUlJPUl0sIFsxXSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBncGctZXJyb3IgbGlicmFy
eV0pCi0gCi0tICBBQ19QQVRIX1BST0coR1BHX0VSUk9SX0NPTkZJRywgZ3BnLWVycm9yLWNvbmZp
Zywgbm8pCi0tICBtaW5fZ3BnX2Vycm9yX3ZlcnNpb249aWZlbHNlKFskMV0sICwwLjAsJDEpCi0t
ICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIEdQRyBFcnJvciAtIHZlcnNpb24gPj0gJG1pbl9ncGdfZXJy
b3JfdmVyc2lvbikKLS0gIG9rPW5vCi0tICBpZiB0ZXN0ICIkR1BHX0VSUk9SX0NPTkZJRyIgIT0g
Im5vIiBcCi0tICAgICAmJiB0ZXN0IC1mICIkR1BHX0VSUk9SX0NPTkZJRyIgOyB0aGVuCi0tICAg
IHJlcV9tYWpvcj1gZWNobyAkbWluX2dwZ19lcnJvcl92ZXJzaW9uIHwgXAotLSAgICAgICAgICAg
ICAgIHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS9cMS8nYAotLSAgICByZXFfbWlu
b3I9YGVjaG8gJG1pbl9ncGdfZXJyb3JfdmVyc2lvbiB8IFwKLS0gICAgICAgICAgICAgICBzZWQg
J3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXCkvXDIvJ2AKLS0gICAgZ3BnX2Vycm9yX2NvbmZp
Z192ZXJzaW9uPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19hcmdzIC0tdmVy
c2lvbmAKLS0gICAgbWFqb3I9YGVjaG8gJGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbiB8IFwKLS0g
ICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXCkuKi9cMS8nYAot
LSAgICBtaW5vcj1gZWNobyAkZ3BnX2Vycm9yX2NvbmZpZ192ZXJzaW9uIHwgXAotLSAgICAgICAg
ICAgICAgIHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS4qL1wyLydgCi0tICAgIGlm
IHRlc3QgIiRtYWpvciIgLWd0ICIkcmVxX21ham9yIjsgdGhlbgotLSAgICAgICAgb2s9eWVzCi0t
ICAgIGVsc2UKLS0gICAgICAgIGlmIHRlc3QgIiRtYWpvciIgLWVxICIkcmVxX21ham9yIjsgdGhl
bgotLSAgICAgICAgICAgIGlmIHRlc3QgIiRtaW5vciIgLWdlICIkcmVxX21pbm9yIjsgdGhlbgot
LSAgICAgICAgICAgICAgIG9rPXllcwotLSAgICAgICAgICAgIGZpCi0tICAgICAgICBmaQotLSAg
ICBmaQotLSAgZmkKLS0gIGlmIHRlc3QgJG9rID0geWVzOyB0aGVuCi0tICAgIEdQR19FUlJPUl9D
RkxBR1M9YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1jZmxhZ3Ng
Ci0tICAgIEdQR19FUlJPUl9MSUJTPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZp
Z19hcmdzIC0tbGlic2AKLS0gICAgR1BHX0VSUk9SX01UX0NGTEFHUz1gJEdQR19FUlJPUl9DT05G
SUcgJGdwZ19lcnJvcl9jb25maWdfYXJncyAtLW10IC0tY2ZsYWdzIDI+L2Rldi9udWxsYAotLSAg
ICBHUEdfRVJST1JfTVRfTElCUz1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9jb25maWdf
YXJncyAtLW10IC0tbGlicyAyPi9kZXYvbnVsbGAKLS0gICAgQUNfTVNHX1JFU1VMVChbeWVzICgk
Z3BnX2Vycm9yX2NvbmZpZ192ZXJzaW9uKV0pCi0tICAgIGlmZWxzZShbJDJdLCAsIDosIFskMl0p
Ci0tICAgIGdwZ19lcnJvcl9jb25maWdfaG9zdD1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJv
cl9jb25maWdfYXJncyAtLWhvc3QgMj4vZGV2L251bGwgfHwgZWNobyBub25lYAotLSAgICBpZiB0
ZXN0IHgiJGdwZ19lcnJvcl9jb25maWdfaG9zdCIgIT0geG5vbmUgOyB0aGVuCi0tICAgICAgaWYg
dGVzdCB4IiRncGdfZXJyb3JfY29uZmlnX2hvc3QiICE9IHgiJGhvc3QiIDsgdGhlbgotLSAgQUNf
TVNHX1dBUk4oW1sKLS0qKioKLS0qKiogVGhlIGNvbmZpZyBzY3JpcHQgJEdQR19FUlJPUl9DT05G
SUcgd2FzCi0tKioqIGJ1aWx0IGZvciAkZ3BnX2Vycm9yX2NvbmZpZ19ob3N0IGFuZCB0aHVzIG1h
eSBub3QgbWF0Y2ggdGhlCi0tKioqIHVzZWQgaG9zdCAkaG9zdC4KLS0qKiogWW91IG1heSB3YW50
IHRvIHVzZSB0aGUgY29uZmlndXJlIG9wdGlvbiAtLXdpdGgtZ3BnLWVycm9yLXByZWZpeAotLSoq
KiB0byBzcGVjaWZ5IGEgbWF0Y2hpbmcgY29uZmlnIHNjcmlwdCBvciB1c2UgXCRTWVNST09ULgot
LSoqKl1dKQotLSAgICAgICAgZ3BnX2NvbmZpZ19zY3JpcHRfd2Fybj0iJGdwZ19jb25maWdfc2Ny
aXB0X3dhcm4gbGliZ3BnLWVycm9yIgotLSAgICAgIGZpCi0tICAgIGZpCi0tICBlbHNlCi0tICAg
IEdQR19FUlJPUl9DRkxBR1M9IiIKLS0gICAgR1BHX0VSUk9SX0xJQlM9IiIKLS0gICAgR1BHX0VS
Uk9SX01UX0NGTEFHUz0iIgotLSAgICBHUEdfRVJST1JfTVRfTElCUz0iIgotLSAgICBBQ19NU0df
UkVTVUxUKG5vKQotLSAgICBpZmVsc2UoWyQzXSwgLCA6LCBbJDNdKQotLSAgZmkKLS0gIEFDX1NV
QlNUKEdQR19FUlJPUl9DRkxBR1MpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfTElCUykKLS0gIEFD
X1NVQlNUKEdQR19FUlJPUl9NVF9DRkxBR1MpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfTVRfTElC
UykKLSsgICAgR1BHX0VSUk9SX01UX0NGTEFHUz0iJEdQR19FUlJPUl9DRkxBR1MiCi0rICAgIEdQ
R19FUlJPUl9NVF9MSUJTPSItbHB0aHJlYWQgJEdQR19FUlJPUl9MSUJTIgotKwotKyAgICBBQ19T
VUJTVChHUEdfRVJST1JfQ0ZMQUdTKQotKyAgICBBQ19TVUJTVChHUEdfRVJST1JfTElCUykKLSsg
ICAgQUNfU1VCU1QoR1BHX0VSUk9SX01UX0NGTEFHUykKLSsgICAgQUNfU1VCU1QoR1BHX0VSUk9S
X01UX0xJQlMpCi0rICBdLCBbCi0rICAgIEFDX01TR19FUlJPUihbJEdQR19FUlJPUl9FUlJPUlNd
KQotKyAgXSkKLSBdKQotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9w
YXRjaGVzL3h2ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1maWxlLnBhdGNoIGIv
VG9vbHMvZmxhdHBhay9wYXRjaGVzL3h2ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1hLWti
bS1maWxlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OTg4NDJiMzgxZDI1
MTQwZmJjMDhmNTRhOTcyMzBhNmRiZTRhNDUwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEtSEFDSy1B
dm9pZC1jb21waWxpbmctYS1rYm0tZmlsZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICsw
LDAgQEAKLUZyb20gYWVkMWI2ZThkZTQxMzc1YzFiOGIxZGZjNDhhMzUwZTBhOWI5Y2JiYSBNb24g
U2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGln
YWxpYS5jb20+Ci1EYXRlOiBNb24sIDExIEp1biAyMDE4IDEwOjU1OjQzIC0wNDAwCi1TdWJqZWN0
OiBbUEFUQ0ggeHNlcnZlcl0gSEFDSzogQXZvaWQgY29tcGlsaW5nIGEga2JtIGZpbGUKLQotVGhp
cyB3b3VsZCBuZWVkIHRvIGJlIGluIC91c3Ivc2hhcmUvWDExLyBhcyB0aGlzIGlzIHdoZXJlCi1y
ZXNvdXJjZSBmaWxlcyBhcmUgaW4gdGhlIHNhbmRib3ggYnV0IGl0IGlzIHJlYWQgb25seSBpbiB0
aGVyZS4KLQotSGFjayBhcm91bmQgdGhhdC4KLS0tLQotIHhrYi9kZHhMb2FkLmMgfCA5ICstLS0t
LS0tLQotIHhrYi94a2JJbml0LmMgfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlv
bnMoKyksIDkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS94a2IvZGR4TG9hZC5jIGIveGti
L2RkeExvYWQuYwotaW5kZXggYmJlMzk1Mi4uYTRhMDNhMSAxMDA2NDQKLS0tLSBhL3hrYi9kZHhM
b2FkLmMKLSsrKyBiL3hrYi9kZHhMb2FkLmMKLUBAIC0xNDgsMTQgKzE0OCw3IEBAIFJ1blhrYkNv
bXAoeGtiY29tcF9idWZmZXJfY2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQgKnVzZXJkYXRhKQotICAg
ICAgICAgfQotICAgICB9Ci0gCi0tICAgIGlmIChhc3ByaW50ZigmYnVmLAotLSAgICAgICAgICAg
ICAgICAgIlwiJXMlc3hrYmNvbXBcIiAtdyAlZCAlcyAteGttIFwiJXNcIiAiCi0tICAgICAgICAg
ICAgICAgICAiLWVtMSAlcyAtZW1wICVzIC1lbWwgJXMgXCIlcyVzLnhrbVwiIiwKLS0gICAgICAg
ICAgICAgICAgIHhrYmJpbmRpciwgeGtiYmluZGlyc2VwLAotLSAgICAgICAgICAgICAgICAgKCh4
a2JEZWJ1Z0ZsYWdzIDwgMikgPyAxIDoKLS0gICAgICAgICAgICAgICAgICAoKHhrYkRlYnVnRmxh
Z3MgPiAxMCkgPyAxMCA6IChpbnQpIHhrYkRlYnVnRmxhZ3MpKSwKLS0gICAgICAgICAgICAgICAg
IHhrYmJhc2VkaXJmbGFnID8geGtiYmFzZWRpcmZsYWcgOiAiIiwgeGttZmlsZSwKLS0gICAgICAg
ICAgICAgICAgIFBSRV9FUlJPUl9NU0csIEVSUk9SX1BSRUZJWCwgUE9TVF9FUlJPUl9NU0cxLAot
KyAgICBpZiAoYXNwcmludGYoJmJ1ZiwgImNwIC9hcHAvd2Via2l0L1Rvb2xzL2ZsYXRwYWsvZmls
ZXMvZGVmYXVsdC54a20gXCIlcyVzLnhrbVwiIiwKLSAgICAgICAgICAgICAgICAgIHhrbV9vdXRw
dXRfZGlyLCBrZXltYXApID09IC0xKQotICAgICAgICAgYnVmID0gTlVMTDsKLSAKLWRpZmYgLS1n
aXQgYS94a2IveGtiSW5pdC5jIGIveGtiL3hrYkluaXQuYwotaW5kZXggOWM3NzJmNS4uNGUwYjc3
NCAxMDA2NDQKLS0tLSBhL3hrYi94a2JJbml0LmMKLSsrKyBiL3hrYi94a2JJbml0LmMKLUBAIC04
Nyw3ICs4Nyw3IEBAIHR5cGVkZWYgc3RydWN0IF9TcnZYa21JbmZvIHsKLSAjZGVmaW5lCVhLQl9E
RkxUX1JVTEVTX1BST1AJVFJVRQotICNlbmRpZgotIAotLWNvbnN0IGNoYXIgKlhrYkJhc2VEaXJl
Y3RvcnkgPSBYS0JfQkFTRV9ESVJFQ1RPUlk7Ci0rY29uc3QgY2hhciAqWGtiQmFzZURpcmVjdG9y
eSA9ICIvdXNyL3NoYXJlL1gxMS94a2IvIjsKLSBjb25zdCBjaGFyICpYa2JCaW5EaXJlY3Rvcnkg
PSBYS0JfQklOX0RJUkVDVE9SWTsKLSBzdGF0aWMgaW50IFhrYldhbnRBY2Nlc3NYID0gMDsKLSAK
LS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVuZGVuY2ll
cyBiL1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVuZGVuY2llcwppbmRleCBjNmRjNTBjYTBlNWZlN2Iz
MDdmZTU2ODg5NzZjM2IzMjgxYTRjMjYxLi5jYTVjNzcyMDI0NWJkYWVkMzMyZGNmMDFkY2NiM2Qy
OGQwZGIwYWFhIDEwMDc1NQotLS0gYS9Ub29scy9ndGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMKKysr
IGIvVG9vbHMvZ3RrL2luc3RhbGwtZGVwZW5kZW5jaWVzCkBAIC0xNzYsNiArMTc2LDEwIEBAIGZ1
bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoQXB0IHsKICAgICAgICAgd2VzdG9uIFwKICAg
ICAgICAgeHZmYiIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9y
IGJ1aWxkaW5nIHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2FnZXMg
XAorICAgICAgICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vz
c2FyeSBmb3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBc
CiAgICAgICAgIGJpc29uIFwKQEAgLTM0NCw2ICszNDgsMTAgQEAgZnVuY3Rpb24gaW5zdGFsbERl
cGVuZGVuY2llc1dpdGhQYWNtYW4gewogICAgICAgICB3ZXN0b24gXAogICAgICAgICB4b3JnLXNl
cnZlci14dmZiIgogCisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3Ig
YnVpbGRpbmcgd2l0aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBc
CisgICAgICAgIGZsYXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNz
YXJ5IGZvciBidWlsZGluZyB0aGUgamhidWlsZC4KICAgICAjIE5vdGU6IENvdWxkIG5vdCBmaW5k
IGxpYmVnbC1tZXNhCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCkBAIC01MTYsNiArNTI0LDEw
IEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoRG5mIHsKICAgICAgICAgd2VzdG9u
LWRldmVsIFwKICAgICAgICAgeG9yZy14MTEtc2VydmVyLVh2ZmIiCiAKKyAgICAjIFRoZXNlIGFy
ZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB3aXRoIHRoZSBGbGF0cGFrIFNE
Sy4KKyAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAgICAgICAgZmxhdHBhayIKKwogICAgICMg
VGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHRoZSBqaGJ1aWxk
LgogICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAogICAgICAgICBiaXNvbiBcCmRpZmYgLS1naXQg
YS9Ub29scy93cGUvaW5zdGFsbC1kZXBlbmRlbmNpZXMgYi9Ub29scy93cGUvaW5zdGFsbC1kZXBl
bmRlbmNpZXMKaW5kZXggMjdkOWM4MWFjZmFhNGFjMjI4NGNlOGU3NzY3ZmE1OTI5N2M4ZjRlOC4u
YjgzYjZkNjQyMDhiNmMzN2UwZjc5OWRkOGI3N2M2NTFiMjZiMDAyNSAxMDA3NTUKLS0tIGEvVG9v
bHMvd3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzCisrKyBiL1Rvb2xzL3dwZS9pbnN0YWxsLWRlcGVu
ZGVuY2llcwpAQCAtMTEwLDYgKzExMCwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVz
V2l0aEFwdCB7CiAgICAgICAgIHJ1YnktaGlnaGxpbmUgXAogICAgICAgICBydWJ5LWpzb24iCiAK
KyAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB3aXRo
IHRoZSBGbGF0cGFrIFNESy4KKyAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAgICAgICAgZmxh
dHBhayIKKwogICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxk
aW5nIHRoZSBqaGJ1aWxkLgogICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAogICAgICAgICBnaXQg
XApAQCAtMjEyLDYgKzIxNiwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aFBh
Y21hbiB7CiAgICAgICAgIHB5dGhvbjItcHN1dGlsIFwKICAgICAgICAgcnVieSIKIAorICAgICMg
VGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHdpdGggdGhlIEZs
YXRwYWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAorICAgICAgICBmbGF0cGFrIgor
CiAgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgdGhl
IGpoYnVpbGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCiAgICAgICAgIGV4cGF0IFwKQEAg
LTMyMyw2ICszMzEsMTAgQEAgZnVuY3Rpb24gaW5zdGFsbERlcGVuZGVuY2llc1dpdGhEbmYgewog
ICAgICAgICBydWJ5Z2VtLWhpZ2hsaW5lIFwKICAgICAgICAgcnVieWdlbS1qc29uIgogCisgICAg
IyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgd2l0aCB0aGUg
RmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCisgICAgICAgIGZsYXRwYWsi
CisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB0
aGUgamhidWlsZC4KICAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKICAgICAgICAgZXhwYXQtZGV2
ZWwgXApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDM1M2NhM2NmZWNhNjkxMTIzNjkxZjI5NWNkZWViYjhlZTJhMTdhYzguLmRm
Y2M5N2ZiYjUyM2I1YmU2YjkwODQzNTM4OWQwOWM3NmFkODNhOWYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MiBAQAorMjAyMC0wMS0wNCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+
CisKKyAgICAgICAgW0dUS11bV1BFXSBNaWdyYXRlIHRvIEZsYXRwYWstYmFzZWQgZGV2IFNESwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NjU4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL2Nv
bmYvZmxhdHBhay1odHRwZC5jb25mOiBBZGp1c3QgcGF0aHMuCisKIDIwMjAtMDEtMjkgIHlvdWVu
biBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEJsb2IgbWVkaWEgbG9hZGlu
ZyBkb2VzIG5vdCB3b3JrIHdpdGggR1BVUHJvY2VzcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZiBiL0xheW91dFRlc3RzL2h0dHAvY29uZi9mbGF0
cGFrLWh0dHBkLmNvbmYKaW5kZXggM2MwM2U0MjM5YzI0OTg5ZDljZDc5Njg2MTQ0YmM3Y2UyYjMw
YzMxYi4uYmY1MjE1ZDU4OWFkNjFmODgyZDUzYTA2NzVhZDY3YTQ0NmFiOTQzZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZgorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL2NvbmYvZmxhdHBhay1odHRwZC5jb25mCkBAIC0xLDUgKzEsNSBAQAogU2VydmVy
VG9rZW5zIE9TCi1TZXJ2ZXJSb290ICIvYXBwLyIKK1NlcnZlclJvb3QgIi91c3IvIgogCiBQaWRG
aWxlICIvdG1wL1dlYktpdC9odHRwZC5waWQiCiBTY29yZUJvYXJkRmlsZSAiL3RtcC9XZWJLaXQv
aHR0cGQuc2NvcmVib2FyZCIKQEAgLTMzLDkgKzMzLDcgQEAgTG9hZE1vZHVsZSBsb2dfY29uZmln
X21vZHVsZSAgICBtb2R1bGVzL21vZF9sb2dfY29uZmlnLnNvCiBMb2FkTW9kdWxlIHNzbF9tb2R1
bGUgICAgICAgICAgIG1vZHVsZXMvbW9kX3NzbC5zbwogTG9hZE1vZHVsZSBwaHA3X21vZHVsZSAg
ICAgICAgICBtb2R1bGVzL2xpYnBocDcuc28KIExvYWRNb2R1bGUgYXNpc19tb2R1bGUgICAgICAg
ICAgbW9kdWxlcy9tb2RfYXNpcy5zbwotTG9hZE1vZHVsZSBlbnZfbW9kdWxlICAgICAgICAgICBt
b2R1bGVzL21vZF9lbnYuc28KIAotU2V0RW52IFBFUkw1TElCIC9hcHAvbGliL3BlcmwKIAogU2Vy
dmVyTmFtZSAxMjcuMC4wLjEKIApAQCAtNTQsNyArNTIsNyBAQCBBY2Nlc3NGaWxlTmFtZSAuaHRh
Y2Nlc3MKIFVzZUNhbm9uaWNhbE5hbWUgT24KIEhvc3RuYW1lTG9va3VwcyBPZmYKIAotVHlwZXND
b25maWcgL2V0Yy9taW1lLnR5cGVzCitUeXBlc0NvbmZpZyAvdXNyL2NvbmYvbWltZS50eXBlcwog
CiBMb2dMZXZlbCB3YXJuCiBMb2dGb3JtYXQgIiVoICVsICV1ICV0IFwiJXJcIiAlPnMgJWIgXCIl
e1JlZmVyZXJ9aVwiIFwiJXtVc2VyLUFnZW50fWlcIiIgY29tYmluZWQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389255</attachid>
            <date>2020-01-30 09:17:39 -0800</date>
            <delta_ts>2020-01-31 00:03:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205658-20200130181734.patch</filename>
            <type>text/plain</type>
            <size>124185</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTA2YTE1ZDMxN2E4MmU3
OTUxNjhmNDNiZTNiMWFmOTVjNDYxMGQ5Mi4uODBmZDQxZDhiYTAwNmUxODE3ZWNhNzcxZmJlNGU5
ZWI1ZDQ2YmYzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAxLTA0ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVd
IE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0
aW9uTGliSHlwaGVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNjYW5UZXN0RGljdGlvbmFyaWVz
RGlyZWN0b3J5SWZOZWNlc3NhcnkpOiBDaGVjayBmb3IgZmxhdHBhay1pbnN0YWxsZWQgZGljdGlv
bmFyaWVzLgorCiAyMDIwLTAxLTI5ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBCbG9iIG1lZGlhIGxvYWRpbmcgZG9lcyBub3Qgd29yayB3aXRoIEdQVVByb2Nl
c3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhl
bmF0aW9uTGliSHlwaGVuLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVu
L0h5cGhlbmF0aW9uTGliSHlwaGVuLmNwcAppbmRleCAxMmJhYTRjNGQzZTllNjNmN2ZmODFjNWUy
YjExOTRiOGJiOGE5YzA1Li5mMzM1OWQ4MDcwMjJmNTQ4OWM2OGY5YWNmODE2YTY3MDQyYTUzZDYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2h5cGhlbi9IeXBoZW5h
dGlvbkxpYkh5cGhlbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9oeXBo
ZW4vSHlwaGVuYXRpb25MaWJIeXBoZW4uY3BwCkBAIC0xMjEsOCArMTIxLDE1IEBAIHN0YXRpYyB2
b2lkIHNjYW5UZXN0RGljdGlvbmFyaWVzRGlyZWN0b3J5SWZOZWNlc3NhcnkoSGFzaE1hcDxBdG9t
U3RyaW5nLCBWZWN0b3I8CiAgICAgLy8gbGliaHlwaGVuIGRvZXNuJ3QgaGF2ZSB0aGUgY29uY2Vw
dCBvZiBpbnN0YWxsZWQgZGljdGlvbmFyaWVzLiBJbnN0ZWFkLAogICAgIC8vIHdlIGhhdmUgdGhp
cyBzcGVjaWFsIGNhc2UgZm9yIFdlYktpdCB0ZXN0cy4KICNpZiBQTEFURk9STShHVEspCisgICAg
Ly8gVHJ5IGFsdGVybmF0aXZlIGRpY3Rpb25hcmllcyBwYXRoIGZvciBwZW9wbGUgdXNpbmcgRmxh
dHBhay4KKyAgICBHVW5pcXVlUHRyPGNoYXI+IGRpY3Rpb25hcmllc1BhdGgoZ19idWlsZF9maWxl
bmFtZSgiL3VzciIsICJzaGFyZSIsICJ3ZWJraXRndGstdGVzdC1kaWN0cyIsIG51bGxwdHIpKTsK
KyAgICBpZiAoZ19nZXRlbnYoIkZMQVRQQUtfSUQiKSAmJiBnX2ZpbGVfdGVzdChkaWN0aW9uYXJp
ZXNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNUX0lTX0RJUikp
KSB7CisgICAgICAgIHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJpZXMoZGljdGlvbmFyaWVzUGF0
aC5nZXQoKSwgYXZhaWxhYmxlTG9jYWxlcyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAg
ICBDU3RyaW5nIGJ1aWxkRGlyZWN0b3J5ID0gd2Via2l0QnVpbGREaXJlY3RvcnkoKTsKLSAgICBH
VW5pcXVlUHRyPGNoYXI+IGRpY3Rpb25hcmllc1BhdGgoZ19idWlsZF9maWxlbmFtZShidWlsZERp
cmVjdG9yeS5kYXRhKCksICJEZXBlbmRlbmNpZXNHVEsiLCAiUm9vdCIsICJ3ZWJraXRndGstdGVz
dC1kaWN0cyIsIG51bGxwdHIpKTsKKyAgICBkaWN0aW9uYXJpZXNQYXRoLnJlc2V0KGdfYnVpbGRf
ZmlsZW5hbWUoYnVpbGREaXJlY3RvcnkuZGF0YSgpLCAiRGVwZW5kZW5jaWVzR1RLIiwgIlJvb3Qi
LCAid2Via2l0Z3RrLXRlc3QtZGljdHMiLCBudWxscHRyKSk7CiAgICAgaWYgKGdfZmlsZV90ZXN0
KGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RF
U1RfSVNfRElSKSkpIHsKICAgICAgICAgc2NhbkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0
aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFpbGFibGVMb2NhbGVzKTsKICAgICAgICAgcmV0dXJuOwpA
QCAtMTMwLDcgKzEzNyw5IEBAIHN0YXRpYyB2b2lkIHNjYW5UZXN0RGljdGlvbmFyaWVzRGlyZWN0
b3J5SWZOZWNlc3NhcnkoSGFzaE1hcDxBdG9tU3RyaW5nLCBWZWN0b3I8CiAKICAgICAvLyBUcnkg
YWx0ZXJuYXRpdmUgZGljdGlvbmFyaWVzIHBhdGggZm9yIHBlb3BsZSBub3QgdXNpbmcgSkhCdWls
ZC4KICAgICBkaWN0aW9uYXJpZXNQYXRoLnJlc2V0KGdfYnVpbGRfZmlsZW5hbWUoYnVpbGREaXJl
Y3RvcnkuZGF0YSgpLCAid2Via2l0Z3RrLXRlc3QtZGljdHMiLCBudWxscHRyKSk7Ci0gICAgc2Nh
bkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFpbGFi
bGVMb2NhbGVzKTsKKyAgICBpZiAoZ19maWxlX3Rlc3QoZGljdGlvbmFyaWVzUGF0aC5nZXQoKSwg
c3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9JU19ESVIpKSkKKyAgICAgICAgc2Nh
bkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFpbGFi
bGVMb2NhbGVzKTsKKwogI2VsaWYgZGVmaW5lZChURVNUX0hZUEhFTkFUQUlPTl9QQVRIKQogICAg
IHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJpZXMoVEVTVF9IWVBIRU5BVEFJT05fUEFUSCwgYXZh
aWxhYmxlTG9jYWxlcyk7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDgzOGQ4ZWJiMGUwNGZmNzAxZDI3NDU4MDhhN2ViYThkMmRkMDc3
OWQuLmExZWNhZGE2ZjBjMTZmN2RmZjllZjBiMDc2YWJiZjQ0MDFjYmYxODYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMTUgQEAK
KzIwMjAtMDEtMDQgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtHVEtdW1dQRV0gTWlncmF0ZSB0byBGbGF0cGFrLWJhc2VkIGRldiBTREsKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTY1OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEpIQnVpbGQgd2lsbCBu
b3cgYmUgdXNlZCBvbmx5IGlmIHRoZSBXRUJLSVRfSkhCVUlMRCBlbnZpcm9ubWVudAorICAgICAg
ICB2YXJpYWJsZSBpcyBzZXQgdG8gMSwgd2hpY2ggaXMgdGhlIGNhc2UgZm9yIHRoZSB0aW1lIGJl
aW5nIG9uIHRoZQorICAgICAgICBHVEsgYW5kIFdQRSBFV1MvYnVpbGQgYm90cy4KKworICAgICAg
ICBCeSBkZWZhdWx0IHRoZSBidWlsZCBkZXBlbmRlbmNpZXMgYXJlIG5vdyBsb2NhbGx5IGluc3Rh
bGxlZCBmcm9tIGEKKyAgICAgICAgRmxhdHBhayByZXBvc2l0b3J5IGhvc3RlZCBhdCBodHRwczov
L3NvZnR3YXJlLmlnYWxpYS5jb20uIFRoZQorICAgICAgICByZXBvc2l0b3J5IGNhbiBiZSByZWdl
bmVyYXRlZCB3aXRoIHRoZSBzY3JpcHRzIGZyb20gdGhlCisgICAgICAgIHdlYmtpdC1mbGF0cGFr
LXNkayBHaXRodWIgcHJvamVjdAorICAgICAgICAoaHR0cHM6Ly9naXRodWIuY29tL0lnYWxpYS93
ZWJraXQtZmxhdHBhay1zZGspLiBUaGlzIGlzIGRvbmUKKyAgICAgICAgdHJhbnNwYXJlbnRseSB3
aXRoIHRoZSB1cGRhdGUtd2Via2l0e2d0ayx3cGV9LWxpYnMgc2NyaXB0cy4gQXMKKyAgICAgICAg
dGhlcmUgaXMgbm8gbmVlZCB0byByZWJ1aWxkIHRoZSBkZXBlbmRlbmNpZXMgZnJvbSBzY3JhdGNo
LCB0aGUKKyAgICAgICAgZGV2ZWxvcGVyIHVzZXItZXhwZXJpZW5jZSBzaG91bGQgbm93IGJlIG11
Y2ggbW9yZSBmcmllbmRseSBhbmQKKyAgICAgICAgb3ZlcmFsbCBidWlsZCB0aW1lcyByZWR1Y2Vk
LgorCisgICAgICAgIEFzIGFuIGFkZGl0aW9uYWwgY29tbW9kaXR5LCB0aGUgbmV3IGVudmlyb25t
ZW50IHN1cHBvcnRzIHRoZQorICAgICAgICBHU3RyZWFtZXIgZ3N0LWJ1aWxkLWJhc2VkIHdvcmtm
bG93LiBKdXN0IHNldCB0aGUgR1NUX0JVSUxEX1BBVEgKKyAgICAgICAgZW52aXJvbm1lbnQgdmFy
aWFibGUgdG8geW91ciBnc3QtYnVpbGQgcGF0aC4gVGhpcyBmZWF0dXJlIHdhcworICAgICAgICBj
b250cmlidXRlZCBieSBUaGliYXVsdCBTYXVuaWVyLgorCisgICAgICAgIFRoZSBKSEJ1aWxkIGlu
ZnJhc3RydWN0dXJlIHdpbGwgYmUgcmVtb3ZlZCBvbmNlIGFsbCB0aGUgYm90cyBoYXZlCisgICAg
ICAgIGJlZW4gc3dpdGNoZWQgb3ZlciB0byBGbGF0cGFrLgorCisgICAgICAgICogQnVpbGRTbGF2
ZVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5OgorICAgICAgICAoSW5zdGFsbEd0a0RlcGVuZGVu
Y2llcyk6CisgICAgICAgIChJbnN0YWxsV3BlRGVwZW5kZW5jaWVzKToKKyAgICAgICAgKENvbXBp
bGVXZWJLaXQuc3RhcnQpOgorICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWlsZGJv
dC9ydW46CisgICAgICAgICogU2NyaXB0cy9idWlsZC13ZWJraXQ6CisgICAgICAgICogU2NyaXB0
cy9ydW4tYmluZGluZ3MtdGVzdHM6CisgICAgICAgICogU2NyaXB0cy9ydW4tYnVpbHRpbnMtZ2Vu
ZXJhdG9yLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVuLWd0ay10ZXN0czoKKyAgICAgICAg
KiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3J1
bi1taW5pYnJvd3NlcjoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXI6
CisgICAgICAgICogU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzOgorICAgICAgICAqIFNjcmlw
dHMvcnVuLXdwZS10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3Rlc3Qtd2Via2l0cGVybDoKKyAg
ICAgICAgKiBTY3JpcHRzL3Rlc3Qtd2Via2l0cHk6CisgICAgICAgICogU2NyaXB0cy90ZXN0MjYy
LXJ1bm5lcjoKKyAgICAgICAgKiBTY3JpcHRzL3VwZGF0ZS13ZWJraXQtZmxhdHBhazogUmVuYW1l
ZCBmcm9tIFRvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrLgorICAgICAgICAq
IFNjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1saWJzOgorICAgICAgICAqIFNjcmlwdHMvdXBkYXRl
LXdlYmtpdHdwZS1mbGF0cGFrOiBSZW1vdmVkLgorICAgICAgICAqIFNjcmlwdHMvdXBkYXRlLXdl
YmtpdHdwZS1saWJzOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0ZGlycy5wbToKKyAgICAgICAg
KGdldFVzZXJGbGF0cGFrUGF0aCk6CisgICAgICAgIChpbkZsYXRwYWtTYW5kYm94KToKKyAgICAg
ICAgKHJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKToKKyAgICAgICAgKHdyYXBwZXJQcmVmaXhJZk5l
ZWRlZCk6CisgICAgICAgIChzaG91bGRVc2VKaGJ1aWxkKToKKyAgICAgICAgKHNob3VsZFVzZUZs
YXRwYWspOgorICAgICAgICAoc2hvdWxkUmVtb3ZlQ01ha2VDYWNoZSk6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZS5weToKKyAgICAgICAgKEV4ZWN1
dGl2ZS5raWxsX2FsbCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHk6
CisgICAgICAgIChQb3J0Ll9wYXRoX3RvX2FwYWNoZSk6CisgICAgICAgIChQb3J0Ll9zaG91bGRf
cnVuX2FzX3BpeGVsX3Rlc3QpOgorICAgICAgICAoUG9ydC5faW5fZmxhdHBha19zYW5kYm94KToK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5OgorICAgICAgICAoR3RrUG9y
dC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIpOgorICAgICAgICAoR3RrUG9ydC5fZ2V0X2NyYXNo
X2xvZyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9s
b2cucHk6CisgICAgICAgIChHREJDcmFzaExvZ0dlbmVyYXRvcik6CisgICAgICAgIChHREJDcmFz
aExvZ0dlbmVyYXRvci5fX2luaXRfXyk6CisgICAgICAgIChHREJDcmFzaExvZ0dlbmVyYXRvci5n
ZW5lcmF0ZV9jcmFzaF9sb2cpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51
eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5OgorICAgICAgICAoR0RCQ3Jhc2hMb2dHZW5lcmF0
b3JUZXN0LnRlc3RfZ2VuZXJhdGVfY3Jhc2hfbG9nKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3BvcnQvd3BlLnB5OgorICAgICAgICAoV1BFUG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2
ZXIpOgorICAgICAgICAoV1BFUG9ydC5fZ2V0X2NyYXNoX2xvZyk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXIucHk6CisgICAgICAgIChYdmZiRHJpdmVyLl9zZXR1
cF9lbnZpcm9uX2Zvcl90ZXN0KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcDoKKyAgICAgICAgKFdUUjo6Z2V0Rm9udHNQ
YXRoKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dwZS9BY3Rp
dmF0ZUZvbnRzV1BFLmNwcDoKKyAgICAgICAgKFdUUjo6Z2V0Rm9udHNQYXRoKToKKyAgICAgICAg
KiBmbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsv
ZmlsZXMvaHR0cGQtYXV0b2dlbi5zaDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL2ZsYXRw
YWt1dGlscy5weToKKyAgICAgICAgKGNoZWNrX2ZsYXRwYWspOgorICAgICAgICAoRmxhdHBha1Jl
cG9zLnVwZGF0ZSk6CisgICAgICAgIChGbGF0cGFrUGFja2FnZS5fX3JlcHJfXyk6CisgICAgICAg
IChGbGF0cGFrUGFja2FnZS5fX3N0cl9fKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsubG9hZF9m
cm9tX2FyZ3MpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5fX2luaXRfXyk6CisgICAgICAgIChX
ZWJraXRGbGF0cGFrLmNsZWFuX2FyZ3MpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5zZXR1cF9i
dWlsZGRpcik6CisgICAgICAgIChXZWJraXRGbGF0cGFrKToKKyAgICAgICAgKFdlYmtpdEZsYXRw
YWsuc2V0dXBfZ3N0YnVpbGQpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5ydW5faW5fc2FuZGJv
eCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnJ1bik6CisgICAgICAgIChXZWJraXRGbGF0cGFr
Lmhhc19lbnZpcm9ubWVudCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnNhdmVfY29uZmlnKToK
KyAgICAgICAgKFdlYmtpdEZsYXRwYWsuc2V0dXBfZGV2X2Vudik6CisgICAgICAgIChXZWJraXRG
bGF0cGFrLmluc3RhbGxfYWxsKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsucnVuX2dkYik6Cisg
ICAgICAgICogZmxhdHBhay9vcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmbGF0cGFrL29yZy53ZWJraXQuR1RLLnlhbWw6IFJlbW92ZWQuCisgICAgICAg
ICogZmxhdHBhay9vcmcud2Via2l0LldQRS55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRw
YWsvb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBh
ay9vcmcud2Via2l0LldQRVFULnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9vcmcu
d2Via2l0LldlYktpdC55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsvcGF0Y2hlcy9o
dHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1kZXRlY3Rpb24ucGF0
Y2g6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVz
ZS1wa2ctY29uZmlnLXRvLWRldGVjdC1ncGctZXJyb3IucGF0Y2g6IFJlbW92ZWQuCisgICAgICAg
ICogZmxhdHBhay9wYXRjaGVzL3h2ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1m
aWxlLnBhdGNoOiBSZW1vdmVkLgorCiAyMDIwLTAxLTI4ICBUaW0gSG9ydG9uICA8dGltb3RoeV9o
b3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIG1hY0NhdGFseXN0OiBSaWdodCBjbGlja2luZyBv
biBhIGxpbmsgZm9sbG93cyBpdCBpbW1lZGlhdGVseQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRT
bGF2ZVN1cHBvcnQvZ3RrL1JFQURNRSBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9SRUFE
TUUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5Zjg5Zjk4MjFhZWVhMjBlZGI3Y2Vk
YmNhYmZiNzdmMzgwYmQyYzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL1JFQURNRQorKysgL2Rldi9udWxs
CkBAIC0xLDQ4ICswLDAgQEAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLSBSdW5uaW5nIGEgR1RLKyBidWlsZCBzbGF2ZSB1bmRlciBkYWVtb250b29scwot
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi1UaGlzIGRp
cmVjdG9yeSBjb250YWlucyBzZXZlcmFsIHNjcmlwdHMgd2hpY2ggY2FuIGJlIHVzZWQgdG8gcnVu
IGEgV2ViS2l0R1RLCi1idWlsZCBzbGF2ZSB1bmRlciBkYWVtb250b29scyBbMV0uIFRoaXMgaXMg
Y29udmVuaWVudCBiZWNhdXNlIGRhZW1vbnRvb2xzCi13aWxsIGF1dG9tYXRpY2FsbHkgcmVzdGFy
dCBzZXJ2aWNlcyB3aGVuIHRoZXkgZGllLCBhbmQgdGhhdCBtZWFucyBsZXNzIGh1bWFuCi1pbnRl
cnZlbnRpb24gaXMgbmVlZGVkLgotCi0KLURlcGVuZGVuY2llcwotPT09PT09PT09PT09Ci0KLUlu
IG9yZGVyIHRvIHVzZSB0aGUgcHJvdmlkZWQgc2VydmljZSBjb250cm9sIGZpbGVzLCB5b3Ugd2ls
bCBuZWVkIHRoZQotZm9sbG93aW5nOgotCi0qIFRoZSBHTlUgQmFzaCBzaGVsbCAodGhlIHNjcmlw
dHMgY29udGFpbiBzb21lIGJhc2gtaXNtcykKLQotKiBUaGUgZGFlbW9udG9vbHMgcGFja2FnZSAo
b3Igb25lIG9mIGl0cyBkcm9wLWluIHJlcGxhY2VtZW50cywgbGlrZSBydW5pdAotICBvciBmcmVl
ZHQ7IGJ1dCBvbmx5IGRhZW1vbnRvb2xzIGhhcyBiZWVuIHRlc3RlZCBzbyBmYXIpLgotCi1JbiBz
aG9ydCwgaW4gYSBEZWJpYW4tYmFzZWQgc3lzdGVtIHlvdSBjYW4gZW5zdXJlIHlvdSBoYXZlIHRo
ZSBuZWVkZWQgYml0cwotd2l0aCB0aGUgZm9sbG93aW5nIGNvbW1hbmQ6Ci0KLSAgYXB0LWdldCBp
bnN0YWxsIGRhZW1vbnRvb2xzLXJ1bgotCi0KLVNldHVwCi09PT09PQotCi0xLiBGb2xsb3cgdGhl
IGluc3RydWN0aW9ucyBhdCBodHRwOi8vdHJhYy53ZWJraXQub3JnL3dpa2kvQnVpbGRCb3QKLQot
Mi4gSW5zdGFsbCB0aGUgZGVwZW5kZW5jaWVzIG91dGxpbmVkIGFib3ZlLgotCi0zLiBDb3B5ICJk
YWVtb250b29scy1idWlsZGJvdC5jb25mIiB0byAiL2V0Yy9kYWVtb250b29scy1idWlsZGJvdC5j
b25mIgotCi00LiBFZGl0IHRoZSBjb25maWd1cmF0aW9uIGZpbGUgdG8gc3VpdCB5b3VyIG5lZWRz
LCB0aGUgY29tbWVudHMgc2hvdWxkCi0gICBiZSBzZWxmLWV4cGxhbmF0b3J5LgotCi01LiBEcm9w
IHRoZSAiYnVpbGRib3QiIGFuZCAicHVsc2VhdWRpbyIgZGlyZWN0b3JpZXMgdG8gdGhlIHNlcnZp
Y2UgY29udHJvbCBkaXJlY3Rvcnkgb2YKLSAgIGRhZW1vbnRvb2xzOyBmb3IgRGViaWFuLWJhc2Vk
IHNldHVwcyB0aGF0IHdvdWxkIGJlICIvZXRjL3NlcnZpY2UiCi0KLQotUmVmZXJlbmNlcwotPT09
PT09PT09PQotCi1bMV0gaHR0cDovL2NyLnlwLnRvL2RhZW1vbnRvb2xzLmh0bWwKLQpkaWZmIC0t
Z2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L2xvZy9ydW4gYi9Ub29s
cy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvbG9nL3J1bgpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA3NTUKaW5kZXggZjZjNzQ0YzZkZGE0NWNiZTJiNWQwZmE4YzRmMjViYWI1MWY2YTRkZC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvbG9nL3J1bgorKysgL2Rldi9udWxsCkBAIC0xLDM4
ICswLDAgQEAKLSMhIC91c3IvYmluL2VudiBiYXNoCi0jCi0jIENvcHlyaWdodCAoQykgMjAxMCBJ
Z2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0jIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgot
IyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bwotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KLQotOiAke0JVSUxEQk9UX0NPTkZJRzo9L2V0Yy9kYWVtb250b29scy1idWlsZGJv
dC5jb25mfQotCi0jIFJlYWQgY29uZmlndXJhdGlvbiBmaWxlCi1bIC1yICIke0JVSUxEQk9UX0NP
TkZJR30iIF0gJiYgLiAiJHtCVUlMREJPVF9DT05GSUd9IgotCi06ICR7YnVpbGRib3RfdXNlcjo9
JHtIT01FfX0KLTogJHtidWlsZGJvdF9sb2dfcGF0aDo9L3Zhci9sb2cvYnVpbGRib3R9Ci0KLSMg
RXhwYW5kIGFsbCAiZW52XyoiIGVudmlyb25tZW50IHZhcmlhYmxlcwotZm9yIHZhcm5hbWUgaW4g
JHshZW52Xyp9IDsgZG8KLQlldmFsICJleHBvcnQgJHt2YXJuYW1lI2Vudl99PVwkeyR7dmFybmFt
ZX19IgotZG9uZQotCi1ta2RpciAtcCAiJHtidWlsZGJvdF9sb2dfcGF0aH0iCi1jaG93biAiJHti
dWlsZGJvdF91c2VyfSIgIiR7YnVpbGRib3RfbG9nX3BhdGh9IgotCi1leGVjIC91c3IvYmluL3Nl
dHVpZGdpZCAiJHtidWlsZGJvdF91c2VyfSIgXAotICAgICAvdXNyL2Jpbi9tdWx0aWxvZyB0ICIk
e2J1aWxkYm90X2xvZ19wYXRofSIKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBv
cnQvZ3RrL2J1aWxkYm90L3J1biBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWlsZGJv
dC9ydW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDE2NmMzODNlYThlNmMxMGZjYzA1
ZWYwN2VkNGY0ODg5YmJiYjllYWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L3J1bgorKysg
L2Rldi9udWxsCkBAIC0xLDc3ICswLDAgQEAKLSMhIC91c3IvYmluL2VudiBiYXNoCi0jCi0jIENv
cHlyaWdodCAoQykgMjAxMCBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCi0jIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgotIyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotIyBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
LSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotIyB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIyBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLQotZXhlYyAyPiYxCi0KLTogJHtCVUlMREJPVF9D
T05GSUc6PS9ldGMvZGFlbW9udG9vbHMtYnVpbGRib3QuY29uZn0KLQotIyBSZWFkIGNvbmZpZ3Vy
YXRpb24gZmlsZQotWyAtciAiJHtCVUlMREJPVF9DT05GSUd9IiBdICYmIC4gIiR7QlVJTERCT1Rf
Q09ORklHfSIKLQotIyBFeHBhbmQgYWxsICJlbnZfKiIgZW52aXJvbm1lbnQgdmFyaWFibGVzCi1m
b3IgdmFybmFtZSBpbiAkeyFlbnZfKn0gOyBkbwotCWV2YWwgImV4cG9ydCAke3Zhcm5hbWUjZW52
X309XCR7JHt2YXJuYW1lfX0iCi1kb25lCi0KLQotaWYgISBbICIke2J1aWxkYm90X3BhdGh9IiBd
IDsgdGhlbgotCWVjaG8gIk5vIFwke2J1aWxkYm90X3BhdGh9IGRlZmluZWQhICh3aWxsIHNsZWVw
IGZvciA1IG1pbnV0ZXMpIgotCXNsZWVwIDMwMAotCWV4aXQgMTExCi1maQotCi0KLWlmICEgWyAi
JHtXRUJLSVRfVEVTVEZPTlRTfSIgXSA7IHRoZW4KLQllY2hvICJObyBcJHtXRUJLSVRfVEVTVEZP
TlRTfSBlbnZpcm9ubWVudCB2YXJpYWJsZSEgKHdpbGwgc2xlZXAgZm9yIDUgbWludXRlcykiCi0J
c2xlZXAgMzAwCi0JZXhpdCAxMTEKLWZpCi0KLQotaWYgWyAiJHtjb3JlZHVtcF9vdXRwdXQ6PScn
fSIgXSA7IHRoZW4KLQkjIEVuc3VyZSB0aGF0IHRoZSBvdXRwdXQgZGlyZWN0b3J5IGV4aXN0cy4K
LQlpZiBbWyAhIC1kICR7Y3Jhc2htb25fb3V0cHV0fSBdXSA7IHRoZW4KLQkJbWtkaXIgLXAgIiR7
Y3Jhc2htb25fb3V0cHV0fSIKLQlmaQotCi0JdWxpbWl0IC1jICIke2NyYXNobW9uX21heF9zaXpl
Oj11bmxpbWl0ZWR9IgotZmkKLQotCi1pZiBbICIke2NjYWNoZV9wYXRofSIgXSA7IHRoZW4KLQll
eHBvcnQgUEFUSD0iJHtjY2FjaGVfcGF0aH06JHtQQVRIfSIKLWZpCi0KLTogJHtidWlsZGJvdF91
c2VyOj0ke1VTRVJ9fQotCi1jZCAiJHtidWlsZGJvdF9wYXRofSIKLWV4ZWMgL3Vzci9iaW4vZW52
IC0gICAgICAgICAgXAotCQlURVJNPWR1bWIgICAgICAgICAgICAgICAgIFwKLQkJVFo9UFNUOFBE
VCAgICAgICAgICAgICAgICAgXAotCQlQQVRIPSIke1BBVEh9IiAgICAgICAgICAgICAgXAotCQlT
SEVMTD0vYmluL2Jhc2ggICAgICAgICAgICAgIFwKLQkJTEFORz1lbl9VUy5VVEYtOCAgICAgICAg
ICAgICAgXAotCQlVU0VSPSIke2J1aWxkYm90X3VzZXJ9IiAgICAgICAgXAotCQlMT0dOQU1FPSIk
e2J1aWxkYm90X3VzZXJ9IiAgICAgIFwKLQkJSE9NRT0iL2hvbWUvJHtidWlsZGJvdF91c2VyfSIg
ICAgXAotCQlESVNQTEFZPSIke3h2ZmJfZGlzcGxheTotJzoxMCd9IiAgXAotCQlNQUlMPSIvdmFy
L21haWwvJHtidWlsZGJvdF91c2VyfSIgIFwKLQkvdXNyL2Jpbi9zZXR1aWRnaWQgIiR7YnVpbGRi
b3RfdXNlcn0iIFwKLQkvdXNyL2Jpbi90d2lzdGQgLW5veSBidWlsZGJvdC50YWMKLQpkaWZmIC0t
Z2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNv
bmYgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvZGFlbW9udG9vbHMtYnVpbGRib3QuY29u
ZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDZhZjI5ZjdiMDYyNjgyMTZjZTRhMWYx
YWFlZThkNDYyMGQyNGRmZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvZGFlbW9udG9vbHMtYnVpbGRib3Qu
Y29uZgorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDEw
IElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
Ci0jIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCi0jIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgotCi0KLSMgUGF0aCB0byB0aGUgQnVpbGRib3Qgc2xhdmUgZGlyZWN0b3J5Ci0j
Ci1idWlsZGJvdF9wYXRoPSIvaG9tZS9zbGF2ZS93ZWJraXRndGsiCi0KLSMgVXNlciBhY2NvdW50
IHVzZWQgdG8gcnVuIEJ1aWxkYm90LgotIwotYnVpbGRib3RfdXNlcj0ic2xhdmUiCi0KLSMgUGF0
aCB0byBhIGRpcmVjdG9yeSB3aGVyZSB0byBsb2cgQnVpbGRib3Qgb3V0cHV0Ci0jCi1idWlsZGJv
dF9sb2dfcGF0aD0iL3Zhci9sb2cvYnVpbGRib3QiCi0KLQotIyBJZiB5b3Ugd2FudCB0byB1c2Ug
Y2NhY2hlLCBzZXQgYSBwYXRoIHRvIHdoZXJlIHN5bmxpbmtzIHdpdGggdG9vbAotIyBuYW1lcyBw
b2ludGluZyB0byBjY2FjaGUgYXJlIGluc3RhbGxlZC4gSW4gRGViaWFuIHN5c3RlbXMgdGhpcwot
IyB3b3VsZCBiZSAvdXNyL2xpYi9jY2FjaGUuIFNldCB0byBlbXB0eSB0byBkaXNhYmxlLgotIwot
Y2NhY2hlX3BhdGg9Ii91c3IvbGliL2NjYWNoZSIKLQotCi0jIEVudmlyb25tZW50IHZhcmlhYmxl
cy4gUHJlZml4IHRoZW0gd2l0aCAiZW52XyIuCi0jCi1lbnZfQ0ZMQUdTPSItcGlwZSIKLWVudl9D
WFhGTEFHUz0iLXBpcGUiCi1lbnZfTERGTEFHUz0iLW5vLWluc3RhbGwgLW5vLWZhc3QtaW5zdGFs
bCIKLWVudl9XRUJLSVRfVEVTVEZPTlRTPSIvaG9tZS8ke2J1aWxkYm90X3VzZXJ9L3Rlc3Rmb250
cyIKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL3B1bHNlYXVkaW8v
cnVuIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL3B1bHNlYXVkaW8vcnVuCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDc1NQppbmRleCA3YzExN2FkOWQyMDczOThkODZmMDI3MzhlNTkzMTg5NTkx
N2Q1Njc4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rv
b2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9wdWxzZWF1ZGlvL3J1bgorKysgL2Rldi9udWxsCkBA
IC0xLDI0ICswLDAgQEAKLSMhIC91c3IvYmluL2VudiBiYXNoCi0jCi0jIENvcHlyaWdodCAoQykg
MjAxMCBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0j
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgotIyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KLQotZXhlYyAyPiYxCi1leGVjIC91c3IvYmluL3B1bHNlYXVkaW8gLS1z
eXN0ZW0gXAotCS0tZGlzYWxsb3ctZXhpdCAtLWRpc2FsbG93LW1vZHVsZS1sb2FkaW5nIFwKLQkt
LWxvZy10YXJnZXQ9c3lzbG9nCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Vi
a2l0IGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKaW5kZXggZmMwNjY0YTY1MDU1NDZmNDI4
Yzc1MTRiOTY3NTExOWI3NWE2MjE0MC4uMDk5ZDMzYTRiOWI5Y2RmNDMyY2QxMDI2ZWE2YWFlMGNi
OTI1N2E3NyAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKKysrIGIvVG9v
bHMvU2NyaXB0cy9idWlsZC13ZWJraXQKQEAgLTUzLDggKzUzLDggQEAgc2V0Q29uZmlndXJhdGlv
bigpOwogCiBpZiAoc2hvdWxkVXNlRmxhdHBhaygpKSB7CiAgICAgcHJpbnQgIkJ1aWxkaW5nIGZs
YXRwYWsgYmFzZWQgZW52aXJvbm1lbnRcbiI7Ci0KLSAgICBydW5JbkZsYXRwYWsoIi9hcHAvd2Vi
a2l0L1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0Iik7CisgICAgbXkgQGNvbW1hbmQgPSAoRmls
ZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgIlNjcmlwdHMiLCAiYnVpbGQt
d2Via2l0IikpOworICAgIHJ1bkluRmxhdHBhayhAY29tbWFuZCk7CiB9CiAKIG15ICRvcmlnaW5h
bFdvcmtpbmdEaXJlY3RvcnkgPSBnZXRjd2QoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
cnVuLWJpbmRpbmdzLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMKaW5k
ZXggZjZlNDQ3NzI1MGY5ZTE5ZTM5NThlZmNiN2Q2ZTgxZTJhYzI4YzlhYi4uMGFjMGIzYTMxMDg4
YTEyMmUwOTk4ZWE0OTU2NWJmMjM4NzczOGE1MCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9y
dW4tYmluZGluZ3MtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMK
QEAgLTMzLDYgKzMzLDExIEBAIGltcG9ydCBvcwogaW1wb3J0IHN5cwogZnJvbSB3ZWJraXRweS5j
b21tb24uc3lzdGVtIGltcG9ydCBleGVjdXRpdmUKIAordG9wX2xldmVsX2RpcmVjdG9yeSA9IG9z
LnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICcu
LicsICcuLicpKQorc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxfZGly
ZWN0b3J5LCAnVG9vbHMnLCAnZmxhdHBhaycpKQoraW1wb3J0IGZsYXRwYWt1dGlscworZmxhdHBh
a3V0aWxzLnJ1bl9pbl9zYW5kYm94X2lmX2F2YWlsYWJsZShzeXMuYXJndikKKwogZGVmIG1haW4o
YXJndik6CiAgICAgIiIiUnVucyBXZWJDb3JlIGJpbmRpbmdzIGNvZGUgZ2VuZXJhdG9ycyBvbiB0
ZXN0IElETCBmaWxlcyBhbmQgY29tcGFyZXMKICAgICB0aGUgcmVzdWx0cyB3aXRoIHJlZmVyZW5j
ZSBmaWxlcy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRv
ci10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRvci10ZXN0cwppbmRl
eCAyMzk4Yzc4Y2ExMGVjNTk3NjI2NjEyYzg1NTUzYWJkMWE0ZTZmYmQ0Li5mYmIwODY0MjQxOTc0
ZWE2MDM1ZGE4OGIzNjc5YmM0M2MwMmM3ZTlkIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1
bi1idWlsdGlucy1nZW5lcmF0b3ItdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tYnVpbHRp
bnMtZ2VuZXJhdG9yLXRlc3RzCkBAIC0yNSw2ICsyNSwxMiBAQAogaW1wb3J0IHN5cwogZnJvbSB3
ZWJraXRweS5jb21tb24uc3lzdGVtIGltcG9ydCBleGVjdXRpdmUKIAoraW1wb3J0IG9zCit0b3Bf
bGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5k
aXJuYW1lKF9fZmlsZV9fKSwgJy4uJywgJy4uJykpCitzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0
aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICdUb29scycsICdmbGF0cGFrJykpCitpbXBvcnQg
ZmxhdHBha3V0aWxzCitmbGF0cGFrdXRpbHMucnVuX2luX3NhbmRib3hfaWZfYXZhaWxhYmxlKHN5
cy5hcmd2KQorCiBkZWYgbWFpbihhcmd2KToKICAgICAiIiJSdW5zIHRoZSBKUyBidWlsdGlucyBj
b2RlIGdlbmVyYXRvciBvbiB0ZXN0IGlucHV0IGZpbGVzIGFuZCBjb21wYXJlcwogICAgIHRoZSBy
ZXN1bHRzIHdpdGggcmVmZXJlbmNlIGZpbGVzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9y
dW4tZ3RrLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzCmluZGV4IDQxYjA1ZTJk
ZjRiMWU2ZDhmZTM4ZWEzYzU0OWI1MzM1ODRhNDI5N2UuLmQzOTc0OGY0YzNkOGZkZmNlZmYxYTIy
OTlhZGE0MmM4N2U2NWFhZTUgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWd0ay10ZXN0
cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMKQEAgLTEzMyw3ICsxMzMsNyBAQCBp
ZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIGlmIG5vdCBmbGF0cGFrdXRpbHMuaXNfc2Fu
ZGJveGVkKCkgYW5kIG5vdCBqaGJ1aWxkdXRpbHMuZW50ZXJfamhidWlsZF9lbnZpcm9ubWVudF9p
Zl9hdmFpbGFibGUoImd0ayIpOgogICAgICAgICBwcmludCAnKioqJwogICAgICAgICBwcmludCAn
KioqIFdhcm5pbmc6IGpoYnVpbGQgZW52aXJvbm1lbnQgbm90IHByZXNlbnQgYW5kIG5vdCBydW5u
aW5nIGluIGZsYXRwYWsuJwotICAgICAgICBwcmludCAnKioqIFJ1biB1cGRhdGUtd2Via2l0Z3Rr
LWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIGJlZm9yZSBidWlsZC13ZWJraXQgdG8g
ZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCisgICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13
ZWJraXRndGstbGlicyBvciB1cGRhdGUtd2Via2l0LWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtp
dCB0byBlbnN1cmUgcHJvcGVyIHRlc3RpbmcuLicKICAgICAgICAgcHJpbnQgJyoqKicKIAogICAg
IG9wdGlvbl9wYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIodXNhZ2U9J3VzYWdlOiAlcHJv
ZyBbb3B0aW9uc10gW3Rlc3QuLi5dJykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWph
dmFzY3JpcHRjb3JlLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVz
dHMKaW5kZXggODhkNGY1YmYxZjZmZDk5MDcyYTQ4YWM3NDg0OThhNmM0MGMxZjNlOS4uOTkzNzE3
YTc0NGQ2ZDIxY2MyM2YxNDBkNmQ1NzhiZWUwYTZkOTAwNiAxMDA3NTUKLS0tIGEvVG9vbHMvU2Ny
aXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2
YXNjcmlwdGNvcmUtdGVzdHMKQEAgLTQ2LDYgKzQ2LDEyIEBAIHVzZSBUZXh0OjpQYXJzZVdvcmRz
Owogc2V0Q29uZmlndXJhdGlvbigpOwogbXkgJGNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9u
KCk7CiAKK2lmIChzaG91bGRVc2VGbGF0cGFrKCkpIHsKKyAgICBteSBAY29tbWFuZCA9IChGaWxl
OjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tamF2
YXNjcmlwdGNvcmUtdGVzdHMiKSk7CisgICAgcnVuSW5GbGF0cGFrKEBjb21tYW5kKTsKK30KKwor
CiAjIFRoZXNlIHZhcmlhYmxlcyBhcmUgaW50ZW50aW9uYWxseSBsZWZ0IHVuZGVmaW5lZC4KIG15
ICRyb290OwogbXkgJHNob3dIZWxwOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tbWlu
aWJyb3dzZXIgYi9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlcgppbmRleCA0Y2Y2YmU0MDQ3
YmZkNzZkNjgxMDlhYjI5YWE2OGE5MGRjMDg2NmUxLi45MGNkM2ZhZjQzMWFlYjkyOGRmZDZkZGZk
NmVkNmQyM2QyZjIxY2NjIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3Nl
cgorKysgYi9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlcgpAQCAtNDUsNyArNDUsOCBAQCBw
cm9oaWJpdFVua25vd25Qb3J0KCk7CiBzZXRDb25maWd1cmF0aW9uKCk7CiAKIGlmIChpc0d0aygp
IHx8IGlzV1BFKCkpIHsKLSAgICBydW5JbkZsYXRwYWtJZkF2YWlsYWJsZSgiL2FwcC93ZWJraXQv
VG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXIiKTsKKyAgICBteSBAY29tbWFuZCA9IChGaWxl
OjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tbWlu
aWJyb3dzZXIiKSk7CisgICAgcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQGNvbW1hbmQpOwogCiAg
ICAgIyBDaGVjayB0byBzZWUgdGhhdCBhbGwgdGhlIGZyYW1ld29ya3MgYXJlIGJ1aWx0LgogICAg
IGNoZWNrRnJhbWV3b3JrcygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tcXQtd3Bl
LW1pbmlicm93c2VyIGIvVG9vbHMvU2NyaXB0cy9ydW4tcXQtd3BlLW1pbmlicm93c2VyCmluZGV4
IGFlYWNiNDgzYzJmZDEwYWFhNWZkZDAwZGM2ZDRjMGM5ZjYxNzMyNDUuLmQ0MjFjZTYyNDgxNmUx
MmQyZDdkZjM4ZGE5MDlhZDA1YTZjOTVmYTAgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVu
LXF0LXdwZS1taW5pYnJvd3NlcgorKysgYi9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJy
b3dzZXIKQEAgLTM4LDkgKzM4LDEzIEBAIG15IEBqaGJ1aWxkV3JhcHBlcjsKIG15ICRjb25maWd1
cmF0aW9uID0gcGFzc2VkQ29uZmlndXJhdGlvbigpOwogbXkgJHByb2R1Y3REaXIgPSBwcm9kdWN0
RGlyKCk7CiAKLSRsaWJQYXRoID0gIi9hcHAvd2Via2l0L1dlYktpdEJ1aWxkLyRjb25maWd1cmF0
aW9uL2xpYi9xbWwiIGlmICRjb25maWd1cmF0aW9uOwotJEVOVnsiUU1MMl9JTVBPUlRfUEFUSCJ9
ID0gIiRsaWJQYXRoIiBpZiAkbGliUGF0aDsKLXJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKCIvYXBw
L3dlYmtpdC9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXIiKTsKK2lmICgkY29u
ZmlndXJhdGlvbikgeworICAgICRsaWJQYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VE
aXIoKSwgIldlYktpdEJ1aWxkIiwgIiRjb25maWd1cmF0aW9uIiwgImxpYiIsICJxbWwiKTsKKyAg
ICAkRU5WeyJRTUwyX0lNUE9SVF9QQVRIIn0gPSAiJGxpYlBhdGgiOworfQorCitteSBAY29tbWFu
ZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIs
ICJydW4tcXQtd3BlLW1pbmlicm93c2VyIikpOworcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQGNv
bW1hbmQpOwogCiAjIENoZWNrIHRvIHNlZSB0aGF0IGFsbCB0aGUgZnJhbWV3b3JrcyBhcmUgYnVp
bHQuCiBjaGVja0ZyYW1ld29ya3MoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLXdl
YmRyaXZlci10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0cwppbmRleCBh
Y2MzNWY3MjQ4M2YyODMyZjA5YzhlZmIxODk1ZDE4MWQ0ZDY3OTI5Li5jMzAwNGQ0NTMyM2M1MTQy
NjY1ZDM3MDMzN2U4ZTU5MDQyM2E5ZDQwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi13
ZWJkcml2ZXItdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzCkBA
IC03OCw3ICs3OCw3IEBAIGlmIHBvcnQubmFtZSgpIGluIFsnZ3RrJywgJ3dwZSddOgogICAgICAg
ICBpZiBub3QgamhidWlsZHV0aWxzLmVudGVyX2poYnVpbGRfZW52aXJvbm1lbnRfaWZfYXZhaWxh
YmxlKHBvcnQubmFtZSgpKToKICAgICAgICAgICAgIHByaW50ICcqKionCiAgICAgICAgICAgICBw
cmludCAnKioqIFdhcm5pbmc6IGpoYnVpbGQgZW52aXJvbm1lbnQgbm90IHByZXNlbnQgYW5kIG5v
dCBydW5uaW5nIGluIGZsYXRwYWsuJwotICAgICAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRl
LXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXRndGstZmxhdHBhayBiZWZvcmUgYnVpbGQt
d2Via2l0IHRvIGVuc3VyZSBwcm9wZXIgdGVzdGluZy4uJworICAgICAgICAgICAgcHJpbnQgJyoq
KiBSdW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBhayBiZWZv
cmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9wZXIgdGVzdGluZy4uJwogICAgICAgICAgICAg
cHJpbnQgJyoqKicKIAogcG9ydC5fZGlzcGxheV9zZXJ2ZXIgPSBvcHRpb25zLmRpc3BsYXlfc2Vy
dmVyCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi13cGUtdGVzdHMgYi9Ub29scy9TY3Jp
cHRzL3J1bi13cGUtdGVzdHMKaW5kZXggOGY3NzQ5ZWI2YWQ2ZDFmMTk5MTNhMTc2OTlkY2I3Njc3
ZjQ4NjJkMS4uZjM0YzE5NzA2NDc3NjIyNjI0NTJlNmFlODNmYTI4NWYyOGU1ZDE4MCAxMDA3NTUK
LS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4td3BlLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVu
LXdwZS10ZXN0cwpAQCAtNTEsNyArNTEsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgog
ICAgIGlmIG5vdCBmbGF0cGFrdXRpbHMuaXNfc2FuZGJveGVkKCkgYW5kIG5vdCBqaGJ1aWxkdXRp
bHMuZW50ZXJfamhidWlsZF9lbnZpcm9ubWVudF9pZl9hdmFpbGFibGUoIndwZSIpOgogICAgICAg
ICBwcmludCAnKioqJwogICAgICAgICBwcmludCAnKioqIFdhcm5pbmc6IGpoYnVpbGQgZW52aXJv
bm1lbnQgbm90IHByZXNlbnQgYW5kIG5vdCBydW5uaW5nIGluIGZsYXRwYWsuJwotICAgICAgICBw
cmludCAnKioqIFJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1m
bGF0cGFrIGJlZm9yZSBidWlsZC13ZWJraXQgdG8gZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCisg
ICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13ZWJraXR3cGUtbGlicyBvciB1cGRhdGUtd2Vi
a2l0LWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3Rpbmcu
LicKICAgICAgICAgcHJpbnQgJyoqKicKIAogICAgIG9wdGlvbl9wYXJzZXIgPSBvcHRwYXJzZS5P
cHRpb25QYXJzZXIodXNhZ2U9J3VzYWdlOiAlcHJvZyBbb3B0aW9uc10gW3Rlc3QuLi5dJykKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRwZXJsIGIvVG9vbHMvU2NyaXB0cy90
ZXN0LXdlYmtpdHBlcmwKaW5kZXggNjQ5NTY5NjBmZmM2N2FlN2RmOTMzNjQxMzZkOTFhNWQ4OGVh
OTk0My4uZGM4MWMxN2MzYmFjNTlhODgxYTczZWQxNWIzYTc0NjBjYTdiOWY5OCAxMDA3NTUKLS0t
IGEvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHBlcmwKKysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0
LXdlYmtpdHBlcmwKQEAgLTMyLDYgKzMyLDEzIEBACiAKIHVzZSBzdHJpY3Q7CiB1c2Ugd2Fybmlu
Z3M7Cit1c2UgRmlsZTo6QmFzZW5hbWU7Cit1c2UgRmlsZTo6RmluZDsKK3VzZSBGaWxlOjpTcGVj
OwordXNlIEZpbmRCaW47Cit1c2UgR2V0b3B0OjpMb25nIHF3KDpjb25maWcgcGFzc190aHJvdWdo
IG5vX2F1dG9fYWJicmV2KTsKK3VzZSBsaWIgJEZpbmRCaW46OkJpbjsKK3VzZSB3ZWJraXRkaXJz
OwogCiB1c2UgRmlsZTo6U3BlYzsKIHVzZSBGaW5kQmluOwpAQCAtMzksNiArNDYsMTEgQEAgdXNl
IFRlc3Q6Okhhcm5lc3M7CiB1c2UgbGliICRGaW5kQmluOjpCaW47ICMgc28gdGhpcyBzY3JpcHQg
Y2FuIGJlIHJ1biBmcm9tIGFueSBkaXJlY3RvcnkuCiB1c2UgVkNTVXRpbHM7CiAKK2lmIChzaG91
bGRVc2VGbGF0cGFrKCkpIHsKKyAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxl
KHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJ0ZXN0LXdlYmtpdHBlcmwiKSk7Cisg
ICAgcnVuSW5GbGF0cGFrKEBjb21tYW5kKTsKK30KKwogIyBDaGFuZ2UgdGhlIHdvcmtpbmcgZGly
ZWN0b3J5IHNvIHRoYXQgd2UgY2FuIHBhc3Mgc2hvcnRlciwgcmVsYXRpdmUKICMgcGF0aHMgdG8g
cnVudGVzdHMoKSwgcmF0aGVyIHRoYW4gbG9uZ2VyLCBhYnNvbHV0ZSBwYXRocy4KICMKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweSBiL1Rvb2xzL1NjcmlwdHMvdGVzdC13
ZWJraXRweQppbmRleCBlZTY4MmNjY2YwYWNhM2YyMGRjNjE1ZmU4YjYzMjNjY2M1N2NiZWE0Li40
MjM4OGU5Zjg2MTc4NWVmN2UzOGZiMWY0NTQ5MDA1MDUyZjAwYWVjIDEwMDc1NQotLS0gYS9Ub29s
cy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkKKysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5
CkBAIC0yOSw0ICsyOSwxMCBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogZnJvbSB3ZWJraXRweS5jb21tb24g
aW1wb3J0IG11bHRpcHJvY2Vzc2luZ19ib290c3RyYXAKIAoraW1wb3J0IG9zLCBzeXMKK3RvcF9s
ZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRp
cm5hbWUoX19maWxlX18pLCAnLi4nLCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRo
LmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBm
bGF0cGFrdXRpbHMKK2ZsYXRwYWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lz
LmFyZ3YpCisKIG11bHRpcHJvY2Vzc2luZ19ib290c3RyYXAucnVuKCd3ZWJraXRweScsICd0ZXN0
JywgJ21haW4ucHknKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lciBi
L1Rvb2xzL1NjcmlwdHMvdGVzdDI2Mi1ydW5uZXIKaW5kZXggYTEzMWJjZjYzM2UzMGQ5NzY1ZmI1
NjI0MjUwNzMxMTdhOThmMjIzOC4uYWY3YWQ1ZTQ4ZWYyNTA4Y2Y0ZTIxZDU4ZDU1MGNmMDMyZWY1
ZmEyYiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lcgorKysgYi9Ub29s
cy9TY3JpcHRzL3Rlc3QyNjItcnVubmVyCkBAIC0zNCw2ICszNCwyNiBAQCB1c2UgNS44Ljg7CiB1
c2UgRmluZEJpbjsKIHVzZSBDb25maWc7CiAKK0JFR0lOIHsKKyAgICB1c2UgbGliICRGaW5kQmlu
OjpCaW47CisgICAgdXNlIEZpbGU6OlNwZWM6OkZ1bmN0aW9ucyBxdyhjYXRmaWxlKTsKKworICAg
IGlmICghZ3JlcCgvXi0tbm8tZmxhdHBhay1jaGVjayQvLCBAQVJHVikpIHsKKyAgICAgICAgaWYg
KGV2YWwge3JlcXVpcmUgd2Via2l0ZGlyczsgMTt9KSB7CisgICAgICAgICAgICB3ZWJraXRkaXJz
LT5pbXBvcnQocXcoc2hvdWxkVXNlRmxhdHBhayBydW5JbkZsYXRwYWsgc291cmNlRGlyKSk7Cisg
ICAgICAgICAgICBpZiAoc2hvdWxkVXNlRmxhdHBhaygpKSB7CisgICAgICAgICAgICAgICAgcHJp
bnQgIlJ1bm5pbmcgaW4gZmxhdHBhayBiYXNlZCBlbnZpcm9ubWVudFxuIjsKKyAgICAgICAgICAg
ICAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9v
bHMiLCAiU2NyaXB0cyIsICJ0ZXN0MjYyLXJ1bm5lciIpKTsKKyAgICAgICAgICAgICAgICAjIFBy
ZXZlbnQgZXhlYydkIHRlc3QyNjItcnVubmVyIHByb2Nlc3MgZnJvbSBpbXBvcnRpbmcKKyAgICAg
ICAgICAgICAgICAjIHdlYmtpdGRpcnMgc28gdGhhdCBpdCBjYW4gc3VjY2VlZCBsYXRlciBvbiBp
biB0aGUgUnVubmVyCisgICAgICAgICAgICAgICAgIyBtb2R1bGUuLi4gUGVybC4gwq9cXyjjg4Qp
Xy/CrworICAgICAgICAgICAgICAgIHB1c2goQEFSR1YsICItLW5vLWZsYXRwYWstY2hlY2siKTsK
KyAgICAgICAgICAgICAgICBydW5JbkZsYXRwYWsoQGNvbW1hbmQpOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgfQorfQorCiBCRUdJTiB7CiAgICAgJEVOVntEQklDX09WRVJXUklURV9I
RUxQRVJfTUVUSE9EU19PS30gPSAxOwogICAgICRFTlZ7VDI2Ml9FWEVDX0JJTn0gPSAiJEZpbmRC
aW46OkJpbi90ZXN0MjYyIjsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtp
dC1mbGF0cGFrIGIvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0LWZsYXRwYWsKbmV3IGZpbGUg
bW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTg2YjgxYTIwMzNmNGJiN2JlMmQyOWJkZTVjMTJjZjQ5NTMzMGQ1NQotLS0gL2Rldi9udWxs
CisrKyBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdC1mbGF0cGFrCkBAIC0wLDAgKzEsMjgg
QEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMu
TC4KKyMgQ29weXJpZ2h0IChjKSAyMDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2Fs
aWEuY29tPgorIworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisjIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisjIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIHBy
b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKKyMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBw
cm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZQorIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwKKyMgQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCisjIHB5bGludDogZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5h
bWUKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0
aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwg
Ii4uIikpCitzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3Rv
cnksICJUb29scyIsICJmbGF0cGFrIikpCitmcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0
RmxhdHBhaworCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIFdlYmtpdEZsYXRwYWsu
bG9hZF9mcm9tX2FyZ3MoWyItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsgYi9Ub29scy9TY3Jp
cHRzL3VwZGF0ZS13ZWJraXRndGstZmxhdHBhawpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5k
ZXggMDk1NmYxZjJlMTQ4NWQyNDg2MmVmN2Y2ZDc0YTJmM2Y5OGNmOTJmOC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13
ZWJraXRndGstZmxhdHBhaworKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLSMhL3Vzci9i
aW4vZW52IHB5dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KLSMgQ29weXJp
Z2h0IChjKSAyMDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotIwot
IyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMg
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKLSMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBu
b3QsIHdyaXRlIHRvIHRoZQotIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0j
IHB5bGludDogZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5hbWUKLWltcG9ydCBv
cwotaW1wb3J0IHN5cwotCi10b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChv
cy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCi1zeXMu
cGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICJUb29scyIs
ICJmbGF0cGFrIikpCi1mcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0RmxhdHBhawotCi1p
ZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2Fy
Z3MoWyItLWd0ayIsICItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWxpYnMgYi9Ub29scy9TY3JpcHRzL3Vw
ZGF0ZS13ZWJraXRndGstbGlicwppbmRleCAyZTFjMDJmZmQ3MDU2MDA4MGUzNmJjNzRiNDY1OGZm
ZWY1ZGVjZDhlLi4yZThhODc4NTE5NmRiOGM3YmZjYzQ5MDQ5NWFkOWM1ZDcwMGZmZjUxIDEwMDc1
NQotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstbGlicworKysgYi9Ub29scy9T
Y3JpcHRzL3VwZGF0ZS13ZWJraXRndGstbGlicwpAQCAtMjIsNCArMjIsOCBAQCB1c2UgbGliICRG
aW5kQmluOjpCaW47CiB1c2Ugd2Via2l0ZGlyczsKIAogbXkgJHNjcmlwdHNEaXIgPSByZWxhdGl2
ZVNjcmlwdHNEaXIoKTsKLXN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0
LWxpYnMtamhidWlsZCIsICItLWd0ayIsIEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK2lmIChkZWZp
bmVkICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30gYW5kICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30pIHsK
KyAgICBzeXN0ZW0oInBlcmwiLCAiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1saWJzLWpoYnVp
bGQiLCAiLS1ndGsiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7Cit9IGVsc2UgeworICAgIHN5c3Rl
bSgiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1mbGF0cGFrIiwgQEFSR1YpID09IDAgb3IgZGll
ICQhOworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWZsYXRw
YWsgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtZmxhdHBhawpkZWxldGVkIGZpbGUg
bW9kZSAxMDA3NTUKaW5kZXggNTY0ZTg3NjUyMTExOGUyZmMwZmQ2OGI4Yzg2NmFhOTAwMWNiODEy
Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9T
Y3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtZmxhdHBhaworKysgL2Rldi9udWxsCkBAIC0xLDI4ICsw
LDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlh
IFMuTC4KLSMgQ29weXJpZ2h0IChjKSAyMDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBp
Z2FsaWEuY29tPgotIwotIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMi4xIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlz
IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFsb25nIHdpdGggdGhp
cyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZQotIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCi0jIHB5bGludDogZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlk
LW5hbWUKLWltcG9ydCBvcwotaW1wb3J0IHN5cwotCi10b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3Mu
cGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4u
IiwgIi4uIikpCi1zeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJl
Y3RvcnksICJUb29scyIsICJmbGF0cGFrIikpCi1mcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Vi
a2l0RmxhdHBhawotCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIFdlYmtpdEZsYXRw
YWsubG9hZF9mcm9tX2FyZ3MoWyItLXdwZSIsICItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5y
dW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWxpYnMgYi9U
b29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGlicwppbmRleCA2YjRiNDZmMmI3ZWI4YTll
NjgwNzc1N2JjYTJiOWU2ODQ3MDdhMDIzLi5jZGM0YzdkYjhjNjVlYTczMjNkNjkyNjgxOThhMmY2
OGJkNTEzMDE0IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGli
cworKysgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGlicwpAQCAtMjIsNCArMjIs
OCBAQCB1c2UgbGliICRGaW5kQmluOjpCaW47CiB1c2Ugd2Via2l0ZGlyczsKIAogbXkgJHNjcmlw
dHNEaXIgPSByZWxhdGl2ZVNjcmlwdHNEaXIoKTsKLXN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rp
ci91cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCIsICItLXdwZSIsIEBBUkdWKSA9PSAwIG9yIGRp
ZSAkITsKK2lmIChkZWZpbmVkICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30gYW5kICRFTlZ7J1dFQktJ
VF9KSEJVSUxEJ30pIHsKKyAgICBzeXN0ZW0oInBlcmwiLCAiJHNjcmlwdHNEaXIvdXBkYXRlLXdl
YmtpdC1saWJzLWpoYnVpbGQiLCAiLS13cGUiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7Cit9IGVs
c2UgeworICAgIHN5c3RlbSgiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1mbGF0cGFrIiwgQEFS
R1YpID09IDAgb3IgZGllICQhOworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRk
aXJzLnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCmluZGV4IDEwNGY2NjAyYWI1NzQw
MDRkYTc0Nzk4M2U5Njk1NjIwMDNkYTgwZjMuLjUzYjRlNjBiZDg3NzMyZTBjMmJmZjI5NTEwMGJi
OGQ0YTJiMmFlMjkgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KQEAgLTkxLDcgKzkxLDEwIEBAIEJFR0lOIHsK
ICAgICAgICAmc2V0dXBVbml4V2ViS2l0RW52aXJvbm1lbnQKICAgICAgICAmc2hhcmVkQ29tbWFu
ZExpbmVPcHRpb25zCiAgICAgICAgJnNoYXJlZENvbW1hbmRMaW5lT3B0aW9uc1VzYWdlCisgICAg
ICAgJnNob3VsZFVzZUZsYXRwYWsKKyAgICAgICAmcnVuSW5GbGF0cGFrCiAgICAgICAgJnNodXRE
b3duSU9TU2ltdWxhdG9yRGV2aWNlCisgICAgICAgJnNvdXJjZURpcgogICAgICAgICZ3aWxsVXNl
SU9TRGV2aWNlU0RLCiAgICAgICAgJndpbGxVc2VJT1NTaW11bGF0b3JTREsKICAgICAgICBET19O
T1RfVVNFX09QRU5fQ09NTUFORApAQCAtMjA0NywyMCArMjA1MCwxMSBAQCBzdWIgZ2V0SmhidWls
ZFBhdGgoKQogICAgIHJldHVybiBGaWxlOjpTcGVjLT5jYXRkaXIoQGpoYnVpbGRQYXRoKTsKIH0K
IAotc3ViIGdldEZsYXRwYWtQYXRoKCkKK3N1YiBnZXRVc2VyRmxhdHBha1BhdGgoKQogewotICAg
IG15IEBmbGF0cGFrQnVpbGRQYXRoID0gRmlsZTo6U3BlYy0+c3BsaXRkaXIoYmFzZVByb2R1Y3RE
aXIoKSk7Ci0gICAgaWYgKGlzR3RrKCkpIHsKLSAgICAgICAgcHVzaChAZmxhdHBha0J1aWxkUGF0
aCwgIkdUSyIpOwotICAgIH0gZWxzaWYgKGlzV1BFKCkpIHsKLSAgICAgICAgcHVzaChAZmxhdHBh
a0J1aWxkUGF0aCwgIldQRSIpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGRpZSAiQ2Fubm90IGdl
dCBGbGF0cGFrIHBhdGggZm9yIHBsYXRmb3JtIHRoYXQgaXNuJ3QgR1RLKyBvciBXUEUuXG4iOwot
ICAgIH0KLSAgICBteSBAY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24oKTsKLSAgICBwdXNo
KEBmbGF0cGFrQnVpbGRQYXRoLCAiRmxhdHBha1RyZWUkY29uZmlndXJhdGlvbiIpOwotCi0gICAg
cmV0dXJuIEZpbGU6OlNwZWMtPmNhdGRpcihAZmxhdHBha0J1aWxkUGF0aCk7CisgICAgbXkgQGZs
YXRwYWtQYXRoID0gRmlsZTo6U3BlYy0+c3BsaXRkaXIoYmFzZVByb2R1Y3REaXIoKSk7CisgICAg
cHVzaChAZmxhdHBha1BhdGgsICJVc2VyRmxhdHBhayIpOworICAgIHJldHVybiBGaWxlOjpTcGVj
LT5jYXRkaXIoQGZsYXRwYWtQYXRoKTsKIH0KIAogc3ViIGlzQ2FjaGVkQXJndW1lbnRmaWxlT3V0
T2ZEYXRlKCRAKQpAQCAtMjA4NywxOCArMjA4MSwxNCBAQCBzdWIgaXNDYWNoZWRBcmd1bWVudGZp
bGVPdXRPZkRhdGUoJEApCiAKIHN1YiBpbkZsYXRwYWtTYW5kYm94KCkKIHsKLSAgICBpZiAoLWYg
Ii8uZmxhdHBhay1pbmZvIikgewotICAgICAgICByZXR1cm4gMTsKLSAgICB9Ci0KLSAgICByZXR1
cm4gMDsKKyAgICByZXR1cm4gKC1mICIvLmZsYXRwYWstaW5mbyIpOwogfQogCiBzdWIgcnVuSW5G
bGF0cGFrKEApCiB7CiAgICAgbXkgQGFyZyA9IEBfOwogICAgIG15IEBjb21tYW5kID0gKEZpbGU6
OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgIndlYmtpdC1m
bGF0cGFrIikpOwotICAgIGV4ZWMgQGNvbW1hbmQsIGFyZ3VtZW50c0ZvckNvbmZpZ3VyYXRpb24o
KSwgIi0tY29tbWFuZCIsIEBfLCBhcmd1bWVudHNGb3JDb25maWd1cmF0aW9uKCksIEBBUkdWIG9y
IGRpZTsKKyAgICBleGVjIEBjb21tYW5kLCBhcmd1bWVudHNGb3JDb25maWd1cmF0aW9uKCksIEBB
UkdWLCAiLS1jb21tYW5kIiwgQGFyZywgYXJndW1lbnRzRm9yQ29uZmlndXJhdGlvbigpIG9yIGRp
ZTsKIH0KIAogc3ViIHJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKEApCkBAIC0yMTEyLDggKzIxMDIs
OCBAQCBzdWIgcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQCkKICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgfQogCi0gICAgaWYgKCEgLWUgZ2V0RmxhdHBha1BhdGgoKSkgewotICAgICAgICByZXR1cm4g
MDsKKyAgICBpZiAoISAtZSBnZXRVc2VyRmxhdHBha1BhdGgoKSkgeworICAgICAgcmV0dXJuIDA7
CiAgICAgfQogCiAgICAgcnVuSW5GbGF0cGFrKEBfKQpAQCAtMjEyOCw3ICsyMTE4LDcgQEAgc3Vi
IHdyYXBwZXJQcmVmaXhJZk5lZWRlZCgpCiAgICAgaWYgKGlzQXBwbGVDb2NvYVdlYktpdCgpKSB7
CiAgICAgICAgIHJldHVybiAoInhjcnVuIik7CiAgICAgfQotICAgIGlmIChzaG91bGRVc2VKaGJ1
aWxkKCkgYW5kICEgc2hvdWxkVXNlRmxhdHBhaygpKSB7CisgICAgaWYgKHNob3VsZFVzZUpoYnVp
bGQoKSkgewogICAgICAgICBteSBAcHJlZml4ID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNl
RGlyKCksICJUb29scyIsICJqaGJ1aWxkIiwgImpoYnVpbGQtd3JhcHBlciIpKTsKICAgICAgICAg
aWYgKGlzR3RrKCkpIHsKICAgICAgICAgICAgIHB1c2goQHByZWZpeCwgIi0tZ3RrIik7CkBAIC0y
MTQ1LDEyICsyMTM1LDEyIEBAIHN1YiB3cmFwcGVyUHJlZml4SWZOZWVkZWQoKQogCiBzdWIgc2hv
dWxkVXNlSmhidWlsZCgpCiB7Ci0gICAgcmV0dXJuICgoaXNHdGsoKSBvciBpc1dQRSgpKSBhbmQg
LWUgZ2V0SmhidWlsZFBhdGgoKSk7CisgICAgcmV0dXJuICgoISBpbkZsYXRwYWtTYW5kYm94KCkp
IGFuZCAoaXNHdGsoKSBvciBpc1dQRSgpKSBhbmQgLWUgZ2V0SmhidWlsZFBhdGgoKSBhbmQgZGVm
aW5lZCAkRU5WeydXRUJLSVRfSkhCVUlMRCd9IGFuZCAkRU5WeydXRUJLSVRfSkhCVUlMRCd9KTsK
IH0KIAogc3ViIHNob3VsZFVzZUZsYXRwYWsoKQogewotICAgIHJldHVybiAoKGlzR3RrKCkgb3Ig
aXNXUEUoKSkgYW5kICEgaW5GbGF0cGFrU2FuZGJveCgpIGFuZCAtZSBnZXRGbGF0cGFrUGF0aCgp
KTsKKyAgICByZXR1cm4gKCghIGluRmxhdHBha1NhbmRib3goKSkgYW5kIChpc0d0aygpIG9yIGlz
V1BFKCkpIGFuZCAtZSBnZXRVc2VyRmxhdHBha1BhdGgoKSk7CiB9CiAKIHN1YiBjbWFrZUNhY2hl
UGF0aCgpCkBAIC0yMjE3LDcgKzIyMDcsNyBAQCBzdWIgc2hvdWxkUmVtb3ZlQ01ha2VDYWNoZShA
KQogICAgIH0KIAogICAgICMgSWYgYSBjaGFuZ2Ugb24gdGhlIEpIQnVpbGQgbW9kdWxlc2V0IGhh
cyBiZWVuIGRvbmUsIHdlIG5lZWQgdG8gY2xlYW4gdGhlIGNhY2hlIGFzIHdlbGwuCi0gICAgaWYg
KGlzR3RrKCkgfHwgaXNXUEUoKSkgeworICAgIGlmICghIHNob3VsZFVzZUZsYXRwYWsoKSBhbmQg
KGlzR3RrKCkgfHwgaXNXUEUoKSkpIHsKICAgICAgICAgbXkgJGpoYnVpbGRSb290RGlyZWN0b3J5
ID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKGdldEpoYnVpbGRQYXRoKCksICJSb290Iik7CiAgICAgICAg
ICMgVGhlIHNjcmlwdCB1cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCBzaGFsbCByZS1nZW5lcmF0
ZSAkamhidWlsZFJvb3REaXJlY3RvcnkgaWYgdGhlIG1vZHVsZXNldCBjaGFuZ2VkLgogICAgICAg
ICBpZiAoLWQgJGpoYnVpbGRSb290RGlyZWN0b3J5ICYmICRjYWNoZUZpbGVNb2RpZmllZFRpbWUg
PCBzdGF0KCRqaGJ1aWxkUm9vdERpcmVjdG9yeSktPm10aW1lKSB7CmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9iYXNlLnB5CmluZGV4IGRlMDA2NjY3YjJkMWU1ZTVlZWI4ZjJkMWE0NDhiNzU2ZjdmMDY2
Y2QuLjFjM2VlN2FiZGJhM2Q4NmIyYTY4YTQ2ODhiNGVhZDk2ZTk5ODc1ZWUgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9iYXNlLnB5CkBAIC04OTMsNiArODkzLDcgQEAgY2xhc3MgUG9ydChvYmpl
Y3QpOgogICAgICAgICAgICAgJ0xBTkcnLAogICAgICAgICAgICAgJ0xEX0xJQlJBUllfUEFUSCcs
CiAgICAgICAgICAgICAnVEVSTScsCisgICAgICAgICAgICAnVFonLAogICAgICAgICAgICAgJ1hE
R19EQVRBX0RJUlMnLAogICAgICAgICAgICAgJ1hER19SVU5USU1FX0RJUicsCiAKQEAgLTEyMjAs
NyArMTIyMSw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgVGhpcyBpcyBuZWVkZWQg
b25seSBieSBwb3J0cyB0aGF0IHVzZSB0aGUgYXBhY2hlX2h0dHBfc2VydmVyIG1vZHVsZS4iIiIK
ICAgICAgICAgIyBUaGUgQXBhY2hlIGJpbmFyeSBwYXRoIGNhbiB2YXJ5IGRlcGVuZGluZyBvbiBP
UyBhbmQgZGlzdHJpYnV0aW9uCiAgICAgICAgICMgU2VlIGh0dHA6Ly93aWtpLmFwYWNoZS5vcmcv
aHR0cGQvRGlzdHJvc0RlZmF1bHRMYXlvdXQKLSAgICAgICAgZm9yIHBhdGggaW4gWyIvdXNyL3Ni
aW4vaHR0cGQiLCAiL3Vzci9zYmluL2FwYWNoZTIiLCAiL2FwcC9iaW4vaHR0cGQiXToKKyAgICAg
ICAgZm9yIHBhdGggaW4gWyIvdXNyL3NiaW4vaHR0cGQiLCAiL3Vzci9zYmluL2FwYWNoZTIiLCAi
L3Vzci9iaW4vaHR0cGQiXToKICAgICAgICAgICAgIGlmIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3Rz
KHBhdGgpOgogICAgICAgICAgICAgICAgIHJldHVybiBwYXRoCiAgICAgICAgIF9sb2cuZXJyb3Io
IkNvdWxkIG5vdCBmaW5kIGFwYWNoZS4gTm90IGluc3RhbGxlZCBvciB1bmtub3duIHBhdGguIikK
QEAgLTE0NTIsMTQgKzE0NTMsOCBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgICMgLS1w
aXhlbC10ZXN0LWRpcmVjdG9yeSBpcyBub3Qgc3BlY2lmaWVkLgogICAgICAgICByZXR1cm4gVHJ1
ZQogCi0gICAgZGVmIF9zaG91bGRfdXNlX2ZsYXRwYWsoc2VsZik6Ci0gICAgICAgIHN1ZmZpeCA9
ICIiCi0gICAgICAgIGlmIHNlbGYucG9ydF9uYW1lOgotICAgICAgICAgICAgc3VmZml4ID0gc2Vs
Zi5wb3J0X25hbWUudXBwZXIoKQotICAgICAgICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5leGlz
dHMoc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1dlYktpdEJ1aWxkJywgc3VmZml4LCAiRmxh
dHBha1RyZWUiKSkKLQogICAgIGRlZiBfaW5fZmxhdHBha19zYW5kYm94KHNlbGYpOgotICAgICAg
ICByZXR1cm4gb3MucGF0aC5leGlzdHMoIi8uZmxhdHBhay1pbmZvIikKKyAgICAgICAgcmV0dXJu
IHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKCIvLmZsYXRwYWstaW5mbyIpCiAKICAgICBkZWYgX3No
b3VsZF91c2VfamhidWlsZChzZWxmKToKICAgICAgICAgaWYgc2VsZi5faW5fZmxhdHBha19zYW5k
Ym94KCk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQppbmRleCA2OGJjMTY5MjNmOGFiNzYw
OTFmNWIzZTk2NGQwNjVjNzk0M2ZmOGQ1Li4wY2U4YWE0ODc0NTkwOWM3OTczNjg4M2IzNmQzNGU4
NzQwOThkNDczIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkKQEAgLTEyMiw2ICsxMjIs
NyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICBlbnZpcm9ubWVudFsnVEVTVF9SVU5O
RVJfSU5KRUNURURfQlVORExFX0ZJTEVOQU1FJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdsaWInLCAn
bGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLnNvJykKICAgICAgICAgZW52aXJvbm1lbnRbJ1RF
U1RfUlVOTkVSX1RFU1RfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ2xpYicsICdw
bHVnaW5zJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVu
dmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJUicpCisgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVf
ZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9KSEJVSUxEJykKICAgICAg
ICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VC
S0lUX1RPUF9MRVZFTCcpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lm
X3NldChlbnZpcm9ubWVudCwgJ1VTRV9QTEFZQklOMycpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFs
dWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ0dTVF9ERUJVRycpCkBAIC0xMzQs
MTAgKzEzNSwxMSBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAgICAgaWYgc2VsZi5f
c2hvdWxkX3VzZV9qaGJ1aWxkKCk6CiAgICAgICAgICAgICAgICAgbGx2bXBpcGVfbGliZ2xfcGF0
aCA9IHNlbGYuaG9zdC5leGVjdXRpdmUucnVuX2NvbW1hbmQoc2VsZi5famhidWlsZF93cmFwcGVy
ICsgWydwcmludGVudicsICdMTFZNUElQRV9MSUJHTF9QQVRIJ10sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9y
ZV9lcnJvcnM9VHJ1ZSkuc3RyaXAoKQorICAgICAgICAgICAgICAgIGRyaV9saWJnbF9wYXRoID0g
b3MucGF0aC5qb2luKGxsdm1waXBlX2xpYmdsX3BhdGgsICJkcmkiKQogICAgICAgICAgICAgZWxz
ZTogICMgaW4gZmxhdHBhawotICAgICAgICAgICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGggPSAi
L2FwcC9zb2Z0R0wvbGliIgorICAgICAgICAgICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGggPSAi
L3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS8iCisgICAgICAgICAgICAgICAgZHJpX2xpYmdsX3Bh
dGggPSBvcy5wYXRoLmpvaW4obGx2bXBpcGVfbGliZ2xfcGF0aCwgIkdMIiwgImxpYiIsICJkcmki
KQogCi0gICAgICAgICAgICBkcmlfbGliZ2xfcGF0aCA9IG9zLnBhdGguam9pbihsbHZtcGlwZV9s
aWJnbF9wYXRoLCAiZHJpIikKICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGgu
am9pbihsbHZtcGlwZV9saWJnbF9wYXRoLCAibGliR0wuc28iKSkgYW5kIG9zLnBhdGguZXhpc3Rz
KG9zLnBhdGguam9pbihkcmlfbGliZ2xfcGF0aCwgInN3cmFzdF9kcmkuc28iKSk6CiAgICAgICAg
ICAgICAgICAgIyBNYWtlIHN1cmUgdmEtYXBpIHN1cHBvcnQgZ2V0cyBkaXNhYmxlZCBiZWNhdXNl
IGl0J3MgaW5jb21wYXRpYmxlIHdpdGggTWVzYSdzIHNvZnRHTCBkcml2ZXIuCiAgICAgICAgICAg
ICAgICAgZW52aXJvbm1lbnRbJ0xJQlZBX0RSSVZFUl9OQU1FJ10gPSAibnVsbCIKQEAgLTE0OCw3
ICsxNTAsNyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAgICAgICAgIGlmIG9zLmVu
dmlyb24uZ2V0KCdMRF9MSUJSQVJZX1BBVEgnKToKICAgICAgICAgICAgICAgICAgICAgZW52aXJv
bm1lbnRbJ0xEX0xJQlJBUllfUEFUSCddICs9ICc6JXMnICUgb3MuZW52aXJvbi5nZXQoJ0xEX0xJ
QlJBUllfUEFUSCcpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIF9sb2cud2Fy
bmluZygiQ2FuJ3QgZmluZCBHYWxsaXVtIGxsdm1waXBlIGRyaXZlci4gVHJ5IHRvIHJ1biB1cGRh
dGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIikKKyAgICAgICAg
ICAgICAgICBfbG9nLndhcm5pbmcoIkNhbid0IGZpbmQgR2FsbGl1bSBsbHZtcGlwZSBkcml2ZXIu
IFRyeSB0byBydW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBh
ayIpCiAgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbigibGVha3MiKToKICAgICAgICAgICAgICMg
VHVybiBvZmYgR0xpYiBtZW1vcnkgb3B0aW1pc2F0aW9ucyBodHRwczovL3dpa2kuZ25vbWUub3Jn
L1ZhbGdyaW5kLgogICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0dfU0xJQ0UnXSA9ICdhbHdheXMt
bWFsbG9jJwpAQCAtMjM3LDcgKzIzOSw3IEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAKICAgICBk
ZWYgX2dldF9jcmFzaF9sb2coc2VsZiwgbmFtZSwgcGlkLCBzdGRvdXQsIHN0ZGVyciwgbmV3ZXJf
dGhhbiwgdGFyZ2V0X2hvc3Q9Tm9uZSk6CiAgICAgICAgIHJldHVybiBHREJDcmFzaExvZ0dlbmVy
YXRvcihzZWxmLl9leGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwKLSAgICAgICAgICAg
IHNlbGYuX2ZpbGVzeXN0ZW0sIHNlbGYuX3BhdGhfdG9fZHJpdmVyKS5nZW5lcmF0ZV9jcmFzaF9s
b2coc3Rkb3V0LCBzdGRlcnIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlciwgc2VsZi5wb3J0X25hbWUsIHNl
bGYuZ2V0X29wdGlvbignY29uZmlndXJhdGlvbicpKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0
LCBzdGRlcnIpCiAKICAgICBkZWYgdGVzdF9leHBlY3RhdGlvbnNfZmlsZV9wb3NpdGlvbihzZWxm
KToKICAgICAgICAgIyBHVEsgcG9ydCBiYXNlbGluZSBzZWFyY2ggcGF0aCBpcyBndGsgLT4gd2sy
IC0+IGdlbmVyaWMgKGFzIGd0ay13azIgYW5kIGd0ayBiYXNlbGluZXMgYXJlIG1lcmdlZCksIHNv
IHBvcnQgdGVzdCBleHBlY3RhdGlvbnMgZmlsZSBpcyBhdCB0aGlyZCB0byBsYXN0IHBvc2l0aW9u
LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFz
aF9sb2cucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xv
Zy5weQppbmRleCA5YWRjNDYzNzFmOTYxYjE5NjI4ZTdmZWRkNDY1ZWJmZDA5NmNkMDFhLi4yZTAz
ZGZmMWEzNmViNWMyMDVhZTY4NzljZDIyYmQyYzcwMjIxMWUzIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQpAQCAtMzcsMTggKzM3
LDIyIEBAIGltcG9ydCB0aW1lCiAKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRp
dmUgaW1wb3J0IFNjcmlwdEVycm9yCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi51bmljb2RlX2NvbXBh
dGliaWxpdHkgaW1wb3J0IGRlY29kZV9pZl9uZWNlc3NhcnkKK2Zyb20gd2Via2l0cHkuY29tbW9u
LndlYmtpdF9maW5kZXIgaW1wb3J0IFdlYktpdEZpbmRlcgogCiAKIGNsYXNzIEdEQkNyYXNoTG9n
R2VuZXJhdG9yKG9iamVjdCk6CiAgICAgX2ZpbmRfcGlkX3JlZ2V4ID0gcmUuY29tcGlsZShyJ1BJ
RDogKFxkKykgXCguKlwpJykKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBleGVjdXRpdmUsIG5h
bWUsIHBpZCwgbmV3ZXJfdGhhbiwgZmlsZXN5c3RlbSwgcGF0aF90b19kcml2ZXIpOgorICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBleGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwgZmlsZXN5
c3RlbSwgcGF0aF90b19kcml2ZXIsIHBvcnRfbmFtZSwgY29uZmlndXJhdGlvbik6CiAgICAgICAg
IHNlbGYubmFtZSA9IG5hbWUKICAgICAgICAgc2VsZi5waWQgPSBwaWQKICAgICAgICAgc2VsZi5u
ZXdlcl90aGFuID0gbmV3ZXJfdGhhbgogICAgICAgICBzZWxmLl9maWxlc3lzdGVtID0gZmlsZXN5
c3RlbQogICAgICAgICBzZWxmLl9wYXRoX3RvX2RyaXZlciA9IHBhdGhfdG9fZHJpdmVyCiAgICAg
ICAgIHNlbGYuX2V4ZWN1dGl2ZSA9IGV4ZWN1dGl2ZQorICAgICAgICBzZWxmLl9wb3J0X25hbWUg
PSBwb3J0X25hbWUKKyAgICAgICAgc2VsZi5fY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24K
KyAgICAgICAgc2VsZi5fd2Via2l0X2ZpbmRlciA9IFdlYktpdEZpbmRlcihmaWxlc3lzdGVtKQog
CiAgICAgZGVmIF9nZXRfZ2RiX291dHB1dChzZWxmLCBjb3JlZHVtcF9wYXRoKToKICAgICAgICAg
cHJvY2Vzc19uYW1lID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKG9zLnBhdGguZGlybmFtZShzdHIo
c2VsZi5fcGF0aF90b19kcml2ZXIoKSkpLCBzZWxmLm5hbWUpCkBAIC02Nyw2ICs3MSw5IEBAIGNs
YXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBmaWxlbmFt
ZQogCiAgICAgZGVmIF9nZXRfdHJhY2VfZnJvbV9zeXN0ZW1kKHNlbGYsIGNvcmVkdW1wY3RsLCBw
aWQpOgorICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZSgiLy5mbGF0cGFrLWluZm8iKToKKyAgICAg
ICAgICAgIHJldHVybiBzZWxmLl9nZXRfdHJhY2VfZnJvbV9mbGF0cGFrKCkKKwogICAgICAgICAj
IExldHRpbmcgdXAgdG8gNSBzZWNvbmRzIGZvciB0aGUgYmFja3RyYWNlIHRvIGJlIGdlbmVyYXRl
ZCBvbiB0aGUgc3lzdGVtZCBzaWRlCiAgICAgICAgIGZvciB0cnlfbnVtYmVyIGluIHJhbmdlKDUp
OgogICAgICAgICAgICAgaWYgdHJ5X251bWJlciAhPSAwOgpAQCAtOTIsMTIgKzk5LDI0IEBAIGNs
YXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgICAg
ICB0ZW1wX2ZpbGUubmFtZV0sIHJldHVybl9leGl0X2NvZGU9VHJ1ZSk6CiAgICAgICAgICAgICAg
ICAgICAgIGNvbnRpbnVlCiAKLSAgICAgICAgICAgICAgICByZXMgPSBzZWxmLl9nZXRfZ2RiX291
dHB1dChzZWxmLl9nZXRfdG1wX2ZpbGVfbmFtZShjb3JlZHVtcGN0bCwgdGVtcF9maWxlLm5hbWUp
KQotCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJlcworICAgICAgICAgICAgICAgIHJldHVybiBz
ZWxmLl9nZXRfZ2RiX291dHB1dChzZWxmLl9nZXRfdG1wX2ZpbGVfbmFtZShjb3JlZHVtcGN0bCwg
dGVtcF9maWxlLm5hbWUpKQogCiAgICAgICAgIHJldHVybiAnJywgW10KIAorICAgIGRlZiBfZ2V0
X3RyYWNlX2Zyb21fZmxhdHBhayhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5uZXdlcl90aGFuOgor
ICAgICAgICAgICAgY29yZWR1bXBfc2luY2UgPSAiLS1nZGItc3RhY2stdHJhY2U9QCVmIiAlIHNl
bGYubmV3ZXJfdGhhbgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY29yZWR1bXBfc2luY2Ug
PSAiLS1nZGItc3RhY2stdHJhY2UiCisgICAgICAgIHdlYmtpdF9mbGF0cGFrX3BhdGggPSBzZWxm
Ll93ZWJraXRfZmluZGVyLnBhdGhfdG9fc2NyaXB0KCd3ZWJraXQtZmxhdHBhaycpCisgICAgICAg
IGNtZCA9IFsnZmxhdHBhay1zcGF3bicsICctLWhvc3QnLCB3ZWJraXRfZmxhdHBha19wYXRoLCAn
LS0lcycgJSBzZWxmLl9wb3J0X25hbWUsCisgICAgICAgICAgICAgICAiLS0lcyIgJSBzZWxmLl9j
b25maWd1cmF0aW9uLmxvd2VyKCksIGNvcmVkdW1wX3NpbmNlXQorCisgICAgICAgIHByb2MgPSBz
ZWxmLl9leGVjdXRpdmUucG9wZW4oY21kLCBzdGRpbj1Ob25lLCBzdGRvdXQ9c3VicHJvY2Vzcy5Q
SVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKQorICAgICAgICBjcmFzaF9sb2csIHN0ZGVyciA9
IHByb2MuY29tbXVuaWNhdGUoKQorICAgICAgICBlcnJvcnMgPSBkZWNvZGVfaWZfbmVjZXNzYXJ5
KHN0cihzdGRlcnIgb3IgJzxlbXB0eT4nKSwgZXJyb3JzPSdpZ25vcmUnKS5zcGxpdGxpbmVzKCkK
KyAgICAgICAgcmV0dXJuIGNyYXNoX2xvZywgZXJyb3JzCisKICAgICBkZWYgZ2VuZXJhdGVfY3Jh
c2hfbG9nKHNlbGYsIHN0ZG91dCwgc3RkZXJyKToKICAgICAgICAgcGlkX3JlcHJlc2VudGF0aW9u
ID0gc3RyKHNlbGYucGlkIG9yICc8dW5rbm93bj4nKQogICAgICAgICBsb2dfZGlyZWN0b3J5ID0g
b3MuZW52aXJvbi5nZXQoIldFQktJVF9DT1JFX0RVTVBTX0RJUkVDVE9SWSIpCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZ191bml0dGVz
dC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3Vu
aXR0ZXN0LnB5CmluZGV4IDlmM2I3ZTM5Mzc5YzQzYTEwNWVjZTIwYzFjYTYyNjI0M2RmYTdkMzQu
LjNhMzllODQ2NzBhNjRjODM2YjVlMTQ0MmZjOGEzNTkzNGMzN2RmOTQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3Vu
aXR0ZXN0LnB5CkBAIC00Niw3ICs0Niw3IEBAIGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yVGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGV4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUo
KQogICAgICAgICBleGVjdXRpdmUuX3Byb2MgPSBNb2NrUHJvY2VzcygpCiAgICAgICAgIGV4ZWN1
dGl2ZS5fcHJvYy5zdGRvdXQgPSAnU1RERVJSOiA8ZW1wdHk+JwotICAgICAgICBnZW5lcmF0b3Ig
PSBHREJDcmFzaExvZ0dlbmVyYXRvcihleGVjdXRpdmUsICdEdW1wUmVuZGVyVHJlZScsIDI4NTI5
LCBuZXdlcl90aGFuPU5vbmUsIGZpbGVzeXN0ZW09TW9ja0ZpbGVTeXN0ZW0oeycvcGF0aC90by9j
b3JlZHVtcHMnOiAnJ30pLCBwYXRoX3RvX2RyaXZlcj1Ob25lKQorICAgICAgICBnZW5lcmF0b3Ig
PSBHREJDcmFzaExvZ0dlbmVyYXRvcihleGVjdXRpdmUsICdEdW1wUmVuZGVyVHJlZScsIDI4NTI5
LCBuZXdlcl90aGFuPU5vbmUsIGZpbGVzeXN0ZW09TW9ja0ZpbGVTeXN0ZW0oeycvcGF0aC90by9j
b3JlZHVtcHMnOiAnJ30pLCBwYXRoX3RvX2RyaXZlcj1Ob25lLCBwb3J0X25hbWU9Imd0ayIsIGNv
bmZpZ3VyYXRpb249IkRlYnVnIikKIAogICAgICAgICBjb3JlX2RpcmVjdG9yeSA9IG9zLmVudmly
b24uZ2V0KCdXRUJLSVRfQ09SRV9EVU1QU19ESVJFQ1RPUlknLCAnL3BhdGgvdG8vY29yZWR1bXBz
JykKICAgICAgICAgY29yZV9wYXR0ZXJuID0gZ2VuZXJhdG9yLl9maWxlc3lzdGVtLmpvaW4oY29y
ZV9kaXJlY3RvcnksICJjb3JlLXBpZF8lcC5kdW1wIikKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC93cGUucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd3Bl
LnB5CmluZGV4IDAwY2U1Mjc2ZTljYzQyMWI0ODM3YWMyYjU0ZjMzYzU1MmJiZWM4NTUuLjU0Njky
NWY0N2M2NDAwNzI1YWYwNzNhMzU1M2M3ZmY1NGVlYTdkOTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC93cGUucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9w
b3J0L3dwZS5weQpAQCAtNzcsNiArNzcsNyBAQCBjbGFzcyBXUEVQb3J0KFBvcnQpOgogICAgICAg
ICBlbnZpcm9ubWVudFsnVEVTVF9SVU5ORVJfVEVTVF9QTFVHSU5fUEFUSCddID0gc2VsZi5fYnVp
bGRfcGF0aCgnbGliJywgJ3BsdWdpbnMnKQogICAgICAgICBlbnZpcm9ubWVudFsnV0VCS0lUX0VY
RUNfUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0aCgnYmluJykKICAgICAgICAgc2VsZi5fY29weV92
YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJUicp
CisgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVu
dCwgJ1dFQktJVF9KSEJVSUxEJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmly
b25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX1RPUF9MRVZFTCcpCiAgICAgICAgIHNlbGYu
X2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1VTRV9QTEFZQklO
MycpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9u
bWVudCwgJ0dTVF9ERUJVRycpCkBAIC0xMjEsNyArMTIyLDggQEAgY2xhc3MgV1BFUG9ydChQb3J0
KToKICAgICAgICAgcmV0dXJuIDIKIAogICAgIGRlZiBfZ2V0X2NyYXNoX2xvZyhzZWxmLCBuYW1l
LCBwaWQsIHN0ZG91dCwgc3RkZXJyLCBuZXdlcl90aGFuLCB0YXJnZXRfaG9zdD1Ob25lKToKLSAg
ICAgICAgcmV0dXJuIEdEQkNyYXNoTG9nR2VuZXJhdG9yKHNlbGYuX2V4ZWN1dGl2ZSwgbmFtZSwg
cGlkLCBuZXdlcl90aGFuLCBzZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlciku
Z2VuZXJhdGVfY3Jhc2hfbG9nKHN0ZG91dCwgc3RkZXJyKQorICAgICAgICByZXR1cm4gR0RCQ3Jh
c2hMb2dHZW5lcmF0b3Ioc2VsZi5fZXhlY3V0aXZlLCBuYW1lLCBwaWQsIG5ld2VyX3RoYW4sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLCBzZWxm
Ll9wYXRoX3RvX2RyaXZlciwgc2VsZi5wb3J0X25hbWUsIHNlbGYuZ2V0X29wdGlvbignY29uZmln
dXJhdGlvbicpKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIpCiAKICAgICBkZWYg
Y29uZmlndXJhdGlvbl9mb3JfdXBsb2FkKHNlbGYsIGhvc3Q9Tm9uZSk6CiAgICAgICAgIGNvbmZp
Z3VyYXRpb24gPSBzdXBlcihXUEVQb3J0LCBzZWxmKS5jb25maWd1cmF0aW9uX2Zvcl91cGxvYWQo
aG9zdD1ob3N0KQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcAppbmRleCAzZjhlMjQ0MGYyODNl
NGI0ZTU0MjdhZDY0NGQyYjNiNGUzMTk2NWExLi44MWJjZDk2MmEwOWM3YWNmZWYyMmVjMmY0OGJj
MDJiMjQ5YTU2YzQ0IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcApAQCAtNjUsOCArNjUs
MTMgQEAgQ1N0cmluZyBnZXRPdXRwdXREaXIoKQogCiBzdGF0aWMgQ1N0cmluZyBnZXRGb250c1Bh
dGgoKQogeworICAgIC8vIFRyeSBmbGF0cGFrIHNhbmRib3ggcGF0aC4KKyAgICBHVW5pcXVlUHRy
PGNoYXI+Zm9udHNQYXRoKGdfYnVpbGRfZmlsZW5hbWUoIi91c3IiLCAic2hhcmUiLCAid2Via2l0
Z3RrLXRlc3QtZm9udHMiLCBOVUxMKSk7CisgICAgaWYgKGdfZmlsZV90ZXN0KGZvbnRzUGF0aC5n
ZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9FWElTVFMgfCBHX0ZJTEVf
VEVTVF9JU19ESVIpKSkKKyAgICAgICAgcmV0dXJuIGZvbnRzUGF0aC5nZXQoKTsKKwogICAgIENT
dHJpbmcgd2Via2l0T3V0cHV0RGlyID0gZ2V0T3V0cHV0RGlyKCk7Ci0gICAgR1VuaXF1ZVB0cjxj
aGFyPiBmb250c1BhdGgoZ19idWlsZF9maWxlbmFtZSh3ZWJraXRPdXRwdXREaXIuZGF0YSgpLCAi
RGVwZW5kZW5jaWVzR1RLIiwgIlJvb3QiLCAid2Via2l0Z3RrLXRlc3QtZm9udHMiLCBudWxscHRy
KSk7CisgICAgZm9udHNQYXRoLnJlc2V0KGdfYnVpbGRfZmlsZW5hbWUod2Via2l0T3V0cHV0RGly
LmRhdGEoKSwgIkRlcGVuZGVuY2llc0dUSyIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWZvbnRz
IiwgbnVsbHB0cikpOwogICAgIGlmIChnX2ZpbGVfdGVzdChmb250c1BhdGguZ2V0KCksIHN0YXRp
Y19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfRVhJU1RTIHwgR19GSUxFX1RFU1RfSVNfRElS
KSkpCiAgICAgICAgIHJldHVybiBmb250c1BhdGguZ2V0KCk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUuY3Bw
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250
c1dQRS5jcHAKaW5kZXggYTQ5YzdhMjkyMTgyNTkxZTI3MjdiMmI5MDFlNDEyYjJkZThlMDNkYS4u
OGJlNzM2ZjA0OWM5MWIzMDhjZDJjMWVjYWYxNDA1YTA1YzFhZTUwMCAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250c1dQRS5j
cHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZh
dGVGb250c1dQRS5jcHAKQEAgLTU4LDggKzU4LDEzIEBAIENTdHJpbmcgZ2V0T3V0cHV0RGlyKCkK
IAogc3RhdGljIENTdHJpbmcgZ2V0Rm9udHNQYXRoKCkKIHsKKyAgICAvLyBUcnkgZmxhdHBhayBz
YW5kYm94IHBhdGguCisgICAgR1VuaXF1ZVB0cjxjaGFyPmZvbnRzUGF0aChnX2J1aWxkX2ZpbGVu
YW1lKCIvdXNyIiwgInNoYXJlIiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgTlVMTCkpOworICAg
IGlmIChnX2ZpbGVfdGVzdChmb250c1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4o
R19GSUxFX1RFU1RfRVhJU1RTIHwgR19GSUxFX1RFU1RfSVNfRElSKSkpCisgICAgICAgIHJldHVy
biBmb250c1BhdGguZ2V0KCk7CisKICAgICBDU3RyaW5nIHdlYmtpdE91dHB1dERpciA9IGdldE91
dHB1dERpcigpOwotICAgIEdVbmlxdWVQdHI8Y2hhcj4gZm9udHNQYXRoKGdfYnVpbGRfZmlsZW5h
bWUod2Via2l0T3V0cHV0RGlyLmRhdGEoKSwgIkRlcGVuZGVuY2llc1dQRSIsICJSb290IiwgIndl
YmtpdGd0ay10ZXN0LWZvbnRzIiwgbnVsbHB0cikpOworICAgIGZvbnRzUGF0aC5yZXNldChnX2J1
aWxkX2ZpbGVuYW1lKHdlYmtpdE91dHB1dERpci5kYXRhKCksICJEZXBlbmRlbmNpZXNXUEUiLCAi
Um9vdCIsICJ3ZWJraXRndGstdGVzdC1mb250cyIsIG51bGxwdHIpKTsKICAgICBpZiAoZ19maWxl
X3Rlc3QoZm9udHNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNU
X0VYSVNUUyB8IEdfRklMRV9URVNUX0lTX0RJUikpKQogICAgICAgICByZXR1cm4gZm9udHNQYXRo
LmdldCgpOwogCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttIGIv
VG9vbHMvZmxhdHBhay9maWxlcy9kZWZhdWx0LnhrbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDE2ZjZiMDhmNmQ4MDg1ODA5NjhiYTAyMjU2ZDkwNzVkNDhhNDdkMC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwg
MApIY21WP2QwMDAwMQoKbGl0ZXJhbCAxMjAzMgp6Y21jZ3lZajdMYWItdWU7NUZraVZsMyVmRmNT
XnJ4KiROWTJMNHNpR3JVQyh3cHp0JlJsOUgyJXJBU3okTVVnWn0Kek4+LWY0Tn5WKF5vd1VnYE56
LUB5dERVfj5SQ1V3TlJER3FYYD4pZ0tZZFc0emBmP202YW9kQCtvdk5MJS0qQGo+Cno+fmFtSXMl
TyZXOURlKHFkKE9TKktLOTxiaStsTHVnPWc9SUA1aTIzTikwR1dlTX1YVTEwMFYyREt5fGl1U1BC
NAp6cFUyalkrUThSYDk9fDY3WSotSUg5QSRjWl9uN0NXKWMkd0hSQmk4S1dvelhFeWR4Xk51P3RN
N082TzglcXJLTWMKemJSMVJETj1HI3sjI0otRndZbDVmK0U2TzREIXUhSllPTyVJIUs/PDJ8SUdU
T2oqMnFSKilDJE5jNk9IKWN4IUxGCnooKj41VTVXVSMlUkdtdyFvbDdUe0hgYlNUSXk9WG94IW1k
UVVVXmktX3dQcVVOKT1tcWxgQUd3NUVxaCRqNilfTQp6OE9TNmczel5DbFElTU55UXRvdVEpb0FD
WVJqdlRQMHtqWl9FNU5TK3pYSlJVQEdIUXQwS1dxSzNoKm5XKy1BRjMKenRLezMyVHBvVVRffnFm
M2hoSDlrZEhDaHdteG9eLWV0RyFpUT5re1BQXmA/Zk4rYDNFbn0qKnN7SEViSTRabXNsCnpPflk+
KmUkKClxaFRuODUqPSlCOzx3a1lCbEI9e15qZUllbVlxVnl7JHJRd2VxI0AmdzJ9bE1xM0NUakhY
M0Q4Iwp6dHkoRiFAfEFNQUZ7I1JwRU15QU9ubENyVGZmSkFuQnYmWG1RYX40eWg5bl97TkBieXZX
fTgtOHZ1KSZzQD19TzMKemxgN31qeHpiIVNTMVEpWnJFK189SSR0V0RZVUhjc016UGpKZCUkPDAo
UU1fTGhfX09rRFV8QmY7KFNBPyNfVzhmCnpRay1jd1hHYHMzdClMM14jYWQmd1BAQWlANms0Uz9t
dldRVWBGMyVrVUt4WCZYdyg7KiRueSM0R21ZR1EzeiZzVwp6bTE/dDwoeTlDY2BZdjVyb1UxaDxg
Rmdke1lTJGFOKzF5O0NTI1FrTzNpWCswdCh+dG8mZVJjQ0JpQ3hyJSsoNnsKemBMLSQqRH4tOS1f
I18xUmpaZSpgQ1gkZDgjRCUwRzxCJG5SMV9IWVkqaUZETDFHXjBER08pfFFFKDV5Xj5AdSorCnp6
JUIjMzREMlJoSHduOCoqaUZLMjVfWGZZbn1wcFk+P1VEMTNBLSVwdmFyai1FKF5PWD82Uj1TIVkm
S0RFYk93ZAp6bkBYYlgoYSRPTGF8LT5PTE8tWF8mbmZoQzNqT1JOLTlgVm43IU5NJi0wXkNtd1RS
fGQpbllyPm5yfTJxWEJ5MnAKekg8XlZAJkFGKjBCbjVGSFh+O05hMCtOQURMU1VESW9lTWhgYn1z
QigqdHhLQ1ZkdWltZyZxM0NienpyPVReZT8yCnoqcmoyWWhGdXpWWTFwTTxteGYmJGNIXiljaHV0
e3IjJGgpT3lLJmYhIXcmdTdxQ1pecGhsfkRqKEh9MVEhJHA2JQp6PW5yPmRMTyhQNGwqXylaN0hq
aS1tUCR7eVhFX0VjKXBtfktwaC1sPGJDdWE5JDRhP0BNO3AmfFdxSjFycGJLMEMKenJoIUdeSUlz
enYwTWFmNEpPaThyJkk3WitJcDdxcSZTeExrITFLKWZhek4oUzB5NGg+a29uQzNuY3Btc2BJVWdv
Cno/LVk+dm00VkRwS21XaWRAdGlaQyg/STV2MlFyQHBBb0gwOUdNXmZkYEJjNjZKRlpyP0VeY3Bo
Yn57U2wjfFBDaQp6R058Z2M7IT5yIVBeQHNTLW4+RyFFZHJaQyluMlNpeH0mQnNrTHZrJFpUK2NU
NkBpXmlUaURTanA+bVoqREt9a2cKeiYqZVFeTjlDOGRjYklQWndrVWkrbTVYT0VtdzB2cVRyPHZm
eCl3Nmo8PlRMPVlMKF9AKzl4PFJKdi09Rl82YVQ9CnpDJXJnTkRzQDtqQD1GLUojaWp8P01MaiRw
WismbilkcT02R3c5blVUP1BrNT1kM2czUSltd3M0IUlMSClieUQzJQp6cFVPY2UmbkxLVURTSzNX
TXZZSk5XPExKOSRIdmsxUjw9NkNhIX4xVFQ7NXUkPzZ9eSopcmdNQ0h9Pk4zKT52ZzkKejUhKWxp
bUlHY2dfSEU1TjlFfWJyaGJ1ayQoPzt0PkVKcnpMdzdBTipuLSQjK2RmMT84ZCs2blhIcjhWeiZi
NHtlCnpqMSVkclFUNyRgKnpJb1VaZDAraXFZbFRCTmQpPUcqa081ZyNGUURhU3VYbDdoT3JpZjN9
OWFaI1ghdGF1XyREfgp6TEh8fGlgQ01oR0lFTXdvKUY7XkFJK2cqbVhHam01KmhjaloxZ2pMckJ4
MiFzKWlJQmY0VC1ITDI8XytyQUVVSngKenBUdy09TWYoaD9jQnh0UG99ZEZgP20hR3krXzdTKV5N
U1NuV3Brc3x0KGZJbExuPklDeDhgLVR3emJyMDY7cjIyCnpPJUplTXJgaEpaN2x1NSY/Z2NiQzt5
NUk2YUorZl8lcjxCSHF1RiYjUTRCe2Z1OSlwdTB9O28lRDtPVUpYIXUkRwp6LV5SZklFellRUVVw
ekR4TCshPFZVSzk7RmZTcTU9IWNHKkk0TlV8IXUrVUY3Pkoodn1QP3NuK3RPS1k9NEUxbUAKejdl
eW9Sdio4emtVaiUrT3szMjI3LVVEXmleV3hJWCt5WGtkby1jRlloYnwxPzE2UDxJTkRQcCRVNl5+
T3hCN2hqCnp6cVQjTSY4QGJyampsbDMrR3lLajJpbiNqS2ohaGhjezdMR0NkfEZJZGJ7fVRYPUJH
NGs/fFhSJlUpPEBjK1R8TAp6bHNVaX5xdSs2JHR5O3pFb1pudklkWkloPDlRKVZKX193Mjs3VXBG
PFZoODU2Z3FvPyglUX0za1dreHVeT0ZxSCYKel41JiZHMTk9OWZwMH57VEg9ODMoeyRAVDI9SWB+
I0o7RDZIYiN2PnNXKmdzWC03RSs1NEM9OzQodGpBaGRpfXQ+CnojV2ZjNW0zbHw4e09hODRWcXdX
X2tPSmorZCEoRHlHM3BHTXpDZEkpXlRvdEI5TClFJEFNPyVmMihIdD9IcSgxTwp6PGpaKjNXP1U7
Q1BfMUdFSkxxPENpTGFTVXhtc2FLQDdSSkpnIXNjXzZSTmtnOXJsaVZyPFhPJHRqayZoK1gmWnUK
ej47biQwb3lhc2UkS01nR1hRTUxUa19yMShgdzA2YntsUzhMKWY8UUN0PXteR3pPdkN6TX15QF40
fCEkdT5tT2FPCnpRUTZ4ZktZbHxBPyF9K091RlU9Pj5oZ3A4WGo5ZnVzbl87VlhMfSNwQmczQnUt
JCNBMXFgP3BmYH44biNRS0wxKwp6bF9UN3kwZURvbndnPi07X1ElTFc4fWZRMSNKe1kwcUw9PTlo
PHtie3A8ZXBlTGozRVI1QkpqRjREbVpPa0xqXz0KekB7ajhIdSFsd2J0aW8tPTg5KHskIVdscExo
dkAmfEt+Iy1RPlRtNUl0VXZnSGBoJEQqQTdGbSlrMj1PYkV9WS0yCnpjcU11cTE+cVZkaGQ7Knd1
YU89JV9BZkNXWXV9MmdlRlVNQFBseCNEZEt9SjN8QWBSKWIpUiFPUChLeW8qTG9jSgp6PE5DMT5m
NFJwXjElNW9sZjN3SDthVmhvYjVkVkNTcWFMe2JPbzshTSZuPjNeV1FoTlVhQmtzd3tZOzRlc1BL
ZWkKeiNfejklXyRQZz9yLW9rKUBsV3wmY2oyI3VfJTkyTyVncGppQV54SzlMNzh9ZEhwRzlgPEVB
XitYRzhvaWc/c1Y7CnptQ3RwS2U9VkgtJi1WRzc5I15gKFVLUUBPJilAZGFWVTA0cylaPHtfdWdt
IUk/NyFsMzlwTXszKlg0aUo9ZW04fgp6Pn5UfSFmQStjZHt9LVFZZ01hbjhfV3k/UExEUVk7LSta
cTl8Sn49PnwzN0BMe3JeKz1WZnI2WT5QQz17RCluRSYKekZ+aktte0BkcWgzOGw3IV85dkJrQ2N4
Pj80UkUmQ1BMTHlfLTV8I155QkZrVylKczgqXyR+K2VzOFlgY0kzTXtkCnowblJAOEshQ0ZXe3pD
WEw/c0A2Pyl0aXJDcHkkXkIqWW00ej1DOX0xME4zLVlhRihhJSo4dGJedDhqI2BeIXlzJgp6ZWBt
JU1UR3pDJV8wOU1aJlFGSyVhPj5pP2FvdjRiS2ZIOV5lT055e1pZSTJGa0RDUSFwdlVuZGp3e3lW
Y3RPViUKej97UEROMlljTCVzNj53XndFYSt6NHsxSyE8RUJMKTdYSHlqY2VaPE9NP0t7OCNyNGV7
Xj89N3VFTDY4dkpMKkE/CnpqflRBbDdpa34xZkw+cH41M0RjWHRVYzVKTiFsO01rMSVyQzQlMjxV
a00tREZLVmQ+VUVtKCMxPzslSWtfUjVMOQp6b2ZHU3VvISNVNVg5eGJ5Zlp0RzVhcjZBZmBwKCt1
QCVoJUhDVWZARXkoa2x9cCgrS3t7bWN5YXtBUDdoPylmcU8KekxBZjZYSnx5PU96PSEyTjEzV0FE
bGZZd2dwOU1aOV9meD4qYS1SZTsxZVBAaFQkMjBtMSloLW1JTzN3dlcpTGB2Cnp2NXRFeV8tKmVR
KmdqJEc1OWx2THg3YkpEZnYoc2AtLVdLKE42KzdqK0l7cj1IaEhGeGVoPDMmS0tnYSY9S0FRagp6
cHNWLU1aJHNCR2RpN3I1YjhgUUY7MTU5OVotPncoN1dUbVpWQXwrRntnK3tyR2Q+Nk9gMjQ5X2Vl
fG8pNzVlQygKemZeTWRke3ljUUVlZWBTNG1IT3pQaFZFMSFKJTUrdXd+VFBWOyoqJUY3YF4lKTtD
SVhZQmZ0bWJ7YC1MK2ZeZSRnCnp5dSkkd0tKWDdoIXVmcHd4K25ZU3BNPyZ1QjUkIUBmaUItaWUr
anlVS0tnVWVQNTA0bkxSYWdmelglO1ppMGhjJgp6MzRDMWMtdnhZKytgays2ZUd0fn4/QD5RfnA5
X0JmPFgkQnhfaGFze1ZaaytrXkV9N01zUD96QHlifGBtNHg2QkcKenRgNkokRV5MQ3JgOCNhJGQk
MCkjPWsmMTZANTNmMm9hZShmZSpsfUhhUEFNPXsyXj9EIXUyMypeOTklaGc9PDlFCno9OHM/IzZz
e1gjbj1pczlDfHBhekhoJkQ4cG0yUyR0UncxcT0tS3shLXs4Mzl6TCRHcC1nQSUzZUp9NjFwWERB
bQp6b0c8czhMRSpZV2QreHV2Qys5dSl5ND9UcnA4SWFAI2whaDxLTj1MU1NHNERRMF5jMlkmdnlk
OEMtOSM4ZjQmcCYKem9fa2c5VXdRdm9Bb3JANGJ5ZElmVk9aZlM1JDl0NmB3R1Z9JDFiMTBwTSEq
QmM/SkdLO28yTHZgNGlYI2gzaGYwCnoocnRONm15YjBeQElrPngxUm5yO3dtKzxPamB+TW54RDM3
bjFaQzg7aTUzMj5WO09kTExod3ZrIVFZO15yK09YMgp6eyFJdXIxZT0yTWY9PnZ4MVEhTHtmKHdF
eGc4TStQNCE3LWRFYTRxaEBPSHQrMWI7Xy1VVjtQcSRtO2h5KChTT2gKekFhPHdWJEcmN2duIWQh
RUZLT2RJUXw/S3tKKW1XcylPJGFjZV9tfFgxKW1iIS1qQ3x8ST5NaDN6OXtpczVXRmIzCnpDVSZR
VktQfGk/ezV5ZHIyQnFGRHgpWHgkN2tuO1leRnlNYDJ+Rz5YT1lsai1Gfk1FST1MUFEoT2JWdDJq
fG5+awp6Xnh9Q1o/JTglazNmdHUhcVBxaV82NVU7KnlBJFp5LTZ2YDk1IT9pTmBGPmIqY01JK2FF
e0toMV9wSW96MnkhM0EKejdgVFRidThIMzM4IXo5WT13fTNIMXh0YytLKENDP2lTOEUhVWxlPylY
TEQ3NXw2bmB0O3lUMGloUyEoJXtZaWIjCnpAbmQ4QkBjTyMrRzI0aTdkaExgS1VKeHRgez02WFRQ
a1lickd2TGdSSXpFQCl7bGBWYGFqI0UqTUV2ZytUb1FhLQp6QFRfMTQ9PXBsJUowZlllcGV1TXIm
PURMRWowJHBXR1FPX2hDaj43R3pFfCoqZn1heG5HKkRPUUNqWGN4RkF1JSoKelA5eENtPEYjaXtA
cHRWfXtuNjA2JTNxZXY3M2M1Uk15PjN0LVdNeHstd0RsR0NQfjcoZ2A9KkQ0fVdqSXhWXj1uCnoq
N15DYWNSOHhPeXQkMEl3NVE+SFlvcFdJIyYySCE2fnA8Ym8kYnloX21jPiVjajB7MDkpSXNRcXM2
RzlUaT9NKAp6WXBgZDxHT05xJCohLUVkR24wVGwmKVJiTHtRQm0zI19uSTxaPkZzSEBLeVBzaFVB
ITw/UVpSRGtNYlNuJntmKj0KekQ7eDh5WnRkLUtNJDRUbUowcWppPXVaVHdoZERQa2kxKClCK2Jn
TiQjR35xY3g1WjxhUWM8X1ZoJCpJRHVxTT5sCnpWYEZRYmpaMi1+Xl9BdFppPUVaPXleQ1lydkNY
YVMjcFI3TEI7cF90eytxd2Bvdm16a1ZybmRmbXsmVkhFOFg/Jgp6LVNzVyoyWnoqYlhTMzU/VWx+
UEY7OEFzTVZ8bkVRQGJjT144ZmllQz97PT1aTnJTMG1sKVNUdkNeViolQE5yYkYKei1veXNkIyk1
JUdTWTUtUDRaSClqZDt4Iz40dmY9YmUpPFAzS1loKCZJIT15WjxMJncxOVl9WHtJIX4+OXQ4fF9z
CnohfW17bzM/N2lxeCpPeTRabVZtI2lnRkU2VWVqcmUkdzgyZ2I9STB1bG90QF4zcCFyKjVxPERH
STZtOV48KCYkfAp6bGhOXztecUhUMkJUKFBoYmJXYysldW9NRCEyZTZ5emdqTkA+Tl5yaHpvR3FH
RiEyM2YzKmBUMkNMSmYoe1BkP0MKenpkYVk2N3dgPTZecUhVRDRkajFUbShTQmBlKT1gRWs+Nml1
UVU2TUBmY28+SjlVdTJNP05eV3xiaCE2KUY0ezQhCnpYNylCJCVzX2ZvVH57dzN4KCo4clJhXj1E
YVUkVmFMVWY2WnZ2akZmOzB8PWJpRHwpYyEzbTU8Pk5DUDgxKyMpdgp6Q093cmpKZTNtRWBTR2tB
aE0yezNkZXJsKjg8QSVzeDdVYHtJczNaRzQ4MHR8XkI0OHY4XkkwRktoWH43OEZoWEAKem9nWXhn
Mmh7TmFDJlcoMjJkPzctPmlCP0RDZiZyeGJDSlN6ZXRaSihvZXdSVXolTHNwN2lUM0NfPk97ZVFO
fEFFCnpzPGJgTVJTQkFNYWpyX1pESHJGZWdxdzE0dUY3eUo3dzBPND4tX2orVjZAdkcjaDU+WWF5
aGFTRHIpMldsKEVENAp6RHtZVlNTQXdRb29XQnhvJUVrRkI7aWc9aXpjTzZQI2tvdiFLQj5lNDF7
Qk5WbGFqIVIwLWtAPV9CZ0w4WHYpUVQKekUjYW5Jb1l4WD0lRWZzdDtpZz1pPVFQfXUlT0A/TlZ6
d1JPY3RtK1BKQmQ0Kz1oK2YhKEJecWhCRn10Y09qPG5WCnpMKFgkPE00b311VD5BfiRGOyFlJC1f
X0dRIyFQYSFVfnxrMkk+O0xSbUI0ZD1aem5pd2k1UDYyJHQzYmpDWHMjMQp6YmVfV2A9bE0qTlVP
LXZPRjJJNWgyaFZZbUdpS1dKSmZ9e19TeHpGKWJgbyhHdGFEfDFkRyh6QTspb3EjOUVzbDgKeldr
NVdhTjt7cXZIQ1JQbSRYZ20yNUFBcXY2PyUoalJ9REBIPF9aWmx0ajdsOTtDV1YpSnxVUlYkaTZp
QnEoc2xCCnpwWlRRKWktPnp6Kk18IX1YUDwtYExWN2B1MSlLcnZ0VHZXNko2S0M/XntWPTlKT0J8
NjRxVS1+ZnJHakNZYT04MAp6ck97bCR5QFg/VHQ9QTZ3WTJrZj82WHt4UzlQIWhLeXxkUHA8I1F9
STtAblZRSylHTDN0MiVSQ1pvPlN3YEY3WFIKekx3Y3tuSldMXng9blp4S0Z6UkhQR0VEcllraGZk
TDtsTnBNc2Z2bVcrKSRzIzxvWW93JDc+NnpqKFdSZ2FjO284Ck1ra3NkfmJJSWlZMDgzSzAyPjx7
OQoKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaCBiL1Rv
b2xzL2ZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3
NTUKaW5kZXggMWMwYzQ4MzA1MWZiZGY4NjA0Yjk0NGE2MzUxMWM0ZTEyMWVhZWY0ZC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL2Zp
bGVzL2h0dHBkLWF1dG9nZW4uc2gKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLWF1dG9t
YWtlIC0tYWRkLW1pc3NpbmcKLWF1dG9yZWNvbmYgLS1pbnN0YWxsCmRpZmYgLS1naXQgYS9Ub29s
cy9mbGF0cGFrL2ZsYXRwYWt1dGlscy5weSBiL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5
CmluZGV4IDg5ZWJjNjczMTBjMWQ1Yjg0YzkwY2Y1NDA3Zjk0MGMwMWIwNWVlZTYuLmIwZWM3MmQ1
N2Y4MTFmNmMzMGMxNDYxMTIxYzY2OTk5ZDliMzUwNjkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2ZsYXRw
YWsvZmxhdHBha3V0aWxzLnB5CisrKyBiL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5CkBA
IC00OSwxNSArNDksMTAgQEAgZXhjZXB0IEltcG9ydEVycm9yOgogCiBGTEFUUEFLX1JFUSA9IFsK
ICAgICAoImZsYXRwYWsiLCAiMC4xMC4wIiksCi0gICAgKCJmbGF0cGFrLWJ1aWxkZXIiLCAiMC4x
MC4wIiksCiBdCiAKIEZMQVRQQUtfVkVSU0lPTiA9IHt9CiAKLVdQRV9NQU5JRkVTVF9NQVAgPSB7
Ci0gICAgInF0IjogIm9yZy53ZWJraXQuV1BFUVQueWFtbCIsCi19Ci0KIHNjcmlwdGRpciA9IG9z
LnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pKQogX2xvZyA9IGxvZ2dpbmcu
Z2V0TG9nZ2VyKF9fbmFtZV9fKQogCkBAIC0xMjMsMTMyICsxMTgsNiBAQCBkZWYgY2hlY2tfZmxh
dHBhayh2ZXJib3NlPVRydWUpOgogICAgIHJldHVybiBUcnVlCiAKIAotZGVmIHJlbW92ZV9leHRl
bnNpb25fcG9pbnRzKGFycmF5KToKLSAgICByZXN1bHRfYXJncyA9IFtdCi0gICAgZm9yIGFyZyBp
biBhcnJheToKLSAgICAgICAgaWYobm90IGFyZy5zdGFydHN3aXRoKCctLWV4dGVuc2lvbicpKToK
LSAgICAgICAgICAgIHJlc3VsdF9hcmdzLmFwcGVuZChhcmcpCi0gICAgcmV0dXJuIHJlc3VsdF9h
cmdzCi0KLQotZGVmIHJlbW92ZV9jb21tZW50cyhzdHJpbmcpOgotICAgIHBhdHRlcm4gPSByIihc
Ii4qP1wifFwnLio/XCcpfCgvXCouKj9cKi98Ly9bXlxyXG5dKiQpIgotICAgICMgZmlyc3QgZ3Jv
dXAgY2FwdHVyZXMgcXVvdGVkIHN0cmluZ3MgKGRvdWJsZSBvciBzaW5nbGUpCi0gICAgIyBzZWNv
bmQgZ3JvdXAgY2FwdHVyZXMgY29tbWVudHMgKC8vc2luZ2xlLWxpbmUgb3IgLyogbXVsdGktbGlu
ZSAqLykKLSAgICByZWdleCA9IHJlLmNvbXBpbGUocGF0dGVybiwgcmUuTVVMVElMSU5FIHwgcmUu
RE9UQUxMKQotCi0gICAgZGVmIF9yZXBsYWNlcihtYXRjaCk6Ci0gICAgICAgICMgaWYgdGhlIDJu
ZCBncm91cCAoY2FwdHVyaW5nIGNvbW1lbnRzKSBpcyBub3QgTm9uZSwKLSAgICAgICAgIyBpdCBt
ZWFucyB3ZSBoYXZlIGNhcHR1cmVkIGEgbm9uLXF1b3RlZCAocmVhbCkgY29tbWVudCBzdHJpbmcu
Ci0gICAgICAgIGlmIG1hdGNoLmdyb3VwKDIpIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcmV0
dXJuICIiICAjIHNvIHdlIHdpbGwgcmV0dXJuIGVtcHR5IHRvIHJlbW92ZSB0aGUgY29tbWVudAot
ICAgICAgICBlbHNlOiAgIyBvdGhlcndpc2UsIHdlIHdpbGwgcmV0dXJuIHRoZSAxc3QgZ3JvdXAK
LSAgICAgICAgICAgIHJldHVybiBtYXRjaC5ncm91cCgxKSAgIyBjYXB0dXJlZCBxdW90ZWQtc3Ry
aW5nCi0gICAgcmV0dXJuIHJlZ2V4LnN1YihfcmVwbGFjZXIsIHN0cmluZykKLQotCi1kZWYgbG9h
ZF9tYW5pZmVzdChtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWU9Tm9uZSwgY29tbWFuZD1Ob25lKToK
LSAgICBpc195YW1sID0gbWFuaWZlc3RfcGF0aC5lbmRzd2l0aCgnLnlhbWwnKQotICAgIHdpdGgg
b3BlbihtYW5pZmVzdF9wYXRoLCAiciIpIGFzIG1yOgotICAgICAgICBjb250ZW50cyA9IG1yLnJl
YWQoKQotCi0gICAgICAgIGNvbnRlbnRzID0gY29udGVudHMgJSB7IkNPTU1BTkQiOiBjb21tYW5k
LCAiUE9SVE5BTUUiOiBwb3J0X25hbWV9Ci0gICAgICAgIGlmIGlzX3lhbWw6Ci0gICAgICAgICAg
ICBpbXBvcnQgeWFtbAotICAgICAgICAgICAgeWFtbF9sb2FkID0gZ2V0YXR0cih5YW1sLCAic2Fm
ZV9sb2FkIiwgeWFtbC5sb2FkKQotICAgICAgICAgICAgbWFuaWZlc3QgPSB5YW1sX2xvYWQoY29u
dGVudHMpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBjb250ZW50cyA9IHJlbW92ZV9jb21t
ZW50cyhjb250ZW50cykKLSAgICAgICAgICAgIG1hbmlmZXN0ID0ganNvbi5sb2Fkcyhjb250ZW50
cykKLQotICAgIHJldHVybiBtYW5pZmVzdAotCi0KLWRlZiBleHBhbmRfc3VibW9kdWxlc19yZWN1
cnNlKG1vZHVsZXMsIG1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCk6Ci0gICAgYWxs
X21vZHVsZXMgPSBbXQotICAgIGlmIHR5cGUobW9kdWxlcykgaXMgc3RyOgotICAgICAgICBzdWJt
YW5pZmVzdF9wYXRoID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShtYW5pZmVzdF9wYXRo
KSwgbW9kdWxlcykKLSAgICAgICAgc3VibWFuaWZlc3QgPSBsb2FkX21hbmlmZXN0KHN1Ym1hbmlm
ZXN0X3BhdGgsIHBvcnRfbmFtZT1wb3J0X25hbWUsIGNvbW1hbmQ9Y29tbWFuZCkKLSAgICAgICAg
YWxsX21vZHVsZXMuZXh0ZW5kKGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2Uoc3VibWFuaWZlc3Qs
IHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCkpCi0gICAgICAgIHJldHVybiBh
bGxfbW9kdWxlcwotCi0gICAgIyBUaGUgbGFzdCByZWN1cnNlIG1hbmlmZXN0IGV4cGFuZCBpdGVy
YXRpb24gbWlnaHQgbGVhZCB0byBhIHNpbmdsZSBtb2R1bGUuCi0gICAgaWYgbm90IGlzaW5zdGFu
Y2UobW9kdWxlcywgbGlzdCk6Ci0gICAgICAgIGFsbF9tb2R1bGVzLmFwcGVuZChtb2R1bGVzKQot
ICAgICAgICByZXR1cm4gYWxsX21vZHVsZXMKLQotICAgIGZvciBtb2R1bGUgaW4gbW9kdWxlczoK
LSAgICAgICAgaWYgdHlwZShtb2R1bGUpIGlzIHN0cjoKLSAgICAgICAgICAgIHN1Ym1hbmlmZXN0
X3BhdGggPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKG1hbmlmZXN0X3BhdGgpLCBtb2R1
bGUpCi0gICAgICAgICAgICBzdWJtYW5pZmVzdCA9IGxvYWRfbWFuaWZlc3Qoc3VibWFuaWZlc3Rf
cGF0aCwgcG9ydF9uYW1lPXBvcnRfbmFtZSwgY29tbWFuZD1jb21tYW5kKQotICAgICAgICAgICAg
YWxsX21vZHVsZXMuZXh0ZW5kKGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2Uoc3VibWFuaWZlc3Qs
IHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCkpCi0gICAgICAgIGVsc2U6Ci0g
ICAgICAgICAgICBhbGxfbW9kdWxlcy5hcHBlbmQobW9kdWxlKQotCi0gICAgcmV0dXJuIGFsbF9t
b2R1bGVzCi0KLWRlZiBleHBhbmRfbWFuaWZlc3QobWFuaWZlc3RfcGF0aCwgb3V0ZmlsZSwgcG9y
dF9uYW1lLCBzb3VyY2Vfcm9vdCwgY29tbWFuZCk6Ci0gICAgIiIiQ3JlYXRlcyB0aGUgbWFuaWZl
c3QgZmlsZS4iIiIKLSAgICB0cnk6Ci0gICAgICAgIG9zLnJlbW92ZShvdXRmaWxlKQotICAgIGV4
Y2VwdCBPU0Vycm9yOgotICAgICAgICBwYXNzCi0KLSAgICBtYW5pZmVzdCA9IGxvYWRfbWFuaWZl
c3QobWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lPXBvcnRfbmFtZSwgY29tbWFuZD1jb21tYW5kKQot
ICAgIGlmIG5vdCBtYW5pZmVzdDoKLSAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICBpZiAic2Rr
LWhhc2giIGluIG1hbmlmZXN0OgotICAgICAgICBkZWwgbWFuaWZlc3RbInNkay1oYXNoIl0KLSAg
ICBpZiAicnVudGltZS1oYXNoIiBpbiBtYW5pZmVzdDoKLSAgICAgICAgZGVsIG1hbmlmZXN0WyJy
dW50aW1lLWhhc2giXQotCi0gICAgYWxsX21vZHVsZXMgPSBbXQotCi0gICAgb3ZlcnJpZGVuX21v
ZHVsZXMgPSBbXQotICAgIGlmICJXRUJLSVRfRVhUUkFfTU9EVUxFU0VUUyIgaW4gb3MuZW52aXJv
bjoKLSAgICAgICAgb3ZlcnJpZGVuX21vZHVsZXMgPSBsb2FkX21hbmlmZXN0KG9zLmVudmlyb25b
IldFQktJVF9FWFRSQV9NT0RVTEVTRVRTIl0pCi0gICAgICAgIGlmIG5vdCBvdmVycmlkZW5fbW9k
dWxlczoKLSAgICAgICAgICAgIG92ZXJyaWRlbl9tb2R1bGVzID0gW10KLSAgICBmb3IgbW9kdWxl
cyBpbiBtYW5pZmVzdFsibW9kdWxlcyJdOgotICAgICAgICBtb2R1bGVzID0gZXhwYW5kX3N1Ym1v
ZHVsZXNfcmVjdXJzZShtb2R1bGVzLCBtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWUsIGNvbW1hbmQp
Ci0KLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UobW9kdWxlcywgbGlzdCk6Ci0gICAgICAgICAg
ICBtb2R1bGVzID0gW21vZHVsZXNdCi0KLSAgICAgICAgZm9yIG1vZHVsZSBpbiBtb2R1bGVzOgot
ICAgICAgICAgICAgZm9yIG92ZXJyaWRlbl9tb2R1bGUgaW4gb3ZlcnJpZGVuX21vZHVsZXM6Ci0g
ICAgICAgICAgICAgICAgaWYgbW9kdWxlWyduYW1lJ10gPT0gb3ZlcnJpZGVuX21vZHVsZVsnbmFt
ZSddOgotICAgICAgICAgICAgICAgICAgICBtb2R1bGUgPSBvdmVycmlkZW5fbW9kdWxlCi0gICAg
ICAgICAgICAgICAgICAgIG92ZXJyaWRlbl9tb2R1bGVzLnJlbW92ZShtb2R1bGUpCi0gICAgICAg
ICAgICAgICAgICAgIGJyZWFrCi0KLSAgICAgICAgICAgIGFsbF9tb2R1bGVzLmFwcGVuZChtb2R1
bGUpCi0KLSAgICAjIEFuZCBhZGQgb3ZlcnJpZGVuIG1vZHVsZXMgcmlnaHQgYmVmb3JlIHRoZSB3
ZWJraXQgcG9ydCBidWlsZCBkZWYuCi0gICAgZm9yIG92ZXJyaWRlbl9tb2R1bGUgaW4gb3ZlcnJp
ZGVuX21vZHVsZXM6Ci0gICAgICAgIGFsbF9tb2R1bGVzLmluc2VydCgtMSwgb3ZlcnJpZGVuX21v
ZHVsZSkKLQotICAgIG1hbmlmZXN0WyJtb2R1bGVzIl0gPSBhbGxfbW9kdWxlcwotICAgIGZvciBt
b2R1bGUgaW4gbWFuaWZlc3RbIm1vZHVsZXMiXToKLSAgICAgICAgaWYgbm90IG1vZHVsZS5nZXQo
InNvdXJjZXMiKToKLSAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgaWYgbW9kdWxlWyJz
b3VyY2VzIl1bMF1bInR5cGUiXSA9PSAiZ2l0IjoKLSAgICAgICAgICAgIGlmIHBvcnRfbmFtZSA9
PSBtb2R1bGVbIm5hbWUiXToKLSAgICAgICAgICAgICAgICByZXBvID0gImZpbGU6Ly8iICsgc291
cmNlX3Jvb3QKLSAgICAgICAgICAgICAgICBtb2R1bGVbInNvdXJjZXMiXVswXVsidXJsIl0gPSBy
ZXBvCi0KLSAgICAgICAgZm9yIHNvdXJjZSBpbiBtb2R1bGVbInNvdXJjZXMiXToKLSAgICAgICAg
ICAgIGlmIHNvdXJjZVsidHlwZSJdID09ICJwYXRjaCIgb3IgKHNvdXJjZVsidHlwZSJdID09ICJm
aWxlIiBhbmQgc291cmNlLmdldCgncGF0aCcpKToKLSAgICAgICAgICAgICAgICBzb3VyY2VbInBh
dGgiXSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUobWFuaWZlc3RfcGF0aCksIHNvdXJj
ZVsicGF0aCJdKQotCi0gICAgd2l0aCBvcGVuKG91dGZpbGUsICJ3IikgYXMgb2Y6Ci0gICAgICAg
IG9mLndyaXRlKGpzb24uZHVtcHMobWFuaWZlc3QsIGluZGVudD00KSkKLQotICAgIHJldHVybiBU
cnVlCi0KLQogY2xhc3MgRmxhdHBha09iamVjdDoKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB1
c2VyKToKQEAgLTI4NCw3ICsxNTMsNiBAQCBjbGFzcyBGbGF0cGFrUGFja2FnZXMoRmxhdHBha09i
amVjdCk6CiAgICAgICAgIHNlbGYuYXBwcyA9IHNlbGYuX19kZXRlY3RfYXBwcygpCiAgICAgICAg
IHNlbGYucGFja2FnZXMgPSBzZWxmLnJ1bnRpbWVzICsgc2VsZi5hcHBzCiAKLQogICAgIGRlZiBf
X2RldGVjdF9wYWNrYWdlcyhzZWxmLCAqYXJncyk6CiAgICAgICAgIHBhY2tzID0gW10KICAgICAg
ICAgaWYgRkxBVFBBS19WRVJTSU9OWyJmbGF0cGFrIl0gPCAoMSwgMSwgMik6CkBAIC0zMTIsNyAr
MTgwLDYgQEAgY2xhc3MgRmxhdHBha1BhY2thZ2VzKEZsYXRwYWtPYmplY3QpOgogCiAgICAgICAg
IHJldHVybiBwYWNrcwogCi0KICAgICBkZWYgX19kZXRlY3RfcnVudGltZXMoc2VsZik6CiAgICAg
ICAgIHJldHVybiBzZWxmLl9fZGV0ZWN0X3BhY2thZ2VzKCItLXJ1bnRpbWUiKQogCkBAIC0zNjIs
NyArMjI5LDcgQEAgY2xhc3MgRmxhdHBha1JlcG9zKEZsYXRwYWtPYmplY3QpOgogICAgICAgICAg
ICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIk5vIHZhbGlkIFVSSSBmb3VuZCBmb3I6ICVzIiwg
cmVwbykKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKIAotICAgICAgICAgICAgICAgIHNl
bGYucmVwb3NbbmFtZV0gPSBGbGF0cGFrUmVwbyhuYW1lLCB1cmwsIGRlc2MsIHJlcG9zPXNlbGYp
CisgICAgICAgICAgICAgICAgc2VsZi5yZXBvc1tuYW1lXSA9IEZsYXRwYWtSZXBvKG5hbWU9bmFt
ZSwgdXJsPXVybCwgZGVzYz1kZXNjLCByZXBvcz1zZWxmKQogICAgICAgICBlbHNlOgogICAgICAg
ICAgICAgb3V0ID0gc2VsZi5mbGF0cGFrKCJyZW1vdGUtbGlzdCIsICItLWNvbHVtbnM9bmFtZSx0
aXRsZSx1cmwiKQogICAgICAgICAgICAgcmVtb3RlcyA9IFtsaW5lIGZvciBsaW5lIGluIG91dC5z
cGxpdCgiXG4iKSBpZiBsaW5lXQpAQCAtMzczLDcgKzI0MCw3IEBAIGNsYXNzIEZsYXRwYWtSZXBv
cyhGbGF0cGFrT2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJO
byB2YWxpZCBVUkkgZm91bmQgZm9yOiAlcyIsIHJlbW90ZSkKICAgICAgICAgICAgICAgICAgICAg
Y29udGludWUKIAotICAgICAgICAgICAgICAgIHNlbGYucmVwb3NbbmFtZV0gPSBGbGF0cGFrUmVw
byhuYW1lLCB1cmwsIHRpdGxlLCByZXBvcz1zZWxmKQorICAgICAgICAgICAgICAgIHNlbGYucmVw
b3NbbmFtZV0gPSBGbGF0cGFrUmVwbyhuYW1lPW5hbWUsIHVybD11cmwsIGRlc2M9dGl0bGUsIHJl
cG9zPXNlbGYpCiAKICAgICAgICAgc2VsZi5wYWNrYWdlcyA9IEZsYXRwYWtQYWNrYWdlcyhzZWxm
KQogCkBAIC00NDksOSArMzE2LDEyIEBAIGNsYXNzIEZsYXRwYWtQYWNrYWdlKEZsYXRwYWtPYmpl
Y3QpOgogICAgICAgICBzZWxmLmFyY2ggPSBhcmNoCiAgICAgICAgIHNlbGYuaGFzaCA9IGhhc2gK
IAotICAgIGRlZiBfX3N0cl9fKHNlbGYpOgorICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAg
ICAgcmV0dXJuICIlcy8lcy8lcyAlcyIgJSAoc2VsZi5uYW1lLCBzZWxmLmFyY2gsIHNlbGYuYnJh
bmNoLCBzZWxmLnJlcG8ubmFtZSkKIAorICAgIGRlZiBfX3N0cl9fKHNlbGYpOgorICAgICAgICBy
ZXR1cm4gIiVzLyVzLyVzIiAlIChzZWxmLm5hbWUsIHNlbGYuYXJjaCwgc2VsZi5icmFuY2gpCisK
ICAgICBkZWYgaXNfaW5zdGFsbGVkKHNlbGYsIGJyYW5jaCk6CiAgICAgICAgIGlmIG5vdCBzZWxm
LnJlcG86CiAgICAgICAgICAgICAjIEJ1bmRsZSBpbnN0YWxsZWQgZnJvbSBmaWxlCkBAIC00OTEs
NyArMzYxLDcgQEAgY2xhc3MgRmxhdHBha1BhY2thZ2UoRmxhdHBha09iamVjdCk6CiAgICAgICAg
IGV4dHJhX2FyZ3MuYXBwZW5kKCItLWFzc3VtZXllcyIpCiAKICAgICAgICAgc2VsZi5mbGF0cGFr
KCJ1cGRhdGUiLCBzZWxmLm5hbWUsIHNlbGYuYnJhbmNoLCBzaG93X291dHB1dD1UcnVlLAotICAg
ICAgICAgICAgICAgICAgICAqZXh0cmFfYXJncywgY29tbWVudD1jb21tZW50KQorICAgICAgICAg
ICAgICAgICAgICAgKmV4dHJhX2FyZ3MsIGNvbW1lbnQ9Y29tbWVudCkKIAogCiBAY29udGV4dG1h
bmFnZXIKQEAgLTUxOSw1MSArMzg5LDUyIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAg
IGdlbmVyYWwuYWRkX2FyZ3VtZW50KCctLXZlcmJvc2UnLCBhY3Rpb249J3N0b3JlX3RydWUnLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdTaG93IGRlYnVnIG1lc3NhZ2UnKQog
ICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLS1kZWJ1ZyIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaGVscD0iQ29tcGlsZSB3aXRoIERlYnVnIGNvbmZpZ3VyYXRpb24sIGFsc28g
aW5zdGFsbHMgU2RrIGRlYnVnIHN5bWJvbGVzLiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYWN0aW9uPSJzdG9yZV90cnVlIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVs
cD0iQ29tcGlsZSB3aXRoIERlYnVnIGNvbmZpZ3VyYXRpb24sIGFsc28gaW5zdGFsbHMgU2RrIGRl
YnVnIHN5bWJvbGVzLiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3Rv
cmVfdHJ1ZSIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLXJlbGVhc2UiLCBoZWxw
PSJDb21waWxlIHdpdGggUmVsZWFzZSBjb25maWd1cmF0aW9uLiIsIGFjdGlvbj0ic3RvcmVfdHJ1
ZSIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCctLXBsYXRmb3JtJywgYWN0aW9uPSdz
dG9yZScsIGhlbHA9J1BsYXRmb3JtIHRvIHVzZSAoZS5nLiwgIm1hYy1saW9uIiknKSwKICAgICAg
ICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoJy0tZ3RrJywgYWN0aW9uPSdzdG9yZV9jb25zdCcsIGRl
c3Q9J3BsYXRmb3JtJywgY29uc3Q9J2d0aycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGhlbHA9J0FsaWFzIGZvciAtLXBsYXRmb3JtPWd0aycpCiAgICAgICAgIGdlbmVyYWwuYWRkX2Fy
Z3VtZW50KCctLXdwZScsIGFjdGlvbj0nc3RvcmVfY29uc3QnLCBkZXN0PSdwbGF0Zm9ybScsIGNv
bnN0PSd3cGUnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9KCdBbGlhcyBmb3Ig
LS1wbGF0Zm9ybT13cGUnKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0oJ0Fs
aWFzIGZvciAtLXBsYXRmb3JtPXdwZScpKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgi
LW5mIiwgIi0tbm8tZmxhdHBhay11cGRhdGUiLCBkZXN0PSJub19mbGF0cGFrX3VwZGF0ZSIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBoZWxwPSJEbyBub3QgdXBkYXRlIGZsYXB0YWsgcnVudGltZS9z
ZGsiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJEbyBub3QgdXBkYXRlIGZsYXB0YWsg
cnVudGltZS9zZGsiKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLXUiLCAiLS11cGRh
dGUiLCBkZXN0PSJ1cGRhdGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0i
c3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iVXBkYXRlIHRo
ZSBydW50aW1lL3Nkay9hcHAgYW5kIHJlYnVpbGQgdGhlIGRldmVsb3BtZW50IGVudmlyb25tZW50
IGlmIG5lZWRlZCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVf
dHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlVwZGF0ZSB0aGUgcnVu
dGltZS9zZGsvYXBwIGFuZCByZWJ1aWxkIHRoZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCBpZiBu
ZWVkZWQiKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLWIiLCAiLS1idWlsZC13ZWJr
aXQiLCBkZXN0PSJidWlsZF93ZWJraXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFj
dGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRm9y
Y2UgcmVidWlsZGluZyB0aGUgYXBwLiIpCi0gICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCIt
YmEiLCAiLS1idWlsZC1hbGwiLCBkZXN0PSJidWlsZF9hbGwiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaGVscD0iRm9yY2UgcmVidWlsZGluZyB0aGUgYXBwIGFuZCBpdHMgZGVwZW5kZW5jaWVzLiIp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkZvcmNlIHJlYnVpbGRpbmcgdGhlIGFwcC4i
KQorICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLWJnc3QiLCAiLS1idWlsZC1nc3QiLCBk
ZXN0PSJidWlsZF9nc3QiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0
b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJGb3JjZSByZWJ1
aWxkaW5nIGdzdC1idWlsZCwgcmVwb3NpdG9yeSBwYXRoIGlzIGRlZmluZWQgYnkgdGhlIGBHU1Rf
QlVJTERfUEFUSGAgZW52aXJvbm1lbnQgdmFyaWFibGUuIikKICAgICAgICAgZ2VuZXJhbC5hZGRf
YXJndW1lbnQoIi1xIiwgIi0tcXVpZXQiLCBkZXN0PSJxdWlldCIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBoZWxwPSJEbyBub3QgcHJpbnQgYW55dGhpbmciKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSJEbyBub3QgcHJpbnQgYW55dGhpbmciKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1
bWVudCgiLXQiLCAiLS10ZXN0cyIsIGRlc3Q9InJ1bl90ZXN0cyIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbmFyZ3M9YXJncGFyc2UuUkVNQUlOREVSLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGhlbHA9IlJ1biBMYXlvdXRUZXN0cyIpCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG5hcmdzPWFyZ3BhcnNlLlJFTUFJTkRFUiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0iUnVuIExheW91dFRlc3RzIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1l
bnQoIi1jIiwgIi0tY29tbWFuZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFyZ3M9
YXJncGFyc2UuUkVNQUlOREVSLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlRo
ZSBjb21tYW5kIHRvIHJ1biBpbiB0aGUgc2FuZGJveCIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGVzdD0idXNlcl9jb21tYW5kIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bmFyZ3M9YXJncGFyc2UuUkVNQUlOREVSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBo
ZWxwPSJUaGUgY29tbWFuZCB0byBydW4gaW4gdGhlIHNhbmRib3giLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkZXN0PSJ1c2VyX2NvbW1hbmQiKQogICAgICAgICBnZW5lcmFsLmFkZF9h
cmd1bWVudCgnLS1hdmFpbGFibGUnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZXN0PSJjaGVja19h
dmFpbGFibGUiLCBoZWxwPSdDaGVjayBpZiByZXF1aXJlZCBkZXBlbmRlbmNpZXMgYXJlIGF2YWls
YWJsZS4nKSwKLSAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi0tdXNlLWljZWNyZWFtIiwg
aGVscD0iVXNlIHRoZSBkaXN0cmlidXRlZCBpY2VjcmVhbSAoaWNlY2MpIGNvbXBpbGVyLiIsIGFj
dGlvbj0ic3RvcmVfdHJ1ZSIpCi0gICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLXdwZS1l
eHRlbnNpb24iLCBhY3Rpb249InN0b3JlIiwgZGVzdD0id3BlX2V4dGVuc2lvbiIsIGhlbHA9IldQ
RSBFeHRlbnNpb24gdG8gZW5hYmxlIikKKyAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi0t
dXNlLWljZWNyZWFtIiwgZGVzdD0idXNlX2ljZWNyZWFtIiwgaGVscD0iVXNlIHRoZSBkaXN0cmli
dXRlZCBpY2VjcmVhbSAoaWNlY2MpIGNvbXBpbGVyLiIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIpCiAK
ICAgICAgICAgZGVidWdvcHRpb25zID0gcGFyc2VyLmFkZF9hcmd1bWVudF9ncm91cCgiRGVidWdn
aW5nIikKICAgICAgICAgZGVidWdvcHRpb25zLmFkZF9hcmd1bWVudCgiLS1nZGIiLCBuYXJncz0i
PyIsIGhlbHA9IkFjdGl2YXRlIGdkYiwgcGFzc2luZyBleHRyYSBhcmdzIHRvIGl0IGlmIHdhbnRl
ZC4iKQorICAgICAgICBkZWJ1Z29wdGlvbnMuYWRkX2FyZ3VtZW50KCItLWdkYi1zdGFjay10cmFj
ZSIsIGRlc3Q9ImdkYl9zdGFja190cmFjZSIsIG5hcmdzPSI/IiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoZWxwPSJEdW1wIHRoZSBzdGFja3RyYWNlIHRvIHN0ZG91dC4gVGhl
IGFyZ3VtZW50IGlzIGEgdGltZXN0YW1wIHRvIGJlIHBhcnNlZCBieSBjb3JlZHVtcGN0bC4iKQog
ICAgICAgICBkZWJ1Z29wdGlvbnMuYWRkX2FyZ3VtZW50KCItbSIsICItLWNvcmVkdW1wY3RsLW1h
dGNoZXMiLCBkZWZhdWx0PSIiLCBoZWxwPSdBcmd1bWVudHMgdG8gcGFzcyB0byBnZGIuJykKIAog
ICAgICAgICBidWlsZG9wdGlvbnMgPSBwYXJzZXIuYWRkX2FyZ3VtZW50X2dyb3VwKCJFeHRyYSBi
dWlsZCBhcmd1bWVudHMiKQogICAgICAgICBidWlsZG9wdGlvbnMuYWRkX2FyZ3VtZW50KCItLW1h
a2VhcmdzIiwgaGVscD0iT3B0aW9uYWwgTWFrZWZpbGUgZmxhZ3MiKQogICAgICAgICBidWlsZG9w
dGlvbnMuYWRkX2FyZ3VtZW50KCItLWNtYWtlYXJncyIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGhlbHA9Ik9uZSBvciBtb3JlIG9wdGlvbmFsIENNYWtlIGZsYWdzIChlLmcuIC0t
Y21ha2VhcmdzPVwiLURGT089YmFyIC1EQ01BS0VfUFJFRklYX1BBVEg9L3Vzci9sb2NhbFwiKSIp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iT25lIG9yIG1vcmUgb3B0
aW9uYWwgQ01ha2UgZmxhZ3MgKGUuZy4gLS1jbWFrZWFyZ3M9XCItREZPTz1iYXIgLURDTUFLRV9Q
UkVGSVhfUEFUSD0vdXNyL2xvY2FsXCIpIikKIAogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVu
dCgiLS1jbGVhbiIsIGRlc3Q9ImNsZWFuIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAg
ICAgIGhlbHA9IkNsZWFuIHByZXZpb3VzIGJ1aWxkcyBhbmQgcmVzdGFydCBmcm9tIHNjcmF0Y2gi
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJDbGVhbiBwcmV2aW91cyBidWls
ZHMgYW5kIHJlc3RhcnQgZnJvbSBzY3JhdGNoIikKIAogICAgICAgICBfLCBzZWxmLmFyZ3MgPSBw
YXJzZXIucGFyc2Vfa25vd25fYXJncyhhcmdzPWFyZ3MsIG5hbWVzcGFjZT1zZWxmKQogCkBAIC01
ODMsNiArNDU0LDcgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgc2VsZi51cGRhdGUg
PSBGYWxzZQogICAgICAgICBzZWxmLmFyZ3MgPSBbXQogICAgICAgICBzZWxmLmZpbmlzaF9hcmdz
ID0gTm9uZQorICAgICAgICBzZWxmLmdkYl9zdGFja190cmFjZSA9IEZhbHNlCiAKICAgICAgICAg
c2VsZi5ub19mbGF0cGFrX3VwZGF0ZSA9IEZhbHNlCiAgICAgICAgIHNlbGYucmVsZWFzZSA9IEZh
bHNlCkBAIC01OTQsOSArNDY2LDEwIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgIHNl
bGYuc2FuZGJveF9zb3VyY2Vfcm9vdCA9ICIvYXBwL3dlYmtpdCIKIAogICAgICAgICBzZWxmLmJ1
aWxkX3dlYmtpdCA9IEZhbHNlCisgICAgICAgIHNlbGYuYnVpbGRfZ3N0ID0gRmFsc2UKICAgICAg
ICAgc2VsZi5idWlsZF9hbGwgPSBGYWxzZQogCi0gICAgICAgIHNlbGYuc2RrX2JyYW5jaCA9IE5v
bmUKKyAgICAgICAgc2VsZi5zZGtfYnJhbmNoID0gIjAuMSIKICAgICAgICAgc2VsZi5wbGF0Zm9y
bSA9ICJndGsiCiAgICAgICAgIHNlbGYuYnVpbGRfdHlwZSA9ICJSZWxlYXNlIgogICAgICAgICBz
ZWxmLm1hbmlmZXN0X3BhdGggPSBOb25lCkBAIC02MDcsNyArNDgwLDYgQEAgY2xhc3MgV2Via2l0
RmxhdHBhazoKICAgICAgICAgc2VsZi5hcHBfbW9kdWxlID0gTm9uZQogICAgICAgICBzZWxmLmZs
YXRwYWtfZGVmYXVsdF9hcmdzID0gW10KICAgICAgICAgc2VsZi5jaGVja19hdmFpbGFibGUgPSBG
YWxzZQotICAgICAgICBzZWxmLndwZV9leHRlbnNpb24gPSBOb25lCiAKICAgICAgICAgIyBEZWZh
dWx0IGFwcGxpY2F0aW9uIHRvIHJ1biBpbiB0aGUgc2FuZGJveAogICAgICAgICBzZWxmLmNvbW1h
bmQgPSBOb25lCkBAIC02NDYsMzAgKzUxOCwyMCBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAg
ICAgICAgICAgc2VsZi5nZGIgPSAiIgogCiAgICAgICAgIHNlbGYuY29tbWFuZCA9ICIlcyAlcyAl
cyIgJSAob3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwKLSAgICAgICAgICAg
ICJUb29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlciIpLAotICAgICAgICAgICAgIi0tIiArIHNl
bGYucGxhdGZvcm0ubG93ZXIoKSwKLSAgICAgICAgICAgICIgLS1kZWJ1ZyIgaWYgc2VsZi5kZWJ1
ZyBlbHNlICIgLS1yZWxlYXNlIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIlRvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93c2VyIiksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tIiArIHNlbGYucGxhdGZvcm0ubG93ZXIo
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIC0tZGVidWciIGlmIHNl
bGYuZGVidWcgZWxzZSAiIC0tcmVsZWFzZSIpCiAKLSAgICAgICAgc2VsZi5uYW1lID0gIm9yZy53
ZWJraXQuJXMiICUgc2VsZi5wbGF0Zm9ybQotCi0gICAgICAgIGlmIHNlbGYud3BlX2V4dGVuc2lv
bjoKLSAgICAgICAgICAgIG1hbmlmZXN0X2ZpbGVuYW1lID0gV1BFX01BTklGRVNUX01BUFtzZWxm
LndwZV9leHRlbnNpb25dCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBtYW5pZmVzdF9maWxl
bmFtZSA9ICJvcmcud2Via2l0LldlYktpdC55YW1sIgotICAgICAgICBzZWxmLm1hbmlmZXN0X3Bh
dGggPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKHNjcmlwdGRpciwgJy4uL2ZsYXRwYWsv
JykgKyBtYW5pZmVzdF9maWxlbmFtZSkKLQotICAgICAgICBzZWxmLmJ1aWxkX25hbWUgPSBzZWxm
Lm5hbWUgKyAiLWdlbmVyYXRlZCIKKyAgICAgICAgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGggPSBv
cy5lbnZpcm9uWyJGTEFUUEFLX1VTRVJfRElSIl0KIAogICAgICAgICBidWlsZF9yb290ID0gb3Mu
cGF0aC5qb2luKHNlbGYuc291cmNlX3Jvb3QsICdXZWJLaXRCdWlsZCcpCi0gICAgICAgIHNlbGYu
ZmxhdHBha19idWlsZF9wYXRoID0gb3MucGF0aC5qb2luKGJ1aWxkX3Jvb3QsIHNlbGYucGxhdGZv
cm0sICJGbGF0cGFrVHJlZSIgKyBzZWxmLmJ1aWxkX3R5cGUpCi0gICAgICAgIHNlbGYuY2FjaGVf
cGF0aCA9IG9zLnBhdGguam9pbihidWlsZF9yb290LCAiRmxhdHBha0NhY2hlIikKICAgICAgICAg
c2VsZi5idWlsZF9wYXRoID0gb3MucGF0aC5qb2luKGJ1aWxkX3Jvb3QsIHNlbGYucGxhdGZvcm0s
IHNlbGYuYnVpbGRfdHlwZSkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb3MubWFrZWRpcnMo
c2VsZi5idWlsZF9wYXRoKQogICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAg
ICAgaWYgZS5lcnJubyAhPSBlcnJuby5FRVhJU1Q6CiAgICAgICAgICAgICAgICAgcmFpc2UgZQot
ICAgICAgICBzZWxmLmNvbmZpZ19maWxlID0gb3MucGF0aC5qb2luKHNlbGYuYnVpbGRfcGF0aCwg
J3dlYmtpdF9mbGF0cGFrX2NvbmZpZy5qc29uJykKKyAgICAgICAgc2VsZi5jb25maWdfZmlsZSA9
IG9zLnBhdGguam9pbihzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCwgJ3dlYmtpdF9mbGF0cGFrX2Nv
bmZpZy5qc29uJykKIAogICAgICAgICBDb25zb2xlLnF1aWV0ID0gc2VsZi5xdWlldAogICAgICAg
ICBpZiBub3QgY2hlY2tfZmxhdHBhaygpOgpAQCAtNjc3LDM1ICs1MzksMzUgQEAgY2xhc3MgV2Vi
a2l0RmxhdHBhazoKIAogICAgICAgICByZXBvcyA9IEZsYXRwYWtSZXBvcygpCiAgICAgICAgIHNl
bGYuc2RrX3JlcG8gPSByZXBvcy5hZGQoCi0gICAgICAgICAgICBGbGF0cGFrUmVwbygiZmxhdGh1
YiIsCi0gICAgICAgICAgICAgICAgICAgICAgICB1cmw9Imh0dHBzOi8vZGwuZmxhdGh1Yi5vcmcv
cmVwby8iLAotICAgICAgICAgICAgICAgICAgICAgICAgcmVwb19maWxlPSJodHRwczovL2RsLmZs
YXRodWIub3JnL3JlcG8vZmxhdGh1Yi5mbGF0cGFrcmVwbyIpKQotCi0gICAgICAgIG1hbmlmZXN0
ID0gbG9hZF9tYW5pZmVzdChzZWxmLm1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZT1zZWxmLm5hbWUp
Ci0gICAgICAgIGlmIG5vdCBtYW5pZmVzdDoKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAg
ICAgICAgICAgRmxhdHBha1JlcG8oIndlYmtpdC1zZGsiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgdXJsPSJodHRwczovL3NvZnR3YXJlLmlnYWxpYS5jb20vd2Via2l0LXNkay1yZXBvLyIsCisg
ICAgICAgICAgICAgICAgICAgICAgICByZXBvX2ZpbGU9Imh0dHBzOi8vc29mdHdhcmUuaWdhbGlh
LmNvbS9mbGF0cGFrLXJlZnMvd2Via2l0LXNkay5mbGF0cGFrcmVwbyIpCisgICAgICAgICkKIAot
ICAgICAgICBzZWxmLmFwcCA9IG1hbmlmZXN0WydhcHAtaWQnXQotCi0gICAgICAgIHNlbGYuc2Rr
X2JyYW5jaCA9IG1hbmlmZXN0WyJydW50aW1lLXZlcnNpb24iXQotICAgICAgICBzZWxmLmZpbmlz
aF9hcmdzID0gbWFuaWZlc3QuZ2V0KCJmaW5pc2gtYXJncyIsIFtdKQotICAgICAgICBzZWxmLmZp
bmlzaF9hcmdzID0gcmVtb3ZlX2V4dGVuc2lvbl9wb2ludHMoc2VsZi5maW5pc2hfYXJncykKLSAg
ICAgICAgc2VsZi5ydW50aW1lID0gRmxhdHBha1BhY2thZ2UobWFuaWZlc3RbJ3J1bnRpbWUnXSwg
c2VsZi5zZGtfYnJhbmNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLnNka19yZXBvLCAieDg2XzY0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGFzaD1tYW5pZmVzdC5nZXQoInJ1bnRpbWUtaGFzaCIpKQotICAgICAgICBzZWxmLmxv
Y2FsZSA9IEZsYXRwYWtQYWNrYWdlKG1hbmlmZXN0WydydW50aW1lJ10gKyAnLkxvY2FsZScsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfYnJhbmNoLCBzZWxm
LnNka19yZXBvLCAieDg2XzY0IikKLSAgICAgICAgc2VsZi5zZGsgPSBGbGF0cGFrUGFja2FnZSht
YW5pZmVzdFsnc2RrJ10sIHNlbGYuc2RrX2JyYW5jaCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBoYXNoPW1hbmlmZXN0LmdldCgic2RrLWhhc2giKSkKKyAgICAgICAgc2Vs
Zi5maW5pc2hfYXJncyA9IFtdCisgICAgICAgIHNlbGYucnVudGltZSA9IEZsYXRwYWtQYWNrYWdl
KCJvcmcud2Via2l0LlBsYXRmb3JtIiwgc2VsZi5zZGtfYnJhbmNoLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IikKKyAgICAgICAg
c2VsZi5sb2NhbGUgPSBGbGF0cGFrUGFja2FnZSgib3JnLndlYmtpdC5QbGF0Zm9ybS5Mb2NhbGUi
LCBzZWxmLnNka19icmFuY2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCisgICAgICAgIHNlbGYuc2RrID0gRmxhdHBha1BhY2th
Z2UoIm9yZy53ZWJraXQuU2RrIiwgIjAuMSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCiAgICAgICAgIHNlbGYucGFja3MgPSBbc2Vs
Zi5ydW50aW1lLCBzZWxmLmxvY2FsZSwgc2VsZi5zZGtdCiAKKyAgICAgICAgIyBGSVhNRTogRm9y
IHVua25vd24gcmVhc29ucywgdGhlIEdMIGV4dGVuc2lvbiBuZWVkcyB0byBiZSBleHBsaWNpdGVs
eQorICAgICAgICAjIGluc3RhbGxlZCBmb3IgRmxhdHBhayAxLjIueCB0byBiZSBhYmxlIHRvIG1h
a2UgdXNlIG9mIGl0LiBTZWVtcyBsaWtlCisgICAgICAgICMgaXQncyBub3QgY29ycmVjdGx5IGlu
aGVyaXRpbmcgaXQgZnJvbSB0aGUgU0RLLgorICAgICAgICBzZWxmLmZsYXRodWJfcmVwbyA9IHJl
cG9zLmFkZCgKKyAgICAgICAgICAgIEZsYXRwYWtSZXBvKCJmbGF0aHViIiwgcmVwb19maWxlPSJo
dHRwczovL2RsLmZsYXRodWIub3JnL3JlcG8vZmxhdGh1Yi5mbGF0cGFrcmVwbyIpCisgICAgICAg
ICkKKyAgICAgICAgc2VsZi5nbF9leHRlbnNpb24gPSBGbGF0cGFrUGFja2FnZSgib3JnLmZyZWVk
ZXNrdG9wLlBsYXRmb3JtLkdMLmRlZmF1bHQiLCAiMTkuMDgiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmxhdGh1Yl9yZXBvLCAieDg2XzY0IikKKyAg
ICAgICAgc2VsZi5wYWNrcy5hcHBlbmQoc2VsZi5nbF9leHRlbnNpb24pCisKICAgICAgICAgaWYg
c2VsZi5kZWJ1ZzoKLSAgICAgICAgICAgIHNlbGYuc2RrX2RlYnVnID0gRmxhdHBha1BhY2thZ2Uo
bWFuaWZlc3RbJ3NkayddICsgJy5EZWJ1ZycsIHNlbGYuc2RrX2JyYW5jaCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCisgICAg
ICAgICAgICBzZWxmLnNka19kZWJ1ZyA9IEZsYXRwYWtQYWNrYWdlKCdvcmcud2Via2l0LlNkay5E
ZWJ1ZycsIHNlbGYuc2RrX2JyYW5jaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCiAgICAgICAgICAgICBzZWxmLnBh
Y2tzLmFwcGVuZChzZWxmLnNka19kZWJ1ZykKLSAgICAgICAgc2VsZi5tYW5pZmVzdF9nZW5lcmF0
ZWRfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLmNhY2hlX3BhdGgsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5idWlsZF9uYW1lICsgIi5q
c29uIikKKwogICAgICAgICB0cnk6CiAgICAgICAgICAgICB3aXRoIG9wZW4oc2VsZi5jb25maWdf
ZmlsZSkgYXMgY29uZmlnOgogICAgICAgICAgICAgICAgIGpzb25fY29uZmlnID0ganNvbi5sb2Fk
KGNvbmZpZykKQEAgLTcxNSw3ICs1NzcsNDUgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKIAogICAg
ICAgICByZXR1cm4gVHJ1ZQogCisgICAgZGVmIHNldHVwX2J1aWxkZGlyKHNlbGYsICoqa3dhcmdz
KToKKyAgICAgICAgaWYgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYuZmxhdHBha19i
dWlsZF9wYXRoLCAibWV0YWRhdGEiKSk6CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBz
ZWxmLnNka19yZXBvLmZsYXRwYWsoImJ1aWxkLWluaXQiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAib3JnLndlYmtpdC5XZWJraXQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc3RyKHNlbGYuc2RrKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZWxm
LnJ1bnRpbWUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGsuYnJhbmNo
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd19vdXRwdXQ9InN0ZG91dCIgaW4g
a3dhcmdzLmtleXMoKSkKKworICAgIGRlZiBzZXR1cF9nc3RidWlsZChzZWxmLCBidWlsZGluZyk6
CisgICAgICAgIGdzdF9kaXIgPSBvcy5lbnZpcm9uLmdldCgnR1NUX0JVSUxEX1BBVEgnKQorICAg
ICAgICBpZiBub3QgZ3N0X2RpcjoKKyAgICAgICAgICAgIHJldHVybiBbXQorCisgICAgICAgIGlm
IG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oZ3N0X2RpciwgJ2dzdC1lbnYucHknKSk6
CisgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ0dTVF9CVUlMRF9QQVRIIHNldCB0byAl
cyBidXQgaXQgZG9lc25cJ3Qgc2VlbSB0byBiZSBhIHZhbGlkIGBnc3QtYnVpbGRgIGNoZWNrb3V0
LicgJSBnc3RfZGlyKQorCisgICAgICAgIGdzdF9idWlsZGRpciA9IG9zLnBhdGguam9pbihzZWxm
LnNhbmRib3hfc291cmNlX3Jvb3QsICJXZWJLaXRCdWlsZCIsICdnc3QtYnVpbGQnKQorICAgICAg
ICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYuc291cmNlX3Jvb3QsICdX
ZWJLaXRCdWlsZCcsICdnc3QtYnVpbGQnLCAnYnVpbGQubmluamEnKSk6CisgICAgICAgICAgICBp
ZiBub3QgYnVpbGRpbmc6CisgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdUcnlp
bmcgdG8gZW50ZXIgZ3N0LWJ1aWxkIGVudiBmcm9tICVzIGJ1dCBpdCBpcyBub3QgYnVpbHQsIG1h
a2Ugc3VyZSB0byByZWJ1aWxkIHdlYmtpdC4nICUgZ3N0X2RpcikKKworICAgICAgICAgICAgQ29u
c29sZS5tZXNzYWdlKCJSdW5uaW5nIG1lc29uIGZvciBgZ3N0LWJ1aWxkYCAlcyAiLCBnc3RfZGly
KQorICAgICAgICAgICAgc2VsZi5ydW5faW5fc2FuZGJveCgnbWVzb24nLCBnc3RfZGlyLCBnc3Rf
YnVpbGRkaXIsIGJ1aWxkaW5nX2dzdD1UcnVlKQorCisgICAgICAgIGlmIG5vdCBidWlsZGluZzoK
KyAgICAgICAgICAgIHJldHVybiBbb3MucGF0aC5qb2luKGdzdF9kaXIsICdnc3QtZW52LnB5Jyks
ICctLWJ1aWxkZGlyJywgZ3N0X2J1aWxkZGlyLCAnLS1zcmNkaXInLCBnc3RfZGlyXQorCisgICAg
ICAgIENvbnNvbGUubWVzc2FnZSgiQnVpbGRpbmcgYGdzdC1idWlsZGAgJXMgIiwgZ3N0X2RpcikK
KyAgICAgICAgaWYgc2VsZi5ydW5faW5fc2FuZGJveCgnbmluamEnLCAnLUMnLCBnc3RfYnVpbGRk
aXIsIGJ1aWxkaW5nX2dzdD1UcnVlKSAhPSAwOgorICAgICAgICAgICAgcmFpc2UgUnVudGltZUVy
cm9yKCdFcnJvciB3aGlsZSBidWlsZGluZyBnc3QtYnVpbGQuJykKKworICAgICAgICByZXR1cm4g
W29zLnBhdGguam9pbihnc3RfZGlyLCAnZ3N0LWVudi5weScpLCAnLS1idWlsZGRpcicsIGdzdF9i
dWlsZGRpciwgJy0tc3JjZGlyJywgZ3N0X2Rpcl0KKwogICAgIGRlZiBydW5faW5fc2FuZGJveChz
ZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBzZWxmLnNldHVwX2J1aWxkZGlyKHN0ZG91
dD1rd2FyZ3MuZ2V0KCJzdGRvdXQiLCBzeXMuc3Rkb3V0KSkKICAgICAgICAgY3dkID0ga3dhcmdz
LnBvcCgiY3dkIiwgTm9uZSkKICAgICAgICAgZXh0cmFfZW52X3ZhcnMgPSBrd2FyZ3MucG9wKCJl
bnYiLCB7fSkKICAgICAgICAgc3Rkb3V0ID0ga3dhcmdzLnBvcCgic3Rkb3V0Iiwgc3lzLnN0ZG91
dCkKQEAgLTcyMyw2ICs2MjMsNyBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogCiAgICAgICAgIGlm
IG5vdCBpc2luc3RhbmNlKGFyZ3MsIGxpc3QpOgogICAgICAgICAgICAgYXJncyA9IGxpc3QoYXJn
cykKKwogICAgICAgICBpZiBhcmdzOgogICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoYXJn
c1swXSk6CiAgICAgICAgICAgICAgICAgY29tbWFuZCA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0
aC5hYnNwYXRoKGFyZ3NbMF0pKQpAQCAtNzMwLDk0ICs2MzEsMTE1IEBAIGNsYXNzIFdlYmtpdEZs
YXRwYWs6CiAgICAgICAgICAgICAgICAgYXJnc1swXSA9IGNvbW1hbmQucmVwbGFjZShzZWxmLnNv
dXJjZV9yb290LCBzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QpCiAgICAgICAgICAgICBpZiBhcmdz
WzBdLmVuZHN3aXRoKCJidWlsZC13ZWJraXQiKToKICAgICAgICAgICAgICAgICBhcmdzLmFwcGVu
ZCgiLS1wcmVmaXg9L2FwcCIpCisgICAgICAgIGJ1aWxkaW5nID0gb3MucGF0aC5iYXNlbmFtZShh
cmdzWzBdKS5zdGFydHN3aXRoKCJidWlsZCIpCiAKICAgICAgICAgc2FuZGJveF9idWlsZF9wYXRo
ID0gb3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgIldlYktpdEJ1aWxkIiwg
c2VsZi5idWlsZF90eXBlKQotICAgICAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5Rmls
ZShtb2RlPSJ3IikgYXMgdG1wc2NyaXB0OgotICAgICAgICAgICAgZmxhdHBha19jb21tYW5kID0g
WyJmbGF0cGFrIiwgImJ1aWxkIiwgIi0tZGllLXdpdGgtcGFyZW50IiwKLSAgICAgICAgICAgICAg
ICAiLS1iaW5kLW1vdW50PS9ydW4vc2htPS9kZXYvc2htIiwKLSAgICAgICAgICAgICAgICAjIFdv
cmthcm91bmQgZm9yIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE4NzM4NCB0byBoYXZlIG91ciBvd24g
cGVybCBtb2R1bGVzIHVzYWJsZSBpbnNpZGUgdGhlIHNhbmRib3gKLSAgICAgICAgICAgICAgICAj
IGFzIHNldHRpbmcgdGhlIFBFUkw1TElCIGVudnZhciB3b24ndCB3b3JrIGluc2lkZSBhcGFjaGUg
KGFuZCBmb3Igc2NyaXB0cyB1c2luZyBgcGVybCAtVGBgKS4KLSAgICAgICAgICAgICAgICAiLS1i
aW5kLW1vdW50PS9ydW4vaG9zdC8lcz0lcyIgJSAodGVtcGZpbGUuZ2V0dGVtcGRpcigpLCB0ZW1w
ZmlsZS5nZXR0ZW1wZGlyKCkpLAotICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9JXM9JXMi
ICUgKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgc2VsZi5zb3VyY2Vfcm9vdCksCisgICAgICAg
IGZsYXRwYWtfY29tbWFuZCA9IFsiZmxhdHBhayIsICJidWlsZCIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiLS1kaWUtd2l0aC1wYXJlbnQiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIi0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cyIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiLS10YWxrLW5hbWU9b3JnLmd0ay52ZnMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ii0tdGFsay1uYW1lPW9yZy5ndGsudmZzLioiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ii0tYmluZC1tb3VudD0vcnVuL3NobT0vZGV2L3NobSIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAjIFdvcmthcm91bmQgZm9yIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE4NzM4NCB0byBoYXZl
IG91ciBvd24gcGVybCBtb2R1bGVzIHVzYWJsZSBpbnNpZGUgdGhlIHNhbmRib3gKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICMgYXMgc2V0dGluZyB0aGUgUEVSTDVMSUIgZW52dmFyIHdvbid0
IHdvcmsgaW5zaWRlIGFwYWNoZSAoYW5kIGZvciBzY3JpcHRzIHVzaW5nIGBwZXJsIC1UYGApLgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0vcnVuL2hvc3QvJXM9JXMi
ICUgKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwgdGVtcGZpbGUuZ2V0dGVtcGRpcigpKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9JXM9JXMiICUgKHNlbGYuc2FuZGJv
eF9zb3VyY2Vfcm9vdCwgc2VsZi5zb3VyY2Vfcm9vdCksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAjIFdlIG1vdW50IFdlYktpdEJ1aWxkL1BPUlROQU1FL0J1aWxkVHlwZSB0byAvYXBwL3dl
YmtpdC9XZWJLaXRCdWlsZC9CdWlsZFR5cGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICMg
c28gd2UgY2FuIGJ1aWxkIFdQRSBhbmQgR1RLIGluIGEgc2FtZSBzb3VyY2UgdHJlZS4KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9JXM9JXMiICUgKHNhbmRib3hfYnVp
bGRfcGF0aCwgc2VsZi5idWlsZF9wYXRoKV0KKworICAgICAgICBmb3J3YXJkZWQgPSB7CisgICAg
ICAgICAgICAiV0VCS0lUX1RPUF9MRVZFTCI6ICIvYXBwLyIsCisgICAgICAgICAgICAiVEVTVF9S
VU5ORVJfSU5KRUNURURfQlVORExFX0ZJTEVOQU1FIjogb3MucGF0aC5qb2luKHNhbmRib3hfYnVp
bGRfcGF0aCwgImxpYi9saWJUZXN0UnVubmVySW5qZWN0ZWRCdW5kbGUuc28iKSwKKyAgICAgICAg
fQorCisgICAgICAgIGlmIG5vdCBidWlsZGluZzoKKyAgICAgICAgICAgIGZsYXRwYWtfY29tbWFu
ZC5leHRlbmQoWworICAgICAgICAgICAgICAgICItLWRldmljZT1hbGwiLAorICAgICAgICAgICAg
ICAgICItLWRldmljZT1kcmkiLAorICAgICAgICAgICAgICAgICItLWZpbGVzeXN0ZW09aG9zdCIs
CisgICAgICAgICAgICAgICAgIi0tc2hhcmU9aXBjIiwKKyAgICAgICAgICAgICAgICAiLS1zaGFy
ZT1uZXR3b3JrIiwKKyAgICAgICAgICAgICAgICAiLS1zb2NrZXQ9cHVsc2VhdWRpbyIsCisgICAg
ICAgICAgICAgICAgIi0tc29ja2V0PXN5c3RlbS1idXMiLAorICAgICAgICAgICAgICAgICItLXNv
Y2tldD13YXlsYW5kIiwKKyAgICAgICAgICAgICAgICAiLS1zb2NrZXQ9eDExIiwKKyAgICAgICAg
ICAgICAgICAiLS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cyIsCisgICAgICAgICAgICAg
ICAgIi0tc3lzdGVtLXRhbGstbmFtZT1vcmcuZnJlZWRlc2t0b3AuR2VvQ2x1ZTIiLAogICAgICAg
ICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuYTExeS5CdXMiLAotICAgICAgICAgICAgICAgICIt
LXRhbGstbmFtZT1vcmcuZ3RrLnZmcyIsCi0gICAgICAgICAgICAgICAgIi0tdGFsay1uYW1lPW9y
Zy5ndGsudmZzLioiLAotICAgICAgICAgICAgICAgICMgV2UgbW91bnQgV2ViS2l0QnVpbGQvUE9S
VE5BTUUvQnVpbGRUeXBlIHRvIC9hcHAvd2Via2l0L1dlYktpdEJ1aWxkL0J1aWxkVHlwZQotICAg
ICAgICAgICAgICAgICMgc28gd2UgY2FuIGJ1aWxkIFdQRSBhbmQgR1RLIGluIGEgc2FtZSBzb3Vy
Y2UgdHJlZS4KLSAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PSVzPSVzIiAlIChzYW5kYm94
X2J1aWxkX3BhdGgsIHNlbGYuYnVpbGRfcGF0aCldCi0KLSAgICAgICAgICAgIGZvcndhcmRlZCA9
IHsKLSAgICAgICAgICAgICAgICAiV0VCS0lUX1RPUF9MRVZFTCI6ICIvYXBwLyIsCi0gICAgICAg
ICAgICAgICAgIlRFU1RfUlVOTkVSX0lOSkVDVEVEX0JVTkRMRV9GSUxFTkFNRSI6ICIvYXBwL3dl
YmtpdC9saWIvbGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLnNvIiwKKyAgICAgICAgICAgICAg
ICAiLS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkZsYXRwYWsiCisgICAgICAgICAgICBdKQor
CisgICAgICAgICAgICBmb3J3YXJkZWQudXBkYXRlKHsKKyAgICAgICAgICAgICAgICAiVFoiOiAi
UFNUOFBEVCIsCisgICAgICAgICAgICAgICAgIkxBTkciOiAiZW5fVVMuVVRGLTgiCisgICAgICAg
ICAgICB9KQorCisgICAgICAgIGVudl92YXJfcHJlZml4ZXNfdG9fa2VlcCA9IFsKKyAgICAgICAg
ICAgICJHIiwKKyAgICAgICAgICAgICJHSUdBQ0FHRSIsCisgICAgICAgICAgICAiR1NUIiwKKyAg
ICAgICAgICAgICJHVEsiLAorICAgICAgICAgICAgIklDRUNDIiwKKyAgICAgICAgICAgICJKU0Mi
LAorICAgICAgICAgICAgIldFQktJVCIsCisgICAgICAgICAgICAiV0VCS0lUMiIsCisgICAgICAg
IF0KKworICAgICAgICBlbnZfdmFyc190b19rZWVwID0gWworICAgICAgICAgICAgIkNDIiwKKyAg
ICAgICAgICAgICJDQ0FDSEVfUFJFRklYIiwKKyAgICAgICAgICAgICJDRkxBR1MiLAorICAgICAg
ICAgICAgIkNYWCIsCisgICAgICAgICAgICAiQ1hYRkxBR1MiLAorICAgICAgICAgICAgIkRJU1BM
QVkiLAorICAgICAgICAgICAgIkphdmFTY3JpcHRDb3JlVXNlSklUIiwKKyAgICAgICAgICAgICJM
QU5HIiwKKyAgICAgICAgICAgICJMREZMQUdTIiwKKyAgICAgICAgICAgICJNYWxsb2MiLAorICAg
ICAgICAgICAgIk5VTUJFUl9PRl9QUk9DRVNTT1JTIiwKKyAgICAgICAgICAgICJRTUwyX0lNUE9S
VF9QQVRIIiwKKyAgICAgICAgICAgICJXQVlMQU5EX0RJU1BMQVkiLAorICAgICAgICAgICAgIldB
WUxBTkRfU09DS0VUIiwKKyAgICAgICAgXQorCisgICAgICAgIGVudl92YXJzID0gb3MuZW52aXJv
bgorICAgICAgICBlbnZfdmFycy51cGRhdGUoZXh0cmFfZW52X3ZhcnMpCisgICAgICAgIGZvciBl
bnZ2YXIsIHZhbHVlIGluIGVudl92YXJzLml0ZW1zKCk6CisgICAgICAgICAgICBpZiBlbnZ2YXIu
c3BsaXQoIl8iKVswXSBpbiBlbnZfdmFyX3ByZWZpeGVzX3RvX2tlZXAgb3IgZW52dmFyIGluIGVu
dl92YXJzX3RvX2tlZXA6CisgICAgICAgICAgICAgICAgZm9yd2FyZGVkW2VudnZhcl0gPSB2YWx1
ZQorCisgICAgICAgIGlmIHNlbGYudXNlX2ljZWNyZWFtOgorICAgICAgICAgICAgX2xvZy5kZWJ1
ZygnRW5hYmxpbmcgdGhlIGljZWNyZWFtIGNvbXBpbGVyJykKKyAgICAgICAgICAgIGZsYXRwYWtf
Y29tbWFuZC5leHRlbmQoWyItLXNoYXJlPW5ldHdvcmsiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0vdmFyL3J1bi9pY2VjYz0vdmFyL3J1bi9pY2Vj
YyJdKQorCisgICAgICAgICAgICBuX2NvcmVzID0gbXVsdGlwcm9jZXNzaW5nLmNwdV9jb3VudCgp
ICogMworICAgICAgICAgICAgX2xvZy5kZWJ1ZygnRm9sbG93aW5nIGljZWNyZWFtIHJlY29tbWVu
ZGF0aW9uIGZvciB0aGUgbnVtYmVyIG9mIGNvcmVzIHRvIHVzZTogJWQnICUgbl9jb3JlcykKKyAg
ICAgICAgICAgIGZvcndhcmRlZC51cGRhdGUoeworICAgICAgICAgICAgICAgICJDQ0FDSEVfUFJF
RklYIjogImljZWNjIiwKICAgICAgICAgICAgICAgICAiSUNFQ0NfVkVSU0lPTiI6IHNlbGYuaWNj
X3ZlcnNpb24sCi0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGVudl92YXJfcHJlZml4ZXNf
dG9fa2VlcCA9IFsKLSAgICAgICAgICAgICAgICAiR1NUIiwKLSAgICAgICAgICAgICAgICAiR1RL
IiwKLSAgICAgICAgICAgICAgICAiRyIsCi0gICAgICAgICAgICAgICAgIkpTQyIsCi0gICAgICAg
ICAgICAgICAgIldFQktJVCIsCi0gICAgICAgICAgICAgICAgIldFQktJVDIiLAotICAgICAgICAg
ICAgICAgICJXUEUiLAotICAgICAgICAgICAgICAgICJHSUdBQ0FHRSIsCi0gICAgICAgICAgICBd
Ci0KLSAgICAgICAgICAgIGVudl92YXJzX3RvX2tlZXAgPSBbCi0gICAgICAgICAgICAgICAgIkph
dmFTY3JpcHRDb3JlVXNlSklUIiwKLSAgICAgICAgICAgICAgICAiTWFsbG9jIiwKLSAgICAgICAg
ICAgICAgICAiV0FZTEFORF9ESVNQTEFZIiwKLSAgICAgICAgICAgICAgICAiV0FZTEFORF9TT0NL
RVQiLAotICAgICAgICAgICAgICAgICJESVNQTEFZIiwKLSAgICAgICAgICAgICAgICAiTEFORyIs
Ci0gICAgICAgICAgICAgICAgIk5VTUJFUl9PRl9QUk9DRVNTT1JTIiwKLSAgICAgICAgICAgICAg
ICAiQ0NBQ0hFX1BSRUZJWCIsCi0gICAgICAgICAgICAgICAgIlFNTDJfSU1QT1JUX1BBVEgiLAot
ICAgICAgICAgICAgXQotCi0gICAgICAgICAgICBpZiBzZWxmLnVzZV9pY2VjcmVhbToKLSAgICAg
ICAgICAgICAgICBfbG9nLmRlYnVnKCdFbmFibGluZyB0aGUgaWNlY3JlYW0gY29tcGlsZXInKQot
ICAgICAgICAgICAgICAgIGZvcndhcmRlZFsiQ0NBQ0hFX1BSRUZJWCJdID0gImljZWNjIgotICAg
ICAgICAgICAgICAgIGlmIG5vdCBvcy5lbnZpcm9uLmdldCgnTlVNQkVSX09GX1BST0NFU1NPUlMn
KToKLSAgICAgICAgICAgICAgICAgICAgbl9jb3JlcyA9IG11bHRpcHJvY2Vzc2luZy5jcHVfY291
bnQoKSAqIDMKLSAgICAgICAgICAgICAgICAgICAgX2xvZy5kZWJ1ZygnRm9sbG93IGljZWNyZWFt
IHJlY29tbWVuZGF0aW9uIGZvciB0aGUgbnVtYmVyIG9mIGNvcmVzIHRvIHVzZTogJWQnICUgbl9j
b3JlcykKLSAgICAgICAgICAgICAgICAgICAgZm9yd2FyZGVkWyJOVU1CRVJfT0ZfUFJPQ0VTU09S
UyJdID0gbl9jb3JlcwotCi0gICAgICAgICAgICBlbnZfdmFycyA9IG9zLmVudmlyb24KLSAgICAg
ICAgICAgIGVudl92YXJzLnVwZGF0ZShleHRyYV9lbnZfdmFycykKLSAgICAgICAgICAgIGZvciBl
bnZ2YXIsIHZhbHVlIGluIGVudl92YXJzLml0ZW1zKCk6Ci0gICAgICAgICAgICAgICAgaWYgZW52
dmFyLnNwbGl0KCJfIilbMF0gaW4gZW52X3Zhcl9wcmVmaXhlc190b19rZWVwIG9yIGVudnZhciBp
biBlbnZfdmFyc190b19rZWVwOgotICAgICAgICAgICAgICAgICAgICBmb3J3YXJkZWRbZW52dmFy
XSA9IHZhbHVlCi0KLSAgICAgICAgICAgIGZvciBlbnZ2YXIsIHZhbHVlIGluIGZvcndhcmRlZC5p
dGVtcygpOgotICAgICAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZC5hcHBlbmQoIi0tZW52PSVz
PSVzIiAlIChlbnZ2YXIsIHZhbHVlKSkKLQotICAgICAgICAgICAgZmxhdHBha19jb21tYW5kICs9
IHNlbGYuZmluaXNoX2FyZ3MgKyBleHRyYV9mbGF0cGFrX2FyZ3MgKyBbc2VsZi5mbGF0cGFrX2J1
aWxkX3BhdGhdCi0KLSAgICAgICAgICAgIHNoZWxsX3N0cmluZyA9ICIiCi0gICAgICAgICAgICBp
ZiBhcmdzOgotICAgICAgICAgICAgICAgIGlmIGN3ZDoKLSAgICAgICAgICAgICAgICAgICAgc2hl
bGxfc3RyaW5nID0gJ2NkICIlcyIgJiYgIiVzIicgJSAoY3dkLCAnIiAiJy5qb2luKGFyZ3MpKQot
ICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHNoZWxsX3N0cmluZyA9
ICciJXMiJyAlICgnIiAiJy5qb2luKGFyZ3MpKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAg
ICAgICAgICBzaGVsbF9zdHJpbmcgPSBzZWxmLmNvbW1hbmQKLSAgICAgICAgICAgICAgICBpZiBz
ZWxmLmFyZ3M6Ci0gICAgICAgICAgICAgICAgICAgIHNoZWxsX3N0cmluZyArPSAnICIlcyInICUg
JyIgIicuam9pbihzZWxmLmFyZ3MpCisgICAgICAgICAgICAgICAgIk5VTUJFUl9PRl9QUk9DRVNT
T1JTIjogbl9jb3JlcywKKyAgICAgICAgICAgIH0pCiAKLSAgICAgICAgICAgIHRtcHNjcmlwdC53
cml0ZShzaGVsbF9zdHJpbmcpCi0gICAgICAgICAgICB0bXBzY3JpcHQuZmx1c2goKQorICAgICAg
ICBmb3IgZW52dmFyLCB2YWx1ZSBpbiBmb3J3YXJkZWQuaXRlbXMoKToKKyAgICAgICAgICAgIGZs
YXRwYWtfY29tbWFuZC5hcHBlbmQoIi0tZW52PSVzPSVzIiAlIChlbnZ2YXIsIHZhbHVlKSkKIAot
ICAgICAgICAgICAgX2xvZy5kZWJ1ZygnUnVubmluZyBpbiBzYW5kYm94OiAiJXMiICVzXG4nICUg
KCciICInLmpvaW4oZmxhdHBha19jb21tYW5kKSwgc2hlbGxfc3RyaW5nKSkKLSAgICAgICAgICAg
IGZsYXRwYWtfY29tbWFuZC5leHRlbmQoWydzaCcsICIvcnVuL2hvc3QvIiArIHRtcHNjcmlwdC5u
YW1lXSkKKyAgICAgICAgZ3N0X2VudiA9IFtdCisgICAgICAgIGlmIG5vdCBrd2FyZ3MuZ2V0KCdi
dWlsZGluZ19nc3QnKToKKyAgICAgICAgICAgIGdzdF9lbnYgPSBzZWxmLnNldHVwX2dzdGJ1aWxk
KGJ1aWxkaW5nKQorICAgICAgICBmbGF0cGFrX2NvbW1hbmQgKz0gc2VsZi5maW5pc2hfYXJncyAr
IGV4dHJhX2ZsYXRwYWtfYXJncyArIFwKKyAgICAgICAgICAgIFtzZWxmLmZsYXRwYWtfYnVpbGRf
cGF0aF0gKyBnc3RfZW52ICsgYXJncwogCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAg
ICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGZsYXRwYWtfY29tbWFuZCwgc3Rkb3V0PXN0ZG91dCkK
LSAgICAgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgot
ICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoc3RyKGUpICsgIlxuIikKLSAgICAgICAg
ICAgICAgICByZXR1cm4gZS5yZXR1cm5jb2RlCi0gICAgICAgICAgICBleGNlcHQgS2V5Ym9hcmRJ
bnRlcnJ1cHQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgX2xvZy5kZWJ1Zygn
UnVubmluZyBpbiBzYW5kYm94OiAlc1xuJyAlICcgJy5qb2luKGZsYXRwYWtfY29tbWFuZCkpCisK
KyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGZsYXRwYWtf
Y29tbWFuZCwgc3Rkb3V0PXN0ZG91dCkKKyAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVk
UHJvY2Vzc0Vycm9yIGFzIGU6CisgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKHN0cihlKSAr
ICJcbiIpCisgICAgICAgICAgICByZXR1cm4gZS5yZXR1cm5jb2RlCisgICAgICAgIGV4Y2VwdCBL
ZXlib2FyZEludGVycnVwdDoKKyAgICAgICAgICAgIHJldHVybiAwCiAKICAgICAgICAgcmV0dXJu
IDAKIApAQCAtODM1LDY0ICs3NTcsNDEgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAg
ICAgICAgICBzaHV0aWwucm10cmVlKHNlbGYuYnVpbGRfcGF0aCkKIAogICAgICAgICBpZiBzZWxm
LnVwZGF0ZToKLSAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiVXBkYXRpbmcgRmxhdHBhayBl
bnZpcm9ubWVudCBmb3IgJXMgKCVzKSIgJSAoCi0gICAgICAgICAgICAgICAgc2VsZi5wbGF0Zm9y
bSwgc2VsZi5idWlsZF90eXBlKSkKKyAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiVXBkYXRp
bmcgRmxhdHBhayAlcyBlbnZpcm9ubWVudCIgJSBzZWxmLmJ1aWxkX3R5cGUpCiAgICAgICAgICAg
ICBpZiBub3Qgc2VsZi5ub19mbGF0cGFrX3VwZGF0ZToKICAgICAgICAgICAgICAgICBzZWxmLnVw
ZGF0ZV9hbGwoKQogCiAgICAgICAgIHJldHVybiBzZWxmLnNldHVwX2Rldl9lbnYoKQogCiAgICAg
ZGVmIGhhc19lbnZpcm9ubWVudChzZWxmKToKLSAgICAgICAgcmV0dXJuIG9zLnBhdGguZXhpc3Rz
KG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3BhdGgsIHNlbGYuZmxhdHBha19idWlsZF9wYXRoKSkK
KyAgICAgICAgcmV0dXJuIG9zLnBhdGguZXhpc3RzKHNlbGYuZmxhdHBha19idWlsZF9wYXRoKQog
CiAgICAgZGVmIHNhdmVfY29uZmlnKHNlbGYpOgogICAgICAgICB3aXRoIG9wZW4oc2VsZi5jb25m
aWdfZmlsZSwgJ3cnKSBhcyBjb25maWc6CiAgICAgICAgICAgICBqc29uX2NvbmZpZyA9IHsnaWNl
Y2NfdmVyc2lvbic6IHNlbGYuaWNjX3ZlcnNpb259CiAgICAgICAgICAgICBqc29uLmR1bXAoanNv
bl9jb25maWcsIGNvbmZpZykKIAotICAgIGRlZiBzZXR1cF9jY2FjaGUoc2VsZik6Ci0gICAgICAg
IGZvciBjb21waWxlciBpbiBbImMrKyIsICJjYyIsICJjbGFuZyIsICJjbGFuZysrIiwgImcrKyIs
ICJnY2MiXToKLSAgICAgICAgICAgIHNlbGYucnVuX2luX3NhbmRib3goImxuIiwgIi1zIiwgIi4u
Ly4uL3Vzci9iaW4vY2NhY2hlIiwgY29tcGlsZXIsIGN3ZD0iL2FwcC9iaW4iKQotCiAgICAgZGVm
IHNldHVwX2ljZWNjKHNlbGYpOgogICAgICAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5
RmlsZSgpIGFzIHRtcGZpbGU6Ci0gICAgICAgICAgICBzZWxmLnJ1bl9pbl9zYW5kYm94KCdpY2Vj
YycsICctLWJ1aWxkLW5hdGl2ZScsIHN0ZG91dD10bXBmaWxlLCBjd2Q9c2VsZi5idWlsZF9wYXRo
KQorICAgICAgICAgICAgc2VsZi5ydW5faW5fc2FuZGJveCgnaWNlY2MnLCAnLS1idWlsZC1uYXRp
dmUnLCBzdGRvdXQ9dG1wZmlsZSwgY3dkPXNlbGYuc291cmNlX3Jvb3QpCiAgICAgICAgICAgICB0
bXBmaWxlLmZsdXNoKCkKICAgICAgICAgICAgIHRtcGZpbGUuc2VlaygwKQogICAgICAgICAgICAg
aWNjX3ZlcnNpb25fZmlsZW5hbWUsID0gcmUuZmluZGFsbChyJy4qY3JlYXRpbmcgKC4qKScsIHRt
cGZpbGUucmVhZCgpKQotICAgICAgICAgICAgc2VsZi5pY2NfdmVyc2lvbiA9IG9zLnBhdGguam9p
bihzZWxmLmJ1aWxkX3BhdGgsIGljY192ZXJzaW9uX2ZpbGVuYW1lKQorICAgICAgICAgICAgc2Vs
Zi5pY2NfdmVyc2lvbiA9IG9zLnBhdGguam9pbihzZWxmLnNvdXJjZV9yb290LCBpY2NfdmVyc2lv
bl9maWxlbmFtZSkKIAogICAgIGRlZiBzZXR1cF9kZXZfZW52KHNlbGYpOgotICAgICAgICBpZiBu
b3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYuYnVpbGRfcGF0aCwgc2VsZi5mbGF0
cGFrX2J1aWxkX3BhdGgpKSBcCi0gICAgICAgICAgICAgICAgb3Igc2VsZi51cGRhdGUgb3Igc2Vs
Zi5idWlsZF9hbGw6CisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4o
c2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsICJydW50aW1lIiwgIm9yZy53ZWJraXQuU2RrIikpIG9y
IHNlbGYudXBkYXRlIG9yIHNlbGYuYnVpbGRfYWxsOgogICAgICAgICAgICAgc2VsZi5pbnN0YWxs
X2FsbCgpCi0gICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIkJ1aWxkaW5nICVzIGFuZCBkZXBl
bmRlbmNpZXMgaW4gJXMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubmFtZSwg
c2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgpCi0KLSAgICAgICAgICAgICMgQ3JlYXRlIGVudmlyb25t
ZW50IGRpcnMgaWYgbmVjZXNzYXJ5Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAg
b3MubWFrZWRpcnMob3MucGF0aC5kaXJuYW1lKHNlbGYubWFuaWZlc3RfZ2VuZXJhdGVkX3BhdGgp
KQotICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICBpZiBl
LmVycm5vICE9IGVycm5vLkVFWElTVDoKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgZQotICAg
ICAgICAgICAgaWYgbm90IGV4cGFuZF9tYW5pZmVzdChzZWxmLm1hbmlmZXN0X3BhdGgsIHNlbGYu
bWFuaWZlc3RfZ2VuZXJhdGVkX3BhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNlbGYubmFtZSwgc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCBzZWxmLmNvbW1hbmQpOgot
ICAgICAgICAgICAgICAgIHJldHVybiAxCi0KLSAgICAgICAgICAgIGJ1aWxkZXJfYXJncyA9IFsi
ZmxhdHBhay1idWlsZGVyIiwgIi0tZGlzYWJsZS1yb2ZpbGVzLWZ1c2UiLCAiLS1zdGF0ZS1kaXIi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuY2FjaGVfcGF0aCwgIi0tY2NhY2hl
Iiwgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsICItLWZvcmNlLWNsZWFuIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzZWxmLm1hbmlmZXN0X2dlbmVyYXRlZF9wYXRoXQotICAgICAgICAg
ICAgYnVpbGRlcl9hcmdzLmFwcGVuZCgiLS1idWlsZC1vbmx5IikKLSAgICAgICAgICAgIGJ1aWxk
ZXJfYXJncy5hcHBlbmQoIi0tc3RvcC1hdD0lcyIgJSBzZWxmLmFwcCkKLQotICAgICAgICAgICAg
c3VicHJvY2Vzcy5jaGVja19jYWxsKGJ1aWxkZXJfYXJncykKLSAgICAgICAgICAgIHNlbGYuc2V0
dXBfY2NhY2hlKCkKICAgICAgICAgICAgIHNlbGYuc2V0dXBfaWNlY2MoKQogICAgICAgICAgICAg
c2VsZi5zYXZlX2NvbmZpZygpCiAKICAgICAgICAgYnVpbGRfdHlwZSA9ICItLWRlYnVnIiBpZiBz
ZWxmLmRlYnVnIGVsc2UgIi0tcmVsZWFzZSIKKyAgICAgICAgaWYgc2VsZi5idWlsZF9nc3Q6Cisg
ICAgICAgICAgICBzZWxmLnNldHVwX2dzdGJ1aWxkKFRydWUpCisKICAgICAgICAgaWYgc2VsZi5i
dWlsZF93ZWJraXQ6Ci0gICAgICAgICAgICBidWlsZGVyID0gW29zLnBhdGguam9pbihzZWxmLnNh
bmRib3hfc291cmNlX3Jvb3QsICdUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdCcpLAorICAgICAg
ICAgICAgYnVpbGRlciA9IFsKKyAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oc2VsZi5zYW5k
Ym94X3NvdXJjZV9yb290LCAnVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQnKSwKICAgICAgICAg
ICAgICAgICBidWlsZF90eXBlLCAnLS0nICsgc2VsZi5wbGF0Zm9ybS5sb3dlcigpXQogICAgICAg
ICAgICAgaWYgc2VsZi5tYWtlYXJnczoKICAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgi
LS1tYWtlYXJncz0lcyIgJSBzZWxmLm1ha2VhcmdzKQpAQCAtOTAzLDIzICs4MDIsMjIgQEAgY2xh
c3MgV2Via2l0RmxhdHBhazoKIAogICAgICAgICAgICAgaWYgcmVzOgogICAgICAgICAgICAgICAg
IHJldHVybiByZXMKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgi
VXNpbmcgJXMgcHJlZml4IGluICVzIiwgc2VsZi5uYW1lLCBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0
aCkKIAogICAgICAgICBpZiBzZWxmLnJ1bl90ZXN0cyBpcyBub3QgTm9uZToKICAgICAgICAgICAg
IHRlc3RfbGF1bmNoZXIgPSBbb3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwg
J1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cycpLAotICAgICAgICAgICAgICAgIGJ1aWxk
X3R5cGUsICctLScgKyBzZWxmLnBsYXRmb3JtLmxvd2VyKCldICsgc2VsZi5ydW5fdGVzdHMKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRfdHlwZSwgJy0tJyArIHNlbGYucGxhdGZv
cm0ubG93ZXIoKV0gKyBzZWxmLnJ1bl90ZXN0cwogICAgICAgICAgICAgcmV0dXJuIHNlbGYucnVu
X2luX3NhbmRib3goKnRlc3RfbGF1bmNoZXIpCi0gICAgICAgIGVsaWYgc2VsZi5nZGIgaXMgbm90
IE5vbmU6CisgICAgICAgIGVsaWYgc2VsZi5nZGIgb3Igc2VsZi5nZGJfc3RhY2tfdHJhY2U6CiAg
ICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5fZ2RiKCkKICAgICAgICAgZWxpZiBzZWxmLnVzZXJf
Y29tbWFuZDoKICAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1bl9pbl9zYW5kYm94KCpzZWxmLnVz
ZXJfY29tbWFuZCkKLSAgICAgICAgZWxpZiBub3Qgc2VsZi51cGRhdGUgYW5kIG5vdCBzZWxmLmJ1
aWxkX3dlYmtpdDoKKyAgICAgICAgZWxpZiBub3Qgc2VsZi51cGRhdGUgYW5kIG5vdCBzZWxmLmJ1
aWxkX3dlYmtpdCBhbmQgbm90IHNlbGYuYnVpbGRfZ3N0OgogICAgICAgICAgICAgcmV0dXJuIHNl
bGYucnVuX2luX3NhbmRib3goKQogCiAgICAgICAgIHJldHVybiAwCiAKICAgICBkZWYgaW5zdGFs
bF9hbGwoc2VsZik6CisgICAgICAgIENvbnNvbGUubWVzc2FnZSgiSW5zdGFsbGluZyAlcyBkZXBl
bmRlbmNpZXMgaW4gJXMiLCBzZWxmLmJ1aWxkX3R5cGUsIHNlbGYuZmxhdHBha19idWlsZF9wYXRo
KQogICAgICAgICBmb3IgcGFja2FnZSBpbiBzZWxmLnBhY2tzOgogICAgICAgICAgICAgaWYgbm90
IHBhY2thZ2UuaXNfaW5zdGFsbGVkKHNlbGYuc2RrX2JyYW5jaCk6CiAgICAgICAgICAgICAgICAg
cGFja2FnZS5pbnN0YWxsKCkKQEAgLTkzNSwxOSArODMzLDMwIEBAIGNsYXNzIFdlYmtpdEZsYXRw
YWs6CiAgICAgICAgICMgV2UgbmVlZCBhY2Nlc3MgdG8gdGhlIGhvc3QgZnJvbSB0aGUgc2FuZGJv
eCB0byBydW4uCiAgICAgICAgIHdpdGggdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKCkgYXMg
Y29yZWR1bXA6CiAgICAgICAgICAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZSgp
IGFzIHN0ZGVycjoKLSAgICAgICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoWyJjb3Jl
ZHVtcGN0bCIsICJkdW1wIl0gKyBzaGxleC5zcGxpdChzZWxmLmNvcmVkdW1wY3RsX21hdGNoZXMp
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9Y29yZWR1bXAs
IHN0ZGVycj1zdGRlcnIpCisgICAgICAgICAgICAgICAgaWYgc2VsZi5nZGJfc3RhY2tfdHJhY2U6
CisgICAgICAgICAgICAgICAgICAgIGNtZCA9IFsiY29yZWR1bXBjdGwiLCAiLS1zaW5jZT0lcyIg
JSBzZWxmLmdkYl9zdGFja190cmFjZSwgImR1bXAiXQorICAgICAgICAgICAgICAgIGVsc2U6Cisg
ICAgICAgICAgICAgICAgICAgIGNtZCA9IFsiY29yZWR1bXBjdGwiLCAiZHVtcCJdICsgc2hsZXgu
c3BsaXQoc2VsZi5jb3JlZHVtcGN0bF9tYXRjaGVzKQorICAgICAgICAgICAgICAgIHRyeToKKyAg
ICAgICAgICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGNtZCwgc3Rkb3V0PWNvcmVk
dW1wLCBzdGRlcnI9c3RkZXJyKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNh
bGxlZFByb2Nlc3NFcnJvciBhcyBlcnI6CisgICAgICAgICAgICAgICAgICAgIHdpdGggb3Blbihz
dGRlcnIubmFtZSwgJ3InKSBhcyBzdGRlcnJmOgorICAgICAgICAgICAgICAgICAgICAgICAgc3Rk
ZXJyID0gc3RkZXJyZi5yZWFkKCkKKyAgICAgICAgICAgICAgICAgICAgY21kID0gJyAnLmpvaW4o
ZXJyLmNtZCkKKyAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiJyVzJyByZXR1
cm5lZCBhIG5vbi16ZXJvIGV4aXQgY29kZS4gU3RkZXJyOiAlcyIgJSAoY21kLCBzdGRlcnIpKQor
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXJyLnJldHVybmNvZGUKIAogICAgICAgICAgICAg
ICAgIHdpdGggb3BlbihzdGRlcnIubmFtZSwgJ3InKSBhcyBzdGRlcnJmOgogICAgICAgICAgICAg
ICAgICAgICBzdGRlcnIgPSBzdGRlcnJmLnJlYWQoKQorCiAgICAgICAgICAgICAgICAgZXhlY3V0
YWJsZSwgPSByZS5maW5kYWxsKCIuKkV4ZWN1dGFibGU6ICguKikiLCBzdGRlcnIpCi0gICAgICAg
ICAgICAgICAgaWYgbm90IGV4ZWN1dGFibGUuc3RhcnRzd2l0aCgiL25ld3Jvb3QiKToKLSAgICAg
ICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiRXhlY3V0YWJsZSAlcyBkb2Vzbid0IHNl
ZW0gdG8gYmUgYSBmbGF0cGFrZWQgYXBwbGljYXRpb24uXG4iICUgZXhlY3V0YWJsZSkKIAotICAg
ICAgICAgICAgICAgIGV4ZWN1dGFibGUgPSBleGVjdXRhYmxlLnJlcGxhY2UoIi9uZXdyb290Iiwg
IiIpCi0gICAgICAgICAgICAgICAgYXJncyA9IFsiZ2RiIiwgZXhlY3V0YWJsZSwgIi9ydW4vaG9z
dC8lcyIgJSBjb3JlZHVtcC5uYW1lXSArIHNobGV4LnNwbGl0KHNlbGYuZ2RiKQorICAgICAgICAg
ICAgICAgIGlmIHNlbGYuZ2RiOgorICAgICAgICAgICAgICAgICAgICBiYXJncyA9IFsiZ2RiIiwg
ZXhlY3V0YWJsZSwgIi9ydW4vaG9zdC8lcyIgJSBjb3JlZHVtcC5uYW1lXSArIHNobGV4LnNwbGl0
KHNlbGYuZ2RiKQorICAgICAgICAgICAgICAgIGVsaWYgc2VsZi5nZGJfc3RhY2tfdHJhY2U6Cisg
ICAgICAgICAgICAgICAgICAgIGJhcmdzID0gWyJnZGIiLCAnLWV4JywgInRocmVhZCBhcHBseSBh
bGwgYmFja3RyYWNlIiwgJy0tYmF0Y2gnLCBleGVjdXRhYmxlLCAiL3J1bi9ob3N0LyVzIiAlIGNv
cmVkdW1wLm5hbWVdCiAKLSAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5faW5fc2FuZGJv
eCgqYXJncykKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5faW5fc2FuZGJveCgqYmFy
Z3MpCiAKICAgICBkZWYgdXBkYXRlX2FsbChzZWxmKToKICAgICAgICAgZm9yIG0gaW4gW3NlbGYu
cnVudGltZSwgc2VsZi5zZGssIHNlbGYuc2RrX2RlYnVnXToKZGlmZiAtLWdpdCBhL1Rvb2xzL2Zs
YXRwYWsvb3JnLndlYmtpdC5Db21tb25Nb2R1bGVzLnlhbWwgYi9Ub29scy9mbGF0cGFrL29yZy53
ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBl
MWEwN2NmODZmODNiNjg4MzNhNTcyODRlNDcyM2Y1MjJiNzNjNDBiLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5D
b21tb25Nb2R1bGVzLnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMzEgKzAsMCBAQAotIyBodHRw
IGFuZCBkZXBlbmRlbmNpZXMuCi0tIG5hbWU6IGFwcgotICBzb3VyY2VzOgotICAgIC0gdHlwZTog
YXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL3d3dy5hcGFjaGUub3JnL2Rpc3QvYXByL2Fwci0x
LjYuNS50YXIuYnoyCi0gICAgICBzaGEyNTY6IGE2N2NhOWZjZjljNGZmNTliY2U3ZjQyOGEzMjNj
OGI1ZTE4NjY3ZmRlYTdiMGViYWQ0N2QxOTQzNzFiMGExMDUKLS0gbmFtZTogYXByLXV0aWwKLSAg
c291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly93d3cuYXBh
Y2hlLm9yZy9kaXN0L2Fwci9hcHItdXRpbC0xLjYuMS50YXIuYnoyCi0gICAgICBzaGE1MTI6ICI0
MGVmZjhhMzdjMDYzNGY3ZmRkZGQ2Y2E1ZTU5NmIzOGRlMTVmZDEwNzY3YTM0YzMwYmJlNDljNjMy
ODE2ZThmM2UxZTIzMDY3ODAzNGY1NzhkZDU4MTZhOTRmMjQ2ZmI1ZGZkZjQ4ZDY0NDgyOWFmMTNi
ZjI4ZGUzMjI1MjA1ZCIKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLXdpdGgtYXByPS9hcHAvYmlu
L2Fwci0xLWNvbmZpZwotLSBuYW1lOiBodHRwZAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0
Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9hcGFjaGUvaHR0cGQuZ2l0Ci0gICAgICBi
cmFuY2g6IDIuNC4zNwotICAgIC0gdHlwZSA6IGZpbGUKLSAgICAgIHBhdGggOiBmaWxlcy9odHRw
ZC1hdXRvZ2VuLnNoCi0gICAgICBkZXN0LWZpbGVuYW1lIDogYXV0b2dlbi5zaAotICAgICMgVGhl
IHZlcnNpb24gZW1iZWRkZWQgaW4gdGhlIHNhbmRib3ggZG9lc24ndCBoYXZlIGEgd29ya2luZyBw
Y3JlLWNvbmZpZwotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IHBhdGNoZXMvaHR0cGQt
MDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoCi0g
IGNvbmZpZy1vcHRzOgotICAgIC0gLS1lbmFibGUtbXBtcy1zaGFyZWQ9YWxsCi0gICAgLSAtLWVu
YWJsZS1tb2R1bGVzPWFsbAotICAgIC0gLS13aXRoLWFwcj0vYXBwL2Jpbi9hcHItMS1jb25maWcK
LSAgICAtIC0td2l0aC1hcHItdXRpbD0vYXBwL2Jpbi9hcHUtMS1jb25maWcKLSAgICAtIC0td2l0
aC1wY3JlPS9hcHAKLSAgICAtIC0tZW5hYmxlLWF1dGhuei1mY2dpCi0gICAgLSAtLWVuYWJsZS1j
Z2kKLSAgICAtIC0tZW5hYmxlLWNnaWQKLS0gbmFtZTogcGhwCi0gIHNvdXJjZXM6Ci0gICAgLSB0
eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHBzOi8vcGhwLm5ldC9kaXN0cmlidXRpb25zL3Bo
cC03LjIuNi50YXIueHoKLSAgICAgIHNoYTUxMjogZGE4NmIxZmYyZGYzYjllMmQ0NmU1OWE4MDI5
NmI5NDBkODExMzI5NzViNjIxYmRlYzk2MDJmOGI0YzhkOTFhM2ZkY2Q0ZmZkN2NiOTgyZDYzZDNl
Yzk3NGIzYTEyYTc4NTRlNDJhNzNiN2YyY2M4ZWVmYWRlMTQzMzVhYTdjNzEKLSAgY29uZmlnLW9w
dHM6Ci0gICAgLSAtLWRpc2FibGUteG1sCi0gICAgLSAtLWRpc2FibGUtZG9tCi0gICAgLSAtLWRp
c2FibGUtbGlieG1sCi0gICAgLSAtLWRpc2FibGUtc2ltcGxleG1sCi0gICAgLSAtLWRpc2FibGUt
eG1scmVhZGVyCi0gICAgLSAtLWRpc2FibGUteG1sd3JpdGVyCi0gICAgLSAtLXdpdGhvdXQtcGVh
cgotICAgIC0gLS13aXRoLWFweHMyCi0gICAgLSAtLXdpdGgtemxpYgotICAgIC0gLS13aXRoLWxp
YnppcAotICAgIC0gLS1lbmFibGUtc29ja2V0cz1zaGFyZWQKLS0gbmFtZTogbGliZXZlbnQKLSAg
c291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20v
bGliZXZlbnQvbGliZXZlbnQuZ2l0Ci0gICAgICBicmFuY2g6IGU3ZmY0ZWYgIyAyLjEuOAotICBj
b25maWctb3B0czoKLSAgICAtIC0tZGlzYWJsZS1saWJldmVudC1yZWdyZXNzCi0KLSMgUmVxdWly
ZW1lbnQgZm9yIGZsYXRwa3V0aWxzCi0tIG5hbWU6IHB5dGhvbjMtcHlhbWwKLSAgYnVpbGRzeXN0
ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgLSBwaXAzIGluc3RhbGwgLS1uby1pbmRl
eCAtLWZpbmQtbGlua3M9ImZpbGU6Ly8ke1BXRH0iIC0tcHJlZml4PSR7RkxBVFBBS19ERVNUfSBw
eWFtbAotICBzb3VyY2VzOgotICAtIHR5cGU6IGZpbGUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMu
cHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy80YS84NS9kYjVhMmRmNDc3MDcyYjI5MDJiMGViODky
ZmViMzdkODhhYzYzNWQzNjI0NWE3MmE2YTY5YjIzYjM4M2EvUHlZQU1MLTMuMTIudGFyLmd6Ci0g
ICAgc2hhMjU2OiA1OTI3NjZjNjMwMzIwN2EyMGVmYzQ0NTU4Nzc3ODMyMmQ3ZjczYjE2MWJkOTk0
ZjIyN2FkYWEzNDFiYTIxMmFiCi0gIC0gdHlwZTogZmlsZQotICAgIHVybDogaHR0cHM6Ly9maWxl
cy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzllLzE3LzFkNGVkNmUxYTRjMDkxOGEwMzU3ZGZh
MmZkYmUyNmJmNjNmNmU2MTYwMTNjMDRhMTRiY2U5ZmQzM2U0MC9weWFtbC0xNy4xMi4xLnRhci5n
egotICAgIHNoYTI1NjogNjY2MjNjNTJmMzRkODNhMmMwZmM5NjNlMDhlOGI5ZDBjMTNkODg0MDRl
M2I0M2IxODUyZWY3MWVkYTE5YWZhMwotCi0tIG5hbWU6IHB5dGhvbjItcHlhbWwKLSAgYnVpbGRz
eXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgLSBwaXAyIGluc3RhbGwgLS1uby1p
bmRleCAtLWZpbmQtbGlua3M9ImZpbGU6Ly8ke1BXRH0iIC0tdGFyZ2V0PS9hcHAvbGliL3B5dGhv
bjIuNy9zaXRlLXBhY2thZ2VzLyBweWFtbAotICBzb3VyY2VzOgotICAtIHR5cGU6IGZpbGUKLSAg
ICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy80YS84NS9kYjVh
MmRmNDc3MDcyYjI5MDJiMGViODkyZmViMzdkODhhYzYzNWQzNjI0NWE3MmE2YTY5YjIzYjM4M2Ev
UHlZQU1MLTMuMTIudGFyLmd6Ci0gICAgc2hhMjU2OiA1OTI3NjZjNjMwMzIwN2EyMGVmYzQ0NTU4
Nzc3ODMyMmQ3ZjczYjE2MWJkOTk0ZjIyN2FkYWEzNDFiYTIxMmFiCi0gIC0gdHlwZTogZmlsZQot
ICAgIHVybDogaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzllLzE3LzFk
NGVkNmUxYTRjMDkxOGEwMzU3ZGZhMmZkYmUyNmJmNjNmNmU2MTYwMTNjMDRhMTRiY2U5ZmQzM2U0
MC9weWFtbC0xNy4xMi4xLnRhci5negotICAgIHNoYTI1NjogNjY2MjNjNTJmMzRkODNhMmMwZmM5
NjNlMDhlOGI5ZDBjMTNkODg0MDRlM2I0M2IxODUyZWY3MWVkYTE5YWZhMwotCi0tIG5hbWU6IHB5
dGhvbjItc3VicHJvY2VzczMyCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFu
ZHM6Ci0gIC0gcGlwMiBpbnN0YWxsIC0tdGFyZ2V0PS9hcHAvbGliL3B5dGhvbjIuNy9zaXRlLXBh
Y2thZ2VzLyAuCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogYXJjaGl2ZQotICAgIHVybDogaHR0cHM6
Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzL2JlLzJiL2JlZWJhNTgzZTk4NzdlNjRk
YjEwYjUyYTk2OTE1YWZjMGZlYWJmNzE0NGRjYmYyYTBkMGVhNjhiZjczZC9zdWJwcm9jZXNzMzIt
My41LjMudGFyLmd6Ci0gICAgc2hhMjU2OiA2YmM4Mjk5MjMxNmVlZjNjY2ZmMzE5YjUwMzM4MDk4
MDFjMGMzMzcyNzA5YzVmNjk4NTI5OWM4OGFjNzIyNWMzCi0KLSMgR1N0cmVhbWVyIG1vZHVsZXMK
LS0gbmFtZTogbGlidnB4Ci0gIG5vLWF1dG9nZW46IHRydWUKLSAgc291cmNlczoKLSAgICAtIHR5
cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vd2Vi
bS9saWJ2cHgKLSAgICAgIGJyYW5jaDogdjEuNy4wCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1l
bmFibGUtcGljCi0gICAgLSAtLWFzPW5hc20KLSAgICAtIC0tZGlzYWJsZS11bml0LXRlc3RzCi0g
ICAgLSAtLXNpemUtbGltaXQ9MTYzODR4MTYzODQKLSAgICAtIC0tZW5hYmxlLXBvc3Rwcm9jCi0g
ICAgLSAtLWVuYWJsZS1tdWx0aS1yZXMtZW5jb2RpbmcKLSAgICAtIC0tZW5hYmxlLXRlbXBvcmFs
LWRlbm9pc2luZwotICAgIC0gLS1lbmFibGUtdnA5LXRlbXBvcmFsLWRlbm9pc2luZwotICAgIC0g
LS1lbmFibGUtdnA5LXBvc3Rwcm9jCi0gICAgLSAtLWVuYWJsZS1zaGFyZWQKLS0gbmFtZTogYW9t
Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9hb21lZGlh
Lmdvb2dsZXNvdXJjZS5jb20vYW9tCi0gICAgICBicmFuY2g6IGNkYjA4M2U4NGE3MWQ2ZDMxMTYz
YTRmNjRmMThkYzEzMjhmZDc4MmMKLSAgYnVpbGRzeXN0ZW06IGNtYWtlLW5pbmphCi0gIGJ1aWxk
ZGlyOiB0cnVlCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURCVUlMRF9TSEFSRURfTElCUz0xCi0t
IG5hbWU6IGxpYnVud2luZAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6
IGh0dHBzOi8vZ2l0aHViLmNvbS9saWJ1bndpbmQvbGlidW53aW5kLmdpdAotICAgICAgY29tbWl0
OiB2MS4yLjEKLS0gbmFtZTogbGlib3BlbmgyNjQKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIHNv
dXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2Np
c2NvL29wZW5oMjY0LmdpdAotICAgICAgYnJhbmNoOiBhMWIzZjA3YzUyNzFmMzEyOTk3ZmNjMzQ1
MTIzNzAzMTQ0NGM0NDc1ICMgMS44LjAgKyBmaXggZm9yIGdjYyA4Ci0tIG5hbWU6IGdzdHJlYW1l
cgotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAg
ICAgdXJsOiBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdHJlYW1l
ci5naXQKLSAgICAgIGJyYW5jaDogMS4xNi4xCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtf
ZG9jPWRpc2FibGVkCi0gICAgLSAtRGludHJvc3BlY3Rpb249ZGlzYWJsZWQKLSAgICAtIC1EZXhh
bXBsZXM9ZGlzYWJsZWQKLSAgICAtIC1EdGVzdHM9ZGlzYWJsZWQKLS0gbmFtZTogZ3N0LXBsdWdp
bnMtYmFzZQotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdp
dAotICAgICAgdXJsOiBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dz
dC1wbHVnaW5zLWJhc2UuZ2l0Ci0gICAgICBicmFuY2g6IDEuMTYuMQotICAgIC0gdHlwZTogcGF0
Y2gKLSAgICAgIHBhdGg6IC4uL2dzdHJlYW1lci9wYXRjaGVzL2Jhc2UtMDAwMS1wbGF5YmluLUhh
bmRsZS1lcnJvci1tZXNzYWdlLXdpdGgtcmVkaXJlY3Rpb24taW5kaWNhLnBhdGNoCi0gICAgLSB0
eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3N0cmVhbWVyL3BhdGNoZXMvYmFzZS0wMDAxLWds
dXBsb2FkLUFkZC1WaWRlb01ldGFzLWFuZC1HTFN5bmNNZXRhLXRvLXRoZS1yYXctdXAucGF0Y2gK
LSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlzYWJsZWQKLSAgICAtIC1EaW50cm9z
cGVjdGlvbj1kaXNhYmxlZAotICAgIC0gLURleGFtcGxlcz1kaXNhYmxlZAotICAgIC0gLUR0ZXN0
cz1kaXNhYmxlZAotLSBuYW1lOiBnc3QtcGx1Z2lucy1nb29kCi0gIGJ1aWxkc3lzdGVtOiBtZXNv
bgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0bGFi
LmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtZ29vZC5naXQKLSAgICAgIGJy
YW5jaDogMS4xNi4xCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3N0cmVhbWVy
L3BhdGNoZXMvZ29vZC0wMDAxLXF0ZGVtdXgtU3BlY2lmeS1SRURJUkVDVC1pbmZvcm1hdGlvbi1p
bi1lcnJvci1tZXNzYWcucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlz
YWJsZWQKLSAgICAtIC1EaW50cm9zcGVjdGlvbj1kaXNhYmxlZAotICAgIC0gLURleGFtcGxlcz1k
aXNhYmxlZAotICAgIC0gLURndGszPWRpc2FibGVkCi0tIG5hbWU6IHgyNjQKLSAgY29uZmlnLW9w
dHM6Ci0gICAgLSAiLS1lbmFibGUtc2hhcmVkIgotICAgIC0gIi0tZW5hYmxlLXN0YXRpYyIKLSAg
ICAtICItLWVuYWJsZS1waWMiCi0gICAgLSAiLS1kaXNhYmxlLWxhdmYiCi0gICAgLSAiLS1kaXNh
YmxlLWFzbSIKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0
cDovL2Rvd25sb2FkLnZpZGVvbGFuLm9yZy9wdWIveDI2NC9zbmFwc2hvdHMveDI2NC1zbmFwc2hv
dC0yMDE0MDIxMi0yMjQ1LXN0YWJsZS50YXIuYnoyCi0gICAgICBzaGEyNTY6IDVkOThlOWU0ZmFm
NmRkNTVlNzE5M2VkMzc5YWZmNDc3YjhhY2JkYTY3Nzc3NTg5NTZlZjdlNWYwNTA2N2JlMTgKLS0g
bmFtZTogZ3N0LXBsdWdpbnMtdWdseQotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoK
LSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Au
b3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtdWdseQotICAgICAgYnJhbmNoOiAxLjE2LjAK
LSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlzYWJsZWQKLS0gbmFtZTogZ3N0LXBs
dWdpbnMtYmFkCi0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0gdHlwZTog
Z2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIv
Z3N0LXBsdWdpbnMtYmFkLmdpdAotICAgICAgYnJhbmNoOiAxLjE2LjEKLSAgICAtIHR5cGU6IHBh
dGNoCi0gICAgICBwYXRoOiAuLi9nc3RyZWFtZXIvcGF0Y2hlcy9nc3QtcGx1Z2lucy1iYWQtMDAw
MS1oMjY0cGFyc2UtUG9zdC1hLVdBUk5JTkctd2hlbi1kYXRhLWlzLWJyb2tlbi5wYXRjaAotICBj
b25maWctb3B0czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotICAgIC0gLURpbnRyb3NwZWN0
aW9uPWRpc2FibGVkCi0gICAgLSAtRGV4YW1wbGVzPWRpc2FibGVkCi0tIG5hbWU6IGZmbXBlZwot
ICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL2ZmbXBl
Zy5vcmcvcmVsZWFzZXMvZmZtcGVnLTQuMC40LnRhci5negotICAgICAgc2hhMjU2OiA4MGJiNjg1
YWJmY2RkYTdjOWI2YzljNWNhZjFkOGRiYjkyNzg1ODA1MGQ3Mzc3YzJiOGYzNDg4YzdlOGE5Yjdm
Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1lbmFibGUtc3RhdGljCi0gICAgLSAtLWVuYWJsZS1w
aWMKLSAgICAtIC0tZGlzYWJsZS1hdmRldmljZQotICAgIC0gLS1kaXNhYmxlLXBvc3Rwcm9jCi0g
ICAgLSAtLWRpc2FibGUtc3dzY2FsZQotICAgIC0gLS1kaXNhYmxlLXByb2dyYW1zCi0gICAgLSAt
LWRpc2FibGUtZmZwbGF5Ci0gICAgLSAtLWRpc2FibGUtZmZwcm9iZQotICAgIC0gLS1kaXNhYmxl
LWZmbXBlZwotICAgIC0gLS1kaXNhYmxlLWVuY29kZXI9ZmxhYwotICAgIC0gLS1kaXNhYmxlLXBy
b3RvY29scwotICAgIC0gLS1kaXNhYmxlLWRldmljZXMKLSAgICAtIC0tZGlzYWJsZS1uZXR3b3Jr
Ci0gICAgLSAtLWRpc2FibGUtaHdhY2NlbHMKLSAgICAtIC0tZGlzYWJsZS1keHZhMgotICAgIC0g
LS1kaXNhYmxlLXZkcGF1Ci0gICAgLSAtLWRpc2FibGUtZmlsdGVycwotICAgIC0gLS1lbmFibGUt
ZmlsdGVyPXlhZGlmCi0gICAgLSAtLWRpc2FibGUtZG9jCi0gICAgLSAtLWRpc2FibGUtZDNkMTF2
YQotICAgIC0gLS1kaXNhYmxlLWR4dmEyCi0gICAgLSAtLWRpc2FibGUtYXVkaW90b29sYm94Ci0g
ICAgLSAtLWRpc2FibGUtdmlkZW90b29sYm94Ci0gICAgLSAtLWRpc2FibGUtdmFhcGkKLSAgICAt
IC0tZGlzYWJsZS1jcnlzdGFsaGQKLSAgICAtIC0tZGlzYWJsZS1tZWRpYWNvZGVjCi0gICAgLSAt
LWRpc2FibGUtbnZlbmMKLSAgICAtIC0tZGlzYWJsZS1tbWFsCi0gICAgLSAtLWRpc2FibGUtb214
Ci0gICAgLSAtLWRpc2FibGUtb214LXJwaQotICAgIC0gLS1kaXNhYmxlLWN1ZGEKLSAgICAtIC0t
ZGlzYWJsZS1jdXZpZAotICAgIC0gLS1kaXNhYmxlLWxpYm1meAotICAgIC0gLS1kaXNhYmxlLWxp
Ym5wcAotICAgIC0gLS1kaXNhYmxlLWljb252Ci0gICAgLSAtLWRpc2FibGUtam5pCi0gICAgLSAt
LWRpc2FibGUtdjRsMl9tMm0KLSAgICAtIC0tZW5hYmxlLW9wdGltaXphdGlvbnMKLS0gbmFtZTog
Z3N0LWxpYmF2Ci0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBidWlsZGRpcjogdHJ1ZQotICBzb3Vy
Y2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL2dzdHJlYW1lci5m
cmVlZGVza3RvcC5vcmcvc3JjL2dzdC1saWJhdi9nc3QtbGliYXYtMS4xNi4xLnRhci54egotICAg
ICAgc2hhMjU2OiBlOGE1NzQ4YWU5YTRhN2JlOTY5NjUxMjE4MmVhOWZmYTZlZmUwYmU5Yjc5NzY5
MTY1NDhlOWQ0MzgxY2E2MWM0Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9jPWRpc2Fi
bGVkCi0KLS0gbmFtZTogbGliZ2NyeXB0ICMgU3BlZWR1cCBsaWJnY3J5cHQKLSAgc291cmNlczoK
LSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Rldi5nbnVwZy5vcmcvc291cmNl
L2xpYmdjcnlwdC5naXQKLSAgICAgIGJyYW5jaDogbGliZ2NyeXB0LTEuOC40Ci0gICAgLSB0eXBl
OiBwYXRjaAotICAgICAgcGF0aDogcGF0Y2hlcy9saWJnY3J5cHQtMDAwMS1Vc2UtcGtnLWNvbmZp
Zy10by1kZXRlY3QtZ3BnLWVycm9yLnBhdGNoCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0
aDogLi4vZ3RrL3BhdGNoZXMvbGliZ2NyeXB0LXVzZS1vbmx5LWRldi11cmFuZG9tLWZvci10ZXN0
aW5nLnBhdGNoCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1kaXNhYmxlLWRvYwotCi0tIG5hbWU6
IHBlcmwtY2dpLXBtCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0g
ICAgLSBwZXJsIE1ha2VmaWxlLlBMIFBSRUZJWD0vYXBwIExJQj0vYXBwL2xpYi9wZXJsLwotICAg
IC0gbWFrZSBpbnN0YWxsCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1
cmw6IGh0dHBzOi8vY3Bhbi5tZXRhY3Bhbi5vcmcvYXV0aG9ycy9pZC9ML0xFL0xFRUpPL0NHSS00
LjM4LnRhci5negotICAgICAgc2hhMjU2OiA4YzU4ZjRhNTI5YmI5MmE5MTRiMjJiN2U2NGM1ZTMx
MTg1Yzk4NTRhNDA3MGE2ZGZhZDQ0ZmU1Y2MyNDhlN2Q0Ci0KLS0gbmFtZTogcHl0aG9uMi12aXJ0
dWFsZW52Ci0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gIC0gcGlw
MiBpbnN0YWxsIC0tbm8taW5kZXggLS1maW5kLWxpbmtzPSJmaWxlOi8vJHtQV0R9IiAtLXRhcmdl
dD0vYXBwL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy8gdmlydHVhbGVudgotICAtIGxuIC1z
IC9hcHAvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3ZpcnR1YWxlbnYucHkgL2FwcC9iaW4v
dmlydHVhbGVudgotICAtIGNobW9kICt4IC9hcHAvYmluL3ZpcnR1YWxlbnYKLSAgc291cmNlczoK
LSAgLSB0eXBlOiBmaWxlCi0gICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcv
cGFja2FnZXMvMzMvYmMvZmEwYjUzNDcxMzljZDk1NjRmMGQ0NGViZDJiMTQ3YWM5N2MzNmIyNDAz
OTQzZGJlZThhMjVmZDc0MDEyL3ZpcnR1YWxlbnYtMTYuMC4wLnRhci5negotICAgIHNoYTI1Njog
Y2EwN2I0YzBiNTRlMTRhOTFhZjlmMzRkMDkxOTc5MGIwMTY5MjNkMTU3YWZkYTVlZmRkZTU1Yzk2
NzE4Zjc1MgotCi0tIG5hbWU6IGxpYmNhcC1uZwotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0
Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdGV2ZWdydWJiL2xpYmNhcC1uZwotICAg
ICAgYnJhbmNoOiB2MC43LjkKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLXdpdGgtcHl0aG9uPW5v
Ci0gICAgLSAtLXdpdGgtcHl0aG9uMz1ubwotCi0tIG5hbWU6IGx6bzIKLSAgc291cmNlczoKLSAg
ICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cDovL3d3dy5vYmVyaHVtZXIuY29tL29w
ZW5zb3VyY2UvbHpvL2Rvd25sb2FkL2x6by0yLjEwLnRhci5negotICAgICAgc2hhMTogNDkyNDY3
NmE5YmFlNWRiNThlZjEyOWRjMWNlYmNlM2JhYTNjNGI1ZAotCi0tIG5hbWU6IGljZWNjCi0gIHNv
dXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2lj
ZWNjL2ljZWNyZWFtCi0gICAgICB0YWc6ICIxLjIiCi0gICAgICBjb21taXQ6IGUzZDEwYTMyYmM2
YzA0NmQ4ZjNkMTE4MmU3NWM2NTlkNGIyOGVkNDkKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLXdp
dGhvdXQtbWFuCi0KLS0gbmFtZTogYnJvdGxpCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogYXJjaGl2
ZQotICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9icm90bGkvYXJjaGl2ZS92MS4w
LjUudGFyLmd6Ci0gICAgc2hhMjU2OiAzZDViZWRkNDhlZGI5MDlmZTNiODdjYjk5ZjdkMTM5Yjk4
N2VmNmYxNjE2YjdlMjJkNzRlOTI4MjcwYTJmZDIwCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1uaW5q
YQotCi0tIG5hbWU6IHdvZmYyCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogYXJjaGl2ZQotICAgIHVy
bDogaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS93b2ZmMi9hcmNoaXZlL3YxLjAuMi50YXIuZ3oK
LSAgICBzaGEyNTY6IGFkZDI3MmJiMDllNjM4NGE0ODMzZmZjYTQ4OTYzNTBmZGIxNmUwY2EyMmRm
NjhjMDM4NDc3M2M2N2ExNzU1OTQKLSAgYnVpbGRzeXN0ZW06IGNtYWtlLW5pbmphCi0KLS0gbmFt
ZTogb3BlbmpwZWcKLSAgc291cmNlczoKLSAgLSB0eXBlOiBhcmNoaXZlCi0gICAgdXJsOiBodHRw
Oi8vZ2l0aHViLmNvbS91Y2xvdXZhaW4vb3BlbmpwZWcvYXJjaGl2ZS92Mi4zLjAudGFyLmd6Ci0g
ICAgc2hhMjU2OiAzZGM3ODdjMWJiNjAyM2JhODQ2YzJhMGQ5YjFmNmUxNzlmMWNkMjU1MTcyYmRl
OWViNzViMDFmMWU2YzdkNzFhCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1uaW5qYQpkaWZmIC0tZ2l0
IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LkdUSy55YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcu
d2Via2l0LkdUSy55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NjNiNTYwNDQw
ODA0NWVkMDg3YzdjMjY3YTU5MzJiODRlNjMwZDNmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5HVEsueWFtbAor
KysgL2Rldi9udWxsCkBAIC0xLDEyMyArMCwwIEBACi0tIG5hbWU6IG1lc2EKLSAgc291cmNlczoK
LSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly9tZXNhLmZyZWVkZXNrdG9w
Lm9yZy9hcmNoaXZlL21lc2EtMTguMC4zLnRhci54egotICAgICAgc2hhMjU2OiAwOTlkOTY2NzMy
N2E3NmE2MTc0MWE1MzNmOTUwNjdkNzZlYTcxYTY1NmU2NmI5MTUwN2IzYzBjYWYxZDQ5ZTMwCi0g
IGNvbmZpZy1vcHRzOgotICAgIC0gLS1wcmVmaXg9L2FwcC9zb2Z0R0wKLSAgICAtIC0tZGlzYWJs
ZS1kcmkzCi0gICAgLSAtLWVuYWJsZS1kcmkKLSAgICAtIC0tZW5hYmxlLWdseAotICAgIC0gLS1l
bmFibGUtZWdsCi0gICAgLSAtLXdpdGgtZWdsLXBsYXRmb3Jtcz14MTEsd2F5bGFuZAotICAgIC0g
LS13aXRoLWRyaS1kcml2ZXJzPXN3cmFzdAotICAgIC0gLS13aXRoLWdhbGxpdW0tZHJpdmVycz1z
d3Jhc3QKLQotLSBuYW1lOiB3ZWJraXRndGstdGVzdC1mb250cwotICBuby1hdXRvZ2VuOiB0cnVl
Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIu
Y29tL1dlYktpdEdUSy93ZWJraXRndGstdGVzdC1mb250cy5naXQKLSAgYnVpbGRzeXN0ZW06IHNp
bXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgICAjIEZJWE1FOiBNYWtlIEFjdGl2YXRlRm9udFdQ
RSBzbWFydGVyLgotICAgIC0gbWFrZSBpbnN0YWxsIERFU1RESVI9L2FwcC9XZWJLaXRCdWlsZC9E
ZXBlbmRlbmNpZXNHVEsvUm9vdAotCi0tIG5hbWU6IHhvcmctdXRpbC1tYWNyb3MKLSAgc291cmNl
czoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0
b3Aub3JnL2dpdC94b3JnL3V0aWwvbWFjcm9zLmdpdAotICAgICAgYnJhbmNoOiB1dGlsLW1hY3Jv
cy0xLjE5LjIKLQotLSBuYW1lOiB4b3JnLWZvbnQtdXRpbAotICBzb3VyY2VzOgotICAgIC0gdHlw
ZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hv
cmcvZm9udC91dGlsLmdpdAotICAgICAgYnJhbmNoOiBmb250LXV0aWwtMS4zLjEKLQotLSBuYW1l
OiB4a2JmaWxlCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIGJyYW5jaDogbGli
eGtiZmlsZS0xLjAuOQotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Aub3Jn
L2dpdC94b3JnL2xpYi9saWJ4a2JmaWxlLmdpdAotCi0tIG5hbWU6IGZvbnRlbmMKLSAgc291cmNl
czoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgYnJhbmNoOiBsaWJmb250ZW5jLTEuMS4zCi0gICAg
ICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcvbGliL2xpYmZv
bnRlbmMuZ2l0Ci0KLS0gbmFtZTogeGZvbnQKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAot
ICAgICAgYnJhbmNoOiBsaWJYZm9udDItMi4wLjMKLSAgICAgIHVybDogaHR0cHM6Ly9hbm9uZ2l0
LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy9saWIvbGliWGZvbnQuZ2l0Ci0KLS0gbmFtZTogeHZm
YgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vYW5vbmdp
dC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcveHNlcnZlci5naXQKLSAgICAgIGJyYW5jaDogeG9y
Zy1zZXJ2ZXItMS4xOS42Ci0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogcGF0Y2hlcy94
dmZiLTAwMDEtSEFDSy1Bdm9pZC1jb21waWxpbmctYS1rYm0tZmlsZS5wYXRjaAotICAgIC0gdHlw
ZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2d0ay9wYXRjaGVzL3hzZXJ2ZXItcmVtb3ZlLWJvZ3Vz
LWRlcGVuZGVuY2llcy5wYXRjaAotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2d0
ay9wYXRjaGVzL3hzZXJ2ZXItc2VhcmNoLWZvci1EUkktZHJpdmVycy1hdC1MSUJHTF9EUklWRVJT
X1BBVEgtZW52aXJvbi5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC0tZW5hYmxlLXh2ZmIK
LSAgICAtIC0tZGlzYWJsZS14d2F5bGFuZAotICAgIC0gLS1lbmFibGUteHZmYgotICAgIC0gLS1k
aXNhYmxlLXh3YXlsYW5kCi0gICAgLSAtLWRpc2FibGUteGluZXJhbWEKLSAgICAtIC0tZW5hYmxl
LWdseAotICAgIC0gLS1lbmFibGUtY29tcG9zaXRlCi0gICAgLSAtLWRpc2FibGUteG9yZwotICAg
IC0gLS1kaXNhYmxlLWRteAotICAgIC0gLS1kaXNhYmxlLXhuZXN0Ci0gICAgLSAtLWRpc2FibGUt
eHF1YXJ0egotICAgIC0gLS1kaXNhYmxlLXh3aW4KLSAgICAtIC0tZGlzYWJsZS14ZXBoeXIKLSAg
ICAtIC0tZGlzYWJsZS14ZmFrZQotICAgIC0gLS1kaXNhYmxlLXhmYmRldgotICAgIC0gLS1kaXNh
YmxlLWluc3RhbGwtc2V0dWlkCi0gICAgLSAtLWRpc2FibGUtdW5pdC10ZXN0cwotICAgIC0gLS1k
aXNhYmxlLXByZXNlbnQKLSAgICAtIC0tZW5hYmxlLXVuaXgtdHJhbnNwb3J0Ci0gICAgLSAtLWVu
YWJsZS10Y3AtdHJhbnNwb3J0Ci0gICAgLSAtLWRpc2FibGUtbG9jYWwtdHJhbnNwb3J0Ci0gICAg
LSAtLXdpdGhvdXQtZHRyYWNlCi0KLSMgUmVxdWlyZWQgZm9yIHJ1bi1ndGstdGVzdHMKLS0gbmFt
ZTogcHljYWlybwotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAt
IHB5dGhvbjIgc2V0dXAucHkgaW5zdGFsbCAtLXByZWZpeD0vYXBwCi0gIHNvdXJjZXM6Ci0gIC0g
dHlwZTogYXJjaGl2ZQotICAgIHVybDogaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcGFja2FnZXMv
ZWYvOTcvYjMzZGM1MzNlYTYwNzZkNGVhOWNiZDJmZTA0OWEyYjRhM2RmNWM1YjZmYmE5YTE4MjYx
NmY2ZjhkMzEwL3B5Y2Fpcm8tMS4xNS40LnRhci5negotICAgIHNoYTI1NjogZWU0YzMwNjhjMDQ4
MjMwZTVjZTc0YmI4OTk0YTAyNDcxMTEyOWJkZTFhZjFkNzZlMzI3NmM3YWNkODFjNDM1NwotICBj
bGVhbnVwOgotICAtICIvaW5jbHVkZSIKLSAgLSAiL2xpYi9wa2djb25maWciCi0KLS0gbmFtZTog
cHlnb2JqZWN0LXB5dGhvbjIKLSAgYnVpbGQtb3B0aW9uczoKLSAgICBlbnY6Ci0gICAgICBQWVRI
T046ICIvdXNyL2Jpbi9weXRob24yIgotICBzb3VyY2VzOgotICAtIHR5cGU6IGFyY2hpdmUKLSAg
ICB1cmw6IGh0dHBzOi8vZG93bmxvYWQuZ25vbWUub3JnL3NvdXJjZXMvcHlnb2JqZWN0LzMuMjgv
cHlnb2JqZWN0LTMuMjguMS50YXIueHoKLSAgICBzaGEyNTY6IDQyMzEyYjRhNTAxNTU3MWZhMGE0
ZjJkMjAxMDA1ZGE0NmI3MWMyNTFlYTI2MjViYzk1NzAyZDA3MWM0ZmY4OTUKLSAgY2xlYW51cDoK
LSAgLSAiL2luY2x1ZGUiCi0gIC0gIi9saWIvcGtnY29uZmlnIgotICAtICIvbGliL3B5dGhvbjIu
Ny9zaXRlLXBhY2thZ2VzL2dpLyoubGEiCi0KLS0gb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwK
LQotLSBuYW1lOiBvcmcud2Via2l0LkdUSwotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxk
LWNvbW1hbmRzOgotICAgIC0gL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQg
LS1ndGsgLS1wcmVmaXg9L2FwcAotCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29yZy53ZWJr
aXQuV1BFLnlhbWwgYi9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFLnlhbWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjYmFiYmFhMGNiOGUxNThhZDQ0NDFmOThiNGQwNTNhOGNi
M2JhNzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9v
bHMvZmxhdHBhay9vcmcud2Via2l0LldQRS55YW1sCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAs
MCBAQAotLSBvcmcud2Via2l0LldQRU1vZHVsZXMueWFtbAotLSBuYW1lOiB3ZWJraXRndGstdGVz
dC1mb250cwotICBuby1hdXRvZ2VuOiB0cnVlCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQK
LSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL1dlYktpdEdUSy93ZWJraXRndGstdGVzdC1m
b250cy5naXQKLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgICAj
IEZJWE1FOiBNYWtlIEFjdGl2YXRlRm9udFdQRSBzbWFydGVyLgotICAgIC0gbWFrZSBpbnN0YWxs
IERFU1RESVI9L2FwcC9XZWJLaXRCdWlsZC9EZXBlbmRlbmNpZXNXUEUvUm9vdAotLSBuYW1lOiBv
cmcud2Via2l0LldQRQotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgot
ICAgIC0gL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgLS13cGUgLS1wcmVm
aXg9L2FwcApkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRU1vZHVsZXMu
eWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE4MGUyY2NiM2E0ZDk1MjJhNjA3OTM0YzA2ZTBhZjkyMDVi
ZjAyMTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9v
bHMvZmxhdHBhay9vcmcud2Via2l0LldQRU1vZHVsZXMueWFtbAorKysgL2Rldi9udWxsCkBAIC0x
LDEyICswLDAgQEAKLS0gbmFtZTogbGlid3BlCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1uaW5qYQot
ICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL3dwZXdl
YmtpdC5vcmcvcmVsZWFzZXMvbGlid3BlLTEuNC4wLnRhci54egotICAgICAgc2hhMjU2OiBlMmQz
NDk0ZmMzM2ZlOTQ2YWQ5MTdmZDZhM2FiZDEyNzQ2MmI5MWJiYTYyZWY4YjM1NTA3ZTkyZjhlZGU0
MTg4Ci0tIG5hbWU6IHdwZWJhY2tlbmQtZmRvCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1uaW5qYQot
ICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL3dwZXdl
YmtpdC5vcmcvcmVsZWFzZXMvd3BlYmFja2VuZC1mZG8tMS40LjAudGFyLnh6Ci0gICAgICBzaGEy
NTY6IGE5MTljYTRhNWJjNDQ1Zjk0MTlhNWI3ZjM3ODFjZmM5OGU1YWJjZjVkNzI1OWViMTg2OWY1
YWIyMGZkMThiYWYKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVRVC55
YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRVFULnlhbWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGRlMzY5NTdhNDYxYmMzNDc5YTM4ZWZmZGU2ZDk1OGJkMDA3MjY3OGUu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxh
dHBhay9vcmcud2Via2l0LldQRVFULnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBA
Ci1hcHAtaWQ6IG9yZy53ZWJraXQuV1BFUVQKLXJ1bnRpbWU6IG9yZy5rZGUuUGxhdGZvcm0KLXJ1
bnRpbWUtdmVyc2lvbjogIjUuMTIiCi0jIENvbnRyb2wgdGhlIGV4YWN0IHZlcnNpb24gb2YgdGhl
IFNkay9SdW50aW1lIHRoYXQgaXMgYmVpbmcgdXNlZC4KLXNkay1oYXNoOiBkNmVmYTI0ZTI3YzFj
ODc4YWQ0ZmRlNzZiNzNjOTZhMTFiZTMyYjU5OGFlODdhZWZiZTMzOWVlNGJiMTlhOGJlCi1ydW50
aW1lLWhhc2g6IDEwMTg3MWUwOTEwMDA2MTZhZDJiNjM1ZTA2YzQxNGViMGUxYzRlMWMzNDI5MmEy
MDVjNTIzOTkzNWVlNWVhNDQKLXNkazogb3JnLmtkZS5TZGsKLWNvbW1hbmQ6ICUoQ09NTUFORClz
Ci1maW5pc2gtYXJnczoKLSAgIyBCYXNpY2FsbHkgbm8gc2FuZGJveGluZywgdGhlIGdvYWwgaGVy
ZSBpcyB0byBtYWtlIGl0IGZsZXhpYmxlCi0gICMgZm9yIGRldmVsb3BlcnMsIG5vdCByZWFsbHkg
dG8gaXNvbGF0ZSAob3Blbm5pbmcgYWxsIGRldmljZXMKLSAgIyB0byBhbGxvdyBhY2NlcyB2aWRl
byBjYW1lcmFzIHVudGlsIHdlIGhhdmUgYSBwb3J0YWwgYXQgbGVhc3QpLgotICAtIC0tc2hhcmU9
aXBjCi0gIC0gLS1zb2NrZXQ9eDExCi0gIC0gLS1zb2NrZXQ9d2F5bGFuZAotICAtIC0tZGV2aWNl
PWFsbAotICAtIC0tc2hhcmU9bmV0d29yawotICAtIC0tc29ja2V0PXB1bHNlYXVkaW8KLSAgLSAt
LXN5c3RlbS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkdlb0NsdWUyCi0gIC0gLS1zeXN0ZW0t
dGFsay1uYW1lPW9yZy5hMTF5LkJ1cwotICAtIC0tZmlsZXN5c3RlbT1ob3N0Ci0gIC0gLS1zb2Nr
ZXQ9c3lzdGVtLWJ1cwotICAtIC0tdGFsay1uYW1lPW9yZy5mcmVlZGVza3RvcC5GbGF0cGFrCi0g
IC0gLS1lbnY9R1NUX1BSRVNFVF9QQVRIPS9hcHAvc2hhcmUvZ3N0cmVhbWVyLTEuMC9wcmVzZXRz
LwotYnVpbGQtb3B0aW9uczoKLSAgY2ZsYWdzOiAtTzIgLWcKLSAgY3h4ZmxhZ3M6IC1PMiAtZwot
ICBzdHJpcDogZmFsc2UKLSAgbm8tZGVidWdpbmZvOiB0cnVlCi1tb2R1bGVzOgotICAtIG9yZy53
ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sCi0gIC0gb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwK
LQotICAjIFRoaXMgbW9kdWxlIGlzIG5vdCBhY3R1YWxseSBidWlsdC4KLSAgLSBuYW1lOiBvcmcu
d2Via2l0LldQRVFUCi0gICAgYnVpbGRzeXN0ZW06IGNtYWtlCi0gICAgc291cmNlczoKLSAgICAt
IHR5cGU6IGRpcgotICAgICAgcGF0aDogL2FwcC93ZWJraXQvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL3dwZS9xdApkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldlYktp
dC55YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldlYktpdC55YW1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBiNmQ2MTI2NjBkOGEyMDQ1ZGEzMTJmZGIwOTFiNzhlNThhODA3
ZTY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xz
L2ZsYXRwYWsvb3JnLndlYmtpdC5XZWJLaXQueWFtbAorKysgL2Rldi9udWxsCkBAIC0xLDMzICsw
LDAgQEAKLWFwcC1pZDogJShQT1JUTkFNRSlzCi1ydW50aW1lOiBvcmcuZ25vbWUuUGxhdGZvcm0K
LXJ1bnRpbWUtdmVyc2lvbjogIjMuMzIiCi0jIENvbnRyb2wgdGhlIGV4YWN0IHZlcnNpb24gb2Yg
dGhlIFNkay9SdW50aW1lIHRoYXQgaXMgYmVpbmcgdXNlZC4KLXNkay1oYXNoOiBiM2I5YjFkMWIx
OWVhMmJiNzIwMTk0MjhjYTc1YzdhNzg0NTVlOTg2YTBmOTFkZGRmNmEyOWM5Mjk5MGNjNWE3Ci1y
dW50aW1lLWhhc2g6IDdjOWQ1NTkyZDgwNWQwYjdjMjEyMTkwZmQ4MTE4ZTRjNzhjYjhlZDhmODFl
Njg3ODU4OTcyNjcwZGFjY2ZmNzYKLXNkazogb3JnLmdub21lLlNkawotY29tbWFuZDogJShDT01N
QU5EKXMKLWZpbmlzaC1hcmdzOgotICAjIEJhc2ljYWxseSBubyBzYW5kYm94aW5nLCB0aGUgZ29h
bCBoZXJlIGlzIHRvIG1ha2UgaXQgZmxleGlibGUKLSAgIyBmb3IgZGV2ZWxvcGVycywgbm90IHJl
YWxseSB0byBpc29sYXRlIChvcGVubmluZyBhbGwgZGV2aWNlcwotICAjIHRvIGFsbG93IGFjY2Vz
IHZpZGVvIGNhbWVyYXMgdW50aWwgd2UgaGF2ZSBhIHBvcnRhbCBhdCBsZWFzdCkuCi0gIC0gLS1z
aGFyZT1pcGMKLSAgLSAtLXNvY2tldD14MTEKLSAgLSAtLXNvY2tldD13YXlsYW5kCi0gIC0gLS1k
ZXZpY2U9YWxsCi0gIC0gLS1zaGFyZT1uZXR3b3JrCi0gIC0gLS1zb2NrZXQ9cHVsc2VhdWRpbwot
ICAtIC0tc3lzdGVtLXRhbGstbmFtZT1vcmcuZnJlZWRlc2t0b3AuR2VvQ2x1ZTIKLSAgLSAtLXN5
c3RlbS10YWxrLW5hbWU9b3JnLmExMXkuQnVzCi0gIC0gLS1maWxlc3lzdGVtPWhvc3QKLSAgLSAt
LXNvY2tldD1zeXN0ZW0tYnVzCi0gIC0gLS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkZsYXRw
YWsKLSAgLSAtLWVudj1HU1RfUFJFU0VUX1BBVEg9L2FwcC9zaGFyZS9nc3RyZWFtZXItMS4wL3By
ZXNldHMvCi1idWlsZC1vcHRpb25zOgotICBjZmxhZ3M6IC1PMiAtZwotICBjeHhmbGFnczogLU8y
IC1nCi0gIHN0cmlwOiBmYWxzZQotICBuby1kZWJ1Z2luZm86IHRydWUKLW1vZHVsZXM6Ci0gIC0g
b3JnLndlYmtpdC5Db21tb25Nb2R1bGVzLnlhbWwKLSAgIyBQb3J0IHNwZWNpZmljIGNvbXBvbmVu
dHMuCi0gIC0gJShQT1JUTkFNRSlzLnlhbWwKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvcGF0
Y2hlcy9odHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1kZXRlY3Rp
b24ucGF0Y2ggYi9Ub29scy9mbGF0cGFrL3BhdGNoZXMvaHR0cGQtMDAwMS1jb25maWd1cmUtdXNl
LXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBkMzZhNjk0ZjI5MjNkMzUxZGI2ZjNmMTMzMjc2MDI4M2RhNzhmOWRlLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsv
cGF0Y2hlcy9odHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1kZXRl
Y3Rpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1Gcm9tIGI1ZWJlNDA0
ZjEzODhkZGRhMzYwM2U1MzI3N2Y4N2UwYjk2YmE2OTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx
Ci1Gcm9tOiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotRGF0ZTogTW9u
LCAxMSBKdW4gMjAxOCAxNjoxNDozOCAtMDQwMAotU3ViamVjdDogW1BBVENIXSBjb25maWd1cmU6
IHVzZSBwa2ctY29uZmlnIGZvciBQQ1JFIGRldGVjdGlvbgotCi0tLS0KLSBjb25maWd1cmUuaW4g
fCAyNyArKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNl
cnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBi
L2NvbmZpZ3VyZS5pbgotaW5kZXggNzYxZTgzNi4uYjE1NWQ0YiAxMDA2NDQKLS0tLSBhL2NvbmZp
Z3VyZS5pbgotKysrIGIvY29uZmlndXJlLmluCi1AQCAtMjE1LDI4ICsyMTUsMTEgQEAgZmkKLSBB
Q19BUkdfV0lUSChwY3JlLAotIEFQQUNIRV9IRUxQX1NUUklORygtLXdpdGgtcGNyZT1QQVRILFVz
ZSBleHRlcm5hbCBQQ1JFIGxpYnJhcnkpKQotIAotLUFDX1BBVEhfUFJPRyhQQ1JFX0NPTkZJRywg
cGNyZS1jb25maWcsIGZhbHNlKQotLWlmIHRlc3QgLWQgIiR3aXRoX3BjcmUiICYmIHRlc3QgLXgg
IiR3aXRoX3BjcmUvYmluL3BjcmUtY29uZmlnIjsgdGhlbgotLSAgIFBDUkVfQ09ORklHPSR3aXRo
X3BjcmUvYmluL3BjcmUtY29uZmlnCi0tZWxpZiB0ZXN0IC14ICIkd2l0aF9wY3JlIjsgdGhlbgot
LSAgIFBDUkVfQ09ORklHPSR3aXRoX3BjcmUKLS1maQotLQotLWlmIHRlc3QgIiRQQ1JFX0NPTkZJ
RyIgIT0gImZhbHNlIjsgdGhlbgotLSAgaWYgJFBDUkVfQ09ORklHIC0tdmVyc2lvbiA+L2Rldi9u
dWxsIDI+JjE7IHRoZW4gOjsgZWxzZQotLSAgICBBQ19NU0dfRVJST1IoW0RpZCBub3QgZmluZCBw
Y3JlLWNvbmZpZyBzY3JpcHQgYXQgJFBDUkVfQ09ORklHXSkKLS0gIGZpCi0tICBjYXNlIGAkUENS
RV9DT05GSUcgLS12ZXJzaW9uYCBpbgotLSAgW1sxLTVdLipdKQotLSAgICBBQ19NU0dfRVJST1Io
W05lZWQgYXQgbGVhc3QgcGNyZSB2ZXJzaW9uIDYuMF0pCi0tICAgIDs7Ci0tICBlc2FjCi0tICBB
Q19NU0dfTk9USUNFKFtVc2luZyBleHRlcm5hbCBQQ1JFIGxpYnJhcnkgZnJvbSAkUENSRV9DT05G
SUddKQotLSAgQVBSX0FERFRPKFBDUkVfSU5DTFVERVMsIFtgJFBDUkVfQ09ORklHIC0tY2ZsYWdz
YF0pCi0tICBBUFJfQUREVE8oUENSRV9MSUJTLCBbYCRQQ1JFX0NPTkZJRyAtLWxpYnNgXSkKLS1l
bHNlCi0tICBBQ19NU0dfRVJST1IoW3BjcmUtY29uZmlnIGZvciBsaWJwY3JlIG5vdCBmb3VuZC4g
UENSRSBpcyByZXF1aXJlZCBhbmQgYXZhaWxhYmxlIGZyb20gaHR0cDovL3BjcmUub3JnL10pCi0t
ZmkKLStQS0dfQ0hFQ0tfTU9EVUxFUyhbUENSRV0sIFtsaWJwY3JlXSwgWwotKyAgQUNfREVGSU5F
KFtIQVZFX1BDUkVdLCBbMV0sIFtEZWZpbmUgaWYgeW91IGhhdmUgUENSRSBsaWJyYXJ5XSkKLStd
LCBbCi0rICBBQ19NU0dfRVJST1IoWyRQQ1JFX1BLR19FUlJPUlNdKQotK10pCi0gQVBBQ0hFX1NV
QlNUKFBDUkVfTElCUykKLSAKLSBBQ19NU0dfTk9USUNFKFtdKQotLS0gCi0yLjE3LjEKLQpkaWZm
IC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVzZS1wa2ctY29u
ZmlnLXRvLWRldGVjdC1ncGctZXJyb3IucGF0Y2ggYi9Ub29scy9mbGF0cGFrL3BhdGNoZXMvbGli
Z2NyeXB0LTAwMDEtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRjaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzU3NzI3ZmJiOGIwOGI5MTk1YTVjMDk3ZDZjNjFi
OTA4YzY5MTc5YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Ub29scy9mbGF0cGFrL3BhdGNoZXMvbGliZ2NyeXB0LTAwMDEtVXNlLXBrZy1jb25maWctdG8t
ZGV0ZWN0LWdwZy1lcnJvci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExMCArMCwwIEBACi1G
cm9tIDlhZmYzZjFiMzQ0ZmM4NjY2YjE0YzU3NjI5MTYyYzJiOTAwN2NhZDggTW9uIFNlcCAxNyAw
MDowMDowMCAyMDAxCi1Gcm9tOiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29t
PgotRGF0ZTogRnJpLCAyOSBKdW4gMjAxOCAwOTowNTo1MiAtMDQwMAotU3ViamVjdDogW1BBVENI
XSBVc2UgcGtnLWNvbmZpZyB0byBkZXRlY3QgZ3BnLWVycm9yCi0KLS0tLQotIG00L2dwZy1lcnJv
ci5tNCB8IDg4ICsrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLSAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNzYgZGVsZXRpb25zKC0pCi0K
LWRpZmYgLS1naXQgYS9tNC9ncGctZXJyb3IubTQgYi9tNC9ncGctZXJyb3IubTQKLWluZGV4IDE2
NjEyMDRjLi41ZjlmMzNjMiAxMDA2NDQKLS0tLSBhL200L2dwZy1lcnJvci5tNAotKysrIGIvbTQv
Z3BnLWVycm9yLm00Ci1AQCAtNDEsODEgKzQxLDE3IEBAIEFDX0RFRlVOKFtBTV9QQVRIX0dQR19F
UlJPUl0sCi0gICBBQ19BUkdfV0lUSChncGctZXJyb3ItcHJlZml4LCwKLSAgICAgICAgICAgICAg
IFtncGdfZXJyb3JfY29uZmlnX3ByZWZpeD0iJHdpdGh2YWwiXSkKLSAKLS0gIGlmIHRlc3QgeCIk
e0dQR19FUlJPUl9DT05GSUd9IiA9IHggOyB0aGVuCi0tICAgICBpZiB0ZXN0IHgiJHtncGdfZXJy
b3JfY29uZmlnX3ByZWZpeH0iICE9IHggOyB0aGVuCi0tICAgICAgICBHUEdfRVJST1JfQ09ORklH
PSIke2dwZ19lcnJvcl9jb25maWdfcHJlZml4fS9iaW4vZ3BnLWVycm9yLWNvbmZpZyIKLS0gICAg
IGVsc2UKLS0gICAgICAgY2FzZSAiJHtTWVNST09UfSIgaW4KLS0gICAgICAgICAvKikKLS0gICAg
ICAgICAgIGlmIHRlc3QgLXggIiR7U1lTUk9PVH0vYmluL2dwZy1lcnJvci1jb25maWciIDsgdGhl
bgotLSAgICAgICAgICAgICBHUEdfRVJST1JfQ09ORklHPSIke1NZU1JPT1R9L2Jpbi9ncGctZXJy
b3ItY29uZmlnIgotLSAgICAgICAgICAgZmkKLS0gICAgICAgICAgIDs7Ci0tICAgICAgICAgJycp
Ci0tICAgICAgICAgICA7OwotLSAgICAgICAgICAqKQotLSAgICAgICAgICAgQUNfTVNHX1dBUk4o
W0lnbm9yaW5nIFwkU1lTUk9PVCBhcyBpdCBpcyBub3QgYW4gYWJzb2x1dGUgcGF0aC5dKQotLSAg
ICAgICAgICAgOzsKLS0gICAgICAgZXNhYwotLSAgICAgZmkKLS0gIGZpCi0rICBQS0dfQ0hFQ0tf
TU9EVUxFUyhbR1BHX0VSUk9SXSwgW2dwZy1lcnJvcl0sIFsKLSsgICAgQUNfREVGSU5FKFtIQVZF
X0dQR19FUlJPUl0sIFsxXSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBncGctZXJyb3IgbGlicmFyeV0p
Ci0gCi0tICBBQ19QQVRIX1BST0coR1BHX0VSUk9SX0NPTkZJRywgZ3BnLWVycm9yLWNvbmZpZywg
bm8pCi0tICBtaW5fZ3BnX2Vycm9yX3ZlcnNpb249aWZlbHNlKFskMV0sICwwLjAsJDEpCi0tICBB
Q19NU0dfQ0hFQ0tJTkcoZm9yIEdQRyBFcnJvciAtIHZlcnNpb24gPj0gJG1pbl9ncGdfZXJyb3Jf
dmVyc2lvbikKLS0gIG9rPW5vCi0tICBpZiB0ZXN0ICIkR1BHX0VSUk9SX0NPTkZJRyIgIT0gIm5v
IiBcCi0tICAgICAmJiB0ZXN0IC1mICIkR1BHX0VSUk9SX0NPTkZJRyIgOyB0aGVuCi0tICAgIHJl
cV9tYWpvcj1gZWNobyAkbWluX2dwZ19lcnJvcl92ZXJzaW9uIHwgXAotLSAgICAgICAgICAgICAg
IHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS9cMS8nYAotLSAgICByZXFfbWlub3I9
YGVjaG8gJG1pbl9ncGdfZXJyb3JfdmVyc2lvbiB8IFwKLS0gICAgICAgICAgICAgICBzZWQgJ3Mv
XChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXCkvXDIvJ2AKLS0gICAgZ3BnX2Vycm9yX2NvbmZpZ192
ZXJzaW9uPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19hcmdzIC0tdmVyc2lv
bmAKLS0gICAgbWFqb3I9YGVjaG8gJGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbiB8IFwKLS0gICAg
ICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXCkuKi9cMS8nYAotLSAg
ICBtaW5vcj1gZWNobyAkZ3BnX2Vycm9yX2NvbmZpZ192ZXJzaW9uIHwgXAotLSAgICAgICAgICAg
ICAgIHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS4qL1wyLydgCi0tICAgIGlmIHRl
c3QgIiRtYWpvciIgLWd0ICIkcmVxX21ham9yIjsgdGhlbgotLSAgICAgICAgb2s9eWVzCi0tICAg
IGVsc2UKLS0gICAgICAgIGlmIHRlc3QgIiRtYWpvciIgLWVxICIkcmVxX21ham9yIjsgdGhlbgot
LSAgICAgICAgICAgIGlmIHRlc3QgIiRtaW5vciIgLWdlICIkcmVxX21pbm9yIjsgdGhlbgotLSAg
ICAgICAgICAgICAgIG9rPXllcwotLSAgICAgICAgICAgIGZpCi0tICAgICAgICBmaQotLSAgICBm
aQotLSAgZmkKLS0gIGlmIHRlc3QgJG9rID0geWVzOyB0aGVuCi0tICAgIEdQR19FUlJPUl9DRkxB
R1M9YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1jZmxhZ3NgCi0t
ICAgIEdQR19FUlJPUl9MSUJTPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19h
cmdzIC0tbGlic2AKLS0gICAgR1BHX0VSUk9SX01UX0NGTEFHUz1gJEdQR19FUlJPUl9DT05GSUcg
JGdwZ19lcnJvcl9jb25maWdfYXJncyAtLW10IC0tY2ZsYWdzIDI+L2Rldi9udWxsYAotLSAgICBH
UEdfRVJST1JfTVRfTElCUz1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9jb25maWdfYXJn
cyAtLW10IC0tbGlicyAyPi9kZXYvbnVsbGAKLS0gICAgQUNfTVNHX1JFU1VMVChbeWVzICgkZ3Bn
X2Vycm9yX2NvbmZpZ192ZXJzaW9uKV0pCi0tICAgIGlmZWxzZShbJDJdLCAsIDosIFskMl0pCi0t
ICAgIGdwZ19lcnJvcl9jb25maWdfaG9zdD1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9j
b25maWdfYXJncyAtLWhvc3QgMj4vZGV2L251bGwgfHwgZWNobyBub25lYAotLSAgICBpZiB0ZXN0
IHgiJGdwZ19lcnJvcl9jb25maWdfaG9zdCIgIT0geG5vbmUgOyB0aGVuCi0tICAgICAgaWYgdGVz
dCB4IiRncGdfZXJyb3JfY29uZmlnX2hvc3QiICE9IHgiJGhvc3QiIDsgdGhlbgotLSAgQUNfTVNH
X1dBUk4oW1sKLS0qKioKLS0qKiogVGhlIGNvbmZpZyBzY3JpcHQgJEdQR19FUlJPUl9DT05GSUcg
d2FzCi0tKioqIGJ1aWx0IGZvciAkZ3BnX2Vycm9yX2NvbmZpZ19ob3N0IGFuZCB0aHVzIG1heSBu
b3QgbWF0Y2ggdGhlCi0tKioqIHVzZWQgaG9zdCAkaG9zdC4KLS0qKiogWW91IG1heSB3YW50IHRv
IHVzZSB0aGUgY29uZmlndXJlIG9wdGlvbiAtLXdpdGgtZ3BnLWVycm9yLXByZWZpeAotLSoqKiB0
byBzcGVjaWZ5IGEgbWF0Y2hpbmcgY29uZmlnIHNjcmlwdCBvciB1c2UgXCRTWVNST09ULgotLSoq
Kl1dKQotLSAgICAgICAgZ3BnX2NvbmZpZ19zY3JpcHRfd2Fybj0iJGdwZ19jb25maWdfc2NyaXB0
X3dhcm4gbGliZ3BnLWVycm9yIgotLSAgICAgIGZpCi0tICAgIGZpCi0tICBlbHNlCi0tICAgIEdQ
R19FUlJPUl9DRkxBR1M9IiIKLS0gICAgR1BHX0VSUk9SX0xJQlM9IiIKLS0gICAgR1BHX0VSUk9S
X01UX0NGTEFHUz0iIgotLSAgICBHUEdfRVJST1JfTVRfTElCUz0iIgotLSAgICBBQ19NU0dfUkVT
VUxUKG5vKQotLSAgICBpZmVsc2UoWyQzXSwgLCA6LCBbJDNdKQotLSAgZmkKLS0gIEFDX1NVQlNU
KEdQR19FUlJPUl9DRkxBR1MpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfTElCUykKLS0gIEFDX1NV
QlNUKEdQR19FUlJPUl9NVF9DRkxBR1MpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfTVRfTElCUykK
LSsgICAgR1BHX0VSUk9SX01UX0NGTEFHUz0iJEdQR19FUlJPUl9DRkxBR1MiCi0rICAgIEdQR19F
UlJPUl9NVF9MSUJTPSItbHB0aHJlYWQgJEdQR19FUlJPUl9MSUJTIgotKwotKyAgICBBQ19TVUJT
VChHUEdfRVJST1JfQ0ZMQUdTKQotKyAgICBBQ19TVUJTVChHUEdfRVJST1JfTElCUykKLSsgICAg
QUNfU1VCU1QoR1BHX0VSUk9SX01UX0NGTEFHUykKLSsgICAgQUNfU1VCU1QoR1BHX0VSUk9SX01U
X0xJQlMpCi0rICBdLCBbCi0rICAgIEFDX01TR19FUlJPUihbJEdQR19FUlJPUl9FUlJPUlNdKQot
KyAgXSkKLSBdKQotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9wYXRj
aGVzL3h2ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1maWxlLnBhdGNoIGIvVG9v
bHMvZmxhdHBhay9wYXRjaGVzL3h2ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1m
aWxlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OTg4NDJiMzgxZDI1MTQw
ZmJjMDhmNTRhOTcyMzBhNmRiZTRhNDUwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEtSEFDSy1Bdm9p
ZC1jb21waWxpbmctYS1rYm0tZmlsZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAg
QEAKLUZyb20gYWVkMWI2ZThkZTQxMzc1YzFiOGIxZGZjNDhhMzUwZTBhOWI5Y2JiYSBNb24gU2Vw
IDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGlnYWxp
YS5jb20+Ci1EYXRlOiBNb24sIDExIEp1biAyMDE4IDEwOjU1OjQzIC0wNDAwCi1TdWJqZWN0OiBb
UEFUQ0ggeHNlcnZlcl0gSEFDSzogQXZvaWQgY29tcGlsaW5nIGEga2JtIGZpbGUKLQotVGhpcyB3
b3VsZCBuZWVkIHRvIGJlIGluIC91c3Ivc2hhcmUvWDExLyBhcyB0aGlzIGlzIHdoZXJlCi1yZXNv
dXJjZSBmaWxlcyBhcmUgaW4gdGhlIHNhbmRib3ggYnV0IGl0IGlzIHJlYWQgb25seSBpbiB0aGVy
ZS4KLQotSGFjayBhcm91bmQgdGhhdC4KLS0tLQotIHhrYi9kZHhMb2FkLmMgfCA5ICstLS0tLS0t
LQotIHhrYi94a2JJbml0LmMgfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMo
KyksIDkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS94a2IvZGR4TG9hZC5jIGIveGtiL2Rk
eExvYWQuYwotaW5kZXggYmJlMzk1Mi4uYTRhMDNhMSAxMDA2NDQKLS0tLSBhL3hrYi9kZHhMb2Fk
LmMKLSsrKyBiL3hrYi9kZHhMb2FkLmMKLUBAIC0xNDgsMTQgKzE0OCw3IEBAIFJ1blhrYkNvbXAo
eGtiY29tcF9idWZmZXJfY2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQgKnVzZXJkYXRhKQotICAgICAg
ICAgfQotICAgICB9Ci0gCi0tICAgIGlmIChhc3ByaW50ZigmYnVmLAotLSAgICAgICAgICAgICAg
ICAgIlwiJXMlc3hrYmNvbXBcIiAtdyAlZCAlcyAteGttIFwiJXNcIiAiCi0tICAgICAgICAgICAg
ICAgICAiLWVtMSAlcyAtZW1wICVzIC1lbWwgJXMgXCIlcyVzLnhrbVwiIiwKLS0gICAgICAgICAg
ICAgICAgIHhrYmJpbmRpciwgeGtiYmluZGlyc2VwLAotLSAgICAgICAgICAgICAgICAgKCh4a2JE
ZWJ1Z0ZsYWdzIDwgMikgPyAxIDoKLS0gICAgICAgICAgICAgICAgICAoKHhrYkRlYnVnRmxhZ3Mg
PiAxMCkgPyAxMCA6IChpbnQpIHhrYkRlYnVnRmxhZ3MpKSwKLS0gICAgICAgICAgICAgICAgIHhr
YmJhc2VkaXJmbGFnID8geGtiYmFzZWRpcmZsYWcgOiAiIiwgeGttZmlsZSwKLS0gICAgICAgICAg
ICAgICAgIFBSRV9FUlJPUl9NU0csIEVSUk9SX1BSRUZJWCwgUE9TVF9FUlJPUl9NU0cxLAotKyAg
ICBpZiAoYXNwcmludGYoJmJ1ZiwgImNwIC9hcHAvd2Via2l0L1Rvb2xzL2ZsYXRwYWsvZmlsZXMv
ZGVmYXVsdC54a20gXCIlcyVzLnhrbVwiIiwKLSAgICAgICAgICAgICAgICAgIHhrbV9vdXRwdXRf
ZGlyLCBrZXltYXApID09IC0xKQotICAgICAgICAgYnVmID0gTlVMTDsKLSAKLWRpZmYgLS1naXQg
YS94a2IveGtiSW5pdC5jIGIveGtiL3hrYkluaXQuYwotaW5kZXggOWM3NzJmNS4uNGUwYjc3NCAx
MDA2NDQKLS0tLSBhL3hrYi94a2JJbml0LmMKLSsrKyBiL3hrYi94a2JJbml0LmMKLUBAIC04Nyw3
ICs4Nyw3IEBAIHR5cGVkZWYgc3RydWN0IF9TcnZYa21JbmZvIHsKLSAjZGVmaW5lCVhLQl9ERkxU
X1JVTEVTX1BST1AJVFJVRQotICNlbmRpZgotIAotLWNvbnN0IGNoYXIgKlhrYkJhc2VEaXJlY3Rv
cnkgPSBYS0JfQkFTRV9ESVJFQ1RPUlk7Ci0rY29uc3QgY2hhciAqWGtiQmFzZURpcmVjdG9yeSA9
ICIvdXNyL3NoYXJlL1gxMS94a2IvIjsKLSBjb25zdCBjaGFyICpYa2JCaW5EaXJlY3RvcnkgPSBY
S0JfQklOX0RJUkVDVE9SWTsKLSBzdGF0aWMgaW50IFhrYldhbnRBY2Nlc3NYID0gMDsKLSAKLS0t
IAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVuZGVuY2llcyBi
L1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVuZGVuY2llcwppbmRleCBjNmRjNTBjYTBlNWZlN2IzMDdm
ZTU2ODg5NzZjM2IzMjgxYTRjMjYxLi5jYTVjNzcyMDI0NWJkYWVkMzMyZGNmMDFkY2NiM2QyOGQw
ZGIwYWFhIDEwMDc1NQotLS0gYS9Ub29scy9ndGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMKKysrIGIv
VG9vbHMvZ3RrL2luc3RhbGwtZGVwZW5kZW5jaWVzCkBAIC0xNzYsNiArMTc2LDEwIEBAIGZ1bmN0
aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoQXB0IHsKICAgICAgICAgd2VzdG9uIFwKICAgICAg
ICAgeHZmYiIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1
aWxkaW5nIHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAor
ICAgICAgICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2Fy
eSBmb3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCiAg
ICAgICAgIGJpc29uIFwKQEAgLTM0NCw2ICszNDgsMTAgQEAgZnVuY3Rpb24gaW5zdGFsbERlcGVu
ZGVuY2llc1dpdGhQYWNtYW4gewogICAgICAgICB3ZXN0b24gXAogICAgICAgICB4b3JnLXNlcnZl
ci14dmZiIgogCisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVp
bGRpbmcgd2l0aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCisg
ICAgICAgIGZsYXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5
IGZvciBidWlsZGluZyB0aGUgamhidWlsZC4KICAgICAjIE5vdGU6IENvdWxkIG5vdCBmaW5kIGxp
YmVnbC1tZXNhCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCkBAIC01MTYsNiArNTI0LDEwIEBA
IGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoRG5mIHsKICAgICAgICAgd2VzdG9uLWRl
dmVsIFwKICAgICAgICAgeG9yZy14MTEtc2VydmVyLVh2ZmIiCiAKKyAgICAjIFRoZXNlIGFyZSBk
ZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4K
KyAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAgICAgICAgZmxhdHBhayIKKwogICAgICMgVGhl
c2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgog
ICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAogICAgICAgICBiaXNvbiBcCmRpZmYgLS1naXQgYS9U
b29scy93cGUvaW5zdGFsbC1kZXBlbmRlbmNpZXMgYi9Ub29scy93cGUvaW5zdGFsbC1kZXBlbmRl
bmNpZXMKaW5kZXggMjdkOWM4MWFjZmFhNGFjMjI4NGNlOGU3NzY3ZmE1OTI5N2M4ZjRlOC4uYjgz
YjZkNjQyMDhiNmMzN2UwZjc5OWRkOGI3N2M2NTFiMjZiMDAyNSAxMDA3NTUKLS0tIGEvVG9vbHMv
d3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzCisrKyBiL1Rvb2xzL3dwZS9pbnN0YWxsLWRlcGVuZGVu
Y2llcwpAQCAtMTEwLDYgKzExMCwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0
aEFwdCB7CiAgICAgICAgIHJ1YnktaGlnaGxpbmUgXAogICAgICAgICBydWJ5LWpzb24iCiAKKyAg
ICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB3aXRoIHRo
ZSBGbGF0cGFrIFNESy4KKyAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAgICAgICAgZmxhdHBh
ayIKKwogICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5n
IHRoZSBqaGJ1aWxkLgogICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAogICAgICAgICBnaXQgXApA
QCAtMjEyLDYgKzIxNiwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aFBhY21h
biB7CiAgICAgICAgIHB5dGhvbjItcHN1dGlsIFwKICAgICAgICAgcnVieSIKIAorICAgICMgVGhl
c2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHdpdGggdGhlIEZsYXRw
YWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAorICAgICAgICBmbGF0cGFrIgorCiAg
ICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgdGhlIGpo
YnVpbGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCiAgICAgICAgIGV4cGF0IFwKQEAgLTMy
Myw2ICszMzEsMTAgQEAgZnVuY3Rpb24gaW5zdGFsbERlcGVuZGVuY2llc1dpdGhEbmYgewogICAg
ICAgICBydWJ5Z2VtLWhpZ2hsaW5lIFwKICAgICAgICAgcnVieWdlbS1qc29uIgogCisgICAgIyBU
aGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgd2l0aCB0aGUgRmxh
dHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCisgICAgICAgIGZsYXRwYWsiCisK
ICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB0aGUg
amhidWlsZC4KICAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKICAgICAgICAgZXhwYXQtZGV2ZWwg
XApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDM1M2NhM2NmZWNhNjkxMTIzNjkxZjI5NWNkZWViYjhlZTJhMTdhYzguLmRmY2M5
N2ZiYjUyM2I1YmU2YjkwODQzNTM4OWQwOWM3NmFkODNhOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBA
QAorMjAyMC0wMS0wNCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0dUS11bV1BFXSBNaWdyYXRlIHRvIEZsYXRwYWstYmFzZWQgZGV2IFNESworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NjU4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL2NvbmYv
ZmxhdHBhay1odHRwZC5jb25mOiBBZGp1c3QgcGF0aHMuCisKIDIwMjAtMDEtMjkgIHlvdWVubiBm
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEJsb2IgbWVkaWEgbG9hZGluZyBk
b2VzIG5vdCB3b3JrIHdpdGggR1BVUHJvY2VzcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZiBiL0xheW91dFRlc3RzL2h0dHAvY29uZi9mbGF0cGFr
LWh0dHBkLmNvbmYKaW5kZXggM2MwM2U0MjM5YzI0OTg5ZDljZDc5Njg2MTQ0YmM3Y2UyYjMwYzMx
Yi4uYmY1MjE1ZDU4OWFkNjFmODgyZDUzYTA2NzVhZDY3YTQ0NmFiOTQzZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZgorKysgYi9MYXlvdXRUZXN0
cy9odHRwL2NvbmYvZmxhdHBhay1odHRwZC5jb25mCkBAIC0xLDUgKzEsNSBAQAogU2VydmVyVG9r
ZW5zIE9TCi1TZXJ2ZXJSb290ICIvYXBwLyIKK1NlcnZlclJvb3QgIi91c3IvIgogCiBQaWRGaWxl
ICIvdG1wL1dlYktpdC9odHRwZC5waWQiCiBTY29yZUJvYXJkRmlsZSAiL3RtcC9XZWJLaXQvaHR0
cGQuc2NvcmVib2FyZCIKQEAgLTMzLDkgKzMzLDcgQEAgTG9hZE1vZHVsZSBsb2dfY29uZmlnX21v
ZHVsZSAgICBtb2R1bGVzL21vZF9sb2dfY29uZmlnLnNvCiBMb2FkTW9kdWxlIHNzbF9tb2R1bGUg
ICAgICAgICAgIG1vZHVsZXMvbW9kX3NzbC5zbwogTG9hZE1vZHVsZSBwaHA3X21vZHVsZSAgICAg
ICAgICBtb2R1bGVzL2xpYnBocDcuc28KIExvYWRNb2R1bGUgYXNpc19tb2R1bGUgICAgICAgICAg
bW9kdWxlcy9tb2RfYXNpcy5zbwotTG9hZE1vZHVsZSBlbnZfbW9kdWxlICAgICAgICAgICBtb2R1
bGVzL21vZF9lbnYuc28KIAotU2V0RW52IFBFUkw1TElCIC9hcHAvbGliL3BlcmwKIAogU2VydmVy
TmFtZSAxMjcuMC4wLjEKIApAQCAtNTQsNyArNTIsNyBAQCBBY2Nlc3NGaWxlTmFtZSAuaHRhY2Nl
c3MKIFVzZUNhbm9uaWNhbE5hbWUgT24KIEhvc3RuYW1lTG9va3VwcyBPZmYKIAotVHlwZXNDb25m
aWcgL2V0Yy9taW1lLnR5cGVzCitUeXBlc0NvbmZpZyAvdXNyL2NvbmYvbWltZS50eXBlcwogCiBM
b2dMZXZlbCB3YXJuCiBMb2dGb3JtYXQgIiVoICVsICV1ICV0IFwiJXJcIiAlPnMgJWIgXCIle1Jl
ZmVyZXJ9aVwiIFwiJXtVc2VyLUFnZW50fWlcIiIgY29tYmluZWQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389334</attachid>
            <date>2020-01-31 00:03:39 -0800</date>
            <delta_ts>2020-01-31 05:03:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205658-20200131090336.patch</filename>
            <type>text/plain</type>
            <size>124392</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTA2YTE1ZDMxN2E4MmU3
OTUxNjhmNDNiZTNiMWFmOTVjNDYxMGQ5Mi4uODBmZDQxZDhiYTAwNmUxODE3ZWNhNzcxZmJlNGU5
ZWI1ZDQ2YmYzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAxLTA0ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVd
IE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0
aW9uTGliSHlwaGVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNjYW5UZXN0RGljdGlvbmFyaWVz
RGlyZWN0b3J5SWZOZWNlc3NhcnkpOiBDaGVjayBmb3IgZmxhdHBhay1pbnN0YWxsZWQgZGljdGlv
bmFyaWVzLgorCiAyMDIwLTAxLTI5ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBCbG9iIG1lZGlhIGxvYWRpbmcgZG9lcyBub3Qgd29yayB3aXRoIEdQVVByb2Nl
c3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhl
bmF0aW9uTGliSHlwaGVuLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVu
L0h5cGhlbmF0aW9uTGliSHlwaGVuLmNwcAppbmRleCAxMmJhYTRjNGQzZTllNjNmN2ZmODFjNWUy
YjExOTRiOGJiOGE5YzA1Li5mMzM1OWQ4MDcwMjJmNTQ4OWM2OGY5YWNmODE2YTY3MDQyYTUzZDYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2h5cGhlbi9IeXBoZW5h
dGlvbkxpYkh5cGhlbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9oeXBo
ZW4vSHlwaGVuYXRpb25MaWJIeXBoZW4uY3BwCkBAIC0xMjEsOCArMTIxLDE1IEBAIHN0YXRpYyB2
b2lkIHNjYW5UZXN0RGljdGlvbmFyaWVzRGlyZWN0b3J5SWZOZWNlc3NhcnkoSGFzaE1hcDxBdG9t
U3RyaW5nLCBWZWN0b3I8CiAgICAgLy8gbGliaHlwaGVuIGRvZXNuJ3QgaGF2ZSB0aGUgY29uY2Vw
dCBvZiBpbnN0YWxsZWQgZGljdGlvbmFyaWVzLiBJbnN0ZWFkLAogICAgIC8vIHdlIGhhdmUgdGhp
cyBzcGVjaWFsIGNhc2UgZm9yIFdlYktpdCB0ZXN0cy4KICNpZiBQTEFURk9STShHVEspCisgICAg
Ly8gVHJ5IGFsdGVybmF0aXZlIGRpY3Rpb25hcmllcyBwYXRoIGZvciBwZW9wbGUgdXNpbmcgRmxh
dHBhay4KKyAgICBHVW5pcXVlUHRyPGNoYXI+IGRpY3Rpb25hcmllc1BhdGgoZ19idWlsZF9maWxl
bmFtZSgiL3VzciIsICJzaGFyZSIsICJ3ZWJraXRndGstdGVzdC1kaWN0cyIsIG51bGxwdHIpKTsK
KyAgICBpZiAoZ19nZXRlbnYoIkZMQVRQQUtfSUQiKSAmJiBnX2ZpbGVfdGVzdChkaWN0aW9uYXJp
ZXNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNUX0lTX0RJUikp
KSB7CisgICAgICAgIHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJpZXMoZGljdGlvbmFyaWVzUGF0
aC5nZXQoKSwgYXZhaWxhYmxlTG9jYWxlcyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAg
ICBDU3RyaW5nIGJ1aWxkRGlyZWN0b3J5ID0gd2Via2l0QnVpbGREaXJlY3RvcnkoKTsKLSAgICBH
VW5pcXVlUHRyPGNoYXI+IGRpY3Rpb25hcmllc1BhdGgoZ19idWlsZF9maWxlbmFtZShidWlsZERp
cmVjdG9yeS5kYXRhKCksICJEZXBlbmRlbmNpZXNHVEsiLCAiUm9vdCIsICJ3ZWJraXRndGstdGVz
dC1kaWN0cyIsIG51bGxwdHIpKTsKKyAgICBkaWN0aW9uYXJpZXNQYXRoLnJlc2V0KGdfYnVpbGRf
ZmlsZW5hbWUoYnVpbGREaXJlY3RvcnkuZGF0YSgpLCAiRGVwZW5kZW5jaWVzR1RLIiwgIlJvb3Qi
LCAid2Via2l0Z3RrLXRlc3QtZGljdHMiLCBudWxscHRyKSk7CiAgICAgaWYgKGdfZmlsZV90ZXN0
KGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RF
U1RfSVNfRElSKSkpIHsKICAgICAgICAgc2NhbkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0
aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFpbGFibGVMb2NhbGVzKTsKICAgICAgICAgcmV0dXJuOwpA
QCAtMTMwLDcgKzEzNyw5IEBAIHN0YXRpYyB2b2lkIHNjYW5UZXN0RGljdGlvbmFyaWVzRGlyZWN0
b3J5SWZOZWNlc3NhcnkoSGFzaE1hcDxBdG9tU3RyaW5nLCBWZWN0b3I8CiAKICAgICAvLyBUcnkg
YWx0ZXJuYXRpdmUgZGljdGlvbmFyaWVzIHBhdGggZm9yIHBlb3BsZSBub3QgdXNpbmcgSkhCdWls
ZC4KICAgICBkaWN0aW9uYXJpZXNQYXRoLnJlc2V0KGdfYnVpbGRfZmlsZW5hbWUoYnVpbGREaXJl
Y3RvcnkuZGF0YSgpLCAid2Via2l0Z3RrLXRlc3QtZGljdHMiLCBudWxscHRyKSk7Ci0gICAgc2Nh
bkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFpbGFi
bGVMb2NhbGVzKTsKKyAgICBpZiAoZ19maWxlX3Rlc3QoZGljdGlvbmFyaWVzUGF0aC5nZXQoKSwg
c3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9JU19ESVIpKSkKKyAgICAgICAgc2Nh
bkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFpbGFi
bGVMb2NhbGVzKTsKKwogI2VsaWYgZGVmaW5lZChURVNUX0hZUEhFTkFUQUlPTl9QQVRIKQogICAg
IHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJpZXMoVEVTVF9IWVBIRU5BVEFJT05fUEFUSCwgYXZh
aWxhYmxlTG9jYWxlcyk7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDgzOGQ4ZWJiMGUwNGZmNzAxZDI3NDU4MDhhN2ViYThkMmRkMDc3
OWQuLmExZWNhZGE2ZjBjMTZmN2RmZjllZjBiMDc2YWJiZjQ0MDFjYmYxODYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMTUgQEAK
KzIwMjAtMDEtMDQgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtHVEtdW1dQRV0gTWlncmF0ZSB0byBGbGF0cGFrLWJhc2VkIGRldiBTREsKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTY1OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEpIQnVpbGQgd2lsbCBu
b3cgYmUgdXNlZCBvbmx5IGlmIHRoZSBXRUJLSVRfSkhCVUlMRCBlbnZpcm9ubWVudAorICAgICAg
ICB2YXJpYWJsZSBpcyBzZXQgdG8gMSwgd2hpY2ggaXMgdGhlIGNhc2UgZm9yIHRoZSB0aW1lIGJl
aW5nIG9uIHRoZQorICAgICAgICBHVEsgYW5kIFdQRSBFV1MvYnVpbGQgYm90cy4KKworICAgICAg
ICBCeSBkZWZhdWx0IHRoZSBidWlsZCBkZXBlbmRlbmNpZXMgYXJlIG5vdyBsb2NhbGx5IGluc3Rh
bGxlZCBmcm9tIGEKKyAgICAgICAgRmxhdHBhayByZXBvc2l0b3J5IGhvc3RlZCBhdCBodHRwczov
L3NvZnR3YXJlLmlnYWxpYS5jb20uIFRoZQorICAgICAgICByZXBvc2l0b3J5IGNhbiBiZSByZWdl
bmVyYXRlZCB3aXRoIHRoZSBzY3JpcHRzIGZyb20gdGhlCisgICAgICAgIHdlYmtpdC1mbGF0cGFr
LXNkayBHaXRodWIgcHJvamVjdAorICAgICAgICAoaHR0cHM6Ly9naXRodWIuY29tL0lnYWxpYS93
ZWJraXQtZmxhdHBhay1zZGspLiBUaGlzIGlzIGRvbmUKKyAgICAgICAgdHJhbnNwYXJlbnRseSB3
aXRoIHRoZSB1cGRhdGUtd2Via2l0e2d0ayx3cGV9LWxpYnMgc2NyaXB0cy4gQXMKKyAgICAgICAg
dGhlcmUgaXMgbm8gbmVlZCB0byByZWJ1aWxkIHRoZSBkZXBlbmRlbmNpZXMgZnJvbSBzY3JhdGNo
LCB0aGUKKyAgICAgICAgZGV2ZWxvcGVyIHVzZXItZXhwZXJpZW5jZSBzaG91bGQgbm93IGJlIG11
Y2ggbW9yZSBmcmllbmRseSBhbmQKKyAgICAgICAgb3ZlcmFsbCBidWlsZCB0aW1lcyByZWR1Y2Vk
LgorCisgICAgICAgIEFzIGFuIGFkZGl0aW9uYWwgY29tbW9kaXR5LCB0aGUgbmV3IGVudmlyb25t
ZW50IHN1cHBvcnRzIHRoZQorICAgICAgICBHU3RyZWFtZXIgZ3N0LWJ1aWxkLWJhc2VkIHdvcmtm
bG93LiBKdXN0IHNldCB0aGUgR1NUX0JVSUxEX1BBVEgKKyAgICAgICAgZW52aXJvbm1lbnQgdmFy
aWFibGUgdG8geW91ciBnc3QtYnVpbGQgcGF0aC4gVGhpcyBmZWF0dXJlIHdhcworICAgICAgICBj
b250cmlidXRlZCBieSBUaGliYXVsdCBTYXVuaWVyLgorCisgICAgICAgIFRoZSBKSEJ1aWxkIGlu
ZnJhc3RydWN0dXJlIHdpbGwgYmUgcmVtb3ZlZCBvbmNlIGFsbCB0aGUgYm90cyBoYXZlCisgICAg
ICAgIGJlZW4gc3dpdGNoZWQgb3ZlciB0byBGbGF0cGFrLgorCisgICAgICAgICogQnVpbGRTbGF2
ZVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5OgorICAgICAgICAoSW5zdGFsbEd0a0RlcGVuZGVu
Y2llcyk6CisgICAgICAgIChJbnN0YWxsV3BlRGVwZW5kZW5jaWVzKToKKyAgICAgICAgKENvbXBp
bGVXZWJLaXQuc3RhcnQpOgorICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWlsZGJv
dC9ydW46CisgICAgICAgICogU2NyaXB0cy9idWlsZC13ZWJraXQ6CisgICAgICAgICogU2NyaXB0
cy9ydW4tYmluZGluZ3MtdGVzdHM6CisgICAgICAgICogU2NyaXB0cy9ydW4tYnVpbHRpbnMtZ2Vu
ZXJhdG9yLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVuLWd0ay10ZXN0czoKKyAgICAgICAg
KiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3J1
bi1taW5pYnJvd3NlcjoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXI6
CisgICAgICAgICogU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzOgorICAgICAgICAqIFNjcmlw
dHMvcnVuLXdwZS10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3Rlc3Qtd2Via2l0cGVybDoKKyAg
ICAgICAgKiBTY3JpcHRzL3Rlc3Qtd2Via2l0cHk6CisgICAgICAgICogU2NyaXB0cy90ZXN0MjYy
LXJ1bm5lcjoKKyAgICAgICAgKiBTY3JpcHRzL3VwZGF0ZS13ZWJraXQtZmxhdHBhazogUmVuYW1l
ZCBmcm9tIFRvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrLgorICAgICAgICAq
IFNjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1saWJzOgorICAgICAgICAqIFNjcmlwdHMvdXBkYXRl
LXdlYmtpdHdwZS1mbGF0cGFrOiBSZW1vdmVkLgorICAgICAgICAqIFNjcmlwdHMvdXBkYXRlLXdl
YmtpdHdwZS1saWJzOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0ZGlycy5wbToKKyAgICAgICAg
KGdldFVzZXJGbGF0cGFrUGF0aCk6CisgICAgICAgIChpbkZsYXRwYWtTYW5kYm94KToKKyAgICAg
ICAgKHJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKToKKyAgICAgICAgKHdyYXBwZXJQcmVmaXhJZk5l
ZWRlZCk6CisgICAgICAgIChzaG91bGRVc2VKaGJ1aWxkKToKKyAgICAgICAgKHNob3VsZFVzZUZs
YXRwYWspOgorICAgICAgICAoc2hvdWxkUmVtb3ZlQ01ha2VDYWNoZSk6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZS5weToKKyAgICAgICAgKEV4ZWN1
dGl2ZS5raWxsX2FsbCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHk6
CisgICAgICAgIChQb3J0Ll9wYXRoX3RvX2FwYWNoZSk6CisgICAgICAgIChQb3J0Ll9zaG91bGRf
cnVuX2FzX3BpeGVsX3Rlc3QpOgorICAgICAgICAoUG9ydC5faW5fZmxhdHBha19zYW5kYm94KToK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5OgorICAgICAgICAoR3RrUG9y
dC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIpOgorICAgICAgICAoR3RrUG9ydC5fZ2V0X2NyYXNo
X2xvZyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9s
b2cucHk6CisgICAgICAgIChHREJDcmFzaExvZ0dlbmVyYXRvcik6CisgICAgICAgIChHREJDcmFz
aExvZ0dlbmVyYXRvci5fX2luaXRfXyk6CisgICAgICAgIChHREJDcmFzaExvZ0dlbmVyYXRvci5n
ZW5lcmF0ZV9jcmFzaF9sb2cpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51
eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5OgorICAgICAgICAoR0RCQ3Jhc2hMb2dHZW5lcmF0
b3JUZXN0LnRlc3RfZ2VuZXJhdGVfY3Jhc2hfbG9nKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3BvcnQvd3BlLnB5OgorICAgICAgICAoV1BFUG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2
ZXIpOgorICAgICAgICAoV1BFUG9ydC5fZ2V0X2NyYXNoX2xvZyk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXIucHk6CisgICAgICAgIChYdmZiRHJpdmVyLl9zZXR1
cF9lbnZpcm9uX2Zvcl90ZXN0KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcDoKKyAgICAgICAgKFdUUjo6Z2V0Rm9udHNQ
YXRoKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dwZS9BY3Rp
dmF0ZUZvbnRzV1BFLmNwcDoKKyAgICAgICAgKFdUUjo6Z2V0Rm9udHNQYXRoKToKKyAgICAgICAg
KiBmbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsv
ZmlsZXMvaHR0cGQtYXV0b2dlbi5zaDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL2ZsYXRw
YWt1dGlscy5weToKKyAgICAgICAgKGNoZWNrX2ZsYXRwYWspOgorICAgICAgICAoRmxhdHBha1Jl
cG9zLnVwZGF0ZSk6CisgICAgICAgIChGbGF0cGFrUGFja2FnZS5fX3JlcHJfXyk6CisgICAgICAg
IChGbGF0cGFrUGFja2FnZS5fX3N0cl9fKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsubG9hZF9m
cm9tX2FyZ3MpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5fX2luaXRfXyk6CisgICAgICAgIChX
ZWJraXRGbGF0cGFrLmNsZWFuX2FyZ3MpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5zZXR1cF9i
dWlsZGRpcik6CisgICAgICAgIChXZWJraXRGbGF0cGFrKToKKyAgICAgICAgKFdlYmtpdEZsYXRw
YWsuc2V0dXBfZ3N0YnVpbGQpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5ydW5faW5fc2FuZGJv
eCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnJ1bik6CisgICAgICAgIChXZWJraXRGbGF0cGFr
Lmhhc19lbnZpcm9ubWVudCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnNhdmVfY29uZmlnKToK
KyAgICAgICAgKFdlYmtpdEZsYXRwYWsuc2V0dXBfZGV2X2Vudik6CisgICAgICAgIChXZWJraXRG
bGF0cGFrLmluc3RhbGxfYWxsKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsucnVuX2dkYik6Cisg
ICAgICAgICogZmxhdHBhay9vcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmbGF0cGFrL29yZy53ZWJraXQuR1RLLnlhbWw6IFJlbW92ZWQuCisgICAgICAg
ICogZmxhdHBhay9vcmcud2Via2l0LldQRS55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRw
YWsvb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBh
ay9vcmcud2Via2l0LldQRVFULnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9vcmcu
d2Via2l0LldlYktpdC55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsvcGF0Y2hlcy9o
dHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1kZXRlY3Rpb24ucGF0
Y2g6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVz
ZS1wa2ctY29uZmlnLXRvLWRldGVjdC1ncGctZXJyb3IucGF0Y2g6IFJlbW92ZWQuCisgICAgICAg
ICogZmxhdHBhay9wYXRjaGVzL3h2ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1m
aWxlLnBhdGNoOiBSZW1vdmVkLgorCiAyMDIwLTAxLTI4ICBUaW0gSG9ydG9uICA8dGltb3RoeV9o
b3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIG1hY0NhdGFseXN0OiBSaWdodCBjbGlja2luZyBv
biBhIGxpbmsgZm9sbG93cyBpdCBpbW1lZGlhdGVseQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRT
bGF2ZVN1cHBvcnQvZ3RrL1JFQURNRSBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9SRUFE
TUUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5Zjg5Zjk4MjFhZWVhMjBlZGI3Y2Vk
YmNhYmZiNzdmMzgwYmQyYzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL1JFQURNRQorKysgL2Rldi9udWxs
CkBAIC0xLDQ4ICswLDAgQEAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLSBSdW5uaW5nIGEgR1RLKyBidWlsZCBzbGF2ZSB1bmRlciBkYWVtb250b29scwot
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi1UaGlzIGRp
cmVjdG9yeSBjb250YWlucyBzZXZlcmFsIHNjcmlwdHMgd2hpY2ggY2FuIGJlIHVzZWQgdG8gcnVu
IGEgV2ViS2l0R1RLCi1idWlsZCBzbGF2ZSB1bmRlciBkYWVtb250b29scyBbMV0uIFRoaXMgaXMg
Y29udmVuaWVudCBiZWNhdXNlIGRhZW1vbnRvb2xzCi13aWxsIGF1dG9tYXRpY2FsbHkgcmVzdGFy
dCBzZXJ2aWNlcyB3aGVuIHRoZXkgZGllLCBhbmQgdGhhdCBtZWFucyBsZXNzIGh1bWFuCi1pbnRl
cnZlbnRpb24gaXMgbmVlZGVkLgotCi0KLURlcGVuZGVuY2llcwotPT09PT09PT09PT09Ci0KLUlu
IG9yZGVyIHRvIHVzZSB0aGUgcHJvdmlkZWQgc2VydmljZSBjb250cm9sIGZpbGVzLCB5b3Ugd2ls
bCBuZWVkIHRoZQotZm9sbG93aW5nOgotCi0qIFRoZSBHTlUgQmFzaCBzaGVsbCAodGhlIHNjcmlw
dHMgY29udGFpbiBzb21lIGJhc2gtaXNtcykKLQotKiBUaGUgZGFlbW9udG9vbHMgcGFja2FnZSAo
b3Igb25lIG9mIGl0cyBkcm9wLWluIHJlcGxhY2VtZW50cywgbGlrZSBydW5pdAotICBvciBmcmVl
ZHQ7IGJ1dCBvbmx5IGRhZW1vbnRvb2xzIGhhcyBiZWVuIHRlc3RlZCBzbyBmYXIpLgotCi1JbiBz
aG9ydCwgaW4gYSBEZWJpYW4tYmFzZWQgc3lzdGVtIHlvdSBjYW4gZW5zdXJlIHlvdSBoYXZlIHRo
ZSBuZWVkZWQgYml0cwotd2l0aCB0aGUgZm9sbG93aW5nIGNvbW1hbmQ6Ci0KLSAgYXB0LWdldCBp
bnN0YWxsIGRhZW1vbnRvb2xzLXJ1bgotCi0KLVNldHVwCi09PT09PQotCi0xLiBGb2xsb3cgdGhl
IGluc3RydWN0aW9ucyBhdCBodHRwOi8vdHJhYy53ZWJraXQub3JnL3dpa2kvQnVpbGRCb3QKLQot
Mi4gSW5zdGFsbCB0aGUgZGVwZW5kZW5jaWVzIG91dGxpbmVkIGFib3ZlLgotCi0zLiBDb3B5ICJk
YWVtb250b29scy1idWlsZGJvdC5jb25mIiB0byAiL2V0Yy9kYWVtb250b29scy1idWlsZGJvdC5j
b25mIgotCi00LiBFZGl0IHRoZSBjb25maWd1cmF0aW9uIGZpbGUgdG8gc3VpdCB5b3VyIG5lZWRz
LCB0aGUgY29tbWVudHMgc2hvdWxkCi0gICBiZSBzZWxmLWV4cGxhbmF0b3J5LgotCi01LiBEcm9w
IHRoZSAiYnVpbGRib3QiIGFuZCAicHVsc2VhdWRpbyIgZGlyZWN0b3JpZXMgdG8gdGhlIHNlcnZp
Y2UgY29udHJvbCBkaXJlY3Rvcnkgb2YKLSAgIGRhZW1vbnRvb2xzOyBmb3IgRGViaWFuLWJhc2Vk
IHNldHVwcyB0aGF0IHdvdWxkIGJlICIvZXRjL3NlcnZpY2UiCi0KLQotUmVmZXJlbmNlcwotPT09
PT09PT09PQotCi1bMV0gaHR0cDovL2NyLnlwLnRvL2RhZW1vbnRvb2xzLmh0bWwKLQpkaWZmIC0t
Z2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L2xvZy9ydW4gYi9Ub29s
cy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvbG9nL3J1bgpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA3NTUKaW5kZXggZjZjNzQ0YzZkZGE0NWNiZTJiNWQwZmE4YzRmMjViYWI1MWY2YTRkZC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvbG9nL3J1bgorKysgL2Rldi9udWxsCkBAIC0xLDM4
ICswLDAgQEAKLSMhIC91c3IvYmluL2VudiBiYXNoCi0jCi0jIENvcHlyaWdodCAoQykgMjAxMCBJ
Z2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0jIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgot
IyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bwotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KLQotOiAke0JVSUxEQk9UX0NPTkZJRzo9L2V0Yy9kYWVtb250b29scy1idWlsZGJv
dC5jb25mfQotCi0jIFJlYWQgY29uZmlndXJhdGlvbiBmaWxlCi1bIC1yICIke0JVSUxEQk9UX0NP
TkZJR30iIF0gJiYgLiAiJHtCVUlMREJPVF9DT05GSUd9IgotCi06ICR7YnVpbGRib3RfdXNlcjo9
JHtIT01FfX0KLTogJHtidWlsZGJvdF9sb2dfcGF0aDo9L3Zhci9sb2cvYnVpbGRib3R9Ci0KLSMg
RXhwYW5kIGFsbCAiZW52XyoiIGVudmlyb25tZW50IHZhcmlhYmxlcwotZm9yIHZhcm5hbWUgaW4g
JHshZW52Xyp9IDsgZG8KLQlldmFsICJleHBvcnQgJHt2YXJuYW1lI2Vudl99PVwkeyR7dmFybmFt
ZX19IgotZG9uZQotCi1ta2RpciAtcCAiJHtidWlsZGJvdF9sb2dfcGF0aH0iCi1jaG93biAiJHti
dWlsZGJvdF91c2VyfSIgIiR7YnVpbGRib3RfbG9nX3BhdGh9IgotCi1leGVjIC91c3IvYmluL3Nl
dHVpZGdpZCAiJHtidWlsZGJvdF91c2VyfSIgXAotICAgICAvdXNyL2Jpbi9tdWx0aWxvZyB0ICIk
e2J1aWxkYm90X2xvZ19wYXRofSIKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBv
cnQvZ3RrL2J1aWxkYm90L3J1biBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWlsZGJv
dC9ydW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDE2NmMzODNlYThlNmMxMGZjYzA1
ZWYwN2VkNGY0ODg5YmJiYjllYWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L3J1bgorKysg
L2Rldi9udWxsCkBAIC0xLDc3ICswLDAgQEAKLSMhIC91c3IvYmluL2VudiBiYXNoCi0jCi0jIENv
cHlyaWdodCAoQykgMjAxMCBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCi0jIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgotIyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotIyBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
LSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotIyB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIyBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLQotZXhlYyAyPiYxCi0KLTogJHtCVUlMREJPVF9D
T05GSUc6PS9ldGMvZGFlbW9udG9vbHMtYnVpbGRib3QuY29uZn0KLQotIyBSZWFkIGNvbmZpZ3Vy
YXRpb24gZmlsZQotWyAtciAiJHtCVUlMREJPVF9DT05GSUd9IiBdICYmIC4gIiR7QlVJTERCT1Rf
Q09ORklHfSIKLQotIyBFeHBhbmQgYWxsICJlbnZfKiIgZW52aXJvbm1lbnQgdmFyaWFibGVzCi1m
b3IgdmFybmFtZSBpbiAkeyFlbnZfKn0gOyBkbwotCWV2YWwgImV4cG9ydCAke3Zhcm5hbWUjZW52
X309XCR7JHt2YXJuYW1lfX0iCi1kb25lCi0KLQotaWYgISBbICIke2J1aWxkYm90X3BhdGh9IiBd
IDsgdGhlbgotCWVjaG8gIk5vIFwke2J1aWxkYm90X3BhdGh9IGRlZmluZWQhICh3aWxsIHNsZWVw
IGZvciA1IG1pbnV0ZXMpIgotCXNsZWVwIDMwMAotCWV4aXQgMTExCi1maQotCi0KLWlmICEgWyAi
JHtXRUJLSVRfVEVTVEZPTlRTfSIgXSA7IHRoZW4KLQllY2hvICJObyBcJHtXRUJLSVRfVEVTVEZP
TlRTfSBlbnZpcm9ubWVudCB2YXJpYWJsZSEgKHdpbGwgc2xlZXAgZm9yIDUgbWludXRlcykiCi0J
c2xlZXAgMzAwCi0JZXhpdCAxMTEKLWZpCi0KLQotaWYgWyAiJHtjb3JlZHVtcF9vdXRwdXQ6PScn
fSIgXSA7IHRoZW4KLQkjIEVuc3VyZSB0aGF0IHRoZSBvdXRwdXQgZGlyZWN0b3J5IGV4aXN0cy4K
LQlpZiBbWyAhIC1kICR7Y3Jhc2htb25fb3V0cHV0fSBdXSA7IHRoZW4KLQkJbWtkaXIgLXAgIiR7
Y3Jhc2htb25fb3V0cHV0fSIKLQlmaQotCi0JdWxpbWl0IC1jICIke2NyYXNobW9uX21heF9zaXpl
Oj11bmxpbWl0ZWR9IgotZmkKLQotCi1pZiBbICIke2NjYWNoZV9wYXRofSIgXSA7IHRoZW4KLQll
eHBvcnQgUEFUSD0iJHtjY2FjaGVfcGF0aH06JHtQQVRIfSIKLWZpCi0KLTogJHtidWlsZGJvdF91
c2VyOj0ke1VTRVJ9fQotCi1jZCAiJHtidWlsZGJvdF9wYXRofSIKLWV4ZWMgL3Vzci9iaW4vZW52
IC0gICAgICAgICAgXAotCQlURVJNPWR1bWIgICAgICAgICAgICAgICAgIFwKLQkJVFo9UFNUOFBE
VCAgICAgICAgICAgICAgICAgXAotCQlQQVRIPSIke1BBVEh9IiAgICAgICAgICAgICAgXAotCQlT
SEVMTD0vYmluL2Jhc2ggICAgICAgICAgICAgIFwKLQkJTEFORz1lbl9VUy5VVEYtOCAgICAgICAg
ICAgICAgXAotCQlVU0VSPSIke2J1aWxkYm90X3VzZXJ9IiAgICAgICAgXAotCQlMT0dOQU1FPSIk
e2J1aWxkYm90X3VzZXJ9IiAgICAgIFwKLQkJSE9NRT0iL2hvbWUvJHtidWlsZGJvdF91c2VyfSIg
ICAgXAotCQlESVNQTEFZPSIke3h2ZmJfZGlzcGxheTotJzoxMCd9IiAgXAotCQlNQUlMPSIvdmFy
L21haWwvJHtidWlsZGJvdF91c2VyfSIgIFwKLQkvdXNyL2Jpbi9zZXR1aWRnaWQgIiR7YnVpbGRi
b3RfdXNlcn0iIFwKLQkvdXNyL2Jpbi90d2lzdGQgLW5veSBidWlsZGJvdC50YWMKLQpkaWZmIC0t
Z2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNv
bmYgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvZGFlbW9udG9vbHMtYnVpbGRib3QuY29u
ZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDZhZjI5ZjdiMDYyNjgyMTZjZTRhMWYx
YWFlZThkNDYyMGQyNGRmZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvZGFlbW9udG9vbHMtYnVpbGRib3Qu
Y29uZgorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDEw
IElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
Ci0jIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCi0jIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgotCi0KLSMgUGF0aCB0byB0aGUgQnVpbGRib3Qgc2xhdmUgZGlyZWN0b3J5Ci0j
Ci1idWlsZGJvdF9wYXRoPSIvaG9tZS9zbGF2ZS93ZWJraXRndGsiCi0KLSMgVXNlciBhY2NvdW50
IHVzZWQgdG8gcnVuIEJ1aWxkYm90LgotIwotYnVpbGRib3RfdXNlcj0ic2xhdmUiCi0KLSMgUGF0
aCB0byBhIGRpcmVjdG9yeSB3aGVyZSB0byBsb2cgQnVpbGRib3Qgb3V0cHV0Ci0jCi1idWlsZGJv
dF9sb2dfcGF0aD0iL3Zhci9sb2cvYnVpbGRib3QiCi0KLQotIyBJZiB5b3Ugd2FudCB0byB1c2Ug
Y2NhY2hlLCBzZXQgYSBwYXRoIHRvIHdoZXJlIHN5bmxpbmtzIHdpdGggdG9vbAotIyBuYW1lcyBw
b2ludGluZyB0byBjY2FjaGUgYXJlIGluc3RhbGxlZC4gSW4gRGViaWFuIHN5c3RlbXMgdGhpcwot
IyB3b3VsZCBiZSAvdXNyL2xpYi9jY2FjaGUuIFNldCB0byBlbXB0eSB0byBkaXNhYmxlLgotIwot
Y2NhY2hlX3BhdGg9Ii91c3IvbGliL2NjYWNoZSIKLQotCi0jIEVudmlyb25tZW50IHZhcmlhYmxl
cy4gUHJlZml4IHRoZW0gd2l0aCAiZW52XyIuCi0jCi1lbnZfQ0ZMQUdTPSItcGlwZSIKLWVudl9D
WFhGTEFHUz0iLXBpcGUiCi1lbnZfTERGTEFHUz0iLW5vLWluc3RhbGwgLW5vLWZhc3QtaW5zdGFs
bCIKLWVudl9XRUJLSVRfVEVTVEZPTlRTPSIvaG9tZS8ke2J1aWxkYm90X3VzZXJ9L3Rlc3Rmb250
cyIKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL3B1bHNlYXVkaW8v
cnVuIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL3B1bHNlYXVkaW8vcnVuCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDc1NQppbmRleCA3YzExN2FkOWQyMDczOThkODZmMDI3MzhlNTkzMTg5NTkx
N2Q1Njc4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rv
b2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9wdWxzZWF1ZGlvL3J1bgorKysgL2Rldi9udWxsCkBA
IC0xLDI0ICswLDAgQEAKLSMhIC91c3IvYmluL2VudiBiYXNoCi0jCi0jIENvcHlyaWdodCAoQykg
MjAxMCBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0j
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgotIyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KLQotZXhlYyAyPiYxCi1leGVjIC91c3IvYmluL3B1bHNlYXVkaW8gLS1z
eXN0ZW0gXAotCS0tZGlzYWxsb3ctZXhpdCAtLWRpc2FsbG93LW1vZHVsZS1sb2FkaW5nIFwKLQkt
LWxvZy10YXJnZXQ9c3lzbG9nCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Vi
a2l0IGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKaW5kZXggZmMwNjY0YTY1MDU1NDZmNDI4
Yzc1MTRiOTY3NTExOWI3NWE2MjE0MC4uMDk5ZDMzYTRiOWI5Y2RmNDMyY2QxMDI2ZWE2YWFlMGNi
OTI1N2E3NyAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKKysrIGIvVG9v
bHMvU2NyaXB0cy9idWlsZC13ZWJraXQKQEAgLTUzLDggKzUzLDggQEAgc2V0Q29uZmlndXJhdGlv
bigpOwogCiBpZiAoc2hvdWxkVXNlRmxhdHBhaygpKSB7CiAgICAgcHJpbnQgIkJ1aWxkaW5nIGZs
YXRwYWsgYmFzZWQgZW52aXJvbm1lbnRcbiI7Ci0KLSAgICBydW5JbkZsYXRwYWsoIi9hcHAvd2Vi
a2l0L1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0Iik7CisgICAgbXkgQGNvbW1hbmQgPSAoRmls
ZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgIlNjcmlwdHMiLCAiYnVpbGQt
d2Via2l0IikpOworICAgIHJ1bkluRmxhdHBhayhAY29tbWFuZCk7CiB9CiAKIG15ICRvcmlnaW5h
bFdvcmtpbmdEaXJlY3RvcnkgPSBnZXRjd2QoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
cnVuLWJpbmRpbmdzLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMKaW5k
ZXggZjZlNDQ3NzI1MGY5ZTE5ZTM5NThlZmNiN2Q2ZTgxZTJhYzI4YzlhYi4uMGFjMGIzYTMxMDg4
YTEyMmUwOTk4ZWE0OTU2NWJmMjM4NzczOGE1MCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9y
dW4tYmluZGluZ3MtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMK
QEAgLTMzLDYgKzMzLDExIEBAIGltcG9ydCBvcwogaW1wb3J0IHN5cwogZnJvbSB3ZWJraXRweS5j
b21tb24uc3lzdGVtIGltcG9ydCBleGVjdXRpdmUKIAordG9wX2xldmVsX2RpcmVjdG9yeSA9IG9z
LnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICcu
LicsICcuLicpKQorc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxfZGly
ZWN0b3J5LCAnVG9vbHMnLCAnZmxhdHBhaycpKQoraW1wb3J0IGZsYXRwYWt1dGlscworZmxhdHBh
a3V0aWxzLnJ1bl9pbl9zYW5kYm94X2lmX2F2YWlsYWJsZShzeXMuYXJndikKKwogZGVmIG1haW4o
YXJndik6CiAgICAgIiIiUnVucyBXZWJDb3JlIGJpbmRpbmdzIGNvZGUgZ2VuZXJhdG9ycyBvbiB0
ZXN0IElETCBmaWxlcyBhbmQgY29tcGFyZXMKICAgICB0aGUgcmVzdWx0cyB3aXRoIHJlZmVyZW5j
ZSBmaWxlcy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRv
ci10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRvci10ZXN0cwppbmRl
eCAyMzk4Yzc4Y2ExMGVjNTk3NjI2NjEyYzg1NTUzYWJkMWE0ZTZmYmQ0Li5mYmIwODY0MjQxOTc0
ZWE2MDM1ZGE4OGIzNjc5YmM0M2MwMmM3ZTlkIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1
bi1idWlsdGlucy1nZW5lcmF0b3ItdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tYnVpbHRp
bnMtZ2VuZXJhdG9yLXRlc3RzCkBAIC0yNSw2ICsyNSwxMiBAQAogaW1wb3J0IHN5cwogZnJvbSB3
ZWJraXRweS5jb21tb24uc3lzdGVtIGltcG9ydCBleGVjdXRpdmUKIAoraW1wb3J0IG9zCit0b3Bf
bGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5k
aXJuYW1lKF9fZmlsZV9fKSwgJy4uJywgJy4uJykpCitzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0
aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICdUb29scycsICdmbGF0cGFrJykpCitpbXBvcnQg
ZmxhdHBha3V0aWxzCitmbGF0cGFrdXRpbHMucnVuX2luX3NhbmRib3hfaWZfYXZhaWxhYmxlKHN5
cy5hcmd2KQorCiBkZWYgbWFpbihhcmd2KToKICAgICAiIiJSdW5zIHRoZSBKUyBidWlsdGlucyBj
b2RlIGdlbmVyYXRvciBvbiB0ZXN0IGlucHV0IGZpbGVzIGFuZCBjb21wYXJlcwogICAgIHRoZSBy
ZXN1bHRzIHdpdGggcmVmZXJlbmNlIGZpbGVzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9y
dW4tZ3RrLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzCmluZGV4IDQxYjA1ZTJk
ZjRiMWU2ZDhmZTM4ZWEzYzU0OWI1MzM1ODRhNDI5N2UuLmQzOTc0OGY0YzNkOGZkZmNlZmYxYTIy
OTlhZGE0MmM4N2U2NWFhZTUgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWd0ay10ZXN0
cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMKQEAgLTEzMyw3ICsxMzMsNyBAQCBp
ZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIGlmIG5vdCBmbGF0cGFrdXRpbHMuaXNfc2Fu
ZGJveGVkKCkgYW5kIG5vdCBqaGJ1aWxkdXRpbHMuZW50ZXJfamhidWlsZF9lbnZpcm9ubWVudF9p
Zl9hdmFpbGFibGUoImd0ayIpOgogICAgICAgICBwcmludCAnKioqJwogICAgICAgICBwcmludCAn
KioqIFdhcm5pbmc6IGpoYnVpbGQgZW52aXJvbm1lbnQgbm90IHByZXNlbnQgYW5kIG5vdCBydW5u
aW5nIGluIGZsYXRwYWsuJwotICAgICAgICBwcmludCAnKioqIFJ1biB1cGRhdGUtd2Via2l0Z3Rr
LWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIGJlZm9yZSBidWlsZC13ZWJraXQgdG8g
ZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCisgICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13
ZWJraXRndGstbGlicyBvciB1cGRhdGUtd2Via2l0LWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtp
dCB0byBlbnN1cmUgcHJvcGVyIHRlc3RpbmcuLicKICAgICAgICAgcHJpbnQgJyoqKicKIAogICAg
IG9wdGlvbl9wYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIodXNhZ2U9J3VzYWdlOiAlcHJv
ZyBbb3B0aW9uc10gW3Rlc3QuLi5dJykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWph
dmFzY3JpcHRjb3JlLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVz
dHMKaW5kZXggODhkNGY1YmYxZjZmZDk5MDcyYTQ4YWM3NDg0OThhNmM0MGMxZjNlOS4uOTkzNzE3
YTc0NGQ2ZDIxY2MyM2YxNDBkNmQ1NzhiZWUwYTZkOTAwNiAxMDA3NTUKLS0tIGEvVG9vbHMvU2Ny
aXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2
YXNjcmlwdGNvcmUtdGVzdHMKQEAgLTQ2LDYgKzQ2LDEyIEBAIHVzZSBUZXh0OjpQYXJzZVdvcmRz
Owogc2V0Q29uZmlndXJhdGlvbigpOwogbXkgJGNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9u
KCk7CiAKK2lmIChzaG91bGRVc2VGbGF0cGFrKCkpIHsKKyAgICBteSBAY29tbWFuZCA9IChGaWxl
OjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tamF2
YXNjcmlwdGNvcmUtdGVzdHMiKSk7CisgICAgcnVuSW5GbGF0cGFrKEBjb21tYW5kKTsKK30KKwor
CiAjIFRoZXNlIHZhcmlhYmxlcyBhcmUgaW50ZW50aW9uYWxseSBsZWZ0IHVuZGVmaW5lZC4KIG15
ICRyb290OwogbXkgJHNob3dIZWxwOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tbWlu
aWJyb3dzZXIgYi9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlcgppbmRleCA0Y2Y2YmU0MDQ3
YmZkNzZkNjgxMDlhYjI5YWE2OGE5MGRjMDg2NmUxLi45MGNkM2ZhZjQzMWFlYjkyOGRmZDZkZGZk
NmVkNmQyM2QyZjIxY2NjIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3Nl
cgorKysgYi9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlcgpAQCAtNDUsNyArNDUsOCBAQCBw
cm9oaWJpdFVua25vd25Qb3J0KCk7CiBzZXRDb25maWd1cmF0aW9uKCk7CiAKIGlmIChpc0d0aygp
IHx8IGlzV1BFKCkpIHsKLSAgICBydW5JbkZsYXRwYWtJZkF2YWlsYWJsZSgiL2FwcC93ZWJraXQv
VG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXIiKTsKKyAgICBteSBAY29tbWFuZCA9IChGaWxl
OjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tbWlu
aWJyb3dzZXIiKSk7CisgICAgcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQGNvbW1hbmQpOwogCiAg
ICAgIyBDaGVjayB0byBzZWUgdGhhdCBhbGwgdGhlIGZyYW1ld29ya3MgYXJlIGJ1aWx0LgogICAg
IGNoZWNrRnJhbWV3b3JrcygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tcXQtd3Bl
LW1pbmlicm93c2VyIGIvVG9vbHMvU2NyaXB0cy9ydW4tcXQtd3BlLW1pbmlicm93c2VyCmluZGV4
IGFlYWNiNDgzYzJmZDEwYWFhNWZkZDAwZGM2ZDRjMGM5ZjYxNzMyNDUuLmQ0MjFjZTYyNDgxNmUx
MmQyZDdkZjM4ZGE5MDlhZDA1YTZjOTVmYTAgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVu
LXF0LXdwZS1taW5pYnJvd3NlcgorKysgYi9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJy
b3dzZXIKQEAgLTM4LDkgKzM4LDEzIEBAIG15IEBqaGJ1aWxkV3JhcHBlcjsKIG15ICRjb25maWd1
cmF0aW9uID0gcGFzc2VkQ29uZmlndXJhdGlvbigpOwogbXkgJHByb2R1Y3REaXIgPSBwcm9kdWN0
RGlyKCk7CiAKLSRsaWJQYXRoID0gIi9hcHAvd2Via2l0L1dlYktpdEJ1aWxkLyRjb25maWd1cmF0
aW9uL2xpYi9xbWwiIGlmICRjb25maWd1cmF0aW9uOwotJEVOVnsiUU1MMl9JTVBPUlRfUEFUSCJ9
ID0gIiRsaWJQYXRoIiBpZiAkbGliUGF0aDsKLXJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKCIvYXBw
L3dlYmtpdC9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXIiKTsKK2lmICgkY29u
ZmlndXJhdGlvbikgeworICAgICRsaWJQYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VE
aXIoKSwgIldlYktpdEJ1aWxkIiwgIiRjb25maWd1cmF0aW9uIiwgImxpYiIsICJxbWwiKTsKKyAg
ICAkRU5WeyJRTUwyX0lNUE9SVF9QQVRIIn0gPSAiJGxpYlBhdGgiOworfQorCitteSBAY29tbWFu
ZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIs
ICJydW4tcXQtd3BlLW1pbmlicm93c2VyIikpOworcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQGNv
bW1hbmQpOwogCiAjIENoZWNrIHRvIHNlZSB0aGF0IGFsbCB0aGUgZnJhbWV3b3JrcyBhcmUgYnVp
bHQuCiBjaGVja0ZyYW1ld29ya3MoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLXdl
YmRyaXZlci10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0cwppbmRleCBh
Y2MzNWY3MjQ4M2YyODMyZjA5YzhlZmIxODk1ZDE4MWQ0ZDY3OTI5Li5jMzAwNGQ0NTMyM2M1MTQy
NjY1ZDM3MDMzN2U4ZTU5MDQyM2E5ZDQwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi13
ZWJkcml2ZXItdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzCkBA
IC03OCw3ICs3OCw3IEBAIGlmIHBvcnQubmFtZSgpIGluIFsnZ3RrJywgJ3dwZSddOgogICAgICAg
ICBpZiBub3QgamhidWlsZHV0aWxzLmVudGVyX2poYnVpbGRfZW52aXJvbm1lbnRfaWZfYXZhaWxh
YmxlKHBvcnQubmFtZSgpKToKICAgICAgICAgICAgIHByaW50ICcqKionCiAgICAgICAgICAgICBw
cmludCAnKioqIFdhcm5pbmc6IGpoYnVpbGQgZW52aXJvbm1lbnQgbm90IHByZXNlbnQgYW5kIG5v
dCBydW5uaW5nIGluIGZsYXRwYWsuJwotICAgICAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRl
LXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXRndGstZmxhdHBhayBiZWZvcmUgYnVpbGQt
d2Via2l0IHRvIGVuc3VyZSBwcm9wZXIgdGVzdGluZy4uJworICAgICAgICAgICAgcHJpbnQgJyoq
KiBSdW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBhayBiZWZv
cmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9wZXIgdGVzdGluZy4uJwogICAgICAgICAgICAg
cHJpbnQgJyoqKicKIAogcG9ydC5fZGlzcGxheV9zZXJ2ZXIgPSBvcHRpb25zLmRpc3BsYXlfc2Vy
dmVyCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi13cGUtdGVzdHMgYi9Ub29scy9TY3Jp
cHRzL3J1bi13cGUtdGVzdHMKaW5kZXggOGY3NzQ5ZWI2YWQ2ZDFmMTk5MTNhMTc2OTlkY2I3Njc3
ZjQ4NjJkMS4uZjM0YzE5NzA2NDc3NjIyNjI0NTJlNmFlODNmYTI4NWYyOGU1ZDE4MCAxMDA3NTUK
LS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4td3BlLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVu
LXdwZS10ZXN0cwpAQCAtNTEsNyArNTEsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgog
ICAgIGlmIG5vdCBmbGF0cGFrdXRpbHMuaXNfc2FuZGJveGVkKCkgYW5kIG5vdCBqaGJ1aWxkdXRp
bHMuZW50ZXJfamhidWlsZF9lbnZpcm9ubWVudF9pZl9hdmFpbGFibGUoIndwZSIpOgogICAgICAg
ICBwcmludCAnKioqJwogICAgICAgICBwcmludCAnKioqIFdhcm5pbmc6IGpoYnVpbGQgZW52aXJv
bm1lbnQgbm90IHByZXNlbnQgYW5kIG5vdCBydW5uaW5nIGluIGZsYXRwYWsuJwotICAgICAgICBw
cmludCAnKioqIFJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1m
bGF0cGFrIGJlZm9yZSBidWlsZC13ZWJraXQgdG8gZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCisg
ICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13ZWJraXR3cGUtbGlicyBvciB1cGRhdGUtd2Vi
a2l0LWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3Rpbmcu
LicKICAgICAgICAgcHJpbnQgJyoqKicKIAogICAgIG9wdGlvbl9wYXJzZXIgPSBvcHRwYXJzZS5P
cHRpb25QYXJzZXIodXNhZ2U9J3VzYWdlOiAlcHJvZyBbb3B0aW9uc10gW3Rlc3QuLi5dJykKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRwZXJsIGIvVG9vbHMvU2NyaXB0cy90
ZXN0LXdlYmtpdHBlcmwKaW5kZXggNjQ5NTY5NjBmZmM2N2FlN2RmOTMzNjQxMzZkOTFhNWQ4OGVh
OTk0My4uZGM4MWMxN2MzYmFjNTlhODgxYTczZWQxNWIzYTc0NjBjYTdiOWY5OCAxMDA3NTUKLS0t
IGEvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHBlcmwKKysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0
LXdlYmtpdHBlcmwKQEAgLTMyLDYgKzMyLDEzIEBACiAKIHVzZSBzdHJpY3Q7CiB1c2Ugd2Fybmlu
Z3M7Cit1c2UgRmlsZTo6QmFzZW5hbWU7Cit1c2UgRmlsZTo6RmluZDsKK3VzZSBGaWxlOjpTcGVj
OwordXNlIEZpbmRCaW47Cit1c2UgR2V0b3B0OjpMb25nIHF3KDpjb25maWcgcGFzc190aHJvdWdo
IG5vX2F1dG9fYWJicmV2KTsKK3VzZSBsaWIgJEZpbmRCaW46OkJpbjsKK3VzZSB3ZWJraXRkaXJz
OwogCiB1c2UgRmlsZTo6U3BlYzsKIHVzZSBGaW5kQmluOwpAQCAtMzksNiArNDYsMTEgQEAgdXNl
IFRlc3Q6Okhhcm5lc3M7CiB1c2UgbGliICRGaW5kQmluOjpCaW47ICMgc28gdGhpcyBzY3JpcHQg
Y2FuIGJlIHJ1biBmcm9tIGFueSBkaXJlY3RvcnkuCiB1c2UgVkNTVXRpbHM7CiAKK2lmIChzaG91
bGRVc2VGbGF0cGFrKCkpIHsKKyAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxl
KHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJ0ZXN0LXdlYmtpdHBlcmwiKSk7Cisg
ICAgcnVuSW5GbGF0cGFrKEBjb21tYW5kKTsKK30KKwogIyBDaGFuZ2UgdGhlIHdvcmtpbmcgZGly
ZWN0b3J5IHNvIHRoYXQgd2UgY2FuIHBhc3Mgc2hvcnRlciwgcmVsYXRpdmUKICMgcGF0aHMgdG8g
cnVudGVzdHMoKSwgcmF0aGVyIHRoYW4gbG9uZ2VyLCBhYnNvbHV0ZSBwYXRocy4KICMKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweSBiL1Rvb2xzL1NjcmlwdHMvdGVzdC13
ZWJraXRweQppbmRleCBlZTY4MmNjY2YwYWNhM2YyMGRjNjE1ZmU4YjYzMjNjY2M1N2NiZWE0Li40
MjM4OGU5Zjg2MTc4NWVmN2UzOGZiMWY0NTQ5MDA1MDUyZjAwYWVjIDEwMDc1NQotLS0gYS9Ub29s
cy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkKKysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5
CkBAIC0yOSw0ICsyOSwxMCBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogZnJvbSB3ZWJraXRweS5jb21tb24g
aW1wb3J0IG11bHRpcHJvY2Vzc2luZ19ib290c3RyYXAKIAoraW1wb3J0IG9zLCBzeXMKK3RvcF9s
ZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRp
cm5hbWUoX19maWxlX18pLCAnLi4nLCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRo
LmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBm
bGF0cGFrdXRpbHMKK2ZsYXRwYWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lz
LmFyZ3YpCisKIG11bHRpcHJvY2Vzc2luZ19ib290c3RyYXAucnVuKCd3ZWJraXRweScsICd0ZXN0
JywgJ21haW4ucHknKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lciBi
L1Rvb2xzL1NjcmlwdHMvdGVzdDI2Mi1ydW5uZXIKaW5kZXggYTEzMWJjZjYzM2UzMGQ5NzY1ZmI1
NjI0MjUwNzMxMTdhOThmMjIzOC4uYWY3YWQ1ZTQ4ZWYyNTA4Y2Y0ZTIxZDU4ZDU1MGNmMDMyZWY1
ZmEyYiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lcgorKysgYi9Ub29s
cy9TY3JpcHRzL3Rlc3QyNjItcnVubmVyCkBAIC0zNCw2ICszNCwyNiBAQCB1c2UgNS44Ljg7CiB1
c2UgRmluZEJpbjsKIHVzZSBDb25maWc7CiAKK0JFR0lOIHsKKyAgICB1c2UgbGliICRGaW5kQmlu
OjpCaW47CisgICAgdXNlIEZpbGU6OlNwZWM6OkZ1bmN0aW9ucyBxdyhjYXRmaWxlKTsKKworICAg
IGlmICghZ3JlcCgvXi0tbm8tZmxhdHBhay1jaGVjayQvLCBAQVJHVikpIHsKKyAgICAgICAgaWYg
KGV2YWwge3JlcXVpcmUgd2Via2l0ZGlyczsgMTt9KSB7CisgICAgICAgICAgICB3ZWJraXRkaXJz
LT5pbXBvcnQocXcoc2hvdWxkVXNlRmxhdHBhayBydW5JbkZsYXRwYWsgc291cmNlRGlyKSk7Cisg
ICAgICAgICAgICBpZiAoc2hvdWxkVXNlRmxhdHBhaygpKSB7CisgICAgICAgICAgICAgICAgcHJp
bnQgIlJ1bm5pbmcgaW4gZmxhdHBhayBiYXNlZCBlbnZpcm9ubWVudFxuIjsKKyAgICAgICAgICAg
ICAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9v
bHMiLCAiU2NyaXB0cyIsICJ0ZXN0MjYyLXJ1bm5lciIpKTsKKyAgICAgICAgICAgICAgICAjIFBy
ZXZlbnQgZXhlYydkIHRlc3QyNjItcnVubmVyIHByb2Nlc3MgZnJvbSBpbXBvcnRpbmcKKyAgICAg
ICAgICAgICAgICAjIHdlYmtpdGRpcnMgc28gdGhhdCBpdCBjYW4gc3VjY2VlZCBsYXRlciBvbiBp
biB0aGUgUnVubmVyCisgICAgICAgICAgICAgICAgIyBtb2R1bGUuLi4gUGVybC4gwq9cXyjjg4Qp
Xy/CrworICAgICAgICAgICAgICAgIHB1c2goQEFSR1YsICItLW5vLWZsYXRwYWstY2hlY2siKTsK
KyAgICAgICAgICAgICAgICBydW5JbkZsYXRwYWsoQGNvbW1hbmQpOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgfQorfQorCiBCRUdJTiB7CiAgICAgJEVOVntEQklDX09WRVJXUklURV9I
RUxQRVJfTUVUSE9EU19PS30gPSAxOwogICAgICRFTlZ7VDI2Ml9FWEVDX0JJTn0gPSAiJEZpbmRC
aW46OkJpbi90ZXN0MjYyIjsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtp
dC1mbGF0cGFrIGIvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0LWZsYXRwYWsKbmV3IGZpbGUg
bW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTg2YjgxYTIwMzNmNGJiN2JlMmQyOWJkZTVjMTJjZjQ5NTMzMGQ1NQotLS0gL2Rldi9udWxs
CisrKyBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdC1mbGF0cGFrCkBAIC0wLDAgKzEsMjgg
QEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMu
TC4KKyMgQ29weXJpZ2h0IChjKSAyMDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2Fs
aWEuY29tPgorIworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisjIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisjIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIHBy
b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKKyMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBw
cm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZQorIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwKKyMgQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCisjIHB5bGludDogZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5h
bWUKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0
aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwg
Ii4uIikpCitzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3Rv
cnksICJUb29scyIsICJmbGF0cGFrIikpCitmcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0
RmxhdHBhaworCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIFdlYmtpdEZsYXRwYWsu
bG9hZF9mcm9tX2FyZ3MoWyItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsgYi9Ub29scy9TY3Jp
cHRzL3VwZGF0ZS13ZWJraXRndGstZmxhdHBhawpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5k
ZXggMDk1NmYxZjJlMTQ4NWQyNDg2MmVmN2Y2ZDc0YTJmM2Y5OGNmOTJmOC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13
ZWJraXRndGstZmxhdHBhaworKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLSMhL3Vzci9i
aW4vZW52IHB5dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KLSMgQ29weXJp
Z2h0IChjKSAyMDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotIwot
IyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMg
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKLSMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBu
b3QsIHdyaXRlIHRvIHRoZQotIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0j
IHB5bGludDogZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5hbWUKLWltcG9ydCBv
cwotaW1wb3J0IHN5cwotCi10b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChv
cy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCi1zeXMu
cGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICJUb29scyIs
ICJmbGF0cGFrIikpCi1mcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0RmxhdHBhawotCi1p
ZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2Fy
Z3MoWyItLWd0ayIsICItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWxpYnMgYi9Ub29scy9TY3JpcHRzL3Vw
ZGF0ZS13ZWJraXRndGstbGlicwppbmRleCAyZTFjMDJmZmQ3MDU2MDA4MGUzNmJjNzRiNDY1OGZm
ZWY1ZGVjZDhlLi4yZThhODc4NTE5NmRiOGM3YmZjYzQ5MDQ5NWFkOWM1ZDcwMGZmZjUxIDEwMDc1
NQotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstbGlicworKysgYi9Ub29scy9T
Y3JpcHRzL3VwZGF0ZS13ZWJraXRndGstbGlicwpAQCAtMjIsNCArMjIsOCBAQCB1c2UgbGliICRG
aW5kQmluOjpCaW47CiB1c2Ugd2Via2l0ZGlyczsKIAogbXkgJHNjcmlwdHNEaXIgPSByZWxhdGl2
ZVNjcmlwdHNEaXIoKTsKLXN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0
LWxpYnMtamhidWlsZCIsICItLWd0ayIsIEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK2lmIChkZWZp
bmVkICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30gYW5kICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30pIHsK
KyAgICBzeXN0ZW0oInBlcmwiLCAiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1saWJzLWpoYnVp
bGQiLCAiLS1ndGsiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7Cit9IGVsc2UgeworICAgIHN5c3Rl
bSgiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1mbGF0cGFrIiwgQEFSR1YpID09IDAgb3IgZGll
ICQhOworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWZsYXRw
YWsgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtZmxhdHBhawpkZWxldGVkIGZpbGUg
bW9kZSAxMDA3NTUKaW5kZXggNTY0ZTg3NjUyMTExOGUyZmMwZmQ2OGI4Yzg2NmFhOTAwMWNiODEy
Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9T
Y3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtZmxhdHBhaworKysgL2Rldi9udWxsCkBAIC0xLDI4ICsw
LDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlh
IFMuTC4KLSMgQ29weXJpZ2h0IChjKSAyMDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBp
Z2FsaWEuY29tPgotIwotIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMi4xIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlz
IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFsb25nIHdpdGggdGhp
cyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZQotIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCi0jIHB5bGludDogZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlk
LW5hbWUKLWltcG9ydCBvcwotaW1wb3J0IHN5cwotCi10b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3Mu
cGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4u
IiwgIi4uIikpCi1zeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJl
Y3RvcnksICJUb29scyIsICJmbGF0cGFrIikpCi1mcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Vi
a2l0RmxhdHBhawotCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIFdlYmtpdEZsYXRw
YWsubG9hZF9mcm9tX2FyZ3MoWyItLXdwZSIsICItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5y
dW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWxpYnMgYi9U
b29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGlicwppbmRleCA2YjRiNDZmMmI3ZWI4YTll
NjgwNzc1N2JjYTJiOWU2ODQ3MDdhMDIzLi5jZGM0YzdkYjhjNjVlYTczMjNkNjkyNjgxOThhMmY2
OGJkNTEzMDE0IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGli
cworKysgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGlicwpAQCAtMjIsNCArMjIs
OCBAQCB1c2UgbGliICRGaW5kQmluOjpCaW47CiB1c2Ugd2Via2l0ZGlyczsKIAogbXkgJHNjcmlw
dHNEaXIgPSByZWxhdGl2ZVNjcmlwdHNEaXIoKTsKLXN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rp
ci91cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCIsICItLXdwZSIsIEBBUkdWKSA9PSAwIG9yIGRp
ZSAkITsKK2lmIChkZWZpbmVkICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30gYW5kICRFTlZ7J1dFQktJ
VF9KSEJVSUxEJ30pIHsKKyAgICBzeXN0ZW0oInBlcmwiLCAiJHNjcmlwdHNEaXIvdXBkYXRlLXdl
YmtpdC1saWJzLWpoYnVpbGQiLCAiLS13cGUiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7Cit9IGVs
c2UgeworICAgIHN5c3RlbSgiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1mbGF0cGFrIiwgQEFS
R1YpID09IDAgb3IgZGllICQhOworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRk
aXJzLnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCmluZGV4IDEwNGY2NjAyYWI1NzQw
MDRkYTc0Nzk4M2U5Njk1NjIwMDNkYTgwZjMuLjUzYjRlNjBiZDg3NzMyZTBjMmJmZjI5NTEwMGJi
OGQ0YTJiMmFlMjkgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KQEAgLTkxLDcgKzkxLDEwIEBAIEJFR0lOIHsK
ICAgICAgICAmc2V0dXBVbml4V2ViS2l0RW52aXJvbm1lbnQKICAgICAgICAmc2hhcmVkQ29tbWFu
ZExpbmVPcHRpb25zCiAgICAgICAgJnNoYXJlZENvbW1hbmRMaW5lT3B0aW9uc1VzYWdlCisgICAg
ICAgJnNob3VsZFVzZUZsYXRwYWsKKyAgICAgICAmcnVuSW5GbGF0cGFrCiAgICAgICAgJnNodXRE
b3duSU9TU2ltdWxhdG9yRGV2aWNlCisgICAgICAgJnNvdXJjZURpcgogICAgICAgICZ3aWxsVXNl
SU9TRGV2aWNlU0RLCiAgICAgICAgJndpbGxVc2VJT1NTaW11bGF0b3JTREsKICAgICAgICBET19O
T1RfVVNFX09QRU5fQ09NTUFORApAQCAtMjA0NywyMCArMjA1MCwxMSBAQCBzdWIgZ2V0SmhidWls
ZFBhdGgoKQogICAgIHJldHVybiBGaWxlOjpTcGVjLT5jYXRkaXIoQGpoYnVpbGRQYXRoKTsKIH0K
IAotc3ViIGdldEZsYXRwYWtQYXRoKCkKK3N1YiBnZXRVc2VyRmxhdHBha1BhdGgoKQogewotICAg
IG15IEBmbGF0cGFrQnVpbGRQYXRoID0gRmlsZTo6U3BlYy0+c3BsaXRkaXIoYmFzZVByb2R1Y3RE
aXIoKSk7Ci0gICAgaWYgKGlzR3RrKCkpIHsKLSAgICAgICAgcHVzaChAZmxhdHBha0J1aWxkUGF0
aCwgIkdUSyIpOwotICAgIH0gZWxzaWYgKGlzV1BFKCkpIHsKLSAgICAgICAgcHVzaChAZmxhdHBh
a0J1aWxkUGF0aCwgIldQRSIpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGRpZSAiQ2Fubm90IGdl
dCBGbGF0cGFrIHBhdGggZm9yIHBsYXRmb3JtIHRoYXQgaXNuJ3QgR1RLKyBvciBXUEUuXG4iOwot
ICAgIH0KLSAgICBteSBAY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24oKTsKLSAgICBwdXNo
KEBmbGF0cGFrQnVpbGRQYXRoLCAiRmxhdHBha1RyZWUkY29uZmlndXJhdGlvbiIpOwotCi0gICAg
cmV0dXJuIEZpbGU6OlNwZWMtPmNhdGRpcihAZmxhdHBha0J1aWxkUGF0aCk7CisgICAgbXkgQGZs
YXRwYWtQYXRoID0gRmlsZTo6U3BlYy0+c3BsaXRkaXIoYmFzZVByb2R1Y3REaXIoKSk7CisgICAg
cHVzaChAZmxhdHBha1BhdGgsICJVc2VyRmxhdHBhayIpOworICAgIHJldHVybiBGaWxlOjpTcGVj
LT5jYXRkaXIoQGZsYXRwYWtQYXRoKTsKIH0KIAogc3ViIGlzQ2FjaGVkQXJndW1lbnRmaWxlT3V0
T2ZEYXRlKCRAKQpAQCAtMjA4NywxOCArMjA4MSwxNCBAQCBzdWIgaXNDYWNoZWRBcmd1bWVudGZp
bGVPdXRPZkRhdGUoJEApCiAKIHN1YiBpbkZsYXRwYWtTYW5kYm94KCkKIHsKLSAgICBpZiAoLWYg
Ii8uZmxhdHBhay1pbmZvIikgewotICAgICAgICByZXR1cm4gMTsKLSAgICB9Ci0KLSAgICByZXR1
cm4gMDsKKyAgICByZXR1cm4gKC1mICIvLmZsYXRwYWstaW5mbyIpOwogfQogCiBzdWIgcnVuSW5G
bGF0cGFrKEApCiB7CiAgICAgbXkgQGFyZyA9IEBfOwogICAgIG15IEBjb21tYW5kID0gKEZpbGU6
OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgIndlYmtpdC1m
bGF0cGFrIikpOwotICAgIGV4ZWMgQGNvbW1hbmQsIGFyZ3VtZW50c0ZvckNvbmZpZ3VyYXRpb24o
KSwgIi0tY29tbWFuZCIsIEBfLCBhcmd1bWVudHNGb3JDb25maWd1cmF0aW9uKCksIEBBUkdWIG9y
IGRpZTsKKyAgICBleGVjIEBjb21tYW5kLCBhcmd1bWVudHNGb3JDb25maWd1cmF0aW9uKCksIEBB
UkdWLCAiLS1jb21tYW5kIiwgQGFyZywgYXJndW1lbnRzRm9yQ29uZmlndXJhdGlvbigpIG9yIGRp
ZTsKIH0KIAogc3ViIHJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKEApCkBAIC0yMTEyLDggKzIxMDIs
OCBAQCBzdWIgcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQCkKICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgfQogCi0gICAgaWYgKCEgLWUgZ2V0RmxhdHBha1BhdGgoKSkgewotICAgICAgICByZXR1cm4g
MDsKKyAgICBpZiAoISAtZSBnZXRVc2VyRmxhdHBha1BhdGgoKSkgeworICAgICAgcmV0dXJuIDA7
CiAgICAgfQogCiAgICAgcnVuSW5GbGF0cGFrKEBfKQpAQCAtMjEyOCw3ICsyMTE4LDcgQEAgc3Vi
IHdyYXBwZXJQcmVmaXhJZk5lZWRlZCgpCiAgICAgaWYgKGlzQXBwbGVDb2NvYVdlYktpdCgpKSB7
CiAgICAgICAgIHJldHVybiAoInhjcnVuIik7CiAgICAgfQotICAgIGlmIChzaG91bGRVc2VKaGJ1
aWxkKCkgYW5kICEgc2hvdWxkVXNlRmxhdHBhaygpKSB7CisgICAgaWYgKHNob3VsZFVzZUpoYnVp
bGQoKSkgewogICAgICAgICBteSBAcHJlZml4ID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNl
RGlyKCksICJUb29scyIsICJqaGJ1aWxkIiwgImpoYnVpbGQtd3JhcHBlciIpKTsKICAgICAgICAg
aWYgKGlzR3RrKCkpIHsKICAgICAgICAgICAgIHB1c2goQHByZWZpeCwgIi0tZ3RrIik7CkBAIC0y
MTQ1LDEyICsyMTM1LDEyIEBAIHN1YiB3cmFwcGVyUHJlZml4SWZOZWVkZWQoKQogCiBzdWIgc2hv
dWxkVXNlSmhidWlsZCgpCiB7Ci0gICAgcmV0dXJuICgoaXNHdGsoKSBvciBpc1dQRSgpKSBhbmQg
LWUgZ2V0SmhidWlsZFBhdGgoKSk7CisgICAgcmV0dXJuICgoISBpbkZsYXRwYWtTYW5kYm94KCkp
IGFuZCAoaXNHdGsoKSBvciBpc1dQRSgpKSBhbmQgLWUgZ2V0SmhidWlsZFBhdGgoKSBhbmQgZGVm
aW5lZCAkRU5WeydXRUJLSVRfSkhCVUlMRCd9IGFuZCAkRU5WeydXRUJLSVRfSkhCVUlMRCd9KTsK
IH0KIAogc3ViIHNob3VsZFVzZUZsYXRwYWsoKQogewotICAgIHJldHVybiAoKGlzR3RrKCkgb3Ig
aXNXUEUoKSkgYW5kICEgaW5GbGF0cGFrU2FuZGJveCgpIGFuZCAtZSBnZXRGbGF0cGFrUGF0aCgp
KTsKKyAgICByZXR1cm4gKCghIGluRmxhdHBha1NhbmRib3goKSkgYW5kIChpc0d0aygpIG9yIGlz
V1BFKCkpIGFuZCAtZSBnZXRVc2VyRmxhdHBha1BhdGgoKSk7CiB9CiAKIHN1YiBjbWFrZUNhY2hl
UGF0aCgpCkBAIC0yMjE3LDcgKzIyMDcsNyBAQCBzdWIgc2hvdWxkUmVtb3ZlQ01ha2VDYWNoZShA
KQogICAgIH0KIAogICAgICMgSWYgYSBjaGFuZ2Ugb24gdGhlIEpIQnVpbGQgbW9kdWxlc2V0IGhh
cyBiZWVuIGRvbmUsIHdlIG5lZWQgdG8gY2xlYW4gdGhlIGNhY2hlIGFzIHdlbGwuCi0gICAgaWYg
KGlzR3RrKCkgfHwgaXNXUEUoKSkgeworICAgIGlmICghIHNob3VsZFVzZUZsYXRwYWsoKSBhbmQg
KGlzR3RrKCkgfHwgaXNXUEUoKSkpIHsKICAgICAgICAgbXkgJGpoYnVpbGRSb290RGlyZWN0b3J5
ID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKGdldEpoYnVpbGRQYXRoKCksICJSb290Iik7CiAgICAgICAg
ICMgVGhlIHNjcmlwdCB1cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCBzaGFsbCByZS1nZW5lcmF0
ZSAkamhidWlsZFJvb3REaXJlY3RvcnkgaWYgdGhlIG1vZHVsZXNldCBjaGFuZ2VkLgogICAgICAg
ICBpZiAoLWQgJGpoYnVpbGRSb290RGlyZWN0b3J5ICYmICRjYWNoZUZpbGVNb2RpZmllZFRpbWUg
PCBzdGF0KCRqaGJ1aWxkUm9vdERpcmVjdG9yeSktPm10aW1lKSB7CmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9iYXNlLnB5CmluZGV4IGRlMDA2NjY3YjJkMWU1ZTVlZWI4ZjJkMWE0NDhiNzU2ZjdmMDY2
Y2QuLjFjM2VlN2FiZGJhM2Q4NmIyYTY4YTQ2ODhiNGVhZDk2ZTk5ODc1ZWUgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9iYXNlLnB5CkBAIC04OTMsNiArODkzLDcgQEAgY2xhc3MgUG9ydChvYmpl
Y3QpOgogICAgICAgICAgICAgJ0xBTkcnLAogICAgICAgICAgICAgJ0xEX0xJQlJBUllfUEFUSCcs
CiAgICAgICAgICAgICAnVEVSTScsCisgICAgICAgICAgICAnVFonLAogICAgICAgICAgICAgJ1hE
R19EQVRBX0RJUlMnLAogICAgICAgICAgICAgJ1hER19SVU5USU1FX0RJUicsCiAKQEAgLTEyMjAs
NyArMTIyMSw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgVGhpcyBpcyBuZWVkZWQg
b25seSBieSBwb3J0cyB0aGF0IHVzZSB0aGUgYXBhY2hlX2h0dHBfc2VydmVyIG1vZHVsZS4iIiIK
ICAgICAgICAgIyBUaGUgQXBhY2hlIGJpbmFyeSBwYXRoIGNhbiB2YXJ5IGRlcGVuZGluZyBvbiBP
UyBhbmQgZGlzdHJpYnV0aW9uCiAgICAgICAgICMgU2VlIGh0dHA6Ly93aWtpLmFwYWNoZS5vcmcv
aHR0cGQvRGlzdHJvc0RlZmF1bHRMYXlvdXQKLSAgICAgICAgZm9yIHBhdGggaW4gWyIvdXNyL3Ni
aW4vaHR0cGQiLCAiL3Vzci9zYmluL2FwYWNoZTIiLCAiL2FwcC9iaW4vaHR0cGQiXToKKyAgICAg
ICAgZm9yIHBhdGggaW4gWyIvdXNyL3NiaW4vaHR0cGQiLCAiL3Vzci9zYmluL2FwYWNoZTIiLCAi
L3Vzci9iaW4vaHR0cGQiXToKICAgICAgICAgICAgIGlmIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3Rz
KHBhdGgpOgogICAgICAgICAgICAgICAgIHJldHVybiBwYXRoCiAgICAgICAgIF9sb2cuZXJyb3Io
IkNvdWxkIG5vdCBmaW5kIGFwYWNoZS4gTm90IGluc3RhbGxlZCBvciB1bmtub3duIHBhdGguIikK
QEAgLTE0NTIsMTQgKzE0NTMsOCBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgICMgLS1w
aXhlbC10ZXN0LWRpcmVjdG9yeSBpcyBub3Qgc3BlY2lmaWVkLgogICAgICAgICByZXR1cm4gVHJ1
ZQogCi0gICAgZGVmIF9zaG91bGRfdXNlX2ZsYXRwYWsoc2VsZik6Ci0gICAgICAgIHN1ZmZpeCA9
ICIiCi0gICAgICAgIGlmIHNlbGYucG9ydF9uYW1lOgotICAgICAgICAgICAgc3VmZml4ID0gc2Vs
Zi5wb3J0X25hbWUudXBwZXIoKQotICAgICAgICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5leGlz
dHMoc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1dlYktpdEJ1aWxkJywgc3VmZml4LCAiRmxh
dHBha1RyZWUiKSkKLQogICAgIGRlZiBfaW5fZmxhdHBha19zYW5kYm94KHNlbGYpOgotICAgICAg
ICByZXR1cm4gb3MucGF0aC5leGlzdHMoIi8uZmxhdHBhay1pbmZvIikKKyAgICAgICAgcmV0dXJu
IHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKCIvLmZsYXRwYWstaW5mbyIpCiAKICAgICBkZWYgX3No
b3VsZF91c2VfamhidWlsZChzZWxmKToKICAgICAgICAgaWYgc2VsZi5faW5fZmxhdHBha19zYW5k
Ym94KCk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQppbmRleCA2OGJjMTY5MjNmOGFiNzYw
OTFmNWIzZTk2NGQwNjVjNzk0M2ZmOGQ1Li4wY2U4YWE0ODc0NTkwOWM3OTczNjg4M2IzNmQzNGU4
NzQwOThkNDczIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkKQEAgLTEyMiw2ICsxMjIs
NyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICBlbnZpcm9ubWVudFsnVEVTVF9SVU5O
RVJfSU5KRUNURURfQlVORExFX0ZJTEVOQU1FJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdsaWInLCAn
bGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLnNvJykKICAgICAgICAgZW52aXJvbm1lbnRbJ1RF
U1RfUlVOTkVSX1RFU1RfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ2xpYicsICdw
bHVnaW5zJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVu
dmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJUicpCisgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVf
ZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9KSEJVSUxEJykKICAgICAg
ICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VC
S0lUX1RPUF9MRVZFTCcpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lm
X3NldChlbnZpcm9ubWVudCwgJ1VTRV9QTEFZQklOMycpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFs
dWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ0dTVF9ERUJVRycpCkBAIC0xMzQs
MTAgKzEzNSwxMSBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAgICAgaWYgc2VsZi5f
c2hvdWxkX3VzZV9qaGJ1aWxkKCk6CiAgICAgICAgICAgICAgICAgbGx2bXBpcGVfbGliZ2xfcGF0
aCA9IHNlbGYuaG9zdC5leGVjdXRpdmUucnVuX2NvbW1hbmQoc2VsZi5famhidWlsZF93cmFwcGVy
ICsgWydwcmludGVudicsICdMTFZNUElQRV9MSUJHTF9QQVRIJ10sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9y
ZV9lcnJvcnM9VHJ1ZSkuc3RyaXAoKQorICAgICAgICAgICAgICAgIGRyaV9saWJnbF9wYXRoID0g
b3MucGF0aC5qb2luKGxsdm1waXBlX2xpYmdsX3BhdGgsICJkcmkiKQogICAgICAgICAgICAgZWxz
ZTogICMgaW4gZmxhdHBhawotICAgICAgICAgICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGggPSAi
L2FwcC9zb2Z0R0wvbGliIgorICAgICAgICAgICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGggPSAi
L3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS8iCisgICAgICAgICAgICAgICAgZHJpX2xpYmdsX3Bh
dGggPSBvcy5wYXRoLmpvaW4obGx2bXBpcGVfbGliZ2xfcGF0aCwgIkdMIiwgImxpYiIsICJkcmki
KQogCi0gICAgICAgICAgICBkcmlfbGliZ2xfcGF0aCA9IG9zLnBhdGguam9pbihsbHZtcGlwZV9s
aWJnbF9wYXRoLCAiZHJpIikKICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGgu
am9pbihsbHZtcGlwZV9saWJnbF9wYXRoLCAibGliR0wuc28iKSkgYW5kIG9zLnBhdGguZXhpc3Rz
KG9zLnBhdGguam9pbihkcmlfbGliZ2xfcGF0aCwgInN3cmFzdF9kcmkuc28iKSk6CiAgICAgICAg
ICAgICAgICAgIyBNYWtlIHN1cmUgdmEtYXBpIHN1cHBvcnQgZ2V0cyBkaXNhYmxlZCBiZWNhdXNl
IGl0J3MgaW5jb21wYXRpYmxlIHdpdGggTWVzYSdzIHNvZnRHTCBkcml2ZXIuCiAgICAgICAgICAg
ICAgICAgZW52aXJvbm1lbnRbJ0xJQlZBX0RSSVZFUl9OQU1FJ10gPSAibnVsbCIKQEAgLTE0OCw3
ICsxNTAsNyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAgICAgICAgIGlmIG9zLmVu
dmlyb24uZ2V0KCdMRF9MSUJSQVJZX1BBVEgnKToKICAgICAgICAgICAgICAgICAgICAgZW52aXJv
bm1lbnRbJ0xEX0xJQlJBUllfUEFUSCddICs9ICc6JXMnICUgb3MuZW52aXJvbi5nZXQoJ0xEX0xJ
QlJBUllfUEFUSCcpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIF9sb2cud2Fy
bmluZygiQ2FuJ3QgZmluZCBHYWxsaXVtIGxsdm1waXBlIGRyaXZlci4gVHJ5IHRvIHJ1biB1cGRh
dGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIikKKyAgICAgICAg
ICAgICAgICBfbG9nLndhcm5pbmcoIkNhbid0IGZpbmQgR2FsbGl1bSBsbHZtcGlwZSBkcml2ZXIu
IFRyeSB0byBydW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBh
ayIpCiAgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbigibGVha3MiKToKICAgICAgICAgICAgICMg
VHVybiBvZmYgR0xpYiBtZW1vcnkgb3B0aW1pc2F0aW9ucyBodHRwczovL3dpa2kuZ25vbWUub3Jn
L1ZhbGdyaW5kLgogICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0dfU0xJQ0UnXSA9ICdhbHdheXMt
bWFsbG9jJwpAQCAtMjM3LDcgKzIzOSw3IEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAKICAgICBk
ZWYgX2dldF9jcmFzaF9sb2coc2VsZiwgbmFtZSwgcGlkLCBzdGRvdXQsIHN0ZGVyciwgbmV3ZXJf
dGhhbiwgdGFyZ2V0X2hvc3Q9Tm9uZSk6CiAgICAgICAgIHJldHVybiBHREJDcmFzaExvZ0dlbmVy
YXRvcihzZWxmLl9leGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwKLSAgICAgICAgICAg
IHNlbGYuX2ZpbGVzeXN0ZW0sIHNlbGYuX3BhdGhfdG9fZHJpdmVyKS5nZW5lcmF0ZV9jcmFzaF9s
b2coc3Rkb3V0LCBzdGRlcnIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlciwgc2VsZi5wb3J0X25hbWUsIHNl
bGYuZ2V0X29wdGlvbignY29uZmlndXJhdGlvbicpKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0
LCBzdGRlcnIpCiAKICAgICBkZWYgdGVzdF9leHBlY3RhdGlvbnNfZmlsZV9wb3NpdGlvbihzZWxm
KToKICAgICAgICAgIyBHVEsgcG9ydCBiYXNlbGluZSBzZWFyY2ggcGF0aCBpcyBndGsgLT4gd2sy
IC0+IGdlbmVyaWMgKGFzIGd0ay13azIgYW5kIGd0ayBiYXNlbGluZXMgYXJlIG1lcmdlZCksIHNv
IHBvcnQgdGVzdCBleHBlY3RhdGlvbnMgZmlsZSBpcyBhdCB0aGlyZCB0byBsYXN0IHBvc2l0aW9u
LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFz
aF9sb2cucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xv
Zy5weQppbmRleCA5YWRjNDYzNzFmOTYxYjE5NjI4ZTdmZWRkNDY1ZWJmZDA5NmNkMDFhLi4yZTAz
ZGZmMWEzNmViNWMyMDVhZTY4NzljZDIyYmQyYzcwMjIxMWUzIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQpAQCAtMzcsMTggKzM3
LDIyIEBAIGltcG9ydCB0aW1lCiAKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRp
dmUgaW1wb3J0IFNjcmlwdEVycm9yCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi51bmljb2RlX2NvbXBh
dGliaWxpdHkgaW1wb3J0IGRlY29kZV9pZl9uZWNlc3NhcnkKK2Zyb20gd2Via2l0cHkuY29tbW9u
LndlYmtpdF9maW5kZXIgaW1wb3J0IFdlYktpdEZpbmRlcgogCiAKIGNsYXNzIEdEQkNyYXNoTG9n
R2VuZXJhdG9yKG9iamVjdCk6CiAgICAgX2ZpbmRfcGlkX3JlZ2V4ID0gcmUuY29tcGlsZShyJ1BJ
RDogKFxkKykgXCguKlwpJykKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBleGVjdXRpdmUsIG5h
bWUsIHBpZCwgbmV3ZXJfdGhhbiwgZmlsZXN5c3RlbSwgcGF0aF90b19kcml2ZXIpOgorICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBleGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwgZmlsZXN5
c3RlbSwgcGF0aF90b19kcml2ZXIsIHBvcnRfbmFtZSwgY29uZmlndXJhdGlvbik6CiAgICAgICAg
IHNlbGYubmFtZSA9IG5hbWUKICAgICAgICAgc2VsZi5waWQgPSBwaWQKICAgICAgICAgc2VsZi5u
ZXdlcl90aGFuID0gbmV3ZXJfdGhhbgogICAgICAgICBzZWxmLl9maWxlc3lzdGVtID0gZmlsZXN5
c3RlbQogICAgICAgICBzZWxmLl9wYXRoX3RvX2RyaXZlciA9IHBhdGhfdG9fZHJpdmVyCiAgICAg
ICAgIHNlbGYuX2V4ZWN1dGl2ZSA9IGV4ZWN1dGl2ZQorICAgICAgICBzZWxmLl9wb3J0X25hbWUg
PSBwb3J0X25hbWUKKyAgICAgICAgc2VsZi5fY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24K
KyAgICAgICAgc2VsZi5fd2Via2l0X2ZpbmRlciA9IFdlYktpdEZpbmRlcihmaWxlc3lzdGVtKQog
CiAgICAgZGVmIF9nZXRfZ2RiX291dHB1dChzZWxmLCBjb3JlZHVtcF9wYXRoKToKICAgICAgICAg
cHJvY2Vzc19uYW1lID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKG9zLnBhdGguZGlybmFtZShzdHIo
c2VsZi5fcGF0aF90b19kcml2ZXIoKSkpLCBzZWxmLm5hbWUpCkBAIC02Nyw2ICs3MSw5IEBAIGNs
YXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBmaWxlbmFt
ZQogCiAgICAgZGVmIF9nZXRfdHJhY2VfZnJvbV9zeXN0ZW1kKHNlbGYsIGNvcmVkdW1wY3RsLCBw
aWQpOgorICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZSgiLy5mbGF0cGFrLWluZm8iKToKKyAgICAg
ICAgICAgIHJldHVybiBzZWxmLl9nZXRfdHJhY2VfZnJvbV9mbGF0cGFrKCkKKwogICAgICAgICAj
IExldHRpbmcgdXAgdG8gNSBzZWNvbmRzIGZvciB0aGUgYmFja3RyYWNlIHRvIGJlIGdlbmVyYXRl
ZCBvbiB0aGUgc3lzdGVtZCBzaWRlCiAgICAgICAgIGZvciB0cnlfbnVtYmVyIGluIHJhbmdlKDUp
OgogICAgICAgICAgICAgaWYgdHJ5X251bWJlciAhPSAwOgpAQCAtOTIsMTIgKzk5LDI0IEBAIGNs
YXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgICAg
ICB0ZW1wX2ZpbGUubmFtZV0sIHJldHVybl9leGl0X2NvZGU9VHJ1ZSk6CiAgICAgICAgICAgICAg
ICAgICAgIGNvbnRpbnVlCiAKLSAgICAgICAgICAgICAgICByZXMgPSBzZWxmLl9nZXRfZ2RiX291
dHB1dChzZWxmLl9nZXRfdG1wX2ZpbGVfbmFtZShjb3JlZHVtcGN0bCwgdGVtcF9maWxlLm5hbWUp
KQotCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJlcworICAgICAgICAgICAgICAgIHJldHVybiBz
ZWxmLl9nZXRfZ2RiX291dHB1dChzZWxmLl9nZXRfdG1wX2ZpbGVfbmFtZShjb3JlZHVtcGN0bCwg
dGVtcF9maWxlLm5hbWUpKQogCiAgICAgICAgIHJldHVybiAnJywgW10KIAorICAgIGRlZiBfZ2V0
X3RyYWNlX2Zyb21fZmxhdHBhayhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5uZXdlcl90aGFuOgor
ICAgICAgICAgICAgY29yZWR1bXBfc2luY2UgPSAiLS1nZGItc3RhY2stdHJhY2U9QCVmIiAlIHNl
bGYubmV3ZXJfdGhhbgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY29yZWR1bXBfc2luY2Ug
PSAiLS1nZGItc3RhY2stdHJhY2UiCisgICAgICAgIHdlYmtpdF9mbGF0cGFrX3BhdGggPSBzZWxm
Ll93ZWJraXRfZmluZGVyLnBhdGhfdG9fc2NyaXB0KCd3ZWJraXQtZmxhdHBhaycpCisgICAgICAg
IGNtZCA9IFsnZmxhdHBhay1zcGF3bicsICctLWhvc3QnLCB3ZWJraXRfZmxhdHBha19wYXRoLCAn
LS0lcycgJSBzZWxmLl9wb3J0X25hbWUsCisgICAgICAgICAgICAgICAiLS0lcyIgJSBzZWxmLl9j
b25maWd1cmF0aW9uLmxvd2VyKCksIGNvcmVkdW1wX3NpbmNlXQorCisgICAgICAgIHByb2MgPSBz
ZWxmLl9leGVjdXRpdmUucG9wZW4oY21kLCBzdGRpbj1Ob25lLCBzdGRvdXQ9c3VicHJvY2Vzcy5Q
SVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKQorICAgICAgICBjcmFzaF9sb2csIHN0ZGVyciA9
IHByb2MuY29tbXVuaWNhdGUoKQorICAgICAgICBlcnJvcnMgPSBkZWNvZGVfaWZfbmVjZXNzYXJ5
KHN0cihzdGRlcnIgb3IgJzxlbXB0eT4nKSwgZXJyb3JzPSdpZ25vcmUnKS5zcGxpdGxpbmVzKCkK
KyAgICAgICAgcmV0dXJuIGNyYXNoX2xvZywgZXJyb3JzCisKICAgICBkZWYgZ2VuZXJhdGVfY3Jh
c2hfbG9nKHNlbGYsIHN0ZG91dCwgc3RkZXJyKToKICAgICAgICAgcGlkX3JlcHJlc2VudGF0aW9u
ID0gc3RyKHNlbGYucGlkIG9yICc8dW5rbm93bj4nKQogICAgICAgICBsb2dfZGlyZWN0b3J5ID0g
b3MuZW52aXJvbi5nZXQoIldFQktJVF9DT1JFX0RVTVBTX0RJUkVDVE9SWSIpCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZ191bml0dGVz
dC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3Vu
aXR0ZXN0LnB5CmluZGV4IDlmM2I3ZTM5Mzc5YzQzYTEwNWVjZTIwYzFjYTYyNjI0M2RmYTdkMzQu
LjNhMzllODQ2NzBhNjRjODM2YjVlMTQ0MmZjOGEzNTkzNGMzN2RmOTQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3Vu
aXR0ZXN0LnB5CkBAIC00Niw3ICs0Niw3IEBAIGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yVGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGV4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUo
KQogICAgICAgICBleGVjdXRpdmUuX3Byb2MgPSBNb2NrUHJvY2VzcygpCiAgICAgICAgIGV4ZWN1
dGl2ZS5fcHJvYy5zdGRvdXQgPSAnU1RERVJSOiA8ZW1wdHk+JwotICAgICAgICBnZW5lcmF0b3Ig
PSBHREJDcmFzaExvZ0dlbmVyYXRvcihleGVjdXRpdmUsICdEdW1wUmVuZGVyVHJlZScsIDI4NTI5
LCBuZXdlcl90aGFuPU5vbmUsIGZpbGVzeXN0ZW09TW9ja0ZpbGVTeXN0ZW0oeycvcGF0aC90by9j
b3JlZHVtcHMnOiAnJ30pLCBwYXRoX3RvX2RyaXZlcj1Ob25lKQorICAgICAgICBnZW5lcmF0b3Ig
PSBHREJDcmFzaExvZ0dlbmVyYXRvcihleGVjdXRpdmUsICdEdW1wUmVuZGVyVHJlZScsIDI4NTI5
LCBuZXdlcl90aGFuPU5vbmUsIGZpbGVzeXN0ZW09TW9ja0ZpbGVTeXN0ZW0oeycvcGF0aC90by9j
b3JlZHVtcHMnOiAnJ30pLCBwYXRoX3RvX2RyaXZlcj1Ob25lLCBwb3J0X25hbWU9Imd0ayIsIGNv
bmZpZ3VyYXRpb249IkRlYnVnIikKIAogICAgICAgICBjb3JlX2RpcmVjdG9yeSA9IG9zLmVudmly
b24uZ2V0KCdXRUJLSVRfQ09SRV9EVU1QU19ESVJFQ1RPUlknLCAnL3BhdGgvdG8vY29yZWR1bXBz
JykKICAgICAgICAgY29yZV9wYXR0ZXJuID0gZ2VuZXJhdG9yLl9maWxlc3lzdGVtLmpvaW4oY29y
ZV9kaXJlY3RvcnksICJjb3JlLXBpZF8lcC5kdW1wIikKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC93cGUucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd3Bl
LnB5CmluZGV4IDAwY2U1Mjc2ZTljYzQyMWI0ODM3YWMyYjU0ZjMzYzU1MmJiZWM4NTUuLjU0Njky
NWY0N2M2NDAwNzI1YWYwNzNhMzU1M2M3ZmY1NGVlYTdkOTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC93cGUucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9w
b3J0L3dwZS5weQpAQCAtNzcsNiArNzcsNyBAQCBjbGFzcyBXUEVQb3J0KFBvcnQpOgogICAgICAg
ICBlbnZpcm9ubWVudFsnVEVTVF9SVU5ORVJfVEVTVF9QTFVHSU5fUEFUSCddID0gc2VsZi5fYnVp
bGRfcGF0aCgnbGliJywgJ3BsdWdpbnMnKQogICAgICAgICBlbnZpcm9ubWVudFsnV0VCS0lUX0VY
RUNfUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0aCgnYmluJykKICAgICAgICAgc2VsZi5fY29weV92
YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJUicp
CisgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVu
dCwgJ1dFQktJVF9KSEJVSUxEJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmly
b25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX1RPUF9MRVZFTCcpCiAgICAgICAgIHNlbGYu
X2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1VTRV9QTEFZQklO
MycpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9u
bWVudCwgJ0dTVF9ERUJVRycpCkBAIC0xMjEsNyArMTIyLDggQEAgY2xhc3MgV1BFUG9ydChQb3J0
KToKICAgICAgICAgcmV0dXJuIDIKIAogICAgIGRlZiBfZ2V0X2NyYXNoX2xvZyhzZWxmLCBuYW1l
LCBwaWQsIHN0ZG91dCwgc3RkZXJyLCBuZXdlcl90aGFuLCB0YXJnZXRfaG9zdD1Ob25lKToKLSAg
ICAgICAgcmV0dXJuIEdEQkNyYXNoTG9nR2VuZXJhdG9yKHNlbGYuX2V4ZWN1dGl2ZSwgbmFtZSwg
cGlkLCBuZXdlcl90aGFuLCBzZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlciku
Z2VuZXJhdGVfY3Jhc2hfbG9nKHN0ZG91dCwgc3RkZXJyKQorICAgICAgICByZXR1cm4gR0RCQ3Jh
c2hMb2dHZW5lcmF0b3Ioc2VsZi5fZXhlY3V0aXZlLCBuYW1lLCBwaWQsIG5ld2VyX3RoYW4sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLCBzZWxm
Ll9wYXRoX3RvX2RyaXZlciwgc2VsZi5wb3J0X25hbWUsIHNlbGYuZ2V0X29wdGlvbignY29uZmln
dXJhdGlvbicpKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIpCiAKICAgICBkZWYg
Y29uZmlndXJhdGlvbl9mb3JfdXBsb2FkKHNlbGYsIGhvc3Q9Tm9uZSk6CiAgICAgICAgIGNvbmZp
Z3VyYXRpb24gPSBzdXBlcihXUEVQb3J0LCBzZWxmKS5jb25maWd1cmF0aW9uX2Zvcl91cGxvYWQo
aG9zdD1ob3N0KQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcAppbmRleCAzZjhlMjQ0MGYyODNl
NGI0ZTU0MjdhZDY0NGQyYjNiNGUzMTk2NWExLi44MWJjZDk2MmEwOWM3YWNmZWYyMmVjMmY0OGJj
MDJiMjQ5YTU2YzQ0IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcApAQCAtNjUsOCArNjUs
MTMgQEAgQ1N0cmluZyBnZXRPdXRwdXREaXIoKQogCiBzdGF0aWMgQ1N0cmluZyBnZXRGb250c1Bh
dGgoKQogeworICAgIC8vIFRyeSBmbGF0cGFrIHNhbmRib3ggcGF0aC4KKyAgICBHVW5pcXVlUHRy
PGNoYXI+Zm9udHNQYXRoKGdfYnVpbGRfZmlsZW5hbWUoIi91c3IiLCAic2hhcmUiLCAid2Via2l0
Z3RrLXRlc3QtZm9udHMiLCBOVUxMKSk7CisgICAgaWYgKGdfZmlsZV90ZXN0KGZvbnRzUGF0aC5n
ZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9FWElTVFMgfCBHX0ZJTEVf
VEVTVF9JU19ESVIpKSkKKyAgICAgICAgcmV0dXJuIGZvbnRzUGF0aC5nZXQoKTsKKwogICAgIENT
dHJpbmcgd2Via2l0T3V0cHV0RGlyID0gZ2V0T3V0cHV0RGlyKCk7Ci0gICAgR1VuaXF1ZVB0cjxj
aGFyPiBmb250c1BhdGgoZ19idWlsZF9maWxlbmFtZSh3ZWJraXRPdXRwdXREaXIuZGF0YSgpLCAi
RGVwZW5kZW5jaWVzR1RLIiwgIlJvb3QiLCAid2Via2l0Z3RrLXRlc3QtZm9udHMiLCBudWxscHRy
KSk7CisgICAgZm9udHNQYXRoLnJlc2V0KGdfYnVpbGRfZmlsZW5hbWUod2Via2l0T3V0cHV0RGly
LmRhdGEoKSwgIkRlcGVuZGVuY2llc0dUSyIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWZvbnRz
IiwgbnVsbHB0cikpOwogICAgIGlmIChnX2ZpbGVfdGVzdChmb250c1BhdGguZ2V0KCksIHN0YXRp
Y19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfRVhJU1RTIHwgR19GSUxFX1RFU1RfSVNfRElS
KSkpCiAgICAgICAgIHJldHVybiBmb250c1BhdGguZ2V0KCk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUuY3Bw
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250
c1dQRS5jcHAKaW5kZXggYTQ5YzdhMjkyMTgyNTkxZTI3MjdiMmI5MDFlNDEyYjJkZThlMDNkYS4u
OGJlNzM2ZjA0OWM5MWIzMDhjZDJjMWVjYWYxNDA1YTA1YzFhZTUwMCAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250c1dQRS5j
cHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZh
dGVGb250c1dQRS5jcHAKQEAgLTU4LDggKzU4LDEzIEBAIENTdHJpbmcgZ2V0T3V0cHV0RGlyKCkK
IAogc3RhdGljIENTdHJpbmcgZ2V0Rm9udHNQYXRoKCkKIHsKKyAgICAvLyBUcnkgZmxhdHBhayBz
YW5kYm94IHBhdGguCisgICAgR1VuaXF1ZVB0cjxjaGFyPmZvbnRzUGF0aChnX2J1aWxkX2ZpbGVu
YW1lKCIvdXNyIiwgInNoYXJlIiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgTlVMTCkpOworICAg
IGlmIChnX2ZpbGVfdGVzdChmb250c1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4o
R19GSUxFX1RFU1RfRVhJU1RTIHwgR19GSUxFX1RFU1RfSVNfRElSKSkpCisgICAgICAgIHJldHVy
biBmb250c1BhdGguZ2V0KCk7CisKICAgICBDU3RyaW5nIHdlYmtpdE91dHB1dERpciA9IGdldE91
dHB1dERpcigpOwotICAgIEdVbmlxdWVQdHI8Y2hhcj4gZm9udHNQYXRoKGdfYnVpbGRfZmlsZW5h
bWUod2Via2l0T3V0cHV0RGlyLmRhdGEoKSwgIkRlcGVuZGVuY2llc1dQRSIsICJSb290IiwgIndl
YmtpdGd0ay10ZXN0LWZvbnRzIiwgbnVsbHB0cikpOworICAgIGZvbnRzUGF0aC5yZXNldChnX2J1
aWxkX2ZpbGVuYW1lKHdlYmtpdE91dHB1dERpci5kYXRhKCksICJEZXBlbmRlbmNpZXNXUEUiLCAi
Um9vdCIsICJ3ZWJraXRndGstdGVzdC1mb250cyIsIG51bGxwdHIpKTsKICAgICBpZiAoZ19maWxl
X3Rlc3QoZm9udHNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNU
X0VYSVNUUyB8IEdfRklMRV9URVNUX0lTX0RJUikpKQogICAgICAgICByZXR1cm4gZm9udHNQYXRo
LmdldCgpOwogCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttIGIv
VG9vbHMvZmxhdHBhay9maWxlcy9kZWZhdWx0LnhrbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDE2ZjZiMDhmNmQ4MDg1ODA5NjhiYTAyMjU2ZDkwNzVkNDhhNDdkMC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwg
MApIY21WP2QwMDAwMQoKbGl0ZXJhbCAxMjAzMgp6Y21jZ3lZajdMYWItdWU7NUZraVZsMyVmRmNT
XnJ4KiROWTJMNHNpR3JVQyh3cHp0JlJsOUgyJXJBU3okTVVnWn0Kek4+LWY0Tn5WKF5vd1VnYE56
LUB5dERVfj5SQ1V3TlJER3FYYD4pZ0tZZFc0emBmP202YW9kQCtvdk5MJS0qQGo+Cno+fmFtSXMl
TyZXOURlKHFkKE9TKktLOTxiaStsTHVnPWc9SUA1aTIzTikwR1dlTX1YVTEwMFYyREt5fGl1U1BC
NAp6cFUyalkrUThSYDk9fDY3WSotSUg5QSRjWl9uN0NXKWMkd0hSQmk4S1dvelhFeWR4Xk51P3RN
N082TzglcXJLTWMKemJSMVJETj1HI3sjI0otRndZbDVmK0U2TzREIXUhSllPTyVJIUs/PDJ8SUdU
T2oqMnFSKilDJE5jNk9IKWN4IUxGCnooKj41VTVXVSMlUkdtdyFvbDdUe0hgYlNUSXk9WG94IW1k
UVVVXmktX3dQcVVOKT1tcWxgQUd3NUVxaCRqNilfTQp6OE9TNmczel5DbFElTU55UXRvdVEpb0FD
WVJqdlRQMHtqWl9FNU5TK3pYSlJVQEdIUXQwS1dxSzNoKm5XKy1BRjMKenRLezMyVHBvVVRffnFm
M2hoSDlrZEhDaHdteG9eLWV0RyFpUT5re1BQXmA/Zk4rYDNFbn0qKnN7SEViSTRabXNsCnpPflk+
KmUkKClxaFRuODUqPSlCOzx3a1lCbEI9e15qZUllbVlxVnl7JHJRd2VxI0AmdzJ9bE1xM0NUakhY
M0Q4Iwp6dHkoRiFAfEFNQUZ7I1JwRU15QU9ubENyVGZmSkFuQnYmWG1RYX40eWg5bl97TkBieXZX
fTgtOHZ1KSZzQD19TzMKemxgN31qeHpiIVNTMVEpWnJFK189SSR0V0RZVUhjc016UGpKZCUkPDAo
UU1fTGhfX09rRFV8QmY7KFNBPyNfVzhmCnpRay1jd1hHYHMzdClMM14jYWQmd1BAQWlANms0Uz9t
dldRVWBGMyVrVUt4WCZYdyg7KiRueSM0R21ZR1EzeiZzVwp6bTE/dDwoeTlDY2BZdjVyb1UxaDxg
Rmdke1lTJGFOKzF5O0NTI1FrTzNpWCswdCh+dG8mZVJjQ0JpQ3hyJSsoNnsKemBMLSQqRH4tOS1f
I18xUmpaZSpgQ1gkZDgjRCUwRzxCJG5SMV9IWVkqaUZETDFHXjBER08pfFFFKDV5Xj5AdSorCnp6
JUIjMzREMlJoSHduOCoqaUZLMjVfWGZZbn1wcFk+P1VEMTNBLSVwdmFyai1FKF5PWD82Uj1TIVkm
S0RFYk93ZAp6bkBYYlgoYSRPTGF8LT5PTE8tWF8mbmZoQzNqT1JOLTlgVm43IU5NJi0wXkNtd1RS
fGQpbllyPm5yfTJxWEJ5MnAKekg8XlZAJkFGKjBCbjVGSFh+O05hMCtOQURMU1VESW9lTWhgYn1z
QigqdHhLQ1ZkdWltZyZxM0NienpyPVReZT8yCnoqcmoyWWhGdXpWWTFwTTxteGYmJGNIXiljaHV0
e3IjJGgpT3lLJmYhIXcmdTdxQ1pecGhsfkRqKEh9MVEhJHA2JQp6PW5yPmRMTyhQNGwqXylaN0hq
aS1tUCR7eVhFX0VjKXBtfktwaC1sPGJDdWE5JDRhP0BNO3AmfFdxSjFycGJLMEMKenJoIUdeSUlz
enYwTWFmNEpPaThyJkk3WitJcDdxcSZTeExrITFLKWZhek4oUzB5NGg+a29uQzNuY3Btc2BJVWdv
Cno/LVk+dm00VkRwS21XaWRAdGlaQyg/STV2MlFyQHBBb0gwOUdNXmZkYEJjNjZKRlpyP0VeY3Bo
Yn57U2wjfFBDaQp6R058Z2M7IT5yIVBeQHNTLW4+RyFFZHJaQyluMlNpeH0mQnNrTHZrJFpUK2NU
NkBpXmlUaURTanA+bVoqREt9a2cKeiYqZVFeTjlDOGRjYklQWndrVWkrbTVYT0VtdzB2cVRyPHZm
eCl3Nmo8PlRMPVlMKF9AKzl4PFJKdi09Rl82YVQ9CnpDJXJnTkRzQDtqQD1GLUojaWp8P01MaiRw
WismbilkcT02R3c5blVUP1BrNT1kM2czUSltd3M0IUlMSClieUQzJQp6cFVPY2UmbkxLVURTSzNX
TXZZSk5XPExKOSRIdmsxUjw9NkNhIX4xVFQ7NXUkPzZ9eSopcmdNQ0h9Pk4zKT52ZzkKejUhKWxp
bUlHY2dfSEU1TjlFfWJyaGJ1ayQoPzt0PkVKcnpMdzdBTipuLSQjK2RmMT84ZCs2blhIcjhWeiZi
NHtlCnpqMSVkclFUNyRgKnpJb1VaZDAraXFZbFRCTmQpPUcqa081ZyNGUURhU3VYbDdoT3JpZjN9
OWFaI1ghdGF1XyREfgp6TEh8fGlgQ01oR0lFTXdvKUY7XkFJK2cqbVhHam01KmhjaloxZ2pMckJ4
MiFzKWlJQmY0VC1ITDI8XytyQUVVSngKenBUdy09TWYoaD9jQnh0UG99ZEZgP20hR3krXzdTKV5N
U1NuV3Brc3x0KGZJbExuPklDeDhgLVR3emJyMDY7cjIyCnpPJUplTXJgaEpaN2x1NSY/Z2NiQzt5
NUk2YUorZl8lcjxCSHF1RiYjUTRCe2Z1OSlwdTB9O28lRDtPVUpYIXUkRwp6LV5SZklFellRUVVw
ekR4TCshPFZVSzk7RmZTcTU9IWNHKkk0TlV8IXUrVUY3Pkoodn1QP3NuK3RPS1k9NEUxbUAKejdl
eW9Sdio4emtVaiUrT3szMjI3LVVEXmleV3hJWCt5WGtkby1jRlloYnwxPzE2UDxJTkRQcCRVNl5+
T3hCN2hqCnp6cVQjTSY4QGJyampsbDMrR3lLajJpbiNqS2ohaGhjezdMR0NkfEZJZGJ7fVRYPUJH
NGs/fFhSJlUpPEBjK1R8TAp6bHNVaX5xdSs2JHR5O3pFb1pudklkWkloPDlRKVZKX193Mjs3VXBG
PFZoODU2Z3FvPyglUX0za1dreHVeT0ZxSCYKel41JiZHMTk9OWZwMH57VEg9ODMoeyRAVDI9SWB+
I0o7RDZIYiN2PnNXKmdzWC03RSs1NEM9OzQodGpBaGRpfXQ+CnojV2ZjNW0zbHw4e09hODRWcXdX
X2tPSmorZCEoRHlHM3BHTXpDZEkpXlRvdEI5TClFJEFNPyVmMihIdD9IcSgxTwp6PGpaKjNXP1U7
Q1BfMUdFSkxxPENpTGFTVXhtc2FLQDdSSkpnIXNjXzZSTmtnOXJsaVZyPFhPJHRqayZoK1gmWnUK
ej47biQwb3lhc2UkS01nR1hRTUxUa19yMShgdzA2YntsUzhMKWY8UUN0PXteR3pPdkN6TX15QF40
fCEkdT5tT2FPCnpRUTZ4ZktZbHxBPyF9K091RlU9Pj5oZ3A4WGo5ZnVzbl87VlhMfSNwQmczQnUt
JCNBMXFgP3BmYH44biNRS0wxKwp6bF9UN3kwZURvbndnPi07X1ElTFc4fWZRMSNKe1kwcUw9PTlo
PHtie3A8ZXBlTGozRVI1QkpqRjREbVpPa0xqXz0KekB7ajhIdSFsd2J0aW8tPTg5KHskIVdscExo
dkAmfEt+Iy1RPlRtNUl0VXZnSGBoJEQqQTdGbSlrMj1PYkV9WS0yCnpjcU11cTE+cVZkaGQ7Knd1
YU89JV9BZkNXWXV9MmdlRlVNQFBseCNEZEt9SjN8QWBSKWIpUiFPUChLeW8qTG9jSgp6PE5DMT5m
NFJwXjElNW9sZjN3SDthVmhvYjVkVkNTcWFMe2JPbzshTSZuPjNeV1FoTlVhQmtzd3tZOzRlc1BL
ZWkKeiNfejklXyRQZz9yLW9rKUBsV3wmY2oyI3VfJTkyTyVncGppQV54SzlMNzh9ZEhwRzlgPEVB
XitYRzhvaWc/c1Y7CnptQ3RwS2U9VkgtJi1WRzc5I15gKFVLUUBPJilAZGFWVTA0cylaPHtfdWdt
IUk/NyFsMzlwTXszKlg0aUo9ZW04fgp6Pn5UfSFmQStjZHt9LVFZZ01hbjhfV3k/UExEUVk7LSta
cTl8Sn49PnwzN0BMe3JeKz1WZnI2WT5QQz17RCluRSYKekZ+aktte0BkcWgzOGw3IV85dkJrQ2N4
Pj80UkUmQ1BMTHlfLTV8I155QkZrVylKczgqXyR+K2VzOFlgY0kzTXtkCnowblJAOEshQ0ZXe3pD
WEw/c0A2Pyl0aXJDcHkkXkIqWW00ej1DOX0xME4zLVlhRihhJSo4dGJedDhqI2BeIXlzJgp6ZWBt
JU1UR3pDJV8wOU1aJlFGSyVhPj5pP2FvdjRiS2ZIOV5lT055e1pZSTJGa0RDUSFwdlVuZGp3e3lW
Y3RPViUKej97UEROMlljTCVzNj53XndFYSt6NHsxSyE8RUJMKTdYSHlqY2VaPE9NP0t7OCNyNGV7
Xj89N3VFTDY4dkpMKkE/CnpqflRBbDdpa34xZkw+cH41M0RjWHRVYzVKTiFsO01rMSVyQzQlMjxV
a00tREZLVmQ+VUVtKCMxPzslSWtfUjVMOQp6b2ZHU3VvISNVNVg5eGJ5Zlp0RzVhcjZBZmBwKCt1
QCVoJUhDVWZARXkoa2x9cCgrS3t7bWN5YXtBUDdoPylmcU8KekxBZjZYSnx5PU96PSEyTjEzV0FE
bGZZd2dwOU1aOV9meD4qYS1SZTsxZVBAaFQkMjBtMSloLW1JTzN3dlcpTGB2Cnp2NXRFeV8tKmVR
KmdqJEc1OWx2THg3YkpEZnYoc2AtLVdLKE42KzdqK0l7cj1IaEhGeGVoPDMmS0tnYSY9S0FRagp6
cHNWLU1aJHNCR2RpN3I1YjhgUUY7MTU5OVotPncoN1dUbVpWQXwrRntnK3tyR2Q+Nk9gMjQ5X2Vl
fG8pNzVlQygKemZeTWRke3ljUUVlZWBTNG1IT3pQaFZFMSFKJTUrdXd+VFBWOyoqJUY3YF4lKTtD
SVhZQmZ0bWJ7YC1MK2ZeZSRnCnp5dSkkd0tKWDdoIXVmcHd4K25ZU3BNPyZ1QjUkIUBmaUItaWUr
anlVS0tnVWVQNTA0bkxSYWdmelglO1ppMGhjJgp6MzRDMWMtdnhZKytgays2ZUd0fn4/QD5RfnA5
X0JmPFgkQnhfaGFze1ZaaytrXkV9N01zUD96QHlifGBtNHg2QkcKenRgNkokRV5MQ3JgOCNhJGQk
MCkjPWsmMTZANTNmMm9hZShmZSpsfUhhUEFNPXsyXj9EIXUyMypeOTklaGc9PDlFCno9OHM/IzZz
e1gjbj1pczlDfHBhekhoJkQ4cG0yUyR0UncxcT0tS3shLXs4Mzl6TCRHcC1nQSUzZUp9NjFwWERB
bQp6b0c8czhMRSpZV2QreHV2Qys5dSl5ND9UcnA4SWFAI2whaDxLTj1MU1NHNERRMF5jMlkmdnlk
OEMtOSM4ZjQmcCYKem9fa2c5VXdRdm9Bb3JANGJ5ZElmVk9aZlM1JDl0NmB3R1Z9JDFiMTBwTSEq
QmM/SkdLO28yTHZgNGlYI2gzaGYwCnoocnRONm15YjBeQElrPngxUm5yO3dtKzxPamB+TW54RDM3
bjFaQzg7aTUzMj5WO09kTExod3ZrIVFZO15yK09YMgp6eyFJdXIxZT0yTWY9PnZ4MVEhTHtmKHdF
eGc4TStQNCE3LWRFYTRxaEBPSHQrMWI7Xy1VVjtQcSRtO2h5KChTT2gKekFhPHdWJEcmN2duIWQh
RUZLT2RJUXw/S3tKKW1XcylPJGFjZV9tfFgxKW1iIS1qQ3x8ST5NaDN6OXtpczVXRmIzCnpDVSZR
VktQfGk/ezV5ZHIyQnFGRHgpWHgkN2tuO1leRnlNYDJ+Rz5YT1lsai1Gfk1FST1MUFEoT2JWdDJq
fG5+awp6Xnh9Q1o/JTglazNmdHUhcVBxaV82NVU7KnlBJFp5LTZ2YDk1IT9pTmBGPmIqY01JK2FF
e0toMV9wSW96MnkhM0EKejdgVFRidThIMzM4IXo5WT13fTNIMXh0YytLKENDP2lTOEUhVWxlPylY
TEQ3NXw2bmB0O3lUMGloUyEoJXtZaWIjCnpAbmQ4QkBjTyMrRzI0aTdkaExgS1VKeHRgez02WFRQ
a1lickd2TGdSSXpFQCl7bGBWYGFqI0UqTUV2ZytUb1FhLQp6QFRfMTQ9PXBsJUowZlllcGV1TXIm
PURMRWowJHBXR1FPX2hDaj43R3pFfCoqZn1heG5HKkRPUUNqWGN4RkF1JSoKelA5eENtPEYjaXtA
cHRWfXtuNjA2JTNxZXY3M2M1Uk15PjN0LVdNeHstd0RsR0NQfjcoZ2A9KkQ0fVdqSXhWXj1uCnoq
N15DYWNSOHhPeXQkMEl3NVE+SFlvcFdJIyYySCE2fnA8Ym8kYnloX21jPiVjajB7MDkpSXNRcXM2
RzlUaT9NKAp6WXBgZDxHT05xJCohLUVkR24wVGwmKVJiTHtRQm0zI19uSTxaPkZzSEBLeVBzaFVB
ITw/UVpSRGtNYlNuJntmKj0KekQ7eDh5WnRkLUtNJDRUbUowcWppPXVaVHdoZERQa2kxKClCK2Jn
TiQjR35xY3g1WjxhUWM8X1ZoJCpJRHVxTT5sCnpWYEZRYmpaMi1+Xl9BdFppPUVaPXleQ1lydkNY
YVMjcFI3TEI7cF90eytxd2Bvdm16a1ZybmRmbXsmVkhFOFg/Jgp6LVNzVyoyWnoqYlhTMzU/VWx+
UEY7OEFzTVZ8bkVRQGJjT144ZmllQz97PT1aTnJTMG1sKVNUdkNeViolQE5yYkYKei1veXNkIyk1
JUdTWTUtUDRaSClqZDt4Iz40dmY9YmUpPFAzS1loKCZJIT15WjxMJncxOVl9WHtJIX4+OXQ4fF9z
CnohfW17bzM/N2lxeCpPeTRabVZtI2lnRkU2VWVqcmUkdzgyZ2I9STB1bG90QF4zcCFyKjVxPERH
STZtOV48KCYkfAp6bGhOXztecUhUMkJUKFBoYmJXYysldW9NRCEyZTZ5emdqTkA+Tl5yaHpvR3FH
RiEyM2YzKmBUMkNMSmYoe1BkP0MKenpkYVk2N3dgPTZecUhVRDRkajFUbShTQmBlKT1gRWs+Nml1
UVU2TUBmY28+SjlVdTJNP05eV3xiaCE2KUY0ezQhCnpYNylCJCVzX2ZvVH57dzN4KCo4clJhXj1E
YVUkVmFMVWY2WnZ2akZmOzB8PWJpRHwpYyEzbTU8Pk5DUDgxKyMpdgp6Q093cmpKZTNtRWBTR2tB
aE0yezNkZXJsKjg8QSVzeDdVYHtJczNaRzQ4MHR8XkI0OHY4XkkwRktoWH43OEZoWEAKem9nWXhn
Mmh7TmFDJlcoMjJkPzctPmlCP0RDZiZyeGJDSlN6ZXRaSihvZXdSVXolTHNwN2lUM0NfPk97ZVFO
fEFFCnpzPGJgTVJTQkFNYWpyX1pESHJGZWdxdzE0dUY3eUo3dzBPND4tX2orVjZAdkcjaDU+WWF5
aGFTRHIpMldsKEVENAp6RHtZVlNTQXdRb29XQnhvJUVrRkI7aWc9aXpjTzZQI2tvdiFLQj5lNDF7
Qk5WbGFqIVIwLWtAPV9CZ0w4WHYpUVQKekUjYW5Jb1l4WD0lRWZzdDtpZz1pPVFQfXUlT0A/TlZ6
d1JPY3RtK1BKQmQ0Kz1oK2YhKEJecWhCRn10Y09qPG5WCnpMKFgkPE00b311VD5BfiRGOyFlJC1f
X0dRIyFQYSFVfnxrMkk+O0xSbUI0ZD1aem5pd2k1UDYyJHQzYmpDWHMjMQp6YmVfV2A9bE0qTlVP
LXZPRjJJNWgyaFZZbUdpS1dKSmZ9e19TeHpGKWJgbyhHdGFEfDFkRyh6QTspb3EjOUVzbDgKeldr
NVdhTjt7cXZIQ1JQbSRYZ20yNUFBcXY2PyUoalJ9REBIPF9aWmx0ajdsOTtDV1YpSnxVUlYkaTZp
QnEoc2xCCnpwWlRRKWktPnp6Kk18IX1YUDwtYExWN2B1MSlLcnZ0VHZXNko2S0M/XntWPTlKT0J8
NjRxVS1+ZnJHakNZYT04MAp6ck97bCR5QFg/VHQ9QTZ3WTJrZj82WHt4UzlQIWhLeXxkUHA8I1F9
STtAblZRSylHTDN0MiVSQ1pvPlN3YEY3WFIKekx3Y3tuSldMXng9blp4S0Z6UkhQR0VEcllraGZk
TDtsTnBNc2Z2bVcrKSRzIzxvWW93JDc+NnpqKFdSZ2FjO284Ck1ra3NkfmJJSWlZMDgzSzAyPjx7
OQoKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaCBiL1Rv
b2xzL2ZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3
NTUKaW5kZXggMWMwYzQ4MzA1MWZiZGY4NjA0Yjk0NGE2MzUxMWM0ZTEyMWVhZWY0ZC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL2Zp
bGVzL2h0dHBkLWF1dG9nZW4uc2gKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLWF1dG9t
YWtlIC0tYWRkLW1pc3NpbmcKLWF1dG9yZWNvbmYgLS1pbnN0YWxsCmRpZmYgLS1naXQgYS9Ub29s
cy9mbGF0cGFrL2ZsYXRwYWt1dGlscy5weSBiL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5
CmluZGV4IDg5ZWJjNjczMTBjMWQ1Yjg0YzkwY2Y1NDA3Zjk0MGMwMWIwNWVlZTYuLjRjZjQ0Mjc1
MDFhNDNlNjIzN2FmZTlmNzhhNzM5NWQ3ZmJlMmY3NmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2ZsYXRw
YWsvZmxhdHBha3V0aWxzLnB5CisrKyBiL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5CkBA
IC00OSwxNSArNDksMTAgQEAgZXhjZXB0IEltcG9ydEVycm9yOgogCiBGTEFUUEFLX1JFUSA9IFsK
ICAgICAoImZsYXRwYWsiLCAiMC4xMC4wIiksCi0gICAgKCJmbGF0cGFrLWJ1aWxkZXIiLCAiMC4x
MC4wIiksCiBdCiAKIEZMQVRQQUtfVkVSU0lPTiA9IHt9CiAKLVdQRV9NQU5JRkVTVF9NQVAgPSB7
Ci0gICAgInF0IjogIm9yZy53ZWJraXQuV1BFUVQueWFtbCIsCi19Ci0KIHNjcmlwdGRpciA9IG9z
LnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pKQogX2xvZyA9IGxvZ2dpbmcu
Z2V0TG9nZ2VyKF9fbmFtZV9fKQogCkBAIC0xMjMsMTMyICsxMTgsNiBAQCBkZWYgY2hlY2tfZmxh
dHBhayh2ZXJib3NlPVRydWUpOgogICAgIHJldHVybiBUcnVlCiAKIAotZGVmIHJlbW92ZV9leHRl
bnNpb25fcG9pbnRzKGFycmF5KToKLSAgICByZXN1bHRfYXJncyA9IFtdCi0gICAgZm9yIGFyZyBp
biBhcnJheToKLSAgICAgICAgaWYobm90IGFyZy5zdGFydHN3aXRoKCctLWV4dGVuc2lvbicpKToK
LSAgICAgICAgICAgIHJlc3VsdF9hcmdzLmFwcGVuZChhcmcpCi0gICAgcmV0dXJuIHJlc3VsdF9h
cmdzCi0KLQotZGVmIHJlbW92ZV9jb21tZW50cyhzdHJpbmcpOgotICAgIHBhdHRlcm4gPSByIihc
Ii4qP1wifFwnLio/XCcpfCgvXCouKj9cKi98Ly9bXlxyXG5dKiQpIgotICAgICMgZmlyc3QgZ3Jv
dXAgY2FwdHVyZXMgcXVvdGVkIHN0cmluZ3MgKGRvdWJsZSBvciBzaW5nbGUpCi0gICAgIyBzZWNv
bmQgZ3JvdXAgY2FwdHVyZXMgY29tbWVudHMgKC8vc2luZ2xlLWxpbmUgb3IgLyogbXVsdGktbGlu
ZSAqLykKLSAgICByZWdleCA9IHJlLmNvbXBpbGUocGF0dGVybiwgcmUuTVVMVElMSU5FIHwgcmUu
RE9UQUxMKQotCi0gICAgZGVmIF9yZXBsYWNlcihtYXRjaCk6Ci0gICAgICAgICMgaWYgdGhlIDJu
ZCBncm91cCAoY2FwdHVyaW5nIGNvbW1lbnRzKSBpcyBub3QgTm9uZSwKLSAgICAgICAgIyBpdCBt
ZWFucyB3ZSBoYXZlIGNhcHR1cmVkIGEgbm9uLXF1b3RlZCAocmVhbCkgY29tbWVudCBzdHJpbmcu
Ci0gICAgICAgIGlmIG1hdGNoLmdyb3VwKDIpIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcmV0
dXJuICIiICAjIHNvIHdlIHdpbGwgcmV0dXJuIGVtcHR5IHRvIHJlbW92ZSB0aGUgY29tbWVudAot
ICAgICAgICBlbHNlOiAgIyBvdGhlcndpc2UsIHdlIHdpbGwgcmV0dXJuIHRoZSAxc3QgZ3JvdXAK
LSAgICAgICAgICAgIHJldHVybiBtYXRjaC5ncm91cCgxKSAgIyBjYXB0dXJlZCBxdW90ZWQtc3Ry
aW5nCi0gICAgcmV0dXJuIHJlZ2V4LnN1YihfcmVwbGFjZXIsIHN0cmluZykKLQotCi1kZWYgbG9h
ZF9tYW5pZmVzdChtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWU9Tm9uZSwgY29tbWFuZD1Ob25lKToK
LSAgICBpc195YW1sID0gbWFuaWZlc3RfcGF0aC5lbmRzd2l0aCgnLnlhbWwnKQotICAgIHdpdGgg
b3BlbihtYW5pZmVzdF9wYXRoLCAiciIpIGFzIG1yOgotICAgICAgICBjb250ZW50cyA9IG1yLnJl
YWQoKQotCi0gICAgICAgIGNvbnRlbnRzID0gY29udGVudHMgJSB7IkNPTU1BTkQiOiBjb21tYW5k
LCAiUE9SVE5BTUUiOiBwb3J0X25hbWV9Ci0gICAgICAgIGlmIGlzX3lhbWw6Ci0gICAgICAgICAg
ICBpbXBvcnQgeWFtbAotICAgICAgICAgICAgeWFtbF9sb2FkID0gZ2V0YXR0cih5YW1sLCAic2Fm
ZV9sb2FkIiwgeWFtbC5sb2FkKQotICAgICAgICAgICAgbWFuaWZlc3QgPSB5YW1sX2xvYWQoY29u
dGVudHMpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBjb250ZW50cyA9IHJlbW92ZV9jb21t
ZW50cyhjb250ZW50cykKLSAgICAgICAgICAgIG1hbmlmZXN0ID0ganNvbi5sb2Fkcyhjb250ZW50
cykKLQotICAgIHJldHVybiBtYW5pZmVzdAotCi0KLWRlZiBleHBhbmRfc3VibW9kdWxlc19yZWN1
cnNlKG1vZHVsZXMsIG1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCk6Ci0gICAgYWxs
X21vZHVsZXMgPSBbXQotICAgIGlmIHR5cGUobW9kdWxlcykgaXMgc3RyOgotICAgICAgICBzdWJt
YW5pZmVzdF9wYXRoID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShtYW5pZmVzdF9wYXRo
KSwgbW9kdWxlcykKLSAgICAgICAgc3VibWFuaWZlc3QgPSBsb2FkX21hbmlmZXN0KHN1Ym1hbmlm
ZXN0X3BhdGgsIHBvcnRfbmFtZT1wb3J0X25hbWUsIGNvbW1hbmQ9Y29tbWFuZCkKLSAgICAgICAg
YWxsX21vZHVsZXMuZXh0ZW5kKGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2Uoc3VibWFuaWZlc3Qs
IHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCkpCi0gICAgICAgIHJldHVybiBh
bGxfbW9kdWxlcwotCi0gICAgIyBUaGUgbGFzdCByZWN1cnNlIG1hbmlmZXN0IGV4cGFuZCBpdGVy
YXRpb24gbWlnaHQgbGVhZCB0byBhIHNpbmdsZSBtb2R1bGUuCi0gICAgaWYgbm90IGlzaW5zdGFu
Y2UobW9kdWxlcywgbGlzdCk6Ci0gICAgICAgIGFsbF9tb2R1bGVzLmFwcGVuZChtb2R1bGVzKQot
ICAgICAgICByZXR1cm4gYWxsX21vZHVsZXMKLQotICAgIGZvciBtb2R1bGUgaW4gbW9kdWxlczoK
LSAgICAgICAgaWYgdHlwZShtb2R1bGUpIGlzIHN0cjoKLSAgICAgICAgICAgIHN1Ym1hbmlmZXN0
X3BhdGggPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKG1hbmlmZXN0X3BhdGgpLCBtb2R1
bGUpCi0gICAgICAgICAgICBzdWJtYW5pZmVzdCA9IGxvYWRfbWFuaWZlc3Qoc3VibWFuaWZlc3Rf
cGF0aCwgcG9ydF9uYW1lPXBvcnRfbmFtZSwgY29tbWFuZD1jb21tYW5kKQotICAgICAgICAgICAg
YWxsX21vZHVsZXMuZXh0ZW5kKGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2Uoc3VibWFuaWZlc3Qs
IHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCkpCi0gICAgICAgIGVsc2U6Ci0g
ICAgICAgICAgICBhbGxfbW9kdWxlcy5hcHBlbmQobW9kdWxlKQotCi0gICAgcmV0dXJuIGFsbF9t
b2R1bGVzCi0KLWRlZiBleHBhbmRfbWFuaWZlc3QobWFuaWZlc3RfcGF0aCwgb3V0ZmlsZSwgcG9y
dF9uYW1lLCBzb3VyY2Vfcm9vdCwgY29tbWFuZCk6Ci0gICAgIiIiQ3JlYXRlcyB0aGUgbWFuaWZl
c3QgZmlsZS4iIiIKLSAgICB0cnk6Ci0gICAgICAgIG9zLnJlbW92ZShvdXRmaWxlKQotICAgIGV4
Y2VwdCBPU0Vycm9yOgotICAgICAgICBwYXNzCi0KLSAgICBtYW5pZmVzdCA9IGxvYWRfbWFuaWZl
c3QobWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lPXBvcnRfbmFtZSwgY29tbWFuZD1jb21tYW5kKQot
ICAgIGlmIG5vdCBtYW5pZmVzdDoKLSAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICBpZiAic2Rr
LWhhc2giIGluIG1hbmlmZXN0OgotICAgICAgICBkZWwgbWFuaWZlc3RbInNkay1oYXNoIl0KLSAg
ICBpZiAicnVudGltZS1oYXNoIiBpbiBtYW5pZmVzdDoKLSAgICAgICAgZGVsIG1hbmlmZXN0WyJy
dW50aW1lLWhhc2giXQotCi0gICAgYWxsX21vZHVsZXMgPSBbXQotCi0gICAgb3ZlcnJpZGVuX21v
ZHVsZXMgPSBbXQotICAgIGlmICJXRUJLSVRfRVhUUkFfTU9EVUxFU0VUUyIgaW4gb3MuZW52aXJv
bjoKLSAgICAgICAgb3ZlcnJpZGVuX21vZHVsZXMgPSBsb2FkX21hbmlmZXN0KG9zLmVudmlyb25b
IldFQktJVF9FWFRSQV9NT0RVTEVTRVRTIl0pCi0gICAgICAgIGlmIG5vdCBvdmVycmlkZW5fbW9k
dWxlczoKLSAgICAgICAgICAgIG92ZXJyaWRlbl9tb2R1bGVzID0gW10KLSAgICBmb3IgbW9kdWxl
cyBpbiBtYW5pZmVzdFsibW9kdWxlcyJdOgotICAgICAgICBtb2R1bGVzID0gZXhwYW5kX3N1Ym1v
ZHVsZXNfcmVjdXJzZShtb2R1bGVzLCBtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWUsIGNvbW1hbmQp
Ci0KLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UobW9kdWxlcywgbGlzdCk6Ci0gICAgICAgICAg
ICBtb2R1bGVzID0gW21vZHVsZXNdCi0KLSAgICAgICAgZm9yIG1vZHVsZSBpbiBtb2R1bGVzOgot
ICAgICAgICAgICAgZm9yIG92ZXJyaWRlbl9tb2R1bGUgaW4gb3ZlcnJpZGVuX21vZHVsZXM6Ci0g
ICAgICAgICAgICAgICAgaWYgbW9kdWxlWyduYW1lJ10gPT0gb3ZlcnJpZGVuX21vZHVsZVsnbmFt
ZSddOgotICAgICAgICAgICAgICAgICAgICBtb2R1bGUgPSBvdmVycmlkZW5fbW9kdWxlCi0gICAg
ICAgICAgICAgICAgICAgIG92ZXJyaWRlbl9tb2R1bGVzLnJlbW92ZShtb2R1bGUpCi0gICAgICAg
ICAgICAgICAgICAgIGJyZWFrCi0KLSAgICAgICAgICAgIGFsbF9tb2R1bGVzLmFwcGVuZChtb2R1
bGUpCi0KLSAgICAjIEFuZCBhZGQgb3ZlcnJpZGVuIG1vZHVsZXMgcmlnaHQgYmVmb3JlIHRoZSB3
ZWJraXQgcG9ydCBidWlsZCBkZWYuCi0gICAgZm9yIG92ZXJyaWRlbl9tb2R1bGUgaW4gb3ZlcnJp
ZGVuX21vZHVsZXM6Ci0gICAgICAgIGFsbF9tb2R1bGVzLmluc2VydCgtMSwgb3ZlcnJpZGVuX21v
ZHVsZSkKLQotICAgIG1hbmlmZXN0WyJtb2R1bGVzIl0gPSBhbGxfbW9kdWxlcwotICAgIGZvciBt
b2R1bGUgaW4gbWFuaWZlc3RbIm1vZHVsZXMiXToKLSAgICAgICAgaWYgbm90IG1vZHVsZS5nZXQo
InNvdXJjZXMiKToKLSAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgaWYgbW9kdWxlWyJz
b3VyY2VzIl1bMF1bInR5cGUiXSA9PSAiZ2l0IjoKLSAgICAgICAgICAgIGlmIHBvcnRfbmFtZSA9
PSBtb2R1bGVbIm5hbWUiXToKLSAgICAgICAgICAgICAgICByZXBvID0gImZpbGU6Ly8iICsgc291
cmNlX3Jvb3QKLSAgICAgICAgICAgICAgICBtb2R1bGVbInNvdXJjZXMiXVswXVsidXJsIl0gPSBy
ZXBvCi0KLSAgICAgICAgZm9yIHNvdXJjZSBpbiBtb2R1bGVbInNvdXJjZXMiXToKLSAgICAgICAg
ICAgIGlmIHNvdXJjZVsidHlwZSJdID09ICJwYXRjaCIgb3IgKHNvdXJjZVsidHlwZSJdID09ICJm
aWxlIiBhbmQgc291cmNlLmdldCgncGF0aCcpKToKLSAgICAgICAgICAgICAgICBzb3VyY2VbInBh
dGgiXSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUobWFuaWZlc3RfcGF0aCksIHNvdXJj
ZVsicGF0aCJdKQotCi0gICAgd2l0aCBvcGVuKG91dGZpbGUsICJ3IikgYXMgb2Y6Ci0gICAgICAg
IG9mLndyaXRlKGpzb24uZHVtcHMobWFuaWZlc3QsIGluZGVudD00KSkKLQotICAgIHJldHVybiBU
cnVlCi0KLQogY2xhc3MgRmxhdHBha09iamVjdDoKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB1
c2VyKToKQEAgLTI4NCw3ICsxNTMsNiBAQCBjbGFzcyBGbGF0cGFrUGFja2FnZXMoRmxhdHBha09i
amVjdCk6CiAgICAgICAgIHNlbGYuYXBwcyA9IHNlbGYuX19kZXRlY3RfYXBwcygpCiAgICAgICAg
IHNlbGYucGFja2FnZXMgPSBzZWxmLnJ1bnRpbWVzICsgc2VsZi5hcHBzCiAKLQogICAgIGRlZiBf
X2RldGVjdF9wYWNrYWdlcyhzZWxmLCAqYXJncyk6CiAgICAgICAgIHBhY2tzID0gW10KICAgICAg
ICAgaWYgRkxBVFBBS19WRVJTSU9OWyJmbGF0cGFrIl0gPCAoMSwgMSwgMik6CkBAIC0zMTIsNyAr
MTgwLDYgQEAgY2xhc3MgRmxhdHBha1BhY2thZ2VzKEZsYXRwYWtPYmplY3QpOgogCiAgICAgICAg
IHJldHVybiBwYWNrcwogCi0KICAgICBkZWYgX19kZXRlY3RfcnVudGltZXMoc2VsZik6CiAgICAg
ICAgIHJldHVybiBzZWxmLl9fZGV0ZWN0X3BhY2thZ2VzKCItLXJ1bnRpbWUiKQogCkBAIC0zNjIs
NyArMjI5LDcgQEAgY2xhc3MgRmxhdHBha1JlcG9zKEZsYXRwYWtPYmplY3QpOgogICAgICAgICAg
ICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIk5vIHZhbGlkIFVSSSBmb3VuZCBmb3I6ICVzIiwg
cmVwbykKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKIAotICAgICAgICAgICAgICAgIHNl
bGYucmVwb3NbbmFtZV0gPSBGbGF0cGFrUmVwbyhuYW1lLCB1cmwsIGRlc2MsIHJlcG9zPXNlbGYp
CisgICAgICAgICAgICAgICAgc2VsZi5yZXBvc1tuYW1lXSA9IEZsYXRwYWtSZXBvKG5hbWU9bmFt
ZSwgdXJsPXVybCwgZGVzYz1kZXNjLCByZXBvcz1zZWxmKQogICAgICAgICBlbHNlOgogICAgICAg
ICAgICAgb3V0ID0gc2VsZi5mbGF0cGFrKCJyZW1vdGUtbGlzdCIsICItLWNvbHVtbnM9bmFtZSx0
aXRsZSx1cmwiKQogICAgICAgICAgICAgcmVtb3RlcyA9IFtsaW5lIGZvciBsaW5lIGluIG91dC5z
cGxpdCgiXG4iKSBpZiBsaW5lXQpAQCAtMzczLDcgKzI0MCw3IEBAIGNsYXNzIEZsYXRwYWtSZXBv
cyhGbGF0cGFrT2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJO
byB2YWxpZCBVUkkgZm91bmQgZm9yOiAlcyIsIHJlbW90ZSkKICAgICAgICAgICAgICAgICAgICAg
Y29udGludWUKIAotICAgICAgICAgICAgICAgIHNlbGYucmVwb3NbbmFtZV0gPSBGbGF0cGFrUmVw
byhuYW1lLCB1cmwsIHRpdGxlLCByZXBvcz1zZWxmKQorICAgICAgICAgICAgICAgIHNlbGYucmVw
b3NbbmFtZV0gPSBGbGF0cGFrUmVwbyhuYW1lPW5hbWUsIHVybD11cmwsIGRlc2M9dGl0bGUsIHJl
cG9zPXNlbGYpCiAKICAgICAgICAgc2VsZi5wYWNrYWdlcyA9IEZsYXRwYWtQYWNrYWdlcyhzZWxm
KQogCkBAIC00NDksOSArMzE2LDEyIEBAIGNsYXNzIEZsYXRwYWtQYWNrYWdlKEZsYXRwYWtPYmpl
Y3QpOgogICAgICAgICBzZWxmLmFyY2ggPSBhcmNoCiAgICAgICAgIHNlbGYuaGFzaCA9IGhhc2gK
IAotICAgIGRlZiBfX3N0cl9fKHNlbGYpOgorICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAg
ICAgcmV0dXJuICIlcy8lcy8lcyAlcyIgJSAoc2VsZi5uYW1lLCBzZWxmLmFyY2gsIHNlbGYuYnJh
bmNoLCBzZWxmLnJlcG8ubmFtZSkKIAorICAgIGRlZiBfX3N0cl9fKHNlbGYpOgorICAgICAgICBy
ZXR1cm4gIiVzLyVzLyVzIiAlIChzZWxmLm5hbWUsIHNlbGYuYXJjaCwgc2VsZi5icmFuY2gpCisK
ICAgICBkZWYgaXNfaW5zdGFsbGVkKHNlbGYsIGJyYW5jaCk6CiAgICAgICAgIGlmIG5vdCBzZWxm
LnJlcG86CiAgICAgICAgICAgICAjIEJ1bmRsZSBpbnN0YWxsZWQgZnJvbSBmaWxlCkBAIC00OTEs
NyArMzYxLDcgQEAgY2xhc3MgRmxhdHBha1BhY2thZ2UoRmxhdHBha09iamVjdCk6CiAgICAgICAg
IGV4dHJhX2FyZ3MuYXBwZW5kKCItLWFzc3VtZXllcyIpCiAKICAgICAgICAgc2VsZi5mbGF0cGFr
KCJ1cGRhdGUiLCBzZWxmLm5hbWUsIHNlbGYuYnJhbmNoLCBzaG93X291dHB1dD1UcnVlLAotICAg
ICAgICAgICAgICAgICAgICAqZXh0cmFfYXJncywgY29tbWVudD1jb21tZW50KQorICAgICAgICAg
ICAgICAgICAgICAgKmV4dHJhX2FyZ3MsIGNvbW1lbnQ9Y29tbWVudCkKIAogCiBAY29udGV4dG1h
bmFnZXIKQEAgLTUxOSw1MSArMzg5LDUyIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAg
IGdlbmVyYWwuYWRkX2FyZ3VtZW50KCctLXZlcmJvc2UnLCBhY3Rpb249J3N0b3JlX3RydWUnLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdTaG93IGRlYnVnIG1lc3NhZ2UnKQog
ICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLS1kZWJ1ZyIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaGVscD0iQ29tcGlsZSB3aXRoIERlYnVnIGNvbmZpZ3VyYXRpb24sIGFsc28g
aW5zdGFsbHMgU2RrIGRlYnVnIHN5bWJvbGVzLiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYWN0aW9uPSJzdG9yZV90cnVlIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVs
cD0iQ29tcGlsZSB3aXRoIERlYnVnIGNvbmZpZ3VyYXRpb24sIGFsc28gaW5zdGFsbHMgU2RrIGRl
YnVnIHN5bWJvbGVzLiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3Rv
cmVfdHJ1ZSIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLXJlbGVhc2UiLCBoZWxw
PSJDb21waWxlIHdpdGggUmVsZWFzZSBjb25maWd1cmF0aW9uLiIsIGFjdGlvbj0ic3RvcmVfdHJ1
ZSIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCctLXBsYXRmb3JtJywgYWN0aW9uPSdz
dG9yZScsIGhlbHA9J1BsYXRmb3JtIHRvIHVzZSAoZS5nLiwgIm1hYy1saW9uIiknKSwKICAgICAg
ICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoJy0tZ3RrJywgYWN0aW9uPSdzdG9yZV9jb25zdCcsIGRl
c3Q9J3BsYXRmb3JtJywgY29uc3Q9J2d0aycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGhlbHA9J0FsaWFzIGZvciAtLXBsYXRmb3JtPWd0aycpCiAgICAgICAgIGdlbmVyYWwuYWRkX2Fy
Z3VtZW50KCctLXdwZScsIGFjdGlvbj0nc3RvcmVfY29uc3QnLCBkZXN0PSdwbGF0Zm9ybScsIGNv
bnN0PSd3cGUnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9KCdBbGlhcyBmb3Ig
LS1wbGF0Zm9ybT13cGUnKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0oJ0Fs
aWFzIGZvciAtLXBsYXRmb3JtPXdwZScpKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgi
LW5mIiwgIi0tbm8tZmxhdHBhay11cGRhdGUiLCBkZXN0PSJub19mbGF0cGFrX3VwZGF0ZSIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBoZWxwPSJEbyBub3QgdXBkYXRlIGZsYXB0YWsgcnVudGltZS9z
ZGsiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJEbyBub3QgdXBkYXRlIGZsYXB0YWsg
cnVudGltZS9zZGsiKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLXUiLCAiLS11cGRh
dGUiLCBkZXN0PSJ1cGRhdGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0i
c3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iVXBkYXRlIHRo
ZSBydW50aW1lL3Nkay9hcHAgYW5kIHJlYnVpbGQgdGhlIGRldmVsb3BtZW50IGVudmlyb25tZW50
IGlmIG5lZWRlZCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVf
dHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlVwZGF0ZSB0aGUgcnVu
dGltZS9zZGsvYXBwIGFuZCByZWJ1aWxkIHRoZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCBpZiBu
ZWVkZWQiKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLWIiLCAiLS1idWlsZC13ZWJr
aXQiLCBkZXN0PSJidWlsZF93ZWJraXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFj
dGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRm9y
Y2UgcmVidWlsZGluZyB0aGUgYXBwLiIpCi0gICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCIt
YmEiLCAiLS1idWlsZC1hbGwiLCBkZXN0PSJidWlsZF9hbGwiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaGVscD0iRm9yY2UgcmVidWlsZGluZyB0aGUgYXBwIGFuZCBpdHMgZGVwZW5kZW5jaWVzLiIp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkZvcmNlIHJlYnVpbGRpbmcgdGhlIGFwcC4i
KQorICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLWJnc3QiLCAiLS1idWlsZC1nc3QiLCBk
ZXN0PSJidWlsZF9nc3QiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0
b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJGb3JjZSByZWJ1
aWxkaW5nIGdzdC1idWlsZCwgcmVwb3NpdG9yeSBwYXRoIGlzIGRlZmluZWQgYnkgdGhlIGBHU1Rf
QlVJTERfUEFUSGAgZW52aXJvbm1lbnQgdmFyaWFibGUuIikKICAgICAgICAgZ2VuZXJhbC5hZGRf
YXJndW1lbnQoIi1xIiwgIi0tcXVpZXQiLCBkZXN0PSJxdWlldCIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBoZWxwPSJEbyBub3QgcHJpbnQgYW55dGhpbmciKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSJEbyBub3QgcHJpbnQgYW55dGhpbmciKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1
bWVudCgiLXQiLCAiLS10ZXN0cyIsIGRlc3Q9InJ1bl90ZXN0cyIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbmFyZ3M9YXJncGFyc2UuUkVNQUlOREVSLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGhlbHA9IlJ1biBMYXlvdXRUZXN0cyIpCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG5hcmdzPWFyZ3BhcnNlLlJFTUFJTkRFUiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0iUnVuIExheW91dFRlc3RzIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1l
bnQoIi1jIiwgIi0tY29tbWFuZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFyZ3M9
YXJncGFyc2UuUkVNQUlOREVSLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlRo
ZSBjb21tYW5kIHRvIHJ1biBpbiB0aGUgc2FuZGJveCIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGVzdD0idXNlcl9jb21tYW5kIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bmFyZ3M9YXJncGFyc2UuUkVNQUlOREVSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBo
ZWxwPSJUaGUgY29tbWFuZCB0byBydW4gaW4gdGhlIHNhbmRib3giLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkZXN0PSJ1c2VyX2NvbW1hbmQiKQogICAgICAgICBnZW5lcmFsLmFkZF9h
cmd1bWVudCgnLS1hdmFpbGFibGUnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZXN0PSJjaGVja19h
dmFpbGFibGUiLCBoZWxwPSdDaGVjayBpZiByZXF1aXJlZCBkZXBlbmRlbmNpZXMgYXJlIGF2YWls
YWJsZS4nKSwKLSAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi0tdXNlLWljZWNyZWFtIiwg
aGVscD0iVXNlIHRoZSBkaXN0cmlidXRlZCBpY2VjcmVhbSAoaWNlY2MpIGNvbXBpbGVyLiIsIGFj
dGlvbj0ic3RvcmVfdHJ1ZSIpCi0gICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLXdwZS1l
eHRlbnNpb24iLCBhY3Rpb249InN0b3JlIiwgZGVzdD0id3BlX2V4dGVuc2lvbiIsIGhlbHA9IldQ
RSBFeHRlbnNpb24gdG8gZW5hYmxlIikKKyAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi0t
dXNlLWljZWNyZWFtIiwgZGVzdD0idXNlX2ljZWNyZWFtIiwgaGVscD0iVXNlIHRoZSBkaXN0cmli
dXRlZCBpY2VjcmVhbSAoaWNlY2MpIGNvbXBpbGVyLiIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIpCiAK
ICAgICAgICAgZGVidWdvcHRpb25zID0gcGFyc2VyLmFkZF9hcmd1bWVudF9ncm91cCgiRGVidWdn
aW5nIikKICAgICAgICAgZGVidWdvcHRpb25zLmFkZF9hcmd1bWVudCgiLS1nZGIiLCBuYXJncz0i
PyIsIGhlbHA9IkFjdGl2YXRlIGdkYiwgcGFzc2luZyBleHRyYSBhcmdzIHRvIGl0IGlmIHdhbnRl
ZC4iKQorICAgICAgICBkZWJ1Z29wdGlvbnMuYWRkX2FyZ3VtZW50KCItLWdkYi1zdGFjay10cmFj
ZSIsIGRlc3Q9ImdkYl9zdGFja190cmFjZSIsIG5hcmdzPSI/IiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoZWxwPSJEdW1wIHRoZSBzdGFja3RyYWNlIHRvIHN0ZG91dC4gVGhl
IGFyZ3VtZW50IGlzIGEgdGltZXN0YW1wIHRvIGJlIHBhcnNlZCBieSBjb3JlZHVtcGN0bC4iKQog
ICAgICAgICBkZWJ1Z29wdGlvbnMuYWRkX2FyZ3VtZW50KCItbSIsICItLWNvcmVkdW1wY3RsLW1h
dGNoZXMiLCBkZWZhdWx0PSIiLCBoZWxwPSdBcmd1bWVudHMgdG8gcGFzcyB0byBnZGIuJykKIAog
ICAgICAgICBidWlsZG9wdGlvbnMgPSBwYXJzZXIuYWRkX2FyZ3VtZW50X2dyb3VwKCJFeHRyYSBi
dWlsZCBhcmd1bWVudHMiKQogICAgICAgICBidWlsZG9wdGlvbnMuYWRkX2FyZ3VtZW50KCItLW1h
a2VhcmdzIiwgaGVscD0iT3B0aW9uYWwgTWFrZWZpbGUgZmxhZ3MiKQogICAgICAgICBidWlsZG9w
dGlvbnMuYWRkX2FyZ3VtZW50KCItLWNtYWtlYXJncyIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGhlbHA9Ik9uZSBvciBtb3JlIG9wdGlvbmFsIENNYWtlIGZsYWdzIChlLmcuIC0t
Y21ha2VhcmdzPVwiLURGT089YmFyIC1EQ01BS0VfUFJFRklYX1BBVEg9L3Vzci9sb2NhbFwiKSIp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iT25lIG9yIG1vcmUgb3B0
aW9uYWwgQ01ha2UgZmxhZ3MgKGUuZy4gLS1jbWFrZWFyZ3M9XCItREZPTz1iYXIgLURDTUFLRV9Q
UkVGSVhfUEFUSD0vdXNyL2xvY2FsXCIpIikKIAogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVu
dCgiLS1jbGVhbiIsIGRlc3Q9ImNsZWFuIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAg
ICAgIGhlbHA9IkNsZWFuIHByZXZpb3VzIGJ1aWxkcyBhbmQgcmVzdGFydCBmcm9tIHNjcmF0Y2gi
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJDbGVhbiBwcmV2aW91cyBidWls
ZHMgYW5kIHJlc3RhcnQgZnJvbSBzY3JhdGNoIikKIAogICAgICAgICBfLCBzZWxmLmFyZ3MgPSBw
YXJzZXIucGFyc2Vfa25vd25fYXJncyhhcmdzPWFyZ3MsIG5hbWVzcGFjZT1zZWxmKQogCkBAIC01
ODMsNiArNDU0LDcgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgc2VsZi51cGRhdGUg
PSBGYWxzZQogICAgICAgICBzZWxmLmFyZ3MgPSBbXQogICAgICAgICBzZWxmLmZpbmlzaF9hcmdz
ID0gTm9uZQorICAgICAgICBzZWxmLmdkYl9zdGFja190cmFjZSA9IEZhbHNlCiAKICAgICAgICAg
c2VsZi5ub19mbGF0cGFrX3VwZGF0ZSA9IEZhbHNlCiAgICAgICAgIHNlbGYucmVsZWFzZSA9IEZh
bHNlCkBAIC01OTQsOSArNDY2LDEwIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgIHNl
bGYuc2FuZGJveF9zb3VyY2Vfcm9vdCA9ICIvYXBwL3dlYmtpdCIKIAogICAgICAgICBzZWxmLmJ1
aWxkX3dlYmtpdCA9IEZhbHNlCisgICAgICAgIHNlbGYuYnVpbGRfZ3N0ID0gRmFsc2UKICAgICAg
ICAgc2VsZi5idWlsZF9hbGwgPSBGYWxzZQogCi0gICAgICAgIHNlbGYuc2RrX2JyYW5jaCA9IE5v
bmUKKyAgICAgICAgc2VsZi5zZGtfYnJhbmNoID0gIjAuMSIKICAgICAgICAgc2VsZi5wbGF0Zm9y
bSA9ICJndGsiCiAgICAgICAgIHNlbGYuYnVpbGRfdHlwZSA9ICJSZWxlYXNlIgogICAgICAgICBz
ZWxmLm1hbmlmZXN0X3BhdGggPSBOb25lCkBAIC02MDcsNyArNDgwLDYgQEAgY2xhc3MgV2Via2l0
RmxhdHBhazoKICAgICAgICAgc2VsZi5hcHBfbW9kdWxlID0gTm9uZQogICAgICAgICBzZWxmLmZs
YXRwYWtfZGVmYXVsdF9hcmdzID0gW10KICAgICAgICAgc2VsZi5jaGVja19hdmFpbGFibGUgPSBG
YWxzZQotICAgICAgICBzZWxmLndwZV9leHRlbnNpb24gPSBOb25lCiAKICAgICAgICAgIyBEZWZh
dWx0IGFwcGxpY2F0aW9uIHRvIHJ1biBpbiB0aGUgc2FuZGJveAogICAgICAgICBzZWxmLmNvbW1h
bmQgPSBOb25lCkBAIC02NDYsMzAgKzUxOCwyMCBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAg
ICAgICAgICAgc2VsZi5nZGIgPSAiIgogCiAgICAgICAgIHNlbGYuY29tbWFuZCA9ICIlcyAlcyAl
cyIgJSAob3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwKLSAgICAgICAgICAg
ICJUb29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlciIpLAotICAgICAgICAgICAgIi0tIiArIHNl
bGYucGxhdGZvcm0ubG93ZXIoKSwKLSAgICAgICAgICAgICIgLS1kZWJ1ZyIgaWYgc2VsZi5kZWJ1
ZyBlbHNlICIgLS1yZWxlYXNlIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIlRvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93c2VyIiksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tIiArIHNlbGYucGxhdGZvcm0ubG93ZXIo
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIC0tZGVidWciIGlmIHNl
bGYuZGVidWcgZWxzZSAiIC0tcmVsZWFzZSIpCiAKLSAgICAgICAgc2VsZi5uYW1lID0gIm9yZy53
ZWJraXQuJXMiICUgc2VsZi5wbGF0Zm9ybQotCi0gICAgICAgIGlmIHNlbGYud3BlX2V4dGVuc2lv
bjoKLSAgICAgICAgICAgIG1hbmlmZXN0X2ZpbGVuYW1lID0gV1BFX01BTklGRVNUX01BUFtzZWxm
LndwZV9leHRlbnNpb25dCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBtYW5pZmVzdF9maWxl
bmFtZSA9ICJvcmcud2Via2l0LldlYktpdC55YW1sIgotICAgICAgICBzZWxmLm1hbmlmZXN0X3Bh
dGggPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKHNjcmlwdGRpciwgJy4uL2ZsYXRwYWsv
JykgKyBtYW5pZmVzdF9maWxlbmFtZSkKLQotICAgICAgICBzZWxmLmJ1aWxkX25hbWUgPSBzZWxm
Lm5hbWUgKyAiLWdlbmVyYXRlZCIKKyAgICAgICAgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGggPSBv
cy5lbnZpcm9uWyJGTEFUUEFLX1VTRVJfRElSIl0KIAogICAgICAgICBidWlsZF9yb290ID0gb3Mu
cGF0aC5qb2luKHNlbGYuc291cmNlX3Jvb3QsICdXZWJLaXRCdWlsZCcpCi0gICAgICAgIHNlbGYu
ZmxhdHBha19idWlsZF9wYXRoID0gb3MucGF0aC5qb2luKGJ1aWxkX3Jvb3QsIHNlbGYucGxhdGZv
cm0sICJGbGF0cGFrVHJlZSIgKyBzZWxmLmJ1aWxkX3R5cGUpCi0gICAgICAgIHNlbGYuY2FjaGVf
cGF0aCA9IG9zLnBhdGguam9pbihidWlsZF9yb290LCAiRmxhdHBha0NhY2hlIikKICAgICAgICAg
c2VsZi5idWlsZF9wYXRoID0gb3MucGF0aC5qb2luKGJ1aWxkX3Jvb3QsIHNlbGYucGxhdGZvcm0s
IHNlbGYuYnVpbGRfdHlwZSkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb3MubWFrZWRpcnMo
c2VsZi5idWlsZF9wYXRoKQogICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAg
ICAgaWYgZS5lcnJubyAhPSBlcnJuby5FRVhJU1Q6CiAgICAgICAgICAgICAgICAgcmFpc2UgZQot
ICAgICAgICBzZWxmLmNvbmZpZ19maWxlID0gb3MucGF0aC5qb2luKHNlbGYuYnVpbGRfcGF0aCwg
J3dlYmtpdF9mbGF0cGFrX2NvbmZpZy5qc29uJykKKyAgICAgICAgc2VsZi5jb25maWdfZmlsZSA9
IG9zLnBhdGguam9pbihzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCwgJ3dlYmtpdF9mbGF0cGFrX2Nv
bmZpZy5qc29uJykKIAogICAgICAgICBDb25zb2xlLnF1aWV0ID0gc2VsZi5xdWlldAogICAgICAg
ICBpZiBub3QgY2hlY2tfZmxhdHBhaygpOgpAQCAtNjc3LDM1ICs1MzksMzUgQEAgY2xhc3MgV2Vi
a2l0RmxhdHBhazoKIAogICAgICAgICByZXBvcyA9IEZsYXRwYWtSZXBvcygpCiAgICAgICAgIHNl
bGYuc2RrX3JlcG8gPSByZXBvcy5hZGQoCi0gICAgICAgICAgICBGbGF0cGFrUmVwbygiZmxhdGh1
YiIsCi0gICAgICAgICAgICAgICAgICAgICAgICB1cmw9Imh0dHBzOi8vZGwuZmxhdGh1Yi5vcmcv
cmVwby8iLAotICAgICAgICAgICAgICAgICAgICAgICAgcmVwb19maWxlPSJodHRwczovL2RsLmZs
YXRodWIub3JnL3JlcG8vZmxhdGh1Yi5mbGF0cGFrcmVwbyIpKQotCi0gICAgICAgIG1hbmlmZXN0
ID0gbG9hZF9tYW5pZmVzdChzZWxmLm1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZT1zZWxmLm5hbWUp
Ci0gICAgICAgIGlmIG5vdCBtYW5pZmVzdDoKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAg
ICAgICAgICAgRmxhdHBha1JlcG8oIndlYmtpdC1zZGsiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgdXJsPSJodHRwczovL3NvZnR3YXJlLmlnYWxpYS5jb20vd2Via2l0LXNkay1yZXBvLyIsCisg
ICAgICAgICAgICAgICAgICAgICAgICByZXBvX2ZpbGU9Imh0dHBzOi8vc29mdHdhcmUuaWdhbGlh
LmNvbS9mbGF0cGFrLXJlZnMvd2Via2l0LXNkay5mbGF0cGFrcmVwbyIpCisgICAgICAgICkKIAot
ICAgICAgICBzZWxmLmFwcCA9IG1hbmlmZXN0WydhcHAtaWQnXQotCi0gICAgICAgIHNlbGYuc2Rr
X2JyYW5jaCA9IG1hbmlmZXN0WyJydW50aW1lLXZlcnNpb24iXQotICAgICAgICBzZWxmLmZpbmlz
aF9hcmdzID0gbWFuaWZlc3QuZ2V0KCJmaW5pc2gtYXJncyIsIFtdKQotICAgICAgICBzZWxmLmZp
bmlzaF9hcmdzID0gcmVtb3ZlX2V4dGVuc2lvbl9wb2ludHMoc2VsZi5maW5pc2hfYXJncykKLSAg
ICAgICAgc2VsZi5ydW50aW1lID0gRmxhdHBha1BhY2thZ2UobWFuaWZlc3RbJ3J1bnRpbWUnXSwg
c2VsZi5zZGtfYnJhbmNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLnNka19yZXBvLCAieDg2XzY0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGFzaD1tYW5pZmVzdC5nZXQoInJ1bnRpbWUtaGFzaCIpKQotICAgICAgICBzZWxmLmxv
Y2FsZSA9IEZsYXRwYWtQYWNrYWdlKG1hbmlmZXN0WydydW50aW1lJ10gKyAnLkxvY2FsZScsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfYnJhbmNoLCBzZWxm
LnNka19yZXBvLCAieDg2XzY0IikKLSAgICAgICAgc2VsZi5zZGsgPSBGbGF0cGFrUGFja2FnZSht
YW5pZmVzdFsnc2RrJ10sIHNlbGYuc2RrX2JyYW5jaCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBoYXNoPW1hbmlmZXN0LmdldCgic2RrLWhhc2giKSkKKyAgICAgICAgc2Vs
Zi5maW5pc2hfYXJncyA9IFtdCisgICAgICAgIHNlbGYucnVudGltZSA9IEZsYXRwYWtQYWNrYWdl
KCJvcmcud2Via2l0LlBsYXRmb3JtIiwgc2VsZi5zZGtfYnJhbmNoLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IikKKyAgICAgICAg
c2VsZi5sb2NhbGUgPSBGbGF0cGFrUGFja2FnZSgib3JnLndlYmtpdC5QbGF0Zm9ybS5Mb2NhbGUi
LCBzZWxmLnNka19icmFuY2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCisgICAgICAgIHNlbGYuc2RrID0gRmxhdHBha1BhY2th
Z2UoIm9yZy53ZWJraXQuU2RrIiwgIjAuMSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCiAgICAgICAgIHNlbGYucGFja3MgPSBbc2Vs
Zi5ydW50aW1lLCBzZWxmLmxvY2FsZSwgc2VsZi5zZGtdCiAKKyAgICAgICAgIyBGSVhNRTogRm9y
IHVua25vd24gcmVhc29ucywgdGhlIEdMIGV4dGVuc2lvbiBuZWVkcyB0byBiZSBleHBsaWNpdGVs
eQorICAgICAgICAjIGluc3RhbGxlZCBmb3IgRmxhdHBhayAxLjIueCB0byBiZSBhYmxlIHRvIG1h
a2UgdXNlIG9mIGl0LiBTZWVtcyBsaWtlCisgICAgICAgICMgaXQncyBub3QgY29ycmVjdGx5IGlu
aGVyaXRpbmcgaXQgZnJvbSB0aGUgU0RLLgorICAgICAgICBzZWxmLmZsYXRodWJfcmVwbyA9IHJl
cG9zLmFkZCgKKyAgICAgICAgICAgIEZsYXRwYWtSZXBvKCJmbGF0aHViIiwgcmVwb19maWxlPSJo
dHRwczovL2RsLmZsYXRodWIub3JnL3JlcG8vZmxhdGh1Yi5mbGF0cGFrcmVwbyIpCisgICAgICAg
ICkKKyAgICAgICAgc2VsZi5nbF9leHRlbnNpb24gPSBGbGF0cGFrUGFja2FnZSgib3JnLmZyZWVk
ZXNrdG9wLlBsYXRmb3JtLkdMLmRlZmF1bHQiLCAiMTkuMDgiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmxhdGh1Yl9yZXBvLCAieDg2XzY0IikKKyAg
ICAgICAgc2VsZi5wYWNrcy5hcHBlbmQoc2VsZi5nbF9leHRlbnNpb24pCisKICAgICAgICAgaWYg
c2VsZi5kZWJ1ZzoKLSAgICAgICAgICAgIHNlbGYuc2RrX2RlYnVnID0gRmxhdHBha1BhY2thZ2Uo
bWFuaWZlc3RbJ3NkayddICsgJy5EZWJ1ZycsIHNlbGYuc2RrX2JyYW5jaCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCisgICAg
ICAgICAgICBzZWxmLnNka19kZWJ1ZyA9IEZsYXRwYWtQYWNrYWdlKCdvcmcud2Via2l0LlNkay5E
ZWJ1ZycsIHNlbGYuc2RrX2JyYW5jaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCiAgICAgICAgICAgICBzZWxmLnBh
Y2tzLmFwcGVuZChzZWxmLnNka19kZWJ1ZykKLSAgICAgICAgc2VsZi5tYW5pZmVzdF9nZW5lcmF0
ZWRfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLmNhY2hlX3BhdGgsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5idWlsZF9uYW1lICsgIi5q
c29uIikKKwogICAgICAgICB0cnk6CiAgICAgICAgICAgICB3aXRoIG9wZW4oc2VsZi5jb25maWdf
ZmlsZSkgYXMgY29uZmlnOgogICAgICAgICAgICAgICAgIGpzb25fY29uZmlnID0ganNvbi5sb2Fk
KGNvbmZpZykKQEAgLTcxNSw3ICs1NzcsNDUgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKIAogICAg
ICAgICByZXR1cm4gVHJ1ZQogCisgICAgZGVmIHNldHVwX2J1aWxkZGlyKHNlbGYsICoqa3dhcmdz
KToKKyAgICAgICAgaWYgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYuZmxhdHBha19i
dWlsZF9wYXRoLCAibWV0YWRhdGEiKSk6CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBz
ZWxmLnNka19yZXBvLmZsYXRwYWsoImJ1aWxkLWluaXQiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAib3JnLndlYmtpdC5XZWJraXQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc3RyKHNlbGYuc2RrKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZWxm
LnJ1bnRpbWUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGsuYnJhbmNo
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd19vdXRwdXQ9InN0ZG91dCIgaW4g
a3dhcmdzLmtleXMoKSkKKworICAgIGRlZiBzZXR1cF9nc3RidWlsZChzZWxmLCBidWlsZGluZyk6
CisgICAgICAgIGdzdF9kaXIgPSBvcy5lbnZpcm9uLmdldCgnR1NUX0JVSUxEX1BBVEgnKQorICAg
ICAgICBpZiBub3QgZ3N0X2RpcjoKKyAgICAgICAgICAgIHJldHVybiBbXQorCisgICAgICAgIGlm
IG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oZ3N0X2RpciwgJ2dzdC1lbnYucHknKSk6
CisgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ0dTVF9CVUlMRF9QQVRIIHNldCB0byAl
cyBidXQgaXQgZG9lc25cJ3Qgc2VlbSB0byBiZSBhIHZhbGlkIGBnc3QtYnVpbGRgIGNoZWNrb3V0
LicgJSBnc3RfZGlyKQorCisgICAgICAgIGdzdF9idWlsZGRpciA9IG9zLnBhdGguam9pbihzZWxm
LnNhbmRib3hfc291cmNlX3Jvb3QsICJXZWJLaXRCdWlsZCIsICdnc3QtYnVpbGQnKQorICAgICAg
ICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYuc291cmNlX3Jvb3QsICdX
ZWJLaXRCdWlsZCcsICdnc3QtYnVpbGQnLCAnYnVpbGQubmluamEnKSk6CisgICAgICAgICAgICBp
ZiBub3QgYnVpbGRpbmc6CisgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdUcnlp
bmcgdG8gZW50ZXIgZ3N0LWJ1aWxkIGVudiBmcm9tICVzIGJ1dCBpdCBpcyBub3QgYnVpbHQsIG1h
a2Ugc3VyZSB0byByZWJ1aWxkIHdlYmtpdC4nICUgZ3N0X2RpcikKKworICAgICAgICAgICAgQ29u
c29sZS5tZXNzYWdlKCJSdW5uaW5nIG1lc29uIGZvciBgZ3N0LWJ1aWxkYCAlcyAiLCBnc3RfZGly
KQorICAgICAgICAgICAgc2VsZi5ydW5faW5fc2FuZGJveCgnbWVzb24nLCBnc3RfZGlyLCBnc3Rf
YnVpbGRkaXIsIGJ1aWxkaW5nX2dzdD1UcnVlKQorCisgICAgICAgIGlmIG5vdCBidWlsZGluZzoK
KyAgICAgICAgICAgIHJldHVybiBbb3MucGF0aC5qb2luKGdzdF9kaXIsICdnc3QtZW52LnB5Jyks
ICctLWJ1aWxkZGlyJywgZ3N0X2J1aWxkZGlyLCAnLS1zcmNkaXInLCBnc3RfZGlyXQorCisgICAg
ICAgIENvbnNvbGUubWVzc2FnZSgiQnVpbGRpbmcgYGdzdC1idWlsZGAgJXMgIiwgZ3N0X2RpcikK
KyAgICAgICAgaWYgc2VsZi5ydW5faW5fc2FuZGJveCgnbmluamEnLCAnLUMnLCBnc3RfYnVpbGRk
aXIsIGJ1aWxkaW5nX2dzdD1UcnVlKSAhPSAwOgorICAgICAgICAgICAgcmFpc2UgUnVudGltZUVy
cm9yKCdFcnJvciB3aGlsZSBidWlsZGluZyBnc3QtYnVpbGQuJykKKworICAgICAgICByZXR1cm4g
W29zLnBhdGguam9pbihnc3RfZGlyLCAnZ3N0LWVudi5weScpLCAnLS1idWlsZGRpcicsIGdzdF9i
dWlsZGRpciwgJy0tc3JjZGlyJywgZ3N0X2Rpcl0KKwogICAgIGRlZiBydW5faW5fc2FuZGJveChz
ZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBzZWxmLnNldHVwX2J1aWxkZGlyKHN0ZG91
dD1rd2FyZ3MuZ2V0KCJzdGRvdXQiLCBzeXMuc3Rkb3V0KSkKICAgICAgICAgY3dkID0ga3dhcmdz
LnBvcCgiY3dkIiwgTm9uZSkKICAgICAgICAgZXh0cmFfZW52X3ZhcnMgPSBrd2FyZ3MucG9wKCJl
bnYiLCB7fSkKICAgICAgICAgc3Rkb3V0ID0ga3dhcmdzLnBvcCgic3Rkb3V0Iiwgc3lzLnN0ZG91
dCkKQEAgLTcyMyw2ICs2MjMsNyBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogCiAgICAgICAgIGlm
IG5vdCBpc2luc3RhbmNlKGFyZ3MsIGxpc3QpOgogICAgICAgICAgICAgYXJncyA9IGxpc3QoYXJn
cykKKwogICAgICAgICBpZiBhcmdzOgogICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoYXJn
c1swXSk6CiAgICAgICAgICAgICAgICAgY29tbWFuZCA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0
aC5hYnNwYXRoKGFyZ3NbMF0pKQpAQCAtNzMwLDk0ICs2MzEsMTIyIEBAIGNsYXNzIFdlYmtpdEZs
YXRwYWs6CiAgICAgICAgICAgICAgICAgYXJnc1swXSA9IGNvbW1hbmQucmVwbGFjZShzZWxmLnNv
dXJjZV9yb290LCBzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QpCiAgICAgICAgICAgICBpZiBhcmdz
WzBdLmVuZHN3aXRoKCJidWlsZC13ZWJraXQiKToKICAgICAgICAgICAgICAgICBhcmdzLmFwcGVu
ZCgiLS1wcmVmaXg9L2FwcCIpCisgICAgICAgIGJ1aWxkaW5nID0gb3MucGF0aC5iYXNlbmFtZShh
cmdzWzBdKS5zdGFydHN3aXRoKCJidWlsZCIpCiAKICAgICAgICAgc2FuZGJveF9idWlsZF9wYXRo
ID0gb3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgIldlYktpdEJ1aWxkIiwg
c2VsZi5idWlsZF90eXBlKQotICAgICAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5Rmls
ZShtb2RlPSJ3IikgYXMgdG1wc2NyaXB0OgotICAgICAgICAgICAgZmxhdHBha19jb21tYW5kID0g
WyJmbGF0cGFrIiwgImJ1aWxkIiwgIi0tZGllLXdpdGgtcGFyZW50IiwKLSAgICAgICAgICAgICAg
ICAiLS1iaW5kLW1vdW50PS9ydW4vc2htPS9kZXYvc2htIiwKLSAgICAgICAgICAgICAgICAjIFdv
cmthcm91bmQgZm9yIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE4NzM4NCB0byBoYXZlIG91ciBvd24g
cGVybCBtb2R1bGVzIHVzYWJsZSBpbnNpZGUgdGhlIHNhbmRib3gKLSAgICAgICAgICAgICAgICAj
IGFzIHNldHRpbmcgdGhlIFBFUkw1TElCIGVudnZhciB3b24ndCB3b3JrIGluc2lkZSBhcGFjaGUg
KGFuZCBmb3Igc2NyaXB0cyB1c2luZyBgcGVybCAtVGBgKS4KLSAgICAgICAgICAgICAgICAiLS1i
aW5kLW1vdW50PS9ydW4vaG9zdC8lcz0lcyIgJSAodGVtcGZpbGUuZ2V0dGVtcGRpcigpLCB0ZW1w
ZmlsZS5nZXR0ZW1wZGlyKCkpLAotICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9JXM9JXMi
ICUgKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgc2VsZi5zb3VyY2Vfcm9vdCksCisgICAgICAg
IGZsYXRwYWtfY29tbWFuZCA9IFsiZmxhdHBhayIsICJidWlsZCIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiLS1kaWUtd2l0aC1wYXJlbnQiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIi0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cyIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiLS10YWxrLW5hbWU9b3JnLmd0ay52ZnMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ii0tdGFsay1uYW1lPW9yZy5ndGsudmZzLioiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ii0tYmluZC1tb3VudD0vcnVuL3NobT0vZGV2L3NobSIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAjIFdvcmthcm91bmQgZm9yIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE4NzM4NCB0byBoYXZl
IG91ciBvd24gcGVybCBtb2R1bGVzIHVzYWJsZSBpbnNpZGUgdGhlIHNhbmRib3gKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICMgYXMgc2V0dGluZyB0aGUgUEVSTDVMSUIgZW52dmFyIHdvbid0
IHdvcmsgaW5zaWRlIGFwYWNoZSAoYW5kIGZvciBzY3JpcHRzIHVzaW5nIGBwZXJsIC1UYGApLgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0vcnVuL2hvc3QvJXM9JXMi
ICUgKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwgdGVtcGZpbGUuZ2V0dGVtcGRpcigpKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9JXM9JXMiICUgKHNlbGYuc2FuZGJv
eF9zb3VyY2Vfcm9vdCwgc2VsZi5zb3VyY2Vfcm9vdCksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAjIFdlIG1vdW50IFdlYktpdEJ1aWxkL1BPUlROQU1FL0J1aWxkVHlwZSB0byAvYXBwL3dl
YmtpdC9XZWJLaXRCdWlsZC9CdWlsZFR5cGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICMg
c28gd2UgY2FuIGJ1aWxkIFdQRSBhbmQgR1RLIGluIGEgc2FtZSBzb3VyY2UgdHJlZS4KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9JXM9JXMiICUgKHNhbmRib3hfYnVp
bGRfcGF0aCwgc2VsZi5idWlsZF9wYXRoKV0KKworICAgICAgICBmb3J3YXJkZWQgPSB7CisgICAg
ICAgICAgICAiV0VCS0lUX1RPUF9MRVZFTCI6ICIvYXBwLyIsCisgICAgICAgICAgICAiVEVTVF9S
VU5ORVJfSU5KRUNURURfQlVORExFX0ZJTEVOQU1FIjogb3MucGF0aC5qb2luKHNhbmRib3hfYnVp
bGRfcGF0aCwgImxpYi9saWJUZXN0UnVubmVySW5qZWN0ZWRCdW5kbGUuc28iKSwKKyAgICAgICAg
fQorCisgICAgICAgIGlmIG5vdCBidWlsZGluZzoKKyAgICAgICAgICAgIGZsYXRwYWtfY29tbWFu
ZC5leHRlbmQoWworICAgICAgICAgICAgICAgICItLWRldmljZT1hbGwiLAorICAgICAgICAgICAg
ICAgICItLWRldmljZT1kcmkiLAorICAgICAgICAgICAgICAgICItLWZpbGVzeXN0ZW09aG9zdCIs
CisgICAgICAgICAgICAgICAgIi0tc2hhcmU9aXBjIiwKKyAgICAgICAgICAgICAgICAiLS1zaGFy
ZT1uZXR3b3JrIiwKKyAgICAgICAgICAgICAgICAiLS1zb2NrZXQ9cHVsc2VhdWRpbyIsCisgICAg
ICAgICAgICAgICAgIi0tc29ja2V0PXN5c3RlbS1idXMiLAorICAgICAgICAgICAgICAgICItLXNv
Y2tldD13YXlsYW5kIiwKKyAgICAgICAgICAgICAgICAiLS1zb2NrZXQ9eDExIiwKKyAgICAgICAg
ICAgICAgICAiLS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cyIsCisgICAgICAgICAgICAg
ICAgIi0tc3lzdGVtLXRhbGstbmFtZT1vcmcuZnJlZWRlc2t0b3AuR2VvQ2x1ZTIiLAogICAgICAg
ICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuYTExeS5CdXMiLAotICAgICAgICAgICAgICAgICIt
LXRhbGstbmFtZT1vcmcuZ3RrLnZmcyIsCi0gICAgICAgICAgICAgICAgIi0tdGFsay1uYW1lPW9y
Zy5ndGsudmZzLioiLAotICAgICAgICAgICAgICAgICMgV2UgbW91bnQgV2ViS2l0QnVpbGQvUE9S
VE5BTUUvQnVpbGRUeXBlIHRvIC9hcHAvd2Via2l0L1dlYktpdEJ1aWxkL0J1aWxkVHlwZQotICAg
ICAgICAgICAgICAgICMgc28gd2UgY2FuIGJ1aWxkIFdQRSBhbmQgR1RLIGluIGEgc2FtZSBzb3Vy
Y2UgdHJlZS4KLSAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PSVzPSVzIiAlIChzYW5kYm94
X2J1aWxkX3BhdGgsIHNlbGYuYnVpbGRfcGF0aCldCi0KLSAgICAgICAgICAgIGZvcndhcmRlZCA9
IHsKLSAgICAgICAgICAgICAgICAiV0VCS0lUX1RPUF9MRVZFTCI6ICIvYXBwLyIsCi0gICAgICAg
ICAgICAgICAgIlRFU1RfUlVOTkVSX0lOSkVDVEVEX0JVTkRMRV9GSUxFTkFNRSI6ICIvYXBwL3dl
YmtpdC9saWIvbGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLnNvIiwKKyAgICAgICAgICAgICAg
ICAiLS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkZsYXRwYWsiCisgICAgICAgICAgICBdKQor
CisgICAgICAgICAgICBmb3J3YXJkZWQudXBkYXRlKHsKKyAgICAgICAgICAgICAgICAiVFoiOiAi
UFNUOFBEVCIsCisgICAgICAgICAgICAgICAgIkxBTkciOiAiZW5fVVMuVVRGLTgiCisgICAgICAg
ICAgICB9KQorCisgICAgICAgIGVudl92YXJfcHJlZml4ZXNfdG9fa2VlcCA9IFsKKyAgICAgICAg
ICAgICJHIiwKKyAgICAgICAgICAgICJHSUdBQ0FHRSIsCisgICAgICAgICAgICAiR1NUIiwKKyAg
ICAgICAgICAgICJHVEsiLAorICAgICAgICAgICAgIklDRUNDIiwKKyAgICAgICAgICAgICJKU0Mi
LAorICAgICAgICAgICAgIldFQktJVCIsCisgICAgICAgICAgICAiV0VCS0lUMiIsCisgICAgICAg
ICAgICAiV1BFIiwKKyAgICAgICAgXQorCisgICAgICAgIGVudl92YXJfc3VmZml4ZXNfdG9fa2Vl
cCA9IFsKKyAgICAgICAgICAgICJKU0NfQVJHUyIsCisgICAgICAgICAgICAiV0VCS0lUX0FSR1Mi
LAorICAgICAgICBdCisKKyAgICAgICAgZW52X3ZhcnNfdG9fa2VlcCA9IFsKKyAgICAgICAgICAg
ICJDQyIsCisgICAgICAgICAgICAiQ0NBQ0hFX1BSRUZJWCIsCisgICAgICAgICAgICAiQ0ZMQUdT
IiwKKyAgICAgICAgICAgICJDWFgiLAorICAgICAgICAgICAgIkNYWEZMQUdTIiwKKyAgICAgICAg
ICAgICJESVNQTEFZIiwKKyAgICAgICAgICAgICJKYXZhU2NyaXB0Q29yZVVzZUpJVCIsCisgICAg
ICAgICAgICAiTEFORyIsCisgICAgICAgICAgICAiTERGTEFHUyIsCisgICAgICAgICAgICAiTWFs
bG9jIiwKKyAgICAgICAgICAgICJOVU1CRVJfT0ZfUFJPQ0VTU09SUyIsCisgICAgICAgICAgICAi
UU1MMl9JTVBPUlRfUEFUSCIsCisgICAgICAgICAgICAiV0FZTEFORF9ESVNQTEFZIiwKKyAgICAg
ICAgICAgICJXQVlMQU5EX1NPQ0tFVCIsCisgICAgICAgIF0KKworICAgICAgICBlbnZfdmFycyA9
IG9zLmVudmlyb24KKyAgICAgICAgZW52X3ZhcnMudXBkYXRlKGV4dHJhX2Vudl92YXJzKQorICAg
ICAgICBmb3IgZW52dmFyLCB2YWx1ZSBpbiBlbnZfdmFycy5pdGVtcygpOgorICAgICAgICAgICAg
dmFyX3Rva2VucyA9IGVudnZhci5zcGxpdCgiXyIpCisgICAgICAgICAgICBpZiB2YXJfdG9rZW5z
WzBdIGluIGVudl92YXJfcHJlZml4ZXNfdG9fa2VlcCBvciBlbnZ2YXIgaW4gZW52X3ZhcnNfdG9f
a2VlcCBvciB2YXJfdG9rZW5zWy0xXSBpbiBlbnZfdmFyX3N1ZmZpeGVzX3RvX2tlZXA6CisgICAg
ICAgICAgICAgICAgZm9yd2FyZGVkW2VudnZhcl0gPSB2YWx1ZQorCisgICAgICAgIGlmIHNlbGYu
dXNlX2ljZWNyZWFtOgorICAgICAgICAgICAgX2xvZy5kZWJ1ZygnRW5hYmxpbmcgdGhlIGljZWNy
ZWFtIGNvbXBpbGVyJykKKyAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZC5leHRlbmQoWyItLXNo
YXJlPW5ldHdvcmsiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tYmlu
ZC1tb3VudD0vdmFyL3J1bi9pY2VjYz0vdmFyL3J1bi9pY2VjYyJdKQorCisgICAgICAgICAgICBu
X2NvcmVzID0gbXVsdGlwcm9jZXNzaW5nLmNwdV9jb3VudCgpICogMworICAgICAgICAgICAgX2xv
Zy5kZWJ1ZygnRm9sbG93aW5nIGljZWNyZWFtIHJlY29tbWVuZGF0aW9uIGZvciB0aGUgbnVtYmVy
IG9mIGNvcmVzIHRvIHVzZTogJWQnICUgbl9jb3JlcykKKyAgICAgICAgICAgIGZvcndhcmRlZC51
cGRhdGUoeworICAgICAgICAgICAgICAgICJDQ0FDSEVfUFJFRklYIjogImljZWNjIiwKICAgICAg
ICAgICAgICAgICAiSUNFQ0NfVkVSU0lPTiI6IHNlbGYuaWNjX3ZlcnNpb24sCi0gICAgICAgICAg
ICB9Ci0KLSAgICAgICAgICAgIGVudl92YXJfcHJlZml4ZXNfdG9fa2VlcCA9IFsKLSAgICAgICAg
ICAgICAgICAiR1NUIiwKLSAgICAgICAgICAgICAgICAiR1RLIiwKLSAgICAgICAgICAgICAgICAi
RyIsCi0gICAgICAgICAgICAgICAgIkpTQyIsCi0gICAgICAgICAgICAgICAgIldFQktJVCIsCi0g
ICAgICAgICAgICAgICAgIldFQktJVDIiLAotICAgICAgICAgICAgICAgICJXUEUiLAotICAgICAg
ICAgICAgICAgICJHSUdBQ0FHRSIsCi0gICAgICAgICAgICBdCi0KLSAgICAgICAgICAgIGVudl92
YXJzX3RvX2tlZXAgPSBbCi0gICAgICAgICAgICAgICAgIkphdmFTY3JpcHRDb3JlVXNlSklUIiwK
LSAgICAgICAgICAgICAgICAiTWFsbG9jIiwKLSAgICAgICAgICAgICAgICAiV0FZTEFORF9ESVNQ
TEFZIiwKLSAgICAgICAgICAgICAgICAiV0FZTEFORF9TT0NLRVQiLAotICAgICAgICAgICAgICAg
ICJESVNQTEFZIiwKLSAgICAgICAgICAgICAgICAiTEFORyIsCi0gICAgICAgICAgICAgICAgIk5V
TUJFUl9PRl9QUk9DRVNTT1JTIiwKLSAgICAgICAgICAgICAgICAiQ0NBQ0hFX1BSRUZJWCIsCi0g
ICAgICAgICAgICAgICAgIlFNTDJfSU1QT1JUX1BBVEgiLAotICAgICAgICAgICAgXQotCi0gICAg
ICAgICAgICBpZiBzZWxmLnVzZV9pY2VjcmVhbToKLSAgICAgICAgICAgICAgICBfbG9nLmRlYnVn
KCdFbmFibGluZyB0aGUgaWNlY3JlYW0gY29tcGlsZXInKQotICAgICAgICAgICAgICAgIGZvcndh
cmRlZFsiQ0NBQ0hFX1BSRUZJWCJdID0gImljZWNjIgotICAgICAgICAgICAgICAgIGlmIG5vdCBv
cy5lbnZpcm9uLmdldCgnTlVNQkVSX09GX1BST0NFU1NPUlMnKToKLSAgICAgICAgICAgICAgICAg
ICAgbl9jb3JlcyA9IG11bHRpcHJvY2Vzc2luZy5jcHVfY291bnQoKSAqIDMKLSAgICAgICAgICAg
ICAgICAgICAgX2xvZy5kZWJ1ZygnRm9sbG93IGljZWNyZWFtIHJlY29tbWVuZGF0aW9uIGZvciB0
aGUgbnVtYmVyIG9mIGNvcmVzIHRvIHVzZTogJWQnICUgbl9jb3JlcykKLSAgICAgICAgICAgICAg
ICAgICAgZm9yd2FyZGVkWyJOVU1CRVJfT0ZfUFJPQ0VTU09SUyJdID0gbl9jb3JlcwotCi0gICAg
ICAgICAgICBlbnZfdmFycyA9IG9zLmVudmlyb24KLSAgICAgICAgICAgIGVudl92YXJzLnVwZGF0
ZShleHRyYV9lbnZfdmFycykKLSAgICAgICAgICAgIGZvciBlbnZ2YXIsIHZhbHVlIGluIGVudl92
YXJzLml0ZW1zKCk6Ci0gICAgICAgICAgICAgICAgaWYgZW52dmFyLnNwbGl0KCJfIilbMF0gaW4g
ZW52X3Zhcl9wcmVmaXhlc190b19rZWVwIG9yIGVudnZhciBpbiBlbnZfdmFyc190b19rZWVwOgot
ICAgICAgICAgICAgICAgICAgICBmb3J3YXJkZWRbZW52dmFyXSA9IHZhbHVlCi0KLSAgICAgICAg
ICAgIGZvciBlbnZ2YXIsIHZhbHVlIGluIGZvcndhcmRlZC5pdGVtcygpOgotICAgICAgICAgICAg
ICAgIGZsYXRwYWtfY29tbWFuZC5hcHBlbmQoIi0tZW52PSVzPSVzIiAlIChlbnZ2YXIsIHZhbHVl
KSkKLQotICAgICAgICAgICAgZmxhdHBha19jb21tYW5kICs9IHNlbGYuZmluaXNoX2FyZ3MgKyBl
eHRyYV9mbGF0cGFrX2FyZ3MgKyBbc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGhdCi0KLSAgICAgICAg
ICAgIHNoZWxsX3N0cmluZyA9ICIiCi0gICAgICAgICAgICBpZiBhcmdzOgotICAgICAgICAgICAg
ICAgIGlmIGN3ZDoKLSAgICAgICAgICAgICAgICAgICAgc2hlbGxfc3RyaW5nID0gJ2NkICIlcyIg
JiYgIiVzIicgJSAoY3dkLCAnIiAiJy5qb2luKGFyZ3MpKQotICAgICAgICAgICAgICAgIGVsc2U6
Ci0gICAgICAgICAgICAgICAgICAgIHNoZWxsX3N0cmluZyA9ICciJXMiJyAlICgnIiAiJy5qb2lu
KGFyZ3MpKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzaGVsbF9zdHJpbmcg
PSBzZWxmLmNvbW1hbmQKLSAgICAgICAgICAgICAgICBpZiBzZWxmLmFyZ3M6Ci0gICAgICAgICAg
ICAgICAgICAgIHNoZWxsX3N0cmluZyArPSAnICIlcyInICUgJyIgIicuam9pbihzZWxmLmFyZ3Mp
CisgICAgICAgICAgICAgICAgIk5VTUJFUl9PRl9QUk9DRVNTT1JTIjogbl9jb3JlcywKKyAgICAg
ICAgICAgIH0pCiAKLSAgICAgICAgICAgIHRtcHNjcmlwdC53cml0ZShzaGVsbF9zdHJpbmcpCi0g
ICAgICAgICAgICB0bXBzY3JpcHQuZmx1c2goKQorICAgICAgICBmb3IgZW52dmFyLCB2YWx1ZSBp
biBmb3J3YXJkZWQuaXRlbXMoKToKKyAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZC5hcHBlbmQo
Ii0tZW52PSVzPSVzIiAlIChlbnZ2YXIsIHZhbHVlKSkKIAotICAgICAgICAgICAgX2xvZy5kZWJ1
ZygnUnVubmluZyBpbiBzYW5kYm94OiAiJXMiICVzXG4nICUgKCciICInLmpvaW4oZmxhdHBha19j
b21tYW5kKSwgc2hlbGxfc3RyaW5nKSkKLSAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZC5leHRl
bmQoWydzaCcsICIvcnVuL2hvc3QvIiArIHRtcHNjcmlwdC5uYW1lXSkKKyAgICAgICAgZ3N0X2Vu
diA9IFtdCisgICAgICAgIGlmIG5vdCBrd2FyZ3MuZ2V0KCdidWlsZGluZ19nc3QnKToKKyAgICAg
ICAgICAgIGdzdF9lbnYgPSBzZWxmLnNldHVwX2dzdGJ1aWxkKGJ1aWxkaW5nKQorICAgICAgICBm
bGF0cGFrX2NvbW1hbmQgKz0gc2VsZi5maW5pc2hfYXJncyArIGV4dHJhX2ZsYXRwYWtfYXJncyAr
IFwKKyAgICAgICAgICAgIFtzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aF0gKyBnc3RfZW52ICsgYXJn
cwogCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19j
YWxsKGZsYXRwYWtfY29tbWFuZCwgc3Rkb3V0PXN0ZG91dCkKLSAgICAgICAgICAgIGV4Y2VwdCBz
dWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgotICAgICAgICAgICAgICAgIHN5cy5z
dGRlcnIud3JpdGUoc3RyKGUpICsgIlxuIikKLSAgICAgICAgICAgICAgICByZXR1cm4gZS5yZXR1
cm5jb2RlCi0gICAgICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6Ci0gICAgICAgICAg
ICAgICAgcmV0dXJuIDAKKyAgICAgICAgX2xvZy5kZWJ1ZygnUnVubmluZyBpbiBzYW5kYm94OiAl
c1xuJyAlICcgJy5qb2luKGZsYXRwYWtfY29tbWFuZCkpCisKKyAgICAgICAgdHJ5OgorICAgICAg
ICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGZsYXRwYWtfY29tbWFuZCwgc3Rkb3V0PXN0ZG91
dCkKKyAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGU6Cisg
ICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKHN0cihlKSArICJcbiIpCisgICAgICAgICAgICBy
ZXR1cm4gZS5yZXR1cm5jb2RlCisgICAgICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoKKyAg
ICAgICAgICAgIHJldHVybiAwCiAKICAgICAgICAgcmV0dXJuIDAKIApAQCAtODM1LDY0ICs3NjQs
NDEgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgICAgICAgICBzaHV0aWwucm10cmVl
KHNlbGYuYnVpbGRfcGF0aCkKIAogICAgICAgICBpZiBzZWxmLnVwZGF0ZToKLSAgICAgICAgICAg
IENvbnNvbGUubWVzc2FnZSgiVXBkYXRpbmcgRmxhdHBhayBlbnZpcm9ubWVudCBmb3IgJXMgKCVz
KSIgJSAoCi0gICAgICAgICAgICAgICAgc2VsZi5wbGF0Zm9ybSwgc2VsZi5idWlsZF90eXBlKSkK
KyAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiVXBkYXRpbmcgRmxhdHBhayAlcyBlbnZpcm9u
bWVudCIgJSBzZWxmLmJ1aWxkX3R5cGUpCiAgICAgICAgICAgICBpZiBub3Qgc2VsZi5ub19mbGF0
cGFrX3VwZGF0ZToKICAgICAgICAgICAgICAgICBzZWxmLnVwZGF0ZV9hbGwoKQogCiAgICAgICAg
IHJldHVybiBzZWxmLnNldHVwX2Rldl9lbnYoKQogCiAgICAgZGVmIGhhc19lbnZpcm9ubWVudChz
ZWxmKToKLSAgICAgICAgcmV0dXJuIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihzZWxmLmJ1
aWxkX3BhdGgsIHNlbGYuZmxhdHBha19idWlsZF9wYXRoKSkKKyAgICAgICAgcmV0dXJuIG9zLnBh
dGguZXhpc3RzKHNlbGYuZmxhdHBha19idWlsZF9wYXRoKQogCiAgICAgZGVmIHNhdmVfY29uZmln
KHNlbGYpOgogICAgICAgICB3aXRoIG9wZW4oc2VsZi5jb25maWdfZmlsZSwgJ3cnKSBhcyBjb25m
aWc6CiAgICAgICAgICAgICBqc29uX2NvbmZpZyA9IHsnaWNlY2NfdmVyc2lvbic6IHNlbGYuaWNj
X3ZlcnNpb259CiAgICAgICAgICAgICBqc29uLmR1bXAoanNvbl9jb25maWcsIGNvbmZpZykKIAot
ICAgIGRlZiBzZXR1cF9jY2FjaGUoc2VsZik6Ci0gICAgICAgIGZvciBjb21waWxlciBpbiBbImMr
KyIsICJjYyIsICJjbGFuZyIsICJjbGFuZysrIiwgImcrKyIsICJnY2MiXToKLSAgICAgICAgICAg
IHNlbGYucnVuX2luX3NhbmRib3goImxuIiwgIi1zIiwgIi4uLy4uL3Vzci9iaW4vY2NhY2hlIiwg
Y29tcGlsZXIsIGN3ZD0iL2FwcC9iaW4iKQotCiAgICAgZGVmIHNldHVwX2ljZWNjKHNlbGYpOgog
ICAgICAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZSgpIGFzIHRtcGZpbGU6Ci0g
ICAgICAgICAgICBzZWxmLnJ1bl9pbl9zYW5kYm94KCdpY2VjYycsICctLWJ1aWxkLW5hdGl2ZScs
IHN0ZG91dD10bXBmaWxlLCBjd2Q9c2VsZi5idWlsZF9wYXRoKQorICAgICAgICAgICAgc2VsZi5y
dW5faW5fc2FuZGJveCgnaWNlY2MnLCAnLS1idWlsZC1uYXRpdmUnLCBzdGRvdXQ9dG1wZmlsZSwg
Y3dkPXNlbGYuc291cmNlX3Jvb3QpCiAgICAgICAgICAgICB0bXBmaWxlLmZsdXNoKCkKICAgICAg
ICAgICAgIHRtcGZpbGUuc2VlaygwKQogICAgICAgICAgICAgaWNjX3ZlcnNpb25fZmlsZW5hbWUs
ID0gcmUuZmluZGFsbChyJy4qY3JlYXRpbmcgKC4qKScsIHRtcGZpbGUucmVhZCgpKQotICAgICAg
ICAgICAgc2VsZi5pY2NfdmVyc2lvbiA9IG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3BhdGgsIGlj
Y192ZXJzaW9uX2ZpbGVuYW1lKQorICAgICAgICAgICAgc2VsZi5pY2NfdmVyc2lvbiA9IG9zLnBh
dGguam9pbihzZWxmLnNvdXJjZV9yb290LCBpY2NfdmVyc2lvbl9maWxlbmFtZSkKIAogICAgIGRl
ZiBzZXR1cF9kZXZfZW52KHNlbGYpOgotICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3Mu
cGF0aC5qb2luKHNlbGYuYnVpbGRfcGF0aCwgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgpKSBcCi0g
ICAgICAgICAgICAgICAgb3Igc2VsZi51cGRhdGUgb3Igc2VsZi5idWlsZF9hbGw6CisgICAgICAg
IGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oc2VsZi5mbGF0cGFrX2J1aWxkX3Bh
dGgsICJydW50aW1lIiwgIm9yZy53ZWJraXQuU2RrIikpIG9yIHNlbGYudXBkYXRlIG9yIHNlbGYu
YnVpbGRfYWxsOgogICAgICAgICAgICAgc2VsZi5pbnN0YWxsX2FsbCgpCi0gICAgICAgICAgICBD
b25zb2xlLm1lc3NhZ2UoIkJ1aWxkaW5nICVzIGFuZCBkZXBlbmRlbmNpZXMgaW4gJXMiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubmFtZSwgc2VsZi5mbGF0cGFrX2J1aWxkX3Bh
dGgpCi0KLSAgICAgICAgICAgICMgQ3JlYXRlIGVudmlyb25tZW50IGRpcnMgaWYgbmVjZXNzYXJ5
Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgb3MubWFrZWRpcnMob3MucGF0aC5k
aXJuYW1lKHNlbGYubWFuaWZlc3RfZ2VuZXJhdGVkX3BhdGgpKQotICAgICAgICAgICAgZXhjZXB0
IE9TRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVFWElT
VDoKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgZQotICAgICAgICAgICAgaWYgbm90IGV4cGFu
ZF9tYW5pZmVzdChzZWxmLm1hbmlmZXN0X3BhdGgsIHNlbGYubWFuaWZlc3RfZ2VuZXJhdGVkX3Bh
dGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubmFtZSwgc2VsZi5z
YW5kYm94X3NvdXJjZV9yb290LCBzZWxmLmNvbW1hbmQpOgotICAgICAgICAgICAgICAgIHJldHVy
biAxCi0KLSAgICAgICAgICAgIGJ1aWxkZXJfYXJncyA9IFsiZmxhdHBhay1idWlsZGVyIiwgIi0t
ZGlzYWJsZS1yb2ZpbGVzLWZ1c2UiLCAiLS1zdGF0ZS1kaXIiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNlbGYuY2FjaGVfcGF0aCwgIi0tY2NhY2hlIiwgc2VsZi5mbGF0cGFrX2J1aWxk
X3BhdGgsICItLWZvcmNlLWNsZWFuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxm
Lm1hbmlmZXN0X2dlbmVyYXRlZF9wYXRoXQotICAgICAgICAgICAgYnVpbGRlcl9hcmdzLmFwcGVu
ZCgiLS1idWlsZC1vbmx5IikKLSAgICAgICAgICAgIGJ1aWxkZXJfYXJncy5hcHBlbmQoIi0tc3Rv
cC1hdD0lcyIgJSBzZWxmLmFwcCkKLQotICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxs
KGJ1aWxkZXJfYXJncykKLSAgICAgICAgICAgIHNlbGYuc2V0dXBfY2NhY2hlKCkKICAgICAgICAg
ICAgIHNlbGYuc2V0dXBfaWNlY2MoKQogICAgICAgICAgICAgc2VsZi5zYXZlX2NvbmZpZygpCiAK
ICAgICAgICAgYnVpbGRfdHlwZSA9ICItLWRlYnVnIiBpZiBzZWxmLmRlYnVnIGVsc2UgIi0tcmVs
ZWFzZSIKKyAgICAgICAgaWYgc2VsZi5idWlsZF9nc3Q6CisgICAgICAgICAgICBzZWxmLnNldHVw
X2dzdGJ1aWxkKFRydWUpCisKICAgICAgICAgaWYgc2VsZi5idWlsZF93ZWJraXQ6Ci0gICAgICAg
ICAgICBidWlsZGVyID0gW29zLnBhdGguam9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsICdU
b29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdCcpLAorICAgICAgICAgICAgYnVpbGRlciA9IFsKKyAg
ICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCAnVG9v
bHMvU2NyaXB0cy9idWlsZC13ZWJraXQnKSwKICAgICAgICAgICAgICAgICBidWlsZF90eXBlLCAn
LS0nICsgc2VsZi5wbGF0Zm9ybS5sb3dlcigpXQogICAgICAgICAgICAgaWYgc2VsZi5tYWtlYXJn
czoKICAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgiLS1tYWtlYXJncz0lcyIgJSBzZWxm
Lm1ha2VhcmdzKQpAQCAtOTAzLDIzICs4MDksMjIgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKIAog
ICAgICAgICAgICAgaWYgcmVzOgogICAgICAgICAgICAgICAgIHJldHVybiByZXMKLSAgICAgICAg
ZWxzZToKLSAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiVXNpbmcgJXMgcHJlZml4IGluICVz
Iiwgc2VsZi5uYW1lLCBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkKIAogICAgICAgICBpZiBzZWxm
LnJ1bl90ZXN0cyBpcyBub3QgTm9uZToKICAgICAgICAgICAgIHRlc3RfbGF1bmNoZXIgPSBbb3Mu
cGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgJ1Rvb2xzL1NjcmlwdHMvcnVuLXdl
YmtpdC10ZXN0cycpLAotICAgICAgICAgICAgICAgIGJ1aWxkX3R5cGUsICctLScgKyBzZWxmLnBs
YXRmb3JtLmxvd2VyKCldICsgc2VsZi5ydW5fdGVzdHMKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYnVpbGRfdHlwZSwgJy0tJyArIHNlbGYucGxhdGZvcm0ubG93ZXIoKV0gKyBzZWxmLnJ1
bl90ZXN0cwogICAgICAgICAgICAgcmV0dXJuIHNlbGYucnVuX2luX3NhbmRib3goKnRlc3RfbGF1
bmNoZXIpCi0gICAgICAgIGVsaWYgc2VsZi5nZGIgaXMgbm90IE5vbmU6CisgICAgICAgIGVsaWYg
c2VsZi5nZGIgb3Igc2VsZi5nZGJfc3RhY2tfdHJhY2U6CiAgICAgICAgICAgICByZXR1cm4gc2Vs
Zi5ydW5fZ2RiKCkKICAgICAgICAgZWxpZiBzZWxmLnVzZXJfY29tbWFuZDoKICAgICAgICAgICAg
IHJldHVybiBzZWxmLnJ1bl9pbl9zYW5kYm94KCpzZWxmLnVzZXJfY29tbWFuZCkKLSAgICAgICAg
ZWxpZiBub3Qgc2VsZi51cGRhdGUgYW5kIG5vdCBzZWxmLmJ1aWxkX3dlYmtpdDoKKyAgICAgICAg
ZWxpZiBub3Qgc2VsZi51cGRhdGUgYW5kIG5vdCBzZWxmLmJ1aWxkX3dlYmtpdCBhbmQgbm90IHNl
bGYuYnVpbGRfZ3N0OgogICAgICAgICAgICAgcmV0dXJuIHNlbGYucnVuX2luX3NhbmRib3goKQog
CiAgICAgICAgIHJldHVybiAwCiAKICAgICBkZWYgaW5zdGFsbF9hbGwoc2VsZik6CisgICAgICAg
IENvbnNvbGUubWVzc2FnZSgiSW5zdGFsbGluZyAlcyBkZXBlbmRlbmNpZXMgaW4gJXMiLCBzZWxm
LmJ1aWxkX3R5cGUsIHNlbGYuZmxhdHBha19idWlsZF9wYXRoKQogICAgICAgICBmb3IgcGFja2Fn
ZSBpbiBzZWxmLnBhY2tzOgogICAgICAgICAgICAgaWYgbm90IHBhY2thZ2UuaXNfaW5zdGFsbGVk
KHNlbGYuc2RrX2JyYW5jaCk6CiAgICAgICAgICAgICAgICAgcGFja2FnZS5pbnN0YWxsKCkKQEAg
LTkzNSwxOSArODQwLDMwIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgICMgV2UgbmVl
ZCBhY2Nlc3MgdG8gdGhlIGhvc3QgZnJvbSB0aGUgc2FuZGJveCB0byBydW4uCiAgICAgICAgIHdp
dGggdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKCkgYXMgY29yZWR1bXA6CiAgICAgICAgICAg
ICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZSgpIGFzIHN0ZGVycjoKLSAgICAgICAg
ICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoWyJjb3JlZHVtcGN0bCIsICJkdW1wIl0gKyBz
aGxleC5zcGxpdChzZWxmLmNvcmVkdW1wY3RsX21hdGNoZXMpLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9Y29yZWR1bXAsIHN0ZGVycj1zdGRlcnIpCisgICAg
ICAgICAgICAgICAgaWYgc2VsZi5nZGJfc3RhY2tfdHJhY2U6CisgICAgICAgICAgICAgICAgICAg
IGNtZCA9IFsiY29yZWR1bXBjdGwiLCAiLS1zaW5jZT0lcyIgJSBzZWxmLmdkYl9zdGFja190cmFj
ZSwgImR1bXAiXQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGNt
ZCA9IFsiY29yZWR1bXBjdGwiLCAiZHVtcCJdICsgc2hsZXguc3BsaXQoc2VsZi5jb3JlZHVtcGN0
bF9tYXRjaGVzKQorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgc3Vi
cHJvY2Vzcy5jaGVja19jYWxsKGNtZCwgc3Rkb3V0PWNvcmVkdW1wLCBzdGRlcnI9c3RkZXJyKQor
ICAgICAgICAgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBl
cnI6CisgICAgICAgICAgICAgICAgICAgIHdpdGggb3BlbihzdGRlcnIubmFtZSwgJ3InKSBhcyBz
dGRlcnJmOgorICAgICAgICAgICAgICAgICAgICAgICAgc3RkZXJyID0gc3RkZXJyZi5yZWFkKCkK
KyAgICAgICAgICAgICAgICAgICAgY21kID0gJyAnLmpvaW4oZXJyLmNtZCkKKyAgICAgICAgICAg
ICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiJyVzJyByZXR1cm5lZCBhIG5vbi16ZXJvIGV4aXQg
Y29kZS4gU3RkZXJyOiAlcyIgJSAoY21kLCBzdGRlcnIpKQorICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gZXJyLnJldHVybmNvZGUKIAogICAgICAgICAgICAgICAgIHdpdGggb3BlbihzdGRlcnIu
bmFtZSwgJ3InKSBhcyBzdGRlcnJmOgogICAgICAgICAgICAgICAgICAgICBzdGRlcnIgPSBzdGRl
cnJmLnJlYWQoKQorCiAgICAgICAgICAgICAgICAgZXhlY3V0YWJsZSwgPSByZS5maW5kYWxsKCIu
KkV4ZWN1dGFibGU6ICguKikiLCBzdGRlcnIpCi0gICAgICAgICAgICAgICAgaWYgbm90IGV4ZWN1
dGFibGUuc3RhcnRzd2l0aCgiL25ld3Jvb3QiKToKLSAgICAgICAgICAgICAgICAgICAgc3lzLnN0
ZGVyci53cml0ZSgiRXhlY3V0YWJsZSAlcyBkb2Vzbid0IHNlZW0gdG8gYmUgYSBmbGF0cGFrZWQg
YXBwbGljYXRpb24uXG4iICUgZXhlY3V0YWJsZSkKIAotICAgICAgICAgICAgICAgIGV4ZWN1dGFi
bGUgPSBleGVjdXRhYmxlLnJlcGxhY2UoIi9uZXdyb290IiwgIiIpCi0gICAgICAgICAgICAgICAg
YXJncyA9IFsiZ2RiIiwgZXhlY3V0YWJsZSwgIi9ydW4vaG9zdC8lcyIgJSBjb3JlZHVtcC5uYW1l
XSArIHNobGV4LnNwbGl0KHNlbGYuZ2RiKQorICAgICAgICAgICAgICAgIGlmIHNlbGYuZ2RiOgor
ICAgICAgICAgICAgICAgICAgICBiYXJncyA9IFsiZ2RiIiwgZXhlY3V0YWJsZSwgIi9ydW4vaG9z
dC8lcyIgJSBjb3JlZHVtcC5uYW1lXSArIHNobGV4LnNwbGl0KHNlbGYuZ2RiKQorICAgICAgICAg
ICAgICAgIGVsaWYgc2VsZi5nZGJfc3RhY2tfdHJhY2U6CisgICAgICAgICAgICAgICAgICAgIGJh
cmdzID0gWyJnZGIiLCAnLWV4JywgInRocmVhZCBhcHBseSBhbGwgYmFja3RyYWNlIiwgJy0tYmF0
Y2gnLCBleGVjdXRhYmxlLCAiL3J1bi9ob3N0LyVzIiAlIGNvcmVkdW1wLm5hbWVdCiAKLSAgICAg
ICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5faW5fc2FuZGJveCgqYXJncykKKyAgICAgICAgICAg
ICAgICByZXR1cm4gc2VsZi5ydW5faW5fc2FuZGJveCgqYmFyZ3MpCiAKICAgICBkZWYgdXBkYXRl
X2FsbChzZWxmKToKICAgICAgICAgZm9yIG0gaW4gW3NlbGYucnVudGltZSwgc2VsZi5zZGssIHNl
bGYuc2RrX2RlYnVnXToKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5Db21t
b25Nb2R1bGVzLnlhbWwgYi9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55
YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMWEwN2NmODZmODNiNjg4MzNhNTcy
ODRlNDcyM2Y1MjJiNzNjNDBiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5Db21tb25Nb2R1bGVzLnlhbWwKKysr
IC9kZXYvbnVsbApAQCAtMSwzMzEgKzAsMCBAQAotIyBodHRwIGFuZCBkZXBlbmRlbmNpZXMuCi0t
IG5hbWU6IGFwcgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBo
dHRwczovL3d3dy5hcGFjaGUub3JnL2Rpc3QvYXByL2Fwci0xLjYuNS50YXIuYnoyCi0gICAgICBz
aGEyNTY6IGE2N2NhOWZjZjljNGZmNTliY2U3ZjQyOGEzMjNjOGI1ZTE4NjY3ZmRlYTdiMGViYWQ0
N2QxOTQzNzFiMGExMDUKLS0gbmFtZTogYXByLXV0aWwKLSAgc291cmNlczoKLSAgICAtIHR5cGU6
IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9kaXN0L2Fwci9hcHIt
dXRpbC0xLjYuMS50YXIuYnoyCi0gICAgICBzaGE1MTI6ICI0MGVmZjhhMzdjMDYzNGY3ZmRkZGQ2
Y2E1ZTU5NmIzOGRlMTVmZDEwNzY3YTM0YzMwYmJlNDljNjMyODE2ZThmM2UxZTIzMDY3ODAzNGY1
NzhkZDU4MTZhOTRmMjQ2ZmI1ZGZkZjQ4ZDY0NDgyOWFmMTNiZjI4ZGUzMjI1MjA1ZCIKLSAgY29u
ZmlnLW9wdHM6Ci0gICAgLSAtLXdpdGgtYXByPS9hcHAvYmluL2Fwci0xLWNvbmZpZwotLSBuYW1l
OiBodHRwZAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8v
Z2l0aHViLmNvbS9hcGFjaGUvaHR0cGQuZ2l0Ci0gICAgICBicmFuY2g6IDIuNC4zNwotICAgIC0g
dHlwZSA6IGZpbGUKLSAgICAgIHBhdGggOiBmaWxlcy9odHRwZC1hdXRvZ2VuLnNoCi0gICAgICBk
ZXN0LWZpbGVuYW1lIDogYXV0b2dlbi5zaAotICAgICMgVGhlIHZlcnNpb24gZW1iZWRkZWQgaW4g
dGhlIHNhbmRib3ggZG9lc24ndCBoYXZlIGEgd29ya2luZyBwY3JlLWNvbmZpZwotICAgIC0gdHlw
ZTogcGF0Y2gKLSAgICAgIHBhdGg6IHBhdGNoZXMvaHR0cGQtMDAwMS1jb25maWd1cmUtdXNlLXBr
Zy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoCi0gIGNvbmZpZy1vcHRzOgotICAgIC0g
LS1lbmFibGUtbXBtcy1zaGFyZWQ9YWxsCi0gICAgLSAtLWVuYWJsZS1tb2R1bGVzPWFsbAotICAg
IC0gLS13aXRoLWFwcj0vYXBwL2Jpbi9hcHItMS1jb25maWcKLSAgICAtIC0td2l0aC1hcHItdXRp
bD0vYXBwL2Jpbi9hcHUtMS1jb25maWcKLSAgICAtIC0td2l0aC1wY3JlPS9hcHAKLSAgICAtIC0t
ZW5hYmxlLWF1dGhuei1mY2dpCi0gICAgLSAtLWVuYWJsZS1jZ2kKLSAgICAtIC0tZW5hYmxlLWNn
aWQKLS0gbmFtZTogcGhwCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1
cmw6IGh0dHBzOi8vcGhwLm5ldC9kaXN0cmlidXRpb25zL3BocC03LjIuNi50YXIueHoKLSAgICAg
IHNoYTUxMjogZGE4NmIxZmYyZGYzYjllMmQ0NmU1OWE4MDI5NmI5NDBkODExMzI5NzViNjIxYmRl
Yzk2MDJmOGI0YzhkOTFhM2ZkY2Q0ZmZkN2NiOTgyZDYzZDNlYzk3NGIzYTEyYTc4NTRlNDJhNzNi
N2YyY2M4ZWVmYWRlMTQzMzVhYTdjNzEKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLWRpc2FibGUt
eG1sCi0gICAgLSAtLWRpc2FibGUtZG9tCi0gICAgLSAtLWRpc2FibGUtbGlieG1sCi0gICAgLSAt
LWRpc2FibGUtc2ltcGxleG1sCi0gICAgLSAtLWRpc2FibGUteG1scmVhZGVyCi0gICAgLSAtLWRp
c2FibGUteG1sd3JpdGVyCi0gICAgLSAtLXdpdGhvdXQtcGVhcgotICAgIC0gLS13aXRoLWFweHMy
Ci0gICAgLSAtLXdpdGgtemxpYgotICAgIC0gLS13aXRoLWxpYnppcAotICAgIC0gLS1lbmFibGUt
c29ja2V0cz1zaGFyZWQKLS0gbmFtZTogbGliZXZlbnQKLSAgc291cmNlczoKLSAgICAtIHR5cGU6
IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbGliZXZlbnQvbGliZXZlbnQuZ2l0
Ci0gICAgICBicmFuY2g6IGU3ZmY0ZWYgIyAyLjEuOAotICBjb25maWctb3B0czoKLSAgICAtIC0t
ZGlzYWJsZS1saWJldmVudC1yZWdyZXNzCi0KLSMgUmVxdWlyZW1lbnQgZm9yIGZsYXRwa3V0aWxz
Ci0tIG5hbWU6IHB5dGhvbjMtcHlhbWwKLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1j
b21tYW5kczoKLSAgLSBwaXAzIGluc3RhbGwgLS1uby1pbmRleCAtLWZpbmQtbGlua3M9ImZpbGU6
Ly8ke1BXRH0iIC0tcHJlZml4PSR7RkxBVFBBS19ERVNUfSBweWFtbAotICBzb3VyY2VzOgotICAt
IHR5cGU6IGZpbGUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNr
YWdlcy80YS84NS9kYjVhMmRmNDc3MDcyYjI5MDJiMGViODkyZmViMzdkODhhYzYzNWQzNjI0NWE3
MmE2YTY5YjIzYjM4M2EvUHlZQU1MLTMuMTIudGFyLmd6Ci0gICAgc2hhMjU2OiA1OTI3NjZjNjMw
MzIwN2EyMGVmYzQ0NTU4Nzc3ODMyMmQ3ZjczYjE2MWJkOTk0ZjIyN2FkYWEzNDFiYTIxMmFiCi0g
IC0gdHlwZTogZmlsZQotICAgIHVybDogaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3Bh
Y2thZ2VzLzllLzE3LzFkNGVkNmUxYTRjMDkxOGEwMzU3ZGZhMmZkYmUyNmJmNjNmNmU2MTYwMTNj
MDRhMTRiY2U5ZmQzM2U0MC9weWFtbC0xNy4xMi4xLnRhci5negotICAgIHNoYTI1NjogNjY2MjNj
NTJmMzRkODNhMmMwZmM5NjNlMDhlOGI5ZDBjMTNkODg0MDRlM2I0M2IxODUyZWY3MWVkYTE5YWZh
MwotCi0tIG5hbWU6IHB5dGhvbjItcHlhbWwKLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWls
ZC1jb21tYW5kczoKLSAgLSBwaXAyIGluc3RhbGwgLS1uby1pbmRleCAtLWZpbmQtbGlua3M9ImZp
bGU6Ly8ke1BXRH0iIC0tdGFyZ2V0PS9hcHAvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzLyBw
eWFtbAotICBzb3VyY2VzOgotICAtIHR5cGU6IGZpbGUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMu
cHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy80YS84NS9kYjVhMmRmNDc3MDcyYjI5MDJiMGViODky
ZmViMzdkODhhYzYzNWQzNjI0NWE3MmE2YTY5YjIzYjM4M2EvUHlZQU1MLTMuMTIudGFyLmd6Ci0g
ICAgc2hhMjU2OiA1OTI3NjZjNjMwMzIwN2EyMGVmYzQ0NTU4Nzc3ODMyMmQ3ZjczYjE2MWJkOTk0
ZjIyN2FkYWEzNDFiYTIxMmFiCi0gIC0gdHlwZTogZmlsZQotICAgIHVybDogaHR0cHM6Ly9maWxl
cy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzllLzE3LzFkNGVkNmUxYTRjMDkxOGEwMzU3ZGZh
MmZkYmUyNmJmNjNmNmU2MTYwMTNjMDRhMTRiY2U5ZmQzM2U0MC9weWFtbC0xNy4xMi4xLnRhci5n
egotICAgIHNoYTI1NjogNjY2MjNjNTJmMzRkODNhMmMwZmM5NjNlMDhlOGI5ZDBjMTNkODg0MDRl
M2I0M2IxODUyZWY3MWVkYTE5YWZhMwotCi0tIG5hbWU6IHB5dGhvbjItc3VicHJvY2VzczMyCi0g
IGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gIC0gcGlwMiBpbnN0YWxs
IC0tdGFyZ2V0PS9hcHAvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzLyAuCi0gIHNvdXJjZXM6
Ci0gIC0gdHlwZTogYXJjaGl2ZQotICAgIHVybDogaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQu
b3JnL3BhY2thZ2VzL2JlLzJiL2JlZWJhNTgzZTk4NzdlNjRkYjEwYjUyYTk2OTE1YWZjMGZlYWJm
NzE0NGRjYmYyYTBkMGVhNjhiZjczZC9zdWJwcm9jZXNzMzItMy41LjMudGFyLmd6Ci0gICAgc2hh
MjU2OiA2YmM4Mjk5MjMxNmVlZjNjY2ZmMzE5YjUwMzM4MDk4MDFjMGMzMzcyNzA5YzVmNjk4NTI5
OWM4OGFjNzIyNWMzCi0KLSMgR1N0cmVhbWVyIG1vZHVsZXMKLS0gbmFtZTogbGlidnB4Ci0gIG5v
LWF1dG9nZW46IHRydWUKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBo
dHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vd2VibS9saWJ2cHgKLSAgICAgIGJyYW5j
aDogdjEuNy4wCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1lbmFibGUtcGljCi0gICAgLSAtLWFz
PW5hc20KLSAgICAtIC0tZGlzYWJsZS11bml0LXRlc3RzCi0gICAgLSAtLXNpemUtbGltaXQ9MTYz
ODR4MTYzODQKLSAgICAtIC0tZW5hYmxlLXBvc3Rwcm9jCi0gICAgLSAtLWVuYWJsZS1tdWx0aS1y
ZXMtZW5jb2RpbmcKLSAgICAtIC0tZW5hYmxlLXRlbXBvcmFsLWRlbm9pc2luZwotICAgIC0gLS1l
bmFibGUtdnA5LXRlbXBvcmFsLWRlbm9pc2luZwotICAgIC0gLS1lbmFibGUtdnA5LXBvc3Rwcm9j
Ci0gICAgLSAtLWVuYWJsZS1zaGFyZWQKLS0gbmFtZTogYW9tCi0gIHNvdXJjZXM6Ci0gICAgLSB0
eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9hb21lZGlhLmdvb2dsZXNvdXJjZS5jb20vYW9t
Ci0gICAgICBicmFuY2g6IGNkYjA4M2U4NGE3MWQ2ZDMxMTYzYTRmNjRmMThkYzEzMjhmZDc4MmMK
LSAgYnVpbGRzeXN0ZW06IGNtYWtlLW5pbmphCi0gIGJ1aWxkZGlyOiB0cnVlCi0gIGNvbmZpZy1v
cHRzOgotICAgIC0gLURCVUlMRF9TSEFSRURfTElCUz0xCi0tIG5hbWU6IGxpYnVud2luZAotICBz
b3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9s
aWJ1bndpbmQvbGlidW53aW5kLmdpdAotICAgICAgY29tbWl0OiB2MS4yLjEKLS0gbmFtZTogbGli
b3BlbmgyNjQKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBn
aXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2Npc2NvL29wZW5oMjY0LmdpdAotICAg
ICAgYnJhbmNoOiBhMWIzZjA3YzUyNzFmMzEyOTk3ZmNjMzQ1MTIzNzAzMTQ0NGM0NDc1ICMgMS44
LjAgKyBmaXggZm9yIGdjYyA4Ci0tIG5hbWU6IGdzdHJlYW1lcgotICBidWlsZHN5c3RlbTogbWVz
b24KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGxh
Yi5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdHJlYW1lci5naXQKLSAgICAgIGJyYW5jaDog
MS4xNi4xCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9jPWRpc2FibGVkCi0gICAgLSAt
RGludHJvc3BlY3Rpb249ZGlzYWJsZWQKLSAgICAtIC1EZXhhbXBsZXM9ZGlzYWJsZWQKLSAgICAt
IC1EdGVzdHM9ZGlzYWJsZWQKLS0gbmFtZTogZ3N0LXBsdWdpbnMtYmFzZQotICBidWlsZHN5c3Rl
bTogbWVzb24KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczov
L2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhc2UuZ2l0Ci0g
ICAgICBicmFuY2g6IDEuMTYuMQotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2dz
dHJlYW1lci9wYXRjaGVzL2Jhc2UtMDAwMS1wbGF5YmluLUhhbmRsZS1lcnJvci1tZXNzYWdlLXdp
dGgtcmVkaXJlY3Rpb24taW5kaWNhLnBhdGNoCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0
aDogLi4vZ3N0cmVhbWVyL3BhdGNoZXMvYmFzZS0wMDAxLWdsdXBsb2FkLUFkZC1WaWRlb01ldGFz
LWFuZC1HTFN5bmNNZXRhLXRvLXRoZS1yYXctdXAucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAg
LSAtRGd0a19kb2M9ZGlzYWJsZWQKLSAgICAtIC1EaW50cm9zcGVjdGlvbj1kaXNhYmxlZAotICAg
IC0gLURleGFtcGxlcz1kaXNhYmxlZAotICAgIC0gLUR0ZXN0cz1kaXNhYmxlZAotLSBuYW1lOiBn
c3QtcGx1Z2lucy1nb29kCi0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0g
dHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9nc3Ry
ZWFtZXIvZ3N0LXBsdWdpbnMtZ29vZC5naXQKLSAgICAgIGJyYW5jaDogMS4xNi4xCi0gICAgLSB0
eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3N0cmVhbWVyL3BhdGNoZXMvZ29vZC0wMDAxLXF0
ZGVtdXgtU3BlY2lmeS1SRURJUkVDVC1pbmZvcm1hdGlvbi1pbi1lcnJvci1tZXNzYWcucGF0Y2gK
LSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlzYWJsZWQKLSAgICAtIC1EaW50cm9z
cGVjdGlvbj1kaXNhYmxlZAotICAgIC0gLURleGFtcGxlcz1kaXNhYmxlZAotICAgIC0gLURndGsz
PWRpc2FibGVkCi0tIG5hbWU6IHgyNjQKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAiLS1lbmFibGUt
c2hhcmVkIgotICAgIC0gIi0tZW5hYmxlLXN0YXRpYyIKLSAgICAtICItLWVuYWJsZS1waWMiCi0g
ICAgLSAiLS1kaXNhYmxlLWxhdmYiCi0gICAgLSAiLS1kaXNhYmxlLWFzbSIKLSAgc291cmNlczoK
LSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cDovL2Rvd25sb2FkLnZpZGVvbGFu
Lm9yZy9wdWIveDI2NC9zbmFwc2hvdHMveDI2NC1zbmFwc2hvdC0yMDE0MDIxMi0yMjQ1LXN0YWJs
ZS50YXIuYnoyCi0gICAgICBzaGEyNTY6IDVkOThlOWU0ZmFmNmRkNTVlNzE5M2VkMzc5YWZmNDc3
YjhhY2JkYTY3Nzc3NTg5NTZlZjdlNWYwNTA2N2JlMTgKLS0gbmFtZTogZ3N0LXBsdWdpbnMtdWds
eQotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAg
ICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0
LXBsdWdpbnMtdWdseQotICAgICAgYnJhbmNoOiAxLjE2LjAKLSAgY29uZmlnLW9wdHM6Ci0gICAg
LSAtRGd0a19kb2M9ZGlzYWJsZWQKLS0gbmFtZTogZ3N0LXBsdWdpbnMtYmFkCi0gIGJ1aWxkc3lz
dGVtOiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBz
Oi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkLmdpdAot
ICAgICAgYnJhbmNoOiAxLjE2LjEKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9n
c3RyZWFtZXIvcGF0Y2hlcy9nc3QtcGx1Z2lucy1iYWQtMDAwMS1oMjY0cGFyc2UtUG9zdC1hLVdB
Uk5JTkctd2hlbi1kYXRhLWlzLWJyb2tlbi5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC1E
Z3RrX2RvYz1kaXNhYmxlZAotICAgIC0gLURpbnRyb3NwZWN0aW9uPWRpc2FibGVkCi0gICAgLSAt
RGV4YW1wbGVzPWRpc2FibGVkCi0tIG5hbWU6IGZmbXBlZwotICBzb3VyY2VzOgotICAgIC0gdHlw
ZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL2ZmbXBlZy5vcmcvcmVsZWFzZXMvZmZtcGVn
LTQuMC40LnRhci5negotICAgICAgc2hhMjU2OiA4MGJiNjg1YWJmY2RkYTdjOWI2YzljNWNhZjFk
OGRiYjkyNzg1ODA1MGQ3Mzc3YzJiOGYzNDg4YzdlOGE5YjdmCi0gIGNvbmZpZy1vcHRzOgotICAg
IC0gLS1lbmFibGUtc3RhdGljCi0gICAgLSAtLWVuYWJsZS1waWMKLSAgICAtIC0tZGlzYWJsZS1h
dmRldmljZQotICAgIC0gLS1kaXNhYmxlLXBvc3Rwcm9jCi0gICAgLSAtLWRpc2FibGUtc3dzY2Fs
ZQotICAgIC0gLS1kaXNhYmxlLXByb2dyYW1zCi0gICAgLSAtLWRpc2FibGUtZmZwbGF5Ci0gICAg
LSAtLWRpc2FibGUtZmZwcm9iZQotICAgIC0gLS1kaXNhYmxlLWZmbXBlZwotICAgIC0gLS1kaXNh
YmxlLWVuY29kZXI9ZmxhYwotICAgIC0gLS1kaXNhYmxlLXByb3RvY29scwotICAgIC0gLS1kaXNh
YmxlLWRldmljZXMKLSAgICAtIC0tZGlzYWJsZS1uZXR3b3JrCi0gICAgLSAtLWRpc2FibGUtaHdh
Y2NlbHMKLSAgICAtIC0tZGlzYWJsZS1keHZhMgotICAgIC0gLS1kaXNhYmxlLXZkcGF1Ci0gICAg
LSAtLWRpc2FibGUtZmlsdGVycwotICAgIC0gLS1lbmFibGUtZmlsdGVyPXlhZGlmCi0gICAgLSAt
LWRpc2FibGUtZG9jCi0gICAgLSAtLWRpc2FibGUtZDNkMTF2YQotICAgIC0gLS1kaXNhYmxlLWR4
dmEyCi0gICAgLSAtLWRpc2FibGUtYXVkaW90b29sYm94Ci0gICAgLSAtLWRpc2FibGUtdmlkZW90
b29sYm94Ci0gICAgLSAtLWRpc2FibGUtdmFhcGkKLSAgICAtIC0tZGlzYWJsZS1jcnlzdGFsaGQK
LSAgICAtIC0tZGlzYWJsZS1tZWRpYWNvZGVjCi0gICAgLSAtLWRpc2FibGUtbnZlbmMKLSAgICAt
IC0tZGlzYWJsZS1tbWFsCi0gICAgLSAtLWRpc2FibGUtb214Ci0gICAgLSAtLWRpc2FibGUtb214
LXJwaQotICAgIC0gLS1kaXNhYmxlLWN1ZGEKLSAgICAtIC0tZGlzYWJsZS1jdXZpZAotICAgIC0g
LS1kaXNhYmxlLWxpYm1meAotICAgIC0gLS1kaXNhYmxlLWxpYm5wcAotICAgIC0gLS1kaXNhYmxl
LWljb252Ci0gICAgLSAtLWRpc2FibGUtam5pCi0gICAgLSAtLWRpc2FibGUtdjRsMl9tMm0KLSAg
ICAtIC0tZW5hYmxlLW9wdGltaXphdGlvbnMKLS0gbmFtZTogZ3N0LWxpYmF2Ci0gIGJ1aWxkc3lz
dGVtOiBtZXNvbgotICBidWlsZGRpcjogdHJ1ZQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJj
aGl2ZQotICAgICAgdXJsOiBodHRwczovL2dzdHJlYW1lci5mcmVlZGVza3RvcC5vcmcvc3JjL2dz
dC1saWJhdi9nc3QtbGliYXYtMS4xNi4xLnRhci54egotICAgICAgc2hhMjU2OiBlOGE1NzQ4YWU5
YTRhN2JlOTY5NjUxMjE4MmVhOWZmYTZlZmUwYmU5Yjc5NzY5MTY1NDhlOWQ0MzgxY2E2MWM0Ci0g
IGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9jPWRpc2FibGVkCi0KLS0gbmFtZTogbGliZ2Ny
eXB0ICMgU3BlZWR1cCBsaWJnY3J5cHQKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAg
ICAgdXJsOiBodHRwczovL2Rldi5nbnVwZy5vcmcvc291cmNlL2xpYmdjcnlwdC5naXQKLSAgICAg
IGJyYW5jaDogbGliZ2NyeXB0LTEuOC40Ci0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDog
cGF0Y2hlcy9saWJnY3J5cHQtMDAwMS1Vc2UtcGtnLWNvbmZpZy10by1kZXRlY3QtZ3BnLWVycm9y
LnBhdGNoCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3RrL3BhdGNoZXMvbGli
Z2NyeXB0LXVzZS1vbmx5LWRldi11cmFuZG9tLWZvci10ZXN0aW5nLnBhdGNoCi0gIGNvbmZpZy1v
cHRzOgotICAgIC0gLS1kaXNhYmxlLWRvYwotCi0tIG5hbWU6IHBlcmwtY2dpLXBtCi0gIGJ1aWxk
c3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gICAgLSBwZXJsIE1ha2VmaWxlLlBM
IFBSRUZJWD0vYXBwIExJQj0vYXBwL2xpYi9wZXJsLwotICAgIC0gbWFrZSBpbnN0YWxsCi0gIHNv
dXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHBzOi8vY3Bhbi5tZXRh
Y3Bhbi5vcmcvYXV0aG9ycy9pZC9ML0xFL0xFRUpPL0NHSS00LjM4LnRhci5negotICAgICAgc2hh
MjU2OiA4YzU4ZjRhNTI5YmI5MmE5MTRiMjJiN2U2NGM1ZTMxMTg1Yzk4NTRhNDA3MGE2ZGZhZDQ0
ZmU1Y2MyNDhlN2Q0Ci0KLS0gbmFtZTogcHl0aG9uMi12aXJ0dWFsZW52Ci0gIGJ1aWxkc3lzdGVt
OiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gIC0gcGlwMiBpbnN0YWxsIC0tbm8taW5kZXgg
LS1maW5kLWxpbmtzPSJmaWxlOi8vJHtQV0R9IiAtLXRhcmdldD0vYXBwL2xpYi9weXRob24yLjcv
c2l0ZS1wYWNrYWdlcy8gdmlydHVhbGVudgotICAtIGxuIC1zIC9hcHAvbGliL3B5dGhvbjIuNy9z
aXRlLXBhY2thZ2VzL3ZpcnR1YWxlbnYucHkgL2FwcC9iaW4vdmlydHVhbGVudgotICAtIGNobW9k
ICt4IC9hcHAvYmluL3ZpcnR1YWxlbnYKLSAgc291cmNlczoKLSAgLSB0eXBlOiBmaWxlCi0gICAg
dXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvMzMvYmMvZmEwYjUz
NDcxMzljZDk1NjRmMGQ0NGViZDJiMTQ3YWM5N2MzNmIyNDAzOTQzZGJlZThhMjVmZDc0MDEyL3Zp
cnR1YWxlbnYtMTYuMC4wLnRhci5negotICAgIHNoYTI1NjogY2EwN2I0YzBiNTRlMTRhOTFhZjlm
MzRkMDkxOTc5MGIwMTY5MjNkMTU3YWZkYTVlZmRkZTU1Yzk2NzE4Zjc1MgotCi0tIG5hbWU6IGxp
YmNhcC1uZwotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8v
Z2l0aHViLmNvbS9zdGV2ZWdydWJiL2xpYmNhcC1uZwotICAgICAgYnJhbmNoOiB2MC43LjkKLSAg
Y29uZmlnLW9wdHM6Ci0gICAgLSAtLXdpdGgtcHl0aG9uPW5vCi0gICAgLSAtLXdpdGgtcHl0aG9u
Mz1ubwotCi0tIG5hbWU6IGx6bzIKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAg
ICAgIHVybDogaHR0cDovL3d3dy5vYmVyaHVtZXIuY29tL29wZW5zb3VyY2UvbHpvL2Rvd25sb2Fk
L2x6by0yLjEwLnRhci5negotICAgICAgc2hhMTogNDkyNDY3NmE5YmFlNWRiNThlZjEyOWRjMWNl
YmNlM2JhYTNjNGI1ZAotCi0tIG5hbWU6IGljZWNjCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBn
aXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2ljZWNjL2ljZWNyZWFtCi0gICAgICB0
YWc6ICIxLjIiCi0gICAgICBjb21taXQ6IGUzZDEwYTMyYmM2YzA0NmQ4ZjNkMTE4MmU3NWM2NTlk
NGIyOGVkNDkKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLXdpdGhvdXQtbWFuCi0KLS0gbmFtZTog
YnJvdGxpCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogYXJjaGl2ZQotICAgIHVybDogaHR0cHM6Ly9n
aXRodWIuY29tL2dvb2dsZS9icm90bGkvYXJjaGl2ZS92MS4wLjUudGFyLmd6Ci0gICAgc2hhMjU2
OiAzZDViZWRkNDhlZGI5MDlmZTNiODdjYjk5ZjdkMTM5Yjk4N2VmNmYxNjE2YjdlMjJkNzRlOTI4
MjcwYTJmZDIwCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1uaW5qYQotCi0tIG5hbWU6IHdvZmYyCi0g
IHNvdXJjZXM6Ci0gIC0gdHlwZTogYXJjaGl2ZQotICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29t
L2dvb2dsZS93b2ZmMi9hcmNoaXZlL3YxLjAuMi50YXIuZ3oKLSAgICBzaGEyNTY6IGFkZDI3MmJi
MDllNjM4NGE0ODMzZmZjYTQ4OTYzNTBmZGIxNmUwY2EyMmRmNjhjMDM4NDc3M2M2N2ExNzU1OTQK
LSAgYnVpbGRzeXN0ZW06IGNtYWtlLW5pbmphCi0KLS0gbmFtZTogb3BlbmpwZWcKLSAgc291cmNl
czoKLSAgLSB0eXBlOiBhcmNoaXZlCi0gICAgdXJsOiBodHRwOi8vZ2l0aHViLmNvbS91Y2xvdXZh
aW4vb3BlbmpwZWcvYXJjaGl2ZS92Mi4zLjAudGFyLmd6Ci0gICAgc2hhMjU2OiAzZGM3ODdjMWJi
NjAyM2JhODQ2YzJhMGQ5YjFmNmUxNzlmMWNkMjU1MTcyYmRlOWViNzViMDFmMWU2YzdkNzFhCi0g
IGJ1aWxkc3lzdGVtOiBjbWFrZS1uaW5qYQpkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9vcmcu
d2Via2l0LkdUSy55YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LkdUSy55YW1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NjNiNTYwNDQwODA0NWVkMDg3YzdjMjY3YTU5MzJi
ODRlNjMwZDNmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5HVEsueWFtbAorKysgL2Rldi9udWxsCkBAIC0xLDEy
MyArMCwwIEBACi0tIG5hbWU6IG1lc2EKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUK
LSAgICAgIHVybDogaHR0cHM6Ly9tZXNhLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlL21lc2EtMTgu
MC4zLnRhci54egotICAgICAgc2hhMjU2OiAwOTlkOTY2NzMyN2E3NmE2MTc0MWE1MzNmOTUwNjdk
NzZlYTcxYTY1NmU2NmI5MTUwN2IzYzBjYWYxZDQ5ZTMwCi0gIGNvbmZpZy1vcHRzOgotICAgIC0g
LS1wcmVmaXg9L2FwcC9zb2Z0R0wKLSAgICAtIC0tZGlzYWJsZS1kcmkzCi0gICAgLSAtLWVuYWJs
ZS1kcmkKLSAgICAtIC0tZW5hYmxlLWdseAotICAgIC0gLS1lbmFibGUtZWdsCi0gICAgLSAtLXdp
dGgtZWdsLXBsYXRmb3Jtcz14MTEsd2F5bGFuZAotICAgIC0gLS13aXRoLWRyaS1kcml2ZXJzPXN3
cmFzdAotICAgIC0gLS13aXRoLWdhbGxpdW0tZHJpdmVycz1zd3Jhc3QKLQotLSBuYW1lOiB3ZWJr
aXRndGstdGVzdC1mb250cwotICBuby1hdXRvZ2VuOiB0cnVlCi0gIHNvdXJjZXM6Ci0gICAgLSB0
eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL1dlYktpdEdUSy93ZWJraXRn
dGstdGVzdC1mb250cy5naXQKLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5k
czoKLSAgICAjIEZJWE1FOiBNYWtlIEFjdGl2YXRlRm9udFdQRSBzbWFydGVyLgotICAgIC0gbWFr
ZSBpbnN0YWxsIERFU1RESVI9L2FwcC9XZWJLaXRCdWlsZC9EZXBlbmRlbmNpZXNHVEsvUm9vdAot
Ci0tIG5hbWU6IHhvcmctdXRpbC1tYWNyb3MKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAot
ICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC94b3JnL3V0aWwv
bWFjcm9zLmdpdAotICAgICAgYnJhbmNoOiB1dGlsLW1hY3Jvcy0xLjE5LjIKLQotLSBuYW1lOiB4
b3JnLWZvbnQtdXRpbAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0
dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcvZm9udC91dGlsLmdpdAotICAg
ICAgYnJhbmNoOiBmb250LXV0aWwtMS4zLjEKLQotLSBuYW1lOiB4a2JmaWxlCi0gIHNvdXJjZXM6
Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIGJyYW5jaDogbGlieGtiZmlsZS0xLjAuOQotICAgICAg
dXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC94b3JnL2xpYi9saWJ4a2Jm
aWxlLmdpdAotCi0tIG5hbWU6IGZvbnRlbmMKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAot
ICAgICAgYnJhbmNoOiBsaWJmb250ZW5jLTEuMS4zCi0gICAgICB1cmw6IGh0dHBzOi8vYW5vbmdp
dC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcvbGliL2xpYmZvbnRlbmMuZ2l0Ci0KLS0gbmFtZTog
eGZvbnQKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgYnJhbmNoOiBsaWJYZm9u
dDItMi4wLjMKLSAgICAgIHVybDogaHR0cHM6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQv
eG9yZy9saWIvbGliWGZvbnQuZ2l0Ci0KLS0gbmFtZTogeHZmYgotICBzb3VyY2VzOgotICAgIC0g
dHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0
L3hvcmcveHNlcnZlci5naXQKLSAgICAgIGJyYW5jaDogeG9yZy1zZXJ2ZXItMS4xOS42Ci0gICAg
LSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogcGF0Y2hlcy94dmZiLTAwMDEtSEFDSy1Bdm9pZC1j
b21waWxpbmctYS1rYm0tZmlsZS5wYXRjaAotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6
IC4uL2d0ay9wYXRjaGVzL3hzZXJ2ZXItcmVtb3ZlLWJvZ3VzLWRlcGVuZGVuY2llcy5wYXRjaAot
ICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2d0ay9wYXRjaGVzL3hzZXJ2ZXItc2Vh
cmNoLWZvci1EUkktZHJpdmVycy1hdC1MSUJHTF9EUklWRVJTX1BBVEgtZW52aXJvbi5wYXRjaAot
ICBjb25maWctb3B0czoKLSAgICAtIC0tZW5hYmxlLXh2ZmIKLSAgICAtIC0tZGlzYWJsZS14d2F5
bGFuZAotICAgIC0gLS1lbmFibGUteHZmYgotICAgIC0gLS1kaXNhYmxlLXh3YXlsYW5kCi0gICAg
LSAtLWRpc2FibGUteGluZXJhbWEKLSAgICAtIC0tZW5hYmxlLWdseAotICAgIC0gLS1lbmFibGUt
Y29tcG9zaXRlCi0gICAgLSAtLWRpc2FibGUteG9yZwotICAgIC0gLS1kaXNhYmxlLWRteAotICAg
IC0gLS1kaXNhYmxlLXhuZXN0Ci0gICAgLSAtLWRpc2FibGUteHF1YXJ0egotICAgIC0gLS1kaXNh
YmxlLXh3aW4KLSAgICAtIC0tZGlzYWJsZS14ZXBoeXIKLSAgICAtIC0tZGlzYWJsZS14ZmFrZQot
ICAgIC0gLS1kaXNhYmxlLXhmYmRldgotICAgIC0gLS1kaXNhYmxlLWluc3RhbGwtc2V0dWlkCi0g
ICAgLSAtLWRpc2FibGUtdW5pdC10ZXN0cwotICAgIC0gLS1kaXNhYmxlLXByZXNlbnQKLSAgICAt
IC0tZW5hYmxlLXVuaXgtdHJhbnNwb3J0Ci0gICAgLSAtLWVuYWJsZS10Y3AtdHJhbnNwb3J0Ci0g
ICAgLSAtLWRpc2FibGUtbG9jYWwtdHJhbnNwb3J0Ci0gICAgLSAtLXdpdGhvdXQtZHRyYWNlCi0K
LSMgUmVxdWlyZWQgZm9yIHJ1bi1ndGstdGVzdHMKLS0gbmFtZTogcHljYWlybwotICBidWlsZHN5
c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAtIHB5dGhvbjIgc2V0dXAucHkgaW5z
dGFsbCAtLXByZWZpeD0vYXBwCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogYXJjaGl2ZQotICAgIHVy
bDogaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcGFja2FnZXMvZWYvOTcvYjMzZGM1MzNlYTYwNzZk
NGVhOWNiZDJmZTA0OWEyYjRhM2RmNWM1YjZmYmE5YTE4MjYxNmY2ZjhkMzEwL3B5Y2Fpcm8tMS4x
NS40LnRhci5negotICAgIHNoYTI1NjogZWU0YzMwNjhjMDQ4MjMwZTVjZTc0YmI4OTk0YTAyNDcx
MTEyOWJkZTFhZjFkNzZlMzI3NmM3YWNkODFjNDM1NwotICBjbGVhbnVwOgotICAtICIvaW5jbHVk
ZSIKLSAgLSAiL2xpYi9wa2djb25maWciCi0KLS0gbmFtZTogcHlnb2JqZWN0LXB5dGhvbjIKLSAg
YnVpbGQtb3B0aW9uczoKLSAgICBlbnY6Ci0gICAgICBQWVRIT046ICIvdXNyL2Jpbi9weXRob24y
IgotICBzb3VyY2VzOgotICAtIHR5cGU6IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vZG93bmxv
YWQuZ25vbWUub3JnL3NvdXJjZXMvcHlnb2JqZWN0LzMuMjgvcHlnb2JqZWN0LTMuMjguMS50YXIu
eHoKLSAgICBzaGEyNTY6IDQyMzEyYjRhNTAxNTU3MWZhMGE0ZjJkMjAxMDA1ZGE0NmI3MWMyNTFl
YTI2MjViYzk1NzAyZDA3MWM0ZmY4OTUKLSAgY2xlYW51cDoKLSAgLSAiL2luY2x1ZGUiCi0gIC0g
Ii9saWIvcGtnY29uZmlnIgotICAtICIvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL2dpLyou
bGEiCi0KLS0gb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwKLQotLSBuYW1lOiBvcmcud2Via2l0
LkdUSwotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAgIC0gL2Fw
cC93ZWJraXQvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgLS1ndGsgLS1wcmVmaXg9L2FwcAot
CmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFLnlhbWwgYi9Ub29scy9m
bGF0cGFrL29yZy53ZWJraXQuV1BFLnlhbWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDRjYmFiYmFhMGNiOGUxNThhZDQ0NDFmOThiNGQwNTNhOGNiM2JhNzYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0
LldQRS55YW1sCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotLSBvcmcud2Via2l0LldQ
RU1vZHVsZXMueWFtbAotLSBuYW1lOiB3ZWJraXRndGstdGVzdC1mb250cwotICBuby1hdXRvZ2Vu
OiB0cnVlCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9n
aXRodWIuY29tL1dlYktpdEdUSy93ZWJraXRndGstdGVzdC1mb250cy5naXQKLSAgYnVpbGRzeXN0
ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgICAjIEZJWE1FOiBNYWtlIEFjdGl2YXRl
Rm9udFdQRSBzbWFydGVyLgotICAgIC0gbWFrZSBpbnN0YWxsIERFU1RESVI9L2FwcC9XZWJLaXRC
dWlsZC9EZXBlbmRlbmNpZXNXUEUvUm9vdAotLSBuYW1lOiBvcmcud2Via2l0LldQRQotICBidWls
ZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAgIC0gL2FwcC93ZWJraXQvVG9v
bHMvU2NyaXB0cy9idWlsZC13ZWJraXQgLS13cGUgLS1wcmVmaXg9L2FwcApkaWZmIC0tZ2l0IGEv
VG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRU1vZHVsZXMueWFtbCBiL1Rvb2xzL2ZsYXRwYWsv
b3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGE4MGUyY2NiM2E0ZDk1MjJhNjA3OTM0YzA2ZTBhZjkyMDViZjAyMTcuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0
LldQRU1vZHVsZXMueWFtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLS0gbmFtZTog
bGlid3BlCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1uaW5qYQotICBzb3VyY2VzOgotICAgIC0gdHlw
ZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL3dwZXdlYmtpdC5vcmcvcmVsZWFzZXMvbGli
d3BlLTEuNC4wLnRhci54egotICAgICAgc2hhMjU2OiBlMmQzNDk0ZmMzM2ZlOTQ2YWQ5MTdmZDZh
M2FiZDEyNzQ2MmI5MWJiYTYyZWY4YjM1NTA3ZTkyZjhlZGU0MTg4Ci0tIG5hbWU6IHdwZWJhY2tl
bmQtZmRvCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1uaW5qYQotICBzb3VyY2VzOgotICAgIC0gdHlw
ZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL3dwZXdlYmtpdC5vcmcvcmVsZWFzZXMvd3Bl
YmFja2VuZC1mZG8tMS40LjAudGFyLnh6Ci0gICAgICBzaGEyNTY6IGE5MTljYTRhNWJjNDQ1Zjk0
MTlhNWI3ZjM3ODFjZmM5OGU1YWJjZjVkNzI1OWViMTg2OWY1YWIyMGZkMThiYWYKZGlmZiAtLWdp
dCBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVRVC55YW1sIGIvVG9vbHMvZmxhdHBhay9v
cmcud2Via2l0LldQRVFULnlhbWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlMzY5
NTdhNDYxYmMzNDc5YTM4ZWZmZGU2ZDk1OGJkMDA3MjY3OGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRVFU
LnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi1hcHAtaWQ6IG9yZy53ZWJraXQu
V1BFUVQKLXJ1bnRpbWU6IG9yZy5rZGUuUGxhdGZvcm0KLXJ1bnRpbWUtdmVyc2lvbjogIjUuMTIi
Ci0jIENvbnRyb2wgdGhlIGV4YWN0IHZlcnNpb24gb2YgdGhlIFNkay9SdW50aW1lIHRoYXQgaXMg
YmVpbmcgdXNlZC4KLXNkay1oYXNoOiBkNmVmYTI0ZTI3YzFjODc4YWQ0ZmRlNzZiNzNjOTZhMTFi
ZTMyYjU5OGFlODdhZWZiZTMzOWVlNGJiMTlhOGJlCi1ydW50aW1lLWhhc2g6IDEwMTg3MWUwOTEw
MDA2MTZhZDJiNjM1ZTA2YzQxNGViMGUxYzRlMWMzNDI5MmEyMDVjNTIzOTkzNWVlNWVhNDQKLXNk
azogb3JnLmtkZS5TZGsKLWNvbW1hbmQ6ICUoQ09NTUFORClzCi1maW5pc2gtYXJnczoKLSAgIyBC
YXNpY2FsbHkgbm8gc2FuZGJveGluZywgdGhlIGdvYWwgaGVyZSBpcyB0byBtYWtlIGl0IGZsZXhp
YmxlCi0gICMgZm9yIGRldmVsb3BlcnMsIG5vdCByZWFsbHkgdG8gaXNvbGF0ZSAob3Blbm5pbmcg
YWxsIGRldmljZXMKLSAgIyB0byBhbGxvdyBhY2NlcyB2aWRlbyBjYW1lcmFzIHVudGlsIHdlIGhh
dmUgYSBwb3J0YWwgYXQgbGVhc3QpLgotICAtIC0tc2hhcmU9aXBjCi0gIC0gLS1zb2NrZXQ9eDEx
Ci0gIC0gLS1zb2NrZXQ9d2F5bGFuZAotICAtIC0tZGV2aWNlPWFsbAotICAtIC0tc2hhcmU9bmV0
d29yawotICAtIC0tc29ja2V0PXB1bHNlYXVkaW8KLSAgLSAtLXN5c3RlbS10YWxrLW5hbWU9b3Jn
LmZyZWVkZXNrdG9wLkdlb0NsdWUyCi0gIC0gLS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1
cwotICAtIC0tZmlsZXN5c3RlbT1ob3N0Ci0gIC0gLS1zb2NrZXQ9c3lzdGVtLWJ1cwotICAtIC0t
dGFsay1uYW1lPW9yZy5mcmVlZGVza3RvcC5GbGF0cGFrCi0gIC0gLS1lbnY9R1NUX1BSRVNFVF9Q
QVRIPS9hcHAvc2hhcmUvZ3N0cmVhbWVyLTEuMC9wcmVzZXRzLwotYnVpbGQtb3B0aW9uczoKLSAg
Y2ZsYWdzOiAtTzIgLWcKLSAgY3h4ZmxhZ3M6IC1PMiAtZwotICBzdHJpcDogZmFsc2UKLSAgbm8t
ZGVidWdpbmZvOiB0cnVlCi1tb2R1bGVzOgotICAtIG9yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55
YW1sCi0gIC0gb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwKLQotICAjIFRoaXMgbW9kdWxlIGlz
IG5vdCBhY3R1YWxseSBidWlsdC4KLSAgLSBuYW1lOiBvcmcud2Via2l0LldQRVFUCi0gICAgYnVp
bGRzeXN0ZW06IGNtYWtlCi0gICAgc291cmNlczoKLSAgICAtIHR5cGU6IGRpcgotICAgICAgcGF0
aDogL2FwcC93ZWJraXQvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9xdApkaWZmIC0t
Z2l0IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldlYktpdC55YW1sIGIvVG9vbHMvZmxhdHBh
ay9vcmcud2Via2l0LldlYktpdC55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi
NmQ2MTI2NjBkOGEyMDQ1ZGEzMTJmZGIwOTFiNzhlNThhODA3ZTY5Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5X
ZWJLaXQueWFtbAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLWFwcC1pZDogJShQT1JU
TkFNRSlzCi1ydW50aW1lOiBvcmcuZ25vbWUuUGxhdGZvcm0KLXJ1bnRpbWUtdmVyc2lvbjogIjMu
MzIiCi0jIENvbnRyb2wgdGhlIGV4YWN0IHZlcnNpb24gb2YgdGhlIFNkay9SdW50aW1lIHRoYXQg
aXMgYmVpbmcgdXNlZC4KLXNkay1oYXNoOiBiM2I5YjFkMWIxOWVhMmJiNzIwMTk0MjhjYTc1Yzdh
Nzg0NTVlOTg2YTBmOTFkZGRmNmEyOWM5Mjk5MGNjNWE3Ci1ydW50aW1lLWhhc2g6IDdjOWQ1NTky
ZDgwNWQwYjdjMjEyMTkwZmQ4MTE4ZTRjNzhjYjhlZDhmODFlNjg3ODU4OTcyNjcwZGFjY2ZmNzYK
LXNkazogb3JnLmdub21lLlNkawotY29tbWFuZDogJShDT01NQU5EKXMKLWZpbmlzaC1hcmdzOgot
ICAjIEJhc2ljYWxseSBubyBzYW5kYm94aW5nLCB0aGUgZ29hbCBoZXJlIGlzIHRvIG1ha2UgaXQg
ZmxleGlibGUKLSAgIyBmb3IgZGV2ZWxvcGVycywgbm90IHJlYWxseSB0byBpc29sYXRlIChvcGVu
bmluZyBhbGwgZGV2aWNlcwotICAjIHRvIGFsbG93IGFjY2VzIHZpZGVvIGNhbWVyYXMgdW50aWwg
d2UgaGF2ZSBhIHBvcnRhbCBhdCBsZWFzdCkuCi0gIC0gLS1zaGFyZT1pcGMKLSAgLSAtLXNvY2tl
dD14MTEKLSAgLSAtLXNvY2tldD13YXlsYW5kCi0gIC0gLS1kZXZpY2U9YWxsCi0gIC0gLS1zaGFy
ZT1uZXR3b3JrCi0gIC0gLS1zb2NrZXQ9cHVsc2VhdWRpbwotICAtIC0tc3lzdGVtLXRhbGstbmFt
ZT1vcmcuZnJlZWRlc2t0b3AuR2VvQ2x1ZTIKLSAgLSAtLXN5c3RlbS10YWxrLW5hbWU9b3JnLmEx
MXkuQnVzCi0gIC0gLS1maWxlc3lzdGVtPWhvc3QKLSAgLSAtLXNvY2tldD1zeXN0ZW0tYnVzCi0g
IC0gLS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkZsYXRwYWsKLSAgLSAtLWVudj1HU1RfUFJF
U0VUX1BBVEg9L2FwcC9zaGFyZS9nc3RyZWFtZXItMS4wL3ByZXNldHMvCi1idWlsZC1vcHRpb25z
OgotICBjZmxhZ3M6IC1PMiAtZwotICBjeHhmbGFnczogLU8yIC1nCi0gIHN0cmlwOiBmYWxzZQot
ICBuby1kZWJ1Z2luZm86IHRydWUKLW1vZHVsZXM6Ci0gIC0gb3JnLndlYmtpdC5Db21tb25Nb2R1
bGVzLnlhbWwKLSAgIyBQb3J0IHNwZWNpZmljIGNvbXBvbmVudHMuCi0gIC0gJShQT1JUTkFNRSlz
LnlhbWwKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy9odHRwZC0wMDAxLWNvbmZp
Z3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1kZXRlY3Rpb24ucGF0Y2ggYi9Ub29scy9mbGF0
cGFrL3BhdGNoZXMvaHR0cGQtMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLVBDUkUt
ZGV0ZWN0aW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMzZhNjk0ZjI5
MjNkMzUxZGI2ZjNmMTMzMjc2MDI4M2RhNzhmOWRlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy9odHRwZC0wMDAxLWNv
bmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1kZXRlY3Rpb24ucGF0Y2gKKysrIC9kZXYv
bnVsbApAQCAtMSw1MCArMCwwIEBACi1Gcm9tIGI1ZWJlNDA0ZjEzODhkZGRhMzYwM2U1MzI3N2Y4
N2UwYjk2YmE2OTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUaGliYXVsdCBTYXVu
aWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotRGF0ZTogTW9uLCAxMSBKdW4gMjAxOCAxNjoxNDoz
OCAtMDQwMAotU3ViamVjdDogW1BBVENIXSBjb25maWd1cmU6IHVzZSBwa2ctY29uZmlnIGZvciBQ
Q1JFIGRldGVjdGlvbgotCi0tLS0KLSBjb25maWd1cmUuaW4gfCAyNyArKysrKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlv
bnMoLSkKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgotaW5kZXgg
NzYxZTgzNi4uYjE1NWQ0YiAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5pbgotKysrIGIvY29uZmln
dXJlLmluCi1AQCAtMjE1LDI4ICsyMTUsMTEgQEAgZmkKLSBBQ19BUkdfV0lUSChwY3JlLAotIEFQ
QUNIRV9IRUxQX1NUUklORygtLXdpdGgtcGNyZT1QQVRILFVzZSBleHRlcm5hbCBQQ1JFIGxpYnJh
cnkpKQotIAotLUFDX1BBVEhfUFJPRyhQQ1JFX0NPTkZJRywgcGNyZS1jb25maWcsIGZhbHNlKQot
LWlmIHRlc3QgLWQgIiR3aXRoX3BjcmUiICYmIHRlc3QgLXggIiR3aXRoX3BjcmUvYmluL3BjcmUt
Y29uZmlnIjsgdGhlbgotLSAgIFBDUkVfQ09ORklHPSR3aXRoX3BjcmUvYmluL3BjcmUtY29uZmln
Ci0tZWxpZiB0ZXN0IC14ICIkd2l0aF9wY3JlIjsgdGhlbgotLSAgIFBDUkVfQ09ORklHPSR3aXRo
X3BjcmUKLS1maQotLQotLWlmIHRlc3QgIiRQQ1JFX0NPTkZJRyIgIT0gImZhbHNlIjsgdGhlbgot
LSAgaWYgJFBDUkVfQ09ORklHIC0tdmVyc2lvbiA+L2Rldi9udWxsIDI+JjE7IHRoZW4gOjsgZWxz
ZQotLSAgICBBQ19NU0dfRVJST1IoW0RpZCBub3QgZmluZCBwY3JlLWNvbmZpZyBzY3JpcHQgYXQg
JFBDUkVfQ09ORklHXSkKLS0gIGZpCi0tICBjYXNlIGAkUENSRV9DT05GSUcgLS12ZXJzaW9uYCBp
bgotLSAgW1sxLTVdLipdKQotLSAgICBBQ19NU0dfRVJST1IoW05lZWQgYXQgbGVhc3QgcGNyZSB2
ZXJzaW9uIDYuMF0pCi0tICAgIDs7Ci0tICBlc2FjCi0tICBBQ19NU0dfTk9USUNFKFtVc2luZyBl
eHRlcm5hbCBQQ1JFIGxpYnJhcnkgZnJvbSAkUENSRV9DT05GSUddKQotLSAgQVBSX0FERFRPKFBD
UkVfSU5DTFVERVMsIFtgJFBDUkVfQ09ORklHIC0tY2ZsYWdzYF0pCi0tICBBUFJfQUREVE8oUENS
RV9MSUJTLCBbYCRQQ1JFX0NPTkZJRyAtLWxpYnNgXSkKLS1lbHNlCi0tICBBQ19NU0dfRVJST1Io
W3BjcmUtY29uZmlnIGZvciBsaWJwY3JlIG5vdCBmb3VuZC4gUENSRSBpcyByZXF1aXJlZCBhbmQg
YXZhaWxhYmxlIGZyb20gaHR0cDovL3BjcmUub3JnL10pCi0tZmkKLStQS0dfQ0hFQ0tfTU9EVUxF
UyhbUENSRV0sIFtsaWJwY3JlXSwgWwotKyAgQUNfREVGSU5FKFtIQVZFX1BDUkVdLCBbMV0sIFtE
ZWZpbmUgaWYgeW91IGhhdmUgUENSRSBsaWJyYXJ5XSkKLStdLCBbCi0rICBBQ19NU0dfRVJST1Io
WyRQQ1JFX1BLR19FUlJPUlNdKQotK10pCi0gQVBBQ0hFX1NVQlNUKFBDUkVfTElCUykKLSAKLSBB
Q19NU0dfTk9USUNFKFtdKQotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBh
ay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWRldGVjdC1ncGctZXJy
b3IucGF0Y2ggYi9Ub29scy9mbGF0cGFrL3BhdGNoZXMvbGliZ2NyeXB0LTAwMDEtVXNlLXBrZy1j
b25maWctdG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYzU3NzI3ZmJiOGIwOGI5MTk1YTVjMDk3ZDZjNjFiOTA4YzY5MTc5YS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL3BhdGNo
ZXMvbGliZ2NyeXB0LTAwMDEtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRj
aAorKysgL2Rldi9udWxsCkBAIC0xLDExMCArMCwwIEBACi1Gcm9tIDlhZmYzZjFiMzQ0ZmM4NjY2
YjE0YzU3NjI5MTYyYzJiOTAwN2NhZDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBU
aGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotRGF0ZTogRnJpLCAyOSBKdW4g
MjAxOCAwOTowNTo1MiAtMDQwMAotU3ViamVjdDogW1BBVENIXSBVc2UgcGtnLWNvbmZpZyB0byBk
ZXRlY3QgZ3BnLWVycm9yCi0KLS0tLQotIG00L2dwZy1lcnJvci5tNCB8IDg4ICsrKysrKystLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwg
MTIgaW5zZXJ0aW9ucygrKSwgNzYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9tNC9ncGct
ZXJyb3IubTQgYi9tNC9ncGctZXJyb3IubTQKLWluZGV4IDE2NjEyMDRjLi41ZjlmMzNjMiAxMDA2
NDQKLS0tLSBhL200L2dwZy1lcnJvci5tNAotKysrIGIvbTQvZ3BnLWVycm9yLm00Ci1AQCAtNDEs
ODEgKzQxLDE3IEBAIEFDX0RFRlVOKFtBTV9QQVRIX0dQR19FUlJPUl0sCi0gICBBQ19BUkdfV0lU
SChncGctZXJyb3ItcHJlZml4LCwKLSAgICAgICAgICAgICAgIFtncGdfZXJyb3JfY29uZmlnX3By
ZWZpeD0iJHdpdGh2YWwiXSkKLSAKLS0gIGlmIHRlc3QgeCIke0dQR19FUlJPUl9DT05GSUd9IiA9
IHggOyB0aGVuCi0tICAgICBpZiB0ZXN0IHgiJHtncGdfZXJyb3JfY29uZmlnX3ByZWZpeH0iICE9
IHggOyB0aGVuCi0tICAgICAgICBHUEdfRVJST1JfQ09ORklHPSIke2dwZ19lcnJvcl9jb25maWdf
cHJlZml4fS9iaW4vZ3BnLWVycm9yLWNvbmZpZyIKLS0gICAgIGVsc2UKLS0gICAgICAgY2FzZSAi
JHtTWVNST09UfSIgaW4KLS0gICAgICAgICAvKikKLS0gICAgICAgICAgIGlmIHRlc3QgLXggIiR7
U1lTUk9PVH0vYmluL2dwZy1lcnJvci1jb25maWciIDsgdGhlbgotLSAgICAgICAgICAgICBHUEdf
RVJST1JfQ09ORklHPSIke1NZU1JPT1R9L2Jpbi9ncGctZXJyb3ItY29uZmlnIgotLSAgICAgICAg
ICAgZmkKLS0gICAgICAgICAgIDs7Ci0tICAgICAgICAgJycpCi0tICAgICAgICAgICA7OwotLSAg
ICAgICAgICAqKQotLSAgICAgICAgICAgQUNfTVNHX1dBUk4oW0lnbm9yaW5nIFwkU1lTUk9PVCBh
cyBpdCBpcyBub3QgYW4gYWJzb2x1dGUgcGF0aC5dKQotLSAgICAgICAgICAgOzsKLS0gICAgICAg
ZXNhYwotLSAgICAgZmkKLS0gIGZpCi0rICBQS0dfQ0hFQ0tfTU9EVUxFUyhbR1BHX0VSUk9SXSwg
W2dwZy1lcnJvcl0sIFsKLSsgICAgQUNfREVGSU5FKFtIQVZFX0dQR19FUlJPUl0sIFsxXSwgW0Rl
ZmluZSBpZiB5b3UgaGF2ZSBncGctZXJyb3IgbGlicmFyeV0pCi0gCi0tICBBQ19QQVRIX1BST0co
R1BHX0VSUk9SX0NPTkZJRywgZ3BnLWVycm9yLWNvbmZpZywgbm8pCi0tICBtaW5fZ3BnX2Vycm9y
X3ZlcnNpb249aWZlbHNlKFskMV0sICwwLjAsJDEpCi0tICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIEdQ
RyBFcnJvciAtIHZlcnNpb24gPj0gJG1pbl9ncGdfZXJyb3JfdmVyc2lvbikKLS0gIG9rPW5vCi0t
ICBpZiB0ZXN0ICIkR1BHX0VSUk9SX0NPTkZJRyIgIT0gIm5vIiBcCi0tICAgICAmJiB0ZXN0IC1m
ICIkR1BHX0VSUk9SX0NPTkZJRyIgOyB0aGVuCi0tICAgIHJlcV9tYWpvcj1gZWNobyAkbWluX2dw
Z19lcnJvcl92ZXJzaW9uIHwgXAotLSAgICAgICAgICAgICAgIHNlZCAncy9cKFtbMC05XV0qXClc
LlwoW1swLTldXSpcKS9cMS8nYAotLSAgICByZXFfbWlub3I9YGVjaG8gJG1pbl9ncGdfZXJyb3Jf
dmVyc2lvbiB8IFwKLS0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05
XV0qXCkvXDIvJ2AKLS0gICAgZ3BnX2Vycm9yX2NvbmZpZ192ZXJzaW9uPWAkR1BHX0VSUk9SX0NP
TkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19hcmdzIC0tdmVyc2lvbmAKLS0gICAgbWFqb3I9YGVjaG8g
JGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbiB8IFwKLS0gICAgICAgICAgICAgICBzZWQgJ3MvXChb
WzAtOV1dKlwpXC5cKFtbMC05XV0qXCkuKi9cMS8nYAotLSAgICBtaW5vcj1gZWNobyAkZ3BnX2Vy
cm9yX2NvbmZpZ192ZXJzaW9uIHwgXAotLSAgICAgICAgICAgICAgIHNlZCAncy9cKFtbMC05XV0q
XClcLlwoW1swLTldXSpcKS4qL1wyLydgCi0tICAgIGlmIHRlc3QgIiRtYWpvciIgLWd0ICIkcmVx
X21ham9yIjsgdGhlbgotLSAgICAgICAgb2s9eWVzCi0tICAgIGVsc2UKLS0gICAgICAgIGlmIHRl
c3QgIiRtYWpvciIgLWVxICIkcmVxX21ham9yIjsgdGhlbgotLSAgICAgICAgICAgIGlmIHRlc3Qg
IiRtaW5vciIgLWdlICIkcmVxX21pbm9yIjsgdGhlbgotLSAgICAgICAgICAgICAgIG9rPXllcwot
LSAgICAgICAgICAgIGZpCi0tICAgICAgICBmaQotLSAgICBmaQotLSAgZmkKLS0gIGlmIHRlc3Qg
JG9rID0geWVzOyB0aGVuCi0tICAgIEdQR19FUlJPUl9DRkxBR1M9YCRHUEdfRVJST1JfQ09ORklH
ICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1jZmxhZ3NgCi0tICAgIEdQR19FUlJPUl9MSUJTPWAk
R1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19hcmdzIC0tbGlic2AKLS0gICAgR1BH
X0VSUk9SX01UX0NGTEFHUz1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9jb25maWdfYXJn
cyAtLW10IC0tY2ZsYWdzIDI+L2Rldi9udWxsYAotLSAgICBHUEdfRVJST1JfTVRfTElCUz1gJEdQ
R19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9jb25maWdfYXJncyAtLW10IC0tbGlicyAyPi9kZXYv
bnVsbGAKLS0gICAgQUNfTVNHX1JFU1VMVChbeWVzICgkZ3BnX2Vycm9yX2NvbmZpZ192ZXJzaW9u
KV0pCi0tICAgIGlmZWxzZShbJDJdLCAsIDosIFskMl0pCi0tICAgIGdwZ19lcnJvcl9jb25maWdf
aG9zdD1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9jb25maWdfYXJncyAtLWhvc3QgMj4v
ZGV2L251bGwgfHwgZWNobyBub25lYAotLSAgICBpZiB0ZXN0IHgiJGdwZ19lcnJvcl9jb25maWdf
aG9zdCIgIT0geG5vbmUgOyB0aGVuCi0tICAgICAgaWYgdGVzdCB4IiRncGdfZXJyb3JfY29uZmln
X2hvc3QiICE9IHgiJGhvc3QiIDsgdGhlbgotLSAgQUNfTVNHX1dBUk4oW1sKLS0qKioKLS0qKiog
VGhlIGNvbmZpZyBzY3JpcHQgJEdQR19FUlJPUl9DT05GSUcgd2FzCi0tKioqIGJ1aWx0IGZvciAk
Z3BnX2Vycm9yX2NvbmZpZ19ob3N0IGFuZCB0aHVzIG1heSBub3QgbWF0Y2ggdGhlCi0tKioqIHVz
ZWQgaG9zdCAkaG9zdC4KLS0qKiogWW91IG1heSB3YW50IHRvIHVzZSB0aGUgY29uZmlndXJlIG9w
dGlvbiAtLXdpdGgtZ3BnLWVycm9yLXByZWZpeAotLSoqKiB0byBzcGVjaWZ5IGEgbWF0Y2hpbmcg
Y29uZmlnIHNjcmlwdCBvciB1c2UgXCRTWVNST09ULgotLSoqKl1dKQotLSAgICAgICAgZ3BnX2Nv
bmZpZ19zY3JpcHRfd2Fybj0iJGdwZ19jb25maWdfc2NyaXB0X3dhcm4gbGliZ3BnLWVycm9yIgot
LSAgICAgIGZpCi0tICAgIGZpCi0tICBlbHNlCi0tICAgIEdQR19FUlJPUl9DRkxBR1M9IiIKLS0g
ICAgR1BHX0VSUk9SX0xJQlM9IiIKLS0gICAgR1BHX0VSUk9SX01UX0NGTEFHUz0iIgotLSAgICBH
UEdfRVJST1JfTVRfTElCUz0iIgotLSAgICBBQ19NU0dfUkVTVUxUKG5vKQotLSAgICBpZmVsc2Uo
WyQzXSwgLCA6LCBbJDNdKQotLSAgZmkKLS0gIEFDX1NVQlNUKEdQR19FUlJPUl9DRkxBR1MpCi0t
ICBBQ19TVUJTVChHUEdfRVJST1JfTElCUykKLS0gIEFDX1NVQlNUKEdQR19FUlJPUl9NVF9DRkxB
R1MpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfTVRfTElCUykKLSsgICAgR1BHX0VSUk9SX01UX0NG
TEFHUz0iJEdQR19FUlJPUl9DRkxBR1MiCi0rICAgIEdQR19FUlJPUl9NVF9MSUJTPSItbHB0aHJl
YWQgJEdQR19FUlJPUl9MSUJTIgotKwotKyAgICBBQ19TVUJTVChHUEdfRVJST1JfQ0ZMQUdTKQot
KyAgICBBQ19TVUJTVChHUEdfRVJST1JfTElCUykKLSsgICAgQUNfU1VCU1QoR1BHX0VSUk9SX01U
X0NGTEFHUykKLSsgICAgQUNfU1VCU1QoR1BHX0VSUk9SX01UX0xJQlMpCi0rICBdLCBbCi0rICAg
IEFDX01TR19FUlJPUihbJEdQR19FUlJPUl9FUlJPUlNdKQotKyAgXSkKLSBdKQotLS0gCi0yLjE4
LjAKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9wYXRjaGVzL3h2ZmItMDAwMS1IQUNLLUF2
b2lkLWNvbXBpbGluZy1hLWtibS1maWxlLnBhdGNoIGIvVG9vbHMvZmxhdHBhay9wYXRjaGVzL3h2
ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1maWxlLnBhdGNoCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA4OTg4NDJiMzgxZDI1MTQwZmJjMDhmNTRhOTcyMzBhNmRiZTRh
NDUwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xz
L2ZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEtSEFDSy1Bdm9pZC1jb21waWxpbmctYS1rYm0tZmls
ZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLUZyb20gYWVkMWI2ZThkZTQx
Mzc1YzFiOGIxZGZjNDhhMzUwZTBhOWI5Y2JiYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZy
b206IFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGlnYWxpYS5jb20+Ci1EYXRlOiBNb24sIDEx
IEp1biAyMDE4IDEwOjU1OjQzIC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0ggeHNlcnZlcl0gSEFDSzog
QXZvaWQgY29tcGlsaW5nIGEga2JtIGZpbGUKLQotVGhpcyB3b3VsZCBuZWVkIHRvIGJlIGluIC91
c3Ivc2hhcmUvWDExLyBhcyB0aGlzIGlzIHdoZXJlCi1yZXNvdXJjZSBmaWxlcyBhcmUgaW4gdGhl
IHNhbmRib3ggYnV0IGl0IGlzIHJlYWQgb25seSBpbiB0aGVyZS4KLQotSGFjayBhcm91bmQgdGhh
dC4KLS0tLQotIHhrYi9kZHhMb2FkLmMgfCA5ICstLS0tLS0tLQotIHhrYi94a2JJbml0LmMgfCAy
ICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCi0K
LWRpZmYgLS1naXQgYS94a2IvZGR4TG9hZC5jIGIveGtiL2RkeExvYWQuYwotaW5kZXggYmJlMzk1
Mi4uYTRhMDNhMSAxMDA2NDQKLS0tLSBhL3hrYi9kZHhMb2FkLmMKLSsrKyBiL3hrYi9kZHhMb2Fk
LmMKLUBAIC0xNDgsMTQgKzE0OCw3IEBAIFJ1blhrYkNvbXAoeGtiY29tcF9idWZmZXJfY2FsbGJh
Y2sgY2FsbGJhY2ssIHZvaWQgKnVzZXJkYXRhKQotICAgICAgICAgfQotICAgICB9Ci0gCi0tICAg
IGlmIChhc3ByaW50ZigmYnVmLAotLSAgICAgICAgICAgICAgICAgIlwiJXMlc3hrYmNvbXBcIiAt
dyAlZCAlcyAteGttIFwiJXNcIiAiCi0tICAgICAgICAgICAgICAgICAiLWVtMSAlcyAtZW1wICVz
IC1lbWwgJXMgXCIlcyVzLnhrbVwiIiwKLS0gICAgICAgICAgICAgICAgIHhrYmJpbmRpciwgeGti
YmluZGlyc2VwLAotLSAgICAgICAgICAgICAgICAgKCh4a2JEZWJ1Z0ZsYWdzIDwgMikgPyAxIDoK
LS0gICAgICAgICAgICAgICAgICAoKHhrYkRlYnVnRmxhZ3MgPiAxMCkgPyAxMCA6IChpbnQpIHhr
YkRlYnVnRmxhZ3MpKSwKLS0gICAgICAgICAgICAgICAgIHhrYmJhc2VkaXJmbGFnID8geGtiYmFz
ZWRpcmZsYWcgOiAiIiwgeGttZmlsZSwKLS0gICAgICAgICAgICAgICAgIFBSRV9FUlJPUl9NU0cs
IEVSUk9SX1BSRUZJWCwgUE9TVF9FUlJPUl9NU0cxLAotKyAgICBpZiAoYXNwcmludGYoJmJ1Ziwg
ImNwIC9hcHAvd2Via2l0L1Rvb2xzL2ZsYXRwYWsvZmlsZXMvZGVmYXVsdC54a20gXCIlcyVzLnhr
bVwiIiwKLSAgICAgICAgICAgICAgICAgIHhrbV9vdXRwdXRfZGlyLCBrZXltYXApID09IC0xKQot
ICAgICAgICAgYnVmID0gTlVMTDsKLSAKLWRpZmYgLS1naXQgYS94a2IveGtiSW5pdC5jIGIveGti
L3hrYkluaXQuYwotaW5kZXggOWM3NzJmNS4uNGUwYjc3NCAxMDA2NDQKLS0tLSBhL3hrYi94a2JJ
bml0LmMKLSsrKyBiL3hrYi94a2JJbml0LmMKLUBAIC04Nyw3ICs4Nyw3IEBAIHR5cGVkZWYgc3Ry
dWN0IF9TcnZYa21JbmZvIHsKLSAjZGVmaW5lCVhLQl9ERkxUX1JVTEVTX1BST1AJVFJVRQotICNl
bmRpZgotIAotLWNvbnN0IGNoYXIgKlhrYkJhc2VEaXJlY3RvcnkgPSBYS0JfQkFTRV9ESVJFQ1RP
Ulk7Ci0rY29uc3QgY2hhciAqWGtiQmFzZURpcmVjdG9yeSA9ICIvdXNyL3NoYXJlL1gxMS94a2Iv
IjsKLSBjb25zdCBjaGFyICpYa2JCaW5EaXJlY3RvcnkgPSBYS0JfQklOX0RJUkVDVE9SWTsKLSBz
dGF0aWMgaW50IFhrYldhbnRBY2Nlc3NYID0gMDsKLSAKLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdp
dCBhL1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVuZGVuY2llcyBiL1Rvb2xzL2d0ay9pbnN0YWxsLWRl
cGVuZGVuY2llcwppbmRleCBjNmRjNTBjYTBlNWZlN2IzMDdmZTU2ODg5NzZjM2IzMjgxYTRjMjYx
Li5jYTVjNzcyMDI0NWJkYWVkMzMyZGNmMDFkY2NiM2QyOGQwZGIwYWFhIDEwMDc1NQotLS0gYS9U
b29scy9ndGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMKKysrIGIvVG9vbHMvZ3RrL2luc3RhbGwtZGVw
ZW5kZW5jaWVzCkBAIC0xNzYsNiArMTc2LDEwIEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNp
ZXNXaXRoQXB0IHsKICAgICAgICAgd2VzdG9uIFwKICAgICAgICAgeHZmYiIKIAorICAgICMgVGhl
c2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHdpdGggdGhlIEZsYXRw
YWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAorICAgICAgICBmbGF0cGFrIgorCiAg
ICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgdGhlIGpo
YnVpbGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCiAgICAgICAgIGJpc29uIFwKQEAgLTM0
NCw2ICszNDgsMTAgQEAgZnVuY3Rpb24gaW5zdGFsbERlcGVuZGVuY2llc1dpdGhQYWNtYW4gewog
ICAgICAgICB3ZXN0b24gXAogICAgICAgICB4b3JnLXNlcnZlci14dmZiIgogCisgICAgIyBUaGVz
ZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgd2l0aCB0aGUgRmxhdHBh
ayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCisgICAgICAgIGZsYXRwYWsiCisKICAg
ICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB0aGUgamhi
dWlsZC4KICAgICAjIE5vdGU6IENvdWxkIG5vdCBmaW5kIGxpYmVnbC1tZXNhCiAgICAgcGFja2Fn
ZXM9IiRwYWNrYWdlcyBcCkBAIC01MTYsNiArNTI0LDEwIEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBl
bmRlbmNpZXNXaXRoRG5mIHsKICAgICAgICAgd2VzdG9uLWRldmVsIFwKICAgICAgICAgeG9yZy14
MTEtc2VydmVyLVh2ZmIiCiAKKyAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5
IGZvciBidWlsZGluZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAgICBwYWNrYWdlcz0iJHBhY2th
Z2VzIFwKKyAgICAgICAgZmxhdHBhayIKKwogICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBu
ZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAgIHBhY2thZ2VzPSIkcGFja2Fn
ZXMgXAogICAgICAgICBiaXNvbiBcCmRpZmYgLS1naXQgYS9Ub29scy93cGUvaW5zdGFsbC1kZXBl
bmRlbmNpZXMgYi9Ub29scy93cGUvaW5zdGFsbC1kZXBlbmRlbmNpZXMKaW5kZXggMjdkOWM4MWFj
ZmFhNGFjMjI4NGNlOGU3NzY3ZmE1OTI5N2M4ZjRlOC4uYjgzYjZkNjQyMDhiNmMzN2UwZjc5OWRk
OGI3N2M2NTFiMjZiMDAyNSAxMDA3NTUKLS0tIGEvVG9vbHMvd3BlL2luc3RhbGwtZGVwZW5kZW5j
aWVzCisrKyBiL1Rvb2xzL3dwZS9pbnN0YWxsLWRlcGVuZGVuY2llcwpAQCAtMTEwLDYgKzExMCwx
MCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aEFwdCB7CiAgICAgICAgIHJ1Ynkt
aGlnaGxpbmUgXAogICAgICAgICBydWJ5LWpzb24iCiAKKyAgICAjIFRoZXNlIGFyZSBkZXBlbmRl
bmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAgICBw
YWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAgICAgICAgZmxhdHBhayIKKwogICAgICMgVGhlc2UgYXJl
IGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAgIHBh
Y2thZ2VzPSIkcGFja2FnZXMgXAogICAgICAgICBnaXQgXApAQCAtMjEyLDYgKzIxNiwxMCBAQCBm
dW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aFBhY21hbiB7CiAgICAgICAgIHB5dGhvbjIt
cHN1dGlsIFwKICAgICAgICAgcnVieSIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBu
ZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAgIHBhY2thZ2Vz
PSIkcGFja2FnZXMgXAorICAgICAgICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBhcmUgZGVwZW5k
ZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAgcGFja2FnZXM9
IiRwYWNrYWdlcyBcCiAgICAgICAgIGV4cGF0IFwKQEAgLTMyMyw2ICszMzEsMTAgQEAgZnVuY3Rp
b24gaW5zdGFsbERlcGVuZGVuY2llc1dpdGhEbmYgewogICAgICAgICBydWJ5Z2VtLWhpZ2hsaW5l
IFwKICAgICAgICAgcnVieWdlbS1qc29uIgogCisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVz
IG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgd2l0aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2Fn
ZXM9IiRwYWNrYWdlcyBcCisgICAgICAgIGZsYXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBl
bmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB0aGUgamhidWlsZC4KICAgICBwYWNrYWdl
cz0iJHBhY2thZ2VzIFwKICAgICAgICAgZXhwYXQtZGV2ZWwgXApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDM1M2NhM2NmZWNh
NjkxMTIzNjkxZjI5NWNkZWViYjhlZTJhMTdhYzguLmRmY2M5N2ZiYjUyM2I1YmU2YjkwODQzNTM4
OWQwOWM3NmFkODNhOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMC0wMS0wNCAgUGhpbGlw
cGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBN
aWdyYXRlIHRvIEZsYXRwYWstYmFzZWQgZGV2IFNESworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NjU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL2NvbmYvZmxhdHBhay1odHRwZC5jb25mOiBB
ZGp1c3QgcGF0aHMuCisKIDIwMjAtMDEtMjkgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIEJsb2IgbWVkaWEgbG9hZGluZyBkb2VzIG5vdCB3b3JrIHdpdGggR1BV
UHJvY2VzcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC9jb25mL2ZsYXRwYWstaHR0cGQu
Y29uZiBiL0xheW91dFRlc3RzL2h0dHAvY29uZi9mbGF0cGFrLWh0dHBkLmNvbmYKaW5kZXggM2Mw
M2U0MjM5YzI0OTg5ZDljZDc5Njg2MTQ0YmM3Y2UyYjMwYzMxYi4uYmY1MjE1ZDU4OWFkNjFmODgy
ZDUzYTA2NzVhZDY3YTQ0NmFiOTQzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC9jb25m
L2ZsYXRwYWstaHR0cGQuY29uZgorKysgYi9MYXlvdXRUZXN0cy9odHRwL2NvbmYvZmxhdHBhay1o
dHRwZC5jb25mCkBAIC0xLDUgKzEsNSBAQAogU2VydmVyVG9rZW5zIE9TCi1TZXJ2ZXJSb290ICIv
YXBwLyIKK1NlcnZlclJvb3QgIi91c3IvIgogCiBQaWRGaWxlICIvdG1wL1dlYktpdC9odHRwZC5w
aWQiCiBTY29yZUJvYXJkRmlsZSAiL3RtcC9XZWJLaXQvaHR0cGQuc2NvcmVib2FyZCIKQEAgLTMz
LDkgKzMzLDcgQEAgTG9hZE1vZHVsZSBsb2dfY29uZmlnX21vZHVsZSAgICBtb2R1bGVzL21vZF9s
b2dfY29uZmlnLnNvCiBMb2FkTW9kdWxlIHNzbF9tb2R1bGUgICAgICAgICAgIG1vZHVsZXMvbW9k
X3NzbC5zbwogTG9hZE1vZHVsZSBwaHA3X21vZHVsZSAgICAgICAgICBtb2R1bGVzL2xpYnBocDcu
c28KIExvYWRNb2R1bGUgYXNpc19tb2R1bGUgICAgICAgICAgbW9kdWxlcy9tb2RfYXNpcy5zbwot
TG9hZE1vZHVsZSBlbnZfbW9kdWxlICAgICAgICAgICBtb2R1bGVzL21vZF9lbnYuc28KIAotU2V0
RW52IFBFUkw1TElCIC9hcHAvbGliL3BlcmwKIAogU2VydmVyTmFtZSAxMjcuMC4wLjEKIApAQCAt
NTQsNyArNTIsNyBAQCBBY2Nlc3NGaWxlTmFtZSAuaHRhY2Nlc3MKIFVzZUNhbm9uaWNhbE5hbWUg
T24KIEhvc3RuYW1lTG9va3VwcyBPZmYKIAotVHlwZXNDb25maWcgL2V0Yy9taW1lLnR5cGVzCitU
eXBlc0NvbmZpZyAvdXNyL2NvbmYvbWltZS50eXBlcwogCiBMb2dMZXZlbCB3YXJuCiBMb2dGb3Jt
YXQgIiVoICVsICV1ICV0IFwiJXJcIiAlPnMgJWIgXCIle1JlZmVyZXJ9aVwiIFwiJXtVc2VyLUFn
ZW50fWlcIiIgY29tYmluZWQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389341</attachid>
            <date>2020-01-31 05:03:29 -0800</date>
            <delta_ts>2020-02-03 09:57:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205658-20200131140327.patch</filename>
            <type>text/plain</type>
            <size>124837</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTA2YTE1ZDMxN2E4MmU3
OTUxNjhmNDNiZTNiMWFmOTVjNDYxMGQ5Mi4uODBmZDQxZDhiYTAwNmUxODE3ZWNhNzcxZmJlNGU5
ZWI1ZDQ2YmYzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAxLTA0ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVd
IE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0
aW9uTGliSHlwaGVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNjYW5UZXN0RGljdGlvbmFyaWVz
RGlyZWN0b3J5SWZOZWNlc3NhcnkpOiBDaGVjayBmb3IgZmxhdHBhay1pbnN0YWxsZWQgZGljdGlv
bmFyaWVzLgorCiAyMDIwLTAxLTI5ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBCbG9iIG1lZGlhIGxvYWRpbmcgZG9lcyBub3Qgd29yayB3aXRoIEdQVVByb2Nl
c3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhl
bmF0aW9uTGliSHlwaGVuLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVu
L0h5cGhlbmF0aW9uTGliSHlwaGVuLmNwcAppbmRleCAxMmJhYTRjNGQzZTllNjNmN2ZmODFjNWUy
YjExOTRiOGJiOGE5YzA1Li5mMzM1OWQ4MDcwMjJmNTQ4OWM2OGY5YWNmODE2YTY3MDQyYTUzZDYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2h5cGhlbi9IeXBoZW5h
dGlvbkxpYkh5cGhlbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9oeXBo
ZW4vSHlwaGVuYXRpb25MaWJIeXBoZW4uY3BwCkBAIC0xMjEsOCArMTIxLDE1IEBAIHN0YXRpYyB2
b2lkIHNjYW5UZXN0RGljdGlvbmFyaWVzRGlyZWN0b3J5SWZOZWNlc3NhcnkoSGFzaE1hcDxBdG9t
U3RyaW5nLCBWZWN0b3I8CiAgICAgLy8gbGliaHlwaGVuIGRvZXNuJ3QgaGF2ZSB0aGUgY29uY2Vw
dCBvZiBpbnN0YWxsZWQgZGljdGlvbmFyaWVzLiBJbnN0ZWFkLAogICAgIC8vIHdlIGhhdmUgdGhp
cyBzcGVjaWFsIGNhc2UgZm9yIFdlYktpdCB0ZXN0cy4KICNpZiBQTEFURk9STShHVEspCisgICAg
Ly8gVHJ5IGFsdGVybmF0aXZlIGRpY3Rpb25hcmllcyBwYXRoIGZvciBwZW9wbGUgdXNpbmcgRmxh
dHBhay4KKyAgICBHVW5pcXVlUHRyPGNoYXI+IGRpY3Rpb25hcmllc1BhdGgoZ19idWlsZF9maWxl
bmFtZSgiL3VzciIsICJzaGFyZSIsICJ3ZWJraXRndGstdGVzdC1kaWN0cyIsIG51bGxwdHIpKTsK
KyAgICBpZiAoZ19nZXRlbnYoIkZMQVRQQUtfSUQiKSAmJiBnX2ZpbGVfdGVzdChkaWN0aW9uYXJp
ZXNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNUX0lTX0RJUikp
KSB7CisgICAgICAgIHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJpZXMoZGljdGlvbmFyaWVzUGF0
aC5nZXQoKSwgYXZhaWxhYmxlTG9jYWxlcyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAg
ICBDU3RyaW5nIGJ1aWxkRGlyZWN0b3J5ID0gd2Via2l0QnVpbGREaXJlY3RvcnkoKTsKLSAgICBH
VW5pcXVlUHRyPGNoYXI+IGRpY3Rpb25hcmllc1BhdGgoZ19idWlsZF9maWxlbmFtZShidWlsZERp
cmVjdG9yeS5kYXRhKCksICJEZXBlbmRlbmNpZXNHVEsiLCAiUm9vdCIsICJ3ZWJraXRndGstdGVz
dC1kaWN0cyIsIG51bGxwdHIpKTsKKyAgICBkaWN0aW9uYXJpZXNQYXRoLnJlc2V0KGdfYnVpbGRf
ZmlsZW5hbWUoYnVpbGREaXJlY3RvcnkuZGF0YSgpLCAiRGVwZW5kZW5jaWVzR1RLIiwgIlJvb3Qi
LCAid2Via2l0Z3RrLXRlc3QtZGljdHMiLCBudWxscHRyKSk7CiAgICAgaWYgKGdfZmlsZV90ZXN0
KGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RF
U1RfSVNfRElSKSkpIHsKICAgICAgICAgc2NhbkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0
aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFpbGFibGVMb2NhbGVzKTsKICAgICAgICAgcmV0dXJuOwpA
QCAtMTMwLDcgKzEzNyw5IEBAIHN0YXRpYyB2b2lkIHNjYW5UZXN0RGljdGlvbmFyaWVzRGlyZWN0
b3J5SWZOZWNlc3NhcnkoSGFzaE1hcDxBdG9tU3RyaW5nLCBWZWN0b3I8CiAKICAgICAvLyBUcnkg
YWx0ZXJuYXRpdmUgZGljdGlvbmFyaWVzIHBhdGggZm9yIHBlb3BsZSBub3QgdXNpbmcgSkhCdWls
ZC4KICAgICBkaWN0aW9uYXJpZXNQYXRoLnJlc2V0KGdfYnVpbGRfZmlsZW5hbWUoYnVpbGREaXJl
Y3RvcnkuZGF0YSgpLCAid2Via2l0Z3RrLXRlc3QtZGljdHMiLCBudWxscHRyKSk7Ci0gICAgc2Nh
bkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFpbGFi
bGVMb2NhbGVzKTsKKyAgICBpZiAoZ19maWxlX3Rlc3QoZGljdGlvbmFyaWVzUGF0aC5nZXQoKSwg
c3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9JU19ESVIpKSkKKyAgICAgICAgc2Nh
bkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFpbGFi
bGVMb2NhbGVzKTsKKwogI2VsaWYgZGVmaW5lZChURVNUX0hZUEhFTkFUQUlPTl9QQVRIKQogICAg
IHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJpZXMoVEVTVF9IWVBIRU5BVEFJT05fUEFUSCwgYXZh
aWxhYmxlTG9jYWxlcyk7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDgzOGQ4ZWJiMGUwNGZmNzAxZDI3NDU4MDhhN2ViYThkMmRkMDc3
OWQuLmExZWNhZGE2ZjBjMTZmN2RmZjllZjBiMDc2YWJiZjQ0MDFjYmYxODYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMTUgQEAK
KzIwMjAtMDEtMDQgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtHVEtdW1dQRV0gTWlncmF0ZSB0byBGbGF0cGFrLWJhc2VkIGRldiBTREsKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTY1OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEpIQnVpbGQgd2lsbCBu
b3cgYmUgdXNlZCBvbmx5IGlmIHRoZSBXRUJLSVRfSkhCVUlMRCBlbnZpcm9ubWVudAorICAgICAg
ICB2YXJpYWJsZSBpcyBzZXQgdG8gMSwgd2hpY2ggaXMgdGhlIGNhc2UgZm9yIHRoZSB0aW1lIGJl
aW5nIG9uIHRoZQorICAgICAgICBHVEsgYW5kIFdQRSBFV1MvYnVpbGQgYm90cy4KKworICAgICAg
ICBCeSBkZWZhdWx0IHRoZSBidWlsZCBkZXBlbmRlbmNpZXMgYXJlIG5vdyBsb2NhbGx5IGluc3Rh
bGxlZCBmcm9tIGEKKyAgICAgICAgRmxhdHBhayByZXBvc2l0b3J5IGhvc3RlZCBhdCBodHRwczov
L3NvZnR3YXJlLmlnYWxpYS5jb20uIFRoZQorICAgICAgICByZXBvc2l0b3J5IGNhbiBiZSByZWdl
bmVyYXRlZCB3aXRoIHRoZSBzY3JpcHRzIGZyb20gdGhlCisgICAgICAgIHdlYmtpdC1mbGF0cGFr
LXNkayBHaXRodWIgcHJvamVjdAorICAgICAgICAoaHR0cHM6Ly9naXRodWIuY29tL0lnYWxpYS93
ZWJraXQtZmxhdHBhay1zZGspLiBUaGlzIGlzIGRvbmUKKyAgICAgICAgdHJhbnNwYXJlbnRseSB3
aXRoIHRoZSB1cGRhdGUtd2Via2l0e2d0ayx3cGV9LWxpYnMgc2NyaXB0cy4gQXMKKyAgICAgICAg
dGhlcmUgaXMgbm8gbmVlZCB0byByZWJ1aWxkIHRoZSBkZXBlbmRlbmNpZXMgZnJvbSBzY3JhdGNo
LCB0aGUKKyAgICAgICAgZGV2ZWxvcGVyIHVzZXItZXhwZXJpZW5jZSBzaG91bGQgbm93IGJlIG11
Y2ggbW9yZSBmcmllbmRseSBhbmQKKyAgICAgICAgb3ZlcmFsbCBidWlsZCB0aW1lcyByZWR1Y2Vk
LgorCisgICAgICAgIEFzIGFuIGFkZGl0aW9uYWwgY29tbW9kaXR5LCB0aGUgbmV3IGVudmlyb25t
ZW50IHN1cHBvcnRzIHRoZQorICAgICAgICBHU3RyZWFtZXIgZ3N0LWJ1aWxkLWJhc2VkIHdvcmtm
bG93LiBKdXN0IHNldCB0aGUgR1NUX0JVSUxEX1BBVEgKKyAgICAgICAgZW52aXJvbm1lbnQgdmFy
aWFibGUgdG8geW91ciBnc3QtYnVpbGQgcGF0aC4gVGhpcyBmZWF0dXJlIHdhcworICAgICAgICBj
b250cmlidXRlZCBieSBUaGliYXVsdCBTYXVuaWVyLgorCisgICAgICAgIFRoZSBKSEJ1aWxkIGlu
ZnJhc3RydWN0dXJlIHdpbGwgYmUgcmVtb3ZlZCBvbmNlIGFsbCB0aGUgYm90cyBoYXZlCisgICAg
ICAgIGJlZW4gc3dpdGNoZWQgb3ZlciB0byBGbGF0cGFrLgorCisgICAgICAgICogQnVpbGRTbGF2
ZVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5OgorICAgICAgICAoSW5zdGFsbEd0a0RlcGVuZGVu
Y2llcyk6CisgICAgICAgIChJbnN0YWxsV3BlRGVwZW5kZW5jaWVzKToKKyAgICAgICAgKENvbXBp
bGVXZWJLaXQuc3RhcnQpOgorICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWlsZGJv
dC9ydW46CisgICAgICAgICogU2NyaXB0cy9idWlsZC13ZWJraXQ6CisgICAgICAgICogU2NyaXB0
cy9ydW4tYmluZGluZ3MtdGVzdHM6CisgICAgICAgICogU2NyaXB0cy9ydW4tYnVpbHRpbnMtZ2Vu
ZXJhdG9yLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVuLWd0ay10ZXN0czoKKyAgICAgICAg
KiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3J1
bi1taW5pYnJvd3NlcjoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXI6
CisgICAgICAgICogU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzOgorICAgICAgICAqIFNjcmlw
dHMvcnVuLXdwZS10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3Rlc3Qtd2Via2l0cGVybDoKKyAg
ICAgICAgKiBTY3JpcHRzL3Rlc3Qtd2Via2l0cHk6CisgICAgICAgICogU2NyaXB0cy90ZXN0MjYy
LXJ1bm5lcjoKKyAgICAgICAgKiBTY3JpcHRzL3VwZGF0ZS13ZWJraXQtZmxhdHBhazogUmVuYW1l
ZCBmcm9tIFRvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrLgorICAgICAgICAq
IFNjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1saWJzOgorICAgICAgICAqIFNjcmlwdHMvdXBkYXRl
LXdlYmtpdHdwZS1mbGF0cGFrOiBSZW1vdmVkLgorICAgICAgICAqIFNjcmlwdHMvdXBkYXRlLXdl
YmtpdHdwZS1saWJzOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0ZGlycy5wbToKKyAgICAgICAg
KGdldFVzZXJGbGF0cGFrUGF0aCk6CisgICAgICAgIChpbkZsYXRwYWtTYW5kYm94KToKKyAgICAg
ICAgKHJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKToKKyAgICAgICAgKHdyYXBwZXJQcmVmaXhJZk5l
ZWRlZCk6CisgICAgICAgIChzaG91bGRVc2VKaGJ1aWxkKToKKyAgICAgICAgKHNob3VsZFVzZUZs
YXRwYWspOgorICAgICAgICAoc2hvdWxkUmVtb3ZlQ01ha2VDYWNoZSk6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZS5weToKKyAgICAgICAgKEV4ZWN1
dGl2ZS5raWxsX2FsbCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHk6
CisgICAgICAgIChQb3J0Ll9wYXRoX3RvX2FwYWNoZSk6CisgICAgICAgIChQb3J0Ll9zaG91bGRf
cnVuX2FzX3BpeGVsX3Rlc3QpOgorICAgICAgICAoUG9ydC5faW5fZmxhdHBha19zYW5kYm94KToK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5OgorICAgICAgICAoR3RrUG9y
dC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIpOgorICAgICAgICAoR3RrUG9ydC5fZ2V0X2NyYXNo
X2xvZyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9s
b2cucHk6CisgICAgICAgIChHREJDcmFzaExvZ0dlbmVyYXRvcik6CisgICAgICAgIChHREJDcmFz
aExvZ0dlbmVyYXRvci5fX2luaXRfXyk6CisgICAgICAgIChHREJDcmFzaExvZ0dlbmVyYXRvci5n
ZW5lcmF0ZV9jcmFzaF9sb2cpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51
eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5OgorICAgICAgICAoR0RCQ3Jhc2hMb2dHZW5lcmF0
b3JUZXN0LnRlc3RfZ2VuZXJhdGVfY3Jhc2hfbG9nKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3BvcnQvd3BlLnB5OgorICAgICAgICAoV1BFUG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2
ZXIpOgorICAgICAgICAoV1BFUG9ydC5fZ2V0X2NyYXNoX2xvZyk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXIucHk6CisgICAgICAgIChYdmZiRHJpdmVyLl9zZXR1
cF9lbnZpcm9uX2Zvcl90ZXN0KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcDoKKyAgICAgICAgKFdUUjo6Z2V0Rm9udHNQ
YXRoKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dwZS9BY3Rp
dmF0ZUZvbnRzV1BFLmNwcDoKKyAgICAgICAgKFdUUjo6Z2V0Rm9udHNQYXRoKToKKyAgICAgICAg
KiBmbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsv
ZmlsZXMvaHR0cGQtYXV0b2dlbi5zaDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL2ZsYXRw
YWt1dGlscy5weToKKyAgICAgICAgKGNoZWNrX2ZsYXRwYWspOgorICAgICAgICAoRmxhdHBha1Jl
cG9zLnVwZGF0ZSk6CisgICAgICAgIChGbGF0cGFrUGFja2FnZS5fX3JlcHJfXyk6CisgICAgICAg
IChGbGF0cGFrUGFja2FnZS5fX3N0cl9fKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsubG9hZF9m
cm9tX2FyZ3MpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5fX2luaXRfXyk6CisgICAgICAgIChX
ZWJraXRGbGF0cGFrLmNsZWFuX2FyZ3MpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5zZXR1cF9i
dWlsZGRpcik6CisgICAgICAgIChXZWJraXRGbGF0cGFrKToKKyAgICAgICAgKFdlYmtpdEZsYXRw
YWsuc2V0dXBfZ3N0YnVpbGQpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5ydW5faW5fc2FuZGJv
eCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnJ1bik6CisgICAgICAgIChXZWJraXRGbGF0cGFr
Lmhhc19lbnZpcm9ubWVudCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnNhdmVfY29uZmlnKToK
KyAgICAgICAgKFdlYmtpdEZsYXRwYWsuc2V0dXBfZGV2X2Vudik6CisgICAgICAgIChXZWJraXRG
bGF0cGFrLmluc3RhbGxfYWxsKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsucnVuX2dkYik6Cisg
ICAgICAgICogZmxhdHBhay9vcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmbGF0cGFrL29yZy53ZWJraXQuR1RLLnlhbWw6IFJlbW92ZWQuCisgICAgICAg
ICogZmxhdHBhay9vcmcud2Via2l0LldQRS55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRw
YWsvb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBh
ay9vcmcud2Via2l0LldQRVFULnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9vcmcu
d2Via2l0LldlYktpdC55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsvcGF0Y2hlcy9o
dHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1kZXRlY3Rpb24ucGF0
Y2g6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVz
ZS1wa2ctY29uZmlnLXRvLWRldGVjdC1ncGctZXJyb3IucGF0Y2g6IFJlbW92ZWQuCisgICAgICAg
ICogZmxhdHBhay9wYXRjaGVzL3h2ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1m
aWxlLnBhdGNoOiBSZW1vdmVkLgorCiAyMDIwLTAxLTI4ICBUaW0gSG9ydG9uICA8dGltb3RoeV9o
b3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIG1hY0NhdGFseXN0OiBSaWdodCBjbGlja2luZyBv
biBhIGxpbmsgZm9sbG93cyBpdCBpbW1lZGlhdGVseQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRT
bGF2ZVN1cHBvcnQvZ3RrL1JFQURNRSBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9SRUFE
TUUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5Zjg5Zjk4MjFhZWVhMjBlZGI3Y2Vk
YmNhYmZiNzdmMzgwYmQyYzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL1JFQURNRQorKysgL2Rldi9udWxs
CkBAIC0xLDQ4ICswLDAgQEAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLSBSdW5uaW5nIGEgR1RLKyBidWlsZCBzbGF2ZSB1bmRlciBkYWVtb250b29scwot
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi1UaGlzIGRp
cmVjdG9yeSBjb250YWlucyBzZXZlcmFsIHNjcmlwdHMgd2hpY2ggY2FuIGJlIHVzZWQgdG8gcnVu
IGEgV2ViS2l0R1RLCi1idWlsZCBzbGF2ZSB1bmRlciBkYWVtb250b29scyBbMV0uIFRoaXMgaXMg
Y29udmVuaWVudCBiZWNhdXNlIGRhZW1vbnRvb2xzCi13aWxsIGF1dG9tYXRpY2FsbHkgcmVzdGFy
dCBzZXJ2aWNlcyB3aGVuIHRoZXkgZGllLCBhbmQgdGhhdCBtZWFucyBsZXNzIGh1bWFuCi1pbnRl
cnZlbnRpb24gaXMgbmVlZGVkLgotCi0KLURlcGVuZGVuY2llcwotPT09PT09PT09PT09Ci0KLUlu
IG9yZGVyIHRvIHVzZSB0aGUgcHJvdmlkZWQgc2VydmljZSBjb250cm9sIGZpbGVzLCB5b3Ugd2ls
bCBuZWVkIHRoZQotZm9sbG93aW5nOgotCi0qIFRoZSBHTlUgQmFzaCBzaGVsbCAodGhlIHNjcmlw
dHMgY29udGFpbiBzb21lIGJhc2gtaXNtcykKLQotKiBUaGUgZGFlbW9udG9vbHMgcGFja2FnZSAo
b3Igb25lIG9mIGl0cyBkcm9wLWluIHJlcGxhY2VtZW50cywgbGlrZSBydW5pdAotICBvciBmcmVl
ZHQ7IGJ1dCBvbmx5IGRhZW1vbnRvb2xzIGhhcyBiZWVuIHRlc3RlZCBzbyBmYXIpLgotCi1JbiBz
aG9ydCwgaW4gYSBEZWJpYW4tYmFzZWQgc3lzdGVtIHlvdSBjYW4gZW5zdXJlIHlvdSBoYXZlIHRo
ZSBuZWVkZWQgYml0cwotd2l0aCB0aGUgZm9sbG93aW5nIGNvbW1hbmQ6Ci0KLSAgYXB0LWdldCBp
bnN0YWxsIGRhZW1vbnRvb2xzLXJ1bgotCi0KLVNldHVwCi09PT09PQotCi0xLiBGb2xsb3cgdGhl
IGluc3RydWN0aW9ucyBhdCBodHRwOi8vdHJhYy53ZWJraXQub3JnL3dpa2kvQnVpbGRCb3QKLQot
Mi4gSW5zdGFsbCB0aGUgZGVwZW5kZW5jaWVzIG91dGxpbmVkIGFib3ZlLgotCi0zLiBDb3B5ICJk
YWVtb250b29scy1idWlsZGJvdC5jb25mIiB0byAiL2V0Yy9kYWVtb250b29scy1idWlsZGJvdC5j
b25mIgotCi00LiBFZGl0IHRoZSBjb25maWd1cmF0aW9uIGZpbGUgdG8gc3VpdCB5b3VyIG5lZWRz
LCB0aGUgY29tbWVudHMgc2hvdWxkCi0gICBiZSBzZWxmLWV4cGxhbmF0b3J5LgotCi01LiBEcm9w
IHRoZSAiYnVpbGRib3QiIGFuZCAicHVsc2VhdWRpbyIgZGlyZWN0b3JpZXMgdG8gdGhlIHNlcnZp
Y2UgY29udHJvbCBkaXJlY3Rvcnkgb2YKLSAgIGRhZW1vbnRvb2xzOyBmb3IgRGViaWFuLWJhc2Vk
IHNldHVwcyB0aGF0IHdvdWxkIGJlICIvZXRjL3NlcnZpY2UiCi0KLQotUmVmZXJlbmNlcwotPT09
PT09PT09PQotCi1bMV0gaHR0cDovL2NyLnlwLnRvL2RhZW1vbnRvb2xzLmh0bWwKLQpkaWZmIC0t
Z2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L2xvZy9ydW4gYi9Ub29s
cy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvbG9nL3J1bgpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA3NTUKaW5kZXggZjZjNzQ0YzZkZGE0NWNiZTJiNWQwZmE4YzRmMjViYWI1MWY2YTRkZC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvbG9nL3J1bgorKysgL2Rldi9udWxsCkBAIC0xLDM4
ICswLDAgQEAKLSMhIC91c3IvYmluL2VudiBiYXNoCi0jCi0jIENvcHlyaWdodCAoQykgMjAxMCBJ
Z2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0jIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgot
IyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bwotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KLQotOiAke0JVSUxEQk9UX0NPTkZJRzo9L2V0Yy9kYWVtb250b29scy1idWlsZGJv
dC5jb25mfQotCi0jIFJlYWQgY29uZmlndXJhdGlvbiBmaWxlCi1bIC1yICIke0JVSUxEQk9UX0NP
TkZJR30iIF0gJiYgLiAiJHtCVUlMREJPVF9DT05GSUd9IgotCi06ICR7YnVpbGRib3RfdXNlcjo9
JHtIT01FfX0KLTogJHtidWlsZGJvdF9sb2dfcGF0aDo9L3Zhci9sb2cvYnVpbGRib3R9Ci0KLSMg
RXhwYW5kIGFsbCAiZW52XyoiIGVudmlyb25tZW50IHZhcmlhYmxlcwotZm9yIHZhcm5hbWUgaW4g
JHshZW52Xyp9IDsgZG8KLQlldmFsICJleHBvcnQgJHt2YXJuYW1lI2Vudl99PVwkeyR7dmFybmFt
ZX19IgotZG9uZQotCi1ta2RpciAtcCAiJHtidWlsZGJvdF9sb2dfcGF0aH0iCi1jaG93biAiJHti
dWlsZGJvdF91c2VyfSIgIiR7YnVpbGRib3RfbG9nX3BhdGh9IgotCi1leGVjIC91c3IvYmluL3Nl
dHVpZGdpZCAiJHtidWlsZGJvdF91c2VyfSIgXAotICAgICAvdXNyL2Jpbi9tdWx0aWxvZyB0ICIk
e2J1aWxkYm90X2xvZ19wYXRofSIKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBv
cnQvZ3RrL2J1aWxkYm90L3J1biBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWlsZGJv
dC9ydW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDE2NmMzODNlYThlNmMxMGZjYzA1
ZWYwN2VkNGY0ODg5YmJiYjllYWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L3J1bgorKysg
L2Rldi9udWxsCkBAIC0xLDc3ICswLDAgQEAKLSMhIC91c3IvYmluL2VudiBiYXNoCi0jCi0jIENv
cHlyaWdodCAoQykgMjAxMCBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCi0jIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgotIyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotIyBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
LSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotIyB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIyBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLQotZXhlYyAyPiYxCi0KLTogJHtCVUlMREJPVF9D
T05GSUc6PS9ldGMvZGFlbW9udG9vbHMtYnVpbGRib3QuY29uZn0KLQotIyBSZWFkIGNvbmZpZ3Vy
YXRpb24gZmlsZQotWyAtciAiJHtCVUlMREJPVF9DT05GSUd9IiBdICYmIC4gIiR7QlVJTERCT1Rf
Q09ORklHfSIKLQotIyBFeHBhbmQgYWxsICJlbnZfKiIgZW52aXJvbm1lbnQgdmFyaWFibGVzCi1m
b3IgdmFybmFtZSBpbiAkeyFlbnZfKn0gOyBkbwotCWV2YWwgImV4cG9ydCAke3Zhcm5hbWUjZW52
X309XCR7JHt2YXJuYW1lfX0iCi1kb25lCi0KLQotaWYgISBbICIke2J1aWxkYm90X3BhdGh9IiBd
IDsgdGhlbgotCWVjaG8gIk5vIFwke2J1aWxkYm90X3BhdGh9IGRlZmluZWQhICh3aWxsIHNsZWVw
IGZvciA1IG1pbnV0ZXMpIgotCXNsZWVwIDMwMAotCWV4aXQgMTExCi1maQotCi0KLWlmICEgWyAi
JHtXRUJLSVRfVEVTVEZPTlRTfSIgXSA7IHRoZW4KLQllY2hvICJObyBcJHtXRUJLSVRfVEVTVEZP
TlRTfSBlbnZpcm9ubWVudCB2YXJpYWJsZSEgKHdpbGwgc2xlZXAgZm9yIDUgbWludXRlcykiCi0J
c2xlZXAgMzAwCi0JZXhpdCAxMTEKLWZpCi0KLQotaWYgWyAiJHtjb3JlZHVtcF9vdXRwdXQ6PScn
fSIgXSA7IHRoZW4KLQkjIEVuc3VyZSB0aGF0IHRoZSBvdXRwdXQgZGlyZWN0b3J5IGV4aXN0cy4K
LQlpZiBbWyAhIC1kICR7Y3Jhc2htb25fb3V0cHV0fSBdXSA7IHRoZW4KLQkJbWtkaXIgLXAgIiR7
Y3Jhc2htb25fb3V0cHV0fSIKLQlmaQotCi0JdWxpbWl0IC1jICIke2NyYXNobW9uX21heF9zaXpl
Oj11bmxpbWl0ZWR9IgotZmkKLQotCi1pZiBbICIke2NjYWNoZV9wYXRofSIgXSA7IHRoZW4KLQll
eHBvcnQgUEFUSD0iJHtjY2FjaGVfcGF0aH06JHtQQVRIfSIKLWZpCi0KLTogJHtidWlsZGJvdF91
c2VyOj0ke1VTRVJ9fQotCi1jZCAiJHtidWlsZGJvdF9wYXRofSIKLWV4ZWMgL3Vzci9iaW4vZW52
IC0gICAgICAgICAgXAotCQlURVJNPWR1bWIgICAgICAgICAgICAgICAgIFwKLQkJVFo9UFNUOFBE
VCAgICAgICAgICAgICAgICAgXAotCQlQQVRIPSIke1BBVEh9IiAgICAgICAgICAgICAgXAotCQlT
SEVMTD0vYmluL2Jhc2ggICAgICAgICAgICAgIFwKLQkJTEFORz1lbl9VUy5VVEYtOCAgICAgICAg
ICAgICAgXAotCQlVU0VSPSIke2J1aWxkYm90X3VzZXJ9IiAgICAgICAgXAotCQlMT0dOQU1FPSIk
e2J1aWxkYm90X3VzZXJ9IiAgICAgIFwKLQkJSE9NRT0iL2hvbWUvJHtidWlsZGJvdF91c2VyfSIg
ICAgXAotCQlESVNQTEFZPSIke3h2ZmJfZGlzcGxheTotJzoxMCd9IiAgXAotCQlNQUlMPSIvdmFy
L21haWwvJHtidWlsZGJvdF91c2VyfSIgIFwKLQkvdXNyL2Jpbi9zZXR1aWRnaWQgIiR7YnVpbGRi
b3RfdXNlcn0iIFwKLQkvdXNyL2Jpbi90d2lzdGQgLW5veSBidWlsZGJvdC50YWMKLQpkaWZmIC0t
Z2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNv
bmYgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvZGFlbW9udG9vbHMtYnVpbGRib3QuY29u
ZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDZhZjI5ZjdiMDYyNjgyMTZjZTRhMWYx
YWFlZThkNDYyMGQyNGRmZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvZGFlbW9udG9vbHMtYnVpbGRib3Qu
Y29uZgorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDEw
IElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
Ci0jIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCi0jIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgotCi0KLSMgUGF0aCB0byB0aGUgQnVpbGRib3Qgc2xhdmUgZGlyZWN0b3J5Ci0j
Ci1idWlsZGJvdF9wYXRoPSIvaG9tZS9zbGF2ZS93ZWJraXRndGsiCi0KLSMgVXNlciBhY2NvdW50
IHVzZWQgdG8gcnVuIEJ1aWxkYm90LgotIwotYnVpbGRib3RfdXNlcj0ic2xhdmUiCi0KLSMgUGF0
aCB0byBhIGRpcmVjdG9yeSB3aGVyZSB0byBsb2cgQnVpbGRib3Qgb3V0cHV0Ci0jCi1idWlsZGJv
dF9sb2dfcGF0aD0iL3Zhci9sb2cvYnVpbGRib3QiCi0KLQotIyBJZiB5b3Ugd2FudCB0byB1c2Ug
Y2NhY2hlLCBzZXQgYSBwYXRoIHRvIHdoZXJlIHN5bmxpbmtzIHdpdGggdG9vbAotIyBuYW1lcyBw
b2ludGluZyB0byBjY2FjaGUgYXJlIGluc3RhbGxlZC4gSW4gRGViaWFuIHN5c3RlbXMgdGhpcwot
IyB3b3VsZCBiZSAvdXNyL2xpYi9jY2FjaGUuIFNldCB0byBlbXB0eSB0byBkaXNhYmxlLgotIwot
Y2NhY2hlX3BhdGg9Ii91c3IvbGliL2NjYWNoZSIKLQotCi0jIEVudmlyb25tZW50IHZhcmlhYmxl
cy4gUHJlZml4IHRoZW0gd2l0aCAiZW52XyIuCi0jCi1lbnZfQ0ZMQUdTPSItcGlwZSIKLWVudl9D
WFhGTEFHUz0iLXBpcGUiCi1lbnZfTERGTEFHUz0iLW5vLWluc3RhbGwgLW5vLWZhc3QtaW5zdGFs
bCIKLWVudl9XRUJLSVRfVEVTVEZPTlRTPSIvaG9tZS8ke2J1aWxkYm90X3VzZXJ9L3Rlc3Rmb250
cyIKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL3B1bHNlYXVkaW8v
cnVuIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL3B1bHNlYXVkaW8vcnVuCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDc1NQppbmRleCA3YzExN2FkOWQyMDczOThkODZmMDI3MzhlNTkzMTg5NTkx
N2Q1Njc4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rv
b2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9wdWxzZWF1ZGlvL3J1bgorKysgL2Rldi9udWxsCkBA
IC0xLDI0ICswLDAgQEAKLSMhIC91c3IvYmluL2VudiBiYXNoCi0jCi0jIENvcHlyaWdodCAoQykg
MjAxMCBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0j
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgotIyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KLQotZXhlYyAyPiYxCi1leGVjIC91c3IvYmluL3B1bHNlYXVkaW8gLS1z
eXN0ZW0gXAotCS0tZGlzYWxsb3ctZXhpdCAtLWRpc2FsbG93LW1vZHVsZS1sb2FkaW5nIFwKLQkt
LWxvZy10YXJnZXQ9c3lzbG9nCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Vi
a2l0IGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKaW5kZXggZmMwNjY0YTY1MDU1NDZmNDI4
Yzc1MTRiOTY3NTExOWI3NWE2MjE0MC4uMDk5ZDMzYTRiOWI5Y2RmNDMyY2QxMDI2ZWE2YWFlMGNi
OTI1N2E3NyAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKKysrIGIvVG9v
bHMvU2NyaXB0cy9idWlsZC13ZWJraXQKQEAgLTUzLDggKzUzLDggQEAgc2V0Q29uZmlndXJhdGlv
bigpOwogCiBpZiAoc2hvdWxkVXNlRmxhdHBhaygpKSB7CiAgICAgcHJpbnQgIkJ1aWxkaW5nIGZs
YXRwYWsgYmFzZWQgZW52aXJvbm1lbnRcbiI7Ci0KLSAgICBydW5JbkZsYXRwYWsoIi9hcHAvd2Vi
a2l0L1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0Iik7CisgICAgbXkgQGNvbW1hbmQgPSAoRmls
ZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgIlNjcmlwdHMiLCAiYnVpbGQt
d2Via2l0IikpOworICAgIHJ1bkluRmxhdHBhayhAY29tbWFuZCk7CiB9CiAKIG15ICRvcmlnaW5h
bFdvcmtpbmdEaXJlY3RvcnkgPSBnZXRjd2QoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
cnVuLWJpbmRpbmdzLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMKaW5k
ZXggZjZlNDQ3NzI1MGY5ZTE5ZTM5NThlZmNiN2Q2ZTgxZTJhYzI4YzlhYi4uMGFjMGIzYTMxMDg4
YTEyMmUwOTk4ZWE0OTU2NWJmMjM4NzczOGE1MCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9y
dW4tYmluZGluZ3MtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMK
QEAgLTMzLDYgKzMzLDExIEBAIGltcG9ydCBvcwogaW1wb3J0IHN5cwogZnJvbSB3ZWJraXRweS5j
b21tb24uc3lzdGVtIGltcG9ydCBleGVjdXRpdmUKIAordG9wX2xldmVsX2RpcmVjdG9yeSA9IG9z
LnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICcu
LicsICcuLicpKQorc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxfZGly
ZWN0b3J5LCAnVG9vbHMnLCAnZmxhdHBhaycpKQoraW1wb3J0IGZsYXRwYWt1dGlscworZmxhdHBh
a3V0aWxzLnJ1bl9pbl9zYW5kYm94X2lmX2F2YWlsYWJsZShzeXMuYXJndikKKwogZGVmIG1haW4o
YXJndik6CiAgICAgIiIiUnVucyBXZWJDb3JlIGJpbmRpbmdzIGNvZGUgZ2VuZXJhdG9ycyBvbiB0
ZXN0IElETCBmaWxlcyBhbmQgY29tcGFyZXMKICAgICB0aGUgcmVzdWx0cyB3aXRoIHJlZmVyZW5j
ZSBmaWxlcy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRv
ci10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRvci10ZXN0cwppbmRl
eCAyMzk4Yzc4Y2ExMGVjNTk3NjI2NjEyYzg1NTUzYWJkMWE0ZTZmYmQ0Li5mYmIwODY0MjQxOTc0
ZWE2MDM1ZGE4OGIzNjc5YmM0M2MwMmM3ZTlkIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1
bi1idWlsdGlucy1nZW5lcmF0b3ItdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tYnVpbHRp
bnMtZ2VuZXJhdG9yLXRlc3RzCkBAIC0yNSw2ICsyNSwxMiBAQAogaW1wb3J0IHN5cwogZnJvbSB3
ZWJraXRweS5jb21tb24uc3lzdGVtIGltcG9ydCBleGVjdXRpdmUKIAoraW1wb3J0IG9zCit0b3Bf
bGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5k
aXJuYW1lKF9fZmlsZV9fKSwgJy4uJywgJy4uJykpCitzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0
aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICdUb29scycsICdmbGF0cGFrJykpCitpbXBvcnQg
ZmxhdHBha3V0aWxzCitmbGF0cGFrdXRpbHMucnVuX2luX3NhbmRib3hfaWZfYXZhaWxhYmxlKHN5
cy5hcmd2KQorCiBkZWYgbWFpbihhcmd2KToKICAgICAiIiJSdW5zIHRoZSBKUyBidWlsdGlucyBj
b2RlIGdlbmVyYXRvciBvbiB0ZXN0IGlucHV0IGZpbGVzIGFuZCBjb21wYXJlcwogICAgIHRoZSBy
ZXN1bHRzIHdpdGggcmVmZXJlbmNlIGZpbGVzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9y
dW4tZ3RrLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzCmluZGV4IDQxYjA1ZTJk
ZjRiMWU2ZDhmZTM4ZWEzYzU0OWI1MzM1ODRhNDI5N2UuLmQzOTc0OGY0YzNkOGZkZmNlZmYxYTIy
OTlhZGE0MmM4N2U2NWFhZTUgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWd0ay10ZXN0
cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMKQEAgLTEzMyw3ICsxMzMsNyBAQCBp
ZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIGlmIG5vdCBmbGF0cGFrdXRpbHMuaXNfc2Fu
ZGJveGVkKCkgYW5kIG5vdCBqaGJ1aWxkdXRpbHMuZW50ZXJfamhidWlsZF9lbnZpcm9ubWVudF9p
Zl9hdmFpbGFibGUoImd0ayIpOgogICAgICAgICBwcmludCAnKioqJwogICAgICAgICBwcmludCAn
KioqIFdhcm5pbmc6IGpoYnVpbGQgZW52aXJvbm1lbnQgbm90IHByZXNlbnQgYW5kIG5vdCBydW5u
aW5nIGluIGZsYXRwYWsuJwotICAgICAgICBwcmludCAnKioqIFJ1biB1cGRhdGUtd2Via2l0Z3Rr
LWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIGJlZm9yZSBidWlsZC13ZWJraXQgdG8g
ZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCisgICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13
ZWJraXRndGstbGlicyBvciB1cGRhdGUtd2Via2l0LWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtp
dCB0byBlbnN1cmUgcHJvcGVyIHRlc3RpbmcuLicKICAgICAgICAgcHJpbnQgJyoqKicKIAogICAg
IG9wdGlvbl9wYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIodXNhZ2U9J3VzYWdlOiAlcHJv
ZyBbb3B0aW9uc10gW3Rlc3QuLi5dJykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWph
dmFzY3JpcHRjb3JlLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVz
dHMKaW5kZXggODhkNGY1YmYxZjZmZDk5MDcyYTQ4YWM3NDg0OThhNmM0MGMxZjNlOS4uOTkzNzE3
YTc0NGQ2ZDIxY2MyM2YxNDBkNmQ1NzhiZWUwYTZkOTAwNiAxMDA3NTUKLS0tIGEvVG9vbHMvU2Ny
aXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2
YXNjcmlwdGNvcmUtdGVzdHMKQEAgLTQ2LDYgKzQ2LDEyIEBAIHVzZSBUZXh0OjpQYXJzZVdvcmRz
Owogc2V0Q29uZmlndXJhdGlvbigpOwogbXkgJGNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9u
KCk7CiAKK2lmIChzaG91bGRVc2VGbGF0cGFrKCkpIHsKKyAgICBteSBAY29tbWFuZCA9IChGaWxl
OjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tamF2
YXNjcmlwdGNvcmUtdGVzdHMiKSk7CisgICAgcnVuSW5GbGF0cGFrKEBjb21tYW5kKTsKK30KKwor
CiAjIFRoZXNlIHZhcmlhYmxlcyBhcmUgaW50ZW50aW9uYWxseSBsZWZ0IHVuZGVmaW5lZC4KIG15
ICRyb290OwogbXkgJHNob3dIZWxwOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tbWlu
aWJyb3dzZXIgYi9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlcgppbmRleCA0Y2Y2YmU0MDQ3
YmZkNzZkNjgxMDlhYjI5YWE2OGE5MGRjMDg2NmUxLi45MGNkM2ZhZjQzMWFlYjkyOGRmZDZkZGZk
NmVkNmQyM2QyZjIxY2NjIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3Nl
cgorKysgYi9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlcgpAQCAtNDUsNyArNDUsOCBAQCBw
cm9oaWJpdFVua25vd25Qb3J0KCk7CiBzZXRDb25maWd1cmF0aW9uKCk7CiAKIGlmIChpc0d0aygp
IHx8IGlzV1BFKCkpIHsKLSAgICBydW5JbkZsYXRwYWtJZkF2YWlsYWJsZSgiL2FwcC93ZWJraXQv
VG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXIiKTsKKyAgICBteSBAY29tbWFuZCA9IChGaWxl
OjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tbWlu
aWJyb3dzZXIiKSk7CisgICAgcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQGNvbW1hbmQpOwogCiAg
ICAgIyBDaGVjayB0byBzZWUgdGhhdCBhbGwgdGhlIGZyYW1ld29ya3MgYXJlIGJ1aWx0LgogICAg
IGNoZWNrRnJhbWV3b3JrcygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tcXQtd3Bl
LW1pbmlicm93c2VyIGIvVG9vbHMvU2NyaXB0cy9ydW4tcXQtd3BlLW1pbmlicm93c2VyCmluZGV4
IGFlYWNiNDgzYzJmZDEwYWFhNWZkZDAwZGM2ZDRjMGM5ZjYxNzMyNDUuLmQ0MjFjZTYyNDgxNmUx
MmQyZDdkZjM4ZGE5MDlhZDA1YTZjOTVmYTAgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVu
LXF0LXdwZS1taW5pYnJvd3NlcgorKysgYi9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJy
b3dzZXIKQEAgLTM4LDkgKzM4LDEzIEBAIG15IEBqaGJ1aWxkV3JhcHBlcjsKIG15ICRjb25maWd1
cmF0aW9uID0gcGFzc2VkQ29uZmlndXJhdGlvbigpOwogbXkgJHByb2R1Y3REaXIgPSBwcm9kdWN0
RGlyKCk7CiAKLSRsaWJQYXRoID0gIi9hcHAvd2Via2l0L1dlYktpdEJ1aWxkLyRjb25maWd1cmF0
aW9uL2xpYi9xbWwiIGlmICRjb25maWd1cmF0aW9uOwotJEVOVnsiUU1MMl9JTVBPUlRfUEFUSCJ9
ID0gIiRsaWJQYXRoIiBpZiAkbGliUGF0aDsKLXJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKCIvYXBw
L3dlYmtpdC9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXIiKTsKK2lmICgkY29u
ZmlndXJhdGlvbikgeworICAgICRsaWJQYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VE
aXIoKSwgIldlYktpdEJ1aWxkIiwgIiRjb25maWd1cmF0aW9uIiwgImxpYiIsICJxbWwiKTsKKyAg
ICAkRU5WeyJRTUwyX0lNUE9SVF9QQVRIIn0gPSAiJGxpYlBhdGgiOworfQorCitteSBAY29tbWFu
ZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIs
ICJydW4tcXQtd3BlLW1pbmlicm93c2VyIikpOworcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQGNv
bW1hbmQpOwogCiAjIENoZWNrIHRvIHNlZSB0aGF0IGFsbCB0aGUgZnJhbWV3b3JrcyBhcmUgYnVp
bHQuCiBjaGVja0ZyYW1ld29ya3MoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLXdl
YmRyaXZlci10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0cwppbmRleCBh
Y2MzNWY3MjQ4M2YyODMyZjA5YzhlZmIxODk1ZDE4MWQ0ZDY3OTI5Li5jMzAwNGQ0NTMyM2M1MTQy
NjY1ZDM3MDMzN2U4ZTU5MDQyM2E5ZDQwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi13
ZWJkcml2ZXItdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzCkBA
IC03OCw3ICs3OCw3IEBAIGlmIHBvcnQubmFtZSgpIGluIFsnZ3RrJywgJ3dwZSddOgogICAgICAg
ICBpZiBub3QgamhidWlsZHV0aWxzLmVudGVyX2poYnVpbGRfZW52aXJvbm1lbnRfaWZfYXZhaWxh
YmxlKHBvcnQubmFtZSgpKToKICAgICAgICAgICAgIHByaW50ICcqKionCiAgICAgICAgICAgICBw
cmludCAnKioqIFdhcm5pbmc6IGpoYnVpbGQgZW52aXJvbm1lbnQgbm90IHByZXNlbnQgYW5kIG5v
dCBydW5uaW5nIGluIGZsYXRwYWsuJwotICAgICAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRl
LXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXRndGstZmxhdHBhayBiZWZvcmUgYnVpbGQt
d2Via2l0IHRvIGVuc3VyZSBwcm9wZXIgdGVzdGluZy4uJworICAgICAgICAgICAgcHJpbnQgJyoq
KiBSdW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBhayBiZWZv
cmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9wZXIgdGVzdGluZy4uJwogICAgICAgICAgICAg
cHJpbnQgJyoqKicKIAogcG9ydC5fZGlzcGxheV9zZXJ2ZXIgPSBvcHRpb25zLmRpc3BsYXlfc2Vy
dmVyCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi13cGUtdGVzdHMgYi9Ub29scy9TY3Jp
cHRzL3J1bi13cGUtdGVzdHMKaW5kZXggOGY3NzQ5ZWI2YWQ2ZDFmMTk5MTNhMTc2OTlkY2I3Njc3
ZjQ4NjJkMS4uZjM0YzE5NzA2NDc3NjIyNjI0NTJlNmFlODNmYTI4NWYyOGU1ZDE4MCAxMDA3NTUK
LS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4td3BlLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVu
LXdwZS10ZXN0cwpAQCAtNTEsNyArNTEsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgog
ICAgIGlmIG5vdCBmbGF0cGFrdXRpbHMuaXNfc2FuZGJveGVkKCkgYW5kIG5vdCBqaGJ1aWxkdXRp
bHMuZW50ZXJfamhidWlsZF9lbnZpcm9ubWVudF9pZl9hdmFpbGFibGUoIndwZSIpOgogICAgICAg
ICBwcmludCAnKioqJwogICAgICAgICBwcmludCAnKioqIFdhcm5pbmc6IGpoYnVpbGQgZW52aXJv
bm1lbnQgbm90IHByZXNlbnQgYW5kIG5vdCBydW5uaW5nIGluIGZsYXRwYWsuJwotICAgICAgICBw
cmludCAnKioqIFJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1m
bGF0cGFrIGJlZm9yZSBidWlsZC13ZWJraXQgdG8gZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCisg
ICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13ZWJraXR3cGUtbGlicyBvciB1cGRhdGUtd2Vi
a2l0LWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3Rpbmcu
LicKICAgICAgICAgcHJpbnQgJyoqKicKIAogICAgIG9wdGlvbl9wYXJzZXIgPSBvcHRwYXJzZS5P
cHRpb25QYXJzZXIodXNhZ2U9J3VzYWdlOiAlcHJvZyBbb3B0aW9uc10gW3Rlc3QuLi5dJykKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRwZXJsIGIvVG9vbHMvU2NyaXB0cy90
ZXN0LXdlYmtpdHBlcmwKaW5kZXggNjQ5NTY5NjBmZmM2N2FlN2RmOTMzNjQxMzZkOTFhNWQ4OGVh
OTk0My4uZGM4MWMxN2MzYmFjNTlhODgxYTczZWQxNWIzYTc0NjBjYTdiOWY5OCAxMDA3NTUKLS0t
IGEvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHBlcmwKKysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0
LXdlYmtpdHBlcmwKQEAgLTMyLDYgKzMyLDEzIEBACiAKIHVzZSBzdHJpY3Q7CiB1c2Ugd2Fybmlu
Z3M7Cit1c2UgRmlsZTo6QmFzZW5hbWU7Cit1c2UgRmlsZTo6RmluZDsKK3VzZSBGaWxlOjpTcGVj
OwordXNlIEZpbmRCaW47Cit1c2UgR2V0b3B0OjpMb25nIHF3KDpjb25maWcgcGFzc190aHJvdWdo
IG5vX2F1dG9fYWJicmV2KTsKK3VzZSBsaWIgJEZpbmRCaW46OkJpbjsKK3VzZSB3ZWJraXRkaXJz
OwogCiB1c2UgRmlsZTo6U3BlYzsKIHVzZSBGaW5kQmluOwpAQCAtMzksNiArNDYsMTEgQEAgdXNl
IFRlc3Q6Okhhcm5lc3M7CiB1c2UgbGliICRGaW5kQmluOjpCaW47ICMgc28gdGhpcyBzY3JpcHQg
Y2FuIGJlIHJ1biBmcm9tIGFueSBkaXJlY3RvcnkuCiB1c2UgVkNTVXRpbHM7CiAKK2lmIChzaG91
bGRVc2VGbGF0cGFrKCkpIHsKKyAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxl
KHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJ0ZXN0LXdlYmtpdHBlcmwiKSk7Cisg
ICAgcnVuSW5GbGF0cGFrKEBjb21tYW5kKTsKK30KKwogIyBDaGFuZ2UgdGhlIHdvcmtpbmcgZGly
ZWN0b3J5IHNvIHRoYXQgd2UgY2FuIHBhc3Mgc2hvcnRlciwgcmVsYXRpdmUKICMgcGF0aHMgdG8g
cnVudGVzdHMoKSwgcmF0aGVyIHRoYW4gbG9uZ2VyLCBhYnNvbHV0ZSBwYXRocy4KICMKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweSBiL1Rvb2xzL1NjcmlwdHMvdGVzdC13
ZWJraXRweQppbmRleCBlZTY4MmNjY2YwYWNhM2YyMGRjNjE1ZmU4YjYzMjNjY2M1N2NiZWE0Li40
MjM4OGU5Zjg2MTc4NWVmN2UzOGZiMWY0NTQ5MDA1MDUyZjAwYWVjIDEwMDc1NQotLS0gYS9Ub29s
cy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkKKysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5
CkBAIC0yOSw0ICsyOSwxMCBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogZnJvbSB3ZWJraXRweS5jb21tb24g
aW1wb3J0IG11bHRpcHJvY2Vzc2luZ19ib290c3RyYXAKIAoraW1wb3J0IG9zLCBzeXMKK3RvcF9s
ZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRp
cm5hbWUoX19maWxlX18pLCAnLi4nLCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRo
LmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBm
bGF0cGFrdXRpbHMKK2ZsYXRwYWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lz
LmFyZ3YpCisKIG11bHRpcHJvY2Vzc2luZ19ib290c3RyYXAucnVuKCd3ZWJraXRweScsICd0ZXN0
JywgJ21haW4ucHknKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lciBi
L1Rvb2xzL1NjcmlwdHMvdGVzdDI2Mi1ydW5uZXIKaW5kZXggYTEzMWJjZjYzM2UzMGQ5NzY1ZmI1
NjI0MjUwNzMxMTdhOThmMjIzOC4uYWY3YWQ1ZTQ4ZWYyNTA4Y2Y0ZTIxZDU4ZDU1MGNmMDMyZWY1
ZmEyYiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lcgorKysgYi9Ub29s
cy9TY3JpcHRzL3Rlc3QyNjItcnVubmVyCkBAIC0zNCw2ICszNCwyNiBAQCB1c2UgNS44Ljg7CiB1
c2UgRmluZEJpbjsKIHVzZSBDb25maWc7CiAKK0JFR0lOIHsKKyAgICB1c2UgbGliICRGaW5kQmlu
OjpCaW47CisgICAgdXNlIEZpbGU6OlNwZWM6OkZ1bmN0aW9ucyBxdyhjYXRmaWxlKTsKKworICAg
IGlmICghZ3JlcCgvXi0tbm8tZmxhdHBhay1jaGVjayQvLCBAQVJHVikpIHsKKyAgICAgICAgaWYg
KGV2YWwge3JlcXVpcmUgd2Via2l0ZGlyczsgMTt9KSB7CisgICAgICAgICAgICB3ZWJraXRkaXJz
LT5pbXBvcnQocXcoc2hvdWxkVXNlRmxhdHBhayBydW5JbkZsYXRwYWsgc291cmNlRGlyKSk7Cisg
ICAgICAgICAgICBpZiAoc2hvdWxkVXNlRmxhdHBhaygpKSB7CisgICAgICAgICAgICAgICAgcHJp
bnQgIlJ1bm5pbmcgaW4gZmxhdHBhayBiYXNlZCBlbnZpcm9ubWVudFxuIjsKKyAgICAgICAgICAg
ICAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9v
bHMiLCAiU2NyaXB0cyIsICJ0ZXN0MjYyLXJ1bm5lciIpKTsKKyAgICAgICAgICAgICAgICAjIFBy
ZXZlbnQgZXhlYydkIHRlc3QyNjItcnVubmVyIHByb2Nlc3MgZnJvbSBpbXBvcnRpbmcKKyAgICAg
ICAgICAgICAgICAjIHdlYmtpdGRpcnMgc28gdGhhdCBpdCBjYW4gc3VjY2VlZCBsYXRlciBvbiBp
biB0aGUgUnVubmVyCisgICAgICAgICAgICAgICAgIyBtb2R1bGUuLi4gUGVybC4gwq9cXyjjg4Qp
Xy/CrworICAgICAgICAgICAgICAgIHB1c2goQEFSR1YsICItLW5vLWZsYXRwYWstY2hlY2siKTsK
KyAgICAgICAgICAgICAgICBydW5JbkZsYXRwYWsoQGNvbW1hbmQpOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgfQorfQorCiBCRUdJTiB7CiAgICAgJEVOVntEQklDX09WRVJXUklURV9I
RUxQRVJfTUVUSE9EU19PS30gPSAxOwogICAgICRFTlZ7VDI2Ml9FWEVDX0JJTn0gPSAiJEZpbmRC
aW46OkJpbi90ZXN0MjYyIjsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtp
dC1mbGF0cGFrIGIvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0LWZsYXRwYWsKbmV3IGZpbGUg
bW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTg2YjgxYTIwMzNmNGJiN2JlMmQyOWJkZTVjMTJjZjQ5NTMzMGQ1NQotLS0gL2Rldi9udWxs
CisrKyBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdC1mbGF0cGFrCkBAIC0wLDAgKzEsMjgg
QEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMu
TC4KKyMgQ29weXJpZ2h0IChjKSAyMDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2Fs
aWEuY29tPgorIworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisjIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisjIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIHBy
b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKKyMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBw
cm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZQorIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwKKyMgQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCisjIHB5bGludDogZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5h
bWUKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0
aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwg
Ii4uIikpCitzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3Rv
cnksICJUb29scyIsICJmbGF0cGFrIikpCitmcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0
RmxhdHBhaworCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIFdlYmtpdEZsYXRwYWsu
bG9hZF9mcm9tX2FyZ3MoWyItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsgYi9Ub29scy9TY3Jp
cHRzL3VwZGF0ZS13ZWJraXRndGstZmxhdHBhawpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5k
ZXggMDk1NmYxZjJlMTQ4NWQyNDg2MmVmN2Y2ZDc0YTJmM2Y5OGNmOTJmOC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13
ZWJraXRndGstZmxhdHBhaworKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLSMhL3Vzci9i
aW4vZW52IHB5dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KLSMgQ29weXJp
Z2h0IChjKSAyMDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotIwot
IyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMg
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKLSMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBu
b3QsIHdyaXRlIHRvIHRoZQotIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0j
IHB5bGludDogZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5hbWUKLWltcG9ydCBv
cwotaW1wb3J0IHN5cwotCi10b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChv
cy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCi1zeXMu
cGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICJUb29scyIs
ICJmbGF0cGFrIikpCi1mcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0RmxhdHBhawotCi1p
ZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2Fy
Z3MoWyItLWd0ayIsICItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWxpYnMgYi9Ub29scy9TY3JpcHRzL3Vw
ZGF0ZS13ZWJraXRndGstbGlicwppbmRleCAyZTFjMDJmZmQ3MDU2MDA4MGUzNmJjNzRiNDY1OGZm
ZWY1ZGVjZDhlLi4yZThhODc4NTE5NmRiOGM3YmZjYzQ5MDQ5NWFkOWM1ZDcwMGZmZjUxIDEwMDc1
NQotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstbGlicworKysgYi9Ub29scy9T
Y3JpcHRzL3VwZGF0ZS13ZWJraXRndGstbGlicwpAQCAtMjIsNCArMjIsOCBAQCB1c2UgbGliICRG
aW5kQmluOjpCaW47CiB1c2Ugd2Via2l0ZGlyczsKIAogbXkgJHNjcmlwdHNEaXIgPSByZWxhdGl2
ZVNjcmlwdHNEaXIoKTsKLXN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0
LWxpYnMtamhidWlsZCIsICItLWd0ayIsIEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK2lmIChkZWZp
bmVkICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30gYW5kICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30pIHsK
KyAgICBzeXN0ZW0oInBlcmwiLCAiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1saWJzLWpoYnVp
bGQiLCAiLS1ndGsiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7Cit9IGVsc2UgeworICAgIHN5c3Rl
bSgiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1mbGF0cGFrIiwgQEFSR1YpID09IDAgb3IgZGll
ICQhOworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWZsYXRw
YWsgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtZmxhdHBhawpkZWxldGVkIGZpbGUg
bW9kZSAxMDA3NTUKaW5kZXggNTY0ZTg3NjUyMTExOGUyZmMwZmQ2OGI4Yzg2NmFhOTAwMWNiODEy
Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9T
Y3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtZmxhdHBhaworKysgL2Rldi9udWxsCkBAIC0xLDI4ICsw
LDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlh
IFMuTC4KLSMgQ29weXJpZ2h0IChjKSAyMDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBp
Z2FsaWEuY29tPgotIwotIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMi4xIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlz
IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFsb25nIHdpdGggdGhp
cyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZQotIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCi0jIHB5bGludDogZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlk
LW5hbWUKLWltcG9ydCBvcwotaW1wb3J0IHN5cwotCi10b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3Mu
cGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4u
IiwgIi4uIikpCi1zeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJl
Y3RvcnksICJUb29scyIsICJmbGF0cGFrIikpCi1mcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Vi
a2l0RmxhdHBhawotCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIFdlYmtpdEZsYXRw
YWsubG9hZF9mcm9tX2FyZ3MoWyItLXdwZSIsICItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5y
dW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWxpYnMgYi9U
b29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGlicwppbmRleCA2YjRiNDZmMmI3ZWI4YTll
NjgwNzc1N2JjYTJiOWU2ODQ3MDdhMDIzLi5jZGM0YzdkYjhjNjVlYTczMjNkNjkyNjgxOThhMmY2
OGJkNTEzMDE0IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGli
cworKysgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGlicwpAQCAtMjIsNCArMjIs
OCBAQCB1c2UgbGliICRGaW5kQmluOjpCaW47CiB1c2Ugd2Via2l0ZGlyczsKIAogbXkgJHNjcmlw
dHNEaXIgPSByZWxhdGl2ZVNjcmlwdHNEaXIoKTsKLXN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rp
ci91cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCIsICItLXdwZSIsIEBBUkdWKSA9PSAwIG9yIGRp
ZSAkITsKK2lmIChkZWZpbmVkICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30gYW5kICRFTlZ7J1dFQktJ
VF9KSEJVSUxEJ30pIHsKKyAgICBzeXN0ZW0oInBlcmwiLCAiJHNjcmlwdHNEaXIvdXBkYXRlLXdl
YmtpdC1saWJzLWpoYnVpbGQiLCAiLS13cGUiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7Cit9IGVs
c2UgeworICAgIHN5c3RlbSgiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1mbGF0cGFrIiwgQEFS
R1YpID09IDAgb3IgZGllICQhOworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRk
aXJzLnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCmluZGV4IDEwNGY2NjAyYWI1NzQw
MDRkYTc0Nzk4M2U5Njk1NjIwMDNkYTgwZjMuLjUzYjRlNjBiZDg3NzMyZTBjMmJmZjI5NTEwMGJi
OGQ0YTJiMmFlMjkgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KQEAgLTkxLDcgKzkxLDEwIEBAIEJFR0lOIHsK
ICAgICAgICAmc2V0dXBVbml4V2ViS2l0RW52aXJvbm1lbnQKICAgICAgICAmc2hhcmVkQ29tbWFu
ZExpbmVPcHRpb25zCiAgICAgICAgJnNoYXJlZENvbW1hbmRMaW5lT3B0aW9uc1VzYWdlCisgICAg
ICAgJnNob3VsZFVzZUZsYXRwYWsKKyAgICAgICAmcnVuSW5GbGF0cGFrCiAgICAgICAgJnNodXRE
b3duSU9TU2ltdWxhdG9yRGV2aWNlCisgICAgICAgJnNvdXJjZURpcgogICAgICAgICZ3aWxsVXNl
SU9TRGV2aWNlU0RLCiAgICAgICAgJndpbGxVc2VJT1NTaW11bGF0b3JTREsKICAgICAgICBET19O
T1RfVVNFX09QRU5fQ09NTUFORApAQCAtMjA0NywyMCArMjA1MCwxMSBAQCBzdWIgZ2V0SmhidWls
ZFBhdGgoKQogICAgIHJldHVybiBGaWxlOjpTcGVjLT5jYXRkaXIoQGpoYnVpbGRQYXRoKTsKIH0K
IAotc3ViIGdldEZsYXRwYWtQYXRoKCkKK3N1YiBnZXRVc2VyRmxhdHBha1BhdGgoKQogewotICAg
IG15IEBmbGF0cGFrQnVpbGRQYXRoID0gRmlsZTo6U3BlYy0+c3BsaXRkaXIoYmFzZVByb2R1Y3RE
aXIoKSk7Ci0gICAgaWYgKGlzR3RrKCkpIHsKLSAgICAgICAgcHVzaChAZmxhdHBha0J1aWxkUGF0
aCwgIkdUSyIpOwotICAgIH0gZWxzaWYgKGlzV1BFKCkpIHsKLSAgICAgICAgcHVzaChAZmxhdHBh
a0J1aWxkUGF0aCwgIldQRSIpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGRpZSAiQ2Fubm90IGdl
dCBGbGF0cGFrIHBhdGggZm9yIHBsYXRmb3JtIHRoYXQgaXNuJ3QgR1RLKyBvciBXUEUuXG4iOwot
ICAgIH0KLSAgICBteSBAY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24oKTsKLSAgICBwdXNo
KEBmbGF0cGFrQnVpbGRQYXRoLCAiRmxhdHBha1RyZWUkY29uZmlndXJhdGlvbiIpOwotCi0gICAg
cmV0dXJuIEZpbGU6OlNwZWMtPmNhdGRpcihAZmxhdHBha0J1aWxkUGF0aCk7CisgICAgbXkgQGZs
YXRwYWtQYXRoID0gRmlsZTo6U3BlYy0+c3BsaXRkaXIoYmFzZVByb2R1Y3REaXIoKSk7CisgICAg
cHVzaChAZmxhdHBha1BhdGgsICJVc2VyRmxhdHBhayIpOworICAgIHJldHVybiBGaWxlOjpTcGVj
LT5jYXRkaXIoQGZsYXRwYWtQYXRoKTsKIH0KIAogc3ViIGlzQ2FjaGVkQXJndW1lbnRmaWxlT3V0
T2ZEYXRlKCRAKQpAQCAtMjA4NywxOCArMjA4MSwxNCBAQCBzdWIgaXNDYWNoZWRBcmd1bWVudGZp
bGVPdXRPZkRhdGUoJEApCiAKIHN1YiBpbkZsYXRwYWtTYW5kYm94KCkKIHsKLSAgICBpZiAoLWYg
Ii8uZmxhdHBhay1pbmZvIikgewotICAgICAgICByZXR1cm4gMTsKLSAgICB9Ci0KLSAgICByZXR1
cm4gMDsKKyAgICByZXR1cm4gKC1mICIvLmZsYXRwYWstaW5mbyIpOwogfQogCiBzdWIgcnVuSW5G
bGF0cGFrKEApCiB7CiAgICAgbXkgQGFyZyA9IEBfOwogICAgIG15IEBjb21tYW5kID0gKEZpbGU6
OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgIndlYmtpdC1m
bGF0cGFrIikpOwotICAgIGV4ZWMgQGNvbW1hbmQsIGFyZ3VtZW50c0ZvckNvbmZpZ3VyYXRpb24o
KSwgIi0tY29tbWFuZCIsIEBfLCBhcmd1bWVudHNGb3JDb25maWd1cmF0aW9uKCksIEBBUkdWIG9y
IGRpZTsKKyAgICBleGVjIEBjb21tYW5kLCBhcmd1bWVudHNGb3JDb25maWd1cmF0aW9uKCksIEBB
UkdWLCAiLS1jb21tYW5kIiwgQGFyZywgYXJndW1lbnRzRm9yQ29uZmlndXJhdGlvbigpIG9yIGRp
ZTsKIH0KIAogc3ViIHJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKEApCkBAIC0yMTEyLDggKzIxMDIs
OCBAQCBzdWIgcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQCkKICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgfQogCi0gICAgaWYgKCEgLWUgZ2V0RmxhdHBha1BhdGgoKSkgewotICAgICAgICByZXR1cm4g
MDsKKyAgICBpZiAoISAtZSBnZXRVc2VyRmxhdHBha1BhdGgoKSkgeworICAgICAgcmV0dXJuIDA7
CiAgICAgfQogCiAgICAgcnVuSW5GbGF0cGFrKEBfKQpAQCAtMjEyOCw3ICsyMTE4LDcgQEAgc3Vi
IHdyYXBwZXJQcmVmaXhJZk5lZWRlZCgpCiAgICAgaWYgKGlzQXBwbGVDb2NvYVdlYktpdCgpKSB7
CiAgICAgICAgIHJldHVybiAoInhjcnVuIik7CiAgICAgfQotICAgIGlmIChzaG91bGRVc2VKaGJ1
aWxkKCkgYW5kICEgc2hvdWxkVXNlRmxhdHBhaygpKSB7CisgICAgaWYgKHNob3VsZFVzZUpoYnVp
bGQoKSkgewogICAgICAgICBteSBAcHJlZml4ID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNl
RGlyKCksICJUb29scyIsICJqaGJ1aWxkIiwgImpoYnVpbGQtd3JhcHBlciIpKTsKICAgICAgICAg
aWYgKGlzR3RrKCkpIHsKICAgICAgICAgICAgIHB1c2goQHByZWZpeCwgIi0tZ3RrIik7CkBAIC0y
MTQ1LDEyICsyMTM1LDEyIEBAIHN1YiB3cmFwcGVyUHJlZml4SWZOZWVkZWQoKQogCiBzdWIgc2hv
dWxkVXNlSmhidWlsZCgpCiB7Ci0gICAgcmV0dXJuICgoaXNHdGsoKSBvciBpc1dQRSgpKSBhbmQg
LWUgZ2V0SmhidWlsZFBhdGgoKSk7CisgICAgcmV0dXJuICgoISBpbkZsYXRwYWtTYW5kYm94KCkp
IGFuZCAoaXNHdGsoKSBvciBpc1dQRSgpKSBhbmQgLWUgZ2V0SmhidWlsZFBhdGgoKSBhbmQgZGVm
aW5lZCAkRU5WeydXRUJLSVRfSkhCVUlMRCd9IGFuZCAkRU5WeydXRUJLSVRfSkhCVUlMRCd9KTsK
IH0KIAogc3ViIHNob3VsZFVzZUZsYXRwYWsoKQogewotICAgIHJldHVybiAoKGlzR3RrKCkgb3Ig
aXNXUEUoKSkgYW5kICEgaW5GbGF0cGFrU2FuZGJveCgpIGFuZCAtZSBnZXRGbGF0cGFrUGF0aCgp
KTsKKyAgICByZXR1cm4gKCghIGluRmxhdHBha1NhbmRib3goKSkgYW5kIChpc0d0aygpIG9yIGlz
V1BFKCkpIGFuZCAtZSBnZXRVc2VyRmxhdHBha1BhdGgoKSk7CiB9CiAKIHN1YiBjbWFrZUNhY2hl
UGF0aCgpCkBAIC0yMjE3LDcgKzIyMDcsNyBAQCBzdWIgc2hvdWxkUmVtb3ZlQ01ha2VDYWNoZShA
KQogICAgIH0KIAogICAgICMgSWYgYSBjaGFuZ2Ugb24gdGhlIEpIQnVpbGQgbW9kdWxlc2V0IGhh
cyBiZWVuIGRvbmUsIHdlIG5lZWQgdG8gY2xlYW4gdGhlIGNhY2hlIGFzIHdlbGwuCi0gICAgaWYg
KGlzR3RrKCkgfHwgaXNXUEUoKSkgeworICAgIGlmICghIHNob3VsZFVzZUZsYXRwYWsoKSBhbmQg
KGlzR3RrKCkgfHwgaXNXUEUoKSkpIHsKICAgICAgICAgbXkgJGpoYnVpbGRSb290RGlyZWN0b3J5
ID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKGdldEpoYnVpbGRQYXRoKCksICJSb290Iik7CiAgICAgICAg
ICMgVGhlIHNjcmlwdCB1cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCBzaGFsbCByZS1nZW5lcmF0
ZSAkamhidWlsZFJvb3REaXJlY3RvcnkgaWYgdGhlIG1vZHVsZXNldCBjaGFuZ2VkLgogICAgICAg
ICBpZiAoLWQgJGpoYnVpbGRSb290RGlyZWN0b3J5ICYmICRjYWNoZUZpbGVNb2RpZmllZFRpbWUg
PCBzdGF0KCRqaGJ1aWxkUm9vdERpcmVjdG9yeSktPm10aW1lKSB7CmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9iYXNlLnB5CmluZGV4IGRlMDA2NjY3YjJkMWU1ZTVlZWI4ZjJkMWE0NDhiNzU2ZjdmMDY2
Y2QuLjFjM2VlN2FiZGJhM2Q4NmIyYTY4YTQ2ODhiNGVhZDk2ZTk5ODc1ZWUgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9iYXNlLnB5CkBAIC04OTMsNiArODkzLDcgQEAgY2xhc3MgUG9ydChvYmpl
Y3QpOgogICAgICAgICAgICAgJ0xBTkcnLAogICAgICAgICAgICAgJ0xEX0xJQlJBUllfUEFUSCcs
CiAgICAgICAgICAgICAnVEVSTScsCisgICAgICAgICAgICAnVFonLAogICAgICAgICAgICAgJ1hE
R19EQVRBX0RJUlMnLAogICAgICAgICAgICAgJ1hER19SVU5USU1FX0RJUicsCiAKQEAgLTEyMjAs
NyArMTIyMSw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgVGhpcyBpcyBuZWVkZWQg
b25seSBieSBwb3J0cyB0aGF0IHVzZSB0aGUgYXBhY2hlX2h0dHBfc2VydmVyIG1vZHVsZS4iIiIK
ICAgICAgICAgIyBUaGUgQXBhY2hlIGJpbmFyeSBwYXRoIGNhbiB2YXJ5IGRlcGVuZGluZyBvbiBP
UyBhbmQgZGlzdHJpYnV0aW9uCiAgICAgICAgICMgU2VlIGh0dHA6Ly93aWtpLmFwYWNoZS5vcmcv
aHR0cGQvRGlzdHJvc0RlZmF1bHRMYXlvdXQKLSAgICAgICAgZm9yIHBhdGggaW4gWyIvdXNyL3Ni
aW4vaHR0cGQiLCAiL3Vzci9zYmluL2FwYWNoZTIiLCAiL2FwcC9iaW4vaHR0cGQiXToKKyAgICAg
ICAgZm9yIHBhdGggaW4gWyIvdXNyL3NiaW4vaHR0cGQiLCAiL3Vzci9zYmluL2FwYWNoZTIiLCAi
L3Vzci9iaW4vaHR0cGQiXToKICAgICAgICAgICAgIGlmIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3Rz
KHBhdGgpOgogICAgICAgICAgICAgICAgIHJldHVybiBwYXRoCiAgICAgICAgIF9sb2cuZXJyb3Io
IkNvdWxkIG5vdCBmaW5kIGFwYWNoZS4gTm90IGluc3RhbGxlZCBvciB1bmtub3duIHBhdGguIikK
QEAgLTE0NTIsMTQgKzE0NTMsOCBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgICMgLS1w
aXhlbC10ZXN0LWRpcmVjdG9yeSBpcyBub3Qgc3BlY2lmaWVkLgogICAgICAgICByZXR1cm4gVHJ1
ZQogCi0gICAgZGVmIF9zaG91bGRfdXNlX2ZsYXRwYWsoc2VsZik6Ci0gICAgICAgIHN1ZmZpeCA9
ICIiCi0gICAgICAgIGlmIHNlbGYucG9ydF9uYW1lOgotICAgICAgICAgICAgc3VmZml4ID0gc2Vs
Zi5wb3J0X25hbWUudXBwZXIoKQotICAgICAgICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5leGlz
dHMoc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1dlYktpdEJ1aWxkJywgc3VmZml4LCAiRmxh
dHBha1RyZWUiKSkKLQogICAgIGRlZiBfaW5fZmxhdHBha19zYW5kYm94KHNlbGYpOgotICAgICAg
ICByZXR1cm4gb3MucGF0aC5leGlzdHMoIi8uZmxhdHBhay1pbmZvIikKKyAgICAgICAgcmV0dXJu
IHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKCIvLmZsYXRwYWstaW5mbyIpCiAKICAgICBkZWYgX3No
b3VsZF91c2VfamhidWlsZChzZWxmKToKICAgICAgICAgaWYgc2VsZi5faW5fZmxhdHBha19zYW5k
Ym94KCk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQppbmRleCA2OGJjMTY5MjNmOGFiNzYw
OTFmNWIzZTk2NGQwNjVjNzk0M2ZmOGQ1Li4wY2U4YWE0ODc0NTkwOWM3OTczNjg4M2IzNmQzNGU4
NzQwOThkNDczIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkKQEAgLTEyMiw2ICsxMjIs
NyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICBlbnZpcm9ubWVudFsnVEVTVF9SVU5O
RVJfSU5KRUNURURfQlVORExFX0ZJTEVOQU1FJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdsaWInLCAn
bGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLnNvJykKICAgICAgICAgZW52aXJvbm1lbnRbJ1RF
U1RfUlVOTkVSX1RFU1RfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ2xpYicsICdw
bHVnaW5zJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVu
dmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJUicpCisgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVf
ZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9KSEJVSUxEJykKICAgICAg
ICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VC
S0lUX1RPUF9MRVZFTCcpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lm
X3NldChlbnZpcm9ubWVudCwgJ1VTRV9QTEFZQklOMycpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFs
dWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ0dTVF9ERUJVRycpCkBAIC0xMzQs
MTAgKzEzNSwxMSBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAgICAgaWYgc2VsZi5f
c2hvdWxkX3VzZV9qaGJ1aWxkKCk6CiAgICAgICAgICAgICAgICAgbGx2bXBpcGVfbGliZ2xfcGF0
aCA9IHNlbGYuaG9zdC5leGVjdXRpdmUucnVuX2NvbW1hbmQoc2VsZi5famhidWlsZF93cmFwcGVy
ICsgWydwcmludGVudicsICdMTFZNUElQRV9MSUJHTF9QQVRIJ10sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9y
ZV9lcnJvcnM9VHJ1ZSkuc3RyaXAoKQorICAgICAgICAgICAgICAgIGRyaV9saWJnbF9wYXRoID0g
b3MucGF0aC5qb2luKGxsdm1waXBlX2xpYmdsX3BhdGgsICJkcmkiKQogICAgICAgICAgICAgZWxz
ZTogICMgaW4gZmxhdHBhawotICAgICAgICAgICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGggPSAi
L2FwcC9zb2Z0R0wvbGliIgorICAgICAgICAgICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGggPSAi
L3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS8iCisgICAgICAgICAgICAgICAgZHJpX2xpYmdsX3Bh
dGggPSBvcy5wYXRoLmpvaW4obGx2bXBpcGVfbGliZ2xfcGF0aCwgIkdMIiwgImxpYiIsICJkcmki
KQogCi0gICAgICAgICAgICBkcmlfbGliZ2xfcGF0aCA9IG9zLnBhdGguam9pbihsbHZtcGlwZV9s
aWJnbF9wYXRoLCAiZHJpIikKICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGgu
am9pbihsbHZtcGlwZV9saWJnbF9wYXRoLCAibGliR0wuc28iKSkgYW5kIG9zLnBhdGguZXhpc3Rz
KG9zLnBhdGguam9pbihkcmlfbGliZ2xfcGF0aCwgInN3cmFzdF9kcmkuc28iKSk6CiAgICAgICAg
ICAgICAgICAgIyBNYWtlIHN1cmUgdmEtYXBpIHN1cHBvcnQgZ2V0cyBkaXNhYmxlZCBiZWNhdXNl
IGl0J3MgaW5jb21wYXRpYmxlIHdpdGggTWVzYSdzIHNvZnRHTCBkcml2ZXIuCiAgICAgICAgICAg
ICAgICAgZW52aXJvbm1lbnRbJ0xJQlZBX0RSSVZFUl9OQU1FJ10gPSAibnVsbCIKQEAgLTE0OCw3
ICsxNTAsNyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAgICAgICAgIGlmIG9zLmVu
dmlyb24uZ2V0KCdMRF9MSUJSQVJZX1BBVEgnKToKICAgICAgICAgICAgICAgICAgICAgZW52aXJv
bm1lbnRbJ0xEX0xJQlJBUllfUEFUSCddICs9ICc6JXMnICUgb3MuZW52aXJvbi5nZXQoJ0xEX0xJ
QlJBUllfUEFUSCcpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIF9sb2cud2Fy
bmluZygiQ2FuJ3QgZmluZCBHYWxsaXVtIGxsdm1waXBlIGRyaXZlci4gVHJ5IHRvIHJ1biB1cGRh
dGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIikKKyAgICAgICAg
ICAgICAgICBfbG9nLndhcm5pbmcoIkNhbid0IGZpbmQgR2FsbGl1bSBsbHZtcGlwZSBkcml2ZXIu
IFRyeSB0byBydW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBh
ayIpCiAgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbigibGVha3MiKToKICAgICAgICAgICAgICMg
VHVybiBvZmYgR0xpYiBtZW1vcnkgb3B0aW1pc2F0aW9ucyBodHRwczovL3dpa2kuZ25vbWUub3Jn
L1ZhbGdyaW5kLgogICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0dfU0xJQ0UnXSA9ICdhbHdheXMt
bWFsbG9jJwpAQCAtMjM3LDcgKzIzOSw3IEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAKICAgICBk
ZWYgX2dldF9jcmFzaF9sb2coc2VsZiwgbmFtZSwgcGlkLCBzdGRvdXQsIHN0ZGVyciwgbmV3ZXJf
dGhhbiwgdGFyZ2V0X2hvc3Q9Tm9uZSk6CiAgICAgICAgIHJldHVybiBHREJDcmFzaExvZ0dlbmVy
YXRvcihzZWxmLl9leGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwKLSAgICAgICAgICAg
IHNlbGYuX2ZpbGVzeXN0ZW0sIHNlbGYuX3BhdGhfdG9fZHJpdmVyKS5nZW5lcmF0ZV9jcmFzaF9s
b2coc3Rkb3V0LCBzdGRlcnIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlciwgc2VsZi5wb3J0X25hbWUsIHNl
bGYuZ2V0X29wdGlvbignY29uZmlndXJhdGlvbicpKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0
LCBzdGRlcnIpCiAKICAgICBkZWYgdGVzdF9leHBlY3RhdGlvbnNfZmlsZV9wb3NpdGlvbihzZWxm
KToKICAgICAgICAgIyBHVEsgcG9ydCBiYXNlbGluZSBzZWFyY2ggcGF0aCBpcyBndGsgLT4gd2sy
IC0+IGdlbmVyaWMgKGFzIGd0ay13azIgYW5kIGd0ayBiYXNlbGluZXMgYXJlIG1lcmdlZCksIHNv
IHBvcnQgdGVzdCBleHBlY3RhdGlvbnMgZmlsZSBpcyBhdCB0aGlyZCB0byBsYXN0IHBvc2l0aW9u
LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFz
aF9sb2cucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xv
Zy5weQppbmRleCA5YWRjNDYzNzFmOTYxYjE5NjI4ZTdmZWRkNDY1ZWJmZDA5NmNkMDFhLi4yZTAz
ZGZmMWEzNmViNWMyMDVhZTY4NzljZDIyYmQyYzcwMjIxMWUzIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQpAQCAtMzcsMTggKzM3
LDIyIEBAIGltcG9ydCB0aW1lCiAKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRp
dmUgaW1wb3J0IFNjcmlwdEVycm9yCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi51bmljb2RlX2NvbXBh
dGliaWxpdHkgaW1wb3J0IGRlY29kZV9pZl9uZWNlc3NhcnkKK2Zyb20gd2Via2l0cHkuY29tbW9u
LndlYmtpdF9maW5kZXIgaW1wb3J0IFdlYktpdEZpbmRlcgogCiAKIGNsYXNzIEdEQkNyYXNoTG9n
R2VuZXJhdG9yKG9iamVjdCk6CiAgICAgX2ZpbmRfcGlkX3JlZ2V4ID0gcmUuY29tcGlsZShyJ1BJ
RDogKFxkKykgXCguKlwpJykKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBleGVjdXRpdmUsIG5h
bWUsIHBpZCwgbmV3ZXJfdGhhbiwgZmlsZXN5c3RlbSwgcGF0aF90b19kcml2ZXIpOgorICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBleGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwgZmlsZXN5
c3RlbSwgcGF0aF90b19kcml2ZXIsIHBvcnRfbmFtZSwgY29uZmlndXJhdGlvbik6CiAgICAgICAg
IHNlbGYubmFtZSA9IG5hbWUKICAgICAgICAgc2VsZi5waWQgPSBwaWQKICAgICAgICAgc2VsZi5u
ZXdlcl90aGFuID0gbmV3ZXJfdGhhbgogICAgICAgICBzZWxmLl9maWxlc3lzdGVtID0gZmlsZXN5
c3RlbQogICAgICAgICBzZWxmLl9wYXRoX3RvX2RyaXZlciA9IHBhdGhfdG9fZHJpdmVyCiAgICAg
ICAgIHNlbGYuX2V4ZWN1dGl2ZSA9IGV4ZWN1dGl2ZQorICAgICAgICBzZWxmLl9wb3J0X25hbWUg
PSBwb3J0X25hbWUKKyAgICAgICAgc2VsZi5fY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24K
KyAgICAgICAgc2VsZi5fd2Via2l0X2ZpbmRlciA9IFdlYktpdEZpbmRlcihmaWxlc3lzdGVtKQog
CiAgICAgZGVmIF9nZXRfZ2RiX291dHB1dChzZWxmLCBjb3JlZHVtcF9wYXRoKToKICAgICAgICAg
cHJvY2Vzc19uYW1lID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKG9zLnBhdGguZGlybmFtZShzdHIo
c2VsZi5fcGF0aF90b19kcml2ZXIoKSkpLCBzZWxmLm5hbWUpCkBAIC02Nyw2ICs3MSw5IEBAIGNs
YXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBmaWxlbmFt
ZQogCiAgICAgZGVmIF9nZXRfdHJhY2VfZnJvbV9zeXN0ZW1kKHNlbGYsIGNvcmVkdW1wY3RsLCBw
aWQpOgorICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZSgiLy5mbGF0cGFrLWluZm8iKToKKyAgICAg
ICAgICAgIHJldHVybiBzZWxmLl9nZXRfdHJhY2VfZnJvbV9mbGF0cGFrKCkKKwogICAgICAgICAj
IExldHRpbmcgdXAgdG8gNSBzZWNvbmRzIGZvciB0aGUgYmFja3RyYWNlIHRvIGJlIGdlbmVyYXRl
ZCBvbiB0aGUgc3lzdGVtZCBzaWRlCiAgICAgICAgIGZvciB0cnlfbnVtYmVyIGluIHJhbmdlKDUp
OgogICAgICAgICAgICAgaWYgdHJ5X251bWJlciAhPSAwOgpAQCAtOTIsMTIgKzk5LDI0IEBAIGNs
YXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgICAg
ICB0ZW1wX2ZpbGUubmFtZV0sIHJldHVybl9leGl0X2NvZGU9VHJ1ZSk6CiAgICAgICAgICAgICAg
ICAgICAgIGNvbnRpbnVlCiAKLSAgICAgICAgICAgICAgICByZXMgPSBzZWxmLl9nZXRfZ2RiX291
dHB1dChzZWxmLl9nZXRfdG1wX2ZpbGVfbmFtZShjb3JlZHVtcGN0bCwgdGVtcF9maWxlLm5hbWUp
KQotCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJlcworICAgICAgICAgICAgICAgIHJldHVybiBz
ZWxmLl9nZXRfZ2RiX291dHB1dChzZWxmLl9nZXRfdG1wX2ZpbGVfbmFtZShjb3JlZHVtcGN0bCwg
dGVtcF9maWxlLm5hbWUpKQogCiAgICAgICAgIHJldHVybiAnJywgW10KIAorICAgIGRlZiBfZ2V0
X3RyYWNlX2Zyb21fZmxhdHBhayhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5uZXdlcl90aGFuOgor
ICAgICAgICAgICAgY29yZWR1bXBfc2luY2UgPSAiLS1nZGItc3RhY2stdHJhY2U9QCVmIiAlIHNl
bGYubmV3ZXJfdGhhbgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY29yZWR1bXBfc2luY2Ug
PSAiLS1nZGItc3RhY2stdHJhY2UiCisgICAgICAgIHdlYmtpdF9mbGF0cGFrX3BhdGggPSBzZWxm
Ll93ZWJraXRfZmluZGVyLnBhdGhfdG9fc2NyaXB0KCd3ZWJraXQtZmxhdHBhaycpCisgICAgICAg
IGNtZCA9IFsnZmxhdHBhay1zcGF3bicsICctLWhvc3QnLCB3ZWJraXRfZmxhdHBha19wYXRoLCAn
LS0lcycgJSBzZWxmLl9wb3J0X25hbWUsCisgICAgICAgICAgICAgICAiLS0lcyIgJSBzZWxmLl9j
b25maWd1cmF0aW9uLmxvd2VyKCksIGNvcmVkdW1wX3NpbmNlXQorCisgICAgICAgIHByb2MgPSBz
ZWxmLl9leGVjdXRpdmUucG9wZW4oY21kLCBzdGRpbj1Ob25lLCBzdGRvdXQ9c3VicHJvY2Vzcy5Q
SVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKQorICAgICAgICBjcmFzaF9sb2csIHN0ZGVyciA9
IHByb2MuY29tbXVuaWNhdGUoKQorICAgICAgICBlcnJvcnMgPSBkZWNvZGVfaWZfbmVjZXNzYXJ5
KHN0cihzdGRlcnIgb3IgJzxlbXB0eT4nKSwgZXJyb3JzPSdpZ25vcmUnKS5zcGxpdGxpbmVzKCkK
KyAgICAgICAgcmV0dXJuIGNyYXNoX2xvZywgZXJyb3JzCisKICAgICBkZWYgZ2VuZXJhdGVfY3Jh
c2hfbG9nKHNlbGYsIHN0ZG91dCwgc3RkZXJyKToKICAgICAgICAgcGlkX3JlcHJlc2VudGF0aW9u
ID0gc3RyKHNlbGYucGlkIG9yICc8dW5rbm93bj4nKQogICAgICAgICBsb2dfZGlyZWN0b3J5ID0g
b3MuZW52aXJvbi5nZXQoIldFQktJVF9DT1JFX0RVTVBTX0RJUkVDVE9SWSIpCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZ191bml0dGVz
dC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3Vu
aXR0ZXN0LnB5CmluZGV4IDlmM2I3ZTM5Mzc5YzQzYTEwNWVjZTIwYzFjYTYyNjI0M2RmYTdkMzQu
LjNhMzllODQ2NzBhNjRjODM2YjVlMTQ0MmZjOGEzNTkzNGMzN2RmOTQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3Vu
aXR0ZXN0LnB5CkBAIC00Niw3ICs0Niw3IEBAIGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yVGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGV4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUo
KQogICAgICAgICBleGVjdXRpdmUuX3Byb2MgPSBNb2NrUHJvY2VzcygpCiAgICAgICAgIGV4ZWN1
dGl2ZS5fcHJvYy5zdGRvdXQgPSAnU1RERVJSOiA8ZW1wdHk+JwotICAgICAgICBnZW5lcmF0b3Ig
PSBHREJDcmFzaExvZ0dlbmVyYXRvcihleGVjdXRpdmUsICdEdW1wUmVuZGVyVHJlZScsIDI4NTI5
LCBuZXdlcl90aGFuPU5vbmUsIGZpbGVzeXN0ZW09TW9ja0ZpbGVTeXN0ZW0oeycvcGF0aC90by9j
b3JlZHVtcHMnOiAnJ30pLCBwYXRoX3RvX2RyaXZlcj1Ob25lKQorICAgICAgICBnZW5lcmF0b3Ig
PSBHREJDcmFzaExvZ0dlbmVyYXRvcihleGVjdXRpdmUsICdEdW1wUmVuZGVyVHJlZScsIDI4NTI5
LCBuZXdlcl90aGFuPU5vbmUsIGZpbGVzeXN0ZW09TW9ja0ZpbGVTeXN0ZW0oeycvcGF0aC90by9j
b3JlZHVtcHMnOiAnJ30pLCBwYXRoX3RvX2RyaXZlcj1Ob25lLCBwb3J0X25hbWU9Imd0ayIsIGNv
bmZpZ3VyYXRpb249IkRlYnVnIikKIAogICAgICAgICBjb3JlX2RpcmVjdG9yeSA9IG9zLmVudmly
b24uZ2V0KCdXRUJLSVRfQ09SRV9EVU1QU19ESVJFQ1RPUlknLCAnL3BhdGgvdG8vY29yZWR1bXBz
JykKICAgICAgICAgY29yZV9wYXR0ZXJuID0gZ2VuZXJhdG9yLl9maWxlc3lzdGVtLmpvaW4oY29y
ZV9kaXJlY3RvcnksICJjb3JlLXBpZF8lcC5kdW1wIikKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC93cGUucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd3Bl
LnB5CmluZGV4IDAwY2U1Mjc2ZTljYzQyMWI0ODM3YWMyYjU0ZjMzYzU1MmJiZWM4NTUuLjU0Njky
NWY0N2M2NDAwNzI1YWYwNzNhMzU1M2M3ZmY1NGVlYTdkOTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC93cGUucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9w
b3J0L3dwZS5weQpAQCAtNzcsNiArNzcsNyBAQCBjbGFzcyBXUEVQb3J0KFBvcnQpOgogICAgICAg
ICBlbnZpcm9ubWVudFsnVEVTVF9SVU5ORVJfVEVTVF9QTFVHSU5fUEFUSCddID0gc2VsZi5fYnVp
bGRfcGF0aCgnbGliJywgJ3BsdWdpbnMnKQogICAgICAgICBlbnZpcm9ubWVudFsnV0VCS0lUX0VY
RUNfUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0aCgnYmluJykKICAgICAgICAgc2VsZi5fY29weV92
YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJUicp
CisgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVu
dCwgJ1dFQktJVF9KSEJVSUxEJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmly
b25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX1RPUF9MRVZFTCcpCiAgICAgICAgIHNlbGYu
X2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1VTRV9QTEFZQklO
MycpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9u
bWVudCwgJ0dTVF9ERUJVRycpCkBAIC0xMjEsNyArMTIyLDggQEAgY2xhc3MgV1BFUG9ydChQb3J0
KToKICAgICAgICAgcmV0dXJuIDIKIAogICAgIGRlZiBfZ2V0X2NyYXNoX2xvZyhzZWxmLCBuYW1l
LCBwaWQsIHN0ZG91dCwgc3RkZXJyLCBuZXdlcl90aGFuLCB0YXJnZXRfaG9zdD1Ob25lKToKLSAg
ICAgICAgcmV0dXJuIEdEQkNyYXNoTG9nR2VuZXJhdG9yKHNlbGYuX2V4ZWN1dGl2ZSwgbmFtZSwg
cGlkLCBuZXdlcl90aGFuLCBzZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlciku
Z2VuZXJhdGVfY3Jhc2hfbG9nKHN0ZG91dCwgc3RkZXJyKQorICAgICAgICByZXR1cm4gR0RCQ3Jh
c2hMb2dHZW5lcmF0b3Ioc2VsZi5fZXhlY3V0aXZlLCBuYW1lLCBwaWQsIG5ld2VyX3RoYW4sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLCBzZWxm
Ll9wYXRoX3RvX2RyaXZlciwgc2VsZi5wb3J0X25hbWUsIHNlbGYuZ2V0X29wdGlvbignY29uZmln
dXJhdGlvbicpKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIpCiAKICAgICBkZWYg
Y29uZmlndXJhdGlvbl9mb3JfdXBsb2FkKHNlbGYsIGhvc3Q9Tm9uZSk6CiAgICAgICAgIGNvbmZp
Z3VyYXRpb24gPSBzdXBlcihXUEVQb3J0LCBzZWxmKS5jb25maWd1cmF0aW9uX2Zvcl91cGxvYWQo
aG9zdD1ob3N0KQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcAppbmRleCAzZjhlMjQ0MGYyODNl
NGI0ZTU0MjdhZDY0NGQyYjNiNGUzMTk2NWExLi44MWJjZDk2MmEwOWM3YWNmZWYyMmVjMmY0OGJj
MDJiMjQ5YTU2YzQ0IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcApAQCAtNjUsOCArNjUs
MTMgQEAgQ1N0cmluZyBnZXRPdXRwdXREaXIoKQogCiBzdGF0aWMgQ1N0cmluZyBnZXRGb250c1Bh
dGgoKQogeworICAgIC8vIFRyeSBmbGF0cGFrIHNhbmRib3ggcGF0aC4KKyAgICBHVW5pcXVlUHRy
PGNoYXI+Zm9udHNQYXRoKGdfYnVpbGRfZmlsZW5hbWUoIi91c3IiLCAic2hhcmUiLCAid2Via2l0
Z3RrLXRlc3QtZm9udHMiLCBOVUxMKSk7CisgICAgaWYgKGdfZmlsZV90ZXN0KGZvbnRzUGF0aC5n
ZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9FWElTVFMgfCBHX0ZJTEVf
VEVTVF9JU19ESVIpKSkKKyAgICAgICAgcmV0dXJuIGZvbnRzUGF0aC5nZXQoKTsKKwogICAgIENT
dHJpbmcgd2Via2l0T3V0cHV0RGlyID0gZ2V0T3V0cHV0RGlyKCk7Ci0gICAgR1VuaXF1ZVB0cjxj
aGFyPiBmb250c1BhdGgoZ19idWlsZF9maWxlbmFtZSh3ZWJraXRPdXRwdXREaXIuZGF0YSgpLCAi
RGVwZW5kZW5jaWVzR1RLIiwgIlJvb3QiLCAid2Via2l0Z3RrLXRlc3QtZm9udHMiLCBudWxscHRy
KSk7CisgICAgZm9udHNQYXRoLnJlc2V0KGdfYnVpbGRfZmlsZW5hbWUod2Via2l0T3V0cHV0RGly
LmRhdGEoKSwgIkRlcGVuZGVuY2llc0dUSyIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWZvbnRz
IiwgbnVsbHB0cikpOwogICAgIGlmIChnX2ZpbGVfdGVzdChmb250c1BhdGguZ2V0KCksIHN0YXRp
Y19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfRVhJU1RTIHwgR19GSUxFX1RFU1RfSVNfRElS
KSkpCiAgICAgICAgIHJldHVybiBmb250c1BhdGguZ2V0KCk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUuY3Bw
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250
c1dQRS5jcHAKaW5kZXggYTQ5YzdhMjkyMTgyNTkxZTI3MjdiMmI5MDFlNDEyYjJkZThlMDNkYS4u
OGJlNzM2ZjA0OWM5MWIzMDhjZDJjMWVjYWYxNDA1YTA1YzFhZTUwMCAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250c1dQRS5j
cHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZh
dGVGb250c1dQRS5jcHAKQEAgLTU4LDggKzU4LDEzIEBAIENTdHJpbmcgZ2V0T3V0cHV0RGlyKCkK
IAogc3RhdGljIENTdHJpbmcgZ2V0Rm9udHNQYXRoKCkKIHsKKyAgICAvLyBUcnkgZmxhdHBhayBz
YW5kYm94IHBhdGguCisgICAgR1VuaXF1ZVB0cjxjaGFyPmZvbnRzUGF0aChnX2J1aWxkX2ZpbGVu
YW1lKCIvdXNyIiwgInNoYXJlIiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgTlVMTCkpOworICAg
IGlmIChnX2ZpbGVfdGVzdChmb250c1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4o
R19GSUxFX1RFU1RfRVhJU1RTIHwgR19GSUxFX1RFU1RfSVNfRElSKSkpCisgICAgICAgIHJldHVy
biBmb250c1BhdGguZ2V0KCk7CisKICAgICBDU3RyaW5nIHdlYmtpdE91dHB1dERpciA9IGdldE91
dHB1dERpcigpOwotICAgIEdVbmlxdWVQdHI8Y2hhcj4gZm9udHNQYXRoKGdfYnVpbGRfZmlsZW5h
bWUod2Via2l0T3V0cHV0RGlyLmRhdGEoKSwgIkRlcGVuZGVuY2llc1dQRSIsICJSb290IiwgIndl
YmtpdGd0ay10ZXN0LWZvbnRzIiwgbnVsbHB0cikpOworICAgIGZvbnRzUGF0aC5yZXNldChnX2J1
aWxkX2ZpbGVuYW1lKHdlYmtpdE91dHB1dERpci5kYXRhKCksICJEZXBlbmRlbmNpZXNXUEUiLCAi
Um9vdCIsICJ3ZWJraXRndGstdGVzdC1mb250cyIsIG51bGxwdHIpKTsKICAgICBpZiAoZ19maWxl
X3Rlc3QoZm9udHNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNU
X0VYSVNUUyB8IEdfRklMRV9URVNUX0lTX0RJUikpKQogICAgICAgICByZXR1cm4gZm9udHNQYXRo
LmdldCgpOwogCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttIGIv
VG9vbHMvZmxhdHBhay9maWxlcy9kZWZhdWx0LnhrbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDE2ZjZiMDhmNmQ4MDg1ODA5NjhiYTAyMjU2ZDkwNzVkNDhhNDdkMC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwg
MApIY21WP2QwMDAwMQoKbGl0ZXJhbCAxMjAzMgp6Y21jZ3lZajdMYWItdWU7NUZraVZsMyVmRmNT
XnJ4KiROWTJMNHNpR3JVQyh3cHp0JlJsOUgyJXJBU3okTVVnWn0Kek4+LWY0Tn5WKF5vd1VnYE56
LUB5dERVfj5SQ1V3TlJER3FYYD4pZ0tZZFc0emBmP202YW9kQCtvdk5MJS0qQGo+Cno+fmFtSXMl
TyZXOURlKHFkKE9TKktLOTxiaStsTHVnPWc9SUA1aTIzTikwR1dlTX1YVTEwMFYyREt5fGl1U1BC
NAp6cFUyalkrUThSYDk9fDY3WSotSUg5QSRjWl9uN0NXKWMkd0hSQmk4S1dvelhFeWR4Xk51P3RN
N082TzglcXJLTWMKemJSMVJETj1HI3sjI0otRndZbDVmK0U2TzREIXUhSllPTyVJIUs/PDJ8SUdU
T2oqMnFSKilDJE5jNk9IKWN4IUxGCnooKj41VTVXVSMlUkdtdyFvbDdUe0hgYlNUSXk9WG94IW1k
UVVVXmktX3dQcVVOKT1tcWxgQUd3NUVxaCRqNilfTQp6OE9TNmczel5DbFElTU55UXRvdVEpb0FD
WVJqdlRQMHtqWl9FNU5TK3pYSlJVQEdIUXQwS1dxSzNoKm5XKy1BRjMKenRLezMyVHBvVVRffnFm
M2hoSDlrZEhDaHdteG9eLWV0RyFpUT5re1BQXmA/Zk4rYDNFbn0qKnN7SEViSTRabXNsCnpPflk+
KmUkKClxaFRuODUqPSlCOzx3a1lCbEI9e15qZUllbVlxVnl7JHJRd2VxI0AmdzJ9bE1xM0NUakhY
M0Q4Iwp6dHkoRiFAfEFNQUZ7I1JwRU15QU9ubENyVGZmSkFuQnYmWG1RYX40eWg5bl97TkBieXZX
fTgtOHZ1KSZzQD19TzMKemxgN31qeHpiIVNTMVEpWnJFK189SSR0V0RZVUhjc016UGpKZCUkPDAo
UU1fTGhfX09rRFV8QmY7KFNBPyNfVzhmCnpRay1jd1hHYHMzdClMM14jYWQmd1BAQWlANms0Uz9t
dldRVWBGMyVrVUt4WCZYdyg7KiRueSM0R21ZR1EzeiZzVwp6bTE/dDwoeTlDY2BZdjVyb1UxaDxg
Rmdke1lTJGFOKzF5O0NTI1FrTzNpWCswdCh+dG8mZVJjQ0JpQ3hyJSsoNnsKemBMLSQqRH4tOS1f
I18xUmpaZSpgQ1gkZDgjRCUwRzxCJG5SMV9IWVkqaUZETDFHXjBER08pfFFFKDV5Xj5AdSorCnp6
JUIjMzREMlJoSHduOCoqaUZLMjVfWGZZbn1wcFk+P1VEMTNBLSVwdmFyai1FKF5PWD82Uj1TIVkm
S0RFYk93ZAp6bkBYYlgoYSRPTGF8LT5PTE8tWF8mbmZoQzNqT1JOLTlgVm43IU5NJi0wXkNtd1RS
fGQpbllyPm5yfTJxWEJ5MnAKekg8XlZAJkFGKjBCbjVGSFh+O05hMCtOQURMU1VESW9lTWhgYn1z
QigqdHhLQ1ZkdWltZyZxM0NienpyPVReZT8yCnoqcmoyWWhGdXpWWTFwTTxteGYmJGNIXiljaHV0
e3IjJGgpT3lLJmYhIXcmdTdxQ1pecGhsfkRqKEh9MVEhJHA2JQp6PW5yPmRMTyhQNGwqXylaN0hq
aS1tUCR7eVhFX0VjKXBtfktwaC1sPGJDdWE5JDRhP0BNO3AmfFdxSjFycGJLMEMKenJoIUdeSUlz
enYwTWFmNEpPaThyJkk3WitJcDdxcSZTeExrITFLKWZhek4oUzB5NGg+a29uQzNuY3Btc2BJVWdv
Cno/LVk+dm00VkRwS21XaWRAdGlaQyg/STV2MlFyQHBBb0gwOUdNXmZkYEJjNjZKRlpyP0VeY3Bo
Yn57U2wjfFBDaQp6R058Z2M7IT5yIVBeQHNTLW4+RyFFZHJaQyluMlNpeH0mQnNrTHZrJFpUK2NU
NkBpXmlUaURTanA+bVoqREt9a2cKeiYqZVFeTjlDOGRjYklQWndrVWkrbTVYT0VtdzB2cVRyPHZm
eCl3Nmo8PlRMPVlMKF9AKzl4PFJKdi09Rl82YVQ9CnpDJXJnTkRzQDtqQD1GLUojaWp8P01MaiRw
WismbilkcT02R3c5blVUP1BrNT1kM2czUSltd3M0IUlMSClieUQzJQp6cFVPY2UmbkxLVURTSzNX
TXZZSk5XPExKOSRIdmsxUjw9NkNhIX4xVFQ7NXUkPzZ9eSopcmdNQ0h9Pk4zKT52ZzkKejUhKWxp
bUlHY2dfSEU1TjlFfWJyaGJ1ayQoPzt0PkVKcnpMdzdBTipuLSQjK2RmMT84ZCs2blhIcjhWeiZi
NHtlCnpqMSVkclFUNyRgKnpJb1VaZDAraXFZbFRCTmQpPUcqa081ZyNGUURhU3VYbDdoT3JpZjN9
OWFaI1ghdGF1XyREfgp6TEh8fGlgQ01oR0lFTXdvKUY7XkFJK2cqbVhHam01KmhjaloxZ2pMckJ4
MiFzKWlJQmY0VC1ITDI8XytyQUVVSngKenBUdy09TWYoaD9jQnh0UG99ZEZgP20hR3krXzdTKV5N
U1NuV3Brc3x0KGZJbExuPklDeDhgLVR3emJyMDY7cjIyCnpPJUplTXJgaEpaN2x1NSY/Z2NiQzt5
NUk2YUorZl8lcjxCSHF1RiYjUTRCe2Z1OSlwdTB9O28lRDtPVUpYIXUkRwp6LV5SZklFellRUVVw
ekR4TCshPFZVSzk7RmZTcTU9IWNHKkk0TlV8IXUrVUY3Pkoodn1QP3NuK3RPS1k9NEUxbUAKejdl
eW9Sdio4emtVaiUrT3szMjI3LVVEXmleV3hJWCt5WGtkby1jRlloYnwxPzE2UDxJTkRQcCRVNl5+
T3hCN2hqCnp6cVQjTSY4QGJyampsbDMrR3lLajJpbiNqS2ohaGhjezdMR0NkfEZJZGJ7fVRYPUJH
NGs/fFhSJlUpPEBjK1R8TAp6bHNVaX5xdSs2JHR5O3pFb1pudklkWkloPDlRKVZKX193Mjs3VXBG
PFZoODU2Z3FvPyglUX0za1dreHVeT0ZxSCYKel41JiZHMTk9OWZwMH57VEg9ODMoeyRAVDI9SWB+
I0o7RDZIYiN2PnNXKmdzWC03RSs1NEM9OzQodGpBaGRpfXQ+CnojV2ZjNW0zbHw4e09hODRWcXdX
X2tPSmorZCEoRHlHM3BHTXpDZEkpXlRvdEI5TClFJEFNPyVmMihIdD9IcSgxTwp6PGpaKjNXP1U7
Q1BfMUdFSkxxPENpTGFTVXhtc2FLQDdSSkpnIXNjXzZSTmtnOXJsaVZyPFhPJHRqayZoK1gmWnUK
ej47biQwb3lhc2UkS01nR1hRTUxUa19yMShgdzA2YntsUzhMKWY8UUN0PXteR3pPdkN6TX15QF40
fCEkdT5tT2FPCnpRUTZ4ZktZbHxBPyF9K091RlU9Pj5oZ3A4WGo5ZnVzbl87VlhMfSNwQmczQnUt
JCNBMXFgP3BmYH44biNRS0wxKwp6bF9UN3kwZURvbndnPi07X1ElTFc4fWZRMSNKe1kwcUw9PTlo
PHtie3A8ZXBlTGozRVI1QkpqRjREbVpPa0xqXz0KekB7ajhIdSFsd2J0aW8tPTg5KHskIVdscExo
dkAmfEt+Iy1RPlRtNUl0VXZnSGBoJEQqQTdGbSlrMj1PYkV9WS0yCnpjcU11cTE+cVZkaGQ7Knd1
YU89JV9BZkNXWXV9MmdlRlVNQFBseCNEZEt9SjN8QWBSKWIpUiFPUChLeW8qTG9jSgp6PE5DMT5m
NFJwXjElNW9sZjN3SDthVmhvYjVkVkNTcWFMe2JPbzshTSZuPjNeV1FoTlVhQmtzd3tZOzRlc1BL
ZWkKeiNfejklXyRQZz9yLW9rKUBsV3wmY2oyI3VfJTkyTyVncGppQV54SzlMNzh9ZEhwRzlgPEVB
XitYRzhvaWc/c1Y7CnptQ3RwS2U9VkgtJi1WRzc5I15gKFVLUUBPJilAZGFWVTA0cylaPHtfdWdt
IUk/NyFsMzlwTXszKlg0aUo9ZW04fgp6Pn5UfSFmQStjZHt9LVFZZ01hbjhfV3k/UExEUVk7LSta
cTl8Sn49PnwzN0BMe3JeKz1WZnI2WT5QQz17RCluRSYKekZ+aktte0BkcWgzOGw3IV85dkJrQ2N4
Pj80UkUmQ1BMTHlfLTV8I155QkZrVylKczgqXyR+K2VzOFlgY0kzTXtkCnowblJAOEshQ0ZXe3pD
WEw/c0A2Pyl0aXJDcHkkXkIqWW00ej1DOX0xME4zLVlhRihhJSo4dGJedDhqI2BeIXlzJgp6ZWBt
JU1UR3pDJV8wOU1aJlFGSyVhPj5pP2FvdjRiS2ZIOV5lT055e1pZSTJGa0RDUSFwdlVuZGp3e3lW
Y3RPViUKej97UEROMlljTCVzNj53XndFYSt6NHsxSyE8RUJMKTdYSHlqY2VaPE9NP0t7OCNyNGV7
Xj89N3VFTDY4dkpMKkE/CnpqflRBbDdpa34xZkw+cH41M0RjWHRVYzVKTiFsO01rMSVyQzQlMjxV
a00tREZLVmQ+VUVtKCMxPzslSWtfUjVMOQp6b2ZHU3VvISNVNVg5eGJ5Zlp0RzVhcjZBZmBwKCt1
QCVoJUhDVWZARXkoa2x9cCgrS3t7bWN5YXtBUDdoPylmcU8KekxBZjZYSnx5PU96PSEyTjEzV0FE
bGZZd2dwOU1aOV9meD4qYS1SZTsxZVBAaFQkMjBtMSloLW1JTzN3dlcpTGB2Cnp2NXRFeV8tKmVR
KmdqJEc1OWx2THg3YkpEZnYoc2AtLVdLKE42KzdqK0l7cj1IaEhGeGVoPDMmS0tnYSY9S0FRagp6
cHNWLU1aJHNCR2RpN3I1YjhgUUY7MTU5OVotPncoN1dUbVpWQXwrRntnK3tyR2Q+Nk9gMjQ5X2Vl
fG8pNzVlQygKemZeTWRke3ljUUVlZWBTNG1IT3pQaFZFMSFKJTUrdXd+VFBWOyoqJUY3YF4lKTtD
SVhZQmZ0bWJ7YC1MK2ZeZSRnCnp5dSkkd0tKWDdoIXVmcHd4K25ZU3BNPyZ1QjUkIUBmaUItaWUr
anlVS0tnVWVQNTA0bkxSYWdmelglO1ppMGhjJgp6MzRDMWMtdnhZKytgays2ZUd0fn4/QD5RfnA5
X0JmPFgkQnhfaGFze1ZaaytrXkV9N01zUD96QHlifGBtNHg2QkcKenRgNkokRV5MQ3JgOCNhJGQk
MCkjPWsmMTZANTNmMm9hZShmZSpsfUhhUEFNPXsyXj9EIXUyMypeOTklaGc9PDlFCno9OHM/IzZz
e1gjbj1pczlDfHBhekhoJkQ4cG0yUyR0UncxcT0tS3shLXs4Mzl6TCRHcC1nQSUzZUp9NjFwWERB
bQp6b0c8czhMRSpZV2QreHV2Qys5dSl5ND9UcnA4SWFAI2whaDxLTj1MU1NHNERRMF5jMlkmdnlk
OEMtOSM4ZjQmcCYKem9fa2c5VXdRdm9Bb3JANGJ5ZElmVk9aZlM1JDl0NmB3R1Z9JDFiMTBwTSEq
QmM/SkdLO28yTHZgNGlYI2gzaGYwCnoocnRONm15YjBeQElrPngxUm5yO3dtKzxPamB+TW54RDM3
bjFaQzg7aTUzMj5WO09kTExod3ZrIVFZO15yK09YMgp6eyFJdXIxZT0yTWY9PnZ4MVEhTHtmKHdF
eGc4TStQNCE3LWRFYTRxaEBPSHQrMWI7Xy1VVjtQcSRtO2h5KChTT2gKekFhPHdWJEcmN2duIWQh
RUZLT2RJUXw/S3tKKW1XcylPJGFjZV9tfFgxKW1iIS1qQ3x8ST5NaDN6OXtpczVXRmIzCnpDVSZR
VktQfGk/ezV5ZHIyQnFGRHgpWHgkN2tuO1leRnlNYDJ+Rz5YT1lsai1Gfk1FST1MUFEoT2JWdDJq
fG5+awp6Xnh9Q1o/JTglazNmdHUhcVBxaV82NVU7KnlBJFp5LTZ2YDk1IT9pTmBGPmIqY01JK2FF
e0toMV9wSW96MnkhM0EKejdgVFRidThIMzM4IXo5WT13fTNIMXh0YytLKENDP2lTOEUhVWxlPylY
TEQ3NXw2bmB0O3lUMGloUyEoJXtZaWIjCnpAbmQ4QkBjTyMrRzI0aTdkaExgS1VKeHRgez02WFRQ
a1lickd2TGdSSXpFQCl7bGBWYGFqI0UqTUV2ZytUb1FhLQp6QFRfMTQ9PXBsJUowZlllcGV1TXIm
PURMRWowJHBXR1FPX2hDaj43R3pFfCoqZn1heG5HKkRPUUNqWGN4RkF1JSoKelA5eENtPEYjaXtA
cHRWfXtuNjA2JTNxZXY3M2M1Uk15PjN0LVdNeHstd0RsR0NQfjcoZ2A9KkQ0fVdqSXhWXj1uCnoq
N15DYWNSOHhPeXQkMEl3NVE+SFlvcFdJIyYySCE2fnA8Ym8kYnloX21jPiVjajB7MDkpSXNRcXM2
RzlUaT9NKAp6WXBgZDxHT05xJCohLUVkR24wVGwmKVJiTHtRQm0zI19uSTxaPkZzSEBLeVBzaFVB
ITw/UVpSRGtNYlNuJntmKj0KekQ7eDh5WnRkLUtNJDRUbUowcWppPXVaVHdoZERQa2kxKClCK2Jn
TiQjR35xY3g1WjxhUWM8X1ZoJCpJRHVxTT5sCnpWYEZRYmpaMi1+Xl9BdFppPUVaPXleQ1lydkNY
YVMjcFI3TEI7cF90eytxd2Bvdm16a1ZybmRmbXsmVkhFOFg/Jgp6LVNzVyoyWnoqYlhTMzU/VWx+
UEY7OEFzTVZ8bkVRQGJjT144ZmllQz97PT1aTnJTMG1sKVNUdkNeViolQE5yYkYKei1veXNkIyk1
JUdTWTUtUDRaSClqZDt4Iz40dmY9YmUpPFAzS1loKCZJIT15WjxMJncxOVl9WHtJIX4+OXQ4fF9z
CnohfW17bzM/N2lxeCpPeTRabVZtI2lnRkU2VWVqcmUkdzgyZ2I9STB1bG90QF4zcCFyKjVxPERH
STZtOV48KCYkfAp6bGhOXztecUhUMkJUKFBoYmJXYysldW9NRCEyZTZ5emdqTkA+Tl5yaHpvR3FH
RiEyM2YzKmBUMkNMSmYoe1BkP0MKenpkYVk2N3dgPTZecUhVRDRkajFUbShTQmBlKT1gRWs+Nml1
UVU2TUBmY28+SjlVdTJNP05eV3xiaCE2KUY0ezQhCnpYNylCJCVzX2ZvVH57dzN4KCo4clJhXj1E
YVUkVmFMVWY2WnZ2akZmOzB8PWJpRHwpYyEzbTU8Pk5DUDgxKyMpdgp6Q093cmpKZTNtRWBTR2tB
aE0yezNkZXJsKjg8QSVzeDdVYHtJczNaRzQ4MHR8XkI0OHY4XkkwRktoWH43OEZoWEAKem9nWXhn
Mmh7TmFDJlcoMjJkPzctPmlCP0RDZiZyeGJDSlN6ZXRaSihvZXdSVXolTHNwN2lUM0NfPk97ZVFO
fEFFCnpzPGJgTVJTQkFNYWpyX1pESHJGZWdxdzE0dUY3eUo3dzBPND4tX2orVjZAdkcjaDU+WWF5
aGFTRHIpMldsKEVENAp6RHtZVlNTQXdRb29XQnhvJUVrRkI7aWc9aXpjTzZQI2tvdiFLQj5lNDF7
Qk5WbGFqIVIwLWtAPV9CZ0w4WHYpUVQKekUjYW5Jb1l4WD0lRWZzdDtpZz1pPVFQfXUlT0A/TlZ6
d1JPY3RtK1BKQmQ0Kz1oK2YhKEJecWhCRn10Y09qPG5WCnpMKFgkPE00b311VD5BfiRGOyFlJC1f
X0dRIyFQYSFVfnxrMkk+O0xSbUI0ZD1aem5pd2k1UDYyJHQzYmpDWHMjMQp6YmVfV2A9bE0qTlVP
LXZPRjJJNWgyaFZZbUdpS1dKSmZ9e19TeHpGKWJgbyhHdGFEfDFkRyh6QTspb3EjOUVzbDgKeldr
NVdhTjt7cXZIQ1JQbSRYZ20yNUFBcXY2PyUoalJ9REBIPF9aWmx0ajdsOTtDV1YpSnxVUlYkaTZp
QnEoc2xCCnpwWlRRKWktPnp6Kk18IX1YUDwtYExWN2B1MSlLcnZ0VHZXNko2S0M/XntWPTlKT0J8
NjRxVS1+ZnJHakNZYT04MAp6ck97bCR5QFg/VHQ9QTZ3WTJrZj82WHt4UzlQIWhLeXxkUHA8I1F9
STtAblZRSylHTDN0MiVSQ1pvPlN3YEY3WFIKekx3Y3tuSldMXng9blp4S0Z6UkhQR0VEcllraGZk
TDtsTnBNc2Z2bVcrKSRzIzxvWW93JDc+NnpqKFdSZ2FjO284Ck1ra3NkfmJJSWlZMDgzSzAyPjx7
OQoKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaCBiL1Rv
b2xzL2ZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3
NTUKaW5kZXggMWMwYzQ4MzA1MWZiZGY4NjA0Yjk0NGE2MzUxMWM0ZTEyMWVhZWY0ZC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL2Zp
bGVzL2h0dHBkLWF1dG9nZW4uc2gKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLWF1dG9t
YWtlIC0tYWRkLW1pc3NpbmcKLWF1dG9yZWNvbmYgLS1pbnN0YWxsCmRpZmYgLS1naXQgYS9Ub29s
cy9mbGF0cGFrL2ZsYXRwYWt1dGlscy5weSBiL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5
CmluZGV4IDg5ZWJjNjczMTBjMWQ1Yjg0YzkwY2Y1NDA3Zjk0MGMwMWIwNWVlZTYuLjc1YjhjOTQ0
YmVkY2Q5MmUyMGExODA0YzhjZTk5NTRlYTlkNWU2OWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2ZsYXRw
YWsvZmxhdHBha3V0aWxzLnB5CisrKyBiL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5CkBA
IC00OSwxNSArNDksMTAgQEAgZXhjZXB0IEltcG9ydEVycm9yOgogCiBGTEFUUEFLX1JFUSA9IFsK
ICAgICAoImZsYXRwYWsiLCAiMC4xMC4wIiksCi0gICAgKCJmbGF0cGFrLWJ1aWxkZXIiLCAiMC4x
MC4wIiksCiBdCiAKIEZMQVRQQUtfVkVSU0lPTiA9IHt9CiAKLVdQRV9NQU5JRkVTVF9NQVAgPSB7
Ci0gICAgInF0IjogIm9yZy53ZWJraXQuV1BFUVQueWFtbCIsCi19Ci0KIHNjcmlwdGRpciA9IG9z
LnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pKQogX2xvZyA9IGxvZ2dpbmcu
Z2V0TG9nZ2VyKF9fbmFtZV9fKQogCkBAIC0xMjMsMTMyICsxMTgsNiBAQCBkZWYgY2hlY2tfZmxh
dHBhayh2ZXJib3NlPVRydWUpOgogICAgIHJldHVybiBUcnVlCiAKIAotZGVmIHJlbW92ZV9leHRl
bnNpb25fcG9pbnRzKGFycmF5KToKLSAgICByZXN1bHRfYXJncyA9IFtdCi0gICAgZm9yIGFyZyBp
biBhcnJheToKLSAgICAgICAgaWYobm90IGFyZy5zdGFydHN3aXRoKCctLWV4dGVuc2lvbicpKToK
LSAgICAgICAgICAgIHJlc3VsdF9hcmdzLmFwcGVuZChhcmcpCi0gICAgcmV0dXJuIHJlc3VsdF9h
cmdzCi0KLQotZGVmIHJlbW92ZV9jb21tZW50cyhzdHJpbmcpOgotICAgIHBhdHRlcm4gPSByIihc
Ii4qP1wifFwnLio/XCcpfCgvXCouKj9cKi98Ly9bXlxyXG5dKiQpIgotICAgICMgZmlyc3QgZ3Jv
dXAgY2FwdHVyZXMgcXVvdGVkIHN0cmluZ3MgKGRvdWJsZSBvciBzaW5nbGUpCi0gICAgIyBzZWNv
bmQgZ3JvdXAgY2FwdHVyZXMgY29tbWVudHMgKC8vc2luZ2xlLWxpbmUgb3IgLyogbXVsdGktbGlu
ZSAqLykKLSAgICByZWdleCA9IHJlLmNvbXBpbGUocGF0dGVybiwgcmUuTVVMVElMSU5FIHwgcmUu
RE9UQUxMKQotCi0gICAgZGVmIF9yZXBsYWNlcihtYXRjaCk6Ci0gICAgICAgICMgaWYgdGhlIDJu
ZCBncm91cCAoY2FwdHVyaW5nIGNvbW1lbnRzKSBpcyBub3QgTm9uZSwKLSAgICAgICAgIyBpdCBt
ZWFucyB3ZSBoYXZlIGNhcHR1cmVkIGEgbm9uLXF1b3RlZCAocmVhbCkgY29tbWVudCBzdHJpbmcu
Ci0gICAgICAgIGlmIG1hdGNoLmdyb3VwKDIpIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcmV0
dXJuICIiICAjIHNvIHdlIHdpbGwgcmV0dXJuIGVtcHR5IHRvIHJlbW92ZSB0aGUgY29tbWVudAot
ICAgICAgICBlbHNlOiAgIyBvdGhlcndpc2UsIHdlIHdpbGwgcmV0dXJuIHRoZSAxc3QgZ3JvdXAK
LSAgICAgICAgICAgIHJldHVybiBtYXRjaC5ncm91cCgxKSAgIyBjYXB0dXJlZCBxdW90ZWQtc3Ry
aW5nCi0gICAgcmV0dXJuIHJlZ2V4LnN1YihfcmVwbGFjZXIsIHN0cmluZykKLQotCi1kZWYgbG9h
ZF9tYW5pZmVzdChtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWU9Tm9uZSwgY29tbWFuZD1Ob25lKToK
LSAgICBpc195YW1sID0gbWFuaWZlc3RfcGF0aC5lbmRzd2l0aCgnLnlhbWwnKQotICAgIHdpdGgg
b3BlbihtYW5pZmVzdF9wYXRoLCAiciIpIGFzIG1yOgotICAgICAgICBjb250ZW50cyA9IG1yLnJl
YWQoKQotCi0gICAgICAgIGNvbnRlbnRzID0gY29udGVudHMgJSB7IkNPTU1BTkQiOiBjb21tYW5k
LCAiUE9SVE5BTUUiOiBwb3J0X25hbWV9Ci0gICAgICAgIGlmIGlzX3lhbWw6Ci0gICAgICAgICAg
ICBpbXBvcnQgeWFtbAotICAgICAgICAgICAgeWFtbF9sb2FkID0gZ2V0YXR0cih5YW1sLCAic2Fm
ZV9sb2FkIiwgeWFtbC5sb2FkKQotICAgICAgICAgICAgbWFuaWZlc3QgPSB5YW1sX2xvYWQoY29u
dGVudHMpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBjb250ZW50cyA9IHJlbW92ZV9jb21t
ZW50cyhjb250ZW50cykKLSAgICAgICAgICAgIG1hbmlmZXN0ID0ganNvbi5sb2Fkcyhjb250ZW50
cykKLQotICAgIHJldHVybiBtYW5pZmVzdAotCi0KLWRlZiBleHBhbmRfc3VibW9kdWxlc19yZWN1
cnNlKG1vZHVsZXMsIG1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCk6Ci0gICAgYWxs
X21vZHVsZXMgPSBbXQotICAgIGlmIHR5cGUobW9kdWxlcykgaXMgc3RyOgotICAgICAgICBzdWJt
YW5pZmVzdF9wYXRoID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShtYW5pZmVzdF9wYXRo
KSwgbW9kdWxlcykKLSAgICAgICAgc3VibWFuaWZlc3QgPSBsb2FkX21hbmlmZXN0KHN1Ym1hbmlm
ZXN0X3BhdGgsIHBvcnRfbmFtZT1wb3J0X25hbWUsIGNvbW1hbmQ9Y29tbWFuZCkKLSAgICAgICAg
YWxsX21vZHVsZXMuZXh0ZW5kKGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2Uoc3VibWFuaWZlc3Qs
IHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCkpCi0gICAgICAgIHJldHVybiBh
bGxfbW9kdWxlcwotCi0gICAgIyBUaGUgbGFzdCByZWN1cnNlIG1hbmlmZXN0IGV4cGFuZCBpdGVy
YXRpb24gbWlnaHQgbGVhZCB0byBhIHNpbmdsZSBtb2R1bGUuCi0gICAgaWYgbm90IGlzaW5zdGFu
Y2UobW9kdWxlcywgbGlzdCk6Ci0gICAgICAgIGFsbF9tb2R1bGVzLmFwcGVuZChtb2R1bGVzKQot
ICAgICAgICByZXR1cm4gYWxsX21vZHVsZXMKLQotICAgIGZvciBtb2R1bGUgaW4gbW9kdWxlczoK
LSAgICAgICAgaWYgdHlwZShtb2R1bGUpIGlzIHN0cjoKLSAgICAgICAgICAgIHN1Ym1hbmlmZXN0
X3BhdGggPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKG1hbmlmZXN0X3BhdGgpLCBtb2R1
bGUpCi0gICAgICAgICAgICBzdWJtYW5pZmVzdCA9IGxvYWRfbWFuaWZlc3Qoc3VibWFuaWZlc3Rf
cGF0aCwgcG9ydF9uYW1lPXBvcnRfbmFtZSwgY29tbWFuZD1jb21tYW5kKQotICAgICAgICAgICAg
YWxsX21vZHVsZXMuZXh0ZW5kKGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2Uoc3VibWFuaWZlc3Qs
IHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCkpCi0gICAgICAgIGVsc2U6Ci0g
ICAgICAgICAgICBhbGxfbW9kdWxlcy5hcHBlbmQobW9kdWxlKQotCi0gICAgcmV0dXJuIGFsbF9t
b2R1bGVzCi0KLWRlZiBleHBhbmRfbWFuaWZlc3QobWFuaWZlc3RfcGF0aCwgb3V0ZmlsZSwgcG9y
dF9uYW1lLCBzb3VyY2Vfcm9vdCwgY29tbWFuZCk6Ci0gICAgIiIiQ3JlYXRlcyB0aGUgbWFuaWZl
c3QgZmlsZS4iIiIKLSAgICB0cnk6Ci0gICAgICAgIG9zLnJlbW92ZShvdXRmaWxlKQotICAgIGV4
Y2VwdCBPU0Vycm9yOgotICAgICAgICBwYXNzCi0KLSAgICBtYW5pZmVzdCA9IGxvYWRfbWFuaWZl
c3QobWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lPXBvcnRfbmFtZSwgY29tbWFuZD1jb21tYW5kKQot
ICAgIGlmIG5vdCBtYW5pZmVzdDoKLSAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICBpZiAic2Rr
LWhhc2giIGluIG1hbmlmZXN0OgotICAgICAgICBkZWwgbWFuaWZlc3RbInNkay1oYXNoIl0KLSAg
ICBpZiAicnVudGltZS1oYXNoIiBpbiBtYW5pZmVzdDoKLSAgICAgICAgZGVsIG1hbmlmZXN0WyJy
dW50aW1lLWhhc2giXQotCi0gICAgYWxsX21vZHVsZXMgPSBbXQotCi0gICAgb3ZlcnJpZGVuX21v
ZHVsZXMgPSBbXQotICAgIGlmICJXRUJLSVRfRVhUUkFfTU9EVUxFU0VUUyIgaW4gb3MuZW52aXJv
bjoKLSAgICAgICAgb3ZlcnJpZGVuX21vZHVsZXMgPSBsb2FkX21hbmlmZXN0KG9zLmVudmlyb25b
IldFQktJVF9FWFRSQV9NT0RVTEVTRVRTIl0pCi0gICAgICAgIGlmIG5vdCBvdmVycmlkZW5fbW9k
dWxlczoKLSAgICAgICAgICAgIG92ZXJyaWRlbl9tb2R1bGVzID0gW10KLSAgICBmb3IgbW9kdWxl
cyBpbiBtYW5pZmVzdFsibW9kdWxlcyJdOgotICAgICAgICBtb2R1bGVzID0gZXhwYW5kX3N1Ym1v
ZHVsZXNfcmVjdXJzZShtb2R1bGVzLCBtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWUsIGNvbW1hbmQp
Ci0KLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UobW9kdWxlcywgbGlzdCk6Ci0gICAgICAgICAg
ICBtb2R1bGVzID0gW21vZHVsZXNdCi0KLSAgICAgICAgZm9yIG1vZHVsZSBpbiBtb2R1bGVzOgot
ICAgICAgICAgICAgZm9yIG92ZXJyaWRlbl9tb2R1bGUgaW4gb3ZlcnJpZGVuX21vZHVsZXM6Ci0g
ICAgICAgICAgICAgICAgaWYgbW9kdWxlWyduYW1lJ10gPT0gb3ZlcnJpZGVuX21vZHVsZVsnbmFt
ZSddOgotICAgICAgICAgICAgICAgICAgICBtb2R1bGUgPSBvdmVycmlkZW5fbW9kdWxlCi0gICAg
ICAgICAgICAgICAgICAgIG92ZXJyaWRlbl9tb2R1bGVzLnJlbW92ZShtb2R1bGUpCi0gICAgICAg
ICAgICAgICAgICAgIGJyZWFrCi0KLSAgICAgICAgICAgIGFsbF9tb2R1bGVzLmFwcGVuZChtb2R1
bGUpCi0KLSAgICAjIEFuZCBhZGQgb3ZlcnJpZGVuIG1vZHVsZXMgcmlnaHQgYmVmb3JlIHRoZSB3
ZWJraXQgcG9ydCBidWlsZCBkZWYuCi0gICAgZm9yIG92ZXJyaWRlbl9tb2R1bGUgaW4gb3ZlcnJp
ZGVuX21vZHVsZXM6Ci0gICAgICAgIGFsbF9tb2R1bGVzLmluc2VydCgtMSwgb3ZlcnJpZGVuX21v
ZHVsZSkKLQotICAgIG1hbmlmZXN0WyJtb2R1bGVzIl0gPSBhbGxfbW9kdWxlcwotICAgIGZvciBt
b2R1bGUgaW4gbWFuaWZlc3RbIm1vZHVsZXMiXToKLSAgICAgICAgaWYgbm90IG1vZHVsZS5nZXQo
InNvdXJjZXMiKToKLSAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgaWYgbW9kdWxlWyJz
b3VyY2VzIl1bMF1bInR5cGUiXSA9PSAiZ2l0IjoKLSAgICAgICAgICAgIGlmIHBvcnRfbmFtZSA9
PSBtb2R1bGVbIm5hbWUiXToKLSAgICAgICAgICAgICAgICByZXBvID0gImZpbGU6Ly8iICsgc291
cmNlX3Jvb3QKLSAgICAgICAgICAgICAgICBtb2R1bGVbInNvdXJjZXMiXVswXVsidXJsIl0gPSBy
ZXBvCi0KLSAgICAgICAgZm9yIHNvdXJjZSBpbiBtb2R1bGVbInNvdXJjZXMiXToKLSAgICAgICAg
ICAgIGlmIHNvdXJjZVsidHlwZSJdID09ICJwYXRjaCIgb3IgKHNvdXJjZVsidHlwZSJdID09ICJm
aWxlIiBhbmQgc291cmNlLmdldCgncGF0aCcpKToKLSAgICAgICAgICAgICAgICBzb3VyY2VbInBh
dGgiXSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUobWFuaWZlc3RfcGF0aCksIHNvdXJj
ZVsicGF0aCJdKQotCi0gICAgd2l0aCBvcGVuKG91dGZpbGUsICJ3IikgYXMgb2Y6Ci0gICAgICAg
IG9mLndyaXRlKGpzb24uZHVtcHMobWFuaWZlc3QsIGluZGVudD00KSkKLQotICAgIHJldHVybiBU
cnVlCi0KLQogY2xhc3MgRmxhdHBha09iamVjdDoKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB1
c2VyKToKQEAgLTI4NCw3ICsxNTMsNiBAQCBjbGFzcyBGbGF0cGFrUGFja2FnZXMoRmxhdHBha09i
amVjdCk6CiAgICAgICAgIHNlbGYuYXBwcyA9IHNlbGYuX19kZXRlY3RfYXBwcygpCiAgICAgICAg
IHNlbGYucGFja2FnZXMgPSBzZWxmLnJ1bnRpbWVzICsgc2VsZi5hcHBzCiAKLQogICAgIGRlZiBf
X2RldGVjdF9wYWNrYWdlcyhzZWxmLCAqYXJncyk6CiAgICAgICAgIHBhY2tzID0gW10KICAgICAg
ICAgaWYgRkxBVFBBS19WRVJTSU9OWyJmbGF0cGFrIl0gPCAoMSwgMSwgMik6CkBAIC0zMTIsNyAr
MTgwLDYgQEAgY2xhc3MgRmxhdHBha1BhY2thZ2VzKEZsYXRwYWtPYmplY3QpOgogCiAgICAgICAg
IHJldHVybiBwYWNrcwogCi0KICAgICBkZWYgX19kZXRlY3RfcnVudGltZXMoc2VsZik6CiAgICAg
ICAgIHJldHVybiBzZWxmLl9fZGV0ZWN0X3BhY2thZ2VzKCItLXJ1bnRpbWUiKQogCkBAIC0zNjIs
NyArMjI5LDcgQEAgY2xhc3MgRmxhdHBha1JlcG9zKEZsYXRwYWtPYmplY3QpOgogICAgICAgICAg
ICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIk5vIHZhbGlkIFVSSSBmb3VuZCBmb3I6ICVzIiwg
cmVwbykKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKIAotICAgICAgICAgICAgICAgIHNl
bGYucmVwb3NbbmFtZV0gPSBGbGF0cGFrUmVwbyhuYW1lLCB1cmwsIGRlc2MsIHJlcG9zPXNlbGYp
CisgICAgICAgICAgICAgICAgc2VsZi5yZXBvc1tuYW1lXSA9IEZsYXRwYWtSZXBvKG5hbWU9bmFt
ZSwgdXJsPXVybCwgZGVzYz1kZXNjLCByZXBvcz1zZWxmKQogICAgICAgICBlbHNlOgogICAgICAg
ICAgICAgb3V0ID0gc2VsZi5mbGF0cGFrKCJyZW1vdGUtbGlzdCIsICItLWNvbHVtbnM9bmFtZSx0
aXRsZSx1cmwiKQogICAgICAgICAgICAgcmVtb3RlcyA9IFtsaW5lIGZvciBsaW5lIGluIG91dC5z
cGxpdCgiXG4iKSBpZiBsaW5lXQpAQCAtMzczLDcgKzI0MCw3IEBAIGNsYXNzIEZsYXRwYWtSZXBv
cyhGbGF0cGFrT2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJO
byB2YWxpZCBVUkkgZm91bmQgZm9yOiAlcyIsIHJlbW90ZSkKICAgICAgICAgICAgICAgICAgICAg
Y29udGludWUKIAotICAgICAgICAgICAgICAgIHNlbGYucmVwb3NbbmFtZV0gPSBGbGF0cGFrUmVw
byhuYW1lLCB1cmwsIHRpdGxlLCByZXBvcz1zZWxmKQorICAgICAgICAgICAgICAgIHNlbGYucmVw
b3NbbmFtZV0gPSBGbGF0cGFrUmVwbyhuYW1lPW5hbWUsIHVybD11cmwsIGRlc2M9dGl0bGUsIHJl
cG9zPXNlbGYpCiAKICAgICAgICAgc2VsZi5wYWNrYWdlcyA9IEZsYXRwYWtQYWNrYWdlcyhzZWxm
KQogCkBAIC00MjAsNyArMjg3LDEwIEBAIGNsYXNzIEZsYXRwYWtSZXBvKEZsYXRwYWtPYmplY3Qp
OgogICAgICAgICBpZiByZXBvX2ZpbGUgYW5kIG5vdCB1cmw6CiAgICAgICAgICAgICByZXBvID0g
Y29uZmlncGFyc2VyLkNvbmZpZ1BhcnNlcigpCiAgICAgICAgICAgICByZXBvLnJlYWQoc2VsZi5y
ZXBvX2ZpbGUubmFtZSkKLSAgICAgICAgICAgIHNlbGYudXJsID0gcmVwb1siRmxhdHBhayBSZXBv
Il1bIlVybCJdCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi51cmwgPSBy
ZXBvWyJGbGF0cGFrIFJlcG8iXVsiVXJsIl0KKyAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVF
cnJvcjoKKyAgICAgICAgICAgICAgICBzZWxmLnVybCA9IHJlcG8uZ2V0KCJGbGF0cGFrIFJlcG8i
LCAiVXJsIikKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGFzc2VydCB1cmwKIApAQCAtNDQ5
LDkgKzMxOSwxMiBAQCBjbGFzcyBGbGF0cGFrUGFja2FnZShGbGF0cGFrT2JqZWN0KToKICAgICAg
ICAgc2VsZi5hcmNoID0gYXJjaAogICAgICAgICBzZWxmLmhhc2ggPSBoYXNoCiAKLSAgICBkZWYg
X19zdHJfXyhzZWxmKToKKyAgICBkZWYgX19yZXByX18oc2VsZik6CiAgICAgICAgIHJldHVybiAi
JXMvJXMvJXMgJXMiICUgKHNlbGYubmFtZSwgc2VsZi5hcmNoLCBzZWxmLmJyYW5jaCwgc2VsZi5y
ZXBvLm5hbWUpCiAKKyAgICBkZWYgX19zdHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuICIlcy8l
cy8lcyIgJSAoc2VsZi5uYW1lLCBzZWxmLmFyY2gsIHNlbGYuYnJhbmNoKQorCiAgICAgZGVmIGlz
X2luc3RhbGxlZChzZWxmLCBicmFuY2gpOgogICAgICAgICBpZiBub3Qgc2VsZi5yZXBvOgogICAg
ICAgICAgICAgIyBCdW5kbGUgaW5zdGFsbGVkIGZyb20gZmlsZQpAQCAtNDkxLDcgKzM2NCw3IEBA
IGNsYXNzIEZsYXRwYWtQYWNrYWdlKEZsYXRwYWtPYmplY3QpOgogICAgICAgICBleHRyYV9hcmdz
LmFwcGVuZCgiLS1hc3N1bWV5ZXMiKQogCiAgICAgICAgIHNlbGYuZmxhdHBhaygidXBkYXRlIiwg
c2VsZi5uYW1lLCBzZWxmLmJyYW5jaCwgc2hvd19vdXRwdXQ9VHJ1ZSwKLSAgICAgICAgICAgICAg
ICAgICAgKmV4dHJhX2FyZ3MsIGNvbW1lbnQ9Y29tbWVudCkKKyAgICAgICAgICAgICAgICAgICAg
ICpleHRyYV9hcmdzLCBjb21tZW50PWNvbW1lbnQpCiAKIAogQGNvbnRleHRtYW5hZ2VyCkBAIC01
MTksNTEgKzM5Miw1MiBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICBnZW5lcmFsLmFk
ZF9hcmd1bWVudCgnLS12ZXJib3NlJywgYWN0aW9uPSdzdG9yZV90cnVlJywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaGVscD0nU2hvdyBkZWJ1ZyBtZXNzYWdlJykKICAgICAgICAgZ2Vu
ZXJhbC5hZGRfYXJndW1lbnQoIi0tZGVidWciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGhlbHA9IkNvbXBpbGUgd2l0aCBEZWJ1ZyBjb25maWd1cmF0aW9uLCBhbHNvIGluc3RhbGxzIFNk
ayBkZWJ1ZyBzeW1ib2xlcy4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0i
c3RvcmVfdHJ1ZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkNvbXBpbGUg
d2l0aCBEZWJ1ZyBjb25maWd1cmF0aW9uLCBhbHNvIGluc3RhbGxzIFNkayBkZWJ1ZyBzeW1ib2xl
cy4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiKQog
ICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLS1yZWxlYXNlIiwgaGVscD0iQ29tcGlsZSB3
aXRoIFJlbGVhc2UgY29uZmlndXJhdGlvbi4iLCBhY3Rpb249InN0b3JlX3RydWUiKQogICAgICAg
ICBnZW5lcmFsLmFkZF9hcmd1bWVudCgnLS1wbGF0Zm9ybScsIGFjdGlvbj0nc3RvcmUnLCBoZWxw
PSdQbGF0Zm9ybSB0byB1c2UgKGUuZy4sICJtYWMtbGlvbiIpJyksCiAgICAgICAgIGdlbmVyYWwu
YWRkX2FyZ3VtZW50KCctLWd0aycsIGFjdGlvbj0nc3RvcmVfY29uc3QnLCBkZXN0PSdwbGF0Zm9y
bScsIGNvbnN0PSdndGsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdBbGlh
cyBmb3IgLS1wbGF0Zm9ybT1ndGsnKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgnLS13
cGUnLCBhY3Rpb249J3N0b3JlX2NvbnN0JywgZGVzdD0ncGxhdGZvcm0nLCBjb25zdD0nd3BlJywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSgnQWxpYXMgZm9yIC0tcGxhdGZvcm09
d3BlJykpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9KCdBbGlhcyBmb3IgLS1w
bGF0Zm9ybT13cGUnKSkKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi1uZiIsICItLW5v
LWZsYXRwYWstdXBkYXRlIiwgZGVzdD0ibm9fZmxhdHBha191cGRhdGUiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaGVscD0iRG8gbm90IHVwZGF0ZSBmbGFwdGFrIHJ1bnRpbWUvc2RrIikKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaGVscD0iRG8gbm90IHVwZGF0ZSBmbGFwdGFrIHJ1bnRpbWUvc2Rr
IikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi11IiwgIi0tdXBkYXRlIiwgZGVzdD0i
dXBkYXRlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlVwZGF0ZSB0aGUgcnVudGltZS9z
ZGsvYXBwIGFuZCByZWJ1aWxkIHRoZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCBpZiBuZWVkZWQi
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJVcGRhdGUgdGhlIHJ1bnRpbWUvc2RrL2Fw
cCBhbmQgcmVidWlsZCB0aGUgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgaWYgbmVlZGVkIikKICAg
ICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi1iIiwgIi0tYnVpbGQtd2Via2l0IiwgZGVzdD0i
YnVpbGRfd2Via2l0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3Jl
X3RydWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkZvcmNlIHJlYnVpbGRp
bmcgdGhlIGFwcC4iKQotICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLWJhIiwgIi0tYnVp
bGQtYWxsIiwgZGVzdD0iYnVpbGRfYWxsIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBh
Y3Rpb249InN0b3JlX3RydWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkZv
cmNlIHJlYnVpbGRpbmcgdGhlIGFwcCBhbmQgaXRzIGRlcGVuZGVuY2llcy4iKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBoZWxwPSJGb3JjZSByZWJ1aWxkaW5nIHRoZSBhcHAuIikKKyAgICAgICAg
Z2VuZXJhbC5hZGRfYXJndW1lbnQoIi1iZ3N0IiwgIi0tYnVpbGQtZ3N0IiwgZGVzdD0iYnVpbGRf
Z3N0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRm9yY2UgcmVidWlsZGluZyBnc3Qt
YnVpbGQsIHJlcG9zaXRvcnkgcGF0aCBpcyBkZWZpbmVkIGJ5IHRoZSBgR1NUX0JVSUxEX1BBVEhg
IGVudmlyb25tZW50IHZhcmlhYmxlLiIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCIt
cSIsICItLXF1aWV0IiwgZGVzdD0icXVpZXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0i
RG8gbm90IHByaW50IGFueXRoaW5nIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0
aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRG8g
bm90IHByaW50IGFueXRoaW5nIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi10Iiwg
Ii0tdGVzdHMiLCBkZXN0PSJydW5fdGVzdHMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG5hcmdzPWFyZ3BhcnNlLlJFTUFJTkRFUiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBo
ZWxwPSJSdW4gTGF5b3V0VGVzdHMiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXJn
cz1hcmdwYXJzZS5SRU1BSU5ERVIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9
IlJ1biBMYXlvdXRUZXN0cyIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItYyIsICIt
LWNvbW1hbmQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hcmdzPWFyZ3BhcnNlLlJF
TUFJTkRFUiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJUaGUgY29tbWFuZCB0
byBydW4gaW4gdGhlIHNhbmRib3giLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9
InVzZXJfY29tbWFuZCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hcmdzPWFyZ3Bh
cnNlLlJFTUFJTkRFUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iVGhlIGNv
bW1hbmQgdG8gcnVuIGluIHRoZSBzYW5kYm94IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZGVzdD0idXNlcl9jb21tYW5kIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoJy0t
YXZhaWxhYmxlJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVzdD0iY2hlY2tfYXZhaWxhYmxlIiwg
aGVscD0nQ2hlY2sgaWYgcmVxdWlyZWQgZGVwZW5kZW5jaWVzIGFyZSBhdmFpbGFibGUuJyksCi0g
ICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLXVzZS1pY2VjcmVhbSIsIGhlbHA9IlVzZSB0
aGUgZGlzdHJpYnV0ZWQgaWNlY3JlYW0gKGljZWNjKSBjb21waWxlci4iLCBhY3Rpb249InN0b3Jl
X3RydWUiKQotICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLS13cGUtZXh0ZW5zaW9uIiwg
YWN0aW9uPSJzdG9yZSIsIGRlc3Q9IndwZV9leHRlbnNpb24iLCBoZWxwPSJXUEUgRXh0ZW5zaW9u
IHRvIGVuYWJsZSIpCisgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLXVzZS1pY2VjcmVh
bSIsIGRlc3Q9InVzZV9pY2VjcmVhbSIsIGhlbHA9IlVzZSB0aGUgZGlzdHJpYnV0ZWQgaWNlY3Jl
YW0gKGljZWNjKSBjb21waWxlci4iLCBhY3Rpb249InN0b3JlX3RydWUiKQogCiAgICAgICAgIGRl
YnVnb3B0aW9ucyA9IHBhcnNlci5hZGRfYXJndW1lbnRfZ3JvdXAoIkRlYnVnZ2luZyIpCiAgICAg
ICAgIGRlYnVnb3B0aW9ucy5hZGRfYXJndW1lbnQoIi0tZ2RiIiwgbmFyZ3M9Ij8iLCBoZWxwPSJB
Y3RpdmF0ZSBnZGIsIHBhc3NpbmcgZXh0cmEgYXJncyB0byBpdCBpZiB3YW50ZWQuIikKKyAgICAg
ICAgZGVidWdvcHRpb25zLmFkZF9hcmd1bWVudCgiLS1nZGItc3RhY2stdHJhY2UiLCBkZXN0PSJn
ZGJfc3RhY2tfdHJhY2UiLCBuYXJncz0iPyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0iRHVtcCB0aGUgc3RhY2t0cmFjZSB0byBzdGRvdXQuIFRoZSBhcmd1bWVudCBp
cyBhIHRpbWVzdGFtcCB0byBiZSBwYXJzZWQgYnkgY29yZWR1bXBjdGwuIikKICAgICAgICAgZGVi
dWdvcHRpb25zLmFkZF9hcmd1bWVudCgiLW0iLCAiLS1jb3JlZHVtcGN0bC1tYXRjaGVzIiwgZGVm
YXVsdD0iIiwgaGVscD0nQXJndW1lbnRzIHRvIHBhc3MgdG8gZ2RiLicpCiAKICAgICAgICAgYnVp
bGRvcHRpb25zID0gcGFyc2VyLmFkZF9hcmd1bWVudF9ncm91cCgiRXh0cmEgYnVpbGQgYXJndW1l
bnRzIikKICAgICAgICAgYnVpbGRvcHRpb25zLmFkZF9hcmd1bWVudCgiLS1tYWtlYXJncyIsIGhl
bHA9Ik9wdGlvbmFsIE1ha2VmaWxlIGZsYWdzIikKICAgICAgICAgYnVpbGRvcHRpb25zLmFkZF9h
cmd1bWVudCgiLS1jbWFrZWFyZ3MiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBo
ZWxwPSJPbmUgb3IgbW9yZSBvcHRpb25hbCBDTWFrZSBmbGFncyAoZS5nLiAtLWNtYWtlYXJncz1c
Ii1ERk9PPWJhciAtRENNQUtFX1BSRUZJWF9QQVRIPS91c3IvbG9jYWxcIikiKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9Ik9uZSBvciBtb3JlIG9wdGlvbmFsIENNYWtl
IGZsYWdzIChlLmcuIC0tY21ha2VhcmdzPVwiLURGT089YmFyIC1EQ01BS0VfUFJFRklYX1BBVEg9
L3Vzci9sb2NhbFwiKSIpCiAKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi0tY2xlYW4i
LCBkZXN0PSJjbGVhbiIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICBoZWxwPSJD
bGVhbiBwcmV2aW91cyBidWlsZHMgYW5kIHJlc3RhcnQgZnJvbSBzY3JhdGNoIikKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaGVscD0iQ2xlYW4gcHJldmlvdXMgYnVpbGRzIGFuZCByZXN0
YXJ0IGZyb20gc2NyYXRjaCIpCiAKICAgICAgICAgXywgc2VsZi5hcmdzID0gcGFyc2VyLnBhcnNl
X2tub3duX2FyZ3MoYXJncz1hcmdzLCBuYW1lc3BhY2U9c2VsZikKIApAQCAtNTgzLDYgKzQ1Nyw3
IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgIHNlbGYudXBkYXRlID0gRmFsc2UKICAg
ICAgICAgc2VsZi5hcmdzID0gW10KICAgICAgICAgc2VsZi5maW5pc2hfYXJncyA9IE5vbmUKKyAg
ICAgICAgc2VsZi5nZGJfc3RhY2tfdHJhY2UgPSBGYWxzZQogCiAgICAgICAgIHNlbGYubm9fZmxh
dHBha191cGRhdGUgPSBGYWxzZQogICAgICAgICBzZWxmLnJlbGVhc2UgPSBGYWxzZQpAQCAtNTk0
LDkgKzQ2OSwxMCBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICBzZWxmLnNhbmRib3hf
c291cmNlX3Jvb3QgPSAiL2FwcC93ZWJraXQiCiAKICAgICAgICAgc2VsZi5idWlsZF93ZWJraXQg
PSBGYWxzZQorICAgICAgICBzZWxmLmJ1aWxkX2dzdCA9IEZhbHNlCiAgICAgICAgIHNlbGYuYnVp
bGRfYWxsID0gRmFsc2UKIAotICAgICAgICBzZWxmLnNka19icmFuY2ggPSBOb25lCisgICAgICAg
IHNlbGYuc2RrX2JyYW5jaCA9ICIwLjEiCiAgICAgICAgIHNlbGYucGxhdGZvcm0gPSAiZ3RrIgog
ICAgICAgICBzZWxmLmJ1aWxkX3R5cGUgPSAiUmVsZWFzZSIKICAgICAgICAgc2VsZi5tYW5pZmVz
dF9wYXRoID0gTm9uZQpAQCAtNjA3LDcgKzQ4Myw2IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAg
ICAgICAgIHNlbGYuYXBwX21vZHVsZSA9IE5vbmUKICAgICAgICAgc2VsZi5mbGF0cGFrX2RlZmF1
bHRfYXJncyA9IFtdCiAgICAgICAgIHNlbGYuY2hlY2tfYXZhaWxhYmxlID0gRmFsc2UKLSAgICAg
ICAgc2VsZi53cGVfZXh0ZW5zaW9uID0gTm9uZQogCiAgICAgICAgICMgRGVmYXVsdCBhcHBsaWNh
dGlvbiB0byBydW4gaW4gdGhlIHNhbmRib3gKICAgICAgICAgc2VsZi5jb21tYW5kID0gTm9uZQpA
QCAtNjQ2LDMwICs1MjEsMjAgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgICAgIHNl
bGYuZ2RiID0gIiIKIAogICAgICAgICBzZWxmLmNvbW1hbmQgPSAiJXMgJXMgJXMiICUgKG9zLnBh
dGguam9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsCi0gICAgICAgICAgICAiVG9vbHMvU2Ny
aXB0cy9ydW4tbWluaWJyb3dzZXIiKSwKLSAgICAgICAgICAgICItLSIgKyBzZWxmLnBsYXRmb3Jt
Lmxvd2VyKCksCi0gICAgICAgICAgICAiIC0tZGVidWciIGlmIHNlbGYuZGVidWcgZWxzZSAiIC0t
cmVsZWFzZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJUb29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlciIpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICItLSIgKyBzZWxmLnBsYXRmb3JtLmxvd2VyKCksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAtLWRlYnVnIiBpZiBzZWxmLmRlYnVnIGVs
c2UgIiAtLXJlbGVhc2UiKQogCi0gICAgICAgIHNlbGYubmFtZSA9ICJvcmcud2Via2l0LiVzIiAl
IHNlbGYucGxhdGZvcm0KLQotICAgICAgICBpZiBzZWxmLndwZV9leHRlbnNpb246Ci0gICAgICAg
ICAgICBtYW5pZmVzdF9maWxlbmFtZSA9IFdQRV9NQU5JRkVTVF9NQVBbc2VsZi53cGVfZXh0ZW5z
aW9uXQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgbWFuaWZlc3RfZmlsZW5hbWUgPSAib3Jn
LndlYmtpdC5XZWJLaXQueWFtbCIKLSAgICAgICAgc2VsZi5tYW5pZmVzdF9wYXRoID0gb3MucGF0
aC5hYnNwYXRoKG9zLnBhdGguam9pbihzY3JpcHRkaXIsICcuLi9mbGF0cGFrLycpICsgbWFuaWZl
c3RfZmlsZW5hbWUpCi0KLSAgICAgICAgc2VsZi5idWlsZF9uYW1lID0gc2VsZi5uYW1lICsgIi1n
ZW5lcmF0ZWQiCisgICAgICAgIHNlbGYuZmxhdHBha19idWlsZF9wYXRoID0gb3MuZW52aXJvblsi
RkxBVFBBS19VU0VSX0RJUiJdCiAKICAgICAgICAgYnVpbGRfcm9vdCA9IG9zLnBhdGguam9pbihz
ZWxmLnNvdXJjZV9yb290LCAnV2ViS2l0QnVpbGQnKQotICAgICAgICBzZWxmLmZsYXRwYWtfYnVp
bGRfcGF0aCA9IG9zLnBhdGguam9pbihidWlsZF9yb290LCBzZWxmLnBsYXRmb3JtLCAiRmxhdHBh
a1RyZWUiICsgc2VsZi5idWlsZF90eXBlKQotICAgICAgICBzZWxmLmNhY2hlX3BhdGggPSBvcy5w
YXRoLmpvaW4oYnVpbGRfcm9vdCwgIkZsYXRwYWtDYWNoZSIpCiAgICAgICAgIHNlbGYuYnVpbGRf
cGF0aCA9IG9zLnBhdGguam9pbihidWlsZF9yb290LCBzZWxmLnBsYXRmb3JtLCBzZWxmLmJ1aWxk
X3R5cGUpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG9zLm1ha2VkaXJzKHNlbGYuYnVpbGRf
cGF0aCkKICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgIGlmIGUuZXJy
bm8gIT0gZXJybm8uRUVYSVNUOgogICAgICAgICAgICAgICAgIHJhaXNlIGUKLSAgICAgICAgc2Vs
Zi5jb25maWdfZmlsZSA9IG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3BhdGgsICd3ZWJraXRfZmxh
dHBha19jb25maWcuanNvbicpCisgICAgICAgIHNlbGYuY29uZmlnX2ZpbGUgPSBvcy5wYXRoLmpv
aW4oc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsICd3ZWJraXRfZmxhdHBha19jb25maWcuanNvbicp
CiAKICAgICAgICAgQ29uc29sZS5xdWlldCA9IHNlbGYucXVpZXQKICAgICAgICAgaWYgbm90IGNo
ZWNrX2ZsYXRwYWsoKToKQEAgLTY3NywzNSArNTQyLDM1IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6
CiAKICAgICAgICAgcmVwb3MgPSBGbGF0cGFrUmVwb3MoKQogICAgICAgICBzZWxmLnNka19yZXBv
ID0gcmVwb3MuYWRkKAotICAgICAgICAgICAgRmxhdHBha1JlcG8oImZsYXRodWIiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgdXJsPSJodHRwczovL2RsLmZsYXRodWIub3JnL3JlcG8vIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHJlcG9fZmlsZT0iaHR0cHM6Ly9kbC5mbGF0aHViLm9yZy9y
ZXBvL2ZsYXRodWIuZmxhdHBha3JlcG8iKSkKKyAgICAgICAgICAgIEZsYXRwYWtSZXBvKCJ3ZWJr
aXQtc2RrIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVybD0iaHR0cHM6Ly9zb2Z0d2FyZS5p
Z2FsaWEuY29tL3dlYmtpdC1zZGstcmVwby8iLAorICAgICAgICAgICAgICAgICAgICAgICAgcmVw
b19maWxlPSJodHRwczovL3NvZnR3YXJlLmlnYWxpYS5jb20vZmxhdHBhay1yZWZzL3dlYmtpdC1z
ZGsuZmxhdHBha3JlcG8iKQorICAgICAgICApCiAKLSAgICAgICAgbWFuaWZlc3QgPSBsb2FkX21h
bmlmZXN0KHNlbGYubWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lPXNlbGYubmFtZSkKLSAgICAgICAg
aWYgbm90IG1hbmlmZXN0OgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICAgICAgc2Vs
Zi5hcHAgPSBtYW5pZmVzdFsnYXBwLWlkJ10KLQotICAgICAgICBzZWxmLnNka19icmFuY2ggPSBt
YW5pZmVzdFsicnVudGltZS12ZXJzaW9uIl0KLSAgICAgICAgc2VsZi5maW5pc2hfYXJncyA9IG1h
bmlmZXN0LmdldCgiZmluaXNoLWFyZ3MiLCBbXSkKLSAgICAgICAgc2VsZi5maW5pc2hfYXJncyA9
IHJlbW92ZV9leHRlbnNpb25fcG9pbnRzKHNlbGYuZmluaXNoX2FyZ3MpCi0gICAgICAgIHNlbGYu
cnVudGltZSA9IEZsYXRwYWtQYWNrYWdlKG1hbmlmZXN0WydydW50aW1lJ10sIHNlbGYuc2RrX2Jy
YW5jaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVw
bywgIng4Nl82NCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc2g9
bWFuaWZlc3QuZ2V0KCJydW50aW1lLWhhc2giKSkKLSAgICAgICAgc2VsZi5sb2NhbGUgPSBGbGF0
cGFrUGFja2FnZShtYW5pZmVzdFsncnVudGltZSddICsgJy5Mb2NhbGUnLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX2JyYW5jaCwgc2VsZi5zZGtfcmVwbywg
Ing4Nl82NCIpCi0gICAgICAgIHNlbGYuc2RrID0gRmxhdHBha1BhY2thZ2UobWFuaWZlc3RbJ3Nk
ayddLCBzZWxmLnNka19icmFuY2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2VsZi5zZGtfcmVwbywgIng4Nl82NCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaGFzaD1tYW5pZmVzdC5nZXQoInNkay1oYXNoIikpCisgICAgICAgIHNlbGYuZmluaXNoX2Fy
Z3MgPSBbXQorICAgICAgICBzZWxmLnJ1bnRpbWUgPSBGbGF0cGFrUGFja2FnZSgib3JnLndlYmtp
dC5QbGF0Zm9ybSIsIHNlbGYuc2RrX2JyYW5jaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCisgICAgICAgIHNlbGYubG9jYWxl
ID0gRmxhdHBha1BhY2thZ2UoIm9yZy53ZWJraXQuUGxhdGZvcm0uTG9jYWxlIiwgc2VsZi5zZGtf
YnJhbmNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX3Jl
cG8sICJ4ODZfNjQiKQorICAgICAgICBzZWxmLnNkayA9IEZsYXRwYWtQYWNrYWdlKCJvcmcud2Vi
a2l0LlNkayIsICIwLjEiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu
c2RrX3JlcG8sICJ4ODZfNjQiKQogICAgICAgICBzZWxmLnBhY2tzID0gW3NlbGYucnVudGltZSwg
c2VsZi5sb2NhbGUsIHNlbGYuc2RrXQogCisgICAgICAgICMgRklYTUU6IEZvciB1bmtub3duIHJl
YXNvbnMsIHRoZSBHTCBleHRlbnNpb24gbmVlZHMgdG8gYmUgZXhwbGljaXRlbHkKKyAgICAgICAg
IyBpbnN0YWxsZWQgZm9yIEZsYXRwYWsgMS4yLnggdG8gYmUgYWJsZSB0byBtYWtlIHVzZSBvZiBp
dC4gU2VlbXMgbGlrZQorICAgICAgICAjIGl0J3Mgbm90IGNvcnJlY3RseSBpbmhlcml0aW5nIGl0
IGZyb20gdGhlIFNESy4KKyAgICAgICAgc2VsZi5mbGF0aHViX3JlcG8gPSByZXBvcy5hZGQoCisg
ICAgICAgICAgICBGbGF0cGFrUmVwbygiZmxhdGh1YiIsIHJlcG9fZmlsZT0iaHR0cHM6Ly9kbC5m
bGF0aHViLm9yZy9yZXBvL2ZsYXRodWIuZmxhdHBha3JlcG8iKQorICAgICAgICApCisgICAgICAg
IHNlbGYuZ2xfZXh0ZW5zaW9uID0gRmxhdHBha1BhY2thZ2UoIm9yZy5mcmVlZGVza3RvcC5QbGF0
Zm9ybS5HTC5kZWZhdWx0IiwgIjE5LjA4IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzZWxmLmZsYXRodWJfcmVwbywgIng4Nl82NCIpCisgICAgICAgIHNlbGYu
cGFja3MuYXBwZW5kKHNlbGYuZ2xfZXh0ZW5zaW9uKQorCiAgICAgICAgIGlmIHNlbGYuZGVidWc6
Ci0gICAgICAgICAgICBzZWxmLnNka19kZWJ1ZyA9IEZsYXRwYWtQYWNrYWdlKG1hbmlmZXN0Wydz
ZGsnXSArICcuRGVidWcnLCBzZWxmLnNka19icmFuY2gsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQiKQorICAgICAgICAgICAgc2Vs
Zi5zZGtfZGVidWcgPSBGbGF0cGFrUGFja2FnZSgnb3JnLndlYmtpdC5TZGsuRGVidWcnLCBzZWxm
LnNka19icmFuY2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQiKQogICAgICAgICAgICAgc2VsZi5wYWNrcy5hcHBlbmQo
c2VsZi5zZGtfZGVidWcpCi0gICAgICAgIHNlbGYubWFuaWZlc3RfZ2VuZXJhdGVkX3BhdGggPSBv
cy5wYXRoLmpvaW4oc2VsZi5jYWNoZV9wYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYnVpbGRfbmFtZSArICIuanNvbiIpCisKICAg
ICAgICAgdHJ5OgogICAgICAgICAgICAgd2l0aCBvcGVuKHNlbGYuY29uZmlnX2ZpbGUpIGFzIGNv
bmZpZzoKICAgICAgICAgICAgICAgICBqc29uX2NvbmZpZyA9IGpzb24ubG9hZChjb25maWcpCkBA
IC03MTUsNyArNTgwLDQ1IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAKICAgICAgICAgcmV0dXJu
IFRydWUKIAorICAgIGRlZiBzZXR1cF9idWlsZGRpcihzZWxmLCAqKmt3YXJncyk6CisgICAgICAg
IGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCwg
Im1ldGFkYXRhIikpOgorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgc2VsZi5zZGtfcmVw
by5mbGF0cGFrKCJidWlsZC1pbml0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl
bGYuZmxhdHBha19idWlsZF9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9y
Zy53ZWJraXQuV2Via2l0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZWxm
LnNkayksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2VsZi5ydW50aW1lKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrLmJyYW5jaCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNob3dfb3V0cHV0PSJzdGRvdXQiIGluIGt3YXJncy5rZXlz
KCkpCisKKyAgICBkZWYgc2V0dXBfZ3N0YnVpbGQoc2VsZiwgYnVpbGRpbmcpOgorICAgICAgICBn
c3RfZGlyID0gb3MuZW52aXJvbi5nZXQoJ0dTVF9CVUlMRF9QQVRIJykKKyAgICAgICAgaWYgbm90
IGdzdF9kaXI6CisgICAgICAgICAgICByZXR1cm4gW10KKworICAgICAgICBpZiBub3Qgb3MucGF0
aC5leGlzdHMob3MucGF0aC5qb2luKGdzdF9kaXIsICdnc3QtZW52LnB5JykpOgorICAgICAgICAg
ICAgcmFpc2UgUnVudGltZUVycm9yKCdHU1RfQlVJTERfUEFUSCBzZXQgdG8gJXMgYnV0IGl0IGRv
ZXNuXCd0IHNlZW0gdG8gYmUgYSB2YWxpZCBgZ3N0LWJ1aWxkYCBjaGVja291dC4nICUgZ3N0X2Rp
cikKKworICAgICAgICBnc3RfYnVpbGRkaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5zYW5kYm94X3Nv
dXJjZV9yb290LCAiV2ViS2l0QnVpbGQiLCAnZ3N0LWJ1aWxkJykKKyAgICAgICAgaWYgbm90IG9z
LnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihzZWxmLnNvdXJjZV9yb290LCAnV2ViS2l0QnVpbGQn
LCAnZ3N0LWJ1aWxkJywgJ2J1aWxkLm5pbmphJykpOgorICAgICAgICAgICAgaWYgbm90IGJ1aWxk
aW5nOgorICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignVHJ5aW5nIHRvIGVudGVy
IGdzdC1idWlsZCBlbnYgZnJvbSAlcyBidXQgaXQgaXMgbm90IGJ1aWx0LCBtYWtlIHN1cmUgdG8g
cmVidWlsZCB3ZWJraXQuJyAlIGdzdF9kaXIpCisKKyAgICAgICAgICAgIENvbnNvbGUubWVzc2Fn
ZSgiUnVubmluZyBtZXNvbiBmb3IgYGdzdC1idWlsZGAgJXMgIiwgZ3N0X2RpcikKKyAgICAgICAg
ICAgIHNlbGYucnVuX2luX3NhbmRib3goJ21lc29uJywgZ3N0X2RpciwgZ3N0X2J1aWxkZGlyLCBi
dWlsZGluZ19nc3Q9VHJ1ZSkKKworICAgICAgICBpZiBub3QgYnVpbGRpbmc6CisgICAgICAgICAg
ICByZXR1cm4gW29zLnBhdGguam9pbihnc3RfZGlyLCAnZ3N0LWVudi5weScpLCAnLS1idWlsZGRp
cicsIGdzdF9idWlsZGRpciwgJy0tc3JjZGlyJywgZ3N0X2Rpcl0KKworICAgICAgICBDb25zb2xl
Lm1lc3NhZ2UoIkJ1aWxkaW5nIGBnc3QtYnVpbGRgICVzICIsIGdzdF9kaXIpCisgICAgICAgIGlm
IHNlbGYucnVuX2luX3NhbmRib3goJ25pbmphJywgJy1DJywgZ3N0X2J1aWxkZGlyLCBidWlsZGlu
Z19nc3Q9VHJ1ZSkgIT0gMDoKKyAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignRXJyb3Ig
d2hpbGUgYnVpbGRpbmcgZ3N0LWJ1aWxkLicpCisKKyAgICAgICAgcmV0dXJuIFtvcy5wYXRoLmpv
aW4oZ3N0X2RpciwgJ2dzdC1lbnYucHknKSwgJy0tYnVpbGRkaXInLCBnc3RfYnVpbGRkaXIsICct
LXNyY2RpcicsIGdzdF9kaXJdCisKICAgICBkZWYgcnVuX2luX3NhbmRib3goc2VsZiwgKmFyZ3Ms
ICoqa3dhcmdzKToKKyAgICAgICAgc2VsZi5zZXR1cF9idWlsZGRpcihzdGRvdXQ9a3dhcmdzLmdl
dCgic3Rkb3V0Iiwgc3lzLnN0ZG91dCkpCiAgICAgICAgIGN3ZCA9IGt3YXJncy5wb3AoImN3ZCIs
IE5vbmUpCiAgICAgICAgIGV4dHJhX2Vudl92YXJzID0ga3dhcmdzLnBvcCgiZW52Iiwge30pCiAg
ICAgICAgIHN0ZG91dCA9IGt3YXJncy5wb3AoInN0ZG91dCIsIHN5cy5zdGRvdXQpCkBAIC03MjMs
NiArNjI2LDcgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKIAogICAgICAgICBpZiBub3QgaXNpbnN0
YW5jZShhcmdzLCBsaXN0KToKICAgICAgICAgICAgIGFyZ3MgPSBsaXN0KGFyZ3MpCisKICAgICAg
ICAgaWYgYXJnczoKICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGFyZ3NbMF0pOgogICAg
ICAgICAgICAgICAgIGNvbW1hbmQgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguYWJzcGF0aChh
cmdzWzBdKSkKQEAgLTczMCw5NCArNjM0LDEyMiBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAg
ICAgICAgICAgICAgIGFyZ3NbMF0gPSBjb21tYW5kLnJlcGxhY2Uoc2VsZi5zb3VyY2Vfcm9vdCwg
c2VsZi5zYW5kYm94X3NvdXJjZV9yb290KQogICAgICAgICAgICAgaWYgYXJnc1swXS5lbmRzd2l0
aCgiYnVpbGQtd2Via2l0Iik6CiAgICAgICAgICAgICAgICAgYXJncy5hcHBlbmQoIi0tcHJlZml4
PS9hcHAiKQorICAgICAgICBidWlsZGluZyA9IG9zLnBhdGguYmFzZW5hbWUoYXJnc1swXSkuc3Rh
cnRzd2l0aCgiYnVpbGQiKQogCiAgICAgICAgIHNhbmRib3hfYnVpbGRfcGF0aCA9IG9zLnBhdGgu
am9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsICJXZWJLaXRCdWlsZCIsIHNlbGYuYnVpbGRf
dHlwZSkKLSAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUobW9kZT0idyIp
IGFzIHRtcHNjcmlwdDoKLSAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZCA9IFsiZmxhdHBhayIs
ICJidWlsZCIsICItLWRpZS13aXRoLXBhcmVudCIsCi0gICAgICAgICAgICAgICAgIi0tYmluZC1t
b3VudD0vcnVuL3NobT0vZGV2L3NobSIsCi0gICAgICAgICAgICAgICAgIyBXb3JrYXJvdW5kIGZv
ciBodHRwczovL3dlYmtpdC5vcmcvYi8xODczODQgdG8gaGF2ZSBvdXIgb3duIHBlcmwgbW9kdWxl
cyB1c2FibGUgaW5zaWRlIHRoZSBzYW5kYm94Ci0gICAgICAgICAgICAgICAgIyBhcyBzZXR0aW5n
IHRoZSBQRVJMNUxJQiBlbnZ2YXIgd29uJ3Qgd29yayBpbnNpZGUgYXBhY2hlIChhbmQgZm9yIHNj
cmlwdHMgdXNpbmcgYHBlcmwgLVRgYCkuCi0gICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0v
cnVuL2hvc3QvJXM9JXMiICUgKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwgdGVtcGZpbGUuZ2V0dGVt
cGRpcigpKSwKLSAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PSVzPSVzIiAlIChzZWxmLnNh
bmRib3hfc291cmNlX3Jvb3QsIHNlbGYuc291cmNlX3Jvb3QpLAorICAgICAgICBmbGF0cGFrX2Nv
bW1hbmQgPSBbImZsYXRwYWsiLCAiYnVpbGQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ii0tZGllLXdpdGgtcGFyZW50IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLXRhbGst
bmFtZT1vcmcuYTExeS5CdXMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tdGFsay1u
YW1lPW9yZy5ndGsudmZzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLXRhbGstbmFt
ZT1vcmcuZ3RrLnZmcy4qIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91
bnQ9L3J1bi9zaG09L2Rldi9zaG0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBXb3Jr
YXJvdW5kIGZvciBodHRwczovL3dlYmtpdC5vcmcvYi8xODczODQgdG8gaGF2ZSBvdXIgb3duIHBl
cmwgbW9kdWxlcyB1c2FibGUgaW5zaWRlIHRoZSBzYW5kYm94CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAjIGFzIHNldHRpbmcgdGhlIFBFUkw1TElCIGVudnZhciB3b24ndCB3b3JrIGluc2lk
ZSBhcGFjaGUgKGFuZCBmb3Igc2NyaXB0cyB1c2luZyBgcGVybCAtVGBgKS4KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9L3J1bi9ob3N0LyVzPSVzIiAlICh0ZW1wZmls
ZS5nZXR0ZW1wZGlyKCksIHRlbXBmaWxlLmdldHRlbXBkaXIoKSksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiLS1iaW5kLW1vdW50PSVzPSVzIiAlIChzZWxmLnNhbmRib3hfc291cmNlX3Jv
b3QsIHNlbGYuc291cmNlX3Jvb3QpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBXZSBt
b3VudCBXZWJLaXRCdWlsZC9QT1JUTkFNRS9CdWlsZFR5cGUgdG8gL2FwcC93ZWJraXQvV2ViS2l0
QnVpbGQvQnVpbGRUeXBlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHNvIHdlIGNhbiBi
dWlsZCBXUEUgYW5kIEdUSyBpbiBhIHNhbWUgc291cmNlIHRyZWUuCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiLS1iaW5kLW1vdW50PSVzPSVzIiAlIChzYW5kYm94X2J1aWxkX3BhdGgsIHNl
bGYuYnVpbGRfcGF0aCldCisKKyAgICAgICAgZm9yd2FyZGVkID0geworICAgICAgICAgICAgIldF
QktJVF9UT1BfTEVWRUwiOiAiL2FwcC8iLAorICAgICAgICAgICAgIlRFU1RfUlVOTkVSX0lOSkVD
VEVEX0JVTkRMRV9GSUxFTkFNRSI6IG9zLnBhdGguam9pbihzYW5kYm94X2J1aWxkX3BhdGgsICJs
aWIvbGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLnNvIiksCisgICAgICAgIH0KKworICAgICAg
ICBpZiBub3QgYnVpbGRpbmc6CisgICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQuZXh0ZW5kKFsK
KyAgICAgICAgICAgICAgICAiLS1kZXZpY2U9YWxsIiwKKyAgICAgICAgICAgICAgICAiLS1kZXZp
Y2U9ZHJpIiwKKyAgICAgICAgICAgICAgICAiLS1maWxlc3lzdGVtPWhvc3QiLAorICAgICAgICAg
ICAgICAgICItLXNoYXJlPWlwYyIsCisgICAgICAgICAgICAgICAgIi0tc2hhcmU9bmV0d29yayIs
CisgICAgICAgICAgICAgICAgIi0tc29ja2V0PXB1bHNlYXVkaW8iLAorICAgICAgICAgICAgICAg
ICItLXNvY2tldD1zeXN0ZW0tYnVzIiwKKyAgICAgICAgICAgICAgICAiLS1zb2NrZXQ9d2F5bGFu
ZCIsCisgICAgICAgICAgICAgICAgIi0tc29ja2V0PXgxMSIsCisgICAgICAgICAgICAgICAgIi0t
c3lzdGVtLXRhbGstbmFtZT1vcmcuYTExeS5CdXMiLAorICAgICAgICAgICAgICAgICItLXN5c3Rl
bS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkdlb0NsdWUyIiwKICAgICAgICAgICAgICAgICAi
LS10YWxrLW5hbWU9b3JnLmExMXkuQnVzIiwKLSAgICAgICAgICAgICAgICAiLS10YWxrLW5hbWU9
b3JnLmd0ay52ZnMiLAotICAgICAgICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuZ3RrLnZmcy4q
IiwKLSAgICAgICAgICAgICAgICAjIFdlIG1vdW50IFdlYktpdEJ1aWxkL1BPUlROQU1FL0J1aWxk
VHlwZSB0byAvYXBwL3dlYmtpdC9XZWJLaXRCdWlsZC9CdWlsZFR5cGUKLSAgICAgICAgICAgICAg
ICAjIHNvIHdlIGNhbiBidWlsZCBXUEUgYW5kIEdUSyBpbiBhIHNhbWUgc291cmNlIHRyZWUuCi0g
ICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0lcz0lcyIgJSAoc2FuZGJveF9idWlsZF9wYXRo
LCBzZWxmLmJ1aWxkX3BhdGgpXQotCi0gICAgICAgICAgICBmb3J3YXJkZWQgPSB7Ci0gICAgICAg
ICAgICAgICAgIldFQktJVF9UT1BfTEVWRUwiOiAiL2FwcC8iLAotICAgICAgICAgICAgICAgICJU
RVNUX1JVTk5FUl9JTkpFQ1RFRF9CVU5ETEVfRklMRU5BTUUiOiAiL2FwcC93ZWJraXQvbGliL2xp
YlRlc3RSdW5uZXJJbmplY3RlZEJ1bmRsZS5zbyIsCisgICAgICAgICAgICAgICAgIi0tdGFsay1u
YW1lPW9yZy5mcmVlZGVza3RvcC5GbGF0cGFrIgorICAgICAgICAgICAgXSkKKworICAgICAgICAg
ICAgZm9yd2FyZGVkLnVwZGF0ZSh7CisgICAgICAgICAgICAgICAgIlRaIjogIlBTVDhQRFQiLAor
ICAgICAgICAgICAgICAgICJMQU5HIjogImVuX1VTLlVURi04IgorICAgICAgICAgICAgfSkKKwor
ICAgICAgICBlbnZfdmFyX3ByZWZpeGVzX3RvX2tlZXAgPSBbCisgICAgICAgICAgICAiRyIsCisg
ICAgICAgICAgICAiR0lHQUNBR0UiLAorICAgICAgICAgICAgIkdTVCIsCisgICAgICAgICAgICAi
R1RLIiwKKyAgICAgICAgICAgICJJQ0VDQyIsCisgICAgICAgICAgICAiSlNDIiwKKyAgICAgICAg
ICAgICJXRUJLSVQiLAorICAgICAgICAgICAgIldFQktJVDIiLAorICAgICAgICAgICAgIldQRSIs
CisgICAgICAgIF0KKworICAgICAgICBlbnZfdmFyX3N1ZmZpeGVzX3RvX2tlZXAgPSBbCisgICAg
ICAgICAgICAiSlNDX0FSR1MiLAorICAgICAgICAgICAgIldFQktJVF9BUkdTIiwKKyAgICAgICAg
XQorCisgICAgICAgIGVudl92YXJzX3RvX2tlZXAgPSBbCisgICAgICAgICAgICAiQ0MiLAorICAg
ICAgICAgICAgIkNDQUNIRV9QUkVGSVgiLAorICAgICAgICAgICAgIkNGTEFHUyIsCisgICAgICAg
ICAgICAiQ1hYIiwKKyAgICAgICAgICAgICJDWFhGTEFHUyIsCisgICAgICAgICAgICAiRElTUExB
WSIsCisgICAgICAgICAgICAiSmF2YVNjcmlwdENvcmVVc2VKSVQiLAorICAgICAgICAgICAgIkxB
TkciLAorICAgICAgICAgICAgIkxERkxBR1MiLAorICAgICAgICAgICAgIk1hbGxvYyIsCisgICAg
ICAgICAgICAiTlVNQkVSX09GX1BST0NFU1NPUlMiLAorICAgICAgICAgICAgIlFNTDJfSU1QT1JU
X1BBVEgiLAorICAgICAgICAgICAgIldBWUxBTkRfRElTUExBWSIsCisgICAgICAgICAgICAiV0FZ
TEFORF9TT0NLRVQiLAorICAgICAgICBdCisKKyAgICAgICAgZW52X3ZhcnMgPSBvcy5lbnZpcm9u
CisgICAgICAgIGVudl92YXJzLnVwZGF0ZShleHRyYV9lbnZfdmFycykKKyAgICAgICAgZm9yIGVu
dnZhciwgdmFsdWUgaW4gZW52X3ZhcnMuaXRlbXMoKToKKyAgICAgICAgICAgIHZhcl90b2tlbnMg
PSBlbnZ2YXIuc3BsaXQoIl8iKQorICAgICAgICAgICAgaWYgdmFyX3Rva2Vuc1swXSBpbiBlbnZf
dmFyX3ByZWZpeGVzX3RvX2tlZXAgb3IgZW52dmFyIGluIGVudl92YXJzX3RvX2tlZXAgb3IgdmFy
X3Rva2Vuc1stMV0gaW4gZW52X3Zhcl9zdWZmaXhlc190b19rZWVwOgorICAgICAgICAgICAgICAg
IGZvcndhcmRlZFtlbnZ2YXJdID0gdmFsdWUKKworICAgICAgICBpZiBzZWxmLnVzZV9pY2VjcmVh
bToKKyAgICAgICAgICAgIF9sb2cuZGVidWcoJ0VuYWJsaW5nIHRoZSBpY2VjcmVhbSBjb21waWxl
cicpCisgICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQuZXh0ZW5kKFsiLS1zaGFyZT1uZXR3b3Jr
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9L3Zh
ci9ydW4vaWNlY2M9L3Zhci9ydW4vaWNlY2MiXSkKKworICAgICAgICAgICAgbl9jb3JlcyA9IG11
bHRpcHJvY2Vzc2luZy5jcHVfY291bnQoKSAqIDMKKyAgICAgICAgICAgIF9sb2cuZGVidWcoJ0Zv
bGxvd2luZyBpY2VjcmVhbSByZWNvbW1lbmRhdGlvbiBmb3IgdGhlIG51bWJlciBvZiBjb3JlcyB0
byB1c2U6ICVkJyAlIG5fY29yZXMpCisgICAgICAgICAgICBmb3J3YXJkZWQudXBkYXRlKHsKKyAg
ICAgICAgICAgICAgICAiQ0NBQ0hFX1BSRUZJWCI6ICJpY2VjYyIsCiAgICAgICAgICAgICAgICAg
IklDRUNDX1ZFUlNJT04iOiBzZWxmLmljY192ZXJzaW9uLAotICAgICAgICAgICAgfQotCi0gICAg
ICAgICAgICBlbnZfdmFyX3ByZWZpeGVzX3RvX2tlZXAgPSBbCi0gICAgICAgICAgICAgICAgIkdT
VCIsCi0gICAgICAgICAgICAgICAgIkdUSyIsCi0gICAgICAgICAgICAgICAgIkciLAotICAgICAg
ICAgICAgICAgICJKU0MiLAotICAgICAgICAgICAgICAgICJXRUJLSVQiLAotICAgICAgICAgICAg
ICAgICJXRUJLSVQyIiwKLSAgICAgICAgICAgICAgICAiV1BFIiwKLSAgICAgICAgICAgICAgICAi
R0lHQUNBR0UiLAotICAgICAgICAgICAgXQotCi0gICAgICAgICAgICBlbnZfdmFyc190b19rZWVw
ID0gWwotICAgICAgICAgICAgICAgICJKYXZhU2NyaXB0Q29yZVVzZUpJVCIsCi0gICAgICAgICAg
ICAgICAgIk1hbGxvYyIsCi0gICAgICAgICAgICAgICAgIldBWUxBTkRfRElTUExBWSIsCi0gICAg
ICAgICAgICAgICAgIldBWUxBTkRfU09DS0VUIiwKLSAgICAgICAgICAgICAgICAiRElTUExBWSIs
Ci0gICAgICAgICAgICAgICAgIkxBTkciLAotICAgICAgICAgICAgICAgICJOVU1CRVJfT0ZfUFJP
Q0VTU09SUyIsCi0gICAgICAgICAgICAgICAgIkNDQUNIRV9QUkVGSVgiLAotICAgICAgICAgICAg
ICAgICJRTUwyX0lNUE9SVF9QQVRIIiwKLSAgICAgICAgICAgIF0KLQotICAgICAgICAgICAgaWYg
c2VsZi51c2VfaWNlY3JlYW06Ci0gICAgICAgICAgICAgICAgX2xvZy5kZWJ1ZygnRW5hYmxpbmcg
dGhlIGljZWNyZWFtIGNvbXBpbGVyJykKLSAgICAgICAgICAgICAgICBmb3J3YXJkZWRbIkNDQUNI
RV9QUkVGSVgiXSA9ICJpY2VjYyIKLSAgICAgICAgICAgICAgICBpZiBub3Qgb3MuZW52aXJvbi5n
ZXQoJ05VTUJFUl9PRl9QUk9DRVNTT1JTJyk6Ci0gICAgICAgICAgICAgICAgICAgIG5fY29yZXMg
PSBtdWx0aXByb2Nlc3NpbmcuY3B1X2NvdW50KCkgKiAzCi0gICAgICAgICAgICAgICAgICAgIF9s
b2cuZGVidWcoJ0ZvbGxvdyBpY2VjcmVhbSByZWNvbW1lbmRhdGlvbiBmb3IgdGhlIG51bWJlciBv
ZiBjb3JlcyB0byB1c2U6ICVkJyAlIG5fY29yZXMpCi0gICAgICAgICAgICAgICAgICAgIGZvcndh
cmRlZFsiTlVNQkVSX09GX1BST0NFU1NPUlMiXSA9IG5fY29yZXMKLQotICAgICAgICAgICAgZW52
X3ZhcnMgPSBvcy5lbnZpcm9uCi0gICAgICAgICAgICBlbnZfdmFycy51cGRhdGUoZXh0cmFfZW52
X3ZhcnMpCi0gICAgICAgICAgICBmb3IgZW52dmFyLCB2YWx1ZSBpbiBlbnZfdmFycy5pdGVtcygp
OgotICAgICAgICAgICAgICAgIGlmIGVudnZhci5zcGxpdCgiXyIpWzBdIGluIGVudl92YXJfcHJl
Zml4ZXNfdG9fa2VlcCBvciBlbnZ2YXIgaW4gZW52X3ZhcnNfdG9fa2VlcDoKLSAgICAgICAgICAg
ICAgICAgICAgZm9yd2FyZGVkW2VudnZhcl0gPSB2YWx1ZQotCi0gICAgICAgICAgICBmb3IgZW52
dmFyLCB2YWx1ZSBpbiBmb3J3YXJkZWQuaXRlbXMoKToKLSAgICAgICAgICAgICAgICBmbGF0cGFr
X2NvbW1hbmQuYXBwZW5kKCItLWVudj0lcz0lcyIgJSAoZW52dmFyLCB2YWx1ZSkpCi0KLSAgICAg
ICAgICAgIGZsYXRwYWtfY29tbWFuZCArPSBzZWxmLmZpbmlzaF9hcmdzICsgZXh0cmFfZmxhdHBh
a19hcmdzICsgW3NlbGYuZmxhdHBha19idWlsZF9wYXRoXQotCi0gICAgICAgICAgICBzaGVsbF9z
dHJpbmcgPSAiIgotICAgICAgICAgICAgaWYgYXJnczoKLSAgICAgICAgICAgICAgICBpZiBjd2Q6
Ci0gICAgICAgICAgICAgICAgICAgIHNoZWxsX3N0cmluZyA9ICdjZCAiJXMiICYmICIlcyInICUg
KGN3ZCwgJyIgIicuam9pbihhcmdzKSkKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAg
ICAgICAgICAgICBzaGVsbF9zdHJpbmcgPSAnIiVzIicgJSAoJyIgIicuam9pbihhcmdzKSkKLSAg
ICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2hlbGxfc3RyaW5nID0gc2VsZi5jb21t
YW5kCi0gICAgICAgICAgICAgICAgaWYgc2VsZi5hcmdzOgotICAgICAgICAgICAgICAgICAgICBz
aGVsbF9zdHJpbmcgKz0gJyAiJXMiJyAlICciICInLmpvaW4oc2VsZi5hcmdzKQorICAgICAgICAg
ICAgICAgICJOVU1CRVJfT0ZfUFJPQ0VTU09SUyI6IG5fY29yZXMsCisgICAgICAgICAgICB9KQog
Ci0gICAgICAgICAgICB0bXBzY3JpcHQud3JpdGUoc2hlbGxfc3RyaW5nKQotICAgICAgICAgICAg
dG1wc2NyaXB0LmZsdXNoKCkKKyAgICAgICAgZm9yIGVudnZhciwgdmFsdWUgaW4gZm9yd2FyZGVk
Lml0ZW1zKCk6CisgICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQuYXBwZW5kKCItLWVudj0lcz0l
cyIgJSAoZW52dmFyLCB2YWx1ZSkpCiAKLSAgICAgICAgICAgIF9sb2cuZGVidWcoJ1J1bm5pbmcg
aW4gc2FuZGJveDogIiVzIiAlc1xuJyAlICgnIiAiJy5qb2luKGZsYXRwYWtfY29tbWFuZCksIHNo
ZWxsX3N0cmluZykpCi0gICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQuZXh0ZW5kKFsnc2gnLCAi
L3J1bi9ob3N0LyIgKyB0bXBzY3JpcHQubmFtZV0pCisgICAgICAgIGdzdF9lbnYgPSBbXQorICAg
ICAgICBpZiBub3Qga3dhcmdzLmdldCgnYnVpbGRpbmdfZ3N0Jyk6CisgICAgICAgICAgICBnc3Rf
ZW52ID0gc2VsZi5zZXR1cF9nc3RidWlsZChidWlsZGluZykKKyAgICAgICAgZmxhdHBha19jb21t
YW5kICs9IHNlbGYuZmluaXNoX2FyZ3MgKyBleHRyYV9mbGF0cGFrX2FyZ3MgKyBcCisgICAgICAg
ICAgICBbc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGhdICsgZ3N0X2VudiArIGFyZ3MKIAotICAgICAg
ICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChmbGF0cGFr
X2NvbW1hbmQsIHN0ZG91dD1zdGRvdXQpCi0gICAgICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5D
YWxsZWRQcm9jZXNzRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRl
KHN0cihlKSArICJcbiIpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGUucmV0dXJuY29kZQotICAg
ICAgICAgICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgotICAgICAgICAgICAgICAgIHJldHVy
biAwCisgICAgICAgIF9sb2cuZGVidWcoJ1J1bm5pbmcgaW4gc2FuZGJveDogJXNcbicgJSAnICcu
am9pbihmbGF0cGFrX2NvbW1hbmQpKQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHN1YnBy
b2Nlc3MuY2hlY2tfY2FsbChmbGF0cGFrX2NvbW1hbmQsIHN0ZG91dD1zdGRvdXQpCisgICAgICAg
IGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgorICAgICAgICAgICAg
c3lzLnN0ZGVyci53cml0ZShzdHIoZSkgKyAiXG4iKQorICAgICAgICAgICAgcmV0dXJuIGUucmV0
dXJuY29kZQorICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6CisgICAgICAgICAgICBy
ZXR1cm4gMAogCiAgICAgICAgIHJldHVybiAwCiAKQEAgLTgzNSw2NCArNzY3LDQxIEBAIGNsYXNz
IFdlYmtpdEZsYXRwYWs6CiAgICAgICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShzZWxmLmJ1aWxk
X3BhdGgpCiAKICAgICAgICAgaWYgc2VsZi51cGRhdGU6Ci0gICAgICAgICAgICBDb25zb2xlLm1l
c3NhZ2UoIlVwZGF0aW5nIEZsYXRwYWsgZW52aXJvbm1lbnQgZm9yICVzICglcykiICUgKAotICAg
ICAgICAgICAgICAgIHNlbGYucGxhdGZvcm0sIHNlbGYuYnVpbGRfdHlwZSkpCisgICAgICAgICAg
ICBDb25zb2xlLm1lc3NhZ2UoIlVwZGF0aW5nIEZsYXRwYWsgJXMgZW52aXJvbm1lbnQiICUgc2Vs
Zi5idWlsZF90eXBlKQogICAgICAgICAgICAgaWYgbm90IHNlbGYubm9fZmxhdHBha191cGRhdGU6
CiAgICAgICAgICAgICAgICAgc2VsZi51cGRhdGVfYWxsKCkKIAogICAgICAgICByZXR1cm4gc2Vs
Zi5zZXR1cF9kZXZfZW52KCkKIAogICAgIGRlZiBoYXNfZW52aXJvbm1lbnQoc2VsZik6Ci0gICAg
ICAgIHJldHVybiBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF9wYXRoLCBz
ZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkpCisgICAgICAgIHJldHVybiBvcy5wYXRoLmV4aXN0cyhz
ZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkKIAogICAgIGRlZiBzYXZlX2NvbmZpZyhzZWxmKToKICAg
ICAgICAgd2l0aCBvcGVuKHNlbGYuY29uZmlnX2ZpbGUsICd3JykgYXMgY29uZmlnOgogICAgICAg
ICAgICAganNvbl9jb25maWcgPSB7J2ljZWNjX3ZlcnNpb24nOiBzZWxmLmljY192ZXJzaW9ufQog
ICAgICAgICAgICAganNvbi5kdW1wKGpzb25fY29uZmlnLCBjb25maWcpCiAKLSAgICBkZWYgc2V0
dXBfY2NhY2hlKHNlbGYpOgotICAgICAgICBmb3IgY29tcGlsZXIgaW4gWyJjKysiLCAiY2MiLCAi
Y2xhbmciLCAiY2xhbmcrKyIsICJnKysiLCAiZ2NjIl06Ci0gICAgICAgICAgICBzZWxmLnJ1bl9p
bl9zYW5kYm94KCJsbiIsICItcyIsICIuLi8uLi91c3IvYmluL2NjYWNoZSIsIGNvbXBpbGVyLCBj
d2Q9Ii9hcHAvYmluIikKLQogICAgIGRlZiBzZXR1cF9pY2VjYyhzZWxmKToKICAgICAgICAgd2l0
aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBhcyB0bXBmaWxlOgotICAgICAgICAgICAg
c2VsZi5ydW5faW5fc2FuZGJveCgnaWNlY2MnLCAnLS1idWlsZC1uYXRpdmUnLCBzdGRvdXQ9dG1w
ZmlsZSwgY3dkPXNlbGYuYnVpbGRfcGF0aCkKKyAgICAgICAgICAgIHNlbGYucnVuX2luX3NhbmRi
b3goJ2ljZWNjJywgJy0tYnVpbGQtbmF0aXZlJywgc3Rkb3V0PXRtcGZpbGUsIGN3ZD1zZWxmLnNv
dXJjZV9yb290KQogICAgICAgICAgICAgdG1wZmlsZS5mbHVzaCgpCiAgICAgICAgICAgICB0bXBm
aWxlLnNlZWsoMCkKICAgICAgICAgICAgIGljY192ZXJzaW9uX2ZpbGVuYW1lLCA9IHJlLmZpbmRh
bGwocicuKmNyZWF0aW5nICguKiknLCB0bXBmaWxlLnJlYWQoKSkKLSAgICAgICAgICAgIHNlbGYu
aWNjX3ZlcnNpb24gPSBvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF9wYXRoLCBpY2NfdmVyc2lvbl9m
aWxlbmFtZSkKKyAgICAgICAgICAgIHNlbGYuaWNjX3ZlcnNpb24gPSBvcy5wYXRoLmpvaW4oc2Vs
Zi5zb3VyY2Vfcm9vdCwgaWNjX3ZlcnNpb25fZmlsZW5hbWUpCiAKICAgICBkZWYgc2V0dXBfZGV2
X2VudihzZWxmKToKLSAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihz
ZWxmLmJ1aWxkX3BhdGgsIHNlbGYuZmxhdHBha19idWlsZF9wYXRoKSkgXAotICAgICAgICAgICAg
ICAgIG9yIHNlbGYudXBkYXRlIG9yIHNlbGYuYnVpbGRfYWxsOgorICAgICAgICBpZiBub3Qgb3Mu
cGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYuZmxhdHBha19idWlsZF9wYXRoLCAicnVudGlt
ZSIsICJvcmcud2Via2l0LlNkayIpKSBvciBzZWxmLnVwZGF0ZSBvciBzZWxmLmJ1aWxkX2FsbDoK
ICAgICAgICAgICAgIHNlbGYuaW5zdGFsbF9hbGwoKQotICAgICAgICAgICAgQ29uc29sZS5tZXNz
YWdlKCJCdWlsZGluZyAlcyBhbmQgZGVwZW5kZW5jaWVzIGluICVzIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzZWxmLm5hbWUsIHNlbGYuZmxhdHBha19idWlsZF9wYXRoKQotCi0gICAg
ICAgICAgICAjIENyZWF0ZSBlbnZpcm9ubWVudCBkaXJzIGlmIG5lY2Vzc2FyeQotICAgICAgICAg
ICAgdHJ5OgotICAgICAgICAgICAgICAgIG9zLm1ha2VkaXJzKG9zLnBhdGguZGlybmFtZShzZWxm
Lm1hbmlmZXN0X2dlbmVyYXRlZF9wYXRoKSkKLSAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFz
IGU6Ci0gICAgICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FRVhJU1Q6Ci0gICAgICAg
ICAgICAgICAgICAgIHJhaXNlIGUKLSAgICAgICAgICAgIGlmIG5vdCBleHBhbmRfbWFuaWZlc3Qo
c2VsZi5tYW5pZmVzdF9wYXRoLCBzZWxmLm1hbmlmZXN0X2dlbmVyYXRlZF9wYXRoLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm5hbWUsIHNlbGYuc2FuZGJveF9zb3Vy
Y2Vfcm9vdCwgc2VsZi5jb21tYW5kKToKLSAgICAgICAgICAgICAgICByZXR1cm4gMQotCi0gICAg
ICAgICAgICBidWlsZGVyX2FyZ3MgPSBbImZsYXRwYWstYnVpbGRlciIsICItLWRpc2FibGUtcm9m
aWxlcy1mdXNlIiwgIi0tc3RhdGUtZGlyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLmNhY2hlX3BhdGgsICItLWNjYWNoZSIsIHNlbGYuZmxhdHBha19idWlsZF9wYXRoLCAiLS1m
b3JjZS1jbGVhbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tYW5pZmVzdF9n
ZW5lcmF0ZWRfcGF0aF0KLSAgICAgICAgICAgIGJ1aWxkZXJfYXJncy5hcHBlbmQoIi0tYnVpbGQt
b25seSIpCi0gICAgICAgICAgICBidWlsZGVyX2FyZ3MuYXBwZW5kKCItLXN0b3AtYXQ9JXMiICUg
c2VsZi5hcHApCi0KLSAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChidWlsZGVyX2Fy
Z3MpCi0gICAgICAgICAgICBzZWxmLnNldHVwX2NjYWNoZSgpCiAgICAgICAgICAgICBzZWxmLnNl
dHVwX2ljZWNjKCkKICAgICAgICAgICAgIHNlbGYuc2F2ZV9jb25maWcoKQogCiAgICAgICAgIGJ1
aWxkX3R5cGUgPSAiLS1kZWJ1ZyIgaWYgc2VsZi5kZWJ1ZyBlbHNlICItLXJlbGVhc2UiCisgICAg
ICAgIGlmIHNlbGYuYnVpbGRfZ3N0OgorICAgICAgICAgICAgc2VsZi5zZXR1cF9nc3RidWlsZChU
cnVlKQorCiAgICAgICAgIGlmIHNlbGYuYnVpbGRfd2Via2l0OgotICAgICAgICAgICAgYnVpbGRl
ciA9IFtvcy5wYXRoLmpvaW4oc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCAnVG9vbHMvU2NyaXB0
cy9idWlsZC13ZWJraXQnKSwKKyAgICAgICAgICAgIGJ1aWxkZXIgPSBbCisgICAgICAgICAgICAg
ICAgb3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgJ1Rvb2xzL1NjcmlwdHMv
YnVpbGQtd2Via2l0JyksCiAgICAgICAgICAgICAgICAgYnVpbGRfdHlwZSwgJy0tJyArIHNlbGYu
cGxhdGZvcm0ubG93ZXIoKV0KICAgICAgICAgICAgIGlmIHNlbGYubWFrZWFyZ3M6CiAgICAgICAg
ICAgICAgICAgYnVpbGRlci5hcHBlbmQoIi0tbWFrZWFyZ3M9JXMiICUgc2VsZi5tYWtlYXJncykK
QEAgLTkwMywyMyArODEyLDIyIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAKICAgICAgICAgICAg
IGlmIHJlczoKICAgICAgICAgICAgICAgICByZXR1cm4gcmVzCi0gICAgICAgIGVsc2U6Ci0gICAg
ICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIlVzaW5nICVzIHByZWZpeCBpbiAlcyIsIHNlbGYubmFt
ZSwgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgpCiAKICAgICAgICAgaWYgc2VsZi5ydW5fdGVzdHMg
aXMgbm90IE5vbmU6CiAgICAgICAgICAgICB0ZXN0X2xhdW5jaGVyID0gW29zLnBhdGguam9pbihz
ZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsICdUb29scy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMn
KSwKLSAgICAgICAgICAgICAgICBidWlsZF90eXBlLCAnLS0nICsgc2VsZi5wbGF0Zm9ybS5sb3dl
cigpXSArIHNlbGYucnVuX3Rlc3RzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxk
X3R5cGUsICctLScgKyBzZWxmLnBsYXRmb3JtLmxvd2VyKCldICsgc2VsZi5ydW5fdGVzdHMKICAg
ICAgICAgICAgIHJldHVybiBzZWxmLnJ1bl9pbl9zYW5kYm94KCp0ZXN0X2xhdW5jaGVyKQotICAg
ICAgICBlbGlmIHNlbGYuZ2RiIGlzIG5vdCBOb25lOgorICAgICAgICBlbGlmIHNlbGYuZ2RiIG9y
IHNlbGYuZ2RiX3N0YWNrX3RyYWNlOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYucnVuX2dkYigp
CiAgICAgICAgIGVsaWYgc2VsZi51c2VyX2NvbW1hbmQ6CiAgICAgICAgICAgICByZXR1cm4gc2Vs
Zi5ydW5faW5fc2FuZGJveCgqc2VsZi51c2VyX2NvbW1hbmQpCi0gICAgICAgIGVsaWYgbm90IHNl
bGYudXBkYXRlIGFuZCBub3Qgc2VsZi5idWlsZF93ZWJraXQ6CisgICAgICAgIGVsaWYgbm90IHNl
bGYudXBkYXRlIGFuZCBub3Qgc2VsZi5idWlsZF93ZWJraXQgYW5kIG5vdCBzZWxmLmJ1aWxkX2dz
dDoKICAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1bl9pbl9zYW5kYm94KCkKIAogICAgICAgICBy
ZXR1cm4gMAogCiAgICAgZGVmIGluc3RhbGxfYWxsKHNlbGYpOgorICAgICAgICBDb25zb2xlLm1l
c3NhZ2UoIkluc3RhbGxpbmcgJXMgZGVwZW5kZW5jaWVzIGluICVzIiwgc2VsZi5idWlsZF90eXBl
LCBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkKICAgICAgICAgZm9yIHBhY2thZ2UgaW4gc2VsZi5w
YWNrczoKICAgICAgICAgICAgIGlmIG5vdCBwYWNrYWdlLmlzX2luc3RhbGxlZChzZWxmLnNka19i
cmFuY2gpOgogICAgICAgICAgICAgICAgIHBhY2thZ2UuaW5zdGFsbCgpCkBAIC05MzUsMTkgKzg0
MywzMCBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICAjIFdlIG5lZWQgYWNjZXNzIHRv
IHRoZSBob3N0IGZyb20gdGhlIHNhbmRib3ggdG8gcnVuLgogICAgICAgICB3aXRoIHRlbXBmaWxl
Lk5hbWVkVGVtcG9yYXJ5RmlsZSgpIGFzIGNvcmVkdW1wOgogICAgICAgICAgICAgd2l0aCB0ZW1w
ZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBhcyBzdGRlcnI6Ci0gICAgICAgICAgICAgICAgc3Vi
cHJvY2Vzcy5jaGVja19jYWxsKFsiY29yZWR1bXBjdGwiLCAiZHVtcCJdICsgc2hsZXguc3BsaXQo
c2VsZi5jb3JlZHVtcGN0bF9tYXRjaGVzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc3Rkb3V0PWNvcmVkdW1wLCBzdGRlcnI9c3RkZXJyKQorICAgICAgICAgICAgICAg
IGlmIHNlbGYuZ2RiX3N0YWNrX3RyYWNlOgorICAgICAgICAgICAgICAgICAgICBjbWQgPSBbImNv
cmVkdW1wY3RsIiwgIi0tc2luY2U9JXMiICUgc2VsZi5nZGJfc3RhY2tfdHJhY2UsICJkdW1wIl0K
KyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBjbWQgPSBbImNvcmVk
dW1wY3RsIiwgImR1bXAiXSArIHNobGV4LnNwbGl0KHNlbGYuY29yZWR1bXBjdGxfbWF0Y2hlcykK
KyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hl
Y2tfY2FsbChjbWQsIHN0ZG91dD1jb3JlZHVtcCwgc3RkZXJyPXN0ZGVycikKKyAgICAgICAgICAg
ICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZXJyOgorICAgICAg
ICAgICAgICAgICAgICB3aXRoIG9wZW4oc3RkZXJyLm5hbWUsICdyJykgYXMgc3RkZXJyZjoKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHN0ZGVyciA9IHN0ZGVycmYucmVhZCgpCisgICAgICAgICAg
ICAgICAgICAgIGNtZCA9ICcgJy5qb2luKGVyci5jbWQpCisgICAgICAgICAgICAgICAgICAgIHN5
cy5zdGRlcnIud3JpdGUoIiclcycgcmV0dXJuZWQgYSBub24temVybyBleGl0IGNvZGUuIFN0ZGVy
cjogJXMiICUgKGNtZCwgc3RkZXJyKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVyci5y
ZXR1cm5jb2RlCiAKICAgICAgICAgICAgICAgICB3aXRoIG9wZW4oc3RkZXJyLm5hbWUsICdyJykg
YXMgc3RkZXJyZjoKICAgICAgICAgICAgICAgICAgICAgc3RkZXJyID0gc3RkZXJyZi5yZWFkKCkK
KwogICAgICAgICAgICAgICAgIGV4ZWN1dGFibGUsID0gcmUuZmluZGFsbCgiLipFeGVjdXRhYmxl
OiAoLiopIiwgc3RkZXJyKQotICAgICAgICAgICAgICAgIGlmIG5vdCBleGVjdXRhYmxlLnN0YXJ0
c3dpdGgoIi9uZXdyb290Iik6Ci0gICAgICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUo
IkV4ZWN1dGFibGUgJXMgZG9lc24ndCBzZWVtIHRvIGJlIGEgZmxhdHBha2VkIGFwcGxpY2F0aW9u
LlxuIiAlIGV4ZWN1dGFibGUpCiAKLSAgICAgICAgICAgICAgICBleGVjdXRhYmxlID0gZXhlY3V0
YWJsZS5yZXBsYWNlKCIvbmV3cm9vdCIsICIiKQotICAgICAgICAgICAgICAgIGFyZ3MgPSBbImdk
YiIsIGV4ZWN1dGFibGUsICIvcnVuL2hvc3QvJXMiICUgY29yZWR1bXAubmFtZV0gKyBzaGxleC5z
cGxpdChzZWxmLmdkYikKKyAgICAgICAgICAgICAgICBpZiBzZWxmLmdkYjoKKyAgICAgICAgICAg
ICAgICAgICAgYmFyZ3MgPSBbImdkYiIsIGV4ZWN1dGFibGUsICIvcnVuL2hvc3QvJXMiICUgY29y
ZWR1bXAubmFtZV0gKyBzaGxleC5zcGxpdChzZWxmLmdkYikKKyAgICAgICAgICAgICAgICBlbGlm
IHNlbGYuZ2RiX3N0YWNrX3RyYWNlOgorICAgICAgICAgICAgICAgICAgICBiYXJncyA9IFsiZ2Ri
IiwgJy1leCcsICJ0aHJlYWQgYXBwbHkgYWxsIGJhY2t0cmFjZSIsICctLWJhdGNoJywgZXhlY3V0
YWJsZSwgIi9ydW4vaG9zdC8lcyIgJSBjb3JlZHVtcC5uYW1lXQogCi0gICAgICAgICAgICAgICAg
cmV0dXJuIHNlbGYucnVuX2luX3NhbmRib3goKmFyZ3MpCisgICAgICAgICAgICAgICAgcmV0dXJu
IHNlbGYucnVuX2luX3NhbmRib3goKmJhcmdzKQogCiAgICAgZGVmIHVwZGF0ZV9hbGwoc2VsZik6
CiAgICAgICAgIGZvciBtIGluIFtzZWxmLnJ1bnRpbWUsIHNlbGYuc2RrLCBzZWxmLnNka19kZWJ1
Z106CmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55
YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTFhMDdjZjg2ZjgzYjY4ODMzYTU3Mjg0ZTQ3MjNmNTIy
YjczYzQwYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9U
b29scy9mbGF0cGFrL29yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sCisrKyAvZGV2L251bGwK
QEAgLTEsMzMxICswLDAgQEAKLSMgaHR0cCBhbmQgZGVwZW5kZW5jaWVzLgotLSBuYW1lOiBhcHIK
LSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly93d3cu
YXBhY2hlLm9yZy9kaXN0L2Fwci9hcHItMS42LjUudGFyLmJ6MgotICAgICAgc2hhMjU2OiBhNjdj
YTlmY2Y5YzRmZjU5YmNlN2Y0MjhhMzIzYzhiNWUxODY2N2ZkZWE3YjBlYmFkNDdkMTk0MzcxYjBh
MTA1Ci0tIG5hbWU6IGFwci11dGlsCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0g
ICAgICB1cmw6IGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvZGlzdC9hcHIvYXByLXV0aWwtMS42LjEu
dGFyLmJ6MgotICAgICAgc2hhNTEyOiAiNDBlZmY4YTM3YzA2MzRmN2ZkZGRkNmNhNWU1OTZiMzhk
ZTE1ZmQxMDc2N2EzNGMzMGJiZTQ5YzYzMjgxNmU4ZjNlMWUyMzA2NzgwMzRmNTc4ZGQ1ODE2YTk0
ZjI0NmZiNWRmZGY0OGQ2NDQ4MjlhZjEzYmYyOGRlMzIyNTIwNWQiCi0gIGNvbmZpZy1vcHRzOgot
ICAgIC0gLS13aXRoLWFwcj0vYXBwL2Jpbi9hcHItMS1jb25maWcKLS0gbmFtZTogaHR0cGQKLSAg
c291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20v
YXBhY2hlL2h0dHBkLmdpdAotICAgICAgYnJhbmNoOiAyLjQuMzcKLSAgICAtIHR5cGUgOiBmaWxl
Ci0gICAgICBwYXRoIDogZmlsZXMvaHR0cGQtYXV0b2dlbi5zaAotICAgICAgZGVzdC1maWxlbmFt
ZSA6IGF1dG9nZW4uc2gKLSAgICAjIFRoZSB2ZXJzaW9uIGVtYmVkZGVkIGluIHRoZSBzYW5kYm94
IGRvZXNuJ3QgaGF2ZSBhIHdvcmtpbmcgcGNyZS1jb25maWcKLSAgICAtIHR5cGU6IHBhdGNoCi0g
ICAgICBwYXRoOiBwYXRjaGVzL2h0dHBkLTAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZv
ci1QQ1JFLWRldGVjdGlvbi5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC0tZW5hYmxlLW1w
bXMtc2hhcmVkPWFsbAotICAgIC0gLS1lbmFibGUtbW9kdWxlcz1hbGwKLSAgICAtIC0td2l0aC1h
cHI9L2FwcC9iaW4vYXByLTEtY29uZmlnCi0gICAgLSAtLXdpdGgtYXByLXV0aWw9L2FwcC9iaW4v
YXB1LTEtY29uZmlnCi0gICAgLSAtLXdpdGgtcGNyZT0vYXBwCi0gICAgLSAtLWVuYWJsZS1hdXRo
bnotZmNnaQotICAgIC0gLS1lbmFibGUtY2dpCi0gICAgLSAtLWVuYWJsZS1jZ2lkCi0tIG5hbWU6
IHBocAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczov
L3BocC5uZXQvZGlzdHJpYnV0aW9ucy9waHAtNy4yLjYudGFyLnh6Ci0gICAgICBzaGE1MTI6IGRh
ODZiMWZmMmRmM2I5ZTJkNDZlNTlhODAyOTZiOTQwZDgxMTMyOTc1YjYyMWJkZWM5NjAyZjhiNGM4
ZDkxYTNmZGNkNGZmZDdjYjk4MmQ2M2QzZWM5NzRiM2ExMmE3ODU0ZTQyYTczYjdmMmNjOGVlZmFk
ZTE0MzM1YWE3YzcxCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1kaXNhYmxlLXhtbAotICAgIC0g
LS1kaXNhYmxlLWRvbQotICAgIC0gLS1kaXNhYmxlLWxpYnhtbAotICAgIC0gLS1kaXNhYmxlLXNp
bXBsZXhtbAotICAgIC0gLS1kaXNhYmxlLXhtbHJlYWRlcgotICAgIC0gLS1kaXNhYmxlLXhtbHdy
aXRlcgotICAgIC0gLS13aXRob3V0LXBlYXIKLSAgICAtIC0td2l0aC1hcHhzMgotICAgIC0gLS13
aXRoLXpsaWIKLSAgICAtIC0td2l0aC1saWJ6aXAKLSAgICAtIC0tZW5hYmxlLXNvY2tldHM9c2hh
cmVkCi0tIG5hbWU6IGxpYmV2ZW50Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAg
IHVybDogaHR0cHM6Ly9naXRodWIuY29tL2xpYmV2ZW50L2xpYmV2ZW50LmdpdAotICAgICAgYnJh
bmNoOiBlN2ZmNGVmICMgMi4xLjgKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLWRpc2FibGUtbGli
ZXZlbnQtcmVncmVzcwotCi0jIFJlcXVpcmVtZW50IGZvciBmbGF0cGt1dGlscwotLSBuYW1lOiBw
eXRob24zLXB5YW1sCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0g
IC0gcGlwMyBpbnN0YWxsIC0tbm8taW5kZXggLS1maW5kLWxpbmtzPSJmaWxlOi8vJHtQV0R9IiAt
LXByZWZpeD0ke0ZMQVRQQUtfREVTVH0gcHlhbWwKLSAgc291cmNlczoKLSAgLSB0eXBlOiBmaWxl
Ci0gICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvNGEvODUv
ZGI1YTJkZjQ3NzA3MmIyOTAyYjBlYjg5MmZlYjM3ZDg4YWM2MzVkMzYyNDVhNzJhNmE2OWIyM2Iz
ODNhL1B5WUFNTC0zLjEyLnRhci5negotICAgIHNoYTI1NjogNTkyNzY2YzYzMDMyMDdhMjBlZmM0
NDU1ODc3NzgzMjJkN2Y3M2IxNjFiZDk5NGYyMjdhZGFhMzQxYmEyMTJhYgotICAtIHR5cGU6IGZp
bGUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy85ZS8x
Ny8xZDRlZDZlMWE0YzA5MThhMDM1N2RmYTJmZGJlMjZiZjYzZjZlNjE2MDEzYzA0YTE0YmNlOWZk
MzNlNDAvcHlhbWwtMTcuMTIuMS50YXIuZ3oKLSAgICBzaGEyNTY6IDY2NjIzYzUyZjM0ZDgzYTJj
MGZjOTYzZTA4ZThiOWQwYzEzZDg4NDA0ZTNiNDNiMTg1MmVmNzFlZGExOWFmYTMKLQotLSBuYW1l
OiBweXRob24yLXB5YW1sCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6
Ci0gIC0gcGlwMiBpbnN0YWxsIC0tbm8taW5kZXggLS1maW5kLWxpbmtzPSJmaWxlOi8vJHtQV0R9
IiAtLXRhcmdldD0vYXBwL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy8gcHlhbWwKLSAgc291
cmNlczoKLSAgLSB0eXBlOiBmaWxlCi0gICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3Rl
ZC5vcmcvcGFja2FnZXMvNGEvODUvZGI1YTJkZjQ3NzA3MmIyOTAyYjBlYjg5MmZlYjM3ZDg4YWM2
MzVkMzYyNDVhNzJhNmE2OWIyM2IzODNhL1B5WUFNTC0zLjEyLnRhci5negotICAgIHNoYTI1Njog
NTkyNzY2YzYzMDMyMDdhMjBlZmM0NDU1ODc3NzgzMjJkN2Y3M2IxNjFiZDk5NGYyMjdhZGFhMzQx
YmEyMTJhYgotICAtIHR5cGU6IGZpbGUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9z
dGVkLm9yZy9wYWNrYWdlcy85ZS8xNy8xZDRlZDZlMWE0YzA5MThhMDM1N2RmYTJmZGJlMjZiZjYz
ZjZlNjE2MDEzYzA0YTE0YmNlOWZkMzNlNDAvcHlhbWwtMTcuMTIuMS50YXIuZ3oKLSAgICBzaGEy
NTY6IDY2NjIzYzUyZjM0ZDgzYTJjMGZjOTYzZTA4ZThiOWQwYzEzZDg4NDA0ZTNiNDNiMTg1MmVm
NzFlZGExOWFmYTMKLQotLSBuYW1lOiBweXRob24yLXN1YnByb2Nlc3MzMgotICBidWlsZHN5c3Rl
bTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAtIHBpcDIgaW5zdGFsbCAtLXRhcmdldD0v
YXBwL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy8gLgotICBzb3VyY2VzOgotICAtIHR5cGU6
IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdl
cy9iZS8yYi9iZWViYTU4M2U5ODc3ZTY0ZGIxMGI1MmE5NjkxNWFmYzBmZWFiZjcxNDRkY2JmMmEw
ZDBlYTY4YmY3M2Qvc3VicHJvY2VzczMyLTMuNS4zLnRhci5negotICAgIHNoYTI1NjogNmJjODI5
OTIzMTZlZWYzY2NmZjMxOWI1MDMzODA5ODAxYzBjMzM3MjcwOWM1ZjY5ODUyOTljODhhYzcyMjVj
MwotCi0jIEdTdHJlYW1lciBtb2R1bGVzCi0tIG5hbWU6IGxpYnZweAotICBuby1hdXRvZ2VuOiB0
cnVlCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9jaHJv
bWl1bS5nb29nbGVzb3VyY2UuY29tL3dlYm0vbGlidnB4Ci0gICAgICBicmFuY2g6IHYxLjcuMAot
ICBjb25maWctb3B0czoKLSAgICAtIC0tZW5hYmxlLXBpYwotICAgIC0gLS1hcz1uYXNtCi0gICAg
LSAtLWRpc2FibGUtdW5pdC10ZXN0cwotICAgIC0gLS1zaXplLWxpbWl0PTE2Mzg0eDE2Mzg0Ci0g
ICAgLSAtLWVuYWJsZS1wb3N0cHJvYwotICAgIC0gLS1lbmFibGUtbXVsdGktcmVzLWVuY29kaW5n
Ci0gICAgLSAtLWVuYWJsZS10ZW1wb3JhbC1kZW5vaXNpbmcKLSAgICAtIC0tZW5hYmxlLXZwOS10
ZW1wb3JhbC1kZW5vaXNpbmcKLSAgICAtIC0tZW5hYmxlLXZwOS1wb3N0cHJvYwotICAgIC0gLS1l
bmFibGUtc2hhcmVkCi0tIG5hbWU6IGFvbQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0g
ICAgICB1cmw6IGh0dHBzOi8vYW9tZWRpYS5nb29nbGVzb3VyY2UuY29tL2FvbQotICAgICAgYnJh
bmNoOiBjZGIwODNlODRhNzFkNmQzMTE2M2E0ZjY0ZjE4ZGMxMzI4ZmQ3ODJjCi0gIGJ1aWxkc3lz
dGVtOiBjbWFrZS1uaW5qYQotICBidWlsZGRpcjogdHJ1ZQotICBjb25maWctb3B0czoKLSAgICAt
IC1EQlVJTERfU0hBUkVEX0xJQlM9MQotLSBuYW1lOiBsaWJ1bndpbmQKLSAgc291cmNlczoKLSAg
ICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbGlidW53aW5kL2xp
YnVud2luZC5naXQKLSAgICAgIGNvbW1pdDogdjEuMi4xCi0tIG5hbWU6IGxpYm9wZW5oMjY0Ci0g
IGJ1aWxkc3lzdGVtOiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1
cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9jaXNjby9vcGVuaDI2NC5naXQKLSAgICAgIGJyYW5jaDog
YTFiM2YwN2M1MjcxZjMxMjk5N2ZjYzM0NTEyMzcwMzE0NDRjNDQ3NSAjIDEuOC4wICsgZml4IGZv
ciBnY2MgOAotLSBuYW1lOiBnc3RyZWFtZXIKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIHNvdXJj
ZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0
b3Aub3JnL2dzdHJlYW1lci9nc3RyZWFtZXIuZ2l0Ci0gICAgICBicmFuY2g6IDEuMTYuMQotICBj
b25maWctb3B0czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotICAgIC0gLURpbnRyb3NwZWN0
aW9uPWRpc2FibGVkCi0gICAgLSAtRGV4YW1wbGVzPWRpc2FibGVkCi0gICAgLSAtRHRlc3RzPWRp
c2FibGVkCi0tIG5hbWU6IGdzdC1wbHVnaW5zLWJhc2UKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0g
IHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRsYWIuZnJl
ZWRlc2t0b3Aub3JnL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYXNlLmdpdAotICAgICAgYnJhbmNo
OiAxLjE2LjEKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9nc3RyZWFtZXIvcGF0
Y2hlcy9iYXNlLTAwMDEtcGxheWJpbi1IYW5kbGUtZXJyb3ItbWVzc2FnZS13aXRoLXJlZGlyZWN0
aW9uLWluZGljYS5wYXRjaAotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2dzdHJl
YW1lci9wYXRjaGVzL2Jhc2UtMDAwMS1nbHVwbG9hZC1BZGQtVmlkZW9NZXRhcy1hbmQtR0xTeW5j
TWV0YS10by10aGUtcmF3LXVwLnBhdGNoCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9j
PWRpc2FibGVkCi0gICAgLSAtRGludHJvc3BlY3Rpb249ZGlzYWJsZWQKLSAgICAtIC1EZXhhbXBs
ZXM9ZGlzYWJsZWQKLSAgICAtIC1EdGVzdHM9ZGlzYWJsZWQKLS0gbmFtZTogZ3N0LXBsdWdpbnMt
Z29vZAotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAot
ICAgICAgdXJsOiBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdC1w
bHVnaW5zLWdvb2QuZ2l0Ci0gICAgICBicmFuY2g6IDEuMTYuMQotICAgIC0gdHlwZTogcGF0Y2gK
LSAgICAgIHBhdGg6IC4uL2dzdHJlYW1lci9wYXRjaGVzL2dvb2QtMDAwMS1xdGRlbXV4LVNwZWNp
ZnktUkVESVJFQ1QtaW5mb3JtYXRpb24taW4tZXJyb3ItbWVzc2FnLnBhdGNoCi0gIGNvbmZpZy1v
cHRzOgotICAgIC0gLURndGtfZG9jPWRpc2FibGVkCi0gICAgLSAtRGludHJvc3BlY3Rpb249ZGlz
YWJsZWQKLSAgICAtIC1EZXhhbXBsZXM9ZGlzYWJsZWQKLSAgICAtIC1EZ3RrMz1kaXNhYmxlZAot
LSBuYW1lOiB4MjY0Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gIi0tZW5hYmxlLXNoYXJlZCIKLSAg
ICAtICItLWVuYWJsZS1zdGF0aWMiCi0gICAgLSAiLS1lbmFibGUtcGljIgotICAgIC0gIi0tZGlz
YWJsZS1sYXZmIgotICAgIC0gIi0tZGlzYWJsZS1hc20iCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBl
OiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHA6Ly9kb3dubG9hZC52aWRlb2xhbi5vcmcvcHViL3gy
NjQvc25hcHNob3RzL3gyNjQtc25hcHNob3QtMjAxNDAyMTItMjI0NS1zdGFibGUudGFyLmJ6Mgot
ICAgICAgc2hhMjU2OiA1ZDk4ZTllNGZhZjZkZDU1ZTcxOTNlZDM3OWFmZjQ3N2I4YWNiZGE2Nzc3
NzU4OTU2ZWY3ZTVmMDUwNjdiZTE4Ci0tIG5hbWU6IGdzdC1wbHVnaW5zLXVnbHkKLSAgYnVpbGRz
eXN0ZW06IG1lc29uCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0
cHM6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLXVn
bHkKLSAgICAgIGJyYW5jaDogMS4xNi4wCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9j
PWRpc2FibGVkCi0tIG5hbWU6IGdzdC1wbHVnaW5zLWJhZAotICBidWlsZHN5c3RlbTogbWVzb24K
LSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGxhYi5m
cmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZC5naXQKLSAgICAgIGJyYW5j
aDogMS4xNi4xCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3N0cmVhbWVyL3Bh
dGNoZXMvZ3N0LXBsdWdpbnMtYmFkLTAwMDEtaDI2NHBhcnNlLVBvc3QtYS1XQVJOSU5HLXdoZW4t
ZGF0YS1pcy1icm9rZW4ucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlz
YWJsZWQKLSAgICAtIC1EaW50cm9zcGVjdGlvbj1kaXNhYmxlZAotICAgIC0gLURleGFtcGxlcz1k
aXNhYmxlZAotLSBuYW1lOiBmZm1wZWcKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUK
LSAgICAgIHVybDogaHR0cHM6Ly9mZm1wZWcub3JnL3JlbGVhc2VzL2ZmbXBlZy00LjAuNC50YXIu
Z3oKLSAgICAgIHNoYTI1NjogODBiYjY4NWFiZmNkZGE3YzliNmM5YzVjYWYxZDhkYmI5Mjc4NTgw
NTBkNzM3N2MyYjhmMzQ4OGM3ZThhOWI3ZgotICBjb25maWctb3B0czoKLSAgICAtIC0tZW5hYmxl
LXN0YXRpYwotICAgIC0gLS1lbmFibGUtcGljCi0gICAgLSAtLWRpc2FibGUtYXZkZXZpY2UKLSAg
ICAtIC0tZGlzYWJsZS1wb3N0cHJvYwotICAgIC0gLS1kaXNhYmxlLXN3c2NhbGUKLSAgICAtIC0t
ZGlzYWJsZS1wcm9ncmFtcwotICAgIC0gLS1kaXNhYmxlLWZmcGxheQotICAgIC0gLS1kaXNhYmxl
LWZmcHJvYmUKLSAgICAtIC0tZGlzYWJsZS1mZm1wZWcKLSAgICAtIC0tZGlzYWJsZS1lbmNvZGVy
PWZsYWMKLSAgICAtIC0tZGlzYWJsZS1wcm90b2NvbHMKLSAgICAtIC0tZGlzYWJsZS1kZXZpY2Vz
Ci0gICAgLSAtLWRpc2FibGUtbmV0d29yawotICAgIC0gLS1kaXNhYmxlLWh3YWNjZWxzCi0gICAg
LSAtLWRpc2FibGUtZHh2YTIKLSAgICAtIC0tZGlzYWJsZS12ZHBhdQotICAgIC0gLS1kaXNhYmxl
LWZpbHRlcnMKLSAgICAtIC0tZW5hYmxlLWZpbHRlcj15YWRpZgotICAgIC0gLS1kaXNhYmxlLWRv
YwotICAgIC0gLS1kaXNhYmxlLWQzZDExdmEKLSAgICAtIC0tZGlzYWJsZS1keHZhMgotICAgIC0g
LS1kaXNhYmxlLWF1ZGlvdG9vbGJveAotICAgIC0gLS1kaXNhYmxlLXZpZGVvdG9vbGJveAotICAg
IC0gLS1kaXNhYmxlLXZhYXBpCi0gICAgLSAtLWRpc2FibGUtY3J5c3RhbGhkCi0gICAgLSAtLWRp
c2FibGUtbWVkaWFjb2RlYwotICAgIC0gLS1kaXNhYmxlLW52ZW5jCi0gICAgLSAtLWRpc2FibGUt
bW1hbAotICAgIC0gLS1kaXNhYmxlLW9teAotICAgIC0gLS1kaXNhYmxlLW9teC1ycGkKLSAgICAt
IC0tZGlzYWJsZS1jdWRhCi0gICAgLSAtLWRpc2FibGUtY3V2aWQKLSAgICAtIC0tZGlzYWJsZS1s
aWJtZngKLSAgICAtIC0tZGlzYWJsZS1saWJucHAKLSAgICAtIC0tZGlzYWJsZS1pY29udgotICAg
IC0gLS1kaXNhYmxlLWpuaQotICAgIC0gLS1kaXNhYmxlLXY0bDJfbTJtCi0gICAgLSAtLWVuYWJs
ZS1vcHRpbWl6YXRpb25zCi0tIG5hbWU6IGdzdC1saWJhdgotICBidWlsZHN5c3RlbTogbWVzb24K
LSAgYnVpbGRkaXI6IHRydWUKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAg
IHVybDogaHR0cHM6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL3NyYy9nc3QtbGliYXYvZ3N0
LWxpYmF2LTEuMTYuMS50YXIueHoKLSAgICAgIHNoYTI1NjogZThhNTc0OGFlOWE0YTdiZTk2OTY1
MTIxODJlYTlmZmE2ZWZlMGJlOWI3OTc2OTE2NTQ4ZTlkNDM4MWNhNjFjNAotICBjb25maWctb3B0
czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotCi0tIG5hbWU6IGxpYmdjcnlwdCAjIFNwZWVk
dXAgbGliZ2NyeXB0Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0
cHM6Ly9kZXYuZ251cGcub3JnL3NvdXJjZS9saWJnY3J5cHQuZ2l0Ci0gICAgICBicmFuY2g6IGxp
YmdjcnlwdC0xLjguNAotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IHBhdGNoZXMvbGli
Z2NyeXB0LTAwMDEtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRjaAotICAg
IC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2d0ay9wYXRjaGVzL2xpYmdjcnlwdC11c2Ut
b25seS1kZXYtdXJhbmRvbS1mb3ItdGVzdGluZy5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAt
IC0tZGlzYWJsZS1kb2MKLQotLSBuYW1lOiBwZXJsLWNnaS1wbQotICBidWlsZHN5c3RlbTogc2lt
cGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAgIC0gcGVybCBNYWtlZmlsZS5QTCBQUkVGSVg9L2Fw
cCBMSUI9L2FwcC9saWIvcGVybC8KLSAgICAtIG1ha2UgaW5zdGFsbAotICBzb3VyY2VzOgotICAg
IC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL2NwYW4ubWV0YWNwYW4ub3JnL2F1
dGhvcnMvaWQvTC9MRS9MRUVKTy9DR0ktNC4zOC50YXIuZ3oKLSAgICAgIHNoYTI1NjogOGM1OGY0
YTUyOWJiOTJhOTE0YjIyYjdlNjRjNWUzMTE4NWM5ODU0YTQwNzBhNmRmYWQ0NGZlNWNjMjQ4ZTdk
NAotCi0tIG5hbWU6IHB5dGhvbjItdmlydHVhbGVudgotICBidWlsZHN5c3RlbTogc2ltcGxlCi0g
IGJ1aWxkLWNvbW1hbmRzOgotICAtIHBpcDIgaW5zdGFsbCAtLW5vLWluZGV4IC0tZmluZC1saW5r
cz0iZmlsZTovLyR7UFdEfSIgLS10YXJnZXQ9L2FwcC9saWIvcHl0aG9uMi43L3NpdGUtcGFja2Fn
ZXMvIHZpcnR1YWxlbnYKLSAgLSBsbiAtcyAvYXBwL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdl
cy92aXJ0dWFsZW52LnB5IC9hcHAvYmluL3ZpcnR1YWxlbnYKLSAgLSBjaG1vZCAreCAvYXBwL2Jp
bi92aXJ0dWFsZW52Ci0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogZmlsZQotICAgIHVybDogaHR0cHM6
Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzMzL2JjL2ZhMGI1MzQ3MTM5Y2Q5NTY0
ZjBkNDRlYmQyYjE0N2FjOTdjMzZiMjQwMzk0M2RiZWU4YTI1ZmQ3NDAxMi92aXJ0dWFsZW52LTE2
LjAuMC50YXIuZ3oKLSAgICBzaGEyNTY6IGNhMDdiNGMwYjU0ZTE0YTkxYWY5ZjM0ZDA5MTk3OTBi
MDE2OTIzZDE1N2FmZGE1ZWZkZGU1NWM5NjcxOGY3NTIKLQotLSBuYW1lOiBsaWJjYXAtbmcKLSAg
c291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20v
c3RldmVncnViYi9saWJjYXAtbmcKLSAgICAgIGJyYW5jaDogdjAuNy45Ci0gIGNvbmZpZy1vcHRz
OgotICAgIC0gLS13aXRoLXB5dGhvbj1ubwotICAgIC0gLS13aXRoLXB5dGhvbjM9bm8KLQotLSBu
YW1lOiBsem8yCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0
dHA6Ly93d3cub2Jlcmh1bWVyLmNvbS9vcGVuc291cmNlL2x6by9kb3dubG9hZC9sem8tMi4xMC50
YXIuZ3oKLSAgICAgIHNoYTE6IDQ5MjQ2NzZhOWJhZTVkYjU4ZWYxMjlkYzFjZWJjZTNiYWEzYzRi
NWQKLQotLSBuYW1lOiBpY2VjYwotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1
cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9pY2VjYy9pY2VjcmVhbQotICAgICAgdGFnOiAiMS4yIgot
ICAgICAgY29tbWl0OiBlM2QxMGEzMmJjNmMwNDZkOGYzZDExODJlNzVjNjU5ZDRiMjhlZDQ5Ci0g
IGNvbmZpZy1vcHRzOgotICAgIC0gLS13aXRob3V0LW1hbgotCi0tIG5hbWU6IGJyb3RsaQotICBz
b3VyY2VzOgotICAtIHR5cGU6IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9n
b29nbGUvYnJvdGxpL2FyY2hpdmUvdjEuMC41LnRhci5negotICAgIHNoYTI1NjogM2Q1YmVkZDQ4
ZWRiOTA5ZmUzYjg3Y2I5OWY3ZDEzOWI5ODdlZjZmMTYxNmI3ZTIyZDc0ZTkyODI3MGEyZmQyMAot
ICBidWlsZHN5c3RlbTogY21ha2UtbmluamEKLQotLSBuYW1lOiB3b2ZmMgotICBzb3VyY2VzOgot
ICAtIHR5cGU6IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvd29m
ZjIvYXJjaGl2ZS92MS4wLjIudGFyLmd6Ci0gICAgc2hhMjU2OiBhZGQyNzJiYjA5ZTYzODRhNDgz
M2ZmY2E0ODk2MzUwZmRiMTZlMGNhMjJkZjY4YzAzODQ3NzNjNjdhMTc1NTk0Ci0gIGJ1aWxkc3lz
dGVtOiBjbWFrZS1uaW5qYQotCi0tIG5hbWU6IG9wZW5qcGVnCi0gIHNvdXJjZXM6Ci0gIC0gdHlw
ZTogYXJjaGl2ZQotICAgIHVybDogaHR0cDovL2dpdGh1Yi5jb20vdWNsb3V2YWluL29wZW5qcGVn
L2FyY2hpdmUvdjIuMy4wLnRhci5negotICAgIHNoYTI1NjogM2RjNzg3YzFiYjYwMjNiYTg0NmMy
YTBkOWIxZjZlMTc5ZjFjZDI1NTE3MmJkZTllYjc1YjAxZjFlNmM3ZDcxYQotICBidWlsZHN5c3Rl
bTogY21ha2UtbmluamEKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5HVEsu
eWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5HVEsueWFtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggOTYzYjU2MDQ0MDgwNDVlZDA4N2M3YzI2N2E1OTMyYjg0ZTYzMGQzZi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0
cGFrL29yZy53ZWJraXQuR1RLLnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMjMgKzAsMCBAQAot
LSBuYW1lOiBtZXNhCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6
IGh0dHBzOi8vbWVzYS5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZS9tZXNhLTE4LjAuMy50YXIueHoK
LSAgICAgIHNoYTI1NjogMDk5ZDk2NjczMjdhNzZhNjE3NDFhNTMzZjk1MDY3ZDc2ZWE3MWE2NTZl
NjZiOTE1MDdiM2MwY2FmMWQ0OWUzMAotICBjb25maWctb3B0czoKLSAgICAtIC0tcHJlZml4PS9h
cHAvc29mdEdMCi0gICAgLSAtLWRpc2FibGUtZHJpMwotICAgIC0gLS1lbmFibGUtZHJpCi0gICAg
LSAtLWVuYWJsZS1nbHgKLSAgICAtIC0tZW5hYmxlLWVnbAotICAgIC0gLS13aXRoLWVnbC1wbGF0
Zm9ybXM9eDExLHdheWxhbmQKLSAgICAtIC0td2l0aC1kcmktZHJpdmVycz1zd3Jhc3QKLSAgICAt
IC0td2l0aC1nYWxsaXVtLWRyaXZlcnM9c3dyYXN0Ci0KLS0gbmFtZTogd2Via2l0Z3RrLXRlc3Qt
Zm9udHMKLSAgbm8tYXV0b2dlbjogdHJ1ZQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0g
ICAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJLaXRHVEsvd2Via2l0Z3RrLXRlc3QtZm9u
dHMuZ2l0Ci0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gICAgIyBG
SVhNRTogTWFrZSBBY3RpdmF0ZUZvbnRXUEUgc21hcnRlci4KLSAgICAtIG1ha2UgaW5zdGFsbCBE
RVNURElSPS9hcHAvV2ViS2l0QnVpbGQvRGVwZW5kZW5jaWVzR1RLL1Jvb3QKLQotLSBuYW1lOiB4
b3JnLXV0aWwtbWFjcm9zCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDog
aHR0cHM6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy91dGlsL21hY3Jvcy5naXQK
LSAgICAgIGJyYW5jaDogdXRpbC1tYWNyb3MtMS4xOS4yCi0KLS0gbmFtZTogeG9yZy1mb250LXV0
aWwKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Fub25n
aXQuZnJlZWRlc2t0b3Aub3JnL2dpdC94b3JnL2ZvbnQvdXRpbC5naXQKLSAgICAgIGJyYW5jaDog
Zm9udC11dGlsLTEuMy4xCi0KLS0gbmFtZTogeGtiZmlsZQotICBzb3VyY2VzOgotICAgIC0gdHlw
ZTogZ2l0Ci0gICAgICBicmFuY2g6IGxpYnhrYmZpbGUtMS4wLjkKLSAgICAgIHVybDogaHR0cHM6
Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy9saWIvbGlieGtiZmlsZS5naXQKLQot
LSBuYW1lOiBmb250ZW5jCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIGJyYW5j
aDogbGliZm9udGVuYy0xLjEuMwotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0
b3Aub3JnL2dpdC94b3JnL2xpYi9saWJmb250ZW5jLmdpdAotCi0tIG5hbWU6IHhmb250Ci0gIHNv
dXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIGJyYW5jaDogbGliWGZvbnQyLTIuMC4zCi0g
ICAgICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcvbGliL2xp
Ylhmb250LmdpdAotCi0tIG5hbWU6IHh2ZmIKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAot
ICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC94b3JnL3hzZXJ2
ZXIuZ2l0Ci0gICAgICBicmFuY2g6IHhvcmctc2VydmVyLTEuMTkuNgotICAgIC0gdHlwZTogcGF0
Y2gKLSAgICAgIHBhdGg6IHBhdGNoZXMveHZmYi0wMDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEt
a2JtLWZpbGUucGF0Y2gKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9ndGsvcGF0
Y2hlcy94c2VydmVyLXJlbW92ZS1ib2d1cy1kZXBlbmRlbmNpZXMucGF0Y2gKLSAgICAtIHR5cGU6
IHBhdGNoCi0gICAgICBwYXRoOiAuLi9ndGsvcGF0Y2hlcy94c2VydmVyLXNlYXJjaC1mb3ItRFJJ
LWRyaXZlcnMtYXQtTElCR0xfRFJJVkVSU19QQVRILWVudmlyb24ucGF0Y2gKLSAgY29uZmlnLW9w
dHM6Ci0gICAgLSAtLWVuYWJsZS14dmZiCi0gICAgLSAtLWRpc2FibGUteHdheWxhbmQKLSAgICAt
IC0tZW5hYmxlLXh2ZmIKLSAgICAtIC0tZGlzYWJsZS14d2F5bGFuZAotICAgIC0gLS1kaXNhYmxl
LXhpbmVyYW1hCi0gICAgLSAtLWVuYWJsZS1nbHgKLSAgICAtIC0tZW5hYmxlLWNvbXBvc2l0ZQot
ICAgIC0gLS1kaXNhYmxlLXhvcmcKLSAgICAtIC0tZGlzYWJsZS1kbXgKLSAgICAtIC0tZGlzYWJs
ZS14bmVzdAotICAgIC0gLS1kaXNhYmxlLXhxdWFydHoKLSAgICAtIC0tZGlzYWJsZS14d2luCi0g
ICAgLSAtLWRpc2FibGUteGVwaHlyCi0gICAgLSAtLWRpc2FibGUteGZha2UKLSAgICAtIC0tZGlz
YWJsZS14ZmJkZXYKLSAgICAtIC0tZGlzYWJsZS1pbnN0YWxsLXNldHVpZAotICAgIC0gLS1kaXNh
YmxlLXVuaXQtdGVzdHMKLSAgICAtIC0tZGlzYWJsZS1wcmVzZW50Ci0gICAgLSAtLWVuYWJsZS11
bml4LXRyYW5zcG9ydAotICAgIC0gLS1lbmFibGUtdGNwLXRyYW5zcG9ydAotICAgIC0gLS1kaXNh
YmxlLWxvY2FsLXRyYW5zcG9ydAotICAgIC0gLS13aXRob3V0LWR0cmFjZQotCi0jIFJlcXVpcmVk
IGZvciBydW4tZ3RrLXRlc3RzCi0tIG5hbWU6IHB5Y2Fpcm8KLSAgYnVpbGRzeXN0ZW06IHNpbXBs
ZQotICBidWlsZC1jb21tYW5kczoKLSAgLSBweXRob24yIHNldHVwLnB5IGluc3RhbGwgLS1wcmVm
aXg9L2FwcAotICBzb3VyY2VzOgotICAtIHR5cGU6IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8v
cHlwaS5weXRob24ub3JnL3BhY2thZ2VzL2VmLzk3L2IzM2RjNTMzZWE2MDc2ZDRlYTljYmQyZmUw
NDlhMmI0YTNkZjVjNWI2ZmJhOWExODI2MTZmNmY4ZDMxMC9weWNhaXJvLTEuMTUuNC50YXIuZ3oK
LSAgICBzaGEyNTY6IGVlNGMzMDY4YzA0ODIzMGU1Y2U3NGJiODk5NGEwMjQ3MTExMjliZGUxYWYx
ZDc2ZTMyNzZjN2FjZDgxYzQzNTcKLSAgY2xlYW51cDoKLSAgLSAiL2luY2x1ZGUiCi0gIC0gIi9s
aWIvcGtnY29uZmlnIgotCi0tIG5hbWU6IHB5Z29iamVjdC1weXRob24yCi0gIGJ1aWxkLW9wdGlv
bnM6Ci0gICAgZW52OgotICAgICAgUFlUSE9OOiAiL3Vzci9iaW4vcHl0aG9uMiIKLSAgc291cmNl
czoKLSAgLSB0eXBlOiBhcmNoaXZlCi0gICAgdXJsOiBodHRwczovL2Rvd25sb2FkLmdub21lLm9y
Zy9zb3VyY2VzL3B5Z29iamVjdC8zLjI4L3B5Z29iamVjdC0zLjI4LjEudGFyLnh6Ci0gICAgc2hh
MjU2OiA0MjMxMmI0YTUwMTU1NzFmYTBhNGYyZDIwMTAwNWRhNDZiNzFjMjUxZWEyNjI1YmM5NTcw
MmQwNzFjNGZmODk1Ci0gIGNsZWFudXA6Ci0gIC0gIi9pbmNsdWRlIgotICAtICIvbGliL3BrZ2Nv
bmZpZyIKLSAgLSAiL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9naS8qLmxhIgotCi0tIG9y
Zy53ZWJraXQuV1BFTW9kdWxlcy55YW1sCi0KLS0gbmFtZTogb3JnLndlYmtpdC5HVEsKLSAgYnVp
bGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgICAtIC9hcHAvd2Via2l0L1Rv
b2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0IC0tZ3RrIC0tcHJlZml4PS9hcHAKLQpkaWZmIC0tZ2l0
IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRS55YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcu
d2Via2l0LldQRS55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0Y2JhYmJhYTBj
YjhlMTU4YWQ0NDQxZjk4YjRkMDUzYThjYjNiYTc2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEUueWFtbAor
KysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLS0gb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlh
bWwKLS0gbmFtZTogd2Via2l0Z3RrLXRlc3QtZm9udHMKLSAgbm8tYXV0b2dlbjogdHJ1ZQotICBz
b3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9X
ZWJLaXRHVEsvd2Via2l0Z3RrLXRlc3QtZm9udHMuZ2l0Ci0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUK
LSAgYnVpbGQtY29tbWFuZHM6Ci0gICAgIyBGSVhNRTogTWFrZSBBY3RpdmF0ZUZvbnRXUEUgc21h
cnRlci4KLSAgICAtIG1ha2UgaW5zdGFsbCBERVNURElSPS9hcHAvV2ViS2l0QnVpbGQvRGVwZW5k
ZW5jaWVzV1BFL1Jvb3QKLS0gbmFtZTogb3JnLndlYmtpdC5XUEUKLSAgYnVpbGRzeXN0ZW06IHNp
bXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgICAtIC9hcHAvd2Via2l0L1Rvb2xzL1NjcmlwdHMv
YnVpbGQtd2Via2l0IC0td3BlIC0tcHJlZml4PS9hcHAKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRw
YWsvb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwgYi9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQu
V1BFTW9kdWxlcy55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhODBlMmNjYjNh
NGQ5NTIyYTYwNzkzNGMwNmUwYWY5MjA1YmYwMjE3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVNb2R1bGVz
LnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0tIG5hbWU6IGxpYndwZQotICBi
dWlsZHN5c3RlbTogY21ha2UtbmluamEKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUK
LSAgICAgIHVybDogaHR0cHM6Ly93cGV3ZWJraXQub3JnL3JlbGVhc2VzL2xpYndwZS0xLjQuMC50
YXIueHoKLSAgICAgIHNoYTI1NjogZTJkMzQ5NGZjMzNmZTk0NmFkOTE3ZmQ2YTNhYmQxMjc0NjJi
OTFiYmE2MmVmOGIzNTUwN2U5MmY4ZWRlNDE4OAotLSBuYW1lOiB3cGViYWNrZW5kLWZkbwotICBi
dWlsZHN5c3RlbTogY21ha2UtbmluamEKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUK
LSAgICAgIHVybDogaHR0cHM6Ly93cGV3ZWJraXQub3JnL3JlbGVhc2VzL3dwZWJhY2tlbmQtZmRv
LTEuNC4wLnRhci54egotICAgICAgc2hhMjU2OiBhOTE5Y2E0YTViYzQ0NWY5NDE5YTViN2YzNzgx
Y2ZjOThlNWFiY2Y1ZDcyNTllYjE4NjlmNWFiMjBmZDE4YmFmCmRpZmYgLS1naXQgYS9Ub29scy9m
bGF0cGFrL29yZy53ZWJraXQuV1BFUVQueWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5X
UEVRVC55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTM2OTU3YTQ2MWJjMzQ3
OWEzOGVmZmRlNmQ5NThiZDAwNzI2NzhlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVRVC55YW1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotYXBwLWlkOiBvcmcud2Via2l0LldQRVFUCi1ydW50
aW1lOiBvcmcua2RlLlBsYXRmb3JtCi1ydW50aW1lLXZlcnNpb246ICI1LjEyIgotIyBDb250cm9s
IHRoZSBleGFjdCB2ZXJzaW9uIG9mIHRoZSBTZGsvUnVudGltZSB0aGF0IGlzIGJlaW5nIHVzZWQu
Ci1zZGstaGFzaDogZDZlZmEyNGUyN2MxYzg3OGFkNGZkZTc2YjczYzk2YTExYmUzMmI1OThhZTg3
YWVmYmUzMzllZTRiYjE5YThiZQotcnVudGltZS1oYXNoOiAxMDE4NzFlMDkxMDAwNjE2YWQyYjYz
NWUwNmM0MTRlYjBlMWM0ZTFjMzQyOTJhMjA1YzUyMzk5MzVlZTVlYTQ0Ci1zZGs6IG9yZy5rZGUu
U2RrCi1jb21tYW5kOiAlKENPTU1BTkQpcwotZmluaXNoLWFyZ3M6Ci0gICMgQmFzaWNhbGx5IG5v
IHNhbmRib3hpbmcsIHRoZSBnb2FsIGhlcmUgaXMgdG8gbWFrZSBpdCBmbGV4aWJsZQotICAjIGZv
ciBkZXZlbG9wZXJzLCBub3QgcmVhbGx5IHRvIGlzb2xhdGUgKG9wZW5uaW5nIGFsbCBkZXZpY2Vz
Ci0gICMgdG8gYWxsb3cgYWNjZXMgdmlkZW8gY2FtZXJhcyB1bnRpbCB3ZSBoYXZlIGEgcG9ydGFs
IGF0IGxlYXN0KS4KLSAgLSAtLXNoYXJlPWlwYwotICAtIC0tc29ja2V0PXgxMQotICAtIC0tc29j
a2V0PXdheWxhbmQKLSAgLSAtLWRldmljZT1hbGwKLSAgLSAtLXNoYXJlPW5ldHdvcmsKLSAgLSAt
LXNvY2tldD1wdWxzZWF1ZGlvCi0gIC0gLS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5mcmVlZGVza3Rv
cC5HZW9DbHVlMgotICAtIC0tc3lzdGVtLXRhbGstbmFtZT1vcmcuYTExeS5CdXMKLSAgLSAtLWZp
bGVzeXN0ZW09aG9zdAotICAtIC0tc29ja2V0PXN5c3RlbS1idXMKLSAgLSAtLXRhbGstbmFtZT1v
cmcuZnJlZWRlc2t0b3AuRmxhdHBhawotICAtIC0tZW52PUdTVF9QUkVTRVRfUEFUSD0vYXBwL3No
YXJlL2dzdHJlYW1lci0xLjAvcHJlc2V0cy8KLWJ1aWxkLW9wdGlvbnM6Ci0gIGNmbGFnczogLU8y
IC1nCi0gIGN4eGZsYWdzOiAtTzIgLWcKLSAgc3RyaXA6IGZhbHNlCi0gIG5vLWRlYnVnaW5mbzog
dHJ1ZQotbW9kdWxlczoKLSAgLSBvcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbAotICAtIG9y
Zy53ZWJraXQuV1BFTW9kdWxlcy55YW1sCi0KLSAgIyBUaGlzIG1vZHVsZSBpcyBub3QgYWN0dWFs
bHkgYnVpbHQuCi0gIC0gbmFtZTogb3JnLndlYmtpdC5XUEVRVAotICAgIGJ1aWxkc3lzdGVtOiBj
bWFrZQotICAgIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBkaXIKLSAgICAgIHBhdGg6IC9hcHAvd2Vi
a2l0L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvcXQKZGlmZiAtLWdpdCBhL1Rvb2xz
L2ZsYXRwYWsvb3JnLndlYmtpdC5XZWJLaXQueWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtp
dC5XZWJLaXQueWFtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjZkNjEyNjYwZDhh
MjA0NWRhMzEyZmRiMDkxYjc4ZTU4YTgwN2U2OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV2ViS2l0LnlhbWwK
KysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1hcHAtaWQ6ICUoUE9SVE5BTUUpcwotcnVu
dGltZTogb3JnLmdub21lLlBsYXRmb3JtCi1ydW50aW1lLXZlcnNpb246ICIzLjMyIgotIyBDb250
cm9sIHRoZSBleGFjdCB2ZXJzaW9uIG9mIHRoZSBTZGsvUnVudGltZSB0aGF0IGlzIGJlaW5nIHVz
ZWQuCi1zZGstaGFzaDogYjNiOWIxZDFiMTllYTJiYjcyMDE5NDI4Y2E3NWM3YTc4NDU1ZTk4NmEw
ZjkxZGRkZjZhMjljOTI5OTBjYzVhNwotcnVudGltZS1oYXNoOiA3YzlkNTU5MmQ4MDVkMGI3YzIx
MjE5MGZkODExOGU0Yzc4Y2I4ZWQ4ZjgxZTY4Nzg1ODk3MjY3MGRhY2NmZjc2Ci1zZGs6IG9yZy5n
bm9tZS5TZGsKLWNvbW1hbmQ6ICUoQ09NTUFORClzCi1maW5pc2gtYXJnczoKLSAgIyBCYXNpY2Fs
bHkgbm8gc2FuZGJveGluZywgdGhlIGdvYWwgaGVyZSBpcyB0byBtYWtlIGl0IGZsZXhpYmxlCi0g
ICMgZm9yIGRldmVsb3BlcnMsIG5vdCByZWFsbHkgdG8gaXNvbGF0ZSAob3Blbm5pbmcgYWxsIGRl
dmljZXMKLSAgIyB0byBhbGxvdyBhY2NlcyB2aWRlbyBjYW1lcmFzIHVudGlsIHdlIGhhdmUgYSBw
b3J0YWwgYXQgbGVhc3QpLgotICAtIC0tc2hhcmU9aXBjCi0gIC0gLS1zb2NrZXQ9eDExCi0gIC0g
LS1zb2NrZXQ9d2F5bGFuZAotICAtIC0tZGV2aWNlPWFsbAotICAtIC0tc2hhcmU9bmV0d29yawot
ICAtIC0tc29ja2V0PXB1bHNlYXVkaW8KLSAgLSAtLXN5c3RlbS10YWxrLW5hbWU9b3JnLmZyZWVk
ZXNrdG9wLkdlb0NsdWUyCi0gIC0gLS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cwotICAt
IC0tZmlsZXN5c3RlbT1ob3N0Ci0gIC0gLS1zb2NrZXQ9c3lzdGVtLWJ1cwotICAtIC0tdGFsay1u
YW1lPW9yZy5mcmVlZGVza3RvcC5GbGF0cGFrCi0gIC0gLS1lbnY9R1NUX1BSRVNFVF9QQVRIPS9h
cHAvc2hhcmUvZ3N0cmVhbWVyLTEuMC9wcmVzZXRzLwotYnVpbGQtb3B0aW9uczoKLSAgY2ZsYWdz
OiAtTzIgLWcKLSAgY3h4ZmxhZ3M6IC1PMiAtZwotICBzdHJpcDogZmFsc2UKLSAgbm8tZGVidWdp
bmZvOiB0cnVlCi1tb2R1bGVzOgotICAtIG9yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sCi0g
ICMgUG9ydCBzcGVjaWZpYyBjb21wb25lbnRzLgotICAtICUoUE9SVE5BTUUpcy55YW1sCmRpZmYg
LS1naXQgYS9Ub29scy9mbGF0cGFrL3BhdGNoZXMvaHR0cGQtMDAwMS1jb25maWd1cmUtdXNlLXBr
Zy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoIGIvVG9vbHMvZmxhdHBhay9wYXRjaGVz
L2h0dHBkLTAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1QQ1JFLWRldGVjdGlvbi5w
YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDM2YTY5NGYyOTIzZDM1MWRiNmYz
ZjEzMzI3NjAyODNkYTc4ZjlkZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL3BhdGNoZXMvaHR0cGQtMDAwMS1jb25maWd1cmUtdXNl
LXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs
NTAgKzAsMCBAQAotRnJvbSBiNWViZTQwNGYxMzg4ZGRkYTM2MDNlNTMyNzdmODdlMGI5NmJhNjk1
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGhpYmF1bHQgU2F1bmllciA8dHNhdW5p
ZXJAaWdhbGlhLmNvbT4KLURhdGU6IE1vbiwgMTEgSnVuIDIwMTggMTY6MTQ6MzggLTA0MDAKLVN1
YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlOiB1c2UgcGtnLWNvbmZpZyBmb3IgUENSRSBkZXRlY3Rp
b24KLQotLS0tCi0gY29uZmlndXJlLmluIHwgMjcgKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci0gMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCi0KLWRp
ZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KLWluZGV4IDc2MWU4MzYuLmIx
NTVkNGIgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuaW4KLSsrKyBiL2NvbmZpZ3VyZS5pbgotQEAg
LTIxNSwyOCArMjE1LDExIEBAIGZpCi0gQUNfQVJHX1dJVEgocGNyZSwKLSBBUEFDSEVfSEVMUF9T
VFJJTkcoLS13aXRoLXBjcmU9UEFUSCxVc2UgZXh0ZXJuYWwgUENSRSBsaWJyYXJ5KSkKLSAKLS1B
Q19QQVRIX1BST0coUENSRV9DT05GSUcsIHBjcmUtY29uZmlnLCBmYWxzZSkKLS1pZiB0ZXN0IC1k
ICIkd2l0aF9wY3JlIiAmJiB0ZXN0IC14ICIkd2l0aF9wY3JlL2Jpbi9wY3JlLWNvbmZpZyI7IHRo
ZW4KLS0gICBQQ1JFX0NPTkZJRz0kd2l0aF9wY3JlL2Jpbi9wY3JlLWNvbmZpZwotLWVsaWYgdGVz
dCAteCAiJHdpdGhfcGNyZSI7IHRoZW4KLS0gICBQQ1JFX0NPTkZJRz0kd2l0aF9wY3JlCi0tZmkK
LS0KLS1pZiB0ZXN0ICIkUENSRV9DT05GSUciICE9ICJmYWxzZSI7IHRoZW4KLS0gIGlmICRQQ1JF
X0NPTkZJRyAtLXZlcnNpb24gPi9kZXYvbnVsbCAyPiYxOyB0aGVuIDo7IGVsc2UKLS0gICAgQUNf
TVNHX0VSUk9SKFtEaWQgbm90IGZpbmQgcGNyZS1jb25maWcgc2NyaXB0IGF0ICRQQ1JFX0NPTkZJ
R10pCi0tICBmaQotLSAgY2FzZSBgJFBDUkVfQ09ORklHIC0tdmVyc2lvbmAgaW4KLS0gIFtbMS01
XS4qXSkKLS0gICAgQUNfTVNHX0VSUk9SKFtOZWVkIGF0IGxlYXN0IHBjcmUgdmVyc2lvbiA2LjBd
KQotLSAgICA7OwotLSAgZXNhYwotLSAgQUNfTVNHX05PVElDRShbVXNpbmcgZXh0ZXJuYWwgUENS
RSBsaWJyYXJ5IGZyb20gJFBDUkVfQ09ORklHXSkKLS0gIEFQUl9BRERUTyhQQ1JFX0lOQ0xVREVT
LCBbYCRQQ1JFX0NPTkZJRyAtLWNmbGFnc2BdKQotLSAgQVBSX0FERFRPKFBDUkVfTElCUywgW2Ak
UENSRV9DT05GSUcgLS1saWJzYF0pCi0tZWxzZQotLSAgQUNfTVNHX0VSUk9SKFtwY3JlLWNvbmZp
ZyBmb3IgbGlicGNyZSBub3QgZm91bmQuIFBDUkUgaXMgcmVxdWlyZWQgYW5kIGF2YWlsYWJsZSBm
cm9tIGh0dHA6Ly9wY3JlLm9yZy9dKQotLWZpCi0rUEtHX0NIRUNLX01PRFVMRVMoW1BDUkVdLCBb
bGlicGNyZV0sIFsKLSsgIEFDX0RFRklORShbSEFWRV9QQ1JFXSwgWzFdLCBbRGVmaW5lIGlmIHlv
dSBoYXZlIFBDUkUgbGlicmFyeV0pCi0rXSwgWwotKyAgQUNfTVNHX0VSUk9SKFskUENSRV9QS0df
RVJST1JTXSkKLStdKQotIEFQQUNIRV9TVUJTVChQQ1JFX0xJQlMpCi0gCi0gQUNfTVNHX05PVElD
RShbXSkKLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy9s
aWJnY3J5cHQtMDAwMS1Vc2UtcGtnLWNvbmZpZy10by1kZXRlY3QtZ3BnLWVycm9yLnBhdGNoIGIv
VG9vbHMvZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWRl
dGVjdC1ncGctZXJyb3IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM1Nzcy
N2ZiYjhiMDhiOTE5NWE1YzA5N2Q2YzYxYjkwOGM2OTE3OWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlw
dC0wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWRldGVjdC1ncGctZXJyb3IucGF0Y2gKKysrIC9kZXYv
bnVsbApAQCAtMSwxMTAgKzAsMCBAQAotRnJvbSA5YWZmM2YxYjM0NGZjODY2NmIxNGM1NzYyOTE2
MmMyYjkwMDdjYWQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGhpYmF1bHQgU2F1
bmllciA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KLURhdGU6IEZyaSwgMjkgSnVuIDIwMTggMDk6MDU6
NTIgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gVXNlIHBrZy1jb25maWcgdG8gZGV0ZWN0IGdwZy1l
cnJvcgotCi0tLS0KLSBtNC9ncGctZXJyb3IubTQgfCA4OCArKysrKysrLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlv
bnMoKyksIDc2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbTQvZ3BnLWVycm9yLm00IGIv
bTQvZ3BnLWVycm9yLm00Ci1pbmRleCAxNjYxMjA0Yy4uNWY5ZjMzYzIgMTAwNjQ0Ci0tLS0gYS9t
NC9ncGctZXJyb3IubTQKLSsrKyBiL200L2dwZy1lcnJvci5tNAotQEAgLTQxLDgxICs0MSwxNyBA
QCBBQ19ERUZVTihbQU1fUEFUSF9HUEdfRVJST1JdLAotICAgQUNfQVJHX1dJVEgoZ3BnLWVycm9y
LXByZWZpeCwsCi0gICAgICAgICAgICAgICBbZ3BnX2Vycm9yX2NvbmZpZ19wcmVmaXg9IiR3aXRo
dmFsIl0pCi0gCi0tICBpZiB0ZXN0IHgiJHtHUEdfRVJST1JfQ09ORklHfSIgPSB4IDsgdGhlbgot
LSAgICAgaWYgdGVzdCB4IiR7Z3BnX2Vycm9yX2NvbmZpZ19wcmVmaXh9IiAhPSB4IDsgdGhlbgot
LSAgICAgICAgR1BHX0VSUk9SX0NPTkZJRz0iJHtncGdfZXJyb3JfY29uZmlnX3ByZWZpeH0vYmlu
L2dwZy1lcnJvci1jb25maWciCi0tICAgICBlbHNlCi0tICAgICAgIGNhc2UgIiR7U1lTUk9PVH0i
IGluCi0tICAgICAgICAgLyopCi0tICAgICAgICAgICBpZiB0ZXN0IC14ICIke1NZU1JPT1R9L2Jp
bi9ncGctZXJyb3ItY29uZmlnIiA7IHRoZW4KLS0gICAgICAgICAgICAgR1BHX0VSUk9SX0NPTkZJ
Rz0iJHtTWVNST09UfS9iaW4vZ3BnLWVycm9yLWNvbmZpZyIKLS0gICAgICAgICAgIGZpCi0tICAg
ICAgICAgICA7OwotLSAgICAgICAgICcnKQotLSAgICAgICAgICAgOzsKLS0gICAgICAgICAgKikK
LS0gICAgICAgICAgIEFDX01TR19XQVJOKFtJZ25vcmluZyBcJFNZU1JPT1QgYXMgaXQgaXMgbm90
IGFuIGFic29sdXRlIHBhdGguXSkKLS0gICAgICAgICAgIDs7Ci0tICAgICAgIGVzYWMKLS0gICAg
IGZpCi0tICBmaQotKyAgUEtHX0NIRUNLX01PRFVMRVMoW0dQR19FUlJPUl0sIFtncGctZXJyb3Jd
LCBbCi0rICAgIEFDX0RFRklORShbSEFWRV9HUEdfRVJST1JdLCBbMV0sIFtEZWZpbmUgaWYgeW91
IGhhdmUgZ3BnLWVycm9yIGxpYnJhcnldKQotIAotLSAgQUNfUEFUSF9QUk9HKEdQR19FUlJPUl9D
T05GSUcsIGdwZy1lcnJvci1jb25maWcsIG5vKQotLSAgbWluX2dwZ19lcnJvcl92ZXJzaW9uPWlm
ZWxzZShbJDFdLCAsMC4wLCQxKQotLSAgQUNfTVNHX0NIRUNLSU5HKGZvciBHUEcgRXJyb3IgLSB2
ZXJzaW9uID49ICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb24pCi0tICBvaz1ubwotLSAgaWYgdGVzdCAi
JEdQR19FUlJPUl9DT05GSUciICE9ICJubyIgXAotLSAgICAgJiYgdGVzdCAtZiAiJEdQR19FUlJP
Ul9DT05GSUciIDsgdGhlbgotLSAgICByZXFfbWFqb3I9YGVjaG8gJG1pbl9ncGdfZXJyb3JfdmVy
c2lvbiB8IFwKLS0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0q
XCkvXDEvJ2AKLS0gICAgcmVxX21pbm9yPWBlY2hvICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb24gfCBc
Ci0tICAgICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwuXChbWzAtOV1dKlwpL1wyLydg
Ci0tICAgIGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbj1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19l
cnJvcl9jb25maWdfYXJncyAtLXZlcnNpb25gCi0tICAgIG1ham9yPWBlY2hvICRncGdfZXJyb3Jf
Y29uZmlnX3ZlcnNpb24gfCBcCi0tICAgICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwu
XChbWzAtOV1dKlwpLiovXDEvJ2AKLS0gICAgbWlub3I9YGVjaG8gJGdwZ19lcnJvcl9jb25maWdf
dmVyc2lvbiB8IFwKLS0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05
XV0qXCkuKi9cMi8nYAotLSAgICBpZiB0ZXN0ICIkbWFqb3IiIC1ndCAiJHJlcV9tYWpvciI7IHRo
ZW4KLS0gICAgICAgIG9rPXllcwotLSAgICBlbHNlCi0tICAgICAgICBpZiB0ZXN0ICIkbWFqb3Ii
IC1lcSAiJHJlcV9tYWpvciI7IHRoZW4KLS0gICAgICAgICAgICBpZiB0ZXN0ICIkbWlub3IiIC1n
ZSAiJHJlcV9taW5vciI7IHRoZW4KLS0gICAgICAgICAgICAgICBvaz15ZXMKLS0gICAgICAgICAg
ICBmaQotLSAgICAgICAgZmkKLS0gICAgZmkKLS0gIGZpCi0tICBpZiB0ZXN0ICRvayA9IHllczsg
dGhlbgotLSAgICBHUEdfRVJST1JfQ0ZMQUdTPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9y
X2NvbmZpZ19hcmdzIC0tY2ZsYWdzYAotLSAgICBHUEdfRVJST1JfTElCUz1gJEdQR19FUlJPUl9D
T05GSUcgJGdwZ19lcnJvcl9jb25maWdfYXJncyAtLWxpYnNgCi0tICAgIEdQR19FUlJPUl9NVF9D
RkxBR1M9YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1tdCAtLWNm
bGFncyAyPi9kZXYvbnVsbGAKLS0gICAgR1BHX0VSUk9SX01UX0xJQlM9YCRHUEdfRVJST1JfQ09O
RklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1tdCAtLWxpYnMgMj4vZGV2L251bGxgCi0tICAg
IEFDX01TR19SRVNVTFQoW3llcyAoJGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbildKQotLSAgICBp
ZmVsc2UoWyQyXSwgLCA6LCBbJDJdKQotLSAgICBncGdfZXJyb3JfY29uZmlnX2hvc3Q9YCRHUEdf
RVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1ob3N0IDI+L2Rldi9udWxsIHx8
IGVjaG8gbm9uZWAKLS0gICAgaWYgdGVzdCB4IiRncGdfZXJyb3JfY29uZmlnX2hvc3QiICE9IHhu
b25lIDsgdGhlbgotLSAgICAgIGlmIHRlc3QgeCIkZ3BnX2Vycm9yX2NvbmZpZ19ob3N0IiAhPSB4
IiRob3N0IiA7IHRoZW4KLS0gIEFDX01TR19XQVJOKFtbCi0tKioqCi0tKioqIFRoZSBjb25maWcg
c2NyaXB0ICRHUEdfRVJST1JfQ09ORklHIHdhcwotLSoqKiBidWlsdCBmb3IgJGdwZ19lcnJvcl9j
b25maWdfaG9zdCBhbmQgdGh1cyBtYXkgbm90IG1hdGNoIHRoZQotLSoqKiB1c2VkIGhvc3QgJGhv
c3QuCi0tKioqIFlvdSBtYXkgd2FudCB0byB1c2UgdGhlIGNvbmZpZ3VyZSBvcHRpb24gLS13aXRo
LWdwZy1lcnJvci1wcmVmaXgKLS0qKiogdG8gc3BlY2lmeSBhIG1hdGNoaW5nIGNvbmZpZyBzY3Jp
cHQgb3IgdXNlIFwkU1lTUk9PVC4KLS0qKipdXSkKLS0gICAgICAgIGdwZ19jb25maWdfc2NyaXB0
X3dhcm49IiRncGdfY29uZmlnX3NjcmlwdF93YXJuIGxpYmdwZy1lcnJvciIKLS0gICAgICBmaQot
LSAgICBmaQotLSAgZWxzZQotLSAgICBHUEdfRVJST1JfQ0ZMQUdTPSIiCi0tICAgIEdQR19FUlJP
Ul9MSUJTPSIiCi0tICAgIEdQR19FUlJPUl9NVF9DRkxBR1M9IiIKLS0gICAgR1BHX0VSUk9SX01U
X0xJQlM9IiIKLS0gICAgQUNfTVNHX1JFU1VMVChubykKLS0gICAgaWZlbHNlKFskM10sICwgOiwg
WyQzXSkKLS0gIGZpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfQ0ZMQUdTKQotLSAgQUNfU1VCU1Qo
R1BHX0VSUk9SX0xJQlMpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfTVRfQ0ZMQUdTKQotLSAgQUNf
U1VCU1QoR1BHX0VSUk9SX01UX0xJQlMpCi0rICAgIEdQR19FUlJPUl9NVF9DRkxBR1M9IiRHUEdf
RVJST1JfQ0ZMQUdTIgotKyAgICBHUEdfRVJST1JfTVRfTElCUz0iLWxwdGhyZWFkICRHUEdfRVJS
T1JfTElCUyIKLSsKLSsgICAgQUNfU1VCU1QoR1BHX0VSUk9SX0NGTEFHUykKLSsgICAgQUNfU1VC
U1QoR1BHX0VSUk9SX0xJQlMpCi0rICAgIEFDX1NVQlNUKEdQR19FUlJPUl9NVF9DRkxBR1MpCi0r
ICAgIEFDX1NVQlNUKEdQR19FUlJPUl9NVF9MSUJTKQotKyAgXSwgWwotKyAgICBBQ19NU0dfRVJS
T1IoWyRHUEdfRVJST1JfRVJST1JTXSkKLSsgIF0pCi0gXSkKLS0tIAotMi4xOC4wCi0KZGlmZiAt
LWdpdCBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEtSEFDSy1Bdm9pZC1jb21waWxp
bmctYS1rYm0tZmlsZS5wYXRjaCBiL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEtSEFD
Sy1Bdm9pZC1jb21waWxpbmctYS1rYm0tZmlsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggODk4ODQyYjM4MWQyNTE0MGZiYzA4ZjU0YTk3MjMwYTZkYmU0YTQ1MC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL3Bh
dGNoZXMveHZmYi0wMDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEta2JtLWZpbGUucGF0Y2gKKysr
IC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1Gcm9tIGFlZDFiNmU4ZGU0MTM3NWMxYjhiMWRm
YzQ4YTM1MGUwYTliOWNiYmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUaGliYXVs
dCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotRGF0ZTogTW9uLCAxMSBKdW4gMjAxOCAx
MDo1NTo0MyAtMDQwMAotU3ViamVjdDogW1BBVENIIHhzZXJ2ZXJdIEhBQ0s6IEF2b2lkIGNvbXBp
bGluZyBhIGtibSBmaWxlCi0KLVRoaXMgd291bGQgbmVlZCB0byBiZSBpbiAvdXNyL3NoYXJlL1gx
MS8gYXMgdGhpcyBpcyB3aGVyZQotcmVzb3VyY2UgZmlsZXMgYXJlIGluIHRoZSBzYW5kYm94IGJ1
dCBpdCBpcyByZWFkIG9ubHkgaW4gdGhlcmUuCi0KLUhhY2sgYXJvdW5kIHRoYXQuCi0tLS0KLSB4
a2IvZGR4TG9hZC5jIHwgOSArLS0tLS0tLS0KLSB4a2IveGtiSW5pdC5jIHwgMiArLQotIDIgZmls
ZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0
IGEveGtiL2RkeExvYWQuYyBiL3hrYi9kZHhMb2FkLmMKLWluZGV4IGJiZTM5NTIuLmE0YTAzYTEg
MTAwNjQ0Ci0tLS0gYS94a2IvZGR4TG9hZC5jCi0rKysgYi94a2IvZGR4TG9hZC5jCi1AQCAtMTQ4
LDE0ICsxNDgsNyBAQCBSdW5Ya2JDb21wKHhrYmNvbXBfYnVmZmVyX2NhbGxiYWNrIGNhbGxiYWNr
LCB2b2lkICp1c2VyZGF0YSkKLSAgICAgICAgIH0KLSAgICAgfQotIAotLSAgICBpZiAoYXNwcmlu
dGYoJmJ1ZiwKLS0gICAgICAgICAgICAgICAgICJcIiVzJXN4a2Jjb21wXCIgLXcgJWQgJXMgLXhr
bSBcIiVzXCIgIgotLSAgICAgICAgICAgICAgICAgIi1lbTEgJXMgLWVtcCAlcyAtZW1sICVzIFwi
JXMlcy54a21cIiIsCi0tICAgICAgICAgICAgICAgICB4a2JiaW5kaXIsIHhrYmJpbmRpcnNlcCwK
LS0gICAgICAgICAgICAgICAgICgoeGtiRGVidWdGbGFncyA8IDIpID8gMSA6Ci0tICAgICAgICAg
ICAgICAgICAgKCh4a2JEZWJ1Z0ZsYWdzID4gMTApID8gMTAgOiAoaW50KSB4a2JEZWJ1Z0ZsYWdz
KSksCi0tICAgICAgICAgICAgICAgICB4a2JiYXNlZGlyZmxhZyA/IHhrYmJhc2VkaXJmbGFnIDog
IiIsIHhrbWZpbGUsCi0tICAgICAgICAgICAgICAgICBQUkVfRVJST1JfTVNHLCBFUlJPUl9QUkVG
SVgsIFBPU1RfRVJST1JfTVNHMSwKLSsgICAgaWYgKGFzcHJpbnRmKCZidWYsICJjcCAvYXBwL3dl
YmtpdC9Ub29scy9mbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttIFwiJXMlcy54a21cIiIsCi0gICAg
ICAgICAgICAgICAgICB4a21fb3V0cHV0X2Rpciwga2V5bWFwKSA9PSAtMSkKLSAgICAgICAgIGJ1
ZiA9IE5VTEw7Ci0gCi1kaWZmIC0tZ2l0IGEveGtiL3hrYkluaXQuYyBiL3hrYi94a2JJbml0LmMK
LWluZGV4IDljNzcyZjUuLjRlMGI3NzQgMTAwNjQ0Ci0tLS0gYS94a2IveGtiSW5pdC5jCi0rKysg
Yi94a2IveGtiSW5pdC5jCi1AQCAtODcsNyArODcsNyBAQCB0eXBlZGVmIHN0cnVjdCBfU3J2WGtt
SW5mbyB7Ci0gI2RlZmluZQlYS0JfREZMVF9SVUxFU19QUk9QCVRSVUUKLSAjZW5kaWYKLSAKLS1j
b25zdCBjaGFyICpYa2JCYXNlRGlyZWN0b3J5ID0gWEtCX0JBU0VfRElSRUNUT1JZOwotK2NvbnN0
IGNoYXIgKlhrYkJhc2VEaXJlY3RvcnkgPSAiL3Vzci9zaGFyZS9YMTEveGtiLyI7Ci0gY29uc3Qg
Y2hhciAqWGtiQmluRGlyZWN0b3J5ID0gWEtCX0JJTl9ESVJFQ1RPUlk7Ci0gc3RhdGljIGludCBY
a2JXYW50QWNjZXNzWCA9IDA7Ci0gCi0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9Ub29scy9n
dGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMgYi9Ub29scy9ndGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMK
aW5kZXggYzZkYzUwY2EwZTVmZTdiMzA3ZmU1Njg4OTc2YzNiMzI4MWE0YzI2MS4uY2E1Yzc3MjAy
NDViZGFlZDMzMmRjZjAxZGNjYjNkMjhkMGRiMGFhYSAxMDA3NTUKLS0tIGEvVG9vbHMvZ3RrL2lu
c3RhbGwtZGVwZW5kZW5jaWVzCisrKyBiL1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVuZGVuY2llcwpA
QCAtMTc2LDYgKzE3NiwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aEFwdCB7
CiAgICAgICAgIHdlc3RvbiBcCiAgICAgICAgIHh2ZmIiCiAKKyAgICAjIFRoZXNlIGFyZSBkZXBl
bmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAg
ICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAgICAgICAgZmxhdHBhayIKKwogICAgICMgVGhlc2Ug
YXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAg
IHBhY2thZ2VzPSIkcGFja2FnZXMgXAogICAgICAgICBiaXNvbiBcCkBAIC0zNDQsNiArMzQ4LDEw
IEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoUGFjbWFuIHsKICAgICAgICAgd2Vz
dG9uIFwKICAgICAgICAgeG9yZy1zZXJ2ZXIteHZmYiIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVu
ZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAg
IHBhY2thZ2VzPSIkcGFja2FnZXMgXAorICAgICAgICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBh
cmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAg
IyBOb3RlOiBDb3VsZCBub3QgZmluZCBsaWJlZ2wtbWVzYQogICAgIHBhY2thZ2VzPSIkcGFja2Fn
ZXMgXApAQCAtNTE2LDYgKzUyNCwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0
aERuZiB7CiAgICAgICAgIHdlc3Rvbi1kZXZlbCBcCiAgICAgICAgIHhvcmcteDExLXNlcnZlci1Y
dmZiIgogCisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRp
bmcgd2l0aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCisgICAg
ICAgIGZsYXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZv
ciBidWlsZGluZyB0aGUgamhidWlsZC4KICAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKICAgICAg
ICAgYmlzb24gXApkaWZmIC0tZ2l0IGEvVG9vbHMvd3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzIGIv
VG9vbHMvd3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzCmluZGV4IDI3ZDljODFhY2ZhYTRhYzIyODRj
ZThlNzc2N2ZhNTkyOTdjOGY0ZTguLmI4M2I2ZDY0MjA4YjZjMzdlMGY3OTlkZDhiNzdjNjUxYjI2
YjAwMjUgMTAwNzU1Ci0tLSBhL1Rvb2xzL3dwZS9pbnN0YWxsLWRlcGVuZGVuY2llcworKysgYi9U
b29scy93cGUvaW5zdGFsbC1kZXBlbmRlbmNpZXMKQEAgLTExMCw2ICsxMTAsMTAgQEAgZnVuY3Rp
b24gaW5zdGFsbERlcGVuZGVuY2llc1dpdGhBcHQgewogICAgICAgICBydWJ5LWhpZ2hsaW5lIFwK
ICAgICAgICAgcnVieS1qc29uIgogCisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vz
c2FyeSBmb3IgYnVpbGRpbmcgd2l0aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRw
YWNrYWdlcyBcCisgICAgICAgIGZsYXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNp
ZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB0aGUgamhidWlsZC4KICAgICBwYWNrYWdlcz0iJHBh
Y2thZ2VzIFwKICAgICAgICAgZ2l0IFwKQEAgLTIxMiw2ICsyMTYsMTAgQEAgZnVuY3Rpb24gaW5z
dGFsbERlcGVuZGVuY2llc1dpdGhQYWNtYW4gewogICAgICAgICBweXRob24yLXBzdXRpbCBcCiAg
ICAgICAgIHJ1YnkiCiAKKyAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZv
ciBidWlsZGluZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAgICBwYWNrYWdlcz0iJHBhY2thZ2Vz
IFwKKyAgICAgICAgZmxhdHBhayIKKwogICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNl
c3NhcnkgZm9yIGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAgIHBhY2thZ2VzPSIkcGFja2FnZXMg
XAogICAgICAgICBleHBhdCBcCkBAIC0zMjMsNiArMzMxLDEwIEBAIGZ1bmN0aW9uIGluc3RhbGxE
ZXBlbmRlbmNpZXNXaXRoRG5mIHsKICAgICAgICAgcnVieWdlbS1oaWdobGluZSBcCiAgICAgICAg
IHJ1YnlnZW0tanNvbiIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3Nhcnkg
Zm9yIGJ1aWxkaW5nIHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2Fn
ZXMgXAorICAgICAgICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5l
Y2Vzc2FyeSBmb3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdl
cyBcCiAgICAgICAgIGV4cGF0LWRldmVsIFwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzNTNjYTNjZmVjYTY5MTEyMzY5MWYy
OTVjZGVlYmI4ZWUyYTE3YWM4Li5kZmNjOTdmYmI1MjNiNWJlNmI5MDg0MzUzODlkMDljNzZhZDgz
YTlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDEtMDQgIFBoaWxpcHBlIE5vcm1hbmQg
IDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0gTWlncmF0ZSB0byBG
bGF0cGFrLWJhc2VkIGRldiBTREsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwNTY1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogaHR0cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZjogQWRqdXN0IHBhdGhz
LgorCiAyMDIwLTAxLTI5ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBCbG9iIG1lZGlhIGxvYWRpbmcgZG9lcyBub3Qgd29yayB3aXRoIEdQVVByb2Nlc3MKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvY29uZi9mbGF0cGFrLWh0dHBkLmNvbmYgYi9MYXlv
dXRUZXN0cy9odHRwL2NvbmYvZmxhdHBhay1odHRwZC5jb25mCmluZGV4IDNjMDNlNDIzOWMyNDk4
OWQ5Y2Q3OTY4NjE0NGJjN2NlMmIzMGMzMWIuLmJmNTIxNWQ1ODlhZDYxZjg4MmQ1M2EwNjc1YWQ2
N2E0NDZhYjk0M2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvY29uZi9mbGF0cGFrLWh0
dHBkLmNvbmYKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZgpA
QCAtMSw1ICsxLDUgQEAKIFNlcnZlclRva2VucyBPUwotU2VydmVyUm9vdCAiL2FwcC8iCitTZXJ2
ZXJSb290ICIvdXNyLyIKIAogUGlkRmlsZSAiL3RtcC9XZWJLaXQvaHR0cGQucGlkIgogU2NvcmVC
b2FyZEZpbGUgIi90bXAvV2ViS2l0L2h0dHBkLnNjb3JlYm9hcmQiCkBAIC0zMyw5ICszMyw3IEBA
IExvYWRNb2R1bGUgbG9nX2NvbmZpZ19tb2R1bGUgICAgbW9kdWxlcy9tb2RfbG9nX2NvbmZpZy5z
bwogTG9hZE1vZHVsZSBzc2xfbW9kdWxlICAgICAgICAgICBtb2R1bGVzL21vZF9zc2wuc28KIExv
YWRNb2R1bGUgcGhwN19tb2R1bGUgICAgICAgICAgbW9kdWxlcy9saWJwaHA3LnNvCiBMb2FkTW9k
dWxlIGFzaXNfbW9kdWxlICAgICAgICAgIG1vZHVsZXMvbW9kX2FzaXMuc28KLUxvYWRNb2R1bGUg
ZW52X21vZHVsZSAgICAgICAgICAgbW9kdWxlcy9tb2RfZW52LnNvCiAKLVNldEVudiBQRVJMNUxJ
QiAvYXBwL2xpYi9wZXJsCiAKIFNlcnZlck5hbWUgMTI3LjAuMC4xCiAKQEAgLTU0LDcgKzUyLDcg
QEAgQWNjZXNzRmlsZU5hbWUgLmh0YWNjZXNzCiBVc2VDYW5vbmljYWxOYW1lIE9uCiBIb3N0bmFt
ZUxvb2t1cHMgT2ZmCiAKLVR5cGVzQ29uZmlnIC9ldGMvbWltZS50eXBlcworVHlwZXNDb25maWcg
L3Vzci9jb25mL21pbWUudHlwZXMKIAogTG9nTGV2ZWwgd2FybgogTG9nRm9ybWF0ICIlaCAlbCAl
dSAldCBcIiVyXCIgJT5zICViIFwiJXtSZWZlcmVyfWlcIiBcIiV7VXNlci1BZ2VudH1pXCIiIGNv
bWJpbmVkCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389532</attachid>
            <date>2020-02-03 09:58:03 -0800</date>
            <delta_ts>2020-02-25 08:42:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205658-20200203185801.patch</filename>
            <type>text/plain</type>
            <size>124636</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1NTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzU3ZTNmYWUyN2I5ZjJh
MGRjNTMyNDA2YzY3NWE4MTdhZmEwODc1Yy4uN2I0ZTYwMDA4ZjQ5N2RmNmRkOTJmODY0OGU5NzFh
OTkxYjNjZGYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAxLTA0ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVd
IE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0
aW9uTGliSHlwaGVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNjYW5UZXN0RGljdGlvbmFyaWVz
RGlyZWN0b3J5SWZOZWNlc3NhcnkpOiBDaGVjayBmb3IgZmxhdHBhay1pbnN0YWxsZWQgZGljdGlv
bmFyaWVzLgorCiAyMDIwLTAyLTAzICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBEbyBub3QgY29weSBmZWF0dXJlIHBvbGljeSBpbiBpc0ZlYXR1cmVQb2xpY3lB
bGxvd2VkQnlEb2N1bWVudEFuZEFsbE93bmVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9oeXBoZW4vSHlwaGVuYXRpb25MaWJIeXBoZW4uY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9oeXBoZW4vSHlwaGVuYXRpb25MaWJIeXBoZW4uY3BwCmluZGV4
IDEyYmFhNGM0ZDNlOWU2M2Y3ZmY4MWM1ZTJiMTE5NGI4YmI4YTljMDUuLmYzMzU5ZDgwNzAyMmY1
NDg5YzY4ZjlhY2Y4MTZhNjcwNDJhNTNkNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0aW9uTGliSHlwaGVuLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2h5cGhlbi9IeXBoZW5hdGlvbkxpYkh5cGhlbi5jcHAKQEAg
LTEyMSw4ICsxMjEsMTUgQEAgc3RhdGljIHZvaWQgc2NhblRlc3REaWN0aW9uYXJpZXNEaXJlY3Rv
cnlJZk5lY2Vzc2FyeShIYXNoTWFwPEF0b21TdHJpbmcsIFZlY3RvcjwKICAgICAvLyBsaWJoeXBo
ZW4gZG9lc24ndCBoYXZlIHRoZSBjb25jZXB0IG9mIGluc3RhbGxlZCBkaWN0aW9uYXJpZXMuIElu
c3RlYWQsCiAgICAgLy8gd2UgaGF2ZSB0aGlzIHNwZWNpYWwgY2FzZSBmb3IgV2ViS2l0IHRlc3Rz
LgogI2lmIFBMQVRGT1JNKEdUSykKKyAgICAvLyBUcnkgYWx0ZXJuYXRpdmUgZGljdGlvbmFyaWVz
IHBhdGggZm9yIHBlb3BsZSB1c2luZyBGbGF0cGFrLgorICAgIEdVbmlxdWVQdHI8Y2hhcj4gZGlj
dGlvbmFyaWVzUGF0aChnX2J1aWxkX2ZpbGVuYW1lKCIvdXNyIiwgInNoYXJlIiwgIndlYmtpdGd0
ay10ZXN0LWRpY3RzIiwgbnVsbHB0cikpOworICAgIGlmIChnX2dldGVudigiRkxBVFBBS19JRCIp
ICYmIGdfZmlsZV90ZXN0KGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxl
VGVzdD4oR19GSUxFX1RFU1RfSVNfRElSKSkpIHsKKyAgICAgICAgc2NhbkRpcmVjdG9yeUZvckRp
Y3Rpb25hcmllcyhkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFpbGFibGVMb2NhbGVzKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIENTdHJpbmcgYnVpbGREaXJlY3RvcnkgPSB3ZWJr
aXRCdWlsZERpcmVjdG9yeSgpOwotICAgIEdVbmlxdWVQdHI8Y2hhcj4gZGljdGlvbmFyaWVzUGF0
aChnX2J1aWxkX2ZpbGVuYW1lKGJ1aWxkRGlyZWN0b3J5LmRhdGEoKSwgIkRlcGVuZGVuY2llc0dU
SyIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWRpY3RzIiwgbnVsbHB0cikpOworICAgIGRpY3Rp
b25hcmllc1BhdGgucmVzZXQoZ19idWlsZF9maWxlbmFtZShidWlsZERpcmVjdG9yeS5kYXRhKCks
ICJEZXBlbmRlbmNpZXNHVEsiLCAiUm9vdCIsICJ3ZWJraXRndGstdGVzdC1kaWN0cyIsIG51bGxw
dHIpKTsKICAgICBpZiAoZ19maWxlX3Rlc3QoZGljdGlvbmFyaWVzUGF0aC5nZXQoKSwgc3RhdGlj
X2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9JU19ESVIpKSkgewogICAgICAgICBzY2FuRGly
ZWN0b3J5Rm9yRGljdGlvbmFyaWVzKGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIGF2YWlsYWJsZUxv
Y2FsZXMpOwogICAgICAgICByZXR1cm47CkBAIC0xMzAsNyArMTM3LDkgQEAgc3RhdGljIHZvaWQg
c2NhblRlc3REaWN0aW9uYXJpZXNEaXJlY3RvcnlJZk5lY2Vzc2FyeShIYXNoTWFwPEF0b21TdHJp
bmcsIFZlY3RvcjwKIAogICAgIC8vIFRyeSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJpZXMgcGF0aCBm
b3IgcGVvcGxlIG5vdCB1c2luZyBKSEJ1aWxkLgogICAgIGRpY3Rpb25hcmllc1BhdGgucmVzZXQo
Z19idWlsZF9maWxlbmFtZShidWlsZERpcmVjdG9yeS5kYXRhKCksICJ3ZWJraXRndGstdGVzdC1k
aWN0cyIsIG51bGxwdHIpKTsKLSAgICBzY2FuRGlyZWN0b3J5Rm9yRGljdGlvbmFyaWVzKGRpY3Rp
b25hcmllc1BhdGguZ2V0KCksIGF2YWlsYWJsZUxvY2FsZXMpOworICAgIGlmIChnX2ZpbGVfdGVz
dChkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9U
RVNUX0lTX0RJUikpKQorICAgICAgICBzY2FuRGlyZWN0b3J5Rm9yRGljdGlvbmFyaWVzKGRpY3Rp
b25hcmllc1BhdGguZ2V0KCksIGF2YWlsYWJsZUxvY2FsZXMpOworCiAjZWxpZiBkZWZpbmVkKFRF
U1RfSFlQSEVOQVRBSU9OX1BBVEgpCiAgICAgc2NhbkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhU
RVNUX0hZUEhFTkFUQUlPTl9QQVRILCBhdmFpbGFibGVMb2NhbGVzKTsKICNlbHNlCmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjYzMzEyZmFjN2Q4
OGQ1YWUyZWM0MDFkZmEzMTdlYjE5NTBmNDdkYi4uNjEyZjgxMmE5MGVmODY4MjA0YzFkN2Q1MGI1
OGRhYWNhZDExMzJkYSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDExNSBAQAorMjAyMC0wMS0wNCAgUGhpbGlwcGUgTm9ybWFuZCAg
PHBub3JtYW5kQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBNaWdyYXRlIHRvIEZs
YXRwYWstYmFzZWQgZGV2IFNESworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA1NjU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSkhCdWlsZCB3aWxsIG5vdyBiZSB1c2VkIG9ubHkgaWYgdGhlIFdFQktJVF9K
SEJVSUxEIGVudmlyb25tZW50CisgICAgICAgIHZhcmlhYmxlIGlzIHNldCB0byAxLCB3aGljaCBp
cyB0aGUgY2FzZSBmb3IgdGhlIHRpbWUgYmVpbmcgb24gdGhlCisgICAgICAgIEdUSyBhbmQgV1BF
IEVXUy9idWlsZCBib3RzLgorCisgICAgICAgIEJ5IGRlZmF1bHQgdGhlIGJ1aWxkIGRlcGVuZGVu
Y2llcyBhcmUgbm93IGxvY2FsbHkgaW5zdGFsbGVkIGZyb20gYQorICAgICAgICBGbGF0cGFrIHJl
cG9zaXRvcnkgaG9zdGVkIGF0IGh0dHBzOi8vc29mdHdhcmUuaWdhbGlhLmNvbS4gVGhlCisgICAg
ICAgIHJlcG9zaXRvcnkgY2FuIGJlIHJlZ2VuZXJhdGVkIHdpdGggdGhlIHNjcmlwdHMgZnJvbSB0
aGUKKyAgICAgICAgd2Via2l0LWZsYXRwYWstc2RrIEdpdGh1YiBwcm9qZWN0CisgICAgICAgICho
dHRwczovL2dpdGh1Yi5jb20vSWdhbGlhL3dlYmtpdC1mbGF0cGFrLXNkaykuIFRoaXMgaXMgZG9u
ZQorICAgICAgICB0cmFuc3BhcmVudGx5IHdpdGggdGhlIHVwZGF0ZS13ZWJraXR7Z3RrLHdwZX0t
bGlicyBzY3JpcHRzLiBBcworICAgICAgICB0aGVyZSBpcyBubyBuZWVkIHRvIHJlYnVpbGQgdGhl
IGRlcGVuZGVuY2llcyBmcm9tIHNjcmF0Y2gsIHRoZQorICAgICAgICBkZXZlbG9wZXIgdXNlci1l
eHBlcmllbmNlIHNob3VsZCBub3cgYmUgbXVjaCBtb3JlIGZyaWVuZGx5IGFuZAorICAgICAgICBv
dmVyYWxsIGJ1aWxkIHRpbWVzIHJlZHVjZWQuCisKKyAgICAgICAgQXMgYW4gYWRkaXRpb25hbCBj
b21tb2RpdHksIHRoZSBuZXcgZW52aXJvbm1lbnQgc3VwcG9ydHMgdGhlCisgICAgICAgIEdTdHJl
YW1lciBnc3QtYnVpbGQtYmFzZWQgd29ya2Zsb3cuIEp1c3Qgc2V0IHRoZSBHU1RfQlVJTERfUEFU
SAorICAgICAgICBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byB5b3VyIGdzdC1idWlsZCBwYXRoLiBU
aGlzIGZlYXR1cmUgd2FzCisgICAgICAgIGNvbnRyaWJ1dGVkIGJ5IFRoaWJhdWx0IFNhdW5pZXIu
CisKKyAgICAgICAgVGhlIEpIQnVpbGQgaW5mcmFzdHJ1Y3R1cmUgd2lsbCBiZSByZW1vdmVkIG9u
Y2UgYWxsIHRoZSBib3RzIGhhdmUKKyAgICAgICAgYmVlbiBzd2l0Y2hlZCBvdmVyIHRvIEZsYXRw
YWsuCisKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHk6Cisg
ICAgICAgIChJbnN0YWxsR3RrRGVwZW5kZW5jaWVzKToKKyAgICAgICAgKEluc3RhbGxXcGVEZXBl
bmRlbmNpZXMpOgorICAgICAgICAoQ29tcGlsZVdlYktpdC5zdGFydCk6CisgICAgICAgICogQnVp
bGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L3J1bjoKKyAgICAgICAgKiBTY3JpcHRzL2J1aWxk
LXdlYmtpdDoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0czoKKyAgICAgICAg
KiBTY3JpcHRzL3J1bi1idWlsdGlucy1nZW5lcmF0b3ItdGVzdHM6CisgICAgICAgICogU2NyaXB0
cy9ydW4tZ3RrLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRl
c3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVuLW1pbmlicm93c2VyOgorICAgICAgICAqIFNjcmlw
dHMvcnVuLXF0LXdwZS1taW5pYnJvd3NlcjoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi13ZWJkcml2
ZXItdGVzdHM6CisgICAgICAgICogU2NyaXB0cy9ydW4td3BlLXRlc3RzOgorICAgICAgICAqIFNj
cmlwdHMvdGVzdC13ZWJraXRwZXJsOgorICAgICAgICAqIFNjcmlwdHMvdGVzdC13ZWJraXRweToK
KyAgICAgICAgKiBTY3JpcHRzL3Rlc3QyNjItcnVubmVyOgorICAgICAgICAqIFNjcmlwdHMvdXBk
YXRlLXdlYmtpdC1mbGF0cGFrOiBSZW5hbWVkIGZyb20gVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Vi
a2l0Z3RrLWZsYXRwYWsuCisgICAgICAgICogU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWxpYnM6
CisgICAgICAgICogU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWZsYXRwYWs6IFJlbW92ZWQuCisg
ICAgICAgICogU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWxpYnM6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRkaXJzLnBtOgorICAgICAgICAoZ2V0VXNlckZsYXRwYWtQYXRoKToKKyAgICAgICAg
KGluRmxhdHBha1NhbmRib3gpOgorICAgICAgICAocnVuSW5GbGF0cGFrSWZBdmFpbGFibGUpOgor
ICAgICAgICAod3JhcHBlclByZWZpeElmTmVlZGVkKToKKyAgICAgICAgKHNob3VsZFVzZUpoYnVp
bGQpOgorICAgICAgICAoc2hvdWxkVXNlRmxhdHBhayk6CisgICAgICAgIChzaG91bGRSZW1vdmVD
TWFrZUNhY2hlKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhl
Y3V0aXZlLnB5OgorICAgICAgICAoRXhlY3V0aXZlLmtpbGxfYWxsKToKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weToKKyAgICAgICAgKFBvcnQuX3BhdGhfdG9fYXBhY2hl
KToKKyAgICAgICAgKFBvcnQuX3Nob3VsZF9ydW5fYXNfcGl4ZWxfdGVzdCk6CisgICAgICAgIChQ
b3J0Ll9pbl9mbGF0cGFrX3NhbmRib3gpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9y
dC9ndGsucHk6CisgICAgICAgIChHdGtQb3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcik6Cisg
ICAgICAgIChHdGtQb3J0Ll9nZXRfY3Jhc2hfbG9nKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weToKKyAgICAgICAgKEdEQkNyYXNoTG9nR2Vu
ZXJhdG9yKToKKyAgICAgICAgKEdEQkNyYXNoTG9nR2VuZXJhdG9yLl9faW5pdF9fKToKKyAgICAg
ICAgKEdEQkNyYXNoTG9nR2VuZXJhdG9yLmdlbmVyYXRlX2NyYXNoX2xvZyk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9sb2dfdW5pdHRlc3QucHk6Cisg
ICAgICAgIChHREJDcmFzaExvZ0dlbmVyYXRvclRlc3QudGVzdF9nZW5lcmF0ZV9jcmFzaF9sb2cp
OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC93cGUucHk6CisgICAgICAgIChXUEVQ
b3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcik6CisgICAgICAgIChXUEVQb3J0Ll9nZXRfY3Jh
c2hfbG9nKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlci5weToK
KyAgICAgICAgKFh2ZmJEcml2ZXIuX3NldHVwX2Vudmlyb25fZm9yX3Rlc3QpOgorICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0FjdGl2YXRlRm9udHNHdGsuY3Bw
OgorICAgICAgICAoV1RSOjpnZXRGb250c1BhdGgpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUuY3BwOgorICAgICAgICAoV1RS
OjpnZXRGb250c1BhdGgpOgorICAgICAgICAqIGZsYXRwYWsvZmlsZXMvZGVmYXVsdC54a206IFJl
bW92ZWQuCisgICAgICAgICogZmxhdHBhay9maWxlcy9odHRwZC1hdXRvZ2VuLnNoOiBSZW1vdmVk
LgorICAgICAgICAqIGZsYXRwYWsvZmxhdHBha3V0aWxzLnB5OgorICAgICAgICAoY2hlY2tfZmxh
dHBhayk6CisgICAgICAgIChGbGF0cGFrUmVwb3MudXBkYXRlKToKKyAgICAgICAgKEZsYXRwYWtQ
YWNrYWdlLl9fcmVwcl9fKToKKyAgICAgICAgKEZsYXRwYWtQYWNrYWdlLl9fc3RyX18pOgorICAg
ICAgICAoV2Via2l0RmxhdHBhay5sb2FkX2Zyb21fYXJncyk6CisgICAgICAgIChXZWJraXRGbGF0
cGFrLl9faW5pdF9fKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuY2xlYW5fYXJncyk6CisgICAg
ICAgIChXZWJraXRGbGF0cGFrLnNldHVwX2J1aWxkZGlyKToKKyAgICAgICAgKFdlYmtpdEZsYXRw
YWspOgorICAgICAgICAoV2Via2l0RmxhdHBhay5zZXR1cF9nc3RidWlsZCk6CisgICAgICAgIChX
ZWJraXRGbGF0cGFrLnJ1bl9pbl9zYW5kYm94KToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsucnVu
KToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuaGFzX2Vudmlyb25tZW50KToKKyAgICAgICAgKFdl
YmtpdEZsYXRwYWsuc2F2ZV9jb25maWcpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5zZXR1cF9k
ZXZfZW52KToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuaW5zdGFsbF9hbGwpOgorICAgICAgICAo
V2Via2l0RmxhdHBhay5ydW5fZ2RiKToKKyAgICAgICAgKiBmbGF0cGFrL29yZy53ZWJraXQuQ29t
bW9uTW9kdWxlcy55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsvb3JnLndlYmtpdC5H
VEsueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL29yZy53ZWJraXQuV1BFLnlhbWw6
IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9vcmcud2Via2l0LldQRU1vZHVsZXMueWFtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL29yZy53ZWJraXQuV1BFUVQueWFtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmbGF0cGFrL29yZy53ZWJraXQuV2ViS2l0LnlhbWw6IFJlbW92ZWQuCisg
ICAgICAgICogZmxhdHBhay9wYXRjaGVzL2h0dHBkLTAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29u
ZmlnLWZvci1QQ1JFLWRldGVjdGlvbi5wYXRjaDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFr
L3BhdGNoZXMvbGliZ2NyeXB0LTAwMDEtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWdwZy1lcnJv
ci5wYXRjaDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL3BhdGNoZXMveHZmYi0wMDAxLUhB
Q0stQXZvaWQtY29tcGlsaW5nLWEta2JtLWZpbGUucGF0Y2g6IFJlbW92ZWQuCisKIDIwMjAtMDIt
MDMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
LCBkaXNhYmxlIFJlc3BvbnNpdmVuZXNzVGltZXIgdGVzdCBpbiBEZWJ1ZyAvIEFTQU4KZGlmZiAt
LWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9SRUFETUUgYi9Ub29scy9CdWlsZFNs
YXZlU3VwcG9ydC9ndGsvUkVBRE1FCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOWY4
OWY5ODIxYWVlYTIwZWRiN2NlZGJjYWJmYjc3ZjM4MGJkMmMzLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9S
RUFETUUKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gUnVubmluZyBhIEdUSysgYnVpbGQgc2xhdmUg
dW5kZXIgZGFlbW9udG9vbHMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLQotVGhpcyBkaXJlY3RvcnkgY29udGFpbnMgc2V2ZXJhbCBzY3JpcHRzIHdoaWNo
IGNhbiBiZSB1c2VkIHRvIHJ1biBhIFdlYktpdEdUSwotYnVpbGQgc2xhdmUgdW5kZXIgZGFlbW9u
dG9vbHMgWzFdLiBUaGlzIGlzIGNvbnZlbmllbnQgYmVjYXVzZSBkYWVtb250b29scwotd2lsbCBh
dXRvbWF0aWNhbGx5IHJlc3RhcnQgc2VydmljZXMgd2hlbiB0aGV5IGRpZSwgYW5kIHRoYXQgbWVh
bnMgbGVzcyBodW1hbgotaW50ZXJ2ZW50aW9uIGlzIG5lZWRlZC4KLQotCi1EZXBlbmRlbmNpZXMK
LT09PT09PT09PT09PQotCi1JbiBvcmRlciB0byB1c2UgdGhlIHByb3ZpZGVkIHNlcnZpY2UgY29u
dHJvbCBmaWxlcywgeW91IHdpbGwgbmVlZCB0aGUKLWZvbGxvd2luZzoKLQotKiBUaGUgR05VIEJh
c2ggc2hlbGwgKHRoZSBzY3JpcHRzIGNvbnRhaW4gc29tZSBiYXNoLWlzbXMpCi0KLSogVGhlIGRh
ZW1vbnRvb2xzIHBhY2thZ2UgKG9yIG9uZSBvZiBpdHMgZHJvcC1pbiByZXBsYWNlbWVudHMsIGxp
a2UgcnVuaXQKLSAgb3IgZnJlZWR0OyBidXQgb25seSBkYWVtb250b29scyBoYXMgYmVlbiB0ZXN0
ZWQgc28gZmFyKS4KLQotSW4gc2hvcnQsIGluIGEgRGViaWFuLWJhc2VkIHN5c3RlbSB5b3UgY2Fu
IGVuc3VyZSB5b3UgaGF2ZSB0aGUgbmVlZGVkIGJpdHMKLXdpdGggdGhlIGZvbGxvd2luZyBjb21t
YW5kOgotCi0gIGFwdC1nZXQgaW5zdGFsbCBkYWVtb250b29scy1ydW4KLQotCi1TZXR1cAotPT09
PT0KLQotMS4gRm9sbG93IHRoZSBpbnN0cnVjdGlvbnMgYXQgaHR0cDovL3RyYWMud2Via2l0Lm9y
Zy93aWtpL0J1aWxkQm90Ci0KLTIuIEluc3RhbGwgdGhlIGRlcGVuZGVuY2llcyBvdXRsaW5lZCBh
Ym92ZS4KLQotMy4gQ29weSAiZGFlbW9udG9vbHMtYnVpbGRib3QuY29uZiIgdG8gIi9ldGMvZGFl
bW9udG9vbHMtYnVpbGRib3QuY29uZiIKLQotNC4gRWRpdCB0aGUgY29uZmlndXJhdGlvbiBmaWxl
IHRvIHN1aXQgeW91ciBuZWVkcywgdGhlIGNvbW1lbnRzIHNob3VsZAotICAgYmUgc2VsZi1leHBs
YW5hdG9yeS4KLQotNS4gRHJvcCB0aGUgImJ1aWxkYm90IiBhbmQgInB1bHNlYXVkaW8iIGRpcmVj
dG9yaWVzIHRvIHRoZSBzZXJ2aWNlIGNvbnRyb2wgZGlyZWN0b3J5IG9mCi0gICBkYWVtb250b29s
czsgZm9yIERlYmlhbi1iYXNlZCBzZXR1cHMgdGhhdCB3b3VsZCBiZSAiL2V0Yy9zZXJ2aWNlIgot
Ci0KLVJlZmVyZW5jZXMKLT09PT09PT09PT0KLQotWzFdIGh0dHA6Ly9jci55cC50by9kYWVtb250
b29scy5odG1sCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWls
ZGJvdC9sb2cvcnVuIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L2xvZy9y
dW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IGY2Yzc0NGM2ZGRhNDVjYmUyYjVkMGZh
OGM0ZjI1YmFiNTFmNmE0ZGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L2xvZy9ydW4KKysr
IC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi0jISAvdXNyL2Jpbi9lbnYgYmFzaAotIwotIyBD
b3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlhIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMg
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgotIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYwotIyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKLSMgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKLSMgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
Ci0jCi0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSMgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSMgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSMg
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0KLTogJHtCVUlMREJPVF9DT05GSUc6PS9ldGMv
ZGFlbW9udG9vbHMtYnVpbGRib3QuY29uZn0KLQotIyBSZWFkIGNvbmZpZ3VyYXRpb24gZmlsZQot
WyAtciAiJHtCVUlMREJPVF9DT05GSUd9IiBdICYmIC4gIiR7QlVJTERCT1RfQ09ORklHfSIKLQot
OiAke2J1aWxkYm90X3VzZXI6PSR7SE9NRX19Ci06ICR7YnVpbGRib3RfbG9nX3BhdGg6PS92YXIv
bG9nL2J1aWxkYm90fQotCi0jIEV4cGFuZCBhbGwgImVudl8qIiBlbnZpcm9ubWVudCB2YXJpYWJs
ZXMKLWZvciB2YXJuYW1lIGluICR7IWVudl8qfSA7IGRvCi0JZXZhbCAiZXhwb3J0ICR7dmFybmFt
ZSNlbnZffT1cJHske3Zhcm5hbWV9fSIKLWRvbmUKLQotbWtkaXIgLXAgIiR7YnVpbGRib3RfbG9n
X3BhdGh9IgotY2hvd24gIiR7YnVpbGRib3RfdXNlcn0iICIke2J1aWxkYm90X2xvZ19wYXRofSIK
LQotZXhlYyAvdXNyL2Jpbi9zZXR1aWRnaWQgIiR7YnVpbGRib3RfdXNlcn0iIFwKLSAgICAgL3Vz
ci9iaW4vbXVsdGlsb2cgdCAiJHtidWlsZGJvdF9sb2dfcGF0aH0iCi0KZGlmZiAtLWdpdCBhL1Rv
b2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWlsZGJvdC9ydW4gYi9Ub29scy9CdWlsZFNsYXZl
U3VwcG9ydC9ndGsvYnVpbGRib3QvcnVuCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAx
NjZjMzgzZWE4ZTZjMTBmY2MwNWVmMDdlZDRmNDg4OWJiYmI5ZWFhLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0
ay9idWlsZGJvdC9ydW4KKysrIC9kZXYvbnVsbApAQCAtMSw3NyArMCwwIEBACi0jISAvdXNyL2Jp
bi9lbnYgYmFzaAotIwotIyBDb3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlhIFMuTC4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgotIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSMgdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCi0jCi0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSMgYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
LSMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0KLWV4ZWMgMj4m
MQotCi06ICR7QlVJTERCT1RfQ09ORklHOj0vZXRjL2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNvbmZ9
Ci0KLSMgUmVhZCBjb25maWd1cmF0aW9uIGZpbGUKLVsgLXIgIiR7QlVJTERCT1RfQ09ORklHfSIg
XSAmJiAuICIke0JVSUxEQk9UX0NPTkZJR30iCi0KLSMgRXhwYW5kIGFsbCAiZW52XyoiIGVudmly
b25tZW50IHZhcmlhYmxlcwotZm9yIHZhcm5hbWUgaW4gJHshZW52Xyp9IDsgZG8KLQlldmFsICJl
eHBvcnQgJHt2YXJuYW1lI2Vudl99PVwkeyR7dmFybmFtZX19IgotZG9uZQotCi0KLWlmICEgWyAi
JHtidWlsZGJvdF9wYXRofSIgXSA7IHRoZW4KLQllY2hvICJObyBcJHtidWlsZGJvdF9wYXRofSBk
ZWZpbmVkISAod2lsbCBzbGVlcCBmb3IgNSBtaW51dGVzKSIKLQlzbGVlcCAzMDAKLQlleGl0IDEx
MQotZmkKLQotCi1pZiAhIFsgIiR7V0VCS0lUX1RFU1RGT05UU30iIF0gOyB0aGVuCi0JZWNobyAi
Tm8gXCR7V0VCS0lUX1RFU1RGT05UU30gZW52aXJvbm1lbnQgdmFyaWFibGUhICh3aWxsIHNsZWVw
IGZvciA1IG1pbnV0ZXMpIgotCXNsZWVwIDMwMAotCWV4aXQgMTExCi1maQotCi0KLWlmIFsgIiR7
Y29yZWR1bXBfb3V0cHV0Oj0nJ30iIF0gOyB0aGVuCi0JIyBFbnN1cmUgdGhhdCB0aGUgb3V0cHV0
IGRpcmVjdG9yeSBleGlzdHMuCi0JaWYgW1sgISAtZCAke2NyYXNobW9uX291dHB1dH0gXV0gOyB0
aGVuCi0JCW1rZGlyIC1wICIke2NyYXNobW9uX291dHB1dH0iCi0JZmkKLQotCXVsaW1pdCAtYyAi
JHtjcmFzaG1vbl9tYXhfc2l6ZTo9dW5saW1pdGVkfSIKLWZpCi0KLQotaWYgWyAiJHtjY2FjaGVf
cGF0aH0iIF0gOyB0aGVuCi0JZXhwb3J0IFBBVEg9IiR7Y2NhY2hlX3BhdGh9OiR7UEFUSH0iCi1m
aQotCi06ICR7YnVpbGRib3RfdXNlcjo9JHtVU0VSfX0KLQotY2QgIiR7YnVpbGRib3RfcGF0aH0i
Ci1leGVjIC91c3IvYmluL2VudiAtICAgICAgICAgIFwKLQkJVEVSTT1kdW1iICAgICAgICAgICAg
ICAgICBcCi0JCVRaPVBTVDhQRFQgICAgICAgICAgICAgICAgIFwKLQkJUEFUSD0iJHtQQVRIfSIg
ICAgICAgICAgICAgIFwKLQkJU0hFTEw9L2Jpbi9iYXNoICAgICAgICAgICAgICBcCi0JCUxBTkc9
ZW5fVVMuVVRGLTggICAgICAgICAgICAgIFwKLQkJVVNFUj0iJHtidWlsZGJvdF91c2VyfSIgICAg
ICAgIFwKLQkJTE9HTkFNRT0iJHtidWlsZGJvdF91c2VyfSIgICAgICBcCi0JCUhPTUU9Ii9ob21l
LyR7YnVpbGRib3RfdXNlcn0iICAgIFwKLQkJRElTUExBWT0iJHt4dmZiX2Rpc3BsYXk6LSc6MTAn
fSIgIFwKLQkJTUFJTD0iL3Zhci9tYWlsLyR7YnVpbGRib3RfdXNlcn0iICBcCi0JL3Vzci9iaW4v
c2V0dWlkZ2lkICIke2J1aWxkYm90X3VzZXJ9IiBcCi0JL3Vzci9iaW4vdHdpc3RkIC1ub3kgYnVp
bGRib3QudGFjCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9kYWVt
b250b29scy1idWlsZGJvdC5jb25mIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2RhZW1v
bnRvb2xzLWJ1aWxkYm90LmNvbmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA2YWYy
OWY3YjA2MjY4MjE2Y2U0YTFmMWFhZWU4ZDQ2MjBkMjRkZmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2Rh
ZW1vbnRvb2xzLWJ1aWxkYm90LmNvbmYKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi0j
IENvcHlyaWdodCAoQykgMjAxMCBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwot
IyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCi0jIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgotIyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQotIyBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotIyB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAot
IyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLQotCi0jIFBhdGggdG8gdGhlIEJ1aWxkYm90
IHNsYXZlIGRpcmVjdG9yeQotIwotYnVpbGRib3RfcGF0aD0iL2hvbWUvc2xhdmUvd2Via2l0Z3Rr
IgotCi0jIFVzZXIgYWNjb3VudCB1c2VkIHRvIHJ1biBCdWlsZGJvdC4KLSMKLWJ1aWxkYm90X3Vz
ZXI9InNsYXZlIgotCi0jIFBhdGggdG8gYSBkaXJlY3Rvcnkgd2hlcmUgdG8gbG9nIEJ1aWxkYm90
IG91dHB1dAotIwotYnVpbGRib3RfbG9nX3BhdGg9Ii92YXIvbG9nL2J1aWxkYm90IgotCi0KLSMg
SWYgeW91IHdhbnQgdG8gdXNlIGNjYWNoZSwgc2V0IGEgcGF0aCB0byB3aGVyZSBzeW5saW5rcyB3
aXRoIHRvb2wKLSMgbmFtZXMgcG9pbnRpbmcgdG8gY2NhY2hlIGFyZSBpbnN0YWxsZWQuIEluIERl
YmlhbiBzeXN0ZW1zIHRoaXMKLSMgd291bGQgYmUgL3Vzci9saWIvY2NhY2hlLiBTZXQgdG8gZW1w
dHkgdG8gZGlzYWJsZS4KLSMKLWNjYWNoZV9wYXRoPSIvdXNyL2xpYi9jY2FjaGUiCi0KLQotIyBF
bnZpcm9ubWVudCB2YXJpYWJsZXMuIFByZWZpeCB0aGVtIHdpdGggImVudl8iLgotIwotZW52X0NG
TEFHUz0iLXBpcGUiCi1lbnZfQ1hYRkxBR1M9Ii1waXBlIgotZW52X0xERkxBR1M9Ii1uby1pbnN0
YWxsIC1uby1mYXN0LWluc3RhbGwiCi1lbnZfV0VCS0lUX1RFU1RGT05UUz0iL2hvbWUvJHtidWls
ZGJvdF91c2VyfS90ZXN0Zm9udHMiCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBw
b3J0L2d0ay9wdWxzZWF1ZGlvL3J1biBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9wdWxz
ZWF1ZGlvL3J1bgpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggN2MxMTdhZDlkMjA3Mzk4
ZDg2ZjAyNzM4ZTU5MzE4OTU5MTdkNTY3OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvcHVsc2VhdWRpby9y
dW4KKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi0jISAvdXNyL2Jpbi9lbnYgYmFzaAot
IwotIyBDb3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlhIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgotIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSMgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
LSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKLSMgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCi0jCi0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSMgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSMgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9v
ciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0KLWV4ZWMgMj4mMQotZXhlYyAvdXNy
L2Jpbi9wdWxzZWF1ZGlvIC0tc3lzdGVtIFwKLQktLWRpc2FsbG93LWV4aXQgLS1kaXNhbGxvdy1t
b2R1bGUtbG9hZGluZyBcCi0JLS1sb2ctdGFyZ2V0PXN5c2xvZwotCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL2J1aWxkLXdlYmtpdCBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CmluZGV4
IGZjMDY2NGE2NTA1NTQ2ZjQyOGM3NTE0Yjk2NzUxMTliNzVhNjIxNDAuLjA5OWQzM2E0YjliOWNk
ZjQzMmNkMTAyNmVhNmFhZTBjYjkyNTdhNzcgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvYnVp
bGQtd2Via2l0CisrKyBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CkBAIC01Myw4ICs1Myw4
IEBAIHNldENvbmZpZ3VyYXRpb24oKTsKIAogaWYgKHNob3VsZFVzZUZsYXRwYWsoKSkgewogICAg
IHByaW50ICJCdWlsZGluZyBmbGF0cGFrIGJhc2VkIGVudmlyb25tZW50XG4iOwotCi0gICAgcnVu
SW5GbGF0cGFrKCIvYXBwL3dlYmtpdC9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdCIpOworICAg
IG15IEBjb21tYW5kID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29scyIs
ICJTY3JpcHRzIiwgImJ1aWxkLXdlYmtpdCIpKTsKKyAgICBydW5JbkZsYXRwYWsoQGNvbW1hbmQp
OwogfQogCiBteSAkb3JpZ2luYWxXb3JraW5nRGlyZWN0b3J5ID0gZ2V0Y3dkKCk7CmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVu
LWJpbmRpbmdzLXRlc3RzCmluZGV4IGY2ZTQ0NzcyNTBmOWUxOWUzOTU4ZWZjYjdkNmU4MWUyYWMy
OGM5YWIuLjBhYzBiM2EzMTA4OGExMjJlMDk5OGVhNDk1NjViZjIzODc3MzhhNTAgMTAwNzU1Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWJpbmRpbmdzLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMv
cnVuLWJpbmRpbmdzLXRlc3RzCkBAIC0zMyw2ICszMywxMSBAQCBpbXBvcnQgb3MKIGltcG9ydCBz
eXMKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbSBpbXBvcnQgZXhlY3V0aXZlCiAKK3RvcF9s
ZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRp
cm5hbWUoX19maWxlX18pLCAnLi4nLCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRo
LmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBm
bGF0cGFrdXRpbHMKK2ZsYXRwYWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lz
LmFyZ3YpCisKIGRlZiBtYWluKGFyZ3YpOgogICAgICIiIlJ1bnMgV2ViQ29yZSBiaW5kaW5ncyBj
b2RlIGdlbmVyYXRvcnMgb24gdGVzdCBJREwgZmlsZXMgYW5kIGNvbXBhcmVzCiAgICAgdGhlIHJl
c3VsdHMgd2l0aCByZWZlcmVuY2UgZmlsZXMuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1
bi1idWlsdGlucy1nZW5lcmF0b3ItdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi1idWlsdGlucy1n
ZW5lcmF0b3ItdGVzdHMKaW5kZXggMjM5OGM3OGNhMTBlYzU5NzYyNjYxMmM4NTU1M2FiZDFhNGU2
ZmJkNC4uZmJiMDg2NDI0MTk3NGVhNjAzNWRhODhiMzY3OWJjNDNjMDJjN2U5ZCAxMDA3NTUKLS0t
IGEvVG9vbHMvU2NyaXB0cy9ydW4tYnVpbHRpbnMtZ2VuZXJhdG9yLXRlc3RzCisrKyBiL1Rvb2xz
L1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRvci10ZXN0cwpAQCAtMjUsNiArMjUsMTIgQEAK
IGltcG9ydCBzeXMKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbSBpbXBvcnQgZXhlY3V0aXZl
CiAKK2ltcG9ydCBvcwordG9wX2xldmVsX2RpcmVjdG9yeSA9IG9zLnBhdGgubm9ybXBhdGgob3Mu
cGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICcuLicsICcuLicpKQorc3lzLnBh
dGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxfZGlyZWN0b3J5LCAnVG9vbHMnLCAn
ZmxhdHBhaycpKQoraW1wb3J0IGZsYXRwYWt1dGlscworZmxhdHBha3V0aWxzLnJ1bl9pbl9zYW5k
Ym94X2lmX2F2YWlsYWJsZShzeXMuYXJndikKKwogZGVmIG1haW4oYXJndik6CiAgICAgIiIiUnVu
cyB0aGUgSlMgYnVpbHRpbnMgY29kZSBnZW5lcmF0b3Igb24gdGVzdCBpbnB1dCBmaWxlcyBhbmQg
Y29tcGFyZXMKICAgICB0aGUgcmVzdWx0cyB3aXRoIHJlZmVyZW5jZSBmaWxlcy4KZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWd0ay10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWd0ay10
ZXN0cwppbmRleCA0MWIwNWUyZGY0YjFlNmQ4ZmUzOGVhM2M1NDliNTMzNTg0YTQyOTdlLi5kMzk3
NDhmNGMzZDhmZGZjZWZmMWEyMjk5YWRhNDJjODdlNjVhYWU1IDEwMDc1NQotLS0gYS9Ub29scy9T
Y3JpcHRzL3J1bi1ndGstdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzCkBA
IC0xMzMsNyArMTMzLDcgQEAgaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICBpZiBub3Qg
ZmxhdHBha3V0aWxzLmlzX3NhbmRib3hlZCgpIGFuZCBub3QgamhidWlsZHV0aWxzLmVudGVyX2po
YnVpbGRfZW52aXJvbm1lbnRfaWZfYXZhaWxhYmxlKCJndGsiKToKICAgICAgICAgcHJpbnQgJyoq
KicKICAgICAgICAgcHJpbnQgJyoqKiBXYXJuaW5nOiBqaGJ1aWxkIGVudmlyb25tZW50IG5vdCBw
cmVzZW50IGFuZCBub3QgcnVubmluZyBpbiBmbGF0cGFrLicKLSAgICAgICAgcHJpbnQgJyoqKiBS
dW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXRndGstZmxhdHBhayBiZWZv
cmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9wZXIgdGVzdGluZy4uJworICAgICAgICBwcmlu
dCAnKioqIFJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdC1mbGF0cGFr
IGJlZm9yZSBidWlsZC13ZWJraXQgdG8gZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCiAgICAgICAg
IHByaW50ICcqKionCiAKICAgICBvcHRpb25fcGFyc2VyID0gb3B0cGFyc2UuT3B0aW9uUGFyc2Vy
KHVzYWdlPSd1c2FnZTogJXByb2cgW29wdGlvbnNdIFt0ZXN0Li4uXScpCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVu
LWphdmFzY3JpcHRjb3JlLXRlc3RzCmluZGV4IDg4ZDRmNWJmMWY2ZmQ5OTA3MmE0OGFjNzQ4NDk4
YTZjNDBjMWYzZTkuLjk5MzcxN2E3NDRkNmQyMWNjMjNmMTQwZDZkNTc4YmVlMGE2ZDkwMDYgMTAw
NzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCisrKyBiL1Rv
b2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCkBAIC00Niw2ICs0NiwxMiBAQCB1
c2UgVGV4dDo6UGFyc2VXb3JkczsKIHNldENvbmZpZ3VyYXRpb24oKTsKIG15ICRjb25maWd1cmF0
aW9uID0gY29uZmlndXJhdGlvbigpOwogCitpZiAoc2hvdWxkVXNlRmxhdHBhaygpKSB7CisgICAg
bXkgQGNvbW1hbmQgPSAoRmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwg
IlNjcmlwdHMiLCAicnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzIikpOworICAgIHJ1bkluRmxhdHBh
ayhAY29tbWFuZCk7Cit9CisKKwogIyBUaGVzZSB2YXJpYWJsZXMgYXJlIGludGVudGlvbmFsbHkg
bGVmdCB1bmRlZmluZWQuCiBteSAkcm9vdDsKIG15ICRzaG93SGVscDsKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvcnVuLW1pbmlicm93c2VyIGIvVG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dz
ZXIKaW5kZXggNGNmNmJlNDA0N2JmZDc2ZDY4MTA5YWIyOWFhNjhhOTBkYzA4NjZlMS4uOTBjZDNm
YWY0MzFhZWI5MjhkZmQ2ZGRmZDZlZDZkMjNkMmYyMWNjYyAxMDA3NTUKLS0tIGEvVG9vbHMvU2Ny
aXB0cy9ydW4tbWluaWJyb3dzZXIKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXIK
QEAgLTQ1LDcgKzQ1LDggQEAgcHJvaGliaXRVbmtub3duUG9ydCgpOwogc2V0Q29uZmlndXJhdGlv
bigpOwogCiBpZiAoaXNHdGsoKSB8fCBpc1dQRSgpKSB7Ci0gICAgcnVuSW5GbGF0cGFrSWZBdmFp
bGFibGUoIi9hcHAvd2Via2l0L1Rvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93c2VyIik7CisgICAg
bXkgQGNvbW1hbmQgPSAoRmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwg
IlNjcmlwdHMiLCAicnVuLW1pbmlicm93c2VyIikpOworICAgIHJ1bkluRmxhdHBha0lmQXZhaWxh
YmxlKEBjb21tYW5kKTsKIAogICAgICMgQ2hlY2sgdG8gc2VlIHRoYXQgYWxsIHRoZSBmcmFtZXdv
cmtzIGFyZSBidWlsdC4KICAgICBjaGVja0ZyYW1ld29ya3MoKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvcnVuLXF0LXdwZS1taW5pYnJvd3NlciBiL1Rvb2xzL1NjcmlwdHMvcnVuLXF0LXdw
ZS1taW5pYnJvd3NlcgppbmRleCBhZWFjYjQ4M2MyZmQxMGFhYTVmZGQwMGRjNmQ0YzBjOWY2MTcz
MjQ1Li5kNDIxY2U2MjQ4MTZlMTJkMmQ3ZGYzOGRhOTA5YWQwNWE2Yzk1ZmEwIDEwMDc1NQotLS0g
YS9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXIKKysrIGIvVG9vbHMvU2NyaXB0
cy9ydW4tcXQtd3BlLW1pbmlicm93c2VyCkBAIC0zOCw5ICszOCwxMyBAQCBteSBAamhidWlsZFdy
YXBwZXI7CiBteSAkY29uZmlndXJhdGlvbiA9IHBhc3NlZENvbmZpZ3VyYXRpb24oKTsKIG15ICRw
cm9kdWN0RGlyID0gcHJvZHVjdERpcigpOwogCi0kbGliUGF0aCA9ICIvYXBwL3dlYmtpdC9XZWJL
aXRCdWlsZC8kY29uZmlndXJhdGlvbi9saWIvcW1sIiBpZiAkY29uZmlndXJhdGlvbjsKLSRFTlZ7
IlFNTDJfSU1QT1JUX1BBVEgifSA9ICIkbGliUGF0aCIgaWYgJGxpYlBhdGg7Ci1ydW5JbkZsYXRw
YWtJZkF2YWlsYWJsZSgiL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9ydW4tcXQtd3BlLW1pbmli
cm93c2VyIik7CitpZiAoJGNvbmZpZ3VyYXRpb24pIHsKKyAgICAkbGliUGF0aCA9IEZpbGU6OlNw
ZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJXZWJLaXRCdWlsZCIsICIkY29uZmlndXJhdGlvbiIs
ICJsaWIiLCAicW1sIik7CisgICAgJEVOVnsiUU1MMl9JTVBPUlRfUEFUSCJ9ID0gIiRsaWJQYXRo
IjsKK30KKworbXkgQGNvbW1hbmQgPSAoRmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwg
IlRvb2xzIiwgIlNjcmlwdHMiLCAicnVuLXF0LXdwZS1taW5pYnJvd3NlciIpKTsKK3J1bkluRmxh
dHBha0lmQXZhaWxhYmxlKEBjb21tYW5kKTsKIAogIyBDaGVjayB0byBzZWUgdGhhdCBhbGwgdGhl
IGZyYW1ld29ya3MgYXJlIGJ1aWx0LgogY2hlY2tGcmFtZXdvcmtzKCk7CmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3J1bi13ZWJkcml2ZXItdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi13ZWJk
cml2ZXItdGVzdHMKaW5kZXggYWNjMzVmNzI0ODNmMjgzMmYwOWM4ZWZiMTg5NWQxODFkNGQ2Nzky
OS4uYzMwMDRkNDUzMjNjNTE0MjY2NWQzNzAzMzdlOGU1OTA0MjNhOWQ0MCAxMDA3NTUKLS0tIGEv
VG9vbHMvU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVu
LXdlYmRyaXZlci10ZXN0cwpAQCAtNzgsNyArNzgsNyBAQCBpZiBwb3J0Lm5hbWUoKSBpbiBbJ2d0
aycsICd3cGUnXToKICAgICAgICAgaWYgbm90IGpoYnVpbGR1dGlscy5lbnRlcl9qaGJ1aWxkX2Vu
dmlyb25tZW50X2lmX2F2YWlsYWJsZShwb3J0Lm5hbWUoKSk6CiAgICAgICAgICAgICBwcmludCAn
KioqJwogICAgICAgICAgICAgcHJpbnQgJyoqKiBXYXJuaW5nOiBqaGJ1aWxkIGVudmlyb25tZW50
IG5vdCBwcmVzZW50IGFuZCBub3QgcnVubmluZyBpbiBmbGF0cGFrLicKLSAgICAgICAgICAgIHBy
aW50ICcqKiogUnVuIHVwZGF0ZS13ZWJraXRndGstbGlicyBvciB1cGRhdGUtd2Via2l0Z3RrLWZs
YXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3RpbmcuLicKKyAg
ICAgICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13ZWJraXRndGstbGlicyBvciB1cGRhdGUt
d2Via2l0LWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3Rp
bmcuLicKICAgICAgICAgICAgIHByaW50ICcqKionCiAKIHBvcnQuX2Rpc3BsYXlfc2VydmVyID0g
b3B0aW9ucy5kaXNwbGF5X3NlcnZlcgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4td3Bl
LXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4td3BlLXRlc3RzCmluZGV4IDhmNzc0OWViNmFkNmQx
ZjE5OTEzYTE3Njk5ZGNiNzY3N2Y0ODYyZDEuLmYzNGMxOTcwNjQ3NzYyMjYyNDUyZTZhZTgzZmEy
ODVmMjhlNWQxODAgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLXdwZS10ZXN0cworKysg
Yi9Ub29scy9TY3JpcHRzL3J1bi13cGUtdGVzdHMKQEAgLTUxLDcgKzUxLDcgQEAgaWYgX19uYW1l
X18gPT0gIl9fbWFpbl9fIjoKICAgICBpZiBub3QgZmxhdHBha3V0aWxzLmlzX3NhbmRib3hlZCgp
IGFuZCBub3QgamhidWlsZHV0aWxzLmVudGVyX2poYnVpbGRfZW52aXJvbm1lbnRfaWZfYXZhaWxh
YmxlKCJ3cGUiKToKICAgICAgICAgcHJpbnQgJyoqKicKICAgICAgICAgcHJpbnQgJyoqKiBXYXJu
aW5nOiBqaGJ1aWxkIGVudmlyb25tZW50IG5vdCBwcmVzZW50IGFuZCBub3QgcnVubmluZyBpbiBm
bGF0cGFrLicKLSAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9y
IHVwZGF0ZS13ZWJraXRndGstZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBw
cm9wZXIgdGVzdGluZy4uJworICAgICAgICBwcmludCAnKioqIFJ1biB1cGRhdGUtd2Via2l0d3Bl
LWxpYnMgb3IgdXBkYXRlLXdlYmtpdC1mbGF0cGFrIGJlZm9yZSBidWlsZC13ZWJraXQgdG8gZW5z
dXJlIHByb3BlciB0ZXN0aW5nLi4nCiAgICAgICAgIHByaW50ICcqKionCiAKICAgICBvcHRpb25f
cGFyc2VyID0gb3B0cGFyc2UuT3B0aW9uUGFyc2VyKHVzYWdlPSd1c2FnZTogJXByb2cgW29wdGlv
bnNdIFt0ZXN0Li4uXScpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cGVy
bCBiL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRwZXJsCmluZGV4IDY0OTU2OTYwZmZjNjdhZTdk
ZjkzMzY0MTM2ZDkxYTVkODhlYTk5NDMuLmRjODFjMTdjM2JhYzU5YTg4MWE3M2VkMTViM2E3NDYw
Y2E3YjlmOTggMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRwZXJsCisrKyBi
L1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRwZXJsCkBAIC0zMiw2ICszMiwxMyBAQAogCiB1c2Ug
c3RyaWN0OwogdXNlIHdhcm5pbmdzOwordXNlIEZpbGU6OkJhc2VuYW1lOwordXNlIEZpbGU6OkZp
bmQ7Cit1c2UgRmlsZTo6U3BlYzsKK3VzZSBGaW5kQmluOwordXNlIEdldG9wdDo6TG9uZyBxdyg6
Y29uZmlnIHBhc3NfdGhyb3VnaCBub19hdXRvX2FiYnJldik7Cit1c2UgbGliICRGaW5kQmluOjpC
aW47Cit1c2Ugd2Via2l0ZGlyczsKIAogdXNlIEZpbGU6OlNwZWM7CiB1c2UgRmluZEJpbjsKQEAg
LTM5LDYgKzQ2LDExIEBAIHVzZSBUZXN0OjpIYXJuZXNzOwogdXNlIGxpYiAkRmluZEJpbjo6Qmlu
OyAjIHNvIHRoaXMgc2NyaXB0IGNhbiBiZSBydW4gZnJvbSBhbnkgZGlyZWN0b3J5LgogdXNlIFZD
U1V0aWxzOwogCitpZiAoc2hvdWxkVXNlRmxhdHBhaygpKSB7CisgICAgbXkgQGNvbW1hbmQgPSAo
RmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgIlNjcmlwdHMiLCAidGVz
dC13ZWJraXRwZXJsIikpOworICAgIHJ1bkluRmxhdHBhayhAY29tbWFuZCk7Cit9CisKICMgQ2hh
bmdlIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBzbyB0aGF0IHdlIGNhbiBwYXNzIHNob3J0ZXIsIHJl
bGF0aXZlCiAjIHBhdGhzIHRvIHJ1bnRlc3RzKCksIHJhdGhlciB0aGFuIGxvbmdlciwgYWJzb2x1
dGUgcGF0aHMuCiAjCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkgYi9U
b29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkKaW5kZXggZWU2ODJjY2NmMGFjYTNmMjBkYzYxNWZl
OGI2MzIzY2NjNTdjYmVhNC4uNDIzODhlOWY4NjE3ODVlZjdlMzhmYjFmNDU0OTAwNTA1MmYwMGFl
YyAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvdGVzdC13ZWJraXRweQpAQCAtMjksNCArMjksMTAgQEAKICMgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIGZy
b20gd2Via2l0cHkuY29tbW9uIGltcG9ydCBtdWx0aXByb2Nlc3NpbmdfYm9vdHN0cmFwCiAKK2lt
cG9ydCBvcywgc3lzCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5w
YXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgJy4uJywgJy4uJykpCitzeXMucGF0
aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICdUb29scycsICdm
bGF0cGFrJykpCitpbXBvcnQgZmxhdHBha3V0aWxzCitmbGF0cGFrdXRpbHMucnVuX2luX3NhbmRi
b3hfaWZfYXZhaWxhYmxlKHN5cy5hcmd2KQorCiBtdWx0aXByb2Nlc3NpbmdfYm9vdHN0cmFwLnJ1
bignd2Via2l0cHknLCAndGVzdCcsICdtYWluLnB5JykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvdGVzdDI2Mi1ydW5uZXIgYi9Ub29scy9TY3JpcHRzL3Rlc3QyNjItcnVubmVyCmluZGV4IGEx
MzFiY2Y2MzNlMzBkOTc2NWZiNTYyNDI1MDczMTE3YTk4ZjIyMzguLmFmN2FkNWU0OGVmMjUwOGNm
NGUyMWQ1OGQ1NTBjZjAzMmVmNWZhMmIgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvdGVzdDI2
Mi1ydW5uZXIKKysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lcgpAQCAtMzQsNiArMzQs
MjYgQEAgdXNlIDUuOC44OwogdXNlIEZpbmRCaW47CiB1c2UgQ29uZmlnOwogCitCRUdJTiB7Cisg
ICAgdXNlIGxpYiAkRmluZEJpbjo6QmluOworICAgIHVzZSBGaWxlOjpTcGVjOjpGdW5jdGlvbnMg
cXcoY2F0ZmlsZSk7CisKKyAgICBpZiAoIWdyZXAoL14tLW5vLWZsYXRwYWstY2hlY2skLywgQEFS
R1YpKSB7CisgICAgICAgIGlmIChldmFsIHtyZXF1aXJlIHdlYmtpdGRpcnM7IDE7fSkgeworICAg
ICAgICAgICAgd2Via2l0ZGlycy0+aW1wb3J0KHF3KHNob3VsZFVzZUZsYXRwYWsgcnVuSW5GbGF0
cGFrIHNvdXJjZURpcikpOworICAgICAgICAgICAgaWYgKHNob3VsZFVzZUZsYXRwYWsoKSkgewor
ICAgICAgICAgICAgICAgIHByaW50ICJSdW5uaW5nIGluIGZsYXRwYWsgYmFzZWQgZW52aXJvbm1l
bnRcbiI7CisgICAgICAgICAgICAgICAgbXkgQGNvbW1hbmQgPSAoRmlsZTo6U3BlYy0+Y2F0Zmls
ZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgIlNjcmlwdHMiLCAidGVzdDI2Mi1ydW5uZXIiKSk7Cisg
ICAgICAgICAgICAgICAgIyBQcmV2ZW50IGV4ZWMnZCB0ZXN0MjYyLXJ1bm5lciBwcm9jZXNzIGZy
b20gaW1wb3J0aW5nCisgICAgICAgICAgICAgICAgIyB3ZWJraXRkaXJzIHNvIHRoYXQgaXQgY2Fu
IHN1Y2NlZWQgbGF0ZXIgb24gaW4gdGhlIFJ1bm5lcgorICAgICAgICAgICAgICAgICMgbW9kdWxl
Li4uIFBlcmwuIMKvXF8o44OEKV8vwq8KKyAgICAgICAgICAgICAgICBwdXNoKEBBUkdWLCAiLS1u
by1mbGF0cGFrLWNoZWNrIik7CisgICAgICAgICAgICAgICAgcnVuSW5GbGF0cGFrKEBjb21tYW5k
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KK30KKwogQkVHSU4gewogICAgICRF
TlZ7REJJQ19PVkVSV1JJVEVfSEVMUEVSX01FVEhPRFNfT0t9ID0gMTsKICAgICAkRU5We1QyNjJf
RVhFQ19CSU59ID0gIiRGaW5kQmluOjpCaW4vdGVzdDI2MiI7CmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3VwZGF0ZS13ZWJraXQtZmxhdHBhayBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtp
dC1mbGF0cGFrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE4NmI4MWEyMDMzZjRiYjdiZTJkMjliZGU1YzEyY2Y0OTUz
MzBkNTUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXQtZmxh
dHBhawpAQCAtMCwwICsxLDI4IEBACisjIS91c3IvYmluL2VudiBweXRob24KKyMgQ29weXJpZ2h0
IChDKSAyMDE4IElnYWxpYSBTLkwuCisjIENvcHlyaWdodCAoYykgMjAxOCwgVGhpYmF1bHQgU2F1
bmllciA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorIyBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisjIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorIyB2ZXJz
aW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisjIExlc3NlciBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyMgTGljZW5z
ZSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUKKyMgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsCisj
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorIyBweWxpbnQ6IGRpc2FibGU9bWlzc2luZy1k
b2NzdHJpbmcsaW52YWxpZC1uYW1lCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKwordG9wX2xldmVs
X2RpcmVjdG9yeSA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFt
ZShfX2ZpbGVfXyksICIuLiIsICIuLiIpKQorc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9p
bih0b3BfbGV2ZWxfZGlyZWN0b3J5LCAiVG9vbHMiLCAiZmxhdHBhayIpKQorZnJvbSBmbGF0cGFr
dXRpbHMgaW1wb3J0IFdlYmtpdEZsYXRwYWsKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoK
KyAgICBXZWJraXRGbGF0cGFrLmxvYWRfZnJvbV9hcmdzKFsiLS11cGRhdGUiXSArIHN5cy5hcmd2
WzE6XSkucnVuKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1m
bGF0cGFrIGIvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNzU1CmluZGV4IDA5NTZmMWYyZTE0ODVkMjQ4NjJlZjdmNmQ3NGEyZjNmOThj
ZjkyZjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9v
bHMvU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsKKysrIC9kZXYvbnVsbApAQCAtMSwy
OCArMCwwIEBACi0jIS91c3IvYmluL2VudiBweXRob24KLSMgQ29weXJpZ2h0IChDKSAyMDE4IEln
YWxpYSBTLkwuCi0jIENvcHlyaWdodCAoYykgMjAxOCwgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5p
ZXJAaWdhbGlhLmNvbT4KLSMKLSMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0jIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotIyB2ZXJzaW9uIDIuMSBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMKLSMg
VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCi0jCi0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhbG9uZyB3aXRo
IHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUKLSMgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgotIyBweWxpbnQ6IGRpc2FibGU9bWlzc2luZy1kb2NzdHJpbmcsaW52
YWxpZC1uYW1lCi1pbXBvcnQgb3MKLWltcG9ydCBzeXMKLQotdG9wX2xldmVsX2RpcmVjdG9yeSA9
IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyks
ICIuLiIsICIuLiIpKQotc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxf
ZGlyZWN0b3J5LCAiVG9vbHMiLCAiZmxhdHBhayIpKQotZnJvbSBmbGF0cGFrdXRpbHMgaW1wb3J0
IFdlYmtpdEZsYXRwYWsKLQotaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSAgICBXZWJraXRG
bGF0cGFrLmxvYWRfZnJvbV9hcmdzKFsiLS1ndGsiLCAiLS11cGRhdGUiXSArIHN5cy5hcmd2WzE6
XSkucnVuKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1saWJz
IGIvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWxpYnMKaW5kZXggMmUxYzAyZmZkNzA1
NjAwODBlMzZiYzc0YjQ2NThmZmVmNWRlY2Q4ZS4uMmU4YTg3ODUxOTZkYjhjN2JmY2M0OTA0OTVh
ZDljNWQ3MDBmZmY1MSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0Z3Rr
LWxpYnMKKysrIGIvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWxpYnMKQEAgLTIyLDQg
KzIyLDggQEAgdXNlIGxpYiAkRmluZEJpbjo6QmluOwogdXNlIHdlYmtpdGRpcnM7CiAKIG15ICRz
Y3JpcHRzRGlyID0gcmVsYXRpdmVTY3JpcHRzRGlyKCk7Ci1zeXN0ZW0oInBlcmwiLCAiJHNjcmlw
dHNEaXIvdXBkYXRlLXdlYmtpdC1saWJzLWpoYnVpbGQiLCAiLS1ndGsiLCBAQVJHVikgPT0gMCBv
ciBkaWUgJCE7CitpZiAoZGVmaW5lZCAkRU5WeydXRUJLSVRfSkhCVUlMRCd9IGFuZCAkRU5WeydX
RUJLSVRfSkhCVUlMRCd9KSB7CisgICAgc3lzdGVtKCJwZXJsIiwgIiRzY3JpcHRzRGlyL3VwZGF0
ZS13ZWJraXQtbGlicy1qaGJ1aWxkIiwgIi0tZ3RrIiwgQEFSR1YpID09IDAgb3IgZGllICQhOwor
fSBlbHNlIHsKKyAgICBzeXN0ZW0oIiRzY3JpcHRzRGlyL3VwZGF0ZS13ZWJraXQtZmxhdHBhayIs
IEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK30KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvdXBk
YXRlLXdlYmtpdHdwZS1mbGF0cGFrIGIvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWZs
YXRwYWsKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDU2NGU4NzY1MjExMThlMmZjMGZk
NjhiOGM4NjZhYTkwMDFjYjgxMjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWZsYXRwYWsKKysrIC9k
ZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi0jIS91c3IvYmluL2VudiBweXRob24KLSMgQ29weXJp
Z2h0IChDKSAyMDE4IElnYWxpYSBTLkwuCi0jIENvcHlyaWdodCAoYykgMjAxOCwgVGhpYmF1bHQg
U2F1bmllciA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KLSMKLSMgVGhpcyBwcm9ncmFtIGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotIyBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0jIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotIyB2
ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KLSMKLSMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExlc3NlciBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0jCi0jIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSMgTGlj
ZW5zZSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUKLSMgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3Is
Ci0jIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotIyBweWxpbnQ6IGRpc2FibGU9bWlzc2lu
Zy1kb2NzdHJpbmcsaW52YWxpZC1uYW1lCi1pbXBvcnQgb3MKLWltcG9ydCBzeXMKLQotdG9wX2xl
dmVsX2RpcmVjdG9yeSA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKG9zLnBhdGguZGly
bmFtZShfX2ZpbGVfXyksICIuLiIsICIuLiIpKQotc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGgu
am9pbih0b3BfbGV2ZWxfZGlyZWN0b3J5LCAiVG9vbHMiLCAiZmxhdHBhayIpKQotZnJvbSBmbGF0
cGFrdXRpbHMgaW1wb3J0IFdlYmtpdEZsYXRwYWsKLQotaWYgX19uYW1lX18gPT0gIl9fbWFpbl9f
IjoKLSAgICBXZWJraXRGbGF0cGFrLmxvYWRfZnJvbV9hcmdzKFsiLS13cGUiLCAiLS11cGRhdGUi
XSArIHN5cy5hcmd2WzE6XSkucnVuKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRl
LXdlYmtpdHdwZS1saWJzIGIvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWxpYnMKaW5k
ZXggNmI0YjQ2ZjJiN2ViOGE5ZTY4MDc3NTdiY2EyYjllNjg0NzA3YTAyMy4uY2RjNGM3ZGI4YzY1
ZWE3MzIzZDY5MjY4MTk4YTJmNjhiZDUxMzAxNCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy91
cGRhdGUtd2Via2l0d3BlLWxpYnMKKysrIGIvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3Bl
LWxpYnMKQEAgLTIyLDQgKzIyLDggQEAgdXNlIGxpYiAkRmluZEJpbjo6QmluOwogdXNlIHdlYmtp
dGRpcnM7CiAKIG15ICRzY3JpcHRzRGlyID0gcmVsYXRpdmVTY3JpcHRzRGlyKCk7Ci1zeXN0ZW0o
InBlcmwiLCAiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1saWJzLWpoYnVpbGQiLCAiLS13cGUi
LCBAQVJHVikgPT0gMCBvciBkaWUgJCE7CitpZiAoZGVmaW5lZCAkRU5WeydXRUJLSVRfSkhCVUlM
RCd9IGFuZCAkRU5WeydXRUJLSVRfSkhCVUlMRCd9KSB7CisgICAgc3lzdGVtKCJwZXJsIiwgIiRz
Y3JpcHRzRGlyL3VwZGF0ZS13ZWJraXQtbGlicy1qaGJ1aWxkIiwgIi0td3BlIiwgQEFSR1YpID09
IDAgb3IgZGllICQhOworfSBlbHNlIHsKKyAgICBzeXN0ZW0oIiRzY3JpcHRzRGlyL3VwZGF0ZS13
ZWJraXQtZmxhdHBhayIsIEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK30KZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQpp
bmRleCAxMDRmNjYwMmFiNTc0MDA0ZGE3NDc5ODNlOTY5NTYyMDAzZGE4MGYzLi5kNGExYmY1MGVm
OTIyMTAwMzRmNThlZmZlMzY1OTVlMDI1NGExOTkyIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdGRpcnMucG0KKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCkBAIC05MSw3
ICs5MSwxMCBAQCBCRUdJTiB7CiAgICAgICAgJnNldHVwVW5peFdlYktpdEVudmlyb25tZW50CiAg
ICAgICAgJnNoYXJlZENvbW1hbmRMaW5lT3B0aW9ucwogICAgICAgICZzaGFyZWRDb21tYW5kTGlu
ZU9wdGlvbnNVc2FnZQorICAgICAgICZzaG91bGRVc2VGbGF0cGFrCisgICAgICAgJnJ1bkluRmxh
dHBhawogICAgICAgICZzaHV0RG93bklPU1NpbXVsYXRvckRldmljZQorICAgICAgICZzb3VyY2VE
aXIKICAgICAgICAmd2lsbFVzZUlPU0RldmljZVNESwogICAgICAgICZ3aWxsVXNlSU9TU2ltdWxh
dG9yU0RLCiAgICAgICAgRE9fTk9UX1VTRV9PUEVOX0NPTU1BTkQKQEAgLTIwNDcsMjAgKzIwNTAs
MTEgQEAgc3ViIGdldEpoYnVpbGRQYXRoKCkKICAgICByZXR1cm4gRmlsZTo6U3BlYy0+Y2F0ZGly
KEBqaGJ1aWxkUGF0aCk7CiB9CiAKLXN1YiBnZXRGbGF0cGFrUGF0aCgpCitzdWIgZ2V0VXNlckZs
YXRwYWtQYXRoKCkKIHsKLSAgICBteSBAZmxhdHBha0J1aWxkUGF0aCA9IEZpbGU6OlNwZWMtPnNw
bGl0ZGlyKGJhc2VQcm9kdWN0RGlyKCkpOwotICAgIGlmIChpc0d0aygpKSB7Ci0gICAgICAgIHB1
c2goQGZsYXRwYWtCdWlsZFBhdGgsICJHVEsiKTsKLSAgICB9IGVsc2lmIChpc1dQRSgpKSB7Ci0g
ICAgICAgIHB1c2goQGZsYXRwYWtCdWlsZFBhdGgsICJXUEUiKTsKLSAgICB9IGVsc2UgewotICAg
ICAgICBkaWUgIkNhbm5vdCBnZXQgRmxhdHBhayBwYXRoIGZvciBwbGF0Zm9ybSB0aGF0IGlzbid0
IEdUSysgb3IgV1BFLlxuIjsKLSAgICB9Ci0gICAgbXkgQGNvbmZpZ3VyYXRpb24gPSBjb25maWd1
cmF0aW9uKCk7Ci0gICAgcHVzaChAZmxhdHBha0J1aWxkUGF0aCwgIkZsYXRwYWtUcmVlJGNvbmZp
Z3VyYXRpb24iKTsKLQotICAgIHJldHVybiBGaWxlOjpTcGVjLT5jYXRkaXIoQGZsYXRwYWtCdWls
ZFBhdGgpOworICAgIG15IEBmbGF0cGFrUGF0aCA9IEZpbGU6OlNwZWMtPnNwbGl0ZGlyKGJhc2VQ
cm9kdWN0RGlyKCkpOworICAgIHB1c2goQGZsYXRwYWtQYXRoLCAiVXNlckZsYXRwYWsiKTsKKyAg
ICByZXR1cm4gRmlsZTo6U3BlYy0+Y2F0ZGlyKEBmbGF0cGFrUGF0aCk7CiB9CiAKIHN1YiBpc0Nh
Y2hlZEFyZ3VtZW50ZmlsZU91dE9mRGF0ZSgkQCkKQEAgLTIwODcsMTEgKzIwODEsNyBAQCBzdWIg
aXNDYWNoZWRBcmd1bWVudGZpbGVPdXRPZkRhdGUoJEApCiAKIHN1YiBpbkZsYXRwYWtTYW5kYm94
KCkKIHsKLSAgICBpZiAoLWYgIi8uZmxhdHBhay1pbmZvIikgewotICAgICAgICByZXR1cm4gMTsK
LSAgICB9Ci0KLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gKC1mICIvLmZsYXRwYWstaW5mbyIp
OwogfQogCiBzdWIgcnVuSW5GbGF0cGFrKEApCkBAIC0yMTEyLDggKzIxMDIsOCBAQCBzdWIgcnVu
SW5GbGF0cGFrSWZBdmFpbGFibGUoQCkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAg
aWYgKCEgLWUgZ2V0RmxhdHBha1BhdGgoKSkgewotICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAo
ISAtZSBnZXRVc2VyRmxhdHBha1BhdGgoKSkgeworICAgICAgcmV0dXJuIDA7CiAgICAgfQogCiAg
ICAgcnVuSW5GbGF0cGFrKEBfKQpAQCAtMjEyOCw3ICsyMTE4LDcgQEAgc3ViIHdyYXBwZXJQcmVm
aXhJZk5lZWRlZCgpCiAgICAgaWYgKGlzQXBwbGVDb2NvYVdlYktpdCgpKSB7CiAgICAgICAgIHJl
dHVybiAoInhjcnVuIik7CiAgICAgfQotICAgIGlmIChzaG91bGRVc2VKaGJ1aWxkKCkgYW5kICEg
c2hvdWxkVXNlRmxhdHBhaygpKSB7CisgICAgaWYgKHNob3VsZFVzZUpoYnVpbGQoKSkgewogICAg
ICAgICBteSBAcHJlZml4ID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29s
cyIsICJqaGJ1aWxkIiwgImpoYnVpbGQtd3JhcHBlciIpKTsKICAgICAgICAgaWYgKGlzR3RrKCkp
IHsKICAgICAgICAgICAgIHB1c2goQHByZWZpeCwgIi0tZ3RrIik7CkBAIC0yMTQ1LDEyICsyMTM1
LDEyIEBAIHN1YiB3cmFwcGVyUHJlZml4SWZOZWVkZWQoKQogCiBzdWIgc2hvdWxkVXNlSmhidWls
ZCgpCiB7Ci0gICAgcmV0dXJuICgoaXNHdGsoKSBvciBpc1dQRSgpKSBhbmQgLWUgZ2V0SmhidWls
ZFBhdGgoKSk7CisgICAgcmV0dXJuICgoISBpbkZsYXRwYWtTYW5kYm94KCkpIGFuZCAoaXNHdGso
KSBvciBpc1dQRSgpKSBhbmQgLWUgZ2V0SmhidWlsZFBhdGgoKSBhbmQgZGVmaW5lZCAkRU5WeydX
RUJLSVRfSkhCVUlMRCd9IGFuZCAkRU5WeydXRUJLSVRfSkhCVUlMRCd9KTsKIH0KIAogc3ViIHNo
b3VsZFVzZUZsYXRwYWsoKQogewotICAgIHJldHVybiAoKGlzR3RrKCkgb3IgaXNXUEUoKSkgYW5k
ICEgaW5GbGF0cGFrU2FuZGJveCgpIGFuZCAtZSBnZXRGbGF0cGFrUGF0aCgpKTsKKyAgICByZXR1
cm4gKCghIGluRmxhdHBha1NhbmRib3goKSkgYW5kIChpc0d0aygpIG9yIGlzV1BFKCkpIGFuZCAt
ZSBnZXRVc2VyRmxhdHBha1BhdGgoKSk7CiB9CiAKIHN1YiBjbWFrZUNhY2hlUGF0aCgpCkBAIC0y
MjE3LDcgKzIyMDcsNyBAQCBzdWIgc2hvdWxkUmVtb3ZlQ01ha2VDYWNoZShAKQogICAgIH0KIAog
ICAgICMgSWYgYSBjaGFuZ2Ugb24gdGhlIEpIQnVpbGQgbW9kdWxlc2V0IGhhcyBiZWVuIGRvbmUs
IHdlIG5lZWQgdG8gY2xlYW4gdGhlIGNhY2hlIGFzIHdlbGwuCi0gICAgaWYgKGlzR3RrKCkgfHwg
aXNXUEUoKSkgeworICAgIGlmICghIHNob3VsZFVzZUZsYXRwYWsoKSBhbmQgKGlzR3RrKCkgfHwg
aXNXUEUoKSkpIHsKICAgICAgICAgbXkgJGpoYnVpbGRSb290RGlyZWN0b3J5ID0gRmlsZTo6U3Bl
Yy0+Y2F0ZGlyKGdldEpoYnVpbGRQYXRoKCksICJSb290Iik7CiAgICAgICAgICMgVGhlIHNjcmlw
dCB1cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCBzaGFsbCByZS1nZW5lcmF0ZSAkamhidWlsZFJv
b3REaXJlY3RvcnkgaWYgdGhlIG1vZHVsZXNldCBjaGFuZ2VkLgogICAgICAgICBpZiAoLWQgJGpo
YnVpbGRSb290RGlyZWN0b3J5ICYmICRjYWNoZUZpbGVNb2RpZmllZFRpbWUgPCBzdGF0KCRqaGJ1
aWxkUm9vdERpcmVjdG9yeSktPm10aW1lKSB7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvYmFzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5
CmluZGV4IGRlMDA2NjY3YjJkMWU1ZTVlZWI4ZjJkMWE0NDhiNzU2ZjdmMDY2Y2QuLjFjM2VlN2Fi
ZGJhM2Q4NmIyYTY4YTQ2ODhiNGVhZDk2ZTk5ODc1ZWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9y
dC9iYXNlLnB5CkBAIC04OTMsNiArODkzLDcgQEAgY2xhc3MgUG9ydChvYmplY3QpOgogICAgICAg
ICAgICAgJ0xBTkcnLAogICAgICAgICAgICAgJ0xEX0xJQlJBUllfUEFUSCcsCiAgICAgICAgICAg
ICAnVEVSTScsCisgICAgICAgICAgICAnVFonLAogICAgICAgICAgICAgJ1hER19EQVRBX0RJUlMn
LAogICAgICAgICAgICAgJ1hER19SVU5USU1FX0RJUicsCiAKQEAgLTEyMjAsNyArMTIyMSw3IEBA
IGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgVGhpcyBpcyBuZWVkZWQgb25seSBieSBwb3J0
cyB0aGF0IHVzZSB0aGUgYXBhY2hlX2h0dHBfc2VydmVyIG1vZHVsZS4iIiIKICAgICAgICAgIyBU
aGUgQXBhY2hlIGJpbmFyeSBwYXRoIGNhbiB2YXJ5IGRlcGVuZGluZyBvbiBPUyBhbmQgZGlzdHJp
YnV0aW9uCiAgICAgICAgICMgU2VlIGh0dHA6Ly93aWtpLmFwYWNoZS5vcmcvaHR0cGQvRGlzdHJv
c0RlZmF1bHRMYXlvdXQKLSAgICAgICAgZm9yIHBhdGggaW4gWyIvdXNyL3NiaW4vaHR0cGQiLCAi
L3Vzci9zYmluL2FwYWNoZTIiLCAiL2FwcC9iaW4vaHR0cGQiXToKKyAgICAgICAgZm9yIHBhdGgg
aW4gWyIvdXNyL3NiaW4vaHR0cGQiLCAiL3Vzci9zYmluL2FwYWNoZTIiLCAiL3Vzci9iaW4vaHR0
cGQiXToKICAgICAgICAgICAgIGlmIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKHBhdGgpOgogICAg
ICAgICAgICAgICAgIHJldHVybiBwYXRoCiAgICAgICAgIF9sb2cuZXJyb3IoIkNvdWxkIG5vdCBm
aW5kIGFwYWNoZS4gTm90IGluc3RhbGxlZCBvciB1bmtub3duIHBhdGguIikKQEAgLTE0NTIsMTQg
KzE0NTMsOCBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgICMgLS1waXhlbC10ZXN0LWRp
cmVjdG9yeSBpcyBub3Qgc3BlY2lmaWVkLgogICAgICAgICByZXR1cm4gVHJ1ZQogCi0gICAgZGVm
IF9zaG91bGRfdXNlX2ZsYXRwYWsoc2VsZik6Ci0gICAgICAgIHN1ZmZpeCA9ICIiCi0gICAgICAg
IGlmIHNlbGYucG9ydF9uYW1lOgotICAgICAgICAgICAgc3VmZml4ID0gc2VsZi5wb3J0X25hbWUu
dXBwZXIoKQotICAgICAgICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5leGlzdHMoc2VsZi5wYXRo
X2Zyb21fd2Via2l0X2Jhc2UoJ1dlYktpdEJ1aWxkJywgc3VmZml4LCAiRmxhdHBha1RyZWUiKSkK
LQogICAgIGRlZiBfaW5fZmxhdHBha19zYW5kYm94KHNlbGYpOgotICAgICAgICByZXR1cm4gb3Mu
cGF0aC5leGlzdHMoIi8uZmxhdHBhay1pbmZvIikKKyAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVz
eXN0ZW0uZXhpc3RzKCIvLmZsYXRwYWstaW5mbyIpCiAKICAgICBkZWYgX3Nob3VsZF91c2Vfamhi
dWlsZChzZWxmKToKICAgICAgICAgaWYgc2VsZi5faW5fZmxhdHBha19zYW5kYm94KCk6CmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wb3J0L2d0ay5weQppbmRleCA2OGJjMTY5MjNmOGFiNzYwOTFmNWIzZTk2NGQw
NjVjNzk0M2ZmOGQ1Li4wY2U4YWE0ODc0NTkwOWM3OTczNjg4M2IzNmQzNGU4NzQwOThkNDczIDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5CisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkKQEAgLTEyMiw2ICsxMjIsNyBAQCBjbGFzcyBH
dGtQb3J0KFBvcnQpOgogICAgICAgICBlbnZpcm9ubWVudFsnVEVTVF9SVU5ORVJfSU5KRUNURURf
QlVORExFX0ZJTEVOQU1FJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdsaWInLCAnbGliVGVzdFJ1bm5l
ckluamVjdGVkQnVuZGxlLnNvJykKICAgICAgICAgZW52aXJvbm1lbnRbJ1RFU1RfUlVOTkVSX1RF
U1RfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ2xpYicsICdwbHVnaW5zJykKICAg
ICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAn
V0VCS0lUX09VVFBVVERJUicpCisgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9u
X2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9KSEJVSUxEJykKICAgICAgICAgc2VsZi5fY29w
eV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX1RPUF9MRVZF
TCcpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9u
bWVudCwgJ1VTRV9QTEFZQklOMycpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZp
cm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ0dTVF9ERUJVRycpCkBAIC0xMzQsMTAgKzEzNSwxMSBA
QCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAgICAgaWYgc2VsZi5fc2hvdWxkX3VzZV9q
aGJ1aWxkKCk6CiAgICAgICAgICAgICAgICAgbGx2bXBpcGVfbGliZ2xfcGF0aCA9IHNlbGYuaG9z
dC5leGVjdXRpdmUucnVuX2NvbW1hbmQoc2VsZi5famhidWlsZF93cmFwcGVyICsgWydwcmludGVu
dicsICdMTFZNUElQRV9MSUJHTF9QQVRIJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZV9lcnJvcnM9VHJ1
ZSkuc3RyaXAoKQorICAgICAgICAgICAgICAgIGRyaV9saWJnbF9wYXRoID0gb3MucGF0aC5qb2lu
KGxsdm1waXBlX2xpYmdsX3BhdGgsICJkcmkiKQogICAgICAgICAgICAgZWxzZTogICMgaW4gZmxh
dHBhawotICAgICAgICAgICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGggPSAiL2FwcC9zb2Z0R0wv
bGliIgorICAgICAgICAgICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGggPSAiL3Vzci9saWIveDg2
XzY0LWxpbnV4LWdudS8iCisgICAgICAgICAgICAgICAgZHJpX2xpYmdsX3BhdGggPSBvcy5wYXRo
LmpvaW4obGx2bXBpcGVfbGliZ2xfcGF0aCwgIkdMIiwgImxpYiIsICJkcmkiKQogCi0gICAgICAg
ICAgICBkcmlfbGliZ2xfcGF0aCA9IG9zLnBhdGguam9pbihsbHZtcGlwZV9saWJnbF9wYXRoLCAi
ZHJpIikKICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihsbHZtcGlw
ZV9saWJnbF9wYXRoLCAibGliR0wuc28iKSkgYW5kIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9p
bihkcmlfbGliZ2xfcGF0aCwgInN3cmFzdF9kcmkuc28iKSk6CiAgICAgICAgICAgICAgICAgIyBN
YWtlIHN1cmUgdmEtYXBpIHN1cHBvcnQgZ2V0cyBkaXNhYmxlZCBiZWNhdXNlIGl0J3MgaW5jb21w
YXRpYmxlIHdpdGggTWVzYSdzIHNvZnRHTCBkcml2ZXIuCiAgICAgICAgICAgICAgICAgZW52aXJv
bm1lbnRbJ0xJQlZBX0RSSVZFUl9OQU1FJ10gPSAibnVsbCIKQEAgLTE0OCw3ICsxNTAsNyBAQCBj
bGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAgICAgICAgIGlmIG9zLmVudmlyb24uZ2V0KCdM
RF9MSUJSQVJZX1BBVEgnKToKICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0xEX0xJ
QlJBUllfUEFUSCddICs9ICc6JXMnICUgb3MuZW52aXJvbi5nZXQoJ0xEX0xJQlJBUllfUEFUSCcp
CiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIF9sb2cud2FybmluZygiQ2FuJ3Qg
ZmluZCBHYWxsaXVtIGxsdm1waXBlIGRyaXZlci4gVHJ5IHRvIHJ1biB1cGRhdGUtd2Via2l0Z3Rr
LWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIikKKyAgICAgICAgICAgICAgICBfbG9n
Lndhcm5pbmcoIkNhbid0IGZpbmQgR2FsbGl1bSBsbHZtcGlwZSBkcml2ZXIuIFRyeSB0byBydW4g
dXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBhayIpCiAgICAgICAg
IGlmIHNlbGYuZ2V0X29wdGlvbigibGVha3MiKToKICAgICAgICAgICAgICMgVHVybiBvZmYgR0xp
YiBtZW1vcnkgb3B0aW1pc2F0aW9ucyBodHRwczovL3dpa2kuZ25vbWUub3JnL1ZhbGdyaW5kLgog
ICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0dfU0xJQ0UnXSA9ICdhbHdheXMtbWFsbG9jJwpAQCAt
MjM3LDcgKzIzOSw3IEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAKICAgICBkZWYgX2dldF9jcmFz
aF9sb2coc2VsZiwgbmFtZSwgcGlkLCBzdGRvdXQsIHN0ZGVyciwgbmV3ZXJfdGhhbiwgdGFyZ2V0
X2hvc3Q9Tm9uZSk6CiAgICAgICAgIHJldHVybiBHREJDcmFzaExvZ0dlbmVyYXRvcihzZWxmLl9l
eGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwKLSAgICAgICAgICAgIHNlbGYuX2ZpbGVz
eXN0ZW0sIHNlbGYuX3BhdGhfdG9fZHJpdmVyKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBz
dGRlcnIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lz
dGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlciwgc2VsZi5wb3J0X25hbWUsIHNlbGYuZ2V0X29wdGlv
bignY29uZmlndXJhdGlvbicpKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIpCiAK
ICAgICBkZWYgdGVzdF9leHBlY3RhdGlvbnNfZmlsZV9wb3NpdGlvbihzZWxmKToKICAgICAgICAg
IyBHVEsgcG9ydCBiYXNlbGluZSBzZWFyY2ggcGF0aCBpcyBndGsgLT4gd2syIC0+IGdlbmVyaWMg
KGFzIGd0ay13azIgYW5kIGd0ayBiYXNlbGluZXMgYXJlIG1lcmdlZCksIHNvIHBvcnQgdGVzdCBl
eHBlY3RhdGlvbnMgZmlsZSBpcyBhdCB0aGlyZCB0byBsYXN0IHBvc2l0aW9uLgpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9sb2cucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQppbmRleCA5
YWRjNDYzNzFmOTYxYjE5NjI4ZTdmZWRkNDY1ZWJmZDA5NmNkMDFhLi4yZTAzZGZmMWEzNmViNWMy
MDVhZTY4NzljZDIyYmQyYzcwMjIxMWUzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQpAQCAtMzcsMTggKzM3LDIyIEBAIGltcG9y
dCB0aW1lCiAKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IFNj
cmlwdEVycm9yCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi51bmljb2RlX2NvbXBhdGliaWxpdHkgaW1w
b3J0IGRlY29kZV9pZl9uZWNlc3NhcnkKK2Zyb20gd2Via2l0cHkuY29tbW9uLndlYmtpdF9maW5k
ZXIgaW1wb3J0IFdlYktpdEZpbmRlcgogCiAKIGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9i
amVjdCk6CiAgICAgX2ZpbmRfcGlkX3JlZ2V4ID0gcmUuY29tcGlsZShyJ1BJRDogKFxkKykgXCgu
KlwpJykKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBleGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3
ZXJfdGhhbiwgZmlsZXN5c3RlbSwgcGF0aF90b19kcml2ZXIpOgorICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCBleGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwgZmlsZXN5c3RlbSwgcGF0aF90
b19kcml2ZXIsIHBvcnRfbmFtZSwgY29uZmlndXJhdGlvbik6CiAgICAgICAgIHNlbGYubmFtZSA9
IG5hbWUKICAgICAgICAgc2VsZi5waWQgPSBwaWQKICAgICAgICAgc2VsZi5uZXdlcl90aGFuID0g
bmV3ZXJfdGhhbgogICAgICAgICBzZWxmLl9maWxlc3lzdGVtID0gZmlsZXN5c3RlbQogICAgICAg
ICBzZWxmLl9wYXRoX3RvX2RyaXZlciA9IHBhdGhfdG9fZHJpdmVyCiAgICAgICAgIHNlbGYuX2V4
ZWN1dGl2ZSA9IGV4ZWN1dGl2ZQorICAgICAgICBzZWxmLl9wb3J0X25hbWUgPSBwb3J0X25hbWUK
KyAgICAgICAgc2VsZi5fY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24KKyAgICAgICAgc2Vs
Zi5fd2Via2l0X2ZpbmRlciA9IFdlYktpdEZpbmRlcihmaWxlc3lzdGVtKQogCiAgICAgZGVmIF9n
ZXRfZ2RiX291dHB1dChzZWxmLCBjb3JlZHVtcF9wYXRoKToKICAgICAgICAgcHJvY2Vzc19uYW1l
ID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKG9zLnBhdGguZGlybmFtZShzdHIoc2VsZi5fcGF0aF90
b19kcml2ZXIoKSkpLCBzZWxmLm5hbWUpCkBAIC02Nyw2ICs3MSw5IEBAIGNsYXNzIEdEQkNyYXNo
TG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBmaWxlbmFtZQogCiAgICAgZGVm
IF9nZXRfdHJhY2VfZnJvbV9zeXN0ZW1kKHNlbGYsIGNvcmVkdW1wY3RsLCBwaWQpOgorICAgICAg
ICBpZiBvcy5wYXRoLmlzZmlsZSgiLy5mbGF0cGFrLWluZm8iKToKKyAgICAgICAgICAgIHJldHVy
biBzZWxmLl9nZXRfdHJhY2VfZnJvbV9mbGF0cGFrKCkKKwogICAgICAgICAjIExldHRpbmcgdXAg
dG8gNSBzZWNvbmRzIGZvciB0aGUgYmFja3RyYWNlIHRvIGJlIGdlbmVyYXRlZCBvbiB0aGUgc3lz
dGVtZCBzaWRlCiAgICAgICAgIGZvciB0cnlfbnVtYmVyIGluIHJhbmdlKDUpOgogICAgICAgICAg
ICAgaWYgdHJ5X251bWJlciAhPSAwOgpAQCAtOTIsMTIgKzk5LDI0IEBAIGNsYXNzIEdEQkNyYXNo
TG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wX2ZpbGUu
bmFtZV0sIHJldHVybl9leGl0X2NvZGU9VHJ1ZSk6CiAgICAgICAgICAgICAgICAgICAgIGNvbnRp
bnVlCiAKLSAgICAgICAgICAgICAgICByZXMgPSBzZWxmLl9nZXRfZ2RiX291dHB1dChzZWxmLl9n
ZXRfdG1wX2ZpbGVfbmFtZShjb3JlZHVtcGN0bCwgdGVtcF9maWxlLm5hbWUpKQotCi0gICAgICAg
ICAgICAgICAgcmV0dXJuIHJlcworICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9nZXRfZ2Ri
X291dHB1dChzZWxmLl9nZXRfdG1wX2ZpbGVfbmFtZShjb3JlZHVtcGN0bCwgdGVtcF9maWxlLm5h
bWUpKQogCiAgICAgICAgIHJldHVybiAnJywgW10KIAorICAgIGRlZiBfZ2V0X3RyYWNlX2Zyb21f
ZmxhdHBhayhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5uZXdlcl90aGFuOgorICAgICAgICAgICAg
Y29yZWR1bXBfc2luY2UgPSAiLS1nZGItc3RhY2stdHJhY2U9QCVmIiAlIHNlbGYubmV3ZXJfdGhh
bgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY29yZWR1bXBfc2luY2UgPSAiLS1nZGItc3Rh
Y2stdHJhY2UiCisgICAgICAgIHdlYmtpdF9mbGF0cGFrX3BhdGggPSBzZWxmLl93ZWJraXRfZmlu
ZGVyLnBhdGhfdG9fc2NyaXB0KCd3ZWJraXQtZmxhdHBhaycpCisgICAgICAgIGNtZCA9IFsnZmxh
dHBhay1zcGF3bicsICctLWhvc3QnLCB3ZWJraXRfZmxhdHBha19wYXRoLCAnLS0lcycgJSBzZWxm
Ll9wb3J0X25hbWUsCisgICAgICAgICAgICAgICAiLS0lcyIgJSBzZWxmLl9jb25maWd1cmF0aW9u
Lmxvd2VyKCksIGNvcmVkdW1wX3NpbmNlXQorCisgICAgICAgIHByb2MgPSBzZWxmLl9leGVjdXRp
dmUucG9wZW4oY21kLCBzdGRpbj1Ob25lLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRlcnI9
c3VicHJvY2Vzcy5QSVBFKQorICAgICAgICBjcmFzaF9sb2csIHN0ZGVyciA9IHByb2MuY29tbXVu
aWNhdGUoKQorICAgICAgICBlcnJvcnMgPSBkZWNvZGVfaWZfbmVjZXNzYXJ5KHN0cihzdGRlcnIg
b3IgJzxlbXB0eT4nKSwgZXJyb3JzPSdpZ25vcmUnKS5zcGxpdGxpbmVzKCkKKyAgICAgICAgcmV0
dXJuIGNyYXNoX2xvZywgZXJyb3JzCisKICAgICBkZWYgZ2VuZXJhdGVfY3Jhc2hfbG9nKHNlbGYs
IHN0ZG91dCwgc3RkZXJyKToKICAgICAgICAgcGlkX3JlcHJlc2VudGF0aW9uID0gc3RyKHNlbGYu
cGlkIG9yICc8dW5rbm93bj4nKQogICAgICAgICBsb2dfZGlyZWN0b3J5ID0gb3MuZW52aXJvbi5n
ZXQoIldFQktJVF9DT1JFX0RVTVBTX0RJUkVDVE9SWSIpCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZ191bml0dGVzdC5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5Cmlu
ZGV4IDlmM2I3ZTM5Mzc5YzQzYTEwNWVjZTIwYzFjYTYyNjI0M2RmYTdkMzQuLjNhMzllODQ2NzBh
NjRjODM2YjVlMTQ0MmZjOGEzNTkzNGMzN2RmOTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5CkBA
IC00Niw3ICs0Niw3IEBAIGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yVGVzdCh1bml0dGVzdC5U
ZXN0Q2FzZSk6CiAgICAgICAgIGV4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUoKQogICAgICAgICBl
eGVjdXRpdmUuX3Byb2MgPSBNb2NrUHJvY2VzcygpCiAgICAgICAgIGV4ZWN1dGl2ZS5fcHJvYy5z
dGRvdXQgPSAnU1RERVJSOiA8ZW1wdHk+JwotICAgICAgICBnZW5lcmF0b3IgPSBHREJDcmFzaExv
Z0dlbmVyYXRvcihleGVjdXRpdmUsICdEdW1wUmVuZGVyVHJlZScsIDI4NTI5LCBuZXdlcl90aGFu
PU5vbmUsIGZpbGVzeXN0ZW09TW9ja0ZpbGVTeXN0ZW0oeycvcGF0aC90by9jb3JlZHVtcHMnOiAn
J30pLCBwYXRoX3RvX2RyaXZlcj1Ob25lKQorICAgICAgICBnZW5lcmF0b3IgPSBHREJDcmFzaExv
Z0dlbmVyYXRvcihleGVjdXRpdmUsICdEdW1wUmVuZGVyVHJlZScsIDI4NTI5LCBuZXdlcl90aGFu
PU5vbmUsIGZpbGVzeXN0ZW09TW9ja0ZpbGVTeXN0ZW0oeycvcGF0aC90by9jb3JlZHVtcHMnOiAn
J30pLCBwYXRoX3RvX2RyaXZlcj1Ob25lLCBwb3J0X25hbWU9Imd0ayIsIGNvbmZpZ3VyYXRpb249
IkRlYnVnIikKIAogICAgICAgICBjb3JlX2RpcmVjdG9yeSA9IG9zLmVudmlyb24uZ2V0KCdXRUJL
SVRfQ09SRV9EVU1QU19ESVJFQ1RPUlknLCAnL3BhdGgvdG8vY29yZWR1bXBzJykKICAgICAgICAg
Y29yZV9wYXR0ZXJuID0gZ2VuZXJhdG9yLl9maWxlc3lzdGVtLmpvaW4oY29yZV9kaXJlY3Rvcnks
ICJjb3JlLXBpZF8lcC5kdW1wIikKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC93cGUucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd3BlLnB5CmluZGV4IDAw
Y2U1Mjc2ZTljYzQyMWI0ODM3YWMyYjU0ZjMzYzU1MmJiZWM4NTUuLjU0NjkyNWY0N2M2NDAwNzI1
YWYwNzNhMzU1M2M3ZmY1NGVlYTdkOTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC93cGUucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dwZS5weQpA
QCAtNzcsNiArNzcsNyBAQCBjbGFzcyBXUEVQb3J0KFBvcnQpOgogICAgICAgICBlbnZpcm9ubWVu
dFsnVEVTVF9SVU5ORVJfVEVTVF9QTFVHSU5fUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0aCgnbGli
JywgJ3BsdWdpbnMnKQogICAgICAgICBlbnZpcm9ubWVudFsnV0VCS0lUX0VYRUNfUEFUSCddID0g
c2VsZi5fYnVpbGRfcGF0aCgnYmluJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vu
dmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJUicpCisgICAgICAgIHNl
bGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9K
SEJVSUxEJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVu
dmlyb25tZW50LCAnV0VCS0lUX1RPUF9MRVZFTCcpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVf
ZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1VTRV9QTEFZQklOMycpCiAgICAgICAg
IHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ0dTVF9E
RUJVRycpCkBAIC0xMjEsNyArMTIyLDggQEAgY2xhc3MgV1BFUG9ydChQb3J0KToKICAgICAgICAg
cmV0dXJuIDIKIAogICAgIGRlZiBfZ2V0X2NyYXNoX2xvZyhzZWxmLCBuYW1lLCBwaWQsIHN0ZG91
dCwgc3RkZXJyLCBuZXdlcl90aGFuLCB0YXJnZXRfaG9zdD1Ob25lKToKLSAgICAgICAgcmV0dXJu
IEdEQkNyYXNoTG9nR2VuZXJhdG9yKHNlbGYuX2V4ZWN1dGl2ZSwgbmFtZSwgcGlkLCBuZXdlcl90
aGFuLCBzZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlcikuZ2VuZXJhdGVfY3Jh
c2hfbG9nKHN0ZG91dCwgc3RkZXJyKQorICAgICAgICByZXR1cm4gR0RCQ3Jhc2hMb2dHZW5lcmF0
b3Ioc2VsZi5fZXhlY3V0aXZlLCBuYW1lLCBwaWQsIG5ld2VyX3RoYW4sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2Ry
aXZlciwgc2VsZi5wb3J0X25hbWUsIHNlbGYuZ2V0X29wdGlvbignY29uZmlndXJhdGlvbicpKS5n
ZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIpCiAKICAgICBkZWYgY29uZmlndXJhdGlv
bl9mb3JfdXBsb2FkKHNlbGYsIGhvc3Q9Tm9uZSk6CiAgICAgICAgIGNvbmZpZ3VyYXRpb24gPSBz
dXBlcihXUEVQb3J0LCBzZWxmKS5jb25maWd1cmF0aW9uX2Zvcl91cGxvYWQoaG9zdD1ob3N0KQpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvQWN0
aXZhdGVGb250c0d0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcAppbmRleCAzZjhlMjQ0MGYyODNlNGI0ZTU0MjdhZDY0
NGQyYjNiNGUzMTk2NWExLi44MWJjZDk2MmEwOWM3YWNmZWYyMmVjMmY0OGJjMDJiMjQ5YTU2YzQ0
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9B
Y3RpdmF0ZUZvbnRzR3RrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcApAQCAtNjUsOCArNjUsMTMgQEAgQ1N0cmlu
ZyBnZXRPdXRwdXREaXIoKQogCiBzdGF0aWMgQ1N0cmluZyBnZXRGb250c1BhdGgoKQogeworICAg
IC8vIFRyeSBmbGF0cGFrIHNhbmRib3ggcGF0aC4KKyAgICBHVW5pcXVlUHRyPGNoYXI+Zm9udHNQ
YXRoKGdfYnVpbGRfZmlsZW5hbWUoIi91c3IiLCAic2hhcmUiLCAid2Via2l0Z3RrLXRlc3QtZm9u
dHMiLCBOVUxMKSk7CisgICAgaWYgKGdfZmlsZV90ZXN0KGZvbnRzUGF0aC5nZXQoKSwgc3RhdGlj
X2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9FWElTVFMgfCBHX0ZJTEVfVEVTVF9JU19ESVIp
KSkKKyAgICAgICAgcmV0dXJuIGZvbnRzUGF0aC5nZXQoKTsKKwogICAgIENTdHJpbmcgd2Via2l0
T3V0cHV0RGlyID0gZ2V0T3V0cHV0RGlyKCk7Ci0gICAgR1VuaXF1ZVB0cjxjaGFyPiBmb250c1Bh
dGgoZ19idWlsZF9maWxlbmFtZSh3ZWJraXRPdXRwdXREaXIuZGF0YSgpLCAiRGVwZW5kZW5jaWVz
R1RLIiwgIlJvb3QiLCAid2Via2l0Z3RrLXRlc3QtZm9udHMiLCBudWxscHRyKSk7CisgICAgZm9u
dHNQYXRoLnJlc2V0KGdfYnVpbGRfZmlsZW5hbWUod2Via2l0T3V0cHV0RGlyLmRhdGEoKSwgIkRl
cGVuZGVuY2llc0dUSyIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgbnVsbHB0cikp
OwogICAgIGlmIChnX2ZpbGVfdGVzdChmb250c1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxl
VGVzdD4oR19GSUxFX1RFU1RfRVhJU1RTIHwgR19GSUxFX1RFU1RfSVNfRElSKSkpCiAgICAgICAg
IHJldHVybiBmb250c1BhdGguZ2V0KCk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUuY3BwIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250c1dQRS5jcHAKaW5k
ZXggYTQ5YzdhMjkyMTgyNTkxZTI3MjdiMmI5MDFlNDEyYjJkZThlMDNkYS4uOGJlNzM2ZjA0OWM5
MWIzMDhjZDJjMWVjYWYxNDA1YTA1YzFhZTUwMCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250c1dQRS5jcHAKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250c1dQRS5j
cHAKQEAgLTU4LDggKzU4LDEzIEBAIENTdHJpbmcgZ2V0T3V0cHV0RGlyKCkKIAogc3RhdGljIENT
dHJpbmcgZ2V0Rm9udHNQYXRoKCkKIHsKKyAgICAvLyBUcnkgZmxhdHBhayBzYW5kYm94IHBhdGgu
CisgICAgR1VuaXF1ZVB0cjxjaGFyPmZvbnRzUGF0aChnX2J1aWxkX2ZpbGVuYW1lKCIvdXNyIiwg
InNoYXJlIiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgTlVMTCkpOworICAgIGlmIChnX2ZpbGVf
dGVzdChmb250c1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1Rf
RVhJU1RTIHwgR19GSUxFX1RFU1RfSVNfRElSKSkpCisgICAgICAgIHJldHVybiBmb250c1BhdGgu
Z2V0KCk7CisKICAgICBDU3RyaW5nIHdlYmtpdE91dHB1dERpciA9IGdldE91dHB1dERpcigpOwot
ICAgIEdVbmlxdWVQdHI8Y2hhcj4gZm9udHNQYXRoKGdfYnVpbGRfZmlsZW5hbWUod2Via2l0T3V0
cHV0RGlyLmRhdGEoKSwgIkRlcGVuZGVuY2llc1dQRSIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0
LWZvbnRzIiwgbnVsbHB0cikpOworICAgIGZvbnRzUGF0aC5yZXNldChnX2J1aWxkX2ZpbGVuYW1l
KHdlYmtpdE91dHB1dERpci5kYXRhKCksICJEZXBlbmRlbmNpZXNXUEUiLCAiUm9vdCIsICJ3ZWJr
aXRndGstdGVzdC1mb250cyIsIG51bGxwdHIpKTsKICAgICBpZiAoZ19maWxlX3Rlc3QoZm9udHNQ
YXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNUX0VYSVNUUyB8IEdf
RklMRV9URVNUX0lTX0RJUikpKQogICAgICAgICByZXR1cm4gZm9udHNQYXRoLmdldCgpOwogCmRp
ZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttIGIvVG9vbHMvZmxhdHBh
ay9maWxlcy9kZWZhdWx0LnhrbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDE2ZjZi
MDhmNmQ4MDg1ODA5NjhiYTAyMjU2ZDkwNzVkNDhhNDdkMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21WP2QwMDAw
MQoKbGl0ZXJhbCAxMjAzMgp6Y21jZ3lZajdMYWItdWU7NUZraVZsMyVmRmNTXnJ4KiROWTJMNHNp
R3JVQyh3cHp0JlJsOUgyJXJBU3okTVVnWn0Kek4+LWY0Tn5WKF5vd1VnYE56LUB5dERVfj5SQ1V3
TlJER3FYYD4pZ0tZZFc0emBmP202YW9kQCtvdk5MJS0qQGo+Cno+fmFtSXMlTyZXOURlKHFkKE9T
KktLOTxiaStsTHVnPWc9SUA1aTIzTikwR1dlTX1YVTEwMFYyREt5fGl1U1BCNAp6cFUyalkrUThS
YDk9fDY3WSotSUg5QSRjWl9uN0NXKWMkd0hSQmk4S1dvelhFeWR4Xk51P3RNN082TzglcXJLTWMK
emJSMVJETj1HI3sjI0otRndZbDVmK0U2TzREIXUhSllPTyVJIUs/PDJ8SUdUT2oqMnFSKilDJE5j
Nk9IKWN4IUxGCnooKj41VTVXVSMlUkdtdyFvbDdUe0hgYlNUSXk9WG94IW1kUVVVXmktX3dQcVVO
KT1tcWxgQUd3NUVxaCRqNilfTQp6OE9TNmczel5DbFElTU55UXRvdVEpb0FDWVJqdlRQMHtqWl9F
NU5TK3pYSlJVQEdIUXQwS1dxSzNoKm5XKy1BRjMKenRLezMyVHBvVVRffnFmM2hoSDlrZEhDaHdt
eG9eLWV0RyFpUT5re1BQXmA/Zk4rYDNFbn0qKnN7SEViSTRabXNsCnpPflk+KmUkKClxaFRuODUq
PSlCOzx3a1lCbEI9e15qZUllbVlxVnl7JHJRd2VxI0AmdzJ9bE1xM0NUakhYM0Q4Iwp6dHkoRiFA
fEFNQUZ7I1JwRU15QU9ubENyVGZmSkFuQnYmWG1RYX40eWg5bl97TkBieXZXfTgtOHZ1KSZzQD19
TzMKemxgN31qeHpiIVNTMVEpWnJFK189SSR0V0RZVUhjc016UGpKZCUkPDAoUU1fTGhfX09rRFV8
QmY7KFNBPyNfVzhmCnpRay1jd1hHYHMzdClMM14jYWQmd1BAQWlANms0Uz9tdldRVWBGMyVrVUt4
WCZYdyg7KiRueSM0R21ZR1EzeiZzVwp6bTE/dDwoeTlDY2BZdjVyb1UxaDxgRmdke1lTJGFOKzF5
O0NTI1FrTzNpWCswdCh+dG8mZVJjQ0JpQ3hyJSsoNnsKemBMLSQqRH4tOS1fI18xUmpaZSpgQ1gk
ZDgjRCUwRzxCJG5SMV9IWVkqaUZETDFHXjBER08pfFFFKDV5Xj5AdSorCnp6JUIjMzREMlJoSHdu
OCoqaUZLMjVfWGZZbn1wcFk+P1VEMTNBLSVwdmFyai1FKF5PWD82Uj1TIVkmS0RFYk93ZAp6bkBY
YlgoYSRPTGF8LT5PTE8tWF8mbmZoQzNqT1JOLTlgVm43IU5NJi0wXkNtd1RSfGQpbllyPm5yfTJx
WEJ5MnAKekg8XlZAJkFGKjBCbjVGSFh+O05hMCtOQURMU1VESW9lTWhgYn1zQigqdHhLQ1ZkdWlt
ZyZxM0NienpyPVReZT8yCnoqcmoyWWhGdXpWWTFwTTxteGYmJGNIXiljaHV0e3IjJGgpT3lLJmYh
IXcmdTdxQ1pecGhsfkRqKEh9MVEhJHA2JQp6PW5yPmRMTyhQNGwqXylaN0hqaS1tUCR7eVhFX0Vj
KXBtfktwaC1sPGJDdWE5JDRhP0BNO3AmfFdxSjFycGJLMEMKenJoIUdeSUlzenYwTWFmNEpPaThy
Jkk3WitJcDdxcSZTeExrITFLKWZhek4oUzB5NGg+a29uQzNuY3Btc2BJVWdvCno/LVk+dm00VkRw
S21XaWRAdGlaQyg/STV2MlFyQHBBb0gwOUdNXmZkYEJjNjZKRlpyP0VeY3BoYn57U2wjfFBDaQp6
R058Z2M7IT5yIVBeQHNTLW4+RyFFZHJaQyluMlNpeH0mQnNrTHZrJFpUK2NUNkBpXmlUaURTanA+
bVoqREt9a2cKeiYqZVFeTjlDOGRjYklQWndrVWkrbTVYT0VtdzB2cVRyPHZmeCl3Nmo8PlRMPVlM
KF9AKzl4PFJKdi09Rl82YVQ9CnpDJXJnTkRzQDtqQD1GLUojaWp8P01MaiRwWismbilkcT02R3c5
blVUP1BrNT1kM2czUSltd3M0IUlMSClieUQzJQp6cFVPY2UmbkxLVURTSzNXTXZZSk5XPExKOSRI
dmsxUjw9NkNhIX4xVFQ7NXUkPzZ9eSopcmdNQ0h9Pk4zKT52ZzkKejUhKWxpbUlHY2dfSEU1TjlF
fWJyaGJ1ayQoPzt0PkVKcnpMdzdBTipuLSQjK2RmMT84ZCs2blhIcjhWeiZiNHtlCnpqMSVkclFU
NyRgKnpJb1VaZDAraXFZbFRCTmQpPUcqa081ZyNGUURhU3VYbDdoT3JpZjN9OWFaI1ghdGF1XyRE
fgp6TEh8fGlgQ01oR0lFTXdvKUY7XkFJK2cqbVhHam01KmhjaloxZ2pMckJ4MiFzKWlJQmY0VC1I
TDI8XytyQUVVSngKenBUdy09TWYoaD9jQnh0UG99ZEZgP20hR3krXzdTKV5NU1NuV3Brc3x0KGZJ
bExuPklDeDhgLVR3emJyMDY7cjIyCnpPJUplTXJgaEpaN2x1NSY/Z2NiQzt5NUk2YUorZl8lcjxC
SHF1RiYjUTRCe2Z1OSlwdTB9O28lRDtPVUpYIXUkRwp6LV5SZklFellRUVVwekR4TCshPFZVSzk7
RmZTcTU9IWNHKkk0TlV8IXUrVUY3Pkoodn1QP3NuK3RPS1k9NEUxbUAKejdleW9Sdio4emtVaiUr
T3szMjI3LVVEXmleV3hJWCt5WGtkby1jRlloYnwxPzE2UDxJTkRQcCRVNl5+T3hCN2hqCnp6cVQj
TSY4QGJyampsbDMrR3lLajJpbiNqS2ohaGhjezdMR0NkfEZJZGJ7fVRYPUJHNGs/fFhSJlUpPEBj
K1R8TAp6bHNVaX5xdSs2JHR5O3pFb1pudklkWkloPDlRKVZKX193Mjs3VXBGPFZoODU2Z3FvPygl
UX0za1dreHVeT0ZxSCYKel41JiZHMTk9OWZwMH57VEg9ODMoeyRAVDI9SWB+I0o7RDZIYiN2PnNX
KmdzWC03RSs1NEM9OzQodGpBaGRpfXQ+CnojV2ZjNW0zbHw4e09hODRWcXdXX2tPSmorZCEoRHlH
M3BHTXpDZEkpXlRvdEI5TClFJEFNPyVmMihIdD9IcSgxTwp6PGpaKjNXP1U7Q1BfMUdFSkxxPENp
TGFTVXhtc2FLQDdSSkpnIXNjXzZSTmtnOXJsaVZyPFhPJHRqayZoK1gmWnUKej47biQwb3lhc2Uk
S01nR1hRTUxUa19yMShgdzA2YntsUzhMKWY8UUN0PXteR3pPdkN6TX15QF40fCEkdT5tT2FPCnpR
UTZ4ZktZbHxBPyF9K091RlU9Pj5oZ3A4WGo5ZnVzbl87VlhMfSNwQmczQnUtJCNBMXFgP3BmYH44
biNRS0wxKwp6bF9UN3kwZURvbndnPi07X1ElTFc4fWZRMSNKe1kwcUw9PTloPHtie3A8ZXBlTGoz
RVI1QkpqRjREbVpPa0xqXz0KekB7ajhIdSFsd2J0aW8tPTg5KHskIVdscExodkAmfEt+Iy1RPlRt
NUl0VXZnSGBoJEQqQTdGbSlrMj1PYkV9WS0yCnpjcU11cTE+cVZkaGQ7Knd1YU89JV9BZkNXWXV9
MmdlRlVNQFBseCNEZEt9SjN8QWBSKWIpUiFPUChLeW8qTG9jSgp6PE5DMT5mNFJwXjElNW9sZjN3
SDthVmhvYjVkVkNTcWFMe2JPbzshTSZuPjNeV1FoTlVhQmtzd3tZOzRlc1BLZWkKeiNfejklXyRQ
Zz9yLW9rKUBsV3wmY2oyI3VfJTkyTyVncGppQV54SzlMNzh9ZEhwRzlgPEVBXitYRzhvaWc/c1Y7
CnptQ3RwS2U9VkgtJi1WRzc5I15gKFVLUUBPJilAZGFWVTA0cylaPHtfdWdtIUk/NyFsMzlwTXsz
Klg0aUo9ZW04fgp6Pn5UfSFmQStjZHt9LVFZZ01hbjhfV3k/UExEUVk7LStacTl8Sn49PnwzN0BM
e3JeKz1WZnI2WT5QQz17RCluRSYKekZ+aktte0BkcWgzOGw3IV85dkJrQ2N4Pj80UkUmQ1BMTHlf
LTV8I155QkZrVylKczgqXyR+K2VzOFlgY0kzTXtkCnowblJAOEshQ0ZXe3pDWEw/c0A2Pyl0aXJD
cHkkXkIqWW00ej1DOX0xME4zLVlhRihhJSo4dGJedDhqI2BeIXlzJgp6ZWBtJU1UR3pDJV8wOU1a
JlFGSyVhPj5pP2FvdjRiS2ZIOV5lT055e1pZSTJGa0RDUSFwdlVuZGp3e3lWY3RPViUKej97UERO
MlljTCVzNj53XndFYSt6NHsxSyE8RUJMKTdYSHlqY2VaPE9NP0t7OCNyNGV7Xj89N3VFTDY4dkpM
KkE/CnpqflRBbDdpa34xZkw+cH41M0RjWHRVYzVKTiFsO01rMSVyQzQlMjxVa00tREZLVmQ+VUVt
KCMxPzslSWtfUjVMOQp6b2ZHU3VvISNVNVg5eGJ5Zlp0RzVhcjZBZmBwKCt1QCVoJUhDVWZARXko
a2x9cCgrS3t7bWN5YXtBUDdoPylmcU8KekxBZjZYSnx5PU96PSEyTjEzV0FEbGZZd2dwOU1aOV9m
eD4qYS1SZTsxZVBAaFQkMjBtMSloLW1JTzN3dlcpTGB2Cnp2NXRFeV8tKmVRKmdqJEc1OWx2THg3
YkpEZnYoc2AtLVdLKE42KzdqK0l7cj1IaEhGeGVoPDMmS0tnYSY9S0FRagp6cHNWLU1aJHNCR2Rp
N3I1YjhgUUY7MTU5OVotPncoN1dUbVpWQXwrRntnK3tyR2Q+Nk9gMjQ5X2VlfG8pNzVlQygKemZe
TWRke3ljUUVlZWBTNG1IT3pQaFZFMSFKJTUrdXd+VFBWOyoqJUY3YF4lKTtDSVhZQmZ0bWJ7YC1M
K2ZeZSRnCnp5dSkkd0tKWDdoIXVmcHd4K25ZU3BNPyZ1QjUkIUBmaUItaWUranlVS0tnVWVQNTA0
bkxSYWdmelglO1ppMGhjJgp6MzRDMWMtdnhZKytgays2ZUd0fn4/QD5RfnA5X0JmPFgkQnhfaGFz
e1ZaaytrXkV9N01zUD96QHlifGBtNHg2QkcKenRgNkokRV5MQ3JgOCNhJGQkMCkjPWsmMTZANTNm
Mm9hZShmZSpsfUhhUEFNPXsyXj9EIXUyMypeOTklaGc9PDlFCno9OHM/IzZze1gjbj1pczlDfHBh
ekhoJkQ4cG0yUyR0UncxcT0tS3shLXs4Mzl6TCRHcC1nQSUzZUp9NjFwWERBbQp6b0c8czhMRSpZ
V2QreHV2Qys5dSl5ND9UcnA4SWFAI2whaDxLTj1MU1NHNERRMF5jMlkmdnlkOEMtOSM4ZjQmcCYK
em9fa2c5VXdRdm9Bb3JANGJ5ZElmVk9aZlM1JDl0NmB3R1Z9JDFiMTBwTSEqQmM/SkdLO28yTHZg
NGlYI2gzaGYwCnoocnRONm15YjBeQElrPngxUm5yO3dtKzxPamB+TW54RDM3bjFaQzg7aTUzMj5W
O09kTExod3ZrIVFZO15yK09YMgp6eyFJdXIxZT0yTWY9PnZ4MVEhTHtmKHdFeGc4TStQNCE3LWRF
YTRxaEBPSHQrMWI7Xy1VVjtQcSRtO2h5KChTT2gKekFhPHdWJEcmN2duIWQhRUZLT2RJUXw/S3tK
KW1XcylPJGFjZV9tfFgxKW1iIS1qQ3x8ST5NaDN6OXtpczVXRmIzCnpDVSZRVktQfGk/ezV5ZHIy
QnFGRHgpWHgkN2tuO1leRnlNYDJ+Rz5YT1lsai1Gfk1FST1MUFEoT2JWdDJqfG5+awp6Xnh9Q1o/
JTglazNmdHUhcVBxaV82NVU7KnlBJFp5LTZ2YDk1IT9pTmBGPmIqY01JK2FFe0toMV9wSW96Mnkh
M0EKejdgVFRidThIMzM4IXo5WT13fTNIMXh0YytLKENDP2lTOEUhVWxlPylYTEQ3NXw2bmB0O3lU
MGloUyEoJXtZaWIjCnpAbmQ4QkBjTyMrRzI0aTdkaExgS1VKeHRgez02WFRQa1lickd2TGdSSXpF
QCl7bGBWYGFqI0UqTUV2ZytUb1FhLQp6QFRfMTQ9PXBsJUowZlllcGV1TXImPURMRWowJHBXR1FP
X2hDaj43R3pFfCoqZn1heG5HKkRPUUNqWGN4RkF1JSoKelA5eENtPEYjaXtAcHRWfXtuNjA2JTNx
ZXY3M2M1Uk15PjN0LVdNeHstd0RsR0NQfjcoZ2A9KkQ0fVdqSXhWXj1uCnoqN15DYWNSOHhPeXQk
MEl3NVE+SFlvcFdJIyYySCE2fnA8Ym8kYnloX21jPiVjajB7MDkpSXNRcXM2RzlUaT9NKAp6WXBg
ZDxHT05xJCohLUVkR24wVGwmKVJiTHtRQm0zI19uSTxaPkZzSEBLeVBzaFVBITw/UVpSRGtNYlNu
JntmKj0KekQ7eDh5WnRkLUtNJDRUbUowcWppPXVaVHdoZERQa2kxKClCK2JnTiQjR35xY3g1Wjxh
UWM8X1ZoJCpJRHVxTT5sCnpWYEZRYmpaMi1+Xl9BdFppPUVaPXleQ1lydkNYYVMjcFI3TEI7cF90
eytxd2Bvdm16a1ZybmRmbXsmVkhFOFg/Jgp6LVNzVyoyWnoqYlhTMzU/VWx+UEY7OEFzTVZ8bkVR
QGJjT144ZmllQz97PT1aTnJTMG1sKVNUdkNeViolQE5yYkYKei1veXNkIyk1JUdTWTUtUDRaSClq
ZDt4Iz40dmY9YmUpPFAzS1loKCZJIT15WjxMJncxOVl9WHtJIX4+OXQ4fF9zCnohfW17bzM/N2lx
eCpPeTRabVZtI2lnRkU2VWVqcmUkdzgyZ2I9STB1bG90QF4zcCFyKjVxPERHSTZtOV48KCYkfAp6
bGhOXztecUhUMkJUKFBoYmJXYysldW9NRCEyZTZ5emdqTkA+Tl5yaHpvR3FHRiEyM2YzKmBUMkNM
SmYoe1BkP0MKenpkYVk2N3dgPTZecUhVRDRkajFUbShTQmBlKT1gRWs+Nml1UVU2TUBmY28+SjlV
dTJNP05eV3xiaCE2KUY0ezQhCnpYNylCJCVzX2ZvVH57dzN4KCo4clJhXj1EYVUkVmFMVWY2WnZ2
akZmOzB8PWJpRHwpYyEzbTU8Pk5DUDgxKyMpdgp6Q093cmpKZTNtRWBTR2tBaE0yezNkZXJsKjg8
QSVzeDdVYHtJczNaRzQ4MHR8XkI0OHY4XkkwRktoWH43OEZoWEAKem9nWXhnMmh7TmFDJlcoMjJk
PzctPmlCP0RDZiZyeGJDSlN6ZXRaSihvZXdSVXolTHNwN2lUM0NfPk97ZVFOfEFFCnpzPGJgTVJT
QkFNYWpyX1pESHJGZWdxdzE0dUY3eUo3dzBPND4tX2orVjZAdkcjaDU+WWF5aGFTRHIpMldsKEVE
NAp6RHtZVlNTQXdRb29XQnhvJUVrRkI7aWc9aXpjTzZQI2tvdiFLQj5lNDF7Qk5WbGFqIVIwLWtA
PV9CZ0w4WHYpUVQKekUjYW5Jb1l4WD0lRWZzdDtpZz1pPVFQfXUlT0A/TlZ6d1JPY3RtK1BKQmQ0
Kz1oK2YhKEJecWhCRn10Y09qPG5WCnpMKFgkPE00b311VD5BfiRGOyFlJC1fX0dRIyFQYSFVfnxr
Mkk+O0xSbUI0ZD1aem5pd2k1UDYyJHQzYmpDWHMjMQp6YmVfV2A9bE0qTlVPLXZPRjJJNWgyaFZZ
bUdpS1dKSmZ9e19TeHpGKWJgbyhHdGFEfDFkRyh6QTspb3EjOUVzbDgKeldrNVdhTjt7cXZIQ1JQ
bSRYZ20yNUFBcXY2PyUoalJ9REBIPF9aWmx0ajdsOTtDV1YpSnxVUlYkaTZpQnEoc2xCCnpwWlRR
KWktPnp6Kk18IX1YUDwtYExWN2B1MSlLcnZ0VHZXNko2S0M/XntWPTlKT0J8NjRxVS1+ZnJHakNZ
YT04MAp6ck97bCR5QFg/VHQ9QTZ3WTJrZj82WHt4UzlQIWhLeXxkUHA8I1F9STtAblZRSylHTDN0
MiVSQ1pvPlN3YEY3WFIKekx3Y3tuSldMXng9blp4S0Z6UkhQR0VEcllraGZkTDtsTnBNc2Z2bVcr
KSRzIzxvWW93JDc+NnpqKFdSZ2FjO284Ck1ra3NkfmJJSWlZMDgzSzAyPjx7OQoKZGlmZiAtLWdp
dCBhL1Rvb2xzL2ZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaCBiL1Rvb2xzL2ZsYXRwYWsv
ZmlsZXMvaHR0cGQtYXV0b2dlbi5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMWMw
YzQ4MzA1MWZiZGY4NjA0Yjk0NGE2MzUxMWM0ZTEyMWVhZWY0ZC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL2ZpbGVzL2h0dHBkLWF1
dG9nZW4uc2gKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLWF1dG9tYWtlIC0tYWRkLW1p
c3NpbmcKLWF1dG9yZWNvbmYgLS1pbnN0YWxsCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL2Zs
YXRwYWt1dGlscy5weSBiL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5CmluZGV4IDg5ZWJj
NjczMTBjMWQ1Yjg0YzkwY2Y1NDA3Zjk0MGMwMWIwNWVlZTYuLmYxNWMwOWNjYjM4ZDM4MDA3ZDFh
NDE2MDFhZWRlNjViNTk4ZjNjMGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0
aWxzLnB5CisrKyBiL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5CkBAIC00OSwxNSArNDks
MTAgQEAgZXhjZXB0IEltcG9ydEVycm9yOgogCiBGTEFUUEFLX1JFUSA9IFsKICAgICAoImZsYXRw
YWsiLCAiMC4xMC4wIiksCi0gICAgKCJmbGF0cGFrLWJ1aWxkZXIiLCAiMC4xMC4wIiksCiBdCiAK
IEZMQVRQQUtfVkVSU0lPTiA9IHt9CiAKLVdQRV9NQU5JRkVTVF9NQVAgPSB7Ci0gICAgInF0Ijog
Im9yZy53ZWJraXQuV1BFUVQueWFtbCIsCi19Ci0KIHNjcmlwdGRpciA9IG9zLnBhdGguYWJzcGF0
aChvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pKQogX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9f
bmFtZV9fKQogCkBAIC0xMjMsMTMyICsxMTgsNiBAQCBkZWYgY2hlY2tfZmxhdHBhayh2ZXJib3Nl
PVRydWUpOgogICAgIHJldHVybiBUcnVlCiAKIAotZGVmIHJlbW92ZV9leHRlbnNpb25fcG9pbnRz
KGFycmF5KToKLSAgICByZXN1bHRfYXJncyA9IFtdCi0gICAgZm9yIGFyZyBpbiBhcnJheToKLSAg
ICAgICAgaWYobm90IGFyZy5zdGFydHN3aXRoKCctLWV4dGVuc2lvbicpKToKLSAgICAgICAgICAg
IHJlc3VsdF9hcmdzLmFwcGVuZChhcmcpCi0gICAgcmV0dXJuIHJlc3VsdF9hcmdzCi0KLQotZGVm
IHJlbW92ZV9jb21tZW50cyhzdHJpbmcpOgotICAgIHBhdHRlcm4gPSByIihcIi4qP1wifFwnLio/
XCcpfCgvXCouKj9cKi98Ly9bXlxyXG5dKiQpIgotICAgICMgZmlyc3QgZ3JvdXAgY2FwdHVyZXMg
cXVvdGVkIHN0cmluZ3MgKGRvdWJsZSBvciBzaW5nbGUpCi0gICAgIyBzZWNvbmQgZ3JvdXAgY2Fw
dHVyZXMgY29tbWVudHMgKC8vc2luZ2xlLWxpbmUgb3IgLyogbXVsdGktbGluZSAqLykKLSAgICBy
ZWdleCA9IHJlLmNvbXBpbGUocGF0dGVybiwgcmUuTVVMVElMSU5FIHwgcmUuRE9UQUxMKQotCi0g
ICAgZGVmIF9yZXBsYWNlcihtYXRjaCk6Ci0gICAgICAgICMgaWYgdGhlIDJuZCBncm91cCAoY2Fw
dHVyaW5nIGNvbW1lbnRzKSBpcyBub3QgTm9uZSwKLSAgICAgICAgIyBpdCBtZWFucyB3ZSBoYXZl
IGNhcHR1cmVkIGEgbm9uLXF1b3RlZCAocmVhbCkgY29tbWVudCBzdHJpbmcuCi0gICAgICAgIGlm
IG1hdGNoLmdyb3VwKDIpIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcmV0dXJuICIiICAjIHNv
IHdlIHdpbGwgcmV0dXJuIGVtcHR5IHRvIHJlbW92ZSB0aGUgY29tbWVudAotICAgICAgICBlbHNl
OiAgIyBvdGhlcndpc2UsIHdlIHdpbGwgcmV0dXJuIHRoZSAxc3QgZ3JvdXAKLSAgICAgICAgICAg
IHJldHVybiBtYXRjaC5ncm91cCgxKSAgIyBjYXB0dXJlZCBxdW90ZWQtc3RyaW5nCi0gICAgcmV0
dXJuIHJlZ2V4LnN1YihfcmVwbGFjZXIsIHN0cmluZykKLQotCi1kZWYgbG9hZF9tYW5pZmVzdCht
YW5pZmVzdF9wYXRoLCBwb3J0X25hbWU9Tm9uZSwgY29tbWFuZD1Ob25lKToKLSAgICBpc195YW1s
ID0gbWFuaWZlc3RfcGF0aC5lbmRzd2l0aCgnLnlhbWwnKQotICAgIHdpdGggb3BlbihtYW5pZmVz
dF9wYXRoLCAiciIpIGFzIG1yOgotICAgICAgICBjb250ZW50cyA9IG1yLnJlYWQoKQotCi0gICAg
ICAgIGNvbnRlbnRzID0gY29udGVudHMgJSB7IkNPTU1BTkQiOiBjb21tYW5kLCAiUE9SVE5BTUUi
OiBwb3J0X25hbWV9Ci0gICAgICAgIGlmIGlzX3lhbWw6Ci0gICAgICAgICAgICBpbXBvcnQgeWFt
bAotICAgICAgICAgICAgeWFtbF9sb2FkID0gZ2V0YXR0cih5YW1sLCAic2FmZV9sb2FkIiwgeWFt
bC5sb2FkKQotICAgICAgICAgICAgbWFuaWZlc3QgPSB5YW1sX2xvYWQoY29udGVudHMpCi0gICAg
ICAgIGVsc2U6Ci0gICAgICAgICAgICBjb250ZW50cyA9IHJlbW92ZV9jb21tZW50cyhjb250ZW50
cykKLSAgICAgICAgICAgIG1hbmlmZXN0ID0ganNvbi5sb2Fkcyhjb250ZW50cykKLQotICAgIHJl
dHVybiBtYW5pZmVzdAotCi0KLWRlZiBleHBhbmRfc3VibW9kdWxlc19yZWN1cnNlKG1vZHVsZXMs
IG1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCk6Ci0gICAgYWxsX21vZHVsZXMgPSBb
XQotICAgIGlmIHR5cGUobW9kdWxlcykgaXMgc3RyOgotICAgICAgICBzdWJtYW5pZmVzdF9wYXRo
ID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShtYW5pZmVzdF9wYXRoKSwgbW9kdWxlcykK
LSAgICAgICAgc3VibWFuaWZlc3QgPSBsb2FkX21hbmlmZXN0KHN1Ym1hbmlmZXN0X3BhdGgsIHBv
cnRfbmFtZT1wb3J0X25hbWUsIGNvbW1hbmQ9Y29tbWFuZCkKLSAgICAgICAgYWxsX21vZHVsZXMu
ZXh0ZW5kKGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2Uoc3VibWFuaWZlc3QsIHN1Ym1hbmlmZXN0
X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCkpCi0gICAgICAgIHJldHVybiBhbGxfbW9kdWxlcwot
Ci0gICAgIyBUaGUgbGFzdCByZWN1cnNlIG1hbmlmZXN0IGV4cGFuZCBpdGVyYXRpb24gbWlnaHQg
bGVhZCB0byBhIHNpbmdsZSBtb2R1bGUuCi0gICAgaWYgbm90IGlzaW5zdGFuY2UobW9kdWxlcywg
bGlzdCk6Ci0gICAgICAgIGFsbF9tb2R1bGVzLmFwcGVuZChtb2R1bGVzKQotICAgICAgICByZXR1
cm4gYWxsX21vZHVsZXMKLQotICAgIGZvciBtb2R1bGUgaW4gbW9kdWxlczoKLSAgICAgICAgaWYg
dHlwZShtb2R1bGUpIGlzIHN0cjoKLSAgICAgICAgICAgIHN1Ym1hbmlmZXN0X3BhdGggPSBvcy5w
YXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKG1hbmlmZXN0X3BhdGgpLCBtb2R1bGUpCi0gICAgICAg
ICAgICBzdWJtYW5pZmVzdCA9IGxvYWRfbWFuaWZlc3Qoc3VibWFuaWZlc3RfcGF0aCwgcG9ydF9u
YW1lPXBvcnRfbmFtZSwgY29tbWFuZD1jb21tYW5kKQotICAgICAgICAgICAgYWxsX21vZHVsZXMu
ZXh0ZW5kKGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2Uoc3VibWFuaWZlc3QsIHN1Ym1hbmlmZXN0
X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCkpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBh
bGxfbW9kdWxlcy5hcHBlbmQobW9kdWxlKQotCi0gICAgcmV0dXJuIGFsbF9tb2R1bGVzCi0KLWRl
ZiBleHBhbmRfbWFuaWZlc3QobWFuaWZlc3RfcGF0aCwgb3V0ZmlsZSwgcG9ydF9uYW1lLCBzb3Vy
Y2Vfcm9vdCwgY29tbWFuZCk6Ci0gICAgIiIiQ3JlYXRlcyB0aGUgbWFuaWZlc3QgZmlsZS4iIiIK
LSAgICB0cnk6Ci0gICAgICAgIG9zLnJlbW92ZShvdXRmaWxlKQotICAgIGV4Y2VwdCBPU0Vycm9y
OgotICAgICAgICBwYXNzCi0KLSAgICBtYW5pZmVzdCA9IGxvYWRfbWFuaWZlc3QobWFuaWZlc3Rf
cGF0aCwgcG9ydF9uYW1lPXBvcnRfbmFtZSwgY29tbWFuZD1jb21tYW5kKQotICAgIGlmIG5vdCBt
YW5pZmVzdDoKLSAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICBpZiAic2RrLWhhc2giIGluIG1h
bmlmZXN0OgotICAgICAgICBkZWwgbWFuaWZlc3RbInNkay1oYXNoIl0KLSAgICBpZiAicnVudGlt
ZS1oYXNoIiBpbiBtYW5pZmVzdDoKLSAgICAgICAgZGVsIG1hbmlmZXN0WyJydW50aW1lLWhhc2gi
XQotCi0gICAgYWxsX21vZHVsZXMgPSBbXQotCi0gICAgb3ZlcnJpZGVuX21vZHVsZXMgPSBbXQot
ICAgIGlmICJXRUJLSVRfRVhUUkFfTU9EVUxFU0VUUyIgaW4gb3MuZW52aXJvbjoKLSAgICAgICAg
b3ZlcnJpZGVuX21vZHVsZXMgPSBsb2FkX21hbmlmZXN0KG9zLmVudmlyb25bIldFQktJVF9FWFRS
QV9NT0RVTEVTRVRTIl0pCi0gICAgICAgIGlmIG5vdCBvdmVycmlkZW5fbW9kdWxlczoKLSAgICAg
ICAgICAgIG92ZXJyaWRlbl9tb2R1bGVzID0gW10KLSAgICBmb3IgbW9kdWxlcyBpbiBtYW5pZmVz
dFsibW9kdWxlcyJdOgotICAgICAgICBtb2R1bGVzID0gZXhwYW5kX3N1Ym1vZHVsZXNfcmVjdXJz
ZShtb2R1bGVzLCBtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWUsIGNvbW1hbmQpCi0KLSAgICAgICAg
aWYgbm90IGlzaW5zdGFuY2UobW9kdWxlcywgbGlzdCk6Ci0gICAgICAgICAgICBtb2R1bGVzID0g
W21vZHVsZXNdCi0KLSAgICAgICAgZm9yIG1vZHVsZSBpbiBtb2R1bGVzOgotICAgICAgICAgICAg
Zm9yIG92ZXJyaWRlbl9tb2R1bGUgaW4gb3ZlcnJpZGVuX21vZHVsZXM6Ci0gICAgICAgICAgICAg
ICAgaWYgbW9kdWxlWyduYW1lJ10gPT0gb3ZlcnJpZGVuX21vZHVsZVsnbmFtZSddOgotICAgICAg
ICAgICAgICAgICAgICBtb2R1bGUgPSBvdmVycmlkZW5fbW9kdWxlCi0gICAgICAgICAgICAgICAg
ICAgIG92ZXJyaWRlbl9tb2R1bGVzLnJlbW92ZShtb2R1bGUpCi0gICAgICAgICAgICAgICAgICAg
IGJyZWFrCi0KLSAgICAgICAgICAgIGFsbF9tb2R1bGVzLmFwcGVuZChtb2R1bGUpCi0KLSAgICAj
IEFuZCBhZGQgb3ZlcnJpZGVuIG1vZHVsZXMgcmlnaHQgYmVmb3JlIHRoZSB3ZWJraXQgcG9ydCBi
dWlsZCBkZWYuCi0gICAgZm9yIG92ZXJyaWRlbl9tb2R1bGUgaW4gb3ZlcnJpZGVuX21vZHVsZXM6
Ci0gICAgICAgIGFsbF9tb2R1bGVzLmluc2VydCgtMSwgb3ZlcnJpZGVuX21vZHVsZSkKLQotICAg
IG1hbmlmZXN0WyJtb2R1bGVzIl0gPSBhbGxfbW9kdWxlcwotICAgIGZvciBtb2R1bGUgaW4gbWFu
aWZlc3RbIm1vZHVsZXMiXToKLSAgICAgICAgaWYgbm90IG1vZHVsZS5nZXQoInNvdXJjZXMiKToK
LSAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgaWYgbW9kdWxlWyJzb3VyY2VzIl1bMF1b
InR5cGUiXSA9PSAiZ2l0IjoKLSAgICAgICAgICAgIGlmIHBvcnRfbmFtZSA9PSBtb2R1bGVbIm5h
bWUiXToKLSAgICAgICAgICAgICAgICByZXBvID0gImZpbGU6Ly8iICsgc291cmNlX3Jvb3QKLSAg
ICAgICAgICAgICAgICBtb2R1bGVbInNvdXJjZXMiXVswXVsidXJsIl0gPSByZXBvCi0KLSAgICAg
ICAgZm9yIHNvdXJjZSBpbiBtb2R1bGVbInNvdXJjZXMiXToKLSAgICAgICAgICAgIGlmIHNvdXJj
ZVsidHlwZSJdID09ICJwYXRjaCIgb3IgKHNvdXJjZVsidHlwZSJdID09ICJmaWxlIiBhbmQgc291
cmNlLmdldCgncGF0aCcpKToKLSAgICAgICAgICAgICAgICBzb3VyY2VbInBhdGgiXSA9IG9zLnBh
dGguam9pbihvcy5wYXRoLmRpcm5hbWUobWFuaWZlc3RfcGF0aCksIHNvdXJjZVsicGF0aCJdKQot
Ci0gICAgd2l0aCBvcGVuKG91dGZpbGUsICJ3IikgYXMgb2Y6Ci0gICAgICAgIG9mLndyaXRlKGpz
b24uZHVtcHMobWFuaWZlc3QsIGluZGVudD00KSkKLQotICAgIHJldHVybiBUcnVlCi0KLQogY2xh
c3MgRmxhdHBha09iamVjdDoKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB1c2VyKToKQEAgLTI4
NCw3ICsxNTMsNiBAQCBjbGFzcyBGbGF0cGFrUGFja2FnZXMoRmxhdHBha09iamVjdCk6CiAgICAg
ICAgIHNlbGYuYXBwcyA9IHNlbGYuX19kZXRlY3RfYXBwcygpCiAgICAgICAgIHNlbGYucGFja2Fn
ZXMgPSBzZWxmLnJ1bnRpbWVzICsgc2VsZi5hcHBzCiAKLQogICAgIGRlZiBfX2RldGVjdF9wYWNr
YWdlcyhzZWxmLCAqYXJncyk6CiAgICAgICAgIHBhY2tzID0gW10KICAgICAgICAgaWYgRkxBVFBB
S19WRVJTSU9OWyJmbGF0cGFrIl0gPCAoMSwgMSwgMik6CkBAIC0zMTIsNyArMTgwLDYgQEAgY2xh
c3MgRmxhdHBha1BhY2thZ2VzKEZsYXRwYWtPYmplY3QpOgogCiAgICAgICAgIHJldHVybiBwYWNr
cwogCi0KICAgICBkZWYgX19kZXRlY3RfcnVudGltZXMoc2VsZik6CiAgICAgICAgIHJldHVybiBz
ZWxmLl9fZGV0ZWN0X3BhY2thZ2VzKCItLXJ1bnRpbWUiKQogCkBAIC0zNjIsNyArMjI5LDcgQEAg
Y2xhc3MgRmxhdHBha1JlcG9zKEZsYXRwYWtPYmplY3QpOgogICAgICAgICAgICAgICAgICAgICBD
b25zb2xlLm1lc3NhZ2UoIk5vIHZhbGlkIFVSSSBmb3VuZCBmb3I6ICVzIiwgcmVwbykKICAgICAg
ICAgICAgICAgICAgICAgY29udGludWUKIAotICAgICAgICAgICAgICAgIHNlbGYucmVwb3NbbmFt
ZV0gPSBGbGF0cGFrUmVwbyhuYW1lLCB1cmwsIGRlc2MsIHJlcG9zPXNlbGYpCisgICAgICAgICAg
ICAgICAgc2VsZi5yZXBvc1tuYW1lXSA9IEZsYXRwYWtSZXBvKG5hbWU9bmFtZSwgdXJsPXVybCwg
ZGVzYz1kZXNjLCByZXBvcz1zZWxmKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgb3V0ID0g
c2VsZi5mbGF0cGFrKCJyZW1vdGUtbGlzdCIsICItLWNvbHVtbnM9bmFtZSx0aXRsZSx1cmwiKQog
ICAgICAgICAgICAgcmVtb3RlcyA9IFtsaW5lIGZvciBsaW5lIGluIG91dC5zcGxpdCgiXG4iKSBp
ZiBsaW5lXQpAQCAtMzczLDcgKzI0MCw3IEBAIGNsYXNzIEZsYXRwYWtSZXBvcyhGbGF0cGFrT2Jq
ZWN0KToKICAgICAgICAgICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJObyB2YWxpZCBVUkkg
Zm91bmQgZm9yOiAlcyIsIHJlbW90ZSkKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKIAot
ICAgICAgICAgICAgICAgIHNlbGYucmVwb3NbbmFtZV0gPSBGbGF0cGFrUmVwbyhuYW1lLCB1cmws
IHRpdGxlLCByZXBvcz1zZWxmKQorICAgICAgICAgICAgICAgIHNlbGYucmVwb3NbbmFtZV0gPSBG
bGF0cGFrUmVwbyhuYW1lPW5hbWUsIHVybD11cmwsIGRlc2M9dGl0bGUsIHJlcG9zPXNlbGYpCiAK
ICAgICAgICAgc2VsZi5wYWNrYWdlcyA9IEZsYXRwYWtQYWNrYWdlcyhzZWxmKQogCkBAIC00MjAs
NyArMjg3LDEwIEBAIGNsYXNzIEZsYXRwYWtSZXBvKEZsYXRwYWtPYmplY3QpOgogICAgICAgICBp
ZiByZXBvX2ZpbGUgYW5kIG5vdCB1cmw6CiAgICAgICAgICAgICByZXBvID0gY29uZmlncGFyc2Vy
LkNvbmZpZ1BhcnNlcigpCiAgICAgICAgICAgICByZXBvLnJlYWQoc2VsZi5yZXBvX2ZpbGUubmFt
ZSkKLSAgICAgICAgICAgIHNlbGYudXJsID0gcmVwb1siRmxhdHBhayBSZXBvIl1bIlVybCJdCisg
ICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi51cmwgPSByZXBvWyJGbGF0cGFr
IFJlcG8iXVsiVXJsIl0KKyAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAg
ICAgICAgICAgICBzZWxmLnVybCA9IHJlcG8uZ2V0KCJGbGF0cGFrIFJlcG8iLCAiVXJsIikKICAg
ICAgICAgZWxzZToKICAgICAgICAgICAgIGFzc2VydCB1cmwKIApAQCAtNDQ5LDkgKzMxOSwxMiBA
QCBjbGFzcyBGbGF0cGFrUGFja2FnZShGbGF0cGFrT2JqZWN0KToKICAgICAgICAgc2VsZi5hcmNo
ID0gYXJjaAogICAgICAgICBzZWxmLmhhc2ggPSBoYXNoCiAKLSAgICBkZWYgX19zdHJfXyhzZWxm
KToKKyAgICBkZWYgX19yZXByX18oc2VsZik6CiAgICAgICAgIHJldHVybiAiJXMvJXMvJXMgJXMi
ICUgKHNlbGYubmFtZSwgc2VsZi5hcmNoLCBzZWxmLmJyYW5jaCwgc2VsZi5yZXBvLm5hbWUpCiAK
KyAgICBkZWYgX19zdHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuICIlcy8lcy8lcyIgJSAoc2Vs
Zi5uYW1lLCBzZWxmLmFyY2gsIHNlbGYuYnJhbmNoKQorCiAgICAgZGVmIGlzX2luc3RhbGxlZChz
ZWxmLCBicmFuY2gpOgogICAgICAgICBpZiBub3Qgc2VsZi5yZXBvOgogICAgICAgICAgICAgIyBC
dW5kbGUgaW5zdGFsbGVkIGZyb20gZmlsZQpAQCAtNDkxLDcgKzM2NCw3IEBAIGNsYXNzIEZsYXRw
YWtQYWNrYWdlKEZsYXRwYWtPYmplY3QpOgogICAgICAgICBleHRyYV9hcmdzLmFwcGVuZCgiLS1h
c3N1bWV5ZXMiKQogCiAgICAgICAgIHNlbGYuZmxhdHBhaygidXBkYXRlIiwgc2VsZi5uYW1lLCBz
ZWxmLmJyYW5jaCwgc2hvd19vdXRwdXQ9VHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgKmV4dHJh
X2FyZ3MsIGNvbW1lbnQ9Y29tbWVudCkKKyAgICAgICAgICAgICAgICAgICAgICpleHRyYV9hcmdz
LCBjb21tZW50PWNvbW1lbnQpCiAKIAogQGNvbnRleHRtYW5hZ2VyCkBAIC01MTksNTQgKzM5Miw1
OCBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgn
LS12ZXJib3NlJywgYWN0aW9uPSdzdG9yZV90cnVlJywKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0nU2hvdyBkZWJ1ZyBtZXNzYWdlJykKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJn
dW1lbnQoIi0tZGVidWciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkNvbXBp
bGUgd2l0aCBEZWJ1ZyBjb25maWd1cmF0aW9uLCBhbHNvIGluc3RhbGxzIFNkayBkZWJ1ZyBzeW1i
b2xlcy4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkNvbXBpbGUgd2l0aCBEZWJ1ZyBj
b25maWd1cmF0aW9uLCBhbHNvIGluc3RhbGxzIFNkayBkZWJ1ZyBzeW1ib2xlcy4iLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiKQogICAgICAgICBnZW5l
cmFsLmFkZF9hcmd1bWVudCgiLS1yZWxlYXNlIiwgaGVscD0iQ29tcGlsZSB3aXRoIFJlbGVhc2Ug
Y29uZmlndXJhdGlvbi4iLCBhY3Rpb249InN0b3JlX3RydWUiKQogICAgICAgICBnZW5lcmFsLmFk
ZF9hcmd1bWVudCgnLS1wbGF0Zm9ybScsIGFjdGlvbj0nc3RvcmUnLCBoZWxwPSdQbGF0Zm9ybSB0
byB1c2UgKGUuZy4sICJtYWMtbGlvbiIpJyksCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50
KCctLWd0aycsIGFjdGlvbj0nc3RvcmVfY29uc3QnLCBkZXN0PSdwbGF0Zm9ybScsIGNvbnN0PSdn
dGsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdBbGlhcyBmb3IgLS1wbGF0
Zm9ybT1ndGsnKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgnLS13cGUnLCBhY3Rpb249
J3N0b3JlX2NvbnN0JywgZGVzdD0ncGxhdGZvcm0nLCBjb25zdD0nd3BlJywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoZWxwPSgnQWxpYXMgZm9yIC0tcGxhdGZvcm09d3BlJykpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9KCdBbGlhcyBmb3IgLS1wbGF0Zm9ybT13cGUn
KSkKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi1uZiIsICItLW5vLWZsYXRwYWstdXBk
YXRlIiwgZGVzdD0ibm9fZmxhdHBha191cGRhdGUiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVs
cD0iRG8gbm90IHVwZGF0ZSBmbGFwdGFrIHJ1bnRpbWUvc2RrIikKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0iRG8gbm90IHVwZGF0ZSBmbGFwdGFrIHJ1bnRpbWUvc2RrIikKICAgICAgICAg
Z2VuZXJhbC5hZGRfYXJndW1lbnQoIi11IiwgIi0tdXBkYXRlIiwgZGVzdD0idXBkYXRlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGhlbHA9IlVwZGF0ZSB0aGUgcnVudGltZS9zZGsvYXBwIGFuZCBy
ZWJ1aWxkIHRoZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCBpZiBuZWVkZWQiKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBoZWxwPSJVcGRhdGUgdGhlIHJ1bnRpbWUvc2RrL2FwcCBhbmQgcmVidWls
ZCB0aGUgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgaWYgbmVlZGVkIikKICAgICAgICAgZ2VuZXJh
bC5hZGRfYXJndW1lbnQoIi1iIiwgIi0tYnVpbGQtd2Via2l0IiwgZGVzdD0iYnVpbGRfd2Via2l0
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkZvcmNlIHJlYnVpbGRpbmcgdGhlIGFwcC4i
KQotICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLWJhIiwgIi0tYnVpbGQtYWxsIiwgZGVz
dD0iYnVpbGRfYWxsIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3Jl
X3RydWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkZvcmNlIHJlYnVpbGRp
bmcgdGhlIGFwcCBhbmQgaXRzIGRlcGVuZGVuY2llcy4iKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSJGb3JjZSByZWJ1aWxkaW5nIHRoZSBhcHAuIikKKyAgICAgICAgZ2VuZXJhbC5hZGRf
YXJndW1lbnQoIi1iZ3N0IiwgIi0tYnVpbGQtZ3N0IiwgZGVzdD0iYnVpbGRfZ3N0IiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaGVscD0iRm9yY2UgcmVidWlsZGluZyBnc3QtYnVpbGQsIHJlcG9z
aXRvcnkgcGF0aCBpcyBkZWZpbmVkIGJ5IHRoZSBgR1NUX0JVSUxEX1BBVEhgIGVudmlyb25tZW50
IHZhcmlhYmxlLiIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItcSIsICItLXF1aWV0
IiwgZGVzdD0icXVpZXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3Rv
cmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRG8gbm90IHByaW50
IGFueXRoaW5nIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90
cnVlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRG8gbm90IHByaW50IGFu
eXRoaW5nIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi10IiwgIi0tdGVzdHMiLCBk
ZXN0PSJydW5fdGVzdHMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hcmdzPWFyZ3Bh
cnNlLlJFTUFJTkRFUiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJSdW4gTGF5
b3V0VGVzdHMiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXJncz1hcmdwYXJzZS5S
RU1BSU5ERVIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlJ1biBMYXlvdXRU
ZXN0cyIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItYyIsICItLWNvbW1hbmQiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hcmdzPWFyZ3BhcnNlLlJFTUFJTkRFUiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJUaGUgY29tbWFuZCB0byBydW4gaW4gdGhl
IHNhbmRib3giLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9InVzZXJfY29tbWFu
ZCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hcmdzPWFyZ3BhcnNlLlJFTUFJTkRF
UiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iVGhlIGNvbW1hbmQgdG8gcnVu
IGluIHRoZSBzYW5kYm94IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdD0idXNl
cl9jb21tYW5kIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoJy0tYXZhaWxhYmxlJywg
YWN0aW9uPSdzdG9yZV90cnVlJywgZGVzdD0iY2hlY2tfYXZhaWxhYmxlIiwgaGVscD0nQ2hlY2sg
aWYgcmVxdWlyZWQgZGVwZW5kZW5jaWVzIGFyZSBhdmFpbGFibGUuJyksCi0gICAgICAgIGdlbmVy
YWwuYWRkX2FyZ3VtZW50KCItLXVzZS1pY2VjcmVhbSIsIGhlbHA9IlVzZSB0aGUgZGlzdHJpYnV0
ZWQgaWNlY3JlYW0gKGljZWNjKSBjb21waWxlci4iLCBhY3Rpb249InN0b3JlX3RydWUiKQotICAg
ICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLS13cGUtZXh0ZW5zaW9uIiwgYWN0aW9uPSJzdG9y
ZSIsIGRlc3Q9IndwZV9leHRlbnNpb24iLCBoZWxwPSJXUEUgRXh0ZW5zaW9uIHRvIGVuYWJsZSIp
CisgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLXVzZS1pY2VjcmVhbSIsIGRlc3Q9InVz
ZV9pY2VjcmVhbSIsIGhlbHA9IlVzZSB0aGUgZGlzdHJpYnV0ZWQgaWNlY3JlYW0gKGljZWNjKSBj
b21waWxlci4iLCBhY3Rpb249InN0b3JlX3RydWUiKQogCiAgICAgICAgIGRlYnVnb3B0aW9ucyA9
IHBhcnNlci5hZGRfYXJndW1lbnRfZ3JvdXAoIkRlYnVnZ2luZyIpCiAgICAgICAgIGRlYnVnb3B0
aW9ucy5hZGRfYXJndW1lbnQoIi0tZ2RiIiwgbmFyZ3M9Ij8iLCBoZWxwPSJBY3RpdmF0ZSBnZGIs
IHBhc3NpbmcgZXh0cmEgYXJncyB0byBpdCBpZiB3YW50ZWQuIikKKyAgICAgICAgZGVidWdvcHRp
b25zLmFkZF9hcmd1bWVudCgiLS1nZGItc3RhY2stdHJhY2UiLCBkZXN0PSJnZGJfc3RhY2tfdHJh
Y2UiLCBuYXJncz0iPyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0i
RHVtcCB0aGUgc3RhY2t0cmFjZSB0byBzdGRvdXQuIFRoZSBhcmd1bWVudCBpcyBhIHRpbWVzdGFt
cCB0byBiZSBwYXJzZWQgYnkgY29yZWR1bXBjdGwuIikKICAgICAgICAgZGVidWdvcHRpb25zLmFk
ZF9hcmd1bWVudCgiLW0iLCAiLS1jb3JlZHVtcGN0bC1tYXRjaGVzIiwgZGVmYXVsdD0iIiwgaGVs
cD0nQXJndW1lbnRzIHRvIHBhc3MgdG8gZ2RiLicpCiAKICAgICAgICAgYnVpbGRvcHRpb25zID0g
cGFyc2VyLmFkZF9hcmd1bWVudF9ncm91cCgiRXh0cmEgYnVpbGQgYXJndW1lbnRzIikKICAgICAg
ICAgYnVpbGRvcHRpb25zLmFkZF9hcmd1bWVudCgiLS1tYWtlYXJncyIsIGhlbHA9Ik9wdGlvbmFs
IE1ha2VmaWxlIGZsYWdzIikKICAgICAgICAgYnVpbGRvcHRpb25zLmFkZF9hcmd1bWVudCgiLS1j
bWFrZWFyZ3MiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJPbmUgb3Ig
bW9yZSBvcHRpb25hbCBDTWFrZSBmbGFncyAoZS5nLiAtLWNtYWtlYXJncz1cIi1ERk9PPWJhciAt
RENNQUtFX1BSRUZJWF9QQVRIPS91c3IvbG9jYWxcIikiKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGhlbHA9Ik9uZSBvciBtb3JlIG9wdGlvbmFsIENNYWtlIGZsYWdzIChlLmcu
IC0tY21ha2VhcmdzPVwiLURGT089YmFyIC1EQ01BS0VfUFJFRklYX1BBVEg9L3Vzci9sb2NhbFwi
KSIpCiAKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi0tY2xlYW4iLCBkZXN0PSJjbGVh
biIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICBoZWxwPSJDbGVhbiBwcmV2aW91
cyBidWlsZHMgYW5kIHJlc3RhcnQgZnJvbSBzY3JhdGNoIikKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaGVscD0iQ2xlYW4gcHJldmlvdXMgYnVpbGRzIGFuZCByZXN0YXJ0IGZyb20gc2Ny
YXRjaCIpCiAKICAgICAgICAgXywgc2VsZi5hcmdzID0gcGFyc2VyLnBhcnNlX2tub3duX2FyZ3Mo
YXJncz1hcmdzLCBuYW1lc3BhY2U9c2VsZikKIAorICAgICAgICBpZiBvcy5lbnZpcm9uLmdldCgn
Q0NBQ0hFX1BSRUZJWCcpID09ICdpY2VjYyc6CisgICAgICAgICAgICBzZWxmLnVzZV9pY2VjcmVh
bSA9IFRydWUKKwogICAgICAgICByZXR1cm4gc2VsZgogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYp
OgpAQCAtNTgzLDYgKzQ2MCw3IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgIHNlbGYu
dXBkYXRlID0gRmFsc2UKICAgICAgICAgc2VsZi5hcmdzID0gW10KICAgICAgICAgc2VsZi5maW5p
c2hfYXJncyA9IE5vbmUKKyAgICAgICAgc2VsZi5nZGJfc3RhY2tfdHJhY2UgPSBGYWxzZQogCiAg
ICAgICAgIHNlbGYubm9fZmxhdHBha191cGRhdGUgPSBGYWxzZQogICAgICAgICBzZWxmLnJlbGVh
c2UgPSBGYWxzZQpAQCAtNTk0LDkgKzQ3MiwxMCBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAg
ICAgICBzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QgPSAiL2FwcC93ZWJraXQiCiAKICAgICAgICAg
c2VsZi5idWlsZF93ZWJraXQgPSBGYWxzZQorICAgICAgICBzZWxmLmJ1aWxkX2dzdCA9IEZhbHNl
CiAgICAgICAgIHNlbGYuYnVpbGRfYWxsID0gRmFsc2UKIAotICAgICAgICBzZWxmLnNka19icmFu
Y2ggPSBOb25lCisgICAgICAgIHNlbGYuc2RrX2JyYW5jaCA9ICIwLjEiCiAgICAgICAgIHNlbGYu
cGxhdGZvcm0gPSAiZ3RrIgogICAgICAgICBzZWxmLmJ1aWxkX3R5cGUgPSAiUmVsZWFzZSIKICAg
ICAgICAgc2VsZi5tYW5pZmVzdF9wYXRoID0gTm9uZQpAQCAtNjA3LDcgKzQ4Niw2IEBAIGNsYXNz
IFdlYmtpdEZsYXRwYWs6CiAgICAgICAgIHNlbGYuYXBwX21vZHVsZSA9IE5vbmUKICAgICAgICAg
c2VsZi5mbGF0cGFrX2RlZmF1bHRfYXJncyA9IFtdCiAgICAgICAgIHNlbGYuY2hlY2tfYXZhaWxh
YmxlID0gRmFsc2UKLSAgICAgICAgc2VsZi53cGVfZXh0ZW5zaW9uID0gTm9uZQogCiAgICAgICAg
ICMgRGVmYXVsdCBhcHBsaWNhdGlvbiB0byBydW4gaW4gdGhlIHNhbmRib3gKICAgICAgICAgc2Vs
Zi5jb21tYW5kID0gTm9uZQpAQCAtNjQ2LDMwICs1MjQsMjAgQEAgY2xhc3MgV2Via2l0RmxhdHBh
azoKICAgICAgICAgICAgIHNlbGYuZ2RiID0gIiIKIAogICAgICAgICBzZWxmLmNvbW1hbmQgPSAi
JXMgJXMgJXMiICUgKG9zLnBhdGguam9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsCi0gICAg
ICAgICAgICAiVG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXIiKSwKLSAgICAgICAgICAgICIt
LSIgKyBzZWxmLnBsYXRmb3JtLmxvd2VyKCksCi0gICAgICAgICAgICAiIC0tZGVidWciIGlmIHNl
bGYuZGVidWcgZWxzZSAiIC0tcmVsZWFzZSIpCi0KLSAgICAgICAgc2VsZi5uYW1lID0gIm9yZy53
ZWJraXQuJXMiICUgc2VsZi5wbGF0Zm9ybQotCi0gICAgICAgIGlmIHNlbGYud3BlX2V4dGVuc2lv
bjoKLSAgICAgICAgICAgIG1hbmlmZXN0X2ZpbGVuYW1lID0gV1BFX01BTklGRVNUX01BUFtzZWxm
LndwZV9leHRlbnNpb25dCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBtYW5pZmVzdF9maWxl
bmFtZSA9ICJvcmcud2Via2l0LldlYktpdC55YW1sIgotICAgICAgICBzZWxmLm1hbmlmZXN0X3Bh
dGggPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKHNjcmlwdGRpciwgJy4uL2ZsYXRwYWsv
JykgKyBtYW5pZmVzdF9maWxlbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIlRvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93c2VyIiksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tIiArIHNlbGYucGxhdGZvcm0ubG93
ZXIoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIC0tZGVidWciIGlm
IHNlbGYuZGVidWcgZWxzZSAiIC0tcmVsZWFzZSIpCiAKLSAgICAgICAgc2VsZi5idWlsZF9uYW1l
ID0gc2VsZi5uYW1lICsgIi1nZW5lcmF0ZWQiCisgICAgICAgIHNlbGYuZmxhdHBha19idWlsZF9w
YXRoID0gb3MuZW52aXJvblsiRkxBVFBBS19VU0VSX0RJUiJdCiAKICAgICAgICAgYnVpbGRfcm9v
dCA9IG9zLnBhdGguam9pbihzZWxmLnNvdXJjZV9yb290LCAnV2ViS2l0QnVpbGQnKQotICAgICAg
ICBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCA9IG9zLnBhdGguam9pbihidWlsZF9yb290LCBzZWxm
LnBsYXRmb3JtLCAiRmxhdHBha1RyZWUiICsgc2VsZi5idWlsZF90eXBlKQotICAgICAgICBzZWxm
LmNhY2hlX3BhdGggPSBvcy5wYXRoLmpvaW4oYnVpbGRfcm9vdCwgIkZsYXRwYWtDYWNoZSIpCiAg
ICAgICAgIHNlbGYuYnVpbGRfcGF0aCA9IG9zLnBhdGguam9pbihidWlsZF9yb290LCBzZWxmLnBs
YXRmb3JtLCBzZWxmLmJ1aWxkX3R5cGUpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG9zLm1h
a2VkaXJzKHNlbGYuYnVpbGRfcGF0aCkKICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAg
ICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUVYSVNUOgogICAgICAgICAgICAgICAgIHJh
aXNlIGUKLSAgICAgICAgc2VsZi5jb25maWdfZmlsZSA9IG9zLnBhdGguam9pbihzZWxmLmJ1aWxk
X3BhdGgsICd3ZWJraXRfZmxhdHBha19jb25maWcuanNvbicpCisgICAgICAgIHNlbGYuY29uZmln
X2ZpbGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsICd3ZWJraXRfZmxh
dHBha19jb25maWcuanNvbicpCiAKICAgICAgICAgQ29uc29sZS5xdWlldCA9IHNlbGYucXVpZXQK
ICAgICAgICAgaWYgbm90IGNoZWNrX2ZsYXRwYWsoKToKQEAgLTY3NywzNSArNTQ1LDM1IEBAIGNs
YXNzIFdlYmtpdEZsYXRwYWs6CiAKICAgICAgICAgcmVwb3MgPSBGbGF0cGFrUmVwb3MoKQogICAg
ICAgICBzZWxmLnNka19yZXBvID0gcmVwb3MuYWRkKAotICAgICAgICAgICAgRmxhdHBha1JlcG8o
ImZsYXRodWIiLAotICAgICAgICAgICAgICAgICAgICAgICAgdXJsPSJodHRwczovL2RsLmZsYXRo
dWIub3JnL3JlcG8vIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlcG9fZmlsZT0iaHR0cHM6
Ly9kbC5mbGF0aHViLm9yZy9yZXBvL2ZsYXRodWIuZmxhdHBha3JlcG8iKSkKKyAgICAgICAgICAg
IEZsYXRwYWtSZXBvKCJ3ZWJraXQtc2RrIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVybD0i
aHR0cHM6Ly9zb2Z0d2FyZS5pZ2FsaWEuY29tL3dlYmtpdC1zZGstcmVwby8iLAorICAgICAgICAg
ICAgICAgICAgICAgICAgcmVwb19maWxlPSJodHRwczovL3NvZnR3YXJlLmlnYWxpYS5jb20vZmxh
dHBhay1yZWZzL3dlYmtpdC1zZGsuZmxhdHBha3JlcG8iKQorICAgICAgICApCiAKLSAgICAgICAg
bWFuaWZlc3QgPSBsb2FkX21hbmlmZXN0KHNlbGYubWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lPXNl
bGYubmFtZSkKLSAgICAgICAgaWYgbm90IG1hbmlmZXN0OgotICAgICAgICAgICAgcmV0dXJuIEZh
bHNlCi0KLSAgICAgICAgc2VsZi5hcHAgPSBtYW5pZmVzdFsnYXBwLWlkJ10KLQotICAgICAgICBz
ZWxmLnNka19icmFuY2ggPSBtYW5pZmVzdFsicnVudGltZS12ZXJzaW9uIl0KLSAgICAgICAgc2Vs
Zi5maW5pc2hfYXJncyA9IG1hbmlmZXN0LmdldCgiZmluaXNoLWFyZ3MiLCBbXSkKLSAgICAgICAg
c2VsZi5maW5pc2hfYXJncyA9IHJlbW92ZV9leHRlbnNpb25fcG9pbnRzKHNlbGYuZmluaXNoX2Fy
Z3MpCi0gICAgICAgIHNlbGYucnVudGltZSA9IEZsYXRwYWtQYWNrYWdlKG1hbmlmZXN0WydydW50
aW1lJ10sIHNlbGYuc2RrX2JyYW5jaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGhhc2g9bWFuaWZlc3QuZ2V0KCJydW50aW1lLWhhc2giKSkKLSAgICAgICAg
c2VsZi5sb2NhbGUgPSBGbGF0cGFrUGFja2FnZShtYW5pZmVzdFsncnVudGltZSddICsgJy5Mb2Nh
bGUnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX2JyYW5j
aCwgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCi0gICAgICAgIHNlbGYuc2RrID0gRmxhdHBha1Bh
Y2thZ2UobWFuaWZlc3RbJ3NkayddLCBzZWxmLnNka19icmFuY2gsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaGFzaD1tYW5pZmVzdC5nZXQoInNkay1oYXNoIikpCisgICAg
ICAgIHNlbGYuZmluaXNoX2FyZ3MgPSBbXQorICAgICAgICBzZWxmLnJ1bnRpbWUgPSBGbGF0cGFr
UGFja2FnZSgib3JnLndlYmtpdC5QbGF0Zm9ybSIsIHNlbGYuc2RrX2JyYW5jaCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCisg
ICAgICAgIHNlbGYubG9jYWxlID0gRmxhdHBha1BhY2thZ2UoIm9yZy53ZWJraXQuUGxhdGZvcm0u
TG9jYWxlIiwgc2VsZi5zZGtfYnJhbmNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQiKQorICAgICAgICBzZWxmLnNkayA9IEZsYXRw
YWtQYWNrYWdlKCJvcmcud2Via2l0LlNkayIsICIwLjEiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQiKQogICAgICAgICBzZWxmLnBhY2tz
ID0gW3NlbGYucnVudGltZSwgc2VsZi5sb2NhbGUsIHNlbGYuc2RrXQogCisgICAgICAgICMgRklY
TUU6IEZvciB1bmtub3duIHJlYXNvbnMsIHRoZSBHTCBleHRlbnNpb24gbmVlZHMgdG8gYmUgZXhw
bGljaXRlbHkKKyAgICAgICAgIyBpbnN0YWxsZWQgZm9yIEZsYXRwYWsgMS4yLnggdG8gYmUgYWJs
ZSB0byBtYWtlIHVzZSBvZiBpdC4gU2VlbXMgbGlrZQorICAgICAgICAjIGl0J3Mgbm90IGNvcnJl
Y3RseSBpbmhlcml0aW5nIGl0IGZyb20gdGhlIFNESy4KKyAgICAgICAgc2VsZi5mbGF0aHViX3Jl
cG8gPSByZXBvcy5hZGQoCisgICAgICAgICAgICBGbGF0cGFrUmVwbygiZmxhdGh1YiIsIHJlcG9f
ZmlsZT0iaHR0cHM6Ly9kbC5mbGF0aHViLm9yZy9yZXBvL2ZsYXRodWIuZmxhdHBha3JlcG8iKQor
ICAgICAgICApCisgICAgICAgIHNlbGYuZ2xfZXh0ZW5zaW9uID0gRmxhdHBha1BhY2thZ2UoIm9y
Zy5mcmVlZGVza3RvcC5QbGF0Zm9ybS5HTC5kZWZhdWx0IiwgIjE5LjA4IiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmZsYXRodWJfcmVwbywgIng4Nl82
NCIpCisgICAgICAgIHNlbGYucGFja3MuYXBwZW5kKHNlbGYuZ2xfZXh0ZW5zaW9uKQorCiAgICAg
ICAgIGlmIHNlbGYuZGVidWc6Ci0gICAgICAgICAgICBzZWxmLnNka19kZWJ1ZyA9IEZsYXRwYWtQ
YWNrYWdlKG1hbmlmZXN0WydzZGsnXSArICcuRGVidWcnLCBzZWxmLnNka19icmFuY2gsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQi
KQorICAgICAgICAgICAgc2VsZi5zZGtfZGVidWcgPSBGbGF0cGFrUGFja2FnZSgnb3JnLndlYmtp
dC5TZGsuRGVidWcnLCBzZWxmLnNka19icmFuY2gsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQiKQogICAgICAgICAgICAg
c2VsZi5wYWNrcy5hcHBlbmQoc2VsZi5zZGtfZGVidWcpCi0gICAgICAgIHNlbGYubWFuaWZlc3Rf
Z2VuZXJhdGVkX3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5jYWNoZV9wYXRoLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYnVpbGRfbmFt
ZSArICIuanNvbiIpCisKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgd2l0aCBvcGVuKHNlbGYu
Y29uZmlnX2ZpbGUpIGFzIGNvbmZpZzoKICAgICAgICAgICAgICAgICBqc29uX2NvbmZpZyA9IGpz
b24ubG9hZChjb25maWcpCkBAIC03MTUsNyArNTgzLDQ1IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6
CiAKICAgICAgICAgcmV0dXJuIFRydWUKIAorICAgIGRlZiBzZXR1cF9idWlsZGRpcihzZWxmLCAq
Kmt3YXJncyk6CisgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihzZWxmLmZs
YXRwYWtfYnVpbGRfcGF0aCwgIm1ldGFkYXRhIikpOgorICAgICAgICAgICAgcmV0dXJuCisKKyAg
ICAgICAgc2VsZi5zZGtfcmVwby5mbGF0cGFrKCJidWlsZC1pbml0IiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbGYuZmxhdHBha19idWlsZF9wYXRoLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIm9yZy53ZWJraXQuV2Via2l0IiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0cihzZWxmLnNkayksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dHIoc2VsZi5ydW50aW1lKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2Rr
LmJyYW5jaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfb3V0cHV0PSJzdGRv
dXQiIGluIGt3YXJncy5rZXlzKCkpCisKKyAgICBkZWYgc2V0dXBfZ3N0YnVpbGQoc2VsZiwgYnVp
bGRpbmcpOgorICAgICAgICBnc3RfZGlyID0gb3MuZW52aXJvbi5nZXQoJ0dTVF9CVUlMRF9QQVRI
JykKKyAgICAgICAgaWYgbm90IGdzdF9kaXI6CisgICAgICAgICAgICByZXR1cm4gW10KKworICAg
ICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKGdzdF9kaXIsICdnc3QtZW52
LnB5JykpOgorICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdHU1RfQlVJTERfUEFUSCBz
ZXQgdG8gJXMgYnV0IGl0IGRvZXNuXCd0IHNlZW0gdG8gYmUgYSB2YWxpZCBgZ3N0LWJ1aWxkYCBj
aGVja291dC4nICUgZ3N0X2RpcikKKworICAgICAgICBnc3RfYnVpbGRkaXIgPSBvcy5wYXRoLmpv
aW4oc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCAiV2ViS2l0QnVpbGQiLCAnZ3N0LWJ1aWxkJykK
KyAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihzZWxmLnNvdXJjZV9y
b290LCAnV2ViS2l0QnVpbGQnLCAnZ3N0LWJ1aWxkJywgJ2J1aWxkLm5pbmphJykpOgorICAgICAg
ICAgICAgaWYgbm90IGJ1aWxkaW5nOgorICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJv
cignVHJ5aW5nIHRvIGVudGVyIGdzdC1idWlsZCBlbnYgZnJvbSAlcyBidXQgaXQgaXMgbm90IGJ1
aWx0LCBtYWtlIHN1cmUgdG8gcmVidWlsZCB3ZWJraXQuJyAlIGdzdF9kaXIpCisKKyAgICAgICAg
ICAgIENvbnNvbGUubWVzc2FnZSgiUnVubmluZyBtZXNvbiBmb3IgYGdzdC1idWlsZGAgJXMgIiwg
Z3N0X2RpcikKKyAgICAgICAgICAgIHNlbGYucnVuX2luX3NhbmRib3goJ21lc29uJywgZ3N0X2Rp
ciwgZ3N0X2J1aWxkZGlyLCBidWlsZGluZ19nc3Q9VHJ1ZSkKKworICAgICAgICBpZiBub3QgYnVp
bGRpbmc6CisgICAgICAgICAgICByZXR1cm4gW29zLnBhdGguam9pbihnc3RfZGlyLCAnZ3N0LWVu
di5weScpLCAnLS1idWlsZGRpcicsIGdzdF9idWlsZGRpciwgJy0tc3JjZGlyJywgZ3N0X2Rpcl0K
KworICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIkJ1aWxkaW5nIGBnc3QtYnVpbGRgICVzICIsIGdz
dF9kaXIpCisgICAgICAgIGlmIHNlbGYucnVuX2luX3NhbmRib3goJ25pbmphJywgJy1DJywgZ3N0
X2J1aWxkZGlyLCBidWlsZGluZ19nc3Q9VHJ1ZSkgIT0gMDoKKyAgICAgICAgICAgIHJhaXNlIFJ1
bnRpbWVFcnJvcignRXJyb3Igd2hpbGUgYnVpbGRpbmcgZ3N0LWJ1aWxkLicpCisKKyAgICAgICAg
cmV0dXJuIFtvcy5wYXRoLmpvaW4oZ3N0X2RpciwgJ2dzdC1lbnYucHknKSwgJy0tYnVpbGRkaXIn
LCBnc3RfYnVpbGRkaXIsICctLXNyY2RpcicsIGdzdF9kaXJdCisKICAgICBkZWYgcnVuX2luX3Nh
bmRib3goc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgc2VsZi5zZXR1cF9idWlsZGRp
cihzdGRvdXQ9a3dhcmdzLmdldCgic3Rkb3V0Iiwgc3lzLnN0ZG91dCkpCiAgICAgICAgIGN3ZCA9
IGt3YXJncy5wb3AoImN3ZCIsIE5vbmUpCiAgICAgICAgIGV4dHJhX2Vudl92YXJzID0ga3dhcmdz
LnBvcCgiZW52Iiwge30pCiAgICAgICAgIHN0ZG91dCA9IGt3YXJncy5wb3AoInN0ZG91dCIsIHN5
cy5zdGRvdXQpCkBAIC03MjMsNiArNjI5LDcgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKIAogICAg
ICAgICBpZiBub3QgaXNpbnN0YW5jZShhcmdzLCBsaXN0KToKICAgICAgICAgICAgIGFyZ3MgPSBs
aXN0KGFyZ3MpCisKICAgICAgICAgaWYgYXJnczoKICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhp
c3RzKGFyZ3NbMF0pOgogICAgICAgICAgICAgICAgIGNvbW1hbmQgPSBvcy5wYXRoLm5vcm1wYXRo
KG9zLnBhdGguYWJzcGF0aChhcmdzWzBdKSkKQEAgLTczMCw5NCArNjM3LDEyMiBAQCBjbGFzcyBX
ZWJraXRGbGF0cGFrOgogICAgICAgICAgICAgICAgIGFyZ3NbMF0gPSBjb21tYW5kLnJlcGxhY2Uo
c2VsZi5zb3VyY2Vfcm9vdCwgc2VsZi5zYW5kYm94X3NvdXJjZV9yb290KQogICAgICAgICAgICAg
aWYgYXJnc1swXS5lbmRzd2l0aCgiYnVpbGQtd2Via2l0Iik6CiAgICAgICAgICAgICAgICAgYXJn
cy5hcHBlbmQoIi0tcHJlZml4PS9hcHAiKQorICAgICAgICBidWlsZGluZyA9IG9zLnBhdGguYmFz
ZW5hbWUoYXJnc1swXSkuc3RhcnRzd2l0aCgiYnVpbGQiKQogCiAgICAgICAgIHNhbmRib3hfYnVp
bGRfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsICJXZWJLaXRC
dWlsZCIsIHNlbGYuYnVpbGRfdHlwZSkKLSAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBv
cmFyeUZpbGUobW9kZT0idyIpIGFzIHRtcHNjcmlwdDoKLSAgICAgICAgICAgIGZsYXRwYWtfY29t
bWFuZCA9IFsiZmxhdHBhayIsICJidWlsZCIsICItLWRpZS13aXRoLXBhcmVudCIsCi0gICAgICAg
ICAgICAgICAgIi0tYmluZC1tb3VudD0vcnVuL3NobT0vZGV2L3NobSIsCi0gICAgICAgICAgICAg
ICAgIyBXb3JrYXJvdW5kIGZvciBodHRwczovL3dlYmtpdC5vcmcvYi8xODczODQgdG8gaGF2ZSBv
dXIgb3duIHBlcmwgbW9kdWxlcyB1c2FibGUgaW5zaWRlIHRoZSBzYW5kYm94Ci0gICAgICAgICAg
ICAgICAgIyBhcyBzZXR0aW5nIHRoZSBQRVJMNUxJQiBlbnZ2YXIgd29uJ3Qgd29yayBpbnNpZGUg
YXBhY2hlIChhbmQgZm9yIHNjcmlwdHMgdXNpbmcgYHBlcmwgLVRgYCkuCi0gICAgICAgICAgICAg
ICAgIi0tYmluZC1tb3VudD0vcnVuL2hvc3QvJXM9JXMiICUgKHRlbXBmaWxlLmdldHRlbXBkaXIo
KSwgdGVtcGZpbGUuZ2V0dGVtcGRpcigpKSwKLSAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50
PSVzPSVzIiAlIChzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsIHNlbGYuc291cmNlX3Jvb3QpLAor
ICAgICAgICBmbGF0cGFrX2NvbW1hbmQgPSBbImZsYXRwYWsiLCAiYnVpbGQiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIi0tZGllLXdpdGgtcGFyZW50IiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuYTExeS5CdXMiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIi0tdGFsay1uYW1lPW9yZy5ndGsudmZzIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICItLXRhbGstbmFtZT1vcmcuZ3RrLnZmcy4qIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICItLWJpbmQtbW91bnQ9L3J1bi9zaG09L2Rldi9zaG0iLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIyBXb3JrYXJvdW5kIGZvciBodHRwczovL3dlYmtpdC5vcmcvYi8xODczODQg
dG8gaGF2ZSBvdXIgb3duIHBlcmwgbW9kdWxlcyB1c2FibGUgaW5zaWRlIHRoZSBzYW5kYm94Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAjIGFzIHNldHRpbmcgdGhlIFBFUkw1TElCIGVudnZh
ciB3b24ndCB3b3JrIGluc2lkZSBhcGFjaGUgKGFuZCBmb3Igc2NyaXB0cyB1c2luZyBgcGVybCAt
VGBgKS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9L3J1bi9ob3N0
LyVzPSVzIiAlICh0ZW1wZmlsZS5nZXR0ZW1wZGlyKCksIHRlbXBmaWxlLmdldHRlbXBkaXIoKSks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PSVzPSVzIiAlIChzZWxm
LnNhbmRib3hfc291cmNlX3Jvb3QsIHNlbGYuc291cmNlX3Jvb3QpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIyBXZSBtb3VudCBXZWJLaXRCdWlsZC9QT1JUTkFNRS9CdWlsZFR5cGUgdG8g
L2FwcC93ZWJraXQvV2ViS2l0QnVpbGQvQnVpbGRUeXBlCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAjIHNvIHdlIGNhbiBidWlsZCBXUEUgYW5kIEdUSyBpbiBhIHNhbWUgc291cmNlIHRyZWUu
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PSVzPSVzIiAlIChzYW5k
Ym94X2J1aWxkX3BhdGgsIHNlbGYuYnVpbGRfcGF0aCldCisKKyAgICAgICAgZm9yd2FyZGVkID0g
eworICAgICAgICAgICAgIldFQktJVF9UT1BfTEVWRUwiOiAiL2FwcC8iLAorICAgICAgICAgICAg
IlRFU1RfUlVOTkVSX0lOSkVDVEVEX0JVTkRMRV9GSUxFTkFNRSI6IG9zLnBhdGguam9pbihzYW5k
Ym94X2J1aWxkX3BhdGgsICJsaWIvbGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLnNvIiksCisg
ICAgICAgIH0KKworICAgICAgICBpZiBub3QgYnVpbGRpbmc6CisgICAgICAgICAgICBmbGF0cGFr
X2NvbW1hbmQuZXh0ZW5kKFsKKyAgICAgICAgICAgICAgICAiLS1kZXZpY2U9YWxsIiwKKyAgICAg
ICAgICAgICAgICAiLS1kZXZpY2U9ZHJpIiwKKyAgICAgICAgICAgICAgICAiLS1maWxlc3lzdGVt
PWhvc3QiLAorICAgICAgICAgICAgICAgICItLXNoYXJlPWlwYyIsCisgICAgICAgICAgICAgICAg
Ii0tc2hhcmU9bmV0d29yayIsCisgICAgICAgICAgICAgICAgIi0tc29ja2V0PXB1bHNlYXVkaW8i
LAorICAgICAgICAgICAgICAgICItLXNvY2tldD1zeXN0ZW0tYnVzIiwKKyAgICAgICAgICAgICAg
ICAiLS1zb2NrZXQ9d2F5bGFuZCIsCisgICAgICAgICAgICAgICAgIi0tc29ja2V0PXgxMSIsCisg
ICAgICAgICAgICAgICAgIi0tc3lzdGVtLXRhbGstbmFtZT1vcmcuYTExeS5CdXMiLAorICAgICAg
ICAgICAgICAgICItLXN5c3RlbS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkdlb0NsdWUyIiwK
ICAgICAgICAgICAgICAgICAiLS10YWxrLW5hbWU9b3JnLmExMXkuQnVzIiwKLSAgICAgICAgICAg
ICAgICAiLS10YWxrLW5hbWU9b3JnLmd0ay52ZnMiLAotICAgICAgICAgICAgICAgICItLXRhbGst
bmFtZT1vcmcuZ3RrLnZmcy4qIiwKLSAgICAgICAgICAgICAgICAjIFdlIG1vdW50IFdlYktpdEJ1
aWxkL1BPUlROQU1FL0J1aWxkVHlwZSB0byAvYXBwL3dlYmtpdC9XZWJLaXRCdWlsZC9CdWlsZFR5
cGUKLSAgICAgICAgICAgICAgICAjIHNvIHdlIGNhbiBidWlsZCBXUEUgYW5kIEdUSyBpbiBhIHNh
bWUgc291cmNlIHRyZWUuCi0gICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0lcz0lcyIgJSAo
c2FuZGJveF9idWlsZF9wYXRoLCBzZWxmLmJ1aWxkX3BhdGgpXQotCi0gICAgICAgICAgICBmb3J3
YXJkZWQgPSB7Ci0gICAgICAgICAgICAgICAgIldFQktJVF9UT1BfTEVWRUwiOiAiL2FwcC8iLAot
ICAgICAgICAgICAgICAgICJURVNUX1JVTk5FUl9JTkpFQ1RFRF9CVU5ETEVfRklMRU5BTUUiOiAi
L2FwcC93ZWJraXQvbGliL2xpYlRlc3RSdW5uZXJJbmplY3RlZEJ1bmRsZS5zbyIsCisgICAgICAg
ICAgICAgICAgIi0tdGFsay1uYW1lPW9yZy5mcmVlZGVza3RvcC5GbGF0cGFrIgorICAgICAgICAg
ICAgXSkKKworICAgICAgICAgICAgZm9yd2FyZGVkLnVwZGF0ZSh7CisgICAgICAgICAgICAgICAg
IlRaIjogIlBTVDhQRFQiLAorICAgICAgICAgICAgICAgICJMQU5HIjogImVuX1VTLlVURi04Igor
ICAgICAgICAgICAgfSkKKworICAgICAgICBlbnZfdmFyX3ByZWZpeGVzX3RvX2tlZXAgPSBbCisg
ICAgICAgICAgICAiRyIsCisgICAgICAgICAgICAiR0lHQUNBR0UiLAorICAgICAgICAgICAgIkdT
VCIsCisgICAgICAgICAgICAiR1RLIiwKKyAgICAgICAgICAgICJJQ0VDQyIsCisgICAgICAgICAg
ICAiSlNDIiwKKyAgICAgICAgICAgICJXRUJLSVQiLAorICAgICAgICAgICAgIldFQktJVDIiLAor
ICAgICAgICAgICAgIldQRSIsCisgICAgICAgIF0KKworICAgICAgICBlbnZfdmFyX3N1ZmZpeGVz
X3RvX2tlZXAgPSBbCisgICAgICAgICAgICAiSlNDX0FSR1MiLAorICAgICAgICAgICAgIldFQktJ
VF9BUkdTIiwKKyAgICAgICAgXQorCisgICAgICAgIGVudl92YXJzX3RvX2tlZXAgPSBbCisgICAg
ICAgICAgICAiQ0MiLAorICAgICAgICAgICAgIkNDQUNIRV9QUkVGSVgiLAorICAgICAgICAgICAg
IkNGTEFHUyIsCisgICAgICAgICAgICAiQ1hYIiwKKyAgICAgICAgICAgICJDWFhGTEFHUyIsCisg
ICAgICAgICAgICAiRElTUExBWSIsCisgICAgICAgICAgICAiSmF2YVNjcmlwdENvcmVVc2VKSVQi
LAorICAgICAgICAgICAgIkxBTkciLAorICAgICAgICAgICAgIkxERkxBR1MiLAorICAgICAgICAg
ICAgIk1hbGxvYyIsCisgICAgICAgICAgICAiTlVNQkVSX09GX1BST0NFU1NPUlMiLAorICAgICAg
ICAgICAgIlFNTDJfSU1QT1JUX1BBVEgiLAorICAgICAgICAgICAgIldBWUxBTkRfRElTUExBWSIs
CisgICAgICAgICAgICAiV0FZTEFORF9TT0NLRVQiLAorICAgICAgICBdCisKKyAgICAgICAgZW52
X3ZhcnMgPSBvcy5lbnZpcm9uCisgICAgICAgIGVudl92YXJzLnVwZGF0ZShleHRyYV9lbnZfdmFy
cykKKyAgICAgICAgZm9yIGVudnZhciwgdmFsdWUgaW4gZW52X3ZhcnMuaXRlbXMoKToKKyAgICAg
ICAgICAgIHZhcl90b2tlbnMgPSBlbnZ2YXIuc3BsaXQoIl8iKQorICAgICAgICAgICAgaWYgdmFy
X3Rva2Vuc1swXSBpbiBlbnZfdmFyX3ByZWZpeGVzX3RvX2tlZXAgb3IgZW52dmFyIGluIGVudl92
YXJzX3RvX2tlZXAgb3IgdmFyX3Rva2Vuc1stMV0gaW4gZW52X3Zhcl9zdWZmaXhlc190b19rZWVw
OgorICAgICAgICAgICAgICAgIGZvcndhcmRlZFtlbnZ2YXJdID0gdmFsdWUKKworICAgICAgICBp
ZiBzZWxmLnVzZV9pY2VjcmVhbToKKyAgICAgICAgICAgIF9sb2cuZGVidWcoJ0VuYWJsaW5nIHRo
ZSBpY2VjcmVhbSBjb21waWxlcicpCisgICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQuZXh0ZW5k
KFsiLS1zaGFyZT1uZXR3b3JrIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICItLWJpbmQtbW91bnQ9L3Zhci9ydW4vaWNlY2M9L3Zhci9ydW4vaWNlY2MiXSkKKworICAgICAg
ICAgICAgbl9jb3JlcyA9IG11bHRpcHJvY2Vzc2luZy5jcHVfY291bnQoKSAqIDMKKyAgICAgICAg
ICAgIF9sb2cuZGVidWcoJ0ZvbGxvd2luZyBpY2VjcmVhbSByZWNvbW1lbmRhdGlvbiBmb3IgdGhl
IG51bWJlciBvZiBjb3JlcyB0byB1c2U6ICVkJyAlIG5fY29yZXMpCisgICAgICAgICAgICBmb3J3
YXJkZWQudXBkYXRlKHsKKyAgICAgICAgICAgICAgICAiQ0NBQ0hFX1BSRUZJWCI6ICJpY2VjYyIs
CiAgICAgICAgICAgICAgICAgIklDRUNDX1ZFUlNJT04iOiBzZWxmLmljY192ZXJzaW9uLAotICAg
ICAgICAgICAgfQotCi0gICAgICAgICAgICBlbnZfdmFyX3ByZWZpeGVzX3RvX2tlZXAgPSBbCi0g
ICAgICAgICAgICAgICAgIkdTVCIsCi0gICAgICAgICAgICAgICAgIkdUSyIsCi0gICAgICAgICAg
ICAgICAgIkciLAotICAgICAgICAgICAgICAgICJKU0MiLAotICAgICAgICAgICAgICAgICJXRUJL
SVQiLAotICAgICAgICAgICAgICAgICJXRUJLSVQyIiwKLSAgICAgICAgICAgICAgICAiV1BFIiwK
LSAgICAgICAgICAgICAgICAiR0lHQUNBR0UiLAotICAgICAgICAgICAgXQotCi0gICAgICAgICAg
ICBlbnZfdmFyc190b19rZWVwID0gWwotICAgICAgICAgICAgICAgICJKYXZhU2NyaXB0Q29yZVVz
ZUpJVCIsCi0gICAgICAgICAgICAgICAgIk1hbGxvYyIsCi0gICAgICAgICAgICAgICAgIldBWUxB
TkRfRElTUExBWSIsCi0gICAgICAgICAgICAgICAgIldBWUxBTkRfU09DS0VUIiwKLSAgICAgICAg
ICAgICAgICAiRElTUExBWSIsCi0gICAgICAgICAgICAgICAgIkxBTkciLAotICAgICAgICAgICAg
ICAgICJOVU1CRVJfT0ZfUFJPQ0VTU09SUyIsCi0gICAgICAgICAgICAgICAgIkNDQUNIRV9QUkVG
SVgiLAotICAgICAgICAgICAgICAgICJRTUwyX0lNUE9SVF9QQVRIIiwKLSAgICAgICAgICAgIF0K
LQotICAgICAgICAgICAgaWYgc2VsZi51c2VfaWNlY3JlYW06Ci0gICAgICAgICAgICAgICAgX2xv
Zy5kZWJ1ZygnRW5hYmxpbmcgdGhlIGljZWNyZWFtIGNvbXBpbGVyJykKLSAgICAgICAgICAgICAg
ICBmb3J3YXJkZWRbIkNDQUNIRV9QUkVGSVgiXSA9ICJpY2VjYyIKLSAgICAgICAgICAgICAgICBp
ZiBub3Qgb3MuZW52aXJvbi5nZXQoJ05VTUJFUl9PRl9QUk9DRVNTT1JTJyk6Ci0gICAgICAgICAg
ICAgICAgICAgIG5fY29yZXMgPSBtdWx0aXByb2Nlc3NpbmcuY3B1X2NvdW50KCkgKiAzCi0gICAg
ICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoJ0ZvbGxvdyBpY2VjcmVhbSByZWNvbW1lbmRhdGlv
biBmb3IgdGhlIG51bWJlciBvZiBjb3JlcyB0byB1c2U6ICVkJyAlIG5fY29yZXMpCi0gICAgICAg
ICAgICAgICAgICAgIGZvcndhcmRlZFsiTlVNQkVSX09GX1BST0NFU1NPUlMiXSA9IG5fY29yZXMK
LQotICAgICAgICAgICAgZW52X3ZhcnMgPSBvcy5lbnZpcm9uCi0gICAgICAgICAgICBlbnZfdmFy
cy51cGRhdGUoZXh0cmFfZW52X3ZhcnMpCi0gICAgICAgICAgICBmb3IgZW52dmFyLCB2YWx1ZSBp
biBlbnZfdmFycy5pdGVtcygpOgotICAgICAgICAgICAgICAgIGlmIGVudnZhci5zcGxpdCgiXyIp
WzBdIGluIGVudl92YXJfcHJlZml4ZXNfdG9fa2VlcCBvciBlbnZ2YXIgaW4gZW52X3ZhcnNfdG9f
a2VlcDoKLSAgICAgICAgICAgICAgICAgICAgZm9yd2FyZGVkW2VudnZhcl0gPSB2YWx1ZQotCi0g
ICAgICAgICAgICBmb3IgZW52dmFyLCB2YWx1ZSBpbiBmb3J3YXJkZWQuaXRlbXMoKToKLSAgICAg
ICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQuYXBwZW5kKCItLWVudj0lcz0lcyIgJSAoZW52dmFy
LCB2YWx1ZSkpCi0KLSAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZCArPSBzZWxmLmZpbmlzaF9h
cmdzICsgZXh0cmFfZmxhdHBha19hcmdzICsgW3NlbGYuZmxhdHBha19idWlsZF9wYXRoXQotCi0g
ICAgICAgICAgICBzaGVsbF9zdHJpbmcgPSAiIgotICAgICAgICAgICAgaWYgYXJnczoKLSAgICAg
ICAgICAgICAgICBpZiBjd2Q6Ci0gICAgICAgICAgICAgICAgICAgIHNoZWxsX3N0cmluZyA9ICdj
ZCAiJXMiICYmICIlcyInICUgKGN3ZCwgJyIgIicuam9pbihhcmdzKSkKLSAgICAgICAgICAgICAg
ICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBzaGVsbF9zdHJpbmcgPSAnIiVzIicgJSAoJyIg
Iicuam9pbihhcmdzKSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2hlbGxf
c3RyaW5nID0gc2VsZi5jb21tYW5kCi0gICAgICAgICAgICAgICAgaWYgc2VsZi5hcmdzOgotICAg
ICAgICAgICAgICAgICAgICBzaGVsbF9zdHJpbmcgKz0gJyAiJXMiJyAlICciICInLmpvaW4oc2Vs
Zi5hcmdzKQorICAgICAgICAgICAgICAgICJOVU1CRVJfT0ZfUFJPQ0VTU09SUyI6IG5fY29yZXMs
CisgICAgICAgICAgICB9KQogCi0gICAgICAgICAgICB0bXBzY3JpcHQud3JpdGUoc2hlbGxfc3Ry
aW5nKQotICAgICAgICAgICAgdG1wc2NyaXB0LmZsdXNoKCkKKyAgICAgICAgZm9yIGVudnZhciwg
dmFsdWUgaW4gZm9yd2FyZGVkLml0ZW1zKCk6CisgICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQu
YXBwZW5kKCItLWVudj0lcz0lcyIgJSAoZW52dmFyLCB2YWx1ZSkpCiAKLSAgICAgICAgICAgIF9s
b2cuZGVidWcoJ1J1bm5pbmcgaW4gc2FuZGJveDogIiVzIiAlc1xuJyAlICgnIiAiJy5qb2luKGZs
YXRwYWtfY29tbWFuZCksIHNoZWxsX3N0cmluZykpCi0gICAgICAgICAgICBmbGF0cGFrX2NvbW1h
bmQuZXh0ZW5kKFsnc2gnLCAiL3J1bi9ob3N0LyIgKyB0bXBzY3JpcHQubmFtZV0pCisgICAgICAg
IGdzdF9lbnYgPSBbXQorICAgICAgICBpZiBub3Qga3dhcmdzLmdldCgnYnVpbGRpbmdfZ3N0Jyk6
CisgICAgICAgICAgICBnc3RfZW52ID0gc2VsZi5zZXR1cF9nc3RidWlsZChidWlsZGluZykKKyAg
ICAgICAgZmxhdHBha19jb21tYW5kICs9IHNlbGYuZmluaXNoX2FyZ3MgKyBleHRyYV9mbGF0cGFr
X2FyZ3MgKyBcCisgICAgICAgICAgICBbc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGhdICsgZ3N0X2Vu
diArIGFyZ3MKIAotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHN1YnByb2Nlc3Mu
Y2hlY2tfY2FsbChmbGF0cGFrX2NvbW1hbmQsIHN0ZG91dD1zdGRvdXQpCi0gICAgICAgICAgICBl
eGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAg
ICBzeXMuc3RkZXJyLndyaXRlKHN0cihlKSArICJcbiIpCi0gICAgICAgICAgICAgICAgcmV0dXJu
IGUucmV0dXJuY29kZQotICAgICAgICAgICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgotICAg
ICAgICAgICAgICAgIHJldHVybiAwCisgICAgICAgIF9sb2cuZGVidWcoJ1J1bm5pbmcgaW4gc2Fu
ZGJveDogJXNcbicgJSAnICcuam9pbihmbGF0cGFrX2NvbW1hbmQpKQorCisgICAgICAgIHRyeToK
KyAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChmbGF0cGFrX2NvbW1hbmQsIHN0ZG91
dD1zdGRvdXQpCisgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBh
cyBlOgorICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZShzdHIoZSkgKyAiXG4iKQorICAgICAg
ICAgICAgcmV0dXJuIGUucmV0dXJuY29kZQorICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1
cHQ6CisgICAgICAgICAgICByZXR1cm4gMAogCiAgICAgICAgIHJldHVybiAwCiAKQEAgLTgzNSw2
NCArNzcwLDQxIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgICAgICAgICAgc2h1dGls
LnJtdHJlZShzZWxmLmJ1aWxkX3BhdGgpCiAKICAgICAgICAgaWYgc2VsZi51cGRhdGU6Ci0gICAg
ICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIlVwZGF0aW5nIEZsYXRwYWsgZW52aXJvbm1lbnQgZm9y
ICVzICglcykiICUgKAotICAgICAgICAgICAgICAgIHNlbGYucGxhdGZvcm0sIHNlbGYuYnVpbGRf
dHlwZSkpCisgICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIlVwZGF0aW5nIEZsYXRwYWsgJXMg
ZW52aXJvbm1lbnQiICUgc2VsZi5idWlsZF90eXBlKQogICAgICAgICAgICAgaWYgbm90IHNlbGYu
bm9fZmxhdHBha191cGRhdGU6CiAgICAgICAgICAgICAgICAgc2VsZi51cGRhdGVfYWxsKCkKIAog
ICAgICAgICByZXR1cm4gc2VsZi5zZXR1cF9kZXZfZW52KCkKIAogICAgIGRlZiBoYXNfZW52aXJv
bm1lbnQoc2VsZik6Ci0gICAgICAgIHJldHVybiBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4o
c2VsZi5idWlsZF9wYXRoLCBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkpCisgICAgICAgIHJldHVy
biBvcy5wYXRoLmV4aXN0cyhzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkKIAogICAgIGRlZiBzYXZl
X2NvbmZpZyhzZWxmKToKICAgICAgICAgd2l0aCBvcGVuKHNlbGYuY29uZmlnX2ZpbGUsICd3Jykg
YXMgY29uZmlnOgogICAgICAgICAgICAganNvbl9jb25maWcgPSB7J2ljZWNjX3ZlcnNpb24nOiBz
ZWxmLmljY192ZXJzaW9ufQogICAgICAgICAgICAganNvbi5kdW1wKGpzb25fY29uZmlnLCBjb25m
aWcpCiAKLSAgICBkZWYgc2V0dXBfY2NhY2hlKHNlbGYpOgotICAgICAgICBmb3IgY29tcGlsZXIg
aW4gWyJjKysiLCAiY2MiLCAiY2xhbmciLCAiY2xhbmcrKyIsICJnKysiLCAiZ2NjIl06Ci0gICAg
ICAgICAgICBzZWxmLnJ1bl9pbl9zYW5kYm94KCJsbiIsICItcyIsICIuLi8uLi91c3IvYmluL2Nj
YWNoZSIsIGNvbXBpbGVyLCBjd2Q9Ii9hcHAvYmluIikKLQogICAgIGRlZiBzZXR1cF9pY2VjYyhz
ZWxmKToKICAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBhcyB0bXBm
aWxlOgotICAgICAgICAgICAgc2VsZi5ydW5faW5fc2FuZGJveCgnaWNlY2MnLCAnLS1idWlsZC1u
YXRpdmUnLCBzdGRvdXQ9dG1wZmlsZSwgY3dkPXNlbGYuYnVpbGRfcGF0aCkKKyAgICAgICAgICAg
IHNlbGYucnVuX2luX3NhbmRib3goJ2ljZWNjJywgJy0tYnVpbGQtbmF0aXZlJywgc3Rkb3V0PXRt
cGZpbGUsIGN3ZD1zZWxmLnNvdXJjZV9yb290KQogICAgICAgICAgICAgdG1wZmlsZS5mbHVzaCgp
CiAgICAgICAgICAgICB0bXBmaWxlLnNlZWsoMCkKICAgICAgICAgICAgIGljY192ZXJzaW9uX2Zp
bGVuYW1lLCA9IHJlLmZpbmRhbGwocicuKmNyZWF0aW5nICguKiknLCB0bXBmaWxlLnJlYWQoKSkK
LSAgICAgICAgICAgIHNlbGYuaWNjX3ZlcnNpb24gPSBvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF9w
YXRoLCBpY2NfdmVyc2lvbl9maWxlbmFtZSkKKyAgICAgICAgICAgIHNlbGYuaWNjX3ZlcnNpb24g
PSBvcy5wYXRoLmpvaW4oc2VsZi5zb3VyY2Vfcm9vdCwgaWNjX3ZlcnNpb25fZmlsZW5hbWUpCiAK
ICAgICBkZWYgc2V0dXBfZGV2X2VudihzZWxmKToKLSAgICAgICAgaWYgbm90IG9zLnBhdGguZXhp
c3RzKG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3BhdGgsIHNlbGYuZmxhdHBha19idWlsZF9wYXRo
KSkgXAotICAgICAgICAgICAgICAgIG9yIHNlbGYudXBkYXRlIG9yIHNlbGYuYnVpbGRfYWxsOgor
ICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYuZmxhdHBha19i
dWlsZF9wYXRoLCAicnVudGltZSIsICJvcmcud2Via2l0LlNkayIpKSBvciBzZWxmLnVwZGF0ZSBv
ciBzZWxmLmJ1aWxkX2FsbDoKICAgICAgICAgICAgIHNlbGYuaW5zdGFsbF9hbGwoKQotICAgICAg
ICAgICAgQ29uc29sZS5tZXNzYWdlKCJCdWlsZGluZyAlcyBhbmQgZGVwZW5kZW5jaWVzIGluICVz
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm5hbWUsIHNlbGYuZmxhdHBha19i
dWlsZF9wYXRoKQotCi0gICAgICAgICAgICAjIENyZWF0ZSBlbnZpcm9ubWVudCBkaXJzIGlmIG5l
Y2Vzc2FyeQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIG9zLm1ha2VkaXJzKG9z
LnBhdGguZGlybmFtZShzZWxmLm1hbmlmZXN0X2dlbmVyYXRlZF9wYXRoKSkKLSAgICAgICAgICAg
IGV4Y2VwdCBPU0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJu
by5FRVhJU1Q6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIGUKLSAgICAgICAgICAgIGlmIG5v
dCBleHBhbmRfbWFuaWZlc3Qoc2VsZi5tYW5pZmVzdF9wYXRoLCBzZWxmLm1hbmlmZXN0X2dlbmVy
YXRlZF9wYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm5hbWUs
IHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgc2VsZi5jb21tYW5kKToKLSAgICAgICAgICAgICAg
ICByZXR1cm4gMQotCi0gICAgICAgICAgICBidWlsZGVyX2FyZ3MgPSBbImZsYXRwYWstYnVpbGRl
ciIsICItLWRpc2FibGUtcm9maWxlcy1mdXNlIiwgIi0tc3RhdGUtZGlyIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzZWxmLmNhY2hlX3BhdGgsICItLWNjYWNoZSIsIHNlbGYuZmxhdHBh
a19idWlsZF9wYXRoLCAiLS1mb3JjZS1jbGVhbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2VsZi5tYW5pZmVzdF9nZW5lcmF0ZWRfcGF0aF0KLSAgICAgICAgICAgIGJ1aWxkZXJfYXJn
cy5hcHBlbmQoIi0tYnVpbGQtb25seSIpCi0gICAgICAgICAgICBidWlsZGVyX2FyZ3MuYXBwZW5k
KCItLXN0b3AtYXQ9JXMiICUgc2VsZi5hcHApCi0KLSAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hl
Y2tfY2FsbChidWlsZGVyX2FyZ3MpCi0gICAgICAgICAgICBzZWxmLnNldHVwX2NjYWNoZSgpCiAg
ICAgICAgICAgICBzZWxmLnNldHVwX2ljZWNjKCkKICAgICAgICAgICAgIHNlbGYuc2F2ZV9jb25m
aWcoKQogCiAgICAgICAgIGJ1aWxkX3R5cGUgPSAiLS1kZWJ1ZyIgaWYgc2VsZi5kZWJ1ZyBlbHNl
ICItLXJlbGVhc2UiCisgICAgICAgIGlmIHNlbGYuYnVpbGRfZ3N0OgorICAgICAgICAgICAgc2Vs
Zi5zZXR1cF9nc3RidWlsZChUcnVlKQorCiAgICAgICAgIGlmIHNlbGYuYnVpbGRfd2Via2l0Ogot
ICAgICAgICAgICAgYnVpbGRlciA9IFtvcy5wYXRoLmpvaW4oc2VsZi5zYW5kYm94X3NvdXJjZV9y
b290LCAnVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQnKSwKKyAgICAgICAgICAgIGJ1aWxkZXIg
PSBbCisgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9v
dCwgJ1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0JyksCiAgICAgICAgICAgICAgICAgYnVpbGRf
dHlwZSwgJy0tJyArIHNlbGYucGxhdGZvcm0ubG93ZXIoKV0KICAgICAgICAgICAgIGlmIHNlbGYu
bWFrZWFyZ3M6CiAgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoIi0tbWFrZWFyZ3M9JXMi
ICUgc2VsZi5tYWtlYXJncykKQEAgLTkwMywyMyArODE1LDIyIEBAIGNsYXNzIFdlYmtpdEZsYXRw
YWs6CiAKICAgICAgICAgICAgIGlmIHJlczoKICAgICAgICAgICAgICAgICByZXR1cm4gcmVzCi0g
ICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIlVzaW5nICVzIHByZWZp
eCBpbiAlcyIsIHNlbGYubmFtZSwgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgpCiAKICAgICAgICAg
aWYgc2VsZi5ydW5fdGVzdHMgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICB0ZXN0X2xhdW5jaGVy
ID0gW29zLnBhdGguam9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsICdUb29scy9TY3JpcHRz
L3J1bi13ZWJraXQtdGVzdHMnKSwKLSAgICAgICAgICAgICAgICBidWlsZF90eXBlLCAnLS0nICsg
c2VsZi5wbGF0Zm9ybS5sb3dlcigpXSArIHNlbGYucnVuX3Rlc3RzCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJ1aWxkX3R5cGUsICctLScgKyBzZWxmLnBsYXRmb3JtLmxvd2VyKCldICsg
c2VsZi5ydW5fdGVzdHMKICAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1bl9pbl9zYW5kYm94KCp0
ZXN0X2xhdW5jaGVyKQotICAgICAgICBlbGlmIHNlbGYuZ2RiIGlzIG5vdCBOb25lOgorICAgICAg
ICBlbGlmIHNlbGYuZ2RiIG9yIHNlbGYuZ2RiX3N0YWNrX3RyYWNlOgogICAgICAgICAgICAgcmV0
dXJuIHNlbGYucnVuX2dkYigpCiAgICAgICAgIGVsaWYgc2VsZi51c2VyX2NvbW1hbmQ6CiAgICAg
ICAgICAgICByZXR1cm4gc2VsZi5ydW5faW5fc2FuZGJveCgqc2VsZi51c2VyX2NvbW1hbmQpCi0g
ICAgICAgIGVsaWYgbm90IHNlbGYudXBkYXRlIGFuZCBub3Qgc2VsZi5idWlsZF93ZWJraXQ6Cisg
ICAgICAgIGVsaWYgbm90IHNlbGYudXBkYXRlIGFuZCBub3Qgc2VsZi5idWlsZF93ZWJraXQgYW5k
IG5vdCBzZWxmLmJ1aWxkX2dzdDoKICAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1bl9pbl9zYW5k
Ym94KCkKIAogICAgICAgICByZXR1cm4gMAogCiAgICAgZGVmIGluc3RhbGxfYWxsKHNlbGYpOgor
ICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIkluc3RhbGxpbmcgJXMgZGVwZW5kZW5jaWVzIGluICVz
Iiwgc2VsZi5idWlsZF90eXBlLCBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkKICAgICAgICAgZm9y
IHBhY2thZ2UgaW4gc2VsZi5wYWNrczoKICAgICAgICAgICAgIGlmIG5vdCBwYWNrYWdlLmlzX2lu
c3RhbGxlZChzZWxmLnNka19icmFuY2gpOgogICAgICAgICAgICAgICAgIHBhY2thZ2UuaW5zdGFs
bCgpCkBAIC05MzUsMTkgKzg0NiwzMCBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICAj
IFdlIG5lZWQgYWNjZXNzIHRvIHRoZSBob3N0IGZyb20gdGhlIHNhbmRib3ggdG8gcnVuLgogICAg
ICAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZSgpIGFzIGNvcmVkdW1wOgogICAg
ICAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBhcyBzdGRlcnI6Ci0g
ICAgICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKFsiY29yZWR1bXBjdGwiLCAiZHVt
cCJdICsgc2hsZXguc3BsaXQoc2VsZi5jb3JlZHVtcGN0bF9tYXRjaGVzKSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PWNvcmVkdW1wLCBzdGRlcnI9c3RkZXJy
KQorICAgICAgICAgICAgICAgIGlmIHNlbGYuZ2RiX3N0YWNrX3RyYWNlOgorICAgICAgICAgICAg
ICAgICAgICBjbWQgPSBbImNvcmVkdW1wY3RsIiwgIi0tc2luY2U9JXMiICUgc2VsZi5nZGJfc3Rh
Y2tfdHJhY2UsICJkdW1wIl0KKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAg
ICAgICBjbWQgPSBbImNvcmVkdW1wY3RsIiwgImR1bXAiXSArIHNobGV4LnNwbGl0KHNlbGYuY29y
ZWR1bXBjdGxfbWF0Y2hlcykKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAg
ICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChjbWQsIHN0ZG91dD1jb3JlZHVtcCwgc3RkZXJyPXN0
ZGVycikKKyAgICAgICAgICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJy
b3IgYXMgZXJyOgorICAgICAgICAgICAgICAgICAgICB3aXRoIG9wZW4oc3RkZXJyLm5hbWUsICdy
JykgYXMgc3RkZXJyZjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGVyciA9IHN0ZGVycmYu
cmVhZCgpCisgICAgICAgICAgICAgICAgICAgIGNtZCA9ICcgJy5qb2luKGVyci5jbWQpCisgICAg
ICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoIiclcycgcmV0dXJuZWQgYSBub24temVy
byBleGl0IGNvZGUuIFN0ZGVycjogJXMiICUgKGNtZCwgc3RkZXJyKSkKKyAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIGVyci5yZXR1cm5jb2RlCiAKICAgICAgICAgICAgICAgICB3aXRoIG9wZW4o
c3RkZXJyLm5hbWUsICdyJykgYXMgc3RkZXJyZjoKICAgICAgICAgICAgICAgICAgICAgc3RkZXJy
ID0gc3RkZXJyZi5yZWFkKCkKKwogICAgICAgICAgICAgICAgIGV4ZWN1dGFibGUsID0gcmUuZmlu
ZGFsbCgiLipFeGVjdXRhYmxlOiAoLiopIiwgc3RkZXJyKQotICAgICAgICAgICAgICAgIGlmIG5v
dCBleGVjdXRhYmxlLnN0YXJ0c3dpdGgoIi9uZXdyb290Iik6Ci0gICAgICAgICAgICAgICAgICAg
IHN5cy5zdGRlcnIud3JpdGUoIkV4ZWN1dGFibGUgJXMgZG9lc24ndCBzZWVtIHRvIGJlIGEgZmxh
dHBha2VkIGFwcGxpY2F0aW9uLlxuIiAlIGV4ZWN1dGFibGUpCiAKLSAgICAgICAgICAgICAgICBl
eGVjdXRhYmxlID0gZXhlY3V0YWJsZS5yZXBsYWNlKCIvbmV3cm9vdCIsICIiKQotICAgICAgICAg
ICAgICAgIGFyZ3MgPSBbImdkYiIsIGV4ZWN1dGFibGUsICIvcnVuL2hvc3QvJXMiICUgY29yZWR1
bXAubmFtZV0gKyBzaGxleC5zcGxpdChzZWxmLmdkYikKKyAgICAgICAgICAgICAgICBpZiBzZWxm
LmdkYjoKKyAgICAgICAgICAgICAgICAgICAgYmFyZ3MgPSBbImdkYiIsIGV4ZWN1dGFibGUsICIv
cnVuL2hvc3QvJXMiICUgY29yZWR1bXAubmFtZV0gKyBzaGxleC5zcGxpdChzZWxmLmdkYikKKyAg
ICAgICAgICAgICAgICBlbGlmIHNlbGYuZ2RiX3N0YWNrX3RyYWNlOgorICAgICAgICAgICAgICAg
ICAgICBiYXJncyA9IFsiZ2RiIiwgJy1leCcsICJ0aHJlYWQgYXBwbHkgYWxsIGJhY2t0cmFjZSIs
ICctLWJhdGNoJywgZXhlY3V0YWJsZSwgIi9ydW4vaG9zdC8lcyIgJSBjb3JlZHVtcC5uYW1lXQog
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYucnVuX2luX3NhbmRib3goKmFyZ3MpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIHNlbGYucnVuX2luX3NhbmRib3goKmJhcmdzKQogCiAgICAgZGVm
IHVwZGF0ZV9hbGwoc2VsZik6CiAgICAgICAgIGZvciBtIGluIFtzZWxmLnJ1bnRpbWUsIHNlbGYu
c2RrLCBzZWxmLnNka19kZWJ1Z106CmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29yZy53ZWJr
aXQuQ29tbW9uTW9kdWxlcy55YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LkNvbW1vbk1v
ZHVsZXMueWFtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTFhMDdjZjg2ZjgzYjY4
ODMzYTU3Mjg0ZTQ3MjNmNTIyYjczYzQwYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55
YW1sCisrKyAvZGV2L251bGwKQEAgLTEsMzMxICswLDAgQEAKLSMgaHR0cCBhbmQgZGVwZW5kZW5j
aWVzLgotLSBuYW1lOiBhcHIKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAg
IHVybDogaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9kaXN0L2Fwci9hcHItMS42LjUudGFyLmJ6Mgot
ICAgICAgc2hhMjU2OiBhNjdjYTlmY2Y5YzRmZjU5YmNlN2Y0MjhhMzIzYzhiNWUxODY2N2ZkZWE3
YjBlYmFkNDdkMTk0MzcxYjBhMTA1Ci0tIG5hbWU6IGFwci11dGlsCi0gIHNvdXJjZXM6Ci0gICAg
LSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvZGlzdC9h
cHIvYXByLXV0aWwtMS42LjEudGFyLmJ6MgotICAgICAgc2hhNTEyOiAiNDBlZmY4YTM3YzA2MzRm
N2ZkZGRkNmNhNWU1OTZiMzhkZTE1ZmQxMDc2N2EzNGMzMGJiZTQ5YzYzMjgxNmU4ZjNlMWUyMzA2
NzgwMzRmNTc4ZGQ1ODE2YTk0ZjI0NmZiNWRmZGY0OGQ2NDQ4MjlhZjEzYmYyOGRlMzIyNTIwNWQi
Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS13aXRoLWFwcj0vYXBwL2Jpbi9hcHItMS1jb25maWcK
LS0gbmFtZTogaHR0cGQKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBo
dHRwczovL2dpdGh1Yi5jb20vYXBhY2hlL2h0dHBkLmdpdAotICAgICAgYnJhbmNoOiAyLjQuMzcK
LSAgICAtIHR5cGUgOiBmaWxlCi0gICAgICBwYXRoIDogZmlsZXMvaHR0cGQtYXV0b2dlbi5zaAot
ICAgICAgZGVzdC1maWxlbmFtZSA6IGF1dG9nZW4uc2gKLSAgICAjIFRoZSB2ZXJzaW9uIGVtYmVk
ZGVkIGluIHRoZSBzYW5kYm94IGRvZXNuJ3QgaGF2ZSBhIHdvcmtpbmcgcGNyZS1jb25maWcKLSAg
ICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiBwYXRjaGVzL2h0dHBkLTAwMDEtY29uZmlndXJl
LXVzZS1wa2ctY29uZmlnLWZvci1QQ1JFLWRldGVjdGlvbi5wYXRjaAotICBjb25maWctb3B0czoK
LSAgICAtIC0tZW5hYmxlLW1wbXMtc2hhcmVkPWFsbAotICAgIC0gLS1lbmFibGUtbW9kdWxlcz1h
bGwKLSAgICAtIC0td2l0aC1hcHI9L2FwcC9iaW4vYXByLTEtY29uZmlnCi0gICAgLSAtLXdpdGgt
YXByLXV0aWw9L2FwcC9iaW4vYXB1LTEtY29uZmlnCi0gICAgLSAtLXdpdGgtcGNyZT0vYXBwCi0g
ICAgLSAtLWVuYWJsZS1hdXRobnotZmNnaQotICAgIC0gLS1lbmFibGUtY2dpCi0gICAgLSAtLWVu
YWJsZS1jZ2lkCi0tIG5hbWU6IHBocAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQot
ICAgICAgdXJsOiBodHRwczovL3BocC5uZXQvZGlzdHJpYnV0aW9ucy9waHAtNy4yLjYudGFyLnh6
Ci0gICAgICBzaGE1MTI6IGRhODZiMWZmMmRmM2I5ZTJkNDZlNTlhODAyOTZiOTQwZDgxMTMyOTc1
YjYyMWJkZWM5NjAyZjhiNGM4ZDkxYTNmZGNkNGZmZDdjYjk4MmQ2M2QzZWM5NzRiM2ExMmE3ODU0
ZTQyYTczYjdmMmNjOGVlZmFkZTE0MzM1YWE3YzcxCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1k
aXNhYmxlLXhtbAotICAgIC0gLS1kaXNhYmxlLWRvbQotICAgIC0gLS1kaXNhYmxlLWxpYnhtbAot
ICAgIC0gLS1kaXNhYmxlLXNpbXBsZXhtbAotICAgIC0gLS1kaXNhYmxlLXhtbHJlYWRlcgotICAg
IC0gLS1kaXNhYmxlLXhtbHdyaXRlcgotICAgIC0gLS13aXRob3V0LXBlYXIKLSAgICAtIC0td2l0
aC1hcHhzMgotICAgIC0gLS13aXRoLXpsaWIKLSAgICAtIC0td2l0aC1saWJ6aXAKLSAgICAtIC0t
ZW5hYmxlLXNvY2tldHM9c2hhcmVkCi0tIG5hbWU6IGxpYmV2ZW50Ci0gIHNvdXJjZXM6Ci0gICAg
LSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2xpYmV2ZW50L2xpYmV2
ZW50LmdpdAotICAgICAgYnJhbmNoOiBlN2ZmNGVmICMgMi4xLjgKLSAgY29uZmlnLW9wdHM6Ci0g
ICAgLSAtLWRpc2FibGUtbGliZXZlbnQtcmVncmVzcwotCi0jIFJlcXVpcmVtZW50IGZvciBmbGF0
cGt1dGlscwotLSBuYW1lOiBweXRob24zLXB5YW1sCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAg
YnVpbGQtY29tbWFuZHM6Ci0gIC0gcGlwMyBpbnN0YWxsIC0tbm8taW5kZXggLS1maW5kLWxpbmtz
PSJmaWxlOi8vJHtQV0R9IiAtLXByZWZpeD0ke0ZMQVRQQUtfREVTVH0gcHlhbWwKLSAgc291cmNl
czoKLSAgLSB0eXBlOiBmaWxlCi0gICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5v
cmcvcGFja2FnZXMvNGEvODUvZGI1YTJkZjQ3NzA3MmIyOTAyYjBlYjg5MmZlYjM3ZDg4YWM2MzVk
MzYyNDVhNzJhNmE2OWIyM2IzODNhL1B5WUFNTC0zLjEyLnRhci5negotICAgIHNoYTI1NjogNTky
NzY2YzYzMDMyMDdhMjBlZmM0NDU1ODc3NzgzMjJkN2Y3M2IxNjFiZDk5NGYyMjdhZGFhMzQxYmEy
MTJhYgotICAtIHR5cGU6IGZpbGUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVk
Lm9yZy9wYWNrYWdlcy85ZS8xNy8xZDRlZDZlMWE0YzA5MThhMDM1N2RmYTJmZGJlMjZiZjYzZjZl
NjE2MDEzYzA0YTE0YmNlOWZkMzNlNDAvcHlhbWwtMTcuMTIuMS50YXIuZ3oKLSAgICBzaGEyNTY6
IDY2NjIzYzUyZjM0ZDgzYTJjMGZjOTYzZTA4ZThiOWQwYzEzZDg4NDA0ZTNiNDNiMTg1MmVmNzFl
ZGExOWFmYTMKLQotLSBuYW1lOiBweXRob24yLXB5YW1sCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUK
LSAgYnVpbGQtY29tbWFuZHM6Ci0gIC0gcGlwMiBpbnN0YWxsIC0tbm8taW5kZXggLS1maW5kLWxp
bmtzPSJmaWxlOi8vJHtQV0R9IiAtLXRhcmdldD0vYXBwL2xpYi9weXRob24yLjcvc2l0ZS1wYWNr
YWdlcy8gcHlhbWwKLSAgc291cmNlczoKLSAgLSB0eXBlOiBmaWxlCi0gICAgdXJsOiBodHRwczov
L2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvNGEvODUvZGI1YTJkZjQ3NzA3MmIyOTAy
YjBlYjg5MmZlYjM3ZDg4YWM2MzVkMzYyNDVhNzJhNmE2OWIyM2IzODNhL1B5WUFNTC0zLjEyLnRh
ci5negotICAgIHNoYTI1NjogNTkyNzY2YzYzMDMyMDdhMjBlZmM0NDU1ODc3NzgzMjJkN2Y3M2Ix
NjFiZDk5NGYyMjdhZGFhMzQxYmEyMTJhYgotICAtIHR5cGU6IGZpbGUKLSAgICB1cmw6IGh0dHBz
Oi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy85ZS8xNy8xZDRlZDZlMWE0YzA5MThh
MDM1N2RmYTJmZGJlMjZiZjYzZjZlNjE2MDEzYzA0YTE0YmNlOWZkMzNlNDAvcHlhbWwtMTcuMTIu
MS50YXIuZ3oKLSAgICBzaGEyNTY6IDY2NjIzYzUyZjM0ZDgzYTJjMGZjOTYzZTA4ZThiOWQwYzEz
ZDg4NDA0ZTNiNDNiMTg1MmVmNzFlZGExOWFmYTMKLQotLSBuYW1lOiBweXRob24yLXN1YnByb2Nl
c3MzMgotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAtIHBpcDIg
aW5zdGFsbCAtLXRhcmdldD0vYXBwL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy8gLgotICBz
b3VyY2VzOgotICAtIHR5cGU6IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9u
aG9zdGVkLm9yZy9wYWNrYWdlcy9iZS8yYi9iZWViYTU4M2U5ODc3ZTY0ZGIxMGI1MmE5NjkxNWFm
YzBmZWFiZjcxNDRkY2JmMmEwZDBlYTY4YmY3M2Qvc3VicHJvY2VzczMyLTMuNS4zLnRhci5negot
ICAgIHNoYTI1NjogNmJjODI5OTIzMTZlZWYzY2NmZjMxOWI1MDMzODA5ODAxYzBjMzM3MjcwOWM1
ZjY5ODUyOTljODhhYzcyMjVjMwotCi0jIEdTdHJlYW1lciBtb2R1bGVzCi0tIG5hbWU6IGxpYnZw
eAotICBuby1hdXRvZ2VuOiB0cnVlCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAg
IHVybDogaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL3dlYm0vbGlidnB4Ci0gICAg
ICBicmFuY2g6IHYxLjcuMAotICBjb25maWctb3B0czoKLSAgICAtIC0tZW5hYmxlLXBpYwotICAg
IC0gLS1hcz1uYXNtCi0gICAgLSAtLWRpc2FibGUtdW5pdC10ZXN0cwotICAgIC0gLS1zaXplLWxp
bWl0PTE2Mzg0eDE2Mzg0Ci0gICAgLSAtLWVuYWJsZS1wb3N0cHJvYwotICAgIC0gLS1lbmFibGUt
bXVsdGktcmVzLWVuY29kaW5nCi0gICAgLSAtLWVuYWJsZS10ZW1wb3JhbC1kZW5vaXNpbmcKLSAg
ICAtIC0tZW5hYmxlLXZwOS10ZW1wb3JhbC1kZW5vaXNpbmcKLSAgICAtIC0tZW5hYmxlLXZwOS1w
b3N0cHJvYwotICAgIC0gLS1lbmFibGUtc2hhcmVkCi0tIG5hbWU6IGFvbQotICBzb3VyY2VzOgot
ICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vYW9tZWRpYS5nb29nbGVzb3VyY2Uu
Y29tL2FvbQotICAgICAgYnJhbmNoOiBjZGIwODNlODRhNzFkNmQzMTE2M2E0ZjY0ZjE4ZGMxMzI4
ZmQ3ODJjCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1uaW5qYQotICBidWlsZGRpcjogdHJ1ZQotICBj
b25maWctb3B0czoKLSAgICAtIC1EQlVJTERfU0hBUkVEX0xJQlM9MQotLSBuYW1lOiBsaWJ1bndp
bmQKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1
Yi5jb20vbGlidW53aW5kL2xpYnVud2luZC5naXQKLSAgICAgIGNvbW1pdDogdjEuMi4xCi0tIG5h
bWU6IGxpYm9wZW5oMjY0Ci0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0g
dHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9jaXNjby9vcGVuaDI2NC5n
aXQKLSAgICAgIGJyYW5jaDogYTFiM2YwN2M1MjcxZjMxMjk5N2ZjYzM0NTEyMzcwMzE0NDRjNDQ3
NSAjIDEuOC4wICsgZml4IGZvciBnY2MgOAotLSBuYW1lOiBnc3RyZWFtZXIKLSAgYnVpbGRzeXN0
ZW06IG1lc29uCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6
Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL2dzdHJlYW1lci9nc3RyZWFtZXIuZ2l0Ci0gICAgICBi
cmFuY2g6IDEuMTYuMQotICBjb25maWctb3B0czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAot
ICAgIC0gLURpbnRyb3NwZWN0aW9uPWRpc2FibGVkCi0gICAgLSAtRGV4YW1wbGVzPWRpc2FibGVk
Ci0gICAgLSAtRHRlc3RzPWRpc2FibGVkCi0tIG5hbWU6IGdzdC1wbHVnaW5zLWJhc2UKLSAgYnVp
bGRzeXN0ZW06IG1lc29uCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDog
aHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYXNl
LmdpdAotICAgICAgYnJhbmNoOiAxLjE2LjEKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRo
OiAuLi9nc3RyZWFtZXIvcGF0Y2hlcy9iYXNlLTAwMDEtcGxheWJpbi1IYW5kbGUtZXJyb3ItbWVz
c2FnZS13aXRoLXJlZGlyZWN0aW9uLWluZGljYS5wYXRjaAotICAgIC0gdHlwZTogcGF0Y2gKLSAg
ICAgIHBhdGg6IC4uL2dzdHJlYW1lci9wYXRjaGVzL2Jhc2UtMDAwMS1nbHVwbG9hZC1BZGQtVmlk
ZW9NZXRhcy1hbmQtR0xTeW5jTWV0YS10by10aGUtcmF3LXVwLnBhdGNoCi0gIGNvbmZpZy1vcHRz
OgotICAgIC0gLURndGtfZG9jPWRpc2FibGVkCi0gICAgLSAtRGludHJvc3BlY3Rpb249ZGlzYWJs
ZWQKLSAgICAtIC1EZXhhbXBsZXM9ZGlzYWJsZWQKLSAgICAtIC1EdGVzdHM9ZGlzYWJsZWQKLS0g
bmFtZTogZ3N0LXBsdWdpbnMtZ29vZAotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoK
LSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5v
cmcvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWdvb2QuZ2l0Ci0gICAgICBicmFuY2g6IDEuMTYuMQot
ICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2dzdHJlYW1lci9wYXRjaGVzL2dvb2Qt
MDAwMS1xdGRlbXV4LVNwZWNpZnktUkVESVJFQ1QtaW5mb3JtYXRpb24taW4tZXJyb3ItbWVzc2Fn
LnBhdGNoCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9jPWRpc2FibGVkCi0gICAgLSAt
RGludHJvc3BlY3Rpb249ZGlzYWJsZWQKLSAgICAtIC1EZXhhbXBsZXM9ZGlzYWJsZWQKLSAgICAt
IC1EZ3RrMz1kaXNhYmxlZAotLSBuYW1lOiB4MjY0Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gIi0t
ZW5hYmxlLXNoYXJlZCIKLSAgICAtICItLWVuYWJsZS1zdGF0aWMiCi0gICAgLSAiLS1lbmFibGUt
cGljIgotICAgIC0gIi0tZGlzYWJsZS1sYXZmIgotICAgIC0gIi0tZGlzYWJsZS1hc20iCi0gIHNv
dXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHA6Ly9kb3dubG9hZC52
aWRlb2xhbi5vcmcvcHViL3gyNjQvc25hcHNob3RzL3gyNjQtc25hcHNob3QtMjAxNDAyMTItMjI0
NS1zdGFibGUudGFyLmJ6MgotICAgICAgc2hhMjU2OiA1ZDk4ZTllNGZhZjZkZDU1ZTcxOTNlZDM3
OWFmZjQ3N2I4YWNiZGE2Nzc3NzU4OTU2ZWY3ZTVmMDUwNjdiZTE4Ci0tIG5hbWU6IGdzdC1wbHVn
aW5zLXVnbHkKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBn
aXQKLSAgICAgIHVybDogaHR0cHM6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVh
bWVyL2dzdC1wbHVnaW5zLXVnbHkKLSAgICAgIGJyYW5jaDogMS4xNi4wCi0gIGNvbmZpZy1vcHRz
OgotICAgIC0gLURndGtfZG9jPWRpc2FibGVkCi0tIG5hbWU6IGdzdC1wbHVnaW5zLWJhZAotICBi
dWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJs
OiBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJh
ZC5naXQKLSAgICAgIGJyYW5jaDogMS4xNi4xCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0
aDogLi4vZ3N0cmVhbWVyL3BhdGNoZXMvZ3N0LXBsdWdpbnMtYmFkLTAwMDEtaDI2NHBhcnNlLVBv
c3QtYS1XQVJOSU5HLXdoZW4tZGF0YS1pcy1icm9rZW4ucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0g
ICAgLSAtRGd0a19kb2M9ZGlzYWJsZWQKLSAgICAtIC1EaW50cm9zcGVjdGlvbj1kaXNhYmxlZAot
ICAgIC0gLURleGFtcGxlcz1kaXNhYmxlZAotLSBuYW1lOiBmZm1wZWcKLSAgc291cmNlczoKLSAg
ICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly9mZm1wZWcub3JnL3JlbGVhc2Vz
L2ZmbXBlZy00LjAuNC50YXIuZ3oKLSAgICAgIHNoYTI1NjogODBiYjY4NWFiZmNkZGE3YzliNmM5
YzVjYWYxZDhkYmI5Mjc4NTgwNTBkNzM3N2MyYjhmMzQ4OGM3ZThhOWI3ZgotICBjb25maWctb3B0
czoKLSAgICAtIC0tZW5hYmxlLXN0YXRpYwotICAgIC0gLS1lbmFibGUtcGljCi0gICAgLSAtLWRp
c2FibGUtYXZkZXZpY2UKLSAgICAtIC0tZGlzYWJsZS1wb3N0cHJvYwotICAgIC0gLS1kaXNhYmxl
LXN3c2NhbGUKLSAgICAtIC0tZGlzYWJsZS1wcm9ncmFtcwotICAgIC0gLS1kaXNhYmxlLWZmcGxh
eQotICAgIC0gLS1kaXNhYmxlLWZmcHJvYmUKLSAgICAtIC0tZGlzYWJsZS1mZm1wZWcKLSAgICAt
IC0tZGlzYWJsZS1lbmNvZGVyPWZsYWMKLSAgICAtIC0tZGlzYWJsZS1wcm90b2NvbHMKLSAgICAt
IC0tZGlzYWJsZS1kZXZpY2VzCi0gICAgLSAtLWRpc2FibGUtbmV0d29yawotICAgIC0gLS1kaXNh
YmxlLWh3YWNjZWxzCi0gICAgLSAtLWRpc2FibGUtZHh2YTIKLSAgICAtIC0tZGlzYWJsZS12ZHBh
dQotICAgIC0gLS1kaXNhYmxlLWZpbHRlcnMKLSAgICAtIC0tZW5hYmxlLWZpbHRlcj15YWRpZgot
ICAgIC0gLS1kaXNhYmxlLWRvYwotICAgIC0gLS1kaXNhYmxlLWQzZDExdmEKLSAgICAtIC0tZGlz
YWJsZS1keHZhMgotICAgIC0gLS1kaXNhYmxlLWF1ZGlvdG9vbGJveAotICAgIC0gLS1kaXNhYmxl
LXZpZGVvdG9vbGJveAotICAgIC0gLS1kaXNhYmxlLXZhYXBpCi0gICAgLSAtLWRpc2FibGUtY3J5
c3RhbGhkCi0gICAgLSAtLWRpc2FibGUtbWVkaWFjb2RlYwotICAgIC0gLS1kaXNhYmxlLW52ZW5j
Ci0gICAgLSAtLWRpc2FibGUtbW1hbAotICAgIC0gLS1kaXNhYmxlLW9teAotICAgIC0gLS1kaXNh
YmxlLW9teC1ycGkKLSAgICAtIC0tZGlzYWJsZS1jdWRhCi0gICAgLSAtLWRpc2FibGUtY3V2aWQK
LSAgICAtIC0tZGlzYWJsZS1saWJtZngKLSAgICAtIC0tZGlzYWJsZS1saWJucHAKLSAgICAtIC0t
ZGlzYWJsZS1pY29udgotICAgIC0gLS1kaXNhYmxlLWpuaQotICAgIC0gLS1kaXNhYmxlLXY0bDJf
bTJtCi0gICAgLSAtLWVuYWJsZS1vcHRpbWl6YXRpb25zCi0tIG5hbWU6IGdzdC1saWJhdgotICBi
dWlsZHN5c3RlbTogbWVzb24KLSAgYnVpbGRkaXI6IHRydWUKLSAgc291cmNlczoKLSAgICAtIHR5
cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3Jn
L3NyYy9nc3QtbGliYXYvZ3N0LWxpYmF2LTEuMTYuMS50YXIueHoKLSAgICAgIHNoYTI1NjogZThh
NTc0OGFlOWE0YTdiZTk2OTY1MTIxODJlYTlmZmE2ZWZlMGJlOWI3OTc2OTE2NTQ4ZTlkNDM4MWNh
NjFjNAotICBjb25maWctb3B0czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotCi0tIG5hbWU6
IGxpYmdjcnlwdCAjIFNwZWVkdXAgbGliZ2NyeXB0Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBn
aXQKLSAgICAgIHVybDogaHR0cHM6Ly9kZXYuZ251cGcub3JnL3NvdXJjZS9saWJnY3J5cHQuZ2l0
Ci0gICAgICBicmFuY2g6IGxpYmdjcnlwdC0xLjguNAotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAg
IHBhdGg6IHBhdGNoZXMvbGliZ2NyeXB0LTAwMDEtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWdw
Zy1lcnJvci5wYXRjaAotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2d0ay9wYXRj
aGVzL2xpYmdjcnlwdC11c2Utb25seS1kZXYtdXJhbmRvbS1mb3ItdGVzdGluZy5wYXRjaAotICBj
b25maWctb3B0czoKLSAgICAtIC0tZGlzYWJsZS1kb2MKLQotLSBuYW1lOiBwZXJsLWNnaS1wbQot
ICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAgIC0gcGVybCBNYWtl
ZmlsZS5QTCBQUkVGSVg9L2FwcCBMSUI9L2FwcC9saWIvcGVybC8KLSAgICAtIG1ha2UgaW5zdGFs
bAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL2Nw
YW4ubWV0YWNwYW4ub3JnL2F1dGhvcnMvaWQvTC9MRS9MRUVKTy9DR0ktNC4zOC50YXIuZ3oKLSAg
ICAgIHNoYTI1NjogOGM1OGY0YTUyOWJiOTJhOTE0YjIyYjdlNjRjNWUzMTE4NWM5ODU0YTQwNzBh
NmRmYWQ0NGZlNWNjMjQ4ZTdkNAotCi0tIG5hbWU6IHB5dGhvbjItdmlydHVhbGVudgotICBidWls
ZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAtIHBpcDIgaW5zdGFsbCAtLW5v
LWluZGV4IC0tZmluZC1saW5rcz0iZmlsZTovLyR7UFdEfSIgLS10YXJnZXQ9L2FwcC9saWIvcHl0
aG9uMi43L3NpdGUtcGFja2FnZXMvIHZpcnR1YWxlbnYKLSAgLSBsbiAtcyAvYXBwL2xpYi9weXRo
b24yLjcvc2l0ZS1wYWNrYWdlcy92aXJ0dWFsZW52LnB5IC9hcHAvYmluL3ZpcnR1YWxlbnYKLSAg
LSBjaG1vZCAreCAvYXBwL2Jpbi92aXJ0dWFsZW52Ci0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogZmls
ZQotICAgIHVybDogaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzMzL2Jj
L2ZhMGI1MzQ3MTM5Y2Q5NTY0ZjBkNDRlYmQyYjE0N2FjOTdjMzZiMjQwMzk0M2RiZWU4YTI1ZmQ3
NDAxMi92aXJ0dWFsZW52LTE2LjAuMC50YXIuZ3oKLSAgICBzaGEyNTY6IGNhMDdiNGMwYjU0ZTE0
YTkxYWY5ZjM0ZDA5MTk3OTBiMDE2OTIzZDE1N2FmZGE1ZWZkZGU1NWM5NjcxOGY3NTIKLQotLSBu
YW1lOiBsaWJjYXAtbmcKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBo
dHRwczovL2dpdGh1Yi5jb20vc3RldmVncnViYi9saWJjYXAtbmcKLSAgICAgIGJyYW5jaDogdjAu
Ny45Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS13aXRoLXB5dGhvbj1ubwotICAgIC0gLS13aXRo
LXB5dGhvbjM9bm8KLQotLSBuYW1lOiBsem8yCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNo
aXZlCi0gICAgICB1cmw6IGh0dHA6Ly93d3cub2Jlcmh1bWVyLmNvbS9vcGVuc291cmNlL2x6by9k
b3dubG9hZC9sem8tMi4xMC50YXIuZ3oKLSAgICAgIHNoYTE6IDQ5MjQ2NzZhOWJhZTVkYjU4ZWYx
MjlkYzFjZWJjZTNiYWEzYzRiNWQKLQotLSBuYW1lOiBpY2VjYwotICBzb3VyY2VzOgotICAgIC0g
dHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9pY2VjYy9pY2VjcmVhbQot
ICAgICAgdGFnOiAiMS4yIgotICAgICAgY29tbWl0OiBlM2QxMGEzMmJjNmMwNDZkOGYzZDExODJl
NzVjNjU5ZDRiMjhlZDQ5Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS13aXRob3V0LW1hbgotCi0t
IG5hbWU6IGJyb3RsaQotICBzb3VyY2VzOgotICAtIHR5cGU6IGFyY2hpdmUKLSAgICB1cmw6IGh0
dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvYnJvdGxpL2FyY2hpdmUvdjEuMC41LnRhci5negotICAg
IHNoYTI1NjogM2Q1YmVkZDQ4ZWRiOTA5ZmUzYjg3Y2I5OWY3ZDEzOWI5ODdlZjZmMTYxNmI3ZTIy
ZDc0ZTkyODI3MGEyZmQyMAotICBidWlsZHN5c3RlbTogY21ha2UtbmluamEKLQotLSBuYW1lOiB3
b2ZmMgotICBzb3VyY2VzOgotICAtIHR5cGU6IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vZ2l0
aHViLmNvbS9nb29nbGUvd29mZjIvYXJjaGl2ZS92MS4wLjIudGFyLmd6Ci0gICAgc2hhMjU2OiBh
ZGQyNzJiYjA5ZTYzODRhNDgzM2ZmY2E0ODk2MzUwZmRiMTZlMGNhMjJkZjY4YzAzODQ3NzNjNjdh
MTc1NTk0Ci0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1uaW5qYQotCi0tIG5hbWU6IG9wZW5qcGVnCi0g
IHNvdXJjZXM6Ci0gIC0gdHlwZTogYXJjaGl2ZQotICAgIHVybDogaHR0cDovL2dpdGh1Yi5jb20v
dWNsb3V2YWluL29wZW5qcGVnL2FyY2hpdmUvdjIuMy4wLnRhci5negotICAgIHNoYTI1NjogM2Rj
Nzg3YzFiYjYwMjNiYTg0NmMyYTBkOWIxZjZlMTc5ZjFjZDI1NTE3MmJkZTllYjc1YjAxZjFlNmM3
ZDcxYQotICBidWlsZHN5c3RlbTogY21ha2UtbmluamEKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRw
YWsvb3JnLndlYmtpdC5HVEsueWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5HVEsueWFt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTYzYjU2MDQ0MDgwNDVlZDA4N2M3YzI2
N2E1OTMyYjg0ZTYzMGQzZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuR1RLLnlhbWwKKysrIC9kZXYvbnVsbApA
QCAtMSwxMjMgKzAsMCBAQAotLSBuYW1lOiBtZXNhCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBh
cmNoaXZlCi0gICAgICB1cmw6IGh0dHBzOi8vbWVzYS5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZS9t
ZXNhLTE4LjAuMy50YXIueHoKLSAgICAgIHNoYTI1NjogMDk5ZDk2NjczMjdhNzZhNjE3NDFhNTMz
Zjk1MDY3ZDc2ZWE3MWE2NTZlNjZiOTE1MDdiM2MwY2FmMWQ0OWUzMAotICBjb25maWctb3B0czoK
LSAgICAtIC0tcHJlZml4PS9hcHAvc29mdEdMCi0gICAgLSAtLWRpc2FibGUtZHJpMwotICAgIC0g
LS1lbmFibGUtZHJpCi0gICAgLSAtLWVuYWJsZS1nbHgKLSAgICAtIC0tZW5hYmxlLWVnbAotICAg
IC0gLS13aXRoLWVnbC1wbGF0Zm9ybXM9eDExLHdheWxhbmQKLSAgICAtIC0td2l0aC1kcmktZHJp
dmVycz1zd3Jhc3QKLSAgICAtIC0td2l0aC1nYWxsaXVtLWRyaXZlcnM9c3dyYXN0Ci0KLS0gbmFt
ZTogd2Via2l0Z3RrLXRlc3QtZm9udHMKLSAgbm8tYXV0b2dlbjogdHJ1ZQotICBzb3VyY2VzOgot
ICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJLaXRHVEsv
d2Via2l0Z3RrLXRlc3QtZm9udHMuZ2l0Ci0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQt
Y29tbWFuZHM6Ci0gICAgIyBGSVhNRTogTWFrZSBBY3RpdmF0ZUZvbnRXUEUgc21hcnRlci4KLSAg
ICAtIG1ha2UgaW5zdGFsbCBERVNURElSPS9hcHAvV2ViS2l0QnVpbGQvRGVwZW5kZW5jaWVzR1RL
L1Jvb3QKLQotLSBuYW1lOiB4b3JnLXV0aWwtbWFjcm9zCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBl
OiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9y
Zy91dGlsL21hY3Jvcy5naXQKLSAgICAgIGJyYW5jaDogdXRpbC1tYWNyb3MtMS4xOS4yCi0KLS0g
bmFtZTogeG9yZy1mb250LXV0aWwKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAg
dXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC94b3JnL2ZvbnQvdXRpbC5n
aXQKLSAgICAgIGJyYW5jaDogZm9udC11dGlsLTEuMy4xCi0KLS0gbmFtZTogeGtiZmlsZQotICBz
b3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICBicmFuY2g6IGxpYnhrYmZpbGUtMS4wLjkK
LSAgICAgIHVybDogaHR0cHM6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy9saWIv
bGlieGtiZmlsZS5naXQKLQotLSBuYW1lOiBmb250ZW5jCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBl
OiBnaXQKLSAgICAgIGJyYW5jaDogbGliZm9udGVuYy0xLjEuMwotICAgICAgdXJsOiBodHRwczov
L2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC94b3JnL2xpYi9saWJmb250ZW5jLmdpdAotCi0t
IG5hbWU6IHhmb250Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIGJyYW5jaDog
bGliWGZvbnQyLTIuMC4zCi0gICAgICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5v
cmcvZ2l0L3hvcmcvbGliL2xpYlhmb250LmdpdAotCi0tIG5hbWU6IHh2ZmIKLSAgc291cmNlczoK
LSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Au
b3JnL2dpdC94b3JnL3hzZXJ2ZXIuZ2l0Ci0gICAgICBicmFuY2g6IHhvcmctc2VydmVyLTEuMTku
NgotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IHBhdGNoZXMveHZmYi0wMDAxLUhBQ0st
QXZvaWQtY29tcGlsaW5nLWEta2JtLWZpbGUucGF0Y2gKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAg
ICBwYXRoOiAuLi9ndGsvcGF0Y2hlcy94c2VydmVyLXJlbW92ZS1ib2d1cy1kZXBlbmRlbmNpZXMu
cGF0Y2gKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9ndGsvcGF0Y2hlcy94c2Vy
dmVyLXNlYXJjaC1mb3ItRFJJLWRyaXZlcnMtYXQtTElCR0xfRFJJVkVSU19QQVRILWVudmlyb24u
cGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLWVuYWJsZS14dmZiCi0gICAgLSAtLWRpc2Fi
bGUteHdheWxhbmQKLSAgICAtIC0tZW5hYmxlLXh2ZmIKLSAgICAtIC0tZGlzYWJsZS14d2F5bGFu
ZAotICAgIC0gLS1kaXNhYmxlLXhpbmVyYW1hCi0gICAgLSAtLWVuYWJsZS1nbHgKLSAgICAtIC0t
ZW5hYmxlLWNvbXBvc2l0ZQotICAgIC0gLS1kaXNhYmxlLXhvcmcKLSAgICAtIC0tZGlzYWJsZS1k
bXgKLSAgICAtIC0tZGlzYWJsZS14bmVzdAotICAgIC0gLS1kaXNhYmxlLXhxdWFydHoKLSAgICAt
IC0tZGlzYWJsZS14d2luCi0gICAgLSAtLWRpc2FibGUteGVwaHlyCi0gICAgLSAtLWRpc2FibGUt
eGZha2UKLSAgICAtIC0tZGlzYWJsZS14ZmJkZXYKLSAgICAtIC0tZGlzYWJsZS1pbnN0YWxsLXNl
dHVpZAotICAgIC0gLS1kaXNhYmxlLXVuaXQtdGVzdHMKLSAgICAtIC0tZGlzYWJsZS1wcmVzZW50
Ci0gICAgLSAtLWVuYWJsZS11bml4LXRyYW5zcG9ydAotICAgIC0gLS1lbmFibGUtdGNwLXRyYW5z
cG9ydAotICAgIC0gLS1kaXNhYmxlLWxvY2FsLXRyYW5zcG9ydAotICAgIC0gLS13aXRob3V0LWR0
cmFjZQotCi0jIFJlcXVpcmVkIGZvciBydW4tZ3RrLXRlc3RzCi0tIG5hbWU6IHB5Y2Fpcm8KLSAg
YnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgLSBweXRob24yIHNldHVw
LnB5IGluc3RhbGwgLS1wcmVmaXg9L2FwcAotICBzb3VyY2VzOgotICAtIHR5cGU6IGFyY2hpdmUK
LSAgICB1cmw6IGh0dHBzOi8vcHlwaS5weXRob24ub3JnL3BhY2thZ2VzL2VmLzk3L2IzM2RjNTMz
ZWE2MDc2ZDRlYTljYmQyZmUwNDlhMmI0YTNkZjVjNWI2ZmJhOWExODI2MTZmNmY4ZDMxMC9weWNh
aXJvLTEuMTUuNC50YXIuZ3oKLSAgICBzaGEyNTY6IGVlNGMzMDY4YzA0ODIzMGU1Y2U3NGJiODk5
NGEwMjQ3MTExMjliZGUxYWYxZDc2ZTMyNzZjN2FjZDgxYzQzNTcKLSAgY2xlYW51cDoKLSAgLSAi
L2luY2x1ZGUiCi0gIC0gIi9saWIvcGtnY29uZmlnIgotCi0tIG5hbWU6IHB5Z29iamVjdC1weXRo
b24yCi0gIGJ1aWxkLW9wdGlvbnM6Ci0gICAgZW52OgotICAgICAgUFlUSE9OOiAiL3Vzci9iaW4v
cHl0aG9uMiIKLSAgc291cmNlczoKLSAgLSB0eXBlOiBhcmNoaXZlCi0gICAgdXJsOiBodHRwczov
L2Rvd25sb2FkLmdub21lLm9yZy9zb3VyY2VzL3B5Z29iamVjdC8zLjI4L3B5Z29iamVjdC0zLjI4
LjEudGFyLnh6Ci0gICAgc2hhMjU2OiA0MjMxMmI0YTUwMTU1NzFmYTBhNGYyZDIwMTAwNWRhNDZi
NzFjMjUxZWEyNjI1YmM5NTcwMmQwNzFjNGZmODk1Ci0gIGNsZWFudXA6Ci0gIC0gIi9pbmNsdWRl
IgotICAtICIvbGliL3BrZ2NvbmZpZyIKLSAgLSAiL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdl
cy9naS8qLmxhIgotCi0tIG9yZy53ZWJraXQuV1BFTW9kdWxlcy55YW1sCi0KLS0gbmFtZTogb3Jn
LndlYmtpdC5HVEsKLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAg
ICAtIC9hcHAvd2Via2l0L1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0IC0tZ3RrIC0tcHJlZml4
PS9hcHAKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRS55YW1sIGIv
VG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRS55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA0Y2JhYmJhYTBjYjhlMTU4YWQ0NDQxZjk4YjRkMDUzYThjYjNiYTc2Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3Jn
LndlYmtpdC5XUEUueWFtbAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLS0gb3JnLndl
YmtpdC5XUEVNb2R1bGVzLnlhbWwKLS0gbmFtZTogd2Via2l0Z3RrLXRlc3QtZm9udHMKLSAgbm8t
YXV0b2dlbjogdHJ1ZQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0
dHBzOi8vZ2l0aHViLmNvbS9XZWJLaXRHVEsvd2Via2l0Z3RrLXRlc3QtZm9udHMuZ2l0Ci0gIGJ1
aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gICAgIyBGSVhNRTogTWFrZSBB
Y3RpdmF0ZUZvbnRXUEUgc21hcnRlci4KLSAgICAtIG1ha2UgaW5zdGFsbCBERVNURElSPS9hcHAv
V2ViS2l0QnVpbGQvRGVwZW5kZW5jaWVzV1BFL1Jvb3QKLS0gbmFtZTogb3JnLndlYmtpdC5XUEUK
LSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgICAtIC9hcHAvd2Vi
a2l0L1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0IC0td3BlIC0tcHJlZml4PS9hcHAKZGlmZiAt
LWdpdCBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwgYi9Ub29scy9m
bGF0cGFrL29yZy53ZWJraXQuV1BFTW9kdWxlcy55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBhODBlMmNjYjNhNGQ5NTIyYTYwNzkzNGMwNmUwYWY5MjA1YmYwMjE3Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3Jn
LndlYmtpdC5XUEVNb2R1bGVzLnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0t
IG5hbWU6IGxpYndwZQotICBidWlsZHN5c3RlbTogY21ha2UtbmluamEKLSAgc291cmNlczoKLSAg
ICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly93cGV3ZWJraXQub3JnL3JlbGVh
c2VzL2xpYndwZS0xLjQuMC50YXIueHoKLSAgICAgIHNoYTI1NjogZTJkMzQ5NGZjMzNmZTk0NmFk
OTE3ZmQ2YTNhYmQxMjc0NjJiOTFiYmE2MmVmOGIzNTUwN2U5MmY4ZWRlNDE4OAotLSBuYW1lOiB3
cGViYWNrZW5kLWZkbwotICBidWlsZHN5c3RlbTogY21ha2UtbmluamEKLSAgc291cmNlczoKLSAg
ICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly93cGV3ZWJraXQub3JnL3JlbGVh
c2VzL3dwZWJhY2tlbmQtZmRvLTEuNC4wLnRhci54egotICAgICAgc2hhMjU2OiBhOTE5Y2E0YTVi
YzQ0NWY5NDE5YTViN2YzNzgxY2ZjOThlNWFiY2Y1ZDcyNTllYjE4NjlmNWFiMjBmZDE4YmFmCmRp
ZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFUVQueWFtbCBiL1Rvb2xzL2Zs
YXRwYWsvb3JnLndlYmtpdC5XUEVRVC55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBkZTM2OTU3YTQ2MWJjMzQ3OWEzOGVmZmRlNmQ5NThiZDAwNzI2NzhlLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtp
dC5XUEVRVC55YW1sCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotYXBwLWlkOiBvcmcu
d2Via2l0LldQRVFUCi1ydW50aW1lOiBvcmcua2RlLlBsYXRmb3JtCi1ydW50aW1lLXZlcnNpb246
ICI1LjEyIgotIyBDb250cm9sIHRoZSBleGFjdCB2ZXJzaW9uIG9mIHRoZSBTZGsvUnVudGltZSB0
aGF0IGlzIGJlaW5nIHVzZWQuCi1zZGstaGFzaDogZDZlZmEyNGUyN2MxYzg3OGFkNGZkZTc2Yjcz
Yzk2YTExYmUzMmI1OThhZTg3YWVmYmUzMzllZTRiYjE5YThiZQotcnVudGltZS1oYXNoOiAxMDE4
NzFlMDkxMDAwNjE2YWQyYjYzNWUwNmM0MTRlYjBlMWM0ZTFjMzQyOTJhMjA1YzUyMzk5MzVlZTVl
YTQ0Ci1zZGs6IG9yZy5rZGUuU2RrCi1jb21tYW5kOiAlKENPTU1BTkQpcwotZmluaXNoLWFyZ3M6
Ci0gICMgQmFzaWNhbGx5IG5vIHNhbmRib3hpbmcsIHRoZSBnb2FsIGhlcmUgaXMgdG8gbWFrZSBp
dCBmbGV4aWJsZQotICAjIGZvciBkZXZlbG9wZXJzLCBub3QgcmVhbGx5IHRvIGlzb2xhdGUgKG9w
ZW5uaW5nIGFsbCBkZXZpY2VzCi0gICMgdG8gYWxsb3cgYWNjZXMgdmlkZW8gY2FtZXJhcyB1bnRp
bCB3ZSBoYXZlIGEgcG9ydGFsIGF0IGxlYXN0KS4KLSAgLSAtLXNoYXJlPWlwYwotICAtIC0tc29j
a2V0PXgxMQotICAtIC0tc29ja2V0PXdheWxhbmQKLSAgLSAtLWRldmljZT1hbGwKLSAgLSAtLXNo
YXJlPW5ldHdvcmsKLSAgLSAtLXNvY2tldD1wdWxzZWF1ZGlvCi0gIC0gLS1zeXN0ZW0tdGFsay1u
YW1lPW9yZy5mcmVlZGVza3RvcC5HZW9DbHVlMgotICAtIC0tc3lzdGVtLXRhbGstbmFtZT1vcmcu
YTExeS5CdXMKLSAgLSAtLWZpbGVzeXN0ZW09aG9zdAotICAtIC0tc29ja2V0PXN5c3RlbS1idXMK
LSAgLSAtLXRhbGstbmFtZT1vcmcuZnJlZWRlc2t0b3AuRmxhdHBhawotICAtIC0tZW52PUdTVF9Q
UkVTRVRfUEFUSD0vYXBwL3NoYXJlL2dzdHJlYW1lci0xLjAvcHJlc2V0cy8KLWJ1aWxkLW9wdGlv
bnM6Ci0gIGNmbGFnczogLU8yIC1nCi0gIGN4eGZsYWdzOiAtTzIgLWcKLSAgc3RyaXA6IGZhbHNl
Ci0gIG5vLWRlYnVnaW5mbzogdHJ1ZQotbW9kdWxlczoKLSAgLSBvcmcud2Via2l0LkNvbW1vbk1v
ZHVsZXMueWFtbAotICAtIG9yZy53ZWJraXQuV1BFTW9kdWxlcy55YW1sCi0KLSAgIyBUaGlzIG1v
ZHVsZSBpcyBub3QgYWN0dWFsbHkgYnVpbHQuCi0gIC0gbmFtZTogb3JnLndlYmtpdC5XUEVRVAot
ICAgIGJ1aWxkc3lzdGVtOiBjbWFrZQotICAgIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBkaXIKLSAg
ICAgIHBhdGg6IC9hcHAvd2Via2l0L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvcXQK
ZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XZWJLaXQueWFtbCBiL1Rvb2xz
L2ZsYXRwYWsvb3JnLndlYmtpdC5XZWJLaXQueWFtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYjZkNjEyNjYwZDhhMjA0NWRhMzEyZmRiMDkxYjc4ZTU4YTgwN2U2OS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL29yZy53
ZWJraXQuV2ViS2l0LnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1hcHAtaWQ6
ICUoUE9SVE5BTUUpcwotcnVudGltZTogb3JnLmdub21lLlBsYXRmb3JtCi1ydW50aW1lLXZlcnNp
b246ICIzLjMyIgotIyBDb250cm9sIHRoZSBleGFjdCB2ZXJzaW9uIG9mIHRoZSBTZGsvUnVudGlt
ZSB0aGF0IGlzIGJlaW5nIHVzZWQuCi1zZGstaGFzaDogYjNiOWIxZDFiMTllYTJiYjcyMDE5NDI4
Y2E3NWM3YTc4NDU1ZTk4NmEwZjkxZGRkZjZhMjljOTI5OTBjYzVhNwotcnVudGltZS1oYXNoOiA3
YzlkNTU5MmQ4MDVkMGI3YzIxMjE5MGZkODExOGU0Yzc4Y2I4ZWQ4ZjgxZTY4Nzg1ODk3MjY3MGRh
Y2NmZjc2Ci1zZGs6IG9yZy5nbm9tZS5TZGsKLWNvbW1hbmQ6ICUoQ09NTUFORClzCi1maW5pc2gt
YXJnczoKLSAgIyBCYXNpY2FsbHkgbm8gc2FuZGJveGluZywgdGhlIGdvYWwgaGVyZSBpcyB0byBt
YWtlIGl0IGZsZXhpYmxlCi0gICMgZm9yIGRldmVsb3BlcnMsIG5vdCByZWFsbHkgdG8gaXNvbGF0
ZSAob3Blbm5pbmcgYWxsIGRldmljZXMKLSAgIyB0byBhbGxvdyBhY2NlcyB2aWRlbyBjYW1lcmFz
IHVudGlsIHdlIGhhdmUgYSBwb3J0YWwgYXQgbGVhc3QpLgotICAtIC0tc2hhcmU9aXBjCi0gIC0g
LS1zb2NrZXQ9eDExCi0gIC0gLS1zb2NrZXQ9d2F5bGFuZAotICAtIC0tZGV2aWNlPWFsbAotICAt
IC0tc2hhcmU9bmV0d29yawotICAtIC0tc29ja2V0PXB1bHNlYXVkaW8KLSAgLSAtLXN5c3RlbS10
YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkdlb0NsdWUyCi0gIC0gLS1zeXN0ZW0tdGFsay1uYW1l
PW9yZy5hMTF5LkJ1cwotICAtIC0tZmlsZXN5c3RlbT1ob3N0Ci0gIC0gLS1zb2NrZXQ9c3lzdGVt
LWJ1cwotICAtIC0tdGFsay1uYW1lPW9yZy5mcmVlZGVza3RvcC5GbGF0cGFrCi0gIC0gLS1lbnY9
R1NUX1BSRVNFVF9QQVRIPS9hcHAvc2hhcmUvZ3N0cmVhbWVyLTEuMC9wcmVzZXRzLwotYnVpbGQt
b3B0aW9uczoKLSAgY2ZsYWdzOiAtTzIgLWcKLSAgY3h4ZmxhZ3M6IC1PMiAtZwotICBzdHJpcDog
ZmFsc2UKLSAgbm8tZGVidWdpbmZvOiB0cnVlCi1tb2R1bGVzOgotICAtIG9yZy53ZWJraXQuQ29t
bW9uTW9kdWxlcy55YW1sCi0gICMgUG9ydCBzcGVjaWZpYyBjb21wb25lbnRzLgotICAtICUoUE9S
VE5BTUUpcy55YW1sCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL3BhdGNoZXMvaHR0cGQtMDAw
MS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoIGIvVG9v
bHMvZmxhdHBhay9wYXRjaGVzL2h0dHBkLTAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZv
ci1QQ1JFLWRldGVjdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDM2
YTY5NGYyOTIzZDM1MWRiNmYzZjEzMzI3NjAyODNkYTc4ZjlkZS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL3BhdGNoZXMvaHR0cGQt
MDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoCisr
KyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotRnJvbSBiNWViZTQwNGYxMzg4ZGRkYTM2MDNl
NTMyNzdmODdlMGI5NmJhNjk1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGhpYmF1
bHQgU2F1bmllciA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KLURhdGU6IE1vbiwgMTEgSnVuIDIwMTgg
MTY6MTQ6MzggLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlOiB1c2UgcGtnLWNvbmZp
ZyBmb3IgUENSRSBkZXRlY3Rpb24KLQotLS0tCi0gY29uZmlndXJlLmluIHwgMjcgKysrKystLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMjIg
ZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4K
LWluZGV4IDc2MWU4MzYuLmIxNTVkNGIgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuaW4KLSsrKyBi
L2NvbmZpZ3VyZS5pbgotQEAgLTIxNSwyOCArMjE1LDExIEBAIGZpCi0gQUNfQVJHX1dJVEgocGNy
ZSwKLSBBUEFDSEVfSEVMUF9TVFJJTkcoLS13aXRoLXBjcmU9UEFUSCxVc2UgZXh0ZXJuYWwgUENS
RSBsaWJyYXJ5KSkKLSAKLS1BQ19QQVRIX1BST0coUENSRV9DT05GSUcsIHBjcmUtY29uZmlnLCBm
YWxzZSkKLS1pZiB0ZXN0IC1kICIkd2l0aF9wY3JlIiAmJiB0ZXN0IC14ICIkd2l0aF9wY3JlL2Jp
bi9wY3JlLWNvbmZpZyI7IHRoZW4KLS0gICBQQ1JFX0NPTkZJRz0kd2l0aF9wY3JlL2Jpbi9wY3Jl
LWNvbmZpZwotLWVsaWYgdGVzdCAteCAiJHdpdGhfcGNyZSI7IHRoZW4KLS0gICBQQ1JFX0NPTkZJ
Rz0kd2l0aF9wY3JlCi0tZmkKLS0KLS1pZiB0ZXN0ICIkUENSRV9DT05GSUciICE9ICJmYWxzZSI7
IHRoZW4KLS0gIGlmICRQQ1JFX0NPTkZJRyAtLXZlcnNpb24gPi9kZXYvbnVsbCAyPiYxOyB0aGVu
IDo7IGVsc2UKLS0gICAgQUNfTVNHX0VSUk9SKFtEaWQgbm90IGZpbmQgcGNyZS1jb25maWcgc2Ny
aXB0IGF0ICRQQ1JFX0NPTkZJR10pCi0tICBmaQotLSAgY2FzZSBgJFBDUkVfQ09ORklHIC0tdmVy
c2lvbmAgaW4KLS0gIFtbMS01XS4qXSkKLS0gICAgQUNfTVNHX0VSUk9SKFtOZWVkIGF0IGxlYXN0
IHBjcmUgdmVyc2lvbiA2LjBdKQotLSAgICA7OwotLSAgZXNhYwotLSAgQUNfTVNHX05PVElDRShb
VXNpbmcgZXh0ZXJuYWwgUENSRSBsaWJyYXJ5IGZyb20gJFBDUkVfQ09ORklHXSkKLS0gIEFQUl9B
RERUTyhQQ1JFX0lOQ0xVREVTLCBbYCRQQ1JFX0NPTkZJRyAtLWNmbGFnc2BdKQotLSAgQVBSX0FE
RFRPKFBDUkVfTElCUywgW2AkUENSRV9DT05GSUcgLS1saWJzYF0pCi0tZWxzZQotLSAgQUNfTVNH
X0VSUk9SKFtwY3JlLWNvbmZpZyBmb3IgbGlicGNyZSBub3QgZm91bmQuIFBDUkUgaXMgcmVxdWly
ZWQgYW5kIGF2YWlsYWJsZSBmcm9tIGh0dHA6Ly9wY3JlLm9yZy9dKQotLWZpCi0rUEtHX0NIRUNL
X01PRFVMRVMoW1BDUkVdLCBbbGlicGNyZV0sIFsKLSsgIEFDX0RFRklORShbSEFWRV9QQ1JFXSwg
WzFdLCBbRGVmaW5lIGlmIHlvdSBoYXZlIFBDUkUgbGlicmFyeV0pCi0rXSwgWwotKyAgQUNfTVNH
X0VSUk9SKFskUENSRV9QS0dfRVJST1JTXSkKLStdKQotIEFQQUNIRV9TVUJTVChQQ1JFX0xJQlMp
Ci0gCi0gQUNfTVNHX05PVElDRShbXSkKLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL1Rvb2xz
L2ZsYXRwYWsvcGF0Y2hlcy9saWJnY3J5cHQtMDAwMS1Vc2UtcGtnLWNvbmZpZy10by1kZXRlY3Qt
Z3BnLWVycm9yLnBhdGNoIGIvVG9vbHMvZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVz
ZS1wa2ctY29uZmlnLXRvLWRldGVjdC1ncGctZXJyb3IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGM1NzcyN2ZiYjhiMDhiOTE5NWE1YzA5N2Q2YzYxYjkwOGM2OTE3OWEuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBh
ay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWRldGVjdC1ncGctZXJy
b3IucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTAgKzAsMCBAQAotRnJvbSA5YWZmM2YxYjM0
NGZjODY2NmIxNGM1NzYyOTE2MmMyYjkwMDdjYWQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot
RnJvbTogVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KLURhdGU6IEZyaSwg
MjkgSnVuIDIwMTggMDk6MDU6NTIgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gVXNlIHBrZy1jb25m
aWcgdG8gZGV0ZWN0IGdwZy1lcnJvcgotCi0tLS0KLSBtNC9ncGctZXJyb3IubTQgfCA4OCArKysr
KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNo
YW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDc2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEv
bTQvZ3BnLWVycm9yLm00IGIvbTQvZ3BnLWVycm9yLm00Ci1pbmRleCAxNjYxMjA0Yy4uNWY5ZjMz
YzIgMTAwNjQ0Ci0tLS0gYS9tNC9ncGctZXJyb3IubTQKLSsrKyBiL200L2dwZy1lcnJvci5tNAot
QEAgLTQxLDgxICs0MSwxNyBAQCBBQ19ERUZVTihbQU1fUEFUSF9HUEdfRVJST1JdLAotICAgQUNf
QVJHX1dJVEgoZ3BnLWVycm9yLXByZWZpeCwsCi0gICAgICAgICAgICAgICBbZ3BnX2Vycm9yX2Nv
bmZpZ19wcmVmaXg9IiR3aXRodmFsIl0pCi0gCi0tICBpZiB0ZXN0IHgiJHtHUEdfRVJST1JfQ09O
RklHfSIgPSB4IDsgdGhlbgotLSAgICAgaWYgdGVzdCB4IiR7Z3BnX2Vycm9yX2NvbmZpZ19wcmVm
aXh9IiAhPSB4IDsgdGhlbgotLSAgICAgICAgR1BHX0VSUk9SX0NPTkZJRz0iJHtncGdfZXJyb3Jf
Y29uZmlnX3ByZWZpeH0vYmluL2dwZy1lcnJvci1jb25maWciCi0tICAgICBlbHNlCi0tICAgICAg
IGNhc2UgIiR7U1lTUk9PVH0iIGluCi0tICAgICAgICAgLyopCi0tICAgICAgICAgICBpZiB0ZXN0
IC14ICIke1NZU1JPT1R9L2Jpbi9ncGctZXJyb3ItY29uZmlnIiA7IHRoZW4KLS0gICAgICAgICAg
ICAgR1BHX0VSUk9SX0NPTkZJRz0iJHtTWVNST09UfS9iaW4vZ3BnLWVycm9yLWNvbmZpZyIKLS0g
ICAgICAgICAgIGZpCi0tICAgICAgICAgICA7OwotLSAgICAgICAgICcnKQotLSAgICAgICAgICAg
OzsKLS0gICAgICAgICAgKikKLS0gICAgICAgICAgIEFDX01TR19XQVJOKFtJZ25vcmluZyBcJFNZ
U1JPT1QgYXMgaXQgaXMgbm90IGFuIGFic29sdXRlIHBhdGguXSkKLS0gICAgICAgICAgIDs7Ci0t
ICAgICAgIGVzYWMKLS0gICAgIGZpCi0tICBmaQotKyAgUEtHX0NIRUNLX01PRFVMRVMoW0dQR19F
UlJPUl0sIFtncGctZXJyb3JdLCBbCi0rICAgIEFDX0RFRklORShbSEFWRV9HUEdfRVJST1JdLCBb
MV0sIFtEZWZpbmUgaWYgeW91IGhhdmUgZ3BnLWVycm9yIGxpYnJhcnldKQotIAotLSAgQUNfUEFU
SF9QUk9HKEdQR19FUlJPUl9DT05GSUcsIGdwZy1lcnJvci1jb25maWcsIG5vKQotLSAgbWluX2dw
Z19lcnJvcl92ZXJzaW9uPWlmZWxzZShbJDFdLCAsMC4wLCQxKQotLSAgQUNfTVNHX0NIRUNLSU5H
KGZvciBHUEcgRXJyb3IgLSB2ZXJzaW9uID49ICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb24pCi0tICBv
az1ubwotLSAgaWYgdGVzdCAiJEdQR19FUlJPUl9DT05GSUciICE9ICJubyIgXAotLSAgICAgJiYg
dGVzdCAtZiAiJEdQR19FUlJPUl9DT05GSUciIDsgdGhlbgotLSAgICByZXFfbWFqb3I9YGVjaG8g
JG1pbl9ncGdfZXJyb3JfdmVyc2lvbiB8IFwKLS0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAt
OV1dKlwpXC5cKFtbMC05XV0qXCkvXDEvJ2AKLS0gICAgcmVxX21pbm9yPWBlY2hvICRtaW5fZ3Bn
X2Vycm9yX3ZlcnNpb24gfCBcCi0tICAgICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwu
XChbWzAtOV1dKlwpL1wyLydgCi0tICAgIGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbj1gJEdQR19F
UlJPUl9DT05GSUcgJGdwZ19lcnJvcl9jb25maWdfYXJncyAtLXZlcnNpb25gCi0tICAgIG1ham9y
PWBlY2hvICRncGdfZXJyb3JfY29uZmlnX3ZlcnNpb24gfCBcCi0tICAgICAgICAgICAgICAgc2Vk
ICdzL1woW1swLTldXSpcKVwuXChbWzAtOV1dKlwpLiovXDEvJ2AKLS0gICAgbWlub3I9YGVjaG8g
JGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbiB8IFwKLS0gICAgICAgICAgICAgICBzZWQgJ3MvXChb
WzAtOV1dKlwpXC5cKFtbMC05XV0qXCkuKi9cMi8nYAotLSAgICBpZiB0ZXN0ICIkbWFqb3IiIC1n
dCAiJHJlcV9tYWpvciI7IHRoZW4KLS0gICAgICAgIG9rPXllcwotLSAgICBlbHNlCi0tICAgICAg
ICBpZiB0ZXN0ICIkbWFqb3IiIC1lcSAiJHJlcV9tYWpvciI7IHRoZW4KLS0gICAgICAgICAgICBp
ZiB0ZXN0ICIkbWlub3IiIC1nZSAiJHJlcV9taW5vciI7IHRoZW4KLS0gICAgICAgICAgICAgICBv
az15ZXMKLS0gICAgICAgICAgICBmaQotLSAgICAgICAgZmkKLS0gICAgZmkKLS0gIGZpCi0tICBp
ZiB0ZXN0ICRvayA9IHllczsgdGhlbgotLSAgICBHUEdfRVJST1JfQ0ZMQUdTPWAkR1BHX0VSUk9S
X0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19hcmdzIC0tY2ZsYWdzYAotLSAgICBHUEdfRVJST1Jf
TElCUz1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9jb25maWdfYXJncyAtLWxpYnNgCi0t
ICAgIEdQR19FUlJPUl9NVF9DRkxBR1M9YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29u
ZmlnX2FyZ3MgLS1tdCAtLWNmbGFncyAyPi9kZXYvbnVsbGAKLS0gICAgR1BHX0VSUk9SX01UX0xJ
QlM9YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1tdCAtLWxpYnMg
Mj4vZGV2L251bGxgCi0tICAgIEFDX01TR19SRVNVTFQoW3llcyAoJGdwZ19lcnJvcl9jb25maWdf
dmVyc2lvbildKQotLSAgICBpZmVsc2UoWyQyXSwgLCA6LCBbJDJdKQotLSAgICBncGdfZXJyb3Jf
Y29uZmlnX2hvc3Q9YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1o
b3N0IDI+L2Rldi9udWxsIHx8IGVjaG8gbm9uZWAKLS0gICAgaWYgdGVzdCB4IiRncGdfZXJyb3Jf
Y29uZmlnX2hvc3QiICE9IHhub25lIDsgdGhlbgotLSAgICAgIGlmIHRlc3QgeCIkZ3BnX2Vycm9y
X2NvbmZpZ19ob3N0IiAhPSB4IiRob3N0IiA7IHRoZW4KLS0gIEFDX01TR19XQVJOKFtbCi0tKioq
Ci0tKioqIFRoZSBjb25maWcgc2NyaXB0ICRHUEdfRVJST1JfQ09ORklHIHdhcwotLSoqKiBidWls
dCBmb3IgJGdwZ19lcnJvcl9jb25maWdfaG9zdCBhbmQgdGh1cyBtYXkgbm90IG1hdGNoIHRoZQot
LSoqKiB1c2VkIGhvc3QgJGhvc3QuCi0tKioqIFlvdSBtYXkgd2FudCB0byB1c2UgdGhlIGNvbmZp
Z3VyZSBvcHRpb24gLS13aXRoLWdwZy1lcnJvci1wcmVmaXgKLS0qKiogdG8gc3BlY2lmeSBhIG1h
dGNoaW5nIGNvbmZpZyBzY3JpcHQgb3IgdXNlIFwkU1lTUk9PVC4KLS0qKipdXSkKLS0gICAgICAg
IGdwZ19jb25maWdfc2NyaXB0X3dhcm49IiRncGdfY29uZmlnX3NjcmlwdF93YXJuIGxpYmdwZy1l
cnJvciIKLS0gICAgICBmaQotLSAgICBmaQotLSAgZWxzZQotLSAgICBHUEdfRVJST1JfQ0ZMQUdT
PSIiCi0tICAgIEdQR19FUlJPUl9MSUJTPSIiCi0tICAgIEdQR19FUlJPUl9NVF9DRkxBR1M9IiIK
LS0gICAgR1BHX0VSUk9SX01UX0xJQlM9IiIKLS0gICAgQUNfTVNHX1JFU1VMVChubykKLS0gICAg
aWZlbHNlKFskM10sICwgOiwgWyQzXSkKLS0gIGZpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfQ0ZM
QUdTKQotLSAgQUNfU1VCU1QoR1BHX0VSUk9SX0xJQlMpCi0tICBBQ19TVUJTVChHUEdfRVJST1Jf
TVRfQ0ZMQUdTKQotLSAgQUNfU1VCU1QoR1BHX0VSUk9SX01UX0xJQlMpCi0rICAgIEdQR19FUlJP
Ul9NVF9DRkxBR1M9IiRHUEdfRVJST1JfQ0ZMQUdTIgotKyAgICBHUEdfRVJST1JfTVRfTElCUz0i
LWxwdGhyZWFkICRHUEdfRVJST1JfTElCUyIKLSsKLSsgICAgQUNfU1VCU1QoR1BHX0VSUk9SX0NG
TEFHUykKLSsgICAgQUNfU1VCU1QoR1BHX0VSUk9SX0xJQlMpCi0rICAgIEFDX1NVQlNUKEdQR19F
UlJPUl9NVF9DRkxBR1MpCi0rICAgIEFDX1NVQlNUKEdQR19FUlJPUl9NVF9MSUJTKQotKyAgXSwg
WwotKyAgICBBQ19NU0dfRVJST1IoWyRHUEdfRVJST1JfRVJST1JTXSkKLSsgIF0pCi0gXSkKLS0t
IAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEt
SEFDSy1Bdm9pZC1jb21waWxpbmctYS1rYm0tZmlsZS5wYXRjaCBiL1Rvb2xzL2ZsYXRwYWsvcGF0
Y2hlcy94dmZiLTAwMDEtSEFDSy1Bdm9pZC1jb21waWxpbmctYS1rYm0tZmlsZS5wYXRjaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODk4ODQyYjM4MWQyNTE0MGZiYzA4ZjU0YTk3MjMw
YTZkYmU0YTQ1MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Ub29scy9mbGF0cGFrL3BhdGNoZXMveHZmYi0wMDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEt
a2JtLWZpbGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1Gcm9tIGFlZDFi
NmU4ZGU0MTM3NWMxYjhiMWRmYzQ4YTM1MGUwYTliOWNiYmEgTW9uIFNlcCAxNyAwMDowMDowMCAy
MDAxCi1Gcm9tOiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotRGF0ZTog
TW9uLCAxMSBKdW4gMjAxOCAxMDo1NTo0MyAtMDQwMAotU3ViamVjdDogW1BBVENIIHhzZXJ2ZXJd
IEhBQ0s6IEF2b2lkIGNvbXBpbGluZyBhIGtibSBmaWxlCi0KLVRoaXMgd291bGQgbmVlZCB0byBi
ZSBpbiAvdXNyL3NoYXJlL1gxMS8gYXMgdGhpcyBpcyB3aGVyZQotcmVzb3VyY2UgZmlsZXMgYXJl
IGluIHRoZSBzYW5kYm94IGJ1dCBpdCBpcyByZWFkIG9ubHkgaW4gdGhlcmUuCi0KLUhhY2sgYXJv
dW5kIHRoYXQuCi0tLS0KLSB4a2IvZGR4TG9hZC5jIHwgOSArLS0tLS0tLS0KLSB4a2IveGtiSW5p
dC5jIHwgMiArLQotIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9u
cygtKQotCi1kaWZmIC0tZ2l0IGEveGtiL2RkeExvYWQuYyBiL3hrYi9kZHhMb2FkLmMKLWluZGV4
IGJiZTM5NTIuLmE0YTAzYTEgMTAwNjQ0Ci0tLS0gYS94a2IvZGR4TG9hZC5jCi0rKysgYi94a2Iv
ZGR4TG9hZC5jCi1AQCAtMTQ4LDE0ICsxNDgsNyBAQCBSdW5Ya2JDb21wKHhrYmNvbXBfYnVmZmVy
X2NhbGxiYWNrIGNhbGxiYWNrLCB2b2lkICp1c2VyZGF0YSkKLSAgICAgICAgIH0KLSAgICAgfQot
IAotLSAgICBpZiAoYXNwcmludGYoJmJ1ZiwKLS0gICAgICAgICAgICAgICAgICJcIiVzJXN4a2Jj
b21wXCIgLXcgJWQgJXMgLXhrbSBcIiVzXCIgIgotLSAgICAgICAgICAgICAgICAgIi1lbTEgJXMg
LWVtcCAlcyAtZW1sICVzIFwiJXMlcy54a21cIiIsCi0tICAgICAgICAgICAgICAgICB4a2JiaW5k
aXIsIHhrYmJpbmRpcnNlcCwKLS0gICAgICAgICAgICAgICAgICgoeGtiRGVidWdGbGFncyA8IDIp
ID8gMSA6Ci0tICAgICAgICAgICAgICAgICAgKCh4a2JEZWJ1Z0ZsYWdzID4gMTApID8gMTAgOiAo
aW50KSB4a2JEZWJ1Z0ZsYWdzKSksCi0tICAgICAgICAgICAgICAgICB4a2JiYXNlZGlyZmxhZyA/
IHhrYmJhc2VkaXJmbGFnIDogIiIsIHhrbWZpbGUsCi0tICAgICAgICAgICAgICAgICBQUkVfRVJS
T1JfTVNHLCBFUlJPUl9QUkVGSVgsIFBPU1RfRVJST1JfTVNHMSwKLSsgICAgaWYgKGFzcHJpbnRm
KCZidWYsICJjcCAvYXBwL3dlYmtpdC9Ub29scy9mbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttIFwi
JXMlcy54a21cIiIsCi0gICAgICAgICAgICAgICAgICB4a21fb3V0cHV0X2Rpciwga2V5bWFwKSA9
PSAtMSkKLSAgICAgICAgIGJ1ZiA9IE5VTEw7Ci0gCi1kaWZmIC0tZ2l0IGEveGtiL3hrYkluaXQu
YyBiL3hrYi94a2JJbml0LmMKLWluZGV4IDljNzcyZjUuLjRlMGI3NzQgMTAwNjQ0Ci0tLS0gYS94
a2IveGtiSW5pdC5jCi0rKysgYi94a2IveGtiSW5pdC5jCi1AQCAtODcsNyArODcsNyBAQCB0eXBl
ZGVmIHN0cnVjdCBfU3J2WGttSW5mbyB7Ci0gI2RlZmluZQlYS0JfREZMVF9SVUxFU19QUk9QCVRS
VUUKLSAjZW5kaWYKLSAKLS1jb25zdCBjaGFyICpYa2JCYXNlRGlyZWN0b3J5ID0gWEtCX0JBU0Vf
RElSRUNUT1JZOwotK2NvbnN0IGNoYXIgKlhrYkJhc2VEaXJlY3RvcnkgPSAiL3Vzci9zaGFyZS9Y
MTEveGtiLyI7Ci0gY29uc3QgY2hhciAqWGtiQmluRGlyZWN0b3J5ID0gWEtCX0JJTl9ESVJFQ1RP
Ulk7Ci0gc3RhdGljIGludCBYa2JXYW50QWNjZXNzWCA9IDA7Ci0gCi0tLSAKLTIuMTcuMQotCmRp
ZmYgLS1naXQgYS9Ub29scy9ndGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMgYi9Ub29scy9ndGsvaW5z
dGFsbC1kZXBlbmRlbmNpZXMKaW5kZXggNmZkNTY2ZjBkY2YzYzUxNDJmNjkwZmUyYjM5M2E2ZTAz
ZTc5ZTNhMy4uNjNiOTY3NWZjMDkxOGNlYTBkMGQ2ZGYxYTc5MTRlMzVjYzgxM2RkNiAxMDA3NTUK
LS0tIGEvVG9vbHMvZ3RrL2luc3RhbGwtZGVwZW5kZW5jaWVzCisrKyBiL1Rvb2xzL2d0ay9pbnN0
YWxsLWRlcGVuZGVuY2llcwpAQCAtMTc4LDYgKzE3OCwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVw
ZW5kZW5jaWVzV2l0aEFwdCB7CiAgICAgICAgIHdlc3RvbiBcCiAgICAgICAgIHh2ZmIiCiAKKyAg
ICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB3aXRoIHRo
ZSBGbGF0cGFrIFNESy4KKyAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAgICAgICAgZmxhdHBh
ayIKKwogICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5n
IHRoZSBqaGJ1aWxkLgogICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAogICAgICAgICBiaXNvbiBc
CkBAIC0zNDgsNiArMzUyLDEwIEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoUGFj
bWFuIHsKICAgICAgICAgd2VzdG9uIFwKICAgICAgICAgeG9yZy1zZXJ2ZXIteHZmYiIKIAorICAg
ICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHdpdGggdGhl
IEZsYXRwYWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAorICAgICAgICBmbGF0cGFr
IgorCiAgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcg
dGhlIGpoYnVpbGQuCiAgICAgIyBOb3RlOiBDb3VsZCBub3QgZmluZCBsaWJlZ2wtbWVzYQogICAg
IHBhY2thZ2VzPSIkcGFja2FnZXMgXApAQCAtNTIyLDYgKzUzMCwxMCBAQCBmdW5jdGlvbiBpbnN0
YWxsRGVwZW5kZW5jaWVzV2l0aERuZiB7CiAgICAgICAgIHdlc3Rvbi1kZXZlbCBcCiAgICAgICAg
IHhvcmcteDExLXNlcnZlci1YdmZiIgogCisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5l
Y2Vzc2FyeSBmb3IgYnVpbGRpbmcgd2l0aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9
IiRwYWNrYWdlcyBcCisgICAgICAgIGZsYXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRl
bmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB0aGUgamhidWlsZC4KICAgICBwYWNrYWdlcz0i
JHBhY2thZ2VzIFwKICAgICAgICAgYmlzb24gXApkaWZmIC0tZ2l0IGEvVG9vbHMvd3BlL2luc3Rh
bGwtZGVwZW5kZW5jaWVzIGIvVG9vbHMvd3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzCmluZGV4IGNh
MWNkM2ZkZWYwY2FmNjQ2NjgyM2U1YThlZDkyYjQ0N2M0OTBhYTEuLmYyYTVmMjVkZWQ4MzdhOWU5
MzUyNTU0YjZkMmYyYWUxZjM1MDYyNGQgMTAwNzU1Ci0tLSBhL1Rvb2xzL3dwZS9pbnN0YWxsLWRl
cGVuZGVuY2llcworKysgYi9Ub29scy93cGUvaW5zdGFsbC1kZXBlbmRlbmNpZXMKQEAgLTExMSw2
ICsxMTEsMTAgQEAgZnVuY3Rpb24gaW5zdGFsbERlcGVuZGVuY2llc1dpdGhBcHQgewogICAgICAg
ICBydWJ5LWhpZ2hsaW5lIFwKICAgICAgICAgcnVieS1qc29uIgogCisgICAgIyBUaGVzZSBhcmUg
ZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgd2l0aCB0aGUgRmxhdHBhayBTREsu
CisgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCisgICAgICAgIGZsYXRwYWsiCisKICAgICAjIFRo
ZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB0aGUgamhidWlsZC4K
ICAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKICAgICAgICAgZ2l0IFwKQEAgLTIxNCw2ICsyMTgs
MTAgQEAgZnVuY3Rpb24gaW5zdGFsbERlcGVuZGVuY2llc1dpdGhQYWNtYW4gewogICAgICAgICBy
dWJ5IFwKICAgICAgICAgdHRmLWxpYmVyYXRpb24iCiAKKyAgICAjIFRoZXNlIGFyZSBkZXBlbmRl
bmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAgICBw
YWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAgICAgICAgZmxhdHBhayIKKwogICAgICMgVGhlc2UgYXJl
IGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAgIHBh
Y2thZ2VzPSIkcGFja2FnZXMgXAogICAgICAgICBleHBhdCBcCkBAIC0zMjYsNiArMzM0LDEwIEBA
IGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoRG5mIHsKICAgICAgICAgcnVieWdlbS1o
aWdobGluZSBcCiAgICAgICAgIHJ1YnlnZW0tanNvbiIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVu
ZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAg
IHBhY2thZ2VzPSIkcGFja2FnZXMgXAorICAgICAgICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBh
cmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAg
cGFja2FnZXM9IiRwYWNrYWdlcyBcCiAgICAgICAgIGV4cGF0LWRldmVsIFwKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjMTBh
M2YyODRlMGIyNTU5OGEzNGUwMTNkM2M0ZWU1ZDg0NGEyNzhmLi43OWI2Y2M1Nzg5YzJmMWE4Mzg1
OTQ3MjExNzk4ODA3MjE3MTM4ZTFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDEtMDQg
IFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtd
W1dQRV0gTWlncmF0ZSB0byBGbGF0cGFrLWJhc2VkIGRldiBTREsKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTY1OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC9jb25mL2ZsYXRwYWstaHR0cGQu
Y29uZjogQWRqdXN0IHBhdGhzLgorCiAyMDIwLTAyLTAzICBKYWNvYiBVcGhvZmYgIDxqYWNvYl91
cGhvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIGluc3BlY3Rvci9oZWFwL2dldFJlbW90ZU9iamVj
dC5odG1sIGlzIGEgZmxha3kgY3Jhc2gKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvY29u
Zi9mbGF0cGFrLWh0dHBkLmNvbmYgYi9MYXlvdXRUZXN0cy9odHRwL2NvbmYvZmxhdHBhay1odHRw
ZC5jb25mCmluZGV4IDNjMDNlNDIzOWMyNDk4OWQ5Y2Q3OTY4NjE0NGJjN2NlMmIzMGMzMWIuLmJm
NTIxNWQ1ODlhZDYxZjg4MmQ1M2EwNjc1YWQ2N2E0NDZhYjk0M2YgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvY29uZi9mbGF0cGFrLWh0dHBkLmNvbmYKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZgpAQCAtMSw1ICsxLDUgQEAKIFNlcnZlclRva2VucyBP
UwotU2VydmVyUm9vdCAiL2FwcC8iCitTZXJ2ZXJSb290ICIvdXNyLyIKIAogUGlkRmlsZSAiL3Rt
cC9XZWJLaXQvaHR0cGQucGlkIgogU2NvcmVCb2FyZEZpbGUgIi90bXAvV2ViS2l0L2h0dHBkLnNj
b3JlYm9hcmQiCkBAIC0zMyw5ICszMyw3IEBAIExvYWRNb2R1bGUgbG9nX2NvbmZpZ19tb2R1bGUg
ICAgbW9kdWxlcy9tb2RfbG9nX2NvbmZpZy5zbwogTG9hZE1vZHVsZSBzc2xfbW9kdWxlICAgICAg
ICAgICBtb2R1bGVzL21vZF9zc2wuc28KIExvYWRNb2R1bGUgcGhwN19tb2R1bGUgICAgICAgICAg
bW9kdWxlcy9saWJwaHA3LnNvCiBMb2FkTW9kdWxlIGFzaXNfbW9kdWxlICAgICAgICAgIG1vZHVs
ZXMvbW9kX2FzaXMuc28KLUxvYWRNb2R1bGUgZW52X21vZHVsZSAgICAgICAgICAgbW9kdWxlcy9t
b2RfZW52LnNvCiAKLVNldEVudiBQRVJMNUxJQiAvYXBwL2xpYi9wZXJsCiAKIFNlcnZlck5hbWUg
MTI3LjAuMC4xCiAKQEAgLTU0LDcgKzUyLDcgQEAgQWNjZXNzRmlsZU5hbWUgLmh0YWNjZXNzCiBV
c2VDYW5vbmljYWxOYW1lIE9uCiBIb3N0bmFtZUxvb2t1cHMgT2ZmCiAKLVR5cGVzQ29uZmlnIC9l
dGMvbWltZS50eXBlcworVHlwZXNDb25maWcgL3Vzci9jb25mL21pbWUudHlwZXMKIAogTG9nTGV2
ZWwgd2FybgogTG9nRm9ybWF0ICIlaCAlbCAldSAldCBcIiVyXCIgJT5zICViIFwiJXtSZWZlcmVy
fWlcIiBcIiV7VXNlci1BZ2VudH1pXCIiIGNvbWJpbmVkCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391654</attachid>
            <date>2020-02-25 08:42:21 -0800</date>
            <delta_ts>2020-03-03 09:52:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205658-20200225164219.patch</filename>
            <type>text/plain</type>
            <size>130009</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3MzA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2U0OTNiY2UyYjUwYzJk
OWZmMTI1YzQxNDJhODIxNzJkN2VhNDIzNC4uZWJmNzkyMTdlZTc3MjZlYTdlODgyNTJhODRkYzQy
OGQ3ZjZkNzFhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAyLTA0ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVd
IE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0
aW9uTGliSHlwaGVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNjYW5UZXN0RGljdGlvbmFyaWVz
RGlyZWN0b3J5SWZOZWNlc3NhcnkpOiBDaGVjayBmb3IgZmxhdHBhay1pbnN0YWxsZWQgZGljdGlv
bmFyaWVzLgorCiAyMDIwLTAyLTI1ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBBZGQgc3VwcG9ydCBmb3IgcmVuZGVyaW5nIHNsaWRl
ciB0aWNrcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9oeXBoZW4v
SHlwaGVuYXRpb25MaWJIeXBoZW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9o
eXBoZW4vSHlwaGVuYXRpb25MaWJIeXBoZW4uY3BwCmluZGV4IDEyYmFhNGM0ZDNlOWU2M2Y3ZmY4
MWM1ZTJiMTE5NGI4YmI4YTljMDUuLmYzMzU5ZDgwNzAyMmY1NDg5YzY4ZjlhY2Y4MTZhNjcwNDJh
NTNkNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVuL0h5
cGhlbmF0aW9uTGliSHlwaGVuLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L2h5cGhlbi9IeXBoZW5hdGlvbkxpYkh5cGhlbi5jcHAKQEAgLTEyMSw4ICsxMjEsMTUgQEAgc3Rh
dGljIHZvaWQgc2NhblRlc3REaWN0aW9uYXJpZXNEaXJlY3RvcnlJZk5lY2Vzc2FyeShIYXNoTWFw
PEF0b21TdHJpbmcsIFZlY3RvcjwKICAgICAvLyBsaWJoeXBoZW4gZG9lc24ndCBoYXZlIHRoZSBj
b25jZXB0IG9mIGluc3RhbGxlZCBkaWN0aW9uYXJpZXMuIEluc3RlYWQsCiAgICAgLy8gd2UgaGF2
ZSB0aGlzIHNwZWNpYWwgY2FzZSBmb3IgV2ViS2l0IHRlc3RzLgogI2lmIFBMQVRGT1JNKEdUSykK
KyAgICAvLyBUcnkgYWx0ZXJuYXRpdmUgZGljdGlvbmFyaWVzIHBhdGggZm9yIHBlb3BsZSB1c2lu
ZyBGbGF0cGFrLgorICAgIEdVbmlxdWVQdHI8Y2hhcj4gZGljdGlvbmFyaWVzUGF0aChnX2J1aWxk
X2ZpbGVuYW1lKCIvdXNyIiwgInNoYXJlIiwgIndlYmtpdGd0ay10ZXN0LWRpY3RzIiwgbnVsbHB0
cikpOworICAgIGlmIChnX2dldGVudigiRkxBVFBBS19JRCIpICYmIGdfZmlsZV90ZXN0KGRpY3Rp
b25hcmllc1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfSVNf
RElSKSkpIHsKKyAgICAgICAgc2NhbkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0aW9uYXJp
ZXNQYXRoLmdldCgpLCBhdmFpbGFibGVMb2NhbGVzKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KwogICAgIENTdHJpbmcgYnVpbGREaXJlY3RvcnkgPSB3ZWJraXRCdWlsZERpcmVjdG9yeSgpOwot
ICAgIEdVbmlxdWVQdHI8Y2hhcj4gZGljdGlvbmFyaWVzUGF0aChnX2J1aWxkX2ZpbGVuYW1lKGJ1
aWxkRGlyZWN0b3J5LmRhdGEoKSwgIkRlcGVuZGVuY2llc0dUSyIsICJSb290IiwgIndlYmtpdGd0
ay10ZXN0LWRpY3RzIiwgbnVsbHB0cikpOworICAgIGRpY3Rpb25hcmllc1BhdGgucmVzZXQoZ19i
dWlsZF9maWxlbmFtZShidWlsZERpcmVjdG9yeS5kYXRhKCksICJEZXBlbmRlbmNpZXNHVEsiLCAi
Um9vdCIsICJ3ZWJraXRndGstdGVzdC1kaWN0cyIsIG51bGxwdHIpKTsKICAgICBpZiAoZ19maWxl
X3Rlc3QoZGljdGlvbmFyaWVzUGF0aC5nZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJ
TEVfVEVTVF9JU19ESVIpKSkgewogICAgICAgICBzY2FuRGlyZWN0b3J5Rm9yRGljdGlvbmFyaWVz
KGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIGF2YWlsYWJsZUxvY2FsZXMpOwogICAgICAgICByZXR1
cm47CkBAIC0xMzAsNyArMTM3LDkgQEAgc3RhdGljIHZvaWQgc2NhblRlc3REaWN0aW9uYXJpZXNE
aXJlY3RvcnlJZk5lY2Vzc2FyeShIYXNoTWFwPEF0b21TdHJpbmcsIFZlY3RvcjwKIAogICAgIC8v
IFRyeSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJpZXMgcGF0aCBmb3IgcGVvcGxlIG5vdCB1c2luZyBK
SEJ1aWxkLgogICAgIGRpY3Rpb25hcmllc1BhdGgucmVzZXQoZ19idWlsZF9maWxlbmFtZShidWls
ZERpcmVjdG9yeS5kYXRhKCksICJ3ZWJraXRndGstdGVzdC1kaWN0cyIsIG51bGxwdHIpKTsKLSAg
ICBzY2FuRGlyZWN0b3J5Rm9yRGljdGlvbmFyaWVzKGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIGF2
YWlsYWJsZUxvY2FsZXMpOworICAgIGlmIChnX2ZpbGVfdGVzdChkaWN0aW9uYXJpZXNQYXRoLmdl
dCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNUX0lTX0RJUikpKQorICAgICAg
ICBzY2FuRGlyZWN0b3J5Rm9yRGljdGlvbmFyaWVzKGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIGF2
YWlsYWJsZUxvY2FsZXMpOworCiAjZWxpZiBkZWZpbmVkKFRFU1RfSFlQSEVOQVRBSU9OX1BBVEgp
CiAgICAgc2NhbkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhURVNUX0hZUEhFTkFUQUlPTl9QQVRI
LCBhdmFpbGFibGVMb2NhbGVzKTsKICNlbHNlCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTg3M2U3NGU0NDg4YTlhNzM5NDc3N2RkMGYxNzg1NDAw
ZDg1MjMzMS4uZDk3MDY0NWExN2NjZDlmOWNjNDJlM2UyYzk2MjU1MGM3ZmFhMmY0NiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEx
NSBAQAorMjAyMC0wMi0wNCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+
CisKKyAgICAgICAgW0dUS11bV1BFXSBNaWdyYXRlIHRvIEZsYXRwYWstYmFzZWQgZGV2IFNESwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NjU4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSkhCdWlsZCB3
aWxsIG5vdyBiZSB1c2VkIG9ubHkgaWYgdGhlIFdFQktJVF9KSEJVSUxEIGVudmlyb25tZW50Cisg
ICAgICAgIHZhcmlhYmxlIGlzIHNldCB0byAxLCB3aGljaCBpcyB0aGUgY2FzZSBmb3IgdGhlIHRp
bWUgYmVpbmcgb24gdGhlCisgICAgICAgIEdUSyBhbmQgV1BFIEVXUy9idWlsZCBib3RzLgorCisg
ICAgICAgIEJ5IGRlZmF1bHQgdGhlIGJ1aWxkIGRlcGVuZGVuY2llcyBhcmUgbm93IGxvY2FsbHkg
aW5zdGFsbGVkIGZyb20gYQorICAgICAgICBGbGF0cGFrIHJlcG9zaXRvcnkgaG9zdGVkIGF0IGh0
dHBzOi8vc29mdHdhcmUuaWdhbGlhLmNvbS4gVGhlCisgICAgICAgIHJlcG9zaXRvcnkgY2FuIGJl
IHJlZ2VuZXJhdGVkIHdpdGggdGhlIHNjcmlwdHMgZnJvbSB0aGUKKyAgICAgICAgd2Via2l0LWZs
YXRwYWstc2RrIEdpdGh1YiBwcm9qZWN0CisgICAgICAgIChodHRwczovL2dpdGh1Yi5jb20vSWdh
bGlhL3dlYmtpdC1mbGF0cGFrLXNkaykuIFRoaXMgaXMgZG9uZQorICAgICAgICB0cmFuc3BhcmVu
dGx5IHdpdGggdGhlIHVwZGF0ZS13ZWJraXR7Z3RrLHdwZX0tbGlicyBzY3JpcHRzLiBBcworICAg
ICAgICB0aGVyZSBpcyBubyBuZWVkIHRvIHJlYnVpbGQgdGhlIGRlcGVuZGVuY2llcyBmcm9tIHNj
cmF0Y2gsIHRoZQorICAgICAgICBkZXZlbG9wZXIgdXNlci1leHBlcmllbmNlIHNob3VsZCBub3cg
YmUgbXVjaCBtb3JlIGZyaWVuZGx5IGFuZAorICAgICAgICBvdmVyYWxsIGJ1aWxkIHRpbWVzIHJl
ZHVjZWQuCisKKyAgICAgICAgQXMgYW4gYWRkaXRpb25hbCBjb21tb2RpdHksIHRoZSBuZXcgZW52
aXJvbm1lbnQgc3VwcG9ydHMgdGhlCisgICAgICAgIEdTdHJlYW1lciBnc3QtYnVpbGQtYmFzZWQg
d29ya2Zsb3cuIEp1c3Qgc2V0IHRoZSBHU1RfQlVJTERfUEFUSAorICAgICAgICBlbnZpcm9ubWVu
dCB2YXJpYWJsZSB0byB5b3VyIGdzdC1idWlsZCBwYXRoLiBUaGlzIGZlYXR1cmUgd2FzCisgICAg
ICAgIGNvbnRyaWJ1dGVkIGJ5IFRoaWJhdWx0IFNhdW5pZXIuCisKKyAgICAgICAgVGhlIEpIQnVp
bGQgaW5mcmFzdHJ1Y3R1cmUgd2lsbCBiZSByZW1vdmVkIG9uY2UgYWxsIHRoZSBib3RzIGhhdmUK
KyAgICAgICAgYmVlbiBzd2l0Y2hlZCBvdmVyIHRvIEZsYXRwYWsuCisKKyAgICAgICAgKiBCdWls
ZFNsYXZlU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHk6CisgICAgICAgIChJbnN0YWxsR3RrRGVw
ZW5kZW5jaWVzKToKKyAgICAgICAgKEluc3RhbGxXcGVEZXBlbmRlbmNpZXMpOgorICAgICAgICAo
Q29tcGlsZVdlYktpdC5zdGFydCk6CisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1
aWxkYm90L3J1bjoKKyAgICAgICAgKiBTY3JpcHRzL2J1aWxkLXdlYmtpdDoKKyAgICAgICAgKiBT
Y3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1idWlsdGlu
cy1nZW5lcmF0b3ItdGVzdHM6CisgICAgICAgICogU2NyaXB0cy9ydW4tZ3RrLXRlc3RzOgorICAg
ICAgICAqIFNjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzOgorICAgICAgICAqIFNjcmlw
dHMvcnVuLW1pbmlicm93c2VyOgorICAgICAgICAqIFNjcmlwdHMvcnVuLXF0LXdwZS1taW5pYnJv
d3NlcjoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi13ZWJkcml2ZXItdGVzdHM6CisgICAgICAgICog
U2NyaXB0cy9ydW4td3BlLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvdGVzdC13ZWJraXRwZXJs
OgorICAgICAgICAqIFNjcmlwdHMvdGVzdC13ZWJraXRweToKKyAgICAgICAgKiBTY3JpcHRzL3Rl
c3QyNjItcnVubmVyOgorICAgICAgICAqIFNjcmlwdHMvdXBkYXRlLXdlYmtpdC1mbGF0cGFrOiBS
ZW5hbWVkIGZyb20gVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsuCisgICAg
ICAgICogU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWxpYnM6CisgICAgICAgICogU2NyaXB0cy91
cGRhdGUtd2Via2l0d3BlLWZsYXRwYWs6IFJlbW92ZWQuCisgICAgICAgICogU2NyaXB0cy91cGRh
dGUtd2Via2l0d3BlLWxpYnM6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRkaXJzLnBtOgorICAg
ICAgICAoZ2V0VXNlckZsYXRwYWtQYXRoKToKKyAgICAgICAgKGluRmxhdHBha1NhbmRib3gpOgor
ICAgICAgICAocnVuSW5GbGF0cGFrSWZBdmFpbGFibGUpOgorICAgICAgICAod3JhcHBlclByZWZp
eElmTmVlZGVkKToKKyAgICAgICAgKHNob3VsZFVzZUpoYnVpbGQpOgorICAgICAgICAoc2hvdWxk
VXNlRmxhdHBhayk6CisgICAgICAgIChzaG91bGRSZW1vdmVDTWFrZUNhY2hlKToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlLnB5OgorICAgICAgICAo
RXhlY3V0aXZlLmtpbGxfYWxsKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFz
ZS5weToKKyAgICAgICAgKFBvcnQuX3BhdGhfdG9fYXBhY2hlKToKKyAgICAgICAgKFBvcnQuX3No
b3VsZF9ydW5fYXNfcGl4ZWxfdGVzdCk6CisgICAgICAgIChQb3J0Ll9pbl9mbGF0cGFrX3NhbmRi
b3gpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHk6CisgICAgICAgIChH
dGtQb3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcik6CisgICAgICAgIChHdGtQb3J0Ll9nZXRf
Y3Jhc2hfbG9nKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2Ny
YXNoX2xvZy5weToKKyAgICAgICAgKEdEQkNyYXNoTG9nR2VuZXJhdG9yKToKKyAgICAgICAgKEdE
QkNyYXNoTG9nR2VuZXJhdG9yLl9faW5pdF9fKToKKyAgICAgICAgKEdEQkNyYXNoTG9nR2VuZXJh
dG9yLmdlbmVyYXRlX2NyYXNoX2xvZyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0
L2xpbnV4X2dldF9jcmFzaF9sb2dfdW5pdHRlc3QucHk6CisgICAgICAgIChHREJDcmFzaExvZ0dl
bmVyYXRvclRlc3QudGVzdF9nZW5lcmF0ZV9jcmFzaF9sb2cpOgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvcG9ydC93cGUucHk6CisgICAgICAgIChXUEVQb3J0LnNldHVwX2Vudmlyb25fZm9y
X3NlcnZlcik6CisgICAgICAgIChXUEVQb3J0Ll9nZXRfY3Jhc2hfbG9nKToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlci5weToKKyAgICAgICAgKFh2ZmJEcml2ZXIu
X3NldHVwX2Vudmlyb25fZm9yX3Rlc3QpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvZ3RrL0FjdGl2YXRlRm9udHNHdGsuY3BwOgorICAgICAgICAoV1RSOjpnZXRG
b250c1BhdGgpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3Bl
L0FjdGl2YXRlRm9udHNXUEUuY3BwOgorICAgICAgICAoV1RSOjpnZXRGb250c1BhdGgpOgorICAg
ICAgICAqIGZsYXRwYWsvZmlsZXMvZGVmYXVsdC54a206IFJlbW92ZWQuCisgICAgICAgICogZmxh
dHBhay9maWxlcy9odHRwZC1hdXRvZ2VuLnNoOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsv
ZmxhdHBha3V0aWxzLnB5OgorICAgICAgICAoY2hlY2tfZmxhdHBhayk6CisgICAgICAgIChGbGF0
cGFrUmVwb3MudXBkYXRlKToKKyAgICAgICAgKEZsYXRwYWtQYWNrYWdlLl9fcmVwcl9fKToKKyAg
ICAgICAgKEZsYXRwYWtQYWNrYWdlLl9fc3RyX18pOgorICAgICAgICAoV2Via2l0RmxhdHBhay5s
b2FkX2Zyb21fYXJncyk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLl9faW5pdF9fKToKKyAgICAg
ICAgKFdlYmtpdEZsYXRwYWsuY2xlYW5fYXJncyk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnNl
dHVwX2J1aWxkZGlyKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWspOgorICAgICAgICAoV2Via2l0
RmxhdHBhay5zZXR1cF9nc3RidWlsZCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnJ1bl9pbl9z
YW5kYm94KToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsucnVuKToKKyAgICAgICAgKFdlYmtpdEZs
YXRwYWsuaGFzX2Vudmlyb25tZW50KToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuc2F2ZV9jb25m
aWcpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5zZXR1cF9kZXZfZW52KToKKyAgICAgICAgKFdl
YmtpdEZsYXRwYWsuaW5zdGFsbF9hbGwpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5ydW5fZ2Ri
KToKKyAgICAgICAgKiBmbGF0cGFrL29yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sOiBSZW1v
dmVkLgorICAgICAgICAqIGZsYXRwYWsvb3JnLndlYmtpdC5HVEsueWFtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmbGF0cGFrL29yZy53ZWJraXQuV1BFLnlhbWw6IFJlbW92ZWQuCisgICAgICAgICog
ZmxhdHBhay9vcmcud2Via2l0LldQRU1vZHVsZXMueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
bGF0cGFrL29yZy53ZWJraXQuV1BFUVQueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFr
L29yZy53ZWJraXQuV2ViS2l0LnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9wYXRj
aGVzL2h0dHBkLTAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1QQ1JFLWRldGVjdGlv
bi5wYXRjaDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL3BhdGNoZXMvbGliZ2NyeXB0LTAw
MDEtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRjaDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmbGF0cGFrL3BhdGNoZXMveHZmYi0wMDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEt
a2JtLWZpbGUucGF0Y2g6IFJlbW92ZWQuCisKIDIwMjAtMDItMjQgIFl1c3VrZSBTdXp1a2kgIDx5
c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbV1RGXSBBZGQgdGVzdHMgZm9yIENvbXBhY3RS
ZWZQdHJUdXBsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL1JFQURN
RSBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9SRUFETUUKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGY5Zjg5Zjk4MjFhZWVhMjBlZGI3Y2VkYmNhYmZiNzdmMzgwYmQyYzMuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvQnVpbGRT
bGF2ZVN1cHBvcnQvZ3RrL1JFQURNRQorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSBSdW5uaW5nIGEg
R1RLKyBidWlsZCBzbGF2ZSB1bmRlciBkYWVtb250b29scwotPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotCi1UaGlzIGRpcmVjdG9yeSBjb250YWlucyBzZXZl
cmFsIHNjcmlwdHMgd2hpY2ggY2FuIGJlIHVzZWQgdG8gcnVuIGEgV2ViS2l0R1RLCi1idWlsZCBz
bGF2ZSB1bmRlciBkYWVtb250b29scyBbMV0uIFRoaXMgaXMgY29udmVuaWVudCBiZWNhdXNlIGRh
ZW1vbnRvb2xzCi13aWxsIGF1dG9tYXRpY2FsbHkgcmVzdGFydCBzZXJ2aWNlcyB3aGVuIHRoZXkg
ZGllLCBhbmQgdGhhdCBtZWFucyBsZXNzIGh1bWFuCi1pbnRlcnZlbnRpb24gaXMgbmVlZGVkLgot
Ci0KLURlcGVuZGVuY2llcwotPT09PT09PT09PT09Ci0KLUluIG9yZGVyIHRvIHVzZSB0aGUgcHJv
dmlkZWQgc2VydmljZSBjb250cm9sIGZpbGVzLCB5b3Ugd2lsbCBuZWVkIHRoZQotZm9sbG93aW5n
OgotCi0qIFRoZSBHTlUgQmFzaCBzaGVsbCAodGhlIHNjcmlwdHMgY29udGFpbiBzb21lIGJhc2gt
aXNtcykKLQotKiBUaGUgZGFlbW9udG9vbHMgcGFja2FnZSAob3Igb25lIG9mIGl0cyBkcm9wLWlu
IHJlcGxhY2VtZW50cywgbGlrZSBydW5pdAotICBvciBmcmVlZHQ7IGJ1dCBvbmx5IGRhZW1vbnRv
b2xzIGhhcyBiZWVuIHRlc3RlZCBzbyBmYXIpLgotCi1JbiBzaG9ydCwgaW4gYSBEZWJpYW4tYmFz
ZWQgc3lzdGVtIHlvdSBjYW4gZW5zdXJlIHlvdSBoYXZlIHRoZSBuZWVkZWQgYml0cwotd2l0aCB0
aGUgZm9sbG93aW5nIGNvbW1hbmQ6Ci0KLSAgYXB0LWdldCBpbnN0YWxsIGRhZW1vbnRvb2xzLXJ1
bgotCi0KLVNldHVwCi09PT09PQotCi0xLiBGb2xsb3cgdGhlIGluc3RydWN0aW9ucyBhdCBodHRw
Oi8vdHJhYy53ZWJraXQub3JnL3dpa2kvQnVpbGRCb3QKLQotMi4gSW5zdGFsbCB0aGUgZGVwZW5k
ZW5jaWVzIG91dGxpbmVkIGFib3ZlLgotCi0zLiBDb3B5ICJkYWVtb250b29scy1idWlsZGJvdC5j
b25mIiB0byAiL2V0Yy9kYWVtb250b29scy1idWlsZGJvdC5jb25mIgotCi00LiBFZGl0IHRoZSBj
b25maWd1cmF0aW9uIGZpbGUgdG8gc3VpdCB5b3VyIG5lZWRzLCB0aGUgY29tbWVudHMgc2hvdWxk
Ci0gICBiZSBzZWxmLWV4cGxhbmF0b3J5LgotCi01LiBEcm9wIHRoZSAiYnVpbGRib3QiIGFuZCAi
cHVsc2VhdWRpbyIgZGlyZWN0b3JpZXMgdG8gdGhlIHNlcnZpY2UgY29udHJvbCBkaXJlY3Rvcnkg
b2YKLSAgIGRhZW1vbnRvb2xzOyBmb3IgRGViaWFuLWJhc2VkIHNldHVwcyB0aGF0IHdvdWxkIGJl
ICIvZXRjL3NlcnZpY2UiCi0KLQotUmVmZXJlbmNlcwotPT09PT09PT09PQotCi1bMV0gaHR0cDov
L2NyLnlwLnRvL2RhZW1vbnRvb2xzLmh0bWwKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2
ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L2xvZy9ydW4gYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9n
dGsvYnVpbGRib3QvbG9nL3J1bgpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggZjZjNzQ0
YzZkZGE0NWNiZTJiNWQwZmE4YzRmMjViYWI1MWY2YTRkZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVp
bGRib3QvbG9nL3J1bgorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLSMhIC91c3IvYmlu
L2VudiBiYXNoCi0jCi0jIENvcHlyaWdodCAoQykgMjAxMCBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotIwotIyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0jIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotIyB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotIyBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwot
IyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLQotOiAke0JVSUxE
Qk9UX0NPTkZJRzo9L2V0Yy9kYWVtb250b29scy1idWlsZGJvdC5jb25mfQotCi0jIFJlYWQgY29u
ZmlndXJhdGlvbiBmaWxlCi1bIC1yICIke0JVSUxEQk9UX0NPTkZJR30iIF0gJiYgLiAiJHtCVUlM
REJPVF9DT05GSUd9IgotCi06ICR7YnVpbGRib3RfdXNlcjo9JHtIT01FfX0KLTogJHtidWlsZGJv
dF9sb2dfcGF0aDo9L3Zhci9sb2cvYnVpbGRib3R9Ci0KLSMgRXhwYW5kIGFsbCAiZW52XyoiIGVu
dmlyb25tZW50IHZhcmlhYmxlcwotZm9yIHZhcm5hbWUgaW4gJHshZW52Xyp9IDsgZG8KLQlldmFs
ICJleHBvcnQgJHt2YXJuYW1lI2Vudl99PVwkeyR7dmFybmFtZX19IgotZG9uZQotCi1ta2RpciAt
cCAiJHtidWlsZGJvdF9sb2dfcGF0aH0iCi1jaG93biAiJHtidWlsZGJvdF91c2VyfSIgIiR7YnVp
bGRib3RfbG9nX3BhdGh9IgotCi1leGVjIC91c3IvYmluL3NldHVpZGdpZCAiJHtidWlsZGJvdF91
c2VyfSIgXAotICAgICAvdXNyL2Jpbi9tdWx0aWxvZyB0ICIke2J1aWxkYm90X2xvZ19wYXRofSIK
LQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L3J1biBi
L1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWlsZGJvdC9ydW4KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNzU1CmluZGV4IDE2NmMzODNlYThlNmMxMGZjYzA1ZWYwN2VkNGY0ODg5YmJiYjllYWEu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvQnVp
bGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L3J1bgorKysgL2Rldi9udWxsCkBAIC0xLDc3ICsw
LDAgQEAKLSMhIC91c3IvYmluL2VudiBiYXNoCi0jCi0jIENvcHlyaWdodCAoQykgMjAxMCBJZ2Fs
aWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0jIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotIyB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQotIyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAg
SWYgbm90LCB3cml0ZSB0bwotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAyMTEwLTEzMDEs
IFVTQS4KLQotZXhlYyAyPiYxCi0KLTogJHtCVUlMREJPVF9DT05GSUc6PS9ldGMvZGFlbW9udG9v
bHMtYnVpbGRib3QuY29uZn0KLQotIyBSZWFkIGNvbmZpZ3VyYXRpb24gZmlsZQotWyAtciAiJHtC
VUlMREJPVF9DT05GSUd9IiBdICYmIC4gIiR7QlVJTERCT1RfQ09ORklHfSIKLQotIyBFeHBhbmQg
YWxsICJlbnZfKiIgZW52aXJvbm1lbnQgdmFyaWFibGVzCi1mb3IgdmFybmFtZSBpbiAkeyFlbnZf
Kn0gOyBkbwotCWV2YWwgImV4cG9ydCAke3Zhcm5hbWUjZW52X309XCR7JHt2YXJuYW1lfX0iCi1k
b25lCi0KLQotaWYgISBbICIke2J1aWxkYm90X3BhdGh9IiBdIDsgdGhlbgotCWVjaG8gIk5vIFwk
e2J1aWxkYm90X3BhdGh9IGRlZmluZWQhICh3aWxsIHNsZWVwIGZvciA1IG1pbnV0ZXMpIgotCXNs
ZWVwIDMwMAotCWV4aXQgMTExCi1maQotCi0KLWlmICEgWyAiJHtXRUJLSVRfVEVTVEZPTlRTfSIg
XSA7IHRoZW4KLQllY2hvICJObyBcJHtXRUJLSVRfVEVTVEZPTlRTfSBlbnZpcm9ubWVudCB2YXJp
YWJsZSEgKHdpbGwgc2xlZXAgZm9yIDUgbWludXRlcykiCi0Jc2xlZXAgMzAwCi0JZXhpdCAxMTEK
LWZpCi0KLQotaWYgWyAiJHtjb3JlZHVtcF9vdXRwdXQ6PScnfSIgXSA7IHRoZW4KLQkjIEVuc3Vy
ZSB0aGF0IHRoZSBvdXRwdXQgZGlyZWN0b3J5IGV4aXN0cy4KLQlpZiBbWyAhIC1kICR7Y3Jhc2ht
b25fb3V0cHV0fSBdXSA7IHRoZW4KLQkJbWtkaXIgLXAgIiR7Y3Jhc2htb25fb3V0cHV0fSIKLQlm
aQotCi0JdWxpbWl0IC1jICIke2NyYXNobW9uX21heF9zaXplOj11bmxpbWl0ZWR9IgotZmkKLQot
Ci1pZiBbICIke2NjYWNoZV9wYXRofSIgXSA7IHRoZW4KLQlleHBvcnQgUEFUSD0iJHtjY2FjaGVf
cGF0aH06JHtQQVRIfSIKLWZpCi0KLTogJHtidWlsZGJvdF91c2VyOj0ke1VTRVJ9fQotCi1jZCAi
JHtidWlsZGJvdF9wYXRofSIKLWV4ZWMgL3Vzci9iaW4vZW52IC0gICAgICAgICAgXAotCQlURVJN
PWR1bWIgICAgICAgICAgICAgICAgIFwKLQkJVFo9UFNUOFBEVCAgICAgICAgICAgICAgICAgXAot
CQlQQVRIPSIke1BBVEh9IiAgICAgICAgICAgICAgXAotCQlTSEVMTD0vYmluL2Jhc2ggICAgICAg
ICAgICAgIFwKLQkJTEFORz1lbl9VUy5VVEYtOCAgICAgICAgICAgICAgXAotCQlVU0VSPSIke2J1
aWxkYm90X3VzZXJ9IiAgICAgICAgXAotCQlMT0dOQU1FPSIke2J1aWxkYm90X3VzZXJ9IiAgICAg
IFwKLQkJSE9NRT0iL2hvbWUvJHtidWlsZGJvdF91c2VyfSIgICAgXAotCQlESVNQTEFZPSIke3h2
ZmJfZGlzcGxheTotJzoxMCd9IiAgXAotCQlNQUlMPSIvdmFyL21haWwvJHtidWlsZGJvdF91c2Vy
fSIgIFwKLQkvdXNyL2Jpbi9zZXR1aWRnaWQgIiR7YnVpbGRib3RfdXNlcn0iIFwKLQkvdXNyL2Jp
bi90d2lzdGQgLW5veSBidWlsZGJvdC50YWMKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2
ZVN1cHBvcnQvZ3RrL2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNvbmYgYi9Ub29scy9CdWlsZFNsYXZl
U3VwcG9ydC9ndGsvZGFlbW9udG9vbHMtYnVpbGRib3QuY29uZgpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDZhZjI5ZjdiMDYyNjgyMTZjZTRhMWYxYWFlZThkNDYyMGQyNGRmZC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9CdWlsZFNs
YXZlU3VwcG9ydC9ndGsvZGFlbW9udG9vbHMtYnVpbGRib3QuY29uZgorKysgL2Rldi9udWxsCkBA
IC0xLDQ1ICswLDAgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDEwIElnYWxpYSBTLkwuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMKLSMgVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFsb25nIHdpdGgg
dGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
Ci0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotCi0KLSMgUGF0
aCB0byB0aGUgQnVpbGRib3Qgc2xhdmUgZGlyZWN0b3J5Ci0jCi1idWlsZGJvdF9wYXRoPSIvaG9t
ZS9zbGF2ZS93ZWJraXRndGsiCi0KLSMgVXNlciBhY2NvdW50IHVzZWQgdG8gcnVuIEJ1aWxkYm90
LgotIwotYnVpbGRib3RfdXNlcj0ic2xhdmUiCi0KLSMgUGF0aCB0byBhIGRpcmVjdG9yeSB3aGVy
ZSB0byBsb2cgQnVpbGRib3Qgb3V0cHV0Ci0jCi1idWlsZGJvdF9sb2dfcGF0aD0iL3Zhci9sb2cv
YnVpbGRib3QiCi0KLQotIyBJZiB5b3Ugd2FudCB0byB1c2UgY2NhY2hlLCBzZXQgYSBwYXRoIHRv
IHdoZXJlIHN5bmxpbmtzIHdpdGggdG9vbAotIyBuYW1lcyBwb2ludGluZyB0byBjY2FjaGUgYXJl
IGluc3RhbGxlZC4gSW4gRGViaWFuIHN5c3RlbXMgdGhpcwotIyB3b3VsZCBiZSAvdXNyL2xpYi9j
Y2FjaGUuIFNldCB0byBlbXB0eSB0byBkaXNhYmxlLgotIwotY2NhY2hlX3BhdGg9Ii91c3IvbGli
L2NjYWNoZSIKLQotCi0jIEVudmlyb25tZW50IHZhcmlhYmxlcy4gUHJlZml4IHRoZW0gd2l0aCAi
ZW52XyIuCi0jCi1lbnZfQ0ZMQUdTPSItcGlwZSIKLWVudl9DWFhGTEFHUz0iLXBpcGUiCi1lbnZf
TERGTEFHUz0iLW5vLWluc3RhbGwgLW5vLWZhc3QtaW5zdGFsbCIKLWVudl9XRUJLSVRfVEVTVEZP
TlRTPSIvaG9tZS8ke2J1aWxkYm90X3VzZXJ9L3Rlc3Rmb250cyIKLQpkaWZmIC0tZ2l0IGEvVG9v
bHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL3B1bHNlYXVkaW8vcnVuIGIvVG9vbHMvQnVpbGRTbGF2
ZVN1cHBvcnQvZ3RrL3B1bHNlYXVkaW8vcnVuCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRl
eCA3YzExN2FkOWQyMDczOThkODZmMDI3MzhlNTkzMTg5NTkxN2Q1Njc4Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0
L2d0ay9wdWxzZWF1ZGlvL3J1bgorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLSMhIC91
c3IvYmluL2VudiBiYXNoCi0jCi0jIENvcHlyaWdodCAoQykgMjAxMCBJZ2FsaWEgUy5MLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotIwotIyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0jIExpY2Vuc2UgYXMgcHVibGlzaGVk
IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotIyB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0j
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotIyBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bwotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLQotZXhl
YyAyPiYxCi1leGVjIC91c3IvYmluL3B1bHNlYXVkaW8gLS1zeXN0ZW0gXAotCS0tZGlzYWxsb3ct
ZXhpdCAtLWRpc2FsbG93LW1vZHVsZS1sb2FkaW5nIFwKLQktLWxvZy10YXJnZXQ9c3lzbG9nCi0K
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0IGIvVG9vbHMvU2NyaXB0cy9i
dWlsZC13ZWJraXQKaW5kZXggZmMwNjY0YTY1MDU1NDZmNDI4Yzc1MTRiOTY3NTExOWI3NWE2MjE0
MC4uMDk5ZDMzYTRiOWI5Y2RmNDMyY2QxMDI2ZWE2YWFlMGNiOTI1N2E3NyAxMDA3NTUKLS0tIGEv
VG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKKysrIGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJr
aXQKQEAgLTUzLDggKzUzLDggQEAgc2V0Q29uZmlndXJhdGlvbigpOwogCiBpZiAoc2hvdWxkVXNl
RmxhdHBhaygpKSB7CiAgICAgcHJpbnQgIkJ1aWxkaW5nIGZsYXRwYWsgYmFzZWQgZW52aXJvbm1l
bnRcbiI7Ci0KLSAgICBydW5JbkZsYXRwYWsoIi9hcHAvd2Via2l0L1Rvb2xzL1NjcmlwdHMvYnVp
bGQtd2Via2l0Iik7CisgICAgbXkgQGNvbW1hbmQgPSAoRmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3Vy
Y2VEaXIoKSwgIlRvb2xzIiwgIlNjcmlwdHMiLCAiYnVpbGQtd2Via2l0IikpOworICAgIHJ1bklu
RmxhdHBhayhAY29tbWFuZCk7CiB9CiAKIG15ICRvcmlnaW5hbFdvcmtpbmdEaXJlY3RvcnkgPSBn
ZXRjd2QoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWJpbmRpbmdzLXRlc3RzIGIv
VG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMKaW5kZXggZjZlNDQ3NzI1MGY5ZTE5ZTM5
NThlZmNiN2Q2ZTgxZTJhYzI4YzlhYi4uMGFjMGIzYTMxMDg4YTEyMmUwOTk4ZWE0OTU2NWJmMjM4
NzczOGE1MCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMKKysr
IGIvVG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMKQEAgLTMzLDYgKzMzLDExIEBAIGlt
cG9ydCBvcwogaW1wb3J0IHN5cwogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtIGltcG9ydCBl
eGVjdXRpdmUKIAordG9wX2xldmVsX2RpcmVjdG9yeSA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0
aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICcuLicsICcuLicpKQorc3lzLnBhdGgu
aW5zZXJ0KDAsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxfZGlyZWN0b3J5LCAnVG9vbHMnLCAnZmxh
dHBhaycpKQoraW1wb3J0IGZsYXRwYWt1dGlscworZmxhdHBha3V0aWxzLnJ1bl9pbl9zYW5kYm94
X2lmX2F2YWlsYWJsZShzeXMuYXJndikKKwogZGVmIG1haW4oYXJndik6CiAgICAgIiIiUnVucyBX
ZWJDb3JlIGJpbmRpbmdzIGNvZGUgZ2VuZXJhdG9ycyBvbiB0ZXN0IElETCBmaWxlcyBhbmQgY29t
cGFyZXMKICAgICB0aGUgcmVzdWx0cyB3aXRoIHJlZmVyZW5jZSBmaWxlcy4KZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRvci10ZXN0cyBiL1Rvb2xzL1Njcmlw
dHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRvci10ZXN0cwppbmRleCAyMzk4Yzc4Y2ExMGVjNTk3NjI2
NjEyYzg1NTUzYWJkMWE0ZTZmYmQ0Li5mYmIwODY0MjQxOTc0ZWE2MDM1ZGE4OGIzNjc5YmM0M2Mw
MmM3ZTlkIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1idWlsdGlucy1nZW5lcmF0b3It
dGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tYnVpbHRpbnMtZ2VuZXJhdG9yLXRlc3RzCkBA
IC0yNSw2ICsyNSwxMiBAQAogaW1wb3J0IHN5cwogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVt
IGltcG9ydCBleGVjdXRpdmUKIAoraW1wb3J0IG9zCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3Mu
cGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgJy4u
JywgJy4uJykpCitzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJl
Y3RvcnksICdUb29scycsICdmbGF0cGFrJykpCitpbXBvcnQgZmxhdHBha3V0aWxzCitmbGF0cGFr
dXRpbHMucnVuX2luX3NhbmRib3hfaWZfYXZhaWxhYmxlKHN5cy5hcmd2KQorCiBkZWYgbWFpbihh
cmd2KToKICAgICAiIiJSdW5zIHRoZSBKUyBidWlsdGlucyBjb2RlIGdlbmVyYXRvciBvbiB0ZXN0
IGlucHV0IGZpbGVzIGFuZCBjb21wYXJlcwogICAgIHRoZSByZXN1bHRzIHdpdGggcmVmZXJlbmNl
IGZpbGVzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzIGIvVG9vbHMv
U2NyaXB0cy9ydW4tZ3RrLXRlc3RzCmluZGV4IDQxYjA1ZTJkZjRiMWU2ZDhmZTM4ZWEzYzU0OWI1
MzM1ODRhNDI5N2UuLmQzOTc0OGY0YzNkOGZkZmNlZmYxYTIyOTlhZGE0MmM4N2U2NWFhZTUgMTAw
NzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWd0ay10ZXN0cworKysgYi9Ub29scy9TY3JpcHRz
L3J1bi1ndGstdGVzdHMKQEAgLTEzMyw3ICsxMzMsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWlu
X18iOgogICAgIGlmIG5vdCBmbGF0cGFrdXRpbHMuaXNfc2FuZGJveGVkKCkgYW5kIG5vdCBqaGJ1
aWxkdXRpbHMuZW50ZXJfamhidWlsZF9lbnZpcm9ubWVudF9pZl9hdmFpbGFibGUoImd0ayIpOgog
ICAgICAgICBwcmludCAnKioqJwogICAgICAgICBwcmludCAnKioqIFdhcm5pbmc6IGpoYnVpbGQg
ZW52aXJvbm1lbnQgbm90IHByZXNlbnQgYW5kIG5vdCBydW5uaW5nIGluIGZsYXRwYWsuJwotICAg
ICAgICBwcmludCAnKioqIFJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtp
dGd0ay1mbGF0cGFrIGJlZm9yZSBidWlsZC13ZWJraXQgdG8gZW5zdXJlIHByb3BlciB0ZXN0aW5n
Li4nCisgICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13ZWJraXRndGstbGlicyBvciB1cGRh
dGUtd2Via2l0LWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRl
c3RpbmcuLicKICAgICAgICAgcHJpbnQgJyoqKicKIAogICAgIG9wdGlvbl9wYXJzZXIgPSBvcHRw
YXJzZS5PcHRpb25QYXJzZXIodXNhZ2U9J3VzYWdlOiAlcHJvZyBbb3B0aW9uc10gW3Rlc3QuLi5d
JykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzIGIv
VG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKaW5kZXggNWFjZThiNDc0Mjlm
OGExYzcwMzUwMzIzZmJhZmE2NWEwNDBiY2VhYi4uODBhNGI5YmU2NzhkNTBkM2RmNGFmMDY0NzE3
N2M2YjkyNmY4OWIwYSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNv
cmUtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKQEAg
LTQ2LDYgKzQ2LDEyIEBAIHVzZSBUZXh0OjpQYXJzZVdvcmRzOwogc2V0Q29uZmlndXJhdGlvbigp
OwogbXkgJGNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uKCk7CiAKK2lmIChzaG91bGRVc2VG
bGF0cGFrKCkpIHsKKyAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJj
ZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMiKSk7
CisgICAgcnVuSW5GbGF0cGFrKEBjb21tYW5kKTsKK30KKworCiAjIFRoZXNlIHZhcmlhYmxlcyBh
cmUgaW50ZW50aW9uYWxseSBsZWZ0IHVuZGVmaW5lZC4KIG15ICRyb290OwogbXkgJHNob3dIZWxw
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXIgYi9Ub29scy9TY3Jp
cHRzL3J1bi1taW5pYnJvd3NlcgppbmRleCA0Y2Y2YmU0MDQ3YmZkNzZkNjgxMDlhYjI5YWE2OGE5
MGRjMDg2NmUxLi45MGNkM2ZhZjQzMWFlYjkyOGRmZDZkZGZkNmVkNmQyM2QyZjIxY2NjIDEwMDc1
NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlcgorKysgYi9Ub29scy9TY3JpcHRz
L3J1bi1taW5pYnJvd3NlcgpAQCAtNDUsNyArNDUsOCBAQCBwcm9oaWJpdFVua25vd25Qb3J0KCk7
CiBzZXRDb25maWd1cmF0aW9uKCk7CiAKIGlmIChpc0d0aygpIHx8IGlzV1BFKCkpIHsKLSAgICBy
dW5JbkZsYXRwYWtJZkF2YWlsYWJsZSgiL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9ydW4tbWlu
aWJyb3dzZXIiKTsKKyAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJj
ZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tbWluaWJyb3dzZXIiKSk7CisgICAgcnVu
SW5GbGF0cGFrSWZBdmFpbGFibGUoQGNvbW1hbmQpOwogCiAgICAgIyBDaGVjayB0byBzZWUgdGhh
dCBhbGwgdGhlIGZyYW1ld29ya3MgYXJlIGJ1aWx0LgogICAgIGNoZWNrRnJhbWV3b3JrcygpOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tcGVyZi10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMv
cnVuLXBlcmYtdGVzdHMKaW5kZXggMWJmOGVjODYyNzAyNWVhOGRiYTg1Zjc2NzRiZDg0NTlhZTkx
M2RmNS4uYzBkODc4M2U2YzE2OTk4NmJhY2JjMzdjMmUxODQzODc3YmFhNzFkMiAxMDA3NTUKLS0t
IGEvVG9vbHMvU2NyaXB0cy9ydW4tcGVyZi10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1w
ZXJmLXRlc3RzCkBAIC0zMCw4ICszMCwxNCBAQAogIiIiUnVuIHBlcmZvcm1hbmNlIHRlc3RzLiIi
IgogCiBpbXBvcnQgbG9nZ2luZworaW1wb3J0IG9zCiBpbXBvcnQgc3lzCiAKK3RvcF9sZXZlbF9k
aXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUo
X19maWxlX18pLCAnLi4nLCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4o
dG9wX2xldmVsX2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBmbGF0cGFr
dXRpbHMKK2ZsYXRwYWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lzLmFyZ3Yp
CisKIGZyb20gd2Via2l0cHkucGVyZm9ybWFuY2VfdGVzdHMucGVyZnRlc3RzcnVubmVyIGltcG9y
dCBQZXJmVGVzdHNSdW5uZXIKIAogaWYgJ19fbWFpbl9fJyA9PSBfX25hbWVfXzoKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvcnVuLXF0LXdwZS1taW5pYnJvd3NlciBiL1Rvb2xzL1NjcmlwdHMv
cnVuLXF0LXdwZS1taW5pYnJvd3NlcgppbmRleCA1MmEzOGUxNTI2Mzg1M2FjYjhjMTU0ODQ3MDhi
NTQ3MzkwMThjZTUxLi44YzhlZjcwNTZhMzRhZTk4ZTcyNzExZGE3ZmVmN2I1MTJhMjFmY2M4IDEw
MDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXIKKysrIGIvVG9v
bHMvU2NyaXB0cy9ydW4tcXQtd3BlLW1pbmlicm93c2VyCkBAIC0zOCw5ICszOCwxMyBAQCBteSBA
amhidWlsZFdyYXBwZXI7CiBteSAkY29uZmlndXJhdGlvbiA9IHBhc3NlZENvbmZpZ3VyYXRpb24o
KTsKIG15ICRwcm9kdWN0RGlyID0gcHJvZHVjdERpcigpOwogCi0kbGliUGF0aCA9ICIvYXBwL3dl
YmtpdC9XZWJLaXRCdWlsZC8kY29uZmlndXJhdGlvbi9saWIvcXQ1L3FtbCIgaWYgJGNvbmZpZ3Vy
YXRpb247Ci0kRU5WeyJRTUwyX0lNUE9SVF9QQVRIIn0gPSAiJGxpYlBhdGgiIGlmICRsaWJQYXRo
OwotcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoIi9hcHAvd2Via2l0L1Rvb2xzL1NjcmlwdHMvcnVu
LXF0LXdwZS1taW5pYnJvd3NlciIpOworaWYgKCRjb25maWd1cmF0aW9uKSB7CisgICAgJGxpYlBh
dGggPSBGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiV2ViS2l0QnVpbGQiLCAiJGNv
bmZpZ3VyYXRpb24iLCAibGliIiwgInF0NSIsICJxbWwiKTsKKyAgICAkRU5WeyJRTUwyX0lNUE9S
VF9QQVRIIn0gPSAiJGxpYlBhdGgiOworfQorCitteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5j
YXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tcXQtd3BlLW1pbmli
cm93c2VyIikpOworcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQGNvbW1hbmQpOwogCiAjIENoZWNr
IHRvIHNlZSB0aGF0IGFsbCB0aGUgZnJhbWV3b3JrcyBhcmUgYnVpbHQuCiBjaGVja0ZyYW1ld29y
a3MoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0cyBiL1Rv
b2xzL1NjcmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0cwppbmRleCBhY2MzNWY3MjQ4M2YyODMyZjA5
YzhlZmIxODk1ZDE4MWQ0ZDY3OTI5Li5jMzAwNGQ0NTMyM2M1MTQyNjY1ZDM3MDMzN2U4ZTU5MDQy
M2E5ZDQwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi13ZWJkcml2ZXItdGVzdHMKKysr
IGIvVG9vbHMvU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzCkBAIC03OCw3ICs3OCw3IEBAIGlm
IHBvcnQubmFtZSgpIGluIFsnZ3RrJywgJ3dwZSddOgogICAgICAgICBpZiBub3QgamhidWlsZHV0
aWxzLmVudGVyX2poYnVpbGRfZW52aXJvbm1lbnRfaWZfYXZhaWxhYmxlKHBvcnQubmFtZSgpKToK
ICAgICAgICAgICAgIHByaW50ICcqKionCiAgICAgICAgICAgICBwcmludCAnKioqIFdhcm5pbmc6
IGpoYnVpbGQgZW52aXJvbm1lbnQgbm90IHByZXNlbnQgYW5kIG5vdCBydW5uaW5nIGluIGZsYXRw
YWsuJwotICAgICAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9y
IHVwZGF0ZS13ZWJraXRndGstZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBw
cm9wZXIgdGVzdGluZy4uJworICAgICAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdlYmtp
dGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Via2l0IHRv
IGVuc3VyZSBwcm9wZXIgdGVzdGluZy4uJwogICAgICAgICAgICAgcHJpbnQgJyoqKicKIAogcG9y
dC5fZGlzcGxheV9zZXJ2ZXIgPSBvcHRpb25zLmRpc3BsYXlfc2VydmVyCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3J1bi13cGUtdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi13cGUtdGVzdHMK
aW5kZXggOGY3NzQ5ZWI2YWQ2ZDFmMTk5MTNhMTc2OTlkY2I3Njc3ZjQ4NjJkMS4uZjM0YzE5NzA2
NDc3NjIyNjI0NTJlNmFlODNmYTI4NWYyOGU1ZDE4MCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0
cy9ydW4td3BlLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXdwZS10ZXN0cwpAQCAtNTEs
NyArNTEsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIGlmIG5vdCBmbGF0cGFr
dXRpbHMuaXNfc2FuZGJveGVkKCkgYW5kIG5vdCBqaGJ1aWxkdXRpbHMuZW50ZXJfamhidWlsZF9l
bnZpcm9ubWVudF9pZl9hdmFpbGFibGUoIndwZSIpOgogICAgICAgICBwcmludCAnKioqJwogICAg
ICAgICBwcmludCAnKioqIFdhcm5pbmc6IGpoYnVpbGQgZW52aXJvbm1lbnQgbm90IHByZXNlbnQg
YW5kIG5vdCBydW5uaW5nIGluIGZsYXRwYWsuJwotICAgICAgICBwcmludCAnKioqIFJ1biB1cGRh
dGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIGJlZm9yZSBidWls
ZC13ZWJraXQgdG8gZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCisgICAgICAgIHByaW50ICcqKiog
UnVuIHVwZGF0ZS13ZWJraXR3cGUtbGlicyBvciB1cGRhdGUtd2Via2l0LWZsYXRwYWsgYmVmb3Jl
IGJ1aWxkLXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3RpbmcuLicKICAgICAgICAgcHJpbnQg
JyoqKicKIAogICAgIG9wdGlvbl9wYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIodXNhZ2U9
J3VzYWdlOiAlcHJvZyBbb3B0aW9uc10gW3Rlc3QuLi5dJykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvdGVzdC13ZWJraXRwZXJsIGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHBlcmwKaW5k
ZXggNjQ5NTY5NjBmZmM2N2FlN2RmOTMzNjQxMzZkOTFhNWQ4OGVhOTk0My4uZGM4MWMxN2MzYmFj
NTlhODgxYTczZWQxNWIzYTc0NjBjYTdiOWY5OCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy90
ZXN0LXdlYmtpdHBlcmwKKysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHBlcmwKQEAgLTMy
LDYgKzMyLDEzIEBACiAKIHVzZSBzdHJpY3Q7CiB1c2Ugd2FybmluZ3M7Cit1c2UgRmlsZTo6QmFz
ZW5hbWU7Cit1c2UgRmlsZTo6RmluZDsKK3VzZSBGaWxlOjpTcGVjOwordXNlIEZpbmRCaW47Cit1
c2UgR2V0b3B0OjpMb25nIHF3KDpjb25maWcgcGFzc190aHJvdWdoIG5vX2F1dG9fYWJicmV2KTsK
K3VzZSBsaWIgJEZpbmRCaW46OkJpbjsKK3VzZSB3ZWJraXRkaXJzOwogCiB1c2UgRmlsZTo6U3Bl
YzsKIHVzZSBGaW5kQmluOwpAQCAtMzksNiArNDYsMTEgQEAgdXNlIFRlc3Q6Okhhcm5lc3M7CiB1
c2UgbGliICRGaW5kQmluOjpCaW47ICMgc28gdGhpcyBzY3JpcHQgY2FuIGJlIHJ1biBmcm9tIGFu
eSBkaXJlY3RvcnkuCiB1c2UgVkNTVXRpbHM7CiAKK2lmIChzaG91bGRVc2VGbGF0cGFrKCkpIHsK
KyAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9v
bHMiLCAiU2NyaXB0cyIsICJ0ZXN0LXdlYmtpdHBlcmwiKSk7CisgICAgcnVuSW5GbGF0cGFrKEBj
b21tYW5kKTsKK30KKwogIyBDaGFuZ2UgdGhlIHdvcmtpbmcgZGlyZWN0b3J5IHNvIHRoYXQgd2Ug
Y2FuIHBhc3Mgc2hvcnRlciwgcmVsYXRpdmUKICMgcGF0aHMgdG8gcnVudGVzdHMoKSwgcmF0aGVy
IHRoYW4gbG9uZ2VyLCBhYnNvbHV0ZSBwYXRocy4KICMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvdGVzdC13ZWJraXRweSBiL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweQppbmRleCBlZTY4
MmNjY2YwYWNhM2YyMGRjNjE1ZmU4YjYzMjNjY2M1N2NiZWE0Li40MjM4OGU5Zjg2MTc4NWVmN2Uz
OGZiMWY0NTQ5MDA1MDUyZjAwYWVjIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3Rlc3Qtd2Vi
a2l0cHkKKysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5CkBAIC0yOSw0ICsyOSwxMCBA
QAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgogZnJvbSB3ZWJraXRweS5jb21tb24gaW1wb3J0IG11bHRpcHJvY2Vz
c2luZ19ib290c3RyYXAKIAoraW1wb3J0IG9zLCBzeXMKK3RvcF9sZXZlbF9kaXJlY3RvcnkgPSBv
cy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAn
Li4nLCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2Rp
cmVjdG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBmbGF0cGFrdXRpbHMKK2ZsYXRw
YWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lzLmFyZ3YpCisKIG11bHRpcHJv
Y2Vzc2luZ19ib290c3RyYXAucnVuKCd3ZWJraXRweScsICd0ZXN0JywgJ21haW4ucHknKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lciBiL1Rvb2xzL1NjcmlwdHMvdGVz
dDI2Mi1ydW5uZXIKaW5kZXggYTEzMWJjZjYzM2UzMGQ5NzY1ZmI1NjI0MjUwNzMxMTdhOThmMjIz
OC4uYWY3YWQ1ZTQ4ZWYyNTA4Y2Y0ZTIxZDU4ZDU1MGNmMDMyZWY1ZmEyYiAxMDA3NTUKLS0tIGEv
VG9vbHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lcgorKysgYi9Ub29scy9TY3JpcHRzL3Rlc3QyNjIt
cnVubmVyCkBAIC0zNCw2ICszNCwyNiBAQCB1c2UgNS44Ljg7CiB1c2UgRmluZEJpbjsKIHVzZSBD
b25maWc7CiAKK0JFR0lOIHsKKyAgICB1c2UgbGliICRGaW5kQmluOjpCaW47CisgICAgdXNlIEZp
bGU6OlNwZWM6OkZ1bmN0aW9ucyBxdyhjYXRmaWxlKTsKKworICAgIGlmICghZ3JlcCgvXi0tbm8t
ZmxhdHBhay1jaGVjayQvLCBAQVJHVikpIHsKKyAgICAgICAgaWYgKGV2YWwge3JlcXVpcmUgd2Vi
a2l0ZGlyczsgMTt9KSB7CisgICAgICAgICAgICB3ZWJraXRkaXJzLT5pbXBvcnQocXcoc2hvdWxk
VXNlRmxhdHBhayBydW5JbkZsYXRwYWsgc291cmNlRGlyKSk7CisgICAgICAgICAgICBpZiAoc2hv
dWxkVXNlRmxhdHBhaygpKSB7CisgICAgICAgICAgICAgICAgcHJpbnQgIlJ1bm5pbmcgaW4gZmxh
dHBhayBiYXNlZCBlbnZpcm9ubWVudFxuIjsKKyAgICAgICAgICAgICAgICBteSBAY29tbWFuZCA9
IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJ0
ZXN0MjYyLXJ1bm5lciIpKTsKKyAgICAgICAgICAgICAgICAjIFByZXZlbnQgZXhlYydkIHRlc3Qy
NjItcnVubmVyIHByb2Nlc3MgZnJvbSBpbXBvcnRpbmcKKyAgICAgICAgICAgICAgICAjIHdlYmtp
dGRpcnMgc28gdGhhdCBpdCBjYW4gc3VjY2VlZCBsYXRlciBvbiBpbiB0aGUgUnVubmVyCisgICAg
ICAgICAgICAgICAgIyBtb2R1bGUuLi4gUGVybC4gwq9cXyjjg4QpXy/CrworICAgICAgICAgICAg
ICAgIHB1c2goQEFSR1YsICItLW5vLWZsYXRwYWstY2hlY2siKTsKKyAgICAgICAgICAgICAgICBy
dW5JbkZsYXRwYWsoQGNvbW1hbmQpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQor
fQorCiBCRUdJTiB7CiAgICAgJEVOVntEQklDX09WRVJXUklURV9IRUxQRVJfTUVUSE9EU19PS30g
PSAxOwogICAgICRFTlZ7VDI2Ml9FWEVDX0JJTn0gPSAiJEZpbmRCaW46OkJpbi90ZXN0MjYyIjsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdC1mbGF0cGFrIGIvVG9vbHMv
U2NyaXB0cy91cGRhdGUtd2Via2l0LWZsYXRwYWsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTg2YjgxYTIwMzNmNGJi
N2JlMmQyOWJkZTVjMTJjZjQ5NTMzMGQ1NQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Njcmlw
dHMvdXBkYXRlLXdlYmtpdC1mbGF0cGFrCkBAIC0wLDAgKzEsMjggQEAKKyMhL3Vzci9iaW4vZW52
IHB5dGhvbgorIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KKyMgQ29weXJpZ2h0IChj
KSAyMDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgorIworIyBUaGlz
IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisjIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQ
dWJsaWMKKyMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCisjIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMK
KyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5l
cmFsIFB1YmxpYworIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdy
aXRlIHRvIHRoZQorIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0LCBGaWZ0aCBGbG9vciwKKyMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisjIHB5bGlu
dDogZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5hbWUKK2ltcG9ydCBvcworaW1w
b3J0IHN5cworCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRo
LmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCitzeXMucGF0aC5p
bnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICJUb29scyIsICJmbGF0
cGFrIikpCitmcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0RmxhdHBhaworCitpZiBfX25h
bWVfXyA9PSAiX19tYWluX18iOgorICAgIFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2FyZ3MoWyIt
LXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy91cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRn
dGstZmxhdHBhawpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDk1NmYxZjJlMTQ4NWQy
NDg2MmVmN2Y2ZDc0YTJmM2Y5OGNmOTJmOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstZmxhdHBhawor
KysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbgotIyBD
b3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KLSMgQ29weXJpZ2h0IChjKSAyMDE4LCBUaGli
YXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotIwotIyBUaGlzIHByb2dyYW0gaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSMgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
Ci0jIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGVzc2Vy
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwot
IyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZQot
IyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBG
bG9vciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0jIHB5bGludDogZGlzYWJsZT1t
aXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5hbWUKLWltcG9ydCBvcwotaW1wb3J0IHN5cwotCi10
b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0
aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCi1zeXMucGF0aC5pbnNlcnQoMCwgb3Mu
cGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICJUb29scyIsICJmbGF0cGFrIikpCi1mcm9t
IGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0RmxhdHBhawotCi1pZiBfX25hbWVfXyA9PSAiX19t
YWluX18iOgotICAgIFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2FyZ3MoWyItLWd0ayIsICItLXVw
ZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91
cGRhdGUtd2Via2l0Z3RrLWxpYnMgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstbGli
cwppbmRleCAyZTFjMDJmZmQ3MDU2MDA4MGUzNmJjNzRiNDY1OGZmZWY1ZGVjZDhlLi4yZThhODc4
NTE5NmRiOGM3YmZjYzQ5MDQ5NWFkOWM1ZDcwMGZmZjUxIDEwMDc1NQotLS0gYS9Ub29scy9TY3Jp
cHRzL3VwZGF0ZS13ZWJraXRndGstbGlicworKysgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJr
aXRndGstbGlicwpAQCAtMjIsNCArMjIsOCBAQCB1c2UgbGliICRGaW5kQmluOjpCaW47CiB1c2Ug
d2Via2l0ZGlyczsKIAogbXkgJHNjcmlwdHNEaXIgPSByZWxhdGl2ZVNjcmlwdHNEaXIoKTsKLXN5
c3RlbSgicGVybCIsICIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCIsICIt
LWd0ayIsIEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK2lmIChkZWZpbmVkICRFTlZ7J1dFQktJVF9K
SEJVSUxEJ30gYW5kICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30pIHsKKyAgICBzeXN0ZW0oInBlcmwi
LCAiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1saWJzLWpoYnVpbGQiLCAiLS1ndGsiLCBAQVJH
VikgPT0gMCBvciBkaWUgJCE7Cit9IGVsc2UgeworICAgIHN5c3RlbSgiJHNjcmlwdHNEaXIvdXBk
YXRlLXdlYmtpdC1mbGF0cGFrIiwgQEFSR1YpID09IDAgb3IgZGllICQhOworfQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWZsYXRwYWsgYi9Ub29scy9TY3JpcHRz
L3VwZGF0ZS13ZWJraXR3cGUtZmxhdHBhawpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXgg
NTY0ZTg3NjUyMTExOGUyZmMwZmQ2OGI4Yzg2NmFhOTAwMWNiODEyMi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJr
aXR3cGUtZmxhdHBhaworKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLSMhL3Vzci9iaW4v
ZW52IHB5dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KLSMgQ29weXJpZ2h0
IChjKSAyMDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotIwotIyBU
aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJh
bCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKLSMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
LSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBH
ZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3Qs
IHdyaXRlIHRvIHRoZQotIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0jIHB5
bGludDogZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5hbWUKLWltcG9ydCBvcwot
aW1wb3J0IHN5cwotCi10b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5w
YXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCi1zeXMucGF0
aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICJUb29scyIsICJm
bGF0cGFrIikpCi1mcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0RmxhdHBhawotCi1pZiBf
X25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2FyZ3Mo
WyItLXdwZSIsICItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWxpYnMgYi9Ub29scy9TY3JpcHRzL3VwZGF0
ZS13ZWJraXR3cGUtbGlicwppbmRleCA2YjRiNDZmMmI3ZWI4YTllNjgwNzc1N2JjYTJiOWU2ODQ3
MDdhMDIzLi5jZGM0YzdkYjhjNjVlYTczMjNkNjkyNjgxOThhMmY2OGJkNTEzMDE0IDEwMDc1NQot
LS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGlicworKysgYi9Ub29scy9TY3Jp
cHRzL3VwZGF0ZS13ZWJraXR3cGUtbGlicwpAQCAtMjIsNCArMjIsOCBAQCB1c2UgbGliICRGaW5k
QmluOjpCaW47CiB1c2Ugd2Via2l0ZGlyczsKIAogbXkgJHNjcmlwdHNEaXIgPSByZWxhdGl2ZVNj
cmlwdHNEaXIoKTsKLXN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWxp
YnMtamhidWlsZCIsICItLXdwZSIsIEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK2lmIChkZWZpbmVk
ICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30gYW5kICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30pIHsKKyAg
ICBzeXN0ZW0oInBlcmwiLCAiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1saWJzLWpoYnVpbGQi
LCAiLS13cGUiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7Cit9IGVsc2UgeworICAgIHN5c3RlbSgi
JHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1mbGF0cGFrIiwgQEFSR1YpID09IDAgb3IgZGllICQh
OworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRkaXJzLnBtCmluZGV4IDdlMjY0YTE4NzEwOWFhOWI2NzlkMTJlYmQ3ZTNmMWRh
NTFjYTg2YjIuLjMyMmEzYzdjMjg2YTkyYmJiOGMyNmQ5MjNhNmMxZGE3MzU2NDQ1MjYgMTAwNzU1
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdGRpcnMucG0KQEAgLTkxLDcgKzkxLDEwIEBAIEJFR0lOIHsKICAgICAgICAmc2V0dXBVbml4
V2ViS2l0RW52aXJvbm1lbnQKICAgICAgICAmc2hhcmVkQ29tbWFuZExpbmVPcHRpb25zCiAgICAg
ICAgJnNoYXJlZENvbW1hbmRMaW5lT3B0aW9uc1VzYWdlCisgICAgICAgJnNob3VsZFVzZUZsYXRw
YWsKKyAgICAgICAmcnVuSW5GbGF0cGFrCiAgICAgICAgJnNodXREb3duSU9TU2ltdWxhdG9yRGV2
aWNlCisgICAgICAgJnNvdXJjZURpcgogICAgICAgICZ3aWxsVXNlSU9TRGV2aWNlU0RLCiAgICAg
ICAgJndpbGxVc2VJT1NTaW11bGF0b3JTREsKICAgICAgICBET19OT1RfVVNFX09QRU5fQ09NTUFO
RApAQCAtMjA0NywyMCArMjA1MCwxMSBAQCBzdWIgZ2V0SmhidWlsZFBhdGgoKQogICAgIHJldHVy
biBGaWxlOjpTcGVjLT5jYXRkaXIoQGpoYnVpbGRQYXRoKTsKIH0KIAotc3ViIGdldEZsYXRwYWtQ
YXRoKCkKK3N1YiBnZXRVc2VyRmxhdHBha1BhdGgoKQogewotICAgIG15IEBmbGF0cGFrQnVpbGRQ
YXRoID0gRmlsZTo6U3BlYy0+c3BsaXRkaXIoYmFzZVByb2R1Y3REaXIoKSk7Ci0gICAgaWYgKGlz
R3RrKCkpIHsKLSAgICAgICAgcHVzaChAZmxhdHBha0J1aWxkUGF0aCwgIkdUSyIpOwotICAgIH0g
ZWxzaWYgKGlzV1BFKCkpIHsKLSAgICAgICAgcHVzaChAZmxhdHBha0J1aWxkUGF0aCwgIldQRSIp
OwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGRpZSAiQ2Fubm90IGdldCBGbGF0cGFrIHBhdGggZm9y
IHBsYXRmb3JtIHRoYXQgaXNuJ3QgR1RLKyBvciBXUEUuXG4iOwotICAgIH0KLSAgICBteSBAY29u
ZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24oKTsKLSAgICBwdXNoKEBmbGF0cGFrQnVpbGRQYXRo
LCAiRmxhdHBha1RyZWUkY29uZmlndXJhdGlvbiIpOwotCi0gICAgcmV0dXJuIEZpbGU6OlNwZWMt
PmNhdGRpcihAZmxhdHBha0J1aWxkUGF0aCk7CisgICAgbXkgQGZsYXRwYWtQYXRoID0gRmlsZTo6
U3BlYy0+c3BsaXRkaXIoYmFzZVByb2R1Y3REaXIoKSk7CisgICAgcHVzaChAZmxhdHBha1BhdGgs
ICJVc2VyRmxhdHBhayIpOworICAgIHJldHVybiBGaWxlOjpTcGVjLT5jYXRkaXIoQGZsYXRwYWtQ
YXRoKTsKIH0KIAogc3ViIGlzQ2FjaGVkQXJndW1lbnRmaWxlT3V0T2ZEYXRlKCRAKQpAQCAtMjA4
NywxMSArMjA4MSw3IEBAIHN1YiBpc0NhY2hlZEFyZ3VtZW50ZmlsZU91dE9mRGF0ZSgkQCkKIAog
c3ViIGluRmxhdHBha1NhbmRib3goKQogewotICAgIGlmICgtZiAiLy5mbGF0cGFrLWluZm8iKSB7
Ci0gICAgICAgIHJldHVybiAxOwotICAgIH0KLQotICAgIHJldHVybiAwOworICAgIHJldHVybiAo
LWYgIi8uZmxhdHBhay1pbmZvIik7CiB9CiAKIHN1YiBydW5JbkZsYXRwYWsoQCkKQEAgLTIxMTIs
OCArMjEwMiw4IEBAIHN1YiBydW5JbkZsYXRwYWtJZkF2YWlsYWJsZShAKQogICAgICAgICByZXR1
cm4gMDsKICAgICB9CiAKLSAgICBpZiAoISAtZSBnZXRGbGF0cGFrUGF0aCgpKSB7Ci0gICAgICAg
IHJldHVybiAwOworICAgIGlmICghIC1lIGdldFVzZXJGbGF0cGFrUGF0aCgpKSB7CisgICAgICBy
ZXR1cm4gMDsKICAgICB9CiAKICAgICBydW5JbkZsYXRwYWsoQF8pCkBAIC0yMTI4LDcgKzIxMTgs
NyBAQCBzdWIgd3JhcHBlclByZWZpeElmTmVlZGVkKCkKICAgICBpZiAoaXNBcHBsZUNvY29hV2Vi
S2l0KCkpIHsKICAgICAgICAgcmV0dXJuICgieGNydW4iKTsKICAgICB9Ci0gICAgaWYgKHNob3Vs
ZFVzZUpoYnVpbGQoKSBhbmQgISBzaG91bGRVc2VGbGF0cGFrKCkpIHsKKyAgICBpZiAoc2hvdWxk
VXNlSmhidWlsZCgpKSB7CiAgICAgICAgIG15IEBwcmVmaXggPSAoRmlsZTo6U3BlYy0+Y2F0Zmls
ZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgImpoYnVpbGQiLCAiamhidWlsZC13cmFwcGVyIikpOwog
ICAgICAgICBpZiAoaXNHdGsoKSkgewogICAgICAgICAgICAgcHVzaChAcHJlZml4LCAiLS1ndGsi
KTsKQEAgLTIxNDUsMTIgKzIxMzUsMTIgQEAgc3ViIHdyYXBwZXJQcmVmaXhJZk5lZWRlZCgpCiAK
IHN1YiBzaG91bGRVc2VKaGJ1aWxkKCkKIHsKLSAgICByZXR1cm4gKChpc0d0aygpIG9yIGlzV1BF
KCkpIGFuZCAtZSBnZXRKaGJ1aWxkUGF0aCgpKTsKKyAgICByZXR1cm4gKCghIGluRmxhdHBha1Nh
bmRib3goKSkgYW5kIChpc0d0aygpIG9yIGlzV1BFKCkpIGFuZCAtZSBnZXRKaGJ1aWxkUGF0aCgp
IGFuZCBkZWZpbmVkICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30gYW5kICRFTlZ7J1dFQktJVF9KSEJV
SUxEJ30pOwogfQogCiBzdWIgc2hvdWxkVXNlRmxhdHBhaygpCiB7Ci0gICAgcmV0dXJuICgoaXNH
dGsoKSBvciBpc1dQRSgpKSBhbmQgISBpbkZsYXRwYWtTYW5kYm94KCkgYW5kIC1lIGdldEZsYXRw
YWtQYXRoKCkpOworICAgIHJldHVybiAoKCEgaW5GbGF0cGFrU2FuZGJveCgpKSBhbmQgKGlzR3Rr
KCkgb3IgaXNXUEUoKSkgYW5kIC1lIGdldFVzZXJGbGF0cGFrUGF0aCgpIGFuZCAhIHNob3VsZFVz
ZUpoYnVpbGQoKSk7CiB9CiAKIHN1YiBjbWFrZUNhY2hlUGF0aCgpCkBAIC0yMjE3LDcgKzIyMDcs
NyBAQCBzdWIgc2hvdWxkUmVtb3ZlQ01ha2VDYWNoZShAKQogICAgIH0KIAogICAgICMgSWYgYSBj
aGFuZ2Ugb24gdGhlIEpIQnVpbGQgbW9kdWxlc2V0IGhhcyBiZWVuIGRvbmUsIHdlIG5lZWQgdG8g
Y2xlYW4gdGhlIGNhY2hlIGFzIHdlbGwuCi0gICAgaWYgKGlzR3RrKCkgfHwgaXNXUEUoKSkgewor
ICAgIGlmICghIHNob3VsZFVzZUZsYXRwYWsoKSBhbmQgKGlzR3RrKCkgfHwgaXNXUEUoKSkpIHsK
ICAgICAgICAgbXkgJGpoYnVpbGRSb290RGlyZWN0b3J5ID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKGdl
dEpoYnVpbGRQYXRoKCksICJSb290Iik7CiAgICAgICAgICMgVGhlIHNjcmlwdCB1cGRhdGUtd2Vi
a2l0LWxpYnMtamhidWlsZCBzaGFsbCByZS1nZW5lcmF0ZSAkamhidWlsZFJvb3REaXJlY3Rvcnkg
aWYgdGhlIG1vZHVsZXNldCBjaGFuZ2VkLgogICAgICAgICBpZiAoLWQgJGpoYnVpbGRSb290RGly
ZWN0b3J5ICYmICRjYWNoZUZpbGVNb2RpZmllZFRpbWUgPCBzdGF0KCRqaGJ1aWxkUm9vdERpcmVj
dG9yeSktPm10aW1lKSB7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQv
YmFzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CmluZGV4IDk3Zjlm
YmYwYTE1ZjgwZGQ5MWE0OTBkOTE1YzE5NzdiMGMxMzkxYzcuLjY1ODQ3NWM0MTg1Yjk5YTNlNzMz
ZjQ3ZTAwMmNhODU2ODE2NmZkOGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CkBA
IC04OTMsNiArODkzLDcgQEAgY2xhc3MgUG9ydChvYmplY3QpOgogICAgICAgICAgICAgJ0xBTkcn
LAogICAgICAgICAgICAgJ0xEX0xJQlJBUllfUEFUSCcsCiAgICAgICAgICAgICAnVEVSTScsCisg
ICAgICAgICAgICAnVFonLAogICAgICAgICAgICAgJ1hER19EQVRBX0RJUlMnLAogICAgICAgICAg
ICAgJ1hER19SVU5USU1FX0RJUicsCiAKQEAgLTEyMjAsNyArMTIyMSw3IEBAIGNsYXNzIFBvcnQo
b2JqZWN0KToKICAgICAgICAgVGhpcyBpcyBuZWVkZWQgb25seSBieSBwb3J0cyB0aGF0IHVzZSB0
aGUgYXBhY2hlX2h0dHBfc2VydmVyIG1vZHVsZS4iIiIKICAgICAgICAgIyBUaGUgQXBhY2hlIGJp
bmFyeSBwYXRoIGNhbiB2YXJ5IGRlcGVuZGluZyBvbiBPUyBhbmQgZGlzdHJpYnV0aW9uCiAgICAg
ICAgICMgU2VlIGh0dHA6Ly93aWtpLmFwYWNoZS5vcmcvaHR0cGQvRGlzdHJvc0RlZmF1bHRMYXlv
dXQKLSAgICAgICAgZm9yIHBhdGggaW4gWyIvdXNyL3NiaW4vaHR0cGQiLCAiL3Vzci9zYmluL2Fw
YWNoZTIiLCAiL2FwcC9iaW4vaHR0cGQiXToKKyAgICAgICAgZm9yIHBhdGggaW4gWyIvdXNyL3Ni
aW4vaHR0cGQiLCAiL3Vzci9zYmluL2FwYWNoZTIiLCAiL3Vzci9iaW4vaHR0cGQiXToKICAgICAg
ICAgICAgIGlmIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKHBhdGgpOgogICAgICAgICAgICAgICAg
IHJldHVybiBwYXRoCiAgICAgICAgIF9sb2cuZXJyb3IoIkNvdWxkIG5vdCBmaW5kIGFwYWNoZS4g
Tm90IGluc3RhbGxlZCBvciB1bmtub3duIHBhdGguIikKQEAgLTE0NTIsMTQgKzE0NTMsOCBAQCBj
bGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgICMgLS1waXhlbC10ZXN0LWRpcmVjdG9yeSBpcyBu
b3Qgc3BlY2lmaWVkLgogICAgICAgICByZXR1cm4gVHJ1ZQogCi0gICAgZGVmIF9zaG91bGRfdXNl
X2ZsYXRwYWsoc2VsZik6Ci0gICAgICAgIHN1ZmZpeCA9ICIiCi0gICAgICAgIGlmIHNlbGYucG9y
dF9uYW1lOgotICAgICAgICAgICAgc3VmZml4ID0gc2VsZi5wb3J0X25hbWUudXBwZXIoKQotICAg
ICAgICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5leGlzdHMoc2VsZi5wYXRoX2Zyb21fd2Via2l0
X2Jhc2UoJ1dlYktpdEJ1aWxkJywgc3VmZml4LCAiRmxhdHBha1RyZWUiKSkKLQogICAgIGRlZiBf
aW5fZmxhdHBha19zYW5kYm94KHNlbGYpOgotICAgICAgICByZXR1cm4gb3MucGF0aC5leGlzdHMo
Ii8uZmxhdHBhay1pbmZvIikKKyAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3Rz
KCIvLmZsYXRwYWstaW5mbyIpCiAKICAgICBkZWYgX3Nob3VsZF91c2VfamhidWlsZChzZWxmKToK
ICAgICAgICAgaWYgc2VsZi5faW5fZmxhdHBha19zYW5kYm94KCk6CmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9w
b3J0L2d0ay5weQppbmRleCA2OGJjMTY5MjNmOGFiNzYwOTFmNWIzZTk2NGQwNjVjNzk0M2ZmOGQ1
Li4wY2U4YWE0ODc0NTkwOWM3OTczNjg4M2IzNmQzNGU4NzQwOThkNDczIDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvcG9ydC9ndGsucHkKQEAgLTEyMiw2ICsxMjIsNyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQp
OgogICAgICAgICBlbnZpcm9ubWVudFsnVEVTVF9SVU5ORVJfSU5KRUNURURfQlVORExFX0ZJTEVO
QU1FJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdsaWInLCAnbGliVGVzdFJ1bm5lckluamVjdGVkQnVu
ZGxlLnNvJykKICAgICAgICAgZW52aXJvbm1lbnRbJ1RFU1RfUlVOTkVSX1RFU1RfUExVR0lOX1BB
VEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ2xpYicsICdwbHVnaW5zJykKICAgICAgICAgc2VsZi5f
Y29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX09VVFBV
VERJUicpCisgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZp
cm9ubWVudCwgJ1dFQktJVF9KSEJVSUxEJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9t
X2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX1RPUF9MRVZFTCcpCiAgICAgICAg
IHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1VTRV9Q
TEFZQklOMycpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChl
bnZpcm9ubWVudCwgJ0dTVF9ERUJVRycpCkBAIC0xMzQsMTAgKzEzNSwxMSBAQCBjbGFzcyBHdGtQ
b3J0KFBvcnQpOgogICAgICAgICAgICAgaWYgc2VsZi5fc2hvdWxkX3VzZV9qaGJ1aWxkKCk6CiAg
ICAgICAgICAgICAgICAgbGx2bXBpcGVfbGliZ2xfcGF0aCA9IHNlbGYuaG9zdC5leGVjdXRpdmUu
cnVuX2NvbW1hbmQoc2VsZi5famhidWlsZF93cmFwcGVyICsgWydwcmludGVudicsICdMTFZNUElQ
RV9MSUJHTF9QQVRIJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZV9lcnJvcnM9VHJ1ZSkuc3RyaXAoKQor
ICAgICAgICAgICAgICAgIGRyaV9saWJnbF9wYXRoID0gb3MucGF0aC5qb2luKGxsdm1waXBlX2xp
YmdsX3BhdGgsICJkcmkiKQogICAgICAgICAgICAgZWxzZTogICMgaW4gZmxhdHBhawotICAgICAg
ICAgICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGggPSAiL2FwcC9zb2Z0R0wvbGliIgorICAgICAg
ICAgICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGggPSAiL3Vzci9saWIveDg2XzY0LWxpbnV4LWdu
dS8iCisgICAgICAgICAgICAgICAgZHJpX2xpYmdsX3BhdGggPSBvcy5wYXRoLmpvaW4obGx2bXBp
cGVfbGliZ2xfcGF0aCwgIkdMIiwgImxpYiIsICJkcmkiKQogCi0gICAgICAgICAgICBkcmlfbGli
Z2xfcGF0aCA9IG9zLnBhdGguam9pbihsbHZtcGlwZV9saWJnbF9wYXRoLCAiZHJpIikKICAgICAg
ICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihsbHZtcGlwZV9saWJnbF9wYXRo
LCAibGliR0wuc28iKSkgYW5kIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihkcmlfbGliZ2xf
cGF0aCwgInN3cmFzdF9kcmkuc28iKSk6CiAgICAgICAgICAgICAgICAgIyBNYWtlIHN1cmUgdmEt
YXBpIHN1cHBvcnQgZ2V0cyBkaXNhYmxlZCBiZWNhdXNlIGl0J3MgaW5jb21wYXRpYmxlIHdpdGgg
TWVzYSdzIHNvZnRHTCBkcml2ZXIuCiAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0xJQlZB
X0RSSVZFUl9OQU1FJ10gPSAibnVsbCIKQEAgLTE0OCw3ICsxNTAsNyBAQCBjbGFzcyBHdGtQb3J0
KFBvcnQpOgogICAgICAgICAgICAgICAgIGlmIG9zLmVudmlyb24uZ2V0KCdMRF9MSUJSQVJZX1BB
VEgnKToKICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0xEX0xJQlJBUllfUEFUSCdd
ICs9ICc6JXMnICUgb3MuZW52aXJvbi5nZXQoJ0xEX0xJQlJBUllfUEFUSCcpCiAgICAgICAgICAg
ICBlbHNlOgotICAgICAgICAgICAgICAgIF9sb2cud2FybmluZygiQ2FuJ3QgZmluZCBHYWxsaXVt
IGxsdm1waXBlIGRyaXZlci4gVHJ5IHRvIHJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBk
YXRlLXdlYmtpdGd0ay1mbGF0cGFrIikKKyAgICAgICAgICAgICAgICBfbG9nLndhcm5pbmcoIkNh
bid0IGZpbmQgR2FsbGl1bSBsbHZtcGlwZSBkcml2ZXIuIFRyeSB0byBydW4gdXBkYXRlLXdlYmtp
dGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBhayIpCiAgICAgICAgIGlmIHNlbGYuZ2V0
X29wdGlvbigibGVha3MiKToKICAgICAgICAgICAgICMgVHVybiBvZmYgR0xpYiBtZW1vcnkgb3B0
aW1pc2F0aW9ucyBodHRwczovL3dpa2kuZ25vbWUub3JnL1ZhbGdyaW5kLgogICAgICAgICAgICAg
ZW52aXJvbm1lbnRbJ0dfU0xJQ0UnXSA9ICdhbHdheXMtbWFsbG9jJwpAQCAtMjM3LDcgKzIzOSw3
IEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAKICAgICBkZWYgX2dldF9jcmFzaF9sb2coc2VsZiwg
bmFtZSwgcGlkLCBzdGRvdXQsIHN0ZGVyciwgbmV3ZXJfdGhhbiwgdGFyZ2V0X2hvc3Q9Tm9uZSk6
CiAgICAgICAgIHJldHVybiBHREJDcmFzaExvZ0dlbmVyYXRvcihzZWxmLl9leGVjdXRpdmUsIG5h
bWUsIHBpZCwgbmV3ZXJfdGhhbiwKLSAgICAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0sIHNlbGYu
X3BhdGhfdG9fZHJpdmVyKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9w
YXRoX3RvX2RyaXZlciwgc2VsZi5wb3J0X25hbWUsIHNlbGYuZ2V0X29wdGlvbignY29uZmlndXJh
dGlvbicpKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIpCiAKICAgICBkZWYgdGVz
dF9leHBlY3RhdGlvbnNfZmlsZV9wb3NpdGlvbihzZWxmKToKICAgICAgICAgIyBHVEsgcG9ydCBi
YXNlbGluZSBzZWFyY2ggcGF0aCBpcyBndGsgLT4gd2syIC0+IGdlbmVyaWMgKGFzIGd0ay13azIg
YW5kIGd0ayBiYXNlbGluZXMgYXJlIG1lcmdlZCksIHNvIHBvcnQgdGVzdCBleHBlY3RhdGlvbnMg
ZmlsZSBpcyBhdCB0aGlyZCB0byBsYXN0IHBvc2l0aW9uLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9sb2cucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQppbmRleCA5YWRjNDYzNzFmOTYx
YjE5NjI4ZTdmZWRkNDY1ZWJmZDA5NmNkMDFhLi4yZTAzZGZmMWEzNmViNWMyMDVhZTY4NzljZDIy
YmQyYzcwMjIxMWUzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGlu
dXhfZ2V0X2NyYXNoX2xvZy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGlu
dXhfZ2V0X2NyYXNoX2xvZy5weQpAQCAtMzcsMTggKzM3LDIyIEBAIGltcG9ydCB0aW1lCiAKIGZy
b20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IFNjcmlwdEVycm9yCiBm
cm9tIHdlYmtpdHB5LmNvbW1vbi51bmljb2RlX2NvbXBhdGliaWxpdHkgaW1wb3J0IGRlY29kZV9p
Zl9uZWNlc3NhcnkKK2Zyb20gd2Via2l0cHkuY29tbW9uLndlYmtpdF9maW5kZXIgaW1wb3J0IFdl
YktpdEZpbmRlcgogCiAKIGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAg
X2ZpbmRfcGlkX3JlZ2V4ID0gcmUuY29tcGlsZShyJ1BJRDogKFxkKykgXCguKlwpJykKIAotICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBleGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwgZmls
ZXN5c3RlbSwgcGF0aF90b19kcml2ZXIpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBleGVjdXRp
dmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwgZmlsZXN5c3RlbSwgcGF0aF90b19kcml2ZXIsIHBv
cnRfbmFtZSwgY29uZmlndXJhdGlvbik6CiAgICAgICAgIHNlbGYubmFtZSA9IG5hbWUKICAgICAg
ICAgc2VsZi5waWQgPSBwaWQKICAgICAgICAgc2VsZi5uZXdlcl90aGFuID0gbmV3ZXJfdGhhbgog
ICAgICAgICBzZWxmLl9maWxlc3lzdGVtID0gZmlsZXN5c3RlbQogICAgICAgICBzZWxmLl9wYXRo
X3RvX2RyaXZlciA9IHBhdGhfdG9fZHJpdmVyCiAgICAgICAgIHNlbGYuX2V4ZWN1dGl2ZSA9IGV4
ZWN1dGl2ZQorICAgICAgICBzZWxmLl9wb3J0X25hbWUgPSBwb3J0X25hbWUKKyAgICAgICAgc2Vs
Zi5fY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24KKyAgICAgICAgc2VsZi5fd2Via2l0X2Zp
bmRlciA9IFdlYktpdEZpbmRlcihmaWxlc3lzdGVtKQogCiAgICAgZGVmIF9nZXRfZ2RiX291dHB1
dChzZWxmLCBjb3JlZHVtcF9wYXRoKToKICAgICAgICAgcHJvY2Vzc19uYW1lID0gc2VsZi5fZmls
ZXN5c3RlbS5qb2luKG9zLnBhdGguZGlybmFtZShzdHIoc2VsZi5fcGF0aF90b19kcml2ZXIoKSkp
LCBzZWxmLm5hbWUpCkBAIC02Nyw2ICs3MSw5IEBAIGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9y
KG9iamVjdCk6CiAgICAgICAgIHJldHVybiBmaWxlbmFtZQogCiAgICAgZGVmIF9nZXRfdHJhY2Vf
ZnJvbV9zeXN0ZW1kKHNlbGYsIGNvcmVkdW1wY3RsLCBwaWQpOgorICAgICAgICBpZiBvcy5wYXRo
LmlzZmlsZSgiLy5mbGF0cGFrLWluZm8iKToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9nZXRf
dHJhY2VfZnJvbV9mbGF0cGFrKCkKKwogICAgICAgICAjIExldHRpbmcgdXAgdG8gNSBzZWNvbmRz
IGZvciB0aGUgYmFja3RyYWNlIHRvIGJlIGdlbmVyYXRlZCBvbiB0aGUgc3lzdGVtZCBzaWRlCiAg
ICAgICAgIGZvciB0cnlfbnVtYmVyIGluIHJhbmdlKDUpOgogICAgICAgICAgICAgaWYgdHJ5X251
bWJlciAhPSAwOgpAQCAtOTIsMTIgKzk5LDI0IEBAIGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9y
KG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wX2ZpbGUubmFtZV0sIHJldHVy
bl9leGl0X2NvZGU9VHJ1ZSk6CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAKLSAgICAg
ICAgICAgICAgICByZXMgPSBzZWxmLl9nZXRfZ2RiX291dHB1dChzZWxmLl9nZXRfdG1wX2ZpbGVf
bmFtZShjb3JlZHVtcGN0bCwgdGVtcF9maWxlLm5hbWUpKQotCi0gICAgICAgICAgICAgICAgcmV0
dXJuIHJlcworICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9nZXRfZ2RiX291dHB1dChzZWxm
Ll9nZXRfdG1wX2ZpbGVfbmFtZShjb3JlZHVtcGN0bCwgdGVtcF9maWxlLm5hbWUpKQogCiAgICAg
ICAgIHJldHVybiAnJywgW10KIAorICAgIGRlZiBfZ2V0X3RyYWNlX2Zyb21fZmxhdHBhayhzZWxm
KToKKyAgICAgICAgaWYgc2VsZi5uZXdlcl90aGFuOgorICAgICAgICAgICAgY29yZWR1bXBfc2lu
Y2UgPSAiLS1nZGItc3RhY2stdHJhY2U9QCVmIiAlIHNlbGYubmV3ZXJfdGhhbgorICAgICAgICBl
bHNlOgorICAgICAgICAgICAgY29yZWR1bXBfc2luY2UgPSAiLS1nZGItc3RhY2stdHJhY2UiCisg
ICAgICAgIHdlYmtpdF9mbGF0cGFrX3BhdGggPSBzZWxmLl93ZWJraXRfZmluZGVyLnBhdGhfdG9f
c2NyaXB0KCd3ZWJraXQtZmxhdHBhaycpCisgICAgICAgIGNtZCA9IFsnZmxhdHBhay1zcGF3bics
ICctLWhvc3QnLCB3ZWJraXRfZmxhdHBha19wYXRoLCAnLS0lcycgJSBzZWxmLl9wb3J0X25hbWUs
CisgICAgICAgICAgICAgICAiLS0lcyIgJSBzZWxmLl9jb25maWd1cmF0aW9uLmxvd2VyKCksIGNv
cmVkdW1wX3NpbmNlXQorCisgICAgICAgIHByb2MgPSBzZWxmLl9leGVjdXRpdmUucG9wZW4oY21k
LCBzdGRpbj1Ob25lLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5Q
SVBFKQorICAgICAgICBjcmFzaF9sb2csIHN0ZGVyciA9IHByb2MuY29tbXVuaWNhdGUoKQorICAg
ICAgICBlcnJvcnMgPSBkZWNvZGVfaWZfbmVjZXNzYXJ5KHN0cihzdGRlcnIgb3IgJzxlbXB0eT4n
KSwgZXJyb3JzPSdpZ25vcmUnKS5zcGxpdGxpbmVzKCkKKyAgICAgICAgcmV0dXJuIGNyYXNoX2xv
ZywgZXJyb3JzCisKICAgICBkZWYgZ2VuZXJhdGVfY3Jhc2hfbG9nKHNlbGYsIHN0ZG91dCwgc3Rk
ZXJyKToKICAgICAgICAgcGlkX3JlcHJlc2VudGF0aW9uID0gc3RyKHNlbGYucGlkIG9yICc8dW5r
bm93bj4nKQogICAgICAgICBsb2dfZGlyZWN0b3J5ID0gb3MuZW52aXJvbi5nZXQoIldFQktJVF9D
T1JFX0RVTVBTX0RJUkVDVE9SWSIpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZ191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5CmluZGV4IDlmM2I3ZTM5
Mzc5YzQzYTEwNWVjZTIwYzFjYTYyNjI0M2RmYTdkMzQuLjNhMzllODQ2NzBhNjRjODM2YjVlMTQ0
MmZjOGEzNTkzNGMzN2RmOTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9y
dC9saW51eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5CkBAIC00Niw3ICs0Niw3
IEBAIGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAg
ICAgICAgIGV4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUoKQogICAgICAgICBleGVjdXRpdmUuX3By
b2MgPSBNb2NrUHJvY2VzcygpCiAgICAgICAgIGV4ZWN1dGl2ZS5fcHJvYy5zdGRvdXQgPSAnU1RE
RVJSOiA8ZW1wdHk+JwotICAgICAgICBnZW5lcmF0b3IgPSBHREJDcmFzaExvZ0dlbmVyYXRvcihl
eGVjdXRpdmUsICdEdW1wUmVuZGVyVHJlZScsIDI4NTI5LCBuZXdlcl90aGFuPU5vbmUsIGZpbGVz
eXN0ZW09TW9ja0ZpbGVTeXN0ZW0oeycvcGF0aC90by9jb3JlZHVtcHMnOiAnJ30pLCBwYXRoX3Rv
X2RyaXZlcj1Ob25lKQorICAgICAgICBnZW5lcmF0b3IgPSBHREJDcmFzaExvZ0dlbmVyYXRvcihl
eGVjdXRpdmUsICdEdW1wUmVuZGVyVHJlZScsIDI4NTI5LCBuZXdlcl90aGFuPU5vbmUsIGZpbGVz
eXN0ZW09TW9ja0ZpbGVTeXN0ZW0oeycvcGF0aC90by9jb3JlZHVtcHMnOiAnJ30pLCBwYXRoX3Rv
X2RyaXZlcj1Ob25lLCBwb3J0X25hbWU9Imd0ayIsIGNvbmZpZ3VyYXRpb249IkRlYnVnIikKIAog
ICAgICAgICBjb3JlX2RpcmVjdG9yeSA9IG9zLmVudmlyb24uZ2V0KCdXRUJLSVRfQ09SRV9EVU1Q
U19ESVJFQ1RPUlknLCAnL3BhdGgvdG8vY29yZWR1bXBzJykKICAgICAgICAgY29yZV9wYXR0ZXJu
ID0gZ2VuZXJhdG9yLl9maWxlc3lzdGVtLmpvaW4oY29yZV9kaXJlY3RvcnksICJjb3JlLXBpZF8l
cC5kdW1wIikKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93cGUucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd3BlLnB5CmluZGV4IDAwY2U1Mjc2ZTljYzQy
MWI0ODM3YWMyYjU0ZjMzYzU1MmJiZWM4NTUuLjU0NjkyNWY0N2M2NDAwNzI1YWYwNzNhMzU1M2M3
ZmY1NGVlYTdkOTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93cGUu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dwZS5weQpAQCAtNzcsNiArNzcs
NyBAQCBjbGFzcyBXUEVQb3J0KFBvcnQpOgogICAgICAgICBlbnZpcm9ubWVudFsnVEVTVF9SVU5O
RVJfVEVTVF9QTFVHSU5fUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0aCgnbGliJywgJ3BsdWdpbnMn
KQogICAgICAgICBlbnZpcm9ubWVudFsnV0VCS0lUX0VYRUNfUEFUSCddID0gc2VsZi5fYnVpbGRf
cGF0aCgnYmluJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0
KGVudmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJUicpCisgICAgICAgIHNlbGYuX2NvcHlfdmFs
dWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9KSEJVSUxEJykKICAg
ICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAn
V0VCS0lUX1RPUF9MRVZFTCcpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9u
X2lmX3NldChlbnZpcm9ubWVudCwgJ1VTRV9QTEFZQklOMycpCiAgICAgICAgIHNlbGYuX2NvcHlf
dmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ0dTVF9ERUJVRycpCkBAIC0x
MjEsNyArMTIyLDggQEAgY2xhc3MgV1BFUG9ydChQb3J0KToKICAgICAgICAgcmV0dXJuIDIKIAog
ICAgIGRlZiBfZ2V0X2NyYXNoX2xvZyhzZWxmLCBuYW1lLCBwaWQsIHN0ZG91dCwgc3RkZXJyLCBu
ZXdlcl90aGFuLCB0YXJnZXRfaG9zdD1Ob25lKToKLSAgICAgICAgcmV0dXJuIEdEQkNyYXNoTG9n
R2VuZXJhdG9yKHNlbGYuX2V4ZWN1dGl2ZSwgbmFtZSwgcGlkLCBuZXdlcl90aGFuLCBzZWxmLl9m
aWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlcikuZ2VuZXJhdGVfY3Jhc2hfbG9nKHN0ZG91
dCwgc3RkZXJyKQorICAgICAgICByZXR1cm4gR0RCQ3Jhc2hMb2dHZW5lcmF0b3Ioc2VsZi5fZXhl
Y3V0aXZlLCBuYW1lLCBwaWQsIG5ld2VyX3RoYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlciwgc2VsZi5w
b3J0X25hbWUsIHNlbGYuZ2V0X29wdGlvbignY29uZmlndXJhdGlvbicpKS5nZW5lcmF0ZV9jcmFz
aF9sb2coc3Rkb3V0LCBzdGRlcnIpCiAKICAgICBkZWYgY29uZmlndXJhdGlvbl9mb3JfdXBsb2Fk
KHNlbGYsIGhvc3Q9Tm9uZSk6CiAgICAgICAgIGNvbmZpZ3VyYXRpb24gPSBzdXBlcihXUEVQb3J0
LCBzZWxmKS5jb25maWd1cmF0aW9uX2Zvcl91cGxvYWQoaG9zdD1ob3N0KQpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0
ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0
ZUZvbnRzR3RrLmNwcAppbmRleCAzZjhlMjQ0MGYyODNlNGI0ZTU0MjdhZDY0NGQyYjNiNGUzMTk2
NWExLi44MWJjZDk2MmEwOWM3YWNmZWYyMmVjMmY0OGJjMDJiMjQ5YTU2YzQ0IDEwMDY0NAotLS0g
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRz
R3RrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9B
Y3RpdmF0ZUZvbnRzR3RrLmNwcApAQCAtNjUsOCArNjUsMTMgQEAgQ1N0cmluZyBnZXRPdXRwdXRE
aXIoKQogCiBzdGF0aWMgQ1N0cmluZyBnZXRGb250c1BhdGgoKQogeworICAgIC8vIFRyeSBmbGF0
cGFrIHNhbmRib3ggcGF0aC4KKyAgICBHVW5pcXVlUHRyPGNoYXI+Zm9udHNQYXRoKGdfYnVpbGRf
ZmlsZW5hbWUoIi91c3IiLCAic2hhcmUiLCAid2Via2l0Z3RrLXRlc3QtZm9udHMiLCBOVUxMKSk7
CisgICAgaWYgKGdfZmlsZV90ZXN0KGZvbnRzUGF0aC5nZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVU
ZXN0PihHX0ZJTEVfVEVTVF9FWElTVFMgfCBHX0ZJTEVfVEVTVF9JU19ESVIpKSkKKyAgICAgICAg
cmV0dXJuIGZvbnRzUGF0aC5nZXQoKTsKKwogICAgIENTdHJpbmcgd2Via2l0T3V0cHV0RGlyID0g
Z2V0T3V0cHV0RGlyKCk7Ci0gICAgR1VuaXF1ZVB0cjxjaGFyPiBmb250c1BhdGgoZ19idWlsZF9m
aWxlbmFtZSh3ZWJraXRPdXRwdXREaXIuZGF0YSgpLCAiRGVwZW5kZW5jaWVzR1RLIiwgIlJvb3Qi
LCAid2Via2l0Z3RrLXRlc3QtZm9udHMiLCBudWxscHRyKSk7CisgICAgZm9udHNQYXRoLnJlc2V0
KGdfYnVpbGRfZmlsZW5hbWUod2Via2l0T3V0cHV0RGlyLmRhdGEoKSwgIkRlcGVuZGVuY2llc0dU
SyIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgbnVsbHB0cikpOwogICAgIGlmIChn
X2ZpbGVfdGVzdChmb250c1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxF
X1RFU1RfRVhJU1RTIHwgR19GSUxFX1RFU1RfSVNfRElSKSkpCiAgICAgICAgIHJldHVybiBmb250
c1BhdGguZ2V0KCk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250c1dQRS5jcHAKaW5kZXggYTQ5YzdhMjky
MTgyNTkxZTI3MjdiMmI5MDFlNDEyYjJkZThlMDNkYS4uOGJlNzM2ZjA0OWM5MWIzMDhjZDJjMWVj
YWYxNDA1YTA1YzFhZTUwMCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250c1dQRS5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250c1dQRS5jcHAKQEAgLTU4LDgg
KzU4LDEzIEBAIENTdHJpbmcgZ2V0T3V0cHV0RGlyKCkKIAogc3RhdGljIENTdHJpbmcgZ2V0Rm9u
dHNQYXRoKCkKIHsKKyAgICAvLyBUcnkgZmxhdHBhayBzYW5kYm94IHBhdGguCisgICAgR1VuaXF1
ZVB0cjxjaGFyPmZvbnRzUGF0aChnX2J1aWxkX2ZpbGVuYW1lKCIvdXNyIiwgInNoYXJlIiwgIndl
YmtpdGd0ay10ZXN0LWZvbnRzIiwgTlVMTCkpOworICAgIGlmIChnX2ZpbGVfdGVzdChmb250c1Bh
dGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfRVhJU1RTIHwgR19G
SUxFX1RFU1RfSVNfRElSKSkpCisgICAgICAgIHJldHVybiBmb250c1BhdGguZ2V0KCk7CisKICAg
ICBDU3RyaW5nIHdlYmtpdE91dHB1dERpciA9IGdldE91dHB1dERpcigpOwotICAgIEdVbmlxdWVQ
dHI8Y2hhcj4gZm9udHNQYXRoKGdfYnVpbGRfZmlsZW5hbWUod2Via2l0T3V0cHV0RGlyLmRhdGEo
KSwgIkRlcGVuZGVuY2llc1dQRSIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgbnVs
bHB0cikpOworICAgIGZvbnRzUGF0aC5yZXNldChnX2J1aWxkX2ZpbGVuYW1lKHdlYmtpdE91dHB1
dERpci5kYXRhKCksICJEZXBlbmRlbmNpZXNXUEUiLCAiUm9vdCIsICJ3ZWJraXRndGstdGVzdC1m
b250cyIsIG51bGxwdHIpKTsKICAgICBpZiAoZ19maWxlX3Rlc3QoZm9udHNQYXRoLmdldCgpLCBz
dGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNUX0VYSVNUUyB8IEdfRklMRV9URVNUX0lT
X0RJUikpKQogICAgICAgICByZXR1cm4gZm9udHNQYXRoLmdldCgpOwogCmRpZmYgLS1naXQgYS9U
b29scy9mbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttIGIvVG9vbHMvZmxhdHBhay9maWxlcy9kZWZh
dWx0LnhrbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDE2ZjZiMDhmNmQ4MDg1ODA5
NjhiYTAyMjU2ZDkwNzVkNDhhNDdkMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKbGl0ZXJhbCAx
MjAzMgp6Y21jZ3lZajdMYWItdWU7NUZraVZsMyVmRmNTXnJ4KiROWTJMNHNpR3JVQyh3cHp0JlJs
OUgyJXJBU3okTVVnWn0Kek4+LWY0Tn5WKF5vd1VnYE56LUB5dERVfj5SQ1V3TlJER3FYYD4pZ0tZ
ZFc0emBmP202YW9kQCtvdk5MJS0qQGo+Cno+fmFtSXMlTyZXOURlKHFkKE9TKktLOTxiaStsTHVn
PWc9SUA1aTIzTikwR1dlTX1YVTEwMFYyREt5fGl1U1BCNAp6cFUyalkrUThSYDk9fDY3WSotSUg5
QSRjWl9uN0NXKWMkd0hSQmk4S1dvelhFeWR4Xk51P3RNN082TzglcXJLTWMKemJSMVJETj1HI3sj
I0otRndZbDVmK0U2TzREIXUhSllPTyVJIUs/PDJ8SUdUT2oqMnFSKilDJE5jNk9IKWN4IUxGCnoo
Kj41VTVXVSMlUkdtdyFvbDdUe0hgYlNUSXk9WG94IW1kUVVVXmktX3dQcVVOKT1tcWxgQUd3NUVx
aCRqNilfTQp6OE9TNmczel5DbFElTU55UXRvdVEpb0FDWVJqdlRQMHtqWl9FNU5TK3pYSlJVQEdI
UXQwS1dxSzNoKm5XKy1BRjMKenRLezMyVHBvVVRffnFmM2hoSDlrZEhDaHdteG9eLWV0RyFpUT5r
e1BQXmA/Zk4rYDNFbn0qKnN7SEViSTRabXNsCnpPflk+KmUkKClxaFRuODUqPSlCOzx3a1lCbEI9
e15qZUllbVlxVnl7JHJRd2VxI0AmdzJ9bE1xM0NUakhYM0Q4Iwp6dHkoRiFAfEFNQUZ7I1JwRU15
QU9ubENyVGZmSkFuQnYmWG1RYX40eWg5bl97TkBieXZXfTgtOHZ1KSZzQD19TzMKemxgN31qeHpi
IVNTMVEpWnJFK189SSR0V0RZVUhjc016UGpKZCUkPDAoUU1fTGhfX09rRFV8QmY7KFNBPyNfVzhm
CnpRay1jd1hHYHMzdClMM14jYWQmd1BAQWlANms0Uz9tdldRVWBGMyVrVUt4WCZYdyg7KiRueSM0
R21ZR1EzeiZzVwp6bTE/dDwoeTlDY2BZdjVyb1UxaDxgRmdke1lTJGFOKzF5O0NTI1FrTzNpWCsw
dCh+dG8mZVJjQ0JpQ3hyJSsoNnsKemBMLSQqRH4tOS1fI18xUmpaZSpgQ1gkZDgjRCUwRzxCJG5S
MV9IWVkqaUZETDFHXjBER08pfFFFKDV5Xj5AdSorCnp6JUIjMzREMlJoSHduOCoqaUZLMjVfWGZZ
bn1wcFk+P1VEMTNBLSVwdmFyai1FKF5PWD82Uj1TIVkmS0RFYk93ZAp6bkBYYlgoYSRPTGF8LT5P
TE8tWF8mbmZoQzNqT1JOLTlgVm43IU5NJi0wXkNtd1RSfGQpbllyPm5yfTJxWEJ5MnAKekg8XlZA
JkFGKjBCbjVGSFh+O05hMCtOQURMU1VESW9lTWhgYn1zQigqdHhLQ1ZkdWltZyZxM0NienpyPVRe
ZT8yCnoqcmoyWWhGdXpWWTFwTTxteGYmJGNIXiljaHV0e3IjJGgpT3lLJmYhIXcmdTdxQ1pecGhs
fkRqKEh9MVEhJHA2JQp6PW5yPmRMTyhQNGwqXylaN0hqaS1tUCR7eVhFX0VjKXBtfktwaC1sPGJD
dWE5JDRhP0BNO3AmfFdxSjFycGJLMEMKenJoIUdeSUlzenYwTWFmNEpPaThyJkk3WitJcDdxcSZT
eExrITFLKWZhek4oUzB5NGg+a29uQzNuY3Btc2BJVWdvCno/LVk+dm00VkRwS21XaWRAdGlaQyg/
STV2MlFyQHBBb0gwOUdNXmZkYEJjNjZKRlpyP0VeY3BoYn57U2wjfFBDaQp6R058Z2M7IT5yIVBe
QHNTLW4+RyFFZHJaQyluMlNpeH0mQnNrTHZrJFpUK2NUNkBpXmlUaURTanA+bVoqREt9a2cKeiYq
ZVFeTjlDOGRjYklQWndrVWkrbTVYT0VtdzB2cVRyPHZmeCl3Nmo8PlRMPVlMKF9AKzl4PFJKdi09
Rl82YVQ9CnpDJXJnTkRzQDtqQD1GLUojaWp8P01MaiRwWismbilkcT02R3c5blVUP1BrNT1kM2cz
USltd3M0IUlMSClieUQzJQp6cFVPY2UmbkxLVURTSzNXTXZZSk5XPExKOSRIdmsxUjw9NkNhIX4x
VFQ7NXUkPzZ9eSopcmdNQ0h9Pk4zKT52ZzkKejUhKWxpbUlHY2dfSEU1TjlFfWJyaGJ1ayQoPzt0
PkVKcnpMdzdBTipuLSQjK2RmMT84ZCs2blhIcjhWeiZiNHtlCnpqMSVkclFUNyRgKnpJb1VaZDAr
aXFZbFRCTmQpPUcqa081ZyNGUURhU3VYbDdoT3JpZjN9OWFaI1ghdGF1XyREfgp6TEh8fGlgQ01o
R0lFTXdvKUY7XkFJK2cqbVhHam01KmhjaloxZ2pMckJ4MiFzKWlJQmY0VC1ITDI8XytyQUVVSngK
enBUdy09TWYoaD9jQnh0UG99ZEZgP20hR3krXzdTKV5NU1NuV3Brc3x0KGZJbExuPklDeDhgLVR3
emJyMDY7cjIyCnpPJUplTXJgaEpaN2x1NSY/Z2NiQzt5NUk2YUorZl8lcjxCSHF1RiYjUTRCe2Z1
OSlwdTB9O28lRDtPVUpYIXUkRwp6LV5SZklFellRUVVwekR4TCshPFZVSzk7RmZTcTU9IWNHKkk0
TlV8IXUrVUY3Pkoodn1QP3NuK3RPS1k9NEUxbUAKejdleW9Sdio4emtVaiUrT3szMjI3LVVEXmle
V3hJWCt5WGtkby1jRlloYnwxPzE2UDxJTkRQcCRVNl5+T3hCN2hqCnp6cVQjTSY4QGJyampsbDMr
R3lLajJpbiNqS2ohaGhjezdMR0NkfEZJZGJ7fVRYPUJHNGs/fFhSJlUpPEBjK1R8TAp6bHNVaX5x
dSs2JHR5O3pFb1pudklkWkloPDlRKVZKX193Mjs3VXBGPFZoODU2Z3FvPyglUX0za1dreHVeT0Zx
SCYKel41JiZHMTk9OWZwMH57VEg9ODMoeyRAVDI9SWB+I0o7RDZIYiN2PnNXKmdzWC03RSs1NEM9
OzQodGpBaGRpfXQ+CnojV2ZjNW0zbHw4e09hODRWcXdXX2tPSmorZCEoRHlHM3BHTXpDZEkpXlRv
dEI5TClFJEFNPyVmMihIdD9IcSgxTwp6PGpaKjNXP1U7Q1BfMUdFSkxxPENpTGFTVXhtc2FLQDdS
SkpnIXNjXzZSTmtnOXJsaVZyPFhPJHRqayZoK1gmWnUKej47biQwb3lhc2UkS01nR1hRTUxUa19y
MShgdzA2YntsUzhMKWY8UUN0PXteR3pPdkN6TX15QF40fCEkdT5tT2FPCnpRUTZ4ZktZbHxBPyF9
K091RlU9Pj5oZ3A4WGo5ZnVzbl87VlhMfSNwQmczQnUtJCNBMXFgP3BmYH44biNRS0wxKwp6bF9U
N3kwZURvbndnPi07X1ElTFc4fWZRMSNKe1kwcUw9PTloPHtie3A8ZXBlTGozRVI1QkpqRjREbVpP
a0xqXz0KekB7ajhIdSFsd2J0aW8tPTg5KHskIVdscExodkAmfEt+Iy1RPlRtNUl0VXZnSGBoJEQq
QTdGbSlrMj1PYkV9WS0yCnpjcU11cTE+cVZkaGQ7Knd1YU89JV9BZkNXWXV9MmdlRlVNQFBseCNE
ZEt9SjN8QWBSKWIpUiFPUChLeW8qTG9jSgp6PE5DMT5mNFJwXjElNW9sZjN3SDthVmhvYjVkVkNT
cWFMe2JPbzshTSZuPjNeV1FoTlVhQmtzd3tZOzRlc1BLZWkKeiNfejklXyRQZz9yLW9rKUBsV3wm
Y2oyI3VfJTkyTyVncGppQV54SzlMNzh9ZEhwRzlgPEVBXitYRzhvaWc/c1Y7CnptQ3RwS2U9Vkgt
Ji1WRzc5I15gKFVLUUBPJilAZGFWVTA0cylaPHtfdWdtIUk/NyFsMzlwTXszKlg0aUo9ZW04fgp6
Pn5UfSFmQStjZHt9LVFZZ01hbjhfV3k/UExEUVk7LStacTl8Sn49PnwzN0BMe3JeKz1WZnI2WT5Q
Qz17RCluRSYKekZ+aktte0BkcWgzOGw3IV85dkJrQ2N4Pj80UkUmQ1BMTHlfLTV8I155QkZrVylK
czgqXyR+K2VzOFlgY0kzTXtkCnowblJAOEshQ0ZXe3pDWEw/c0A2Pyl0aXJDcHkkXkIqWW00ej1D
OX0xME4zLVlhRihhJSo4dGJedDhqI2BeIXlzJgp6ZWBtJU1UR3pDJV8wOU1aJlFGSyVhPj5pP2Fv
djRiS2ZIOV5lT055e1pZSTJGa0RDUSFwdlVuZGp3e3lWY3RPViUKej97UEROMlljTCVzNj53XndF
YSt6NHsxSyE8RUJMKTdYSHlqY2VaPE9NP0t7OCNyNGV7Xj89N3VFTDY4dkpMKkE/CnpqflRBbDdp
a34xZkw+cH41M0RjWHRVYzVKTiFsO01rMSVyQzQlMjxVa00tREZLVmQ+VUVtKCMxPzslSWtfUjVM
OQp6b2ZHU3VvISNVNVg5eGJ5Zlp0RzVhcjZBZmBwKCt1QCVoJUhDVWZARXkoa2x9cCgrS3t7bWN5
YXtBUDdoPylmcU8KekxBZjZYSnx5PU96PSEyTjEzV0FEbGZZd2dwOU1aOV9meD4qYS1SZTsxZVBA
aFQkMjBtMSloLW1JTzN3dlcpTGB2Cnp2NXRFeV8tKmVRKmdqJEc1OWx2THg3YkpEZnYoc2AtLVdL
KE42KzdqK0l7cj1IaEhGeGVoPDMmS0tnYSY9S0FRagp6cHNWLU1aJHNCR2RpN3I1YjhgUUY7MTU5
OVotPncoN1dUbVpWQXwrRntnK3tyR2Q+Nk9gMjQ5X2VlfG8pNzVlQygKemZeTWRke3ljUUVlZWBT
NG1IT3pQaFZFMSFKJTUrdXd+VFBWOyoqJUY3YF4lKTtDSVhZQmZ0bWJ7YC1MK2ZeZSRnCnp5dSkk
d0tKWDdoIXVmcHd4K25ZU3BNPyZ1QjUkIUBmaUItaWUranlVS0tnVWVQNTA0bkxSYWdmelglO1pp
MGhjJgp6MzRDMWMtdnhZKytgays2ZUd0fn4/QD5RfnA5X0JmPFgkQnhfaGFze1ZaaytrXkV9N01z
UD96QHlifGBtNHg2QkcKenRgNkokRV5MQ3JgOCNhJGQkMCkjPWsmMTZANTNmMm9hZShmZSpsfUhh
UEFNPXsyXj9EIXUyMypeOTklaGc9PDlFCno9OHM/IzZze1gjbj1pczlDfHBhekhoJkQ4cG0yUyR0
UncxcT0tS3shLXs4Mzl6TCRHcC1nQSUzZUp9NjFwWERBbQp6b0c8czhMRSpZV2QreHV2Qys5dSl5
ND9UcnA4SWFAI2whaDxLTj1MU1NHNERRMF5jMlkmdnlkOEMtOSM4ZjQmcCYKem9fa2c5VXdRdm9B
b3JANGJ5ZElmVk9aZlM1JDl0NmB3R1Z9JDFiMTBwTSEqQmM/SkdLO28yTHZgNGlYI2gzaGYwCnoo
cnRONm15YjBeQElrPngxUm5yO3dtKzxPamB+TW54RDM3bjFaQzg7aTUzMj5WO09kTExod3ZrIVFZ
O15yK09YMgp6eyFJdXIxZT0yTWY9PnZ4MVEhTHtmKHdFeGc4TStQNCE3LWRFYTRxaEBPSHQrMWI7
Xy1VVjtQcSRtO2h5KChTT2gKekFhPHdWJEcmN2duIWQhRUZLT2RJUXw/S3tKKW1XcylPJGFjZV9t
fFgxKW1iIS1qQ3x8ST5NaDN6OXtpczVXRmIzCnpDVSZRVktQfGk/ezV5ZHIyQnFGRHgpWHgkN2tu
O1leRnlNYDJ+Rz5YT1lsai1Gfk1FST1MUFEoT2JWdDJqfG5+awp6Xnh9Q1o/JTglazNmdHUhcVBx
aV82NVU7KnlBJFp5LTZ2YDk1IT9pTmBGPmIqY01JK2FFe0toMV9wSW96MnkhM0EKejdgVFRidThI
MzM4IXo5WT13fTNIMXh0YytLKENDP2lTOEUhVWxlPylYTEQ3NXw2bmB0O3lUMGloUyEoJXtZaWIj
CnpAbmQ4QkBjTyMrRzI0aTdkaExgS1VKeHRgez02WFRQa1lickd2TGdSSXpFQCl7bGBWYGFqI0Uq
TUV2ZytUb1FhLQp6QFRfMTQ9PXBsJUowZlllcGV1TXImPURMRWowJHBXR1FPX2hDaj43R3pFfCoq
Zn1heG5HKkRPUUNqWGN4RkF1JSoKelA5eENtPEYjaXtAcHRWfXtuNjA2JTNxZXY3M2M1Uk15PjN0
LVdNeHstd0RsR0NQfjcoZ2A9KkQ0fVdqSXhWXj1uCnoqN15DYWNSOHhPeXQkMEl3NVE+SFlvcFdJ
IyYySCE2fnA8Ym8kYnloX21jPiVjajB7MDkpSXNRcXM2RzlUaT9NKAp6WXBgZDxHT05xJCohLUVk
R24wVGwmKVJiTHtRQm0zI19uSTxaPkZzSEBLeVBzaFVBITw/UVpSRGtNYlNuJntmKj0KekQ7eDh5
WnRkLUtNJDRUbUowcWppPXVaVHdoZERQa2kxKClCK2JnTiQjR35xY3g1WjxhUWM8X1ZoJCpJRHVx
TT5sCnpWYEZRYmpaMi1+Xl9BdFppPUVaPXleQ1lydkNYYVMjcFI3TEI7cF90eytxd2Bvdm16a1Zy
bmRmbXsmVkhFOFg/Jgp6LVNzVyoyWnoqYlhTMzU/VWx+UEY7OEFzTVZ8bkVRQGJjT144ZmllQz97
PT1aTnJTMG1sKVNUdkNeViolQE5yYkYKei1veXNkIyk1JUdTWTUtUDRaSClqZDt4Iz40dmY9YmUp
PFAzS1loKCZJIT15WjxMJncxOVl9WHtJIX4+OXQ4fF9zCnohfW17bzM/N2lxeCpPeTRabVZtI2ln
RkU2VWVqcmUkdzgyZ2I9STB1bG90QF4zcCFyKjVxPERHSTZtOV48KCYkfAp6bGhOXztecUhUMkJU
KFBoYmJXYysldW9NRCEyZTZ5emdqTkA+Tl5yaHpvR3FHRiEyM2YzKmBUMkNMSmYoe1BkP0MKenpk
YVk2N3dgPTZecUhVRDRkajFUbShTQmBlKT1gRWs+Nml1UVU2TUBmY28+SjlVdTJNP05eV3xiaCE2
KUY0ezQhCnpYNylCJCVzX2ZvVH57dzN4KCo4clJhXj1EYVUkVmFMVWY2WnZ2akZmOzB8PWJpRHwp
YyEzbTU8Pk5DUDgxKyMpdgp6Q093cmpKZTNtRWBTR2tBaE0yezNkZXJsKjg8QSVzeDdVYHtJczNa
RzQ4MHR8XkI0OHY4XkkwRktoWH43OEZoWEAKem9nWXhnMmh7TmFDJlcoMjJkPzctPmlCP0RDZiZy
eGJDSlN6ZXRaSihvZXdSVXolTHNwN2lUM0NfPk97ZVFOfEFFCnpzPGJgTVJTQkFNYWpyX1pESHJG
ZWdxdzE0dUY3eUo3dzBPND4tX2orVjZAdkcjaDU+WWF5aGFTRHIpMldsKEVENAp6RHtZVlNTQXdR
b29XQnhvJUVrRkI7aWc9aXpjTzZQI2tvdiFLQj5lNDF7Qk5WbGFqIVIwLWtAPV9CZ0w4WHYpUVQK
ekUjYW5Jb1l4WD0lRWZzdDtpZz1pPVFQfXUlT0A/TlZ6d1JPY3RtK1BKQmQ0Kz1oK2YhKEJecWhC
Rn10Y09qPG5WCnpMKFgkPE00b311VD5BfiRGOyFlJC1fX0dRIyFQYSFVfnxrMkk+O0xSbUI0ZD1a
em5pd2k1UDYyJHQzYmpDWHMjMQp6YmVfV2A9bE0qTlVPLXZPRjJJNWgyaFZZbUdpS1dKSmZ9e19T
eHpGKWJgbyhHdGFEfDFkRyh6QTspb3EjOUVzbDgKeldrNVdhTjt7cXZIQ1JQbSRYZ20yNUFBcXY2
PyUoalJ9REBIPF9aWmx0ajdsOTtDV1YpSnxVUlYkaTZpQnEoc2xCCnpwWlRRKWktPnp6Kk18IX1Y
UDwtYExWN2B1MSlLcnZ0VHZXNko2S0M/XntWPTlKT0J8NjRxVS1+ZnJHakNZYT04MAp6ck97bCR5
QFg/VHQ9QTZ3WTJrZj82WHt4UzlQIWhLeXxkUHA8I1F9STtAblZRSylHTDN0MiVSQ1pvPlN3YEY3
WFIKekx3Y3tuSldMXng9blp4S0Z6UkhQR0VEcllraGZkTDtsTnBNc2Z2bVcrKSRzIzxvWW93JDc+
NnpqKFdSZ2FjO284Ck1ra3NkfmJJSWlZMDgzSzAyPjx7OQoKZGlmZiAtLWdpdCBhL1Rvb2xzL2Zs
YXRwYWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaCBiL1Rvb2xzL2ZsYXRwYWsvZmlsZXMvaHR0cGQt
YXV0b2dlbi5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMWMwYzQ4MzA1MWZiZGY4
NjA0Yjk0NGE2MzUxMWM0ZTEyMWVhZWY0ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL2ZpbGVzL2h0dHBkLWF1dG9nZW4uc2gKKysr
IC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLWF1dG9tYWtlIC0tYWRkLW1pc3NpbmcKLWF1dG9y
ZWNvbmYgLS1pbnN0YWxsCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL2ZsYXRwYWt1dGlscy5w
eSBiL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5CmluZGV4IDg5ZWJjNjczMTBjMWQ1Yjg0
YzkwY2Y1NDA3Zjk0MGMwMWIwNWVlZTYuLjJiNzhmMTk0NzY2YWNmN2YxM2ZkMjA5ZDM0NzllYmE1
MjI1Nzg0ZmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5CisrKyBi
L1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5CkBAIC00OCwxNiArNDgsMTEgQEAgZXhjZXB0
IEltcG9ydEVycm9yOgogICAgIGZyb20gdXJsbGliMiBpbXBvcnQgdXJsb3BlbgogCiBGTEFUUEFL
X1JFUSA9IFsKLSAgICAoImZsYXRwYWsiLCAiMC4xMC4wIiksCi0gICAgKCJmbGF0cGFrLWJ1aWxk
ZXIiLCAiMC4xMC4wIiksCisgICAgKCJmbGF0cGFrIiwgIjEuMi41IiksCiBdCiAKIEZMQVRQQUtf
VkVSU0lPTiA9IHt9CiAKLVdQRV9NQU5JRkVTVF9NQVAgPSB7Ci0gICAgInF0IjogIm9yZy53ZWJr
aXQuV1BFUVQueWFtbCIsCi19Ci0KIHNjcmlwdGRpciA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRo
LmRpcm5hbWUoX19maWxlX18pKQogX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQog
CkBAIC0xMjMsMTMyICsxMTgsNiBAQCBkZWYgY2hlY2tfZmxhdHBhayh2ZXJib3NlPVRydWUpOgog
ICAgIHJldHVybiBUcnVlCiAKIAotZGVmIHJlbW92ZV9leHRlbnNpb25fcG9pbnRzKGFycmF5KToK
LSAgICByZXN1bHRfYXJncyA9IFtdCi0gICAgZm9yIGFyZyBpbiBhcnJheToKLSAgICAgICAgaWYo
bm90IGFyZy5zdGFydHN3aXRoKCctLWV4dGVuc2lvbicpKToKLSAgICAgICAgICAgIHJlc3VsdF9h
cmdzLmFwcGVuZChhcmcpCi0gICAgcmV0dXJuIHJlc3VsdF9hcmdzCi0KLQotZGVmIHJlbW92ZV9j
b21tZW50cyhzdHJpbmcpOgotICAgIHBhdHRlcm4gPSByIihcIi4qP1wifFwnLio/XCcpfCgvXCou
Kj9cKi98Ly9bXlxyXG5dKiQpIgotICAgICMgZmlyc3QgZ3JvdXAgY2FwdHVyZXMgcXVvdGVkIHN0
cmluZ3MgKGRvdWJsZSBvciBzaW5nbGUpCi0gICAgIyBzZWNvbmQgZ3JvdXAgY2FwdHVyZXMgY29t
bWVudHMgKC8vc2luZ2xlLWxpbmUgb3IgLyogbXVsdGktbGluZSAqLykKLSAgICByZWdleCA9IHJl
LmNvbXBpbGUocGF0dGVybiwgcmUuTVVMVElMSU5FIHwgcmUuRE9UQUxMKQotCi0gICAgZGVmIF9y
ZXBsYWNlcihtYXRjaCk6Ci0gICAgICAgICMgaWYgdGhlIDJuZCBncm91cCAoY2FwdHVyaW5nIGNv
bW1lbnRzKSBpcyBub3QgTm9uZSwKLSAgICAgICAgIyBpdCBtZWFucyB3ZSBoYXZlIGNhcHR1cmVk
IGEgbm9uLXF1b3RlZCAocmVhbCkgY29tbWVudCBzdHJpbmcuCi0gICAgICAgIGlmIG1hdGNoLmdy
b3VwKDIpIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcmV0dXJuICIiICAjIHNvIHdlIHdpbGwg
cmV0dXJuIGVtcHR5IHRvIHJlbW92ZSB0aGUgY29tbWVudAotICAgICAgICBlbHNlOiAgIyBvdGhl
cndpc2UsIHdlIHdpbGwgcmV0dXJuIHRoZSAxc3QgZ3JvdXAKLSAgICAgICAgICAgIHJldHVybiBt
YXRjaC5ncm91cCgxKSAgIyBjYXB0dXJlZCBxdW90ZWQtc3RyaW5nCi0gICAgcmV0dXJuIHJlZ2V4
LnN1YihfcmVwbGFjZXIsIHN0cmluZykKLQotCi1kZWYgbG9hZF9tYW5pZmVzdChtYW5pZmVzdF9w
YXRoLCBwb3J0X25hbWU9Tm9uZSwgY29tbWFuZD1Ob25lKToKLSAgICBpc195YW1sID0gbWFuaWZl
c3RfcGF0aC5lbmRzd2l0aCgnLnlhbWwnKQotICAgIHdpdGggb3BlbihtYW5pZmVzdF9wYXRoLCAi
ciIpIGFzIG1yOgotICAgICAgICBjb250ZW50cyA9IG1yLnJlYWQoKQotCi0gICAgICAgIGNvbnRl
bnRzID0gY29udGVudHMgJSB7IkNPTU1BTkQiOiBjb21tYW5kLCAiUE9SVE5BTUUiOiBwb3J0X25h
bWV9Ci0gICAgICAgIGlmIGlzX3lhbWw6Ci0gICAgICAgICAgICBpbXBvcnQgeWFtbAotICAgICAg
ICAgICAgeWFtbF9sb2FkID0gZ2V0YXR0cih5YW1sLCAic2FmZV9sb2FkIiwgeWFtbC5sb2FkKQot
ICAgICAgICAgICAgbWFuaWZlc3QgPSB5YW1sX2xvYWQoY29udGVudHMpCi0gICAgICAgIGVsc2U6
Ci0gICAgICAgICAgICBjb250ZW50cyA9IHJlbW92ZV9jb21tZW50cyhjb250ZW50cykKLSAgICAg
ICAgICAgIG1hbmlmZXN0ID0ganNvbi5sb2Fkcyhjb250ZW50cykKLQotICAgIHJldHVybiBtYW5p
ZmVzdAotCi0KLWRlZiBleHBhbmRfc3VibW9kdWxlc19yZWN1cnNlKG1vZHVsZXMsIG1hbmlmZXN0
X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCk6Ci0gICAgYWxsX21vZHVsZXMgPSBbXQotICAgIGlm
IHR5cGUobW9kdWxlcykgaXMgc3RyOgotICAgICAgICBzdWJtYW5pZmVzdF9wYXRoID0gb3MucGF0
aC5qb2luKG9zLnBhdGguZGlybmFtZShtYW5pZmVzdF9wYXRoKSwgbW9kdWxlcykKLSAgICAgICAg
c3VibWFuaWZlc3QgPSBsb2FkX21hbmlmZXN0KHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZT1w
b3J0X25hbWUsIGNvbW1hbmQ9Y29tbWFuZCkKLSAgICAgICAgYWxsX21vZHVsZXMuZXh0ZW5kKGV4
cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2Uoc3VibWFuaWZlc3QsIHN1Ym1hbmlmZXN0X3BhdGgsIHBv
cnRfbmFtZSwgY29tbWFuZCkpCi0gICAgICAgIHJldHVybiBhbGxfbW9kdWxlcwotCi0gICAgIyBU
aGUgbGFzdCByZWN1cnNlIG1hbmlmZXN0IGV4cGFuZCBpdGVyYXRpb24gbWlnaHQgbGVhZCB0byBh
IHNpbmdsZSBtb2R1bGUuCi0gICAgaWYgbm90IGlzaW5zdGFuY2UobW9kdWxlcywgbGlzdCk6Ci0g
ICAgICAgIGFsbF9tb2R1bGVzLmFwcGVuZChtb2R1bGVzKQotICAgICAgICByZXR1cm4gYWxsX21v
ZHVsZXMKLQotICAgIGZvciBtb2R1bGUgaW4gbW9kdWxlczoKLSAgICAgICAgaWYgdHlwZShtb2R1
bGUpIGlzIHN0cjoKLSAgICAgICAgICAgIHN1Ym1hbmlmZXN0X3BhdGggPSBvcy5wYXRoLmpvaW4o
b3MucGF0aC5kaXJuYW1lKG1hbmlmZXN0X3BhdGgpLCBtb2R1bGUpCi0gICAgICAgICAgICBzdWJt
YW5pZmVzdCA9IGxvYWRfbWFuaWZlc3Qoc3VibWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lPXBvcnRf
bmFtZSwgY29tbWFuZD1jb21tYW5kKQotICAgICAgICAgICAgYWxsX21vZHVsZXMuZXh0ZW5kKGV4
cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2Uoc3VibWFuaWZlc3QsIHN1Ym1hbmlmZXN0X3BhdGgsIHBv
cnRfbmFtZSwgY29tbWFuZCkpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBhbGxfbW9kdWxl
cy5hcHBlbmQobW9kdWxlKQotCi0gICAgcmV0dXJuIGFsbF9tb2R1bGVzCi0KLWRlZiBleHBhbmRf
bWFuaWZlc3QobWFuaWZlc3RfcGF0aCwgb3V0ZmlsZSwgcG9ydF9uYW1lLCBzb3VyY2Vfcm9vdCwg
Y29tbWFuZCk6Ci0gICAgIiIiQ3JlYXRlcyB0aGUgbWFuaWZlc3QgZmlsZS4iIiIKLSAgICB0cnk6
Ci0gICAgICAgIG9zLnJlbW92ZShvdXRmaWxlKQotICAgIGV4Y2VwdCBPU0Vycm9yOgotICAgICAg
ICBwYXNzCi0KLSAgICBtYW5pZmVzdCA9IGxvYWRfbWFuaWZlc3QobWFuaWZlc3RfcGF0aCwgcG9y
dF9uYW1lPXBvcnRfbmFtZSwgY29tbWFuZD1jb21tYW5kKQotICAgIGlmIG5vdCBtYW5pZmVzdDoK
LSAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICBpZiAic2RrLWhhc2giIGluIG1hbmlmZXN0Ogot
ICAgICAgICBkZWwgbWFuaWZlc3RbInNkay1oYXNoIl0KLSAgICBpZiAicnVudGltZS1oYXNoIiBp
biBtYW5pZmVzdDoKLSAgICAgICAgZGVsIG1hbmlmZXN0WyJydW50aW1lLWhhc2giXQotCi0gICAg
YWxsX21vZHVsZXMgPSBbXQotCi0gICAgb3ZlcnJpZGVuX21vZHVsZXMgPSBbXQotICAgIGlmICJX
RUJLSVRfRVhUUkFfTU9EVUxFU0VUUyIgaW4gb3MuZW52aXJvbjoKLSAgICAgICAgb3ZlcnJpZGVu
X21vZHVsZXMgPSBsb2FkX21hbmlmZXN0KG9zLmVudmlyb25bIldFQktJVF9FWFRSQV9NT0RVTEVT
RVRTIl0pCi0gICAgICAgIGlmIG5vdCBvdmVycmlkZW5fbW9kdWxlczoKLSAgICAgICAgICAgIG92
ZXJyaWRlbl9tb2R1bGVzID0gW10KLSAgICBmb3IgbW9kdWxlcyBpbiBtYW5pZmVzdFsibW9kdWxl
cyJdOgotICAgICAgICBtb2R1bGVzID0gZXhwYW5kX3N1Ym1vZHVsZXNfcmVjdXJzZShtb2R1bGVz
LCBtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWUsIGNvbW1hbmQpCi0KLSAgICAgICAgaWYgbm90IGlz
aW5zdGFuY2UobW9kdWxlcywgbGlzdCk6Ci0gICAgICAgICAgICBtb2R1bGVzID0gW21vZHVsZXNd
Ci0KLSAgICAgICAgZm9yIG1vZHVsZSBpbiBtb2R1bGVzOgotICAgICAgICAgICAgZm9yIG92ZXJy
aWRlbl9tb2R1bGUgaW4gb3ZlcnJpZGVuX21vZHVsZXM6Ci0gICAgICAgICAgICAgICAgaWYgbW9k
dWxlWyduYW1lJ10gPT0gb3ZlcnJpZGVuX21vZHVsZVsnbmFtZSddOgotICAgICAgICAgICAgICAg
ICAgICBtb2R1bGUgPSBvdmVycmlkZW5fbW9kdWxlCi0gICAgICAgICAgICAgICAgICAgIG92ZXJy
aWRlbl9tb2R1bGVzLnJlbW92ZShtb2R1bGUpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrCi0K
LSAgICAgICAgICAgIGFsbF9tb2R1bGVzLmFwcGVuZChtb2R1bGUpCi0KLSAgICAjIEFuZCBhZGQg
b3ZlcnJpZGVuIG1vZHVsZXMgcmlnaHQgYmVmb3JlIHRoZSB3ZWJraXQgcG9ydCBidWlsZCBkZWYu
Ci0gICAgZm9yIG92ZXJyaWRlbl9tb2R1bGUgaW4gb3ZlcnJpZGVuX21vZHVsZXM6Ci0gICAgICAg
IGFsbF9tb2R1bGVzLmluc2VydCgtMSwgb3ZlcnJpZGVuX21vZHVsZSkKLQotICAgIG1hbmlmZXN0
WyJtb2R1bGVzIl0gPSBhbGxfbW9kdWxlcwotICAgIGZvciBtb2R1bGUgaW4gbWFuaWZlc3RbIm1v
ZHVsZXMiXToKLSAgICAgICAgaWYgbm90IG1vZHVsZS5nZXQoInNvdXJjZXMiKToKLSAgICAgICAg
ICAgIGNvbnRpbnVlCi0KLSAgICAgICAgaWYgbW9kdWxlWyJzb3VyY2VzIl1bMF1bInR5cGUiXSA9
PSAiZ2l0IjoKLSAgICAgICAgICAgIGlmIHBvcnRfbmFtZSA9PSBtb2R1bGVbIm5hbWUiXToKLSAg
ICAgICAgICAgICAgICByZXBvID0gImZpbGU6Ly8iICsgc291cmNlX3Jvb3QKLSAgICAgICAgICAg
ICAgICBtb2R1bGVbInNvdXJjZXMiXVswXVsidXJsIl0gPSByZXBvCi0KLSAgICAgICAgZm9yIHNv
dXJjZSBpbiBtb2R1bGVbInNvdXJjZXMiXToKLSAgICAgICAgICAgIGlmIHNvdXJjZVsidHlwZSJd
ID09ICJwYXRjaCIgb3IgKHNvdXJjZVsidHlwZSJdID09ICJmaWxlIiBhbmQgc291cmNlLmdldCgn
cGF0aCcpKToKLSAgICAgICAgICAgICAgICBzb3VyY2VbInBhdGgiXSA9IG9zLnBhdGguam9pbihv
cy5wYXRoLmRpcm5hbWUobWFuaWZlc3RfcGF0aCksIHNvdXJjZVsicGF0aCJdKQotCi0gICAgd2l0
aCBvcGVuKG91dGZpbGUsICJ3IikgYXMgb2Y6Ci0gICAgICAgIG9mLndyaXRlKGpzb24uZHVtcHMo
bWFuaWZlc3QsIGluZGVudD00KSkKLQotICAgIHJldHVybiBUcnVlCi0KLQogY2xhc3MgRmxhdHBh
a09iamVjdDoKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB1c2VyKToKQEAgLTI4MCw0NSArMTQ5
LDI1IEBAIGNsYXNzIEZsYXRwYWtQYWNrYWdlcyhGbGF0cGFrT2JqZWN0KToKIAogICAgICAgICBz
ZWxmLnJlcG9zID0gcmVwb3MKIAotICAgICAgICBzZWxmLnJ1bnRpbWVzID0gc2VsZi5fX2RldGVj
dF9ydW50aW1lcygpCi0gICAgICAgIHNlbGYuYXBwcyA9IHNlbGYuX19kZXRlY3RfYXBwcygpCi0g
ICAgICAgIHNlbGYucGFja2FnZXMgPSBzZWxmLnJ1bnRpbWVzICsgc2VsZi5hcHBzCi0KKyAgICAg
ICAgc2VsZi5wYWNrYWdlcyA9IHNlbGYuX19kZXRlY3RfcnVudGltZXMoKQogCiAgICAgZGVmIF9f
ZGV0ZWN0X3BhY2thZ2VzKHNlbGYsICphcmdzKToKICAgICAgICAgcGFja3MgPSBbXQotICAgICAg
ICBpZiBGTEFUUEFLX1ZFUlNJT05bImZsYXRwYWsiXSA8ICgxLCAxLCAyKToKLSAgICAgICAgICAg
IG91dCA9IHNlbGYuZmxhdHBhaygibGlzdCIsICItZCIsICphcmdzKQotICAgICAgICAgICAgcGFj
a2FnZV9kZWZzID0gW2xpbmUgZm9yIGxpbmUgaW4gb3V0LnNwbGl0KCJcbiIpIGlmIGxpbmVdCi0g
ICAgICAgICAgICBmb3IgcGFja2FnZV9kZWYgaW4gcGFja2FnZV9kZWZzOgotICAgICAgICAgICAg
ICAgIHNwbGl0ZWRfcGFja2FnZWRfZGVmID0gcGFja2FnZV9kZWYuc3BsaXQoKQotICAgICAgICAg
ICAgICAgIG5hbWUsIGFyY2gsIGJyYW5jaCA9IHNwbGl0ZWRfcGFja2FnZWRfZGVmWzBdLnNwbGl0
KCIvIikKLQotICAgICAgICAgICAgICAgICMgSWYgaW5zdGFsbGVkIGZyb20gYSBmaWxlLCB0aGUg
cGFja2FnZSBpcyBpbiBubyByZXBvCi0gICAgICAgICAgICAgICAgcmVwb19uYW1lID0gc3BsaXRl
ZF9wYWNrYWdlZF9kZWZbMV0KLSAgICAgICAgICAgICAgICByZXBvID0gc2VsZi5yZXBvcy5yZXBv
cy5nZXQocmVwb19uYW1lKQotCi0gICAgICAgICAgICAgICAgcGFja3MuYXBwZW5kKEZsYXRwYWtQ
YWNrYWdlKG5hbWUsIGJyYW5jaCwgcmVwbywgYXJjaCkpCi0gICAgICAgIGVsc2U6Ci0gICAgICAg
ICAgICBvdXQgPSBzZWxmLmZsYXRwYWsoImxpc3QiLCAiLS1jb2x1bW5zPWFwcGxpY2F0aW9uLGFy
Y2gsYnJhbmNoLG9yaWdpbiIsICphcmdzKQotICAgICAgICAgICAgcGFja2FnZV9kZWZzID0gW2xp
bmUgZm9yIGxpbmUgaW4gb3V0LnNwbGl0KCJcbiIpIGlmIGxpbmVdCi0gICAgICAgICAgICBmb3Ig
cGFja2FnZV9kZWYgaW4gcGFja2FnZV9kZWZzOgotICAgICAgICAgICAgICAgIG5hbWUsIGFyY2gs
IGJyYW5jaCwgb3JpZ2luID0gcGFja2FnZV9kZWYuc3BsaXQoIlx0IikKKyAgICAgICAgb3V0ID0g
c2VsZi5mbGF0cGFrKCJsaXN0IiwgIi0tY29sdW1ucz1hcHBsaWNhdGlvbixhcmNoLGJyYW5jaCxv
cmlnaW4iLCAqYXJncykKKyAgICAgICAgcGFja2FnZV9kZWZzID0gW2xpbmUgZm9yIGxpbmUgaW4g
b3V0LnNwbGl0KCJcbiIpIGlmIGxpbmVdCisgICAgICAgIGZvciBwYWNrYWdlX2RlZiBpbiBwYWNr
YWdlX2RlZnM6CisgICAgICAgICAgICBuYW1lLCBhcmNoLCBicmFuY2gsIG9yaWdpbiA9IHBhY2th
Z2VfZGVmLnNwbGl0KCJcdCIpCiAKLSAgICAgICAgICAgICAgICAjIElmIGluc3RhbGxlZCBmcm9t
IGEgZmlsZSwgdGhlIHBhY2thZ2UgaXMgaW4gbm8gcmVwbwotICAgICAgICAgICAgICAgIHJlcG8g
PSBzZWxmLnJlcG9zLnJlcG9zLmdldChvcmlnaW4pCisgICAgICAgICAgICAjIElmIGluc3RhbGxl
ZCBmcm9tIGEgZmlsZSwgdGhlIHBhY2thZ2UgaXMgaW4gbm8gcmVwbworICAgICAgICAgICAgcmVw
byA9IHNlbGYucmVwb3MucmVwb3MuZ2V0KG9yaWdpbikKIAotICAgICAgICAgICAgICAgIHBhY2tz
LmFwcGVuZChGbGF0cGFrUGFja2FnZShuYW1lLCBicmFuY2gsIHJlcG8sIGFyY2gpKQorICAgICAg
ICAgICAgcGFja3MuYXBwZW5kKEZsYXRwYWtQYWNrYWdlKG5hbWUsIGJyYW5jaCwgcmVwbywgYXJj
aCkpCiAKICAgICAgICAgcmV0dXJuIHBhY2tzCiAKLQogICAgIGRlZiBfX2RldGVjdF9ydW50aW1l
cyhzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX19kZXRlY3RfcGFja2FnZXMoIi0tcnVudGlt
ZSIpCiAKLSAgICBkZWYgX19kZXRlY3RfYXBwcyhzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYu
X19kZXRlY3RfcGFja2FnZXMoKQotCiAgICAgZGVmIF9faXRlcl9fKHNlbGYpOgogICAgICAgICBm
b3IgcGFja2FnZSBpbiBzZWxmLnBhY2thZ2VzOgogICAgICAgICAgICAgeWllbGQgcGFja2FnZQpA
QCAtMzMzLDQ3ICsxODIsMTYgQEAgY2xhc3MgRmxhdHBha1JlcG9zKEZsYXRwYWtPYmplY3QpOgog
CiAgICAgZGVmIHVwZGF0ZShzZWxmKToKICAgICAgICAgc2VsZi5yZXBvcyA9IHt9Ci0gICAgICAg
IGlmIEZMQVRQQUtfVkVSU0lPTlsiZmxhdHBhayJdIDwgKDEsIDEsIDIpOgotICAgICAgICAgICAg
b3V0ID0gc2VsZi5mbGF0cGFrKCJyZW1vdGUtbGlzdCIsICItZCIpCi0gICAgICAgICAgICByZW1v
dGVzID0gW2xpbmUgZm9yIGxpbmUgaW4gb3V0LnNwbGl0KCJcbiIpIGlmIGxpbmVdCi0gICAgICAg
ICAgICBmb3IgcmVwbyBpbiByZW1vdGVzOgotICAgICAgICAgICAgICAgIGZvciBjb21wb25lbnRz
IGluIFtyZXBvLnNwbGl0KCIgIiksIHJlcG8uc3BsaXQoIlx0IildOgotICAgICAgICAgICAgICAg
ICAgICBpZiBsZW4oY29tcG9uZW50cykgPT0gMToKLSAgICAgICAgICAgICAgICAgICAgICAgIGNv
bXBvbmVudHMgPSByZXBvLnNwbGl0KCJcdCIpCi0gICAgICAgICAgICAgICAgICAgIG5hbWUgPSBj
b21wb25lbnRzWzBdCi0gICAgICAgICAgICAgICAgICAgIGRlc2MgPSAiIgotICAgICAgICAgICAg
ICAgICAgICB1cmwgPSBOb25lCi0gICAgICAgICAgICAgICAgICAgIGZvciBlbGVtIGluIGNvbXBv
bmVudHNbMTpdOgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IGVsZW06Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICAgICAgICAgIHBh
cnNlZF91cmwgPSB1cmxwYXJzZShlbGVtKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgcGFy
c2VkX3VybC5zY2hlbWU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsID0gZWxlbQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0KLSAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIGRlc2M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzYyArPSAiICIKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGRlc2MgKz0gZWxlbQotCi0gICAgICAgICAgICAgICAgICAg
IGlmIHVybDoKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0KLSAgICAgICAgICAgICAg
ICBpZiBub3QgdXJsOgotICAgICAgICAgICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIk5vIHZh
bGlkIFVSSSBmb3VuZCBmb3I6ICVzIiwgcmVwbykKLSAgICAgICAgICAgICAgICAgICAgY29udGlu
dWUKLQotICAgICAgICAgICAgICAgIHNlbGYucmVwb3NbbmFtZV0gPSBGbGF0cGFrUmVwbyhuYW1l
LCB1cmwsIGRlc2MsIHJlcG9zPXNlbGYpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBvdXQg
PSBzZWxmLmZsYXRwYWsoInJlbW90ZS1saXN0IiwgIi0tY29sdW1ucz1uYW1lLHRpdGxlLHVybCIp
Ci0gICAgICAgICAgICByZW1vdGVzID0gW2xpbmUgZm9yIGxpbmUgaW4gb3V0LnNwbGl0KCJcbiIp
IGlmIGxpbmVdCi0gICAgICAgICAgICBmb3IgcmVtb3RlIGluIHJlbW90ZXM6Ci0gICAgICAgICAg
ICAgICAgbmFtZSwgdGl0bGUsIHVybCA9IHJlbW90ZS5zcGxpdCgiXHQiKQotICAgICAgICAgICAg
ICAgIHBhcnNlZF91cmwgPSB1cmxwYXJzZSh1cmwpCi0gICAgICAgICAgICAgICAgaWYgbm90IHBh
cnNlZF91cmwuc2NoZW1lOgotICAgICAgICAgICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIk5v
IHZhbGlkIFVSSSBmb3VuZCBmb3I6ICVzIiwgcmVtb3RlKQotICAgICAgICAgICAgICAgICAgICBj
b250aW51ZQorICAgICAgICBvdXQgPSBzZWxmLmZsYXRwYWsoInJlbW90ZS1saXN0IiwgIi0tY29s
dW1ucz1uYW1lLHRpdGxlLHVybCIpCisgICAgICAgIHJlbW90ZXMgPSBbbGluZSBmb3IgbGluZSBp
biBvdXQuc3BsaXQoIlxuIikgaWYgbGluZV0KKyAgICAgICAgZm9yIHJlbW90ZSBpbiByZW1vdGVz
OgorICAgICAgICAgICAgbmFtZSwgdGl0bGUsIHVybCA9IHJlbW90ZS5zcGxpdCgiXHQiKQorICAg
ICAgICAgICAgcGFyc2VkX3VybCA9IHVybHBhcnNlKHVybCkKKyAgICAgICAgICAgIGlmIG5vdCBw
YXJzZWRfdXJsLnNjaGVtZToKKyAgICAgICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIk5vIHZh
bGlkIFVSSSBmb3VuZCBmb3I6ICVzIiwgcmVtb3RlKQorICAgICAgICAgICAgICAgIGNvbnRpbnVl
CiAKLSAgICAgICAgICAgICAgICBzZWxmLnJlcG9zW25hbWVdID0gRmxhdHBha1JlcG8obmFtZSwg
dXJsLCB0aXRsZSwgcmVwb3M9c2VsZikKKyAgICAgICAgICAgIHNlbGYucmVwb3NbbmFtZV0gPSBG
bGF0cGFrUmVwbyhuYW1lPW5hbWUsIHVybD11cmwsIGRlc2M9dGl0bGUsIHJlcG9zPXNlbGYpCiAK
ICAgICAgICAgc2VsZi5wYWNrYWdlcyA9IEZsYXRwYWtQYWNrYWdlcyhzZWxmKQogCkBAIC00MjAs
NyArMjM4LDEwIEBAIGNsYXNzIEZsYXRwYWtSZXBvKEZsYXRwYWtPYmplY3QpOgogICAgICAgICBp
ZiByZXBvX2ZpbGUgYW5kIG5vdCB1cmw6CiAgICAgICAgICAgICByZXBvID0gY29uZmlncGFyc2Vy
LkNvbmZpZ1BhcnNlcigpCiAgICAgICAgICAgICByZXBvLnJlYWQoc2VsZi5yZXBvX2ZpbGUubmFt
ZSkKLSAgICAgICAgICAgIHNlbGYudXJsID0gcmVwb1siRmxhdHBhayBSZXBvIl1bIlVybCJdCisg
ICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi51cmwgPSByZXBvWyJGbGF0cGFr
IFJlcG8iXVsiVXJsIl0KKyAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAg
ICAgICAgICAgICBzZWxmLnVybCA9IHJlcG8uZ2V0KCJGbGF0cGFrIFJlcG8iLCAiVXJsIikKICAg
ICAgICAgZWxzZToKICAgICAgICAgICAgIGFzc2VydCB1cmwKIApAQCAtNDQ5LDkgKzI3MCwxMiBA
QCBjbGFzcyBGbGF0cGFrUGFja2FnZShGbGF0cGFrT2JqZWN0KToKICAgICAgICAgc2VsZi5hcmNo
ID0gYXJjaAogICAgICAgICBzZWxmLmhhc2ggPSBoYXNoCiAKLSAgICBkZWYgX19zdHJfXyhzZWxm
KToKKyAgICBkZWYgX19yZXByX18oc2VsZik6CiAgICAgICAgIHJldHVybiAiJXMvJXMvJXMgJXMi
ICUgKHNlbGYubmFtZSwgc2VsZi5hcmNoLCBzZWxmLmJyYW5jaCwgc2VsZi5yZXBvLm5hbWUpCiAK
KyAgICBkZWYgX19zdHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuICIlcy8lcy8lcyIgJSAoc2Vs
Zi5uYW1lLCBzZWxmLmFyY2gsIHNlbGYuYnJhbmNoKQorCiAgICAgZGVmIGlzX2luc3RhbGxlZChz
ZWxmLCBicmFuY2gpOgogICAgICAgICBpZiBub3Qgc2VsZi5yZXBvOgogICAgICAgICAgICAgIyBC
dW5kbGUgaW5zdGFsbGVkIGZyb20gZmlsZQpAQCAtNDkxLDcgKzMxNSw3IEBAIGNsYXNzIEZsYXRw
YWtQYWNrYWdlKEZsYXRwYWtPYmplY3QpOgogICAgICAgICBleHRyYV9hcmdzLmFwcGVuZCgiLS1h
c3N1bWV5ZXMiKQogCiAgICAgICAgIHNlbGYuZmxhdHBhaygidXBkYXRlIiwgc2VsZi5uYW1lLCBz
ZWxmLmJyYW5jaCwgc2hvd19vdXRwdXQ9VHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgKmV4dHJh
X2FyZ3MsIGNvbW1lbnQ9Y29tbWVudCkKKyAgICAgICAgICAgICAgICAgICAgICpleHRyYV9hcmdz
LCBjb21tZW50PWNvbW1lbnQpCiAKIAogQGNvbnRleHRtYW5hZ2VyCkBAIC01MTksNTQgKzM0Myw1
OCBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgn
LS12ZXJib3NlJywgYWN0aW9uPSdzdG9yZV90cnVlJywKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0nU2hvdyBkZWJ1ZyBtZXNzYWdlJykKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJn
dW1lbnQoIi0tZGVidWciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkNvbXBp
bGUgd2l0aCBEZWJ1ZyBjb25maWd1cmF0aW9uLCBhbHNvIGluc3RhbGxzIFNkayBkZWJ1ZyBzeW1i
b2xlcy4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkNvbXBpbGUgd2l0aCBEZWJ1ZyBj
b25maWd1cmF0aW9uLCBhbHNvIGluc3RhbGxzIFNkayBkZWJ1ZyBzeW1ib2xlcy4iLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiKQogICAgICAgICBnZW5l
cmFsLmFkZF9hcmd1bWVudCgiLS1yZWxlYXNlIiwgaGVscD0iQ29tcGlsZSB3aXRoIFJlbGVhc2Ug
Y29uZmlndXJhdGlvbi4iLCBhY3Rpb249InN0b3JlX3RydWUiKQogICAgICAgICBnZW5lcmFsLmFk
ZF9hcmd1bWVudCgnLS1wbGF0Zm9ybScsIGFjdGlvbj0nc3RvcmUnLCBoZWxwPSdQbGF0Zm9ybSB0
byB1c2UgKGUuZy4sICJtYWMtbGlvbiIpJyksCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50
KCctLWd0aycsIGFjdGlvbj0nc3RvcmVfY29uc3QnLCBkZXN0PSdwbGF0Zm9ybScsIGNvbnN0PSdn
dGsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdBbGlhcyBmb3IgLS1wbGF0
Zm9ybT1ndGsnKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgnLS13cGUnLCBhY3Rpb249
J3N0b3JlX2NvbnN0JywgZGVzdD0ncGxhdGZvcm0nLCBjb25zdD0nd3BlJywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoZWxwPSgnQWxpYXMgZm9yIC0tcGxhdGZvcm09d3BlJykpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9KCdBbGlhcyBmb3IgLS1wbGF0Zm9ybT13cGUn
KSkKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi1uZiIsICItLW5vLWZsYXRwYWstdXBk
YXRlIiwgZGVzdD0ibm9fZmxhdHBha191cGRhdGUiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVs
cD0iRG8gbm90IHVwZGF0ZSBmbGFwdGFrIHJ1bnRpbWUvc2RrIikKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0iRG8gbm90IHVwZGF0ZSBmbGFwdGFrIHJ1bnRpbWUvc2RrIikKICAgICAgICAg
Z2VuZXJhbC5hZGRfYXJndW1lbnQoIi11IiwgIi0tdXBkYXRlIiwgZGVzdD0idXBkYXRlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGhlbHA9IlVwZGF0ZSB0aGUgcnVudGltZS9zZGsvYXBwIGFuZCBy
ZWJ1aWxkIHRoZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCBpZiBuZWVkZWQiKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBoZWxwPSJVcGRhdGUgdGhlIHJ1bnRpbWUvc2RrL2FwcCBhbmQgcmVidWls
ZCB0aGUgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgaWYgbmVlZGVkIikKICAgICAgICAgZ2VuZXJh
bC5hZGRfYXJndW1lbnQoIi1iIiwgIi0tYnVpbGQtd2Via2l0IiwgZGVzdD0iYnVpbGRfd2Via2l0
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkZvcmNlIHJlYnVpbGRpbmcgdGhlIGFwcC4i
KQotICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLWJhIiwgIi0tYnVpbGQtYWxsIiwgZGVz
dD0iYnVpbGRfYWxsIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3Jl
X3RydWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkZvcmNlIHJlYnVpbGRp
bmcgdGhlIGFwcCBhbmQgaXRzIGRlcGVuZGVuY2llcy4iKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSJGb3JjZSByZWJ1aWxkaW5nIHRoZSBhcHAuIikKKyAgICAgICAgZ2VuZXJhbC5hZGRf
YXJndW1lbnQoIi1iZ3N0IiwgIi0tYnVpbGQtZ3N0IiwgZGVzdD0iYnVpbGRfZ3N0IiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaGVscD0iRm9yY2UgcmVidWlsZGluZyBnc3QtYnVpbGQsIHJlcG9z
aXRvcnkgcGF0aCBpcyBkZWZpbmVkIGJ5IHRoZSBgR1NUX0JVSUxEX1BBVEhgIGVudmlyb25tZW50
IHZhcmlhYmxlLiIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItcSIsICItLXF1aWV0
IiwgZGVzdD0icXVpZXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3Rv
cmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRG8gbm90IHByaW50
IGFueXRoaW5nIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90
cnVlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRG8gbm90IHByaW50IGFu
eXRoaW5nIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi10IiwgIi0tdGVzdHMiLCBk
ZXN0PSJydW5fdGVzdHMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hcmdzPWFyZ3Bh
cnNlLlJFTUFJTkRFUiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJSdW4gTGF5
b3V0VGVzdHMiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXJncz1hcmdwYXJzZS5S
RU1BSU5ERVIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlJ1biBMYXlvdXRU
ZXN0cyIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItYyIsICItLWNvbW1hbmQiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hcmdzPWFyZ3BhcnNlLlJFTUFJTkRFUiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJUaGUgY29tbWFuZCB0byBydW4gaW4gdGhl
IHNhbmRib3giLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9InVzZXJfY29tbWFu
ZCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hcmdzPWFyZ3BhcnNlLlJFTUFJTkRF
UiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iVGhlIGNvbW1hbmQgdG8gcnVu
IGluIHRoZSBzYW5kYm94IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdD0idXNl
cl9jb21tYW5kIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoJy0tYXZhaWxhYmxlJywg
YWN0aW9uPSdzdG9yZV90cnVlJywgZGVzdD0iY2hlY2tfYXZhaWxhYmxlIiwgaGVscD0nQ2hlY2sg
aWYgcmVxdWlyZWQgZGVwZW5kZW5jaWVzIGFyZSBhdmFpbGFibGUuJyksCi0gICAgICAgIGdlbmVy
YWwuYWRkX2FyZ3VtZW50KCItLXVzZS1pY2VjcmVhbSIsIGhlbHA9IlVzZSB0aGUgZGlzdHJpYnV0
ZWQgaWNlY3JlYW0gKGljZWNjKSBjb21waWxlci4iLCBhY3Rpb249InN0b3JlX3RydWUiKQotICAg
ICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLS13cGUtZXh0ZW5zaW9uIiwgYWN0aW9uPSJzdG9y
ZSIsIGRlc3Q9IndwZV9leHRlbnNpb24iLCBoZWxwPSJXUEUgRXh0ZW5zaW9uIHRvIGVuYWJsZSIp
CisgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLXVzZS1pY2VjcmVhbSIsIGRlc3Q9InVz
ZV9pY2VjcmVhbSIsIGhlbHA9IlVzZSB0aGUgZGlzdHJpYnV0ZWQgaWNlY3JlYW0gKGljZWNjKSBj
b21waWxlci4iLCBhY3Rpb249InN0b3JlX3RydWUiKQogCiAgICAgICAgIGRlYnVnb3B0aW9ucyA9
IHBhcnNlci5hZGRfYXJndW1lbnRfZ3JvdXAoIkRlYnVnZ2luZyIpCiAgICAgICAgIGRlYnVnb3B0
aW9ucy5hZGRfYXJndW1lbnQoIi0tZ2RiIiwgbmFyZ3M9Ij8iLCBoZWxwPSJBY3RpdmF0ZSBnZGIs
IHBhc3NpbmcgZXh0cmEgYXJncyB0byBpdCBpZiB3YW50ZWQuIikKKyAgICAgICAgZGVidWdvcHRp
b25zLmFkZF9hcmd1bWVudCgiLS1nZGItc3RhY2stdHJhY2UiLCBkZXN0PSJnZGJfc3RhY2tfdHJh
Y2UiLCBuYXJncz0iPyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0i
RHVtcCB0aGUgc3RhY2t0cmFjZSB0byBzdGRvdXQuIFRoZSBhcmd1bWVudCBpcyBhIHRpbWVzdGFt
cCB0byBiZSBwYXJzZWQgYnkgY29yZWR1bXBjdGwuIikKICAgICAgICAgZGVidWdvcHRpb25zLmFk
ZF9hcmd1bWVudCgiLW0iLCAiLS1jb3JlZHVtcGN0bC1tYXRjaGVzIiwgZGVmYXVsdD0iIiwgaGVs
cD0nQXJndW1lbnRzIHRvIHBhc3MgdG8gZ2RiLicpCiAKICAgICAgICAgYnVpbGRvcHRpb25zID0g
cGFyc2VyLmFkZF9hcmd1bWVudF9ncm91cCgiRXh0cmEgYnVpbGQgYXJndW1lbnRzIikKICAgICAg
ICAgYnVpbGRvcHRpb25zLmFkZF9hcmd1bWVudCgiLS1tYWtlYXJncyIsIGhlbHA9Ik9wdGlvbmFs
IE1ha2VmaWxlIGZsYWdzIikKICAgICAgICAgYnVpbGRvcHRpb25zLmFkZF9hcmd1bWVudCgiLS1j
bWFrZWFyZ3MiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJPbmUgb3Ig
bW9yZSBvcHRpb25hbCBDTWFrZSBmbGFncyAoZS5nLiAtLWNtYWtlYXJncz1cIi1ERk9PPWJhciAt
RENNQUtFX1BSRUZJWF9QQVRIPS91c3IvbG9jYWxcIikiKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGhlbHA9Ik9uZSBvciBtb3JlIG9wdGlvbmFsIENNYWtlIGZsYWdzIChlLmcu
IC0tY21ha2VhcmdzPVwiLURGT089YmFyIC1EQ01BS0VfUFJFRklYX1BBVEg9L3Vzci9sb2NhbFwi
KSIpCiAKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi0tY2xlYW4iLCBkZXN0PSJjbGVh
biIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICBoZWxwPSJDbGVhbiBwcmV2aW91
cyBidWlsZHMgYW5kIHJlc3RhcnQgZnJvbSBzY3JhdGNoIikKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaGVscD0iQ2xlYW4gcHJldmlvdXMgYnVpbGRzIGFuZCByZXN0YXJ0IGZyb20gc2Ny
YXRjaCIpCiAKICAgICAgICAgXywgc2VsZi5hcmdzID0gcGFyc2VyLnBhcnNlX2tub3duX2FyZ3Mo
YXJncz1hcmdzLCBuYW1lc3BhY2U9c2VsZikKIAorICAgICAgICBpZiBvcy5lbnZpcm9uLmdldCgn
Q0NBQ0hFX1BSRUZJWCcpID09ICdpY2VjYyc6CisgICAgICAgICAgICBzZWxmLnVzZV9pY2VjcmVh
bSA9IFRydWUKKwogICAgICAgICByZXR1cm4gc2VsZgogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYp
OgpAQCAtNTc0LDE1ICs0MDIsMTQgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgc2Vs
Zi5ydW50aW1lID0gTm9uZQogICAgICAgICBzZWxmLmxvY2FsZSA9IE5vbmUKICAgICAgICAgc2Vs
Zi5zZGsgPSBOb25lCi0gICAgICAgIHNlbGYuc2RrX2RlYnVnID0gTm9uZQogICAgICAgICBzZWxm
LmFwcCA9IE5vbmUKIAogICAgICAgICBzZWxmLnZlcmJvc2UgPSBGYWxzZQogICAgICAgICBzZWxm
LnF1aWV0ID0gRmFsc2UKLSAgICAgICAgc2VsZi5wYWNrcyA9IFtdCiAgICAgICAgIHNlbGYudXBk
YXRlID0gRmFsc2UKICAgICAgICAgc2VsZi5hcmdzID0gW10KICAgICAgICAgc2VsZi5maW5pc2hf
YXJncyA9IE5vbmUKKyAgICAgICAgc2VsZi5nZGJfc3RhY2tfdHJhY2UgPSBGYWxzZQogCiAgICAg
ICAgIHNlbGYubm9fZmxhdHBha191cGRhdGUgPSBGYWxzZQogICAgICAgICBzZWxmLnJlbGVhc2Ug
PSBGYWxzZQpAQCAtNTk0LDkgKzQyMSwxMCBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAg
ICBzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QgPSAiL2FwcC93ZWJraXQiCiAKICAgICAgICAgc2Vs
Zi5idWlsZF93ZWJraXQgPSBGYWxzZQorICAgICAgICBzZWxmLmJ1aWxkX2dzdCA9IEZhbHNlCiAg
ICAgICAgIHNlbGYuYnVpbGRfYWxsID0gRmFsc2UKIAotICAgICAgICBzZWxmLnNka19icmFuY2gg
PSBOb25lCisgICAgICAgIHNlbGYuc2RrX2JyYW5jaCA9ICIwLjEiCiAgICAgICAgIHNlbGYucGxh
dGZvcm0gPSAiZ3RrIgogICAgICAgICBzZWxmLmJ1aWxkX3R5cGUgPSAiUmVsZWFzZSIKICAgICAg
ICAgc2VsZi5tYW5pZmVzdF9wYXRoID0gTm9uZQpAQCAtNjA3LDcgKzQzNSw2IEBAIGNsYXNzIFdl
YmtpdEZsYXRwYWs6CiAgICAgICAgIHNlbGYuYXBwX21vZHVsZSA9IE5vbmUKICAgICAgICAgc2Vs
Zi5mbGF0cGFrX2RlZmF1bHRfYXJncyA9IFtdCiAgICAgICAgIHNlbGYuY2hlY2tfYXZhaWxhYmxl
ID0gRmFsc2UKLSAgICAgICAgc2VsZi53cGVfZXh0ZW5zaW9uID0gTm9uZQogCiAgICAgICAgICMg
RGVmYXVsdCBhcHBsaWNhdGlvbiB0byBydW4gaW4gdGhlIHNhbmRib3gKICAgICAgICAgc2VsZi5j
b21tYW5kID0gTm9uZQpAQCAtNjM4LDYgKzQ2NSw3IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAg
ICAgICAgICAgICBmYWN0b3J5ID0gUG9ydEZhY3RvcnkoU3lzdGVtSG9zdCgpKQogICAgICAgICAg
ICAgcG9ydCA9IGZhY3RvcnkuZ2V0KHNlbGYucGxhdGZvcm0pCiAgICAgICAgICAgICBzZWxmLmRl
YnVnID0gcG9ydC5kZWZhdWx0X2NvbmZpZ3VyYXRpb24oKSA9PSAiRGVidWciCisKICAgICAgICAg
c2VsZi5idWlsZF90eXBlID0gIkRlYnVnIiBpZiBzZWxmLmRlYnVnIGVsc2UgIlJlbGVhc2UiCiAK
ICAgICAgICAgc2VsZi5wbGF0Zm9ybSA9IHNlbGYucGxhdGZvcm0udXBwZXIoKQpAQCAtNjQ2LDY2
ICs0NzQsMzMgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgICAgIHNlbGYuZ2RiID0g
IiIKIAogICAgICAgICBzZWxmLmNvbW1hbmQgPSAiJXMgJXMgJXMiICUgKG9zLnBhdGguam9pbihz
ZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsCi0gICAgICAgICAgICAiVG9vbHMvU2NyaXB0cy9ydW4t
bWluaWJyb3dzZXIiKSwKLSAgICAgICAgICAgICItLSIgKyBzZWxmLnBsYXRmb3JtLmxvd2VyKCks
Ci0gICAgICAgICAgICAiIC0tZGVidWciIGlmIHNlbGYuZGVidWcgZWxzZSAiIC0tcmVsZWFzZSIp
Ci0KLSAgICAgICAgc2VsZi5uYW1lID0gIm9yZy53ZWJraXQuJXMiICUgc2VsZi5wbGF0Zm9ybQot
Ci0gICAgICAgIGlmIHNlbGYud3BlX2V4dGVuc2lvbjoKLSAgICAgICAgICAgIG1hbmlmZXN0X2Zp
bGVuYW1lID0gV1BFX01BTklGRVNUX01BUFtzZWxmLndwZV9leHRlbnNpb25dCi0gICAgICAgIGVs
c2U6Ci0gICAgICAgICAgICBtYW5pZmVzdF9maWxlbmFtZSA9ICJvcmcud2Via2l0LldlYktpdC55
YW1sIgotICAgICAgICBzZWxmLm1hbmlmZXN0X3BhdGggPSBvcy5wYXRoLmFic3BhdGgob3MucGF0
aC5qb2luKHNjcmlwdGRpciwgJy4uL2ZsYXRwYWsvJykgKyBtYW5pZmVzdF9maWxlbmFtZSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRvb2xzL1Nj
cmlwdHMvcnVuLW1pbmlicm93c2VyIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIi0tIiArIHNlbGYucGxhdGZvcm0ubG93ZXIoKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiIC0tZGVidWciIGlmIHNlbGYuZGVidWcgZWxzZSAiIC0tcmVsZWFz
ZSIpCiAKLSAgICAgICAgc2VsZi5idWlsZF9uYW1lID0gc2VsZi5uYW1lICsgIi1nZW5lcmF0ZWQi
CisgICAgICAgIHNlbGYuZmxhdHBha19idWlsZF9wYXRoID0gb3MuZW52aXJvblsiRkxBVFBBS19V
U0VSX0RJUiJdCiAKICAgICAgICAgYnVpbGRfcm9vdCA9IG9zLnBhdGguam9pbihzZWxmLnNvdXJj
ZV9yb290LCAnV2ViS2l0QnVpbGQnKQotICAgICAgICBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCA9
IG9zLnBhdGguam9pbihidWlsZF9yb290LCBzZWxmLnBsYXRmb3JtLCAiRmxhdHBha1RyZWUiICsg
c2VsZi5idWlsZF90eXBlKQotICAgICAgICBzZWxmLmNhY2hlX3BhdGggPSBvcy5wYXRoLmpvaW4o
YnVpbGRfcm9vdCwgIkZsYXRwYWtDYWNoZSIpCiAgICAgICAgIHNlbGYuYnVpbGRfcGF0aCA9IG9z
LnBhdGguam9pbihidWlsZF9yb290LCBzZWxmLnBsYXRmb3JtLCBzZWxmLmJ1aWxkX3R5cGUpCiAg
ICAgICAgIHRyeToKICAgICAgICAgICAgIG9zLm1ha2VkaXJzKHNlbGYuYnVpbGRfcGF0aCkKICAg
ICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJy
bm8uRUVYSVNUOgogICAgICAgICAgICAgICAgIHJhaXNlIGUKLSAgICAgICAgc2VsZi5jb25maWdf
ZmlsZSA9IG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3BhdGgsICd3ZWJraXRfZmxhdHBha19jb25m
aWcuanNvbicpCisgICAgICAgIHNlbGYuY29uZmlnX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5m
bGF0cGFrX2J1aWxkX3BhdGgsICd3ZWJraXRfZmxhdHBha19jb25maWcuanNvbicpCiAKICAgICAg
ICAgQ29uc29sZS5xdWlldCA9IHNlbGYucXVpZXQKICAgICAgICAgaWYgbm90IGNoZWNrX2ZsYXRw
YWsoKToKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogCi0gICAgICAgIHJlcG9zID0gRmxhdHBh
a1JlcG9zKCkKLSAgICAgICAgc2VsZi5zZGtfcmVwbyA9IHJlcG9zLmFkZCgKLSAgICAgICAgICAg
IEZsYXRwYWtSZXBvKCJmbGF0aHViIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVybD0iaHR0
cHM6Ly9kbC5mbGF0aHViLm9yZy9yZXBvLyIsCi0gICAgICAgICAgICAgICAgICAgICAgICByZXBv
X2ZpbGU9Imh0dHBzOi8vZGwuZmxhdGh1Yi5vcmcvcmVwby9mbGF0aHViLmZsYXRwYWtyZXBvIikp
Ci0KLSAgICAgICAgbWFuaWZlc3QgPSBsb2FkX21hbmlmZXN0KHNlbGYubWFuaWZlc3RfcGF0aCwg
cG9ydF9uYW1lPXNlbGYubmFtZSkKLSAgICAgICAgaWYgbm90IG1hbmlmZXN0OgotICAgICAgICAg
ICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHNlbGYuZmluaXNoX2FyZ3MgPSBbXQorICAgICAgICBz
ZWxmLnJlcG9zID0gRmxhdHBha1JlcG9zKCkKKyAgICAgICAgc2VsZi5zZGtfcmVwbyA9IHNlbGYu
cmVwb3MuYWRkKAorICAgICAgICAgICAgRmxhdHBha1JlcG8oIndlYmtpdC1zZGsiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgdXJsPSJodHRwczovL3NvZnR3YXJlLmlnYWxpYS5jb20vd2Via2l0
LXNkay1yZXBvLyIsCisgICAgICAgICAgICAgICAgICAgICAgICByZXBvX2ZpbGU9Imh0dHBzOi8v
c29mdHdhcmUuaWdhbGlhLmNvbS9mbGF0cGFrLXJlZnMvd2Via2l0LXNkay5mbGF0cGFrcmVwbyIp
CisgICAgICAgICkKIAotICAgICAgICBzZWxmLmFwcCA9IG1hbmlmZXN0WydhcHAtaWQnXQotCi0g
ICAgICAgIHNlbGYuc2RrX2JyYW5jaCA9IG1hbmlmZXN0WyJydW50aW1lLXZlcnNpb24iXQotICAg
ICAgICBzZWxmLmZpbmlzaF9hcmdzID0gbWFuaWZlc3QuZ2V0KCJmaW5pc2gtYXJncyIsIFtdKQot
ICAgICAgICBzZWxmLmZpbmlzaF9hcmdzID0gcmVtb3ZlX2V4dGVuc2lvbl9wb2ludHMoc2VsZi5m
aW5pc2hfYXJncykKLSAgICAgICAgc2VsZi5ydW50aW1lID0gRmxhdHBha1BhY2thZ2UobWFuaWZl
c3RbJ3J1bnRpbWUnXSwgc2VsZi5zZGtfYnJhbmNoLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaGFzaD1tYW5pZmVzdC5nZXQoInJ1bnRpbWUtaGFzaCIpKQot
ICAgICAgICBzZWxmLmxvY2FsZSA9IEZsYXRwYWtQYWNrYWdlKG1hbmlmZXN0WydydW50aW1lJ10g
KyAnLkxvY2FsZScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5z
ZGtfYnJhbmNoLCBzZWxmLnNka19yZXBvLCAieDg2XzY0IikKLSAgICAgICAgc2VsZi5zZGsgPSBG
bGF0cGFrUGFja2FnZShtYW5pZmVzdFsnc2RrJ10sIHNlbGYuc2RrX2JyYW5jaCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNoPW1hbmlmZXN0LmdldCgic2RrLWhhc2gi
KSkKLSAgICAgICAgc2VsZi5wYWNrcyA9IFtzZWxmLnJ1bnRpbWUsIHNlbGYubG9jYWxlLCBzZWxm
LnNka10KLQotICAgICAgICBpZiBzZWxmLmRlYnVnOgotICAgICAgICAgICAgc2VsZi5zZGtfZGVi
dWcgPSBGbGF0cGFrUGFja2FnZShtYW5pZmVzdFsnc2RrJ10gKyAnLkRlYnVnJywgc2VsZi5zZGtf
YnJhbmNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNka19y
ZXBvLCAieDg2XzY0IikKLSAgICAgICAgICAgIHNlbGYucGFja3MuYXBwZW5kKHNlbGYuc2RrX2Rl
YnVnKQotICAgICAgICBzZWxmLm1hbmlmZXN0X2dlbmVyYXRlZF9wYXRoID0gb3MucGF0aC5qb2lu
KHNlbGYuY2FjaGVfcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzZWxmLmJ1aWxkX25hbWUgKyAiLmpzb24iKQogICAgICAgICB0cnk6CiAg
ICAgICAgICAgICB3aXRoIG9wZW4oc2VsZi5jb25maWdfZmlsZSkgYXMgY29uZmlnOgogICAgICAg
ICAgICAgICAgIGpzb25fY29uZmlnID0ganNvbi5sb2FkKGNvbmZpZykKQEAgLTcxNSw3ICs1MTAs
NDUgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKIAogICAgICAgICByZXR1cm4gVHJ1ZQogCisgICAg
ZGVmIHNldHVwX2J1aWxkZGlyKHNlbGYsICoqa3dhcmdzKToKKyAgICAgICAgaWYgb3MucGF0aC5l
eGlzdHMob3MucGF0aC5qb2luKHNlbGYuZmxhdHBha19idWlsZF9wYXRoLCAibWV0YWRhdGEiKSk6
CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBzZWxmLnNka19yZXBvLmZsYXRwYWsoImJ1
aWxkLWluaXQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5mbGF0cGFrX2J1
aWxkX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3JnLndlYmtpdC5XZWJr
aXQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlbGYuc2RrKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZWxmLnJ1bnRpbWUpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2VsZi5zZGsuYnJhbmNoLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2hvd19vdXRwdXQ9InN0ZG91dCIgaW4ga3dhcmdzLmtleXMoKSkKKworICAgIGRl
ZiBzZXR1cF9nc3RidWlsZChzZWxmLCBidWlsZGluZyk6CisgICAgICAgIGdzdF9kaXIgPSBvcy5l
bnZpcm9uLmdldCgnR1NUX0JVSUxEX1BBVEgnKQorICAgICAgICBpZiBub3QgZ3N0X2RpcjoKKyAg
ICAgICAgICAgIHJldHVybiBbXQorCisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5w
YXRoLmpvaW4oZ3N0X2RpciwgJ2dzdC1lbnYucHknKSk6CisgICAgICAgICAgICByYWlzZSBSdW50
aW1lRXJyb3IoJ0dTVF9CVUlMRF9QQVRIIHNldCB0byAlcyBidXQgaXQgZG9lc25cJ3Qgc2VlbSB0
byBiZSBhIHZhbGlkIGBnc3QtYnVpbGRgIGNoZWNrb3V0LicgJSBnc3RfZGlyKQorCisgICAgICAg
IGdzdF9idWlsZGRpciA9IG9zLnBhdGguam9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsICJX
ZWJLaXRCdWlsZCIsICdnc3QtYnVpbGQnKQorICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMo
b3MucGF0aC5qb2luKHNlbGYuc291cmNlX3Jvb3QsICdXZWJLaXRCdWlsZCcsICdnc3QtYnVpbGQn
LCAnYnVpbGQubmluamEnKSk6CisgICAgICAgICAgICBpZiBub3QgYnVpbGRpbmc6CisgICAgICAg
ICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdUcnlpbmcgdG8gZW50ZXIgZ3N0LWJ1aWxkIGVu
diBmcm9tICVzIGJ1dCBpdCBpcyBub3QgYnVpbHQsIG1ha2Ugc3VyZSB0byByZWJ1aWxkIHdlYmtp
dC4nICUgZ3N0X2RpcikKKworICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJSdW5uaW5nIG1l
c29uIGZvciBgZ3N0LWJ1aWxkYCAlcyAiLCBnc3RfZGlyKQorICAgICAgICAgICAgc2VsZi5ydW5f
aW5fc2FuZGJveCgnbWVzb24nLCBnc3RfZGlyLCBnc3RfYnVpbGRkaXIsIGJ1aWxkaW5nX2dzdD1U
cnVlKQorCisgICAgICAgIGlmIG5vdCBidWlsZGluZzoKKyAgICAgICAgICAgIHJldHVybiBbb3Mu
cGF0aC5qb2luKGdzdF9kaXIsICdnc3QtZW52LnB5JyksICctLWJ1aWxkZGlyJywgZ3N0X2J1aWxk
ZGlyLCAnLS1zcmNkaXInLCBnc3RfZGlyXQorCisgICAgICAgIENvbnNvbGUubWVzc2FnZSgiQnVp
bGRpbmcgYGdzdC1idWlsZGAgJXMgIiwgZ3N0X2RpcikKKyAgICAgICAgaWYgc2VsZi5ydW5faW5f
c2FuZGJveCgnbmluamEnLCAnLUMnLCBnc3RfYnVpbGRkaXIsIGJ1aWxkaW5nX2dzdD1UcnVlKSAh
PSAwOgorICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdFcnJvciB3aGlsZSBidWlsZGlu
ZyBnc3QtYnVpbGQuJykKKworICAgICAgICByZXR1cm4gW29zLnBhdGguam9pbihnc3RfZGlyLCAn
Z3N0LWVudi5weScpLCAnLS1idWlsZGRpcicsIGdzdF9idWlsZGRpciwgJy0tc3JjZGlyJywgZ3N0
X2Rpcl0KKwogICAgIGRlZiBydW5faW5fc2FuZGJveChzZWxmLCAqYXJncywgKiprd2FyZ3MpOgor
ICAgICAgICBzZWxmLnNldHVwX2J1aWxkZGlyKHN0ZG91dD1rd2FyZ3MuZ2V0KCJzdGRvdXQiLCBz
eXMuc3Rkb3V0KSkKICAgICAgICAgY3dkID0ga3dhcmdzLnBvcCgiY3dkIiwgTm9uZSkKICAgICAg
ICAgZXh0cmFfZW52X3ZhcnMgPSBrd2FyZ3MucG9wKCJlbnYiLCB7fSkKICAgICAgICAgc3Rkb3V0
ID0ga3dhcmdzLnBvcCgic3Rkb3V0Iiwgc3lzLnN0ZG91dCkKQEAgLTcyMyw2ICs1NTYsNyBAQCBj
bGFzcyBXZWJraXRGbGF0cGFrOgogCiAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGFyZ3MsIGxp
c3QpOgogICAgICAgICAgICAgYXJncyA9IGxpc3QoYXJncykKKwogICAgICAgICBpZiBhcmdzOgog
ICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoYXJnc1swXSk6CiAgICAgICAgICAgICAgICAg
Y29tbWFuZCA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5hYnNwYXRoKGFyZ3NbMF0pKQpAQCAt
NzMwLDk0ICs1NjQsMTIyIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgICAgICAgICAg
YXJnc1swXSA9IGNvbW1hbmQucmVwbGFjZShzZWxmLnNvdXJjZV9yb290LCBzZWxmLnNhbmRib3hf
c291cmNlX3Jvb3QpCiAgICAgICAgICAgICBpZiBhcmdzWzBdLmVuZHN3aXRoKCJidWlsZC13ZWJr
aXQiKToKICAgICAgICAgICAgICAgICBhcmdzLmFwcGVuZCgiLS1wcmVmaXg9L2FwcCIpCisgICAg
ICAgIGJ1aWxkaW5nID0gb3MucGF0aC5iYXNlbmFtZShhcmdzWzBdKS5zdGFydHN3aXRoKCJidWls
ZCIpCiAKICAgICAgICAgc2FuZGJveF9idWlsZF9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYuc2Fu
ZGJveF9zb3VyY2Vfcm9vdCwgIldlYktpdEJ1aWxkIiwgc2VsZi5idWlsZF90eXBlKQotICAgICAg
ICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZShtb2RlPSJ3IikgYXMgdG1wc2NyaXB0
OgotICAgICAgICAgICAgZmxhdHBha19jb21tYW5kID0gWyJmbGF0cGFrIiwgImJ1aWxkIiwgIi0t
ZGllLXdpdGgtcGFyZW50IiwKLSAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PS9ydW4vc2ht
PS9kZXYvc2htIiwKLSAgICAgICAgICAgICAgICAjIFdvcmthcm91bmQgZm9yIGh0dHBzOi8vd2Vi
a2l0Lm9yZy9iLzE4NzM4NCB0byBoYXZlIG91ciBvd24gcGVybCBtb2R1bGVzIHVzYWJsZSBpbnNp
ZGUgdGhlIHNhbmRib3gKLSAgICAgICAgICAgICAgICAjIGFzIHNldHRpbmcgdGhlIFBFUkw1TElC
IGVudnZhciB3b24ndCB3b3JrIGluc2lkZSBhcGFjaGUgKGFuZCBmb3Igc2NyaXB0cyB1c2luZyBg
cGVybCAtVGBgKS4KLSAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PS9ydW4vaG9zdC8lcz0l
cyIgJSAodGVtcGZpbGUuZ2V0dGVtcGRpcigpLCB0ZW1wZmlsZS5nZXR0ZW1wZGlyKCkpLAotICAg
ICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9JXM9JXMiICUgKHNlbGYuc2FuZGJveF9zb3VyY2Vf
cm9vdCwgc2VsZi5zb3VyY2Vfcm9vdCksCisgICAgICAgIGZsYXRwYWtfY29tbWFuZCA9IFsiZmxh
dHBhayIsICJidWlsZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1kaWUtd2l0aC1w
YXJlbnQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tdGFsay1uYW1lPW9yZy5hMTF5
LkJ1cyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS10YWxrLW5hbWU9b3JnLmd0ay52
ZnMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tdGFsay1uYW1lPW9yZy5ndGsudmZz
LioiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0vcnVuL3NobT0v
ZGV2L3NobSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFdvcmthcm91bmQgZm9yIGh0
dHBzOi8vd2Via2l0Lm9yZy9iLzE4NzM4NCB0byBoYXZlIG91ciBvd24gcGVybCBtb2R1bGVzIHVz
YWJsZSBpbnNpZGUgdGhlIHNhbmRib3gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICMgYXMg
c2V0dGluZyB0aGUgUEVSTDVMSUIgZW52dmFyIHdvbid0IHdvcmsgaW5zaWRlIGFwYWNoZSAoYW5k
IGZvciBzY3JpcHRzIHVzaW5nIGBwZXJsIC1UYGApLgorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIi0tYmluZC1tb3VudD0vcnVuL2hvc3QvJXM9JXMiICUgKHRlbXBmaWxlLmdldHRlbXBkaXIo
KSwgdGVtcGZpbGUuZ2V0dGVtcGRpcigpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICIt
LWJpbmQtbW91bnQ9JXM9JXMiICUgKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgc2VsZi5zb3Vy
Y2Vfcm9vdCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFdlIG1vdW50IFdlYktpdEJ1
aWxkL1BPUlROQU1FL0J1aWxkVHlwZSB0byAvYXBwL3dlYmtpdC9XZWJLaXRCdWlsZC9CdWlsZFR5
cGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICMgc28gd2UgY2FuIGJ1aWxkIFdQRSBhbmQg
R1RLIGluIGEgc2FtZSBzb3VyY2UgdHJlZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICIt
LWJpbmQtbW91bnQ9JXM9JXMiICUgKHNhbmRib3hfYnVpbGRfcGF0aCwgc2VsZi5idWlsZF9wYXRo
KV0KKworICAgICAgICBmb3J3YXJkZWQgPSB7CisgICAgICAgICAgICAiV0VCS0lUX1RPUF9MRVZF
TCI6ICIvYXBwLyIsCisgICAgICAgICAgICAiVEVTVF9SVU5ORVJfSU5KRUNURURfQlVORExFX0ZJ
TEVOQU1FIjogb3MucGF0aC5qb2luKHNhbmRib3hfYnVpbGRfcGF0aCwgImxpYi9saWJUZXN0UnVu
bmVySW5qZWN0ZWRCdW5kbGUuc28iKSwKKyAgICAgICAgfQorCisgICAgICAgIGlmIG5vdCBidWls
ZGluZzoKKyAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZC5leHRlbmQoWworICAgICAgICAgICAg
ICAgICItLWRldmljZT1hbGwiLAorICAgICAgICAgICAgICAgICItLWRldmljZT1kcmkiLAorICAg
ICAgICAgICAgICAgICItLWZpbGVzeXN0ZW09aG9zdCIsCisgICAgICAgICAgICAgICAgIi0tc2hh
cmU9aXBjIiwKKyAgICAgICAgICAgICAgICAiLS1zaGFyZT1uZXR3b3JrIiwKKyAgICAgICAgICAg
ICAgICAiLS1zb2NrZXQ9cHVsc2VhdWRpbyIsCisgICAgICAgICAgICAgICAgIi0tc29ja2V0PXN5
c3RlbS1idXMiLAorICAgICAgICAgICAgICAgICItLXNvY2tldD13YXlsYW5kIiwKKyAgICAgICAg
ICAgICAgICAiLS1zb2NrZXQ9eDExIiwKKyAgICAgICAgICAgICAgICAiLS1zeXN0ZW0tdGFsay1u
YW1lPW9yZy5hMTF5LkJ1cyIsCisgICAgICAgICAgICAgICAgIi0tc3lzdGVtLXRhbGstbmFtZT1v
cmcuZnJlZWRlc2t0b3AuR2VvQ2x1ZTIiLAogICAgICAgICAgICAgICAgICItLXRhbGstbmFtZT1v
cmcuYTExeS5CdXMiLAotICAgICAgICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuZ3RrLnZmcyIs
Ci0gICAgICAgICAgICAgICAgIi0tdGFsay1uYW1lPW9yZy5ndGsudmZzLioiLAotICAgICAgICAg
ICAgICAgICMgV2UgbW91bnQgV2ViS2l0QnVpbGQvUE9SVE5BTUUvQnVpbGRUeXBlIHRvIC9hcHAv
d2Via2l0L1dlYktpdEJ1aWxkL0J1aWxkVHlwZQotICAgICAgICAgICAgICAgICMgc28gd2UgY2Fu
IGJ1aWxkIFdQRSBhbmQgR1RLIGluIGEgc2FtZSBzb3VyY2UgdHJlZS4KLSAgICAgICAgICAgICAg
ICAiLS1iaW5kLW1vdW50PSVzPSVzIiAlIChzYW5kYm94X2J1aWxkX3BhdGgsIHNlbGYuYnVpbGRf
cGF0aCldCi0KLSAgICAgICAgICAgIGZvcndhcmRlZCA9IHsKLSAgICAgICAgICAgICAgICAiV0VC
S0lUX1RPUF9MRVZFTCI6ICIvYXBwLyIsCi0gICAgICAgICAgICAgICAgIlRFU1RfUlVOTkVSX0lO
SkVDVEVEX0JVTkRMRV9GSUxFTkFNRSI6ICIvYXBwL3dlYmtpdC9saWIvbGliVGVzdFJ1bm5lcklu
amVjdGVkQnVuZGxlLnNvIiwKKyAgICAgICAgICAgICAgICAiLS10YWxrLW5hbWU9b3JnLmZyZWVk
ZXNrdG9wLkZsYXRwYWsiCisgICAgICAgICAgICBdKQorCisgICAgICAgICAgICBmb3J3YXJkZWQu
dXBkYXRlKHsKKyAgICAgICAgICAgICAgICAiVFoiOiAiUFNUOFBEVCIsCisgICAgICAgICAgICAg
ICAgIkxBTkciOiAiZW5fVVMuVVRGLTgiCisgICAgICAgICAgICB9KQorCisgICAgICAgIGVudl92
YXJfcHJlZml4ZXNfdG9fa2VlcCA9IFsKKyAgICAgICAgICAgICJHIiwKKyAgICAgICAgICAgICJH
SUdBQ0FHRSIsCisgICAgICAgICAgICAiR1NUIiwKKyAgICAgICAgICAgICJHVEsiLAorICAgICAg
ICAgICAgIklDRUNDIiwKKyAgICAgICAgICAgICJKU0MiLAorICAgICAgICAgICAgIldFQktJVCIs
CisgICAgICAgICAgICAiV0VCS0lUMiIsCisgICAgICAgICAgICAiV1BFIiwKKyAgICAgICAgXQor
CisgICAgICAgIGVudl92YXJfc3VmZml4ZXNfdG9fa2VlcCA9IFsKKyAgICAgICAgICAgICJKU0Nf
QVJHUyIsCisgICAgICAgICAgICAiV0VCS0lUX0FSR1MiLAorICAgICAgICBdCisKKyAgICAgICAg
ZW52X3ZhcnNfdG9fa2VlcCA9IFsKKyAgICAgICAgICAgICJDQyIsCisgICAgICAgICAgICAiQ0NB
Q0hFX1BSRUZJWCIsCisgICAgICAgICAgICAiQ0ZMQUdTIiwKKyAgICAgICAgICAgICJDWFgiLAor
ICAgICAgICAgICAgIkNYWEZMQUdTIiwKKyAgICAgICAgICAgICJESVNQTEFZIiwKKyAgICAgICAg
ICAgICJKYXZhU2NyaXB0Q29yZVVzZUpJVCIsCisgICAgICAgICAgICAiTEFORyIsCisgICAgICAg
ICAgICAiTERGTEFHUyIsCisgICAgICAgICAgICAiTWFsbG9jIiwKKyAgICAgICAgICAgICJOVU1C
RVJfT0ZfUFJPQ0VTU09SUyIsCisgICAgICAgICAgICAiUU1MMl9JTVBPUlRfUEFUSCIsCisgICAg
ICAgICAgICAiV0FZTEFORF9ESVNQTEFZIiwKKyAgICAgICAgICAgICJXQVlMQU5EX1NPQ0tFVCIs
CisgICAgICAgIF0KKworICAgICAgICBlbnZfdmFycyA9IG9zLmVudmlyb24KKyAgICAgICAgZW52
X3ZhcnMudXBkYXRlKGV4dHJhX2Vudl92YXJzKQorICAgICAgICBmb3IgZW52dmFyLCB2YWx1ZSBp
biBlbnZfdmFycy5pdGVtcygpOgorICAgICAgICAgICAgdmFyX3Rva2VucyA9IGVudnZhci5zcGxp
dCgiXyIpCisgICAgICAgICAgICBpZiB2YXJfdG9rZW5zWzBdIGluIGVudl92YXJfcHJlZml4ZXNf
dG9fa2VlcCBvciBlbnZ2YXIgaW4gZW52X3ZhcnNfdG9fa2VlcCBvciB2YXJfdG9rZW5zWy0xXSBp
biBlbnZfdmFyX3N1ZmZpeGVzX3RvX2tlZXA6CisgICAgICAgICAgICAgICAgZm9yd2FyZGVkW2Vu
dnZhcl0gPSB2YWx1ZQorCisgICAgICAgIGlmIHNlbGYudXNlX2ljZWNyZWFtOgorICAgICAgICAg
ICAgX2xvZy5kZWJ1ZygnRW5hYmxpbmcgdGhlIGljZWNyZWFtIGNvbXBpbGVyJykKKyAgICAgICAg
ICAgIGZsYXRwYWtfY29tbWFuZC5leHRlbmQoWyItLXNoYXJlPW5ldHdvcmsiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0vdmFyL3J1bi9pY2VjYz0v
dmFyL3J1bi9pY2VjYyJdKQorCisgICAgICAgICAgICBuX2NvcmVzID0gbXVsdGlwcm9jZXNzaW5n
LmNwdV9jb3VudCgpICogMworICAgICAgICAgICAgX2xvZy5kZWJ1ZygnRm9sbG93aW5nIGljZWNy
ZWFtIHJlY29tbWVuZGF0aW9uIGZvciB0aGUgbnVtYmVyIG9mIGNvcmVzIHRvIHVzZTogJWQnICUg
bl9jb3JlcykKKyAgICAgICAgICAgIGZvcndhcmRlZC51cGRhdGUoeworICAgICAgICAgICAgICAg
ICJDQ0FDSEVfUFJFRklYIjogImljZWNjIiwKICAgICAgICAgICAgICAgICAiSUNFQ0NfVkVSU0lP
TiI6IHNlbGYuaWNjX3ZlcnNpb24sCi0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGVudl92
YXJfcHJlZml4ZXNfdG9fa2VlcCA9IFsKLSAgICAgICAgICAgICAgICAiR1NUIiwKLSAgICAgICAg
ICAgICAgICAiR1RLIiwKLSAgICAgICAgICAgICAgICAiRyIsCi0gICAgICAgICAgICAgICAgIkpT
QyIsCi0gICAgICAgICAgICAgICAgIldFQktJVCIsCi0gICAgICAgICAgICAgICAgIldFQktJVDIi
LAotICAgICAgICAgICAgICAgICJXUEUiLAotICAgICAgICAgICAgICAgICJHSUdBQ0FHRSIsCi0g
ICAgICAgICAgICBdCi0KLSAgICAgICAgICAgIGVudl92YXJzX3RvX2tlZXAgPSBbCi0gICAgICAg
ICAgICAgICAgIkphdmFTY3JpcHRDb3JlVXNlSklUIiwKLSAgICAgICAgICAgICAgICAiTWFsbG9j
IiwKLSAgICAgICAgICAgICAgICAiV0FZTEFORF9ESVNQTEFZIiwKLSAgICAgICAgICAgICAgICAi
V0FZTEFORF9TT0NLRVQiLAotICAgICAgICAgICAgICAgICJESVNQTEFZIiwKLSAgICAgICAgICAg
ICAgICAiTEFORyIsCi0gICAgICAgICAgICAgICAgIk5VTUJFUl9PRl9QUk9DRVNTT1JTIiwKLSAg
ICAgICAgICAgICAgICAiQ0NBQ0hFX1BSRUZJWCIsCi0gICAgICAgICAgICAgICAgIlFNTDJfSU1Q
T1JUX1BBVEgiLAotICAgICAgICAgICAgXQotCi0gICAgICAgICAgICBpZiBzZWxmLnVzZV9pY2Vj
cmVhbToKLSAgICAgICAgICAgICAgICBfbG9nLmRlYnVnKCdFbmFibGluZyB0aGUgaWNlY3JlYW0g
Y29tcGlsZXInKQotICAgICAgICAgICAgICAgIGZvcndhcmRlZFsiQ0NBQ0hFX1BSRUZJWCJdID0g
ImljZWNjIgotICAgICAgICAgICAgICAgIGlmIG5vdCBvcy5lbnZpcm9uLmdldCgnTlVNQkVSX09G
X1BST0NFU1NPUlMnKToKLSAgICAgICAgICAgICAgICAgICAgbl9jb3JlcyA9IG11bHRpcHJvY2Vz
c2luZy5jcHVfY291bnQoKSAqIDMKLSAgICAgICAgICAgICAgICAgICAgX2xvZy5kZWJ1ZygnRm9s
bG93IGljZWNyZWFtIHJlY29tbWVuZGF0aW9uIGZvciB0aGUgbnVtYmVyIG9mIGNvcmVzIHRvIHVz
ZTogJWQnICUgbl9jb3JlcykKLSAgICAgICAgICAgICAgICAgICAgZm9yd2FyZGVkWyJOVU1CRVJf
T0ZfUFJPQ0VTU09SUyJdID0gbl9jb3JlcwotCi0gICAgICAgICAgICBlbnZfdmFycyA9IG9zLmVu
dmlyb24KLSAgICAgICAgICAgIGVudl92YXJzLnVwZGF0ZShleHRyYV9lbnZfdmFycykKLSAgICAg
ICAgICAgIGZvciBlbnZ2YXIsIHZhbHVlIGluIGVudl92YXJzLml0ZW1zKCk6Ci0gICAgICAgICAg
ICAgICAgaWYgZW52dmFyLnNwbGl0KCJfIilbMF0gaW4gZW52X3Zhcl9wcmVmaXhlc190b19rZWVw
IG9yIGVudnZhciBpbiBlbnZfdmFyc190b19rZWVwOgotICAgICAgICAgICAgICAgICAgICBmb3J3
YXJkZWRbZW52dmFyXSA9IHZhbHVlCi0KLSAgICAgICAgICAgIGZvciBlbnZ2YXIsIHZhbHVlIGlu
IGZvcndhcmRlZC5pdGVtcygpOgotICAgICAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZC5hcHBl
bmQoIi0tZW52PSVzPSVzIiAlIChlbnZ2YXIsIHZhbHVlKSkKLQotICAgICAgICAgICAgZmxhdHBh
a19jb21tYW5kICs9IHNlbGYuZmluaXNoX2FyZ3MgKyBleHRyYV9mbGF0cGFrX2FyZ3MgKyBbc2Vs
Zi5mbGF0cGFrX2J1aWxkX3BhdGhdCi0KLSAgICAgICAgICAgIHNoZWxsX3N0cmluZyA9ICIiCi0g
ICAgICAgICAgICBpZiBhcmdzOgotICAgICAgICAgICAgICAgIGlmIGN3ZDoKLSAgICAgICAgICAg
ICAgICAgICAgc2hlbGxfc3RyaW5nID0gJ2NkICIlcyIgJiYgIiVzIicgJSAoY3dkLCAnIiAiJy5q
b2luKGFyZ3MpKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHNo
ZWxsX3N0cmluZyA9ICciJXMiJyAlICgnIiAiJy5qb2luKGFyZ3MpKQotICAgICAgICAgICAgZWxz
ZToKLSAgICAgICAgICAgICAgICBzaGVsbF9zdHJpbmcgPSBzZWxmLmNvbW1hbmQKLSAgICAgICAg
ICAgICAgICBpZiBzZWxmLmFyZ3M6Ci0gICAgICAgICAgICAgICAgICAgIHNoZWxsX3N0cmluZyAr
PSAnICIlcyInICUgJyIgIicuam9pbihzZWxmLmFyZ3MpCisgICAgICAgICAgICAgICAgIk5VTUJF
Ul9PRl9QUk9DRVNTT1JTIjogbl9jb3JlcywKKyAgICAgICAgICAgIH0pCiAKLSAgICAgICAgICAg
IHRtcHNjcmlwdC53cml0ZShzaGVsbF9zdHJpbmcpCi0gICAgICAgICAgICB0bXBzY3JpcHQuZmx1
c2goKQorICAgICAgICBmb3IgZW52dmFyLCB2YWx1ZSBpbiBmb3J3YXJkZWQuaXRlbXMoKToKKyAg
ICAgICAgICAgIGZsYXRwYWtfY29tbWFuZC5hcHBlbmQoIi0tZW52PSVzPSVzIiAlIChlbnZ2YXIs
IHZhbHVlKSkKIAotICAgICAgICAgICAgX2xvZy5kZWJ1ZygnUnVubmluZyBpbiBzYW5kYm94OiAi
JXMiICVzXG4nICUgKCciICInLmpvaW4oZmxhdHBha19jb21tYW5kKSwgc2hlbGxfc3RyaW5nKSkK
LSAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZC5leHRlbmQoWydzaCcsICIvcnVuL2hvc3QvIiAr
IHRtcHNjcmlwdC5uYW1lXSkKKyAgICAgICAgZ3N0X2VudiA9IFtdCisgICAgICAgIGlmIG5vdCBr
d2FyZ3MuZ2V0KCdidWlsZGluZ19nc3QnKToKKyAgICAgICAgICAgIGdzdF9lbnYgPSBzZWxmLnNl
dHVwX2dzdGJ1aWxkKGJ1aWxkaW5nKQorICAgICAgICBmbGF0cGFrX2NvbW1hbmQgKz0gc2VsZi5m
aW5pc2hfYXJncyArIGV4dHJhX2ZsYXRwYWtfYXJncyArIFwKKyAgICAgICAgICAgIFtzZWxmLmZs
YXRwYWtfYnVpbGRfcGF0aF0gKyBnc3RfZW52ICsgYXJncwogCi0gICAgICAgICAgICB0cnk6Ci0g
ICAgICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGZsYXRwYWtfY29tbWFuZCwgc3Rk
b3V0PXN0ZG91dCkKLSAgICAgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NF
cnJvciBhcyBlOgotICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoc3RyKGUpICsgIlxu
IikKLSAgICAgICAgICAgICAgICByZXR1cm4gZS5yZXR1cm5jb2RlCi0gICAgICAgICAgICBleGNl
cHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDAKKyAgICAgICAg
X2xvZy5kZWJ1ZygnUnVubmluZyBpbiBzYW5kYm94OiAlc1xuJyAlICcgJy5qb2luKGZsYXRwYWtf
Y29tbWFuZCkpCisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19j
YWxsKGZsYXRwYWtfY29tbWFuZCwgc3Rkb3V0PXN0ZG91dCkKKyAgICAgICAgZXhjZXB0IHN1YnBy
b2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGU6CisgICAgICAgICAgICBzeXMuc3RkZXJyLndy
aXRlKHN0cihlKSArICJcbiIpCisgICAgICAgICAgICByZXR1cm4gZS5yZXR1cm5jb2RlCisgICAg
ICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoKKyAgICAgICAgICAgIHJldHVybiAwCiAKICAg
ICAgICAgcmV0dXJuIDAKIApAQCAtODM1LDY0ICs2OTcsNDEgQEAgY2xhc3MgV2Via2l0RmxhdHBh
azoKICAgICAgICAgICAgICAgICBzaHV0aWwucm10cmVlKHNlbGYuYnVpbGRfcGF0aCkKIAogICAg
ICAgICBpZiBzZWxmLnVwZGF0ZToKLSAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiVXBkYXRp
bmcgRmxhdHBhayBlbnZpcm9ubWVudCBmb3IgJXMgKCVzKSIgJSAoCi0gICAgICAgICAgICAgICAg
c2VsZi5wbGF0Zm9ybSwgc2VsZi5idWlsZF90eXBlKSkKKyAgICAgICAgICAgIENvbnNvbGUubWVz
c2FnZSgiVXBkYXRpbmcgRmxhdHBhayAlcyBlbnZpcm9ubWVudCIgJSBzZWxmLmJ1aWxkX3R5cGUp
CiAgICAgICAgICAgICBpZiBub3Qgc2VsZi5ub19mbGF0cGFrX3VwZGF0ZToKICAgICAgICAgICAg
ICAgICBzZWxmLnVwZGF0ZV9hbGwoKQogCiAgICAgICAgIHJldHVybiBzZWxmLnNldHVwX2Rldl9l
bnYoKQogCiAgICAgZGVmIGhhc19lbnZpcm9ubWVudChzZWxmKToKLSAgICAgICAgcmV0dXJuIG9z
LnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3BhdGgsIHNlbGYuZmxhdHBha19i
dWlsZF9wYXRoKSkKKyAgICAgICAgcmV0dXJuIG9zLnBhdGguZXhpc3RzKHNlbGYuZmxhdHBha19i
dWlsZF9wYXRoKQogCiAgICAgZGVmIHNhdmVfY29uZmlnKHNlbGYpOgogICAgICAgICB3aXRoIG9w
ZW4oc2VsZi5jb25maWdfZmlsZSwgJ3cnKSBhcyBjb25maWc6CiAgICAgICAgICAgICBqc29uX2Nv
bmZpZyA9IHsnaWNlY2NfdmVyc2lvbic6IHNlbGYuaWNjX3ZlcnNpb259CiAgICAgICAgICAgICBq
c29uLmR1bXAoanNvbl9jb25maWcsIGNvbmZpZykKIAotICAgIGRlZiBzZXR1cF9jY2FjaGUoc2Vs
Zik6Ci0gICAgICAgIGZvciBjb21waWxlciBpbiBbImMrKyIsICJjYyIsICJjbGFuZyIsICJjbGFu
ZysrIiwgImcrKyIsICJnY2MiXToKLSAgICAgICAgICAgIHNlbGYucnVuX2luX3NhbmRib3goImxu
IiwgIi1zIiwgIi4uLy4uL3Vzci9iaW4vY2NhY2hlIiwgY29tcGlsZXIsIGN3ZD0iL2FwcC9iaW4i
KQotCiAgICAgZGVmIHNldHVwX2ljZWNjKHNlbGYpOgogICAgICAgICB3aXRoIHRlbXBmaWxlLk5h
bWVkVGVtcG9yYXJ5RmlsZSgpIGFzIHRtcGZpbGU6Ci0gICAgICAgICAgICBzZWxmLnJ1bl9pbl9z
YW5kYm94KCdpY2VjYycsICctLWJ1aWxkLW5hdGl2ZScsIHN0ZG91dD10bXBmaWxlLCBjd2Q9c2Vs
Zi5idWlsZF9wYXRoKQorICAgICAgICAgICAgc2VsZi5ydW5faW5fc2FuZGJveCgnaWNlY2MnLCAn
LS1idWlsZC1uYXRpdmUnLCBzdGRvdXQ9dG1wZmlsZSwgY3dkPXNlbGYuc291cmNlX3Jvb3QpCiAg
ICAgICAgICAgICB0bXBmaWxlLmZsdXNoKCkKICAgICAgICAgICAgIHRtcGZpbGUuc2VlaygwKQog
ICAgICAgICAgICAgaWNjX3ZlcnNpb25fZmlsZW5hbWUsID0gcmUuZmluZGFsbChyJy4qY3JlYXRp
bmcgKC4qKScsIHRtcGZpbGUucmVhZCgpKQotICAgICAgICAgICAgc2VsZi5pY2NfdmVyc2lvbiA9
IG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3BhdGgsIGljY192ZXJzaW9uX2ZpbGVuYW1lKQorICAg
ICAgICAgICAgc2VsZi5pY2NfdmVyc2lvbiA9IG9zLnBhdGguam9pbihzZWxmLnNvdXJjZV9yb290
LCBpY2NfdmVyc2lvbl9maWxlbmFtZSkKIAogICAgIGRlZiBzZXR1cF9kZXZfZW52KHNlbGYpOgot
ICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYuYnVpbGRfcGF0
aCwgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgpKSBcCi0gICAgICAgICAgICAgICAgb3Igc2VsZi51
cGRhdGUgb3Igc2VsZi5idWlsZF9hbGw6CisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhv
cy5wYXRoLmpvaW4oc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsICJydW50aW1lIiwgIm9yZy53ZWJr
aXQuU2RrIikpIG9yIHNlbGYudXBkYXRlIG9yIHNlbGYuYnVpbGRfYWxsOgogICAgICAgICAgICAg
c2VsZi5pbnN0YWxsX2FsbCgpCi0gICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIkJ1aWxkaW5n
ICVzIGFuZCBkZXBlbmRlbmNpZXMgaW4gJXMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNlbGYubmFtZSwgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgpCi0KLSAgICAgICAgICAgICMgQ3Jl
YXRlIGVudmlyb25tZW50IGRpcnMgaWYgbmVjZXNzYXJ5Ci0gICAgICAgICAgICB0cnk6Ci0gICAg
ICAgICAgICAgICAgb3MubWFrZWRpcnMob3MucGF0aC5kaXJuYW1lKHNlbGYubWFuaWZlc3RfZ2Vu
ZXJhdGVkX3BhdGgpKQotICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLSAgICAgICAg
ICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVFWElTVDoKLSAgICAgICAgICAgICAgICAgICAg
cmFpc2UgZQotICAgICAgICAgICAgaWYgbm90IGV4cGFuZF9tYW5pZmVzdChzZWxmLm1hbmlmZXN0
X3BhdGgsIHNlbGYubWFuaWZlc3RfZ2VuZXJhdGVkX3BhdGgsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbGYubmFtZSwgc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCBzZWxm
LmNvbW1hbmQpOgotICAgICAgICAgICAgICAgIHJldHVybiAxCi0KLSAgICAgICAgICAgIGJ1aWxk
ZXJfYXJncyA9IFsiZmxhdHBhay1idWlsZGVyIiwgIi0tZGlzYWJsZS1yb2ZpbGVzLWZ1c2UiLCAi
LS1zdGF0ZS1kaXIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuY2FjaGVfcGF0
aCwgIi0tY2NhY2hlIiwgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsICItLWZvcmNlLWNsZWFuIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm1hbmlmZXN0X2dlbmVyYXRlZF9wYXRo
XQotICAgICAgICAgICAgYnVpbGRlcl9hcmdzLmFwcGVuZCgiLS1idWlsZC1vbmx5IikKLSAgICAg
ICAgICAgIGJ1aWxkZXJfYXJncy5hcHBlbmQoIi0tc3RvcC1hdD0lcyIgJSBzZWxmLmFwcCkKLQot
ICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGJ1aWxkZXJfYXJncykKLSAgICAgICAg
ICAgIHNlbGYuc2V0dXBfY2NhY2hlKCkKICAgICAgICAgICAgIHNlbGYuc2V0dXBfaWNlY2MoKQog
ICAgICAgICAgICAgc2VsZi5zYXZlX2NvbmZpZygpCiAKICAgICAgICAgYnVpbGRfdHlwZSA9ICIt
LWRlYnVnIiBpZiBzZWxmLmRlYnVnIGVsc2UgIi0tcmVsZWFzZSIKKyAgICAgICAgaWYgc2VsZi5i
dWlsZF9nc3Q6CisgICAgICAgICAgICBzZWxmLnNldHVwX2dzdGJ1aWxkKFRydWUpCisKICAgICAg
ICAgaWYgc2VsZi5idWlsZF93ZWJraXQ6Ci0gICAgICAgICAgICBidWlsZGVyID0gW29zLnBhdGgu
am9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsICdUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtp
dCcpLAorICAgICAgICAgICAgYnVpbGRlciA9IFsKKyAgICAgICAgICAgICAgICBvcy5wYXRoLmpv
aW4oc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCAnVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQn
KSwKICAgICAgICAgICAgICAgICBidWlsZF90eXBlLCAnLS0nICsgc2VsZi5wbGF0Zm9ybS5sb3dl
cigpXQogICAgICAgICAgICAgaWYgc2VsZi5tYWtlYXJnczoKICAgICAgICAgICAgICAgICBidWls
ZGVyLmFwcGVuZCgiLS1tYWtlYXJncz0lcyIgJSBzZWxmLm1ha2VhcmdzKQpAQCAtOTAzLDI3ICs3
NDIsNTYgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKIAogICAgICAgICAgICAgaWYgcmVzOgogICAg
ICAgICAgICAgICAgIHJldHVybiByZXMKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIENvbnNv
bGUubWVzc2FnZSgiVXNpbmcgJXMgcHJlZml4IGluICVzIiwgc2VsZi5uYW1lLCBzZWxmLmZsYXRw
YWtfYnVpbGRfcGF0aCkKIAogICAgICAgICBpZiBzZWxmLnJ1bl90ZXN0cyBpcyBub3QgTm9uZToK
ICAgICAgICAgICAgIHRlc3RfbGF1bmNoZXIgPSBbb3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9z
b3VyY2Vfcm9vdCwgJ1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cycpLAotICAgICAgICAg
ICAgICAgIGJ1aWxkX3R5cGUsICctLScgKyBzZWxmLnBsYXRmb3JtLmxvd2VyKCldICsgc2VsZi5y
dW5fdGVzdHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRfdHlwZSwgJy0tJyAr
IHNlbGYucGxhdGZvcm0ubG93ZXIoKV0gKyBzZWxmLnJ1bl90ZXN0cwogICAgICAgICAgICAgcmV0
dXJuIHNlbGYucnVuX2luX3NhbmRib3goKnRlc3RfbGF1bmNoZXIpCi0gICAgICAgIGVsaWYgc2Vs
Zi5nZGIgaXMgbm90IE5vbmU6CisgICAgICAgIGVsaWYgc2VsZi5nZGIgb3Igc2VsZi5nZGJfc3Rh
Y2tfdHJhY2U6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5fZ2RiKCkKICAgICAgICAgZWxp
ZiBzZWxmLnVzZXJfY29tbWFuZDoKICAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1bl9pbl9zYW5k
Ym94KCpzZWxmLnVzZXJfY29tbWFuZCkKLSAgICAgICAgZWxpZiBub3Qgc2VsZi51cGRhdGUgYW5k
IG5vdCBzZWxmLmJ1aWxkX3dlYmtpdDoKKyAgICAgICAgZWxpZiBub3Qgc2VsZi51cGRhdGUgYW5k
IG5vdCBzZWxmLmJ1aWxkX3dlYmtpdCBhbmQgbm90IHNlbGYuYnVpbGRfZ3N0OgogICAgICAgICAg
ICAgcmV0dXJuIHNlbGYucnVuX2luX3NhbmRib3goKQogCiAgICAgICAgIHJldHVybiAwCiAKKyAg
ICBkZWYgX2dldF9wYWNrYWdlcyhzZWxmKToKKyAgICAgICAgc2VsZi5ydW50aW1lID0gRmxhdHBh
a1BhY2thZ2UoIm9yZy53ZWJraXQuUGxhdGZvcm0iLCBzZWxmLnNka19icmFuY2gsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQiKQor
ICAgICAgICBzZWxmLmxvY2FsZSA9IEZsYXRwYWtQYWNrYWdlKCJvcmcud2Via2l0LlBsYXRmb3Jt
LkxvY2FsZSIsIHNlbGYuc2RrX2JyYW5jaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IikKKyAgICAgICAgc2VsZi5zZGsgPSBGbGF0
cGFrUGFja2FnZSgib3JnLndlYmtpdC5TZGsiLCBzZWxmLnNka19icmFuY2gsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCisgICAgICAg
IHBhY2thZ2VzID0gW3NlbGYucnVudGltZSwgc2VsZi5sb2NhbGUsIHNlbGYuc2RrXQorCisgICAg
ICAgICMgRklYTUU6IEZvciB1bmtub3duIHJlYXNvbnMsIHRoZSBHTCBleHRlbnNpb24gbmVlZHMg
dG8gYmUgZXhwbGljaXRlbHkKKyAgICAgICAgIyBpbnN0YWxsZWQgZm9yIEZsYXRwYWsgMS4yLngg
dG8gYmUgYWJsZSB0byBtYWtlIHVzZSBvZiBpdC4gU2VlbXMgbGlrZQorICAgICAgICAjIGl0J3Mg
bm90IGNvcnJlY3RseSBpbmhlcml0aW5nIGl0IGZyb20gdGhlIFNESy4KKyAgICAgICAgc2VsZi5m
bGF0aHViX3JlcG8gPSBzZWxmLnJlcG9zLmFkZCgKKyAgICAgICAgICAgIEZsYXRwYWtSZXBvKCJm
bGF0aHViIiwgcmVwb19maWxlPSJodHRwczovL2RsLmZsYXRodWIub3JnL3JlcG8vZmxhdGh1Yi5m
bGF0cGFrcmVwbyIpCisgICAgICAgICkKKyAgICAgICAgZ2xfZXh0ZW5zaW9uID0gRmxhdHBha1Bh
Y2thZ2UoIm9yZy5mcmVlZGVza3RvcC5QbGF0Zm9ybS5HTC5kZWZhdWx0IiwgIjE5LjA4IiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5mbGF0aHViX3JlcG8sICJ4
ODZfNjQiKQorICAgICAgICBwYWNrYWdlcy5hcHBlbmQoZ2xfZXh0ZW5zaW9uKQorCisgICAgICAg
IGlmIHNlbGYuZGVidWc6CisgICAgICAgICAgICBzZGtfZGVidWcgPSBGbGF0cGFrUGFja2FnZSgn
b3JnLndlYmtpdC5TZGsuRGVidWcnLCBzZWxmLnNka19icmFuY2gsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IikKKyAgICAgICAg
ICAgIHBhY2thZ2VzLmFwcGVuZChzZGtfZGVidWcpCisgICAgICAgIHJldHVybiBwYWNrYWdlcwor
CiAgICAgZGVmIGluc3RhbGxfYWxsKHNlbGYpOgotICAgICAgICBmb3IgcGFja2FnZSBpbiBzZWxm
LnBhY2tzOgorICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oc2VsZi5mbGF0
cGFrX2J1aWxkX3BhdGgsICJydW50aW1lIiwgIm9yZy53ZWJraXQuU2RrIikpOgorICAgICAgICAg
ICAgcmV0dXJuCisgICAgICAgIENvbnNvbGUubWVzc2FnZSgiSW5zdGFsbGluZyAlcyBkZXBlbmRl
bmNpZXMgaW4gJXMiLCBzZWxmLmJ1aWxkX3R5cGUsIHNlbGYuZmxhdHBha19idWlsZF9wYXRoKQor
ICAgICAgICBmb3IgcGFja2FnZSBpbiBzZWxmLl9nZXRfcGFja2FnZXMoKToKICAgICAgICAgICAg
IGlmIG5vdCBwYWNrYWdlLmlzX2luc3RhbGxlZChzZWxmLnNka19icmFuY2gpOgogICAgICAgICAg
ICAgICAgIHBhY2thZ2UuaW5zdGFsbCgpCiAKKyAgICBkZWYgdXBkYXRlX2FsbChzZWxmKToKKyAg
ICAgICAgc2VsZi5zZGtfcmVwby5mbGF0cGFrKCJ1cGRhdGUiKQorCiAgICAgZGVmIHJ1bl9nZGIo
c2VsZik6CiAgICAgICAgIHdpdGggZGlzYWJsZV9zaWduYWxzKCk6CiAgICAgICAgICAgICB0cnk6
CkBAIC05MzUsMzEgKzgwMyw0MCBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICAjIFdl
IG5lZWQgYWNjZXNzIHRvIHRoZSBob3N0IGZyb20gdGhlIHNhbmRib3ggdG8gcnVuLgogICAgICAg
ICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZSgpIGFzIGNvcmVkdW1wOgogICAgICAg
ICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBhcyBzdGRlcnI6Ci0gICAg
ICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKFsiY29yZWR1bXBjdGwiLCAiZHVtcCJd
ICsgc2hsZXguc3BsaXQoc2VsZi5jb3JlZHVtcGN0bF9tYXRjaGVzKSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PWNvcmVkdW1wLCBzdGRlcnI9c3RkZXJyKQor
ICAgICAgICAgICAgICAgIGlmIHNlbGYuZ2RiX3N0YWNrX3RyYWNlOgorICAgICAgICAgICAgICAg
ICAgICBjbWQgPSBbImNvcmVkdW1wY3RsIiwgIi0tc2luY2U9JXMiICUgc2VsZi5nZGJfc3RhY2tf
dHJhY2UsICJkdW1wIl0KKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAg
ICBjbWQgPSBbImNvcmVkdW1wY3RsIiwgImR1bXAiXSArIHNobGV4LnNwbGl0KHNlbGYuY29yZWR1
bXBjdGxfbWF0Y2hlcykKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAg
IHN1YnByb2Nlc3MuY2hlY2tfY2FsbChjbWQsIHN0ZG91dD1jb3JlZHVtcCwgc3RkZXJyPXN0ZGVy
cikKKyAgICAgICAgICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3Ig
YXMgZXJyOgorICAgICAgICAgICAgICAgICAgICB3aXRoIG9wZW4oc3RkZXJyLm5hbWUsICdyJykg
YXMgc3RkZXJyZjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGVyciA9IHN0ZGVycmYucmVh
ZCgpCisgICAgICAgICAgICAgICAgICAgIGNtZCA9ICcgJy5qb2luKGVyci5jbWQpCisgICAgICAg
ICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoIiclcycgcmV0dXJuZWQgYSBub24temVybyBl
eGl0IGNvZGUuIFN0ZGVycjogJXMiICUgKGNtZCwgc3RkZXJyKSkKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIGVyci5yZXR1cm5jb2RlCiAKICAgICAgICAgICAgICAgICB3aXRoIG9wZW4oc3Rk
ZXJyLm5hbWUsICdyJykgYXMgc3RkZXJyZjoKICAgICAgICAgICAgICAgICAgICAgc3RkZXJyID0g
c3RkZXJyZi5yZWFkKCkKLSAgICAgICAgICAgICAgICBleGVjdXRhYmxlLCA9IHJlLmZpbmRhbGwo
Ii4qRXhlY3V0YWJsZTogKC4qKSIsIHN0ZGVycikKLSAgICAgICAgICAgICAgICBpZiBub3QgZXhl
Y3V0YWJsZS5zdGFydHN3aXRoKCIvbmV3cm9vdCIpOgotICAgICAgICAgICAgICAgICAgICBzeXMu
c3RkZXJyLndyaXRlKCJFeGVjdXRhYmxlICVzIGRvZXNuJ3Qgc2VlbSB0byBiZSBhIGZsYXRwYWtl
ZCBhcHBsaWNhdGlvbi5cbiIgJSBleGVjdXRhYmxlKQotCi0gICAgICAgICAgICAgICAgZXhlY3V0
YWJsZSA9IGV4ZWN1dGFibGUucmVwbGFjZSgiL25ld3Jvb3QiLCAiIikKLSAgICAgICAgICAgICAg
ICBhcmdzID0gWyJnZGIiLCBleGVjdXRhYmxlLCAiL3J1bi9ob3N0LyVzIiAlIGNvcmVkdW1wLm5h
bWVdICsgc2hsZXguc3BsaXQoc2VsZi5nZGIpCiAKLSAgICAgICAgICAgICAgICByZXR1cm4gc2Vs
Zi5ydW5faW5fc2FuZGJveCgqYXJncykKKyAgICAgICAgICAgICAgICBleGVjdXRhYmxlLCA9IHJl
LmZpbmRhbGwoIi4qRXhlY3V0YWJsZTogKC4qKSIsIHN0ZGVycikKIAotICAgIGRlZiB1cGRhdGVf
YWxsKHNlbGYpOgotICAgICAgICBmb3IgbSBpbiBbc2VsZi5ydW50aW1lLCBzZWxmLnNkaywgc2Vs
Zi5zZGtfZGVidWddOgotICAgICAgICAgICAgaWYgbToKLSAgICAgICAgICAgICAgICBtLnVwZGF0
ZSgpCisgICAgICAgICAgICAgICAgaWYgc2VsZi5nZGI6CisgICAgICAgICAgICAgICAgICAgIGJh
cmdzID0gWyJnZGIiLCBleGVjdXRhYmxlLCAiL3J1bi9ob3N0LyVzIiAlIGNvcmVkdW1wLm5hbWVd
ICsgc2hsZXguc3BsaXQoc2VsZi5nZGIpCisgICAgICAgICAgICAgICAgZWxpZiBzZWxmLmdkYl9z
dGFja190cmFjZToKKyAgICAgICAgICAgICAgICAgICAgYmFyZ3MgPSBbImdkYiIsICctZXgnLCAi
dGhyZWFkIGFwcGx5IGFsbCBiYWNrdHJhY2UiLCAnLS1iYXRjaCcsIGV4ZWN1dGFibGUsICIvcnVu
L2hvc3QvJXMiICUgY29yZWR1bXAubmFtZV0KIAorICAgICAgICAgICAgICAgIHJldHVybiBzZWxm
LnJ1bl9pbl9zYW5kYm94KCpiYXJncykKIAogZGVmIGlzX3NhbmRib3hlZCgpOgogICAgIHJldHVy
biBvcy5wYXRoLmV4aXN0cygiLy5mbGF0cGFrLWluZm8iKQogCiAKIGRlZiBydW5faW5fc2FuZGJv
eF9pZl9hdmFpbGFibGUoYXJncyk6CisgICAgdXNlX2poYnVpbGQgPSBpbnQob3MuZW52aXJvbi5n
ZXQoIldFQktJVF9KSEJVSUxEIiwgIjAiKSkKKyAgICBpZiB1c2VfamhidWlsZDoKKyAgICAgICAg
cmV0dXJuIE5vbmUKKwogICAgIGlmIGlzX3NhbmRib3hlZCgpOgogICAgICAgICByZXR1cm4gTm9u
ZQogCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55
YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTFhMDdjZjg2ZjgzYjY4ODMzYTU3Mjg0ZTQ3MjNmNTIy
YjczYzQwYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9U
b29scy9mbGF0cGFrL29yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sCisrKyAvZGV2L251bGwK
QEAgLTEsMzMxICswLDAgQEAKLSMgaHR0cCBhbmQgZGVwZW5kZW5jaWVzLgotLSBuYW1lOiBhcHIK
LSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly93d3cu
YXBhY2hlLm9yZy9kaXN0L2Fwci9hcHItMS42LjUudGFyLmJ6MgotICAgICAgc2hhMjU2OiBhNjdj
YTlmY2Y5YzRmZjU5YmNlN2Y0MjhhMzIzYzhiNWUxODY2N2ZkZWE3YjBlYmFkNDdkMTk0MzcxYjBh
MTA1Ci0tIG5hbWU6IGFwci11dGlsCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0g
ICAgICB1cmw6IGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvZGlzdC9hcHIvYXByLXV0aWwtMS42LjEu
dGFyLmJ6MgotICAgICAgc2hhNTEyOiAiNDBlZmY4YTM3YzA2MzRmN2ZkZGRkNmNhNWU1OTZiMzhk
ZTE1ZmQxMDc2N2EzNGMzMGJiZTQ5YzYzMjgxNmU4ZjNlMWUyMzA2NzgwMzRmNTc4ZGQ1ODE2YTk0
ZjI0NmZiNWRmZGY0OGQ2NDQ4MjlhZjEzYmYyOGRlMzIyNTIwNWQiCi0gIGNvbmZpZy1vcHRzOgot
ICAgIC0gLS13aXRoLWFwcj0vYXBwL2Jpbi9hcHItMS1jb25maWcKLS0gbmFtZTogaHR0cGQKLSAg
c291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20v
YXBhY2hlL2h0dHBkLmdpdAotICAgICAgYnJhbmNoOiAyLjQuMzcKLSAgICAtIHR5cGUgOiBmaWxl
Ci0gICAgICBwYXRoIDogZmlsZXMvaHR0cGQtYXV0b2dlbi5zaAotICAgICAgZGVzdC1maWxlbmFt
ZSA6IGF1dG9nZW4uc2gKLSAgICAjIFRoZSB2ZXJzaW9uIGVtYmVkZGVkIGluIHRoZSBzYW5kYm94
IGRvZXNuJ3QgaGF2ZSBhIHdvcmtpbmcgcGNyZS1jb25maWcKLSAgICAtIHR5cGU6IHBhdGNoCi0g
ICAgICBwYXRoOiBwYXRjaGVzL2h0dHBkLTAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZv
ci1QQ1JFLWRldGVjdGlvbi5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC0tZW5hYmxlLW1w
bXMtc2hhcmVkPWFsbAotICAgIC0gLS1lbmFibGUtbW9kdWxlcz1hbGwKLSAgICAtIC0td2l0aC1h
cHI9L2FwcC9iaW4vYXByLTEtY29uZmlnCi0gICAgLSAtLXdpdGgtYXByLXV0aWw9L2FwcC9iaW4v
YXB1LTEtY29uZmlnCi0gICAgLSAtLXdpdGgtcGNyZT0vYXBwCi0gICAgLSAtLWVuYWJsZS1hdXRo
bnotZmNnaQotICAgIC0gLS1lbmFibGUtY2dpCi0gICAgLSAtLWVuYWJsZS1jZ2lkCi0tIG5hbWU6
IHBocAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczov
L3BocC5uZXQvZGlzdHJpYnV0aW9ucy9waHAtNy4yLjYudGFyLnh6Ci0gICAgICBzaGE1MTI6IGRh
ODZiMWZmMmRmM2I5ZTJkNDZlNTlhODAyOTZiOTQwZDgxMTMyOTc1YjYyMWJkZWM5NjAyZjhiNGM4
ZDkxYTNmZGNkNGZmZDdjYjk4MmQ2M2QzZWM5NzRiM2ExMmE3ODU0ZTQyYTczYjdmMmNjOGVlZmFk
ZTE0MzM1YWE3YzcxCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1kaXNhYmxlLXhtbAotICAgIC0g
LS1kaXNhYmxlLWRvbQotICAgIC0gLS1kaXNhYmxlLWxpYnhtbAotICAgIC0gLS1kaXNhYmxlLXNp
bXBsZXhtbAotICAgIC0gLS1kaXNhYmxlLXhtbHJlYWRlcgotICAgIC0gLS1kaXNhYmxlLXhtbHdy
aXRlcgotICAgIC0gLS13aXRob3V0LXBlYXIKLSAgICAtIC0td2l0aC1hcHhzMgotICAgIC0gLS13
aXRoLXpsaWIKLSAgICAtIC0td2l0aC1saWJ6aXAKLSAgICAtIC0tZW5hYmxlLXNvY2tldHM9c2hh
cmVkCi0tIG5hbWU6IGxpYmV2ZW50Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAg
IHVybDogaHR0cHM6Ly9naXRodWIuY29tL2xpYmV2ZW50L2xpYmV2ZW50LmdpdAotICAgICAgYnJh
bmNoOiBlN2ZmNGVmICMgMi4xLjgKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLWRpc2FibGUtbGli
ZXZlbnQtcmVncmVzcwotCi0jIFJlcXVpcmVtZW50IGZvciBmbGF0cGt1dGlscwotLSBuYW1lOiBw
eXRob24zLXB5YW1sCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0g
IC0gcGlwMyBpbnN0YWxsIC0tbm8taW5kZXggLS1maW5kLWxpbmtzPSJmaWxlOi8vJHtQV0R9IiAt
LXByZWZpeD0ke0ZMQVRQQUtfREVTVH0gcHlhbWwKLSAgc291cmNlczoKLSAgLSB0eXBlOiBmaWxl
Ci0gICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvNGEvODUv
ZGI1YTJkZjQ3NzA3MmIyOTAyYjBlYjg5MmZlYjM3ZDg4YWM2MzVkMzYyNDVhNzJhNmE2OWIyM2Iz
ODNhL1B5WUFNTC0zLjEyLnRhci5negotICAgIHNoYTI1NjogNTkyNzY2YzYzMDMyMDdhMjBlZmM0
NDU1ODc3NzgzMjJkN2Y3M2IxNjFiZDk5NGYyMjdhZGFhMzQxYmEyMTJhYgotICAtIHR5cGU6IGZp
bGUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy85ZS8x
Ny8xZDRlZDZlMWE0YzA5MThhMDM1N2RmYTJmZGJlMjZiZjYzZjZlNjE2MDEzYzA0YTE0YmNlOWZk
MzNlNDAvcHlhbWwtMTcuMTIuMS50YXIuZ3oKLSAgICBzaGEyNTY6IDY2NjIzYzUyZjM0ZDgzYTJj
MGZjOTYzZTA4ZThiOWQwYzEzZDg4NDA0ZTNiNDNiMTg1MmVmNzFlZGExOWFmYTMKLQotLSBuYW1l
OiBweXRob24yLXB5YW1sCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6
Ci0gIC0gcGlwMiBpbnN0YWxsIC0tbm8taW5kZXggLS1maW5kLWxpbmtzPSJmaWxlOi8vJHtQV0R9
IiAtLXRhcmdldD0vYXBwL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy8gcHlhbWwKLSAgc291
cmNlczoKLSAgLSB0eXBlOiBmaWxlCi0gICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3Rl
ZC5vcmcvcGFja2FnZXMvNGEvODUvZGI1YTJkZjQ3NzA3MmIyOTAyYjBlYjg5MmZlYjM3ZDg4YWM2
MzVkMzYyNDVhNzJhNmE2OWIyM2IzODNhL1B5WUFNTC0zLjEyLnRhci5negotICAgIHNoYTI1Njog
NTkyNzY2YzYzMDMyMDdhMjBlZmM0NDU1ODc3NzgzMjJkN2Y3M2IxNjFiZDk5NGYyMjdhZGFhMzQx
YmEyMTJhYgotICAtIHR5cGU6IGZpbGUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9z
dGVkLm9yZy9wYWNrYWdlcy85ZS8xNy8xZDRlZDZlMWE0YzA5MThhMDM1N2RmYTJmZGJlMjZiZjYz
ZjZlNjE2MDEzYzA0YTE0YmNlOWZkMzNlNDAvcHlhbWwtMTcuMTIuMS50YXIuZ3oKLSAgICBzaGEy
NTY6IDY2NjIzYzUyZjM0ZDgzYTJjMGZjOTYzZTA4ZThiOWQwYzEzZDg4NDA0ZTNiNDNiMTg1MmVm
NzFlZGExOWFmYTMKLQotLSBuYW1lOiBweXRob24yLXN1YnByb2Nlc3MzMgotICBidWlsZHN5c3Rl
bTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAtIHBpcDIgaW5zdGFsbCAtLXRhcmdldD0v
YXBwL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy8gLgotICBzb3VyY2VzOgotICAtIHR5cGU6
IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdl
cy9iZS8yYi9iZWViYTU4M2U5ODc3ZTY0ZGIxMGI1MmE5NjkxNWFmYzBmZWFiZjcxNDRkY2JmMmEw
ZDBlYTY4YmY3M2Qvc3VicHJvY2VzczMyLTMuNS4zLnRhci5negotICAgIHNoYTI1NjogNmJjODI5
OTIzMTZlZWYzY2NmZjMxOWI1MDMzODA5ODAxYzBjMzM3MjcwOWM1ZjY5ODUyOTljODhhYzcyMjVj
MwotCi0jIEdTdHJlYW1lciBtb2R1bGVzCi0tIG5hbWU6IGxpYnZweAotICBuby1hdXRvZ2VuOiB0
cnVlCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9jaHJv
bWl1bS5nb29nbGVzb3VyY2UuY29tL3dlYm0vbGlidnB4Ci0gICAgICBicmFuY2g6IHYxLjcuMAot
ICBjb25maWctb3B0czoKLSAgICAtIC0tZW5hYmxlLXBpYwotICAgIC0gLS1hcz1uYXNtCi0gICAg
LSAtLWRpc2FibGUtdW5pdC10ZXN0cwotICAgIC0gLS1zaXplLWxpbWl0PTE2Mzg0eDE2Mzg0Ci0g
ICAgLSAtLWVuYWJsZS1wb3N0cHJvYwotICAgIC0gLS1lbmFibGUtbXVsdGktcmVzLWVuY29kaW5n
Ci0gICAgLSAtLWVuYWJsZS10ZW1wb3JhbC1kZW5vaXNpbmcKLSAgICAtIC0tZW5hYmxlLXZwOS10
ZW1wb3JhbC1kZW5vaXNpbmcKLSAgICAtIC0tZW5hYmxlLXZwOS1wb3N0cHJvYwotICAgIC0gLS1l
bmFibGUtc2hhcmVkCi0tIG5hbWU6IGFvbQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0g
ICAgICB1cmw6IGh0dHBzOi8vYW9tZWRpYS5nb29nbGVzb3VyY2UuY29tL2FvbQotICAgICAgYnJh
bmNoOiBjZGIwODNlODRhNzFkNmQzMTE2M2E0ZjY0ZjE4ZGMxMzI4ZmQ3ODJjCi0gIGJ1aWxkc3lz
dGVtOiBjbWFrZS1uaW5qYQotICBidWlsZGRpcjogdHJ1ZQotICBjb25maWctb3B0czoKLSAgICAt
IC1EQlVJTERfU0hBUkVEX0xJQlM9MQotLSBuYW1lOiBsaWJ1bndpbmQKLSAgc291cmNlczoKLSAg
ICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbGlidW53aW5kL2xp
YnVud2luZC5naXQKLSAgICAgIGNvbW1pdDogdjEuMi4xCi0tIG5hbWU6IGxpYm9wZW5oMjY0Ci0g
IGJ1aWxkc3lzdGVtOiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1
cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9jaXNjby9vcGVuaDI2NC5naXQKLSAgICAgIGJyYW5jaDog
YTFiM2YwN2M1MjcxZjMxMjk5N2ZjYzM0NTEyMzcwMzE0NDRjNDQ3NSAjIDEuOC4wICsgZml4IGZv
ciBnY2MgOAotLSBuYW1lOiBnc3RyZWFtZXIKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIHNvdXJj
ZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0
b3Aub3JnL2dzdHJlYW1lci9nc3RyZWFtZXIuZ2l0Ci0gICAgICBicmFuY2g6IDEuMTYuMQotICBj
b25maWctb3B0czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotICAgIC0gLURpbnRyb3NwZWN0
aW9uPWRpc2FibGVkCi0gICAgLSAtRGV4YW1wbGVzPWRpc2FibGVkCi0gICAgLSAtRHRlc3RzPWRp
c2FibGVkCi0tIG5hbWU6IGdzdC1wbHVnaW5zLWJhc2UKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0g
IHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRsYWIuZnJl
ZWRlc2t0b3Aub3JnL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYXNlLmdpdAotICAgICAgYnJhbmNo
OiAxLjE2LjEKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9nc3RyZWFtZXIvcGF0
Y2hlcy9iYXNlLTAwMDEtcGxheWJpbi1IYW5kbGUtZXJyb3ItbWVzc2FnZS13aXRoLXJlZGlyZWN0
aW9uLWluZGljYS5wYXRjaAotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2dzdHJl
YW1lci9wYXRjaGVzL2Jhc2UtMDAwMS1nbHVwbG9hZC1BZGQtVmlkZW9NZXRhcy1hbmQtR0xTeW5j
TWV0YS10by10aGUtcmF3LXVwLnBhdGNoCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9j
PWRpc2FibGVkCi0gICAgLSAtRGludHJvc3BlY3Rpb249ZGlzYWJsZWQKLSAgICAtIC1EZXhhbXBs
ZXM9ZGlzYWJsZWQKLSAgICAtIC1EdGVzdHM9ZGlzYWJsZWQKLS0gbmFtZTogZ3N0LXBsdWdpbnMt
Z29vZAotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAot
ICAgICAgdXJsOiBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdC1w
bHVnaW5zLWdvb2QuZ2l0Ci0gICAgICBicmFuY2g6IDEuMTYuMQotICAgIC0gdHlwZTogcGF0Y2gK
LSAgICAgIHBhdGg6IC4uL2dzdHJlYW1lci9wYXRjaGVzL2dvb2QtMDAwMS1xdGRlbXV4LVNwZWNp
ZnktUkVESVJFQ1QtaW5mb3JtYXRpb24taW4tZXJyb3ItbWVzc2FnLnBhdGNoCi0gIGNvbmZpZy1v
cHRzOgotICAgIC0gLURndGtfZG9jPWRpc2FibGVkCi0gICAgLSAtRGludHJvc3BlY3Rpb249ZGlz
YWJsZWQKLSAgICAtIC1EZXhhbXBsZXM9ZGlzYWJsZWQKLSAgICAtIC1EZ3RrMz1kaXNhYmxlZAot
LSBuYW1lOiB4MjY0Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gIi0tZW5hYmxlLXNoYXJlZCIKLSAg
ICAtICItLWVuYWJsZS1zdGF0aWMiCi0gICAgLSAiLS1lbmFibGUtcGljIgotICAgIC0gIi0tZGlz
YWJsZS1sYXZmIgotICAgIC0gIi0tZGlzYWJsZS1hc20iCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBl
OiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHA6Ly9kb3dubG9hZC52aWRlb2xhbi5vcmcvcHViL3gy
NjQvc25hcHNob3RzL3gyNjQtc25hcHNob3QtMjAxNDAyMTItMjI0NS1zdGFibGUudGFyLmJ6Mgot
ICAgICAgc2hhMjU2OiA1ZDk4ZTllNGZhZjZkZDU1ZTcxOTNlZDM3OWFmZjQ3N2I4YWNiZGE2Nzc3
NzU4OTU2ZWY3ZTVmMDUwNjdiZTE4Ci0tIG5hbWU6IGdzdC1wbHVnaW5zLXVnbHkKLSAgYnVpbGRz
eXN0ZW06IG1lc29uCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0
cHM6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLXVn
bHkKLSAgICAgIGJyYW5jaDogMS4xNi4wCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9j
PWRpc2FibGVkCi0tIG5hbWU6IGdzdC1wbHVnaW5zLWJhZAotICBidWlsZHN5c3RlbTogbWVzb24K
LSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGxhYi5m
cmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZC5naXQKLSAgICAgIGJyYW5j
aDogMS4xNi4xCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3N0cmVhbWVyL3Bh
dGNoZXMvZ3N0LXBsdWdpbnMtYmFkLTAwMDEtaDI2NHBhcnNlLVBvc3QtYS1XQVJOSU5HLXdoZW4t
ZGF0YS1pcy1icm9rZW4ucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlz
YWJsZWQKLSAgICAtIC1EaW50cm9zcGVjdGlvbj1kaXNhYmxlZAotICAgIC0gLURleGFtcGxlcz1k
aXNhYmxlZAotLSBuYW1lOiBmZm1wZWcKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUK
LSAgICAgIHVybDogaHR0cHM6Ly9mZm1wZWcub3JnL3JlbGVhc2VzL2ZmbXBlZy00LjAuNC50YXIu
Z3oKLSAgICAgIHNoYTI1NjogODBiYjY4NWFiZmNkZGE3YzliNmM5YzVjYWYxZDhkYmI5Mjc4NTgw
NTBkNzM3N2MyYjhmMzQ4OGM3ZThhOWI3ZgotICBjb25maWctb3B0czoKLSAgICAtIC0tZW5hYmxl
LXN0YXRpYwotICAgIC0gLS1lbmFibGUtcGljCi0gICAgLSAtLWRpc2FibGUtYXZkZXZpY2UKLSAg
ICAtIC0tZGlzYWJsZS1wb3N0cHJvYwotICAgIC0gLS1kaXNhYmxlLXN3c2NhbGUKLSAgICAtIC0t
ZGlzYWJsZS1wcm9ncmFtcwotICAgIC0gLS1kaXNhYmxlLWZmcGxheQotICAgIC0gLS1kaXNhYmxl
LWZmcHJvYmUKLSAgICAtIC0tZGlzYWJsZS1mZm1wZWcKLSAgICAtIC0tZGlzYWJsZS1lbmNvZGVy
PWZsYWMKLSAgICAtIC0tZGlzYWJsZS1wcm90b2NvbHMKLSAgICAtIC0tZGlzYWJsZS1kZXZpY2Vz
Ci0gICAgLSAtLWRpc2FibGUtbmV0d29yawotICAgIC0gLS1kaXNhYmxlLWh3YWNjZWxzCi0gICAg
LSAtLWRpc2FibGUtZHh2YTIKLSAgICAtIC0tZGlzYWJsZS12ZHBhdQotICAgIC0gLS1kaXNhYmxl
LWZpbHRlcnMKLSAgICAtIC0tZW5hYmxlLWZpbHRlcj15YWRpZgotICAgIC0gLS1kaXNhYmxlLWRv
YwotICAgIC0gLS1kaXNhYmxlLWQzZDExdmEKLSAgICAtIC0tZGlzYWJsZS1keHZhMgotICAgIC0g
LS1kaXNhYmxlLWF1ZGlvdG9vbGJveAotICAgIC0gLS1kaXNhYmxlLXZpZGVvdG9vbGJveAotICAg
IC0gLS1kaXNhYmxlLXZhYXBpCi0gICAgLSAtLWRpc2FibGUtY3J5c3RhbGhkCi0gICAgLSAtLWRp
c2FibGUtbWVkaWFjb2RlYwotICAgIC0gLS1kaXNhYmxlLW52ZW5jCi0gICAgLSAtLWRpc2FibGUt
bW1hbAotICAgIC0gLS1kaXNhYmxlLW9teAotICAgIC0gLS1kaXNhYmxlLW9teC1ycGkKLSAgICAt
IC0tZGlzYWJsZS1jdWRhCi0gICAgLSAtLWRpc2FibGUtY3V2aWQKLSAgICAtIC0tZGlzYWJsZS1s
aWJtZngKLSAgICAtIC0tZGlzYWJsZS1saWJucHAKLSAgICAtIC0tZGlzYWJsZS1pY29udgotICAg
IC0gLS1kaXNhYmxlLWpuaQotICAgIC0gLS1kaXNhYmxlLXY0bDJfbTJtCi0gICAgLSAtLWVuYWJs
ZS1vcHRpbWl6YXRpb25zCi0tIG5hbWU6IGdzdC1saWJhdgotICBidWlsZHN5c3RlbTogbWVzb24K
LSAgYnVpbGRkaXI6IHRydWUKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAg
IHVybDogaHR0cHM6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL3NyYy9nc3QtbGliYXYvZ3N0
LWxpYmF2LTEuMTYuMS50YXIueHoKLSAgICAgIHNoYTI1NjogZThhNTc0OGFlOWE0YTdiZTk2OTY1
MTIxODJlYTlmZmE2ZWZlMGJlOWI3OTc2OTE2NTQ4ZTlkNDM4MWNhNjFjNAotICBjb25maWctb3B0
czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotCi0tIG5hbWU6IGxpYmdjcnlwdCAjIFNwZWVk
dXAgbGliZ2NyeXB0Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0
cHM6Ly9kZXYuZ251cGcub3JnL3NvdXJjZS9saWJnY3J5cHQuZ2l0Ci0gICAgICBicmFuY2g6IGxp
YmdjcnlwdC0xLjguNAotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IHBhdGNoZXMvbGli
Z2NyeXB0LTAwMDEtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRjaAotICAg
IC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2d0ay9wYXRjaGVzL2xpYmdjcnlwdC11c2Ut
b25seS1kZXYtdXJhbmRvbS1mb3ItdGVzdGluZy5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAt
IC0tZGlzYWJsZS1kb2MKLQotLSBuYW1lOiBwZXJsLWNnaS1wbQotICBidWlsZHN5c3RlbTogc2lt
cGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAgIC0gcGVybCBNYWtlZmlsZS5QTCBQUkVGSVg9L2Fw
cCBMSUI9L2FwcC9saWIvcGVybC8KLSAgICAtIG1ha2UgaW5zdGFsbAotICBzb3VyY2VzOgotICAg
IC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL2NwYW4ubWV0YWNwYW4ub3JnL2F1
dGhvcnMvaWQvTC9MRS9MRUVKTy9DR0ktNC4zOC50YXIuZ3oKLSAgICAgIHNoYTI1NjogOGM1OGY0
YTUyOWJiOTJhOTE0YjIyYjdlNjRjNWUzMTE4NWM5ODU0YTQwNzBhNmRmYWQ0NGZlNWNjMjQ4ZTdk
NAotCi0tIG5hbWU6IHB5dGhvbjItdmlydHVhbGVudgotICBidWlsZHN5c3RlbTogc2ltcGxlCi0g
IGJ1aWxkLWNvbW1hbmRzOgotICAtIHBpcDIgaW5zdGFsbCAtLW5vLWluZGV4IC0tZmluZC1saW5r
cz0iZmlsZTovLyR7UFdEfSIgLS10YXJnZXQ9L2FwcC9saWIvcHl0aG9uMi43L3NpdGUtcGFja2Fn
ZXMvIHZpcnR1YWxlbnYKLSAgLSBsbiAtcyAvYXBwL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdl
cy92aXJ0dWFsZW52LnB5IC9hcHAvYmluL3ZpcnR1YWxlbnYKLSAgLSBjaG1vZCAreCAvYXBwL2Jp
bi92aXJ0dWFsZW52Ci0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogZmlsZQotICAgIHVybDogaHR0cHM6
Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzMzL2JjL2ZhMGI1MzQ3MTM5Y2Q5NTY0
ZjBkNDRlYmQyYjE0N2FjOTdjMzZiMjQwMzk0M2RiZWU4YTI1ZmQ3NDAxMi92aXJ0dWFsZW52LTE2
LjAuMC50YXIuZ3oKLSAgICBzaGEyNTY6IGNhMDdiNGMwYjU0ZTE0YTkxYWY5ZjM0ZDA5MTk3OTBi
MDE2OTIzZDE1N2FmZGE1ZWZkZGU1NWM5NjcxOGY3NTIKLQotLSBuYW1lOiBsaWJjYXAtbmcKLSAg
c291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20v
c3RldmVncnViYi9saWJjYXAtbmcKLSAgICAgIGJyYW5jaDogdjAuNy45Ci0gIGNvbmZpZy1vcHRz
OgotICAgIC0gLS13aXRoLXB5dGhvbj1ubwotICAgIC0gLS13aXRoLXB5dGhvbjM9bm8KLQotLSBu
YW1lOiBsem8yCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0
dHA6Ly93d3cub2Jlcmh1bWVyLmNvbS9vcGVuc291cmNlL2x6by9kb3dubG9hZC9sem8tMi4xMC50
YXIuZ3oKLSAgICAgIHNoYTE6IDQ5MjQ2NzZhOWJhZTVkYjU4ZWYxMjlkYzFjZWJjZTNiYWEzYzRi
NWQKLQotLSBuYW1lOiBpY2VjYwotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1
cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9pY2VjYy9pY2VjcmVhbQotICAgICAgdGFnOiAiMS4yIgot
ICAgICAgY29tbWl0OiBlM2QxMGEzMmJjNmMwNDZkOGYzZDExODJlNzVjNjU5ZDRiMjhlZDQ5Ci0g
IGNvbmZpZy1vcHRzOgotICAgIC0gLS13aXRob3V0LW1hbgotCi0tIG5hbWU6IGJyb3RsaQotICBz
b3VyY2VzOgotICAtIHR5cGU6IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9n
b29nbGUvYnJvdGxpL2FyY2hpdmUvdjEuMC41LnRhci5negotICAgIHNoYTI1NjogM2Q1YmVkZDQ4
ZWRiOTA5ZmUzYjg3Y2I5OWY3ZDEzOWI5ODdlZjZmMTYxNmI3ZTIyZDc0ZTkyODI3MGEyZmQyMAot
ICBidWlsZHN5c3RlbTogY21ha2UtbmluamEKLQotLSBuYW1lOiB3b2ZmMgotICBzb3VyY2VzOgot
ICAtIHR5cGU6IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvd29m
ZjIvYXJjaGl2ZS92MS4wLjIudGFyLmd6Ci0gICAgc2hhMjU2OiBhZGQyNzJiYjA5ZTYzODRhNDgz
M2ZmY2E0ODk2MzUwZmRiMTZlMGNhMjJkZjY4YzAzODQ3NzNjNjdhMTc1NTk0Ci0gIGJ1aWxkc3lz
dGVtOiBjbWFrZS1uaW5qYQotCi0tIG5hbWU6IG9wZW5qcGVnCi0gIHNvdXJjZXM6Ci0gIC0gdHlw
ZTogYXJjaGl2ZQotICAgIHVybDogaHR0cDovL2dpdGh1Yi5jb20vdWNsb3V2YWluL29wZW5qcGVn
L2FyY2hpdmUvdjIuMy4wLnRhci5negotICAgIHNoYTI1NjogM2RjNzg3YzFiYjYwMjNiYTg0NmMy
YTBkOWIxZjZlMTc5ZjFjZDI1NTE3MmJkZTllYjc1YjAxZjFlNmM3ZDcxYQotICBidWlsZHN5c3Rl
bTogY21ha2UtbmluamEKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5HVEsu
eWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5HVEsueWFtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggOTYzYjU2MDQ0MDgwNDVlZDA4N2M3YzI2N2E1OTMyYjg0ZTYzMGQzZi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0
cGFrL29yZy53ZWJraXQuR1RLLnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMjMgKzAsMCBAQAot
LSBuYW1lOiBtZXNhCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6
IGh0dHBzOi8vbWVzYS5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZS9tZXNhLTE4LjAuMy50YXIueHoK
LSAgICAgIHNoYTI1NjogMDk5ZDk2NjczMjdhNzZhNjE3NDFhNTMzZjk1MDY3ZDc2ZWE3MWE2NTZl
NjZiOTE1MDdiM2MwY2FmMWQ0OWUzMAotICBjb25maWctb3B0czoKLSAgICAtIC0tcHJlZml4PS9h
cHAvc29mdEdMCi0gICAgLSAtLWRpc2FibGUtZHJpMwotICAgIC0gLS1lbmFibGUtZHJpCi0gICAg
LSAtLWVuYWJsZS1nbHgKLSAgICAtIC0tZW5hYmxlLWVnbAotICAgIC0gLS13aXRoLWVnbC1wbGF0
Zm9ybXM9eDExLHdheWxhbmQKLSAgICAtIC0td2l0aC1kcmktZHJpdmVycz1zd3Jhc3QKLSAgICAt
IC0td2l0aC1nYWxsaXVtLWRyaXZlcnM9c3dyYXN0Ci0KLS0gbmFtZTogd2Via2l0Z3RrLXRlc3Qt
Zm9udHMKLSAgbm8tYXV0b2dlbjogdHJ1ZQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0g
ICAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJLaXRHVEsvd2Via2l0Z3RrLXRlc3QtZm9u
dHMuZ2l0Ci0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gICAgIyBG
SVhNRTogTWFrZSBBY3RpdmF0ZUZvbnRXUEUgc21hcnRlci4KLSAgICAtIG1ha2UgaW5zdGFsbCBE
RVNURElSPS9hcHAvV2ViS2l0QnVpbGQvRGVwZW5kZW5jaWVzR1RLL1Jvb3QKLQotLSBuYW1lOiB4
b3JnLXV0aWwtbWFjcm9zCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDog
aHR0cHM6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy91dGlsL21hY3Jvcy5naXQK
LSAgICAgIGJyYW5jaDogdXRpbC1tYWNyb3MtMS4xOS4yCi0KLS0gbmFtZTogeG9yZy1mb250LXV0
aWwKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Fub25n
aXQuZnJlZWRlc2t0b3Aub3JnL2dpdC94b3JnL2ZvbnQvdXRpbC5naXQKLSAgICAgIGJyYW5jaDog
Zm9udC11dGlsLTEuMy4xCi0KLS0gbmFtZTogeGtiZmlsZQotICBzb3VyY2VzOgotICAgIC0gdHlw
ZTogZ2l0Ci0gICAgICBicmFuY2g6IGxpYnhrYmZpbGUtMS4wLjkKLSAgICAgIHVybDogaHR0cHM6
Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy9saWIvbGlieGtiZmlsZS5naXQKLQot
LSBuYW1lOiBmb250ZW5jCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIGJyYW5j
aDogbGliZm9udGVuYy0xLjEuMwotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0
b3Aub3JnL2dpdC94b3JnL2xpYi9saWJmb250ZW5jLmdpdAotCi0tIG5hbWU6IHhmb250Ci0gIHNv
dXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIGJyYW5jaDogbGliWGZvbnQyLTIuMC4zCi0g
ICAgICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcvbGliL2xp
Ylhmb250LmdpdAotCi0tIG5hbWU6IHh2ZmIKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAot
ICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC94b3JnL3hzZXJ2
ZXIuZ2l0Ci0gICAgICBicmFuY2g6IHhvcmctc2VydmVyLTEuMTkuNgotICAgIC0gdHlwZTogcGF0
Y2gKLSAgICAgIHBhdGg6IHBhdGNoZXMveHZmYi0wMDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEt
a2JtLWZpbGUucGF0Y2gKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9ndGsvcGF0
Y2hlcy94c2VydmVyLXJlbW92ZS1ib2d1cy1kZXBlbmRlbmNpZXMucGF0Y2gKLSAgICAtIHR5cGU6
IHBhdGNoCi0gICAgICBwYXRoOiAuLi9ndGsvcGF0Y2hlcy94c2VydmVyLXNlYXJjaC1mb3ItRFJJ
LWRyaXZlcnMtYXQtTElCR0xfRFJJVkVSU19QQVRILWVudmlyb24ucGF0Y2gKLSAgY29uZmlnLW9w
dHM6Ci0gICAgLSAtLWVuYWJsZS14dmZiCi0gICAgLSAtLWRpc2FibGUteHdheWxhbmQKLSAgICAt
IC0tZW5hYmxlLXh2ZmIKLSAgICAtIC0tZGlzYWJsZS14d2F5bGFuZAotICAgIC0gLS1kaXNhYmxl
LXhpbmVyYW1hCi0gICAgLSAtLWVuYWJsZS1nbHgKLSAgICAtIC0tZW5hYmxlLWNvbXBvc2l0ZQot
ICAgIC0gLS1kaXNhYmxlLXhvcmcKLSAgICAtIC0tZGlzYWJsZS1kbXgKLSAgICAtIC0tZGlzYWJs
ZS14bmVzdAotICAgIC0gLS1kaXNhYmxlLXhxdWFydHoKLSAgICAtIC0tZGlzYWJsZS14d2luCi0g
ICAgLSAtLWRpc2FibGUteGVwaHlyCi0gICAgLSAtLWRpc2FibGUteGZha2UKLSAgICAtIC0tZGlz
YWJsZS14ZmJkZXYKLSAgICAtIC0tZGlzYWJsZS1pbnN0YWxsLXNldHVpZAotICAgIC0gLS1kaXNh
YmxlLXVuaXQtdGVzdHMKLSAgICAtIC0tZGlzYWJsZS1wcmVzZW50Ci0gICAgLSAtLWVuYWJsZS11
bml4LXRyYW5zcG9ydAotICAgIC0gLS1lbmFibGUtdGNwLXRyYW5zcG9ydAotICAgIC0gLS1kaXNh
YmxlLWxvY2FsLXRyYW5zcG9ydAotICAgIC0gLS13aXRob3V0LWR0cmFjZQotCi0jIFJlcXVpcmVk
IGZvciBydW4tZ3RrLXRlc3RzCi0tIG5hbWU6IHB5Y2Fpcm8KLSAgYnVpbGRzeXN0ZW06IHNpbXBs
ZQotICBidWlsZC1jb21tYW5kczoKLSAgLSBweXRob24yIHNldHVwLnB5IGluc3RhbGwgLS1wcmVm
aXg9L2FwcAotICBzb3VyY2VzOgotICAtIHR5cGU6IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8v
cHlwaS5weXRob24ub3JnL3BhY2thZ2VzL2VmLzk3L2IzM2RjNTMzZWE2MDc2ZDRlYTljYmQyZmUw
NDlhMmI0YTNkZjVjNWI2ZmJhOWExODI2MTZmNmY4ZDMxMC9weWNhaXJvLTEuMTUuNC50YXIuZ3oK
LSAgICBzaGEyNTY6IGVlNGMzMDY4YzA0ODIzMGU1Y2U3NGJiODk5NGEwMjQ3MTExMjliZGUxYWYx
ZDc2ZTMyNzZjN2FjZDgxYzQzNTcKLSAgY2xlYW51cDoKLSAgLSAiL2luY2x1ZGUiCi0gIC0gIi9s
aWIvcGtnY29uZmlnIgotCi0tIG5hbWU6IHB5Z29iamVjdC1weXRob24yCi0gIGJ1aWxkLW9wdGlv
bnM6Ci0gICAgZW52OgotICAgICAgUFlUSE9OOiAiL3Vzci9iaW4vcHl0aG9uMiIKLSAgc291cmNl
czoKLSAgLSB0eXBlOiBhcmNoaXZlCi0gICAgdXJsOiBodHRwczovL2Rvd25sb2FkLmdub21lLm9y
Zy9zb3VyY2VzL3B5Z29iamVjdC8zLjI4L3B5Z29iamVjdC0zLjI4LjEudGFyLnh6Ci0gICAgc2hh
MjU2OiA0MjMxMmI0YTUwMTU1NzFmYTBhNGYyZDIwMTAwNWRhNDZiNzFjMjUxZWEyNjI1YmM5NTcw
MmQwNzFjNGZmODk1Ci0gIGNsZWFudXA6Ci0gIC0gIi9pbmNsdWRlIgotICAtICIvbGliL3BrZ2Nv
bmZpZyIKLSAgLSAiL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9naS8qLmxhIgotCi0tIG9y
Zy53ZWJraXQuV1BFTW9kdWxlcy55YW1sCi0KLS0gbmFtZTogb3JnLndlYmtpdC5HVEsKLSAgYnVp
bGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgICAtIC9hcHAvd2Via2l0L1Rv
b2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0IC0tZ3RrIC0tcHJlZml4PS9hcHAKLQpkaWZmIC0tZ2l0
IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRS55YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcu
d2Via2l0LldQRS55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0Y2JhYmJhYTBj
YjhlMTU4YWQ0NDQxZjk4YjRkMDUzYThjYjNiYTc2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEUueWFtbAor
KysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLS0gb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlh
bWwKLS0gbmFtZTogd2Via2l0Z3RrLXRlc3QtZm9udHMKLSAgbm8tYXV0b2dlbjogdHJ1ZQotICBz
b3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9X
ZWJLaXRHVEsvd2Via2l0Z3RrLXRlc3QtZm9udHMuZ2l0Ci0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUK
LSAgYnVpbGQtY29tbWFuZHM6Ci0gICAgIyBGSVhNRTogTWFrZSBBY3RpdmF0ZUZvbnRXUEUgc21h
cnRlci4KLSAgICAtIG1ha2UgaW5zdGFsbCBERVNURElSPS9hcHAvV2ViS2l0QnVpbGQvRGVwZW5k
ZW5jaWVzV1BFL1Jvb3QKLS0gbmFtZTogb3JnLndlYmtpdC5XUEUKLSAgYnVpbGRzeXN0ZW06IHNp
bXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgICAtIC9hcHAvd2Via2l0L1Rvb2xzL1NjcmlwdHMv
YnVpbGQtd2Via2l0IC0td3BlIC0tcHJlZml4PS9hcHAKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRw
YWsvb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwgYi9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQu
V1BFTW9kdWxlcy55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhODBlMmNjYjNh
NGQ5NTIyYTYwNzkzNGMwNmUwYWY5MjA1YmYwMjE3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVNb2R1bGVz
LnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0tIG5hbWU6IGxpYndwZQotICBi
dWlsZHN5c3RlbTogY21ha2UtbmluamEKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUK
LSAgICAgIHVybDogaHR0cHM6Ly93cGV3ZWJraXQub3JnL3JlbGVhc2VzL2xpYndwZS0xLjQuMC50
YXIueHoKLSAgICAgIHNoYTI1NjogZTJkMzQ5NGZjMzNmZTk0NmFkOTE3ZmQ2YTNhYmQxMjc0NjJi
OTFiYmE2MmVmOGIzNTUwN2U5MmY4ZWRlNDE4OAotLSBuYW1lOiB3cGViYWNrZW5kLWZkbwotICBi
dWlsZHN5c3RlbTogY21ha2UtbmluamEKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUK
LSAgICAgIHVybDogaHR0cHM6Ly93cGV3ZWJraXQub3JnL3JlbGVhc2VzL3dwZWJhY2tlbmQtZmRv
LTEuNC4wLnRhci54egotICAgICAgc2hhMjU2OiBhOTE5Y2E0YTViYzQ0NWY5NDE5YTViN2YzNzgx
Y2ZjOThlNWFiY2Y1ZDcyNTllYjE4NjlmNWFiMjBmZDE4YmFmCmRpZmYgLS1naXQgYS9Ub29scy9m
bGF0cGFrL29yZy53ZWJraXQuV1BFUVQueWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5X
UEVRVC55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTM2OTU3YTQ2MWJjMzQ3
OWEzOGVmZmRlNmQ5NThiZDAwNzI2NzhlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVRVC55YW1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotYXBwLWlkOiBvcmcud2Via2l0LldQRVFUCi1ydW50
aW1lOiBvcmcua2RlLlBsYXRmb3JtCi1ydW50aW1lLXZlcnNpb246ICI1LjEyIgotIyBDb250cm9s
IHRoZSBleGFjdCB2ZXJzaW9uIG9mIHRoZSBTZGsvUnVudGltZSB0aGF0IGlzIGJlaW5nIHVzZWQu
Ci1zZGstaGFzaDogZDZlZmEyNGUyN2MxYzg3OGFkNGZkZTc2YjczYzk2YTExYmUzMmI1OThhZTg3
YWVmYmUzMzllZTRiYjE5YThiZQotcnVudGltZS1oYXNoOiAxMDE4NzFlMDkxMDAwNjE2YWQyYjYz
NWUwNmM0MTRlYjBlMWM0ZTFjMzQyOTJhMjA1YzUyMzk5MzVlZTVlYTQ0Ci1zZGs6IG9yZy5rZGUu
U2RrCi1jb21tYW5kOiAlKENPTU1BTkQpcwotZmluaXNoLWFyZ3M6Ci0gICMgQmFzaWNhbGx5IG5v
IHNhbmRib3hpbmcsIHRoZSBnb2FsIGhlcmUgaXMgdG8gbWFrZSBpdCBmbGV4aWJsZQotICAjIGZv
ciBkZXZlbG9wZXJzLCBub3QgcmVhbGx5IHRvIGlzb2xhdGUgKG9wZW5uaW5nIGFsbCBkZXZpY2Vz
Ci0gICMgdG8gYWxsb3cgYWNjZXMgdmlkZW8gY2FtZXJhcyB1bnRpbCB3ZSBoYXZlIGEgcG9ydGFs
IGF0IGxlYXN0KS4KLSAgLSAtLXNoYXJlPWlwYwotICAtIC0tc29ja2V0PXgxMQotICAtIC0tc29j
a2V0PXdheWxhbmQKLSAgLSAtLWRldmljZT1hbGwKLSAgLSAtLXNoYXJlPW5ldHdvcmsKLSAgLSAt
LXNvY2tldD1wdWxzZWF1ZGlvCi0gIC0gLS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5mcmVlZGVza3Rv
cC5HZW9DbHVlMgotICAtIC0tc3lzdGVtLXRhbGstbmFtZT1vcmcuYTExeS5CdXMKLSAgLSAtLWZp
bGVzeXN0ZW09aG9zdAotICAtIC0tc29ja2V0PXN5c3RlbS1idXMKLSAgLSAtLXRhbGstbmFtZT1v
cmcuZnJlZWRlc2t0b3AuRmxhdHBhawotICAtIC0tZW52PUdTVF9QUkVTRVRfUEFUSD0vYXBwL3No
YXJlL2dzdHJlYW1lci0xLjAvcHJlc2V0cy8KLWJ1aWxkLW9wdGlvbnM6Ci0gIGNmbGFnczogLU8y
IC1nCi0gIGN4eGZsYWdzOiAtTzIgLWcKLSAgc3RyaXA6IGZhbHNlCi0gIG5vLWRlYnVnaW5mbzog
dHJ1ZQotbW9kdWxlczoKLSAgLSBvcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbAotICAtIG9y
Zy53ZWJraXQuV1BFTW9kdWxlcy55YW1sCi0KLSAgIyBUaGlzIG1vZHVsZSBpcyBub3QgYWN0dWFs
bHkgYnVpbHQuCi0gIC0gbmFtZTogb3JnLndlYmtpdC5XUEVRVAotICAgIGJ1aWxkc3lzdGVtOiBj
bWFrZQotICAgIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBkaXIKLSAgICAgIHBhdGg6IC9hcHAvd2Vi
a2l0L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvcXQKZGlmZiAtLWdpdCBhL1Rvb2xz
L2ZsYXRwYWsvb3JnLndlYmtpdC5XZWJLaXQueWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtp
dC5XZWJLaXQueWFtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjZkNjEyNjYwZDhh
MjA0NWRhMzEyZmRiMDkxYjc4ZTU4YTgwN2U2OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV2ViS2l0LnlhbWwK
KysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1hcHAtaWQ6ICUoUE9SVE5BTUUpcwotcnVu
dGltZTogb3JnLmdub21lLlBsYXRmb3JtCi1ydW50aW1lLXZlcnNpb246ICIzLjMyIgotIyBDb250
cm9sIHRoZSBleGFjdCB2ZXJzaW9uIG9mIHRoZSBTZGsvUnVudGltZSB0aGF0IGlzIGJlaW5nIHVz
ZWQuCi1zZGstaGFzaDogYjNiOWIxZDFiMTllYTJiYjcyMDE5NDI4Y2E3NWM3YTc4NDU1ZTk4NmEw
ZjkxZGRkZjZhMjljOTI5OTBjYzVhNwotcnVudGltZS1oYXNoOiA3YzlkNTU5MmQ4MDVkMGI3YzIx
MjE5MGZkODExOGU0Yzc4Y2I4ZWQ4ZjgxZTY4Nzg1ODk3MjY3MGRhY2NmZjc2Ci1zZGs6IG9yZy5n
bm9tZS5TZGsKLWNvbW1hbmQ6ICUoQ09NTUFORClzCi1maW5pc2gtYXJnczoKLSAgIyBCYXNpY2Fs
bHkgbm8gc2FuZGJveGluZywgdGhlIGdvYWwgaGVyZSBpcyB0byBtYWtlIGl0IGZsZXhpYmxlCi0g
ICMgZm9yIGRldmVsb3BlcnMsIG5vdCByZWFsbHkgdG8gaXNvbGF0ZSAob3Blbm5pbmcgYWxsIGRl
dmljZXMKLSAgIyB0byBhbGxvdyBhY2NlcyB2aWRlbyBjYW1lcmFzIHVudGlsIHdlIGhhdmUgYSBw
b3J0YWwgYXQgbGVhc3QpLgotICAtIC0tc2hhcmU9aXBjCi0gIC0gLS1zb2NrZXQ9eDExCi0gIC0g
LS1zb2NrZXQ9d2F5bGFuZAotICAtIC0tZGV2aWNlPWFsbAotICAtIC0tc2hhcmU9bmV0d29yawot
ICAtIC0tc29ja2V0PXB1bHNlYXVkaW8KLSAgLSAtLXN5c3RlbS10YWxrLW5hbWU9b3JnLmZyZWVk
ZXNrdG9wLkdlb0NsdWUyCi0gIC0gLS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cwotICAt
IC0tZmlsZXN5c3RlbT1ob3N0Ci0gIC0gLS1zb2NrZXQ9c3lzdGVtLWJ1cwotICAtIC0tdGFsay1u
YW1lPW9yZy5mcmVlZGVza3RvcC5GbGF0cGFrCi0gIC0gLS1lbnY9R1NUX1BSRVNFVF9QQVRIPS9h
cHAvc2hhcmUvZ3N0cmVhbWVyLTEuMC9wcmVzZXRzLwotYnVpbGQtb3B0aW9uczoKLSAgY2ZsYWdz
OiAtTzIgLWcKLSAgY3h4ZmxhZ3M6IC1PMiAtZwotICBzdHJpcDogZmFsc2UKLSAgbm8tZGVidWdp
bmZvOiB0cnVlCi1tb2R1bGVzOgotICAtIG9yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sCi0g
ICMgUG9ydCBzcGVjaWZpYyBjb21wb25lbnRzLgotICAtICUoUE9SVE5BTUUpcy55YW1sCmRpZmYg
LS1naXQgYS9Ub29scy9mbGF0cGFrL3BhdGNoZXMvaHR0cGQtMDAwMS1jb25maWd1cmUtdXNlLXBr
Zy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoIGIvVG9vbHMvZmxhdHBhay9wYXRjaGVz
L2h0dHBkLTAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1QQ1JFLWRldGVjdGlvbi5w
YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDM2YTY5NGYyOTIzZDM1MWRiNmYz
ZjEzMzI3NjAyODNkYTc4ZjlkZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL3BhdGNoZXMvaHR0cGQtMDAwMS1jb25maWd1cmUtdXNl
LXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs
NTAgKzAsMCBAQAotRnJvbSBiNWViZTQwNGYxMzg4ZGRkYTM2MDNlNTMyNzdmODdlMGI5NmJhNjk1
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGhpYmF1bHQgU2F1bmllciA8dHNhdW5p
ZXJAaWdhbGlhLmNvbT4KLURhdGU6IE1vbiwgMTEgSnVuIDIwMTggMTY6MTQ6MzggLTA0MDAKLVN1
YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlOiB1c2UgcGtnLWNvbmZpZyBmb3IgUENSRSBkZXRlY3Rp
b24KLQotLS0tCi0gY29uZmlndXJlLmluIHwgMjcgKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci0gMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCi0KLWRp
ZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KLWluZGV4IDc2MWU4MzYuLmIx
NTVkNGIgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuaW4KLSsrKyBiL2NvbmZpZ3VyZS5pbgotQEAg
LTIxNSwyOCArMjE1LDExIEBAIGZpCi0gQUNfQVJHX1dJVEgocGNyZSwKLSBBUEFDSEVfSEVMUF9T
VFJJTkcoLS13aXRoLXBjcmU9UEFUSCxVc2UgZXh0ZXJuYWwgUENSRSBsaWJyYXJ5KSkKLSAKLS1B
Q19QQVRIX1BST0coUENSRV9DT05GSUcsIHBjcmUtY29uZmlnLCBmYWxzZSkKLS1pZiB0ZXN0IC1k
ICIkd2l0aF9wY3JlIiAmJiB0ZXN0IC14ICIkd2l0aF9wY3JlL2Jpbi9wY3JlLWNvbmZpZyI7IHRo
ZW4KLS0gICBQQ1JFX0NPTkZJRz0kd2l0aF9wY3JlL2Jpbi9wY3JlLWNvbmZpZwotLWVsaWYgdGVz
dCAteCAiJHdpdGhfcGNyZSI7IHRoZW4KLS0gICBQQ1JFX0NPTkZJRz0kd2l0aF9wY3JlCi0tZmkK
LS0KLS1pZiB0ZXN0ICIkUENSRV9DT05GSUciICE9ICJmYWxzZSI7IHRoZW4KLS0gIGlmICRQQ1JF
X0NPTkZJRyAtLXZlcnNpb24gPi9kZXYvbnVsbCAyPiYxOyB0aGVuIDo7IGVsc2UKLS0gICAgQUNf
TVNHX0VSUk9SKFtEaWQgbm90IGZpbmQgcGNyZS1jb25maWcgc2NyaXB0IGF0ICRQQ1JFX0NPTkZJ
R10pCi0tICBmaQotLSAgY2FzZSBgJFBDUkVfQ09ORklHIC0tdmVyc2lvbmAgaW4KLS0gIFtbMS01
XS4qXSkKLS0gICAgQUNfTVNHX0VSUk9SKFtOZWVkIGF0IGxlYXN0IHBjcmUgdmVyc2lvbiA2LjBd
KQotLSAgICA7OwotLSAgZXNhYwotLSAgQUNfTVNHX05PVElDRShbVXNpbmcgZXh0ZXJuYWwgUENS
RSBsaWJyYXJ5IGZyb20gJFBDUkVfQ09ORklHXSkKLS0gIEFQUl9BRERUTyhQQ1JFX0lOQ0xVREVT
LCBbYCRQQ1JFX0NPTkZJRyAtLWNmbGFnc2BdKQotLSAgQVBSX0FERFRPKFBDUkVfTElCUywgW2Ak
UENSRV9DT05GSUcgLS1saWJzYF0pCi0tZWxzZQotLSAgQUNfTVNHX0VSUk9SKFtwY3JlLWNvbmZp
ZyBmb3IgbGlicGNyZSBub3QgZm91bmQuIFBDUkUgaXMgcmVxdWlyZWQgYW5kIGF2YWlsYWJsZSBm
cm9tIGh0dHA6Ly9wY3JlLm9yZy9dKQotLWZpCi0rUEtHX0NIRUNLX01PRFVMRVMoW1BDUkVdLCBb
bGlicGNyZV0sIFsKLSsgIEFDX0RFRklORShbSEFWRV9QQ1JFXSwgWzFdLCBbRGVmaW5lIGlmIHlv
dSBoYXZlIFBDUkUgbGlicmFyeV0pCi0rXSwgWwotKyAgQUNfTVNHX0VSUk9SKFskUENSRV9QS0df
RVJST1JTXSkKLStdKQotIEFQQUNIRV9TVUJTVChQQ1JFX0xJQlMpCi0gCi0gQUNfTVNHX05PVElD
RShbXSkKLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy9s
aWJnY3J5cHQtMDAwMS1Vc2UtcGtnLWNvbmZpZy10by1kZXRlY3QtZ3BnLWVycm9yLnBhdGNoIGIv
VG9vbHMvZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWRl
dGVjdC1ncGctZXJyb3IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM1Nzcy
N2ZiYjhiMDhiOTE5NWE1YzA5N2Q2YzYxYjkwOGM2OTE3OWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlw
dC0wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWRldGVjdC1ncGctZXJyb3IucGF0Y2gKKysrIC9kZXYv
bnVsbApAQCAtMSwxMTAgKzAsMCBAQAotRnJvbSA5YWZmM2YxYjM0NGZjODY2NmIxNGM1NzYyOTE2
MmMyYjkwMDdjYWQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGhpYmF1bHQgU2F1
bmllciA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KLURhdGU6IEZyaSwgMjkgSnVuIDIwMTggMDk6MDU6
NTIgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gVXNlIHBrZy1jb25maWcgdG8gZGV0ZWN0IGdwZy1l
cnJvcgotCi0tLS0KLSBtNC9ncGctZXJyb3IubTQgfCA4OCArKysrKysrLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlv
bnMoKyksIDc2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbTQvZ3BnLWVycm9yLm00IGIv
bTQvZ3BnLWVycm9yLm00Ci1pbmRleCAxNjYxMjA0Yy4uNWY5ZjMzYzIgMTAwNjQ0Ci0tLS0gYS9t
NC9ncGctZXJyb3IubTQKLSsrKyBiL200L2dwZy1lcnJvci5tNAotQEAgLTQxLDgxICs0MSwxNyBA
QCBBQ19ERUZVTihbQU1fUEFUSF9HUEdfRVJST1JdLAotICAgQUNfQVJHX1dJVEgoZ3BnLWVycm9y
LXByZWZpeCwsCi0gICAgICAgICAgICAgICBbZ3BnX2Vycm9yX2NvbmZpZ19wcmVmaXg9IiR3aXRo
dmFsIl0pCi0gCi0tICBpZiB0ZXN0IHgiJHtHUEdfRVJST1JfQ09ORklHfSIgPSB4IDsgdGhlbgot
LSAgICAgaWYgdGVzdCB4IiR7Z3BnX2Vycm9yX2NvbmZpZ19wcmVmaXh9IiAhPSB4IDsgdGhlbgot
LSAgICAgICAgR1BHX0VSUk9SX0NPTkZJRz0iJHtncGdfZXJyb3JfY29uZmlnX3ByZWZpeH0vYmlu
L2dwZy1lcnJvci1jb25maWciCi0tICAgICBlbHNlCi0tICAgICAgIGNhc2UgIiR7U1lTUk9PVH0i
IGluCi0tICAgICAgICAgLyopCi0tICAgICAgICAgICBpZiB0ZXN0IC14ICIke1NZU1JPT1R9L2Jp
bi9ncGctZXJyb3ItY29uZmlnIiA7IHRoZW4KLS0gICAgICAgICAgICAgR1BHX0VSUk9SX0NPTkZJ
Rz0iJHtTWVNST09UfS9iaW4vZ3BnLWVycm9yLWNvbmZpZyIKLS0gICAgICAgICAgIGZpCi0tICAg
ICAgICAgICA7OwotLSAgICAgICAgICcnKQotLSAgICAgICAgICAgOzsKLS0gICAgICAgICAgKikK
LS0gICAgICAgICAgIEFDX01TR19XQVJOKFtJZ25vcmluZyBcJFNZU1JPT1QgYXMgaXQgaXMgbm90
IGFuIGFic29sdXRlIHBhdGguXSkKLS0gICAgICAgICAgIDs7Ci0tICAgICAgIGVzYWMKLS0gICAg
IGZpCi0tICBmaQotKyAgUEtHX0NIRUNLX01PRFVMRVMoW0dQR19FUlJPUl0sIFtncGctZXJyb3Jd
LCBbCi0rICAgIEFDX0RFRklORShbSEFWRV9HUEdfRVJST1JdLCBbMV0sIFtEZWZpbmUgaWYgeW91
IGhhdmUgZ3BnLWVycm9yIGxpYnJhcnldKQotIAotLSAgQUNfUEFUSF9QUk9HKEdQR19FUlJPUl9D
T05GSUcsIGdwZy1lcnJvci1jb25maWcsIG5vKQotLSAgbWluX2dwZ19lcnJvcl92ZXJzaW9uPWlm
ZWxzZShbJDFdLCAsMC4wLCQxKQotLSAgQUNfTVNHX0NIRUNLSU5HKGZvciBHUEcgRXJyb3IgLSB2
ZXJzaW9uID49ICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb24pCi0tICBvaz1ubwotLSAgaWYgdGVzdCAi
JEdQR19FUlJPUl9DT05GSUciICE9ICJubyIgXAotLSAgICAgJiYgdGVzdCAtZiAiJEdQR19FUlJP
Ul9DT05GSUciIDsgdGhlbgotLSAgICByZXFfbWFqb3I9YGVjaG8gJG1pbl9ncGdfZXJyb3JfdmVy
c2lvbiB8IFwKLS0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0q
XCkvXDEvJ2AKLS0gICAgcmVxX21pbm9yPWBlY2hvICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb24gfCBc
Ci0tICAgICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwuXChbWzAtOV1dKlwpL1wyLydg
Ci0tICAgIGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbj1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19l
cnJvcl9jb25maWdfYXJncyAtLXZlcnNpb25gCi0tICAgIG1ham9yPWBlY2hvICRncGdfZXJyb3Jf
Y29uZmlnX3ZlcnNpb24gfCBcCi0tICAgICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwu
XChbWzAtOV1dKlwpLiovXDEvJ2AKLS0gICAgbWlub3I9YGVjaG8gJGdwZ19lcnJvcl9jb25maWdf
dmVyc2lvbiB8IFwKLS0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05
XV0qXCkuKi9cMi8nYAotLSAgICBpZiB0ZXN0ICIkbWFqb3IiIC1ndCAiJHJlcV9tYWpvciI7IHRo
ZW4KLS0gICAgICAgIG9rPXllcwotLSAgICBlbHNlCi0tICAgICAgICBpZiB0ZXN0ICIkbWFqb3Ii
IC1lcSAiJHJlcV9tYWpvciI7IHRoZW4KLS0gICAgICAgICAgICBpZiB0ZXN0ICIkbWlub3IiIC1n
ZSAiJHJlcV9taW5vciI7IHRoZW4KLS0gICAgICAgICAgICAgICBvaz15ZXMKLS0gICAgICAgICAg
ICBmaQotLSAgICAgICAgZmkKLS0gICAgZmkKLS0gIGZpCi0tICBpZiB0ZXN0ICRvayA9IHllczsg
dGhlbgotLSAgICBHUEdfRVJST1JfQ0ZMQUdTPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9y
X2NvbmZpZ19hcmdzIC0tY2ZsYWdzYAotLSAgICBHUEdfRVJST1JfTElCUz1gJEdQR19FUlJPUl9D
T05GSUcgJGdwZ19lcnJvcl9jb25maWdfYXJncyAtLWxpYnNgCi0tICAgIEdQR19FUlJPUl9NVF9D
RkxBR1M9YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1tdCAtLWNm
bGFncyAyPi9kZXYvbnVsbGAKLS0gICAgR1BHX0VSUk9SX01UX0xJQlM9YCRHUEdfRVJST1JfQ09O
RklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1tdCAtLWxpYnMgMj4vZGV2L251bGxgCi0tICAg
IEFDX01TR19SRVNVTFQoW3llcyAoJGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbildKQotLSAgICBp
ZmVsc2UoWyQyXSwgLCA6LCBbJDJdKQotLSAgICBncGdfZXJyb3JfY29uZmlnX2hvc3Q9YCRHUEdf
RVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1ob3N0IDI+L2Rldi9udWxsIHx8
IGVjaG8gbm9uZWAKLS0gICAgaWYgdGVzdCB4IiRncGdfZXJyb3JfY29uZmlnX2hvc3QiICE9IHhu
b25lIDsgdGhlbgotLSAgICAgIGlmIHRlc3QgeCIkZ3BnX2Vycm9yX2NvbmZpZ19ob3N0IiAhPSB4
IiRob3N0IiA7IHRoZW4KLS0gIEFDX01TR19XQVJOKFtbCi0tKioqCi0tKioqIFRoZSBjb25maWcg
c2NyaXB0ICRHUEdfRVJST1JfQ09ORklHIHdhcwotLSoqKiBidWlsdCBmb3IgJGdwZ19lcnJvcl9j
b25maWdfaG9zdCBhbmQgdGh1cyBtYXkgbm90IG1hdGNoIHRoZQotLSoqKiB1c2VkIGhvc3QgJGhv
c3QuCi0tKioqIFlvdSBtYXkgd2FudCB0byB1c2UgdGhlIGNvbmZpZ3VyZSBvcHRpb24gLS13aXRo
LWdwZy1lcnJvci1wcmVmaXgKLS0qKiogdG8gc3BlY2lmeSBhIG1hdGNoaW5nIGNvbmZpZyBzY3Jp
cHQgb3IgdXNlIFwkU1lTUk9PVC4KLS0qKipdXSkKLS0gICAgICAgIGdwZ19jb25maWdfc2NyaXB0
X3dhcm49IiRncGdfY29uZmlnX3NjcmlwdF93YXJuIGxpYmdwZy1lcnJvciIKLS0gICAgICBmaQot
LSAgICBmaQotLSAgZWxzZQotLSAgICBHUEdfRVJST1JfQ0ZMQUdTPSIiCi0tICAgIEdQR19FUlJP
Ul9MSUJTPSIiCi0tICAgIEdQR19FUlJPUl9NVF9DRkxBR1M9IiIKLS0gICAgR1BHX0VSUk9SX01U
X0xJQlM9IiIKLS0gICAgQUNfTVNHX1JFU1VMVChubykKLS0gICAgaWZlbHNlKFskM10sICwgOiwg
WyQzXSkKLS0gIGZpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfQ0ZMQUdTKQotLSAgQUNfU1VCU1Qo
R1BHX0VSUk9SX0xJQlMpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfTVRfQ0ZMQUdTKQotLSAgQUNf
U1VCU1QoR1BHX0VSUk9SX01UX0xJQlMpCi0rICAgIEdQR19FUlJPUl9NVF9DRkxBR1M9IiRHUEdf
RVJST1JfQ0ZMQUdTIgotKyAgICBHUEdfRVJST1JfTVRfTElCUz0iLWxwdGhyZWFkICRHUEdfRVJS
T1JfTElCUyIKLSsKLSsgICAgQUNfU1VCU1QoR1BHX0VSUk9SX0NGTEFHUykKLSsgICAgQUNfU1VC
U1QoR1BHX0VSUk9SX0xJQlMpCi0rICAgIEFDX1NVQlNUKEdQR19FUlJPUl9NVF9DRkxBR1MpCi0r
ICAgIEFDX1NVQlNUKEdQR19FUlJPUl9NVF9MSUJTKQotKyAgXSwgWwotKyAgICBBQ19NU0dfRVJS
T1IoWyRHUEdfRVJST1JfRVJST1JTXSkKLSsgIF0pCi0gXSkKLS0tIAotMi4xOC4wCi0KZGlmZiAt
LWdpdCBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEtSEFDSy1Bdm9pZC1jb21waWxp
bmctYS1rYm0tZmlsZS5wYXRjaCBiL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEtSEFD
Sy1Bdm9pZC1jb21waWxpbmctYS1rYm0tZmlsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggODk4ODQyYjM4MWQyNTE0MGZiYzA4ZjU0YTk3MjMwYTZkYmU0YTQ1MC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL3Bh
dGNoZXMveHZmYi0wMDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEta2JtLWZpbGUucGF0Y2gKKysr
IC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1Gcm9tIGFlZDFiNmU4ZGU0MTM3NWMxYjhiMWRm
YzQ4YTM1MGUwYTliOWNiYmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUaGliYXVs
dCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotRGF0ZTogTW9uLCAxMSBKdW4gMjAxOCAx
MDo1NTo0MyAtMDQwMAotU3ViamVjdDogW1BBVENIIHhzZXJ2ZXJdIEhBQ0s6IEF2b2lkIGNvbXBp
bGluZyBhIGtibSBmaWxlCi0KLVRoaXMgd291bGQgbmVlZCB0byBiZSBpbiAvdXNyL3NoYXJlL1gx
MS8gYXMgdGhpcyBpcyB3aGVyZQotcmVzb3VyY2UgZmlsZXMgYXJlIGluIHRoZSBzYW5kYm94IGJ1
dCBpdCBpcyByZWFkIG9ubHkgaW4gdGhlcmUuCi0KLUhhY2sgYXJvdW5kIHRoYXQuCi0tLS0KLSB4
a2IvZGR4TG9hZC5jIHwgOSArLS0tLS0tLS0KLSB4a2IveGtiSW5pdC5jIHwgMiArLQotIDIgZmls
ZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0
IGEveGtiL2RkeExvYWQuYyBiL3hrYi9kZHhMb2FkLmMKLWluZGV4IGJiZTM5NTIuLmE0YTAzYTEg
MTAwNjQ0Ci0tLS0gYS94a2IvZGR4TG9hZC5jCi0rKysgYi94a2IvZGR4TG9hZC5jCi1AQCAtMTQ4
LDE0ICsxNDgsNyBAQCBSdW5Ya2JDb21wKHhrYmNvbXBfYnVmZmVyX2NhbGxiYWNrIGNhbGxiYWNr
LCB2b2lkICp1c2VyZGF0YSkKLSAgICAgICAgIH0KLSAgICAgfQotIAotLSAgICBpZiAoYXNwcmlu
dGYoJmJ1ZiwKLS0gICAgICAgICAgICAgICAgICJcIiVzJXN4a2Jjb21wXCIgLXcgJWQgJXMgLXhr
bSBcIiVzXCIgIgotLSAgICAgICAgICAgICAgICAgIi1lbTEgJXMgLWVtcCAlcyAtZW1sICVzIFwi
JXMlcy54a21cIiIsCi0tICAgICAgICAgICAgICAgICB4a2JiaW5kaXIsIHhrYmJpbmRpcnNlcCwK
LS0gICAgICAgICAgICAgICAgICgoeGtiRGVidWdGbGFncyA8IDIpID8gMSA6Ci0tICAgICAgICAg
ICAgICAgICAgKCh4a2JEZWJ1Z0ZsYWdzID4gMTApID8gMTAgOiAoaW50KSB4a2JEZWJ1Z0ZsYWdz
KSksCi0tICAgICAgICAgICAgICAgICB4a2JiYXNlZGlyZmxhZyA/IHhrYmJhc2VkaXJmbGFnIDog
IiIsIHhrbWZpbGUsCi0tICAgICAgICAgICAgICAgICBQUkVfRVJST1JfTVNHLCBFUlJPUl9QUkVG
SVgsIFBPU1RfRVJST1JfTVNHMSwKLSsgICAgaWYgKGFzcHJpbnRmKCZidWYsICJjcCAvYXBwL3dl
YmtpdC9Ub29scy9mbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttIFwiJXMlcy54a21cIiIsCi0gICAg
ICAgICAgICAgICAgICB4a21fb3V0cHV0X2Rpciwga2V5bWFwKSA9PSAtMSkKLSAgICAgICAgIGJ1
ZiA9IE5VTEw7Ci0gCi1kaWZmIC0tZ2l0IGEveGtiL3hrYkluaXQuYyBiL3hrYi94a2JJbml0LmMK
LWluZGV4IDljNzcyZjUuLjRlMGI3NzQgMTAwNjQ0Ci0tLS0gYS94a2IveGtiSW5pdC5jCi0rKysg
Yi94a2IveGtiSW5pdC5jCi1AQCAtODcsNyArODcsNyBAQCB0eXBlZGVmIHN0cnVjdCBfU3J2WGtt
SW5mbyB7Ci0gI2RlZmluZQlYS0JfREZMVF9SVUxFU19QUk9QCVRSVUUKLSAjZW5kaWYKLSAKLS1j
b25zdCBjaGFyICpYa2JCYXNlRGlyZWN0b3J5ID0gWEtCX0JBU0VfRElSRUNUT1JZOwotK2NvbnN0
IGNoYXIgKlhrYkJhc2VEaXJlY3RvcnkgPSAiL3Vzci9zaGFyZS9YMTEveGtiLyI7Ci0gY29uc3Qg
Y2hhciAqWGtiQmluRGlyZWN0b3J5ID0gWEtCX0JJTl9ESVJFQ1RPUlk7Ci0gc3RhdGljIGludCBY
a2JXYW50QWNjZXNzWCA9IDA7Ci0gCi0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9Ub29scy9n
dGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMgYi9Ub29scy9ndGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMK
aW5kZXggNmZkNTY2ZjBkY2YzYzUxNDJmNjkwZmUyYjM5M2E2ZTAzZTc5ZTNhMy4uNjNiOTY3NWZj
MDkxOGNlYTBkMGQ2ZGYxYTc5MTRlMzVjYzgxM2RkNiAxMDA3NTUKLS0tIGEvVG9vbHMvZ3RrL2lu
c3RhbGwtZGVwZW5kZW5jaWVzCisrKyBiL1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVuZGVuY2llcwpA
QCAtMTc4LDYgKzE3OCwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aEFwdCB7
CiAgICAgICAgIHdlc3RvbiBcCiAgICAgICAgIHh2ZmIiCiAKKyAgICAjIFRoZXNlIGFyZSBkZXBl
bmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAg
ICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAgICAgICAgZmxhdHBhayIKKwogICAgICMgVGhlc2Ug
YXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAg
IHBhY2thZ2VzPSIkcGFja2FnZXMgXAogICAgICAgICBiaXNvbiBcCkBAIC0zNDgsNiArMzUyLDEw
IEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoUGFjbWFuIHsKICAgICAgICAgd2Vz
dG9uIFwKICAgICAgICAgeG9yZy1zZXJ2ZXIteHZmYiIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVu
ZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAg
IHBhY2thZ2VzPSIkcGFja2FnZXMgXAorICAgICAgICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBh
cmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAg
IyBOb3RlOiBDb3VsZCBub3QgZmluZCBsaWJlZ2wtbWVzYQogICAgIHBhY2thZ2VzPSIkcGFja2Fn
ZXMgXApAQCAtNTIyLDYgKzUzMCwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0
aERuZiB7CiAgICAgICAgIHdlc3Rvbi1kZXZlbCBcCiAgICAgICAgIHhvcmcteDExLXNlcnZlci1Y
dmZiIgogCisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRp
bmcgd2l0aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCisgICAg
ICAgIGZsYXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZv
ciBidWlsZGluZyB0aGUgamhidWlsZC4KICAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKICAgICAg
ICAgYmlzb24gXApkaWZmIC0tZ2l0IGEvVG9vbHMvd3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzIGIv
VG9vbHMvd3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzCmluZGV4IGNhMWNkM2ZkZWYwY2FmNjQ2Njgy
M2U1YThlZDkyYjQ0N2M0OTBhYTEuLmYyYTVmMjVkZWQ4MzdhOWU5MzUyNTU0YjZkMmYyYWUxZjM1
MDYyNGQgMTAwNzU1Ci0tLSBhL1Rvb2xzL3dwZS9pbnN0YWxsLWRlcGVuZGVuY2llcworKysgYi9U
b29scy93cGUvaW5zdGFsbC1kZXBlbmRlbmNpZXMKQEAgLTExMSw2ICsxMTEsMTAgQEAgZnVuY3Rp
b24gaW5zdGFsbERlcGVuZGVuY2llc1dpdGhBcHQgewogICAgICAgICBydWJ5LWhpZ2hsaW5lIFwK
ICAgICAgICAgcnVieS1qc29uIgogCisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vz
c2FyeSBmb3IgYnVpbGRpbmcgd2l0aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRw
YWNrYWdlcyBcCisgICAgICAgIGZsYXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNp
ZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB0aGUgamhidWlsZC4KICAgICBwYWNrYWdlcz0iJHBh
Y2thZ2VzIFwKICAgICAgICAgZ2l0IFwKQEAgLTIxNCw2ICsyMTgsMTAgQEAgZnVuY3Rpb24gaW5z
dGFsbERlcGVuZGVuY2llc1dpdGhQYWNtYW4gewogICAgICAgICBydWJ5IFwKICAgICAgICAgdHRm
LWxpYmVyYXRpb24iCiAKKyAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZv
ciBidWlsZGluZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAgICBwYWNrYWdlcz0iJHBhY2thZ2Vz
IFwKKyAgICAgICAgZmxhdHBhayIKKwogICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNl
c3NhcnkgZm9yIGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAgIHBhY2thZ2VzPSIkcGFja2FnZXMg
XAogICAgICAgICBleHBhdCBcCkBAIC0zMjYsNiArMzM0LDEwIEBAIGZ1bmN0aW9uIGluc3RhbGxE
ZXBlbmRlbmNpZXNXaXRoRG5mIHsKICAgICAgICAgcnVieWdlbS1oaWdobGluZSBcCiAgICAgICAg
IHJ1YnlnZW0tanNvbiIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3Nhcnkg
Zm9yIGJ1aWxkaW5nIHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2Fn
ZXMgXAorICAgICAgICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5l
Y2Vzc2FyeSBmb3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdl
cyBcCiAgICAgICAgIGV4cGF0LWRldmVsIFwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1NjAwMDUyNWVhOTJlY2U4OGY3OWI2
ZDUzMDcyNTY5MmE3MTVhM2Q4Li44ZjIyZDQ1ODEyZDA1ZGZmM2ExMjQ4ZjBiMzAzMTlmODk0Yzg2
NmNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDItMDQgIFBoaWxpcHBlIE5vcm1hbmQg
IDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0gTWlncmF0ZSB0byBG
bGF0cGFrLWJhc2VkIGRldiBTREsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwNTY1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogaHR0cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZjogQWRqdXN0IHBhdGhz
LgorCiAyMDIwLTAyLTI1ICBEaWVnbyBQaW5vIEdhcmNpYSAgPGRwaW5vQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0dUS10gVXBkYXRlIFRlc3RFeHBlY3RhdGlvbnMKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvY29uZi9mbGF0cGFrLWh0dHBkLmNvbmYgYi9MYXlvdXRUZXN0cy9odHRwL2Nv
bmYvZmxhdHBhay1odHRwZC5jb25mCmluZGV4IDNjMDNlNDIzOWMyNDk4OWQ5Y2Q3OTY4NjE0NGJj
N2NlMmIzMGMzMWIuLmJmNTIxNWQ1ODlhZDYxZjg4MmQ1M2EwNjc1YWQ2N2E0NDZhYjk0M2YgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvY29uZi9mbGF0cGFrLWh0dHBkLmNvbmYKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZgpAQCAtMSw1ICsxLDUgQEAK
IFNlcnZlclRva2VucyBPUwotU2VydmVyUm9vdCAiL2FwcC8iCitTZXJ2ZXJSb290ICIvdXNyLyIK
IAogUGlkRmlsZSAiL3RtcC9XZWJLaXQvaHR0cGQucGlkIgogU2NvcmVCb2FyZEZpbGUgIi90bXAv
V2ViS2l0L2h0dHBkLnNjb3JlYm9hcmQiCkBAIC0zMyw5ICszMyw3IEBAIExvYWRNb2R1bGUgbG9n
X2NvbmZpZ19tb2R1bGUgICAgbW9kdWxlcy9tb2RfbG9nX2NvbmZpZy5zbwogTG9hZE1vZHVsZSBz
c2xfbW9kdWxlICAgICAgICAgICBtb2R1bGVzL21vZF9zc2wuc28KIExvYWRNb2R1bGUgcGhwN19t
b2R1bGUgICAgICAgICAgbW9kdWxlcy9saWJwaHA3LnNvCiBMb2FkTW9kdWxlIGFzaXNfbW9kdWxl
ICAgICAgICAgIG1vZHVsZXMvbW9kX2FzaXMuc28KLUxvYWRNb2R1bGUgZW52X21vZHVsZSAgICAg
ICAgICAgbW9kdWxlcy9tb2RfZW52LnNvCiAKLVNldEVudiBQRVJMNUxJQiAvYXBwL2xpYi9wZXJs
CiAKIFNlcnZlck5hbWUgMTI3LjAuMC4xCiAKQEAgLTU0LDcgKzUyLDcgQEAgQWNjZXNzRmlsZU5h
bWUgLmh0YWNjZXNzCiBVc2VDYW5vbmljYWxOYW1lIE9uCiBIb3N0bmFtZUxvb2t1cHMgT2ZmCiAK
LVR5cGVzQ29uZmlnIC9ldGMvbWltZS50eXBlcworVHlwZXNDb25maWcgL3Vzci9jb25mL21pbWUu
dHlwZXMKIAogTG9nTGV2ZWwgd2FybgogTG9nRm9ybWF0ICIlaCAlbCAldSAldCBcIiVyXCIgJT5z
ICViIFwiJXtSZWZlcmVyfWlcIiBcIiV7VXNlci1BZ2VudH1pXCIiIGNvbWJpbmVkCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392288</attachid>
            <date>2020-03-03 09:52:23 -0800</date>
            <delta_ts>2020-03-10 08:34:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205658-20200303175221.patch</filename>
            <type>text/plain</type>
            <size>130138</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2MxZjliYjY5NjJiOWE2
MTc5MGI0Y2ZlMGZmMjkzNmZmOTAwOTg5NC4uNGRhZDNkMGJmYWEwNDFiYzg3ZWI0ZmFlYmI4Yzc3
YTc1MzI0OGVmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAyLTA0ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVd
IE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0
aW9uTGliSHlwaGVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNjYW5UZXN0RGljdGlvbmFyaWVz
RGlyZWN0b3J5SWZOZWNlc3NhcnkpOiBDaGVjayBmb3IgZmxhdHBhay1pbnN0YWxsZWQgZGljdGlv
bmFyaWVzLgorCiAyMDIwLTAzLTAzICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBw
bGUuY29tPgogCiAgICAgICAgIENoZWNrIGZvciBuYXZpZ2F0aW9uIHRvIGFwcC1ib3VuZCBkb21h
aW4gZHVyaW5nIHNjcmlwdCBldmFsdWF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L2h5cGhlbi9IeXBoZW5hdGlvbkxpYkh5cGhlbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L2h5cGhlbi9IeXBoZW5hdGlvbkxpYkh5cGhlbi5jcHAKaW5kZXgg
MTJiYWE0YzRkM2U5ZTYzZjdmZjgxYzVlMmIxMTk0YjhiYjhhOWMwNS4uZjMzNTlkODA3MDIyZjU0
ODljNjhmOWFjZjgxNmE2NzA0MmE1M2Q2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9oeXBoZW4vSHlwaGVuYXRpb25MaWJIeXBoZW4uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0aW9uTGliSHlwaGVuLmNwcApAQCAt
MTIxLDggKzEyMSwxNSBAQCBzdGF0aWMgdm9pZCBzY2FuVGVzdERpY3Rpb25hcmllc0RpcmVjdG9y
eUlmTmVjZXNzYXJ5KEhhc2hNYXA8QXRvbVN0cmluZywgVmVjdG9yPAogICAgIC8vIGxpYmh5cGhl
biBkb2Vzbid0IGhhdmUgdGhlIGNvbmNlcHQgb2YgaW5zdGFsbGVkIGRpY3Rpb25hcmllcy4gSW5z
dGVhZCwKICAgICAvLyB3ZSBoYXZlIHRoaXMgc3BlY2lhbCBjYXNlIGZvciBXZWJLaXQgdGVzdHMu
CiAjaWYgUExBVEZPUk0oR1RLKQorICAgIC8vIFRyeSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJpZXMg
cGF0aCBmb3IgcGVvcGxlIHVzaW5nIEZsYXRwYWsuCisgICAgR1VuaXF1ZVB0cjxjaGFyPiBkaWN0
aW9uYXJpZXNQYXRoKGdfYnVpbGRfZmlsZW5hbWUoIi91c3IiLCAic2hhcmUiLCAid2Via2l0Z3Rr
LXRlc3QtZGljdHMiLCBudWxscHRyKSk7CisgICAgaWYgKGdfZ2V0ZW52KCJGTEFUUEFLX0lEIikg
JiYgZ19maWxlX3Rlc3QoZGljdGlvbmFyaWVzUGF0aC5nZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVU
ZXN0PihHX0ZJTEVfVEVTVF9JU19ESVIpKSkgeworICAgICAgICBzY2FuRGlyZWN0b3J5Rm9yRGlj
dGlvbmFyaWVzKGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIGF2YWlsYWJsZUxvY2FsZXMpOworICAg
ICAgICByZXR1cm47CisgICAgfQorCiAgICAgQ1N0cmluZyBidWlsZERpcmVjdG9yeSA9IHdlYmtp
dEJ1aWxkRGlyZWN0b3J5KCk7Ci0gICAgR1VuaXF1ZVB0cjxjaGFyPiBkaWN0aW9uYXJpZXNQYXRo
KGdfYnVpbGRfZmlsZW5hbWUoYnVpbGREaXJlY3RvcnkuZGF0YSgpLCAiRGVwZW5kZW5jaWVzR1RL
IiwgIlJvb3QiLCAid2Via2l0Z3RrLXRlc3QtZGljdHMiLCBudWxscHRyKSk7CisgICAgZGljdGlv
bmFyaWVzUGF0aC5yZXNldChnX2J1aWxkX2ZpbGVuYW1lKGJ1aWxkRGlyZWN0b3J5LmRhdGEoKSwg
IkRlcGVuZGVuY2llc0dUSyIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWRpY3RzIiwgbnVsbHB0
cikpOwogICAgIGlmIChnX2ZpbGVfdGVzdChkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBzdGF0aWNf
Y2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNUX0lTX0RJUikpKSB7CiAgICAgICAgIHNjYW5EaXJl
Y3RvcnlGb3JEaWN0aW9uYXJpZXMoZGljdGlvbmFyaWVzUGF0aC5nZXQoKSwgYXZhaWxhYmxlTG9j
YWxlcyk7CiAgICAgICAgIHJldHVybjsKQEAgLTEzMCw3ICsxMzcsOSBAQCBzdGF0aWMgdm9pZCBz
Y2FuVGVzdERpY3Rpb25hcmllc0RpcmVjdG9yeUlmTmVjZXNzYXJ5KEhhc2hNYXA8QXRvbVN0cmlu
ZywgVmVjdG9yPAogCiAgICAgLy8gVHJ5IGFsdGVybmF0aXZlIGRpY3Rpb25hcmllcyBwYXRoIGZv
ciBwZW9wbGUgbm90IHVzaW5nIEpIQnVpbGQuCiAgICAgZGljdGlvbmFyaWVzUGF0aC5yZXNldChn
X2J1aWxkX2ZpbGVuYW1lKGJ1aWxkRGlyZWN0b3J5LmRhdGEoKSwgIndlYmtpdGd0ay10ZXN0LWRp
Y3RzIiwgbnVsbHB0cikpOwotICAgIHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJpZXMoZGljdGlv
bmFyaWVzUGF0aC5nZXQoKSwgYXZhaWxhYmxlTG9jYWxlcyk7CisgICAgaWYgKGdfZmlsZV90ZXN0
KGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RF
U1RfSVNfRElSKSkpCisgICAgICAgIHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9uYXJpZXMoZGljdGlv
bmFyaWVzUGF0aC5nZXQoKSwgYXZhaWxhYmxlTG9jYWxlcyk7CisKICNlbGlmIGRlZmluZWQoVEVT
VF9IWVBIRU5BVEFJT05fUEFUSCkKICAgICBzY2FuRGlyZWN0b3J5Rm9yRGljdGlvbmFyaWVzKFRF
U1RfSFlQSEVOQVRBSU9OX1BBVEgsIGF2YWlsYWJsZUxvY2FsZXMpOwogI2Vsc2UKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBmMTZkYTNhZTZlMTc5
NzBlZjdhMGFkYTE4ODYwNGVhMTZmYzkyNzA3Li5kNWYwNDE3NGU0ZWQ2ZDk5NGJiMzJkOWEzY2M0
MmJiMzQ2ZjRlZTZiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTE1IEBACisyMDIwLTAyLTA0ICBQaGlsaXBwZSBOb3JtYW5kICA8
cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIE1pZ3JhdGUgdG8gRmxh
dHBhay1iYXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBKSEJ1aWxkIHdpbGwgbm93IGJlIHVzZWQgb25seSBpZiB0aGUgV0VCS0lUX0pI
QlVJTEQgZW52aXJvbm1lbnQKKyAgICAgICAgdmFyaWFibGUgaXMgc2V0IHRvIDEsIHdoaWNoIGlz
IHRoZSBjYXNlIGZvciB0aGUgdGltZSBiZWluZyBvbiB0aGUKKyAgICAgICAgR1RLIGFuZCBXUEUg
RVdTL2J1aWxkIGJvdHMuCisKKyAgICAgICAgQnkgZGVmYXVsdCB0aGUgYnVpbGQgZGVwZW5kZW5j
aWVzIGFyZSBub3cgbG9jYWxseSBpbnN0YWxsZWQgZnJvbSBhCisgICAgICAgIEZsYXRwYWsgcmVw
b3NpdG9yeSBob3N0ZWQgYXQgaHR0cHM6Ly9zb2Z0d2FyZS5pZ2FsaWEuY29tLiBUaGUKKyAgICAg
ICAgcmVwb3NpdG9yeSBjYW4gYmUgcmVnZW5lcmF0ZWQgd2l0aCB0aGUgc2NyaXB0cyBmcm9tIHRo
ZQorICAgICAgICB3ZWJraXQtZmxhdHBhay1zZGsgR2l0aHViIHByb2plY3QKKyAgICAgICAgKGh0
dHBzOi8vZ2l0aHViLmNvbS9JZ2FsaWEvd2Via2l0LWZsYXRwYWstc2RrKS4gVGhpcyBpcyBkb25l
CisgICAgICAgIHRyYW5zcGFyZW50bHkgd2l0aCB0aGUgdXBkYXRlLXdlYmtpdHtndGssd3BlfS1s
aWJzIHNjcmlwdHMuIEFzCisgICAgICAgIHRoZXJlIGlzIG5vIG5lZWQgdG8gcmVidWlsZCB0aGUg
ZGVwZW5kZW5jaWVzIGZyb20gc2NyYXRjaCwgdGhlCisgICAgICAgIGRldmVsb3BlciB1c2VyLWV4
cGVyaWVuY2Ugc2hvdWxkIG5vdyBiZSBtdWNoIG1vcmUgZnJpZW5kbHkgYW5kCisgICAgICAgIG92
ZXJhbGwgYnVpbGQgdGltZXMgcmVkdWNlZC4KKworICAgICAgICBBcyBhbiBhZGRpdGlvbmFsIGNv
bW1vZGl0eSwgdGhlIG5ldyBlbnZpcm9ubWVudCBzdXBwb3J0cyB0aGUKKyAgICAgICAgR1N0cmVh
bWVyIGdzdC1idWlsZC1iYXNlZCB3b3JrZmxvdy4gSnVzdCBzZXQgdGhlIEdTVF9CVUlMRF9QQVRI
CisgICAgICAgIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHlvdXIgZ3N0LWJ1aWxkIHBhdGguIFRo
aXMgZmVhdHVyZSB3YXMKKyAgICAgICAgY29udHJpYnV0ZWQgYnkgVGhpYmF1bHQgU2F1bmllci4K
KworICAgICAgICBUaGUgSkhCdWlsZCBpbmZyYXN0cnVjdHVyZSB3aWxsIGJlIHJlbW92ZWQgb25j
ZSBhbGwgdGhlIGJvdHMgaGF2ZQorICAgICAgICBiZWVuIHN3aXRjaGVkIG92ZXIgdG8gRmxhdHBh
ay4KKworICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weToKKyAg
ICAgICAgKEluc3RhbGxHdGtEZXBlbmRlbmNpZXMpOgorICAgICAgICAoSW5zdGFsbFdwZURlcGVu
ZGVuY2llcyk6CisgICAgICAgIChDb21waWxlV2ViS2l0LnN0YXJ0KToKKyAgICAgICAgKiBCdWls
ZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvcnVuOgorICAgICAgICAqIFNjcmlwdHMvYnVpbGQt
d2Via2l0OgorICAgICAgICAqIFNjcmlwdHMvcnVuLWJpbmRpbmdzLXRlc3RzOgorICAgICAgICAq
IFNjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRvci10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRz
L3J1bi1ndGstdGVzdHM6CisgICAgICAgICogU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVz
dHM6CisgICAgICAgICogU2NyaXB0cy9ydW4tbWluaWJyb3dzZXI6CisgICAgICAgICogU2NyaXB0
cy9ydW4tcXQtd3BlLW1pbmlicm93c2VyOgorICAgICAgICAqIFNjcmlwdHMvcnVuLXdlYmRyaXZl
ci10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi13cGUtdGVzdHM6CisgICAgICAgICogU2Ny
aXB0cy90ZXN0LXdlYmtpdHBlcmw6CisgICAgICAgICogU2NyaXB0cy90ZXN0LXdlYmtpdHB5Ogor
ICAgICAgICAqIFNjcmlwdHMvdGVzdDI2Mi1ydW5uZXI6CisgICAgICAgICogU2NyaXB0cy91cGRh
dGUtd2Via2l0LWZsYXRwYWs6IFJlbmFtZWQgZnJvbSBUb29scy9TY3JpcHRzL3VwZGF0ZS13ZWJr
aXRndGstZmxhdHBhay4KKyAgICAgICAgKiBTY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstbGliczoK
KyAgICAgICAgKiBTY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtZmxhdHBhazogUmVtb3ZlZC4KKyAg
ICAgICAgKiBTY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGliczoKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdGRpcnMucG06CisgICAgICAgIChnZXRVc2VyRmxhdHBha1BhdGgpOgorICAgICAgICAo
aW5GbGF0cGFrU2FuZGJveCk6CisgICAgICAgIChydW5JbkZsYXRwYWtJZkF2YWlsYWJsZSk6Cisg
ICAgICAgICh3cmFwcGVyUHJlZml4SWZOZWVkZWQpOgorICAgICAgICAoc2hvdWxkVXNlSmhidWls
ZCk6CisgICAgICAgIChzaG91bGRVc2VGbGF0cGFrKToKKyAgICAgICAgKHNob3VsZFJlbW92ZUNN
YWtlQ2FjaGUpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVj
dXRpdmUucHk6CisgICAgICAgIChFeGVjdXRpdmUua2lsbF9hbGwpOgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5OgorICAgICAgICAoUG9ydC5fcGF0aF90b19hcGFjaGUp
OgorICAgICAgICAoUG9ydC5fc2hvdWxkX3J1bl9hc19waXhlbF90ZXN0KToKKyAgICAgICAgKFBv
cnQuX2luX2ZsYXRwYWtfc2FuZGJveCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0
L2d0ay5weToKKyAgICAgICAgKEd0a1BvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKToKKyAg
ICAgICAgKEd0a1BvcnQuX2dldF9jcmFzaF9sb2cpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nLnB5OgorICAgICAgICAoR0RCQ3Jhc2hMb2dHZW5l
cmF0b3IpOgorICAgICAgICAoR0RCQ3Jhc2hMb2dHZW5lcmF0b3IuX19pbml0X18pOgorICAgICAg
ICAoR0RCQ3Jhc2hMb2dHZW5lcmF0b3IuZ2VuZXJhdGVfY3Jhc2hfbG9nKToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZ191bml0dGVzdC5weToKKyAg
ICAgICAgKEdEQkNyYXNoTG9nR2VuZXJhdG9yVGVzdC50ZXN0X2dlbmVyYXRlX2NyYXNoX2xvZyk6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3dwZS5weToKKyAgICAgICAgKFdQRVBv
cnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKToKKyAgICAgICAgKFdQRVBvcnQuX2dldF9jcmFz
aF9sb2cpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyLnB5Ogor
ICAgICAgICAoWHZmYkRyaXZlci5fc2V0dXBfZW52aXJvbl9mb3JfdGVzdCk6CisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0ay5jcHA6
CisgICAgICAgIChXVFI6OmdldEZvbnRzUGF0aCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250c1dQRS5jcHA6CisgICAgICAgIChXVFI6
OmdldEZvbnRzUGF0aCk6CisgICAgICAgICogZmxhdHBhay9maWxlcy9kZWZhdWx0LnhrbTogUmVt
b3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL2ZpbGVzL2h0dHBkLWF1dG9nZW4uc2g6IFJlbW92ZWQu
CisgICAgICAgICogZmxhdHBhay9mbGF0cGFrdXRpbHMucHk6CisgICAgICAgIChjaGVja19mbGF0
cGFrKToKKyAgICAgICAgKEZsYXRwYWtSZXBvcy51cGRhdGUpOgorICAgICAgICAoRmxhdHBha1Bh
Y2thZ2UuX19yZXByX18pOgorICAgICAgICAoRmxhdHBha1BhY2thZ2UuX19zdHJfXyk6CisgICAg
ICAgIChXZWJraXRGbGF0cGFrLmxvYWRfZnJvbV9hcmdzKToKKyAgICAgICAgKFdlYmtpdEZsYXRw
YWsuX19pbml0X18pOgorICAgICAgICAoV2Via2l0RmxhdHBhay5jbGVhbl9hcmdzKToKKyAgICAg
ICAgKFdlYmtpdEZsYXRwYWsuc2V0dXBfYnVpbGRkaXIpOgorICAgICAgICAoV2Via2l0RmxhdHBh
ayk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnNldHVwX2dzdGJ1aWxkKToKKyAgICAgICAgKFdl
YmtpdEZsYXRwYWsucnVuX2luX3NhbmRib3gpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5ydW4p
OgorICAgICAgICAoV2Via2l0RmxhdHBhay5oYXNfZW52aXJvbm1lbnQpOgorICAgICAgICAoV2Vi
a2l0RmxhdHBhay5zYXZlX2NvbmZpZyk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnNldHVwX2Rl
dl9lbnYpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5pbnN0YWxsX2FsbCk6CisgICAgICAgIChX
ZWJraXRGbGF0cGFrLnJ1bl9nZGIpOgorICAgICAgICAqIGZsYXRwYWsvb3JnLndlYmtpdC5Db21t
b25Nb2R1bGVzLnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9vcmcud2Via2l0LkdU
Sy55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsvb3JnLndlYmtpdC5XUEUueWFtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL29yZy53ZWJraXQuV1BFTW9kdWxlcy55YW1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsvb3JnLndlYmtpdC5XUEVRVC55YW1sOiBSZW1vdmVk
LgorICAgICAgICAqIGZsYXRwYWsvb3JnLndlYmtpdC5XZWJLaXQueWFtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmbGF0cGFrL3BhdGNoZXMvaHR0cGQtMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25m
aWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsv
cGF0Y2hlcy9saWJnY3J5cHQtMDAwMS1Vc2UtcGtnLWNvbmZpZy10by1kZXRlY3QtZ3BnLWVycm9y
LnBhdGNoOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEtSEFD
Sy1Bdm9pZC1jb21waWxpbmctYS1rYm0tZmlsZS5wYXRjaDogUmVtb3ZlZC4KKwogMjAyMC0wMy0w
MyAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBD
aGVjayBmb3IgbmF2aWdhdGlvbiB0byBhcHAtYm91bmQgZG9tYWluIGR1cmluZyBzY3JpcHQgZXZh
bHVhdGlvbgpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL1JFQURNRSBi
L1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9SRUFETUUKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGY5Zjg5Zjk4MjFhZWVhMjBlZGI3Y2VkYmNhYmZiNzdmMzgwYmQyYzMuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvQnVpbGRTbGF2
ZVN1cHBvcnQvZ3RrL1JFQURNRQorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSBSdW5uaW5nIGEgR1RL
KyBidWlsZCBzbGF2ZSB1bmRlciBkYWVtb250b29scwotPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotCi1UaGlzIGRpcmVjdG9yeSBjb250YWlucyBzZXZlcmFs
IHNjcmlwdHMgd2hpY2ggY2FuIGJlIHVzZWQgdG8gcnVuIGEgV2ViS2l0R1RLCi1idWlsZCBzbGF2
ZSB1bmRlciBkYWVtb250b29scyBbMV0uIFRoaXMgaXMgY29udmVuaWVudCBiZWNhdXNlIGRhZW1v
bnRvb2xzCi13aWxsIGF1dG9tYXRpY2FsbHkgcmVzdGFydCBzZXJ2aWNlcyB3aGVuIHRoZXkgZGll
LCBhbmQgdGhhdCBtZWFucyBsZXNzIGh1bWFuCi1pbnRlcnZlbnRpb24gaXMgbmVlZGVkLgotCi0K
LURlcGVuZGVuY2llcwotPT09PT09PT09PT09Ci0KLUluIG9yZGVyIHRvIHVzZSB0aGUgcHJvdmlk
ZWQgc2VydmljZSBjb250cm9sIGZpbGVzLCB5b3Ugd2lsbCBuZWVkIHRoZQotZm9sbG93aW5nOgot
Ci0qIFRoZSBHTlUgQmFzaCBzaGVsbCAodGhlIHNjcmlwdHMgY29udGFpbiBzb21lIGJhc2gtaXNt
cykKLQotKiBUaGUgZGFlbW9udG9vbHMgcGFja2FnZSAob3Igb25lIG9mIGl0cyBkcm9wLWluIHJl
cGxhY2VtZW50cywgbGlrZSBydW5pdAotICBvciBmcmVlZHQ7IGJ1dCBvbmx5IGRhZW1vbnRvb2xz
IGhhcyBiZWVuIHRlc3RlZCBzbyBmYXIpLgotCi1JbiBzaG9ydCwgaW4gYSBEZWJpYW4tYmFzZWQg
c3lzdGVtIHlvdSBjYW4gZW5zdXJlIHlvdSBoYXZlIHRoZSBuZWVkZWQgYml0cwotd2l0aCB0aGUg
Zm9sbG93aW5nIGNvbW1hbmQ6Ci0KLSAgYXB0LWdldCBpbnN0YWxsIGRhZW1vbnRvb2xzLXJ1bgot
Ci0KLVNldHVwCi09PT09PQotCi0xLiBGb2xsb3cgdGhlIGluc3RydWN0aW9ucyBhdCBodHRwOi8v
dHJhYy53ZWJraXQub3JnL3dpa2kvQnVpbGRCb3QKLQotMi4gSW5zdGFsbCB0aGUgZGVwZW5kZW5j
aWVzIG91dGxpbmVkIGFib3ZlLgotCi0zLiBDb3B5ICJkYWVtb250b29scy1idWlsZGJvdC5jb25m
IiB0byAiL2V0Yy9kYWVtb250b29scy1idWlsZGJvdC5jb25mIgotCi00LiBFZGl0IHRoZSBjb25m
aWd1cmF0aW9uIGZpbGUgdG8gc3VpdCB5b3VyIG5lZWRzLCB0aGUgY29tbWVudHMgc2hvdWxkCi0g
ICBiZSBzZWxmLWV4cGxhbmF0b3J5LgotCi01LiBEcm9wIHRoZSAiYnVpbGRib3QiIGFuZCAicHVs
c2VhdWRpbyIgZGlyZWN0b3JpZXMgdG8gdGhlIHNlcnZpY2UgY29udHJvbCBkaXJlY3Rvcnkgb2YK
LSAgIGRhZW1vbnRvb2xzOyBmb3IgRGViaWFuLWJhc2VkIHNldHVwcyB0aGF0IHdvdWxkIGJlICIv
ZXRjL3NlcnZpY2UiCi0KLQotUmVmZXJlbmNlcwotPT09PT09PT09PQotCi1bMV0gaHR0cDovL2Ny
LnlwLnRvL2RhZW1vbnRvb2xzLmh0bWwKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1
cHBvcnQvZ3RrL2J1aWxkYm90L2xvZy9ydW4gYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsv
YnVpbGRib3QvbG9nL3J1bgpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggZjZjNzQ0YzZk
ZGE0NWNiZTJiNWQwZmE4YzRmMjViYWI1MWY2YTRkZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRi
b3QvbG9nL3J1bgorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLSMhIC91c3IvYmluL2Vu
diBiYXNoCi0jCi0jIENvcHlyaWdodCAoQykgMjAxMCBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotIwotIyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0jIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotIyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAot
IyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQotIyBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotIyB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLQotOiAke0JVSUxEQk9U
X0NPTkZJRzo9L2V0Yy9kYWVtb250b29scy1idWlsZGJvdC5jb25mfQotCi0jIFJlYWQgY29uZmln
dXJhdGlvbiBmaWxlCi1bIC1yICIke0JVSUxEQk9UX0NPTkZJR30iIF0gJiYgLiAiJHtCVUlMREJP
VF9DT05GSUd9IgotCi06ICR7YnVpbGRib3RfdXNlcjo9JHtIT01FfX0KLTogJHtidWlsZGJvdF9s
b2dfcGF0aDo9L3Zhci9sb2cvYnVpbGRib3R9Ci0KLSMgRXhwYW5kIGFsbCAiZW52XyoiIGVudmly
b25tZW50IHZhcmlhYmxlcwotZm9yIHZhcm5hbWUgaW4gJHshZW52Xyp9IDsgZG8KLQlldmFsICJl
eHBvcnQgJHt2YXJuYW1lI2Vudl99PVwkeyR7dmFybmFtZX19IgotZG9uZQotCi1ta2RpciAtcCAi
JHtidWlsZGJvdF9sb2dfcGF0aH0iCi1jaG93biAiJHtidWlsZGJvdF91c2VyfSIgIiR7YnVpbGRi
b3RfbG9nX3BhdGh9IgotCi1leGVjIC91c3IvYmluL3NldHVpZGdpZCAiJHtidWlsZGJvdF91c2Vy
fSIgXAotICAgICAvdXNyL2Jpbi9tdWx0aWxvZyB0ICIke2J1aWxkYm90X2xvZ19wYXRofSIKLQpk
aWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L3J1biBiL1Rv
b2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWlsZGJvdC9ydW4KZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNzU1CmluZGV4IDE2NmMzODNlYThlNmMxMGZjYzA1ZWYwN2VkNGY0ODg5YmJiYjllYWEuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvQnVpbGRT
bGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L3J1bgorKysgL2Rldi9udWxsCkBAIC0xLDc3ICswLDAg
QEAKLSMhIC91c3IvYmluL2VudiBiYXNoCi0jCi0jIENvcHlyaWdodCAoQykgMjAxMCBJZ2FsaWEg
Uy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0jIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotIyB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQot
IyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYg
bm90LCB3cml0ZSB0bwotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG
cmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KLQotZXhlYyAyPiYxCi0KLTogJHtCVUlMREJPVF9DT05GSUc6PS9ldGMvZGFlbW9udG9vbHMt
YnVpbGRib3QuY29uZn0KLQotIyBSZWFkIGNvbmZpZ3VyYXRpb24gZmlsZQotWyAtciAiJHtCVUlM
REJPVF9DT05GSUd9IiBdICYmIC4gIiR7QlVJTERCT1RfQ09ORklHfSIKLQotIyBFeHBhbmQgYWxs
ICJlbnZfKiIgZW52aXJvbm1lbnQgdmFyaWFibGVzCi1mb3IgdmFybmFtZSBpbiAkeyFlbnZfKn0g
OyBkbwotCWV2YWwgImV4cG9ydCAke3Zhcm5hbWUjZW52X309XCR7JHt2YXJuYW1lfX0iCi1kb25l
Ci0KLQotaWYgISBbICIke2J1aWxkYm90X3BhdGh9IiBdIDsgdGhlbgotCWVjaG8gIk5vIFwke2J1
aWxkYm90X3BhdGh9IGRlZmluZWQhICh3aWxsIHNsZWVwIGZvciA1IG1pbnV0ZXMpIgotCXNsZWVw
IDMwMAotCWV4aXQgMTExCi1maQotCi0KLWlmICEgWyAiJHtXRUJLSVRfVEVTVEZPTlRTfSIgXSA7
IHRoZW4KLQllY2hvICJObyBcJHtXRUJLSVRfVEVTVEZPTlRTfSBlbnZpcm9ubWVudCB2YXJpYWJs
ZSEgKHdpbGwgc2xlZXAgZm9yIDUgbWludXRlcykiCi0Jc2xlZXAgMzAwCi0JZXhpdCAxMTEKLWZp
Ci0KLQotaWYgWyAiJHtjb3JlZHVtcF9vdXRwdXQ6PScnfSIgXSA7IHRoZW4KLQkjIEVuc3VyZSB0
aGF0IHRoZSBvdXRwdXQgZGlyZWN0b3J5IGV4aXN0cy4KLQlpZiBbWyAhIC1kICR7Y3Jhc2htb25f
b3V0cHV0fSBdXSA7IHRoZW4KLQkJbWtkaXIgLXAgIiR7Y3Jhc2htb25fb3V0cHV0fSIKLQlmaQot
Ci0JdWxpbWl0IC1jICIke2NyYXNobW9uX21heF9zaXplOj11bmxpbWl0ZWR9IgotZmkKLQotCi1p
ZiBbICIke2NjYWNoZV9wYXRofSIgXSA7IHRoZW4KLQlleHBvcnQgUEFUSD0iJHtjY2FjaGVfcGF0
aH06JHtQQVRIfSIKLWZpCi0KLTogJHtidWlsZGJvdF91c2VyOj0ke1VTRVJ9fQotCi1jZCAiJHti
dWlsZGJvdF9wYXRofSIKLWV4ZWMgL3Vzci9iaW4vZW52IC0gICAgICAgICAgXAotCQlURVJNPWR1
bWIgICAgICAgICAgICAgICAgIFwKLQkJVFo9UFNUOFBEVCAgICAgICAgICAgICAgICAgXAotCQlQ
QVRIPSIke1BBVEh9IiAgICAgICAgICAgICAgXAotCQlTSEVMTD0vYmluL2Jhc2ggICAgICAgICAg
ICAgIFwKLQkJTEFORz1lbl9VUy5VVEYtOCAgICAgICAgICAgICAgXAotCQlVU0VSPSIke2J1aWxk
Ym90X3VzZXJ9IiAgICAgICAgXAotCQlMT0dOQU1FPSIke2J1aWxkYm90X3VzZXJ9IiAgICAgIFwK
LQkJSE9NRT0iL2hvbWUvJHtidWlsZGJvdF91c2VyfSIgICAgXAotCQlESVNQTEFZPSIke3h2ZmJf
ZGlzcGxheTotJzoxMCd9IiAgXAotCQlNQUlMPSIvdmFyL21haWwvJHtidWlsZGJvdF91c2VyfSIg
IFwKLQkvdXNyL2Jpbi9zZXR1aWRnaWQgIiR7YnVpbGRib3RfdXNlcn0iIFwKLQkvdXNyL2Jpbi90
d2lzdGQgLW5veSBidWlsZGJvdC50YWMKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1
cHBvcnQvZ3RrL2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNvbmYgYi9Ub29scy9CdWlsZFNsYXZlU3Vw
cG9ydC9ndGsvZGFlbW9udG9vbHMtYnVpbGRib3QuY29uZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDZhZjI5ZjdiMDYyNjgyMTZjZTRhMWYxYWFlZThkNDYyMGQyNGRmZC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9CdWlsZFNsYXZl
U3VwcG9ydC9ndGsvZGFlbW9udG9vbHMtYnVpbGRib3QuY29uZgorKysgL2Rldi9udWxsCkBAIC0x
LDQ1ICswLDAgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDEwIElnYWxpYSBTLkwuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
Ci0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0j
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotCi0KLSMgUGF0aCB0
byB0aGUgQnVpbGRib3Qgc2xhdmUgZGlyZWN0b3J5Ci0jCi1idWlsZGJvdF9wYXRoPSIvaG9tZS9z
bGF2ZS93ZWJraXRndGsiCi0KLSMgVXNlciBhY2NvdW50IHVzZWQgdG8gcnVuIEJ1aWxkYm90Lgot
IwotYnVpbGRib3RfdXNlcj0ic2xhdmUiCi0KLSMgUGF0aCB0byBhIGRpcmVjdG9yeSB3aGVyZSB0
byBsb2cgQnVpbGRib3Qgb3V0cHV0Ci0jCi1idWlsZGJvdF9sb2dfcGF0aD0iL3Zhci9sb2cvYnVp
bGRib3QiCi0KLQotIyBJZiB5b3Ugd2FudCB0byB1c2UgY2NhY2hlLCBzZXQgYSBwYXRoIHRvIHdo
ZXJlIHN5bmxpbmtzIHdpdGggdG9vbAotIyBuYW1lcyBwb2ludGluZyB0byBjY2FjaGUgYXJlIGlu
c3RhbGxlZC4gSW4gRGViaWFuIHN5c3RlbXMgdGhpcwotIyB3b3VsZCBiZSAvdXNyL2xpYi9jY2Fj
aGUuIFNldCB0byBlbXB0eSB0byBkaXNhYmxlLgotIwotY2NhY2hlX3BhdGg9Ii91c3IvbGliL2Nj
YWNoZSIKLQotCi0jIEVudmlyb25tZW50IHZhcmlhYmxlcy4gUHJlZml4IHRoZW0gd2l0aCAiZW52
XyIuCi0jCi1lbnZfQ0ZMQUdTPSItcGlwZSIKLWVudl9DWFhGTEFHUz0iLXBpcGUiCi1lbnZfTERG
TEFHUz0iLW5vLWluc3RhbGwgLW5vLWZhc3QtaW5zdGFsbCIKLWVudl9XRUJLSVRfVEVTVEZPTlRT
PSIvaG9tZS8ke2J1aWxkYm90X3VzZXJ9L3Rlc3Rmb250cyIKLQpkaWZmIC0tZ2l0IGEvVG9vbHMv
QnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL3B1bHNlYXVkaW8vcnVuIGIvVG9vbHMvQnVpbGRTbGF2ZVN1
cHBvcnQvZ3RrL3B1bHNlYXVkaW8vcnVuCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA3
YzExN2FkOWQyMDczOThkODZmMDI3MzhlNTkzMTg5NTkxN2Q1Njc4Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0
ay9wdWxzZWF1ZGlvL3J1bgorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLSMhIC91c3Iv
YmluL2VudiBiYXNoCi0jCi0jIENvcHlyaWdodCAoQykgMjAxMCBJZ2FsaWEgUy5MLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotIwotIyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0jIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotIyB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotIyBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bwotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLQotZXhlYyAy
PiYxCi1leGVjIC91c3IvYmluL3B1bHNlYXVkaW8gLS1zeXN0ZW0gXAotCS0tZGlzYWxsb3ctZXhp
dCAtLWRpc2FsbG93LW1vZHVsZS1sb2FkaW5nIFwKLQktLWxvZy10YXJnZXQ9c3lzbG9nCi0KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0IGIvVG9vbHMvU2NyaXB0cy9idWls
ZC13ZWJraXQKaW5kZXggZmMwNjY0YTY1MDU1NDZmNDI4Yzc1MTRiOTY3NTExOWI3NWE2MjE0MC4u
MDk5ZDMzYTRiOWI5Y2RmNDMyY2QxMDI2ZWE2YWFlMGNiOTI1N2E3NyAxMDA3NTUKLS0tIGEvVG9v
bHMvU2NyaXB0cy9idWlsZC13ZWJraXQKKysrIGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQK
QEAgLTUzLDggKzUzLDggQEAgc2V0Q29uZmlndXJhdGlvbigpOwogCiBpZiAoc2hvdWxkVXNlRmxh
dHBhaygpKSB7CiAgICAgcHJpbnQgIkJ1aWxkaW5nIGZsYXRwYWsgYmFzZWQgZW52aXJvbm1lbnRc
biI7Ci0KLSAgICBydW5JbkZsYXRwYWsoIi9hcHAvd2Via2l0L1Rvb2xzL1NjcmlwdHMvYnVpbGQt
d2Via2l0Iik7CisgICAgbXkgQGNvbW1hbmQgPSAoRmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VE
aXIoKSwgIlRvb2xzIiwgIlNjcmlwdHMiLCAiYnVpbGQtd2Via2l0IikpOworICAgIHJ1bkluRmxh
dHBhayhAY29tbWFuZCk7CiB9CiAKIG15ICRvcmlnaW5hbFdvcmtpbmdEaXJlY3RvcnkgPSBnZXRj
d2QoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWJpbmRpbmdzLXRlc3RzIGIvVG9v
bHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMKaW5kZXggZjZlNDQ3NzI1MGY5ZTE5ZTM5NThl
ZmNiN2Q2ZTgxZTJhYzI4YzlhYi4uMGFjMGIzYTMxMDg4YTEyMmUwOTk4ZWE0OTU2NWJmMjM4Nzcz
OGE1MCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMKKysrIGIv
VG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMKQEAgLTMzLDYgKzMzLDExIEBAIGltcG9y
dCBvcwogaW1wb3J0IHN5cwogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtIGltcG9ydCBleGVj
dXRpdmUKIAordG9wX2xldmVsX2RpcmVjdG9yeSA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5q
b2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICcuLicsICcuLicpKQorc3lzLnBhdGguaW5z
ZXJ0KDAsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxfZGlyZWN0b3J5LCAnVG9vbHMnLCAnZmxhdHBh
aycpKQoraW1wb3J0IGZsYXRwYWt1dGlscworZmxhdHBha3V0aWxzLnJ1bl9pbl9zYW5kYm94X2lm
X2F2YWlsYWJsZShzeXMuYXJndikKKwogZGVmIG1haW4oYXJndik6CiAgICAgIiIiUnVucyBXZWJD
b3JlIGJpbmRpbmdzIGNvZGUgZ2VuZXJhdG9ycyBvbiB0ZXN0IElETCBmaWxlcyBhbmQgY29tcGFy
ZXMKICAgICB0aGUgcmVzdWx0cyB3aXRoIHJlZmVyZW5jZSBmaWxlcy4KZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRvci10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMv
cnVuLWJ1aWx0aW5zLWdlbmVyYXRvci10ZXN0cwppbmRleCAyMzk4Yzc4Y2ExMGVjNTk3NjI2NjEy
Yzg1NTUzYWJkMWE0ZTZmYmQ0Li5mYmIwODY0MjQxOTc0ZWE2MDM1ZGE4OGIzNjc5YmM0M2MwMmM3
ZTlkIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1idWlsdGlucy1nZW5lcmF0b3ItdGVz
dHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tYnVpbHRpbnMtZ2VuZXJhdG9yLXRlc3RzCkBAIC0y
NSw2ICsyNSwxMiBAQAogaW1wb3J0IHN5cwogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtIGlt
cG9ydCBleGVjdXRpdmUKIAoraW1wb3J0IG9zCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0
aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgJy4uJywg
Jy4uJykpCitzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3Rv
cnksICdUb29scycsICdmbGF0cGFrJykpCitpbXBvcnQgZmxhdHBha3V0aWxzCitmbGF0cGFrdXRp
bHMucnVuX2luX3NhbmRib3hfaWZfYXZhaWxhYmxlKHN5cy5hcmd2KQorCiBkZWYgbWFpbihhcmd2
KToKICAgICAiIiJSdW5zIHRoZSBKUyBidWlsdGlucyBjb2RlIGdlbmVyYXRvciBvbiB0ZXN0IGlu
cHV0IGZpbGVzIGFuZCBjb21wYXJlcwogICAgIHRoZSByZXN1bHRzIHdpdGggcmVmZXJlbmNlIGZp
bGVzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzIGIvVG9vbHMvU2Ny
aXB0cy9ydW4tZ3RrLXRlc3RzCmluZGV4IDQxYjA1ZTJkZjRiMWU2ZDhmZTM4ZWEzYzU0OWI1MzM1
ODRhNDI5N2UuLmQzOTc0OGY0YzNkOGZkZmNlZmYxYTIyOTlhZGE0MmM4N2U2NWFhZTUgMTAwNzU1
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWd0ay10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1
bi1ndGstdGVzdHMKQEAgLTEzMyw3ICsxMzMsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18i
OgogICAgIGlmIG5vdCBmbGF0cGFrdXRpbHMuaXNfc2FuZGJveGVkKCkgYW5kIG5vdCBqaGJ1aWxk
dXRpbHMuZW50ZXJfamhidWlsZF9lbnZpcm9ubWVudF9pZl9hdmFpbGFibGUoImd0ayIpOgogICAg
ICAgICBwcmludCAnKioqJwogICAgICAgICBwcmludCAnKioqIFdhcm5pbmc6IGpoYnVpbGQgZW52
aXJvbm1lbnQgbm90IHByZXNlbnQgYW5kIG5vdCBydW5uaW5nIGluIGZsYXRwYWsuJwotICAgICAg
ICBwcmludCAnKioqIFJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0
ay1mbGF0cGFrIGJlZm9yZSBidWlsZC13ZWJraXQgdG8gZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4n
CisgICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13ZWJraXRndGstbGlicyBvciB1cGRhdGUt
d2Via2l0LWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3Rp
bmcuLicKICAgICAgICAgcHJpbnQgJyoqKicKIAogICAgIG9wdGlvbl9wYXJzZXIgPSBvcHRwYXJz
ZS5PcHRpb25QYXJzZXIodXNhZ2U9J3VzYWdlOiAlcHJvZyBbb3B0aW9uc10gW3Rlc3QuLi5dJykK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzIGIvVG9v
bHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKaW5kZXggNTMxMTg1ZTA5NjYwMGRh
NDg0MmJmOTExYjk0N2JkMTRmNzczNjQwYS4uY2Y3OTE1ZTI1MmYxZTFjMGI2MzVhYzk2ODgzOWI5
NjMwYTliOWFkMCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUt
dGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKQEAgLTQ2
LDYgKzQ2LDEyIEBAIHVzZSBUZXh0OjpQYXJzZVdvcmRzOwogc2V0Q29uZmlndXJhdGlvbigpOwog
bXkgJGNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uKCk7CiAKK2lmIChzaG91bGRVc2VGbGF0
cGFrKCkpIHsKKyAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURp
cigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMiKSk7Cisg
ICAgcnVuSW5GbGF0cGFrKEBjb21tYW5kKTsKK30KKworCiAjIFRoZXNlIHZhcmlhYmxlcyBhcmUg
aW50ZW50aW9uYWxseSBsZWZ0IHVuZGVmaW5lZC4KIG15ICRyb290OwogbXkgJHNob3dIZWxwOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXIgYi9Ub29scy9TY3JpcHRz
L3J1bi1taW5pYnJvd3NlcgppbmRleCA0Y2Y2YmU0MDQ3YmZkNzZkNjgxMDlhYjI5YWE2OGE5MGRj
MDg2NmUxLi45MGNkM2ZhZjQzMWFlYjkyOGRmZDZkZGZkNmVkNmQyM2QyZjIxY2NjIDEwMDc1NQot
LS0gYS9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlcgorKysgYi9Ub29scy9TY3JpcHRzL3J1
bi1taW5pYnJvd3NlcgpAQCAtNDUsNyArNDUsOCBAQCBwcm9oaWJpdFVua25vd25Qb3J0KCk7CiBz
ZXRDb25maWd1cmF0aW9uKCk7CiAKIGlmIChpc0d0aygpIHx8IGlzV1BFKCkpIHsKLSAgICBydW5J
bkZsYXRwYWtJZkF2YWlsYWJsZSgiL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9ydW4tbWluaWJy
b3dzZXIiKTsKKyAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURp
cigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tbWluaWJyb3dzZXIiKSk7CisgICAgcnVuSW5G
bGF0cGFrSWZBdmFpbGFibGUoQGNvbW1hbmQpOwogCiAgICAgIyBDaGVjayB0byBzZWUgdGhhdCBh
bGwgdGhlIGZyYW1ld29ya3MgYXJlIGJ1aWx0LgogICAgIGNoZWNrRnJhbWV3b3JrcygpOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tcGVyZi10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVu
LXBlcmYtdGVzdHMKaW5kZXggMWJmOGVjODYyNzAyNWVhOGRiYTg1Zjc2NzRiZDg0NTlhZTkxM2Rm
NS4uYzBkODc4M2U2YzE2OTk4NmJhY2JjMzdjMmUxODQzODc3YmFhNzFkMiAxMDA3NTUKLS0tIGEv
VG9vbHMvU2NyaXB0cy9ydW4tcGVyZi10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1wZXJm
LXRlc3RzCkBAIC0zMCw4ICszMCwxNCBAQAogIiIiUnVuIHBlcmZvcm1hbmNlIHRlc3RzLiIiIgog
CiBpbXBvcnQgbG9nZ2luZworaW1wb3J0IG9zCiBpbXBvcnQgc3lzCiAKK3RvcF9sZXZlbF9kaXJl
Y3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19m
aWxlX18pLCAnLi4nLCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9w
X2xldmVsX2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBmbGF0cGFrdXRp
bHMKK2ZsYXRwYWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lzLmFyZ3YpCisK
IGZyb20gd2Via2l0cHkucGVyZm9ybWFuY2VfdGVzdHMucGVyZnRlc3RzcnVubmVyIGltcG9ydCBQ
ZXJmVGVzdHNSdW5uZXIKIAogaWYgJ19fbWFpbl9fJyA9PSBfX25hbWVfXzoKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvcnVuLXF0LXdwZS1taW5pYnJvd3NlciBiL1Rvb2xzL1NjcmlwdHMvcnVu
LXF0LXdwZS1taW5pYnJvd3NlcgppbmRleCA1MmEzOGUxNTI2Mzg1M2FjYjhjMTU0ODQ3MDhiNTQ3
MzkwMThjZTUxLi44YzhlZjcwNTZhMzRhZTk4ZTcyNzExZGE3ZmVmN2I1MTJhMjFmY2M4IDEwMDc1
NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXIKKysrIGIvVG9vbHMv
U2NyaXB0cy9ydW4tcXQtd3BlLW1pbmlicm93c2VyCkBAIC0zOCw5ICszOCwxMyBAQCBteSBAamhi
dWlsZFdyYXBwZXI7CiBteSAkY29uZmlndXJhdGlvbiA9IHBhc3NlZENvbmZpZ3VyYXRpb24oKTsK
IG15ICRwcm9kdWN0RGlyID0gcHJvZHVjdERpcigpOwogCi0kbGliUGF0aCA9ICIvYXBwL3dlYmtp
dC9XZWJLaXRCdWlsZC8kY29uZmlndXJhdGlvbi9saWIvcXQ1L3FtbCIgaWYgJGNvbmZpZ3VyYXRp
b247Ci0kRU5WeyJRTUwyX0lNUE9SVF9QQVRIIn0gPSAiJGxpYlBhdGgiIGlmICRsaWJQYXRoOwot
cnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoIi9hcHAvd2Via2l0L1Rvb2xzL1NjcmlwdHMvcnVuLXF0
LXdwZS1taW5pYnJvd3NlciIpOworaWYgKCRjb25maWd1cmF0aW9uKSB7CisgICAgJGxpYlBhdGgg
PSBGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiV2ViS2l0QnVpbGQiLCAiJGNvbmZp
Z3VyYXRpb24iLCAibGliIiwgInF0NSIsICJxbWwiKTsKKyAgICAkRU5WeyJRTUwyX0lNUE9SVF9Q
QVRIIn0gPSAiJGxpYlBhdGgiOworfQorCitteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRm
aWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tcXQtd3BlLW1pbmlicm93
c2VyIikpOworcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQGNvbW1hbmQpOwogCiAjIENoZWNrIHRv
IHNlZSB0aGF0IGFsbCB0aGUgZnJhbWV3b3JrcyBhcmUgYnVpbHQuCiBjaGVja0ZyYW1ld29ya3Mo
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0cyBiL1Rvb2xz
L1NjcmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0cwppbmRleCBhY2MzNWY3MjQ4M2YyODMyZjA5Yzhl
ZmIxODk1ZDE4MWQ0ZDY3OTI5Li5jMzAwNGQ0NTMyM2M1MTQyNjY1ZDM3MDMzN2U4ZTU5MDQyM2E5
ZDQwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi13ZWJkcml2ZXItdGVzdHMKKysrIGIv
VG9vbHMvU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzCkBAIC03OCw3ICs3OCw3IEBAIGlmIHBv
cnQubmFtZSgpIGluIFsnZ3RrJywgJ3dwZSddOgogICAgICAgICBpZiBub3QgamhidWlsZHV0aWxz
LmVudGVyX2poYnVpbGRfZW52aXJvbm1lbnRfaWZfYXZhaWxhYmxlKHBvcnQubmFtZSgpKToKICAg
ICAgICAgICAgIHByaW50ICcqKionCiAgICAgICAgICAgICBwcmludCAnKioqIFdhcm5pbmc6IGpo
YnVpbGQgZW52aXJvbm1lbnQgbm90IHByZXNlbnQgYW5kIG5vdCBydW5uaW5nIGluIGZsYXRwYWsu
JwotICAgICAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVw
ZGF0ZS13ZWJraXRndGstZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9w
ZXIgdGVzdGluZy4uJworICAgICAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdlYmtpdGd0
ay1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Via2l0IHRvIGVu
c3VyZSBwcm9wZXIgdGVzdGluZy4uJwogICAgICAgICAgICAgcHJpbnQgJyoqKicKIAogcG9ydC5f
ZGlzcGxheV9zZXJ2ZXIgPSBvcHRpb25zLmRpc3BsYXlfc2VydmVyCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3J1bi13cGUtdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi13cGUtdGVzdHMKaW5k
ZXggOGY3NzQ5ZWI2YWQ2ZDFmMTk5MTNhMTc2OTlkY2I3Njc3ZjQ4NjJkMS4uZjM0YzE5NzA2NDc3
NjIyNjI0NTJlNmFlODNmYTI4NWYyOGU1ZDE4MCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9y
dW4td3BlLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXdwZS10ZXN0cwpAQCAtNTEsNyAr
NTEsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIGlmIG5vdCBmbGF0cGFrdXRp
bHMuaXNfc2FuZGJveGVkKCkgYW5kIG5vdCBqaGJ1aWxkdXRpbHMuZW50ZXJfamhidWlsZF9lbnZp
cm9ubWVudF9pZl9hdmFpbGFibGUoIndwZSIpOgogICAgICAgICBwcmludCAnKioqJwogICAgICAg
ICBwcmludCAnKioqIFdhcm5pbmc6IGpoYnVpbGQgZW52aXJvbm1lbnQgbm90IHByZXNlbnQgYW5k
IG5vdCBydW5uaW5nIGluIGZsYXRwYWsuJwotICAgICAgICBwcmludCAnKioqIFJ1biB1cGRhdGUt
d2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIGJlZm9yZSBidWlsZC13
ZWJraXQgdG8gZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCisgICAgICAgIHByaW50ICcqKiogUnVu
IHVwZGF0ZS13ZWJraXR3cGUtbGlicyBvciB1cGRhdGUtd2Via2l0LWZsYXRwYWsgYmVmb3JlIGJ1
aWxkLXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3RpbmcuLicKICAgICAgICAgcHJpbnQgJyoq
KicKIAogICAgIG9wdGlvbl9wYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIodXNhZ2U9J3Vz
YWdlOiAlcHJvZyBbb3B0aW9uc10gW3Rlc3QuLi5dJykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvdGVzdC13ZWJraXRwZXJsIGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHBlcmwKaW5kZXgg
NjQ5NTY5NjBmZmM2N2FlN2RmOTMzNjQxMzZkOTFhNWQ4OGVhOTk0My4uZGM4MWMxN2MzYmFjNTlh
ODgxYTczZWQxNWIzYTc0NjBjYTdiOWY5OCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy90ZXN0
LXdlYmtpdHBlcmwKKysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHBlcmwKQEAgLTMyLDYg
KzMyLDEzIEBACiAKIHVzZSBzdHJpY3Q7CiB1c2Ugd2FybmluZ3M7Cit1c2UgRmlsZTo6QmFzZW5h
bWU7Cit1c2UgRmlsZTo6RmluZDsKK3VzZSBGaWxlOjpTcGVjOwordXNlIEZpbmRCaW47Cit1c2Ug
R2V0b3B0OjpMb25nIHF3KDpjb25maWcgcGFzc190aHJvdWdoIG5vX2F1dG9fYWJicmV2KTsKK3Vz
ZSBsaWIgJEZpbmRCaW46OkJpbjsKK3VzZSB3ZWJraXRkaXJzOwogCiB1c2UgRmlsZTo6U3BlYzsK
IHVzZSBGaW5kQmluOwpAQCAtMzksNiArNDYsMTEgQEAgdXNlIFRlc3Q6Okhhcm5lc3M7CiB1c2Ug
bGliICRGaW5kQmluOjpCaW47ICMgc28gdGhpcyBzY3JpcHQgY2FuIGJlIHJ1biBmcm9tIGFueSBk
aXJlY3RvcnkuCiB1c2UgVkNTVXRpbHM7CiAKK2lmIChzaG91bGRVc2VGbGF0cGFrKCkpIHsKKyAg
ICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMi
LCAiU2NyaXB0cyIsICJ0ZXN0LXdlYmtpdHBlcmwiKSk7CisgICAgcnVuSW5GbGF0cGFrKEBjb21t
YW5kKTsKK30KKwogIyBDaGFuZ2UgdGhlIHdvcmtpbmcgZGlyZWN0b3J5IHNvIHRoYXQgd2UgY2Fu
IHBhc3Mgc2hvcnRlciwgcmVsYXRpdmUKICMgcGF0aHMgdG8gcnVudGVzdHMoKSwgcmF0aGVyIHRo
YW4gbG9uZ2VyLCBhYnNvbHV0ZSBwYXRocy4KICMKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
dGVzdC13ZWJraXRweSBiL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweQppbmRleCBlZTY4MmNj
Y2YwYWNhM2YyMGRjNjE1ZmU4YjYzMjNjY2M1N2NiZWE0Li40MjM4OGU5Zjg2MTc4NWVmN2UzOGZi
MWY0NTQ5MDA1MDUyZjAwYWVjIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5CkBAIC0yOSw0ICsyOSwxMCBAQAog
IyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgogZnJvbSB3ZWJraXRweS5jb21tb24gaW1wb3J0IG11bHRpcHJvY2Vzc2lu
Z19ib290c3RyYXAKIAoraW1wb3J0IG9zLCBzeXMKK3RvcF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5w
YXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAnLi4n
LCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVj
dG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBmbGF0cGFrdXRpbHMKK2ZsYXRwYWt1
dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lzLmFyZ3YpCisKIG11bHRpcHJvY2Vz
c2luZ19ib290c3RyYXAucnVuKCd3ZWJraXRweScsICd0ZXN0JywgJ21haW4ucHknKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lciBiL1Rvb2xzL1NjcmlwdHMvdGVzdDI2
Mi1ydW5uZXIKaW5kZXggYTEzMWJjZjYzM2UzMGQ5NzY1ZmI1NjI0MjUwNzMxMTdhOThmMjIzOC4u
YWY3YWQ1ZTQ4ZWYyNTA4Y2Y0ZTIxZDU4ZDU1MGNmMDMyZWY1ZmEyYiAxMDA3NTUKLS0tIGEvVG9v
bHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lcgorKysgYi9Ub29scy9TY3JpcHRzL3Rlc3QyNjItcnVu
bmVyCkBAIC0zNCw2ICszNCwyNiBAQCB1c2UgNS44Ljg7CiB1c2UgRmluZEJpbjsKIHVzZSBDb25m
aWc7CiAKK0JFR0lOIHsKKyAgICB1c2UgbGliICRGaW5kQmluOjpCaW47CisgICAgdXNlIEZpbGU6
OlNwZWM6OkZ1bmN0aW9ucyBxdyhjYXRmaWxlKTsKKworICAgIGlmICghZ3JlcCgvXi0tbm8tZmxh
dHBhay1jaGVjayQvLCBAQVJHVikpIHsKKyAgICAgICAgaWYgKGV2YWwge3JlcXVpcmUgd2Via2l0
ZGlyczsgMTt9KSB7CisgICAgICAgICAgICB3ZWJraXRkaXJzLT5pbXBvcnQocXcoc2hvdWxkVXNl
RmxhdHBhayBydW5JbkZsYXRwYWsgc291cmNlRGlyKSk7CisgICAgICAgICAgICBpZiAoc2hvdWxk
VXNlRmxhdHBhaygpKSB7CisgICAgICAgICAgICAgICAgcHJpbnQgIlJ1bm5pbmcgaW4gZmxhdHBh
ayBiYXNlZCBlbnZpcm9ubWVudFxuIjsKKyAgICAgICAgICAgICAgICBteSBAY29tbWFuZCA9IChG
aWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJ0ZXN0
MjYyLXJ1bm5lciIpKTsKKyAgICAgICAgICAgICAgICAjIFByZXZlbnQgZXhlYydkIHRlc3QyNjIt
cnVubmVyIHByb2Nlc3MgZnJvbSBpbXBvcnRpbmcKKyAgICAgICAgICAgICAgICAjIHdlYmtpdGRp
cnMgc28gdGhhdCBpdCBjYW4gc3VjY2VlZCBsYXRlciBvbiBpbiB0aGUgUnVubmVyCisgICAgICAg
ICAgICAgICAgIyBtb2R1bGUuLi4gUGVybC4gwq9cXyjjg4QpXy/CrworICAgICAgICAgICAgICAg
IHB1c2goQEFSR1YsICItLW5vLWZsYXRwYWstY2hlY2siKTsKKyAgICAgICAgICAgICAgICBydW5J
bkZsYXRwYWsoQGNvbW1hbmQpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQor
CiBCRUdJTiB7CiAgICAgJEVOVntEQklDX09WRVJXUklURV9IRUxQRVJfTUVUSE9EU19PS30gPSAx
OwogICAgICRFTlZ7VDI2Ml9FWEVDX0JJTn0gPSAiJEZpbmRCaW46OkJpbi90ZXN0MjYyIjsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdC1mbGF0cGFrIGIvVG9vbHMvU2Ny
aXB0cy91cGRhdGUtd2Via2l0LWZsYXRwYWsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTg2YjgxYTIwMzNmNGJiN2Jl
MmQyOWJkZTVjMTJjZjQ5NTMzMGQ1NQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMv
dXBkYXRlLXdlYmtpdC1mbGF0cGFrCkBAIC0wLDAgKzEsMjggQEAKKyMhL3Vzci9iaW4vZW52IHB5
dGhvbgorIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KKyMgQ29weXJpZ2h0IChjKSAy
MDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgorIworIyBUaGlzIHBy
b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisj
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMKKyMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCisjIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMg
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFs
IFB1YmxpYworIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRl
IHRvIHRoZQorIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
LCBGaWZ0aCBGbG9vciwKKyMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisjIHB5bGludDog
ZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5hbWUKK2ltcG9ydCBvcworaW1wb3J0
IHN5cworCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpv
aW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCitzeXMucGF0aC5pbnNl
cnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICJUb29scyIsICJmbGF0cGFr
IikpCitmcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0RmxhdHBhaworCitpZiBfX25hbWVf
XyA9PSAiX19tYWluX18iOgorICAgIFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2FyZ3MoWyItLXVw
ZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91
cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGst
ZmxhdHBhawpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDk1NmYxZjJlMTQ4NWQyNDg2
MmVmN2Y2ZDc0YTJmM2Y5OGNmOTJmOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstZmxhdHBhaworKysg
L2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbgotIyBDb3B5
cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KLSMgQ29weXJpZ2h0IChjKSAyMDE4LCBUaGliYXVs
dCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotIwotIyBUaGlzIHByb2dyYW0gaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0j
IHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGVzc2VyIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBM
aWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZQotIyBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9v
ciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0jIHB5bGludDogZGlzYWJsZT1taXNz
aW5nLWRvY3N0cmluZyxpbnZhbGlkLW5hbWUKLWltcG9ydCBvcwotaW1wb3J0IHN5cwotCi10b3Bf
bGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5k
aXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCi1zeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0
aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICJUb29scyIsICJmbGF0cGFrIikpCi1mcm9tIGZs
YXRwYWt1dGlscyBpbXBvcnQgV2Via2l0RmxhdHBhawotCi1pZiBfX25hbWVfXyA9PSAiX19tYWlu
X18iOgotICAgIFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2FyZ3MoWyItLWd0ayIsICItLXVwZGF0
ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRh
dGUtd2Via2l0Z3RrLWxpYnMgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstbGlicwpp
bmRleCAyZTFjMDJmZmQ3MDU2MDA4MGUzNmJjNzRiNDY1OGZmZWY1ZGVjZDhlLi4yZThhODc4NTE5
NmRiOGM3YmZjYzQ5MDQ5NWFkOWM1ZDcwMGZmZjUxIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRz
L3VwZGF0ZS13ZWJraXRndGstbGlicworKysgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRn
dGstbGlicwpAQCAtMjIsNCArMjIsOCBAQCB1c2UgbGliICRGaW5kQmluOjpCaW47CiB1c2Ugd2Vi
a2l0ZGlyczsKIAogbXkgJHNjcmlwdHNEaXIgPSByZWxhdGl2ZVNjcmlwdHNEaXIoKTsKLXN5c3Rl
bSgicGVybCIsICIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCIsICItLWd0
ayIsIEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK2lmIChkZWZpbmVkICRFTlZ7J1dFQktJVF9KSEJV
SUxEJ30gYW5kICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30pIHsKKyAgICBzeXN0ZW0oInBlcmwiLCAi
JHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1saWJzLWpoYnVpbGQiLCAiLS1ndGsiLCBAQVJHVikg
PT0gMCBvciBkaWUgJCE7Cit9IGVsc2UgeworICAgIHN5c3RlbSgiJHNjcmlwdHNEaXIvdXBkYXRl
LXdlYmtpdC1mbGF0cGFrIiwgQEFSR1YpID09IDAgb3IgZGllICQhOworfQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWZsYXRwYWsgYi9Ub29scy9TY3JpcHRzL3Vw
ZGF0ZS13ZWJraXR3cGUtZmxhdHBhawpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggNTY0
ZTg3NjUyMTExOGUyZmMwZmQ2OGI4Yzg2NmFhOTAwMWNiODEyMi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3
cGUtZmxhdHBhaworKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLSMhL3Vzci9iaW4vZW52
IHB5dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KLSMgQ29weXJpZ2h0IChj
KSAyMDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotIwotIyBUaGlz
IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
Ci0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQ
dWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKLSMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMK
LSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5l
cmFsIFB1YmxpYwotIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdy
aXRlIHRvIHRoZQotIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0jIHB5bGlu
dDogZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5hbWUKLWltcG9ydCBvcwotaW1w
b3J0IHN5cwotCi10b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRo
LmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCi1zeXMucGF0aC5p
bnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICJUb29scyIsICJmbGF0
cGFrIikpCi1mcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0RmxhdHBhawotCi1pZiBfX25h
bWVfXyA9PSAiX19tYWluX18iOgotICAgIFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2FyZ3MoWyIt
LXdwZSIsICItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWxpYnMgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13
ZWJraXR3cGUtbGlicwppbmRleCA2YjRiNDZmMmI3ZWI4YTllNjgwNzc1N2JjYTJiOWU2ODQ3MDdh
MDIzLi5jZGM0YzdkYjhjNjVlYTczMjNkNjkyNjgxOThhMmY2OGJkNTEzMDE0IDEwMDc1NQotLS0g
YS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGlicworKysgYi9Ub29scy9TY3JpcHRz
L3VwZGF0ZS13ZWJraXR3cGUtbGlicwpAQCAtMjIsNCArMjIsOCBAQCB1c2UgbGliICRGaW5kQmlu
OjpCaW47CiB1c2Ugd2Via2l0ZGlyczsKIAogbXkgJHNjcmlwdHNEaXIgPSByZWxhdGl2ZVNjcmlw
dHNEaXIoKTsKLXN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWxpYnMt
amhidWlsZCIsICItLXdwZSIsIEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK2lmIChkZWZpbmVkICRF
TlZ7J1dFQktJVF9KSEJVSUxEJ30gYW5kICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30pIHsKKyAgICBz
eXN0ZW0oInBlcmwiLCAiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1saWJzLWpoYnVpbGQiLCAi
LS13cGUiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7Cit9IGVsc2UgeworICAgIHN5c3RlbSgiJHNj
cmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1mbGF0cGFrIiwgQEFSR1YpID09IDAgb3IgZGllICQhOwor
fQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRkaXJzLnBtCmluZGV4IDQ3OWJiNDMxZDZiZGJlN2Q1Y2NmZTEzZGNkNjJhZGNjNTBh
Y2ZmYjYuLmQ1ZGMyNDM4MGM4NTIzY2I0NmZiZmI2ZmZlODA5MTNhNTBmZTU1MjIgMTAwNzU1Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dGRpcnMucG0KQEAgLTkxLDcgKzkxLDEwIEBAIEJFR0lOIHsKICAgICAgICAmc2V0dXBVbml4V2Vi
S2l0RW52aXJvbm1lbnQKICAgICAgICAmc2hhcmVkQ29tbWFuZExpbmVPcHRpb25zCiAgICAgICAg
JnNoYXJlZENvbW1hbmRMaW5lT3B0aW9uc1VzYWdlCisgICAgICAgJnNob3VsZFVzZUZsYXRwYWsK
KyAgICAgICAmcnVuSW5GbGF0cGFrCiAgICAgICAgJnNodXREb3duSU9TU2ltdWxhdG9yRGV2aWNl
CisgICAgICAgJnNvdXJjZURpcgogICAgICAgICZ3aWxsVXNlSU9TRGV2aWNlU0RLCiAgICAgICAg
JndpbGxVc2VJT1NTaW11bGF0b3JTREsKICAgICAgICBET19OT1RfVVNFX09QRU5fQ09NTUFORApA
QCAtMjA0OCwyMCArMjA1MSwxMSBAQCBzdWIgZ2V0SmhidWlsZFBhdGgoKQogICAgIHJldHVybiBG
aWxlOjpTcGVjLT5jYXRkaXIoQGpoYnVpbGRQYXRoKTsKIH0KIAotc3ViIGdldEZsYXRwYWtQYXRo
KCkKK3N1YiBnZXRVc2VyRmxhdHBha1BhdGgoKQogewotICAgIG15IEBmbGF0cGFrQnVpbGRQYXRo
ID0gRmlsZTo6U3BlYy0+c3BsaXRkaXIoYmFzZVByb2R1Y3REaXIoKSk7Ci0gICAgaWYgKGlzR3Rr
KCkpIHsKLSAgICAgICAgcHVzaChAZmxhdHBha0J1aWxkUGF0aCwgIkdUSyIpOwotICAgIH0gZWxz
aWYgKGlzV1BFKCkpIHsKLSAgICAgICAgcHVzaChAZmxhdHBha0J1aWxkUGF0aCwgIldQRSIpOwot
ICAgIH0gZWxzZSB7Ci0gICAgICAgIGRpZSAiQ2Fubm90IGdldCBGbGF0cGFrIHBhdGggZm9yIHBs
YXRmb3JtIHRoYXQgaXNuJ3QgR1RLKyBvciBXUEUuXG4iOwotICAgIH0KLSAgICBteSBAY29uZmln
dXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24oKTsKLSAgICBwdXNoKEBmbGF0cGFrQnVpbGRQYXRoLCAi
RmxhdHBha1RyZWUkY29uZmlndXJhdGlvbiIpOwotCi0gICAgcmV0dXJuIEZpbGU6OlNwZWMtPmNh
dGRpcihAZmxhdHBha0J1aWxkUGF0aCk7CisgICAgbXkgQGZsYXRwYWtQYXRoID0gRmlsZTo6U3Bl
Yy0+c3BsaXRkaXIoYmFzZVByb2R1Y3REaXIoKSk7CisgICAgcHVzaChAZmxhdHBha1BhdGgsICJV
c2VyRmxhdHBhayIpOworICAgIHJldHVybiBGaWxlOjpTcGVjLT5jYXRkaXIoQGZsYXRwYWtQYXRo
KTsKIH0KIAogc3ViIGlzQ2FjaGVkQXJndW1lbnRmaWxlT3V0T2ZEYXRlKCRAKQpAQCAtMjA4OCwx
MSArMjA4Miw3IEBAIHN1YiBpc0NhY2hlZEFyZ3VtZW50ZmlsZU91dE9mRGF0ZSgkQCkKIAogc3Vi
IGluRmxhdHBha1NhbmRib3goKQogewotICAgIGlmICgtZiAiLy5mbGF0cGFrLWluZm8iKSB7Ci0g
ICAgICAgIHJldHVybiAxOwotICAgIH0KLQotICAgIHJldHVybiAwOworICAgIHJldHVybiAoLWYg
Ii8uZmxhdHBhay1pbmZvIik7CiB9CiAKIHN1YiBydW5JbkZsYXRwYWsoQCkKQEAgLTIxMTMsOCAr
MjEwMyw4IEBAIHN1YiBydW5JbkZsYXRwYWtJZkF2YWlsYWJsZShAKQogICAgICAgICByZXR1cm4g
MDsKICAgICB9CiAKLSAgICBpZiAoISAtZSBnZXRGbGF0cGFrUGF0aCgpKSB7Ci0gICAgICAgIHJl
dHVybiAwOworICAgIGlmICghIC1lIGdldFVzZXJGbGF0cGFrUGF0aCgpKSB7CisgICAgICByZXR1
cm4gMDsKICAgICB9CiAKICAgICBydW5JbkZsYXRwYWsoQF8pCkBAIC0yMTI5LDcgKzIxMTksNyBA
QCBzdWIgd3JhcHBlclByZWZpeElmTmVlZGVkKCkKICAgICBpZiAoaXNBcHBsZUNvY29hV2ViS2l0
KCkpIHsKICAgICAgICAgcmV0dXJuICgieGNydW4iKTsKICAgICB9Ci0gICAgaWYgKHNob3VsZFVz
ZUpoYnVpbGQoKSBhbmQgISBzaG91bGRVc2VGbGF0cGFrKCkpIHsKKyAgICBpZiAoc2hvdWxkVXNl
SmhidWlsZCgpKSB7CiAgICAgICAgIG15IEBwcmVmaXggPSAoRmlsZTo6U3BlYy0+Y2F0ZmlsZShz
b3VyY2VEaXIoKSwgIlRvb2xzIiwgImpoYnVpbGQiLCAiamhidWlsZC13cmFwcGVyIikpOwogICAg
ICAgICBpZiAoaXNHdGsoKSkgewogICAgICAgICAgICAgcHVzaChAcHJlZml4LCAiLS1ndGsiKTsK
QEAgLTIxNDYsMTIgKzIxMzYsMTIgQEAgc3ViIHdyYXBwZXJQcmVmaXhJZk5lZWRlZCgpCiAKIHN1
YiBzaG91bGRVc2VKaGJ1aWxkKCkKIHsKLSAgICByZXR1cm4gKChpc0d0aygpIG9yIGlzV1BFKCkp
IGFuZCAtZSBnZXRKaGJ1aWxkUGF0aCgpKTsKKyAgICByZXR1cm4gKCghIGluRmxhdHBha1NhbmRi
b3goKSkgYW5kIChpc0d0aygpIG9yIGlzV1BFKCkpIGFuZCAtZSBnZXRKaGJ1aWxkUGF0aCgpIGFu
ZCBkZWZpbmVkICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30gYW5kICRFTlZ7J1dFQktJVF9KSEJVSUxE
J30pOwogfQogCiBzdWIgc2hvdWxkVXNlRmxhdHBhaygpCiB7Ci0gICAgcmV0dXJuICgoaXNHdGso
KSBvciBpc1dQRSgpKSBhbmQgISBpbkZsYXRwYWtTYW5kYm94KCkgYW5kIC1lIGdldEZsYXRwYWtQ
YXRoKCkpOworICAgIHJldHVybiAoKCEgaW5GbGF0cGFrU2FuZGJveCgpKSBhbmQgKGlzR3RrKCkg
b3IgaXNXUEUoKSkgYW5kIC1lIGdldFVzZXJGbGF0cGFrUGF0aCgpIGFuZCAhIHNob3VsZFVzZUpo
YnVpbGQoKSk7CiB9CiAKIHN1YiBjbWFrZUNhY2hlUGF0aCgpCkBAIC0yMjE4LDcgKzIyMDgsNyBA
QCBzdWIgc2hvdWxkUmVtb3ZlQ01ha2VDYWNoZShAKQogICAgIH0KIAogICAgICMgSWYgYSBjaGFu
Z2Ugb24gdGhlIEpIQnVpbGQgbW9kdWxlc2V0IGhhcyBiZWVuIGRvbmUsIHdlIG5lZWQgdG8gY2xl
YW4gdGhlIGNhY2hlIGFzIHdlbGwuCi0gICAgaWYgKGlzR3RrKCkgfHwgaXNXUEUoKSkgeworICAg
IGlmICghIHNob3VsZFVzZUZsYXRwYWsoKSBhbmQgKGlzR3RrKCkgfHwgaXNXUEUoKSkpIHsKICAg
ICAgICAgbXkgJGpoYnVpbGRSb290RGlyZWN0b3J5ID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKGdldEpo
YnVpbGRQYXRoKCksICJSb290Iik7CiAgICAgICAgICMgVGhlIHNjcmlwdCB1cGRhdGUtd2Via2l0
LWxpYnMtamhidWlsZCBzaGFsbCByZS1nZW5lcmF0ZSAkamhidWlsZFJvb3REaXJlY3RvcnkgaWYg
dGhlIG1vZHVsZXNldCBjaGFuZ2VkLgogICAgICAgICBpZiAoLWQgJGpoYnVpbGRSb290RGlyZWN0
b3J5ICYmICRjYWNoZUZpbGVNb2RpZmllZFRpbWUgPCBzdGF0KCRqaGJ1aWxkUm9vdERpcmVjdG9y
eSktPm10aW1lKSB7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFz
ZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CmluZGV4IDk3ZjlmYmYw
YTE1ZjgwZGQ5MWE0OTBkOTE1YzE5NzdiMGMxMzkxYzcuLjY1ODQ3NWM0MTg1Yjk5YTNlNzMzZjQ3
ZTAwMmNhODU2ODE2NmZkOGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9y
dC9iYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CkBAIC04
OTMsNiArODkzLDcgQEAgY2xhc3MgUG9ydChvYmplY3QpOgogICAgICAgICAgICAgJ0xBTkcnLAog
ICAgICAgICAgICAgJ0xEX0xJQlJBUllfUEFUSCcsCiAgICAgICAgICAgICAnVEVSTScsCisgICAg
ICAgICAgICAnVFonLAogICAgICAgICAgICAgJ1hER19EQVRBX0RJUlMnLAogICAgICAgICAgICAg
J1hER19SVU5USU1FX0RJUicsCiAKQEAgLTEyMjAsNyArMTIyMSw3IEBAIGNsYXNzIFBvcnQob2Jq
ZWN0KToKICAgICAgICAgVGhpcyBpcyBuZWVkZWQgb25seSBieSBwb3J0cyB0aGF0IHVzZSB0aGUg
YXBhY2hlX2h0dHBfc2VydmVyIG1vZHVsZS4iIiIKICAgICAgICAgIyBUaGUgQXBhY2hlIGJpbmFy
eSBwYXRoIGNhbiB2YXJ5IGRlcGVuZGluZyBvbiBPUyBhbmQgZGlzdHJpYnV0aW9uCiAgICAgICAg
ICMgU2VlIGh0dHA6Ly93aWtpLmFwYWNoZS5vcmcvaHR0cGQvRGlzdHJvc0RlZmF1bHRMYXlvdXQK
LSAgICAgICAgZm9yIHBhdGggaW4gWyIvdXNyL3NiaW4vaHR0cGQiLCAiL3Vzci9zYmluL2FwYWNo
ZTIiLCAiL2FwcC9iaW4vaHR0cGQiXToKKyAgICAgICAgZm9yIHBhdGggaW4gWyIvdXNyL3NiaW4v
aHR0cGQiLCAiL3Vzci9zYmluL2FwYWNoZTIiLCAiL3Vzci9iaW4vaHR0cGQiXToKICAgICAgICAg
ICAgIGlmIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKHBhdGgpOgogICAgICAgICAgICAgICAgIHJl
dHVybiBwYXRoCiAgICAgICAgIF9sb2cuZXJyb3IoIkNvdWxkIG5vdCBmaW5kIGFwYWNoZS4gTm90
IGluc3RhbGxlZCBvciB1bmtub3duIHBhdGguIikKQEAgLTE0NTIsMTQgKzE0NTMsOCBAQCBjbGFz
cyBQb3J0KG9iamVjdCk6CiAgICAgICAgICMgLS1waXhlbC10ZXN0LWRpcmVjdG9yeSBpcyBub3Qg
c3BlY2lmaWVkLgogICAgICAgICByZXR1cm4gVHJ1ZQogCi0gICAgZGVmIF9zaG91bGRfdXNlX2Zs
YXRwYWsoc2VsZik6Ci0gICAgICAgIHN1ZmZpeCA9ICIiCi0gICAgICAgIGlmIHNlbGYucG9ydF9u
YW1lOgotICAgICAgICAgICAgc3VmZml4ID0gc2VsZi5wb3J0X25hbWUudXBwZXIoKQotICAgICAg
ICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5leGlzdHMoc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jh
c2UoJ1dlYktpdEJ1aWxkJywgc3VmZml4LCAiRmxhdHBha1RyZWUiKSkKLQogICAgIGRlZiBfaW5f
ZmxhdHBha19zYW5kYm94KHNlbGYpOgotICAgICAgICByZXR1cm4gb3MucGF0aC5leGlzdHMoIi8u
ZmxhdHBhay1pbmZvIikKKyAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKCIv
LmZsYXRwYWstaW5mbyIpCiAKICAgICBkZWYgX3Nob3VsZF91c2VfamhidWlsZChzZWxmKToKICAg
ICAgICAgaWYgc2VsZi5faW5fZmxhdHBha19zYW5kYm94KCk6CmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L2d0ay5weQppbmRleCA2OGJjMTY5MjNmOGFiNzYwOTFmNWIzZTk2NGQwNjVjNzk0M2ZmOGQ1Li4w
Y2U4YWE0ODc0NTkwOWM3OTczNjg4M2IzNmQzNGU4NzQwOThkNDczIDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9ndGsucHkKQEAgLTEyMiw2ICsxMjIsNyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgog
ICAgICAgICBlbnZpcm9ubWVudFsnVEVTVF9SVU5ORVJfSU5KRUNURURfQlVORExFX0ZJTEVOQU1F
J10gPSBzZWxmLl9idWlsZF9wYXRoKCdsaWInLCAnbGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxl
LnNvJykKICAgICAgICAgZW52aXJvbm1lbnRbJ1RFU1RfUlVOTkVSX1RFU1RfUExVR0lOX1BBVEgn
XSA9IHNlbGYuX2J1aWxkX3BhdGgoJ2xpYicsICdwbHVnaW5zJykKICAgICAgICAgc2VsZi5fY29w
eV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJ
UicpCisgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9u
bWVudCwgJ1dFQktJVF9KSEJVSUxEJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vu
dmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX1RPUF9MRVZFTCcpCiAgICAgICAgIHNl
bGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1VTRV9QTEFZ
QklOMycpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZp
cm9ubWVudCwgJ0dTVF9ERUJVRycpCkBAIC0xMzQsMTAgKzEzNSwxMSBAQCBjbGFzcyBHdGtQb3J0
KFBvcnQpOgogICAgICAgICAgICAgaWYgc2VsZi5fc2hvdWxkX3VzZV9qaGJ1aWxkKCk6CiAgICAg
ICAgICAgICAgICAgbGx2bXBpcGVfbGliZ2xfcGF0aCA9IHNlbGYuaG9zdC5leGVjdXRpdmUucnVu
X2NvbW1hbmQoc2VsZi5famhidWlsZF93cmFwcGVyICsgWydwcmludGVudicsICdMTFZNUElQRV9M
SUJHTF9QQVRIJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZV9lcnJvcnM9VHJ1ZSkuc3RyaXAoKQorICAg
ICAgICAgICAgICAgIGRyaV9saWJnbF9wYXRoID0gb3MucGF0aC5qb2luKGxsdm1waXBlX2xpYmds
X3BhdGgsICJkcmkiKQogICAgICAgICAgICAgZWxzZTogICMgaW4gZmxhdHBhawotICAgICAgICAg
ICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGggPSAiL2FwcC9zb2Z0R0wvbGliIgorICAgICAgICAg
ICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGggPSAiL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS8i
CisgICAgICAgICAgICAgICAgZHJpX2xpYmdsX3BhdGggPSBvcy5wYXRoLmpvaW4obGx2bXBpcGVf
bGliZ2xfcGF0aCwgIkdMIiwgImxpYiIsICJkcmkiKQogCi0gICAgICAgICAgICBkcmlfbGliZ2xf
cGF0aCA9IG9zLnBhdGguam9pbihsbHZtcGlwZV9saWJnbF9wYXRoLCAiZHJpIikKICAgICAgICAg
ICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihsbHZtcGlwZV9saWJnbF9wYXRoLCAi
bGliR0wuc28iKSkgYW5kIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihkcmlfbGliZ2xfcGF0
aCwgInN3cmFzdF9kcmkuc28iKSk6CiAgICAgICAgICAgICAgICAgIyBNYWtlIHN1cmUgdmEtYXBp
IHN1cHBvcnQgZ2V0cyBkaXNhYmxlZCBiZWNhdXNlIGl0J3MgaW5jb21wYXRpYmxlIHdpdGggTWVz
YSdzIHNvZnRHTCBkcml2ZXIuCiAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0xJQlZBX0RS
SVZFUl9OQU1FJ10gPSAibnVsbCIKQEAgLTE0OCw3ICsxNTAsNyBAQCBjbGFzcyBHdGtQb3J0KFBv
cnQpOgogICAgICAgICAgICAgICAgIGlmIG9zLmVudmlyb24uZ2V0KCdMRF9MSUJSQVJZX1BBVEgn
KToKICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0xEX0xJQlJBUllfUEFUSCddICs9
ICc6JXMnICUgb3MuZW52aXJvbi5nZXQoJ0xEX0xJQlJBUllfUEFUSCcpCiAgICAgICAgICAgICBl
bHNlOgotICAgICAgICAgICAgICAgIF9sb2cud2FybmluZygiQ2FuJ3QgZmluZCBHYWxsaXVtIGxs
dm1waXBlIGRyaXZlci4gVHJ5IHRvIHJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRl
LXdlYmtpdGd0ay1mbGF0cGFrIikKKyAgICAgICAgICAgICAgICBfbG9nLndhcm5pbmcoIkNhbid0
IGZpbmQgR2FsbGl1bSBsbHZtcGlwZSBkcml2ZXIuIFRyeSB0byBydW4gdXBkYXRlLXdlYmtpdGd0
ay1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBhayIpCiAgICAgICAgIGlmIHNlbGYuZ2V0X29w
dGlvbigibGVha3MiKToKICAgICAgICAgICAgICMgVHVybiBvZmYgR0xpYiBtZW1vcnkgb3B0aW1p
c2F0aW9ucyBodHRwczovL3dpa2kuZ25vbWUub3JnL1ZhbGdyaW5kLgogICAgICAgICAgICAgZW52
aXJvbm1lbnRbJ0dfU0xJQ0UnXSA9ICdhbHdheXMtbWFsbG9jJwpAQCAtMjM3LDcgKzIzOSw3IEBA
IGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAKICAgICBkZWYgX2dldF9jcmFzaF9sb2coc2VsZiwgbmFt
ZSwgcGlkLCBzdGRvdXQsIHN0ZGVyciwgbmV3ZXJfdGhhbiwgdGFyZ2V0X2hvc3Q9Tm9uZSk6CiAg
ICAgICAgIHJldHVybiBHREJDcmFzaExvZ0dlbmVyYXRvcihzZWxmLl9leGVjdXRpdmUsIG5hbWUs
IHBpZCwgbmV3ZXJfdGhhbiwKLSAgICAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0sIHNlbGYuX3Bh
dGhfdG9fZHJpdmVyKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRo
X3RvX2RyaXZlciwgc2VsZi5wb3J0X25hbWUsIHNlbGYuZ2V0X29wdGlvbignY29uZmlndXJhdGlv
bicpKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIpCiAKICAgICBkZWYgdGVzdF9l
eHBlY3RhdGlvbnNfZmlsZV9wb3NpdGlvbihzZWxmKToKICAgICAgICAgIyBHVEsgcG9ydCBiYXNl
bGluZSBzZWFyY2ggcGF0aCBpcyBndGsgLT4gd2syIC0+IGdlbmVyaWMgKGFzIGd0ay13azIgYW5k
IGd0ayBiYXNlbGluZXMgYXJlIG1lcmdlZCksIHNvIHBvcnQgdGVzdCBleHBlY3RhdGlvbnMgZmls
ZSBpcyBhdCB0aGlyZCB0byBsYXN0IHBvc2l0aW9uLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9sb2cucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQppbmRleCA5YWRjNDYzNzFmOTYxYjE5
NjI4ZTdmZWRkNDY1ZWJmZDA5NmNkMDFhLi4yZTAzZGZmMWEzNmViNWMyMDVhZTY4NzljZDIyYmQy
YzcwMjIxMWUzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhf
Z2V0X2NyYXNoX2xvZy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhf
Z2V0X2NyYXNoX2xvZy5weQpAQCAtMzcsMTggKzM3LDIyIEBAIGltcG9ydCB0aW1lCiAKIGZyb20g
d2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IFNjcmlwdEVycm9yCiBmcm9t
IHdlYmtpdHB5LmNvbW1vbi51bmljb2RlX2NvbXBhdGliaWxpdHkgaW1wb3J0IGRlY29kZV9pZl9u
ZWNlc3NhcnkKK2Zyb20gd2Via2l0cHkuY29tbW9uLndlYmtpdF9maW5kZXIgaW1wb3J0IFdlYktp
dEZpbmRlcgogCiAKIGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgX2Zp
bmRfcGlkX3JlZ2V4ID0gcmUuY29tcGlsZShyJ1BJRDogKFxkKykgXCguKlwpJykKIAotICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBleGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwgZmlsZXN5
c3RlbSwgcGF0aF90b19kcml2ZXIpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBleGVjdXRpdmUs
IG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwgZmlsZXN5c3RlbSwgcGF0aF90b19kcml2ZXIsIHBvcnRf
bmFtZSwgY29uZmlndXJhdGlvbik6CiAgICAgICAgIHNlbGYubmFtZSA9IG5hbWUKICAgICAgICAg
c2VsZi5waWQgPSBwaWQKICAgICAgICAgc2VsZi5uZXdlcl90aGFuID0gbmV3ZXJfdGhhbgogICAg
ICAgICBzZWxmLl9maWxlc3lzdGVtID0gZmlsZXN5c3RlbQogICAgICAgICBzZWxmLl9wYXRoX3Rv
X2RyaXZlciA9IHBhdGhfdG9fZHJpdmVyCiAgICAgICAgIHNlbGYuX2V4ZWN1dGl2ZSA9IGV4ZWN1
dGl2ZQorICAgICAgICBzZWxmLl9wb3J0X25hbWUgPSBwb3J0X25hbWUKKyAgICAgICAgc2VsZi5f
Y29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24KKyAgICAgICAgc2VsZi5fd2Via2l0X2ZpbmRl
ciA9IFdlYktpdEZpbmRlcihmaWxlc3lzdGVtKQogCiAgICAgZGVmIF9nZXRfZ2RiX291dHB1dChz
ZWxmLCBjb3JlZHVtcF9wYXRoKToKICAgICAgICAgcHJvY2Vzc19uYW1lID0gc2VsZi5fZmlsZXN5
c3RlbS5qb2luKG9zLnBhdGguZGlybmFtZShzdHIoc2VsZi5fcGF0aF90b19kcml2ZXIoKSkpLCBz
ZWxmLm5hbWUpCkBAIC02Nyw2ICs3MSw5IEBAIGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9i
amVjdCk6CiAgICAgICAgIHJldHVybiBmaWxlbmFtZQogCiAgICAgZGVmIF9nZXRfdHJhY2VfZnJv
bV9zeXN0ZW1kKHNlbGYsIGNvcmVkdW1wY3RsLCBwaWQpOgorICAgICAgICBpZiBvcy5wYXRoLmlz
ZmlsZSgiLy5mbGF0cGFrLWluZm8iKToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9nZXRfdHJh
Y2VfZnJvbV9mbGF0cGFrKCkKKwogICAgICAgICAjIExldHRpbmcgdXAgdG8gNSBzZWNvbmRzIGZv
ciB0aGUgYmFja3RyYWNlIHRvIGJlIGdlbmVyYXRlZCBvbiB0aGUgc3lzdGVtZCBzaWRlCiAgICAg
ICAgIGZvciB0cnlfbnVtYmVyIGluIHJhbmdlKDUpOgogICAgICAgICAgICAgaWYgdHJ5X251bWJl
ciAhPSAwOgpAQCAtOTIsMTIgKzk5LDI0IEBAIGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9i
amVjdCk6CiAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wX2ZpbGUubmFtZV0sIHJldHVybl9l
eGl0X2NvZGU9VHJ1ZSk6CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAKLSAgICAgICAg
ICAgICAgICByZXMgPSBzZWxmLl9nZXRfZ2RiX291dHB1dChzZWxmLl9nZXRfdG1wX2ZpbGVfbmFt
ZShjb3JlZHVtcGN0bCwgdGVtcF9maWxlLm5hbWUpKQotCi0gICAgICAgICAgICAgICAgcmV0dXJu
IHJlcworICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9nZXRfZ2RiX291dHB1dChzZWxmLl9n
ZXRfdG1wX2ZpbGVfbmFtZShjb3JlZHVtcGN0bCwgdGVtcF9maWxlLm5hbWUpKQogCiAgICAgICAg
IHJldHVybiAnJywgW10KIAorICAgIGRlZiBfZ2V0X3RyYWNlX2Zyb21fZmxhdHBhayhzZWxmKToK
KyAgICAgICAgaWYgc2VsZi5uZXdlcl90aGFuOgorICAgICAgICAgICAgY29yZWR1bXBfc2luY2Ug
PSAiLS1nZGItc3RhY2stdHJhY2U9QCVmIiAlIHNlbGYubmV3ZXJfdGhhbgorICAgICAgICBlbHNl
OgorICAgICAgICAgICAgY29yZWR1bXBfc2luY2UgPSAiLS1nZGItc3RhY2stdHJhY2UiCisgICAg
ICAgIHdlYmtpdF9mbGF0cGFrX3BhdGggPSBzZWxmLl93ZWJraXRfZmluZGVyLnBhdGhfdG9fc2Ny
aXB0KCd3ZWJraXQtZmxhdHBhaycpCisgICAgICAgIGNtZCA9IFsnZmxhdHBhay1zcGF3bicsICct
LWhvc3QnLCB3ZWJraXRfZmxhdHBha19wYXRoLCAnLS0lcycgJSBzZWxmLl9wb3J0X25hbWUsCisg
ICAgICAgICAgICAgICAiLS0lcyIgJSBzZWxmLl9jb25maWd1cmF0aW9uLmxvd2VyKCksIGNvcmVk
dW1wX3NpbmNlXQorCisgICAgICAgIHByb2MgPSBzZWxmLl9leGVjdXRpdmUucG9wZW4oY21kLCBz
dGRpbj1Ob25lLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5QSVBF
KQorICAgICAgICBjcmFzaF9sb2csIHN0ZGVyciA9IHByb2MuY29tbXVuaWNhdGUoKQorICAgICAg
ICBlcnJvcnMgPSBkZWNvZGVfaWZfbmVjZXNzYXJ5KHN0cihzdGRlcnIgb3IgJzxlbXB0eT4nKSwg
ZXJyb3JzPSdpZ25vcmUnKS5zcGxpdGxpbmVzKCkKKyAgICAgICAgcmV0dXJuIGNyYXNoX2xvZywg
ZXJyb3JzCisKICAgICBkZWYgZ2VuZXJhdGVfY3Jhc2hfbG9nKHNlbGYsIHN0ZG91dCwgc3RkZXJy
KToKICAgICAgICAgcGlkX3JlcHJlc2VudGF0aW9uID0gc3RyKHNlbGYucGlkIG9yICc8dW5rbm93
bj4nKQogICAgICAgICBsb2dfZGlyZWN0b3J5ID0gb3MuZW52aXJvbi5nZXQoIldFQktJVF9DT1JF
X0RVTVBTX0RJUkVDVE9SWSIpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvbGludXhfZ2V0X2NyYXNoX2xvZ191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5CmluZGV4IDlmM2I3ZTM5Mzc5
YzQzYTEwNWVjZTIwYzFjYTYyNjI0M2RmYTdkMzQuLjNhMzllODQ2NzBhNjRjODM2YjVlMTQ0MmZj
OGEzNTkzNGMzN2RmOTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9s
aW51eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5CkBAIC00Niw3ICs0Niw3IEBA
IGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAg
ICAgIGV4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUoKQogICAgICAgICBleGVjdXRpdmUuX3Byb2Mg
PSBNb2NrUHJvY2VzcygpCiAgICAgICAgIGV4ZWN1dGl2ZS5fcHJvYy5zdGRvdXQgPSAnU1RERVJS
OiA8ZW1wdHk+JwotICAgICAgICBnZW5lcmF0b3IgPSBHREJDcmFzaExvZ0dlbmVyYXRvcihleGVj
dXRpdmUsICdEdW1wUmVuZGVyVHJlZScsIDI4NTI5LCBuZXdlcl90aGFuPU5vbmUsIGZpbGVzeXN0
ZW09TW9ja0ZpbGVTeXN0ZW0oeycvcGF0aC90by9jb3JlZHVtcHMnOiAnJ30pLCBwYXRoX3RvX2Ry
aXZlcj1Ob25lKQorICAgICAgICBnZW5lcmF0b3IgPSBHREJDcmFzaExvZ0dlbmVyYXRvcihleGVj
dXRpdmUsICdEdW1wUmVuZGVyVHJlZScsIDI4NTI5LCBuZXdlcl90aGFuPU5vbmUsIGZpbGVzeXN0
ZW09TW9ja0ZpbGVTeXN0ZW0oeycvcGF0aC90by9jb3JlZHVtcHMnOiAnJ30pLCBwYXRoX3RvX2Ry
aXZlcj1Ob25lLCBwb3J0X25hbWU9Imd0ayIsIGNvbmZpZ3VyYXRpb249IkRlYnVnIikKIAogICAg
ICAgICBjb3JlX2RpcmVjdG9yeSA9IG9zLmVudmlyb24uZ2V0KCdXRUJLSVRfQ09SRV9EVU1QU19E
SVJFQ1RPUlknLCAnL3BhdGgvdG8vY29yZWR1bXBzJykKICAgICAgICAgY29yZV9wYXR0ZXJuID0g
Z2VuZXJhdG9yLl9maWxlc3lzdGVtLmpvaW4oY29yZV9kaXJlY3RvcnksICJjb3JlLXBpZF8lcC5k
dW1wIikKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93cGUucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd3BlLnB5CmluZGV4IDAwY2U1Mjc2ZTljYzQyMWI0
ODM3YWMyYjU0ZjMzYzU1MmJiZWM4NTUuLjU0NjkyNWY0N2M2NDAwNzI1YWYwNzNhMzU1M2M3ZmY1
NGVlYTdkOTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93cGUucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dwZS5weQpAQCAtNzcsNiArNzcsNyBA
QCBjbGFzcyBXUEVQb3J0KFBvcnQpOgogICAgICAgICBlbnZpcm9ubWVudFsnVEVTVF9SVU5ORVJf
VEVTVF9QTFVHSU5fUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0aCgnbGliJywgJ3BsdWdpbnMnKQog
ICAgICAgICBlbnZpcm9ubWVudFsnV0VCS0lUX0VYRUNfUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0
aCgnYmluJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVu
dmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJUicpCisgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVf
ZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9KSEJVSUxEJykKICAgICAg
ICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VC
S0lUX1RPUF9MRVZFTCcpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lm
X3NldChlbnZpcm9ubWVudCwgJ1VTRV9QTEFZQklOMycpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFs
dWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ0dTVF9ERUJVRycpCkBAIC0xMjEs
NyArMTIyLDggQEAgY2xhc3MgV1BFUG9ydChQb3J0KToKICAgICAgICAgcmV0dXJuIDIKIAogICAg
IGRlZiBfZ2V0X2NyYXNoX2xvZyhzZWxmLCBuYW1lLCBwaWQsIHN0ZG91dCwgc3RkZXJyLCBuZXdl
cl90aGFuLCB0YXJnZXRfaG9zdD1Ob25lKToKLSAgICAgICAgcmV0dXJuIEdEQkNyYXNoTG9nR2Vu
ZXJhdG9yKHNlbGYuX2V4ZWN1dGl2ZSwgbmFtZSwgcGlkLCBuZXdlcl90aGFuLCBzZWxmLl9maWxl
c3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlcikuZ2VuZXJhdGVfY3Jhc2hfbG9nKHN0ZG91dCwg
c3RkZXJyKQorICAgICAgICByZXR1cm4gR0RCQ3Jhc2hMb2dHZW5lcmF0b3Ioc2VsZi5fZXhlY3V0
aXZlLCBuYW1lLCBwaWQsIG5ld2VyX3RoYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlciwgc2VsZi5wb3J0
X25hbWUsIHNlbGYuZ2V0X29wdGlvbignY29uZmlndXJhdGlvbicpKS5nZW5lcmF0ZV9jcmFzaF9s
b2coc3Rkb3V0LCBzdGRlcnIpCiAKICAgICBkZWYgY29uZmlndXJhdGlvbl9mb3JfdXBsb2FkKHNl
bGYsIGhvc3Q9Tm9uZSk6CiAgICAgICAgIGNvbmZpZ3VyYXRpb24gPSBzdXBlcihXUEVQb3J0LCBz
ZWxmKS5jb25maWd1cmF0aW9uX2Zvcl91cGxvYWQoaG9zdD1ob3N0KQpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0ay5j
cHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZv
bnRzR3RrLmNwcAppbmRleCAzZjhlMjQ0MGYyODNlNGI0ZTU0MjdhZDY0NGQyYjNiNGUzMTk2NWEx
Li44MWJjZDk2MmEwOWM3YWNmZWYyMmVjMmY0OGJjMDJiMjQ5YTU2YzQ0IDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3Rr
LmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3Rp
dmF0ZUZvbnRzR3RrLmNwcApAQCAtNjUsOCArNjUsMTMgQEAgQ1N0cmluZyBnZXRPdXRwdXREaXIo
KQogCiBzdGF0aWMgQ1N0cmluZyBnZXRGb250c1BhdGgoKQogeworICAgIC8vIFRyeSBmbGF0cGFr
IHNhbmRib3ggcGF0aC4KKyAgICBHVW5pcXVlUHRyPGNoYXI+Zm9udHNQYXRoKGdfYnVpbGRfZmls
ZW5hbWUoIi91c3IiLCAic2hhcmUiLCAid2Via2l0Z3RrLXRlc3QtZm9udHMiLCBOVUxMKSk7Cisg
ICAgaWYgKGdfZmlsZV90ZXN0KGZvbnRzUGF0aC5nZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0
PihHX0ZJTEVfVEVTVF9FWElTVFMgfCBHX0ZJTEVfVEVTVF9JU19ESVIpKSkKKyAgICAgICAgcmV0
dXJuIGZvbnRzUGF0aC5nZXQoKTsKKwogICAgIENTdHJpbmcgd2Via2l0T3V0cHV0RGlyID0gZ2V0
T3V0cHV0RGlyKCk7Ci0gICAgR1VuaXF1ZVB0cjxjaGFyPiBmb250c1BhdGgoZ19idWlsZF9maWxl
bmFtZSh3ZWJraXRPdXRwdXREaXIuZGF0YSgpLCAiRGVwZW5kZW5jaWVzR1RLIiwgIlJvb3QiLCAi
d2Via2l0Z3RrLXRlc3QtZm9udHMiLCBudWxscHRyKSk7CisgICAgZm9udHNQYXRoLnJlc2V0KGdf
YnVpbGRfZmlsZW5hbWUod2Via2l0T3V0cHV0RGlyLmRhdGEoKSwgIkRlcGVuZGVuY2llc0dUSyIs
ICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgbnVsbHB0cikpOwogICAgIGlmIChnX2Zp
bGVfdGVzdChmb250c1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RF
U1RfRVhJU1RTIHwgR19GSUxFX1RFU1RfSVNfRElSKSkpCiAgICAgICAgIHJldHVybiBmb250c1Bh
dGguZ2V0KCk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250c1dQRS5jcHAKaW5kZXggYTQ5YzdhMjkyMTgy
NTkxZTI3MjdiMmI5MDFlNDEyYjJkZThlMDNkYS4uOGJlNzM2ZjA0OWM5MWIzMDhjZDJjMWVjYWYx
NDA1YTA1YzFhZTUwMCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250c1dQRS5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250c1dQRS5jcHAKQEAgLTU4LDggKzU4
LDEzIEBAIENTdHJpbmcgZ2V0T3V0cHV0RGlyKCkKIAogc3RhdGljIENTdHJpbmcgZ2V0Rm9udHNQ
YXRoKCkKIHsKKyAgICAvLyBUcnkgZmxhdHBhayBzYW5kYm94IHBhdGguCisgICAgR1VuaXF1ZVB0
cjxjaGFyPmZvbnRzUGF0aChnX2J1aWxkX2ZpbGVuYW1lKCIvdXNyIiwgInNoYXJlIiwgIndlYmtp
dGd0ay10ZXN0LWZvbnRzIiwgTlVMTCkpOworICAgIGlmIChnX2ZpbGVfdGVzdChmb250c1BhdGgu
Z2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfRVhJU1RTIHwgR19GSUxF
X1RFU1RfSVNfRElSKSkpCisgICAgICAgIHJldHVybiBmb250c1BhdGguZ2V0KCk7CisKICAgICBD
U3RyaW5nIHdlYmtpdE91dHB1dERpciA9IGdldE91dHB1dERpcigpOwotICAgIEdVbmlxdWVQdHI8
Y2hhcj4gZm9udHNQYXRoKGdfYnVpbGRfZmlsZW5hbWUod2Via2l0T3V0cHV0RGlyLmRhdGEoKSwg
IkRlcGVuZGVuY2llc1dQRSIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgbnVsbHB0
cikpOworICAgIGZvbnRzUGF0aC5yZXNldChnX2J1aWxkX2ZpbGVuYW1lKHdlYmtpdE91dHB1dERp
ci5kYXRhKCksICJEZXBlbmRlbmNpZXNXUEUiLCAiUm9vdCIsICJ3ZWJraXRndGstdGVzdC1mb250
cyIsIG51bGxwdHIpKTsKICAgICBpZiAoZ19maWxlX3Rlc3QoZm9udHNQYXRoLmdldCgpLCBzdGF0
aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNUX0VYSVNUUyB8IEdfRklMRV9URVNUX0lTX0RJ
UikpKQogICAgICAgICByZXR1cm4gZm9udHNQYXRoLmdldCgpOwogCmRpZmYgLS1naXQgYS9Ub29s
cy9mbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttIGIvVG9vbHMvZmxhdHBhay9maWxlcy9kZWZhdWx0
LnhrbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDE2ZjZiMDhmNmQ4MDg1ODA5Njhi
YTAyMjU2ZDkwNzVkNDhhNDdkMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKbGl0ZXJhbCAxMjAz
Mgp6Y21jZ3lZajdMYWItdWU7NUZraVZsMyVmRmNTXnJ4KiROWTJMNHNpR3JVQyh3cHp0JlJsOUgy
JXJBU3okTVVnWn0Kek4+LWY0Tn5WKF5vd1VnYE56LUB5dERVfj5SQ1V3TlJER3FYYD4pZ0tZZFc0
emBmP202YW9kQCtvdk5MJS0qQGo+Cno+fmFtSXMlTyZXOURlKHFkKE9TKktLOTxiaStsTHVnPWc9
SUA1aTIzTikwR1dlTX1YVTEwMFYyREt5fGl1U1BCNAp6cFUyalkrUThSYDk9fDY3WSotSUg5QSRj
Wl9uN0NXKWMkd0hSQmk4S1dvelhFeWR4Xk51P3RNN082TzglcXJLTWMKemJSMVJETj1HI3sjI0ot
RndZbDVmK0U2TzREIXUhSllPTyVJIUs/PDJ8SUdUT2oqMnFSKilDJE5jNk9IKWN4IUxGCnooKj41
VTVXVSMlUkdtdyFvbDdUe0hgYlNUSXk9WG94IW1kUVVVXmktX3dQcVVOKT1tcWxgQUd3NUVxaCRq
NilfTQp6OE9TNmczel5DbFElTU55UXRvdVEpb0FDWVJqdlRQMHtqWl9FNU5TK3pYSlJVQEdIUXQw
S1dxSzNoKm5XKy1BRjMKenRLezMyVHBvVVRffnFmM2hoSDlrZEhDaHdteG9eLWV0RyFpUT5re1BQ
XmA/Zk4rYDNFbn0qKnN7SEViSTRabXNsCnpPflk+KmUkKClxaFRuODUqPSlCOzx3a1lCbEI9e15q
ZUllbVlxVnl7JHJRd2VxI0AmdzJ9bE1xM0NUakhYM0Q4Iwp6dHkoRiFAfEFNQUZ7I1JwRU15QU9u
bENyVGZmSkFuQnYmWG1RYX40eWg5bl97TkBieXZXfTgtOHZ1KSZzQD19TzMKemxgN31qeHpiIVNT
MVEpWnJFK189SSR0V0RZVUhjc016UGpKZCUkPDAoUU1fTGhfX09rRFV8QmY7KFNBPyNfVzhmCnpR
ay1jd1hHYHMzdClMM14jYWQmd1BAQWlANms0Uz9tdldRVWBGMyVrVUt4WCZYdyg7KiRueSM0R21Z
R1EzeiZzVwp6bTE/dDwoeTlDY2BZdjVyb1UxaDxgRmdke1lTJGFOKzF5O0NTI1FrTzNpWCswdCh+
dG8mZVJjQ0JpQ3hyJSsoNnsKemBMLSQqRH4tOS1fI18xUmpaZSpgQ1gkZDgjRCUwRzxCJG5SMV9I
WVkqaUZETDFHXjBER08pfFFFKDV5Xj5AdSorCnp6JUIjMzREMlJoSHduOCoqaUZLMjVfWGZZbn1w
cFk+P1VEMTNBLSVwdmFyai1FKF5PWD82Uj1TIVkmS0RFYk93ZAp6bkBYYlgoYSRPTGF8LT5PTE8t
WF8mbmZoQzNqT1JOLTlgVm43IU5NJi0wXkNtd1RSfGQpbllyPm5yfTJxWEJ5MnAKekg8XlZAJkFG
KjBCbjVGSFh+O05hMCtOQURMU1VESW9lTWhgYn1zQigqdHhLQ1ZkdWltZyZxM0NienpyPVReZT8y
CnoqcmoyWWhGdXpWWTFwTTxteGYmJGNIXiljaHV0e3IjJGgpT3lLJmYhIXcmdTdxQ1pecGhsfkRq
KEh9MVEhJHA2JQp6PW5yPmRMTyhQNGwqXylaN0hqaS1tUCR7eVhFX0VjKXBtfktwaC1sPGJDdWE5
JDRhP0BNO3AmfFdxSjFycGJLMEMKenJoIUdeSUlzenYwTWFmNEpPaThyJkk3WitJcDdxcSZTeExr
ITFLKWZhek4oUzB5NGg+a29uQzNuY3Btc2BJVWdvCno/LVk+dm00VkRwS21XaWRAdGlaQyg/STV2
MlFyQHBBb0gwOUdNXmZkYEJjNjZKRlpyP0VeY3BoYn57U2wjfFBDaQp6R058Z2M7IT5yIVBeQHNT
LW4+RyFFZHJaQyluMlNpeH0mQnNrTHZrJFpUK2NUNkBpXmlUaURTanA+bVoqREt9a2cKeiYqZVFe
TjlDOGRjYklQWndrVWkrbTVYT0VtdzB2cVRyPHZmeCl3Nmo8PlRMPVlMKF9AKzl4PFJKdi09Rl82
YVQ9CnpDJXJnTkRzQDtqQD1GLUojaWp8P01MaiRwWismbilkcT02R3c5blVUP1BrNT1kM2czUSlt
d3M0IUlMSClieUQzJQp6cFVPY2UmbkxLVURTSzNXTXZZSk5XPExKOSRIdmsxUjw9NkNhIX4xVFQ7
NXUkPzZ9eSopcmdNQ0h9Pk4zKT52ZzkKejUhKWxpbUlHY2dfSEU1TjlFfWJyaGJ1ayQoPzt0PkVK
cnpMdzdBTipuLSQjK2RmMT84ZCs2blhIcjhWeiZiNHtlCnpqMSVkclFUNyRgKnpJb1VaZDAraXFZ
bFRCTmQpPUcqa081ZyNGUURhU3VYbDdoT3JpZjN9OWFaI1ghdGF1XyREfgp6TEh8fGlgQ01oR0lF
TXdvKUY7XkFJK2cqbVhHam01KmhjaloxZ2pMckJ4MiFzKWlJQmY0VC1ITDI8XytyQUVVSngKenBU
dy09TWYoaD9jQnh0UG99ZEZgP20hR3krXzdTKV5NU1NuV3Brc3x0KGZJbExuPklDeDhgLVR3emJy
MDY7cjIyCnpPJUplTXJgaEpaN2x1NSY/Z2NiQzt5NUk2YUorZl8lcjxCSHF1RiYjUTRCe2Z1OSlw
dTB9O28lRDtPVUpYIXUkRwp6LV5SZklFellRUVVwekR4TCshPFZVSzk7RmZTcTU9IWNHKkk0TlV8
IXUrVUY3Pkoodn1QP3NuK3RPS1k9NEUxbUAKejdleW9Sdio4emtVaiUrT3szMjI3LVVEXmleV3hJ
WCt5WGtkby1jRlloYnwxPzE2UDxJTkRQcCRVNl5+T3hCN2hqCnp6cVQjTSY4QGJyampsbDMrR3lL
ajJpbiNqS2ohaGhjezdMR0NkfEZJZGJ7fVRYPUJHNGs/fFhSJlUpPEBjK1R8TAp6bHNVaX5xdSs2
JHR5O3pFb1pudklkWkloPDlRKVZKX193Mjs3VXBGPFZoODU2Z3FvPyglUX0za1dreHVeT0ZxSCYK
el41JiZHMTk9OWZwMH57VEg9ODMoeyRAVDI9SWB+I0o7RDZIYiN2PnNXKmdzWC03RSs1NEM9OzQo
dGpBaGRpfXQ+CnojV2ZjNW0zbHw4e09hODRWcXdXX2tPSmorZCEoRHlHM3BHTXpDZEkpXlRvdEI5
TClFJEFNPyVmMihIdD9IcSgxTwp6PGpaKjNXP1U7Q1BfMUdFSkxxPENpTGFTVXhtc2FLQDdSSkpn
IXNjXzZSTmtnOXJsaVZyPFhPJHRqayZoK1gmWnUKej47biQwb3lhc2UkS01nR1hRTUxUa19yMShg
dzA2YntsUzhMKWY8UUN0PXteR3pPdkN6TX15QF40fCEkdT5tT2FPCnpRUTZ4ZktZbHxBPyF9K091
RlU9Pj5oZ3A4WGo5ZnVzbl87VlhMfSNwQmczQnUtJCNBMXFgP3BmYH44biNRS0wxKwp6bF9UN3kw
ZURvbndnPi07X1ElTFc4fWZRMSNKe1kwcUw9PTloPHtie3A8ZXBlTGozRVI1QkpqRjREbVpPa0xq
Xz0KekB7ajhIdSFsd2J0aW8tPTg5KHskIVdscExodkAmfEt+Iy1RPlRtNUl0VXZnSGBoJEQqQTdG
bSlrMj1PYkV9WS0yCnpjcU11cTE+cVZkaGQ7Knd1YU89JV9BZkNXWXV9MmdlRlVNQFBseCNEZEt9
SjN8QWBSKWIpUiFPUChLeW8qTG9jSgp6PE5DMT5mNFJwXjElNW9sZjN3SDthVmhvYjVkVkNTcWFM
e2JPbzshTSZuPjNeV1FoTlVhQmtzd3tZOzRlc1BLZWkKeiNfejklXyRQZz9yLW9rKUBsV3wmY2oy
I3VfJTkyTyVncGppQV54SzlMNzh9ZEhwRzlgPEVBXitYRzhvaWc/c1Y7CnptQ3RwS2U9VkgtJi1W
Rzc5I15gKFVLUUBPJilAZGFWVTA0cylaPHtfdWdtIUk/NyFsMzlwTXszKlg0aUo9ZW04fgp6Pn5U
fSFmQStjZHt9LVFZZ01hbjhfV3k/UExEUVk7LStacTl8Sn49PnwzN0BMe3JeKz1WZnI2WT5QQz17
RCluRSYKekZ+aktte0BkcWgzOGw3IV85dkJrQ2N4Pj80UkUmQ1BMTHlfLTV8I155QkZrVylKczgq
XyR+K2VzOFlgY0kzTXtkCnowblJAOEshQ0ZXe3pDWEw/c0A2Pyl0aXJDcHkkXkIqWW00ej1DOX0x
ME4zLVlhRihhJSo4dGJedDhqI2BeIXlzJgp6ZWBtJU1UR3pDJV8wOU1aJlFGSyVhPj5pP2FvdjRi
S2ZIOV5lT055e1pZSTJGa0RDUSFwdlVuZGp3e3lWY3RPViUKej97UEROMlljTCVzNj53XndFYSt6
NHsxSyE8RUJMKTdYSHlqY2VaPE9NP0t7OCNyNGV7Xj89N3VFTDY4dkpMKkE/CnpqflRBbDdpa34x
Zkw+cH41M0RjWHRVYzVKTiFsO01rMSVyQzQlMjxVa00tREZLVmQ+VUVtKCMxPzslSWtfUjVMOQp6
b2ZHU3VvISNVNVg5eGJ5Zlp0RzVhcjZBZmBwKCt1QCVoJUhDVWZARXkoa2x9cCgrS3t7bWN5YXtB
UDdoPylmcU8KekxBZjZYSnx5PU96PSEyTjEzV0FEbGZZd2dwOU1aOV9meD4qYS1SZTsxZVBAaFQk
MjBtMSloLW1JTzN3dlcpTGB2Cnp2NXRFeV8tKmVRKmdqJEc1OWx2THg3YkpEZnYoc2AtLVdLKE42
KzdqK0l7cj1IaEhGeGVoPDMmS0tnYSY9S0FRagp6cHNWLU1aJHNCR2RpN3I1YjhgUUY7MTU5OVot
PncoN1dUbVpWQXwrRntnK3tyR2Q+Nk9gMjQ5X2VlfG8pNzVlQygKemZeTWRke3ljUUVlZWBTNG1I
T3pQaFZFMSFKJTUrdXd+VFBWOyoqJUY3YF4lKTtDSVhZQmZ0bWJ7YC1MK2ZeZSRnCnp5dSkkd0tK
WDdoIXVmcHd4K25ZU3BNPyZ1QjUkIUBmaUItaWUranlVS0tnVWVQNTA0bkxSYWdmelglO1ppMGhj
Jgp6MzRDMWMtdnhZKytgays2ZUd0fn4/QD5RfnA5X0JmPFgkQnhfaGFze1ZaaytrXkV9N01zUD96
QHlifGBtNHg2QkcKenRgNkokRV5MQ3JgOCNhJGQkMCkjPWsmMTZANTNmMm9hZShmZSpsfUhhUEFN
PXsyXj9EIXUyMypeOTklaGc9PDlFCno9OHM/IzZze1gjbj1pczlDfHBhekhoJkQ4cG0yUyR0Uncx
cT0tS3shLXs4Mzl6TCRHcC1nQSUzZUp9NjFwWERBbQp6b0c8czhMRSpZV2QreHV2Qys5dSl5ND9U
cnA4SWFAI2whaDxLTj1MU1NHNERRMF5jMlkmdnlkOEMtOSM4ZjQmcCYKem9fa2c5VXdRdm9Bb3JA
NGJ5ZElmVk9aZlM1JDl0NmB3R1Z9JDFiMTBwTSEqQmM/SkdLO28yTHZgNGlYI2gzaGYwCnoocnRO
Nm15YjBeQElrPngxUm5yO3dtKzxPamB+TW54RDM3bjFaQzg7aTUzMj5WO09kTExod3ZrIVFZO15y
K09YMgp6eyFJdXIxZT0yTWY9PnZ4MVEhTHtmKHdFeGc4TStQNCE3LWRFYTRxaEBPSHQrMWI7Xy1V
VjtQcSRtO2h5KChTT2gKekFhPHdWJEcmN2duIWQhRUZLT2RJUXw/S3tKKW1XcylPJGFjZV9tfFgx
KW1iIS1qQ3x8ST5NaDN6OXtpczVXRmIzCnpDVSZRVktQfGk/ezV5ZHIyQnFGRHgpWHgkN2tuO1le
RnlNYDJ+Rz5YT1lsai1Gfk1FST1MUFEoT2JWdDJqfG5+awp6Xnh9Q1o/JTglazNmdHUhcVBxaV82
NVU7KnlBJFp5LTZ2YDk1IT9pTmBGPmIqY01JK2FFe0toMV9wSW96MnkhM0EKejdgVFRidThIMzM4
IXo5WT13fTNIMXh0YytLKENDP2lTOEUhVWxlPylYTEQ3NXw2bmB0O3lUMGloUyEoJXtZaWIjCnpA
bmQ4QkBjTyMrRzI0aTdkaExgS1VKeHRgez02WFRQa1lickd2TGdSSXpFQCl7bGBWYGFqI0UqTUV2
ZytUb1FhLQp6QFRfMTQ9PXBsJUowZlllcGV1TXImPURMRWowJHBXR1FPX2hDaj43R3pFfCoqZn1h
eG5HKkRPUUNqWGN4RkF1JSoKelA5eENtPEYjaXtAcHRWfXtuNjA2JTNxZXY3M2M1Uk15PjN0LVdN
eHstd0RsR0NQfjcoZ2A9KkQ0fVdqSXhWXj1uCnoqN15DYWNSOHhPeXQkMEl3NVE+SFlvcFdJIyYy
SCE2fnA8Ym8kYnloX21jPiVjajB7MDkpSXNRcXM2RzlUaT9NKAp6WXBgZDxHT05xJCohLUVkR24w
VGwmKVJiTHtRQm0zI19uSTxaPkZzSEBLeVBzaFVBITw/UVpSRGtNYlNuJntmKj0KekQ7eDh5WnRk
LUtNJDRUbUowcWppPXVaVHdoZERQa2kxKClCK2JnTiQjR35xY3g1WjxhUWM8X1ZoJCpJRHVxTT5s
CnpWYEZRYmpaMi1+Xl9BdFppPUVaPXleQ1lydkNYYVMjcFI3TEI7cF90eytxd2Bvdm16a1ZybmRm
bXsmVkhFOFg/Jgp6LVNzVyoyWnoqYlhTMzU/VWx+UEY7OEFzTVZ8bkVRQGJjT144ZmllQz97PT1a
TnJTMG1sKVNUdkNeViolQE5yYkYKei1veXNkIyk1JUdTWTUtUDRaSClqZDt4Iz40dmY9YmUpPFAz
S1loKCZJIT15WjxMJncxOVl9WHtJIX4+OXQ4fF9zCnohfW17bzM/N2lxeCpPeTRabVZtI2lnRkU2
VWVqcmUkdzgyZ2I9STB1bG90QF4zcCFyKjVxPERHSTZtOV48KCYkfAp6bGhOXztecUhUMkJUKFBo
YmJXYysldW9NRCEyZTZ5emdqTkA+Tl5yaHpvR3FHRiEyM2YzKmBUMkNMSmYoe1BkP0MKenpkYVk2
N3dgPTZecUhVRDRkajFUbShTQmBlKT1gRWs+Nml1UVU2TUBmY28+SjlVdTJNP05eV3xiaCE2KUY0
ezQhCnpYNylCJCVzX2ZvVH57dzN4KCo4clJhXj1EYVUkVmFMVWY2WnZ2akZmOzB8PWJpRHwpYyEz
bTU8Pk5DUDgxKyMpdgp6Q093cmpKZTNtRWBTR2tBaE0yezNkZXJsKjg8QSVzeDdVYHtJczNaRzQ4
MHR8XkI0OHY4XkkwRktoWH43OEZoWEAKem9nWXhnMmh7TmFDJlcoMjJkPzctPmlCP0RDZiZyeGJD
SlN6ZXRaSihvZXdSVXolTHNwN2lUM0NfPk97ZVFOfEFFCnpzPGJgTVJTQkFNYWpyX1pESHJGZWdx
dzE0dUY3eUo3dzBPND4tX2orVjZAdkcjaDU+WWF5aGFTRHIpMldsKEVENAp6RHtZVlNTQXdRb29X
QnhvJUVrRkI7aWc9aXpjTzZQI2tvdiFLQj5lNDF7Qk5WbGFqIVIwLWtAPV9CZ0w4WHYpUVQKekUj
YW5Jb1l4WD0lRWZzdDtpZz1pPVFQfXUlT0A/TlZ6d1JPY3RtK1BKQmQ0Kz1oK2YhKEJecWhCRn10
Y09qPG5WCnpMKFgkPE00b311VD5BfiRGOyFlJC1fX0dRIyFQYSFVfnxrMkk+O0xSbUI0ZD1aem5p
d2k1UDYyJHQzYmpDWHMjMQp6YmVfV2A9bE0qTlVPLXZPRjJJNWgyaFZZbUdpS1dKSmZ9e19TeHpG
KWJgbyhHdGFEfDFkRyh6QTspb3EjOUVzbDgKeldrNVdhTjt7cXZIQ1JQbSRYZ20yNUFBcXY2PyUo
alJ9REBIPF9aWmx0ajdsOTtDV1YpSnxVUlYkaTZpQnEoc2xCCnpwWlRRKWktPnp6Kk18IX1YUDwt
YExWN2B1MSlLcnZ0VHZXNko2S0M/XntWPTlKT0J8NjRxVS1+ZnJHakNZYT04MAp6ck97bCR5QFg/
VHQ9QTZ3WTJrZj82WHt4UzlQIWhLeXxkUHA8I1F9STtAblZRSylHTDN0MiVSQ1pvPlN3YEY3WFIK
ekx3Y3tuSldMXng9blp4S0Z6UkhQR0VEcllraGZkTDtsTnBNc2Z2bVcrKSRzIzxvWW93JDc+Nnpq
KFdSZ2FjO284Ck1ra3NkfmJJSWlZMDgzSzAyPjx7OQoKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRw
YWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaCBiL1Rvb2xzL2ZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0
b2dlbi5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMWMwYzQ4MzA1MWZiZGY4NjA0
Yjk0NGE2MzUxMWM0ZTEyMWVhZWY0ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL2ZpbGVzL2h0dHBkLWF1dG9nZW4uc2gKKysrIC9k
ZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLWF1dG9tYWtlIC0tYWRkLW1pc3NpbmcKLWF1dG9yZWNv
bmYgLS1pbnN0YWxsCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL2ZsYXRwYWt1dGlscy5weSBi
L1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5CmluZGV4IDg5ZWJjNjczMTBjMWQ1Yjg0Yzkw
Y2Y1NDA3Zjk0MGMwMWIwNWVlZTYuLmI3M2NkYTRiOTY3NDUxMjY0OGYyODMzNGMwNzk1MjlkNTQ3
MTBmYTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5CisrKyBiL1Rv
b2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5CkBAIC00OCwxNiArNDgsMTEgQEAgZXhjZXB0IElt
cG9ydEVycm9yOgogICAgIGZyb20gdXJsbGliMiBpbXBvcnQgdXJsb3BlbgogCiBGTEFUUEFLX1JF
USA9IFsKLSAgICAoImZsYXRwYWsiLCAiMC4xMC4wIiksCi0gICAgKCJmbGF0cGFrLWJ1aWxkZXIi
LCAiMC4xMC4wIiksCisgICAgKCJmbGF0cGFrIiwgIjEuNi4yIiksCiBdCiAKIEZMQVRQQUtfVkVS
U0lPTiA9IHt9CiAKLVdQRV9NQU5JRkVTVF9NQVAgPSB7Ci0gICAgInF0IjogIm9yZy53ZWJraXQu
V1BFUVQueWFtbCIsCi19Ci0KIHNjcmlwdGRpciA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRp
cm5hbWUoX19maWxlX18pKQogX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCkBA
IC0xMjMsMTMyICsxMTgsNiBAQCBkZWYgY2hlY2tfZmxhdHBhayh2ZXJib3NlPVRydWUpOgogICAg
IHJldHVybiBUcnVlCiAKIAotZGVmIHJlbW92ZV9leHRlbnNpb25fcG9pbnRzKGFycmF5KToKLSAg
ICByZXN1bHRfYXJncyA9IFtdCi0gICAgZm9yIGFyZyBpbiBhcnJheToKLSAgICAgICAgaWYobm90
IGFyZy5zdGFydHN3aXRoKCctLWV4dGVuc2lvbicpKToKLSAgICAgICAgICAgIHJlc3VsdF9hcmdz
LmFwcGVuZChhcmcpCi0gICAgcmV0dXJuIHJlc3VsdF9hcmdzCi0KLQotZGVmIHJlbW92ZV9jb21t
ZW50cyhzdHJpbmcpOgotICAgIHBhdHRlcm4gPSByIihcIi4qP1wifFwnLio/XCcpfCgvXCouKj9c
Ki98Ly9bXlxyXG5dKiQpIgotICAgICMgZmlyc3QgZ3JvdXAgY2FwdHVyZXMgcXVvdGVkIHN0cmlu
Z3MgKGRvdWJsZSBvciBzaW5nbGUpCi0gICAgIyBzZWNvbmQgZ3JvdXAgY2FwdHVyZXMgY29tbWVu
dHMgKC8vc2luZ2xlLWxpbmUgb3IgLyogbXVsdGktbGluZSAqLykKLSAgICByZWdleCA9IHJlLmNv
bXBpbGUocGF0dGVybiwgcmUuTVVMVElMSU5FIHwgcmUuRE9UQUxMKQotCi0gICAgZGVmIF9yZXBs
YWNlcihtYXRjaCk6Ci0gICAgICAgICMgaWYgdGhlIDJuZCBncm91cCAoY2FwdHVyaW5nIGNvbW1l
bnRzKSBpcyBub3QgTm9uZSwKLSAgICAgICAgIyBpdCBtZWFucyB3ZSBoYXZlIGNhcHR1cmVkIGEg
bm9uLXF1b3RlZCAocmVhbCkgY29tbWVudCBzdHJpbmcuCi0gICAgICAgIGlmIG1hdGNoLmdyb3Vw
KDIpIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcmV0dXJuICIiICAjIHNvIHdlIHdpbGwgcmV0
dXJuIGVtcHR5IHRvIHJlbW92ZSB0aGUgY29tbWVudAotICAgICAgICBlbHNlOiAgIyBvdGhlcndp
c2UsIHdlIHdpbGwgcmV0dXJuIHRoZSAxc3QgZ3JvdXAKLSAgICAgICAgICAgIHJldHVybiBtYXRj
aC5ncm91cCgxKSAgIyBjYXB0dXJlZCBxdW90ZWQtc3RyaW5nCi0gICAgcmV0dXJuIHJlZ2V4LnN1
YihfcmVwbGFjZXIsIHN0cmluZykKLQotCi1kZWYgbG9hZF9tYW5pZmVzdChtYW5pZmVzdF9wYXRo
LCBwb3J0X25hbWU9Tm9uZSwgY29tbWFuZD1Ob25lKToKLSAgICBpc195YW1sID0gbWFuaWZlc3Rf
cGF0aC5lbmRzd2l0aCgnLnlhbWwnKQotICAgIHdpdGggb3BlbihtYW5pZmVzdF9wYXRoLCAiciIp
IGFzIG1yOgotICAgICAgICBjb250ZW50cyA9IG1yLnJlYWQoKQotCi0gICAgICAgIGNvbnRlbnRz
ID0gY29udGVudHMgJSB7IkNPTU1BTkQiOiBjb21tYW5kLCAiUE9SVE5BTUUiOiBwb3J0X25hbWV9
Ci0gICAgICAgIGlmIGlzX3lhbWw6Ci0gICAgICAgICAgICBpbXBvcnQgeWFtbAotICAgICAgICAg
ICAgeWFtbF9sb2FkID0gZ2V0YXR0cih5YW1sLCAic2FmZV9sb2FkIiwgeWFtbC5sb2FkKQotICAg
ICAgICAgICAgbWFuaWZlc3QgPSB5YW1sX2xvYWQoY29udGVudHMpCi0gICAgICAgIGVsc2U6Ci0g
ICAgICAgICAgICBjb250ZW50cyA9IHJlbW92ZV9jb21tZW50cyhjb250ZW50cykKLSAgICAgICAg
ICAgIG1hbmlmZXN0ID0ganNvbi5sb2Fkcyhjb250ZW50cykKLQotICAgIHJldHVybiBtYW5pZmVz
dAotCi0KLWRlZiBleHBhbmRfc3VibW9kdWxlc19yZWN1cnNlKG1vZHVsZXMsIG1hbmlmZXN0X3Bh
dGgsIHBvcnRfbmFtZSwgY29tbWFuZCk6Ci0gICAgYWxsX21vZHVsZXMgPSBbXQotICAgIGlmIHR5
cGUobW9kdWxlcykgaXMgc3RyOgotICAgICAgICBzdWJtYW5pZmVzdF9wYXRoID0gb3MucGF0aC5q
b2luKG9zLnBhdGguZGlybmFtZShtYW5pZmVzdF9wYXRoKSwgbW9kdWxlcykKLSAgICAgICAgc3Vi
bWFuaWZlc3QgPSBsb2FkX21hbmlmZXN0KHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZT1wb3J0
X25hbWUsIGNvbW1hbmQ9Y29tbWFuZCkKLSAgICAgICAgYWxsX21vZHVsZXMuZXh0ZW5kKGV4cGFu
ZF9zdWJtb2R1bGVzX3JlY3Vyc2Uoc3VibWFuaWZlc3QsIHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRf
bmFtZSwgY29tbWFuZCkpCi0gICAgICAgIHJldHVybiBhbGxfbW9kdWxlcwotCi0gICAgIyBUaGUg
bGFzdCByZWN1cnNlIG1hbmlmZXN0IGV4cGFuZCBpdGVyYXRpb24gbWlnaHQgbGVhZCB0byBhIHNp
bmdsZSBtb2R1bGUuCi0gICAgaWYgbm90IGlzaW5zdGFuY2UobW9kdWxlcywgbGlzdCk6Ci0gICAg
ICAgIGFsbF9tb2R1bGVzLmFwcGVuZChtb2R1bGVzKQotICAgICAgICByZXR1cm4gYWxsX21vZHVs
ZXMKLQotICAgIGZvciBtb2R1bGUgaW4gbW9kdWxlczoKLSAgICAgICAgaWYgdHlwZShtb2R1bGUp
IGlzIHN0cjoKLSAgICAgICAgICAgIHN1Ym1hbmlmZXN0X3BhdGggPSBvcy5wYXRoLmpvaW4ob3Mu
cGF0aC5kaXJuYW1lKG1hbmlmZXN0X3BhdGgpLCBtb2R1bGUpCi0gICAgICAgICAgICBzdWJtYW5p
ZmVzdCA9IGxvYWRfbWFuaWZlc3Qoc3VibWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lPXBvcnRfbmFt
ZSwgY29tbWFuZD1jb21tYW5kKQotICAgICAgICAgICAgYWxsX21vZHVsZXMuZXh0ZW5kKGV4cGFu
ZF9zdWJtb2R1bGVzX3JlY3Vyc2Uoc3VibWFuaWZlc3QsIHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRf
bmFtZSwgY29tbWFuZCkpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBhbGxfbW9kdWxlcy5h
cHBlbmQobW9kdWxlKQotCi0gICAgcmV0dXJuIGFsbF9tb2R1bGVzCi0KLWRlZiBleHBhbmRfbWFu
aWZlc3QobWFuaWZlc3RfcGF0aCwgb3V0ZmlsZSwgcG9ydF9uYW1lLCBzb3VyY2Vfcm9vdCwgY29t
bWFuZCk6Ci0gICAgIiIiQ3JlYXRlcyB0aGUgbWFuaWZlc3QgZmlsZS4iIiIKLSAgICB0cnk6Ci0g
ICAgICAgIG9zLnJlbW92ZShvdXRmaWxlKQotICAgIGV4Y2VwdCBPU0Vycm9yOgotICAgICAgICBw
YXNzCi0KLSAgICBtYW5pZmVzdCA9IGxvYWRfbWFuaWZlc3QobWFuaWZlc3RfcGF0aCwgcG9ydF9u
YW1lPXBvcnRfbmFtZSwgY29tbWFuZD1jb21tYW5kKQotICAgIGlmIG5vdCBtYW5pZmVzdDoKLSAg
ICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICBpZiAic2RrLWhhc2giIGluIG1hbmlmZXN0OgotICAg
ICAgICBkZWwgbWFuaWZlc3RbInNkay1oYXNoIl0KLSAgICBpZiAicnVudGltZS1oYXNoIiBpbiBt
YW5pZmVzdDoKLSAgICAgICAgZGVsIG1hbmlmZXN0WyJydW50aW1lLWhhc2giXQotCi0gICAgYWxs
X21vZHVsZXMgPSBbXQotCi0gICAgb3ZlcnJpZGVuX21vZHVsZXMgPSBbXQotICAgIGlmICJXRUJL
SVRfRVhUUkFfTU9EVUxFU0VUUyIgaW4gb3MuZW52aXJvbjoKLSAgICAgICAgb3ZlcnJpZGVuX21v
ZHVsZXMgPSBsb2FkX21hbmlmZXN0KG9zLmVudmlyb25bIldFQktJVF9FWFRSQV9NT0RVTEVTRVRT
Il0pCi0gICAgICAgIGlmIG5vdCBvdmVycmlkZW5fbW9kdWxlczoKLSAgICAgICAgICAgIG92ZXJy
aWRlbl9tb2R1bGVzID0gW10KLSAgICBmb3IgbW9kdWxlcyBpbiBtYW5pZmVzdFsibW9kdWxlcyJd
OgotICAgICAgICBtb2R1bGVzID0gZXhwYW5kX3N1Ym1vZHVsZXNfcmVjdXJzZShtb2R1bGVzLCBt
YW5pZmVzdF9wYXRoLCBwb3J0X25hbWUsIGNvbW1hbmQpCi0KLSAgICAgICAgaWYgbm90IGlzaW5z
dGFuY2UobW9kdWxlcywgbGlzdCk6Ci0gICAgICAgICAgICBtb2R1bGVzID0gW21vZHVsZXNdCi0K
LSAgICAgICAgZm9yIG1vZHVsZSBpbiBtb2R1bGVzOgotICAgICAgICAgICAgZm9yIG92ZXJyaWRl
bl9tb2R1bGUgaW4gb3ZlcnJpZGVuX21vZHVsZXM6Ci0gICAgICAgICAgICAgICAgaWYgbW9kdWxl
WyduYW1lJ10gPT0gb3ZlcnJpZGVuX21vZHVsZVsnbmFtZSddOgotICAgICAgICAgICAgICAgICAg
ICBtb2R1bGUgPSBvdmVycmlkZW5fbW9kdWxlCi0gICAgICAgICAgICAgICAgICAgIG92ZXJyaWRl
bl9tb2R1bGVzLnJlbW92ZShtb2R1bGUpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrCi0KLSAg
ICAgICAgICAgIGFsbF9tb2R1bGVzLmFwcGVuZChtb2R1bGUpCi0KLSAgICAjIEFuZCBhZGQgb3Zl
cnJpZGVuIG1vZHVsZXMgcmlnaHQgYmVmb3JlIHRoZSB3ZWJraXQgcG9ydCBidWlsZCBkZWYuCi0g
ICAgZm9yIG92ZXJyaWRlbl9tb2R1bGUgaW4gb3ZlcnJpZGVuX21vZHVsZXM6Ci0gICAgICAgIGFs
bF9tb2R1bGVzLmluc2VydCgtMSwgb3ZlcnJpZGVuX21vZHVsZSkKLQotICAgIG1hbmlmZXN0WyJt
b2R1bGVzIl0gPSBhbGxfbW9kdWxlcwotICAgIGZvciBtb2R1bGUgaW4gbWFuaWZlc3RbIm1vZHVs
ZXMiXToKLSAgICAgICAgaWYgbm90IG1vZHVsZS5nZXQoInNvdXJjZXMiKToKLSAgICAgICAgICAg
IGNvbnRpbnVlCi0KLSAgICAgICAgaWYgbW9kdWxlWyJzb3VyY2VzIl1bMF1bInR5cGUiXSA9PSAi
Z2l0IjoKLSAgICAgICAgICAgIGlmIHBvcnRfbmFtZSA9PSBtb2R1bGVbIm5hbWUiXToKLSAgICAg
ICAgICAgICAgICByZXBvID0gImZpbGU6Ly8iICsgc291cmNlX3Jvb3QKLSAgICAgICAgICAgICAg
ICBtb2R1bGVbInNvdXJjZXMiXVswXVsidXJsIl0gPSByZXBvCi0KLSAgICAgICAgZm9yIHNvdXJj
ZSBpbiBtb2R1bGVbInNvdXJjZXMiXToKLSAgICAgICAgICAgIGlmIHNvdXJjZVsidHlwZSJdID09
ICJwYXRjaCIgb3IgKHNvdXJjZVsidHlwZSJdID09ICJmaWxlIiBhbmQgc291cmNlLmdldCgncGF0
aCcpKToKLSAgICAgICAgICAgICAgICBzb3VyY2VbInBhdGgiXSA9IG9zLnBhdGguam9pbihvcy5w
YXRoLmRpcm5hbWUobWFuaWZlc3RfcGF0aCksIHNvdXJjZVsicGF0aCJdKQotCi0gICAgd2l0aCBv
cGVuKG91dGZpbGUsICJ3IikgYXMgb2Y6Ci0gICAgICAgIG9mLndyaXRlKGpzb24uZHVtcHMobWFu
aWZlc3QsIGluZGVudD00KSkKLQotICAgIHJldHVybiBUcnVlCi0KLQogY2xhc3MgRmxhdHBha09i
amVjdDoKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB1c2VyKToKQEAgLTI4MCw0NSArMTQ5LDI1
IEBAIGNsYXNzIEZsYXRwYWtQYWNrYWdlcyhGbGF0cGFrT2JqZWN0KToKIAogICAgICAgICBzZWxm
LnJlcG9zID0gcmVwb3MKIAotICAgICAgICBzZWxmLnJ1bnRpbWVzID0gc2VsZi5fX2RldGVjdF9y
dW50aW1lcygpCi0gICAgICAgIHNlbGYuYXBwcyA9IHNlbGYuX19kZXRlY3RfYXBwcygpCi0gICAg
ICAgIHNlbGYucGFja2FnZXMgPSBzZWxmLnJ1bnRpbWVzICsgc2VsZi5hcHBzCi0KKyAgICAgICAg
c2VsZi5wYWNrYWdlcyA9IHNlbGYuX19kZXRlY3RfcnVudGltZXMoKQogCiAgICAgZGVmIF9fZGV0
ZWN0X3BhY2thZ2VzKHNlbGYsICphcmdzKToKICAgICAgICAgcGFja3MgPSBbXQotICAgICAgICBp
ZiBGTEFUUEFLX1ZFUlNJT05bImZsYXRwYWsiXSA8ICgxLCAxLCAyKToKLSAgICAgICAgICAgIG91
dCA9IHNlbGYuZmxhdHBhaygibGlzdCIsICItZCIsICphcmdzKQotICAgICAgICAgICAgcGFja2Fn
ZV9kZWZzID0gW2xpbmUgZm9yIGxpbmUgaW4gb3V0LnNwbGl0KCJcbiIpIGlmIGxpbmVdCi0gICAg
ICAgICAgICBmb3IgcGFja2FnZV9kZWYgaW4gcGFja2FnZV9kZWZzOgotICAgICAgICAgICAgICAg
IHNwbGl0ZWRfcGFja2FnZWRfZGVmID0gcGFja2FnZV9kZWYuc3BsaXQoKQotICAgICAgICAgICAg
ICAgIG5hbWUsIGFyY2gsIGJyYW5jaCA9IHNwbGl0ZWRfcGFja2FnZWRfZGVmWzBdLnNwbGl0KCIv
IikKLQotICAgICAgICAgICAgICAgICMgSWYgaW5zdGFsbGVkIGZyb20gYSBmaWxlLCB0aGUgcGFj
a2FnZSBpcyBpbiBubyByZXBvCi0gICAgICAgICAgICAgICAgcmVwb19uYW1lID0gc3BsaXRlZF9w
YWNrYWdlZF9kZWZbMV0KLSAgICAgICAgICAgICAgICByZXBvID0gc2VsZi5yZXBvcy5yZXBvcy5n
ZXQocmVwb19uYW1lKQotCi0gICAgICAgICAgICAgICAgcGFja3MuYXBwZW5kKEZsYXRwYWtQYWNr
YWdlKG5hbWUsIGJyYW5jaCwgcmVwbywgYXJjaCkpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAg
ICBvdXQgPSBzZWxmLmZsYXRwYWsoImxpc3QiLCAiLS1jb2x1bW5zPWFwcGxpY2F0aW9uLGFyY2gs
YnJhbmNoLG9yaWdpbiIsICphcmdzKQotICAgICAgICAgICAgcGFja2FnZV9kZWZzID0gW2xpbmUg
Zm9yIGxpbmUgaW4gb3V0LnNwbGl0KCJcbiIpIGlmIGxpbmVdCi0gICAgICAgICAgICBmb3IgcGFj
a2FnZV9kZWYgaW4gcGFja2FnZV9kZWZzOgotICAgICAgICAgICAgICAgIG5hbWUsIGFyY2gsIGJy
YW5jaCwgb3JpZ2luID0gcGFja2FnZV9kZWYuc3BsaXQoIlx0IikKKyAgICAgICAgb3V0ID0gc2Vs
Zi5mbGF0cGFrKCJsaXN0IiwgIi0tY29sdW1ucz1hcHBsaWNhdGlvbixhcmNoLGJyYW5jaCxvcmln
aW4iLCAqYXJncykKKyAgICAgICAgcGFja2FnZV9kZWZzID0gW2xpbmUgZm9yIGxpbmUgaW4gb3V0
LnNwbGl0KCJcbiIpIGlmIGxpbmVdCisgICAgICAgIGZvciBwYWNrYWdlX2RlZiBpbiBwYWNrYWdl
X2RlZnM6CisgICAgICAgICAgICBuYW1lLCBhcmNoLCBicmFuY2gsIG9yaWdpbiA9IHBhY2thZ2Vf
ZGVmLnNwbGl0KCJcdCIpCiAKLSAgICAgICAgICAgICAgICAjIElmIGluc3RhbGxlZCBmcm9tIGEg
ZmlsZSwgdGhlIHBhY2thZ2UgaXMgaW4gbm8gcmVwbwotICAgICAgICAgICAgICAgIHJlcG8gPSBz
ZWxmLnJlcG9zLnJlcG9zLmdldChvcmlnaW4pCisgICAgICAgICAgICAjIElmIGluc3RhbGxlZCBm
cm9tIGEgZmlsZSwgdGhlIHBhY2thZ2UgaXMgaW4gbm8gcmVwbworICAgICAgICAgICAgcmVwbyA9
IHNlbGYucmVwb3MucmVwb3MuZ2V0KG9yaWdpbikKIAotICAgICAgICAgICAgICAgIHBhY2tzLmFw
cGVuZChGbGF0cGFrUGFja2FnZShuYW1lLCBicmFuY2gsIHJlcG8sIGFyY2gpKQorICAgICAgICAg
ICAgcGFja3MuYXBwZW5kKEZsYXRwYWtQYWNrYWdlKG5hbWUsIGJyYW5jaCwgcmVwbywgYXJjaCkp
CiAKICAgICAgICAgcmV0dXJuIHBhY2tzCiAKLQogICAgIGRlZiBfX2RldGVjdF9ydW50aW1lcyhz
ZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX19kZXRlY3RfcGFja2FnZXMoIi0tcnVudGltZSIp
CiAKLSAgICBkZWYgX19kZXRlY3RfYXBwcyhzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX19k
ZXRlY3RfcGFja2FnZXMoKQotCiAgICAgZGVmIF9faXRlcl9fKHNlbGYpOgogICAgICAgICBmb3Ig
cGFja2FnZSBpbiBzZWxmLnBhY2thZ2VzOgogICAgICAgICAgICAgeWllbGQgcGFja2FnZQpAQCAt
MzMzLDQ3ICsxODIsMTYgQEAgY2xhc3MgRmxhdHBha1JlcG9zKEZsYXRwYWtPYmplY3QpOgogCiAg
ICAgZGVmIHVwZGF0ZShzZWxmKToKICAgICAgICAgc2VsZi5yZXBvcyA9IHt9Ci0gICAgICAgIGlm
IEZMQVRQQUtfVkVSU0lPTlsiZmxhdHBhayJdIDwgKDEsIDEsIDIpOgotICAgICAgICAgICAgb3V0
ID0gc2VsZi5mbGF0cGFrKCJyZW1vdGUtbGlzdCIsICItZCIpCi0gICAgICAgICAgICByZW1vdGVz
ID0gW2xpbmUgZm9yIGxpbmUgaW4gb3V0LnNwbGl0KCJcbiIpIGlmIGxpbmVdCi0gICAgICAgICAg
ICBmb3IgcmVwbyBpbiByZW1vdGVzOgotICAgICAgICAgICAgICAgIGZvciBjb21wb25lbnRzIGlu
IFtyZXBvLnNwbGl0KCIgIiksIHJlcG8uc3BsaXQoIlx0IildOgotICAgICAgICAgICAgICAgICAg
ICBpZiBsZW4oY29tcG9uZW50cykgPT0gMToKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBv
bmVudHMgPSByZXBvLnNwbGl0KCJcdCIpCi0gICAgICAgICAgICAgICAgICAgIG5hbWUgPSBjb21w
b25lbnRzWzBdCi0gICAgICAgICAgICAgICAgICAgIGRlc2MgPSAiIgotICAgICAgICAgICAgICAg
ICAgICB1cmwgPSBOb25lCi0gICAgICAgICAgICAgICAgICAgIGZvciBlbGVtIGluIGNvbXBvbmVu
dHNbMTpdOgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IGVsZW06Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNl
ZF91cmwgPSB1cmxwYXJzZShlbGVtKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgcGFyc2Vk
X3VybC5zY2hlbWU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsID0gZWxlbQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0KLSAgICAgICAgICAgICAgICAgICAgICAg
IGlmIGRlc2M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzYyArPSAiICIKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGRlc2MgKz0gZWxlbQotCi0gICAgICAgICAgICAgICAgICAgIGlm
IHVybDoKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0KLSAgICAgICAgICAgICAgICBp
ZiBub3QgdXJsOgotICAgICAgICAgICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIk5vIHZhbGlk
IFVSSSBmb3VuZCBmb3I6ICVzIiwgcmVwbykKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUK
LQotICAgICAgICAgICAgICAgIHNlbGYucmVwb3NbbmFtZV0gPSBGbGF0cGFrUmVwbyhuYW1lLCB1
cmwsIGRlc2MsIHJlcG9zPXNlbGYpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBvdXQgPSBz
ZWxmLmZsYXRwYWsoInJlbW90ZS1saXN0IiwgIi0tY29sdW1ucz1uYW1lLHRpdGxlLHVybCIpCi0g
ICAgICAgICAgICByZW1vdGVzID0gW2xpbmUgZm9yIGxpbmUgaW4gb3V0LnNwbGl0KCJcbiIpIGlm
IGxpbmVdCi0gICAgICAgICAgICBmb3IgcmVtb3RlIGluIHJlbW90ZXM6Ci0gICAgICAgICAgICAg
ICAgbmFtZSwgdGl0bGUsIHVybCA9IHJlbW90ZS5zcGxpdCgiXHQiKQotICAgICAgICAgICAgICAg
IHBhcnNlZF91cmwgPSB1cmxwYXJzZSh1cmwpCi0gICAgICAgICAgICAgICAgaWYgbm90IHBhcnNl
ZF91cmwuc2NoZW1lOgotICAgICAgICAgICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIk5vIHZh
bGlkIFVSSSBmb3VuZCBmb3I6ICVzIiwgcmVtb3RlKQotICAgICAgICAgICAgICAgICAgICBjb250
aW51ZQorICAgICAgICBvdXQgPSBzZWxmLmZsYXRwYWsoInJlbW90ZS1saXN0IiwgIi0tY29sdW1u
cz1uYW1lLHRpdGxlLHVybCIpCisgICAgICAgIHJlbW90ZXMgPSBbbGluZSBmb3IgbGluZSBpbiBv
dXQuc3BsaXQoIlxuIikgaWYgbGluZV0KKyAgICAgICAgZm9yIHJlbW90ZSBpbiByZW1vdGVzOgor
ICAgICAgICAgICAgbmFtZSwgdGl0bGUsIHVybCA9IHJlbW90ZS5zcGxpdCgiXHQiKQorICAgICAg
ICAgICAgcGFyc2VkX3VybCA9IHVybHBhcnNlKHVybCkKKyAgICAgICAgICAgIGlmIG5vdCBwYXJz
ZWRfdXJsLnNjaGVtZToKKyAgICAgICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIk5vIHZhbGlk
IFVSSSBmb3VuZCBmb3I6ICVzIiwgcmVtb3RlKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAK
LSAgICAgICAgICAgICAgICBzZWxmLnJlcG9zW25hbWVdID0gRmxhdHBha1JlcG8obmFtZSwgdXJs
LCB0aXRsZSwgcmVwb3M9c2VsZikKKyAgICAgICAgICAgIHNlbGYucmVwb3NbbmFtZV0gPSBGbGF0
cGFrUmVwbyhuYW1lPW5hbWUsIHVybD11cmwsIGRlc2M9dGl0bGUsIHJlcG9zPXNlbGYpCiAKICAg
ICAgICAgc2VsZi5wYWNrYWdlcyA9IEZsYXRwYWtQYWNrYWdlcyhzZWxmKQogCkBAIC00MjAsNyAr
MjM4LDEwIEBAIGNsYXNzIEZsYXRwYWtSZXBvKEZsYXRwYWtPYmplY3QpOgogICAgICAgICBpZiBy
ZXBvX2ZpbGUgYW5kIG5vdCB1cmw6CiAgICAgICAgICAgICByZXBvID0gY29uZmlncGFyc2VyLkNv
bmZpZ1BhcnNlcigpCiAgICAgICAgICAgICByZXBvLnJlYWQoc2VsZi5yZXBvX2ZpbGUubmFtZSkK
LSAgICAgICAgICAgIHNlbGYudXJsID0gcmVwb1siRmxhdHBhayBSZXBvIl1bIlVybCJdCisgICAg
ICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi51cmwgPSByZXBvWyJGbGF0cGFrIFJl
cG8iXVsiVXJsIl0KKyAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAg
ICAgICAgICBzZWxmLnVybCA9IHJlcG8uZ2V0KCJGbGF0cGFrIFJlcG8iLCAiVXJsIikKICAgICAg
ICAgZWxzZToKICAgICAgICAgICAgIGFzc2VydCB1cmwKIApAQCAtNDQ5LDkgKzI3MCwxMiBAQCBj
bGFzcyBGbGF0cGFrUGFja2FnZShGbGF0cGFrT2JqZWN0KToKICAgICAgICAgc2VsZi5hcmNoID0g
YXJjaAogICAgICAgICBzZWxmLmhhc2ggPSBoYXNoCiAKLSAgICBkZWYgX19zdHJfXyhzZWxmKToK
KyAgICBkZWYgX19yZXByX18oc2VsZik6CiAgICAgICAgIHJldHVybiAiJXMvJXMvJXMgJXMiICUg
KHNlbGYubmFtZSwgc2VsZi5hcmNoLCBzZWxmLmJyYW5jaCwgc2VsZi5yZXBvLm5hbWUpCiAKKyAg
ICBkZWYgX19zdHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuICIlcy8lcy8lcyIgJSAoc2VsZi5u
YW1lLCBzZWxmLmFyY2gsIHNlbGYuYnJhbmNoKQorCiAgICAgZGVmIGlzX2luc3RhbGxlZChzZWxm
LCBicmFuY2gpOgogICAgICAgICBpZiBub3Qgc2VsZi5yZXBvOgogICAgICAgICAgICAgIyBCdW5k
bGUgaW5zdGFsbGVkIGZyb20gZmlsZQpAQCAtNDkxLDcgKzMxNSw3IEBAIGNsYXNzIEZsYXRwYWtQ
YWNrYWdlKEZsYXRwYWtPYmplY3QpOgogICAgICAgICBleHRyYV9hcmdzLmFwcGVuZCgiLS1hc3N1
bWV5ZXMiKQogCiAgICAgICAgIHNlbGYuZmxhdHBhaygidXBkYXRlIiwgc2VsZi5uYW1lLCBzZWxm
LmJyYW5jaCwgc2hvd19vdXRwdXQ9VHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgKmV4dHJhX2Fy
Z3MsIGNvbW1lbnQ9Y29tbWVudCkKKyAgICAgICAgICAgICAgICAgICAgICpleHRyYV9hcmdzLCBj
b21tZW50PWNvbW1lbnQpCiAKIAogQGNvbnRleHRtYW5hZ2VyCkBAIC01MTksNTQgKzM0Myw1OCBA
QCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgnLS12
ZXJib3NlJywgYWN0aW9uPSdzdG9yZV90cnVlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaGVscD0nU2hvdyBkZWJ1ZyBtZXNzYWdlJykKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1l
bnQoIi0tZGVidWciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkNvbXBpbGUg
d2l0aCBEZWJ1ZyBjb25maWd1cmF0aW9uLCBhbHNvIGluc3RhbGxzIFNkayBkZWJ1ZyBzeW1ib2xl
cy4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkNvbXBpbGUgd2l0aCBEZWJ1ZyBjb25m
aWd1cmF0aW9uLCBhbHNvIGluc3RhbGxzIFNkayBkZWJ1ZyBzeW1ib2xlcy4iLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiKQogICAgICAgICBnZW5lcmFs
LmFkZF9hcmd1bWVudCgiLS1yZWxlYXNlIiwgaGVscD0iQ29tcGlsZSB3aXRoIFJlbGVhc2UgY29u
ZmlndXJhdGlvbi4iLCBhY3Rpb249InN0b3JlX3RydWUiKQogICAgICAgICBnZW5lcmFsLmFkZF9h
cmd1bWVudCgnLS1wbGF0Zm9ybScsIGFjdGlvbj0nc3RvcmUnLCBoZWxwPSdQbGF0Zm9ybSB0byB1
c2UgKGUuZy4sICJtYWMtbGlvbiIpJyksCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCct
LWd0aycsIGFjdGlvbj0nc3RvcmVfY29uc3QnLCBkZXN0PSdwbGF0Zm9ybScsIGNvbnN0PSdndGsn
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdBbGlhcyBmb3IgLS1wbGF0Zm9y
bT1ndGsnKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgnLS13cGUnLCBhY3Rpb249J3N0
b3JlX2NvbnN0JywgZGVzdD0ncGxhdGZvcm0nLCBjb25zdD0nd3BlJywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBoZWxwPSgnQWxpYXMgZm9yIC0tcGxhdGZvcm09d3BlJykpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhlbHA9KCdBbGlhcyBmb3IgLS1wbGF0Zm9ybT13cGUnKSkK
ICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi1uZiIsICItLW5vLWZsYXRwYWstdXBkYXRl
IiwgZGVzdD0ibm9fZmxhdHBha191cGRhdGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0i
RG8gbm90IHVwZGF0ZSBmbGFwdGFrIHJ1bnRpbWUvc2RrIikKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaGVscD0iRG8gbm90IHVwZGF0ZSBmbGFwdGFrIHJ1bnRpbWUvc2RrIikKICAgICAgICAgZ2Vu
ZXJhbC5hZGRfYXJndW1lbnQoIi11IiwgIi0tdXBkYXRlIiwgZGVzdD0idXBkYXRlIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGhlbHA9IlVwZGF0ZSB0aGUgcnVudGltZS9zZGsvYXBwIGFuZCByZWJ1
aWxkIHRoZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCBpZiBuZWVkZWQiKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBoZWxwPSJVcGRhdGUgdGhlIHJ1bnRpbWUvc2RrL2FwcCBhbmQgcmVidWlsZCB0
aGUgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgaWYgbmVlZGVkIikKICAgICAgICAgZ2VuZXJhbC5h
ZGRfYXJndW1lbnQoIi1iIiwgIi0tYnVpbGQtd2Via2l0IiwgZGVzdD0iYnVpbGRfd2Via2l0IiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkZvcmNlIHJlYnVpbGRpbmcgdGhlIGFwcC4iKQot
ICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLWJhIiwgIi0tYnVpbGQtYWxsIiwgZGVzdD0i
YnVpbGRfYWxsIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3Ry
dWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkZvcmNlIHJlYnVpbGRpbmcg
dGhlIGFwcCBhbmQgaXRzIGRlcGVuZGVuY2llcy4iKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBo
ZWxwPSJGb3JjZSByZWJ1aWxkaW5nIHRoZSBhcHAuIikKKyAgICAgICAgZ2VuZXJhbC5hZGRfYXJn
dW1lbnQoIi1iZ3N0IiwgIi0tYnVpbGQtZ3N0IiwgZGVzdD0iYnVpbGRfZ3N0IiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaGVscD0iRm9yY2UgcmVidWlsZGluZyBnc3QtYnVpbGQsIHJlcG9zaXRv
cnkgcGF0aCBpcyBkZWZpbmVkIGJ5IHRoZSBgR1NUX0JVSUxEX1BBVEhgIGVudmlyb25tZW50IHZh
cmlhYmxlLiIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItcSIsICItLXF1aWV0Iiwg
ZGVzdD0icXVpZXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVf
dHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRG8gbm90IHByaW50IGFu
eXRoaW5nIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVl
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRG8gbm90IHByaW50IGFueXRo
aW5nIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi10IiwgIi0tdGVzdHMiLCBkZXN0
PSJydW5fdGVzdHMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hcmdzPWFyZ3BhcnNl
LlJFTUFJTkRFUiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJSdW4gTGF5b3V0
VGVzdHMiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXJncz1hcmdwYXJzZS5SRU1B
SU5ERVIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlJ1biBMYXlvdXRUZXN0
cyIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItYyIsICItLWNvbW1hbmQiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG5hcmdzPWFyZ3BhcnNlLlJFTUFJTkRFUiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJUaGUgY29tbWFuZCB0byBydW4gaW4gdGhlIHNh
bmRib3giLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9InVzZXJfY29tbWFuZCIp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hcmdzPWFyZ3BhcnNlLlJFTUFJTkRFUiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iVGhlIGNvbW1hbmQgdG8gcnVuIGlu
IHRoZSBzYW5kYm94IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdD0idXNlcl9j
b21tYW5kIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoJy0tYXZhaWxhYmxlJywgYWN0
aW9uPSdzdG9yZV90cnVlJywgZGVzdD0iY2hlY2tfYXZhaWxhYmxlIiwgaGVscD0nQ2hlY2sgaWYg
cmVxdWlyZWQgZGVwZW5kZW5jaWVzIGFyZSBhdmFpbGFibGUuJyksCi0gICAgICAgIGdlbmVyYWwu
YWRkX2FyZ3VtZW50KCItLXVzZS1pY2VjcmVhbSIsIGhlbHA9IlVzZSB0aGUgZGlzdHJpYnV0ZWQg
aWNlY3JlYW0gKGljZWNjKSBjb21waWxlci4iLCBhY3Rpb249InN0b3JlX3RydWUiKQotICAgICAg
ICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLS13cGUtZXh0ZW5zaW9uIiwgYWN0aW9uPSJzdG9yZSIs
IGRlc3Q9IndwZV9leHRlbnNpb24iLCBoZWxwPSJXUEUgRXh0ZW5zaW9uIHRvIGVuYWJsZSIpCisg
ICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLXVzZS1pY2VjcmVhbSIsIGRlc3Q9InVzZV9p
Y2VjcmVhbSIsIGhlbHA9IlVzZSB0aGUgZGlzdHJpYnV0ZWQgaWNlY3JlYW0gKGljZWNjKSBjb21w
aWxlci4iLCBhY3Rpb249InN0b3JlX3RydWUiKQogCiAgICAgICAgIGRlYnVnb3B0aW9ucyA9IHBh
cnNlci5hZGRfYXJndW1lbnRfZ3JvdXAoIkRlYnVnZ2luZyIpCiAgICAgICAgIGRlYnVnb3B0aW9u
cy5hZGRfYXJndW1lbnQoIi0tZ2RiIiwgbmFyZ3M9Ij8iLCBoZWxwPSJBY3RpdmF0ZSBnZGIsIHBh
c3NpbmcgZXh0cmEgYXJncyB0byBpdCBpZiB3YW50ZWQuIikKKyAgICAgICAgZGVidWdvcHRpb25z
LmFkZF9hcmd1bWVudCgiLS1nZGItc3RhY2stdHJhY2UiLCBkZXN0PSJnZGJfc3RhY2tfdHJhY2Ui
LCBuYXJncz0iPyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRHVt
cCB0aGUgc3RhY2t0cmFjZSB0byBzdGRvdXQuIFRoZSBhcmd1bWVudCBpcyBhIHRpbWVzdGFtcCB0
byBiZSBwYXJzZWQgYnkgY29yZWR1bXBjdGwuIikKICAgICAgICAgZGVidWdvcHRpb25zLmFkZF9h
cmd1bWVudCgiLW0iLCAiLS1jb3JlZHVtcGN0bC1tYXRjaGVzIiwgZGVmYXVsdD0iIiwgaGVscD0n
QXJndW1lbnRzIHRvIHBhc3MgdG8gZ2RiLicpCiAKICAgICAgICAgYnVpbGRvcHRpb25zID0gcGFy
c2VyLmFkZF9hcmd1bWVudF9ncm91cCgiRXh0cmEgYnVpbGQgYXJndW1lbnRzIikKICAgICAgICAg
YnVpbGRvcHRpb25zLmFkZF9hcmd1bWVudCgiLS1tYWtlYXJncyIsIGhlbHA9Ik9wdGlvbmFsIE1h
a2VmaWxlIGZsYWdzIikKICAgICAgICAgYnVpbGRvcHRpb25zLmFkZF9hcmd1bWVudCgiLS1jbWFr
ZWFyZ3MiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJPbmUgb3IgbW9y
ZSBvcHRpb25hbCBDTWFrZSBmbGFncyAoZS5nLiAtLWNtYWtlYXJncz1cIi1ERk9PPWJhciAtRENN
QUtFX1BSRUZJWF9QQVRIPS91c3IvbG9jYWxcIikiKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGhlbHA9Ik9uZSBvciBtb3JlIG9wdGlvbmFsIENNYWtlIGZsYWdzIChlLmcuIC0t
Y21ha2VhcmdzPVwiLURGT089YmFyIC1EQ01BS0VfUFJFRklYX1BBVEg9L3Vzci9sb2NhbFwiKSIp
CiAKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi0tY2xlYW4iLCBkZXN0PSJjbGVhbiIs
IGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICBoZWxwPSJDbGVhbiBwcmV2aW91cyBi
dWlsZHMgYW5kIHJlc3RhcnQgZnJvbSBzY3JhdGNoIikKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0iQ2xlYW4gcHJldmlvdXMgYnVpbGRzIGFuZCByZXN0YXJ0IGZyb20gc2NyYXRj
aCIpCiAKICAgICAgICAgXywgc2VsZi5hcmdzID0gcGFyc2VyLnBhcnNlX2tub3duX2FyZ3MoYXJn
cz1hcmdzLCBuYW1lc3BhY2U9c2VsZikKIAorICAgICAgICBpZiBvcy5lbnZpcm9uLmdldCgnQ0NB
Q0hFX1BSRUZJWCcpID09ICdpY2VjYyc6CisgICAgICAgICAgICBzZWxmLnVzZV9pY2VjcmVhbSA9
IFRydWUKKwogICAgICAgICByZXR1cm4gc2VsZgogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgpA
QCAtNTc0LDE1ICs0MDIsMTQgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgc2VsZi5y
dW50aW1lID0gTm9uZQogICAgICAgICBzZWxmLmxvY2FsZSA9IE5vbmUKICAgICAgICAgc2VsZi5z
ZGsgPSBOb25lCi0gICAgICAgIHNlbGYuc2RrX2RlYnVnID0gTm9uZQogICAgICAgICBzZWxmLmFw
cCA9IE5vbmUKIAogICAgICAgICBzZWxmLnZlcmJvc2UgPSBGYWxzZQogICAgICAgICBzZWxmLnF1
aWV0ID0gRmFsc2UKLSAgICAgICAgc2VsZi5wYWNrcyA9IFtdCiAgICAgICAgIHNlbGYudXBkYXRl
ID0gRmFsc2UKICAgICAgICAgc2VsZi5hcmdzID0gW10KICAgICAgICAgc2VsZi5maW5pc2hfYXJn
cyA9IE5vbmUKKyAgICAgICAgc2VsZi5nZGJfc3RhY2tfdHJhY2UgPSBGYWxzZQogCiAgICAgICAg
IHNlbGYubm9fZmxhdHBha191cGRhdGUgPSBGYWxzZQogICAgICAgICBzZWxmLnJlbGVhc2UgPSBG
YWxzZQpAQCAtNTk0LDkgKzQyMSwxMCBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICBz
ZWxmLnNhbmRib3hfc291cmNlX3Jvb3QgPSAiL2FwcC93ZWJraXQiCiAKICAgICAgICAgc2VsZi5i
dWlsZF93ZWJraXQgPSBGYWxzZQorICAgICAgICBzZWxmLmJ1aWxkX2dzdCA9IEZhbHNlCiAgICAg
ICAgIHNlbGYuYnVpbGRfYWxsID0gRmFsc2UKIAotICAgICAgICBzZWxmLnNka19icmFuY2ggPSBO
b25lCisgICAgICAgIHNlbGYuc2RrX2JyYW5jaCA9ICIwLjEiCiAgICAgICAgIHNlbGYucGxhdGZv
cm0gPSAiZ3RrIgogICAgICAgICBzZWxmLmJ1aWxkX3R5cGUgPSAiUmVsZWFzZSIKICAgICAgICAg
c2VsZi5tYW5pZmVzdF9wYXRoID0gTm9uZQpAQCAtNjA3LDcgKzQzNSw2IEBAIGNsYXNzIFdlYmtp
dEZsYXRwYWs6CiAgICAgICAgIHNlbGYuYXBwX21vZHVsZSA9IE5vbmUKICAgICAgICAgc2VsZi5m
bGF0cGFrX2RlZmF1bHRfYXJncyA9IFtdCiAgICAgICAgIHNlbGYuY2hlY2tfYXZhaWxhYmxlID0g
RmFsc2UKLSAgICAgICAgc2VsZi53cGVfZXh0ZW5zaW9uID0gTm9uZQogCiAgICAgICAgICMgRGVm
YXVsdCBhcHBsaWNhdGlvbiB0byBydW4gaW4gdGhlIHNhbmRib3gKICAgICAgICAgc2VsZi5jb21t
YW5kID0gTm9uZQpAQCAtNjM4LDYgKzQ2NSw3IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAg
ICAgICAgICBmYWN0b3J5ID0gUG9ydEZhY3RvcnkoU3lzdGVtSG9zdCgpKQogICAgICAgICAgICAg
cG9ydCA9IGZhY3RvcnkuZ2V0KHNlbGYucGxhdGZvcm0pCiAgICAgICAgICAgICBzZWxmLmRlYnVn
ID0gcG9ydC5kZWZhdWx0X2NvbmZpZ3VyYXRpb24oKSA9PSAiRGVidWciCisKICAgICAgICAgc2Vs
Zi5idWlsZF90eXBlID0gIkRlYnVnIiBpZiBzZWxmLmRlYnVnIGVsc2UgIlJlbGVhc2UiCiAKICAg
ICAgICAgc2VsZi5wbGF0Zm9ybSA9IHNlbGYucGxhdGZvcm0udXBwZXIoKQpAQCAtNjQ2LDY2ICs0
NzQsMzMgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgICAgIHNlbGYuZ2RiID0gIiIK
IAogICAgICAgICBzZWxmLmNvbW1hbmQgPSAiJXMgJXMgJXMiICUgKG9zLnBhdGguam9pbihzZWxm
LnNhbmRib3hfc291cmNlX3Jvb3QsCi0gICAgICAgICAgICAiVG9vbHMvU2NyaXB0cy9ydW4tbWlu
aWJyb3dzZXIiKSwKLSAgICAgICAgICAgICItLSIgKyBzZWxmLnBsYXRmb3JtLmxvd2VyKCksCi0g
ICAgICAgICAgICAiIC0tZGVidWciIGlmIHNlbGYuZGVidWcgZWxzZSAiIC0tcmVsZWFzZSIpCi0K
LSAgICAgICAgc2VsZi5uYW1lID0gIm9yZy53ZWJraXQuJXMiICUgc2VsZi5wbGF0Zm9ybQotCi0g
ICAgICAgIGlmIHNlbGYud3BlX2V4dGVuc2lvbjoKLSAgICAgICAgICAgIG1hbmlmZXN0X2ZpbGVu
YW1lID0gV1BFX01BTklGRVNUX01BUFtzZWxmLndwZV9leHRlbnNpb25dCi0gICAgICAgIGVsc2U6
Ci0gICAgICAgICAgICBtYW5pZmVzdF9maWxlbmFtZSA9ICJvcmcud2Via2l0LldlYktpdC55YW1s
IgotICAgICAgICBzZWxmLm1hbmlmZXN0X3BhdGggPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5q
b2luKHNjcmlwdGRpciwgJy4uL2ZsYXRwYWsvJykgKyBtYW5pZmVzdF9maWxlbmFtZSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRvb2xzL1Njcmlw
dHMvcnVuLW1pbmlicm93c2VyIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIi0tIiArIHNlbGYucGxhdGZvcm0ubG93ZXIoKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiIC0tZGVidWciIGlmIHNlbGYuZGVidWcgZWxzZSAiIC0tcmVsZWFzZSIp
CiAKLSAgICAgICAgc2VsZi5idWlsZF9uYW1lID0gc2VsZi5uYW1lICsgIi1nZW5lcmF0ZWQiCisg
ICAgICAgIHNlbGYuZmxhdHBha19idWlsZF9wYXRoID0gb3MuZW52aXJvblsiRkxBVFBBS19VU0VS
X0RJUiJdCiAKICAgICAgICAgYnVpbGRfcm9vdCA9IG9zLnBhdGguam9pbihzZWxmLnNvdXJjZV9y
b290LCAnV2ViS2l0QnVpbGQnKQotICAgICAgICBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCA9IG9z
LnBhdGguam9pbihidWlsZF9yb290LCBzZWxmLnBsYXRmb3JtLCAiRmxhdHBha1RyZWUiICsgc2Vs
Zi5idWlsZF90eXBlKQotICAgICAgICBzZWxmLmNhY2hlX3BhdGggPSBvcy5wYXRoLmpvaW4oYnVp
bGRfcm9vdCwgIkZsYXRwYWtDYWNoZSIpCiAgICAgICAgIHNlbGYuYnVpbGRfcGF0aCA9IG9zLnBh
dGguam9pbihidWlsZF9yb290LCBzZWxmLnBsYXRmb3JtLCBzZWxmLmJ1aWxkX3R5cGUpCiAgICAg
ICAgIHRyeToKICAgICAgICAgICAgIG9zLm1ha2VkaXJzKHNlbGYuYnVpbGRfcGF0aCkKICAgICAg
ICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8u
RUVYSVNUOgogICAgICAgICAgICAgICAgIHJhaXNlIGUKLSAgICAgICAgc2VsZi5jb25maWdfZmls
ZSA9IG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3BhdGgsICd3ZWJraXRfZmxhdHBha19jb25maWcu
anNvbicpCisgICAgICAgIHNlbGYuY29uZmlnX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5mbGF0
cGFrX2J1aWxkX3BhdGgsICd3ZWJraXRfZmxhdHBha19jb25maWcuanNvbicpCiAKICAgICAgICAg
Q29uc29sZS5xdWlldCA9IHNlbGYucXVpZXQKICAgICAgICAgaWYgbm90IGNoZWNrX2ZsYXRwYWso
KToKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogCi0gICAgICAgIHJlcG9zID0gRmxhdHBha1Jl
cG9zKCkKLSAgICAgICAgc2VsZi5zZGtfcmVwbyA9IHJlcG9zLmFkZCgKLSAgICAgICAgICAgIEZs
YXRwYWtSZXBvKCJmbGF0aHViIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVybD0iaHR0cHM6
Ly9kbC5mbGF0aHViLm9yZy9yZXBvLyIsCi0gICAgICAgICAgICAgICAgICAgICAgICByZXBvX2Zp
bGU9Imh0dHBzOi8vZGwuZmxhdGh1Yi5vcmcvcmVwby9mbGF0aHViLmZsYXRwYWtyZXBvIikpCi0K
LSAgICAgICAgbWFuaWZlc3QgPSBsb2FkX21hbmlmZXN0KHNlbGYubWFuaWZlc3RfcGF0aCwgcG9y
dF9uYW1lPXNlbGYubmFtZSkKLSAgICAgICAgaWYgbm90IG1hbmlmZXN0OgotICAgICAgICAgICAg
cmV0dXJuIEZhbHNlCisgICAgICAgIHNlbGYuZmluaXNoX2FyZ3MgPSBbXQorICAgICAgICBzZWxm
LnJlcG9zID0gRmxhdHBha1JlcG9zKCkKKyAgICAgICAgc2VsZi5zZGtfcmVwbyA9IHNlbGYucmVw
b3MuYWRkKAorICAgICAgICAgICAgRmxhdHBha1JlcG8oIndlYmtpdC1zZGsiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgdXJsPSJodHRwczovL3NvZnR3YXJlLmlnYWxpYS5jb20vd2Via2l0LXNk
ay1yZXBvLyIsCisgICAgICAgICAgICAgICAgICAgICAgICByZXBvX2ZpbGU9Imh0dHBzOi8vc29m
dHdhcmUuaWdhbGlhLmNvbS9mbGF0cGFrLXJlZnMvd2Via2l0LXNkay5mbGF0cGFrcmVwbyIpCisg
ICAgICAgICkKIAotICAgICAgICBzZWxmLmFwcCA9IG1hbmlmZXN0WydhcHAtaWQnXQotCi0gICAg
ICAgIHNlbGYuc2RrX2JyYW5jaCA9IG1hbmlmZXN0WyJydW50aW1lLXZlcnNpb24iXQotICAgICAg
ICBzZWxmLmZpbmlzaF9hcmdzID0gbWFuaWZlc3QuZ2V0KCJmaW5pc2gtYXJncyIsIFtdKQotICAg
ICAgICBzZWxmLmZpbmlzaF9hcmdzID0gcmVtb3ZlX2V4dGVuc2lvbl9wb2ludHMoc2VsZi5maW5p
c2hfYXJncykKLSAgICAgICAgc2VsZi5ydW50aW1lID0gRmxhdHBha1BhY2thZ2UobWFuaWZlc3Rb
J3J1bnRpbWUnXSwgc2VsZi5zZGtfYnJhbmNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaGFzaD1tYW5pZmVzdC5nZXQoInJ1bnRpbWUtaGFzaCIpKQotICAg
ICAgICBzZWxmLmxvY2FsZSA9IEZsYXRwYWtQYWNrYWdlKG1hbmlmZXN0WydydW50aW1lJ10gKyAn
LkxvY2FsZScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtf
YnJhbmNoLCBzZWxmLnNka19yZXBvLCAieDg2XzY0IikKLSAgICAgICAgc2VsZi5zZGsgPSBGbGF0
cGFrUGFja2FnZShtYW5pZmVzdFsnc2RrJ10sIHNlbGYuc2RrX2JyYW5jaCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNoPW1hbmlmZXN0LmdldCgic2RrLWhhc2giKSkK
LSAgICAgICAgc2VsZi5wYWNrcyA9IFtzZWxmLnJ1bnRpbWUsIHNlbGYubG9jYWxlLCBzZWxmLnNk
a10KLQotICAgICAgICBpZiBzZWxmLmRlYnVnOgotICAgICAgICAgICAgc2VsZi5zZGtfZGVidWcg
PSBGbGF0cGFrUGFja2FnZShtYW5pZmVzdFsnc2RrJ10gKyAnLkRlYnVnJywgc2VsZi5zZGtfYnJh
bmNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNka19yZXBv
LCAieDg2XzY0IikKLSAgICAgICAgICAgIHNlbGYucGFja3MuYXBwZW5kKHNlbGYuc2RrX2RlYnVn
KQotICAgICAgICBzZWxmLm1hbmlmZXN0X2dlbmVyYXRlZF9wYXRoID0gb3MucGF0aC5qb2luKHNl
bGYuY2FjaGVfcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZWxmLmJ1aWxkX25hbWUgKyAiLmpzb24iKQogICAgICAgICB0cnk6CiAgICAg
ICAgICAgICB3aXRoIG9wZW4oc2VsZi5jb25maWdfZmlsZSkgYXMgY29uZmlnOgogICAgICAgICAg
ICAgICAgIGpzb25fY29uZmlnID0ganNvbi5sb2FkKGNvbmZpZykKQEAgLTcxNSw3ICs1MTAsNDUg
QEAgY2xhc3MgV2Via2l0RmxhdHBhazoKIAogICAgICAgICByZXR1cm4gVHJ1ZQogCisgICAgZGVm
IHNldHVwX2J1aWxkZGlyKHNlbGYsICoqa3dhcmdzKToKKyAgICAgICAgaWYgb3MucGF0aC5leGlz
dHMob3MucGF0aC5qb2luKHNlbGYuZmxhdHBha19idWlsZF9wYXRoLCAibWV0YWRhdGEiKSk6Cisg
ICAgICAgICAgICByZXR1cm4KKworICAgICAgICBzZWxmLnNka19yZXBvLmZsYXRwYWsoImJ1aWxk
LWluaXQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5mbGF0cGFrX2J1aWxk
X3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3JnLndlYmtpdC5XZWJraXQi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlbGYuc2RrKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN0cihzZWxmLnJ1bnRpbWUpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2VsZi5zZGsuYnJhbmNoLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2hvd19vdXRwdXQ9InN0ZG91dCIgaW4ga3dhcmdzLmtleXMoKSkKKworICAgIGRlZiBz
ZXR1cF9nc3RidWlsZChzZWxmLCBidWlsZGluZyk6CisgICAgICAgIGdzdF9kaXIgPSBvcy5lbnZp
cm9uLmdldCgnR1NUX0JVSUxEX1BBVEgnKQorICAgICAgICBpZiBub3QgZ3N0X2RpcjoKKyAgICAg
ICAgICAgIHJldHVybiBbXQorCisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRo
LmpvaW4oZ3N0X2RpciwgJ2dzdC1lbnYucHknKSk6CisgICAgICAgICAgICByYWlzZSBSdW50aW1l
RXJyb3IoJ0dTVF9CVUlMRF9QQVRIIHNldCB0byAlcyBidXQgaXQgZG9lc25cJ3Qgc2VlbSB0byBi
ZSBhIHZhbGlkIGBnc3QtYnVpbGRgIGNoZWNrb3V0LicgJSBnc3RfZGlyKQorCisgICAgICAgIGdz
dF9idWlsZGRpciA9IG9zLnBhdGguam9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsICJXZWJL
aXRCdWlsZCIsICdnc3QtYnVpbGQnKQorICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3Mu
cGF0aC5qb2luKHNlbGYuc291cmNlX3Jvb3QsICdXZWJLaXRCdWlsZCcsICdnc3QtYnVpbGQnLCAn
YnVpbGQubmluamEnKSk6CisgICAgICAgICAgICBpZiBub3QgYnVpbGRpbmc6CisgICAgICAgICAg
ICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdUcnlpbmcgdG8gZW50ZXIgZ3N0LWJ1aWxkIGVudiBm
cm9tICVzIGJ1dCBpdCBpcyBub3QgYnVpbHQsIG1ha2Ugc3VyZSB0byByZWJ1aWxkIHdlYmtpdC4n
ICUgZ3N0X2RpcikKKworICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJSdW5uaW5nIG1lc29u
IGZvciBgZ3N0LWJ1aWxkYCAlcyAiLCBnc3RfZGlyKQorICAgICAgICAgICAgc2VsZi5ydW5faW5f
c2FuZGJveCgnbWVzb24nLCBnc3RfZGlyLCBnc3RfYnVpbGRkaXIsIGJ1aWxkaW5nX2dzdD1UcnVl
KQorCisgICAgICAgIGlmIG5vdCBidWlsZGluZzoKKyAgICAgICAgICAgIHJldHVybiBbb3MucGF0
aC5qb2luKGdzdF9kaXIsICdnc3QtZW52LnB5JyksICctLWJ1aWxkZGlyJywgZ3N0X2J1aWxkZGly
LCAnLS1zcmNkaXInLCBnc3RfZGlyXQorCisgICAgICAgIENvbnNvbGUubWVzc2FnZSgiQnVpbGRp
bmcgYGdzdC1idWlsZGAgJXMgIiwgZ3N0X2RpcikKKyAgICAgICAgaWYgc2VsZi5ydW5faW5fc2Fu
ZGJveCgnbmluamEnLCAnLUMnLCBnc3RfYnVpbGRkaXIsIGJ1aWxkaW5nX2dzdD1UcnVlKSAhPSAw
OgorICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdFcnJvciB3aGlsZSBidWlsZGluZyBn
c3QtYnVpbGQuJykKKworICAgICAgICByZXR1cm4gW29zLnBhdGguam9pbihnc3RfZGlyLCAnZ3N0
LWVudi5weScpLCAnLS1idWlsZGRpcicsIGdzdF9idWlsZGRpciwgJy0tc3JjZGlyJywgZ3N0X2Rp
cl0KKwogICAgIGRlZiBydW5faW5fc2FuZGJveChzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAg
ICAgICBzZWxmLnNldHVwX2J1aWxkZGlyKHN0ZG91dD1rd2FyZ3MuZ2V0KCJzdGRvdXQiLCBzeXMu
c3Rkb3V0KSkKICAgICAgICAgY3dkID0ga3dhcmdzLnBvcCgiY3dkIiwgTm9uZSkKICAgICAgICAg
ZXh0cmFfZW52X3ZhcnMgPSBrd2FyZ3MucG9wKCJlbnYiLCB7fSkKICAgICAgICAgc3Rkb3V0ID0g
a3dhcmdzLnBvcCgic3Rkb3V0Iiwgc3lzLnN0ZG91dCkKQEAgLTcyMyw2ICs1NTYsNyBAQCBjbGFz
cyBXZWJraXRGbGF0cGFrOgogCiAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGFyZ3MsIGxpc3Qp
OgogICAgICAgICAgICAgYXJncyA9IGxpc3QoYXJncykKKwogICAgICAgICBpZiBhcmdzOgogICAg
ICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoYXJnc1swXSk6CiAgICAgICAgICAgICAgICAgY29t
bWFuZCA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5hYnNwYXRoKGFyZ3NbMF0pKQpAQCAtNzMw
LDk0ICs1NjQsMTIyIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgICAgICAgICAgYXJn
c1swXSA9IGNvbW1hbmQucmVwbGFjZShzZWxmLnNvdXJjZV9yb290LCBzZWxmLnNhbmRib3hfc291
cmNlX3Jvb3QpCiAgICAgICAgICAgICBpZiBhcmdzWzBdLmVuZHN3aXRoKCJidWlsZC13ZWJraXQi
KToKICAgICAgICAgICAgICAgICBhcmdzLmFwcGVuZCgiLS1wcmVmaXg9L2FwcCIpCisgICAgICAg
IGJ1aWxkaW5nID0gb3MucGF0aC5iYXNlbmFtZShhcmdzWzBdKS5zdGFydHN3aXRoKCJidWlsZCIp
CiAKICAgICAgICAgc2FuZGJveF9idWlsZF9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYuc2FuZGJv
eF9zb3VyY2Vfcm9vdCwgIldlYktpdEJ1aWxkIiwgc2VsZi5idWlsZF90eXBlKQotICAgICAgICB3
aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZShtb2RlPSJ3IikgYXMgdG1wc2NyaXB0Ogot
ICAgICAgICAgICAgZmxhdHBha19jb21tYW5kID0gWyJmbGF0cGFrIiwgImJ1aWxkIiwgIi0tZGll
LXdpdGgtcGFyZW50IiwKLSAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PS9ydW4vc2htPS9k
ZXYvc2htIiwKLSAgICAgICAgICAgICAgICAjIFdvcmthcm91bmQgZm9yIGh0dHBzOi8vd2Via2l0
Lm9yZy9iLzE4NzM4NCB0byBoYXZlIG91ciBvd24gcGVybCBtb2R1bGVzIHVzYWJsZSBpbnNpZGUg
dGhlIHNhbmRib3gKLSAgICAgICAgICAgICAgICAjIGFzIHNldHRpbmcgdGhlIFBFUkw1TElCIGVu
dnZhciB3b24ndCB3b3JrIGluc2lkZSBhcGFjaGUgKGFuZCBmb3Igc2NyaXB0cyB1c2luZyBgcGVy
bCAtVGBgKS4KLSAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PS9ydW4vaG9zdC8lcz0lcyIg
JSAodGVtcGZpbGUuZ2V0dGVtcGRpcigpLCB0ZW1wZmlsZS5nZXR0ZW1wZGlyKCkpLAotICAgICAg
ICAgICAgICAgICItLWJpbmQtbW91bnQ9JXM9JXMiICUgKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9v
dCwgc2VsZi5zb3VyY2Vfcm9vdCksCisgICAgICAgIGZsYXRwYWtfY29tbWFuZCA9IFsiZmxhdHBh
ayIsICJidWlsZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1kaWUtd2l0aC1wYXJl
bnQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1
cyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS10YWxrLW5hbWU9b3JnLmd0ay52ZnMi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tdGFsay1uYW1lPW9yZy5ndGsudmZzLioi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0vcnVuL3NobT0vZGV2
L3NobSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFdvcmthcm91bmQgZm9yIGh0dHBz
Oi8vd2Via2l0Lm9yZy9iLzE4NzM4NCB0byBoYXZlIG91ciBvd24gcGVybCBtb2R1bGVzIHVzYWJs
ZSBpbnNpZGUgdGhlIHNhbmRib3gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICMgYXMgc2V0
dGluZyB0aGUgUEVSTDVMSUIgZW52dmFyIHdvbid0IHdvcmsgaW5zaWRlIGFwYWNoZSAoYW5kIGZv
ciBzY3JpcHRzIHVzaW5nIGBwZXJsIC1UYGApLgorICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ii0tYmluZC1tb3VudD0vcnVuL2hvc3QvJXM9JXMiICUgKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwg
dGVtcGZpbGUuZ2V0dGVtcGRpcigpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLWJp
bmQtbW91bnQ9JXM9JXMiICUgKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgc2VsZi5zb3VyY2Vf
cm9vdCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFdlIG1vdW50IFdlYktpdEJ1aWxk
L1BPUlROQU1FL0J1aWxkVHlwZSB0byAvYXBwL3dlYmtpdC9XZWJLaXRCdWlsZC9CdWlsZFR5cGUK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICMgc28gd2UgY2FuIGJ1aWxkIFdQRSBhbmQgR1RL
IGluIGEgc2FtZSBzb3VyY2UgdHJlZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLWJp
bmQtbW91bnQ9JXM9JXMiICUgKHNhbmRib3hfYnVpbGRfcGF0aCwgc2VsZi5idWlsZF9wYXRoKV0K
KworICAgICAgICBmb3J3YXJkZWQgPSB7CisgICAgICAgICAgICAiV0VCS0lUX1RPUF9MRVZFTCI6
ICIvYXBwLyIsCisgICAgICAgICAgICAiVEVTVF9SVU5ORVJfSU5KRUNURURfQlVORExFX0ZJTEVO
QU1FIjogb3MucGF0aC5qb2luKHNhbmRib3hfYnVpbGRfcGF0aCwgImxpYi9saWJUZXN0UnVubmVy
SW5qZWN0ZWRCdW5kbGUuc28iKSwKKyAgICAgICAgfQorCisgICAgICAgIGlmIG5vdCBidWlsZGlu
ZzoKKyAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZC5leHRlbmQoWworICAgICAgICAgICAgICAg
ICItLWRldmljZT1hbGwiLAorICAgICAgICAgICAgICAgICItLWRldmljZT1kcmkiLAorICAgICAg
ICAgICAgICAgICItLWZpbGVzeXN0ZW09aG9zdCIsCisgICAgICAgICAgICAgICAgIi0tc2hhcmU9
aXBjIiwKKyAgICAgICAgICAgICAgICAiLS1zaGFyZT1uZXR3b3JrIiwKKyAgICAgICAgICAgICAg
ICAiLS1zb2NrZXQ9cHVsc2VhdWRpbyIsCisgICAgICAgICAgICAgICAgIi0tc29ja2V0PXN5c3Rl
bS1idXMiLAorICAgICAgICAgICAgICAgICItLXNvY2tldD13YXlsYW5kIiwKKyAgICAgICAgICAg
ICAgICAiLS1zb2NrZXQ9eDExIiwKKyAgICAgICAgICAgICAgICAiLS1zeXN0ZW0tdGFsay1uYW1l
PW9yZy5hMTF5LkJ1cyIsCisgICAgICAgICAgICAgICAgIi0tc3lzdGVtLXRhbGstbmFtZT1vcmcu
ZnJlZWRlc2t0b3AuR2VvQ2x1ZTIiLAogICAgICAgICAgICAgICAgICItLXRhbGstbmFtZT1vcmcu
YTExeS5CdXMiLAotICAgICAgICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuZ3RrLnZmcyIsCi0g
ICAgICAgICAgICAgICAgIi0tdGFsay1uYW1lPW9yZy5ndGsudmZzLioiLAotICAgICAgICAgICAg
ICAgICMgV2UgbW91bnQgV2ViS2l0QnVpbGQvUE9SVE5BTUUvQnVpbGRUeXBlIHRvIC9hcHAvd2Vi
a2l0L1dlYktpdEJ1aWxkL0J1aWxkVHlwZQotICAgICAgICAgICAgICAgICMgc28gd2UgY2FuIGJ1
aWxkIFdQRSBhbmQgR1RLIGluIGEgc2FtZSBzb3VyY2UgdHJlZS4KLSAgICAgICAgICAgICAgICAi
LS1iaW5kLW1vdW50PSVzPSVzIiAlIChzYW5kYm94X2J1aWxkX3BhdGgsIHNlbGYuYnVpbGRfcGF0
aCldCi0KLSAgICAgICAgICAgIGZvcndhcmRlZCA9IHsKLSAgICAgICAgICAgICAgICAiV0VCS0lU
X1RPUF9MRVZFTCI6ICIvYXBwLyIsCi0gICAgICAgICAgICAgICAgIlRFU1RfUlVOTkVSX0lOSkVD
VEVEX0JVTkRMRV9GSUxFTkFNRSI6ICIvYXBwL3dlYmtpdC9saWIvbGliVGVzdFJ1bm5lckluamVj
dGVkQnVuZGxlLnNvIiwKKyAgICAgICAgICAgICAgICAiLS10YWxrLW5hbWU9b3JnLmZyZWVkZXNr
dG9wLkZsYXRwYWsiCisgICAgICAgICAgICBdKQorCisgICAgICAgICAgICBmb3J3YXJkZWQudXBk
YXRlKHsKKyAgICAgICAgICAgICAgICAiVFoiOiAiUFNUOFBEVCIsCisgICAgICAgICAgICAgICAg
IkxBTkciOiAiZW5fVVMuVVRGLTgiCisgICAgICAgICAgICB9KQorCisgICAgICAgIGVudl92YXJf
cHJlZml4ZXNfdG9fa2VlcCA9IFsKKyAgICAgICAgICAgICJHIiwKKyAgICAgICAgICAgICJHSUdB
Q0FHRSIsCisgICAgICAgICAgICAiR1NUIiwKKyAgICAgICAgICAgICJHVEsiLAorICAgICAgICAg
ICAgIklDRUNDIiwKKyAgICAgICAgICAgICJKU0MiLAorICAgICAgICAgICAgIldFQktJVCIsCisg
ICAgICAgICAgICAiV0VCS0lUMiIsCisgICAgICAgICAgICAiV1BFIiwKKyAgICAgICAgXQorCisg
ICAgICAgIGVudl92YXJfc3VmZml4ZXNfdG9fa2VlcCA9IFsKKyAgICAgICAgICAgICJKU0NfQVJH
UyIsCisgICAgICAgICAgICAiV0VCS0lUX0FSR1MiLAorICAgICAgICBdCisKKyAgICAgICAgZW52
X3ZhcnNfdG9fa2VlcCA9IFsKKyAgICAgICAgICAgICJDQyIsCisgICAgICAgICAgICAiQ0NBQ0hF
X1BSRUZJWCIsCisgICAgICAgICAgICAiQ0ZMQUdTIiwKKyAgICAgICAgICAgICJDWFgiLAorICAg
ICAgICAgICAgIkNYWEZMQUdTIiwKKyAgICAgICAgICAgICJESVNQTEFZIiwKKyAgICAgICAgICAg
ICJKYXZhU2NyaXB0Q29yZVVzZUpJVCIsCisgICAgICAgICAgICAiTEFORyIsCisgICAgICAgICAg
ICAiTERGTEFHUyIsCisgICAgICAgICAgICAiTWFsbG9jIiwKKyAgICAgICAgICAgICJOVU1CRVJf
T0ZfUFJPQ0VTU09SUyIsCisgICAgICAgICAgICAiUU1MMl9JTVBPUlRfUEFUSCIsCisgICAgICAg
ICAgICAiV0FZTEFORF9ESVNQTEFZIiwKKyAgICAgICAgICAgICJXQVlMQU5EX1NPQ0tFVCIsCisg
ICAgICAgIF0KKworICAgICAgICBlbnZfdmFycyA9IG9zLmVudmlyb24KKyAgICAgICAgZW52X3Zh
cnMudXBkYXRlKGV4dHJhX2Vudl92YXJzKQorICAgICAgICBmb3IgZW52dmFyLCB2YWx1ZSBpbiBl
bnZfdmFycy5pdGVtcygpOgorICAgICAgICAgICAgdmFyX3Rva2VucyA9IGVudnZhci5zcGxpdCgi
XyIpCisgICAgICAgICAgICBpZiB2YXJfdG9rZW5zWzBdIGluIGVudl92YXJfcHJlZml4ZXNfdG9f
a2VlcCBvciBlbnZ2YXIgaW4gZW52X3ZhcnNfdG9fa2VlcCBvciB2YXJfdG9rZW5zWy0xXSBpbiBl
bnZfdmFyX3N1ZmZpeGVzX3RvX2tlZXA6CisgICAgICAgICAgICAgICAgZm9yd2FyZGVkW2VudnZh
cl0gPSB2YWx1ZQorCisgICAgICAgIGlmIHNlbGYudXNlX2ljZWNyZWFtOgorICAgICAgICAgICAg
X2xvZy5kZWJ1ZygnRW5hYmxpbmcgdGhlIGljZWNyZWFtIGNvbXBpbGVyJykKKyAgICAgICAgICAg
IGZsYXRwYWtfY29tbWFuZC5leHRlbmQoWyItLXNoYXJlPW5ldHdvcmsiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0vdmFyL3J1bi9pY2VjYz0vdmFy
L3J1bi9pY2VjYyJdKQorCisgICAgICAgICAgICBuX2NvcmVzID0gbXVsdGlwcm9jZXNzaW5nLmNw
dV9jb3VudCgpICogMworICAgICAgICAgICAgX2xvZy5kZWJ1ZygnRm9sbG93aW5nIGljZWNyZWFt
IHJlY29tbWVuZGF0aW9uIGZvciB0aGUgbnVtYmVyIG9mIGNvcmVzIHRvIHVzZTogJWQnICUgbl9j
b3JlcykKKyAgICAgICAgICAgIGZvcndhcmRlZC51cGRhdGUoeworICAgICAgICAgICAgICAgICJD
Q0FDSEVfUFJFRklYIjogImljZWNjIiwKICAgICAgICAgICAgICAgICAiSUNFQ0NfVkVSU0lPTiI6
IHNlbGYuaWNjX3ZlcnNpb24sCi0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGVudl92YXJf
cHJlZml4ZXNfdG9fa2VlcCA9IFsKLSAgICAgICAgICAgICAgICAiR1NUIiwKLSAgICAgICAgICAg
ICAgICAiR1RLIiwKLSAgICAgICAgICAgICAgICAiRyIsCi0gICAgICAgICAgICAgICAgIkpTQyIs
Ci0gICAgICAgICAgICAgICAgIldFQktJVCIsCi0gICAgICAgICAgICAgICAgIldFQktJVDIiLAot
ICAgICAgICAgICAgICAgICJXUEUiLAotICAgICAgICAgICAgICAgICJHSUdBQ0FHRSIsCi0gICAg
ICAgICAgICBdCi0KLSAgICAgICAgICAgIGVudl92YXJzX3RvX2tlZXAgPSBbCi0gICAgICAgICAg
ICAgICAgIkphdmFTY3JpcHRDb3JlVXNlSklUIiwKLSAgICAgICAgICAgICAgICAiTWFsbG9jIiwK
LSAgICAgICAgICAgICAgICAiV0FZTEFORF9ESVNQTEFZIiwKLSAgICAgICAgICAgICAgICAiV0FZ
TEFORF9TT0NLRVQiLAotICAgICAgICAgICAgICAgICJESVNQTEFZIiwKLSAgICAgICAgICAgICAg
ICAiTEFORyIsCi0gICAgICAgICAgICAgICAgIk5VTUJFUl9PRl9QUk9DRVNTT1JTIiwKLSAgICAg
ICAgICAgICAgICAiQ0NBQ0hFX1BSRUZJWCIsCi0gICAgICAgICAgICAgICAgIlFNTDJfSU1QT1JU
X1BBVEgiLAotICAgICAgICAgICAgXQotCi0gICAgICAgICAgICBpZiBzZWxmLnVzZV9pY2VjcmVh
bToKLSAgICAgICAgICAgICAgICBfbG9nLmRlYnVnKCdFbmFibGluZyB0aGUgaWNlY3JlYW0gY29t
cGlsZXInKQotICAgICAgICAgICAgICAgIGZvcndhcmRlZFsiQ0NBQ0hFX1BSRUZJWCJdID0gImlj
ZWNjIgotICAgICAgICAgICAgICAgIGlmIG5vdCBvcy5lbnZpcm9uLmdldCgnTlVNQkVSX09GX1BS
T0NFU1NPUlMnKToKLSAgICAgICAgICAgICAgICAgICAgbl9jb3JlcyA9IG11bHRpcHJvY2Vzc2lu
Zy5jcHVfY291bnQoKSAqIDMKLSAgICAgICAgICAgICAgICAgICAgX2xvZy5kZWJ1ZygnRm9sbG93
IGljZWNyZWFtIHJlY29tbWVuZGF0aW9uIGZvciB0aGUgbnVtYmVyIG9mIGNvcmVzIHRvIHVzZTog
JWQnICUgbl9jb3JlcykKLSAgICAgICAgICAgICAgICAgICAgZm9yd2FyZGVkWyJOVU1CRVJfT0Zf
UFJPQ0VTU09SUyJdID0gbl9jb3JlcwotCi0gICAgICAgICAgICBlbnZfdmFycyA9IG9zLmVudmly
b24KLSAgICAgICAgICAgIGVudl92YXJzLnVwZGF0ZShleHRyYV9lbnZfdmFycykKLSAgICAgICAg
ICAgIGZvciBlbnZ2YXIsIHZhbHVlIGluIGVudl92YXJzLml0ZW1zKCk6Ci0gICAgICAgICAgICAg
ICAgaWYgZW52dmFyLnNwbGl0KCJfIilbMF0gaW4gZW52X3Zhcl9wcmVmaXhlc190b19rZWVwIG9y
IGVudnZhciBpbiBlbnZfdmFyc190b19rZWVwOgotICAgICAgICAgICAgICAgICAgICBmb3J3YXJk
ZWRbZW52dmFyXSA9IHZhbHVlCi0KLSAgICAgICAgICAgIGZvciBlbnZ2YXIsIHZhbHVlIGluIGZv
cndhcmRlZC5pdGVtcygpOgotICAgICAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZC5hcHBlbmQo
Ii0tZW52PSVzPSVzIiAlIChlbnZ2YXIsIHZhbHVlKSkKLQotICAgICAgICAgICAgZmxhdHBha19j
b21tYW5kICs9IHNlbGYuZmluaXNoX2FyZ3MgKyBleHRyYV9mbGF0cGFrX2FyZ3MgKyBbc2VsZi5m
bGF0cGFrX2J1aWxkX3BhdGhdCi0KLSAgICAgICAgICAgIHNoZWxsX3N0cmluZyA9ICIiCi0gICAg
ICAgICAgICBpZiBhcmdzOgotICAgICAgICAgICAgICAgIGlmIGN3ZDoKLSAgICAgICAgICAgICAg
ICAgICAgc2hlbGxfc3RyaW5nID0gJ2NkICIlcyIgJiYgIiVzIicgJSAoY3dkLCAnIiAiJy5qb2lu
KGFyZ3MpKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHNoZWxs
X3N0cmluZyA9ICciJXMiJyAlICgnIiAiJy5qb2luKGFyZ3MpKQotICAgICAgICAgICAgZWxzZToK
LSAgICAgICAgICAgICAgICBzaGVsbF9zdHJpbmcgPSBzZWxmLmNvbW1hbmQKLSAgICAgICAgICAg
ICAgICBpZiBzZWxmLmFyZ3M6Ci0gICAgICAgICAgICAgICAgICAgIHNoZWxsX3N0cmluZyArPSAn
ICIlcyInICUgJyIgIicuam9pbihzZWxmLmFyZ3MpCisgICAgICAgICAgICAgICAgIk5VTUJFUl9P
Rl9QUk9DRVNTT1JTIjogbl9jb3JlcywKKyAgICAgICAgICAgIH0pCiAKLSAgICAgICAgICAgIHRt
cHNjcmlwdC53cml0ZShzaGVsbF9zdHJpbmcpCi0gICAgICAgICAgICB0bXBzY3JpcHQuZmx1c2go
KQorICAgICAgICBmb3IgZW52dmFyLCB2YWx1ZSBpbiBmb3J3YXJkZWQuaXRlbXMoKToKKyAgICAg
ICAgICAgIGZsYXRwYWtfY29tbWFuZC5hcHBlbmQoIi0tZW52PSVzPSVzIiAlIChlbnZ2YXIsIHZh
bHVlKSkKIAotICAgICAgICAgICAgX2xvZy5kZWJ1ZygnUnVubmluZyBpbiBzYW5kYm94OiAiJXMi
ICVzXG4nICUgKCciICInLmpvaW4oZmxhdHBha19jb21tYW5kKSwgc2hlbGxfc3RyaW5nKSkKLSAg
ICAgICAgICAgIGZsYXRwYWtfY29tbWFuZC5leHRlbmQoWydzaCcsICIvcnVuL2hvc3QvIiArIHRt
cHNjcmlwdC5uYW1lXSkKKyAgICAgICAgZ3N0X2VudiA9IFtdCisgICAgICAgIGlmIG5vdCBrd2Fy
Z3MuZ2V0KCdidWlsZGluZ19nc3QnKToKKyAgICAgICAgICAgIGdzdF9lbnYgPSBzZWxmLnNldHVw
X2dzdGJ1aWxkKGJ1aWxkaW5nKQorICAgICAgICBmbGF0cGFrX2NvbW1hbmQgKz0gc2VsZi5maW5p
c2hfYXJncyArIGV4dHJhX2ZsYXRwYWtfYXJncyArIFwKKyAgICAgICAgICAgIFtzZWxmLmZsYXRw
YWtfYnVpbGRfcGF0aF0gKyBnc3RfZW52ICsgYXJncwogCi0gICAgICAgICAgICB0cnk6Ci0gICAg
ICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGZsYXRwYWtfY29tbWFuZCwgc3Rkb3V0
PXN0ZG91dCkKLSAgICAgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJv
ciBhcyBlOgotICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoc3RyKGUpICsgIlxuIikK
LSAgICAgICAgICAgICAgICByZXR1cm4gZS5yZXR1cm5jb2RlCi0gICAgICAgICAgICBleGNlcHQg
S2V5Ym9hcmRJbnRlcnJ1cHQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgX2xv
Zy5kZWJ1ZygnUnVubmluZyBpbiBzYW5kYm94OiAlc1xuJyAlICcgJy5qb2luKGZsYXRwYWtfY29t
bWFuZCkpCisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxs
KGZsYXRwYWtfY29tbWFuZCwgc3Rkb3V0PXN0ZG91dCkKKyAgICAgICAgZXhjZXB0IHN1YnByb2Nl
c3MuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGU6CisgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRl
KHN0cihlKSArICJcbiIpCisgICAgICAgICAgICByZXR1cm4gZS5yZXR1cm5jb2RlCisgICAgICAg
IGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoKKyAgICAgICAgICAgIHJldHVybiAwCiAKICAgICAg
ICAgcmV0dXJuIDAKIApAQCAtODM1LDY0ICs2OTcsNDEgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoK
ICAgICAgICAgICAgICAgICBzaHV0aWwucm10cmVlKHNlbGYuYnVpbGRfcGF0aCkKIAogICAgICAg
ICBpZiBzZWxmLnVwZGF0ZToKLSAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiVXBkYXRpbmcg
RmxhdHBhayBlbnZpcm9ubWVudCBmb3IgJXMgKCVzKSIgJSAoCi0gICAgICAgICAgICAgICAgc2Vs
Zi5wbGF0Zm9ybSwgc2VsZi5idWlsZF90eXBlKSkKKyAgICAgICAgICAgIENvbnNvbGUubWVzc2Fn
ZSgiVXBkYXRpbmcgRmxhdHBhayAlcyBlbnZpcm9ubWVudCIgJSBzZWxmLmJ1aWxkX3R5cGUpCiAg
ICAgICAgICAgICBpZiBub3Qgc2VsZi5ub19mbGF0cGFrX3VwZGF0ZToKICAgICAgICAgICAgICAg
ICBzZWxmLnVwZGF0ZV9hbGwoKQogCiAgICAgICAgIHJldHVybiBzZWxmLnNldHVwX2Rldl9lbnYo
KQogCiAgICAgZGVmIGhhc19lbnZpcm9ubWVudChzZWxmKToKLSAgICAgICAgcmV0dXJuIG9zLnBh
dGguZXhpc3RzKG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3BhdGgsIHNlbGYuZmxhdHBha19idWls
ZF9wYXRoKSkKKyAgICAgICAgcmV0dXJuIG9zLnBhdGguZXhpc3RzKHNlbGYuZmxhdHBha19idWls
ZF9wYXRoKQogCiAgICAgZGVmIHNhdmVfY29uZmlnKHNlbGYpOgogICAgICAgICB3aXRoIG9wZW4o
c2VsZi5jb25maWdfZmlsZSwgJ3cnKSBhcyBjb25maWc6CiAgICAgICAgICAgICBqc29uX2NvbmZp
ZyA9IHsnaWNlY2NfdmVyc2lvbic6IHNlbGYuaWNjX3ZlcnNpb259CiAgICAgICAgICAgICBqc29u
LmR1bXAoanNvbl9jb25maWcsIGNvbmZpZykKIAotICAgIGRlZiBzZXR1cF9jY2FjaGUoc2VsZik6
Ci0gICAgICAgIGZvciBjb21waWxlciBpbiBbImMrKyIsICJjYyIsICJjbGFuZyIsICJjbGFuZysr
IiwgImcrKyIsICJnY2MiXToKLSAgICAgICAgICAgIHNlbGYucnVuX2luX3NhbmRib3goImxuIiwg
Ii1zIiwgIi4uLy4uL3Vzci9iaW4vY2NhY2hlIiwgY29tcGlsZXIsIGN3ZD0iL2FwcC9iaW4iKQot
CiAgICAgZGVmIHNldHVwX2ljZWNjKHNlbGYpOgogICAgICAgICB3aXRoIHRlbXBmaWxlLk5hbWVk
VGVtcG9yYXJ5RmlsZSgpIGFzIHRtcGZpbGU6Ci0gICAgICAgICAgICBzZWxmLnJ1bl9pbl9zYW5k
Ym94KCdpY2VjYycsICctLWJ1aWxkLW5hdGl2ZScsIHN0ZG91dD10bXBmaWxlLCBjd2Q9c2VsZi5i
dWlsZF9wYXRoKQorICAgICAgICAgICAgc2VsZi5ydW5faW5fc2FuZGJveCgnaWNlY2MnLCAnLS1i
dWlsZC1uYXRpdmUnLCBzdGRvdXQ9dG1wZmlsZSwgY3dkPXNlbGYuc291cmNlX3Jvb3QpCiAgICAg
ICAgICAgICB0bXBmaWxlLmZsdXNoKCkKICAgICAgICAgICAgIHRtcGZpbGUuc2VlaygwKQogICAg
ICAgICAgICAgaWNjX3ZlcnNpb25fZmlsZW5hbWUsID0gcmUuZmluZGFsbChyJy4qY3JlYXRpbmcg
KC4qKScsIHRtcGZpbGUucmVhZCgpKQotICAgICAgICAgICAgc2VsZi5pY2NfdmVyc2lvbiA9IG9z
LnBhdGguam9pbihzZWxmLmJ1aWxkX3BhdGgsIGljY192ZXJzaW9uX2ZpbGVuYW1lKQorICAgICAg
ICAgICAgc2VsZi5pY2NfdmVyc2lvbiA9IG9zLnBhdGguam9pbihzZWxmLnNvdXJjZV9yb290LCBp
Y2NfdmVyc2lvbl9maWxlbmFtZSkKIAogICAgIGRlZiBzZXR1cF9kZXZfZW52KHNlbGYpOgotICAg
ICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYuYnVpbGRfcGF0aCwg
c2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgpKSBcCi0gICAgICAgICAgICAgICAgb3Igc2VsZi51cGRh
dGUgb3Igc2VsZi5idWlsZF9hbGw6CisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5w
YXRoLmpvaW4oc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsICJydW50aW1lIiwgIm9yZy53ZWJraXQu
U2RrIikpIG9yIHNlbGYudXBkYXRlIG9yIHNlbGYuYnVpbGRfYWxsOgogICAgICAgICAgICAgc2Vs
Zi5pbnN0YWxsX2FsbCgpCi0gICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIkJ1aWxkaW5nICVz
IGFuZCBkZXBlbmRlbmNpZXMgaW4gJXMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl
bGYubmFtZSwgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgpCi0KLSAgICAgICAgICAgICMgQ3JlYXRl
IGVudmlyb25tZW50IGRpcnMgaWYgbmVjZXNzYXJ5Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAg
ICAgICAgICAgb3MubWFrZWRpcnMob3MucGF0aC5kaXJuYW1lKHNlbGYubWFuaWZlc3RfZ2VuZXJh
dGVkX3BhdGgpKQotICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLSAgICAgICAgICAg
ICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVFWElTVDoKLSAgICAgICAgICAgICAgICAgICAgcmFp
c2UgZQotICAgICAgICAgICAgaWYgbm90IGV4cGFuZF9tYW5pZmVzdChzZWxmLm1hbmlmZXN0X3Bh
dGgsIHNlbGYubWFuaWZlc3RfZ2VuZXJhdGVkX3BhdGgsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNlbGYubmFtZSwgc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCBzZWxmLmNv
bW1hbmQpOgotICAgICAgICAgICAgICAgIHJldHVybiAxCi0KLSAgICAgICAgICAgIGJ1aWxkZXJf
YXJncyA9IFsiZmxhdHBhay1idWlsZGVyIiwgIi0tZGlzYWJsZS1yb2ZpbGVzLWZ1c2UiLCAiLS1z
dGF0ZS1kaXIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuY2FjaGVfcGF0aCwg
Ii0tY2NhY2hlIiwgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsICItLWZvcmNlLWNsZWFuIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm1hbmlmZXN0X2dlbmVyYXRlZF9wYXRoXQot
ICAgICAgICAgICAgYnVpbGRlcl9hcmdzLmFwcGVuZCgiLS1idWlsZC1vbmx5IikKLSAgICAgICAg
ICAgIGJ1aWxkZXJfYXJncy5hcHBlbmQoIi0tc3RvcC1hdD0lcyIgJSBzZWxmLmFwcCkKLQotICAg
ICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGJ1aWxkZXJfYXJncykKLSAgICAgICAgICAg
IHNlbGYuc2V0dXBfY2NhY2hlKCkKICAgICAgICAgICAgIHNlbGYuc2V0dXBfaWNlY2MoKQogICAg
ICAgICAgICAgc2VsZi5zYXZlX2NvbmZpZygpCiAKICAgICAgICAgYnVpbGRfdHlwZSA9ICItLWRl
YnVnIiBpZiBzZWxmLmRlYnVnIGVsc2UgIi0tcmVsZWFzZSIKKyAgICAgICAgaWYgc2VsZi5idWls
ZF9nc3Q6CisgICAgICAgICAgICBzZWxmLnNldHVwX2dzdGJ1aWxkKFRydWUpCisKICAgICAgICAg
aWYgc2VsZi5idWlsZF93ZWJraXQ6Ci0gICAgICAgICAgICBidWlsZGVyID0gW29zLnBhdGguam9p
bihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsICdUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdCcp
LAorICAgICAgICAgICAgYnVpbGRlciA9IFsKKyAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4o
c2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCAnVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQnKSwK
ICAgICAgICAgICAgICAgICBidWlsZF90eXBlLCAnLS0nICsgc2VsZi5wbGF0Zm9ybS5sb3dlcigp
XQogICAgICAgICAgICAgaWYgc2VsZi5tYWtlYXJnczoKICAgICAgICAgICAgICAgICBidWlsZGVy
LmFwcGVuZCgiLS1tYWtlYXJncz0lcyIgJSBzZWxmLm1ha2VhcmdzKQpAQCAtOTAzLDI3ICs3NDIs
NTYgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKIAogICAgICAgICAgICAgaWYgcmVzOgogICAgICAg
ICAgICAgICAgIHJldHVybiByZXMKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIENvbnNvbGUu
bWVzc2FnZSgiVXNpbmcgJXMgcHJlZml4IGluICVzIiwgc2VsZi5uYW1lLCBzZWxmLmZsYXRwYWtf
YnVpbGRfcGF0aCkKIAogICAgICAgICBpZiBzZWxmLnJ1bl90ZXN0cyBpcyBub3QgTm9uZToKICAg
ICAgICAgICAgIHRlc3RfbGF1bmNoZXIgPSBbb3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3Vy
Y2Vfcm9vdCwgJ1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cycpLAotICAgICAgICAgICAg
ICAgIGJ1aWxkX3R5cGUsICctLScgKyBzZWxmLnBsYXRmb3JtLmxvd2VyKCldICsgc2VsZi5ydW5f
dGVzdHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRfdHlwZSwgJy0tJyArIHNl
bGYucGxhdGZvcm0ubG93ZXIoKV0gKyBzZWxmLnJ1bl90ZXN0cwogICAgICAgICAgICAgcmV0dXJu
IHNlbGYucnVuX2luX3NhbmRib3goKnRlc3RfbGF1bmNoZXIpCi0gICAgICAgIGVsaWYgc2VsZi5n
ZGIgaXMgbm90IE5vbmU6CisgICAgICAgIGVsaWYgc2VsZi5nZGIgb3Igc2VsZi5nZGJfc3RhY2tf
dHJhY2U6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5fZ2RiKCkKICAgICAgICAgZWxpZiBz
ZWxmLnVzZXJfY29tbWFuZDoKICAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1bl9pbl9zYW5kYm94
KCpzZWxmLnVzZXJfY29tbWFuZCkKLSAgICAgICAgZWxpZiBub3Qgc2VsZi51cGRhdGUgYW5kIG5v
dCBzZWxmLmJ1aWxkX3dlYmtpdDoKKyAgICAgICAgZWxpZiBub3Qgc2VsZi51cGRhdGUgYW5kIG5v
dCBzZWxmLmJ1aWxkX3dlYmtpdCBhbmQgbm90IHNlbGYuYnVpbGRfZ3N0OgogICAgICAgICAgICAg
cmV0dXJuIHNlbGYucnVuX2luX3NhbmRib3goKQogCiAgICAgICAgIHJldHVybiAwCiAKKyAgICBk
ZWYgX2dldF9wYWNrYWdlcyhzZWxmKToKKyAgICAgICAgc2VsZi5ydW50aW1lID0gRmxhdHBha1Bh
Y2thZ2UoIm9yZy53ZWJraXQuUGxhdGZvcm0iLCBzZWxmLnNka19icmFuY2gsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQiKQorICAg
ICAgICBzZWxmLmxvY2FsZSA9IEZsYXRwYWtQYWNrYWdlKCJvcmcud2Via2l0LlBsYXRmb3JtLkxv
Y2FsZSIsIHNlbGYuc2RrX2JyYW5jaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IikKKyAgICAgICAgc2VsZi5zZGsgPSBGbGF0cGFr
UGFja2FnZSgib3JnLndlYmtpdC5TZGsiLCBzZWxmLnNka19icmFuY2gsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCisgICAgICAgIHBh
Y2thZ2VzID0gW3NlbGYucnVudGltZSwgc2VsZi5sb2NhbGUsIHNlbGYuc2RrXQorCisgICAgICAg
ICMgRklYTUU6IEZvciB1bmtub3duIHJlYXNvbnMsIHRoZSBHTCBleHRlbnNpb24gbmVlZHMgdG8g
YmUgZXhwbGljaXRlbHkKKyAgICAgICAgIyBpbnN0YWxsZWQgZm9yIEZsYXRwYWsgMS4yLnggdG8g
YmUgYWJsZSB0byBtYWtlIHVzZSBvZiBpdC4gU2VlbXMgbGlrZQorICAgICAgICAjIGl0J3Mgbm90
IGNvcnJlY3RseSBpbmhlcml0aW5nIGl0IGZyb20gdGhlIFNESy4KKyAgICAgICAgc2VsZi5mbGF0
aHViX3JlcG8gPSBzZWxmLnJlcG9zLmFkZCgKKyAgICAgICAgICAgIEZsYXRwYWtSZXBvKCJmbGF0
aHViIiwgcmVwb19maWxlPSJodHRwczovL2RsLmZsYXRodWIub3JnL3JlcG8vZmxhdGh1Yi5mbGF0
cGFrcmVwbyIpCisgICAgICAgICkKKyAgICAgICAgZ2xfZXh0ZW5zaW9uID0gRmxhdHBha1BhY2th
Z2UoIm9yZy5mcmVlZGVza3RvcC5QbGF0Zm9ybS5HTC5kZWZhdWx0IiwgIjE5LjA4IiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5mbGF0aHViX3JlcG8sICJ4ODZf
NjQiKQorICAgICAgICBwYWNrYWdlcy5hcHBlbmQoZ2xfZXh0ZW5zaW9uKQorCisgICAgICAgIGlm
IHNlbGYuZGVidWc6CisgICAgICAgICAgICBzZGtfZGVidWcgPSBGbGF0cGFrUGFja2FnZSgnb3Jn
LndlYmtpdC5TZGsuRGVidWcnLCBzZWxmLnNka19icmFuY2gsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IikKKyAgICAgICAgICAg
IHBhY2thZ2VzLmFwcGVuZChzZGtfZGVidWcpCisgICAgICAgIHJldHVybiBwYWNrYWdlcworCiAg
ICAgZGVmIGluc3RhbGxfYWxsKHNlbGYpOgotICAgICAgICBmb3IgcGFja2FnZSBpbiBzZWxmLnBh
Y2tzOgorICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oc2VsZi5mbGF0cGFr
X2J1aWxkX3BhdGgsICJydW50aW1lIiwgIm9yZy53ZWJraXQuU2RrIikpOgorICAgICAgICAgICAg
cmV0dXJuCisgICAgICAgIENvbnNvbGUubWVzc2FnZSgiSW5zdGFsbGluZyAlcyBkZXBlbmRlbmNp
ZXMgaW4gJXMiLCBzZWxmLmJ1aWxkX3R5cGUsIHNlbGYuZmxhdHBha19idWlsZF9wYXRoKQorICAg
ICAgICBmb3IgcGFja2FnZSBpbiBzZWxmLl9nZXRfcGFja2FnZXMoKToKICAgICAgICAgICAgIGlm
IG5vdCBwYWNrYWdlLmlzX2luc3RhbGxlZChzZWxmLnNka19icmFuY2gpOgogICAgICAgICAgICAg
ICAgIHBhY2thZ2UuaW5zdGFsbCgpCiAKKyAgICBkZWYgdXBkYXRlX2FsbChzZWxmKToKKyAgICAg
ICAgc2VsZi5zZGtfcmVwby5mbGF0cGFrKCJ1cGRhdGUiKQorCiAgICAgZGVmIHJ1bl9nZGIoc2Vs
Zik6CiAgICAgICAgIHdpdGggZGlzYWJsZV9zaWduYWxzKCk6CiAgICAgICAgICAgICB0cnk6CkBA
IC05MzUsMzEgKzgwMyw0MCBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICAjIFdlIG5l
ZWQgYWNjZXNzIHRvIHRoZSBob3N0IGZyb20gdGhlIHNhbmRib3ggdG8gcnVuLgogICAgICAgICB3
aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZSgpIGFzIGNvcmVkdW1wOgogICAgICAgICAg
ICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBhcyBzdGRlcnI6Ci0gICAgICAg
ICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKFsiY29yZWR1bXBjdGwiLCAiZHVtcCJdICsg
c2hsZXguc3BsaXQoc2VsZi5jb3JlZHVtcGN0bF9tYXRjaGVzKSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PWNvcmVkdW1wLCBzdGRlcnI9c3RkZXJyKQorICAg
ICAgICAgICAgICAgIGlmIHNlbGYuZ2RiX3N0YWNrX3RyYWNlOgorICAgICAgICAgICAgICAgICAg
ICBjbWQgPSBbImNvcmVkdW1wY3RsIiwgIi0tc2luY2U9JXMiICUgc2VsZi5nZGJfc3RhY2tfdHJh
Y2UsICJkdW1wIl0KKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBj
bWQgPSBbImNvcmVkdW1wY3RsIiwgImR1bXAiXSArIHNobGV4LnNwbGl0KHNlbGYuY29yZWR1bXBj
dGxfbWF0Y2hlcykKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIHN1
YnByb2Nlc3MuY2hlY2tfY2FsbChjbWQsIHN0ZG91dD1jb3JlZHVtcCwgc3RkZXJyPXN0ZGVycikK
KyAgICAgICAgICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMg
ZXJyOgorICAgICAgICAgICAgICAgICAgICB3aXRoIG9wZW4oc3RkZXJyLm5hbWUsICdyJykgYXMg
c3RkZXJyZjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGVyciA9IHN0ZGVycmYucmVhZCgp
CisgICAgICAgICAgICAgICAgICAgIGNtZCA9ICcgJy5qb2luKGVyci5jbWQpCisgICAgICAgICAg
ICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoIiclcycgcmV0dXJuZWQgYSBub24temVybyBleGl0
IGNvZGUuIFN0ZGVycjogJXMiICUgKGNtZCwgc3RkZXJyKSkKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIGVyci5yZXR1cm5jb2RlCiAKICAgICAgICAgICAgICAgICB3aXRoIG9wZW4oc3RkZXJy
Lm5hbWUsICdyJykgYXMgc3RkZXJyZjoKICAgICAgICAgICAgICAgICAgICAgc3RkZXJyID0gc3Rk
ZXJyZi5yZWFkKCkKLSAgICAgICAgICAgICAgICBleGVjdXRhYmxlLCA9IHJlLmZpbmRhbGwoIi4q
RXhlY3V0YWJsZTogKC4qKSIsIHN0ZGVycikKLSAgICAgICAgICAgICAgICBpZiBub3QgZXhlY3V0
YWJsZS5zdGFydHN3aXRoKCIvbmV3cm9vdCIpOgotICAgICAgICAgICAgICAgICAgICBzeXMuc3Rk
ZXJyLndyaXRlKCJFeGVjdXRhYmxlICVzIGRvZXNuJ3Qgc2VlbSB0byBiZSBhIGZsYXRwYWtlZCBh
cHBsaWNhdGlvbi5cbiIgJSBleGVjdXRhYmxlKQotCi0gICAgICAgICAgICAgICAgZXhlY3V0YWJs
ZSA9IGV4ZWN1dGFibGUucmVwbGFjZSgiL25ld3Jvb3QiLCAiIikKLSAgICAgICAgICAgICAgICBh
cmdzID0gWyJnZGIiLCBleGVjdXRhYmxlLCAiL3J1bi9ob3N0LyVzIiAlIGNvcmVkdW1wLm5hbWVd
ICsgc2hsZXguc3BsaXQoc2VsZi5nZGIpCiAKLSAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5y
dW5faW5fc2FuZGJveCgqYXJncykKKyAgICAgICAgICAgICAgICBleGVjdXRhYmxlLCA9IHJlLmZp
bmRhbGwoIi4qRXhlY3V0YWJsZTogKC4qKSIsIHN0ZGVycikKIAotICAgIGRlZiB1cGRhdGVfYWxs
KHNlbGYpOgotICAgICAgICBmb3IgbSBpbiBbc2VsZi5ydW50aW1lLCBzZWxmLnNkaywgc2VsZi5z
ZGtfZGVidWddOgotICAgICAgICAgICAgaWYgbToKLSAgICAgICAgICAgICAgICBtLnVwZGF0ZSgp
CisgICAgICAgICAgICAgICAgaWYgc2VsZi5nZGI6CisgICAgICAgICAgICAgICAgICAgIGJhcmdz
ID0gWyJnZGIiLCBleGVjdXRhYmxlLCAiL3J1bi9ob3N0LyVzIiAlIGNvcmVkdW1wLm5hbWVdICsg
c2hsZXguc3BsaXQoc2VsZi5nZGIpCisgICAgICAgICAgICAgICAgZWxpZiBzZWxmLmdkYl9zdGFj
a190cmFjZToKKyAgICAgICAgICAgICAgICAgICAgYmFyZ3MgPSBbImdkYiIsICctZXgnLCAidGhy
ZWFkIGFwcGx5IGFsbCBiYWNrdHJhY2UiLCAnLS1iYXRjaCcsIGV4ZWN1dGFibGUsICIvcnVuL2hv
c3QvJXMiICUgY29yZWR1bXAubmFtZV0KIAorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1
bl9pbl9zYW5kYm94KCpiYXJncykKIAogZGVmIGlzX3NhbmRib3hlZCgpOgogICAgIHJldHVybiBv
cy5wYXRoLmV4aXN0cygiLy5mbGF0cGFrLWluZm8iKQogCiAKIGRlZiBydW5faW5fc2FuZGJveF9p
Zl9hdmFpbGFibGUoYXJncyk6CisgICAgdXNlX2poYnVpbGQgPSBpbnQob3MuZW52aXJvbi5nZXQo
IldFQktJVF9KSEJVSUxEIiwgIjAiKSkKKyAgICBpZiB1c2VfamhidWlsZDoKKyAgICAgICAgcmV0
dXJuIE5vbmUKKwogICAgIGlmIGlzX3NhbmRib3hlZCgpOgogICAgICAgICByZXR1cm4gTm9uZQog
CmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1s
IGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZTFhMDdjZjg2ZjgzYjY4ODMzYTU3Mjg0ZTQ3MjNmNTIyYjcz
YzQwYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29s
cy9mbGF0cGFrL29yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sCisrKyAvZGV2L251bGwKQEAg
LTEsMzMxICswLDAgQEAKLSMgaHR0cCBhbmQgZGVwZW5kZW5jaWVzLgotLSBuYW1lOiBhcHIKLSAg
c291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly93d3cuYXBh
Y2hlLm9yZy9kaXN0L2Fwci9hcHItMS42LjUudGFyLmJ6MgotICAgICAgc2hhMjU2OiBhNjdjYTlm
Y2Y5YzRmZjU5YmNlN2Y0MjhhMzIzYzhiNWUxODY2N2ZkZWE3YjBlYmFkNDdkMTk0MzcxYjBhMTA1
Ci0tIG5hbWU6IGFwci11dGlsCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAg
ICB1cmw6IGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvZGlzdC9hcHIvYXByLXV0aWwtMS42LjEudGFy
LmJ6MgotICAgICAgc2hhNTEyOiAiNDBlZmY4YTM3YzA2MzRmN2ZkZGRkNmNhNWU1OTZiMzhkZTE1
ZmQxMDc2N2EzNGMzMGJiZTQ5YzYzMjgxNmU4ZjNlMWUyMzA2NzgwMzRmNTc4ZGQ1ODE2YTk0ZjI0
NmZiNWRmZGY0OGQ2NDQ4MjlhZjEzYmYyOGRlMzIyNTIwNWQiCi0gIGNvbmZpZy1vcHRzOgotICAg
IC0gLS13aXRoLWFwcj0vYXBwL2Jpbi9hcHItMS1jb25maWcKLS0gbmFtZTogaHR0cGQKLSAgc291
cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vYXBh
Y2hlL2h0dHBkLmdpdAotICAgICAgYnJhbmNoOiAyLjQuMzcKLSAgICAtIHR5cGUgOiBmaWxlCi0g
ICAgICBwYXRoIDogZmlsZXMvaHR0cGQtYXV0b2dlbi5zaAotICAgICAgZGVzdC1maWxlbmFtZSA6
IGF1dG9nZW4uc2gKLSAgICAjIFRoZSB2ZXJzaW9uIGVtYmVkZGVkIGluIHRoZSBzYW5kYm94IGRv
ZXNuJ3QgaGF2ZSBhIHdvcmtpbmcgcGNyZS1jb25maWcKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAg
ICBwYXRoOiBwYXRjaGVzL2h0dHBkLTAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1Q
Q1JFLWRldGVjdGlvbi5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC0tZW5hYmxlLW1wbXMt
c2hhcmVkPWFsbAotICAgIC0gLS1lbmFibGUtbW9kdWxlcz1hbGwKLSAgICAtIC0td2l0aC1hcHI9
L2FwcC9iaW4vYXByLTEtY29uZmlnCi0gICAgLSAtLXdpdGgtYXByLXV0aWw9L2FwcC9iaW4vYXB1
LTEtY29uZmlnCi0gICAgLSAtLXdpdGgtcGNyZT0vYXBwCi0gICAgLSAtLWVuYWJsZS1hdXRobnot
ZmNnaQotICAgIC0gLS1lbmFibGUtY2dpCi0gICAgLSAtLWVuYWJsZS1jZ2lkCi0tIG5hbWU6IHBo
cAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL3Bo
cC5uZXQvZGlzdHJpYnV0aW9ucy9waHAtNy4yLjYudGFyLnh6Ci0gICAgICBzaGE1MTI6IGRhODZi
MWZmMmRmM2I5ZTJkNDZlNTlhODAyOTZiOTQwZDgxMTMyOTc1YjYyMWJkZWM5NjAyZjhiNGM4ZDkx
YTNmZGNkNGZmZDdjYjk4MmQ2M2QzZWM5NzRiM2ExMmE3ODU0ZTQyYTczYjdmMmNjOGVlZmFkZTE0
MzM1YWE3YzcxCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1kaXNhYmxlLXhtbAotICAgIC0gLS1k
aXNhYmxlLWRvbQotICAgIC0gLS1kaXNhYmxlLWxpYnhtbAotICAgIC0gLS1kaXNhYmxlLXNpbXBs
ZXhtbAotICAgIC0gLS1kaXNhYmxlLXhtbHJlYWRlcgotICAgIC0gLS1kaXNhYmxlLXhtbHdyaXRl
cgotICAgIC0gLS13aXRob3V0LXBlYXIKLSAgICAtIC0td2l0aC1hcHhzMgotICAgIC0gLS13aXRo
LXpsaWIKLSAgICAtIC0td2l0aC1saWJ6aXAKLSAgICAtIC0tZW5hYmxlLXNvY2tldHM9c2hhcmVk
Ci0tIG5hbWU6IGxpYmV2ZW50Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVy
bDogaHR0cHM6Ly9naXRodWIuY29tL2xpYmV2ZW50L2xpYmV2ZW50LmdpdAotICAgICAgYnJhbmNo
OiBlN2ZmNGVmICMgMi4xLjgKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLWRpc2FibGUtbGliZXZl
bnQtcmVncmVzcwotCi0jIFJlcXVpcmVtZW50IGZvciBmbGF0cGt1dGlscwotLSBuYW1lOiBweXRo
b24zLXB5YW1sCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gIC0g
cGlwMyBpbnN0YWxsIC0tbm8taW5kZXggLS1maW5kLWxpbmtzPSJmaWxlOi8vJHtQV0R9IiAtLXBy
ZWZpeD0ke0ZMQVRQQUtfREVTVH0gcHlhbWwKLSAgc291cmNlczoKLSAgLSB0eXBlOiBmaWxlCi0g
ICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvNGEvODUvZGI1
YTJkZjQ3NzA3MmIyOTAyYjBlYjg5MmZlYjM3ZDg4YWM2MzVkMzYyNDVhNzJhNmE2OWIyM2IzODNh
L1B5WUFNTC0zLjEyLnRhci5negotICAgIHNoYTI1NjogNTkyNzY2YzYzMDMyMDdhMjBlZmM0NDU1
ODc3NzgzMjJkN2Y3M2IxNjFiZDk5NGYyMjdhZGFhMzQxYmEyMTJhYgotICAtIHR5cGU6IGZpbGUK
LSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy85ZS8xNy8x
ZDRlZDZlMWE0YzA5MThhMDM1N2RmYTJmZGJlMjZiZjYzZjZlNjE2MDEzYzA0YTE0YmNlOWZkMzNl
NDAvcHlhbWwtMTcuMTIuMS50YXIuZ3oKLSAgICBzaGEyNTY6IDY2NjIzYzUyZjM0ZDgzYTJjMGZj
OTYzZTA4ZThiOWQwYzEzZDg4NDA0ZTNiNDNiMTg1MmVmNzFlZGExOWFmYTMKLQotLSBuYW1lOiBw
eXRob24yLXB5YW1sCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0g
IC0gcGlwMiBpbnN0YWxsIC0tbm8taW5kZXggLS1maW5kLWxpbmtzPSJmaWxlOi8vJHtQV0R9IiAt
LXRhcmdldD0vYXBwL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy8gcHlhbWwKLSAgc291cmNl
czoKLSAgLSB0eXBlOiBmaWxlCi0gICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5v
cmcvcGFja2FnZXMvNGEvODUvZGI1YTJkZjQ3NzA3MmIyOTAyYjBlYjg5MmZlYjM3ZDg4YWM2MzVk
MzYyNDVhNzJhNmE2OWIyM2IzODNhL1B5WUFNTC0zLjEyLnRhci5negotICAgIHNoYTI1NjogNTky
NzY2YzYzMDMyMDdhMjBlZmM0NDU1ODc3NzgzMjJkN2Y3M2IxNjFiZDk5NGYyMjdhZGFhMzQxYmEy
MTJhYgotICAtIHR5cGU6IGZpbGUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVk
Lm9yZy9wYWNrYWdlcy85ZS8xNy8xZDRlZDZlMWE0YzA5MThhMDM1N2RmYTJmZGJlMjZiZjYzZjZl
NjE2MDEzYzA0YTE0YmNlOWZkMzNlNDAvcHlhbWwtMTcuMTIuMS50YXIuZ3oKLSAgICBzaGEyNTY6
IDY2NjIzYzUyZjM0ZDgzYTJjMGZjOTYzZTA4ZThiOWQwYzEzZDg4NDA0ZTNiNDNiMTg1MmVmNzFl
ZGExOWFmYTMKLQotLSBuYW1lOiBweXRob24yLXN1YnByb2Nlc3MzMgotICBidWlsZHN5c3RlbTog
c2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAtIHBpcDIgaW5zdGFsbCAtLXRhcmdldD0vYXBw
L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy8gLgotICBzb3VyY2VzOgotICAtIHR5cGU6IGFy
Y2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy9i
ZS8yYi9iZWViYTU4M2U5ODc3ZTY0ZGIxMGI1MmE5NjkxNWFmYzBmZWFiZjcxNDRkY2JmMmEwZDBl
YTY4YmY3M2Qvc3VicHJvY2VzczMyLTMuNS4zLnRhci5negotICAgIHNoYTI1NjogNmJjODI5OTIz
MTZlZWYzY2NmZjMxOWI1MDMzODA5ODAxYzBjMzM3MjcwOWM1ZjY5ODUyOTljODhhYzcyMjVjMwot
Ci0jIEdTdHJlYW1lciBtb2R1bGVzCi0tIG5hbWU6IGxpYnZweAotICBuby1hdXRvZ2VuOiB0cnVl
Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9jaHJvbWl1
bS5nb29nbGVzb3VyY2UuY29tL3dlYm0vbGlidnB4Ci0gICAgICBicmFuY2g6IHYxLjcuMAotICBj
b25maWctb3B0czoKLSAgICAtIC0tZW5hYmxlLXBpYwotICAgIC0gLS1hcz1uYXNtCi0gICAgLSAt
LWRpc2FibGUtdW5pdC10ZXN0cwotICAgIC0gLS1zaXplLWxpbWl0PTE2Mzg0eDE2Mzg0Ci0gICAg
LSAtLWVuYWJsZS1wb3N0cHJvYwotICAgIC0gLS1lbmFibGUtbXVsdGktcmVzLWVuY29kaW5nCi0g
ICAgLSAtLWVuYWJsZS10ZW1wb3JhbC1kZW5vaXNpbmcKLSAgICAtIC0tZW5hYmxlLXZwOS10ZW1w
b3JhbC1kZW5vaXNpbmcKLSAgICAtIC0tZW5hYmxlLXZwOS1wb3N0cHJvYwotICAgIC0gLS1lbmFi
bGUtc2hhcmVkCi0tIG5hbWU6IGFvbQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAg
ICB1cmw6IGh0dHBzOi8vYW9tZWRpYS5nb29nbGVzb3VyY2UuY29tL2FvbQotICAgICAgYnJhbmNo
OiBjZGIwODNlODRhNzFkNmQzMTE2M2E0ZjY0ZjE4ZGMxMzI4ZmQ3ODJjCi0gIGJ1aWxkc3lzdGVt
OiBjbWFrZS1uaW5qYQotICBidWlsZGRpcjogdHJ1ZQotICBjb25maWctb3B0czoKLSAgICAtIC1E
QlVJTERfU0hBUkVEX0xJQlM9MQotLSBuYW1lOiBsaWJ1bndpbmQKLSAgc291cmNlczoKLSAgICAt
IHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbGlidW53aW5kL2xpYnVu
d2luZC5naXQKLSAgICAgIGNvbW1pdDogdjEuMi4xCi0tIG5hbWU6IGxpYm9wZW5oMjY0Ci0gIGJ1
aWxkc3lzdGVtOiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6
IGh0dHBzOi8vZ2l0aHViLmNvbS9jaXNjby9vcGVuaDI2NC5naXQKLSAgICAgIGJyYW5jaDogYTFi
M2YwN2M1MjcxZjMxMjk5N2ZjYzM0NTEyMzcwMzE0NDRjNDQ3NSAjIDEuOC4wICsgZml4IGZvciBn
Y2MgOAotLSBuYW1lOiBnc3RyZWFtZXIKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIHNvdXJjZXM6
Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Au
b3JnL2dzdHJlYW1lci9nc3RyZWFtZXIuZ2l0Ci0gICAgICBicmFuY2g6IDEuMTYuMQotICBjb25m
aWctb3B0czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotICAgIC0gLURpbnRyb3NwZWN0aW9u
PWRpc2FibGVkCi0gICAgLSAtRGV4YW1wbGVzPWRpc2FibGVkCi0gICAgLSAtRHRlc3RzPWRpc2Fi
bGVkCi0tIG5hbWU6IGdzdC1wbHVnaW5zLWJhc2UKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIHNv
dXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRsYWIuZnJlZWRl
c2t0b3Aub3JnL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYXNlLmdpdAotICAgICAgYnJhbmNoOiAx
LjE2LjEKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9nc3RyZWFtZXIvcGF0Y2hl
cy9iYXNlLTAwMDEtcGxheWJpbi1IYW5kbGUtZXJyb3ItbWVzc2FnZS13aXRoLXJlZGlyZWN0aW9u
LWluZGljYS5wYXRjaAotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2dzdHJlYW1l
ci9wYXRjaGVzL2Jhc2UtMDAwMS1nbHVwbG9hZC1BZGQtVmlkZW9NZXRhcy1hbmQtR0xTeW5jTWV0
YS10by10aGUtcmF3LXVwLnBhdGNoCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9jPWRp
c2FibGVkCi0gICAgLSAtRGludHJvc3BlY3Rpb249ZGlzYWJsZWQKLSAgICAtIC1EZXhhbXBsZXM9
ZGlzYWJsZWQKLSAgICAtIC1EdGVzdHM9ZGlzYWJsZWQKLS0gbmFtZTogZ3N0LXBsdWdpbnMtZ29v
ZAotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAg
ICAgdXJsOiBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdC1wbHVn
aW5zLWdvb2QuZ2l0Ci0gICAgICBicmFuY2g6IDEuMTYuMQotICAgIC0gdHlwZTogcGF0Y2gKLSAg
ICAgIHBhdGg6IC4uL2dzdHJlYW1lci9wYXRjaGVzL2dvb2QtMDAwMS1xdGRlbXV4LVNwZWNpZnkt
UkVESVJFQ1QtaW5mb3JtYXRpb24taW4tZXJyb3ItbWVzc2FnLnBhdGNoCi0gIGNvbmZpZy1vcHRz
OgotICAgIC0gLURndGtfZG9jPWRpc2FibGVkCi0gICAgLSAtRGludHJvc3BlY3Rpb249ZGlzYWJs
ZWQKLSAgICAtIC1EZXhhbXBsZXM9ZGlzYWJsZWQKLSAgICAtIC1EZ3RrMz1kaXNhYmxlZAotLSBu
YW1lOiB4MjY0Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gIi0tZW5hYmxlLXNoYXJlZCIKLSAgICAt
ICItLWVuYWJsZS1zdGF0aWMiCi0gICAgLSAiLS1lbmFibGUtcGljIgotICAgIC0gIi0tZGlzYWJs
ZS1sYXZmIgotICAgIC0gIi0tZGlzYWJsZS1hc20iCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBh
cmNoaXZlCi0gICAgICB1cmw6IGh0dHA6Ly9kb3dubG9hZC52aWRlb2xhbi5vcmcvcHViL3gyNjQv
c25hcHNob3RzL3gyNjQtc25hcHNob3QtMjAxNDAyMTItMjI0NS1zdGFibGUudGFyLmJ6MgotICAg
ICAgc2hhMjU2OiA1ZDk4ZTllNGZhZjZkZDU1ZTcxOTNlZDM3OWFmZjQ3N2I4YWNiZGE2Nzc3NzU4
OTU2ZWY3ZTVmMDUwNjdiZTE4Ci0tIG5hbWU6IGdzdC1wbHVnaW5zLXVnbHkKLSAgYnVpbGRzeXN0
ZW06IG1lc29uCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6
Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLXVnbHkK
LSAgICAgIGJyYW5jaDogMS4xNi4wCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9jPWRp
c2FibGVkCi0tIG5hbWU6IGdzdC1wbHVnaW5zLWJhZAotICBidWlsZHN5c3RlbTogbWVzb24KLSAg
c291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGxhYi5mcmVl
ZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZC5naXQKLSAgICAgIGJyYW5jaDog
MS4xNi4xCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3N0cmVhbWVyL3BhdGNo
ZXMvZ3N0LXBsdWdpbnMtYmFkLTAwMDEtaDI2NHBhcnNlLVBvc3QtYS1XQVJOSU5HLXdoZW4tZGF0
YS1pcy1icm9rZW4ucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlzYWJs
ZWQKLSAgICAtIC1EaW50cm9zcGVjdGlvbj1kaXNhYmxlZAotICAgIC0gLURleGFtcGxlcz1kaXNh
YmxlZAotLSBuYW1lOiBmZm1wZWcKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAg
ICAgIHVybDogaHR0cHM6Ly9mZm1wZWcub3JnL3JlbGVhc2VzL2ZmbXBlZy00LjAuNC50YXIuZ3oK
LSAgICAgIHNoYTI1NjogODBiYjY4NWFiZmNkZGE3YzliNmM5YzVjYWYxZDhkYmI5Mjc4NTgwNTBk
NzM3N2MyYjhmMzQ4OGM3ZThhOWI3ZgotICBjb25maWctb3B0czoKLSAgICAtIC0tZW5hYmxlLXN0
YXRpYwotICAgIC0gLS1lbmFibGUtcGljCi0gICAgLSAtLWRpc2FibGUtYXZkZXZpY2UKLSAgICAt
IC0tZGlzYWJsZS1wb3N0cHJvYwotICAgIC0gLS1kaXNhYmxlLXN3c2NhbGUKLSAgICAtIC0tZGlz
YWJsZS1wcm9ncmFtcwotICAgIC0gLS1kaXNhYmxlLWZmcGxheQotICAgIC0gLS1kaXNhYmxlLWZm
cHJvYmUKLSAgICAtIC0tZGlzYWJsZS1mZm1wZWcKLSAgICAtIC0tZGlzYWJsZS1lbmNvZGVyPWZs
YWMKLSAgICAtIC0tZGlzYWJsZS1wcm90b2NvbHMKLSAgICAtIC0tZGlzYWJsZS1kZXZpY2VzCi0g
ICAgLSAtLWRpc2FibGUtbmV0d29yawotICAgIC0gLS1kaXNhYmxlLWh3YWNjZWxzCi0gICAgLSAt
LWRpc2FibGUtZHh2YTIKLSAgICAtIC0tZGlzYWJsZS12ZHBhdQotICAgIC0gLS1kaXNhYmxlLWZp
bHRlcnMKLSAgICAtIC0tZW5hYmxlLWZpbHRlcj15YWRpZgotICAgIC0gLS1kaXNhYmxlLWRvYwot
ICAgIC0gLS1kaXNhYmxlLWQzZDExdmEKLSAgICAtIC0tZGlzYWJsZS1keHZhMgotICAgIC0gLS1k
aXNhYmxlLWF1ZGlvdG9vbGJveAotICAgIC0gLS1kaXNhYmxlLXZpZGVvdG9vbGJveAotICAgIC0g
LS1kaXNhYmxlLXZhYXBpCi0gICAgLSAtLWRpc2FibGUtY3J5c3RhbGhkCi0gICAgLSAtLWRpc2Fi
bGUtbWVkaWFjb2RlYwotICAgIC0gLS1kaXNhYmxlLW52ZW5jCi0gICAgLSAtLWRpc2FibGUtbW1h
bAotICAgIC0gLS1kaXNhYmxlLW9teAotICAgIC0gLS1kaXNhYmxlLW9teC1ycGkKLSAgICAtIC0t
ZGlzYWJsZS1jdWRhCi0gICAgLSAtLWRpc2FibGUtY3V2aWQKLSAgICAtIC0tZGlzYWJsZS1saWJt
ZngKLSAgICAtIC0tZGlzYWJsZS1saWJucHAKLSAgICAtIC0tZGlzYWJsZS1pY29udgotICAgIC0g
LS1kaXNhYmxlLWpuaQotICAgIC0gLS1kaXNhYmxlLXY0bDJfbTJtCi0gICAgLSAtLWVuYWJsZS1v
cHRpbWl6YXRpb25zCi0tIG5hbWU6IGdzdC1saWJhdgotICBidWlsZHN5c3RlbTogbWVzb24KLSAg
YnVpbGRkaXI6IHRydWUKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVy
bDogaHR0cHM6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL3NyYy9nc3QtbGliYXYvZ3N0LWxp
YmF2LTEuMTYuMS50YXIueHoKLSAgICAgIHNoYTI1NjogZThhNTc0OGFlOWE0YTdiZTk2OTY1MTIx
ODJlYTlmZmE2ZWZlMGJlOWI3OTc2OTE2NTQ4ZTlkNDM4MWNhNjFjNAotICBjb25maWctb3B0czoK
LSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotCi0tIG5hbWU6IGxpYmdjcnlwdCAjIFNwZWVkdXAg
bGliZ2NyeXB0Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6
Ly9kZXYuZ251cGcub3JnL3NvdXJjZS9saWJnY3J5cHQuZ2l0Ci0gICAgICBicmFuY2g6IGxpYmdj
cnlwdC0xLjguNAotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IHBhdGNoZXMvbGliZ2Ny
eXB0LTAwMDEtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRjaAotICAgIC0g
dHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2d0ay9wYXRjaGVzL2xpYmdjcnlwdC11c2Utb25s
eS1kZXYtdXJhbmRvbS1mb3ItdGVzdGluZy5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC0t
ZGlzYWJsZS1kb2MKLQotLSBuYW1lOiBwZXJsLWNnaS1wbQotICBidWlsZHN5c3RlbTogc2ltcGxl
Ci0gIGJ1aWxkLWNvbW1hbmRzOgotICAgIC0gcGVybCBNYWtlZmlsZS5QTCBQUkVGSVg9L2FwcCBM
SUI9L2FwcC9saWIvcGVybC8KLSAgICAtIG1ha2UgaW5zdGFsbAotICBzb3VyY2VzOgotICAgIC0g
dHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL2NwYW4ubWV0YWNwYW4ub3JnL2F1dGhv
cnMvaWQvTC9MRS9MRUVKTy9DR0ktNC4zOC50YXIuZ3oKLSAgICAgIHNoYTI1NjogOGM1OGY0YTUy
OWJiOTJhOTE0YjIyYjdlNjRjNWUzMTE4NWM5ODU0YTQwNzBhNmRmYWQ0NGZlNWNjMjQ4ZTdkNAot
Ci0tIG5hbWU6IHB5dGhvbjItdmlydHVhbGVudgotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1
aWxkLWNvbW1hbmRzOgotICAtIHBpcDIgaW5zdGFsbCAtLW5vLWluZGV4IC0tZmluZC1saW5rcz0i
ZmlsZTovLyR7UFdEfSIgLS10YXJnZXQ9L2FwcC9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMv
IHZpcnR1YWxlbnYKLSAgLSBsbiAtcyAvYXBwL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy92
aXJ0dWFsZW52LnB5IC9hcHAvYmluL3ZpcnR1YWxlbnYKLSAgLSBjaG1vZCAreCAvYXBwL2Jpbi92
aXJ0dWFsZW52Ci0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogZmlsZQotICAgIHVybDogaHR0cHM6Ly9m
aWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzMzL2JjL2ZhMGI1MzQ3MTM5Y2Q5NTY0ZjBk
NDRlYmQyYjE0N2FjOTdjMzZiMjQwMzk0M2RiZWU4YTI1ZmQ3NDAxMi92aXJ0dWFsZW52LTE2LjAu
MC50YXIuZ3oKLSAgICBzaGEyNTY6IGNhMDdiNGMwYjU0ZTE0YTkxYWY5ZjM0ZDA5MTk3OTBiMDE2
OTIzZDE1N2FmZGE1ZWZkZGU1NWM5NjcxOGY3NTIKLQotLSBuYW1lOiBsaWJjYXAtbmcKLSAgc291
cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vc3Rl
dmVncnViYi9saWJjYXAtbmcKLSAgICAgIGJyYW5jaDogdjAuNy45Ci0gIGNvbmZpZy1vcHRzOgot
ICAgIC0gLS13aXRoLXB5dGhvbj1ubwotICAgIC0gLS13aXRoLXB5dGhvbjM9bm8KLQotLSBuYW1l
OiBsem8yCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHA6
Ly93d3cub2Jlcmh1bWVyLmNvbS9vcGVuc291cmNlL2x6by9kb3dubG9hZC9sem8tMi4xMC50YXIu
Z3oKLSAgICAgIHNoYTE6IDQ5MjQ2NzZhOWJhZTVkYjU4ZWYxMjlkYzFjZWJjZTNiYWEzYzRiNWQK
LQotLSBuYW1lOiBpY2VjYwotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6
IGh0dHBzOi8vZ2l0aHViLmNvbS9pY2VjYy9pY2VjcmVhbQotICAgICAgdGFnOiAiMS4yIgotICAg
ICAgY29tbWl0OiBlM2QxMGEzMmJjNmMwNDZkOGYzZDExODJlNzVjNjU5ZDRiMjhlZDQ5Ci0gIGNv
bmZpZy1vcHRzOgotICAgIC0gLS13aXRob3V0LW1hbgotCi0tIG5hbWU6IGJyb3RsaQotICBzb3Vy
Y2VzOgotICAtIHR5cGU6IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9nb29n
bGUvYnJvdGxpL2FyY2hpdmUvdjEuMC41LnRhci5negotICAgIHNoYTI1NjogM2Q1YmVkZDQ4ZWRi
OTA5ZmUzYjg3Y2I5OWY3ZDEzOWI5ODdlZjZmMTYxNmI3ZTIyZDc0ZTkyODI3MGEyZmQyMAotICBi
dWlsZHN5c3RlbTogY21ha2UtbmluamEKLQotLSBuYW1lOiB3b2ZmMgotICBzb3VyY2VzOgotICAt
IHR5cGU6IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvd29mZjIv
YXJjaGl2ZS92MS4wLjIudGFyLmd6Ci0gICAgc2hhMjU2OiBhZGQyNzJiYjA5ZTYzODRhNDgzM2Zm
Y2E0ODk2MzUwZmRiMTZlMGNhMjJkZjY4YzAzODQ3NzNjNjdhMTc1NTk0Ci0gIGJ1aWxkc3lzdGVt
OiBjbWFrZS1uaW5qYQotCi0tIG5hbWU6IG9wZW5qcGVnCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTog
YXJjaGl2ZQotICAgIHVybDogaHR0cDovL2dpdGh1Yi5jb20vdWNsb3V2YWluL29wZW5qcGVnL2Fy
Y2hpdmUvdjIuMy4wLnRhci5negotICAgIHNoYTI1NjogM2RjNzg3YzFiYjYwMjNiYTg0NmMyYTBk
OWIxZjZlMTc5ZjFjZDI1NTE3MmJkZTllYjc1YjAxZjFlNmM3ZDcxYQotICBidWlsZHN5c3RlbTog
Y21ha2UtbmluamEKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5HVEsueWFt
bCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5HVEsueWFtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggOTYzYjU2MDQ0MDgwNDVlZDA4N2M3YzI2N2E1OTMyYjg0ZTYzMGQzZi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFr
L29yZy53ZWJraXQuR1RLLnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMjMgKzAsMCBAQAotLSBu
YW1lOiBtZXNhCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0
dHBzOi8vbWVzYS5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZS9tZXNhLTE4LjAuMy50YXIueHoKLSAg
ICAgIHNoYTI1NjogMDk5ZDk2NjczMjdhNzZhNjE3NDFhNTMzZjk1MDY3ZDc2ZWE3MWE2NTZlNjZi
OTE1MDdiM2MwY2FmMWQ0OWUzMAotICBjb25maWctb3B0czoKLSAgICAtIC0tcHJlZml4PS9hcHAv
c29mdEdMCi0gICAgLSAtLWRpc2FibGUtZHJpMwotICAgIC0gLS1lbmFibGUtZHJpCi0gICAgLSAt
LWVuYWJsZS1nbHgKLSAgICAtIC0tZW5hYmxlLWVnbAotICAgIC0gLS13aXRoLWVnbC1wbGF0Zm9y
bXM9eDExLHdheWxhbmQKLSAgICAtIC0td2l0aC1kcmktZHJpdmVycz1zd3Jhc3QKLSAgICAtIC0t
d2l0aC1nYWxsaXVtLWRyaXZlcnM9c3dyYXN0Ci0KLS0gbmFtZTogd2Via2l0Z3RrLXRlc3QtZm9u
dHMKLSAgbm8tYXV0b2dlbjogdHJ1ZQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAg
ICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJLaXRHVEsvd2Via2l0Z3RrLXRlc3QtZm9udHMu
Z2l0Ci0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gICAgIyBGSVhN
RTogTWFrZSBBY3RpdmF0ZUZvbnRXUEUgc21hcnRlci4KLSAgICAtIG1ha2UgaW5zdGFsbCBERVNU
RElSPS9hcHAvV2ViS2l0QnVpbGQvRGVwZW5kZW5jaWVzR1RLL1Jvb3QKLQotLSBuYW1lOiB4b3Jn
LXV0aWwtbWFjcm9zCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0
cHM6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy91dGlsL21hY3Jvcy5naXQKLSAg
ICAgIGJyYW5jaDogdXRpbC1tYWNyb3MtMS4xOS4yCi0KLS0gbmFtZTogeG9yZy1mb250LXV0aWwK
LSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Fub25naXQu
ZnJlZWRlc2t0b3Aub3JnL2dpdC94b3JnL2ZvbnQvdXRpbC5naXQKLSAgICAgIGJyYW5jaDogZm9u
dC11dGlsLTEuMy4xCi0KLS0gbmFtZTogeGtiZmlsZQotICBzb3VyY2VzOgotICAgIC0gdHlwZTog
Z2l0Ci0gICAgICBicmFuY2g6IGxpYnhrYmZpbGUtMS4wLjkKLSAgICAgIHVybDogaHR0cHM6Ly9h
bm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy9saWIvbGlieGtiZmlsZS5naXQKLQotLSBu
YW1lOiBmb250ZW5jCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIGJyYW5jaDog
bGliZm9udGVuYy0xLjEuMwotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Au
b3JnL2dpdC94b3JnL2xpYi9saWJmb250ZW5jLmdpdAotCi0tIG5hbWU6IHhmb250Ci0gIHNvdXJj
ZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIGJyYW5jaDogbGliWGZvbnQyLTIuMC4zCi0gICAg
ICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcvbGliL2xpYlhm
b250LmdpdAotCi0tIG5hbWU6IHh2ZmIKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAg
ICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC94b3JnL3hzZXJ2ZXIu
Z2l0Ci0gICAgICBicmFuY2g6IHhvcmctc2VydmVyLTEuMTkuNgotICAgIC0gdHlwZTogcGF0Y2gK
LSAgICAgIHBhdGg6IHBhdGNoZXMveHZmYi0wMDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEta2Jt
LWZpbGUucGF0Y2gKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9ndGsvcGF0Y2hl
cy94c2VydmVyLXJlbW92ZS1ib2d1cy1kZXBlbmRlbmNpZXMucGF0Y2gKLSAgICAtIHR5cGU6IHBh
dGNoCi0gICAgICBwYXRoOiAuLi9ndGsvcGF0Y2hlcy94c2VydmVyLXNlYXJjaC1mb3ItRFJJLWRy
aXZlcnMtYXQtTElCR0xfRFJJVkVSU19QQVRILWVudmlyb24ucGF0Y2gKLSAgY29uZmlnLW9wdHM6
Ci0gICAgLSAtLWVuYWJsZS14dmZiCi0gICAgLSAtLWRpc2FibGUteHdheWxhbmQKLSAgICAtIC0t
ZW5hYmxlLXh2ZmIKLSAgICAtIC0tZGlzYWJsZS14d2F5bGFuZAotICAgIC0gLS1kaXNhYmxlLXhp
bmVyYW1hCi0gICAgLSAtLWVuYWJsZS1nbHgKLSAgICAtIC0tZW5hYmxlLWNvbXBvc2l0ZQotICAg
IC0gLS1kaXNhYmxlLXhvcmcKLSAgICAtIC0tZGlzYWJsZS1kbXgKLSAgICAtIC0tZGlzYWJsZS14
bmVzdAotICAgIC0gLS1kaXNhYmxlLXhxdWFydHoKLSAgICAtIC0tZGlzYWJsZS14d2luCi0gICAg
LSAtLWRpc2FibGUteGVwaHlyCi0gICAgLSAtLWRpc2FibGUteGZha2UKLSAgICAtIC0tZGlzYWJs
ZS14ZmJkZXYKLSAgICAtIC0tZGlzYWJsZS1pbnN0YWxsLXNldHVpZAotICAgIC0gLS1kaXNhYmxl
LXVuaXQtdGVzdHMKLSAgICAtIC0tZGlzYWJsZS1wcmVzZW50Ci0gICAgLSAtLWVuYWJsZS11bml4
LXRyYW5zcG9ydAotICAgIC0gLS1lbmFibGUtdGNwLXRyYW5zcG9ydAotICAgIC0gLS1kaXNhYmxl
LWxvY2FsLXRyYW5zcG9ydAotICAgIC0gLS13aXRob3V0LWR0cmFjZQotCi0jIFJlcXVpcmVkIGZv
ciBydW4tZ3RrLXRlc3RzCi0tIG5hbWU6IHB5Y2Fpcm8KLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQot
ICBidWlsZC1jb21tYW5kczoKLSAgLSBweXRob24yIHNldHVwLnB5IGluc3RhbGwgLS1wcmVmaXg9
L2FwcAotICBzb3VyY2VzOgotICAtIHR5cGU6IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vcHlw
aS5weXRob24ub3JnL3BhY2thZ2VzL2VmLzk3L2IzM2RjNTMzZWE2MDc2ZDRlYTljYmQyZmUwNDlh
MmI0YTNkZjVjNWI2ZmJhOWExODI2MTZmNmY4ZDMxMC9weWNhaXJvLTEuMTUuNC50YXIuZ3oKLSAg
ICBzaGEyNTY6IGVlNGMzMDY4YzA0ODIzMGU1Y2U3NGJiODk5NGEwMjQ3MTExMjliZGUxYWYxZDc2
ZTMyNzZjN2FjZDgxYzQzNTcKLSAgY2xlYW51cDoKLSAgLSAiL2luY2x1ZGUiCi0gIC0gIi9saWIv
cGtnY29uZmlnIgotCi0tIG5hbWU6IHB5Z29iamVjdC1weXRob24yCi0gIGJ1aWxkLW9wdGlvbnM6
Ci0gICAgZW52OgotICAgICAgUFlUSE9OOiAiL3Vzci9iaW4vcHl0aG9uMiIKLSAgc291cmNlczoK
LSAgLSB0eXBlOiBhcmNoaXZlCi0gICAgdXJsOiBodHRwczovL2Rvd25sb2FkLmdub21lLm9yZy9z
b3VyY2VzL3B5Z29iamVjdC8zLjI4L3B5Z29iamVjdC0zLjI4LjEudGFyLnh6Ci0gICAgc2hhMjU2
OiA0MjMxMmI0YTUwMTU1NzFmYTBhNGYyZDIwMTAwNWRhNDZiNzFjMjUxZWEyNjI1YmM5NTcwMmQw
NzFjNGZmODk1Ci0gIGNsZWFudXA6Ci0gIC0gIi9pbmNsdWRlIgotICAtICIvbGliL3BrZ2NvbmZp
ZyIKLSAgLSAiL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9naS8qLmxhIgotCi0tIG9yZy53
ZWJraXQuV1BFTW9kdWxlcy55YW1sCi0KLS0gbmFtZTogb3JnLndlYmtpdC5HVEsKLSAgYnVpbGRz
eXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgICAtIC9hcHAvd2Via2l0L1Rvb2xz
L1NjcmlwdHMvYnVpbGQtd2Via2l0IC0tZ3RrIC0tcHJlZml4PS9hcHAKLQpkaWZmIC0tZ2l0IGEv
VG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRS55YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcud2Vi
a2l0LldQRS55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0Y2JhYmJhYTBjYjhl
MTU4YWQ0NDQxZjk4YjRkMDUzYThjYjNiYTc2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEUueWFtbAorKysg
L2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLS0gb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwK
LS0gbmFtZTogd2Via2l0Z3RrLXRlc3QtZm9udHMKLSAgbm8tYXV0b2dlbjogdHJ1ZQotICBzb3Vy
Y2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJL
aXRHVEsvd2Via2l0Z3RrLXRlc3QtZm9udHMuZ2l0Ci0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAg
YnVpbGQtY29tbWFuZHM6Ci0gICAgIyBGSVhNRTogTWFrZSBBY3RpdmF0ZUZvbnRXUEUgc21hcnRl
ci4KLSAgICAtIG1ha2UgaW5zdGFsbCBERVNURElSPS9hcHAvV2ViS2l0QnVpbGQvRGVwZW5kZW5j
aWVzV1BFL1Jvb3QKLS0gbmFtZTogb3JnLndlYmtpdC5XUEUKLSAgYnVpbGRzeXN0ZW06IHNpbXBs
ZQotICBidWlsZC1jb21tYW5kczoKLSAgICAtIC9hcHAvd2Via2l0L1Rvb2xzL1NjcmlwdHMvYnVp
bGQtd2Via2l0IC0td3BlIC0tcHJlZml4PS9hcHAKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsv
b3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwgYi9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BF
TW9kdWxlcy55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhODBlMmNjYjNhNGQ5
NTIyYTYwNzkzNGMwNmUwYWY5MjA1YmYwMjE3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlh
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0tIG5hbWU6IGxpYndwZQotICBidWls
ZHN5c3RlbTogY21ha2UtbmluamEKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAg
ICAgIHVybDogaHR0cHM6Ly93cGV3ZWJraXQub3JnL3JlbGVhc2VzL2xpYndwZS0xLjQuMC50YXIu
eHoKLSAgICAgIHNoYTI1NjogZTJkMzQ5NGZjMzNmZTk0NmFkOTE3ZmQ2YTNhYmQxMjc0NjJiOTFi
YmE2MmVmOGIzNTUwN2U5MmY4ZWRlNDE4OAotLSBuYW1lOiB3cGViYWNrZW5kLWZkbwotICBidWls
ZHN5c3RlbTogY21ha2UtbmluamEKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAg
ICAgIHVybDogaHR0cHM6Ly93cGV3ZWJraXQub3JnL3JlbGVhc2VzL3dwZWJhY2tlbmQtZmRvLTEu
NC4wLnRhci54egotICAgICAgc2hhMjU2OiBhOTE5Y2E0YTViYzQ0NWY5NDE5YTViN2YzNzgxY2Zj
OThlNWFiY2Y1ZDcyNTllYjE4NjlmNWFiMjBmZDE4YmFmCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0
cGFrL29yZy53ZWJraXQuV1BFUVQueWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVR
VC55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTM2OTU3YTQ2MWJjMzQ3OWEz
OGVmZmRlNmQ5NThiZDAwNzI2NzhlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVRVC55YW1sCisrKyAvZGV2
L251bGwKQEAgLTEsMzkgKzAsMCBAQAotYXBwLWlkOiBvcmcud2Via2l0LldQRVFUCi1ydW50aW1l
OiBvcmcua2RlLlBsYXRmb3JtCi1ydW50aW1lLXZlcnNpb246ICI1LjEyIgotIyBDb250cm9sIHRo
ZSBleGFjdCB2ZXJzaW9uIG9mIHRoZSBTZGsvUnVudGltZSB0aGF0IGlzIGJlaW5nIHVzZWQuCi1z
ZGstaGFzaDogZDZlZmEyNGUyN2MxYzg3OGFkNGZkZTc2YjczYzk2YTExYmUzMmI1OThhZTg3YWVm
YmUzMzllZTRiYjE5YThiZQotcnVudGltZS1oYXNoOiAxMDE4NzFlMDkxMDAwNjE2YWQyYjYzNWUw
NmM0MTRlYjBlMWM0ZTFjMzQyOTJhMjA1YzUyMzk5MzVlZTVlYTQ0Ci1zZGs6IG9yZy5rZGUuU2Rr
Ci1jb21tYW5kOiAlKENPTU1BTkQpcwotZmluaXNoLWFyZ3M6Ci0gICMgQmFzaWNhbGx5IG5vIHNh
bmRib3hpbmcsIHRoZSBnb2FsIGhlcmUgaXMgdG8gbWFrZSBpdCBmbGV4aWJsZQotICAjIGZvciBk
ZXZlbG9wZXJzLCBub3QgcmVhbGx5IHRvIGlzb2xhdGUgKG9wZW5uaW5nIGFsbCBkZXZpY2VzCi0g
ICMgdG8gYWxsb3cgYWNjZXMgdmlkZW8gY2FtZXJhcyB1bnRpbCB3ZSBoYXZlIGEgcG9ydGFsIGF0
IGxlYXN0KS4KLSAgLSAtLXNoYXJlPWlwYwotICAtIC0tc29ja2V0PXgxMQotICAtIC0tc29ja2V0
PXdheWxhbmQKLSAgLSAtLWRldmljZT1hbGwKLSAgLSAtLXNoYXJlPW5ldHdvcmsKLSAgLSAtLXNv
Y2tldD1wdWxzZWF1ZGlvCi0gIC0gLS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5mcmVlZGVza3RvcC5H
ZW9DbHVlMgotICAtIC0tc3lzdGVtLXRhbGstbmFtZT1vcmcuYTExeS5CdXMKLSAgLSAtLWZpbGVz
eXN0ZW09aG9zdAotICAtIC0tc29ja2V0PXN5c3RlbS1idXMKLSAgLSAtLXRhbGstbmFtZT1vcmcu
ZnJlZWRlc2t0b3AuRmxhdHBhawotICAtIC0tZW52PUdTVF9QUkVTRVRfUEFUSD0vYXBwL3NoYXJl
L2dzdHJlYW1lci0xLjAvcHJlc2V0cy8KLWJ1aWxkLW9wdGlvbnM6Ci0gIGNmbGFnczogLU8yIC1n
Ci0gIGN4eGZsYWdzOiAtTzIgLWcKLSAgc3RyaXA6IGZhbHNlCi0gIG5vLWRlYnVnaW5mbzogdHJ1
ZQotbW9kdWxlczoKLSAgLSBvcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbAotICAtIG9yZy53
ZWJraXQuV1BFTW9kdWxlcy55YW1sCi0KLSAgIyBUaGlzIG1vZHVsZSBpcyBub3QgYWN0dWFsbHkg
YnVpbHQuCi0gIC0gbmFtZTogb3JnLndlYmtpdC5XUEVRVAotICAgIGJ1aWxkc3lzdGVtOiBjbWFr
ZQotICAgIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBkaXIKLSAgICAgIHBhdGg6IC9hcHAvd2Via2l0
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvcXQKZGlmZiAtLWdpdCBhL1Rvb2xzL2Zs
YXRwYWsvb3JnLndlYmtpdC5XZWJLaXQueWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5X
ZWJLaXQueWFtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjZkNjEyNjYwZDhhMjA0
NWRhMzEyZmRiMDkxYjc4ZTU4YTgwN2U2OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV2ViS2l0LnlhbWwKKysr
IC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1hcHAtaWQ6ICUoUE9SVE5BTUUpcwotcnVudGlt
ZTogb3JnLmdub21lLlBsYXRmb3JtCi1ydW50aW1lLXZlcnNpb246ICIzLjMyIgotIyBDb250cm9s
IHRoZSBleGFjdCB2ZXJzaW9uIG9mIHRoZSBTZGsvUnVudGltZSB0aGF0IGlzIGJlaW5nIHVzZWQu
Ci1zZGstaGFzaDogYjNiOWIxZDFiMTllYTJiYjcyMDE5NDI4Y2E3NWM3YTc4NDU1ZTk4NmEwZjkx
ZGRkZjZhMjljOTI5OTBjYzVhNwotcnVudGltZS1oYXNoOiA3YzlkNTU5MmQ4MDVkMGI3YzIxMjE5
MGZkODExOGU0Yzc4Y2I4ZWQ4ZjgxZTY4Nzg1ODk3MjY3MGRhY2NmZjc2Ci1zZGs6IG9yZy5nbm9t
ZS5TZGsKLWNvbW1hbmQ6ICUoQ09NTUFORClzCi1maW5pc2gtYXJnczoKLSAgIyBCYXNpY2FsbHkg
bm8gc2FuZGJveGluZywgdGhlIGdvYWwgaGVyZSBpcyB0byBtYWtlIGl0IGZsZXhpYmxlCi0gICMg
Zm9yIGRldmVsb3BlcnMsIG5vdCByZWFsbHkgdG8gaXNvbGF0ZSAob3Blbm5pbmcgYWxsIGRldmlj
ZXMKLSAgIyB0byBhbGxvdyBhY2NlcyB2aWRlbyBjYW1lcmFzIHVudGlsIHdlIGhhdmUgYSBwb3J0
YWwgYXQgbGVhc3QpLgotICAtIC0tc2hhcmU9aXBjCi0gIC0gLS1zb2NrZXQ9eDExCi0gIC0gLS1z
b2NrZXQ9d2F5bGFuZAotICAtIC0tZGV2aWNlPWFsbAotICAtIC0tc2hhcmU9bmV0d29yawotICAt
IC0tc29ja2V0PXB1bHNlYXVkaW8KLSAgLSAtLXN5c3RlbS10YWxrLW5hbWU9b3JnLmZyZWVkZXNr
dG9wLkdlb0NsdWUyCi0gIC0gLS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cwotICAtIC0t
ZmlsZXN5c3RlbT1ob3N0Ci0gIC0gLS1zb2NrZXQ9c3lzdGVtLWJ1cwotICAtIC0tdGFsay1uYW1l
PW9yZy5mcmVlZGVza3RvcC5GbGF0cGFrCi0gIC0gLS1lbnY9R1NUX1BSRVNFVF9QQVRIPS9hcHAv
c2hhcmUvZ3N0cmVhbWVyLTEuMC9wcmVzZXRzLwotYnVpbGQtb3B0aW9uczoKLSAgY2ZsYWdzOiAt
TzIgLWcKLSAgY3h4ZmxhZ3M6IC1PMiAtZwotICBzdHJpcDogZmFsc2UKLSAgbm8tZGVidWdpbmZv
OiB0cnVlCi1tb2R1bGVzOgotICAtIG9yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sCi0gICMg
UG9ydCBzcGVjaWZpYyBjb21wb25lbnRzLgotICAtICUoUE9SVE5BTUUpcy55YW1sCmRpZmYgLS1n
aXQgYS9Ub29scy9mbGF0cGFrL3BhdGNoZXMvaHR0cGQtMDAwMS1jb25maWd1cmUtdXNlLXBrZy1j
b25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoIGIvVG9vbHMvZmxhdHBhay9wYXRjaGVzL2h0
dHBkLTAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1QQ1JFLWRldGVjdGlvbi5wYXRj
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDM2YTY5NGYyOTIzZDM1MWRiNmYzZjEz
MzI3NjAyODNkYTc4ZjlkZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Ub29scy9mbGF0cGFrL3BhdGNoZXMvaHR0cGQtMDAwMS1jb25maWd1cmUtdXNlLXBr
Zy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTAg
KzAsMCBAQAotRnJvbSBiNWViZTQwNGYxMzg4ZGRkYTM2MDNlNTMyNzdmODdlMGI5NmJhNjk1IE1v
biBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJA
aWdhbGlhLmNvbT4KLURhdGU6IE1vbiwgMTEgSnVuIDIwMTggMTY6MTQ6MzggLTA0MDAKLVN1Ympl
Y3Q6IFtQQVRDSF0gY29uZmlndXJlOiB1c2UgcGtnLWNvbmZpZyBmb3IgUENSRSBkZXRlY3Rpb24K
LQotLS0tCi0gY29uZmlndXJlLmluIHwgMjcgKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0g
MSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCi0KLWRpZmYg
LS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KLWluZGV4IDc2MWU4MzYuLmIxNTVk
NGIgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuaW4KLSsrKyBiL2NvbmZpZ3VyZS5pbgotQEAgLTIx
NSwyOCArMjE1LDExIEBAIGZpCi0gQUNfQVJHX1dJVEgocGNyZSwKLSBBUEFDSEVfSEVMUF9TVFJJ
TkcoLS13aXRoLXBjcmU9UEFUSCxVc2UgZXh0ZXJuYWwgUENSRSBsaWJyYXJ5KSkKLSAKLS1BQ19Q
QVRIX1BST0coUENSRV9DT05GSUcsIHBjcmUtY29uZmlnLCBmYWxzZSkKLS1pZiB0ZXN0IC1kICIk
d2l0aF9wY3JlIiAmJiB0ZXN0IC14ICIkd2l0aF9wY3JlL2Jpbi9wY3JlLWNvbmZpZyI7IHRoZW4K
LS0gICBQQ1JFX0NPTkZJRz0kd2l0aF9wY3JlL2Jpbi9wY3JlLWNvbmZpZwotLWVsaWYgdGVzdCAt
eCAiJHdpdGhfcGNyZSI7IHRoZW4KLS0gICBQQ1JFX0NPTkZJRz0kd2l0aF9wY3JlCi0tZmkKLS0K
LS1pZiB0ZXN0ICIkUENSRV9DT05GSUciICE9ICJmYWxzZSI7IHRoZW4KLS0gIGlmICRQQ1JFX0NP
TkZJRyAtLXZlcnNpb24gPi9kZXYvbnVsbCAyPiYxOyB0aGVuIDo7IGVsc2UKLS0gICAgQUNfTVNH
X0VSUk9SKFtEaWQgbm90IGZpbmQgcGNyZS1jb25maWcgc2NyaXB0IGF0ICRQQ1JFX0NPTkZJR10p
Ci0tICBmaQotLSAgY2FzZSBgJFBDUkVfQ09ORklHIC0tdmVyc2lvbmAgaW4KLS0gIFtbMS01XS4q
XSkKLS0gICAgQUNfTVNHX0VSUk9SKFtOZWVkIGF0IGxlYXN0IHBjcmUgdmVyc2lvbiA2LjBdKQot
LSAgICA7OwotLSAgZXNhYwotLSAgQUNfTVNHX05PVElDRShbVXNpbmcgZXh0ZXJuYWwgUENSRSBs
aWJyYXJ5IGZyb20gJFBDUkVfQ09ORklHXSkKLS0gIEFQUl9BRERUTyhQQ1JFX0lOQ0xVREVTLCBb
YCRQQ1JFX0NPTkZJRyAtLWNmbGFnc2BdKQotLSAgQVBSX0FERFRPKFBDUkVfTElCUywgW2AkUENS
RV9DT05GSUcgLS1saWJzYF0pCi0tZWxzZQotLSAgQUNfTVNHX0VSUk9SKFtwY3JlLWNvbmZpZyBm
b3IgbGlicGNyZSBub3QgZm91bmQuIFBDUkUgaXMgcmVxdWlyZWQgYW5kIGF2YWlsYWJsZSBmcm9t
IGh0dHA6Ly9wY3JlLm9yZy9dKQotLWZpCi0rUEtHX0NIRUNLX01PRFVMRVMoW1BDUkVdLCBbbGli
cGNyZV0sIFsKLSsgIEFDX0RFRklORShbSEFWRV9QQ1JFXSwgWzFdLCBbRGVmaW5lIGlmIHlvdSBo
YXZlIFBDUkUgbGlicmFyeV0pCi0rXSwgWwotKyAgQUNfTVNHX0VSUk9SKFskUENSRV9QS0dfRVJS
T1JTXSkKLStdKQotIEFQQUNIRV9TVUJTVChQQ1JFX0xJQlMpCi0gCi0gQUNfTVNHX05PVElDRShb
XSkKLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy9saWJn
Y3J5cHQtMDAwMS1Vc2UtcGtnLWNvbmZpZy10by1kZXRlY3QtZ3BnLWVycm9yLnBhdGNoIGIvVG9v
bHMvZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWRldGVj
dC1ncGctZXJyb3IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM1NzcyN2Zi
YjhiMDhiOTE5NWE1YzA5N2Q2YzYxYjkwOGM2OTE3OWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlwdC0w
MDAxLVVzZS1wa2ctY29uZmlnLXRvLWRldGVjdC1ncGctZXJyb3IucGF0Y2gKKysrIC9kZXYvbnVs
bApAQCAtMSwxMTAgKzAsMCBAQAotRnJvbSA5YWZmM2YxYjM0NGZjODY2NmIxNGM1NzYyOTE2MmMy
YjkwMDdjYWQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGhpYmF1bHQgU2F1bmll
ciA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KLURhdGU6IEZyaSwgMjkgSnVuIDIwMTggMDk6MDU6NTIg
LTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gVXNlIHBrZy1jb25maWcgdG8gZGV0ZWN0IGdwZy1lcnJv
cgotCi0tLS0KLSBtNC9ncGctZXJyb3IubTQgfCA4OCArKysrKysrLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMo
KyksIDc2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbTQvZ3BnLWVycm9yLm00IGIvbTQv
Z3BnLWVycm9yLm00Ci1pbmRleCAxNjYxMjA0Yy4uNWY5ZjMzYzIgMTAwNjQ0Ci0tLS0gYS9tNC9n
cGctZXJyb3IubTQKLSsrKyBiL200L2dwZy1lcnJvci5tNAotQEAgLTQxLDgxICs0MSwxNyBAQCBB
Q19ERUZVTihbQU1fUEFUSF9HUEdfRVJST1JdLAotICAgQUNfQVJHX1dJVEgoZ3BnLWVycm9yLXBy
ZWZpeCwsCi0gICAgICAgICAgICAgICBbZ3BnX2Vycm9yX2NvbmZpZ19wcmVmaXg9IiR3aXRodmFs
Il0pCi0gCi0tICBpZiB0ZXN0IHgiJHtHUEdfRVJST1JfQ09ORklHfSIgPSB4IDsgdGhlbgotLSAg
ICAgaWYgdGVzdCB4IiR7Z3BnX2Vycm9yX2NvbmZpZ19wcmVmaXh9IiAhPSB4IDsgdGhlbgotLSAg
ICAgICAgR1BHX0VSUk9SX0NPTkZJRz0iJHtncGdfZXJyb3JfY29uZmlnX3ByZWZpeH0vYmluL2dw
Zy1lcnJvci1jb25maWciCi0tICAgICBlbHNlCi0tICAgICAgIGNhc2UgIiR7U1lTUk9PVH0iIGlu
Ci0tICAgICAgICAgLyopCi0tICAgICAgICAgICBpZiB0ZXN0IC14ICIke1NZU1JPT1R9L2Jpbi9n
cGctZXJyb3ItY29uZmlnIiA7IHRoZW4KLS0gICAgICAgICAgICAgR1BHX0VSUk9SX0NPTkZJRz0i
JHtTWVNST09UfS9iaW4vZ3BnLWVycm9yLWNvbmZpZyIKLS0gICAgICAgICAgIGZpCi0tICAgICAg
ICAgICA7OwotLSAgICAgICAgICcnKQotLSAgICAgICAgICAgOzsKLS0gICAgICAgICAgKikKLS0g
ICAgICAgICAgIEFDX01TR19XQVJOKFtJZ25vcmluZyBcJFNZU1JPT1QgYXMgaXQgaXMgbm90IGFu
IGFic29sdXRlIHBhdGguXSkKLS0gICAgICAgICAgIDs7Ci0tICAgICAgIGVzYWMKLS0gICAgIGZp
Ci0tICBmaQotKyAgUEtHX0NIRUNLX01PRFVMRVMoW0dQR19FUlJPUl0sIFtncGctZXJyb3JdLCBb
Ci0rICAgIEFDX0RFRklORShbSEFWRV9HUEdfRVJST1JdLCBbMV0sIFtEZWZpbmUgaWYgeW91IGhh
dmUgZ3BnLWVycm9yIGxpYnJhcnldKQotIAotLSAgQUNfUEFUSF9QUk9HKEdQR19FUlJPUl9DT05G
SUcsIGdwZy1lcnJvci1jb25maWcsIG5vKQotLSAgbWluX2dwZ19lcnJvcl92ZXJzaW9uPWlmZWxz
ZShbJDFdLCAsMC4wLCQxKQotLSAgQUNfTVNHX0NIRUNLSU5HKGZvciBHUEcgRXJyb3IgLSB2ZXJz
aW9uID49ICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb24pCi0tICBvaz1ubwotLSAgaWYgdGVzdCAiJEdQ
R19FUlJPUl9DT05GSUciICE9ICJubyIgXAotLSAgICAgJiYgdGVzdCAtZiAiJEdQR19FUlJPUl9D
T05GSUciIDsgdGhlbgotLSAgICByZXFfbWFqb3I9YGVjaG8gJG1pbl9ncGdfZXJyb3JfdmVyc2lv
biB8IFwKLS0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXCkv
XDEvJ2AKLS0gICAgcmVxX21pbm9yPWBlY2hvICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb24gfCBcCi0t
ICAgICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwuXChbWzAtOV1dKlwpL1wyLydgCi0t
ICAgIGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbj1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJv
cl9jb25maWdfYXJncyAtLXZlcnNpb25gCi0tICAgIG1ham9yPWBlY2hvICRncGdfZXJyb3JfY29u
ZmlnX3ZlcnNpb24gfCBcCi0tICAgICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwuXChb
WzAtOV1dKlwpLiovXDEvJ2AKLS0gICAgbWlub3I9YGVjaG8gJGdwZ19lcnJvcl9jb25maWdfdmVy
c2lvbiB8IFwKLS0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0q
XCkuKi9cMi8nYAotLSAgICBpZiB0ZXN0ICIkbWFqb3IiIC1ndCAiJHJlcV9tYWpvciI7IHRoZW4K
LS0gICAgICAgIG9rPXllcwotLSAgICBlbHNlCi0tICAgICAgICBpZiB0ZXN0ICIkbWFqb3IiIC1l
cSAiJHJlcV9tYWpvciI7IHRoZW4KLS0gICAgICAgICAgICBpZiB0ZXN0ICIkbWlub3IiIC1nZSAi
JHJlcV9taW5vciI7IHRoZW4KLS0gICAgICAgICAgICAgICBvaz15ZXMKLS0gICAgICAgICAgICBm
aQotLSAgICAgICAgZmkKLS0gICAgZmkKLS0gIGZpCi0tICBpZiB0ZXN0ICRvayA9IHllczsgdGhl
bgotLSAgICBHUEdfRVJST1JfQ0ZMQUdTPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2Nv
bmZpZ19hcmdzIC0tY2ZsYWdzYAotLSAgICBHUEdfRVJST1JfTElCUz1gJEdQR19FUlJPUl9DT05G
SUcgJGdwZ19lcnJvcl9jb25maWdfYXJncyAtLWxpYnNgCi0tICAgIEdQR19FUlJPUl9NVF9DRkxB
R1M9YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1tdCAtLWNmbGFn
cyAyPi9kZXYvbnVsbGAKLS0gICAgR1BHX0VSUk9SX01UX0xJQlM9YCRHUEdfRVJST1JfQ09ORklH
ICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1tdCAtLWxpYnMgMj4vZGV2L251bGxgCi0tICAgIEFD
X01TR19SRVNVTFQoW3llcyAoJGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbildKQotLSAgICBpZmVs
c2UoWyQyXSwgLCA6LCBbJDJdKQotLSAgICBncGdfZXJyb3JfY29uZmlnX2hvc3Q9YCRHUEdfRVJS
T1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1ob3N0IDI+L2Rldi9udWxsIHx8IGVj
aG8gbm9uZWAKLS0gICAgaWYgdGVzdCB4IiRncGdfZXJyb3JfY29uZmlnX2hvc3QiICE9IHhub25l
IDsgdGhlbgotLSAgICAgIGlmIHRlc3QgeCIkZ3BnX2Vycm9yX2NvbmZpZ19ob3N0IiAhPSB4IiRo
b3N0IiA7IHRoZW4KLS0gIEFDX01TR19XQVJOKFtbCi0tKioqCi0tKioqIFRoZSBjb25maWcgc2Ny
aXB0ICRHUEdfRVJST1JfQ09ORklHIHdhcwotLSoqKiBidWlsdCBmb3IgJGdwZ19lcnJvcl9jb25m
aWdfaG9zdCBhbmQgdGh1cyBtYXkgbm90IG1hdGNoIHRoZQotLSoqKiB1c2VkIGhvc3QgJGhvc3Qu
Ci0tKioqIFlvdSBtYXkgd2FudCB0byB1c2UgdGhlIGNvbmZpZ3VyZSBvcHRpb24gLS13aXRoLWdw
Zy1lcnJvci1wcmVmaXgKLS0qKiogdG8gc3BlY2lmeSBhIG1hdGNoaW5nIGNvbmZpZyBzY3JpcHQg
b3IgdXNlIFwkU1lTUk9PVC4KLS0qKipdXSkKLS0gICAgICAgIGdwZ19jb25maWdfc2NyaXB0X3dh
cm49IiRncGdfY29uZmlnX3NjcmlwdF93YXJuIGxpYmdwZy1lcnJvciIKLS0gICAgICBmaQotLSAg
ICBmaQotLSAgZWxzZQotLSAgICBHUEdfRVJST1JfQ0ZMQUdTPSIiCi0tICAgIEdQR19FUlJPUl9M
SUJTPSIiCi0tICAgIEdQR19FUlJPUl9NVF9DRkxBR1M9IiIKLS0gICAgR1BHX0VSUk9SX01UX0xJ
QlM9IiIKLS0gICAgQUNfTVNHX1JFU1VMVChubykKLS0gICAgaWZlbHNlKFskM10sICwgOiwgWyQz
XSkKLS0gIGZpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfQ0ZMQUdTKQotLSAgQUNfU1VCU1QoR1BH
X0VSUk9SX0xJQlMpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfTVRfQ0ZMQUdTKQotLSAgQUNfU1VC
U1QoR1BHX0VSUk9SX01UX0xJQlMpCi0rICAgIEdQR19FUlJPUl9NVF9DRkxBR1M9IiRHUEdfRVJS
T1JfQ0ZMQUdTIgotKyAgICBHUEdfRVJST1JfTVRfTElCUz0iLWxwdGhyZWFkICRHUEdfRVJST1Jf
TElCUyIKLSsKLSsgICAgQUNfU1VCU1QoR1BHX0VSUk9SX0NGTEFHUykKLSsgICAgQUNfU1VCU1Qo
R1BHX0VSUk9SX0xJQlMpCi0rICAgIEFDX1NVQlNUKEdQR19FUlJPUl9NVF9DRkxBR1MpCi0rICAg
IEFDX1NVQlNUKEdQR19FUlJPUl9NVF9MSUJTKQotKyAgXSwgWwotKyAgICBBQ19NU0dfRVJST1Io
WyRHUEdfRVJST1JfRVJST1JTXSkKLSsgIF0pCi0gXSkKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdp
dCBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEtSEFDSy1Bdm9pZC1jb21waWxpbmct
YS1rYm0tZmlsZS5wYXRjaCBiL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEtSEFDSy1B
dm9pZC1jb21waWxpbmctYS1rYm0tZmlsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggODk4ODQyYjM4MWQyNTE0MGZiYzA4ZjU0YTk3MjMwYTZkYmU0YTQ1MC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL3BhdGNo
ZXMveHZmYi0wMDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEta2JtLWZpbGUucGF0Y2gKKysrIC9k
ZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1Gcm9tIGFlZDFiNmU4ZGU0MTM3NWMxYjhiMWRmYzQ4
YTM1MGUwYTliOWNiYmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUaGliYXVsdCBT
YXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotRGF0ZTogTW9uLCAxMSBKdW4gMjAxOCAxMDo1
NTo0MyAtMDQwMAotU3ViamVjdDogW1BBVENIIHhzZXJ2ZXJdIEhBQ0s6IEF2b2lkIGNvbXBpbGlu
ZyBhIGtibSBmaWxlCi0KLVRoaXMgd291bGQgbmVlZCB0byBiZSBpbiAvdXNyL3NoYXJlL1gxMS8g
YXMgdGhpcyBpcyB3aGVyZQotcmVzb3VyY2UgZmlsZXMgYXJlIGluIHRoZSBzYW5kYm94IGJ1dCBp
dCBpcyByZWFkIG9ubHkgaW4gdGhlcmUuCi0KLUhhY2sgYXJvdW5kIHRoYXQuCi0tLS0KLSB4a2Iv
ZGR4TG9hZC5jIHwgOSArLS0tLS0tLS0KLSB4a2IveGtiSW5pdC5jIHwgMiArLQotIDIgZmlsZXMg
Y2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEv
eGtiL2RkeExvYWQuYyBiL3hrYi9kZHhMb2FkLmMKLWluZGV4IGJiZTM5NTIuLmE0YTAzYTEgMTAw
NjQ0Ci0tLS0gYS94a2IvZGR4TG9hZC5jCi0rKysgYi94a2IvZGR4TG9hZC5jCi1AQCAtMTQ4LDE0
ICsxNDgsNyBAQCBSdW5Ya2JDb21wKHhrYmNvbXBfYnVmZmVyX2NhbGxiYWNrIGNhbGxiYWNrLCB2
b2lkICp1c2VyZGF0YSkKLSAgICAgICAgIH0KLSAgICAgfQotIAotLSAgICBpZiAoYXNwcmludGYo
JmJ1ZiwKLS0gICAgICAgICAgICAgICAgICJcIiVzJXN4a2Jjb21wXCIgLXcgJWQgJXMgLXhrbSBc
IiVzXCIgIgotLSAgICAgICAgICAgICAgICAgIi1lbTEgJXMgLWVtcCAlcyAtZW1sICVzIFwiJXMl
cy54a21cIiIsCi0tICAgICAgICAgICAgICAgICB4a2JiaW5kaXIsIHhrYmJpbmRpcnNlcCwKLS0g
ICAgICAgICAgICAgICAgICgoeGtiRGVidWdGbGFncyA8IDIpID8gMSA6Ci0tICAgICAgICAgICAg
ICAgICAgKCh4a2JEZWJ1Z0ZsYWdzID4gMTApID8gMTAgOiAoaW50KSB4a2JEZWJ1Z0ZsYWdzKSks
Ci0tICAgICAgICAgICAgICAgICB4a2JiYXNlZGlyZmxhZyA/IHhrYmJhc2VkaXJmbGFnIDogIiIs
IHhrbWZpbGUsCi0tICAgICAgICAgICAgICAgICBQUkVfRVJST1JfTVNHLCBFUlJPUl9QUkVGSVgs
IFBPU1RfRVJST1JfTVNHMSwKLSsgICAgaWYgKGFzcHJpbnRmKCZidWYsICJjcCAvYXBwL3dlYmtp
dC9Ub29scy9mbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttIFwiJXMlcy54a21cIiIsCi0gICAgICAg
ICAgICAgICAgICB4a21fb3V0cHV0X2Rpciwga2V5bWFwKSA9PSAtMSkKLSAgICAgICAgIGJ1ZiA9
IE5VTEw7Ci0gCi1kaWZmIC0tZ2l0IGEveGtiL3hrYkluaXQuYyBiL3hrYi94a2JJbml0LmMKLWlu
ZGV4IDljNzcyZjUuLjRlMGI3NzQgMTAwNjQ0Ci0tLS0gYS94a2IveGtiSW5pdC5jCi0rKysgYi94
a2IveGtiSW5pdC5jCi1AQCAtODcsNyArODcsNyBAQCB0eXBlZGVmIHN0cnVjdCBfU3J2WGttSW5m
byB7Ci0gI2RlZmluZQlYS0JfREZMVF9SVUxFU19QUk9QCVRSVUUKLSAjZW5kaWYKLSAKLS1jb25z
dCBjaGFyICpYa2JCYXNlRGlyZWN0b3J5ID0gWEtCX0JBU0VfRElSRUNUT1JZOwotK2NvbnN0IGNo
YXIgKlhrYkJhc2VEaXJlY3RvcnkgPSAiL3Vzci9zaGFyZS9YMTEveGtiLyI7Ci0gY29uc3QgY2hh
ciAqWGtiQmluRGlyZWN0b3J5ID0gWEtCX0JJTl9ESVJFQ1RPUlk7Ci0gc3RhdGljIGludCBYa2JX
YW50QWNjZXNzWCA9IDA7Ci0gCi0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9Ub29scy9ndGsv
aW5zdGFsbC1kZXBlbmRlbmNpZXMgYi9Ub29scy9ndGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMKaW5k
ZXggNmZkNTY2ZjBkY2YzYzUxNDJmNjkwZmUyYjM5M2E2ZTAzZTc5ZTNhMy4uNjNiOTY3NWZjMDkx
OGNlYTBkMGQ2ZGYxYTc5MTRlMzVjYzgxM2RkNiAxMDA3NTUKLS0tIGEvVG9vbHMvZ3RrL2luc3Rh
bGwtZGVwZW5kZW5jaWVzCisrKyBiL1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVuZGVuY2llcwpAQCAt
MTc4LDYgKzE3OCwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aEFwdCB7CiAg
ICAgICAgIHdlc3RvbiBcCiAgICAgICAgIHh2ZmIiCiAKKyAgICAjIFRoZXNlIGFyZSBkZXBlbmRl
bmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAgICBw
YWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAgICAgICAgZmxhdHBhayIKKwogICAgICMgVGhlc2UgYXJl
IGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAgIHBh
Y2thZ2VzPSIkcGFja2FnZXMgXAogICAgICAgICBiaXNvbiBcCkBAIC0zNDgsNiArMzUyLDEwIEBA
IGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoUGFjbWFuIHsKICAgICAgICAgd2VzdG9u
IFwKICAgICAgICAgeG9yZy1zZXJ2ZXIteHZmYiIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVuZGVu
Y2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAgIHBh
Y2thZ2VzPSIkcGFja2FnZXMgXAorICAgICAgICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBhcmUg
ZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAgIyBO
b3RlOiBDb3VsZCBub3QgZmluZCBsaWJlZ2wtbWVzYQogICAgIHBhY2thZ2VzPSIkcGFja2FnZXMg
XApAQCAtNTIyLDYgKzUzMCwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aERu
ZiB7CiAgICAgICAgIHdlc3Rvbi1kZXZlbCBcCiAgICAgICAgIHhvcmcteDExLXNlcnZlci1YdmZi
IgogCisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcg
d2l0aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCisgICAgICAg
IGZsYXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBi
dWlsZGluZyB0aGUgamhidWlsZC4KICAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKICAgICAgICAg
Ymlzb24gXApkaWZmIC0tZ2l0IGEvVG9vbHMvd3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzIGIvVG9v
bHMvd3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzCmluZGV4IGNhMWNkM2ZkZWYwY2FmNjQ2NjgyM2U1
YThlZDkyYjQ0N2M0OTBhYTEuLmYyYTVmMjVkZWQ4MzdhOWU5MzUyNTU0YjZkMmYyYWUxZjM1MDYy
NGQgMTAwNzU1Ci0tLSBhL1Rvb2xzL3dwZS9pbnN0YWxsLWRlcGVuZGVuY2llcworKysgYi9Ub29s
cy93cGUvaW5zdGFsbC1kZXBlbmRlbmNpZXMKQEAgLTExMSw2ICsxMTEsMTAgQEAgZnVuY3Rpb24g
aW5zdGFsbERlcGVuZGVuY2llc1dpdGhBcHQgewogICAgICAgICBydWJ5LWhpZ2hsaW5lIFwKICAg
ICAgICAgcnVieS1qc29uIgogCisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2Fy
eSBmb3IgYnVpbGRpbmcgd2l0aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNr
YWdlcyBcCisgICAgICAgIGZsYXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMg
bmVjZXNzYXJ5IGZvciBidWlsZGluZyB0aGUgamhidWlsZC4KICAgICBwYWNrYWdlcz0iJHBhY2th
Z2VzIFwKICAgICAgICAgZ2l0IFwKQEAgLTIxNCw2ICsyMTgsMTAgQEAgZnVuY3Rpb24gaW5zdGFs
bERlcGVuZGVuY2llc1dpdGhQYWNtYW4gewogICAgICAgICBydWJ5IFwKICAgICAgICAgdHRmLWxp
YmVyYXRpb24iCiAKKyAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBi
dWlsZGluZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwK
KyAgICAgICAgZmxhdHBhayIKKwogICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3Nh
cnkgZm9yIGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAog
ICAgICAgICBleHBhdCBcCkBAIC0zMjYsNiArMzM0LDEwIEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBl
bmRlbmNpZXNXaXRoRG5mIHsKICAgICAgICAgcnVieWdlbS1oaWdobGluZSBcCiAgICAgICAgIHJ1
YnlnZW0tanNvbiIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9y
IGJ1aWxkaW5nIHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2FnZXMg
XAorICAgICAgICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vz
c2FyeSBmb3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBc
CiAgICAgICAgIGV4cGF0LWRldmVsIFwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1ZWZlZjY1NTM0OTQwYzk1NGY4NzFlYzk0
ZGYwMTAwNTA1ZTcyOWMwLi4wYWJjNmMxM2Y2ODlhMjJiOTZiNGVhNzEyNmZmMWY1MjE2MDQxNzU1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDItMDQgIFBoaWxpcHBlIE5vcm1hbmQgIDxw
bm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0gTWlncmF0ZSB0byBGbGF0
cGFrLWJhc2VkIGRldiBTREsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwNTY1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogaHR0cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZjogQWRqdXN0IHBhdGhzLgor
CiAyMDIwLTAzLTAzICBKYXNvbiBMYXdyZW5jZSAgPGxhd3JlbmNlLmpAYXBwbGUuY29tPgogCiAg
ICAgICAgIFsgTWFjIHdrMSBEZWJ1ZyBdIGxlZ2FjeS1hbmltYXRpb24tZW5naW5lL2FuaW1hdGlv
bnMvYW5pbWF0aW9uLWRpcmVjdGlvbi1yZXZlcnNlLmh0bWwgaXMgZmxha3kgZmFpbGluZy4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvY29uZi9mbGF0cGFrLWh0dHBkLmNvbmYgYi9MYXlv
dXRUZXN0cy9odHRwL2NvbmYvZmxhdHBhay1odHRwZC5jb25mCmluZGV4IDNjMDNlNDIzOWMyNDk4
OWQ5Y2Q3OTY4NjE0NGJjN2NlMmIzMGMzMWIuLmJmNTIxNWQ1ODlhZDYxZjg4MmQ1M2EwNjc1YWQ2
N2E0NDZhYjk0M2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvY29uZi9mbGF0cGFrLWh0
dHBkLmNvbmYKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZgpA
QCAtMSw1ICsxLDUgQEAKIFNlcnZlclRva2VucyBPUwotU2VydmVyUm9vdCAiL2FwcC8iCitTZXJ2
ZXJSb290ICIvdXNyLyIKIAogUGlkRmlsZSAiL3RtcC9XZWJLaXQvaHR0cGQucGlkIgogU2NvcmVC
b2FyZEZpbGUgIi90bXAvV2ViS2l0L2h0dHBkLnNjb3JlYm9hcmQiCkBAIC0zMyw5ICszMyw3IEBA
IExvYWRNb2R1bGUgbG9nX2NvbmZpZ19tb2R1bGUgICAgbW9kdWxlcy9tb2RfbG9nX2NvbmZpZy5z
bwogTG9hZE1vZHVsZSBzc2xfbW9kdWxlICAgICAgICAgICBtb2R1bGVzL21vZF9zc2wuc28KIExv
YWRNb2R1bGUgcGhwN19tb2R1bGUgICAgICAgICAgbW9kdWxlcy9saWJwaHA3LnNvCiBMb2FkTW9k
dWxlIGFzaXNfbW9kdWxlICAgICAgICAgIG1vZHVsZXMvbW9kX2FzaXMuc28KLUxvYWRNb2R1bGUg
ZW52X21vZHVsZSAgICAgICAgICAgbW9kdWxlcy9tb2RfZW52LnNvCiAKLVNldEVudiBQRVJMNUxJ
QiAvYXBwL2xpYi9wZXJsCiAKIFNlcnZlck5hbWUgMTI3LjAuMC4xCiAKQEAgLTU0LDcgKzUyLDcg
QEAgQWNjZXNzRmlsZU5hbWUgLmh0YWNjZXNzCiBVc2VDYW5vbmljYWxOYW1lIE9uCiBIb3N0bmFt
ZUxvb2t1cHMgT2ZmCiAKLVR5cGVzQ29uZmlnIC9ldGMvbWltZS50eXBlcworVHlwZXNDb25maWcg
L3Vzci9jb25mL21pbWUudHlwZXMKIAogTG9nTGV2ZWwgd2FybgogTG9nRm9ybWF0ICIlaCAlbCAl
dSAldCBcIiVyXCIgJT5zICViIFwiJXtSZWZlcmVyfWlcIiBcIiV7VXNlci1BZ2VudH1pXCIiIGNv
bWJpbmVkCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393154</attachid>
            <date>2020-03-10 08:35:02 -0700</date>
            <delta_ts>2020-03-11 02:51:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205658-20200310153500.patch</filename>
            <type>text/plain</type>
            <size>131762</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzQ1NzMwNWU4NGUxZjkz
YzMzMjhjMzgzYTE2MTI0MDg1NzkyMTU2My4uOWRmNDhhZGRmMDM2MmIzMDAwODllYTcyNTFlMGFi
YzZjODY3ZDQ5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAyLTA0ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVd
IE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0
aW9uTGliSHlwaGVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNjYW5UZXN0RGljdGlvbmFyaWVz
RGlyZWN0b3J5SWZOZWNlc3NhcnkpOiBDaGVjayBmb3IgZmxhdHBhay1pbnN0YWxsZWQgZGljdGlv
bmFyaWVzLgorCiAyMDIwLTAzLTEwICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBbaU9TXSBNYWtlIHN1cmUgYSBNZWRpU3RyZWFtVHJhY2sgY2xvbmUgZG9lcyBu
b3QgaW50ZXJydXB0IHRoZSBiZWluZyBjbG9uZWQgdHJhY2sKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0aW9uTGliSHlwaGVuLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0aW9uTGliSHlwaGVuLmNw
cAppbmRleCAxMmJhYTRjNGQzZTllNjNmN2ZmODFjNWUyYjExOTRiOGJiOGE5YzA1Li5mMzM1OWQ4
MDcwMjJmNTQ4OWM2OGY5YWNmODE2YTY3MDQyYTUzZDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L2h5cGhlbi9IeXBoZW5hdGlvbkxpYkh5cGhlbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9oeXBoZW4vSHlwaGVuYXRpb25MaWJIeXBoZW4u
Y3BwCkBAIC0xMjEsOCArMTIxLDE1IEBAIHN0YXRpYyB2b2lkIHNjYW5UZXN0RGljdGlvbmFyaWVz
RGlyZWN0b3J5SWZOZWNlc3NhcnkoSGFzaE1hcDxBdG9tU3RyaW5nLCBWZWN0b3I8CiAgICAgLy8g
bGliaHlwaGVuIGRvZXNuJ3QgaGF2ZSB0aGUgY29uY2VwdCBvZiBpbnN0YWxsZWQgZGljdGlvbmFy
aWVzLiBJbnN0ZWFkLAogICAgIC8vIHdlIGhhdmUgdGhpcyBzcGVjaWFsIGNhc2UgZm9yIFdlYktp
dCB0ZXN0cy4KICNpZiBQTEFURk9STShHVEspCisgICAgLy8gVHJ5IGFsdGVybmF0aXZlIGRpY3Rp
b25hcmllcyBwYXRoIGZvciBwZW9wbGUgdXNpbmcgRmxhdHBhay4KKyAgICBHVW5pcXVlUHRyPGNo
YXI+IGRpY3Rpb25hcmllc1BhdGgoZ19idWlsZF9maWxlbmFtZSgiL3VzciIsICJzaGFyZSIsICJ3
ZWJraXRndGstdGVzdC1kaWN0cyIsIG51bGxwdHIpKTsKKyAgICBpZiAoZ19nZXRlbnYoIkZMQVRQ
QUtfSUQiKSAmJiBnX2ZpbGVfdGVzdChkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBzdGF0aWNfY2Fz
dDxHRmlsZVRlc3Q+KEdfRklMRV9URVNUX0lTX0RJUikpKSB7CisgICAgICAgIHNjYW5EaXJlY3Rv
cnlGb3JEaWN0aW9uYXJpZXMoZGljdGlvbmFyaWVzUGF0aC5nZXQoKSwgYXZhaWxhYmxlTG9jYWxl
cyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBDU3RyaW5nIGJ1aWxkRGlyZWN0b3J5
ID0gd2Via2l0QnVpbGREaXJlY3RvcnkoKTsKLSAgICBHVW5pcXVlUHRyPGNoYXI+IGRpY3Rpb25h
cmllc1BhdGgoZ19idWlsZF9maWxlbmFtZShidWlsZERpcmVjdG9yeS5kYXRhKCksICJEZXBlbmRl
bmNpZXNHVEsiLCAiUm9vdCIsICJ3ZWJraXRndGstdGVzdC1kaWN0cyIsIG51bGxwdHIpKTsKKyAg
ICBkaWN0aW9uYXJpZXNQYXRoLnJlc2V0KGdfYnVpbGRfZmlsZW5hbWUoYnVpbGREaXJlY3Rvcnku
ZGF0YSgpLCAiRGVwZW5kZW5jaWVzR1RLIiwgIlJvb3QiLCAid2Via2l0Z3RrLXRlc3QtZGljdHMi
LCBudWxscHRyKSk7CiAgICAgaWYgKGdfZmlsZV90ZXN0KGRpY3Rpb25hcmllc1BhdGguZ2V0KCks
IHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfSVNfRElSKSkpIHsKICAgICAgICAg
c2NhbkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFp
bGFibGVMb2NhbGVzKTsKICAgICAgICAgcmV0dXJuOwpAQCAtMTMwLDcgKzEzNyw5IEBAIHN0YXRp
YyB2b2lkIHNjYW5UZXN0RGljdGlvbmFyaWVzRGlyZWN0b3J5SWZOZWNlc3NhcnkoSGFzaE1hcDxB
dG9tU3RyaW5nLCBWZWN0b3I8CiAKICAgICAvLyBUcnkgYWx0ZXJuYXRpdmUgZGljdGlvbmFyaWVz
IHBhdGggZm9yIHBlb3BsZSBub3QgdXNpbmcgSkhCdWlsZC4KICAgICBkaWN0aW9uYXJpZXNQYXRo
LnJlc2V0KGdfYnVpbGRfZmlsZW5hbWUoYnVpbGREaXJlY3RvcnkuZGF0YSgpLCAid2Via2l0Z3Rr
LXRlc3QtZGljdHMiLCBudWxscHRyKSk7Ci0gICAgc2NhbkRpcmVjdG9yeUZvckRpY3Rpb25hcmll
cyhkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFpbGFibGVMb2NhbGVzKTsKKyAgICBpZiAoZ19m
aWxlX3Rlc3QoZGljdGlvbmFyaWVzUGF0aC5nZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihH
X0ZJTEVfVEVTVF9JU19ESVIpKSkKKyAgICAgICAgc2NhbkRpcmVjdG9yeUZvckRpY3Rpb25hcmll
cyhkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFpbGFibGVMb2NhbGVzKTsKKwogI2VsaWYgZGVm
aW5lZChURVNUX0hZUEhFTkFUQUlPTl9QQVRIKQogICAgIHNjYW5EaXJlY3RvcnlGb3JEaWN0aW9u
YXJpZXMoVEVTVF9IWVBIRU5BVEFJT05fUEFUSCwgYXZhaWxhYmxlTG9jYWxlcyk7CiAjZWxzZQpk
aWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDRhMjJk
ZWM2MmMxMzYxMWZjNGMxYzk4ZDBjODUxNWIyMDMwOWUyNTkuLjAxMDk3Y2I5YmMzZmRiMWNmMjdm
NjJjYTNmMzEyMjgxOWU5Mzc4YmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMTUgQEAKKzIwMjAtMDItMDQgIFBoaWxpcHBlIE5v
cm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0gTWlncmF0
ZSB0byBGbGF0cGFrLWJhc2VkIGRldiBTREsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwNTY1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEpIQnVpbGQgd2lsbCBub3cgYmUgdXNlZCBvbmx5IGlmIHRoZSBX
RUJLSVRfSkhCVUlMRCBlbnZpcm9ubWVudAorICAgICAgICB2YXJpYWJsZSBpcyBzZXQgdG8gMSwg
d2hpY2ggaXMgdGhlIGNhc2UgZm9yIHRoZSB0aW1lIGJlaW5nIG9uIHRoZQorICAgICAgICBHVEsg
YW5kIFdQRSBFV1MvYnVpbGQgYm90cy4KKworICAgICAgICBCeSBkZWZhdWx0IHRoZSBidWlsZCBk
ZXBlbmRlbmNpZXMgYXJlIG5vdyBsb2NhbGx5IGluc3RhbGxlZCBmcm9tIGEKKyAgICAgICAgRmxh
dHBhayByZXBvc2l0b3J5IGhvc3RlZCBhdCBodHRwczovL3NvZnR3YXJlLmlnYWxpYS5jb20uIFRo
ZQorICAgICAgICByZXBvc2l0b3J5IGNhbiBiZSByZWdlbmVyYXRlZCB3aXRoIHRoZSBzY3JpcHRz
IGZyb20gdGhlCisgICAgICAgIHdlYmtpdC1mbGF0cGFrLXNkayBHaXRodWIgcHJvamVjdAorICAg
ICAgICAoaHR0cHM6Ly9naXRodWIuY29tL0lnYWxpYS93ZWJraXQtZmxhdHBhay1zZGspLiBUaGlz
IGlzIGRvbmUKKyAgICAgICAgdHJhbnNwYXJlbnRseSB3aXRoIHRoZSB1cGRhdGUtd2Via2l0e2d0
ayx3cGV9LWxpYnMgc2NyaXB0cy4gQXMKKyAgICAgICAgdGhlcmUgaXMgbm8gbmVlZCB0byByZWJ1
aWxkIHRoZSBkZXBlbmRlbmNpZXMgZnJvbSBzY3JhdGNoLCB0aGUKKyAgICAgICAgZGV2ZWxvcGVy
IHVzZXItZXhwZXJpZW5jZSBzaG91bGQgbm93IGJlIG11Y2ggbW9yZSBmcmllbmRseSBhbmQKKyAg
ICAgICAgb3ZlcmFsbCBidWlsZCB0aW1lcyByZWR1Y2VkLgorCisgICAgICAgIEFzIGFuIGFkZGl0
aW9uYWwgY29tbW9kaXR5LCB0aGUgbmV3IGVudmlyb25tZW50IHN1cHBvcnRzIHRoZQorICAgICAg
ICBHU3RyZWFtZXIgZ3N0LWJ1aWxkLWJhc2VkIHdvcmtmbG93LiBKdXN0IHNldCB0aGUgR1NUX0JV
SUxEX1BBVEgKKyAgICAgICAgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8geW91ciBnc3QtYnVpbGQg
cGF0aC4gVGhpcyBmZWF0dXJlIHdhcworICAgICAgICBjb250cmlidXRlZCBieSBUaGliYXVsdCBT
YXVuaWVyLgorCisgICAgICAgIFRoZSBKSEJ1aWxkIGluZnJhc3RydWN0dXJlIHdpbGwgYmUgcmVt
b3ZlZCBvbmNlIGFsbCB0aGUgYm90cyBoYXZlCisgICAgICAgIGJlZW4gc3dpdGNoZWQgb3ZlciB0
byBGbGF0cGFrLgorCisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBz
LnB5OgorICAgICAgICAoSW5zdGFsbEd0a0RlcGVuZGVuY2llcyk6CisgICAgICAgIChJbnN0YWxs
V3BlRGVwZW5kZW5jaWVzKToKKyAgICAgICAgKENvbXBpbGVXZWJLaXQuc3RhcnQpOgorICAgICAg
ICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWlsZGJvdC9ydW46CisgICAgICAgICogU2NyaXB0
cy9idWlsZC13ZWJraXQ6CisgICAgICAgICogU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHM6Cisg
ICAgICAgICogU2NyaXB0cy9ydW4tYnVpbHRpbnMtZ2VuZXJhdG9yLXRlc3RzOgorICAgICAgICAq
IFNjcmlwdHMvcnVuLWd0ay10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0
Y29yZS10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1taW5pYnJvd3NlcjoKKyAgICAgICAg
KiBTY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXI6CisgICAgICAgICogU2NyaXB0cy9ydW4t
d2ViZHJpdmVyLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVuLXdwZS10ZXN0czoKKyAgICAg
ICAgKiBTY3JpcHRzL3Rlc3Qtd2Via2l0cGVybDoKKyAgICAgICAgKiBTY3JpcHRzL3Rlc3Qtd2Vi
a2l0cHk6CisgICAgICAgICogU2NyaXB0cy90ZXN0MjYyLXJ1bm5lcjoKKyAgICAgICAgKiBTY3Jp
cHRzL3VwZGF0ZS13ZWJraXQtZmxhdHBhazogUmVuYW1lZCBmcm9tIFRvb2xzL1NjcmlwdHMvdXBk
YXRlLXdlYmtpdGd0ay1mbGF0cGFrLgorICAgICAgICAqIFNjcmlwdHMvdXBkYXRlLXdlYmtpdGd0
ay1saWJzOgorICAgICAgICAqIFNjcmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1mbGF0cGFrOiBSZW1v
dmVkLgorICAgICAgICAqIFNjcmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1saWJzOgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0ZGlycy5wbToKKyAgICAgICAgKGdldFVzZXJGbGF0cGFrUGF0aCk6Cisg
ICAgICAgIChpbkZsYXRwYWtTYW5kYm94KToKKyAgICAgICAgKHJ1bkluRmxhdHBha0lmQXZhaWxh
YmxlKToKKyAgICAgICAgKHdyYXBwZXJQcmVmaXhJZk5lZWRlZCk6CisgICAgICAgIChzaG91bGRV
c2VKaGJ1aWxkKToKKyAgICAgICAgKHNob3VsZFVzZUZsYXRwYWspOgorICAgICAgICAoc2hvdWxk
UmVtb3ZlQ01ha2VDYWNoZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lz
dGVtL2V4ZWN1dGl2ZS5weToKKyAgICAgICAgKEV4ZWN1dGl2ZS5raWxsX2FsbCk6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHk6CisgICAgICAgIChQb3J0Ll9wYXRoX3Rv
X2FwYWNoZSk6CisgICAgICAgIChQb3J0Ll9zaG91bGRfcnVuX2FzX3BpeGVsX3Rlc3QpOgorICAg
ICAgICAoUG9ydC5faW5fZmxhdHBha19zYW5kYm94KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3BvcnQvZ3RrLnB5OgorICAgICAgICAoR3RrUG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2
ZXIpOgorICAgICAgICAoR3RrUG9ydC5fZ2V0X2NyYXNoX2xvZyk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9sb2cucHk6CisgICAgICAgIChHREJDcmFz
aExvZ0dlbmVyYXRvcik6CisgICAgICAgIChHREJDcmFzaExvZ0dlbmVyYXRvci5fX2luaXRfXyk6
CisgICAgICAgIChHREJDcmFzaExvZ0dlbmVyYXRvci5nZW5lcmF0ZV9jcmFzaF9sb2cpOgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0
LnB5OgorICAgICAgICAoR0RCQ3Jhc2hMb2dHZW5lcmF0b3JUZXN0LnRlc3RfZ2VuZXJhdGVfY3Jh
c2hfbG9nKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvd3BlLnB5OgorICAgICAg
ICAoV1BFUG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIpOgorICAgICAgICAoV1BFUG9ydC5f
Z2V0X2NyYXNoX2xvZyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2
ZXIucHk6CisgICAgICAgIChYdmZiRHJpdmVyLl9zZXR1cF9lbnZpcm9uX2Zvcl90ZXN0KToKKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRz
R3RrLmNwcDoKKyAgICAgICAgKFdUUjo6Z2V0Rm9udHNQYXRoKToKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dwZS9BY3RpdmF0ZUZvbnRzV1BFLmNwcDoKKyAgICAg
ICAgKFdUUjo6Z2V0Rm9udHNQYXRoKToKKyAgICAgICAgKiBmbGF0cGFrL2ZpbGVzL2RlZmF1bHQu
eGttOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL2ZsYXRwYWt1dGlscy5weToKKyAgICAgICAgKGNo
ZWNrX2ZsYXRwYWspOgorICAgICAgICAoRmxhdHBha1JlcG9zLnVwZGF0ZSk6CisgICAgICAgIChG
bGF0cGFrUGFja2FnZS5fX3JlcHJfXyk6CisgICAgICAgIChGbGF0cGFrUGFja2FnZS5fX3N0cl9f
KToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2FyZ3MpOgorICAgICAgICAoV2Vi
a2l0RmxhdHBhay5fX2luaXRfXyk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLmNsZWFuX2FyZ3Mp
OgorICAgICAgICAoV2Via2l0RmxhdHBhay5zZXR1cF9idWlsZGRpcik6CisgICAgICAgIChXZWJr
aXRGbGF0cGFrKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuc2V0dXBfZ3N0YnVpbGQpOgorICAg
ICAgICAoV2Via2l0RmxhdHBhay5ydW5faW5fc2FuZGJveCk6CisgICAgICAgIChXZWJraXRGbGF0
cGFrLnJ1bik6CisgICAgICAgIChXZWJraXRGbGF0cGFrLmhhc19lbnZpcm9ubWVudCk6CisgICAg
ICAgIChXZWJraXRGbGF0cGFrLnNhdmVfY29uZmlnKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsu
c2V0dXBfZGV2X2Vudik6CisgICAgICAgIChXZWJraXRGbGF0cGFrLmluc3RhbGxfYWxsKToKKyAg
ICAgICAgKFdlYmtpdEZsYXRwYWsucnVuX2dkYik6CisgICAgICAgICogZmxhdHBhay9vcmcud2Vi
a2l0LkNvbW1vbk1vZHVsZXMueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL29yZy53
ZWJraXQuR1RLLnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9vcmcud2Via2l0LldQ
RS55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsvb3JnLndlYmtpdC5XUEVNb2R1bGVz
LnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9vcmcud2Via2l0LldQRVFULnlhbWw6
IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9vcmcud2Via2l0LldlYktpdC55YW1sOiBSZW1v
dmVkLgorICAgICAgICAqIGZsYXRwYWsvcGF0Y2hlcy9odHRwZC0wMDAxLWNvbmZpZ3VyZS11c2Ut
cGtnLWNvbmZpZy1mb3ItUENSRS1kZXRlY3Rpb24ucGF0Y2g6IFJlbW92ZWQuCisgICAgICAgICog
ZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWRldGVjdC1n
cGctZXJyb3IucGF0Y2g6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9wYXRjaGVzL3h2ZmIt
MDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1maWxlLnBhdGNoOiBSZW1vdmVkLgorCiAy
MDIwLTAzLTEwICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1RLXSBBUEkgZmF2aWNvbiB0ZXN0IGZsYWt5IHRpbWVvdXRzCmRpZmYgLS1naXQgYS9U
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvUkVBRE1FIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBv
cnQvZ3RrL1JFQURNRQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjlmODlmOTgyMWFl
ZWEyMGVkYjdjZWRiY2FiZmI3N2YzODBiZDJjMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvUkVBRE1FCisr
KyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotIFJ1bm5pbmcgYSBHVEsrIGJ1aWxkIHNsYXZlIHVuZGVyIGRh
ZW1vbnRvb2xzCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0KLVRoaXMgZGlyZWN0b3J5IGNvbnRhaW5zIHNldmVyYWwgc2NyaXB0cyB3aGljaCBjYW4gYmUg
dXNlZCB0byBydW4gYSBXZWJLaXRHVEsKLWJ1aWxkIHNsYXZlIHVuZGVyIGRhZW1vbnRvb2xzIFsx
XS4gVGhpcyBpcyBjb252ZW5pZW50IGJlY2F1c2UgZGFlbW9udG9vbHMKLXdpbGwgYXV0b21hdGlj
YWxseSByZXN0YXJ0IHNlcnZpY2VzIHdoZW4gdGhleSBkaWUsIGFuZCB0aGF0IG1lYW5zIGxlc3Mg
aHVtYW4KLWludGVydmVudGlvbiBpcyBuZWVkZWQuCi0KLQotRGVwZW5kZW5jaWVzCi09PT09PT09
PT09PT0KLQotSW4gb3JkZXIgdG8gdXNlIHRoZSBwcm92aWRlZCBzZXJ2aWNlIGNvbnRyb2wgZmls
ZXMsIHlvdSB3aWxsIG5lZWQgdGhlCi1mb2xsb3dpbmc6Ci0KLSogVGhlIEdOVSBCYXNoIHNoZWxs
ICh0aGUgc2NyaXB0cyBjb250YWluIHNvbWUgYmFzaC1pc21zKQotCi0qIFRoZSBkYWVtb250b29s
cyBwYWNrYWdlIChvciBvbmUgb2YgaXRzIGRyb3AtaW4gcmVwbGFjZW1lbnRzLCBsaWtlIHJ1bml0
Ci0gIG9yIGZyZWVkdDsgYnV0IG9ubHkgZGFlbW9udG9vbHMgaGFzIGJlZW4gdGVzdGVkIHNvIGZh
cikuCi0KLUluIHNob3J0LCBpbiBhIERlYmlhbi1iYXNlZCBzeXN0ZW0geW91IGNhbiBlbnN1cmUg
eW91IGhhdmUgdGhlIG5lZWRlZCBiaXRzCi13aXRoIHRoZSBmb2xsb3dpbmcgY29tbWFuZDoKLQot
ICBhcHQtZ2V0IGluc3RhbGwgZGFlbW9udG9vbHMtcnVuCi0KLQotU2V0dXAKLT09PT09Ci0KLTEu
IEZvbGxvdyB0aGUgaW5zdHJ1Y3Rpb25zIGF0IGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvd2lraS9C
dWlsZEJvdAotCi0yLiBJbnN0YWxsIHRoZSBkZXBlbmRlbmNpZXMgb3V0bGluZWQgYWJvdmUuCi0K
LTMuIENvcHkgImRhZW1vbnRvb2xzLWJ1aWxkYm90LmNvbmYiIHRvICIvZXRjL2RhZW1vbnRvb2xz
LWJ1aWxkYm90LmNvbmYiCi0KLTQuIEVkaXQgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSB0byBzdWl0
IHlvdXIgbmVlZHMsIHRoZSBjb21tZW50cyBzaG91bGQKLSAgIGJlIHNlbGYtZXhwbGFuYXRvcnku
Ci0KLTUuIERyb3AgdGhlICJidWlsZGJvdCIgYW5kICJwdWxzZWF1ZGlvIiBkaXJlY3RvcmllcyB0
byB0aGUgc2VydmljZSBjb250cm9sIGRpcmVjdG9yeSBvZgotICAgZGFlbW9udG9vbHM7IGZvciBE
ZWJpYW4tYmFzZWQgc2V0dXBzIHRoYXQgd291bGQgYmUgIi9ldGMvc2VydmljZSIKLQotCi1SZWZl
cmVuY2VzCi09PT09PT09PT09Ci0KLVsxXSBodHRwOi8vY3IueXAudG8vZGFlbW9udG9vbHMuaHRt
bAotCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvbG9n
L3J1biBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWlsZGJvdC9sb2cvcnVuCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCBmNmM3NDRjNmRkYTQ1Y2JlMmI1ZDBmYThjNGYyNWJh
YjUxZjZhNGRkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9idWlsZGJvdC9sb2cvcnVuCisrKyAvZGV2L251
bGwKQEAgLTEsMzggKzAsMCBAQAotIyEgL3Vzci9iaW4vZW52IGJhc2gKLSMKLSMgQ29weXJpZ2h0
IChDKSAyMDEwIElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMg
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCi0jIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0j
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCi0jIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUg
Q09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgotCi06ICR7QlVJTERCT1RfQ09ORklHOj0vZXRjL2RhZW1vbnRv
b2xzLWJ1aWxkYm90LmNvbmZ9Ci0KLSMgUmVhZCBjb25maWd1cmF0aW9uIGZpbGUKLVsgLXIgIiR7
QlVJTERCT1RfQ09ORklHfSIgXSAmJiAuICIke0JVSUxEQk9UX0NPTkZJR30iCi0KLTogJHtidWls
ZGJvdF91c2VyOj0ke0hPTUV9fQotOiAke2J1aWxkYm90X2xvZ19wYXRoOj0vdmFyL2xvZy9idWls
ZGJvdH0KLQotIyBFeHBhbmQgYWxsICJlbnZfKiIgZW52aXJvbm1lbnQgdmFyaWFibGVzCi1mb3Ig
dmFybmFtZSBpbiAkeyFlbnZfKn0gOyBkbwotCWV2YWwgImV4cG9ydCAke3Zhcm5hbWUjZW52X309
XCR7JHt2YXJuYW1lfX0iCi1kb25lCi0KLW1rZGlyIC1wICIke2J1aWxkYm90X2xvZ19wYXRofSIK
LWNob3duICIke2J1aWxkYm90X3VzZXJ9IiAiJHtidWlsZGJvdF9sb2dfcGF0aH0iCi0KLWV4ZWMg
L3Vzci9iaW4vc2V0dWlkZ2lkICIke2J1aWxkYm90X3VzZXJ9IiBcCi0gICAgIC91c3IvYmluL211
bHRpbG9nIHQgIiR7YnVpbGRib3RfbG9nX3BhdGh9IgotCmRpZmYgLS1naXQgYS9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvcnVuIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQv
Z3RrL2J1aWxkYm90L3J1bgpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMTY2YzM4M2Vh
OGU2YzEwZmNjMDVlZjA3ZWQ0ZjQ4ODliYmJiOWVhYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRi
b3QvcnVuCisrKyAvZGV2L251bGwKQEAgLTEsNzcgKzAsMCBAQAotIyEgL3Vzci9iaW4vZW52IGJh
c2gKLSMKLSMgQ29weXJpZ2h0IChDKSAyMDEwIElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0jIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotCi1leGVjIDI+JjEKLQotOiAk
e0JVSUxEQk9UX0NPTkZJRzo9L2V0Yy9kYWVtb250b29scy1idWlsZGJvdC5jb25mfQotCi0jIFJl
YWQgY29uZmlndXJhdGlvbiBmaWxlCi1bIC1yICIke0JVSUxEQk9UX0NPTkZJR30iIF0gJiYgLiAi
JHtCVUlMREJPVF9DT05GSUd9IgotCi0jIEV4cGFuZCBhbGwgImVudl8qIiBlbnZpcm9ubWVudCB2
YXJpYWJsZXMKLWZvciB2YXJuYW1lIGluICR7IWVudl8qfSA7IGRvCi0JZXZhbCAiZXhwb3J0ICR7
dmFybmFtZSNlbnZffT1cJHske3Zhcm5hbWV9fSIKLWRvbmUKLQotCi1pZiAhIFsgIiR7YnVpbGRi
b3RfcGF0aH0iIF0gOyB0aGVuCi0JZWNobyAiTm8gXCR7YnVpbGRib3RfcGF0aH0gZGVmaW5lZCEg
KHdpbGwgc2xlZXAgZm9yIDUgbWludXRlcykiCi0Jc2xlZXAgMzAwCi0JZXhpdCAxMTEKLWZpCi0K
LQotaWYgISBbICIke1dFQktJVF9URVNURk9OVFN9IiBdIDsgdGhlbgotCWVjaG8gIk5vIFwke1dF
QktJVF9URVNURk9OVFN9IGVudmlyb25tZW50IHZhcmlhYmxlISAod2lsbCBzbGVlcCBmb3IgNSBt
aW51dGVzKSIKLQlzbGVlcCAzMDAKLQlleGl0IDExMQotZmkKLQotCi1pZiBbICIke2NvcmVkdW1w
X291dHB1dDo9Jyd9IiBdIDsgdGhlbgotCSMgRW5zdXJlIHRoYXQgdGhlIG91dHB1dCBkaXJlY3Rv
cnkgZXhpc3RzLgotCWlmIFtbICEgLWQgJHtjcmFzaG1vbl9vdXRwdXR9IF1dIDsgdGhlbgotCQlt
a2RpciAtcCAiJHtjcmFzaG1vbl9vdXRwdXR9IgotCWZpCi0KLQl1bGltaXQgLWMgIiR7Y3Jhc2ht
b25fbWF4X3NpemU6PXVubGltaXRlZH0iCi1maQotCi0KLWlmIFsgIiR7Y2NhY2hlX3BhdGh9IiBd
IDsgdGhlbgotCWV4cG9ydCBQQVRIPSIke2NjYWNoZV9wYXRofToke1BBVEh9IgotZmkKLQotOiAk
e2J1aWxkYm90X3VzZXI6PSR7VVNFUn19Ci0KLWNkICIke2J1aWxkYm90X3BhdGh9IgotZXhlYyAv
dXNyL2Jpbi9lbnYgLSAgICAgICAgICBcCi0JCVRFUk09ZHVtYiAgICAgICAgICAgICAgICAgXAot
CQlUWj1QU1Q4UERUICAgICAgICAgICAgICAgICBcCi0JCVBBVEg9IiR7UEFUSH0iICAgICAgICAg
ICAgICBcCi0JCVNIRUxMPS9iaW4vYmFzaCAgICAgICAgICAgICAgXAotCQlMQU5HPWVuX1VTLlVU
Ri04ICAgICAgICAgICAgICBcCi0JCVVTRVI9IiR7YnVpbGRib3RfdXNlcn0iICAgICAgICBcCi0J
CUxPR05BTUU9IiR7YnVpbGRib3RfdXNlcn0iICAgICAgXAotCQlIT01FPSIvaG9tZS8ke2J1aWxk
Ym90X3VzZXJ9IiAgICBcCi0JCURJU1BMQVk9IiR7eHZmYl9kaXNwbGF5Oi0nOjEwJ30iICBcCi0J
CU1BSUw9Ii92YXIvbWFpbC8ke2J1aWxkYm90X3VzZXJ9IiAgXAotCS91c3IvYmluL3NldHVpZGdp
ZCAiJHtidWlsZGJvdF91c2VyfSIgXAotCS91c3IvYmluL3R3aXN0ZCAtbm95IGJ1aWxkYm90LnRh
YwotCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvZGFlbW9udG9vbHMt
YnVpbGRib3QuY29uZiBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9kYWVtb250b29scy1i
dWlsZGJvdC5jb25mCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNmFmMjlmN2IwNjI2
ODIxNmNlNGExZjFhYWVlOGQ0NjIwZDI0ZGZkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0ay9kYWVtb250b29s
cy1idWlsZGJvdC5jb25mCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotIyBDb3B5cmln
aHQgKEMpIDIwMTAgSWdhbGlhIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgot
IyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwotIyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKLSMgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
LSMgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0jCi0j
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKLSMgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSMgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9u
LCBNQSAwMjExMC0xMzAxLCBVU0EuCi0KLQotIyBQYXRoIHRvIHRoZSBCdWlsZGJvdCBzbGF2ZSBk
aXJlY3RvcnkKLSMKLWJ1aWxkYm90X3BhdGg9Ii9ob21lL3NsYXZlL3dlYmtpdGd0ayIKLQotIyBV
c2VyIGFjY291bnQgdXNlZCB0byBydW4gQnVpbGRib3QuCi0jCi1idWlsZGJvdF91c2VyPSJzbGF2
ZSIKLQotIyBQYXRoIHRvIGEgZGlyZWN0b3J5IHdoZXJlIHRvIGxvZyBCdWlsZGJvdCBvdXRwdXQK
LSMKLWJ1aWxkYm90X2xvZ19wYXRoPSIvdmFyL2xvZy9idWlsZGJvdCIKLQotCi0jIElmIHlvdSB3
YW50IHRvIHVzZSBjY2FjaGUsIHNldCBhIHBhdGggdG8gd2hlcmUgc3lubGlua3Mgd2l0aCB0b29s
Ci0jIG5hbWVzIHBvaW50aW5nIHRvIGNjYWNoZSBhcmUgaW5zdGFsbGVkLiBJbiBEZWJpYW4gc3lz
dGVtcyB0aGlzCi0jIHdvdWxkIGJlIC91c3IvbGliL2NjYWNoZS4gU2V0IHRvIGVtcHR5IHRvIGRp
c2FibGUuCi0jCi1jY2FjaGVfcGF0aD0iL3Vzci9saWIvY2NhY2hlIgotCi0KLSMgRW52aXJvbm1l
bnQgdmFyaWFibGVzLiBQcmVmaXggdGhlbSB3aXRoICJlbnZfIi4KLSMKLWVudl9DRkxBR1M9Ii1w
aXBlIgotZW52X0NYWEZMQUdTPSItcGlwZSIKLWVudl9MREZMQUdTPSItbm8taW5zdGFsbCAtbm8t
ZmFzdC1pbnN0YWxsIgotZW52X1dFQktJVF9URVNURk9OVFM9Ii9ob21lLyR7YnVpbGRib3RfdXNl
cn0vdGVzdGZvbnRzIgotCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsv
cHVsc2VhdWRpby9ydW4gYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvcHVsc2VhdWRpby9y
dW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDdjMTE3YWQ5ZDIwNzM5OGQ4NmYwMjcz
OGU1OTMxODk1OTE3ZDU2NzguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL3B1bHNlYXVkaW8vcnVuCisrKyAv
ZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotIyEgL3Vzci9iaW4vZW52IGJhc2gKLSMKLSMgQ29w
eXJpZ2h0IChDKSAyMDEwIElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1
dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCi0jIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgot
IwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0jIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotCi1leGVjIDI+JjEKLWV4ZWMgL3Vzci9iaW4vcHVs
c2VhdWRpbyAtLXN5c3RlbSBcCi0JLS1kaXNhbGxvdy1leGl0IC0tZGlzYWxsb3ctbW9kdWxlLWxv
YWRpbmcgXAotCS0tbG9nLXRhcmdldD1zeXNsb2cKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy9idWlsZC13ZWJraXQgYi9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAppbmRleCBmYzA2NjRh
NjUwNTU0NmY0MjhjNzUxNGI5Njc1MTE5Yjc1YTYyMTQwLi4wOTlkMzNhNGI5YjljZGY0MzJjZDEw
MjZlYTZhYWUwY2I5MjU3YTc3IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtp
dAorKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdApAQCAtNTMsOCArNTMsOCBAQCBzZXRD
b25maWd1cmF0aW9uKCk7CiAKIGlmIChzaG91bGRVc2VGbGF0cGFrKCkpIHsKICAgICBwcmludCAi
QnVpbGRpbmcgZmxhdHBhayBiYXNlZCBlbnZpcm9ubWVudFxuIjsKLQotICAgIHJ1bkluRmxhdHBh
aygiL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQiKTsKKyAgICBteSBAY29t
bWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0
cyIsICJidWlsZC13ZWJraXQiKSk7CisgICAgcnVuSW5GbGF0cGFrKEBjb21tYW5kKTsKIH0KIAog
bXkgJG9yaWdpbmFsV29ya2luZ0RpcmVjdG9yeSA9IGdldGN3ZCgpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi1iaW5kaW5n
cy10ZXN0cwppbmRleCBmNmU0NDc3MjUwZjllMTllMzk1OGVmY2I3ZDZlODFlMmFjMjhjOWFiLi4w
YWMwYjNhMzEwODhhMTIyZTA5OThlYTQ5NTY1YmYyMzg3NzM4YTUwIDEwMDc1NQotLS0gYS9Ub29s
cy9TY3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1iaW5k
aW5ncy10ZXN0cwpAQCAtMzMsNiArMzMsMTEgQEAgaW1wb3J0IG9zCiBpbXBvcnQgc3lzCiBmcm9t
IHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0IGV4ZWN1dGl2ZQogCit0b3BfbGV2ZWxfZGly
ZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9f
ZmlsZV9fKSwgJy4uJywgJy4uJykpCitzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRv
cF9sZXZlbF9kaXJlY3RvcnksICdUb29scycsICdmbGF0cGFrJykpCitpbXBvcnQgZmxhdHBha3V0
aWxzCitmbGF0cGFrdXRpbHMucnVuX2luX3NhbmRib3hfaWZfYXZhaWxhYmxlKHN5cy5hcmd2KQor
CiBkZWYgbWFpbihhcmd2KToKICAgICAiIiJSdW5zIFdlYkNvcmUgYmluZGluZ3MgY29kZSBnZW5l
cmF0b3JzIG9uIHRlc3QgSURMIGZpbGVzIGFuZCBjb21wYXJlcwogICAgIHRoZSByZXN1bHRzIHdp
dGggcmVmZXJlbmNlIGZpbGVzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tYnVpbHRp
bnMtZ2VuZXJhdG9yLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tYnVpbHRpbnMtZ2VuZXJhdG9y
LXRlc3RzCmluZGV4IDIzOThjNzhjYTEwZWM1OTc2MjY2MTJjODU1NTNhYmQxYTRlNmZiZDQuLmZi
YjA4NjQyNDE5NzRlYTYwMzVkYTg4YjM2NzliYzQzYzAyYzdlOWQgMTAwNzU1Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRvci10ZXN0cworKysgYi9Ub29scy9TY3JpcHRz
L3J1bi1idWlsdGlucy1nZW5lcmF0b3ItdGVzdHMKQEAgLTI1LDYgKzI1LDEyIEBACiBpbXBvcnQg
c3lzCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0IGV4ZWN1dGl2ZQogCitpbXBv
cnQgb3MKK3RvcF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9p
bihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAnLi4nLCAnLi4nKSkKK3N5cy5wYXRoLmluc2Vy
dCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsn
KSkKK2ltcG9ydCBmbGF0cGFrdXRpbHMKK2ZsYXRwYWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9h
dmFpbGFibGUoc3lzLmFyZ3YpCisKIGRlZiBtYWluKGFyZ3YpOgogICAgICIiIlJ1bnMgdGhlIEpT
IGJ1aWx0aW5zIGNvZGUgZ2VuZXJhdG9yIG9uIHRlc3QgaW5wdXQgZmlsZXMgYW5kIGNvbXBhcmVz
CiAgICAgdGhlIHJlc3VsdHMgd2l0aCByZWZlcmVuY2UgZmlsZXMuCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3J1bi1ndGstdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMKaW5k
ZXggNDFiMDVlMmRmNGIxZTZkOGZlMzhlYTNjNTQ5YjUzMzU4NGE0Mjk3ZS4uZDM5NzQ4ZjRjM2Q4
ZmRmY2VmZjFhMjI5OWFkYTQyYzg3ZTY1YWFlNSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9y
dW4tZ3RrLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWd0ay10ZXN0cwpAQCAtMTMzLDcg
KzEzMyw3IEBAIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgaWYgbm90IGZsYXRwYWt1
dGlscy5pc19zYW5kYm94ZWQoKSBhbmQgbm90IGpoYnVpbGR1dGlscy5lbnRlcl9qaGJ1aWxkX2Vu
dmlyb25tZW50X2lmX2F2YWlsYWJsZSgiZ3RrIik6CiAgICAgICAgIHByaW50ICcqKionCiAgICAg
ICAgIHByaW50ICcqKiogV2FybmluZzogamhidWlsZCBlbnZpcm9ubWVudCBub3QgcHJlc2VudCBh
bmQgbm90IHJ1bm5pbmcgaW4gZmxhdHBhay4nCi0gICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0
ZS13ZWJraXRndGstbGlicyBvciB1cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsgYmVmb3JlIGJ1aWxk
LXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3RpbmcuLicKKyAgICAgICAgcHJpbnQgJyoqKiBS
dW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBhayBiZWZvcmUg
YnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9wZXIgdGVzdGluZy4uJwogICAgICAgICBwcmludCAn
KioqJwogCiAgICAgb3B0aW9uX3BhcnNlciA9IG9wdHBhcnNlLk9wdGlvblBhcnNlcih1c2FnZT0n
dXNhZ2U6ICVwcm9nIFtvcHRpb25zXSBbdGVzdC4uLl0nKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2Ny
aXB0Y29yZS10ZXN0cwppbmRleCA1MzExODVlMDk2NjAwZGE0ODQyYmY5MTFiOTQ3YmQxNGY3NzM2
NDBhLi5jZjc5MTVlMjUyZjFlMWMwYjYzNWFjOTY4ODM5Yjk2MzBhOWI5YWQwIDEwMDc1NQotLS0g
YS9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cworKysgYi9Ub29scy9TY3Jp
cHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwpAQCAtNDYsNiArNDYsMTIgQEAgdXNlIFRleHQ6
OlBhcnNlV29yZHM7CiBzZXRDb25maWd1cmF0aW9uKCk7CiBteSAkY29uZmlndXJhdGlvbiA9IGNv
bmZpZ3VyYXRpb24oKTsKIAoraWYgKHNob3VsZFVzZUZsYXRwYWsoKSkgeworICAgIG15IEBjb21t
YW5kID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRz
IiwgInJ1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cyIpKTsKKyAgICBydW5JbkZsYXRwYWsoQGNvbW1h
bmQpOworfQorCisKICMgVGhlc2UgdmFyaWFibGVzIGFyZSBpbnRlbnRpb25hbGx5IGxlZnQgdW5k
ZWZpbmVkLgogbXkgJHJvb3Q7CiBteSAkc2hvd0hlbHA7CmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3J1bi1taW5pYnJvd3NlciBiL1Rvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93c2VyCmluZGV4
IDRjZjZiZTQwNDdiZmQ3NmQ2ODEwOWFiMjlhYTY4YTkwZGMwODY2ZTEuLjkwY2QzZmFmNDMxYWVi
OTI4ZGZkNmRkZmQ2ZWQ2ZDIzZDJmMjFjY2MgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVu
LW1pbmlicm93c2VyCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93c2VyCkBAIC00NSw3
ICs0NSw4IEBAIHByb2hpYml0VW5rbm93blBvcnQoKTsKIHNldENvbmZpZ3VyYXRpb24oKTsKIAog
aWYgKGlzR3RrKCkgfHwgaXNXUEUoKSkgewotICAgIHJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKCIv
YXBwL3dlYmtpdC9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlciIpOworICAgIG15IEBjb21t
YW5kID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRz
IiwgInJ1bi1taW5pYnJvd3NlciIpKTsKKyAgICBydW5JbkZsYXRwYWtJZkF2YWlsYWJsZShAY29t
bWFuZCk7CiAKICAgICAjIENoZWNrIHRvIHNlZSB0aGF0IGFsbCB0aGUgZnJhbWV3b3JrcyBhcmUg
YnVpbHQuCiAgICAgY2hlY2tGcmFtZXdvcmtzKCk7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3J1bi1wZXJmLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tcGVyZi10ZXN0cwppbmRleCAxYmY4
ZWM4NjI3MDI1ZWE4ZGJhODVmNzY3NGJkODQ1OWFlOTEzZGY1Li5jMGQ4NzgzZTZjMTY5OTg2YmFj
YmMzN2MyZTE4NDM4NzdiYWE3MWQyIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1wZXJm
LXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXBlcmYtdGVzdHMKQEAgLTMwLDggKzMwLDE0
IEBACiAiIiJSdW4gcGVyZm9ybWFuY2UgdGVzdHMuIiIiCiAKIGltcG9ydCBsb2dnaW5nCitpbXBv
cnQgb3MKIGltcG9ydCBzeXMKIAordG9wX2xldmVsX2RpcmVjdG9yeSA9IG9zLnBhdGgubm9ybXBh
dGgob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICcuLicsICcuLicpKQor
c3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxfZGlyZWN0b3J5LCAnVG9v
bHMnLCAnZmxhdHBhaycpKQoraW1wb3J0IGZsYXRwYWt1dGlscworZmxhdHBha3V0aWxzLnJ1bl9p
bl9zYW5kYm94X2lmX2F2YWlsYWJsZShzeXMuYXJndikKKwogZnJvbSB3ZWJraXRweS5wZXJmb3Jt
YW5jZV90ZXN0cy5wZXJmdGVzdHNydW5uZXIgaW1wb3J0IFBlcmZUZXN0c1J1bm5lcgogCiBpZiAn
X19tYWluX18nID09IF9fbmFtZV9fOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tcXQt
d3BlLW1pbmlicm93c2VyIGIvVG9vbHMvU2NyaXB0cy9ydW4tcXQtd3BlLW1pbmlicm93c2VyCmlu
ZGV4IDUyYTM4ZTE1MjYzODUzYWNiOGMxNTQ4NDcwOGI1NDczOTAxOGNlNTEuLjhjOGVmNzA1NmEz
NGFlOThlNzI3MTFkYTdmZWY3YjUxMmEyMWZjYzggMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
cnVuLXF0LXdwZS1taW5pYnJvd3NlcgorKysgYi9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWlu
aWJyb3dzZXIKQEAgLTM4LDkgKzM4LDEzIEBAIG15IEBqaGJ1aWxkV3JhcHBlcjsKIG15ICRjb25m
aWd1cmF0aW9uID0gcGFzc2VkQ29uZmlndXJhdGlvbigpOwogbXkgJHByb2R1Y3REaXIgPSBwcm9k
dWN0RGlyKCk7CiAKLSRsaWJQYXRoID0gIi9hcHAvd2Via2l0L1dlYktpdEJ1aWxkLyRjb25maWd1
cmF0aW9uL2xpYi9xdDUvcW1sIiBpZiAkY29uZmlndXJhdGlvbjsKLSRFTlZ7IlFNTDJfSU1QT1JU
X1BBVEgifSA9ICIkbGliUGF0aCIgaWYgJGxpYlBhdGg7Ci1ydW5JbkZsYXRwYWtJZkF2YWlsYWJs
ZSgiL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9ydW4tcXQtd3BlLW1pbmlicm93c2VyIik7Citp
ZiAoJGNvbmZpZ3VyYXRpb24pIHsKKyAgICAkbGliUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGZpbGUo
c291cmNlRGlyKCksICJXZWJLaXRCdWlsZCIsICIkY29uZmlndXJhdGlvbiIsICJsaWIiLCAicXQ1
IiwgInFtbCIpOworICAgICRFTlZ7IlFNTDJfSU1QT1JUX1BBVEgifSA9ICIkbGliUGF0aCI7Cit9
CisKK215IEBjb21tYW5kID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29s
cyIsICJTY3JpcHRzIiwgInJ1bi1xdC13cGUtbWluaWJyb3dzZXIiKSk7CitydW5JbkZsYXRwYWtJ
ZkF2YWlsYWJsZShAY29tbWFuZCk7CiAKICMgQ2hlY2sgdG8gc2VlIHRoYXQgYWxsIHRoZSBmcmFt
ZXdvcmtzIGFyZSBidWlsdC4KIGNoZWNrRnJhbWV3b3JrcygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4td2ViZHJpdmVy
LXRlc3RzCmluZGV4IGFjYzM1ZjcyNDgzZjI4MzJmMDljOGVmYjE4OTVkMTgxZDRkNjc5MjkuLmMz
MDA0ZDQ1MzIzYzUxNDI2NjVkMzcwMzM3ZThlNTkwNDIzYTlkNDAgMTAwNzU1Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi13ZWJk
cml2ZXItdGVzdHMKQEAgLTc4LDcgKzc4LDcgQEAgaWYgcG9ydC5uYW1lKCkgaW4gWydndGsnLCAn
d3BlJ106CiAgICAgICAgIGlmIG5vdCBqaGJ1aWxkdXRpbHMuZW50ZXJfamhidWlsZF9lbnZpcm9u
bWVudF9pZl9hdmFpbGFibGUocG9ydC5uYW1lKCkpOgogICAgICAgICAgICAgcHJpbnQgJyoqKicK
ICAgICAgICAgICAgIHByaW50ICcqKiogV2FybmluZzogamhidWlsZCBlbnZpcm9ubWVudCBub3Qg
cHJlc2VudCBhbmQgbm90IHJ1bm5pbmcgaW4gZmxhdHBhay4nCi0gICAgICAgICAgICBwcmludCAn
KioqIFJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFr
IGJlZm9yZSBidWlsZC13ZWJraXQgdG8gZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCisgICAgICAg
ICAgICBwcmludCAnKioqIFJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtp
dC1mbGF0cGFrIGJlZm9yZSBidWlsZC13ZWJraXQgdG8gZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4n
CiAgICAgICAgICAgICBwcmludCAnKioqJwogCiBwb3J0Ll9kaXNwbGF5X3NlcnZlciA9IG9wdGlv
bnMuZGlzcGxheV9zZXJ2ZXIKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLXdwZS10ZXN0
cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXdwZS10ZXN0cwppbmRleCA4Zjc3NDllYjZhZDZkMWYxOTkx
M2ExNzY5OWRjYjc2NzdmNDg2MmQxLi5mMzRjMTk3MDY0Nzc2MjI2MjQ1MmU2YWU4M2ZhMjg1ZjI4
ZTVkMTgwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi13cGUtdGVzdHMKKysrIGIvVG9v
bHMvU2NyaXB0cy9ydW4td3BlLXRlc3RzCkBAIC01MSw3ICs1MSw3IEBAIGlmIF9fbmFtZV9fID09
ICJfX21haW5fXyI6CiAgICAgaWYgbm90IGZsYXRwYWt1dGlscy5pc19zYW5kYm94ZWQoKSBhbmQg
bm90IGpoYnVpbGR1dGlscy5lbnRlcl9qaGJ1aWxkX2Vudmlyb25tZW50X2lmX2F2YWlsYWJsZSgi
d3BlIik6CiAgICAgICAgIHByaW50ICcqKionCiAgICAgICAgIHByaW50ICcqKiogV2FybmluZzog
amhidWlsZCBlbnZpcm9ubWVudCBub3QgcHJlc2VudCBhbmQgbm90IHJ1bm5pbmcgaW4gZmxhdHBh
ay4nCi0gICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13ZWJraXRndGstbGlicyBvciB1cGRh
dGUtd2Via2l0Z3RrLWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtpdCB0byBlbnN1cmUgcHJvcGVy
IHRlc3RpbmcuLicKKyAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdlYmtpdHdwZS1saWJz
IG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBw
cm9wZXIgdGVzdGluZy4uJwogICAgICAgICBwcmludCAnKioqJwogCiAgICAgb3B0aW9uX3BhcnNl
ciA9IG9wdHBhcnNlLk9wdGlvblBhcnNlcih1c2FnZT0ndXNhZ2U6ICVwcm9nIFtvcHRpb25zXSBb
dGVzdC4uLl0nKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHBlcmwgYi9U
b29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cGVybAppbmRleCA2NDk1Njk2MGZmYzY3YWU3ZGY5MzM2
NDEzNmQ5MWE1ZDg4ZWE5OTQzLi5kYzgxYzE3YzNiYWM1OWE4ODFhNzNlZDE1YjNhNzQ2MGNhN2I5
Zjk4IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cGVybAorKysgYi9Ub29s
cy9TY3JpcHRzL3Rlc3Qtd2Via2l0cGVybApAQCAtMzIsNiArMzIsMTMgQEAKIAogdXNlIHN0cmlj
dDsKIHVzZSB3YXJuaW5nczsKK3VzZSBGaWxlOjpCYXNlbmFtZTsKK3VzZSBGaWxlOjpGaW5kOwor
dXNlIEZpbGU6OlNwZWM7Cit1c2UgRmluZEJpbjsKK3VzZSBHZXRvcHQ6OkxvbmcgcXcoOmNvbmZp
ZyBwYXNzX3Rocm91Z2ggbm9fYXV0b19hYmJyZXYpOwordXNlIGxpYiAkRmluZEJpbjo6QmluOwor
dXNlIHdlYmtpdGRpcnM7CiAKIHVzZSBGaWxlOjpTcGVjOwogdXNlIEZpbmRCaW47CkBAIC0zOSw2
ICs0NiwxMSBAQCB1c2UgVGVzdDo6SGFybmVzczsKIHVzZSBsaWIgJEZpbmRCaW46OkJpbjsgIyBz
byB0aGlzIHNjcmlwdCBjYW4gYmUgcnVuIGZyb20gYW55IGRpcmVjdG9yeS4KIHVzZSBWQ1NVdGls
czsKIAoraWYgKHNob3VsZFVzZUZsYXRwYWsoKSkgeworICAgIG15IEBjb21tYW5kID0gKEZpbGU6
OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgInRlc3Qtd2Vi
a2l0cGVybCIpKTsKKyAgICBydW5JbkZsYXRwYWsoQGNvbW1hbmQpOworfQorCiAjIENoYW5nZSB0
aGUgd29ya2luZyBkaXJlY3Rvcnkgc28gdGhhdCB3ZSBjYW4gcGFzcyBzaG9ydGVyLCByZWxhdGl2
ZQogIyBwYXRocyB0byBydW50ZXN0cygpLCByYXRoZXIgdGhhbiBsb25nZXIsIGFic29sdXRlIHBh
dGhzLgogIwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5IGIvVG9vbHMv
U2NyaXB0cy90ZXN0LXdlYmtpdHB5CmluZGV4IGVlNjgyY2NjZjBhY2EzZjIwZGM2MTVmZThiNjMy
M2NjYzU3Y2JlYTQuLjQyMzg4ZTlmODYxNzg1ZWY3ZTM4ZmIxZjQ1NDkwMDUwNTJmMDBhZWMgMTAw
NzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweQorKysgYi9Ub29scy9TY3JpcHRz
L3Rlc3Qtd2Via2l0cHkKQEAgLTI5LDQgKzI5LDEwIEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiBmcm9tIHdl
YmtpdHB5LmNvbW1vbiBpbXBvcnQgbXVsdGlwcm9jZXNzaW5nX2Jvb3RzdHJhcAogCitpbXBvcnQg
b3MsIHN5cwordG9wX2xldmVsX2RpcmVjdG9yeSA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5q
b2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICcuLicsICcuLicpKQorc3lzLnBhdGguaW5z
ZXJ0KDAsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxfZGlyZWN0b3J5LCAnVG9vbHMnLCAnZmxhdHBh
aycpKQoraW1wb3J0IGZsYXRwYWt1dGlscworZmxhdHBha3V0aWxzLnJ1bl9pbl9zYW5kYm94X2lm
X2F2YWlsYWJsZShzeXMuYXJndikKKwogbXVsdGlwcm9jZXNzaW5nX2Jvb3RzdHJhcC5ydW4oJ3dl
YmtpdHB5JywgJ3Rlc3QnLCAnbWFpbi5weScpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3Rl
c3QyNjItcnVubmVyIGIvVG9vbHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lcgppbmRleCBhMTMxYmNm
NjMzZTMwZDk3NjVmYjU2MjQyNTA3MzExN2E5OGYyMjM4Li5hZjdhZDVlNDhlZjI1MDhjZjRlMjFk
NThkNTUwY2YwMzJlZjVmYTJiIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3Rlc3QyNjItcnVu
bmVyCisrKyBiL1Rvb2xzL1NjcmlwdHMvdGVzdDI2Mi1ydW5uZXIKQEAgLTM0LDYgKzM0LDI2IEBA
IHVzZSA1LjguODsKIHVzZSBGaW5kQmluOwogdXNlIENvbmZpZzsKIAorQkVHSU4geworICAgIHVz
ZSBsaWIgJEZpbmRCaW46OkJpbjsKKyAgICB1c2UgRmlsZTo6U3BlYzo6RnVuY3Rpb25zIHF3KGNh
dGZpbGUpOworCisgICAgaWYgKCFncmVwKC9eLS1uby1mbGF0cGFrLWNoZWNrJC8sIEBBUkdWKSkg
eworICAgICAgICBpZiAoZXZhbCB7cmVxdWlyZSB3ZWJraXRkaXJzOyAxO30pIHsKKyAgICAgICAg
ICAgIHdlYmtpdGRpcnMtPmltcG9ydChxdyhzaG91bGRVc2VGbGF0cGFrIHJ1bkluRmxhdHBhayBz
b3VyY2VEaXIpKTsKKyAgICAgICAgICAgIGlmIChzaG91bGRVc2VGbGF0cGFrKCkpIHsKKyAgICAg
ICAgICAgICAgICBwcmludCAiUnVubmluZyBpbiBmbGF0cGFrIGJhc2VkIGVudmlyb25tZW50XG4i
OworICAgICAgICAgICAgICAgIG15IEBjb21tYW5kID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291
cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgInRlc3QyNjItcnVubmVyIikpOworICAgICAg
ICAgICAgICAgICMgUHJldmVudCBleGVjJ2QgdGVzdDI2Mi1ydW5uZXIgcHJvY2VzcyBmcm9tIGlt
cG9ydGluZworICAgICAgICAgICAgICAgICMgd2Via2l0ZGlycyBzbyB0aGF0IGl0IGNhbiBzdWNj
ZWVkIGxhdGVyIG9uIGluIHRoZSBSdW5uZXIKKyAgICAgICAgICAgICAgICAjIG1vZHVsZS4uLiBQ
ZXJsLiDCr1xfKOODhClfL8KvCisgICAgICAgICAgICAgICAgcHVzaChAQVJHViwgIi0tbm8tZmxh
dHBhay1jaGVjayIpOworICAgICAgICAgICAgICAgIHJ1bkluRmxhdHBhayhAY29tbWFuZCk7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKIEJFR0lOIHsKICAgICAkRU5We0RC
SUNfT1ZFUldSSVRFX0hFTFBFUl9NRVRIT0RTX09LfSA9IDE7CiAgICAgJEVOVntUMjYyX0VYRUNf
QklOfSA9ICIkRmluZEJpbjo6QmluL3Rlc3QyNjIiOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy91cGRhdGUtd2Via2l0LWZsYXRwYWsgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXQtZmxh
dHBhawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hODZiODFhMjAzM2Y0YmI3YmUyZDI5YmRlNWMxMmNmNDk1MzMwZDU1
Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0LWZsYXRwYWsK
QEAgLTAsMCArMSwyOCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjIENvcHlyaWdodCAoQykg
MjAxOCBJZ2FsaWEgUy5MLgorIyBDb3B5cmlnaHQgKGMpIDIwMTgsIFRoaWJhdWx0IFNhdW5pZXIg
PHRzYXVuaWVyQGlnYWxpYS5jb20+CisjCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworIyBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyMgdmVyc2lvbiAy
LjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorIyBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisjIExpY2Vuc2UgYWxv
bmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlCisjIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLAorIyBCb3N0
b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyMgcHlsaW50OiBkaXNhYmxlPW1pc3NpbmctZG9jc3Ry
aW5nLGludmFsaWQtbmFtZQoraW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK3RvcF9sZXZlbF9kaXJl
Y3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19m
aWxlX18pLCAiLi4iLCAiLi4iKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9w
X2xldmVsX2RpcmVjdG9yeSwgIlRvb2xzIiwgImZsYXRwYWsiKSkKK2Zyb20gZmxhdHBha3V0aWxz
IGltcG9ydCBXZWJraXRGbGF0cGFrCisKK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAg
V2Via2l0RmxhdHBhay5sb2FkX2Zyb21fYXJncyhbIi0tdXBkYXRlIl0gKyBzeXMuYXJndlsxOl0p
LnJ1bigpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstZmxhdHBh
ayBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDc1NQppbmRleCAwOTU2ZjFmMmUxNDg1ZDI0ODYyZWY3ZjZkNzRhMmYzZjk4Y2Y5MmY4
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1Nj
cmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAs
MCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCi0jIENvcHlyaWdodCAoQykgMjAxOCBJZ2FsaWEg
Uy5MLgotIyBDb3B5cmlnaHQgKGMpIDIwMTgsIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGln
YWxpYS5jb20+Ci0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSMgdmVyc2lvbiAyLjEgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMg
cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0jIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlz
IHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlCi0jIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KLSMgcHlsaW50OiBkaXNhYmxlPW1pc3NpbmctZG9jc3RyaW5nLGludmFsaWQt
bmFtZQotaW1wb3J0IG9zCi1pbXBvcnQgc3lzCi0KLXRvcF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5w
YXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAiLi4i
LCAiLi4iKSkKLXN5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVj
dG9yeSwgIlRvb2xzIiwgImZsYXRwYWsiKSkKLWZyb20gZmxhdHBha3V0aWxzIGltcG9ydCBXZWJr
aXRGbGF0cGFrCi0KLWlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6Ci0gICAgV2Via2l0RmxhdHBh
ay5sb2FkX2Zyb21fYXJncyhbIi0tZ3RrIiwgIi0tdXBkYXRlIl0gKyBzeXMuYXJndlsxOl0pLnJ1
bigpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstbGlicyBiL1Rv
b2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1saWJzCmluZGV4IDJlMWMwMmZmZDcwNTYwMDgw
ZTM2YmM3NGI0NjU4ZmZlZjVkZWNkOGUuLjJlOGE4Nzg1MTk2ZGI4YzdiZmNjNDkwNDk1YWQ5YzVk
NzAwZmZmNTEgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1saWJz
CisrKyBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1saWJzCkBAIC0yMiw0ICsyMiw4
IEBAIHVzZSBsaWIgJEZpbmRCaW46OkJpbjsKIHVzZSB3ZWJraXRkaXJzOwogCiBteSAkc2NyaXB0
c0RpciA9IHJlbGF0aXZlU2NyaXB0c0RpcigpOwotc3lzdGVtKCJwZXJsIiwgIiRzY3JpcHRzRGly
L3VwZGF0ZS13ZWJraXQtbGlicy1qaGJ1aWxkIiwgIi0tZ3RrIiwgQEFSR1YpID09IDAgb3IgZGll
ICQhOworaWYgKGRlZmluZWQgJEVOVnsnV0VCS0lUX0pIQlVJTEQnfSBhbmQgJEVOVnsnV0VCS0lU
X0pIQlVJTEQnfSkgeworICAgIHN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rpci91cGRhdGUtd2Vi
a2l0LWxpYnMtamhidWlsZCIsICItLWd0ayIsIEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK30gZWxz
ZSB7CisgICAgc3lzdGVtKCIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWZsYXRwYWsiLCBAQVJH
VikgPT0gMCBvciBkaWUgJCE7Cit9CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13
ZWJraXR3cGUtZmxhdHBhayBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1mbGF0cGFr
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA1NjRlODc2NTIxMTE4ZTJmYzBmZDY4Yjhj
ODY2YWE5MDAxY2I4MTIyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1mbGF0cGFrCisrKyAvZGV2L251
bGwKQEAgLTEsMjggKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCi0jIENvcHlyaWdodCAo
QykgMjAxOCBJZ2FsaWEgUy5MLgotIyBDb3B5cmlnaHQgKGMpIDIwMTgsIFRoaWJhdWx0IFNhdW5p
ZXIgPHRzYXVuaWVyQGlnYWxpYS5jb20+Ci0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSMgdmVyc2lv
biAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCi0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMZXNzZXIgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0jIExpY2Vuc2Ug
YWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlCi0jIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLAotIyBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSMgcHlsaW50OiBkaXNhYmxlPW1pc3NpbmctZG9j
c3RyaW5nLGludmFsaWQtbmFtZQotaW1wb3J0IG9zCi1pbXBvcnQgc3lzCi0KLXRvcF9sZXZlbF9k
aXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUo
X19maWxlX18pLCAiLi4iLCAiLi4iKSkKLXN5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4o
dG9wX2xldmVsX2RpcmVjdG9yeSwgIlRvb2xzIiwgImZsYXRwYWsiKSkKLWZyb20gZmxhdHBha3V0
aWxzIGltcG9ydCBXZWJraXRGbGF0cGFrCi0KLWlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6Ci0g
ICAgV2Via2l0RmxhdHBhay5sb2FkX2Zyb21fYXJncyhbIi0td3BlIiwgIi0tdXBkYXRlIl0gKyBz
eXMuYXJndlsxOl0pLnJ1bigpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJr
aXR3cGUtbGlicyBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1saWJzCmluZGV4IDZi
NGI0NmYyYjdlYjhhOWU2ODA3NzU3YmNhMmI5ZTY4NDcwN2EwMjMuLmNkYzRjN2RiOGM2NWVhNzMy
M2Q2OTI2ODE5OGEyZjY4YmQ1MTMwMTQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRl
LXdlYmtpdHdwZS1saWJzCisrKyBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1saWJz
CkBAIC0yMiw0ICsyMiw4IEBAIHVzZSBsaWIgJEZpbmRCaW46OkJpbjsKIHVzZSB3ZWJraXRkaXJz
OwogCiBteSAkc2NyaXB0c0RpciA9IHJlbGF0aXZlU2NyaXB0c0RpcigpOwotc3lzdGVtKCJwZXJs
IiwgIiRzY3JpcHRzRGlyL3VwZGF0ZS13ZWJraXQtbGlicy1qaGJ1aWxkIiwgIi0td3BlIiwgQEFS
R1YpID09IDAgb3IgZGllICQhOworaWYgKGRlZmluZWQgJEVOVnsnV0VCS0lUX0pIQlVJTEQnfSBh
bmQgJEVOVnsnV0VCS0lUX0pIQlVJTEQnfSkgeworICAgIHN5c3RlbSgicGVybCIsICIkc2NyaXB0
c0Rpci91cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCIsICItLXdwZSIsIEBBUkdWKSA9PSAwIG9y
IGRpZSAkITsKK30gZWxzZSB7CisgICAgc3lzdGVtKCIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0
LWZsYXRwYWsiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7Cit9CmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdGRpcnMucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KaW5kZXgg
NDc5YmI0MzFkNmJkYmU3ZDVjY2ZlMTNkY2Q2MmFkY2M1MGFjZmZiNi4uNGE5MGI4MmQ3ZGYxNWEy
YTMwNjNkMGFjYjUyZTQzNDRkY2E2Yzg0OSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRkaXJzLnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQpAQCAtOTEsNyArOTEs
MTAgQEAgQkVHSU4gewogICAgICAgICZzZXR1cFVuaXhXZWJLaXRFbnZpcm9ubWVudAogICAgICAg
ICZzaGFyZWRDb21tYW5kTGluZU9wdGlvbnMKICAgICAgICAmc2hhcmVkQ29tbWFuZExpbmVPcHRp
b25zVXNhZ2UKKyAgICAgICAmc2hvdWxkVXNlRmxhdHBhaworICAgICAgICZydW5JbkZsYXRwYWsK
ICAgICAgICAmc2h1dERvd25JT1NTaW11bGF0b3JEZXZpY2UKKyAgICAgICAmc291cmNlRGlyCiAg
ICAgICAgJndpbGxVc2VJT1NEZXZpY2VTREsKICAgICAgICAmd2lsbFVzZUlPU1NpbXVsYXRvclNE
SwogICAgICAgIERPX05PVF9VU0VfT1BFTl9DT01NQU5ECkBAIC0yMDQ4LDIwICsyMDUxLDExIEBA
IHN1YiBnZXRKaGJ1aWxkUGF0aCgpCiAgICAgcmV0dXJuIEZpbGU6OlNwZWMtPmNhdGRpcihAamhi
dWlsZFBhdGgpOwogfQogCi1zdWIgZ2V0RmxhdHBha1BhdGgoKQorc3ViIGdldFVzZXJGbGF0cGFr
UGF0aCgpCiB7Ci0gICAgbXkgQGZsYXRwYWtCdWlsZFBhdGggPSBGaWxlOjpTcGVjLT5zcGxpdGRp
cihiYXNlUHJvZHVjdERpcigpKTsKLSAgICBpZiAoaXNHdGsoKSkgewotICAgICAgICBwdXNoKEBm
bGF0cGFrQnVpbGRQYXRoLCAiR1RLIik7Ci0gICAgfSBlbHNpZiAoaXNXUEUoKSkgewotICAgICAg
ICBwdXNoKEBmbGF0cGFrQnVpbGRQYXRoLCAiV1BFIik7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAg
ZGllICJDYW5ub3QgZ2V0IEZsYXRwYWsgcGF0aCBmb3IgcGxhdGZvcm0gdGhhdCBpc24ndCBHVEsr
IG9yIFdQRS5cbiI7Ci0gICAgfQotICAgIG15IEBjb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlv
bigpOwotICAgIHB1c2goQGZsYXRwYWtCdWlsZFBhdGgsICJGbGF0cGFrVHJlZSRjb25maWd1cmF0
aW9uIik7Ci0KLSAgICByZXR1cm4gRmlsZTo6U3BlYy0+Y2F0ZGlyKEBmbGF0cGFrQnVpbGRQYXRo
KTsKKyAgICBteSBAZmxhdHBha1BhdGggPSBGaWxlOjpTcGVjLT5zcGxpdGRpcihiYXNlUHJvZHVj
dERpcigpKTsKKyAgICBwdXNoKEBmbGF0cGFrUGF0aCwgIlVzZXJGbGF0cGFrIik7CisgICAgcmV0
dXJuIEZpbGU6OlNwZWMtPmNhdGRpcihAZmxhdHBha1BhdGgpOwogfQogCiBzdWIgaXNDYWNoZWRB
cmd1bWVudGZpbGVPdXRPZkRhdGUoJEApCkBAIC0yMDg4LDExICsyMDgyLDcgQEAgc3ViIGlzQ2Fj
aGVkQXJndW1lbnRmaWxlT3V0T2ZEYXRlKCRAKQogCiBzdWIgaW5GbGF0cGFrU2FuZGJveCgpCiB7
Ci0gICAgaWYgKC1mICIvLmZsYXRwYWstaW5mbyIpIHsKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAg
fQotCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuICgtZiAiLy5mbGF0cGFrLWluZm8iKTsKIH0K
IAogc3ViIHJ1bkluRmxhdHBhayhAKQpAQCAtMjExMyw0NSArMjEwMyw2NiBAQCBzdWIgcnVuSW5G
bGF0cGFrSWZBdmFpbGFibGUoQCkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgaWYg
KCEgLWUgZ2V0RmxhdHBha1BhdGgoKSkgewotICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAoISAt
ZSBnZXRVc2VyRmxhdHBha1BhdGgoKSkgeworICAgICAgcmV0dXJuIDA7CiAgICAgfQogCiAgICAg
cnVuSW5GbGF0cGFrKEBfKQogfQogCi1zdWIgd3JhcHBlclByZWZpeElmTmVlZGVkKCkKK3N1YiBq
aGJ1aWxkV3JhcHBlclByZWZpeCgpCiB7CisgICAgbXkgQHByZWZpeCA9IChGaWxlOjpTcGVjLT5j
YXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiamhidWlsZCIsICJqaGJ1aWxkLXdyYXBwZXIi
KSk7CisgICAgaWYgKGlzR3RrKCkpIHsKKyAgICAgICAgcHVzaChAcHJlZml4LCAiLS1ndGsiKTsK
KyAgICB9IGVsc2lmIChpc1dQRSgpKSB7CisgICAgICAgIHB1c2goQHByZWZpeCwgIi0td3BlIik7
CisgICAgfQorICAgIHB1c2goQHByZWZpeCwgInJ1biIpOworCisgICAgcmV0dXJuIEBwcmVmaXg7
Cit9CiAKK3N1YiB3cmFwcGVyUHJlZml4SWZOZWVkZWQoKQorewogICAgIGlmIChpc0FueVdpbmRv
d3MoKSB8fCBpc0pTQ09ubHkoKSB8fCBpc1BsYXlTdGF0aW9uKCkpIHsKICAgICAgICAgcmV0dXJu
ICgpOwogICAgIH0KICAgICBpZiAoaXNBcHBsZUNvY29hV2ViS2l0KCkpIHsKICAgICAgICAgcmV0
dXJuICgieGNydW4iKTsKICAgICB9Ci0gICAgaWYgKHNob3VsZFVzZUpoYnVpbGQoKSBhbmQgISBz
aG91bGRVc2VGbGF0cGFrKCkpIHsKLSAgICAgICAgbXkgQHByZWZpeCA9IChGaWxlOjpTcGVjLT5j
YXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiamhidWlsZCIsICJqaGJ1aWxkLXdyYXBwZXIi
KSk7Ci0gICAgICAgIGlmIChpc0d0aygpKSB7Ci0gICAgICAgICAgICBwdXNoKEBwcmVmaXgsICIt
LWd0ayIpOwotICAgICAgICB9IGVsc2lmIChpc1dQRSgpKSB7Ci0gICAgICAgICAgICBwdXNoKEBw
cmVmaXgsICItLXdwZSIpOwotICAgICAgICB9Ci0gICAgICAgIHB1c2goQHByZWZpeCwgInJ1biIp
OwogCi0gICAgICAgIHJldHVybiBAcHJlZml4OworICAgICMgUmV0dXJuaW5nICgpIGhlcmUgbWVh
bnMgZWl0aGVyIEZsYXRwYWsgb3Igbm8gd3JhcHBlciB3aWxsIGJlIHVzZWQuCisgICAgaWYgKGlz
R3RrKCkgb3IgaXNXUEUoKSkgeworICAgICAgICAjIFJlc3BlY3QgdXNlcidzIGNob2ljZS4KKyAg
ICAgICAgaWYgKGRlZmluZWQgJEVOVnsnV0VCS0lUX0pIQlVJTEQnfSkgeworICAgICAgICAgICAg
aWYgKCRFTlZ7J1dFQktJVF9KSEJVSUxEJ30gYW5kIC1lIGdldEpoYnVpbGRQYXRoKCkpIHsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gamhidWlsZFdyYXBwZXJQcmVmaXgoKTsKKyAgICAgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICAgICAgcmV0dXJuICgpOworICAgICAgICAgICAgfQorICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgIyBvciBsZXQgRmxhdHBhayB0YWtlIHByZWNlZGVu
Y2Ugb3ZlciBKSEJ1aWxkLgorICAgICAgICAgICAgaWYgKC1lIGdldFVzZXJGbGF0cGFrUGF0aCgp
KSB7CisgICAgICAgICAgICAgICAgcmV0dXJuICgpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgICAgICBpZiAoLWUgZ2V0SmhidWlsZFBhdGgoKSkgeworICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gamhidWlsZFdyYXBwZXJQcmVmaXgoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KICAgICB9Ci0KICAgICByZXR1cm4gKCk7CiB9CiAKLXN1
YiBzaG91bGRVc2VKaGJ1aWxkKCkKLXsKLSAgICByZXR1cm4gKChpc0d0aygpIG9yIGlzV1BFKCkp
IGFuZCAtZSBnZXRKaGJ1aWxkUGF0aCgpKTsKLX0KLQogc3ViIHNob3VsZFVzZUZsYXRwYWsoKQog
ewotICAgIHJldHVybiAoKGlzR3RrKCkgb3IgaXNXUEUoKSkgYW5kICEgaW5GbGF0cGFrU2FuZGJv
eCgpIGFuZCAtZSBnZXRGbGF0cGFrUGF0aCgpKTsKKyAgICBpZiAoIWlzR3RrKCkgYW5kICFpc1dQ
RSgpKSB7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIG15IEBwcmVmaXggPSB3cmFw
cGVyUHJlZml4SWZOZWVkZWQoKTsKKyAgICByZXR1cm4gKCghIGluRmxhdHBha1NhbmRib3goKSkg
YW5kIChAcHJlZml4ID09IDApIGFuZCAtZSBnZXRVc2VyRmxhdHBha1BhdGgoKSk7CiB9CiAKIHN1
YiBjbWFrZUNhY2hlUGF0aCgpCkBAIC0yMjE4LDcgKzIyMjksNyBAQCBzdWIgc2hvdWxkUmVtb3Zl
Q01ha2VDYWNoZShAKQogICAgIH0KIAogICAgICMgSWYgYSBjaGFuZ2Ugb24gdGhlIEpIQnVpbGQg
bW9kdWxlc2V0IGhhcyBiZWVuIGRvbmUsIHdlIG5lZWQgdG8gY2xlYW4gdGhlIGNhY2hlIGFzIHdl
bGwuCi0gICAgaWYgKGlzR3RrKCkgfHwgaXNXUEUoKSkgeworICAgIGlmICghIHNob3VsZFVzZUZs
YXRwYWsoKSBhbmQgKGlzR3RrKCkgfHwgaXNXUEUoKSkpIHsKICAgICAgICAgbXkgJGpoYnVpbGRS
b290RGlyZWN0b3J5ID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKGdldEpoYnVpbGRQYXRoKCksICJSb290
Iik7CiAgICAgICAgICMgVGhlIHNjcmlwdCB1cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCBzaGFs
bCByZS1nZW5lcmF0ZSAkamhidWlsZFJvb3REaXJlY3RvcnkgaWYgdGhlIG1vZHVsZXNldCBjaGFu
Z2VkLgogICAgICAgICBpZiAoLWQgJGpoYnVpbGRSb290RGlyZWN0b3J5ICYmICRjYWNoZUZpbGVN
b2RpZmllZFRpbWUgPCBzdGF0KCRqaGJ1aWxkUm9vdERpcmVjdG9yeSktPm10aW1lKSB7CmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CmluZGV4IGUxYTE5Y2UwNzM5MmFhYmQ5ODA0YjhlMzUy
NDc0ZWFhMjU1NmJkN2IuLjJlOTY4ZTM5NWMzYmUzYWY3NmE2ZmVlNjI1NTZjOGM3YWE2MmMzMmIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CkBAIC04OTMsNiArODkzLDcgQEAgY2xh
c3MgUG9ydChvYmplY3QpOgogICAgICAgICAgICAgJ0xBTkcnLAogICAgICAgICAgICAgJ0xEX0xJ
QlJBUllfUEFUSCcsCiAgICAgICAgICAgICAnVEVSTScsCisgICAgICAgICAgICAnVFonLAogICAg
ICAgICAgICAgJ1hER19EQVRBX0RJUlMnLAogICAgICAgICAgICAgJ1hER19SVU5USU1FX0RJUics
CiAKQEAgLTEyMjAsNyArMTIyMSw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgVGhp
cyBpcyBuZWVkZWQgb25seSBieSBwb3J0cyB0aGF0IHVzZSB0aGUgYXBhY2hlX2h0dHBfc2VydmVy
IG1vZHVsZS4iIiIKICAgICAgICAgIyBUaGUgQXBhY2hlIGJpbmFyeSBwYXRoIGNhbiB2YXJ5IGRl
cGVuZGluZyBvbiBPUyBhbmQgZGlzdHJpYnV0aW9uCiAgICAgICAgICMgU2VlIGh0dHA6Ly93aWtp
LmFwYWNoZS5vcmcvaHR0cGQvRGlzdHJvc0RlZmF1bHRMYXlvdXQKLSAgICAgICAgZm9yIHBhdGgg
aW4gWyIvdXNyL3NiaW4vaHR0cGQiLCAiL3Vzci9zYmluL2FwYWNoZTIiLCAiL2FwcC9iaW4vaHR0
cGQiXToKKyAgICAgICAgZm9yIHBhdGggaW4gWyIvdXNyL3NiaW4vaHR0cGQiLCAiL3Vzci9zYmlu
L2FwYWNoZTIiLCAiL3Vzci9iaW4vaHR0cGQiXToKICAgICAgICAgICAgIGlmIHNlbGYuX2ZpbGVz
eXN0ZW0uZXhpc3RzKHBhdGgpOgogICAgICAgICAgICAgICAgIHJldHVybiBwYXRoCiAgICAgICAg
IF9sb2cuZXJyb3IoIkNvdWxkIG5vdCBmaW5kIGFwYWNoZS4gTm90IGluc3RhbGxlZCBvciB1bmtu
b3duIHBhdGguIikKQEAgLTE0NTIsMTQgKzE0NTMsOCBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAg
ICAgICAgICMgLS1waXhlbC10ZXN0LWRpcmVjdG9yeSBpcyBub3Qgc3BlY2lmaWVkLgogICAgICAg
ICByZXR1cm4gVHJ1ZQogCi0gICAgZGVmIF9zaG91bGRfdXNlX2ZsYXRwYWsoc2VsZik6Ci0gICAg
ICAgIHN1ZmZpeCA9ICIiCi0gICAgICAgIGlmIHNlbGYucG9ydF9uYW1lOgotICAgICAgICAgICAg
c3VmZml4ID0gc2VsZi5wb3J0X25hbWUudXBwZXIoKQotICAgICAgICByZXR1cm4gc2VsZi5fZmls
ZXN5c3RlbS5leGlzdHMoc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1dlYktpdEJ1aWxkJywg
c3VmZml4LCAiRmxhdHBha1RyZWUiKSkKLQogICAgIGRlZiBfaW5fZmxhdHBha19zYW5kYm94KHNl
bGYpOgotICAgICAgICByZXR1cm4gb3MucGF0aC5leGlzdHMoIi8uZmxhdHBhay1pbmZvIikKKyAg
ICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKCIvLmZsYXRwYWstaW5mbyIpCiAK
ICAgICBkZWYgX3Nob3VsZF91c2VfamhidWlsZChzZWxmKToKICAgICAgICAgaWYgc2VsZi5faW5f
ZmxhdHBha19zYW5kYm94KCk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvZ3RrLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQppbmRleCA2OGJj
MTY5MjNmOGFiNzYwOTFmNWIzZTk2NGQwNjVjNzk0M2ZmOGQ1Li4wY2U4YWE0ODc0NTkwOWM3OTcz
Njg4M2IzNmQzNGU4NzQwOThkNDczIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3BvcnQvZ3RrLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkKQEAg
LTEyMiw2ICsxMjIsNyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICBlbnZpcm9ubWVu
dFsnVEVTVF9SVU5ORVJfSU5KRUNURURfQlVORExFX0ZJTEVOQU1FJ10gPSBzZWxmLl9idWlsZF9w
YXRoKCdsaWInLCAnbGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLnNvJykKICAgICAgICAgZW52
aXJvbm1lbnRbJ1RFU1RfUlVOTkVSX1RFU1RfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3Bh
dGgoJ2xpYicsICdwbHVnaW5zJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmly
b25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJUicpCisgICAgICAgIHNlbGYu
X2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9KSEJV
SUxEJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmly
b25tZW50LCAnV0VCS0lUX1RPUF9MRVZFTCcpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJv
bV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1VTRV9QTEFZQklOMycpCiAgICAgICAgIHNl
bGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ0dTVF9ERUJV
RycpCkBAIC0xMzQsMTAgKzEzNSwxMSBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAg
ICAgaWYgc2VsZi5fc2hvdWxkX3VzZV9qaGJ1aWxkKCk6CiAgICAgICAgICAgICAgICAgbGx2bXBp
cGVfbGliZ2xfcGF0aCA9IHNlbGYuaG9zdC5leGVjdXRpdmUucnVuX2NvbW1hbmQoc2VsZi5famhi
dWlsZF93cmFwcGVyICsgWydwcmludGVudicsICdMTFZNUElQRV9MSUJHTF9QQVRIJ10sCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlnbm9yZV9lcnJvcnM9VHJ1ZSkuc3RyaXAoKQorICAgICAgICAgICAgICAgIGRyaV9s
aWJnbF9wYXRoID0gb3MucGF0aC5qb2luKGxsdm1waXBlX2xpYmdsX3BhdGgsICJkcmkiKQogICAg
ICAgICAgICAgZWxzZTogICMgaW4gZmxhdHBhawotICAgICAgICAgICAgICAgIGxsdm1waXBlX2xp
YmdsX3BhdGggPSAiL2FwcC9zb2Z0R0wvbGliIgorICAgICAgICAgICAgICAgIGxsdm1waXBlX2xp
YmdsX3BhdGggPSAiL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS8iCisgICAgICAgICAgICAgICAg
ZHJpX2xpYmdsX3BhdGggPSBvcy5wYXRoLmpvaW4obGx2bXBpcGVfbGliZ2xfcGF0aCwgIkdMIiwg
ImxpYiIsICJkcmkiKQogCi0gICAgICAgICAgICBkcmlfbGliZ2xfcGF0aCA9IG9zLnBhdGguam9p
bihsbHZtcGlwZV9saWJnbF9wYXRoLCAiZHJpIikKICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhp
c3RzKG9zLnBhdGguam9pbihsbHZtcGlwZV9saWJnbF9wYXRoLCAibGliR0wuc28iKSkgYW5kIG9z
LnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihkcmlfbGliZ2xfcGF0aCwgInN3cmFzdF9kcmkuc28i
KSk6CiAgICAgICAgICAgICAgICAgIyBNYWtlIHN1cmUgdmEtYXBpIHN1cHBvcnQgZ2V0cyBkaXNh
YmxlZCBiZWNhdXNlIGl0J3MgaW5jb21wYXRpYmxlIHdpdGggTWVzYSdzIHNvZnRHTCBkcml2ZXIu
CiAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0xJQlZBX0RSSVZFUl9OQU1FJ10gPSAibnVs
bCIKQEAgLTE0OCw3ICsxNTAsNyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAgICAg
ICAgIGlmIG9zLmVudmlyb24uZ2V0KCdMRF9MSUJSQVJZX1BBVEgnKToKICAgICAgICAgICAgICAg
ICAgICAgZW52aXJvbm1lbnRbJ0xEX0xJQlJBUllfUEFUSCddICs9ICc6JXMnICUgb3MuZW52aXJv
bi5nZXQoJ0xEX0xJQlJBUllfUEFUSCcpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAg
ICAgIF9sb2cud2FybmluZygiQ2FuJ3QgZmluZCBHYWxsaXVtIGxsdm1waXBlIGRyaXZlci4gVHJ5
IHRvIHJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFr
IikKKyAgICAgICAgICAgICAgICBfbG9nLndhcm5pbmcoIkNhbid0IGZpbmQgR2FsbGl1bSBsbHZt
cGlwZSBkcml2ZXIuIFRyeSB0byBydW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13
ZWJraXQtZmxhdHBhayIpCiAgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbigibGVha3MiKToKICAg
ICAgICAgICAgICMgVHVybiBvZmYgR0xpYiBtZW1vcnkgb3B0aW1pc2F0aW9ucyBodHRwczovL3dp
a2kuZ25vbWUub3JnL1ZhbGdyaW5kLgogICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0dfU0xJQ0Un
XSA9ICdhbHdheXMtbWFsbG9jJwpAQCAtMjM3LDcgKzIzOSw3IEBAIGNsYXNzIEd0a1BvcnQoUG9y
dCk6CiAKICAgICBkZWYgX2dldF9jcmFzaF9sb2coc2VsZiwgbmFtZSwgcGlkLCBzdGRvdXQsIHN0
ZGVyciwgbmV3ZXJfdGhhbiwgdGFyZ2V0X2hvc3Q9Tm9uZSk6CiAgICAgICAgIHJldHVybiBHREJD
cmFzaExvZ0dlbmVyYXRvcihzZWxmLl9leGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwK
LSAgICAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0sIHNlbGYuX3BhdGhfdG9fZHJpdmVyKS5nZW5l
cmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIpCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlciwgc2VsZi5w
b3J0X25hbWUsIHNlbGYuZ2V0X29wdGlvbignY29uZmlndXJhdGlvbicpKS5nZW5lcmF0ZV9jcmFz
aF9sb2coc3Rkb3V0LCBzdGRlcnIpCiAKICAgICBkZWYgdGVzdF9leHBlY3RhdGlvbnNfZmlsZV9w
b3NpdGlvbihzZWxmKToKICAgICAgICAgIyBHVEsgcG9ydCBiYXNlbGluZSBzZWFyY2ggcGF0aCBp
cyBndGsgLT4gd2syIC0+IGdlbmVyaWMgKGFzIGd0ay13azIgYW5kIGd0ayBiYXNlbGluZXMgYXJl
IG1lcmdlZCksIHNvIHBvcnQgdGVzdCBleHBlY3RhdGlvbnMgZmlsZSBpcyBhdCB0aGlyZCB0byBs
YXN0IHBvc2l0aW9uLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xp
bnV4X2dldF9jcmFzaF9sb2cucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhf
Z2V0X2NyYXNoX2xvZy5weQppbmRleCA5YWRjNDYzNzFmOTYxYjE5NjI4ZTdmZWRkNDY1ZWJmZDA5
NmNkMDFhLi4yZTAzZGZmMWEzNmViNWMyMDVhZTY4NzljZDIyYmQyYzcwMjIxMWUzIDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQpA
QCAtMzcsMTggKzM3LDIyIEBAIGltcG9ydCB0aW1lCiAKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5
c3RlbS5leGVjdXRpdmUgaW1wb3J0IFNjcmlwdEVycm9yCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi51
bmljb2RlX2NvbXBhdGliaWxpdHkgaW1wb3J0IGRlY29kZV9pZl9uZWNlc3NhcnkKK2Zyb20gd2Vi
a2l0cHkuY29tbW9uLndlYmtpdF9maW5kZXIgaW1wb3J0IFdlYktpdEZpbmRlcgogCiAKIGNsYXNz
IEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgX2ZpbmRfcGlkX3JlZ2V4ID0gcmUu
Y29tcGlsZShyJ1BJRDogKFxkKykgXCguKlwpJykKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBl
eGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwgZmlsZXN5c3RlbSwgcGF0aF90b19kcml2
ZXIpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBleGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJf
dGhhbiwgZmlsZXN5c3RlbSwgcGF0aF90b19kcml2ZXIsIHBvcnRfbmFtZSwgY29uZmlndXJhdGlv
bik6CiAgICAgICAgIHNlbGYubmFtZSA9IG5hbWUKICAgICAgICAgc2VsZi5waWQgPSBwaWQKICAg
ICAgICAgc2VsZi5uZXdlcl90aGFuID0gbmV3ZXJfdGhhbgogICAgICAgICBzZWxmLl9maWxlc3lz
dGVtID0gZmlsZXN5c3RlbQogICAgICAgICBzZWxmLl9wYXRoX3RvX2RyaXZlciA9IHBhdGhfdG9f
ZHJpdmVyCiAgICAgICAgIHNlbGYuX2V4ZWN1dGl2ZSA9IGV4ZWN1dGl2ZQorICAgICAgICBzZWxm
Ll9wb3J0X25hbWUgPSBwb3J0X25hbWUKKyAgICAgICAgc2VsZi5fY29uZmlndXJhdGlvbiA9IGNv
bmZpZ3VyYXRpb24KKyAgICAgICAgc2VsZi5fd2Via2l0X2ZpbmRlciA9IFdlYktpdEZpbmRlcihm
aWxlc3lzdGVtKQogCiAgICAgZGVmIF9nZXRfZ2RiX291dHB1dChzZWxmLCBjb3JlZHVtcF9wYXRo
KToKICAgICAgICAgcHJvY2Vzc19uYW1lID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKG9zLnBhdGgu
ZGlybmFtZShzdHIoc2VsZi5fcGF0aF90b19kcml2ZXIoKSkpLCBzZWxmLm5hbWUpCkBAIC02Nyw2
ICs3MSw5IEBAIGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgIHJl
dHVybiBmaWxlbmFtZQogCiAgICAgZGVmIF9nZXRfdHJhY2VfZnJvbV9zeXN0ZW1kKHNlbGYsIGNv
cmVkdW1wY3RsLCBwaWQpOgorICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZSgiLy5mbGF0cGFrLWlu
Zm8iKToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9nZXRfdHJhY2VfZnJvbV9mbGF0cGFrKCkK
KwogICAgICAgICAjIExldHRpbmcgdXAgdG8gNSBzZWNvbmRzIGZvciB0aGUgYmFja3RyYWNlIHRv
IGJlIGdlbmVyYXRlZCBvbiB0aGUgc3lzdGVtZCBzaWRlCiAgICAgICAgIGZvciB0cnlfbnVtYmVy
IGluIHJhbmdlKDUpOgogICAgICAgICAgICAgaWYgdHJ5X251bWJlciAhPSAwOgpAQCAtOTIsMTIg
Kzk5LDI0IEBAIGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgICAg
ICAgICAgICAgICAgICB0ZW1wX2ZpbGUubmFtZV0sIHJldHVybl9leGl0X2NvZGU9VHJ1ZSk6CiAg
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAKLSAgICAgICAgICAgICAgICByZXMgPSBzZWxm
Ll9nZXRfZ2RiX291dHB1dChzZWxmLl9nZXRfdG1wX2ZpbGVfbmFtZShjb3JlZHVtcGN0bCwgdGVt
cF9maWxlLm5hbWUpKQotCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJlcworICAgICAgICAgICAg
ICAgIHJldHVybiBzZWxmLl9nZXRfZ2RiX291dHB1dChzZWxmLl9nZXRfdG1wX2ZpbGVfbmFtZShj
b3JlZHVtcGN0bCwgdGVtcF9maWxlLm5hbWUpKQogCiAgICAgICAgIHJldHVybiAnJywgW10KIAor
ICAgIGRlZiBfZ2V0X3RyYWNlX2Zyb21fZmxhdHBhayhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5u
ZXdlcl90aGFuOgorICAgICAgICAgICAgY29yZWR1bXBfc2luY2UgPSAiLS1nZGItc3RhY2stdHJh
Y2U9QCVmIiAlIHNlbGYubmV3ZXJfdGhhbgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY29y
ZWR1bXBfc2luY2UgPSAiLS1nZGItc3RhY2stdHJhY2UiCisgICAgICAgIHdlYmtpdF9mbGF0cGFr
X3BhdGggPSBzZWxmLl93ZWJraXRfZmluZGVyLnBhdGhfdG9fc2NyaXB0KCd3ZWJraXQtZmxhdHBh
aycpCisgICAgICAgIGNtZCA9IFsnZmxhdHBhay1zcGF3bicsICctLWhvc3QnLCB3ZWJraXRfZmxh
dHBha19wYXRoLCAnLS0lcycgJSBzZWxmLl9wb3J0X25hbWUsCisgICAgICAgICAgICAgICAiLS0l
cyIgJSBzZWxmLl9jb25maWd1cmF0aW9uLmxvd2VyKCksIGNvcmVkdW1wX3NpbmNlXQorCisgICAg
ICAgIHByb2MgPSBzZWxmLl9leGVjdXRpdmUucG9wZW4oY21kLCBzdGRpbj1Ob25lLCBzdGRvdXQ9
c3VicHJvY2Vzcy5QSVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKQorICAgICAgICBjcmFzaF9s
b2csIHN0ZGVyciA9IHByb2MuY29tbXVuaWNhdGUoKQorICAgICAgICBlcnJvcnMgPSBkZWNvZGVf
aWZfbmVjZXNzYXJ5KHN0cihzdGRlcnIgb3IgJzxlbXB0eT4nKSwgZXJyb3JzPSdpZ25vcmUnKS5z
cGxpdGxpbmVzKCkKKyAgICAgICAgcmV0dXJuIGNyYXNoX2xvZywgZXJyb3JzCisKICAgICBkZWYg
Z2VuZXJhdGVfY3Jhc2hfbG9nKHNlbGYsIHN0ZG91dCwgc3RkZXJyKToKICAgICAgICAgcGlkX3Jl
cHJlc2VudGF0aW9uID0gc3RyKHNlbGYucGlkIG9yICc8dW5rbm93bj4nKQogICAgICAgICBsb2df
ZGlyZWN0b3J5ID0gb3MuZW52aXJvbi5nZXQoIldFQktJVF9DT1JFX0RVTVBTX0RJUkVDVE9SWSIp
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNo
X2xvZ191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRf
Y3Jhc2hfbG9nX3VuaXR0ZXN0LnB5CmluZGV4IDlmM2I3ZTM5Mzc5YzQzYTEwNWVjZTIwYzFjYTYy
NjI0M2RmYTdkMzQuLjNhMzllODQ2NzBhNjRjODM2YjVlMTQ0MmZjOGEzNTkzNGMzN2RmOTQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9n
X3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRf
Y3Jhc2hfbG9nX3VuaXR0ZXN0LnB5CkBAIC00Niw3ICs0Niw3IEBAIGNsYXNzIEdEQkNyYXNoTG9n
R2VuZXJhdG9yVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGV4ZWN1dGl2ZSA9IE1v
Y2tFeGVjdXRpdmUoKQogICAgICAgICBleGVjdXRpdmUuX3Byb2MgPSBNb2NrUHJvY2VzcygpCiAg
ICAgICAgIGV4ZWN1dGl2ZS5fcHJvYy5zdGRvdXQgPSAnU1RERVJSOiA8ZW1wdHk+JwotICAgICAg
ICBnZW5lcmF0b3IgPSBHREJDcmFzaExvZ0dlbmVyYXRvcihleGVjdXRpdmUsICdEdW1wUmVuZGVy
VHJlZScsIDI4NTI5LCBuZXdlcl90aGFuPU5vbmUsIGZpbGVzeXN0ZW09TW9ja0ZpbGVTeXN0ZW0o
eycvcGF0aC90by9jb3JlZHVtcHMnOiAnJ30pLCBwYXRoX3RvX2RyaXZlcj1Ob25lKQorICAgICAg
ICBnZW5lcmF0b3IgPSBHREJDcmFzaExvZ0dlbmVyYXRvcihleGVjdXRpdmUsICdEdW1wUmVuZGVy
VHJlZScsIDI4NTI5LCBuZXdlcl90aGFuPU5vbmUsIGZpbGVzeXN0ZW09TW9ja0ZpbGVTeXN0ZW0o
eycvcGF0aC90by9jb3JlZHVtcHMnOiAnJ30pLCBwYXRoX3RvX2RyaXZlcj1Ob25lLCBwb3J0X25h
bWU9Imd0ayIsIGNvbmZpZ3VyYXRpb249IkRlYnVnIikKIAogICAgICAgICBjb3JlX2RpcmVjdG9y
eSA9IG9zLmVudmlyb24uZ2V0KCdXRUJLSVRfQ09SRV9EVU1QU19ESVJFQ1RPUlknLCAnL3BhdGgv
dG8vY29yZWR1bXBzJykKICAgICAgICAgY29yZV9wYXR0ZXJuID0gZ2VuZXJhdG9yLl9maWxlc3lz
dGVtLmpvaW4oY29yZV9kaXJlY3RvcnksICJjb3JlLXBpZF8lcC5kdW1wIikKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93cGUucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQvd3BlLnB5CmluZGV4IDAwY2U1Mjc2ZTljYzQyMWI0ODM3YWMyYjU0ZjMzYzU1MmJi
ZWM4NTUuLjU0NjkyNWY0N2M2NDAwNzI1YWYwNzNhMzU1M2M3ZmY1NGVlYTdkOTggMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93cGUucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wb3J0L3dwZS5weQpAQCAtNzcsNiArNzcsNyBAQCBjbGFzcyBXUEVQb3J0KFBv
cnQpOgogICAgICAgICBlbnZpcm9ubWVudFsnVEVTVF9SVU5ORVJfVEVTVF9QTFVHSU5fUEFUSCdd
ID0gc2VsZi5fYnVpbGRfcGF0aCgnbGliJywgJ3BsdWdpbnMnKQogICAgICAgICBlbnZpcm9ubWVu
dFsnV0VCS0lUX0VYRUNfUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0aCgnYmluJykKICAgICAgICAg
c2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lU
X09VVFBVVERJUicpCisgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3Nl
dChlbnZpcm9ubWVudCwgJ1dFQktJVF9KSEJVSUxEJykKICAgICAgICAgc2VsZi5fY29weV92YWx1
ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX1RPUF9MRVZFTCcpCiAg
ICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwg
J1VTRV9QTEFZQklOMycpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lm
X3NldChlbnZpcm9ubWVudCwgJ0dTVF9ERUJVRycpCkBAIC0xMjEsNyArMTIyLDggQEAgY2xhc3Mg
V1BFUG9ydChQb3J0KToKICAgICAgICAgcmV0dXJuIDIKIAogICAgIGRlZiBfZ2V0X2NyYXNoX2xv
ZyhzZWxmLCBuYW1lLCBwaWQsIHN0ZG91dCwgc3RkZXJyLCBuZXdlcl90aGFuLCB0YXJnZXRfaG9z
dD1Ob25lKToKLSAgICAgICAgcmV0dXJuIEdEQkNyYXNoTG9nR2VuZXJhdG9yKHNlbGYuX2V4ZWN1
dGl2ZSwgbmFtZSwgcGlkLCBuZXdlcl90aGFuLCBzZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRo
X3RvX2RyaXZlcikuZ2VuZXJhdGVfY3Jhc2hfbG9nKHN0ZG91dCwgc3RkZXJyKQorICAgICAgICBy
ZXR1cm4gR0RCQ3Jhc2hMb2dHZW5lcmF0b3Ioc2VsZi5fZXhlY3V0aXZlLCBuYW1lLCBwaWQsIG5l
d2VyX3RoYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9maWxl
c3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlciwgc2VsZi5wb3J0X25hbWUsIHNlbGYuZ2V0X29w
dGlvbignY29uZmlndXJhdGlvbicpKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIp
CiAKICAgICBkZWYgY29uZmlndXJhdGlvbl9mb3JfdXBsb2FkKHNlbGYsIGhvc3Q9Tm9uZSk6CiAg
ICAgICAgIGNvbmZpZ3VyYXRpb24gPSBzdXBlcihXUEVQb3J0LCBzZWxmKS5jb25maWd1cmF0aW9u
X2Zvcl91cGxvYWQoaG9zdD1ob3N0KQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0ay5jcHAgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcAppbmRleCAz
ZjhlMjQ0MGYyODNlNGI0ZTU0MjdhZDY0NGQyYjNiNGUzMTk2NWExLi44MWJjZDk2MmEwOWM3YWNm
ZWYyMmVjMmY0OGJjMDJiMjQ5YTU2YzQ0IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcAorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcApA
QCAtNjUsOCArNjUsMTMgQEAgQ1N0cmluZyBnZXRPdXRwdXREaXIoKQogCiBzdGF0aWMgQ1N0cmlu
ZyBnZXRGb250c1BhdGgoKQogeworICAgIC8vIFRyeSBmbGF0cGFrIHNhbmRib3ggcGF0aC4KKyAg
ICBHVW5pcXVlUHRyPGNoYXI+Zm9udHNQYXRoKGdfYnVpbGRfZmlsZW5hbWUoIi91c3IiLCAic2hh
cmUiLCAid2Via2l0Z3RrLXRlc3QtZm9udHMiLCBOVUxMKSk7CisgICAgaWYgKGdfZmlsZV90ZXN0
KGZvbnRzUGF0aC5nZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9FWElT
VFMgfCBHX0ZJTEVfVEVTVF9JU19ESVIpKSkKKyAgICAgICAgcmV0dXJuIGZvbnRzUGF0aC5nZXQo
KTsKKwogICAgIENTdHJpbmcgd2Via2l0T3V0cHV0RGlyID0gZ2V0T3V0cHV0RGlyKCk7Ci0gICAg
R1VuaXF1ZVB0cjxjaGFyPiBmb250c1BhdGgoZ19idWlsZF9maWxlbmFtZSh3ZWJraXRPdXRwdXRE
aXIuZGF0YSgpLCAiRGVwZW5kZW5jaWVzR1RLIiwgIlJvb3QiLCAid2Via2l0Z3RrLXRlc3QtZm9u
dHMiLCBudWxscHRyKSk7CisgICAgZm9udHNQYXRoLnJlc2V0KGdfYnVpbGRfZmlsZW5hbWUod2Vi
a2l0T3V0cHV0RGlyLmRhdGEoKSwgIkRlcGVuZGVuY2llc0dUSyIsICJSb290IiwgIndlYmtpdGd0
ay10ZXN0LWZvbnRzIiwgbnVsbHB0cikpOwogICAgIGlmIChnX2ZpbGVfdGVzdChmb250c1BhdGgu
Z2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfRVhJU1RTIHwgR19GSUxF
X1RFU1RfSVNfRElSKSkpCiAgICAgICAgIHJldHVybiBmb250c1BhdGguZ2V0KCk7CiAKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRl
Rm9udHNXUEUuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUv
QWN0aXZhdGVGb250c1dQRS5jcHAKaW5kZXggYTQ5YzdhMjkyMTgyNTkxZTI3MjdiMmI5MDFlNDEy
YjJkZThlMDNkYS4uOGJlNzM2ZjA0OWM5MWIzMDhjZDJjMWVjYWYxNDA1YTA1YzFhZTUwMCAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZh
dGVGb250c1dQRS5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS93cGUvQWN0aXZhdGVGb250c1dQRS5jcHAKQEAgLTU4LDggKzU4LDEzIEBAIENTdHJpbmcgZ2V0
T3V0cHV0RGlyKCkKIAogc3RhdGljIENTdHJpbmcgZ2V0Rm9udHNQYXRoKCkKIHsKKyAgICAvLyBU
cnkgZmxhdHBhayBzYW5kYm94IHBhdGguCisgICAgR1VuaXF1ZVB0cjxjaGFyPmZvbnRzUGF0aChn
X2J1aWxkX2ZpbGVuYW1lKCIvdXNyIiwgInNoYXJlIiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwg
TlVMTCkpOworICAgIGlmIChnX2ZpbGVfdGVzdChmb250c1BhdGguZ2V0KCksIHN0YXRpY19jYXN0
PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfRVhJU1RTIHwgR19GSUxFX1RFU1RfSVNfRElSKSkpCisg
ICAgICAgIHJldHVybiBmb250c1BhdGguZ2V0KCk7CisKICAgICBDU3RyaW5nIHdlYmtpdE91dHB1
dERpciA9IGdldE91dHB1dERpcigpOwotICAgIEdVbmlxdWVQdHI8Y2hhcj4gZm9udHNQYXRoKGdf
YnVpbGRfZmlsZW5hbWUod2Via2l0T3V0cHV0RGlyLmRhdGEoKSwgIkRlcGVuZGVuY2llc1dQRSIs
ICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgbnVsbHB0cikpOworICAgIGZvbnRzUGF0
aC5yZXNldChnX2J1aWxkX2ZpbGVuYW1lKHdlYmtpdE91dHB1dERpci5kYXRhKCksICJEZXBlbmRl
bmNpZXNXUEUiLCAiUm9vdCIsICJ3ZWJraXRndGstdGVzdC1mb250cyIsIG51bGxwdHIpKTsKICAg
ICBpZiAoZ19maWxlX3Rlc3QoZm9udHNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+
KEdfRklMRV9URVNUX0VYSVNUUyB8IEdfRklMRV9URVNUX0lTX0RJUikpKQogICAgICAgICByZXR1
cm4gZm9udHNQYXRoLmdldCgpOwogCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL2ZpbGVzL2Rl
ZmF1bHQueGttIGIvVG9vbHMvZmxhdHBhay9maWxlcy9kZWZhdWx0LnhrbQpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDE2ZjZiMDhmNmQ4MDg1ODA5NjhiYTAyMjU2ZDkwNzVkNDhhNDdk
MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMApHSVQgYmluYXJ5IHBh
dGNoCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKbGl0ZXJhbCAxMjAzMgp6Y21jZ3lZajdMYWItdWU7
NUZraVZsMyVmRmNTXnJ4KiROWTJMNHNpR3JVQyh3cHp0JlJsOUgyJXJBU3okTVVnWn0Kek4+LWY0
Tn5WKF5vd1VnYE56LUB5dERVfj5SQ1V3TlJER3FYYD4pZ0tZZFc0emBmP202YW9kQCtvdk5MJS0q
QGo+Cno+fmFtSXMlTyZXOURlKHFkKE9TKktLOTxiaStsTHVnPWc9SUA1aTIzTikwR1dlTX1YVTEw
MFYyREt5fGl1U1BCNAp6cFUyalkrUThSYDk9fDY3WSotSUg5QSRjWl9uN0NXKWMkd0hSQmk4S1dv
elhFeWR4Xk51P3RNN082TzglcXJLTWMKemJSMVJETj1HI3sjI0otRndZbDVmK0U2TzREIXUhSllP
TyVJIUs/PDJ8SUdUT2oqMnFSKilDJE5jNk9IKWN4IUxGCnooKj41VTVXVSMlUkdtdyFvbDdUe0hg
YlNUSXk9WG94IW1kUVVVXmktX3dQcVVOKT1tcWxgQUd3NUVxaCRqNilfTQp6OE9TNmczel5DbFEl
TU55UXRvdVEpb0FDWVJqdlRQMHtqWl9FNU5TK3pYSlJVQEdIUXQwS1dxSzNoKm5XKy1BRjMKenRL
ezMyVHBvVVRffnFmM2hoSDlrZEhDaHdteG9eLWV0RyFpUT5re1BQXmA/Zk4rYDNFbn0qKnN7SEVi
STRabXNsCnpPflk+KmUkKClxaFRuODUqPSlCOzx3a1lCbEI9e15qZUllbVlxVnl7JHJRd2VxI0Am
dzJ9bE1xM0NUakhYM0Q4Iwp6dHkoRiFAfEFNQUZ7I1JwRU15QU9ubENyVGZmSkFuQnYmWG1RYX40
eWg5bl97TkBieXZXfTgtOHZ1KSZzQD19TzMKemxgN31qeHpiIVNTMVEpWnJFK189SSR0V0RZVUhj
c016UGpKZCUkPDAoUU1fTGhfX09rRFV8QmY7KFNBPyNfVzhmCnpRay1jd1hHYHMzdClMM14jYWQm
d1BAQWlANms0Uz9tdldRVWBGMyVrVUt4WCZYdyg7KiRueSM0R21ZR1EzeiZzVwp6bTE/dDwoeTlD
Y2BZdjVyb1UxaDxgRmdke1lTJGFOKzF5O0NTI1FrTzNpWCswdCh+dG8mZVJjQ0JpQ3hyJSsoNnsK
emBMLSQqRH4tOS1fI18xUmpaZSpgQ1gkZDgjRCUwRzxCJG5SMV9IWVkqaUZETDFHXjBER08pfFFF
KDV5Xj5AdSorCnp6JUIjMzREMlJoSHduOCoqaUZLMjVfWGZZbn1wcFk+P1VEMTNBLSVwdmFyai1F
KF5PWD82Uj1TIVkmS0RFYk93ZAp6bkBYYlgoYSRPTGF8LT5PTE8tWF8mbmZoQzNqT1JOLTlgVm43
IU5NJi0wXkNtd1RSfGQpbllyPm5yfTJxWEJ5MnAKekg8XlZAJkFGKjBCbjVGSFh+O05hMCtOQURM
U1VESW9lTWhgYn1zQigqdHhLQ1ZkdWltZyZxM0NienpyPVReZT8yCnoqcmoyWWhGdXpWWTFwTTxt
eGYmJGNIXiljaHV0e3IjJGgpT3lLJmYhIXcmdTdxQ1pecGhsfkRqKEh9MVEhJHA2JQp6PW5yPmRM
TyhQNGwqXylaN0hqaS1tUCR7eVhFX0VjKXBtfktwaC1sPGJDdWE5JDRhP0BNO3AmfFdxSjFycGJL
MEMKenJoIUdeSUlzenYwTWFmNEpPaThyJkk3WitJcDdxcSZTeExrITFLKWZhek4oUzB5NGg+a29u
QzNuY3Btc2BJVWdvCno/LVk+dm00VkRwS21XaWRAdGlaQyg/STV2MlFyQHBBb0gwOUdNXmZkYEJj
NjZKRlpyP0VeY3BoYn57U2wjfFBDaQp6R058Z2M7IT5yIVBeQHNTLW4+RyFFZHJaQyluMlNpeH0m
QnNrTHZrJFpUK2NUNkBpXmlUaURTanA+bVoqREt9a2cKeiYqZVFeTjlDOGRjYklQWndrVWkrbTVY
T0VtdzB2cVRyPHZmeCl3Nmo8PlRMPVlMKF9AKzl4PFJKdi09Rl82YVQ9CnpDJXJnTkRzQDtqQD1G
LUojaWp8P01MaiRwWismbilkcT02R3c5blVUP1BrNT1kM2czUSltd3M0IUlMSClieUQzJQp6cFVP
Y2UmbkxLVURTSzNXTXZZSk5XPExKOSRIdmsxUjw9NkNhIX4xVFQ7NXUkPzZ9eSopcmdNQ0h9Pk4z
KT52ZzkKejUhKWxpbUlHY2dfSEU1TjlFfWJyaGJ1ayQoPzt0PkVKcnpMdzdBTipuLSQjK2RmMT84
ZCs2blhIcjhWeiZiNHtlCnpqMSVkclFUNyRgKnpJb1VaZDAraXFZbFRCTmQpPUcqa081ZyNGUURh
U3VYbDdoT3JpZjN9OWFaI1ghdGF1XyREfgp6TEh8fGlgQ01oR0lFTXdvKUY7XkFJK2cqbVhHam01
KmhjaloxZ2pMckJ4MiFzKWlJQmY0VC1ITDI8XytyQUVVSngKenBUdy09TWYoaD9jQnh0UG99ZEZg
P20hR3krXzdTKV5NU1NuV3Brc3x0KGZJbExuPklDeDhgLVR3emJyMDY7cjIyCnpPJUplTXJgaEpa
N2x1NSY/Z2NiQzt5NUk2YUorZl8lcjxCSHF1RiYjUTRCe2Z1OSlwdTB9O28lRDtPVUpYIXUkRwp6
LV5SZklFellRUVVwekR4TCshPFZVSzk7RmZTcTU9IWNHKkk0TlV8IXUrVUY3Pkoodn1QP3NuK3RP
S1k9NEUxbUAKejdleW9Sdio4emtVaiUrT3szMjI3LVVEXmleV3hJWCt5WGtkby1jRlloYnwxPzE2
UDxJTkRQcCRVNl5+T3hCN2hqCnp6cVQjTSY4QGJyampsbDMrR3lLajJpbiNqS2ohaGhjezdMR0Nk
fEZJZGJ7fVRYPUJHNGs/fFhSJlUpPEBjK1R8TAp6bHNVaX5xdSs2JHR5O3pFb1pudklkWkloPDlR
KVZKX193Mjs3VXBGPFZoODU2Z3FvPyglUX0za1dreHVeT0ZxSCYKel41JiZHMTk9OWZwMH57VEg9
ODMoeyRAVDI9SWB+I0o7RDZIYiN2PnNXKmdzWC03RSs1NEM9OzQodGpBaGRpfXQ+CnojV2ZjNW0z
bHw4e09hODRWcXdXX2tPSmorZCEoRHlHM3BHTXpDZEkpXlRvdEI5TClFJEFNPyVmMihIdD9IcSgx
Twp6PGpaKjNXP1U7Q1BfMUdFSkxxPENpTGFTVXhtc2FLQDdSSkpnIXNjXzZSTmtnOXJsaVZyPFhP
JHRqayZoK1gmWnUKej47biQwb3lhc2UkS01nR1hRTUxUa19yMShgdzA2YntsUzhMKWY8UUN0PXte
R3pPdkN6TX15QF40fCEkdT5tT2FPCnpRUTZ4ZktZbHxBPyF9K091RlU9Pj5oZ3A4WGo5ZnVzbl87
VlhMfSNwQmczQnUtJCNBMXFgP3BmYH44biNRS0wxKwp6bF9UN3kwZURvbndnPi07X1ElTFc4fWZR
MSNKe1kwcUw9PTloPHtie3A8ZXBlTGozRVI1QkpqRjREbVpPa0xqXz0KekB7ajhIdSFsd2J0aW8t
PTg5KHskIVdscExodkAmfEt+Iy1RPlRtNUl0VXZnSGBoJEQqQTdGbSlrMj1PYkV9WS0yCnpjcU11
cTE+cVZkaGQ7Knd1YU89JV9BZkNXWXV9MmdlRlVNQFBseCNEZEt9SjN8QWBSKWIpUiFPUChLeW8q
TG9jSgp6PE5DMT5mNFJwXjElNW9sZjN3SDthVmhvYjVkVkNTcWFMe2JPbzshTSZuPjNeV1FoTlVh
Qmtzd3tZOzRlc1BLZWkKeiNfejklXyRQZz9yLW9rKUBsV3wmY2oyI3VfJTkyTyVncGppQV54SzlM
Nzh9ZEhwRzlgPEVBXitYRzhvaWc/c1Y7CnptQ3RwS2U9VkgtJi1WRzc5I15gKFVLUUBPJilAZGFW
VTA0cylaPHtfdWdtIUk/NyFsMzlwTXszKlg0aUo9ZW04fgp6Pn5UfSFmQStjZHt9LVFZZ01hbjhf
V3k/UExEUVk7LStacTl8Sn49PnwzN0BMe3JeKz1WZnI2WT5QQz17RCluRSYKekZ+aktte0BkcWgz
OGw3IV85dkJrQ2N4Pj80UkUmQ1BMTHlfLTV8I155QkZrVylKczgqXyR+K2VzOFlgY0kzTXtkCnow
blJAOEshQ0ZXe3pDWEw/c0A2Pyl0aXJDcHkkXkIqWW00ej1DOX0xME4zLVlhRihhJSo4dGJedDhq
I2BeIXlzJgp6ZWBtJU1UR3pDJV8wOU1aJlFGSyVhPj5pP2FvdjRiS2ZIOV5lT055e1pZSTJGa0RD
USFwdlVuZGp3e3lWY3RPViUKej97UEROMlljTCVzNj53XndFYSt6NHsxSyE8RUJMKTdYSHlqY2Va
PE9NP0t7OCNyNGV7Xj89N3VFTDY4dkpMKkE/CnpqflRBbDdpa34xZkw+cH41M0RjWHRVYzVKTiFs
O01rMSVyQzQlMjxVa00tREZLVmQ+VUVtKCMxPzslSWtfUjVMOQp6b2ZHU3VvISNVNVg5eGJ5Zlp0
RzVhcjZBZmBwKCt1QCVoJUhDVWZARXkoa2x9cCgrS3t7bWN5YXtBUDdoPylmcU8KekxBZjZYSnx5
PU96PSEyTjEzV0FEbGZZd2dwOU1aOV9meD4qYS1SZTsxZVBAaFQkMjBtMSloLW1JTzN3dlcpTGB2
Cnp2NXRFeV8tKmVRKmdqJEc1OWx2THg3YkpEZnYoc2AtLVdLKE42KzdqK0l7cj1IaEhGeGVoPDMm
S0tnYSY9S0FRagp6cHNWLU1aJHNCR2RpN3I1YjhgUUY7MTU5OVotPncoN1dUbVpWQXwrRntnK3ty
R2Q+Nk9gMjQ5X2VlfG8pNzVlQygKemZeTWRke3ljUUVlZWBTNG1IT3pQaFZFMSFKJTUrdXd+VFBW
OyoqJUY3YF4lKTtDSVhZQmZ0bWJ7YC1MK2ZeZSRnCnp5dSkkd0tKWDdoIXVmcHd4K25ZU3BNPyZ1
QjUkIUBmaUItaWUranlVS0tnVWVQNTA0bkxSYWdmelglO1ppMGhjJgp6MzRDMWMtdnhZKytgays2
ZUd0fn4/QD5RfnA5X0JmPFgkQnhfaGFze1ZaaytrXkV9N01zUD96QHlifGBtNHg2QkcKenRgNkok
RV5MQ3JgOCNhJGQkMCkjPWsmMTZANTNmMm9hZShmZSpsfUhhUEFNPXsyXj9EIXUyMypeOTklaGc9
PDlFCno9OHM/IzZze1gjbj1pczlDfHBhekhoJkQ4cG0yUyR0UncxcT0tS3shLXs4Mzl6TCRHcC1n
QSUzZUp9NjFwWERBbQp6b0c8czhMRSpZV2QreHV2Qys5dSl5ND9UcnA4SWFAI2whaDxLTj1MU1NH
NERRMF5jMlkmdnlkOEMtOSM4ZjQmcCYKem9fa2c5VXdRdm9Bb3JANGJ5ZElmVk9aZlM1JDl0NmB3
R1Z9JDFiMTBwTSEqQmM/SkdLO28yTHZgNGlYI2gzaGYwCnoocnRONm15YjBeQElrPngxUm5yO3dt
KzxPamB+TW54RDM3bjFaQzg7aTUzMj5WO09kTExod3ZrIVFZO15yK09YMgp6eyFJdXIxZT0yTWY9
PnZ4MVEhTHtmKHdFeGc4TStQNCE3LWRFYTRxaEBPSHQrMWI7Xy1VVjtQcSRtO2h5KChTT2gKekFh
PHdWJEcmN2duIWQhRUZLT2RJUXw/S3tKKW1XcylPJGFjZV9tfFgxKW1iIS1qQ3x8ST5NaDN6OXtp
czVXRmIzCnpDVSZRVktQfGk/ezV5ZHIyQnFGRHgpWHgkN2tuO1leRnlNYDJ+Rz5YT1lsai1Gfk1F
ST1MUFEoT2JWdDJqfG5+awp6Xnh9Q1o/JTglazNmdHUhcVBxaV82NVU7KnlBJFp5LTZ2YDk1IT9p
TmBGPmIqY01JK2FFe0toMV9wSW96MnkhM0EKejdgVFRidThIMzM4IXo5WT13fTNIMXh0YytLKEND
P2lTOEUhVWxlPylYTEQ3NXw2bmB0O3lUMGloUyEoJXtZaWIjCnpAbmQ4QkBjTyMrRzI0aTdkaExg
S1VKeHRgez02WFRQa1lickd2TGdSSXpFQCl7bGBWYGFqI0UqTUV2ZytUb1FhLQp6QFRfMTQ9PXBs
JUowZlllcGV1TXImPURMRWowJHBXR1FPX2hDaj43R3pFfCoqZn1heG5HKkRPUUNqWGN4RkF1JSoK
elA5eENtPEYjaXtAcHRWfXtuNjA2JTNxZXY3M2M1Uk15PjN0LVdNeHstd0RsR0NQfjcoZ2A9KkQ0
fVdqSXhWXj1uCnoqN15DYWNSOHhPeXQkMEl3NVE+SFlvcFdJIyYySCE2fnA8Ym8kYnloX21jPiVj
ajB7MDkpSXNRcXM2RzlUaT9NKAp6WXBgZDxHT05xJCohLUVkR24wVGwmKVJiTHtRQm0zI19uSTxa
PkZzSEBLeVBzaFVBITw/UVpSRGtNYlNuJntmKj0KekQ7eDh5WnRkLUtNJDRUbUowcWppPXVaVHdo
ZERQa2kxKClCK2JnTiQjR35xY3g1WjxhUWM8X1ZoJCpJRHVxTT5sCnpWYEZRYmpaMi1+Xl9BdFpp
PUVaPXleQ1lydkNYYVMjcFI3TEI7cF90eytxd2Bvdm16a1ZybmRmbXsmVkhFOFg/Jgp6LVNzVyoy
WnoqYlhTMzU/VWx+UEY7OEFzTVZ8bkVRQGJjT144ZmllQz97PT1aTnJTMG1sKVNUdkNeViolQE5y
YkYKei1veXNkIyk1JUdTWTUtUDRaSClqZDt4Iz40dmY9YmUpPFAzS1loKCZJIT15WjxMJncxOVl9
WHtJIX4+OXQ4fF9zCnohfW17bzM/N2lxeCpPeTRabVZtI2lnRkU2VWVqcmUkdzgyZ2I9STB1bG90
QF4zcCFyKjVxPERHSTZtOV48KCYkfAp6bGhOXztecUhUMkJUKFBoYmJXYysldW9NRCEyZTZ5emdq
TkA+Tl5yaHpvR3FHRiEyM2YzKmBUMkNMSmYoe1BkP0MKenpkYVk2N3dgPTZecUhVRDRkajFUbShT
QmBlKT1gRWs+Nml1UVU2TUBmY28+SjlVdTJNP05eV3xiaCE2KUY0ezQhCnpYNylCJCVzX2ZvVH57
dzN4KCo4clJhXj1EYVUkVmFMVWY2WnZ2akZmOzB8PWJpRHwpYyEzbTU8Pk5DUDgxKyMpdgp6Q093
cmpKZTNtRWBTR2tBaE0yezNkZXJsKjg8QSVzeDdVYHtJczNaRzQ4MHR8XkI0OHY4XkkwRktoWH43
OEZoWEAKem9nWXhnMmh7TmFDJlcoMjJkPzctPmlCP0RDZiZyeGJDSlN6ZXRaSihvZXdSVXolTHNw
N2lUM0NfPk97ZVFOfEFFCnpzPGJgTVJTQkFNYWpyX1pESHJGZWdxdzE0dUY3eUo3dzBPND4tX2or
VjZAdkcjaDU+WWF5aGFTRHIpMldsKEVENAp6RHtZVlNTQXdRb29XQnhvJUVrRkI7aWc9aXpjTzZQ
I2tvdiFLQj5lNDF7Qk5WbGFqIVIwLWtAPV9CZ0w4WHYpUVQKekUjYW5Jb1l4WD0lRWZzdDtpZz1p
PVFQfXUlT0A/TlZ6d1JPY3RtK1BKQmQ0Kz1oK2YhKEJecWhCRn10Y09qPG5WCnpMKFgkPE00b311
VD5BfiRGOyFlJC1fX0dRIyFQYSFVfnxrMkk+O0xSbUI0ZD1aem5pd2k1UDYyJHQzYmpDWHMjMQp6
YmVfV2A9bE0qTlVPLXZPRjJJNWgyaFZZbUdpS1dKSmZ9e19TeHpGKWJgbyhHdGFEfDFkRyh6QTsp
b3EjOUVzbDgKeldrNVdhTjt7cXZIQ1JQbSRYZ20yNUFBcXY2PyUoalJ9REBIPF9aWmx0ajdsOTtD
V1YpSnxVUlYkaTZpQnEoc2xCCnpwWlRRKWktPnp6Kk18IX1YUDwtYExWN2B1MSlLcnZ0VHZXNko2
S0M/XntWPTlKT0J8NjRxVS1+ZnJHakNZYT04MAp6ck97bCR5QFg/VHQ9QTZ3WTJrZj82WHt4UzlQ
IWhLeXxkUHA8I1F9STtAblZRSylHTDN0MiVSQ1pvPlN3YEY3WFIKekx3Y3tuSldMXng9blp4S0Z6
UkhQR0VEcllraGZkTDtsTnBNc2Z2bVcrKSRzIzxvWW93JDc+NnpqKFdSZ2FjO284Ck1ra3NkfmJJ
SWlZMDgzSzAyPjx7OQoKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0
b2dlbi5zaCBiL1Rvb2xzL2ZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA3NTUKaW5kZXggMWMwYzQ4MzA1MWZiZGY4NjA0Yjk0NGE2MzUxMWM0ZTEyMWVh
ZWY0ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29s
cy9mbGF0cGFrL2ZpbGVzL2h0dHBkLWF1dG9nZW4uc2gKKysrIC9kZXYvbnVsbApAQCAtMSwyICsw
LDAgQEAKLWF1dG9tYWtlIC0tYWRkLW1pc3NpbmcKLWF1dG9yZWNvbmYgLS1pbnN0YWxsCmRpZmYg
LS1naXQgYS9Ub29scy9mbGF0cGFrL2ZsYXRwYWt1dGlscy5weSBiL1Rvb2xzL2ZsYXRwYWsvZmxh
dHBha3V0aWxzLnB5CmluZGV4IDg5ZWJjNjczMTBjMWQ1Yjg0YzkwY2Y1NDA3Zjk0MGMwMWIwNWVl
ZTYuLjA1MTRiY2FlNzg1MDg2OTA4NDM2MDUyNGJhN2Q5MjRlMGFjYzg5YzIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5CisrKyBiL1Rvb2xzL2ZsYXRwYWsvZmxhdHBh
a3V0aWxzLnB5CkBAIC00OCwxOSArNDgsMTUgQEAgZXhjZXB0IEltcG9ydEVycm9yOgogICAgIGZy
b20gdXJsbGliMiBpbXBvcnQgdXJsb3BlbgogCiBGTEFUUEFLX1JFUSA9IFsKLSAgICAoImZsYXRw
YWsiLCAiMC4xMC4wIiksCi0gICAgKCJmbGF0cGFrLWJ1aWxkZXIiLCAiMC4xMC4wIiksCisgICAg
KCJmbGF0cGFrIiwgIjEuNC40IiksCiBdCiAKIEZMQVRQQUtfVkVSU0lPTiA9IHt9CiAKLVdQRV9N
QU5JRkVTVF9NQVAgPSB7Ci0gICAgInF0IjogIm9yZy53ZWJraXQuV1BFUVQueWFtbCIsCi19Ci0K
IHNjcmlwdGRpciA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pKQog
X2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCitGTEFUUEFLX1VTRVJfRElSX1BB
VEggPSBvcy5wYXRoLnJlYWxwYXRoKG9zLnBhdGguam9pbihzY3JpcHRkaXIsICIuLi8uLi9XZWJL
aXRCdWlsZCIsICJVc2VyRmxhdHBhayIpKQogCiBjbGFzcyBDb2xvcnM6CiAgICAgSEVBREVSID0g
IlwwMzNbOTVtIgpAQCAtMTIzLDEzMiArMTE5LDYgQEAgZGVmIGNoZWNrX2ZsYXRwYWsodmVyYm9z
ZT1UcnVlKToKICAgICByZXR1cm4gVHJ1ZQogCiAKLWRlZiByZW1vdmVfZXh0ZW5zaW9uX3BvaW50
cyhhcnJheSk6Ci0gICAgcmVzdWx0X2FyZ3MgPSBbXQotICAgIGZvciBhcmcgaW4gYXJyYXk6Ci0g
ICAgICAgIGlmKG5vdCBhcmcuc3RhcnRzd2l0aCgnLS1leHRlbnNpb24nKSk6Ci0gICAgICAgICAg
ICByZXN1bHRfYXJncy5hcHBlbmQoYXJnKQotICAgIHJldHVybiByZXN1bHRfYXJncwotCi0KLWRl
ZiByZW1vdmVfY29tbWVudHMoc3RyaW5nKToKLSAgICBwYXR0ZXJuID0gciIoXCIuKj9cInxcJy4q
P1wnKXwoL1wqLio/XCovfC8vW15cclxuXSokKSIKLSAgICAjIGZpcnN0IGdyb3VwIGNhcHR1cmVz
IHF1b3RlZCBzdHJpbmdzIChkb3VibGUgb3Igc2luZ2xlKQotICAgICMgc2Vjb25kIGdyb3VwIGNh
cHR1cmVzIGNvbW1lbnRzICgvL3NpbmdsZS1saW5lIG9yIC8qIG11bHRpLWxpbmUgKi8pCi0gICAg
cmVnZXggPSByZS5jb21waWxlKHBhdHRlcm4sIHJlLk1VTFRJTElORSB8IHJlLkRPVEFMTCkKLQot
ICAgIGRlZiBfcmVwbGFjZXIobWF0Y2gpOgotICAgICAgICAjIGlmIHRoZSAybmQgZ3JvdXAgKGNh
cHR1cmluZyBjb21tZW50cykgaXMgbm90IE5vbmUsCi0gICAgICAgICMgaXQgbWVhbnMgd2UgaGF2
ZSBjYXB0dXJlZCBhIG5vbi1xdW90ZWQgKHJlYWwpIGNvbW1lbnQgc3RyaW5nLgotICAgICAgICBp
ZiBtYXRjaC5ncm91cCgyKSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHJldHVybiAiIiAgIyBz
byB3ZSB3aWxsIHJldHVybiBlbXB0eSB0byByZW1vdmUgdGhlIGNvbW1lbnQKLSAgICAgICAgZWxz
ZTogICMgb3RoZXJ3aXNlLCB3ZSB3aWxsIHJldHVybiB0aGUgMXN0IGdyb3VwCi0gICAgICAgICAg
ICByZXR1cm4gbWF0Y2guZ3JvdXAoMSkgICMgY2FwdHVyZWQgcXVvdGVkLXN0cmluZwotICAgIHJl
dHVybiByZWdleC5zdWIoX3JlcGxhY2VyLCBzdHJpbmcpCi0KLQotZGVmIGxvYWRfbWFuaWZlc3Qo
bWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lPU5vbmUsIGNvbW1hbmQ9Tm9uZSk6Ci0gICAgaXNfeWFt
bCA9IG1hbmlmZXN0X3BhdGguZW5kc3dpdGgoJy55YW1sJykKLSAgICB3aXRoIG9wZW4obWFuaWZl
c3RfcGF0aCwgInIiKSBhcyBtcjoKLSAgICAgICAgY29udGVudHMgPSBtci5yZWFkKCkKLQotICAg
ICAgICBjb250ZW50cyA9IGNvbnRlbnRzICUgeyJDT01NQU5EIjogY29tbWFuZCwgIlBPUlROQU1F
IjogcG9ydF9uYW1lfQotICAgICAgICBpZiBpc195YW1sOgotICAgICAgICAgICAgaW1wb3J0IHlh
bWwKLSAgICAgICAgICAgIHlhbWxfbG9hZCA9IGdldGF0dHIoeWFtbCwgInNhZmVfbG9hZCIsIHlh
bWwubG9hZCkKLSAgICAgICAgICAgIG1hbmlmZXN0ID0geWFtbF9sb2FkKGNvbnRlbnRzKQotICAg
ICAgICBlbHNlOgotICAgICAgICAgICAgY29udGVudHMgPSByZW1vdmVfY29tbWVudHMoY29udGVu
dHMpCi0gICAgICAgICAgICBtYW5pZmVzdCA9IGpzb24ubG9hZHMoY29udGVudHMpCi0KLSAgICBy
ZXR1cm4gbWFuaWZlc3QKLQotCi1kZWYgZXhwYW5kX3N1Ym1vZHVsZXNfcmVjdXJzZShtb2R1bGVz
LCBtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWUsIGNvbW1hbmQpOgotICAgIGFsbF9tb2R1bGVzID0g
W10KLSAgICBpZiB0eXBlKG1vZHVsZXMpIGlzIHN0cjoKLSAgICAgICAgc3VibWFuaWZlc3RfcGF0
aCA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUobWFuaWZlc3RfcGF0aCksIG1vZHVsZXMp
Ci0gICAgICAgIHN1Ym1hbmlmZXN0ID0gbG9hZF9tYW5pZmVzdChzdWJtYW5pZmVzdF9wYXRoLCBw
b3J0X25hbWU9cG9ydF9uYW1lLCBjb21tYW5kPWNvbW1hbmQpCi0gICAgICAgIGFsbF9tb2R1bGVz
LmV4dGVuZChleHBhbmRfc3VibW9kdWxlc19yZWN1cnNlKHN1Ym1hbmlmZXN0LCBzdWJtYW5pZmVz
dF9wYXRoLCBwb3J0X25hbWUsIGNvbW1hbmQpKQotICAgICAgICByZXR1cm4gYWxsX21vZHVsZXMK
LQotICAgICMgVGhlIGxhc3QgcmVjdXJzZSBtYW5pZmVzdCBleHBhbmQgaXRlcmF0aW9uIG1pZ2h0
IGxlYWQgdG8gYSBzaW5nbGUgbW9kdWxlLgotICAgIGlmIG5vdCBpc2luc3RhbmNlKG1vZHVsZXMs
IGxpc3QpOgotICAgICAgICBhbGxfbW9kdWxlcy5hcHBlbmQobW9kdWxlcykKLSAgICAgICAgcmV0
dXJuIGFsbF9tb2R1bGVzCi0KLSAgICBmb3IgbW9kdWxlIGluIG1vZHVsZXM6Ci0gICAgICAgIGlm
IHR5cGUobW9kdWxlKSBpcyBzdHI6Ci0gICAgICAgICAgICBzdWJtYW5pZmVzdF9wYXRoID0gb3Mu
cGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShtYW5pZmVzdF9wYXRoKSwgbW9kdWxlKQotICAgICAg
ICAgICAgc3VibWFuaWZlc3QgPSBsb2FkX21hbmlmZXN0KHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRf
bmFtZT1wb3J0X25hbWUsIGNvbW1hbmQ9Y29tbWFuZCkKLSAgICAgICAgICAgIGFsbF9tb2R1bGVz
LmV4dGVuZChleHBhbmRfc3VibW9kdWxlc19yZWN1cnNlKHN1Ym1hbmlmZXN0LCBzdWJtYW5pZmVz
dF9wYXRoLCBwb3J0X25hbWUsIGNvbW1hbmQpKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAg
YWxsX21vZHVsZXMuYXBwZW5kKG1vZHVsZSkKLQotICAgIHJldHVybiBhbGxfbW9kdWxlcwotCi1k
ZWYgZXhwYW5kX21hbmlmZXN0KG1hbmlmZXN0X3BhdGgsIG91dGZpbGUsIHBvcnRfbmFtZSwgc291
cmNlX3Jvb3QsIGNvbW1hbmQpOgotICAgICIiIkNyZWF0ZXMgdGhlIG1hbmlmZXN0IGZpbGUuIiIi
Ci0gICAgdHJ5OgotICAgICAgICBvcy5yZW1vdmUob3V0ZmlsZSkKLSAgICBleGNlcHQgT1NFcnJv
cjoKLSAgICAgICAgcGFzcwotCi0gICAgbWFuaWZlc3QgPSBsb2FkX21hbmlmZXN0KG1hbmlmZXN0
X3BhdGgsIHBvcnRfbmFtZT1wb3J0X25hbWUsIGNvbW1hbmQ9Y29tbWFuZCkKLSAgICBpZiBub3Qg
bWFuaWZlc3Q6Ci0gICAgICAgIHJldHVybiBGYWxzZQotCi0gICAgaWYgInNkay1oYXNoIiBpbiBt
YW5pZmVzdDoKLSAgICAgICAgZGVsIG1hbmlmZXN0WyJzZGstaGFzaCJdCi0gICAgaWYgInJ1bnRp
bWUtaGFzaCIgaW4gbWFuaWZlc3Q6Ci0gICAgICAgIGRlbCBtYW5pZmVzdFsicnVudGltZS1oYXNo
Il0KLQotICAgIGFsbF9tb2R1bGVzID0gW10KLQotICAgIG92ZXJyaWRlbl9tb2R1bGVzID0gW10K
LSAgICBpZiAiV0VCS0lUX0VYVFJBX01PRFVMRVNFVFMiIGluIG9zLmVudmlyb246Ci0gICAgICAg
IG92ZXJyaWRlbl9tb2R1bGVzID0gbG9hZF9tYW5pZmVzdChvcy5lbnZpcm9uWyJXRUJLSVRfRVhU
UkFfTU9EVUxFU0VUUyJdKQotICAgICAgICBpZiBub3Qgb3ZlcnJpZGVuX21vZHVsZXM6Ci0gICAg
ICAgICAgICBvdmVycmlkZW5fbW9kdWxlcyA9IFtdCi0gICAgZm9yIG1vZHVsZXMgaW4gbWFuaWZl
c3RbIm1vZHVsZXMiXToKLSAgICAgICAgbW9kdWxlcyA9IGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vy
c2UobW9kdWxlcywgbWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lLCBjb21tYW5kKQotCi0gICAgICAg
IGlmIG5vdCBpc2luc3RhbmNlKG1vZHVsZXMsIGxpc3QpOgotICAgICAgICAgICAgbW9kdWxlcyA9
IFttb2R1bGVzXQotCi0gICAgICAgIGZvciBtb2R1bGUgaW4gbW9kdWxlczoKLSAgICAgICAgICAg
IGZvciBvdmVycmlkZW5fbW9kdWxlIGluIG92ZXJyaWRlbl9tb2R1bGVzOgotICAgICAgICAgICAg
ICAgIGlmIG1vZHVsZVsnbmFtZSddID09IG92ZXJyaWRlbl9tb2R1bGVbJ25hbWUnXToKLSAgICAg
ICAgICAgICAgICAgICAgbW9kdWxlID0gb3ZlcnJpZGVuX21vZHVsZQotICAgICAgICAgICAgICAg
ICAgICBvdmVycmlkZW5fbW9kdWxlcy5yZW1vdmUobW9kdWxlKQotICAgICAgICAgICAgICAgICAg
ICBicmVhawotCi0gICAgICAgICAgICBhbGxfbW9kdWxlcy5hcHBlbmQobW9kdWxlKQotCi0gICAg
IyBBbmQgYWRkIG92ZXJyaWRlbiBtb2R1bGVzIHJpZ2h0IGJlZm9yZSB0aGUgd2Via2l0IHBvcnQg
YnVpbGQgZGVmLgotICAgIGZvciBvdmVycmlkZW5fbW9kdWxlIGluIG92ZXJyaWRlbl9tb2R1bGVz
OgotICAgICAgICBhbGxfbW9kdWxlcy5pbnNlcnQoLTEsIG92ZXJyaWRlbl9tb2R1bGUpCi0KLSAg
ICBtYW5pZmVzdFsibW9kdWxlcyJdID0gYWxsX21vZHVsZXMKLSAgICBmb3IgbW9kdWxlIGluIG1h
bmlmZXN0WyJtb2R1bGVzIl06Ci0gICAgICAgIGlmIG5vdCBtb2R1bGUuZ2V0KCJzb3VyY2VzIik6
Ci0gICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgIGlmIG1vZHVsZVsic291cmNlcyJdWzBd
WyJ0eXBlIl0gPT0gImdpdCI6Ci0gICAgICAgICAgICBpZiBwb3J0X25hbWUgPT0gbW9kdWxlWyJu
YW1lIl06Ci0gICAgICAgICAgICAgICAgcmVwbyA9ICJmaWxlOi8vIiArIHNvdXJjZV9yb290Ci0g
ICAgICAgICAgICAgICAgbW9kdWxlWyJzb3VyY2VzIl1bMF1bInVybCJdID0gcmVwbwotCi0gICAg
ICAgIGZvciBzb3VyY2UgaW4gbW9kdWxlWyJzb3VyY2VzIl06Ci0gICAgICAgICAgICBpZiBzb3Vy
Y2VbInR5cGUiXSA9PSAicGF0Y2giIG9yIChzb3VyY2VbInR5cGUiXSA9PSAiZmlsZSIgYW5kIHNv
dXJjZS5nZXQoJ3BhdGgnKSk6Ci0gICAgICAgICAgICAgICAgc291cmNlWyJwYXRoIl0gPSBvcy5w
YXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKG1hbmlmZXN0X3BhdGgpLCBzb3VyY2VbInBhdGgiXSkK
LQotICAgIHdpdGggb3BlbihvdXRmaWxlLCAidyIpIGFzIG9mOgotICAgICAgICBvZi53cml0ZShq
c29uLmR1bXBzKG1hbmlmZXN0LCBpbmRlbnQ9NCkpCi0KLSAgICByZXR1cm4gVHJ1ZQotCi0KIGNs
YXNzIEZsYXRwYWtPYmplY3Q6CiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgdXNlcik6CkBAIC0y
ODAsNDUgKzE1MCwyNSBAQCBjbGFzcyBGbGF0cGFrUGFja2FnZXMoRmxhdHBha09iamVjdCk6CiAK
ICAgICAgICAgc2VsZi5yZXBvcyA9IHJlcG9zCiAKLSAgICAgICAgc2VsZi5ydW50aW1lcyA9IHNl
bGYuX19kZXRlY3RfcnVudGltZXMoKQotICAgICAgICBzZWxmLmFwcHMgPSBzZWxmLl9fZGV0ZWN0
X2FwcHMoKQotICAgICAgICBzZWxmLnBhY2thZ2VzID0gc2VsZi5ydW50aW1lcyArIHNlbGYuYXBw
cwotCisgICAgICAgIHNlbGYucGFja2FnZXMgPSBzZWxmLl9fZGV0ZWN0X3J1bnRpbWVzKCkKIAog
ICAgIGRlZiBfX2RldGVjdF9wYWNrYWdlcyhzZWxmLCAqYXJncyk6CiAgICAgICAgIHBhY2tzID0g
W10KLSAgICAgICAgaWYgRkxBVFBBS19WRVJTSU9OWyJmbGF0cGFrIl0gPCAoMSwgMSwgMik6Ci0g
ICAgICAgICAgICBvdXQgPSBzZWxmLmZsYXRwYWsoImxpc3QiLCAiLWQiLCAqYXJncykKLSAgICAg
ICAgICAgIHBhY2thZ2VfZGVmcyA9IFtsaW5lIGZvciBsaW5lIGluIG91dC5zcGxpdCgiXG4iKSBp
ZiBsaW5lXQotICAgICAgICAgICAgZm9yIHBhY2thZ2VfZGVmIGluIHBhY2thZ2VfZGVmczoKLSAg
ICAgICAgICAgICAgICBzcGxpdGVkX3BhY2thZ2VkX2RlZiA9IHBhY2thZ2VfZGVmLnNwbGl0KCkK
LSAgICAgICAgICAgICAgICBuYW1lLCBhcmNoLCBicmFuY2ggPSBzcGxpdGVkX3BhY2thZ2VkX2Rl
ZlswXS5zcGxpdCgiLyIpCi0KLSAgICAgICAgICAgICAgICAjIElmIGluc3RhbGxlZCBmcm9tIGEg
ZmlsZSwgdGhlIHBhY2thZ2UgaXMgaW4gbm8gcmVwbwotICAgICAgICAgICAgICAgIHJlcG9fbmFt
ZSA9IHNwbGl0ZWRfcGFja2FnZWRfZGVmWzFdCi0gICAgICAgICAgICAgICAgcmVwbyA9IHNlbGYu
cmVwb3MucmVwb3MuZ2V0KHJlcG9fbmFtZSkKLQotICAgICAgICAgICAgICAgIHBhY2tzLmFwcGVu
ZChGbGF0cGFrUGFja2FnZShuYW1lLCBicmFuY2gsIHJlcG8sIGFyY2gpKQotICAgICAgICBlbHNl
OgotICAgICAgICAgICAgb3V0ID0gc2VsZi5mbGF0cGFrKCJsaXN0IiwgIi0tY29sdW1ucz1hcHBs
aWNhdGlvbixhcmNoLGJyYW5jaCxvcmlnaW4iLCAqYXJncykKLSAgICAgICAgICAgIHBhY2thZ2Vf
ZGVmcyA9IFtsaW5lIGZvciBsaW5lIGluIG91dC5zcGxpdCgiXG4iKSBpZiBsaW5lXQotICAgICAg
ICAgICAgZm9yIHBhY2thZ2VfZGVmIGluIHBhY2thZ2VfZGVmczoKLSAgICAgICAgICAgICAgICBu
YW1lLCBhcmNoLCBicmFuY2gsIG9yaWdpbiA9IHBhY2thZ2VfZGVmLnNwbGl0KCJcdCIpCisgICAg
ICAgIG91dCA9IHNlbGYuZmxhdHBhaygibGlzdCIsICItLWNvbHVtbnM9YXBwbGljYXRpb24sYXJj
aCxicmFuY2gsb3JpZ2luIiwgKmFyZ3MpCisgICAgICAgIHBhY2thZ2VfZGVmcyA9IFtsaW5lIGZv
ciBsaW5lIGluIG91dC5zcGxpdCgiXG4iKSBpZiBsaW5lXQorICAgICAgICBmb3IgcGFja2FnZV9k
ZWYgaW4gcGFja2FnZV9kZWZzOgorICAgICAgICAgICAgbmFtZSwgYXJjaCwgYnJhbmNoLCBvcmln
aW4gPSBwYWNrYWdlX2RlZi5zcGxpdCgiXHQiKQogCi0gICAgICAgICAgICAgICAgIyBJZiBpbnN0
YWxsZWQgZnJvbSBhIGZpbGUsIHRoZSBwYWNrYWdlIGlzIGluIG5vIHJlcG8KLSAgICAgICAgICAg
ICAgICByZXBvID0gc2VsZi5yZXBvcy5yZXBvcy5nZXQob3JpZ2luKQorICAgICAgICAgICAgIyBJ
ZiBpbnN0YWxsZWQgZnJvbSBhIGZpbGUsIHRoZSBwYWNrYWdlIGlzIGluIG5vIHJlcG8KKyAgICAg
ICAgICAgIHJlcG8gPSBzZWxmLnJlcG9zLnJlcG9zLmdldChvcmlnaW4pCiAKLSAgICAgICAgICAg
ICAgICBwYWNrcy5hcHBlbmQoRmxhdHBha1BhY2thZ2UobmFtZSwgYnJhbmNoLCByZXBvLCBhcmNo
KSkKKyAgICAgICAgICAgIHBhY2tzLmFwcGVuZChGbGF0cGFrUGFja2FnZShuYW1lLCBicmFuY2gs
IHJlcG8sIGFyY2gpKQogCiAgICAgICAgIHJldHVybiBwYWNrcwogCi0KICAgICBkZWYgX19kZXRl
Y3RfcnVudGltZXMoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9fZGV0ZWN0X3BhY2thZ2Vz
KCItLXJ1bnRpbWUiKQogCi0gICAgZGVmIF9fZGV0ZWN0X2FwcHMoc2VsZik6Ci0gICAgICAgIHJl
dHVybiBzZWxmLl9fZGV0ZWN0X3BhY2thZ2VzKCkKLQogICAgIGRlZiBfX2l0ZXJfXyhzZWxmKToK
ICAgICAgICAgZm9yIHBhY2thZ2UgaW4gc2VsZi5wYWNrYWdlczoKICAgICAgICAgICAgIHlpZWxk
IHBhY2thZ2UKQEAgLTMzMyw0NyArMTgzLDE2IEBAIGNsYXNzIEZsYXRwYWtSZXBvcyhGbGF0cGFr
T2JqZWN0KToKIAogICAgIGRlZiB1cGRhdGUoc2VsZik6CiAgICAgICAgIHNlbGYucmVwb3MgPSB7
fQotICAgICAgICBpZiBGTEFUUEFLX1ZFUlNJT05bImZsYXRwYWsiXSA8ICgxLCAxLCAyKToKLSAg
ICAgICAgICAgIG91dCA9IHNlbGYuZmxhdHBhaygicmVtb3RlLWxpc3QiLCAiLWQiKQotICAgICAg
ICAgICAgcmVtb3RlcyA9IFtsaW5lIGZvciBsaW5lIGluIG91dC5zcGxpdCgiXG4iKSBpZiBsaW5l
XQotICAgICAgICAgICAgZm9yIHJlcG8gaW4gcmVtb3RlczoKLSAgICAgICAgICAgICAgICBmb3Ig
Y29tcG9uZW50cyBpbiBbcmVwby5zcGxpdCgiICIpLCByZXBvLnNwbGl0KCJcdCIpXToKLSAgICAg
ICAgICAgICAgICAgICAgaWYgbGVuKGNvbXBvbmVudHMpID09IDE6Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBjb21wb25lbnRzID0gcmVwby5zcGxpdCgiXHQiKQotICAgICAgICAgICAgICAgICAg
ICBuYW1lID0gY29tcG9uZW50c1swXQotICAgICAgICAgICAgICAgICAgICBkZXNjID0gIiIKLSAg
ICAgICAgICAgICAgICAgICAgdXJsID0gTm9uZQotICAgICAgICAgICAgICAgICAgICBmb3IgZWxl
bSBpbiBjb21wb25lbnRzWzE6XToKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBlbGVt
OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAg
ICAgICAgICBwYXJzZWRfdXJsID0gdXJscGFyc2UoZWxlbSkKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIHBhcnNlZF91cmwuc2NoZW1lOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVy
bCA9IGVsZW0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawotCi0gICAgICAgICAg
ICAgICAgICAgICAgICBpZiBkZXNjOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2Mg
Kz0gIiAiCi0gICAgICAgICAgICAgICAgICAgICAgICBkZXNjICs9IGVsZW0KLQotICAgICAgICAg
ICAgICAgICAgICBpZiB1cmw6Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhawotCi0gICAg
ICAgICAgICAgICAgaWYgbm90IHVybDoKLSAgICAgICAgICAgICAgICAgICAgQ29uc29sZS5tZXNz
YWdlKCJObyB2YWxpZCBVUkkgZm91bmQgZm9yOiAlcyIsIHJlcG8pCi0gICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlCi0KLSAgICAgICAgICAgICAgICBzZWxmLnJlcG9zW25hbWVdID0gRmxhdHBh
a1JlcG8obmFtZSwgdXJsLCBkZXNjLCByZXBvcz1zZWxmKQotICAgICAgICBlbHNlOgotICAgICAg
ICAgICAgb3V0ID0gc2VsZi5mbGF0cGFrKCJyZW1vdGUtbGlzdCIsICItLWNvbHVtbnM9bmFtZSx0
aXRsZSx1cmwiKQotICAgICAgICAgICAgcmVtb3RlcyA9IFtsaW5lIGZvciBsaW5lIGluIG91dC5z
cGxpdCgiXG4iKSBpZiBsaW5lXQotICAgICAgICAgICAgZm9yIHJlbW90ZSBpbiByZW1vdGVzOgot
ICAgICAgICAgICAgICAgIG5hbWUsIHRpdGxlLCB1cmwgPSByZW1vdGUuc3BsaXQoIlx0IikKLSAg
ICAgICAgICAgICAgICBwYXJzZWRfdXJsID0gdXJscGFyc2UodXJsKQotICAgICAgICAgICAgICAg
IGlmIG5vdCBwYXJzZWRfdXJsLnNjaGVtZToKLSAgICAgICAgICAgICAgICAgICAgQ29uc29sZS5t
ZXNzYWdlKCJObyB2YWxpZCBVUkkgZm91bmQgZm9yOiAlcyIsIHJlbW90ZSkKLSAgICAgICAgICAg
ICAgICAgICAgY29udGludWUKKyAgICAgICAgb3V0ID0gc2VsZi5mbGF0cGFrKCJyZW1vdGUtbGlz
dCIsICItLWNvbHVtbnM9bmFtZSx0aXRsZSx1cmwiKQorICAgICAgICByZW1vdGVzID0gW2xpbmUg
Zm9yIGxpbmUgaW4gb3V0LnNwbGl0KCJcbiIpIGlmIGxpbmVdCisgICAgICAgIGZvciByZW1vdGUg
aW4gcmVtb3RlczoKKyAgICAgICAgICAgIG5hbWUsIHRpdGxlLCB1cmwgPSByZW1vdGUuc3BsaXQo
Ilx0IikKKyAgICAgICAgICAgIHBhcnNlZF91cmwgPSB1cmxwYXJzZSh1cmwpCisgICAgICAgICAg
ICBpZiBub3QgcGFyc2VkX3VybC5zY2hlbWU6CisgICAgICAgICAgICAgICAgQ29uc29sZS5tZXNz
YWdlKCJObyB2YWxpZCBVUkkgZm91bmQgZm9yOiAlcyIsIHJlbW90ZSkKKyAgICAgICAgICAgICAg
ICBjb250aW51ZQogCi0gICAgICAgICAgICAgICAgc2VsZi5yZXBvc1tuYW1lXSA9IEZsYXRwYWtS
ZXBvKG5hbWUsIHVybCwgdGl0bGUsIHJlcG9zPXNlbGYpCisgICAgICAgICAgICBzZWxmLnJlcG9z
W25hbWVdID0gRmxhdHBha1JlcG8obmFtZT1uYW1lLCB1cmw9dXJsLCBkZXNjPXRpdGxlLCByZXBv
cz1zZWxmKQogCiAgICAgICAgIHNlbGYucGFja2FnZXMgPSBGbGF0cGFrUGFja2FnZXMoc2VsZikK
IApAQCAtNDIwLDcgKzIzOSwxMCBAQCBjbGFzcyBGbGF0cGFrUmVwbyhGbGF0cGFrT2JqZWN0KToK
ICAgICAgICAgaWYgcmVwb19maWxlIGFuZCBub3QgdXJsOgogICAgICAgICAgICAgcmVwbyA9IGNv
bmZpZ3BhcnNlci5Db25maWdQYXJzZXIoKQogICAgICAgICAgICAgcmVwby5yZWFkKHNlbGYucmVw
b19maWxlLm5hbWUpCi0gICAgICAgICAgICBzZWxmLnVybCA9IHJlcG9bIkZsYXRwYWsgUmVwbyJd
WyJVcmwiXQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYudXJsID0gcmVw
b1siRmxhdHBhayBSZXBvIl1bIlVybCJdCisgICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJy
b3I6CisgICAgICAgICAgICAgICAgc2VsZi51cmwgPSByZXBvLmdldCgiRmxhdHBhayBSZXBvIiwg
IlVybCIpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBhc3NlcnQgdXJsCiAKQEAgLTQ0OSw5
ICsyNzEsMTIgQEAgY2xhc3MgRmxhdHBha1BhY2thZ2UoRmxhdHBha09iamVjdCk6CiAgICAgICAg
IHNlbGYuYXJjaCA9IGFyY2gKICAgICAgICAgc2VsZi5oYXNoID0gaGFzaAogCi0gICAgZGVmIF9f
c3RyX18oc2VsZik6CisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgogICAgICAgICByZXR1cm4gIiVz
LyVzLyVzICVzIiAlIChzZWxmLm5hbWUsIHNlbGYuYXJjaCwgc2VsZi5icmFuY2gsIHNlbGYucmVw
by5uYW1lKQogCisgICAgZGVmIF9fc3RyX18oc2VsZik6CisgICAgICAgIHJldHVybiAiJXMvJXMv
JXMiICUgKHNlbGYubmFtZSwgc2VsZi5hcmNoLCBzZWxmLmJyYW5jaCkKKwogICAgIGRlZiBpc19p
bnN0YWxsZWQoc2VsZiwgYnJhbmNoKToKICAgICAgICAgaWYgbm90IHNlbGYucmVwbzoKICAgICAg
ICAgICAgICMgQnVuZGxlIGluc3RhbGxlZCBmcm9tIGZpbGUKQEAgLTQ5MSw3ICszMTYsNyBAQCBj
bGFzcyBGbGF0cGFrUGFja2FnZShGbGF0cGFrT2JqZWN0KToKICAgICAgICAgZXh0cmFfYXJncy5h
cHBlbmQoIi0tYXNzdW1leWVzIikKIAogICAgICAgICBzZWxmLmZsYXRwYWsoInVwZGF0ZSIsIHNl
bGYubmFtZSwgc2VsZi5icmFuY2gsIHNob3dfb3V0cHV0PVRydWUsCi0gICAgICAgICAgICAgICAg
ICAgICpleHRyYV9hcmdzLCBjb21tZW50PWNvbW1lbnQpCisgICAgICAgICAgICAgICAgICAgICAq
ZXh0cmFfYXJncywgY29tbWVudD1jb21tZW50KQogCiAKIEBjb250ZXh0bWFuYWdlcgpAQCAtNTE5
LDU0ICszNDQsNTggQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgZ2VuZXJhbC5hZGRf
YXJndW1lbnQoJy0tdmVyYm9zZScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGhlbHA9J1Nob3cgZGVidWcgbWVzc2FnZScpCiAgICAgICAgIGdlbmVy
YWwuYWRkX2FyZ3VtZW50KCItLWRlYnVnIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBo
ZWxwPSJDb21waWxlIHdpdGggRGVidWcgY29uZmlndXJhdGlvbiwgYWxzbyBpbnN0YWxscyBTZGsg
ZGVidWcgc3ltYm9sZXMuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0
b3JlX3RydWUiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJDb21waWxlIHdp
dGggRGVidWcgY29uZmlndXJhdGlvbiwgYWxzbyBpbnN0YWxscyBTZGsgZGVidWcgc3ltYm9sZXMu
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIikKICAg
ICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi0tcmVsZWFzZSIsIGhlbHA9IkNvbXBpbGUgd2l0
aCBSZWxlYXNlIGNvbmZpZ3VyYXRpb24uIiwgYWN0aW9uPSJzdG9yZV90cnVlIikKICAgICAgICAg
Z2VuZXJhbC5hZGRfYXJndW1lbnQoJy0tcGxhdGZvcm0nLCBhY3Rpb249J3N0b3JlJywgaGVscD0n
UGxhdGZvcm0gdG8gdXNlIChlLmcuLCAibWFjLWxpb24iKScpLAogICAgICAgICBnZW5lcmFsLmFk
ZF9hcmd1bWVudCgnLS1ndGsnLCBhY3Rpb249J3N0b3JlX2NvbnN0JywgZGVzdD0ncGxhdGZvcm0n
LCBjb25zdD0nZ3RrJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nQWxpYXMg
Zm9yIC0tcGxhdGZvcm09Z3RrJykKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoJy0td3Bl
JywgYWN0aW9uPSdzdG9yZV9jb25zdCcsIGRlc3Q9J3BsYXRmb3JtJywgY29uc3Q9J3dwZScsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0oJ0FsaWFzIGZvciAtLXBsYXRmb3JtPXdw
ZScpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSgnQWxpYXMgZm9yIC0tcGxh
dGZvcm09d3BlJykpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItbmYiLCAiLS1uby1m
bGF0cGFrLXVwZGF0ZSIsIGRlc3Q9Im5vX2ZsYXRwYWtfdXBkYXRlIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhlbHA9IkRvIG5vdCB1cGRhdGUgZmxhcHRhayBydW50aW1lL3NkayIpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGhlbHA9IkRvIG5vdCB1cGRhdGUgZmxhcHRhayBydW50aW1lL3NkayIp
CiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItdSIsICItLXVwZGF0ZSIsIGRlc3Q9InVw
ZGF0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJVcGRhdGUgdGhlIHJ1bnRpbWUvc2Rr
L2FwcCBhbmQgcmVidWlsZCB0aGUgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgaWYgbmVlZGVkIikK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iVXBkYXRlIHRoZSBydW50aW1lL3Nkay9hcHAg
YW5kIHJlYnVpbGQgdGhlIGRldmVsb3BtZW50IGVudmlyb25tZW50IGlmIG5lZWRlZCIpCiAgICAg
ICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItYiIsICItLWJ1aWxkLXdlYmtpdCIsIGRlc3Q9ImJ1
aWxkX3dlYmtpdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90
cnVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJGb3JjZSByZWJ1aWxkaW5n
IHRoZSBhcHAuIikKLSAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi1iYSIsICItLWJ1aWxk
LWFsbCIsIGRlc3Q9ImJ1aWxkX2FsbCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0
aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJGb3Jj
ZSByZWJ1aWxkaW5nIHRoZSBhcHAgYW5kIGl0cyBkZXBlbmRlbmNpZXMuIikKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaGVscD0iRm9yY2UgcmVidWlsZGluZyB0aGUgYXBwLiIpCisgICAgICAgIGdl
bmVyYWwuYWRkX2FyZ3VtZW50KCItYmdzdCIsICItLWJ1aWxkLWdzdCIsIGRlc3Q9ImJ1aWxkX2dz
dCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkZvcmNlIHJlYnVpbGRpbmcgZ3N0LWJ1
aWxkLCByZXBvc2l0b3J5IHBhdGggaXMgZGVmaW5lZCBieSB0aGUgYEdTVF9CVUlMRF9QQVRIYCBl
bnZpcm9ubWVudCB2YXJpYWJsZS4iKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLXEi
LCAiLS1xdWlldCIsIGRlc3Q9InF1aWV0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBh
Y3Rpb249InN0b3JlX3RydWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkRv
IG5vdCBwcmludCBhbnl0aGluZyIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlv
bj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkRvIG5v
dCBwcmludCBhbnl0aGluZyIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItdCIsICIt
LXRlc3RzIiwgZGVzdD0icnVuX3Rlc3RzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBu
YXJncz1hcmdwYXJzZS5SRU1BSU5ERVIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVs
cD0iUnVuIExheW91dFRlc3RzIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFyZ3M9
YXJncGFyc2UuUkVNQUlOREVSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJS
dW4gTGF5b3V0VGVzdHMiKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLWMiLCAiLS1j
b21tYW5kIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXJncz1hcmdwYXJzZS5SRU1B
SU5ERVIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iVGhlIGNvbW1hbmQgdG8g
cnVuIGluIHRoZSBzYW5kYm94IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0PSJ1
c2VyX2NvbW1hbmQiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXJncz1hcmdwYXJz
ZS5SRU1BSU5ERVIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlRoZSBjb21t
YW5kIHRvIHJ1biBpbiB0aGUgc2FuZGJveCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRlc3Q9InVzZXJfY29tbWFuZCIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCctLWF2
YWlsYWJsZScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9ImNoZWNrX2F2YWlsYWJsZSIsIGhl
bHA9J0NoZWNrIGlmIHJlcXVpcmVkIGRlcGVuZGVuY2llcyBhcmUgYXZhaWxhYmxlLicpLAotICAg
ICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLS11c2UtaWNlY3JlYW0iLCBoZWxwPSJVc2UgdGhl
IGRpc3RyaWJ1dGVkIGljZWNyZWFtIChpY2VjYykgY29tcGlsZXIuIiwgYWN0aW9uPSJzdG9yZV90
cnVlIikKLSAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi0td3BlLWV4dGVuc2lvbiIsIGFj
dGlvbj0ic3RvcmUiLCBkZXN0PSJ3cGVfZXh0ZW5zaW9uIiwgaGVscD0iV1BFIEV4dGVuc2lvbiB0
byBlbmFibGUiKQorICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLS11c2UtaWNlY3JlYW0i
LCBkZXN0PSJ1c2VfaWNlY3JlYW0iLCBoZWxwPSJVc2UgdGhlIGRpc3RyaWJ1dGVkIGljZWNyZWFt
IChpY2VjYykgY29tcGlsZXIuIiwgYWN0aW9uPSJzdG9yZV90cnVlIikKIAogICAgICAgICBkZWJ1
Z29wdGlvbnMgPSBwYXJzZXIuYWRkX2FyZ3VtZW50X2dyb3VwKCJEZWJ1Z2dpbmciKQogICAgICAg
ICBkZWJ1Z29wdGlvbnMuYWRkX2FyZ3VtZW50KCItLWdkYiIsIG5hcmdzPSI/IiwgaGVscD0iQWN0
aXZhdGUgZ2RiLCBwYXNzaW5nIGV4dHJhIGFyZ3MgdG8gaXQgaWYgd2FudGVkLiIpCisgICAgICAg
IGRlYnVnb3B0aW9ucy5hZGRfYXJndW1lbnQoIi0tZ2RiLXN0YWNrLXRyYWNlIiwgZGVzdD0iZ2Ri
X3N0YWNrX3RyYWNlIiwgbmFyZ3M9Ij8iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGhlbHA9IkR1bXAgdGhlIHN0YWNrdHJhY2UgdG8gc3Rkb3V0LiBUaGUgYXJndW1lbnQgaXMg
YSB0aW1lc3RhbXAgdG8gYmUgcGFyc2VkIGJ5IGNvcmVkdW1wY3RsLiIpCiAgICAgICAgIGRlYnVn
b3B0aW9ucy5hZGRfYXJndW1lbnQoIi1tIiwgIi0tY29yZWR1bXBjdGwtbWF0Y2hlcyIsIGRlZmF1
bHQ9IiIsIGhlbHA9J0FyZ3VtZW50cyB0byBwYXNzIHRvIGdkYi4nKQogCiAgICAgICAgIGJ1aWxk
b3B0aW9ucyA9IHBhcnNlci5hZGRfYXJndW1lbnRfZ3JvdXAoIkV4dHJhIGJ1aWxkIGFyZ3VtZW50
cyIpCiAgICAgICAgIGJ1aWxkb3B0aW9ucy5hZGRfYXJndW1lbnQoIi0tbWFrZWFyZ3MiLCBoZWxw
PSJPcHRpb25hbCBNYWtlZmlsZSBmbGFncyIpCiAgICAgICAgIGJ1aWxkb3B0aW9ucy5hZGRfYXJn
dW1lbnQoIi0tY21ha2VhcmdzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVs
cD0iT25lIG9yIG1vcmUgb3B0aW9uYWwgQ01ha2UgZmxhZ3MgKGUuZy4gLS1jbWFrZWFyZ3M9XCIt
REZPTz1iYXIgLURDTUFLRV9QUkVGSVhfUEFUSD0vdXNyL2xvY2FsXCIpIikKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJPbmUgb3IgbW9yZSBvcHRpb25hbCBDTWFrZSBm
bGFncyAoZS5nLiAtLWNtYWtlYXJncz1cIi1ERk9PPWJhciAtRENNQUtFX1BSRUZJWF9QQVRIPS91
c3IvbG9jYWxcIikiKQogCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLWNsZWFuIiwg
ZGVzdD0iY2xlYW4iLCBhY3Rpb249InN0b3JlX3RydWUiLAotICAgICAgICAgICAgaGVscD0iQ2xl
YW4gcHJldmlvdXMgYnVpbGRzIGFuZCByZXN0YXJ0IGZyb20gc2NyYXRjaCIpCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGhlbHA9IkNsZWFuIHByZXZpb3VzIGJ1aWxkcyBhbmQgcmVzdGFy
dCBmcm9tIHNjcmF0Y2giKQogCiAgICAgICAgIF8sIHNlbGYuYXJncyA9IHBhcnNlci5wYXJzZV9r
bm93bl9hcmdzKGFyZ3M9YXJncywgbmFtZXNwYWNlPXNlbGYpCiAKKyAgICAgICAgaWYgb3MuZW52
aXJvbi5nZXQoJ0NDQUNIRV9QUkVGSVgnKSA9PSAnaWNlY2MnOgorICAgICAgICAgICAgc2VsZi51
c2VfaWNlY3JlYW0gPSBUcnVlCisKICAgICAgICAgcmV0dXJuIHNlbGYKIAogICAgIGRlZiBfX2lu
aXRfXyhzZWxmKToKQEAgLTU3NCwxNSArNDAzLDE0IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAg
ICAgICAgIHNlbGYucnVudGltZSA9IE5vbmUKICAgICAgICAgc2VsZi5sb2NhbGUgPSBOb25lCiAg
ICAgICAgIHNlbGYuc2RrID0gTm9uZQotICAgICAgICBzZWxmLnNka19kZWJ1ZyA9IE5vbmUKICAg
ICAgICAgc2VsZi5hcHAgPSBOb25lCiAKICAgICAgICAgc2VsZi52ZXJib3NlID0gRmFsc2UKICAg
ICAgICAgc2VsZi5xdWlldCA9IEZhbHNlCi0gICAgICAgIHNlbGYucGFja3MgPSBbXQogICAgICAg
ICBzZWxmLnVwZGF0ZSA9IEZhbHNlCiAgICAgICAgIHNlbGYuYXJncyA9IFtdCiAgICAgICAgIHNl
bGYuZmluaXNoX2FyZ3MgPSBOb25lCisgICAgICAgIHNlbGYuZ2RiX3N0YWNrX3RyYWNlID0gRmFs
c2UKIAogICAgICAgICBzZWxmLm5vX2ZsYXRwYWtfdXBkYXRlID0gRmFsc2UKICAgICAgICAgc2Vs
Zi5yZWxlYXNlID0gRmFsc2UKQEAgLTU5NCw5ICs0MjIsMTAgQEAgY2xhc3MgV2Via2l0RmxhdHBh
azoKICAgICAgICAgc2VsZi5zYW5kYm94X3NvdXJjZV9yb290ID0gIi9hcHAvd2Via2l0IgogCiAg
ICAgICAgIHNlbGYuYnVpbGRfd2Via2l0ID0gRmFsc2UKKyAgICAgICAgc2VsZi5idWlsZF9nc3Qg
PSBGYWxzZQogICAgICAgICBzZWxmLmJ1aWxkX2FsbCA9IEZhbHNlCiAKLSAgICAgICAgc2VsZi5z
ZGtfYnJhbmNoID0gTm9uZQorICAgICAgICBzZWxmLnNka19icmFuY2ggPSAiMC4xIgogICAgICAg
ICBzZWxmLnBsYXRmb3JtID0gImd0ayIKICAgICAgICAgc2VsZi5idWlsZF90eXBlID0gIlJlbGVh
c2UiCiAgICAgICAgIHNlbGYubWFuaWZlc3RfcGF0aCA9IE5vbmUKQEAgLTYwNyw3ICs0MzYsNiBA
QCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICBzZWxmLmFwcF9tb2R1bGUgPSBOb25lCiAg
ICAgICAgIHNlbGYuZmxhdHBha19kZWZhdWx0X2FyZ3MgPSBbXQogICAgICAgICBzZWxmLmNoZWNr
X2F2YWlsYWJsZSA9IEZhbHNlCi0gICAgICAgIHNlbGYud3BlX2V4dGVuc2lvbiA9IE5vbmUKIAog
ICAgICAgICAjIERlZmF1bHQgYXBwbGljYXRpb24gdG8gcnVuIGluIHRoZSBzYW5kYm94CiAgICAg
ICAgIHNlbGYuY29tbWFuZCA9IE5vbmUKQEAgLTYyNSw3ICs0NTMsNyBAQCBjbGFzcyBXZWJraXRG
bGF0cGFrOgogICAgICAgICBzZWxmLmljY192ZXJzaW9uID0gTm9uZQogCiAgICAgZGVmIGNsZWFu
X2FyZ3Moc2VsZik6Ci0gICAgICAgIG9zLmVudmlyb25bIkZMQVRQQUtfVVNFUl9ESVIiXSA9IG9z
LmVudmlyb24uZ2V0KCJXRUJLSVRfRkxBVFBBS19VU0VSX0RJUiIsIG9zLnBhdGgucmVhbHBhdGgo
b3MucGF0aC5qb2luKHNjcmlwdGRpciwgIi4uLy4uL1dlYktpdEJ1aWxkIiwgIlVzZXJGbGF0cGFr
IikpKQorICAgICAgICBvcy5lbnZpcm9uWyJGTEFUUEFLX1VTRVJfRElSIl0gPSBvcy5lbnZpcm9u
LmdldCgiV0VCS0lUX0ZMQVRQQUtfVVNFUl9ESVIiLCBGTEFUUEFLX1VTRVJfRElSX1BBVEgpCiAg
ICAgICAgIHRyeToKICAgICAgICAgICAgIG9zLm1ha2VkaXJzKG9zLmVudmlyb25bIkZMQVRQQUtf
VVNFUl9ESVIiXSkKICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKQEAgLTYzOCw2ICs0NjYs
NyBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICAgICAgZmFjdG9yeSA9IFBvcnRGYWN0
b3J5KFN5c3RlbUhvc3QoKSkKICAgICAgICAgICAgIHBvcnQgPSBmYWN0b3J5LmdldChzZWxmLnBs
YXRmb3JtKQogICAgICAgICAgICAgc2VsZi5kZWJ1ZyA9IHBvcnQuZGVmYXVsdF9jb25maWd1cmF0
aW9uKCkgPT0gIkRlYnVnIgorCiAgICAgICAgIHNlbGYuYnVpbGRfdHlwZSA9ICJEZWJ1ZyIgaWYg
c2VsZi5kZWJ1ZyBlbHNlICJSZWxlYXNlIgogCiAgICAgICAgIHNlbGYucGxhdGZvcm0gPSBzZWxm
LnBsYXRmb3JtLnVwcGVyKCkKQEAgLTY0Niw2NiArNDc1LDMzIEBAIGNsYXNzIFdlYmtpdEZsYXRw
YWs6CiAgICAgICAgICAgICBzZWxmLmdkYiA9ICIiCiAKICAgICAgICAgc2VsZi5jb21tYW5kID0g
IiVzICVzICVzIiAlIChvcy5wYXRoLmpvaW4oc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LAotICAg
ICAgICAgICAgIlRvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93c2VyIiksCi0gICAgICAgICAgICAi
LS0iICsgc2VsZi5wbGF0Zm9ybS5sb3dlcigpLAotICAgICAgICAgICAgIiAtLWRlYnVnIiBpZiBz
ZWxmLmRlYnVnIGVsc2UgIiAtLXJlbGVhc2UiKQotCi0gICAgICAgIHNlbGYubmFtZSA9ICJvcmcu
d2Via2l0LiVzIiAlIHNlbGYucGxhdGZvcm0KLQotICAgICAgICBpZiBzZWxmLndwZV9leHRlbnNp
b246Ci0gICAgICAgICAgICBtYW5pZmVzdF9maWxlbmFtZSA9IFdQRV9NQU5JRkVTVF9NQVBbc2Vs
Zi53cGVfZXh0ZW5zaW9uXQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgbWFuaWZlc3RfZmls
ZW5hbWUgPSAib3JnLndlYmtpdC5XZWJLaXQueWFtbCIKLSAgICAgICAgc2VsZi5tYW5pZmVzdF9w
YXRoID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihzY3JpcHRkaXIsICcuLi9mbGF0cGFr
LycpICsgbWFuaWZlc3RfZmlsZW5hbWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJUb29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlciIpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItLSIgKyBzZWxmLnBsYXRmb3JtLmxv
d2VyKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAtLWRlYnVnIiBp
ZiBzZWxmLmRlYnVnIGVsc2UgIiAtLXJlbGVhc2UiKQogCi0gICAgICAgIHNlbGYuYnVpbGRfbmFt
ZSA9IHNlbGYubmFtZSArICItZ2VuZXJhdGVkIgorICAgICAgICBzZWxmLmZsYXRwYWtfYnVpbGRf
cGF0aCA9IG9zLmVudmlyb25bIkZMQVRQQUtfVVNFUl9ESVIiXQogCiAgICAgICAgIGJ1aWxkX3Jv
b3QgPSBvcy5wYXRoLmpvaW4oc2VsZi5zb3VyY2Vfcm9vdCwgJ1dlYktpdEJ1aWxkJykKLSAgICAg
ICAgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGggPSBvcy5wYXRoLmpvaW4oYnVpbGRfcm9vdCwgc2Vs
Zi5wbGF0Zm9ybSwgIkZsYXRwYWtUcmVlIiArIHNlbGYuYnVpbGRfdHlwZSkKLSAgICAgICAgc2Vs
Zi5jYWNoZV9wYXRoID0gb3MucGF0aC5qb2luKGJ1aWxkX3Jvb3QsICJGbGF0cGFrQ2FjaGUiKQog
ICAgICAgICBzZWxmLmJ1aWxkX3BhdGggPSBvcy5wYXRoLmpvaW4oYnVpbGRfcm9vdCwgc2VsZi5w
bGF0Zm9ybSwgc2VsZi5idWlsZF90eXBlKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBvcy5t
YWtlZGlycyhzZWxmLmJ1aWxkX3BhdGgpCiAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAg
ICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVFWElTVDoKICAgICAgICAgICAgICAgICBy
YWlzZSBlCi0gICAgICAgIHNlbGYuY29uZmlnX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5idWls
ZF9wYXRoLCAnd2Via2l0X2ZsYXRwYWtfY29uZmlnLmpzb24nKQorICAgICAgICBzZWxmLmNvbmZp
Z19maWxlID0gb3MucGF0aC5qb2luKHNlbGYuZmxhdHBha19idWlsZF9wYXRoLCAnd2Via2l0X2Zs
YXRwYWtfY29uZmlnLmpzb24nKQogCiAgICAgICAgIENvbnNvbGUucXVpZXQgPSBzZWxmLnF1aWV0
CiAgICAgICAgIGlmIG5vdCBjaGVja19mbGF0cGFrKCk6CiAgICAgICAgICAgICByZXR1cm4gRmFs
c2UKIAotICAgICAgICByZXBvcyA9IEZsYXRwYWtSZXBvcygpCi0gICAgICAgIHNlbGYuc2RrX3Jl
cG8gPSByZXBvcy5hZGQoCi0gICAgICAgICAgICBGbGF0cGFrUmVwbygiZmxhdGh1YiIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICB1cmw9Imh0dHBzOi8vZGwuZmxhdGh1Yi5vcmcvcmVwby8iLAot
ICAgICAgICAgICAgICAgICAgICAgICAgcmVwb19maWxlPSJodHRwczovL2RsLmZsYXRodWIub3Jn
L3JlcG8vZmxhdGh1Yi5mbGF0cGFrcmVwbyIpKQotCi0gICAgICAgIG1hbmlmZXN0ID0gbG9hZF9t
YW5pZmVzdChzZWxmLm1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZT1zZWxmLm5hbWUpCi0gICAgICAg
IGlmIG5vdCBtYW5pZmVzdDoKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICBzZWxm
LmZpbmlzaF9hcmdzID0gW10KKyAgICAgICAgc2VsZi5yZXBvcyA9IEZsYXRwYWtSZXBvcygpCisg
ICAgICAgIHNlbGYuc2RrX3JlcG8gPSBzZWxmLnJlcG9zLmFkZCgKKyAgICAgICAgICAgIEZsYXRw
YWtSZXBvKCJ3ZWJraXQtc2RrIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVybD0iaHR0cHM6
Ly9zb2Z0d2FyZS5pZ2FsaWEuY29tL3dlYmtpdC1zZGstcmVwby8iLAorICAgICAgICAgICAgICAg
ICAgICAgICAgcmVwb19maWxlPSJodHRwczovL3NvZnR3YXJlLmlnYWxpYS5jb20vZmxhdHBhay1y
ZWZzL3dlYmtpdC1zZGsuZmxhdHBha3JlcG8iKQorICAgICAgICApCiAKLSAgICAgICAgc2VsZi5h
cHAgPSBtYW5pZmVzdFsnYXBwLWlkJ10KLQotICAgICAgICBzZWxmLnNka19icmFuY2ggPSBtYW5p
ZmVzdFsicnVudGltZS12ZXJzaW9uIl0KLSAgICAgICAgc2VsZi5maW5pc2hfYXJncyA9IG1hbmlm
ZXN0LmdldCgiZmluaXNoLWFyZ3MiLCBbXSkKLSAgICAgICAgc2VsZi5maW5pc2hfYXJncyA9IHJl
bW92ZV9leHRlbnNpb25fcG9pbnRzKHNlbGYuZmluaXNoX2FyZ3MpCi0gICAgICAgIHNlbGYucnVu
dGltZSA9IEZsYXRwYWtQYWNrYWdlKG1hbmlmZXN0WydydW50aW1lJ10sIHNlbGYuc2RrX2JyYW5j
aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywg
Ing4Nl82NCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc2g9bWFu
aWZlc3QuZ2V0KCJydW50aW1lLWhhc2giKSkKLSAgICAgICAgc2VsZi5sb2NhbGUgPSBGbGF0cGFr
UGFja2FnZShtYW5pZmVzdFsncnVudGltZSddICsgJy5Mb2NhbGUnLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX2JyYW5jaCwgc2VsZi5zZGtfcmVwbywgIng4
Nl82NCIpCi0gICAgICAgIHNlbGYuc2RrID0gRmxhdHBha1BhY2thZ2UobWFuaWZlc3RbJ3Nkaydd
LCBzZWxmLnNka19icmFuY2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vs
Zi5zZGtfcmVwbywgIng4Nl82NCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aGFzaD1tYW5pZmVzdC5nZXQoInNkay1oYXNoIikpCi0gICAgICAgIHNlbGYucGFja3MgPSBbc2Vs
Zi5ydW50aW1lLCBzZWxmLmxvY2FsZSwgc2VsZi5zZGtdCi0KLSAgICAgICAgaWYgc2VsZi5kZWJ1
ZzoKLSAgICAgICAgICAgIHNlbGYuc2RrX2RlYnVnID0gRmxhdHBha1BhY2thZ2UobWFuaWZlc3Rb
J3NkayddICsgJy5EZWJ1ZycsIHNlbGYuc2RrX2JyYW5jaCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCi0gICAgICAgICAgICBz
ZWxmLnBhY2tzLmFwcGVuZChzZWxmLnNka19kZWJ1ZykKLSAgICAgICAgc2VsZi5tYW5pZmVzdF9n
ZW5lcmF0ZWRfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLmNhY2hlX3BhdGgsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5idWlsZF9uYW1l
ICsgIi5qc29uIikKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgd2l0aCBvcGVuKHNlbGYuY29u
ZmlnX2ZpbGUpIGFzIGNvbmZpZzoKICAgICAgICAgICAgICAgICBqc29uX2NvbmZpZyA9IGpzb24u
bG9hZChjb25maWcpCkBAIC03MTUsNyArNTExLDQ1IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAK
ICAgICAgICAgcmV0dXJuIFRydWUKIAorICAgIGRlZiBzZXR1cF9idWlsZGRpcihzZWxmLCAqKmt3
YXJncyk6CisgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihzZWxmLmZsYXRw
YWtfYnVpbGRfcGF0aCwgIm1ldGFkYXRhIikpOgorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAg
ICAgc2VsZi5zZGtfcmVwby5mbGF0cGFrKCJidWlsZC1pbml0IiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNlbGYuZmxhdHBha19idWlsZF9wYXRoLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIm9yZy53ZWJraXQuV2Via2l0IiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0cihzZWxmLnNkayksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIo
c2VsZi5ydW50aW1lKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrLmJy
YW5jaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfb3V0cHV0PSJzdGRvdXQi
IGluIGt3YXJncy5rZXlzKCkpCisKKyAgICBkZWYgc2V0dXBfZ3N0YnVpbGQoc2VsZiwgYnVpbGRp
bmcpOgorICAgICAgICBnc3RfZGlyID0gb3MuZW52aXJvbi5nZXQoJ0dTVF9CVUlMRF9QQVRIJykK
KyAgICAgICAgaWYgbm90IGdzdF9kaXI6CisgICAgICAgICAgICByZXR1cm4gW10KKworICAgICAg
ICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKGdzdF9kaXIsICdnc3QtZW52LnB5
JykpOgorICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdHU1RfQlVJTERfUEFUSCBzZXQg
dG8gJXMgYnV0IGl0IGRvZXNuXCd0IHNlZW0gdG8gYmUgYSB2YWxpZCBgZ3N0LWJ1aWxkYCBjaGVj
a291dC4nICUgZ3N0X2RpcikKKworICAgICAgICBnc3RfYnVpbGRkaXIgPSBvcy5wYXRoLmpvaW4o
c2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCAiV2ViS2l0QnVpbGQiLCAnZ3N0LWJ1aWxkJykKKyAg
ICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihzZWxmLnNvdXJjZV9yb290
LCAnV2ViS2l0QnVpbGQnLCAnZ3N0LWJ1aWxkJywgJ2J1aWxkLm5pbmphJykpOgorICAgICAgICAg
ICAgaWYgbm90IGJ1aWxkaW5nOgorICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcign
VHJ5aW5nIHRvIGVudGVyIGdzdC1idWlsZCBlbnYgZnJvbSAlcyBidXQgaXQgaXMgbm90IGJ1aWx0
LCBtYWtlIHN1cmUgdG8gcmVidWlsZCB3ZWJraXQuJyAlIGdzdF9kaXIpCisKKyAgICAgICAgICAg
IENvbnNvbGUubWVzc2FnZSgiUnVubmluZyBtZXNvbiBmb3IgYGdzdC1idWlsZGAgJXMgIiwgZ3N0
X2RpcikKKyAgICAgICAgICAgIHNlbGYucnVuX2luX3NhbmRib3goJ21lc29uJywgZ3N0X2Rpciwg
Z3N0X2J1aWxkZGlyLCBidWlsZGluZ19nc3Q9VHJ1ZSkKKworICAgICAgICBpZiBub3QgYnVpbGRp
bmc6CisgICAgICAgICAgICByZXR1cm4gW29zLnBhdGguam9pbihnc3RfZGlyLCAnZ3N0LWVudi5w
eScpLCAnLS1idWlsZGRpcicsIGdzdF9idWlsZGRpciwgJy0tc3JjZGlyJywgZ3N0X2Rpcl0KKwor
ICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIkJ1aWxkaW5nIGBnc3QtYnVpbGRgICVzICIsIGdzdF9k
aXIpCisgICAgICAgIGlmIHNlbGYucnVuX2luX3NhbmRib3goJ25pbmphJywgJy1DJywgZ3N0X2J1
aWxkZGlyLCBidWlsZGluZ19nc3Q9VHJ1ZSkgIT0gMDoKKyAgICAgICAgICAgIHJhaXNlIFJ1bnRp
bWVFcnJvcignRXJyb3Igd2hpbGUgYnVpbGRpbmcgZ3N0LWJ1aWxkLicpCisKKyAgICAgICAgcmV0
dXJuIFtvcy5wYXRoLmpvaW4oZ3N0X2RpciwgJ2dzdC1lbnYucHknKSwgJy0tYnVpbGRkaXInLCBn
c3RfYnVpbGRkaXIsICctLXNyY2RpcicsIGdzdF9kaXJdCisKICAgICBkZWYgcnVuX2luX3NhbmRi
b3goc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgc2VsZi5zZXR1cF9idWlsZGRpcihz
dGRvdXQ9a3dhcmdzLmdldCgic3Rkb3V0Iiwgc3lzLnN0ZG91dCkpCiAgICAgICAgIGN3ZCA9IGt3
YXJncy5wb3AoImN3ZCIsIE5vbmUpCiAgICAgICAgIGV4dHJhX2Vudl92YXJzID0ga3dhcmdzLnBv
cCgiZW52Iiwge30pCiAgICAgICAgIHN0ZG91dCA9IGt3YXJncy5wb3AoInN0ZG91dCIsIHN5cy5z
dGRvdXQpCkBAIC03MjMsNiArNTU3LDcgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKIAogICAgICAg
ICBpZiBub3QgaXNpbnN0YW5jZShhcmdzLCBsaXN0KToKICAgICAgICAgICAgIGFyZ3MgPSBsaXN0
KGFyZ3MpCisKICAgICAgICAgaWYgYXJnczoKICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3Rz
KGFyZ3NbMF0pOgogICAgICAgICAgICAgICAgIGNvbW1hbmQgPSBvcy5wYXRoLm5vcm1wYXRoKG9z
LnBhdGguYWJzcGF0aChhcmdzWzBdKSkKQEAgLTczMCw5NCArNTY1LDEyMiBAQCBjbGFzcyBXZWJr
aXRGbGF0cGFrOgogICAgICAgICAgICAgICAgIGFyZ3NbMF0gPSBjb21tYW5kLnJlcGxhY2Uoc2Vs
Zi5zb3VyY2Vfcm9vdCwgc2VsZi5zYW5kYm94X3NvdXJjZV9yb290KQogICAgICAgICAgICAgaWYg
YXJnc1swXS5lbmRzd2l0aCgiYnVpbGQtd2Via2l0Iik6CiAgICAgICAgICAgICAgICAgYXJncy5h
cHBlbmQoIi0tcHJlZml4PS9hcHAiKQorICAgICAgICBidWlsZGluZyA9IG9zLnBhdGguYmFzZW5h
bWUoYXJnc1swXSkuc3RhcnRzd2l0aCgiYnVpbGQiKQogCiAgICAgICAgIHNhbmRib3hfYnVpbGRf
cGF0aCA9IG9zLnBhdGguam9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsICJXZWJLaXRCdWls
ZCIsIHNlbGYuYnVpbGRfdHlwZSkKLSAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFy
eUZpbGUobW9kZT0idyIpIGFzIHRtcHNjcmlwdDoKLSAgICAgICAgICAgIGZsYXRwYWtfY29tbWFu
ZCA9IFsiZmxhdHBhayIsICJidWlsZCIsICItLWRpZS13aXRoLXBhcmVudCIsCi0gICAgICAgICAg
ICAgICAgIi0tYmluZC1tb3VudD0vcnVuL3NobT0vZGV2L3NobSIsCi0gICAgICAgICAgICAgICAg
IyBXb3JrYXJvdW5kIGZvciBodHRwczovL3dlYmtpdC5vcmcvYi8xODczODQgdG8gaGF2ZSBvdXIg
b3duIHBlcmwgbW9kdWxlcyB1c2FibGUgaW5zaWRlIHRoZSBzYW5kYm94Ci0gICAgICAgICAgICAg
ICAgIyBhcyBzZXR0aW5nIHRoZSBQRVJMNUxJQiBlbnZ2YXIgd29uJ3Qgd29yayBpbnNpZGUgYXBh
Y2hlIChhbmQgZm9yIHNjcmlwdHMgdXNpbmcgYHBlcmwgLVRgYCkuCi0gICAgICAgICAgICAgICAg
Ii0tYmluZC1tb3VudD0vcnVuL2hvc3QvJXM9JXMiICUgKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwg
dGVtcGZpbGUuZ2V0dGVtcGRpcigpKSwKLSAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PSVz
PSVzIiAlIChzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsIHNlbGYuc291cmNlX3Jvb3QpLAorICAg
ICAgICBmbGF0cGFrX2NvbW1hbmQgPSBbImZsYXRwYWsiLCAiYnVpbGQiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIi0tZGllLXdpdGgtcGFyZW50IiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICItLXRhbGstbmFtZT1vcmcuYTExeS5CdXMiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIi0tdGFsay1uYW1lPW9yZy5ndGsudmZzIiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICItLXRhbGstbmFtZT1vcmcuZ3RrLnZmcy4qIiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICItLWJpbmQtbW91bnQ9L3J1bi9zaG09L2Rldi9zaG0iLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIyBXb3JrYXJvdW5kIGZvciBodHRwczovL3dlYmtpdC5vcmcvYi8xODczODQgdG8g
aGF2ZSBvdXIgb3duIHBlcmwgbW9kdWxlcyB1c2FibGUgaW5zaWRlIHRoZSBzYW5kYm94CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAjIGFzIHNldHRpbmcgdGhlIFBFUkw1TElCIGVudnZhciB3
b24ndCB3b3JrIGluc2lkZSBhcGFjaGUgKGFuZCBmb3Igc2NyaXB0cyB1c2luZyBgcGVybCAtVGBg
KS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9L3J1bi9ob3N0LyVz
PSVzIiAlICh0ZW1wZmlsZS5nZXR0ZW1wZGlyKCksIHRlbXBmaWxlLmdldHRlbXBkaXIoKSksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PSVzPSVzIiAlIChzZWxmLnNh
bmRib3hfc291cmNlX3Jvb3QsIHNlbGYuc291cmNlX3Jvb3QpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIyBXZSBtb3VudCBXZWJLaXRCdWlsZC9QT1JUTkFNRS9CdWlsZFR5cGUgdG8gL2Fw
cC93ZWJraXQvV2ViS2l0QnVpbGQvQnVpbGRUeXBlCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAjIHNvIHdlIGNhbiBidWlsZCBXUEUgYW5kIEdUSyBpbiBhIHNhbWUgc291cmNlIHRyZWUuCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PSVzPSVzIiAlIChzYW5kYm94
X2J1aWxkX3BhdGgsIHNlbGYuYnVpbGRfcGF0aCldCisKKyAgICAgICAgZm9yd2FyZGVkID0gewor
ICAgICAgICAgICAgIldFQktJVF9UT1BfTEVWRUwiOiAiL2FwcC8iLAorICAgICAgICAgICAgIlRF
U1RfUlVOTkVSX0lOSkVDVEVEX0JVTkRMRV9GSUxFTkFNRSI6IG9zLnBhdGguam9pbihzYW5kYm94
X2J1aWxkX3BhdGgsICJsaWIvbGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLnNvIiksCisgICAg
ICAgIH0KKworICAgICAgICBpZiBub3QgYnVpbGRpbmc6CisgICAgICAgICAgICBmbGF0cGFrX2Nv
bW1hbmQuZXh0ZW5kKFsKKyAgICAgICAgICAgICAgICAiLS1kZXZpY2U9YWxsIiwKKyAgICAgICAg
ICAgICAgICAiLS1kZXZpY2U9ZHJpIiwKKyAgICAgICAgICAgICAgICAiLS1maWxlc3lzdGVtPWhv
c3QiLAorICAgICAgICAgICAgICAgICItLXNoYXJlPWlwYyIsCisgICAgICAgICAgICAgICAgIi0t
c2hhcmU9bmV0d29yayIsCisgICAgICAgICAgICAgICAgIi0tc29ja2V0PXB1bHNlYXVkaW8iLAor
ICAgICAgICAgICAgICAgICItLXNvY2tldD1zeXN0ZW0tYnVzIiwKKyAgICAgICAgICAgICAgICAi
LS1zb2NrZXQ9d2F5bGFuZCIsCisgICAgICAgICAgICAgICAgIi0tc29ja2V0PXgxMSIsCisgICAg
ICAgICAgICAgICAgIi0tc3lzdGVtLXRhbGstbmFtZT1vcmcuYTExeS5CdXMiLAorICAgICAgICAg
ICAgICAgICItLXN5c3RlbS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkdlb0NsdWUyIiwKICAg
ICAgICAgICAgICAgICAiLS10YWxrLW5hbWU9b3JnLmExMXkuQnVzIiwKLSAgICAgICAgICAgICAg
ICAiLS10YWxrLW5hbWU9b3JnLmd0ay52ZnMiLAotICAgICAgICAgICAgICAgICItLXRhbGstbmFt
ZT1vcmcuZ3RrLnZmcy4qIiwKLSAgICAgICAgICAgICAgICAjIFdlIG1vdW50IFdlYktpdEJ1aWxk
L1BPUlROQU1FL0J1aWxkVHlwZSB0byAvYXBwL3dlYmtpdC9XZWJLaXRCdWlsZC9CdWlsZFR5cGUK
LSAgICAgICAgICAgICAgICAjIHNvIHdlIGNhbiBidWlsZCBXUEUgYW5kIEdUSyBpbiBhIHNhbWUg
c291cmNlIHRyZWUuCi0gICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0lcz0lcyIgJSAoc2Fu
ZGJveF9idWlsZF9wYXRoLCBzZWxmLmJ1aWxkX3BhdGgpXQotCi0gICAgICAgICAgICBmb3J3YXJk
ZWQgPSB7Ci0gICAgICAgICAgICAgICAgIldFQktJVF9UT1BfTEVWRUwiOiAiL2FwcC8iLAotICAg
ICAgICAgICAgICAgICJURVNUX1JVTk5FUl9JTkpFQ1RFRF9CVU5ETEVfRklMRU5BTUUiOiAiL2Fw
cC93ZWJraXQvbGliL2xpYlRlc3RSdW5uZXJJbmplY3RlZEJ1bmRsZS5zbyIsCisgICAgICAgICAg
ICAgICAgIi0tdGFsay1uYW1lPW9yZy5mcmVlZGVza3RvcC5GbGF0cGFrIgorICAgICAgICAgICAg
XSkKKworICAgICAgICAgICAgZm9yd2FyZGVkLnVwZGF0ZSh7CisgICAgICAgICAgICAgICAgIlRa
IjogIlBTVDhQRFQiLAorICAgICAgICAgICAgICAgICJMQU5HIjogImVuX1VTLlVURi04IgorICAg
ICAgICAgICAgfSkKKworICAgICAgICBlbnZfdmFyX3ByZWZpeGVzX3RvX2tlZXAgPSBbCisgICAg
ICAgICAgICAiRyIsCisgICAgICAgICAgICAiR0lHQUNBR0UiLAorICAgICAgICAgICAgIkdTVCIs
CisgICAgICAgICAgICAiR1RLIiwKKyAgICAgICAgICAgICJJQ0VDQyIsCisgICAgICAgICAgICAi
SlNDIiwKKyAgICAgICAgICAgICJXRUJLSVQiLAorICAgICAgICAgICAgIldFQktJVDIiLAorICAg
ICAgICAgICAgIldQRSIsCisgICAgICAgIF0KKworICAgICAgICBlbnZfdmFyX3N1ZmZpeGVzX3Rv
X2tlZXAgPSBbCisgICAgICAgICAgICAiSlNDX0FSR1MiLAorICAgICAgICAgICAgIldFQktJVF9B
UkdTIiwKKyAgICAgICAgXQorCisgICAgICAgIGVudl92YXJzX3RvX2tlZXAgPSBbCisgICAgICAg
ICAgICAiQ0MiLAorICAgICAgICAgICAgIkNDQUNIRV9QUkVGSVgiLAorICAgICAgICAgICAgIkNG
TEFHUyIsCisgICAgICAgICAgICAiQ1hYIiwKKyAgICAgICAgICAgICJDWFhGTEFHUyIsCisgICAg
ICAgICAgICAiRElTUExBWSIsCisgICAgICAgICAgICAiSmF2YVNjcmlwdENvcmVVc2VKSVQiLAor
ICAgICAgICAgICAgIkxBTkciLAorICAgICAgICAgICAgIkxERkxBR1MiLAorICAgICAgICAgICAg
Ik1hbGxvYyIsCisgICAgICAgICAgICAiTlVNQkVSX09GX1BST0NFU1NPUlMiLAorICAgICAgICAg
ICAgIlFNTDJfSU1QT1JUX1BBVEgiLAorICAgICAgICAgICAgIldBWUxBTkRfRElTUExBWSIsCisg
ICAgICAgICAgICAiV0FZTEFORF9TT0NLRVQiLAorICAgICAgICBdCisKKyAgICAgICAgZW52X3Zh
cnMgPSBvcy5lbnZpcm9uCisgICAgICAgIGVudl92YXJzLnVwZGF0ZShleHRyYV9lbnZfdmFycykK
KyAgICAgICAgZm9yIGVudnZhciwgdmFsdWUgaW4gZW52X3ZhcnMuaXRlbXMoKToKKyAgICAgICAg
ICAgIHZhcl90b2tlbnMgPSBlbnZ2YXIuc3BsaXQoIl8iKQorICAgICAgICAgICAgaWYgdmFyX3Rv
a2Vuc1swXSBpbiBlbnZfdmFyX3ByZWZpeGVzX3RvX2tlZXAgb3IgZW52dmFyIGluIGVudl92YXJz
X3RvX2tlZXAgb3IgdmFyX3Rva2Vuc1stMV0gaW4gZW52X3Zhcl9zdWZmaXhlc190b19rZWVwOgor
ICAgICAgICAgICAgICAgIGZvcndhcmRlZFtlbnZ2YXJdID0gdmFsdWUKKworICAgICAgICBpZiBz
ZWxmLnVzZV9pY2VjcmVhbToKKyAgICAgICAgICAgIF9sb2cuZGVidWcoJ0VuYWJsaW5nIHRoZSBp
Y2VjcmVhbSBjb21waWxlcicpCisgICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQuZXh0ZW5kKFsi
LS1zaGFyZT1uZXR3b3JrIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIt
LWJpbmQtbW91bnQ9L3Zhci9ydW4vaWNlY2M9L3Zhci9ydW4vaWNlY2MiXSkKKworICAgICAgICAg
ICAgbl9jb3JlcyA9IG11bHRpcHJvY2Vzc2luZy5jcHVfY291bnQoKSAqIDMKKyAgICAgICAgICAg
IF9sb2cuZGVidWcoJ0ZvbGxvd2luZyBpY2VjcmVhbSByZWNvbW1lbmRhdGlvbiBmb3IgdGhlIG51
bWJlciBvZiBjb3JlcyB0byB1c2U6ICVkJyAlIG5fY29yZXMpCisgICAgICAgICAgICBmb3J3YXJk
ZWQudXBkYXRlKHsKKyAgICAgICAgICAgICAgICAiQ0NBQ0hFX1BSRUZJWCI6ICJpY2VjYyIsCiAg
ICAgICAgICAgICAgICAgIklDRUNDX1ZFUlNJT04iOiBzZWxmLmljY192ZXJzaW9uLAotICAgICAg
ICAgICAgfQotCi0gICAgICAgICAgICBlbnZfdmFyX3ByZWZpeGVzX3RvX2tlZXAgPSBbCi0gICAg
ICAgICAgICAgICAgIkdTVCIsCi0gICAgICAgICAgICAgICAgIkdUSyIsCi0gICAgICAgICAgICAg
ICAgIkciLAotICAgICAgICAgICAgICAgICJKU0MiLAotICAgICAgICAgICAgICAgICJXRUJLSVQi
LAotICAgICAgICAgICAgICAgICJXRUJLSVQyIiwKLSAgICAgICAgICAgICAgICAiV1BFIiwKLSAg
ICAgICAgICAgICAgICAiR0lHQUNBR0UiLAotICAgICAgICAgICAgXQotCi0gICAgICAgICAgICBl
bnZfdmFyc190b19rZWVwID0gWwotICAgICAgICAgICAgICAgICJKYXZhU2NyaXB0Q29yZVVzZUpJ
VCIsCi0gICAgICAgICAgICAgICAgIk1hbGxvYyIsCi0gICAgICAgICAgICAgICAgIldBWUxBTkRf
RElTUExBWSIsCi0gICAgICAgICAgICAgICAgIldBWUxBTkRfU09DS0VUIiwKLSAgICAgICAgICAg
ICAgICAiRElTUExBWSIsCi0gICAgICAgICAgICAgICAgIkxBTkciLAotICAgICAgICAgICAgICAg
ICJOVU1CRVJfT0ZfUFJPQ0VTU09SUyIsCi0gICAgICAgICAgICAgICAgIkNDQUNIRV9QUkVGSVgi
LAotICAgICAgICAgICAgICAgICJRTUwyX0lNUE9SVF9QQVRIIiwKLSAgICAgICAgICAgIF0KLQot
ICAgICAgICAgICAgaWYgc2VsZi51c2VfaWNlY3JlYW06Ci0gICAgICAgICAgICAgICAgX2xvZy5k
ZWJ1ZygnRW5hYmxpbmcgdGhlIGljZWNyZWFtIGNvbXBpbGVyJykKLSAgICAgICAgICAgICAgICBm
b3J3YXJkZWRbIkNDQUNIRV9QUkVGSVgiXSA9ICJpY2VjYyIKLSAgICAgICAgICAgICAgICBpZiBu
b3Qgb3MuZW52aXJvbi5nZXQoJ05VTUJFUl9PRl9QUk9DRVNTT1JTJyk6Ci0gICAgICAgICAgICAg
ICAgICAgIG5fY29yZXMgPSBtdWx0aXByb2Nlc3NpbmcuY3B1X2NvdW50KCkgKiAzCi0gICAgICAg
ICAgICAgICAgICAgIF9sb2cuZGVidWcoJ0ZvbGxvdyBpY2VjcmVhbSByZWNvbW1lbmRhdGlvbiBm
b3IgdGhlIG51bWJlciBvZiBjb3JlcyB0byB1c2U6ICVkJyAlIG5fY29yZXMpCi0gICAgICAgICAg
ICAgICAgICAgIGZvcndhcmRlZFsiTlVNQkVSX09GX1BST0NFU1NPUlMiXSA9IG5fY29yZXMKLQot
ICAgICAgICAgICAgZW52X3ZhcnMgPSBvcy5lbnZpcm9uCi0gICAgICAgICAgICBlbnZfdmFycy51
cGRhdGUoZXh0cmFfZW52X3ZhcnMpCi0gICAgICAgICAgICBmb3IgZW52dmFyLCB2YWx1ZSBpbiBl
bnZfdmFycy5pdGVtcygpOgotICAgICAgICAgICAgICAgIGlmIGVudnZhci5zcGxpdCgiXyIpWzBd
IGluIGVudl92YXJfcHJlZml4ZXNfdG9fa2VlcCBvciBlbnZ2YXIgaW4gZW52X3ZhcnNfdG9fa2Vl
cDoKLSAgICAgICAgICAgICAgICAgICAgZm9yd2FyZGVkW2VudnZhcl0gPSB2YWx1ZQotCi0gICAg
ICAgICAgICBmb3IgZW52dmFyLCB2YWx1ZSBpbiBmb3J3YXJkZWQuaXRlbXMoKToKLSAgICAgICAg
ICAgICAgICBmbGF0cGFrX2NvbW1hbmQuYXBwZW5kKCItLWVudj0lcz0lcyIgJSAoZW52dmFyLCB2
YWx1ZSkpCi0KLSAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZCArPSBzZWxmLmZpbmlzaF9hcmdz
ICsgZXh0cmFfZmxhdHBha19hcmdzICsgW3NlbGYuZmxhdHBha19idWlsZF9wYXRoXQotCi0gICAg
ICAgICAgICBzaGVsbF9zdHJpbmcgPSAiIgotICAgICAgICAgICAgaWYgYXJnczoKLSAgICAgICAg
ICAgICAgICBpZiBjd2Q6Ci0gICAgICAgICAgICAgICAgICAgIHNoZWxsX3N0cmluZyA9ICdjZCAi
JXMiICYmICIlcyInICUgKGN3ZCwgJyIgIicuam9pbihhcmdzKSkKLSAgICAgICAgICAgICAgICBl
bHNlOgotICAgICAgICAgICAgICAgICAgICBzaGVsbF9zdHJpbmcgPSAnIiVzIicgJSAoJyIgIicu
am9pbihhcmdzKSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2hlbGxfc3Ry
aW5nID0gc2VsZi5jb21tYW5kCi0gICAgICAgICAgICAgICAgaWYgc2VsZi5hcmdzOgotICAgICAg
ICAgICAgICAgICAgICBzaGVsbF9zdHJpbmcgKz0gJyAiJXMiJyAlICciICInLmpvaW4oc2VsZi5h
cmdzKQorICAgICAgICAgICAgICAgICJOVU1CRVJfT0ZfUFJPQ0VTU09SUyI6IG5fY29yZXMsCisg
ICAgICAgICAgICB9KQogCi0gICAgICAgICAgICB0bXBzY3JpcHQud3JpdGUoc2hlbGxfc3RyaW5n
KQotICAgICAgICAgICAgdG1wc2NyaXB0LmZsdXNoKCkKKyAgICAgICAgZm9yIGVudnZhciwgdmFs
dWUgaW4gZm9yd2FyZGVkLml0ZW1zKCk6CisgICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQuYXBw
ZW5kKCItLWVudj0lcz0lcyIgJSAoZW52dmFyLCB2YWx1ZSkpCiAKLSAgICAgICAgICAgIF9sb2cu
ZGVidWcoJ1J1bm5pbmcgaW4gc2FuZGJveDogIiVzIiAlc1xuJyAlICgnIiAiJy5qb2luKGZsYXRw
YWtfY29tbWFuZCksIHNoZWxsX3N0cmluZykpCi0gICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQu
ZXh0ZW5kKFsnc2gnLCAiL3J1bi9ob3N0LyIgKyB0bXBzY3JpcHQubmFtZV0pCisgICAgICAgIGdz
dF9lbnYgPSBbXQorICAgICAgICBpZiBub3Qga3dhcmdzLmdldCgnYnVpbGRpbmdfZ3N0Jyk6Cisg
ICAgICAgICAgICBnc3RfZW52ID0gc2VsZi5zZXR1cF9nc3RidWlsZChidWlsZGluZykKKyAgICAg
ICAgZmxhdHBha19jb21tYW5kICs9IHNlbGYuZmluaXNoX2FyZ3MgKyBleHRyYV9mbGF0cGFrX2Fy
Z3MgKyBcCisgICAgICAgICAgICBbc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGhdICsgZ3N0X2VudiAr
IGFyZ3MKIAotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hl
Y2tfY2FsbChmbGF0cGFrX2NvbW1hbmQsIHN0ZG91dD1zdGRvdXQpCi0gICAgICAgICAgICBleGNl
cHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICBz
eXMuc3RkZXJyLndyaXRlKHN0cihlKSArICJcbiIpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGUu
cmV0dXJuY29kZQotICAgICAgICAgICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgotICAgICAg
ICAgICAgICAgIHJldHVybiAwCisgICAgICAgIF9sb2cuZGVidWcoJ1J1bm5pbmcgaW4gc2FuZGJv
eDogJXNcbicgJSAnICcuam9pbihmbGF0cGFrX2NvbW1hbmQpKQorCisgICAgICAgIHRyeToKKyAg
ICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChmbGF0cGFrX2NvbW1hbmQsIHN0ZG91dD1z
dGRvdXQpCisgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBl
OgorICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZShzdHIoZSkgKyAiXG4iKQorICAgICAgICAg
ICAgcmV0dXJuIGUucmV0dXJuY29kZQorICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6
CisgICAgICAgICAgICByZXR1cm4gMAogCiAgICAgICAgIHJldHVybiAwCiAKQEAgLTgzNSw2NCAr
Njk4LDQxIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgICAgICAgICAgc2h1dGlsLnJt
dHJlZShzZWxmLmJ1aWxkX3BhdGgpCiAKICAgICAgICAgaWYgc2VsZi51cGRhdGU6Ci0gICAgICAg
ICAgICBDb25zb2xlLm1lc3NhZ2UoIlVwZGF0aW5nIEZsYXRwYWsgZW52aXJvbm1lbnQgZm9yICVz
ICglcykiICUgKAotICAgICAgICAgICAgICAgIHNlbGYucGxhdGZvcm0sIHNlbGYuYnVpbGRfdHlw
ZSkpCisgICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIlVwZGF0aW5nIEZsYXRwYWsgJXMgZW52
aXJvbm1lbnQiICUgc2VsZi5idWlsZF90eXBlKQogICAgICAgICAgICAgaWYgbm90IHNlbGYubm9f
ZmxhdHBha191cGRhdGU6CiAgICAgICAgICAgICAgICAgc2VsZi51cGRhdGVfYWxsKCkKIAogICAg
ICAgICByZXR1cm4gc2VsZi5zZXR1cF9kZXZfZW52KCkKIAogICAgIGRlZiBoYXNfZW52aXJvbm1l
bnQoc2VsZik6Ci0gICAgICAgIHJldHVybiBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oc2Vs
Zi5idWlsZF9wYXRoLCBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkpCisgICAgICAgIHJldHVybiBv
cy5wYXRoLmV4aXN0cyhzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkKIAogICAgIGRlZiBzYXZlX2Nv
bmZpZyhzZWxmKToKICAgICAgICAgd2l0aCBvcGVuKHNlbGYuY29uZmlnX2ZpbGUsICd3JykgYXMg
Y29uZmlnOgogICAgICAgICAgICAganNvbl9jb25maWcgPSB7J2ljZWNjX3ZlcnNpb24nOiBzZWxm
LmljY192ZXJzaW9ufQogICAgICAgICAgICAganNvbi5kdW1wKGpzb25fY29uZmlnLCBjb25maWcp
CiAKLSAgICBkZWYgc2V0dXBfY2NhY2hlKHNlbGYpOgotICAgICAgICBmb3IgY29tcGlsZXIgaW4g
WyJjKysiLCAiY2MiLCAiY2xhbmciLCAiY2xhbmcrKyIsICJnKysiLCAiZ2NjIl06Ci0gICAgICAg
ICAgICBzZWxmLnJ1bl9pbl9zYW5kYm94KCJsbiIsICItcyIsICIuLi8uLi91c3IvYmluL2NjYWNo
ZSIsIGNvbXBpbGVyLCBjd2Q9Ii9hcHAvYmluIikKLQogICAgIGRlZiBzZXR1cF9pY2VjYyhzZWxm
KToKICAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBhcyB0bXBmaWxl
OgotICAgICAgICAgICAgc2VsZi5ydW5faW5fc2FuZGJveCgnaWNlY2MnLCAnLS1idWlsZC1uYXRp
dmUnLCBzdGRvdXQ9dG1wZmlsZSwgY3dkPXNlbGYuYnVpbGRfcGF0aCkKKyAgICAgICAgICAgIHNl
bGYucnVuX2luX3NhbmRib3goJ2ljZWNjJywgJy0tYnVpbGQtbmF0aXZlJywgc3Rkb3V0PXRtcGZp
bGUsIGN3ZD1zZWxmLnNvdXJjZV9yb290KQogICAgICAgICAgICAgdG1wZmlsZS5mbHVzaCgpCiAg
ICAgICAgICAgICB0bXBmaWxlLnNlZWsoMCkKICAgICAgICAgICAgIGljY192ZXJzaW9uX2ZpbGVu
YW1lLCA9IHJlLmZpbmRhbGwocicuKmNyZWF0aW5nICguKiknLCB0bXBmaWxlLnJlYWQoKSkKLSAg
ICAgICAgICAgIHNlbGYuaWNjX3ZlcnNpb24gPSBvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF9wYXRo
LCBpY2NfdmVyc2lvbl9maWxlbmFtZSkKKyAgICAgICAgICAgIHNlbGYuaWNjX3ZlcnNpb24gPSBv
cy5wYXRoLmpvaW4oc2VsZi5zb3VyY2Vfcm9vdCwgaWNjX3ZlcnNpb25fZmlsZW5hbWUpCiAKICAg
ICBkZWYgc2V0dXBfZGV2X2VudihzZWxmKToKLSAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3Rz
KG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3BhdGgsIHNlbGYuZmxhdHBha19idWlsZF9wYXRoKSkg
XAotICAgICAgICAgICAgICAgIG9yIHNlbGYudXBkYXRlIG9yIHNlbGYuYnVpbGRfYWxsOgorICAg
ICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYuZmxhdHBha19idWls
ZF9wYXRoLCAicnVudGltZSIsICJvcmcud2Via2l0LlNkayIpKSBvciBzZWxmLnVwZGF0ZSBvciBz
ZWxmLmJ1aWxkX2FsbDoKICAgICAgICAgICAgIHNlbGYuaW5zdGFsbF9hbGwoKQotICAgICAgICAg
ICAgQ29uc29sZS5tZXNzYWdlKCJCdWlsZGluZyAlcyBhbmQgZGVwZW5kZW5jaWVzIGluICVzIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm5hbWUsIHNlbGYuZmxhdHBha19idWls
ZF9wYXRoKQotCi0gICAgICAgICAgICAjIENyZWF0ZSBlbnZpcm9ubWVudCBkaXJzIGlmIG5lY2Vz
c2FyeQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIG9zLm1ha2VkaXJzKG9zLnBh
dGguZGlybmFtZShzZWxmLm1hbmlmZXN0X2dlbmVyYXRlZF9wYXRoKSkKLSAgICAgICAgICAgIGV4
Y2VwdCBPU0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5F
RVhJU1Q6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIGUKLSAgICAgICAgICAgIGlmIG5vdCBl
eHBhbmRfbWFuaWZlc3Qoc2VsZi5tYW5pZmVzdF9wYXRoLCBzZWxmLm1hbmlmZXN0X2dlbmVyYXRl
ZF9wYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm5hbWUsIHNl
bGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgc2VsZi5jb21tYW5kKToKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gMQotCi0gICAgICAgICAgICBidWlsZGVyX2FyZ3MgPSBbImZsYXRwYWstYnVpbGRlciIs
ICItLWRpc2FibGUtcm9maWxlcy1mdXNlIiwgIi0tc3RhdGUtZGlyIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzZWxmLmNhY2hlX3BhdGgsICItLWNjYWNoZSIsIHNlbGYuZmxhdHBha19i
dWlsZF9wYXRoLCAiLS1mb3JjZS1jbGVhbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2VsZi5tYW5pZmVzdF9nZW5lcmF0ZWRfcGF0aF0KLSAgICAgICAgICAgIGJ1aWxkZXJfYXJncy5h
cHBlbmQoIi0tYnVpbGQtb25seSIpCi0gICAgICAgICAgICBidWlsZGVyX2FyZ3MuYXBwZW5kKCIt
LXN0b3AtYXQ9JXMiICUgc2VsZi5hcHApCi0KLSAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tf
Y2FsbChidWlsZGVyX2FyZ3MpCi0gICAgICAgICAgICBzZWxmLnNldHVwX2NjYWNoZSgpCiAgICAg
ICAgICAgICBzZWxmLnNldHVwX2ljZWNjKCkKICAgICAgICAgICAgIHNlbGYuc2F2ZV9jb25maWco
KQogCiAgICAgICAgIGJ1aWxkX3R5cGUgPSAiLS1kZWJ1ZyIgaWYgc2VsZi5kZWJ1ZyBlbHNlICIt
LXJlbGVhc2UiCisgICAgICAgIGlmIHNlbGYuYnVpbGRfZ3N0OgorICAgICAgICAgICAgc2VsZi5z
ZXR1cF9nc3RidWlsZChUcnVlKQorCiAgICAgICAgIGlmIHNlbGYuYnVpbGRfd2Via2l0OgotICAg
ICAgICAgICAgYnVpbGRlciA9IFtvcy5wYXRoLmpvaW4oc2VsZi5zYW5kYm94X3NvdXJjZV9yb290
LCAnVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQnKSwKKyAgICAgICAgICAgIGJ1aWxkZXIgPSBb
CisgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwg
J1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0JyksCiAgICAgICAgICAgICAgICAgYnVpbGRfdHlw
ZSwgJy0tJyArIHNlbGYucGxhdGZvcm0ubG93ZXIoKV0KICAgICAgICAgICAgIGlmIHNlbGYubWFr
ZWFyZ3M6CiAgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoIi0tbWFrZWFyZ3M9JXMiICUg
c2VsZi5tYWtlYXJncykKQEAgLTkwMywyNyArNzQzLDU2IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6
CiAKICAgICAgICAgICAgIGlmIHJlczoKICAgICAgICAgICAgICAgICByZXR1cm4gcmVzCi0gICAg
ICAgIGVsc2U6Ci0gICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIlVzaW5nICVzIHByZWZpeCBp
biAlcyIsIHNlbGYubmFtZSwgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgpCiAKICAgICAgICAgaWYg
c2VsZi5ydW5fdGVzdHMgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICB0ZXN0X2xhdW5jaGVyID0g
W29zLnBhdGguam9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsICdUb29scy9TY3JpcHRzL3J1
bi13ZWJraXQtdGVzdHMnKSwKLSAgICAgICAgICAgICAgICBidWlsZF90eXBlLCAnLS0nICsgc2Vs
Zi5wbGF0Zm9ybS5sb3dlcigpXSArIHNlbGYucnVuX3Rlc3RzCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGJ1aWxkX3R5cGUsICctLScgKyBzZWxmLnBsYXRmb3JtLmxvd2VyKCldICsgc2Vs
Zi5ydW5fdGVzdHMKICAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1bl9pbl9zYW5kYm94KCp0ZXN0
X2xhdW5jaGVyKQotICAgICAgICBlbGlmIHNlbGYuZ2RiIGlzIG5vdCBOb25lOgorICAgICAgICBl
bGlmIHNlbGYuZ2RiIG9yIHNlbGYuZ2RiX3N0YWNrX3RyYWNlOgogICAgICAgICAgICAgcmV0dXJu
IHNlbGYucnVuX2dkYigpCiAgICAgICAgIGVsaWYgc2VsZi51c2VyX2NvbW1hbmQ6CiAgICAgICAg
ICAgICByZXR1cm4gc2VsZi5ydW5faW5fc2FuZGJveCgqc2VsZi51c2VyX2NvbW1hbmQpCi0gICAg
ICAgIGVsaWYgbm90IHNlbGYudXBkYXRlIGFuZCBub3Qgc2VsZi5idWlsZF93ZWJraXQ6CisgICAg
ICAgIGVsaWYgbm90IHNlbGYudXBkYXRlIGFuZCBub3Qgc2VsZi5idWlsZF93ZWJraXQgYW5kIG5v
dCBzZWxmLmJ1aWxkX2dzdDoKICAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1bl9pbl9zYW5kYm94
KCkKIAogICAgICAgICByZXR1cm4gMAogCisgICAgZGVmIF9nZXRfcGFja2FnZXMoc2VsZik6Cisg
ICAgICAgIHNlbGYucnVudGltZSA9IEZsYXRwYWtQYWNrYWdlKCJvcmcud2Via2l0LlBsYXRmb3Jt
Iiwgc2VsZi5zZGtfYnJhbmNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzZWxmLnNka19yZXBvLCAieDg2XzY0IikKKyAgICAgICAgc2VsZi5sb2NhbGUgPSBGbGF0cGFr
UGFja2FnZSgib3JnLndlYmtpdC5QbGF0Zm9ybS5Mb2NhbGUiLCBzZWxmLnNka19icmFuY2gsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82
NCIpCisgICAgICAgIHNlbGYuc2RrID0gRmxhdHBha1BhY2thZ2UoIm9yZy53ZWJraXQuU2RrIiwg
c2VsZi5zZGtfYnJhbmNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu
c2RrX3JlcG8sICJ4ODZfNjQiKQorICAgICAgICBwYWNrYWdlcyA9IFtzZWxmLnJ1bnRpbWUsIHNl
bGYubG9jYWxlLCBzZWxmLnNka10KKworICAgICAgICAjIEZJWE1FOiBGb3IgdW5rbm93biByZWFz
b25zLCB0aGUgR0wgZXh0ZW5zaW9uIG5lZWRzIHRvIGJlIGV4cGxpY2l0ZWx5CisgICAgICAgICMg
aW5zdGFsbGVkIGZvciBGbGF0cGFrIDEuMi54IHRvIGJlIGFibGUgdG8gbWFrZSB1c2Ugb2YgaXQu
IFNlZW1zIGxpa2UKKyAgICAgICAgIyBpdCdzIG5vdCBjb3JyZWN0bHkgaW5oZXJpdGluZyBpdCBm
cm9tIHRoZSBTREsuCisgICAgICAgIHNlbGYuZmxhdGh1Yl9yZXBvID0gc2VsZi5yZXBvcy5hZGQo
CisgICAgICAgICAgICBGbGF0cGFrUmVwbygiZmxhdGh1YiIsIHJlcG9fZmlsZT0iaHR0cHM6Ly9k
bC5mbGF0aHViLm9yZy9yZXBvL2ZsYXRodWIuZmxhdHBha3JlcG8iKQorICAgICAgICApCisgICAg
ICAgIGdsX2V4dGVuc2lvbiA9IEZsYXRwYWtQYWNrYWdlKCJvcmcuZnJlZWRlc2t0b3AuUGxhdGZv
cm0uR0wuZGVmYXVsdCIsICIxOS4wOCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbGYuZmxhdGh1Yl9yZXBvLCAieDg2XzY0IikKKyAgICAgICAgcGFja2FnZXMuYXBw
ZW5kKGdsX2V4dGVuc2lvbikKKworICAgICAgICBpZiBzZWxmLmRlYnVnOgorICAgICAgICAgICAg
c2RrX2RlYnVnID0gRmxhdHBha1BhY2thZ2UoJ29yZy53ZWJraXQuU2RrLkRlYnVnJywgc2VsZi5z
ZGtfYnJhbmNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5z
ZGtfcmVwbywgIng4Nl82NCIpCisgICAgICAgICAgICBwYWNrYWdlcy5hcHBlbmQoc2RrX2RlYnVn
KQorICAgICAgICByZXR1cm4gcGFja2FnZXMKKwogICAgIGRlZiBpbnN0YWxsX2FsbChzZWxmKToK
LSAgICAgICAgZm9yIHBhY2thZ2UgaW4gc2VsZi5wYWNrczoKKyAgICAgICAgaWYgb3MucGF0aC5l
eGlzdHMob3MucGF0aC5qb2luKHNlbGYuZmxhdHBha19idWlsZF9wYXRoLCAicnVudGltZSIsICJv
cmcud2Via2l0LlNkayIpKToKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBDb25zb2xlLm1l
c3NhZ2UoIkluc3RhbGxpbmcgJXMgZGVwZW5kZW5jaWVzIGluICVzIiwgc2VsZi5idWlsZF90eXBl
LCBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkKKyAgICAgICAgZm9yIHBhY2thZ2UgaW4gc2VsZi5f
Z2V0X3BhY2thZ2VzKCk6CiAgICAgICAgICAgICBpZiBub3QgcGFja2FnZS5pc19pbnN0YWxsZWQo
c2VsZi5zZGtfYnJhbmNoKToKICAgICAgICAgICAgICAgICBwYWNrYWdlLmluc3RhbGwoKQogCisg
ICAgZGVmIHVwZGF0ZV9hbGwoc2VsZik6CisgICAgICAgIHNlbGYuc2RrX3JlcG8uZmxhdHBhaygi
dXBkYXRlIikKKwogICAgIGRlZiBydW5fZ2RiKHNlbGYpOgogICAgICAgICB3aXRoIGRpc2FibGVf
c2lnbmFscygpOgogICAgICAgICAgICAgdHJ5OgpAQCAtOTM1LDMxICs4MDQsMzkgQEAgY2xhc3Mg
V2Via2l0RmxhdHBhazoKICAgICAgICAgIyBXZSBuZWVkIGFjY2VzcyB0byB0aGUgaG9zdCBmcm9t
IHRoZSBzYW5kYm94IHRvIHJ1bi4KICAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFy
eUZpbGUoKSBhcyBjb3JlZHVtcDoKICAgICAgICAgICAgIHdpdGggdGVtcGZpbGUuTmFtZWRUZW1w
b3JhcnlGaWxlKCkgYXMgc3RkZXJyOgotICAgICAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tf
Y2FsbChbImNvcmVkdW1wY3RsIiwgImR1bXAiXSArIHNobGV4LnNwbGl0KHNlbGYuY29yZWR1bXBj
dGxfbWF0Y2hlcyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91
dD1jb3JlZHVtcCwgc3RkZXJyPXN0ZGVycikKKyAgICAgICAgICAgICAgICBpZiBzZWxmLmdkYl9z
dGFja190cmFjZToKKyAgICAgICAgICAgICAgICAgICAgY21kID0gWyJjb3JlZHVtcGN0bCIsICIt
LXNpbmNlPSVzIiAlIHNlbGYuZ2RiX3N0YWNrX3RyYWNlLCAiZHVtcCJdCisgICAgICAgICAgICAg
ICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgY21kID0gWyJjb3JlZHVtcGN0bCIsICJkdW1w
Il0gKyBzaGxleC5zcGxpdChzZWxmLmNvcmVkdW1wY3RsX21hdGNoZXMpCisgICAgICAgICAgICAg
ICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoY21kLCBz
dGRvdXQ9Y29yZWR1bXAsIHN0ZGVycj1zdGRlcnIpCisgICAgICAgICAgICAgICAgZXhjZXB0IHN1
YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGVycjoKKyAgICAgICAgICAgICAgICAgICAg
d2l0aCBvcGVuKHN0ZGVyci5uYW1lLCAncicpIGFzIHN0ZGVycmY6CisgICAgICAgICAgICAgICAg
ICAgICAgICBzdGRlcnIgPSBzdGRlcnJmLnJlYWQoKQorICAgICAgICAgICAgICAgICAgICBjbWQg
PSAnICcuam9pbihlcnIuY21kKQorICAgICAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRl
KCInJXMnIHJldHVybmVkIGEgbm9uLXplcm8gZXhpdCBjb2RlLiBTdGRlcnI6ICVzIiAlIChjbWQs
IHN0ZGVycikpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBlcnIucmV0dXJuY29kZQogCiAg
ICAgICAgICAgICAgICAgd2l0aCBvcGVuKHN0ZGVyci5uYW1lLCAncicpIGFzIHN0ZGVycmY6CiAg
ICAgICAgICAgICAgICAgICAgIHN0ZGVyciA9IHN0ZGVycmYucmVhZCgpCi0gICAgICAgICAgICAg
ICAgZXhlY3V0YWJsZSwgPSByZS5maW5kYWxsKCIuKkV4ZWN1dGFibGU6ICguKikiLCBzdGRlcnIp
Ci0gICAgICAgICAgICAgICAgaWYgbm90IGV4ZWN1dGFibGUuc3RhcnRzd2l0aCgiL25ld3Jvb3Qi
KToKLSAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiRXhlY3V0YWJsZSAlcyBk
b2Vzbid0IHNlZW0gdG8gYmUgYSBmbGF0cGFrZWQgYXBwbGljYXRpb24uXG4iICUgZXhlY3V0YWJs
ZSkKLQotICAgICAgICAgICAgICAgIGV4ZWN1dGFibGUgPSBleGVjdXRhYmxlLnJlcGxhY2UoIi9u
ZXdyb290IiwgIiIpCi0gICAgICAgICAgICAgICAgYXJncyA9IFsiZ2RiIiwgZXhlY3V0YWJsZSwg
Ii9ydW4vaG9zdC8lcyIgJSBjb3JlZHVtcC5uYW1lXSArIHNobGV4LnNwbGl0KHNlbGYuZ2RiKQog
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYucnVuX2luX3NhbmRib3goKmFyZ3MpCisgICAg
ICAgICAgICAgICAgZXhlY3V0YWJsZSwgPSByZS5maW5kYWxsKCIuKkV4ZWN1dGFibGU6ICguKiki
LCBzdGRlcnIpCiAKLSAgICBkZWYgdXBkYXRlX2FsbChzZWxmKToKLSAgICAgICAgZm9yIG0gaW4g
W3NlbGYucnVudGltZSwgc2VsZi5zZGssIHNlbGYuc2RrX2RlYnVnXToKLSAgICAgICAgICAgIGlm
IG06Ci0gICAgICAgICAgICAgICAgbS51cGRhdGUoKQorICAgICAgICAgICAgICAgIGlmIHNlbGYu
Z2RiOgorICAgICAgICAgICAgICAgICAgICBiYXJncyA9IFsiZ2RiIiwgZXhlY3V0YWJsZSwgIi9y
dW4vaG9zdC8lcyIgJSBjb3JlZHVtcC5uYW1lXSArIHNobGV4LnNwbGl0KHNlbGYuZ2RiKQorICAg
ICAgICAgICAgICAgIGVsaWYgc2VsZi5nZGJfc3RhY2tfdHJhY2U6CisgICAgICAgICAgICAgICAg
ICAgIGJhcmdzID0gWyJnZGIiLCAnLWV4JywgInRocmVhZCBhcHBseSBhbGwgYmFja3RyYWNlIiwg
Jy0tYmF0Y2gnLCBleGVjdXRhYmxlLCAiL3J1bi9ob3N0LyVzIiAlIGNvcmVkdW1wLm5hbWVdCiAK
KyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5faW5fc2FuZGJveCgqYmFyZ3MpCiAKIGRl
ZiBpc19zYW5kYm94ZWQoKToKICAgICByZXR1cm4gb3MucGF0aC5leGlzdHMoIi8uZmxhdHBhay1p
bmZvIikKIAogCiBkZWYgcnVuX2luX3NhbmRib3hfaWZfYXZhaWxhYmxlKGFyZ3MpOgorICAgIGlm
IG5vdCBvcy5wYXRoLmlzZGlyKEZMQVRQQUtfVVNFUl9ESVJfUEFUSCk6CisgICAgICAgIHJldHVy
biBOb25lCisKICAgICBpZiBpc19zYW5kYm94ZWQoKToKICAgICAgICAgcmV0dXJuIE5vbmUKIApk
aWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbCBi
L1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5Db21tb25Nb2R1bGVzLnlhbWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGUxYTA3Y2Y4NmY4M2I2ODgzM2E1NzI4NGU0NzIzZjUyMmI3M2M0
MGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMv
ZmxhdHBhay9vcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbAorKysgL2Rldi9udWxsCkBAIC0x
LDMzMSArMCwwIEBACi0jIGh0dHAgYW5kIGRlcGVuZGVuY2llcy4KLS0gbmFtZTogYXByCi0gIHNv
dXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHBzOi8vd3d3LmFwYWNo
ZS5vcmcvZGlzdC9hcHIvYXByLTEuNi41LnRhci5iejIKLSAgICAgIHNoYTI1NjogYTY3Y2E5ZmNm
OWM0ZmY1OWJjZTdmNDI4YTMyM2M4YjVlMTg2NjdmZGVhN2IwZWJhZDQ3ZDE5NDM3MWIwYTEwNQot
LSBuYW1lOiBhcHItdXRpbAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAg
dXJsOiBodHRwczovL3d3dy5hcGFjaGUub3JnL2Rpc3QvYXByL2Fwci11dGlsLTEuNi4xLnRhci5i
ejIKLSAgICAgIHNoYTUxMjogIjQwZWZmOGEzN2MwNjM0ZjdmZGRkZDZjYTVlNTk2YjM4ZGUxNWZk
MTA3NjdhMzRjMzBiYmU0OWM2MzI4MTZlOGYzZTFlMjMwNjc4MDM0ZjU3OGRkNTgxNmE5NGYyNDZm
YjVkZmRmNDhkNjQ0ODI5YWYxM2JmMjhkZTMyMjUyMDVkIgotICBjb25maWctb3B0czoKLSAgICAt
IC0td2l0aC1hcHI9L2FwcC9iaW4vYXByLTEtY29uZmlnCi0tIG5hbWU6IGh0dHBkCi0gIHNvdXJj
ZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2FwYWNo
ZS9odHRwZC5naXQKLSAgICAgIGJyYW5jaDogMi40LjM3Ci0gICAgLSB0eXBlIDogZmlsZQotICAg
ICAgcGF0aCA6IGZpbGVzL2h0dHBkLWF1dG9nZW4uc2gKLSAgICAgIGRlc3QtZmlsZW5hbWUgOiBh
dXRvZ2VuLnNoCi0gICAgIyBUaGUgdmVyc2lvbiBlbWJlZGRlZCBpbiB0aGUgc2FuZGJveCBkb2Vz
bid0IGhhdmUgYSB3b3JraW5nIHBjcmUtY29uZmlnCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAg
cGF0aDogcGF0Y2hlcy9odHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENS
RS1kZXRlY3Rpb24ucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLWVuYWJsZS1tcG1zLXNo
YXJlZD1hbGwKLSAgICAtIC0tZW5hYmxlLW1vZHVsZXM9YWxsCi0gICAgLSAtLXdpdGgtYXByPS9h
cHAvYmluL2Fwci0xLWNvbmZpZwotICAgIC0gLS13aXRoLWFwci11dGlsPS9hcHAvYmluL2FwdS0x
LWNvbmZpZwotICAgIC0gLS13aXRoLXBjcmU9L2FwcAotICAgIC0gLS1lbmFibGUtYXV0aG56LWZj
Z2kKLSAgICAtIC0tZW5hYmxlLWNnaQotICAgIC0gLS1lbmFibGUtY2dpZAotLSBuYW1lOiBwaHAK
LSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly9waHAu
bmV0L2Rpc3RyaWJ1dGlvbnMvcGhwLTcuMi42LnRhci54egotICAgICAgc2hhNTEyOiBkYTg2YjFm
ZjJkZjNiOWUyZDQ2ZTU5YTgwMjk2Yjk0MGQ4MTEzMjk3NWI2MjFiZGVjOTYwMmY4YjRjOGQ5MWEz
ZmRjZDRmZmQ3Y2I5ODJkNjNkM2VjOTc0YjNhMTJhNzg1NGU0MmE3M2I3ZjJjYzhlZWZhZGUxNDMz
NWFhN2M3MQotICBjb25maWctb3B0czoKLSAgICAtIC0tZGlzYWJsZS14bWwKLSAgICAtIC0tZGlz
YWJsZS1kb20KLSAgICAtIC0tZGlzYWJsZS1saWJ4bWwKLSAgICAtIC0tZGlzYWJsZS1zaW1wbGV4
bWwKLSAgICAtIC0tZGlzYWJsZS14bWxyZWFkZXIKLSAgICAtIC0tZGlzYWJsZS14bWx3cml0ZXIK
LSAgICAtIC0td2l0aG91dC1wZWFyCi0gICAgLSAtLXdpdGgtYXB4czIKLSAgICAtIC0td2l0aC16
bGliCi0gICAgLSAtLXdpdGgtbGliemlwCi0gICAgLSAtLWVuYWJsZS1zb2NrZXRzPXNoYXJlZAot
LSBuYW1lOiBsaWJldmVudAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6
IGh0dHBzOi8vZ2l0aHViLmNvbS9saWJldmVudC9saWJldmVudC5naXQKLSAgICAgIGJyYW5jaDog
ZTdmZjRlZiAjIDIuMS44Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1kaXNhYmxlLWxpYmV2ZW50
LXJlZ3Jlc3MKLQotIyBSZXF1aXJlbWVudCBmb3IgZmxhdHBrdXRpbHMKLS0gbmFtZTogcHl0aG9u
My1weWFtbAotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAtIHBp
cDMgaW5zdGFsbCAtLW5vLWluZGV4IC0tZmluZC1saW5rcz0iZmlsZTovLyR7UFdEfSIgLS1wcmVm
aXg9JHtGTEFUUEFLX0RFU1R9IHB5YW1sCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogZmlsZQotICAg
IHVybDogaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzRhLzg1L2RiNWEy
ZGY0NzcwNzJiMjkwMmIwZWI4OTJmZWIzN2Q4OGFjNjM1ZDM2MjQ1YTcyYTZhNjliMjNiMzgzYS9Q
eVlBTUwtMy4xMi50YXIuZ3oKLSAgICBzaGEyNTY6IDU5Mjc2NmM2MzAzMjA3YTIwZWZjNDQ1NTg3
Nzc4MzIyZDdmNzNiMTYxYmQ5OTRmMjI3YWRhYTM0MWJhMjEyYWIKLSAgLSB0eXBlOiBmaWxlCi0g
ICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvOWUvMTcvMWQ0
ZWQ2ZTFhNGMwOTE4YTAzNTdkZmEyZmRiZTI2YmY2M2Y2ZTYxNjAxM2MwNGExNGJjZTlmZDMzZTQw
L3B5YW1sLTE3LjEyLjEudGFyLmd6Ci0gICAgc2hhMjU2OiA2NjYyM2M1MmYzNGQ4M2EyYzBmYzk2
M2UwOGU4YjlkMGMxM2Q4ODQwNGUzYjQzYjE4NTJlZjcxZWRhMTlhZmEzCi0KLS0gbmFtZTogcHl0
aG9uMi1weWFtbAotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAt
IHBpcDIgaW5zdGFsbCAtLW5vLWluZGV4IC0tZmluZC1saW5rcz0iZmlsZTovLyR7UFdEfSIgLS10
YXJnZXQ9L2FwcC9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvIHB5YW1sCi0gIHNvdXJjZXM6
Ci0gIC0gdHlwZTogZmlsZQotICAgIHVybDogaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3Jn
L3BhY2thZ2VzLzRhLzg1L2RiNWEyZGY0NzcwNzJiMjkwMmIwZWI4OTJmZWIzN2Q4OGFjNjM1ZDM2
MjQ1YTcyYTZhNjliMjNiMzgzYS9QeVlBTUwtMy4xMi50YXIuZ3oKLSAgICBzaGEyNTY6IDU5Mjc2
NmM2MzAzMjA3YTIwZWZjNDQ1NTg3Nzc4MzIyZDdmNzNiMTYxYmQ5OTRmMjI3YWRhYTM0MWJhMjEy
YWIKLSAgLSB0eXBlOiBmaWxlCi0gICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5v
cmcvcGFja2FnZXMvOWUvMTcvMWQ0ZWQ2ZTFhNGMwOTE4YTAzNTdkZmEyZmRiZTI2YmY2M2Y2ZTYx
NjAxM2MwNGExNGJjZTlmZDMzZTQwL3B5YW1sLTE3LjEyLjEudGFyLmd6Ci0gICAgc2hhMjU2OiA2
NjYyM2M1MmYzNGQ4M2EyYzBmYzk2M2UwOGU4YjlkMGMxM2Q4ODQwNGUzYjQzYjE4NTJlZjcxZWRh
MTlhZmEzCi0KLS0gbmFtZTogcHl0aG9uMi1zdWJwcm9jZXNzMzIKLSAgYnVpbGRzeXN0ZW06IHNp
bXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgLSBwaXAyIGluc3RhbGwgLS10YXJnZXQ9L2FwcC9s
aWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvIC4KLSAgc291cmNlczoKLSAgLSB0eXBlOiBhcmNo
aXZlCi0gICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvYmUv
MmIvYmVlYmE1ODNlOTg3N2U2NGRiMTBiNTJhOTY5MTVhZmMwZmVhYmY3MTQ0ZGNiZjJhMGQwZWE2
OGJmNzNkL3N1YnByb2Nlc3MzMi0zLjUuMy50YXIuZ3oKLSAgICBzaGEyNTY6IDZiYzgyOTkyMzE2
ZWVmM2NjZmYzMTliNTAzMzgwOTgwMWMwYzMzNzI3MDljNWY2OTg1Mjk5Yzg4YWM3MjI1YzMKLQot
IyBHU3RyZWFtZXIgbW9kdWxlcwotLSBuYW1lOiBsaWJ2cHgKLSAgbm8tYXV0b2dlbjogdHJ1ZQot
ICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vY2hyb21pdW0u
Z29vZ2xlc291cmNlLmNvbS93ZWJtL2xpYnZweAotICAgICAgYnJhbmNoOiB2MS43LjAKLSAgY29u
ZmlnLW9wdHM6Ci0gICAgLSAtLWVuYWJsZS1waWMKLSAgICAtIC0tYXM9bmFzbQotICAgIC0gLS1k
aXNhYmxlLXVuaXQtdGVzdHMKLSAgICAtIC0tc2l6ZS1saW1pdD0xNjM4NHgxNjM4NAotICAgIC0g
LS1lbmFibGUtcG9zdHByb2MKLSAgICAtIC0tZW5hYmxlLW11bHRpLXJlcy1lbmNvZGluZwotICAg
IC0gLS1lbmFibGUtdGVtcG9yYWwtZGVub2lzaW5nCi0gICAgLSAtLWVuYWJsZS12cDktdGVtcG9y
YWwtZGVub2lzaW5nCi0gICAgLSAtLWVuYWJsZS12cDktcG9zdHByb2MKLSAgICAtIC0tZW5hYmxl
LXNoYXJlZAotLSBuYW1lOiBhb20KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAg
dXJsOiBodHRwczovL2FvbWVkaWEuZ29vZ2xlc291cmNlLmNvbS9hb20KLSAgICAgIGJyYW5jaDog
Y2RiMDgzZTg0YTcxZDZkMzExNjNhNGY2NGYxOGRjMTMyOGZkNzgyYwotICBidWlsZHN5c3RlbTog
Y21ha2UtbmluamEKLSAgYnVpbGRkaXI6IHRydWUKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtREJV
SUxEX1NIQVJFRF9MSUJTPTEKLS0gbmFtZTogbGlidW53aW5kCi0gIHNvdXJjZXM6Ci0gICAgLSB0
eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2xpYnVud2luZC9saWJ1bndp
bmQuZ2l0Ci0gICAgICBjb21taXQ6IHYxLjIuMQotLSBuYW1lOiBsaWJvcGVuaDI2NAotICBidWls
ZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBo
dHRwczovL2dpdGh1Yi5jb20vY2lzY28vb3BlbmgyNjQuZ2l0Ci0gICAgICBicmFuY2g6IGExYjNm
MDdjNTI3MWYzMTI5OTdmY2MzNDUxMjM3MDMxNDQ0YzQ0NzUgIyAxLjguMCArIGZpeCBmb3IgZ2Nj
IDgKLS0gbmFtZTogZ3N0cmVhbWVyCi0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBzb3VyY2VzOgot
ICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9y
Zy9nc3RyZWFtZXIvZ3N0cmVhbWVyLmdpdAotICAgICAgYnJhbmNoOiAxLjE2LjEKLSAgY29uZmln
LW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlzYWJsZWQKLSAgICAtIC1EaW50cm9zcGVjdGlvbj1k
aXNhYmxlZAotICAgIC0gLURleGFtcGxlcz1kaXNhYmxlZAotICAgIC0gLUR0ZXN0cz1kaXNhYmxl
ZAotLSBuYW1lOiBnc3QtcGx1Z2lucy1iYXNlCi0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBzb3Vy
Y2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNr
dG9wLm9yZy9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFzZS5naXQKLSAgICAgIGJyYW5jaDogMS4x
Ni4xCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3N0cmVhbWVyL3BhdGNoZXMv
YmFzZS0wMDAxLXBsYXliaW4tSGFuZGxlLWVycm9yLW1lc3NhZ2Utd2l0aC1yZWRpcmVjdGlvbi1p
bmRpY2EucGF0Y2gKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9nc3RyZWFtZXIv
cGF0Y2hlcy9iYXNlLTAwMDEtZ2x1cGxvYWQtQWRkLVZpZGVvTWV0YXMtYW5kLUdMU3luY01ldGEt
dG8tdGhlLXJhdy11cC5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNh
YmxlZAotICAgIC0gLURpbnRyb3NwZWN0aW9uPWRpc2FibGVkCi0gICAgLSAtRGV4YW1wbGVzPWRp
c2FibGVkCi0gICAgLSAtRHRlc3RzPWRpc2FibGVkCi0tIG5hbWU6IGdzdC1wbHVnaW5zLWdvb2QK
LSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAg
IHVybDogaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL2dzdHJlYW1lci9nc3QtcGx1Z2lu
cy1nb29kLmdpdAotICAgICAgYnJhbmNoOiAxLjE2LjEKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAg
ICBwYXRoOiAuLi9nc3RyZWFtZXIvcGF0Y2hlcy9nb29kLTAwMDEtcXRkZW11eC1TcGVjaWZ5LVJF
RElSRUNULWluZm9ybWF0aW9uLWluLWVycm9yLW1lc3NhZy5wYXRjaAotICBjb25maWctb3B0czoK
LSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotICAgIC0gLURpbnRyb3NwZWN0aW9uPWRpc2FibGVk
Ci0gICAgLSAtRGV4YW1wbGVzPWRpc2FibGVkCi0gICAgLSAtRGd0azM9ZGlzYWJsZWQKLS0gbmFt
ZTogeDI2NAotICBjb25maWctb3B0czoKLSAgICAtICItLWVuYWJsZS1zaGFyZWQiCi0gICAgLSAi
LS1lbmFibGUtc3RhdGljIgotICAgIC0gIi0tZW5hYmxlLXBpYyIKLSAgICAtICItLWRpc2FibGUt
bGF2ZiIKLSAgICAtICItLWRpc2FibGUtYXNtIgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJj
aGl2ZQotICAgICAgdXJsOiBodHRwOi8vZG93bmxvYWQudmlkZW9sYW4ub3JnL3B1Yi94MjY0L3Nu
YXBzaG90cy94MjY0LXNuYXBzaG90LTIwMTQwMjEyLTIyNDUtc3RhYmxlLnRhci5iejIKLSAgICAg
IHNoYTI1NjogNWQ5OGU5ZTRmYWY2ZGQ1NWU3MTkzZWQzNzlhZmY0NzdiOGFjYmRhNjc3Nzc1ODk1
NmVmN2U1ZjA1MDY3YmUxOAotLSBuYW1lOiBnc3QtcGx1Z2lucy11Z2x5Ci0gIGJ1aWxkc3lzdGVt
OiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8v
YW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy11Z2x5Ci0g
ICAgICBicmFuY2g6IDEuMTYuMAotICBjb25maWctb3B0czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNh
YmxlZAotLSBuYW1lOiBnc3QtcGx1Z2lucy1iYWQKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIHNv
dXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRsYWIuZnJlZWRl
c2t0b3Aub3JnL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQuZ2l0Ci0gICAgICBicmFuY2g6IDEu
MTYuMQotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2dzdHJlYW1lci9wYXRjaGVz
L2dzdC1wbHVnaW5zLWJhZC0wMDAxLWgyNjRwYXJzZS1Qb3N0LWEtV0FSTklORy13aGVuLWRhdGEt
aXMtYnJva2VuLnBhdGNoCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9jPWRpc2FibGVk
Ci0gICAgLSAtRGludHJvc3BlY3Rpb249ZGlzYWJsZWQKLSAgICAtIC1EZXhhbXBsZXM9ZGlzYWJs
ZWQKLS0gbmFtZTogZmZtcGVnCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAg
ICB1cmw6IGh0dHBzOi8vZmZtcGVnLm9yZy9yZWxlYXNlcy9mZm1wZWctNC4wLjQudGFyLmd6Ci0g
ICAgICBzaGEyNTY6IDgwYmI2ODVhYmZjZGRhN2M5YjZjOWM1Y2FmMWQ4ZGJiOTI3ODU4MDUwZDcz
NzdjMmI4ZjM0ODhjN2U4YTliN2YKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLWVuYWJsZS1zdGF0
aWMKLSAgICAtIC0tZW5hYmxlLXBpYwotICAgIC0gLS1kaXNhYmxlLWF2ZGV2aWNlCi0gICAgLSAt
LWRpc2FibGUtcG9zdHByb2MKLSAgICAtIC0tZGlzYWJsZS1zd3NjYWxlCi0gICAgLSAtLWRpc2Fi
bGUtcHJvZ3JhbXMKLSAgICAtIC0tZGlzYWJsZS1mZnBsYXkKLSAgICAtIC0tZGlzYWJsZS1mZnBy
b2JlCi0gICAgLSAtLWRpc2FibGUtZmZtcGVnCi0gICAgLSAtLWRpc2FibGUtZW5jb2Rlcj1mbGFj
Ci0gICAgLSAtLWRpc2FibGUtcHJvdG9jb2xzCi0gICAgLSAtLWRpc2FibGUtZGV2aWNlcwotICAg
IC0gLS1kaXNhYmxlLW5ldHdvcmsKLSAgICAtIC0tZGlzYWJsZS1od2FjY2VscwotICAgIC0gLS1k
aXNhYmxlLWR4dmEyCi0gICAgLSAtLWRpc2FibGUtdmRwYXUKLSAgICAtIC0tZGlzYWJsZS1maWx0
ZXJzCi0gICAgLSAtLWVuYWJsZS1maWx0ZXI9eWFkaWYKLSAgICAtIC0tZGlzYWJsZS1kb2MKLSAg
ICAtIC0tZGlzYWJsZS1kM2QxMXZhCi0gICAgLSAtLWRpc2FibGUtZHh2YTIKLSAgICAtIC0tZGlz
YWJsZS1hdWRpb3Rvb2xib3gKLSAgICAtIC0tZGlzYWJsZS12aWRlb3Rvb2xib3gKLSAgICAtIC0t
ZGlzYWJsZS12YWFwaQotICAgIC0gLS1kaXNhYmxlLWNyeXN0YWxoZAotICAgIC0gLS1kaXNhYmxl
LW1lZGlhY29kZWMKLSAgICAtIC0tZGlzYWJsZS1udmVuYwotICAgIC0gLS1kaXNhYmxlLW1tYWwK
LSAgICAtIC0tZGlzYWJsZS1vbXgKLSAgICAtIC0tZGlzYWJsZS1vbXgtcnBpCi0gICAgLSAtLWRp
c2FibGUtY3VkYQotICAgIC0gLS1kaXNhYmxlLWN1dmlkCi0gICAgLSAtLWRpc2FibGUtbGlibWZ4
Ci0gICAgLSAtLWRpc2FibGUtbGlibnBwCi0gICAgLSAtLWRpc2FibGUtaWNvbnYKLSAgICAtIC0t
ZGlzYWJsZS1qbmkKLSAgICAtIC0tZGlzYWJsZS12NGwyX20ybQotICAgIC0gLS1lbmFibGUtb3B0
aW1pemF0aW9ucwotLSBuYW1lOiBnc3QtbGliYXYKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIGJ1
aWxkZGlyOiB0cnVlCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6
IGh0dHBzOi8vZ3N0cmVhbWVyLmZyZWVkZXNrdG9wLm9yZy9zcmMvZ3N0LWxpYmF2L2dzdC1saWJh
di0xLjE2LjEudGFyLnh6Ci0gICAgICBzaGEyNTY6IGU4YTU3NDhhZTlhNGE3YmU5Njk2NTEyMTgy
ZWE5ZmZhNmVmZTBiZTliNzk3NjkxNjU0OGU5ZDQzODFjYTYxYzQKLSAgY29uZmlnLW9wdHM6Ci0g
ICAgLSAtRGd0a19kb2M9ZGlzYWJsZWQKLQotLSBuYW1lOiBsaWJnY3J5cHQgIyBTcGVlZHVwIGxp
YmdjcnlwdAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8v
ZGV2LmdudXBnLm9yZy9zb3VyY2UvbGliZ2NyeXB0LmdpdAotICAgICAgYnJhbmNoOiBsaWJnY3J5
cHQtMS44LjQKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiBwYXRjaGVzL2xpYmdjcnlw
dC0wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWRldGVjdC1ncGctZXJyb3IucGF0Y2gKLSAgICAtIHR5
cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9ndGsvcGF0Y2hlcy9saWJnY3J5cHQtdXNlLW9ubHkt
ZGV2LXVyYW5kb20tZm9yLXRlc3RpbmcucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLWRp
c2FibGUtZG9jCi0KLS0gbmFtZTogcGVybC1jZ2ktcG0KLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQot
ICBidWlsZC1jb21tYW5kczoKLSAgICAtIHBlcmwgTWFrZWZpbGUuUEwgUFJFRklYPS9hcHAgTElC
PS9hcHAvbGliL3BlcmwvCi0gICAgLSBtYWtlIGluc3RhbGwKLSAgc291cmNlczoKLSAgICAtIHR5
cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly9jcGFuLm1ldGFjcGFuLm9yZy9hdXRob3Jz
L2lkL0wvTEUvTEVFSk8vQ0dJLTQuMzgudGFyLmd6Ci0gICAgICBzaGEyNTY6IDhjNThmNGE1Mjli
YjkyYTkxNGIyMmI3ZTY0YzVlMzExODVjOTg1NGE0MDcwYTZkZmFkNDRmZTVjYzI0OGU3ZDQKLQot
LSBuYW1lOiBweXRob24yLXZpcnR1YWxlbnYKLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWls
ZC1jb21tYW5kczoKLSAgLSBwaXAyIGluc3RhbGwgLS1uby1pbmRleCAtLWZpbmQtbGlua3M9ImZp
bGU6Ly8ke1BXRH0iIC0tdGFyZ2V0PS9hcHAvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzLyB2
aXJ0dWFsZW52Ci0gIC0gbG4gLXMgL2FwcC9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvdmly
dHVhbGVudi5weSAvYXBwL2Jpbi92aXJ0dWFsZW52Ci0gIC0gY2htb2QgK3ggL2FwcC9iaW4vdmly
dHVhbGVudgotICBzb3VyY2VzOgotICAtIHR5cGU6IGZpbGUKLSAgICB1cmw6IGh0dHBzOi8vZmls
ZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy8zMy9iYy9mYTBiNTM0NzEzOWNkOTU2NGYwZDQ0
ZWJkMmIxNDdhYzk3YzM2YjI0MDM5NDNkYmVlOGEyNWZkNzQwMTIvdmlydHVhbGVudi0xNi4wLjAu
dGFyLmd6Ci0gICAgc2hhMjU2OiBjYTA3YjRjMGI1NGUxNGE5MWFmOWYzNGQwOTE5NzkwYjAxNjky
M2QxNTdhZmRhNWVmZGRlNTVjOTY3MThmNzUyCi0KLS0gbmFtZTogbGliY2FwLW5nCi0gIHNvdXJj
ZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL3N0ZXZl
Z3J1YmIvbGliY2FwLW5nCi0gICAgICBicmFuY2g6IHYwLjcuOQotICBjb25maWctb3B0czoKLSAg
ICAtIC0td2l0aC1weXRob249bm8KLSAgICAtIC0td2l0aC1weXRob24zPW5vCi0KLS0gbmFtZTog
bHpvMgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwOi8v
d3d3Lm9iZXJodW1lci5jb20vb3BlbnNvdXJjZS9sem8vZG93bmxvYWQvbHpvLTIuMTAudGFyLmd6
Ci0gICAgICBzaGExOiA0OTI0Njc2YTliYWU1ZGI1OGVmMTI5ZGMxY2ViY2UzYmFhM2M0YjVkCi0K
LS0gbmFtZTogaWNlY2MKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBo
dHRwczovL2dpdGh1Yi5jb20vaWNlY2MvaWNlY3JlYW0KLSAgICAgIHRhZzogIjEuMiIKLSAgICAg
IGNvbW1pdDogZTNkMTBhMzJiYzZjMDQ2ZDhmM2QxMTgyZTc1YzY1OWQ0YjI4ZWQ0OQotICBjb25m
aWctb3B0czoKLSAgICAtIC0td2l0aG91dC1tYW4KLQotLSBuYW1lOiBicm90bGkKLSAgc291cmNl
czoKLSAgLSB0eXBlOiBhcmNoaXZlCi0gICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xl
L2Jyb3RsaS9hcmNoaXZlL3YxLjAuNS50YXIuZ3oKLSAgICBzaGEyNTY6IDNkNWJlZGQ0OGVkYjkw
OWZlM2I4N2NiOTlmN2QxMzliOTg3ZWY2ZjE2MTZiN2UyMmQ3NGU5MjgyNzBhMmZkMjAKLSAgYnVp
bGRzeXN0ZW06IGNtYWtlLW5pbmphCi0KLS0gbmFtZTogd29mZjIKLSAgc291cmNlczoKLSAgLSB0
eXBlOiBhcmNoaXZlCi0gICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL3dvZmYyL2Fy
Y2hpdmUvdjEuMC4yLnRhci5negotICAgIHNoYTI1NjogYWRkMjcyYmIwOWU2Mzg0YTQ4MzNmZmNh
NDg5NjM1MGZkYjE2ZTBjYTIyZGY2OGMwMzg0NzczYzY3YTE3NTU5NAotICBidWlsZHN5c3RlbTog
Y21ha2UtbmluamEKLQotLSBuYW1lOiBvcGVuanBlZwotICBzb3VyY2VzOgotICAtIHR5cGU6IGFy
Y2hpdmUKLSAgICB1cmw6IGh0dHA6Ly9naXRodWIuY29tL3VjbG91dmFpbi9vcGVuanBlZy9hcmNo
aXZlL3YyLjMuMC50YXIuZ3oKLSAgICBzaGEyNTY6IDNkYzc4N2MxYmI2MDIzYmE4NDZjMmEwZDli
MWY2ZTE3OWYxY2QyNTUxNzJiZGU5ZWI3NWIwMWYxZTZjN2Q3MWEKLSAgYnVpbGRzeXN0ZW06IGNt
YWtlLW5pbmphCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuR1RLLnlhbWwg
Yi9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuR1RLLnlhbWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDk2M2I1NjA0NDA4MDQ1ZWQwODdjN2MyNjdhNTkzMmI4NGU2MzBkM2YuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9v
cmcud2Via2l0LkdUSy55YW1sCisrKyAvZGV2L251bGwKQEAgLTEsMTIzICswLDAgQEAKLS0gbmFt
ZTogbWVzYQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRw
czovL21lc2EuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmUvbWVzYS0xOC4wLjMudGFyLnh6Ci0gICAg
ICBzaGEyNTY6IDA5OWQ5NjY3MzI3YTc2YTYxNzQxYTUzM2Y5NTA2N2Q3NmVhNzFhNjU2ZTY2Yjkx
NTA3YjNjMGNhZjFkNDllMzAKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLXByZWZpeD0vYXBwL3Nv
ZnRHTAotICAgIC0gLS1kaXNhYmxlLWRyaTMKLSAgICAtIC0tZW5hYmxlLWRyaQotICAgIC0gLS1l
bmFibGUtZ2x4Ci0gICAgLSAtLWVuYWJsZS1lZ2wKLSAgICAtIC0td2l0aC1lZ2wtcGxhdGZvcm1z
PXgxMSx3YXlsYW5kCi0gICAgLSAtLXdpdGgtZHJpLWRyaXZlcnM9c3dyYXN0Ci0gICAgLSAtLXdp
dGgtZ2FsbGl1bS1kcml2ZXJzPXN3cmFzdAotCi0tIG5hbWU6IHdlYmtpdGd0ay10ZXN0LWZvbnRz
Ci0gIG5vLWF1dG9nZW46IHRydWUKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAg
dXJsOiBodHRwczovL2dpdGh1Yi5jb20vV2ViS2l0R1RLL3dlYmtpdGd0ay10ZXN0LWZvbnRzLmdp
dAotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAgICMgRklYTUU6
IE1ha2UgQWN0aXZhdGVGb250V1BFIHNtYXJ0ZXIuCi0gICAgLSBtYWtlIGluc3RhbGwgREVTVERJ
Uj0vYXBwL1dlYktpdEJ1aWxkL0RlcGVuZGVuY2llc0dUSy9Sb290Ci0KLS0gbmFtZTogeG9yZy11
dGlsLW1hY3JvcwotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBz
Oi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcvdXRpbC9tYWNyb3MuZ2l0Ci0gICAg
ICBicmFuY2g6IHV0aWwtbWFjcm9zLTEuMTkuMgotCi0tIG5hbWU6IHhvcmctZm9udC11dGlsCi0g
IHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9hbm9uZ2l0LmZy
ZWVkZXNrdG9wLm9yZy9naXQveG9yZy9mb250L3V0aWwuZ2l0Ci0gICAgICBicmFuY2g6IGZvbnQt
dXRpbC0xLjMuMQotCi0tIG5hbWU6IHhrYmZpbGUKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdp
dAotICAgICAgYnJhbmNoOiBsaWJ4a2JmaWxlLTEuMC45Ci0gICAgICB1cmw6IGh0dHBzOi8vYW5v
bmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcvbGliL2xpYnhrYmZpbGUuZ2l0Ci0KLS0gbmFt
ZTogZm9udGVuYwotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICBicmFuY2g6IGxp
YmZvbnRlbmMtMS4xLjMKLSAgICAgIHVybDogaHR0cHM6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9y
Zy9naXQveG9yZy9saWIvbGliZm9udGVuYy5naXQKLQotLSBuYW1lOiB4Zm9udAotICBzb3VyY2Vz
OgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICBicmFuY2g6IGxpYlhmb250Mi0yLjAuMwotICAgICAg
dXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC94b3JnL2xpYi9saWJYZm9u
dC5naXQKLQotLSBuYW1lOiB4dmZiCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAg
IHVybDogaHR0cHM6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy94c2VydmVyLmdp
dAotICAgICAgYnJhbmNoOiB4b3JnLXNlcnZlci0xLjE5LjYKLSAgICAtIHR5cGU6IHBhdGNoCi0g
ICAgICBwYXRoOiBwYXRjaGVzL3h2ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1m
aWxlLnBhdGNoCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3RrL3BhdGNoZXMv
eHNlcnZlci1yZW1vdmUtYm9ndXMtZGVwZW5kZW5jaWVzLnBhdGNoCi0gICAgLSB0eXBlOiBwYXRj
aAotICAgICAgcGF0aDogLi4vZ3RrL3BhdGNoZXMveHNlcnZlci1zZWFyY2gtZm9yLURSSS1kcml2
ZXJzLWF0LUxJQkdMX0RSSVZFUlNfUEFUSC1lbnZpcm9uLnBhdGNoCi0gIGNvbmZpZy1vcHRzOgot
ICAgIC0gLS1lbmFibGUteHZmYgotICAgIC0gLS1kaXNhYmxlLXh3YXlsYW5kCi0gICAgLSAtLWVu
YWJsZS14dmZiCi0gICAgLSAtLWRpc2FibGUteHdheWxhbmQKLSAgICAtIC0tZGlzYWJsZS14aW5l
cmFtYQotICAgIC0gLS1lbmFibGUtZ2x4Ci0gICAgLSAtLWVuYWJsZS1jb21wb3NpdGUKLSAgICAt
IC0tZGlzYWJsZS14b3JnCi0gICAgLSAtLWRpc2FibGUtZG14Ci0gICAgLSAtLWRpc2FibGUteG5l
c3QKLSAgICAtIC0tZGlzYWJsZS14cXVhcnR6Ci0gICAgLSAtLWRpc2FibGUteHdpbgotICAgIC0g
LS1kaXNhYmxlLXhlcGh5cgotICAgIC0gLS1kaXNhYmxlLXhmYWtlCi0gICAgLSAtLWRpc2FibGUt
eGZiZGV2Ci0gICAgLSAtLWRpc2FibGUtaW5zdGFsbC1zZXR1aWQKLSAgICAtIC0tZGlzYWJsZS11
bml0LXRlc3RzCi0gICAgLSAtLWRpc2FibGUtcHJlc2VudAotICAgIC0gLS1lbmFibGUtdW5peC10
cmFuc3BvcnQKLSAgICAtIC0tZW5hYmxlLXRjcC10cmFuc3BvcnQKLSAgICAtIC0tZGlzYWJsZS1s
b2NhbC10cmFuc3BvcnQKLSAgICAtIC0td2l0aG91dC1kdHJhY2UKLQotIyBSZXF1aXJlZCBmb3Ig
cnVuLWd0ay10ZXN0cwotLSBuYW1lOiBweWNhaXJvCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAg
YnVpbGQtY29tbWFuZHM6Ci0gIC0gcHl0aG9uMiBzZXR1cC5weSBpbnN0YWxsIC0tcHJlZml4PS9h
cHAKLSAgc291cmNlczoKLSAgLSB0eXBlOiBhcmNoaXZlCi0gICAgdXJsOiBodHRwczovL3B5cGku
cHl0aG9uLm9yZy9wYWNrYWdlcy9lZi85Ny9iMzNkYzUzM2VhNjA3NmQ0ZWE5Y2JkMmZlMDQ5YTJi
NGEzZGY1YzViNmZiYTlhMTgyNjE2ZjZmOGQzMTAvcHljYWlyby0xLjE1LjQudGFyLmd6Ci0gICAg
c2hhMjU2OiBlZTRjMzA2OGMwNDgyMzBlNWNlNzRiYjg5OTRhMDI0NzExMTI5YmRlMWFmMWQ3NmUz
Mjc2YzdhY2Q4MWM0MzU3Ci0gIGNsZWFudXA6Ci0gIC0gIi9pbmNsdWRlIgotICAtICIvbGliL3Br
Z2NvbmZpZyIKLQotLSBuYW1lOiBweWdvYmplY3QtcHl0aG9uMgotICBidWlsZC1vcHRpb25zOgot
ICAgIGVudjoKLSAgICAgIFBZVEhPTjogIi91c3IvYmluL3B5dGhvbjIiCi0gIHNvdXJjZXM6Ci0g
IC0gdHlwZTogYXJjaGl2ZQotICAgIHVybDogaHR0cHM6Ly9kb3dubG9hZC5nbm9tZS5vcmcvc291
cmNlcy9weWdvYmplY3QvMy4yOC9weWdvYmplY3QtMy4yOC4xLnRhci54egotICAgIHNoYTI1Njog
NDIzMTJiNGE1MDE1NTcxZmEwYTRmMmQyMDEwMDVkYTQ2YjcxYzI1MWVhMjYyNWJjOTU3MDJkMDcx
YzRmZjg5NQotICBjbGVhbnVwOgotICAtICIvaW5jbHVkZSIKLSAgLSAiL2xpYi9wa2djb25maWci
Ci0gIC0gIi9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvZ2kvKi5sYSIKLQotLSBvcmcud2Vi
a2l0LldQRU1vZHVsZXMueWFtbAotCi0tIG5hbWU6IG9yZy53ZWJraXQuR1RLCi0gIGJ1aWxkc3lz
dGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gICAgLSAvYXBwL3dlYmtpdC9Ub29scy9T
Y3JpcHRzL2J1aWxkLXdlYmtpdCAtLWd0ayAtLXByZWZpeD0vYXBwCi0KZGlmZiAtLWdpdCBhL1Rv
b2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEUueWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtp
dC5XUEUueWFtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGNiYWJiYWEwY2I4ZTE1
OGFkNDQ0MWY5OGI0ZDA1M2E4Y2IzYmE3Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFLnlhbWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0tIG9yZy53ZWJraXQuV1BFTW9kdWxlcy55YW1sCi0t
IG5hbWU6IHdlYmtpdGd0ay10ZXN0LWZvbnRzCi0gIG5vLWF1dG9nZW46IHRydWUKLSAgc291cmNl
czoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vV2ViS2l0
R1RLL3dlYmtpdGd0ay10ZXN0LWZvbnRzLmdpdAotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1
aWxkLWNvbW1hbmRzOgotICAgICMgRklYTUU6IE1ha2UgQWN0aXZhdGVGb250V1BFIHNtYXJ0ZXIu
Ci0gICAgLSBtYWtlIGluc3RhbGwgREVTVERJUj0vYXBwL1dlYktpdEJ1aWxkL0RlcGVuZGVuY2ll
c1dQRS9Sb290Ci0tIG5hbWU6IG9yZy53ZWJraXQuV1BFCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUK
LSAgYnVpbGQtY29tbWFuZHM6Ci0gICAgLSAvYXBwL3dlYmtpdC9Ub29scy9TY3JpcHRzL2J1aWxk
LXdlYmtpdCAtLXdwZSAtLXByZWZpeD0vYXBwCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29y
Zy53ZWJraXQuV1BFTW9kdWxlcy55YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRU1v
ZHVsZXMueWFtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTgwZTJjY2IzYTRkOTUy
MmE2MDc5MzRjMDZlMGFmOTIwNWJmMDIxNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFTW9kdWxlcy55YW1s
CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLSBuYW1lOiBsaWJ3cGUKLSAgYnVpbGRz
eXN0ZW06IGNtYWtlLW5pbmphCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAg
ICB1cmw6IGh0dHBzOi8vd3Bld2Via2l0Lm9yZy9yZWxlYXNlcy9saWJ3cGUtMS40LjAudGFyLnh6
Ci0gICAgICBzaGEyNTY6IGUyZDM0OTRmYzMzZmU5NDZhZDkxN2ZkNmEzYWJkMTI3NDYyYjkxYmJh
NjJlZjhiMzU1MDdlOTJmOGVkZTQxODgKLS0gbmFtZTogd3BlYmFja2VuZC1mZG8KLSAgYnVpbGRz
eXN0ZW06IGNtYWtlLW5pbmphCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAg
ICB1cmw6IGh0dHBzOi8vd3Bld2Via2l0Lm9yZy9yZWxlYXNlcy93cGViYWNrZW5kLWZkby0xLjQu
MC50YXIueHoKLSAgICAgIHNoYTI1NjogYTkxOWNhNGE1YmM0NDVmOTQxOWE1YjdmMzc4MWNmYzk4
ZTVhYmNmNWQ3MjU5ZWIxODY5ZjVhYjIwZmQxOGJhZgpkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBh
ay9vcmcud2Via2l0LldQRVFULnlhbWwgYi9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFUVQu
eWFtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGUzNjk1N2E0NjFiYzM0NzlhMzhl
ZmZkZTZkOTU4YmQwMDcyNjc4ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFUVQueWFtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDM5ICswLDAgQEAKLWFwcC1pZDogb3JnLndlYmtpdC5XUEVRVAotcnVudGltZTog
b3JnLmtkZS5QbGF0Zm9ybQotcnVudGltZS12ZXJzaW9uOiAiNS4xMiIKLSMgQ29udHJvbCB0aGUg
ZXhhY3QgdmVyc2lvbiBvZiB0aGUgU2RrL1J1bnRpbWUgdGhhdCBpcyBiZWluZyB1c2VkLgotc2Rr
LWhhc2g6IGQ2ZWZhMjRlMjdjMWM4NzhhZDRmZGU3NmI3M2M5NmExMWJlMzJiNTk4YWU4N2FlZmJl
MzM5ZWU0YmIxOWE4YmUKLXJ1bnRpbWUtaGFzaDogMTAxODcxZTA5MTAwMDYxNmFkMmI2MzVlMDZj
NDE0ZWIwZTFjNGUxYzM0MjkyYTIwNWM1MjM5OTM1ZWU1ZWE0NAotc2RrOiBvcmcua2RlLlNkawot
Y29tbWFuZDogJShDT01NQU5EKXMKLWZpbmlzaC1hcmdzOgotICAjIEJhc2ljYWxseSBubyBzYW5k
Ym94aW5nLCB0aGUgZ29hbCBoZXJlIGlzIHRvIG1ha2UgaXQgZmxleGlibGUKLSAgIyBmb3IgZGV2
ZWxvcGVycywgbm90IHJlYWxseSB0byBpc29sYXRlIChvcGVubmluZyBhbGwgZGV2aWNlcwotICAj
IHRvIGFsbG93IGFjY2VzIHZpZGVvIGNhbWVyYXMgdW50aWwgd2UgaGF2ZSBhIHBvcnRhbCBhdCBs
ZWFzdCkuCi0gIC0gLS1zaGFyZT1pcGMKLSAgLSAtLXNvY2tldD14MTEKLSAgLSAtLXNvY2tldD13
YXlsYW5kCi0gIC0gLS1kZXZpY2U9YWxsCi0gIC0gLS1zaGFyZT1uZXR3b3JrCi0gIC0gLS1zb2Nr
ZXQ9cHVsc2VhdWRpbwotICAtIC0tc3lzdGVtLXRhbGstbmFtZT1vcmcuZnJlZWRlc2t0b3AuR2Vv
Q2x1ZTIKLSAgLSAtLXN5c3RlbS10YWxrLW5hbWU9b3JnLmExMXkuQnVzCi0gIC0gLS1maWxlc3lz
dGVtPWhvc3QKLSAgLSAtLXNvY2tldD1zeXN0ZW0tYnVzCi0gIC0gLS10YWxrLW5hbWU9b3JnLmZy
ZWVkZXNrdG9wLkZsYXRwYWsKLSAgLSAtLWVudj1HU1RfUFJFU0VUX1BBVEg9L2FwcC9zaGFyZS9n
c3RyZWFtZXItMS4wL3ByZXNldHMvCi1idWlsZC1vcHRpb25zOgotICBjZmxhZ3M6IC1PMiAtZwot
ICBjeHhmbGFnczogLU8yIC1nCi0gIHN0cmlwOiBmYWxzZQotICBuby1kZWJ1Z2luZm86IHRydWUK
LW1vZHVsZXM6Ci0gIC0gb3JnLndlYmtpdC5Db21tb25Nb2R1bGVzLnlhbWwKLSAgLSBvcmcud2Vi
a2l0LldQRU1vZHVsZXMueWFtbAotCi0gICMgVGhpcyBtb2R1bGUgaXMgbm90IGFjdHVhbGx5IGJ1
aWx0LgotICAtIG5hbWU6IG9yZy53ZWJraXQuV1BFUVQKLSAgICBidWlsZHN5c3RlbTogY21ha2UK
LSAgICBzb3VyY2VzOgotICAgIC0gdHlwZTogZGlyCi0gICAgICBwYXRoOiAvYXBwL3dlYmtpdC9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL3F0CmRpZmYgLS1naXQgYS9Ub29scy9mbGF0
cGFrL29yZy53ZWJraXQuV2ViS2l0LnlhbWwgYi9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV2Vi
S2l0LnlhbWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2ZDYxMjY2MGQ4YTIwNDVk
YTMxMmZkYjA5MWI3OGU1OGE4MDdlNjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldlYktpdC55YW1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotYXBwLWlkOiAlKFBPUlROQU1FKXMKLXJ1bnRpbWU6
IG9yZy5nbm9tZS5QbGF0Zm9ybQotcnVudGltZS12ZXJzaW9uOiAiMy4zMiIKLSMgQ29udHJvbCB0
aGUgZXhhY3QgdmVyc2lvbiBvZiB0aGUgU2RrL1J1bnRpbWUgdGhhdCBpcyBiZWluZyB1c2VkLgot
c2RrLWhhc2g6IGIzYjliMWQxYjE5ZWEyYmI3MjAxOTQyOGNhNzVjN2E3ODQ1NWU5ODZhMGY5MWRk
ZGY2YTI5YzkyOTkwY2M1YTcKLXJ1bnRpbWUtaGFzaDogN2M5ZDU1OTJkODA1ZDBiN2MyMTIxOTBm
ZDgxMThlNGM3OGNiOGVkOGY4MWU2ODc4NTg5NzI2NzBkYWNjZmY3Ngotc2RrOiBvcmcuZ25vbWUu
U2RrCi1jb21tYW5kOiAlKENPTU1BTkQpcwotZmluaXNoLWFyZ3M6Ci0gICMgQmFzaWNhbGx5IG5v
IHNhbmRib3hpbmcsIHRoZSBnb2FsIGhlcmUgaXMgdG8gbWFrZSBpdCBmbGV4aWJsZQotICAjIGZv
ciBkZXZlbG9wZXJzLCBub3QgcmVhbGx5IHRvIGlzb2xhdGUgKG9wZW5uaW5nIGFsbCBkZXZpY2Vz
Ci0gICMgdG8gYWxsb3cgYWNjZXMgdmlkZW8gY2FtZXJhcyB1bnRpbCB3ZSBoYXZlIGEgcG9ydGFs
IGF0IGxlYXN0KS4KLSAgLSAtLXNoYXJlPWlwYwotICAtIC0tc29ja2V0PXgxMQotICAtIC0tc29j
a2V0PXdheWxhbmQKLSAgLSAtLWRldmljZT1hbGwKLSAgLSAtLXNoYXJlPW5ldHdvcmsKLSAgLSAt
LXNvY2tldD1wdWxzZWF1ZGlvCi0gIC0gLS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5mcmVlZGVza3Rv
cC5HZW9DbHVlMgotICAtIC0tc3lzdGVtLXRhbGstbmFtZT1vcmcuYTExeS5CdXMKLSAgLSAtLWZp
bGVzeXN0ZW09aG9zdAotICAtIC0tc29ja2V0PXN5c3RlbS1idXMKLSAgLSAtLXRhbGstbmFtZT1v
cmcuZnJlZWRlc2t0b3AuRmxhdHBhawotICAtIC0tZW52PUdTVF9QUkVTRVRfUEFUSD0vYXBwL3No
YXJlL2dzdHJlYW1lci0xLjAvcHJlc2V0cy8KLWJ1aWxkLW9wdGlvbnM6Ci0gIGNmbGFnczogLU8y
IC1nCi0gIGN4eGZsYWdzOiAtTzIgLWcKLSAgc3RyaXA6IGZhbHNlCi0gIG5vLWRlYnVnaW5mbzog
dHJ1ZQotbW9kdWxlczoKLSAgLSBvcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbAotICAjIFBv
cnQgc3BlY2lmaWMgY29tcG9uZW50cy4KLSAgLSAlKFBPUlROQU1FKXMueWFtbApkaWZmIC0tZ2l0
IGEvVG9vbHMvZmxhdHBhay9wYXRjaGVzL2h0dHBkLTAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29u
ZmlnLWZvci1QQ1JFLWRldGVjdGlvbi5wYXRjaCBiL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy9odHRw
ZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1kZXRlY3Rpb24ucGF0Y2gK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQzNmE2OTRmMjkyM2QzNTFkYjZmM2YxMzMy
NzYwMjgzZGE3OGY5ZGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvVG9vbHMvZmxhdHBhay9wYXRjaGVzL2h0dHBkLTAwMDEtY29uZmlndXJlLXVzZS1wa2ct
Y29uZmlnLWZvci1QQ1JFLWRldGVjdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICsw
LDAgQEAKLUZyb20gYjVlYmU0MDRmMTM4OGRkZGEzNjAzZTUzMjc3Zjg3ZTBiOTZiYTY5NSBNb24g
U2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGln
YWxpYS5jb20+Ci1EYXRlOiBNb24sIDExIEp1biAyMDE4IDE2OjE0OjM4IC0wNDAwCi1TdWJqZWN0
OiBbUEFUQ0hdIGNvbmZpZ3VyZTogdXNlIHBrZy1jb25maWcgZm9yIFBDUkUgZGV0ZWN0aW9uCi0K
LS0tLQotIGNvbmZpZ3VyZS5pbiB8IDI3ICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEg
ZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0t
Z2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCi1pbmRleCA3NjFlODM2Li5iMTU1ZDRi
IDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmluCi0rKysgYi9jb25maWd1cmUuaW4KLUBAIC0yMTUs
MjggKzIxNSwxMSBAQCBmaQotIEFDX0FSR19XSVRIKHBjcmUsCi0gQVBBQ0hFX0hFTFBfU1RSSU5H
KC0td2l0aC1wY3JlPVBBVEgsVXNlIGV4dGVybmFsIFBDUkUgbGlicmFyeSkpCi0gCi0tQUNfUEFU
SF9QUk9HKFBDUkVfQ09ORklHLCBwY3JlLWNvbmZpZywgZmFsc2UpCi0taWYgdGVzdCAtZCAiJHdp
dGhfcGNyZSIgJiYgdGVzdCAteCAiJHdpdGhfcGNyZS9iaW4vcGNyZS1jb25maWciOyB0aGVuCi0t
ICAgUENSRV9DT05GSUc9JHdpdGhfcGNyZS9iaW4vcGNyZS1jb25maWcKLS1lbGlmIHRlc3QgLXgg
IiR3aXRoX3BjcmUiOyB0aGVuCi0tICAgUENSRV9DT05GSUc9JHdpdGhfcGNyZQotLWZpCi0tCi0t
aWYgdGVzdCAiJFBDUkVfQ09ORklHIiAhPSAiZmFsc2UiOyB0aGVuCi0tICBpZiAkUENSRV9DT05G
SUcgLS12ZXJzaW9uID4vZGV2L251bGwgMj4mMTsgdGhlbiA6OyBlbHNlCi0tICAgIEFDX01TR19F
UlJPUihbRGlkIG5vdCBmaW5kIHBjcmUtY29uZmlnIHNjcmlwdCBhdCAkUENSRV9DT05GSUddKQot
LSAgZmkKLS0gIGNhc2UgYCRQQ1JFX0NPTkZJRyAtLXZlcnNpb25gIGluCi0tICBbWzEtNV0uKl0p
Ci0tICAgIEFDX01TR19FUlJPUihbTmVlZCBhdCBsZWFzdCBwY3JlIHZlcnNpb24gNi4wXSkKLS0g
ICAgOzsKLS0gIGVzYWMKLS0gIEFDX01TR19OT1RJQ0UoW1VzaW5nIGV4dGVybmFsIFBDUkUgbGli
cmFyeSBmcm9tICRQQ1JFX0NPTkZJR10pCi0tICBBUFJfQUREVE8oUENSRV9JTkNMVURFUywgW2Ak
UENSRV9DT05GSUcgLS1jZmxhZ3NgXSkKLS0gIEFQUl9BRERUTyhQQ1JFX0xJQlMsIFtgJFBDUkVf
Q09ORklHIC0tbGlic2BdKQotLWVsc2UKLS0gIEFDX01TR19FUlJPUihbcGNyZS1jb25maWcgZm9y
IGxpYnBjcmUgbm90IGZvdW5kLiBQQ1JFIGlzIHJlcXVpcmVkIGFuZCBhdmFpbGFibGUgZnJvbSBo
dHRwOi8vcGNyZS5vcmcvXSkKLS1maQotK1BLR19DSEVDS19NT0RVTEVTKFtQQ1JFXSwgW2xpYnBj
cmVdLCBbCi0rICBBQ19ERUZJTkUoW0hBVkVfUENSRV0sIFsxXSwgW0RlZmluZSBpZiB5b3UgaGF2
ZSBQQ1JFIGxpYnJhcnldKQotK10sIFsKLSsgIEFDX01TR19FUlJPUihbJFBDUkVfUEtHX0VSUk9S
U10pCi0rXSkKLSBBUEFDSEVfU1VCU1QoUENSRV9MSUJTKQotIAotIEFDX01TR19OT1RJQ0UoW10p
Ci0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL3BhdGNoZXMvbGliZ2Ny
eXB0LTAwMDEtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRjaCBiL1Rvb2xz
L2ZsYXRwYWsvcGF0Y2hlcy9saWJnY3J5cHQtMDAwMS1Vc2UtcGtnLWNvbmZpZy10by1kZXRlY3Qt
Z3BnLWVycm9yLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNTc3MjdmYmI4
YjA4YjkxOTVhNWMwOTdkNmM2MWI5MDhjNjkxNzlhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy9saWJnY3J5cHQtMDAw
MS1Vc2UtcGtnLWNvbmZpZy10by1kZXRlY3QtZ3BnLWVycm9yLnBhdGNoCisrKyAvZGV2L251bGwK
QEAgLTEsMTEwICswLDAgQEAKLUZyb20gOWFmZjNmMWIzNDRmYzg2NjZiMTRjNTc2MjkxNjJjMmI5
MDA3Y2FkOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRoaWJhdWx0IFNhdW5pZXIg
PHRzYXVuaWVyQGlnYWxpYS5jb20+Ci1EYXRlOiBGcmksIDI5IEp1biAyMDE4IDA5OjA1OjUyIC0w
NDAwCi1TdWJqZWN0OiBbUEFUQ0hdIFVzZSBwa2ctY29uZmlnIHRvIGRldGVjdCBncGctZXJyb3IK
LQotLS0tCi0gbTQvZ3BnLWVycm9yLm00IHwgODggKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCsp
LCA3NiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL200L2dwZy1lcnJvci5tNCBiL200L2dw
Zy1lcnJvci5tNAotaW5kZXggMTY2MTIwNGMuLjVmOWYzM2MyIDEwMDY0NAotLS0tIGEvbTQvZ3Bn
LWVycm9yLm00Ci0rKysgYi9tNC9ncGctZXJyb3IubTQKLUBAIC00MSw4MSArNDEsMTcgQEAgQUNf
REVGVU4oW0FNX1BBVEhfR1BHX0VSUk9SXSwKLSAgIEFDX0FSR19XSVRIKGdwZy1lcnJvci1wcmVm
aXgsLAotICAgICAgICAgICAgICAgW2dwZ19lcnJvcl9jb25maWdfcHJlZml4PSIkd2l0aHZhbCJd
KQotIAotLSAgaWYgdGVzdCB4IiR7R1BHX0VSUk9SX0NPTkZJR30iID0geCA7IHRoZW4KLS0gICAg
IGlmIHRlc3QgeCIke2dwZ19lcnJvcl9jb25maWdfcHJlZml4fSIgIT0geCA7IHRoZW4KLS0gICAg
ICAgIEdQR19FUlJPUl9DT05GSUc9IiR7Z3BnX2Vycm9yX2NvbmZpZ19wcmVmaXh9L2Jpbi9ncGct
ZXJyb3ItY29uZmlnIgotLSAgICAgZWxzZQotLSAgICAgICBjYXNlICIke1NZU1JPT1R9IiBpbgot
LSAgICAgICAgIC8qKQotLSAgICAgICAgICAgaWYgdGVzdCAteCAiJHtTWVNST09UfS9iaW4vZ3Bn
LWVycm9yLWNvbmZpZyIgOyB0aGVuCi0tICAgICAgICAgICAgIEdQR19FUlJPUl9DT05GSUc9IiR7
U1lTUk9PVH0vYmluL2dwZy1lcnJvci1jb25maWciCi0tICAgICAgICAgICBmaQotLSAgICAgICAg
ICAgOzsKLS0gICAgICAgICAnJykKLS0gICAgICAgICAgIDs7Ci0tICAgICAgICAgICopCi0tICAg
ICAgICAgICBBQ19NU0dfV0FSTihbSWdub3JpbmcgXCRTWVNST09UIGFzIGl0IGlzIG5vdCBhbiBh
YnNvbHV0ZSBwYXRoLl0pCi0tICAgICAgICAgICA7OwotLSAgICAgICBlc2FjCi0tICAgICBmaQot
LSAgZmkKLSsgIFBLR19DSEVDS19NT0RVTEVTKFtHUEdfRVJST1JdLCBbZ3BnLWVycm9yXSwgWwot
KyAgICBBQ19ERUZJTkUoW0hBVkVfR1BHX0VSUk9SXSwgWzFdLCBbRGVmaW5lIGlmIHlvdSBoYXZl
IGdwZy1lcnJvciBsaWJyYXJ5XSkKLSAKLS0gIEFDX1BBVEhfUFJPRyhHUEdfRVJST1JfQ09ORklH
LCBncGctZXJyb3ItY29uZmlnLCBubykKLS0gIG1pbl9ncGdfZXJyb3JfdmVyc2lvbj1pZmVsc2Uo
WyQxXSwgLDAuMCwkMSkKLS0gIEFDX01TR19DSEVDS0lORyhmb3IgR1BHIEVycm9yIC0gdmVyc2lv
biA+PSAkbWluX2dwZ19lcnJvcl92ZXJzaW9uKQotLSAgb2s9bm8KLS0gIGlmIHRlc3QgIiRHUEdf
RVJST1JfQ09ORklHIiAhPSAibm8iIFwKLS0gICAgICYmIHRlc3QgLWYgIiRHUEdfRVJST1JfQ09O
RklHIiA7IHRoZW4KLS0gICAgcmVxX21ham9yPWBlY2hvICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb24g
fCBcCi0tICAgICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwuXChbWzAtOV1dKlwpL1wx
LydgCi0tICAgIHJlcV9taW5vcj1gZWNobyAkbWluX2dwZ19lcnJvcl92ZXJzaW9uIHwgXAotLSAg
ICAgICAgICAgICAgIHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS9cMi8nYAotLSAg
ICBncGdfZXJyb3JfY29uZmlnX3ZlcnNpb249YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3Jf
Y29uZmlnX2FyZ3MgLS12ZXJzaW9uYAotLSAgICBtYWpvcj1gZWNobyAkZ3BnX2Vycm9yX2NvbmZp
Z192ZXJzaW9uIHwgXAotLSAgICAgICAgICAgICAgIHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1sw
LTldXSpcKS4qL1wxLydgCi0tICAgIG1pbm9yPWBlY2hvICRncGdfZXJyb3JfY29uZmlnX3ZlcnNp
b24gfCBcCi0tICAgICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwuXChbWzAtOV1dKlwp
LiovXDIvJ2AKLS0gICAgaWYgdGVzdCAiJG1ham9yIiAtZ3QgIiRyZXFfbWFqb3IiOyB0aGVuCi0t
ICAgICAgICBvaz15ZXMKLS0gICAgZWxzZQotLSAgICAgICAgaWYgdGVzdCAiJG1ham9yIiAtZXEg
IiRyZXFfbWFqb3IiOyB0aGVuCi0tICAgICAgICAgICAgaWYgdGVzdCAiJG1pbm9yIiAtZ2UgIiRy
ZXFfbWlub3IiOyB0aGVuCi0tICAgICAgICAgICAgICAgb2s9eWVzCi0tICAgICAgICAgICAgZmkK
LS0gICAgICAgIGZpCi0tICAgIGZpCi0tICBmaQotLSAgaWYgdGVzdCAkb2sgPSB5ZXM7IHRoZW4K
LS0gICAgR1BHX0VSUk9SX0NGTEFHUz1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9jb25m
aWdfYXJncyAtLWNmbGFnc2AKLS0gICAgR1BHX0VSUk9SX0xJQlM9YCRHUEdfRVJST1JfQ09ORklH
ICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1saWJzYAotLSAgICBHUEdfRVJST1JfTVRfQ0ZMQUdT
PWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19hcmdzIC0tbXQgLS1jZmxhZ3Mg
Mj4vZGV2L251bGxgCi0tICAgIEdQR19FUlJPUl9NVF9MSUJTPWAkR1BHX0VSUk9SX0NPTkZJRyAk
Z3BnX2Vycm9yX2NvbmZpZ19hcmdzIC0tbXQgLS1saWJzIDI+L2Rldi9udWxsYAotLSAgICBBQ19N
U0dfUkVTVUxUKFt5ZXMgKCRncGdfZXJyb3JfY29uZmlnX3ZlcnNpb24pXSkKLS0gICAgaWZlbHNl
KFskMl0sICwgOiwgWyQyXSkKLS0gICAgZ3BnX2Vycm9yX2NvbmZpZ19ob3N0PWAkR1BHX0VSUk9S
X0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19hcmdzIC0taG9zdCAyPi9kZXYvbnVsbCB8fCBlY2hv
IG5vbmVgCi0tICAgIGlmIHRlc3QgeCIkZ3BnX2Vycm9yX2NvbmZpZ19ob3N0IiAhPSB4bm9uZSA7
IHRoZW4KLS0gICAgICBpZiB0ZXN0IHgiJGdwZ19lcnJvcl9jb25maWdfaG9zdCIgIT0geCIkaG9z
dCIgOyB0aGVuCi0tICBBQ19NU0dfV0FSTihbWwotLSoqKgotLSoqKiBUaGUgY29uZmlnIHNjcmlw
dCAkR1BHX0VSUk9SX0NPTkZJRyB3YXMKLS0qKiogYnVpbHQgZm9yICRncGdfZXJyb3JfY29uZmln
X2hvc3QgYW5kIHRodXMgbWF5IG5vdCBtYXRjaCB0aGUKLS0qKiogdXNlZCBob3N0ICRob3N0Lgot
LSoqKiBZb3UgbWF5IHdhbnQgdG8gdXNlIHRoZSBjb25maWd1cmUgb3B0aW9uIC0td2l0aC1ncGct
ZXJyb3ItcHJlZml4Ci0tKioqIHRvIHNwZWNpZnkgYSBtYXRjaGluZyBjb25maWcgc2NyaXB0IG9y
IHVzZSBcJFNZU1JPT1QuCi0tKioqXV0pCi0tICAgICAgICBncGdfY29uZmlnX3NjcmlwdF93YXJu
PSIkZ3BnX2NvbmZpZ19zY3JpcHRfd2FybiBsaWJncGctZXJyb3IiCi0tICAgICAgZmkKLS0gICAg
ZmkKLS0gIGVsc2UKLS0gICAgR1BHX0VSUk9SX0NGTEFHUz0iIgotLSAgICBHUEdfRVJST1JfTElC
Uz0iIgotLSAgICBHUEdfRVJST1JfTVRfQ0ZMQUdTPSIiCi0tICAgIEdQR19FUlJPUl9NVF9MSUJT
PSIiCi0tICAgIEFDX01TR19SRVNVTFQobm8pCi0tICAgIGlmZWxzZShbJDNdLCAsIDosIFskM10p
Ci0tICBmaQotLSAgQUNfU1VCU1QoR1BHX0VSUk9SX0NGTEFHUykKLS0gIEFDX1NVQlNUKEdQR19F
UlJPUl9MSUJTKQotLSAgQUNfU1VCU1QoR1BHX0VSUk9SX01UX0NGTEFHUykKLS0gIEFDX1NVQlNU
KEdQR19FUlJPUl9NVF9MSUJTKQotKyAgICBHUEdfRVJST1JfTVRfQ0ZMQUdTPSIkR1BHX0VSUk9S
X0NGTEFHUyIKLSsgICAgR1BHX0VSUk9SX01UX0xJQlM9Ii1scHRocmVhZCAkR1BHX0VSUk9SX0xJ
QlMiCi0rCi0rICAgIEFDX1NVQlNUKEdQR19FUlJPUl9DRkxBR1MpCi0rICAgIEFDX1NVQlNUKEdQ
R19FUlJPUl9MSUJTKQotKyAgICBBQ19TVUJTVChHUEdfRVJST1JfTVRfQ0ZMQUdTKQotKyAgICBB
Q19TVUJTVChHUEdfRVJST1JfTVRfTElCUykKLSsgIF0sIFsKLSsgICAgQUNfTVNHX0VSUk9SKFsk
R1BHX0VSUk9SX0VSUk9SU10pCi0rICBdKQotIF0pCi0tLSAKLTIuMTguMAotCmRpZmYgLS1naXQg
YS9Ub29scy9mbGF0cGFrL3BhdGNoZXMveHZmYi0wMDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEt
a2JtLWZpbGUucGF0Y2ggYi9Ub29scy9mbGF0cGFrL3BhdGNoZXMveHZmYi0wMDAxLUhBQ0stQXZv
aWQtY29tcGlsaW5nLWEta2JtLWZpbGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDg5ODg0MmIzODFkMjUxNDBmYmMwOGY1NGE5NzIzMGE2ZGJlNGE0NTAuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9wYXRjaGVz
L3h2ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1maWxlLnBhdGNoCisrKyAvZGV2
L251bGwKQEAgLTEsNTAgKzAsMCBAQAotRnJvbSBhZWQxYjZlOGRlNDEzNzVjMWI4YjFkZmM0OGEz
NTBlMGE5YjljYmJhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGhpYmF1bHQgU2F1
bmllciA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KLURhdGU6IE1vbiwgMTEgSnVuIDIwMTggMTA6NTU6
NDMgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCB4c2VydmVyXSBIQUNLOiBBdm9pZCBjb21waWxpbmcg
YSBrYm0gZmlsZQotCi1UaGlzIHdvdWxkIG5lZWQgdG8gYmUgaW4gL3Vzci9zaGFyZS9YMTEvIGFz
IHRoaXMgaXMgd2hlcmUKLXJlc291cmNlIGZpbGVzIGFyZSBpbiB0aGUgc2FuZGJveCBidXQgaXQg
aXMgcmVhZCBvbmx5IGluIHRoZXJlLgotCi1IYWNrIGFyb3VuZCB0aGF0LgotLS0tCi0geGtiL2Rk
eExvYWQuYyB8IDkgKy0tLS0tLS0tCi0geGtiL3hrYkluaXQuYyB8IDIgKy0KLSAyIGZpbGVzIGNo
YW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3hr
Yi9kZHhMb2FkLmMgYi94a2IvZGR4TG9hZC5jCi1pbmRleCBiYmUzOTUyLi5hNGEwM2ExIDEwMDY0
NAotLS0tIGEveGtiL2RkeExvYWQuYwotKysrIGIveGtiL2RkeExvYWQuYwotQEAgLTE0OCwxNCAr
MTQ4LDcgQEAgUnVuWGtiQ29tcCh4a2Jjb21wX2J1ZmZlcl9jYWxsYmFjayBjYWxsYmFjaywgdm9p
ZCAqdXNlcmRhdGEpCi0gICAgICAgICB9Ci0gICAgIH0KLSAKLS0gICAgaWYgKGFzcHJpbnRmKCZi
dWYsCi0tICAgICAgICAgICAgICAgICAiXCIlcyVzeGtiY29tcFwiIC13ICVkICVzIC14a20gXCIl
c1wiICIKLS0gICAgICAgICAgICAgICAgICItZW0xICVzIC1lbXAgJXMgLWVtbCAlcyBcIiVzJXMu
eGttXCIiLAotLSAgICAgICAgICAgICAgICAgeGtiYmluZGlyLCB4a2JiaW5kaXJzZXAsCi0tICAg
ICAgICAgICAgICAgICAoKHhrYkRlYnVnRmxhZ3MgPCAyKSA/IDEgOgotLSAgICAgICAgICAgICAg
ICAgICgoeGtiRGVidWdGbGFncyA+IDEwKSA/IDEwIDogKGludCkgeGtiRGVidWdGbGFncykpLAot
LSAgICAgICAgICAgICAgICAgeGtiYmFzZWRpcmZsYWcgPyB4a2JiYXNlZGlyZmxhZyA6ICIiLCB4
a21maWxlLAotLSAgICAgICAgICAgICAgICAgUFJFX0VSUk9SX01TRywgRVJST1JfUFJFRklYLCBQ
T1NUX0VSUk9SX01TRzEsCi0rICAgIGlmIChhc3ByaW50ZigmYnVmLCAiY3AgL2FwcC93ZWJraXQv
VG9vbHMvZmxhdHBhay9maWxlcy9kZWZhdWx0LnhrbSBcIiVzJXMueGttXCIiLAotICAgICAgICAg
ICAgICAgICAgeGttX291dHB1dF9kaXIsIGtleW1hcCkgPT0gLTEpCi0gICAgICAgICBidWYgPSBO
VUxMOwotIAotZGlmZiAtLWdpdCBhL3hrYi94a2JJbml0LmMgYi94a2IveGtiSW5pdC5jCi1pbmRl
eCA5Yzc3MmY1Li40ZTBiNzc0IDEwMDY0NAotLS0tIGEveGtiL3hrYkluaXQuYwotKysrIGIveGti
L3hrYkluaXQuYwotQEAgLTg3LDcgKzg3LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX1NydlhrbUluZm8g
ewotICNkZWZpbmUJWEtCX0RGTFRfUlVMRVNfUFJPUAlUUlVFCi0gI2VuZGlmCi0gCi0tY29uc3Qg
Y2hhciAqWGtiQmFzZURpcmVjdG9yeSA9IFhLQl9CQVNFX0RJUkVDVE9SWTsKLStjb25zdCBjaGFy
ICpYa2JCYXNlRGlyZWN0b3J5ID0gIi91c3Ivc2hhcmUvWDExL3hrYi8iOwotIGNvbnN0IGNoYXIg
KlhrYkJpbkRpcmVjdG9yeSA9IFhLQl9CSU5fRElSRUNUT1JZOwotIHN0YXRpYyBpbnQgWGtiV2Fu
dEFjY2Vzc1ggPSAwOwotIAotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvZ3RrL2lu
c3RhbGwtZGVwZW5kZW5jaWVzIGIvVG9vbHMvZ3RrL2luc3RhbGwtZGVwZW5kZW5jaWVzCmluZGV4
IDZmZDU2NmYwZGNmM2M1MTQyZjY5MGZlMmIzOTNhNmUwM2U3OWUzYTMuLjYzYjk2NzVmYzA5MThj
ZWEwZDBkNmRmMWE3OTE0ZTM1Y2M4MTNkZDYgMTAwNzU1Ci0tLSBhL1Rvb2xzL2d0ay9pbnN0YWxs
LWRlcGVuZGVuY2llcworKysgYi9Ub29scy9ndGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMKQEAgLTE3
OCw2ICsxNzgsMTAgQEAgZnVuY3Rpb24gaW5zdGFsbERlcGVuZGVuY2llc1dpdGhBcHQgewogICAg
ICAgICB3ZXN0b24gXAogICAgICAgICB4dmZiIgogCisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5j
aWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgd2l0aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFj
a2FnZXM9IiRwYWNrYWdlcyBcCisgICAgICAgIGZsYXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBk
ZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB0aGUgamhidWlsZC4KICAgICBwYWNr
YWdlcz0iJHBhY2thZ2VzIFwKICAgICAgICAgYmlzb24gXApAQCAtMzQ4LDYgKzM1MiwxMCBAQCBm
dW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aFBhY21hbiB7CiAgICAgICAgIHdlc3RvbiBc
CiAgICAgICAgIHhvcmctc2VydmVyLXh2ZmIiCiAKKyAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNp
ZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAgICBwYWNr
YWdlcz0iJHBhY2thZ2VzIFwKKyAgICAgICAgZmxhdHBhayIKKwogICAgICMgVGhlc2UgYXJlIGRl
cGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAgICMgTm90
ZTogQ291bGQgbm90IGZpbmQgbGliZWdsLW1lc2EKICAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwK
QEAgLTUyMiw2ICs1MzAsMTAgQEAgZnVuY3Rpb24gaW5zdGFsbERlcGVuZGVuY2llc1dpdGhEbmYg
ewogICAgICAgICB3ZXN0b24tZGV2ZWwgXAogICAgICAgICB4b3JnLXgxMS1zZXJ2ZXItWHZmYiIK
IAorICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHdp
dGggdGhlIEZsYXRwYWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAorICAgICAgICBm
bGF0cGFrIgorCiAgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVp
bGRpbmcgdGhlIGpoYnVpbGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCiAgICAgICAgIGJp
c29uIFwKZGlmZiAtLWdpdCBhL1Rvb2xzL3dwZS9pbnN0YWxsLWRlcGVuZGVuY2llcyBiL1Rvb2xz
L3dwZS9pbnN0YWxsLWRlcGVuZGVuY2llcwppbmRleCBjYTFjZDNmZGVmMGNhZjY0NjY4MjNlNWE4
ZWQ5MmI0NDdjNDkwYWExLi5mMmE1ZjI1ZGVkODM3YTllOTM1MjU1NGI2ZDJmMmFlMWYzNTA2MjRk
IDEwMDc1NQotLS0gYS9Ub29scy93cGUvaW5zdGFsbC1kZXBlbmRlbmNpZXMKKysrIGIvVG9vbHMv
d3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzCkBAIC0xMTEsNiArMTExLDEwIEBAIGZ1bmN0aW9uIGlu
c3RhbGxEZXBlbmRlbmNpZXNXaXRoQXB0IHsKICAgICAgICAgcnVieS1oaWdobGluZSBcCiAgICAg
ICAgIHJ1YnktanNvbiIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3Nhcnkg
Zm9yIGJ1aWxkaW5nIHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2Fn
ZXMgXAorICAgICAgICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5l
Y2Vzc2FyeSBmb3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdl
cyBcCiAgICAgICAgIGdpdCBcCkBAIC0yMTQsNiArMjE4LDEwIEBAIGZ1bmN0aW9uIGluc3RhbGxE
ZXBlbmRlbmNpZXNXaXRoUGFjbWFuIHsKICAgICAgICAgcnVieSBcCiAgICAgICAgIHR0Zi1saWJl
cmF0aW9uIgogCisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVp
bGRpbmcgd2l0aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCisg
ICAgICAgIGZsYXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5
IGZvciBidWlsZGluZyB0aGUgamhidWlsZC4KICAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKICAg
ICAgICAgZXhwYXQgXApAQCAtMzI2LDYgKzMzNCwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5k
ZW5jaWVzV2l0aERuZiB7CiAgICAgICAgIHJ1YnlnZW0taGlnaGxpbmUgXAogICAgICAgICBydWJ5
Z2VtLWpzb24iCiAKKyAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBi
dWlsZGluZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwK
KyAgICAgICAgZmxhdHBhayIKKwogICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3Nh
cnkgZm9yIGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAog
ICAgICAgICBleHBhdC1kZXZlbCBcCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTNhNmZiNGQzNzE1YjllMGRjMTgwYzZhNzkw
ZTY2MjA2MTJjNjVlZi4uOGZhMGFmYTQ2ODdlMGI4N2QzYTQ0YzIzMjMxY2NkNDIyMTIyYzM4ZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTAyLTA0ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5v
cm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIE1pZ3JhdGUgdG8gRmxhdHBh
ay1iYXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGh0dHAvY29uZi9mbGF0cGFrLWh0dHBkLmNvbmY6IEFkanVzdCBwYXRocy4KKwog
MjAyMC0wMy0xMCAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAg
W2lPU10gTWFrZSBzdXJlIGEgTWVkaVN0cmVhbVRyYWNrIGNsb25lIGRvZXMgbm90IGludGVycnVw
dCB0aGUgYmVpbmcgY2xvbmVkIHRyYWNrCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL2Nv
bmYvZmxhdHBhay1odHRwZC5jb25mIGIvTGF5b3V0VGVzdHMvaHR0cC9jb25mL2ZsYXRwYWstaHR0
cGQuY29uZgppbmRleCAzYzAzZTQyMzljMjQ5ODlkOWNkNzk2ODYxNDRiYzdjZTJiMzBjMzFiLi5i
ZjUyMTVkNTg5YWQ2MWY4ODJkNTNhMDY3NWFkNjdhNDQ2YWI5NDNmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL2NvbmYvZmxhdHBhay1odHRwZC5jb25mCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvY29uZi9mbGF0cGFrLWh0dHBkLmNvbmYKQEAgLTEsNSArMSw1IEBACiBTZXJ2ZXJUb2tlbnMg
T1MKLVNlcnZlclJvb3QgIi9hcHAvIgorU2VydmVyUm9vdCAiL3Vzci8iCiAKIFBpZEZpbGUgIi90
bXAvV2ViS2l0L2h0dHBkLnBpZCIKIFNjb3JlQm9hcmRGaWxlICIvdG1wL1dlYktpdC9odHRwZC5z
Y29yZWJvYXJkIgpAQCAtMzMsOSArMzMsNyBAQCBMb2FkTW9kdWxlIGxvZ19jb25maWdfbW9kdWxl
ICAgIG1vZHVsZXMvbW9kX2xvZ19jb25maWcuc28KIExvYWRNb2R1bGUgc3NsX21vZHVsZSAgICAg
ICAgICAgbW9kdWxlcy9tb2Rfc3NsLnNvCiBMb2FkTW9kdWxlIHBocDdfbW9kdWxlICAgICAgICAg
IG1vZHVsZXMvbGlicGhwNy5zbwogTG9hZE1vZHVsZSBhc2lzX21vZHVsZSAgICAgICAgICBtb2R1
bGVzL21vZF9hc2lzLnNvCi1Mb2FkTW9kdWxlIGVudl9tb2R1bGUgICAgICAgICAgIG1vZHVsZXMv
bW9kX2Vudi5zbwogCi1TZXRFbnYgUEVSTDVMSUIgL2FwcC9saWIvcGVybAogCiBTZXJ2ZXJOYW1l
IDEyNy4wLjAuMQogCkBAIC01NCw3ICs1Miw3IEBAIEFjY2Vzc0ZpbGVOYW1lIC5odGFjY2Vzcwog
VXNlQ2Fub25pY2FsTmFtZSBPbgogSG9zdG5hbWVMb29rdXBzIE9mZgogCi1UeXBlc0NvbmZpZyAv
ZXRjL21pbWUudHlwZXMKK1R5cGVzQ29uZmlnIC91c3IvY29uZi9taW1lLnR5cGVzCiAKIExvZ0xl
dmVsIHdhcm4KIExvZ0Zvcm1hdCAiJWggJWwgJXUgJXQgXCIlclwiICU+cyAlYiBcIiV7UmVmZXJl
cn1pXCIgXCIle1VzZXItQWdlbnR9aVwiIiBjb21iaW5lZAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393214</attachid>
            <date>2020-03-11 02:51:31 -0700</date>
            <delta_ts>2020-03-11 04:39:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205658-20200311095128.patch</filename>
            <type>text/plain</type>
            <size>131601</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MjU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTNkMjliOWFlMzZmYTgy
ODg2ZTQwN2YxMTY0MWQwNTliYWFlNzlkNS4uZDNlNTY4OGNiZTkxMGNmZGVlMWEwNmIxN2VkOGUy
ZDMzY2Q2Mzc5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAyLTA0ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVd
IE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0
aW9uTGliSHlwaGVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNjYW5UZXN0RGljdGlvbmFyaWVz
RGlyZWN0b3J5SWZOZWNlc3NhcnkpOiBDaGVjayBmb3IgZmxhdHBhay1pbnN0YWxsZWQgZGljdGlv
bmFyaWVzLgorCiAyMDIwLTAzLTExICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBbaU9TXSBVbnNraXAgZmFzdC9tZWRpYXN0cmVhbSB0ZXN0cwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9oeXBoZW4vSHlwaGVuYXRpb25MaWJIeXBo
ZW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9oeXBoZW4vSHlwaGVuYXRpb25M
aWJIeXBoZW4uY3BwCmluZGV4IDEyYmFhNGM0ZDNlOWU2M2Y3ZmY4MWM1ZTJiMTE5NGI4YmI4YTlj
MDUuLmYzMzU5ZDgwNzAyMmY1NDg5YzY4ZjlhY2Y4MTZhNjcwNDJhNTNkNjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0aW9uTGliSHlwaGVu
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2h5cGhlbi9IeXBoZW5hdGlv
bkxpYkh5cGhlbi5jcHAKQEAgLTEyMSw4ICsxMjEsMTUgQEAgc3RhdGljIHZvaWQgc2NhblRlc3RE
aWN0aW9uYXJpZXNEaXJlY3RvcnlJZk5lY2Vzc2FyeShIYXNoTWFwPEF0b21TdHJpbmcsIFZlY3Rv
cjwKICAgICAvLyBsaWJoeXBoZW4gZG9lc24ndCBoYXZlIHRoZSBjb25jZXB0IG9mIGluc3RhbGxl
ZCBkaWN0aW9uYXJpZXMuIEluc3RlYWQsCiAgICAgLy8gd2UgaGF2ZSB0aGlzIHNwZWNpYWwgY2Fz
ZSBmb3IgV2ViS2l0IHRlc3RzLgogI2lmIFBMQVRGT1JNKEdUSykKKyAgICAvLyBUcnkgYWx0ZXJu
YXRpdmUgZGljdGlvbmFyaWVzIHBhdGggZm9yIHBlb3BsZSB1c2luZyBGbGF0cGFrLgorICAgIEdV
bmlxdWVQdHI8Y2hhcj4gZGljdGlvbmFyaWVzUGF0aChnX2J1aWxkX2ZpbGVuYW1lKCIvdXNyIiwg
InNoYXJlIiwgIndlYmtpdGd0ay10ZXN0LWRpY3RzIiwgbnVsbHB0cikpOworICAgIGlmIChnX2dl
dGVudigiRkxBVFBBS19JRCIpICYmIGdfZmlsZV90ZXN0KGRpY3Rpb25hcmllc1BhdGguZ2V0KCks
IHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfSVNfRElSKSkpIHsKKyAgICAgICAg
c2NhbkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFp
bGFibGVMb2NhbGVzKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIENTdHJpbmcgYnVp
bGREaXJlY3RvcnkgPSB3ZWJraXRCdWlsZERpcmVjdG9yeSgpOwotICAgIEdVbmlxdWVQdHI8Y2hh
cj4gZGljdGlvbmFyaWVzUGF0aChnX2J1aWxkX2ZpbGVuYW1lKGJ1aWxkRGlyZWN0b3J5LmRhdGEo
KSwgIkRlcGVuZGVuY2llc0dUSyIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWRpY3RzIiwgbnVs
bHB0cikpOworICAgIGRpY3Rpb25hcmllc1BhdGgucmVzZXQoZ19idWlsZF9maWxlbmFtZShidWls
ZERpcmVjdG9yeS5kYXRhKCksICJEZXBlbmRlbmNpZXNHVEsiLCAiUm9vdCIsICJ3ZWJraXRndGst
dGVzdC1kaWN0cyIsIG51bGxwdHIpKTsKICAgICBpZiAoZ19maWxlX3Rlc3QoZGljdGlvbmFyaWVz
UGF0aC5nZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9JU19ESVIpKSkg
ewogICAgICAgICBzY2FuRGlyZWN0b3J5Rm9yRGljdGlvbmFyaWVzKGRpY3Rpb25hcmllc1BhdGgu
Z2V0KCksIGF2YWlsYWJsZUxvY2FsZXMpOwogICAgICAgICByZXR1cm47CkBAIC0xMzAsNyArMTM3
LDkgQEAgc3RhdGljIHZvaWQgc2NhblRlc3REaWN0aW9uYXJpZXNEaXJlY3RvcnlJZk5lY2Vzc2Fy
eShIYXNoTWFwPEF0b21TdHJpbmcsIFZlY3RvcjwKIAogICAgIC8vIFRyeSBhbHRlcm5hdGl2ZSBk
aWN0aW9uYXJpZXMgcGF0aCBmb3IgcGVvcGxlIG5vdCB1c2luZyBKSEJ1aWxkLgogICAgIGRpY3Rp
b25hcmllc1BhdGgucmVzZXQoZ19idWlsZF9maWxlbmFtZShidWlsZERpcmVjdG9yeS5kYXRhKCks
ICJ3ZWJraXRndGstdGVzdC1kaWN0cyIsIG51bGxwdHIpKTsKLSAgICBzY2FuRGlyZWN0b3J5Rm9y
RGljdGlvbmFyaWVzKGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIGF2YWlsYWJsZUxvY2FsZXMpOwor
ICAgIGlmIChnX2ZpbGVfdGVzdChkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxH
RmlsZVRlc3Q+KEdfRklMRV9URVNUX0lTX0RJUikpKQorICAgICAgICBzY2FuRGlyZWN0b3J5Rm9y
RGljdGlvbmFyaWVzKGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIGF2YWlsYWJsZUxvY2FsZXMpOwor
CiAjZWxpZiBkZWZpbmVkKFRFU1RfSFlQSEVOQVRBSU9OX1BBVEgpCiAgICAgc2NhbkRpcmVjdG9y
eUZvckRpY3Rpb25hcmllcyhURVNUX0hZUEhFTkFUQUlPTl9QQVRILCBhdmFpbGFibGVMb2NhbGVz
KTsKICNlbHNlCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggOGZkZTBlZjc0NjhmOWI1ZmNkNjhiYjM3NzdiMDAzNDhmMjliZjNmZi4uZDEzY2MxMWUz
NjkzMmU0OWUxMWRjZmQ0NjA2MDQ3N2ZhNTI1MTc5MSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNSBAQAorMjAyMC0wMi0wNCAg
UGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11b
V1BFXSBNaWdyYXRlIHRvIEZsYXRwYWstYmFzZWQgZGV2IFNESworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NjU4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSkhCdWlsZCB3aWxsIG5vdyBiZSB1c2VkIG9u
bHkgaWYgdGhlIFdFQktJVF9KSEJVSUxEIGVudmlyb25tZW50CisgICAgICAgIHZhcmlhYmxlIGlz
IHNldCB0byAxLCB3aGljaCBpcyB0aGUgY2FzZSBmb3IgdGhlIHRpbWUgYmVpbmcgb24gdGhlCisg
ICAgICAgIEdUSyBhbmQgV1BFIEVXUy9idWlsZCBib3RzLgorCisgICAgICAgIEJ5IGRlZmF1bHQg
dGhlIGJ1aWxkIGRlcGVuZGVuY2llcyBhcmUgbm93IGxvY2FsbHkgaW5zdGFsbGVkIGZyb20gYQor
ICAgICAgICBGbGF0cGFrIHJlcG9zaXRvcnkgaG9zdGVkIGF0IGh0dHBzOi8vc29mdHdhcmUuaWdh
bGlhLmNvbS4gVGhlCisgICAgICAgIHJlcG9zaXRvcnkgY2FuIGJlIHJlZ2VuZXJhdGVkIHdpdGgg
dGhlIHNjcmlwdHMgZnJvbSB0aGUKKyAgICAgICAgd2Via2l0LWZsYXRwYWstc2RrIEdpdGh1YiBw
cm9qZWN0CisgICAgICAgIChodHRwczovL2dpdGh1Yi5jb20vSWdhbGlhL3dlYmtpdC1mbGF0cGFr
LXNkaykuIFRoaXMgaXMgZG9uZQorICAgICAgICB0cmFuc3BhcmVudGx5IHdpdGggdGhlIHVwZGF0
ZS13ZWJraXR7Z3RrLHdwZX0tbGlicyBzY3JpcHRzLiBBcworICAgICAgICB0aGVyZSBpcyBubyBu
ZWVkIHRvIHJlYnVpbGQgdGhlIGRlcGVuZGVuY2llcyBmcm9tIHNjcmF0Y2gsIHRoZQorICAgICAg
ICBkZXZlbG9wZXIgdXNlci1leHBlcmllbmNlIHNob3VsZCBub3cgYmUgbXVjaCBtb3JlIGZyaWVu
ZGx5IGFuZAorICAgICAgICBvdmVyYWxsIGJ1aWxkIHRpbWVzIHJlZHVjZWQuCisKKyAgICAgICAg
QXMgYW4gYWRkaXRpb25hbCBjb21tb2RpdHksIHRoZSBuZXcgZW52aXJvbm1lbnQgc3VwcG9ydHMg
dGhlCisgICAgICAgIEdTdHJlYW1lciBnc3QtYnVpbGQtYmFzZWQgd29ya2Zsb3cuIEp1c3Qgc2V0
IHRoZSBHU1RfQlVJTERfUEFUSAorICAgICAgICBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byB5b3Vy
IGdzdC1idWlsZCBwYXRoLiBUaGlzIGZlYXR1cmUgd2FzCisgICAgICAgIGNvbnRyaWJ1dGVkIGJ5
IFRoaWJhdWx0IFNhdW5pZXIuCisKKyAgICAgICAgVGhlIEpIQnVpbGQgaW5mcmFzdHJ1Y3R1cmUg
d2lsbCBiZSByZW1vdmVkIG9uY2UgYWxsIHRoZSBib3RzIGhhdmUKKyAgICAgICAgYmVlbiBzd2l0
Y2hlZCBvdmVyIHRvIEZsYXRwYWsuCisKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9ld3Mt
YnVpbGQvc3RlcHMucHk6CisgICAgICAgIChJbnN0YWxsR3RrRGVwZW5kZW5jaWVzKToKKyAgICAg
ICAgKEluc3RhbGxXcGVEZXBlbmRlbmNpZXMpOgorICAgICAgICAoQ29tcGlsZVdlYktpdC5zdGFy
dCk6CisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L3J1bjoKKyAgICAg
ICAgKiBTY3JpcHRzL2J1aWxkLXdlYmtpdDoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1iaW5kaW5n
cy10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1idWlsdGlucy1nZW5lcmF0b3ItdGVzdHM6
CisgICAgICAgICogU2NyaXB0cy9ydW4tZ3RrLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVu
LWphdmFzY3JpcHRjb3JlLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVuLW1pbmlicm93c2Vy
OgorICAgICAgICAqIFNjcmlwdHMvcnVuLXF0LXdwZS1taW5pYnJvd3NlcjoKKyAgICAgICAgKiBT
Y3JpcHRzL3J1bi13ZWJkcml2ZXItdGVzdHM6CisgICAgICAgICogU2NyaXB0cy9ydW4td3BlLXRl
c3RzOgorICAgICAgICAqIFNjcmlwdHMvdGVzdC13ZWJraXRwZXJsOgorICAgICAgICAqIFNjcmlw
dHMvdGVzdC13ZWJraXRweToKKyAgICAgICAgKiBTY3JpcHRzL3Rlc3QyNjItcnVubmVyOgorICAg
ICAgICAqIFNjcmlwdHMvdXBkYXRlLXdlYmtpdC1mbGF0cGFrOiBSZW5hbWVkIGZyb20gVG9vbHMv
U2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsuCisgICAgICAgICogU2NyaXB0cy91cGRh
dGUtd2Via2l0Z3RrLWxpYnM6CisgICAgICAgICogU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWZs
YXRwYWs6IFJlbW92ZWQuCisgICAgICAgICogU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWxpYnM6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRkaXJzLnBtOgorICAgICAgICAoZ2V0VXNlckZsYXRw
YWtQYXRoKToKKyAgICAgICAgKGluRmxhdHBha1NhbmRib3gpOgorICAgICAgICAocnVuSW5GbGF0
cGFrSWZBdmFpbGFibGUpOgorICAgICAgICAod3JhcHBlclByZWZpeElmTmVlZGVkKToKKyAgICAg
ICAgKHNob3VsZFVzZUpoYnVpbGQpOgorICAgICAgICAoc2hvdWxkVXNlRmxhdHBhayk6CisgICAg
ICAgIChzaG91bGRSZW1vdmVDTWFrZUNhY2hlKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlLnB5OgorICAgICAgICAoRXhlY3V0aXZlLmtpbGxfYWxs
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weToKKyAgICAgICAgKFBv
cnQuX3BhdGhfdG9fYXBhY2hlKToKKyAgICAgICAgKFBvcnQuX3Nob3VsZF9ydW5fYXNfcGl4ZWxf
dGVzdCk6CisgICAgICAgIChQb3J0Ll9pbl9mbGF0cGFrX3NhbmRib3gpOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHk6CisgICAgICAgIChHdGtQb3J0LnNldHVwX2Vudmly
b25fZm9yX3NlcnZlcik6CisgICAgICAgIChHdGtQb3J0Ll9nZXRfY3Jhc2hfbG9nKToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weToKKyAgICAg
ICAgKEdEQkNyYXNoTG9nR2VuZXJhdG9yKToKKyAgICAgICAgKEdEQkNyYXNoTG9nR2VuZXJhdG9y
Ll9faW5pdF9fKToKKyAgICAgICAgKEdEQkNyYXNoTG9nR2VuZXJhdG9yLmdlbmVyYXRlX2NyYXNo
X2xvZyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9s
b2dfdW5pdHRlc3QucHk6CisgICAgICAgIChHREJDcmFzaExvZ0dlbmVyYXRvclRlc3QudGVzdF9n
ZW5lcmF0ZV9jcmFzaF9sb2cpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC93cGUu
cHk6CisgICAgICAgIChXUEVQb3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcik6CisgICAgICAg
IChXUEVQb3J0Ll9nZXRfY3Jhc2hfbG9nKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Bv
cnQveHZmYmRyaXZlci5weToKKyAgICAgICAgKFh2ZmJEcml2ZXIuX3NldHVwX2Vudmlyb25fZm9y
X3Rlc3QpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0Fj
dGl2YXRlRm9udHNHdGsuY3BwOgorICAgICAgICAoV1RSOjpnZXRGb250c1BhdGgpOgorICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUu
Y3BwOgorICAgICAgICAoV1RSOjpnZXRGb250c1BhdGgpOgorICAgICAgICAqIGZsYXRwYWsvZmls
ZXMvZGVmYXVsdC54a206IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9maWxlcy9odHRwZC1h
dXRvZ2VuLnNoOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsvZmxhdHBha3V0aWxzLnB5Ogor
ICAgICAgICAoY2hlY2tfZmxhdHBhayk6CisgICAgICAgIChGbGF0cGFrUmVwb3MudXBkYXRlKToK
KyAgICAgICAgKEZsYXRwYWtQYWNrYWdlLl9fcmVwcl9fKToKKyAgICAgICAgKEZsYXRwYWtQYWNr
YWdlLl9fc3RyX18pOgorICAgICAgICAoV2Via2l0RmxhdHBhay5sb2FkX2Zyb21fYXJncyk6Cisg
ICAgICAgIChXZWJraXRGbGF0cGFrLl9faW5pdF9fKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsu
Y2xlYW5fYXJncyk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnNldHVwX2J1aWxkZGlyKToKKyAg
ICAgICAgKFdlYmtpdEZsYXRwYWspOgorICAgICAgICAoV2Via2l0RmxhdHBhay5zZXR1cF9nc3Ri
dWlsZCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnJ1bl9pbl9zYW5kYm94KToKKyAgICAgICAg
KFdlYmtpdEZsYXRwYWsucnVuKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuaGFzX2Vudmlyb25t
ZW50KToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuc2F2ZV9jb25maWcpOgorICAgICAgICAoV2Vi
a2l0RmxhdHBhay5zZXR1cF9kZXZfZW52KToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuaW5zdGFs
bF9hbGwpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5ydW5fZ2RiKToKKyAgICAgICAgKiBmbGF0
cGFrL29yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZs
YXRwYWsvb3JnLndlYmtpdC5HVEsueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL29y
Zy53ZWJraXQuV1BFLnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9vcmcud2Via2l0
LldQRU1vZHVsZXMueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL29yZy53ZWJraXQu
V1BFUVQueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL29yZy53ZWJraXQuV2ViS2l0
LnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9wYXRjaGVzL2h0dHBkLTAwMDEtY29u
ZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1QQ1JFLWRldGVjdGlvbi5wYXRjaDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmbGF0cGFrL3BhdGNoZXMvbGliZ2NyeXB0LTAwMDEtVXNlLXBrZy1jb25maWct
dG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRjaDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL3Bh
dGNoZXMveHZmYi0wMDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEta2JtLWZpbGUucGF0Y2g6IFJl
bW92ZWQuCisKIDIwMjAtMDMtMTEgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW0dUS10gRmFpbGluZyBBUEkgdGVzdHMgdW5kZXIgdGhlIEZsYXRwYWsg
U0RLIGVudmlyb25tZW50CmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsv
UkVBRE1FIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL1JFQURNRQpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZjlmODlmOTgyMWFlZWEyMGVkYjdjZWRiY2FiZmI3N2YzODBiZDJj
My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9C
dWlsZFNsYXZlU3VwcG9ydC9ndGsvUkVBRE1FCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBA
QAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotIFJ1bm5p
bmcgYSBHVEsrIGJ1aWxkIHNsYXZlIHVuZGVyIGRhZW1vbnRvb2xzCi09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLVRoaXMgZGlyZWN0b3J5IGNvbnRhaW5z
IHNldmVyYWwgc2NyaXB0cyB3aGljaCBjYW4gYmUgdXNlZCB0byBydW4gYSBXZWJLaXRHVEsKLWJ1
aWxkIHNsYXZlIHVuZGVyIGRhZW1vbnRvb2xzIFsxXS4gVGhpcyBpcyBjb252ZW5pZW50IGJlY2F1
c2UgZGFlbW9udG9vbHMKLXdpbGwgYXV0b21hdGljYWxseSByZXN0YXJ0IHNlcnZpY2VzIHdoZW4g
dGhleSBkaWUsIGFuZCB0aGF0IG1lYW5zIGxlc3MgaHVtYW4KLWludGVydmVudGlvbiBpcyBuZWVk
ZWQuCi0KLQotRGVwZW5kZW5jaWVzCi09PT09PT09PT09PT0KLQotSW4gb3JkZXIgdG8gdXNlIHRo
ZSBwcm92aWRlZCBzZXJ2aWNlIGNvbnRyb2wgZmlsZXMsIHlvdSB3aWxsIG5lZWQgdGhlCi1mb2xs
b3dpbmc6Ci0KLSogVGhlIEdOVSBCYXNoIHNoZWxsICh0aGUgc2NyaXB0cyBjb250YWluIHNvbWUg
YmFzaC1pc21zKQotCi0qIFRoZSBkYWVtb250b29scyBwYWNrYWdlIChvciBvbmUgb2YgaXRzIGRy
b3AtaW4gcmVwbGFjZW1lbnRzLCBsaWtlIHJ1bml0Ci0gIG9yIGZyZWVkdDsgYnV0IG9ubHkgZGFl
bW9udG9vbHMgaGFzIGJlZW4gdGVzdGVkIHNvIGZhcikuCi0KLUluIHNob3J0LCBpbiBhIERlYmlh
bi1iYXNlZCBzeXN0ZW0geW91IGNhbiBlbnN1cmUgeW91IGhhdmUgdGhlIG5lZWRlZCBiaXRzCi13
aXRoIHRoZSBmb2xsb3dpbmcgY29tbWFuZDoKLQotICBhcHQtZ2V0IGluc3RhbGwgZGFlbW9udG9v
bHMtcnVuCi0KLQotU2V0dXAKLT09PT09Ci0KLTEuIEZvbGxvdyB0aGUgaW5zdHJ1Y3Rpb25zIGF0
IGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvd2lraS9CdWlsZEJvdAotCi0yLiBJbnN0YWxsIHRoZSBk
ZXBlbmRlbmNpZXMgb3V0bGluZWQgYWJvdmUuCi0KLTMuIENvcHkgImRhZW1vbnRvb2xzLWJ1aWxk
Ym90LmNvbmYiIHRvICIvZXRjL2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNvbmYiCi0KLTQuIEVkaXQg
dGhlIGNvbmZpZ3VyYXRpb24gZmlsZSB0byBzdWl0IHlvdXIgbmVlZHMsIHRoZSBjb21tZW50cyBz
aG91bGQKLSAgIGJlIHNlbGYtZXhwbGFuYXRvcnkuCi0KLTUuIERyb3AgdGhlICJidWlsZGJvdCIg
YW5kICJwdWxzZWF1ZGlvIiBkaXJlY3RvcmllcyB0byB0aGUgc2VydmljZSBjb250cm9sIGRpcmVj
dG9yeSBvZgotICAgZGFlbW9udG9vbHM7IGZvciBEZWJpYW4tYmFzZWQgc2V0dXBzIHRoYXQgd291
bGQgYmUgIi9ldGMvc2VydmljZSIKLQotCi1SZWZlcmVuY2VzCi09PT09PT09PT09Ci0KLVsxXSBo
dHRwOi8vY3IueXAudG8vZGFlbW9udG9vbHMuaHRtbAotCmRpZmYgLS1naXQgYS9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvbG9nL3J1biBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBw
b3J0L2d0ay9idWlsZGJvdC9sb2cvcnVuCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCBm
NmM3NDRjNmRkYTQ1Y2JlMmI1ZDBmYThjNGYyNWJhYjUxZjZhNGRkLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0
ay9idWlsZGJvdC9sb2cvcnVuCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotIyEgL3Vz
ci9iaW4vZW52IGJhc2gKLSMKLSMgQ29weXJpZ2h0IChDKSAyMDEwIElnYWxpYSBTLkwuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMKLSMg
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotCi06ICR7
QlVJTERCT1RfQ09ORklHOj0vZXRjL2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNvbmZ9Ci0KLSMgUmVh
ZCBjb25maWd1cmF0aW9uIGZpbGUKLVsgLXIgIiR7QlVJTERCT1RfQ09ORklHfSIgXSAmJiAuICIk
e0JVSUxEQk9UX0NPTkZJR30iCi0KLTogJHtidWlsZGJvdF91c2VyOj0ke0hPTUV9fQotOiAke2J1
aWxkYm90X2xvZ19wYXRoOj0vdmFyL2xvZy9idWlsZGJvdH0KLQotIyBFeHBhbmQgYWxsICJlbnZf
KiIgZW52aXJvbm1lbnQgdmFyaWFibGVzCi1mb3IgdmFybmFtZSBpbiAkeyFlbnZfKn0gOyBkbwot
CWV2YWwgImV4cG9ydCAke3Zhcm5hbWUjZW52X309XCR7JHt2YXJuYW1lfX0iCi1kb25lCi0KLW1r
ZGlyIC1wICIke2J1aWxkYm90X2xvZ19wYXRofSIKLWNob3duICIke2J1aWxkYm90X3VzZXJ9IiAi
JHtidWlsZGJvdF9sb2dfcGF0aH0iCi0KLWV4ZWMgL3Vzci9iaW4vc2V0dWlkZ2lkICIke2J1aWxk
Ym90X3VzZXJ9IiBcCi0gICAgIC91c3IvYmluL211bHRpbG9nIHQgIiR7YnVpbGRib3RfbG9nX3Bh
dGh9IgotCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3Qv
cnVuIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L3J1bgpkZWxldGVkIGZp
bGUgbW9kZSAxMDA3NTUKaW5kZXggMTY2YzM4M2VhOGU2YzEwZmNjMDVlZjA3ZWQ0ZjQ4ODliYmJi
OWVhYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29s
cy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvcnVuCisrKyAvZGV2L251bGwKQEAgLTEs
NzcgKzAsMCBAQAotIyEgL3Vzci9iaW4vZW52IGJhc2gKLSMKLSMgQ29weXJpZ2h0IChDKSAyMDEw
IElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
Ci0jIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCi0jIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgotCi1leGVjIDI+JjEKLQotOiAke0JVSUxEQk9UX0NPTkZJRzo9L2V0Yy9kYWVt
b250b29scy1idWlsZGJvdC5jb25mfQotCi0jIFJlYWQgY29uZmlndXJhdGlvbiBmaWxlCi1bIC1y
ICIke0JVSUxEQk9UX0NPTkZJR30iIF0gJiYgLiAiJHtCVUlMREJPVF9DT05GSUd9IgotCi0jIEV4
cGFuZCBhbGwgImVudl8qIiBlbnZpcm9ubWVudCB2YXJpYWJsZXMKLWZvciB2YXJuYW1lIGluICR7
IWVudl8qfSA7IGRvCi0JZXZhbCAiZXhwb3J0ICR7dmFybmFtZSNlbnZffT1cJHske3Zhcm5hbWV9
fSIKLWRvbmUKLQotCi1pZiAhIFsgIiR7YnVpbGRib3RfcGF0aH0iIF0gOyB0aGVuCi0JZWNobyAi
Tm8gXCR7YnVpbGRib3RfcGF0aH0gZGVmaW5lZCEgKHdpbGwgc2xlZXAgZm9yIDUgbWludXRlcyki
Ci0Jc2xlZXAgMzAwCi0JZXhpdCAxMTEKLWZpCi0KLQotaWYgISBbICIke1dFQktJVF9URVNURk9O
VFN9IiBdIDsgdGhlbgotCWVjaG8gIk5vIFwke1dFQktJVF9URVNURk9OVFN9IGVudmlyb25tZW50
IHZhcmlhYmxlISAod2lsbCBzbGVlcCBmb3IgNSBtaW51dGVzKSIKLQlzbGVlcCAzMDAKLQlleGl0
IDExMQotZmkKLQotCi1pZiBbICIke2NvcmVkdW1wX291dHB1dDo9Jyd9IiBdIDsgdGhlbgotCSMg
RW5zdXJlIHRoYXQgdGhlIG91dHB1dCBkaXJlY3RvcnkgZXhpc3RzLgotCWlmIFtbICEgLWQgJHtj
cmFzaG1vbl9vdXRwdXR9IF1dIDsgdGhlbgotCQlta2RpciAtcCAiJHtjcmFzaG1vbl9vdXRwdXR9
IgotCWZpCi0KLQl1bGltaXQgLWMgIiR7Y3Jhc2htb25fbWF4X3NpemU6PXVubGltaXRlZH0iCi1m
aQotCi0KLWlmIFsgIiR7Y2NhY2hlX3BhdGh9IiBdIDsgdGhlbgotCWV4cG9ydCBQQVRIPSIke2Nj
YWNoZV9wYXRofToke1BBVEh9IgotZmkKLQotOiAke2J1aWxkYm90X3VzZXI6PSR7VVNFUn19Ci0K
LWNkICIke2J1aWxkYm90X3BhdGh9IgotZXhlYyAvdXNyL2Jpbi9lbnYgLSAgICAgICAgICBcCi0J
CVRFUk09ZHVtYiAgICAgICAgICAgICAgICAgXAotCQlUWj1QU1Q4UERUICAgICAgICAgICAgICAg
ICBcCi0JCVBBVEg9IiR7UEFUSH0iICAgICAgICAgICAgICBcCi0JCVNIRUxMPS9iaW4vYmFzaCAg
ICAgICAgICAgICAgXAotCQlMQU5HPWVuX1VTLlVURi04ICAgICAgICAgICAgICBcCi0JCVVTRVI9
IiR7YnVpbGRib3RfdXNlcn0iICAgICAgICBcCi0JCUxPR05BTUU9IiR7YnVpbGRib3RfdXNlcn0i
ICAgICAgXAotCQlIT01FPSIvaG9tZS8ke2J1aWxkYm90X3VzZXJ9IiAgICBcCi0JCURJU1BMQVk9
IiR7eHZmYl9kaXNwbGF5Oi0nOjEwJ30iICBcCi0JCU1BSUw9Ii92YXIvbWFpbC8ke2J1aWxkYm90
X3VzZXJ9IiAgXAotCS91c3IvYmluL3NldHVpZGdpZCAiJHtidWlsZGJvdF91c2VyfSIgXAotCS91
c3IvYmluL3R3aXN0ZCAtbm95IGJ1aWxkYm90LnRhYwotCmRpZmYgLS1naXQgYS9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9ndGsvZGFlbW9udG9vbHMtYnVpbGRib3QuY29uZiBiL1Rvb2xzL0J1aWxk
U2xhdmVTdXBwb3J0L2d0ay9kYWVtb250b29scy1idWlsZGJvdC5jb25mCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwNmFmMjlmN2IwNjI2ODIxNmNlNGExZjFhYWVlOGQ0NjIwZDI0ZGZk
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL0J1
aWxkU2xhdmVTdXBwb3J0L2d0ay9kYWVtb250b29scy1idWlsZGJvdC5jb25mCisrKyAvZGV2L251
bGwKQEAgLTEsNDUgKzAsMCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlhIFMuTC4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSMgdmVyc2lvbiAyIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwot
IyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0jCi0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSMgYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KLSMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0KLQot
IyBQYXRoIHRvIHRoZSBCdWlsZGJvdCBzbGF2ZSBkaXJlY3RvcnkKLSMKLWJ1aWxkYm90X3BhdGg9
Ii9ob21lL3NsYXZlL3dlYmtpdGd0ayIKLQotIyBVc2VyIGFjY291bnQgdXNlZCB0byBydW4gQnVp
bGRib3QuCi0jCi1idWlsZGJvdF91c2VyPSJzbGF2ZSIKLQotIyBQYXRoIHRvIGEgZGlyZWN0b3J5
IHdoZXJlIHRvIGxvZyBCdWlsZGJvdCBvdXRwdXQKLSMKLWJ1aWxkYm90X2xvZ19wYXRoPSIvdmFy
L2xvZy9idWlsZGJvdCIKLQotCi0jIElmIHlvdSB3YW50IHRvIHVzZSBjY2FjaGUsIHNldCBhIHBh
dGggdG8gd2hlcmUgc3lubGlua3Mgd2l0aCB0b29sCi0jIG5hbWVzIHBvaW50aW5nIHRvIGNjYWNo
ZSBhcmUgaW5zdGFsbGVkLiBJbiBEZWJpYW4gc3lzdGVtcyB0aGlzCi0jIHdvdWxkIGJlIC91c3Iv
bGliL2NjYWNoZS4gU2V0IHRvIGVtcHR5IHRvIGRpc2FibGUuCi0jCi1jY2FjaGVfcGF0aD0iL3Vz
ci9saWIvY2NhY2hlIgotCi0KLSMgRW52aXJvbm1lbnQgdmFyaWFibGVzLiBQcmVmaXggdGhlbSB3
aXRoICJlbnZfIi4KLSMKLWVudl9DRkxBR1M9Ii1waXBlIgotZW52X0NYWEZMQUdTPSItcGlwZSIK
LWVudl9MREZMQUdTPSItbm8taW5zdGFsbCAtbm8tZmFzdC1pbnN0YWxsIgotZW52X1dFQktJVF9U
RVNURk9OVFM9Ii9ob21lLyR7YnVpbGRib3RfdXNlcn0vdGVzdGZvbnRzIgotCmRpZmYgLS1naXQg
YS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvcHVsc2VhdWRpby9ydW4gYi9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9ndGsvcHVsc2VhdWRpby9ydW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1
CmluZGV4IDdjMTE3YWQ5ZDIwNzM5OGQ4NmYwMjczOGU1OTMxODk1OTE3ZDU2NzguLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1
cHBvcnQvZ3RrL3B1bHNlYXVkaW8vcnVuCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAot
IyEgL3Vzci9iaW4vZW52IGJhc2gKLSMKLSMgQ29weXJpZ2h0IChDKSAyMDEwIElnYWxpYSBTLkwu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
LSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgot
Ci1leGVjIDI+JjEKLWV4ZWMgL3Vzci9iaW4vcHVsc2VhdWRpbyAtLXN5c3RlbSBcCi0JLS1kaXNh
bGxvdy1leGl0IC0tZGlzYWxsb3ctbW9kdWxlLWxvYWRpbmcgXAotCS0tbG9nLXRhcmdldD1zeXNs
b2cKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgYi9Ub29scy9TY3Jp
cHRzL2J1aWxkLXdlYmtpdAppbmRleCBmYzA2NjRhNjUwNTU0NmY0MjhjNzUxNGI5Njc1MTE5Yjc1
YTYyMTQwLi4wOTlkMzNhNGI5YjljZGY0MzJjZDEwMjZlYTZhYWUwY2I5MjU3YTc3IDEwMDc1NQot
LS0gYS9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAorKysgYi9Ub29scy9TY3JpcHRzL2J1aWxk
LXdlYmtpdApAQCAtNTMsOCArNTMsOCBAQCBzZXRDb25maWd1cmF0aW9uKCk7CiAKIGlmIChzaG91
bGRVc2VGbGF0cGFrKCkpIHsKICAgICBwcmludCAiQnVpbGRpbmcgZmxhdHBhayBiYXNlZCBlbnZp
cm9ubWVudFxuIjsKLQotICAgIHJ1bkluRmxhdHBhaygiL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0
cy9idWlsZC13ZWJraXQiKTsKKyAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxl
KHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJidWlsZC13ZWJraXQiKSk7CisgICAg
cnVuSW5GbGF0cGFrKEBjb21tYW5kKTsKIH0KIAogbXkgJG9yaWdpbmFsV29ya2luZ0RpcmVjdG9y
eSA9IGdldGN3ZCgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVz
dHMgYi9Ub29scy9TY3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0cwppbmRleCBmNmU0NDc3MjUwZjll
MTllMzk1OGVmY2I3ZDZlODFlMmFjMjhjOWFiLi4wYWMwYjNhMzEwODhhMTIyZTA5OThlYTQ5NTY1
YmYyMzg3NzM4YTUwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0
cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0cwpAQCAtMzMsNiArMzMsMTEg
QEAgaW1wb3J0IG9zCiBpbXBvcnQgc3lzCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1w
b3J0IGV4ZWN1dGl2ZQogCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChv
cy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgJy4uJywgJy4uJykpCitzeXMu
cGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICdUb29scycs
ICdmbGF0cGFrJykpCitpbXBvcnQgZmxhdHBha3V0aWxzCitmbGF0cGFrdXRpbHMucnVuX2luX3Nh
bmRib3hfaWZfYXZhaWxhYmxlKHN5cy5hcmd2KQorCiBkZWYgbWFpbihhcmd2KToKICAgICAiIiJS
dW5zIFdlYkNvcmUgYmluZGluZ3MgY29kZSBnZW5lcmF0b3JzIG9uIHRlc3QgSURMIGZpbGVzIGFu
ZCBjb21wYXJlcwogICAgIHRoZSByZXN1bHRzIHdpdGggcmVmZXJlbmNlIGZpbGVzLgpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tYnVpbHRpbnMtZ2VuZXJhdG9yLXRlc3RzIGIvVG9vbHMv
U2NyaXB0cy9ydW4tYnVpbHRpbnMtZ2VuZXJhdG9yLXRlc3RzCmluZGV4IDIzOThjNzhjYTEwZWM1
OTc2MjY2MTJjODU1NTNhYmQxYTRlNmZiZDQuLmZiYjA4NjQyNDE5NzRlYTYwMzVkYTg4YjM2Nzli
YzQzYzAyYzdlOWQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVy
YXRvci10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1idWlsdGlucy1nZW5lcmF0b3ItdGVz
dHMKQEAgLTI1LDYgKzI1LDEyIEBACiBpbXBvcnQgc3lzCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5z
eXN0ZW0gaW1wb3J0IGV4ZWN1dGl2ZQogCitpbXBvcnQgb3MKK3RvcF9sZXZlbF9kaXJlY3Rvcnkg
PSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18p
LCAnLi4nLCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVs
X2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBmbGF0cGFrdXRpbHMKK2Zs
YXRwYWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lzLmFyZ3YpCisKIGRlZiBt
YWluKGFyZ3YpOgogICAgICIiIlJ1bnMgdGhlIEpTIGJ1aWx0aW5zIGNvZGUgZ2VuZXJhdG9yIG9u
IHRlc3QgaW5wdXQgZmlsZXMgYW5kIGNvbXBhcmVzCiAgICAgdGhlIHJlc3VsdHMgd2l0aCByZWZl
cmVuY2UgZmlsZXMuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMgYi9U
b29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMKaW5kZXggNDFiMDVlMmRmNGIxZTZkOGZlMzhlYTNj
NTQ5YjUzMzU4NGE0Mjk3ZS4uZDM5NzQ4ZjRjM2Q4ZmRmY2VmZjFhMjI5OWFkYTQyYzg3ZTY1YWFl
NSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzCisrKyBiL1Rvb2xzL1Nj
cmlwdHMvcnVuLWd0ay10ZXN0cwpAQCAtMTMzLDcgKzEzMyw3IEBAIGlmIF9fbmFtZV9fID09ICJf
X21haW5fXyI6CiAgICAgaWYgbm90IGZsYXRwYWt1dGlscy5pc19zYW5kYm94ZWQoKSBhbmQgbm90
IGpoYnVpbGR1dGlscy5lbnRlcl9qaGJ1aWxkX2Vudmlyb25tZW50X2lmX2F2YWlsYWJsZSgiZ3Rr
Iik6CiAgICAgICAgIHByaW50ICcqKionCiAgICAgICAgIHByaW50ICcqKiogV2FybmluZzogamhi
dWlsZCBlbnZpcm9ubWVudCBub3QgcHJlc2VudCBhbmQgbm90IHJ1bm5pbmcgaW4gZmxhdHBhay4n
Ci0gICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13ZWJraXRndGstbGlicyBvciB1cGRhdGUt
d2Via2l0Z3RrLWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRl
c3RpbmcuLicKKyAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9y
IHVwZGF0ZS13ZWJraXQtZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9w
ZXIgdGVzdGluZy4uJwogICAgICAgICBwcmludCAnKioqJwogCiAgICAgb3B0aW9uX3BhcnNlciA9
IG9wdHBhcnNlLk9wdGlvblBhcnNlcih1c2FnZT0ndXNhZ2U6ICVwcm9nIFtvcHRpb25zXSBbdGVz
dC4uLl0nKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVz
dHMgYi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwppbmRleCA1MzExODVl
MDk2NjAwZGE0ODQyYmY5MTFiOTQ3YmQxNGY3NzM2NDBhLi5jZjc5MTVlMjUyZjFlMWMwYjYzNWFj
OTY4ODM5Yjk2MzBhOWI5YWQwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2Ny
aXB0Y29yZS10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0
cwpAQCAtNDYsNiArNDYsMTIgQEAgdXNlIFRleHQ6OlBhcnNlV29yZHM7CiBzZXRDb25maWd1cmF0
aW9uKCk7CiBteSAkY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24oKTsKIAoraWYgKHNob3Vs
ZFVzZUZsYXRwYWsoKSkgeworICAgIG15IEBjb21tYW5kID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUo
c291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgInJ1bi1qYXZhc2NyaXB0Y29yZS10ZXN0
cyIpKTsKKyAgICBydW5JbkZsYXRwYWsoQGNvbW1hbmQpOworfQorCisKICMgVGhlc2UgdmFyaWFi
bGVzIGFyZSBpbnRlbnRpb25hbGx5IGxlZnQgdW5kZWZpbmVkLgogbXkgJHJvb3Q7CiBteSAkc2hv
d0hlbHA7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlciBiL1Rvb2xz
L1NjcmlwdHMvcnVuLW1pbmlicm93c2VyCmluZGV4IDRjZjZiZTQwNDdiZmQ3NmQ2ODEwOWFiMjlh
YTY4YTkwZGMwODY2ZTEuLjkwY2QzZmFmNDMxYWViOTI4ZGZkNmRkZmQ2ZWQ2ZDIzZDJmMjFjY2Mg
MTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93c2VyCisrKyBiL1Rvb2xzL1Nj
cmlwdHMvcnVuLW1pbmlicm93c2VyCkBAIC00NSw3ICs0NSw4IEBAIHByb2hpYml0VW5rbm93blBv
cnQoKTsKIHNldENvbmZpZ3VyYXRpb24oKTsKIAogaWYgKGlzR3RrKCkgfHwgaXNXUEUoKSkgewot
ICAgIHJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKCIvYXBwL3dlYmtpdC9Ub29scy9TY3JpcHRzL3J1
bi1taW5pYnJvd3NlciIpOworICAgIG15IEBjb21tYW5kID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUo
c291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgInJ1bi1taW5pYnJvd3NlciIpKTsKKyAg
ICBydW5JbkZsYXRwYWtJZkF2YWlsYWJsZShAY29tbWFuZCk7CiAKICAgICAjIENoZWNrIHRvIHNl
ZSB0aGF0IGFsbCB0aGUgZnJhbWV3b3JrcyBhcmUgYnVpbHQuCiAgICAgY2hlY2tGcmFtZXdvcmtz
KCk7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1wZXJmLXRlc3RzIGIvVG9vbHMvU2Ny
aXB0cy9ydW4tcGVyZi10ZXN0cwppbmRleCAxYmY4ZWM4NjI3MDI1ZWE4ZGJhODVmNzY3NGJkODQ1
OWFlOTEzZGY1Li5jMGQ4NzgzZTZjMTY5OTg2YmFjYmMzN2MyZTE4NDM4NzdiYWE3MWQyIDEwMDc1
NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1wZXJmLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMv
cnVuLXBlcmYtdGVzdHMKQEAgLTMwLDggKzMwLDE0IEBACiAiIiJSdW4gcGVyZm9ybWFuY2UgdGVz
dHMuIiIiCiAKIGltcG9ydCBsb2dnaW5nCitpbXBvcnQgb3MKIGltcG9ydCBzeXMKIAordG9wX2xl
dmVsX2RpcmVjdG9yeSA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKG9zLnBhdGguZGly
bmFtZShfX2ZpbGVfXyksICcuLicsICcuLicpKQorc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGgu
am9pbih0b3BfbGV2ZWxfZGlyZWN0b3J5LCAnVG9vbHMnLCAnZmxhdHBhaycpKQoraW1wb3J0IGZs
YXRwYWt1dGlscworZmxhdHBha3V0aWxzLnJ1bl9pbl9zYW5kYm94X2lmX2F2YWlsYWJsZShzeXMu
YXJndikKKwogZnJvbSB3ZWJraXRweS5wZXJmb3JtYW5jZV90ZXN0cy5wZXJmdGVzdHNydW5uZXIg
aW1wb3J0IFBlcmZUZXN0c1J1bm5lcgogCiBpZiAnX19tYWluX18nID09IF9fbmFtZV9fOgpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tcXQtd3BlLW1pbmlicm93c2VyIGIvVG9vbHMvU2Ny
aXB0cy9ydW4tcXQtd3BlLW1pbmlicm93c2VyCmluZGV4IDUyYTM4ZTE1MjYzODUzYWNiOGMxNTQ4
NDcwOGI1NDczOTAxOGNlNTEuLjhjOGVmNzA1NmEzNGFlOThlNzI3MTFkYTdmZWY3YjUxMmEyMWZj
YzggMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLXF0LXdwZS1taW5pYnJvd3NlcgorKysg
Yi9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXIKQEAgLTM4LDkgKzM4LDEzIEBA
IG15IEBqaGJ1aWxkV3JhcHBlcjsKIG15ICRjb25maWd1cmF0aW9uID0gcGFzc2VkQ29uZmlndXJh
dGlvbigpOwogbXkgJHByb2R1Y3REaXIgPSBwcm9kdWN0RGlyKCk7CiAKLSRsaWJQYXRoID0gIi9h
cHAvd2Via2l0L1dlYktpdEJ1aWxkLyRjb25maWd1cmF0aW9uL2xpYi9xdDUvcW1sIiBpZiAkY29u
ZmlndXJhdGlvbjsKLSRFTlZ7IlFNTDJfSU1QT1JUX1BBVEgifSA9ICIkbGliUGF0aCIgaWYgJGxp
YlBhdGg7Ci1ydW5JbkZsYXRwYWtJZkF2YWlsYWJsZSgiL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0
cy9ydW4tcXQtd3BlLW1pbmlicm93c2VyIik7CitpZiAoJGNvbmZpZ3VyYXRpb24pIHsKKyAgICAk
bGliUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJXZWJLaXRCdWlsZCIs
ICIkY29uZmlndXJhdGlvbiIsICJsaWIiLCAicXQ1IiwgInFtbCIpOworICAgICRFTlZ7IlFNTDJf
SU1QT1JUX1BBVEgifSA9ICIkbGliUGF0aCI7Cit9CisKK215IEBjb21tYW5kID0gKEZpbGU6OlNw
ZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgInJ1bi1xdC13cGUt
bWluaWJyb3dzZXIiKSk7CitydW5JbkZsYXRwYWtJZkF2YWlsYWJsZShAY29tbWFuZCk7CiAKICMg
Q2hlY2sgdG8gc2VlIHRoYXQgYWxsIHRoZSBmcmFtZXdvcmtzIGFyZSBidWlsdC4KIGNoZWNrRnJh
bWV3b3JrcygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3Rz
IGIvVG9vbHMvU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzCmluZGV4IGFjYzM1ZjcyNDgzZjI4
MzJmMDljOGVmYjE4OTVkMTgxZDRkNjc5MjkuLmMzMDA0ZDQ1MzIzYzUxNDI2NjVkMzcwMzM3ZThl
NTkwNDIzYTlkNDAgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0
cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi13ZWJkcml2ZXItdGVzdHMKQEAgLTc4LDcgKzc4LDcg
QEAgaWYgcG9ydC5uYW1lKCkgaW4gWydndGsnLCAnd3BlJ106CiAgICAgICAgIGlmIG5vdCBqaGJ1
aWxkdXRpbHMuZW50ZXJfamhidWlsZF9lbnZpcm9ubWVudF9pZl9hdmFpbGFibGUocG9ydC5uYW1l
KCkpOgogICAgICAgICAgICAgcHJpbnQgJyoqKicKICAgICAgICAgICAgIHByaW50ICcqKiogV2Fy
bmluZzogamhidWlsZCBlbnZpcm9ubWVudCBub3QgcHJlc2VudCBhbmQgbm90IHJ1bm5pbmcgaW4g
ZmxhdHBhay4nCi0gICAgICAgICAgICBwcmludCAnKioqIFJ1biB1cGRhdGUtd2Via2l0Z3RrLWxp
YnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIGJlZm9yZSBidWlsZC13ZWJraXQgdG8gZW5z
dXJlIHByb3BlciB0ZXN0aW5nLi4nCisgICAgICAgICAgICBwcmludCAnKioqIFJ1biB1cGRhdGUt
d2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdC1mbGF0cGFrIGJlZm9yZSBidWlsZC13ZWJr
aXQgdG8gZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCiAgICAgICAgICAgICBwcmludCAnKioqJwog
CiBwb3J0Ll9kaXNwbGF5X3NlcnZlciA9IG9wdGlvbnMuZGlzcGxheV9zZXJ2ZXIKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvcnVuLXdwZS10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXdwZS10
ZXN0cwppbmRleCA4Zjc3NDllYjZhZDZkMWYxOTkxM2ExNzY5OWRjYjc2NzdmNDg2MmQxLi5mMzRj
MTk3MDY0Nzc2MjI2MjQ1MmU2YWU4M2ZhMjg1ZjI4ZTVkMTgwIDEwMDc1NQotLS0gYS9Ub29scy9T
Y3JpcHRzL3J1bi13cGUtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4td3BlLXRlc3RzCkBA
IC01MSw3ICs1MSw3IEBAIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgaWYgbm90IGZs
YXRwYWt1dGlscy5pc19zYW5kYm94ZWQoKSBhbmQgbm90IGpoYnVpbGR1dGlscy5lbnRlcl9qaGJ1
aWxkX2Vudmlyb25tZW50X2lmX2F2YWlsYWJsZSgid3BlIik6CiAgICAgICAgIHByaW50ICcqKion
CiAgICAgICAgIHByaW50ICcqKiogV2FybmluZzogamhidWlsZCBlbnZpcm9ubWVudCBub3QgcHJl
c2VudCBhbmQgbm90IHJ1bm5pbmcgaW4gZmxhdHBhay4nCi0gICAgICAgIHByaW50ICcqKiogUnVu
IHVwZGF0ZS13ZWJraXRndGstbGlicyBvciB1cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsgYmVmb3Jl
IGJ1aWxkLXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3RpbmcuLicKKyAgICAgICAgcHJpbnQg
JyoqKiBSdW4gdXBkYXRlLXdlYmtpdHdwZS1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBhayBi
ZWZvcmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9wZXIgdGVzdGluZy4uJwogICAgICAgICBw
cmludCAnKioqJwogCiAgICAgb3B0aW9uX3BhcnNlciA9IG9wdHBhcnNlLk9wdGlvblBhcnNlcih1
c2FnZT0ndXNhZ2U6ICVwcm9nIFtvcHRpb25zXSBbdGVzdC4uLl0nKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy90ZXN0LXdlYmtpdHBlcmwgYi9Ub29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cGVy
bAppbmRleCA2NDk1Njk2MGZmYzY3YWU3ZGY5MzM2NDEzNmQ5MWE1ZDg4ZWE5OTQzLi5kYzgxYzE3
YzNiYWM1OWE4ODFhNzNlZDE1YjNhNzQ2MGNhN2I5Zjk4IDEwMDc1NQotLS0gYS9Ub29scy9TY3Jp
cHRzL3Rlc3Qtd2Via2l0cGVybAorKysgYi9Ub29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cGVybApA
QCAtMzIsNiArMzIsMTMgQEAKIAogdXNlIHN0cmljdDsKIHVzZSB3YXJuaW5nczsKK3VzZSBGaWxl
OjpCYXNlbmFtZTsKK3VzZSBGaWxlOjpGaW5kOwordXNlIEZpbGU6OlNwZWM7Cit1c2UgRmluZEJp
bjsKK3VzZSBHZXRvcHQ6OkxvbmcgcXcoOmNvbmZpZyBwYXNzX3Rocm91Z2ggbm9fYXV0b19hYmJy
ZXYpOwordXNlIGxpYiAkRmluZEJpbjo6QmluOwordXNlIHdlYmtpdGRpcnM7CiAKIHVzZSBGaWxl
OjpTcGVjOwogdXNlIEZpbmRCaW47CkBAIC0zOSw2ICs0NiwxMSBAQCB1c2UgVGVzdDo6SGFybmVz
czsKIHVzZSBsaWIgJEZpbmRCaW46OkJpbjsgIyBzbyB0aGlzIHNjcmlwdCBjYW4gYmUgcnVuIGZy
b20gYW55IGRpcmVjdG9yeS4KIHVzZSBWQ1NVdGlsczsKIAoraWYgKHNob3VsZFVzZUZsYXRwYWso
KSkgeworICAgIG15IEBjb21tYW5kID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCks
ICJUb29scyIsICJTY3JpcHRzIiwgInRlc3Qtd2Via2l0cGVybCIpKTsKKyAgICBydW5JbkZsYXRw
YWsoQGNvbW1hbmQpOworfQorCiAjIENoYW5nZSB0aGUgd29ya2luZyBkaXJlY3Rvcnkgc28gdGhh
dCB3ZSBjYW4gcGFzcyBzaG9ydGVyLCByZWxhdGl2ZQogIyBwYXRocyB0byBydW50ZXN0cygpLCBy
YXRoZXIgdGhhbiBsb25nZXIsIGFic29sdXRlIHBhdGhzLgogIwpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy90ZXN0LXdlYmtpdHB5IGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5CmluZGV4
IGVlNjgyY2NjZjBhY2EzZjIwZGM2MTVmZThiNjMyM2NjYzU3Y2JlYTQuLjQyMzg4ZTlmODYxNzg1
ZWY3ZTM4ZmIxZjQ1NDkwMDUwNTJmMDBhZWMgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvdGVz
dC13ZWJraXRweQorKysgYi9Ub29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkKQEAgLTI5LDQgKzI5
LDEwIEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCiBmcm9tIHdlYmtpdHB5LmNvbW1vbiBpbXBvcnQgbXVsdGlw
cm9jZXNzaW5nX2Jvb3RzdHJhcAogCitpbXBvcnQgb3MsIHN5cwordG9wX2xldmVsX2RpcmVjdG9y
eSA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVf
XyksICcuLicsICcuLicpKQorc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbih0b3BfbGV2
ZWxfZGlyZWN0b3J5LCAnVG9vbHMnLCAnZmxhdHBhaycpKQoraW1wb3J0IGZsYXRwYWt1dGlscwor
ZmxhdHBha3V0aWxzLnJ1bl9pbl9zYW5kYm94X2lmX2F2YWlsYWJsZShzeXMuYXJndikKKwogbXVs
dGlwcm9jZXNzaW5nX2Jvb3RzdHJhcC5ydW4oJ3dlYmtpdHB5JywgJ3Rlc3QnLCAnbWFpbi5weScp
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3Rlc3QyNjItcnVubmVyIGIvVG9vbHMvU2NyaXB0
cy90ZXN0MjYyLXJ1bm5lcgppbmRleCBhMTMxYmNmNjMzZTMwZDk3NjVmYjU2MjQyNTA3MzExN2E5
OGYyMjM4Li5hZjdhZDVlNDhlZjI1MDhjZjRlMjFkNThkNTUwY2YwMzJlZjVmYTJiIDEwMDc1NQot
LS0gYS9Ub29scy9TY3JpcHRzL3Rlc3QyNjItcnVubmVyCisrKyBiL1Rvb2xzL1NjcmlwdHMvdGVz
dDI2Mi1ydW5uZXIKQEAgLTM0LDYgKzM0LDI2IEBAIHVzZSA1LjguODsKIHVzZSBGaW5kQmluOwog
dXNlIENvbmZpZzsKIAorQkVHSU4geworICAgIHVzZSBsaWIgJEZpbmRCaW46OkJpbjsKKyAgICB1
c2UgRmlsZTo6U3BlYzo6RnVuY3Rpb25zIHF3KGNhdGZpbGUpOworCisgICAgaWYgKCFncmVwKC9e
LS1uby1mbGF0cGFrLWNoZWNrJC8sIEBBUkdWKSkgeworICAgICAgICBpZiAoZXZhbCB7cmVxdWly
ZSB3ZWJraXRkaXJzOyAxO30pIHsKKyAgICAgICAgICAgIHdlYmtpdGRpcnMtPmltcG9ydChxdyhz
aG91bGRVc2VGbGF0cGFrIHJ1bkluRmxhdHBhayBzb3VyY2VEaXIpKTsKKyAgICAgICAgICAgIGlm
IChzaG91bGRVc2VGbGF0cGFrKCkpIHsKKyAgICAgICAgICAgICAgICBwcmludCAiUnVubmluZyBp
biBmbGF0cGFrIGJhc2VkIGVudmlyb25tZW50XG4iOworICAgICAgICAgICAgICAgIG15IEBjb21t
YW5kID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRz
IiwgInRlc3QyNjItcnVubmVyIikpOworICAgICAgICAgICAgICAgICMgUHJldmVudCBleGVjJ2Qg
dGVzdDI2Mi1ydW5uZXIgcHJvY2VzcyBmcm9tIGltcG9ydGluZworICAgICAgICAgICAgICAgICMg
d2Via2l0ZGlycyBzbyB0aGF0IGl0IGNhbiBzdWNjZWVkIGxhdGVyIG9uIGluIHRoZSBSdW5uZXIK
KyAgICAgICAgICAgICAgICAjIG1vZHVsZS4uLiBQZXJsLiDCr1xfKOODhClfL8KvCisgICAgICAg
ICAgICAgICAgcHVzaChAQVJHViwgIi0tbm8tZmxhdHBhay1jaGVjayIpOworICAgICAgICAgICAg
ICAgIHJ1bkluRmxhdHBhayhAY29tbWFuZCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAg
ICB9Cit9CisKIEJFR0lOIHsKICAgICAkRU5We0RCSUNfT1ZFUldSSVRFX0hFTFBFUl9NRVRIT0RT
X09LfSA9IDE7CiAgICAgJEVOVntUMjYyX0VYRUNfQklOfSA9ICIkRmluZEJpbjo6QmluL3Rlc3Qy
NjIiOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0LWZsYXRwYWsgYi9U
b29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXQtZmxhdHBhawpuZXcgZmlsZSBtb2RlIDEwMDc1NQpp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hODZiODFhMjAz
M2Y0YmI3YmUyZDI5YmRlNWMxMmNmNDk1MzMwZDU1Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMv
U2NyaXB0cy91cGRhdGUtd2Via2l0LWZsYXRwYWsKQEAgLTAsMCArMSwyOCBAQAorIyEvdXNyL2Jp
bi9lbnYgcHl0aG9uCisjIENvcHlyaWdodCAoQykgMjAxOCBJZ2FsaWEgUy5MLgorIyBDb3B5cmln
aHQgKGMpIDIwMTgsIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGlnYWxpYS5jb20+CisjCisj
IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5l
cmFsIFB1YmxpYworIyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyMgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQorIyBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2Vy
IEdlbmVyYWwgUHVibGljCisjIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5v
dCwgd3JpdGUgdG8gdGhlCisjIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3QsIEZpZnRoIEZsb29yLAorIyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyMg
cHlsaW50OiBkaXNhYmxlPW1pc3NpbmctZG9jc3RyaW5nLGludmFsaWQtbmFtZQoraW1wb3J0IG9z
CitpbXBvcnQgc3lzCisKK3RvcF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9z
LnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAiLi4iLCAiLi4iKSkKK3N5cy5w
YXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgIlRvb2xzIiwg
ImZsYXRwYWsiKSkKK2Zyb20gZmxhdHBha3V0aWxzIGltcG9ydCBXZWJraXRGbGF0cGFrCisKK2lm
IF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgV2Via2l0RmxhdHBhay5sb2FkX2Zyb21fYXJn
cyhbIi0tdXBkYXRlIl0gKyBzeXMuYXJndlsxOl0pLnJ1bigpCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3VwZGF0ZS13ZWJraXRndGstZmxhdHBhayBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdl
YmtpdGd0ay1mbGF0cGFrCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwOTU2ZjFmMmUx
NDg1ZDI0ODYyZWY3ZjZkNzRhMmYzZjk4Y2Y5MmY4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1mbGF0
cGFrCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9u
Ci0jIENvcHlyaWdodCAoQykgMjAxOCBJZ2FsaWEgUy5MLgotIyBDb3B5cmlnaHQgKGMpIDIwMTgs
IFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGlnYWxpYS5jb20+Ci0jCi0jIFRoaXMgcHJvZ3Jh
bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwot
IyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKLSMgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi
bGljCi0jIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8g
dGhlCi0jIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZp
ZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSMgcHlsaW50OiBkaXNh
YmxlPW1pc3NpbmctZG9jc3RyaW5nLGludmFsaWQtbmFtZQotaW1wb3J0IG9zCi1pbXBvcnQgc3lz
Ci0KLXRvcF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihv
cy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAiLi4iLCAiLi4iKSkKLXN5cy5wYXRoLmluc2VydCgw
LCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgIlRvb2xzIiwgImZsYXRwYWsiKSkK
LWZyb20gZmxhdHBha3V0aWxzIGltcG9ydCBXZWJraXRGbGF0cGFrCi0KLWlmIF9fbmFtZV9fID09
ICJfX21haW5fXyI6Ci0gICAgV2Via2l0RmxhdHBhay5sb2FkX2Zyb21fYXJncyhbIi0tZ3RrIiwg
Ii0tdXBkYXRlIl0gKyBzeXMuYXJndlsxOl0pLnJ1bigpCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3VwZGF0ZS13ZWJraXRndGstbGlicyBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0
ay1saWJzCmluZGV4IDJlMWMwMmZmZDcwNTYwMDgwZTM2YmM3NGI0NjU4ZmZlZjVkZWNkOGUuLjJl
OGE4Nzg1MTk2ZGI4YzdiZmNjNDkwNDk1YWQ5YzVkNzAwZmZmNTEgMTAwNzU1Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1saWJzCisrKyBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRl
LXdlYmtpdGd0ay1saWJzCkBAIC0yMiw0ICsyMiw4IEBAIHVzZSBsaWIgJEZpbmRCaW46OkJpbjsK
IHVzZSB3ZWJraXRkaXJzOwogCiBteSAkc2NyaXB0c0RpciA9IHJlbGF0aXZlU2NyaXB0c0Rpcigp
Owotc3lzdGVtKCJwZXJsIiwgIiRzY3JpcHRzRGlyL3VwZGF0ZS13ZWJraXQtbGlicy1qaGJ1aWxk
IiwgIi0tZ3RrIiwgQEFSR1YpID09IDAgb3IgZGllICQhOworaWYgKGRlZmluZWQgJEVOVnsnV0VC
S0lUX0pIQlVJTEQnfSBhbmQgJEVOVnsnV0VCS0lUX0pIQlVJTEQnfSkgeworICAgIHN5c3RlbSgi
cGVybCIsICIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCIsICItLWd0ayIs
IEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK30gZWxzZSB7CisgICAgc3lzdGVtKCIkc2NyaXB0c0Rp
ci91cGRhdGUtd2Via2l0LWZsYXRwYWsiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7Cit9CmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtZmxhdHBhayBiL1Rvb2xzL1Nj
cmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1mbGF0cGFrCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQpp
bmRleCA1NjRlODc2NTIxMTE4ZTJmYzBmZDY4YjhjODY2YWE5MDAxY2I4MTIyLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRl
LXdlYmtpdHdwZS1mbGF0cGFrCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotIyEvdXNy
L2Jpbi9lbnYgcHl0aG9uCi0jIENvcHlyaWdodCAoQykgMjAxOCBJZ2FsaWEgUy5MLgotIyBDb3B5
cmlnaHQgKGMpIDIwMTgsIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGlnYWxpYS5jb20+Ci0j
Ci0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBH
ZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSMgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgot
IyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQotIyBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh
aWxzLgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVz
c2VyIEdlbmVyYWwgUHVibGljCi0jIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlm
IG5vdCwgd3JpdGUgdG8gdGhlCi0jIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLAotIyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
LSMgcHlsaW50OiBkaXNhYmxlPW1pc3NpbmctZG9jc3RyaW5nLGludmFsaWQtbmFtZQotaW1wb3J0
IG9zCi1pbXBvcnQgc3lzCi0KLXRvcF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRo
KG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAiLi4iLCAiLi4iKSkKLXN5
cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgIlRvb2xz
IiwgImZsYXRwYWsiKSkKLWZyb20gZmxhdHBha3V0aWxzIGltcG9ydCBXZWJraXRGbGF0cGFrCi0K
LWlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6Ci0gICAgV2Via2l0RmxhdHBhay5sb2FkX2Zyb21f
YXJncyhbIi0td3BlIiwgIi0tdXBkYXRlIl0gKyBzeXMuYXJndlsxOl0pLnJ1bigpCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGlicyBiL1Rvb2xzL1NjcmlwdHMv
dXBkYXRlLXdlYmtpdHdwZS1saWJzCmluZGV4IDZiNGI0NmYyYjdlYjhhOWU2ODA3NzU3YmNhMmI5
ZTY4NDcwN2EwMjMuLmNkYzRjN2RiOGM2NWVhNzMyM2Q2OTI2ODE5OGEyZjY4YmQ1MTMwMTQgMTAw
NzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1saWJzCisrKyBiL1Rvb2xz
L1NjcmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1saWJzCkBAIC0yMiw0ICsyMiw4IEBAIHVzZSBsaWIg
JEZpbmRCaW46OkJpbjsKIHVzZSB3ZWJraXRkaXJzOwogCiBteSAkc2NyaXB0c0RpciA9IHJlbGF0
aXZlU2NyaXB0c0RpcigpOwotc3lzdGVtKCJwZXJsIiwgIiRzY3JpcHRzRGlyL3VwZGF0ZS13ZWJr
aXQtbGlicy1qaGJ1aWxkIiwgIi0td3BlIiwgQEFSR1YpID09IDAgb3IgZGllICQhOworaWYgKGRl
ZmluZWQgJEVOVnsnV0VCS0lUX0pIQlVJTEQnfSBhbmQgJEVOVnsnV0VCS0lUX0pIQlVJTEQnfSkg
eworICAgIHN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWxpYnMtamhi
dWlsZCIsICItLXdwZSIsIEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK30gZWxzZSB7CisgICAgc3lz
dGVtKCIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWZsYXRwYWsiLCBAQVJHVikgPT0gMCBvciBk
aWUgJCE7Cit9CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0gYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KaW5kZXggNDc5YmI0MzFkNmJkYmU3ZDVjY2ZlMTNkY2Q2
MmFkY2M1MGFjZmZiNi4uYTcxNGIwZWNjNGQzMzk1ODQ3MDcxMWFiMTU5NWRiODdhZDA2YmQ0MCAx
MDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0ZGlycy5wbQpAQCAtOTEsNyArOTEsMTAgQEAgQkVHSU4gewogICAgICAgICZzZXR1
cFVuaXhXZWJLaXRFbnZpcm9ubWVudAogICAgICAgICZzaGFyZWRDb21tYW5kTGluZU9wdGlvbnMK
ICAgICAgICAmc2hhcmVkQ29tbWFuZExpbmVPcHRpb25zVXNhZ2UKKyAgICAgICAmc2hvdWxkVXNl
RmxhdHBhaworICAgICAgICZydW5JbkZsYXRwYWsKICAgICAgICAmc2h1dERvd25JT1NTaW11bGF0
b3JEZXZpY2UKKyAgICAgICAmc291cmNlRGlyCiAgICAgICAgJndpbGxVc2VJT1NEZXZpY2VTREsK
ICAgICAgICAmd2lsbFVzZUlPU1NpbXVsYXRvclNESwogICAgICAgIERPX05PVF9VU0VfT1BFTl9D
T01NQU5ECkBAIC0yMDQ4LDIwICsyMDUxLDExIEBAIHN1YiBnZXRKaGJ1aWxkUGF0aCgpCiAgICAg
cmV0dXJuIEZpbGU6OlNwZWMtPmNhdGRpcihAamhidWlsZFBhdGgpOwogfQogCi1zdWIgZ2V0Rmxh
dHBha1BhdGgoKQorc3ViIGdldFVzZXJGbGF0cGFrUGF0aCgpCiB7Ci0gICAgbXkgQGZsYXRwYWtC
dWlsZFBhdGggPSBGaWxlOjpTcGVjLT5zcGxpdGRpcihiYXNlUHJvZHVjdERpcigpKTsKLSAgICBp
ZiAoaXNHdGsoKSkgewotICAgICAgICBwdXNoKEBmbGF0cGFrQnVpbGRQYXRoLCAiR1RLIik7Ci0g
ICAgfSBlbHNpZiAoaXNXUEUoKSkgewotICAgICAgICBwdXNoKEBmbGF0cGFrQnVpbGRQYXRoLCAi
V1BFIik7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgZGllICJDYW5ub3QgZ2V0IEZsYXRwYWsgcGF0
aCBmb3IgcGxhdGZvcm0gdGhhdCBpc24ndCBHVEsrIG9yIFdQRS5cbiI7Ci0gICAgfQotICAgIG15
IEBjb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbigpOwotICAgIHB1c2goQGZsYXRwYWtCdWls
ZFBhdGgsICJGbGF0cGFrVHJlZSRjb25maWd1cmF0aW9uIik7Ci0KLSAgICByZXR1cm4gRmlsZTo6
U3BlYy0+Y2F0ZGlyKEBmbGF0cGFrQnVpbGRQYXRoKTsKKyAgICBteSBAZmxhdHBha1BhdGggPSBG
aWxlOjpTcGVjLT5zcGxpdGRpcihiYXNlUHJvZHVjdERpcigpKTsKKyAgICBwdXNoKEBmbGF0cGFr
UGF0aCwgIlVzZXJGbGF0cGFrIik7CisgICAgcmV0dXJuIEZpbGU6OlNwZWMtPmNhdGRpcihAZmxh
dHBha1BhdGgpOwogfQogCiBzdWIgaXNDYWNoZWRBcmd1bWVudGZpbGVPdXRPZkRhdGUoJEApCkBA
IC0yMDg4LDExICsyMDgyLDcgQEAgc3ViIGlzQ2FjaGVkQXJndW1lbnRmaWxlT3V0T2ZEYXRlKCRA
KQogCiBzdWIgaW5GbGF0cGFrU2FuZGJveCgpCiB7Ci0gICAgaWYgKC1mICIvLmZsYXRwYWstaW5m
byIpIHsKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQotCi0gICAgcmV0dXJuIDA7CisgICAgcmV0
dXJuICgtZiAiLy5mbGF0cGFrLWluZm8iKTsKIH0KIAogc3ViIHJ1bkluRmxhdHBhayhAKQpAQCAt
MjExMyw0NSArMjEwMyw2MiBAQCBzdWIgcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQCkKICAgICAg
ICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgaWYgKCEgLWUgZ2V0RmxhdHBha1BhdGgoKSkgewot
ICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAoISAtZSBnZXRVc2VyRmxhdHBha1BhdGgoKSkgewor
ICAgICAgcmV0dXJuIDA7CiAgICAgfQogCiAgICAgcnVuSW5GbGF0cGFrKEBfKQogfQogCi1zdWIg
d3JhcHBlclByZWZpeElmTmVlZGVkKCkKK3N1YiBqaGJ1aWxkV3JhcHBlclByZWZpeCgpCiB7Cisg
ICAgbXkgQHByZWZpeCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMi
LCAiamhidWlsZCIsICJqaGJ1aWxkLXdyYXBwZXIiKSk7CisgICAgaWYgKGlzR3RrKCkpIHsKKyAg
ICAgICAgcHVzaChAcHJlZml4LCAiLS1ndGsiKTsKKyAgICB9IGVsc2lmIChpc1dQRSgpKSB7Cisg
ICAgICAgIHB1c2goQHByZWZpeCwgIi0td3BlIik7CisgICAgfQorICAgIHB1c2goQHByZWZpeCwg
InJ1biIpOworCisgICAgcmV0dXJuIEBwcmVmaXg7Cit9CiAKK3N1YiB3cmFwcGVyUHJlZml4SWZO
ZWVkZWQoKQorewogICAgIGlmIChpc0FueVdpbmRvd3MoKSB8fCBpc0pTQ09ubHkoKSB8fCBpc1Bs
YXlTdGF0aW9uKCkpIHsKICAgICAgICAgcmV0dXJuICgpOwogICAgIH0KICAgICBpZiAoaXNBcHBs
ZUNvY29hV2ViS2l0KCkpIHsKICAgICAgICAgcmV0dXJuICgieGNydW4iKTsKICAgICB9Ci0gICAg
aWYgKHNob3VsZFVzZUpoYnVpbGQoKSBhbmQgISBzaG91bGRVc2VGbGF0cGFrKCkpIHsKLSAgICAg
ICAgbXkgQHByZWZpeCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMi
LCAiamhidWlsZCIsICJqaGJ1aWxkLXdyYXBwZXIiKSk7Ci0gICAgICAgIGlmIChpc0d0aygpKSB7
Ci0gICAgICAgICAgICBwdXNoKEBwcmVmaXgsICItLWd0ayIpOwotICAgICAgICB9IGVsc2lmIChp
c1dQRSgpKSB7Ci0gICAgICAgICAgICBwdXNoKEBwcmVmaXgsICItLXdwZSIpOwotICAgICAgICB9
Ci0gICAgICAgIHB1c2goQHByZWZpeCwgInJ1biIpOwogCi0gICAgICAgIHJldHVybiBAcHJlZml4
OworICAgICMgUmV0dXJuaW5nICgpIGhlcmUgbWVhbnMgZWl0aGVyIEZsYXRwYWsgb3Igbm8gd3Jh
cHBlciB3aWxsIGJlIHVzZWQuCisgICAgaWYgKGlzR3RrKCkgb3IgaXNXUEUoKSkgeworICAgICAg
ICAjIFJlc3BlY3QgdXNlcidzIGNob2ljZS4KKyAgICAgICAgaWYgKGRlZmluZWQgJEVOVnsnV0VC
S0lUX0pIQlVJTEQnfSkgeworICAgICAgICAgICAgaWYgKCRFTlZ7J1dFQktJVF9KSEJVSUxEJ30g
YW5kIC1lIGdldEpoYnVpbGRQYXRoKCkpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gamhidWls
ZFdyYXBwZXJQcmVmaXgoKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
cmV0dXJuICgpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgIyBvciBsZXQgRmxhdHBhayB0
YWtlIHByZWNlZGVuY2Ugb3ZlciBKSEJ1aWxkLgorICAgICAgICB9IGVsc2lmICgtZSBnZXRVc2Vy
RmxhdHBha1BhdGgoKSkgeworICAgICAgICAgICAgcmV0dXJuICgpOworICAgICAgICB9IGVsc2lm
ICgtZSBnZXRKaGJ1aWxkUGF0aCgpKSB7CisgICAgICAgICAgICByZXR1cm4gamhidWlsZFdyYXBw
ZXJQcmVmaXgoKTsKKyAgICAgICAgfQogICAgIH0KLQogICAgIHJldHVybiAoKTsKIH0KIAotc3Vi
IHNob3VsZFVzZUpoYnVpbGQoKQotewotICAgIHJldHVybiAoKGlzR3RrKCkgb3IgaXNXUEUoKSkg
YW5kIC1lIGdldEpoYnVpbGRQYXRoKCkpOwotfQotCiBzdWIgc2hvdWxkVXNlRmxhdHBhaygpCiB7
Ci0gICAgcmV0dXJuICgoaXNHdGsoKSBvciBpc1dQRSgpKSBhbmQgISBpbkZsYXRwYWtTYW5kYm94
KCkgYW5kIC1lIGdldEZsYXRwYWtQYXRoKCkpOworICAgIGlmICghaXNHdGsoKSBhbmQgIWlzV1BF
KCkpIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgbXkgQHByZWZpeCA9IHdyYXBw
ZXJQcmVmaXhJZk5lZWRlZCgpOworICAgIHJldHVybiAoKCEgaW5GbGF0cGFrU2FuZGJveCgpKSBh
bmQgKEBwcmVmaXggPT0gMCkgYW5kIC1lIGdldFVzZXJGbGF0cGFrUGF0aCgpKTsKIH0KIAogc3Vi
IGNtYWtlQ2FjaGVQYXRoKCkKQEAgLTIyMTgsNyArMjIyNSw3IEBAIHN1YiBzaG91bGRSZW1vdmVD
TWFrZUNhY2hlKEApCiAgICAgfQogCiAgICAgIyBJZiBhIGNoYW5nZSBvbiB0aGUgSkhCdWlsZCBt
b2R1bGVzZXQgaGFzIGJlZW4gZG9uZSwgd2UgbmVlZCB0byBjbGVhbiB0aGUgY2FjaGUgYXMgd2Vs
bC4KLSAgICBpZiAoaXNHdGsoKSB8fCBpc1dQRSgpKSB7CisgICAgaWYgKCEgc2hvdWxkVXNlRmxh
dHBhaygpIGFuZCAoaXNHdGsoKSB8fCBpc1dQRSgpKSkgewogICAgICAgICBteSAkamhidWlsZFJv
b3REaXJlY3RvcnkgPSBGaWxlOjpTcGVjLT5jYXRkaXIoZ2V0SmhidWlsZFBhdGgoKSwgIlJvb3Qi
KTsKICAgICAgICAgIyBUaGUgc2NyaXB0IHVwZGF0ZS13ZWJraXQtbGlicy1qaGJ1aWxkIHNoYWxs
IHJlLWdlbmVyYXRlICRqaGJ1aWxkUm9vdERpcmVjdG9yeSBpZiB0aGUgbW9kdWxlc2V0IGNoYW5n
ZWQuCiAgICAgICAgIGlmICgtZCAkamhidWlsZFJvb3REaXJlY3RvcnkgJiYgJGNhY2hlRmlsZU1v
ZGlmaWVkVGltZSA8IHN0YXQoJGpoYnVpbGRSb290RGlyZWN0b3J5KS0+bXRpbWUpIHsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKaW5kZXggZTFhMTljZTA3MzkyYWFiZDk4MDRiOGUzNTI0
NzRlYWEyNTU2YmQ3Yi4uMmU5NjhlMzk1YzNiZTNhZjc2YTZmZWU2MjU1NmM4YzdhYTYyYzMyYiAx
MDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKQEAgLTg5Myw2ICs4OTMsNyBAQCBjbGFz
cyBQb3J0KG9iamVjdCk6CiAgICAgICAgICAgICAnTEFORycsCiAgICAgICAgICAgICAnTERfTElC
UkFSWV9QQVRIJywKICAgICAgICAgICAgICdURVJNJywKKyAgICAgICAgICAgICdUWicsCiAgICAg
ICAgICAgICAnWERHX0RBVEFfRElSUycsCiAgICAgICAgICAgICAnWERHX1JVTlRJTUVfRElSJywK
IApAQCAtMTIyMCw3ICsxMjIxLDcgQEAgY2xhc3MgUG9ydChvYmplY3QpOgogICAgICAgICBUaGlz
IGlzIG5lZWRlZCBvbmx5IGJ5IHBvcnRzIHRoYXQgdXNlIHRoZSBhcGFjaGVfaHR0cF9zZXJ2ZXIg
bW9kdWxlLiIiIgogICAgICAgICAjIFRoZSBBcGFjaGUgYmluYXJ5IHBhdGggY2FuIHZhcnkgZGVw
ZW5kaW5nIG9uIE9TIGFuZCBkaXN0cmlidXRpb24KICAgICAgICAgIyBTZWUgaHR0cDovL3dpa2ku
YXBhY2hlLm9yZy9odHRwZC9EaXN0cm9zRGVmYXVsdExheW91dAotICAgICAgICBmb3IgcGF0aCBp
biBbIi91c3Ivc2Jpbi9odHRwZCIsICIvdXNyL3NiaW4vYXBhY2hlMiIsICIvYXBwL2Jpbi9odHRw
ZCJdOgorICAgICAgICBmb3IgcGF0aCBpbiBbIi91c3Ivc2Jpbi9odHRwZCIsICIvdXNyL3NiaW4v
YXBhY2hlMiIsICIvdXNyL2Jpbi9odHRwZCJdOgogICAgICAgICAgICAgaWYgc2VsZi5fZmlsZXN5
c3RlbS5leGlzdHMocGF0aCk6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHBhdGgKICAgICAgICAg
X2xvZy5lcnJvcigiQ291bGQgbm90IGZpbmQgYXBhY2hlLiBOb3QgaW5zdGFsbGVkIG9yIHVua25v
d24gcGF0aC4iKQpAQCAtMTQ1MiwxNCArMTQ1Myw4IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAg
ICAgICAgIyAtLXBpeGVsLXRlc3QtZGlyZWN0b3J5IGlzIG5vdCBzcGVjaWZpZWQuCiAgICAgICAg
IHJldHVybiBUcnVlCiAKLSAgICBkZWYgX3Nob3VsZF91c2VfZmxhdHBhayhzZWxmKToKLSAgICAg
ICAgc3VmZml4ID0gIiIKLSAgICAgICAgaWYgc2VsZi5wb3J0X25hbWU6Ci0gICAgICAgICAgICBz
dWZmaXggPSBzZWxmLnBvcnRfbmFtZS51cHBlcigpCi0gICAgICAgIHJldHVybiBzZWxmLl9maWxl
c3lzdGVtLmV4aXN0cyhzZWxmLnBhdGhfZnJvbV93ZWJraXRfYmFzZSgnV2ViS2l0QnVpbGQnLCBz
dWZmaXgsICJGbGF0cGFrVHJlZSIpKQotCiAgICAgZGVmIF9pbl9mbGF0cGFrX3NhbmRib3goc2Vs
Zik6Ci0gICAgICAgIHJldHVybiBvcy5wYXRoLmV4aXN0cygiLy5mbGF0cGFrLWluZm8iKQorICAg
ICAgICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5leGlzdHMoIi8uZmxhdHBhay1pbmZvIikKIAog
ICAgIGRlZiBfc2hvdWxkX3VzZV9qaGJ1aWxkKHNlbGYpOgogICAgICAgICBpZiBzZWxmLl9pbl9m
bGF0cGFrX3NhbmRib3goKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9y
dC9ndGsucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5CmluZGV4IDY4YmMx
NjkyM2Y4YWI3NjA5MWY1YjNlOTY0ZDA2NWM3OTQzZmY4ZDUuLjBjZThhYTQ4NzQ1OTA5Yzc5NzM2
ODgzYjM2ZDM0ZTg3NDA5OGQ0NzMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9ndGsucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQpAQCAt
MTIyLDYgKzEyMiw3IEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAgICAgICAgIGVudmlyb25tZW50
WydURVNUX1JVTk5FUl9JTkpFQ1RFRF9CVU5ETEVfRklMRU5BTUUnXSA9IHNlbGYuX2J1aWxkX3Bh
dGgoJ2xpYicsICdsaWJUZXN0UnVubmVySW5qZWN0ZWRCdW5kbGUuc28nKQogICAgICAgICBlbnZp
cm9ubWVudFsnVEVTVF9SVU5ORVJfVEVTVF9QTFVHSU5fUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0
aCgnbGliJywgJ3BsdWdpbnMnKQogICAgICAgICBzZWxmLl9jb3B5X3ZhbHVlX2Zyb21fZW52aXJv
bl9pZl9zZXQoZW52aXJvbm1lbnQsICdXRUJLSVRfT1VUUFVURElSJykKKyAgICAgICAgc2VsZi5f
Y29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX0pIQlVJ
TEQnKQogICAgICAgICBzZWxmLl9jb3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9zZXQoZW52aXJv
bm1lbnQsICdXRUJLSVRfVE9QX0xFVkVMJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9t
X2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnVVNFX1BMQVlCSU4zJykKICAgICAgICAgc2Vs
Zi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnR1NUX0RFQlVH
JykKQEAgLTEzNCwxMCArMTM1LDExIEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAgICAgICAgICAg
ICBpZiBzZWxmLl9zaG91bGRfdXNlX2poYnVpbGQoKToKICAgICAgICAgICAgICAgICBsbHZtcGlw
ZV9saWJnbF9wYXRoID0gc2VsZi5ob3N0LmV4ZWN1dGl2ZS5ydW5fY29tbWFuZChzZWxmLl9qaGJ1
aWxkX3dyYXBwZXIgKyBbJ3ByaW50ZW52JywgJ0xMVk1QSVBFX0xJQkdMX1BBVEgnXSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaWdub3JlX2Vycm9ycz1UcnVlKS5zdHJpcCgpCisgICAgICAgICAgICAgICAgZHJpX2xp
YmdsX3BhdGggPSBvcy5wYXRoLmpvaW4obGx2bXBpcGVfbGliZ2xfcGF0aCwgImRyaSIpCiAgICAg
ICAgICAgICBlbHNlOiAgIyBpbiBmbGF0cGFrCi0gICAgICAgICAgICAgICAgbGx2bXBpcGVfbGli
Z2xfcGF0aCA9ICIvYXBwL3NvZnRHTC9saWIiCisgICAgICAgICAgICAgICAgbGx2bXBpcGVfbGli
Z2xfcGF0aCA9ICIvdXNyL2xpYi94ODZfNjQtbGludXgtZ251LyIKKyAgICAgICAgICAgICAgICBk
cmlfbGliZ2xfcGF0aCA9IG9zLnBhdGguam9pbihsbHZtcGlwZV9saWJnbF9wYXRoLCAiR0wiLCAi
bGliIiwgImRyaSIpCiAKLSAgICAgICAgICAgIGRyaV9saWJnbF9wYXRoID0gb3MucGF0aC5qb2lu
KGxsdm1waXBlX2xpYmdsX3BhdGgsICJkcmkiKQogICAgICAgICAgICAgaWYgb3MucGF0aC5leGlz
dHMob3MucGF0aC5qb2luKGxsdm1waXBlX2xpYmdsX3BhdGgsICJsaWJHTC5zbyIpKSBhbmQgb3Mu
cGF0aC5leGlzdHMob3MucGF0aC5qb2luKGRyaV9saWJnbF9wYXRoLCAic3dyYXN0X2RyaS5zbyIp
KToKICAgICAgICAgICAgICAgICAjIE1ha2Ugc3VyZSB2YS1hcGkgc3VwcG9ydCBnZXRzIGRpc2Fi
bGVkIGJlY2F1c2UgaXQncyBpbmNvbXBhdGlibGUgd2l0aCBNZXNhJ3Mgc29mdEdMIGRyaXZlci4K
ICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudFsnTElCVkFfRFJJVkVSX05BTUUnXSA9ICJudWxs
IgpAQCAtMTQ4LDcgKzE1MCw3IEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAgICAgICAgICAgICAg
ICAgaWYgb3MuZW52aXJvbi5nZXQoJ0xEX0xJQlJBUllfUEFUSCcpOgogICAgICAgICAgICAgICAg
ICAgICBlbnZpcm9ubWVudFsnTERfTElCUkFSWV9QQVRIJ10gKz0gJzolcycgJSBvcy5lbnZpcm9u
LmdldCgnTERfTElCUkFSWV9QQVRIJykKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAg
ICAgX2xvZy53YXJuaW5nKCJDYW4ndCBmaW5kIEdhbGxpdW0gbGx2bXBpcGUgZHJpdmVyLiBUcnkg
dG8gcnVuIHVwZGF0ZS13ZWJraXRndGstbGlicyBvciB1cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsi
KQorICAgICAgICAgICAgICAgIF9sb2cud2FybmluZygiQ2FuJ3QgZmluZCBHYWxsaXVtIGxsdm1w
aXBlIGRyaXZlci4gVHJ5IHRvIHJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdl
YmtpdC1mbGF0cGFrIikKICAgICAgICAgaWYgc2VsZi5nZXRfb3B0aW9uKCJsZWFrcyIpOgogICAg
ICAgICAgICAgIyBUdXJuIG9mZiBHTGliIG1lbW9yeSBvcHRpbWlzYXRpb25zIGh0dHBzOi8vd2lr
aS5nbm9tZS5vcmcvVmFsZ3JpbmQuCiAgICAgICAgICAgICBlbnZpcm9ubWVudFsnR19TTElDRSdd
ID0gJ2Fsd2F5cy1tYWxsb2MnCkBAIC0yMzcsNyArMjM5LDcgQEAgY2xhc3MgR3RrUG9ydChQb3J0
KToKIAogICAgIGRlZiBfZ2V0X2NyYXNoX2xvZyhzZWxmLCBuYW1lLCBwaWQsIHN0ZG91dCwgc3Rk
ZXJyLCBuZXdlcl90aGFuLCB0YXJnZXRfaG9zdD1Ob25lKToKICAgICAgICAgcmV0dXJuIEdEQkNy
YXNoTG9nR2VuZXJhdG9yKHNlbGYuX2V4ZWN1dGl2ZSwgbmFtZSwgcGlkLCBuZXdlcl90aGFuLAot
ICAgICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbSwgc2VsZi5fcGF0aF90b19kcml2ZXIpLmdlbmVy
YXRlX2NyYXNoX2xvZyhzdGRvdXQsIHN0ZGVycikKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0sIHNlbGYuX3BhdGhfdG9fZHJpdmVyLCBzZWxmLnBv
cnRfbmFtZSwgc2VsZi5nZXRfb3B0aW9uKCdjb25maWd1cmF0aW9uJykpLmdlbmVyYXRlX2NyYXNo
X2xvZyhzdGRvdXQsIHN0ZGVycikKIAogICAgIGRlZiB0ZXN0X2V4cGVjdGF0aW9uc19maWxlX3Bv
c2l0aW9uKHNlbGYpOgogICAgICAgICAjIEdUSyBwb3J0IGJhc2VsaW5lIHNlYXJjaCBwYXRoIGlz
IGd0ayAtPiB3azIgLT4gZ2VuZXJpYyAoYXMgZ3RrLXdrMiBhbmQgZ3RrIGJhc2VsaW5lcyBhcmUg
bWVyZ2VkKSwgc28gcG9ydCB0ZXN0IGV4cGVjdGF0aW9ucyBmaWxlIGlzIGF0IHRoaXJkIHRvIGxh
c3QgcG9zaXRpb24uCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGlu
dXhfZ2V0X2NyYXNoX2xvZy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9n
ZXRfY3Jhc2hfbG9nLnB5CmluZGV4IDlhZGM0NjM3MWY5NjFiMTk2MjhlN2ZlZGQ0NjVlYmZkMDk2
Y2QwMWEuLjJlMDNkZmYxYTM2ZWI1YzIwNWFlNjg3OWNkMjJiZDJjNzAyMjExZTMgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nLnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nLnB5CkBA
IC0zNywxOCArMzcsMjIgQEAgaW1wb3J0IHRpbWUKIAogZnJvbSB3ZWJraXRweS5jb21tb24uc3lz
dGVtLmV4ZWN1dGl2ZSBpbXBvcnQgU2NyaXB0RXJyb3IKIGZyb20gd2Via2l0cHkuY29tbW9uLnVu
aWNvZGVfY29tcGF0aWJpbGl0eSBpbXBvcnQgZGVjb2RlX2lmX25lY2Vzc2FyeQorZnJvbSB3ZWJr
aXRweS5jb21tb24ud2Via2l0X2ZpbmRlciBpbXBvcnQgV2ViS2l0RmluZGVyCiAKIAogY2xhc3Mg
R0RCQ3Jhc2hMb2dHZW5lcmF0b3Iob2JqZWN0KToKICAgICBfZmluZF9waWRfcmVnZXggPSByZS5j
b21waWxlKHInUElEOiAoXGQrKSBcKC4qXCknKQogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGV4
ZWN1dGl2ZSwgbmFtZSwgcGlkLCBuZXdlcl90aGFuLCBmaWxlc3lzdGVtLCBwYXRoX3RvX2RyaXZl
cik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGV4ZWN1dGl2ZSwgbmFtZSwgcGlkLCBuZXdlcl90
aGFuLCBmaWxlc3lzdGVtLCBwYXRoX3RvX2RyaXZlciwgcG9ydF9uYW1lLCBjb25maWd1cmF0aW9u
KToKICAgICAgICAgc2VsZi5uYW1lID0gbmFtZQogICAgICAgICBzZWxmLnBpZCA9IHBpZAogICAg
ICAgICBzZWxmLm5ld2VyX3RoYW4gPSBuZXdlcl90aGFuCiAgICAgICAgIHNlbGYuX2ZpbGVzeXN0
ZW0gPSBmaWxlc3lzdGVtCiAgICAgICAgIHNlbGYuX3BhdGhfdG9fZHJpdmVyID0gcGF0aF90b19k
cml2ZXIKICAgICAgICAgc2VsZi5fZXhlY3V0aXZlID0gZXhlY3V0aXZlCisgICAgICAgIHNlbGYu
X3BvcnRfbmFtZSA9IHBvcnRfbmFtZQorICAgICAgICBzZWxmLl9jb25maWd1cmF0aW9uID0gY29u
ZmlndXJhdGlvbgorICAgICAgICBzZWxmLl93ZWJraXRfZmluZGVyID0gV2ViS2l0RmluZGVyKGZp
bGVzeXN0ZW0pCiAKICAgICBkZWYgX2dldF9nZGJfb3V0cHV0KHNlbGYsIGNvcmVkdW1wX3BhdGgp
OgogICAgICAgICBwcm9jZXNzX25hbWUgPSBzZWxmLl9maWxlc3lzdGVtLmpvaW4ob3MucGF0aC5k
aXJuYW1lKHN0cihzZWxmLl9wYXRoX3RvX2RyaXZlcigpKSksIHNlbGYubmFtZSkKQEAgLTY3LDYg
KzcxLDkgQEAgY2xhc3MgR0RCQ3Jhc2hMb2dHZW5lcmF0b3Iob2JqZWN0KToKICAgICAgICAgcmV0
dXJuIGZpbGVuYW1lCiAKICAgICBkZWYgX2dldF90cmFjZV9mcm9tX3N5c3RlbWQoc2VsZiwgY29y
ZWR1bXBjdGwsIHBpZCk6CisgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKCIvLmZsYXRwYWstaW5m
byIpOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2dldF90cmFjZV9mcm9tX2ZsYXRwYWsoKQor
CiAgICAgICAgICMgTGV0dGluZyB1cCB0byA1IHNlY29uZHMgZm9yIHRoZSBiYWNrdHJhY2UgdG8g
YmUgZ2VuZXJhdGVkIG9uIHRoZSBzeXN0ZW1kIHNpZGUKICAgICAgICAgZm9yIHRyeV9udW1iZXIg
aW4gcmFuZ2UoNSk6CiAgICAgICAgICAgICBpZiB0cnlfbnVtYmVyICE9IDA6CkBAIC05MiwxMiAr
OTksMjQgQEAgY2xhc3MgR0RCQ3Jhc2hMb2dHZW5lcmF0b3Iob2JqZWN0KToKICAgICAgICAgICAg
ICAgICAgICAgICAgIHRlbXBfZmlsZS5uYW1lXSwgcmV0dXJuX2V4aXRfY29kZT1UcnVlKToKICAg
ICAgICAgICAgICAgICAgICAgY29udGludWUKIAotICAgICAgICAgICAgICAgIHJlcyA9IHNlbGYu
X2dldF9nZGJfb3V0cHV0KHNlbGYuX2dldF90bXBfZmlsZV9uYW1lKGNvcmVkdW1wY3RsLCB0ZW1w
X2ZpbGUubmFtZSkpCi0KLSAgICAgICAgICAgICAgICByZXR1cm4gcmVzCisgICAgICAgICAgICAg
ICAgcmV0dXJuIHNlbGYuX2dldF9nZGJfb3V0cHV0KHNlbGYuX2dldF90bXBfZmlsZV9uYW1lKGNv
cmVkdW1wY3RsLCB0ZW1wX2ZpbGUubmFtZSkpCiAKICAgICAgICAgcmV0dXJuICcnLCBbXQogCisg
ICAgZGVmIF9nZXRfdHJhY2VfZnJvbV9mbGF0cGFrKHNlbGYpOgorICAgICAgICBpZiBzZWxmLm5l
d2VyX3RoYW46CisgICAgICAgICAgICBjb3JlZHVtcF9zaW5jZSA9ICItLWdkYi1zdGFjay10cmFj
ZT1AJWYiICUgc2VsZi5uZXdlcl90aGFuCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBjb3Jl
ZHVtcF9zaW5jZSA9ICItLWdkYi1zdGFjay10cmFjZSIKKyAgICAgICAgd2Via2l0X2ZsYXRwYWtf
cGF0aCA9IHNlbGYuX3dlYmtpdF9maW5kZXIucGF0aF90b19zY3JpcHQoJ3dlYmtpdC1mbGF0cGFr
JykKKyAgICAgICAgY21kID0gWydmbGF0cGFrLXNwYXduJywgJy0taG9zdCcsIHdlYmtpdF9mbGF0
cGFrX3BhdGgsICctLSVzJyAlIHNlbGYuX3BvcnRfbmFtZSwKKyAgICAgICAgICAgICAgICItLSVz
IiAlIHNlbGYuX2NvbmZpZ3VyYXRpb24ubG93ZXIoKSwgY29yZWR1bXBfc2luY2VdCisKKyAgICAg
ICAgcHJvYyA9IHNlbGYuX2V4ZWN1dGl2ZS5wb3BlbihjbWQsIHN0ZGluPU5vbmUsIHN0ZG91dD1z
dWJwcm9jZXNzLlBJUEUsIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUpCisgICAgICAgIGNyYXNoX2xv
Zywgc3RkZXJyID0gcHJvYy5jb21tdW5pY2F0ZSgpCisgICAgICAgIGVycm9ycyA9IGRlY29kZV9p
Zl9uZWNlc3Nhcnkoc3RyKHN0ZGVyciBvciAnPGVtcHR5PicpLCBlcnJvcnM9J2lnbm9yZScpLnNw
bGl0bGluZXMoKQorICAgICAgICByZXR1cm4gY3Jhc2hfbG9nLCBlcnJvcnMKKwogICAgIGRlZiBn
ZW5lcmF0ZV9jcmFzaF9sb2coc2VsZiwgc3Rkb3V0LCBzdGRlcnIpOgogICAgICAgICBwaWRfcmVw
cmVzZW50YXRpb24gPSBzdHIoc2VsZi5waWQgb3IgJzx1bmtub3duPicpCiAgICAgICAgIGxvZ19k
aXJlY3RvcnkgPSBvcy5lbnZpcm9uLmdldCgiV0VCS0lUX0NPUkVfRFVNUFNfRElSRUNUT1JZIikK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hf
bG9nX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9j
cmFzaF9sb2dfdW5pdHRlc3QucHkKaW5kZXggOWYzYjdlMzkzNzljNDNhMTA1ZWNlMjBjMWNhNjI2
MjQzZGZhN2QzNC4uM2EzOWU4NDY3MGE2NGM4MzZiNWUxNDQyZmM4YTM1OTM0YzM3ZGY5NCAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9sb2df
dW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9j
cmFzaF9sb2dfdW5pdHRlc3QucHkKQEAgLTQ2LDcgKzQ2LDcgQEAgY2xhc3MgR0RCQ3Jhc2hMb2dH
ZW5lcmF0b3JUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgZXhlY3V0aXZlID0gTW9j
a0V4ZWN1dGl2ZSgpCiAgICAgICAgIGV4ZWN1dGl2ZS5fcHJvYyA9IE1vY2tQcm9jZXNzKCkKICAg
ICAgICAgZXhlY3V0aXZlLl9wcm9jLnN0ZG91dCA9ICdTVERFUlI6IDxlbXB0eT4nCi0gICAgICAg
IGdlbmVyYXRvciA9IEdEQkNyYXNoTG9nR2VuZXJhdG9yKGV4ZWN1dGl2ZSwgJ0R1bXBSZW5kZXJU
cmVlJywgMjg1MjksIG5ld2VyX3RoYW49Tm9uZSwgZmlsZXN5c3RlbT1Nb2NrRmlsZVN5c3RlbSh7
Jy9wYXRoL3RvL2NvcmVkdW1wcyc6ICcnfSksIHBhdGhfdG9fZHJpdmVyPU5vbmUpCisgICAgICAg
IGdlbmVyYXRvciA9IEdEQkNyYXNoTG9nR2VuZXJhdG9yKGV4ZWN1dGl2ZSwgJ0R1bXBSZW5kZXJU
cmVlJywgMjg1MjksIG5ld2VyX3RoYW49Tm9uZSwgZmlsZXN5c3RlbT1Nb2NrRmlsZVN5c3RlbSh7
Jy9wYXRoL3RvL2NvcmVkdW1wcyc6ICcnfSksIHBhdGhfdG9fZHJpdmVyPU5vbmUsIHBvcnRfbmFt
ZT0iZ3RrIiwgY29uZmlndXJhdGlvbj0iRGVidWciKQogCiAgICAgICAgIGNvcmVfZGlyZWN0b3J5
ID0gb3MuZW52aXJvbi5nZXQoJ1dFQktJVF9DT1JFX0RVTVBTX0RJUkVDVE9SWScsICcvcGF0aC90
by9jb3JlZHVtcHMnKQogICAgICAgICBjb3JlX3BhdHRlcm4gPSBnZW5lcmF0b3IuX2ZpbGVzeXN0
ZW0uam9pbihjb3JlX2RpcmVjdG9yeSwgImNvcmUtcGlkXyVwLmR1bXAiKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dwZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC93cGUucHkKaW5kZXggMDBjZTUyNzZlOWNjNDIxYjQ4MzdhYzJiNTRmMzNjNTUyYmJl
Yzg1NS4uNTQ2OTI1ZjQ3YzY0MDA3MjVhZjA3M2EzNTUzYzdmZjU0ZWVhN2Q5OCAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dwZS5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQvd3BlLnB5CkBAIC03Nyw2ICs3Nyw3IEBAIGNsYXNzIFdQRVBvcnQoUG9y
dCk6CiAgICAgICAgIGVudmlyb25tZW50WydURVNUX1JVTk5FUl9URVNUX1BMVUdJTl9QQVRIJ10g
PSBzZWxmLl9idWlsZF9wYXRoKCdsaWInLCAncGx1Z2lucycpCiAgICAgICAgIGVudmlyb25tZW50
WydXRUJLSVRfRVhFQ19QQVRIJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdiaW4nKQogICAgICAgICBz
ZWxmLl9jb3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9zZXQoZW52aXJvbm1lbnQsICdXRUJLSVRf
T1VUUFVURElSJykKKyAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0
KGVudmlyb25tZW50LCAnV0VCS0lUX0pIQlVJTEQnKQogICAgICAgICBzZWxmLl9jb3B5X3ZhbHVl
X2Zyb21fZW52aXJvbl9pZl9zZXQoZW52aXJvbm1lbnQsICdXRUJLSVRfVE9QX0xFVkVMJykKICAg
ICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAn
VVNFX1BMQVlCSU4zJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZf
c2V0KGVudmlyb25tZW50LCAnR1NUX0RFQlVHJykKQEAgLTEyMSw3ICsxMjIsOCBAQCBjbGFzcyBX
UEVQb3J0KFBvcnQpOgogICAgICAgICByZXR1cm4gMgogCiAgICAgZGVmIF9nZXRfY3Jhc2hfbG9n
KHNlbGYsIG5hbWUsIHBpZCwgc3Rkb3V0LCBzdGRlcnIsIG5ld2VyX3RoYW4sIHRhcmdldF9ob3N0
PU5vbmUpOgotICAgICAgICByZXR1cm4gR0RCQ3Jhc2hMb2dHZW5lcmF0b3Ioc2VsZi5fZXhlY3V0
aXZlLCBuYW1lLCBwaWQsIG5ld2VyX3RoYW4sIHNlbGYuX2ZpbGVzeXN0ZW0sIHNlbGYuX3BhdGhf
dG9fZHJpdmVyKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIpCisgICAgICAgIHJl
dHVybiBHREJDcmFzaExvZ0dlbmVyYXRvcihzZWxmLl9leGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3
ZXJfdGhhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2ZpbGVz
eXN0ZW0sIHNlbGYuX3BhdGhfdG9fZHJpdmVyLCBzZWxmLnBvcnRfbmFtZSwgc2VsZi5nZXRfb3B0
aW9uKCdjb25maWd1cmF0aW9uJykpLmdlbmVyYXRlX2NyYXNoX2xvZyhzdGRvdXQsIHN0ZGVycikK
IAogICAgIGRlZiBjb25maWd1cmF0aW9uX2Zvcl91cGxvYWQoc2VsZiwgaG9zdD1Ob25lKToKICAg
ICAgICAgY29uZmlndXJhdGlvbiA9IHN1cGVyKFdQRVBvcnQsIHNlbGYpLmNvbmZpZ3VyYXRpb25f
Zm9yX3VwbG9hZChob3N0PWhvc3QpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcCBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0FjdGl2YXRlRm9udHNHdGsuY3BwCmluZGV4IDNm
OGUyNDQwZjI4M2U0YjRlNTQyN2FkNjQ0ZDJiM2I0ZTMxOTY1YTEuLjgxYmNkOTYyYTA5YzdhY2Zl
ZjIyZWMyZjQ4YmMwMmIyNDlhNTZjNDQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0FjdGl2YXRlRm9udHNHdGsuY3BwCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0FjdGl2YXRlRm9udHNHdGsuY3BwCkBA
IC02NSw4ICs2NSwxMyBAQCBDU3RyaW5nIGdldE91dHB1dERpcigpCiAKIHN0YXRpYyBDU3RyaW5n
IGdldEZvbnRzUGF0aCgpCiB7CisgICAgLy8gVHJ5IGZsYXRwYWsgc2FuZGJveCBwYXRoLgorICAg
IEdVbmlxdWVQdHI8Y2hhcj5mb250c1BhdGgoZ19idWlsZF9maWxlbmFtZSgiL3VzciIsICJzaGFy
ZSIsICJ3ZWJraXRndGstdGVzdC1mb250cyIsIE5VTEwpKTsKKyAgICBpZiAoZ19maWxlX3Rlc3Qo
Zm9udHNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNUX0VYSVNU
UyB8IEdfRklMRV9URVNUX0lTX0RJUikpKQorICAgICAgICByZXR1cm4gZm9udHNQYXRoLmdldCgp
OworCiAgICAgQ1N0cmluZyB3ZWJraXRPdXRwdXREaXIgPSBnZXRPdXRwdXREaXIoKTsKLSAgICBH
VW5pcXVlUHRyPGNoYXI+IGZvbnRzUGF0aChnX2J1aWxkX2ZpbGVuYW1lKHdlYmtpdE91dHB1dERp
ci5kYXRhKCksICJEZXBlbmRlbmNpZXNHVEsiLCAiUm9vdCIsICJ3ZWJraXRndGstdGVzdC1mb250
cyIsIG51bGxwdHIpKTsKKyAgICBmb250c1BhdGgucmVzZXQoZ19idWlsZF9maWxlbmFtZSh3ZWJr
aXRPdXRwdXREaXIuZGF0YSgpLCAiRGVwZW5kZW5jaWVzR1RLIiwgIlJvb3QiLCAid2Via2l0Z3Rr
LXRlc3QtZm9udHMiLCBudWxscHRyKSk7CiAgICAgaWYgKGdfZmlsZV90ZXN0KGZvbnRzUGF0aC5n
ZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9FWElTVFMgfCBHX0ZJTEVf
VEVTVF9JU19ESVIpKSkKICAgICAgICAgcmV0dXJuIGZvbnRzUGF0aC5nZXQoKTsKIApkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVG
b250c1dQRS5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dwZS9B
Y3RpdmF0ZUZvbnRzV1BFLmNwcAppbmRleCBhNDljN2EyOTIxODI1OTFlMjcyN2IyYjkwMWU0MTJi
MmRlOGUwM2RhLi44YmU3MzZmMDQ5YzkxYjMwOGNkMmMxZWNhZjE0MDVhMDVjMWFlNTAwIDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dwZS9BY3RpdmF0
ZUZvbnRzV1BFLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L3dwZS9BY3RpdmF0ZUZvbnRzV1BFLmNwcApAQCAtNTgsOCArNTgsMTMgQEAgQ1N0cmluZyBnZXRP
dXRwdXREaXIoKQogCiBzdGF0aWMgQ1N0cmluZyBnZXRGb250c1BhdGgoKQogeworICAgIC8vIFRy
eSBmbGF0cGFrIHNhbmRib3ggcGF0aC4KKyAgICBHVW5pcXVlUHRyPGNoYXI+Zm9udHNQYXRoKGdf
YnVpbGRfZmlsZW5hbWUoIi91c3IiLCAic2hhcmUiLCAid2Via2l0Z3RrLXRlc3QtZm9udHMiLCBO
VUxMKSk7CisgICAgaWYgKGdfZmlsZV90ZXN0KGZvbnRzUGF0aC5nZXQoKSwgc3RhdGljX2Nhc3Q8
R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9FWElTVFMgfCBHX0ZJTEVfVEVTVF9JU19ESVIpKSkKKyAg
ICAgICAgcmV0dXJuIGZvbnRzUGF0aC5nZXQoKTsKKwogICAgIENTdHJpbmcgd2Via2l0T3V0cHV0
RGlyID0gZ2V0T3V0cHV0RGlyKCk7Ci0gICAgR1VuaXF1ZVB0cjxjaGFyPiBmb250c1BhdGgoZ19i
dWlsZF9maWxlbmFtZSh3ZWJraXRPdXRwdXREaXIuZGF0YSgpLCAiRGVwZW5kZW5jaWVzV1BFIiwg
IlJvb3QiLCAid2Via2l0Z3RrLXRlc3QtZm9udHMiLCBudWxscHRyKSk7CisgICAgZm9udHNQYXRo
LnJlc2V0KGdfYnVpbGRfZmlsZW5hbWUod2Via2l0T3V0cHV0RGlyLmRhdGEoKSwgIkRlcGVuZGVu
Y2llc1dQRSIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgbnVsbHB0cikpOwogICAg
IGlmIChnX2ZpbGVfdGVzdChmb250c1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4o
R19GSUxFX1RFU1RfRVhJU1RTIHwgR19GSUxFX1RFU1RfSVNfRElSKSkpCiAgICAgICAgIHJldHVy
biBmb250c1BhdGguZ2V0KCk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvZmlsZXMvZGVm
YXVsdC54a20gYi9Ub29scy9mbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMTZmNmIwOGY2ZDgwODU4MDk2OGJhMDIyNTZkOTA3NWQ0OGE0N2Qw
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCkdJVCBiaW5hcnkgcGF0
Y2gKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpsaXRlcmFsIDEyMDMyCnpjbWNneVlqN0xhYi11ZTs1
RmtpVmwzJWZGY1NecngqJE5ZMkw0c2lHclVDKHdwenQmUmw5SDIlckFTeiRNVWdafQp6Tj4tZjRO
flYoXm93VWdgTnotQHl0RFV+PlJDVXdOUkRHcVhgPilnS1lkVzR6YGY/bTZhb2RAK292TkwlLSpA
aj4Kej5+YW1JcyVPJlc5RGUocWQoT1MqS0s5PGJpK2xMdWc9Zz1JQDVpMjNOKTBHV2VNfVhVMTAw
VjJES3l8aXVTUEI0CnpwVTJqWStROFJgOT18NjdZKi1JSDlBJGNaX243Q1cpYyR3SFJCaThLV296
WEV5ZHheTnU/dE03TzZPOCVxcktNYwp6YlIxUkROPUcjeyMjSi1Gd1lsNWYrRTZPNEQhdSFKWU9P
JUkhSz88MnxJR1RPaioycVIqKUMkTmM2T0gpY3ghTEYKeigqPjVVNVdVIyVSR213IW9sN1R7SGBi
U1RJeT1Yb3ghbWRRVVVeaS1fd1BxVU4pPW1xbGBBR3c1RXFoJGo2KV9NCno4T1M2ZzN6XkNsUSVN
TnlRdG91USlvQUNZUmp2VFAwe2paX0U1TlMrelhKUlVAR0hRdDBLV3FLM2gqblcrLUFGMwp6dEt7
MzJUcG9VVF9+cWYzaGhIOWtkSENod214b14tZXRHIWlRPmt7UFBeYD9mTitgM0VufSoqc3tIRWJJ
NFptc2wKek9+WT4qZSQoKXFoVG44NSo9KUI7PHdrWUJsQj17XmplSWVtWXFWeXskclF3ZXEjQCZ3
Mn1sTXEzQ1RqSFgzRDgjCnp0eShGIUB8QU1BRnsjUnBFTXlBT25sQ3JUZmZKQW5CdiZYbVFhfjR5
aDluX3tOQGJ5dld9OC04dnUpJnNAPX1PMwp6bGA3fWp4emIhU1MxUSlackUrXz1JJHRXRFlVSGNz
TXpQakpkJSQ8MChRTV9MaF9fT2tEVXxCZjsoU0E/I19XOGYKelFrLWN3WEdgczN0KUwzXiNhZCZ3
UEBBaUA2azRTP212V1FVYEYzJWtVS3hYJlh3KDsqJG55IzRHbVlHUTN6JnNXCnptMT90PCh5OUNj
YFl2NXJvVTFoPGBGZ2R7WVMkYU4rMXk7Q1MjUWtPM2lYKzB0KH50byZlUmNDQmlDeHIlKyg2ewp6
YEwtJCpEfi05LV8jXzFSalplKmBDWCRkOCNEJTBHPEIkblIxX0hZWSppRkRMMUdeMERHTyl8UUUo
NXlePkB1KisKenolQiMzNEQyUmhId244KippRksyNV9YZllufXBwWT4/VUQxM0EtJXB2YXJqLUUo
Xk9YPzZSPVMhWSZLREViT3dkCnpuQFhiWChhJE9MYXwtPk9MTy1YXyZuZmhDM2pPUk4tOWBWbjch
Tk0mLTBeQ213VFJ8ZCluWXI+bnJ9MnFYQnkycAp6SDxeVkAmQUYqMEJuNUZIWH47TmEwK05BRExT
VURJb2VNaGBifXNCKCp0eEtDVmR1aW1nJnEzQ2J6enI9VF5lPzIKeipyajJZaEZ1elZZMXBNPG14
ZiYkY0heKWNodXR7ciMkaClPeUsmZiEhdyZ1N3FDWl5waGx+RGooSH0xUSEkcDYlCno9bnI+ZExP
KFA0bCpfKVo3SGppLW1QJHt5WEVfRWMpcG1+S3BoLWw8YkN1YTkkNGE/QE07cCZ8V3FKMXJwYksw
Qwp6cmghR15JSXN6djBNYWY0Sk9pOHImSTdaK0lwN3FxJlN4TGshMUspZmF6TihTMHk0aD5rb25D
M25jcG1zYElVZ28Kej8tWT52bTRWRHBLbVdpZEB0aVpDKD9JNXYyUXJAcEFvSDA5R01eZmRgQmM2
NkpGWnI/RV5jcGhifntTbCN8UENpCnpHTnxnYzshPnIhUF5Ac1Mtbj5HIUVkclpDKW4yU2l4fSZC
c2tMdmskWlQrY1Q2QGleaVRpRFNqcD5tWipES31rZwp6JiplUV5OOUM4ZGNiSVBad2tVaSttNVhP
RW13MHZxVHI8dmZ4KXc2ajw+VEw9WUwoX0ArOXg8Ukp2LT1GXzZhVD0KekMlcmdORHNAO2pAPUYt
SiNpanw/TUxqJHBaKyZuKWRxPTZHdzluVVQ/UGs1PWQzZzNRKW13czQhSUxIKWJ5RDMlCnpwVU9j
ZSZuTEtVRFNLM1dNdllKTlc8TEo5JEh2azFSPD02Q2EhfjFUVDs1dSQ/Nn15KilyZ01DSH0+TjMp
PnZnOQp6NSEpbGltSUdjZ19IRTVOOUV9YnJoYnVrJCg/O3Q+RUpyekx3N0FOKm4tJCMrZGYxPzhk
KzZuWEhyOFZ6JmI0e2UKemoxJWRyUVQ3JGAqeklvVVpkMCtpcVlsVEJOZCk9RyprTzVnI0ZRRGFT
dVhsN2hPcmlmM305YVojWCF0YXVfJER+CnpMSHx8aWBDTWhHSUVNd28pRjteQUkrZyptWEdqbTUq
aGNqWjFnakxyQngyIXMpaUlCZjRULUhMMjxfK3JBRVVKeAp6cFR3LT1NZihoP2NCeHRQb31kRmA/
bSFHeStfN1MpXk1TU25XcGtzfHQoZklsTG4+SUN4OGAtVHd6YnIwNjtyMjIKek8lSmVNcmBoSlo3
bHU1Jj9nY2JDO3k1STZhSitmXyVyPEJIcXVGJiNRNEJ7ZnU5KXB1MH07byVEO09VSlghdSRHCnot
XlJmSUV6WVFRVXB6RHhMKyE8VlVLOTtGZlNxNT0hY0cqSTROVXwhdStVRjc+Sih2fVA/c24rdE9L
WT00RTFtQAp6N2V5b1J2Kjh6a1VqJStPezMyMjctVUReaV5XeElYK3lYa2RvLWNGWWhifDE/MTZQ
PElORFBwJFU2Xn5PeEI3aGoKenpxVCNNJjhAYnJqamxsMytHeUtqMmluI2pLaiFoaGN7N0xHQ2R8
RklkYnt9VFg9Qkc0az98WFImVSk8QGMrVHxMCnpsc1VpfnF1KzYkdHk7ekVvWm52SWRaSWg8OVEp
VkpfX3cyOzdVcEY8Vmg4NTZncW8/KCVRfTNrV2t4dV5PRnFIJgp6XjUmJkcxOT05ZnAwfntUSD04
Myh7JEBUMj1JYH4jSjtENkhiI3Y+c1cqZ3NYLTdFKzU0Qz07NCh0akFoZGl9dD4KeiNXZmM1bTNs
fDh7T2E4NFZxd1dfa09KaitkIShEeUczcEdNekNkSSleVG90QjlMKUUkQU0/JWYyKEh0P0hxKDFP
Cno8aloqM1c/VTtDUF8xR0VKTHE8Q2lMYVNVeG1zYUtAN1JKSmchc2NfNlJOa2c5cmxpVnI8WE8k
dGprJmgrWCZadQp6PjtuJDBveWFzZSRLTWdHWFFNTFRrX3IxKGB3MDZie2xTOEwpZjxRQ3Q9e15H
ek92Q3pNfXlAXjR8ISR1Pm1PYU8KelFRNnhmS1lsfEE/IX0rT3VGVT0+PmhncDhYajlmdXNuXztW
WEx9I3BCZzNCdS0kI0ExcWA/cGZgfjhuI1FLTDErCnpsX1Q3eTBlRG9ud2c+LTtfUSVMVzh9ZlEx
I0p7WTBxTD09OWg8e2J7cDxlcGVMajNFUjVCSmpGNERtWk9rTGpfPQp6QHtqOEh1IWx3YnRpby09
ODkoeyQhV2xwTGh2QCZ8S34jLVE+VG01SXRVdmdIYGgkRCpBN0ZtKWsyPU9iRX1ZLTIKemNxTXVx
MT5xVmRoZDsqd3VhTz0lX0FmQ1dZdX0yZ2VGVU1AUGx4I0RkS31KM3xBYFIpYilSIU9QKEt5bypM
b2NKCno8TkMxPmY0UnBeMSU1b2xmM3dIO2FWaG9iNWRWQ1NxYUx7Yk9vOyFNJm4+M15XUWhOVWFC
a3N3e1k7NGVzUEtlaQp6I196OSVfJFBnP3Itb2spQGxXfCZjajIjdV8lOTJPJWdwamlBXnhLOUw3
OH1kSHBHOWA8RUFeK1hHOG9pZz9zVjsKem1DdHBLZT1WSC0mLVZHNzkjXmAoVUtRQE8mKUBkYVZV
MDRzKVo8e191Z20hST83IWwzOXBNezMqWDRpSj1lbTh+Cno+flR9IWZBK2Nke30tUVlnTWFuOF9X
eT9QTERRWTstK1pxOXxKfj0+fDM3QEx7cl4rPVZmcjZZPlBDPXtEKW5FJgp6Rn5qS217QGRxaDM4
bDchXzl2QmtDY3g+PzRSRSZDUExMeV8tNXwjXnlCRmtXKUpzOCpfJH4rZXM4WWBjSTNNe2QKejBu
UkA4SyFDRld7ekNYTD9zQDY/KXRpckNweSReQipZbTR6PUM5fTEwTjMtWWFGKGElKjh0Yl50OGoj
YF4heXMmCnplYG0lTVRHekMlXzA5TVomUUZLJWE+Pmk/YW92NGJLZkg5XmVPTnl7WllJMkZrRENR
IXB2VW5kand7eVZjdE9WJQp6P3tQRE4yWWNMJXM2Pnded0VhK3o0ezFLITxFQkwpN1hIeWpjZVo8
T00/S3s4I3I0ZXtePz03dUVMNjh2SkwqQT8Kemp+VEFsN2lrfjFmTD5wfjUzRGNYdFVjNUpOIWw7
TWsxJXJDNCUyPFVrTS1ERktWZD5VRW0oIzE/OyVJa19SNUw5CnpvZkdTdW8hI1U1WDl4YnlmWnRH
NWFyNkFmYHAoK3VAJWglSENVZkBFeShrbH1wKCtLe3ttY3lhe0FQN2g/KWZxTwp6TEFmNlhKfHk9
T3o9ITJOMTNXQURsZll3Z3A5TVo5X2Z4PiphLVJlOzFlUEBoVCQyMG0xKWgtbUlPM3d2VylMYHYK
enY1dEV5Xy0qZVEqZ2okRzU5bHZMeDdiSkRmdihzYC0tV0soTjYrN2orSXtyPUhoSEZ4ZWg8MyZL
S2dhJj1LQVFqCnpwc1YtTVokc0JHZGk3cjViOGBRRjsxNTk5Wi0+dyg3V1RtWlZBfCtGe2cre3JH
ZD42T2AyNDlfZWV8byk3NWVDKAp6Zl5NZGR7eWNRRWVlYFM0bUhPelBoVkUxIUolNSt1d35UUFY7
KiolRjdgXiUpO0NJWFlCZnRtYntgLUwrZl5lJGcKenl1KSR3S0pYN2ghdWZwd3grbllTcE0/JnVC
NSQhQGZpQi1pZStqeVVLS2dVZVA1MDRuTFJhZ2Z6WCU7WmkwaGMmCnozNEMxYy12eFkrK2BrKzZl
R3R+fj9APlF+cDlfQmY8WCRCeF9oYXN7VlprK2teRX03TXNQP3pAeWJ8YG00eDZCRwp6dGA2SiRF
XkxDcmA4I2EkZCQwKSM9ayYxNkA1M2Yyb2FlKGZlKmx9SGFQQU09ezJeP0QhdTIzKl45OSVoZz08
OUUKej04cz8jNnN7WCNuPWlzOUN8cGF6SGgmRDhwbTJTJHRSdzFxPS1LeyEtezgzOXpMJEdwLWdB
JTNlSn02MXBYREFtCnpvRzxzOExFKllXZCt4dXZDKzl1KXk0P1RycDhJYUAjbCFoPEtOPUxTU0c0
RFEwXmMyWSZ2eWQ4Qy05IzhmNCZwJgp6b19rZzlVd1F2b0FvckA0YnlkSWZWT1pmUzUkOXQ2YHdH
Vn0kMWIxMHBNISpCYz9KR0s7bzJMdmA0aVgjaDNoZjAKeihydE42bXliMF5ASWs+eDFSbnI7d20r
PE9qYH5NbnhEMzduMVpDODtpNTMyPlY7T2RMTGh3dmshUVk7XnIrT1gyCnp7IUl1cjFlPTJNZj0+
dngxUSFMe2Yod0V4ZzhNK1A0ITctZEVhNHFoQE9IdCsxYjtfLVVWO1BxJG07aHkoKFNPaAp6QWE8
d1YkRyY3Z24hZCFFRktPZElRfD9Le0opbVdzKU8kYWNlX218WDEpbWIhLWpDfHxJPk1oM3o5e2lz
NVdGYjMKekNVJlFWS1B8aT97NXlkcjJCcUZEeClYeCQ3a247WV5GeU1gMn5HPlhPWWxqLUZ+TUVJ
PUxQUShPYlZ0Mmp8bn5rCnpeeH1DWj8lOCVrM2Z0dSFxUHFpXzY1VTsqeUEkWnktNnZgOTUhP2lO
YEY+YipjTUkrYUV7S2gxX3BJb3oyeSEzQQp6N2BUVGJ1OEgzMzghejlZPXd9M0gxeHRjK0soQ0M/
aVM4RSFVbGU/KVhMRDc1fDZuYHQ7eVQwaWhTISgle1lpYiMKekBuZDhCQGNPIytHMjRpN2RoTGBL
VUp4dGB7PTZYVFBrWWJyR3ZMZ1JJekVAKXtsYFZgYWojRSpNRXZnK1RvUWEtCnpAVF8xND09cGwl
SjBmWWVwZXVNciY9RExFajAkcFdHUU9faENqPjdHekV8KipmfWF4bkcqRE9RQ2pYY3hGQXUlKgp6
UDl4Q208RiNpe0BwdFZ9e242MDYlM3FldjczYzVSTXk+M3QtV014ey13RGxHQ1B+NyhnYD0qRDR9
V2pJeFZePW4Keio3XkNhY1I4eE95dCQwSXc1UT5IWW9wV0kjJjJIITZ+cDxibyRieWhfbWM+JWNq
MHswOSlJc1FxczZHOVRpP00oCnpZcGBkPEdPTnEkKiEtRWRHbjBUbCYpUmJMe1FCbTMjX25JPFo+
RnNIQEt5UHNoVUEhPD9RWlJEa01iU24me2YqPQp6RDt4OHladGQtS00kNFRtSjBxamk9dVpUd2hk
RFBraTEoKUIrYmdOJCNHfnFjeDVaPGFRYzxfVmgkKklEdXFNPmwKelZgRlFialoyLX5eX0F0Wmk9
RVo9eV5DWXJ2Q1hhUyNwUjdMQjtwX3R7K3F3YG92bXprVnJuZGZteyZWSEU4WD8mCnotU3NXKjJa
eipiWFMzNT9VbH5QRjs4QXNNVnxuRVFAYmNPXjhmaWVDP3s9PVpOclMwbWwpU1R2Q15WKiVATnJi
Rgp6LW95c2QjKTUlR1NZNS1QNFpIKWpkO3gjPjR2Zj1iZSk8UDNLWWgoJkkhPXlaPEwmdzE5WX1Y
e0khfj45dDh8X3MKeiF9bXtvMz83aXF4Kk95NFptVm0jaWdGRTZVZWpyZSR3ODJnYj1JMHVsb3RA
XjNwIXIqNXE8REdJNm05XjwoJiR8CnpsaE5fO15xSFQyQlQoUGhiYldjKyV1b01EITJlNnl6Z2pO
QD5OXnJoem9HcUdGITIzZjMqYFQyQ0xKZih7UGQ/Qwp6emRhWTY3d2A9Nl5xSFVENGRqMVRtKFNC
YGUpPWBFaz42aXVRVTZNQGZjbz5KOVV1Mk0/Tl5XfGJoITYpRjR7NCEKelg3KUIkJXNfZm9Ufnt3
M3goKjhyUmFePURhVSRWYUxVZjZadnZqRmY7MHw9YmlEfCljITNtNTw+TkNQODErIyl2CnpDT3dy
akplM21FYFNHa0FoTTJ7M2RlcmwqODxBJXN4N1Vge0lzM1pHNDgwdHxeQjQ4djheSTBGS2hYfjc4
RmhYQAp6b2dZeGcyaHtOYUMmVygyMmQ/Ny0+aUI/RENmJnJ4YkNKU3pldFpKKG9ld1JVeiVMc3A3
aVQzQ18+T3tlUU58QUUKenM8YmBNUlNCQU1hanJfWkRIckZlZ3F3MTR1Rjd5Sjd3ME80Pi1faitW
NkB2RyNoNT5ZYXloYVNEcikyV2woRUQ0CnpEe1lWU1NBd1Fvb1dCeG8lRWtGQjtpZz1pemNPNlAj
a292IUtCPmU0MXtCTlZsYWohUjAta0A9X0JnTDhYdilRVAp6RSNhbklvWXhYPSVFZnN0O2lnPWk9
UVB9dSVPQD9OVnp3Uk9jdG0rUEpCZDQrPWgrZiEoQl5xaEJGfXRjT2o8blYKekwoWCQ8TTRvfXVU
PkF+JEY7IWUkLV9fR1EjIVBhIVV+fGsyST47TFJtQjRkPVp6bml3aTVQNjIkdDNiakNYcyMxCnpi
ZV9XYD1sTSpOVU8tdk9GMkk1aDJoVlltR2lLV0pKZn17X1N4ekYpYmBvKEd0YUR8MWRHKHpBOylv
cSM5RXNsOAp6V2s1V2FOO3txdkhDUlBtJFhnbTI1QUFxdjY/JShqUn1EQEg8X1pabHRqN2w5O0NX
VilKfFVSViRpNmlCcShzbEIKenBaVFEpaS0+enoqTXwhfVhQPC1gTFY3YHUxKUtydnRUdlc2SjZL
Qz9ee1Y9OUpPQnw2NHFVLX5mckdqQ1lhPTgwCnpyT3tsJHlAWD9UdD1BNndZMmtmPzZYe3hTOVAh
aEt5fGRQcDwjUX1JO0BuVlFLKUdMM3QyJVJDWm8+U3dgRjdYUgp6THdje25KV0xeeD1uWnhLRnpS
SFBHRURyWWtoZmRMO2xOcE1zZnZtVyspJHMjPG9Zb3ckNz42emooV1JnYWM7bzgKTWtrc2R+YklJ
aVkwODNLMDI+PHs5CgpkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9maWxlcy9odHRwZC1hdXRv
Z2VuLnNoIGIvVG9vbHMvZmxhdHBhay9maWxlcy9odHRwZC1hdXRvZ2VuLnNoCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDc1NQppbmRleCAxYzBjNDgzMDUxZmJkZjg2MDRiOTQ0YTYzNTExYzRlMTIxZWFl
ZjRkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xz
L2ZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAs
MCBAQAotYXV0b21ha2UgLS1hZGQtbWlzc2luZwotYXV0b3JlY29uZiAtLWluc3RhbGwKZGlmZiAt
LWdpdCBhL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5IGIvVG9vbHMvZmxhdHBhay9mbGF0
cGFrdXRpbHMucHkKaW5kZXggODllYmM2NzMxMGMxZDViODRjOTBjZjU0MDdmOTQwYzAxYjA1ZWVl
Ni4uMDUxNGJjYWU3ODUwODY5MDg0MzYwNTI0YmE3ZDkyNGUwYWNjODljMiAxMDA2NDQKLS0tIGEv
VG9vbHMvZmxhdHBhay9mbGF0cGFrdXRpbHMucHkKKysrIGIvVG9vbHMvZmxhdHBhay9mbGF0cGFr
dXRpbHMucHkKQEAgLTQ4LDE5ICs0OCwxNSBAQCBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgZnJv
bSB1cmxsaWIyIGltcG9ydCB1cmxvcGVuCiAKIEZMQVRQQUtfUkVRID0gWwotICAgICgiZmxhdHBh
ayIsICIwLjEwLjAiKSwKLSAgICAoImZsYXRwYWstYnVpbGRlciIsICIwLjEwLjAiKSwKKyAgICAo
ImZsYXRwYWsiLCAiMS40LjQiKSwKIF0KIAogRkxBVFBBS19WRVJTSU9OID0ge30KIAotV1BFX01B
TklGRVNUX01BUCA9IHsKLSAgICAicXQiOiAib3JnLndlYmtpdC5XUEVRVC55YW1sIiwKLX0KLQog
c2NyaXB0ZGlyID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykpCiBf
bG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAKK0ZMQVRQQUtfVVNFUl9ESVJfUEFU
SCA9IG9zLnBhdGgucmVhbHBhdGgob3MucGF0aC5qb2luKHNjcmlwdGRpciwgIi4uLy4uL1dlYktp
dEJ1aWxkIiwgIlVzZXJGbGF0cGFrIikpCiAKIGNsYXNzIENvbG9yczoKICAgICBIRUFERVIgPSAi
XDAzM1s5NW0iCkBAIC0xMjMsMTMyICsxMTksNiBAQCBkZWYgY2hlY2tfZmxhdHBhayh2ZXJib3Nl
PVRydWUpOgogICAgIHJldHVybiBUcnVlCiAKIAotZGVmIHJlbW92ZV9leHRlbnNpb25fcG9pbnRz
KGFycmF5KToKLSAgICByZXN1bHRfYXJncyA9IFtdCi0gICAgZm9yIGFyZyBpbiBhcnJheToKLSAg
ICAgICAgaWYobm90IGFyZy5zdGFydHN3aXRoKCctLWV4dGVuc2lvbicpKToKLSAgICAgICAgICAg
IHJlc3VsdF9hcmdzLmFwcGVuZChhcmcpCi0gICAgcmV0dXJuIHJlc3VsdF9hcmdzCi0KLQotZGVm
IHJlbW92ZV9jb21tZW50cyhzdHJpbmcpOgotICAgIHBhdHRlcm4gPSByIihcIi4qP1wifFwnLio/
XCcpfCgvXCouKj9cKi98Ly9bXlxyXG5dKiQpIgotICAgICMgZmlyc3QgZ3JvdXAgY2FwdHVyZXMg
cXVvdGVkIHN0cmluZ3MgKGRvdWJsZSBvciBzaW5nbGUpCi0gICAgIyBzZWNvbmQgZ3JvdXAgY2Fw
dHVyZXMgY29tbWVudHMgKC8vc2luZ2xlLWxpbmUgb3IgLyogbXVsdGktbGluZSAqLykKLSAgICBy
ZWdleCA9IHJlLmNvbXBpbGUocGF0dGVybiwgcmUuTVVMVElMSU5FIHwgcmUuRE9UQUxMKQotCi0g
ICAgZGVmIF9yZXBsYWNlcihtYXRjaCk6Ci0gICAgICAgICMgaWYgdGhlIDJuZCBncm91cCAoY2Fw
dHVyaW5nIGNvbW1lbnRzKSBpcyBub3QgTm9uZSwKLSAgICAgICAgIyBpdCBtZWFucyB3ZSBoYXZl
IGNhcHR1cmVkIGEgbm9uLXF1b3RlZCAocmVhbCkgY29tbWVudCBzdHJpbmcuCi0gICAgICAgIGlm
IG1hdGNoLmdyb3VwKDIpIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcmV0dXJuICIiICAjIHNv
IHdlIHdpbGwgcmV0dXJuIGVtcHR5IHRvIHJlbW92ZSB0aGUgY29tbWVudAotICAgICAgICBlbHNl
OiAgIyBvdGhlcndpc2UsIHdlIHdpbGwgcmV0dXJuIHRoZSAxc3QgZ3JvdXAKLSAgICAgICAgICAg
IHJldHVybiBtYXRjaC5ncm91cCgxKSAgIyBjYXB0dXJlZCBxdW90ZWQtc3RyaW5nCi0gICAgcmV0
dXJuIHJlZ2V4LnN1YihfcmVwbGFjZXIsIHN0cmluZykKLQotCi1kZWYgbG9hZF9tYW5pZmVzdCht
YW5pZmVzdF9wYXRoLCBwb3J0X25hbWU9Tm9uZSwgY29tbWFuZD1Ob25lKToKLSAgICBpc195YW1s
ID0gbWFuaWZlc3RfcGF0aC5lbmRzd2l0aCgnLnlhbWwnKQotICAgIHdpdGggb3BlbihtYW5pZmVz
dF9wYXRoLCAiciIpIGFzIG1yOgotICAgICAgICBjb250ZW50cyA9IG1yLnJlYWQoKQotCi0gICAg
ICAgIGNvbnRlbnRzID0gY29udGVudHMgJSB7IkNPTU1BTkQiOiBjb21tYW5kLCAiUE9SVE5BTUUi
OiBwb3J0X25hbWV9Ci0gICAgICAgIGlmIGlzX3lhbWw6Ci0gICAgICAgICAgICBpbXBvcnQgeWFt
bAotICAgICAgICAgICAgeWFtbF9sb2FkID0gZ2V0YXR0cih5YW1sLCAic2FmZV9sb2FkIiwgeWFt
bC5sb2FkKQotICAgICAgICAgICAgbWFuaWZlc3QgPSB5YW1sX2xvYWQoY29udGVudHMpCi0gICAg
ICAgIGVsc2U6Ci0gICAgICAgICAgICBjb250ZW50cyA9IHJlbW92ZV9jb21tZW50cyhjb250ZW50
cykKLSAgICAgICAgICAgIG1hbmlmZXN0ID0ganNvbi5sb2Fkcyhjb250ZW50cykKLQotICAgIHJl
dHVybiBtYW5pZmVzdAotCi0KLWRlZiBleHBhbmRfc3VibW9kdWxlc19yZWN1cnNlKG1vZHVsZXMs
IG1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCk6Ci0gICAgYWxsX21vZHVsZXMgPSBb
XQotICAgIGlmIHR5cGUobW9kdWxlcykgaXMgc3RyOgotICAgICAgICBzdWJtYW5pZmVzdF9wYXRo
ID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShtYW5pZmVzdF9wYXRoKSwgbW9kdWxlcykK
LSAgICAgICAgc3VibWFuaWZlc3QgPSBsb2FkX21hbmlmZXN0KHN1Ym1hbmlmZXN0X3BhdGgsIHBv
cnRfbmFtZT1wb3J0X25hbWUsIGNvbW1hbmQ9Y29tbWFuZCkKLSAgICAgICAgYWxsX21vZHVsZXMu
ZXh0ZW5kKGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2Uoc3VibWFuaWZlc3QsIHN1Ym1hbmlmZXN0
X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCkpCi0gICAgICAgIHJldHVybiBhbGxfbW9kdWxlcwot
Ci0gICAgIyBUaGUgbGFzdCByZWN1cnNlIG1hbmlmZXN0IGV4cGFuZCBpdGVyYXRpb24gbWlnaHQg
bGVhZCB0byBhIHNpbmdsZSBtb2R1bGUuCi0gICAgaWYgbm90IGlzaW5zdGFuY2UobW9kdWxlcywg
bGlzdCk6Ci0gICAgICAgIGFsbF9tb2R1bGVzLmFwcGVuZChtb2R1bGVzKQotICAgICAgICByZXR1
cm4gYWxsX21vZHVsZXMKLQotICAgIGZvciBtb2R1bGUgaW4gbW9kdWxlczoKLSAgICAgICAgaWYg
dHlwZShtb2R1bGUpIGlzIHN0cjoKLSAgICAgICAgICAgIHN1Ym1hbmlmZXN0X3BhdGggPSBvcy5w
YXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKG1hbmlmZXN0X3BhdGgpLCBtb2R1bGUpCi0gICAgICAg
ICAgICBzdWJtYW5pZmVzdCA9IGxvYWRfbWFuaWZlc3Qoc3VibWFuaWZlc3RfcGF0aCwgcG9ydF9u
YW1lPXBvcnRfbmFtZSwgY29tbWFuZD1jb21tYW5kKQotICAgICAgICAgICAgYWxsX21vZHVsZXMu
ZXh0ZW5kKGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2Uoc3VibWFuaWZlc3QsIHN1Ym1hbmlmZXN0
X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCkpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBh
bGxfbW9kdWxlcy5hcHBlbmQobW9kdWxlKQotCi0gICAgcmV0dXJuIGFsbF9tb2R1bGVzCi0KLWRl
ZiBleHBhbmRfbWFuaWZlc3QobWFuaWZlc3RfcGF0aCwgb3V0ZmlsZSwgcG9ydF9uYW1lLCBzb3Vy
Y2Vfcm9vdCwgY29tbWFuZCk6Ci0gICAgIiIiQ3JlYXRlcyB0aGUgbWFuaWZlc3QgZmlsZS4iIiIK
LSAgICB0cnk6Ci0gICAgICAgIG9zLnJlbW92ZShvdXRmaWxlKQotICAgIGV4Y2VwdCBPU0Vycm9y
OgotICAgICAgICBwYXNzCi0KLSAgICBtYW5pZmVzdCA9IGxvYWRfbWFuaWZlc3QobWFuaWZlc3Rf
cGF0aCwgcG9ydF9uYW1lPXBvcnRfbmFtZSwgY29tbWFuZD1jb21tYW5kKQotICAgIGlmIG5vdCBt
YW5pZmVzdDoKLSAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICBpZiAic2RrLWhhc2giIGluIG1h
bmlmZXN0OgotICAgICAgICBkZWwgbWFuaWZlc3RbInNkay1oYXNoIl0KLSAgICBpZiAicnVudGlt
ZS1oYXNoIiBpbiBtYW5pZmVzdDoKLSAgICAgICAgZGVsIG1hbmlmZXN0WyJydW50aW1lLWhhc2gi
XQotCi0gICAgYWxsX21vZHVsZXMgPSBbXQotCi0gICAgb3ZlcnJpZGVuX21vZHVsZXMgPSBbXQot
ICAgIGlmICJXRUJLSVRfRVhUUkFfTU9EVUxFU0VUUyIgaW4gb3MuZW52aXJvbjoKLSAgICAgICAg
b3ZlcnJpZGVuX21vZHVsZXMgPSBsb2FkX21hbmlmZXN0KG9zLmVudmlyb25bIldFQktJVF9FWFRS
QV9NT0RVTEVTRVRTIl0pCi0gICAgICAgIGlmIG5vdCBvdmVycmlkZW5fbW9kdWxlczoKLSAgICAg
ICAgICAgIG92ZXJyaWRlbl9tb2R1bGVzID0gW10KLSAgICBmb3IgbW9kdWxlcyBpbiBtYW5pZmVz
dFsibW9kdWxlcyJdOgotICAgICAgICBtb2R1bGVzID0gZXhwYW5kX3N1Ym1vZHVsZXNfcmVjdXJz
ZShtb2R1bGVzLCBtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWUsIGNvbW1hbmQpCi0KLSAgICAgICAg
aWYgbm90IGlzaW5zdGFuY2UobW9kdWxlcywgbGlzdCk6Ci0gICAgICAgICAgICBtb2R1bGVzID0g
W21vZHVsZXNdCi0KLSAgICAgICAgZm9yIG1vZHVsZSBpbiBtb2R1bGVzOgotICAgICAgICAgICAg
Zm9yIG92ZXJyaWRlbl9tb2R1bGUgaW4gb3ZlcnJpZGVuX21vZHVsZXM6Ci0gICAgICAgICAgICAg
ICAgaWYgbW9kdWxlWyduYW1lJ10gPT0gb3ZlcnJpZGVuX21vZHVsZVsnbmFtZSddOgotICAgICAg
ICAgICAgICAgICAgICBtb2R1bGUgPSBvdmVycmlkZW5fbW9kdWxlCi0gICAgICAgICAgICAgICAg
ICAgIG92ZXJyaWRlbl9tb2R1bGVzLnJlbW92ZShtb2R1bGUpCi0gICAgICAgICAgICAgICAgICAg
IGJyZWFrCi0KLSAgICAgICAgICAgIGFsbF9tb2R1bGVzLmFwcGVuZChtb2R1bGUpCi0KLSAgICAj
IEFuZCBhZGQgb3ZlcnJpZGVuIG1vZHVsZXMgcmlnaHQgYmVmb3JlIHRoZSB3ZWJraXQgcG9ydCBi
dWlsZCBkZWYuCi0gICAgZm9yIG92ZXJyaWRlbl9tb2R1bGUgaW4gb3ZlcnJpZGVuX21vZHVsZXM6
Ci0gICAgICAgIGFsbF9tb2R1bGVzLmluc2VydCgtMSwgb3ZlcnJpZGVuX21vZHVsZSkKLQotICAg
IG1hbmlmZXN0WyJtb2R1bGVzIl0gPSBhbGxfbW9kdWxlcwotICAgIGZvciBtb2R1bGUgaW4gbWFu
aWZlc3RbIm1vZHVsZXMiXToKLSAgICAgICAgaWYgbm90IG1vZHVsZS5nZXQoInNvdXJjZXMiKToK
LSAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgaWYgbW9kdWxlWyJzb3VyY2VzIl1bMF1b
InR5cGUiXSA9PSAiZ2l0IjoKLSAgICAgICAgICAgIGlmIHBvcnRfbmFtZSA9PSBtb2R1bGVbIm5h
bWUiXToKLSAgICAgICAgICAgICAgICByZXBvID0gImZpbGU6Ly8iICsgc291cmNlX3Jvb3QKLSAg
ICAgICAgICAgICAgICBtb2R1bGVbInNvdXJjZXMiXVswXVsidXJsIl0gPSByZXBvCi0KLSAgICAg
ICAgZm9yIHNvdXJjZSBpbiBtb2R1bGVbInNvdXJjZXMiXToKLSAgICAgICAgICAgIGlmIHNvdXJj
ZVsidHlwZSJdID09ICJwYXRjaCIgb3IgKHNvdXJjZVsidHlwZSJdID09ICJmaWxlIiBhbmQgc291
cmNlLmdldCgncGF0aCcpKToKLSAgICAgICAgICAgICAgICBzb3VyY2VbInBhdGgiXSA9IG9zLnBh
dGguam9pbihvcy5wYXRoLmRpcm5hbWUobWFuaWZlc3RfcGF0aCksIHNvdXJjZVsicGF0aCJdKQot
Ci0gICAgd2l0aCBvcGVuKG91dGZpbGUsICJ3IikgYXMgb2Y6Ci0gICAgICAgIG9mLndyaXRlKGpz
b24uZHVtcHMobWFuaWZlc3QsIGluZGVudD00KSkKLQotICAgIHJldHVybiBUcnVlCi0KLQogY2xh
c3MgRmxhdHBha09iamVjdDoKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB1c2VyKToKQEAgLTI4
MCw0NSArMTUwLDI1IEBAIGNsYXNzIEZsYXRwYWtQYWNrYWdlcyhGbGF0cGFrT2JqZWN0KToKIAog
ICAgICAgICBzZWxmLnJlcG9zID0gcmVwb3MKIAotICAgICAgICBzZWxmLnJ1bnRpbWVzID0gc2Vs
Zi5fX2RldGVjdF9ydW50aW1lcygpCi0gICAgICAgIHNlbGYuYXBwcyA9IHNlbGYuX19kZXRlY3Rf
YXBwcygpCi0gICAgICAgIHNlbGYucGFja2FnZXMgPSBzZWxmLnJ1bnRpbWVzICsgc2VsZi5hcHBz
Ci0KKyAgICAgICAgc2VsZi5wYWNrYWdlcyA9IHNlbGYuX19kZXRlY3RfcnVudGltZXMoKQogCiAg
ICAgZGVmIF9fZGV0ZWN0X3BhY2thZ2VzKHNlbGYsICphcmdzKToKICAgICAgICAgcGFja3MgPSBb
XQotICAgICAgICBpZiBGTEFUUEFLX1ZFUlNJT05bImZsYXRwYWsiXSA8ICgxLCAxLCAyKToKLSAg
ICAgICAgICAgIG91dCA9IHNlbGYuZmxhdHBhaygibGlzdCIsICItZCIsICphcmdzKQotICAgICAg
ICAgICAgcGFja2FnZV9kZWZzID0gW2xpbmUgZm9yIGxpbmUgaW4gb3V0LnNwbGl0KCJcbiIpIGlm
IGxpbmVdCi0gICAgICAgICAgICBmb3IgcGFja2FnZV9kZWYgaW4gcGFja2FnZV9kZWZzOgotICAg
ICAgICAgICAgICAgIHNwbGl0ZWRfcGFja2FnZWRfZGVmID0gcGFja2FnZV9kZWYuc3BsaXQoKQot
ICAgICAgICAgICAgICAgIG5hbWUsIGFyY2gsIGJyYW5jaCA9IHNwbGl0ZWRfcGFja2FnZWRfZGVm
WzBdLnNwbGl0KCIvIikKLQotICAgICAgICAgICAgICAgICMgSWYgaW5zdGFsbGVkIGZyb20gYSBm
aWxlLCB0aGUgcGFja2FnZSBpcyBpbiBubyByZXBvCi0gICAgICAgICAgICAgICAgcmVwb19uYW1l
ID0gc3BsaXRlZF9wYWNrYWdlZF9kZWZbMV0KLSAgICAgICAgICAgICAgICByZXBvID0gc2VsZi5y
ZXBvcy5yZXBvcy5nZXQocmVwb19uYW1lKQotCi0gICAgICAgICAgICAgICAgcGFja3MuYXBwZW5k
KEZsYXRwYWtQYWNrYWdlKG5hbWUsIGJyYW5jaCwgcmVwbywgYXJjaCkpCi0gICAgICAgIGVsc2U6
Ci0gICAgICAgICAgICBvdXQgPSBzZWxmLmZsYXRwYWsoImxpc3QiLCAiLS1jb2x1bW5zPWFwcGxp
Y2F0aW9uLGFyY2gsYnJhbmNoLG9yaWdpbiIsICphcmdzKQotICAgICAgICAgICAgcGFja2FnZV9k
ZWZzID0gW2xpbmUgZm9yIGxpbmUgaW4gb3V0LnNwbGl0KCJcbiIpIGlmIGxpbmVdCi0gICAgICAg
ICAgICBmb3IgcGFja2FnZV9kZWYgaW4gcGFja2FnZV9kZWZzOgotICAgICAgICAgICAgICAgIG5h
bWUsIGFyY2gsIGJyYW5jaCwgb3JpZ2luID0gcGFja2FnZV9kZWYuc3BsaXQoIlx0IikKKyAgICAg
ICAgb3V0ID0gc2VsZi5mbGF0cGFrKCJsaXN0IiwgIi0tY29sdW1ucz1hcHBsaWNhdGlvbixhcmNo
LGJyYW5jaCxvcmlnaW4iLCAqYXJncykKKyAgICAgICAgcGFja2FnZV9kZWZzID0gW2xpbmUgZm9y
IGxpbmUgaW4gb3V0LnNwbGl0KCJcbiIpIGlmIGxpbmVdCisgICAgICAgIGZvciBwYWNrYWdlX2Rl
ZiBpbiBwYWNrYWdlX2RlZnM6CisgICAgICAgICAgICBuYW1lLCBhcmNoLCBicmFuY2gsIG9yaWdp
biA9IHBhY2thZ2VfZGVmLnNwbGl0KCJcdCIpCiAKLSAgICAgICAgICAgICAgICAjIElmIGluc3Rh
bGxlZCBmcm9tIGEgZmlsZSwgdGhlIHBhY2thZ2UgaXMgaW4gbm8gcmVwbwotICAgICAgICAgICAg
ICAgIHJlcG8gPSBzZWxmLnJlcG9zLnJlcG9zLmdldChvcmlnaW4pCisgICAgICAgICAgICAjIElm
IGluc3RhbGxlZCBmcm9tIGEgZmlsZSwgdGhlIHBhY2thZ2UgaXMgaW4gbm8gcmVwbworICAgICAg
ICAgICAgcmVwbyA9IHNlbGYucmVwb3MucmVwb3MuZ2V0KG9yaWdpbikKIAotICAgICAgICAgICAg
ICAgIHBhY2tzLmFwcGVuZChGbGF0cGFrUGFja2FnZShuYW1lLCBicmFuY2gsIHJlcG8sIGFyY2gp
KQorICAgICAgICAgICAgcGFja3MuYXBwZW5kKEZsYXRwYWtQYWNrYWdlKG5hbWUsIGJyYW5jaCwg
cmVwbywgYXJjaCkpCiAKICAgICAgICAgcmV0dXJuIHBhY2tzCiAKLQogICAgIGRlZiBfX2RldGVj
dF9ydW50aW1lcyhzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX19kZXRlY3RfcGFja2FnZXMo
Ii0tcnVudGltZSIpCiAKLSAgICBkZWYgX19kZXRlY3RfYXBwcyhzZWxmKToKLSAgICAgICAgcmV0
dXJuIHNlbGYuX19kZXRlY3RfcGFja2FnZXMoKQotCiAgICAgZGVmIF9faXRlcl9fKHNlbGYpOgog
ICAgICAgICBmb3IgcGFja2FnZSBpbiBzZWxmLnBhY2thZ2VzOgogICAgICAgICAgICAgeWllbGQg
cGFja2FnZQpAQCAtMzMzLDQ3ICsxODMsMTYgQEAgY2xhc3MgRmxhdHBha1JlcG9zKEZsYXRwYWtP
YmplY3QpOgogCiAgICAgZGVmIHVwZGF0ZShzZWxmKToKICAgICAgICAgc2VsZi5yZXBvcyA9IHt9
Ci0gICAgICAgIGlmIEZMQVRQQUtfVkVSU0lPTlsiZmxhdHBhayJdIDwgKDEsIDEsIDIpOgotICAg
ICAgICAgICAgb3V0ID0gc2VsZi5mbGF0cGFrKCJyZW1vdGUtbGlzdCIsICItZCIpCi0gICAgICAg
ICAgICByZW1vdGVzID0gW2xpbmUgZm9yIGxpbmUgaW4gb3V0LnNwbGl0KCJcbiIpIGlmIGxpbmVd
Ci0gICAgICAgICAgICBmb3IgcmVwbyBpbiByZW1vdGVzOgotICAgICAgICAgICAgICAgIGZvciBj
b21wb25lbnRzIGluIFtyZXBvLnNwbGl0KCIgIiksIHJlcG8uc3BsaXQoIlx0IildOgotICAgICAg
ICAgICAgICAgICAgICBpZiBsZW4oY29tcG9uZW50cykgPT0gMToKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbXBvbmVudHMgPSByZXBvLnNwbGl0KCJcdCIpCi0gICAgICAgICAgICAgICAgICAg
IG5hbWUgPSBjb21wb25lbnRzWzBdCi0gICAgICAgICAgICAgICAgICAgIGRlc2MgPSAiIgotICAg
ICAgICAgICAgICAgICAgICB1cmwgPSBOb25lCi0gICAgICAgICAgICAgICAgICAgIGZvciBlbGVt
IGluIGNvbXBvbmVudHNbMTpdOgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IGVsZW06
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHBhcnNlZF91cmwgPSB1cmxwYXJzZShlbGVtKQotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgcGFyc2VkX3VybC5zY2hlbWU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJs
ID0gZWxlbQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0KLSAgICAgICAgICAg
ICAgICAgICAgICAgIGlmIGRlc2M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzYyAr
PSAiICIKLSAgICAgICAgICAgICAgICAgICAgICAgIGRlc2MgKz0gZWxlbQotCi0gICAgICAgICAg
ICAgICAgICAgIGlmIHVybDoKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0KLSAgICAg
ICAgICAgICAgICBpZiBub3QgdXJsOgotICAgICAgICAgICAgICAgICAgICBDb25zb2xlLm1lc3Nh
Z2UoIk5vIHZhbGlkIFVSSSBmb3VuZCBmb3I6ICVzIiwgcmVwbykKLSAgICAgICAgICAgICAgICAg
ICAgY29udGludWUKLQotICAgICAgICAgICAgICAgIHNlbGYucmVwb3NbbmFtZV0gPSBGbGF0cGFr
UmVwbyhuYW1lLCB1cmwsIGRlc2MsIHJlcG9zPXNlbGYpCi0gICAgICAgIGVsc2U6Ci0gICAgICAg
ICAgICBvdXQgPSBzZWxmLmZsYXRwYWsoInJlbW90ZS1saXN0IiwgIi0tY29sdW1ucz1uYW1lLHRp
dGxlLHVybCIpCi0gICAgICAgICAgICByZW1vdGVzID0gW2xpbmUgZm9yIGxpbmUgaW4gb3V0LnNw
bGl0KCJcbiIpIGlmIGxpbmVdCi0gICAgICAgICAgICBmb3IgcmVtb3RlIGluIHJlbW90ZXM6Ci0g
ICAgICAgICAgICAgICAgbmFtZSwgdGl0bGUsIHVybCA9IHJlbW90ZS5zcGxpdCgiXHQiKQotICAg
ICAgICAgICAgICAgIHBhcnNlZF91cmwgPSB1cmxwYXJzZSh1cmwpCi0gICAgICAgICAgICAgICAg
aWYgbm90IHBhcnNlZF91cmwuc2NoZW1lOgotICAgICAgICAgICAgICAgICAgICBDb25zb2xlLm1l
c3NhZ2UoIk5vIHZhbGlkIFVSSSBmb3VuZCBmb3I6ICVzIiwgcmVtb3RlKQotICAgICAgICAgICAg
ICAgICAgICBjb250aW51ZQorICAgICAgICBvdXQgPSBzZWxmLmZsYXRwYWsoInJlbW90ZS1saXN0
IiwgIi0tY29sdW1ucz1uYW1lLHRpdGxlLHVybCIpCisgICAgICAgIHJlbW90ZXMgPSBbbGluZSBm
b3IgbGluZSBpbiBvdXQuc3BsaXQoIlxuIikgaWYgbGluZV0KKyAgICAgICAgZm9yIHJlbW90ZSBp
biByZW1vdGVzOgorICAgICAgICAgICAgbmFtZSwgdGl0bGUsIHVybCA9IHJlbW90ZS5zcGxpdCgi
XHQiKQorICAgICAgICAgICAgcGFyc2VkX3VybCA9IHVybHBhcnNlKHVybCkKKyAgICAgICAgICAg
IGlmIG5vdCBwYXJzZWRfdXJsLnNjaGVtZToKKyAgICAgICAgICAgICAgICBDb25zb2xlLm1lc3Nh
Z2UoIk5vIHZhbGlkIFVSSSBmb3VuZCBmb3I6ICVzIiwgcmVtb3RlKQorICAgICAgICAgICAgICAg
IGNvbnRpbnVlCiAKLSAgICAgICAgICAgICAgICBzZWxmLnJlcG9zW25hbWVdID0gRmxhdHBha1Jl
cG8obmFtZSwgdXJsLCB0aXRsZSwgcmVwb3M9c2VsZikKKyAgICAgICAgICAgIHNlbGYucmVwb3Nb
bmFtZV0gPSBGbGF0cGFrUmVwbyhuYW1lPW5hbWUsIHVybD11cmwsIGRlc2M9dGl0bGUsIHJlcG9z
PXNlbGYpCiAKICAgICAgICAgc2VsZi5wYWNrYWdlcyA9IEZsYXRwYWtQYWNrYWdlcyhzZWxmKQog
CkBAIC00MjAsNyArMjM5LDEwIEBAIGNsYXNzIEZsYXRwYWtSZXBvKEZsYXRwYWtPYmplY3QpOgog
ICAgICAgICBpZiByZXBvX2ZpbGUgYW5kIG5vdCB1cmw6CiAgICAgICAgICAgICByZXBvID0gY29u
ZmlncGFyc2VyLkNvbmZpZ1BhcnNlcigpCiAgICAgICAgICAgICByZXBvLnJlYWQoc2VsZi5yZXBv
X2ZpbGUubmFtZSkKLSAgICAgICAgICAgIHNlbGYudXJsID0gcmVwb1siRmxhdHBhayBSZXBvIl1b
IlVybCJdCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi51cmwgPSByZXBv
WyJGbGF0cGFrIFJlcG8iXVsiVXJsIl0KKyAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJv
cjoKKyAgICAgICAgICAgICAgICBzZWxmLnVybCA9IHJlcG8uZ2V0KCJGbGF0cGFrIFJlcG8iLCAi
VXJsIikKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGFzc2VydCB1cmwKIApAQCAtNDQ5LDkg
KzI3MSwxMiBAQCBjbGFzcyBGbGF0cGFrUGFja2FnZShGbGF0cGFrT2JqZWN0KToKICAgICAgICAg
c2VsZi5hcmNoID0gYXJjaAogICAgICAgICBzZWxmLmhhc2ggPSBoYXNoCiAKLSAgICBkZWYgX19z
dHJfXyhzZWxmKToKKyAgICBkZWYgX19yZXByX18oc2VsZik6CiAgICAgICAgIHJldHVybiAiJXMv
JXMvJXMgJXMiICUgKHNlbGYubmFtZSwgc2VsZi5hcmNoLCBzZWxmLmJyYW5jaCwgc2VsZi5yZXBv
Lm5hbWUpCiAKKyAgICBkZWYgX19zdHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuICIlcy8lcy8l
cyIgJSAoc2VsZi5uYW1lLCBzZWxmLmFyY2gsIHNlbGYuYnJhbmNoKQorCiAgICAgZGVmIGlzX2lu
c3RhbGxlZChzZWxmLCBicmFuY2gpOgogICAgICAgICBpZiBub3Qgc2VsZi5yZXBvOgogICAgICAg
ICAgICAgIyBCdW5kbGUgaW5zdGFsbGVkIGZyb20gZmlsZQpAQCAtNDkxLDcgKzMxNiw3IEBAIGNs
YXNzIEZsYXRwYWtQYWNrYWdlKEZsYXRwYWtPYmplY3QpOgogICAgICAgICBleHRyYV9hcmdzLmFw
cGVuZCgiLS1hc3N1bWV5ZXMiKQogCiAgICAgICAgIHNlbGYuZmxhdHBhaygidXBkYXRlIiwgc2Vs
Zi5uYW1lLCBzZWxmLmJyYW5jaCwgc2hvd19vdXRwdXQ9VHJ1ZSwKLSAgICAgICAgICAgICAgICAg
ICAgKmV4dHJhX2FyZ3MsIGNvbW1lbnQ9Y29tbWVudCkKKyAgICAgICAgICAgICAgICAgICAgICpl
eHRyYV9hcmdzLCBjb21tZW50PWNvbW1lbnQpCiAKIAogQGNvbnRleHRtYW5hZ2VyCkBAIC01MTks
NTQgKzM0NCw1OCBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICBnZW5lcmFsLmFkZF9h
cmd1bWVudCgnLS12ZXJib3NlJywgYWN0aW9uPSdzdG9yZV90cnVlJywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaGVscD0nU2hvdyBkZWJ1ZyBtZXNzYWdlJykKICAgICAgICAgZ2VuZXJh
bC5hZGRfYXJndW1lbnQoIi0tZGVidWciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhl
bHA9IkNvbXBpbGUgd2l0aCBEZWJ1ZyBjb25maWd1cmF0aW9uLCBhbHNvIGluc3RhbGxzIFNkayBk
ZWJ1ZyBzeW1ib2xlcy4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3Rv
cmVfdHJ1ZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkNvbXBpbGUgd2l0
aCBEZWJ1ZyBjb25maWd1cmF0aW9uLCBhbHNvIGluc3RhbGxzIFNkayBkZWJ1ZyBzeW1ib2xlcy4i
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiKQogICAg
ICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLS1yZWxlYXNlIiwgaGVscD0iQ29tcGlsZSB3aXRo
IFJlbGVhc2UgY29uZmlndXJhdGlvbi4iLCBhY3Rpb249InN0b3JlX3RydWUiKQogICAgICAgICBn
ZW5lcmFsLmFkZF9hcmd1bWVudCgnLS1wbGF0Zm9ybScsIGFjdGlvbj0nc3RvcmUnLCBoZWxwPSdQ
bGF0Zm9ybSB0byB1c2UgKGUuZy4sICJtYWMtbGlvbiIpJyksCiAgICAgICAgIGdlbmVyYWwuYWRk
X2FyZ3VtZW50KCctLWd0aycsIGFjdGlvbj0nc3RvcmVfY29uc3QnLCBkZXN0PSdwbGF0Zm9ybScs
IGNvbnN0PSdndGsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdBbGlhcyBm
b3IgLS1wbGF0Zm9ybT1ndGsnKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgnLS13cGUn
LCBhY3Rpb249J3N0b3JlX2NvbnN0JywgZGVzdD0ncGxhdGZvcm0nLCBjb25zdD0nd3BlJywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSgnQWxpYXMgZm9yIC0tcGxhdGZvcm09d3Bl
JykpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9KCdBbGlhcyBmb3IgLS1wbGF0
Zm9ybT13cGUnKSkKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi1uZiIsICItLW5vLWZs
YXRwYWstdXBkYXRlIiwgZGVzdD0ibm9fZmxhdHBha191cGRhdGUiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0iRG8gbm90IHVwZGF0ZSBmbGFwdGFrIHJ1bnRpbWUvc2RrIikKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaGVscD0iRG8gbm90IHVwZGF0ZSBmbGFwdGFrIHJ1bnRpbWUvc2RrIikK
ICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi11IiwgIi0tdXBkYXRlIiwgZGVzdD0idXBk
YXRlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlVwZGF0ZSB0aGUgcnVudGltZS9zZGsv
YXBwIGFuZCByZWJ1aWxkIHRoZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCBpZiBuZWVkZWQiKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJVcGRhdGUgdGhlIHJ1bnRpbWUvc2RrL2FwcCBh
bmQgcmVidWlsZCB0aGUgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgaWYgbmVlZGVkIikKICAgICAg
ICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi1iIiwgIi0tYnVpbGQtd2Via2l0IiwgZGVzdD0iYnVp
bGRfd2Via2l0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3Ry
dWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkZvcmNlIHJlYnVpbGRpbmcg
dGhlIGFwcC4iKQotICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLWJhIiwgIi0tYnVpbGQt
YWxsIiwgZGVzdD0iYnVpbGRfYWxsIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rp
b249InN0b3JlX3RydWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkZvcmNl
IHJlYnVpbGRpbmcgdGhlIGFwcCBhbmQgaXRzIGRlcGVuZGVuY2llcy4iKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBoZWxwPSJGb3JjZSByZWJ1aWxkaW5nIHRoZSBhcHAuIikKKyAgICAgICAgZ2Vu
ZXJhbC5hZGRfYXJndW1lbnQoIi1iZ3N0IiwgIi0tYnVpbGQtZ3N0IiwgZGVzdD0iYnVpbGRfZ3N0
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRm9yY2UgcmVidWlsZGluZyBnc3QtYnVp
bGQsIHJlcG9zaXRvcnkgcGF0aCBpcyBkZWZpbmVkIGJ5IHRoZSBgR1NUX0JVSUxEX1BBVEhgIGVu
dmlyb25tZW50IHZhcmlhYmxlLiIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItcSIs
ICItLXF1aWV0IiwgZGVzdD0icXVpZXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFj
dGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRG8g
bm90IHByaW50IGFueXRoaW5nIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9u
PSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRG8gbm90
IHByaW50IGFueXRoaW5nIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi10IiwgIi0t
dGVzdHMiLCBkZXN0PSJydW5fdGVzdHMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5h
cmdzPWFyZ3BhcnNlLlJFTUFJTkRFUiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxw
PSJSdW4gTGF5b3V0VGVzdHMiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXJncz1h
cmdwYXJzZS5SRU1BSU5ERVIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlJ1
biBMYXlvdXRUZXN0cyIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItYyIsICItLWNv
bW1hbmQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hcmdzPWFyZ3BhcnNlLlJFTUFJ
TkRFUiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJUaGUgY29tbWFuZCB0byBy
dW4gaW4gdGhlIHNhbmRib3giLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9InVz
ZXJfY29tbWFuZCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hcmdzPWFyZ3BhcnNl
LlJFTUFJTkRFUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iVGhlIGNvbW1h
bmQgdG8gcnVuIGluIHRoZSBzYW5kYm94IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZGVzdD0idXNlcl9jb21tYW5kIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoJy0tYXZh
aWxhYmxlJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVzdD0iY2hlY2tfYXZhaWxhYmxlIiwgaGVs
cD0nQ2hlY2sgaWYgcmVxdWlyZWQgZGVwZW5kZW5jaWVzIGFyZSBhdmFpbGFibGUuJyksCi0gICAg
ICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLXVzZS1pY2VjcmVhbSIsIGhlbHA9IlVzZSB0aGUg
ZGlzdHJpYnV0ZWQgaWNlY3JlYW0gKGljZWNjKSBjb21waWxlci4iLCBhY3Rpb249InN0b3JlX3Ry
dWUiKQotICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLS13cGUtZXh0ZW5zaW9uIiwgYWN0
aW9uPSJzdG9yZSIsIGRlc3Q9IndwZV9leHRlbnNpb24iLCBoZWxwPSJXUEUgRXh0ZW5zaW9uIHRv
IGVuYWJsZSIpCisgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLXVzZS1pY2VjcmVhbSIs
IGRlc3Q9InVzZV9pY2VjcmVhbSIsIGhlbHA9IlVzZSB0aGUgZGlzdHJpYnV0ZWQgaWNlY3JlYW0g
KGljZWNjKSBjb21waWxlci4iLCBhY3Rpb249InN0b3JlX3RydWUiKQogCiAgICAgICAgIGRlYnVn
b3B0aW9ucyA9IHBhcnNlci5hZGRfYXJndW1lbnRfZ3JvdXAoIkRlYnVnZ2luZyIpCiAgICAgICAg
IGRlYnVnb3B0aW9ucy5hZGRfYXJndW1lbnQoIi0tZ2RiIiwgbmFyZ3M9Ij8iLCBoZWxwPSJBY3Rp
dmF0ZSBnZGIsIHBhc3NpbmcgZXh0cmEgYXJncyB0byBpdCBpZiB3YW50ZWQuIikKKyAgICAgICAg
ZGVidWdvcHRpb25zLmFkZF9hcmd1bWVudCgiLS1nZGItc3RhY2stdHJhY2UiLCBkZXN0PSJnZGJf
c3RhY2tfdHJhY2UiLCBuYXJncz0iPyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaGVscD0iRHVtcCB0aGUgc3RhY2t0cmFjZSB0byBzdGRvdXQuIFRoZSBhcmd1bWVudCBpcyBh
IHRpbWVzdGFtcCB0byBiZSBwYXJzZWQgYnkgY29yZWR1bXBjdGwuIikKICAgICAgICAgZGVidWdv
cHRpb25zLmFkZF9hcmd1bWVudCgiLW0iLCAiLS1jb3JlZHVtcGN0bC1tYXRjaGVzIiwgZGVmYXVs
dD0iIiwgaGVscD0nQXJndW1lbnRzIHRvIHBhc3MgdG8gZ2RiLicpCiAKICAgICAgICAgYnVpbGRv
cHRpb25zID0gcGFyc2VyLmFkZF9hcmd1bWVudF9ncm91cCgiRXh0cmEgYnVpbGQgYXJndW1lbnRz
IikKICAgICAgICAgYnVpbGRvcHRpb25zLmFkZF9hcmd1bWVudCgiLS1tYWtlYXJncyIsIGhlbHA9
Ik9wdGlvbmFsIE1ha2VmaWxlIGZsYWdzIikKICAgICAgICAgYnVpbGRvcHRpb25zLmFkZF9hcmd1
bWVudCgiLS1jbWFrZWFyZ3MiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxw
PSJPbmUgb3IgbW9yZSBvcHRpb25hbCBDTWFrZSBmbGFncyAoZS5nLiAtLWNtYWtlYXJncz1cIi1E
Rk9PPWJhciAtRENNQUtFX1BSRUZJWF9QQVRIPS91c3IvbG9jYWxcIikiKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhlbHA9Ik9uZSBvciBtb3JlIG9wdGlvbmFsIENNYWtlIGZs
YWdzIChlLmcuIC0tY21ha2VhcmdzPVwiLURGT089YmFyIC1EQ01BS0VfUFJFRklYX1BBVEg9L3Vz
ci9sb2NhbFwiKSIpCiAKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi0tY2xlYW4iLCBk
ZXN0PSJjbGVhbiIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICBoZWxwPSJDbGVh
biBwcmV2aW91cyBidWlsZHMgYW5kIHJlc3RhcnQgZnJvbSBzY3JhdGNoIikKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaGVscD0iQ2xlYW4gcHJldmlvdXMgYnVpbGRzIGFuZCByZXN0YXJ0
IGZyb20gc2NyYXRjaCIpCiAKICAgICAgICAgXywgc2VsZi5hcmdzID0gcGFyc2VyLnBhcnNlX2tu
b3duX2FyZ3MoYXJncz1hcmdzLCBuYW1lc3BhY2U9c2VsZikKIAorICAgICAgICBpZiBvcy5lbnZp
cm9uLmdldCgnQ0NBQ0hFX1BSRUZJWCcpID09ICdpY2VjYyc6CisgICAgICAgICAgICBzZWxmLnVz
ZV9pY2VjcmVhbSA9IFRydWUKKwogICAgICAgICByZXR1cm4gc2VsZgogCiAgICAgZGVmIF9faW5p
dF9fKHNlbGYpOgpAQCAtNTc0LDE1ICs0MDMsMTQgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAg
ICAgICAgc2VsZi5ydW50aW1lID0gTm9uZQogICAgICAgICBzZWxmLmxvY2FsZSA9IE5vbmUKICAg
ICAgICAgc2VsZi5zZGsgPSBOb25lCi0gICAgICAgIHNlbGYuc2RrX2RlYnVnID0gTm9uZQogICAg
ICAgICBzZWxmLmFwcCA9IE5vbmUKIAogICAgICAgICBzZWxmLnZlcmJvc2UgPSBGYWxzZQogICAg
ICAgICBzZWxmLnF1aWV0ID0gRmFsc2UKLSAgICAgICAgc2VsZi5wYWNrcyA9IFtdCiAgICAgICAg
IHNlbGYudXBkYXRlID0gRmFsc2UKICAgICAgICAgc2VsZi5hcmdzID0gW10KICAgICAgICAgc2Vs
Zi5maW5pc2hfYXJncyA9IE5vbmUKKyAgICAgICAgc2VsZi5nZGJfc3RhY2tfdHJhY2UgPSBGYWxz
ZQogCiAgICAgICAgIHNlbGYubm9fZmxhdHBha191cGRhdGUgPSBGYWxzZQogICAgICAgICBzZWxm
LnJlbGVhc2UgPSBGYWxzZQpAQCAtNTk0LDkgKzQyMiwxMCBAQCBjbGFzcyBXZWJraXRGbGF0cGFr
OgogICAgICAgICBzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QgPSAiL2FwcC93ZWJraXQiCiAKICAg
ICAgICAgc2VsZi5idWlsZF93ZWJraXQgPSBGYWxzZQorICAgICAgICBzZWxmLmJ1aWxkX2dzdCA9
IEZhbHNlCiAgICAgICAgIHNlbGYuYnVpbGRfYWxsID0gRmFsc2UKIAotICAgICAgICBzZWxmLnNk
a19icmFuY2ggPSBOb25lCisgICAgICAgIHNlbGYuc2RrX2JyYW5jaCA9ICIwLjEiCiAgICAgICAg
IHNlbGYucGxhdGZvcm0gPSAiZ3RrIgogICAgICAgICBzZWxmLmJ1aWxkX3R5cGUgPSAiUmVsZWFz
ZSIKICAgICAgICAgc2VsZi5tYW5pZmVzdF9wYXRoID0gTm9uZQpAQCAtNjA3LDcgKzQzNiw2IEBA
IGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgIHNlbGYuYXBwX21vZHVsZSA9IE5vbmUKICAg
ICAgICAgc2VsZi5mbGF0cGFrX2RlZmF1bHRfYXJncyA9IFtdCiAgICAgICAgIHNlbGYuY2hlY2tf
YXZhaWxhYmxlID0gRmFsc2UKLSAgICAgICAgc2VsZi53cGVfZXh0ZW5zaW9uID0gTm9uZQogCiAg
ICAgICAgICMgRGVmYXVsdCBhcHBsaWNhdGlvbiB0byBydW4gaW4gdGhlIHNhbmRib3gKICAgICAg
ICAgc2VsZi5jb21tYW5kID0gTm9uZQpAQCAtNjI1LDcgKzQ1Myw3IEBAIGNsYXNzIFdlYmtpdEZs
YXRwYWs6CiAgICAgICAgIHNlbGYuaWNjX3ZlcnNpb24gPSBOb25lCiAKICAgICBkZWYgY2xlYW5f
YXJncyhzZWxmKToKLSAgICAgICAgb3MuZW52aXJvblsiRkxBVFBBS19VU0VSX0RJUiJdID0gb3Mu
ZW52aXJvbi5nZXQoIldFQktJVF9GTEFUUEFLX1VTRVJfRElSIiwgb3MucGF0aC5yZWFscGF0aChv
cy5wYXRoLmpvaW4oc2NyaXB0ZGlyLCAiLi4vLi4vV2ViS2l0QnVpbGQiLCAiVXNlckZsYXRwYWsi
KSkpCisgICAgICAgIG9zLmVudmlyb25bIkZMQVRQQUtfVVNFUl9ESVIiXSA9IG9zLmVudmlyb24u
Z2V0KCJXRUJLSVRfRkxBVFBBS19VU0VSX0RJUiIsIEZMQVRQQUtfVVNFUl9ESVJfUEFUSCkKICAg
ICAgICAgdHJ5OgogICAgICAgICAgICAgb3MubWFrZWRpcnMob3MuZW52aXJvblsiRkxBVFBBS19V
U0VSX0RJUiJdKQogICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgpAQCAtNjM4LDYgKzQ2Niw3
IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgICAgICBmYWN0b3J5ID0gUG9ydEZhY3Rv
cnkoU3lzdGVtSG9zdCgpKQogICAgICAgICAgICAgcG9ydCA9IGZhY3RvcnkuZ2V0KHNlbGYucGxh
dGZvcm0pCiAgICAgICAgICAgICBzZWxmLmRlYnVnID0gcG9ydC5kZWZhdWx0X2NvbmZpZ3VyYXRp
b24oKSA9PSAiRGVidWciCisKICAgICAgICAgc2VsZi5idWlsZF90eXBlID0gIkRlYnVnIiBpZiBz
ZWxmLmRlYnVnIGVsc2UgIlJlbGVhc2UiCiAKICAgICAgICAgc2VsZi5wbGF0Zm9ybSA9IHNlbGYu
cGxhdGZvcm0udXBwZXIoKQpAQCAtNjQ2LDY2ICs0NzUsMzMgQEAgY2xhc3MgV2Via2l0RmxhdHBh
azoKICAgICAgICAgICAgIHNlbGYuZ2RiID0gIiIKIAogICAgICAgICBzZWxmLmNvbW1hbmQgPSAi
JXMgJXMgJXMiICUgKG9zLnBhdGguam9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsCi0gICAg
ICAgICAgICAiVG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXIiKSwKLSAgICAgICAgICAgICIt
LSIgKyBzZWxmLnBsYXRmb3JtLmxvd2VyKCksCi0gICAgICAgICAgICAiIC0tZGVidWciIGlmIHNl
bGYuZGVidWcgZWxzZSAiIC0tcmVsZWFzZSIpCi0KLSAgICAgICAgc2VsZi5uYW1lID0gIm9yZy53
ZWJraXQuJXMiICUgc2VsZi5wbGF0Zm9ybQotCi0gICAgICAgIGlmIHNlbGYud3BlX2V4dGVuc2lv
bjoKLSAgICAgICAgICAgIG1hbmlmZXN0X2ZpbGVuYW1lID0gV1BFX01BTklGRVNUX01BUFtzZWxm
LndwZV9leHRlbnNpb25dCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBtYW5pZmVzdF9maWxl
bmFtZSA9ICJvcmcud2Via2l0LldlYktpdC55YW1sIgotICAgICAgICBzZWxmLm1hbmlmZXN0X3Bh
dGggPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKHNjcmlwdGRpciwgJy4uL2ZsYXRwYWsv
JykgKyBtYW5pZmVzdF9maWxlbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIlRvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93c2VyIiksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tIiArIHNlbGYucGxhdGZvcm0ubG93
ZXIoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIC0tZGVidWciIGlm
IHNlbGYuZGVidWcgZWxzZSAiIC0tcmVsZWFzZSIpCiAKLSAgICAgICAgc2VsZi5idWlsZF9uYW1l
ID0gc2VsZi5uYW1lICsgIi1nZW5lcmF0ZWQiCisgICAgICAgIHNlbGYuZmxhdHBha19idWlsZF9w
YXRoID0gb3MuZW52aXJvblsiRkxBVFBBS19VU0VSX0RJUiJdCiAKICAgICAgICAgYnVpbGRfcm9v
dCA9IG9zLnBhdGguam9pbihzZWxmLnNvdXJjZV9yb290LCAnV2ViS2l0QnVpbGQnKQotICAgICAg
ICBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCA9IG9zLnBhdGguam9pbihidWlsZF9yb290LCBzZWxm
LnBsYXRmb3JtLCAiRmxhdHBha1RyZWUiICsgc2VsZi5idWlsZF90eXBlKQotICAgICAgICBzZWxm
LmNhY2hlX3BhdGggPSBvcy5wYXRoLmpvaW4oYnVpbGRfcm9vdCwgIkZsYXRwYWtDYWNoZSIpCiAg
ICAgICAgIHNlbGYuYnVpbGRfcGF0aCA9IG9zLnBhdGguam9pbihidWlsZF9yb290LCBzZWxmLnBs
YXRmb3JtLCBzZWxmLmJ1aWxkX3R5cGUpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG9zLm1h
a2VkaXJzKHNlbGYuYnVpbGRfcGF0aCkKICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAg
ICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUVYSVNUOgogICAgICAgICAgICAgICAgIHJh
aXNlIGUKLSAgICAgICAgc2VsZi5jb25maWdfZmlsZSA9IG9zLnBhdGguam9pbihzZWxmLmJ1aWxk
X3BhdGgsICd3ZWJraXRfZmxhdHBha19jb25maWcuanNvbicpCisgICAgICAgIHNlbGYuY29uZmln
X2ZpbGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsICd3ZWJraXRfZmxh
dHBha19jb25maWcuanNvbicpCiAKICAgICAgICAgQ29uc29sZS5xdWlldCA9IHNlbGYucXVpZXQK
ICAgICAgICAgaWYgbm90IGNoZWNrX2ZsYXRwYWsoKToKICAgICAgICAgICAgIHJldHVybiBGYWxz
ZQogCi0gICAgICAgIHJlcG9zID0gRmxhdHBha1JlcG9zKCkKLSAgICAgICAgc2VsZi5zZGtfcmVw
byA9IHJlcG9zLmFkZCgKLSAgICAgICAgICAgIEZsYXRwYWtSZXBvKCJmbGF0aHViIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHVybD0iaHR0cHM6Ly9kbC5mbGF0aHViLm9yZy9yZXBvLyIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICByZXBvX2ZpbGU9Imh0dHBzOi8vZGwuZmxhdGh1Yi5vcmcv
cmVwby9mbGF0aHViLmZsYXRwYWtyZXBvIikpCi0KLSAgICAgICAgbWFuaWZlc3QgPSBsb2FkX21h
bmlmZXN0KHNlbGYubWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lPXNlbGYubmFtZSkKLSAgICAgICAg
aWYgbm90IG1hbmlmZXN0OgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHNlbGYu
ZmluaXNoX2FyZ3MgPSBbXQorICAgICAgICBzZWxmLnJlcG9zID0gRmxhdHBha1JlcG9zKCkKKyAg
ICAgICAgc2VsZi5zZGtfcmVwbyA9IHNlbGYucmVwb3MuYWRkKAorICAgICAgICAgICAgRmxhdHBh
a1JlcG8oIndlYmtpdC1zZGsiLAorICAgICAgICAgICAgICAgICAgICAgICAgdXJsPSJodHRwczov
L3NvZnR3YXJlLmlnYWxpYS5jb20vd2Via2l0LXNkay1yZXBvLyIsCisgICAgICAgICAgICAgICAg
ICAgICAgICByZXBvX2ZpbGU9Imh0dHBzOi8vc29mdHdhcmUuaWdhbGlhLmNvbS9mbGF0cGFrLXJl
ZnMvd2Via2l0LXNkay5mbGF0cGFrcmVwbyIpCisgICAgICAgICkKIAotICAgICAgICBzZWxmLmFw
cCA9IG1hbmlmZXN0WydhcHAtaWQnXQotCi0gICAgICAgIHNlbGYuc2RrX2JyYW5jaCA9IG1hbmlm
ZXN0WyJydW50aW1lLXZlcnNpb24iXQotICAgICAgICBzZWxmLmZpbmlzaF9hcmdzID0gbWFuaWZl
c3QuZ2V0KCJmaW5pc2gtYXJncyIsIFtdKQotICAgICAgICBzZWxmLmZpbmlzaF9hcmdzID0gcmVt
b3ZlX2V4dGVuc2lvbl9wb2ludHMoc2VsZi5maW5pc2hfYXJncykKLSAgICAgICAgc2VsZi5ydW50
aW1lID0gRmxhdHBha1BhY2thZ2UobWFuaWZlc3RbJ3J1bnRpbWUnXSwgc2VsZi5zZGtfYnJhbmNo
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNka19yZXBvLCAi
eDg2XzY0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzaD1tYW5p
ZmVzdC5nZXQoInJ1bnRpbWUtaGFzaCIpKQotICAgICAgICBzZWxmLmxvY2FsZSA9IEZsYXRwYWtQ
YWNrYWdlKG1hbmlmZXN0WydydW50aW1lJ10gKyAnLkxvY2FsZScsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfYnJhbmNoLCBzZWxmLnNka19yZXBvLCAieDg2
XzY0IikKLSAgICAgICAgc2VsZi5zZGsgPSBGbGF0cGFrUGFja2FnZShtYW5pZmVzdFsnc2RrJ10s
IHNlbGYuc2RrX2JyYW5jaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxm
LnNka19yZXBvLCAieDg2XzY0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBo
YXNoPW1hbmlmZXN0LmdldCgic2RrLWhhc2giKSkKLSAgICAgICAgc2VsZi5wYWNrcyA9IFtzZWxm
LnJ1bnRpbWUsIHNlbGYubG9jYWxlLCBzZWxmLnNka10KLQotICAgICAgICBpZiBzZWxmLmRlYnVn
OgotICAgICAgICAgICAgc2VsZi5zZGtfZGVidWcgPSBGbGF0cGFrUGFja2FnZShtYW5pZmVzdFsn
c2RrJ10gKyAnLkRlYnVnJywgc2VsZi5zZGtfYnJhbmNoLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IikKLSAgICAgICAgICAgIHNl
bGYucGFja3MuYXBwZW5kKHNlbGYuc2RrX2RlYnVnKQotICAgICAgICBzZWxmLm1hbmlmZXN0X2dl
bmVyYXRlZF9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYuY2FjaGVfcGF0aCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmJ1aWxkX25hbWUg
KyAiLmpzb24iKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICB3aXRoIG9wZW4oc2VsZi5jb25m
aWdfZmlsZSkgYXMgY29uZmlnOgogICAgICAgICAgICAgICAgIGpzb25fY29uZmlnID0ganNvbi5s
b2FkKGNvbmZpZykKQEAgLTcxNSw3ICs1MTEsNDUgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKIAog
ICAgICAgICByZXR1cm4gVHJ1ZQogCisgICAgZGVmIHNldHVwX2J1aWxkZGlyKHNlbGYsICoqa3dh
cmdzKToKKyAgICAgICAgaWYgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYuZmxhdHBh
a19idWlsZF9wYXRoLCAibWV0YWRhdGEiKSk6CisgICAgICAgICAgICByZXR1cm4KKworICAgICAg
ICBzZWxmLnNka19yZXBvLmZsYXRwYWsoImJ1aWxkLWluaXQiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAib3JnLndlYmtpdC5XZWJraXQiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3RyKHNlbGYuc2RrKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihz
ZWxmLnJ1bnRpbWUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGsuYnJh
bmNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd19vdXRwdXQ9InN0ZG91dCIg
aW4ga3dhcmdzLmtleXMoKSkKKworICAgIGRlZiBzZXR1cF9nc3RidWlsZChzZWxmLCBidWlsZGlu
Zyk6CisgICAgICAgIGdzdF9kaXIgPSBvcy5lbnZpcm9uLmdldCgnR1NUX0JVSUxEX1BBVEgnKQor
ICAgICAgICBpZiBub3QgZ3N0X2RpcjoKKyAgICAgICAgICAgIHJldHVybiBbXQorCisgICAgICAg
IGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oZ3N0X2RpciwgJ2dzdC1lbnYucHkn
KSk6CisgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ0dTVF9CVUlMRF9QQVRIIHNldCB0
byAlcyBidXQgaXQgZG9lc25cJ3Qgc2VlbSB0byBiZSBhIHZhbGlkIGBnc3QtYnVpbGRgIGNoZWNr
b3V0LicgJSBnc3RfZGlyKQorCisgICAgICAgIGdzdF9idWlsZGRpciA9IG9zLnBhdGguam9pbihz
ZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsICJXZWJLaXRCdWlsZCIsICdnc3QtYnVpbGQnKQorICAg
ICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYuc291cmNlX3Jvb3Qs
ICdXZWJLaXRCdWlsZCcsICdnc3QtYnVpbGQnLCAnYnVpbGQubmluamEnKSk6CisgICAgICAgICAg
ICBpZiBub3QgYnVpbGRpbmc6CisgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdU
cnlpbmcgdG8gZW50ZXIgZ3N0LWJ1aWxkIGVudiBmcm9tICVzIGJ1dCBpdCBpcyBub3QgYnVpbHQs
IG1ha2Ugc3VyZSB0byByZWJ1aWxkIHdlYmtpdC4nICUgZ3N0X2RpcikKKworICAgICAgICAgICAg
Q29uc29sZS5tZXNzYWdlKCJSdW5uaW5nIG1lc29uIGZvciBgZ3N0LWJ1aWxkYCAlcyAiLCBnc3Rf
ZGlyKQorICAgICAgICAgICAgc2VsZi5ydW5faW5fc2FuZGJveCgnbWVzb24nLCBnc3RfZGlyLCBn
c3RfYnVpbGRkaXIsIGJ1aWxkaW5nX2dzdD1UcnVlKQorCisgICAgICAgIGlmIG5vdCBidWlsZGlu
ZzoKKyAgICAgICAgICAgIHJldHVybiBbb3MucGF0aC5qb2luKGdzdF9kaXIsICdnc3QtZW52LnB5
JyksICctLWJ1aWxkZGlyJywgZ3N0X2J1aWxkZGlyLCAnLS1zcmNkaXInLCBnc3RfZGlyXQorCisg
ICAgICAgIENvbnNvbGUubWVzc2FnZSgiQnVpbGRpbmcgYGdzdC1idWlsZGAgJXMgIiwgZ3N0X2Rp
cikKKyAgICAgICAgaWYgc2VsZi5ydW5faW5fc2FuZGJveCgnbmluamEnLCAnLUMnLCBnc3RfYnVp
bGRkaXIsIGJ1aWxkaW5nX2dzdD1UcnVlKSAhPSAwOgorICAgICAgICAgICAgcmFpc2UgUnVudGlt
ZUVycm9yKCdFcnJvciB3aGlsZSBidWlsZGluZyBnc3QtYnVpbGQuJykKKworICAgICAgICByZXR1
cm4gW29zLnBhdGguam9pbihnc3RfZGlyLCAnZ3N0LWVudi5weScpLCAnLS1idWlsZGRpcicsIGdz
dF9idWlsZGRpciwgJy0tc3JjZGlyJywgZ3N0X2Rpcl0KKwogICAgIGRlZiBydW5faW5fc2FuZGJv
eChzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBzZWxmLnNldHVwX2J1aWxkZGlyKHN0
ZG91dD1rd2FyZ3MuZ2V0KCJzdGRvdXQiLCBzeXMuc3Rkb3V0KSkKICAgICAgICAgY3dkID0ga3dh
cmdzLnBvcCgiY3dkIiwgTm9uZSkKICAgICAgICAgZXh0cmFfZW52X3ZhcnMgPSBrd2FyZ3MucG9w
KCJlbnYiLCB7fSkKICAgICAgICAgc3Rkb3V0ID0ga3dhcmdzLnBvcCgic3Rkb3V0Iiwgc3lzLnN0
ZG91dCkKQEAgLTcyMyw2ICs1NTcsNyBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogCiAgICAgICAg
IGlmIG5vdCBpc2luc3RhbmNlKGFyZ3MsIGxpc3QpOgogICAgICAgICAgICAgYXJncyA9IGxpc3Qo
YXJncykKKwogICAgICAgICBpZiBhcmdzOgogICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMo
YXJnc1swXSk6CiAgICAgICAgICAgICAgICAgY29tbWFuZCA9IG9zLnBhdGgubm9ybXBhdGgob3Mu
cGF0aC5hYnNwYXRoKGFyZ3NbMF0pKQpAQCAtNzMwLDk0ICs1NjUsMTIyIEBAIGNsYXNzIFdlYmtp
dEZsYXRwYWs6CiAgICAgICAgICAgICAgICAgYXJnc1swXSA9IGNvbW1hbmQucmVwbGFjZShzZWxm
LnNvdXJjZV9yb290LCBzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QpCiAgICAgICAgICAgICBpZiBh
cmdzWzBdLmVuZHN3aXRoKCJidWlsZC13ZWJraXQiKToKICAgICAgICAgICAgICAgICBhcmdzLmFw
cGVuZCgiLS1wcmVmaXg9L2FwcCIpCisgICAgICAgIGJ1aWxkaW5nID0gb3MucGF0aC5iYXNlbmFt
ZShhcmdzWzBdKS5zdGFydHN3aXRoKCJidWlsZCIpCiAKICAgICAgICAgc2FuZGJveF9idWlsZF9w
YXRoID0gb3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgIldlYktpdEJ1aWxk
Iiwgc2VsZi5idWlsZF90eXBlKQotICAgICAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5
RmlsZShtb2RlPSJ3IikgYXMgdG1wc2NyaXB0OgotICAgICAgICAgICAgZmxhdHBha19jb21tYW5k
ID0gWyJmbGF0cGFrIiwgImJ1aWxkIiwgIi0tZGllLXdpdGgtcGFyZW50IiwKLSAgICAgICAgICAg
ICAgICAiLS1iaW5kLW1vdW50PS9ydW4vc2htPS9kZXYvc2htIiwKLSAgICAgICAgICAgICAgICAj
IFdvcmthcm91bmQgZm9yIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE4NzM4NCB0byBoYXZlIG91ciBv
d24gcGVybCBtb2R1bGVzIHVzYWJsZSBpbnNpZGUgdGhlIHNhbmRib3gKLSAgICAgICAgICAgICAg
ICAjIGFzIHNldHRpbmcgdGhlIFBFUkw1TElCIGVudnZhciB3b24ndCB3b3JrIGluc2lkZSBhcGFj
aGUgKGFuZCBmb3Igc2NyaXB0cyB1c2luZyBgcGVybCAtVGBgKS4KLSAgICAgICAgICAgICAgICAi
LS1iaW5kLW1vdW50PS9ydW4vaG9zdC8lcz0lcyIgJSAodGVtcGZpbGUuZ2V0dGVtcGRpcigpLCB0
ZW1wZmlsZS5nZXR0ZW1wZGlyKCkpLAotICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9JXM9
JXMiICUgKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgc2VsZi5zb3VyY2Vfcm9vdCksCisgICAg
ICAgIGZsYXRwYWtfY29tbWFuZCA9IFsiZmxhdHBhayIsICJidWlsZCIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiLS1kaWUtd2l0aC1wYXJlbnQiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIi0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cyIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiLS10YWxrLW5hbWU9b3JnLmd0ay52ZnMiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIi0tdGFsay1uYW1lPW9yZy5ndGsudmZzLioiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIi0tYmluZC1tb3VudD0vcnVuL3NobT0vZGV2L3NobSIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAjIFdvcmthcm91bmQgZm9yIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE4NzM4NCB0byBo
YXZlIG91ciBvd24gcGVybCBtb2R1bGVzIHVzYWJsZSBpbnNpZGUgdGhlIHNhbmRib3gKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICMgYXMgc2V0dGluZyB0aGUgUEVSTDVMSUIgZW52dmFyIHdv
bid0IHdvcmsgaW5zaWRlIGFwYWNoZSAoYW5kIGZvciBzY3JpcHRzIHVzaW5nIGBwZXJsIC1UYGAp
LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0vcnVuL2hvc3QvJXM9
JXMiICUgKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwgdGVtcGZpbGUuZ2V0dGVtcGRpcigpKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9JXM9JXMiICUgKHNlbGYuc2Fu
ZGJveF9zb3VyY2Vfcm9vdCwgc2VsZi5zb3VyY2Vfcm9vdCksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAjIFdlIG1vdW50IFdlYktpdEJ1aWxkL1BPUlROQU1FL0J1aWxkVHlwZSB0byAvYXBw
L3dlYmtpdC9XZWJLaXRCdWlsZC9CdWlsZFR5cGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICMgc28gd2UgY2FuIGJ1aWxkIFdQRSBhbmQgR1RLIGluIGEgc2FtZSBzb3VyY2UgdHJlZS4KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9JXM9JXMiICUgKHNhbmRib3hf
YnVpbGRfcGF0aCwgc2VsZi5idWlsZF9wYXRoKV0KKworICAgICAgICBmb3J3YXJkZWQgPSB7Cisg
ICAgICAgICAgICAiV0VCS0lUX1RPUF9MRVZFTCI6ICIvYXBwLyIsCisgICAgICAgICAgICAiVEVT
VF9SVU5ORVJfSU5KRUNURURfQlVORExFX0ZJTEVOQU1FIjogb3MucGF0aC5qb2luKHNhbmRib3hf
YnVpbGRfcGF0aCwgImxpYi9saWJUZXN0UnVubmVySW5qZWN0ZWRCdW5kbGUuc28iKSwKKyAgICAg
ICAgfQorCisgICAgICAgIGlmIG5vdCBidWlsZGluZzoKKyAgICAgICAgICAgIGZsYXRwYWtfY29t
bWFuZC5leHRlbmQoWworICAgICAgICAgICAgICAgICItLWRldmljZT1hbGwiLAorICAgICAgICAg
ICAgICAgICItLWRldmljZT1kcmkiLAorICAgICAgICAgICAgICAgICItLWZpbGVzeXN0ZW09aG9z
dCIsCisgICAgICAgICAgICAgICAgIi0tc2hhcmU9aXBjIiwKKyAgICAgICAgICAgICAgICAiLS1z
aGFyZT1uZXR3b3JrIiwKKyAgICAgICAgICAgICAgICAiLS1zb2NrZXQ9cHVsc2VhdWRpbyIsCisg
ICAgICAgICAgICAgICAgIi0tc29ja2V0PXN5c3RlbS1idXMiLAorICAgICAgICAgICAgICAgICIt
LXNvY2tldD13YXlsYW5kIiwKKyAgICAgICAgICAgICAgICAiLS1zb2NrZXQ9eDExIiwKKyAgICAg
ICAgICAgICAgICAiLS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cyIsCisgICAgICAgICAg
ICAgICAgIi0tc3lzdGVtLXRhbGstbmFtZT1vcmcuZnJlZWRlc2t0b3AuR2VvQ2x1ZTIiLAogICAg
ICAgICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuYTExeS5CdXMiLAotICAgICAgICAgICAgICAg
ICItLXRhbGstbmFtZT1vcmcuZ3RrLnZmcyIsCi0gICAgICAgICAgICAgICAgIi0tdGFsay1uYW1l
PW9yZy5ndGsudmZzLioiLAotICAgICAgICAgICAgICAgICMgV2UgbW91bnQgV2ViS2l0QnVpbGQv
UE9SVE5BTUUvQnVpbGRUeXBlIHRvIC9hcHAvd2Via2l0L1dlYktpdEJ1aWxkL0J1aWxkVHlwZQot
ICAgICAgICAgICAgICAgICMgc28gd2UgY2FuIGJ1aWxkIFdQRSBhbmQgR1RLIGluIGEgc2FtZSBz
b3VyY2UgdHJlZS4KLSAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PSVzPSVzIiAlIChzYW5k
Ym94X2J1aWxkX3BhdGgsIHNlbGYuYnVpbGRfcGF0aCldCi0KLSAgICAgICAgICAgIGZvcndhcmRl
ZCA9IHsKLSAgICAgICAgICAgICAgICAiV0VCS0lUX1RPUF9MRVZFTCI6ICIvYXBwLyIsCi0gICAg
ICAgICAgICAgICAgIlRFU1RfUlVOTkVSX0lOSkVDVEVEX0JVTkRMRV9GSUxFTkFNRSI6ICIvYXBw
L3dlYmtpdC9saWIvbGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLnNvIiwKKyAgICAgICAgICAg
ICAgICAiLS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkZsYXRwYWsiCisgICAgICAgICAgICBd
KQorCisgICAgICAgICAgICBmb3J3YXJkZWQudXBkYXRlKHsKKyAgICAgICAgICAgICAgICAiVFoi
OiAiUFNUOFBEVCIsCisgICAgICAgICAgICAgICAgIkxBTkciOiAiZW5fVVMuVVRGLTgiCisgICAg
ICAgICAgICB9KQorCisgICAgICAgIGVudl92YXJfcHJlZml4ZXNfdG9fa2VlcCA9IFsKKyAgICAg
ICAgICAgICJHIiwKKyAgICAgICAgICAgICJHSUdBQ0FHRSIsCisgICAgICAgICAgICAiR1NUIiwK
KyAgICAgICAgICAgICJHVEsiLAorICAgICAgICAgICAgIklDRUNDIiwKKyAgICAgICAgICAgICJK
U0MiLAorICAgICAgICAgICAgIldFQktJVCIsCisgICAgICAgICAgICAiV0VCS0lUMiIsCisgICAg
ICAgICAgICAiV1BFIiwKKyAgICAgICAgXQorCisgICAgICAgIGVudl92YXJfc3VmZml4ZXNfdG9f
a2VlcCA9IFsKKyAgICAgICAgICAgICJKU0NfQVJHUyIsCisgICAgICAgICAgICAiV0VCS0lUX0FS
R1MiLAorICAgICAgICBdCisKKyAgICAgICAgZW52X3ZhcnNfdG9fa2VlcCA9IFsKKyAgICAgICAg
ICAgICJDQyIsCisgICAgICAgICAgICAiQ0NBQ0hFX1BSRUZJWCIsCisgICAgICAgICAgICAiQ0ZM
QUdTIiwKKyAgICAgICAgICAgICJDWFgiLAorICAgICAgICAgICAgIkNYWEZMQUdTIiwKKyAgICAg
ICAgICAgICJESVNQTEFZIiwKKyAgICAgICAgICAgICJKYXZhU2NyaXB0Q29yZVVzZUpJVCIsCisg
ICAgICAgICAgICAiTEFORyIsCisgICAgICAgICAgICAiTERGTEFHUyIsCisgICAgICAgICAgICAi
TWFsbG9jIiwKKyAgICAgICAgICAgICJOVU1CRVJfT0ZfUFJPQ0VTU09SUyIsCisgICAgICAgICAg
ICAiUU1MMl9JTVBPUlRfUEFUSCIsCisgICAgICAgICAgICAiV0FZTEFORF9ESVNQTEFZIiwKKyAg
ICAgICAgICAgICJXQVlMQU5EX1NPQ0tFVCIsCisgICAgICAgIF0KKworICAgICAgICBlbnZfdmFy
cyA9IG9zLmVudmlyb24KKyAgICAgICAgZW52X3ZhcnMudXBkYXRlKGV4dHJhX2Vudl92YXJzKQor
ICAgICAgICBmb3IgZW52dmFyLCB2YWx1ZSBpbiBlbnZfdmFycy5pdGVtcygpOgorICAgICAgICAg
ICAgdmFyX3Rva2VucyA9IGVudnZhci5zcGxpdCgiXyIpCisgICAgICAgICAgICBpZiB2YXJfdG9r
ZW5zWzBdIGluIGVudl92YXJfcHJlZml4ZXNfdG9fa2VlcCBvciBlbnZ2YXIgaW4gZW52X3ZhcnNf
dG9fa2VlcCBvciB2YXJfdG9rZW5zWy0xXSBpbiBlbnZfdmFyX3N1ZmZpeGVzX3RvX2tlZXA6Cisg
ICAgICAgICAgICAgICAgZm9yd2FyZGVkW2VudnZhcl0gPSB2YWx1ZQorCisgICAgICAgIGlmIHNl
bGYudXNlX2ljZWNyZWFtOgorICAgICAgICAgICAgX2xvZy5kZWJ1ZygnRW5hYmxpbmcgdGhlIGlj
ZWNyZWFtIGNvbXBpbGVyJykKKyAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZC5leHRlbmQoWyIt
LXNoYXJlPW5ldHdvcmsiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0t
YmluZC1tb3VudD0vdmFyL3J1bi9pY2VjYz0vdmFyL3J1bi9pY2VjYyJdKQorCisgICAgICAgICAg
ICBuX2NvcmVzID0gbXVsdGlwcm9jZXNzaW5nLmNwdV9jb3VudCgpICogMworICAgICAgICAgICAg
X2xvZy5kZWJ1ZygnRm9sbG93aW5nIGljZWNyZWFtIHJlY29tbWVuZGF0aW9uIGZvciB0aGUgbnVt
YmVyIG9mIGNvcmVzIHRvIHVzZTogJWQnICUgbl9jb3JlcykKKyAgICAgICAgICAgIGZvcndhcmRl
ZC51cGRhdGUoeworICAgICAgICAgICAgICAgICJDQ0FDSEVfUFJFRklYIjogImljZWNjIiwKICAg
ICAgICAgICAgICAgICAiSUNFQ0NfVkVSU0lPTiI6IHNlbGYuaWNjX3ZlcnNpb24sCi0gICAgICAg
ICAgICB9Ci0KLSAgICAgICAgICAgIGVudl92YXJfcHJlZml4ZXNfdG9fa2VlcCA9IFsKLSAgICAg
ICAgICAgICAgICAiR1NUIiwKLSAgICAgICAgICAgICAgICAiR1RLIiwKLSAgICAgICAgICAgICAg
ICAiRyIsCi0gICAgICAgICAgICAgICAgIkpTQyIsCi0gICAgICAgICAgICAgICAgIldFQktJVCIs
Ci0gICAgICAgICAgICAgICAgIldFQktJVDIiLAotICAgICAgICAgICAgICAgICJXUEUiLAotICAg
ICAgICAgICAgICAgICJHSUdBQ0FHRSIsCi0gICAgICAgICAgICBdCi0KLSAgICAgICAgICAgIGVu
dl92YXJzX3RvX2tlZXAgPSBbCi0gICAgICAgICAgICAgICAgIkphdmFTY3JpcHRDb3JlVXNlSklU
IiwKLSAgICAgICAgICAgICAgICAiTWFsbG9jIiwKLSAgICAgICAgICAgICAgICAiV0FZTEFORF9E
SVNQTEFZIiwKLSAgICAgICAgICAgICAgICAiV0FZTEFORF9TT0NLRVQiLAotICAgICAgICAgICAg
ICAgICJESVNQTEFZIiwKLSAgICAgICAgICAgICAgICAiTEFORyIsCi0gICAgICAgICAgICAgICAg
Ik5VTUJFUl9PRl9QUk9DRVNTT1JTIiwKLSAgICAgICAgICAgICAgICAiQ0NBQ0hFX1BSRUZJWCIs
Ci0gICAgICAgICAgICAgICAgIlFNTDJfSU1QT1JUX1BBVEgiLAotICAgICAgICAgICAgXQotCi0g
ICAgICAgICAgICBpZiBzZWxmLnVzZV9pY2VjcmVhbToKLSAgICAgICAgICAgICAgICBfbG9nLmRl
YnVnKCdFbmFibGluZyB0aGUgaWNlY3JlYW0gY29tcGlsZXInKQotICAgICAgICAgICAgICAgIGZv
cndhcmRlZFsiQ0NBQ0hFX1BSRUZJWCJdID0gImljZWNjIgotICAgICAgICAgICAgICAgIGlmIG5v
dCBvcy5lbnZpcm9uLmdldCgnTlVNQkVSX09GX1BST0NFU1NPUlMnKToKLSAgICAgICAgICAgICAg
ICAgICAgbl9jb3JlcyA9IG11bHRpcHJvY2Vzc2luZy5jcHVfY291bnQoKSAqIDMKLSAgICAgICAg
ICAgICAgICAgICAgX2xvZy5kZWJ1ZygnRm9sbG93IGljZWNyZWFtIHJlY29tbWVuZGF0aW9uIGZv
ciB0aGUgbnVtYmVyIG9mIGNvcmVzIHRvIHVzZTogJWQnICUgbl9jb3JlcykKLSAgICAgICAgICAg
ICAgICAgICAgZm9yd2FyZGVkWyJOVU1CRVJfT0ZfUFJPQ0VTU09SUyJdID0gbl9jb3JlcwotCi0g
ICAgICAgICAgICBlbnZfdmFycyA9IG9zLmVudmlyb24KLSAgICAgICAgICAgIGVudl92YXJzLnVw
ZGF0ZShleHRyYV9lbnZfdmFycykKLSAgICAgICAgICAgIGZvciBlbnZ2YXIsIHZhbHVlIGluIGVu
dl92YXJzLml0ZW1zKCk6Ci0gICAgICAgICAgICAgICAgaWYgZW52dmFyLnNwbGl0KCJfIilbMF0g
aW4gZW52X3Zhcl9wcmVmaXhlc190b19rZWVwIG9yIGVudnZhciBpbiBlbnZfdmFyc190b19rZWVw
OgotICAgICAgICAgICAgICAgICAgICBmb3J3YXJkZWRbZW52dmFyXSA9IHZhbHVlCi0KLSAgICAg
ICAgICAgIGZvciBlbnZ2YXIsIHZhbHVlIGluIGZvcndhcmRlZC5pdGVtcygpOgotICAgICAgICAg
ICAgICAgIGZsYXRwYWtfY29tbWFuZC5hcHBlbmQoIi0tZW52PSVzPSVzIiAlIChlbnZ2YXIsIHZh
bHVlKSkKLQotICAgICAgICAgICAgZmxhdHBha19jb21tYW5kICs9IHNlbGYuZmluaXNoX2FyZ3Mg
KyBleHRyYV9mbGF0cGFrX2FyZ3MgKyBbc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGhdCi0KLSAgICAg
ICAgICAgIHNoZWxsX3N0cmluZyA9ICIiCi0gICAgICAgICAgICBpZiBhcmdzOgotICAgICAgICAg
ICAgICAgIGlmIGN3ZDoKLSAgICAgICAgICAgICAgICAgICAgc2hlbGxfc3RyaW5nID0gJ2NkICIl
cyIgJiYgIiVzIicgJSAoY3dkLCAnIiAiJy5qb2luKGFyZ3MpKQotICAgICAgICAgICAgICAgIGVs
c2U6Ci0gICAgICAgICAgICAgICAgICAgIHNoZWxsX3N0cmluZyA9ICciJXMiJyAlICgnIiAiJy5q
b2luKGFyZ3MpKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzaGVsbF9zdHJp
bmcgPSBzZWxmLmNvbW1hbmQKLSAgICAgICAgICAgICAgICBpZiBzZWxmLmFyZ3M6Ci0gICAgICAg
ICAgICAgICAgICAgIHNoZWxsX3N0cmluZyArPSAnICIlcyInICUgJyIgIicuam9pbihzZWxmLmFy
Z3MpCisgICAgICAgICAgICAgICAgIk5VTUJFUl9PRl9QUk9DRVNTT1JTIjogbl9jb3JlcywKKyAg
ICAgICAgICAgIH0pCiAKLSAgICAgICAgICAgIHRtcHNjcmlwdC53cml0ZShzaGVsbF9zdHJpbmcp
Ci0gICAgICAgICAgICB0bXBzY3JpcHQuZmx1c2goKQorICAgICAgICBmb3IgZW52dmFyLCB2YWx1
ZSBpbiBmb3J3YXJkZWQuaXRlbXMoKToKKyAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZC5hcHBl
bmQoIi0tZW52PSVzPSVzIiAlIChlbnZ2YXIsIHZhbHVlKSkKIAotICAgICAgICAgICAgX2xvZy5k
ZWJ1ZygnUnVubmluZyBpbiBzYW5kYm94OiAiJXMiICVzXG4nICUgKCciICInLmpvaW4oZmxhdHBh
a19jb21tYW5kKSwgc2hlbGxfc3RyaW5nKSkKLSAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZC5l
eHRlbmQoWydzaCcsICIvcnVuL2hvc3QvIiArIHRtcHNjcmlwdC5uYW1lXSkKKyAgICAgICAgZ3N0
X2VudiA9IFtdCisgICAgICAgIGlmIG5vdCBrd2FyZ3MuZ2V0KCdidWlsZGluZ19nc3QnKToKKyAg
ICAgICAgICAgIGdzdF9lbnYgPSBzZWxmLnNldHVwX2dzdGJ1aWxkKGJ1aWxkaW5nKQorICAgICAg
ICBmbGF0cGFrX2NvbW1hbmQgKz0gc2VsZi5maW5pc2hfYXJncyArIGV4dHJhX2ZsYXRwYWtfYXJn
cyArIFwKKyAgICAgICAgICAgIFtzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aF0gKyBnc3RfZW52ICsg
YXJncwogCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVj
a19jYWxsKGZsYXRwYWtfY29tbWFuZCwgc3Rkb3V0PXN0ZG91dCkKLSAgICAgICAgICAgIGV4Y2Vw
dCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgotICAgICAgICAgICAgICAgIHN5
cy5zdGRlcnIud3JpdGUoc3RyKGUpICsgIlxuIikKLSAgICAgICAgICAgICAgICByZXR1cm4gZS5y
ZXR1cm5jb2RlCi0gICAgICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6Ci0gICAgICAg
ICAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgX2xvZy5kZWJ1ZygnUnVubmluZyBpbiBzYW5kYm94
OiAlc1xuJyAlICcgJy5qb2luKGZsYXRwYWtfY29tbWFuZCkpCisKKyAgICAgICAgdHJ5OgorICAg
ICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGZsYXRwYWtfY29tbWFuZCwgc3Rkb3V0PXN0
ZG91dCkKKyAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGU6
CisgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKHN0cihlKSArICJcbiIpCisgICAgICAgICAg
ICByZXR1cm4gZS5yZXR1cm5jb2RlCisgICAgICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoK
KyAgICAgICAgICAgIHJldHVybiAwCiAKICAgICAgICAgcmV0dXJuIDAKIApAQCAtODM1LDY0ICs2
OTgsNDEgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgICAgICAgICBzaHV0aWwucm10
cmVlKHNlbGYuYnVpbGRfcGF0aCkKIAogICAgICAgICBpZiBzZWxmLnVwZGF0ZToKLSAgICAgICAg
ICAgIENvbnNvbGUubWVzc2FnZSgiVXBkYXRpbmcgRmxhdHBhayBlbnZpcm9ubWVudCBmb3IgJXMg
KCVzKSIgJSAoCi0gICAgICAgICAgICAgICAgc2VsZi5wbGF0Zm9ybSwgc2VsZi5idWlsZF90eXBl
KSkKKyAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiVXBkYXRpbmcgRmxhdHBhayAlcyBlbnZp
cm9ubWVudCIgJSBzZWxmLmJ1aWxkX3R5cGUpCiAgICAgICAgICAgICBpZiBub3Qgc2VsZi5ub19m
bGF0cGFrX3VwZGF0ZToKICAgICAgICAgICAgICAgICBzZWxmLnVwZGF0ZV9hbGwoKQogCiAgICAg
ICAgIHJldHVybiBzZWxmLnNldHVwX2Rldl9lbnYoKQogCiAgICAgZGVmIGhhc19lbnZpcm9ubWVu
dChzZWxmKToKLSAgICAgICAgcmV0dXJuIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihzZWxm
LmJ1aWxkX3BhdGgsIHNlbGYuZmxhdHBha19idWlsZF9wYXRoKSkKKyAgICAgICAgcmV0dXJuIG9z
LnBhdGguZXhpc3RzKHNlbGYuZmxhdHBha19idWlsZF9wYXRoKQogCiAgICAgZGVmIHNhdmVfY29u
ZmlnKHNlbGYpOgogICAgICAgICB3aXRoIG9wZW4oc2VsZi5jb25maWdfZmlsZSwgJ3cnKSBhcyBj
b25maWc6CiAgICAgICAgICAgICBqc29uX2NvbmZpZyA9IHsnaWNlY2NfdmVyc2lvbic6IHNlbGYu
aWNjX3ZlcnNpb259CiAgICAgICAgICAgICBqc29uLmR1bXAoanNvbl9jb25maWcsIGNvbmZpZykK
IAotICAgIGRlZiBzZXR1cF9jY2FjaGUoc2VsZik6Ci0gICAgICAgIGZvciBjb21waWxlciBpbiBb
ImMrKyIsICJjYyIsICJjbGFuZyIsICJjbGFuZysrIiwgImcrKyIsICJnY2MiXToKLSAgICAgICAg
ICAgIHNlbGYucnVuX2luX3NhbmRib3goImxuIiwgIi1zIiwgIi4uLy4uL3Vzci9iaW4vY2NhY2hl
IiwgY29tcGlsZXIsIGN3ZD0iL2FwcC9iaW4iKQotCiAgICAgZGVmIHNldHVwX2ljZWNjKHNlbGYp
OgogICAgICAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZSgpIGFzIHRtcGZpbGU6
Ci0gICAgICAgICAgICBzZWxmLnJ1bl9pbl9zYW5kYm94KCdpY2VjYycsICctLWJ1aWxkLW5hdGl2
ZScsIHN0ZG91dD10bXBmaWxlLCBjd2Q9c2VsZi5idWlsZF9wYXRoKQorICAgICAgICAgICAgc2Vs
Zi5ydW5faW5fc2FuZGJveCgnaWNlY2MnLCAnLS1idWlsZC1uYXRpdmUnLCBzdGRvdXQ9dG1wZmls
ZSwgY3dkPXNlbGYuc291cmNlX3Jvb3QpCiAgICAgICAgICAgICB0bXBmaWxlLmZsdXNoKCkKICAg
ICAgICAgICAgIHRtcGZpbGUuc2VlaygwKQogICAgICAgICAgICAgaWNjX3ZlcnNpb25fZmlsZW5h
bWUsID0gcmUuZmluZGFsbChyJy4qY3JlYXRpbmcgKC4qKScsIHRtcGZpbGUucmVhZCgpKQotICAg
ICAgICAgICAgc2VsZi5pY2NfdmVyc2lvbiA9IG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3BhdGgs
IGljY192ZXJzaW9uX2ZpbGVuYW1lKQorICAgICAgICAgICAgc2VsZi5pY2NfdmVyc2lvbiA9IG9z
LnBhdGguam9pbihzZWxmLnNvdXJjZV9yb290LCBpY2NfdmVyc2lvbl9maWxlbmFtZSkKIAogICAg
IGRlZiBzZXR1cF9kZXZfZW52KHNlbGYpOgotICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMo
b3MucGF0aC5qb2luKHNlbGYuYnVpbGRfcGF0aCwgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgpKSBc
Ci0gICAgICAgICAgICAgICAgb3Igc2VsZi51cGRhdGUgb3Igc2VsZi5idWlsZF9hbGw6CisgICAg
ICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oc2VsZi5mbGF0cGFrX2J1aWxk
X3BhdGgsICJydW50aW1lIiwgIm9yZy53ZWJraXQuU2RrIikpIG9yIHNlbGYudXBkYXRlIG9yIHNl
bGYuYnVpbGRfYWxsOgogICAgICAgICAgICAgc2VsZi5pbnN0YWxsX2FsbCgpCi0gICAgICAgICAg
ICBDb25zb2xlLm1lc3NhZ2UoIkJ1aWxkaW5nICVzIGFuZCBkZXBlbmRlbmNpZXMgaW4gJXMiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubmFtZSwgc2VsZi5mbGF0cGFrX2J1aWxk
X3BhdGgpCi0KLSAgICAgICAgICAgICMgQ3JlYXRlIGVudmlyb25tZW50IGRpcnMgaWYgbmVjZXNz
YXJ5Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgb3MubWFrZWRpcnMob3MucGF0
aC5kaXJuYW1lKHNlbGYubWFuaWZlc3RfZ2VuZXJhdGVkX3BhdGgpKQotICAgICAgICAgICAgZXhj
ZXB0IE9TRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVF
WElTVDoKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgZQotICAgICAgICAgICAgaWYgbm90IGV4
cGFuZF9tYW5pZmVzdChzZWxmLm1hbmlmZXN0X3BhdGgsIHNlbGYubWFuaWZlc3RfZ2VuZXJhdGVk
X3BhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubmFtZSwgc2Vs
Zi5zYW5kYm94X3NvdXJjZV9yb290LCBzZWxmLmNvbW1hbmQpOgotICAgICAgICAgICAgICAgIHJl
dHVybiAxCi0KLSAgICAgICAgICAgIGJ1aWxkZXJfYXJncyA9IFsiZmxhdHBhay1idWlsZGVyIiwg
Ii0tZGlzYWJsZS1yb2ZpbGVzLWZ1c2UiLCAiLS1zdGF0ZS1kaXIiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNlbGYuY2FjaGVfcGF0aCwgIi0tY2NhY2hlIiwgc2VsZi5mbGF0cGFrX2J1
aWxkX3BhdGgsICItLWZvcmNlLWNsZWFuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLm1hbmlmZXN0X2dlbmVyYXRlZF9wYXRoXQotICAgICAgICAgICAgYnVpbGRlcl9hcmdzLmFw
cGVuZCgiLS1idWlsZC1vbmx5IikKLSAgICAgICAgICAgIGJ1aWxkZXJfYXJncy5hcHBlbmQoIi0t
c3RvcC1hdD0lcyIgJSBzZWxmLmFwcCkKLQotICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19j
YWxsKGJ1aWxkZXJfYXJncykKLSAgICAgICAgICAgIHNlbGYuc2V0dXBfY2NhY2hlKCkKICAgICAg
ICAgICAgIHNlbGYuc2V0dXBfaWNlY2MoKQogICAgICAgICAgICAgc2VsZi5zYXZlX2NvbmZpZygp
CiAKICAgICAgICAgYnVpbGRfdHlwZSA9ICItLWRlYnVnIiBpZiBzZWxmLmRlYnVnIGVsc2UgIi0t
cmVsZWFzZSIKKyAgICAgICAgaWYgc2VsZi5idWlsZF9nc3Q6CisgICAgICAgICAgICBzZWxmLnNl
dHVwX2dzdGJ1aWxkKFRydWUpCisKICAgICAgICAgaWYgc2VsZi5idWlsZF93ZWJraXQ6Ci0gICAg
ICAgICAgICBidWlsZGVyID0gW29zLnBhdGguam9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3Qs
ICdUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdCcpLAorICAgICAgICAgICAgYnVpbGRlciA9IFsK
KyAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCAn
VG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQnKSwKICAgICAgICAgICAgICAgICBidWlsZF90eXBl
LCAnLS0nICsgc2VsZi5wbGF0Zm9ybS5sb3dlcigpXQogICAgICAgICAgICAgaWYgc2VsZi5tYWtl
YXJnczoKICAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgiLS1tYWtlYXJncz0lcyIgJSBz
ZWxmLm1ha2VhcmdzKQpAQCAtOTAzLDI3ICs3NDMsNTYgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoK
IAogICAgICAgICAgICAgaWYgcmVzOgogICAgICAgICAgICAgICAgIHJldHVybiByZXMKLSAgICAg
ICAgZWxzZToKLSAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiVXNpbmcgJXMgcHJlZml4IGlu
ICVzIiwgc2VsZi5uYW1lLCBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkKIAogICAgICAgICBpZiBz
ZWxmLnJ1bl90ZXN0cyBpcyBub3QgTm9uZToKICAgICAgICAgICAgIHRlc3RfbGF1bmNoZXIgPSBb
b3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgJ1Rvb2xzL1NjcmlwdHMvcnVu
LXdlYmtpdC10ZXN0cycpLAotICAgICAgICAgICAgICAgIGJ1aWxkX3R5cGUsICctLScgKyBzZWxm
LnBsYXRmb3JtLmxvd2VyKCldICsgc2VsZi5ydW5fdGVzdHMKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYnVpbGRfdHlwZSwgJy0tJyArIHNlbGYucGxhdGZvcm0ubG93ZXIoKV0gKyBzZWxm
LnJ1bl90ZXN0cwogICAgICAgICAgICAgcmV0dXJuIHNlbGYucnVuX2luX3NhbmRib3goKnRlc3Rf
bGF1bmNoZXIpCi0gICAgICAgIGVsaWYgc2VsZi5nZGIgaXMgbm90IE5vbmU6CisgICAgICAgIGVs
aWYgc2VsZi5nZGIgb3Igc2VsZi5nZGJfc3RhY2tfdHJhY2U6CiAgICAgICAgICAgICByZXR1cm4g
c2VsZi5ydW5fZ2RiKCkKICAgICAgICAgZWxpZiBzZWxmLnVzZXJfY29tbWFuZDoKICAgICAgICAg
ICAgIHJldHVybiBzZWxmLnJ1bl9pbl9zYW5kYm94KCpzZWxmLnVzZXJfY29tbWFuZCkKLSAgICAg
ICAgZWxpZiBub3Qgc2VsZi51cGRhdGUgYW5kIG5vdCBzZWxmLmJ1aWxkX3dlYmtpdDoKKyAgICAg
ICAgZWxpZiBub3Qgc2VsZi51cGRhdGUgYW5kIG5vdCBzZWxmLmJ1aWxkX3dlYmtpdCBhbmQgbm90
IHNlbGYuYnVpbGRfZ3N0OgogICAgICAgICAgICAgcmV0dXJuIHNlbGYucnVuX2luX3NhbmRib3go
KQogCiAgICAgICAgIHJldHVybiAwCiAKKyAgICBkZWYgX2dldF9wYWNrYWdlcyhzZWxmKToKKyAg
ICAgICAgc2VsZi5ydW50aW1lID0gRmxhdHBha1BhY2thZ2UoIm9yZy53ZWJraXQuUGxhdGZvcm0i
LCBzZWxmLnNka19icmFuY2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQiKQorICAgICAgICBzZWxmLmxvY2FsZSA9IEZsYXRwYWtQ
YWNrYWdlKCJvcmcud2Via2l0LlBsYXRmb3JtLkxvY2FsZSIsIHNlbGYuc2RrX2JyYW5jaCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0
IikKKyAgICAgICAgc2VsZi5zZGsgPSBGbGF0cGFrUGFja2FnZSgib3JnLndlYmtpdC5TZGsiLCBz
ZWxmLnNka19icmFuY2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5z
ZGtfcmVwbywgIng4Nl82NCIpCisgICAgICAgIHBhY2thZ2VzID0gW3NlbGYucnVudGltZSwgc2Vs
Zi5sb2NhbGUsIHNlbGYuc2RrXQorCisgICAgICAgICMgRklYTUU6IEZvciB1bmtub3duIHJlYXNv
bnMsIHRoZSBHTCBleHRlbnNpb24gbmVlZHMgdG8gYmUgZXhwbGljaXRlbHkKKyAgICAgICAgIyBp
bnN0YWxsZWQgZm9yIEZsYXRwYWsgMS4yLnggdG8gYmUgYWJsZSB0byBtYWtlIHVzZSBvZiBpdC4g
U2VlbXMgbGlrZQorICAgICAgICAjIGl0J3Mgbm90IGNvcnJlY3RseSBpbmhlcml0aW5nIGl0IGZy
b20gdGhlIFNESy4KKyAgICAgICAgc2VsZi5mbGF0aHViX3JlcG8gPSBzZWxmLnJlcG9zLmFkZCgK
KyAgICAgICAgICAgIEZsYXRwYWtSZXBvKCJmbGF0aHViIiwgcmVwb19maWxlPSJodHRwczovL2Rs
LmZsYXRodWIub3JnL3JlcG8vZmxhdGh1Yi5mbGF0cGFrcmVwbyIpCisgICAgICAgICkKKyAgICAg
ICAgZ2xfZXh0ZW5zaW9uID0gRmxhdHBha1BhY2thZ2UoIm9yZy5mcmVlZGVza3RvcC5QbGF0Zm9y
bS5HTC5kZWZhdWx0IiwgIjE5LjA4IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2VsZi5mbGF0aHViX3JlcG8sICJ4ODZfNjQiKQorICAgICAgICBwYWNrYWdlcy5hcHBl
bmQoZ2xfZXh0ZW5zaW9uKQorCisgICAgICAgIGlmIHNlbGYuZGVidWc6CisgICAgICAgICAgICBz
ZGtfZGVidWcgPSBGbGF0cGFrUGFja2FnZSgnb3JnLndlYmtpdC5TZGsuRGVidWcnLCBzZWxmLnNk
a19icmFuY2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNk
a19yZXBvLCAieDg2XzY0IikKKyAgICAgICAgICAgIHBhY2thZ2VzLmFwcGVuZChzZGtfZGVidWcp
CisgICAgICAgIHJldHVybiBwYWNrYWdlcworCiAgICAgZGVmIGluc3RhbGxfYWxsKHNlbGYpOgot
ICAgICAgICBmb3IgcGFja2FnZSBpbiBzZWxmLnBhY2tzOgorICAgICAgICBpZiBvcy5wYXRoLmV4
aXN0cyhvcy5wYXRoLmpvaW4oc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsICJydW50aW1lIiwgIm9y
Zy53ZWJraXQuU2RrIikpOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIENvbnNvbGUubWVz
c2FnZSgiSW5zdGFsbGluZyAlcyBkZXBlbmRlbmNpZXMgaW4gJXMiLCBzZWxmLmJ1aWxkX3R5cGUs
IHNlbGYuZmxhdHBha19idWlsZF9wYXRoKQorICAgICAgICBmb3IgcGFja2FnZSBpbiBzZWxmLl9n
ZXRfcGFja2FnZXMoKToKICAgICAgICAgICAgIGlmIG5vdCBwYWNrYWdlLmlzX2luc3RhbGxlZChz
ZWxmLnNka19icmFuY2gpOgogICAgICAgICAgICAgICAgIHBhY2thZ2UuaW5zdGFsbCgpCiAKKyAg
ICBkZWYgdXBkYXRlX2FsbChzZWxmKToKKyAgICAgICAgc2VsZi5zZGtfcmVwby5mbGF0cGFrKCJ1
cGRhdGUiKQorCiAgICAgZGVmIHJ1bl9nZGIoc2VsZik6CiAgICAgICAgIHdpdGggZGlzYWJsZV9z
aWduYWxzKCk6CiAgICAgICAgICAgICB0cnk6CkBAIC05MzUsMzEgKzgwNCwzOSBAQCBjbGFzcyBX
ZWJraXRGbGF0cGFrOgogICAgICAgICAjIFdlIG5lZWQgYWNjZXNzIHRvIHRoZSBob3N0IGZyb20g
dGhlIHNhbmRib3ggdG8gcnVuLgogICAgICAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5
RmlsZSgpIGFzIGNvcmVkdW1wOgogICAgICAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBv
cmFyeUZpbGUoKSBhcyBzdGRlcnI6Ci0gICAgICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19j
YWxsKFsiY29yZWR1bXBjdGwiLCAiZHVtcCJdICsgc2hsZXguc3BsaXQoc2VsZi5jb3JlZHVtcGN0
bF9tYXRjaGVzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0
PWNvcmVkdW1wLCBzdGRlcnI9c3RkZXJyKQorICAgICAgICAgICAgICAgIGlmIHNlbGYuZ2RiX3N0
YWNrX3RyYWNlOgorICAgICAgICAgICAgICAgICAgICBjbWQgPSBbImNvcmVkdW1wY3RsIiwgIi0t
c2luY2U9JXMiICUgc2VsZi5nZGJfc3RhY2tfdHJhY2UsICJkdW1wIl0KKyAgICAgICAgICAgICAg
ICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBjbWQgPSBbImNvcmVkdW1wY3RsIiwgImR1bXAi
XSArIHNobGV4LnNwbGl0KHNlbGYuY29yZWR1bXBjdGxfbWF0Y2hlcykKKyAgICAgICAgICAgICAg
ICB0cnk6CisgICAgICAgICAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChjbWQsIHN0
ZG91dD1jb3JlZHVtcCwgc3RkZXJyPXN0ZGVycikKKyAgICAgICAgICAgICAgICBleGNlcHQgc3Vi
cHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZXJyOgorICAgICAgICAgICAgICAgICAgICB3
aXRoIG9wZW4oc3RkZXJyLm5hbWUsICdyJykgYXMgc3RkZXJyZjoKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHN0ZGVyciA9IHN0ZGVycmYucmVhZCgpCisgICAgICAgICAgICAgICAgICAgIGNtZCA9
ICcgJy5qb2luKGVyci5jbWQpCisgICAgICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUo
IiclcycgcmV0dXJuZWQgYSBub24temVybyBleGl0IGNvZGUuIFN0ZGVycjogJXMiICUgKGNtZCwg
c3RkZXJyKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVyci5yZXR1cm5jb2RlCiAKICAg
ICAgICAgICAgICAgICB3aXRoIG9wZW4oc3RkZXJyLm5hbWUsICdyJykgYXMgc3RkZXJyZjoKICAg
ICAgICAgICAgICAgICAgICAgc3RkZXJyID0gc3RkZXJyZi5yZWFkKCkKLSAgICAgICAgICAgICAg
ICBleGVjdXRhYmxlLCA9IHJlLmZpbmRhbGwoIi4qRXhlY3V0YWJsZTogKC4qKSIsIHN0ZGVycikK
LSAgICAgICAgICAgICAgICBpZiBub3QgZXhlY3V0YWJsZS5zdGFydHN3aXRoKCIvbmV3cm9vdCIp
OgotICAgICAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCJFeGVjdXRhYmxlICVzIGRv
ZXNuJ3Qgc2VlbSB0byBiZSBhIGZsYXRwYWtlZCBhcHBsaWNhdGlvbi5cbiIgJSBleGVjdXRhYmxl
KQotCi0gICAgICAgICAgICAgICAgZXhlY3V0YWJsZSA9IGV4ZWN1dGFibGUucmVwbGFjZSgiL25l
d3Jvb3QiLCAiIikKLSAgICAgICAgICAgICAgICBhcmdzID0gWyJnZGIiLCBleGVjdXRhYmxlLCAi
L3J1bi9ob3N0LyVzIiAlIGNvcmVkdW1wLm5hbWVdICsgc2hsZXguc3BsaXQoc2VsZi5nZGIpCiAK
LSAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5faW5fc2FuZGJveCgqYXJncykKKyAgICAg
ICAgICAgICAgICBleGVjdXRhYmxlLCA9IHJlLmZpbmRhbGwoIi4qRXhlY3V0YWJsZTogKC4qKSIs
IHN0ZGVycikKIAotICAgIGRlZiB1cGRhdGVfYWxsKHNlbGYpOgotICAgICAgICBmb3IgbSBpbiBb
c2VsZi5ydW50aW1lLCBzZWxmLnNkaywgc2VsZi5zZGtfZGVidWddOgotICAgICAgICAgICAgaWYg
bToKLSAgICAgICAgICAgICAgICBtLnVwZGF0ZSgpCisgICAgICAgICAgICAgICAgaWYgc2VsZi5n
ZGI6CisgICAgICAgICAgICAgICAgICAgIGJhcmdzID0gWyJnZGIiLCBleGVjdXRhYmxlLCAiL3J1
bi9ob3N0LyVzIiAlIGNvcmVkdW1wLm5hbWVdICsgc2hsZXguc3BsaXQoc2VsZi5nZGIpCisgICAg
ICAgICAgICAgICAgZWxpZiBzZWxmLmdkYl9zdGFja190cmFjZToKKyAgICAgICAgICAgICAgICAg
ICAgYmFyZ3MgPSBbImdkYiIsICctZXgnLCAidGhyZWFkIGFwcGx5IGFsbCBiYWNrdHJhY2UiLCAn
LS1iYXRjaCcsIGV4ZWN1dGFibGUsICIvcnVuL2hvc3QvJXMiICUgY29yZWR1bXAubmFtZV0KIAor
ICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1bl9pbl9zYW5kYm94KCpiYXJncykKIAogZGVm
IGlzX3NhbmRib3hlZCgpOgogICAgIHJldHVybiBvcy5wYXRoLmV4aXN0cygiLy5mbGF0cGFrLWlu
Zm8iKQogCiAKIGRlZiBydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoYXJncyk6CisgICAgaWYg
bm90IG9zLnBhdGguaXNkaXIoRkxBVFBBS19VU0VSX0RJUl9QQVRIKToKKyAgICAgICAgcmV0dXJu
IE5vbmUKKwogICAgIGlmIGlzX3NhbmRib3hlZCgpOgogICAgICAgICByZXR1cm4gTm9uZQogCmRp
ZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sIGIv
VG9vbHMvZmxhdHBhay9vcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZTFhMDdjZjg2ZjgzYjY4ODMzYTU3Mjg0ZTQ3MjNmNTIyYjczYzQw
Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9m
bGF0cGFrL29yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sCisrKyAvZGV2L251bGwKQEAgLTEs
MzMxICswLDAgQEAKLSMgaHR0cCBhbmQgZGVwZW5kZW5jaWVzLgotLSBuYW1lOiBhcHIKLSAgc291
cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly93d3cuYXBhY2hl
Lm9yZy9kaXN0L2Fwci9hcHItMS42LjUudGFyLmJ6MgotICAgICAgc2hhMjU2OiBhNjdjYTlmY2Y5
YzRmZjU5YmNlN2Y0MjhhMzIzYzhiNWUxODY2N2ZkZWE3YjBlYmFkNDdkMTk0MzcxYjBhMTA1Ci0t
IG5hbWU6IGFwci11dGlsCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1
cmw6IGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvZGlzdC9hcHIvYXByLXV0aWwtMS42LjEudGFyLmJ6
MgotICAgICAgc2hhNTEyOiAiNDBlZmY4YTM3YzA2MzRmN2ZkZGRkNmNhNWU1OTZiMzhkZTE1ZmQx
MDc2N2EzNGMzMGJiZTQ5YzYzMjgxNmU4ZjNlMWUyMzA2NzgwMzRmNTc4ZGQ1ODE2YTk0ZjI0NmZi
NWRmZGY0OGQ2NDQ4MjlhZjEzYmYyOGRlMzIyNTIwNWQiCi0gIGNvbmZpZy1vcHRzOgotICAgIC0g
LS13aXRoLWFwcj0vYXBwL2Jpbi9hcHItMS1jb25maWcKLS0gbmFtZTogaHR0cGQKLSAgc291cmNl
czoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vYXBhY2hl
L2h0dHBkLmdpdAotICAgICAgYnJhbmNoOiAyLjQuMzcKLSAgICAtIHR5cGUgOiBmaWxlCi0gICAg
ICBwYXRoIDogZmlsZXMvaHR0cGQtYXV0b2dlbi5zaAotICAgICAgZGVzdC1maWxlbmFtZSA6IGF1
dG9nZW4uc2gKLSAgICAjIFRoZSB2ZXJzaW9uIGVtYmVkZGVkIGluIHRoZSBzYW5kYm94IGRvZXNu
J3QgaGF2ZSBhIHdvcmtpbmcgcGNyZS1jb25maWcKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBw
YXRoOiBwYXRjaGVzL2h0dHBkLTAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1QQ1JF
LWRldGVjdGlvbi5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC0tZW5hYmxlLW1wbXMtc2hh
cmVkPWFsbAotICAgIC0gLS1lbmFibGUtbW9kdWxlcz1hbGwKLSAgICAtIC0td2l0aC1hcHI9L2Fw
cC9iaW4vYXByLTEtY29uZmlnCi0gICAgLSAtLXdpdGgtYXByLXV0aWw9L2FwcC9iaW4vYXB1LTEt
Y29uZmlnCi0gICAgLSAtLXdpdGgtcGNyZT0vYXBwCi0gICAgLSAtLWVuYWJsZS1hdXRobnotZmNn
aQotICAgIC0gLS1lbmFibGUtY2dpCi0gICAgLSAtLWVuYWJsZS1jZ2lkCi0tIG5hbWU6IHBocAot
ICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL3BocC5u
ZXQvZGlzdHJpYnV0aW9ucy9waHAtNy4yLjYudGFyLnh6Ci0gICAgICBzaGE1MTI6IGRhODZiMWZm
MmRmM2I5ZTJkNDZlNTlhODAyOTZiOTQwZDgxMTMyOTc1YjYyMWJkZWM5NjAyZjhiNGM4ZDkxYTNm
ZGNkNGZmZDdjYjk4MmQ2M2QzZWM5NzRiM2ExMmE3ODU0ZTQyYTczYjdmMmNjOGVlZmFkZTE0MzM1
YWE3YzcxCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1kaXNhYmxlLXhtbAotICAgIC0gLS1kaXNh
YmxlLWRvbQotICAgIC0gLS1kaXNhYmxlLWxpYnhtbAotICAgIC0gLS1kaXNhYmxlLXNpbXBsZXht
bAotICAgIC0gLS1kaXNhYmxlLXhtbHJlYWRlcgotICAgIC0gLS1kaXNhYmxlLXhtbHdyaXRlcgot
ICAgIC0gLS13aXRob3V0LXBlYXIKLSAgICAtIC0td2l0aC1hcHhzMgotICAgIC0gLS13aXRoLXps
aWIKLSAgICAtIC0td2l0aC1saWJ6aXAKLSAgICAtIC0tZW5hYmxlLXNvY2tldHM9c2hhcmVkCi0t
IG5hbWU6IGxpYmV2ZW50Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDog
aHR0cHM6Ly9naXRodWIuY29tL2xpYmV2ZW50L2xpYmV2ZW50LmdpdAotICAgICAgYnJhbmNoOiBl
N2ZmNGVmICMgMi4xLjgKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLWRpc2FibGUtbGliZXZlbnQt
cmVncmVzcwotCi0jIFJlcXVpcmVtZW50IGZvciBmbGF0cGt1dGlscwotLSBuYW1lOiBweXRob24z
LXB5YW1sCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gIC0gcGlw
MyBpbnN0YWxsIC0tbm8taW5kZXggLS1maW5kLWxpbmtzPSJmaWxlOi8vJHtQV0R9IiAtLXByZWZp
eD0ke0ZMQVRQQUtfREVTVH0gcHlhbWwKLSAgc291cmNlczoKLSAgLSB0eXBlOiBmaWxlCi0gICAg
dXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvNGEvODUvZGI1YTJk
ZjQ3NzA3MmIyOTAyYjBlYjg5MmZlYjM3ZDg4YWM2MzVkMzYyNDVhNzJhNmE2OWIyM2IzODNhL1B5
WUFNTC0zLjEyLnRhci5negotICAgIHNoYTI1NjogNTkyNzY2YzYzMDMyMDdhMjBlZmM0NDU1ODc3
NzgzMjJkN2Y3M2IxNjFiZDk5NGYyMjdhZGFhMzQxYmEyMTJhYgotICAtIHR5cGU6IGZpbGUKLSAg
ICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy85ZS8xNy8xZDRl
ZDZlMWE0YzA5MThhMDM1N2RmYTJmZGJlMjZiZjYzZjZlNjE2MDEzYzA0YTE0YmNlOWZkMzNlNDAv
cHlhbWwtMTcuMTIuMS50YXIuZ3oKLSAgICBzaGEyNTY6IDY2NjIzYzUyZjM0ZDgzYTJjMGZjOTYz
ZTA4ZThiOWQwYzEzZDg4NDA0ZTNiNDNiMTg1MmVmNzFlZGExOWFmYTMKLQotLSBuYW1lOiBweXRo
b24yLXB5YW1sCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gIC0g
cGlwMiBpbnN0YWxsIC0tbm8taW5kZXggLS1maW5kLWxpbmtzPSJmaWxlOi8vJHtQV0R9IiAtLXRh
cmdldD0vYXBwL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy8gcHlhbWwKLSAgc291cmNlczoK
LSAgLSB0eXBlOiBmaWxlCi0gICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcv
cGFja2FnZXMvNGEvODUvZGI1YTJkZjQ3NzA3MmIyOTAyYjBlYjg5MmZlYjM3ZDg4YWM2MzVkMzYy
NDVhNzJhNmE2OWIyM2IzODNhL1B5WUFNTC0zLjEyLnRhci5negotICAgIHNoYTI1NjogNTkyNzY2
YzYzMDMyMDdhMjBlZmM0NDU1ODc3NzgzMjJkN2Y3M2IxNjFiZDk5NGYyMjdhZGFhMzQxYmEyMTJh
YgotICAtIHR5cGU6IGZpbGUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9y
Zy9wYWNrYWdlcy85ZS8xNy8xZDRlZDZlMWE0YzA5MThhMDM1N2RmYTJmZGJlMjZiZjYzZjZlNjE2
MDEzYzA0YTE0YmNlOWZkMzNlNDAvcHlhbWwtMTcuMTIuMS50YXIuZ3oKLSAgICBzaGEyNTY6IDY2
NjIzYzUyZjM0ZDgzYTJjMGZjOTYzZTA4ZThiOWQwYzEzZDg4NDA0ZTNiNDNiMTg1MmVmNzFlZGEx
OWFmYTMKLQotLSBuYW1lOiBweXRob24yLXN1YnByb2Nlc3MzMgotICBidWlsZHN5c3RlbTogc2lt
cGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAtIHBpcDIgaW5zdGFsbCAtLXRhcmdldD0vYXBwL2xp
Yi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy8gLgotICBzb3VyY2VzOgotICAtIHR5cGU6IGFyY2hp
dmUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy9iZS8y
Yi9iZWViYTU4M2U5ODc3ZTY0ZGIxMGI1MmE5NjkxNWFmYzBmZWFiZjcxNDRkY2JmMmEwZDBlYTY4
YmY3M2Qvc3VicHJvY2VzczMyLTMuNS4zLnRhci5negotICAgIHNoYTI1NjogNmJjODI5OTIzMTZl
ZWYzY2NmZjMxOWI1MDMzODA5ODAxYzBjMzM3MjcwOWM1ZjY5ODUyOTljODhhYzcyMjVjMwotCi0j
IEdTdHJlYW1lciBtb2R1bGVzCi0tIG5hbWU6IGxpYnZweAotICBuby1hdXRvZ2VuOiB0cnVlCi0g
IHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9jaHJvbWl1bS5n
b29nbGVzb3VyY2UuY29tL3dlYm0vbGlidnB4Ci0gICAgICBicmFuY2g6IHYxLjcuMAotICBjb25m
aWctb3B0czoKLSAgICAtIC0tZW5hYmxlLXBpYwotICAgIC0gLS1hcz1uYXNtCi0gICAgLSAtLWRp
c2FibGUtdW5pdC10ZXN0cwotICAgIC0gLS1zaXplLWxpbWl0PTE2Mzg0eDE2Mzg0Ci0gICAgLSAt
LWVuYWJsZS1wb3N0cHJvYwotICAgIC0gLS1lbmFibGUtbXVsdGktcmVzLWVuY29kaW5nCi0gICAg
LSAtLWVuYWJsZS10ZW1wb3JhbC1kZW5vaXNpbmcKLSAgICAtIC0tZW5hYmxlLXZwOS10ZW1wb3Jh
bC1kZW5vaXNpbmcKLSAgICAtIC0tZW5hYmxlLXZwOS1wb3N0cHJvYwotICAgIC0gLS1lbmFibGUt
c2hhcmVkCi0tIG5hbWU6IGFvbQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1
cmw6IGh0dHBzOi8vYW9tZWRpYS5nb29nbGVzb3VyY2UuY29tL2FvbQotICAgICAgYnJhbmNoOiBj
ZGIwODNlODRhNzFkNmQzMTE2M2E0ZjY0ZjE4ZGMxMzI4ZmQ3ODJjCi0gIGJ1aWxkc3lzdGVtOiBj
bWFrZS1uaW5qYQotICBidWlsZGRpcjogdHJ1ZQotICBjb25maWctb3B0czoKLSAgICAtIC1EQlVJ
TERfU0hBUkVEX0xJQlM9MQotLSBuYW1lOiBsaWJ1bndpbmQKLSAgc291cmNlczoKLSAgICAtIHR5
cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbGlidW53aW5kL2xpYnVud2lu
ZC5naXQKLSAgICAgIGNvbW1pdDogdjEuMi4xCi0tIG5hbWU6IGxpYm9wZW5oMjY0Ci0gIGJ1aWxk
c3lzdGVtOiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0
dHBzOi8vZ2l0aHViLmNvbS9jaXNjby9vcGVuaDI2NC5naXQKLSAgICAgIGJyYW5jaDogYTFiM2Yw
N2M1MjcxZjMxMjk5N2ZjYzM0NTEyMzcwMzE0NDRjNDQ3NSAjIDEuOC4wICsgZml4IGZvciBnY2Mg
OAotLSBuYW1lOiBnc3RyZWFtZXIKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIHNvdXJjZXM6Ci0g
ICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3Jn
L2dzdHJlYW1lci9nc3RyZWFtZXIuZ2l0Ci0gICAgICBicmFuY2g6IDEuMTYuMQotICBjb25maWct
b3B0czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotICAgIC0gLURpbnRyb3NwZWN0aW9uPWRp
c2FibGVkCi0gICAgLSAtRGV4YW1wbGVzPWRpc2FibGVkCi0gICAgLSAtRHRlc3RzPWRpc2FibGVk
Ci0tIG5hbWU6IGdzdC1wbHVnaW5zLWJhc2UKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIHNvdXJj
ZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0
b3Aub3JnL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYXNlLmdpdAotICAgICAgYnJhbmNoOiAxLjE2
LjEKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9nc3RyZWFtZXIvcGF0Y2hlcy9i
YXNlLTAwMDEtcGxheWJpbi1IYW5kbGUtZXJyb3ItbWVzc2FnZS13aXRoLXJlZGlyZWN0aW9uLWlu
ZGljYS5wYXRjaAotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2dzdHJlYW1lci9w
YXRjaGVzL2Jhc2UtMDAwMS1nbHVwbG9hZC1BZGQtVmlkZW9NZXRhcy1hbmQtR0xTeW5jTWV0YS10
by10aGUtcmF3LXVwLnBhdGNoCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9jPWRpc2Fi
bGVkCi0gICAgLSAtRGludHJvc3BlY3Rpb249ZGlzYWJsZWQKLSAgICAtIC1EZXhhbXBsZXM9ZGlz
YWJsZWQKLSAgICAtIC1EdGVzdHM9ZGlzYWJsZWQKLS0gbmFtZTogZ3N0LXBsdWdpbnMtZ29vZAot
ICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAg
dXJsOiBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdC1wbHVnaW5z
LWdvb2QuZ2l0Ci0gICAgICBicmFuY2g6IDEuMTYuMQotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAg
IHBhdGg6IC4uL2dzdHJlYW1lci9wYXRjaGVzL2dvb2QtMDAwMS1xdGRlbXV4LVNwZWNpZnktUkVE
SVJFQ1QtaW5mb3JtYXRpb24taW4tZXJyb3ItbWVzc2FnLnBhdGNoCi0gIGNvbmZpZy1vcHRzOgot
ICAgIC0gLURndGtfZG9jPWRpc2FibGVkCi0gICAgLSAtRGludHJvc3BlY3Rpb249ZGlzYWJsZWQK
LSAgICAtIC1EZXhhbXBsZXM9ZGlzYWJsZWQKLSAgICAtIC1EZ3RrMz1kaXNhYmxlZAotLSBuYW1l
OiB4MjY0Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gIi0tZW5hYmxlLXNoYXJlZCIKLSAgICAtICIt
LWVuYWJsZS1zdGF0aWMiCi0gICAgLSAiLS1lbmFibGUtcGljIgotICAgIC0gIi0tZGlzYWJsZS1s
YXZmIgotICAgIC0gIi0tZGlzYWJsZS1hc20iCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNo
aXZlCi0gICAgICB1cmw6IGh0dHA6Ly9kb3dubG9hZC52aWRlb2xhbi5vcmcvcHViL3gyNjQvc25h
cHNob3RzL3gyNjQtc25hcHNob3QtMjAxNDAyMTItMjI0NS1zdGFibGUudGFyLmJ6MgotICAgICAg
c2hhMjU2OiA1ZDk4ZTllNGZhZjZkZDU1ZTcxOTNlZDM3OWFmZjQ3N2I4YWNiZGE2Nzc3NzU4OTU2
ZWY3ZTVmMDUwNjdiZTE4Ci0tIG5hbWU6IGdzdC1wbHVnaW5zLXVnbHkKLSAgYnVpbGRzeXN0ZW06
IG1lc29uCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9h
bm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLXVnbHkKLSAg
ICAgIGJyYW5jaDogMS4xNi4wCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9jPWRpc2Fi
bGVkCi0tIG5hbWU6IGdzdC1wbHVnaW5zLWJhZAotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291
cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGxhYi5mcmVlZGVz
a3RvcC5vcmcvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZC5naXQKLSAgICAgIGJyYW5jaDogMS4x
Ni4xCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3N0cmVhbWVyL3BhdGNoZXMv
Z3N0LXBsdWdpbnMtYmFkLTAwMDEtaDI2NHBhcnNlLVBvc3QtYS1XQVJOSU5HLXdoZW4tZGF0YS1p
cy1icm9rZW4ucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlzYWJsZWQK
LSAgICAtIC1EaW50cm9zcGVjdGlvbj1kaXNhYmxlZAotICAgIC0gLURleGFtcGxlcz1kaXNhYmxl
ZAotLSBuYW1lOiBmZm1wZWcKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAg
IHVybDogaHR0cHM6Ly9mZm1wZWcub3JnL3JlbGVhc2VzL2ZmbXBlZy00LjAuNC50YXIuZ3oKLSAg
ICAgIHNoYTI1NjogODBiYjY4NWFiZmNkZGE3YzliNmM5YzVjYWYxZDhkYmI5Mjc4NTgwNTBkNzM3
N2MyYjhmMzQ4OGM3ZThhOWI3ZgotICBjb25maWctb3B0czoKLSAgICAtIC0tZW5hYmxlLXN0YXRp
YwotICAgIC0gLS1lbmFibGUtcGljCi0gICAgLSAtLWRpc2FibGUtYXZkZXZpY2UKLSAgICAtIC0t
ZGlzYWJsZS1wb3N0cHJvYwotICAgIC0gLS1kaXNhYmxlLXN3c2NhbGUKLSAgICAtIC0tZGlzYWJs
ZS1wcm9ncmFtcwotICAgIC0gLS1kaXNhYmxlLWZmcGxheQotICAgIC0gLS1kaXNhYmxlLWZmcHJv
YmUKLSAgICAtIC0tZGlzYWJsZS1mZm1wZWcKLSAgICAtIC0tZGlzYWJsZS1lbmNvZGVyPWZsYWMK
LSAgICAtIC0tZGlzYWJsZS1wcm90b2NvbHMKLSAgICAtIC0tZGlzYWJsZS1kZXZpY2VzCi0gICAg
LSAtLWRpc2FibGUtbmV0d29yawotICAgIC0gLS1kaXNhYmxlLWh3YWNjZWxzCi0gICAgLSAtLWRp
c2FibGUtZHh2YTIKLSAgICAtIC0tZGlzYWJsZS12ZHBhdQotICAgIC0gLS1kaXNhYmxlLWZpbHRl
cnMKLSAgICAtIC0tZW5hYmxlLWZpbHRlcj15YWRpZgotICAgIC0gLS1kaXNhYmxlLWRvYwotICAg
IC0gLS1kaXNhYmxlLWQzZDExdmEKLSAgICAtIC0tZGlzYWJsZS1keHZhMgotICAgIC0gLS1kaXNh
YmxlLWF1ZGlvdG9vbGJveAotICAgIC0gLS1kaXNhYmxlLXZpZGVvdG9vbGJveAotICAgIC0gLS1k
aXNhYmxlLXZhYXBpCi0gICAgLSAtLWRpc2FibGUtY3J5c3RhbGhkCi0gICAgLSAtLWRpc2FibGUt
bWVkaWFjb2RlYwotICAgIC0gLS1kaXNhYmxlLW52ZW5jCi0gICAgLSAtLWRpc2FibGUtbW1hbAot
ICAgIC0gLS1kaXNhYmxlLW9teAotICAgIC0gLS1kaXNhYmxlLW9teC1ycGkKLSAgICAtIC0tZGlz
YWJsZS1jdWRhCi0gICAgLSAtLWRpc2FibGUtY3V2aWQKLSAgICAtIC0tZGlzYWJsZS1saWJtZngK
LSAgICAtIC0tZGlzYWJsZS1saWJucHAKLSAgICAtIC0tZGlzYWJsZS1pY29udgotICAgIC0gLS1k
aXNhYmxlLWpuaQotICAgIC0gLS1kaXNhYmxlLXY0bDJfbTJtCi0gICAgLSAtLWVuYWJsZS1vcHRp
bWl6YXRpb25zCi0tIG5hbWU6IGdzdC1saWJhdgotICBidWlsZHN5c3RlbTogbWVzb24KLSAgYnVp
bGRkaXI6IHRydWUKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDog
aHR0cHM6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL3NyYy9nc3QtbGliYXYvZ3N0LWxpYmF2
LTEuMTYuMS50YXIueHoKLSAgICAgIHNoYTI1NjogZThhNTc0OGFlOWE0YTdiZTk2OTY1MTIxODJl
YTlmZmE2ZWZlMGJlOWI3OTc2OTE2NTQ4ZTlkNDM4MWNhNjFjNAotICBjb25maWctb3B0czoKLSAg
ICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotCi0tIG5hbWU6IGxpYmdjcnlwdCAjIFNwZWVkdXAgbGli
Z2NyeXB0Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9k
ZXYuZ251cGcub3JnL3NvdXJjZS9saWJnY3J5cHQuZ2l0Ci0gICAgICBicmFuY2g6IGxpYmdjcnlw
dC0xLjguNAotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IHBhdGNoZXMvbGliZ2NyeXB0
LTAwMDEtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRjaAotICAgIC0gdHlw
ZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2d0ay9wYXRjaGVzL2xpYmdjcnlwdC11c2Utb25seS1k
ZXYtdXJhbmRvbS1mb3ItdGVzdGluZy5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC0tZGlz
YWJsZS1kb2MKLQotLSBuYW1lOiBwZXJsLWNnaS1wbQotICBidWlsZHN5c3RlbTogc2ltcGxlCi0g
IGJ1aWxkLWNvbW1hbmRzOgotICAgIC0gcGVybCBNYWtlZmlsZS5QTCBQUkVGSVg9L2FwcCBMSUI9
L2FwcC9saWIvcGVybC8KLSAgICAtIG1ha2UgaW5zdGFsbAotICBzb3VyY2VzOgotICAgIC0gdHlw
ZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL2NwYW4ubWV0YWNwYW4ub3JnL2F1dGhvcnMv
aWQvTC9MRS9MRUVKTy9DR0ktNC4zOC50YXIuZ3oKLSAgICAgIHNoYTI1NjogOGM1OGY0YTUyOWJi
OTJhOTE0YjIyYjdlNjRjNWUzMTE4NWM5ODU0YTQwNzBhNmRmYWQ0NGZlNWNjMjQ4ZTdkNAotCi0t
IG5hbWU6IHB5dGhvbjItdmlydHVhbGVudgotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxk
LWNvbW1hbmRzOgotICAtIHBpcDIgaW5zdGFsbCAtLW5vLWluZGV4IC0tZmluZC1saW5rcz0iZmls
ZTovLyR7UFdEfSIgLS10YXJnZXQ9L2FwcC9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvIHZp
cnR1YWxlbnYKLSAgLSBsbiAtcyAvYXBwL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy92aXJ0
dWFsZW52LnB5IC9hcHAvYmluL3ZpcnR1YWxlbnYKLSAgLSBjaG1vZCAreCAvYXBwL2Jpbi92aXJ0
dWFsZW52Ci0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogZmlsZQotICAgIHVybDogaHR0cHM6Ly9maWxl
cy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzMzL2JjL2ZhMGI1MzQ3MTM5Y2Q5NTY0ZjBkNDRl
YmQyYjE0N2FjOTdjMzZiMjQwMzk0M2RiZWU4YTI1ZmQ3NDAxMi92aXJ0dWFsZW52LTE2LjAuMC50
YXIuZ3oKLSAgICBzaGEyNTY6IGNhMDdiNGMwYjU0ZTE0YTkxYWY5ZjM0ZDA5MTk3OTBiMDE2OTIz
ZDE1N2FmZGE1ZWZkZGU1NWM5NjcxOGY3NTIKLQotLSBuYW1lOiBsaWJjYXAtbmcKLSAgc291cmNl
czoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vc3RldmVn
cnViYi9saWJjYXAtbmcKLSAgICAgIGJyYW5jaDogdjAuNy45Ci0gIGNvbmZpZy1vcHRzOgotICAg
IC0gLS13aXRoLXB5dGhvbj1ubwotICAgIC0gLS13aXRoLXB5dGhvbjM9bm8KLQotLSBuYW1lOiBs
em8yCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHA6Ly93
d3cub2Jlcmh1bWVyLmNvbS9vcGVuc291cmNlL2x6by9kb3dubG9hZC9sem8tMi4xMC50YXIuZ3oK
LSAgICAgIHNoYTE6IDQ5MjQ2NzZhOWJhZTVkYjU4ZWYxMjlkYzFjZWJjZTNiYWEzYzRiNWQKLQot
LSBuYW1lOiBpY2VjYwotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0
dHBzOi8vZ2l0aHViLmNvbS9pY2VjYy9pY2VjcmVhbQotICAgICAgdGFnOiAiMS4yIgotICAgICAg
Y29tbWl0OiBlM2QxMGEzMmJjNmMwNDZkOGYzZDExODJlNzVjNjU5ZDRiMjhlZDQ5Ci0gIGNvbmZp
Zy1vcHRzOgotICAgIC0gLS13aXRob3V0LW1hbgotCi0tIG5hbWU6IGJyb3RsaQotICBzb3VyY2Vz
OgotICAtIHR5cGU6IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUv
YnJvdGxpL2FyY2hpdmUvdjEuMC41LnRhci5negotICAgIHNoYTI1NjogM2Q1YmVkZDQ4ZWRiOTA5
ZmUzYjg3Y2I5OWY3ZDEzOWI5ODdlZjZmMTYxNmI3ZTIyZDc0ZTkyODI3MGEyZmQyMAotICBidWls
ZHN5c3RlbTogY21ha2UtbmluamEKLQotLSBuYW1lOiB3b2ZmMgotICBzb3VyY2VzOgotICAtIHR5
cGU6IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvd29mZjIvYXJj
aGl2ZS92MS4wLjIudGFyLmd6Ci0gICAgc2hhMjU2OiBhZGQyNzJiYjA5ZTYzODRhNDgzM2ZmY2E0
ODk2MzUwZmRiMTZlMGNhMjJkZjY4YzAzODQ3NzNjNjdhMTc1NTk0Ci0gIGJ1aWxkc3lzdGVtOiBj
bWFrZS1uaW5qYQotCi0tIG5hbWU6IG9wZW5qcGVnCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogYXJj
aGl2ZQotICAgIHVybDogaHR0cDovL2dpdGh1Yi5jb20vdWNsb3V2YWluL29wZW5qcGVnL2FyY2hp
dmUvdjIuMy4wLnRhci5negotICAgIHNoYTI1NjogM2RjNzg3YzFiYjYwMjNiYTg0NmMyYTBkOWIx
ZjZlMTc5ZjFjZDI1NTE3MmJkZTllYjc1YjAxZjFlNmM3ZDcxYQotICBidWlsZHN5c3RlbTogY21h
a2UtbmluamEKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5HVEsueWFtbCBi
L1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5HVEsueWFtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOTYzYjU2MDQ0MDgwNDVlZDA4N2M3YzI2N2E1OTMyYjg0ZTYzMGQzZi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL29y
Zy53ZWJraXQuR1RLLnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMjMgKzAsMCBAQAotLSBuYW1l
OiBtZXNhCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHBz
Oi8vbWVzYS5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZS9tZXNhLTE4LjAuMy50YXIueHoKLSAgICAg
IHNoYTI1NjogMDk5ZDk2NjczMjdhNzZhNjE3NDFhNTMzZjk1MDY3ZDc2ZWE3MWE2NTZlNjZiOTE1
MDdiM2MwY2FmMWQ0OWUzMAotICBjb25maWctb3B0czoKLSAgICAtIC0tcHJlZml4PS9hcHAvc29m
dEdMCi0gICAgLSAtLWRpc2FibGUtZHJpMwotICAgIC0gLS1lbmFibGUtZHJpCi0gICAgLSAtLWVu
YWJsZS1nbHgKLSAgICAtIC0tZW5hYmxlLWVnbAotICAgIC0gLS13aXRoLWVnbC1wbGF0Zm9ybXM9
eDExLHdheWxhbmQKLSAgICAtIC0td2l0aC1kcmktZHJpdmVycz1zd3Jhc3QKLSAgICAtIC0td2l0
aC1nYWxsaXVtLWRyaXZlcnM9c3dyYXN0Ci0KLS0gbmFtZTogd2Via2l0Z3RrLXRlc3QtZm9udHMK
LSAgbm8tYXV0b2dlbjogdHJ1ZQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1
cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJLaXRHVEsvd2Via2l0Z3RrLXRlc3QtZm9udHMuZ2l0
Ci0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gICAgIyBGSVhNRTog
TWFrZSBBY3RpdmF0ZUZvbnRXUEUgc21hcnRlci4KLSAgICAtIG1ha2UgaW5zdGFsbCBERVNURElS
PS9hcHAvV2ViS2l0QnVpbGQvRGVwZW5kZW5jaWVzR1RLL1Jvb3QKLQotLSBuYW1lOiB4b3JnLXV0
aWwtbWFjcm9zCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6
Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy91dGlsL21hY3Jvcy5naXQKLSAgICAg
IGJyYW5jaDogdXRpbC1tYWNyb3MtMS4xOS4yCi0KLS0gbmFtZTogeG9yZy1mb250LXV0aWwKLSAg
c291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJl
ZWRlc2t0b3Aub3JnL2dpdC94b3JnL2ZvbnQvdXRpbC5naXQKLSAgICAgIGJyYW5jaDogZm9udC11
dGlsLTEuMy4xCi0KLS0gbmFtZTogeGtiZmlsZQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0
Ci0gICAgICBicmFuY2g6IGxpYnhrYmZpbGUtMS4wLjkKLSAgICAgIHVybDogaHR0cHM6Ly9hbm9u
Z2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy9saWIvbGlieGtiZmlsZS5naXQKLQotLSBuYW1l
OiBmb250ZW5jCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIGJyYW5jaDogbGli
Zm9udGVuYy0xLjEuMwotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Aub3Jn
L2dpdC94b3JnL2xpYi9saWJmb250ZW5jLmdpdAotCi0tIG5hbWU6IHhmb250Ci0gIHNvdXJjZXM6
Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIGJyYW5jaDogbGliWGZvbnQyLTIuMC4zCi0gICAgICB1
cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcvbGliL2xpYlhmb250
LmdpdAotCi0tIG5hbWU6IHh2ZmIKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAg
dXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC94b3JnL3hzZXJ2ZXIuZ2l0
Ci0gICAgICBicmFuY2g6IHhvcmctc2VydmVyLTEuMTkuNgotICAgIC0gdHlwZTogcGF0Y2gKLSAg
ICAgIHBhdGg6IHBhdGNoZXMveHZmYi0wMDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEta2JtLWZp
bGUucGF0Y2gKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9ndGsvcGF0Y2hlcy94
c2VydmVyLXJlbW92ZS1ib2d1cy1kZXBlbmRlbmNpZXMucGF0Y2gKLSAgICAtIHR5cGU6IHBhdGNo
Ci0gICAgICBwYXRoOiAuLi9ndGsvcGF0Y2hlcy94c2VydmVyLXNlYXJjaC1mb3ItRFJJLWRyaXZl
cnMtYXQtTElCR0xfRFJJVkVSU19QQVRILWVudmlyb24ucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0g
ICAgLSAtLWVuYWJsZS14dmZiCi0gICAgLSAtLWRpc2FibGUteHdheWxhbmQKLSAgICAtIC0tZW5h
YmxlLXh2ZmIKLSAgICAtIC0tZGlzYWJsZS14d2F5bGFuZAotICAgIC0gLS1kaXNhYmxlLXhpbmVy
YW1hCi0gICAgLSAtLWVuYWJsZS1nbHgKLSAgICAtIC0tZW5hYmxlLWNvbXBvc2l0ZQotICAgIC0g
LS1kaXNhYmxlLXhvcmcKLSAgICAtIC0tZGlzYWJsZS1kbXgKLSAgICAtIC0tZGlzYWJsZS14bmVz
dAotICAgIC0gLS1kaXNhYmxlLXhxdWFydHoKLSAgICAtIC0tZGlzYWJsZS14d2luCi0gICAgLSAt
LWRpc2FibGUteGVwaHlyCi0gICAgLSAtLWRpc2FibGUteGZha2UKLSAgICAtIC0tZGlzYWJsZS14
ZmJkZXYKLSAgICAtIC0tZGlzYWJsZS1pbnN0YWxsLXNldHVpZAotICAgIC0gLS1kaXNhYmxlLXVu
aXQtdGVzdHMKLSAgICAtIC0tZGlzYWJsZS1wcmVzZW50Ci0gICAgLSAtLWVuYWJsZS11bml4LXRy
YW5zcG9ydAotICAgIC0gLS1lbmFibGUtdGNwLXRyYW5zcG9ydAotICAgIC0gLS1kaXNhYmxlLWxv
Y2FsLXRyYW5zcG9ydAotICAgIC0gLS13aXRob3V0LWR0cmFjZQotCi0jIFJlcXVpcmVkIGZvciBy
dW4tZ3RrLXRlc3RzCi0tIG5hbWU6IHB5Y2Fpcm8KLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBi
dWlsZC1jb21tYW5kczoKLSAgLSBweXRob24yIHNldHVwLnB5IGluc3RhbGwgLS1wcmVmaXg9L2Fw
cAotICBzb3VyY2VzOgotICAtIHR5cGU6IGFyY2hpdmUKLSAgICB1cmw6IGh0dHBzOi8vcHlwaS5w
eXRob24ub3JnL3BhY2thZ2VzL2VmLzk3L2IzM2RjNTMzZWE2MDc2ZDRlYTljYmQyZmUwNDlhMmI0
YTNkZjVjNWI2ZmJhOWExODI2MTZmNmY4ZDMxMC9weWNhaXJvLTEuMTUuNC50YXIuZ3oKLSAgICBz
aGEyNTY6IGVlNGMzMDY4YzA0ODIzMGU1Y2U3NGJiODk5NGEwMjQ3MTExMjliZGUxYWYxZDc2ZTMy
NzZjN2FjZDgxYzQzNTcKLSAgY2xlYW51cDoKLSAgLSAiL2luY2x1ZGUiCi0gIC0gIi9saWIvcGtn
Y29uZmlnIgotCi0tIG5hbWU6IHB5Z29iamVjdC1weXRob24yCi0gIGJ1aWxkLW9wdGlvbnM6Ci0g
ICAgZW52OgotICAgICAgUFlUSE9OOiAiL3Vzci9iaW4vcHl0aG9uMiIKLSAgc291cmNlczoKLSAg
LSB0eXBlOiBhcmNoaXZlCi0gICAgdXJsOiBodHRwczovL2Rvd25sb2FkLmdub21lLm9yZy9zb3Vy
Y2VzL3B5Z29iamVjdC8zLjI4L3B5Z29iamVjdC0zLjI4LjEudGFyLnh6Ci0gICAgc2hhMjU2OiA0
MjMxMmI0YTUwMTU1NzFmYTBhNGYyZDIwMTAwNWRhNDZiNzFjMjUxZWEyNjI1YmM5NTcwMmQwNzFj
NGZmODk1Ci0gIGNsZWFudXA6Ci0gIC0gIi9pbmNsdWRlIgotICAtICIvbGliL3BrZ2NvbmZpZyIK
LSAgLSAiL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9naS8qLmxhIgotCi0tIG9yZy53ZWJr
aXQuV1BFTW9kdWxlcy55YW1sCi0KLS0gbmFtZTogb3JnLndlYmtpdC5HVEsKLSAgYnVpbGRzeXN0
ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgICAtIC9hcHAvd2Via2l0L1Rvb2xzL1Nj
cmlwdHMvYnVpbGQtd2Via2l0IC0tZ3RrIC0tcHJlZml4PS9hcHAKLQpkaWZmIC0tZ2l0IGEvVG9v
bHMvZmxhdHBhay9vcmcud2Via2l0LldQRS55YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0
LldQRS55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0Y2JhYmJhYTBjYjhlMTU4
YWQ0NDQxZjk4YjRkMDUzYThjYjNiYTc2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEUueWFtbAorKysgL2Rl
di9udWxsCkBAIC0xLDE0ICswLDAgQEAKLS0gb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwKLS0g
bmFtZTogd2Via2l0Z3RrLXRlc3QtZm9udHMKLSAgbm8tYXV0b2dlbjogdHJ1ZQotICBzb3VyY2Vz
OgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJLaXRH
VEsvd2Via2l0Z3RrLXRlc3QtZm9udHMuZ2l0Ci0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVp
bGQtY29tbWFuZHM6Ci0gICAgIyBGSVhNRTogTWFrZSBBY3RpdmF0ZUZvbnRXUEUgc21hcnRlci4K
LSAgICAtIG1ha2UgaW5zdGFsbCBERVNURElSPS9hcHAvV2ViS2l0QnVpbGQvRGVwZW5kZW5jaWVz
V1BFL1Jvb3QKLS0gbmFtZTogb3JnLndlYmtpdC5XUEUKLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQot
ICBidWlsZC1jb21tYW5kczoKLSAgICAtIC9hcHAvd2Via2l0L1Rvb2xzL1NjcmlwdHMvYnVpbGQt
d2Via2l0IC0td3BlIC0tcHJlZml4PS9hcHAKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvb3Jn
LndlYmtpdC5XUEVNb2R1bGVzLnlhbWwgYi9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFTW9k
dWxlcy55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhODBlMmNjYjNhNGQ5NTIy
YTYwNzkzNGMwNmUwYWY5MjA1YmYwMjE3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwK
KysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0tIG5hbWU6IGxpYndwZQotICBidWlsZHN5
c3RlbTogY21ha2UtbmluamEKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAg
IHVybDogaHR0cHM6Ly93cGV3ZWJraXQub3JnL3JlbGVhc2VzL2xpYndwZS0xLjQuMC50YXIueHoK
LSAgICAgIHNoYTI1NjogZTJkMzQ5NGZjMzNmZTk0NmFkOTE3ZmQ2YTNhYmQxMjc0NjJiOTFiYmE2
MmVmOGIzNTUwN2U5MmY4ZWRlNDE4OAotLSBuYW1lOiB3cGViYWNrZW5kLWZkbwotICBidWlsZHN5
c3RlbTogY21ha2UtbmluamEKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAg
IHVybDogaHR0cHM6Ly93cGV3ZWJraXQub3JnL3JlbGVhc2VzL3dwZWJhY2tlbmQtZmRvLTEuNC4w
LnRhci54egotICAgICAgc2hhMjU2OiBhOTE5Y2E0YTViYzQ0NWY5NDE5YTViN2YzNzgxY2ZjOThl
NWFiY2Y1ZDcyNTllYjE4NjlmNWFiMjBmZDE4YmFmCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFr
L29yZy53ZWJraXQuV1BFUVQueWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVRVC55
YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTM2OTU3YTQ2MWJjMzQ3OWEzOGVm
ZmRlNmQ5NThiZDAwNzI2NzhlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVRVC55YW1sCisrKyAvZGV2L251
bGwKQEAgLTEsMzkgKzAsMCBAQAotYXBwLWlkOiBvcmcud2Via2l0LldQRVFUCi1ydW50aW1lOiBv
cmcua2RlLlBsYXRmb3JtCi1ydW50aW1lLXZlcnNpb246ICI1LjEyIgotIyBDb250cm9sIHRoZSBl
eGFjdCB2ZXJzaW9uIG9mIHRoZSBTZGsvUnVudGltZSB0aGF0IGlzIGJlaW5nIHVzZWQuCi1zZGst
aGFzaDogZDZlZmEyNGUyN2MxYzg3OGFkNGZkZTc2YjczYzk2YTExYmUzMmI1OThhZTg3YWVmYmUz
MzllZTRiYjE5YThiZQotcnVudGltZS1oYXNoOiAxMDE4NzFlMDkxMDAwNjE2YWQyYjYzNWUwNmM0
MTRlYjBlMWM0ZTFjMzQyOTJhMjA1YzUyMzk5MzVlZTVlYTQ0Ci1zZGs6IG9yZy5rZGUuU2RrCi1j
b21tYW5kOiAlKENPTU1BTkQpcwotZmluaXNoLWFyZ3M6Ci0gICMgQmFzaWNhbGx5IG5vIHNhbmRi
b3hpbmcsIHRoZSBnb2FsIGhlcmUgaXMgdG8gbWFrZSBpdCBmbGV4aWJsZQotICAjIGZvciBkZXZl
bG9wZXJzLCBub3QgcmVhbGx5IHRvIGlzb2xhdGUgKG9wZW5uaW5nIGFsbCBkZXZpY2VzCi0gICMg
dG8gYWxsb3cgYWNjZXMgdmlkZW8gY2FtZXJhcyB1bnRpbCB3ZSBoYXZlIGEgcG9ydGFsIGF0IGxl
YXN0KS4KLSAgLSAtLXNoYXJlPWlwYwotICAtIC0tc29ja2V0PXgxMQotICAtIC0tc29ja2V0PXdh
eWxhbmQKLSAgLSAtLWRldmljZT1hbGwKLSAgLSAtLXNoYXJlPW5ldHdvcmsKLSAgLSAtLXNvY2tl
dD1wdWxzZWF1ZGlvCi0gIC0gLS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5mcmVlZGVza3RvcC5HZW9D
bHVlMgotICAtIC0tc3lzdGVtLXRhbGstbmFtZT1vcmcuYTExeS5CdXMKLSAgLSAtLWZpbGVzeXN0
ZW09aG9zdAotICAtIC0tc29ja2V0PXN5c3RlbS1idXMKLSAgLSAtLXRhbGstbmFtZT1vcmcuZnJl
ZWRlc2t0b3AuRmxhdHBhawotICAtIC0tZW52PUdTVF9QUkVTRVRfUEFUSD0vYXBwL3NoYXJlL2dz
dHJlYW1lci0xLjAvcHJlc2V0cy8KLWJ1aWxkLW9wdGlvbnM6Ci0gIGNmbGFnczogLU8yIC1nCi0g
IGN4eGZsYWdzOiAtTzIgLWcKLSAgc3RyaXA6IGZhbHNlCi0gIG5vLWRlYnVnaW5mbzogdHJ1ZQot
bW9kdWxlczoKLSAgLSBvcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbAotICAtIG9yZy53ZWJr
aXQuV1BFTW9kdWxlcy55YW1sCi0KLSAgIyBUaGlzIG1vZHVsZSBpcyBub3QgYWN0dWFsbHkgYnVp
bHQuCi0gIC0gbmFtZTogb3JnLndlYmtpdC5XUEVRVAotICAgIGJ1aWxkc3lzdGVtOiBjbWFrZQot
ICAgIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBkaXIKLSAgICAgIHBhdGg6IC9hcHAvd2Via2l0L1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvcXQKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRw
YWsvb3JnLndlYmtpdC5XZWJLaXQueWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XZWJL
aXQueWFtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjZkNjEyNjYwZDhhMjA0NWRh
MzEyZmRiMDkxYjc4ZTU4YTgwN2U2OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV2ViS2l0LnlhbWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1hcHAtaWQ6ICUoUE9SVE5BTUUpcwotcnVudGltZTog
b3JnLmdub21lLlBsYXRmb3JtCi1ydW50aW1lLXZlcnNpb246ICIzLjMyIgotIyBDb250cm9sIHRo
ZSBleGFjdCB2ZXJzaW9uIG9mIHRoZSBTZGsvUnVudGltZSB0aGF0IGlzIGJlaW5nIHVzZWQuCi1z
ZGstaGFzaDogYjNiOWIxZDFiMTllYTJiYjcyMDE5NDI4Y2E3NWM3YTc4NDU1ZTk4NmEwZjkxZGRk
ZjZhMjljOTI5OTBjYzVhNwotcnVudGltZS1oYXNoOiA3YzlkNTU5MmQ4MDVkMGI3YzIxMjE5MGZk
ODExOGU0Yzc4Y2I4ZWQ4ZjgxZTY4Nzg1ODk3MjY3MGRhY2NmZjc2Ci1zZGs6IG9yZy5nbm9tZS5T
ZGsKLWNvbW1hbmQ6ICUoQ09NTUFORClzCi1maW5pc2gtYXJnczoKLSAgIyBCYXNpY2FsbHkgbm8g
c2FuZGJveGluZywgdGhlIGdvYWwgaGVyZSBpcyB0byBtYWtlIGl0IGZsZXhpYmxlCi0gICMgZm9y
IGRldmVsb3BlcnMsIG5vdCByZWFsbHkgdG8gaXNvbGF0ZSAob3Blbm5pbmcgYWxsIGRldmljZXMK
LSAgIyB0byBhbGxvdyBhY2NlcyB2aWRlbyBjYW1lcmFzIHVudGlsIHdlIGhhdmUgYSBwb3J0YWwg
YXQgbGVhc3QpLgotICAtIC0tc2hhcmU9aXBjCi0gIC0gLS1zb2NrZXQ9eDExCi0gIC0gLS1zb2Nr
ZXQ9d2F5bGFuZAotICAtIC0tZGV2aWNlPWFsbAotICAtIC0tc2hhcmU9bmV0d29yawotICAtIC0t
c29ja2V0PXB1bHNlYXVkaW8KLSAgLSAtLXN5c3RlbS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9w
Lkdlb0NsdWUyCi0gIC0gLS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cwotICAtIC0tZmls
ZXN5c3RlbT1ob3N0Ci0gIC0gLS1zb2NrZXQ9c3lzdGVtLWJ1cwotICAtIC0tdGFsay1uYW1lPW9y
Zy5mcmVlZGVza3RvcC5GbGF0cGFrCi0gIC0gLS1lbnY9R1NUX1BSRVNFVF9QQVRIPS9hcHAvc2hh
cmUvZ3N0cmVhbWVyLTEuMC9wcmVzZXRzLwotYnVpbGQtb3B0aW9uczoKLSAgY2ZsYWdzOiAtTzIg
LWcKLSAgY3h4ZmxhZ3M6IC1PMiAtZwotICBzdHJpcDogZmFsc2UKLSAgbm8tZGVidWdpbmZvOiB0
cnVlCi1tb2R1bGVzOgotICAtIG9yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sCi0gICMgUG9y
dCBzcGVjaWZpYyBjb21wb25lbnRzLgotICAtICUoUE9SVE5BTUUpcy55YW1sCmRpZmYgLS1naXQg
YS9Ub29scy9mbGF0cGFrL3BhdGNoZXMvaHR0cGQtMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25m
aWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoIGIvVG9vbHMvZmxhdHBhay9wYXRjaGVzL2h0dHBk
LTAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1QQ1JFLWRldGVjdGlvbi5wYXRjaApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDM2YTY5NGYyOTIzZDM1MWRiNmYzZjEzMzI3
NjAyODNkYTc4ZjlkZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Ub29scy9mbGF0cGFrL3BhdGNoZXMvaHR0cGQtMDAwMS1jb25maWd1cmUtdXNlLXBrZy1j
b25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAs
MCBAQAotRnJvbSBiNWViZTQwNGYxMzg4ZGRkYTM2MDNlNTMyNzdmODdlMGI5NmJhNjk1IE1vbiBT
ZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAaWdh
bGlhLmNvbT4KLURhdGU6IE1vbiwgMTEgSnVuIDIwMTggMTY6MTQ6MzggLTA0MDAKLVN1YmplY3Q6
IFtQQVRDSF0gY29uZmlndXJlOiB1c2UgcGtnLWNvbmZpZyBmb3IgUENSRSBkZXRlY3Rpb24KLQot
LS0tCi0gY29uZmlndXJlLmluIHwgMjcgKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBm
aWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1n
aXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KLWluZGV4IDc2MWU4MzYuLmIxNTVkNGIg
MTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuaW4KLSsrKyBiL2NvbmZpZ3VyZS5pbgotQEAgLTIxNSwy
OCArMjE1LDExIEBAIGZpCi0gQUNfQVJHX1dJVEgocGNyZSwKLSBBUEFDSEVfSEVMUF9TVFJJTkco
LS13aXRoLXBjcmU9UEFUSCxVc2UgZXh0ZXJuYWwgUENSRSBsaWJyYXJ5KSkKLSAKLS1BQ19QQVRI
X1BST0coUENSRV9DT05GSUcsIHBjcmUtY29uZmlnLCBmYWxzZSkKLS1pZiB0ZXN0IC1kICIkd2l0
aF9wY3JlIiAmJiB0ZXN0IC14ICIkd2l0aF9wY3JlL2Jpbi9wY3JlLWNvbmZpZyI7IHRoZW4KLS0g
ICBQQ1JFX0NPTkZJRz0kd2l0aF9wY3JlL2Jpbi9wY3JlLWNvbmZpZwotLWVsaWYgdGVzdCAteCAi
JHdpdGhfcGNyZSI7IHRoZW4KLS0gICBQQ1JFX0NPTkZJRz0kd2l0aF9wY3JlCi0tZmkKLS0KLS1p
ZiB0ZXN0ICIkUENSRV9DT05GSUciICE9ICJmYWxzZSI7IHRoZW4KLS0gIGlmICRQQ1JFX0NPTkZJ
RyAtLXZlcnNpb24gPi9kZXYvbnVsbCAyPiYxOyB0aGVuIDo7IGVsc2UKLS0gICAgQUNfTVNHX0VS
Uk9SKFtEaWQgbm90IGZpbmQgcGNyZS1jb25maWcgc2NyaXB0IGF0ICRQQ1JFX0NPTkZJR10pCi0t
ICBmaQotLSAgY2FzZSBgJFBDUkVfQ09ORklHIC0tdmVyc2lvbmAgaW4KLS0gIFtbMS01XS4qXSkK
LS0gICAgQUNfTVNHX0VSUk9SKFtOZWVkIGF0IGxlYXN0IHBjcmUgdmVyc2lvbiA2LjBdKQotLSAg
ICA7OwotLSAgZXNhYwotLSAgQUNfTVNHX05PVElDRShbVXNpbmcgZXh0ZXJuYWwgUENSRSBsaWJy
YXJ5IGZyb20gJFBDUkVfQ09ORklHXSkKLS0gIEFQUl9BRERUTyhQQ1JFX0lOQ0xVREVTLCBbYCRQ
Q1JFX0NPTkZJRyAtLWNmbGFnc2BdKQotLSAgQVBSX0FERFRPKFBDUkVfTElCUywgW2AkUENSRV9D
T05GSUcgLS1saWJzYF0pCi0tZWxzZQotLSAgQUNfTVNHX0VSUk9SKFtwY3JlLWNvbmZpZyBmb3Ig
bGlicGNyZSBub3QgZm91bmQuIFBDUkUgaXMgcmVxdWlyZWQgYW5kIGF2YWlsYWJsZSBmcm9tIGh0
dHA6Ly9wY3JlLm9yZy9dKQotLWZpCi0rUEtHX0NIRUNLX01PRFVMRVMoW1BDUkVdLCBbbGlicGNy
ZV0sIFsKLSsgIEFDX0RFRklORShbSEFWRV9QQ1JFXSwgWzFdLCBbRGVmaW5lIGlmIHlvdSBoYXZl
IFBDUkUgbGlicmFyeV0pCi0rXSwgWwotKyAgQUNfTVNHX0VSUk9SKFskUENSRV9QS0dfRVJST1JT
XSkKLStdKQotIEFQQUNIRV9TVUJTVChQQ1JFX0xJQlMpCi0gCi0gQUNfTVNHX05PVElDRShbXSkK
LS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy9saWJnY3J5
cHQtMDAwMS1Vc2UtcGtnLWNvbmZpZy10by1kZXRlY3QtZ3BnLWVycm9yLnBhdGNoIGIvVG9vbHMv
ZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWRldGVjdC1n
cGctZXJyb3IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM1NzcyN2ZiYjhi
MDhiOTE5NWE1YzA5N2Q2YzYxYjkwOGM2OTE3OWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAx
LVVzZS1wa2ctY29uZmlnLXRvLWRldGVjdC1ncGctZXJyb3IucGF0Y2gKKysrIC9kZXYvbnVsbApA
QCAtMSwxMTAgKzAsMCBAQAotRnJvbSA5YWZmM2YxYjM0NGZjODY2NmIxNGM1NzYyOTE2MmMyYjkw
MDdjYWQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGhpYmF1bHQgU2F1bmllciA8
dHNhdW5pZXJAaWdhbGlhLmNvbT4KLURhdGU6IEZyaSwgMjkgSnVuIDIwMTggMDk6MDU6NTIgLTA0
MDAKLVN1YmplY3Q6IFtQQVRDSF0gVXNlIHBrZy1jb25maWcgdG8gZGV0ZWN0IGdwZy1lcnJvcgot
Ci0tLS0KLSBtNC9ncGctZXJyb3IubTQgfCA4OCArKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyks
IDc2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbTQvZ3BnLWVycm9yLm00IGIvbTQvZ3Bn
LWVycm9yLm00Ci1pbmRleCAxNjYxMjA0Yy4uNWY5ZjMzYzIgMTAwNjQ0Ci0tLS0gYS9tNC9ncGct
ZXJyb3IubTQKLSsrKyBiL200L2dwZy1lcnJvci5tNAotQEAgLTQxLDgxICs0MSwxNyBAQCBBQ19E
RUZVTihbQU1fUEFUSF9HUEdfRVJST1JdLAotICAgQUNfQVJHX1dJVEgoZ3BnLWVycm9yLXByZWZp
eCwsCi0gICAgICAgICAgICAgICBbZ3BnX2Vycm9yX2NvbmZpZ19wcmVmaXg9IiR3aXRodmFsIl0p
Ci0gCi0tICBpZiB0ZXN0IHgiJHtHUEdfRVJST1JfQ09ORklHfSIgPSB4IDsgdGhlbgotLSAgICAg
aWYgdGVzdCB4IiR7Z3BnX2Vycm9yX2NvbmZpZ19wcmVmaXh9IiAhPSB4IDsgdGhlbgotLSAgICAg
ICAgR1BHX0VSUk9SX0NPTkZJRz0iJHtncGdfZXJyb3JfY29uZmlnX3ByZWZpeH0vYmluL2dwZy1l
cnJvci1jb25maWciCi0tICAgICBlbHNlCi0tICAgICAgIGNhc2UgIiR7U1lTUk9PVH0iIGluCi0t
ICAgICAgICAgLyopCi0tICAgICAgICAgICBpZiB0ZXN0IC14ICIke1NZU1JPT1R9L2Jpbi9ncGct
ZXJyb3ItY29uZmlnIiA7IHRoZW4KLS0gICAgICAgICAgICAgR1BHX0VSUk9SX0NPTkZJRz0iJHtT
WVNST09UfS9iaW4vZ3BnLWVycm9yLWNvbmZpZyIKLS0gICAgICAgICAgIGZpCi0tICAgICAgICAg
ICA7OwotLSAgICAgICAgICcnKQotLSAgICAgICAgICAgOzsKLS0gICAgICAgICAgKikKLS0gICAg
ICAgICAgIEFDX01TR19XQVJOKFtJZ25vcmluZyBcJFNZU1JPT1QgYXMgaXQgaXMgbm90IGFuIGFi
c29sdXRlIHBhdGguXSkKLS0gICAgICAgICAgIDs7Ci0tICAgICAgIGVzYWMKLS0gICAgIGZpCi0t
ICBmaQotKyAgUEtHX0NIRUNLX01PRFVMRVMoW0dQR19FUlJPUl0sIFtncGctZXJyb3JdLCBbCi0r
ICAgIEFDX0RFRklORShbSEFWRV9HUEdfRVJST1JdLCBbMV0sIFtEZWZpbmUgaWYgeW91IGhhdmUg
Z3BnLWVycm9yIGxpYnJhcnldKQotIAotLSAgQUNfUEFUSF9QUk9HKEdQR19FUlJPUl9DT05GSUcs
IGdwZy1lcnJvci1jb25maWcsIG5vKQotLSAgbWluX2dwZ19lcnJvcl92ZXJzaW9uPWlmZWxzZShb
JDFdLCAsMC4wLCQxKQotLSAgQUNfTVNHX0NIRUNLSU5HKGZvciBHUEcgRXJyb3IgLSB2ZXJzaW9u
ID49ICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb24pCi0tICBvaz1ubwotLSAgaWYgdGVzdCAiJEdQR19F
UlJPUl9DT05GSUciICE9ICJubyIgXAotLSAgICAgJiYgdGVzdCAtZiAiJEdQR19FUlJPUl9DT05G
SUciIDsgdGhlbgotLSAgICByZXFfbWFqb3I9YGVjaG8gJG1pbl9ncGdfZXJyb3JfdmVyc2lvbiB8
IFwKLS0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXCkvXDEv
J2AKLS0gICAgcmVxX21pbm9yPWBlY2hvICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb24gfCBcCi0tICAg
ICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwuXChbWzAtOV1dKlwpL1wyLydgCi0tICAg
IGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbj1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9j
b25maWdfYXJncyAtLXZlcnNpb25gCi0tICAgIG1ham9yPWBlY2hvICRncGdfZXJyb3JfY29uZmln
X3ZlcnNpb24gfCBcCi0tICAgICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwuXChbWzAt
OV1dKlwpLiovXDEvJ2AKLS0gICAgbWlub3I9YGVjaG8gJGdwZ19lcnJvcl9jb25maWdfdmVyc2lv
biB8IFwKLS0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXCku
Ki9cMi8nYAotLSAgICBpZiB0ZXN0ICIkbWFqb3IiIC1ndCAiJHJlcV9tYWpvciI7IHRoZW4KLS0g
ICAgICAgIG9rPXllcwotLSAgICBlbHNlCi0tICAgICAgICBpZiB0ZXN0ICIkbWFqb3IiIC1lcSAi
JHJlcV9tYWpvciI7IHRoZW4KLS0gICAgICAgICAgICBpZiB0ZXN0ICIkbWlub3IiIC1nZSAiJHJl
cV9taW5vciI7IHRoZW4KLS0gICAgICAgICAgICAgICBvaz15ZXMKLS0gICAgICAgICAgICBmaQot
LSAgICAgICAgZmkKLS0gICAgZmkKLS0gIGZpCi0tICBpZiB0ZXN0ICRvayA9IHllczsgdGhlbgot
LSAgICBHUEdfRVJST1JfQ0ZMQUdTPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZp
Z19hcmdzIC0tY2ZsYWdzYAotLSAgICBHUEdfRVJST1JfTElCUz1gJEdQR19FUlJPUl9DT05GSUcg
JGdwZ19lcnJvcl9jb25maWdfYXJncyAtLWxpYnNgCi0tICAgIEdQR19FUlJPUl9NVF9DRkxBR1M9
YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1tdCAtLWNmbGFncyAy
Pi9kZXYvbnVsbGAKLS0gICAgR1BHX0VSUk9SX01UX0xJQlM9YCRHUEdfRVJST1JfQ09ORklHICRn
cGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1tdCAtLWxpYnMgMj4vZGV2L251bGxgCi0tICAgIEFDX01T
R19SRVNVTFQoW3llcyAoJGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbildKQotLSAgICBpZmVsc2Uo
WyQyXSwgLCA6LCBbJDJdKQotLSAgICBncGdfZXJyb3JfY29uZmlnX2hvc3Q9YCRHUEdfRVJST1Jf
Q09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1ob3N0IDI+L2Rldi9udWxsIHx8IGVjaG8g
bm9uZWAKLS0gICAgaWYgdGVzdCB4IiRncGdfZXJyb3JfY29uZmlnX2hvc3QiICE9IHhub25lIDsg
dGhlbgotLSAgICAgIGlmIHRlc3QgeCIkZ3BnX2Vycm9yX2NvbmZpZ19ob3N0IiAhPSB4IiRob3N0
IiA7IHRoZW4KLS0gIEFDX01TR19XQVJOKFtbCi0tKioqCi0tKioqIFRoZSBjb25maWcgc2NyaXB0
ICRHUEdfRVJST1JfQ09ORklHIHdhcwotLSoqKiBidWlsdCBmb3IgJGdwZ19lcnJvcl9jb25maWdf
aG9zdCBhbmQgdGh1cyBtYXkgbm90IG1hdGNoIHRoZQotLSoqKiB1c2VkIGhvc3QgJGhvc3QuCi0t
KioqIFlvdSBtYXkgd2FudCB0byB1c2UgdGhlIGNvbmZpZ3VyZSBvcHRpb24gLS13aXRoLWdwZy1l
cnJvci1wcmVmaXgKLS0qKiogdG8gc3BlY2lmeSBhIG1hdGNoaW5nIGNvbmZpZyBzY3JpcHQgb3Ig
dXNlIFwkU1lTUk9PVC4KLS0qKipdXSkKLS0gICAgICAgIGdwZ19jb25maWdfc2NyaXB0X3dhcm49
IiRncGdfY29uZmlnX3NjcmlwdF93YXJuIGxpYmdwZy1lcnJvciIKLS0gICAgICBmaQotLSAgICBm
aQotLSAgZWxzZQotLSAgICBHUEdfRVJST1JfQ0ZMQUdTPSIiCi0tICAgIEdQR19FUlJPUl9MSUJT
PSIiCi0tICAgIEdQR19FUlJPUl9NVF9DRkxBR1M9IiIKLS0gICAgR1BHX0VSUk9SX01UX0xJQlM9
IiIKLS0gICAgQUNfTVNHX1JFU1VMVChubykKLS0gICAgaWZlbHNlKFskM10sICwgOiwgWyQzXSkK
LS0gIGZpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfQ0ZMQUdTKQotLSAgQUNfU1VCU1QoR1BHX0VS
Uk9SX0xJQlMpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfTVRfQ0ZMQUdTKQotLSAgQUNfU1VCU1Qo
R1BHX0VSUk9SX01UX0xJQlMpCi0rICAgIEdQR19FUlJPUl9NVF9DRkxBR1M9IiRHUEdfRVJST1Jf
Q0ZMQUdTIgotKyAgICBHUEdfRVJST1JfTVRfTElCUz0iLWxwdGhyZWFkICRHUEdfRVJST1JfTElC
UyIKLSsKLSsgICAgQUNfU1VCU1QoR1BHX0VSUk9SX0NGTEFHUykKLSsgICAgQUNfU1VCU1QoR1BH
X0VSUk9SX0xJQlMpCi0rICAgIEFDX1NVQlNUKEdQR19FUlJPUl9NVF9DRkxBR1MpCi0rICAgIEFD
X1NVQlNUKEdQR19FUlJPUl9NVF9MSUJTKQotKyAgXSwgWwotKyAgICBBQ19NU0dfRVJST1IoWyRH
UEdfRVJST1JfRVJST1JTXSkKLSsgIF0pCi0gXSkKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBh
L1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEtSEFDSy1Bdm9pZC1jb21waWxpbmctYS1r
Ym0tZmlsZS5wYXRjaCBiL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEtSEFDSy1Bdm9p
ZC1jb21waWxpbmctYS1rYm0tZmlsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggODk4ODQyYjM4MWQyNTE0MGZiYzA4ZjU0YTk3MjMwYTZkYmU0YTQ1MC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL3BhdGNoZXMv
eHZmYi0wMDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEta2JtLWZpbGUucGF0Y2gKKysrIC9kZXYv
bnVsbApAQCAtMSw1MCArMCwwIEBACi1Gcm9tIGFlZDFiNmU4ZGU0MTM3NWMxYjhiMWRmYzQ4YTM1
MGUwYTliOWNiYmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUaGliYXVsdCBTYXVu
aWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotRGF0ZTogTW9uLCAxMSBKdW4gMjAxOCAxMDo1NTo0
MyAtMDQwMAotU3ViamVjdDogW1BBVENIIHhzZXJ2ZXJdIEhBQ0s6IEF2b2lkIGNvbXBpbGluZyBh
IGtibSBmaWxlCi0KLVRoaXMgd291bGQgbmVlZCB0byBiZSBpbiAvdXNyL3NoYXJlL1gxMS8gYXMg
dGhpcyBpcyB3aGVyZQotcmVzb3VyY2UgZmlsZXMgYXJlIGluIHRoZSBzYW5kYm94IGJ1dCBpdCBp
cyByZWFkIG9ubHkgaW4gdGhlcmUuCi0KLUhhY2sgYXJvdW5kIHRoYXQuCi0tLS0KLSB4a2IvZGR4
TG9hZC5jIHwgOSArLS0tLS0tLS0KLSB4a2IveGtiSW5pdC5jIHwgMiArLQotIDIgZmlsZXMgY2hh
bmdlZCwgMiBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEveGti
L2RkeExvYWQuYyBiL3hrYi9kZHhMb2FkLmMKLWluZGV4IGJiZTM5NTIuLmE0YTAzYTEgMTAwNjQ0
Ci0tLS0gYS94a2IvZGR4TG9hZC5jCi0rKysgYi94a2IvZGR4TG9hZC5jCi1AQCAtMTQ4LDE0ICsx
NDgsNyBAQCBSdW5Ya2JDb21wKHhrYmNvbXBfYnVmZmVyX2NhbGxiYWNrIGNhbGxiYWNrLCB2b2lk
ICp1c2VyZGF0YSkKLSAgICAgICAgIH0KLSAgICAgfQotIAotLSAgICBpZiAoYXNwcmludGYoJmJ1
ZiwKLS0gICAgICAgICAgICAgICAgICJcIiVzJXN4a2Jjb21wXCIgLXcgJWQgJXMgLXhrbSBcIiVz
XCIgIgotLSAgICAgICAgICAgICAgICAgIi1lbTEgJXMgLWVtcCAlcyAtZW1sICVzIFwiJXMlcy54
a21cIiIsCi0tICAgICAgICAgICAgICAgICB4a2JiaW5kaXIsIHhrYmJpbmRpcnNlcCwKLS0gICAg
ICAgICAgICAgICAgICgoeGtiRGVidWdGbGFncyA8IDIpID8gMSA6Ci0tICAgICAgICAgICAgICAg
ICAgKCh4a2JEZWJ1Z0ZsYWdzID4gMTApID8gMTAgOiAoaW50KSB4a2JEZWJ1Z0ZsYWdzKSksCi0t
ICAgICAgICAgICAgICAgICB4a2JiYXNlZGlyZmxhZyA/IHhrYmJhc2VkaXJmbGFnIDogIiIsIHhr
bWZpbGUsCi0tICAgICAgICAgICAgICAgICBQUkVfRVJST1JfTVNHLCBFUlJPUl9QUkVGSVgsIFBP
U1RfRVJST1JfTVNHMSwKLSsgICAgaWYgKGFzcHJpbnRmKCZidWYsICJjcCAvYXBwL3dlYmtpdC9U
b29scy9mbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttIFwiJXMlcy54a21cIiIsCi0gICAgICAgICAg
ICAgICAgICB4a21fb3V0cHV0X2Rpciwga2V5bWFwKSA9PSAtMSkKLSAgICAgICAgIGJ1ZiA9IE5V
TEw7Ci0gCi1kaWZmIC0tZ2l0IGEveGtiL3hrYkluaXQuYyBiL3hrYi94a2JJbml0LmMKLWluZGV4
IDljNzcyZjUuLjRlMGI3NzQgMTAwNjQ0Ci0tLS0gYS94a2IveGtiSW5pdC5jCi0rKysgYi94a2Iv
eGtiSW5pdC5jCi1AQCAtODcsNyArODcsNyBAQCB0eXBlZGVmIHN0cnVjdCBfU3J2WGttSW5mbyB7
Ci0gI2RlZmluZQlYS0JfREZMVF9SVUxFU19QUk9QCVRSVUUKLSAjZW5kaWYKLSAKLS1jb25zdCBj
aGFyICpYa2JCYXNlRGlyZWN0b3J5ID0gWEtCX0JBU0VfRElSRUNUT1JZOwotK2NvbnN0IGNoYXIg
KlhrYkJhc2VEaXJlY3RvcnkgPSAiL3Vzci9zaGFyZS9YMTEveGtiLyI7Ci0gY29uc3QgY2hhciAq
WGtiQmluRGlyZWN0b3J5ID0gWEtCX0JJTl9ESVJFQ1RPUlk7Ci0gc3RhdGljIGludCBYa2JXYW50
QWNjZXNzWCA9IDA7Ci0gCi0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9Ub29scy9ndGsvaW5z
dGFsbC1kZXBlbmRlbmNpZXMgYi9Ub29scy9ndGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMKaW5kZXgg
NmZkNTY2ZjBkY2YzYzUxNDJmNjkwZmUyYjM5M2E2ZTAzZTc5ZTNhMy4uNjNiOTY3NWZjMDkxOGNl
YTBkMGQ2ZGYxYTc5MTRlMzVjYzgxM2RkNiAxMDA3NTUKLS0tIGEvVG9vbHMvZ3RrL2luc3RhbGwt
ZGVwZW5kZW5jaWVzCisrKyBiL1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVuZGVuY2llcwpAQCAtMTc4
LDYgKzE3OCwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aEFwdCB7CiAgICAg
ICAgIHdlc3RvbiBcCiAgICAgICAgIHh2ZmIiCiAKKyAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNp
ZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAgICBwYWNr
YWdlcz0iJHBhY2thZ2VzIFwKKyAgICAgICAgZmxhdHBhayIKKwogICAgICMgVGhlc2UgYXJlIGRl
cGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAgIHBhY2th
Z2VzPSIkcGFja2FnZXMgXAogICAgICAgICBiaXNvbiBcCkBAIC0zNDgsNiArMzUyLDEwIEBAIGZ1
bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoUGFjbWFuIHsKICAgICAgICAgd2VzdG9uIFwK
ICAgICAgICAgeG9yZy1zZXJ2ZXIteHZmYiIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2ll
cyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAgIHBhY2th
Z2VzPSIkcGFja2FnZXMgXAorICAgICAgICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBhcmUgZGVw
ZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAgIyBOb3Rl
OiBDb3VsZCBub3QgZmluZCBsaWJlZ2wtbWVzYQogICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXApA
QCAtNTIyLDYgKzUzMCwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aERuZiB7
CiAgICAgICAgIHdlc3Rvbi1kZXZlbCBcCiAgICAgICAgIHhvcmcteDExLXNlcnZlci1YdmZiIgog
CisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgd2l0
aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCisgICAgICAgIGZs
YXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWls
ZGluZyB0aGUgamhidWlsZC4KICAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKICAgICAgICAgYmlz
b24gXApkaWZmIC0tZ2l0IGEvVG9vbHMvd3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzIGIvVG9vbHMv
d3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzCmluZGV4IGNhMWNkM2ZkZWYwY2FmNjQ2NjgyM2U1YThl
ZDkyYjQ0N2M0OTBhYTEuLmYyYTVmMjVkZWQ4MzdhOWU5MzUyNTU0YjZkMmYyYWUxZjM1MDYyNGQg
MTAwNzU1Ci0tLSBhL1Rvb2xzL3dwZS9pbnN0YWxsLWRlcGVuZGVuY2llcworKysgYi9Ub29scy93
cGUvaW5zdGFsbC1kZXBlbmRlbmNpZXMKQEAgLTExMSw2ICsxMTEsMTAgQEAgZnVuY3Rpb24gaW5z
dGFsbERlcGVuZGVuY2llc1dpdGhBcHQgewogICAgICAgICBydWJ5LWhpZ2hsaW5lIFwKICAgICAg
ICAgcnVieS1qc29uIgogCisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBm
b3IgYnVpbGRpbmcgd2l0aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdl
cyBcCisgICAgICAgIGZsYXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVj
ZXNzYXJ5IGZvciBidWlsZGluZyB0aGUgamhidWlsZC4KICAgICBwYWNrYWdlcz0iJHBhY2thZ2Vz
IFwKICAgICAgICAgZ2l0IFwKQEAgLTIxNCw2ICsyMTgsMTAgQEAgZnVuY3Rpb24gaW5zdGFsbERl
cGVuZGVuY2llc1dpdGhQYWNtYW4gewogICAgICAgICBydWJ5IFwKICAgICAgICAgdHRmLWxpYmVy
YXRpb24iCiAKKyAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWls
ZGluZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAg
ICAgICAgZmxhdHBhayIKKwogICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3Nhcnkg
Zm9yIGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAogICAg
ICAgICBleHBhdCBcCkBAIC0zMjYsNiArMzM0LDEwIEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRl
bmNpZXNXaXRoRG5mIHsKICAgICAgICAgcnVieWdlbS1oaWdobGluZSBcCiAgICAgICAgIHJ1Ynln
ZW0tanNvbiIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1
aWxkaW5nIHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAor
ICAgICAgICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2Fy
eSBmb3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCiAg
ICAgICAgIGV4cGF0LWRldmVsIFwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzNWNiNTYzM2EzNzU1YzE1YTVkYTVjMzUzNzJm
YmFiZjUyMWIyYjIyLi4wZjBiM2E1OTcwM2NmMzkwNWYwNDA5MTIzNjA5YWNhYmIwNzlmMzhhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDItMDQgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9y
bWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0gTWlncmF0ZSB0byBGbGF0cGFr
LWJhc2VkIGRldiBTREsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwNTY1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogaHR0cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZjogQWRqdXN0IHBhdGhzLgorCiAy
MDIwLTAzLTExICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBb
aU9TXSBVbnNraXAgZmFzdC9tZWRpYXN0cmVhbSB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZiBiL0xheW91dFRlc3RzL2h0dHAvY29uZi9m
bGF0cGFrLWh0dHBkLmNvbmYKaW5kZXggM2MwM2U0MjM5YzI0OTg5ZDljZDc5Njg2MTQ0YmM3Y2Uy
YjMwYzMxYi4uYmY1MjE1ZDU4OWFkNjFmODgyZDUzYTA2NzVhZDY3YTQ0NmFiOTQzZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZgorKysgYi9MYXlv
dXRUZXN0cy9odHRwL2NvbmYvZmxhdHBhay1odHRwZC5jb25mCkBAIC0xLDUgKzEsNSBAQAogU2Vy
dmVyVG9rZW5zIE9TCi1TZXJ2ZXJSb290ICIvYXBwLyIKK1NlcnZlclJvb3QgIi91c3IvIgogCiBQ
aWRGaWxlICIvdG1wL1dlYktpdC9odHRwZC5waWQiCiBTY29yZUJvYXJkRmlsZSAiL3RtcC9XZWJL
aXQvaHR0cGQuc2NvcmVib2FyZCIKQEAgLTMzLDkgKzMzLDcgQEAgTG9hZE1vZHVsZSBsb2dfY29u
ZmlnX21vZHVsZSAgICBtb2R1bGVzL21vZF9sb2dfY29uZmlnLnNvCiBMb2FkTW9kdWxlIHNzbF9t
b2R1bGUgICAgICAgICAgIG1vZHVsZXMvbW9kX3NzbC5zbwogTG9hZE1vZHVsZSBwaHA3X21vZHVs
ZSAgICAgICAgICBtb2R1bGVzL2xpYnBocDcuc28KIExvYWRNb2R1bGUgYXNpc19tb2R1bGUgICAg
ICAgICAgbW9kdWxlcy9tb2RfYXNpcy5zbwotTG9hZE1vZHVsZSBlbnZfbW9kdWxlICAgICAgICAg
ICBtb2R1bGVzL21vZF9lbnYuc28KIAotU2V0RW52IFBFUkw1TElCIC9hcHAvbGliL3BlcmwKIAog
U2VydmVyTmFtZSAxMjcuMC4wLjEKIApAQCAtNTQsNyArNTIsNyBAQCBBY2Nlc3NGaWxlTmFtZSAu
aHRhY2Nlc3MKIFVzZUNhbm9uaWNhbE5hbWUgT24KIEhvc3RuYW1lTG9va3VwcyBPZmYKIAotVHlw
ZXNDb25maWcgL2V0Yy9taW1lLnR5cGVzCitUeXBlc0NvbmZpZyAvdXNyL2NvbmYvbWltZS50eXBl
cwogCiBMb2dMZXZlbCB3YXJuCiBMb2dGb3JtYXQgIiVoICVsICV1ICV0IFwiJXJcIiAlPnMgJWIg
XCIle1JlZmVyZXJ9aVwiIFwiJXtVc2VyLUFnZW50fWlcIiIgY29tYmluZWQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393223</attachid>
            <date>2020-03-11 04:39:20 -0700</date>
            <delta_ts>2020-03-11 05:00:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205658-20200311113918.patch</filename>
            <type>text/plain</type>
            <size>132448</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MjU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTNkMjliOWFlMzZmYTgy
ODg2ZTQwN2YxMTY0MWQwNTliYWFlNzlkNS4uZDNlNTY4OGNiZTkxMGNmZGVlMWEwNmIxN2VkOGUy
ZDMzY2Q2Mzc5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAyLTA0ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVd
IE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0
aW9uTGliSHlwaGVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNjYW5UZXN0RGljdGlvbmFyaWVz
RGlyZWN0b3J5SWZOZWNlc3NhcnkpOiBDaGVjayBmb3IgZmxhdHBhay1pbnN0YWxsZWQgZGljdGlv
bmFyaWVzLgorCiAyMDIwLTAzLTExICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBbaU9TXSBVbnNraXAgZmFzdC9tZWRpYXN0cmVhbSB0ZXN0cwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9oeXBoZW4vSHlwaGVuYXRpb25MaWJIeXBo
ZW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9oeXBoZW4vSHlwaGVuYXRpb25M
aWJIeXBoZW4uY3BwCmluZGV4IDEyYmFhNGM0ZDNlOWU2M2Y3ZmY4MWM1ZTJiMTE5NGI4YmI4YTlj
MDUuLmYzMzU5ZDgwNzAyMmY1NDg5YzY4ZjlhY2Y4MTZhNjcwNDJhNTNkNjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0aW9uTGliSHlwaGVu
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2h5cGhlbi9IeXBoZW5hdGlv
bkxpYkh5cGhlbi5jcHAKQEAgLTEyMSw4ICsxMjEsMTUgQEAgc3RhdGljIHZvaWQgc2NhblRlc3RE
aWN0aW9uYXJpZXNEaXJlY3RvcnlJZk5lY2Vzc2FyeShIYXNoTWFwPEF0b21TdHJpbmcsIFZlY3Rv
cjwKICAgICAvLyBsaWJoeXBoZW4gZG9lc24ndCBoYXZlIHRoZSBjb25jZXB0IG9mIGluc3RhbGxl
ZCBkaWN0aW9uYXJpZXMuIEluc3RlYWQsCiAgICAgLy8gd2UgaGF2ZSB0aGlzIHNwZWNpYWwgY2Fz
ZSBmb3IgV2ViS2l0IHRlc3RzLgogI2lmIFBMQVRGT1JNKEdUSykKKyAgICAvLyBUcnkgYWx0ZXJu
YXRpdmUgZGljdGlvbmFyaWVzIHBhdGggZm9yIHBlb3BsZSB1c2luZyBGbGF0cGFrLgorICAgIEdV
bmlxdWVQdHI8Y2hhcj4gZGljdGlvbmFyaWVzUGF0aChnX2J1aWxkX2ZpbGVuYW1lKCIvdXNyIiwg
InNoYXJlIiwgIndlYmtpdGd0ay10ZXN0LWRpY3RzIiwgbnVsbHB0cikpOworICAgIGlmIChnX2dl
dGVudigiRkxBVFBBS19JRCIpICYmIGdfZmlsZV90ZXN0KGRpY3Rpb25hcmllc1BhdGguZ2V0KCks
IHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfSVNfRElSKSkpIHsKKyAgICAgICAg
c2NhbkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFp
bGFibGVMb2NhbGVzKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIENTdHJpbmcgYnVp
bGREaXJlY3RvcnkgPSB3ZWJraXRCdWlsZERpcmVjdG9yeSgpOwotICAgIEdVbmlxdWVQdHI8Y2hh
cj4gZGljdGlvbmFyaWVzUGF0aChnX2J1aWxkX2ZpbGVuYW1lKGJ1aWxkRGlyZWN0b3J5LmRhdGEo
KSwgIkRlcGVuZGVuY2llc0dUSyIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWRpY3RzIiwgbnVs
bHB0cikpOworICAgIGRpY3Rpb25hcmllc1BhdGgucmVzZXQoZ19idWlsZF9maWxlbmFtZShidWls
ZERpcmVjdG9yeS5kYXRhKCksICJEZXBlbmRlbmNpZXNHVEsiLCAiUm9vdCIsICJ3ZWJraXRndGst
dGVzdC1kaWN0cyIsIG51bGxwdHIpKTsKICAgICBpZiAoZ19maWxlX3Rlc3QoZGljdGlvbmFyaWVz
UGF0aC5nZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9JU19ESVIpKSkg
ewogICAgICAgICBzY2FuRGlyZWN0b3J5Rm9yRGljdGlvbmFyaWVzKGRpY3Rpb25hcmllc1BhdGgu
Z2V0KCksIGF2YWlsYWJsZUxvY2FsZXMpOwogICAgICAgICByZXR1cm47CkBAIC0xMzAsNyArMTM3
LDkgQEAgc3RhdGljIHZvaWQgc2NhblRlc3REaWN0aW9uYXJpZXNEaXJlY3RvcnlJZk5lY2Vzc2Fy
eShIYXNoTWFwPEF0b21TdHJpbmcsIFZlY3RvcjwKIAogICAgIC8vIFRyeSBhbHRlcm5hdGl2ZSBk
aWN0aW9uYXJpZXMgcGF0aCBmb3IgcGVvcGxlIG5vdCB1c2luZyBKSEJ1aWxkLgogICAgIGRpY3Rp
b25hcmllc1BhdGgucmVzZXQoZ19idWlsZF9maWxlbmFtZShidWlsZERpcmVjdG9yeS5kYXRhKCks
ICJ3ZWJraXRndGstdGVzdC1kaWN0cyIsIG51bGxwdHIpKTsKLSAgICBzY2FuRGlyZWN0b3J5Rm9y
RGljdGlvbmFyaWVzKGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIGF2YWlsYWJsZUxvY2FsZXMpOwor
ICAgIGlmIChnX2ZpbGVfdGVzdChkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxH
RmlsZVRlc3Q+KEdfRklMRV9URVNUX0lTX0RJUikpKQorICAgICAgICBzY2FuRGlyZWN0b3J5Rm9y
RGljdGlvbmFyaWVzKGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIGF2YWlsYWJsZUxvY2FsZXMpOwor
CiAjZWxpZiBkZWZpbmVkKFRFU1RfSFlQSEVOQVRBSU9OX1BBVEgpCiAgICAgc2NhbkRpcmVjdG9y
eUZvckRpY3Rpb25hcmllcyhURVNUX0hZUEhFTkFUQUlPTl9QQVRILCBhdmFpbGFibGVMb2NhbGVz
KTsKICNlbHNlCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggOGZkZTBlZjc0NjhmOWI1ZmNkNjhiYjM3NzdiMDAzNDhmMjliZjNmZi4uZDEzY2MxMWUz
NjkzMmU0OWUxMWRjZmQ0NjA2MDQ3N2ZhNTI1MTc5MSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNSBAQAorMjAyMC0wMi0wNCAg
UGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11b
V1BFXSBNaWdyYXRlIHRvIEZsYXRwYWstYmFzZWQgZGV2IFNESworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NjU4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSkhCdWlsZCB3aWxsIG5vdyBiZSB1c2VkIG9u
bHkgaWYgdGhlIFdFQktJVF9KSEJVSUxEIGVudmlyb25tZW50CisgICAgICAgIHZhcmlhYmxlIGlz
IHNldCB0byAxLCB3aGljaCBpcyB0aGUgY2FzZSBmb3IgdGhlIHRpbWUgYmVpbmcgb24gdGhlCisg
ICAgICAgIEdUSyBhbmQgV1BFIEVXUy9idWlsZCBib3RzLgorCisgICAgICAgIEJ5IGRlZmF1bHQg
dGhlIGJ1aWxkIGRlcGVuZGVuY2llcyBhcmUgbm93IGxvY2FsbHkgaW5zdGFsbGVkIGZyb20gYQor
ICAgICAgICBGbGF0cGFrIHJlcG9zaXRvcnkgaG9zdGVkIGF0IGh0dHBzOi8vc29mdHdhcmUuaWdh
bGlhLmNvbS4gVGhlCisgICAgICAgIHJlcG9zaXRvcnkgY2FuIGJlIHJlZ2VuZXJhdGVkIHdpdGgg
dGhlIHNjcmlwdHMgZnJvbSB0aGUKKyAgICAgICAgd2Via2l0LWZsYXRwYWstc2RrIEdpdGh1YiBw
cm9qZWN0CisgICAgICAgIChodHRwczovL2dpdGh1Yi5jb20vSWdhbGlhL3dlYmtpdC1mbGF0cGFr
LXNkaykuIFRoaXMgaXMgZG9uZQorICAgICAgICB0cmFuc3BhcmVudGx5IHdpdGggdGhlIHVwZGF0
ZS13ZWJraXR7Z3RrLHdwZX0tbGlicyBzY3JpcHRzLiBBcworICAgICAgICB0aGVyZSBpcyBubyBu
ZWVkIHRvIHJlYnVpbGQgdGhlIGRlcGVuZGVuY2llcyBmcm9tIHNjcmF0Y2gsIHRoZQorICAgICAg
ICBkZXZlbG9wZXIgdXNlci1leHBlcmllbmNlIHNob3VsZCBub3cgYmUgbXVjaCBtb3JlIGZyaWVu
ZGx5IGFuZAorICAgICAgICBvdmVyYWxsIGJ1aWxkIHRpbWVzIHJlZHVjZWQuCisKKyAgICAgICAg
QXMgYW4gYWRkaXRpb25hbCBjb21tb2RpdHksIHRoZSBuZXcgZW52aXJvbm1lbnQgc3VwcG9ydHMg
dGhlCisgICAgICAgIEdTdHJlYW1lciBnc3QtYnVpbGQtYmFzZWQgd29ya2Zsb3cuIEp1c3Qgc2V0
IHRoZSBHU1RfQlVJTERfUEFUSAorICAgICAgICBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byB5b3Vy
IGdzdC1idWlsZCBwYXRoLiBUaGlzIGZlYXR1cmUgd2FzCisgICAgICAgIGNvbnRyaWJ1dGVkIGJ5
IFRoaWJhdWx0IFNhdW5pZXIuCisKKyAgICAgICAgVGhlIEpIQnVpbGQgaW5mcmFzdHJ1Y3R1cmUg
d2lsbCBiZSByZW1vdmVkIG9uY2UgYWxsIHRoZSBib3RzIGhhdmUKKyAgICAgICAgYmVlbiBzd2l0
Y2hlZCBvdmVyIHRvIEZsYXRwYWsuCisKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9ld3Mt
YnVpbGQvc3RlcHMucHk6CisgICAgICAgIChJbnN0YWxsR3RrRGVwZW5kZW5jaWVzKToKKyAgICAg
ICAgKEluc3RhbGxXcGVEZXBlbmRlbmNpZXMpOgorICAgICAgICAoQ29tcGlsZVdlYktpdC5zdGFy
dCk6CisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L3J1bjoKKyAgICAg
ICAgKiBTY3JpcHRzL2J1aWxkLXdlYmtpdDoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1iaW5kaW5n
cy10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1idWlsdGlucy1nZW5lcmF0b3ItdGVzdHM6
CisgICAgICAgICogU2NyaXB0cy9ydW4tZ3RrLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVu
LWphdmFzY3JpcHRjb3JlLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVuLW1pbmlicm93c2Vy
OgorICAgICAgICAqIFNjcmlwdHMvcnVuLXF0LXdwZS1taW5pYnJvd3NlcjoKKyAgICAgICAgKiBT
Y3JpcHRzL3J1bi13ZWJkcml2ZXItdGVzdHM6CisgICAgICAgICogU2NyaXB0cy9ydW4td3BlLXRl
c3RzOgorICAgICAgICAqIFNjcmlwdHMvdGVzdC13ZWJraXRwZXJsOgorICAgICAgICAqIFNjcmlw
dHMvdGVzdC13ZWJraXRweToKKyAgICAgICAgKiBTY3JpcHRzL3Rlc3QyNjItcnVubmVyOgorICAg
ICAgICAqIFNjcmlwdHMvdXBkYXRlLXdlYmtpdC1mbGF0cGFrOiBSZW5hbWVkIGZyb20gVG9vbHMv
U2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsuCisgICAgICAgICogU2NyaXB0cy91cGRh
dGUtd2Via2l0Z3RrLWxpYnM6CisgICAgICAgICogU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWZs
YXRwYWs6IFJlbW92ZWQuCisgICAgICAgICogU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWxpYnM6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRkaXJzLnBtOgorICAgICAgICAoZ2V0VXNlckZsYXRw
YWtQYXRoKToKKyAgICAgICAgKGluRmxhdHBha1NhbmRib3gpOgorICAgICAgICAocnVuSW5GbGF0
cGFrSWZBdmFpbGFibGUpOgorICAgICAgICAod3JhcHBlclByZWZpeElmTmVlZGVkKToKKyAgICAg
ICAgKHNob3VsZFVzZUpoYnVpbGQpOgorICAgICAgICAoc2hvdWxkVXNlRmxhdHBhayk6CisgICAg
ICAgIChzaG91bGRSZW1vdmVDTWFrZUNhY2hlKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlLnB5OgorICAgICAgICAoRXhlY3V0aXZlLmtpbGxfYWxs
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weToKKyAgICAgICAgKFBv
cnQuX3BhdGhfdG9fYXBhY2hlKToKKyAgICAgICAgKFBvcnQuX3Nob3VsZF9ydW5fYXNfcGl4ZWxf
dGVzdCk6CisgICAgICAgIChQb3J0Ll9pbl9mbGF0cGFrX3NhbmRib3gpOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHk6CisgICAgICAgIChHdGtQb3J0LnNldHVwX2Vudmly
b25fZm9yX3NlcnZlcik6CisgICAgICAgIChHdGtQb3J0Ll9nZXRfY3Jhc2hfbG9nKToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weToKKyAgICAg
ICAgKEdEQkNyYXNoTG9nR2VuZXJhdG9yKToKKyAgICAgICAgKEdEQkNyYXNoTG9nR2VuZXJhdG9y
Ll9faW5pdF9fKToKKyAgICAgICAgKEdEQkNyYXNoTG9nR2VuZXJhdG9yLmdlbmVyYXRlX2NyYXNo
X2xvZyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9s
b2dfdW5pdHRlc3QucHk6CisgICAgICAgIChHREJDcmFzaExvZ0dlbmVyYXRvclRlc3QudGVzdF9n
ZW5lcmF0ZV9jcmFzaF9sb2cpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC93cGUu
cHk6CisgICAgICAgIChXUEVQb3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcik6CisgICAgICAg
IChXUEVQb3J0Ll9nZXRfY3Jhc2hfbG9nKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Bv
cnQveHZmYmRyaXZlci5weToKKyAgICAgICAgKFh2ZmJEcml2ZXIuX3NldHVwX2Vudmlyb25fZm9y
X3Rlc3QpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0Fj
dGl2YXRlRm9udHNHdGsuY3BwOgorICAgICAgICAoV1RSOjpnZXRGb250c1BhdGgpOgorICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUu
Y3BwOgorICAgICAgICAoV1RSOjpnZXRGb250c1BhdGgpOgorICAgICAgICAqIGZsYXRwYWsvZmls
ZXMvZGVmYXVsdC54a206IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9maWxlcy9odHRwZC1h
dXRvZ2VuLnNoOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsvZmxhdHBha3V0aWxzLnB5Ogor
ICAgICAgICAoY2hlY2tfZmxhdHBhayk6CisgICAgICAgIChGbGF0cGFrUmVwb3MudXBkYXRlKToK
KyAgICAgICAgKEZsYXRwYWtQYWNrYWdlLl9fcmVwcl9fKToKKyAgICAgICAgKEZsYXRwYWtQYWNr
YWdlLl9fc3RyX18pOgorICAgICAgICAoV2Via2l0RmxhdHBhay5sb2FkX2Zyb21fYXJncyk6Cisg
ICAgICAgIChXZWJraXRGbGF0cGFrLl9faW5pdF9fKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsu
Y2xlYW5fYXJncyk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnNldHVwX2J1aWxkZGlyKToKKyAg
ICAgICAgKFdlYmtpdEZsYXRwYWspOgorICAgICAgICAoV2Via2l0RmxhdHBhay5zZXR1cF9nc3Ri
dWlsZCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnJ1bl9pbl9zYW5kYm94KToKKyAgICAgICAg
KFdlYmtpdEZsYXRwYWsucnVuKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuaGFzX2Vudmlyb25t
ZW50KToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuc2F2ZV9jb25maWcpOgorICAgICAgICAoV2Vi
a2l0RmxhdHBhay5zZXR1cF9kZXZfZW52KToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuaW5zdGFs
bF9hbGwpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5ydW5fZ2RiKToKKyAgICAgICAgKiBmbGF0
cGFrL29yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZs
YXRwYWsvb3JnLndlYmtpdC5HVEsueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL29y
Zy53ZWJraXQuV1BFLnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9vcmcud2Via2l0
LldQRU1vZHVsZXMueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL29yZy53ZWJraXQu
V1BFUVQueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL29yZy53ZWJraXQuV2ViS2l0
LnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9wYXRjaGVzL2h0dHBkLTAwMDEtY29u
ZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1QQ1JFLWRldGVjdGlvbi5wYXRjaDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmbGF0cGFrL3BhdGNoZXMvbGliZ2NyeXB0LTAwMDEtVXNlLXBrZy1jb25maWct
dG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRjaDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL3Bh
dGNoZXMveHZmYi0wMDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEta2JtLWZpbGUucGF0Y2g6IFJl
bW92ZWQuCisKIDIwMjAtMDMtMTEgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW0dUS10gRmFpbGluZyBBUEkgdGVzdHMgdW5kZXIgdGhlIEZsYXRwYWsg
U0RLIGVudmlyb25tZW50CmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsv
UkVBRE1FIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL1JFQURNRQpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZjlmODlmOTgyMWFlZWEyMGVkYjdjZWRiY2FiZmI3N2YzODBiZDJj
My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9C
dWlsZFNsYXZlU3VwcG9ydC9ndGsvUkVBRE1FCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBA
QAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotIFJ1bm5p
bmcgYSBHVEsrIGJ1aWxkIHNsYXZlIHVuZGVyIGRhZW1vbnRvb2xzCi09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLVRoaXMgZGlyZWN0b3J5IGNvbnRhaW5z
IHNldmVyYWwgc2NyaXB0cyB3aGljaCBjYW4gYmUgdXNlZCB0byBydW4gYSBXZWJLaXRHVEsKLWJ1
aWxkIHNsYXZlIHVuZGVyIGRhZW1vbnRvb2xzIFsxXS4gVGhpcyBpcyBjb252ZW5pZW50IGJlY2F1
c2UgZGFlbW9udG9vbHMKLXdpbGwgYXV0b21hdGljYWxseSByZXN0YXJ0IHNlcnZpY2VzIHdoZW4g
dGhleSBkaWUsIGFuZCB0aGF0IG1lYW5zIGxlc3MgaHVtYW4KLWludGVydmVudGlvbiBpcyBuZWVk
ZWQuCi0KLQotRGVwZW5kZW5jaWVzCi09PT09PT09PT09PT0KLQotSW4gb3JkZXIgdG8gdXNlIHRo
ZSBwcm92aWRlZCBzZXJ2aWNlIGNvbnRyb2wgZmlsZXMsIHlvdSB3aWxsIG5lZWQgdGhlCi1mb2xs
b3dpbmc6Ci0KLSogVGhlIEdOVSBCYXNoIHNoZWxsICh0aGUgc2NyaXB0cyBjb250YWluIHNvbWUg
YmFzaC1pc21zKQotCi0qIFRoZSBkYWVtb250b29scyBwYWNrYWdlIChvciBvbmUgb2YgaXRzIGRy
b3AtaW4gcmVwbGFjZW1lbnRzLCBsaWtlIHJ1bml0Ci0gIG9yIGZyZWVkdDsgYnV0IG9ubHkgZGFl
bW9udG9vbHMgaGFzIGJlZW4gdGVzdGVkIHNvIGZhcikuCi0KLUluIHNob3J0LCBpbiBhIERlYmlh
bi1iYXNlZCBzeXN0ZW0geW91IGNhbiBlbnN1cmUgeW91IGhhdmUgdGhlIG5lZWRlZCBiaXRzCi13
aXRoIHRoZSBmb2xsb3dpbmcgY29tbWFuZDoKLQotICBhcHQtZ2V0IGluc3RhbGwgZGFlbW9udG9v
bHMtcnVuCi0KLQotU2V0dXAKLT09PT09Ci0KLTEuIEZvbGxvdyB0aGUgaW5zdHJ1Y3Rpb25zIGF0
IGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvd2lraS9CdWlsZEJvdAotCi0yLiBJbnN0YWxsIHRoZSBk
ZXBlbmRlbmNpZXMgb3V0bGluZWQgYWJvdmUuCi0KLTMuIENvcHkgImRhZW1vbnRvb2xzLWJ1aWxk
Ym90LmNvbmYiIHRvICIvZXRjL2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNvbmYiCi0KLTQuIEVkaXQg
dGhlIGNvbmZpZ3VyYXRpb24gZmlsZSB0byBzdWl0IHlvdXIgbmVlZHMsIHRoZSBjb21tZW50cyBz
aG91bGQKLSAgIGJlIHNlbGYtZXhwbGFuYXRvcnkuCi0KLTUuIERyb3AgdGhlICJidWlsZGJvdCIg
YW5kICJwdWxzZWF1ZGlvIiBkaXJlY3RvcmllcyB0byB0aGUgc2VydmljZSBjb250cm9sIGRpcmVj
dG9yeSBvZgotICAgZGFlbW9udG9vbHM7IGZvciBEZWJpYW4tYmFzZWQgc2V0dXBzIHRoYXQgd291
bGQgYmUgIi9ldGMvc2VydmljZSIKLQotCi1SZWZlcmVuY2VzCi09PT09PT09PT09Ci0KLVsxXSBo
dHRwOi8vY3IueXAudG8vZGFlbW9udG9vbHMuaHRtbAotCmRpZmYgLS1naXQgYS9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvbG9nL3J1biBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBw
b3J0L2d0ay9idWlsZGJvdC9sb2cvcnVuCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCBm
NmM3NDRjNmRkYTQ1Y2JlMmI1ZDBmYThjNGYyNWJhYjUxZjZhNGRkLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0
ay9idWlsZGJvdC9sb2cvcnVuCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotIyEgL3Vz
ci9iaW4vZW52IGJhc2gKLSMKLSMgQ29weXJpZ2h0IChDKSAyMDEwIElnYWxpYSBTLkwuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMKLSMg
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotCi06ICR7
QlVJTERCT1RfQ09ORklHOj0vZXRjL2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNvbmZ9Ci0KLSMgUmVh
ZCBjb25maWd1cmF0aW9uIGZpbGUKLVsgLXIgIiR7QlVJTERCT1RfQ09ORklHfSIgXSAmJiAuICIk
e0JVSUxEQk9UX0NPTkZJR30iCi0KLTogJHtidWlsZGJvdF91c2VyOj0ke0hPTUV9fQotOiAke2J1
aWxkYm90X2xvZ19wYXRoOj0vdmFyL2xvZy9idWlsZGJvdH0KLQotIyBFeHBhbmQgYWxsICJlbnZf
KiIgZW52aXJvbm1lbnQgdmFyaWFibGVzCi1mb3IgdmFybmFtZSBpbiAkeyFlbnZfKn0gOyBkbwot
CWV2YWwgImV4cG9ydCAke3Zhcm5hbWUjZW52X309XCR7JHt2YXJuYW1lfX0iCi1kb25lCi0KLW1r
ZGlyIC1wICIke2J1aWxkYm90X2xvZ19wYXRofSIKLWNob3duICIke2J1aWxkYm90X3VzZXJ9IiAi
JHtidWlsZGJvdF9sb2dfcGF0aH0iCi0KLWV4ZWMgL3Vzci9iaW4vc2V0dWlkZ2lkICIke2J1aWxk
Ym90X3VzZXJ9IiBcCi0gICAgIC91c3IvYmluL211bHRpbG9nIHQgIiR7YnVpbGRib3RfbG9nX3Bh
dGh9IgotCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3Qv
cnVuIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L3J1bgpkZWxldGVkIGZp
bGUgbW9kZSAxMDA3NTUKaW5kZXggMTY2YzM4M2VhOGU2YzEwZmNjMDVlZjA3ZWQ0ZjQ4ODliYmJi
OWVhYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29s
cy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvcnVuCisrKyAvZGV2L251bGwKQEAgLTEs
NzcgKzAsMCBAQAotIyEgL3Vzci9iaW4vZW52IGJhc2gKLSMKLSMgQ29weXJpZ2h0IChDKSAyMDEw
IElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
Ci0jIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCi0jIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgotCi1leGVjIDI+JjEKLQotOiAke0JVSUxEQk9UX0NPTkZJRzo9L2V0Yy9kYWVt
b250b29scy1idWlsZGJvdC5jb25mfQotCi0jIFJlYWQgY29uZmlndXJhdGlvbiBmaWxlCi1bIC1y
ICIke0JVSUxEQk9UX0NPTkZJR30iIF0gJiYgLiAiJHtCVUlMREJPVF9DT05GSUd9IgotCi0jIEV4
cGFuZCBhbGwgImVudl8qIiBlbnZpcm9ubWVudCB2YXJpYWJsZXMKLWZvciB2YXJuYW1lIGluICR7
IWVudl8qfSA7IGRvCi0JZXZhbCAiZXhwb3J0ICR7dmFybmFtZSNlbnZffT1cJHske3Zhcm5hbWV9
fSIKLWRvbmUKLQotCi1pZiAhIFsgIiR7YnVpbGRib3RfcGF0aH0iIF0gOyB0aGVuCi0JZWNobyAi
Tm8gXCR7YnVpbGRib3RfcGF0aH0gZGVmaW5lZCEgKHdpbGwgc2xlZXAgZm9yIDUgbWludXRlcyki
Ci0Jc2xlZXAgMzAwCi0JZXhpdCAxMTEKLWZpCi0KLQotaWYgISBbICIke1dFQktJVF9URVNURk9O
VFN9IiBdIDsgdGhlbgotCWVjaG8gIk5vIFwke1dFQktJVF9URVNURk9OVFN9IGVudmlyb25tZW50
IHZhcmlhYmxlISAod2lsbCBzbGVlcCBmb3IgNSBtaW51dGVzKSIKLQlzbGVlcCAzMDAKLQlleGl0
IDExMQotZmkKLQotCi1pZiBbICIke2NvcmVkdW1wX291dHB1dDo9Jyd9IiBdIDsgdGhlbgotCSMg
RW5zdXJlIHRoYXQgdGhlIG91dHB1dCBkaXJlY3RvcnkgZXhpc3RzLgotCWlmIFtbICEgLWQgJHtj
cmFzaG1vbl9vdXRwdXR9IF1dIDsgdGhlbgotCQlta2RpciAtcCAiJHtjcmFzaG1vbl9vdXRwdXR9
IgotCWZpCi0KLQl1bGltaXQgLWMgIiR7Y3Jhc2htb25fbWF4X3NpemU6PXVubGltaXRlZH0iCi1m
aQotCi0KLWlmIFsgIiR7Y2NhY2hlX3BhdGh9IiBdIDsgdGhlbgotCWV4cG9ydCBQQVRIPSIke2Nj
YWNoZV9wYXRofToke1BBVEh9IgotZmkKLQotOiAke2J1aWxkYm90X3VzZXI6PSR7VVNFUn19Ci0K
LWNkICIke2J1aWxkYm90X3BhdGh9IgotZXhlYyAvdXNyL2Jpbi9lbnYgLSAgICAgICAgICBcCi0J
CVRFUk09ZHVtYiAgICAgICAgICAgICAgICAgXAotCQlUWj1QU1Q4UERUICAgICAgICAgICAgICAg
ICBcCi0JCVBBVEg9IiR7UEFUSH0iICAgICAgICAgICAgICBcCi0JCVNIRUxMPS9iaW4vYmFzaCAg
ICAgICAgICAgICAgXAotCQlMQU5HPWVuX1VTLlVURi04ICAgICAgICAgICAgICBcCi0JCVVTRVI9
IiR7YnVpbGRib3RfdXNlcn0iICAgICAgICBcCi0JCUxPR05BTUU9IiR7YnVpbGRib3RfdXNlcn0i
ICAgICAgXAotCQlIT01FPSIvaG9tZS8ke2J1aWxkYm90X3VzZXJ9IiAgICBcCi0JCURJU1BMQVk9
IiR7eHZmYl9kaXNwbGF5Oi0nOjEwJ30iICBcCi0JCU1BSUw9Ii92YXIvbWFpbC8ke2J1aWxkYm90
X3VzZXJ9IiAgXAotCS91c3IvYmluL3NldHVpZGdpZCAiJHtidWlsZGJvdF91c2VyfSIgXAotCS91
c3IvYmluL3R3aXN0ZCAtbm95IGJ1aWxkYm90LnRhYwotCmRpZmYgLS1naXQgYS9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9ndGsvZGFlbW9udG9vbHMtYnVpbGRib3QuY29uZiBiL1Rvb2xzL0J1aWxk
U2xhdmVTdXBwb3J0L2d0ay9kYWVtb250b29scy1idWlsZGJvdC5jb25mCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwNmFmMjlmN2IwNjI2ODIxNmNlNGExZjFhYWVlOGQ0NjIwZDI0ZGZk
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL0J1
aWxkU2xhdmVTdXBwb3J0L2d0ay9kYWVtb250b29scy1idWlsZGJvdC5jb25mCisrKyAvZGV2L251
bGwKQEAgLTEsNDUgKzAsMCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlhIFMuTC4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSMgdmVyc2lvbiAyIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwot
IyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0jCi0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSMgYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KLSMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0KLQot
IyBQYXRoIHRvIHRoZSBCdWlsZGJvdCBzbGF2ZSBkaXJlY3RvcnkKLSMKLWJ1aWxkYm90X3BhdGg9
Ii9ob21lL3NsYXZlL3dlYmtpdGd0ayIKLQotIyBVc2VyIGFjY291bnQgdXNlZCB0byBydW4gQnVp
bGRib3QuCi0jCi1idWlsZGJvdF91c2VyPSJzbGF2ZSIKLQotIyBQYXRoIHRvIGEgZGlyZWN0b3J5
IHdoZXJlIHRvIGxvZyBCdWlsZGJvdCBvdXRwdXQKLSMKLWJ1aWxkYm90X2xvZ19wYXRoPSIvdmFy
L2xvZy9idWlsZGJvdCIKLQotCi0jIElmIHlvdSB3YW50IHRvIHVzZSBjY2FjaGUsIHNldCBhIHBh
dGggdG8gd2hlcmUgc3lubGlua3Mgd2l0aCB0b29sCi0jIG5hbWVzIHBvaW50aW5nIHRvIGNjYWNo
ZSBhcmUgaW5zdGFsbGVkLiBJbiBEZWJpYW4gc3lzdGVtcyB0aGlzCi0jIHdvdWxkIGJlIC91c3Iv
bGliL2NjYWNoZS4gU2V0IHRvIGVtcHR5IHRvIGRpc2FibGUuCi0jCi1jY2FjaGVfcGF0aD0iL3Vz
ci9saWIvY2NhY2hlIgotCi0KLSMgRW52aXJvbm1lbnQgdmFyaWFibGVzLiBQcmVmaXggdGhlbSB3
aXRoICJlbnZfIi4KLSMKLWVudl9DRkxBR1M9Ii1waXBlIgotZW52X0NYWEZMQUdTPSItcGlwZSIK
LWVudl9MREZMQUdTPSItbm8taW5zdGFsbCAtbm8tZmFzdC1pbnN0YWxsIgotZW52X1dFQktJVF9U
RVNURk9OVFM9Ii9ob21lLyR7YnVpbGRib3RfdXNlcn0vdGVzdGZvbnRzIgotCmRpZmYgLS1naXQg
YS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvcHVsc2VhdWRpby9ydW4gYi9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9ndGsvcHVsc2VhdWRpby9ydW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1
CmluZGV4IDdjMTE3YWQ5ZDIwNzM5OGQ4NmYwMjczOGU1OTMxODk1OTE3ZDU2NzguLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1
cHBvcnQvZ3RrL3B1bHNlYXVkaW8vcnVuCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAot
IyEgL3Vzci9iaW4vZW52IGJhc2gKLSMKLSMgQ29weXJpZ2h0IChDKSAyMDEwIElnYWxpYSBTLkwu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
LSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgot
Ci1leGVjIDI+JjEKLWV4ZWMgL3Vzci9iaW4vcHVsc2VhdWRpbyAtLXN5c3RlbSBcCi0JLS1kaXNh
bGxvdy1leGl0IC0tZGlzYWxsb3ctbW9kdWxlLWxvYWRpbmcgXAotCS0tbG9nLXRhcmdldD1zeXNs
b2cKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgYi9Ub29scy9TY3Jp
cHRzL2J1aWxkLXdlYmtpdAppbmRleCBmYzA2NjRhNjUwNTU0NmY0MjhjNzUxNGI5Njc1MTE5Yjc1
YTYyMTQwLi4wOTlkMzNhNGI5YjljZGY0MzJjZDEwMjZlYTZhYWUwY2I5MjU3YTc3IDEwMDc1NQot
LS0gYS9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAorKysgYi9Ub29scy9TY3JpcHRzL2J1aWxk
LXdlYmtpdApAQCAtNTMsOCArNTMsOCBAQCBzZXRDb25maWd1cmF0aW9uKCk7CiAKIGlmIChzaG91
bGRVc2VGbGF0cGFrKCkpIHsKICAgICBwcmludCAiQnVpbGRpbmcgZmxhdHBhayBiYXNlZCBlbnZp
cm9ubWVudFxuIjsKLQotICAgIHJ1bkluRmxhdHBhaygiL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0
cy9idWlsZC13ZWJraXQiKTsKKyAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxl
KHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJidWlsZC13ZWJraXQiKSk7CisgICAg
cnVuSW5GbGF0cGFrKEBjb21tYW5kKTsKIH0KIAogbXkgJG9yaWdpbmFsV29ya2luZ0RpcmVjdG9y
eSA9IGdldGN3ZCgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVz
dHMgYi9Ub29scy9TY3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0cwppbmRleCBmNmU0NDc3MjUwZjll
MTllMzk1OGVmY2I3ZDZlODFlMmFjMjhjOWFiLi4wYWMwYjNhMzEwODhhMTIyZTA5OThlYTQ5NTY1
YmYyMzg3NzM4YTUwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0
cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0cwpAQCAtMzMsNiArMzMsMTEg
QEAgaW1wb3J0IG9zCiBpbXBvcnQgc3lzCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1w
b3J0IGV4ZWN1dGl2ZQogCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChv
cy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgJy4uJywgJy4uJykpCitzeXMu
cGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICdUb29scycs
ICdmbGF0cGFrJykpCitpbXBvcnQgZmxhdHBha3V0aWxzCitmbGF0cGFrdXRpbHMucnVuX2luX3Nh
bmRib3hfaWZfYXZhaWxhYmxlKHN5cy5hcmd2KQorCiBkZWYgbWFpbihhcmd2KToKICAgICAiIiJS
dW5zIFdlYkNvcmUgYmluZGluZ3MgY29kZSBnZW5lcmF0b3JzIG9uIHRlc3QgSURMIGZpbGVzIGFu
ZCBjb21wYXJlcwogICAgIHRoZSByZXN1bHRzIHdpdGggcmVmZXJlbmNlIGZpbGVzLgpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tYnVpbHRpbnMtZ2VuZXJhdG9yLXRlc3RzIGIvVG9vbHMv
U2NyaXB0cy9ydW4tYnVpbHRpbnMtZ2VuZXJhdG9yLXRlc3RzCmluZGV4IDIzOThjNzhjYTEwZWM1
OTc2MjY2MTJjODU1NTNhYmQxYTRlNmZiZDQuLmZiYjA4NjQyNDE5NzRlYTYwMzVkYTg4YjM2Nzli
YzQzYzAyYzdlOWQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVy
YXRvci10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1idWlsdGlucy1nZW5lcmF0b3ItdGVz
dHMKQEAgLTI1LDYgKzI1LDEyIEBACiBpbXBvcnQgc3lzCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5z
eXN0ZW0gaW1wb3J0IGV4ZWN1dGl2ZQogCitpbXBvcnQgb3MKK3RvcF9sZXZlbF9kaXJlY3Rvcnkg
PSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18p
LCAnLi4nLCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVs
X2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBmbGF0cGFrdXRpbHMKK2Zs
YXRwYWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lzLmFyZ3YpCisKIGRlZiBt
YWluKGFyZ3YpOgogICAgICIiIlJ1bnMgdGhlIEpTIGJ1aWx0aW5zIGNvZGUgZ2VuZXJhdG9yIG9u
IHRlc3QgaW5wdXQgZmlsZXMgYW5kIGNvbXBhcmVzCiAgICAgdGhlIHJlc3VsdHMgd2l0aCByZWZl
cmVuY2UgZmlsZXMuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMgYi9U
b29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMKaW5kZXggNDFiMDVlMmRmNGIxZTZkOGZlMzhlYTNj
NTQ5YjUzMzU4NGE0Mjk3ZS4uZDM5NzQ4ZjRjM2Q4ZmRmY2VmZjFhMjI5OWFkYTQyYzg3ZTY1YWFl
NSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzCisrKyBiL1Rvb2xzL1Nj
cmlwdHMvcnVuLWd0ay10ZXN0cwpAQCAtMTMzLDcgKzEzMyw3IEBAIGlmIF9fbmFtZV9fID09ICJf
X21haW5fXyI6CiAgICAgaWYgbm90IGZsYXRwYWt1dGlscy5pc19zYW5kYm94ZWQoKSBhbmQgbm90
IGpoYnVpbGR1dGlscy5lbnRlcl9qaGJ1aWxkX2Vudmlyb25tZW50X2lmX2F2YWlsYWJsZSgiZ3Rr
Iik6CiAgICAgICAgIHByaW50ICcqKionCiAgICAgICAgIHByaW50ICcqKiogV2FybmluZzogamhi
dWlsZCBlbnZpcm9ubWVudCBub3QgcHJlc2VudCBhbmQgbm90IHJ1bm5pbmcgaW4gZmxhdHBhay4n
Ci0gICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13ZWJraXRndGstbGlicyBvciB1cGRhdGUt
d2Via2l0Z3RrLWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRl
c3RpbmcuLicKKyAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9y
IHVwZGF0ZS13ZWJraXQtZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9w
ZXIgdGVzdGluZy4uJwogICAgICAgICBwcmludCAnKioqJwogCiAgICAgb3B0aW9uX3BhcnNlciA9
IG9wdHBhcnNlLk9wdGlvblBhcnNlcih1c2FnZT0ndXNhZ2U6ICVwcm9nIFtvcHRpb25zXSBbdGVz
dC4uLl0nKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVz
dHMgYi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwppbmRleCA1MzExODVl
MDk2NjAwZGE0ODQyYmY5MTFiOTQ3YmQxNGY3NzM2NDBhLi45YjY3M2FjYjE3MTYxNDEzYjMxYWY3
NWFhNTU3ZmQ3MjZkM2VhZjJlIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2Ny
aXB0Y29yZS10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0
cwpAQCAtNDYsNiArNDYsMTIgQEAgdXNlIFRleHQ6OlBhcnNlV29yZHM7CiBzZXRDb25maWd1cmF0
aW9uKCk7CiBteSAkY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24oKTsKIAoraWYgKHNob3Vs
ZFVzZUZsYXRwYWsoKSkgeworICAgIG15IEBjb21tYW5kID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUo
c291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgInJ1bi1qYXZhc2NyaXB0Y29yZS10ZXN0
cyIpKTsKKyAgICBydW5JbkZsYXRwYWsoQGNvbW1hbmQpOworfQorCisKICMgVGhlc2UgdmFyaWFi
bGVzIGFyZSBpbnRlbnRpb25hbGx5IGxlZnQgdW5kZWZpbmVkLgogbXkgJHJvb3Q7CiBteSAkc2hv
d0hlbHA7CkBAIC01MzksNyArNTQ1LDcgQEAgc3ViIHJ1blRlc3QgewogICAgIGNoZGlyKCRwcm9k
dWN0RGlyKSBvciBkaWUgIkZhaWxlZCB0byBzd2l0Y2ggZGlyZWN0b3J5IHRvICckcHJvZHVjdERp
cidcbiI7CiAgICAgbXkgQGNvbW1hbmQgPSAodGVzdFBhdGgoJHByb2R1Y3REaXIsICR0ZXN0TmFt
ZSkpOwogICAgIHVuc2hpZnQgQGNvbW1hbmQsICgieGNydW4iLCAiLXNkayIsIHhjb2RlU0RLKCks
ICJzaW0iKSBpZiB3aWxsVXNlSU9TU2ltdWxhdG9yU0RLKCk7Ci0gICAgdW5zaGlmdCBAY29tbWFu
ZCwgd3JhcHBlclByZWZpeElmTmVlZGVkKCkgaWYgc2hvdWxkVXNlSmhidWlsZCgpOworICAgIHVu
c2hpZnQgQGNvbW1hbmQsIHdyYXBwZXJQcmVmaXhJZk5lZWRlZCgpIGlmIGlzR3RrKCkgb3IgaXNX
UEUoKTsKIAogICAgIGlmICgkZW52VmFycyBuZSAiIikgewogICAgICAgICBmb3JlYWNoIG15ICR2
YXIgKHNwbGl0KC9ccysvLCAkZW52VmFycykpIHsKQEAgLTc4Miw3ICs3ODgsNyBAQCBzdWIgcnVu
SlNDU3RyZXNzVGVzdHMKICAgICAgICAgcHVzaChAanNjU3RyZXNzRHJpdmVyQ21kLCAiLS1uby1j
b3B5Iik7CiAgICAgfQogCi0gICAgdW5zaGlmdCBAanNjU3RyZXNzRHJpdmVyQ21kLCB3cmFwcGVy
UHJlZml4SWZOZWVkZWQoKSBpZiBzaG91bGRVc2VKaGJ1aWxkKCk7CisgICAgdW5zaGlmdCBAanNj
U3RyZXNzRHJpdmVyQ21kLCB3cmFwcGVyUHJlZml4SWZOZWVkZWQoKSBpZiBpc0d0aygpIG9yIGlz
V1BFKCk7CiAKICAgICAjIEVuZCBvcHRpb24gcHJvY2Vzc2luZywgdGhlIHJlc3Qgb2YgdGhlIGFy
Z3VtZW50cyBhcmUgdGVzdHMKICAgICBwdXNoKEBqc2NTdHJlc3NEcml2ZXJDbWQsICItLSIpOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXIgYi9Ub29scy9TY3JpcHRz
L3J1bi1taW5pYnJvd3NlcgppbmRleCA0Y2Y2YmU0MDQ3YmZkNzZkNjgxMDlhYjI5YWE2OGE5MGRj
MDg2NmUxLi45MGNkM2ZhZjQzMWFlYjkyOGRmZDZkZGZkNmVkNmQyM2QyZjIxY2NjIDEwMDc1NQot
LS0gYS9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlcgorKysgYi9Ub29scy9TY3JpcHRzL3J1
bi1taW5pYnJvd3NlcgpAQCAtNDUsNyArNDUsOCBAQCBwcm9oaWJpdFVua25vd25Qb3J0KCk7CiBz
ZXRDb25maWd1cmF0aW9uKCk7CiAKIGlmIChpc0d0aygpIHx8IGlzV1BFKCkpIHsKLSAgICBydW5J
bkZsYXRwYWtJZkF2YWlsYWJsZSgiL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9ydW4tbWluaWJy
b3dzZXIiKTsKKyAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURp
cigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tbWluaWJyb3dzZXIiKSk7CisgICAgcnVuSW5G
bGF0cGFrSWZBdmFpbGFibGUoQGNvbW1hbmQpOwogCiAgICAgIyBDaGVjayB0byBzZWUgdGhhdCBh
bGwgdGhlIGZyYW1ld29ya3MgYXJlIGJ1aWx0LgogICAgIGNoZWNrRnJhbWV3b3JrcygpOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tcGVyZi10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVu
LXBlcmYtdGVzdHMKaW5kZXggMWJmOGVjODYyNzAyNWVhOGRiYTg1Zjc2NzRiZDg0NTlhZTkxM2Rm
NS4uYzBkODc4M2U2YzE2OTk4NmJhY2JjMzdjMmUxODQzODc3YmFhNzFkMiAxMDA3NTUKLS0tIGEv
VG9vbHMvU2NyaXB0cy9ydW4tcGVyZi10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1wZXJm
LXRlc3RzCkBAIC0zMCw4ICszMCwxNCBAQAogIiIiUnVuIHBlcmZvcm1hbmNlIHRlc3RzLiIiIgog
CiBpbXBvcnQgbG9nZ2luZworaW1wb3J0IG9zCiBpbXBvcnQgc3lzCiAKK3RvcF9sZXZlbF9kaXJl
Y3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19m
aWxlX18pLCAnLi4nLCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9w
X2xldmVsX2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBmbGF0cGFrdXRp
bHMKK2ZsYXRwYWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lzLmFyZ3YpCisK
IGZyb20gd2Via2l0cHkucGVyZm9ybWFuY2VfdGVzdHMucGVyZnRlc3RzcnVubmVyIGltcG9ydCBQ
ZXJmVGVzdHNSdW5uZXIKIAogaWYgJ19fbWFpbl9fJyA9PSBfX25hbWVfXzoKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvcnVuLXF0LXdwZS1taW5pYnJvd3NlciBiL1Rvb2xzL1NjcmlwdHMvcnVu
LXF0LXdwZS1taW5pYnJvd3NlcgppbmRleCA1MmEzOGUxNTI2Mzg1M2FjYjhjMTU0ODQ3MDhiNTQ3
MzkwMThjZTUxLi44YzhlZjcwNTZhMzRhZTk4ZTcyNzExZGE3ZmVmN2I1MTJhMjFmY2M4IDEwMDc1
NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXIKKysrIGIvVG9vbHMv
U2NyaXB0cy9ydW4tcXQtd3BlLW1pbmlicm93c2VyCkBAIC0zOCw5ICszOCwxMyBAQCBteSBAamhi
dWlsZFdyYXBwZXI7CiBteSAkY29uZmlndXJhdGlvbiA9IHBhc3NlZENvbmZpZ3VyYXRpb24oKTsK
IG15ICRwcm9kdWN0RGlyID0gcHJvZHVjdERpcigpOwogCi0kbGliUGF0aCA9ICIvYXBwL3dlYmtp
dC9XZWJLaXRCdWlsZC8kY29uZmlndXJhdGlvbi9saWIvcXQ1L3FtbCIgaWYgJGNvbmZpZ3VyYXRp
b247Ci0kRU5WeyJRTUwyX0lNUE9SVF9QQVRIIn0gPSAiJGxpYlBhdGgiIGlmICRsaWJQYXRoOwot
cnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoIi9hcHAvd2Via2l0L1Rvb2xzL1NjcmlwdHMvcnVuLXF0
LXdwZS1taW5pYnJvd3NlciIpOworaWYgKCRjb25maWd1cmF0aW9uKSB7CisgICAgJGxpYlBhdGgg
PSBGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiV2ViS2l0QnVpbGQiLCAiJGNvbmZp
Z3VyYXRpb24iLCAibGliIiwgInF0NSIsICJxbWwiKTsKKyAgICAkRU5WeyJRTUwyX0lNUE9SVF9Q
QVRIIn0gPSAiJGxpYlBhdGgiOworfQorCitteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRm
aWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tcXQtd3BlLW1pbmlicm93
c2VyIikpOworcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQGNvbW1hbmQpOwogCiAjIENoZWNrIHRv
IHNlZSB0aGF0IGFsbCB0aGUgZnJhbWV3b3JrcyBhcmUgYnVpbHQuCiBjaGVja0ZyYW1ld29ya3Mo
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0cyBiL1Rvb2xz
L1NjcmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0cwppbmRleCBhY2MzNWY3MjQ4M2YyODMyZjA5Yzhl
ZmIxODk1ZDE4MWQ0ZDY3OTI5Li5jMzAwNGQ0NTMyM2M1MTQyNjY1ZDM3MDMzN2U4ZTU5MDQyM2E5
ZDQwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi13ZWJkcml2ZXItdGVzdHMKKysrIGIv
VG9vbHMvU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzCkBAIC03OCw3ICs3OCw3IEBAIGlmIHBv
cnQubmFtZSgpIGluIFsnZ3RrJywgJ3dwZSddOgogICAgICAgICBpZiBub3QgamhidWlsZHV0aWxz
LmVudGVyX2poYnVpbGRfZW52aXJvbm1lbnRfaWZfYXZhaWxhYmxlKHBvcnQubmFtZSgpKToKICAg
ICAgICAgICAgIHByaW50ICcqKionCiAgICAgICAgICAgICBwcmludCAnKioqIFdhcm5pbmc6IGpo
YnVpbGQgZW52aXJvbm1lbnQgbm90IHByZXNlbnQgYW5kIG5vdCBydW5uaW5nIGluIGZsYXRwYWsu
JwotICAgICAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVw
ZGF0ZS13ZWJraXRndGstZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9w
ZXIgdGVzdGluZy4uJworICAgICAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdlYmtpdGd0
ay1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Via2l0IHRvIGVu
c3VyZSBwcm9wZXIgdGVzdGluZy4uJwogICAgICAgICAgICAgcHJpbnQgJyoqKicKIAogcG9ydC5f
ZGlzcGxheV9zZXJ2ZXIgPSBvcHRpb25zLmRpc3BsYXlfc2VydmVyCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3J1bi13cGUtdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi13cGUtdGVzdHMKaW5k
ZXggOGY3NzQ5ZWI2YWQ2ZDFmMTk5MTNhMTc2OTlkY2I3Njc3ZjQ4NjJkMS4uZjM0YzE5NzA2NDc3
NjIyNjI0NTJlNmFlODNmYTI4NWYyOGU1ZDE4MCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9y
dW4td3BlLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXdwZS10ZXN0cwpAQCAtNTEsNyAr
NTEsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIGlmIG5vdCBmbGF0cGFrdXRp
bHMuaXNfc2FuZGJveGVkKCkgYW5kIG5vdCBqaGJ1aWxkdXRpbHMuZW50ZXJfamhidWlsZF9lbnZp
cm9ubWVudF9pZl9hdmFpbGFibGUoIndwZSIpOgogICAgICAgICBwcmludCAnKioqJwogICAgICAg
ICBwcmludCAnKioqIFdhcm5pbmc6IGpoYnVpbGQgZW52aXJvbm1lbnQgbm90IHByZXNlbnQgYW5k
IG5vdCBydW5uaW5nIGluIGZsYXRwYWsuJwotICAgICAgICBwcmludCAnKioqIFJ1biB1cGRhdGUt
d2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIGJlZm9yZSBidWlsZC13
ZWJraXQgdG8gZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCisgICAgICAgIHByaW50ICcqKiogUnVu
IHVwZGF0ZS13ZWJraXR3cGUtbGlicyBvciB1cGRhdGUtd2Via2l0LWZsYXRwYWsgYmVmb3JlIGJ1
aWxkLXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3RpbmcuLicKICAgICAgICAgcHJpbnQgJyoq
KicKIAogICAgIG9wdGlvbl9wYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIodXNhZ2U9J3Vz
YWdlOiAlcHJvZyBbb3B0aW9uc10gW3Rlc3QuLi5dJykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvdGVzdC13ZWJraXRwZXJsIGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHBlcmwKaW5kZXgg
NjQ5NTY5NjBmZmM2N2FlN2RmOTMzNjQxMzZkOTFhNWQ4OGVhOTk0My4uZGM4MWMxN2MzYmFjNTlh
ODgxYTczZWQxNWIzYTc0NjBjYTdiOWY5OCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy90ZXN0
LXdlYmtpdHBlcmwKKysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHBlcmwKQEAgLTMyLDYg
KzMyLDEzIEBACiAKIHVzZSBzdHJpY3Q7CiB1c2Ugd2FybmluZ3M7Cit1c2UgRmlsZTo6QmFzZW5h
bWU7Cit1c2UgRmlsZTo6RmluZDsKK3VzZSBGaWxlOjpTcGVjOwordXNlIEZpbmRCaW47Cit1c2Ug
R2V0b3B0OjpMb25nIHF3KDpjb25maWcgcGFzc190aHJvdWdoIG5vX2F1dG9fYWJicmV2KTsKK3Vz
ZSBsaWIgJEZpbmRCaW46OkJpbjsKK3VzZSB3ZWJraXRkaXJzOwogCiB1c2UgRmlsZTo6U3BlYzsK
IHVzZSBGaW5kQmluOwpAQCAtMzksNiArNDYsMTEgQEAgdXNlIFRlc3Q6Okhhcm5lc3M7CiB1c2Ug
bGliICRGaW5kQmluOjpCaW47ICMgc28gdGhpcyBzY3JpcHQgY2FuIGJlIHJ1biBmcm9tIGFueSBk
aXJlY3RvcnkuCiB1c2UgVkNTVXRpbHM7CiAKK2lmIChzaG91bGRVc2VGbGF0cGFrKCkpIHsKKyAg
ICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMi
LCAiU2NyaXB0cyIsICJ0ZXN0LXdlYmtpdHBlcmwiKSk7CisgICAgcnVuSW5GbGF0cGFrKEBjb21t
YW5kKTsKK30KKwogIyBDaGFuZ2UgdGhlIHdvcmtpbmcgZGlyZWN0b3J5IHNvIHRoYXQgd2UgY2Fu
IHBhc3Mgc2hvcnRlciwgcmVsYXRpdmUKICMgcGF0aHMgdG8gcnVudGVzdHMoKSwgcmF0aGVyIHRo
YW4gbG9uZ2VyLCBhYnNvbHV0ZSBwYXRocy4KICMKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
dGVzdC13ZWJraXRweSBiL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweQppbmRleCBlZTY4MmNj
Y2YwYWNhM2YyMGRjNjE1ZmU4YjYzMjNjY2M1N2NiZWE0Li40MjM4OGU5Zjg2MTc4NWVmN2UzOGZi
MWY0NTQ5MDA1MDUyZjAwYWVjIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5CkBAIC0yOSw0ICsyOSwxMCBAQAog
IyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgogZnJvbSB3ZWJraXRweS5jb21tb24gaW1wb3J0IG11bHRpcHJvY2Vzc2lu
Z19ib290c3RyYXAKIAoraW1wb3J0IG9zLCBzeXMKK3RvcF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5w
YXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAnLi4n
LCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVj
dG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBmbGF0cGFrdXRpbHMKK2ZsYXRwYWt1
dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lzLmFyZ3YpCisKIG11bHRpcHJvY2Vz
c2luZ19ib290c3RyYXAucnVuKCd3ZWJraXRweScsICd0ZXN0JywgJ21haW4ucHknKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lciBiL1Rvb2xzL1NjcmlwdHMvdGVzdDI2
Mi1ydW5uZXIKaW5kZXggYTEzMWJjZjYzM2UzMGQ5NzY1ZmI1NjI0MjUwNzMxMTdhOThmMjIzOC4u
YWY3YWQ1ZTQ4ZWYyNTA4Y2Y0ZTIxZDU4ZDU1MGNmMDMyZWY1ZmEyYiAxMDA3NTUKLS0tIGEvVG9v
bHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lcgorKysgYi9Ub29scy9TY3JpcHRzL3Rlc3QyNjItcnVu
bmVyCkBAIC0zNCw2ICszNCwyNiBAQCB1c2UgNS44Ljg7CiB1c2UgRmluZEJpbjsKIHVzZSBDb25m
aWc7CiAKK0JFR0lOIHsKKyAgICB1c2UgbGliICRGaW5kQmluOjpCaW47CisgICAgdXNlIEZpbGU6
OlNwZWM6OkZ1bmN0aW9ucyBxdyhjYXRmaWxlKTsKKworICAgIGlmICghZ3JlcCgvXi0tbm8tZmxh
dHBhay1jaGVjayQvLCBAQVJHVikpIHsKKyAgICAgICAgaWYgKGV2YWwge3JlcXVpcmUgd2Via2l0
ZGlyczsgMTt9KSB7CisgICAgICAgICAgICB3ZWJraXRkaXJzLT5pbXBvcnQocXcoc2hvdWxkVXNl
RmxhdHBhayBydW5JbkZsYXRwYWsgc291cmNlRGlyKSk7CisgICAgICAgICAgICBpZiAoc2hvdWxk
VXNlRmxhdHBhaygpKSB7CisgICAgICAgICAgICAgICAgcHJpbnQgIlJ1bm5pbmcgaW4gZmxhdHBh
ayBiYXNlZCBlbnZpcm9ubWVudFxuIjsKKyAgICAgICAgICAgICAgICBteSBAY29tbWFuZCA9IChG
aWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJ0ZXN0
MjYyLXJ1bm5lciIpKTsKKyAgICAgICAgICAgICAgICAjIFByZXZlbnQgZXhlYydkIHRlc3QyNjIt
cnVubmVyIHByb2Nlc3MgZnJvbSBpbXBvcnRpbmcKKyAgICAgICAgICAgICAgICAjIHdlYmtpdGRp
cnMgc28gdGhhdCBpdCBjYW4gc3VjY2VlZCBsYXRlciBvbiBpbiB0aGUgUnVubmVyCisgICAgICAg
ICAgICAgICAgIyBtb2R1bGUuLi4gUGVybC4gwq9cXyjjg4QpXy/CrworICAgICAgICAgICAgICAg
IHB1c2goQEFSR1YsICItLW5vLWZsYXRwYWstY2hlY2siKTsKKyAgICAgICAgICAgICAgICBydW5J
bkZsYXRwYWsoQGNvbW1hbmQpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQor
CiBCRUdJTiB7CiAgICAgJEVOVntEQklDX09WRVJXUklURV9IRUxQRVJfTUVUSE9EU19PS30gPSAx
OwogICAgICRFTlZ7VDI2Ml9FWEVDX0JJTn0gPSAiJEZpbmRCaW46OkJpbi90ZXN0MjYyIjsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdC1mbGF0cGFrIGIvVG9vbHMvU2Ny
aXB0cy91cGRhdGUtd2Via2l0LWZsYXRwYWsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTg2YjgxYTIwMzNmNGJiN2Jl
MmQyOWJkZTVjMTJjZjQ5NTMzMGQ1NQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMv
dXBkYXRlLXdlYmtpdC1mbGF0cGFrCkBAIC0wLDAgKzEsMjggQEAKKyMhL3Vzci9iaW4vZW52IHB5
dGhvbgorIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KKyMgQ29weXJpZ2h0IChjKSAy
MDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgorIworIyBUaGlzIHBy
b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisj
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMKKyMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCisjIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMg
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFs
IFB1YmxpYworIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRl
IHRvIHRoZQorIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
LCBGaWZ0aCBGbG9vciwKKyMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisjIHB5bGludDog
ZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5hbWUKK2ltcG9ydCBvcworaW1wb3J0
IHN5cworCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpv
aW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCitzeXMucGF0aC5pbnNl
cnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICJUb29scyIsICJmbGF0cGFr
IikpCitmcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0RmxhdHBhaworCitpZiBfX25hbWVf
XyA9PSAiX19tYWluX18iOgorICAgIFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2FyZ3MoWyItLXVw
ZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91
cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGst
ZmxhdHBhawpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDk1NmYxZjJlMTQ4NWQyNDg2
MmVmN2Y2ZDc0YTJmM2Y5OGNmOTJmOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstZmxhdHBhaworKysg
L2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbgotIyBDb3B5
cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KLSMgQ29weXJpZ2h0IChjKSAyMDE4LCBUaGliYXVs
dCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotIwotIyBUaGlzIHByb2dyYW0gaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0j
IHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGVzc2VyIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBM
aWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZQotIyBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9v
ciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0jIHB5bGludDogZGlzYWJsZT1taXNz
aW5nLWRvY3N0cmluZyxpbnZhbGlkLW5hbWUKLWltcG9ydCBvcwotaW1wb3J0IHN5cwotCi10b3Bf
bGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5k
aXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCi1zeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0
aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICJUb29scyIsICJmbGF0cGFrIikpCi1mcm9tIGZs
YXRwYWt1dGlscyBpbXBvcnQgV2Via2l0RmxhdHBhawotCi1pZiBfX25hbWVfXyA9PSAiX19tYWlu
X18iOgotICAgIFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2FyZ3MoWyItLWd0ayIsICItLXVwZGF0
ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRh
dGUtd2Via2l0Z3RrLWxpYnMgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstbGlicwpp
bmRleCAyZTFjMDJmZmQ3MDU2MDA4MGUzNmJjNzRiNDY1OGZmZWY1ZGVjZDhlLi4yZThhODc4NTE5
NmRiOGM3YmZjYzQ5MDQ5NWFkOWM1ZDcwMGZmZjUxIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRz
L3VwZGF0ZS13ZWJraXRndGstbGlicworKysgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRn
dGstbGlicwpAQCAtMjIsNCArMjIsOCBAQCB1c2UgbGliICRGaW5kQmluOjpCaW47CiB1c2Ugd2Vi
a2l0ZGlyczsKIAogbXkgJHNjcmlwdHNEaXIgPSByZWxhdGl2ZVNjcmlwdHNEaXIoKTsKLXN5c3Rl
bSgicGVybCIsICIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCIsICItLWd0
ayIsIEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK2lmIChkZWZpbmVkICRFTlZ7J1dFQktJVF9KSEJV
SUxEJ30gYW5kICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30pIHsKKyAgICBzeXN0ZW0oInBlcmwiLCAi
JHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1saWJzLWpoYnVpbGQiLCAiLS1ndGsiLCBAQVJHVikg
PT0gMCBvciBkaWUgJCE7Cit9IGVsc2UgeworICAgIHN5c3RlbSgiJHNjcmlwdHNEaXIvdXBkYXRl
LXdlYmtpdC1mbGF0cGFrIiwgQEFSR1YpID09IDAgb3IgZGllICQhOworfQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWZsYXRwYWsgYi9Ub29scy9TY3JpcHRzL3Vw
ZGF0ZS13ZWJraXR3cGUtZmxhdHBhawpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggNTY0
ZTg3NjUyMTExOGUyZmMwZmQ2OGI4Yzg2NmFhOTAwMWNiODEyMi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3
cGUtZmxhdHBhaworKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLSMhL3Vzci9iaW4vZW52
IHB5dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KLSMgQ29weXJpZ2h0IChj
KSAyMDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotIwotIyBUaGlz
IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
Ci0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQ
dWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKLSMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMK
LSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5l
cmFsIFB1YmxpYwotIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdy
aXRlIHRvIHRoZQotIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0jIHB5bGlu
dDogZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5hbWUKLWltcG9ydCBvcwotaW1w
b3J0IHN5cwotCi10b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRo
LmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCi1zeXMucGF0aC5p
bnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICJUb29scyIsICJmbGF0
cGFrIikpCi1mcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0RmxhdHBhawotCi1pZiBfX25h
bWVfXyA9PSAiX19tYWluX18iOgotICAgIFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2FyZ3MoWyIt
LXdwZSIsICItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWxpYnMgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13
ZWJraXR3cGUtbGlicwppbmRleCA2YjRiNDZmMmI3ZWI4YTllNjgwNzc1N2JjYTJiOWU2ODQ3MDdh
MDIzLi5jZGM0YzdkYjhjNjVlYTczMjNkNjkyNjgxOThhMmY2OGJkNTEzMDE0IDEwMDc1NQotLS0g
YS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGlicworKysgYi9Ub29scy9TY3JpcHRz
L3VwZGF0ZS13ZWJraXR3cGUtbGlicwpAQCAtMjIsNCArMjIsOCBAQCB1c2UgbGliICRGaW5kQmlu
OjpCaW47CiB1c2Ugd2Via2l0ZGlyczsKIAogbXkgJHNjcmlwdHNEaXIgPSByZWxhdGl2ZVNjcmlw
dHNEaXIoKTsKLXN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWxpYnMt
amhidWlsZCIsICItLXdwZSIsIEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK2lmIChkZWZpbmVkICRF
TlZ7J1dFQktJVF9KSEJVSUxEJ30gYW5kICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30pIHsKKyAgICBz
eXN0ZW0oInBlcmwiLCAiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1saWJzLWpoYnVpbGQiLCAi
LS13cGUiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7Cit9IGVsc2UgeworICAgIHN5c3RlbSgiJHNj
cmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1mbGF0cGFrIiwgQEFSR1YpID09IDAgb3IgZGllICQhOwor
fQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRkaXJzLnBtCmluZGV4IDQ3OWJiNDMxZDZiZGJlN2Q1Y2NmZTEzZGNkNjJhZGNjNTBh
Y2ZmYjYuLmE3MTRiMGVjYzRkMzM5NTg0NzA3MTFhYjE1OTVkYjg3YWQwNmJkNDAgMTAwNzU1Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dGRpcnMucG0KQEAgLTkxLDcgKzkxLDEwIEBAIEJFR0lOIHsKICAgICAgICAmc2V0dXBVbml4V2Vi
S2l0RW52aXJvbm1lbnQKICAgICAgICAmc2hhcmVkQ29tbWFuZExpbmVPcHRpb25zCiAgICAgICAg
JnNoYXJlZENvbW1hbmRMaW5lT3B0aW9uc1VzYWdlCisgICAgICAgJnNob3VsZFVzZUZsYXRwYWsK
KyAgICAgICAmcnVuSW5GbGF0cGFrCiAgICAgICAgJnNodXREb3duSU9TU2ltdWxhdG9yRGV2aWNl
CisgICAgICAgJnNvdXJjZURpcgogICAgICAgICZ3aWxsVXNlSU9TRGV2aWNlU0RLCiAgICAgICAg
JndpbGxVc2VJT1NTaW11bGF0b3JTREsKICAgICAgICBET19OT1RfVVNFX09QRU5fQ09NTUFORApA
QCAtMjA0OCwyMCArMjA1MSwxMSBAQCBzdWIgZ2V0SmhidWlsZFBhdGgoKQogICAgIHJldHVybiBG
aWxlOjpTcGVjLT5jYXRkaXIoQGpoYnVpbGRQYXRoKTsKIH0KIAotc3ViIGdldEZsYXRwYWtQYXRo
KCkKK3N1YiBnZXRVc2VyRmxhdHBha1BhdGgoKQogewotICAgIG15IEBmbGF0cGFrQnVpbGRQYXRo
ID0gRmlsZTo6U3BlYy0+c3BsaXRkaXIoYmFzZVByb2R1Y3REaXIoKSk7Ci0gICAgaWYgKGlzR3Rr
KCkpIHsKLSAgICAgICAgcHVzaChAZmxhdHBha0J1aWxkUGF0aCwgIkdUSyIpOwotICAgIH0gZWxz
aWYgKGlzV1BFKCkpIHsKLSAgICAgICAgcHVzaChAZmxhdHBha0J1aWxkUGF0aCwgIldQRSIpOwot
ICAgIH0gZWxzZSB7Ci0gICAgICAgIGRpZSAiQ2Fubm90IGdldCBGbGF0cGFrIHBhdGggZm9yIHBs
YXRmb3JtIHRoYXQgaXNuJ3QgR1RLKyBvciBXUEUuXG4iOwotICAgIH0KLSAgICBteSBAY29uZmln
dXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24oKTsKLSAgICBwdXNoKEBmbGF0cGFrQnVpbGRQYXRoLCAi
RmxhdHBha1RyZWUkY29uZmlndXJhdGlvbiIpOwotCi0gICAgcmV0dXJuIEZpbGU6OlNwZWMtPmNh
dGRpcihAZmxhdHBha0J1aWxkUGF0aCk7CisgICAgbXkgQGZsYXRwYWtQYXRoID0gRmlsZTo6U3Bl
Yy0+c3BsaXRkaXIoYmFzZVByb2R1Y3REaXIoKSk7CisgICAgcHVzaChAZmxhdHBha1BhdGgsICJV
c2VyRmxhdHBhayIpOworICAgIHJldHVybiBGaWxlOjpTcGVjLT5jYXRkaXIoQGZsYXRwYWtQYXRo
KTsKIH0KIAogc3ViIGlzQ2FjaGVkQXJndW1lbnRmaWxlT3V0T2ZEYXRlKCRAKQpAQCAtMjA4OCwx
MSArMjA4Miw3IEBAIHN1YiBpc0NhY2hlZEFyZ3VtZW50ZmlsZU91dE9mRGF0ZSgkQCkKIAogc3Vi
IGluRmxhdHBha1NhbmRib3goKQogewotICAgIGlmICgtZiAiLy5mbGF0cGFrLWluZm8iKSB7Ci0g
ICAgICAgIHJldHVybiAxOwotICAgIH0KLQotICAgIHJldHVybiAwOworICAgIHJldHVybiAoLWYg
Ii8uZmxhdHBhay1pbmZvIik7CiB9CiAKIHN1YiBydW5JbkZsYXRwYWsoQCkKQEAgLTIxMTMsNDUg
KzIxMDMsNjIgQEAgc3ViIHJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKEApCiAgICAgICAgIHJldHVy
biAwOwogICAgIH0KIAotICAgIGlmICghIC1lIGdldEZsYXRwYWtQYXRoKCkpIHsKLSAgICAgICAg
cmV0dXJuIDA7CisgICAgaWYgKCEgLWUgZ2V0VXNlckZsYXRwYWtQYXRoKCkpIHsKKyAgICAgIHJl
dHVybiAwOwogICAgIH0KIAogICAgIHJ1bkluRmxhdHBhayhAXykKIH0KIAotc3ViIHdyYXBwZXJQ
cmVmaXhJZk5lZWRlZCgpCitzdWIgamhidWlsZFdyYXBwZXJQcmVmaXgoKQogeworICAgIG15IEBw
cmVmaXggPSAoRmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgImpoYnVp
bGQiLCAiamhidWlsZC13cmFwcGVyIikpOworICAgIGlmIChpc0d0aygpKSB7CisgICAgICAgIHB1
c2goQHByZWZpeCwgIi0tZ3RrIik7CisgICAgfSBlbHNpZiAoaXNXUEUoKSkgeworICAgICAgICBw
dXNoKEBwcmVmaXgsICItLXdwZSIpOworICAgIH0KKyAgICBwdXNoKEBwcmVmaXgsICJydW4iKTsK
KworICAgIHJldHVybiBAcHJlZml4OworfQogCitzdWIgd3JhcHBlclByZWZpeElmTmVlZGVkKCkK
K3sKICAgICBpZiAoaXNBbnlXaW5kb3dzKCkgfHwgaXNKU0NPbmx5KCkgfHwgaXNQbGF5U3RhdGlv
bigpKSB7CiAgICAgICAgIHJldHVybiAoKTsKICAgICB9CiAgICAgaWYgKGlzQXBwbGVDb2NvYVdl
YktpdCgpKSB7CiAgICAgICAgIHJldHVybiAoInhjcnVuIik7CiAgICAgfQotICAgIGlmIChzaG91
bGRVc2VKaGJ1aWxkKCkgYW5kICEgc2hvdWxkVXNlRmxhdHBhaygpKSB7Ci0gICAgICAgIG15IEBw
cmVmaXggPSAoRmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgImpoYnVp
bGQiLCAiamhidWlsZC13cmFwcGVyIikpOwotICAgICAgICBpZiAoaXNHdGsoKSkgewotICAgICAg
ICAgICAgcHVzaChAcHJlZml4LCAiLS1ndGsiKTsKLSAgICAgICAgfSBlbHNpZiAoaXNXUEUoKSkg
ewotICAgICAgICAgICAgcHVzaChAcHJlZml4LCAiLS13cGUiKTsKLSAgICAgICAgfQotICAgICAg
ICBwdXNoKEBwcmVmaXgsICJydW4iKTsKIAotICAgICAgICByZXR1cm4gQHByZWZpeDsKKyAgICAj
IFJldHVybmluZyAoKSBoZXJlIG1lYW5zIGVpdGhlciBGbGF0cGFrIG9yIG5vIHdyYXBwZXIgd2ls
bCBiZSB1c2VkLgorICAgIGlmIChpc0d0aygpIG9yIGlzV1BFKCkpIHsKKyAgICAgICAgIyBSZXNw
ZWN0IHVzZXIncyBjaG9pY2UuCisgICAgICAgIGlmIChkZWZpbmVkICRFTlZ7J1dFQktJVF9KSEJV
SUxEJ30pIHsKKyAgICAgICAgICAgIGlmICgkRU5WeydXRUJLSVRfSkhCVUlMRCd9IGFuZCAtZSBn
ZXRKaGJ1aWxkUGF0aCgpKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGpoYnVpbGRXcmFwcGVy
UHJlZml4KCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHJldHVybiAo
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICMgb3IgbGV0IEZsYXRwYWsgdGFrZSBwcmVj
ZWRlbmNlIG92ZXIgSkhCdWlsZC4KKyAgICAgICAgfSBlbHNpZiAoLWUgZ2V0VXNlckZsYXRwYWtQ
YXRoKCkpIHsKKyAgICAgICAgICAgIHJldHVybiAoKTsKKyAgICAgICAgfSBlbHNpZiAoLWUgZ2V0
SmhidWlsZFBhdGgoKSkgeworICAgICAgICAgICAgcmV0dXJuIGpoYnVpbGRXcmFwcGVyUHJlZml4
KCk7CisgICAgICAgIH0KICAgICB9Ci0KICAgICByZXR1cm4gKCk7CiB9CiAKLXN1YiBzaG91bGRV
c2VKaGJ1aWxkKCkKLXsKLSAgICByZXR1cm4gKChpc0d0aygpIG9yIGlzV1BFKCkpIGFuZCAtZSBn
ZXRKaGJ1aWxkUGF0aCgpKTsKLX0KLQogc3ViIHNob3VsZFVzZUZsYXRwYWsoKQogewotICAgIHJl
dHVybiAoKGlzR3RrKCkgb3IgaXNXUEUoKSkgYW5kICEgaW5GbGF0cGFrU2FuZGJveCgpIGFuZCAt
ZSBnZXRGbGF0cGFrUGF0aCgpKTsKKyAgICBpZiAoIWlzR3RrKCkgYW5kICFpc1dQRSgpKSB7Cisg
ICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIG15IEBwcmVmaXggPSB3cmFwcGVyUHJlZml4
SWZOZWVkZWQoKTsKKyAgICByZXR1cm4gKCghIGluRmxhdHBha1NhbmRib3goKSkgYW5kIChAcHJl
Zml4ID09IDApIGFuZCAtZSBnZXRVc2VyRmxhdHBha1BhdGgoKSk7CiB9CiAKIHN1YiBjbWFrZUNh
Y2hlUGF0aCgpCkBAIC0yMjE4LDcgKzIyMjUsNyBAQCBzdWIgc2hvdWxkUmVtb3ZlQ01ha2VDYWNo
ZShAKQogICAgIH0KIAogICAgICMgSWYgYSBjaGFuZ2Ugb24gdGhlIEpIQnVpbGQgbW9kdWxlc2V0
IGhhcyBiZWVuIGRvbmUsIHdlIG5lZWQgdG8gY2xlYW4gdGhlIGNhY2hlIGFzIHdlbGwuCi0gICAg
aWYgKGlzR3RrKCkgfHwgaXNXUEUoKSkgeworICAgIGlmICghIHNob3VsZFVzZUZsYXRwYWsoKSBh
bmQgKGlzR3RrKCkgfHwgaXNXUEUoKSkpIHsKICAgICAgICAgbXkgJGpoYnVpbGRSb290RGlyZWN0
b3J5ID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKGdldEpoYnVpbGRQYXRoKCksICJSb290Iik7CiAgICAg
ICAgICMgVGhlIHNjcmlwdCB1cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCBzaGFsbCByZS1nZW5l
cmF0ZSAkamhidWlsZFJvb3REaXJlY3RvcnkgaWYgdGhlIG1vZHVsZXNldCBjaGFuZ2VkLgogICAg
ICAgICBpZiAoLWQgJGpoYnVpbGRSb290RGlyZWN0b3J5ICYmICRjYWNoZUZpbGVNb2RpZmllZFRp
bWUgPCBzdGF0KCRqaGJ1aWxkUm9vdERpcmVjdG9yeSktPm10aW1lKSB7CmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9iYXNlLnB5CmluZGV4IGUxYTE5Y2UwNzM5MmFhYmQ5ODA0YjhlMzUyNDc0ZWFhMjU1
NmJkN2IuLjJlOTY4ZTM5NWMzYmUzYWY3NmE2ZmVlNjI1NTZjOGM3YWE2MmMzMmIgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CkBAIC04OTMsNiArODkzLDcgQEAgY2xhc3MgUG9ydChv
YmplY3QpOgogICAgICAgICAgICAgJ0xBTkcnLAogICAgICAgICAgICAgJ0xEX0xJQlJBUllfUEFU
SCcsCiAgICAgICAgICAgICAnVEVSTScsCisgICAgICAgICAgICAnVFonLAogICAgICAgICAgICAg
J1hER19EQVRBX0RJUlMnLAogICAgICAgICAgICAgJ1hER19SVU5USU1FX0RJUicsCiAKQEAgLTEy
MjAsNyArMTIyMSw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgVGhpcyBpcyBuZWVk
ZWQgb25seSBieSBwb3J0cyB0aGF0IHVzZSB0aGUgYXBhY2hlX2h0dHBfc2VydmVyIG1vZHVsZS4i
IiIKICAgICAgICAgIyBUaGUgQXBhY2hlIGJpbmFyeSBwYXRoIGNhbiB2YXJ5IGRlcGVuZGluZyBv
biBPUyBhbmQgZGlzdHJpYnV0aW9uCiAgICAgICAgICMgU2VlIGh0dHA6Ly93aWtpLmFwYWNoZS5v
cmcvaHR0cGQvRGlzdHJvc0RlZmF1bHRMYXlvdXQKLSAgICAgICAgZm9yIHBhdGggaW4gWyIvdXNy
L3NiaW4vaHR0cGQiLCAiL3Vzci9zYmluL2FwYWNoZTIiLCAiL2FwcC9iaW4vaHR0cGQiXToKKyAg
ICAgICAgZm9yIHBhdGggaW4gWyIvdXNyL3NiaW4vaHR0cGQiLCAiL3Vzci9zYmluL2FwYWNoZTIi
LCAiL3Vzci9iaW4vaHR0cGQiXToKICAgICAgICAgICAgIGlmIHNlbGYuX2ZpbGVzeXN0ZW0uZXhp
c3RzKHBhdGgpOgogICAgICAgICAgICAgICAgIHJldHVybiBwYXRoCiAgICAgICAgIF9sb2cuZXJy
b3IoIkNvdWxkIG5vdCBmaW5kIGFwYWNoZS4gTm90IGluc3RhbGxlZCBvciB1bmtub3duIHBhdGgu
IikKQEAgLTE0NTIsMTQgKzE0NTMsOCBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgICMg
LS1waXhlbC10ZXN0LWRpcmVjdG9yeSBpcyBub3Qgc3BlY2lmaWVkLgogICAgICAgICByZXR1cm4g
VHJ1ZQogCi0gICAgZGVmIF9zaG91bGRfdXNlX2ZsYXRwYWsoc2VsZik6Ci0gICAgICAgIHN1ZmZp
eCA9ICIiCi0gICAgICAgIGlmIHNlbGYucG9ydF9uYW1lOgotICAgICAgICAgICAgc3VmZml4ID0g
c2VsZi5wb3J0X25hbWUudXBwZXIoKQotICAgICAgICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5l
eGlzdHMoc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1dlYktpdEJ1aWxkJywgc3VmZml4LCAi
RmxhdHBha1RyZWUiKSkKLQogICAgIGRlZiBfaW5fZmxhdHBha19zYW5kYm94KHNlbGYpOgotICAg
ICAgICByZXR1cm4gb3MucGF0aC5leGlzdHMoIi8uZmxhdHBhay1pbmZvIikKKyAgICAgICAgcmV0
dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKCIvLmZsYXRwYWstaW5mbyIpCiAKICAgICBkZWYg
X3Nob3VsZF91c2VfamhidWlsZChzZWxmKToKICAgICAgICAgaWYgc2VsZi5faW5fZmxhdHBha19z
YW5kYm94KCk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQppbmRleCA2OGJjMTY5MjNmOGFi
NzYwOTFmNWIzZTk2NGQwNjVjNzk0M2ZmOGQ1Li4wY2U4YWE0ODc0NTkwOWM3OTczNjg4M2IzNmQz
NGU4NzQwOThkNDczIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3Rr
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkKQEAgLTEyMiw2ICsx
MjIsNyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICBlbnZpcm9ubWVudFsnVEVTVF9S
VU5ORVJfSU5KRUNURURfQlVORExFX0ZJTEVOQU1FJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdsaWIn
LCAnbGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLnNvJykKICAgICAgICAgZW52aXJvbm1lbnRb
J1RFU1RfUlVOTkVSX1RFU1RfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ2xpYics
ICdwbHVnaW5zJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0
KGVudmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJUicpCisgICAgICAgIHNlbGYuX2NvcHlfdmFs
dWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9KSEJVSUxEJykKICAg
ICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAn
V0VCS0lUX1RPUF9MRVZFTCcpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9u
X2lmX3NldChlbnZpcm9ubWVudCwgJ1VTRV9QTEFZQklOMycpCiAgICAgICAgIHNlbGYuX2NvcHlf
dmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ0dTVF9ERUJVRycpCkBAIC0x
MzQsMTAgKzEzNSwxMSBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAgICAgaWYgc2Vs
Zi5fc2hvdWxkX3VzZV9qaGJ1aWxkKCk6CiAgICAgICAgICAgICAgICAgbGx2bXBpcGVfbGliZ2xf
cGF0aCA9IHNlbGYuaG9zdC5leGVjdXRpdmUucnVuX2NvbW1hbmQoc2VsZi5famhidWlsZF93cmFw
cGVyICsgWydwcmludGVudicsICdMTFZNUElQRV9MSUJHTF9QQVRIJ10sCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGln
bm9yZV9lcnJvcnM9VHJ1ZSkuc3RyaXAoKQorICAgICAgICAgICAgICAgIGRyaV9saWJnbF9wYXRo
ID0gb3MucGF0aC5qb2luKGxsdm1waXBlX2xpYmdsX3BhdGgsICJkcmkiKQogICAgICAgICAgICAg
ZWxzZTogICMgaW4gZmxhdHBhawotICAgICAgICAgICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGgg
PSAiL2FwcC9zb2Z0R0wvbGliIgorICAgICAgICAgICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGgg
PSAiL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS8iCisgICAgICAgICAgICAgICAgZHJpX2xpYmds
X3BhdGggPSBvcy5wYXRoLmpvaW4obGx2bXBpcGVfbGliZ2xfcGF0aCwgIkdMIiwgImxpYiIsICJk
cmkiKQogCi0gICAgICAgICAgICBkcmlfbGliZ2xfcGF0aCA9IG9zLnBhdGguam9pbihsbHZtcGlw
ZV9saWJnbF9wYXRoLCAiZHJpIikKICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBh
dGguam9pbihsbHZtcGlwZV9saWJnbF9wYXRoLCAibGliR0wuc28iKSkgYW5kIG9zLnBhdGguZXhp
c3RzKG9zLnBhdGguam9pbihkcmlfbGliZ2xfcGF0aCwgInN3cmFzdF9kcmkuc28iKSk6CiAgICAg
ICAgICAgICAgICAgIyBNYWtlIHN1cmUgdmEtYXBpIHN1cHBvcnQgZ2V0cyBkaXNhYmxlZCBiZWNh
dXNlIGl0J3MgaW5jb21wYXRpYmxlIHdpdGggTWVzYSdzIHNvZnRHTCBkcml2ZXIuCiAgICAgICAg
ICAgICAgICAgZW52aXJvbm1lbnRbJ0xJQlZBX0RSSVZFUl9OQU1FJ10gPSAibnVsbCIKQEAgLTE0
OCw3ICsxNTAsNyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAgICAgICAgIGlmIG9z
LmVudmlyb24uZ2V0KCdMRF9MSUJSQVJZX1BBVEgnKToKICAgICAgICAgICAgICAgICAgICAgZW52
aXJvbm1lbnRbJ0xEX0xJQlJBUllfUEFUSCddICs9ICc6JXMnICUgb3MuZW52aXJvbi5nZXQoJ0xE
X0xJQlJBUllfUEFUSCcpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIF9sb2cu
d2FybmluZygiQ2FuJ3QgZmluZCBHYWxsaXVtIGxsdm1waXBlIGRyaXZlci4gVHJ5IHRvIHJ1biB1
cGRhdGUtd2Via2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIikKKyAgICAg
ICAgICAgICAgICBfbG9nLndhcm5pbmcoIkNhbid0IGZpbmQgR2FsbGl1bSBsbHZtcGlwZSBkcml2
ZXIuIFRyeSB0byBydW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxh
dHBhayIpCiAgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbigibGVha3MiKToKICAgICAgICAgICAg
ICMgVHVybiBvZmYgR0xpYiBtZW1vcnkgb3B0aW1pc2F0aW9ucyBodHRwczovL3dpa2kuZ25vbWUu
b3JnL1ZhbGdyaW5kLgogICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0dfU0xJQ0UnXSA9ICdhbHdh
eXMtbWFsbG9jJwpAQCAtMjM3LDcgKzIzOSw3IEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAKICAg
ICBkZWYgX2dldF9jcmFzaF9sb2coc2VsZiwgbmFtZSwgcGlkLCBzdGRvdXQsIHN0ZGVyciwgbmV3
ZXJfdGhhbiwgdGFyZ2V0X2hvc3Q9Tm9uZSk6CiAgICAgICAgIHJldHVybiBHREJDcmFzaExvZ0dl
bmVyYXRvcihzZWxmLl9leGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwKLSAgICAgICAg
ICAgIHNlbGYuX2ZpbGVzeXN0ZW0sIHNlbGYuX3BhdGhfdG9fZHJpdmVyKS5nZW5lcmF0ZV9jcmFz
aF9sb2coc3Rkb3V0LCBzdGRlcnIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlciwgc2VsZi5wb3J0X25hbWUs
IHNlbGYuZ2V0X29wdGlvbignY29uZmlndXJhdGlvbicpKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rk
b3V0LCBzdGRlcnIpCiAKICAgICBkZWYgdGVzdF9leHBlY3RhdGlvbnNfZmlsZV9wb3NpdGlvbihz
ZWxmKToKICAgICAgICAgIyBHVEsgcG9ydCBiYXNlbGluZSBzZWFyY2ggcGF0aCBpcyBndGsgLT4g
d2syIC0+IGdlbmVyaWMgKGFzIGd0ay13azIgYW5kIGd0ayBiYXNlbGluZXMgYXJlIG1lcmdlZCks
IHNvIHBvcnQgdGVzdCBleHBlY3RhdGlvbnMgZmlsZSBpcyBhdCB0aGlyZCB0byBsYXN0IHBvc2l0
aW9uLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9j
cmFzaF9sb2cucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNo
X2xvZy5weQppbmRleCA5YWRjNDYzNzFmOTYxYjE5NjI4ZTdmZWRkNDY1ZWJmZDA5NmNkMDFhLi4y
ZTAzZGZmMWEzNmViNWMyMDVhZTY4NzljZDIyYmQyYzcwMjIxMWUzIDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQpAQCAtMzcsMTgg
KzM3LDIyIEBAIGltcG9ydCB0aW1lCiAKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVj
dXRpdmUgaW1wb3J0IFNjcmlwdEVycm9yCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi51bmljb2RlX2Nv
bXBhdGliaWxpdHkgaW1wb3J0IGRlY29kZV9pZl9uZWNlc3NhcnkKK2Zyb20gd2Via2l0cHkuY29t
bW9uLndlYmtpdF9maW5kZXIgaW1wb3J0IFdlYktpdEZpbmRlcgogCiAKIGNsYXNzIEdEQkNyYXNo
TG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgX2ZpbmRfcGlkX3JlZ2V4ID0gcmUuY29tcGlsZShy
J1BJRDogKFxkKykgXCguKlwpJykKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBleGVjdXRpdmUs
IG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwgZmlsZXN5c3RlbSwgcGF0aF90b19kcml2ZXIpOgorICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBleGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwgZmls
ZXN5c3RlbSwgcGF0aF90b19kcml2ZXIsIHBvcnRfbmFtZSwgY29uZmlndXJhdGlvbik6CiAgICAg
ICAgIHNlbGYubmFtZSA9IG5hbWUKICAgICAgICAgc2VsZi5waWQgPSBwaWQKICAgICAgICAgc2Vs
Zi5uZXdlcl90aGFuID0gbmV3ZXJfdGhhbgogICAgICAgICBzZWxmLl9maWxlc3lzdGVtID0gZmls
ZXN5c3RlbQogICAgICAgICBzZWxmLl9wYXRoX3RvX2RyaXZlciA9IHBhdGhfdG9fZHJpdmVyCiAg
ICAgICAgIHNlbGYuX2V4ZWN1dGl2ZSA9IGV4ZWN1dGl2ZQorICAgICAgICBzZWxmLl9wb3J0X25h
bWUgPSBwb3J0X25hbWUKKyAgICAgICAgc2VsZi5fY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRp
b24KKyAgICAgICAgc2VsZi5fd2Via2l0X2ZpbmRlciA9IFdlYktpdEZpbmRlcihmaWxlc3lzdGVt
KQogCiAgICAgZGVmIF9nZXRfZ2RiX291dHB1dChzZWxmLCBjb3JlZHVtcF9wYXRoKToKICAgICAg
ICAgcHJvY2Vzc19uYW1lID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKG9zLnBhdGguZGlybmFtZShz
dHIoc2VsZi5fcGF0aF90b19kcml2ZXIoKSkpLCBzZWxmLm5hbWUpCkBAIC02Nyw2ICs3MSw5IEBA
IGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBmaWxl
bmFtZQogCiAgICAgZGVmIF9nZXRfdHJhY2VfZnJvbV9zeXN0ZW1kKHNlbGYsIGNvcmVkdW1wY3Rs
LCBwaWQpOgorICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZSgiLy5mbGF0cGFrLWluZm8iKToKKyAg
ICAgICAgICAgIHJldHVybiBzZWxmLl9nZXRfdHJhY2VfZnJvbV9mbGF0cGFrKCkKKwogICAgICAg
ICAjIExldHRpbmcgdXAgdG8gNSBzZWNvbmRzIGZvciB0aGUgYmFja3RyYWNlIHRvIGJlIGdlbmVy
YXRlZCBvbiB0aGUgc3lzdGVtZCBzaWRlCiAgICAgICAgIGZvciB0cnlfbnVtYmVyIGluIHJhbmdl
KDUpOgogICAgICAgICAgICAgaWYgdHJ5X251bWJlciAhPSAwOgpAQCAtOTIsMTIgKzk5LDI0IEBA
IGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAg
ICAgICB0ZW1wX2ZpbGUubmFtZV0sIHJldHVybl9leGl0X2NvZGU9VHJ1ZSk6CiAgICAgICAgICAg
ICAgICAgICAgIGNvbnRpbnVlCiAKLSAgICAgICAgICAgICAgICByZXMgPSBzZWxmLl9nZXRfZ2Ri
X291dHB1dChzZWxmLl9nZXRfdG1wX2ZpbGVfbmFtZShjb3JlZHVtcGN0bCwgdGVtcF9maWxlLm5h
bWUpKQotCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJlcworICAgICAgICAgICAgICAgIHJldHVy
biBzZWxmLl9nZXRfZ2RiX291dHB1dChzZWxmLl9nZXRfdG1wX2ZpbGVfbmFtZShjb3JlZHVtcGN0
bCwgdGVtcF9maWxlLm5hbWUpKQogCiAgICAgICAgIHJldHVybiAnJywgW10KIAorICAgIGRlZiBf
Z2V0X3RyYWNlX2Zyb21fZmxhdHBhayhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5uZXdlcl90aGFu
OgorICAgICAgICAgICAgY29yZWR1bXBfc2luY2UgPSAiLS1nZGItc3RhY2stdHJhY2U9QCVmIiAl
IHNlbGYubmV3ZXJfdGhhbgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY29yZWR1bXBfc2lu
Y2UgPSAiLS1nZGItc3RhY2stdHJhY2UiCisgICAgICAgIHdlYmtpdF9mbGF0cGFrX3BhdGggPSBz
ZWxmLl93ZWJraXRfZmluZGVyLnBhdGhfdG9fc2NyaXB0KCd3ZWJraXQtZmxhdHBhaycpCisgICAg
ICAgIGNtZCA9IFsnZmxhdHBhay1zcGF3bicsICctLWhvc3QnLCB3ZWJraXRfZmxhdHBha19wYXRo
LCAnLS0lcycgJSBzZWxmLl9wb3J0X25hbWUsCisgICAgICAgICAgICAgICAiLS0lcyIgJSBzZWxm
Ll9jb25maWd1cmF0aW9uLmxvd2VyKCksIGNvcmVkdW1wX3NpbmNlXQorCisgICAgICAgIHByb2Mg
PSBzZWxmLl9leGVjdXRpdmUucG9wZW4oY21kLCBzdGRpbj1Ob25lLCBzdGRvdXQ9c3VicHJvY2Vz
cy5QSVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKQorICAgICAgICBjcmFzaF9sb2csIHN0ZGVy
ciA9IHByb2MuY29tbXVuaWNhdGUoKQorICAgICAgICBlcnJvcnMgPSBkZWNvZGVfaWZfbmVjZXNz
YXJ5KHN0cihzdGRlcnIgb3IgJzxlbXB0eT4nKSwgZXJyb3JzPSdpZ25vcmUnKS5zcGxpdGxpbmVz
KCkKKyAgICAgICAgcmV0dXJuIGNyYXNoX2xvZywgZXJyb3JzCisKICAgICBkZWYgZ2VuZXJhdGVf
Y3Jhc2hfbG9nKHNlbGYsIHN0ZG91dCwgc3RkZXJyKToKICAgICAgICAgcGlkX3JlcHJlc2VudGF0
aW9uID0gc3RyKHNlbGYucGlkIG9yICc8dW5rbm93bj4nKQogICAgICAgICBsb2dfZGlyZWN0b3J5
ID0gb3MuZW52aXJvbi5nZXQoIldFQktJVF9DT1JFX0RVTVBTX0RJUkVDVE9SWSIpCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZ191bml0
dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9n
X3VuaXR0ZXN0LnB5CmluZGV4IDlmM2I3ZTM5Mzc5YzQzYTEwNWVjZTIwYzFjYTYyNjI0M2RmYTdk
MzQuLjNhMzllODQ2NzBhNjRjODM2YjVlMTQ0MmZjOGEzNTkzNGMzN2RmOTQgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9n
X3VuaXR0ZXN0LnB5CkBAIC00Niw3ICs0Niw3IEBAIGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9y
VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGV4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRp
dmUoKQogICAgICAgICBleGVjdXRpdmUuX3Byb2MgPSBNb2NrUHJvY2VzcygpCiAgICAgICAgIGV4
ZWN1dGl2ZS5fcHJvYy5zdGRvdXQgPSAnU1RERVJSOiA8ZW1wdHk+JwotICAgICAgICBnZW5lcmF0
b3IgPSBHREJDcmFzaExvZ0dlbmVyYXRvcihleGVjdXRpdmUsICdEdW1wUmVuZGVyVHJlZScsIDI4
NTI5LCBuZXdlcl90aGFuPU5vbmUsIGZpbGVzeXN0ZW09TW9ja0ZpbGVTeXN0ZW0oeycvcGF0aC90
by9jb3JlZHVtcHMnOiAnJ30pLCBwYXRoX3RvX2RyaXZlcj1Ob25lKQorICAgICAgICBnZW5lcmF0
b3IgPSBHREJDcmFzaExvZ0dlbmVyYXRvcihleGVjdXRpdmUsICdEdW1wUmVuZGVyVHJlZScsIDI4
NTI5LCBuZXdlcl90aGFuPU5vbmUsIGZpbGVzeXN0ZW09TW9ja0ZpbGVTeXN0ZW0oeycvcGF0aC90
by9jb3JlZHVtcHMnOiAnJ30pLCBwYXRoX3RvX2RyaXZlcj1Ob25lLCBwb3J0X25hbWU9Imd0ayIs
IGNvbmZpZ3VyYXRpb249IkRlYnVnIikKIAogICAgICAgICBjb3JlX2RpcmVjdG9yeSA9IG9zLmVu
dmlyb24uZ2V0KCdXRUJLSVRfQ09SRV9EVU1QU19ESVJFQ1RPUlknLCAnL3BhdGgvdG8vY29yZWR1
bXBzJykKICAgICAgICAgY29yZV9wYXR0ZXJuID0gZ2VuZXJhdG9yLl9maWxlc3lzdGVtLmpvaW4o
Y29yZV9kaXJlY3RvcnksICJjb3JlLXBpZF8lcC5kdW1wIikKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC93cGUucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQv
d3BlLnB5CmluZGV4IDAwY2U1Mjc2ZTljYzQyMWI0ODM3YWMyYjU0ZjMzYzU1MmJiZWM4NTUuLjU0
NjkyNWY0N2M2NDAwNzI1YWYwNzNhMzU1M2M3ZmY1NGVlYTdkOTggMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC93cGUucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wb3J0L3dwZS5weQpAQCAtNzcsNiArNzcsNyBAQCBjbGFzcyBXUEVQb3J0KFBvcnQpOgogICAg
ICAgICBlbnZpcm9ubWVudFsnVEVTVF9SVU5ORVJfVEVTVF9QTFVHSU5fUEFUSCddID0gc2VsZi5f
YnVpbGRfcGF0aCgnbGliJywgJ3BsdWdpbnMnKQogICAgICAgICBlbnZpcm9ubWVudFsnV0VCS0lU
X0VYRUNfUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0aCgnYmluJykKICAgICAgICAgc2VsZi5fY29w
eV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJ
UicpCisgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9u
bWVudCwgJ1dFQktJVF9KSEJVSUxEJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vu
dmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX1RPUF9MRVZFTCcpCiAgICAgICAgIHNl
bGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1VTRV9QTEFZ
QklOMycpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZp
cm9ubWVudCwgJ0dTVF9ERUJVRycpCkBAIC0xMjEsNyArMTIyLDggQEAgY2xhc3MgV1BFUG9ydChQ
b3J0KToKICAgICAgICAgcmV0dXJuIDIKIAogICAgIGRlZiBfZ2V0X2NyYXNoX2xvZyhzZWxmLCBu
YW1lLCBwaWQsIHN0ZG91dCwgc3RkZXJyLCBuZXdlcl90aGFuLCB0YXJnZXRfaG9zdD1Ob25lKToK
LSAgICAgICAgcmV0dXJuIEdEQkNyYXNoTG9nR2VuZXJhdG9yKHNlbGYuX2V4ZWN1dGl2ZSwgbmFt
ZSwgcGlkLCBuZXdlcl90aGFuLCBzZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZl
cikuZ2VuZXJhdGVfY3Jhc2hfbG9nKHN0ZG91dCwgc3RkZXJyKQorICAgICAgICByZXR1cm4gR0RC
Q3Jhc2hMb2dHZW5lcmF0b3Ioc2VsZi5fZXhlY3V0aXZlLCBuYW1lLCBwaWQsIG5ld2VyX3RoYW4s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLCBz
ZWxmLl9wYXRoX3RvX2RyaXZlciwgc2VsZi5wb3J0X25hbWUsIHNlbGYuZ2V0X29wdGlvbignY29u
ZmlndXJhdGlvbicpKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIpCiAKICAgICBk
ZWYgY29uZmlndXJhdGlvbl9mb3JfdXBsb2FkKHNlbGYsIGhvc3Q9Tm9uZSk6CiAgICAgICAgIGNv
bmZpZ3VyYXRpb24gPSBzdXBlcihXUEVQb3J0LCBzZWxmKS5jb25maWd1cmF0aW9uX2Zvcl91cGxv
YWQoaG9zdD1ob3N0KQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcAppbmRleCAzZjhlMjQ0MGYy
ODNlNGI0ZTU0MjdhZDY0NGQyYjNiNGUzMTk2NWExLi44MWJjZDk2MmEwOWM3YWNmZWYyMmVjMmY0
OGJjMDJiMjQ5YTU2YzQ0IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcApAQCAtNjUsOCAr
NjUsMTMgQEAgQ1N0cmluZyBnZXRPdXRwdXREaXIoKQogCiBzdGF0aWMgQ1N0cmluZyBnZXRGb250
c1BhdGgoKQogeworICAgIC8vIFRyeSBmbGF0cGFrIHNhbmRib3ggcGF0aC4KKyAgICBHVW5pcXVl
UHRyPGNoYXI+Zm9udHNQYXRoKGdfYnVpbGRfZmlsZW5hbWUoIi91c3IiLCAic2hhcmUiLCAid2Vi
a2l0Z3RrLXRlc3QtZm9udHMiLCBOVUxMKSk7CisgICAgaWYgKGdfZmlsZV90ZXN0KGZvbnRzUGF0
aC5nZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9FWElTVFMgfCBHX0ZJ
TEVfVEVTVF9JU19ESVIpKSkKKyAgICAgICAgcmV0dXJuIGZvbnRzUGF0aC5nZXQoKTsKKwogICAg
IENTdHJpbmcgd2Via2l0T3V0cHV0RGlyID0gZ2V0T3V0cHV0RGlyKCk7Ci0gICAgR1VuaXF1ZVB0
cjxjaGFyPiBmb250c1BhdGgoZ19idWlsZF9maWxlbmFtZSh3ZWJraXRPdXRwdXREaXIuZGF0YSgp
LCAiRGVwZW5kZW5jaWVzR1RLIiwgIlJvb3QiLCAid2Via2l0Z3RrLXRlc3QtZm9udHMiLCBudWxs
cHRyKSk7CisgICAgZm9udHNQYXRoLnJlc2V0KGdfYnVpbGRfZmlsZW5hbWUod2Via2l0T3V0cHV0
RGlyLmRhdGEoKSwgIkRlcGVuZGVuY2llc0dUSyIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWZv
bnRzIiwgbnVsbHB0cikpOwogICAgIGlmIChnX2ZpbGVfdGVzdChmb250c1BhdGguZ2V0KCksIHN0
YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfRVhJU1RTIHwgR19GSUxFX1RFU1RfSVNf
RElSKSkpCiAgICAgICAgIHJldHVybiBmb250c1BhdGguZ2V0KCk7CiAKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUu
Y3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVG
b250c1dQRS5jcHAKaW5kZXggYTQ5YzdhMjkyMTgyNTkxZTI3MjdiMmI5MDFlNDEyYjJkZThlMDNk
YS4uOGJlNzM2ZjA0OWM5MWIzMDhjZDJjMWVjYWYxNDA1YTA1YzFhZTUwMCAxMDA2NDQKLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250c1dQ
RS5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0
aXZhdGVGb250c1dQRS5jcHAKQEAgLTU4LDggKzU4LDEzIEBAIENTdHJpbmcgZ2V0T3V0cHV0RGly
KCkKIAogc3RhdGljIENTdHJpbmcgZ2V0Rm9udHNQYXRoKCkKIHsKKyAgICAvLyBUcnkgZmxhdHBh
ayBzYW5kYm94IHBhdGguCisgICAgR1VuaXF1ZVB0cjxjaGFyPmZvbnRzUGF0aChnX2J1aWxkX2Zp
bGVuYW1lKCIvdXNyIiwgInNoYXJlIiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgTlVMTCkpOwor
ICAgIGlmIChnX2ZpbGVfdGVzdChmb250c1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVz
dD4oR19GSUxFX1RFU1RfRVhJU1RTIHwgR19GSUxFX1RFU1RfSVNfRElSKSkpCisgICAgICAgIHJl
dHVybiBmb250c1BhdGguZ2V0KCk7CisKICAgICBDU3RyaW5nIHdlYmtpdE91dHB1dERpciA9IGdl
dE91dHB1dERpcigpOwotICAgIEdVbmlxdWVQdHI8Y2hhcj4gZm9udHNQYXRoKGdfYnVpbGRfZmls
ZW5hbWUod2Via2l0T3V0cHV0RGlyLmRhdGEoKSwgIkRlcGVuZGVuY2llc1dQRSIsICJSb290Iiwg
IndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgbnVsbHB0cikpOworICAgIGZvbnRzUGF0aC5yZXNldChn
X2J1aWxkX2ZpbGVuYW1lKHdlYmtpdE91dHB1dERpci5kYXRhKCksICJEZXBlbmRlbmNpZXNXUEUi
LCAiUm9vdCIsICJ3ZWJraXRndGstdGVzdC1mb250cyIsIG51bGxwdHIpKTsKICAgICBpZiAoZ19m
aWxlX3Rlc3QoZm9udHNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9U
RVNUX0VYSVNUUyB8IEdfRklMRV9URVNUX0lTX0RJUikpKQogICAgICAgICByZXR1cm4gZm9udHNQ
YXRoLmdldCgpOwogCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGtt
IGIvVG9vbHMvZmxhdHBhay9maWxlcy9kZWZhdWx0LnhrbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDE2ZjZiMDhmNmQ4MDg1ODA5NjhiYTAyMjU2ZDkwNzVkNDhhNDdkMC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVy
YWwgMApIY21WP2QwMDAwMQoKbGl0ZXJhbCAxMjAzMgp6Y21jZ3lZajdMYWItdWU7NUZraVZsMyVm
RmNTXnJ4KiROWTJMNHNpR3JVQyh3cHp0JlJsOUgyJXJBU3okTVVnWn0Kek4+LWY0Tn5WKF5vd1Vn
YE56LUB5dERVfj5SQ1V3TlJER3FYYD4pZ0tZZFc0emBmP202YW9kQCtvdk5MJS0qQGo+Cno+fmFt
SXMlTyZXOURlKHFkKE9TKktLOTxiaStsTHVnPWc9SUA1aTIzTikwR1dlTX1YVTEwMFYyREt5fGl1
U1BCNAp6cFUyalkrUThSYDk9fDY3WSotSUg5QSRjWl9uN0NXKWMkd0hSQmk4S1dvelhFeWR4Xk51
P3RNN082TzglcXJLTWMKemJSMVJETj1HI3sjI0otRndZbDVmK0U2TzREIXUhSllPTyVJIUs/PDJ8
SUdUT2oqMnFSKilDJE5jNk9IKWN4IUxGCnooKj41VTVXVSMlUkdtdyFvbDdUe0hgYlNUSXk9WG94
IW1kUVVVXmktX3dQcVVOKT1tcWxgQUd3NUVxaCRqNilfTQp6OE9TNmczel5DbFElTU55UXRvdVEp
b0FDWVJqdlRQMHtqWl9FNU5TK3pYSlJVQEdIUXQwS1dxSzNoKm5XKy1BRjMKenRLezMyVHBvVVRf
fnFmM2hoSDlrZEhDaHdteG9eLWV0RyFpUT5re1BQXmA/Zk4rYDNFbn0qKnN7SEViSTRabXNsCnpP
flk+KmUkKClxaFRuODUqPSlCOzx3a1lCbEI9e15qZUllbVlxVnl7JHJRd2VxI0AmdzJ9bE1xM0NU
akhYM0Q4Iwp6dHkoRiFAfEFNQUZ7I1JwRU15QU9ubENyVGZmSkFuQnYmWG1RYX40eWg5bl97TkBi
eXZXfTgtOHZ1KSZzQD19TzMKemxgN31qeHpiIVNTMVEpWnJFK189SSR0V0RZVUhjc016UGpKZCUk
PDAoUU1fTGhfX09rRFV8QmY7KFNBPyNfVzhmCnpRay1jd1hHYHMzdClMM14jYWQmd1BAQWlANms0
Uz9tdldRVWBGMyVrVUt4WCZYdyg7KiRueSM0R21ZR1EzeiZzVwp6bTE/dDwoeTlDY2BZdjVyb1Ux
aDxgRmdke1lTJGFOKzF5O0NTI1FrTzNpWCswdCh+dG8mZVJjQ0JpQ3hyJSsoNnsKemBMLSQqRH4t
OS1fI18xUmpaZSpgQ1gkZDgjRCUwRzxCJG5SMV9IWVkqaUZETDFHXjBER08pfFFFKDV5Xj5AdSor
Cnp6JUIjMzREMlJoSHduOCoqaUZLMjVfWGZZbn1wcFk+P1VEMTNBLSVwdmFyai1FKF5PWD82Uj1T
IVkmS0RFYk93ZAp6bkBYYlgoYSRPTGF8LT5PTE8tWF8mbmZoQzNqT1JOLTlgVm43IU5NJi0wXkNt
d1RSfGQpbllyPm5yfTJxWEJ5MnAKekg8XlZAJkFGKjBCbjVGSFh+O05hMCtOQURMU1VESW9lTWhg
Yn1zQigqdHhLQ1ZkdWltZyZxM0NienpyPVReZT8yCnoqcmoyWWhGdXpWWTFwTTxteGYmJGNIXilj
aHV0e3IjJGgpT3lLJmYhIXcmdTdxQ1pecGhsfkRqKEh9MVEhJHA2JQp6PW5yPmRMTyhQNGwqXyla
N0hqaS1tUCR7eVhFX0VjKXBtfktwaC1sPGJDdWE5JDRhP0BNO3AmfFdxSjFycGJLMEMKenJoIUde
SUlzenYwTWFmNEpPaThyJkk3WitJcDdxcSZTeExrITFLKWZhek4oUzB5NGg+a29uQzNuY3Btc2BJ
VWdvCno/LVk+dm00VkRwS21XaWRAdGlaQyg/STV2MlFyQHBBb0gwOUdNXmZkYEJjNjZKRlpyP0Ve
Y3BoYn57U2wjfFBDaQp6R058Z2M7IT5yIVBeQHNTLW4+RyFFZHJaQyluMlNpeH0mQnNrTHZrJFpU
K2NUNkBpXmlUaURTanA+bVoqREt9a2cKeiYqZVFeTjlDOGRjYklQWndrVWkrbTVYT0VtdzB2cVRy
PHZmeCl3Nmo8PlRMPVlMKF9AKzl4PFJKdi09Rl82YVQ9CnpDJXJnTkRzQDtqQD1GLUojaWp8P01M
aiRwWismbilkcT02R3c5blVUP1BrNT1kM2czUSltd3M0IUlMSClieUQzJQp6cFVPY2UmbkxLVURT
SzNXTXZZSk5XPExKOSRIdmsxUjw9NkNhIX4xVFQ7NXUkPzZ9eSopcmdNQ0h9Pk4zKT52ZzkKejUh
KWxpbUlHY2dfSEU1TjlFfWJyaGJ1ayQoPzt0PkVKcnpMdzdBTipuLSQjK2RmMT84ZCs2blhIcjhW
eiZiNHtlCnpqMSVkclFUNyRgKnpJb1VaZDAraXFZbFRCTmQpPUcqa081ZyNGUURhU3VYbDdoT3Jp
ZjN9OWFaI1ghdGF1XyREfgp6TEh8fGlgQ01oR0lFTXdvKUY7XkFJK2cqbVhHam01KmhjaloxZ2pM
ckJ4MiFzKWlJQmY0VC1ITDI8XytyQUVVSngKenBUdy09TWYoaD9jQnh0UG99ZEZgP20hR3krXzdT
KV5NU1NuV3Brc3x0KGZJbExuPklDeDhgLVR3emJyMDY7cjIyCnpPJUplTXJgaEpaN2x1NSY/Z2Ni
Qzt5NUk2YUorZl8lcjxCSHF1RiYjUTRCe2Z1OSlwdTB9O28lRDtPVUpYIXUkRwp6LV5SZklFellR
UVVwekR4TCshPFZVSzk7RmZTcTU9IWNHKkk0TlV8IXUrVUY3Pkoodn1QP3NuK3RPS1k9NEUxbUAK
ejdleW9Sdio4emtVaiUrT3szMjI3LVVEXmleV3hJWCt5WGtkby1jRlloYnwxPzE2UDxJTkRQcCRV
Nl5+T3hCN2hqCnp6cVQjTSY4QGJyampsbDMrR3lLajJpbiNqS2ohaGhjezdMR0NkfEZJZGJ7fVRY
PUJHNGs/fFhSJlUpPEBjK1R8TAp6bHNVaX5xdSs2JHR5O3pFb1pudklkWkloPDlRKVZKX193Mjs3
VXBGPFZoODU2Z3FvPyglUX0za1dreHVeT0ZxSCYKel41JiZHMTk9OWZwMH57VEg9ODMoeyRAVDI9
SWB+I0o7RDZIYiN2PnNXKmdzWC03RSs1NEM9OzQodGpBaGRpfXQ+CnojV2ZjNW0zbHw4e09hODRW
cXdXX2tPSmorZCEoRHlHM3BHTXpDZEkpXlRvdEI5TClFJEFNPyVmMihIdD9IcSgxTwp6PGpaKjNX
P1U7Q1BfMUdFSkxxPENpTGFTVXhtc2FLQDdSSkpnIXNjXzZSTmtnOXJsaVZyPFhPJHRqayZoK1gm
WnUKej47biQwb3lhc2UkS01nR1hRTUxUa19yMShgdzA2YntsUzhMKWY8UUN0PXteR3pPdkN6TX15
QF40fCEkdT5tT2FPCnpRUTZ4ZktZbHxBPyF9K091RlU9Pj5oZ3A4WGo5ZnVzbl87VlhMfSNwQmcz
QnUtJCNBMXFgP3BmYH44biNRS0wxKwp6bF9UN3kwZURvbndnPi07X1ElTFc4fWZRMSNKe1kwcUw9
PTloPHtie3A8ZXBlTGozRVI1QkpqRjREbVpPa0xqXz0KekB7ajhIdSFsd2J0aW8tPTg5KHskIVds
cExodkAmfEt+Iy1RPlRtNUl0VXZnSGBoJEQqQTdGbSlrMj1PYkV9WS0yCnpjcU11cTE+cVZkaGQ7
Knd1YU89JV9BZkNXWXV9MmdlRlVNQFBseCNEZEt9SjN8QWBSKWIpUiFPUChLeW8qTG9jSgp6PE5D
MT5mNFJwXjElNW9sZjN3SDthVmhvYjVkVkNTcWFMe2JPbzshTSZuPjNeV1FoTlVhQmtzd3tZOzRl
c1BLZWkKeiNfejklXyRQZz9yLW9rKUBsV3wmY2oyI3VfJTkyTyVncGppQV54SzlMNzh9ZEhwRzlg
PEVBXitYRzhvaWc/c1Y7CnptQ3RwS2U9VkgtJi1WRzc5I15gKFVLUUBPJilAZGFWVTA0cylaPHtf
dWdtIUk/NyFsMzlwTXszKlg0aUo9ZW04fgp6Pn5UfSFmQStjZHt9LVFZZ01hbjhfV3k/UExEUVk7
LStacTl8Sn49PnwzN0BMe3JeKz1WZnI2WT5QQz17RCluRSYKekZ+aktte0BkcWgzOGw3IV85dkJr
Q2N4Pj80UkUmQ1BMTHlfLTV8I155QkZrVylKczgqXyR+K2VzOFlgY0kzTXtkCnowblJAOEshQ0ZX
e3pDWEw/c0A2Pyl0aXJDcHkkXkIqWW00ej1DOX0xME4zLVlhRihhJSo4dGJedDhqI2BeIXlzJgp6
ZWBtJU1UR3pDJV8wOU1aJlFGSyVhPj5pP2FvdjRiS2ZIOV5lT055e1pZSTJGa0RDUSFwdlVuZGp3
e3lWY3RPViUKej97UEROMlljTCVzNj53XndFYSt6NHsxSyE8RUJMKTdYSHlqY2VaPE9NP0t7OCNy
NGV7Xj89N3VFTDY4dkpMKkE/CnpqflRBbDdpa34xZkw+cH41M0RjWHRVYzVKTiFsO01rMSVyQzQl
MjxVa00tREZLVmQ+VUVtKCMxPzslSWtfUjVMOQp6b2ZHU3VvISNVNVg5eGJ5Zlp0RzVhcjZBZmBw
KCt1QCVoJUhDVWZARXkoa2x9cCgrS3t7bWN5YXtBUDdoPylmcU8KekxBZjZYSnx5PU96PSEyTjEz
V0FEbGZZd2dwOU1aOV9meD4qYS1SZTsxZVBAaFQkMjBtMSloLW1JTzN3dlcpTGB2Cnp2NXRFeV8t
KmVRKmdqJEc1OWx2THg3YkpEZnYoc2AtLVdLKE42KzdqK0l7cj1IaEhGeGVoPDMmS0tnYSY9S0FR
agp6cHNWLU1aJHNCR2RpN3I1YjhgUUY7MTU5OVotPncoN1dUbVpWQXwrRntnK3tyR2Q+Nk9gMjQ5
X2VlfG8pNzVlQygKemZeTWRke3ljUUVlZWBTNG1IT3pQaFZFMSFKJTUrdXd+VFBWOyoqJUY3YF4l
KTtDSVhZQmZ0bWJ7YC1MK2ZeZSRnCnp5dSkkd0tKWDdoIXVmcHd4K25ZU3BNPyZ1QjUkIUBmaUIt
aWUranlVS0tnVWVQNTA0bkxSYWdmelglO1ppMGhjJgp6MzRDMWMtdnhZKytgays2ZUd0fn4/QD5R
fnA5X0JmPFgkQnhfaGFze1ZaaytrXkV9N01zUD96QHlifGBtNHg2QkcKenRgNkokRV5MQ3JgOCNh
JGQkMCkjPWsmMTZANTNmMm9hZShmZSpsfUhhUEFNPXsyXj9EIXUyMypeOTklaGc9PDlFCno9OHM/
IzZze1gjbj1pczlDfHBhekhoJkQ4cG0yUyR0UncxcT0tS3shLXs4Mzl6TCRHcC1nQSUzZUp9NjFw
WERBbQp6b0c8czhMRSpZV2QreHV2Qys5dSl5ND9UcnA4SWFAI2whaDxLTj1MU1NHNERRMF5jMlkm
dnlkOEMtOSM4ZjQmcCYKem9fa2c5VXdRdm9Bb3JANGJ5ZElmVk9aZlM1JDl0NmB3R1Z9JDFiMTBw
TSEqQmM/SkdLO28yTHZgNGlYI2gzaGYwCnoocnRONm15YjBeQElrPngxUm5yO3dtKzxPamB+TW54
RDM3bjFaQzg7aTUzMj5WO09kTExod3ZrIVFZO15yK09YMgp6eyFJdXIxZT0yTWY9PnZ4MVEhTHtm
KHdFeGc4TStQNCE3LWRFYTRxaEBPSHQrMWI7Xy1VVjtQcSRtO2h5KChTT2gKekFhPHdWJEcmN2du
IWQhRUZLT2RJUXw/S3tKKW1XcylPJGFjZV9tfFgxKW1iIS1qQ3x8ST5NaDN6OXtpczVXRmIzCnpD
VSZRVktQfGk/ezV5ZHIyQnFGRHgpWHgkN2tuO1leRnlNYDJ+Rz5YT1lsai1Gfk1FST1MUFEoT2JW
dDJqfG5+awp6Xnh9Q1o/JTglazNmdHUhcVBxaV82NVU7KnlBJFp5LTZ2YDk1IT9pTmBGPmIqY01J
K2FFe0toMV9wSW96MnkhM0EKejdgVFRidThIMzM4IXo5WT13fTNIMXh0YytLKENDP2lTOEUhVWxl
PylYTEQ3NXw2bmB0O3lUMGloUyEoJXtZaWIjCnpAbmQ4QkBjTyMrRzI0aTdkaExgS1VKeHRgez02
WFRQa1lickd2TGdSSXpFQCl7bGBWYGFqI0UqTUV2ZytUb1FhLQp6QFRfMTQ9PXBsJUowZlllcGV1
TXImPURMRWowJHBXR1FPX2hDaj43R3pFfCoqZn1heG5HKkRPUUNqWGN4RkF1JSoKelA5eENtPEYj
aXtAcHRWfXtuNjA2JTNxZXY3M2M1Uk15PjN0LVdNeHstd0RsR0NQfjcoZ2A9KkQ0fVdqSXhWXj1u
CnoqN15DYWNSOHhPeXQkMEl3NVE+SFlvcFdJIyYySCE2fnA8Ym8kYnloX21jPiVjajB7MDkpSXNR
cXM2RzlUaT9NKAp6WXBgZDxHT05xJCohLUVkR24wVGwmKVJiTHtRQm0zI19uSTxaPkZzSEBLeVBz
aFVBITw/UVpSRGtNYlNuJntmKj0KekQ7eDh5WnRkLUtNJDRUbUowcWppPXVaVHdoZERQa2kxKClC
K2JnTiQjR35xY3g1WjxhUWM8X1ZoJCpJRHVxTT5sCnpWYEZRYmpaMi1+Xl9BdFppPUVaPXleQ1ly
dkNYYVMjcFI3TEI7cF90eytxd2Bvdm16a1ZybmRmbXsmVkhFOFg/Jgp6LVNzVyoyWnoqYlhTMzU/
VWx+UEY7OEFzTVZ8bkVRQGJjT144ZmllQz97PT1aTnJTMG1sKVNUdkNeViolQE5yYkYKei1veXNk
Iyk1JUdTWTUtUDRaSClqZDt4Iz40dmY9YmUpPFAzS1loKCZJIT15WjxMJncxOVl9WHtJIX4+OXQ4
fF9zCnohfW17bzM/N2lxeCpPeTRabVZtI2lnRkU2VWVqcmUkdzgyZ2I9STB1bG90QF4zcCFyKjVx
PERHSTZtOV48KCYkfAp6bGhOXztecUhUMkJUKFBoYmJXYysldW9NRCEyZTZ5emdqTkA+Tl5yaHpv
R3FHRiEyM2YzKmBUMkNMSmYoe1BkP0MKenpkYVk2N3dgPTZecUhVRDRkajFUbShTQmBlKT1gRWs+
Nml1UVU2TUBmY28+SjlVdTJNP05eV3xiaCE2KUY0ezQhCnpYNylCJCVzX2ZvVH57dzN4KCo4clJh
Xj1EYVUkVmFMVWY2WnZ2akZmOzB8PWJpRHwpYyEzbTU8Pk5DUDgxKyMpdgp6Q093cmpKZTNtRWBT
R2tBaE0yezNkZXJsKjg8QSVzeDdVYHtJczNaRzQ4MHR8XkI0OHY4XkkwRktoWH43OEZoWEAKem9n
WXhnMmh7TmFDJlcoMjJkPzctPmlCP0RDZiZyeGJDSlN6ZXRaSihvZXdSVXolTHNwN2lUM0NfPk97
ZVFOfEFFCnpzPGJgTVJTQkFNYWpyX1pESHJGZWdxdzE0dUY3eUo3dzBPND4tX2orVjZAdkcjaDU+
WWF5aGFTRHIpMldsKEVENAp6RHtZVlNTQXdRb29XQnhvJUVrRkI7aWc9aXpjTzZQI2tvdiFLQj5l
NDF7Qk5WbGFqIVIwLWtAPV9CZ0w4WHYpUVQKekUjYW5Jb1l4WD0lRWZzdDtpZz1pPVFQfXUlT0A/
TlZ6d1JPY3RtK1BKQmQ0Kz1oK2YhKEJecWhCRn10Y09qPG5WCnpMKFgkPE00b311VD5BfiRGOyFl
JC1fX0dRIyFQYSFVfnxrMkk+O0xSbUI0ZD1aem5pd2k1UDYyJHQzYmpDWHMjMQp6YmVfV2A9bE0q
TlVPLXZPRjJJNWgyaFZZbUdpS1dKSmZ9e19TeHpGKWJgbyhHdGFEfDFkRyh6QTspb3EjOUVzbDgK
eldrNVdhTjt7cXZIQ1JQbSRYZ20yNUFBcXY2PyUoalJ9REBIPF9aWmx0ajdsOTtDV1YpSnxVUlYk
aTZpQnEoc2xCCnpwWlRRKWktPnp6Kk18IX1YUDwtYExWN2B1MSlLcnZ0VHZXNko2S0M/XntWPTlK
T0J8NjRxVS1+ZnJHakNZYT04MAp6ck97bCR5QFg/VHQ9QTZ3WTJrZj82WHt4UzlQIWhLeXxkUHA8
I1F9STtAblZRSylHTDN0MiVSQ1pvPlN3YEY3WFIKekx3Y3tuSldMXng9blp4S0Z6UkhQR0VEcllr
aGZkTDtsTnBNc2Z2bVcrKSRzIzxvWW93JDc+NnpqKFdSZ2FjO284Ck1ra3NkfmJJSWlZMDgzSzAy
Pjx7OQoKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaCBi
L1Rvb2xzL2ZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaApkZWxldGVkIGZpbGUgbW9kZSAx
MDA3NTUKaW5kZXggMWMwYzQ4MzA1MWZiZGY4NjA0Yjk0NGE2MzUxMWM0ZTEyMWVhZWY0ZC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFr
L2ZpbGVzL2h0dHBkLWF1dG9nZW4uc2gKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLWF1
dG9tYWtlIC0tYWRkLW1pc3NpbmcKLWF1dG9yZWNvbmYgLS1pbnN0YWxsCmRpZmYgLS1naXQgYS9U
b29scy9mbGF0cGFrL2ZsYXRwYWt1dGlscy5weSBiL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxz
LnB5CmluZGV4IDg5ZWJjNjczMTBjMWQ1Yjg0YzkwY2Y1NDA3Zjk0MGMwMWIwNWVlZTYuLjA1MTRi
Y2FlNzg1MDg2OTA4NDM2MDUyNGJhN2Q5MjRlMGFjYzg5YzIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2Zs
YXRwYWsvZmxhdHBha3V0aWxzLnB5CisrKyBiL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5
CkBAIC00OCwxOSArNDgsMTUgQEAgZXhjZXB0IEltcG9ydEVycm9yOgogICAgIGZyb20gdXJsbGli
MiBpbXBvcnQgdXJsb3BlbgogCiBGTEFUUEFLX1JFUSA9IFsKLSAgICAoImZsYXRwYWsiLCAiMC4x
MC4wIiksCi0gICAgKCJmbGF0cGFrLWJ1aWxkZXIiLCAiMC4xMC4wIiksCisgICAgKCJmbGF0cGFr
IiwgIjEuNC40IiksCiBdCiAKIEZMQVRQQUtfVkVSU0lPTiA9IHt9CiAKLVdQRV9NQU5JRkVTVF9N
QVAgPSB7Ci0gICAgInF0IjogIm9yZy53ZWJraXQuV1BFUVQueWFtbCIsCi19Ci0KIHNjcmlwdGRp
ciA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pKQogX2xvZyA9IGxv
Z2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCitGTEFUUEFLX1VTRVJfRElSX1BBVEggPSBvcy5w
YXRoLnJlYWxwYXRoKG9zLnBhdGguam9pbihzY3JpcHRkaXIsICIuLi8uLi9XZWJLaXRCdWlsZCIs
ICJVc2VyRmxhdHBhayIpKQogCiBjbGFzcyBDb2xvcnM6CiAgICAgSEVBREVSID0gIlwwMzNbOTVt
IgpAQCAtMTIzLDEzMiArMTE5LDYgQEAgZGVmIGNoZWNrX2ZsYXRwYWsodmVyYm9zZT1UcnVlKToK
ICAgICByZXR1cm4gVHJ1ZQogCiAKLWRlZiByZW1vdmVfZXh0ZW5zaW9uX3BvaW50cyhhcnJheSk6
Ci0gICAgcmVzdWx0X2FyZ3MgPSBbXQotICAgIGZvciBhcmcgaW4gYXJyYXk6Ci0gICAgICAgIGlm
KG5vdCBhcmcuc3RhcnRzd2l0aCgnLS1leHRlbnNpb24nKSk6Ci0gICAgICAgICAgICByZXN1bHRf
YXJncy5hcHBlbmQoYXJnKQotICAgIHJldHVybiByZXN1bHRfYXJncwotCi0KLWRlZiByZW1vdmVf
Y29tbWVudHMoc3RyaW5nKToKLSAgICBwYXR0ZXJuID0gciIoXCIuKj9cInxcJy4qP1wnKXwoL1wq
Lio/XCovfC8vW15cclxuXSokKSIKLSAgICAjIGZpcnN0IGdyb3VwIGNhcHR1cmVzIHF1b3RlZCBz
dHJpbmdzIChkb3VibGUgb3Igc2luZ2xlKQotICAgICMgc2Vjb25kIGdyb3VwIGNhcHR1cmVzIGNv
bW1lbnRzICgvL3NpbmdsZS1saW5lIG9yIC8qIG11bHRpLWxpbmUgKi8pCi0gICAgcmVnZXggPSBy
ZS5jb21waWxlKHBhdHRlcm4sIHJlLk1VTFRJTElORSB8IHJlLkRPVEFMTCkKLQotICAgIGRlZiBf
cmVwbGFjZXIobWF0Y2gpOgotICAgICAgICAjIGlmIHRoZSAybmQgZ3JvdXAgKGNhcHR1cmluZyBj
b21tZW50cykgaXMgbm90IE5vbmUsCi0gICAgICAgICMgaXQgbWVhbnMgd2UgaGF2ZSBjYXB0dXJl
ZCBhIG5vbi1xdW90ZWQgKHJlYWwpIGNvbW1lbnQgc3RyaW5nLgotICAgICAgICBpZiBtYXRjaC5n
cm91cCgyKSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHJldHVybiAiIiAgIyBzbyB3ZSB3aWxs
IHJldHVybiBlbXB0eSB0byByZW1vdmUgdGhlIGNvbW1lbnQKLSAgICAgICAgZWxzZTogICMgb3Ro
ZXJ3aXNlLCB3ZSB3aWxsIHJldHVybiB0aGUgMXN0IGdyb3VwCi0gICAgICAgICAgICByZXR1cm4g
bWF0Y2guZ3JvdXAoMSkgICMgY2FwdHVyZWQgcXVvdGVkLXN0cmluZwotICAgIHJldHVybiByZWdl
eC5zdWIoX3JlcGxhY2VyLCBzdHJpbmcpCi0KLQotZGVmIGxvYWRfbWFuaWZlc3QobWFuaWZlc3Rf
cGF0aCwgcG9ydF9uYW1lPU5vbmUsIGNvbW1hbmQ9Tm9uZSk6Ci0gICAgaXNfeWFtbCA9IG1hbmlm
ZXN0X3BhdGguZW5kc3dpdGgoJy55YW1sJykKLSAgICB3aXRoIG9wZW4obWFuaWZlc3RfcGF0aCwg
InIiKSBhcyBtcjoKLSAgICAgICAgY29udGVudHMgPSBtci5yZWFkKCkKLQotICAgICAgICBjb250
ZW50cyA9IGNvbnRlbnRzICUgeyJDT01NQU5EIjogY29tbWFuZCwgIlBPUlROQU1FIjogcG9ydF9u
YW1lfQotICAgICAgICBpZiBpc195YW1sOgotICAgICAgICAgICAgaW1wb3J0IHlhbWwKLSAgICAg
ICAgICAgIHlhbWxfbG9hZCA9IGdldGF0dHIoeWFtbCwgInNhZmVfbG9hZCIsIHlhbWwubG9hZCkK
LSAgICAgICAgICAgIG1hbmlmZXN0ID0geWFtbF9sb2FkKGNvbnRlbnRzKQotICAgICAgICBlbHNl
OgotICAgICAgICAgICAgY29udGVudHMgPSByZW1vdmVfY29tbWVudHMoY29udGVudHMpCi0gICAg
ICAgICAgICBtYW5pZmVzdCA9IGpzb24ubG9hZHMoY29udGVudHMpCi0KLSAgICByZXR1cm4gbWFu
aWZlc3QKLQotCi1kZWYgZXhwYW5kX3N1Ym1vZHVsZXNfcmVjdXJzZShtb2R1bGVzLCBtYW5pZmVz
dF9wYXRoLCBwb3J0X25hbWUsIGNvbW1hbmQpOgotICAgIGFsbF9tb2R1bGVzID0gW10KLSAgICBp
ZiB0eXBlKG1vZHVsZXMpIGlzIHN0cjoKLSAgICAgICAgc3VibWFuaWZlc3RfcGF0aCA9IG9zLnBh
dGguam9pbihvcy5wYXRoLmRpcm5hbWUobWFuaWZlc3RfcGF0aCksIG1vZHVsZXMpCi0gICAgICAg
IHN1Ym1hbmlmZXN0ID0gbG9hZF9tYW5pZmVzdChzdWJtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWU9
cG9ydF9uYW1lLCBjb21tYW5kPWNvbW1hbmQpCi0gICAgICAgIGFsbF9tb2R1bGVzLmV4dGVuZChl
eHBhbmRfc3VibW9kdWxlc19yZWN1cnNlKHN1Ym1hbmlmZXN0LCBzdWJtYW5pZmVzdF9wYXRoLCBw
b3J0X25hbWUsIGNvbW1hbmQpKQotICAgICAgICByZXR1cm4gYWxsX21vZHVsZXMKLQotICAgICMg
VGhlIGxhc3QgcmVjdXJzZSBtYW5pZmVzdCBleHBhbmQgaXRlcmF0aW9uIG1pZ2h0IGxlYWQgdG8g
YSBzaW5nbGUgbW9kdWxlLgotICAgIGlmIG5vdCBpc2luc3RhbmNlKG1vZHVsZXMsIGxpc3QpOgot
ICAgICAgICBhbGxfbW9kdWxlcy5hcHBlbmQobW9kdWxlcykKLSAgICAgICAgcmV0dXJuIGFsbF9t
b2R1bGVzCi0KLSAgICBmb3IgbW9kdWxlIGluIG1vZHVsZXM6Ci0gICAgICAgIGlmIHR5cGUobW9k
dWxlKSBpcyBzdHI6Ci0gICAgICAgICAgICBzdWJtYW5pZmVzdF9wYXRoID0gb3MucGF0aC5qb2lu
KG9zLnBhdGguZGlybmFtZShtYW5pZmVzdF9wYXRoKSwgbW9kdWxlKQotICAgICAgICAgICAgc3Vi
bWFuaWZlc3QgPSBsb2FkX21hbmlmZXN0KHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZT1wb3J0
X25hbWUsIGNvbW1hbmQ9Y29tbWFuZCkKLSAgICAgICAgICAgIGFsbF9tb2R1bGVzLmV4dGVuZChl
eHBhbmRfc3VibW9kdWxlc19yZWN1cnNlKHN1Ym1hbmlmZXN0LCBzdWJtYW5pZmVzdF9wYXRoLCBw
b3J0X25hbWUsIGNvbW1hbmQpKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgYWxsX21vZHVs
ZXMuYXBwZW5kKG1vZHVsZSkKLQotICAgIHJldHVybiBhbGxfbW9kdWxlcwotCi1kZWYgZXhwYW5k
X21hbmlmZXN0KG1hbmlmZXN0X3BhdGgsIG91dGZpbGUsIHBvcnRfbmFtZSwgc291cmNlX3Jvb3Qs
IGNvbW1hbmQpOgotICAgICIiIkNyZWF0ZXMgdGhlIG1hbmlmZXN0IGZpbGUuIiIiCi0gICAgdHJ5
OgotICAgICAgICBvcy5yZW1vdmUob3V0ZmlsZSkKLSAgICBleGNlcHQgT1NFcnJvcjoKLSAgICAg
ICAgcGFzcwotCi0gICAgbWFuaWZlc3QgPSBsb2FkX21hbmlmZXN0KG1hbmlmZXN0X3BhdGgsIHBv
cnRfbmFtZT1wb3J0X25hbWUsIGNvbW1hbmQ9Y29tbWFuZCkKLSAgICBpZiBub3QgbWFuaWZlc3Q6
Ci0gICAgICAgIHJldHVybiBGYWxzZQotCi0gICAgaWYgInNkay1oYXNoIiBpbiBtYW5pZmVzdDoK
LSAgICAgICAgZGVsIG1hbmlmZXN0WyJzZGstaGFzaCJdCi0gICAgaWYgInJ1bnRpbWUtaGFzaCIg
aW4gbWFuaWZlc3Q6Ci0gICAgICAgIGRlbCBtYW5pZmVzdFsicnVudGltZS1oYXNoIl0KLQotICAg
IGFsbF9tb2R1bGVzID0gW10KLQotICAgIG92ZXJyaWRlbl9tb2R1bGVzID0gW10KLSAgICBpZiAi
V0VCS0lUX0VYVFJBX01PRFVMRVNFVFMiIGluIG9zLmVudmlyb246Ci0gICAgICAgIG92ZXJyaWRl
bl9tb2R1bGVzID0gbG9hZF9tYW5pZmVzdChvcy5lbnZpcm9uWyJXRUJLSVRfRVhUUkFfTU9EVUxF
U0VUUyJdKQotICAgICAgICBpZiBub3Qgb3ZlcnJpZGVuX21vZHVsZXM6Ci0gICAgICAgICAgICBv
dmVycmlkZW5fbW9kdWxlcyA9IFtdCi0gICAgZm9yIG1vZHVsZXMgaW4gbWFuaWZlc3RbIm1vZHVs
ZXMiXToKLSAgICAgICAgbW9kdWxlcyA9IGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2UobW9kdWxl
cywgbWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lLCBjb21tYW5kKQotCi0gICAgICAgIGlmIG5vdCBp
c2luc3RhbmNlKG1vZHVsZXMsIGxpc3QpOgotICAgICAgICAgICAgbW9kdWxlcyA9IFttb2R1bGVz
XQotCi0gICAgICAgIGZvciBtb2R1bGUgaW4gbW9kdWxlczoKLSAgICAgICAgICAgIGZvciBvdmVy
cmlkZW5fbW9kdWxlIGluIG92ZXJyaWRlbl9tb2R1bGVzOgotICAgICAgICAgICAgICAgIGlmIG1v
ZHVsZVsnbmFtZSddID09IG92ZXJyaWRlbl9tb2R1bGVbJ25hbWUnXToKLSAgICAgICAgICAgICAg
ICAgICAgbW9kdWxlID0gb3ZlcnJpZGVuX21vZHVsZQotICAgICAgICAgICAgICAgICAgICBvdmVy
cmlkZW5fbW9kdWxlcy5yZW1vdmUobW9kdWxlKQotICAgICAgICAgICAgICAgICAgICBicmVhawot
Ci0gICAgICAgICAgICBhbGxfbW9kdWxlcy5hcHBlbmQobW9kdWxlKQotCi0gICAgIyBBbmQgYWRk
IG92ZXJyaWRlbiBtb2R1bGVzIHJpZ2h0IGJlZm9yZSB0aGUgd2Via2l0IHBvcnQgYnVpbGQgZGVm
LgotICAgIGZvciBvdmVycmlkZW5fbW9kdWxlIGluIG92ZXJyaWRlbl9tb2R1bGVzOgotICAgICAg
ICBhbGxfbW9kdWxlcy5pbnNlcnQoLTEsIG92ZXJyaWRlbl9tb2R1bGUpCi0KLSAgICBtYW5pZmVz
dFsibW9kdWxlcyJdID0gYWxsX21vZHVsZXMKLSAgICBmb3IgbW9kdWxlIGluIG1hbmlmZXN0WyJt
b2R1bGVzIl06Ci0gICAgICAgIGlmIG5vdCBtb2R1bGUuZ2V0KCJzb3VyY2VzIik6Ci0gICAgICAg
ICAgICBjb250aW51ZQotCi0gICAgICAgIGlmIG1vZHVsZVsic291cmNlcyJdWzBdWyJ0eXBlIl0g
PT0gImdpdCI6Ci0gICAgICAgICAgICBpZiBwb3J0X25hbWUgPT0gbW9kdWxlWyJuYW1lIl06Ci0g
ICAgICAgICAgICAgICAgcmVwbyA9ICJmaWxlOi8vIiArIHNvdXJjZV9yb290Ci0gICAgICAgICAg
ICAgICAgbW9kdWxlWyJzb3VyY2VzIl1bMF1bInVybCJdID0gcmVwbwotCi0gICAgICAgIGZvciBz
b3VyY2UgaW4gbW9kdWxlWyJzb3VyY2VzIl06Ci0gICAgICAgICAgICBpZiBzb3VyY2VbInR5cGUi
XSA9PSAicGF0Y2giIG9yIChzb3VyY2VbInR5cGUiXSA9PSAiZmlsZSIgYW5kIHNvdXJjZS5nZXQo
J3BhdGgnKSk6Ci0gICAgICAgICAgICAgICAgc291cmNlWyJwYXRoIl0gPSBvcy5wYXRoLmpvaW4o
b3MucGF0aC5kaXJuYW1lKG1hbmlmZXN0X3BhdGgpLCBzb3VyY2VbInBhdGgiXSkKLQotICAgIHdp
dGggb3BlbihvdXRmaWxlLCAidyIpIGFzIG9mOgotICAgICAgICBvZi53cml0ZShqc29uLmR1bXBz
KG1hbmlmZXN0LCBpbmRlbnQ9NCkpCi0KLSAgICByZXR1cm4gVHJ1ZQotCi0KIGNsYXNzIEZsYXRw
YWtPYmplY3Q6CiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgdXNlcik6CkBAIC0yODAsNDUgKzE1
MCwyNSBAQCBjbGFzcyBGbGF0cGFrUGFja2FnZXMoRmxhdHBha09iamVjdCk6CiAKICAgICAgICAg
c2VsZi5yZXBvcyA9IHJlcG9zCiAKLSAgICAgICAgc2VsZi5ydW50aW1lcyA9IHNlbGYuX19kZXRl
Y3RfcnVudGltZXMoKQotICAgICAgICBzZWxmLmFwcHMgPSBzZWxmLl9fZGV0ZWN0X2FwcHMoKQot
ICAgICAgICBzZWxmLnBhY2thZ2VzID0gc2VsZi5ydW50aW1lcyArIHNlbGYuYXBwcwotCisgICAg
ICAgIHNlbGYucGFja2FnZXMgPSBzZWxmLl9fZGV0ZWN0X3J1bnRpbWVzKCkKIAogICAgIGRlZiBf
X2RldGVjdF9wYWNrYWdlcyhzZWxmLCAqYXJncyk6CiAgICAgICAgIHBhY2tzID0gW10KLSAgICAg
ICAgaWYgRkxBVFBBS19WRVJTSU9OWyJmbGF0cGFrIl0gPCAoMSwgMSwgMik6Ci0gICAgICAgICAg
ICBvdXQgPSBzZWxmLmZsYXRwYWsoImxpc3QiLCAiLWQiLCAqYXJncykKLSAgICAgICAgICAgIHBh
Y2thZ2VfZGVmcyA9IFtsaW5lIGZvciBsaW5lIGluIG91dC5zcGxpdCgiXG4iKSBpZiBsaW5lXQot
ICAgICAgICAgICAgZm9yIHBhY2thZ2VfZGVmIGluIHBhY2thZ2VfZGVmczoKLSAgICAgICAgICAg
ICAgICBzcGxpdGVkX3BhY2thZ2VkX2RlZiA9IHBhY2thZ2VfZGVmLnNwbGl0KCkKLSAgICAgICAg
ICAgICAgICBuYW1lLCBhcmNoLCBicmFuY2ggPSBzcGxpdGVkX3BhY2thZ2VkX2RlZlswXS5zcGxp
dCgiLyIpCi0KLSAgICAgICAgICAgICAgICAjIElmIGluc3RhbGxlZCBmcm9tIGEgZmlsZSwgdGhl
IHBhY2thZ2UgaXMgaW4gbm8gcmVwbwotICAgICAgICAgICAgICAgIHJlcG9fbmFtZSA9IHNwbGl0
ZWRfcGFja2FnZWRfZGVmWzFdCi0gICAgICAgICAgICAgICAgcmVwbyA9IHNlbGYucmVwb3MucmVw
b3MuZ2V0KHJlcG9fbmFtZSkKLQotICAgICAgICAgICAgICAgIHBhY2tzLmFwcGVuZChGbGF0cGFr
UGFja2FnZShuYW1lLCBicmFuY2gsIHJlcG8sIGFyY2gpKQotICAgICAgICBlbHNlOgotICAgICAg
ICAgICAgb3V0ID0gc2VsZi5mbGF0cGFrKCJsaXN0IiwgIi0tY29sdW1ucz1hcHBsaWNhdGlvbixh
cmNoLGJyYW5jaCxvcmlnaW4iLCAqYXJncykKLSAgICAgICAgICAgIHBhY2thZ2VfZGVmcyA9IFts
aW5lIGZvciBsaW5lIGluIG91dC5zcGxpdCgiXG4iKSBpZiBsaW5lXQotICAgICAgICAgICAgZm9y
IHBhY2thZ2VfZGVmIGluIHBhY2thZ2VfZGVmczoKLSAgICAgICAgICAgICAgICBuYW1lLCBhcmNo
LCBicmFuY2gsIG9yaWdpbiA9IHBhY2thZ2VfZGVmLnNwbGl0KCJcdCIpCisgICAgICAgIG91dCA9
IHNlbGYuZmxhdHBhaygibGlzdCIsICItLWNvbHVtbnM9YXBwbGljYXRpb24sYXJjaCxicmFuY2gs
b3JpZ2luIiwgKmFyZ3MpCisgICAgICAgIHBhY2thZ2VfZGVmcyA9IFtsaW5lIGZvciBsaW5lIGlu
IG91dC5zcGxpdCgiXG4iKSBpZiBsaW5lXQorICAgICAgICBmb3IgcGFja2FnZV9kZWYgaW4gcGFj
a2FnZV9kZWZzOgorICAgICAgICAgICAgbmFtZSwgYXJjaCwgYnJhbmNoLCBvcmlnaW4gPSBwYWNr
YWdlX2RlZi5zcGxpdCgiXHQiKQogCi0gICAgICAgICAgICAgICAgIyBJZiBpbnN0YWxsZWQgZnJv
bSBhIGZpbGUsIHRoZSBwYWNrYWdlIGlzIGluIG5vIHJlcG8KLSAgICAgICAgICAgICAgICByZXBv
ID0gc2VsZi5yZXBvcy5yZXBvcy5nZXQob3JpZ2luKQorICAgICAgICAgICAgIyBJZiBpbnN0YWxs
ZWQgZnJvbSBhIGZpbGUsIHRoZSBwYWNrYWdlIGlzIGluIG5vIHJlcG8KKyAgICAgICAgICAgIHJl
cG8gPSBzZWxmLnJlcG9zLnJlcG9zLmdldChvcmlnaW4pCiAKLSAgICAgICAgICAgICAgICBwYWNr
cy5hcHBlbmQoRmxhdHBha1BhY2thZ2UobmFtZSwgYnJhbmNoLCByZXBvLCBhcmNoKSkKKyAgICAg
ICAgICAgIHBhY2tzLmFwcGVuZChGbGF0cGFrUGFja2FnZShuYW1lLCBicmFuY2gsIHJlcG8sIGFy
Y2gpKQogCiAgICAgICAgIHJldHVybiBwYWNrcwogCi0KICAgICBkZWYgX19kZXRlY3RfcnVudGlt
ZXMoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9fZGV0ZWN0X3BhY2thZ2VzKCItLXJ1bnRp
bWUiKQogCi0gICAgZGVmIF9fZGV0ZWN0X2FwcHMoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxm
Ll9fZGV0ZWN0X3BhY2thZ2VzKCkKLQogICAgIGRlZiBfX2l0ZXJfXyhzZWxmKToKICAgICAgICAg
Zm9yIHBhY2thZ2UgaW4gc2VsZi5wYWNrYWdlczoKICAgICAgICAgICAgIHlpZWxkIHBhY2thZ2UK
QEAgLTMzMyw0NyArMTgzLDE2IEBAIGNsYXNzIEZsYXRwYWtSZXBvcyhGbGF0cGFrT2JqZWN0KToK
IAogICAgIGRlZiB1cGRhdGUoc2VsZik6CiAgICAgICAgIHNlbGYucmVwb3MgPSB7fQotICAgICAg
ICBpZiBGTEFUUEFLX1ZFUlNJT05bImZsYXRwYWsiXSA8ICgxLCAxLCAyKToKLSAgICAgICAgICAg
IG91dCA9IHNlbGYuZmxhdHBhaygicmVtb3RlLWxpc3QiLCAiLWQiKQotICAgICAgICAgICAgcmVt
b3RlcyA9IFtsaW5lIGZvciBsaW5lIGluIG91dC5zcGxpdCgiXG4iKSBpZiBsaW5lXQotICAgICAg
ICAgICAgZm9yIHJlcG8gaW4gcmVtb3RlczoKLSAgICAgICAgICAgICAgICBmb3IgY29tcG9uZW50
cyBpbiBbcmVwby5zcGxpdCgiICIpLCByZXBvLnNwbGl0KCJcdCIpXToKLSAgICAgICAgICAgICAg
ICAgICAgaWYgbGVuKGNvbXBvbmVudHMpID09IDE6Ci0gICAgICAgICAgICAgICAgICAgICAgICBj
b21wb25lbnRzID0gcmVwby5zcGxpdCgiXHQiKQotICAgICAgICAgICAgICAgICAgICBuYW1lID0g
Y29tcG9uZW50c1swXQotICAgICAgICAgICAgICAgICAgICBkZXNjID0gIiIKLSAgICAgICAgICAg
ICAgICAgICAgdXJsID0gTm9uZQotICAgICAgICAgICAgICAgICAgICBmb3IgZWxlbSBpbiBjb21w
b25lbnRzWzE6XToKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBlbGVtOgotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgICAgICAgICBw
YXJzZWRfdXJsID0gdXJscGFyc2UoZWxlbSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIHBh
cnNlZF91cmwuc2NoZW1lOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybCA9IGVsZW0K
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawotCi0gICAgICAgICAgICAgICAgICAg
ICAgICBpZiBkZXNjOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2MgKz0gIiAiCi0g
ICAgICAgICAgICAgICAgICAgICAgICBkZXNjICs9IGVsZW0KLQotICAgICAgICAgICAgICAgICAg
ICBpZiB1cmw6Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhawotCi0gICAgICAgICAgICAg
ICAgaWYgbm90IHVybDoKLSAgICAgICAgICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJObyB2
YWxpZCBVUkkgZm91bmQgZm9yOiAlcyIsIHJlcG8pCi0gICAgICAgICAgICAgICAgICAgIGNvbnRp
bnVlCi0KLSAgICAgICAgICAgICAgICBzZWxmLnJlcG9zW25hbWVdID0gRmxhdHBha1JlcG8obmFt
ZSwgdXJsLCBkZXNjLCByZXBvcz1zZWxmKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgb3V0
ID0gc2VsZi5mbGF0cGFrKCJyZW1vdGUtbGlzdCIsICItLWNvbHVtbnM9bmFtZSx0aXRsZSx1cmwi
KQotICAgICAgICAgICAgcmVtb3RlcyA9IFtsaW5lIGZvciBsaW5lIGluIG91dC5zcGxpdCgiXG4i
KSBpZiBsaW5lXQotICAgICAgICAgICAgZm9yIHJlbW90ZSBpbiByZW1vdGVzOgotICAgICAgICAg
ICAgICAgIG5hbWUsIHRpdGxlLCB1cmwgPSByZW1vdGUuc3BsaXQoIlx0IikKLSAgICAgICAgICAg
ICAgICBwYXJzZWRfdXJsID0gdXJscGFyc2UodXJsKQotICAgICAgICAgICAgICAgIGlmIG5vdCBw
YXJzZWRfdXJsLnNjaGVtZToKLSAgICAgICAgICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJO
byB2YWxpZCBVUkkgZm91bmQgZm9yOiAlcyIsIHJlbW90ZSkKLSAgICAgICAgICAgICAgICAgICAg
Y29udGludWUKKyAgICAgICAgb3V0ID0gc2VsZi5mbGF0cGFrKCJyZW1vdGUtbGlzdCIsICItLWNv
bHVtbnM9bmFtZSx0aXRsZSx1cmwiKQorICAgICAgICByZW1vdGVzID0gW2xpbmUgZm9yIGxpbmUg
aW4gb3V0LnNwbGl0KCJcbiIpIGlmIGxpbmVdCisgICAgICAgIGZvciByZW1vdGUgaW4gcmVtb3Rl
czoKKyAgICAgICAgICAgIG5hbWUsIHRpdGxlLCB1cmwgPSByZW1vdGUuc3BsaXQoIlx0IikKKyAg
ICAgICAgICAgIHBhcnNlZF91cmwgPSB1cmxwYXJzZSh1cmwpCisgICAgICAgICAgICBpZiBub3Qg
cGFyc2VkX3VybC5zY2hlbWU6CisgICAgICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJObyB2
YWxpZCBVUkkgZm91bmQgZm9yOiAlcyIsIHJlbW90ZSkKKyAgICAgICAgICAgICAgICBjb250aW51
ZQogCi0gICAgICAgICAgICAgICAgc2VsZi5yZXBvc1tuYW1lXSA9IEZsYXRwYWtSZXBvKG5hbWUs
IHVybCwgdGl0bGUsIHJlcG9zPXNlbGYpCisgICAgICAgICAgICBzZWxmLnJlcG9zW25hbWVdID0g
RmxhdHBha1JlcG8obmFtZT1uYW1lLCB1cmw9dXJsLCBkZXNjPXRpdGxlLCByZXBvcz1zZWxmKQog
CiAgICAgICAgIHNlbGYucGFja2FnZXMgPSBGbGF0cGFrUGFja2FnZXMoc2VsZikKIApAQCAtNDIw
LDcgKzIzOSwxMCBAQCBjbGFzcyBGbGF0cGFrUmVwbyhGbGF0cGFrT2JqZWN0KToKICAgICAgICAg
aWYgcmVwb19maWxlIGFuZCBub3QgdXJsOgogICAgICAgICAgICAgcmVwbyA9IGNvbmZpZ3BhcnNl
ci5Db25maWdQYXJzZXIoKQogICAgICAgICAgICAgcmVwby5yZWFkKHNlbGYucmVwb19maWxlLm5h
bWUpCi0gICAgICAgICAgICBzZWxmLnVybCA9IHJlcG9bIkZsYXRwYWsgUmVwbyJdWyJVcmwiXQor
ICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYudXJsID0gcmVwb1siRmxhdHBh
ayBSZXBvIl1bIlVybCJdCisgICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAg
ICAgICAgICAgICAgc2VsZi51cmwgPSByZXBvLmdldCgiRmxhdHBhayBSZXBvIiwgIlVybCIpCiAg
ICAgICAgIGVsc2U6CiAgICAgICAgICAgICBhc3NlcnQgdXJsCiAKQEAgLTQ0OSw5ICsyNzEsMTIg
QEAgY2xhc3MgRmxhdHBha1BhY2thZ2UoRmxhdHBha09iamVjdCk6CiAgICAgICAgIHNlbGYuYXJj
aCA9IGFyY2gKICAgICAgICAgc2VsZi5oYXNoID0gaGFzaAogCi0gICAgZGVmIF9fc3RyX18oc2Vs
Zik6CisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgogICAgICAgICByZXR1cm4gIiVzLyVzLyVzICVz
IiAlIChzZWxmLm5hbWUsIHNlbGYuYXJjaCwgc2VsZi5icmFuY2gsIHNlbGYucmVwby5uYW1lKQog
CisgICAgZGVmIF9fc3RyX18oc2VsZik6CisgICAgICAgIHJldHVybiAiJXMvJXMvJXMiICUgKHNl
bGYubmFtZSwgc2VsZi5hcmNoLCBzZWxmLmJyYW5jaCkKKwogICAgIGRlZiBpc19pbnN0YWxsZWQo
c2VsZiwgYnJhbmNoKToKICAgICAgICAgaWYgbm90IHNlbGYucmVwbzoKICAgICAgICAgICAgICMg
QnVuZGxlIGluc3RhbGxlZCBmcm9tIGZpbGUKQEAgLTQ5MSw3ICszMTYsNyBAQCBjbGFzcyBGbGF0
cGFrUGFja2FnZShGbGF0cGFrT2JqZWN0KToKICAgICAgICAgZXh0cmFfYXJncy5hcHBlbmQoIi0t
YXNzdW1leWVzIikKIAogICAgICAgICBzZWxmLmZsYXRwYWsoInVwZGF0ZSIsIHNlbGYubmFtZSwg
c2VsZi5icmFuY2gsIHNob3dfb3V0cHV0PVRydWUsCi0gICAgICAgICAgICAgICAgICAgICpleHRy
YV9hcmdzLCBjb21tZW50PWNvbW1lbnQpCisgICAgICAgICAgICAgICAgICAgICAqZXh0cmFfYXJn
cywgY29tbWVudD1jb21tZW50KQogCiAKIEBjb250ZXh0bWFuYWdlcgpAQCAtNTE5LDU0ICszNDQs
NTggQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQo
Jy0tdmVyYm9zZScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhlbHA9J1Nob3cgZGVidWcgbWVzc2FnZScpCiAgICAgICAgIGdlbmVyYWwuYWRkX2Fy
Z3VtZW50KCItLWRlYnVnIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJDb21w
aWxlIHdpdGggRGVidWcgY29uZmlndXJhdGlvbiwgYWxzbyBpbnN0YWxscyBTZGsgZGVidWcgc3lt
Ym9sZXMuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUi
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJDb21waWxlIHdpdGggRGVidWcg
Y29uZmlndXJhdGlvbiwgYWxzbyBpbnN0YWxscyBTZGsgZGVidWcgc3ltYm9sZXMuIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIikKICAgICAgICAgZ2Vu
ZXJhbC5hZGRfYXJndW1lbnQoIi0tcmVsZWFzZSIsIGhlbHA9IkNvbXBpbGUgd2l0aCBSZWxlYXNl
IGNvbmZpZ3VyYXRpb24uIiwgYWN0aW9uPSJzdG9yZV90cnVlIikKICAgICAgICAgZ2VuZXJhbC5h
ZGRfYXJndW1lbnQoJy0tcGxhdGZvcm0nLCBhY3Rpb249J3N0b3JlJywgaGVscD0nUGxhdGZvcm0g
dG8gdXNlIChlLmcuLCAibWFjLWxpb24iKScpLAogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVu
dCgnLS1ndGsnLCBhY3Rpb249J3N0b3JlX2NvbnN0JywgZGVzdD0ncGxhdGZvcm0nLCBjb25zdD0n
Z3RrJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nQWxpYXMgZm9yIC0tcGxh
dGZvcm09Z3RrJykKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoJy0td3BlJywgYWN0aW9u
PSdzdG9yZV9jb25zdCcsIGRlc3Q9J3BsYXRmb3JtJywgY29uc3Q9J3dwZScsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaGVscD0oJ0FsaWFzIGZvciAtLXBsYXRmb3JtPXdwZScpKQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSgnQWxpYXMgZm9yIC0tcGxhdGZvcm09d3Bl
JykpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItbmYiLCAiLS1uby1mbGF0cGFrLXVw
ZGF0ZSIsIGRlc3Q9Im5vX2ZsYXRwYWtfdXBkYXRlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBhY3Rpb249InN0b3JlX3RydWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhl
bHA9IkRvIG5vdCB1cGRhdGUgZmxhcHRhayBydW50aW1lL3NkayIpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhlbHA9IkRvIG5vdCB1cGRhdGUgZmxhcHRhayBydW50aW1lL3NkayIpCiAgICAgICAg
IGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItdSIsICItLXVwZGF0ZSIsIGRlc3Q9InVwZGF0ZSIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBoZWxwPSJVcGRhdGUgdGhlIHJ1bnRpbWUvc2RrL2FwcCBhbmQg
cmVidWlsZCB0aGUgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgaWYgbmVlZGVkIikKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaGVscD0iVXBkYXRlIHRoZSBydW50aW1lL3Nkay9hcHAgYW5kIHJlYnVp
bGQgdGhlIGRldmVsb3BtZW50IGVudmlyb25tZW50IGlmIG5lZWRlZCIpCiAgICAgICAgIGdlbmVy
YWwuYWRkX2FyZ3VtZW50KCItYiIsICItLWJ1aWxkLXdlYmtpdCIsIGRlc3Q9ImJ1aWxkX3dlYmtp
dCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJGb3JjZSByZWJ1aWxkaW5nIHRoZSBhcHAu
IikKLSAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi1iYSIsICItLWJ1aWxkLWFsbCIsIGRl
c3Q9ImJ1aWxkX2FsbCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9y
ZV90cnVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJGb3JjZSByZWJ1aWxk
aW5nIHRoZSBhcHAgYW5kIGl0cyBkZXBlbmRlbmNpZXMuIikKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaGVscD0iRm9yY2UgcmVidWlsZGluZyB0aGUgYXBwLiIpCisgICAgICAgIGdlbmVyYWwuYWRk
X2FyZ3VtZW50KCItYmdzdCIsICItLWJ1aWxkLWdzdCIsIGRlc3Q9ImJ1aWxkX2dzdCIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGhlbHA9IkZvcmNlIHJlYnVpbGRpbmcgZ3N0LWJ1aWxkLCByZXBv
c2l0b3J5IHBhdGggaXMgZGVmaW5lZCBieSB0aGUgYEdTVF9CVUlMRF9QQVRIYCBlbnZpcm9ubWVu
dCB2YXJpYWJsZS4iKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLXEiLCAiLS1xdWll
dCIsIGRlc3Q9InF1aWV0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0
b3JlX3RydWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkRvIG5vdCBwcmlu
dCBhbnl0aGluZyIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVf
dHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkRvIG5vdCBwcmludCBh
bnl0aGluZyIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItdCIsICItLXRlc3RzIiwg
ZGVzdD0icnVuX3Rlc3RzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXJncz1hcmdw
YXJzZS5SRU1BSU5ERVIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iUnVuIExh
eW91dFRlc3RzIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFyZ3M9YXJncGFyc2Uu
UkVNQUlOREVSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJSdW4gTGF5b3V0
VGVzdHMiKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLWMiLCAiLS1jb21tYW5kIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXJncz1hcmdwYXJzZS5SRU1BSU5ERVIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iVGhlIGNvbW1hbmQgdG8gcnVuIGluIHRo
ZSBzYW5kYm94IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0PSJ1c2VyX2NvbW1h
bmQiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXJncz1hcmdwYXJzZS5SRU1BSU5E
RVIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlRoZSBjb21tYW5kIHRvIHJ1
biBpbiB0aGUgc2FuZGJveCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9InVz
ZXJfY29tbWFuZCIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCctLWF2YWlsYWJsZScs
IGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9ImNoZWNrX2F2YWlsYWJsZSIsIGhlbHA9J0NoZWNr
IGlmIHJlcXVpcmVkIGRlcGVuZGVuY2llcyBhcmUgYXZhaWxhYmxlLicpLAotICAgICAgICBnZW5l
cmFsLmFkZF9hcmd1bWVudCgiLS11c2UtaWNlY3JlYW0iLCBoZWxwPSJVc2UgdGhlIGRpc3RyaWJ1
dGVkIGljZWNyZWFtIChpY2VjYykgY29tcGlsZXIuIiwgYWN0aW9uPSJzdG9yZV90cnVlIikKLSAg
ICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi0td3BlLWV4dGVuc2lvbiIsIGFjdGlvbj0ic3Rv
cmUiLCBkZXN0PSJ3cGVfZXh0ZW5zaW9uIiwgaGVscD0iV1BFIEV4dGVuc2lvbiB0byBlbmFibGUi
KQorICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLS11c2UtaWNlY3JlYW0iLCBkZXN0PSJ1
c2VfaWNlY3JlYW0iLCBoZWxwPSJVc2UgdGhlIGRpc3RyaWJ1dGVkIGljZWNyZWFtIChpY2VjYykg
Y29tcGlsZXIuIiwgYWN0aW9uPSJzdG9yZV90cnVlIikKIAogICAgICAgICBkZWJ1Z29wdGlvbnMg
PSBwYXJzZXIuYWRkX2FyZ3VtZW50X2dyb3VwKCJEZWJ1Z2dpbmciKQogICAgICAgICBkZWJ1Z29w
dGlvbnMuYWRkX2FyZ3VtZW50KCItLWdkYiIsIG5hcmdzPSI/IiwgaGVscD0iQWN0aXZhdGUgZ2Ri
LCBwYXNzaW5nIGV4dHJhIGFyZ3MgdG8gaXQgaWYgd2FudGVkLiIpCisgICAgICAgIGRlYnVnb3B0
aW9ucy5hZGRfYXJndW1lbnQoIi0tZ2RiLXN0YWNrLXRyYWNlIiwgZGVzdD0iZ2RiX3N0YWNrX3Ry
YWNlIiwgbmFyZ3M9Ij8iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9
IkR1bXAgdGhlIHN0YWNrdHJhY2UgdG8gc3Rkb3V0LiBUaGUgYXJndW1lbnQgaXMgYSB0aW1lc3Rh
bXAgdG8gYmUgcGFyc2VkIGJ5IGNvcmVkdW1wY3RsLiIpCiAgICAgICAgIGRlYnVnb3B0aW9ucy5h
ZGRfYXJndW1lbnQoIi1tIiwgIi0tY29yZWR1bXBjdGwtbWF0Y2hlcyIsIGRlZmF1bHQ9IiIsIGhl
bHA9J0FyZ3VtZW50cyB0byBwYXNzIHRvIGdkYi4nKQogCiAgICAgICAgIGJ1aWxkb3B0aW9ucyA9
IHBhcnNlci5hZGRfYXJndW1lbnRfZ3JvdXAoIkV4dHJhIGJ1aWxkIGFyZ3VtZW50cyIpCiAgICAg
ICAgIGJ1aWxkb3B0aW9ucy5hZGRfYXJndW1lbnQoIi0tbWFrZWFyZ3MiLCBoZWxwPSJPcHRpb25h
bCBNYWtlZmlsZSBmbGFncyIpCiAgICAgICAgIGJ1aWxkb3B0aW9ucy5hZGRfYXJndW1lbnQoIi0t
Y21ha2VhcmdzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iT25lIG9y
IG1vcmUgb3B0aW9uYWwgQ01ha2UgZmxhZ3MgKGUuZy4gLS1jbWFrZWFyZ3M9XCItREZPTz1iYXIg
LURDTUFLRV9QUkVGSVhfUEFUSD0vdXNyL2xvY2FsXCIpIikKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBoZWxwPSJPbmUgb3IgbW9yZSBvcHRpb25hbCBDTWFrZSBmbGFncyAoZS5n
LiAtLWNtYWtlYXJncz1cIi1ERk9PPWJhciAtRENNQUtFX1BSRUZJWF9QQVRIPS91c3IvbG9jYWxc
IikiKQogCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLWNsZWFuIiwgZGVzdD0iY2xl
YW4iLCBhY3Rpb249InN0b3JlX3RydWUiLAotICAgICAgICAgICAgaGVscD0iQ2xlYW4gcHJldmlv
dXMgYnVpbGRzIGFuZCByZXN0YXJ0IGZyb20gc2NyYXRjaCIpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGhlbHA9IkNsZWFuIHByZXZpb3VzIGJ1aWxkcyBhbmQgcmVzdGFydCBmcm9tIHNj
cmF0Y2giKQogCiAgICAgICAgIF8sIHNlbGYuYXJncyA9IHBhcnNlci5wYXJzZV9rbm93bl9hcmdz
KGFyZ3M9YXJncywgbmFtZXNwYWNlPXNlbGYpCiAKKyAgICAgICAgaWYgb3MuZW52aXJvbi5nZXQo
J0NDQUNIRV9QUkVGSVgnKSA9PSAnaWNlY2MnOgorICAgICAgICAgICAgc2VsZi51c2VfaWNlY3Jl
YW0gPSBUcnVlCisKICAgICAgICAgcmV0dXJuIHNlbGYKIAogICAgIGRlZiBfX2luaXRfXyhzZWxm
KToKQEAgLTU3NCwxNSArNDAzLDE0IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgIHNl
bGYucnVudGltZSA9IE5vbmUKICAgICAgICAgc2VsZi5sb2NhbGUgPSBOb25lCiAgICAgICAgIHNl
bGYuc2RrID0gTm9uZQotICAgICAgICBzZWxmLnNka19kZWJ1ZyA9IE5vbmUKICAgICAgICAgc2Vs
Zi5hcHAgPSBOb25lCiAKICAgICAgICAgc2VsZi52ZXJib3NlID0gRmFsc2UKICAgICAgICAgc2Vs
Zi5xdWlldCA9IEZhbHNlCi0gICAgICAgIHNlbGYucGFja3MgPSBbXQogICAgICAgICBzZWxmLnVw
ZGF0ZSA9IEZhbHNlCiAgICAgICAgIHNlbGYuYXJncyA9IFtdCiAgICAgICAgIHNlbGYuZmluaXNo
X2FyZ3MgPSBOb25lCisgICAgICAgIHNlbGYuZ2RiX3N0YWNrX3RyYWNlID0gRmFsc2UKIAogICAg
ICAgICBzZWxmLm5vX2ZsYXRwYWtfdXBkYXRlID0gRmFsc2UKICAgICAgICAgc2VsZi5yZWxlYXNl
ID0gRmFsc2UKQEAgLTU5NCw5ICs0MjIsMTAgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAg
ICAgc2VsZi5zYW5kYm94X3NvdXJjZV9yb290ID0gIi9hcHAvd2Via2l0IgogCiAgICAgICAgIHNl
bGYuYnVpbGRfd2Via2l0ID0gRmFsc2UKKyAgICAgICAgc2VsZi5idWlsZF9nc3QgPSBGYWxzZQog
ICAgICAgICBzZWxmLmJ1aWxkX2FsbCA9IEZhbHNlCiAKLSAgICAgICAgc2VsZi5zZGtfYnJhbmNo
ID0gTm9uZQorICAgICAgICBzZWxmLnNka19icmFuY2ggPSAiMC4xIgogICAgICAgICBzZWxmLnBs
YXRmb3JtID0gImd0ayIKICAgICAgICAgc2VsZi5idWlsZF90eXBlID0gIlJlbGVhc2UiCiAgICAg
ICAgIHNlbGYubWFuaWZlc3RfcGF0aCA9IE5vbmUKQEAgLTYwNyw3ICs0MzYsNiBAQCBjbGFzcyBX
ZWJraXRGbGF0cGFrOgogICAgICAgICBzZWxmLmFwcF9tb2R1bGUgPSBOb25lCiAgICAgICAgIHNl
bGYuZmxhdHBha19kZWZhdWx0X2FyZ3MgPSBbXQogICAgICAgICBzZWxmLmNoZWNrX2F2YWlsYWJs
ZSA9IEZhbHNlCi0gICAgICAgIHNlbGYud3BlX2V4dGVuc2lvbiA9IE5vbmUKIAogICAgICAgICAj
IERlZmF1bHQgYXBwbGljYXRpb24gdG8gcnVuIGluIHRoZSBzYW5kYm94CiAgICAgICAgIHNlbGYu
Y29tbWFuZCA9IE5vbmUKQEAgLTYyNSw3ICs0NTMsNyBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgog
ICAgICAgICBzZWxmLmljY192ZXJzaW9uID0gTm9uZQogCiAgICAgZGVmIGNsZWFuX2FyZ3Moc2Vs
Zik6Ci0gICAgICAgIG9zLmVudmlyb25bIkZMQVRQQUtfVVNFUl9ESVIiXSA9IG9zLmVudmlyb24u
Z2V0KCJXRUJLSVRfRkxBVFBBS19VU0VSX0RJUiIsIG9zLnBhdGgucmVhbHBhdGgob3MucGF0aC5q
b2luKHNjcmlwdGRpciwgIi4uLy4uL1dlYktpdEJ1aWxkIiwgIlVzZXJGbGF0cGFrIikpKQorICAg
ICAgICBvcy5lbnZpcm9uWyJGTEFUUEFLX1VTRVJfRElSIl0gPSBvcy5lbnZpcm9uLmdldCgiV0VC
S0lUX0ZMQVRQQUtfVVNFUl9ESVIiLCBGTEFUUEFLX1VTRVJfRElSX1BBVEgpCiAgICAgICAgIHRy
eToKICAgICAgICAgICAgIG9zLm1ha2VkaXJzKG9zLmVudmlyb25bIkZMQVRQQUtfVVNFUl9ESVIi
XSkKICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKQEAgLTYzOCw2ICs0NjYsNyBAQCBjbGFz
cyBXZWJraXRGbGF0cGFrOgogICAgICAgICAgICAgZmFjdG9yeSA9IFBvcnRGYWN0b3J5KFN5c3Rl
bUhvc3QoKSkKICAgICAgICAgICAgIHBvcnQgPSBmYWN0b3J5LmdldChzZWxmLnBsYXRmb3JtKQog
ICAgICAgICAgICAgc2VsZi5kZWJ1ZyA9IHBvcnQuZGVmYXVsdF9jb25maWd1cmF0aW9uKCkgPT0g
IkRlYnVnIgorCiAgICAgICAgIHNlbGYuYnVpbGRfdHlwZSA9ICJEZWJ1ZyIgaWYgc2VsZi5kZWJ1
ZyBlbHNlICJSZWxlYXNlIgogCiAgICAgICAgIHNlbGYucGxhdGZvcm0gPSBzZWxmLnBsYXRmb3Jt
LnVwcGVyKCkKQEAgLTY0Niw2NiArNDc1LDMzIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAg
ICAgICAgICBzZWxmLmdkYiA9ICIiCiAKICAgICAgICAgc2VsZi5jb21tYW5kID0gIiVzICVzICVz
IiAlIChvcy5wYXRoLmpvaW4oc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LAotICAgICAgICAgICAg
IlRvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93c2VyIiksCi0gICAgICAgICAgICAiLS0iICsgc2Vs
Zi5wbGF0Zm9ybS5sb3dlcigpLAotICAgICAgICAgICAgIiAtLWRlYnVnIiBpZiBzZWxmLmRlYnVn
IGVsc2UgIiAtLXJlbGVhc2UiKQotCi0gICAgICAgIHNlbGYubmFtZSA9ICJvcmcud2Via2l0LiVz
IiAlIHNlbGYucGxhdGZvcm0KLQotICAgICAgICBpZiBzZWxmLndwZV9leHRlbnNpb246Ci0gICAg
ICAgICAgICBtYW5pZmVzdF9maWxlbmFtZSA9IFdQRV9NQU5JRkVTVF9NQVBbc2VsZi53cGVfZXh0
ZW5zaW9uXQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgbWFuaWZlc3RfZmlsZW5hbWUgPSAi
b3JnLndlYmtpdC5XZWJLaXQueWFtbCIKLSAgICAgICAgc2VsZi5tYW5pZmVzdF9wYXRoID0gb3Mu
cGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihzY3JpcHRkaXIsICcuLi9mbGF0cGFrLycpICsgbWFu
aWZlc3RfZmlsZW5hbWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJUb29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlciIpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICItLSIgKyBzZWxmLnBsYXRmb3JtLmxvd2VyKCksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAtLWRlYnVnIiBpZiBzZWxmLmRl
YnVnIGVsc2UgIiAtLXJlbGVhc2UiKQogCi0gICAgICAgIHNlbGYuYnVpbGRfbmFtZSA9IHNlbGYu
bmFtZSArICItZ2VuZXJhdGVkIgorICAgICAgICBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCA9IG9z
LmVudmlyb25bIkZMQVRQQUtfVVNFUl9ESVIiXQogCiAgICAgICAgIGJ1aWxkX3Jvb3QgPSBvcy5w
YXRoLmpvaW4oc2VsZi5zb3VyY2Vfcm9vdCwgJ1dlYktpdEJ1aWxkJykKLSAgICAgICAgc2VsZi5m
bGF0cGFrX2J1aWxkX3BhdGggPSBvcy5wYXRoLmpvaW4oYnVpbGRfcm9vdCwgc2VsZi5wbGF0Zm9y
bSwgIkZsYXRwYWtUcmVlIiArIHNlbGYuYnVpbGRfdHlwZSkKLSAgICAgICAgc2VsZi5jYWNoZV9w
YXRoID0gb3MucGF0aC5qb2luKGJ1aWxkX3Jvb3QsICJGbGF0cGFrQ2FjaGUiKQogICAgICAgICBz
ZWxmLmJ1aWxkX3BhdGggPSBvcy5wYXRoLmpvaW4oYnVpbGRfcm9vdCwgc2VsZi5wbGF0Zm9ybSwg
c2VsZi5idWlsZF90eXBlKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBvcy5tYWtlZGlycyhz
ZWxmLmJ1aWxkX3BhdGgpCiAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAg
ICBpZiBlLmVycm5vICE9IGVycm5vLkVFWElTVDoKICAgICAgICAgICAgICAgICByYWlzZSBlCi0g
ICAgICAgIHNlbGYuY29uZmlnX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF9wYXRoLCAn
d2Via2l0X2ZsYXRwYWtfY29uZmlnLmpzb24nKQorICAgICAgICBzZWxmLmNvbmZpZ19maWxlID0g
b3MucGF0aC5qb2luKHNlbGYuZmxhdHBha19idWlsZF9wYXRoLCAnd2Via2l0X2ZsYXRwYWtfY29u
ZmlnLmpzb24nKQogCiAgICAgICAgIENvbnNvbGUucXVpZXQgPSBzZWxmLnF1aWV0CiAgICAgICAg
IGlmIG5vdCBjaGVja19mbGF0cGFrKCk6CiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAotICAg
ICAgICByZXBvcyA9IEZsYXRwYWtSZXBvcygpCi0gICAgICAgIHNlbGYuc2RrX3JlcG8gPSByZXBv
cy5hZGQoCi0gICAgICAgICAgICBGbGF0cGFrUmVwbygiZmxhdGh1YiIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICB1cmw9Imh0dHBzOi8vZGwuZmxhdGh1Yi5vcmcvcmVwby8iLAotICAgICAgICAg
ICAgICAgICAgICAgICAgcmVwb19maWxlPSJodHRwczovL2RsLmZsYXRodWIub3JnL3JlcG8vZmxh
dGh1Yi5mbGF0cGFrcmVwbyIpKQotCi0gICAgICAgIG1hbmlmZXN0ID0gbG9hZF9tYW5pZmVzdChz
ZWxmLm1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZT1zZWxmLm5hbWUpCi0gICAgICAgIGlmIG5vdCBt
YW5pZmVzdDoKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICBzZWxmLmZpbmlzaF9h
cmdzID0gW10KKyAgICAgICAgc2VsZi5yZXBvcyA9IEZsYXRwYWtSZXBvcygpCisgICAgICAgIHNl
bGYuc2RrX3JlcG8gPSBzZWxmLnJlcG9zLmFkZCgKKyAgICAgICAgICAgIEZsYXRwYWtSZXBvKCJ3
ZWJraXQtc2RrIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVybD0iaHR0cHM6Ly9zb2Z0d2Fy
ZS5pZ2FsaWEuY29tL3dlYmtpdC1zZGstcmVwby8iLAorICAgICAgICAgICAgICAgICAgICAgICAg
cmVwb19maWxlPSJodHRwczovL3NvZnR3YXJlLmlnYWxpYS5jb20vZmxhdHBhay1yZWZzL3dlYmtp
dC1zZGsuZmxhdHBha3JlcG8iKQorICAgICAgICApCiAKLSAgICAgICAgc2VsZi5hcHAgPSBtYW5p
ZmVzdFsnYXBwLWlkJ10KLQotICAgICAgICBzZWxmLnNka19icmFuY2ggPSBtYW5pZmVzdFsicnVu
dGltZS12ZXJzaW9uIl0KLSAgICAgICAgc2VsZi5maW5pc2hfYXJncyA9IG1hbmlmZXN0LmdldCgi
ZmluaXNoLWFyZ3MiLCBbXSkKLSAgICAgICAgc2VsZi5maW5pc2hfYXJncyA9IHJlbW92ZV9leHRl
bnNpb25fcG9pbnRzKHNlbGYuZmluaXNoX2FyZ3MpCi0gICAgICAgIHNlbGYucnVudGltZSA9IEZs
YXRwYWtQYWNrYWdlKG1hbmlmZXN0WydydW50aW1lJ10sIHNlbGYuc2RrX2JyYW5jaCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc2g9bWFuaWZlc3QuZ2V0
KCJydW50aW1lLWhhc2giKSkKLSAgICAgICAgc2VsZi5sb2NhbGUgPSBGbGF0cGFrUGFja2FnZSht
YW5pZmVzdFsncnVudGltZSddICsgJy5Mb2NhbGUnLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNlbGYuc2RrX2JyYW5jaCwgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCi0g
ICAgICAgIHNlbGYuc2RrID0gRmxhdHBha1BhY2thZ2UobWFuaWZlc3RbJ3NkayddLCBzZWxmLnNk
a19icmFuY2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVw
bywgIng4Nl82NCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzaD1tYW5p
ZmVzdC5nZXQoInNkay1oYXNoIikpCi0gICAgICAgIHNlbGYucGFja3MgPSBbc2VsZi5ydW50aW1l
LCBzZWxmLmxvY2FsZSwgc2VsZi5zZGtdCi0KLSAgICAgICAgaWYgc2VsZi5kZWJ1ZzoKLSAgICAg
ICAgICAgIHNlbGYuc2RrX2RlYnVnID0gRmxhdHBha1BhY2thZ2UobWFuaWZlc3RbJ3NkayddICsg
Jy5EZWJ1ZycsIHNlbGYuc2RrX2JyYW5jaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCi0gICAgICAgICAgICBzZWxmLnBhY2tz
LmFwcGVuZChzZWxmLnNka19kZWJ1ZykKLSAgICAgICAgc2VsZi5tYW5pZmVzdF9nZW5lcmF0ZWRf
cGF0aCA9IG9zLnBhdGguam9pbihzZWxmLmNhY2hlX3BhdGgsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5idWlsZF9uYW1lICsgIi5qc29u
IikKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgd2l0aCBvcGVuKHNlbGYuY29uZmlnX2ZpbGUp
IGFzIGNvbmZpZzoKICAgICAgICAgICAgICAgICBqc29uX2NvbmZpZyA9IGpzb24ubG9hZChjb25m
aWcpCkBAIC03MTUsNyArNTExLDQ1IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAKICAgICAgICAg
cmV0dXJuIFRydWUKIAorICAgIGRlZiBzZXR1cF9idWlsZGRpcihzZWxmLCAqKmt3YXJncyk6Cisg
ICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihzZWxmLmZsYXRwYWtfYnVpbGRf
cGF0aCwgIm1ldGFkYXRhIikpOgorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgc2VsZi5z
ZGtfcmVwby5mbGF0cGFrKCJidWlsZC1pbml0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNlbGYuZmxhdHBha19idWlsZF9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIm9yZy53ZWJraXQuV2Via2l0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0
cihzZWxmLnNkayksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2VsZi5ydW50
aW1lKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrLmJyYW5jaCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfb3V0cHV0PSJzdGRvdXQiIGluIGt3YXJn
cy5rZXlzKCkpCisKKyAgICBkZWYgc2V0dXBfZ3N0YnVpbGQoc2VsZiwgYnVpbGRpbmcpOgorICAg
ICAgICBnc3RfZGlyID0gb3MuZW52aXJvbi5nZXQoJ0dTVF9CVUlMRF9QQVRIJykKKyAgICAgICAg
aWYgbm90IGdzdF9kaXI6CisgICAgICAgICAgICByZXR1cm4gW10KKworICAgICAgICBpZiBub3Qg
b3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKGdzdF9kaXIsICdnc3QtZW52LnB5JykpOgorICAg
ICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdHU1RfQlVJTERfUEFUSCBzZXQgdG8gJXMgYnV0
IGl0IGRvZXNuXCd0IHNlZW0gdG8gYmUgYSB2YWxpZCBgZ3N0LWJ1aWxkYCBjaGVja291dC4nICUg
Z3N0X2RpcikKKworICAgICAgICBnc3RfYnVpbGRkaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5zYW5k
Ym94X3NvdXJjZV9yb290LCAiV2ViS2l0QnVpbGQiLCAnZ3N0LWJ1aWxkJykKKyAgICAgICAgaWYg
bm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihzZWxmLnNvdXJjZV9yb290LCAnV2ViS2l0
QnVpbGQnLCAnZ3N0LWJ1aWxkJywgJ2J1aWxkLm5pbmphJykpOgorICAgICAgICAgICAgaWYgbm90
IGJ1aWxkaW5nOgorICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignVHJ5aW5nIHRv
IGVudGVyIGdzdC1idWlsZCBlbnYgZnJvbSAlcyBidXQgaXQgaXMgbm90IGJ1aWx0LCBtYWtlIHN1
cmUgdG8gcmVidWlsZCB3ZWJraXQuJyAlIGdzdF9kaXIpCisKKyAgICAgICAgICAgIENvbnNvbGUu
bWVzc2FnZSgiUnVubmluZyBtZXNvbiBmb3IgYGdzdC1idWlsZGAgJXMgIiwgZ3N0X2RpcikKKyAg
ICAgICAgICAgIHNlbGYucnVuX2luX3NhbmRib3goJ21lc29uJywgZ3N0X2RpciwgZ3N0X2J1aWxk
ZGlyLCBidWlsZGluZ19nc3Q9VHJ1ZSkKKworICAgICAgICBpZiBub3QgYnVpbGRpbmc6CisgICAg
ICAgICAgICByZXR1cm4gW29zLnBhdGguam9pbihnc3RfZGlyLCAnZ3N0LWVudi5weScpLCAnLS1i
dWlsZGRpcicsIGdzdF9idWlsZGRpciwgJy0tc3JjZGlyJywgZ3N0X2Rpcl0KKworICAgICAgICBD
b25zb2xlLm1lc3NhZ2UoIkJ1aWxkaW5nIGBnc3QtYnVpbGRgICVzICIsIGdzdF9kaXIpCisgICAg
ICAgIGlmIHNlbGYucnVuX2luX3NhbmRib3goJ25pbmphJywgJy1DJywgZ3N0X2J1aWxkZGlyLCBi
dWlsZGluZ19nc3Q9VHJ1ZSkgIT0gMDoKKyAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcign
RXJyb3Igd2hpbGUgYnVpbGRpbmcgZ3N0LWJ1aWxkLicpCisKKyAgICAgICAgcmV0dXJuIFtvcy5w
YXRoLmpvaW4oZ3N0X2RpciwgJ2dzdC1lbnYucHknKSwgJy0tYnVpbGRkaXInLCBnc3RfYnVpbGRk
aXIsICctLXNyY2RpcicsIGdzdF9kaXJdCisKICAgICBkZWYgcnVuX2luX3NhbmRib3goc2VsZiwg
KmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgc2VsZi5zZXR1cF9idWlsZGRpcihzdGRvdXQ9a3dh
cmdzLmdldCgic3Rkb3V0Iiwgc3lzLnN0ZG91dCkpCiAgICAgICAgIGN3ZCA9IGt3YXJncy5wb3Ao
ImN3ZCIsIE5vbmUpCiAgICAgICAgIGV4dHJhX2Vudl92YXJzID0ga3dhcmdzLnBvcCgiZW52Iiwg
e30pCiAgICAgICAgIHN0ZG91dCA9IGt3YXJncy5wb3AoInN0ZG91dCIsIHN5cy5zdGRvdXQpCkBA
IC03MjMsNiArNTU3LDcgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKIAogICAgICAgICBpZiBub3Qg
aXNpbnN0YW5jZShhcmdzLCBsaXN0KToKICAgICAgICAgICAgIGFyZ3MgPSBsaXN0KGFyZ3MpCisK
ICAgICAgICAgaWYgYXJnczoKICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGFyZ3NbMF0p
OgogICAgICAgICAgICAgICAgIGNvbW1hbmQgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguYWJz
cGF0aChhcmdzWzBdKSkKQEAgLTczMCw5NCArNTY1LDEyMiBAQCBjbGFzcyBXZWJraXRGbGF0cGFr
OgogICAgICAgICAgICAgICAgIGFyZ3NbMF0gPSBjb21tYW5kLnJlcGxhY2Uoc2VsZi5zb3VyY2Vf
cm9vdCwgc2VsZi5zYW5kYm94X3NvdXJjZV9yb290KQogICAgICAgICAgICAgaWYgYXJnc1swXS5l
bmRzd2l0aCgiYnVpbGQtd2Via2l0Iik6CiAgICAgICAgICAgICAgICAgYXJncy5hcHBlbmQoIi0t
cHJlZml4PS9hcHAiKQorICAgICAgICBidWlsZGluZyA9IG9zLnBhdGguYmFzZW5hbWUoYXJnc1sw
XSkuc3RhcnRzd2l0aCgiYnVpbGQiKQogCiAgICAgICAgIHNhbmRib3hfYnVpbGRfcGF0aCA9IG9z
LnBhdGguam9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsICJXZWJLaXRCdWlsZCIsIHNlbGYu
YnVpbGRfdHlwZSkKLSAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUobW9k
ZT0idyIpIGFzIHRtcHNjcmlwdDoKLSAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZCA9IFsiZmxh
dHBhayIsICJidWlsZCIsICItLWRpZS13aXRoLXBhcmVudCIsCi0gICAgICAgICAgICAgICAgIi0t
YmluZC1tb3VudD0vcnVuL3NobT0vZGV2L3NobSIsCi0gICAgICAgICAgICAgICAgIyBXb3JrYXJv
dW5kIGZvciBodHRwczovL3dlYmtpdC5vcmcvYi8xODczODQgdG8gaGF2ZSBvdXIgb3duIHBlcmwg
bW9kdWxlcyB1c2FibGUgaW5zaWRlIHRoZSBzYW5kYm94Ci0gICAgICAgICAgICAgICAgIyBhcyBz
ZXR0aW5nIHRoZSBQRVJMNUxJQiBlbnZ2YXIgd29uJ3Qgd29yayBpbnNpZGUgYXBhY2hlIChhbmQg
Zm9yIHNjcmlwdHMgdXNpbmcgYHBlcmwgLVRgYCkuCi0gICAgICAgICAgICAgICAgIi0tYmluZC1t
b3VudD0vcnVuL2hvc3QvJXM9JXMiICUgKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwgdGVtcGZpbGUu
Z2V0dGVtcGRpcigpKSwKLSAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PSVzPSVzIiAlIChz
ZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsIHNlbGYuc291cmNlX3Jvb3QpLAorICAgICAgICBmbGF0
cGFrX2NvbW1hbmQgPSBbImZsYXRwYWsiLCAiYnVpbGQiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIi0tZGllLXdpdGgtcGFyZW50IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICIt
LXRhbGstbmFtZT1vcmcuYTExeS5CdXMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0t
dGFsay1uYW1lPW9yZy5ndGsudmZzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLXRh
bGstbmFtZT1vcmcuZ3RrLnZmcy4qIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLWJp
bmQtbW91bnQ9L3J1bi9zaG09L2Rldi9zaG0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IyBXb3JrYXJvdW5kIGZvciBodHRwczovL3dlYmtpdC5vcmcvYi8xODczODQgdG8gaGF2ZSBvdXIg
b3duIHBlcmwgbW9kdWxlcyB1c2FibGUgaW5zaWRlIHRoZSBzYW5kYm94CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAjIGFzIHNldHRpbmcgdGhlIFBFUkw1TElCIGVudnZhciB3b24ndCB3b3Jr
IGluc2lkZSBhcGFjaGUgKGFuZCBmb3Igc2NyaXB0cyB1c2luZyBgcGVybCAtVGBgKS4KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9L3J1bi9ob3N0LyVzPSVzIiAlICh0
ZW1wZmlsZS5nZXR0ZW1wZGlyKCksIHRlbXBmaWxlLmdldHRlbXBkaXIoKSksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PSVzPSVzIiAlIChzZWxmLnNhbmRib3hfc291
cmNlX3Jvb3QsIHNlbGYuc291cmNlX3Jvb3QpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IyBXZSBtb3VudCBXZWJLaXRCdWlsZC9QT1JUTkFNRS9CdWlsZFR5cGUgdG8gL2FwcC93ZWJraXQv
V2ViS2l0QnVpbGQvQnVpbGRUeXBlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHNvIHdl
IGNhbiBidWlsZCBXUEUgYW5kIEdUSyBpbiBhIHNhbWUgc291cmNlIHRyZWUuCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PSVzPSVzIiAlIChzYW5kYm94X2J1aWxkX3Bh
dGgsIHNlbGYuYnVpbGRfcGF0aCldCisKKyAgICAgICAgZm9yd2FyZGVkID0geworICAgICAgICAg
ICAgIldFQktJVF9UT1BfTEVWRUwiOiAiL2FwcC8iLAorICAgICAgICAgICAgIlRFU1RfUlVOTkVS
X0lOSkVDVEVEX0JVTkRMRV9GSUxFTkFNRSI6IG9zLnBhdGguam9pbihzYW5kYm94X2J1aWxkX3Bh
dGgsICJsaWIvbGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLnNvIiksCisgICAgICAgIH0KKwor
ICAgICAgICBpZiBub3QgYnVpbGRpbmc6CisgICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQuZXh0
ZW5kKFsKKyAgICAgICAgICAgICAgICAiLS1kZXZpY2U9YWxsIiwKKyAgICAgICAgICAgICAgICAi
LS1kZXZpY2U9ZHJpIiwKKyAgICAgICAgICAgICAgICAiLS1maWxlc3lzdGVtPWhvc3QiLAorICAg
ICAgICAgICAgICAgICItLXNoYXJlPWlwYyIsCisgICAgICAgICAgICAgICAgIi0tc2hhcmU9bmV0
d29yayIsCisgICAgICAgICAgICAgICAgIi0tc29ja2V0PXB1bHNlYXVkaW8iLAorICAgICAgICAg
ICAgICAgICItLXNvY2tldD1zeXN0ZW0tYnVzIiwKKyAgICAgICAgICAgICAgICAiLS1zb2NrZXQ9
d2F5bGFuZCIsCisgICAgICAgICAgICAgICAgIi0tc29ja2V0PXgxMSIsCisgICAgICAgICAgICAg
ICAgIi0tc3lzdGVtLXRhbGstbmFtZT1vcmcuYTExeS5CdXMiLAorICAgICAgICAgICAgICAgICIt
LXN5c3RlbS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkdlb0NsdWUyIiwKICAgICAgICAgICAg
ICAgICAiLS10YWxrLW5hbWU9b3JnLmExMXkuQnVzIiwKLSAgICAgICAgICAgICAgICAiLS10YWxr
LW5hbWU9b3JnLmd0ay52ZnMiLAotICAgICAgICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuZ3Rr
LnZmcy4qIiwKLSAgICAgICAgICAgICAgICAjIFdlIG1vdW50IFdlYktpdEJ1aWxkL1BPUlROQU1F
L0J1aWxkVHlwZSB0byAvYXBwL3dlYmtpdC9XZWJLaXRCdWlsZC9CdWlsZFR5cGUKLSAgICAgICAg
ICAgICAgICAjIHNvIHdlIGNhbiBidWlsZCBXUEUgYW5kIEdUSyBpbiBhIHNhbWUgc291cmNlIHRy
ZWUuCi0gICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0lcz0lcyIgJSAoc2FuZGJveF9idWls
ZF9wYXRoLCBzZWxmLmJ1aWxkX3BhdGgpXQotCi0gICAgICAgICAgICBmb3J3YXJkZWQgPSB7Ci0g
ICAgICAgICAgICAgICAgIldFQktJVF9UT1BfTEVWRUwiOiAiL2FwcC8iLAotICAgICAgICAgICAg
ICAgICJURVNUX1JVTk5FUl9JTkpFQ1RFRF9CVU5ETEVfRklMRU5BTUUiOiAiL2FwcC93ZWJraXQv
bGliL2xpYlRlc3RSdW5uZXJJbmplY3RlZEJ1bmRsZS5zbyIsCisgICAgICAgICAgICAgICAgIi0t
dGFsay1uYW1lPW9yZy5mcmVlZGVza3RvcC5GbGF0cGFrIgorICAgICAgICAgICAgXSkKKworICAg
ICAgICAgICAgZm9yd2FyZGVkLnVwZGF0ZSh7CisgICAgICAgICAgICAgICAgIlRaIjogIlBTVDhQ
RFQiLAorICAgICAgICAgICAgICAgICJMQU5HIjogImVuX1VTLlVURi04IgorICAgICAgICAgICAg
fSkKKworICAgICAgICBlbnZfdmFyX3ByZWZpeGVzX3RvX2tlZXAgPSBbCisgICAgICAgICAgICAi
RyIsCisgICAgICAgICAgICAiR0lHQUNBR0UiLAorICAgICAgICAgICAgIkdTVCIsCisgICAgICAg
ICAgICAiR1RLIiwKKyAgICAgICAgICAgICJJQ0VDQyIsCisgICAgICAgICAgICAiSlNDIiwKKyAg
ICAgICAgICAgICJXRUJLSVQiLAorICAgICAgICAgICAgIldFQktJVDIiLAorICAgICAgICAgICAg
IldQRSIsCisgICAgICAgIF0KKworICAgICAgICBlbnZfdmFyX3N1ZmZpeGVzX3RvX2tlZXAgPSBb
CisgICAgICAgICAgICAiSlNDX0FSR1MiLAorICAgICAgICAgICAgIldFQktJVF9BUkdTIiwKKyAg
ICAgICAgXQorCisgICAgICAgIGVudl92YXJzX3RvX2tlZXAgPSBbCisgICAgICAgICAgICAiQ0Mi
LAorICAgICAgICAgICAgIkNDQUNIRV9QUkVGSVgiLAorICAgICAgICAgICAgIkNGTEFHUyIsCisg
ICAgICAgICAgICAiQ1hYIiwKKyAgICAgICAgICAgICJDWFhGTEFHUyIsCisgICAgICAgICAgICAi
RElTUExBWSIsCisgICAgICAgICAgICAiSmF2YVNjcmlwdENvcmVVc2VKSVQiLAorICAgICAgICAg
ICAgIkxBTkciLAorICAgICAgICAgICAgIkxERkxBR1MiLAorICAgICAgICAgICAgIk1hbGxvYyIs
CisgICAgICAgICAgICAiTlVNQkVSX09GX1BST0NFU1NPUlMiLAorICAgICAgICAgICAgIlFNTDJf
SU1QT1JUX1BBVEgiLAorICAgICAgICAgICAgIldBWUxBTkRfRElTUExBWSIsCisgICAgICAgICAg
ICAiV0FZTEFORF9TT0NLRVQiLAorICAgICAgICBdCisKKyAgICAgICAgZW52X3ZhcnMgPSBvcy5l
bnZpcm9uCisgICAgICAgIGVudl92YXJzLnVwZGF0ZShleHRyYV9lbnZfdmFycykKKyAgICAgICAg
Zm9yIGVudnZhciwgdmFsdWUgaW4gZW52X3ZhcnMuaXRlbXMoKToKKyAgICAgICAgICAgIHZhcl90
b2tlbnMgPSBlbnZ2YXIuc3BsaXQoIl8iKQorICAgICAgICAgICAgaWYgdmFyX3Rva2Vuc1swXSBp
biBlbnZfdmFyX3ByZWZpeGVzX3RvX2tlZXAgb3IgZW52dmFyIGluIGVudl92YXJzX3RvX2tlZXAg
b3IgdmFyX3Rva2Vuc1stMV0gaW4gZW52X3Zhcl9zdWZmaXhlc190b19rZWVwOgorICAgICAgICAg
ICAgICAgIGZvcndhcmRlZFtlbnZ2YXJdID0gdmFsdWUKKworICAgICAgICBpZiBzZWxmLnVzZV9p
Y2VjcmVhbToKKyAgICAgICAgICAgIF9sb2cuZGVidWcoJ0VuYWJsaW5nIHRoZSBpY2VjcmVhbSBj
b21waWxlcicpCisgICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQuZXh0ZW5kKFsiLS1zaGFyZT1u
ZXR3b3JrIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91
bnQ9L3Zhci9ydW4vaWNlY2M9L3Zhci9ydW4vaWNlY2MiXSkKKworICAgICAgICAgICAgbl9jb3Jl
cyA9IG11bHRpcHJvY2Vzc2luZy5jcHVfY291bnQoKSAqIDMKKyAgICAgICAgICAgIF9sb2cuZGVi
dWcoJ0ZvbGxvd2luZyBpY2VjcmVhbSByZWNvbW1lbmRhdGlvbiBmb3IgdGhlIG51bWJlciBvZiBj
b3JlcyB0byB1c2U6ICVkJyAlIG5fY29yZXMpCisgICAgICAgICAgICBmb3J3YXJkZWQudXBkYXRl
KHsKKyAgICAgICAgICAgICAgICAiQ0NBQ0hFX1BSRUZJWCI6ICJpY2VjYyIsCiAgICAgICAgICAg
ICAgICAgIklDRUNDX1ZFUlNJT04iOiBzZWxmLmljY192ZXJzaW9uLAotICAgICAgICAgICAgfQot
Ci0gICAgICAgICAgICBlbnZfdmFyX3ByZWZpeGVzX3RvX2tlZXAgPSBbCi0gICAgICAgICAgICAg
ICAgIkdTVCIsCi0gICAgICAgICAgICAgICAgIkdUSyIsCi0gICAgICAgICAgICAgICAgIkciLAot
ICAgICAgICAgICAgICAgICJKU0MiLAotICAgICAgICAgICAgICAgICJXRUJLSVQiLAotICAgICAg
ICAgICAgICAgICJXRUJLSVQyIiwKLSAgICAgICAgICAgICAgICAiV1BFIiwKLSAgICAgICAgICAg
ICAgICAiR0lHQUNBR0UiLAotICAgICAgICAgICAgXQotCi0gICAgICAgICAgICBlbnZfdmFyc190
b19rZWVwID0gWwotICAgICAgICAgICAgICAgICJKYXZhU2NyaXB0Q29yZVVzZUpJVCIsCi0gICAg
ICAgICAgICAgICAgIk1hbGxvYyIsCi0gICAgICAgICAgICAgICAgIldBWUxBTkRfRElTUExBWSIs
Ci0gICAgICAgICAgICAgICAgIldBWUxBTkRfU09DS0VUIiwKLSAgICAgICAgICAgICAgICAiRElT
UExBWSIsCi0gICAgICAgICAgICAgICAgIkxBTkciLAotICAgICAgICAgICAgICAgICJOVU1CRVJf
T0ZfUFJPQ0VTU09SUyIsCi0gICAgICAgICAgICAgICAgIkNDQUNIRV9QUkVGSVgiLAotICAgICAg
ICAgICAgICAgICJRTUwyX0lNUE9SVF9QQVRIIiwKLSAgICAgICAgICAgIF0KLQotICAgICAgICAg
ICAgaWYgc2VsZi51c2VfaWNlY3JlYW06Ci0gICAgICAgICAgICAgICAgX2xvZy5kZWJ1ZygnRW5h
YmxpbmcgdGhlIGljZWNyZWFtIGNvbXBpbGVyJykKLSAgICAgICAgICAgICAgICBmb3J3YXJkZWRb
IkNDQUNIRV9QUkVGSVgiXSA9ICJpY2VjYyIKLSAgICAgICAgICAgICAgICBpZiBub3Qgb3MuZW52
aXJvbi5nZXQoJ05VTUJFUl9PRl9QUk9DRVNTT1JTJyk6Ci0gICAgICAgICAgICAgICAgICAgIG5f
Y29yZXMgPSBtdWx0aXByb2Nlc3NpbmcuY3B1X2NvdW50KCkgKiAzCi0gICAgICAgICAgICAgICAg
ICAgIF9sb2cuZGVidWcoJ0ZvbGxvdyBpY2VjcmVhbSByZWNvbW1lbmRhdGlvbiBmb3IgdGhlIG51
bWJlciBvZiBjb3JlcyB0byB1c2U6ICVkJyAlIG5fY29yZXMpCi0gICAgICAgICAgICAgICAgICAg
IGZvcndhcmRlZFsiTlVNQkVSX09GX1BST0NFU1NPUlMiXSA9IG5fY29yZXMKLQotICAgICAgICAg
ICAgZW52X3ZhcnMgPSBvcy5lbnZpcm9uCi0gICAgICAgICAgICBlbnZfdmFycy51cGRhdGUoZXh0
cmFfZW52X3ZhcnMpCi0gICAgICAgICAgICBmb3IgZW52dmFyLCB2YWx1ZSBpbiBlbnZfdmFycy5p
dGVtcygpOgotICAgICAgICAgICAgICAgIGlmIGVudnZhci5zcGxpdCgiXyIpWzBdIGluIGVudl92
YXJfcHJlZml4ZXNfdG9fa2VlcCBvciBlbnZ2YXIgaW4gZW52X3ZhcnNfdG9fa2VlcDoKLSAgICAg
ICAgICAgICAgICAgICAgZm9yd2FyZGVkW2VudnZhcl0gPSB2YWx1ZQotCi0gICAgICAgICAgICBm
b3IgZW52dmFyLCB2YWx1ZSBpbiBmb3J3YXJkZWQuaXRlbXMoKToKLSAgICAgICAgICAgICAgICBm
bGF0cGFrX2NvbW1hbmQuYXBwZW5kKCItLWVudj0lcz0lcyIgJSAoZW52dmFyLCB2YWx1ZSkpCi0K
LSAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZCArPSBzZWxmLmZpbmlzaF9hcmdzICsgZXh0cmFf
ZmxhdHBha19hcmdzICsgW3NlbGYuZmxhdHBha19idWlsZF9wYXRoXQotCi0gICAgICAgICAgICBz
aGVsbF9zdHJpbmcgPSAiIgotICAgICAgICAgICAgaWYgYXJnczoKLSAgICAgICAgICAgICAgICBp
ZiBjd2Q6Ci0gICAgICAgICAgICAgICAgICAgIHNoZWxsX3N0cmluZyA9ICdjZCAiJXMiICYmICIl
cyInICUgKGN3ZCwgJyIgIicuam9pbihhcmdzKSkKLSAgICAgICAgICAgICAgICBlbHNlOgotICAg
ICAgICAgICAgICAgICAgICBzaGVsbF9zdHJpbmcgPSAnIiVzIicgJSAoJyIgIicuam9pbihhcmdz
KSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2hlbGxfc3RyaW5nID0gc2Vs
Zi5jb21tYW5kCi0gICAgICAgICAgICAgICAgaWYgc2VsZi5hcmdzOgotICAgICAgICAgICAgICAg
ICAgICBzaGVsbF9zdHJpbmcgKz0gJyAiJXMiJyAlICciICInLmpvaW4oc2VsZi5hcmdzKQorICAg
ICAgICAgICAgICAgICJOVU1CRVJfT0ZfUFJPQ0VTU09SUyI6IG5fY29yZXMsCisgICAgICAgICAg
ICB9KQogCi0gICAgICAgICAgICB0bXBzY3JpcHQud3JpdGUoc2hlbGxfc3RyaW5nKQotICAgICAg
ICAgICAgdG1wc2NyaXB0LmZsdXNoKCkKKyAgICAgICAgZm9yIGVudnZhciwgdmFsdWUgaW4gZm9y
d2FyZGVkLml0ZW1zKCk6CisgICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQuYXBwZW5kKCItLWVu
dj0lcz0lcyIgJSAoZW52dmFyLCB2YWx1ZSkpCiAKLSAgICAgICAgICAgIF9sb2cuZGVidWcoJ1J1
bm5pbmcgaW4gc2FuZGJveDogIiVzIiAlc1xuJyAlICgnIiAiJy5qb2luKGZsYXRwYWtfY29tbWFu
ZCksIHNoZWxsX3N0cmluZykpCi0gICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQuZXh0ZW5kKFsn
c2gnLCAiL3J1bi9ob3N0LyIgKyB0bXBzY3JpcHQubmFtZV0pCisgICAgICAgIGdzdF9lbnYgPSBb
XQorICAgICAgICBpZiBub3Qga3dhcmdzLmdldCgnYnVpbGRpbmdfZ3N0Jyk6CisgICAgICAgICAg
ICBnc3RfZW52ID0gc2VsZi5zZXR1cF9nc3RidWlsZChidWlsZGluZykKKyAgICAgICAgZmxhdHBh
a19jb21tYW5kICs9IHNlbGYuZmluaXNoX2FyZ3MgKyBleHRyYV9mbGF0cGFrX2FyZ3MgKyBcCisg
ICAgICAgICAgICBbc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGhdICsgZ3N0X2VudiArIGFyZ3MKIAot
ICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChm
bGF0cGFrX2NvbW1hbmQsIHN0ZG91dD1zdGRvdXQpCi0gICAgICAgICAgICBleGNlcHQgc3VicHJv
Y2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICBzeXMuc3RkZXJy
LndyaXRlKHN0cihlKSArICJcbiIpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGUucmV0dXJuY29k
ZQotICAgICAgICAgICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgotICAgICAgICAgICAgICAg
IHJldHVybiAwCisgICAgICAgIF9sb2cuZGVidWcoJ1J1bm5pbmcgaW4gc2FuZGJveDogJXNcbicg
JSAnICcuam9pbihmbGF0cGFrX2NvbW1hbmQpKQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAg
IHN1YnByb2Nlc3MuY2hlY2tfY2FsbChmbGF0cGFrX2NvbW1hbmQsIHN0ZG91dD1zdGRvdXQpCisg
ICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgorICAgICAg
ICAgICAgc3lzLnN0ZGVyci53cml0ZShzdHIoZSkgKyAiXG4iKQorICAgICAgICAgICAgcmV0dXJu
IGUucmV0dXJuY29kZQorICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6CisgICAgICAg
ICAgICByZXR1cm4gMAogCiAgICAgICAgIHJldHVybiAwCiAKQEAgLTgzNSw2NCArNjk4LDQxIEBA
IGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShzZWxm
LmJ1aWxkX3BhdGgpCiAKICAgICAgICAgaWYgc2VsZi51cGRhdGU6Ci0gICAgICAgICAgICBDb25z
b2xlLm1lc3NhZ2UoIlVwZGF0aW5nIEZsYXRwYWsgZW52aXJvbm1lbnQgZm9yICVzICglcykiICUg
KAotICAgICAgICAgICAgICAgIHNlbGYucGxhdGZvcm0sIHNlbGYuYnVpbGRfdHlwZSkpCisgICAg
ICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIlVwZGF0aW5nIEZsYXRwYWsgJXMgZW52aXJvbm1lbnQi
ICUgc2VsZi5idWlsZF90eXBlKQogICAgICAgICAgICAgaWYgbm90IHNlbGYubm9fZmxhdHBha191
cGRhdGU6CiAgICAgICAgICAgICAgICAgc2VsZi51cGRhdGVfYWxsKCkKIAogICAgICAgICByZXR1
cm4gc2VsZi5zZXR1cF9kZXZfZW52KCkKIAogICAgIGRlZiBoYXNfZW52aXJvbm1lbnQoc2VsZik6
Ci0gICAgICAgIHJldHVybiBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF9w
YXRoLCBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkpCisgICAgICAgIHJldHVybiBvcy5wYXRoLmV4
aXN0cyhzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkKIAogICAgIGRlZiBzYXZlX2NvbmZpZyhzZWxm
KToKICAgICAgICAgd2l0aCBvcGVuKHNlbGYuY29uZmlnX2ZpbGUsICd3JykgYXMgY29uZmlnOgog
ICAgICAgICAgICAganNvbl9jb25maWcgPSB7J2ljZWNjX3ZlcnNpb24nOiBzZWxmLmljY192ZXJz
aW9ufQogICAgICAgICAgICAganNvbi5kdW1wKGpzb25fY29uZmlnLCBjb25maWcpCiAKLSAgICBk
ZWYgc2V0dXBfY2NhY2hlKHNlbGYpOgotICAgICAgICBmb3IgY29tcGlsZXIgaW4gWyJjKysiLCAi
Y2MiLCAiY2xhbmciLCAiY2xhbmcrKyIsICJnKysiLCAiZ2NjIl06Ci0gICAgICAgICAgICBzZWxm
LnJ1bl9pbl9zYW5kYm94KCJsbiIsICItcyIsICIuLi8uLi91c3IvYmluL2NjYWNoZSIsIGNvbXBp
bGVyLCBjd2Q9Ii9hcHAvYmluIikKLQogICAgIGRlZiBzZXR1cF9pY2VjYyhzZWxmKToKICAgICAg
ICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBhcyB0bXBmaWxlOgotICAgICAg
ICAgICAgc2VsZi5ydW5faW5fc2FuZGJveCgnaWNlY2MnLCAnLS1idWlsZC1uYXRpdmUnLCBzdGRv
dXQ9dG1wZmlsZSwgY3dkPXNlbGYuYnVpbGRfcGF0aCkKKyAgICAgICAgICAgIHNlbGYucnVuX2lu
X3NhbmRib3goJ2ljZWNjJywgJy0tYnVpbGQtbmF0aXZlJywgc3Rkb3V0PXRtcGZpbGUsIGN3ZD1z
ZWxmLnNvdXJjZV9yb290KQogICAgICAgICAgICAgdG1wZmlsZS5mbHVzaCgpCiAgICAgICAgICAg
ICB0bXBmaWxlLnNlZWsoMCkKICAgICAgICAgICAgIGljY192ZXJzaW9uX2ZpbGVuYW1lLCA9IHJl
LmZpbmRhbGwocicuKmNyZWF0aW5nICguKiknLCB0bXBmaWxlLnJlYWQoKSkKLSAgICAgICAgICAg
IHNlbGYuaWNjX3ZlcnNpb24gPSBvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF9wYXRoLCBpY2NfdmVy
c2lvbl9maWxlbmFtZSkKKyAgICAgICAgICAgIHNlbGYuaWNjX3ZlcnNpb24gPSBvcy5wYXRoLmpv
aW4oc2VsZi5zb3VyY2Vfcm9vdCwgaWNjX3ZlcnNpb25fZmlsZW5hbWUpCiAKICAgICBkZWYgc2V0
dXBfZGV2X2VudihzZWxmKToKLSAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGgu
am9pbihzZWxmLmJ1aWxkX3BhdGgsIHNlbGYuZmxhdHBha19idWlsZF9wYXRoKSkgXAotICAgICAg
ICAgICAgICAgIG9yIHNlbGYudXBkYXRlIG9yIHNlbGYuYnVpbGRfYWxsOgorICAgICAgICBpZiBu
b3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYuZmxhdHBha19idWlsZF9wYXRoLCAi
cnVudGltZSIsICJvcmcud2Via2l0LlNkayIpKSBvciBzZWxmLnVwZGF0ZSBvciBzZWxmLmJ1aWxk
X2FsbDoKICAgICAgICAgICAgIHNlbGYuaW5zdGFsbF9hbGwoKQotICAgICAgICAgICAgQ29uc29s
ZS5tZXNzYWdlKCJCdWlsZGluZyAlcyBhbmQgZGVwZW5kZW5jaWVzIGluICVzIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzZWxmLm5hbWUsIHNlbGYuZmxhdHBha19idWlsZF9wYXRoKQot
Ci0gICAgICAgICAgICAjIENyZWF0ZSBlbnZpcm9ubWVudCBkaXJzIGlmIG5lY2Vzc2FyeQotICAg
ICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIG9zLm1ha2VkaXJzKG9zLnBhdGguZGlybmFt
ZShzZWxmLm1hbmlmZXN0X2dlbmVyYXRlZF9wYXRoKSkKLSAgICAgICAgICAgIGV4Y2VwdCBPU0Vy
cm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FRVhJU1Q6Ci0g
ICAgICAgICAgICAgICAgICAgIHJhaXNlIGUKLSAgICAgICAgICAgIGlmIG5vdCBleHBhbmRfbWFu
aWZlc3Qoc2VsZi5tYW5pZmVzdF9wYXRoLCBzZWxmLm1hbmlmZXN0X2dlbmVyYXRlZF9wYXRoLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm5hbWUsIHNlbGYuc2FuZGJv
eF9zb3VyY2Vfcm9vdCwgc2VsZi5jb21tYW5kKToKLSAgICAgICAgICAgICAgICByZXR1cm4gMQot
Ci0gICAgICAgICAgICBidWlsZGVyX2FyZ3MgPSBbImZsYXRwYWstYnVpbGRlciIsICItLWRpc2Fi
bGUtcm9maWxlcy1mdXNlIiwgIi0tc3RhdGUtZGlyIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzZWxmLmNhY2hlX3BhdGgsICItLWNjYWNoZSIsIHNlbGYuZmxhdHBha19idWlsZF9wYXRo
LCAiLS1mb3JjZS1jbGVhbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tYW5p
ZmVzdF9nZW5lcmF0ZWRfcGF0aF0KLSAgICAgICAgICAgIGJ1aWxkZXJfYXJncy5hcHBlbmQoIi0t
YnVpbGQtb25seSIpCi0gICAgICAgICAgICBidWlsZGVyX2FyZ3MuYXBwZW5kKCItLXN0b3AtYXQ9
JXMiICUgc2VsZi5hcHApCi0KLSAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChidWls
ZGVyX2FyZ3MpCi0gICAgICAgICAgICBzZWxmLnNldHVwX2NjYWNoZSgpCiAgICAgICAgICAgICBz
ZWxmLnNldHVwX2ljZWNjKCkKICAgICAgICAgICAgIHNlbGYuc2F2ZV9jb25maWcoKQogCiAgICAg
ICAgIGJ1aWxkX3R5cGUgPSAiLS1kZWJ1ZyIgaWYgc2VsZi5kZWJ1ZyBlbHNlICItLXJlbGVhc2Ui
CisgICAgICAgIGlmIHNlbGYuYnVpbGRfZ3N0OgorICAgICAgICAgICAgc2VsZi5zZXR1cF9nc3Ri
dWlsZChUcnVlKQorCiAgICAgICAgIGlmIHNlbGYuYnVpbGRfd2Via2l0OgotICAgICAgICAgICAg
YnVpbGRlciA9IFtvcy5wYXRoLmpvaW4oc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCAnVG9vbHMv
U2NyaXB0cy9idWlsZC13ZWJraXQnKSwKKyAgICAgICAgICAgIGJ1aWxkZXIgPSBbCisgICAgICAg
ICAgICAgICAgb3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgJ1Rvb2xzL1Nj
cmlwdHMvYnVpbGQtd2Via2l0JyksCiAgICAgICAgICAgICAgICAgYnVpbGRfdHlwZSwgJy0tJyAr
IHNlbGYucGxhdGZvcm0ubG93ZXIoKV0KICAgICAgICAgICAgIGlmIHNlbGYubWFrZWFyZ3M6CiAg
ICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoIi0tbWFrZWFyZ3M9JXMiICUgc2VsZi5tYWtl
YXJncykKQEAgLTkwMywyNyArNzQzLDU2IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAKICAgICAg
ICAgICAgIGlmIHJlczoKICAgICAgICAgICAgICAgICByZXR1cm4gcmVzCi0gICAgICAgIGVsc2U6
Ci0gICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIlVzaW5nICVzIHByZWZpeCBpbiAlcyIsIHNl
bGYubmFtZSwgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgpCiAKICAgICAgICAgaWYgc2VsZi5ydW5f
dGVzdHMgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICB0ZXN0X2xhdW5jaGVyID0gW29zLnBhdGgu
am9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsICdUb29scy9TY3JpcHRzL3J1bi13ZWJraXQt
dGVzdHMnKSwKLSAgICAgICAgICAgICAgICBidWlsZF90eXBlLCAnLS0nICsgc2VsZi5wbGF0Zm9y
bS5sb3dlcigpXSArIHNlbGYucnVuX3Rlc3RzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJ1aWxkX3R5cGUsICctLScgKyBzZWxmLnBsYXRmb3JtLmxvd2VyKCldICsgc2VsZi5ydW5fdGVz
dHMKICAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1bl9pbl9zYW5kYm94KCp0ZXN0X2xhdW5jaGVy
KQotICAgICAgICBlbGlmIHNlbGYuZ2RiIGlzIG5vdCBOb25lOgorICAgICAgICBlbGlmIHNlbGYu
Z2RiIG9yIHNlbGYuZ2RiX3N0YWNrX3RyYWNlOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYucnVu
X2dkYigpCiAgICAgICAgIGVsaWYgc2VsZi51c2VyX2NvbW1hbmQ6CiAgICAgICAgICAgICByZXR1
cm4gc2VsZi5ydW5faW5fc2FuZGJveCgqc2VsZi51c2VyX2NvbW1hbmQpCi0gICAgICAgIGVsaWYg
bm90IHNlbGYudXBkYXRlIGFuZCBub3Qgc2VsZi5idWlsZF93ZWJraXQ6CisgICAgICAgIGVsaWYg
bm90IHNlbGYudXBkYXRlIGFuZCBub3Qgc2VsZi5idWlsZF93ZWJraXQgYW5kIG5vdCBzZWxmLmJ1
aWxkX2dzdDoKICAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1bl9pbl9zYW5kYm94KCkKIAogICAg
ICAgICByZXR1cm4gMAogCisgICAgZGVmIF9nZXRfcGFja2FnZXMoc2VsZik6CisgICAgICAgIHNl
bGYucnVudGltZSA9IEZsYXRwYWtQYWNrYWdlKCJvcmcud2Via2l0LlBsYXRmb3JtIiwgc2VsZi5z
ZGtfYnJhbmNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNk
a19yZXBvLCAieDg2XzY0IikKKyAgICAgICAgc2VsZi5sb2NhbGUgPSBGbGF0cGFrUGFja2FnZSgi
b3JnLndlYmtpdC5QbGF0Zm9ybS5Mb2NhbGUiLCBzZWxmLnNka19icmFuY2gsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCisgICAg
ICAgIHNlbGYuc2RrID0gRmxhdHBha1BhY2thZ2UoIm9yZy53ZWJraXQuU2RrIiwgc2VsZi5zZGtf
YnJhbmNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX3JlcG8s
ICJ4ODZfNjQiKQorICAgICAgICBwYWNrYWdlcyA9IFtzZWxmLnJ1bnRpbWUsIHNlbGYubG9jYWxl
LCBzZWxmLnNka10KKworICAgICAgICAjIEZJWE1FOiBGb3IgdW5rbm93biByZWFzb25zLCB0aGUg
R0wgZXh0ZW5zaW9uIG5lZWRzIHRvIGJlIGV4cGxpY2l0ZWx5CisgICAgICAgICMgaW5zdGFsbGVk
IGZvciBGbGF0cGFrIDEuMi54IHRvIGJlIGFibGUgdG8gbWFrZSB1c2Ugb2YgaXQuIFNlZW1zIGxp
a2UKKyAgICAgICAgIyBpdCdzIG5vdCBjb3JyZWN0bHkgaW5oZXJpdGluZyBpdCBmcm9tIHRoZSBT
REsuCisgICAgICAgIHNlbGYuZmxhdGh1Yl9yZXBvID0gc2VsZi5yZXBvcy5hZGQoCisgICAgICAg
ICAgICBGbGF0cGFrUmVwbygiZmxhdGh1YiIsIHJlcG9fZmlsZT0iaHR0cHM6Ly9kbC5mbGF0aHVi
Lm9yZy9yZXBvL2ZsYXRodWIuZmxhdHBha3JlcG8iKQorICAgICAgICApCisgICAgICAgIGdsX2V4
dGVuc2lvbiA9IEZsYXRwYWtQYWNrYWdlKCJvcmcuZnJlZWRlc2t0b3AuUGxhdGZvcm0uR0wuZGVm
YXVsdCIsICIxOS4wOCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl
bGYuZmxhdGh1Yl9yZXBvLCAieDg2XzY0IikKKyAgICAgICAgcGFja2FnZXMuYXBwZW5kKGdsX2V4
dGVuc2lvbikKKworICAgICAgICBpZiBzZWxmLmRlYnVnOgorICAgICAgICAgICAgc2RrX2RlYnVn
ID0gRmxhdHBha1BhY2thZ2UoJ29yZy53ZWJraXQuU2RrLkRlYnVnJywgc2VsZi5zZGtfYnJhbmNo
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywg
Ing4Nl82NCIpCisgICAgICAgICAgICBwYWNrYWdlcy5hcHBlbmQoc2RrX2RlYnVnKQorICAgICAg
ICByZXR1cm4gcGFja2FnZXMKKwogICAgIGRlZiBpbnN0YWxsX2FsbChzZWxmKToKLSAgICAgICAg
Zm9yIHBhY2thZ2UgaW4gc2VsZi5wYWNrczoKKyAgICAgICAgaWYgb3MucGF0aC5leGlzdHMob3Mu
cGF0aC5qb2luKHNlbGYuZmxhdHBha19idWlsZF9wYXRoLCAicnVudGltZSIsICJvcmcud2Via2l0
LlNkayIpKToKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIklu
c3RhbGxpbmcgJXMgZGVwZW5kZW5jaWVzIGluICVzIiwgc2VsZi5idWlsZF90eXBlLCBzZWxmLmZs
YXRwYWtfYnVpbGRfcGF0aCkKKyAgICAgICAgZm9yIHBhY2thZ2UgaW4gc2VsZi5fZ2V0X3BhY2th
Z2VzKCk6CiAgICAgICAgICAgICBpZiBub3QgcGFja2FnZS5pc19pbnN0YWxsZWQoc2VsZi5zZGtf
YnJhbmNoKToKICAgICAgICAgICAgICAgICBwYWNrYWdlLmluc3RhbGwoKQogCisgICAgZGVmIHVw
ZGF0ZV9hbGwoc2VsZik6CisgICAgICAgIHNlbGYuc2RrX3JlcG8uZmxhdHBhaygidXBkYXRlIikK
KwogICAgIGRlZiBydW5fZ2RiKHNlbGYpOgogICAgICAgICB3aXRoIGRpc2FibGVfc2lnbmFscygp
OgogICAgICAgICAgICAgdHJ5OgpAQCAtOTM1LDMxICs4MDQsMzkgQEAgY2xhc3MgV2Via2l0Rmxh
dHBhazoKICAgICAgICAgIyBXZSBuZWVkIGFjY2VzcyB0byB0aGUgaG9zdCBmcm9tIHRoZSBzYW5k
Ym94IHRvIHJ1bi4KICAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBh
cyBjb3JlZHVtcDoKICAgICAgICAgICAgIHdpdGggdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxl
KCkgYXMgc3RkZXJyOgotICAgICAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChbImNv
cmVkdW1wY3RsIiwgImR1bXAiXSArIHNobGV4LnNwbGl0KHNlbGYuY29yZWR1bXBjdGxfbWF0Y2hl
cyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dD1jb3JlZHVt
cCwgc3RkZXJyPXN0ZGVycikKKyAgICAgICAgICAgICAgICBpZiBzZWxmLmdkYl9zdGFja190cmFj
ZToKKyAgICAgICAgICAgICAgICAgICAgY21kID0gWyJjb3JlZHVtcGN0bCIsICItLXNpbmNlPSVz
IiAlIHNlbGYuZ2RiX3N0YWNrX3RyYWNlLCAiZHVtcCJdCisgICAgICAgICAgICAgICAgZWxzZToK
KyAgICAgICAgICAgICAgICAgICAgY21kID0gWyJjb3JlZHVtcGN0bCIsICJkdW1wIl0gKyBzaGxl
eC5zcGxpdChzZWxmLmNvcmVkdW1wY3RsX21hdGNoZXMpCisgICAgICAgICAgICAgICAgdHJ5Ogor
ICAgICAgICAgICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoY21kLCBzdGRvdXQ9Y29y
ZWR1bXAsIHN0ZGVycj1zdGRlcnIpCisgICAgICAgICAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3Mu
Q2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGVycjoKKyAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVu
KHN0ZGVyci5uYW1lLCAncicpIGFzIHN0ZGVycmY6CisgICAgICAgICAgICAgICAgICAgICAgICBz
dGRlcnIgPSBzdGRlcnJmLnJlYWQoKQorICAgICAgICAgICAgICAgICAgICBjbWQgPSAnICcuam9p
bihlcnIuY21kKQorICAgICAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCInJXMnIHJl
dHVybmVkIGEgbm9uLXplcm8gZXhpdCBjb2RlLiBTdGRlcnI6ICVzIiAlIChjbWQsIHN0ZGVycikp
CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBlcnIucmV0dXJuY29kZQogCiAgICAgICAgICAg
ICAgICAgd2l0aCBvcGVuKHN0ZGVyci5uYW1lLCAncicpIGFzIHN0ZGVycmY6CiAgICAgICAgICAg
ICAgICAgICAgIHN0ZGVyciA9IHN0ZGVycmYucmVhZCgpCi0gICAgICAgICAgICAgICAgZXhlY3V0
YWJsZSwgPSByZS5maW5kYWxsKCIuKkV4ZWN1dGFibGU6ICguKikiLCBzdGRlcnIpCi0gICAgICAg
ICAgICAgICAgaWYgbm90IGV4ZWN1dGFibGUuc3RhcnRzd2l0aCgiL25ld3Jvb3QiKToKLSAgICAg
ICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiRXhlY3V0YWJsZSAlcyBkb2Vzbid0IHNl
ZW0gdG8gYmUgYSBmbGF0cGFrZWQgYXBwbGljYXRpb24uXG4iICUgZXhlY3V0YWJsZSkKLQotICAg
ICAgICAgICAgICAgIGV4ZWN1dGFibGUgPSBleGVjdXRhYmxlLnJlcGxhY2UoIi9uZXdyb290Iiwg
IiIpCi0gICAgICAgICAgICAgICAgYXJncyA9IFsiZ2RiIiwgZXhlY3V0YWJsZSwgIi9ydW4vaG9z
dC8lcyIgJSBjb3JlZHVtcC5uYW1lXSArIHNobGV4LnNwbGl0KHNlbGYuZ2RiKQogCi0gICAgICAg
ICAgICAgICAgcmV0dXJuIHNlbGYucnVuX2luX3NhbmRib3goKmFyZ3MpCisgICAgICAgICAgICAg
ICAgZXhlY3V0YWJsZSwgPSByZS5maW5kYWxsKCIuKkV4ZWN1dGFibGU6ICguKikiLCBzdGRlcnIp
CiAKLSAgICBkZWYgdXBkYXRlX2FsbChzZWxmKToKLSAgICAgICAgZm9yIG0gaW4gW3NlbGYucnVu
dGltZSwgc2VsZi5zZGssIHNlbGYuc2RrX2RlYnVnXToKLSAgICAgICAgICAgIGlmIG06Ci0gICAg
ICAgICAgICAgICAgbS51cGRhdGUoKQorICAgICAgICAgICAgICAgIGlmIHNlbGYuZ2RiOgorICAg
ICAgICAgICAgICAgICAgICBiYXJncyA9IFsiZ2RiIiwgZXhlY3V0YWJsZSwgIi9ydW4vaG9zdC8l
cyIgJSBjb3JlZHVtcC5uYW1lXSArIHNobGV4LnNwbGl0KHNlbGYuZ2RiKQorICAgICAgICAgICAg
ICAgIGVsaWYgc2VsZi5nZGJfc3RhY2tfdHJhY2U6CisgICAgICAgICAgICAgICAgICAgIGJhcmdz
ID0gWyJnZGIiLCAnLWV4JywgInRocmVhZCBhcHBseSBhbGwgYmFja3RyYWNlIiwgJy0tYmF0Y2gn
LCBleGVjdXRhYmxlLCAiL3J1bi9ob3N0LyVzIiAlIGNvcmVkdW1wLm5hbWVdCiAKKyAgICAgICAg
ICAgICAgICByZXR1cm4gc2VsZi5ydW5faW5fc2FuZGJveCgqYmFyZ3MpCiAKIGRlZiBpc19zYW5k
Ym94ZWQoKToKICAgICByZXR1cm4gb3MucGF0aC5leGlzdHMoIi8uZmxhdHBhay1pbmZvIikKIAog
CiBkZWYgcnVuX2luX3NhbmRib3hfaWZfYXZhaWxhYmxlKGFyZ3MpOgorICAgIGlmIG5vdCBvcy5w
YXRoLmlzZGlyKEZMQVRQQUtfVVNFUl9ESVJfUEFUSCk6CisgICAgICAgIHJldHVybiBOb25lCisK
ICAgICBpZiBpc19zYW5kYm94ZWQoKToKICAgICAgICAgcmV0dXJuIE5vbmUKIApkaWZmIC0tZ2l0
IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbCBiL1Rvb2xzL2Zs
YXRwYWsvb3JnLndlYmtpdC5Db21tb25Nb2R1bGVzLnlhbWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGUxYTA3Y2Y4NmY4M2I2ODgzM2E1NzI4NGU0NzIzZjUyMmI3M2M0MGIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9v
cmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbAorKysgL2Rldi9udWxsCkBAIC0xLDMzMSArMCww
IEBACi0jIGh0dHAgYW5kIGRlcGVuZGVuY2llcy4KLS0gbmFtZTogYXByCi0gIHNvdXJjZXM6Ci0g
ICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvZGlz
dC9hcHIvYXByLTEuNi41LnRhci5iejIKLSAgICAgIHNoYTI1NjogYTY3Y2E5ZmNmOWM0ZmY1OWJj
ZTdmNDI4YTMyM2M4YjVlMTg2NjdmZGVhN2IwZWJhZDQ3ZDE5NDM3MWIwYTEwNQotLSBuYW1lOiBh
cHItdXRpbAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRw
czovL3d3dy5hcGFjaGUub3JnL2Rpc3QvYXByL2Fwci11dGlsLTEuNi4xLnRhci5iejIKLSAgICAg
IHNoYTUxMjogIjQwZWZmOGEzN2MwNjM0ZjdmZGRkZDZjYTVlNTk2YjM4ZGUxNWZkMTA3NjdhMzRj
MzBiYmU0OWM2MzI4MTZlOGYzZTFlMjMwNjc4MDM0ZjU3OGRkNTgxNmE5NGYyNDZmYjVkZmRmNDhk
NjQ0ODI5YWYxM2JmMjhkZTMyMjUyMDVkIgotICBjb25maWctb3B0czoKLSAgICAtIC0td2l0aC1h
cHI9L2FwcC9iaW4vYXByLTEtY29uZmlnCi0tIG5hbWU6IGh0dHBkCi0gIHNvdXJjZXM6Ci0gICAg
LSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2FwYWNoZS9odHRwZC5n
aXQKLSAgICAgIGJyYW5jaDogMi40LjM3Ci0gICAgLSB0eXBlIDogZmlsZQotICAgICAgcGF0aCA6
IGZpbGVzL2h0dHBkLWF1dG9nZW4uc2gKLSAgICAgIGRlc3QtZmlsZW5hbWUgOiBhdXRvZ2VuLnNo
Ci0gICAgIyBUaGUgdmVyc2lvbiBlbWJlZGRlZCBpbiB0aGUgc2FuZGJveCBkb2Vzbid0IGhhdmUg
YSB3b3JraW5nIHBjcmUtY29uZmlnCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogcGF0
Y2hlcy9odHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1kZXRlY3Rp
b24ucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLWVuYWJsZS1tcG1zLXNoYXJlZD1hbGwK
LSAgICAtIC0tZW5hYmxlLW1vZHVsZXM9YWxsCi0gICAgLSAtLXdpdGgtYXByPS9hcHAvYmluL2Fw
ci0xLWNvbmZpZwotICAgIC0gLS13aXRoLWFwci11dGlsPS9hcHAvYmluL2FwdS0xLWNvbmZpZwot
ICAgIC0gLS13aXRoLXBjcmU9L2FwcAotICAgIC0gLS1lbmFibGUtYXV0aG56LWZjZ2kKLSAgICAt
IC0tZW5hYmxlLWNnaQotICAgIC0gLS1lbmFibGUtY2dpZAotLSBuYW1lOiBwaHAKLSAgc291cmNl
czoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly9waHAubmV0L2Rpc3Ry
aWJ1dGlvbnMvcGhwLTcuMi42LnRhci54egotICAgICAgc2hhNTEyOiBkYTg2YjFmZjJkZjNiOWUy
ZDQ2ZTU5YTgwMjk2Yjk0MGQ4MTEzMjk3NWI2MjFiZGVjOTYwMmY4YjRjOGQ5MWEzZmRjZDRmZmQ3
Y2I5ODJkNjNkM2VjOTc0YjNhMTJhNzg1NGU0MmE3M2I3ZjJjYzhlZWZhZGUxNDMzNWFhN2M3MQot
ICBjb25maWctb3B0czoKLSAgICAtIC0tZGlzYWJsZS14bWwKLSAgICAtIC0tZGlzYWJsZS1kb20K
LSAgICAtIC0tZGlzYWJsZS1saWJ4bWwKLSAgICAtIC0tZGlzYWJsZS1zaW1wbGV4bWwKLSAgICAt
IC0tZGlzYWJsZS14bWxyZWFkZXIKLSAgICAtIC0tZGlzYWJsZS14bWx3cml0ZXIKLSAgICAtIC0t
d2l0aG91dC1wZWFyCi0gICAgLSAtLXdpdGgtYXB4czIKLSAgICAtIC0td2l0aC16bGliCi0gICAg
LSAtLXdpdGgtbGliemlwCi0gICAgLSAtLWVuYWJsZS1zb2NrZXRzPXNoYXJlZAotLSBuYW1lOiBs
aWJldmVudAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8v
Z2l0aHViLmNvbS9saWJldmVudC9saWJldmVudC5naXQKLSAgICAgIGJyYW5jaDogZTdmZjRlZiAj
IDIuMS44Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1kaXNhYmxlLWxpYmV2ZW50LXJlZ3Jlc3MK
LQotIyBSZXF1aXJlbWVudCBmb3IgZmxhdHBrdXRpbHMKLS0gbmFtZTogcHl0aG9uMy1weWFtbAot
ICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAtIHBpcDMgaW5zdGFs
bCAtLW5vLWluZGV4IC0tZmluZC1saW5rcz0iZmlsZTovLyR7UFdEfSIgLS1wcmVmaXg9JHtGTEFU
UEFLX0RFU1R9IHB5YW1sCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogZmlsZQotICAgIHVybDogaHR0
cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzRhLzg1L2RiNWEyZGY0NzcwNzJi
MjkwMmIwZWI4OTJmZWIzN2Q4OGFjNjM1ZDM2MjQ1YTcyYTZhNjliMjNiMzgzYS9QeVlBTUwtMy4x
Mi50YXIuZ3oKLSAgICBzaGEyNTY6IDU5Mjc2NmM2MzAzMjA3YTIwZWZjNDQ1NTg3Nzc4MzIyZDdm
NzNiMTYxYmQ5OTRmMjI3YWRhYTM0MWJhMjEyYWIKLSAgLSB0eXBlOiBmaWxlCi0gICAgdXJsOiBo
dHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvOWUvMTcvMWQ0ZWQ2ZTFhNGMw
OTE4YTAzNTdkZmEyZmRiZTI2YmY2M2Y2ZTYxNjAxM2MwNGExNGJjZTlmZDMzZTQwL3B5YW1sLTE3
LjEyLjEudGFyLmd6Ci0gICAgc2hhMjU2OiA2NjYyM2M1MmYzNGQ4M2EyYzBmYzk2M2UwOGU4Yjlk
MGMxM2Q4ODQwNGUzYjQzYjE4NTJlZjcxZWRhMTlhZmEzCi0KLS0gbmFtZTogcHl0aG9uMi1weWFt
bAotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAtIHBpcDIgaW5z
dGFsbCAtLW5vLWluZGV4IC0tZmluZC1saW5rcz0iZmlsZTovLyR7UFdEfSIgLS10YXJnZXQ9L2Fw
cC9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvIHB5YW1sCi0gIHNvdXJjZXM6Ci0gIC0gdHlw
ZTogZmlsZQotICAgIHVybDogaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2Vz
LzRhLzg1L2RiNWEyZGY0NzcwNzJiMjkwMmIwZWI4OTJmZWIzN2Q4OGFjNjM1ZDM2MjQ1YTcyYTZh
NjliMjNiMzgzYS9QeVlBTUwtMy4xMi50YXIuZ3oKLSAgICBzaGEyNTY6IDU5Mjc2NmM2MzAzMjA3
YTIwZWZjNDQ1NTg3Nzc4MzIyZDdmNzNiMTYxYmQ5OTRmMjI3YWRhYTM0MWJhMjEyYWIKLSAgLSB0
eXBlOiBmaWxlCi0gICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2Fn
ZXMvOWUvMTcvMWQ0ZWQ2ZTFhNGMwOTE4YTAzNTdkZmEyZmRiZTI2YmY2M2Y2ZTYxNjAxM2MwNGEx
NGJjZTlmZDMzZTQwL3B5YW1sLTE3LjEyLjEudGFyLmd6Ci0gICAgc2hhMjU2OiA2NjYyM2M1MmYz
NGQ4M2EyYzBmYzk2M2UwOGU4YjlkMGMxM2Q4ODQwNGUzYjQzYjE4NTJlZjcxZWRhMTlhZmEzCi0K
LS0gbmFtZTogcHl0aG9uMi1zdWJwcm9jZXNzMzIKLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBi
dWlsZC1jb21tYW5kczoKLSAgLSBwaXAyIGluc3RhbGwgLS10YXJnZXQ9L2FwcC9saWIvcHl0aG9u
Mi43L3NpdGUtcGFja2FnZXMvIC4KLSAgc291cmNlczoKLSAgLSB0eXBlOiBhcmNoaXZlCi0gICAg
dXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvYmUvMmIvYmVlYmE1
ODNlOTg3N2U2NGRiMTBiNTJhOTY5MTVhZmMwZmVhYmY3MTQ0ZGNiZjJhMGQwZWE2OGJmNzNkL3N1
YnByb2Nlc3MzMi0zLjUuMy50YXIuZ3oKLSAgICBzaGEyNTY6IDZiYzgyOTkyMzE2ZWVmM2NjZmYz
MTliNTAzMzgwOTgwMWMwYzMzNzI3MDljNWY2OTg1Mjk5Yzg4YWM3MjI1YzMKLQotIyBHU3RyZWFt
ZXIgbW9kdWxlcwotLSBuYW1lOiBsaWJ2cHgKLSAgbm8tYXV0b2dlbjogdHJ1ZQotICBzb3VyY2Vz
OgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291
cmNlLmNvbS93ZWJtL2xpYnZweAotICAgICAgYnJhbmNoOiB2MS43LjAKLSAgY29uZmlnLW9wdHM6
Ci0gICAgLSAtLWVuYWJsZS1waWMKLSAgICAtIC0tYXM9bmFzbQotICAgIC0gLS1kaXNhYmxlLXVu
aXQtdGVzdHMKLSAgICAtIC0tc2l6ZS1saW1pdD0xNjM4NHgxNjM4NAotICAgIC0gLS1lbmFibGUt
cG9zdHByb2MKLSAgICAtIC0tZW5hYmxlLW11bHRpLXJlcy1lbmNvZGluZwotICAgIC0gLS1lbmFi
bGUtdGVtcG9yYWwtZGVub2lzaW5nCi0gICAgLSAtLWVuYWJsZS12cDktdGVtcG9yYWwtZGVub2lz
aW5nCi0gICAgLSAtLWVuYWJsZS12cDktcG9zdHByb2MKLSAgICAtIC0tZW5hYmxlLXNoYXJlZAot
LSBuYW1lOiBhb20KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRw
czovL2FvbWVkaWEuZ29vZ2xlc291cmNlLmNvbS9hb20KLSAgICAgIGJyYW5jaDogY2RiMDgzZTg0
YTcxZDZkMzExNjNhNGY2NGYxOGRjMTMyOGZkNzgyYwotICBidWlsZHN5c3RlbTogY21ha2Utbmlu
amEKLSAgYnVpbGRkaXI6IHRydWUKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtREJVSUxEX1NIQVJF
RF9MSUJTPTEKLS0gbmFtZTogbGlidW53aW5kCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQK
LSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2xpYnVud2luZC9saWJ1bndpbmQuZ2l0Ci0g
ICAgICBjb21taXQ6IHYxLjIuMQotLSBuYW1lOiBsaWJvcGVuaDI2NAotICBidWlsZHN5c3RlbTog
bWVzb24KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dp
dGh1Yi5jb20vY2lzY28vb3BlbmgyNjQuZ2l0Ci0gICAgICBicmFuY2g6IGExYjNmMDdjNTI3MWYz
MTI5OTdmY2MzNDUxMjM3MDMxNDQ0YzQ0NzUgIyAxLjguMCArIGZpeCBmb3IgZ2NjIDgKLS0gbmFt
ZTogZ3N0cmVhbWVyCi0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0gdHlw
ZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFt
ZXIvZ3N0cmVhbWVyLmdpdAotICAgICAgYnJhbmNoOiAxLjE2LjEKLSAgY29uZmlnLW9wdHM6Ci0g
ICAgLSAtRGd0a19kb2M9ZGlzYWJsZWQKLSAgICAtIC1EaW50cm9zcGVjdGlvbj1kaXNhYmxlZAot
ICAgIC0gLURleGFtcGxlcz1kaXNhYmxlZAotICAgIC0gLUR0ZXN0cz1kaXNhYmxlZAotLSBuYW1l
OiBnc3QtcGx1Z2lucy1iYXNlCi0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBzb3VyY2VzOgotICAg
IC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9n
c3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFzZS5naXQKLSAgICAgIGJyYW5jaDogMS4xNi4xCi0gICAg
LSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3N0cmVhbWVyL3BhdGNoZXMvYmFzZS0wMDAx
LXBsYXliaW4tSGFuZGxlLWVycm9yLW1lc3NhZ2Utd2l0aC1yZWRpcmVjdGlvbi1pbmRpY2EucGF0
Y2gKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9nc3RyZWFtZXIvcGF0Y2hlcy9i
YXNlLTAwMDEtZ2x1cGxvYWQtQWRkLVZpZGVvTWV0YXMtYW5kLUdMU3luY01ldGEtdG8tdGhlLXJh
dy11cC5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotICAg
IC0gLURpbnRyb3NwZWN0aW9uPWRpc2FibGVkCi0gICAgLSAtRGV4YW1wbGVzPWRpc2FibGVkCi0g
ICAgLSAtRHRlc3RzPWRpc2FibGVkCi0tIG5hbWU6IGdzdC1wbHVnaW5zLWdvb2QKLSAgYnVpbGRz
eXN0ZW06IG1lc29uCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0
cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1nb29kLmdp
dAotICAgICAgYnJhbmNoOiAxLjE2LjEKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiAu
Li9nc3RyZWFtZXIvcGF0Y2hlcy9nb29kLTAwMDEtcXRkZW11eC1TcGVjaWZ5LVJFRElSRUNULWlu
Zm9ybWF0aW9uLWluLWVycm9yLW1lc3NhZy5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC1E
Z3RrX2RvYz1kaXNhYmxlZAotICAgIC0gLURpbnRyb3NwZWN0aW9uPWRpc2FibGVkCi0gICAgLSAt
RGV4YW1wbGVzPWRpc2FibGVkCi0gICAgLSAtRGd0azM9ZGlzYWJsZWQKLS0gbmFtZTogeDI2NAot
ICBjb25maWctb3B0czoKLSAgICAtICItLWVuYWJsZS1zaGFyZWQiCi0gICAgLSAiLS1lbmFibGUt
c3RhdGljIgotICAgIC0gIi0tZW5hYmxlLXBpYyIKLSAgICAtICItLWRpc2FibGUtbGF2ZiIKLSAg
ICAtICItLWRpc2FibGUtYXNtIgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAg
ICAgdXJsOiBodHRwOi8vZG93bmxvYWQudmlkZW9sYW4ub3JnL3B1Yi94MjY0L3NuYXBzaG90cy94
MjY0LXNuYXBzaG90LTIwMTQwMjEyLTIyNDUtc3RhYmxlLnRhci5iejIKLSAgICAgIHNoYTI1Njog
NWQ5OGU5ZTRmYWY2ZGQ1NWU3MTkzZWQzNzlhZmY0NzdiOGFjYmRhNjc3Nzc1ODk1NmVmN2U1ZjA1
MDY3YmUxOAotLSBuYW1lOiBnc3QtcGx1Z2lucy11Z2x5Ci0gIGJ1aWxkc3lzdGVtOiBtZXNvbgot
ICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5m
cmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy11Z2x5Ci0gICAgICBicmFu
Y2g6IDEuMTYuMAotICBjb25maWctb3B0czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotLSBu
YW1lOiBnc3QtcGx1Z2lucy1iYWQKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIHNvdXJjZXM6Ci0g
ICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3Jn
L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQuZ2l0Ci0gICAgICBicmFuY2g6IDEuMTYuMQotICAg
IC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2dzdHJlYW1lci9wYXRjaGVzL2dzdC1wbHVn
aW5zLWJhZC0wMDAxLWgyNjRwYXJzZS1Qb3N0LWEtV0FSTklORy13aGVuLWRhdGEtaXMtYnJva2Vu
LnBhdGNoCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9jPWRpc2FibGVkCi0gICAgLSAt
RGludHJvc3BlY3Rpb249ZGlzYWJsZWQKLSAgICAtIC1EZXhhbXBsZXM9ZGlzYWJsZWQKLS0gbmFt
ZTogZmZtcGVnCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0
dHBzOi8vZmZtcGVnLm9yZy9yZWxlYXNlcy9mZm1wZWctNC4wLjQudGFyLmd6Ci0gICAgICBzaGEy
NTY6IDgwYmI2ODVhYmZjZGRhN2M5YjZjOWM1Y2FmMWQ4ZGJiOTI3ODU4MDUwZDczNzdjMmI4ZjM0
ODhjN2U4YTliN2YKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLWVuYWJsZS1zdGF0aWMKLSAgICAt
IC0tZW5hYmxlLXBpYwotICAgIC0gLS1kaXNhYmxlLWF2ZGV2aWNlCi0gICAgLSAtLWRpc2FibGUt
cG9zdHByb2MKLSAgICAtIC0tZGlzYWJsZS1zd3NjYWxlCi0gICAgLSAtLWRpc2FibGUtcHJvZ3Jh
bXMKLSAgICAtIC0tZGlzYWJsZS1mZnBsYXkKLSAgICAtIC0tZGlzYWJsZS1mZnByb2JlCi0gICAg
LSAtLWRpc2FibGUtZmZtcGVnCi0gICAgLSAtLWRpc2FibGUtZW5jb2Rlcj1mbGFjCi0gICAgLSAt
LWRpc2FibGUtcHJvdG9jb2xzCi0gICAgLSAtLWRpc2FibGUtZGV2aWNlcwotICAgIC0gLS1kaXNh
YmxlLW5ldHdvcmsKLSAgICAtIC0tZGlzYWJsZS1od2FjY2VscwotICAgIC0gLS1kaXNhYmxlLWR4
dmEyCi0gICAgLSAtLWRpc2FibGUtdmRwYXUKLSAgICAtIC0tZGlzYWJsZS1maWx0ZXJzCi0gICAg
LSAtLWVuYWJsZS1maWx0ZXI9eWFkaWYKLSAgICAtIC0tZGlzYWJsZS1kb2MKLSAgICAtIC0tZGlz
YWJsZS1kM2QxMXZhCi0gICAgLSAtLWRpc2FibGUtZHh2YTIKLSAgICAtIC0tZGlzYWJsZS1hdWRp
b3Rvb2xib3gKLSAgICAtIC0tZGlzYWJsZS12aWRlb3Rvb2xib3gKLSAgICAtIC0tZGlzYWJsZS12
YWFwaQotICAgIC0gLS1kaXNhYmxlLWNyeXN0YWxoZAotICAgIC0gLS1kaXNhYmxlLW1lZGlhY29k
ZWMKLSAgICAtIC0tZGlzYWJsZS1udmVuYwotICAgIC0gLS1kaXNhYmxlLW1tYWwKLSAgICAtIC0t
ZGlzYWJsZS1vbXgKLSAgICAtIC0tZGlzYWJsZS1vbXgtcnBpCi0gICAgLSAtLWRpc2FibGUtY3Vk
YQotICAgIC0gLS1kaXNhYmxlLWN1dmlkCi0gICAgLSAtLWRpc2FibGUtbGlibWZ4Ci0gICAgLSAt
LWRpc2FibGUtbGlibnBwCi0gICAgLSAtLWRpc2FibGUtaWNvbnYKLSAgICAtIC0tZGlzYWJsZS1q
bmkKLSAgICAtIC0tZGlzYWJsZS12NGwyX20ybQotICAgIC0gLS1lbmFibGUtb3B0aW1pemF0aW9u
cwotLSBuYW1lOiBnc3QtbGliYXYKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIGJ1aWxkZGlyOiB0
cnVlCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHBzOi8v
Z3N0cmVhbWVyLmZyZWVkZXNrdG9wLm9yZy9zcmMvZ3N0LWxpYmF2L2dzdC1saWJhdi0xLjE2LjEu
dGFyLnh6Ci0gICAgICBzaGEyNTY6IGU4YTU3NDhhZTlhNGE3YmU5Njk2NTEyMTgyZWE5ZmZhNmVm
ZTBiZTliNzk3NjkxNjU0OGU5ZDQzODFjYTYxYzQKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0
a19kb2M9ZGlzYWJsZWQKLQotLSBuYW1lOiBsaWJnY3J5cHQgIyBTcGVlZHVwIGxpYmdjcnlwdAot
ICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZGV2LmdudXBn
Lm9yZy9zb3VyY2UvbGliZ2NyeXB0LmdpdAotICAgICAgYnJhbmNoOiBsaWJnY3J5cHQtMS44LjQK
LSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiBwYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVz
ZS1wa2ctY29uZmlnLXRvLWRldGVjdC1ncGctZXJyb3IucGF0Y2gKLSAgICAtIHR5cGU6IHBhdGNo
Ci0gICAgICBwYXRoOiAuLi9ndGsvcGF0Y2hlcy9saWJnY3J5cHQtdXNlLW9ubHktZGV2LXVyYW5k
b20tZm9yLXRlc3RpbmcucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLWRpc2FibGUtZG9j
Ci0KLS0gbmFtZTogcGVybC1jZ2ktcG0KLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1j
b21tYW5kczoKLSAgICAtIHBlcmwgTWFrZWZpbGUuUEwgUFJFRklYPS9hcHAgTElCPS9hcHAvbGli
L3BlcmwvCi0gICAgLSBtYWtlIGluc3RhbGwKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hp
dmUKLSAgICAgIHVybDogaHR0cHM6Ly9jcGFuLm1ldGFjcGFuLm9yZy9hdXRob3JzL2lkL0wvTEUv
TEVFSk8vQ0dJLTQuMzgudGFyLmd6Ci0gICAgICBzaGEyNTY6IDhjNThmNGE1MjliYjkyYTkxNGIy
MmI3ZTY0YzVlMzExODVjOTg1NGE0MDcwYTZkZmFkNDRmZTVjYzI0OGU3ZDQKLQotLSBuYW1lOiBw
eXRob24yLXZpcnR1YWxlbnYKLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5k
czoKLSAgLSBwaXAyIGluc3RhbGwgLS1uby1pbmRleCAtLWZpbmQtbGlua3M9ImZpbGU6Ly8ke1BX
RH0iIC0tdGFyZ2V0PS9hcHAvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzLyB2aXJ0dWFsZW52
Ci0gIC0gbG4gLXMgL2FwcC9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvdmlydHVhbGVudi5w
eSAvYXBwL2Jpbi92aXJ0dWFsZW52Ci0gIC0gY2htb2QgK3ggL2FwcC9iaW4vdmlydHVhbGVudgot
ICBzb3VyY2VzOgotICAtIHR5cGU6IGZpbGUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9u
aG9zdGVkLm9yZy9wYWNrYWdlcy8zMy9iYy9mYTBiNTM0NzEzOWNkOTU2NGYwZDQ0ZWJkMmIxNDdh
Yzk3YzM2YjI0MDM5NDNkYmVlOGEyNWZkNzQwMTIvdmlydHVhbGVudi0xNi4wLjAudGFyLmd6Ci0g
ICAgc2hhMjU2OiBjYTA3YjRjMGI1NGUxNGE5MWFmOWYzNGQwOTE5NzkwYjAxNjkyM2QxNTdhZmRh
NWVmZGRlNTVjOTY3MThmNzUyCi0KLS0gbmFtZTogbGliY2FwLW5nCi0gIHNvdXJjZXM6Ci0gICAg
LSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL3N0ZXZlZ3J1YmIvbGli
Y2FwLW5nCi0gICAgICBicmFuY2g6IHYwLjcuOQotICBjb25maWctb3B0czoKLSAgICAtIC0td2l0
aC1weXRob249bm8KLSAgICAtIC0td2l0aC1weXRob24zPW5vCi0KLS0gbmFtZTogbHpvMgotICBz
b3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwOi8vd3d3Lm9iZXJo
dW1lci5jb20vb3BlbnNvdXJjZS9sem8vZG93bmxvYWQvbHpvLTIuMTAudGFyLmd6Ci0gICAgICBz
aGExOiA0OTI0Njc2YTliYWU1ZGI1OGVmMTI5ZGMxY2ViY2UzYmFhM2M0YjVkCi0KLS0gbmFtZTog
aWNlY2MKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dp
dGh1Yi5jb20vaWNlY2MvaWNlY3JlYW0KLSAgICAgIHRhZzogIjEuMiIKLSAgICAgIGNvbW1pdDog
ZTNkMTBhMzJiYzZjMDQ2ZDhmM2QxMTgyZTc1YzY1OWQ0YjI4ZWQ0OQotICBjb25maWctb3B0czoK
LSAgICAtIC0td2l0aG91dC1tYW4KLQotLSBuYW1lOiBicm90bGkKLSAgc291cmNlczoKLSAgLSB0
eXBlOiBhcmNoaXZlCi0gICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2Jyb3RsaS9h
cmNoaXZlL3YxLjAuNS50YXIuZ3oKLSAgICBzaGEyNTY6IDNkNWJlZGQ0OGVkYjkwOWZlM2I4N2Ni
OTlmN2QxMzliOTg3ZWY2ZjE2MTZiN2UyMmQ3NGU5MjgyNzBhMmZkMjAKLSAgYnVpbGRzeXN0ZW06
IGNtYWtlLW5pbmphCi0KLS0gbmFtZTogd29mZjIKLSAgc291cmNlczoKLSAgLSB0eXBlOiBhcmNo
aXZlCi0gICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL3dvZmYyL2FyY2hpdmUvdjEu
MC4yLnRhci5negotICAgIHNoYTI1NjogYWRkMjcyYmIwOWU2Mzg0YTQ4MzNmZmNhNDg5NjM1MGZk
YjE2ZTBjYTIyZGY2OGMwMzg0NzczYzY3YTE3NTU5NAotICBidWlsZHN5c3RlbTogY21ha2Utbmlu
amEKLQotLSBuYW1lOiBvcGVuanBlZwotICBzb3VyY2VzOgotICAtIHR5cGU6IGFyY2hpdmUKLSAg
ICB1cmw6IGh0dHA6Ly9naXRodWIuY29tL3VjbG91dmFpbi9vcGVuanBlZy9hcmNoaXZlL3YyLjMu
MC50YXIuZ3oKLSAgICBzaGEyNTY6IDNkYzc4N2MxYmI2MDIzYmE4NDZjMmEwZDliMWY2ZTE3OWYx
Y2QyNTUxNzJiZGU5ZWI3NWIwMWYxZTZjN2Q3MWEKLSAgYnVpbGRzeXN0ZW06IGNtYWtlLW5pbmph
CmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuR1RLLnlhbWwgYi9Ub29scy9m
bGF0cGFrL29yZy53ZWJraXQuR1RLLnlhbWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDk2M2I1NjA0NDA4MDQ1ZWQwODdjN2MyNjdhNTkzMmI4NGU2MzBkM2YuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0
LkdUSy55YW1sCisrKyAvZGV2L251bGwKQEAgLTEsMTIzICswLDAgQEAKLS0gbmFtZTogbWVzYQot
ICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL21lc2Eu
ZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmUvbWVzYS0xOC4wLjMudGFyLnh6Ci0gICAgICBzaGEyNTY6
IDA5OWQ5NjY3MzI3YTc2YTYxNzQxYTUzM2Y5NTA2N2Q3NmVhNzFhNjU2ZTY2YjkxNTA3YjNjMGNh
ZjFkNDllMzAKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLXByZWZpeD0vYXBwL3NvZnRHTAotICAg
IC0gLS1kaXNhYmxlLWRyaTMKLSAgICAtIC0tZW5hYmxlLWRyaQotICAgIC0gLS1lbmFibGUtZ2x4
Ci0gICAgLSAtLWVuYWJsZS1lZ2wKLSAgICAtIC0td2l0aC1lZ2wtcGxhdGZvcm1zPXgxMSx3YXls
YW5kCi0gICAgLSAtLXdpdGgtZHJpLWRyaXZlcnM9c3dyYXN0Ci0gICAgLSAtLXdpdGgtZ2FsbGl1
bS1kcml2ZXJzPXN3cmFzdAotCi0tIG5hbWU6IHdlYmtpdGd0ay10ZXN0LWZvbnRzCi0gIG5vLWF1
dG9nZW46IHRydWUKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRw
czovL2dpdGh1Yi5jb20vV2ViS2l0R1RLL3dlYmtpdGd0ay10ZXN0LWZvbnRzLmdpdAotICBidWls
ZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAgICMgRklYTUU6IE1ha2UgQWN0
aXZhdGVGb250V1BFIHNtYXJ0ZXIuCi0gICAgLSBtYWtlIGluc3RhbGwgREVTVERJUj0vYXBwL1dl
YktpdEJ1aWxkL0RlcGVuZGVuY2llc0dUSy9Sb290Ci0KLS0gbmFtZTogeG9yZy11dGlsLW1hY3Jv
cwotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vYW5vbmdp
dC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcvdXRpbC9tYWNyb3MuZ2l0Ci0gICAgICBicmFuY2g6
IHV0aWwtbWFjcm9zLTEuMTkuMgotCi0tIG5hbWU6IHhvcmctZm9udC11dGlsCi0gIHNvdXJjZXM6
Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9w
Lm9yZy9naXQveG9yZy9mb250L3V0aWwuZ2l0Ci0gICAgICBicmFuY2g6IGZvbnQtdXRpbC0xLjMu
MQotCi0tIG5hbWU6IHhrYmZpbGUKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAg
YnJhbmNoOiBsaWJ4a2JmaWxlLTEuMC45Ci0gICAgICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVl
ZGVza3RvcC5vcmcvZ2l0L3hvcmcvbGliL2xpYnhrYmZpbGUuZ2l0Ci0KLS0gbmFtZTogZm9udGVu
YwotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICBicmFuY2g6IGxpYmZvbnRlbmMt
MS4xLjMKLSAgICAgIHVybDogaHR0cHM6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9y
Zy9saWIvbGliZm9udGVuYy5naXQKLQotLSBuYW1lOiB4Zm9udAotICBzb3VyY2VzOgotICAgIC0g
dHlwZTogZ2l0Ci0gICAgICBicmFuY2g6IGxpYlhmb250Mi0yLjAuMwotICAgICAgdXJsOiBodHRw
czovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC94b3JnL2xpYi9saWJYZm9udC5naXQKLQot
LSBuYW1lOiB4dmZiCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0
cHM6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy94c2VydmVyLmdpdAotICAgICAg
YnJhbmNoOiB4b3JnLXNlcnZlci0xLjE5LjYKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRo
OiBwYXRjaGVzL3h2ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1maWxlLnBhdGNo
Ci0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3RrL3BhdGNoZXMveHNlcnZlci1y
ZW1vdmUtYm9ndXMtZGVwZW5kZW5jaWVzLnBhdGNoCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAg
cGF0aDogLi4vZ3RrL3BhdGNoZXMveHNlcnZlci1zZWFyY2gtZm9yLURSSS1kcml2ZXJzLWF0LUxJ
QkdMX0RSSVZFUlNfUEFUSC1lbnZpcm9uLnBhdGNoCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1l
bmFibGUteHZmYgotICAgIC0gLS1kaXNhYmxlLXh3YXlsYW5kCi0gICAgLSAtLWVuYWJsZS14dmZi
Ci0gICAgLSAtLWRpc2FibGUteHdheWxhbmQKLSAgICAtIC0tZGlzYWJsZS14aW5lcmFtYQotICAg
IC0gLS1lbmFibGUtZ2x4Ci0gICAgLSAtLWVuYWJsZS1jb21wb3NpdGUKLSAgICAtIC0tZGlzYWJs
ZS14b3JnCi0gICAgLSAtLWRpc2FibGUtZG14Ci0gICAgLSAtLWRpc2FibGUteG5lc3QKLSAgICAt
IC0tZGlzYWJsZS14cXVhcnR6Ci0gICAgLSAtLWRpc2FibGUteHdpbgotICAgIC0gLS1kaXNhYmxl
LXhlcGh5cgotICAgIC0gLS1kaXNhYmxlLXhmYWtlCi0gICAgLSAtLWRpc2FibGUteGZiZGV2Ci0g
ICAgLSAtLWRpc2FibGUtaW5zdGFsbC1zZXR1aWQKLSAgICAtIC0tZGlzYWJsZS11bml0LXRlc3Rz
Ci0gICAgLSAtLWRpc2FibGUtcHJlc2VudAotICAgIC0gLS1lbmFibGUtdW5peC10cmFuc3BvcnQK
LSAgICAtIC0tZW5hYmxlLXRjcC10cmFuc3BvcnQKLSAgICAtIC0tZGlzYWJsZS1sb2NhbC10cmFu
c3BvcnQKLSAgICAtIC0td2l0aG91dC1kdHJhY2UKLQotIyBSZXF1aXJlZCBmb3IgcnVuLWd0ay10
ZXN0cwotLSBuYW1lOiBweWNhaXJvCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29t
bWFuZHM6Ci0gIC0gcHl0aG9uMiBzZXR1cC5weSBpbnN0YWxsIC0tcHJlZml4PS9hcHAKLSAgc291
cmNlczoKLSAgLSB0eXBlOiBhcmNoaXZlCi0gICAgdXJsOiBodHRwczovL3B5cGkucHl0aG9uLm9y
Zy9wYWNrYWdlcy9lZi85Ny9iMzNkYzUzM2VhNjA3NmQ0ZWE5Y2JkMmZlMDQ5YTJiNGEzZGY1YzVi
NmZiYTlhMTgyNjE2ZjZmOGQzMTAvcHljYWlyby0xLjE1LjQudGFyLmd6Ci0gICAgc2hhMjU2OiBl
ZTRjMzA2OGMwNDgyMzBlNWNlNzRiYjg5OTRhMDI0NzExMTI5YmRlMWFmMWQ3NmUzMjc2YzdhY2Q4
MWM0MzU3Ci0gIGNsZWFudXA6Ci0gIC0gIi9pbmNsdWRlIgotICAtICIvbGliL3BrZ2NvbmZpZyIK
LQotLSBuYW1lOiBweWdvYmplY3QtcHl0aG9uMgotICBidWlsZC1vcHRpb25zOgotICAgIGVudjoK
LSAgICAgIFBZVEhPTjogIi91c3IvYmluL3B5dGhvbjIiCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTog
YXJjaGl2ZQotICAgIHVybDogaHR0cHM6Ly9kb3dubG9hZC5nbm9tZS5vcmcvc291cmNlcy9weWdv
YmplY3QvMy4yOC9weWdvYmplY3QtMy4yOC4xLnRhci54egotICAgIHNoYTI1NjogNDIzMTJiNGE1
MDE1NTcxZmEwYTRmMmQyMDEwMDVkYTQ2YjcxYzI1MWVhMjYyNWJjOTU3MDJkMDcxYzRmZjg5NQot
ICBjbGVhbnVwOgotICAtICIvaW5jbHVkZSIKLSAgLSAiL2xpYi9wa2djb25maWciCi0gIC0gIi9s
aWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvZ2kvKi5sYSIKLQotLSBvcmcud2Via2l0LldQRU1v
ZHVsZXMueWFtbAotCi0tIG5hbWU6IG9yZy53ZWJraXQuR1RLCi0gIGJ1aWxkc3lzdGVtOiBzaW1w
bGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gICAgLSAvYXBwL3dlYmtpdC9Ub29scy9TY3JpcHRzL2J1
aWxkLXdlYmtpdCAtLWd0ayAtLXByZWZpeD0vYXBwCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRw
YWsvb3JnLndlYmtpdC5XUEUueWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEUueWFt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGNiYWJiYWEwY2I4ZTE1OGFkNDQ0MWY5
OGI0ZDA1M2E4Y2IzYmE3Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFLnlhbWwKKysrIC9kZXYvbnVsbApA
QCAtMSwxNCArMCwwIEBACi0tIG9yZy53ZWJraXQuV1BFTW9kdWxlcy55YW1sCi0tIG5hbWU6IHdl
YmtpdGd0ay10ZXN0LWZvbnRzCi0gIG5vLWF1dG9nZW46IHRydWUKLSAgc291cmNlczoKLSAgICAt
IHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vV2ViS2l0R1RLL3dlYmtp
dGd0ay10ZXN0LWZvbnRzLmdpdAotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1h
bmRzOgotICAgICMgRklYTUU6IE1ha2UgQWN0aXZhdGVGb250V1BFIHNtYXJ0ZXIuCi0gICAgLSBt
YWtlIGluc3RhbGwgREVTVERJUj0vYXBwL1dlYktpdEJ1aWxkL0RlcGVuZGVuY2llc1dQRS9Sb290
Ci0tIG5hbWU6IG9yZy53ZWJraXQuV1BFCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQt
Y29tbWFuZHM6Ci0gICAgLSAvYXBwL3dlYmtpdC9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdCAt
LXdwZSAtLXByZWZpeD0vYXBwCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQu
V1BFTW9kdWxlcy55YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRU1vZHVsZXMueWFt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTgwZTJjY2IzYTRkOTUyMmE2MDc5MzRj
MDZlMGFmOTIwNWJmMDIxNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFTW9kdWxlcy55YW1sCisrKyAvZGV2
L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLSBuYW1lOiBsaWJ3cGUKLSAgYnVpbGRzeXN0ZW06IGNt
YWtlLW5pbmphCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0
dHBzOi8vd3Bld2Via2l0Lm9yZy9yZWxlYXNlcy9saWJ3cGUtMS40LjAudGFyLnh6Ci0gICAgICBz
aGEyNTY6IGUyZDM0OTRmYzMzZmU5NDZhZDkxN2ZkNmEzYWJkMTI3NDYyYjkxYmJhNjJlZjhiMzU1
MDdlOTJmOGVkZTQxODgKLS0gbmFtZTogd3BlYmFja2VuZC1mZG8KLSAgYnVpbGRzeXN0ZW06IGNt
YWtlLW5pbmphCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0
dHBzOi8vd3Bld2Via2l0Lm9yZy9yZWxlYXNlcy93cGViYWNrZW5kLWZkby0xLjQuMC50YXIueHoK
LSAgICAgIHNoYTI1NjogYTkxOWNhNGE1YmM0NDVmOTQxOWE1YjdmMzc4MWNmYzk4ZTVhYmNmNWQ3
MjU5ZWIxODY5ZjVhYjIwZmQxOGJhZgpkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9vcmcud2Vi
a2l0LldQRVFULnlhbWwgYi9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFUVQueWFtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGUzNjk1N2E0NjFiYzM0NzlhMzhlZmZkZTZkOTU4
YmQwMDcyNjc4ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFUVQueWFtbAorKysgL2Rldi9udWxsCkBAIC0x
LDM5ICswLDAgQEAKLWFwcC1pZDogb3JnLndlYmtpdC5XUEVRVAotcnVudGltZTogb3JnLmtkZS5Q
bGF0Zm9ybQotcnVudGltZS12ZXJzaW9uOiAiNS4xMiIKLSMgQ29udHJvbCB0aGUgZXhhY3QgdmVy
c2lvbiBvZiB0aGUgU2RrL1J1bnRpbWUgdGhhdCBpcyBiZWluZyB1c2VkLgotc2RrLWhhc2g6IGQ2
ZWZhMjRlMjdjMWM4NzhhZDRmZGU3NmI3M2M5NmExMWJlMzJiNTk4YWU4N2FlZmJlMzM5ZWU0YmIx
OWE4YmUKLXJ1bnRpbWUtaGFzaDogMTAxODcxZTA5MTAwMDYxNmFkMmI2MzVlMDZjNDE0ZWIwZTFj
NGUxYzM0MjkyYTIwNWM1MjM5OTM1ZWU1ZWE0NAotc2RrOiBvcmcua2RlLlNkawotY29tbWFuZDog
JShDT01NQU5EKXMKLWZpbmlzaC1hcmdzOgotICAjIEJhc2ljYWxseSBubyBzYW5kYm94aW5nLCB0
aGUgZ29hbCBoZXJlIGlzIHRvIG1ha2UgaXQgZmxleGlibGUKLSAgIyBmb3IgZGV2ZWxvcGVycywg
bm90IHJlYWxseSB0byBpc29sYXRlIChvcGVubmluZyBhbGwgZGV2aWNlcwotICAjIHRvIGFsbG93
IGFjY2VzIHZpZGVvIGNhbWVyYXMgdW50aWwgd2UgaGF2ZSBhIHBvcnRhbCBhdCBsZWFzdCkuCi0g
IC0gLS1zaGFyZT1pcGMKLSAgLSAtLXNvY2tldD14MTEKLSAgLSAtLXNvY2tldD13YXlsYW5kCi0g
IC0gLS1kZXZpY2U9YWxsCi0gIC0gLS1zaGFyZT1uZXR3b3JrCi0gIC0gLS1zb2NrZXQ9cHVsc2Vh
dWRpbwotICAtIC0tc3lzdGVtLXRhbGstbmFtZT1vcmcuZnJlZWRlc2t0b3AuR2VvQ2x1ZTIKLSAg
LSAtLXN5c3RlbS10YWxrLW5hbWU9b3JnLmExMXkuQnVzCi0gIC0gLS1maWxlc3lzdGVtPWhvc3QK
LSAgLSAtLXNvY2tldD1zeXN0ZW0tYnVzCi0gIC0gLS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9w
LkZsYXRwYWsKLSAgLSAtLWVudj1HU1RfUFJFU0VUX1BBVEg9L2FwcC9zaGFyZS9nc3RyZWFtZXIt
MS4wL3ByZXNldHMvCi1idWlsZC1vcHRpb25zOgotICBjZmxhZ3M6IC1PMiAtZwotICBjeHhmbGFn
czogLU8yIC1nCi0gIHN0cmlwOiBmYWxzZQotICBuby1kZWJ1Z2luZm86IHRydWUKLW1vZHVsZXM6
Ci0gIC0gb3JnLndlYmtpdC5Db21tb25Nb2R1bGVzLnlhbWwKLSAgLSBvcmcud2Via2l0LldQRU1v
ZHVsZXMueWFtbAotCi0gICMgVGhpcyBtb2R1bGUgaXMgbm90IGFjdHVhbGx5IGJ1aWx0LgotICAt
IG5hbWU6IG9yZy53ZWJraXQuV1BFUVQKLSAgICBidWlsZHN5c3RlbTogY21ha2UKLSAgICBzb3Vy
Y2VzOgotICAgIC0gdHlwZTogZGlyCi0gICAgICBwYXRoOiAvYXBwL3dlYmtpdC9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvd3BlL3F0CmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29yZy53
ZWJraXQuV2ViS2l0LnlhbWwgYi9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV2ViS2l0LnlhbWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2ZDYxMjY2MGQ4YTIwNDVkYTMxMmZkYjA5
MWI3OGU1OGE4MDdlNjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldlYktpdC55YW1sCisrKyAvZGV2L251bGwK
QEAgLTEsMzMgKzAsMCBAQAotYXBwLWlkOiAlKFBPUlROQU1FKXMKLXJ1bnRpbWU6IG9yZy5nbm9t
ZS5QbGF0Zm9ybQotcnVudGltZS12ZXJzaW9uOiAiMy4zMiIKLSMgQ29udHJvbCB0aGUgZXhhY3Qg
dmVyc2lvbiBvZiB0aGUgU2RrL1J1bnRpbWUgdGhhdCBpcyBiZWluZyB1c2VkLgotc2RrLWhhc2g6
IGIzYjliMWQxYjE5ZWEyYmI3MjAxOTQyOGNhNzVjN2E3ODQ1NWU5ODZhMGY5MWRkZGY2YTI5Yzky
OTkwY2M1YTcKLXJ1bnRpbWUtaGFzaDogN2M5ZDU1OTJkODA1ZDBiN2MyMTIxOTBmZDgxMThlNGM3
OGNiOGVkOGY4MWU2ODc4NTg5NzI2NzBkYWNjZmY3Ngotc2RrOiBvcmcuZ25vbWUuU2RrCi1jb21t
YW5kOiAlKENPTU1BTkQpcwotZmluaXNoLWFyZ3M6Ci0gICMgQmFzaWNhbGx5IG5vIHNhbmRib3hp
bmcsIHRoZSBnb2FsIGhlcmUgaXMgdG8gbWFrZSBpdCBmbGV4aWJsZQotICAjIGZvciBkZXZlbG9w
ZXJzLCBub3QgcmVhbGx5IHRvIGlzb2xhdGUgKG9wZW5uaW5nIGFsbCBkZXZpY2VzCi0gICMgdG8g
YWxsb3cgYWNjZXMgdmlkZW8gY2FtZXJhcyB1bnRpbCB3ZSBoYXZlIGEgcG9ydGFsIGF0IGxlYXN0
KS4KLSAgLSAtLXNoYXJlPWlwYwotICAtIC0tc29ja2V0PXgxMQotICAtIC0tc29ja2V0PXdheWxh
bmQKLSAgLSAtLWRldmljZT1hbGwKLSAgLSAtLXNoYXJlPW5ldHdvcmsKLSAgLSAtLXNvY2tldD1w
dWxzZWF1ZGlvCi0gIC0gLS1zeXN0ZW0tdGFsay1uYW1lPW9yZy5mcmVlZGVza3RvcC5HZW9DbHVl
MgotICAtIC0tc3lzdGVtLXRhbGstbmFtZT1vcmcuYTExeS5CdXMKLSAgLSAtLWZpbGVzeXN0ZW09
aG9zdAotICAtIC0tc29ja2V0PXN5c3RlbS1idXMKLSAgLSAtLXRhbGstbmFtZT1vcmcuZnJlZWRl
c2t0b3AuRmxhdHBhawotICAtIC0tZW52PUdTVF9QUkVTRVRfUEFUSD0vYXBwL3NoYXJlL2dzdHJl
YW1lci0xLjAvcHJlc2V0cy8KLWJ1aWxkLW9wdGlvbnM6Ci0gIGNmbGFnczogLU8yIC1nCi0gIGN4
eGZsYWdzOiAtTzIgLWcKLSAgc3RyaXA6IGZhbHNlCi0gIG5vLWRlYnVnaW5mbzogdHJ1ZQotbW9k
dWxlczoKLSAgLSBvcmcud2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbAotICAjIFBvcnQgc3BlY2lm
aWMgY29tcG9uZW50cy4KLSAgLSAlKFBPUlROQU1FKXMueWFtbApkaWZmIC0tZ2l0IGEvVG9vbHMv
ZmxhdHBhay9wYXRjaGVzL2h0dHBkLTAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1Q
Q1JFLWRldGVjdGlvbi5wYXRjaCBiL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy9odHRwZC0wMDAxLWNv
bmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1kZXRlY3Rpb24ucGF0Y2gKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQzNmE2OTRmMjkyM2QzNTFkYjZmM2YxMzMyNzYwMjgzZGE3
OGY5ZGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9v
bHMvZmxhdHBhay9wYXRjaGVzL2h0dHBkLTAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZv
ci1QQ1JFLWRldGVjdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLUZy
b20gYjVlYmU0MDRmMTM4OGRkZGEzNjAzZTUzMjc3Zjg3ZTBiOTZiYTY5NSBNb24gU2VwIDE3IDAw
OjAwOjAwIDIwMDEKLUZyb206IFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGlnYWxpYS5jb20+
Ci1EYXRlOiBNb24sIDExIEp1biAyMDE4IDE2OjE0OjM4IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hd
IGNvbmZpZ3VyZTogdXNlIHBrZy1jb25maWcgZm9yIFBDUkUgZGV0ZWN0aW9uCi0KLS0tLQotIGNv
bmZpZ3VyZS5pbiB8IDI3ICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFu
Z2VkLCA1IGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY29u
ZmlndXJlLmluIGIvY29uZmlndXJlLmluCi1pbmRleCA3NjFlODM2Li5iMTU1ZDRiIDEwMDY0NAot
LS0tIGEvY29uZmlndXJlLmluCi0rKysgYi9jb25maWd1cmUuaW4KLUBAIC0yMTUsMjggKzIxNSwx
MSBAQCBmaQotIEFDX0FSR19XSVRIKHBjcmUsCi0gQVBBQ0hFX0hFTFBfU1RSSU5HKC0td2l0aC1w
Y3JlPVBBVEgsVXNlIGV4dGVybmFsIFBDUkUgbGlicmFyeSkpCi0gCi0tQUNfUEFUSF9QUk9HKFBD
UkVfQ09ORklHLCBwY3JlLWNvbmZpZywgZmFsc2UpCi0taWYgdGVzdCAtZCAiJHdpdGhfcGNyZSIg
JiYgdGVzdCAteCAiJHdpdGhfcGNyZS9iaW4vcGNyZS1jb25maWciOyB0aGVuCi0tICAgUENSRV9D
T05GSUc9JHdpdGhfcGNyZS9iaW4vcGNyZS1jb25maWcKLS1lbGlmIHRlc3QgLXggIiR3aXRoX3Bj
cmUiOyB0aGVuCi0tICAgUENSRV9DT05GSUc9JHdpdGhfcGNyZQotLWZpCi0tCi0taWYgdGVzdCAi
JFBDUkVfQ09ORklHIiAhPSAiZmFsc2UiOyB0aGVuCi0tICBpZiAkUENSRV9DT05GSUcgLS12ZXJz
aW9uID4vZGV2L251bGwgMj4mMTsgdGhlbiA6OyBlbHNlCi0tICAgIEFDX01TR19FUlJPUihbRGlk
IG5vdCBmaW5kIHBjcmUtY29uZmlnIHNjcmlwdCBhdCAkUENSRV9DT05GSUddKQotLSAgZmkKLS0g
IGNhc2UgYCRQQ1JFX0NPTkZJRyAtLXZlcnNpb25gIGluCi0tICBbWzEtNV0uKl0pCi0tICAgIEFD
X01TR19FUlJPUihbTmVlZCBhdCBsZWFzdCBwY3JlIHZlcnNpb24gNi4wXSkKLS0gICAgOzsKLS0g
IGVzYWMKLS0gIEFDX01TR19OT1RJQ0UoW1VzaW5nIGV4dGVybmFsIFBDUkUgbGlicmFyeSBmcm9t
ICRQQ1JFX0NPTkZJR10pCi0tICBBUFJfQUREVE8oUENSRV9JTkNMVURFUywgW2AkUENSRV9DT05G
SUcgLS1jZmxhZ3NgXSkKLS0gIEFQUl9BRERUTyhQQ1JFX0xJQlMsIFtgJFBDUkVfQ09ORklHIC0t
bGlic2BdKQotLWVsc2UKLS0gIEFDX01TR19FUlJPUihbcGNyZS1jb25maWcgZm9yIGxpYnBjcmUg
bm90IGZvdW5kLiBQQ1JFIGlzIHJlcXVpcmVkIGFuZCBhdmFpbGFibGUgZnJvbSBodHRwOi8vcGNy
ZS5vcmcvXSkKLS1maQotK1BLR19DSEVDS19NT0RVTEVTKFtQQ1JFXSwgW2xpYnBjcmVdLCBbCi0r
ICBBQ19ERUZJTkUoW0hBVkVfUENSRV0sIFsxXSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBQQ1JFIGxp
YnJhcnldKQotK10sIFsKLSsgIEFDX01TR19FUlJPUihbJFBDUkVfUEtHX0VSUk9SU10pCi0rXSkK
LSBBUEFDSEVfU1VCU1QoUENSRV9MSUJTKQotIAotIEFDX01TR19OT1RJQ0UoW10pCi0tLSAKLTIu
MTcuMQotCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL3BhdGNoZXMvbGliZ2NyeXB0LTAwMDEt
VXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRjaCBiL1Rvb2xzL2ZsYXRwYWsv
cGF0Y2hlcy9saWJnY3J5cHQtMDAwMS1Vc2UtcGtnLWNvbmZpZy10by1kZXRlY3QtZ3BnLWVycm9y
LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNTc3MjdmYmI4YjA4YjkxOTVh
NWMwOTdkNmM2MWI5MDhjNjkxNzlhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy9saWJnY3J5cHQtMDAwMS1Vc2UtcGtn
LWNvbmZpZy10by1kZXRlY3QtZ3BnLWVycm9yLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEw
ICswLDAgQEAKLUZyb20gOWFmZjNmMWIzNDRmYzg2NjZiMTRjNTc2MjkxNjJjMmI5MDA3Y2FkOCBN
b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVy
QGlnYWxpYS5jb20+Ci1EYXRlOiBGcmksIDI5IEp1biAyMDE4IDA5OjA1OjUyIC0wNDAwCi1TdWJq
ZWN0OiBbUEFUQ0hdIFVzZSBwa2ctY29uZmlnIHRvIGRldGVjdCBncGctZXJyb3IKLQotLS0tCi0g
bTQvZ3BnLWVycm9yLm00IHwgODggKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA3NiBkZWxl
dGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL200L2dwZy1lcnJvci5tNCBiL200L2dwZy1lcnJvci5t
NAotaW5kZXggMTY2MTIwNGMuLjVmOWYzM2MyIDEwMDY0NAotLS0tIGEvbTQvZ3BnLWVycm9yLm00
Ci0rKysgYi9tNC9ncGctZXJyb3IubTQKLUBAIC00MSw4MSArNDEsMTcgQEAgQUNfREVGVU4oW0FN
X1BBVEhfR1BHX0VSUk9SXSwKLSAgIEFDX0FSR19XSVRIKGdwZy1lcnJvci1wcmVmaXgsLAotICAg
ICAgICAgICAgICAgW2dwZ19lcnJvcl9jb25maWdfcHJlZml4PSIkd2l0aHZhbCJdKQotIAotLSAg
aWYgdGVzdCB4IiR7R1BHX0VSUk9SX0NPTkZJR30iID0geCA7IHRoZW4KLS0gICAgIGlmIHRlc3Qg
eCIke2dwZ19lcnJvcl9jb25maWdfcHJlZml4fSIgIT0geCA7IHRoZW4KLS0gICAgICAgIEdQR19F
UlJPUl9DT05GSUc9IiR7Z3BnX2Vycm9yX2NvbmZpZ19wcmVmaXh9L2Jpbi9ncGctZXJyb3ItY29u
ZmlnIgotLSAgICAgZWxzZQotLSAgICAgICBjYXNlICIke1NZU1JPT1R9IiBpbgotLSAgICAgICAg
IC8qKQotLSAgICAgICAgICAgaWYgdGVzdCAteCAiJHtTWVNST09UfS9iaW4vZ3BnLWVycm9yLWNv
bmZpZyIgOyB0aGVuCi0tICAgICAgICAgICAgIEdQR19FUlJPUl9DT05GSUc9IiR7U1lTUk9PVH0v
YmluL2dwZy1lcnJvci1jb25maWciCi0tICAgICAgICAgICBmaQotLSAgICAgICAgICAgOzsKLS0g
ICAgICAgICAnJykKLS0gICAgICAgICAgIDs7Ci0tICAgICAgICAgICopCi0tICAgICAgICAgICBB
Q19NU0dfV0FSTihbSWdub3JpbmcgXCRTWVNST09UIGFzIGl0IGlzIG5vdCBhbiBhYnNvbHV0ZSBw
YXRoLl0pCi0tICAgICAgICAgICA7OwotLSAgICAgICBlc2FjCi0tICAgICBmaQotLSAgZmkKLSsg
IFBLR19DSEVDS19NT0RVTEVTKFtHUEdfRVJST1JdLCBbZ3BnLWVycm9yXSwgWwotKyAgICBBQ19E
RUZJTkUoW0hBVkVfR1BHX0VSUk9SXSwgWzFdLCBbRGVmaW5lIGlmIHlvdSBoYXZlIGdwZy1lcnJv
ciBsaWJyYXJ5XSkKLSAKLS0gIEFDX1BBVEhfUFJPRyhHUEdfRVJST1JfQ09ORklHLCBncGctZXJy
b3ItY29uZmlnLCBubykKLS0gIG1pbl9ncGdfZXJyb3JfdmVyc2lvbj1pZmVsc2UoWyQxXSwgLDAu
MCwkMSkKLS0gIEFDX01TR19DSEVDS0lORyhmb3IgR1BHIEVycm9yIC0gdmVyc2lvbiA+PSAkbWlu
X2dwZ19lcnJvcl92ZXJzaW9uKQotLSAgb2s9bm8KLS0gIGlmIHRlc3QgIiRHUEdfRVJST1JfQ09O
RklHIiAhPSAibm8iIFwKLS0gICAgICYmIHRlc3QgLWYgIiRHUEdfRVJST1JfQ09ORklHIiA7IHRo
ZW4KLS0gICAgcmVxX21ham9yPWBlY2hvICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb24gfCBcCi0tICAg
ICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwuXChbWzAtOV1dKlwpL1wxLydgCi0tICAg
IHJlcV9taW5vcj1gZWNobyAkbWluX2dwZ19lcnJvcl92ZXJzaW9uIHwgXAotLSAgICAgICAgICAg
ICAgIHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS9cMi8nYAotLSAgICBncGdfZXJy
b3JfY29uZmlnX3ZlcnNpb249YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2Fy
Z3MgLS12ZXJzaW9uYAotLSAgICBtYWpvcj1gZWNobyAkZ3BnX2Vycm9yX2NvbmZpZ192ZXJzaW9u
IHwgXAotLSAgICAgICAgICAgICAgIHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS4q
L1wxLydgCi0tICAgIG1pbm9yPWBlY2hvICRncGdfZXJyb3JfY29uZmlnX3ZlcnNpb24gfCBcCi0t
ICAgICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwuXChbWzAtOV1dKlwpLiovXDIvJ2AK
LS0gICAgaWYgdGVzdCAiJG1ham9yIiAtZ3QgIiRyZXFfbWFqb3IiOyB0aGVuCi0tICAgICAgICBv
az15ZXMKLS0gICAgZWxzZQotLSAgICAgICAgaWYgdGVzdCAiJG1ham9yIiAtZXEgIiRyZXFfbWFq
b3IiOyB0aGVuCi0tICAgICAgICAgICAgaWYgdGVzdCAiJG1pbm9yIiAtZ2UgIiRyZXFfbWlub3Ii
OyB0aGVuCi0tICAgICAgICAgICAgICAgb2s9eWVzCi0tICAgICAgICAgICAgZmkKLS0gICAgICAg
IGZpCi0tICAgIGZpCi0tICBmaQotLSAgaWYgdGVzdCAkb2sgPSB5ZXM7IHRoZW4KLS0gICAgR1BH
X0VSUk9SX0NGTEFHUz1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9jb25maWdfYXJncyAt
LWNmbGFnc2AKLS0gICAgR1BHX0VSUk9SX0xJQlM9YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJy
b3JfY29uZmlnX2FyZ3MgLS1saWJzYAotLSAgICBHUEdfRVJST1JfTVRfQ0ZMQUdTPWAkR1BHX0VS
Uk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19hcmdzIC0tbXQgLS1jZmxhZ3MgMj4vZGV2L251
bGxgCi0tICAgIEdQR19FUlJPUl9NVF9MSUJTPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9y
X2NvbmZpZ19hcmdzIC0tbXQgLS1saWJzIDI+L2Rldi9udWxsYAotLSAgICBBQ19NU0dfUkVTVUxU
KFt5ZXMgKCRncGdfZXJyb3JfY29uZmlnX3ZlcnNpb24pXSkKLS0gICAgaWZlbHNlKFskMl0sICwg
OiwgWyQyXSkKLS0gICAgZ3BnX2Vycm9yX2NvbmZpZ19ob3N0PWAkR1BHX0VSUk9SX0NPTkZJRyAk
Z3BnX2Vycm9yX2NvbmZpZ19hcmdzIC0taG9zdCAyPi9kZXYvbnVsbCB8fCBlY2hvIG5vbmVgCi0t
ICAgIGlmIHRlc3QgeCIkZ3BnX2Vycm9yX2NvbmZpZ19ob3N0IiAhPSB4bm9uZSA7IHRoZW4KLS0g
ICAgICBpZiB0ZXN0IHgiJGdwZ19lcnJvcl9jb25maWdfaG9zdCIgIT0geCIkaG9zdCIgOyB0aGVu
Ci0tICBBQ19NU0dfV0FSTihbWwotLSoqKgotLSoqKiBUaGUgY29uZmlnIHNjcmlwdCAkR1BHX0VS
Uk9SX0NPTkZJRyB3YXMKLS0qKiogYnVpbHQgZm9yICRncGdfZXJyb3JfY29uZmlnX2hvc3QgYW5k
IHRodXMgbWF5IG5vdCBtYXRjaCB0aGUKLS0qKiogdXNlZCBob3N0ICRob3N0LgotLSoqKiBZb3Ug
bWF5IHdhbnQgdG8gdXNlIHRoZSBjb25maWd1cmUgb3B0aW9uIC0td2l0aC1ncGctZXJyb3ItcHJl
Zml4Ci0tKioqIHRvIHNwZWNpZnkgYSBtYXRjaGluZyBjb25maWcgc2NyaXB0IG9yIHVzZSBcJFNZ
U1JPT1QuCi0tKioqXV0pCi0tICAgICAgICBncGdfY29uZmlnX3NjcmlwdF93YXJuPSIkZ3BnX2Nv
bmZpZ19zY3JpcHRfd2FybiBsaWJncGctZXJyb3IiCi0tICAgICAgZmkKLS0gICAgZmkKLS0gIGVs
c2UKLS0gICAgR1BHX0VSUk9SX0NGTEFHUz0iIgotLSAgICBHUEdfRVJST1JfTElCUz0iIgotLSAg
ICBHUEdfRVJST1JfTVRfQ0ZMQUdTPSIiCi0tICAgIEdQR19FUlJPUl9NVF9MSUJTPSIiCi0tICAg
IEFDX01TR19SRVNVTFQobm8pCi0tICAgIGlmZWxzZShbJDNdLCAsIDosIFskM10pCi0tICBmaQot
LSAgQUNfU1VCU1QoR1BHX0VSUk9SX0NGTEFHUykKLS0gIEFDX1NVQlNUKEdQR19FUlJPUl9MSUJT
KQotLSAgQUNfU1VCU1QoR1BHX0VSUk9SX01UX0NGTEFHUykKLS0gIEFDX1NVQlNUKEdQR19FUlJP
Ul9NVF9MSUJTKQotKyAgICBHUEdfRVJST1JfTVRfQ0ZMQUdTPSIkR1BHX0VSUk9SX0NGTEFHUyIK
LSsgICAgR1BHX0VSUk9SX01UX0xJQlM9Ii1scHRocmVhZCAkR1BHX0VSUk9SX0xJQlMiCi0rCi0r
ICAgIEFDX1NVQlNUKEdQR19FUlJPUl9DRkxBR1MpCi0rICAgIEFDX1NVQlNUKEdQR19FUlJPUl9M
SUJTKQotKyAgICBBQ19TVUJTVChHUEdfRVJST1JfTVRfQ0ZMQUdTKQotKyAgICBBQ19TVUJTVChH
UEdfRVJST1JfTVRfTElCUykKLSsgIF0sIFsKLSsgICAgQUNfTVNHX0VSUk9SKFskR1BHX0VSUk9S
X0VSUk9SU10pCi0rICBdKQotIF0pCi0tLSAKLTIuMTguMAotCmRpZmYgLS1naXQgYS9Ub29scy9m
bGF0cGFrL3BhdGNoZXMveHZmYi0wMDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEta2JtLWZpbGUu
cGF0Y2ggYi9Ub29scy9mbGF0cGFrL3BhdGNoZXMveHZmYi0wMDAxLUhBQ0stQXZvaWQtY29tcGls
aW5nLWEta2JtLWZpbGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg5ODg0
MmIzODFkMjUxNDBmYmMwOGY1NGE5NzIzMGE2ZGJlNGE0NTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9wYXRjaGVzL3h2ZmItMDAw
MS1IQUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1maWxlLnBhdGNoCisrKyAvZGV2L251bGwKQEAg
LTEsNTAgKzAsMCBAQAotRnJvbSBhZWQxYjZlOGRlNDEzNzVjMWI4YjFkZmM0OGEzNTBlMGE5Yjlj
YmJhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGhpYmF1bHQgU2F1bmllciA8dHNh
dW5pZXJAaWdhbGlhLmNvbT4KLURhdGU6IE1vbiwgMTEgSnVuIDIwMTggMTA6NTU6NDMgLTA0MDAK
LVN1YmplY3Q6IFtQQVRDSCB4c2VydmVyXSBIQUNLOiBBdm9pZCBjb21waWxpbmcgYSBrYm0gZmls
ZQotCi1UaGlzIHdvdWxkIG5lZWQgdG8gYmUgaW4gL3Vzci9zaGFyZS9YMTEvIGFzIHRoaXMgaXMg
d2hlcmUKLXJlc291cmNlIGZpbGVzIGFyZSBpbiB0aGUgc2FuZGJveCBidXQgaXQgaXMgcmVhZCBv
bmx5IGluIHRoZXJlLgotCi1IYWNrIGFyb3VuZCB0aGF0LgotLS0tCi0geGtiL2RkeExvYWQuYyB8
IDkgKy0tLS0tLS0tCi0geGtiL3hrYkluaXQuYyB8IDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDIg
aW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3hrYi9kZHhMb2Fk
LmMgYi94a2IvZGR4TG9hZC5jCi1pbmRleCBiYmUzOTUyLi5hNGEwM2ExIDEwMDY0NAotLS0tIGEv
eGtiL2RkeExvYWQuYwotKysrIGIveGtiL2RkeExvYWQuYwotQEAgLTE0OCwxNCArMTQ4LDcgQEAg
UnVuWGtiQ29tcCh4a2Jjb21wX2J1ZmZlcl9jYWxsYmFjayBjYWxsYmFjaywgdm9pZCAqdXNlcmRh
dGEpCi0gICAgICAgICB9Ci0gICAgIH0KLSAKLS0gICAgaWYgKGFzcHJpbnRmKCZidWYsCi0tICAg
ICAgICAgICAgICAgICAiXCIlcyVzeGtiY29tcFwiIC13ICVkICVzIC14a20gXCIlc1wiICIKLS0g
ICAgICAgICAgICAgICAgICItZW0xICVzIC1lbXAgJXMgLWVtbCAlcyBcIiVzJXMueGttXCIiLAot
LSAgICAgICAgICAgICAgICAgeGtiYmluZGlyLCB4a2JiaW5kaXJzZXAsCi0tICAgICAgICAgICAg
ICAgICAoKHhrYkRlYnVnRmxhZ3MgPCAyKSA/IDEgOgotLSAgICAgICAgICAgICAgICAgICgoeGti
RGVidWdGbGFncyA+IDEwKSA/IDEwIDogKGludCkgeGtiRGVidWdGbGFncykpLAotLSAgICAgICAg
ICAgICAgICAgeGtiYmFzZWRpcmZsYWcgPyB4a2JiYXNlZGlyZmxhZyA6ICIiLCB4a21maWxlLAot
LSAgICAgICAgICAgICAgICAgUFJFX0VSUk9SX01TRywgRVJST1JfUFJFRklYLCBQT1NUX0VSUk9S
X01TRzEsCi0rICAgIGlmIChhc3ByaW50ZigmYnVmLCAiY3AgL2FwcC93ZWJraXQvVG9vbHMvZmxh
dHBhay9maWxlcy9kZWZhdWx0LnhrbSBcIiVzJXMueGttXCIiLAotICAgICAgICAgICAgICAgICAg
eGttX291dHB1dF9kaXIsIGtleW1hcCkgPT0gLTEpCi0gICAgICAgICBidWYgPSBOVUxMOwotIAot
ZGlmZiAtLWdpdCBhL3hrYi94a2JJbml0LmMgYi94a2IveGtiSW5pdC5jCi1pbmRleCA5Yzc3MmY1
Li40ZTBiNzc0IDEwMDY0NAotLS0tIGEveGtiL3hrYkluaXQuYwotKysrIGIveGtiL3hrYkluaXQu
YwotQEAgLTg3LDcgKzg3LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX1NydlhrbUluZm8gewotICNkZWZp
bmUJWEtCX0RGTFRfUlVMRVNfUFJPUAlUUlVFCi0gI2VuZGlmCi0gCi0tY29uc3QgY2hhciAqWGti
QmFzZURpcmVjdG9yeSA9IFhLQl9CQVNFX0RJUkVDVE9SWTsKLStjb25zdCBjaGFyICpYa2JCYXNl
RGlyZWN0b3J5ID0gIi91c3Ivc2hhcmUvWDExL3hrYi8iOwotIGNvbnN0IGNoYXIgKlhrYkJpbkRp
cmVjdG9yeSA9IFhLQl9CSU5fRElSRUNUT1JZOwotIHN0YXRpYyBpbnQgWGtiV2FudEFjY2Vzc1gg
PSAwOwotIAotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvZ3RrL2luc3RhbGwtZGVw
ZW5kZW5jaWVzIGIvVG9vbHMvZ3RrL2luc3RhbGwtZGVwZW5kZW5jaWVzCmluZGV4IDZmZDU2NmYw
ZGNmM2M1MTQyZjY5MGZlMmIzOTNhNmUwM2U3OWUzYTMuLjYzYjk2NzVmYzA5MThjZWEwZDBkNmRm
MWE3OTE0ZTM1Y2M4MTNkZDYgMTAwNzU1Ci0tLSBhL1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVuZGVu
Y2llcworKysgYi9Ub29scy9ndGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMKQEAgLTE3OCw2ICsxNzgs
MTAgQEAgZnVuY3Rpb24gaW5zdGFsbERlcGVuZGVuY2llc1dpdGhBcHQgewogICAgICAgICB3ZXN0
b24gXAogICAgICAgICB4dmZiIgogCisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vz
c2FyeSBmb3IgYnVpbGRpbmcgd2l0aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRw
YWNrYWdlcyBcCisgICAgICAgIGZsYXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNp
ZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB0aGUgamhidWlsZC4KICAgICBwYWNrYWdlcz0iJHBh
Y2thZ2VzIFwKICAgICAgICAgYmlzb24gXApAQCAtMzQ4LDYgKzM1MiwxMCBAQCBmdW5jdGlvbiBp
bnN0YWxsRGVwZW5kZW5jaWVzV2l0aFBhY21hbiB7CiAgICAgICAgIHdlc3RvbiBcCiAgICAgICAg
IHhvcmctc2VydmVyLXh2ZmIiCiAKKyAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNz
YXJ5IGZvciBidWlsZGluZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAgICBwYWNrYWdlcz0iJHBh
Y2thZ2VzIFwKKyAgICAgICAgZmxhdHBhayIKKwogICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2ll
cyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAgICMgTm90ZTogQ291bGQg
bm90IGZpbmQgbGliZWdsLW1lc2EKICAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKQEAgLTUyMiw2
ICs1MzAsMTAgQEAgZnVuY3Rpb24gaW5zdGFsbERlcGVuZGVuY2llc1dpdGhEbmYgewogICAgICAg
ICB3ZXN0b24tZGV2ZWwgXAogICAgICAgICB4b3JnLXgxMS1zZXJ2ZXItWHZmYiIKIAorICAgICMg
VGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHdpdGggdGhlIEZs
YXRwYWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAorICAgICAgICBmbGF0cGFrIgor
CiAgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgdGhl
IGpoYnVpbGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCiAgICAgICAgIGJpc29uIFwKZGlm
ZiAtLWdpdCBhL1Rvb2xzL3dwZS9pbnN0YWxsLWRlcGVuZGVuY2llcyBiL1Rvb2xzL3dwZS9pbnN0
YWxsLWRlcGVuZGVuY2llcwppbmRleCBjYTFjZDNmZGVmMGNhZjY0NjY4MjNlNWE4ZWQ5MmI0NDdj
NDkwYWExLi5mMmE1ZjI1ZGVkODM3YTllOTM1MjU1NGI2ZDJmMmFlMWYzNTA2MjRkIDEwMDc1NQot
LS0gYS9Ub29scy93cGUvaW5zdGFsbC1kZXBlbmRlbmNpZXMKKysrIGIvVG9vbHMvd3BlL2luc3Rh
bGwtZGVwZW5kZW5jaWVzCkBAIC0xMTEsNiArMTExLDEwIEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBl
bmRlbmNpZXNXaXRoQXB0IHsKICAgICAgICAgcnVieS1oaWdobGluZSBcCiAgICAgICAgIHJ1Ynkt
anNvbiIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxk
aW5nIHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAorICAg
ICAgICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBm
b3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCiAgICAg
ICAgIGdpdCBcCkBAIC0yMTQsNiArMjE4LDEwIEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNp
ZXNXaXRoUGFjbWFuIHsKICAgICAgICAgcnVieSBcCiAgICAgICAgIHR0Zi1saWJlcmF0aW9uIgog
CisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgd2l0
aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCisgICAgICAgIGZs
YXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWls
ZGluZyB0aGUgamhidWlsZC4KICAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKICAgICAgICAgZXhw
YXQgXApAQCAtMzI2LDYgKzMzNCwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0
aERuZiB7CiAgICAgICAgIHJ1YnlnZW0taGlnaGxpbmUgXAogICAgICAgICBydWJ5Z2VtLWpzb24i
CiAKKyAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB3
aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAgICAgICAg
ZmxhdHBhayIKKwogICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1
aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAogICAgICAgICBl
eHBhdC1kZXZlbCBcCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzVjYjU2MzNhMzc1NWMxNWE1ZGE1YzM1MzcyZmJhYmY1MjFi
MmIyMi4uMGYwYjNhNTk3MDNjZjM5MDVmMDQwOTEyMzYwOWFjYWJiMDc5ZjM4YSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEyIEBACisyMDIwLTAyLTA0ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdh
bGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBk
ZXYgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGh0dHAvY29uZi9mbGF0cGFrLWh0dHBkLmNvbmY6IEFkanVzdCBwYXRocy4KKwogMjAyMC0wMy0x
MSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gVW5z
a2lwIGZhc3QvbWVkaWFzdHJlYW0gdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
Y29uZi9mbGF0cGFrLWh0dHBkLmNvbmYgYi9MYXlvdXRUZXN0cy9odHRwL2NvbmYvZmxhdHBhay1o
dHRwZC5jb25mCmluZGV4IDNjMDNlNDIzOWMyNDk4OWQ5Y2Q3OTY4NjE0NGJjN2NlMmIzMGMzMWIu
LmJmNTIxNWQ1ODlhZDYxZjg4MmQ1M2EwNjc1YWQ2N2E0NDZhYjk0M2YgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvY29uZi9mbGF0cGFrLWh0dHBkLmNvbmYKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC9jb25mL2ZsYXRwYWstaHR0cGQuY29uZgpAQCAtMSw1ICsxLDUgQEAKIFNlcnZlclRva2Vu
cyBPUwotU2VydmVyUm9vdCAiL2FwcC8iCitTZXJ2ZXJSb290ICIvdXNyLyIKIAogUGlkRmlsZSAi
L3RtcC9XZWJLaXQvaHR0cGQucGlkIgogU2NvcmVCb2FyZEZpbGUgIi90bXAvV2ViS2l0L2h0dHBk
LnNjb3JlYm9hcmQiCkBAIC0zMyw5ICszMyw3IEBAIExvYWRNb2R1bGUgbG9nX2NvbmZpZ19tb2R1
bGUgICAgbW9kdWxlcy9tb2RfbG9nX2NvbmZpZy5zbwogTG9hZE1vZHVsZSBzc2xfbW9kdWxlICAg
ICAgICAgICBtb2R1bGVzL21vZF9zc2wuc28KIExvYWRNb2R1bGUgcGhwN19tb2R1bGUgICAgICAg
ICAgbW9kdWxlcy9saWJwaHA3LnNvCiBMb2FkTW9kdWxlIGFzaXNfbW9kdWxlICAgICAgICAgIG1v
ZHVsZXMvbW9kX2FzaXMuc28KLUxvYWRNb2R1bGUgZW52X21vZHVsZSAgICAgICAgICAgbW9kdWxl
cy9tb2RfZW52LnNvCiAKLVNldEVudiBQRVJMNUxJQiAvYXBwL2xpYi9wZXJsCiAKIFNlcnZlck5h
bWUgMTI3LjAuMC4xCiAKQEAgLTU0LDcgKzUyLDcgQEAgQWNjZXNzRmlsZU5hbWUgLmh0YWNjZXNz
CiBVc2VDYW5vbmljYWxOYW1lIE9uCiBIb3N0bmFtZUxvb2t1cHMgT2ZmCiAKLVR5cGVzQ29uZmln
IC9ldGMvbWltZS50eXBlcworVHlwZXNDb25maWcgL3Vzci9jb25mL21pbWUudHlwZXMKIAogTG9n
TGV2ZWwgd2FybgogTG9nRm9ybWF0ICIlaCAlbCAldSAldCBcIiVyXCIgJT5zICViIFwiJXtSZWZl
cmVyfWlcIiBcIiV7VXNlci1BZ2VudH1pXCIiIGNvbWJpbmVkCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393225</attachid>
            <date>2020-03-11 05:00:46 -0700</date>
            <delta_ts>2020-03-11 07:04:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205658-20200311120044.patch</filename>
            <type>text/plain</type>
            <size>133168</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MjU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTNkMjliOWFlMzZmYTgy
ODg2ZTQwN2YxMTY0MWQwNTliYWFlNzlkNS4uZDNlNTY4OGNiZTkxMGNmZGVlMWEwNmIxN2VkOGUy
ZDMzY2Q2Mzc5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAyLTA0ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVd
IE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0
aW9uTGliSHlwaGVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNjYW5UZXN0RGljdGlvbmFyaWVz
RGlyZWN0b3J5SWZOZWNlc3NhcnkpOiBDaGVjayBmb3IgZmxhdHBhay1pbnN0YWxsZWQgZGljdGlv
bmFyaWVzLgorCiAyMDIwLTAzLTExICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBbaU9TXSBVbnNraXAgZmFzdC9tZWRpYXN0cmVhbSB0ZXN0cwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9oeXBoZW4vSHlwaGVuYXRpb25MaWJIeXBo
ZW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9oeXBoZW4vSHlwaGVuYXRpb25M
aWJIeXBoZW4uY3BwCmluZGV4IDEyYmFhNGM0ZDNlOWU2M2Y3ZmY4MWM1ZTJiMTE5NGI4YmI4YTlj
MDUuLmYzMzU5ZDgwNzAyMmY1NDg5YzY4ZjlhY2Y4MTZhNjcwNDJhNTNkNjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0aW9uTGliSHlwaGVu
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2h5cGhlbi9IeXBoZW5hdGlv
bkxpYkh5cGhlbi5jcHAKQEAgLTEyMSw4ICsxMjEsMTUgQEAgc3RhdGljIHZvaWQgc2NhblRlc3RE
aWN0aW9uYXJpZXNEaXJlY3RvcnlJZk5lY2Vzc2FyeShIYXNoTWFwPEF0b21TdHJpbmcsIFZlY3Rv
cjwKICAgICAvLyBsaWJoeXBoZW4gZG9lc24ndCBoYXZlIHRoZSBjb25jZXB0IG9mIGluc3RhbGxl
ZCBkaWN0aW9uYXJpZXMuIEluc3RlYWQsCiAgICAgLy8gd2UgaGF2ZSB0aGlzIHNwZWNpYWwgY2Fz
ZSBmb3IgV2ViS2l0IHRlc3RzLgogI2lmIFBMQVRGT1JNKEdUSykKKyAgICAvLyBUcnkgYWx0ZXJu
YXRpdmUgZGljdGlvbmFyaWVzIHBhdGggZm9yIHBlb3BsZSB1c2luZyBGbGF0cGFrLgorICAgIEdV
bmlxdWVQdHI8Y2hhcj4gZGljdGlvbmFyaWVzUGF0aChnX2J1aWxkX2ZpbGVuYW1lKCIvdXNyIiwg
InNoYXJlIiwgIndlYmtpdGd0ay10ZXN0LWRpY3RzIiwgbnVsbHB0cikpOworICAgIGlmIChnX2dl
dGVudigiRkxBVFBBS19JRCIpICYmIGdfZmlsZV90ZXN0KGRpY3Rpb25hcmllc1BhdGguZ2V0KCks
IHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfSVNfRElSKSkpIHsKKyAgICAgICAg
c2NhbkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFp
bGFibGVMb2NhbGVzKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIENTdHJpbmcgYnVp
bGREaXJlY3RvcnkgPSB3ZWJraXRCdWlsZERpcmVjdG9yeSgpOwotICAgIEdVbmlxdWVQdHI8Y2hh
cj4gZGljdGlvbmFyaWVzUGF0aChnX2J1aWxkX2ZpbGVuYW1lKGJ1aWxkRGlyZWN0b3J5LmRhdGEo
KSwgIkRlcGVuZGVuY2llc0dUSyIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWRpY3RzIiwgbnVs
bHB0cikpOworICAgIGRpY3Rpb25hcmllc1BhdGgucmVzZXQoZ19idWlsZF9maWxlbmFtZShidWls
ZERpcmVjdG9yeS5kYXRhKCksICJEZXBlbmRlbmNpZXNHVEsiLCAiUm9vdCIsICJ3ZWJraXRndGst
dGVzdC1kaWN0cyIsIG51bGxwdHIpKTsKICAgICBpZiAoZ19maWxlX3Rlc3QoZGljdGlvbmFyaWVz
UGF0aC5nZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9JU19ESVIpKSkg
ewogICAgICAgICBzY2FuRGlyZWN0b3J5Rm9yRGljdGlvbmFyaWVzKGRpY3Rpb25hcmllc1BhdGgu
Z2V0KCksIGF2YWlsYWJsZUxvY2FsZXMpOwogICAgICAgICByZXR1cm47CkBAIC0xMzAsNyArMTM3
LDkgQEAgc3RhdGljIHZvaWQgc2NhblRlc3REaWN0aW9uYXJpZXNEaXJlY3RvcnlJZk5lY2Vzc2Fy
eShIYXNoTWFwPEF0b21TdHJpbmcsIFZlY3RvcjwKIAogICAgIC8vIFRyeSBhbHRlcm5hdGl2ZSBk
aWN0aW9uYXJpZXMgcGF0aCBmb3IgcGVvcGxlIG5vdCB1c2luZyBKSEJ1aWxkLgogICAgIGRpY3Rp
b25hcmllc1BhdGgucmVzZXQoZ19idWlsZF9maWxlbmFtZShidWlsZERpcmVjdG9yeS5kYXRhKCks
ICJ3ZWJraXRndGstdGVzdC1kaWN0cyIsIG51bGxwdHIpKTsKLSAgICBzY2FuRGlyZWN0b3J5Rm9y
RGljdGlvbmFyaWVzKGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIGF2YWlsYWJsZUxvY2FsZXMpOwor
ICAgIGlmIChnX2ZpbGVfdGVzdChkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxH
RmlsZVRlc3Q+KEdfRklMRV9URVNUX0lTX0RJUikpKQorICAgICAgICBzY2FuRGlyZWN0b3J5Rm9y
RGljdGlvbmFyaWVzKGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIGF2YWlsYWJsZUxvY2FsZXMpOwor
CiAjZWxpZiBkZWZpbmVkKFRFU1RfSFlQSEVOQVRBSU9OX1BBVEgpCiAgICAgc2NhbkRpcmVjdG9y
eUZvckRpY3Rpb25hcmllcyhURVNUX0hZUEhFTkFUQUlPTl9QQVRILCBhdmFpbGFibGVMb2NhbGVz
KTsKICNlbHNlCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggOGZkZTBlZjc0NjhmOWI1ZmNkNjhiYjM3NzdiMDAzNDhmMjliZjNmZi4uZDEzY2MxMWUz
NjkzMmU0OWUxMWRjZmQ0NjA2MDQ3N2ZhNTI1MTc5MSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNSBAQAorMjAyMC0wMi0wNCAg
UGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11b
V1BFXSBNaWdyYXRlIHRvIEZsYXRwYWstYmFzZWQgZGV2IFNESworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NjU4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSkhCdWlsZCB3aWxsIG5vdyBiZSB1c2VkIG9u
bHkgaWYgdGhlIFdFQktJVF9KSEJVSUxEIGVudmlyb25tZW50CisgICAgICAgIHZhcmlhYmxlIGlz
IHNldCB0byAxLCB3aGljaCBpcyB0aGUgY2FzZSBmb3IgdGhlIHRpbWUgYmVpbmcgb24gdGhlCisg
ICAgICAgIEdUSyBhbmQgV1BFIEVXUy9idWlsZCBib3RzLgorCisgICAgICAgIEJ5IGRlZmF1bHQg
dGhlIGJ1aWxkIGRlcGVuZGVuY2llcyBhcmUgbm93IGxvY2FsbHkgaW5zdGFsbGVkIGZyb20gYQor
ICAgICAgICBGbGF0cGFrIHJlcG9zaXRvcnkgaG9zdGVkIGF0IGh0dHBzOi8vc29mdHdhcmUuaWdh
bGlhLmNvbS4gVGhlCisgICAgICAgIHJlcG9zaXRvcnkgY2FuIGJlIHJlZ2VuZXJhdGVkIHdpdGgg
dGhlIHNjcmlwdHMgZnJvbSB0aGUKKyAgICAgICAgd2Via2l0LWZsYXRwYWstc2RrIEdpdGh1YiBw
cm9qZWN0CisgICAgICAgIChodHRwczovL2dpdGh1Yi5jb20vSWdhbGlhL3dlYmtpdC1mbGF0cGFr
LXNkaykuIFRoaXMgaXMgZG9uZQorICAgICAgICB0cmFuc3BhcmVudGx5IHdpdGggdGhlIHVwZGF0
ZS13ZWJraXR7Z3RrLHdwZX0tbGlicyBzY3JpcHRzLiBBcworICAgICAgICB0aGVyZSBpcyBubyBu
ZWVkIHRvIHJlYnVpbGQgdGhlIGRlcGVuZGVuY2llcyBmcm9tIHNjcmF0Y2gsIHRoZQorICAgICAg
ICBkZXZlbG9wZXIgdXNlci1leHBlcmllbmNlIHNob3VsZCBub3cgYmUgbXVjaCBtb3JlIGZyaWVu
ZGx5IGFuZAorICAgICAgICBvdmVyYWxsIGJ1aWxkIHRpbWVzIHJlZHVjZWQuCisKKyAgICAgICAg
QXMgYW4gYWRkaXRpb25hbCBjb21tb2RpdHksIHRoZSBuZXcgZW52aXJvbm1lbnQgc3VwcG9ydHMg
dGhlCisgICAgICAgIEdTdHJlYW1lciBnc3QtYnVpbGQtYmFzZWQgd29ya2Zsb3cuIEp1c3Qgc2V0
IHRoZSBHU1RfQlVJTERfUEFUSAorICAgICAgICBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byB5b3Vy
IGdzdC1idWlsZCBwYXRoLiBUaGlzIGZlYXR1cmUgd2FzCisgICAgICAgIGNvbnRyaWJ1dGVkIGJ5
IFRoaWJhdWx0IFNhdW5pZXIuCisKKyAgICAgICAgVGhlIEpIQnVpbGQgaW5mcmFzdHJ1Y3R1cmUg
d2lsbCBiZSByZW1vdmVkIG9uY2UgYWxsIHRoZSBib3RzIGhhdmUKKyAgICAgICAgYmVlbiBzd2l0
Y2hlZCBvdmVyIHRvIEZsYXRwYWsuCisKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9ld3Mt
YnVpbGQvc3RlcHMucHk6CisgICAgICAgIChJbnN0YWxsR3RrRGVwZW5kZW5jaWVzKToKKyAgICAg
ICAgKEluc3RhbGxXcGVEZXBlbmRlbmNpZXMpOgorICAgICAgICAoQ29tcGlsZVdlYktpdC5zdGFy
dCk6CisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L3J1bjoKKyAgICAg
ICAgKiBTY3JpcHRzL2J1aWxkLXdlYmtpdDoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1iaW5kaW5n
cy10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1idWlsdGlucy1nZW5lcmF0b3ItdGVzdHM6
CisgICAgICAgICogU2NyaXB0cy9ydW4tZ3RrLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVu
LWphdmFzY3JpcHRjb3JlLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVuLW1pbmlicm93c2Vy
OgorICAgICAgICAqIFNjcmlwdHMvcnVuLXF0LXdwZS1taW5pYnJvd3NlcjoKKyAgICAgICAgKiBT
Y3JpcHRzL3J1bi13ZWJkcml2ZXItdGVzdHM6CisgICAgICAgICogU2NyaXB0cy9ydW4td3BlLXRl
c3RzOgorICAgICAgICAqIFNjcmlwdHMvdGVzdC13ZWJraXRwZXJsOgorICAgICAgICAqIFNjcmlw
dHMvdGVzdC13ZWJraXRweToKKyAgICAgICAgKiBTY3JpcHRzL3Rlc3QyNjItcnVubmVyOgorICAg
ICAgICAqIFNjcmlwdHMvdXBkYXRlLXdlYmtpdC1mbGF0cGFrOiBSZW5hbWVkIGZyb20gVG9vbHMv
U2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsuCisgICAgICAgICogU2NyaXB0cy91cGRh
dGUtd2Via2l0Z3RrLWxpYnM6CisgICAgICAgICogU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWZs
YXRwYWs6IFJlbW92ZWQuCisgICAgICAgICogU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWxpYnM6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRkaXJzLnBtOgorICAgICAgICAoZ2V0VXNlckZsYXRw
YWtQYXRoKToKKyAgICAgICAgKGluRmxhdHBha1NhbmRib3gpOgorICAgICAgICAocnVuSW5GbGF0
cGFrSWZBdmFpbGFibGUpOgorICAgICAgICAod3JhcHBlclByZWZpeElmTmVlZGVkKToKKyAgICAg
ICAgKHNob3VsZFVzZUpoYnVpbGQpOgorICAgICAgICAoc2hvdWxkVXNlRmxhdHBhayk6CisgICAg
ICAgIChzaG91bGRSZW1vdmVDTWFrZUNhY2hlKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlLnB5OgorICAgICAgICAoRXhlY3V0aXZlLmtpbGxfYWxs
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weToKKyAgICAgICAgKFBv
cnQuX3BhdGhfdG9fYXBhY2hlKToKKyAgICAgICAgKFBvcnQuX3Nob3VsZF9ydW5fYXNfcGl4ZWxf
dGVzdCk6CisgICAgICAgIChQb3J0Ll9pbl9mbGF0cGFrX3NhbmRib3gpOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHk6CisgICAgICAgIChHdGtQb3J0LnNldHVwX2Vudmly
b25fZm9yX3NlcnZlcik6CisgICAgICAgIChHdGtQb3J0Ll9nZXRfY3Jhc2hfbG9nKToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weToKKyAgICAg
ICAgKEdEQkNyYXNoTG9nR2VuZXJhdG9yKToKKyAgICAgICAgKEdEQkNyYXNoTG9nR2VuZXJhdG9y
Ll9faW5pdF9fKToKKyAgICAgICAgKEdEQkNyYXNoTG9nR2VuZXJhdG9yLmdlbmVyYXRlX2NyYXNo
X2xvZyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9s
b2dfdW5pdHRlc3QucHk6CisgICAgICAgIChHREJDcmFzaExvZ0dlbmVyYXRvclRlc3QudGVzdF9n
ZW5lcmF0ZV9jcmFzaF9sb2cpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC93cGUu
cHk6CisgICAgICAgIChXUEVQb3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcik6CisgICAgICAg
IChXUEVQb3J0Ll9nZXRfY3Jhc2hfbG9nKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Bv
cnQveHZmYmRyaXZlci5weToKKyAgICAgICAgKFh2ZmJEcml2ZXIuX3NldHVwX2Vudmlyb25fZm9y
X3Rlc3QpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0Fj
dGl2YXRlRm9udHNHdGsuY3BwOgorICAgICAgICAoV1RSOjpnZXRGb250c1BhdGgpOgorICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUu
Y3BwOgorICAgICAgICAoV1RSOjpnZXRGb250c1BhdGgpOgorICAgICAgICAqIGZsYXRwYWsvZmls
ZXMvZGVmYXVsdC54a206IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9maWxlcy9odHRwZC1h
dXRvZ2VuLnNoOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsvZmxhdHBha3V0aWxzLnB5Ogor
ICAgICAgICAoY2hlY2tfZmxhdHBhayk6CisgICAgICAgIChGbGF0cGFrUmVwb3MudXBkYXRlKToK
KyAgICAgICAgKEZsYXRwYWtQYWNrYWdlLl9fcmVwcl9fKToKKyAgICAgICAgKEZsYXRwYWtQYWNr
YWdlLl9fc3RyX18pOgorICAgICAgICAoV2Via2l0RmxhdHBhay5sb2FkX2Zyb21fYXJncyk6Cisg
ICAgICAgIChXZWJraXRGbGF0cGFrLl9faW5pdF9fKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsu
Y2xlYW5fYXJncyk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnNldHVwX2J1aWxkZGlyKToKKyAg
ICAgICAgKFdlYmtpdEZsYXRwYWspOgorICAgICAgICAoV2Via2l0RmxhdHBhay5zZXR1cF9nc3Ri
dWlsZCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnJ1bl9pbl9zYW5kYm94KToKKyAgICAgICAg
KFdlYmtpdEZsYXRwYWsucnVuKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuaGFzX2Vudmlyb25t
ZW50KToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuc2F2ZV9jb25maWcpOgorICAgICAgICAoV2Vi
a2l0RmxhdHBhay5zZXR1cF9kZXZfZW52KToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuaW5zdGFs
bF9hbGwpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5ydW5fZ2RiKToKKyAgICAgICAgKiBmbGF0
cGFrL29yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZs
YXRwYWsvb3JnLndlYmtpdC5HVEsueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL29y
Zy53ZWJraXQuV1BFLnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9vcmcud2Via2l0
LldQRU1vZHVsZXMueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL29yZy53ZWJraXQu
V1BFUVQueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL29yZy53ZWJraXQuV2ViS2l0
LnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9wYXRjaGVzL2h0dHBkLTAwMDEtY29u
ZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1QQ1JFLWRldGVjdGlvbi5wYXRjaDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmbGF0cGFrL3BhdGNoZXMvbGliZ2NyeXB0LTAwMDEtVXNlLXBrZy1jb25maWct
dG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRjaDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL3Bh
dGNoZXMveHZmYi0wMDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEta2JtLWZpbGUucGF0Y2g6IFJl
bW92ZWQuCisKIDIwMjAtMDMtMTEgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW0dUS10gRmFpbGluZyBBUEkgdGVzdHMgdW5kZXIgdGhlIEZsYXRwYWsg
U0RLIGVudmlyb25tZW50CmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsv
UkVBRE1FIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL1JFQURNRQpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZjlmODlmOTgyMWFlZWEyMGVkYjdjZWRiY2FiZmI3N2YzODBiZDJj
My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9C
dWlsZFNsYXZlU3VwcG9ydC9ndGsvUkVBRE1FCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBA
QAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotIFJ1bm5p
bmcgYSBHVEsrIGJ1aWxkIHNsYXZlIHVuZGVyIGRhZW1vbnRvb2xzCi09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLVRoaXMgZGlyZWN0b3J5IGNvbnRhaW5z
IHNldmVyYWwgc2NyaXB0cyB3aGljaCBjYW4gYmUgdXNlZCB0byBydW4gYSBXZWJLaXRHVEsKLWJ1
aWxkIHNsYXZlIHVuZGVyIGRhZW1vbnRvb2xzIFsxXS4gVGhpcyBpcyBjb252ZW5pZW50IGJlY2F1
c2UgZGFlbW9udG9vbHMKLXdpbGwgYXV0b21hdGljYWxseSByZXN0YXJ0IHNlcnZpY2VzIHdoZW4g
dGhleSBkaWUsIGFuZCB0aGF0IG1lYW5zIGxlc3MgaHVtYW4KLWludGVydmVudGlvbiBpcyBuZWVk
ZWQuCi0KLQotRGVwZW5kZW5jaWVzCi09PT09PT09PT09PT0KLQotSW4gb3JkZXIgdG8gdXNlIHRo
ZSBwcm92aWRlZCBzZXJ2aWNlIGNvbnRyb2wgZmlsZXMsIHlvdSB3aWxsIG5lZWQgdGhlCi1mb2xs
b3dpbmc6Ci0KLSogVGhlIEdOVSBCYXNoIHNoZWxsICh0aGUgc2NyaXB0cyBjb250YWluIHNvbWUg
YmFzaC1pc21zKQotCi0qIFRoZSBkYWVtb250b29scyBwYWNrYWdlIChvciBvbmUgb2YgaXRzIGRy
b3AtaW4gcmVwbGFjZW1lbnRzLCBsaWtlIHJ1bml0Ci0gIG9yIGZyZWVkdDsgYnV0IG9ubHkgZGFl
bW9udG9vbHMgaGFzIGJlZW4gdGVzdGVkIHNvIGZhcikuCi0KLUluIHNob3J0LCBpbiBhIERlYmlh
bi1iYXNlZCBzeXN0ZW0geW91IGNhbiBlbnN1cmUgeW91IGhhdmUgdGhlIG5lZWRlZCBiaXRzCi13
aXRoIHRoZSBmb2xsb3dpbmcgY29tbWFuZDoKLQotICBhcHQtZ2V0IGluc3RhbGwgZGFlbW9udG9v
bHMtcnVuCi0KLQotU2V0dXAKLT09PT09Ci0KLTEuIEZvbGxvdyB0aGUgaW5zdHJ1Y3Rpb25zIGF0
IGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvd2lraS9CdWlsZEJvdAotCi0yLiBJbnN0YWxsIHRoZSBk
ZXBlbmRlbmNpZXMgb3V0bGluZWQgYWJvdmUuCi0KLTMuIENvcHkgImRhZW1vbnRvb2xzLWJ1aWxk
Ym90LmNvbmYiIHRvICIvZXRjL2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNvbmYiCi0KLTQuIEVkaXQg
dGhlIGNvbmZpZ3VyYXRpb24gZmlsZSB0byBzdWl0IHlvdXIgbmVlZHMsIHRoZSBjb21tZW50cyBz
aG91bGQKLSAgIGJlIHNlbGYtZXhwbGFuYXRvcnkuCi0KLTUuIERyb3AgdGhlICJidWlsZGJvdCIg
YW5kICJwdWxzZWF1ZGlvIiBkaXJlY3RvcmllcyB0byB0aGUgc2VydmljZSBjb250cm9sIGRpcmVj
dG9yeSBvZgotICAgZGFlbW9udG9vbHM7IGZvciBEZWJpYW4tYmFzZWQgc2V0dXBzIHRoYXQgd291
bGQgYmUgIi9ldGMvc2VydmljZSIKLQotCi1SZWZlcmVuY2VzCi09PT09PT09PT09Ci0KLVsxXSBo
dHRwOi8vY3IueXAudG8vZGFlbW9udG9vbHMuaHRtbAotCmRpZmYgLS1naXQgYS9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvbG9nL3J1biBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBw
b3J0L2d0ay9idWlsZGJvdC9sb2cvcnVuCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCBm
NmM3NDRjNmRkYTQ1Y2JlMmI1ZDBmYThjNGYyNWJhYjUxZjZhNGRkLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0
ay9idWlsZGJvdC9sb2cvcnVuCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotIyEgL3Vz
ci9iaW4vZW52IGJhc2gKLSMKLSMgQ29weXJpZ2h0IChDKSAyMDEwIElnYWxpYSBTLkwuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMKLSMg
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotCi06ICR7
QlVJTERCT1RfQ09ORklHOj0vZXRjL2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNvbmZ9Ci0KLSMgUmVh
ZCBjb25maWd1cmF0aW9uIGZpbGUKLVsgLXIgIiR7QlVJTERCT1RfQ09ORklHfSIgXSAmJiAuICIk
e0JVSUxEQk9UX0NPTkZJR30iCi0KLTogJHtidWlsZGJvdF91c2VyOj0ke0hPTUV9fQotOiAke2J1
aWxkYm90X2xvZ19wYXRoOj0vdmFyL2xvZy9idWlsZGJvdH0KLQotIyBFeHBhbmQgYWxsICJlbnZf
KiIgZW52aXJvbm1lbnQgdmFyaWFibGVzCi1mb3IgdmFybmFtZSBpbiAkeyFlbnZfKn0gOyBkbwot
CWV2YWwgImV4cG9ydCAke3Zhcm5hbWUjZW52X309XCR7JHt2YXJuYW1lfX0iCi1kb25lCi0KLW1r
ZGlyIC1wICIke2J1aWxkYm90X2xvZ19wYXRofSIKLWNob3duICIke2J1aWxkYm90X3VzZXJ9IiAi
JHtidWlsZGJvdF9sb2dfcGF0aH0iCi0KLWV4ZWMgL3Vzci9iaW4vc2V0dWlkZ2lkICIke2J1aWxk
Ym90X3VzZXJ9IiBcCi0gICAgIC91c3IvYmluL211bHRpbG9nIHQgIiR7YnVpbGRib3RfbG9nX3Bh
dGh9IgotCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3Qv
cnVuIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L3J1bgpkZWxldGVkIGZp
bGUgbW9kZSAxMDA3NTUKaW5kZXggMTY2YzM4M2VhOGU2YzEwZmNjMDVlZjA3ZWQ0ZjQ4ODliYmJi
OWVhYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29s
cy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvcnVuCisrKyAvZGV2L251bGwKQEAgLTEs
NzcgKzAsMCBAQAotIyEgL3Vzci9iaW4vZW52IGJhc2gKLSMKLSMgQ29weXJpZ2h0IChDKSAyMDEw
IElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
Ci0jIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCi0jIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgotCi1leGVjIDI+JjEKLQotOiAke0JVSUxEQk9UX0NPTkZJRzo9L2V0Yy9kYWVt
b250b29scy1idWlsZGJvdC5jb25mfQotCi0jIFJlYWQgY29uZmlndXJhdGlvbiBmaWxlCi1bIC1y
ICIke0JVSUxEQk9UX0NPTkZJR30iIF0gJiYgLiAiJHtCVUlMREJPVF9DT05GSUd9IgotCi0jIEV4
cGFuZCBhbGwgImVudl8qIiBlbnZpcm9ubWVudCB2YXJpYWJsZXMKLWZvciB2YXJuYW1lIGluICR7
IWVudl8qfSA7IGRvCi0JZXZhbCAiZXhwb3J0ICR7dmFybmFtZSNlbnZffT1cJHske3Zhcm5hbWV9
fSIKLWRvbmUKLQotCi1pZiAhIFsgIiR7YnVpbGRib3RfcGF0aH0iIF0gOyB0aGVuCi0JZWNobyAi
Tm8gXCR7YnVpbGRib3RfcGF0aH0gZGVmaW5lZCEgKHdpbGwgc2xlZXAgZm9yIDUgbWludXRlcyki
Ci0Jc2xlZXAgMzAwCi0JZXhpdCAxMTEKLWZpCi0KLQotaWYgISBbICIke1dFQktJVF9URVNURk9O
VFN9IiBdIDsgdGhlbgotCWVjaG8gIk5vIFwke1dFQktJVF9URVNURk9OVFN9IGVudmlyb25tZW50
IHZhcmlhYmxlISAod2lsbCBzbGVlcCBmb3IgNSBtaW51dGVzKSIKLQlzbGVlcCAzMDAKLQlleGl0
IDExMQotZmkKLQotCi1pZiBbICIke2NvcmVkdW1wX291dHB1dDo9Jyd9IiBdIDsgdGhlbgotCSMg
RW5zdXJlIHRoYXQgdGhlIG91dHB1dCBkaXJlY3RvcnkgZXhpc3RzLgotCWlmIFtbICEgLWQgJHtj
cmFzaG1vbl9vdXRwdXR9IF1dIDsgdGhlbgotCQlta2RpciAtcCAiJHtjcmFzaG1vbl9vdXRwdXR9
IgotCWZpCi0KLQl1bGltaXQgLWMgIiR7Y3Jhc2htb25fbWF4X3NpemU6PXVubGltaXRlZH0iCi1m
aQotCi0KLWlmIFsgIiR7Y2NhY2hlX3BhdGh9IiBdIDsgdGhlbgotCWV4cG9ydCBQQVRIPSIke2Nj
YWNoZV9wYXRofToke1BBVEh9IgotZmkKLQotOiAke2J1aWxkYm90X3VzZXI6PSR7VVNFUn19Ci0K
LWNkICIke2J1aWxkYm90X3BhdGh9IgotZXhlYyAvdXNyL2Jpbi9lbnYgLSAgICAgICAgICBcCi0J
CVRFUk09ZHVtYiAgICAgICAgICAgICAgICAgXAotCQlUWj1QU1Q4UERUICAgICAgICAgICAgICAg
ICBcCi0JCVBBVEg9IiR7UEFUSH0iICAgICAgICAgICAgICBcCi0JCVNIRUxMPS9iaW4vYmFzaCAg
ICAgICAgICAgICAgXAotCQlMQU5HPWVuX1VTLlVURi04ICAgICAgICAgICAgICBcCi0JCVVTRVI9
IiR7YnVpbGRib3RfdXNlcn0iICAgICAgICBcCi0JCUxPR05BTUU9IiR7YnVpbGRib3RfdXNlcn0i
ICAgICAgXAotCQlIT01FPSIvaG9tZS8ke2J1aWxkYm90X3VzZXJ9IiAgICBcCi0JCURJU1BMQVk9
IiR7eHZmYl9kaXNwbGF5Oi0nOjEwJ30iICBcCi0JCU1BSUw9Ii92YXIvbWFpbC8ke2J1aWxkYm90
X3VzZXJ9IiAgXAotCS91c3IvYmluL3NldHVpZGdpZCAiJHtidWlsZGJvdF91c2VyfSIgXAotCS91
c3IvYmluL3R3aXN0ZCAtbm95IGJ1aWxkYm90LnRhYwotCmRpZmYgLS1naXQgYS9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9ndGsvZGFlbW9udG9vbHMtYnVpbGRib3QuY29uZiBiL1Rvb2xzL0J1aWxk
U2xhdmVTdXBwb3J0L2d0ay9kYWVtb250b29scy1idWlsZGJvdC5jb25mCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwNmFmMjlmN2IwNjI2ODIxNmNlNGExZjFhYWVlOGQ0NjIwZDI0ZGZk
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL0J1
aWxkU2xhdmVTdXBwb3J0L2d0ay9kYWVtb250b29scy1idWlsZGJvdC5jb25mCisrKyAvZGV2L251
bGwKQEAgLTEsNDUgKzAsMCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlhIFMuTC4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSMgdmVyc2lvbiAyIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwot
IyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0jCi0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSMgYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KLSMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0KLQot
IyBQYXRoIHRvIHRoZSBCdWlsZGJvdCBzbGF2ZSBkaXJlY3RvcnkKLSMKLWJ1aWxkYm90X3BhdGg9
Ii9ob21lL3NsYXZlL3dlYmtpdGd0ayIKLQotIyBVc2VyIGFjY291bnQgdXNlZCB0byBydW4gQnVp
bGRib3QuCi0jCi1idWlsZGJvdF91c2VyPSJzbGF2ZSIKLQotIyBQYXRoIHRvIGEgZGlyZWN0b3J5
IHdoZXJlIHRvIGxvZyBCdWlsZGJvdCBvdXRwdXQKLSMKLWJ1aWxkYm90X2xvZ19wYXRoPSIvdmFy
L2xvZy9idWlsZGJvdCIKLQotCi0jIElmIHlvdSB3YW50IHRvIHVzZSBjY2FjaGUsIHNldCBhIHBh
dGggdG8gd2hlcmUgc3lubGlua3Mgd2l0aCB0b29sCi0jIG5hbWVzIHBvaW50aW5nIHRvIGNjYWNo
ZSBhcmUgaW5zdGFsbGVkLiBJbiBEZWJpYW4gc3lzdGVtcyB0aGlzCi0jIHdvdWxkIGJlIC91c3Iv
bGliL2NjYWNoZS4gU2V0IHRvIGVtcHR5IHRvIGRpc2FibGUuCi0jCi1jY2FjaGVfcGF0aD0iL3Vz
ci9saWIvY2NhY2hlIgotCi0KLSMgRW52aXJvbm1lbnQgdmFyaWFibGVzLiBQcmVmaXggdGhlbSB3
aXRoICJlbnZfIi4KLSMKLWVudl9DRkxBR1M9Ii1waXBlIgotZW52X0NYWEZMQUdTPSItcGlwZSIK
LWVudl9MREZMQUdTPSItbm8taW5zdGFsbCAtbm8tZmFzdC1pbnN0YWxsIgotZW52X1dFQktJVF9U
RVNURk9OVFM9Ii9ob21lLyR7YnVpbGRib3RfdXNlcn0vdGVzdGZvbnRzIgotCmRpZmYgLS1naXQg
YS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvcHVsc2VhdWRpby9ydW4gYi9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9ndGsvcHVsc2VhdWRpby9ydW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1
CmluZGV4IDdjMTE3YWQ5ZDIwNzM5OGQ4NmYwMjczOGU1OTMxODk1OTE3ZDU2NzguLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1
cHBvcnQvZ3RrL3B1bHNlYXVkaW8vcnVuCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAot
IyEgL3Vzci9iaW4vZW52IGJhc2gKLSMKLSMgQ29weXJpZ2h0IChDKSAyMDEwIElnYWxpYSBTLkwu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
LSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgot
Ci1leGVjIDI+JjEKLWV4ZWMgL3Vzci9iaW4vcHVsc2VhdWRpbyAtLXN5c3RlbSBcCi0JLS1kaXNh
bGxvdy1leGl0IC0tZGlzYWxsb3ctbW9kdWxlLWxvYWRpbmcgXAotCS0tbG9nLXRhcmdldD1zeXNs
b2cKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9idWlsZC1qc2MgYi9Ub29scy9TY3JpcHRz
L2J1aWxkLWpzYwppbmRleCBkMGFmY2NkM2FkN2I1ZjBlYmU3YzEyOGYwZTlhZDQ0ODZjM2ZmMTRj
Li4xMjNmM2I5ODg0OGYzM2I2NjJhMTZjMmE3ODkyZTZkNTFiMDExY2NlIDEwMDc1NQotLS0gYS9U
b29scy9TY3JpcHRzL2J1aWxkLWpzYworKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLWpzYwpAQCAt
NDIsNiArNDIsMTMgQEAgc3ViIHdyaXRlQ29uZ3JhdHMoKTsKIAogcHJvaGliaXRVbmtub3duUG9y
dCgpOwogCitpZiAoc2hvdWxkVXNlRmxhdHBhaygpKSB7CisgICAgcHJpbnQgIkJ1aWxkaW5nIGZs
YXRwYWsgYmFzZWQgZW52aXJvbm1lbnRcbiI7CisgICAgbXkgQGNvbW1hbmQgPSAoRmlsZTo6U3Bl
Yy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgIlNjcmlwdHMiLCAiYnVpbGQtanNjIikp
OworICAgIHJ1bkluRmxhdHBhayhAY29tbWFuZCk7Cit9CisKKwogbXkgJHNob3VsZFJ1blN0YXRp
Y0FuYWx5emVyID0gMDsKIG15ICRtaW5pbWFsID0gMDsKIG15ICRjb3ZlcmFnZVN1cHBvcnQgPSAw
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgYi9Ub29scy9TY3JpcHRz
L2J1aWxkLXdlYmtpdAppbmRleCBmYzA2NjRhNjUwNTU0NmY0MjhjNzUxNGI5Njc1MTE5Yjc1YTYy
MTQwLi4wOTlkMzNhNGI5YjljZGY0MzJjZDEwMjZlYTZhYWUwY2I5MjU3YTc3IDEwMDc1NQotLS0g
YS9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAorKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLXdl
YmtpdApAQCAtNTMsOCArNTMsOCBAQCBzZXRDb25maWd1cmF0aW9uKCk7CiAKIGlmIChzaG91bGRV
c2VGbGF0cGFrKCkpIHsKICAgICBwcmludCAiQnVpbGRpbmcgZmxhdHBhayBiYXNlZCBlbnZpcm9u
bWVudFxuIjsKLQotICAgIHJ1bkluRmxhdHBhaygiL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9i
dWlsZC13ZWJraXQiKTsKKyAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNv
dXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJidWlsZC13ZWJraXQiKSk7CisgICAgcnVu
SW5GbGF0cGFrKEBjb21tYW5kKTsKIH0KIAogbXkgJG9yaWdpbmFsV29ya2luZ0RpcmVjdG9yeSA9
IGdldGN3ZCgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMg
Yi9Ub29scy9TY3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0cwppbmRleCBmNmU0NDc3MjUwZjllMTll
Mzk1OGVmY2I3ZDZlODFlMmFjMjhjOWFiLi4wYWMwYjNhMzEwODhhMTIyZTA5OThlYTQ5NTY1YmYy
Mzg3NzM4YTUwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0cwor
KysgYi9Ub29scy9TY3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0cwpAQCAtMzMsNiArMzMsMTEgQEAg
aW1wb3J0IG9zCiBpbXBvcnQgc3lzCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0
IGV4ZWN1dGl2ZQogCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5w
YXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgJy4uJywgJy4uJykpCitzeXMucGF0
aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICdUb29scycsICdm
bGF0cGFrJykpCitpbXBvcnQgZmxhdHBha3V0aWxzCitmbGF0cGFrdXRpbHMucnVuX2luX3NhbmRi
b3hfaWZfYXZhaWxhYmxlKHN5cy5hcmd2KQorCiBkZWYgbWFpbihhcmd2KToKICAgICAiIiJSdW5z
IFdlYkNvcmUgYmluZGluZ3MgY29kZSBnZW5lcmF0b3JzIG9uIHRlc3QgSURMIGZpbGVzIGFuZCBj
b21wYXJlcwogICAgIHRoZSByZXN1bHRzIHdpdGggcmVmZXJlbmNlIGZpbGVzLgpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy9ydW4tYnVpbHRpbnMtZ2VuZXJhdG9yLXRlc3RzIGIvVG9vbHMvU2Ny
aXB0cy9ydW4tYnVpbHRpbnMtZ2VuZXJhdG9yLXRlc3RzCmluZGV4IDIzOThjNzhjYTEwZWM1OTc2
MjY2MTJjODU1NTNhYmQxYTRlNmZiZDQuLmZiYjA4NjQyNDE5NzRlYTYwMzVkYTg4YjM2NzliYzQz
YzAyYzdlOWQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRv
ci10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1idWlsdGlucy1nZW5lcmF0b3ItdGVzdHMK
QEAgLTI1LDYgKzI1LDEyIEBACiBpbXBvcnQgc3lzCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0
ZW0gaW1wb3J0IGV4ZWN1dGl2ZQogCitpbXBvcnQgb3MKK3RvcF9sZXZlbF9kaXJlY3RvcnkgPSBv
cy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAn
Li4nLCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2Rp
cmVjdG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBmbGF0cGFrdXRpbHMKK2ZsYXRw
YWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lzLmFyZ3YpCisKIGRlZiBtYWlu
KGFyZ3YpOgogICAgICIiIlJ1bnMgdGhlIEpTIGJ1aWx0aW5zIGNvZGUgZ2VuZXJhdG9yIG9uIHRl
c3QgaW5wdXQgZmlsZXMgYW5kIGNvbXBhcmVzCiAgICAgdGhlIHJlc3VsdHMgd2l0aCByZWZlcmVu
Y2UgZmlsZXMuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMgYi9Ub29s
cy9TY3JpcHRzL3J1bi1ndGstdGVzdHMKaW5kZXggNDFiMDVlMmRmNGIxZTZkOGZlMzhlYTNjNTQ5
YjUzMzU4NGE0Mjk3ZS4uZDM5NzQ4ZjRjM2Q4ZmRmY2VmZjFhMjI5OWFkYTQyYzg3ZTY1YWFlNSAx
MDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzCisrKyBiL1Rvb2xzL1Njcmlw
dHMvcnVuLWd0ay10ZXN0cwpAQCAtMTMzLDcgKzEzMyw3IEBAIGlmIF9fbmFtZV9fID09ICJfX21h
aW5fXyI6CiAgICAgaWYgbm90IGZsYXRwYWt1dGlscy5pc19zYW5kYm94ZWQoKSBhbmQgbm90IGpo
YnVpbGR1dGlscy5lbnRlcl9qaGJ1aWxkX2Vudmlyb25tZW50X2lmX2F2YWlsYWJsZSgiZ3RrIik6
CiAgICAgICAgIHByaW50ICcqKionCiAgICAgICAgIHByaW50ICcqKiogV2FybmluZzogamhidWls
ZCBlbnZpcm9ubWVudCBub3QgcHJlc2VudCBhbmQgbm90IHJ1bm5pbmcgaW4gZmxhdHBhay4nCi0g
ICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13ZWJraXRndGstbGlicyBvciB1cGRhdGUtd2Vi
a2l0Z3RrLWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3Rp
bmcuLicKKyAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVw
ZGF0ZS13ZWJraXQtZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9wZXIg
dGVzdGluZy4uJwogICAgICAgICBwcmludCAnKioqJwogCiAgICAgb3B0aW9uX3BhcnNlciA9IG9w
dHBhcnNlLk9wdGlvblBhcnNlcih1c2FnZT0ndXNhZ2U6ICVwcm9nIFtvcHRpb25zXSBbdGVzdC4u
Ll0nKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMg
Yi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwppbmRleCA1MzExODVlMDk2
NjAwZGE0ODQyYmY5MTFiOTQ3YmQxNGY3NzM2NDBhLi45YjY3M2FjYjE3MTYxNDEzYjMxYWY3NWFh
NTU3ZmQ3MjZkM2VhZjJlIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0
Y29yZS10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwpA
QCAtNDYsNiArNDYsMTIgQEAgdXNlIFRleHQ6OlBhcnNlV29yZHM7CiBzZXRDb25maWd1cmF0aW9u
KCk7CiBteSAkY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24oKTsKIAoraWYgKHNob3VsZFVz
ZUZsYXRwYWsoKSkgeworICAgIG15IEBjb21tYW5kID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291
cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgInJ1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cyIp
KTsKKyAgICBydW5JbkZsYXRwYWsoQGNvbW1hbmQpOworfQorCisKICMgVGhlc2UgdmFyaWFibGVz
IGFyZSBpbnRlbnRpb25hbGx5IGxlZnQgdW5kZWZpbmVkLgogbXkgJHJvb3Q7CiBteSAkc2hvd0hl
bHA7CkBAIC01MzksNyArNTQ1LDcgQEAgc3ViIHJ1blRlc3QgewogICAgIGNoZGlyKCRwcm9kdWN0
RGlyKSBvciBkaWUgIkZhaWxlZCB0byBzd2l0Y2ggZGlyZWN0b3J5IHRvICckcHJvZHVjdERpcidc
biI7CiAgICAgbXkgQGNvbW1hbmQgPSAodGVzdFBhdGgoJHByb2R1Y3REaXIsICR0ZXN0TmFtZSkp
OwogICAgIHVuc2hpZnQgQGNvbW1hbmQsICgieGNydW4iLCAiLXNkayIsIHhjb2RlU0RLKCksICJz
aW0iKSBpZiB3aWxsVXNlSU9TU2ltdWxhdG9yU0RLKCk7Ci0gICAgdW5zaGlmdCBAY29tbWFuZCwg
d3JhcHBlclByZWZpeElmTmVlZGVkKCkgaWYgc2hvdWxkVXNlSmhidWlsZCgpOworICAgIHVuc2hp
ZnQgQGNvbW1hbmQsIHdyYXBwZXJQcmVmaXhJZk5lZWRlZCgpIGlmIGlzR3RrKCkgb3IgaXNXUEUo
KTsKIAogICAgIGlmICgkZW52VmFycyBuZSAiIikgewogICAgICAgICBmb3JlYWNoIG15ICR2YXIg
KHNwbGl0KC9ccysvLCAkZW52VmFycykpIHsKQEAgLTc4Miw3ICs3ODgsNyBAQCBzdWIgcnVuSlND
U3RyZXNzVGVzdHMKICAgICAgICAgcHVzaChAanNjU3RyZXNzRHJpdmVyQ21kLCAiLS1uby1jb3B5
Iik7CiAgICAgfQogCi0gICAgdW5zaGlmdCBAanNjU3RyZXNzRHJpdmVyQ21kLCB3cmFwcGVyUHJl
Zml4SWZOZWVkZWQoKSBpZiBzaG91bGRVc2VKaGJ1aWxkKCk7CisgICAgdW5zaGlmdCBAanNjU3Ry
ZXNzRHJpdmVyQ21kLCB3cmFwcGVyUHJlZml4SWZOZWVkZWQoKSBpZiBpc0d0aygpIG9yIGlzV1BF
KCk7CiAKICAgICAjIEVuZCBvcHRpb24gcHJvY2Vzc2luZywgdGhlIHJlc3Qgb2YgdGhlIGFyZ3Vt
ZW50cyBhcmUgdGVzdHMKICAgICBwdXNoKEBqc2NTdHJlc3NEcml2ZXJDbWQsICItLSIpOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXIgYi9Ub29scy9TY3JpcHRzL3J1
bi1taW5pYnJvd3NlcgppbmRleCA0Y2Y2YmU0MDQ3YmZkNzZkNjgxMDlhYjI5YWE2OGE5MGRjMDg2
NmUxLi45MGNkM2ZhZjQzMWFlYjkyOGRmZDZkZGZkNmVkNmQyM2QyZjIxY2NjIDEwMDc1NQotLS0g
YS9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlcgorKysgYi9Ub29scy9TY3JpcHRzL3J1bi1t
aW5pYnJvd3NlcgpAQCAtNDUsNyArNDUsOCBAQCBwcm9oaWJpdFVua25vd25Qb3J0KCk7CiBzZXRD
b25maWd1cmF0aW9uKCk7CiAKIGlmIChpc0d0aygpIHx8IGlzV1BFKCkpIHsKLSAgICBydW5JbkZs
YXRwYWtJZkF2YWlsYWJsZSgiL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dz
ZXIiKTsKKyAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigp
LCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tbWluaWJyb3dzZXIiKSk7CisgICAgcnVuSW5GbGF0
cGFrSWZBdmFpbGFibGUoQGNvbW1hbmQpOwogCiAgICAgIyBDaGVjayB0byBzZWUgdGhhdCBhbGwg
dGhlIGZyYW1ld29ya3MgYXJlIGJ1aWx0LgogICAgIGNoZWNrRnJhbWV3b3JrcygpOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tcGVyZi10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXBl
cmYtdGVzdHMKaW5kZXggMWJmOGVjODYyNzAyNWVhOGRiYTg1Zjc2NzRiZDg0NTlhZTkxM2RmNS4u
YzBkODc4M2U2YzE2OTk4NmJhY2JjMzdjMmUxODQzODc3YmFhNzFkMiAxMDA3NTUKLS0tIGEvVG9v
bHMvU2NyaXB0cy9ydW4tcGVyZi10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1wZXJmLXRl
c3RzCkBAIC0zMCw4ICszMCwxNCBAQAogIiIiUnVuIHBlcmZvcm1hbmNlIHRlc3RzLiIiIgogCiBp
bXBvcnQgbG9nZ2luZworaW1wb3J0IG9zCiBpbXBvcnQgc3lzCiAKK3RvcF9sZXZlbF9kaXJlY3Rv
cnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxl
X18pLCAnLi4nLCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xl
dmVsX2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBmbGF0cGFrdXRpbHMK
K2ZsYXRwYWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lzLmFyZ3YpCisKIGZy
b20gd2Via2l0cHkucGVyZm9ybWFuY2VfdGVzdHMucGVyZnRlc3RzcnVubmVyIGltcG9ydCBQZXJm
VGVzdHNSdW5uZXIKIAogaWYgJ19fbWFpbl9fJyA9PSBfX25hbWVfXzoKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvcnVuLXF0LXdwZS1taW5pYnJvd3NlciBiL1Rvb2xzL1NjcmlwdHMvcnVuLXF0
LXdwZS1taW5pYnJvd3NlcgppbmRleCA1MmEzOGUxNTI2Mzg1M2FjYjhjMTU0ODQ3MDhiNTQ3Mzkw
MThjZTUxLi44YzhlZjcwNTZhMzRhZTk4ZTcyNzExZGE3ZmVmN2I1MTJhMjFmY2M4IDEwMDc1NQot
LS0gYS9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXIKKysrIGIvVG9vbHMvU2Ny
aXB0cy9ydW4tcXQtd3BlLW1pbmlicm93c2VyCkBAIC0zOCw5ICszOCwxMyBAQCBteSBAamhidWls
ZFdyYXBwZXI7CiBteSAkY29uZmlndXJhdGlvbiA9IHBhc3NlZENvbmZpZ3VyYXRpb24oKTsKIG15
ICRwcm9kdWN0RGlyID0gcHJvZHVjdERpcigpOwogCi0kbGliUGF0aCA9ICIvYXBwL3dlYmtpdC9X
ZWJLaXRCdWlsZC8kY29uZmlndXJhdGlvbi9saWIvcXQ1L3FtbCIgaWYgJGNvbmZpZ3VyYXRpb247
Ci0kRU5WeyJRTUwyX0lNUE9SVF9QQVRIIn0gPSAiJGxpYlBhdGgiIGlmICRsaWJQYXRoOwotcnVu
SW5GbGF0cGFrSWZBdmFpbGFibGUoIi9hcHAvd2Via2l0L1Rvb2xzL1NjcmlwdHMvcnVuLXF0LXdw
ZS1taW5pYnJvd3NlciIpOworaWYgKCRjb25maWd1cmF0aW9uKSB7CisgICAgJGxpYlBhdGggPSBG
aWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiV2ViS2l0QnVpbGQiLCAiJGNvbmZpZ3Vy
YXRpb24iLCAibGliIiwgInF0NSIsICJxbWwiKTsKKyAgICAkRU5WeyJRTUwyX0lNUE9SVF9QQVRI
In0gPSAiJGxpYlBhdGgiOworfQorCitteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxl
KHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tcXQtd3BlLW1pbmlicm93c2Vy
IikpOworcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQGNvbW1hbmQpOwogCiAjIENoZWNrIHRvIHNl
ZSB0aGF0IGFsbCB0aGUgZnJhbWV3b3JrcyBhcmUgYnVpbHQuCiBjaGVja0ZyYW1ld29ya3MoKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0cyBiL1Rvb2xzL1Nj
cmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0cwppbmRleCBhY2MzNWY3MjQ4M2YyODMyZjA5YzhlZmIx
ODk1ZDE4MWQ0ZDY3OTI5Li5jMzAwNGQ0NTMyM2M1MTQyNjY1ZDM3MDMzN2U4ZTU5MDQyM2E5ZDQw
IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi13ZWJkcml2ZXItdGVzdHMKKysrIGIvVG9v
bHMvU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzCkBAIC03OCw3ICs3OCw3IEBAIGlmIHBvcnQu
bmFtZSgpIGluIFsnZ3RrJywgJ3dwZSddOgogICAgICAgICBpZiBub3QgamhidWlsZHV0aWxzLmVu
dGVyX2poYnVpbGRfZW52aXJvbm1lbnRfaWZfYXZhaWxhYmxlKHBvcnQubmFtZSgpKToKICAgICAg
ICAgICAgIHByaW50ICcqKionCiAgICAgICAgICAgICBwcmludCAnKioqIFdhcm5pbmc6IGpoYnVp
bGQgZW52aXJvbm1lbnQgbm90IHByZXNlbnQgYW5kIG5vdCBydW5uaW5nIGluIGZsYXRwYWsuJwot
ICAgICAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0
ZS13ZWJraXRndGstZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9wZXIg
dGVzdGluZy4uJworICAgICAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdlYmtpdGd0ay1s
aWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Via2l0IHRvIGVuc3Vy
ZSBwcm9wZXIgdGVzdGluZy4uJwogICAgICAgICAgICAgcHJpbnQgJyoqKicKIAogcG9ydC5fZGlz
cGxheV9zZXJ2ZXIgPSBvcHRpb25zLmRpc3BsYXlfc2VydmVyCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3J1bi13cGUtdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi13cGUtdGVzdHMKaW5kZXgg
OGY3NzQ5ZWI2YWQ2ZDFmMTk5MTNhMTc2OTlkY2I3Njc3ZjQ4NjJkMS4uZjM0YzE5NzA2NDc3NjIy
NjI0NTJlNmFlODNmYTI4NWYyOGU1ZDE4MCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4t
d3BlLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXdwZS10ZXN0cwpAQCAtNTEsNyArNTEs
NyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIGlmIG5vdCBmbGF0cGFrdXRpbHMu
aXNfc2FuZGJveGVkKCkgYW5kIG5vdCBqaGJ1aWxkdXRpbHMuZW50ZXJfamhidWlsZF9lbnZpcm9u
bWVudF9pZl9hdmFpbGFibGUoIndwZSIpOgogICAgICAgICBwcmludCAnKioqJwogICAgICAgICBw
cmludCAnKioqIFdhcm5pbmc6IGpoYnVpbGQgZW52aXJvbm1lbnQgbm90IHByZXNlbnQgYW5kIG5v
dCBydW5uaW5nIGluIGZsYXRwYWsuJwotICAgICAgICBwcmludCAnKioqIFJ1biB1cGRhdGUtd2Vi
a2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIGJlZm9yZSBidWlsZC13ZWJr
aXQgdG8gZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCisgICAgICAgIHByaW50ICcqKiogUnVuIHVw
ZGF0ZS13ZWJraXR3cGUtbGlicyBvciB1cGRhdGUtd2Via2l0LWZsYXRwYWsgYmVmb3JlIGJ1aWxk
LXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3RpbmcuLicKICAgICAgICAgcHJpbnQgJyoqKicK
IAogICAgIG9wdGlvbl9wYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIodXNhZ2U9J3VzYWdl
OiAlcHJvZyBbb3B0aW9uc10gW3Rlc3QuLi5dJykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
dGVzdC13ZWJraXRwZXJsIGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHBlcmwKaW5kZXggNjQ5
NTY5NjBmZmM2N2FlN2RmOTMzNjQxMzZkOTFhNWQ4OGVhOTk0My4uZGM4MWMxN2MzYmFjNTlhODgx
YTczZWQxNWIzYTc0NjBjYTdiOWY5OCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy90ZXN0LXdl
YmtpdHBlcmwKKysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHBlcmwKQEAgLTMyLDYgKzMy
LDEzIEBACiAKIHVzZSBzdHJpY3Q7CiB1c2Ugd2FybmluZ3M7Cit1c2UgRmlsZTo6QmFzZW5hbWU7
Cit1c2UgRmlsZTo6RmluZDsKK3VzZSBGaWxlOjpTcGVjOwordXNlIEZpbmRCaW47Cit1c2UgR2V0
b3B0OjpMb25nIHF3KDpjb25maWcgcGFzc190aHJvdWdoIG5vX2F1dG9fYWJicmV2KTsKK3VzZSBs
aWIgJEZpbmRCaW46OkJpbjsKK3VzZSB3ZWJraXRkaXJzOwogCiB1c2UgRmlsZTo6U3BlYzsKIHVz
ZSBGaW5kQmluOwpAQCAtMzksNiArNDYsMTEgQEAgdXNlIFRlc3Q6Okhhcm5lc3M7CiB1c2UgbGli
ICRGaW5kQmluOjpCaW47ICMgc28gdGhpcyBzY3JpcHQgY2FuIGJlIHJ1biBmcm9tIGFueSBkaXJl
Y3RvcnkuCiB1c2UgVkNTVXRpbHM7CiAKK2lmIChzaG91bGRVc2VGbGF0cGFrKCkpIHsKKyAgICBt
eSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAi
U2NyaXB0cyIsICJ0ZXN0LXdlYmtpdHBlcmwiKSk7CisgICAgcnVuSW5GbGF0cGFrKEBjb21tYW5k
KTsKK30KKwogIyBDaGFuZ2UgdGhlIHdvcmtpbmcgZGlyZWN0b3J5IHNvIHRoYXQgd2UgY2FuIHBh
c3Mgc2hvcnRlciwgcmVsYXRpdmUKICMgcGF0aHMgdG8gcnVudGVzdHMoKSwgcmF0aGVyIHRoYW4g
bG9uZ2VyLCBhYnNvbHV0ZSBwYXRocy4KICMKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvdGVz
dC13ZWJraXRweSBiL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweQppbmRleCBlZTY4MmNjY2Yw
YWNhM2YyMGRjNjE1ZmU4YjYzMjNjY2M1N2NiZWE0Li40MjM4OGU5Zjg2MTc4NWVmN2UzOGZiMWY0
NTQ5MDA1MDUyZjAwYWVjIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkK
KysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5CkBAIC0yOSw0ICsyOSwxMCBAQAogIyBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgogZnJvbSB3ZWJraXRweS5jb21tb24gaW1wb3J0IG11bHRpcHJvY2Vzc2luZ19i
b290c3RyYXAKIAoraW1wb3J0IG9zLCBzeXMKK3RvcF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRo
Lm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAnLi4nLCAn
Li4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVjdG9y
eSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBmbGF0cGFrdXRpbHMKK2ZsYXRwYWt1dGls
cy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lzLmFyZ3YpCisKIG11bHRpcHJvY2Vzc2lu
Z19ib290c3RyYXAucnVuKCd3ZWJraXRweScsICd0ZXN0JywgJ21haW4ucHknKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lciBiL1Rvb2xzL1NjcmlwdHMvdGVzdDI2Mi1y
dW5uZXIKaW5kZXggYTEzMWJjZjYzM2UzMGQ5NzY1ZmI1NjI0MjUwNzMxMTdhOThmMjIzOC4uYWY3
YWQ1ZTQ4ZWYyNTA4Y2Y0ZTIxZDU4ZDU1MGNmMDMyZWY1ZmEyYiAxMDA3NTUKLS0tIGEvVG9vbHMv
U2NyaXB0cy90ZXN0MjYyLXJ1bm5lcgorKysgYi9Ub29scy9TY3JpcHRzL3Rlc3QyNjItcnVubmVy
CkBAIC0zNCw2ICszNCwyNiBAQCB1c2UgNS44Ljg7CiB1c2UgRmluZEJpbjsKIHVzZSBDb25maWc7
CiAKK0JFR0lOIHsKKyAgICB1c2UgbGliICRGaW5kQmluOjpCaW47CisgICAgdXNlIEZpbGU6OlNw
ZWM6OkZ1bmN0aW9ucyBxdyhjYXRmaWxlKTsKKworICAgIGlmICghZ3JlcCgvXi0tbm8tZmxhdHBh
ay1jaGVjayQvLCBAQVJHVikpIHsKKyAgICAgICAgaWYgKGV2YWwge3JlcXVpcmUgd2Via2l0ZGly
czsgMTt9KSB7CisgICAgICAgICAgICB3ZWJraXRkaXJzLT5pbXBvcnQocXcoc2hvdWxkVXNlRmxh
dHBhayBydW5JbkZsYXRwYWsgc291cmNlRGlyKSk7CisgICAgICAgICAgICBpZiAoc2hvdWxkVXNl
RmxhdHBhaygpKSB7CisgICAgICAgICAgICAgICAgcHJpbnQgIlJ1bm5pbmcgaW4gZmxhdHBhayBi
YXNlZCBlbnZpcm9ubWVudFxuIjsKKyAgICAgICAgICAgICAgICBteSBAY29tbWFuZCA9IChGaWxl
OjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJ0ZXN0MjYy
LXJ1bm5lciIpKTsKKyAgICAgICAgICAgICAgICAjIFByZXZlbnQgZXhlYydkIHRlc3QyNjItcnVu
bmVyIHByb2Nlc3MgZnJvbSBpbXBvcnRpbmcKKyAgICAgICAgICAgICAgICAjIHdlYmtpdGRpcnMg
c28gdGhhdCBpdCBjYW4gc3VjY2VlZCBsYXRlciBvbiBpbiB0aGUgUnVubmVyCisgICAgICAgICAg
ICAgICAgIyBtb2R1bGUuLi4gUGVybC4gwq9cXyjjg4QpXy/CrworICAgICAgICAgICAgICAgIHB1
c2goQEFSR1YsICItLW5vLWZsYXRwYWstY2hlY2siKTsKKyAgICAgICAgICAgICAgICBydW5JbkZs
YXRwYWsoQGNvbW1hbmQpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQorCiBC
RUdJTiB7CiAgICAgJEVOVntEQklDX09WRVJXUklURV9IRUxQRVJfTUVUSE9EU19PS30gPSAxOwog
ICAgICRFTlZ7VDI2Ml9FWEVDX0JJTn0gPSAiJEZpbmRCaW46OkJpbi90ZXN0MjYyIjsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdC1mbGF0cGFrIGIvVG9vbHMvU2NyaXB0
cy91cGRhdGUtd2Via2l0LWZsYXRwYWsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTg2YjgxYTIwMzNmNGJiN2JlMmQy
OWJkZTVjMTJjZjQ5NTMzMGQ1NQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvdXBk
YXRlLXdlYmtpdC1mbGF0cGFrCkBAIC0wLDAgKzEsMjggQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhv
bgorIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KKyMgQ29weXJpZ2h0IChjKSAyMDE4
LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgorIworIyBUaGlzIHByb2dy
YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisjIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
KyMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisjIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyMg
TGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1
YmxpYworIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRv
IHRoZQorIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBG
aWZ0aCBGbG9vciwKKyMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisjIHB5bGludDogZGlz
YWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5hbWUKK2ltcG9ydCBvcworaW1wb3J0IHN5
cworCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4o
b3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCitzeXMucGF0aC5pbnNlcnQo
MCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICJUb29scyIsICJmbGF0cGFrIikp
Citmcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0RmxhdHBhaworCitpZiBfX25hbWVfXyA9
PSAiX19tYWluX18iOgorICAgIFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2FyZ3MoWyItLXVwZGF0
ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRh
dGUtd2Via2l0Z3RrLWZsYXRwYWsgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstZmxh
dHBhawpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDk1NmYxZjJlMTQ4NWQyNDg2MmVm
N2Y2ZDc0YTJmM2Y5OGNmOTJmOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstZmxhdHBhaworKysgL2Rl
di9udWxsCkBAIC0xLDI4ICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbgotIyBDb3B5cmln
aHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KLSMgQ29weXJpZ2h0IChjKSAyMDE4LCBUaGliYXVsdCBT
YXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotIwotIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0jIHZl
cnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGVzc2VyIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBMaWNl
bnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZQotIyBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwK
LSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0jIHB5bGludDogZGlzYWJsZT1taXNzaW5n
LWRvY3N0cmluZyxpbnZhbGlkLW5hbWUKLWltcG9ydCBvcwotaW1wb3J0IHN5cwotCi10b3BfbGV2
ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJu
YW1lKF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCi1zeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5q
b2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICJUb29scyIsICJmbGF0cGFrIikpCi1mcm9tIGZsYXRw
YWt1dGlscyBpbXBvcnQgV2Via2l0RmxhdHBhawotCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18i
OgotICAgIFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2FyZ3MoWyItLWd0ayIsICItLXVwZGF0ZSJd
ICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUt
d2Via2l0Z3RrLWxpYnMgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstbGlicwppbmRl
eCAyZTFjMDJmZmQ3MDU2MDA4MGUzNmJjNzRiNDY1OGZmZWY1ZGVjZDhlLi4yZThhODc4NTE5NmRi
OGM3YmZjYzQ5MDQ5NWFkOWM1ZDcwMGZmZjUxIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3Vw
ZGF0ZS13ZWJraXRndGstbGlicworKysgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGst
bGlicwpAQCAtMjIsNCArMjIsOCBAQCB1c2UgbGliICRGaW5kQmluOjpCaW47CiB1c2Ugd2Via2l0
ZGlyczsKIAogbXkgJHNjcmlwdHNEaXIgPSByZWxhdGl2ZVNjcmlwdHNEaXIoKTsKLXN5c3RlbSgi
cGVybCIsICIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCIsICItLWd0ayIs
IEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK2lmIChkZWZpbmVkICRFTlZ7J1dFQktJVF9KSEJVSUxE
J30gYW5kICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30pIHsKKyAgICBzeXN0ZW0oInBlcmwiLCAiJHNj
cmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1saWJzLWpoYnVpbGQiLCAiLS1ndGsiLCBAQVJHVikgPT0g
MCBvciBkaWUgJCE7Cit9IGVsc2UgeworICAgIHN5c3RlbSgiJHNjcmlwdHNEaXIvdXBkYXRlLXdl
YmtpdC1mbGF0cGFrIiwgQEFSR1YpID09IDAgb3IgZGllICQhOworfQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWZsYXRwYWsgYi9Ub29scy9TY3JpcHRzL3VwZGF0
ZS13ZWJraXR3cGUtZmxhdHBhawpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggNTY0ZTg3
NjUyMTExOGUyZmMwZmQ2OGI4Yzg2NmFhOTAwMWNiODEyMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUt
ZmxhdHBhaworKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5
dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KLSMgQ29weXJpZ2h0IChjKSAy
MDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotIwotIyBUaGlzIHBy
b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0j
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCi0jIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
LSMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMg
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFs
IFB1YmxpYwotIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRl
IHRvIHRoZQotIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0jIHB5bGludDog
ZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5hbWUKLWltcG9ydCBvcwotaW1wb3J0
IHN5cwotCi10b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpv
aW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCi1zeXMucGF0aC5pbnNl
cnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICJUb29scyIsICJmbGF0cGFr
IikpCi1mcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0RmxhdHBhawotCi1pZiBfX25hbWVf
XyA9PSAiX19tYWluX18iOgotICAgIFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2FyZ3MoWyItLXdw
ZSIsICItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWxpYnMgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJr
aXR3cGUtbGlicwppbmRleCA2YjRiNDZmMmI3ZWI4YTllNjgwNzc1N2JjYTJiOWU2ODQ3MDdhMDIz
Li5jZGM0YzdkYjhjNjVlYTczMjNkNjkyNjgxOThhMmY2OGJkNTEzMDE0IDEwMDc1NQotLS0gYS9U
b29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGlicworKysgYi9Ub29scy9TY3JpcHRzL3Vw
ZGF0ZS13ZWJraXR3cGUtbGlicwpAQCAtMjIsNCArMjIsOCBAQCB1c2UgbGliICRGaW5kQmluOjpC
aW47CiB1c2Ugd2Via2l0ZGlyczsKIAogbXkgJHNjcmlwdHNEaXIgPSByZWxhdGl2ZVNjcmlwdHNE
aXIoKTsKLXN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWxpYnMtamhi
dWlsZCIsICItLXdwZSIsIEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK2lmIChkZWZpbmVkICRFTlZ7
J1dFQktJVF9KSEJVSUxEJ30gYW5kICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30pIHsKKyAgICBzeXN0
ZW0oInBlcmwiLCAiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1saWJzLWpoYnVpbGQiLCAiLS13
cGUiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7Cit9IGVsc2UgeworICAgIHN5c3RlbSgiJHNjcmlw
dHNEaXIvdXBkYXRlLXdlYmtpdC1mbGF0cGFrIiwgQEFSR1YpID09IDAgb3IgZGllICQhOworfQpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRkaXJzLnBtCmluZGV4IDQ3OWJiNDMxZDZiZGJlN2Q1Y2NmZTEzZGNkNjJhZGNjNTBhY2Zm
YjYuLmQzMTM2YzM4M2ViN2NiOTU0MDZiNDFkNWQxODZlOTY0ZmNjZDhhNzggMTAwNzU1Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdGRp
cnMucG0KQEAgLTkxLDcgKzkxLDEwIEBAIEJFR0lOIHsKICAgICAgICAmc2V0dXBVbml4V2ViS2l0
RW52aXJvbm1lbnQKICAgICAgICAmc2hhcmVkQ29tbWFuZExpbmVPcHRpb25zCiAgICAgICAgJnNo
YXJlZENvbW1hbmRMaW5lT3B0aW9uc1VzYWdlCisgICAgICAgJnNob3VsZFVzZUZsYXRwYWsKKyAg
ICAgICAmcnVuSW5GbGF0cGFrCiAgICAgICAgJnNodXREb3duSU9TU2ltdWxhdG9yRGV2aWNlCisg
ICAgICAgJnNvdXJjZURpcgogICAgICAgICZ3aWxsVXNlSU9TRGV2aWNlU0RLCiAgICAgICAgJndp
bGxVc2VJT1NTaW11bGF0b3JTREsKICAgICAgICBET19OT1RfVVNFX09QRU5fQ09NTUFORApAQCAt
MjA0OCwyMCArMjA1MSwxMSBAQCBzdWIgZ2V0SmhidWlsZFBhdGgoKQogICAgIHJldHVybiBGaWxl
OjpTcGVjLT5jYXRkaXIoQGpoYnVpbGRQYXRoKTsKIH0KIAotc3ViIGdldEZsYXRwYWtQYXRoKCkK
K3N1YiBnZXRVc2VyRmxhdHBha1BhdGgoKQogewotICAgIG15IEBmbGF0cGFrQnVpbGRQYXRoID0g
RmlsZTo6U3BlYy0+c3BsaXRkaXIoYmFzZVByb2R1Y3REaXIoKSk7Ci0gICAgaWYgKGlzR3RrKCkp
IHsKLSAgICAgICAgcHVzaChAZmxhdHBha0J1aWxkUGF0aCwgIkdUSyIpOwotICAgIH0gZWxzaWYg
KGlzV1BFKCkpIHsKLSAgICAgICAgcHVzaChAZmxhdHBha0J1aWxkUGF0aCwgIldQRSIpOwotICAg
IH0gZWxzZSB7Ci0gICAgICAgIGRpZSAiQ2Fubm90IGdldCBGbGF0cGFrIHBhdGggZm9yIHBsYXRm
b3JtIHRoYXQgaXNuJ3QgR1RLKyBvciBXUEUuXG4iOwotICAgIH0KLSAgICBteSBAY29uZmlndXJh
dGlvbiA9IGNvbmZpZ3VyYXRpb24oKTsKLSAgICBwdXNoKEBmbGF0cGFrQnVpbGRQYXRoLCAiRmxh
dHBha1RyZWUkY29uZmlndXJhdGlvbiIpOwotCi0gICAgcmV0dXJuIEZpbGU6OlNwZWMtPmNhdGRp
cihAZmxhdHBha0J1aWxkUGF0aCk7CisgICAgbXkgQGZsYXRwYWtQYXRoID0gRmlsZTo6U3BlYy0+
c3BsaXRkaXIoYmFzZVByb2R1Y3REaXIoKSk7CisgICAgcHVzaChAZmxhdHBha1BhdGgsICJVc2Vy
RmxhdHBhayIpOworICAgIHJldHVybiBGaWxlOjpTcGVjLT5jYXRkaXIoQGZsYXRwYWtQYXRoKTsK
IH0KIAogc3ViIGlzQ2FjaGVkQXJndW1lbnRmaWxlT3V0T2ZEYXRlKCRAKQpAQCAtMjA4OCwxMSAr
MjA4Miw3IEBAIHN1YiBpc0NhY2hlZEFyZ3VtZW50ZmlsZU91dE9mRGF0ZSgkQCkKIAogc3ViIGlu
RmxhdHBha1NhbmRib3goKQogewotICAgIGlmICgtZiAiLy5mbGF0cGFrLWluZm8iKSB7Ci0gICAg
ICAgIHJldHVybiAxOwotICAgIH0KLQotICAgIHJldHVybiAwOworICAgIHJldHVybiAoLWYgIi8u
ZmxhdHBhay1pbmZvIik7CiB9CiAKIHN1YiBydW5JbkZsYXRwYWsoQCkKQEAgLTIxMTMsNDUgKzIx
MDMsNjUgQEAgc3ViIHJ1bkluRmxhdHBha0lmQXZhaWxhYmxlKEApCiAgICAgICAgIHJldHVybiAw
OwogICAgIH0KIAotICAgIGlmICghIC1lIGdldEZsYXRwYWtQYXRoKCkpIHsKLSAgICAgICAgcmV0
dXJuIDA7CisgICAgaWYgKCEgLWUgZ2V0VXNlckZsYXRwYWtQYXRoKCkpIHsKKyAgICAgIHJldHVy
biAwOwogICAgIH0KIAogICAgIHJ1bkluRmxhdHBhayhAXykKIH0KIAotc3ViIHdyYXBwZXJQcmVm
aXhJZk5lZWRlZCgpCitzdWIgamhidWlsZFdyYXBwZXJQcmVmaXgoKQogeworICAgIG15IEBwcmVm
aXggPSAoRmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgImpoYnVpbGQi
LCAiamhidWlsZC13cmFwcGVyIikpOworICAgIGlmIChpc0d0aygpKSB7CisgICAgICAgIHB1c2go
QHByZWZpeCwgIi0tZ3RrIik7CisgICAgfSBlbHNpZiAoaXNXUEUoKSkgeworICAgICAgICBwdXNo
KEBwcmVmaXgsICItLXdwZSIpOworICAgIH0KKyAgICBwdXNoKEBwcmVmaXgsICJydW4iKTsKKwor
ICAgIHJldHVybiBAcHJlZml4OworfQogCitzdWIgd3JhcHBlclByZWZpeElmTmVlZGVkKCkKK3sK
ICAgICBpZiAoaXNBbnlXaW5kb3dzKCkgfHwgaXNKU0NPbmx5KCkgfHwgaXNQbGF5U3RhdGlvbigp
KSB7CiAgICAgICAgIHJldHVybiAoKTsKICAgICB9CiAgICAgaWYgKGlzQXBwbGVDb2NvYVdlYktp
dCgpKSB7CiAgICAgICAgIHJldHVybiAoInhjcnVuIik7CiAgICAgfQotICAgIGlmIChzaG91bGRV
c2VKaGJ1aWxkKCkgYW5kICEgc2hvdWxkVXNlRmxhdHBhaygpKSB7Ci0gICAgICAgIG15IEBwcmVm
aXggPSAoRmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgImpoYnVpbGQi
LCAiamhidWlsZC13cmFwcGVyIikpOwotICAgICAgICBpZiAoaXNHdGsoKSkgewotICAgICAgICAg
ICAgcHVzaChAcHJlZml4LCAiLS1ndGsiKTsKLSAgICAgICAgfSBlbHNpZiAoaXNXUEUoKSkgewot
ICAgICAgICAgICAgcHVzaChAcHJlZml4LCAiLS13cGUiKTsKLSAgICAgICAgfQotICAgICAgICBw
dXNoKEBwcmVmaXgsICJydW4iKTsKIAotICAgICAgICByZXR1cm4gQHByZWZpeDsKKyAgICAjIFJl
dHVybmluZyAoKSBoZXJlIG1lYW5zIGVpdGhlciBGbGF0cGFrIG9yIG5vIHdyYXBwZXIgd2lsbCBi
ZSB1c2VkLgorICAgIGlmIChpc0d0aygpIG9yIGlzV1BFKCkpIHsKKyAgICAgICAgIyBSZXNwZWN0
IHVzZXIncyBjaG9pY2UuCisgICAgICAgIGlmIChkZWZpbmVkICRFTlZ7J1dFQktJVF9KSEJVSUxE
J30pIHsKKyAgICAgICAgICAgIGlmICgkRU5WeydXRUJLSVRfSkhCVUlMRCd9IGFuZCAtZSBnZXRK
aGJ1aWxkUGF0aCgpKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGpoYnVpbGRXcmFwcGVyUHJl
Zml4KCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHJldHVybiAoKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICMgb3IgbGV0IEZsYXRwYWsgdGFrZSBwcmVjZWRl
bmNlIG92ZXIgSkhCdWlsZC4KKyAgICAgICAgfSBlbHNpZiAoLWUgZ2V0VXNlckZsYXRwYWtQYXRo
KCkpIHsKKyAgICAgICAgICAgIHJldHVybiAoKTsKKyAgICAgICAgfSBlbHNpZiAoLWUgZ2V0Smhi
dWlsZFBhdGgoKSkgeworICAgICAgICAgICAgcmV0dXJuIGpoYnVpbGRXcmFwcGVyUHJlZml4KCk7
CisgICAgICAgIH0KICAgICB9Ci0KICAgICByZXR1cm4gKCk7CiB9CiAKLXN1YiBzaG91bGRVc2VK
aGJ1aWxkKCkKLXsKLSAgICByZXR1cm4gKChpc0d0aygpIG9yIGlzV1BFKCkpIGFuZCAtZSBnZXRK
aGJ1aWxkUGF0aCgpKTsKLX0KLQogc3ViIHNob3VsZFVzZUZsYXRwYWsoKQotewotICAgIHJldHVy
biAoKGlzR3RrKCkgb3IgaXNXUEUoKSkgYW5kICEgaW5GbGF0cGFrU2FuZGJveCgpIGFuZCAtZSBn
ZXRGbGF0cGFrUGF0aCgpKTsKKyAgeworICAgICMgVE9ETzogVXNlIGZsYXRwYWsgZm9yIEpTQ09u
bHkgb24gTGludXg/IENvdWxkIGJlIHVzZWZ1bCB3aGVuIHRoZSBTREsKKyAgICAjIHN1cHBvcnRz
IGNyb3NzLWNvbXBpbGF0aW9uIGZvciBBUk12NyBhbmQgQWFyY2g2NCBmb3IgaW5zdGFuY2UuCisK
KyAgICBpZiAoIWlzR3RrKCkgYW5kICFpc1dQRSgpKSB7CisgICAgICAgIHJldHVybiAwOworICAg
IH0KKworICAgIG15IEBwcmVmaXggPSB3cmFwcGVyUHJlZml4SWZOZWVkZWQoKTsKKyAgICByZXR1
cm4gKCghIGluRmxhdHBha1NhbmRib3goKSkgYW5kIChAcHJlZml4ID09IDApIGFuZCAtZSBnZXRV
c2VyRmxhdHBha1BhdGgoKSk7CiB9CiAKIHN1YiBjbWFrZUNhY2hlUGF0aCgpCkBAIC0yMjE4LDcg
KzIyMjgsNyBAQCBzdWIgc2hvdWxkUmVtb3ZlQ01ha2VDYWNoZShAKQogICAgIH0KIAogICAgICMg
SWYgYSBjaGFuZ2Ugb24gdGhlIEpIQnVpbGQgbW9kdWxlc2V0IGhhcyBiZWVuIGRvbmUsIHdlIG5l
ZWQgdG8gY2xlYW4gdGhlIGNhY2hlIGFzIHdlbGwuCi0gICAgaWYgKGlzR3RrKCkgfHwgaXNXUEUo
KSkgeworICAgIGlmICghIHNob3VsZFVzZUZsYXRwYWsoKSBhbmQgKGlzR3RrKCkgfHwgaXNXUEUo
KSkpIHsKICAgICAgICAgbXkgJGpoYnVpbGRSb290RGlyZWN0b3J5ID0gRmlsZTo6U3BlYy0+Y2F0
ZGlyKGdldEpoYnVpbGRQYXRoKCksICJSb290Iik7CiAgICAgICAgICMgVGhlIHNjcmlwdCB1cGRh
dGUtd2Via2l0LWxpYnMtamhidWlsZCBzaGFsbCByZS1nZW5lcmF0ZSAkamhidWlsZFJvb3REaXJl
Y3RvcnkgaWYgdGhlIG1vZHVsZXNldCBjaGFuZ2VkLgogICAgICAgICBpZiAoLWQgJGpoYnVpbGRS
b290RGlyZWN0b3J5ICYmICRjYWNoZUZpbGVNb2RpZmllZFRpbWUgPCBzdGF0KCRqaGJ1aWxkUm9v
dERpcmVjdG9yeSktPm10aW1lKSB7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3BvcnQvYmFzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CmluZGV4
IGUxYTE5Y2UwNzM5MmFhYmQ5ODA0YjhlMzUyNDc0ZWFhMjU1NmJkN2IuLjJlOTY4ZTM5NWMzYmUz
YWY3NmE2ZmVlNjI1NTZjOGM3YWE2MmMzMmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvcG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNl
LnB5CkBAIC04OTMsNiArODkzLDcgQEAgY2xhc3MgUG9ydChvYmplY3QpOgogICAgICAgICAgICAg
J0xBTkcnLAogICAgICAgICAgICAgJ0xEX0xJQlJBUllfUEFUSCcsCiAgICAgICAgICAgICAnVEVS
TScsCisgICAgICAgICAgICAnVFonLAogICAgICAgICAgICAgJ1hER19EQVRBX0RJUlMnLAogICAg
ICAgICAgICAgJ1hER19SVU5USU1FX0RJUicsCiAKQEAgLTEyMjAsNyArMTIyMSw3IEBAIGNsYXNz
IFBvcnQob2JqZWN0KToKICAgICAgICAgVGhpcyBpcyBuZWVkZWQgb25seSBieSBwb3J0cyB0aGF0
IHVzZSB0aGUgYXBhY2hlX2h0dHBfc2VydmVyIG1vZHVsZS4iIiIKICAgICAgICAgIyBUaGUgQXBh
Y2hlIGJpbmFyeSBwYXRoIGNhbiB2YXJ5IGRlcGVuZGluZyBvbiBPUyBhbmQgZGlzdHJpYnV0aW9u
CiAgICAgICAgICMgU2VlIGh0dHA6Ly93aWtpLmFwYWNoZS5vcmcvaHR0cGQvRGlzdHJvc0RlZmF1
bHRMYXlvdXQKLSAgICAgICAgZm9yIHBhdGggaW4gWyIvdXNyL3NiaW4vaHR0cGQiLCAiL3Vzci9z
YmluL2FwYWNoZTIiLCAiL2FwcC9iaW4vaHR0cGQiXToKKyAgICAgICAgZm9yIHBhdGggaW4gWyIv
dXNyL3NiaW4vaHR0cGQiLCAiL3Vzci9zYmluL2FwYWNoZTIiLCAiL3Vzci9iaW4vaHR0cGQiXToK
ICAgICAgICAgICAgIGlmIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKHBhdGgpOgogICAgICAgICAg
ICAgICAgIHJldHVybiBwYXRoCiAgICAgICAgIF9sb2cuZXJyb3IoIkNvdWxkIG5vdCBmaW5kIGFw
YWNoZS4gTm90IGluc3RhbGxlZCBvciB1bmtub3duIHBhdGguIikKQEAgLTE0NTIsMTQgKzE0NTMs
OCBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgICMgLS1waXhlbC10ZXN0LWRpcmVjdG9y
eSBpcyBub3Qgc3BlY2lmaWVkLgogICAgICAgICByZXR1cm4gVHJ1ZQogCi0gICAgZGVmIF9zaG91
bGRfdXNlX2ZsYXRwYWsoc2VsZik6Ci0gICAgICAgIHN1ZmZpeCA9ICIiCi0gICAgICAgIGlmIHNl
bGYucG9ydF9uYW1lOgotICAgICAgICAgICAgc3VmZml4ID0gc2VsZi5wb3J0X25hbWUudXBwZXIo
KQotICAgICAgICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5leGlzdHMoc2VsZi5wYXRoX2Zyb21f
d2Via2l0X2Jhc2UoJ1dlYktpdEJ1aWxkJywgc3VmZml4LCAiRmxhdHBha1RyZWUiKSkKLQogICAg
IGRlZiBfaW5fZmxhdHBha19zYW5kYm94KHNlbGYpOgotICAgICAgICByZXR1cm4gb3MucGF0aC5l
eGlzdHMoIi8uZmxhdHBhay1pbmZvIikKKyAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0u
ZXhpc3RzKCIvLmZsYXRwYWstaW5mbyIpCiAKICAgICBkZWYgX3Nob3VsZF91c2VfamhidWlsZChz
ZWxmKToKICAgICAgICAgaWYgc2VsZi5faW5fZmxhdHBha19zYW5kYm94KCk6CmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9wb3J0L2d0ay5weQppbmRleCA2OGJjMTY5MjNmOGFiNzYwOTFmNWIzZTk2NGQwNjVjNzk0
M2ZmOGQ1Li4wY2U4YWE0ODc0NTkwOWM3OTczNjg4M2IzNmQzNGU4NzQwOThkNDczIDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9ndGsucHkKQEAgLTEyMiw2ICsxMjIsNyBAQCBjbGFzcyBHdGtQb3J0
KFBvcnQpOgogICAgICAgICBlbnZpcm9ubWVudFsnVEVTVF9SVU5ORVJfSU5KRUNURURfQlVORExF
X0ZJTEVOQU1FJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdsaWInLCAnbGliVGVzdFJ1bm5lckluamVj
dGVkQnVuZGxlLnNvJykKICAgICAgICAgZW52aXJvbm1lbnRbJ1RFU1RfUlVOTkVSX1RFU1RfUExV
R0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ2xpYicsICdwbHVnaW5zJykKICAgICAgICAg
c2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lU
X09VVFBVVERJUicpCisgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3Nl
dChlbnZpcm9ubWVudCwgJ1dFQktJVF9KSEJVSUxEJykKICAgICAgICAgc2VsZi5fY29weV92YWx1
ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX1RPUF9MRVZFTCcpCiAg
ICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwg
J1VTRV9QTEFZQklOMycpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lm
X3NldChlbnZpcm9ubWVudCwgJ0dTVF9ERUJVRycpCkBAIC0xMzQsMTAgKzEzNSwxMSBAQCBjbGFz
cyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAgICAgaWYgc2VsZi5fc2hvdWxkX3VzZV9qaGJ1aWxk
KCk6CiAgICAgICAgICAgICAgICAgbGx2bXBpcGVfbGliZ2xfcGF0aCA9IHNlbGYuaG9zdC5leGVj
dXRpdmUucnVuX2NvbW1hbmQoc2VsZi5famhidWlsZF93cmFwcGVyICsgWydwcmludGVudicsICdM
TFZNUElQRV9MSUJHTF9QQVRIJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZV9lcnJvcnM9VHJ1ZSkuc3Ry
aXAoKQorICAgICAgICAgICAgICAgIGRyaV9saWJnbF9wYXRoID0gb3MucGF0aC5qb2luKGxsdm1w
aXBlX2xpYmdsX3BhdGgsICJkcmkiKQogICAgICAgICAgICAgZWxzZTogICMgaW4gZmxhdHBhawot
ICAgICAgICAgICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGggPSAiL2FwcC9zb2Z0R0wvbGliIgor
ICAgICAgICAgICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGggPSAiL3Vzci9saWIveDg2XzY0LWxp
bnV4LWdudS8iCisgICAgICAgICAgICAgICAgZHJpX2xpYmdsX3BhdGggPSBvcy5wYXRoLmpvaW4o
bGx2bXBpcGVfbGliZ2xfcGF0aCwgIkdMIiwgImxpYiIsICJkcmkiKQogCi0gICAgICAgICAgICBk
cmlfbGliZ2xfcGF0aCA9IG9zLnBhdGguam9pbihsbHZtcGlwZV9saWJnbF9wYXRoLCAiZHJpIikK
ICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihsbHZtcGlwZV9saWJn
bF9wYXRoLCAibGliR0wuc28iKSkgYW5kIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihkcmlf
bGliZ2xfcGF0aCwgInN3cmFzdF9kcmkuc28iKSk6CiAgICAgICAgICAgICAgICAgIyBNYWtlIHN1
cmUgdmEtYXBpIHN1cHBvcnQgZ2V0cyBkaXNhYmxlZCBiZWNhdXNlIGl0J3MgaW5jb21wYXRpYmxl
IHdpdGggTWVzYSdzIHNvZnRHTCBkcml2ZXIuCiAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnRb
J0xJQlZBX0RSSVZFUl9OQU1FJ10gPSAibnVsbCIKQEAgLTE0OCw3ICsxNTAsNyBAQCBjbGFzcyBH
dGtQb3J0KFBvcnQpOgogICAgICAgICAgICAgICAgIGlmIG9zLmVudmlyb24uZ2V0KCdMRF9MSUJS
QVJZX1BBVEgnKToKICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0xEX0xJQlJBUllf
UEFUSCddICs9ICc6JXMnICUgb3MuZW52aXJvbi5nZXQoJ0xEX0xJQlJBUllfUEFUSCcpCiAgICAg
ICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIF9sb2cud2FybmluZygiQ2FuJ3QgZmluZCBH
YWxsaXVtIGxsdm1waXBlIGRyaXZlci4gVHJ5IHRvIHJ1biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMg
b3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIikKKyAgICAgICAgICAgICAgICBfbG9nLndhcm5p
bmcoIkNhbid0IGZpbmQgR2FsbGl1bSBsbHZtcGlwZSBkcml2ZXIuIFRyeSB0byBydW4gdXBkYXRl
LXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBhayIpCiAgICAgICAgIGlmIHNl
bGYuZ2V0X29wdGlvbigibGVha3MiKToKICAgICAgICAgICAgICMgVHVybiBvZmYgR0xpYiBtZW1v
cnkgb3B0aW1pc2F0aW9ucyBodHRwczovL3dpa2kuZ25vbWUub3JnL1ZhbGdyaW5kLgogICAgICAg
ICAgICAgZW52aXJvbm1lbnRbJ0dfU0xJQ0UnXSA9ICdhbHdheXMtbWFsbG9jJwpAQCAtMjM3LDcg
KzIzOSw3IEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAKICAgICBkZWYgX2dldF9jcmFzaF9sb2co
c2VsZiwgbmFtZSwgcGlkLCBzdGRvdXQsIHN0ZGVyciwgbmV3ZXJfdGhhbiwgdGFyZ2V0X2hvc3Q9
Tm9uZSk6CiAgICAgICAgIHJldHVybiBHREJDcmFzaExvZ0dlbmVyYXRvcihzZWxmLl9leGVjdXRp
dmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwKLSAgICAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0s
IHNlbGYuX3BhdGhfdG9fZHJpdmVyKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLCBz
ZWxmLl9wYXRoX3RvX2RyaXZlciwgc2VsZi5wb3J0X25hbWUsIHNlbGYuZ2V0X29wdGlvbignY29u
ZmlndXJhdGlvbicpKS5nZW5lcmF0ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIpCiAKICAgICBk
ZWYgdGVzdF9leHBlY3RhdGlvbnNfZmlsZV9wb3NpdGlvbihzZWxmKToKICAgICAgICAgIyBHVEsg
cG9ydCBiYXNlbGluZSBzZWFyY2ggcGF0aCBpcyBndGsgLT4gd2syIC0+IGdlbmVyaWMgKGFzIGd0
ay13azIgYW5kIGd0ayBiYXNlbGluZXMgYXJlIG1lcmdlZCksIHNvIHBvcnQgdGVzdCBleHBlY3Rh
dGlvbnMgZmlsZSBpcyBhdCB0aGlyZCB0byBsYXN0IHBvc2l0aW9uLgpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9sb2cucHkgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQppbmRleCA5YWRjNDYz
NzFmOTYxYjE5NjI4ZTdmZWRkNDY1ZWJmZDA5NmNkMDFhLi4yZTAzZGZmMWEzNmViNWMyMDVhZTY4
NzljZDIyYmQyYzcwMjIxMWUzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weQpAQCAtMzcsMTggKzM3LDIyIEBAIGltcG9ydCB0aW1l
CiAKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IFNjcmlwdEVy
cm9yCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi51bmljb2RlX2NvbXBhdGliaWxpdHkgaW1wb3J0IGRl
Y29kZV9pZl9uZWNlc3NhcnkKK2Zyb20gd2Via2l0cHkuY29tbW9uLndlYmtpdF9maW5kZXIgaW1w
b3J0IFdlYktpdEZpbmRlcgogCiAKIGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG9iamVjdCk6
CiAgICAgX2ZpbmRfcGlkX3JlZ2V4ID0gcmUuY29tcGlsZShyJ1BJRDogKFxkKykgXCguKlwpJykK
IAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBleGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhh
biwgZmlsZXN5c3RlbSwgcGF0aF90b19kcml2ZXIpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBl
eGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwgZmlsZXN5c3RlbSwgcGF0aF90b19kcml2
ZXIsIHBvcnRfbmFtZSwgY29uZmlndXJhdGlvbik6CiAgICAgICAgIHNlbGYubmFtZSA9IG5hbWUK
ICAgICAgICAgc2VsZi5waWQgPSBwaWQKICAgICAgICAgc2VsZi5uZXdlcl90aGFuID0gbmV3ZXJf
dGhhbgogICAgICAgICBzZWxmLl9maWxlc3lzdGVtID0gZmlsZXN5c3RlbQogICAgICAgICBzZWxm
Ll9wYXRoX3RvX2RyaXZlciA9IHBhdGhfdG9fZHJpdmVyCiAgICAgICAgIHNlbGYuX2V4ZWN1dGl2
ZSA9IGV4ZWN1dGl2ZQorICAgICAgICBzZWxmLl9wb3J0X25hbWUgPSBwb3J0X25hbWUKKyAgICAg
ICAgc2VsZi5fY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24KKyAgICAgICAgc2VsZi5fd2Vi
a2l0X2ZpbmRlciA9IFdlYktpdEZpbmRlcihmaWxlc3lzdGVtKQogCiAgICAgZGVmIF9nZXRfZ2Ri
X291dHB1dChzZWxmLCBjb3JlZHVtcF9wYXRoKToKICAgICAgICAgcHJvY2Vzc19uYW1lID0gc2Vs
Zi5fZmlsZXN5c3RlbS5qb2luKG9zLnBhdGguZGlybmFtZShzdHIoc2VsZi5fcGF0aF90b19kcml2
ZXIoKSkpLCBzZWxmLm5hbWUpCkBAIC02Nyw2ICs3MSw5IEBAIGNsYXNzIEdEQkNyYXNoTG9nR2Vu
ZXJhdG9yKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBmaWxlbmFtZQogCiAgICAgZGVmIF9nZXRf
dHJhY2VfZnJvbV9zeXN0ZW1kKHNlbGYsIGNvcmVkdW1wY3RsLCBwaWQpOgorICAgICAgICBpZiBv
cy5wYXRoLmlzZmlsZSgiLy5mbGF0cGFrLWluZm8iKToKKyAgICAgICAgICAgIHJldHVybiBzZWxm
Ll9nZXRfdHJhY2VfZnJvbV9mbGF0cGFrKCkKKwogICAgICAgICAjIExldHRpbmcgdXAgdG8gNSBz
ZWNvbmRzIGZvciB0aGUgYmFja3RyYWNlIHRvIGJlIGdlbmVyYXRlZCBvbiB0aGUgc3lzdGVtZCBz
aWRlCiAgICAgICAgIGZvciB0cnlfbnVtYmVyIGluIHJhbmdlKDUpOgogICAgICAgICAgICAgaWYg
dHJ5X251bWJlciAhPSAwOgpAQCAtOTIsMTIgKzk5LDI0IEBAIGNsYXNzIEdEQkNyYXNoTG9nR2Vu
ZXJhdG9yKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wX2ZpbGUubmFtZV0s
IHJldHVybl9leGl0X2NvZGU9VHJ1ZSk6CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAK
LSAgICAgICAgICAgICAgICByZXMgPSBzZWxmLl9nZXRfZ2RiX291dHB1dChzZWxmLl9nZXRfdG1w
X2ZpbGVfbmFtZShjb3JlZHVtcGN0bCwgdGVtcF9maWxlLm5hbWUpKQotCi0gICAgICAgICAgICAg
ICAgcmV0dXJuIHJlcworICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9nZXRfZ2RiX291dHB1
dChzZWxmLl9nZXRfdG1wX2ZpbGVfbmFtZShjb3JlZHVtcGN0bCwgdGVtcF9maWxlLm5hbWUpKQog
CiAgICAgICAgIHJldHVybiAnJywgW10KIAorICAgIGRlZiBfZ2V0X3RyYWNlX2Zyb21fZmxhdHBh
ayhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5uZXdlcl90aGFuOgorICAgICAgICAgICAgY29yZWR1
bXBfc2luY2UgPSAiLS1nZGItc3RhY2stdHJhY2U9QCVmIiAlIHNlbGYubmV3ZXJfdGhhbgorICAg
ICAgICBlbHNlOgorICAgICAgICAgICAgY29yZWR1bXBfc2luY2UgPSAiLS1nZGItc3RhY2stdHJh
Y2UiCisgICAgICAgIHdlYmtpdF9mbGF0cGFrX3BhdGggPSBzZWxmLl93ZWJraXRfZmluZGVyLnBh
dGhfdG9fc2NyaXB0KCd3ZWJraXQtZmxhdHBhaycpCisgICAgICAgIGNtZCA9IFsnZmxhdHBhay1z
cGF3bicsICctLWhvc3QnLCB3ZWJraXRfZmxhdHBha19wYXRoLCAnLS0lcycgJSBzZWxmLl9wb3J0
X25hbWUsCisgICAgICAgICAgICAgICAiLS0lcyIgJSBzZWxmLl9jb25maWd1cmF0aW9uLmxvd2Vy
KCksIGNvcmVkdW1wX3NpbmNlXQorCisgICAgICAgIHByb2MgPSBzZWxmLl9leGVjdXRpdmUucG9w
ZW4oY21kLCBzdGRpbj1Ob25lLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRlcnI9c3VicHJv
Y2Vzcy5QSVBFKQorICAgICAgICBjcmFzaF9sb2csIHN0ZGVyciA9IHByb2MuY29tbXVuaWNhdGUo
KQorICAgICAgICBlcnJvcnMgPSBkZWNvZGVfaWZfbmVjZXNzYXJ5KHN0cihzdGRlcnIgb3IgJzxl
bXB0eT4nKSwgZXJyb3JzPSdpZ25vcmUnKS5zcGxpdGxpbmVzKCkKKyAgICAgICAgcmV0dXJuIGNy
YXNoX2xvZywgZXJyb3JzCisKICAgICBkZWYgZ2VuZXJhdGVfY3Jhc2hfbG9nKHNlbGYsIHN0ZG91
dCwgc3RkZXJyKToKICAgICAgICAgcGlkX3JlcHJlc2VudGF0aW9uID0gc3RyKHNlbGYucGlkIG9y
ICc8dW5rbm93bj4nKQogICAgICAgICBsb2dfZGlyZWN0b3J5ID0gb3MuZW52aXJvbi5nZXQoIldF
QktJVF9DT1JFX0RVTVBTX0RJUkVDVE9SWSIpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZ191bml0dGVzdC5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5CmluZGV4IDlm
M2I3ZTM5Mzc5YzQzYTEwNWVjZTIwYzFjYTYyNjI0M2RmYTdkMzQuLjNhMzllODQ2NzBhNjRjODM2
YjVlMTQ0MmZjOGEzNTkzNGMzN2RmOTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hfbG9nX3VuaXR0ZXN0LnB5CkBAIC00Niw3
ICs0Niw3IEBAIGNsYXNzIEdEQkNyYXNoTG9nR2VuZXJhdG9yVGVzdCh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgICAgIGV4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUoKQogICAgICAgICBleGVjdXRp
dmUuX3Byb2MgPSBNb2NrUHJvY2VzcygpCiAgICAgICAgIGV4ZWN1dGl2ZS5fcHJvYy5zdGRvdXQg
PSAnU1RERVJSOiA8ZW1wdHk+JwotICAgICAgICBnZW5lcmF0b3IgPSBHREJDcmFzaExvZ0dlbmVy
YXRvcihleGVjdXRpdmUsICdEdW1wUmVuZGVyVHJlZScsIDI4NTI5LCBuZXdlcl90aGFuPU5vbmUs
IGZpbGVzeXN0ZW09TW9ja0ZpbGVTeXN0ZW0oeycvcGF0aC90by9jb3JlZHVtcHMnOiAnJ30pLCBw
YXRoX3RvX2RyaXZlcj1Ob25lKQorICAgICAgICBnZW5lcmF0b3IgPSBHREJDcmFzaExvZ0dlbmVy
YXRvcihleGVjdXRpdmUsICdEdW1wUmVuZGVyVHJlZScsIDI4NTI5LCBuZXdlcl90aGFuPU5vbmUs
IGZpbGVzeXN0ZW09TW9ja0ZpbGVTeXN0ZW0oeycvcGF0aC90by9jb3JlZHVtcHMnOiAnJ30pLCBw
YXRoX3RvX2RyaXZlcj1Ob25lLCBwb3J0X25hbWU9Imd0ayIsIGNvbmZpZ3VyYXRpb249IkRlYnVn
IikKIAogICAgICAgICBjb3JlX2RpcmVjdG9yeSA9IG9zLmVudmlyb24uZ2V0KCdXRUJLSVRfQ09S
RV9EVU1QU19ESVJFQ1RPUlknLCAnL3BhdGgvdG8vY29yZWR1bXBzJykKICAgICAgICAgY29yZV9w
YXR0ZXJuID0gZ2VuZXJhdG9yLl9maWxlc3lzdGVtLmpvaW4oY29yZV9kaXJlY3RvcnksICJjb3Jl
LXBpZF8lcC5kdW1wIikKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93
cGUucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd3BlLnB5CmluZGV4IDAwY2U1Mjc2
ZTljYzQyMWI0ODM3YWMyYjU0ZjMzYzU1MmJiZWM4NTUuLjU0NjkyNWY0N2M2NDAwNzI1YWYwNzNh
MzU1M2M3ZmY1NGVlYTdkOTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9y
dC93cGUucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dwZS5weQpAQCAtNzcs
NiArNzcsNyBAQCBjbGFzcyBXUEVQb3J0KFBvcnQpOgogICAgICAgICBlbnZpcm9ubWVudFsnVEVT
VF9SVU5ORVJfVEVTVF9QTFVHSU5fUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0aCgnbGliJywgJ3Bs
dWdpbnMnKQogICAgICAgICBlbnZpcm9ubWVudFsnV0VCS0lUX0VYRUNfUEFUSCddID0gc2VsZi5f
YnVpbGRfcGF0aCgnYmluJykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25f
aWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJUicpCisgICAgICAgIHNlbGYuX2Nv
cHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9KSEJVSUxE
JykKICAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25t
ZW50LCAnV0VCS0lUX1RPUF9MRVZFTCcpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9l
bnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1VTRV9QTEFZQklOMycpCiAgICAgICAgIHNlbGYu
X2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ0dTVF9ERUJVRycp
CkBAIC0xMjEsNyArMTIyLDggQEAgY2xhc3MgV1BFUG9ydChQb3J0KToKICAgICAgICAgcmV0dXJu
IDIKIAogICAgIGRlZiBfZ2V0X2NyYXNoX2xvZyhzZWxmLCBuYW1lLCBwaWQsIHN0ZG91dCwgc3Rk
ZXJyLCBuZXdlcl90aGFuLCB0YXJnZXRfaG9zdD1Ob25lKToKLSAgICAgICAgcmV0dXJuIEdEQkNy
YXNoTG9nR2VuZXJhdG9yKHNlbGYuX2V4ZWN1dGl2ZSwgbmFtZSwgcGlkLCBuZXdlcl90aGFuLCBz
ZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlcikuZ2VuZXJhdGVfY3Jhc2hfbG9n
KHN0ZG91dCwgc3RkZXJyKQorICAgICAgICByZXR1cm4gR0RCQ3Jhc2hMb2dHZW5lcmF0b3Ioc2Vs
Zi5fZXhlY3V0aXZlLCBuYW1lLCBwaWQsIG5ld2VyX3RoYW4sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlciwg
c2VsZi5wb3J0X25hbWUsIHNlbGYuZ2V0X29wdGlvbignY29uZmlndXJhdGlvbicpKS5nZW5lcmF0
ZV9jcmFzaF9sb2coc3Rkb3V0LCBzdGRlcnIpCiAKICAgICBkZWYgY29uZmlndXJhdGlvbl9mb3Jf
dXBsb2FkKHNlbGYsIGhvc3Q9Tm9uZSk6CiAgICAgICAgIGNvbmZpZ3VyYXRpb24gPSBzdXBlcihX
UEVQb3J0LCBzZWxmKS5jb25maWd1cmF0aW9uX2Zvcl91cGxvYWQoaG9zdD1ob3N0KQpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvQWN0aXZhdGVG
b250c0d0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9B
Y3RpdmF0ZUZvbnRzR3RrLmNwcAppbmRleCAzZjhlMjQ0MGYyODNlNGI0ZTU0MjdhZDY0NGQyYjNi
NGUzMTk2NWExLi44MWJjZDk2MmEwOWM3YWNmZWYyMmVjMmY0OGJjMDJiMjQ5YTU2YzQ0IDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0
ZUZvbnRzR3RrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcApAQCAtNjUsOCArNjUsMTMgQEAgQ1N0cmluZyBnZXRP
dXRwdXREaXIoKQogCiBzdGF0aWMgQ1N0cmluZyBnZXRGb250c1BhdGgoKQogeworICAgIC8vIFRy
eSBmbGF0cGFrIHNhbmRib3ggcGF0aC4KKyAgICBHVW5pcXVlUHRyPGNoYXI+Zm9udHNQYXRoKGdf
YnVpbGRfZmlsZW5hbWUoIi91c3IiLCAic2hhcmUiLCAid2Via2l0Z3RrLXRlc3QtZm9udHMiLCBO
VUxMKSk7CisgICAgaWYgKGdfZmlsZV90ZXN0KGZvbnRzUGF0aC5nZXQoKSwgc3RhdGljX2Nhc3Q8
R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9FWElTVFMgfCBHX0ZJTEVfVEVTVF9JU19ESVIpKSkKKyAg
ICAgICAgcmV0dXJuIGZvbnRzUGF0aC5nZXQoKTsKKwogICAgIENTdHJpbmcgd2Via2l0T3V0cHV0
RGlyID0gZ2V0T3V0cHV0RGlyKCk7Ci0gICAgR1VuaXF1ZVB0cjxjaGFyPiBmb250c1BhdGgoZ19i
dWlsZF9maWxlbmFtZSh3ZWJraXRPdXRwdXREaXIuZGF0YSgpLCAiRGVwZW5kZW5jaWVzR1RLIiwg
IlJvb3QiLCAid2Via2l0Z3RrLXRlc3QtZm9udHMiLCBudWxscHRyKSk7CisgICAgZm9udHNQYXRo
LnJlc2V0KGdfYnVpbGRfZmlsZW5hbWUod2Via2l0T3V0cHV0RGlyLmRhdGEoKSwgIkRlcGVuZGVu
Y2llc0dUSyIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgbnVsbHB0cikpOwogICAg
IGlmIChnX2ZpbGVfdGVzdChmb250c1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4o
R19GSUxFX1RFU1RfRVhJU1RTIHwgR19GSUxFX1RFU1RfSVNfRElSKSkpCiAgICAgICAgIHJldHVy
biBmb250c1BhdGguZ2V0KCk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUuY3BwIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250c1dQRS5jcHAKaW5kZXggYTQ5
YzdhMjkyMTgyNTkxZTI3MjdiMmI5MDFlNDEyYjJkZThlMDNkYS4uOGJlNzM2ZjA0OWM5MWIzMDhj
ZDJjMWVjYWYxNDA1YTA1YzFhZTUwMCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250c1dQRS5jcHAKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250c1dQRS5jcHAKQEAg
LTU4LDggKzU4LDEzIEBAIENTdHJpbmcgZ2V0T3V0cHV0RGlyKCkKIAogc3RhdGljIENTdHJpbmcg
Z2V0Rm9udHNQYXRoKCkKIHsKKyAgICAvLyBUcnkgZmxhdHBhayBzYW5kYm94IHBhdGguCisgICAg
R1VuaXF1ZVB0cjxjaGFyPmZvbnRzUGF0aChnX2J1aWxkX2ZpbGVuYW1lKCIvdXNyIiwgInNoYXJl
IiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgTlVMTCkpOworICAgIGlmIChnX2ZpbGVfdGVzdChm
b250c1BhdGguZ2V0KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfRVhJU1RT
IHwgR19GSUxFX1RFU1RfSVNfRElSKSkpCisgICAgICAgIHJldHVybiBmb250c1BhdGguZ2V0KCk7
CisKICAgICBDU3RyaW5nIHdlYmtpdE91dHB1dERpciA9IGdldE91dHB1dERpcigpOwotICAgIEdV
bmlxdWVQdHI8Y2hhcj4gZm9udHNQYXRoKGdfYnVpbGRfZmlsZW5hbWUod2Via2l0T3V0cHV0RGly
LmRhdGEoKSwgIkRlcGVuZGVuY2llc1dQRSIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWZvbnRz
IiwgbnVsbHB0cikpOworICAgIGZvbnRzUGF0aC5yZXNldChnX2J1aWxkX2ZpbGVuYW1lKHdlYmtp
dE91dHB1dERpci5kYXRhKCksICJEZXBlbmRlbmNpZXNXUEUiLCAiUm9vdCIsICJ3ZWJraXRndGst
dGVzdC1mb250cyIsIG51bGxwdHIpKTsKICAgICBpZiAoZ19maWxlX3Rlc3QoZm9udHNQYXRoLmdl
dCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNUX0VYSVNUUyB8IEdfRklMRV9U
RVNUX0lTX0RJUikpKQogICAgICAgICByZXR1cm4gZm9udHNQYXRoLmdldCgpOwogCmRpZmYgLS1n
aXQgYS9Ub29scy9mbGF0cGFrL2ZpbGVzL2RlZmF1bHQueGttIGIvVG9vbHMvZmxhdHBhay9maWxl
cy9kZWZhdWx0LnhrbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDE2ZjZiMDhmNmQ4
MDg1ODA5NjhiYTAyMjU2ZDkwNzVkNDhhNDdkMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKbGl0
ZXJhbCAxMjAzMgp6Y21jZ3lZajdMYWItdWU7NUZraVZsMyVmRmNTXnJ4KiROWTJMNHNpR3JVQyh3
cHp0JlJsOUgyJXJBU3okTVVnWn0Kek4+LWY0Tn5WKF5vd1VnYE56LUB5dERVfj5SQ1V3TlJER3FY
YD4pZ0tZZFc0emBmP202YW9kQCtvdk5MJS0qQGo+Cno+fmFtSXMlTyZXOURlKHFkKE9TKktLOTxi
aStsTHVnPWc9SUA1aTIzTikwR1dlTX1YVTEwMFYyREt5fGl1U1BCNAp6cFUyalkrUThSYDk9fDY3
WSotSUg5QSRjWl9uN0NXKWMkd0hSQmk4S1dvelhFeWR4Xk51P3RNN082TzglcXJLTWMKemJSMVJE
Tj1HI3sjI0otRndZbDVmK0U2TzREIXUhSllPTyVJIUs/PDJ8SUdUT2oqMnFSKilDJE5jNk9IKWN4
IUxGCnooKj41VTVXVSMlUkdtdyFvbDdUe0hgYlNUSXk9WG94IW1kUVVVXmktX3dQcVVOKT1tcWxg
QUd3NUVxaCRqNilfTQp6OE9TNmczel5DbFElTU55UXRvdVEpb0FDWVJqdlRQMHtqWl9FNU5TK3pY
SlJVQEdIUXQwS1dxSzNoKm5XKy1BRjMKenRLezMyVHBvVVRffnFmM2hoSDlrZEhDaHdteG9eLWV0
RyFpUT5re1BQXmA/Zk4rYDNFbn0qKnN7SEViSTRabXNsCnpPflk+KmUkKClxaFRuODUqPSlCOzx3
a1lCbEI9e15qZUllbVlxVnl7JHJRd2VxI0AmdzJ9bE1xM0NUakhYM0Q4Iwp6dHkoRiFAfEFNQUZ7
I1JwRU15QU9ubENyVGZmSkFuQnYmWG1RYX40eWg5bl97TkBieXZXfTgtOHZ1KSZzQD19TzMKemxg
N31qeHpiIVNTMVEpWnJFK189SSR0V0RZVUhjc016UGpKZCUkPDAoUU1fTGhfX09rRFV8QmY7KFNB
PyNfVzhmCnpRay1jd1hHYHMzdClMM14jYWQmd1BAQWlANms0Uz9tdldRVWBGMyVrVUt4WCZYdyg7
KiRueSM0R21ZR1EzeiZzVwp6bTE/dDwoeTlDY2BZdjVyb1UxaDxgRmdke1lTJGFOKzF5O0NTI1Fr
TzNpWCswdCh+dG8mZVJjQ0JpQ3hyJSsoNnsKemBMLSQqRH4tOS1fI18xUmpaZSpgQ1gkZDgjRCUw
RzxCJG5SMV9IWVkqaUZETDFHXjBER08pfFFFKDV5Xj5AdSorCnp6JUIjMzREMlJoSHduOCoqaUZL
MjVfWGZZbn1wcFk+P1VEMTNBLSVwdmFyai1FKF5PWD82Uj1TIVkmS0RFYk93ZAp6bkBYYlgoYSRP
TGF8LT5PTE8tWF8mbmZoQzNqT1JOLTlgVm43IU5NJi0wXkNtd1RSfGQpbllyPm5yfTJxWEJ5MnAK
ekg8XlZAJkFGKjBCbjVGSFh+O05hMCtOQURMU1VESW9lTWhgYn1zQigqdHhLQ1ZkdWltZyZxM0Ni
enpyPVReZT8yCnoqcmoyWWhGdXpWWTFwTTxteGYmJGNIXiljaHV0e3IjJGgpT3lLJmYhIXcmdTdx
Q1pecGhsfkRqKEh9MVEhJHA2JQp6PW5yPmRMTyhQNGwqXylaN0hqaS1tUCR7eVhFX0VjKXBtfktw
aC1sPGJDdWE5JDRhP0BNO3AmfFdxSjFycGJLMEMKenJoIUdeSUlzenYwTWFmNEpPaThyJkk3WitJ
cDdxcSZTeExrITFLKWZhek4oUzB5NGg+a29uQzNuY3Btc2BJVWdvCno/LVk+dm00VkRwS21XaWRA
dGlaQyg/STV2MlFyQHBBb0gwOUdNXmZkYEJjNjZKRlpyP0VeY3BoYn57U2wjfFBDaQp6R058Z2M7
IT5yIVBeQHNTLW4+RyFFZHJaQyluMlNpeH0mQnNrTHZrJFpUK2NUNkBpXmlUaURTanA+bVoqREt9
a2cKeiYqZVFeTjlDOGRjYklQWndrVWkrbTVYT0VtdzB2cVRyPHZmeCl3Nmo8PlRMPVlMKF9AKzl4
PFJKdi09Rl82YVQ9CnpDJXJnTkRzQDtqQD1GLUojaWp8P01MaiRwWismbilkcT02R3c5blVUP1Br
NT1kM2czUSltd3M0IUlMSClieUQzJQp6cFVPY2UmbkxLVURTSzNXTXZZSk5XPExKOSRIdmsxUjw9
NkNhIX4xVFQ7NXUkPzZ9eSopcmdNQ0h9Pk4zKT52ZzkKejUhKWxpbUlHY2dfSEU1TjlFfWJyaGJ1
ayQoPzt0PkVKcnpMdzdBTipuLSQjK2RmMT84ZCs2blhIcjhWeiZiNHtlCnpqMSVkclFUNyRgKnpJ
b1VaZDAraXFZbFRCTmQpPUcqa081ZyNGUURhU3VYbDdoT3JpZjN9OWFaI1ghdGF1XyREfgp6TEh8
fGlgQ01oR0lFTXdvKUY7XkFJK2cqbVhHam01KmhjaloxZ2pMckJ4MiFzKWlJQmY0VC1ITDI8Xyty
QUVVSngKenBUdy09TWYoaD9jQnh0UG99ZEZgP20hR3krXzdTKV5NU1NuV3Brc3x0KGZJbExuPklD
eDhgLVR3emJyMDY7cjIyCnpPJUplTXJgaEpaN2x1NSY/Z2NiQzt5NUk2YUorZl8lcjxCSHF1RiYj
UTRCe2Z1OSlwdTB9O28lRDtPVUpYIXUkRwp6LV5SZklFellRUVVwekR4TCshPFZVSzk7RmZTcTU9
IWNHKkk0TlV8IXUrVUY3Pkoodn1QP3NuK3RPS1k9NEUxbUAKejdleW9Sdio4emtVaiUrT3szMjI3
LVVEXmleV3hJWCt5WGtkby1jRlloYnwxPzE2UDxJTkRQcCRVNl5+T3hCN2hqCnp6cVQjTSY4QGJy
ampsbDMrR3lLajJpbiNqS2ohaGhjezdMR0NkfEZJZGJ7fVRYPUJHNGs/fFhSJlUpPEBjK1R8TAp6
bHNVaX5xdSs2JHR5O3pFb1pudklkWkloPDlRKVZKX193Mjs3VXBGPFZoODU2Z3FvPyglUX0za1dr
eHVeT0ZxSCYKel41JiZHMTk9OWZwMH57VEg9ODMoeyRAVDI9SWB+I0o7RDZIYiN2PnNXKmdzWC03
RSs1NEM9OzQodGpBaGRpfXQ+CnojV2ZjNW0zbHw4e09hODRWcXdXX2tPSmorZCEoRHlHM3BHTXpD
ZEkpXlRvdEI5TClFJEFNPyVmMihIdD9IcSgxTwp6PGpaKjNXP1U7Q1BfMUdFSkxxPENpTGFTVXht
c2FLQDdSSkpnIXNjXzZSTmtnOXJsaVZyPFhPJHRqayZoK1gmWnUKej47biQwb3lhc2UkS01nR1hR
TUxUa19yMShgdzA2YntsUzhMKWY8UUN0PXteR3pPdkN6TX15QF40fCEkdT5tT2FPCnpRUTZ4ZktZ
bHxBPyF9K091RlU9Pj5oZ3A4WGo5ZnVzbl87VlhMfSNwQmczQnUtJCNBMXFgP3BmYH44biNRS0wx
Kwp6bF9UN3kwZURvbndnPi07X1ElTFc4fWZRMSNKe1kwcUw9PTloPHtie3A8ZXBlTGozRVI1Qkpq
RjREbVpPa0xqXz0KekB7ajhIdSFsd2J0aW8tPTg5KHskIVdscExodkAmfEt+Iy1RPlRtNUl0VXZn
SGBoJEQqQTdGbSlrMj1PYkV9WS0yCnpjcU11cTE+cVZkaGQ7Knd1YU89JV9BZkNXWXV9MmdlRlVN
QFBseCNEZEt9SjN8QWBSKWIpUiFPUChLeW8qTG9jSgp6PE5DMT5mNFJwXjElNW9sZjN3SDthVmhv
YjVkVkNTcWFMe2JPbzshTSZuPjNeV1FoTlVhQmtzd3tZOzRlc1BLZWkKeiNfejklXyRQZz9yLW9r
KUBsV3wmY2oyI3VfJTkyTyVncGppQV54SzlMNzh9ZEhwRzlgPEVBXitYRzhvaWc/c1Y7CnptQ3Rw
S2U9VkgtJi1WRzc5I15gKFVLUUBPJilAZGFWVTA0cylaPHtfdWdtIUk/NyFsMzlwTXszKlg0aUo9
ZW04fgp6Pn5UfSFmQStjZHt9LVFZZ01hbjhfV3k/UExEUVk7LStacTl8Sn49PnwzN0BMe3JeKz1W
ZnI2WT5QQz17RCluRSYKekZ+aktte0BkcWgzOGw3IV85dkJrQ2N4Pj80UkUmQ1BMTHlfLTV8I155
QkZrVylKczgqXyR+K2VzOFlgY0kzTXtkCnowblJAOEshQ0ZXe3pDWEw/c0A2Pyl0aXJDcHkkXkIq
WW00ej1DOX0xME4zLVlhRihhJSo4dGJedDhqI2BeIXlzJgp6ZWBtJU1UR3pDJV8wOU1aJlFGSyVh
Pj5pP2FvdjRiS2ZIOV5lT055e1pZSTJGa0RDUSFwdlVuZGp3e3lWY3RPViUKej97UEROMlljTCVz
Nj53XndFYSt6NHsxSyE8RUJMKTdYSHlqY2VaPE9NP0t7OCNyNGV7Xj89N3VFTDY4dkpMKkE/Cnpq
flRBbDdpa34xZkw+cH41M0RjWHRVYzVKTiFsO01rMSVyQzQlMjxVa00tREZLVmQ+VUVtKCMxPzsl
SWtfUjVMOQp6b2ZHU3VvISNVNVg5eGJ5Zlp0RzVhcjZBZmBwKCt1QCVoJUhDVWZARXkoa2x9cCgr
S3t7bWN5YXtBUDdoPylmcU8KekxBZjZYSnx5PU96PSEyTjEzV0FEbGZZd2dwOU1aOV9meD4qYS1S
ZTsxZVBAaFQkMjBtMSloLW1JTzN3dlcpTGB2Cnp2NXRFeV8tKmVRKmdqJEc1OWx2THg3YkpEZnYo
c2AtLVdLKE42KzdqK0l7cj1IaEhGeGVoPDMmS0tnYSY9S0FRagp6cHNWLU1aJHNCR2RpN3I1Yjhg
UUY7MTU5OVotPncoN1dUbVpWQXwrRntnK3tyR2Q+Nk9gMjQ5X2VlfG8pNzVlQygKemZeTWRke3lj
UUVlZWBTNG1IT3pQaFZFMSFKJTUrdXd+VFBWOyoqJUY3YF4lKTtDSVhZQmZ0bWJ7YC1MK2ZeZSRn
Cnp5dSkkd0tKWDdoIXVmcHd4K25ZU3BNPyZ1QjUkIUBmaUItaWUranlVS0tnVWVQNTA0bkxSYWdm
elglO1ppMGhjJgp6MzRDMWMtdnhZKytgays2ZUd0fn4/QD5RfnA5X0JmPFgkQnhfaGFze1Zaaytr
XkV9N01zUD96QHlifGBtNHg2QkcKenRgNkokRV5MQ3JgOCNhJGQkMCkjPWsmMTZANTNmMm9hZShm
ZSpsfUhhUEFNPXsyXj9EIXUyMypeOTklaGc9PDlFCno9OHM/IzZze1gjbj1pczlDfHBhekhoJkQ4
cG0yUyR0UncxcT0tS3shLXs4Mzl6TCRHcC1nQSUzZUp9NjFwWERBbQp6b0c8czhMRSpZV2QreHV2
Qys5dSl5ND9UcnA4SWFAI2whaDxLTj1MU1NHNERRMF5jMlkmdnlkOEMtOSM4ZjQmcCYKem9fa2c5
VXdRdm9Bb3JANGJ5ZElmVk9aZlM1JDl0NmB3R1Z9JDFiMTBwTSEqQmM/SkdLO28yTHZgNGlYI2gz
aGYwCnoocnRONm15YjBeQElrPngxUm5yO3dtKzxPamB+TW54RDM3bjFaQzg7aTUzMj5WO09kTExo
d3ZrIVFZO15yK09YMgp6eyFJdXIxZT0yTWY9PnZ4MVEhTHtmKHdFeGc4TStQNCE3LWRFYTRxaEBP
SHQrMWI7Xy1VVjtQcSRtO2h5KChTT2gKekFhPHdWJEcmN2duIWQhRUZLT2RJUXw/S3tKKW1XcylP
JGFjZV9tfFgxKW1iIS1qQ3x8ST5NaDN6OXtpczVXRmIzCnpDVSZRVktQfGk/ezV5ZHIyQnFGRHgp
WHgkN2tuO1leRnlNYDJ+Rz5YT1lsai1Gfk1FST1MUFEoT2JWdDJqfG5+awp6Xnh9Q1o/JTglazNm
dHUhcVBxaV82NVU7KnlBJFp5LTZ2YDk1IT9pTmBGPmIqY01JK2FFe0toMV9wSW96MnkhM0EKejdg
VFRidThIMzM4IXo5WT13fTNIMXh0YytLKENDP2lTOEUhVWxlPylYTEQ3NXw2bmB0O3lUMGloUyEo
JXtZaWIjCnpAbmQ4QkBjTyMrRzI0aTdkaExgS1VKeHRgez02WFRQa1lickd2TGdSSXpFQCl7bGBW
YGFqI0UqTUV2ZytUb1FhLQp6QFRfMTQ9PXBsJUowZlllcGV1TXImPURMRWowJHBXR1FPX2hDaj43
R3pFfCoqZn1heG5HKkRPUUNqWGN4RkF1JSoKelA5eENtPEYjaXtAcHRWfXtuNjA2JTNxZXY3M2M1
Uk15PjN0LVdNeHstd0RsR0NQfjcoZ2A9KkQ0fVdqSXhWXj1uCnoqN15DYWNSOHhPeXQkMEl3NVE+
SFlvcFdJIyYySCE2fnA8Ym8kYnloX21jPiVjajB7MDkpSXNRcXM2RzlUaT9NKAp6WXBgZDxHT05x
JCohLUVkR24wVGwmKVJiTHtRQm0zI19uSTxaPkZzSEBLeVBzaFVBITw/UVpSRGtNYlNuJntmKj0K
ekQ7eDh5WnRkLUtNJDRUbUowcWppPXVaVHdoZERQa2kxKClCK2JnTiQjR35xY3g1WjxhUWM8X1Zo
JCpJRHVxTT5sCnpWYEZRYmpaMi1+Xl9BdFppPUVaPXleQ1lydkNYYVMjcFI3TEI7cF90eytxd2Bv
dm16a1ZybmRmbXsmVkhFOFg/Jgp6LVNzVyoyWnoqYlhTMzU/VWx+UEY7OEFzTVZ8bkVRQGJjT144
ZmllQz97PT1aTnJTMG1sKVNUdkNeViolQE5yYkYKei1veXNkIyk1JUdTWTUtUDRaSClqZDt4Iz40
dmY9YmUpPFAzS1loKCZJIT15WjxMJncxOVl9WHtJIX4+OXQ4fF9zCnohfW17bzM/N2lxeCpPeTRa
bVZtI2lnRkU2VWVqcmUkdzgyZ2I9STB1bG90QF4zcCFyKjVxPERHSTZtOV48KCYkfAp6bGhOXzte
cUhUMkJUKFBoYmJXYysldW9NRCEyZTZ5emdqTkA+Tl5yaHpvR3FHRiEyM2YzKmBUMkNMSmYoe1Bk
P0MKenpkYVk2N3dgPTZecUhVRDRkajFUbShTQmBlKT1gRWs+Nml1UVU2TUBmY28+SjlVdTJNP05e
V3xiaCE2KUY0ezQhCnpYNylCJCVzX2ZvVH57dzN4KCo4clJhXj1EYVUkVmFMVWY2WnZ2akZmOzB8
PWJpRHwpYyEzbTU8Pk5DUDgxKyMpdgp6Q093cmpKZTNtRWBTR2tBaE0yezNkZXJsKjg8QSVzeDdV
YHtJczNaRzQ4MHR8XkI0OHY4XkkwRktoWH43OEZoWEAKem9nWXhnMmh7TmFDJlcoMjJkPzctPmlC
P0RDZiZyeGJDSlN6ZXRaSihvZXdSVXolTHNwN2lUM0NfPk97ZVFOfEFFCnpzPGJgTVJTQkFNYWpy
X1pESHJGZWdxdzE0dUY3eUo3dzBPND4tX2orVjZAdkcjaDU+WWF5aGFTRHIpMldsKEVENAp6RHtZ
VlNTQXdRb29XQnhvJUVrRkI7aWc9aXpjTzZQI2tvdiFLQj5lNDF7Qk5WbGFqIVIwLWtAPV9CZ0w4
WHYpUVQKekUjYW5Jb1l4WD0lRWZzdDtpZz1pPVFQfXUlT0A/TlZ6d1JPY3RtK1BKQmQ0Kz1oK2Yh
KEJecWhCRn10Y09qPG5WCnpMKFgkPE00b311VD5BfiRGOyFlJC1fX0dRIyFQYSFVfnxrMkk+O0xS
bUI0ZD1aem5pd2k1UDYyJHQzYmpDWHMjMQp6YmVfV2A9bE0qTlVPLXZPRjJJNWgyaFZZbUdpS1dK
SmZ9e19TeHpGKWJgbyhHdGFEfDFkRyh6QTspb3EjOUVzbDgKeldrNVdhTjt7cXZIQ1JQbSRYZ20y
NUFBcXY2PyUoalJ9REBIPF9aWmx0ajdsOTtDV1YpSnxVUlYkaTZpQnEoc2xCCnpwWlRRKWktPnp6
Kk18IX1YUDwtYExWN2B1MSlLcnZ0VHZXNko2S0M/XntWPTlKT0J8NjRxVS1+ZnJHakNZYT04MAp6
ck97bCR5QFg/VHQ9QTZ3WTJrZj82WHt4UzlQIWhLeXxkUHA8I1F9STtAblZRSylHTDN0MiVSQ1pv
PlN3YEY3WFIKekx3Y3tuSldMXng9blp4S0Z6UkhQR0VEcllraGZkTDtsTnBNc2Z2bVcrKSRzIzxv
WW93JDc+NnpqKFdSZ2FjO284Ck1ra3NkfmJJSWlZMDgzSzAyPjx7OQoKZGlmZiAtLWdpdCBhL1Rv
b2xzL2ZsYXRwYWsvZmlsZXMvaHR0cGQtYXV0b2dlbi5zaCBiL1Rvb2xzL2ZsYXRwYWsvZmlsZXMv
aHR0cGQtYXV0b2dlbi5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMWMwYzQ4MzA1
MWZiZGY4NjA0Yjk0NGE2MzUxMWM0ZTEyMWVhZWY0ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL2ZpbGVzL2h0dHBkLWF1dG9nZW4u
c2gKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLWF1dG9tYWtlIC0tYWRkLW1pc3NpbmcK
LWF1dG9yZWNvbmYgLS1pbnN0YWxsCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL2ZsYXRwYWt1
dGlscy5weSBiL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5CmluZGV4IDg5ZWJjNjczMTBj
MWQ1Yjg0YzkwY2Y1NDA3Zjk0MGMwMWIwNWVlZTYuLjA1MTRiY2FlNzg1MDg2OTA4NDM2MDUyNGJh
N2Q5MjRlMGFjYzg5YzIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5
CisrKyBiL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5CkBAIC00OCwxOSArNDgsMTUgQEAg
ZXhjZXB0IEltcG9ydEVycm9yOgogICAgIGZyb20gdXJsbGliMiBpbXBvcnQgdXJsb3BlbgogCiBG
TEFUUEFLX1JFUSA9IFsKLSAgICAoImZsYXRwYWsiLCAiMC4xMC4wIiksCi0gICAgKCJmbGF0cGFr
LWJ1aWxkZXIiLCAiMC4xMC4wIiksCisgICAgKCJmbGF0cGFrIiwgIjEuNC40IiksCiBdCiAKIEZM
QVRQQUtfVkVSU0lPTiA9IHt9CiAKLVdQRV9NQU5JRkVTVF9NQVAgPSB7Ci0gICAgInF0IjogIm9y
Zy53ZWJraXQuV1BFUVQueWFtbCIsCi19Ci0KIHNjcmlwdGRpciA9IG9zLnBhdGguYWJzcGF0aChv
cy5wYXRoLmRpcm5hbWUoX19maWxlX18pKQogX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFt
ZV9fKQogCitGTEFUUEFLX1VTRVJfRElSX1BBVEggPSBvcy5wYXRoLnJlYWxwYXRoKG9zLnBhdGgu
am9pbihzY3JpcHRkaXIsICIuLi8uLi9XZWJLaXRCdWlsZCIsICJVc2VyRmxhdHBhayIpKQogCiBj
bGFzcyBDb2xvcnM6CiAgICAgSEVBREVSID0gIlwwMzNbOTVtIgpAQCAtMTIzLDEzMiArMTE5LDYg
QEAgZGVmIGNoZWNrX2ZsYXRwYWsodmVyYm9zZT1UcnVlKToKICAgICByZXR1cm4gVHJ1ZQogCiAK
LWRlZiByZW1vdmVfZXh0ZW5zaW9uX3BvaW50cyhhcnJheSk6Ci0gICAgcmVzdWx0X2FyZ3MgPSBb
XQotICAgIGZvciBhcmcgaW4gYXJyYXk6Ci0gICAgICAgIGlmKG5vdCBhcmcuc3RhcnRzd2l0aCgn
LS1leHRlbnNpb24nKSk6Ci0gICAgICAgICAgICByZXN1bHRfYXJncy5hcHBlbmQoYXJnKQotICAg
IHJldHVybiByZXN1bHRfYXJncwotCi0KLWRlZiByZW1vdmVfY29tbWVudHMoc3RyaW5nKToKLSAg
ICBwYXR0ZXJuID0gciIoXCIuKj9cInxcJy4qP1wnKXwoL1wqLio/XCovfC8vW15cclxuXSokKSIK
LSAgICAjIGZpcnN0IGdyb3VwIGNhcHR1cmVzIHF1b3RlZCBzdHJpbmdzIChkb3VibGUgb3Igc2lu
Z2xlKQotICAgICMgc2Vjb25kIGdyb3VwIGNhcHR1cmVzIGNvbW1lbnRzICgvL3NpbmdsZS1saW5l
IG9yIC8qIG11bHRpLWxpbmUgKi8pCi0gICAgcmVnZXggPSByZS5jb21waWxlKHBhdHRlcm4sIHJl
Lk1VTFRJTElORSB8IHJlLkRPVEFMTCkKLQotICAgIGRlZiBfcmVwbGFjZXIobWF0Y2gpOgotICAg
ICAgICAjIGlmIHRoZSAybmQgZ3JvdXAgKGNhcHR1cmluZyBjb21tZW50cykgaXMgbm90IE5vbmUs
Ci0gICAgICAgICMgaXQgbWVhbnMgd2UgaGF2ZSBjYXB0dXJlZCBhIG5vbi1xdW90ZWQgKHJlYWwp
IGNvbW1lbnQgc3RyaW5nLgotICAgICAgICBpZiBtYXRjaC5ncm91cCgyKSBpcyBub3QgTm9uZToK
LSAgICAgICAgICAgIHJldHVybiAiIiAgIyBzbyB3ZSB3aWxsIHJldHVybiBlbXB0eSB0byByZW1v
dmUgdGhlIGNvbW1lbnQKLSAgICAgICAgZWxzZTogICMgb3RoZXJ3aXNlLCB3ZSB3aWxsIHJldHVy
biB0aGUgMXN0IGdyb3VwCi0gICAgICAgICAgICByZXR1cm4gbWF0Y2guZ3JvdXAoMSkgICMgY2Fw
dHVyZWQgcXVvdGVkLXN0cmluZwotICAgIHJldHVybiByZWdleC5zdWIoX3JlcGxhY2VyLCBzdHJp
bmcpCi0KLQotZGVmIGxvYWRfbWFuaWZlc3QobWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lPU5vbmUs
IGNvbW1hbmQ9Tm9uZSk6Ci0gICAgaXNfeWFtbCA9IG1hbmlmZXN0X3BhdGguZW5kc3dpdGgoJy55
YW1sJykKLSAgICB3aXRoIG9wZW4obWFuaWZlc3RfcGF0aCwgInIiKSBhcyBtcjoKLSAgICAgICAg
Y29udGVudHMgPSBtci5yZWFkKCkKLQotICAgICAgICBjb250ZW50cyA9IGNvbnRlbnRzICUgeyJD
T01NQU5EIjogY29tbWFuZCwgIlBPUlROQU1FIjogcG9ydF9uYW1lfQotICAgICAgICBpZiBpc195
YW1sOgotICAgICAgICAgICAgaW1wb3J0IHlhbWwKLSAgICAgICAgICAgIHlhbWxfbG9hZCA9IGdl
dGF0dHIoeWFtbCwgInNhZmVfbG9hZCIsIHlhbWwubG9hZCkKLSAgICAgICAgICAgIG1hbmlmZXN0
ID0geWFtbF9sb2FkKGNvbnRlbnRzKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgY29udGVu
dHMgPSByZW1vdmVfY29tbWVudHMoY29udGVudHMpCi0gICAgICAgICAgICBtYW5pZmVzdCA9IGpz
b24ubG9hZHMoY29udGVudHMpCi0KLSAgICByZXR1cm4gbWFuaWZlc3QKLQotCi1kZWYgZXhwYW5k
X3N1Ym1vZHVsZXNfcmVjdXJzZShtb2R1bGVzLCBtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWUsIGNv
bW1hbmQpOgotICAgIGFsbF9tb2R1bGVzID0gW10KLSAgICBpZiB0eXBlKG1vZHVsZXMpIGlzIHN0
cjoKLSAgICAgICAgc3VibWFuaWZlc3RfcGF0aCA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5h
bWUobWFuaWZlc3RfcGF0aCksIG1vZHVsZXMpCi0gICAgICAgIHN1Ym1hbmlmZXN0ID0gbG9hZF9t
YW5pZmVzdChzdWJtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWU9cG9ydF9uYW1lLCBjb21tYW5kPWNv
bW1hbmQpCi0gICAgICAgIGFsbF9tb2R1bGVzLmV4dGVuZChleHBhbmRfc3VibW9kdWxlc19yZWN1
cnNlKHN1Ym1hbmlmZXN0LCBzdWJtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWUsIGNvbW1hbmQpKQot
ICAgICAgICByZXR1cm4gYWxsX21vZHVsZXMKLQotICAgICMgVGhlIGxhc3QgcmVjdXJzZSBtYW5p
ZmVzdCBleHBhbmQgaXRlcmF0aW9uIG1pZ2h0IGxlYWQgdG8gYSBzaW5nbGUgbW9kdWxlLgotICAg
IGlmIG5vdCBpc2luc3RhbmNlKG1vZHVsZXMsIGxpc3QpOgotICAgICAgICBhbGxfbW9kdWxlcy5h
cHBlbmQobW9kdWxlcykKLSAgICAgICAgcmV0dXJuIGFsbF9tb2R1bGVzCi0KLSAgICBmb3IgbW9k
dWxlIGluIG1vZHVsZXM6Ci0gICAgICAgIGlmIHR5cGUobW9kdWxlKSBpcyBzdHI6Ci0gICAgICAg
ICAgICBzdWJtYW5pZmVzdF9wYXRoID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShtYW5p
ZmVzdF9wYXRoKSwgbW9kdWxlKQotICAgICAgICAgICAgc3VibWFuaWZlc3QgPSBsb2FkX21hbmlm
ZXN0KHN1Ym1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZT1wb3J0X25hbWUsIGNvbW1hbmQ9Y29tbWFu
ZCkKLSAgICAgICAgICAgIGFsbF9tb2R1bGVzLmV4dGVuZChleHBhbmRfc3VibW9kdWxlc19yZWN1
cnNlKHN1Ym1hbmlmZXN0LCBzdWJtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWUsIGNvbW1hbmQpKQot
ICAgICAgICBlbHNlOgotICAgICAgICAgICAgYWxsX21vZHVsZXMuYXBwZW5kKG1vZHVsZSkKLQot
ICAgIHJldHVybiBhbGxfbW9kdWxlcwotCi1kZWYgZXhwYW5kX21hbmlmZXN0KG1hbmlmZXN0X3Bh
dGgsIG91dGZpbGUsIHBvcnRfbmFtZSwgc291cmNlX3Jvb3QsIGNvbW1hbmQpOgotICAgICIiIkNy
ZWF0ZXMgdGhlIG1hbmlmZXN0IGZpbGUuIiIiCi0gICAgdHJ5OgotICAgICAgICBvcy5yZW1vdmUo
b3V0ZmlsZSkKLSAgICBleGNlcHQgT1NFcnJvcjoKLSAgICAgICAgcGFzcwotCi0gICAgbWFuaWZl
c3QgPSBsb2FkX21hbmlmZXN0KG1hbmlmZXN0X3BhdGgsIHBvcnRfbmFtZT1wb3J0X25hbWUsIGNv
bW1hbmQ9Y29tbWFuZCkKLSAgICBpZiBub3QgbWFuaWZlc3Q6Ci0gICAgICAgIHJldHVybiBGYWxz
ZQotCi0gICAgaWYgInNkay1oYXNoIiBpbiBtYW5pZmVzdDoKLSAgICAgICAgZGVsIG1hbmlmZXN0
WyJzZGstaGFzaCJdCi0gICAgaWYgInJ1bnRpbWUtaGFzaCIgaW4gbWFuaWZlc3Q6Ci0gICAgICAg
IGRlbCBtYW5pZmVzdFsicnVudGltZS1oYXNoIl0KLQotICAgIGFsbF9tb2R1bGVzID0gW10KLQot
ICAgIG92ZXJyaWRlbl9tb2R1bGVzID0gW10KLSAgICBpZiAiV0VCS0lUX0VYVFJBX01PRFVMRVNF
VFMiIGluIG9zLmVudmlyb246Ci0gICAgICAgIG92ZXJyaWRlbl9tb2R1bGVzID0gbG9hZF9tYW5p
ZmVzdChvcy5lbnZpcm9uWyJXRUJLSVRfRVhUUkFfTU9EVUxFU0VUUyJdKQotICAgICAgICBpZiBu
b3Qgb3ZlcnJpZGVuX21vZHVsZXM6Ci0gICAgICAgICAgICBvdmVycmlkZW5fbW9kdWxlcyA9IFtd
Ci0gICAgZm9yIG1vZHVsZXMgaW4gbWFuaWZlc3RbIm1vZHVsZXMiXToKLSAgICAgICAgbW9kdWxl
cyA9IGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2UobW9kdWxlcywgbWFuaWZlc3RfcGF0aCwgcG9y
dF9uYW1lLCBjb21tYW5kKQotCi0gICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKG1vZHVsZXMsIGxp
c3QpOgotICAgICAgICAgICAgbW9kdWxlcyA9IFttb2R1bGVzXQotCi0gICAgICAgIGZvciBtb2R1
bGUgaW4gbW9kdWxlczoKLSAgICAgICAgICAgIGZvciBvdmVycmlkZW5fbW9kdWxlIGluIG92ZXJy
aWRlbl9tb2R1bGVzOgotICAgICAgICAgICAgICAgIGlmIG1vZHVsZVsnbmFtZSddID09IG92ZXJy
aWRlbl9tb2R1bGVbJ25hbWUnXToKLSAgICAgICAgICAgICAgICAgICAgbW9kdWxlID0gb3ZlcnJp
ZGVuX21vZHVsZQotICAgICAgICAgICAgICAgICAgICBvdmVycmlkZW5fbW9kdWxlcy5yZW1vdmUo
bW9kdWxlKQotICAgICAgICAgICAgICAgICAgICBicmVhawotCi0gICAgICAgICAgICBhbGxfbW9k
dWxlcy5hcHBlbmQobW9kdWxlKQotCi0gICAgIyBBbmQgYWRkIG92ZXJyaWRlbiBtb2R1bGVzIHJp
Z2h0IGJlZm9yZSB0aGUgd2Via2l0IHBvcnQgYnVpbGQgZGVmLgotICAgIGZvciBvdmVycmlkZW5f
bW9kdWxlIGluIG92ZXJyaWRlbl9tb2R1bGVzOgotICAgICAgICBhbGxfbW9kdWxlcy5pbnNlcnQo
LTEsIG92ZXJyaWRlbl9tb2R1bGUpCi0KLSAgICBtYW5pZmVzdFsibW9kdWxlcyJdID0gYWxsX21v
ZHVsZXMKLSAgICBmb3IgbW9kdWxlIGluIG1hbmlmZXN0WyJtb2R1bGVzIl06Ci0gICAgICAgIGlm
IG5vdCBtb2R1bGUuZ2V0KCJzb3VyY2VzIik6Ci0gICAgICAgICAgICBjb250aW51ZQotCi0gICAg
ICAgIGlmIG1vZHVsZVsic291cmNlcyJdWzBdWyJ0eXBlIl0gPT0gImdpdCI6Ci0gICAgICAgICAg
ICBpZiBwb3J0X25hbWUgPT0gbW9kdWxlWyJuYW1lIl06Ci0gICAgICAgICAgICAgICAgcmVwbyA9
ICJmaWxlOi8vIiArIHNvdXJjZV9yb290Ci0gICAgICAgICAgICAgICAgbW9kdWxlWyJzb3VyY2Vz
Il1bMF1bInVybCJdID0gcmVwbwotCi0gICAgICAgIGZvciBzb3VyY2UgaW4gbW9kdWxlWyJzb3Vy
Y2VzIl06Ci0gICAgICAgICAgICBpZiBzb3VyY2VbInR5cGUiXSA9PSAicGF0Y2giIG9yIChzb3Vy
Y2VbInR5cGUiXSA9PSAiZmlsZSIgYW5kIHNvdXJjZS5nZXQoJ3BhdGgnKSk6Ci0gICAgICAgICAg
ICAgICAgc291cmNlWyJwYXRoIl0gPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKG1hbmlm
ZXN0X3BhdGgpLCBzb3VyY2VbInBhdGgiXSkKLQotICAgIHdpdGggb3BlbihvdXRmaWxlLCAidyIp
IGFzIG9mOgotICAgICAgICBvZi53cml0ZShqc29uLmR1bXBzKG1hbmlmZXN0LCBpbmRlbnQ9NCkp
Ci0KLSAgICByZXR1cm4gVHJ1ZQotCi0KIGNsYXNzIEZsYXRwYWtPYmplY3Q6CiAKICAgICBkZWYg
X19pbml0X18oc2VsZiwgdXNlcik6CkBAIC0yODAsNDUgKzE1MCwyNSBAQCBjbGFzcyBGbGF0cGFr
UGFja2FnZXMoRmxhdHBha09iamVjdCk6CiAKICAgICAgICAgc2VsZi5yZXBvcyA9IHJlcG9zCiAK
LSAgICAgICAgc2VsZi5ydW50aW1lcyA9IHNlbGYuX19kZXRlY3RfcnVudGltZXMoKQotICAgICAg
ICBzZWxmLmFwcHMgPSBzZWxmLl9fZGV0ZWN0X2FwcHMoKQotICAgICAgICBzZWxmLnBhY2thZ2Vz
ID0gc2VsZi5ydW50aW1lcyArIHNlbGYuYXBwcwotCisgICAgICAgIHNlbGYucGFja2FnZXMgPSBz
ZWxmLl9fZGV0ZWN0X3J1bnRpbWVzKCkKIAogICAgIGRlZiBfX2RldGVjdF9wYWNrYWdlcyhzZWxm
LCAqYXJncyk6CiAgICAgICAgIHBhY2tzID0gW10KLSAgICAgICAgaWYgRkxBVFBBS19WRVJTSU9O
WyJmbGF0cGFrIl0gPCAoMSwgMSwgMik6Ci0gICAgICAgICAgICBvdXQgPSBzZWxmLmZsYXRwYWso
Imxpc3QiLCAiLWQiLCAqYXJncykKLSAgICAgICAgICAgIHBhY2thZ2VfZGVmcyA9IFtsaW5lIGZv
ciBsaW5lIGluIG91dC5zcGxpdCgiXG4iKSBpZiBsaW5lXQotICAgICAgICAgICAgZm9yIHBhY2th
Z2VfZGVmIGluIHBhY2thZ2VfZGVmczoKLSAgICAgICAgICAgICAgICBzcGxpdGVkX3BhY2thZ2Vk
X2RlZiA9IHBhY2thZ2VfZGVmLnNwbGl0KCkKLSAgICAgICAgICAgICAgICBuYW1lLCBhcmNoLCBi
cmFuY2ggPSBzcGxpdGVkX3BhY2thZ2VkX2RlZlswXS5zcGxpdCgiLyIpCi0KLSAgICAgICAgICAg
ICAgICAjIElmIGluc3RhbGxlZCBmcm9tIGEgZmlsZSwgdGhlIHBhY2thZ2UgaXMgaW4gbm8gcmVw
bwotICAgICAgICAgICAgICAgIHJlcG9fbmFtZSA9IHNwbGl0ZWRfcGFja2FnZWRfZGVmWzFdCi0g
ICAgICAgICAgICAgICAgcmVwbyA9IHNlbGYucmVwb3MucmVwb3MuZ2V0KHJlcG9fbmFtZSkKLQot
ICAgICAgICAgICAgICAgIHBhY2tzLmFwcGVuZChGbGF0cGFrUGFja2FnZShuYW1lLCBicmFuY2gs
IHJlcG8sIGFyY2gpKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgb3V0ID0gc2VsZi5mbGF0
cGFrKCJsaXN0IiwgIi0tY29sdW1ucz1hcHBsaWNhdGlvbixhcmNoLGJyYW5jaCxvcmlnaW4iLCAq
YXJncykKLSAgICAgICAgICAgIHBhY2thZ2VfZGVmcyA9IFtsaW5lIGZvciBsaW5lIGluIG91dC5z
cGxpdCgiXG4iKSBpZiBsaW5lXQotICAgICAgICAgICAgZm9yIHBhY2thZ2VfZGVmIGluIHBhY2th
Z2VfZGVmczoKLSAgICAgICAgICAgICAgICBuYW1lLCBhcmNoLCBicmFuY2gsIG9yaWdpbiA9IHBh
Y2thZ2VfZGVmLnNwbGl0KCJcdCIpCisgICAgICAgIG91dCA9IHNlbGYuZmxhdHBhaygibGlzdCIs
ICItLWNvbHVtbnM9YXBwbGljYXRpb24sYXJjaCxicmFuY2gsb3JpZ2luIiwgKmFyZ3MpCisgICAg
ICAgIHBhY2thZ2VfZGVmcyA9IFtsaW5lIGZvciBsaW5lIGluIG91dC5zcGxpdCgiXG4iKSBpZiBs
aW5lXQorICAgICAgICBmb3IgcGFja2FnZV9kZWYgaW4gcGFja2FnZV9kZWZzOgorICAgICAgICAg
ICAgbmFtZSwgYXJjaCwgYnJhbmNoLCBvcmlnaW4gPSBwYWNrYWdlX2RlZi5zcGxpdCgiXHQiKQog
Ci0gICAgICAgICAgICAgICAgIyBJZiBpbnN0YWxsZWQgZnJvbSBhIGZpbGUsIHRoZSBwYWNrYWdl
IGlzIGluIG5vIHJlcG8KLSAgICAgICAgICAgICAgICByZXBvID0gc2VsZi5yZXBvcy5yZXBvcy5n
ZXQob3JpZ2luKQorICAgICAgICAgICAgIyBJZiBpbnN0YWxsZWQgZnJvbSBhIGZpbGUsIHRoZSBw
YWNrYWdlIGlzIGluIG5vIHJlcG8KKyAgICAgICAgICAgIHJlcG8gPSBzZWxmLnJlcG9zLnJlcG9z
LmdldChvcmlnaW4pCiAKLSAgICAgICAgICAgICAgICBwYWNrcy5hcHBlbmQoRmxhdHBha1BhY2th
Z2UobmFtZSwgYnJhbmNoLCByZXBvLCBhcmNoKSkKKyAgICAgICAgICAgIHBhY2tzLmFwcGVuZChG
bGF0cGFrUGFja2FnZShuYW1lLCBicmFuY2gsIHJlcG8sIGFyY2gpKQogCiAgICAgICAgIHJldHVy
biBwYWNrcwogCi0KICAgICBkZWYgX19kZXRlY3RfcnVudGltZXMoc2VsZik6CiAgICAgICAgIHJl
dHVybiBzZWxmLl9fZGV0ZWN0X3BhY2thZ2VzKCItLXJ1bnRpbWUiKQogCi0gICAgZGVmIF9fZGV0
ZWN0X2FwcHMoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLl9fZGV0ZWN0X3BhY2thZ2VzKCkK
LQogICAgIGRlZiBfX2l0ZXJfXyhzZWxmKToKICAgICAgICAgZm9yIHBhY2thZ2UgaW4gc2VsZi5w
YWNrYWdlczoKICAgICAgICAgICAgIHlpZWxkIHBhY2thZ2UKQEAgLTMzMyw0NyArMTgzLDE2IEBA
IGNsYXNzIEZsYXRwYWtSZXBvcyhGbGF0cGFrT2JqZWN0KToKIAogICAgIGRlZiB1cGRhdGUoc2Vs
Zik6CiAgICAgICAgIHNlbGYucmVwb3MgPSB7fQotICAgICAgICBpZiBGTEFUUEFLX1ZFUlNJT05b
ImZsYXRwYWsiXSA8ICgxLCAxLCAyKToKLSAgICAgICAgICAgIG91dCA9IHNlbGYuZmxhdHBhaygi
cmVtb3RlLWxpc3QiLCAiLWQiKQotICAgICAgICAgICAgcmVtb3RlcyA9IFtsaW5lIGZvciBsaW5l
IGluIG91dC5zcGxpdCgiXG4iKSBpZiBsaW5lXQotICAgICAgICAgICAgZm9yIHJlcG8gaW4gcmVt
b3RlczoKLSAgICAgICAgICAgICAgICBmb3IgY29tcG9uZW50cyBpbiBbcmVwby5zcGxpdCgiICIp
LCByZXBvLnNwbGl0KCJcdCIpXToKLSAgICAgICAgICAgICAgICAgICAgaWYgbGVuKGNvbXBvbmVu
dHMpID09IDE6Ci0gICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRzID0gcmVwby5zcGxp
dCgiXHQiKQotICAgICAgICAgICAgICAgICAgICBuYW1lID0gY29tcG9uZW50c1swXQotICAgICAg
ICAgICAgICAgICAgICBkZXNjID0gIiIKLSAgICAgICAgICAgICAgICAgICAgdXJsID0gTm9uZQot
ICAgICAgICAgICAgICAgICAgICBmb3IgZWxlbSBpbiBjb21wb25lbnRzWzE6XToKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIG5vdCBlbGVtOgotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgICAgICAgICBwYXJzZWRfdXJsID0gdXJscGFyc2Uo
ZWxlbSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIHBhcnNlZF91cmwuc2NoZW1lOgotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVybCA9IGVsZW0KLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBicmVhawotCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBkZXNjOgotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRlc2MgKz0gIiAiCi0gICAgICAgICAgICAgICAgICAgICAg
ICBkZXNjICs9IGVsZW0KLQotICAgICAgICAgICAgICAgICAgICBpZiB1cmw6Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBicmVhawotCi0gICAgICAgICAgICAgICAgaWYgbm90IHVybDoKLSAgICAg
ICAgICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJObyB2YWxpZCBVUkkgZm91bmQgZm9yOiAl
cyIsIHJlcG8pCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgICAgICAg
ICBzZWxmLnJlcG9zW25hbWVdID0gRmxhdHBha1JlcG8obmFtZSwgdXJsLCBkZXNjLCByZXBvcz1z
ZWxmKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgb3V0ID0gc2VsZi5mbGF0cGFrKCJyZW1v
dGUtbGlzdCIsICItLWNvbHVtbnM9bmFtZSx0aXRsZSx1cmwiKQotICAgICAgICAgICAgcmVtb3Rl
cyA9IFtsaW5lIGZvciBsaW5lIGluIG91dC5zcGxpdCgiXG4iKSBpZiBsaW5lXQotICAgICAgICAg
ICAgZm9yIHJlbW90ZSBpbiByZW1vdGVzOgotICAgICAgICAgICAgICAgIG5hbWUsIHRpdGxlLCB1
cmwgPSByZW1vdGUuc3BsaXQoIlx0IikKLSAgICAgICAgICAgICAgICBwYXJzZWRfdXJsID0gdXJs
cGFyc2UodXJsKQotICAgICAgICAgICAgICAgIGlmIG5vdCBwYXJzZWRfdXJsLnNjaGVtZToKLSAg
ICAgICAgICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJObyB2YWxpZCBVUkkgZm91bmQgZm9y
OiAlcyIsIHJlbW90ZSkKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgb3V0
ID0gc2VsZi5mbGF0cGFrKCJyZW1vdGUtbGlzdCIsICItLWNvbHVtbnM9bmFtZSx0aXRsZSx1cmwi
KQorICAgICAgICByZW1vdGVzID0gW2xpbmUgZm9yIGxpbmUgaW4gb3V0LnNwbGl0KCJcbiIpIGlm
IGxpbmVdCisgICAgICAgIGZvciByZW1vdGUgaW4gcmVtb3RlczoKKyAgICAgICAgICAgIG5hbWUs
IHRpdGxlLCB1cmwgPSByZW1vdGUuc3BsaXQoIlx0IikKKyAgICAgICAgICAgIHBhcnNlZF91cmwg
PSB1cmxwYXJzZSh1cmwpCisgICAgICAgICAgICBpZiBub3QgcGFyc2VkX3VybC5zY2hlbWU6Cisg
ICAgICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJObyB2YWxpZCBVUkkgZm91bmQgZm9yOiAl
cyIsIHJlbW90ZSkKKyAgICAgICAgICAgICAgICBjb250aW51ZQogCi0gICAgICAgICAgICAgICAg
c2VsZi5yZXBvc1tuYW1lXSA9IEZsYXRwYWtSZXBvKG5hbWUsIHVybCwgdGl0bGUsIHJlcG9zPXNl
bGYpCisgICAgICAgICAgICBzZWxmLnJlcG9zW25hbWVdID0gRmxhdHBha1JlcG8obmFtZT1uYW1l
LCB1cmw9dXJsLCBkZXNjPXRpdGxlLCByZXBvcz1zZWxmKQogCiAgICAgICAgIHNlbGYucGFja2Fn
ZXMgPSBGbGF0cGFrUGFja2FnZXMoc2VsZikKIApAQCAtNDIwLDcgKzIzOSwxMCBAQCBjbGFzcyBG
bGF0cGFrUmVwbyhGbGF0cGFrT2JqZWN0KToKICAgICAgICAgaWYgcmVwb19maWxlIGFuZCBub3Qg
dXJsOgogICAgICAgICAgICAgcmVwbyA9IGNvbmZpZ3BhcnNlci5Db25maWdQYXJzZXIoKQogICAg
ICAgICAgICAgcmVwby5yZWFkKHNlbGYucmVwb19maWxlLm5hbWUpCi0gICAgICAgICAgICBzZWxm
LnVybCA9IHJlcG9bIkZsYXRwYWsgUmVwbyJdWyJVcmwiXQorICAgICAgICAgICAgdHJ5OgorICAg
ICAgICAgICAgICAgIHNlbGYudXJsID0gcmVwb1siRmxhdHBhayBSZXBvIl1bIlVybCJdCisgICAg
ICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICAgICAgc2VsZi51cmwg
PSByZXBvLmdldCgiRmxhdHBhayBSZXBvIiwgIlVybCIpCiAgICAgICAgIGVsc2U6CiAgICAgICAg
ICAgICBhc3NlcnQgdXJsCiAKQEAgLTQ0OSw5ICsyNzEsMTIgQEAgY2xhc3MgRmxhdHBha1BhY2th
Z2UoRmxhdHBha09iamVjdCk6CiAgICAgICAgIHNlbGYuYXJjaCA9IGFyY2gKICAgICAgICAgc2Vs
Zi5oYXNoID0gaGFzaAogCi0gICAgZGVmIF9fc3RyX18oc2VsZik6CisgICAgZGVmIF9fcmVwcl9f
KHNlbGYpOgogICAgICAgICByZXR1cm4gIiVzLyVzLyVzICVzIiAlIChzZWxmLm5hbWUsIHNlbGYu
YXJjaCwgc2VsZi5icmFuY2gsIHNlbGYucmVwby5uYW1lKQogCisgICAgZGVmIF9fc3RyX18oc2Vs
Zik6CisgICAgICAgIHJldHVybiAiJXMvJXMvJXMiICUgKHNlbGYubmFtZSwgc2VsZi5hcmNoLCBz
ZWxmLmJyYW5jaCkKKwogICAgIGRlZiBpc19pbnN0YWxsZWQoc2VsZiwgYnJhbmNoKToKICAgICAg
ICAgaWYgbm90IHNlbGYucmVwbzoKICAgICAgICAgICAgICMgQnVuZGxlIGluc3RhbGxlZCBmcm9t
IGZpbGUKQEAgLTQ5MSw3ICszMTYsNyBAQCBjbGFzcyBGbGF0cGFrUGFja2FnZShGbGF0cGFrT2Jq
ZWN0KToKICAgICAgICAgZXh0cmFfYXJncy5hcHBlbmQoIi0tYXNzdW1leWVzIikKIAogICAgICAg
ICBzZWxmLmZsYXRwYWsoInVwZGF0ZSIsIHNlbGYubmFtZSwgc2VsZi5icmFuY2gsIHNob3dfb3V0
cHV0PVRydWUsCi0gICAgICAgICAgICAgICAgICAgICpleHRyYV9hcmdzLCBjb21tZW50PWNvbW1l
bnQpCisgICAgICAgICAgICAgICAgICAgICAqZXh0cmFfYXJncywgY29tbWVudD1jb21tZW50KQog
CiAKIEBjb250ZXh0bWFuYWdlcgpAQCAtNTE5LDU0ICszNDQsNTggQEAgY2xhc3MgV2Via2l0Rmxh
dHBhazoKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoJy0tdmVyYm9zZScsIGFjdGlvbj0n
c3RvcmVfdHJ1ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J1Nob3cgZGVi
dWcgbWVzc2FnZScpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLWRlYnVnIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJDb21waWxlIHdpdGggRGVidWcgY29uZmln
dXJhdGlvbiwgYWxzbyBpbnN0YWxscyBTZGsgZGVidWcgc3ltYm9sZXMuIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBoZWxwPSJDb21waWxlIHdpdGggRGVidWcgY29uZmlndXJhdGlvbiwgYWxzbyBp
bnN0YWxscyBTZGsgZGVidWcgc3ltYm9sZXMuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYWN0aW9uPSJzdG9yZV90cnVlIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi0t
cmVsZWFzZSIsIGhlbHA9IkNvbXBpbGUgd2l0aCBSZWxlYXNlIGNvbmZpZ3VyYXRpb24uIiwgYWN0
aW9uPSJzdG9yZV90cnVlIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoJy0tcGxhdGZv
cm0nLCBhY3Rpb249J3N0b3JlJywgaGVscD0nUGxhdGZvcm0gdG8gdXNlIChlLmcuLCAibWFjLWxp
b24iKScpLAogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgnLS1ndGsnLCBhY3Rpb249J3N0
b3JlX2NvbnN0JywgZGVzdD0ncGxhdGZvcm0nLCBjb25zdD0nZ3RrJywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaGVscD0nQWxpYXMgZm9yIC0tcGxhdGZvcm09Z3RrJykKICAgICAgICAg
Z2VuZXJhbC5hZGRfYXJndW1lbnQoJy0td3BlJywgYWN0aW9uPSdzdG9yZV9jb25zdCcsIGRlc3Q9
J3BsYXRmb3JtJywgY29uc3Q9J3dwZScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVs
cD0oJ0FsaWFzIGZvciAtLXBsYXRmb3JtPXdwZScpKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBoZWxwPSgnQWxpYXMgZm9yIC0tcGxhdGZvcm09d3BlJykpCiAgICAgICAgIGdlbmVyYWwu
YWRkX2FyZ3VtZW50KCItbmYiLCAiLS1uby1mbGF0cGFrLXVwZGF0ZSIsIGRlc3Q9Im5vX2ZsYXRw
YWtfdXBkYXRlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3Ry
dWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkRvIG5vdCB1cGRhdGUgZmxh
cHRhayBydW50aW1lL3NkayIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0i
c3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkRvIG5vdCB1
cGRhdGUgZmxhcHRhayBydW50aW1lL3NkayIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50
KCItdSIsICItLXVwZGF0ZSIsIGRlc3Q9InVwZGF0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBo
ZWxwPSJVcGRhdGUgdGhlIHJ1bnRpbWUvc2RrL2FwcCBhbmQgcmVidWlsZCB0aGUgZGV2ZWxvcG1l
bnQgZW52aXJvbm1lbnQgaWYgbmVlZGVkIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
YWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0i
VXBkYXRlIHRoZSBydW50aW1lL3Nkay9hcHAgYW5kIHJlYnVpbGQgdGhlIGRldmVsb3BtZW50IGVu
dmlyb25tZW50IGlmIG5lZWRlZCIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItYiIs
ICItLWJ1aWxkLXdlYmtpdCIsIGRlc3Q9ImJ1aWxkX3dlYmtpdCIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBoZWxwPSJGb3JjZSByZWJ1aWxkaW5nIHRoZSBhcHAuIikKLSAgICAgICAgZ2VuZXJhbC5h
ZGRfYXJndW1lbnQoIi1iYSIsICItLWJ1aWxkLWFsbCIsIGRlc3Q9ImJ1aWxkX2FsbCIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoZWxwPSJGb3JjZSByZWJ1aWxkaW5nIHRoZSBhcHAgYW5kIGl0cyBk
ZXBlbmRlbmNpZXMuIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9y
ZV90cnVlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRm9yY2UgcmVidWls
ZGluZyB0aGUgYXBwLiIpCisgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItYmdzdCIsICIt
LWJ1aWxkLWdzdCIsIGRlc3Q9ImJ1aWxkX2dzdCIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhl
bHA9IkZvcmNlIHJlYnVpbGRpbmcgZ3N0LWJ1aWxkLCByZXBvc2l0b3J5IHBhdGggaXMgZGVmaW5l
ZCBieSB0aGUgYEdTVF9CVUlMRF9QQVRIYCBlbnZpcm9ubWVudCB2YXJpYWJsZS4iKQogICAgICAg
ICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLXEiLCAiLS1xdWlldCIsIGRlc3Q9InF1aWV0IiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGhlbHA9IkRvIG5vdCBwcmludCBhbnl0aGluZyIpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGhlbHA9IkRvIG5vdCBwcmludCBhbnl0aGluZyIpCiAgICAgICAgIGdl
bmVyYWwuYWRkX2FyZ3VtZW50KCItdCIsICItLXRlc3RzIiwgZGVzdD0icnVuX3Rlc3RzIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBuYXJncz1hcmdwYXJzZS5SRU1BSU5ERVIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iUnVuIExheW91dFRlc3RzIikKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbmFyZ3M9YXJncGFyc2UuUkVNQUlOREVSLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBoZWxwPSJSdW4gTGF5b3V0VGVzdHMiKQogICAgICAgICBnZW5l
cmFsLmFkZF9hcmd1bWVudCgiLWMiLCAiLS1jb21tYW5kIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBuYXJncz1hcmdwYXJzZS5SRU1BSU5ERVIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0iVGhlIGNvbW1hbmQgdG8gcnVuIGluIHRoZSBzYW5kYm94IiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkZXN0PSJ1c2VyX2NvbW1hbmQiKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBuYXJncz1hcmdwYXJzZS5SRU1BSU5ERVIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGhlbHA9IlRoZSBjb21tYW5kIHRvIHJ1biBpbiB0aGUgc2FuZGJveCIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9InVzZXJfY29tbWFuZCIpCiAgICAgICAg
IGdlbmVyYWwuYWRkX2FyZ3VtZW50KCctLWF2YWlsYWJsZScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScs
IGRlc3Q9ImNoZWNrX2F2YWlsYWJsZSIsIGhlbHA9J0NoZWNrIGlmIHJlcXVpcmVkIGRlcGVuZGVu
Y2llcyBhcmUgYXZhaWxhYmxlLicpLAotICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLS11
c2UtaWNlY3JlYW0iLCBoZWxwPSJVc2UgdGhlIGRpc3RyaWJ1dGVkIGljZWNyZWFtIChpY2VjYykg
Y29tcGlsZXIuIiwgYWN0aW9uPSJzdG9yZV90cnVlIikKLSAgICAgICAgZ2VuZXJhbC5hZGRfYXJn
dW1lbnQoIi0td3BlLWV4dGVuc2lvbiIsIGFjdGlvbj0ic3RvcmUiLCBkZXN0PSJ3cGVfZXh0ZW5z
aW9uIiwgaGVscD0iV1BFIEV4dGVuc2lvbiB0byBlbmFibGUiKQorICAgICAgICBnZW5lcmFsLmFk
ZF9hcmd1bWVudCgiLS11c2UtaWNlY3JlYW0iLCBkZXN0PSJ1c2VfaWNlY3JlYW0iLCBoZWxwPSJV
c2UgdGhlIGRpc3RyaWJ1dGVkIGljZWNyZWFtIChpY2VjYykgY29tcGlsZXIuIiwgYWN0aW9uPSJz
dG9yZV90cnVlIikKIAogICAgICAgICBkZWJ1Z29wdGlvbnMgPSBwYXJzZXIuYWRkX2FyZ3VtZW50
X2dyb3VwKCJEZWJ1Z2dpbmciKQogICAgICAgICBkZWJ1Z29wdGlvbnMuYWRkX2FyZ3VtZW50KCIt
LWdkYiIsIG5hcmdzPSI/IiwgaGVscD0iQWN0aXZhdGUgZ2RiLCBwYXNzaW5nIGV4dHJhIGFyZ3Mg
dG8gaXQgaWYgd2FudGVkLiIpCisgICAgICAgIGRlYnVnb3B0aW9ucy5hZGRfYXJndW1lbnQoIi0t
Z2RiLXN0YWNrLXRyYWNlIiwgZGVzdD0iZ2RiX3N0YWNrX3RyYWNlIiwgbmFyZ3M9Ij8iLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkR1bXAgdGhlIHN0YWNrdHJhY2Ug
dG8gc3Rkb3V0LiBUaGUgYXJndW1lbnQgaXMgYSB0aW1lc3RhbXAgdG8gYmUgcGFyc2VkIGJ5IGNv
cmVkdW1wY3RsLiIpCiAgICAgICAgIGRlYnVnb3B0aW9ucy5hZGRfYXJndW1lbnQoIi1tIiwgIi0t
Y29yZWR1bXBjdGwtbWF0Y2hlcyIsIGRlZmF1bHQ9IiIsIGhlbHA9J0FyZ3VtZW50cyB0byBwYXNz
IHRvIGdkYi4nKQogCiAgICAgICAgIGJ1aWxkb3B0aW9ucyA9IHBhcnNlci5hZGRfYXJndW1lbnRf
Z3JvdXAoIkV4dHJhIGJ1aWxkIGFyZ3VtZW50cyIpCiAgICAgICAgIGJ1aWxkb3B0aW9ucy5hZGRf
YXJndW1lbnQoIi0tbWFrZWFyZ3MiLCBoZWxwPSJPcHRpb25hbCBNYWtlZmlsZSBmbGFncyIpCiAg
ICAgICAgIGJ1aWxkb3B0aW9ucy5hZGRfYXJndW1lbnQoIi0tY21ha2VhcmdzIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iT25lIG9yIG1vcmUgb3B0aW9uYWwgQ01ha2Ug
ZmxhZ3MgKGUuZy4gLS1jbWFrZWFyZ3M9XCItREZPTz1iYXIgLURDTUFLRV9QUkVGSVhfUEFUSD0v
dXNyL2xvY2FsXCIpIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJP
bmUgb3IgbW9yZSBvcHRpb25hbCBDTWFrZSBmbGFncyAoZS5nLiAtLWNtYWtlYXJncz1cIi1ERk9P
PWJhciAtRENNQUtFX1BSRUZJWF9QQVRIPS91c3IvbG9jYWxcIikiKQogCiAgICAgICAgIGdlbmVy
YWwuYWRkX2FyZ3VtZW50KCItLWNsZWFuIiwgZGVzdD0iY2xlYW4iLCBhY3Rpb249InN0b3JlX3Ry
dWUiLAotICAgICAgICAgICAgaGVscD0iQ2xlYW4gcHJldmlvdXMgYnVpbGRzIGFuZCByZXN0YXJ0
IGZyb20gc2NyYXRjaCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkNsZWFu
IHByZXZpb3VzIGJ1aWxkcyBhbmQgcmVzdGFydCBmcm9tIHNjcmF0Y2giKQogCiAgICAgICAgIF8s
IHNlbGYuYXJncyA9IHBhcnNlci5wYXJzZV9rbm93bl9hcmdzKGFyZ3M9YXJncywgbmFtZXNwYWNl
PXNlbGYpCiAKKyAgICAgICAgaWYgb3MuZW52aXJvbi5nZXQoJ0NDQUNIRV9QUkVGSVgnKSA9PSAn
aWNlY2MnOgorICAgICAgICAgICAgc2VsZi51c2VfaWNlY3JlYW0gPSBUcnVlCisKICAgICAgICAg
cmV0dXJuIHNlbGYKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmKToKQEAgLTU3NCwxNSArNDAzLDE0
IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgIHNlbGYucnVudGltZSA9IE5vbmUKICAg
ICAgICAgc2VsZi5sb2NhbGUgPSBOb25lCiAgICAgICAgIHNlbGYuc2RrID0gTm9uZQotICAgICAg
ICBzZWxmLnNka19kZWJ1ZyA9IE5vbmUKICAgICAgICAgc2VsZi5hcHAgPSBOb25lCiAKICAgICAg
ICAgc2VsZi52ZXJib3NlID0gRmFsc2UKICAgICAgICAgc2VsZi5xdWlldCA9IEZhbHNlCi0gICAg
ICAgIHNlbGYucGFja3MgPSBbXQogICAgICAgICBzZWxmLnVwZGF0ZSA9IEZhbHNlCiAgICAgICAg
IHNlbGYuYXJncyA9IFtdCiAgICAgICAgIHNlbGYuZmluaXNoX2FyZ3MgPSBOb25lCisgICAgICAg
IHNlbGYuZ2RiX3N0YWNrX3RyYWNlID0gRmFsc2UKIAogICAgICAgICBzZWxmLm5vX2ZsYXRwYWtf
dXBkYXRlID0gRmFsc2UKICAgICAgICAgc2VsZi5yZWxlYXNlID0gRmFsc2UKQEAgLTU5NCw5ICs0
MjIsMTAgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgc2VsZi5zYW5kYm94X3NvdXJj
ZV9yb290ID0gIi9hcHAvd2Via2l0IgogCiAgICAgICAgIHNlbGYuYnVpbGRfd2Via2l0ID0gRmFs
c2UKKyAgICAgICAgc2VsZi5idWlsZF9nc3QgPSBGYWxzZQogICAgICAgICBzZWxmLmJ1aWxkX2Fs
bCA9IEZhbHNlCiAKLSAgICAgICAgc2VsZi5zZGtfYnJhbmNoID0gTm9uZQorICAgICAgICBzZWxm
LnNka19icmFuY2ggPSAiMC4xIgogICAgICAgICBzZWxmLnBsYXRmb3JtID0gImd0ayIKICAgICAg
ICAgc2VsZi5idWlsZF90eXBlID0gIlJlbGVhc2UiCiAgICAgICAgIHNlbGYubWFuaWZlc3RfcGF0
aCA9IE5vbmUKQEAgLTYwNyw3ICs0MzYsNiBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAg
ICBzZWxmLmFwcF9tb2R1bGUgPSBOb25lCiAgICAgICAgIHNlbGYuZmxhdHBha19kZWZhdWx0X2Fy
Z3MgPSBbXQogICAgICAgICBzZWxmLmNoZWNrX2F2YWlsYWJsZSA9IEZhbHNlCi0gICAgICAgIHNl
bGYud3BlX2V4dGVuc2lvbiA9IE5vbmUKIAogICAgICAgICAjIERlZmF1bHQgYXBwbGljYXRpb24g
dG8gcnVuIGluIHRoZSBzYW5kYm94CiAgICAgICAgIHNlbGYuY29tbWFuZCA9IE5vbmUKQEAgLTYy
NSw3ICs0NTMsNyBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICBzZWxmLmljY192ZXJz
aW9uID0gTm9uZQogCiAgICAgZGVmIGNsZWFuX2FyZ3Moc2VsZik6Ci0gICAgICAgIG9zLmVudmly
b25bIkZMQVRQQUtfVVNFUl9ESVIiXSA9IG9zLmVudmlyb24uZ2V0KCJXRUJLSVRfRkxBVFBBS19V
U0VSX0RJUiIsIG9zLnBhdGgucmVhbHBhdGgob3MucGF0aC5qb2luKHNjcmlwdGRpciwgIi4uLy4u
L1dlYktpdEJ1aWxkIiwgIlVzZXJGbGF0cGFrIikpKQorICAgICAgICBvcy5lbnZpcm9uWyJGTEFU
UEFLX1VTRVJfRElSIl0gPSBvcy5lbnZpcm9uLmdldCgiV0VCS0lUX0ZMQVRQQUtfVVNFUl9ESVIi
LCBGTEFUUEFLX1VTRVJfRElSX1BBVEgpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG9zLm1h
a2VkaXJzKG9zLmVudmlyb25bIkZMQVRQQUtfVVNFUl9ESVIiXSkKICAgICAgICAgZXhjZXB0IE9T
RXJyb3IgYXMgZToKQEAgLTYzOCw2ICs0NjYsNyBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAg
ICAgICAgICAgZmFjdG9yeSA9IFBvcnRGYWN0b3J5KFN5c3RlbUhvc3QoKSkKICAgICAgICAgICAg
IHBvcnQgPSBmYWN0b3J5LmdldChzZWxmLnBsYXRmb3JtKQogICAgICAgICAgICAgc2VsZi5kZWJ1
ZyA9IHBvcnQuZGVmYXVsdF9jb25maWd1cmF0aW9uKCkgPT0gIkRlYnVnIgorCiAgICAgICAgIHNl
bGYuYnVpbGRfdHlwZSA9ICJEZWJ1ZyIgaWYgc2VsZi5kZWJ1ZyBlbHNlICJSZWxlYXNlIgogCiAg
ICAgICAgIHNlbGYucGxhdGZvcm0gPSBzZWxmLnBsYXRmb3JtLnVwcGVyKCkKQEAgLTY0Niw2NiAr
NDc1LDMzIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgICAgICBzZWxmLmdkYiA9ICIi
CiAKICAgICAgICAgc2VsZi5jb21tYW5kID0gIiVzICVzICVzIiAlIChvcy5wYXRoLmpvaW4oc2Vs
Zi5zYW5kYm94X3NvdXJjZV9yb290LAotICAgICAgICAgICAgIlRvb2xzL1NjcmlwdHMvcnVuLW1p
bmlicm93c2VyIiksCi0gICAgICAgICAgICAiLS0iICsgc2VsZi5wbGF0Zm9ybS5sb3dlcigpLAot
ICAgICAgICAgICAgIiAtLWRlYnVnIiBpZiBzZWxmLmRlYnVnIGVsc2UgIiAtLXJlbGVhc2UiKQot
Ci0gICAgICAgIHNlbGYubmFtZSA9ICJvcmcud2Via2l0LiVzIiAlIHNlbGYucGxhdGZvcm0KLQot
ICAgICAgICBpZiBzZWxmLndwZV9leHRlbnNpb246Ci0gICAgICAgICAgICBtYW5pZmVzdF9maWxl
bmFtZSA9IFdQRV9NQU5JRkVTVF9NQVBbc2VsZi53cGVfZXh0ZW5zaW9uXQotICAgICAgICBlbHNl
OgotICAgICAgICAgICAgbWFuaWZlc3RfZmlsZW5hbWUgPSAib3JnLndlYmtpdC5XZWJLaXQueWFt
bCIKLSAgICAgICAgc2VsZi5tYW5pZmVzdF9wYXRoID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGgu
am9pbihzY3JpcHRkaXIsICcuLi9mbGF0cGFrLycpICsgbWFuaWZlc3RfZmlsZW5hbWUpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUb29scy9TY3Jp
cHRzL3J1bi1taW5pYnJvd3NlciIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICItLSIgKyBzZWxmLnBsYXRmb3JtLmxvd2VyKCksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIiAtLWRlYnVnIiBpZiBzZWxmLmRlYnVnIGVsc2UgIiAtLXJlbGVhc2Ui
KQogCi0gICAgICAgIHNlbGYuYnVpbGRfbmFtZSA9IHNlbGYubmFtZSArICItZ2VuZXJhdGVkIgor
ICAgICAgICBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCA9IG9zLmVudmlyb25bIkZMQVRQQUtfVVNF
Ul9ESVIiXQogCiAgICAgICAgIGJ1aWxkX3Jvb3QgPSBvcy5wYXRoLmpvaW4oc2VsZi5zb3VyY2Vf
cm9vdCwgJ1dlYktpdEJ1aWxkJykKLSAgICAgICAgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGggPSBv
cy5wYXRoLmpvaW4oYnVpbGRfcm9vdCwgc2VsZi5wbGF0Zm9ybSwgIkZsYXRwYWtUcmVlIiArIHNl
bGYuYnVpbGRfdHlwZSkKLSAgICAgICAgc2VsZi5jYWNoZV9wYXRoID0gb3MucGF0aC5qb2luKGJ1
aWxkX3Jvb3QsICJGbGF0cGFrQ2FjaGUiKQogICAgICAgICBzZWxmLmJ1aWxkX3BhdGggPSBvcy5w
YXRoLmpvaW4oYnVpbGRfcm9vdCwgc2VsZi5wbGF0Zm9ybSwgc2VsZi5idWlsZF90eXBlKQogICAg
ICAgICB0cnk6CiAgICAgICAgICAgICBvcy5tYWtlZGlycyhzZWxmLmJ1aWxkX3BhdGgpCiAgICAg
ICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5v
LkVFWElTVDoKICAgICAgICAgICAgICAgICByYWlzZSBlCi0gICAgICAgIHNlbGYuY29uZmlnX2Zp
bGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF9wYXRoLCAnd2Via2l0X2ZsYXRwYWtfY29uZmln
Lmpzb24nKQorICAgICAgICBzZWxmLmNvbmZpZ19maWxlID0gb3MucGF0aC5qb2luKHNlbGYuZmxh
dHBha19idWlsZF9wYXRoLCAnd2Via2l0X2ZsYXRwYWtfY29uZmlnLmpzb24nKQogCiAgICAgICAg
IENvbnNvbGUucXVpZXQgPSBzZWxmLnF1aWV0CiAgICAgICAgIGlmIG5vdCBjaGVja19mbGF0cGFr
KCk6CiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAotICAgICAgICByZXBvcyA9IEZsYXRwYWtS
ZXBvcygpCi0gICAgICAgIHNlbGYuc2RrX3JlcG8gPSByZXBvcy5hZGQoCi0gICAgICAgICAgICBG
bGF0cGFrUmVwbygiZmxhdGh1YiIsCi0gICAgICAgICAgICAgICAgICAgICAgICB1cmw9Imh0dHBz
Oi8vZGwuZmxhdGh1Yi5vcmcvcmVwby8iLAotICAgICAgICAgICAgICAgICAgICAgICAgcmVwb19m
aWxlPSJodHRwczovL2RsLmZsYXRodWIub3JnL3JlcG8vZmxhdGh1Yi5mbGF0cGFrcmVwbyIpKQot
Ci0gICAgICAgIG1hbmlmZXN0ID0gbG9hZF9tYW5pZmVzdChzZWxmLm1hbmlmZXN0X3BhdGgsIHBv
cnRfbmFtZT1zZWxmLm5hbWUpCi0gICAgICAgIGlmIG5vdCBtYW5pZmVzdDoKLSAgICAgICAgICAg
IHJldHVybiBGYWxzZQorICAgICAgICBzZWxmLmZpbmlzaF9hcmdzID0gW10KKyAgICAgICAgc2Vs
Zi5yZXBvcyA9IEZsYXRwYWtSZXBvcygpCisgICAgICAgIHNlbGYuc2RrX3JlcG8gPSBzZWxmLnJl
cG9zLmFkZCgKKyAgICAgICAgICAgIEZsYXRwYWtSZXBvKCJ3ZWJraXQtc2RrIiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHVybD0iaHR0cHM6Ly9zb2Z0d2FyZS5pZ2FsaWEuY29tL3dlYmtpdC1z
ZGstcmVwby8iLAorICAgICAgICAgICAgICAgICAgICAgICAgcmVwb19maWxlPSJodHRwczovL3Nv
ZnR3YXJlLmlnYWxpYS5jb20vZmxhdHBhay1yZWZzL3dlYmtpdC1zZGsuZmxhdHBha3JlcG8iKQor
ICAgICAgICApCiAKLSAgICAgICAgc2VsZi5hcHAgPSBtYW5pZmVzdFsnYXBwLWlkJ10KLQotICAg
ICAgICBzZWxmLnNka19icmFuY2ggPSBtYW5pZmVzdFsicnVudGltZS12ZXJzaW9uIl0KLSAgICAg
ICAgc2VsZi5maW5pc2hfYXJncyA9IG1hbmlmZXN0LmdldCgiZmluaXNoLWFyZ3MiLCBbXSkKLSAg
ICAgICAgc2VsZi5maW5pc2hfYXJncyA9IHJlbW92ZV9leHRlbnNpb25fcG9pbnRzKHNlbGYuZmlu
aXNoX2FyZ3MpCi0gICAgICAgIHNlbGYucnVudGltZSA9IEZsYXRwYWtQYWNrYWdlKG1hbmlmZXN0
WydydW50aW1lJ10sIHNlbGYuc2RrX2JyYW5jaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGhhc2g9bWFuaWZlc3QuZ2V0KCJydW50aW1lLWhhc2giKSkKLSAg
ICAgICAgc2VsZi5sb2NhbGUgPSBGbGF0cGFrUGFja2FnZShtYW5pZmVzdFsncnVudGltZSddICsg
Jy5Mb2NhbGUnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2Rr
X2JyYW5jaCwgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCi0gICAgICAgIHNlbGYuc2RrID0gRmxh
dHBha1BhY2thZ2UobWFuaWZlc3RbJ3NkayddLCBzZWxmLnNka19icmFuY2gsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzaD1tYW5pZmVzdC5nZXQoInNkay1oYXNoIikp
Ci0gICAgICAgIHNlbGYucGFja3MgPSBbc2VsZi5ydW50aW1lLCBzZWxmLmxvY2FsZSwgc2VsZi5z
ZGtdCi0KLSAgICAgICAgaWYgc2VsZi5kZWJ1ZzoKLSAgICAgICAgICAgIHNlbGYuc2RrX2RlYnVn
ID0gRmxhdHBha1BhY2thZ2UobWFuaWZlc3RbJ3NkayddICsgJy5EZWJ1ZycsIHNlbGYuc2RrX2Jy
YW5jaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVw
bywgIng4Nl82NCIpCi0gICAgICAgICAgICBzZWxmLnBhY2tzLmFwcGVuZChzZWxmLnNka19kZWJ1
ZykKLSAgICAgICAgc2VsZi5tYW5pZmVzdF9nZW5lcmF0ZWRfcGF0aCA9IG9zLnBhdGguam9pbihz
ZWxmLmNhY2hlX3BhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VsZi5idWlsZF9uYW1lICsgIi5qc29uIikKICAgICAgICAgdHJ5OgogICAg
ICAgICAgICAgd2l0aCBvcGVuKHNlbGYuY29uZmlnX2ZpbGUpIGFzIGNvbmZpZzoKICAgICAgICAg
ICAgICAgICBqc29uX2NvbmZpZyA9IGpzb24ubG9hZChjb25maWcpCkBAIC03MTUsNyArNTExLDQ1
IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAKICAgICAgICAgcmV0dXJuIFRydWUKIAorICAgIGRl
ZiBzZXR1cF9idWlsZGRpcihzZWxmLCAqKmt3YXJncyk6CisgICAgICAgIGlmIG9zLnBhdGguZXhp
c3RzKG9zLnBhdGguam9pbihzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCwgIm1ldGFkYXRhIikpOgor
ICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgc2VsZi5zZGtfcmVwby5mbGF0cGFrKCJidWls
ZC1pbml0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmxhdHBha19idWls
ZF9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9yZy53ZWJraXQuV2Via2l0
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZWxmLnNkayksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2VsZi5ydW50aW1lKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbGYuc2RrLmJyYW5jaCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNob3dfb3V0cHV0PSJzdGRvdXQiIGluIGt3YXJncy5rZXlzKCkpCisKKyAgICBkZWYg
c2V0dXBfZ3N0YnVpbGQoc2VsZiwgYnVpbGRpbmcpOgorICAgICAgICBnc3RfZGlyID0gb3MuZW52
aXJvbi5nZXQoJ0dTVF9CVUlMRF9QQVRIJykKKyAgICAgICAgaWYgbm90IGdzdF9kaXI6CisgICAg
ICAgICAgICByZXR1cm4gW10KKworICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0
aC5qb2luKGdzdF9kaXIsICdnc3QtZW52LnB5JykpOgorICAgICAgICAgICAgcmFpc2UgUnVudGlt
ZUVycm9yKCdHU1RfQlVJTERfUEFUSCBzZXQgdG8gJXMgYnV0IGl0IGRvZXNuXCd0IHNlZW0gdG8g
YmUgYSB2YWxpZCBgZ3N0LWJ1aWxkYCBjaGVja291dC4nICUgZ3N0X2RpcikKKworICAgICAgICBn
c3RfYnVpbGRkaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCAiV2Vi
S2l0QnVpbGQiLCAnZ3N0LWJ1aWxkJykKKyAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG9z
LnBhdGguam9pbihzZWxmLnNvdXJjZV9yb290LCAnV2ViS2l0QnVpbGQnLCAnZ3N0LWJ1aWxkJywg
J2J1aWxkLm5pbmphJykpOgorICAgICAgICAgICAgaWYgbm90IGJ1aWxkaW5nOgorICAgICAgICAg
ICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignVHJ5aW5nIHRvIGVudGVyIGdzdC1idWlsZCBlbnYg
ZnJvbSAlcyBidXQgaXQgaXMgbm90IGJ1aWx0LCBtYWtlIHN1cmUgdG8gcmVidWlsZCB3ZWJraXQu
JyAlIGdzdF9kaXIpCisKKyAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiUnVubmluZyBtZXNv
biBmb3IgYGdzdC1idWlsZGAgJXMgIiwgZ3N0X2RpcikKKyAgICAgICAgICAgIHNlbGYucnVuX2lu
X3NhbmRib3goJ21lc29uJywgZ3N0X2RpciwgZ3N0X2J1aWxkZGlyLCBidWlsZGluZ19nc3Q9VHJ1
ZSkKKworICAgICAgICBpZiBub3QgYnVpbGRpbmc6CisgICAgICAgICAgICByZXR1cm4gW29zLnBh
dGguam9pbihnc3RfZGlyLCAnZ3N0LWVudi5weScpLCAnLS1idWlsZGRpcicsIGdzdF9idWlsZGRp
ciwgJy0tc3JjZGlyJywgZ3N0X2Rpcl0KKworICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIkJ1aWxk
aW5nIGBnc3QtYnVpbGRgICVzICIsIGdzdF9kaXIpCisgICAgICAgIGlmIHNlbGYucnVuX2luX3Nh
bmRib3goJ25pbmphJywgJy1DJywgZ3N0X2J1aWxkZGlyLCBidWlsZGluZ19nc3Q9VHJ1ZSkgIT0g
MDoKKyAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignRXJyb3Igd2hpbGUgYnVpbGRpbmcg
Z3N0LWJ1aWxkLicpCisKKyAgICAgICAgcmV0dXJuIFtvcy5wYXRoLmpvaW4oZ3N0X2RpciwgJ2dz
dC1lbnYucHknKSwgJy0tYnVpbGRkaXInLCBnc3RfYnVpbGRkaXIsICctLXNyY2RpcicsIGdzdF9k
aXJdCisKICAgICBkZWYgcnVuX2luX3NhbmRib3goc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAg
ICAgICAgc2VsZi5zZXR1cF9idWlsZGRpcihzdGRvdXQ9a3dhcmdzLmdldCgic3Rkb3V0Iiwgc3lz
LnN0ZG91dCkpCiAgICAgICAgIGN3ZCA9IGt3YXJncy5wb3AoImN3ZCIsIE5vbmUpCiAgICAgICAg
IGV4dHJhX2Vudl92YXJzID0ga3dhcmdzLnBvcCgiZW52Iiwge30pCiAgICAgICAgIHN0ZG91dCA9
IGt3YXJncy5wb3AoInN0ZG91dCIsIHN5cy5zdGRvdXQpCkBAIC03MjMsNiArNTU3LDcgQEAgY2xh
c3MgV2Via2l0RmxhdHBhazoKIAogICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShhcmdzLCBsaXN0
KToKICAgICAgICAgICAgIGFyZ3MgPSBsaXN0KGFyZ3MpCisKICAgICAgICAgaWYgYXJnczoKICAg
ICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGFyZ3NbMF0pOgogICAgICAgICAgICAgICAgIGNv
bW1hbmQgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguYWJzcGF0aChhcmdzWzBdKSkKQEAgLTcz
MCw5NCArNTY1LDEyMiBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICAgICAgICAgIGFy
Z3NbMF0gPSBjb21tYW5kLnJlcGxhY2Uoc2VsZi5zb3VyY2Vfcm9vdCwgc2VsZi5zYW5kYm94X3Nv
dXJjZV9yb290KQogICAgICAgICAgICAgaWYgYXJnc1swXS5lbmRzd2l0aCgiYnVpbGQtd2Via2l0
Iik6CiAgICAgICAgICAgICAgICAgYXJncy5hcHBlbmQoIi0tcHJlZml4PS9hcHAiKQorICAgICAg
ICBidWlsZGluZyA9IG9zLnBhdGguYmFzZW5hbWUoYXJnc1swXSkuc3RhcnRzd2l0aCgiYnVpbGQi
KQogCiAgICAgICAgIHNhbmRib3hfYnVpbGRfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLnNhbmRi
b3hfc291cmNlX3Jvb3QsICJXZWJLaXRCdWlsZCIsIHNlbGYuYnVpbGRfdHlwZSkKLSAgICAgICAg
d2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUobW9kZT0idyIpIGFzIHRtcHNjcmlwdDoK
LSAgICAgICAgICAgIGZsYXRwYWtfY29tbWFuZCA9IFsiZmxhdHBhayIsICJidWlsZCIsICItLWRp
ZS13aXRoLXBhcmVudCIsCi0gICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0vcnVuL3NobT0v
ZGV2L3NobSIsCi0gICAgICAgICAgICAgICAgIyBXb3JrYXJvdW5kIGZvciBodHRwczovL3dlYmtp
dC5vcmcvYi8xODczODQgdG8gaGF2ZSBvdXIgb3duIHBlcmwgbW9kdWxlcyB1c2FibGUgaW5zaWRl
IHRoZSBzYW5kYm94Ci0gICAgICAgICAgICAgICAgIyBhcyBzZXR0aW5nIHRoZSBQRVJMNUxJQiBl
bnZ2YXIgd29uJ3Qgd29yayBpbnNpZGUgYXBhY2hlIChhbmQgZm9yIHNjcmlwdHMgdXNpbmcgYHBl
cmwgLVRgYCkuCi0gICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0vcnVuL2hvc3QvJXM9JXMi
ICUgKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwgdGVtcGZpbGUuZ2V0dGVtcGRpcigpKSwKLSAgICAg
ICAgICAgICAgICAiLS1iaW5kLW1vdW50PSVzPSVzIiAlIChzZWxmLnNhbmRib3hfc291cmNlX3Jv
b3QsIHNlbGYuc291cmNlX3Jvb3QpLAorICAgICAgICBmbGF0cGFrX2NvbW1hbmQgPSBbImZsYXRw
YWsiLCAiYnVpbGQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tZGllLXdpdGgtcGFy
ZW50IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuYTExeS5C
dXMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tdGFsay1uYW1lPW9yZy5ndGsudmZz
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuZ3RrLnZmcy4q
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9L3J1bi9zaG09L2Rl
di9zaG0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBXb3JrYXJvdW5kIGZvciBodHRw
czovL3dlYmtpdC5vcmcvYi8xODczODQgdG8gaGF2ZSBvdXIgb3duIHBlcmwgbW9kdWxlcyB1c2Fi
bGUgaW5zaWRlIHRoZSBzYW5kYm94CisgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGFzIHNl
dHRpbmcgdGhlIFBFUkw1TElCIGVudnZhciB3b24ndCB3b3JrIGluc2lkZSBhcGFjaGUgKGFuZCBm
b3Igc2NyaXB0cyB1c2luZyBgcGVybCAtVGBgKS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICItLWJpbmQtbW91bnQ9L3J1bi9ob3N0LyVzPSVzIiAlICh0ZW1wZmlsZS5nZXR0ZW1wZGlyKCks
IHRlbXBmaWxlLmdldHRlbXBkaXIoKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1i
aW5kLW1vdW50PSVzPSVzIiAlIChzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsIHNlbGYuc291cmNl
X3Jvb3QpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBXZSBtb3VudCBXZWJLaXRCdWls
ZC9QT1JUTkFNRS9CdWlsZFR5cGUgdG8gL2FwcC93ZWJraXQvV2ViS2l0QnVpbGQvQnVpbGRUeXBl
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHNvIHdlIGNhbiBidWlsZCBXUEUgYW5kIEdU
SyBpbiBhIHNhbWUgc291cmNlIHRyZWUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1i
aW5kLW1vdW50PSVzPSVzIiAlIChzYW5kYm94X2J1aWxkX3BhdGgsIHNlbGYuYnVpbGRfcGF0aCld
CisKKyAgICAgICAgZm9yd2FyZGVkID0geworICAgICAgICAgICAgIldFQktJVF9UT1BfTEVWRUwi
OiAiL2FwcC8iLAorICAgICAgICAgICAgIlRFU1RfUlVOTkVSX0lOSkVDVEVEX0JVTkRMRV9GSUxF
TkFNRSI6IG9zLnBhdGguam9pbihzYW5kYm94X2J1aWxkX3BhdGgsICJsaWIvbGliVGVzdFJ1bm5l
ckluamVjdGVkQnVuZGxlLnNvIiksCisgICAgICAgIH0KKworICAgICAgICBpZiBub3QgYnVpbGRp
bmc6CisgICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQuZXh0ZW5kKFsKKyAgICAgICAgICAgICAg
ICAiLS1kZXZpY2U9YWxsIiwKKyAgICAgICAgICAgICAgICAiLS1kZXZpY2U9ZHJpIiwKKyAgICAg
ICAgICAgICAgICAiLS1maWxlc3lzdGVtPWhvc3QiLAorICAgICAgICAgICAgICAgICItLXNoYXJl
PWlwYyIsCisgICAgICAgICAgICAgICAgIi0tc2hhcmU9bmV0d29yayIsCisgICAgICAgICAgICAg
ICAgIi0tc29ja2V0PXB1bHNlYXVkaW8iLAorICAgICAgICAgICAgICAgICItLXNvY2tldD1zeXN0
ZW0tYnVzIiwKKyAgICAgICAgICAgICAgICAiLS1zb2NrZXQ9d2F5bGFuZCIsCisgICAgICAgICAg
ICAgICAgIi0tc29ja2V0PXgxMSIsCisgICAgICAgICAgICAgICAgIi0tc3lzdGVtLXRhbGstbmFt
ZT1vcmcuYTExeS5CdXMiLAorICAgICAgICAgICAgICAgICItLXN5c3RlbS10YWxrLW5hbWU9b3Jn
LmZyZWVkZXNrdG9wLkdlb0NsdWUyIiwKICAgICAgICAgICAgICAgICAiLS10YWxrLW5hbWU9b3Jn
LmExMXkuQnVzIiwKLSAgICAgICAgICAgICAgICAiLS10YWxrLW5hbWU9b3JnLmd0ay52ZnMiLAot
ICAgICAgICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuZ3RrLnZmcy4qIiwKLSAgICAgICAgICAg
ICAgICAjIFdlIG1vdW50IFdlYktpdEJ1aWxkL1BPUlROQU1FL0J1aWxkVHlwZSB0byAvYXBwL3dl
YmtpdC9XZWJLaXRCdWlsZC9CdWlsZFR5cGUKLSAgICAgICAgICAgICAgICAjIHNvIHdlIGNhbiBi
dWlsZCBXUEUgYW5kIEdUSyBpbiBhIHNhbWUgc291cmNlIHRyZWUuCi0gICAgICAgICAgICAgICAg
Ii0tYmluZC1tb3VudD0lcz0lcyIgJSAoc2FuZGJveF9idWlsZF9wYXRoLCBzZWxmLmJ1aWxkX3Bh
dGgpXQotCi0gICAgICAgICAgICBmb3J3YXJkZWQgPSB7Ci0gICAgICAgICAgICAgICAgIldFQktJ
VF9UT1BfTEVWRUwiOiAiL2FwcC8iLAotICAgICAgICAgICAgICAgICJURVNUX1JVTk5FUl9JTkpF
Q1RFRF9CVU5ETEVfRklMRU5BTUUiOiAiL2FwcC93ZWJraXQvbGliL2xpYlRlc3RSdW5uZXJJbmpl
Y3RlZEJ1bmRsZS5zbyIsCisgICAgICAgICAgICAgICAgIi0tdGFsay1uYW1lPW9yZy5mcmVlZGVz
a3RvcC5GbGF0cGFrIgorICAgICAgICAgICAgXSkKKworICAgICAgICAgICAgZm9yd2FyZGVkLnVw
ZGF0ZSh7CisgICAgICAgICAgICAgICAgIlRaIjogIlBTVDhQRFQiLAorICAgICAgICAgICAgICAg
ICJMQU5HIjogImVuX1VTLlVURi04IgorICAgICAgICAgICAgfSkKKworICAgICAgICBlbnZfdmFy
X3ByZWZpeGVzX3RvX2tlZXAgPSBbCisgICAgICAgICAgICAiRyIsCisgICAgICAgICAgICAiR0lH
QUNBR0UiLAorICAgICAgICAgICAgIkdTVCIsCisgICAgICAgICAgICAiR1RLIiwKKyAgICAgICAg
ICAgICJJQ0VDQyIsCisgICAgICAgICAgICAiSlNDIiwKKyAgICAgICAgICAgICJXRUJLSVQiLAor
ICAgICAgICAgICAgIldFQktJVDIiLAorICAgICAgICAgICAgIldQRSIsCisgICAgICAgIF0KKwor
ICAgICAgICBlbnZfdmFyX3N1ZmZpeGVzX3RvX2tlZXAgPSBbCisgICAgICAgICAgICAiSlNDX0FS
R1MiLAorICAgICAgICAgICAgIldFQktJVF9BUkdTIiwKKyAgICAgICAgXQorCisgICAgICAgIGVu
dl92YXJzX3RvX2tlZXAgPSBbCisgICAgICAgICAgICAiQ0MiLAorICAgICAgICAgICAgIkNDQUNI
RV9QUkVGSVgiLAorICAgICAgICAgICAgIkNGTEFHUyIsCisgICAgICAgICAgICAiQ1hYIiwKKyAg
ICAgICAgICAgICJDWFhGTEFHUyIsCisgICAgICAgICAgICAiRElTUExBWSIsCisgICAgICAgICAg
ICAiSmF2YVNjcmlwdENvcmVVc2VKSVQiLAorICAgICAgICAgICAgIkxBTkciLAorICAgICAgICAg
ICAgIkxERkxBR1MiLAorICAgICAgICAgICAgIk1hbGxvYyIsCisgICAgICAgICAgICAiTlVNQkVS
X09GX1BST0NFU1NPUlMiLAorICAgICAgICAgICAgIlFNTDJfSU1QT1JUX1BBVEgiLAorICAgICAg
ICAgICAgIldBWUxBTkRfRElTUExBWSIsCisgICAgICAgICAgICAiV0FZTEFORF9TT0NLRVQiLAor
ICAgICAgICBdCisKKyAgICAgICAgZW52X3ZhcnMgPSBvcy5lbnZpcm9uCisgICAgICAgIGVudl92
YXJzLnVwZGF0ZShleHRyYV9lbnZfdmFycykKKyAgICAgICAgZm9yIGVudnZhciwgdmFsdWUgaW4g
ZW52X3ZhcnMuaXRlbXMoKToKKyAgICAgICAgICAgIHZhcl90b2tlbnMgPSBlbnZ2YXIuc3BsaXQo
Il8iKQorICAgICAgICAgICAgaWYgdmFyX3Rva2Vuc1swXSBpbiBlbnZfdmFyX3ByZWZpeGVzX3Rv
X2tlZXAgb3IgZW52dmFyIGluIGVudl92YXJzX3RvX2tlZXAgb3IgdmFyX3Rva2Vuc1stMV0gaW4g
ZW52X3Zhcl9zdWZmaXhlc190b19rZWVwOgorICAgICAgICAgICAgICAgIGZvcndhcmRlZFtlbnZ2
YXJdID0gdmFsdWUKKworICAgICAgICBpZiBzZWxmLnVzZV9pY2VjcmVhbToKKyAgICAgICAgICAg
IF9sb2cuZGVidWcoJ0VuYWJsaW5nIHRoZSBpY2VjcmVhbSBjb21waWxlcicpCisgICAgICAgICAg
ICBmbGF0cGFrX2NvbW1hbmQuZXh0ZW5kKFsiLS1zaGFyZT1uZXR3b3JrIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9L3Zhci9ydW4vaWNlY2M9L3Zh
ci9ydW4vaWNlY2MiXSkKKworICAgICAgICAgICAgbl9jb3JlcyA9IG11bHRpcHJvY2Vzc2luZy5j
cHVfY291bnQoKSAqIDMKKyAgICAgICAgICAgIF9sb2cuZGVidWcoJ0ZvbGxvd2luZyBpY2VjcmVh
bSByZWNvbW1lbmRhdGlvbiBmb3IgdGhlIG51bWJlciBvZiBjb3JlcyB0byB1c2U6ICVkJyAlIG5f
Y29yZXMpCisgICAgICAgICAgICBmb3J3YXJkZWQudXBkYXRlKHsKKyAgICAgICAgICAgICAgICAi
Q0NBQ0hFX1BSRUZJWCI6ICJpY2VjYyIsCiAgICAgICAgICAgICAgICAgIklDRUNDX1ZFUlNJT04i
OiBzZWxmLmljY192ZXJzaW9uLAotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBlbnZfdmFy
X3ByZWZpeGVzX3RvX2tlZXAgPSBbCi0gICAgICAgICAgICAgICAgIkdTVCIsCi0gICAgICAgICAg
ICAgICAgIkdUSyIsCi0gICAgICAgICAgICAgICAgIkciLAotICAgICAgICAgICAgICAgICJKU0Mi
LAotICAgICAgICAgICAgICAgICJXRUJLSVQiLAotICAgICAgICAgICAgICAgICJXRUJLSVQyIiwK
LSAgICAgICAgICAgICAgICAiV1BFIiwKLSAgICAgICAgICAgICAgICAiR0lHQUNBR0UiLAotICAg
ICAgICAgICAgXQotCi0gICAgICAgICAgICBlbnZfdmFyc190b19rZWVwID0gWwotICAgICAgICAg
ICAgICAgICJKYXZhU2NyaXB0Q29yZVVzZUpJVCIsCi0gICAgICAgICAgICAgICAgIk1hbGxvYyIs
Ci0gICAgICAgICAgICAgICAgIldBWUxBTkRfRElTUExBWSIsCi0gICAgICAgICAgICAgICAgIldB
WUxBTkRfU09DS0VUIiwKLSAgICAgICAgICAgICAgICAiRElTUExBWSIsCi0gICAgICAgICAgICAg
ICAgIkxBTkciLAotICAgICAgICAgICAgICAgICJOVU1CRVJfT0ZfUFJPQ0VTU09SUyIsCi0gICAg
ICAgICAgICAgICAgIkNDQUNIRV9QUkVGSVgiLAotICAgICAgICAgICAgICAgICJRTUwyX0lNUE9S
VF9QQVRIIiwKLSAgICAgICAgICAgIF0KLQotICAgICAgICAgICAgaWYgc2VsZi51c2VfaWNlY3Jl
YW06Ci0gICAgICAgICAgICAgICAgX2xvZy5kZWJ1ZygnRW5hYmxpbmcgdGhlIGljZWNyZWFtIGNv
bXBpbGVyJykKLSAgICAgICAgICAgICAgICBmb3J3YXJkZWRbIkNDQUNIRV9QUkVGSVgiXSA9ICJp
Y2VjYyIKLSAgICAgICAgICAgICAgICBpZiBub3Qgb3MuZW52aXJvbi5nZXQoJ05VTUJFUl9PRl9Q
Uk9DRVNTT1JTJyk6Ci0gICAgICAgICAgICAgICAgICAgIG5fY29yZXMgPSBtdWx0aXByb2Nlc3Np
bmcuY3B1X2NvdW50KCkgKiAzCi0gICAgICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoJ0ZvbGxv
dyBpY2VjcmVhbSByZWNvbW1lbmRhdGlvbiBmb3IgdGhlIG51bWJlciBvZiBjb3JlcyB0byB1c2U6
ICVkJyAlIG5fY29yZXMpCi0gICAgICAgICAgICAgICAgICAgIGZvcndhcmRlZFsiTlVNQkVSX09G
X1BST0NFU1NPUlMiXSA9IG5fY29yZXMKLQotICAgICAgICAgICAgZW52X3ZhcnMgPSBvcy5lbnZp
cm9uCi0gICAgICAgICAgICBlbnZfdmFycy51cGRhdGUoZXh0cmFfZW52X3ZhcnMpCi0gICAgICAg
ICAgICBmb3IgZW52dmFyLCB2YWx1ZSBpbiBlbnZfdmFycy5pdGVtcygpOgotICAgICAgICAgICAg
ICAgIGlmIGVudnZhci5zcGxpdCgiXyIpWzBdIGluIGVudl92YXJfcHJlZml4ZXNfdG9fa2VlcCBv
ciBlbnZ2YXIgaW4gZW52X3ZhcnNfdG9fa2VlcDoKLSAgICAgICAgICAgICAgICAgICAgZm9yd2Fy
ZGVkW2VudnZhcl0gPSB2YWx1ZQotCi0gICAgICAgICAgICBmb3IgZW52dmFyLCB2YWx1ZSBpbiBm
b3J3YXJkZWQuaXRlbXMoKToKLSAgICAgICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQuYXBwZW5k
KCItLWVudj0lcz0lcyIgJSAoZW52dmFyLCB2YWx1ZSkpCi0KLSAgICAgICAgICAgIGZsYXRwYWtf
Y29tbWFuZCArPSBzZWxmLmZpbmlzaF9hcmdzICsgZXh0cmFfZmxhdHBha19hcmdzICsgW3NlbGYu
ZmxhdHBha19idWlsZF9wYXRoXQotCi0gICAgICAgICAgICBzaGVsbF9zdHJpbmcgPSAiIgotICAg
ICAgICAgICAgaWYgYXJnczoKLSAgICAgICAgICAgICAgICBpZiBjd2Q6Ci0gICAgICAgICAgICAg
ICAgICAgIHNoZWxsX3N0cmluZyA9ICdjZCAiJXMiICYmICIlcyInICUgKGN3ZCwgJyIgIicuam9p
bihhcmdzKSkKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBzaGVs
bF9zdHJpbmcgPSAnIiVzIicgJSAoJyIgIicuam9pbihhcmdzKSkKLSAgICAgICAgICAgIGVsc2U6
Ci0gICAgICAgICAgICAgICAgc2hlbGxfc3RyaW5nID0gc2VsZi5jb21tYW5kCi0gICAgICAgICAg
ICAgICAgaWYgc2VsZi5hcmdzOgotICAgICAgICAgICAgICAgICAgICBzaGVsbF9zdHJpbmcgKz0g
JyAiJXMiJyAlICciICInLmpvaW4oc2VsZi5hcmdzKQorICAgICAgICAgICAgICAgICJOVU1CRVJf
T0ZfUFJPQ0VTU09SUyI6IG5fY29yZXMsCisgICAgICAgICAgICB9KQogCi0gICAgICAgICAgICB0
bXBzY3JpcHQud3JpdGUoc2hlbGxfc3RyaW5nKQotICAgICAgICAgICAgdG1wc2NyaXB0LmZsdXNo
KCkKKyAgICAgICAgZm9yIGVudnZhciwgdmFsdWUgaW4gZm9yd2FyZGVkLml0ZW1zKCk6CisgICAg
ICAgICAgICBmbGF0cGFrX2NvbW1hbmQuYXBwZW5kKCItLWVudj0lcz0lcyIgJSAoZW52dmFyLCB2
YWx1ZSkpCiAKLSAgICAgICAgICAgIF9sb2cuZGVidWcoJ1J1bm5pbmcgaW4gc2FuZGJveDogIiVz
IiAlc1xuJyAlICgnIiAiJy5qb2luKGZsYXRwYWtfY29tbWFuZCksIHNoZWxsX3N0cmluZykpCi0g
ICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQuZXh0ZW5kKFsnc2gnLCAiL3J1bi9ob3N0LyIgKyB0
bXBzY3JpcHQubmFtZV0pCisgICAgICAgIGdzdF9lbnYgPSBbXQorICAgICAgICBpZiBub3Qga3dh
cmdzLmdldCgnYnVpbGRpbmdfZ3N0Jyk6CisgICAgICAgICAgICBnc3RfZW52ID0gc2VsZi5zZXR1
cF9nc3RidWlsZChidWlsZGluZykKKyAgICAgICAgZmxhdHBha19jb21tYW5kICs9IHNlbGYuZmlu
aXNoX2FyZ3MgKyBleHRyYV9mbGF0cGFrX2FyZ3MgKyBcCisgICAgICAgICAgICBbc2VsZi5mbGF0
cGFrX2J1aWxkX3BhdGhdICsgZ3N0X2VudiArIGFyZ3MKIAotICAgICAgICAgICAgdHJ5OgotICAg
ICAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChmbGF0cGFrX2NvbW1hbmQsIHN0ZG91
dD1zdGRvdXQpCi0gICAgICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJy
b3IgYXMgZToKLSAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKHN0cihlKSArICJcbiIp
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGUucmV0dXJuY29kZQotICAgICAgICAgICAgZXhjZXB0
IEtleWJvYXJkSW50ZXJydXB0OgotICAgICAgICAgICAgICAgIHJldHVybiAwCisgICAgICAgIF9s
b2cuZGVidWcoJ1J1bm5pbmcgaW4gc2FuZGJveDogJXNcbicgJSAnICcuam9pbihmbGF0cGFrX2Nv
bW1hbmQpKQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfY2Fs
bChmbGF0cGFrX2NvbW1hbmQsIHN0ZG91dD1zdGRvdXQpCisgICAgICAgIGV4Y2VwdCBzdWJwcm9j
ZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgorICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0
ZShzdHIoZSkgKyAiXG4iKQorICAgICAgICAgICAgcmV0dXJuIGUucmV0dXJuY29kZQorICAgICAg
ICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6CisgICAgICAgICAgICByZXR1cm4gMAogCiAgICAg
ICAgIHJldHVybiAwCiAKQEAgLTgzNSw2NCArNjk4LDQxIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6
CiAgICAgICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShzZWxmLmJ1aWxkX3BhdGgpCiAKICAgICAg
ICAgaWYgc2VsZi51cGRhdGU6Ci0gICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIlVwZGF0aW5n
IEZsYXRwYWsgZW52aXJvbm1lbnQgZm9yICVzICglcykiICUgKAotICAgICAgICAgICAgICAgIHNl
bGYucGxhdGZvcm0sIHNlbGYuYnVpbGRfdHlwZSkpCisgICAgICAgICAgICBDb25zb2xlLm1lc3Nh
Z2UoIlVwZGF0aW5nIEZsYXRwYWsgJXMgZW52aXJvbm1lbnQiICUgc2VsZi5idWlsZF90eXBlKQog
ICAgICAgICAgICAgaWYgbm90IHNlbGYubm9fZmxhdHBha191cGRhdGU6CiAgICAgICAgICAgICAg
ICAgc2VsZi51cGRhdGVfYWxsKCkKIAogICAgICAgICByZXR1cm4gc2VsZi5zZXR1cF9kZXZfZW52
KCkKIAogICAgIGRlZiBoYXNfZW52aXJvbm1lbnQoc2VsZik6Ci0gICAgICAgIHJldHVybiBvcy5w
YXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF9wYXRoLCBzZWxmLmZsYXRwYWtfYnVp
bGRfcGF0aCkpCisgICAgICAgIHJldHVybiBvcy5wYXRoLmV4aXN0cyhzZWxmLmZsYXRwYWtfYnVp
bGRfcGF0aCkKIAogICAgIGRlZiBzYXZlX2NvbmZpZyhzZWxmKToKICAgICAgICAgd2l0aCBvcGVu
KHNlbGYuY29uZmlnX2ZpbGUsICd3JykgYXMgY29uZmlnOgogICAgICAgICAgICAganNvbl9jb25m
aWcgPSB7J2ljZWNjX3ZlcnNpb24nOiBzZWxmLmljY192ZXJzaW9ufQogICAgICAgICAgICAganNv
bi5kdW1wKGpzb25fY29uZmlnLCBjb25maWcpCiAKLSAgICBkZWYgc2V0dXBfY2NhY2hlKHNlbGYp
OgotICAgICAgICBmb3IgY29tcGlsZXIgaW4gWyJjKysiLCAiY2MiLCAiY2xhbmciLCAiY2xhbmcr
KyIsICJnKysiLCAiZ2NjIl06Ci0gICAgICAgICAgICBzZWxmLnJ1bl9pbl9zYW5kYm94KCJsbiIs
ICItcyIsICIuLi8uLi91c3IvYmluL2NjYWNoZSIsIGNvbXBpbGVyLCBjd2Q9Ii9hcHAvYmluIikK
LQogICAgIGRlZiBzZXR1cF9pY2VjYyhzZWxmKToKICAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1l
ZFRlbXBvcmFyeUZpbGUoKSBhcyB0bXBmaWxlOgotICAgICAgICAgICAgc2VsZi5ydW5faW5fc2Fu
ZGJveCgnaWNlY2MnLCAnLS1idWlsZC1uYXRpdmUnLCBzdGRvdXQ9dG1wZmlsZSwgY3dkPXNlbGYu
YnVpbGRfcGF0aCkKKyAgICAgICAgICAgIHNlbGYucnVuX2luX3NhbmRib3goJ2ljZWNjJywgJy0t
YnVpbGQtbmF0aXZlJywgc3Rkb3V0PXRtcGZpbGUsIGN3ZD1zZWxmLnNvdXJjZV9yb290KQogICAg
ICAgICAgICAgdG1wZmlsZS5mbHVzaCgpCiAgICAgICAgICAgICB0bXBmaWxlLnNlZWsoMCkKICAg
ICAgICAgICAgIGljY192ZXJzaW9uX2ZpbGVuYW1lLCA9IHJlLmZpbmRhbGwocicuKmNyZWF0aW5n
ICguKiknLCB0bXBmaWxlLnJlYWQoKSkKLSAgICAgICAgICAgIHNlbGYuaWNjX3ZlcnNpb24gPSBv
cy5wYXRoLmpvaW4oc2VsZi5idWlsZF9wYXRoLCBpY2NfdmVyc2lvbl9maWxlbmFtZSkKKyAgICAg
ICAgICAgIHNlbGYuaWNjX3ZlcnNpb24gPSBvcy5wYXRoLmpvaW4oc2VsZi5zb3VyY2Vfcm9vdCwg
aWNjX3ZlcnNpb25fZmlsZW5hbWUpCiAKICAgICBkZWYgc2V0dXBfZGV2X2VudihzZWxmKToKLSAg
ICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3BhdGgs
IHNlbGYuZmxhdHBha19idWlsZF9wYXRoKSkgXAotICAgICAgICAgICAgICAgIG9yIHNlbGYudXBk
YXRlIG9yIHNlbGYuYnVpbGRfYWxsOgorICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3Mu
cGF0aC5qb2luKHNlbGYuZmxhdHBha19idWlsZF9wYXRoLCAicnVudGltZSIsICJvcmcud2Via2l0
LlNkayIpKSBvciBzZWxmLnVwZGF0ZSBvciBzZWxmLmJ1aWxkX2FsbDoKICAgICAgICAgICAgIHNl
bGYuaW5zdGFsbF9hbGwoKQotICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJCdWlsZGluZyAl
cyBhbmQgZGVwZW5kZW5jaWVzIGluICVzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLm5hbWUsIHNlbGYuZmxhdHBha19idWlsZF9wYXRoKQotCi0gICAgICAgICAgICAjIENyZWF0
ZSBlbnZpcm9ubWVudCBkaXJzIGlmIG5lY2Vzc2FyeQotICAgICAgICAgICAgdHJ5OgotICAgICAg
ICAgICAgICAgIG9zLm1ha2VkaXJzKG9zLnBhdGguZGlybmFtZShzZWxmLm1hbmlmZXN0X2dlbmVy
YXRlZF9wYXRoKSkKLSAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6Ci0gICAgICAgICAg
ICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FRVhJU1Q6Ci0gICAgICAgICAgICAgICAgICAgIHJh
aXNlIGUKLSAgICAgICAgICAgIGlmIG5vdCBleHBhbmRfbWFuaWZlc3Qoc2VsZi5tYW5pZmVzdF9w
YXRoLCBzZWxmLm1hbmlmZXN0X2dlbmVyYXRlZF9wYXRoLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzZWxmLm5hbWUsIHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgc2VsZi5j
b21tYW5kKToKLSAgICAgICAgICAgICAgICByZXR1cm4gMQotCi0gICAgICAgICAgICBidWlsZGVy
X2FyZ3MgPSBbImZsYXRwYWstYnVpbGRlciIsICItLWRpc2FibGUtcm9maWxlcy1mdXNlIiwgIi0t
c3RhdGUtZGlyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmNhY2hlX3BhdGgs
ICItLWNjYWNoZSIsIHNlbGYuZmxhdHBha19idWlsZF9wYXRoLCAiLS1mb3JjZS1jbGVhbiIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tYW5pZmVzdF9nZW5lcmF0ZWRfcGF0aF0K
LSAgICAgICAgICAgIGJ1aWxkZXJfYXJncy5hcHBlbmQoIi0tYnVpbGQtb25seSIpCi0gICAgICAg
ICAgICBidWlsZGVyX2FyZ3MuYXBwZW5kKCItLXN0b3AtYXQ9JXMiICUgc2VsZi5hcHApCi0KLSAg
ICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChidWlsZGVyX2FyZ3MpCi0gICAgICAgICAg
ICBzZWxmLnNldHVwX2NjYWNoZSgpCiAgICAgICAgICAgICBzZWxmLnNldHVwX2ljZWNjKCkKICAg
ICAgICAgICAgIHNlbGYuc2F2ZV9jb25maWcoKQogCiAgICAgICAgIGJ1aWxkX3R5cGUgPSAiLS1k
ZWJ1ZyIgaWYgc2VsZi5kZWJ1ZyBlbHNlICItLXJlbGVhc2UiCisgICAgICAgIGlmIHNlbGYuYnVp
bGRfZ3N0OgorICAgICAgICAgICAgc2VsZi5zZXR1cF9nc3RidWlsZChUcnVlKQorCiAgICAgICAg
IGlmIHNlbGYuYnVpbGRfd2Via2l0OgotICAgICAgICAgICAgYnVpbGRlciA9IFtvcy5wYXRoLmpv
aW4oc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCAnVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQn
KSwKKyAgICAgICAgICAgIGJ1aWxkZXIgPSBbCisgICAgICAgICAgICAgICAgb3MucGF0aC5qb2lu
KHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgJ1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0Jyks
CiAgICAgICAgICAgICAgICAgYnVpbGRfdHlwZSwgJy0tJyArIHNlbGYucGxhdGZvcm0ubG93ZXIo
KV0KICAgICAgICAgICAgIGlmIHNlbGYubWFrZWFyZ3M6CiAgICAgICAgICAgICAgICAgYnVpbGRl
ci5hcHBlbmQoIi0tbWFrZWFyZ3M9JXMiICUgc2VsZi5tYWtlYXJncykKQEAgLTkwMywyNyArNzQz
LDU2IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAKICAgICAgICAgICAgIGlmIHJlczoKICAgICAg
ICAgICAgICAgICByZXR1cm4gcmVzCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBDb25zb2xl
Lm1lc3NhZ2UoIlVzaW5nICVzIHByZWZpeCBpbiAlcyIsIHNlbGYubmFtZSwgc2VsZi5mbGF0cGFr
X2J1aWxkX3BhdGgpCiAKICAgICAgICAgaWYgc2VsZi5ydW5fdGVzdHMgaXMgbm90IE5vbmU6CiAg
ICAgICAgICAgICB0ZXN0X2xhdW5jaGVyID0gW29zLnBhdGguam9pbihzZWxmLnNhbmRib3hfc291
cmNlX3Jvb3QsICdUb29scy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMnKSwKLSAgICAgICAgICAg
ICAgICBidWlsZF90eXBlLCAnLS0nICsgc2VsZi5wbGF0Zm9ybS5sb3dlcigpXSArIHNlbGYucnVu
X3Rlc3RzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkX3R5cGUsICctLScgKyBz
ZWxmLnBsYXRmb3JtLmxvd2VyKCldICsgc2VsZi5ydW5fdGVzdHMKICAgICAgICAgICAgIHJldHVy
biBzZWxmLnJ1bl9pbl9zYW5kYm94KCp0ZXN0X2xhdW5jaGVyKQotICAgICAgICBlbGlmIHNlbGYu
Z2RiIGlzIG5vdCBOb25lOgorICAgICAgICBlbGlmIHNlbGYuZ2RiIG9yIHNlbGYuZ2RiX3N0YWNr
X3RyYWNlOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYucnVuX2dkYigpCiAgICAgICAgIGVsaWYg
c2VsZi51c2VyX2NvbW1hbmQ6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5faW5fc2FuZGJv
eCgqc2VsZi51c2VyX2NvbW1hbmQpCi0gICAgICAgIGVsaWYgbm90IHNlbGYudXBkYXRlIGFuZCBu
b3Qgc2VsZi5idWlsZF93ZWJraXQ6CisgICAgICAgIGVsaWYgbm90IHNlbGYudXBkYXRlIGFuZCBu
b3Qgc2VsZi5idWlsZF93ZWJraXQgYW5kIG5vdCBzZWxmLmJ1aWxkX2dzdDoKICAgICAgICAgICAg
IHJldHVybiBzZWxmLnJ1bl9pbl9zYW5kYm94KCkKIAogICAgICAgICByZXR1cm4gMAogCisgICAg
ZGVmIF9nZXRfcGFja2FnZXMoc2VsZik6CisgICAgICAgIHNlbGYucnVudGltZSA9IEZsYXRwYWtQ
YWNrYWdlKCJvcmcud2Via2l0LlBsYXRmb3JtIiwgc2VsZi5zZGtfYnJhbmNoLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2XzY0IikKKyAg
ICAgICAgc2VsZi5sb2NhbGUgPSBGbGF0cGFrUGFja2FnZSgib3JnLndlYmtpdC5QbGF0Zm9ybS5M
b2NhbGUiLCBzZWxmLnNka19icmFuY2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCisgICAgICAgIHNlbGYuc2RrID0gRmxhdHBh
a1BhY2thZ2UoIm9yZy53ZWJraXQuU2RrIiwgc2VsZi5zZGtfYnJhbmNoLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQiKQorICAgICAgICBw
YWNrYWdlcyA9IFtzZWxmLnJ1bnRpbWUsIHNlbGYubG9jYWxlLCBzZWxmLnNka10KKworICAgICAg
ICAjIEZJWE1FOiBGb3IgdW5rbm93biByZWFzb25zLCB0aGUgR0wgZXh0ZW5zaW9uIG5lZWRzIHRv
IGJlIGV4cGxpY2l0ZWx5CisgICAgICAgICMgaW5zdGFsbGVkIGZvciBGbGF0cGFrIDEuMi54IHRv
IGJlIGFibGUgdG8gbWFrZSB1c2Ugb2YgaXQuIFNlZW1zIGxpa2UKKyAgICAgICAgIyBpdCdzIG5v
dCBjb3JyZWN0bHkgaW5oZXJpdGluZyBpdCBmcm9tIHRoZSBTREsuCisgICAgICAgIHNlbGYuZmxh
dGh1Yl9yZXBvID0gc2VsZi5yZXBvcy5hZGQoCisgICAgICAgICAgICBGbGF0cGFrUmVwbygiZmxh
dGh1YiIsIHJlcG9fZmlsZT0iaHR0cHM6Ly9kbC5mbGF0aHViLm9yZy9yZXBvL2ZsYXRodWIuZmxh
dHBha3JlcG8iKQorICAgICAgICApCisgICAgICAgIGdsX2V4dGVuc2lvbiA9IEZsYXRwYWtQYWNr
YWdlKCJvcmcuZnJlZWRlc2t0b3AuUGxhdGZvcm0uR0wuZGVmYXVsdCIsICIxOS4wOCIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmxhdGh1Yl9yZXBvLCAieDg2
XzY0IikKKyAgICAgICAgcGFja2FnZXMuYXBwZW5kKGdsX2V4dGVuc2lvbikKKworICAgICAgICBp
ZiBzZWxmLmRlYnVnOgorICAgICAgICAgICAgc2RrX2RlYnVnID0gRmxhdHBha1BhY2thZ2UoJ29y
Zy53ZWJraXQuU2RrLkRlYnVnJywgc2VsZi5zZGtfYnJhbmNoLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVwbywgIng4Nl82NCIpCisgICAgICAgICAg
ICBwYWNrYWdlcy5hcHBlbmQoc2RrX2RlYnVnKQorICAgICAgICByZXR1cm4gcGFja2FnZXMKKwog
ICAgIGRlZiBpbnN0YWxsX2FsbChzZWxmKToKLSAgICAgICAgZm9yIHBhY2thZ2UgaW4gc2VsZi5w
YWNrczoKKyAgICAgICAgaWYgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYuZmxhdHBh
a19idWlsZF9wYXRoLCAicnVudGltZSIsICJvcmcud2Via2l0LlNkayIpKToKKyAgICAgICAgICAg
IHJldHVybgorICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIkluc3RhbGxpbmcgJXMgZGVwZW5kZW5j
aWVzIGluICVzIiwgc2VsZi5idWlsZF90eXBlLCBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkKKyAg
ICAgICAgZm9yIHBhY2thZ2UgaW4gc2VsZi5fZ2V0X3BhY2thZ2VzKCk6CiAgICAgICAgICAgICBp
ZiBub3QgcGFja2FnZS5pc19pbnN0YWxsZWQoc2VsZi5zZGtfYnJhbmNoKToKICAgICAgICAgICAg
ICAgICBwYWNrYWdlLmluc3RhbGwoKQogCisgICAgZGVmIHVwZGF0ZV9hbGwoc2VsZik6CisgICAg
ICAgIHNlbGYuc2RrX3JlcG8uZmxhdHBhaygidXBkYXRlIikKKwogICAgIGRlZiBydW5fZ2RiKHNl
bGYpOgogICAgICAgICB3aXRoIGRpc2FibGVfc2lnbmFscygpOgogICAgICAgICAgICAgdHJ5OgpA
QCAtOTM1LDMxICs4MDQsMzkgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgIyBXZSBu
ZWVkIGFjY2VzcyB0byB0aGUgaG9zdCBmcm9tIHRoZSBzYW5kYm94IHRvIHJ1bi4KICAgICAgICAg
d2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBhcyBjb3JlZHVtcDoKICAgICAgICAg
ICAgIHdpdGggdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKCkgYXMgc3RkZXJyOgotICAgICAg
ICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChbImNvcmVkdW1wY3RsIiwgImR1bXAiXSAr
IHNobGV4LnNwbGl0KHNlbGYuY29yZWR1bXBjdGxfbWF0Y2hlcyksCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dD1jb3JlZHVtcCwgc3RkZXJyPXN0ZGVycikKKyAg
ICAgICAgICAgICAgICBpZiBzZWxmLmdkYl9zdGFja190cmFjZToKKyAgICAgICAgICAgICAgICAg
ICAgY21kID0gWyJjb3JlZHVtcGN0bCIsICItLXNpbmNlPSVzIiAlIHNlbGYuZ2RiX3N0YWNrX3Ry
YWNlLCAiZHVtcCJdCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAg
Y21kID0gWyJjb3JlZHVtcGN0bCIsICJkdW1wIl0gKyBzaGxleC5zcGxpdChzZWxmLmNvcmVkdW1w
Y3RsX21hdGNoZXMpCisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBz
dWJwcm9jZXNzLmNoZWNrX2NhbGwoY21kLCBzdGRvdXQ9Y29yZWR1bXAsIHN0ZGVycj1zdGRlcnIp
CisgICAgICAgICAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFz
IGVycjoKKyAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKHN0ZGVyci5uYW1lLCAncicpIGFz
IHN0ZGVycmY6CisgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnIgPSBzdGRlcnJmLnJlYWQo
KQorICAgICAgICAgICAgICAgICAgICBjbWQgPSAnICcuam9pbihlcnIuY21kKQorICAgICAgICAg
ICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCInJXMnIHJldHVybmVkIGEgbm9uLXplcm8gZXhp
dCBjb2RlLiBTdGRlcnI6ICVzIiAlIChjbWQsIHN0ZGVycikpCisgICAgICAgICAgICAgICAgICAg
IHJldHVybiBlcnIucmV0dXJuY29kZQogCiAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKHN0ZGVy
ci5uYW1lLCAncicpIGFzIHN0ZGVycmY6CiAgICAgICAgICAgICAgICAgICAgIHN0ZGVyciA9IHN0
ZGVycmYucmVhZCgpCi0gICAgICAgICAgICAgICAgZXhlY3V0YWJsZSwgPSByZS5maW5kYWxsKCIu
KkV4ZWN1dGFibGU6ICguKikiLCBzdGRlcnIpCi0gICAgICAgICAgICAgICAgaWYgbm90IGV4ZWN1
dGFibGUuc3RhcnRzd2l0aCgiL25ld3Jvb3QiKToKLSAgICAgICAgICAgICAgICAgICAgc3lzLnN0
ZGVyci53cml0ZSgiRXhlY3V0YWJsZSAlcyBkb2Vzbid0IHNlZW0gdG8gYmUgYSBmbGF0cGFrZWQg
YXBwbGljYXRpb24uXG4iICUgZXhlY3V0YWJsZSkKLQotICAgICAgICAgICAgICAgIGV4ZWN1dGFi
bGUgPSBleGVjdXRhYmxlLnJlcGxhY2UoIi9uZXdyb290IiwgIiIpCi0gICAgICAgICAgICAgICAg
YXJncyA9IFsiZ2RiIiwgZXhlY3V0YWJsZSwgIi9ydW4vaG9zdC8lcyIgJSBjb3JlZHVtcC5uYW1l
XSArIHNobGV4LnNwbGl0KHNlbGYuZ2RiKQogCi0gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYu
cnVuX2luX3NhbmRib3goKmFyZ3MpCisgICAgICAgICAgICAgICAgZXhlY3V0YWJsZSwgPSByZS5m
aW5kYWxsKCIuKkV4ZWN1dGFibGU6ICguKikiLCBzdGRlcnIpCiAKLSAgICBkZWYgdXBkYXRlX2Fs
bChzZWxmKToKLSAgICAgICAgZm9yIG0gaW4gW3NlbGYucnVudGltZSwgc2VsZi5zZGssIHNlbGYu
c2RrX2RlYnVnXToKLSAgICAgICAgICAgIGlmIG06Ci0gICAgICAgICAgICAgICAgbS51cGRhdGUo
KQorICAgICAgICAgICAgICAgIGlmIHNlbGYuZ2RiOgorICAgICAgICAgICAgICAgICAgICBiYXJn
cyA9IFsiZ2RiIiwgZXhlY3V0YWJsZSwgIi9ydW4vaG9zdC8lcyIgJSBjb3JlZHVtcC5uYW1lXSAr
IHNobGV4LnNwbGl0KHNlbGYuZ2RiKQorICAgICAgICAgICAgICAgIGVsaWYgc2VsZi5nZGJfc3Rh
Y2tfdHJhY2U6CisgICAgICAgICAgICAgICAgICAgIGJhcmdzID0gWyJnZGIiLCAnLWV4JywgInRo
cmVhZCBhcHBseSBhbGwgYmFja3RyYWNlIiwgJy0tYmF0Y2gnLCBleGVjdXRhYmxlLCAiL3J1bi9o
b3N0LyVzIiAlIGNvcmVkdW1wLm5hbWVdCiAKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5y
dW5faW5fc2FuZGJveCgqYmFyZ3MpCiAKIGRlZiBpc19zYW5kYm94ZWQoKToKICAgICByZXR1cm4g
b3MucGF0aC5leGlzdHMoIi8uZmxhdHBhay1pbmZvIikKIAogCiBkZWYgcnVuX2luX3NhbmRib3hf
aWZfYXZhaWxhYmxlKGFyZ3MpOgorICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKEZMQVRQQUtfVVNF
Ul9ESVJfUEFUSCk6CisgICAgICAgIHJldHVybiBOb25lCisKICAgICBpZiBpc19zYW5kYm94ZWQo
KToKICAgICAgICAgcmV0dXJuIE5vbmUKIApkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9vcmcu
d2Via2l0LkNvbW1vbk1vZHVsZXMueWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5Db21t
b25Nb2R1bGVzLnlhbWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUxYTA3Y2Y4NmY4
M2I2ODgzM2E1NzI4NGU0NzIzZjUyMmI3M2M0MGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LkNvbW1vbk1vZHVs
ZXMueWFtbAorKysgL2Rldi9udWxsCkBAIC0xLDMzMSArMCwwIEBACi0jIGh0dHAgYW5kIGRlcGVu
ZGVuY2llcy4KLS0gbmFtZTogYXByCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0g
ICAgICB1cmw6IGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvZGlzdC9hcHIvYXByLTEuNi41LnRhci5i
ejIKLSAgICAgIHNoYTI1NjogYTY3Y2E5ZmNmOWM0ZmY1OWJjZTdmNDI4YTMyM2M4YjVlMTg2Njdm
ZGVhN2IwZWJhZDQ3ZDE5NDM3MWIwYTEwNQotLSBuYW1lOiBhcHItdXRpbAotICBzb3VyY2VzOgot
ICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL3d3dy5hcGFjaGUub3JnL2Rp
c3QvYXByL2Fwci11dGlsLTEuNi4xLnRhci5iejIKLSAgICAgIHNoYTUxMjogIjQwZWZmOGEzN2Mw
NjM0ZjdmZGRkZDZjYTVlNTk2YjM4ZGUxNWZkMTA3NjdhMzRjMzBiYmU0OWM2MzI4MTZlOGYzZTFl
MjMwNjc4MDM0ZjU3OGRkNTgxNmE5NGYyNDZmYjVkZmRmNDhkNjQ0ODI5YWYxM2JmMjhkZTMyMjUy
MDVkIgotICBjb25maWctb3B0czoKLSAgICAtIC0td2l0aC1hcHI9L2FwcC9iaW4vYXByLTEtY29u
ZmlnCi0tIG5hbWU6IGh0dHBkCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVy
bDogaHR0cHM6Ly9naXRodWIuY29tL2FwYWNoZS9odHRwZC5naXQKLSAgICAgIGJyYW5jaDogMi40
LjM3Ci0gICAgLSB0eXBlIDogZmlsZQotICAgICAgcGF0aCA6IGZpbGVzL2h0dHBkLWF1dG9nZW4u
c2gKLSAgICAgIGRlc3QtZmlsZW5hbWUgOiBhdXRvZ2VuLnNoCi0gICAgIyBUaGUgdmVyc2lvbiBl
bWJlZGRlZCBpbiB0aGUgc2FuZGJveCBkb2Vzbid0IGhhdmUgYSB3b3JraW5nIHBjcmUtY29uZmln
Ci0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogcGF0Y2hlcy9odHRwZC0wMDAxLWNvbmZp
Z3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1kZXRlY3Rpb24ucGF0Y2gKLSAgY29uZmlnLW9w
dHM6Ci0gICAgLSAtLWVuYWJsZS1tcG1zLXNoYXJlZD1hbGwKLSAgICAtIC0tZW5hYmxlLW1vZHVs
ZXM9YWxsCi0gICAgLSAtLXdpdGgtYXByPS9hcHAvYmluL2Fwci0xLWNvbmZpZwotICAgIC0gLS13
aXRoLWFwci11dGlsPS9hcHAvYmluL2FwdS0xLWNvbmZpZwotICAgIC0gLS13aXRoLXBjcmU9L2Fw
cAotICAgIC0gLS1lbmFibGUtYXV0aG56LWZjZ2kKLSAgICAtIC0tZW5hYmxlLWNnaQotICAgIC0g
LS1lbmFibGUtY2dpZAotLSBuYW1lOiBwaHAKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hp
dmUKLSAgICAgIHVybDogaHR0cHM6Ly9waHAubmV0L2Rpc3RyaWJ1dGlvbnMvcGhwLTcuMi42LnRh
ci54egotICAgICAgc2hhNTEyOiBkYTg2YjFmZjJkZjNiOWUyZDQ2ZTU5YTgwMjk2Yjk0MGQ4MTEz
Mjk3NWI2MjFiZGVjOTYwMmY4YjRjOGQ5MWEzZmRjZDRmZmQ3Y2I5ODJkNjNkM2VjOTc0YjNhMTJh
Nzg1NGU0MmE3M2I3ZjJjYzhlZWZhZGUxNDMzNWFhN2M3MQotICBjb25maWctb3B0czoKLSAgICAt
IC0tZGlzYWJsZS14bWwKLSAgICAtIC0tZGlzYWJsZS1kb20KLSAgICAtIC0tZGlzYWJsZS1saWJ4
bWwKLSAgICAtIC0tZGlzYWJsZS1zaW1wbGV4bWwKLSAgICAtIC0tZGlzYWJsZS14bWxyZWFkZXIK
LSAgICAtIC0tZGlzYWJsZS14bWx3cml0ZXIKLSAgICAtIC0td2l0aG91dC1wZWFyCi0gICAgLSAt
LXdpdGgtYXB4czIKLSAgICAtIC0td2l0aC16bGliCi0gICAgLSAtLXdpdGgtbGliemlwCi0gICAg
LSAtLWVuYWJsZS1zb2NrZXRzPXNoYXJlZAotLSBuYW1lOiBsaWJldmVudAotICBzb3VyY2VzOgot
ICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9saWJldmVudC9s
aWJldmVudC5naXQKLSAgICAgIGJyYW5jaDogZTdmZjRlZiAjIDIuMS44Ci0gIGNvbmZpZy1vcHRz
OgotICAgIC0gLS1kaXNhYmxlLWxpYmV2ZW50LXJlZ3Jlc3MKLQotIyBSZXF1aXJlbWVudCBmb3Ig
ZmxhdHBrdXRpbHMKLS0gbmFtZTogcHl0aG9uMy1weWFtbAotICBidWlsZHN5c3RlbTogc2ltcGxl
Ci0gIGJ1aWxkLWNvbW1hbmRzOgotICAtIHBpcDMgaW5zdGFsbCAtLW5vLWluZGV4IC0tZmluZC1s
aW5rcz0iZmlsZTovLyR7UFdEfSIgLS1wcmVmaXg9JHtGTEFUUEFLX0RFU1R9IHB5YW1sCi0gIHNv
dXJjZXM6Ci0gIC0gdHlwZTogZmlsZQotICAgIHVybDogaHR0cHM6Ly9maWxlcy5weXRob25ob3N0
ZWQub3JnL3BhY2thZ2VzLzRhLzg1L2RiNWEyZGY0NzcwNzJiMjkwMmIwZWI4OTJmZWIzN2Q4OGFj
NjM1ZDM2MjQ1YTcyYTZhNjliMjNiMzgzYS9QeVlBTUwtMy4xMi50YXIuZ3oKLSAgICBzaGEyNTY6
IDU5Mjc2NmM2MzAzMjA3YTIwZWZjNDQ1NTg3Nzc4MzIyZDdmNzNiMTYxYmQ5OTRmMjI3YWRhYTM0
MWJhMjEyYWIKLSAgLSB0eXBlOiBmaWxlCi0gICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhv
c3RlZC5vcmcvcGFja2FnZXMvOWUvMTcvMWQ0ZWQ2ZTFhNGMwOTE4YTAzNTdkZmEyZmRiZTI2YmY2
M2Y2ZTYxNjAxM2MwNGExNGJjZTlmZDMzZTQwL3B5YW1sLTE3LjEyLjEudGFyLmd6Ci0gICAgc2hh
MjU2OiA2NjYyM2M1MmYzNGQ4M2EyYzBmYzk2M2UwOGU4YjlkMGMxM2Q4ODQwNGUzYjQzYjE4NTJl
ZjcxZWRhMTlhZmEzCi0KLS0gbmFtZTogcHl0aG9uMi1weWFtbAotICBidWlsZHN5c3RlbTogc2lt
cGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAtIHBpcDIgaW5zdGFsbCAtLW5vLWluZGV4IC0tZmlu
ZC1saW5rcz0iZmlsZTovLyR7UFdEfSIgLS10YXJnZXQ9L2FwcC9saWIvcHl0aG9uMi43L3NpdGUt
cGFja2FnZXMvIHB5YW1sCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogZmlsZQotICAgIHVybDogaHR0
cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzRhLzg1L2RiNWEyZGY0NzcwNzJi
MjkwMmIwZWI4OTJmZWIzN2Q4OGFjNjM1ZDM2MjQ1YTcyYTZhNjliMjNiMzgzYS9QeVlBTUwtMy4x
Mi50YXIuZ3oKLSAgICBzaGEyNTY6IDU5Mjc2NmM2MzAzMjA3YTIwZWZjNDQ1NTg3Nzc4MzIyZDdm
NzNiMTYxYmQ5OTRmMjI3YWRhYTM0MWJhMjEyYWIKLSAgLSB0eXBlOiBmaWxlCi0gICAgdXJsOiBo
dHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvOWUvMTcvMWQ0ZWQ2ZTFhNGMw
OTE4YTAzNTdkZmEyZmRiZTI2YmY2M2Y2ZTYxNjAxM2MwNGExNGJjZTlmZDMzZTQwL3B5YW1sLTE3
LjEyLjEudGFyLmd6Ci0gICAgc2hhMjU2OiA2NjYyM2M1MmYzNGQ4M2EyYzBmYzk2M2UwOGU4Yjlk
MGMxM2Q4ODQwNGUzYjQzYjE4NTJlZjcxZWRhMTlhZmEzCi0KLS0gbmFtZTogcHl0aG9uMi1zdWJw
cm9jZXNzMzIKLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgLSBw
aXAyIGluc3RhbGwgLS10YXJnZXQ9L2FwcC9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvIC4K
LSAgc291cmNlczoKLSAgLSB0eXBlOiBhcmNoaXZlCi0gICAgdXJsOiBodHRwczovL2ZpbGVzLnB5
dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvYmUvMmIvYmVlYmE1ODNlOTg3N2U2NGRiMTBiNTJhOTY5
MTVhZmMwZmVhYmY3MTQ0ZGNiZjJhMGQwZWE2OGJmNzNkL3N1YnByb2Nlc3MzMi0zLjUuMy50YXIu
Z3oKLSAgICBzaGEyNTY6IDZiYzgyOTkyMzE2ZWVmM2NjZmYzMTliNTAzMzgwOTgwMWMwYzMzNzI3
MDljNWY2OTg1Mjk5Yzg4YWM3MjI1YzMKLQotIyBHU3RyZWFtZXIgbW9kdWxlcwotLSBuYW1lOiBs
aWJ2cHgKLSAgbm8tYXV0b2dlbjogdHJ1ZQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0g
ICAgICB1cmw6IGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS93ZWJtL2xpYnZweAot
ICAgICAgYnJhbmNoOiB2MS43LjAKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLWVuYWJsZS1waWMK
LSAgICAtIC0tYXM9bmFzbQotICAgIC0gLS1kaXNhYmxlLXVuaXQtdGVzdHMKLSAgICAtIC0tc2l6
ZS1saW1pdD0xNjM4NHgxNjM4NAotICAgIC0gLS1lbmFibGUtcG9zdHByb2MKLSAgICAtIC0tZW5h
YmxlLW11bHRpLXJlcy1lbmNvZGluZwotICAgIC0gLS1lbmFibGUtdGVtcG9yYWwtZGVub2lzaW5n
Ci0gICAgLSAtLWVuYWJsZS12cDktdGVtcG9yYWwtZGVub2lzaW5nCi0gICAgLSAtLWVuYWJsZS12
cDktcG9zdHByb2MKLSAgICAtIC0tZW5hYmxlLXNoYXJlZAotLSBuYW1lOiBhb20KLSAgc291cmNl
czoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2FvbWVkaWEuZ29vZ2xlc291
cmNlLmNvbS9hb20KLSAgICAgIGJyYW5jaDogY2RiMDgzZTg0YTcxZDZkMzExNjNhNGY2NGYxOGRj
MTMyOGZkNzgyYwotICBidWlsZHN5c3RlbTogY21ha2UtbmluamEKLSAgYnVpbGRkaXI6IHRydWUK
LSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtREJVSUxEX1NIQVJFRF9MSUJTPTEKLS0gbmFtZTogbGli
dW53aW5kCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9n
aXRodWIuY29tL2xpYnVud2luZC9saWJ1bndpbmQuZ2l0Ci0gICAgICBjb21taXQ6IHYxLjIuMQot
LSBuYW1lOiBsaWJvcGVuaDI2NAotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoKLSAg
ICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vY2lzY28vb3Blbmgy
NjQuZ2l0Ci0gICAgICBicmFuY2g6IGExYjNmMDdjNTI3MWYzMTI5OTdmY2MzNDUxMjM3MDMxNDQ0
YzQ0NzUgIyAxLjguMCArIGZpeCBmb3IgZ2NjIDgKLS0gbmFtZTogZ3N0cmVhbWVyCi0gIGJ1aWxk
c3lzdGVtOiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0
dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0cmVhbWVyLmdpdAotICAg
ICAgYnJhbmNoOiAxLjE2LjEKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlzYWJs
ZWQKLSAgICAtIC1EaW50cm9zcGVjdGlvbj1kaXNhYmxlZAotICAgIC0gLURleGFtcGxlcz1kaXNh
YmxlZAotICAgIC0gLUR0ZXN0cz1kaXNhYmxlZAotLSBuYW1lOiBnc3QtcGx1Z2lucy1iYXNlCi0g
IGJ1aWxkc3lzdGVtOiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1
cmw6IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMt
YmFzZS5naXQKLSAgICAgIGJyYW5jaDogMS4xNi4xCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAg
cGF0aDogLi4vZ3N0cmVhbWVyL3BhdGNoZXMvYmFzZS0wMDAxLXBsYXliaW4tSGFuZGxlLWVycm9y
LW1lc3NhZ2Utd2l0aC1yZWRpcmVjdGlvbi1pbmRpY2EucGF0Y2gKLSAgICAtIHR5cGU6IHBhdGNo
Ci0gICAgICBwYXRoOiAuLi9nc3RyZWFtZXIvcGF0Y2hlcy9iYXNlLTAwMDEtZ2x1cGxvYWQtQWRk
LVZpZGVvTWV0YXMtYW5kLUdMU3luY01ldGEtdG8tdGhlLXJhdy11cC5wYXRjaAotICBjb25maWct
b3B0czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotICAgIC0gLURpbnRyb3NwZWN0aW9uPWRp
c2FibGVkCi0gICAgLSAtRGV4YW1wbGVzPWRpc2FibGVkCi0gICAgLSAtRHRlc3RzPWRpc2FibGVk
Ci0tIG5hbWU6IGdzdC1wbHVnaW5zLWdvb2QKLSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIHNvdXJj
ZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0
b3Aub3JnL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1nb29kLmdpdAotICAgICAgYnJhbmNoOiAxLjE2
LjEKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9nc3RyZWFtZXIvcGF0Y2hlcy9n
b29kLTAwMDEtcXRkZW11eC1TcGVjaWZ5LVJFRElSRUNULWluZm9ybWF0aW9uLWluLWVycm9yLW1l
c3NhZy5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotICAg
IC0gLURpbnRyb3NwZWN0aW9uPWRpc2FibGVkCi0gICAgLSAtRGV4YW1wbGVzPWRpc2FibGVkCi0g
ICAgLSAtRGd0azM9ZGlzYWJsZWQKLS0gbmFtZTogeDI2NAotICBjb25maWctb3B0czoKLSAgICAt
ICItLWVuYWJsZS1zaGFyZWQiCi0gICAgLSAiLS1lbmFibGUtc3RhdGljIgotICAgIC0gIi0tZW5h
YmxlLXBpYyIKLSAgICAtICItLWRpc2FibGUtbGF2ZiIKLSAgICAtICItLWRpc2FibGUtYXNtIgot
ICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwOi8vZG93bmxv
YWQudmlkZW9sYW4ub3JnL3B1Yi94MjY0L3NuYXBzaG90cy94MjY0LXNuYXBzaG90LTIwMTQwMjEy
LTIyNDUtc3RhYmxlLnRhci5iejIKLSAgICAgIHNoYTI1NjogNWQ5OGU5ZTRmYWY2ZGQ1NWU3MTkz
ZWQzNzlhZmY0NzdiOGFjYmRhNjc3Nzc1ODk1NmVmN2U1ZjA1MDY3YmUxOAotLSBuYW1lOiBnc3Qt
cGx1Z2lucy11Z2x5Ci0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0gdHlw
ZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dz
dHJlYW1lci9nc3QtcGx1Z2lucy11Z2x5Ci0gICAgICBicmFuY2g6IDEuMTYuMAotICBjb25maWct
b3B0czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotLSBuYW1lOiBnc3QtcGx1Z2lucy1iYWQK
LSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAg
IHVybDogaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL2dzdHJlYW1lci9nc3QtcGx1Z2lu
cy1iYWQuZ2l0Ci0gICAgICBicmFuY2g6IDEuMTYuMQotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAg
IHBhdGg6IC4uL2dzdHJlYW1lci9wYXRjaGVzL2dzdC1wbHVnaW5zLWJhZC0wMDAxLWgyNjRwYXJz
ZS1Qb3N0LWEtV0FSTklORy13aGVuLWRhdGEtaXMtYnJva2VuLnBhdGNoCi0gIGNvbmZpZy1vcHRz
OgotICAgIC0gLURndGtfZG9jPWRpc2FibGVkCi0gICAgLSAtRGludHJvc3BlY3Rpb249ZGlzYWJs
ZWQKLSAgICAtIC1EZXhhbXBsZXM9ZGlzYWJsZWQKLS0gbmFtZTogZmZtcGVnCi0gIHNvdXJjZXM6
Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHBzOi8vZmZtcGVnLm9yZy9yZWxl
YXNlcy9mZm1wZWctNC4wLjQudGFyLmd6Ci0gICAgICBzaGEyNTY6IDgwYmI2ODVhYmZjZGRhN2M5
YjZjOWM1Y2FmMWQ4ZGJiOTI3ODU4MDUwZDczNzdjMmI4ZjM0ODhjN2U4YTliN2YKLSAgY29uZmln
LW9wdHM6Ci0gICAgLSAtLWVuYWJsZS1zdGF0aWMKLSAgICAtIC0tZW5hYmxlLXBpYwotICAgIC0g
LS1kaXNhYmxlLWF2ZGV2aWNlCi0gICAgLSAtLWRpc2FibGUtcG9zdHByb2MKLSAgICAtIC0tZGlz
YWJsZS1zd3NjYWxlCi0gICAgLSAtLWRpc2FibGUtcHJvZ3JhbXMKLSAgICAtIC0tZGlzYWJsZS1m
ZnBsYXkKLSAgICAtIC0tZGlzYWJsZS1mZnByb2JlCi0gICAgLSAtLWRpc2FibGUtZmZtcGVnCi0g
ICAgLSAtLWRpc2FibGUtZW5jb2Rlcj1mbGFjCi0gICAgLSAtLWRpc2FibGUtcHJvdG9jb2xzCi0g
ICAgLSAtLWRpc2FibGUtZGV2aWNlcwotICAgIC0gLS1kaXNhYmxlLW5ldHdvcmsKLSAgICAtIC0t
ZGlzYWJsZS1od2FjY2VscwotICAgIC0gLS1kaXNhYmxlLWR4dmEyCi0gICAgLSAtLWRpc2FibGUt
dmRwYXUKLSAgICAtIC0tZGlzYWJsZS1maWx0ZXJzCi0gICAgLSAtLWVuYWJsZS1maWx0ZXI9eWFk
aWYKLSAgICAtIC0tZGlzYWJsZS1kb2MKLSAgICAtIC0tZGlzYWJsZS1kM2QxMXZhCi0gICAgLSAt
LWRpc2FibGUtZHh2YTIKLSAgICAtIC0tZGlzYWJsZS1hdWRpb3Rvb2xib3gKLSAgICAtIC0tZGlz
YWJsZS12aWRlb3Rvb2xib3gKLSAgICAtIC0tZGlzYWJsZS12YWFwaQotICAgIC0gLS1kaXNhYmxl
LWNyeXN0YWxoZAotICAgIC0gLS1kaXNhYmxlLW1lZGlhY29kZWMKLSAgICAtIC0tZGlzYWJsZS1u
dmVuYwotICAgIC0gLS1kaXNhYmxlLW1tYWwKLSAgICAtIC0tZGlzYWJsZS1vbXgKLSAgICAtIC0t
ZGlzYWJsZS1vbXgtcnBpCi0gICAgLSAtLWRpc2FibGUtY3VkYQotICAgIC0gLS1kaXNhYmxlLWN1
dmlkCi0gICAgLSAtLWRpc2FibGUtbGlibWZ4Ci0gICAgLSAtLWRpc2FibGUtbGlibnBwCi0gICAg
LSAtLWRpc2FibGUtaWNvbnYKLSAgICAtIC0tZGlzYWJsZS1qbmkKLSAgICAtIC0tZGlzYWJsZS12
NGwyX20ybQotICAgIC0gLS1lbmFibGUtb3B0aW1pemF0aW9ucwotLSBuYW1lOiBnc3QtbGliYXYK
LSAgYnVpbGRzeXN0ZW06IG1lc29uCi0gIGJ1aWxkZGlyOiB0cnVlCi0gIHNvdXJjZXM6Ci0gICAg
LSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHBzOi8vZ3N0cmVhbWVyLmZyZWVkZXNrdG9w
Lm9yZy9zcmMvZ3N0LWxpYmF2L2dzdC1saWJhdi0xLjE2LjEudGFyLnh6Ci0gICAgICBzaGEyNTY6
IGU4YTU3NDhhZTlhNGE3YmU5Njk2NTEyMTgyZWE5ZmZhNmVmZTBiZTliNzk3NjkxNjU0OGU5ZDQz
ODFjYTYxYzQKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlzYWJsZWQKLQotLSBu
YW1lOiBsaWJnY3J5cHQgIyBTcGVlZHVwIGxpYmdjcnlwdAotICBzb3VyY2VzOgotICAgIC0gdHlw
ZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZGV2LmdudXBnLm9yZy9zb3VyY2UvbGliZ2NyeXB0
LmdpdAotICAgICAgYnJhbmNoOiBsaWJnY3J5cHQtMS44LjQKLSAgICAtIHR5cGU6IHBhdGNoCi0g
ICAgICBwYXRoOiBwYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWRldGVj
dC1ncGctZXJyb3IucGF0Y2gKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9ndGsv
cGF0Y2hlcy9saWJnY3J5cHQtdXNlLW9ubHktZGV2LXVyYW5kb20tZm9yLXRlc3RpbmcucGF0Y2gK
LSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLWRpc2FibGUtZG9jCi0KLS0gbmFtZTogcGVybC1jZ2kt
cG0KLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgICAtIHBlcmwg
TWFrZWZpbGUuUEwgUFJFRklYPS9hcHAgTElCPS9hcHAvbGliL3BlcmwvCi0gICAgLSBtYWtlIGlu
c3RhbGwKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6
Ly9jcGFuLm1ldGFjcGFuLm9yZy9hdXRob3JzL2lkL0wvTEUvTEVFSk8vQ0dJLTQuMzgudGFyLmd6
Ci0gICAgICBzaGEyNTY6IDhjNThmNGE1MjliYjkyYTkxNGIyMmI3ZTY0YzVlMzExODVjOTg1NGE0
MDcwYTZkZmFkNDRmZTVjYzI0OGU3ZDQKLQotLSBuYW1lOiBweXRob24yLXZpcnR1YWxlbnYKLSAg
YnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgLSBwaXAyIGluc3RhbGwg
LS1uby1pbmRleCAtLWZpbmQtbGlua3M9ImZpbGU6Ly8ke1BXRH0iIC0tdGFyZ2V0PS9hcHAvbGli
L3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzLyB2aXJ0dWFsZW52Ci0gIC0gbG4gLXMgL2FwcC9saWIv
cHl0aG9uMi43L3NpdGUtcGFja2FnZXMvdmlydHVhbGVudi5weSAvYXBwL2Jpbi92aXJ0dWFsZW52
Ci0gIC0gY2htb2QgK3ggL2FwcC9iaW4vdmlydHVhbGVudgotICBzb3VyY2VzOgotICAtIHR5cGU6
IGZpbGUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy8z
My9iYy9mYTBiNTM0NzEzOWNkOTU2NGYwZDQ0ZWJkMmIxNDdhYzk3YzM2YjI0MDM5NDNkYmVlOGEy
NWZkNzQwMTIvdmlydHVhbGVudi0xNi4wLjAudGFyLmd6Ci0gICAgc2hhMjU2OiBjYTA3YjRjMGI1
NGUxNGE5MWFmOWYzNGQwOTE5NzkwYjAxNjkyM2QxNTdhZmRhNWVmZGRlNTVjOTY3MThmNzUyCi0K
LS0gbmFtZTogbGliY2FwLW5nCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVy
bDogaHR0cHM6Ly9naXRodWIuY29tL3N0ZXZlZ3J1YmIvbGliY2FwLW5nCi0gICAgICBicmFuY2g6
IHYwLjcuOQotICBjb25maWctb3B0czoKLSAgICAtIC0td2l0aC1weXRob249bm8KLSAgICAtIC0t
d2l0aC1weXRob24zPW5vCi0KLS0gbmFtZTogbHpvMgotICBzb3VyY2VzOgotICAgIC0gdHlwZTog
YXJjaGl2ZQotICAgICAgdXJsOiBodHRwOi8vd3d3Lm9iZXJodW1lci5jb20vb3BlbnNvdXJjZS9s
em8vZG93bmxvYWQvbHpvLTIuMTAudGFyLmd6Ci0gICAgICBzaGExOiA0OTI0Njc2YTliYWU1ZGI1
OGVmMTI5ZGMxY2ViY2UzYmFhM2M0YjVkCi0KLS0gbmFtZTogaWNlY2MKLSAgc291cmNlczoKLSAg
ICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vaWNlY2MvaWNlY3Jl
YW0KLSAgICAgIHRhZzogIjEuMiIKLSAgICAgIGNvbW1pdDogZTNkMTBhMzJiYzZjMDQ2ZDhmM2Qx
MTgyZTc1YzY1OWQ0YjI4ZWQ0OQotICBjb25maWctb3B0czoKLSAgICAtIC0td2l0aG91dC1tYW4K
LQotLSBuYW1lOiBicm90bGkKLSAgc291cmNlczoKLSAgLSB0eXBlOiBhcmNoaXZlCi0gICAgdXJs
OiBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2Jyb3RsaS9hcmNoaXZlL3YxLjAuNS50YXIuZ3oK
LSAgICBzaGEyNTY6IDNkNWJlZGQ0OGVkYjkwOWZlM2I4N2NiOTlmN2QxMzliOTg3ZWY2ZjE2MTZi
N2UyMmQ3NGU5MjgyNzBhMmZkMjAKLSAgYnVpbGRzeXN0ZW06IGNtYWtlLW5pbmphCi0KLS0gbmFt
ZTogd29mZjIKLSAgc291cmNlczoKLSAgLSB0eXBlOiBhcmNoaXZlCi0gICAgdXJsOiBodHRwczov
L2dpdGh1Yi5jb20vZ29vZ2xlL3dvZmYyL2FyY2hpdmUvdjEuMC4yLnRhci5negotICAgIHNoYTI1
NjogYWRkMjcyYmIwOWU2Mzg0YTQ4MzNmZmNhNDg5NjM1MGZkYjE2ZTBjYTIyZGY2OGMwMzg0Nzcz
YzY3YTE3NTU5NAotICBidWlsZHN5c3RlbTogY21ha2UtbmluamEKLQotLSBuYW1lOiBvcGVuanBl
ZwotICBzb3VyY2VzOgotICAtIHR5cGU6IGFyY2hpdmUKLSAgICB1cmw6IGh0dHA6Ly9naXRodWIu
Y29tL3VjbG91dmFpbi9vcGVuanBlZy9hcmNoaXZlL3YyLjMuMC50YXIuZ3oKLSAgICBzaGEyNTY6
IDNkYzc4N2MxYmI2MDIzYmE4NDZjMmEwZDliMWY2ZTE3OWYxY2QyNTUxNzJiZGU5ZWI3NWIwMWYx
ZTZjN2Q3MWEKLSAgYnVpbGRzeXN0ZW06IGNtYWtlLW5pbmphCmRpZmYgLS1naXQgYS9Ub29scy9m
bGF0cGFrL29yZy53ZWJraXQuR1RLLnlhbWwgYi9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuR1RL
LnlhbWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2M2I1NjA0NDA4MDQ1ZWQwODdj
N2MyNjdhNTkzMmI4NGU2MzBkM2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LkdUSy55YW1sCisrKyAvZGV2L251
bGwKQEAgLTEsMTIzICswLDAgQEAKLS0gbmFtZTogbWVzYQotICBzb3VyY2VzOgotICAgIC0gdHlw
ZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL21lc2EuZnJlZWRlc2t0b3Aub3JnL2FyY2hp
dmUvbWVzYS0xOC4wLjMudGFyLnh6Ci0gICAgICBzaGEyNTY6IDA5OWQ5NjY3MzI3YTc2YTYxNzQx
YTUzM2Y5NTA2N2Q3NmVhNzFhNjU2ZTY2YjkxNTA3YjNjMGNhZjFkNDllMzAKLSAgY29uZmlnLW9w
dHM6Ci0gICAgLSAtLXByZWZpeD0vYXBwL3NvZnRHTAotICAgIC0gLS1kaXNhYmxlLWRyaTMKLSAg
ICAtIC0tZW5hYmxlLWRyaQotICAgIC0gLS1lbmFibGUtZ2x4Ci0gICAgLSAtLWVuYWJsZS1lZ2wK
LSAgICAtIC0td2l0aC1lZ2wtcGxhdGZvcm1zPXgxMSx3YXlsYW5kCi0gICAgLSAtLXdpdGgtZHJp
LWRyaXZlcnM9c3dyYXN0Ci0gICAgLSAtLXdpdGgtZ2FsbGl1bS1kcml2ZXJzPXN3cmFzdAotCi0t
IG5hbWU6IHdlYmtpdGd0ay10ZXN0LWZvbnRzCi0gIG5vLWF1dG9nZW46IHRydWUKLSAgc291cmNl
czoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vV2ViS2l0
R1RLL3dlYmtpdGd0ay10ZXN0LWZvbnRzLmdpdAotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1
aWxkLWNvbW1hbmRzOgotICAgICMgRklYTUU6IE1ha2UgQWN0aXZhdGVGb250V1BFIHNtYXJ0ZXIu
Ci0gICAgLSBtYWtlIGluc3RhbGwgREVTVERJUj0vYXBwL1dlYktpdEJ1aWxkL0RlcGVuZGVuY2ll
c0dUSy9Sb290Ci0KLS0gbmFtZTogeG9yZy11dGlsLW1hY3JvcwotICBzb3VyY2VzOgotICAgIC0g
dHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0
L3hvcmcvdXRpbC9tYWNyb3MuZ2l0Ci0gICAgICBicmFuY2g6IHV0aWwtbWFjcm9zLTEuMTkuMgot
Ci0tIG5hbWU6IHhvcmctZm9udC11dGlsCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAg
ICAgIHVybDogaHR0cHM6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy9mb250L3V0
aWwuZ2l0Ci0gICAgICBicmFuY2g6IGZvbnQtdXRpbC0xLjMuMQotCi0tIG5hbWU6IHhrYmZpbGUK
LSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgYnJhbmNoOiBsaWJ4a2JmaWxlLTEu
MC45Ci0gICAgICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcv
bGliL2xpYnhrYmZpbGUuZ2l0Ci0KLS0gbmFtZTogZm9udGVuYwotICBzb3VyY2VzOgotICAgIC0g
dHlwZTogZ2l0Ci0gICAgICBicmFuY2g6IGxpYmZvbnRlbmMtMS4xLjMKLSAgICAgIHVybDogaHR0
cHM6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy9saWIvbGliZm9udGVuYy5naXQK
LQotLSBuYW1lOiB4Zm9udAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICBicmFu
Y2g6IGxpYlhmb250Mi0yLjAuMwotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0
b3Aub3JnL2dpdC94b3JnL2xpYi9saWJYZm9udC5naXQKLQotLSBuYW1lOiB4dmZiCi0gIHNvdXJj
ZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9hbm9uZ2l0LmZyZWVkZXNr
dG9wLm9yZy9naXQveG9yZy94c2VydmVyLmdpdAotICAgICAgYnJhbmNoOiB4b3JnLXNlcnZlci0x
LjE5LjYKLSAgICAtIHR5cGU6IHBhdGNoCi0gICAgICBwYXRoOiBwYXRjaGVzL3h2ZmItMDAwMS1I
QUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1maWxlLnBhdGNoCi0gICAgLSB0eXBlOiBwYXRjaAot
ICAgICAgcGF0aDogLi4vZ3RrL3BhdGNoZXMveHNlcnZlci1yZW1vdmUtYm9ndXMtZGVwZW5kZW5j
aWVzLnBhdGNoCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3RrL3BhdGNoZXMv
eHNlcnZlci1zZWFyY2gtZm9yLURSSS1kcml2ZXJzLWF0LUxJQkdMX0RSSVZFUlNfUEFUSC1lbnZp
cm9uLnBhdGNoCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1lbmFibGUteHZmYgotICAgIC0gLS1k
aXNhYmxlLXh3YXlsYW5kCi0gICAgLSAtLWVuYWJsZS14dmZiCi0gICAgLSAtLWRpc2FibGUteHdh
eWxhbmQKLSAgICAtIC0tZGlzYWJsZS14aW5lcmFtYQotICAgIC0gLS1lbmFibGUtZ2x4Ci0gICAg
LSAtLWVuYWJsZS1jb21wb3NpdGUKLSAgICAtIC0tZGlzYWJsZS14b3JnCi0gICAgLSAtLWRpc2Fi
bGUtZG14Ci0gICAgLSAtLWRpc2FibGUteG5lc3QKLSAgICAtIC0tZGlzYWJsZS14cXVhcnR6Ci0g
ICAgLSAtLWRpc2FibGUteHdpbgotICAgIC0gLS1kaXNhYmxlLXhlcGh5cgotICAgIC0gLS1kaXNh
YmxlLXhmYWtlCi0gICAgLSAtLWRpc2FibGUteGZiZGV2Ci0gICAgLSAtLWRpc2FibGUtaW5zdGFs
bC1zZXR1aWQKLSAgICAtIC0tZGlzYWJsZS11bml0LXRlc3RzCi0gICAgLSAtLWRpc2FibGUtcHJl
c2VudAotICAgIC0gLS1lbmFibGUtdW5peC10cmFuc3BvcnQKLSAgICAtIC0tZW5hYmxlLXRjcC10
cmFuc3BvcnQKLSAgICAtIC0tZGlzYWJsZS1sb2NhbC10cmFuc3BvcnQKLSAgICAtIC0td2l0aG91
dC1kdHJhY2UKLQotIyBSZXF1aXJlZCBmb3IgcnVuLWd0ay10ZXN0cwotLSBuYW1lOiBweWNhaXJv
Ci0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gIC0gcHl0aG9uMiBz
ZXR1cC5weSBpbnN0YWxsIC0tcHJlZml4PS9hcHAKLSAgc291cmNlczoKLSAgLSB0eXBlOiBhcmNo
aXZlCi0gICAgdXJsOiBodHRwczovL3B5cGkucHl0aG9uLm9yZy9wYWNrYWdlcy9lZi85Ny9iMzNk
YzUzM2VhNjA3NmQ0ZWE5Y2JkMmZlMDQ5YTJiNGEzZGY1YzViNmZiYTlhMTgyNjE2ZjZmOGQzMTAv
cHljYWlyby0xLjE1LjQudGFyLmd6Ci0gICAgc2hhMjU2OiBlZTRjMzA2OGMwNDgyMzBlNWNlNzRi
Yjg5OTRhMDI0NzExMTI5YmRlMWFmMWQ3NmUzMjc2YzdhY2Q4MWM0MzU3Ci0gIGNsZWFudXA6Ci0g
IC0gIi9pbmNsdWRlIgotICAtICIvbGliL3BrZ2NvbmZpZyIKLQotLSBuYW1lOiBweWdvYmplY3Qt
cHl0aG9uMgotICBidWlsZC1vcHRpb25zOgotICAgIGVudjoKLSAgICAgIFBZVEhPTjogIi91c3Iv
YmluL3B5dGhvbjIiCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogYXJjaGl2ZQotICAgIHVybDogaHR0
cHM6Ly9kb3dubG9hZC5nbm9tZS5vcmcvc291cmNlcy9weWdvYmplY3QvMy4yOC9weWdvYmplY3Qt
My4yOC4xLnRhci54egotICAgIHNoYTI1NjogNDIzMTJiNGE1MDE1NTcxZmEwYTRmMmQyMDEwMDVk
YTQ2YjcxYzI1MWVhMjYyNWJjOTU3MDJkMDcxYzRmZjg5NQotICBjbGVhbnVwOgotICAtICIvaW5j
bHVkZSIKLSAgLSAiL2xpYi9wa2djb25maWciCi0gIC0gIi9saWIvcHl0aG9uMi43L3NpdGUtcGFj
a2FnZXMvZ2kvKi5sYSIKLQotLSBvcmcud2Via2l0LldQRU1vZHVsZXMueWFtbAotCi0tIG5hbWU6
IG9yZy53ZWJraXQuR1RLCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6
Ci0gICAgLSAvYXBwL3dlYmtpdC9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdCAtLWd0ayAtLXBy
ZWZpeD0vYXBwCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEUueWFt
bCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEUueWFtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNGNiYWJiYWEwY2I4ZTE1OGFkNDQ0MWY5OGI0ZDA1M2E4Y2IzYmE3Ni4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFr
L29yZy53ZWJraXQuV1BFLnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0tIG9y
Zy53ZWJraXQuV1BFTW9kdWxlcy55YW1sCi0tIG5hbWU6IHdlYmtpdGd0ay10ZXN0LWZvbnRzCi0g
IG5vLWF1dG9nZW46IHRydWUKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJs
OiBodHRwczovL2dpdGh1Yi5jb20vV2ViS2l0R1RLL3dlYmtpdGd0ay10ZXN0LWZvbnRzLmdpdAot
ICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRzOgotICAgICMgRklYTUU6IE1h
a2UgQWN0aXZhdGVGb250V1BFIHNtYXJ0ZXIuCi0gICAgLSBtYWtlIGluc3RhbGwgREVTVERJUj0v
YXBwL1dlYktpdEJ1aWxkL0RlcGVuZGVuY2llc1dQRS9Sb290Ci0tIG5hbWU6IG9yZy53ZWJraXQu
V1BFCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0gICAgLSAvYXBw
L3dlYmtpdC9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdCAtLXdwZSAtLXByZWZpeD0vYXBwCmRp
ZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFTW9kdWxlcy55YW1sIGIvVG9v
bHMvZmxhdHBhay9vcmcud2Via2l0LldQRU1vZHVsZXMueWFtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYTgwZTJjY2IzYTRkOTUyMmE2MDc5MzRjMDZlMGFmOTIwNWJmMDIxNy4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFr
L29yZy53ZWJraXQuV1BFTW9kdWxlcy55YW1sCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBA
QAotLSBuYW1lOiBsaWJ3cGUKLSAgYnVpbGRzeXN0ZW06IGNtYWtlLW5pbmphCi0gIHNvdXJjZXM6
Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHBzOi8vd3Bld2Via2l0Lm9yZy9y
ZWxlYXNlcy9saWJ3cGUtMS40LjAudGFyLnh6Ci0gICAgICBzaGEyNTY6IGUyZDM0OTRmYzMzZmU5
NDZhZDkxN2ZkNmEzYWJkMTI3NDYyYjkxYmJhNjJlZjhiMzU1MDdlOTJmOGVkZTQxODgKLS0gbmFt
ZTogd3BlYmFja2VuZC1mZG8KLSAgYnVpbGRzeXN0ZW06IGNtYWtlLW5pbmphCi0gIHNvdXJjZXM6
Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHBzOi8vd3Bld2Via2l0Lm9yZy9y
ZWxlYXNlcy93cGViYWNrZW5kLWZkby0xLjQuMC50YXIueHoKLSAgICAgIHNoYTI1NjogYTkxOWNh
NGE1YmM0NDVmOTQxOWE1YjdmMzc4MWNmYzk4ZTVhYmNmNWQ3MjU5ZWIxODY5ZjVhYjIwZmQxOGJh
ZgpkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRVFULnlhbWwgYi9Ub29s
cy9mbGF0cGFrL29yZy53ZWJraXQuV1BFUVQueWFtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZGUzNjk1N2E0NjFiYzM0NzlhMzhlZmZkZTZkOTU4YmQwMDcyNjc4ZS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9mbGF0cGFrL29yZy53
ZWJraXQuV1BFUVQueWFtbAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLWFwcC1pZDog
b3JnLndlYmtpdC5XUEVRVAotcnVudGltZTogb3JnLmtkZS5QbGF0Zm9ybQotcnVudGltZS12ZXJz
aW9uOiAiNS4xMiIKLSMgQ29udHJvbCB0aGUgZXhhY3QgdmVyc2lvbiBvZiB0aGUgU2RrL1J1bnRp
bWUgdGhhdCBpcyBiZWluZyB1c2VkLgotc2RrLWhhc2g6IGQ2ZWZhMjRlMjdjMWM4NzhhZDRmZGU3
NmI3M2M5NmExMWJlMzJiNTk4YWU4N2FlZmJlMzM5ZWU0YmIxOWE4YmUKLXJ1bnRpbWUtaGFzaDog
MTAxODcxZTA5MTAwMDYxNmFkMmI2MzVlMDZjNDE0ZWIwZTFjNGUxYzM0MjkyYTIwNWM1MjM5OTM1
ZWU1ZWE0NAotc2RrOiBvcmcua2RlLlNkawotY29tbWFuZDogJShDT01NQU5EKXMKLWZpbmlzaC1h
cmdzOgotICAjIEJhc2ljYWxseSBubyBzYW5kYm94aW5nLCB0aGUgZ29hbCBoZXJlIGlzIHRvIG1h
a2UgaXQgZmxleGlibGUKLSAgIyBmb3IgZGV2ZWxvcGVycywgbm90IHJlYWxseSB0byBpc29sYXRl
IChvcGVubmluZyBhbGwgZGV2aWNlcwotICAjIHRvIGFsbG93IGFjY2VzIHZpZGVvIGNhbWVyYXMg
dW50aWwgd2UgaGF2ZSBhIHBvcnRhbCBhdCBsZWFzdCkuCi0gIC0gLS1zaGFyZT1pcGMKLSAgLSAt
LXNvY2tldD14MTEKLSAgLSAtLXNvY2tldD13YXlsYW5kCi0gIC0gLS1kZXZpY2U9YWxsCi0gIC0g
LS1zaGFyZT1uZXR3b3JrCi0gIC0gLS1zb2NrZXQ9cHVsc2VhdWRpbwotICAtIC0tc3lzdGVtLXRh
bGstbmFtZT1vcmcuZnJlZWRlc2t0b3AuR2VvQ2x1ZTIKLSAgLSAtLXN5c3RlbS10YWxrLW5hbWU9
b3JnLmExMXkuQnVzCi0gIC0gLS1maWxlc3lzdGVtPWhvc3QKLSAgLSAtLXNvY2tldD1zeXN0ZW0t
YnVzCi0gIC0gLS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkZsYXRwYWsKLSAgLSAtLWVudj1H
U1RfUFJFU0VUX1BBVEg9L2FwcC9zaGFyZS9nc3RyZWFtZXItMS4wL3ByZXNldHMvCi1idWlsZC1v
cHRpb25zOgotICBjZmxhZ3M6IC1PMiAtZwotICBjeHhmbGFnczogLU8yIC1nCi0gIHN0cmlwOiBm
YWxzZQotICBuby1kZWJ1Z2luZm86IHRydWUKLW1vZHVsZXM6Ci0gIC0gb3JnLndlYmtpdC5Db21t
b25Nb2R1bGVzLnlhbWwKLSAgLSBvcmcud2Via2l0LldQRU1vZHVsZXMueWFtbAotCi0gICMgVGhp
cyBtb2R1bGUgaXMgbm90IGFjdHVhbGx5IGJ1aWx0LgotICAtIG5hbWU6IG9yZy53ZWJraXQuV1BF
UVQKLSAgICBidWlsZHN5c3RlbTogY21ha2UKLSAgICBzb3VyY2VzOgotICAgIC0gdHlwZTogZGly
Ci0gICAgICBwYXRoOiAvYXBwL3dlYmtpdC9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3Bl
L3F0CmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV2ViS2l0LnlhbWwgYi9U
b29scy9mbGF0cGFrL29yZy53ZWJraXQuV2ViS2l0LnlhbWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGI2ZDYxMjY2MGQ4YTIwNDVkYTMxMmZkYjA5MWI3OGU1OGE4MDdlNjkuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9v
cmcud2Via2l0LldlYktpdC55YW1sCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotYXBw
LWlkOiAlKFBPUlROQU1FKXMKLXJ1bnRpbWU6IG9yZy5nbm9tZS5QbGF0Zm9ybQotcnVudGltZS12
ZXJzaW9uOiAiMy4zMiIKLSMgQ29udHJvbCB0aGUgZXhhY3QgdmVyc2lvbiBvZiB0aGUgU2RrL1J1
bnRpbWUgdGhhdCBpcyBiZWluZyB1c2VkLgotc2RrLWhhc2g6IGIzYjliMWQxYjE5ZWEyYmI3MjAx
OTQyOGNhNzVjN2E3ODQ1NWU5ODZhMGY5MWRkZGY2YTI5YzkyOTkwY2M1YTcKLXJ1bnRpbWUtaGFz
aDogN2M5ZDU1OTJkODA1ZDBiN2MyMTIxOTBmZDgxMThlNGM3OGNiOGVkOGY4MWU2ODc4NTg5NzI2
NzBkYWNjZmY3Ngotc2RrOiBvcmcuZ25vbWUuU2RrCi1jb21tYW5kOiAlKENPTU1BTkQpcwotZmlu
aXNoLWFyZ3M6Ci0gICMgQmFzaWNhbGx5IG5vIHNhbmRib3hpbmcsIHRoZSBnb2FsIGhlcmUgaXMg
dG8gbWFrZSBpdCBmbGV4aWJsZQotICAjIGZvciBkZXZlbG9wZXJzLCBub3QgcmVhbGx5IHRvIGlz
b2xhdGUgKG9wZW5uaW5nIGFsbCBkZXZpY2VzCi0gICMgdG8gYWxsb3cgYWNjZXMgdmlkZW8gY2Ft
ZXJhcyB1bnRpbCB3ZSBoYXZlIGEgcG9ydGFsIGF0IGxlYXN0KS4KLSAgLSAtLXNoYXJlPWlwYwot
ICAtIC0tc29ja2V0PXgxMQotICAtIC0tc29ja2V0PXdheWxhbmQKLSAgLSAtLWRldmljZT1hbGwK
LSAgLSAtLXNoYXJlPW5ldHdvcmsKLSAgLSAtLXNvY2tldD1wdWxzZWF1ZGlvCi0gIC0gLS1zeXN0
ZW0tdGFsay1uYW1lPW9yZy5mcmVlZGVza3RvcC5HZW9DbHVlMgotICAtIC0tc3lzdGVtLXRhbGst
bmFtZT1vcmcuYTExeS5CdXMKLSAgLSAtLWZpbGVzeXN0ZW09aG9zdAotICAtIC0tc29ja2V0PXN5
c3RlbS1idXMKLSAgLSAtLXRhbGstbmFtZT1vcmcuZnJlZWRlc2t0b3AuRmxhdHBhawotICAtIC0t
ZW52PUdTVF9QUkVTRVRfUEFUSD0vYXBwL3NoYXJlL2dzdHJlYW1lci0xLjAvcHJlc2V0cy8KLWJ1
aWxkLW9wdGlvbnM6Ci0gIGNmbGFnczogLU8yIC1nCi0gIGN4eGZsYWdzOiAtTzIgLWcKLSAgc3Ry
aXA6IGZhbHNlCi0gIG5vLWRlYnVnaW5mbzogdHJ1ZQotbW9kdWxlczoKLSAgLSBvcmcud2Via2l0
LkNvbW1vbk1vZHVsZXMueWFtbAotICAjIFBvcnQgc3BlY2lmaWMgY29tcG9uZW50cy4KLSAgLSAl
KFBPUlROQU1FKXMueWFtbApkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9wYXRjaGVzL2h0dHBk
LTAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1QQ1JFLWRldGVjdGlvbi5wYXRjaCBi
L1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy9odHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZp
Zy1mb3ItUENSRS1kZXRlY3Rpb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGQzNmE2OTRmMjkyM2QzNTFkYjZmM2YxMzMyNzYwMjgzZGE3OGY5ZGUuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9wYXRjaGVzL2h0
dHBkLTAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1QQ1JFLWRldGVjdGlvbi5wYXRj
aAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLUZyb20gYjVlYmU0MDRmMTM4OGRkZGEz
NjAzZTUzMjc3Zjg3ZTBiOTZiYTY5NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRo
aWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGlnYWxpYS5jb20+Ci1EYXRlOiBNb24sIDExIEp1biAy
MDE4IDE2OjE0OjM4IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZTogdXNlIHBrZy1j
b25maWcgZm9yIFBDUkUgZGV0ZWN0aW9uCi0KLS0tLQotIGNvbmZpZ3VyZS5pbiB8IDI3ICsrKysr
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyks
IDIyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJl
LmluCi1pbmRleCA3NjFlODM2Li5iMTU1ZDRiIDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmluCi0r
KysgYi9jb25maWd1cmUuaW4KLUBAIC0yMTUsMjggKzIxNSwxMSBAQCBmaQotIEFDX0FSR19XSVRI
KHBjcmUsCi0gQVBBQ0hFX0hFTFBfU1RSSU5HKC0td2l0aC1wY3JlPVBBVEgsVXNlIGV4dGVybmFs
IFBDUkUgbGlicmFyeSkpCi0gCi0tQUNfUEFUSF9QUk9HKFBDUkVfQ09ORklHLCBwY3JlLWNvbmZp
ZywgZmFsc2UpCi0taWYgdGVzdCAtZCAiJHdpdGhfcGNyZSIgJiYgdGVzdCAteCAiJHdpdGhfcGNy
ZS9iaW4vcGNyZS1jb25maWciOyB0aGVuCi0tICAgUENSRV9DT05GSUc9JHdpdGhfcGNyZS9iaW4v
cGNyZS1jb25maWcKLS1lbGlmIHRlc3QgLXggIiR3aXRoX3BjcmUiOyB0aGVuCi0tICAgUENSRV9D
T05GSUc9JHdpdGhfcGNyZQotLWZpCi0tCi0taWYgdGVzdCAiJFBDUkVfQ09ORklHIiAhPSAiZmFs
c2UiOyB0aGVuCi0tICBpZiAkUENSRV9DT05GSUcgLS12ZXJzaW9uID4vZGV2L251bGwgMj4mMTsg
dGhlbiA6OyBlbHNlCi0tICAgIEFDX01TR19FUlJPUihbRGlkIG5vdCBmaW5kIHBjcmUtY29uZmln
IHNjcmlwdCBhdCAkUENSRV9DT05GSUddKQotLSAgZmkKLS0gIGNhc2UgYCRQQ1JFX0NPTkZJRyAt
LXZlcnNpb25gIGluCi0tICBbWzEtNV0uKl0pCi0tICAgIEFDX01TR19FUlJPUihbTmVlZCBhdCBs
ZWFzdCBwY3JlIHZlcnNpb24gNi4wXSkKLS0gICAgOzsKLS0gIGVzYWMKLS0gIEFDX01TR19OT1RJ
Q0UoW1VzaW5nIGV4dGVybmFsIFBDUkUgbGlicmFyeSBmcm9tICRQQ1JFX0NPTkZJR10pCi0tICBB
UFJfQUREVE8oUENSRV9JTkNMVURFUywgW2AkUENSRV9DT05GSUcgLS1jZmxhZ3NgXSkKLS0gIEFQ
Ul9BRERUTyhQQ1JFX0xJQlMsIFtgJFBDUkVfQ09ORklHIC0tbGlic2BdKQotLWVsc2UKLS0gIEFD
X01TR19FUlJPUihbcGNyZS1jb25maWcgZm9yIGxpYnBjcmUgbm90IGZvdW5kLiBQQ1JFIGlzIHJl
cXVpcmVkIGFuZCBhdmFpbGFibGUgZnJvbSBodHRwOi8vcGNyZS5vcmcvXSkKLS1maQotK1BLR19D
SEVDS19NT0RVTEVTKFtQQ1JFXSwgW2xpYnBjcmVdLCBbCi0rICBBQ19ERUZJTkUoW0hBVkVfUENS
RV0sIFsxXSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBQQ1JFIGxpYnJhcnldKQotK10sIFsKLSsgIEFD
X01TR19FUlJPUihbJFBDUkVfUEtHX0VSUk9SU10pCi0rXSkKLSBBUEFDSEVfU1VCU1QoUENSRV9M
SUJTKQotIAotIEFDX01TR19OT1RJQ0UoW10pCi0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9U
b29scy9mbGF0cGFrL3BhdGNoZXMvbGliZ2NyeXB0LTAwMDEtVXNlLXBrZy1jb25maWctdG8tZGV0
ZWN0LWdwZy1lcnJvci5wYXRjaCBiL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy9saWJnY3J5cHQtMDAw
MS1Vc2UtcGtnLWNvbmZpZy10by1kZXRlY3QtZ3BnLWVycm9yLnBhdGNoCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBjNTc3MjdmYmI4YjA4YjkxOTVhNWMwOTdkNmM2MWI5MDhjNjkxNzlh
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2Zs
YXRwYWsvcGF0Y2hlcy9saWJnY3J5cHQtMDAwMS1Vc2UtcGtnLWNvbmZpZy10by1kZXRlY3QtZ3Bn
LWVycm9yLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEwICswLDAgQEAKLUZyb20gOWFmZjNm
MWIzNDRmYzg2NjZiMTRjNTc2MjkxNjJjMmI5MDA3Y2FkOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw
MDEKLUZyb206IFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGlnYWxpYS5jb20+Ci1EYXRlOiBG
cmksIDI5IEp1biAyMDE4IDA5OjA1OjUyIC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIFVzZSBwa2ct
Y29uZmlnIHRvIGRldGVjdCBncGctZXJyb3IKLQotLS0tCi0gbTQvZ3BnLWVycm9yLm00IHwgODgg
KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmls
ZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA3NiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdp
dCBhL200L2dwZy1lcnJvci5tNCBiL200L2dwZy1lcnJvci5tNAotaW5kZXggMTY2MTIwNGMuLjVm
OWYzM2MyIDEwMDY0NAotLS0tIGEvbTQvZ3BnLWVycm9yLm00Ci0rKysgYi9tNC9ncGctZXJyb3Iu
bTQKLUBAIC00MSw4MSArNDEsMTcgQEAgQUNfREVGVU4oW0FNX1BBVEhfR1BHX0VSUk9SXSwKLSAg
IEFDX0FSR19XSVRIKGdwZy1lcnJvci1wcmVmaXgsLAotICAgICAgICAgICAgICAgW2dwZ19lcnJv
cl9jb25maWdfcHJlZml4PSIkd2l0aHZhbCJdKQotIAotLSAgaWYgdGVzdCB4IiR7R1BHX0VSUk9S
X0NPTkZJR30iID0geCA7IHRoZW4KLS0gICAgIGlmIHRlc3QgeCIke2dwZ19lcnJvcl9jb25maWdf
cHJlZml4fSIgIT0geCA7IHRoZW4KLS0gICAgICAgIEdQR19FUlJPUl9DT05GSUc9IiR7Z3BnX2Vy
cm9yX2NvbmZpZ19wcmVmaXh9L2Jpbi9ncGctZXJyb3ItY29uZmlnIgotLSAgICAgZWxzZQotLSAg
ICAgICBjYXNlICIke1NZU1JPT1R9IiBpbgotLSAgICAgICAgIC8qKQotLSAgICAgICAgICAgaWYg
dGVzdCAteCAiJHtTWVNST09UfS9iaW4vZ3BnLWVycm9yLWNvbmZpZyIgOyB0aGVuCi0tICAgICAg
ICAgICAgIEdQR19FUlJPUl9DT05GSUc9IiR7U1lTUk9PVH0vYmluL2dwZy1lcnJvci1jb25maWci
Ci0tICAgICAgICAgICBmaQotLSAgICAgICAgICAgOzsKLS0gICAgICAgICAnJykKLS0gICAgICAg
ICAgIDs7Ci0tICAgICAgICAgICopCi0tICAgICAgICAgICBBQ19NU0dfV0FSTihbSWdub3Jpbmcg
XCRTWVNST09UIGFzIGl0IGlzIG5vdCBhbiBhYnNvbHV0ZSBwYXRoLl0pCi0tICAgICAgICAgICA7
OwotLSAgICAgICBlc2FjCi0tICAgICBmaQotLSAgZmkKLSsgIFBLR19DSEVDS19NT0RVTEVTKFtH
UEdfRVJST1JdLCBbZ3BnLWVycm9yXSwgWwotKyAgICBBQ19ERUZJTkUoW0hBVkVfR1BHX0VSUk9S
XSwgWzFdLCBbRGVmaW5lIGlmIHlvdSBoYXZlIGdwZy1lcnJvciBsaWJyYXJ5XSkKLSAKLS0gIEFD
X1BBVEhfUFJPRyhHUEdfRVJST1JfQ09ORklHLCBncGctZXJyb3ItY29uZmlnLCBubykKLS0gIG1p
bl9ncGdfZXJyb3JfdmVyc2lvbj1pZmVsc2UoWyQxXSwgLDAuMCwkMSkKLS0gIEFDX01TR19DSEVD
S0lORyhmb3IgR1BHIEVycm9yIC0gdmVyc2lvbiA+PSAkbWluX2dwZ19lcnJvcl92ZXJzaW9uKQot
LSAgb2s9bm8KLS0gIGlmIHRlc3QgIiRHUEdfRVJST1JfQ09ORklHIiAhPSAibm8iIFwKLS0gICAg
ICYmIHRlc3QgLWYgIiRHUEdfRVJST1JfQ09ORklHIiA7IHRoZW4KLS0gICAgcmVxX21ham9yPWBl
Y2hvICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb24gfCBcCi0tICAgICAgICAgICAgICAgc2VkICdzL1wo
W1swLTldXSpcKVwuXChbWzAtOV1dKlwpL1wxLydgCi0tICAgIHJlcV9taW5vcj1gZWNobyAkbWlu
X2dwZ19lcnJvcl92ZXJzaW9uIHwgXAotLSAgICAgICAgICAgICAgIHNlZCAncy9cKFtbMC05XV0q
XClcLlwoW1swLTldXSpcKS9cMi8nYAotLSAgICBncGdfZXJyb3JfY29uZmlnX3ZlcnNpb249YCRH
UEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS12ZXJzaW9uYAotLSAgICBt
YWpvcj1gZWNobyAkZ3BnX2Vycm9yX2NvbmZpZ192ZXJzaW9uIHwgXAotLSAgICAgICAgICAgICAg
IHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS4qL1wxLydgCi0tICAgIG1pbm9yPWBl
Y2hvICRncGdfZXJyb3JfY29uZmlnX3ZlcnNpb24gfCBcCi0tICAgICAgICAgICAgICAgc2VkICdz
L1woW1swLTldXSpcKVwuXChbWzAtOV1dKlwpLiovXDIvJ2AKLS0gICAgaWYgdGVzdCAiJG1ham9y
IiAtZ3QgIiRyZXFfbWFqb3IiOyB0aGVuCi0tICAgICAgICBvaz15ZXMKLS0gICAgZWxzZQotLSAg
ICAgICAgaWYgdGVzdCAiJG1ham9yIiAtZXEgIiRyZXFfbWFqb3IiOyB0aGVuCi0tICAgICAgICAg
ICAgaWYgdGVzdCAiJG1pbm9yIiAtZ2UgIiRyZXFfbWlub3IiOyB0aGVuCi0tICAgICAgICAgICAg
ICAgb2s9eWVzCi0tICAgICAgICAgICAgZmkKLS0gICAgICAgIGZpCi0tICAgIGZpCi0tICBmaQot
LSAgaWYgdGVzdCAkb2sgPSB5ZXM7IHRoZW4KLS0gICAgR1BHX0VSUk9SX0NGTEFHUz1gJEdQR19F
UlJPUl9DT05GSUcgJGdwZ19lcnJvcl9jb25maWdfYXJncyAtLWNmbGFnc2AKLS0gICAgR1BHX0VS
Uk9SX0xJQlM9YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1saWJz
YAotLSAgICBHUEdfRVJST1JfTVRfQ0ZMQUdTPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9y
X2NvbmZpZ19hcmdzIC0tbXQgLS1jZmxhZ3MgMj4vZGV2L251bGxgCi0tICAgIEdQR19FUlJPUl9N
VF9MSUJTPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19hcmdzIC0tbXQgLS1s
aWJzIDI+L2Rldi9udWxsYAotLSAgICBBQ19NU0dfUkVTVUxUKFt5ZXMgKCRncGdfZXJyb3JfY29u
ZmlnX3ZlcnNpb24pXSkKLS0gICAgaWZlbHNlKFskMl0sICwgOiwgWyQyXSkKLS0gICAgZ3BnX2Vy
cm9yX2NvbmZpZ19ob3N0PWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19hcmdz
IC0taG9zdCAyPi9kZXYvbnVsbCB8fCBlY2hvIG5vbmVgCi0tICAgIGlmIHRlc3QgeCIkZ3BnX2Vy
cm9yX2NvbmZpZ19ob3N0IiAhPSB4bm9uZSA7IHRoZW4KLS0gICAgICBpZiB0ZXN0IHgiJGdwZ19l
cnJvcl9jb25maWdfaG9zdCIgIT0geCIkaG9zdCIgOyB0aGVuCi0tICBBQ19NU0dfV0FSTihbWwot
LSoqKgotLSoqKiBUaGUgY29uZmlnIHNjcmlwdCAkR1BHX0VSUk9SX0NPTkZJRyB3YXMKLS0qKiog
YnVpbHQgZm9yICRncGdfZXJyb3JfY29uZmlnX2hvc3QgYW5kIHRodXMgbWF5IG5vdCBtYXRjaCB0
aGUKLS0qKiogdXNlZCBob3N0ICRob3N0LgotLSoqKiBZb3UgbWF5IHdhbnQgdG8gdXNlIHRoZSBj
b25maWd1cmUgb3B0aW9uIC0td2l0aC1ncGctZXJyb3ItcHJlZml4Ci0tKioqIHRvIHNwZWNpZnkg
YSBtYXRjaGluZyBjb25maWcgc2NyaXB0IG9yIHVzZSBcJFNZU1JPT1QuCi0tKioqXV0pCi0tICAg
ICAgICBncGdfY29uZmlnX3NjcmlwdF93YXJuPSIkZ3BnX2NvbmZpZ19zY3JpcHRfd2FybiBsaWJn
cGctZXJyb3IiCi0tICAgICAgZmkKLS0gICAgZmkKLS0gIGVsc2UKLS0gICAgR1BHX0VSUk9SX0NG
TEFHUz0iIgotLSAgICBHUEdfRVJST1JfTElCUz0iIgotLSAgICBHUEdfRVJST1JfTVRfQ0ZMQUdT
PSIiCi0tICAgIEdQR19FUlJPUl9NVF9MSUJTPSIiCi0tICAgIEFDX01TR19SRVNVTFQobm8pCi0t
ICAgIGlmZWxzZShbJDNdLCAsIDosIFskM10pCi0tICBmaQotLSAgQUNfU1VCU1QoR1BHX0VSUk9S
X0NGTEFHUykKLS0gIEFDX1NVQlNUKEdQR19FUlJPUl9MSUJTKQotLSAgQUNfU1VCU1QoR1BHX0VS
Uk9SX01UX0NGTEFHUykKLS0gIEFDX1NVQlNUKEdQR19FUlJPUl9NVF9MSUJTKQotKyAgICBHUEdf
RVJST1JfTVRfQ0ZMQUdTPSIkR1BHX0VSUk9SX0NGTEFHUyIKLSsgICAgR1BHX0VSUk9SX01UX0xJ
QlM9Ii1scHRocmVhZCAkR1BHX0VSUk9SX0xJQlMiCi0rCi0rICAgIEFDX1NVQlNUKEdQR19FUlJP
Ul9DRkxBR1MpCi0rICAgIEFDX1NVQlNUKEdQR19FUlJPUl9MSUJTKQotKyAgICBBQ19TVUJTVChH
UEdfRVJST1JfTVRfQ0ZMQUdTKQotKyAgICBBQ19TVUJTVChHUEdfRVJST1JfTVRfTElCUykKLSsg
IF0sIFsKLSsgICAgQUNfTVNHX0VSUk9SKFskR1BHX0VSUk9SX0VSUk9SU10pCi0rICBdKQotIF0p
Ci0tLSAKLTIuMTguMAotCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL3BhdGNoZXMveHZmYi0w
MDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEta2JtLWZpbGUucGF0Y2ggYi9Ub29scy9mbGF0cGFr
L3BhdGNoZXMveHZmYi0wMDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEta2JtLWZpbGUucGF0Y2gK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg5ODg0MmIzODFkMjUxNDBmYmMwOGY1NGE5
NzIzMGE2ZGJlNGE0NTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvVG9vbHMvZmxhdHBhay9wYXRjaGVzL3h2ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGlu
Zy1hLWtibS1maWxlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotRnJvbSBh
ZWQxYjZlOGRlNDEzNzVjMWI4YjFkZmM0OGEzNTBlMGE5YjljYmJhIE1vbiBTZXAgMTcgMDA6MDA6
MDAgMjAwMQotRnJvbTogVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KLURh
dGU6IE1vbiwgMTEgSnVuIDIwMTggMTA6NTU6NDMgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCB4c2Vy
dmVyXSBIQUNLOiBBdm9pZCBjb21waWxpbmcgYSBrYm0gZmlsZQotCi1UaGlzIHdvdWxkIG5lZWQg
dG8gYmUgaW4gL3Vzci9zaGFyZS9YMTEvIGFzIHRoaXMgaXMgd2hlcmUKLXJlc291cmNlIGZpbGVz
IGFyZSBpbiB0aGUgc2FuZGJveCBidXQgaXQgaXMgcmVhZCBvbmx5IGluIHRoZXJlLgotCi1IYWNr
IGFyb3VuZCB0aGF0LgotLS0tCi0geGtiL2RkeExvYWQuYyB8IDkgKy0tLS0tLS0tCi0geGtiL3hr
YkluaXQuYyB8IDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgOSBkZWxl
dGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3hrYi9kZHhMb2FkLmMgYi94a2IvZGR4TG9hZC5jCi1p
bmRleCBiYmUzOTUyLi5hNGEwM2ExIDEwMDY0NAotLS0tIGEveGtiL2RkeExvYWQuYwotKysrIGIv
eGtiL2RkeExvYWQuYwotQEAgLTE0OCwxNCArMTQ4LDcgQEAgUnVuWGtiQ29tcCh4a2Jjb21wX2J1
ZmZlcl9jYWxsYmFjayBjYWxsYmFjaywgdm9pZCAqdXNlcmRhdGEpCi0gICAgICAgICB9Ci0gICAg
IH0KLSAKLS0gICAgaWYgKGFzcHJpbnRmKCZidWYsCi0tICAgICAgICAgICAgICAgICAiXCIlcyVz
eGtiY29tcFwiIC13ICVkICVzIC14a20gXCIlc1wiICIKLS0gICAgICAgICAgICAgICAgICItZW0x
ICVzIC1lbXAgJXMgLWVtbCAlcyBcIiVzJXMueGttXCIiLAotLSAgICAgICAgICAgICAgICAgeGti
YmluZGlyLCB4a2JiaW5kaXJzZXAsCi0tICAgICAgICAgICAgICAgICAoKHhrYkRlYnVnRmxhZ3Mg
PCAyKSA/IDEgOgotLSAgICAgICAgICAgICAgICAgICgoeGtiRGVidWdGbGFncyA+IDEwKSA/IDEw
IDogKGludCkgeGtiRGVidWdGbGFncykpLAotLSAgICAgICAgICAgICAgICAgeGtiYmFzZWRpcmZs
YWcgPyB4a2JiYXNlZGlyZmxhZyA6ICIiLCB4a21maWxlLAotLSAgICAgICAgICAgICAgICAgUFJF
X0VSUk9SX01TRywgRVJST1JfUFJFRklYLCBQT1NUX0VSUk9SX01TRzEsCi0rICAgIGlmIChhc3By
aW50ZigmYnVmLCAiY3AgL2FwcC93ZWJraXQvVG9vbHMvZmxhdHBhay9maWxlcy9kZWZhdWx0Lnhr
bSBcIiVzJXMueGttXCIiLAotICAgICAgICAgICAgICAgICAgeGttX291dHB1dF9kaXIsIGtleW1h
cCkgPT0gLTEpCi0gICAgICAgICBidWYgPSBOVUxMOwotIAotZGlmZiAtLWdpdCBhL3hrYi94a2JJ
bml0LmMgYi94a2IveGtiSW5pdC5jCi1pbmRleCA5Yzc3MmY1Li40ZTBiNzc0IDEwMDY0NAotLS0t
IGEveGtiL3hrYkluaXQuYwotKysrIGIveGtiL3hrYkluaXQuYwotQEAgLTg3LDcgKzg3LDcgQEAg
dHlwZWRlZiBzdHJ1Y3QgX1NydlhrbUluZm8gewotICNkZWZpbmUJWEtCX0RGTFRfUlVMRVNfUFJP
UAlUUlVFCi0gI2VuZGlmCi0gCi0tY29uc3QgY2hhciAqWGtiQmFzZURpcmVjdG9yeSA9IFhLQl9C
QVNFX0RJUkVDVE9SWTsKLStjb25zdCBjaGFyICpYa2JCYXNlRGlyZWN0b3J5ID0gIi91c3Ivc2hh
cmUvWDExL3hrYi8iOwotIGNvbnN0IGNoYXIgKlhrYkJpbkRpcmVjdG9yeSA9IFhLQl9CSU5fRElS
RUNUT1JZOwotIHN0YXRpYyBpbnQgWGtiV2FudEFjY2Vzc1ggPSAwOwotIAotLS0gCi0yLjE3LjEK
LQpkaWZmIC0tZ2l0IGEvVG9vbHMvZ3RrL2luc3RhbGwtZGVwZW5kZW5jaWVzIGIvVG9vbHMvZ3Rr
L2luc3RhbGwtZGVwZW5kZW5jaWVzCmluZGV4IDZmZDU2NmYwZGNmM2M1MTQyZjY5MGZlMmIzOTNh
NmUwM2U3OWUzYTMuLjYzYjk2NzVmYzA5MThjZWEwZDBkNmRmMWE3OTE0ZTM1Y2M4MTNkZDYgMTAw
NzU1Ci0tLSBhL1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVuZGVuY2llcworKysgYi9Ub29scy9ndGsv
aW5zdGFsbC1kZXBlbmRlbmNpZXMKQEAgLTE3OCw2ICsxNzgsMTAgQEAgZnVuY3Rpb24gaW5zdGFs
bERlcGVuZGVuY2llc1dpdGhBcHQgewogICAgICAgICB3ZXN0b24gXAogICAgICAgICB4dmZiIgog
CisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgd2l0
aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCisgICAgICAgIGZs
YXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWls
ZGluZyB0aGUgamhidWlsZC4KICAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKICAgICAgICAgYmlz
b24gXApAQCAtMzQ4LDYgKzM1MiwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0
aFBhY21hbiB7CiAgICAgICAgIHdlc3RvbiBcCiAgICAgICAgIHhvcmctc2VydmVyLXh2ZmIiCiAK
KyAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB3aXRo
IHRoZSBGbGF0cGFrIFNESy4KKyAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAgICAgICAgZmxh
dHBhayIKKwogICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxk
aW5nIHRoZSBqaGJ1aWxkLgogICAgICMgTm90ZTogQ291bGQgbm90IGZpbmQgbGliZWdsLW1lc2EK
ICAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKQEAgLTUyMiw2ICs1MzAsMTAgQEAgZnVuY3Rpb24g
aW5zdGFsbERlcGVuZGVuY2llc1dpdGhEbmYgewogICAgICAgICB3ZXN0b24tZGV2ZWwgXAogICAg
ICAgICB4b3JnLXgxMS1zZXJ2ZXItWHZmYiIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2ll
cyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAgIHBhY2th
Z2VzPSIkcGFja2FnZXMgXAorICAgICAgICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBhcmUgZGVw
ZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAgcGFja2Fn
ZXM9IiRwYWNrYWdlcyBcCiAgICAgICAgIGJpc29uIFwKZGlmZiAtLWdpdCBhL1Rvb2xzL3dwZS9p
bnN0YWxsLWRlcGVuZGVuY2llcyBiL1Rvb2xzL3dwZS9pbnN0YWxsLWRlcGVuZGVuY2llcwppbmRl
eCBjYTFjZDNmZGVmMGNhZjY0NjY4MjNlNWE4ZWQ5MmI0NDdjNDkwYWExLi5mMmE1ZjI1ZGVkODM3
YTllOTM1MjU1NGI2ZDJmMmFlMWYzNTA2MjRkIDEwMDc1NQotLS0gYS9Ub29scy93cGUvaW5zdGFs
bC1kZXBlbmRlbmNpZXMKKysrIGIvVG9vbHMvd3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzCkBAIC0x
MTEsNiArMTExLDEwIEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoQXB0IHsKICAg
ICAgICAgcnVieS1oaWdobGluZSBcCiAgICAgICAgIHJ1YnktanNvbiIKIAorICAgICMgVGhlc2Ug
YXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHdpdGggdGhlIEZsYXRwYWsg
U0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAorICAgICAgICBmbGF0cGFrIgorCiAgICAg
IyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgdGhlIGpoYnVp
bGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCiAgICAgICAgIGdpdCBcCkBAIC0yMTQsNiAr
MjE4LDEwIEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoUGFjbWFuIHsKICAgICAg
ICAgcnVieSBcCiAgICAgICAgIHR0Zi1saWJlcmF0aW9uIgogCisgICAgIyBUaGVzZSBhcmUgZGVw
ZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgd2l0aCB0aGUgRmxhdHBhayBTREsuCisg
ICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCisgICAgICAgIGZsYXRwYWsiCisKICAgICAjIFRoZXNl
IGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB0aGUgamhidWlsZC4KICAg
ICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKICAgICAgICAgZXhwYXQgXApAQCAtMzI2LDYgKzMzNCwx
MCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aERuZiB7CiAgICAgICAgIHJ1Ynln
ZW0taGlnaGxpbmUgXAogICAgICAgICBydWJ5Z2VtLWpzb24iCiAKKyAgICAjIFRoZXNlIGFyZSBk
ZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB3aXRoIHRoZSBGbGF0cGFrIFNESy4K
KyAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAgICAgICAgZmxhdHBhayIKKwogICAgICMgVGhl
c2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHRoZSBqaGJ1aWxkLgog
ICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAogICAgICAgICBleHBhdC1kZXZlbCBcCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
MzVjYjU2MzNhMzc1NWMxNWE1ZGE1YzM1MzcyZmJhYmY1MjFiMmIyMi4uMGYwYjNhNTk3MDNjZjM5
MDVmMDQwOTEyMzYwOWFjYWJiMDc5ZjM4YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTAy
LTA0ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBb
R1RLXVtXUEVdIE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NTgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvY29uZi9mbGF0cGFrLWh0
dHBkLmNvbmY6IEFkanVzdCBwYXRocy4KKwogMjAyMC0wMy0xMSAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gVW5za2lwIGZhc3QvbWVkaWFzdHJlYW0g
dGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvY29uZi9mbGF0cGFrLWh0dHBkLmNv
bmYgYi9MYXlvdXRUZXN0cy9odHRwL2NvbmYvZmxhdHBhay1odHRwZC5jb25mCmluZGV4IDNjMDNl
NDIzOWMyNDk4OWQ5Y2Q3OTY4NjE0NGJjN2NlMmIzMGMzMWIuLmJmNTIxNWQ1ODlhZDYxZjg4MmQ1
M2EwNjc1YWQ2N2E0NDZhYjk0M2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvY29uZi9m
bGF0cGFrLWh0dHBkLmNvbmYKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC9jb25mL2ZsYXRwYWstaHR0
cGQuY29uZgpAQCAtMSw1ICsxLDUgQEAKIFNlcnZlclRva2VucyBPUwotU2VydmVyUm9vdCAiL2Fw
cC8iCitTZXJ2ZXJSb290ICIvdXNyLyIKIAogUGlkRmlsZSAiL3RtcC9XZWJLaXQvaHR0cGQucGlk
IgogU2NvcmVCb2FyZEZpbGUgIi90bXAvV2ViS2l0L2h0dHBkLnNjb3JlYm9hcmQiCkBAIC0zMyw5
ICszMyw3IEBAIExvYWRNb2R1bGUgbG9nX2NvbmZpZ19tb2R1bGUgICAgbW9kdWxlcy9tb2RfbG9n
X2NvbmZpZy5zbwogTG9hZE1vZHVsZSBzc2xfbW9kdWxlICAgICAgICAgICBtb2R1bGVzL21vZF9z
c2wuc28KIExvYWRNb2R1bGUgcGhwN19tb2R1bGUgICAgICAgICAgbW9kdWxlcy9saWJwaHA3LnNv
CiBMb2FkTW9kdWxlIGFzaXNfbW9kdWxlICAgICAgICAgIG1vZHVsZXMvbW9kX2FzaXMuc28KLUxv
YWRNb2R1bGUgZW52X21vZHVsZSAgICAgICAgICAgbW9kdWxlcy9tb2RfZW52LnNvCiAKLVNldEVu
diBQRVJMNUxJQiAvYXBwL2xpYi9wZXJsCiAKIFNlcnZlck5hbWUgMTI3LjAuMC4xCiAKQEAgLTU0
LDcgKzUyLDcgQEAgQWNjZXNzRmlsZU5hbWUgLmh0YWNjZXNzCiBVc2VDYW5vbmljYWxOYW1lIE9u
CiBIb3N0bmFtZUxvb2t1cHMgT2ZmCiAKLVR5cGVzQ29uZmlnIC9ldGMvbWltZS50eXBlcworVHlw
ZXNDb25maWcgL3Vzci9jb25mL21pbWUudHlwZXMKIAogTG9nTGV2ZWwgd2FybgogTG9nRm9ybWF0
ICIlaCAlbCAldSAldCBcIiVyXCIgJT5zICViIFwiJXtSZWZlcmVyfWlcIiBcIiV7VXNlci1BZ2Vu
dH1pXCIiIGNvbWJpbmVkCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393236</attachid>
            <date>2020-03-11 07:04:55 -0700</date>
            <delta_ts>2020-03-17 09:17:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205658-20200311140453.patch</filename>
            <type>text/plain</type>
            <size>134894</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MjU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTNkMjliOWFlMzZmYTgy
ODg2ZTQwN2YxMTY0MWQwNTliYWFlNzlkNS4uZDNlNTY4OGNiZTkxMGNmZGVlMWEwNmIxN2VkOGUy
ZDMzY2Q2Mzc5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAyLTA0ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVd
IE1pZ3JhdGUgdG8gRmxhdHBhay1iYXNlZCBkZXYgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0
aW9uTGliSHlwaGVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNjYW5UZXN0RGljdGlvbmFyaWVz
RGlyZWN0b3J5SWZOZWNlc3NhcnkpOiBDaGVjayBmb3IgZmxhdHBhay1pbnN0YWxsZWQgZGljdGlv
bmFyaWVzLgorCiAyMDIwLTAzLTExICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBbaU9TXSBVbnNraXAgZmFzdC9tZWRpYXN0cmVhbSB0ZXN0cwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9oeXBoZW4vSHlwaGVuYXRpb25MaWJIeXBo
ZW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9oeXBoZW4vSHlwaGVuYXRpb25M
aWJIeXBoZW4uY3BwCmluZGV4IDEyYmFhNGM0ZDNlOWU2M2Y3ZmY4MWM1ZTJiMTE5NGI4YmI4YTlj
MDUuLmYzMzU5ZDgwNzAyMmY1NDg5YzY4ZjlhY2Y4MTZhNjcwNDJhNTNkNjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0aW9uTGliSHlwaGVu
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2h5cGhlbi9IeXBoZW5hdGlv
bkxpYkh5cGhlbi5jcHAKQEAgLTEyMSw4ICsxMjEsMTUgQEAgc3RhdGljIHZvaWQgc2NhblRlc3RE
aWN0aW9uYXJpZXNEaXJlY3RvcnlJZk5lY2Vzc2FyeShIYXNoTWFwPEF0b21TdHJpbmcsIFZlY3Rv
cjwKICAgICAvLyBsaWJoeXBoZW4gZG9lc24ndCBoYXZlIHRoZSBjb25jZXB0IG9mIGluc3RhbGxl
ZCBkaWN0aW9uYXJpZXMuIEluc3RlYWQsCiAgICAgLy8gd2UgaGF2ZSB0aGlzIHNwZWNpYWwgY2Fz
ZSBmb3IgV2ViS2l0IHRlc3RzLgogI2lmIFBMQVRGT1JNKEdUSykKKyAgICAvLyBUcnkgYWx0ZXJu
YXRpdmUgZGljdGlvbmFyaWVzIHBhdGggZm9yIHBlb3BsZSB1c2luZyBGbGF0cGFrLgorICAgIEdV
bmlxdWVQdHI8Y2hhcj4gZGljdGlvbmFyaWVzUGF0aChnX2J1aWxkX2ZpbGVuYW1lKCIvdXNyIiwg
InNoYXJlIiwgIndlYmtpdGd0ay10ZXN0LWRpY3RzIiwgbnVsbHB0cikpOworICAgIGlmIChnX2dl
dGVudigiRkxBVFBBS19JRCIpICYmIGdfZmlsZV90ZXN0KGRpY3Rpb25hcmllc1BhdGguZ2V0KCks
IHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfSVNfRElSKSkpIHsKKyAgICAgICAg
c2NhbkRpcmVjdG9yeUZvckRpY3Rpb25hcmllcyhkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBhdmFp
bGFibGVMb2NhbGVzKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIENTdHJpbmcgYnVp
bGREaXJlY3RvcnkgPSB3ZWJraXRCdWlsZERpcmVjdG9yeSgpOwotICAgIEdVbmlxdWVQdHI8Y2hh
cj4gZGljdGlvbmFyaWVzUGF0aChnX2J1aWxkX2ZpbGVuYW1lKGJ1aWxkRGlyZWN0b3J5LmRhdGEo
KSwgIkRlcGVuZGVuY2llc0dUSyIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWRpY3RzIiwgbnVs
bHB0cikpOworICAgIGRpY3Rpb25hcmllc1BhdGgucmVzZXQoZ19idWlsZF9maWxlbmFtZShidWls
ZERpcmVjdG9yeS5kYXRhKCksICJEZXBlbmRlbmNpZXNHVEsiLCAiUm9vdCIsICJ3ZWJraXRndGst
dGVzdC1kaWN0cyIsIG51bGxwdHIpKTsKICAgICBpZiAoZ19maWxlX3Rlc3QoZGljdGlvbmFyaWVz
UGF0aC5nZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9JU19ESVIpKSkg
ewogICAgICAgICBzY2FuRGlyZWN0b3J5Rm9yRGljdGlvbmFyaWVzKGRpY3Rpb25hcmllc1BhdGgu
Z2V0KCksIGF2YWlsYWJsZUxvY2FsZXMpOwogICAgICAgICByZXR1cm47CkBAIC0xMzAsNyArMTM3
LDkgQEAgc3RhdGljIHZvaWQgc2NhblRlc3REaWN0aW9uYXJpZXNEaXJlY3RvcnlJZk5lY2Vzc2Fy
eShIYXNoTWFwPEF0b21TdHJpbmcsIFZlY3RvcjwKIAogICAgIC8vIFRyeSBhbHRlcm5hdGl2ZSBk
aWN0aW9uYXJpZXMgcGF0aCBmb3IgcGVvcGxlIG5vdCB1c2luZyBKSEJ1aWxkLgogICAgIGRpY3Rp
b25hcmllc1BhdGgucmVzZXQoZ19idWlsZF9maWxlbmFtZShidWlsZERpcmVjdG9yeS5kYXRhKCks
ICJ3ZWJraXRndGstdGVzdC1kaWN0cyIsIG51bGxwdHIpKTsKLSAgICBzY2FuRGlyZWN0b3J5Rm9y
RGljdGlvbmFyaWVzKGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIGF2YWlsYWJsZUxvY2FsZXMpOwor
ICAgIGlmIChnX2ZpbGVfdGVzdChkaWN0aW9uYXJpZXNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxH
RmlsZVRlc3Q+KEdfRklMRV9URVNUX0lTX0RJUikpKQorICAgICAgICBzY2FuRGlyZWN0b3J5Rm9y
RGljdGlvbmFyaWVzKGRpY3Rpb25hcmllc1BhdGguZ2V0KCksIGF2YWlsYWJsZUxvY2FsZXMpOwor
CiAjZWxpZiBkZWZpbmVkKFRFU1RfSFlQSEVOQVRBSU9OX1BBVEgpCiAgICAgc2NhbkRpcmVjdG9y
eUZvckRpY3Rpb25hcmllcyhURVNUX0hZUEhFTkFUQUlPTl9QQVRILCBhdmFpbGFibGVMb2NhbGVz
KTsKICNlbHNlCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggOGZkZTBlZjc0NjhmOWI1ZmNkNjhiYjM3NzdiMDAzNDhmMjliZjNmZi4uZDEzY2MxMWUz
NjkzMmU0OWUxMWRjZmQ0NjA2MDQ3N2ZhNTI1MTc5MSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNSBAQAorMjAyMC0wMi0wNCAg
UGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11b
V1BFXSBNaWdyYXRlIHRvIEZsYXRwYWstYmFzZWQgZGV2IFNESworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NjU4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSkhCdWlsZCB3aWxsIG5vdyBiZSB1c2VkIG9u
bHkgaWYgdGhlIFdFQktJVF9KSEJVSUxEIGVudmlyb25tZW50CisgICAgICAgIHZhcmlhYmxlIGlz
IHNldCB0byAxLCB3aGljaCBpcyB0aGUgY2FzZSBmb3IgdGhlIHRpbWUgYmVpbmcgb24gdGhlCisg
ICAgICAgIEdUSyBhbmQgV1BFIEVXUy9idWlsZCBib3RzLgorCisgICAgICAgIEJ5IGRlZmF1bHQg
dGhlIGJ1aWxkIGRlcGVuZGVuY2llcyBhcmUgbm93IGxvY2FsbHkgaW5zdGFsbGVkIGZyb20gYQor
ICAgICAgICBGbGF0cGFrIHJlcG9zaXRvcnkgaG9zdGVkIGF0IGh0dHBzOi8vc29mdHdhcmUuaWdh
bGlhLmNvbS4gVGhlCisgICAgICAgIHJlcG9zaXRvcnkgY2FuIGJlIHJlZ2VuZXJhdGVkIHdpdGgg
dGhlIHNjcmlwdHMgZnJvbSB0aGUKKyAgICAgICAgd2Via2l0LWZsYXRwYWstc2RrIEdpdGh1YiBw
cm9qZWN0CisgICAgICAgIChodHRwczovL2dpdGh1Yi5jb20vSWdhbGlhL3dlYmtpdC1mbGF0cGFr
LXNkaykuIFRoaXMgaXMgZG9uZQorICAgICAgICB0cmFuc3BhcmVudGx5IHdpdGggdGhlIHVwZGF0
ZS13ZWJraXR7Z3RrLHdwZX0tbGlicyBzY3JpcHRzLiBBcworICAgICAgICB0aGVyZSBpcyBubyBu
ZWVkIHRvIHJlYnVpbGQgdGhlIGRlcGVuZGVuY2llcyBmcm9tIHNjcmF0Y2gsIHRoZQorICAgICAg
ICBkZXZlbG9wZXIgdXNlci1leHBlcmllbmNlIHNob3VsZCBub3cgYmUgbXVjaCBtb3JlIGZyaWVu
ZGx5IGFuZAorICAgICAgICBvdmVyYWxsIGJ1aWxkIHRpbWVzIHJlZHVjZWQuCisKKyAgICAgICAg
QXMgYW4gYWRkaXRpb25hbCBjb21tb2RpdHksIHRoZSBuZXcgZW52aXJvbm1lbnQgc3VwcG9ydHMg
dGhlCisgICAgICAgIEdTdHJlYW1lciBnc3QtYnVpbGQtYmFzZWQgd29ya2Zsb3cuIEp1c3Qgc2V0
IHRoZSBHU1RfQlVJTERfUEFUSAorICAgICAgICBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byB5b3Vy
IGdzdC1idWlsZCBwYXRoLiBUaGlzIGZlYXR1cmUgd2FzCisgICAgICAgIGNvbnRyaWJ1dGVkIGJ5
IFRoaWJhdWx0IFNhdW5pZXIuCisKKyAgICAgICAgVGhlIEpIQnVpbGQgaW5mcmFzdHJ1Y3R1cmUg
d2lsbCBiZSByZW1vdmVkIG9uY2UgYWxsIHRoZSBib3RzIGhhdmUKKyAgICAgICAgYmVlbiBzd2l0
Y2hlZCBvdmVyIHRvIEZsYXRwYWsuCisKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9ld3Mt
YnVpbGQvc3RlcHMucHk6CisgICAgICAgIChJbnN0YWxsR3RrRGVwZW5kZW5jaWVzKToKKyAgICAg
ICAgKEluc3RhbGxXcGVEZXBlbmRlbmNpZXMpOgorICAgICAgICAoQ29tcGlsZVdlYktpdC5zdGFy
dCk6CisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L3J1bjoKKyAgICAg
ICAgKiBTY3JpcHRzL2J1aWxkLXdlYmtpdDoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1iaW5kaW5n
cy10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1idWlsdGlucy1nZW5lcmF0b3ItdGVzdHM6
CisgICAgICAgICogU2NyaXB0cy9ydW4tZ3RrLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVu
LWphdmFzY3JpcHRjb3JlLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVuLW1pbmlicm93c2Vy
OgorICAgICAgICAqIFNjcmlwdHMvcnVuLXF0LXdwZS1taW5pYnJvd3NlcjoKKyAgICAgICAgKiBT
Y3JpcHRzL3J1bi13ZWJkcml2ZXItdGVzdHM6CisgICAgICAgICogU2NyaXB0cy9ydW4td3BlLXRl
c3RzOgorICAgICAgICAqIFNjcmlwdHMvdGVzdC13ZWJraXRwZXJsOgorICAgICAgICAqIFNjcmlw
dHMvdGVzdC13ZWJraXRweToKKyAgICAgICAgKiBTY3JpcHRzL3Rlc3QyNjItcnVubmVyOgorICAg
ICAgICAqIFNjcmlwdHMvdXBkYXRlLXdlYmtpdC1mbGF0cGFrOiBSZW5hbWVkIGZyb20gVG9vbHMv
U2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWZsYXRwYWsuCisgICAgICAgICogU2NyaXB0cy91cGRh
dGUtd2Via2l0Z3RrLWxpYnM6CisgICAgICAgICogU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWZs
YXRwYWs6IFJlbW92ZWQuCisgICAgICAgICogU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWxpYnM6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRkaXJzLnBtOgorICAgICAgICAoZ2V0VXNlckZsYXRw
YWtQYXRoKToKKyAgICAgICAgKGluRmxhdHBha1NhbmRib3gpOgorICAgICAgICAocnVuSW5GbGF0
cGFrSWZBdmFpbGFibGUpOgorICAgICAgICAod3JhcHBlclByZWZpeElmTmVlZGVkKToKKyAgICAg
ICAgKHNob3VsZFVzZUpoYnVpbGQpOgorICAgICAgICAoc2hvdWxkVXNlRmxhdHBhayk6CisgICAg
ICAgIChzaG91bGRSZW1vdmVDTWFrZUNhY2hlKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlLnB5OgorICAgICAgICAoRXhlY3V0aXZlLmtpbGxfYWxs
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weToKKyAgICAgICAgKFBv
cnQuX3BhdGhfdG9fYXBhY2hlKToKKyAgICAgICAgKFBvcnQuX3Nob3VsZF9ydW5fYXNfcGl4ZWxf
dGVzdCk6CisgICAgICAgIChQb3J0Ll9pbl9mbGF0cGFrX3NhbmRib3gpOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHk6CisgICAgICAgIChHdGtQb3J0LnNldHVwX2Vudmly
b25fZm9yX3NlcnZlcik6CisgICAgICAgIChHdGtQb3J0Ll9nZXRfY3Jhc2hfbG9nKToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZy5weToKKyAgICAg
ICAgKEdEQkNyYXNoTG9nR2VuZXJhdG9yKToKKyAgICAgICAgKEdEQkNyYXNoTG9nR2VuZXJhdG9y
Ll9faW5pdF9fKToKKyAgICAgICAgKEdEQkNyYXNoTG9nR2VuZXJhdG9yLmdlbmVyYXRlX2NyYXNo
X2xvZyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9s
b2dfdW5pdHRlc3QucHk6CisgICAgICAgIChHREJDcmFzaExvZ0dlbmVyYXRvclRlc3QudGVzdF9n
ZW5lcmF0ZV9jcmFzaF9sb2cpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC93cGUu
cHk6CisgICAgICAgIChXUEVQb3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcik6CisgICAgICAg
IChXUEVQb3J0Ll9nZXRfY3Jhc2hfbG9nKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Bv
cnQveHZmYmRyaXZlci5weToKKyAgICAgICAgKFh2ZmJEcml2ZXIuX3NldHVwX2Vudmlyb25fZm9y
X3Rlc3QpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0Fj
dGl2YXRlRm9udHNHdGsuY3BwOgorICAgICAgICAoV1RSOjpnZXRGb250c1BhdGgpOgorICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUu
Y3BwOgorICAgICAgICAoV1RSOjpnZXRGb250c1BhdGgpOgorICAgICAgICAqIGZsYXRwYWsvZmls
ZXMvZGVmYXVsdC54a206IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9maWxlcy9odHRwZC1h
dXRvZ2VuLnNoOiBSZW1vdmVkLgorICAgICAgICAqIGZsYXRwYWsvZmxhdHBha3V0aWxzLnB5Ogor
ICAgICAgICAoY2hlY2tfZmxhdHBhayk6CisgICAgICAgIChGbGF0cGFrUmVwb3MudXBkYXRlKToK
KyAgICAgICAgKEZsYXRwYWtQYWNrYWdlLl9fcmVwcl9fKToKKyAgICAgICAgKEZsYXRwYWtQYWNr
YWdlLl9fc3RyX18pOgorICAgICAgICAoV2Via2l0RmxhdHBhay5sb2FkX2Zyb21fYXJncyk6Cisg
ICAgICAgIChXZWJraXRGbGF0cGFrLl9faW5pdF9fKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsu
Y2xlYW5fYXJncyk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnNldHVwX2J1aWxkZGlyKToKKyAg
ICAgICAgKFdlYmtpdEZsYXRwYWspOgorICAgICAgICAoV2Via2l0RmxhdHBhay5zZXR1cF9nc3Ri
dWlsZCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnJ1bl9pbl9zYW5kYm94KToKKyAgICAgICAg
KFdlYmtpdEZsYXRwYWsucnVuKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuaGFzX2Vudmlyb25t
ZW50KToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuc2F2ZV9jb25maWcpOgorICAgICAgICAoV2Vi
a2l0RmxhdHBhay5zZXR1cF9kZXZfZW52KToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuaW5zdGFs
bF9hbGwpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5ydW5fZ2RiKToKKyAgICAgICAgKiBmbGF0
cGFrL29yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sOiBSZW1vdmVkLgorICAgICAgICAqIGZs
YXRwYWsvb3JnLndlYmtpdC5HVEsueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL29y
Zy53ZWJraXQuV1BFLnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9vcmcud2Via2l0
LldQRU1vZHVsZXMueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL29yZy53ZWJraXQu
V1BFUVQueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL29yZy53ZWJraXQuV2ViS2l0
LnlhbWw6IFJlbW92ZWQuCisgICAgICAgICogZmxhdHBhay9wYXRjaGVzL2h0dHBkLTAwMDEtY29u
ZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1QQ1JFLWRldGVjdGlvbi5wYXRjaDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmbGF0cGFrL3BhdGNoZXMvbGliZ2NyeXB0LTAwMDEtVXNlLXBrZy1jb25maWct
dG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRjaDogUmVtb3ZlZC4KKyAgICAgICAgKiBmbGF0cGFrL3Bh
dGNoZXMveHZmYi0wMDAxLUhBQ0stQXZvaWQtY29tcGlsaW5nLWEta2JtLWZpbGUucGF0Y2g6IFJl
bW92ZWQuCisKIDIwMjAtMDMtMTEgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW0dUS10gRmFpbGluZyBBUEkgdGVzdHMgdW5kZXIgdGhlIEZsYXRwYWsg
U0RLIGVudmlyb25tZW50CmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsv
UkVBRE1FIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL1JFQURNRQpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZjlmODlmOTgyMWFlZWEyMGVkYjdjZWRiY2FiZmI3N2YzODBiZDJj
My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9C
dWlsZFNsYXZlU3VwcG9ydC9ndGsvUkVBRE1FCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBA
QAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotIFJ1bm5p
bmcgYSBHVEsrIGJ1aWxkIHNsYXZlIHVuZGVyIGRhZW1vbnRvb2xzCi09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLVRoaXMgZGlyZWN0b3J5IGNvbnRhaW5z
IHNldmVyYWwgc2NyaXB0cyB3aGljaCBjYW4gYmUgdXNlZCB0byBydW4gYSBXZWJLaXRHVEsKLWJ1
aWxkIHNsYXZlIHVuZGVyIGRhZW1vbnRvb2xzIFsxXS4gVGhpcyBpcyBjb252ZW5pZW50IGJlY2F1
c2UgZGFlbW9udG9vbHMKLXdpbGwgYXV0b21hdGljYWxseSByZXN0YXJ0IHNlcnZpY2VzIHdoZW4g
dGhleSBkaWUsIGFuZCB0aGF0IG1lYW5zIGxlc3MgaHVtYW4KLWludGVydmVudGlvbiBpcyBuZWVk
ZWQuCi0KLQotRGVwZW5kZW5jaWVzCi09PT09PT09PT09PT0KLQotSW4gb3JkZXIgdG8gdXNlIHRo
ZSBwcm92aWRlZCBzZXJ2aWNlIGNvbnRyb2wgZmlsZXMsIHlvdSB3aWxsIG5lZWQgdGhlCi1mb2xs
b3dpbmc6Ci0KLSogVGhlIEdOVSBCYXNoIHNoZWxsICh0aGUgc2NyaXB0cyBjb250YWluIHNvbWUg
YmFzaC1pc21zKQotCi0qIFRoZSBkYWVtb250b29scyBwYWNrYWdlIChvciBvbmUgb2YgaXRzIGRy
b3AtaW4gcmVwbGFjZW1lbnRzLCBsaWtlIHJ1bml0Ci0gIG9yIGZyZWVkdDsgYnV0IG9ubHkgZGFl
bW9udG9vbHMgaGFzIGJlZW4gdGVzdGVkIHNvIGZhcikuCi0KLUluIHNob3J0LCBpbiBhIERlYmlh
bi1iYXNlZCBzeXN0ZW0geW91IGNhbiBlbnN1cmUgeW91IGhhdmUgdGhlIG5lZWRlZCBiaXRzCi13
aXRoIHRoZSBmb2xsb3dpbmcgY29tbWFuZDoKLQotICBhcHQtZ2V0IGluc3RhbGwgZGFlbW9udG9v
bHMtcnVuCi0KLQotU2V0dXAKLT09PT09Ci0KLTEuIEZvbGxvdyB0aGUgaW5zdHJ1Y3Rpb25zIGF0
IGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvd2lraS9CdWlsZEJvdAotCi0yLiBJbnN0YWxsIHRoZSBk
ZXBlbmRlbmNpZXMgb3V0bGluZWQgYWJvdmUuCi0KLTMuIENvcHkgImRhZW1vbnRvb2xzLWJ1aWxk
Ym90LmNvbmYiIHRvICIvZXRjL2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNvbmYiCi0KLTQuIEVkaXQg
dGhlIGNvbmZpZ3VyYXRpb24gZmlsZSB0byBzdWl0IHlvdXIgbmVlZHMsIHRoZSBjb21tZW50cyBz
aG91bGQKLSAgIGJlIHNlbGYtZXhwbGFuYXRvcnkuCi0KLTUuIERyb3AgdGhlICJidWlsZGJvdCIg
YW5kICJwdWxzZWF1ZGlvIiBkaXJlY3RvcmllcyB0byB0aGUgc2VydmljZSBjb250cm9sIGRpcmVj
dG9yeSBvZgotICAgZGFlbW9udG9vbHM7IGZvciBEZWJpYW4tYmFzZWQgc2V0dXBzIHRoYXQgd291
bGQgYmUgIi9ldGMvc2VydmljZSIKLQotCi1SZWZlcmVuY2VzCi09PT09PT09PT09Ci0KLVsxXSBo
dHRwOi8vY3IueXAudG8vZGFlbW9udG9vbHMuaHRtbAotCmRpZmYgLS1naXQgYS9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvbG9nL3J1biBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBw
b3J0L2d0ay9idWlsZGJvdC9sb2cvcnVuCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCBm
NmM3NDRjNmRkYTQ1Y2JlMmI1ZDBmYThjNGYyNWJhYjUxZjZhNGRkLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2d0
ay9idWlsZGJvdC9sb2cvcnVuCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotIyEgL3Vz
ci9iaW4vZW52IGJhc2gKLSMKLSMgQ29weXJpZ2h0IChDKSAyMDEwIElnYWxpYSBTLkwuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMKLSMg
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotCi06ICR7
QlVJTERCT1RfQ09ORklHOj0vZXRjL2RhZW1vbnRvb2xzLWJ1aWxkYm90LmNvbmZ9Ci0KLSMgUmVh
ZCBjb25maWd1cmF0aW9uIGZpbGUKLVsgLXIgIiR7QlVJTERCT1RfQ09ORklHfSIgXSAmJiAuICIk
e0JVSUxEQk9UX0NPTkZJR30iCi0KLTogJHtidWlsZGJvdF91c2VyOj0ke0hPTUV9fQotOiAke2J1
aWxkYm90X2xvZ19wYXRoOj0vdmFyL2xvZy9idWlsZGJvdH0KLQotIyBFeHBhbmQgYWxsICJlbnZf
KiIgZW52aXJvbm1lbnQgdmFyaWFibGVzCi1mb3IgdmFybmFtZSBpbiAkeyFlbnZfKn0gOyBkbwot
CWV2YWwgImV4cG9ydCAke3Zhcm5hbWUjZW52X309XCR7JHt2YXJuYW1lfX0iCi1kb25lCi0KLW1r
ZGlyIC1wICIke2J1aWxkYm90X2xvZ19wYXRofSIKLWNob3duICIke2J1aWxkYm90X3VzZXJ9IiAi
JHtidWlsZGJvdF9sb2dfcGF0aH0iCi0KLWV4ZWMgL3Vzci9iaW4vc2V0dWlkZ2lkICIke2J1aWxk
Ym90X3VzZXJ9IiBcCi0gICAgIC91c3IvYmluL211bHRpbG9nIHQgIiR7YnVpbGRib3RfbG9nX3Bh
dGh9IgotCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3Qv
cnVuIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZ3RrL2J1aWxkYm90L3J1bgpkZWxldGVkIGZp
bGUgbW9kZSAxMDA3NTUKaW5kZXggMTY2YzM4M2VhOGU2YzEwZmNjMDVlZjA3ZWQ0ZjQ4ODliYmJi
OWVhYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29s
cy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvYnVpbGRib3QvcnVuCisrKyAvZGV2L251bGwKQEAgLTEs
NzcgKzAsMCBAQAotIyEgL3Vzci9iaW4vZW52IGJhc2gKLSMKLSMgQ29weXJpZ2h0IChDKSAyMDEw
IElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
Ci0jIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCi0jIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgotCi1leGVjIDI+JjEKLQotOiAke0JVSUxEQk9UX0NPTkZJRzo9L2V0Yy9kYWVt
b250b29scy1idWlsZGJvdC5jb25mfQotCi0jIFJlYWQgY29uZmlndXJhdGlvbiBmaWxlCi1bIC1y
ICIke0JVSUxEQk9UX0NPTkZJR30iIF0gJiYgLiAiJHtCVUlMREJPVF9DT05GSUd9IgotCi0jIEV4
cGFuZCBhbGwgImVudl8qIiBlbnZpcm9ubWVudCB2YXJpYWJsZXMKLWZvciB2YXJuYW1lIGluICR7
IWVudl8qfSA7IGRvCi0JZXZhbCAiZXhwb3J0ICR7dmFybmFtZSNlbnZffT1cJHske3Zhcm5hbWV9
fSIKLWRvbmUKLQotCi1pZiAhIFsgIiR7YnVpbGRib3RfcGF0aH0iIF0gOyB0aGVuCi0JZWNobyAi
Tm8gXCR7YnVpbGRib3RfcGF0aH0gZGVmaW5lZCEgKHdpbGwgc2xlZXAgZm9yIDUgbWludXRlcyki
Ci0Jc2xlZXAgMzAwCi0JZXhpdCAxMTEKLWZpCi0KLQotaWYgISBbICIke1dFQktJVF9URVNURk9O
VFN9IiBdIDsgdGhlbgotCWVjaG8gIk5vIFwke1dFQktJVF9URVNURk9OVFN9IGVudmlyb25tZW50
IHZhcmlhYmxlISAod2lsbCBzbGVlcCBmb3IgNSBtaW51dGVzKSIKLQlzbGVlcCAzMDAKLQlleGl0
IDExMQotZmkKLQotCi1pZiBbICIke2NvcmVkdW1wX291dHB1dDo9Jyd9IiBdIDsgdGhlbgotCSMg
RW5zdXJlIHRoYXQgdGhlIG91dHB1dCBkaXJlY3RvcnkgZXhpc3RzLgotCWlmIFtbICEgLWQgJHtj
cmFzaG1vbl9vdXRwdXR9IF1dIDsgdGhlbgotCQlta2RpciAtcCAiJHtjcmFzaG1vbl9vdXRwdXR9
IgotCWZpCi0KLQl1bGltaXQgLWMgIiR7Y3Jhc2htb25fbWF4X3NpemU6PXVubGltaXRlZH0iCi1m
aQotCi0KLWlmIFsgIiR7Y2NhY2hlX3BhdGh9IiBdIDsgdGhlbgotCWV4cG9ydCBQQVRIPSIke2Nj
YWNoZV9wYXRofToke1BBVEh9IgotZmkKLQotOiAke2J1aWxkYm90X3VzZXI6PSR7VVNFUn19Ci0K
LWNkICIke2J1aWxkYm90X3BhdGh9IgotZXhlYyAvdXNyL2Jpbi9lbnYgLSAgICAgICAgICBcCi0J
CVRFUk09ZHVtYiAgICAgICAgICAgICAgICAgXAotCQlUWj1QU1Q4UERUICAgICAgICAgICAgICAg
ICBcCi0JCVBBVEg9IiR7UEFUSH0iICAgICAgICAgICAgICBcCi0JCVNIRUxMPS9iaW4vYmFzaCAg
ICAgICAgICAgICAgXAotCQlMQU5HPWVuX1VTLlVURi04ICAgICAgICAgICAgICBcCi0JCVVTRVI9
IiR7YnVpbGRib3RfdXNlcn0iICAgICAgICBcCi0JCUxPR05BTUU9IiR7YnVpbGRib3RfdXNlcn0i
ICAgICAgXAotCQlIT01FPSIvaG9tZS8ke2J1aWxkYm90X3VzZXJ9IiAgICBcCi0JCURJU1BMQVk9
IiR7eHZmYl9kaXNwbGF5Oi0nOjEwJ30iICBcCi0JCU1BSUw9Ii92YXIvbWFpbC8ke2J1aWxkYm90
X3VzZXJ9IiAgXAotCS91c3IvYmluL3NldHVpZGdpZCAiJHtidWlsZGJvdF91c2VyfSIgXAotCS91
c3IvYmluL3R3aXN0ZCAtbm95IGJ1aWxkYm90LnRhYwotCmRpZmYgLS1naXQgYS9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9ndGsvZGFlbW9udG9vbHMtYnVpbGRib3QuY29uZiBiL1Rvb2xzL0J1aWxk
U2xhdmVTdXBwb3J0L2d0ay9kYWVtb250b29scy1idWlsZGJvdC5jb25mCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwNmFmMjlmN2IwNjI2ODIxNmNlNGExZjFhYWVlOGQ0NjIwZDI0ZGZk
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL0J1
aWxkU2xhdmVTdXBwb3J0L2d0ay9kYWVtb250b29scy1idWlsZGJvdC5jb25mCisrKyAvZGV2L251
bGwKQEAgLTEsNDUgKzAsMCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlhIFMuTC4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSMgdmVyc2lvbiAyIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwot
IyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0jCi0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSMgYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KLSMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0KLQot
IyBQYXRoIHRvIHRoZSBCdWlsZGJvdCBzbGF2ZSBkaXJlY3RvcnkKLSMKLWJ1aWxkYm90X3BhdGg9
Ii9ob21lL3NsYXZlL3dlYmtpdGd0ayIKLQotIyBVc2VyIGFjY291bnQgdXNlZCB0byBydW4gQnVp
bGRib3QuCi0jCi1idWlsZGJvdF91c2VyPSJzbGF2ZSIKLQotIyBQYXRoIHRvIGEgZGlyZWN0b3J5
IHdoZXJlIHRvIGxvZyBCdWlsZGJvdCBvdXRwdXQKLSMKLWJ1aWxkYm90X2xvZ19wYXRoPSIvdmFy
L2xvZy9idWlsZGJvdCIKLQotCi0jIElmIHlvdSB3YW50IHRvIHVzZSBjY2FjaGUsIHNldCBhIHBh
dGggdG8gd2hlcmUgc3lubGlua3Mgd2l0aCB0b29sCi0jIG5hbWVzIHBvaW50aW5nIHRvIGNjYWNo
ZSBhcmUgaW5zdGFsbGVkLiBJbiBEZWJpYW4gc3lzdGVtcyB0aGlzCi0jIHdvdWxkIGJlIC91c3Iv
bGliL2NjYWNoZS4gU2V0IHRvIGVtcHR5IHRvIGRpc2FibGUuCi0jCi1jY2FjaGVfcGF0aD0iL3Vz
ci9saWIvY2NhY2hlIgotCi0KLSMgRW52aXJvbm1lbnQgdmFyaWFibGVzLiBQcmVmaXggdGhlbSB3
aXRoICJlbnZfIi4KLSMKLWVudl9DRkxBR1M9Ii1waXBlIgotZW52X0NYWEZMQUdTPSItcGlwZSIK
LWVudl9MREZMQUdTPSItbm8taW5zdGFsbCAtbm8tZmFzdC1pbnN0YWxsIgotZW52X1dFQktJVF9U
RVNURk9OVFM9Ii9ob21lLyR7YnVpbGRib3RfdXNlcn0vdGVzdGZvbnRzIgotCmRpZmYgLS1naXQg
YS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9ndGsvcHVsc2VhdWRpby9ydW4gYi9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9ndGsvcHVsc2VhdWRpby9ydW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1
CmluZGV4IDdjMTE3YWQ5ZDIwNzM5OGQ4NmYwMjczOGU1OTMxODk1OTE3ZDU2NzguLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1
cHBvcnQvZ3RrL3B1bHNlYXVkaW8vcnVuCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAot
IyEgL3Vzci9iaW4vZW52IGJhc2gKLSMKLSMgQ29weXJpZ2h0IChDKSAyMDEwIElnYWxpYSBTLkwu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0jIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
LSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCi0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0jIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgot
Ci1leGVjIDI+JjEKLWV4ZWMgL3Vzci9iaW4vcHVsc2VhdWRpbyAtLXN5c3RlbSBcCi0JLS1kaXNh
bGxvdy1leGl0IC0tZGlzYWxsb3ctbW9kdWxlLWxvYWRpbmcgXAotCS0tbG9nLXRhcmdldD1zeXNs
b2cKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9idWlsZC1qc2MgYi9Ub29scy9TY3JpcHRz
L2J1aWxkLWpzYwppbmRleCBkMGFmY2NkM2FkN2I1ZjBlYmU3YzEyOGYwZTlhZDQ0ODZjM2ZmMTRj
Li4xMjNmM2I5ODg0OGYzM2I2NjJhMTZjMmE3ODkyZTZkNTFiMDExY2NlIDEwMDc1NQotLS0gYS9U
b29scy9TY3JpcHRzL2J1aWxkLWpzYworKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLWpzYwpAQCAt
NDIsNiArNDIsMTMgQEAgc3ViIHdyaXRlQ29uZ3JhdHMoKTsKIAogcHJvaGliaXRVbmtub3duUG9y
dCgpOwogCitpZiAoc2hvdWxkVXNlRmxhdHBhaygpKSB7CisgICAgcHJpbnQgIkJ1aWxkaW5nIGZs
YXRwYWsgYmFzZWQgZW52aXJvbm1lbnRcbiI7CisgICAgbXkgQGNvbW1hbmQgPSAoRmlsZTo6U3Bl
Yy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgIlNjcmlwdHMiLCAiYnVpbGQtanNjIikp
OworICAgIHJ1bkluRmxhdHBhayhAY29tbWFuZCk7Cit9CisKKwogbXkgJHNob3VsZFJ1blN0YXRp
Y0FuYWx5emVyID0gMDsKIG15ICRtaW5pbWFsID0gMDsKIG15ICRjb3ZlcmFnZVN1cHBvcnQgPSAw
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgYi9Ub29scy9TY3JpcHRz
L2J1aWxkLXdlYmtpdAppbmRleCBmYzA2NjRhNjUwNTU0NmY0MjhjNzUxNGI5Njc1MTE5Yjc1YTYy
MTQwLi4wOTlkMzNhNGI5YjljZGY0MzJjZDEwMjZlYTZhYWUwY2I5MjU3YTc3IDEwMDc1NQotLS0g
YS9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAorKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLXdl
YmtpdApAQCAtNTMsOCArNTMsOCBAQCBzZXRDb25maWd1cmF0aW9uKCk7CiAKIGlmIChzaG91bGRV
c2VGbGF0cGFrKCkpIHsKICAgICBwcmludCAiQnVpbGRpbmcgZmxhdHBhayBiYXNlZCBlbnZpcm9u
bWVudFxuIjsKLQotICAgIHJ1bkluRmxhdHBhaygiL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9i
dWlsZC13ZWJraXQiKTsKKyAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNv
dXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJidWlsZC13ZWJraXQiKSk7CisgICAgcnVu
SW5GbGF0cGFrKEBjb21tYW5kKTsKIH0KIAogbXkgJG9yaWdpbmFsV29ya2luZ0RpcmVjdG9yeSA9
IGdldGN3ZCgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tYmluZGluZ3MtdGVzdHMg
Yi9Ub29scy9TY3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0cwppbmRleCBmNmU0NDc3MjUwZjllMTll
Mzk1OGVmY2I3ZDZlODFlMmFjMjhjOWFiLi4wYWMwYjNhMzEwODhhMTIyZTA5OThlYTQ5NTY1YmYy
Mzg3NzM4YTUwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0cwor
KysgYi9Ub29scy9TY3JpcHRzL3J1bi1iaW5kaW5ncy10ZXN0cwpAQCAtMzMsNiArMzMsMTEgQEAg
aW1wb3J0IG9zCiBpbXBvcnQgc3lzCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0
IGV4ZWN1dGl2ZQogCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5w
YXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgJy4uJywgJy4uJykpCitzeXMucGF0
aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICdUb29scycsICdm
bGF0cGFrJykpCitpbXBvcnQgZmxhdHBha3V0aWxzCitmbGF0cGFrdXRpbHMucnVuX2luX3NhbmRi
b3hfaWZfYXZhaWxhYmxlKHN5cy5hcmd2KQorCiBkZWYgbWFpbihhcmd2KToKICAgICAiIiJSdW5z
IFdlYkNvcmUgYmluZGluZ3MgY29kZSBnZW5lcmF0b3JzIG9uIHRlc3QgSURMIGZpbGVzIGFuZCBj
b21wYXJlcwogICAgIHRoZSByZXN1bHRzIHdpdGggcmVmZXJlbmNlIGZpbGVzLgpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy9ydW4tYnVpbHRpbnMtZ2VuZXJhdG9yLXRlc3RzIGIvVG9vbHMvU2Ny
aXB0cy9ydW4tYnVpbHRpbnMtZ2VuZXJhdG9yLXRlc3RzCmluZGV4IDIzOThjNzhjYTEwZWM1OTc2
MjY2MTJjODU1NTNhYmQxYTRlNmZiZDQuLmZiYjA4NjQyNDE5NzRlYTYwMzVkYTg4YjM2NzliYzQz
YzAyYzdlOWQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWJ1aWx0aW5zLWdlbmVyYXRv
ci10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1idWlsdGlucy1nZW5lcmF0b3ItdGVzdHMK
QEAgLTI1LDYgKzI1LDEyIEBACiBpbXBvcnQgc3lzCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0
ZW0gaW1wb3J0IGV4ZWN1dGl2ZQogCitpbXBvcnQgb3MKK3RvcF9sZXZlbF9kaXJlY3RvcnkgPSBv
cy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAn
Li4nLCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2Rp
cmVjdG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBmbGF0cGFrdXRpbHMKK2ZsYXRw
YWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lzLmFyZ3YpCisKIGRlZiBtYWlu
KGFyZ3YpOgogICAgICIiIlJ1bnMgdGhlIEpTIGJ1aWx0aW5zIGNvZGUgZ2VuZXJhdG9yIG9uIHRl
c3QgaW5wdXQgZmlsZXMgYW5kIGNvbXBhcmVzCiAgICAgdGhlIHJlc3VsdHMgd2l0aCByZWZlcmVu
Y2UgZmlsZXMuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMgYi9Ub29s
cy9TY3JpcHRzL3J1bi1ndGstdGVzdHMKaW5kZXggNDFiMDVlMmRmNGIxZTZkOGZlMzhlYTNjNTQ5
YjUzMzU4NGE0Mjk3ZS4uZDM5NzQ4ZjRjM2Q4ZmRmY2VmZjFhMjI5OWFkYTQyYzg3ZTY1YWFlNSAx
MDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzCisrKyBiL1Rvb2xzL1Njcmlw
dHMvcnVuLWd0ay10ZXN0cwpAQCAtMTMzLDcgKzEzMyw3IEBAIGlmIF9fbmFtZV9fID09ICJfX21h
aW5fXyI6CiAgICAgaWYgbm90IGZsYXRwYWt1dGlscy5pc19zYW5kYm94ZWQoKSBhbmQgbm90IGpo
YnVpbGR1dGlscy5lbnRlcl9qaGJ1aWxkX2Vudmlyb25tZW50X2lmX2F2YWlsYWJsZSgiZ3RrIik6
CiAgICAgICAgIHByaW50ICcqKionCiAgICAgICAgIHByaW50ICcqKiogV2FybmluZzogamhidWls
ZCBlbnZpcm9ubWVudCBub3QgcHJlc2VudCBhbmQgbm90IHJ1bm5pbmcgaW4gZmxhdHBhay4nCi0g
ICAgICAgIHByaW50ICcqKiogUnVuIHVwZGF0ZS13ZWJraXRndGstbGlicyBvciB1cGRhdGUtd2Vi
a2l0Z3RrLWZsYXRwYWsgYmVmb3JlIGJ1aWxkLXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3Rp
bmcuLicKKyAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVw
ZGF0ZS13ZWJraXQtZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9wZXIg
dGVzdGluZy4uJwogICAgICAgICBwcmludCAnKioqJwogCiAgICAgb3B0aW9uX3BhcnNlciA9IG9w
dHBhcnNlLk9wdGlvblBhcnNlcih1c2FnZT0ndXNhZ2U6ICVwcm9nIFtvcHRpb25zXSBbdGVzdC4u
Ll0nKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMg
Yi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwppbmRleCA1MzExODVlMDk2
NjAwZGE0ODQyYmY5MTFiOTQ3YmQxNGY3NzM2NDBhLi45YjY3M2FjYjE3MTYxNDEzYjMxYWY3NWFh
NTU3ZmQ3MjZkM2VhZjJlIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0
Y29yZS10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwpA
QCAtNDYsNiArNDYsMTIgQEAgdXNlIFRleHQ6OlBhcnNlV29yZHM7CiBzZXRDb25maWd1cmF0aW9u
KCk7CiBteSAkY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24oKTsKIAoraWYgKHNob3VsZFVz
ZUZsYXRwYWsoKSkgeworICAgIG15IEBjb21tYW5kID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291
cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgInJ1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cyIp
KTsKKyAgICBydW5JbkZsYXRwYWsoQGNvbW1hbmQpOworfQorCisKICMgVGhlc2UgdmFyaWFibGVz
IGFyZSBpbnRlbnRpb25hbGx5IGxlZnQgdW5kZWZpbmVkLgogbXkgJHJvb3Q7CiBteSAkc2hvd0hl
bHA7CkBAIC01MzksNyArNTQ1LDcgQEAgc3ViIHJ1blRlc3QgewogICAgIGNoZGlyKCRwcm9kdWN0
RGlyKSBvciBkaWUgIkZhaWxlZCB0byBzd2l0Y2ggZGlyZWN0b3J5IHRvICckcHJvZHVjdERpcidc
biI7CiAgICAgbXkgQGNvbW1hbmQgPSAodGVzdFBhdGgoJHByb2R1Y3REaXIsICR0ZXN0TmFtZSkp
OwogICAgIHVuc2hpZnQgQGNvbW1hbmQsICgieGNydW4iLCAiLXNkayIsIHhjb2RlU0RLKCksICJz
aW0iKSBpZiB3aWxsVXNlSU9TU2ltdWxhdG9yU0RLKCk7Ci0gICAgdW5zaGlmdCBAY29tbWFuZCwg
d3JhcHBlclByZWZpeElmTmVlZGVkKCkgaWYgc2hvdWxkVXNlSmhidWlsZCgpOworICAgIHVuc2hp
ZnQgQGNvbW1hbmQsIHdyYXBwZXJQcmVmaXhJZk5lZWRlZCgpIGlmIGlzR3RrKCkgb3IgaXNXUEUo
KTsKIAogICAgIGlmICgkZW52VmFycyBuZSAiIikgewogICAgICAgICBmb3JlYWNoIG15ICR2YXIg
KHNwbGl0KC9ccysvLCAkZW52VmFycykpIHsKQEAgLTc4Miw3ICs3ODgsNyBAQCBzdWIgcnVuSlND
U3RyZXNzVGVzdHMKICAgICAgICAgcHVzaChAanNjU3RyZXNzRHJpdmVyQ21kLCAiLS1uby1jb3B5
Iik7CiAgICAgfQogCi0gICAgdW5zaGlmdCBAanNjU3RyZXNzRHJpdmVyQ21kLCB3cmFwcGVyUHJl
Zml4SWZOZWVkZWQoKSBpZiBzaG91bGRVc2VKaGJ1aWxkKCk7CisgICAgdW5zaGlmdCBAanNjU3Ry
ZXNzRHJpdmVyQ21kLCB3cmFwcGVyUHJlZml4SWZOZWVkZWQoKSBpZiBpc0d0aygpIG9yIGlzV1BF
KCk7CiAKICAgICAjIEVuZCBvcHRpb24gcHJvY2Vzc2luZywgdGhlIHJlc3Qgb2YgdGhlIGFyZ3Vt
ZW50cyBhcmUgdGVzdHMKICAgICBwdXNoKEBqc2NTdHJlc3NEcml2ZXJDbWQsICItLSIpOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXIgYi9Ub29scy9TY3JpcHRzL3J1
bi1taW5pYnJvd3NlcgppbmRleCA0Y2Y2YmU0MDQ3YmZkNzZkNjgxMDlhYjI5YWE2OGE5MGRjMDg2
NmUxLi45MGNkM2ZhZjQzMWFlYjkyOGRmZDZkZGZkNmVkNmQyM2QyZjIxY2NjIDEwMDc1NQotLS0g
YS9Ub29scy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlcgorKysgYi9Ub29scy9TY3JpcHRzL3J1bi1t
aW5pYnJvd3NlcgpAQCAtNDUsNyArNDUsOCBAQCBwcm9oaWJpdFVua25vd25Qb3J0KCk7CiBzZXRD
b25maWd1cmF0aW9uKCk7CiAKIGlmIChpc0d0aygpIHx8IGlzV1BFKCkpIHsKLSAgICBydW5JbkZs
YXRwYWtJZkF2YWlsYWJsZSgiL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dz
ZXIiKTsKKyAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigp
LCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tbWluaWJyb3dzZXIiKSk7CisgICAgcnVuSW5GbGF0
cGFrSWZBdmFpbGFibGUoQGNvbW1hbmQpOwogCiAgICAgIyBDaGVjayB0byBzZWUgdGhhdCBhbGwg
dGhlIGZyYW1ld29ya3MgYXJlIGJ1aWx0LgogICAgIGNoZWNrRnJhbWV3b3JrcygpOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tcGVyZi10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXBl
cmYtdGVzdHMKaW5kZXggMWJmOGVjODYyNzAyNWVhOGRiYTg1Zjc2NzRiZDg0NTlhZTkxM2RmNS4u
YzBkODc4M2U2YzE2OTk4NmJhY2JjMzdjMmUxODQzODc3YmFhNzFkMiAxMDA3NTUKLS0tIGEvVG9v
bHMvU2NyaXB0cy9ydW4tcGVyZi10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1wZXJmLXRl
c3RzCkBAIC0zMCw4ICszMCwxNCBAQAogIiIiUnVuIHBlcmZvcm1hbmNlIHRlc3RzLiIiIgogCiBp
bXBvcnQgbG9nZ2luZworaW1wb3J0IG9zCiBpbXBvcnQgc3lzCiAKK3RvcF9sZXZlbF9kaXJlY3Rv
cnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxl
X18pLCAnLi4nLCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xl
dmVsX2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBmbGF0cGFrdXRpbHMK
K2ZsYXRwYWt1dGlscy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lzLmFyZ3YpCisKIGZy
b20gd2Via2l0cHkucGVyZm9ybWFuY2VfdGVzdHMucGVyZnRlc3RzcnVubmVyIGltcG9ydCBQZXJm
VGVzdHNSdW5uZXIKIAogaWYgJ19fbWFpbl9fJyA9PSBfX25hbWVfXzoKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvcnVuLXF0LXdwZS1taW5pYnJvd3NlciBiL1Rvb2xzL1NjcmlwdHMvcnVuLXF0
LXdwZS1taW5pYnJvd3NlcgppbmRleCA1MmEzOGUxNTI2Mzg1M2FjYjhjMTU0ODQ3MDhiNTQ3Mzkw
MThjZTUxLi44YzhlZjcwNTZhMzRhZTk4ZTcyNzExZGE3ZmVmN2I1MTJhMjFmY2M4IDEwMDc1NQot
LS0gYS9Ub29scy9TY3JpcHRzL3J1bi1xdC13cGUtbWluaWJyb3dzZXIKKysrIGIvVG9vbHMvU2Ny
aXB0cy9ydW4tcXQtd3BlLW1pbmlicm93c2VyCkBAIC0zOCw5ICszOCwxMyBAQCBteSBAamhidWls
ZFdyYXBwZXI7CiBteSAkY29uZmlndXJhdGlvbiA9IHBhc3NlZENvbmZpZ3VyYXRpb24oKTsKIG15
ICRwcm9kdWN0RGlyID0gcHJvZHVjdERpcigpOwogCi0kbGliUGF0aCA9ICIvYXBwL3dlYmtpdC9X
ZWJLaXRCdWlsZC8kY29uZmlndXJhdGlvbi9saWIvcXQ1L3FtbCIgaWYgJGNvbmZpZ3VyYXRpb247
Ci0kRU5WeyJRTUwyX0lNUE9SVF9QQVRIIn0gPSAiJGxpYlBhdGgiIGlmICRsaWJQYXRoOwotcnVu
SW5GbGF0cGFrSWZBdmFpbGFibGUoIi9hcHAvd2Via2l0L1Rvb2xzL1NjcmlwdHMvcnVuLXF0LXdw
ZS1taW5pYnJvd3NlciIpOworaWYgKCRjb25maWd1cmF0aW9uKSB7CisgICAgJGxpYlBhdGggPSBG
aWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiV2ViS2l0QnVpbGQiLCAiJGNvbmZpZ3Vy
YXRpb24iLCAibGliIiwgInF0NSIsICJxbWwiKTsKKyAgICAkRU5WeyJRTUwyX0lNUE9SVF9QQVRI
In0gPSAiJGxpYlBhdGgiOworfQorCitteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxl
KHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJydW4tcXQtd3BlLW1pbmlicm93c2Vy
IikpOworcnVuSW5GbGF0cGFrSWZBdmFpbGFibGUoQGNvbW1hbmQpOwogCiAjIENoZWNrIHRvIHNl
ZSB0aGF0IGFsbCB0aGUgZnJhbWV3b3JrcyBhcmUgYnVpbHQuCiBjaGVja0ZyYW1ld29ya3MoKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0cyBiL1Rvb2xzL1Nj
cmlwdHMvcnVuLXdlYmRyaXZlci10ZXN0cwppbmRleCBhY2MzNWY3MjQ4M2YyODMyZjA5YzhlZmIx
ODk1ZDE4MWQ0ZDY3OTI5Li5jMzAwNGQ0NTMyM2M1MTQyNjY1ZDM3MDMzN2U4ZTU5MDQyM2E5ZDQw
IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi13ZWJkcml2ZXItdGVzdHMKKysrIGIvVG9v
bHMvU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3RzCkBAIC03OCw3ICs3OCw3IEBAIGlmIHBvcnQu
bmFtZSgpIGluIFsnZ3RrJywgJ3dwZSddOgogICAgICAgICBpZiBub3QgamhidWlsZHV0aWxzLmVu
dGVyX2poYnVpbGRfZW52aXJvbm1lbnRfaWZfYXZhaWxhYmxlKHBvcnQubmFtZSgpKToKICAgICAg
ICAgICAgIHByaW50ICcqKionCiAgICAgICAgICAgICBwcmludCAnKioqIFdhcm5pbmc6IGpoYnVp
bGQgZW52aXJvbm1lbnQgbm90IHByZXNlbnQgYW5kIG5vdCBydW5uaW5nIGluIGZsYXRwYWsuJwot
ICAgICAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0
ZS13ZWJraXRndGstZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Via2l0IHRvIGVuc3VyZSBwcm9wZXIg
dGVzdGluZy4uJworICAgICAgICAgICAgcHJpbnQgJyoqKiBSdW4gdXBkYXRlLXdlYmtpdGd0ay1s
aWJzIG9yIHVwZGF0ZS13ZWJraXQtZmxhdHBhayBiZWZvcmUgYnVpbGQtd2Via2l0IHRvIGVuc3Vy
ZSBwcm9wZXIgdGVzdGluZy4uJwogICAgICAgICAgICAgcHJpbnQgJyoqKicKIAogcG9ydC5fZGlz
cGxheV9zZXJ2ZXIgPSBvcHRpb25zLmRpc3BsYXlfc2VydmVyCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3J1bi13cGUtdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi13cGUtdGVzdHMKaW5kZXgg
OGY3NzQ5ZWI2YWQ2ZDFmMTk5MTNhMTc2OTlkY2I3Njc3ZjQ4NjJkMS4uZjM0YzE5NzA2NDc3NjIy
NjI0NTJlNmFlODNmYTI4NWYyOGU1ZDE4MCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4t
d3BlLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXdwZS10ZXN0cwpAQCAtNTEsNyArNTEs
NyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIGlmIG5vdCBmbGF0cGFrdXRpbHMu
aXNfc2FuZGJveGVkKCkgYW5kIG5vdCBqaGJ1aWxkdXRpbHMuZW50ZXJfamhidWlsZF9lbnZpcm9u
bWVudF9pZl9hdmFpbGFibGUoIndwZSIpOgogICAgICAgICBwcmludCAnKioqJwogICAgICAgICBw
cmludCAnKioqIFdhcm5pbmc6IGpoYnVpbGQgZW52aXJvbm1lbnQgbm90IHByZXNlbnQgYW5kIG5v
dCBydW5uaW5nIGluIGZsYXRwYWsuJwotICAgICAgICBwcmludCAnKioqIFJ1biB1cGRhdGUtd2Vi
a2l0Z3RrLWxpYnMgb3IgdXBkYXRlLXdlYmtpdGd0ay1mbGF0cGFrIGJlZm9yZSBidWlsZC13ZWJr
aXQgdG8gZW5zdXJlIHByb3BlciB0ZXN0aW5nLi4nCisgICAgICAgIHByaW50ICcqKiogUnVuIHVw
ZGF0ZS13ZWJraXR3cGUtbGlicyBvciB1cGRhdGUtd2Via2l0LWZsYXRwYWsgYmVmb3JlIGJ1aWxk
LXdlYmtpdCB0byBlbnN1cmUgcHJvcGVyIHRlc3RpbmcuLicKICAgICAgICAgcHJpbnQgJyoqKicK
IAogICAgIG9wdGlvbl9wYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIodXNhZ2U9J3VzYWdl
OiAlcHJvZyBbb3B0aW9uc10gW3Rlc3QuLi5dJykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
dGVzdC13ZWJraXRwZXJsIGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHBlcmwKaW5kZXggNjQ5
NTY5NjBmZmM2N2FlN2RmOTMzNjQxMzZkOTFhNWQ4OGVhOTk0My4uZGM4MWMxN2MzYmFjNTlhODgx
YTczZWQxNWIzYTc0NjBjYTdiOWY5OCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy90ZXN0LXdl
YmtpdHBlcmwKKysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHBlcmwKQEAgLTMyLDYgKzMy
LDEzIEBACiAKIHVzZSBzdHJpY3Q7CiB1c2Ugd2FybmluZ3M7Cit1c2UgRmlsZTo6QmFzZW5hbWU7
Cit1c2UgRmlsZTo6RmluZDsKK3VzZSBGaWxlOjpTcGVjOwordXNlIEZpbmRCaW47Cit1c2UgR2V0
b3B0OjpMb25nIHF3KDpjb25maWcgcGFzc190aHJvdWdoIG5vX2F1dG9fYWJicmV2KTsKK3VzZSBs
aWIgJEZpbmRCaW46OkJpbjsKK3VzZSB3ZWJraXRkaXJzOwogCiB1c2UgRmlsZTo6U3BlYzsKIHVz
ZSBGaW5kQmluOwpAQCAtMzksNiArNDYsMTEgQEAgdXNlIFRlc3Q6Okhhcm5lc3M7CiB1c2UgbGli
ICRGaW5kQmluOjpCaW47ICMgc28gdGhpcyBzY3JpcHQgY2FuIGJlIHJ1biBmcm9tIGFueSBkaXJl
Y3RvcnkuCiB1c2UgVkNTVXRpbHM7CiAKK2lmIChzaG91bGRVc2VGbGF0cGFrKCkpIHsKKyAgICBt
eSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAi
U2NyaXB0cyIsICJ0ZXN0LXdlYmtpdHBlcmwiKSk7CisgICAgcnVuSW5GbGF0cGFrKEBjb21tYW5k
KTsKK30KKwogIyBDaGFuZ2UgdGhlIHdvcmtpbmcgZGlyZWN0b3J5IHNvIHRoYXQgd2UgY2FuIHBh
c3Mgc2hvcnRlciwgcmVsYXRpdmUKICMgcGF0aHMgdG8gcnVudGVzdHMoKSwgcmF0aGVyIHRoYW4g
bG9uZ2VyLCBhYnNvbHV0ZSBwYXRocy4KICMKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvdGVz
dC13ZWJraXRweSBiL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweQppbmRleCBlZTY4MmNjY2Yw
YWNhM2YyMGRjNjE1ZmU4YjYzMjNjY2M1N2NiZWE0Li40MjM4OGU5Zjg2MTc4NWVmN2UzOGZiMWY0
NTQ5MDA1MDUyZjAwYWVjIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkK
KysrIGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5CkBAIC0yOSw0ICsyOSwxMCBAQAogIyBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgogZnJvbSB3ZWJraXRweS5jb21tb24gaW1wb3J0IG11bHRpcHJvY2Vzc2luZ19i
b290c3RyYXAKIAoraW1wb3J0IG9zLCBzeXMKK3RvcF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRo
Lm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAnLi4nLCAn
Li4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVjdG9y
eSwgJ1Rvb2xzJywgJ2ZsYXRwYWsnKSkKK2ltcG9ydCBmbGF0cGFrdXRpbHMKK2ZsYXRwYWt1dGls
cy5ydW5faW5fc2FuZGJveF9pZl9hdmFpbGFibGUoc3lzLmFyZ3YpCisKIG11bHRpcHJvY2Vzc2lu
Z19ib290c3RyYXAucnVuKCd3ZWJraXRweScsICd0ZXN0JywgJ21haW4ucHknKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy90ZXN0MjYyLXJ1bm5lciBiL1Rvb2xzL1NjcmlwdHMvdGVzdDI2Mi1y
dW5uZXIKaW5kZXggYTEzMWJjZjYzM2UzMGQ5NzY1ZmI1NjI0MjUwNzMxMTdhOThmMjIzOC4uYWY3
YWQ1ZTQ4ZWYyNTA4Y2Y0ZTIxZDU4ZDU1MGNmMDMyZWY1ZmEyYiAxMDA3NTUKLS0tIGEvVG9vbHMv
U2NyaXB0cy90ZXN0MjYyLXJ1bm5lcgorKysgYi9Ub29scy9TY3JpcHRzL3Rlc3QyNjItcnVubmVy
CkBAIC0zNCw2ICszNCwyNiBAQCB1c2UgNS44Ljg7CiB1c2UgRmluZEJpbjsKIHVzZSBDb25maWc7
CiAKK0JFR0lOIHsKKyAgICB1c2UgbGliICRGaW5kQmluOjpCaW47CisgICAgdXNlIEZpbGU6OlNw
ZWM6OkZ1bmN0aW9ucyBxdyhjYXRmaWxlKTsKKworICAgIGlmICghZ3JlcCgvXi0tbm8tZmxhdHBh
ay1jaGVjayQvLCBAQVJHVikpIHsKKyAgICAgICAgaWYgKGV2YWwge3JlcXVpcmUgd2Via2l0ZGly
czsgMTt9KSB7CisgICAgICAgICAgICB3ZWJraXRkaXJzLT5pbXBvcnQocXcoc2hvdWxkVXNlRmxh
dHBhayBydW5JbkZsYXRwYWsgc291cmNlRGlyKSk7CisgICAgICAgICAgICBpZiAoc2hvdWxkVXNl
RmxhdHBhaygpKSB7CisgICAgICAgICAgICAgICAgcHJpbnQgIlJ1bm5pbmcgaW4gZmxhdHBhayBi
YXNlZCBlbnZpcm9ubWVudFxuIjsKKyAgICAgICAgICAgICAgICBteSBAY29tbWFuZCA9IChGaWxl
OjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJ0ZXN0MjYy
LXJ1bm5lciIpKTsKKyAgICAgICAgICAgICAgICAjIFByZXZlbnQgZXhlYydkIHRlc3QyNjItcnVu
bmVyIHByb2Nlc3MgZnJvbSBpbXBvcnRpbmcKKyAgICAgICAgICAgICAgICAjIHdlYmtpdGRpcnMg
c28gdGhhdCBpdCBjYW4gc3VjY2VlZCBsYXRlciBvbiBpbiB0aGUgUnVubmVyCisgICAgICAgICAg
ICAgICAgIyBtb2R1bGUuLi4gUGVybC4gwq9cXyjjg4QpXy/CrworICAgICAgICAgICAgICAgIHB1
c2goQEFSR1YsICItLW5vLWZsYXRwYWstY2hlY2siKTsKKyAgICAgICAgICAgICAgICBydW5JbkZs
YXRwYWsoQGNvbW1hbmQpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQorCiBC
RUdJTiB7CiAgICAgJEVOVntEQklDX09WRVJXUklURV9IRUxQRVJfTUVUSE9EU19PS30gPSAxOwog
ICAgICRFTlZ7VDI2Ml9FWEVDX0JJTn0gPSAiJEZpbmRCaW46OkJpbi90ZXN0MjYyIjsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdC1mbGF0cGFrIGIvVG9vbHMvU2NyaXB0
cy91cGRhdGUtd2Via2l0LWZsYXRwYWsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTg2YjgxYTIwMzNmNGJiN2JlMmQy
OWJkZTVjMTJjZjQ5NTMzMGQ1NQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvdXBk
YXRlLXdlYmtpdC1mbGF0cGFrCkBAIC0wLDAgKzEsMjggQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhv
bgorIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KKyMgQ29weXJpZ2h0IChjKSAyMDE4
LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgorIworIyBUaGlzIHByb2dy
YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisjIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
KyMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisjIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyMg
TGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1
YmxpYworIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRv
IHRoZQorIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBG
aWZ0aCBGbG9vciwKKyMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisjIHB5bGludDogZGlz
YWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5hbWUKK2ltcG9ydCBvcworaW1wb3J0IHN5
cworCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4o
b3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCitzeXMucGF0aC5pbnNlcnQo
MCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICJUb29scyIsICJmbGF0cGFrIikp
Citmcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0RmxhdHBhaworCitpZiBfX25hbWVfXyA9
PSAiX19tYWluX18iOgorICAgIFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2FyZ3MoWyItLXVwZGF0
ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRh
dGUtd2Via2l0Z3RrLWZsYXRwYWsgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstZmxh
dHBhawpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDk1NmYxZjJlMTQ4NWQyNDg2MmVm
N2Y2ZDc0YTJmM2Y5OGNmOTJmOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstZmxhdHBhaworKysgL2Rl
di9udWxsCkBAIC0xLDI4ICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbgotIyBDb3B5cmln
aHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KLSMgQ29weXJpZ2h0IChjKSAyMDE4LCBUaGliYXVsdCBT
YXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotIwotIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0jIHZl
cnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGVzc2VyIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBMaWNl
bnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZQotIyBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwK
LSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0jIHB5bGludDogZGlzYWJsZT1taXNzaW5n
LWRvY3N0cmluZyxpbnZhbGlkLW5hbWUKLWltcG9ydCBvcwotaW1wb3J0IHN5cwotCi10b3BfbGV2
ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJu
YW1lKF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCi1zeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5q
b2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICJUb29scyIsICJmbGF0cGFrIikpCi1mcm9tIGZsYXRw
YWt1dGlscyBpbXBvcnQgV2Via2l0RmxhdHBhawotCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18i
OgotICAgIFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2FyZ3MoWyItLWd0ayIsICItLXVwZGF0ZSJd
ICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUt
d2Via2l0Z3RrLWxpYnMgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGstbGlicwppbmRl
eCAyZTFjMDJmZmQ3MDU2MDA4MGUzNmJjNzRiNDY1OGZmZWY1ZGVjZDhlLi4yZThhODc4NTE5NmRi
OGM3YmZjYzQ5MDQ5NWFkOWM1ZDcwMGZmZjUxIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3Vw
ZGF0ZS13ZWJraXRndGstbGlicworKysgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRndGst
bGlicwpAQCAtMjIsNCArMjIsOCBAQCB1c2UgbGliICRGaW5kQmluOjpCaW47CiB1c2Ugd2Via2l0
ZGlyczsKIAogbXkgJHNjcmlwdHNEaXIgPSByZWxhdGl2ZVNjcmlwdHNEaXIoKTsKLXN5c3RlbSgi
cGVybCIsICIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCIsICItLWd0ayIs
IEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK2lmIChkZWZpbmVkICRFTlZ7J1dFQktJVF9KSEJVSUxE
J30gYW5kICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30pIHsKKyAgICBzeXN0ZW0oInBlcmwiLCAiJHNj
cmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1saWJzLWpoYnVpbGQiLCAiLS1ndGsiLCBAQVJHVikgPT0g
MCBvciBkaWUgJCE7Cit9IGVsc2UgeworICAgIHN5c3RlbSgiJHNjcmlwdHNEaXIvdXBkYXRlLXdl
YmtpdC1mbGF0cGFrIiwgQEFSR1YpID09IDAgb3IgZGllICQhOworfQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWZsYXRwYWsgYi9Ub29scy9TY3JpcHRzL3VwZGF0
ZS13ZWJraXR3cGUtZmxhdHBhawpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggNTY0ZTg3
NjUyMTExOGUyZmMwZmQ2OGI4Yzg2NmFhOTAwMWNiODEyMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUt
ZmxhdHBhaworKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5
dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KLSMgQ29weXJpZ2h0IChjKSAy
MDE4LCBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotIwotIyBUaGlzIHBy
b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0j
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCi0jIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
LSMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMg
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFs
IFB1YmxpYwotIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRl
IHRvIHRoZQotIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
LCBGaWZ0aCBGbG9vciwKLSMgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0jIHB5bGludDog
ZGlzYWJsZT1taXNzaW5nLWRvY3N0cmluZyxpbnZhbGlkLW5hbWUKLWltcG9ydCBvcwotaW1wb3J0
IHN5cwotCi10b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpv
aW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCi1zeXMucGF0aC5pbnNl
cnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICJUb29scyIsICJmbGF0cGFr
IikpCi1mcm9tIGZsYXRwYWt1dGlscyBpbXBvcnQgV2Via2l0RmxhdHBhawotCi1pZiBfX25hbWVf
XyA9PSAiX19tYWluX18iOgotICAgIFdlYmtpdEZsYXRwYWsubG9hZF9mcm9tX2FyZ3MoWyItLXdw
ZSIsICItLXVwZGF0ZSJdICsgc3lzLmFyZ3ZbMTpdKS5ydW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy91cGRhdGUtd2Via2l0d3BlLWxpYnMgYi9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJr
aXR3cGUtbGlicwppbmRleCA2YjRiNDZmMmI3ZWI4YTllNjgwNzc1N2JjYTJiOWU2ODQ3MDdhMDIz
Li5jZGM0YzdkYjhjNjVlYTczMjNkNjkyNjgxOThhMmY2OGJkNTEzMDE0IDEwMDc1NQotLS0gYS9U
b29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXR3cGUtbGlicworKysgYi9Ub29scy9TY3JpcHRzL3Vw
ZGF0ZS13ZWJraXR3cGUtbGlicwpAQCAtMjIsNCArMjIsOCBAQCB1c2UgbGliICRGaW5kQmluOjpC
aW47CiB1c2Ugd2Via2l0ZGlyczsKIAogbXkgJHNjcmlwdHNEaXIgPSByZWxhdGl2ZVNjcmlwdHNE
aXIoKTsKLXN5c3RlbSgicGVybCIsICIkc2NyaXB0c0Rpci91cGRhdGUtd2Via2l0LWxpYnMtamhi
dWlsZCIsICItLXdwZSIsIEBBUkdWKSA9PSAwIG9yIGRpZSAkITsKK2lmIChkZWZpbmVkICRFTlZ7
J1dFQktJVF9KSEJVSUxEJ30gYW5kICRFTlZ7J1dFQktJVF9KSEJVSUxEJ30pIHsKKyAgICBzeXN0
ZW0oInBlcmwiLCAiJHNjcmlwdHNEaXIvdXBkYXRlLXdlYmtpdC1saWJzLWpoYnVpbGQiLCAiLS13
cGUiLCBAQVJHVikgPT0gMCBvciBkaWUgJCE7Cit9IGVsc2UgeworICAgIHN5c3RlbSgiJHNjcmlw
dHNEaXIvdXBkYXRlLXdlYmtpdC1mbGF0cGFrIiwgQEFSR1YpID09IDAgb3IgZGllICQhOworfQpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRkaXJzLnBtCmluZGV4IDQ3OWJiNDMxZDZiZGJlN2Q1Y2NmZTEzZGNkNjJhZGNjNTBhY2Zm
YjYuLjhmODY3YjU5OGQ5MTI1MjdhNDA1ZjZkZjcyZGQ0ZjdmYzQ2MzBjYTggMTAwNzU1Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdGRp
cnMucG0KQEAgLTkxLDcgKzkxLDEwIEBAIEJFR0lOIHsKICAgICAgICAmc2V0dXBVbml4V2ViS2l0
RW52aXJvbm1lbnQKICAgICAgICAmc2hhcmVkQ29tbWFuZExpbmVPcHRpb25zCiAgICAgICAgJnNo
YXJlZENvbW1hbmRMaW5lT3B0aW9uc1VzYWdlCisgICAgICAgJnNob3VsZFVzZUZsYXRwYWsKKyAg
ICAgICAmcnVuSW5GbGF0cGFrCiAgICAgICAgJnNodXREb3duSU9TU2ltdWxhdG9yRGV2aWNlCisg
ICAgICAgJnNvdXJjZURpcgogICAgICAgICZ3aWxsVXNlSU9TRGV2aWNlU0RLCiAgICAgICAgJndp
bGxVc2VJT1NTaW11bGF0b3JTREsKICAgICAgICBET19OT1RfVVNFX09QRU5fQ09NTUFORApAQCAt
MjA0OCwyMCArMjA1MSwxMSBAQCBzdWIgZ2V0SmhidWlsZFBhdGgoKQogICAgIHJldHVybiBGaWxl
OjpTcGVjLT5jYXRkaXIoQGpoYnVpbGRQYXRoKTsKIH0KIAotc3ViIGdldEZsYXRwYWtQYXRoKCkK
K3N1YiBnZXRVc2VyRmxhdHBha1BhdGgoKQogewotICAgIG15IEBmbGF0cGFrQnVpbGRQYXRoID0g
RmlsZTo6U3BlYy0+c3BsaXRkaXIoYmFzZVByb2R1Y3REaXIoKSk7Ci0gICAgaWYgKGlzR3RrKCkp
IHsKLSAgICAgICAgcHVzaChAZmxhdHBha0J1aWxkUGF0aCwgIkdUSyIpOwotICAgIH0gZWxzaWYg
KGlzV1BFKCkpIHsKLSAgICAgICAgcHVzaChAZmxhdHBha0J1aWxkUGF0aCwgIldQRSIpOwotICAg
IH0gZWxzZSB7Ci0gICAgICAgIGRpZSAiQ2Fubm90IGdldCBGbGF0cGFrIHBhdGggZm9yIHBsYXRm
b3JtIHRoYXQgaXNuJ3QgR1RLKyBvciBXUEUuXG4iOwotICAgIH0KLSAgICBteSBAY29uZmlndXJh
dGlvbiA9IGNvbmZpZ3VyYXRpb24oKTsKLSAgICBwdXNoKEBmbGF0cGFrQnVpbGRQYXRoLCAiRmxh
dHBha1RyZWUkY29uZmlndXJhdGlvbiIpOwotCi0gICAgcmV0dXJuIEZpbGU6OlNwZWMtPmNhdGRp
cihAZmxhdHBha0J1aWxkUGF0aCk7CisgICAgbXkgQGZsYXRwYWtQYXRoID0gRmlsZTo6U3BlYy0+
c3BsaXRkaXIoYmFzZVByb2R1Y3REaXIoKSk7CisgICAgcHVzaChAZmxhdHBha1BhdGgsICJVc2Vy
RmxhdHBhayIpOworICAgIHJldHVybiBGaWxlOjpTcGVjLT5jYXRkaXIoQGZsYXRwYWtQYXRoKTsK
IH0KIAogc3ViIGlzQ2FjaGVkQXJndW1lbnRmaWxlT3V0T2ZEYXRlKCRAKQpAQCAtMjA4OCwxNSAr
MjA4MiwxOSBAQCBzdWIgaXNDYWNoZWRBcmd1bWVudGZpbGVPdXRPZkRhdGUoJEApCiAKIHN1YiBp
bkZsYXRwYWtTYW5kYm94KCkKIHsKLSAgICBpZiAoLWYgIi8uZmxhdHBhay1pbmZvIikgewotICAg
ICAgICByZXR1cm4gMTsKLSAgICB9Ci0KLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gKC1mICIv
LmZsYXRwYWstaW5mbyIpOwogfQogCiBzdWIgcnVuSW5GbGF0cGFrKEApCiB7CisgICAgaWYgKGlz
R3RrKCkgJiYgY2hlY2tGb3JBcmd1bWVudEFuZFJlbW92ZUZyb21BUkdWKCItLXVwZGF0ZS1ndGsi
KSkgeworICAgICAgICBzeXN0ZW0oInBlcmwiLCBGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURp
cigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJ1cGRhdGUtd2Via2l0Z3RrLWxpYnMiKSwgYXJndW1l
bnRzRm9yQ29uZmlndXJhdGlvbigpKSA9PSAwIG9yIGRpZSAkITsKKyAgICB9CisKKyAgICBpZiAo
aXNXUEUoKSAmJiBjaGVja0ZvckFyZ3VtZW50QW5kUmVtb3ZlRnJvbUFSR1YoIi0tdXBkYXRlLXdw
ZSIpKSB7CisgICAgICAgIHN5c3RlbSgicGVybCIsIEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNl
RGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgInVwZGF0ZS13ZWJraXR3cGUtbGlicyIpLCBhcmd1
bWVudHNGb3JDb25maWd1cmF0aW9uKCkpID09IDAgb3IgZGllICQhOworICAgIH0KKwogICAgIG15
IEBhcmcgPSBAXzsKICAgICBteSBAY29tbWFuZCA9IChGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJj
ZURpcigpLCAiVG9vbHMiLCAiU2NyaXB0cyIsICJ3ZWJraXQtZmxhdHBhayIpKTsKICAgICBleGVj
IEBjb21tYW5kLCBhcmd1bWVudHNGb3JDb25maWd1cmF0aW9uKCksICItLWNvbW1hbmQiLCBAXywg
YXJndW1lbnRzRm9yQ29uZmlndXJhdGlvbigpLCBAQVJHViBvciBkaWU7CkBAIC0yMTEzLDQ1ICsy
MTExLDY1IEBAIHN1YiBydW5JbkZsYXRwYWtJZkF2YWlsYWJsZShAKQogICAgICAgICByZXR1cm4g
MDsKICAgICB9CiAKLSAgICBpZiAoISAtZSBnZXRGbGF0cGFrUGF0aCgpKSB7Ci0gICAgICAgIHJl
dHVybiAwOworICAgIGlmICghIC1lIGdldFVzZXJGbGF0cGFrUGF0aCgpKSB7CisgICAgICByZXR1
cm4gMDsKICAgICB9CiAKICAgICBydW5JbkZsYXRwYWsoQF8pCiB9CiAKLXN1YiB3cmFwcGVyUHJl
Zml4SWZOZWVkZWQoKQorc3ViIGpoYnVpbGRXcmFwcGVyUHJlZml4KCkKIHsKKyAgICBteSBAcHJl
Zml4ID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJqaGJ1aWxk
IiwgImpoYnVpbGQtd3JhcHBlciIpKTsKKyAgICBpZiAoaXNHdGsoKSkgeworICAgICAgICBwdXNo
KEBwcmVmaXgsICItLWd0ayIpOworICAgIH0gZWxzaWYgKGlzV1BFKCkpIHsKKyAgICAgICAgcHVz
aChAcHJlZml4LCAiLS13cGUiKTsKKyAgICB9CisgICAgcHVzaChAcHJlZml4LCAicnVuIik7CisK
KyAgICByZXR1cm4gQHByZWZpeDsKK30KIAorc3ViIHdyYXBwZXJQcmVmaXhJZk5lZWRlZCgpCit7
CiAgICAgaWYgKGlzQW55V2luZG93cygpIHx8IGlzSlNDT25seSgpIHx8IGlzUGxheVN0YXRpb24o
KSkgewogICAgICAgICByZXR1cm4gKCk7CiAgICAgfQogICAgIGlmIChpc0FwcGxlQ29jb2FXZWJL
aXQoKSkgewogICAgICAgICByZXR1cm4gKCJ4Y3J1biIpOwogICAgIH0KLSAgICBpZiAoc2hvdWxk
VXNlSmhidWlsZCgpIGFuZCAhIHNob3VsZFVzZUZsYXRwYWsoKSkgewotICAgICAgICBteSBAcHJl
Zml4ID0gKEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJqaGJ1aWxk
IiwgImpoYnVpbGQtd3JhcHBlciIpKTsKLSAgICAgICAgaWYgKGlzR3RrKCkpIHsKLSAgICAgICAg
ICAgIHB1c2goQHByZWZpeCwgIi0tZ3RrIik7Ci0gICAgICAgIH0gZWxzaWYgKGlzV1BFKCkpIHsK
LSAgICAgICAgICAgIHB1c2goQHByZWZpeCwgIi0td3BlIik7Ci0gICAgICAgIH0KLSAgICAgICAg
cHVzaChAcHJlZml4LCAicnVuIik7CiAKLSAgICAgICAgcmV0dXJuIEBwcmVmaXg7CisgICAgIyBS
ZXR1cm5pbmcgKCkgaGVyZSBtZWFucyBlaXRoZXIgRmxhdHBhayBvciBubyB3cmFwcGVyIHdpbGwg
YmUgdXNlZC4KKyAgICBpZiAoaXNHdGsoKSBvciBpc1dQRSgpKSB7CisgICAgICAgICMgUmVzcGVj
dCB1c2VyJ3MgY2hvaWNlLgorICAgICAgICBpZiAoZGVmaW5lZCAkRU5WeydXRUJLSVRfSkhCVUlM
RCd9KSB7CisgICAgICAgICAgICBpZiAoJEVOVnsnV0VCS0lUX0pIQlVJTEQnfSBhbmQgLWUgZ2V0
SmhidWlsZFBhdGgoKSkgeworICAgICAgICAgICAgICAgIHJldHVybiBqaGJ1aWxkV3JhcHBlclBy
ZWZpeCgpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gKCk7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICAjIG9yIGxldCBGbGF0cGFrIHRha2UgcHJlY2Vk
ZW5jZSBvdmVyIEpIQnVpbGQuCisgICAgICAgIH0gZWxzaWYgKC1lIGdldFVzZXJGbGF0cGFrUGF0
aCgpKSB7CisgICAgICAgICAgICByZXR1cm4gKCk7CisgICAgICAgIH0gZWxzaWYgKC1lIGdldEpo
YnVpbGRQYXRoKCkpIHsKKyAgICAgICAgICAgIHJldHVybiBqaGJ1aWxkV3JhcHBlclByZWZpeCgp
OworICAgICAgICB9CiAgICAgfQotCiAgICAgcmV0dXJuICgpOwogfQogCi1zdWIgc2hvdWxkVXNl
SmhidWlsZCgpCi17Ci0gICAgcmV0dXJuICgoaXNHdGsoKSBvciBpc1dQRSgpKSBhbmQgLWUgZ2V0
SmhidWlsZFBhdGgoKSk7Ci19Ci0KIHN1YiBzaG91bGRVc2VGbGF0cGFrKCkKIHsKLSAgICByZXR1
cm4gKChpc0d0aygpIG9yIGlzV1BFKCkpIGFuZCAhIGluRmxhdHBha1NhbmRib3goKSBhbmQgLWUg
Z2V0RmxhdHBha1BhdGgoKSk7CisgICAgIyBUT0RPOiBVc2UgZmxhdHBhayBmb3IgSlNDT25seSBv
biBMaW51eD8gQ291bGQgYmUgdXNlZnVsIHdoZW4gdGhlIFNESworICAgICMgc3VwcG9ydHMgY3Jv
c3MtY29tcGlsYXRpb24gZm9yIEFSTXY3IGFuZCBBYXJjaDY0IGZvciBpbnN0YW5jZS4KKworICAg
IGlmICghaXNHdGsoKSBhbmQgIWlzV1BFKCkpIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQor
CisgICAgbXkgQHByZWZpeCA9IHdyYXBwZXJQcmVmaXhJZk5lZWRlZCgpOworICAgIHJldHVybiAo
KCEgaW5GbGF0cGFrU2FuZGJveCgpKSBhbmQgKEBwcmVmaXggPT0gMCkgYW5kIC1lIGdldFVzZXJG
bGF0cGFrUGF0aCgpKTsKIH0KIAogc3ViIGNtYWtlQ2FjaGVQYXRoKCkKQEAgLTIyMTgsNyArMjIz
Niw3IEBAIHN1YiBzaG91bGRSZW1vdmVDTWFrZUNhY2hlKEApCiAgICAgfQogCiAgICAgIyBJZiBh
IGNoYW5nZSBvbiB0aGUgSkhCdWlsZCBtb2R1bGVzZXQgaGFzIGJlZW4gZG9uZSwgd2UgbmVlZCB0
byBjbGVhbiB0aGUgY2FjaGUgYXMgd2VsbC4KLSAgICBpZiAoaXNHdGsoKSB8fCBpc1dQRSgpKSB7
CisgICAgaWYgKCEgc2hvdWxkVXNlRmxhdHBhaygpIGFuZCAoaXNHdGsoKSB8fCBpc1dQRSgpKSkg
ewogICAgICAgICBteSAkamhidWlsZFJvb3REaXJlY3RvcnkgPSBGaWxlOjpTcGVjLT5jYXRkaXIo
Z2V0SmhidWlsZFBhdGgoKSwgIlJvb3QiKTsKICAgICAgICAgIyBUaGUgc2NyaXB0IHVwZGF0ZS13
ZWJraXQtbGlicy1qaGJ1aWxkIHNoYWxsIHJlLWdlbmVyYXRlICRqaGJ1aWxkUm9vdERpcmVjdG9y
eSBpZiB0aGUgbW9kdWxlc2V0IGNoYW5nZWQuCiAgICAgICAgIGlmICgtZCAkamhidWlsZFJvb3RE
aXJlY3RvcnkgJiYgJGNhY2hlRmlsZU1vZGlmaWVkVGltZSA8IHN0YXQoJGpoYnVpbGRSb290RGly
ZWN0b3J5KS0+bXRpbWUpIHsKQEAgLTI0MDgsMTIgKzI0MjYsMTQgQEAgc3ViIGJ1aWxkQ01ha2VQ
cm9qZWN0T3JFeGl0KCQkJEApCiAKICAgICBleGl0KGV4aXRTdGF0dXMoY2xlYW5DTWFrZUdlbmVy
YXRlZFByb2plY3QoKSkpIGlmICRjbGVhbjsKIAotICAgIGlmIChpc0d0aygpICYmIGNoZWNrRm9y
QXJndW1lbnRBbmRSZW1vdmVGcm9tQVJHVigiLS11cGRhdGUtZ3RrIikpIHsKLSAgICAgICAgc3lz
dGVtKCJwZXJsIiwgIiRzb3VyY2VEaXIvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWxp
YnMiKSA9PSAwIG9yIGRpZSAkITsKLSAgICB9CisgICAgaWYgKHdyYXBwZXJQcmVmaXhJZk5lZWRl
ZCgpID09IGpoYnVpbGRXcmFwcGVyUHJlZml4KCkpIHsKKyAgICAgICAgaWYgKGlzR3RrKCkgJiYg
Y2hlY2tGb3JBcmd1bWVudEFuZFJlbW92ZUZyb21BUkdWKCItLXVwZGF0ZS1ndGsiKSkgeworICAg
ICAgICAgICAgc3lzdGVtKCJwZXJsIiwgRmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwg
IlRvb2xzIiwgIlNjcmlwdHMiLCAidXBkYXRlLXdlYmtpdGd0ay1saWJzIikpID09IDAgb3IgZGll
ICQhOworICAgICAgICB9CiAKLSAgICBpZiAoaXNXUEUoKSAmJiBjaGVja0ZvckFyZ3VtZW50QW5k
UmVtb3ZlRnJvbUFSR1YoIi0tdXBkYXRlLXdwZSIpKSB7Ci0gICAgICAgIHN5c3RlbSgicGVybCIs
ICIkc291cmNlRGlyL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdHdwZS1saWJzIikgPT0gMCBv
ciBkaWUgJCE7CisgICAgICAgIGlmIChpc1dQRSgpICYmIGNoZWNrRm9yQXJndW1lbnRBbmRSZW1v
dmVGcm9tQVJHVigiLS11cGRhdGUtd3BlIikpIHsKKyAgICAgICAgICAgIHN5c3RlbSgicGVybCIs
IEZpbGU6OlNwZWMtPmNhdGZpbGUoc291cmNlRGlyKCksICJUb29scyIsICJTY3JpcHRzIiwgInVw
ZGF0ZS13ZWJraXR3cGUtbGlicyIpKSA9PSAwIG9yIGRpZSAkITsKKyAgICAgICAgfQogICAgIH0K
IAogICAgICRyZXR1cm5Db2RlID0gZXhpdFN0YXR1cyhnZW5lcmF0ZUJ1aWxkU3lzdGVtRnJvbUNN
YWtlUHJvamVjdCgkcHJlZml4UGF0aCwgQGNtYWtlQXJncykpOwpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvYmFzZS5weQppbmRleCBlMWExOWNlMDczOTJhYWJkOTgwNGI4ZTM1MjQ3NGVhYTI1NTZiZDdi
Li4yZTk2OGUzOTVjM2JlM2FmNzZhNmZlZTYyNTU2YzhjN2FhNjJjMzJiIDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvYmFzZS5weQpAQCAtODkzLDYgKzg5Myw3IEBAIGNsYXNzIFBvcnQob2JqZWN0
KToKICAgICAgICAgICAgICdMQU5HJywKICAgICAgICAgICAgICdMRF9MSUJSQVJZX1BBVEgnLAog
ICAgICAgICAgICAgJ1RFUk0nLAorICAgICAgICAgICAgJ1RaJywKICAgICAgICAgICAgICdYREdf
REFUQV9ESVJTJywKICAgICAgICAgICAgICdYREdfUlVOVElNRV9ESVInLAogCkBAIC0xMjIwLDcg
KzEyMjEsNyBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgIFRoaXMgaXMgbmVlZGVkIG9u
bHkgYnkgcG9ydHMgdGhhdCB1c2UgdGhlIGFwYWNoZV9odHRwX3NlcnZlciBtb2R1bGUuIiIiCiAg
ICAgICAgICMgVGhlIEFwYWNoZSBiaW5hcnkgcGF0aCBjYW4gdmFyeSBkZXBlbmRpbmcgb24gT1Mg
YW5kIGRpc3RyaWJ1dGlvbgogICAgICAgICAjIFNlZSBodHRwOi8vd2lraS5hcGFjaGUub3JnL2h0
dHBkL0Rpc3Ryb3NEZWZhdWx0TGF5b3V0Ci0gICAgICAgIGZvciBwYXRoIGluIFsiL3Vzci9zYmlu
L2h0dHBkIiwgIi91c3Ivc2Jpbi9hcGFjaGUyIiwgIi9hcHAvYmluL2h0dHBkIl06CisgICAgICAg
IGZvciBwYXRoIGluIFsiL3Vzci9zYmluL2h0dHBkIiwgIi91c3Ivc2Jpbi9hcGFjaGUyIiwgIi91
c3IvYmluL2h0dHBkIl06CiAgICAgICAgICAgICBpZiBzZWxmLl9maWxlc3lzdGVtLmV4aXN0cyhw
YXRoKToKICAgICAgICAgICAgICAgICByZXR1cm4gcGF0aAogICAgICAgICBfbG9nLmVycm9yKCJD
b3VsZCBub3QgZmluZCBhcGFjaGUuIE5vdCBpbnN0YWxsZWQgb3IgdW5rbm93biBwYXRoLiIpCkBA
IC0xNDUyLDE0ICsxNDUzLDggQEAgY2xhc3MgUG9ydChvYmplY3QpOgogICAgICAgICAjIC0tcGl4
ZWwtdGVzdC1kaXJlY3RvcnkgaXMgbm90IHNwZWNpZmllZC4KICAgICAgICAgcmV0dXJuIFRydWUK
IAotICAgIGRlZiBfc2hvdWxkX3VzZV9mbGF0cGFrKHNlbGYpOgotICAgICAgICBzdWZmaXggPSAi
IgotICAgICAgICBpZiBzZWxmLnBvcnRfbmFtZToKLSAgICAgICAgICAgIHN1ZmZpeCA9IHNlbGYu
cG9ydF9uYW1lLnVwcGVyKCkKLSAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3Rz
KHNlbGYucGF0aF9mcm9tX3dlYmtpdF9iYXNlKCdXZWJLaXRCdWlsZCcsIHN1ZmZpeCwgIkZsYXRw
YWtUcmVlIikpCi0KICAgICBkZWYgX2luX2ZsYXRwYWtfc2FuZGJveChzZWxmKToKLSAgICAgICAg
cmV0dXJuIG9zLnBhdGguZXhpc3RzKCIvLmZsYXRwYWstaW5mbyIpCisgICAgICAgIHJldHVybiBz
ZWxmLl9maWxlc3lzdGVtLmV4aXN0cygiLy5mbGF0cGFrLWluZm8iKQogCiAgICAgZGVmIF9zaG91
bGRfdXNlX2poYnVpbGQoc2VsZik6CiAgICAgICAgIGlmIHNlbGYuX2luX2ZsYXRwYWtfc2FuZGJv
eCgpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkKaW5kZXggNjhiYzE2OTIzZjhhYjc2MDkx
ZjViM2U5NjRkMDY1Yzc5NDNmZjhkNS4uMGNlOGFhNDg3NDU5MDljNzk3MzY4ODNiMzZkMzRlODc0
MDk4ZDQ3MyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5CkBAIC0xMjIsNiArMTIyLDcg
QEAgY2xhc3MgR3RrUG9ydChQb3J0KToKICAgICAgICAgZW52aXJvbm1lbnRbJ1RFU1RfUlVOTkVS
X0lOSkVDVEVEX0JVTkRMRV9GSUxFTkFNRSddID0gc2VsZi5fYnVpbGRfcGF0aCgnbGliJywgJ2xp
YlRlc3RSdW5uZXJJbmplY3RlZEJ1bmRsZS5zbycpCiAgICAgICAgIGVudmlyb25tZW50WydURVNU
X1JVTk5FUl9URVNUX1BMVUdJTl9QQVRIJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdsaWInLCAncGx1
Z2lucycpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZp
cm9ubWVudCwgJ1dFQktJVF9PVVRQVVRESVInKQorICAgICAgICBzZWxmLl9jb3B5X3ZhbHVlX2Zy
b21fZW52aXJvbl9pZl9zZXQoZW52aXJvbm1lbnQsICdXRUJLSVRfSkhCVUlMRCcpCiAgICAgICAg
IHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJ
VF9UT1BfTEVWRUwnKQogICAgICAgICBzZWxmLl9jb3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9z
ZXQoZW52aXJvbm1lbnQsICdVU0VfUExBWUJJTjMnKQogICAgICAgICBzZWxmLl9jb3B5X3ZhbHVl
X2Zyb21fZW52aXJvbl9pZl9zZXQoZW52aXJvbm1lbnQsICdHU1RfREVCVUcnKQpAQCAtMTM0LDEw
ICsxMzUsMTEgQEAgY2xhc3MgR3RrUG9ydChQb3J0KToKICAgICAgICAgICAgIGlmIHNlbGYuX3No
b3VsZF91c2VfamhidWlsZCgpOgogICAgICAgICAgICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGgg
PSBzZWxmLmhvc3QuZXhlY3V0aXZlLnJ1bl9jb21tYW5kKHNlbGYuX2poYnVpbGRfd3JhcHBlciAr
IFsncHJpbnRlbnYnLCAnTExWTVBJUEVfTElCR0xfUEFUSCddLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZ25vcmVf
ZXJyb3JzPVRydWUpLnN0cmlwKCkKKyAgICAgICAgICAgICAgICBkcmlfbGliZ2xfcGF0aCA9IG9z
LnBhdGguam9pbihsbHZtcGlwZV9saWJnbF9wYXRoLCAiZHJpIikKICAgICAgICAgICAgIGVsc2U6
ICAjIGluIGZsYXRwYWsKLSAgICAgICAgICAgICAgICBsbHZtcGlwZV9saWJnbF9wYXRoID0gIi9h
cHAvc29mdEdML2xpYiIKKyAgICAgICAgICAgICAgICBsbHZtcGlwZV9saWJnbF9wYXRoID0gIi91
c3IvbGliL3g4Nl82NC1saW51eC1nbnUvIgorICAgICAgICAgICAgICAgIGRyaV9saWJnbF9wYXRo
ID0gb3MucGF0aC5qb2luKGxsdm1waXBlX2xpYmdsX3BhdGgsICJHTCIsICJsaWIiLCAiZHJpIikK
IAotICAgICAgICAgICAgZHJpX2xpYmdsX3BhdGggPSBvcy5wYXRoLmpvaW4obGx2bXBpcGVfbGli
Z2xfcGF0aCwgImRyaSIpCiAgICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpv
aW4obGx2bXBpcGVfbGliZ2xfcGF0aCwgImxpYkdMLnNvIikpIGFuZCBvcy5wYXRoLmV4aXN0cyhv
cy5wYXRoLmpvaW4oZHJpX2xpYmdsX3BhdGgsICJzd3Jhc3RfZHJpLnNvIikpOgogICAgICAgICAg
ICAgICAgICMgTWFrZSBzdXJlIHZhLWFwaSBzdXBwb3J0IGdldHMgZGlzYWJsZWQgYmVjYXVzZSBp
dCdzIGluY29tcGF0aWJsZSB3aXRoIE1lc2EncyBzb2Z0R0wgZHJpdmVyLgogICAgICAgICAgICAg
ICAgIGVudmlyb25tZW50WydMSUJWQV9EUklWRVJfTkFNRSddID0gIm51bGwiCkBAIC0xNDgsNyAr
MTUwLDcgQEAgY2xhc3MgR3RrUG9ydChQb3J0KToKICAgICAgICAgICAgICAgICBpZiBvcy5lbnZp
cm9uLmdldCgnTERfTElCUkFSWV9QQVRIJyk6CiAgICAgICAgICAgICAgICAgICAgIGVudmlyb25t
ZW50WydMRF9MSUJSQVJZX1BBVEgnXSArPSAnOiVzJyAlIG9zLmVudmlyb24uZ2V0KCdMRF9MSUJS
QVJZX1BBVEgnKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBfbG9nLndhcm5p
bmcoIkNhbid0IGZpbmQgR2FsbGl1bSBsbHZtcGlwZSBkcml2ZXIuIFRyeSB0byBydW4gdXBkYXRl
LXdlYmtpdGd0ay1saWJzIG9yIHVwZGF0ZS13ZWJraXRndGstZmxhdHBhayIpCisgICAgICAgICAg
ICAgICAgX2xvZy53YXJuaW5nKCJDYW4ndCBmaW5kIEdhbGxpdW0gbGx2bXBpcGUgZHJpdmVyLiBU
cnkgdG8gcnVuIHVwZGF0ZS13ZWJraXRndGstbGlicyBvciB1cGRhdGUtd2Via2l0LWZsYXRwYWsi
KQogICAgICAgICBpZiBzZWxmLmdldF9vcHRpb24oImxlYWtzIik6CiAgICAgICAgICAgICAjIFR1
cm4gb2ZmIEdMaWIgbWVtb3J5IG9wdGltaXNhdGlvbnMgaHR0cHM6Ly93aWtpLmdub21lLm9yZy9W
YWxncmluZC4KICAgICAgICAgICAgIGVudmlyb25tZW50WydHX1NMSUNFJ10gPSAnYWx3YXlzLW1h
bGxvYycKQEAgLTIzNyw3ICsyMzksNyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogCiAgICAgZGVm
IF9nZXRfY3Jhc2hfbG9nKHNlbGYsIG5hbWUsIHBpZCwgc3Rkb3V0LCBzdGRlcnIsIG5ld2VyX3Ro
YW4sIHRhcmdldF9ob3N0PU5vbmUpOgogICAgICAgICByZXR1cm4gR0RCQ3Jhc2hMb2dHZW5lcmF0
b3Ioc2VsZi5fZXhlY3V0aXZlLCBuYW1lLCBwaWQsIG5ld2VyX3RoYW4sCi0gICAgICAgICAgICBz
ZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wYXRoX3RvX2RyaXZlcikuZ2VuZXJhdGVfY3Jhc2hfbG9n
KHN0ZG91dCwgc3RkZXJyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vs
Zi5fZmlsZXN5c3RlbSwgc2VsZi5fcGF0aF90b19kcml2ZXIsIHNlbGYucG9ydF9uYW1lLCBzZWxm
LmdldF9vcHRpb24oJ2NvbmZpZ3VyYXRpb24nKSkuZ2VuZXJhdGVfY3Jhc2hfbG9nKHN0ZG91dCwg
c3RkZXJyKQogCiAgICAgZGVmIHRlc3RfZXhwZWN0YXRpb25zX2ZpbGVfcG9zaXRpb24oc2VsZik6
CiAgICAgICAgICMgR1RLIHBvcnQgYmFzZWxpbmUgc2VhcmNoIHBhdGggaXMgZ3RrIC0+IHdrMiAt
PiBnZW5lcmljIChhcyBndGstd2syIGFuZCBndGsgYmFzZWxpbmVzIGFyZSBtZXJnZWQpLCBzbyBw
b3J0IHRlc3QgZXhwZWN0YXRpb25zIGZpbGUgaXMgYXQgdGhpcmQgdG8gbGFzdCBwb3NpdGlvbi4K
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9saW51eF9nZXRfY3Jhc2hf
bG9nLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9sb2cu
cHkKaW5kZXggOWFkYzQ2MzcxZjk2MWIxOTYyOGU3ZmVkZDQ2NWViZmQwOTZjZDAxYS4uMmUwM2Rm
ZjFhMzZlYjVjMjA1YWU2ODc5Y2QyMmJkMmM3MDIyMTFlMyAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9sb2cucHkKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9sb2cucHkKQEAgLTM3LDE4ICszNywy
MiBAQCBpbXBvcnQgdGltZQogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZl
IGltcG9ydCBTY3JpcHRFcnJvcgogZnJvbSB3ZWJraXRweS5jb21tb24udW5pY29kZV9jb21wYXRp
YmlsaXR5IGltcG9ydCBkZWNvZGVfaWZfbmVjZXNzYXJ5Citmcm9tIHdlYmtpdHB5LmNvbW1vbi53
ZWJraXRfZmluZGVyIGltcG9ydCBXZWJLaXRGaW5kZXIKIAogCiBjbGFzcyBHREJDcmFzaExvZ0dl
bmVyYXRvcihvYmplY3QpOgogICAgIF9maW5kX3BpZF9yZWdleCA9IHJlLmNvbXBpbGUocidQSUQ6
IChcZCspIFwoLipcKScpCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgZXhlY3V0aXZlLCBuYW1l
LCBwaWQsIG5ld2VyX3RoYW4sIGZpbGVzeXN0ZW0sIHBhdGhfdG9fZHJpdmVyKToKKyAgICBkZWYg
X19pbml0X18oc2VsZiwgZXhlY3V0aXZlLCBuYW1lLCBwaWQsIG5ld2VyX3RoYW4sIGZpbGVzeXN0
ZW0sIHBhdGhfdG9fZHJpdmVyLCBwb3J0X25hbWUsIGNvbmZpZ3VyYXRpb24pOgogICAgICAgICBz
ZWxmLm5hbWUgPSBuYW1lCiAgICAgICAgIHNlbGYucGlkID0gcGlkCiAgICAgICAgIHNlbGYubmV3
ZXJfdGhhbiA9IG5ld2VyX3RoYW4KICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbSA9IGZpbGVzeXN0
ZW0KICAgICAgICAgc2VsZi5fcGF0aF90b19kcml2ZXIgPSBwYXRoX3RvX2RyaXZlcgogICAgICAg
ICBzZWxmLl9leGVjdXRpdmUgPSBleGVjdXRpdmUKKyAgICAgICAgc2VsZi5fcG9ydF9uYW1lID0g
cG9ydF9uYW1lCisgICAgICAgIHNlbGYuX2NvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uCisg
ICAgICAgIHNlbGYuX3dlYmtpdF9maW5kZXIgPSBXZWJLaXRGaW5kZXIoZmlsZXN5c3RlbSkKIAog
ICAgIGRlZiBfZ2V0X2dkYl9vdXRwdXQoc2VsZiwgY29yZWR1bXBfcGF0aCk6CiAgICAgICAgIHBy
b2Nlc3NfbmFtZSA9IHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihvcy5wYXRoLmRpcm5hbWUoc3RyKHNl
bGYuX3BhdGhfdG9fZHJpdmVyKCkpKSwgc2VsZi5uYW1lKQpAQCAtNjcsNiArNzEsOSBAQCBjbGFz
cyBHREJDcmFzaExvZ0dlbmVyYXRvcihvYmplY3QpOgogICAgICAgICByZXR1cm4gZmlsZW5hbWUK
IAogICAgIGRlZiBfZ2V0X3RyYWNlX2Zyb21fc3lzdGVtZChzZWxmLCBjb3JlZHVtcGN0bCwgcGlk
KToKKyAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoIi8uZmxhdHBhay1pbmZvIik6CisgICAgICAg
ICAgICByZXR1cm4gc2VsZi5fZ2V0X3RyYWNlX2Zyb21fZmxhdHBhaygpCisKICAgICAgICAgIyBM
ZXR0aW5nIHVwIHRvIDUgc2Vjb25kcyBmb3IgdGhlIGJhY2t0cmFjZSB0byBiZSBnZW5lcmF0ZWQg
b24gdGhlIHN5c3RlbWQgc2lkZQogICAgICAgICBmb3IgdHJ5X251bWJlciBpbiByYW5nZSg1KToK
ICAgICAgICAgICAgIGlmIHRyeV9udW1iZXIgIT0gMDoKQEAgLTkyLDEyICs5OSwyNCBAQCBjbGFz
cyBHREJDcmFzaExvZ0dlbmVyYXRvcihvYmplY3QpOgogICAgICAgICAgICAgICAgICAgICAgICAg
dGVtcF9maWxlLm5hbWVdLCByZXR1cm5fZXhpdF9jb2RlPVRydWUpOgogICAgICAgICAgICAgICAg
ICAgICBjb250aW51ZQogCi0gICAgICAgICAgICAgICAgcmVzID0gc2VsZi5fZ2V0X2dkYl9vdXRw
dXQoc2VsZi5fZ2V0X3RtcF9maWxlX25hbWUoY29yZWR1bXBjdGwsIHRlbXBfZmlsZS5uYW1lKSkK
LQotICAgICAgICAgICAgICAgIHJldHVybiByZXMKKyAgICAgICAgICAgICAgICByZXR1cm4gc2Vs
Zi5fZ2V0X2dkYl9vdXRwdXQoc2VsZi5fZ2V0X3RtcF9maWxlX25hbWUoY29yZWR1bXBjdGwsIHRl
bXBfZmlsZS5uYW1lKSkKIAogICAgICAgICByZXR1cm4gJycsIFtdCiAKKyAgICBkZWYgX2dldF90
cmFjZV9mcm9tX2ZsYXRwYWsoc2VsZik6CisgICAgICAgIGlmIHNlbGYubmV3ZXJfdGhhbjoKKyAg
ICAgICAgICAgIGNvcmVkdW1wX3NpbmNlID0gIi0tZ2RiLXN0YWNrLXRyYWNlPUAlZiIgJSBzZWxm
Lm5ld2VyX3RoYW4KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGNvcmVkdW1wX3NpbmNlID0g
Ii0tZ2RiLXN0YWNrLXRyYWNlIgorICAgICAgICB3ZWJraXRfZmxhdHBha19wYXRoID0gc2VsZi5f
d2Via2l0X2ZpbmRlci5wYXRoX3RvX3NjcmlwdCgnd2Via2l0LWZsYXRwYWsnKQorICAgICAgICBj
bWQgPSBbJ2ZsYXRwYWstc3Bhd24nLCAnLS1ob3N0Jywgd2Via2l0X2ZsYXRwYWtfcGF0aCwgJy0t
JXMnICUgc2VsZi5fcG9ydF9uYW1lLAorICAgICAgICAgICAgICAgIi0tJXMiICUgc2VsZi5fY29u
ZmlndXJhdGlvbi5sb3dlcigpLCBjb3JlZHVtcF9zaW5jZV0KKworICAgICAgICBwcm9jID0gc2Vs
Zi5fZXhlY3V0aXZlLnBvcGVuKGNtZCwgc3RkaW49Tm9uZSwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQ
RSwgc3RkZXJyPXN1YnByb2Nlc3MuUElQRSkKKyAgICAgICAgY3Jhc2hfbG9nLCBzdGRlcnIgPSBw
cm9jLmNvbW11bmljYXRlKCkKKyAgICAgICAgZXJyb3JzID0gZGVjb2RlX2lmX25lY2Vzc2FyeShz
dHIoc3RkZXJyIG9yICc8ZW1wdHk+JyksIGVycm9ycz0naWdub3JlJykuc3BsaXRsaW5lcygpCisg
ICAgICAgIHJldHVybiBjcmFzaF9sb2csIGVycm9ycworCiAgICAgZGVmIGdlbmVyYXRlX2NyYXNo
X2xvZyhzZWxmLCBzdGRvdXQsIHN0ZGVycik6CiAgICAgICAgIHBpZF9yZXByZXNlbnRhdGlvbiA9
IHN0cihzZWxmLnBpZCBvciAnPHVua25vd24+JykKICAgICAgICAgbG9nX2RpcmVjdG9yeSA9IG9z
LmVudmlyb24uZ2V0KCJXRUJLSVRfQ09SRV9EVU1QU19ESVJFQ1RPUlkiKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xpbnV4X2dldF9jcmFzaF9sb2dfdW5pdHRlc3Qu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZ191bml0
dGVzdC5weQppbmRleCA5ZjNiN2UzOTM3OWM0M2ExMDVlY2UyMGMxY2E2MjYyNDNkZmE3ZDM0Li4z
YTM5ZTg0NjcwYTY0YzgzNmI1ZTE0NDJmYzhhMzU5MzRjMzdkZjk0IDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZ191bml0dGVzdC5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGludXhfZ2V0X2NyYXNoX2xvZ191bml0
dGVzdC5weQpAQCAtNDYsNyArNDYsNyBAQCBjbGFzcyBHREJDcmFzaExvZ0dlbmVyYXRvclRlc3Qo
dW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBleGVjdXRpdmUgPSBNb2NrRXhlY3V0aXZlKCkK
ICAgICAgICAgZXhlY3V0aXZlLl9wcm9jID0gTW9ja1Byb2Nlc3MoKQogICAgICAgICBleGVjdXRp
dmUuX3Byb2Muc3Rkb3V0ID0gJ1NUREVSUjogPGVtcHR5PicKLSAgICAgICAgZ2VuZXJhdG9yID0g
R0RCQ3Jhc2hMb2dHZW5lcmF0b3IoZXhlY3V0aXZlLCAnRHVtcFJlbmRlclRyZWUnLCAyODUyOSwg
bmV3ZXJfdGhhbj1Ob25lLCBmaWxlc3lzdGVtPU1vY2tGaWxlU3lzdGVtKHsnL3BhdGgvdG8vY29y
ZWR1bXBzJzogJyd9KSwgcGF0aF90b19kcml2ZXI9Tm9uZSkKKyAgICAgICAgZ2VuZXJhdG9yID0g
R0RCQ3Jhc2hMb2dHZW5lcmF0b3IoZXhlY3V0aXZlLCAnRHVtcFJlbmRlclRyZWUnLCAyODUyOSwg
bmV3ZXJfdGhhbj1Ob25lLCBmaWxlc3lzdGVtPU1vY2tGaWxlU3lzdGVtKHsnL3BhdGgvdG8vY29y
ZWR1bXBzJzogJyd9KSwgcGF0aF90b19kcml2ZXI9Tm9uZSwgcG9ydF9uYW1lPSJndGsiLCBjb25m
aWd1cmF0aW9uPSJEZWJ1ZyIpCiAKICAgICAgICAgY29yZV9kaXJlY3RvcnkgPSBvcy5lbnZpcm9u
LmdldCgnV0VCS0lUX0NPUkVfRFVNUFNfRElSRUNUT1JZJywgJy9wYXRoL3RvL2NvcmVkdW1wcycp
CiAgICAgICAgIGNvcmVfcGF0dGVybiA9IGdlbmVyYXRvci5fZmlsZXN5c3RlbS5qb2luKGNvcmVf
ZGlyZWN0b3J5LCAiY29yZS1waWRfJXAuZHVtcCIpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQvd3BlLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dwZS5w
eQppbmRleCAwMGNlNTI3NmU5Y2M0MjFiNDgzN2FjMmI1NGYzM2M1NTJiYmVjODU1Li41NDY5MjVm
NDdjNjQwMDcyNWFmMDczYTM1NTNjN2ZmNTRlZWE3ZDk4IDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvd3BlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9y
dC93cGUucHkKQEAgLTc3LDYgKzc3LDcgQEAgY2xhc3MgV1BFUG9ydChQb3J0KToKICAgICAgICAg
ZW52aXJvbm1lbnRbJ1RFU1RfUlVOTkVSX1RFU1RfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxk
X3BhdGgoJ2xpYicsICdwbHVnaW5zJykKICAgICAgICAgZW52aXJvbm1lbnRbJ1dFQktJVF9FWEVD
X1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ2JpbicpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFs
dWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9PVVRQVVRESVInKQor
ICAgICAgICBzZWxmLl9jb3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9zZXQoZW52aXJvbm1lbnQs
ICdXRUJLSVRfSkhCVUlMRCcpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9u
X2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9UT1BfTEVWRUwnKQogICAgICAgICBzZWxmLl9j
b3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9zZXQoZW52aXJvbm1lbnQsICdVU0VfUExBWUJJTjMn
KQogICAgICAgICBzZWxmLl9jb3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9zZXQoZW52aXJvbm1l
bnQsICdHU1RfREVCVUcnKQpAQCAtMTIxLDcgKzEyMiw4IEBAIGNsYXNzIFdQRVBvcnQoUG9ydCk6
CiAgICAgICAgIHJldHVybiAyCiAKICAgICBkZWYgX2dldF9jcmFzaF9sb2coc2VsZiwgbmFtZSwg
cGlkLCBzdGRvdXQsIHN0ZGVyciwgbmV3ZXJfdGhhbiwgdGFyZ2V0X2hvc3Q9Tm9uZSk6Ci0gICAg
ICAgIHJldHVybiBHREJDcmFzaExvZ0dlbmVyYXRvcihzZWxmLl9leGVjdXRpdmUsIG5hbWUsIHBp
ZCwgbmV3ZXJfdGhhbiwgc2VsZi5fZmlsZXN5c3RlbSwgc2VsZi5fcGF0aF90b19kcml2ZXIpLmdl
bmVyYXRlX2NyYXNoX2xvZyhzdGRvdXQsIHN0ZGVycikKKyAgICAgICAgcmV0dXJuIEdEQkNyYXNo
TG9nR2VuZXJhdG9yKHNlbGYuX2V4ZWN1dGl2ZSwgbmFtZSwgcGlkLCBuZXdlcl90aGFuLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbSwgc2VsZi5f
cGF0aF90b19kcml2ZXIsIHNlbGYucG9ydF9uYW1lLCBzZWxmLmdldF9vcHRpb24oJ2NvbmZpZ3Vy
YXRpb24nKSkuZ2VuZXJhdGVfY3Jhc2hfbG9nKHN0ZG91dCwgc3RkZXJyKQogCiAgICAgZGVmIGNv
bmZpZ3VyYXRpb25fZm9yX3VwbG9hZChzZWxmLCBob3N0PU5vbmUpOgogICAgICAgICBjb25maWd1
cmF0aW9uID0gc3VwZXIoV1BFUG9ydCwgc2VsZikuY29uZmlndXJhdGlvbl9mb3JfdXBsb2FkKGhv
c3Q9aG9zdCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvZ3RrL0FjdGl2YXRlRm9udHNHdGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0ay5jcHAKaW5kZXggM2Y4ZTI0NDBmMjgzZTRi
NGU1NDI3YWQ2NDRkMmIzYjRlMzE5NjVhMS4uODFiY2Q5NjJhMDljN2FjZmVmMjJlYzJmNDhiYzAy
YjI0OWE1NmM0NCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0ay5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9ndGsvQWN0aXZhdGVGb250c0d0ay5jcHAKQEAgLTY1LDggKzY1LDEz
IEBAIENTdHJpbmcgZ2V0T3V0cHV0RGlyKCkKIAogc3RhdGljIENTdHJpbmcgZ2V0Rm9udHNQYXRo
KCkKIHsKKyAgICAvLyBUcnkgZmxhdHBhayBzYW5kYm94IHBhdGguCisgICAgR1VuaXF1ZVB0cjxj
aGFyPmZvbnRzUGF0aChnX2J1aWxkX2ZpbGVuYW1lKCIvdXNyIiwgInNoYXJlIiwgIndlYmtpdGd0
ay10ZXN0LWZvbnRzIiwgTlVMTCkpOworICAgIGlmIChnX2ZpbGVfdGVzdChmb250c1BhdGguZ2V0
KCksIHN0YXRpY19jYXN0PEdGaWxlVGVzdD4oR19GSUxFX1RFU1RfRVhJU1RTIHwgR19GSUxFX1RF
U1RfSVNfRElSKSkpCisgICAgICAgIHJldHVybiBmb250c1BhdGguZ2V0KCk7CisKICAgICBDU3Ry
aW5nIHdlYmtpdE91dHB1dERpciA9IGdldE91dHB1dERpcigpOwotICAgIEdVbmlxdWVQdHI8Y2hh
cj4gZm9udHNQYXRoKGdfYnVpbGRfZmlsZW5hbWUod2Via2l0T3V0cHV0RGlyLmRhdGEoKSwgIkRl
cGVuZGVuY2llc0dUSyIsICJSb290IiwgIndlYmtpdGd0ay10ZXN0LWZvbnRzIiwgbnVsbHB0cikp
OworICAgIGZvbnRzUGF0aC5yZXNldChnX2J1aWxkX2ZpbGVuYW1lKHdlYmtpdE91dHB1dERpci5k
YXRhKCksICJEZXBlbmRlbmNpZXNHVEsiLCAiUm9vdCIsICJ3ZWJraXRndGstdGVzdC1mb250cyIs
IG51bGxwdHIpKTsKICAgICBpZiAoZ19maWxlX3Rlc3QoZm9udHNQYXRoLmdldCgpLCBzdGF0aWNf
Y2FzdDxHRmlsZVRlc3Q+KEdfRklMRV9URVNUX0VYSVNUUyB8IEdfRklMRV9URVNUX0lTX0RJUikp
KQogICAgICAgICByZXR1cm4gZm9udHNQYXRoLmdldCgpOwogCmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dwZS9BY3RpdmF0ZUZvbnRzV1BFLmNwcCBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9udHNX
UEUuY3BwCmluZGV4IGE0OWM3YTI5MjE4MjU5MWUyNzI3YjJiOTAxZTQxMmIyZGU4ZTAzZGEuLjhi
ZTczNmYwNDljOTFiMzA4Y2QyYzFlY2FmMTQwNWEwNWMxYWU1MDAgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUuY3Bw
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRl
Rm9udHNXUEUuY3BwCkBAIC01OCw4ICs1OCwxMyBAQCBDU3RyaW5nIGdldE91dHB1dERpcigpCiAK
IHN0YXRpYyBDU3RyaW5nIGdldEZvbnRzUGF0aCgpCiB7CisgICAgLy8gVHJ5IGZsYXRwYWsgc2Fu
ZGJveCBwYXRoLgorICAgIEdVbmlxdWVQdHI8Y2hhcj5mb250c1BhdGgoZ19idWlsZF9maWxlbmFt
ZSgiL3VzciIsICJzaGFyZSIsICJ3ZWJraXRndGstdGVzdC1mb250cyIsIE5VTEwpKTsKKyAgICBp
ZiAoZ19maWxlX3Rlc3QoZm9udHNQYXRoLmdldCgpLCBzdGF0aWNfY2FzdDxHRmlsZVRlc3Q+KEdf
RklMRV9URVNUX0VYSVNUUyB8IEdfRklMRV9URVNUX0lTX0RJUikpKQorICAgICAgICByZXR1cm4g
Zm9udHNQYXRoLmdldCgpOworCiAgICAgQ1N0cmluZyB3ZWJraXRPdXRwdXREaXIgPSBnZXRPdXRw
dXREaXIoKTsKLSAgICBHVW5pcXVlUHRyPGNoYXI+IGZvbnRzUGF0aChnX2J1aWxkX2ZpbGVuYW1l
KHdlYmtpdE91dHB1dERpci5kYXRhKCksICJEZXBlbmRlbmNpZXNXUEUiLCAiUm9vdCIsICJ3ZWJr
aXRndGstdGVzdC1mb250cyIsIG51bGxwdHIpKTsKKyAgICBmb250c1BhdGgucmVzZXQoZ19idWls
ZF9maWxlbmFtZSh3ZWJraXRPdXRwdXREaXIuZGF0YSgpLCAiRGVwZW5kZW5jaWVzV1BFIiwgIlJv
b3QiLCAid2Via2l0Z3RrLXRlc3QtZm9udHMiLCBudWxscHRyKSk7CiAgICAgaWYgKGdfZmlsZV90
ZXN0KGZvbnRzUGF0aC5nZXQoKSwgc3RhdGljX2Nhc3Q8R0ZpbGVUZXN0PihHX0ZJTEVfVEVTVF9F
WElTVFMgfCBHX0ZJTEVfVEVTVF9JU19ESVIpKSkKICAgICAgICAgcmV0dXJuIGZvbnRzUGF0aC5n
ZXQoKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9maWxlcy9kZWZhdWx0LnhrbSBiL1Rv
b2xzL2ZsYXRwYWsvZmlsZXMvZGVmYXVsdC54a20KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAxNmY2YjA4ZjZkODA4NTgwOTY4YmEwMjI1NmQ5MDc1ZDQ4YTQ3ZDAuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDAK
SGNtVj9kMDAwMDEKCmxpdGVyYWwgMTIwMzIKemNtY2d5WWo3TGFiLXVlOzVGa2lWbDMlZkZjU15y
eCokTlkyTDRzaUdyVUMod3B6dCZSbDlIMiVyQVN6JE1VZ1p9CnpOPi1mNE5+Viheb3dVZ2BOei1A
eXREVX4+UkNVd05SREdxWGA+KWdLWWRXNHpgZj9tNmFvZEArb3ZOTCUtKkBqPgp6Pn5hbUlzJU8m
VzlEZShxZChPUypLSzk8YmkrbEx1Zz1nPUlANWkyM04pMEdXZU19WFUxMDBWMkRLeXxpdVNQQjQK
enBVMmpZK1E4UmA5PXw2N1kqLUlIOUEkY1pfbjdDVyljJHdIUkJpOEtXb3pYRXlkeF5OdT90TTdP
Nk84JXFyS01jCnpiUjFSRE49RyN7IyNKLUZ3WWw1ZitFNk80RCF1IUpZT08lSSFLPzwyfElHVE9q
KjJxUiopQyROYzZPSCljeCFMRgp6KCo+NVU1V1UjJVJHbXchb2w3VHtIYGJTVEl5PVhveCFtZFFV
VV5pLV93UHFVTik9bXFsYEFHdzVFcWgkajYpX00KejhPUzZnM3peQ2xRJU1OeVF0b3VRKW9BQ1lS
anZUUDB7alpfRTVOUyt6WEpSVUBHSFF0MEtXcUszaCpuVystQUYzCnp0S3szMlRwb1VUX35xZjNo
aEg5a2RIQ2h3bXhvXi1ldEchaVE+a3tQUF5gP2ZOK2AzRW59Kipze0hFYkk0Wm1zbAp6T35ZPipl
JCgpcWhUbjg1Kj0pQjs8d2tZQmxCPXteamVJZW1ZcVZ5eyRyUXdlcSNAJncyfWxNcTNDVGpIWDNE
OCMKenR5KEYhQHxBTUFGeyNScEVNeUFPbmxDclRmZkpBbkJ2JlhtUWF+NHloOW5fe05AYnl2V304
LTh2dSkmc0A9fU8zCnpsYDd9anh6YiFTUzFRKVpyRStfPUkkdFdEWVVIY3NNelBqSmQlJDwwKFFN
X0xoX19Pa0RVfEJmOyhTQT8jX1c4Zgp6UWstY3dYR2BzM3QpTDNeI2FkJndQQEFpQDZrNFM/bXZX
UVVgRjMla1VLeFgmWHcoOyokbnkjNEdtWUdRM3omc1cKem0xP3Q8KHk5Q2NgWXY1cm9VMWg8YEZn
ZHtZUyRhTisxeTtDUyNRa08zaVgrMHQofnRvJmVSY0NCaUN4ciUrKDZ7CnpgTC0kKkR+LTktXyNf
MVJqWmUqYENYJGQ4I0QlMEc8QiRuUjFfSFlZKmlGREwxR14wREdPKXxRRSg1eV4+QHUqKwp6eiVC
IzM0RDJSaEh3bjgqKmlGSzI1X1hmWW59cHBZPj9VRDEzQS0lcHZhcmotRSheT1g/NlI9UyFZJktE
RWJPd2QKem5AWGJYKGEkT0xhfC0+T0xPLVhfJm5maEMzak9STi05YFZuNyFOTSYtMF5DbXdUUnxk
KW5Zcj5ucn0ycVhCeTJwCnpIPF5WQCZBRiowQm41RkhYfjtOYTArTkFETFNVRElvZU1oYGJ9c0Io
KnR4S0NWZHVpbWcmcTNDYnp6cj1UXmU/Mgp6KnJqMlloRnV6VlkxcE08bXhmJiRjSF4pY2h1dHty
IyRoKU95SyZmISF3JnU3cUNaXnBobH5EaihIfTFRISRwNiUKej1ucj5kTE8oUDRsKl8pWjdIamkt
bVAke3lYRV9FYylwbX5LcGgtbDxiQ3VhOSQ0YT9ATTtwJnxXcUoxcnBiSzBDCnpyaCFHXklJc3p2
ME1hZjRKT2k4ciZJN1orSXA3cXEmU3hMayExSylmYXpOKFMweTRoPmtvbkMzbmNwbXNgSVVnbwp6
Py1ZPnZtNFZEcEttV2lkQHRpWkMoP0k1djJRckBwQW9IMDlHTV5mZGBCYzY2SkZacj9FXmNwaGJ+
e1NsI3xQQ2kKekdOfGdjOyE+ciFQXkBzUy1uPkchRWRyWkMpbjJTaXh9JkJza0x2ayRaVCtjVDZA
aV5pVGlEU2pwPm1aKkRLfWtnCnomKmVRXk45QzhkY2JJUFp3a1VpK201WE9FbXcwdnFUcjx2Zngp
dzZqPD5UTD1ZTChfQCs5eDxSSnYtPUZfNmFUPQp6QyVyZ05Ec0A7akA9Ri1KI2lqfD9NTGokcFor
Jm4pZHE9Nkd3OW5VVD9QazU9ZDNnM1EpbXdzNCFJTEgpYnlEMyUKenBVT2NlJm5MS1VEU0szV012
WUpOVzxMSjkkSHZrMVI8PTZDYSF+MVRUOzV1JD82fXkqKXJnTUNIfT5OMyk+dmc5Cno1ISlsaW1J
R2NnX0hFNU45RX1icmhidWskKD87dD5FSnJ6THc3QU4qbi0kIytkZjE/OGQrNm5YSHI4VnomYjR7
ZQp6ajElZHJRVDckYCp6SW9VWmQwK2lxWWxUQk5kKT1HKmtPNWcjRlFEYVN1WGw3aE9yaWYzfTlh
WiNYIXRhdV8kRH4KekxIfHxpYENNaEdJRU13bylGO15BSStnKm1YR2ptNSpoY2paMWdqTHJCeDIh
cylpSUJmNFQtSEwyPF8rckFFVUp4CnpwVHctPU1mKGg/Y0J4dFBvfWRGYD9tIUd5K183UyleTVNT
bldwa3N8dChmSWxMbj5JQ3g4YC1Ud3picjA2O3IyMgp6TyVKZU1yYGhKWjdsdTUmP2djYkM7eTVJ
NmFKK2ZfJXI8QkhxdUYmI1E0QntmdTkpcHUwfTtvJUQ7T1VKWCF1JEcKei1eUmZJRXpZUVFVcHpE
eEwrITxWVUs5O0ZmU3E1PSFjRypJNE5VfCF1K1VGNz5KKHZ9UD9zbit0T0tZPTRFMW1ACno3ZXlv
UnYqOHprVWolK097MzIyNy1VRF5pXld4SVgreVhrZG8tY0ZZaGJ8MT8xNlA8SU5EUHAkVTZefk94
Qjdoagp6enFUI00mOEBicmpqbGwzK0d5S2oyaW4jaktqIWhoY3s3TEdDZHxGSWRie31UWD1CRzRr
P3xYUiZVKTxAYytUfEwKemxzVWl+cXUrNiR0eTt6RW9abnZJZFpJaDw5USlWSl9fdzI7N1VwRjxW
aDg1Nmdxbz8oJVF9M2tXa3h1Xk9GcUgmCnpeNSYmRzE5PTlmcDB+e1RIPTgzKHskQFQyPUlgfiNK
O0Q2SGIjdj5zVypnc1gtN0UrNTRDPTs0KHRqQWhkaX10Pgp6I1dmYzVtM2x8OHtPYTg0VnF3V19r
T0pqK2QhKER5RzNwR016Q2RJKV5Ub3RCOUwpRSRBTT8lZjIoSHQ/SHEoMU8KejxqWiozVz9VO0NQ
XzFHRUpMcTxDaUxhU1V4bXNhS0A3UkpKZyFzY182Uk5rZzlybGlWcjxYTyR0amsmaCtYJlp1Cno+
O24kMG95YXNlJEtNZ0dYUU1MVGtfcjEoYHcwNmJ7bFM4TClmPFFDdD17Xkd6T3ZDek19eUBeNHwh
JHU+bU9hTwp6UVE2eGZLWWx8QT8hfStPdUZVPT4+aGdwOFhqOWZ1c25fO1ZYTH0jcEJnM0J1LSQj
QTFxYD9wZmB+OG4jUUtMMSsKemxfVDd5MGVEb253Zz4tO19RJUxXOH1mUTEjSntZMHFMPT05aDx7
YntwPGVwZUxqM0VSNUJKakY0RG1aT2tMal89CnpAe2o4SHUhbHdidGlvLT04OSh7JCFXbHBMaHZA
JnxLfiMtUT5UbTVJdFV2Z0hgaCREKkE3Rm0pazI9T2JFfVktMgp6Y3FNdXExPnFWZGhkOyp3dWFP
PSVfQWZDV1l1fTJnZUZVTUBQbHgjRGRLfUozfEFgUiliKVIhT1AoS3lvKkxvY0oKejxOQzE+ZjRS
cF4xJTVvbGYzd0g7YVZob2I1ZFZDU3FhTHtiT287IU0mbj4zXldRaE5VYUJrc3d7WTs0ZXNQS2Vp
CnojX3o5JV8kUGc/ci1vaylAbFd8JmNqMiN1XyU5Mk8lZ3BqaUFeeEs5TDc4fWRIcEc5YDxFQV4r
WEc4b2lnP3NWOwp6bUN0cEtlPVZILSYtVkc3OSNeYChVS1FATyYpQGRhVlUwNHMpWjx7X3VnbSFJ
PzchbDM5cE17MypYNGlKPWVtOH4Kej5+VH0hZkErY2R7fS1RWWdNYW44X1d5P1BMRFFZOy0rWnE5
fEp+PT58MzdATHtyXis9VmZyNlk+UEM9e0QpbkUmCnpGfmpLbXtAZHFoMzhsNyFfOXZCa0NjeD4/
NFJFJkNQTEx5Xy01fCNeeUJGa1cpSnM4Kl8kfitlczhZYGNJM017ZAp6MG5SQDhLIUNGV3t6Q1hM
P3NANj8pdGlyQ3B5JF5CKlltNHo9Qzl9MTBOMy1ZYUYoYSUqOHRiXnQ4aiNgXiF5cyYKemVgbSVN
VEd6QyVfMDlNWiZRRkslYT4+aT9hb3Y0YktmSDleZU9OeXtaWUkyRmtEQ1EhcHZVbmRqd3t5VmN0
T1YlCno/e1BETjJZY0wlczY+d153RWErejR7MUshPEVCTCk3WEh5amNlWjxPTT9LezgjcjRle14/
PTd1RUw2OHZKTCpBPwp6an5UQWw3aWt+MWZMPnB+NTNEY1h0VWM1Sk4hbDtNazElckM0JTI8VWtN
LURGS1ZkPlVFbSgjMT87JUlrX1I1TDkKem9mR1N1byEjVTVYOXhieWZadEc1YXI2QWZgcCgrdUAl
aCVIQ1VmQEV5KGtsfXAoK0t7e21jeWF7QVA3aD8pZnFPCnpMQWY2WEp8eT1Pej0hMk4xM1dBRGxm
WXdncDlNWjlfZng+KmEtUmU7MWVQQGhUJDIwbTEpaC1tSU8zd3ZXKUxgdgp6djV0RXlfLSplUSpn
aiRHNTlsdkx4N2JKRGZ2KHNgLS1XSyhONis3aitJe3I9SGhIRnhlaDwzJktLZ2EmPUtBUWoKenBz
Vi1NWiRzQkdkaTdyNWI4YFFGOzE1OTlaLT53KDdXVG1aVkF8K0Z7Zyt7ckdkPjZPYDI0OV9lZXxv
KTc1ZUMoCnpmXk1kZHt5Y1FFZWVgUzRtSE96UGhWRTEhSiU1K3V3flRQVjsqKiVGN2BeJSk7Q0lY
WUJmdG1ie2AtTCtmXmUkZwp6eXUpJHdLSlg3aCF1ZnB3eCtuWVNwTT8mdUI1JCFAZmlCLWllK2p5
VUtLZ1VlUDUwNG5MUmFnZnpYJTtaaTBoYyYKejM0QzFjLXZ4WSsrYGsrNmVHdH5+P0A+UX5wOV9C
ZjxYJEJ4X2hhc3tWWmsra15FfTdNc1A/ekB5YnxgbTR4NkJHCnp0YDZKJEVeTENyYDgjYSRkJDAp
Iz1rJjE2QDUzZjJvYWUoZmUqbH1IYVBBTT17Ml4/RCF1MjMqXjk5JWhnPTw5RQp6PThzPyM2c3tY
I249aXM5Q3xwYXpIaCZEOHBtMlMkdFJ3MXE9LUt7IS17ODM5ekwkR3AtZ0ElM2VKfTYxcFhEQW0K
em9HPHM4TEUqWVdkK3h1dkMrOXUpeTQ/VHJwOElhQCNsIWg8S049TFNTRzREUTBeYzJZJnZ5ZDhD
LTkjOGY0JnAmCnpvX2tnOVV3UXZvQW9yQDRieWRJZlZPWmZTNSQ5dDZgd0dWfSQxYjEwcE0hKkJj
P0pHSztvMkx2YDRpWCNoM2hmMAp6KHJ0TjZteWIwXkBJaz54MVJucjt3bSs8T2pgfk1ueEQzN24x
WkM4O2k1MzI+VjtPZExMaHd2ayFRWTtecitPWDIKenshSXVyMWU9Mk1mPT52eDFRIUx7Zih3RXhn
OE0rUDQhNy1kRWE0cWhAT0h0KzFiO18tVVY7UHEkbTtoeSgoU09oCnpBYTx3ViRHJjdnbiFkIUVG
S09kSVF8P0t7SiltV3MpTyRhY2VfbXxYMSltYiEtakN8fEk+TWgzejl7aXM1V0ZiMwp6Q1UmUVZL
UHxpP3s1eWRyMkJxRkR4KVh4JDdrbjtZXkZ5TWAyfkc+WE9ZbGotRn5NRUk9TFBRKE9iVnQyanxu
fmsKel54fUNaPyU4JWszZnR1IXFQcWlfNjVVOyp5QSRaeS02dmA5NSE/aU5gRj5iKmNNSSthRXtL
aDFfcElvejJ5ITNBCno3YFRUYnU4SDMzOCF6OVk9d30zSDF4dGMrSyhDQz9pUzhFIVVsZT8pWExE
NzV8Nm5gdDt5VDBpaFMhKCV7WWliIwp6QG5kOEJAY08jK0cyNGk3ZGhMYEtVSnh0YHs9NlhUUGtZ
YnJHdkxnUkl6RUApe2xgVmBhaiNFKk1FdmcrVG9RYS0KekBUXzE0PT1wbCVKMGZZZXBldU1yJj1E
TEVqMCRwV0dRT19oQ2o+N0d6RXwqKmZ9YXhuRypET1FDalhjeEZBdSUqCnpQOXhDbTxGI2l7QHB0
Vn17bjYwNiUzcWV2NzNjNVJNeT4zdC1XTXh7LXdEbEdDUH43KGdgPSpENH1Xakl4Vl49bgp6Kjde
Q2FjUjh4T3l0JDBJdzVRPkhZb3BXSSMmMkghNn5wPGJvJGJ5aF9tYz4lY2owezA5KUlzUXFzNkc5
VGk/TSgKellwYGQ8R09OcSQqIS1FZEduMFRsJilSYkx7UUJtMyNfbkk8Wj5Gc0hAS3lQc2hVQSE8
P1FaUkRrTWJTbiZ7Zio9CnpEO3g4eVp0ZC1LTSQ0VG1KMHFqaT11WlR3aGREUGtpMSgpQitiZ04k
I0d+cWN4NVo8YVFjPF9WaCQqSUR1cU0+bAp6VmBGUWJqWjItfl5fQXRaaT1FWj15XkNZcnZDWGFT
I3BSN0xCO3BfdHsrcXdgb3ZtemtWcm5kZm17JlZIRThYPyYKei1Tc1cqMlp6KmJYUzM1P1VsflBG
OzhBc01WfG5FUUBiY09eOGZpZUM/ez09Wk5yUzBtbClTVHZDXlYqJUBOcmJGCnotb3lzZCMpNSVH
U1k1LVA0WkgpamQ7eCM+NHZmPWJlKTxQM0tZaCgmSSE9eVo8TCZ3MTlZfVh7SSF+Pjl0OHxfcwp6
IX1te28zPzdpcXgqT3k0Wm1WbSNpZ0ZFNlVlanJlJHc4MmdiPUkwdWxvdEBeM3Ahcio1cTxER0k2
bTlePCgmJHwKemxoTl87XnFIVDJCVChQaGJiV2MrJXVvTUQhMmU2eXpnak5APk5ecmh6b0dxR0Yh
MjNmMypgVDJDTEpmKHtQZD9DCnp6ZGFZNjd3YD02XnFIVUQ0ZGoxVG0oU0JgZSk9YEVrPjZpdVFV
Nk1AZmNvPko5VXUyTT9OXld8YmghNilGNHs0IQp6WDcpQiQlc19mb1R+e3czeCgqOHJSYV49RGFV
JFZhTFVmNlp2dmpGZjswfD1iaUR8KWMhM201PD5OQ1A4MSsjKXYKekNPd3JqSmUzbUVgU0drQWhN
MnszZGVybCo4PEElc3g3VWB7SXMzWkc0ODB0fF5CNDh2OF5JMEZLaFh+NzhGaFhACnpvZ1l4ZzJo
e05hQyZXKDIyZD83LT5pQj9EQ2YmcnhiQ0pTemV0Wkoob2V3UlV6JUxzcDdpVDNDXz5Pe2VRTnxB
RQp6czxiYE1SU0JBTWFqcl9aREhyRmVncXcxNHVGN3lKN3cwTzQ+LV9qK1Y2QHZHI2g1PllheWhh
U0RyKTJXbChFRDQKekR7WVZTU0F3UW9vV0J4byVFa0ZCO2lnPWl6Y082UCNrb3YhS0I+ZTQxe0JO
VmxhaiFSMC1rQD1fQmdMOFh2KVFUCnpFI2FuSW9ZeFg9JUVmc3Q7aWc9aT1RUH11JU9AP05WendS
T2N0bStQSkJkNCs9aCtmIShCXnFoQkZ9dGNPajxuVgp6TChYJDxNNG99dVQ+QX4kRjshZSQtX19H
USMhUGEhVX58azJJPjtMUm1CNGQ9WnpuaXdpNVA2MiR0M2JqQ1hzIzEKemJlX1dgPWxNKk5VTy12
T0YySTVoMmhWWW1HaUtXSkpmfXtfU3h6RiliYG8oR3RhRHwxZEcoekE7KW9xIzlFc2w4CnpXazVX
YU47e3F2SENSUG0kWGdtMjVBQXF2Nj8lKGpSfURASDxfWlpsdGo3bDk7Q1dWKUp8VVJWJGk2aUJx
KHNsQgp6cFpUUSlpLT56eipNfCF9WFA8LWBMVjdgdTEpS3J2dFR2VzZKNktDP157Vj05Sk9CfDY0
cVUtfmZyR2pDWWE9ODAKenJPe2wkeUBYP1R0PUE2d1kya2Y/Nlh7eFM5UCFoS3l8ZFBwPCNRfUk7
QG5WUUspR0wzdDIlUkNabz5Td2BGN1hSCnpMd2N7bkpXTF54PW5aeEtGelJIUEdFRHJZa2hmZEw7
bE5wTXNmdm1XKykkcyM8b1lvdyQ3PjZ6aihXUmdhYztvOApNa2tzZH5iSUlpWTA4M0swMj48ezkK
CmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL2ZpbGVzL2h0dHBkLWF1dG9nZW4uc2ggYi9Ub29s
cy9mbGF0cGFrL2ZpbGVzL2h0dHBkLWF1dG9nZW4uc2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1
CmluZGV4IDFjMGM0ODMwNTFmYmRmODYwNGI5NDRhNjM1MTFjNGUxMjFlYWVmNGQuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZmxhdHBhay9maWxl
cy9odHRwZC1hdXRvZ2VuLnNoCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1hdXRvbWFr
ZSAtLWFkZC1taXNzaW5nCi1hdXRvcmVjb25mIC0taW5zdGFsbApkaWZmIC0tZ2l0IGEvVG9vbHMv
ZmxhdHBhay9mbGF0cGFrdXRpbHMucHkgYi9Ub29scy9mbGF0cGFrL2ZsYXRwYWt1dGlscy5weQpp
bmRleCA4OWViYzY3MzEwYzFkNWI4NGM5MGNmNTQwN2Y5NDBjMDFiMDVlZWU2Li4wNTE0YmNhZTc4
NTA4NjkwODQzNjA1MjRiYTdkOTI0ZTBhY2M4OWMyIDEwMDY0NAotLS0gYS9Ub29scy9mbGF0cGFr
L2ZsYXRwYWt1dGlscy5weQorKysgYi9Ub29scy9mbGF0cGFrL2ZsYXRwYWt1dGlscy5weQpAQCAt
NDgsMTkgKzQ4LDE1IEBAIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICBmcm9tIHVybGxpYjIgaW1w
b3J0IHVybG9wZW4KIAogRkxBVFBBS19SRVEgPSBbCi0gICAgKCJmbGF0cGFrIiwgIjAuMTAuMCIp
LAotICAgICgiZmxhdHBhay1idWlsZGVyIiwgIjAuMTAuMCIpLAorICAgICgiZmxhdHBhayIsICIx
LjQuNCIpLAogXQogCiBGTEFUUEFLX1ZFUlNJT04gPSB7fQogCi1XUEVfTUFOSUZFU1RfTUFQID0g
ewotICAgICJxdCI6ICJvcmcud2Via2l0LldQRVFULnlhbWwiLAotfQotCiBzY3JpcHRkaXIgPSBv
cy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSkKIF9sb2cgPSBsb2dnaW5n
LmdldExvZ2dlcihfX25hbWVfXykKIAorRkxBVFBBS19VU0VSX0RJUl9QQVRIID0gb3MucGF0aC5y
ZWFscGF0aChvcy5wYXRoLmpvaW4oc2NyaXB0ZGlyLCAiLi4vLi4vV2ViS2l0QnVpbGQiLCAiVXNl
ckZsYXRwYWsiKSkKIAogY2xhc3MgQ29sb3JzOgogICAgIEhFQURFUiA9ICJcMDMzWzk1bSIKQEAg
LTEyMywxMzIgKzExOSw2IEBAIGRlZiBjaGVja19mbGF0cGFrKHZlcmJvc2U9VHJ1ZSk6CiAgICAg
cmV0dXJuIFRydWUKIAogCi1kZWYgcmVtb3ZlX2V4dGVuc2lvbl9wb2ludHMoYXJyYXkpOgotICAg
IHJlc3VsdF9hcmdzID0gW10KLSAgICBmb3IgYXJnIGluIGFycmF5OgotICAgICAgICBpZihub3Qg
YXJnLnN0YXJ0c3dpdGgoJy0tZXh0ZW5zaW9uJykpOgotICAgICAgICAgICAgcmVzdWx0X2FyZ3Mu
YXBwZW5kKGFyZykKLSAgICByZXR1cm4gcmVzdWx0X2FyZ3MKLQotCi1kZWYgcmVtb3ZlX2NvbW1l
bnRzKHN0cmluZyk6Ci0gICAgcGF0dGVybiA9IHIiKFwiLio/XCJ8XCcuKj9cJyl8KC9cKi4qP1wq
L3wvL1teXHJcbl0qJCkiCi0gICAgIyBmaXJzdCBncm91cCBjYXB0dXJlcyBxdW90ZWQgc3RyaW5n
cyAoZG91YmxlIG9yIHNpbmdsZSkKLSAgICAjIHNlY29uZCBncm91cCBjYXB0dXJlcyBjb21tZW50
cyAoLy9zaW5nbGUtbGluZSBvciAvKiBtdWx0aS1saW5lICovKQotICAgIHJlZ2V4ID0gcmUuY29t
cGlsZShwYXR0ZXJuLCByZS5NVUxUSUxJTkUgfCByZS5ET1RBTEwpCi0KLSAgICBkZWYgX3JlcGxh
Y2VyKG1hdGNoKToKLSAgICAgICAgIyBpZiB0aGUgMm5kIGdyb3VwIChjYXB0dXJpbmcgY29tbWVu
dHMpIGlzIG5vdCBOb25lLAotICAgICAgICAjIGl0IG1lYW5zIHdlIGhhdmUgY2FwdHVyZWQgYSBu
b24tcXVvdGVkIChyZWFsKSBjb21tZW50IHN0cmluZy4KLSAgICAgICAgaWYgbWF0Y2guZ3JvdXAo
MikgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICByZXR1cm4gIiIgICMgc28gd2Ugd2lsbCByZXR1
cm4gZW1wdHkgdG8gcmVtb3ZlIHRoZSBjb21tZW50Ci0gICAgICAgIGVsc2U6ICAjIG90aGVyd2lz
ZSwgd2Ugd2lsbCByZXR1cm4gdGhlIDFzdCBncm91cAotICAgICAgICAgICAgcmV0dXJuIG1hdGNo
Lmdyb3VwKDEpICAjIGNhcHR1cmVkIHF1b3RlZC1zdHJpbmcKLSAgICByZXR1cm4gcmVnZXguc3Vi
KF9yZXBsYWNlciwgc3RyaW5nKQotCi0KLWRlZiBsb2FkX21hbmlmZXN0KG1hbmlmZXN0X3BhdGgs
IHBvcnRfbmFtZT1Ob25lLCBjb21tYW5kPU5vbmUpOgotICAgIGlzX3lhbWwgPSBtYW5pZmVzdF9w
YXRoLmVuZHN3aXRoKCcueWFtbCcpCi0gICAgd2l0aCBvcGVuKG1hbmlmZXN0X3BhdGgsICJyIikg
YXMgbXI6Ci0gICAgICAgIGNvbnRlbnRzID0gbXIucmVhZCgpCi0KLSAgICAgICAgY29udGVudHMg
PSBjb250ZW50cyAlIHsiQ09NTUFORCI6IGNvbW1hbmQsICJQT1JUTkFNRSI6IHBvcnRfbmFtZX0K
LSAgICAgICAgaWYgaXNfeWFtbDoKLSAgICAgICAgICAgIGltcG9ydCB5YW1sCi0gICAgICAgICAg
ICB5YW1sX2xvYWQgPSBnZXRhdHRyKHlhbWwsICJzYWZlX2xvYWQiLCB5YW1sLmxvYWQpCi0gICAg
ICAgICAgICBtYW5pZmVzdCA9IHlhbWxfbG9hZChjb250ZW50cykKLSAgICAgICAgZWxzZToKLSAg
ICAgICAgICAgIGNvbnRlbnRzID0gcmVtb3ZlX2NvbW1lbnRzKGNvbnRlbnRzKQotICAgICAgICAg
ICAgbWFuaWZlc3QgPSBqc29uLmxvYWRzKGNvbnRlbnRzKQotCi0gICAgcmV0dXJuIG1hbmlmZXN0
Ci0KLQotZGVmIGV4cGFuZF9zdWJtb2R1bGVzX3JlY3Vyc2UobW9kdWxlcywgbWFuaWZlc3RfcGF0
aCwgcG9ydF9uYW1lLCBjb21tYW5kKToKLSAgICBhbGxfbW9kdWxlcyA9IFtdCi0gICAgaWYgdHlw
ZShtb2R1bGVzKSBpcyBzdHI6Ci0gICAgICAgIHN1Ym1hbmlmZXN0X3BhdGggPSBvcy5wYXRoLmpv
aW4ob3MucGF0aC5kaXJuYW1lKG1hbmlmZXN0X3BhdGgpLCBtb2R1bGVzKQotICAgICAgICBzdWJt
YW5pZmVzdCA9IGxvYWRfbWFuaWZlc3Qoc3VibWFuaWZlc3RfcGF0aCwgcG9ydF9uYW1lPXBvcnRf
bmFtZSwgY29tbWFuZD1jb21tYW5kKQotICAgICAgICBhbGxfbW9kdWxlcy5leHRlbmQoZXhwYW5k
X3N1Ym1vZHVsZXNfcmVjdXJzZShzdWJtYW5pZmVzdCwgc3VibWFuaWZlc3RfcGF0aCwgcG9ydF9u
YW1lLCBjb21tYW5kKSkKLSAgICAgICAgcmV0dXJuIGFsbF9tb2R1bGVzCi0KLSAgICAjIFRoZSBs
YXN0IHJlY3Vyc2UgbWFuaWZlc3QgZXhwYW5kIGl0ZXJhdGlvbiBtaWdodCBsZWFkIHRvIGEgc2lu
Z2xlIG1vZHVsZS4KLSAgICBpZiBub3QgaXNpbnN0YW5jZShtb2R1bGVzLCBsaXN0KToKLSAgICAg
ICAgYWxsX21vZHVsZXMuYXBwZW5kKG1vZHVsZXMpCi0gICAgICAgIHJldHVybiBhbGxfbW9kdWxl
cwotCi0gICAgZm9yIG1vZHVsZSBpbiBtb2R1bGVzOgotICAgICAgICBpZiB0eXBlKG1vZHVsZSkg
aXMgc3RyOgotICAgICAgICAgICAgc3VibWFuaWZlc3RfcGF0aCA9IG9zLnBhdGguam9pbihvcy5w
YXRoLmRpcm5hbWUobWFuaWZlc3RfcGF0aCksIG1vZHVsZSkKLSAgICAgICAgICAgIHN1Ym1hbmlm
ZXN0ID0gbG9hZF9tYW5pZmVzdChzdWJtYW5pZmVzdF9wYXRoLCBwb3J0X25hbWU9cG9ydF9uYW1l
LCBjb21tYW5kPWNvbW1hbmQpCi0gICAgICAgICAgICBhbGxfbW9kdWxlcy5leHRlbmQoZXhwYW5k
X3N1Ym1vZHVsZXNfcmVjdXJzZShzdWJtYW5pZmVzdCwgc3VibWFuaWZlc3RfcGF0aCwgcG9ydF9u
YW1lLCBjb21tYW5kKSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGFsbF9tb2R1bGVzLmFw
cGVuZChtb2R1bGUpCi0KLSAgICByZXR1cm4gYWxsX21vZHVsZXMKLQotZGVmIGV4cGFuZF9tYW5p
ZmVzdChtYW5pZmVzdF9wYXRoLCBvdXRmaWxlLCBwb3J0X25hbWUsIHNvdXJjZV9yb290LCBjb21t
YW5kKToKLSAgICAiIiJDcmVhdGVzIHRoZSBtYW5pZmVzdCBmaWxlLiIiIgotICAgIHRyeToKLSAg
ICAgICAgb3MucmVtb3ZlKG91dGZpbGUpCi0gICAgZXhjZXB0IE9TRXJyb3I6Ci0gICAgICAgIHBh
c3MKLQotICAgIG1hbmlmZXN0ID0gbG9hZF9tYW5pZmVzdChtYW5pZmVzdF9wYXRoLCBwb3J0X25h
bWU9cG9ydF9uYW1lLCBjb21tYW5kPWNvbW1hbmQpCi0gICAgaWYgbm90IG1hbmlmZXN0OgotICAg
ICAgICByZXR1cm4gRmFsc2UKLQotICAgIGlmICJzZGstaGFzaCIgaW4gbWFuaWZlc3Q6Ci0gICAg
ICAgIGRlbCBtYW5pZmVzdFsic2RrLWhhc2giXQotICAgIGlmICJydW50aW1lLWhhc2giIGluIG1h
bmlmZXN0OgotICAgICAgICBkZWwgbWFuaWZlc3RbInJ1bnRpbWUtaGFzaCJdCi0KLSAgICBhbGxf
bW9kdWxlcyA9IFtdCi0KLSAgICBvdmVycmlkZW5fbW9kdWxlcyA9IFtdCi0gICAgaWYgIldFQktJ
VF9FWFRSQV9NT0RVTEVTRVRTIiBpbiBvcy5lbnZpcm9uOgotICAgICAgICBvdmVycmlkZW5fbW9k
dWxlcyA9IGxvYWRfbWFuaWZlc3Qob3MuZW52aXJvblsiV0VCS0lUX0VYVFJBX01PRFVMRVNFVFMi
XSkKLSAgICAgICAgaWYgbm90IG92ZXJyaWRlbl9tb2R1bGVzOgotICAgICAgICAgICAgb3ZlcnJp
ZGVuX21vZHVsZXMgPSBbXQotICAgIGZvciBtb2R1bGVzIGluIG1hbmlmZXN0WyJtb2R1bGVzIl06
Ci0gICAgICAgIG1vZHVsZXMgPSBleHBhbmRfc3VibW9kdWxlc19yZWN1cnNlKG1vZHVsZXMsIG1h
bmlmZXN0X3BhdGgsIHBvcnRfbmFtZSwgY29tbWFuZCkKLQotICAgICAgICBpZiBub3QgaXNpbnN0
YW5jZShtb2R1bGVzLCBsaXN0KToKLSAgICAgICAgICAgIG1vZHVsZXMgPSBbbW9kdWxlc10KLQot
ICAgICAgICBmb3IgbW9kdWxlIGluIG1vZHVsZXM6Ci0gICAgICAgICAgICBmb3Igb3ZlcnJpZGVu
X21vZHVsZSBpbiBvdmVycmlkZW5fbW9kdWxlczoKLSAgICAgICAgICAgICAgICBpZiBtb2R1bGVb
J25hbWUnXSA9PSBvdmVycmlkZW5fbW9kdWxlWyduYW1lJ106Ci0gICAgICAgICAgICAgICAgICAg
IG1vZHVsZSA9IG92ZXJyaWRlbl9tb2R1bGUKLSAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVu
X21vZHVsZXMucmVtb3ZlKG1vZHVsZSkKLSAgICAgICAgICAgICAgICAgICAgYnJlYWsKLQotICAg
ICAgICAgICAgYWxsX21vZHVsZXMuYXBwZW5kKG1vZHVsZSkKLQotICAgICMgQW5kIGFkZCBvdmVy
cmlkZW4gbW9kdWxlcyByaWdodCBiZWZvcmUgdGhlIHdlYmtpdCBwb3J0IGJ1aWxkIGRlZi4KLSAg
ICBmb3Igb3ZlcnJpZGVuX21vZHVsZSBpbiBvdmVycmlkZW5fbW9kdWxlczoKLSAgICAgICAgYWxs
X21vZHVsZXMuaW5zZXJ0KC0xLCBvdmVycmlkZW5fbW9kdWxlKQotCi0gICAgbWFuaWZlc3RbIm1v
ZHVsZXMiXSA9IGFsbF9tb2R1bGVzCi0gICAgZm9yIG1vZHVsZSBpbiBtYW5pZmVzdFsibW9kdWxl
cyJdOgotICAgICAgICBpZiBub3QgbW9kdWxlLmdldCgic291cmNlcyIpOgotICAgICAgICAgICAg
Y29udGludWUKLQotICAgICAgICBpZiBtb2R1bGVbInNvdXJjZXMiXVswXVsidHlwZSJdID09ICJn
aXQiOgotICAgICAgICAgICAgaWYgcG9ydF9uYW1lID09IG1vZHVsZVsibmFtZSJdOgotICAgICAg
ICAgICAgICAgIHJlcG8gPSAiZmlsZTovLyIgKyBzb3VyY2Vfcm9vdAotICAgICAgICAgICAgICAg
IG1vZHVsZVsic291cmNlcyJdWzBdWyJ1cmwiXSA9IHJlcG8KLQotICAgICAgICBmb3Igc291cmNl
IGluIG1vZHVsZVsic291cmNlcyJdOgotICAgICAgICAgICAgaWYgc291cmNlWyJ0eXBlIl0gPT0g
InBhdGNoIiBvciAoc291cmNlWyJ0eXBlIl0gPT0gImZpbGUiIGFuZCBzb3VyY2UuZ2V0KCdwYXRo
JykpOgotICAgICAgICAgICAgICAgIHNvdXJjZVsicGF0aCJdID0gb3MucGF0aC5qb2luKG9zLnBh
dGguZGlybmFtZShtYW5pZmVzdF9wYXRoKSwgc291cmNlWyJwYXRoIl0pCi0KLSAgICB3aXRoIG9w
ZW4ob3V0ZmlsZSwgInciKSBhcyBvZjoKLSAgICAgICAgb2Yud3JpdGUoanNvbi5kdW1wcyhtYW5p
ZmVzdCwgaW5kZW50PTQpKQotCi0gICAgcmV0dXJuIFRydWUKLQotCiBjbGFzcyBGbGF0cGFrT2Jq
ZWN0OgogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHVzZXIpOgpAQCAtMjgwLDQ1ICsxNTAsMjUg
QEAgY2xhc3MgRmxhdHBha1BhY2thZ2VzKEZsYXRwYWtPYmplY3QpOgogCiAgICAgICAgIHNlbGYu
cmVwb3MgPSByZXBvcwogCi0gICAgICAgIHNlbGYucnVudGltZXMgPSBzZWxmLl9fZGV0ZWN0X3J1
bnRpbWVzKCkKLSAgICAgICAgc2VsZi5hcHBzID0gc2VsZi5fX2RldGVjdF9hcHBzKCkKLSAgICAg
ICAgc2VsZi5wYWNrYWdlcyA9IHNlbGYucnVudGltZXMgKyBzZWxmLmFwcHMKLQorICAgICAgICBz
ZWxmLnBhY2thZ2VzID0gc2VsZi5fX2RldGVjdF9ydW50aW1lcygpCiAKICAgICBkZWYgX19kZXRl
Y3RfcGFja2FnZXMoc2VsZiwgKmFyZ3MpOgogICAgICAgICBwYWNrcyA9IFtdCi0gICAgICAgIGlm
IEZMQVRQQUtfVkVSU0lPTlsiZmxhdHBhayJdIDwgKDEsIDEsIDIpOgotICAgICAgICAgICAgb3V0
ID0gc2VsZi5mbGF0cGFrKCJsaXN0IiwgIi1kIiwgKmFyZ3MpCi0gICAgICAgICAgICBwYWNrYWdl
X2RlZnMgPSBbbGluZSBmb3IgbGluZSBpbiBvdXQuc3BsaXQoIlxuIikgaWYgbGluZV0KLSAgICAg
ICAgICAgIGZvciBwYWNrYWdlX2RlZiBpbiBwYWNrYWdlX2RlZnM6Ci0gICAgICAgICAgICAgICAg
c3BsaXRlZF9wYWNrYWdlZF9kZWYgPSBwYWNrYWdlX2RlZi5zcGxpdCgpCi0gICAgICAgICAgICAg
ICAgbmFtZSwgYXJjaCwgYnJhbmNoID0gc3BsaXRlZF9wYWNrYWdlZF9kZWZbMF0uc3BsaXQoIi8i
KQotCi0gICAgICAgICAgICAgICAgIyBJZiBpbnN0YWxsZWQgZnJvbSBhIGZpbGUsIHRoZSBwYWNr
YWdlIGlzIGluIG5vIHJlcG8KLSAgICAgICAgICAgICAgICByZXBvX25hbWUgPSBzcGxpdGVkX3Bh
Y2thZ2VkX2RlZlsxXQotICAgICAgICAgICAgICAgIHJlcG8gPSBzZWxmLnJlcG9zLnJlcG9zLmdl
dChyZXBvX25hbWUpCi0KLSAgICAgICAgICAgICAgICBwYWNrcy5hcHBlbmQoRmxhdHBha1BhY2th
Z2UobmFtZSwgYnJhbmNoLCByZXBvLCBhcmNoKSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAg
IG91dCA9IHNlbGYuZmxhdHBhaygibGlzdCIsICItLWNvbHVtbnM9YXBwbGljYXRpb24sYXJjaCxi
cmFuY2gsb3JpZ2luIiwgKmFyZ3MpCi0gICAgICAgICAgICBwYWNrYWdlX2RlZnMgPSBbbGluZSBm
b3IgbGluZSBpbiBvdXQuc3BsaXQoIlxuIikgaWYgbGluZV0KLSAgICAgICAgICAgIGZvciBwYWNr
YWdlX2RlZiBpbiBwYWNrYWdlX2RlZnM6Ci0gICAgICAgICAgICAgICAgbmFtZSwgYXJjaCwgYnJh
bmNoLCBvcmlnaW4gPSBwYWNrYWdlX2RlZi5zcGxpdCgiXHQiKQorICAgICAgICBvdXQgPSBzZWxm
LmZsYXRwYWsoImxpc3QiLCAiLS1jb2x1bW5zPWFwcGxpY2F0aW9uLGFyY2gsYnJhbmNoLG9yaWdp
biIsICphcmdzKQorICAgICAgICBwYWNrYWdlX2RlZnMgPSBbbGluZSBmb3IgbGluZSBpbiBvdXQu
c3BsaXQoIlxuIikgaWYgbGluZV0KKyAgICAgICAgZm9yIHBhY2thZ2VfZGVmIGluIHBhY2thZ2Vf
ZGVmczoKKyAgICAgICAgICAgIG5hbWUsIGFyY2gsIGJyYW5jaCwgb3JpZ2luID0gcGFja2FnZV9k
ZWYuc3BsaXQoIlx0IikKIAotICAgICAgICAgICAgICAgICMgSWYgaW5zdGFsbGVkIGZyb20gYSBm
aWxlLCB0aGUgcGFja2FnZSBpcyBpbiBubyByZXBvCi0gICAgICAgICAgICAgICAgcmVwbyA9IHNl
bGYucmVwb3MucmVwb3MuZ2V0KG9yaWdpbikKKyAgICAgICAgICAgICMgSWYgaW5zdGFsbGVkIGZy
b20gYSBmaWxlLCB0aGUgcGFja2FnZSBpcyBpbiBubyByZXBvCisgICAgICAgICAgICByZXBvID0g
c2VsZi5yZXBvcy5yZXBvcy5nZXQob3JpZ2luKQogCi0gICAgICAgICAgICAgICAgcGFja3MuYXBw
ZW5kKEZsYXRwYWtQYWNrYWdlKG5hbWUsIGJyYW5jaCwgcmVwbywgYXJjaCkpCisgICAgICAgICAg
ICBwYWNrcy5hcHBlbmQoRmxhdHBha1BhY2thZ2UobmFtZSwgYnJhbmNoLCByZXBvLCBhcmNoKSkK
IAogICAgICAgICByZXR1cm4gcGFja3MKIAotCiAgICAgZGVmIF9fZGV0ZWN0X3J1bnRpbWVzKHNl
bGYpOgogICAgICAgICByZXR1cm4gc2VsZi5fX2RldGVjdF9wYWNrYWdlcygiLS1ydW50aW1lIikK
IAotICAgIGRlZiBfX2RldGVjdF9hcHBzKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5fX2Rl
dGVjdF9wYWNrYWdlcygpCi0KICAgICBkZWYgX19pdGVyX18oc2VsZik6CiAgICAgICAgIGZvciBw
YWNrYWdlIGluIHNlbGYucGFja2FnZXM6CiAgICAgICAgICAgICB5aWVsZCBwYWNrYWdlCkBAIC0z
MzMsNDcgKzE4MywxNiBAQCBjbGFzcyBGbGF0cGFrUmVwb3MoRmxhdHBha09iamVjdCk6CiAKICAg
ICBkZWYgdXBkYXRlKHNlbGYpOgogICAgICAgICBzZWxmLnJlcG9zID0ge30KLSAgICAgICAgaWYg
RkxBVFBBS19WRVJTSU9OWyJmbGF0cGFrIl0gPCAoMSwgMSwgMik6Ci0gICAgICAgICAgICBvdXQg
PSBzZWxmLmZsYXRwYWsoInJlbW90ZS1saXN0IiwgIi1kIikKLSAgICAgICAgICAgIHJlbW90ZXMg
PSBbbGluZSBmb3IgbGluZSBpbiBvdXQuc3BsaXQoIlxuIikgaWYgbGluZV0KLSAgICAgICAgICAg
IGZvciByZXBvIGluIHJlbW90ZXM6Ci0gICAgICAgICAgICAgICAgZm9yIGNvbXBvbmVudHMgaW4g
W3JlcG8uc3BsaXQoIiAiKSwgcmVwby5zcGxpdCgiXHQiKV06Ci0gICAgICAgICAgICAgICAgICAg
IGlmIGxlbihjb21wb25lbnRzKSA9PSAxOgotICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9u
ZW50cyA9IHJlcG8uc3BsaXQoIlx0IikKLSAgICAgICAgICAgICAgICAgICAgbmFtZSA9IGNvbXBv
bmVudHNbMF0KLSAgICAgICAgICAgICAgICAgICAgZGVzYyA9ICIiCi0gICAgICAgICAgICAgICAg
ICAgIHVybCA9IE5vbmUKLSAgICAgICAgICAgICAgICAgICAgZm9yIGVsZW0gaW4gY29tcG9uZW50
c1sxOl06Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgZWxlbToKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2Vk
X3VybCA9IHVybHBhcnNlKGVsZW0pCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBwYXJzZWRf
dXJsLnNjaGVtZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmwgPSBlbGVtCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLQotICAgICAgICAgICAgICAgICAgICAgICAg
aWYgZGVzYzoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjICs9ICIgIgotICAgICAg
ICAgICAgICAgICAgICAgICAgZGVzYyArPSBlbGVtCi0KLSAgICAgICAgICAgICAgICAgICAgaWYg
dXJsOgotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLQotICAgICAgICAgICAgICAgIGlm
IG5vdCB1cmw6Ci0gICAgICAgICAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiTm8gdmFsaWQg
VVJJIGZvdW5kIGZvcjogJXMiLCByZXBvKQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQot
Ci0gICAgICAgICAgICAgICAgc2VsZi5yZXBvc1tuYW1lXSA9IEZsYXRwYWtSZXBvKG5hbWUsIHVy
bCwgZGVzYywgcmVwb3M9c2VsZikKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG91dCA9IHNl
bGYuZmxhdHBhaygicmVtb3RlLWxpc3QiLCAiLS1jb2x1bW5zPW5hbWUsdGl0bGUsdXJsIikKLSAg
ICAgICAgICAgIHJlbW90ZXMgPSBbbGluZSBmb3IgbGluZSBpbiBvdXQuc3BsaXQoIlxuIikgaWYg
bGluZV0KLSAgICAgICAgICAgIGZvciByZW1vdGUgaW4gcmVtb3RlczoKLSAgICAgICAgICAgICAg
ICBuYW1lLCB0aXRsZSwgdXJsID0gcmVtb3RlLnNwbGl0KCJcdCIpCi0gICAgICAgICAgICAgICAg
cGFyc2VkX3VybCA9IHVybHBhcnNlKHVybCkKLSAgICAgICAgICAgICAgICBpZiBub3QgcGFyc2Vk
X3VybC5zY2hlbWU6Ci0gICAgICAgICAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiTm8gdmFs
aWQgVVJJIGZvdW5kIGZvcjogJXMiLCByZW1vdGUpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRp
bnVlCisgICAgICAgIG91dCA9IHNlbGYuZmxhdHBhaygicmVtb3RlLWxpc3QiLCAiLS1jb2x1bW5z
PW5hbWUsdGl0bGUsdXJsIikKKyAgICAgICAgcmVtb3RlcyA9IFtsaW5lIGZvciBsaW5lIGluIG91
dC5zcGxpdCgiXG4iKSBpZiBsaW5lXQorICAgICAgICBmb3IgcmVtb3RlIGluIHJlbW90ZXM6Cisg
ICAgICAgICAgICBuYW1lLCB0aXRsZSwgdXJsID0gcmVtb3RlLnNwbGl0KCJcdCIpCisgICAgICAg
ICAgICBwYXJzZWRfdXJsID0gdXJscGFyc2UodXJsKQorICAgICAgICAgICAgaWYgbm90IHBhcnNl
ZF91cmwuc2NoZW1lOgorICAgICAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiTm8gdmFsaWQg
VVJJIGZvdW5kIGZvcjogJXMiLCByZW1vdGUpCisgICAgICAgICAgICAgICAgY29udGludWUKIAot
ICAgICAgICAgICAgICAgIHNlbGYucmVwb3NbbmFtZV0gPSBGbGF0cGFrUmVwbyhuYW1lLCB1cmws
IHRpdGxlLCByZXBvcz1zZWxmKQorICAgICAgICAgICAgc2VsZi5yZXBvc1tuYW1lXSA9IEZsYXRw
YWtSZXBvKG5hbWU9bmFtZSwgdXJsPXVybCwgZGVzYz10aXRsZSwgcmVwb3M9c2VsZikKIAogICAg
ICAgICBzZWxmLnBhY2thZ2VzID0gRmxhdHBha1BhY2thZ2VzKHNlbGYpCiAKQEAgLTQyMCw3ICsy
MzksMTAgQEAgY2xhc3MgRmxhdHBha1JlcG8oRmxhdHBha09iamVjdCk6CiAgICAgICAgIGlmIHJl
cG9fZmlsZSBhbmQgbm90IHVybDoKICAgICAgICAgICAgIHJlcG8gPSBjb25maWdwYXJzZXIuQ29u
ZmlnUGFyc2VyKCkKICAgICAgICAgICAgIHJlcG8ucmVhZChzZWxmLnJlcG9fZmlsZS5uYW1lKQot
ICAgICAgICAgICAgc2VsZi51cmwgPSByZXBvWyJGbGF0cGFrIFJlcG8iXVsiVXJsIl0KKyAgICAg
ICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLnVybCA9IHJlcG9bIkZsYXRwYWsgUmVw
byJdWyJVcmwiXQorICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAg
ICAgICAgIHNlbGYudXJsID0gcmVwby5nZXQoIkZsYXRwYWsgUmVwbyIsICJVcmwiKQogICAgICAg
ICBlbHNlOgogICAgICAgICAgICAgYXNzZXJ0IHVybAogCkBAIC00NDksOSArMjcxLDEyIEBAIGNs
YXNzIEZsYXRwYWtQYWNrYWdlKEZsYXRwYWtPYmplY3QpOgogICAgICAgICBzZWxmLmFyY2ggPSBh
cmNoCiAgICAgICAgIHNlbGYuaGFzaCA9IGhhc2gKIAotICAgIGRlZiBfX3N0cl9fKHNlbGYpOgor
ICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAgICAgcmV0dXJuICIlcy8lcy8lcyAlcyIgJSAo
c2VsZi5uYW1lLCBzZWxmLmFyY2gsIHNlbGYuYnJhbmNoLCBzZWxmLnJlcG8ubmFtZSkKIAorICAg
IGRlZiBfX3N0cl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gIiVzLyVzLyVzIiAlIChzZWxmLm5h
bWUsIHNlbGYuYXJjaCwgc2VsZi5icmFuY2gpCisKICAgICBkZWYgaXNfaW5zdGFsbGVkKHNlbGYs
IGJyYW5jaCk6CiAgICAgICAgIGlmIG5vdCBzZWxmLnJlcG86CiAgICAgICAgICAgICAjIEJ1bmRs
ZSBpbnN0YWxsZWQgZnJvbSBmaWxlCkBAIC00OTEsNyArMzE2LDcgQEAgY2xhc3MgRmxhdHBha1Bh
Y2thZ2UoRmxhdHBha09iamVjdCk6CiAgICAgICAgIGV4dHJhX2FyZ3MuYXBwZW5kKCItLWFzc3Vt
ZXllcyIpCiAKICAgICAgICAgc2VsZi5mbGF0cGFrKCJ1cGRhdGUiLCBzZWxmLm5hbWUsIHNlbGYu
YnJhbmNoLCBzaG93X291dHB1dD1UcnVlLAotICAgICAgICAgICAgICAgICAgICAqZXh0cmFfYXJn
cywgY29tbWVudD1jb21tZW50KQorICAgICAgICAgICAgICAgICAgICAgKmV4dHJhX2FyZ3MsIGNv
bW1lbnQ9Y29tbWVudCkKIAogCiBAY29udGV4dG1hbmFnZXIKQEAgLTUxOSw1NCArMzQ0LDU4IEBA
IGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCctLXZl
cmJvc2UnLCBhY3Rpb249J3N0b3JlX3RydWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSdTaG93IGRlYnVnIG1lc3NhZ2UnKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVu
dCgiLS1kZWJ1ZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iQ29tcGlsZSB3
aXRoIERlYnVnIGNvbmZpZ3VyYXRpb24sIGFsc28gaW5zdGFsbHMgU2RrIGRlYnVnIHN5bWJvbGVz
LiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIikKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iQ29tcGlsZSB3aXRoIERlYnVnIGNvbmZp
Z3VyYXRpb24sIGFsc28gaW5zdGFsbHMgU2RrIGRlYnVnIHN5bWJvbGVzLiIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIpCiAgICAgICAgIGdlbmVyYWwu
YWRkX2FyZ3VtZW50KCItLXJlbGVhc2UiLCBoZWxwPSJDb21waWxlIHdpdGggUmVsZWFzZSBjb25m
aWd1cmF0aW9uLiIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIpCiAgICAgICAgIGdlbmVyYWwuYWRkX2Fy
Z3VtZW50KCctLXBsYXRmb3JtJywgYWN0aW9uPSdzdG9yZScsIGhlbHA9J1BsYXRmb3JtIHRvIHVz
ZSAoZS5nLiwgIm1hYy1saW9uIiknKSwKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoJy0t
Z3RrJywgYWN0aW9uPSdzdG9yZV9jb25zdCcsIGRlc3Q9J3BsYXRmb3JtJywgY29uc3Q9J2d0aycs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J0FsaWFzIGZvciAtLXBsYXRmb3Jt
PWd0aycpCiAgICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCctLXdwZScsIGFjdGlvbj0nc3Rv
cmVfY29uc3QnLCBkZXN0PSdwbGF0Zm9ybScsIGNvbnN0PSd3cGUnLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGhlbHA9KCdBbGlhcyBmb3IgLS1wbGF0Zm9ybT13cGUnKSkKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaGVscD0oJ0FsaWFzIGZvciAtLXBsYXRmb3JtPXdwZScpKQog
ICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLW5mIiwgIi0tbm8tZmxhdHBhay11cGRhdGUi
LCBkZXN0PSJub19mbGF0cGFrX3VwZGF0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
YWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJE
byBub3QgdXBkYXRlIGZsYXB0YWsgcnVudGltZS9zZGsiKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSJEbyBub3QgdXBkYXRlIGZsYXB0YWsgcnVudGltZS9zZGsiKQogICAgICAgICBnZW5l
cmFsLmFkZF9hcmd1bWVudCgiLXUiLCAiLS11cGRhdGUiLCBkZXN0PSJ1cGRhdGUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaGVscD0iVXBkYXRlIHRoZSBydW50aW1lL3Nkay9hcHAgYW5kIHJlYnVp
bGQgdGhlIGRldmVsb3BtZW50IGVudmlyb25tZW50IGlmIG5lZWRlZCIpCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGhlbHA9IlVwZGF0ZSB0aGUgcnVudGltZS9zZGsvYXBwIGFuZCByZWJ1aWxkIHRo
ZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCBpZiBuZWVkZWQiKQogICAgICAgICBnZW5lcmFsLmFk
ZF9hcmd1bWVudCgiLWIiLCAiLS1idWlsZC13ZWJraXQiLCBkZXN0PSJidWlsZF93ZWJraXQiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaGVscD0iRm9yY2UgcmVidWlsZGluZyB0aGUgYXBwLiIpCi0g
ICAgICAgIGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItYmEiLCAiLS1idWlsZC1hbGwiLCBkZXN0PSJi
dWlsZF9hbGwiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1
ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRm9yY2UgcmVidWlsZGluZyB0
aGUgYXBwIGFuZCBpdHMgZGVwZW5kZW5jaWVzLiIpCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhl
bHA9IkZvcmNlIHJlYnVpbGRpbmcgdGhlIGFwcC4iKQorICAgICAgICBnZW5lcmFsLmFkZF9hcmd1
bWVudCgiLWJnc3QiLCAiLS1idWlsZC1nc3QiLCBkZXN0PSJidWlsZF9nc3QiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBoZWxwPSJGb3JjZSByZWJ1aWxkaW5nIGdzdC1idWlsZCwgcmVwb3NpdG9y
eSBwYXRoIGlzIGRlZmluZWQgYnkgdGhlIGBHU1RfQlVJTERfUEFUSGAgZW52aXJvbm1lbnQgdmFy
aWFibGUuIikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi1xIiwgIi0tcXVpZXQiLCBk
ZXN0PSJxdWlldCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90
cnVlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJEbyBub3QgcHJpbnQgYW55
dGhpbmciKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJEbyBub3QgcHJpbnQgYW55dGhp
bmciKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLXQiLCAiLS10ZXN0cyIsIGRlc3Q9
InJ1bl90ZXN0cyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFyZ3M9YXJncGFyc2Uu
UkVNQUlOREVSLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlJ1biBMYXlvdXRU
ZXN0cyIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hcmdzPWFyZ3BhcnNlLlJFTUFJ
TkRFUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iUnVuIExheW91dFRlc3Rz
IikKICAgICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi1jIiwgIi0tY29tbWFuZCIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbmFyZ3M9YXJncGFyc2UuUkVNQUlOREVSLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlRoZSBjb21tYW5kIHRvIHJ1biBpbiB0aGUgc2Fu
ZGJveCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdD0idXNlcl9jb21tYW5kIikK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFyZ3M9YXJncGFyc2UuUkVNQUlOREVSLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJUaGUgY29tbWFuZCB0byBydW4gaW4g
dGhlIHNhbmRib3giLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0PSJ1c2VyX2Nv
bW1hbmQiKQogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgnLS1hdmFpbGFibGUnLCBhY3Rp
b249J3N0b3JlX3RydWUnLCBkZXN0PSJjaGVja19hdmFpbGFibGUiLCBoZWxwPSdDaGVjayBpZiBy
ZXF1aXJlZCBkZXBlbmRlbmNpZXMgYXJlIGF2YWlsYWJsZS4nKSwKLSAgICAgICAgZ2VuZXJhbC5h
ZGRfYXJndW1lbnQoIi0tdXNlLWljZWNyZWFtIiwgaGVscD0iVXNlIHRoZSBkaXN0cmlidXRlZCBp
Y2VjcmVhbSAoaWNlY2MpIGNvbXBpbGVyLiIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIpCi0gICAgICAg
IGdlbmVyYWwuYWRkX2FyZ3VtZW50KCItLXdwZS1leHRlbnNpb24iLCBhY3Rpb249InN0b3JlIiwg
ZGVzdD0id3BlX2V4dGVuc2lvbiIsIGhlbHA9IldQRSBFeHRlbnNpb24gdG8gZW5hYmxlIikKKyAg
ICAgICAgZ2VuZXJhbC5hZGRfYXJndW1lbnQoIi0tdXNlLWljZWNyZWFtIiwgZGVzdD0idXNlX2lj
ZWNyZWFtIiwgaGVscD0iVXNlIHRoZSBkaXN0cmlidXRlZCBpY2VjcmVhbSAoaWNlY2MpIGNvbXBp
bGVyLiIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIpCiAKICAgICAgICAgZGVidWdvcHRpb25zID0gcGFy
c2VyLmFkZF9hcmd1bWVudF9ncm91cCgiRGVidWdnaW5nIikKICAgICAgICAgZGVidWdvcHRpb25z
LmFkZF9hcmd1bWVudCgiLS1nZGIiLCBuYXJncz0iPyIsIGhlbHA9IkFjdGl2YXRlIGdkYiwgcGFz
c2luZyBleHRyYSBhcmdzIHRvIGl0IGlmIHdhbnRlZC4iKQorICAgICAgICBkZWJ1Z29wdGlvbnMu
YWRkX2FyZ3VtZW50KCItLWdkYi1zdGFjay10cmFjZSIsIGRlc3Q9ImdkYl9zdGFja190cmFjZSIs
IG5hcmdzPSI/IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJEdW1w
IHRoZSBzdGFja3RyYWNlIHRvIHN0ZG91dC4gVGhlIGFyZ3VtZW50IGlzIGEgdGltZXN0YW1wIHRv
IGJlIHBhcnNlZCBieSBjb3JlZHVtcGN0bC4iKQogICAgICAgICBkZWJ1Z29wdGlvbnMuYWRkX2Fy
Z3VtZW50KCItbSIsICItLWNvcmVkdW1wY3RsLW1hdGNoZXMiLCBkZWZhdWx0PSIiLCBoZWxwPSdB
cmd1bWVudHMgdG8gcGFzcyB0byBnZGIuJykKIAogICAgICAgICBidWlsZG9wdGlvbnMgPSBwYXJz
ZXIuYWRkX2FyZ3VtZW50X2dyb3VwKCJFeHRyYSBidWlsZCBhcmd1bWVudHMiKQogICAgICAgICBi
dWlsZG9wdGlvbnMuYWRkX2FyZ3VtZW50KCItLW1ha2VhcmdzIiwgaGVscD0iT3B0aW9uYWwgTWFr
ZWZpbGUgZmxhZ3MiKQogICAgICAgICBidWlsZG9wdGlvbnMuYWRkX2FyZ3VtZW50KCItLWNtYWtl
YXJncyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9Ik9uZSBvciBtb3Jl
IG9wdGlvbmFsIENNYWtlIGZsYWdzIChlLmcuIC0tY21ha2VhcmdzPVwiLURGT089YmFyIC1EQ01B
S0VfUFJFRklYX1BBVEg9L3Vzci9sb2NhbFwiKSIpCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaGVscD0iT25lIG9yIG1vcmUgb3B0aW9uYWwgQ01ha2UgZmxhZ3MgKGUuZy4gLS1j
bWFrZWFyZ3M9XCItREZPTz1iYXIgLURDTUFLRV9QUkVGSVhfUEFUSD0vdXNyL2xvY2FsXCIpIikK
IAogICAgICAgICBnZW5lcmFsLmFkZF9hcmd1bWVudCgiLS1jbGVhbiIsIGRlc3Q9ImNsZWFuIiwg
YWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgICAgIGhlbHA9IkNsZWFuIHByZXZpb3VzIGJ1
aWxkcyBhbmQgcmVzdGFydCBmcm9tIHNjcmF0Y2giKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBoZWxwPSJDbGVhbiBwcmV2aW91cyBidWlsZHMgYW5kIHJlc3RhcnQgZnJvbSBzY3JhdGNo
IikKIAogICAgICAgICBfLCBzZWxmLmFyZ3MgPSBwYXJzZXIucGFyc2Vfa25vd25fYXJncyhhcmdz
PWFyZ3MsIG5hbWVzcGFjZT1zZWxmKQogCisgICAgICAgIGlmIG9zLmVudmlyb24uZ2V0KCdDQ0FD
SEVfUFJFRklYJykgPT0gJ2ljZWNjJzoKKyAgICAgICAgICAgIHNlbGYudXNlX2ljZWNyZWFtID0g
VHJ1ZQorCiAgICAgICAgIHJldHVybiBzZWxmCiAKICAgICBkZWYgX19pbml0X18oc2VsZik6CkBA
IC01NzQsMTUgKzQwMywxNCBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICBzZWxmLnJ1
bnRpbWUgPSBOb25lCiAgICAgICAgIHNlbGYubG9jYWxlID0gTm9uZQogICAgICAgICBzZWxmLnNk
ayA9IE5vbmUKLSAgICAgICAgc2VsZi5zZGtfZGVidWcgPSBOb25lCiAgICAgICAgIHNlbGYuYXBw
ID0gTm9uZQogCiAgICAgICAgIHNlbGYudmVyYm9zZSA9IEZhbHNlCiAgICAgICAgIHNlbGYucXVp
ZXQgPSBGYWxzZQotICAgICAgICBzZWxmLnBhY2tzID0gW10KICAgICAgICAgc2VsZi51cGRhdGUg
PSBGYWxzZQogICAgICAgICBzZWxmLmFyZ3MgPSBbXQogICAgICAgICBzZWxmLmZpbmlzaF9hcmdz
ID0gTm9uZQorICAgICAgICBzZWxmLmdkYl9zdGFja190cmFjZSA9IEZhbHNlCiAKICAgICAgICAg
c2VsZi5ub19mbGF0cGFrX3VwZGF0ZSA9IEZhbHNlCiAgICAgICAgIHNlbGYucmVsZWFzZSA9IEZh
bHNlCkBAIC01OTQsOSArNDIyLDEwIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgIHNl
bGYuc2FuZGJveF9zb3VyY2Vfcm9vdCA9ICIvYXBwL3dlYmtpdCIKIAogICAgICAgICBzZWxmLmJ1
aWxkX3dlYmtpdCA9IEZhbHNlCisgICAgICAgIHNlbGYuYnVpbGRfZ3N0ID0gRmFsc2UKICAgICAg
ICAgc2VsZi5idWlsZF9hbGwgPSBGYWxzZQogCi0gICAgICAgIHNlbGYuc2RrX2JyYW5jaCA9IE5v
bmUKKyAgICAgICAgc2VsZi5zZGtfYnJhbmNoID0gIjAuMSIKICAgICAgICAgc2VsZi5wbGF0Zm9y
bSA9ICJndGsiCiAgICAgICAgIHNlbGYuYnVpbGRfdHlwZSA9ICJSZWxlYXNlIgogICAgICAgICBz
ZWxmLm1hbmlmZXN0X3BhdGggPSBOb25lCkBAIC02MDcsNyArNDM2LDYgQEAgY2xhc3MgV2Via2l0
RmxhdHBhazoKICAgICAgICAgc2VsZi5hcHBfbW9kdWxlID0gTm9uZQogICAgICAgICBzZWxmLmZs
YXRwYWtfZGVmYXVsdF9hcmdzID0gW10KICAgICAgICAgc2VsZi5jaGVja19hdmFpbGFibGUgPSBG
YWxzZQotICAgICAgICBzZWxmLndwZV9leHRlbnNpb24gPSBOb25lCiAKICAgICAgICAgIyBEZWZh
dWx0IGFwcGxpY2F0aW9uIHRvIHJ1biBpbiB0aGUgc2FuZGJveAogICAgICAgICBzZWxmLmNvbW1h
bmQgPSBOb25lCkBAIC02MjUsNyArNDUzLDcgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAg
ICAgc2VsZi5pY2NfdmVyc2lvbiA9IE5vbmUKIAogICAgIGRlZiBjbGVhbl9hcmdzKHNlbGYpOgot
ICAgICAgICBvcy5lbnZpcm9uWyJGTEFUUEFLX1VTRVJfRElSIl0gPSBvcy5lbnZpcm9uLmdldCgi
V0VCS0lUX0ZMQVRQQUtfVVNFUl9ESVIiLCBvcy5wYXRoLnJlYWxwYXRoKG9zLnBhdGguam9pbihz
Y3JpcHRkaXIsICIuLi8uLi9XZWJLaXRCdWlsZCIsICJVc2VyRmxhdHBhayIpKSkKKyAgICAgICAg
b3MuZW52aXJvblsiRkxBVFBBS19VU0VSX0RJUiJdID0gb3MuZW52aXJvbi5nZXQoIldFQktJVF9G
TEFUUEFLX1VTRVJfRElSIiwgRkxBVFBBS19VU0VSX0RJUl9QQVRIKQogICAgICAgICB0cnk6CiAg
ICAgICAgICAgICBvcy5tYWtlZGlycyhvcy5lbnZpcm9uWyJGTEFUUEFLX1VTRVJfRElSIl0pCiAg
ICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CkBAIC02MzgsNiArNDY2LDcgQEAgY2xhc3MgV2Vi
a2l0RmxhdHBhazoKICAgICAgICAgICAgIGZhY3RvcnkgPSBQb3J0RmFjdG9yeShTeXN0ZW1Ib3N0
KCkpCiAgICAgICAgICAgICBwb3J0ID0gZmFjdG9yeS5nZXQoc2VsZi5wbGF0Zm9ybSkKICAgICAg
ICAgICAgIHNlbGYuZGVidWcgPSBwb3J0LmRlZmF1bHRfY29uZmlndXJhdGlvbigpID09ICJEZWJ1
ZyIKKwogICAgICAgICBzZWxmLmJ1aWxkX3R5cGUgPSAiRGVidWciIGlmIHNlbGYuZGVidWcgZWxz
ZSAiUmVsZWFzZSIKIAogICAgICAgICBzZWxmLnBsYXRmb3JtID0gc2VsZi5wbGF0Zm9ybS51cHBl
cigpCkBAIC02NDYsNjYgKzQ3NSwzMyBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICAg
ICAgc2VsZi5nZGIgPSAiIgogCiAgICAgICAgIHNlbGYuY29tbWFuZCA9ICIlcyAlcyAlcyIgJSAo
b3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwKLSAgICAgICAgICAgICJUb29s
cy9TY3JpcHRzL3J1bi1taW5pYnJvd3NlciIpLAotICAgICAgICAgICAgIi0tIiArIHNlbGYucGxh
dGZvcm0ubG93ZXIoKSwKLSAgICAgICAgICAgICIgLS1kZWJ1ZyIgaWYgc2VsZi5kZWJ1ZyBlbHNl
ICIgLS1yZWxlYXNlIikKLQotICAgICAgICBzZWxmLm5hbWUgPSAib3JnLndlYmtpdC4lcyIgJSBz
ZWxmLnBsYXRmb3JtCi0KLSAgICAgICAgaWYgc2VsZi53cGVfZXh0ZW5zaW9uOgotICAgICAgICAg
ICAgbWFuaWZlc3RfZmlsZW5hbWUgPSBXUEVfTUFOSUZFU1RfTUFQW3NlbGYud3BlX2V4dGVuc2lv
bl0KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG1hbmlmZXN0X2ZpbGVuYW1lID0gIm9yZy53
ZWJraXQuV2ViS2l0LnlhbWwiCi0gICAgICAgIHNlbGYubWFuaWZlc3RfcGF0aCA9IG9zLnBhdGgu
YWJzcGF0aChvcy5wYXRoLmpvaW4oc2NyaXB0ZGlyLCAnLi4vZmxhdHBhay8nKSArIG1hbmlmZXN0
X2ZpbGVuYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiVG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXIiKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiLS0iICsgc2VsZi5wbGF0Zm9ybS5sb3dlcigpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgLS1kZWJ1ZyIgaWYgc2VsZi5kZWJ1ZyBl
bHNlICIgLS1yZWxlYXNlIikKIAotICAgICAgICBzZWxmLmJ1aWxkX25hbWUgPSBzZWxmLm5hbWUg
KyAiLWdlbmVyYXRlZCIKKyAgICAgICAgc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGggPSBvcy5lbnZp
cm9uWyJGTEFUUEFLX1VTRVJfRElSIl0KIAogICAgICAgICBidWlsZF9yb290ID0gb3MucGF0aC5q
b2luKHNlbGYuc291cmNlX3Jvb3QsICdXZWJLaXRCdWlsZCcpCi0gICAgICAgIHNlbGYuZmxhdHBh
a19idWlsZF9wYXRoID0gb3MucGF0aC5qb2luKGJ1aWxkX3Jvb3QsIHNlbGYucGxhdGZvcm0sICJG
bGF0cGFrVHJlZSIgKyBzZWxmLmJ1aWxkX3R5cGUpCi0gICAgICAgIHNlbGYuY2FjaGVfcGF0aCA9
IG9zLnBhdGguam9pbihidWlsZF9yb290LCAiRmxhdHBha0NhY2hlIikKICAgICAgICAgc2VsZi5i
dWlsZF9wYXRoID0gb3MucGF0aC5qb2luKGJ1aWxkX3Jvb3QsIHNlbGYucGxhdGZvcm0sIHNlbGYu
YnVpbGRfdHlwZSkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb3MubWFrZWRpcnMoc2VsZi5i
dWlsZF9wYXRoKQogICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgaWYg
ZS5lcnJubyAhPSBlcnJuby5FRVhJU1Q6CiAgICAgICAgICAgICAgICAgcmFpc2UgZQotICAgICAg
ICBzZWxmLmNvbmZpZ19maWxlID0gb3MucGF0aC5qb2luKHNlbGYuYnVpbGRfcGF0aCwgJ3dlYmtp
dF9mbGF0cGFrX2NvbmZpZy5qc29uJykKKyAgICAgICAgc2VsZi5jb25maWdfZmlsZSA9IG9zLnBh
dGguam9pbihzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCwgJ3dlYmtpdF9mbGF0cGFrX2NvbmZpZy5q
c29uJykKIAogICAgICAgICBDb25zb2xlLnF1aWV0ID0gc2VsZi5xdWlldAogICAgICAgICBpZiBu
b3QgY2hlY2tfZmxhdHBhaygpOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKLSAgICAgICAg
cmVwb3MgPSBGbGF0cGFrUmVwb3MoKQotICAgICAgICBzZWxmLnNka19yZXBvID0gcmVwb3MuYWRk
KAotICAgICAgICAgICAgRmxhdHBha1JlcG8oImZsYXRodWIiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgdXJsPSJodHRwczovL2RsLmZsYXRodWIub3JnL3JlcG8vIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHJlcG9fZmlsZT0iaHR0cHM6Ly9kbC5mbGF0aHViLm9yZy9yZXBvL2ZsYXRodWIu
ZmxhdHBha3JlcG8iKSkKLQotICAgICAgICBtYW5pZmVzdCA9IGxvYWRfbWFuaWZlc3Qoc2VsZi5t
YW5pZmVzdF9wYXRoLCBwb3J0X25hbWU9c2VsZi5uYW1lKQotICAgICAgICBpZiBub3QgbWFuaWZl
c3Q6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgc2VsZi5maW5pc2hfYXJncyA9
IFtdCisgICAgICAgIHNlbGYucmVwb3MgPSBGbGF0cGFrUmVwb3MoKQorICAgICAgICBzZWxmLnNk
a19yZXBvID0gc2VsZi5yZXBvcy5hZGQoCisgICAgICAgICAgICBGbGF0cGFrUmVwbygid2Via2l0
LXNkayIsCisgICAgICAgICAgICAgICAgICAgICAgICB1cmw9Imh0dHBzOi8vc29mdHdhcmUuaWdh
bGlhLmNvbS93ZWJraXQtc2RrLXJlcG8vIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcG9f
ZmlsZT0iaHR0cHM6Ly9zb2Z0d2FyZS5pZ2FsaWEuY29tL2ZsYXRwYWstcmVmcy93ZWJraXQtc2Rr
LmZsYXRwYWtyZXBvIikKKyAgICAgICAgKQogCi0gICAgICAgIHNlbGYuYXBwID0gbWFuaWZlc3Rb
J2FwcC1pZCddCi0KLSAgICAgICAgc2VsZi5zZGtfYnJhbmNoID0gbWFuaWZlc3RbInJ1bnRpbWUt
dmVyc2lvbiJdCi0gICAgICAgIHNlbGYuZmluaXNoX2FyZ3MgPSBtYW5pZmVzdC5nZXQoImZpbmlz
aC1hcmdzIiwgW10pCi0gICAgICAgIHNlbGYuZmluaXNoX2FyZ3MgPSByZW1vdmVfZXh0ZW5zaW9u
X3BvaW50cyhzZWxmLmZpbmlzaF9hcmdzKQotICAgICAgICBzZWxmLnJ1bnRpbWUgPSBGbGF0cGFr
UGFja2FnZShtYW5pZmVzdFsncnVudGltZSddLCBzZWxmLnNka19icmFuY2gsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNoPW1hbmlmZXN0LmdldCgicnVu
dGltZS1oYXNoIikpCi0gICAgICAgIHNlbGYubG9jYWxlID0gRmxhdHBha1BhY2thZ2UobWFuaWZl
c3RbJ3J1bnRpbWUnXSArICcuTG9jYWxlJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzZWxmLnNka19icmFuY2gsIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQiKQotICAgICAg
ICBzZWxmLnNkayA9IEZsYXRwYWtQYWNrYWdlKG1hbmlmZXN0WydzZGsnXSwgc2VsZi5zZGtfYnJh
bmNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX3JlcG8sICJ4
ODZfNjQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc2g9bWFuaWZlc3Qu
Z2V0KCJzZGstaGFzaCIpKQotICAgICAgICBzZWxmLnBhY2tzID0gW3NlbGYucnVudGltZSwgc2Vs
Zi5sb2NhbGUsIHNlbGYuc2RrXQotCi0gICAgICAgIGlmIHNlbGYuZGVidWc6Ci0gICAgICAgICAg
ICBzZWxmLnNka19kZWJ1ZyA9IEZsYXRwYWtQYWNrYWdlKG1hbmlmZXN0WydzZGsnXSArICcuRGVi
dWcnLCBzZWxmLnNka19icmFuY2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQiKQotICAgICAgICAgICAgc2VsZi5wYWNrcy5hcHBl
bmQoc2VsZi5zZGtfZGVidWcpCi0gICAgICAgIHNlbGYubWFuaWZlc3RfZ2VuZXJhdGVkX3BhdGgg
PSBvcy5wYXRoLmpvaW4oc2VsZi5jYWNoZV9wYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYnVpbGRfbmFtZSArICIuanNvbiIpCiAg
ICAgICAgIHRyeToKICAgICAgICAgICAgIHdpdGggb3BlbihzZWxmLmNvbmZpZ19maWxlKSBhcyBj
b25maWc6CiAgICAgICAgICAgICAgICAganNvbl9jb25maWcgPSBqc29uLmxvYWQoY29uZmlnKQpA
QCAtNzE1LDcgKzUxMSw0NSBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogCiAgICAgICAgIHJldHVy
biBUcnVlCiAKKyAgICBkZWYgc2V0dXBfYnVpbGRkaXIoc2VsZiwgKiprd2FyZ3MpOgorICAgICAg
ICBpZiBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgs
ICJtZXRhZGF0YSIpKToKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIHNlbGYuc2RrX3Jl
cG8uZmxhdHBhaygiYnVpbGQtaW5pdCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJv
cmcud2Via2l0LldlYmtpdCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2Vs
Zi5zZGspLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlbGYucnVudGltZSks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNkay5icmFuY2gsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzaG93X291dHB1dD0ic3Rkb3V0IiBpbiBrd2FyZ3Mua2V5
cygpKQorCisgICAgZGVmIHNldHVwX2dzdGJ1aWxkKHNlbGYsIGJ1aWxkaW5nKToKKyAgICAgICAg
Z3N0X2RpciA9IG9zLmVudmlyb24uZ2V0KCdHU1RfQlVJTERfUEFUSCcpCisgICAgICAgIGlmIG5v
dCBnc3RfZGlyOgorICAgICAgICAgICAgcmV0dXJuIFtdCisKKyAgICAgICAgaWYgbm90IG9zLnBh
dGguZXhpc3RzKG9zLnBhdGguam9pbihnc3RfZGlyLCAnZ3N0LWVudi5weScpKToKKyAgICAgICAg
ICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignR1NUX0JVSUxEX1BBVEggc2V0IHRvICVzIGJ1dCBpdCBk
b2VzblwndCBzZWVtIHRvIGJlIGEgdmFsaWQgYGdzdC1idWlsZGAgY2hlY2tvdXQuJyAlIGdzdF9k
aXIpCisKKyAgICAgICAgZ3N0X2J1aWxkZGlyID0gb3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9z
b3VyY2Vfcm9vdCwgIldlYktpdEJ1aWxkIiwgJ2dzdC1idWlsZCcpCisgICAgICAgIGlmIG5vdCBv
cy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oc2VsZi5zb3VyY2Vfcm9vdCwgJ1dlYktpdEJ1aWxk
JywgJ2dzdC1idWlsZCcsICdidWlsZC5uaW5qYScpKToKKyAgICAgICAgICAgIGlmIG5vdCBidWls
ZGluZzoKKyAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ1RyeWluZyB0byBlbnRl
ciBnc3QtYnVpbGQgZW52IGZyb20gJXMgYnV0IGl0IGlzIG5vdCBidWlsdCwgbWFrZSBzdXJlIHRv
IHJlYnVpbGQgd2Via2l0LicgJSBnc3RfZGlyKQorCisgICAgICAgICAgICBDb25zb2xlLm1lc3Nh
Z2UoIlJ1bm5pbmcgbWVzb24gZm9yIGBnc3QtYnVpbGRgICVzICIsIGdzdF9kaXIpCisgICAgICAg
ICAgICBzZWxmLnJ1bl9pbl9zYW5kYm94KCdtZXNvbicsIGdzdF9kaXIsIGdzdF9idWlsZGRpciwg
YnVpbGRpbmdfZ3N0PVRydWUpCisKKyAgICAgICAgaWYgbm90IGJ1aWxkaW5nOgorICAgICAgICAg
ICAgcmV0dXJuIFtvcy5wYXRoLmpvaW4oZ3N0X2RpciwgJ2dzdC1lbnYucHknKSwgJy0tYnVpbGRk
aXInLCBnc3RfYnVpbGRkaXIsICctLXNyY2RpcicsIGdzdF9kaXJdCisKKyAgICAgICAgQ29uc29s
ZS5tZXNzYWdlKCJCdWlsZGluZyBgZ3N0LWJ1aWxkYCAlcyAiLCBnc3RfZGlyKQorICAgICAgICBp
ZiBzZWxmLnJ1bl9pbl9zYW5kYm94KCduaW5qYScsICctQycsIGdzdF9idWlsZGRpciwgYnVpbGRp
bmdfZ3N0PVRydWUpICE9IDA6CisgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ0Vycm9y
IHdoaWxlIGJ1aWxkaW5nIGdzdC1idWlsZC4nKQorCisgICAgICAgIHJldHVybiBbb3MucGF0aC5q
b2luKGdzdF9kaXIsICdnc3QtZW52LnB5JyksICctLWJ1aWxkZGlyJywgZ3N0X2J1aWxkZGlyLCAn
LS1zcmNkaXInLCBnc3RfZGlyXQorCiAgICAgZGVmIHJ1bl9pbl9zYW5kYm94KHNlbGYsICphcmdz
LCAqKmt3YXJncyk6CisgICAgICAgIHNlbGYuc2V0dXBfYnVpbGRkaXIoc3Rkb3V0PWt3YXJncy5n
ZXQoInN0ZG91dCIsIHN5cy5zdGRvdXQpKQogICAgICAgICBjd2QgPSBrd2FyZ3MucG9wKCJjd2Qi
LCBOb25lKQogICAgICAgICBleHRyYV9lbnZfdmFycyA9IGt3YXJncy5wb3AoImVudiIsIHt9KQog
ICAgICAgICBzdGRvdXQgPSBrd2FyZ3MucG9wKCJzdGRvdXQiLCBzeXMuc3Rkb3V0KQpAQCAtNzIz
LDYgKzU1Nyw3IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAKICAgICAgICAgaWYgbm90IGlzaW5z
dGFuY2UoYXJncywgbGlzdCk6CiAgICAgICAgICAgICBhcmdzID0gbGlzdChhcmdzKQorCiAgICAg
ICAgIGlmIGFyZ3M6CiAgICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhhcmdzWzBdKToKICAg
ICAgICAgICAgICAgICBjb21tYW5kID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmFic3BhdGgo
YXJnc1swXSkpCkBAIC03MzAsOTQgKzU2NSwxMjIgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAg
ICAgICAgICAgICAgICBhcmdzWzBdID0gY29tbWFuZC5yZXBsYWNlKHNlbGYuc291cmNlX3Jvb3Qs
IHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCkKICAgICAgICAgICAgIGlmIGFyZ3NbMF0uZW5kc3dp
dGgoImJ1aWxkLXdlYmtpdCIpOgogICAgICAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCItLXByZWZp
eD0vYXBwIikKKyAgICAgICAgYnVpbGRpbmcgPSBvcy5wYXRoLmJhc2VuYW1lKGFyZ3NbMF0pLnN0
YXJ0c3dpdGgoImJ1aWxkIikKIAogICAgICAgICBzYW5kYm94X2J1aWxkX3BhdGggPSBvcy5wYXRo
LmpvaW4oc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCAiV2ViS2l0QnVpbGQiLCBzZWxmLmJ1aWxk
X3R5cGUpCi0gICAgICAgIHdpdGggdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKG1vZGU9Inci
KSBhcyB0bXBzY3JpcHQ6Ci0gICAgICAgICAgICBmbGF0cGFrX2NvbW1hbmQgPSBbImZsYXRwYWsi
LCAiYnVpbGQiLCAiLS1kaWUtd2l0aC1wYXJlbnQiLAotICAgICAgICAgICAgICAgICItLWJpbmQt
bW91bnQ9L3J1bi9zaG09L2Rldi9zaG0iLAotICAgICAgICAgICAgICAgICMgV29ya2Fyb3VuZCBm
b3IgaHR0cHM6Ly93ZWJraXQub3JnL2IvMTg3Mzg0IHRvIGhhdmUgb3VyIG93biBwZXJsIG1vZHVs
ZXMgdXNhYmxlIGluc2lkZSB0aGUgc2FuZGJveAotICAgICAgICAgICAgICAgICMgYXMgc2V0dGlu
ZyB0aGUgUEVSTDVMSUIgZW52dmFyIHdvbid0IHdvcmsgaW5zaWRlIGFwYWNoZSAoYW5kIGZvciBz
Y3JpcHRzIHVzaW5nIGBwZXJsIC1UYGApLgotICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9
L3J1bi9ob3N0LyVzPSVzIiAlICh0ZW1wZmlsZS5nZXR0ZW1wZGlyKCksIHRlbXBmaWxlLmdldHRl
bXBkaXIoKSksCi0gICAgICAgICAgICAgICAgIi0tYmluZC1tb3VudD0lcz0lcyIgJSAoc2VsZi5z
YW5kYm94X3NvdXJjZV9yb290LCBzZWxmLnNvdXJjZV9yb290KSwKKyAgICAgICAgZmxhdHBha19j
b21tYW5kID0gWyJmbGF0cGFrIiwgImJ1aWxkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICItLWRpZS13aXRoLXBhcmVudCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS10YWxr
LW5hbWU9b3JnLmExMXkuQnVzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLXRhbGst
bmFtZT1vcmcuZ3RrLnZmcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS10YWxrLW5h
bWU9b3JnLmd0ay52ZnMuKiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1iaW5kLW1v
dW50PS9ydW4vc2htPS9kZXYvc2htIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICMgV29y
a2Fyb3VuZCBmb3IgaHR0cHM6Ly93ZWJraXQub3JnL2IvMTg3Mzg0IHRvIGhhdmUgb3VyIG93biBw
ZXJsIG1vZHVsZXMgdXNhYmxlIGluc2lkZSB0aGUgc2FuZGJveAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIyBhcyBzZXR0aW5nIHRoZSBQRVJMNUxJQiBlbnZ2YXIgd29uJ3Qgd29yayBpbnNp
ZGUgYXBhY2hlIChhbmQgZm9yIHNjcmlwdHMgdXNpbmcgYHBlcmwgLVRgYCkuCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PS9ydW4vaG9zdC8lcz0lcyIgJSAodGVtcGZp
bGUuZ2V0dGVtcGRpcigpLCB0ZW1wZmlsZS5nZXR0ZW1wZGlyKCkpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIi0tYmluZC1tb3VudD0lcz0lcyIgJSAoc2VsZi5zYW5kYm94X3NvdXJjZV9y
b290LCBzZWxmLnNvdXJjZV9yb290KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICMgV2Ug
bW91bnQgV2ViS2l0QnVpbGQvUE9SVE5BTUUvQnVpbGRUeXBlIHRvIC9hcHAvd2Via2l0L1dlYktp
dEJ1aWxkL0J1aWxkVHlwZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBzbyB3ZSBjYW4g
YnVpbGQgV1BFIGFuZCBHVEsgaW4gYSBzYW1lIHNvdXJjZSB0cmVlLgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIi0tYmluZC1tb3VudD0lcz0lcyIgJSAoc2FuZGJveF9idWlsZF9wYXRoLCBz
ZWxmLmJ1aWxkX3BhdGgpXQorCisgICAgICAgIGZvcndhcmRlZCA9IHsKKyAgICAgICAgICAgICJX
RUJLSVRfVE9QX0xFVkVMIjogIi9hcHAvIiwKKyAgICAgICAgICAgICJURVNUX1JVTk5FUl9JTkpF
Q1RFRF9CVU5ETEVfRklMRU5BTUUiOiBvcy5wYXRoLmpvaW4oc2FuZGJveF9idWlsZF9wYXRoLCAi
bGliL2xpYlRlc3RSdW5uZXJJbmplY3RlZEJ1bmRsZS5zbyIpLAorICAgICAgICB9CisKKyAgICAg
ICAgaWYgbm90IGJ1aWxkaW5nOgorICAgICAgICAgICAgZmxhdHBha19jb21tYW5kLmV4dGVuZChb
CisgICAgICAgICAgICAgICAgIi0tZGV2aWNlPWFsbCIsCisgICAgICAgICAgICAgICAgIi0tZGV2
aWNlPWRyaSIsCisgICAgICAgICAgICAgICAgIi0tZmlsZXN5c3RlbT1ob3N0IiwKKyAgICAgICAg
ICAgICAgICAiLS1zaGFyZT1pcGMiLAorICAgICAgICAgICAgICAgICItLXNoYXJlPW5ldHdvcmsi
LAorICAgICAgICAgICAgICAgICItLXNvY2tldD1wdWxzZWF1ZGlvIiwKKyAgICAgICAgICAgICAg
ICAiLS1zb2NrZXQ9c3lzdGVtLWJ1cyIsCisgICAgICAgICAgICAgICAgIi0tc29ja2V0PXdheWxh
bmQiLAorICAgICAgICAgICAgICAgICItLXNvY2tldD14MTEiLAorICAgICAgICAgICAgICAgICIt
LXN5c3RlbS10YWxrLW5hbWU9b3JnLmExMXkuQnVzIiwKKyAgICAgICAgICAgICAgICAiLS1zeXN0
ZW0tdGFsay1uYW1lPW9yZy5mcmVlZGVza3RvcC5HZW9DbHVlMiIsCiAgICAgICAgICAgICAgICAg
Ii0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cyIsCi0gICAgICAgICAgICAgICAgIi0tdGFsay1uYW1l
PW9yZy5ndGsudmZzIiwKLSAgICAgICAgICAgICAgICAiLS10YWxrLW5hbWU9b3JnLmd0ay52ZnMu
KiIsCi0gICAgICAgICAgICAgICAgIyBXZSBtb3VudCBXZWJLaXRCdWlsZC9QT1JUTkFNRS9CdWls
ZFR5cGUgdG8gL2FwcC93ZWJraXQvV2ViS2l0QnVpbGQvQnVpbGRUeXBlCi0gICAgICAgICAgICAg
ICAgIyBzbyB3ZSBjYW4gYnVpbGQgV1BFIGFuZCBHVEsgaW4gYSBzYW1lIHNvdXJjZSB0cmVlLgot
ICAgICAgICAgICAgICAgICItLWJpbmQtbW91bnQ9JXM9JXMiICUgKHNhbmRib3hfYnVpbGRfcGF0
aCwgc2VsZi5idWlsZF9wYXRoKV0KLQotICAgICAgICAgICAgZm9yd2FyZGVkID0gewotICAgICAg
ICAgICAgICAgICJXRUJLSVRfVE9QX0xFVkVMIjogIi9hcHAvIiwKLSAgICAgICAgICAgICAgICAi
VEVTVF9SVU5ORVJfSU5KRUNURURfQlVORExFX0ZJTEVOQU1FIjogIi9hcHAvd2Via2l0L2xpYi9s
aWJUZXN0UnVubmVySW5qZWN0ZWRCdW5kbGUuc28iLAorICAgICAgICAgICAgICAgICItLXRhbGst
bmFtZT1vcmcuZnJlZWRlc2t0b3AuRmxhdHBhayIKKyAgICAgICAgICAgIF0pCisKKyAgICAgICAg
ICAgIGZvcndhcmRlZC51cGRhdGUoeworICAgICAgICAgICAgICAgICJUWiI6ICJQU1Q4UERUIiwK
KyAgICAgICAgICAgICAgICAiTEFORyI6ICJlbl9VUy5VVEYtOCIKKyAgICAgICAgICAgIH0pCisK
KyAgICAgICAgZW52X3Zhcl9wcmVmaXhlc190b19rZWVwID0gWworICAgICAgICAgICAgIkciLAor
ICAgICAgICAgICAgIkdJR0FDQUdFIiwKKyAgICAgICAgICAgICJHU1QiLAorICAgICAgICAgICAg
IkdUSyIsCisgICAgICAgICAgICAiSUNFQ0MiLAorICAgICAgICAgICAgIkpTQyIsCisgICAgICAg
ICAgICAiV0VCS0lUIiwKKyAgICAgICAgICAgICJXRUJLSVQyIiwKKyAgICAgICAgICAgICJXUEUi
LAorICAgICAgICBdCisKKyAgICAgICAgZW52X3Zhcl9zdWZmaXhlc190b19rZWVwID0gWworICAg
ICAgICAgICAgIkpTQ19BUkdTIiwKKyAgICAgICAgICAgICJXRUJLSVRfQVJHUyIsCisgICAgICAg
IF0KKworICAgICAgICBlbnZfdmFyc190b19rZWVwID0gWworICAgICAgICAgICAgIkNDIiwKKyAg
ICAgICAgICAgICJDQ0FDSEVfUFJFRklYIiwKKyAgICAgICAgICAgICJDRkxBR1MiLAorICAgICAg
ICAgICAgIkNYWCIsCisgICAgICAgICAgICAiQ1hYRkxBR1MiLAorICAgICAgICAgICAgIkRJU1BM
QVkiLAorICAgICAgICAgICAgIkphdmFTY3JpcHRDb3JlVXNlSklUIiwKKyAgICAgICAgICAgICJM
QU5HIiwKKyAgICAgICAgICAgICJMREZMQUdTIiwKKyAgICAgICAgICAgICJNYWxsb2MiLAorICAg
ICAgICAgICAgIk5VTUJFUl9PRl9QUk9DRVNTT1JTIiwKKyAgICAgICAgICAgICJRTUwyX0lNUE9S
VF9QQVRIIiwKKyAgICAgICAgICAgICJXQVlMQU5EX0RJU1BMQVkiLAorICAgICAgICAgICAgIldB
WUxBTkRfU09DS0VUIiwKKyAgICAgICAgXQorCisgICAgICAgIGVudl92YXJzID0gb3MuZW52aXJv
bgorICAgICAgICBlbnZfdmFycy51cGRhdGUoZXh0cmFfZW52X3ZhcnMpCisgICAgICAgIGZvciBl
bnZ2YXIsIHZhbHVlIGluIGVudl92YXJzLml0ZW1zKCk6CisgICAgICAgICAgICB2YXJfdG9rZW5z
ID0gZW52dmFyLnNwbGl0KCJfIikKKyAgICAgICAgICAgIGlmIHZhcl90b2tlbnNbMF0gaW4gZW52
X3Zhcl9wcmVmaXhlc190b19rZWVwIG9yIGVudnZhciBpbiBlbnZfdmFyc190b19rZWVwIG9yIHZh
cl90b2tlbnNbLTFdIGluIGVudl92YXJfc3VmZml4ZXNfdG9fa2VlcDoKKyAgICAgICAgICAgICAg
ICBmb3J3YXJkZWRbZW52dmFyXSA9IHZhbHVlCisKKyAgICAgICAgaWYgc2VsZi51c2VfaWNlY3Jl
YW06CisgICAgICAgICAgICBfbG9nLmRlYnVnKCdFbmFibGluZyB0aGUgaWNlY3JlYW0gY29tcGls
ZXInKQorICAgICAgICAgICAgZmxhdHBha19jb21tYW5kLmV4dGVuZChbIi0tc2hhcmU9bmV0d29y
ayIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1iaW5kLW1vdW50PS92
YXIvcnVuL2ljZWNjPS92YXIvcnVuL2ljZWNjIl0pCisKKyAgICAgICAgICAgIG5fY29yZXMgPSBt
dWx0aXByb2Nlc3NpbmcuY3B1X2NvdW50KCkgKiAzCisgICAgICAgICAgICBfbG9nLmRlYnVnKCdG
b2xsb3dpbmcgaWNlY3JlYW0gcmVjb21tZW5kYXRpb24gZm9yIHRoZSBudW1iZXIgb2YgY29yZXMg
dG8gdXNlOiAlZCcgJSBuX2NvcmVzKQorICAgICAgICAgICAgZm9yd2FyZGVkLnVwZGF0ZSh7Cisg
ICAgICAgICAgICAgICAgIkNDQUNIRV9QUkVGSVgiOiAiaWNlY2MiLAogICAgICAgICAgICAgICAg
ICJJQ0VDQ19WRVJTSU9OIjogc2VsZi5pY2NfdmVyc2lvbiwKLSAgICAgICAgICAgIH0KLQotICAg
ICAgICAgICAgZW52X3Zhcl9wcmVmaXhlc190b19rZWVwID0gWwotICAgICAgICAgICAgICAgICJH
U1QiLAotICAgICAgICAgICAgICAgICJHVEsiLAotICAgICAgICAgICAgICAgICJHIiwKLSAgICAg
ICAgICAgICAgICAiSlNDIiwKLSAgICAgICAgICAgICAgICAiV0VCS0lUIiwKLSAgICAgICAgICAg
ICAgICAiV0VCS0lUMiIsCi0gICAgICAgICAgICAgICAgIldQRSIsCi0gICAgICAgICAgICAgICAg
IkdJR0FDQUdFIiwKLSAgICAgICAgICAgIF0KLQotICAgICAgICAgICAgZW52X3ZhcnNfdG9fa2Vl
cCA9IFsKLSAgICAgICAgICAgICAgICAiSmF2YVNjcmlwdENvcmVVc2VKSVQiLAotICAgICAgICAg
ICAgICAgICJNYWxsb2MiLAotICAgICAgICAgICAgICAgICJXQVlMQU5EX0RJU1BMQVkiLAotICAg
ICAgICAgICAgICAgICJXQVlMQU5EX1NPQ0tFVCIsCi0gICAgICAgICAgICAgICAgIkRJU1BMQVki
LAotICAgICAgICAgICAgICAgICJMQU5HIiwKLSAgICAgICAgICAgICAgICAiTlVNQkVSX09GX1BS
T0NFU1NPUlMiLAotICAgICAgICAgICAgICAgICJDQ0FDSEVfUFJFRklYIiwKLSAgICAgICAgICAg
ICAgICAiUU1MMl9JTVBPUlRfUEFUSCIsCi0gICAgICAgICAgICBdCi0KLSAgICAgICAgICAgIGlm
IHNlbGYudXNlX2ljZWNyZWFtOgotICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoJ0VuYWJsaW5n
IHRoZSBpY2VjcmVhbSBjb21waWxlcicpCi0gICAgICAgICAgICAgICAgZm9yd2FyZGVkWyJDQ0FD
SEVfUFJFRklYIl0gPSAiaWNlY2MiCi0gICAgICAgICAgICAgICAgaWYgbm90IG9zLmVudmlyb24u
Z2V0KCdOVU1CRVJfT0ZfUFJPQ0VTU09SUycpOgotICAgICAgICAgICAgICAgICAgICBuX2NvcmVz
ID0gbXVsdGlwcm9jZXNzaW5nLmNwdV9jb3VudCgpICogMwotICAgICAgICAgICAgICAgICAgICBf
bG9nLmRlYnVnKCdGb2xsb3cgaWNlY3JlYW0gcmVjb21tZW5kYXRpb24gZm9yIHRoZSBudW1iZXIg
b2YgY29yZXMgdG8gdXNlOiAlZCcgJSBuX2NvcmVzKQotICAgICAgICAgICAgICAgICAgICBmb3J3
YXJkZWRbIk5VTUJFUl9PRl9QUk9DRVNTT1JTIl0gPSBuX2NvcmVzCi0KLSAgICAgICAgICAgIGVu
dl92YXJzID0gb3MuZW52aXJvbgotICAgICAgICAgICAgZW52X3ZhcnMudXBkYXRlKGV4dHJhX2Vu
dl92YXJzKQotICAgICAgICAgICAgZm9yIGVudnZhciwgdmFsdWUgaW4gZW52X3ZhcnMuaXRlbXMo
KToKLSAgICAgICAgICAgICAgICBpZiBlbnZ2YXIuc3BsaXQoIl8iKVswXSBpbiBlbnZfdmFyX3By
ZWZpeGVzX3RvX2tlZXAgb3IgZW52dmFyIGluIGVudl92YXJzX3RvX2tlZXA6Ci0gICAgICAgICAg
ICAgICAgICAgIGZvcndhcmRlZFtlbnZ2YXJdID0gdmFsdWUKLQotICAgICAgICAgICAgZm9yIGVu
dnZhciwgdmFsdWUgaW4gZm9yd2FyZGVkLml0ZW1zKCk6Ci0gICAgICAgICAgICAgICAgZmxhdHBh
a19jb21tYW5kLmFwcGVuZCgiLS1lbnY9JXM9JXMiICUgKGVudnZhciwgdmFsdWUpKQotCi0gICAg
ICAgICAgICBmbGF0cGFrX2NvbW1hbmQgKz0gc2VsZi5maW5pc2hfYXJncyArIGV4dHJhX2ZsYXRw
YWtfYXJncyArIFtzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aF0KLQotICAgICAgICAgICAgc2hlbGxf
c3RyaW5nID0gIiIKLSAgICAgICAgICAgIGlmIGFyZ3M6Ci0gICAgICAgICAgICAgICAgaWYgY3dk
OgotICAgICAgICAgICAgICAgICAgICBzaGVsbF9zdHJpbmcgPSAnY2QgIiVzIiAmJiAiJXMiJyAl
IChjd2QsICciICInLmpvaW4oYXJncykpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAg
ICAgICAgICAgICAgc2hlbGxfc3RyaW5nID0gJyIlcyInICUgKCciICInLmpvaW4oYXJncykpCi0g
ICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHNoZWxsX3N0cmluZyA9IHNlbGYuY29t
bWFuZAotICAgICAgICAgICAgICAgIGlmIHNlbGYuYXJnczoKLSAgICAgICAgICAgICAgICAgICAg
c2hlbGxfc3RyaW5nICs9ICcgIiVzIicgJSAnIiAiJy5qb2luKHNlbGYuYXJncykKKyAgICAgICAg
ICAgICAgICAiTlVNQkVSX09GX1BST0NFU1NPUlMiOiBuX2NvcmVzLAorICAgICAgICAgICAgfSkK
IAotICAgICAgICAgICAgdG1wc2NyaXB0LndyaXRlKHNoZWxsX3N0cmluZykKLSAgICAgICAgICAg
IHRtcHNjcmlwdC5mbHVzaCgpCisgICAgICAgIGZvciBlbnZ2YXIsIHZhbHVlIGluIGZvcndhcmRl
ZC5pdGVtcygpOgorICAgICAgICAgICAgZmxhdHBha19jb21tYW5kLmFwcGVuZCgiLS1lbnY9JXM9
JXMiICUgKGVudnZhciwgdmFsdWUpKQogCi0gICAgICAgICAgICBfbG9nLmRlYnVnKCdSdW5uaW5n
IGluIHNhbmRib3g6ICIlcyIgJXNcbicgJSAoJyIgIicuam9pbihmbGF0cGFrX2NvbW1hbmQpLCBz
aGVsbF9zdHJpbmcpKQotICAgICAgICAgICAgZmxhdHBha19jb21tYW5kLmV4dGVuZChbJ3NoJywg
Ii9ydW4vaG9zdC8iICsgdG1wc2NyaXB0Lm5hbWVdKQorICAgICAgICBnc3RfZW52ID0gW10KKyAg
ICAgICAgaWYgbm90IGt3YXJncy5nZXQoJ2J1aWxkaW5nX2dzdCcpOgorICAgICAgICAgICAgZ3N0
X2VudiA9IHNlbGYuc2V0dXBfZ3N0YnVpbGQoYnVpbGRpbmcpCisgICAgICAgIGZsYXRwYWtfY29t
bWFuZCArPSBzZWxmLmZpbmlzaF9hcmdzICsgZXh0cmFfZmxhdHBha19hcmdzICsgXAorICAgICAg
ICAgICAgW3NlbGYuZmxhdHBha19idWlsZF9wYXRoXSArIGdzdF9lbnYgKyBhcmdzCiAKLSAgICAg
ICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoZmxhdHBh
a19jb21tYW5kLCBzdGRvdXQ9c3Rkb3V0KQotICAgICAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3Mu
Q2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0
ZShzdHIoZSkgKyAiXG4iKQotICAgICAgICAgICAgICAgIHJldHVybiBlLnJldHVybmNvZGUKLSAg
ICAgICAgICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoKLSAgICAgICAgICAgICAgICByZXR1
cm4gMAorICAgICAgICBfbG9nLmRlYnVnKCdSdW5uaW5nIGluIHNhbmRib3g6ICVzXG4nICUgJyAn
LmpvaW4oZmxhdHBha19jb21tYW5kKSkKKworICAgICAgICB0cnk6CisgICAgICAgICAgICBzdWJw
cm9jZXNzLmNoZWNrX2NhbGwoZmxhdHBha19jb21tYW5kLCBzdGRvdXQ9c3Rkb3V0KQorICAgICAg
ICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZToKKyAgICAgICAgICAg
IHN5cy5zdGRlcnIud3JpdGUoc3RyKGUpICsgIlxuIikKKyAgICAgICAgICAgIHJldHVybiBlLnJl
dHVybmNvZGUKKyAgICAgICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgorICAgICAgICAgICAg
cmV0dXJuIDAKIAogICAgICAgICByZXR1cm4gMAogCkBAIC04MzUsNjQgKzY5OCw0MSBAQCBjbGFz
cyBXZWJraXRGbGF0cGFrOgogICAgICAgICAgICAgICAgIHNodXRpbC5ybXRyZWUoc2VsZi5idWls
ZF9wYXRoKQogCiAgICAgICAgIGlmIHNlbGYudXBkYXRlOgotICAgICAgICAgICAgQ29uc29sZS5t
ZXNzYWdlKCJVcGRhdGluZyBGbGF0cGFrIGVudmlyb25tZW50IGZvciAlcyAoJXMpIiAlICgKLSAg
ICAgICAgICAgICAgICBzZWxmLnBsYXRmb3JtLCBzZWxmLmJ1aWxkX3R5cGUpKQorICAgICAgICAg
ICAgQ29uc29sZS5tZXNzYWdlKCJVcGRhdGluZyBGbGF0cGFrICVzIGVudmlyb25tZW50IiAlIHNl
bGYuYnVpbGRfdHlwZSkKICAgICAgICAgICAgIGlmIG5vdCBzZWxmLm5vX2ZsYXRwYWtfdXBkYXRl
OgogICAgICAgICAgICAgICAgIHNlbGYudXBkYXRlX2FsbCgpCiAKICAgICAgICAgcmV0dXJuIHNl
bGYuc2V0dXBfZGV2X2VudigpCiAKICAgICBkZWYgaGFzX2Vudmlyb25tZW50KHNlbGYpOgotICAg
ICAgICByZXR1cm4gb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHNlbGYuYnVpbGRfcGF0aCwg
c2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgpKQorICAgICAgICByZXR1cm4gb3MucGF0aC5leGlzdHMo
c2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgpCiAKICAgICBkZWYgc2F2ZV9jb25maWcoc2VsZik6CiAg
ICAgICAgIHdpdGggb3BlbihzZWxmLmNvbmZpZ19maWxlLCAndycpIGFzIGNvbmZpZzoKICAgICAg
ICAgICAgIGpzb25fY29uZmlnID0geydpY2VjY192ZXJzaW9uJzogc2VsZi5pY2NfdmVyc2lvbn0K
ICAgICAgICAgICAgIGpzb24uZHVtcChqc29uX2NvbmZpZywgY29uZmlnKQogCi0gICAgZGVmIHNl
dHVwX2NjYWNoZShzZWxmKToKLSAgICAgICAgZm9yIGNvbXBpbGVyIGluIFsiYysrIiwgImNjIiwg
ImNsYW5nIiwgImNsYW5nKysiLCAiZysrIiwgImdjYyJdOgotICAgICAgICAgICAgc2VsZi5ydW5f
aW5fc2FuZGJveCgibG4iLCAiLXMiLCAiLi4vLi4vdXNyL2Jpbi9jY2FjaGUiLCBjb21waWxlciwg
Y3dkPSIvYXBwL2JpbiIpCi0KICAgICBkZWYgc2V0dXBfaWNlY2Moc2VsZik6CiAgICAgICAgIHdp
dGggdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKCkgYXMgdG1wZmlsZToKLSAgICAgICAgICAg
IHNlbGYucnVuX2luX3NhbmRib3goJ2ljZWNjJywgJy0tYnVpbGQtbmF0aXZlJywgc3Rkb3V0PXRt
cGZpbGUsIGN3ZD1zZWxmLmJ1aWxkX3BhdGgpCisgICAgICAgICAgICBzZWxmLnJ1bl9pbl9zYW5k
Ym94KCdpY2VjYycsICctLWJ1aWxkLW5hdGl2ZScsIHN0ZG91dD10bXBmaWxlLCBjd2Q9c2VsZi5z
b3VyY2Vfcm9vdCkKICAgICAgICAgICAgIHRtcGZpbGUuZmx1c2goKQogICAgICAgICAgICAgdG1w
ZmlsZS5zZWVrKDApCiAgICAgICAgICAgICBpY2NfdmVyc2lvbl9maWxlbmFtZSwgPSByZS5maW5k
YWxsKHInLipjcmVhdGluZyAoLiopJywgdG1wZmlsZS5yZWFkKCkpCi0gICAgICAgICAgICBzZWxm
LmljY192ZXJzaW9uID0gb3MucGF0aC5qb2luKHNlbGYuYnVpbGRfcGF0aCwgaWNjX3ZlcnNpb25f
ZmlsZW5hbWUpCisgICAgICAgICAgICBzZWxmLmljY192ZXJzaW9uID0gb3MucGF0aC5qb2luKHNl
bGYuc291cmNlX3Jvb3QsIGljY192ZXJzaW9uX2ZpbGVuYW1lKQogCiAgICAgZGVmIHNldHVwX2Rl
dl9lbnYoc2VsZik6Ci0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4o
c2VsZi5idWlsZF9wYXRoLCBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkpIFwKLSAgICAgICAgICAg
ICAgICBvciBzZWxmLnVwZGF0ZSBvciBzZWxmLmJ1aWxkX2FsbDoKKyAgICAgICAgaWYgbm90IG9z
LnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCwgInJ1bnRp
bWUiLCAib3JnLndlYmtpdC5TZGsiKSkgb3Igc2VsZi51cGRhdGUgb3Igc2VsZi5idWlsZF9hbGw6
CiAgICAgICAgICAgICBzZWxmLmluc3RhbGxfYWxsKCkKLSAgICAgICAgICAgIENvbnNvbGUubWVz
c2FnZSgiQnVpbGRpbmcgJXMgYW5kIGRlcGVuZGVuY2llcyBpbiAlcyIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2VsZi5uYW1lLCBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkKLQotICAg
ICAgICAgICAgIyBDcmVhdGUgZW52aXJvbm1lbnQgZGlycyBpZiBuZWNlc3NhcnkKLSAgICAgICAg
ICAgIHRyeToKLSAgICAgICAgICAgICAgICBvcy5tYWtlZGlycyhvcy5wYXRoLmRpcm5hbWUoc2Vs
Zi5tYW5pZmVzdF9nZW5lcmF0ZWRfcGF0aCkpCi0gICAgICAgICAgICBleGNlcHQgT1NFcnJvciBh
cyBlOgotICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUVYSVNUOgotICAgICAg
ICAgICAgICAgICAgICByYWlzZSBlCi0gICAgICAgICAgICBpZiBub3QgZXhwYW5kX21hbmlmZXN0
KHNlbGYubWFuaWZlc3RfcGF0aCwgc2VsZi5tYW5pZmVzdF9nZW5lcmF0ZWRfcGF0aCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5uYW1lLCBzZWxmLnNhbmRib3hfc291
cmNlX3Jvb3QsIHNlbGYuY29tbWFuZCk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDEKLQotICAg
ICAgICAgICAgYnVpbGRlcl9hcmdzID0gWyJmbGF0cGFrLWJ1aWxkZXIiLCAiLS1kaXNhYmxlLXJv
ZmlsZXMtZnVzZSIsICItLXN0YXRlLWRpciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2VsZi5jYWNoZV9wYXRoLCAiLS1jY2FjaGUiLCBzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCwgIi0t
Zm9yY2UtY2xlYW4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWFuaWZlc3Rf
Z2VuZXJhdGVkX3BhdGhdCi0gICAgICAgICAgICBidWlsZGVyX2FyZ3MuYXBwZW5kKCItLWJ1aWxk
LW9ubHkiKQotICAgICAgICAgICAgYnVpbGRlcl9hcmdzLmFwcGVuZCgiLS1zdG9wLWF0PSVzIiAl
IHNlbGYuYXBwKQotCi0gICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoYnVpbGRlcl9h
cmdzKQotICAgICAgICAgICAgc2VsZi5zZXR1cF9jY2FjaGUoKQogICAgICAgICAgICAgc2VsZi5z
ZXR1cF9pY2VjYygpCiAgICAgICAgICAgICBzZWxmLnNhdmVfY29uZmlnKCkKIAogICAgICAgICBi
dWlsZF90eXBlID0gIi0tZGVidWciIGlmIHNlbGYuZGVidWcgZWxzZSAiLS1yZWxlYXNlIgorICAg
ICAgICBpZiBzZWxmLmJ1aWxkX2dzdDoKKyAgICAgICAgICAgIHNlbGYuc2V0dXBfZ3N0YnVpbGQo
VHJ1ZSkKKwogICAgICAgICBpZiBzZWxmLmJ1aWxkX3dlYmtpdDoKLSAgICAgICAgICAgIGJ1aWxk
ZXIgPSBbb3MucGF0aC5qb2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgJ1Rvb2xzL1Njcmlw
dHMvYnVpbGQtd2Via2l0JyksCisgICAgICAgICAgICBidWlsZGVyID0gWworICAgICAgICAgICAg
ICAgIG9zLnBhdGguam9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsICdUb29scy9TY3JpcHRz
L2J1aWxkLXdlYmtpdCcpLAogICAgICAgICAgICAgICAgIGJ1aWxkX3R5cGUsICctLScgKyBzZWxm
LnBsYXRmb3JtLmxvd2VyKCldCiAgICAgICAgICAgICBpZiBzZWxmLm1ha2VhcmdzOgogICAgICAg
ICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCItLW1ha2VhcmdzPSVzIiAlIHNlbGYubWFrZWFyZ3Mp
CkBAIC05MDMsMjcgKzc0Myw1NiBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogCiAgICAgICAgICAg
ICBpZiByZXM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHJlcwotICAgICAgICBlbHNlOgotICAg
ICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJVc2luZyAlcyBwcmVmaXggaW4gJXMiLCBzZWxmLm5h
bWUsIHNlbGYuZmxhdHBha19idWlsZF9wYXRoKQogCiAgICAgICAgIGlmIHNlbGYucnVuX3Rlc3Rz
IGlzIG5vdCBOb25lOgogICAgICAgICAgICAgdGVzdF9sYXVuY2hlciA9IFtvcy5wYXRoLmpvaW4o
c2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCAnVG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LXRlc3Rz
JyksCi0gICAgICAgICAgICAgICAgYnVpbGRfdHlwZSwgJy0tJyArIHNlbGYucGxhdGZvcm0ubG93
ZXIoKV0gKyBzZWxmLnJ1bl90ZXN0cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWls
ZF90eXBlLCAnLS0nICsgc2VsZi5wbGF0Zm9ybS5sb3dlcigpXSArIHNlbGYucnVuX3Rlc3RzCiAg
ICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5faW5fc2FuZGJveCgqdGVzdF9sYXVuY2hlcikKLSAg
ICAgICAgZWxpZiBzZWxmLmdkYiBpcyBub3QgTm9uZToKKyAgICAgICAgZWxpZiBzZWxmLmdkYiBv
ciBzZWxmLmdkYl9zdGFja190cmFjZToKICAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1bl9nZGIo
KQogICAgICAgICBlbGlmIHNlbGYudXNlcl9jb21tYW5kOgogICAgICAgICAgICAgcmV0dXJuIHNl
bGYucnVuX2luX3NhbmRib3goKnNlbGYudXNlcl9jb21tYW5kKQotICAgICAgICBlbGlmIG5vdCBz
ZWxmLnVwZGF0ZSBhbmQgbm90IHNlbGYuYnVpbGRfd2Via2l0OgorICAgICAgICBlbGlmIG5vdCBz
ZWxmLnVwZGF0ZSBhbmQgbm90IHNlbGYuYnVpbGRfd2Via2l0IGFuZCBub3Qgc2VsZi5idWlsZF9n
c3Q6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5faW5fc2FuZGJveCgpCiAKICAgICAgICAg
cmV0dXJuIDAKIAorICAgIGRlZiBfZ2V0X3BhY2thZ2VzKHNlbGYpOgorICAgICAgICBzZWxmLnJ1
bnRpbWUgPSBGbGF0cGFrUGFja2FnZSgib3JnLndlYmtpdC5QbGF0Zm9ybSIsIHNlbGYuc2RrX2Jy
YW5jaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZGtfcmVw
bywgIng4Nl82NCIpCisgICAgICAgIHNlbGYubG9jYWxlID0gRmxhdHBha1BhY2thZ2UoIm9yZy53
ZWJraXQuUGxhdGZvcm0uTG9jYWxlIiwgc2VsZi5zZGtfYnJhbmNoLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX3JlcG8sICJ4ODZfNjQiKQorICAgICAgICBz
ZWxmLnNkayA9IEZsYXRwYWtQYWNrYWdlKCJvcmcud2Via2l0LlNkayIsIHNlbGYuc2RrX2JyYW5j
aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNka19yZXBvLCAieDg2
XzY0IikKKyAgICAgICAgcGFja2FnZXMgPSBbc2VsZi5ydW50aW1lLCBzZWxmLmxvY2FsZSwgc2Vs
Zi5zZGtdCisKKyAgICAgICAgIyBGSVhNRTogRm9yIHVua25vd24gcmVhc29ucywgdGhlIEdMIGV4
dGVuc2lvbiBuZWVkcyB0byBiZSBleHBsaWNpdGVseQorICAgICAgICAjIGluc3RhbGxlZCBmb3Ig
RmxhdHBhayAxLjIueCB0byBiZSBhYmxlIHRvIG1ha2UgdXNlIG9mIGl0LiBTZWVtcyBsaWtlCisg
ICAgICAgICMgaXQncyBub3QgY29ycmVjdGx5IGluaGVyaXRpbmcgaXQgZnJvbSB0aGUgU0RLLgor
ICAgICAgICBzZWxmLmZsYXRodWJfcmVwbyA9IHNlbGYucmVwb3MuYWRkKAorICAgICAgICAgICAg
RmxhdHBha1JlcG8oImZsYXRodWIiLCByZXBvX2ZpbGU9Imh0dHBzOi8vZGwuZmxhdGh1Yi5vcmcv
cmVwby9mbGF0aHViLmZsYXRwYWtyZXBvIikKKyAgICAgICAgKQorICAgICAgICBnbF9leHRlbnNp
b24gPSBGbGF0cGFrUGFja2FnZSgib3JnLmZyZWVkZXNrdG9wLlBsYXRmb3JtLkdMLmRlZmF1bHQi
LCAiMTkuMDgiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmZs
YXRodWJfcmVwbywgIng4Nl82NCIpCisgICAgICAgIHBhY2thZ2VzLmFwcGVuZChnbF9leHRlbnNp
b24pCisKKyAgICAgICAgaWYgc2VsZi5kZWJ1ZzoKKyAgICAgICAgICAgIHNka19kZWJ1ZyA9IEZs
YXRwYWtQYWNrYWdlKCdvcmcud2Via2l0LlNkay5EZWJ1ZycsIHNlbGYuc2RrX2JyYW5jaCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2RrX3JlcG8sICJ4ODZf
NjQiKQorICAgICAgICAgICAgcGFja2FnZXMuYXBwZW5kKHNka19kZWJ1ZykKKyAgICAgICAgcmV0
dXJuIHBhY2thZ2VzCisKICAgICBkZWYgaW5zdGFsbF9hbGwoc2VsZik6Ci0gICAgICAgIGZvciBw
YWNrYWdlIGluIHNlbGYucGFja3M6CisgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGgu
am9pbihzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCwgInJ1bnRpbWUiLCAib3JnLndlYmtpdC5TZGsi
KSk6CisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJJbnN0YWxs
aW5nICVzIGRlcGVuZGVuY2llcyBpbiAlcyIsIHNlbGYuYnVpbGRfdHlwZSwgc2VsZi5mbGF0cGFr
X2J1aWxkX3BhdGgpCisgICAgICAgIGZvciBwYWNrYWdlIGluIHNlbGYuX2dldF9wYWNrYWdlcygp
OgogICAgICAgICAgICAgaWYgbm90IHBhY2thZ2UuaXNfaW5zdGFsbGVkKHNlbGYuc2RrX2JyYW5j
aCk6CiAgICAgICAgICAgICAgICAgcGFja2FnZS5pbnN0YWxsKCkKIAorICAgIGRlZiB1cGRhdGVf
YWxsKHNlbGYpOgorICAgICAgICBzZWxmLnNka19yZXBvLmZsYXRwYWsoInVwZGF0ZSIpCisKICAg
ICBkZWYgcnVuX2dkYihzZWxmKToKICAgICAgICAgd2l0aCBkaXNhYmxlX3NpZ25hbHMoKToKICAg
ICAgICAgICAgIHRyeToKQEAgLTkzNSwzMSArODA0LDM5IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6
CiAgICAgICAgICMgV2UgbmVlZCBhY2Nlc3MgdG8gdGhlIGhvc3QgZnJvbSB0aGUgc2FuZGJveCB0
byBydW4uCiAgICAgICAgIHdpdGggdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKCkgYXMgY29y
ZWR1bXA6CiAgICAgICAgICAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZSgpIGFz
IHN0ZGVycjoKLSAgICAgICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoWyJjb3JlZHVt
cGN0bCIsICJkdW1wIl0gKyBzaGxleC5zcGxpdChzZWxmLmNvcmVkdW1wY3RsX21hdGNoZXMpLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9Y29yZWR1bXAsIHN0
ZGVycj1zdGRlcnIpCisgICAgICAgICAgICAgICAgaWYgc2VsZi5nZGJfc3RhY2tfdHJhY2U6Cisg
ICAgICAgICAgICAgICAgICAgIGNtZCA9IFsiY29yZWR1bXBjdGwiLCAiLS1zaW5jZT0lcyIgJSBz
ZWxmLmdkYl9zdGFja190cmFjZSwgImR1bXAiXQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAg
ICAgICAgICAgICAgICAgIGNtZCA9IFsiY29yZWR1bXBjdGwiLCAiZHVtcCJdICsgc2hsZXguc3Bs
aXQoc2VsZi5jb3JlZHVtcGN0bF9tYXRjaGVzKQorICAgICAgICAgICAgICAgIHRyeToKKyAgICAg
ICAgICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGNtZCwgc3Rkb3V0PWNvcmVkdW1w
LCBzdGRlcnI9c3RkZXJyKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxl
ZFByb2Nlc3NFcnJvciBhcyBlcnI6CisgICAgICAgICAgICAgICAgICAgIHdpdGggb3BlbihzdGRl
cnIubmFtZSwgJ3InKSBhcyBzdGRlcnJmOgorICAgICAgICAgICAgICAgICAgICAgICAgc3RkZXJy
ID0gc3RkZXJyZi5yZWFkKCkKKyAgICAgICAgICAgICAgICAgICAgY21kID0gJyAnLmpvaW4oZXJy
LmNtZCkKKyAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiJyVzJyByZXR1cm5l
ZCBhIG5vbi16ZXJvIGV4aXQgY29kZS4gU3RkZXJyOiAlcyIgJSAoY21kLCBzdGRlcnIpKQorICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gZXJyLnJldHVybmNvZGUKIAogICAgICAgICAgICAgICAg
IHdpdGggb3BlbihzdGRlcnIubmFtZSwgJ3InKSBhcyBzdGRlcnJmOgogICAgICAgICAgICAgICAg
ICAgICBzdGRlcnIgPSBzdGRlcnJmLnJlYWQoKQotICAgICAgICAgICAgICAgIGV4ZWN1dGFibGUs
ID0gcmUuZmluZGFsbCgiLipFeGVjdXRhYmxlOiAoLiopIiwgc3RkZXJyKQotICAgICAgICAgICAg
ICAgIGlmIG5vdCBleGVjdXRhYmxlLnN0YXJ0c3dpdGgoIi9uZXdyb290Iik6Ci0gICAgICAgICAg
ICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoIkV4ZWN1dGFibGUgJXMgZG9lc24ndCBzZWVtIHRv
IGJlIGEgZmxhdHBha2VkIGFwcGxpY2F0aW9uLlxuIiAlIGV4ZWN1dGFibGUpCi0KLSAgICAgICAg
ICAgICAgICBleGVjdXRhYmxlID0gZXhlY3V0YWJsZS5yZXBsYWNlKCIvbmV3cm9vdCIsICIiKQot
ICAgICAgICAgICAgICAgIGFyZ3MgPSBbImdkYiIsIGV4ZWN1dGFibGUsICIvcnVuL2hvc3QvJXMi
ICUgY29yZWR1bXAubmFtZV0gKyBzaGxleC5zcGxpdChzZWxmLmdkYikKIAotICAgICAgICAgICAg
ICAgIHJldHVybiBzZWxmLnJ1bl9pbl9zYW5kYm94KCphcmdzKQorICAgICAgICAgICAgICAgIGV4
ZWN1dGFibGUsID0gcmUuZmluZGFsbCgiLipFeGVjdXRhYmxlOiAoLiopIiwgc3RkZXJyKQogCi0g
ICAgZGVmIHVwZGF0ZV9hbGwoc2VsZik6Ci0gICAgICAgIGZvciBtIGluIFtzZWxmLnJ1bnRpbWUs
IHNlbGYuc2RrLCBzZWxmLnNka19kZWJ1Z106Ci0gICAgICAgICAgICBpZiBtOgotICAgICAgICAg
ICAgICAgIG0udXBkYXRlKCkKKyAgICAgICAgICAgICAgICBpZiBzZWxmLmdkYjoKKyAgICAgICAg
ICAgICAgICAgICAgYmFyZ3MgPSBbImdkYiIsIGV4ZWN1dGFibGUsICIvcnVuL2hvc3QvJXMiICUg
Y29yZWR1bXAubmFtZV0gKyBzaGxleC5zcGxpdChzZWxmLmdkYikKKyAgICAgICAgICAgICAgICBl
bGlmIHNlbGYuZ2RiX3N0YWNrX3RyYWNlOgorICAgICAgICAgICAgICAgICAgICBiYXJncyA9IFsi
Z2RiIiwgJy1leCcsICJ0aHJlYWQgYXBwbHkgYWxsIGJhY2t0cmFjZSIsICctLWJhdGNoJywgZXhl
Y3V0YWJsZSwgIi9ydW4vaG9zdC8lcyIgJSBjb3JlZHVtcC5uYW1lXQogCisgICAgICAgICAgICAg
ICAgcmV0dXJuIHNlbGYucnVuX2luX3NhbmRib3goKmJhcmdzKQogCiBkZWYgaXNfc2FuZGJveGVk
KCk6CiAgICAgcmV0dXJuIG9zLnBhdGguZXhpc3RzKCIvLmZsYXRwYWstaW5mbyIpCiAKIAogZGVm
IHJ1bl9pbl9zYW5kYm94X2lmX2F2YWlsYWJsZShhcmdzKToKKyAgICBpZiBub3Qgb3MucGF0aC5p
c2RpcihGTEFUUEFLX1VTRVJfRElSX1BBVEgpOgorICAgICAgICByZXR1cm4gTm9uZQorCiAgICAg
aWYgaXNfc2FuZGJveGVkKCk6CiAgICAgICAgIHJldHVybiBOb25lCiAKZGlmZiAtLWdpdCBhL1Rv
b2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5Db21tb25Nb2R1bGVzLnlhbWwgYi9Ub29scy9mbGF0cGFr
L29yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBlMWEwN2NmODZmODNiNjg4MzNhNTcyODRlNDcyM2Y1MjJiNzNjNDBiLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndl
YmtpdC5Db21tb25Nb2R1bGVzLnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMzEgKzAsMCBAQAot
IyBodHRwIGFuZCBkZXBlbmRlbmNpZXMuCi0tIG5hbWU6IGFwcgotICBzb3VyY2VzOgotICAgIC0g
dHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL3d3dy5hcGFjaGUub3JnL2Rpc3QvYXBy
L2Fwci0xLjYuNS50YXIuYnoyCi0gICAgICBzaGEyNTY6IGE2N2NhOWZjZjljNGZmNTliY2U3ZjQy
OGEzMjNjOGI1ZTE4NjY3ZmRlYTdiMGViYWQ0N2QxOTQzNzFiMGExMDUKLS0gbmFtZTogYXByLXV0
aWwKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly93
d3cuYXBhY2hlLm9yZy9kaXN0L2Fwci9hcHItdXRpbC0xLjYuMS50YXIuYnoyCi0gICAgICBzaGE1
MTI6ICI0MGVmZjhhMzdjMDYzNGY3ZmRkZGQ2Y2E1ZTU5NmIzOGRlMTVmZDEwNzY3YTM0YzMwYmJl
NDljNjMyODE2ZThmM2UxZTIzMDY3ODAzNGY1NzhkZDU4MTZhOTRmMjQ2ZmI1ZGZkZjQ4ZDY0NDgy
OWFmMTNiZjI4ZGUzMjI1MjA1ZCIKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLXdpdGgtYXByPS9h
cHAvYmluL2Fwci0xLWNvbmZpZwotLSBuYW1lOiBodHRwZAotICBzb3VyY2VzOgotICAgIC0gdHlw
ZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9hcGFjaGUvaHR0cGQuZ2l0Ci0g
ICAgICBicmFuY2g6IDIuNC4zNwotICAgIC0gdHlwZSA6IGZpbGUKLSAgICAgIHBhdGggOiBmaWxl
cy9odHRwZC1hdXRvZ2VuLnNoCi0gICAgICBkZXN0LWZpbGVuYW1lIDogYXV0b2dlbi5zaAotICAg
ICMgVGhlIHZlcnNpb24gZW1iZWRkZWQgaW4gdGhlIHNhbmRib3ggZG9lc24ndCBoYXZlIGEgd29y
a2luZyBwY3JlLWNvbmZpZwotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IHBhdGNoZXMv
aHR0cGQtMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBh
dGNoCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1lbmFibGUtbXBtcy1zaGFyZWQ9YWxsCi0gICAg
LSAtLWVuYWJsZS1tb2R1bGVzPWFsbAotICAgIC0gLS13aXRoLWFwcj0vYXBwL2Jpbi9hcHItMS1j
b25maWcKLSAgICAtIC0td2l0aC1hcHItdXRpbD0vYXBwL2Jpbi9hcHUtMS1jb25maWcKLSAgICAt
IC0td2l0aC1wY3JlPS9hcHAKLSAgICAtIC0tZW5hYmxlLWF1dGhuei1mY2dpCi0gICAgLSAtLWVu
YWJsZS1jZ2kKLSAgICAtIC0tZW5hYmxlLWNnaWQKLS0gbmFtZTogcGhwCi0gIHNvdXJjZXM6Ci0g
ICAgLSB0eXBlOiBhcmNoaXZlCi0gICAgICB1cmw6IGh0dHBzOi8vcGhwLm5ldC9kaXN0cmlidXRp
b25zL3BocC03LjIuNi50YXIueHoKLSAgICAgIHNoYTUxMjogZGE4NmIxZmYyZGYzYjllMmQ0NmU1
OWE4MDI5NmI5NDBkODExMzI5NzViNjIxYmRlYzk2MDJmOGI0YzhkOTFhM2ZkY2Q0ZmZkN2NiOTgy
ZDYzZDNlYzk3NGIzYTEyYTc4NTRlNDJhNzNiN2YyY2M4ZWVmYWRlMTQzMzVhYTdjNzEKLSAgY29u
ZmlnLW9wdHM6Ci0gICAgLSAtLWRpc2FibGUteG1sCi0gICAgLSAtLWRpc2FibGUtZG9tCi0gICAg
LSAtLWRpc2FibGUtbGlieG1sCi0gICAgLSAtLWRpc2FibGUtc2ltcGxleG1sCi0gICAgLSAtLWRp
c2FibGUteG1scmVhZGVyCi0gICAgLSAtLWRpc2FibGUteG1sd3JpdGVyCi0gICAgLSAtLXdpdGhv
dXQtcGVhcgotICAgIC0gLS13aXRoLWFweHMyCi0gICAgLSAtLXdpdGgtemxpYgotICAgIC0gLS13
aXRoLWxpYnppcAotICAgIC0gLS1lbmFibGUtc29ja2V0cz1zaGFyZWQKLS0gbmFtZTogbGliZXZl
bnQKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGh1
Yi5jb20vbGliZXZlbnQvbGliZXZlbnQuZ2l0Ci0gICAgICBicmFuY2g6IGU3ZmY0ZWYgIyAyLjEu
OAotICBjb25maWctb3B0czoKLSAgICAtIC0tZGlzYWJsZS1saWJldmVudC1yZWdyZXNzCi0KLSMg
UmVxdWlyZW1lbnQgZm9yIGZsYXRwa3V0aWxzCi0tIG5hbWU6IHB5dGhvbjMtcHlhbWwKLSAgYnVp
bGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgLSBwaXAzIGluc3RhbGwgLS1u
by1pbmRleCAtLWZpbmQtbGlua3M9ImZpbGU6Ly8ke1BXRH0iIC0tcHJlZml4PSR7RkxBVFBBS19E
RVNUfSBweWFtbAotICBzb3VyY2VzOgotICAtIHR5cGU6IGZpbGUKLSAgICB1cmw6IGh0dHBzOi8v
ZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy80YS84NS9kYjVhMmRmNDc3MDcyYjI5MDJi
MGViODkyZmViMzdkODhhYzYzNWQzNjI0NWE3MmE2YTY5YjIzYjM4M2EvUHlZQU1MLTMuMTIudGFy
Lmd6Ci0gICAgc2hhMjU2OiA1OTI3NjZjNjMwMzIwN2EyMGVmYzQ0NTU4Nzc3ODMyMmQ3ZjczYjE2
MWJkOTk0ZjIyN2FkYWEzNDFiYTIxMmFiCi0gIC0gdHlwZTogZmlsZQotICAgIHVybDogaHR0cHM6
Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzllLzE3LzFkNGVkNmUxYTRjMDkxOGEw
MzU3ZGZhMmZkYmUyNmJmNjNmNmU2MTYwMTNjMDRhMTRiY2U5ZmQzM2U0MC9weWFtbC0xNy4xMi4x
LnRhci5negotICAgIHNoYTI1NjogNjY2MjNjNTJmMzRkODNhMmMwZmM5NjNlMDhlOGI5ZDBjMTNk
ODg0MDRlM2I0M2IxODUyZWY3MWVkYTE5YWZhMwotCi0tIG5hbWU6IHB5dGhvbjItcHlhbWwKLSAg
YnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgLSBwaXAyIGluc3RhbGwg
LS1uby1pbmRleCAtLWZpbmQtbGlua3M9ImZpbGU6Ly8ke1BXRH0iIC0tdGFyZ2V0PS9hcHAvbGli
L3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzLyBweWFtbAotICBzb3VyY2VzOgotICAtIHR5cGU6IGZp
bGUKLSAgICB1cmw6IGh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy80YS84
NS9kYjVhMmRmNDc3MDcyYjI5MDJiMGViODkyZmViMzdkODhhYzYzNWQzNjI0NWE3MmE2YTY5YjIz
YjM4M2EvUHlZQU1MLTMuMTIudGFyLmd6Ci0gICAgc2hhMjU2OiA1OTI3NjZjNjMwMzIwN2EyMGVm
YzQ0NTU4Nzc3ODMyMmQ3ZjczYjE2MWJkOTk0ZjIyN2FkYWEzNDFiYTIxMmFiCi0gIC0gdHlwZTog
ZmlsZQotICAgIHVybDogaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzll
LzE3LzFkNGVkNmUxYTRjMDkxOGEwMzU3ZGZhMmZkYmUyNmJmNjNmNmU2MTYwMTNjMDRhMTRiY2U5
ZmQzM2U0MC9weWFtbC0xNy4xMi4xLnRhci5negotICAgIHNoYTI1NjogNjY2MjNjNTJmMzRkODNh
MmMwZmM5NjNlMDhlOGI5ZDBjMTNkODg0MDRlM2I0M2IxODUyZWY3MWVkYTE5YWZhMwotCi0tIG5h
bWU6IHB5dGhvbjItc3VicHJvY2VzczMyCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQt
Y29tbWFuZHM6Ci0gIC0gcGlwMiBpbnN0YWxsIC0tdGFyZ2V0PS9hcHAvbGliL3B5dGhvbjIuNy9z
aXRlLXBhY2thZ2VzLyAuCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogYXJjaGl2ZQotICAgIHVybDog
aHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzL2JlLzJiL2JlZWJhNTgzZTk4
NzdlNjRkYjEwYjUyYTk2OTE1YWZjMGZlYWJmNzE0NGRjYmYyYTBkMGVhNjhiZjczZC9zdWJwcm9j
ZXNzMzItMy41LjMudGFyLmd6Ci0gICAgc2hhMjU2OiA2YmM4Mjk5MjMxNmVlZjNjY2ZmMzE5YjUw
MzM4MDk4MDFjMGMzMzcyNzA5YzVmNjk4NTI5OWM4OGFjNzIyNWMzCi0KLSMgR1N0cmVhbWVyIG1v
ZHVsZXMKLS0gbmFtZTogbGlidnB4Ci0gIG5vLWF1dG9nZW46IHRydWUKLSAgc291cmNlczoKLSAg
ICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5j
b20vd2VibS9saWJ2cHgKLSAgICAgIGJyYW5jaDogdjEuNy4wCi0gIGNvbmZpZy1vcHRzOgotICAg
IC0gLS1lbmFibGUtcGljCi0gICAgLSAtLWFzPW5hc20KLSAgICAtIC0tZGlzYWJsZS11bml0LXRl
c3RzCi0gICAgLSAtLXNpemUtbGltaXQ9MTYzODR4MTYzODQKLSAgICAtIC0tZW5hYmxlLXBvc3Rw
cm9jCi0gICAgLSAtLWVuYWJsZS1tdWx0aS1yZXMtZW5jb2RpbmcKLSAgICAtIC0tZW5hYmxlLXRl
bXBvcmFsLWRlbm9pc2luZwotICAgIC0gLS1lbmFibGUtdnA5LXRlbXBvcmFsLWRlbm9pc2luZwot
ICAgIC0gLS1lbmFibGUtdnA5LXBvc3Rwcm9jCi0gICAgLSAtLWVuYWJsZS1zaGFyZWQKLS0gbmFt
ZTogYW9tCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9h
b21lZGlhLmdvb2dsZXNvdXJjZS5jb20vYW9tCi0gICAgICBicmFuY2g6IGNkYjA4M2U4NGE3MWQ2
ZDMxMTYzYTRmNjRmMThkYzEzMjhmZDc4MmMKLSAgYnVpbGRzeXN0ZW06IGNtYWtlLW5pbmphCi0g
IGJ1aWxkZGlyOiB0cnVlCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURCVUlMRF9TSEFSRURfTElC
Uz0xCi0tIG5hbWU6IGxpYnVud2luZAotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAg
ICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9saWJ1bndpbmQvbGlidW53aW5kLmdpdAotICAgICAg
Y29tbWl0OiB2MS4yLjEKLS0gbmFtZTogbGlib3BlbmgyNjQKLSAgYnVpbGRzeXN0ZW06IG1lc29u
Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIu
Y29tL2Npc2NvL29wZW5oMjY0LmdpdAotICAgICAgYnJhbmNoOiBhMWIzZjA3YzUyNzFmMzEyOTk3
ZmNjMzQ1MTIzNzAzMTQ0NGM0NDc1ICMgMS44LjAgKyBmaXggZm9yIGdjYyA4Ci0tIG5hbWU6IGdz
dHJlYW1lcgotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGdp
dAotICAgICAgdXJsOiBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dz
dHJlYW1lci5naXQKLSAgICAgIGJyYW5jaDogMS4xNi4xCi0gIGNvbmZpZy1vcHRzOgotICAgIC0g
LURndGtfZG9jPWRpc2FibGVkCi0gICAgLSAtRGludHJvc3BlY3Rpb249ZGlzYWJsZWQKLSAgICAt
IC1EZXhhbXBsZXM9ZGlzYWJsZWQKLSAgICAtIC1EdGVzdHM9ZGlzYWJsZWQKLS0gbmFtZTogZ3N0
LXBsdWdpbnMtYmFzZQotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291cmNlczoKLSAgICAtIHR5
cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvZ3N0cmVh
bWVyL2dzdC1wbHVnaW5zLWJhc2UuZ2l0Ci0gICAgICBicmFuY2g6IDEuMTYuMQotICAgIC0gdHlw
ZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2dzdHJlYW1lci9wYXRjaGVzL2Jhc2UtMDAwMS1wbGF5
YmluLUhhbmRsZS1lcnJvci1tZXNzYWdlLXdpdGgtcmVkaXJlY3Rpb24taW5kaWNhLnBhdGNoCi0g
ICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3N0cmVhbWVyL3BhdGNoZXMvYmFzZS0w
MDAxLWdsdXBsb2FkLUFkZC1WaWRlb01ldGFzLWFuZC1HTFN5bmNNZXRhLXRvLXRoZS1yYXctdXAu
cGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlzYWJsZWQKLSAgICAtIC1E
aW50cm9zcGVjdGlvbj1kaXNhYmxlZAotICAgIC0gLURleGFtcGxlcz1kaXNhYmxlZAotICAgIC0g
LUR0ZXN0cz1kaXNhYmxlZAotLSBuYW1lOiBnc3QtcGx1Z2lucy1nb29kCi0gIGJ1aWxkc3lzdGVt
OiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8v
Z2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtZ29vZC5naXQKLSAg
ICAgIGJyYW5jaDogMS4xNi4xCi0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogLi4vZ3N0
cmVhbWVyL3BhdGNoZXMvZ29vZC0wMDAxLXF0ZGVtdXgtU3BlY2lmeS1SRURJUkVDVC1pbmZvcm1h
dGlvbi1pbi1lcnJvci1tZXNzYWcucGF0Y2gKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19k
b2M9ZGlzYWJsZWQKLSAgICAtIC1EaW50cm9zcGVjdGlvbj1kaXNhYmxlZAotICAgIC0gLURleGFt
cGxlcz1kaXNhYmxlZAotICAgIC0gLURndGszPWRpc2FibGVkCi0tIG5hbWU6IHgyNjQKLSAgY29u
ZmlnLW9wdHM6Ci0gICAgLSAiLS1lbmFibGUtc2hhcmVkIgotICAgIC0gIi0tZW5hYmxlLXN0YXRp
YyIKLSAgICAtICItLWVuYWJsZS1waWMiCi0gICAgLSAiLS1kaXNhYmxlLWxhdmYiCi0gICAgLSAi
LS1kaXNhYmxlLWFzbSIKLSAgc291cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVy
bDogaHR0cDovL2Rvd25sb2FkLnZpZGVvbGFuLm9yZy9wdWIveDI2NC9zbmFwc2hvdHMveDI2NC1z
bmFwc2hvdC0yMDE0MDIxMi0yMjQ1LXN0YWJsZS50YXIuYnoyCi0gICAgICBzaGEyNTY6IDVkOThl
OWU0ZmFmNmRkNTVlNzE5M2VkMzc5YWZmNDc3YjhhY2JkYTY3Nzc3NTg5NTZlZjdlNWYwNTA2N2Jl
MTgKLS0gbmFtZTogZ3N0LXBsdWdpbnMtdWdseQotICBidWlsZHN5c3RlbTogbWVzb24KLSAgc291
cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRl
c2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtdWdseQotICAgICAgYnJhbmNoOiAx
LjE2LjAKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtRGd0a19kb2M9ZGlzYWJsZWQKLS0gbmFtZTog
Z3N0LXBsdWdpbnMtYmFkCi0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBzb3VyY2VzOgotICAgIC0g
dHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9nc3Ry
ZWFtZXIvZ3N0LXBsdWdpbnMtYmFkLmdpdAotICAgICAgYnJhbmNoOiAxLjE2LjEKLSAgICAtIHR5
cGU6IHBhdGNoCi0gICAgICBwYXRoOiAuLi9nc3RyZWFtZXIvcGF0Y2hlcy9nc3QtcGx1Z2lucy1i
YWQtMDAwMS1oMjY0cGFyc2UtUG9zdC1hLVdBUk5JTkctd2hlbi1kYXRhLWlzLWJyb2tlbi5wYXRj
aAotICBjb25maWctb3B0czoKLSAgICAtIC1EZ3RrX2RvYz1kaXNhYmxlZAotICAgIC0gLURpbnRy
b3NwZWN0aW9uPWRpc2FibGVkCi0gICAgLSAtRGV4YW1wbGVzPWRpc2FibGVkCi0tIG5hbWU6IGZm
bXBlZwotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczov
L2ZmbXBlZy5vcmcvcmVsZWFzZXMvZmZtcGVnLTQuMC40LnRhci5negotICAgICAgc2hhMjU2OiA4
MGJiNjg1YWJmY2RkYTdjOWI2YzljNWNhZjFkOGRiYjkyNzg1ODA1MGQ3Mzc3YzJiOGYzNDg4Yzdl
OGE5YjdmCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1lbmFibGUtc3RhdGljCi0gICAgLSAtLWVu
YWJsZS1waWMKLSAgICAtIC0tZGlzYWJsZS1hdmRldmljZQotICAgIC0gLS1kaXNhYmxlLXBvc3Rw
cm9jCi0gICAgLSAtLWRpc2FibGUtc3dzY2FsZQotICAgIC0gLS1kaXNhYmxlLXByb2dyYW1zCi0g
ICAgLSAtLWRpc2FibGUtZmZwbGF5Ci0gICAgLSAtLWRpc2FibGUtZmZwcm9iZQotICAgIC0gLS1k
aXNhYmxlLWZmbXBlZwotICAgIC0gLS1kaXNhYmxlLWVuY29kZXI9ZmxhYwotICAgIC0gLS1kaXNh
YmxlLXByb3RvY29scwotICAgIC0gLS1kaXNhYmxlLWRldmljZXMKLSAgICAtIC0tZGlzYWJsZS1u
ZXR3b3JrCi0gICAgLSAtLWRpc2FibGUtaHdhY2NlbHMKLSAgICAtIC0tZGlzYWJsZS1keHZhMgot
ICAgIC0gLS1kaXNhYmxlLXZkcGF1Ci0gICAgLSAtLWRpc2FibGUtZmlsdGVycwotICAgIC0gLS1l
bmFibGUtZmlsdGVyPXlhZGlmCi0gICAgLSAtLWRpc2FibGUtZG9jCi0gICAgLSAtLWRpc2FibGUt
ZDNkMTF2YQotICAgIC0gLS1kaXNhYmxlLWR4dmEyCi0gICAgLSAtLWRpc2FibGUtYXVkaW90b29s
Ym94Ci0gICAgLSAtLWRpc2FibGUtdmlkZW90b29sYm94Ci0gICAgLSAtLWRpc2FibGUtdmFhcGkK
LSAgICAtIC0tZGlzYWJsZS1jcnlzdGFsaGQKLSAgICAtIC0tZGlzYWJsZS1tZWRpYWNvZGVjCi0g
ICAgLSAtLWRpc2FibGUtbnZlbmMKLSAgICAtIC0tZGlzYWJsZS1tbWFsCi0gICAgLSAtLWRpc2Fi
bGUtb214Ci0gICAgLSAtLWRpc2FibGUtb214LXJwaQotICAgIC0gLS1kaXNhYmxlLWN1ZGEKLSAg
ICAtIC0tZGlzYWJsZS1jdXZpZAotICAgIC0gLS1kaXNhYmxlLWxpYm1meAotICAgIC0gLS1kaXNh
YmxlLWxpYm5wcAotICAgIC0gLS1kaXNhYmxlLWljb252Ci0gICAgLSAtLWRpc2FibGUtam5pCi0g
ICAgLSAtLWRpc2FibGUtdjRsMl9tMm0KLSAgICAtIC0tZW5hYmxlLW9wdGltaXphdGlvbnMKLS0g
bmFtZTogZ3N0LWxpYmF2Ci0gIGJ1aWxkc3lzdGVtOiBtZXNvbgotICBidWlsZGRpcjogdHJ1ZQot
ICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczovL2dzdHJl
YW1lci5mcmVlZGVza3RvcC5vcmcvc3JjL2dzdC1saWJhdi9nc3QtbGliYXYtMS4xNi4xLnRhci54
egotICAgICAgc2hhMjU2OiBlOGE1NzQ4YWU5YTRhN2JlOTY5NjUxMjE4MmVhOWZmYTZlZmUwYmU5
Yjc5NzY5MTY1NDhlOWQ0MzgxY2E2MWM0Ci0gIGNvbmZpZy1vcHRzOgotICAgIC0gLURndGtfZG9j
PWRpc2FibGVkCi0KLS0gbmFtZTogbGliZ2NyeXB0ICMgU3BlZWR1cCBsaWJnY3J5cHQKLSAgc291
cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Rldi5nbnVwZy5vcmcv
c291cmNlL2xpYmdjcnlwdC5naXQKLSAgICAgIGJyYW5jaDogbGliZ2NyeXB0LTEuOC40Ci0gICAg
LSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogcGF0Y2hlcy9saWJnY3J5cHQtMDAwMS1Vc2UtcGtn
LWNvbmZpZy10by1kZXRlY3QtZ3BnLWVycm9yLnBhdGNoCi0gICAgLSB0eXBlOiBwYXRjaAotICAg
ICAgcGF0aDogLi4vZ3RrL3BhdGNoZXMvbGliZ2NyeXB0LXVzZS1vbmx5LWRldi11cmFuZG9tLWZv
ci10ZXN0aW5nLnBhdGNoCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1kaXNhYmxlLWRvYwotCi0t
IG5hbWU6IHBlcmwtY2dpLXBtCi0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFu
ZHM6Ci0gICAgLSBwZXJsIE1ha2VmaWxlLlBMIFBSRUZJWD0vYXBwIExJQj0vYXBwL2xpYi9wZXJs
LwotICAgIC0gbWFrZSBpbnN0YWxsCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBhcmNoaXZlCi0g
ICAgICB1cmw6IGh0dHBzOi8vY3Bhbi5tZXRhY3Bhbi5vcmcvYXV0aG9ycy9pZC9ML0xFL0xFRUpP
L0NHSS00LjM4LnRhci5negotICAgICAgc2hhMjU2OiA4YzU4ZjRhNTI5YmI5MmE5MTRiMjJiN2U2
NGM1ZTMxMTg1Yzk4NTRhNDA3MGE2ZGZhZDQ0ZmU1Y2MyNDhlN2Q0Ci0KLS0gbmFtZTogcHl0aG9u
Mi12aXJ0dWFsZW52Ci0gIGJ1aWxkc3lzdGVtOiBzaW1wbGUKLSAgYnVpbGQtY29tbWFuZHM6Ci0g
IC0gcGlwMiBpbnN0YWxsIC0tbm8taW5kZXggLS1maW5kLWxpbmtzPSJmaWxlOi8vJHtQV0R9IiAt
LXRhcmdldD0vYXBwL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy8gdmlydHVhbGVudgotICAt
IGxuIC1zIC9hcHAvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3ZpcnR1YWxlbnYucHkgL2Fw
cC9iaW4vdmlydHVhbGVudgotICAtIGNobW9kICt4IC9hcHAvYmluL3ZpcnR1YWxlbnYKLSAgc291
cmNlczoKLSAgLSB0eXBlOiBmaWxlCi0gICAgdXJsOiBodHRwczovL2ZpbGVzLnB5dGhvbmhvc3Rl
ZC5vcmcvcGFja2FnZXMvMzMvYmMvZmEwYjUzNDcxMzljZDk1NjRmMGQ0NGViZDJiMTQ3YWM5N2Mz
NmIyNDAzOTQzZGJlZThhMjVmZDc0MDEyL3ZpcnR1YWxlbnYtMTYuMC4wLnRhci5negotICAgIHNo
YTI1NjogY2EwN2I0YzBiNTRlMTRhOTFhZjlmMzRkMDkxOTc5MGIwMTY5MjNkMTU3YWZkYTVlZmRk
ZTU1Yzk2NzE4Zjc1MgotCi0tIG5hbWU6IGxpYmNhcC1uZwotICBzb3VyY2VzOgotICAgIC0gdHlw
ZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdGV2ZWdydWJiL2xpYmNhcC1u
ZwotICAgICAgYnJhbmNoOiB2MC43LjkKLSAgY29uZmlnLW9wdHM6Ci0gICAgLSAtLXdpdGgtcHl0
aG9uPW5vCi0gICAgLSAtLXdpdGgtcHl0aG9uMz1ubwotCi0tIG5hbWU6IGx6bzIKLSAgc291cmNl
czoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cDovL3d3dy5vYmVyaHVtZXIu
Y29tL29wZW5zb3VyY2UvbHpvL2Rvd25sb2FkL2x6by0yLjEwLnRhci5negotICAgICAgc2hhMTog
NDkyNDY3NmE5YmFlNWRiNThlZjEyOWRjMWNlYmNlM2JhYTNjNGI1ZAotCi0tIG5hbWU6IGljZWNj
Ci0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIu
Y29tL2ljZWNjL2ljZWNyZWFtCi0gICAgICB0YWc6ICIxLjIiCi0gICAgICBjb21taXQ6IGUzZDEw
YTMyYmM2YzA0NmQ4ZjNkMTE4MmU3NWM2NTlkNGIyOGVkNDkKLSAgY29uZmlnLW9wdHM6Ci0gICAg
LSAtLXdpdGhvdXQtbWFuCi0KLS0gbmFtZTogYnJvdGxpCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTog
YXJjaGl2ZQotICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9icm90bGkvYXJjaGl2
ZS92MS4wLjUudGFyLmd6Ci0gICAgc2hhMjU2OiAzZDViZWRkNDhlZGI5MDlmZTNiODdjYjk5Zjdk
MTM5Yjk4N2VmNmYxNjE2YjdlMjJkNzRlOTI4MjcwYTJmZDIwCi0gIGJ1aWxkc3lzdGVtOiBjbWFr
ZS1uaW5qYQotCi0tIG5hbWU6IHdvZmYyCi0gIHNvdXJjZXM6Ci0gIC0gdHlwZTogYXJjaGl2ZQot
ICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS93b2ZmMi9hcmNoaXZlL3YxLjAuMi50
YXIuZ3oKLSAgICBzaGEyNTY6IGFkZDI3MmJiMDllNjM4NGE0ODMzZmZjYTQ4OTYzNTBmZGIxNmUw
Y2EyMmRmNjhjMDM4NDc3M2M2N2ExNzU1OTQKLSAgYnVpbGRzeXN0ZW06IGNtYWtlLW5pbmphCi0K
LS0gbmFtZTogb3BlbmpwZWcKLSAgc291cmNlczoKLSAgLSB0eXBlOiBhcmNoaXZlCi0gICAgdXJs
OiBodHRwOi8vZ2l0aHViLmNvbS91Y2xvdXZhaW4vb3BlbmpwZWcvYXJjaGl2ZS92Mi4zLjAudGFy
Lmd6Ci0gICAgc2hhMjU2OiAzZGM3ODdjMWJiNjAyM2JhODQ2YzJhMGQ5YjFmNmUxNzlmMWNkMjU1
MTcyYmRlOWViNzViMDFmMWU2YzdkNzFhCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1uaW5qYQpkaWZm
IC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LkdUSy55YW1sIGIvVG9vbHMvZmxhdHBh
ay9vcmcud2Via2l0LkdUSy55YW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NjNi
NTYwNDQwODA0NWVkMDg3YzdjMjY3YTU5MzJiODRlNjMwZDNmLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5HVEsu
eWFtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyMyArMCwwIEBACi0tIG5hbWU6IG1lc2EKLSAgc291
cmNlczoKLSAgICAtIHR5cGU6IGFyY2hpdmUKLSAgICAgIHVybDogaHR0cHM6Ly9tZXNhLmZyZWVk
ZXNrdG9wLm9yZy9hcmNoaXZlL21lc2EtMTguMC4zLnRhci54egotICAgICAgc2hhMjU2OiAwOTlk
OTY2NzMyN2E3NmE2MTc0MWE1MzNmOTUwNjdkNzZlYTcxYTY1NmU2NmI5MTUwN2IzYzBjYWYxZDQ5
ZTMwCi0gIGNvbmZpZy1vcHRzOgotICAgIC0gLS1wcmVmaXg9L2FwcC9zb2Z0R0wKLSAgICAtIC0t
ZGlzYWJsZS1kcmkzCi0gICAgLSAtLWVuYWJsZS1kcmkKLSAgICAtIC0tZW5hYmxlLWdseAotICAg
IC0gLS1lbmFibGUtZWdsCi0gICAgLSAtLXdpdGgtZWdsLXBsYXRmb3Jtcz14MTEsd2F5bGFuZAot
ICAgIC0gLS13aXRoLWRyaS1kcml2ZXJzPXN3cmFzdAotICAgIC0gLS13aXRoLWdhbGxpdW0tZHJp
dmVycz1zd3Jhc3QKLQotLSBuYW1lOiB3ZWJraXRndGstdGVzdC1mb250cwotICBuby1hdXRvZ2Vu
OiB0cnVlCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9n
aXRodWIuY29tL1dlYktpdEdUSy93ZWJraXRndGstdGVzdC1mb250cy5naXQKLSAgYnVpbGRzeXN0
ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoKLSAgICAjIEZJWE1FOiBNYWtlIEFjdGl2YXRl
Rm9udFdQRSBzbWFydGVyLgotICAgIC0gbWFrZSBpbnN0YWxsIERFU1RESVI9L2FwcC9XZWJLaXRC
dWlsZC9EZXBlbmRlbmNpZXNHVEsvUm9vdAotCi0tIG5hbWU6IHhvcmctdXRpbC1tYWNyb3MKLSAg
c291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJl
ZWRlc2t0b3Aub3JnL2dpdC94b3JnL3V0aWwvbWFjcm9zLmdpdAotICAgICAgYnJhbmNoOiB1dGls
LW1hY3Jvcy0xLjE5LjIKLQotLSBuYW1lOiB4b3JnLWZvbnQtdXRpbAotICBzb3VyY2VzOgotICAg
IC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcv
Z2l0L3hvcmcvZm9udC91dGlsLmdpdAotICAgICAgYnJhbmNoOiBmb250LXV0aWwtMS4zLjEKLQot
LSBuYW1lOiB4a2JmaWxlCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBlOiBnaXQKLSAgICAgIGJyYW5j
aDogbGlieGtiZmlsZS0xLjAuOQotICAgICAgdXJsOiBodHRwczovL2Fub25naXQuZnJlZWRlc2t0
b3Aub3JnL2dpdC94b3JnL2xpYi9saWJ4a2JmaWxlLmdpdAotCi0tIG5hbWU6IGZvbnRlbmMKLSAg
c291cmNlczoKLSAgICAtIHR5cGU6IGdpdAotICAgICAgYnJhbmNoOiBsaWJmb250ZW5jLTEuMS4z
Ci0gICAgICB1cmw6IGh0dHBzOi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcvbGli
L2xpYmZvbnRlbmMuZ2l0Ci0KLS0gbmFtZTogeGZvbnQKLSAgc291cmNlczoKLSAgICAtIHR5cGU6
IGdpdAotICAgICAgYnJhbmNoOiBsaWJYZm9udDItMi4wLjMKLSAgICAgIHVybDogaHR0cHM6Ly9h
bm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy9saWIvbGliWGZvbnQuZ2l0Ci0KLS0gbmFt
ZTogeHZmYgotICBzb3VyY2VzOgotICAgIC0gdHlwZTogZ2l0Ci0gICAgICB1cmw6IGh0dHBzOi8v
YW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcveHNlcnZlci5naXQKLSAgICAgIGJyYW5j
aDogeG9yZy1zZXJ2ZXItMS4xOS42Ci0gICAgLSB0eXBlOiBwYXRjaAotICAgICAgcGF0aDogcGF0
Y2hlcy94dmZiLTAwMDEtSEFDSy1Bdm9pZC1jb21waWxpbmctYS1rYm0tZmlsZS5wYXRjaAotICAg
IC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6IC4uL2d0ay9wYXRjaGVzL3hzZXJ2ZXItcmVtb3Zl
LWJvZ3VzLWRlcGVuZGVuY2llcy5wYXRjaAotICAgIC0gdHlwZTogcGF0Y2gKLSAgICAgIHBhdGg6
IC4uL2d0ay9wYXRjaGVzL3hzZXJ2ZXItc2VhcmNoLWZvci1EUkktZHJpdmVycy1hdC1MSUJHTF9E
UklWRVJTX1BBVEgtZW52aXJvbi5wYXRjaAotICBjb25maWctb3B0czoKLSAgICAtIC0tZW5hYmxl
LXh2ZmIKLSAgICAtIC0tZGlzYWJsZS14d2F5bGFuZAotICAgIC0gLS1lbmFibGUteHZmYgotICAg
IC0gLS1kaXNhYmxlLXh3YXlsYW5kCi0gICAgLSAtLWRpc2FibGUteGluZXJhbWEKLSAgICAtIC0t
ZW5hYmxlLWdseAotICAgIC0gLS1lbmFibGUtY29tcG9zaXRlCi0gICAgLSAtLWRpc2FibGUteG9y
ZwotICAgIC0gLS1kaXNhYmxlLWRteAotICAgIC0gLS1kaXNhYmxlLXhuZXN0Ci0gICAgLSAtLWRp
c2FibGUteHF1YXJ0egotICAgIC0gLS1kaXNhYmxlLXh3aW4KLSAgICAtIC0tZGlzYWJsZS14ZXBo
eXIKLSAgICAtIC0tZGlzYWJsZS14ZmFrZQotICAgIC0gLS1kaXNhYmxlLXhmYmRldgotICAgIC0g
LS1kaXNhYmxlLWluc3RhbGwtc2V0dWlkCi0gICAgLSAtLWRpc2FibGUtdW5pdC10ZXN0cwotICAg
IC0gLS1kaXNhYmxlLXByZXNlbnQKLSAgICAtIC0tZW5hYmxlLXVuaXgtdHJhbnNwb3J0Ci0gICAg
LSAtLWVuYWJsZS10Y3AtdHJhbnNwb3J0Ci0gICAgLSAtLWRpc2FibGUtbG9jYWwtdHJhbnNwb3J0
Ci0gICAgLSAtLXdpdGhvdXQtZHRyYWNlCi0KLSMgUmVxdWlyZWQgZm9yIHJ1bi1ndGstdGVzdHMK
LS0gbmFtZTogcHljYWlybwotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1hbmRz
OgotICAtIHB5dGhvbjIgc2V0dXAucHkgaW5zdGFsbCAtLXByZWZpeD0vYXBwCi0gIHNvdXJjZXM6
Ci0gIC0gdHlwZTogYXJjaGl2ZQotICAgIHVybDogaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcGFj
a2FnZXMvZWYvOTcvYjMzZGM1MzNlYTYwNzZkNGVhOWNiZDJmZTA0OWEyYjRhM2RmNWM1YjZmYmE5
YTE4MjYxNmY2ZjhkMzEwL3B5Y2Fpcm8tMS4xNS40LnRhci5negotICAgIHNoYTI1NjogZWU0YzMw
NjhjMDQ4MjMwZTVjZTc0YmI4OTk0YTAyNDcxMTEyOWJkZTFhZjFkNzZlMzI3NmM3YWNkODFjNDM1
NwotICBjbGVhbnVwOgotICAtICIvaW5jbHVkZSIKLSAgLSAiL2xpYi9wa2djb25maWciCi0KLS0g
bmFtZTogcHlnb2JqZWN0LXB5dGhvbjIKLSAgYnVpbGQtb3B0aW9uczoKLSAgICBlbnY6Ci0gICAg
ICBQWVRIT046ICIvdXNyL2Jpbi9weXRob24yIgotICBzb3VyY2VzOgotICAtIHR5cGU6IGFyY2hp
dmUKLSAgICB1cmw6IGh0dHBzOi8vZG93bmxvYWQuZ25vbWUub3JnL3NvdXJjZXMvcHlnb2JqZWN0
LzMuMjgvcHlnb2JqZWN0LTMuMjguMS50YXIueHoKLSAgICBzaGEyNTY6IDQyMzEyYjRhNTAxNTU3
MWZhMGE0ZjJkMjAxMDA1ZGE0NmI3MWMyNTFlYTI2MjViYzk1NzAyZDA3MWM0ZmY4OTUKLSAgY2xl
YW51cDoKLSAgLSAiL2luY2x1ZGUiCi0gIC0gIi9saWIvcGtnY29uZmlnIgotICAtICIvbGliL3B5
dGhvbjIuNy9zaXRlLXBhY2thZ2VzL2dpLyoubGEiCi0KLS0gb3JnLndlYmtpdC5XUEVNb2R1bGVz
LnlhbWwKLQotLSBuYW1lOiBvcmcud2Via2l0LkdUSwotICBidWlsZHN5c3RlbTogc2ltcGxlCi0g
IGJ1aWxkLWNvbW1hbmRzOgotICAgIC0gL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9idWlsZC13
ZWJraXQgLS1ndGsgLS1wcmVmaXg9L2FwcAotCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL29y
Zy53ZWJraXQuV1BFLnlhbWwgYi9Ub29scy9mbGF0cGFrL29yZy53ZWJraXQuV1BFLnlhbWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjYmFiYmFhMGNiOGUxNThhZDQ0NDFmOThiNGQw
NTNhOGNiM2JhNzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRS55YW1sCisrKyAvZGV2L251bGwKQEAgLTEs
MTQgKzAsMCBAQAotLSBvcmcud2Via2l0LldQRU1vZHVsZXMueWFtbAotLSBuYW1lOiB3ZWJraXRn
dGstdGVzdC1mb250cwotICBuby1hdXRvZ2VuOiB0cnVlCi0gIHNvdXJjZXM6Ci0gICAgLSB0eXBl
OiBnaXQKLSAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL1dlYktpdEdUSy93ZWJraXRndGst
dGVzdC1mb250cy5naXQKLSAgYnVpbGRzeXN0ZW06IHNpbXBsZQotICBidWlsZC1jb21tYW5kczoK
LSAgICAjIEZJWE1FOiBNYWtlIEFjdGl2YXRlRm9udFdQRSBzbWFydGVyLgotICAgIC0gbWFrZSBp
bnN0YWxsIERFU1RESVI9L2FwcC9XZWJLaXRCdWlsZC9EZXBlbmRlbmNpZXNXUEUvUm9vdAotLSBu
YW1lOiBvcmcud2Via2l0LldQRQotICBidWlsZHN5c3RlbTogc2ltcGxlCi0gIGJ1aWxkLWNvbW1h
bmRzOgotICAgIC0gL2FwcC93ZWJraXQvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgLS13cGUg
LS1wcmVmaXg9L2FwcApkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRU1v
ZHVsZXMueWFtbCBiL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XUEVNb2R1bGVzLnlhbWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE4MGUyY2NiM2E0ZDk1MjJhNjA3OTM0YzA2ZTBh
ZjkyMDViZjAyMTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRU1vZHVsZXMueWFtbAorKysgL2Rldi9udWxs
CkBAIC0xLDEyICswLDAgQEAKLS0gbmFtZTogbGlid3BlCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1u
aW5qYQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczov
L3dwZXdlYmtpdC5vcmcvcmVsZWFzZXMvbGlid3BlLTEuNC4wLnRhci54egotICAgICAgc2hhMjU2
OiBlMmQzNDk0ZmMzM2ZlOTQ2YWQ5MTdmZDZhM2FiZDEyNzQ2MmI5MWJiYTYyZWY4YjM1NTA3ZTky
ZjhlZGU0MTg4Ci0tIG5hbWU6IHdwZWJhY2tlbmQtZmRvCi0gIGJ1aWxkc3lzdGVtOiBjbWFrZS1u
aW5qYQotICBzb3VyY2VzOgotICAgIC0gdHlwZTogYXJjaGl2ZQotICAgICAgdXJsOiBodHRwczov
L3dwZXdlYmtpdC5vcmcvcmVsZWFzZXMvd3BlYmFja2VuZC1mZG8tMS40LjAudGFyLnh6Ci0gICAg
ICBzaGEyNTY6IGE5MTljYTRhNWJjNDQ1Zjk0MTlhNWI3ZjM3ODFjZmM5OGU1YWJjZjVkNzI1OWVi
MTg2OWY1YWIyMGZkMThiYWYKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5X
UEVRVC55YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldQRVFULnlhbWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlMzY5NTdhNDYxYmMzNDc5YTM4ZWZmZGU2ZDk1OGJkMDA3
MjY3OGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9v
bHMvZmxhdHBhay9vcmcud2Via2l0LldQRVFULnlhbWwKKysrIC9kZXYvbnVsbApAQCAtMSwzOSAr
MCwwIEBACi1hcHAtaWQ6IG9yZy53ZWJraXQuV1BFUVQKLXJ1bnRpbWU6IG9yZy5rZGUuUGxhdGZv
cm0KLXJ1bnRpbWUtdmVyc2lvbjogIjUuMTIiCi0jIENvbnRyb2wgdGhlIGV4YWN0IHZlcnNpb24g
b2YgdGhlIFNkay9SdW50aW1lIHRoYXQgaXMgYmVpbmcgdXNlZC4KLXNkay1oYXNoOiBkNmVmYTI0
ZTI3YzFjODc4YWQ0ZmRlNzZiNzNjOTZhMTFiZTMyYjU5OGFlODdhZWZiZTMzOWVlNGJiMTlhOGJl
Ci1ydW50aW1lLWhhc2g6IDEwMTg3MWUwOTEwMDA2MTZhZDJiNjM1ZTA2YzQxNGViMGUxYzRlMWMz
NDI5MmEyMDVjNTIzOTkzNWVlNWVhNDQKLXNkazogb3JnLmtkZS5TZGsKLWNvbW1hbmQ6ICUoQ09N
TUFORClzCi1maW5pc2gtYXJnczoKLSAgIyBCYXNpY2FsbHkgbm8gc2FuZGJveGluZywgdGhlIGdv
YWwgaGVyZSBpcyB0byBtYWtlIGl0IGZsZXhpYmxlCi0gICMgZm9yIGRldmVsb3BlcnMsIG5vdCBy
ZWFsbHkgdG8gaXNvbGF0ZSAob3Blbm5pbmcgYWxsIGRldmljZXMKLSAgIyB0byBhbGxvdyBhY2Nl
cyB2aWRlbyBjYW1lcmFzIHVudGlsIHdlIGhhdmUgYSBwb3J0YWwgYXQgbGVhc3QpLgotICAtIC0t
c2hhcmU9aXBjCi0gIC0gLS1zb2NrZXQ9eDExCi0gIC0gLS1zb2NrZXQ9d2F5bGFuZAotICAtIC0t
ZGV2aWNlPWFsbAotICAtIC0tc2hhcmU9bmV0d29yawotICAtIC0tc29ja2V0PXB1bHNlYXVkaW8K
LSAgLSAtLXN5c3RlbS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9wLkdlb0NsdWUyCi0gIC0gLS1z
eXN0ZW0tdGFsay1uYW1lPW9yZy5hMTF5LkJ1cwotICAtIC0tZmlsZXN5c3RlbT1ob3N0Ci0gIC0g
LS1zb2NrZXQ9c3lzdGVtLWJ1cwotICAtIC0tdGFsay1uYW1lPW9yZy5mcmVlZGVza3RvcC5GbGF0
cGFrCi0gIC0gLS1lbnY9R1NUX1BSRVNFVF9QQVRIPS9hcHAvc2hhcmUvZ3N0cmVhbWVyLTEuMC9w
cmVzZXRzLwotYnVpbGQtb3B0aW9uczoKLSAgY2ZsYWdzOiAtTzIgLWcKLSAgY3h4ZmxhZ3M6IC1P
MiAtZwotICBzdHJpcDogZmFsc2UKLSAgbm8tZGVidWdpbmZvOiB0cnVlCi1tb2R1bGVzOgotICAt
IG9yZy53ZWJraXQuQ29tbW9uTW9kdWxlcy55YW1sCi0gIC0gb3JnLndlYmtpdC5XUEVNb2R1bGVz
LnlhbWwKLQotICAjIFRoaXMgbW9kdWxlIGlzIG5vdCBhY3R1YWxseSBidWlsdC4KLSAgLSBuYW1l
OiBvcmcud2Via2l0LldQRVFUCi0gICAgYnVpbGRzeXN0ZW06IGNtYWtlCi0gICAgc291cmNlczoK
LSAgICAtIHR5cGU6IGRpcgotICAgICAgcGF0aDogL2FwcC93ZWJraXQvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL3dwZS9xdApkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0
LldlYktpdC55YW1sIGIvVG9vbHMvZmxhdHBhay9vcmcud2Via2l0LldlYktpdC55YW1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNmQ2MTI2NjBkOGEyMDQ1ZGEzMTJmZGIwOTFiNzhl
NThhODA3ZTY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1Rvb2xzL2ZsYXRwYWsvb3JnLndlYmtpdC5XZWJLaXQueWFtbAorKysgL2Rldi9udWxsCkBAIC0x
LDMzICswLDAgQEAKLWFwcC1pZDogJShQT1JUTkFNRSlzCi1ydW50aW1lOiBvcmcuZ25vbWUuUGxh
dGZvcm0KLXJ1bnRpbWUtdmVyc2lvbjogIjMuMzIiCi0jIENvbnRyb2wgdGhlIGV4YWN0IHZlcnNp
b24gb2YgdGhlIFNkay9SdW50aW1lIHRoYXQgaXMgYmVpbmcgdXNlZC4KLXNkay1oYXNoOiBiM2I5
YjFkMWIxOWVhMmJiNzIwMTk0MjhjYTc1YzdhNzg0NTVlOTg2YTBmOTFkZGRmNmEyOWM5Mjk5MGNj
NWE3Ci1ydW50aW1lLWhhc2g6IDdjOWQ1NTkyZDgwNWQwYjdjMjEyMTkwZmQ4MTE4ZTRjNzhjYjhl
ZDhmODFlNjg3ODU4OTcyNjcwZGFjY2ZmNzYKLXNkazogb3JnLmdub21lLlNkawotY29tbWFuZDog
JShDT01NQU5EKXMKLWZpbmlzaC1hcmdzOgotICAjIEJhc2ljYWxseSBubyBzYW5kYm94aW5nLCB0
aGUgZ29hbCBoZXJlIGlzIHRvIG1ha2UgaXQgZmxleGlibGUKLSAgIyBmb3IgZGV2ZWxvcGVycywg
bm90IHJlYWxseSB0byBpc29sYXRlIChvcGVubmluZyBhbGwgZGV2aWNlcwotICAjIHRvIGFsbG93
IGFjY2VzIHZpZGVvIGNhbWVyYXMgdW50aWwgd2UgaGF2ZSBhIHBvcnRhbCBhdCBsZWFzdCkuCi0g
IC0gLS1zaGFyZT1pcGMKLSAgLSAtLXNvY2tldD14MTEKLSAgLSAtLXNvY2tldD13YXlsYW5kCi0g
IC0gLS1kZXZpY2U9YWxsCi0gIC0gLS1zaGFyZT1uZXR3b3JrCi0gIC0gLS1zb2NrZXQ9cHVsc2Vh
dWRpbwotICAtIC0tc3lzdGVtLXRhbGstbmFtZT1vcmcuZnJlZWRlc2t0b3AuR2VvQ2x1ZTIKLSAg
LSAtLXN5c3RlbS10YWxrLW5hbWU9b3JnLmExMXkuQnVzCi0gIC0gLS1maWxlc3lzdGVtPWhvc3QK
LSAgLSAtLXNvY2tldD1zeXN0ZW0tYnVzCi0gIC0gLS10YWxrLW5hbWU9b3JnLmZyZWVkZXNrdG9w
LkZsYXRwYWsKLSAgLSAtLWVudj1HU1RfUFJFU0VUX1BBVEg9L2FwcC9zaGFyZS9nc3RyZWFtZXIt
MS4wL3ByZXNldHMvCi1idWlsZC1vcHRpb25zOgotICBjZmxhZ3M6IC1PMiAtZwotICBjeHhmbGFn
czogLU8yIC1nCi0gIHN0cmlwOiBmYWxzZQotICBuby1kZWJ1Z2luZm86IHRydWUKLW1vZHVsZXM6
Ci0gIC0gb3JnLndlYmtpdC5Db21tb25Nb2R1bGVzLnlhbWwKLSAgIyBQb3J0IHNwZWNpZmljIGNv
bXBvbmVudHMuCi0gIC0gJShQT1JUTkFNRSlzLnlhbWwKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRw
YWsvcGF0Y2hlcy9odHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1k
ZXRlY3Rpb24ucGF0Y2ggYi9Ub29scy9mbGF0cGFrL3BhdGNoZXMvaHR0cGQtMDAwMS1jb25maWd1
cmUtdXNlLXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBkMzZhNjk0ZjI5MjNkMzUxZGI2ZjNmMTMzMjc2MDI4M2RhNzhmOWRl
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2Zs
YXRwYWsvcGF0Y2hlcy9odHRwZC0wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENS
RS1kZXRlY3Rpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1Gcm9tIGI1
ZWJlNDA0ZjEzODhkZGRhMzYwM2U1MzI3N2Y4N2UwYjk2YmE2OTUgTW9uIFNlcCAxNyAwMDowMDow
MCAyMDAxCi1Gcm9tOiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotRGF0
ZTogTW9uLCAxMSBKdW4gMjAxOCAxNjoxNDozOCAtMDQwMAotU3ViamVjdDogW1BBVENIXSBjb25m
aWd1cmU6IHVzZSBwa2ctY29uZmlnIGZvciBQQ1JFIGRldGVjdGlvbgotCi0tLS0KLSBjb25maWd1
cmUuaW4gfCAyNyArKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwg
NSBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3Vy
ZS5pbiBiL2NvbmZpZ3VyZS5pbgotaW5kZXggNzYxZTgzNi4uYjE1NWQ0YiAxMDA2NDQKLS0tLSBh
L2NvbmZpZ3VyZS5pbgotKysrIGIvY29uZmlndXJlLmluCi1AQCAtMjE1LDI4ICsyMTUsMTEgQEAg
ZmkKLSBBQ19BUkdfV0lUSChwY3JlLAotIEFQQUNIRV9IRUxQX1NUUklORygtLXdpdGgtcGNyZT1Q
QVRILFVzZSBleHRlcm5hbCBQQ1JFIGxpYnJhcnkpKQotIAotLUFDX1BBVEhfUFJPRyhQQ1JFX0NP
TkZJRywgcGNyZS1jb25maWcsIGZhbHNlKQotLWlmIHRlc3QgLWQgIiR3aXRoX3BjcmUiICYmIHRl
c3QgLXggIiR3aXRoX3BjcmUvYmluL3BjcmUtY29uZmlnIjsgdGhlbgotLSAgIFBDUkVfQ09ORklH
PSR3aXRoX3BjcmUvYmluL3BjcmUtY29uZmlnCi0tZWxpZiB0ZXN0IC14ICIkd2l0aF9wY3JlIjsg
dGhlbgotLSAgIFBDUkVfQ09ORklHPSR3aXRoX3BjcmUKLS1maQotLQotLWlmIHRlc3QgIiRQQ1JF
X0NPTkZJRyIgIT0gImZhbHNlIjsgdGhlbgotLSAgaWYgJFBDUkVfQ09ORklHIC0tdmVyc2lvbiA+
L2Rldi9udWxsIDI+JjE7IHRoZW4gOjsgZWxzZQotLSAgICBBQ19NU0dfRVJST1IoW0RpZCBub3Qg
ZmluZCBwY3JlLWNvbmZpZyBzY3JpcHQgYXQgJFBDUkVfQ09ORklHXSkKLS0gIGZpCi0tICBjYXNl
IGAkUENSRV9DT05GSUcgLS12ZXJzaW9uYCBpbgotLSAgW1sxLTVdLipdKQotLSAgICBBQ19NU0df
RVJST1IoW05lZWQgYXQgbGVhc3QgcGNyZSB2ZXJzaW9uIDYuMF0pCi0tICAgIDs7Ci0tICBlc2Fj
Ci0tICBBQ19NU0dfTk9USUNFKFtVc2luZyBleHRlcm5hbCBQQ1JFIGxpYnJhcnkgZnJvbSAkUENS
RV9DT05GSUddKQotLSAgQVBSX0FERFRPKFBDUkVfSU5DTFVERVMsIFtgJFBDUkVfQ09ORklHIC0t
Y2ZsYWdzYF0pCi0tICBBUFJfQUREVE8oUENSRV9MSUJTLCBbYCRQQ1JFX0NPTkZJRyAtLWxpYnNg
XSkKLS1lbHNlCi0tICBBQ19NU0dfRVJST1IoW3BjcmUtY29uZmlnIGZvciBsaWJwY3JlIG5vdCBm
b3VuZC4gUENSRSBpcyByZXF1aXJlZCBhbmQgYXZhaWxhYmxlIGZyb20gaHR0cDovL3BjcmUub3Jn
L10pCi0tZmkKLStQS0dfQ0hFQ0tfTU9EVUxFUyhbUENSRV0sIFtsaWJwY3JlXSwgWwotKyAgQUNf
REVGSU5FKFtIQVZFX1BDUkVdLCBbMV0sIFtEZWZpbmUgaWYgeW91IGhhdmUgUENSRSBsaWJyYXJ5
XSkKLStdLCBbCi0rICBBQ19NU0dfRVJST1IoWyRQQ1JFX1BLR19FUlJPUlNdKQotK10pCi0gQVBB
Q0hFX1NVQlNUKFBDUkVfTElCUykKLSAKLSBBQ19NU0dfTk9USUNFKFtdKQotLS0gCi0yLjE3LjEK
LQpkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9wYXRjaGVzL2xpYmdjcnlwdC0wMDAxLVVzZS1w
a2ctY29uZmlnLXRvLWRldGVjdC1ncGctZXJyb3IucGF0Y2ggYi9Ub29scy9mbGF0cGFrL3BhdGNo
ZXMvbGliZ2NyeXB0LTAwMDEtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRj
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzU3NzI3ZmJiOGIwOGI5MTk1YTVjMDk3
ZDZjNjFiOTA4YzY5MTc5YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Ub29scy9mbGF0cGFrL3BhdGNoZXMvbGliZ2NyeXB0LTAwMDEtVXNlLXBrZy1jb25m
aWctdG8tZGV0ZWN0LWdwZy1lcnJvci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExMCArMCww
IEBACi1Gcm9tIDlhZmYzZjFiMzQ0ZmM4NjY2YjE0YzU3NjI5MTYyYzJiOTAwN2NhZDggTW9uIFNl
cCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2Fs
aWEuY29tPgotRGF0ZTogRnJpLCAyOSBKdW4gMjAxOCAwOTowNTo1MiAtMDQwMAotU3ViamVjdDog
W1BBVENIXSBVc2UgcGtnLWNvbmZpZyB0byBkZXRlY3QgZ3BnLWVycm9yCi0KLS0tLQotIG00L2dw
Zy1lcnJvci5tNCB8IDg4ICsrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNzYgZGVsZXRpb25z
KC0pCi0KLWRpZmYgLS1naXQgYS9tNC9ncGctZXJyb3IubTQgYi9tNC9ncGctZXJyb3IubTQKLWlu
ZGV4IDE2NjEyMDRjLi41ZjlmMzNjMiAxMDA2NDQKLS0tLSBhL200L2dwZy1lcnJvci5tNAotKysr
IGIvbTQvZ3BnLWVycm9yLm00Ci1AQCAtNDEsODEgKzQxLDE3IEBAIEFDX0RFRlVOKFtBTV9QQVRI
X0dQR19FUlJPUl0sCi0gICBBQ19BUkdfV0lUSChncGctZXJyb3ItcHJlZml4LCwKLSAgICAgICAg
ICAgICAgIFtncGdfZXJyb3JfY29uZmlnX3ByZWZpeD0iJHdpdGh2YWwiXSkKLSAKLS0gIGlmIHRl
c3QgeCIke0dQR19FUlJPUl9DT05GSUd9IiA9IHggOyB0aGVuCi0tICAgICBpZiB0ZXN0IHgiJHtn
cGdfZXJyb3JfY29uZmlnX3ByZWZpeH0iICE9IHggOyB0aGVuCi0tICAgICAgICBHUEdfRVJST1Jf
Q09ORklHPSIke2dwZ19lcnJvcl9jb25maWdfcHJlZml4fS9iaW4vZ3BnLWVycm9yLWNvbmZpZyIK
LS0gICAgIGVsc2UKLS0gICAgICAgY2FzZSAiJHtTWVNST09UfSIgaW4KLS0gICAgICAgICAvKikK
LS0gICAgICAgICAgIGlmIHRlc3QgLXggIiR7U1lTUk9PVH0vYmluL2dwZy1lcnJvci1jb25maWci
IDsgdGhlbgotLSAgICAgICAgICAgICBHUEdfRVJST1JfQ09ORklHPSIke1NZU1JPT1R9L2Jpbi9n
cGctZXJyb3ItY29uZmlnIgotLSAgICAgICAgICAgZmkKLS0gICAgICAgICAgIDs7Ci0tICAgICAg
ICAgJycpCi0tICAgICAgICAgICA7OwotLSAgICAgICAgICAqKQotLSAgICAgICAgICAgQUNfTVNH
X1dBUk4oW0lnbm9yaW5nIFwkU1lTUk9PVCBhcyBpdCBpcyBub3QgYW4gYWJzb2x1dGUgcGF0aC5d
KQotLSAgICAgICAgICAgOzsKLS0gICAgICAgZXNhYwotLSAgICAgZmkKLS0gIGZpCi0rICBQS0df
Q0hFQ0tfTU9EVUxFUyhbR1BHX0VSUk9SXSwgW2dwZy1lcnJvcl0sIFsKLSsgICAgQUNfREVGSU5F
KFtIQVZFX0dQR19FUlJPUl0sIFsxXSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBncGctZXJyb3IgbGli
cmFyeV0pCi0gCi0tICBBQ19QQVRIX1BST0coR1BHX0VSUk9SX0NPTkZJRywgZ3BnLWVycm9yLWNv
bmZpZywgbm8pCi0tICBtaW5fZ3BnX2Vycm9yX3ZlcnNpb249aWZlbHNlKFskMV0sICwwLjAsJDEp
Ci0tICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIEdQRyBFcnJvciAtIHZlcnNpb24gPj0gJG1pbl9ncGdf
ZXJyb3JfdmVyc2lvbikKLS0gIG9rPW5vCi0tICBpZiB0ZXN0ICIkR1BHX0VSUk9SX0NPTkZJRyIg
IT0gIm5vIiBcCi0tICAgICAmJiB0ZXN0IC1mICIkR1BHX0VSUk9SX0NPTkZJRyIgOyB0aGVuCi0t
ICAgIHJlcV9tYWpvcj1gZWNobyAkbWluX2dwZ19lcnJvcl92ZXJzaW9uIHwgXAotLSAgICAgICAg
ICAgICAgIHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS9cMS8nYAotLSAgICByZXFf
bWlub3I9YGVjaG8gJG1pbl9ncGdfZXJyb3JfdmVyc2lvbiB8IFwKLS0gICAgICAgICAgICAgICBz
ZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXCkvXDIvJ2AKLS0gICAgZ3BnX2Vycm9yX2Nv
bmZpZ192ZXJzaW9uPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19hcmdzIC0t
dmVyc2lvbmAKLS0gICAgbWFqb3I9YGVjaG8gJGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbiB8IFwK
LS0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXCkuKi9cMS8n
YAotLSAgICBtaW5vcj1gZWNobyAkZ3BnX2Vycm9yX2NvbmZpZ192ZXJzaW9uIHwgXAotLSAgICAg
ICAgICAgICAgIHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS4qL1wyLydgCi0tICAg
IGlmIHRlc3QgIiRtYWpvciIgLWd0ICIkcmVxX21ham9yIjsgdGhlbgotLSAgICAgICAgb2s9eWVz
Ci0tICAgIGVsc2UKLS0gICAgICAgIGlmIHRlc3QgIiRtYWpvciIgLWVxICIkcmVxX21ham9yIjsg
dGhlbgotLSAgICAgICAgICAgIGlmIHRlc3QgIiRtaW5vciIgLWdlICIkcmVxX21pbm9yIjsgdGhl
bgotLSAgICAgICAgICAgICAgIG9rPXllcwotLSAgICAgICAgICAgIGZpCi0tICAgICAgICBmaQot
LSAgICBmaQotLSAgZmkKLS0gIGlmIHRlc3QgJG9rID0geWVzOyB0aGVuCi0tICAgIEdQR19FUlJP
Ul9DRkxBR1M9YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1jZmxh
Z3NgCi0tICAgIEdQR19FUlJPUl9MSUJTPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2Nv
bmZpZ19hcmdzIC0tbGlic2AKLS0gICAgR1BHX0VSUk9SX01UX0NGTEFHUz1gJEdQR19FUlJPUl9D
T05GSUcgJGdwZ19lcnJvcl9jb25maWdfYXJncyAtLW10IC0tY2ZsYWdzIDI+L2Rldi9udWxsYAot
LSAgICBHUEdfRVJST1JfTVRfTElCUz1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9jb25m
aWdfYXJncyAtLW10IC0tbGlicyAyPi9kZXYvbnVsbGAKLS0gICAgQUNfTVNHX1JFU1VMVChbeWVz
ICgkZ3BnX2Vycm9yX2NvbmZpZ192ZXJzaW9uKV0pCi0tICAgIGlmZWxzZShbJDJdLCAsIDosIFsk
Ml0pCi0tICAgIGdwZ19lcnJvcl9jb25maWdfaG9zdD1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19l
cnJvcl9jb25maWdfYXJncyAtLWhvc3QgMj4vZGV2L251bGwgfHwgZWNobyBub25lYAotLSAgICBp
ZiB0ZXN0IHgiJGdwZ19lcnJvcl9jb25maWdfaG9zdCIgIT0geG5vbmUgOyB0aGVuCi0tICAgICAg
aWYgdGVzdCB4IiRncGdfZXJyb3JfY29uZmlnX2hvc3QiICE9IHgiJGhvc3QiIDsgdGhlbgotLSAg
QUNfTVNHX1dBUk4oW1sKLS0qKioKLS0qKiogVGhlIGNvbmZpZyBzY3JpcHQgJEdQR19FUlJPUl9D
T05GSUcgd2FzCi0tKioqIGJ1aWx0IGZvciAkZ3BnX2Vycm9yX2NvbmZpZ19ob3N0IGFuZCB0aHVz
IG1heSBub3QgbWF0Y2ggdGhlCi0tKioqIHVzZWQgaG9zdCAkaG9zdC4KLS0qKiogWW91IG1heSB3
YW50IHRvIHVzZSB0aGUgY29uZmlndXJlIG9wdGlvbiAtLXdpdGgtZ3BnLWVycm9yLXByZWZpeAot
LSoqKiB0byBzcGVjaWZ5IGEgbWF0Y2hpbmcgY29uZmlnIHNjcmlwdCBvciB1c2UgXCRTWVNST09U
LgotLSoqKl1dKQotLSAgICAgICAgZ3BnX2NvbmZpZ19zY3JpcHRfd2Fybj0iJGdwZ19jb25maWdf
c2NyaXB0X3dhcm4gbGliZ3BnLWVycm9yIgotLSAgICAgIGZpCi0tICAgIGZpCi0tICBlbHNlCi0t
ICAgIEdQR19FUlJPUl9DRkxBR1M9IiIKLS0gICAgR1BHX0VSUk9SX0xJQlM9IiIKLS0gICAgR1BH
X0VSUk9SX01UX0NGTEFHUz0iIgotLSAgICBHUEdfRVJST1JfTVRfTElCUz0iIgotLSAgICBBQ19N
U0dfUkVTVUxUKG5vKQotLSAgICBpZmVsc2UoWyQzXSwgLCA6LCBbJDNdKQotLSAgZmkKLS0gIEFD
X1NVQlNUKEdQR19FUlJPUl9DRkxBR1MpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfTElCUykKLS0g
IEFDX1NVQlNUKEdQR19FUlJPUl9NVF9DRkxBR1MpCi0tICBBQ19TVUJTVChHUEdfRVJST1JfTVRf
TElCUykKLSsgICAgR1BHX0VSUk9SX01UX0NGTEFHUz0iJEdQR19FUlJPUl9DRkxBR1MiCi0rICAg
IEdQR19FUlJPUl9NVF9MSUJTPSItbHB0aHJlYWQgJEdQR19FUlJPUl9MSUJTIgotKwotKyAgICBB
Q19TVUJTVChHUEdfRVJST1JfQ0ZMQUdTKQotKyAgICBBQ19TVUJTVChHUEdfRVJST1JfTElCUykK
LSsgICAgQUNfU1VCU1QoR1BHX0VSUk9SX01UX0NGTEFHUykKLSsgICAgQUNfU1VCU1QoR1BHX0VS
Uk9SX01UX0xJQlMpCi0rICBdLCBbCi0rICAgIEFDX01TR19FUlJPUihbJEdQR19FUlJPUl9FUlJP
UlNdKQotKyAgXSkKLSBdKQotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBh
ay9wYXRjaGVzL3h2ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1hLWtibS1maWxlLnBhdGNo
IGIvVG9vbHMvZmxhdHBhay9wYXRjaGVzL3h2ZmItMDAwMS1IQUNLLUF2b2lkLWNvbXBpbGluZy1h
LWtibS1maWxlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OTg4NDJiMzgx
ZDI1MTQwZmJjMDhmNTRhOTcyMzBhNmRiZTRhNDUwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2ZsYXRwYWsvcGF0Y2hlcy94dmZiLTAwMDEtSEFD
Sy1Bdm9pZC1jb21waWxpbmctYS1rYm0tZmlsZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUw
ICswLDAgQEAKLUZyb20gYWVkMWI2ZThkZTQxMzc1YzFiOGIxZGZjNDhhMzUwZTBhOWI5Y2JiYSBN
b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVy
QGlnYWxpYS5jb20+Ci1EYXRlOiBNb24sIDExIEp1biAyMDE4IDEwOjU1OjQzIC0wNDAwCi1TdWJq
ZWN0OiBbUEFUQ0ggeHNlcnZlcl0gSEFDSzogQXZvaWQgY29tcGlsaW5nIGEga2JtIGZpbGUKLQot
VGhpcyB3b3VsZCBuZWVkIHRvIGJlIGluIC91c3Ivc2hhcmUvWDExLyBhcyB0aGlzIGlzIHdoZXJl
Ci1yZXNvdXJjZSBmaWxlcyBhcmUgaW4gdGhlIHNhbmRib3ggYnV0IGl0IGlzIHJlYWQgb25seSBp
biB0aGVyZS4KLQotSGFjayBhcm91bmQgdGhhdC4KLS0tLQotIHhrYi9kZHhMb2FkLmMgfCA5ICst
LS0tLS0tLQotIHhrYi94a2JJbml0LmMgfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2Vy
dGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS94a2IvZGR4TG9hZC5jIGIv
eGtiL2RkeExvYWQuYwotaW5kZXggYmJlMzk1Mi4uYTRhMDNhMSAxMDA2NDQKLS0tLSBhL3hrYi9k
ZHhMb2FkLmMKLSsrKyBiL3hrYi9kZHhMb2FkLmMKLUBAIC0xNDgsMTQgKzE0OCw3IEBAIFJ1blhr
YkNvbXAoeGtiY29tcF9idWZmZXJfY2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQgKnVzZXJkYXRhKQot
ICAgICAgICAgfQotICAgICB9Ci0gCi0tICAgIGlmIChhc3ByaW50ZigmYnVmLAotLSAgICAgICAg
ICAgICAgICAgIlwiJXMlc3hrYmNvbXBcIiAtdyAlZCAlcyAteGttIFwiJXNcIiAiCi0tICAgICAg
ICAgICAgICAgICAiLWVtMSAlcyAtZW1wICVzIC1lbWwgJXMgXCIlcyVzLnhrbVwiIiwKLS0gICAg
ICAgICAgICAgICAgIHhrYmJpbmRpciwgeGtiYmluZGlyc2VwLAotLSAgICAgICAgICAgICAgICAg
KCh4a2JEZWJ1Z0ZsYWdzIDwgMikgPyAxIDoKLS0gICAgICAgICAgICAgICAgICAoKHhrYkRlYnVn
RmxhZ3MgPiAxMCkgPyAxMCA6IChpbnQpIHhrYkRlYnVnRmxhZ3MpKSwKLS0gICAgICAgICAgICAg
ICAgIHhrYmJhc2VkaXJmbGFnID8geGtiYmFzZWRpcmZsYWcgOiAiIiwgeGttZmlsZSwKLS0gICAg
ICAgICAgICAgICAgIFBSRV9FUlJPUl9NU0csIEVSUk9SX1BSRUZJWCwgUE9TVF9FUlJPUl9NU0cx
LAotKyAgICBpZiAoYXNwcmludGYoJmJ1ZiwgImNwIC9hcHAvd2Via2l0L1Rvb2xzL2ZsYXRwYWsv
ZmlsZXMvZGVmYXVsdC54a20gXCIlcyVzLnhrbVwiIiwKLSAgICAgICAgICAgICAgICAgIHhrbV9v
dXRwdXRfZGlyLCBrZXltYXApID09IC0xKQotICAgICAgICAgYnVmID0gTlVMTDsKLSAKLWRpZmYg
LS1naXQgYS94a2IveGtiSW5pdC5jIGIveGtiL3hrYkluaXQuYwotaW5kZXggOWM3NzJmNS4uNGUw
Yjc3NCAxMDA2NDQKLS0tLSBhL3hrYi94a2JJbml0LmMKLSsrKyBiL3hrYi94a2JJbml0LmMKLUBA
IC04Nyw3ICs4Nyw3IEBAIHR5cGVkZWYgc3RydWN0IF9TcnZYa21JbmZvIHsKLSAjZGVmaW5lCVhL
Ql9ERkxUX1JVTEVTX1BST1AJVFJVRQotICNlbmRpZgotIAotLWNvbnN0IGNoYXIgKlhrYkJhc2VE
aXJlY3RvcnkgPSBYS0JfQkFTRV9ESVJFQ1RPUlk7Ci0rY29uc3QgY2hhciAqWGtiQmFzZURpcmVj
dG9yeSA9ICIvdXNyL3NoYXJlL1gxMS94a2IvIjsKLSBjb25zdCBjaGFyICpYa2JCaW5EaXJlY3Rv
cnkgPSBYS0JfQklOX0RJUkVDVE9SWTsKLSBzdGF0aWMgaW50IFhrYldhbnRBY2Nlc3NYID0gMDsK
LSAKLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVuZGVu
Y2llcyBiL1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVuZGVuY2llcwppbmRleCA2ZmQ1NjZmMGRjZjNj
NTE0MmY2OTBmZTJiMzkzYTZlMDNlNzllM2EzLi42M2I5Njc1ZmMwOTE4Y2VhMGQwZDZkZjFhNzkx
NGUzNWNjODEzZGQ2IDEwMDc1NQotLS0gYS9Ub29scy9ndGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMK
KysrIGIvVG9vbHMvZ3RrL2luc3RhbGwtZGVwZW5kZW5jaWVzCkBAIC0xNzgsNiArMTc4LDEwIEBA
IGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoQXB0IHsKICAgICAgICAgd2VzdG9uIFwK
ICAgICAgICAgeHZmYiIKIAorICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3Nhcnkg
Zm9yIGJ1aWxkaW5nIHdpdGggdGhlIEZsYXRwYWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2Fn
ZXMgXAorICAgICAgICBmbGF0cGFrIgorCiAgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5l
Y2Vzc2FyeSBmb3IgYnVpbGRpbmcgdGhlIGpoYnVpbGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdl
cyBcCiAgICAgICAgIGJpc29uIFwKQEAgLTM0OCw2ICszNTIsMTAgQEAgZnVuY3Rpb24gaW5zdGFs
bERlcGVuZGVuY2llc1dpdGhQYWNtYW4gewogICAgICAgICB3ZXN0b24gXAogICAgICAgICB4b3Jn
LXNlcnZlci14dmZiIgogCisgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBm
b3IgYnVpbGRpbmcgd2l0aCB0aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdl
cyBcCisgICAgICAgIGZsYXRwYWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVj
ZXNzYXJ5IGZvciBidWlsZGluZyB0aGUgamhidWlsZC4KICAgICAjIE5vdGU6IENvdWxkIG5vdCBm
aW5kIGxpYmVnbC1tZXNhCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCkBAIC01MjIsNiArNTMw
LDEwIEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoRG5mIHsKICAgICAgICAgd2Vz
dG9uLWRldmVsIFwKICAgICAgICAgeG9yZy14MTEtc2VydmVyLVh2ZmIiCiAKKyAgICAjIFRoZXNl
IGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB3aXRoIHRoZSBGbGF0cGFr
IFNESy4KKyAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAgICAgICAgZmxhdHBhayIKKwogICAg
ICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHRoZSBqaGJ1
aWxkLgogICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAogICAgICAgICBiaXNvbiBcCmRpZmYgLS1n
aXQgYS9Ub29scy93cGUvaW5zdGFsbC1kZXBlbmRlbmNpZXMgYi9Ub29scy93cGUvaW5zdGFsbC1k
ZXBlbmRlbmNpZXMKaW5kZXggY2ExY2QzZmRlZjBjYWY2NDY2ODIzZTVhOGVkOTJiNDQ3YzQ5MGFh
MS4uZjJhNWYyNWRlZDgzN2E5ZTkzNTI1NTRiNmQyZjJhZTFmMzUwNjI0ZCAxMDA3NTUKLS0tIGEv
VG9vbHMvd3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzCisrKyBiL1Rvb2xzL3dwZS9pbnN0YWxsLWRl
cGVuZGVuY2llcwpAQCAtMTExLDYgKzExMSwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5j
aWVzV2l0aEFwdCB7CiAgICAgICAgIHJ1YnktaGlnaGxpbmUgXAogICAgICAgICBydWJ5LWpzb24i
CiAKKyAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGluZyB3
aXRoIHRoZSBGbGF0cGFrIFNESy4KKyAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKKyAgICAgICAg
ZmxhdHBhayIKKwogICAgICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1
aWxkaW5nIHRoZSBqaGJ1aWxkLgogICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAogICAgICAgICBn
aXQgXApAQCAtMjE0LDYgKzIxOCwxMCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0
aFBhY21hbiB7CiAgICAgICAgIHJ1YnkgXAogICAgICAgICB0dGYtbGliZXJhdGlvbiIKIAorICAg
ICMgVGhlc2UgYXJlIGRlcGVuZGVuY2llcyBuZWNlc3NhcnkgZm9yIGJ1aWxkaW5nIHdpdGggdGhl
IEZsYXRwYWsgU0RLLgorICAgIHBhY2thZ2VzPSIkcGFja2FnZXMgXAorICAgICAgICBmbGF0cGFr
IgorCiAgICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcg
dGhlIGpoYnVpbGQuCiAgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCiAgICAgICAgIGV4cGF0IFwK
QEAgLTMyNiw2ICszMzQsMTAgQEAgZnVuY3Rpb24gaW5zdGFsbERlcGVuZGVuY2llc1dpdGhEbmYg
ewogICAgICAgICBydWJ5Z2VtLWhpZ2hsaW5lIFwKICAgICAgICAgcnVieWdlbS1qc29uIgogCisg
ICAgIyBUaGVzZSBhcmUgZGVwZW5kZW5jaWVzIG5lY2Vzc2FyeSBmb3IgYnVpbGRpbmcgd2l0aCB0
aGUgRmxhdHBhayBTREsuCisgICAgcGFja2FnZXM9IiRwYWNrYWdlcyBcCisgICAgICAgIGZsYXRw
YWsiCisKICAgICAjIFRoZXNlIGFyZSBkZXBlbmRlbmNpZXMgbmVjZXNzYXJ5IGZvciBidWlsZGlu
ZyB0aGUgamhidWlsZC4KICAgICBwYWNrYWdlcz0iJHBhY2thZ2VzIFwKICAgICAgICAgZXhwYXQt
ZGV2ZWwgXApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDM1Y2I1NjMzYTM3NTVjMTVhNWRhNWMzNTM3MmZiYWJmNTIxYjJiMjIu
LjBmMGIzYTU5NzAzY2YzOTA1ZjA0MDkxMjM2MDlhY2FiYjA3OWYzOGEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMiBAQAorMjAyMC0wMi0wNCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5j
b20+CisKKyAgICAgICAgW0dUS11bV1BFXSBNaWdyYXRlIHRvIEZsYXRwYWstYmFzZWQgZGV2IFNE
SworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NjU4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRw
L2NvbmYvZmxhdHBhay1odHRwZC5jb25mOiBBZGp1c3QgcGF0aHMuCisKIDIwMjAtMDMtMTEgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFVuc2tpcCBm
YXN0L21lZGlhc3RyZWFtIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL2NvbmYv
ZmxhdHBhay1odHRwZC5jb25mIGIvTGF5b3V0VGVzdHMvaHR0cC9jb25mL2ZsYXRwYWstaHR0cGQu
Y29uZgppbmRleCAzYzAzZTQyMzljMjQ5ODlkOWNkNzk2ODYxNDRiYzdjZTJiMzBjMzFiLi5iZjUy
MTVkNTg5YWQ2MWY4ODJkNTNhMDY3NWFkNjdhNDQ2YWI5NDNmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL2NvbmYvZmxhdHBhay1odHRwZC5jb25mCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
Y29uZi9mbGF0cGFrLWh0dHBkLmNvbmYKQEAgLTEsNSArMSw1IEBACiBTZXJ2ZXJUb2tlbnMgT1MK
LVNlcnZlclJvb3QgIi9hcHAvIgorU2VydmVyUm9vdCAiL3Vzci8iCiAKIFBpZEZpbGUgIi90bXAv
V2ViS2l0L2h0dHBkLnBpZCIKIFNjb3JlQm9hcmRGaWxlICIvdG1wL1dlYktpdC9odHRwZC5zY29y
ZWJvYXJkIgpAQCAtMzMsOSArMzMsNyBAQCBMb2FkTW9kdWxlIGxvZ19jb25maWdfbW9kdWxlICAg
IG1vZHVsZXMvbW9kX2xvZ19jb25maWcuc28KIExvYWRNb2R1bGUgc3NsX21vZHVsZSAgICAgICAg
ICAgbW9kdWxlcy9tb2Rfc3NsLnNvCiBMb2FkTW9kdWxlIHBocDdfbW9kdWxlICAgICAgICAgIG1v
ZHVsZXMvbGlicGhwNy5zbwogTG9hZE1vZHVsZSBhc2lzX21vZHVsZSAgICAgICAgICBtb2R1bGVz
L21vZF9hc2lzLnNvCi1Mb2FkTW9kdWxlIGVudl9tb2R1bGUgICAgICAgICAgIG1vZHVsZXMvbW9k
X2Vudi5zbwogCi1TZXRFbnYgUEVSTDVMSUIgL2FwcC9saWIvcGVybAogCiBTZXJ2ZXJOYW1lIDEy
Ny4wLjAuMQogCkBAIC01NCw3ICs1Miw3IEBAIEFjY2Vzc0ZpbGVOYW1lIC5odGFjY2VzcwogVXNl
Q2Fub25pY2FsTmFtZSBPbgogSG9zdG5hbWVMb29rdXBzIE9mZgogCi1UeXBlc0NvbmZpZyAvZXRj
L21pbWUudHlwZXMKK1R5cGVzQ29uZmlnIC91c3IvY29uZi9taW1lLnR5cGVzCiAKIExvZ0xldmVs
IHdhcm4KIExvZ0Zvcm1hdCAiJWggJWwgJXUgJXQgXCIlclwiICU+cyAlYiBcIiV7UmVmZXJlcn1p
XCIgXCIle1VzZXItQWdlbnR9aVwiIiBjb21iaW5lZAo=
</data>
<flag name="review"
          id="408611"
          type_id="1"
          status="+"
          setter="clopez"
    />
    <flag name="commit-queue"
          id="409145"
          type_id="3"
          status="-"
          setter="clopez"
    />
          </attachment>
      

    </bug>

</bugzilla>