<?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>222935</bug_id>
          
          <creation_ts>2021-03-08 12:53:25 -0800</creation_ts>
          <short_desc>[LayoutTests] Convert http/tests/cache convert PHP to Python</short_desc>
          <delta_ts>2021-04-01 18:07:37 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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=220749</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Gambrell">cgambrell</reporter>
          <assigned_to name="Chris Gambrell">cgambrell</assigned_to>
          <cc>ap</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>jbedard</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1737233</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-08 12:53:25 -0800</bug_when>
    <thetext>Replacing PHP with equivalent Python CGI scripts</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737235</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-08 12:54:37 -0800</bug_when>
    <thetext>&lt;rdar://problem/75183314&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738342</commentid>
    <comment_count>2</comment_count>
      <attachid>422893</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-10 19:48:42 -0800</bug_when>
    <thetext>Created attachment 422893
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738344</commentid>
    <comment_count>3</comment_count>
      <attachid>422895</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-10 19:58:26 -0800</bug_when>
    <thetext>Created attachment 422895
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738452</commentid>
    <comment_count>4</comment_count>
      <attachid>422933</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-11 08:23:58 -0800</bug_when>
    <thetext>Created attachment 422933
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738654</commentid>
    <comment_count>5</comment_count>
      <attachid>422977</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-11 15:08:15 -0800</bug_when>
    <thetext>Created attachment 422977
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738662</commentid>
    <comment_count>6</comment_count>
      <attachid>422981</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-11 15:21:03 -0800</bug_when>
    <thetext>Created attachment 422981
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738922</commentid>
    <comment_count>7</comment_count>
      <attachid>423056</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-12 09:13:58 -0800</bug_when>
    <thetext>Created attachment 423056
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739544</commentid>
    <comment_count>8</comment_count>
      <attachid>423204</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-15 11:28:01 -0700</bug_when>
    <thetext>Created attachment 423204
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739692</commentid>
    <comment_count>9</comment_count>
      <attachid>423204</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-15 15:13:58 -0700</bug_when>
    <thetext>Comment on attachment 423204
Patch

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

Biggest note is that I don&apos;t think our Windows bots have f strings available, although we can let EWS check that assumption

&gt; LayoutTests/http/tests/cache/post-redirect-get.php:-4
&gt; -// This test loads an uncacheable main resource and a cacheable image subresource.

We should keep this comment around

&gt; LayoutTests/http/tests/cache/post-redirect-get.py:12
&gt; +sys.path.insert(0, http_root)

No reason to do this if we aren&apos;t using any shared code

&gt; LayoutTests/http/tests/cache/post-redirect-get.py:27
&gt; +    f&apos;Expires: {expires}\r\n&apos;

f strings are introduced in Python 3.6....I think our Windows bots are using 3.5

&gt; LayoutTests/http/tests/cache/post-redirect-get.py:40
&gt; +    &apos;&lt;html&gt;\r\n&apos;

\r\n isn&apos;t going to be harmful here, but is there a reason we&apos;re doing \r\n instead of just \n?

&gt; LayoutTests/http/tests/cache/post-with-cached-subresources.py:18
&gt; +sys.path.insert(0, http_root)

We don&apos;t need this since we aren&apos;t importing any shared code

&gt; LayoutTests/http/tests/cache/reload-main-resource.py:9
&gt; +sys.path.insert(0, http_root)

We don&apos;t need this since we aren&apos;t importing any shared code

&gt; LayoutTests/http/tests/cache/disk-cache/resources/redirect-chain.py:24
&gt; +    f&apos;Location: redirect-chain.py?length={length}&amp;uniqueId={unique_id}&amp;random={randint(0, sys.maxsize)}\r\n\r\n&apos;

I think we need to avoid f strings because of Windows for the moment

&gt; LayoutTests/http/tests/cache/disk-cache/speculative-validation/resources/validation-request-frame.py:12
&gt; +    f&apos;Set-Cookie: {cookie}\r\n\r\n&apos;

I think we should avoid f string for the sake of our Windows bots

&gt; LayoutTests/http/tests/cache/resources/cacheable-iframe.py:10
&gt; +    f&apos;Cache-Control: public, max-age={max_age}\r\n&apos;

Ditto on the f strings

&gt; LayoutTests/http/tests/cache/resources/load-and-check-referer.py:7
&gt; +def contentType(path):

Existing function is fine as is, but might consider doing something like this:
{
    &apos;html&apos;: &apos;text/html&apos;,
    &apos;manifest&apos;: &apos;text/cache-manifest&apos;,
    ...
}.get(path.split(&apos;.&apos;)[-1], &apos;text/plain&apos;)

&gt; LayoutTests/http/tests/cache/resources/partitioned-cache-echo-state.py:9
&gt; +sys.path.insert(0, http_root)

We aren&apos;t using any shared code, so we don&apos;t need to edit the Python path

&gt; LayoutTests/http/tests/cache/resources/post-image-to-verify.py:1
&gt; +#!/usr/bin/env python3

Where is the file we&apos;re replacing?

&gt; LayoutTests/http/tests/cache/resources/reload-main-resource-iframe.py:10
&gt; +sys.path.insert(0, http_root)

We aren&apos;t using any shared code, so we don&apos;t need to edit the Python path

&gt; LayoutTests/http/tests/cache/resources/stylesheet304.php:-21
&gt; -?&gt;

Doesn&apos;t look live we&apos;ve replaced this file. Is it no longer in use?

&gt; LayoutTests/http/tests/resources/touch-temp-file.py:1
&gt; +#!/usr/bin/env python3

I don&apos;t see the file this is replacing.

&gt; LayoutTests/http/tests/resources/touch-temp-file.py:10
&gt; +sys.path.insert(0, http_root)

We aren&apos;t using any shared code, so we don&apos;t need to edit the Python path

&gt; LayoutTests/http/tests/resources/write-temp-file.py:1
&gt; +#!/usr/bin/env python3

I don&apos;t see the file we&apos;re replacing.

&gt; LayoutTests/http/tests/resources/write-temp-file.py:10
&gt; +sys.path.insert(0, http_root)

We aren&apos;t using any shared code, so we don&apos;t need to edit the Python path</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740076</commentid>
    <comment_count>10</comment_count>
      <attachid>423370</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-16 11:44:58 -0700</bug_when>
    <thetext>Created attachment 423370
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740081</commentid>
    <comment_count>11</comment_count>
      <attachid>423370</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-16 11:51:01 -0700</bug_when>
    <thetext>Comment on attachment 423370
Patch

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

&gt; LayoutTests/http/tests/cache/post-redirect-get.py:46
&gt; +    &apos;&lt;html&gt;\n&apos;

Fixed \r\n to \n

&gt; LayoutTests/http/tests/cache/resources/load-and-check-referer.py:7
&gt; +def contentType(path):

Converted func to your dictionary approach. Got errors when running test including images. Will look closer into changing to a dictionary approach the second pass with this directory with the more challenging conversions.

&gt; LayoutTests/http/tests/cache/resources/post-image-to-verify.py:1
&gt; +#!/usr/bin/env python3

Removing PHP equivalent.

&gt; LayoutTests/http/tests/cache/resources/stylesheet304.php:-1
&gt; -&lt;?php

No need to replace. No longer in use

&gt; LayoutTests/http/tests/resources/touch-temp-file.py:1
&gt; +#!/usr/bin/env python3

Still used by multiple .php files. This directory/tests are reference throughout http/tests so this will be the last directory for full conversion.

&gt; LayoutTests/http/tests/resources/write-temp-file.py:1
&gt; +#!/usr/bin/env python3

Still used by multiple .php files. This directory/tests are reference throughout http/tests so this will be the last directory for full conversion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740082</commentid>
    <comment_count>12</comment_count>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-16 11:52:24 -0700</bug_when>
    <thetext>(In reply to Chris Gambrell from comment #11)
&gt; Comment on attachment 423370 [details]
&gt; Patch
&gt; 

Waiting to convert the f strings back to regular strings with the .format modifier since previous patch passed EWS. If the conversion isn&apos;t needed, will leave it with f strings. If conversion is needed, I will push another patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740246</commentid>
    <comment_count>13</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-16 15:18:09 -0700</bug_when>
    <thetext>(In reply to Chris Gambrell from comment #12)
&gt; (In reply to Chris Gambrell from comment #11)
&gt; &gt; Comment on attachment 423370 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; 
&gt; Waiting to convert the f strings back to regular strings with the .format
&gt; modifier since previous patch passed EWS. If the conversion isn&apos;t needed,
&gt; will leave it with f strings. If conversion is needed, I will push another
&gt; patch.

Looks like I was wrong about the version of Python our Windows bots are running. The are running 3.6, we can use f-strings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740829</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-17 11:56:09 -0700</bug_when>
    <thetext>Committed r274574: &lt;https://commits.webkit.org/r274574&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423370.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743325</commentid>
    <comment_count>15</comment_count>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-24 08:46:06 -0700</bug_when>
    <thetext>Reopening to complete conversion of directory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743328</commentid>
    <comment_count>16</comment_count>
      <attachid>424137</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-24 08:56:55 -0700</bug_when>
    <thetext>Created attachment 424137
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743337</commentid>
    <comment_count>17</comment_count>
      <attachid>424139</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-24 09:11:09 -0700</bug_when>
    <thetext>Created attachment 424139
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743376</commentid>
    <comment_count>18</comment_count>
      <attachid>424151</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-24 10:14:43 -0700</bug_when>
    <thetext>Created attachment 424151
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745753</commentid>
    <comment_count>19</comment_count>
      <attachid>424151</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-31 13:25:47 -0700</bug_when>
    <thetext>Comment on attachment 424151
Patch

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

&gt; LayoutTests/http/tests/cache/resources/cache-control-redirect.py:10
&gt; +code = query.get(&apos;code&apos;, [None])[-1]

Should replace None with 302 and drop the if statement on line 15

&gt; LayoutTests/http/tests/cache/resources/x-frame-options.py:1
&gt; +#!/usr/bin/env python3

I don&apos;t see the file we are replacing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745898</commentid>
    <comment_count>20</comment_count>
      <attachid>424856</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-31 18:34:25 -0700</bug_when>
    <thetext>Created attachment 424856
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745899</commentid>
    <comment_count>21</comment_count>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-03-31 18:34:55 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #19)
&gt; Comment on attachment 424151 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=424151&amp;action=review
&gt; 
&gt; &gt; LayoutTests/http/tests/cache/resources/cache-control-redirect.py:10
&gt; &gt; +code = query.get(&apos;code&apos;, [None])[-1]
&gt; 
&gt; Should replace None with 302 and drop the if statement on line 15
&gt; 
&gt; &gt; LayoutTests/http/tests/cache/resources/x-frame-options.py:1
&gt; &gt; +#!/usr/bin/env python3
&gt; 
&gt; I don&apos;t see the file we are replacing

Fixed in Comment 20</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746265</commentid>
    <comment_count>22</comment_count>
      <attachid>424949</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-04-01 14:33:27 -0700</bug_when>
    <thetext>Created attachment 424949
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746266</commentid>
    <comment_count>23</comment_count>
      <attachid>424949</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-04-01 14:37:22 -0700</bug_when>
    <thetext>Comment on attachment 424949
Patch

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

&gt; LayoutTests/ChangeLog:13
&gt; +        * http/tests/cache/resources/x-frame-options.py: Added.

PHP counterpart not removed because of an issue with it and apply-patch. When r+&apos;d I will remove locally and land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746300</commentid>
    <comment_count>24</comment_count>
      <attachid>424949</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-01 15:39:08 -0700</bug_when>
    <thetext>Comment on attachment 424949
Patch

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

&gt; LayoutTests/http/tests/cache/resources/x-frame-options.py:15
&gt; +one_year = 12 * 31 * 24 * 60 * 60

Super weird way to represent a year, we usually use 365 instead of 12 * 31</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746352</commentid>
    <comment_count>25</comment_count>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-04-01 18:07:37 -0700</bug_when>
    <thetext>Committed r275399 (236063@main): &lt;https://commits.webkit.org/236063@main&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422893</attachid>
            <date>2021-03-10 19:48:42 -0800</date>
            <delta_ts>2021-03-10 19:58:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222935-20210310224841.patch</filename>
            <type>text/plain</type>
            <size>104976</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NDI2NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDEwNSBAQAorMjAyMS0wMy0xMCAgQ2hyaXMgR2FtYnJlbGwg
IDxjZ2FtYnJlbGxAYXBwbGUuY29tPgorCisgICAgICAgIFtMYXlvdXRUZXN0c10gQ29udmVydCBo
dHRwL3Rlc3RzL2NhY2hlIGNvbnZlcnQgUEhQIHRvIFB5dGhvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyOTM1CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS83NTE4MzMxND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvY2FjaGUtcmVkaXJlY3Rpb25zLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9jYWNoZS9jYWNoZWQtbWFpbi1yZXNvdXJjZS5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvY2FjaGVkRW50cnktd2FpdHMtZm9yLXJlc3BvbnNlLXBvbGlj
eS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvY29udGVudC10eXBlLWlnbm9yZWQt
ZHVyaW5nLXJldmFsaWRhdGlvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9kaXNrLWNhY2hlLXJlZGlyZWN0LXRvLWRhdGEuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZW1vdmUtc2V2ZXJhbC1wZW5kaW5n
LXdyaXRlcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZWRp
cmVjdC1jaGFpbi1saW1pdHMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvcmVzb3VyY2VzL2pzb24ucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvanNvbi5weTogQWRkZWQuCisgICAgICAgIChzZW5k
MzA0KToKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3Jl
ZGlyZWN0LWNoYWluLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rp
c2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LWNoYWluLnB5OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWRhdGEucGhw
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJj
ZXMvcmVkaXJlY3QtdG8tZGF0YS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vY2FjaGVhYmxlLXJlZGlyZWN0Lmh0
bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZh
bGlkYXRpb24vaHR0cC1hdXRoLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNr
LWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2NhY2hlYWJsZS1yZWRpcmVj
dC1mcmFtZS5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNh
Y2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2NhY2hlYWJsZS1yZWRpcmVjdC1m
cmFtZS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Nw
ZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2Nzcy10by1yZXZhbGlkYXRlLnBocDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUt
dmFsaWRhdGlvbi9yZXNvdXJjZXMvY3NzLXRvLXJldmFsaWRhdGUucHk6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jl
c291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRpY2F0ZWQtcmVzb3VyY2UucGhwOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0
aW9uL3Jlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRpY2F0ZWQtcmVzb3VyY2UucHk6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxp
ZGF0aW9uL3Jlc291cmNlcy9yZWRpcmVjdC10by1jc3MucGhwOiBSZW1vdmVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291
cmNlcy9yZWRpcmVjdC10by1jc3MucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13
aXRoLWF1dGgucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgu
cHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxh
dGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucGhwOiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2
ZS12YWxpZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucHk6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxp
ZGF0aW9uL3ZhbGlkYXRpb24tcmVxdWVzdC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvaGlzdG9yeS1uYXZpZ2F0aW9uLW5vLXJlc291cmNlLXJldmFsaWRhdGlvbi5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWw6CisgICAgICAg
ICogaHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtZGV0YWNoLmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9jYWNoZS9saW5rLXByZWZldGNoLW1haW4tcmVzb3VyY2UtaWZyYW1lLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9jYWNoZS9saW5rLXByZWZldGNoLW1haW4tcmVzb3VyY2UuaHRtbDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL21haW4tcmVzb3VyY2UtMzA0LXJlbG9hZC5odG1s
OgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucGhwOiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucHk6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNv
dXJjZXMucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRo
LWNhY2hlZC1zdWJyZXNvdXJjZXMucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvcmVjdXJzaXZlLXZhbGlkYXRpb24uaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hl
L3JlZGlyZWN0LXJlZmVyZXIuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3JlbG9h
ZC1tYWluLXJlc291cmNlLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hl
L3JlbG9hZC1tYWluLXJlc291cmNlLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9ib2R5LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9ib2R5LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0LnBocDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0LnB5OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtaWZy
YW1lLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9j
YWNoZWFibGUtaWZyYW1lLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRleHQucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5weTogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBocDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucHk6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNGJv
ZHkucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lm
cmFtZTMwNGJvZHkucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5waHA6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS1uZXh0LnB5
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1t
YWluLXJlc291cmNlLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS13aXRoLXZhbGlkYXRpb24ucGhwOiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLXdpdGgt
dmFsaWRhdGlvbi5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvcGVybWFuZW50LXJlZGlyZWN0LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucHk6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnB5OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4t
cmVzb3VyY2UtaWZyYW1lLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnB5OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3Vy
Y2UucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3By
ZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvcmVsb2FkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBocDogUmVtb3ZlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9yZWxvYWQtbWFpbi1yZXNvdXJj
ZS1pZnJhbWUucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L3Nsb3ctaWZyYW1lLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9zbG93LWlmcmFtZS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvc3R5bGVzaGVldC1odG1sLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwucHk6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQtYmFkLWNvbnRlbnQt
dHlwZS5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMv
c3R5bGVzaGVldDMwNC1iYWQtY29udGVudC10eXBlLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0MzA0LnBocDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdmctZGVmcy12YXJ5LnBocDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdmctZGVmcy12YXJ5LnB5
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94LWZyYW1lLW9w
dGlvbnMucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L3gtZnJhbWUtb3B0aW9ucy5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9y
ZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXJlc3BvbnNlLnBocDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItcmVzcG9uc2UucHk6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhl
YWRlci1zdWJmcmFtZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvc3R5bGVzaGVl
dC1zaGFyaW5nLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS92YXJ5LWZyYW1lbGVz
cy1kb2N1bWVudC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUveC1mcmFtZS1vcHRp
b25zLTMwNC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUveGhyLWJvZHkuaHRtbDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3hoci12YXJ5LWhlYWRlci5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi93aW5kb3ctb3Blbi1yZWRpcmVjdC1hbmQtcmVtb3Zl
LW9wZW5lci5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VzL3RvdWNoLXRlbXAt
ZmlsZS5weTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6
CisKIDIwMjEtMDMtMTAgIFBlbmcgTGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAg
ICBbR1BVIFByb2Nlc3NdIEFzc2VydGlvbiB1bmRlciBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNv
bXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cygpCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL2NhY2hlLXJlZGlyZWN0aW9ucy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvY2FjaGUtcmVkaXJlY3Rpb25zLmh0bWwJKHJldmlzaW9uIDI3
NDI1NSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY2FjaGUtcmVkaXJlY3Rpb25z
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE1LDcgKzE1LDcgQEAgdGVzdC5zdGVwKGZ1bmN0aW9u
KCkgewogCiB2YXIgY291bnRlciA9IDA7CiB2YXIgcmVzb3VyY2UgPSAiTm8iOwotdmFyIGJhc2VV
UkwgPSAicmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3Q/Y29kZT0zMDImdXJsPWNhY2hl
YWJsZS1yYW5kb20tdGV4dC5waHAmcmFuZG9tX2lkPTEiOwordmFyIGJhc2VVUkwgPSAicmVzb3Vy
Y2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3Q/Y29kZT0zMDImdXJsPWNhY2hlYWJsZS1yYW5kb20t
dGV4dC5weSZyYW5kb21faWQ9MSI7CiB2YXIgdGVzdENhc2VzID0gWwoge25hbWUgOiAiU2hvdWxk
IHJldXNlIHJlc291cmNlIChjYWNoZWFibGUgcmVkaXJlY3Rpb24pIiwgZXhwZWN0ZWQgOiB0cnVl
LCB1cmwgOiBiYXNlVVJMICsgIiZjYWNoZV9jb250cm9sPXB1YmxpYywgbWF4LWFnZT0xMDAwIiwg
cmVsb2FkRGVsYXkgOiAwfSwKIHtuYW1lIDogIlNob3VsZCByZWxvYWQgcmVzb3VyY2UgKG5vLXN0
b3JlIHJlZGlyZWN0aW9uKSIsIGV4cGVjdGVkIDogZmFsc2UsIHVybDogYmFzZVVSTCArICImY2Fj
aGVfY29udHJvbD1uby1zdG9yZSZtYXhfYWdlPTEwMDAiLCByZWxvYWREZWxheSA6IDB9LApJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jYWNoZWQtbWFpbi1yZXNvdXJjZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY2FjaGVkLW1haW4t
cmVzb3VyY2UuaHRtbAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9jYWNoZWQtbWFpbi1yZXNvdXJjZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMSw3
ICsxMSw3IEBAIGZ1bmN0aW9uIHJlbW92ZUFuZFJlbG9hZCgpCiB7CiAgICAgZG9jdW1lbnQuYm9k
eS5yZW1vdmVDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWZyYW1lIikpOwogICAgIHZh
ciBuZXdJZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBuZXdJ
ZnJhbWUuc3JjID0gInJlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnBocCI7CisgICAgbmV3SWZy
YW1lLnNyYyA9ICJyZXNvdXJjZXMvY2FjaGVhYmxlLWlmcmFtZS5weSI7CiAgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChuZXdJZnJhbWUpOwogICAgIHZhciBmcm9tQ2FjaGUgPSBpbnRlcm5h
bHMuaXNMb2FkaW5nRnJvbU1lbW9yeUNhY2hlKG5ld0lmcmFtZS5zcmMpOwogICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0
Tm9kZShmcm9tQ2FjaGUgPyAiUEFTUyIgOiAiRkFJTCIpKTsKQEAgLTE5LDYgKzE5LDYgQEAgZnVu
Y3Rpb24gcmVtb3ZlQW5kUmVsb2FkKCkKICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CiB9CiA8L3NjcmlwdD4KLTxpZnJhbWUgaWQ9ImlmcmFtZSIgc3JjPSJyZXNvdXJjZXMvY2FjaGVh
YmxlLWlmcmFtZS5waHAiPjwvaWZyYW1lPgorPGlmcmFtZSBpZD0iaWZyYW1lIiBzcmM9InJlc291
cmNlcy9jYWNoZWFibGUtaWZyYW1lLnB5Ij48L2lmcmFtZT4KIDwvYm9keT4KIDwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY2FjaGVkRW50cnktd2FpdHMtZm9yLXJl
c3BvbnNlLXBvbGljeS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvY2FjaGVkRW50cnktd2FpdHMtZm9yLXJlc3BvbnNlLXBvbGljeS5odG1sCShyZXZpc2lv
biAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2NhY2hlZEVudHJ5LXdh
aXRzLWZvci1yZXNwb25zZS1wb2xpY3kuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjAsMTAgKzIw
LDEwIEBAIGZ1bmN0aW9uIGNyZWF0ZUZyYW1lKHVybCkgewogICAgIH0pOwogfQogCi1jcmVhdGVG
cmFtZSgiL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRleHQucGhwIikudGhlbihm
dW5jdGlvbihmcmFtZSkgeworY3JlYXRlRnJhbWUoIi9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxl
LXJhbmRvbS10ZXh0LnB5IikudGhlbihmdW5jdGlvbihmcmFtZSkgewogICAgIGZyYW1lLnJlbW92
ZSgpOwogICAgIGludGVybmFscy5jbGVhck1lbW9yeUNhY2hlKCk7Ci0gICAgY3JlYXRlRnJhbWUo
Ii9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLXJhbmRvbS10ZXh0LnBocCIpLnRoZW4oZnVuY3Rp
b24oZnJhbWUpIHsKKyAgICBjcmVhdGVGcmFtZSgiL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUt
cmFuZG9tLXRleHQucHkiKS50aGVuKGZ1bmN0aW9uKGZyYW1lKSB7CiAgICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAg
IH0pOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jb250ZW50LXR5cGUtaWdu
b3JlZC1kdXJpbmctcmV2YWxpZGF0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9jb250ZW50LXR5cGUtaWdub3JlZC1kdXJpbmctcmV2YWxpZGF0aW9u
Lmh0bWwJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
Y29udGVudC10eXBlLWlnbm9yZWQtZHVyaW5nLXJldmFsaWRhdGlvbi5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDcgKzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgotICAg
IDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQtYmFk
LWNvbnRlbnQtdHlwZS5waHAiPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVz
b3VyY2VzL3N0eWxlc2hlZXQzMDQtYmFkLWNvbnRlbnQtdHlwZS5weSI+CiA8L2hlYWQ+CiA8Ym9k
eT4KICAgICA8ZGl2IGlkPSJ0ZXN0Ij5UaGlzIGRpdiBzaG91bGQgaGF2ZSBhIGdyZWVuIGJhY2tn
cm91bmQuPC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2hpc3Rvcnkt
bmF2aWdhdGlvbi1uby1yZXNvdXJjZS1yZXZhbGlkYXRpb24uaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2hpc3RvcnktbmF2aWdhdGlvbi1uby1yZXNvdXJj
ZS1yZXZhbGlkYXRpb24uaHRtbAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9oaXN0b3J5LW5hdmlnYXRpb24tbm8tcmVzb3VyY2UtcmV2YWxpZGF0aW9u
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTczLDcgKzczLDcgQEAKIAogICAgIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CiAgICAgICAgIC8vIE9wZW4gdGhlIHRhcmdldCB3aW5kb3cgYW5kIGl0IHdpbGwg
YmVnaW4gdG8gc2VuZCB1cyBtZXNzYWdlcy4KLSAgICAgICAgdGFyZ2V0ID0gd2luZG93Lm9wZW4o
J2h0dHBzOi8vMTI3LjAuMC4xOjg0NDMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVz
b3VyY2UucGhwJyk7CisgICAgICAgIHRhcmdldCA9IHdpbmRvdy5vcGVuKCdodHRwczovLzEyNy4w
LjAuMTo4NDQzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnB5Jyk7CiAg
ICAgfQogICAgIDwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvaWZyYW1lLTMwNC1jcmFzaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtMzA0
LWNyYXNoLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICsxLDggQEAKLWh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBocCAtIHdpbGxTZW5k
UmVxdWVzdCA8TlNVUkxSZXF1ZXN0IFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVz
b3VyY2VzL2lmcmFtZTMwNC5waHAsIG1haW4gZG9jdW1lbnQgVVJMIGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWwsIGh0dHAgbWV0aG9kIEdFVD4gcmVkaXJl
Y3RSZXNwb25zZSAobnVsbCkKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMv
aWZyYW1lMzA0LnB5IC0gd2lsbFNlbmRSZXF1ZXN0IDxOU1VSTFJlcXVlc3QgVVJMIGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5LCBtYWluIGRvY3VtZW50
IFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC5odG1sLCBo
dHRwIG1ldGhvZCBHRVQ+IHJlZGlyZWN0UmVzcG9uc2UgKG51bGwpCiBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC5odG1sIC0gZGlkRmluaXNoTG9hZGluZwotaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucGhwIC0gZGlkUmVj
ZWl2ZVJlc3BvbnNlIDxOU1VSTFJlc3BvbnNlIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9y
ZXNvdXJjZXMvaWZyYW1lMzA0LnBocCwgaHR0cCBzdGF0dXMgY29kZSAyMDA+Ci1odHRwOi8vMTI3
LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAgLSBkaWRGaW5pc2hMb2Fk
aW5nCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAg
LSB3aWxsU2VuZFJlcXVlc3QgPE5TVVJMUmVxdWVzdCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAw
L2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucGhwLCBtYWluIGRvY3VtZW50IFVSTCBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC5odG1sLCBodHRwIG1ldGhvZCBH
RVQ+IHJlZGlyZWN0UmVzcG9uc2UgKG51bGwpCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUv
cmVzb3VyY2VzL2lmcmFtZTMwNC5waHAgLSBkaWRSZWNlaXZlUmVzcG9uc2UgPE5TVVJMUmVzcG9u
c2UgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucGhwLCBo
dHRwIHN0YXR1cyBjb2RlIDMwND4KLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJj
ZXMvaWZyYW1lMzA0LnBocCAtIGRpZEZpbmlzaExvYWRpbmcKK2h0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5IC0gZGlkUmVjZWl2ZVJlc3BvbnNlIDxOU1VS
TFJlc3BvbnNlIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0
LnB5LCBodHRwIHN0YXR1cyBjb2RlIDIwMD4KK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9y
ZXNvdXJjZXMvaWZyYW1lMzA0LnB5IC0gZGlkRmluaXNoTG9hZGluZworaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucHkgLSB3aWxsU2VuZFJlcXVlc3QgPE5T
VVJMUmVxdWVzdCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJh
bWUzMDQucHksIG1haW4gZG9jdW1lbnQgVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9p
ZnJhbWUtMzA0LWNyYXNoLmh0bWwsIGh0dHAgbWV0aG9kIEdFVD4gcmVkaXJlY3RSZXNwb25zZSAo
bnVsbCkKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5
IC0gZGlkUmVjZWl2ZVJlc3BvbnNlIDxOU1VSTFJlc3BvbnNlIGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5LCBodHRwIHN0YXR1cyBjb2RlIDMwND4KK2h0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5IC0gZGlkRmlu
aXNoTG9hZGluZwogCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2lmcmFtZS0z
MDQtY3Jhc2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2lmcmFtZS0zMDQtY3Jhc2guaHRtbAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTEwLDcgKzEwLDcgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiBmdW5jdGlvbiByZW1vdmVB
bmRSZXBsYWNlSWZyYW1lKCkgewogICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImlmcmFtZSIpKTsKICAgICB2YXIgbmV3SWZyYW1lID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgbmV3SWZyYW1lLnNyYyA9ICJyZXNvdXJj
ZXMvaWZyYW1lMzA0LnBocCI7CisgICAgbmV3SWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvaWZyYW1l
MzA0LnB5IjsKICAgICBuZXdJZnJhbWUub25sb2FkID0gZnVuY3Rpb24oKSB7IHNldFRpbWVvdXQo
ZmluaXNoLCAwKTsgfQogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobmV3SWZyYW1lKTsK
IH0KQEAgLTIyLDYgKzIyLDYgQEAgZnVuY3Rpb24gZmluaXNoKCkgewogPC9zY3JpcHQ+CiA8L2hl
YWQ+CiA8Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQocmVtb3ZlQW5kUmVwbGFjZUlmcmFtZSwgMCki
PgotPGlmcmFtZSBpZD0iaWZyYW1lIiBzcmM9InJlc291cmNlcy9pZnJhbWUzMDQucGhwIj48L2lm
cmFtZT4KKzxpZnJhbWUgaWQ9ImlmcmFtZSIgc3JjPSJyZXNvdXJjZXMvaWZyYW1lMzA0LnB5Ij48
L2lmcmFtZT4KIDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvaWZyYW1lLWRldGFjaC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvaWZyYW1lLWRldGFjaC5odG1sCShyZXZpc2lvbiAyNzQyNTUpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2lmcmFtZS1kZXRhY2guaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMSw3ICsxLDcgQEAKIDxodG1sPgogPGJvZHk+CiA8ZGl2IGlkPSJzaGFkb3ciPgotPGlm
cmFtZSBzcmM9InJlc291cmNlcy9zbG93LWlmcmFtZS5waHAiPjwvaWZyYW1lPgorPGlmcmFtZSBz
cmM9InJlc291cmNlcy9zbG93LWlmcmFtZS5weSI+PC9pZnJhbWU+CiA8L2Rpdj4KIAogPGRpdiBp
ZD0iZW1wdHkiPjwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9saW5r
LXByZWZldGNoLW1haW4tcmVzb3VyY2UtaWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9saW5rLXByZWZldGNoLW1haW4tcmVzb3VyY2UtaWZyYW1l
Lmh0bWwJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
bGluay1wcmVmZXRjaC1tYWluLXJlc291cmNlLWlmcmFtZS5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0yMiw3ICsyMiw3IEBAIGZ1bmN0aW9uIGlmcmFtZUxvYWRGaW5pc2hlZCgpCiBmdW5jdGlvbiBs
b2FkQWZ0ZXJQcmVmZXRjaCgpCiB7CiAgICAgdmFyIG5ld0lmcmFtZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIG5ld0lmcmFtZS5zcmMgPSAiaHR0cDovL2xvY2FsaG9z
dDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBo
cCI7CisgICAgbmV3SWZyYW1lLnNyYyA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY2FjaGUvcmVz
b3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucHkiOwogICAgIG5ld0lmcmFt
ZS5vbmxvYWQgPSBpZnJhbWVMb2FkRmluaXNoZWQ7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChuZXdJZnJhbWUpOwogfQpAQCAtMzUsNyArMzUsNyBAQCB3aW5kb3cub25tZXNzYWdlID0g
ZnVuY3Rpb24obWVzc2FnZSkKIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgdmFyIGxpbmsgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7CiAgICAgbGluay5yZWwgPSAicHJlZmV0Y2gi
OwotICAgIGxpbmsuaHJlZiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY2FjaGUvcmVzb3VyY2Vz
L3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucGhwIjsKKyAgICBsaW5rLmhyZWYgPSAi
aHR0cDovL2xvY2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVz
b3VyY2UtaWZyYW1lLnB5IjsKICAgICBpZiAoaW50ZXJuYWxzKQogICAgICAgICBpbnRlcm5hbHMu
YWRkUHJlZmV0Y2hMb2FkRXZlbnRMaXN0ZW5lcihsaW5rLCAoKSA9PiB7IGxvYWRBZnRlclByZWZl
dGNoKCk7IH0pOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2xpbmstcHJlZmV0Y2gtbWFpbi1yZXNvdXJjZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvbGluay1wcmVm
ZXRjaC1tYWluLXJlc291cmNlLmh0bWwJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvbGluay1wcmVmZXRjaC1tYWluLXJlc291cmNlLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTcsMTMgKzcsMTMgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAKIGZ1
bmN0aW9uIGxvYWRBZnRlclByZWZldGNoKCkKIHsKLSAgICAgd2luZG93LmxvY2F0aW9uLmFzc2ln
bignaHR0cDovL2xvY2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4t
cmVzb3VyY2UucGhwJyk7CisgICAgIHdpbmRvdy5sb2NhdGlvbi5hc3NpZ24oJ2h0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLnB5Jyk7
CiB9CiAKIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJsaW5rIik7CiAgICAgbGluay5yZWwgPSAicHJlZmV0Y2giOwotICAgIGxpbmsu
aHJlZiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQt
bWFpbi1yZXNvdXJjZS5waHAiOworICAgIGxpbmsuaHJlZiA9ICJodHRwOi8vbG9jYWxob3N0Ojgw
MDAvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5weSI7CiAgICAgaWYg
KGludGVybmFscykKICAgICAgICAgaW50ZXJuYWxzLmFkZFByZWZldGNoTG9hZEV2ZW50TGlzdGVu
ZXIobGluaywgKCkgPT4geyBsb2FkQWZ0ZXJQcmVmZXRjaCgpOyB9KTsKICAgICBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGxpbmspOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9tYWluLXJlc291cmNlLTMwNC1yZWxvYWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL21haW4tcmVzb3VyY2UtMzA0LXJlbG9hZC5odG1sCShyZXZpc2lv
biAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL21haW4tcmVzb3VyY2Ut
MzA0LXJlbG9hZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMSw3ICsxMSw3IEBAIGZ1bmN0aW9u
IGxvYWRGcmFtZShvbmxvYWQpCiAgICAgaWYgKGlmcmFtZSkKICAgICAgICAgZG9jdW1lbnQuYm9k
eS5yZW1vdmVDaGlsZChpZnJhbWUpOwogICAgIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImlmcmFtZSIpOwotICAgIGlmcmFtZS5zcmMgPSAicmVzb3VyY2VzL2lmcmFtZTMwNGJvZHku
cGhwIjsKKyAgICBpZnJhbWUuc3JjID0gInJlc291cmNlcy9pZnJhbWUzMDRib2R5LnB5IjsKICAg
ICBpZnJhbWUub25sb2FkID0gb25sb2FkOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
aWZyYW1lKTsKIH0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRp
cmVjdC1nZXQucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cG9zdC1yZWRpcmVjdC1nZXQucGhwCShyZXZpc2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LnBocAkobm9uZXhpc3RlbnQpCkBAIC0x
LDYwICswLDAgQEAKLTw/cGhwCi1yZXF1aXJlX29uY2UgJy4uL3Jlc291cmNlcy9wb3J0YWJpbGl0
eUxheWVyLnBocCc7Ci0KLS8vIFRoaXMgdGVzdCBsb2FkcyBhbiB1bmNhY2hlYWJsZSBtYWluIHJl
c291cmNlIGFuZCBhIGNhY2hlYWJsZSBpbWFnZSBzdWJyZXNvdXJjZS4KLS8vIFdlIHRoZW4gdHJp
Z2dlciBhIFBPU1QgcmVxdWVzdCwgd2hpY2ggcmVkaXJlY3RzIGFzIGEgR0VUIGJhY2sgdG8gdGhp
cyBwYWdlLgotLy8gT24gdGhpcyBHRVQgcmVxdWVzdCwgdGhlIGltYWdlIHNob3VsZCBiZSBsb2Fk
ZWQgZnJvbSB0aGUgY2FjaGUgYW5kIG5vIEhUVFAKLS8vIHJlcXVlc3Qgc2hvdWxkIGJlIHNlbnQu
IFRoZSBpbWFnZSByZXNvdXJjZSB3aWxsIHJldHVybiA0MDQgaWYgaXQgcmVjZWl2ZXMKLS8vIGEg
c2Vjb25kIHJlcXVlc3QsIHdoaWNoIHdpbGwgY2F1c2UgdXMgdG8gRkFJTC4KLS8vIFNlZSBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg2OTAKLWhlYWRlcignQ2FjaGUt
Q29udHJvbDogbm8tY2FjaGUsIG5vLXN0b3JlLCBtdXN0LXJldmFsaWRhdGUsIG1heC1hZ2U9MCcp
OwotaGVhZGVyKCdQcmFnbWE6IG5vLWNhY2hlJyk7Ci1oZWFkZXIoJ0V4cGlyZXM6ICcgLiBnbWRh
dGUoREFURV9SRkMxMTIzLCB0aW1lKCktMSkpOwotCi1pZiAoJF9QT1NUWyJzdWJtaXQiXSA9PSAi
cmVkaXJlY3QiKSB7Ci0gICAgaGVhZGVyKCdIVFRQLzEuMSAzMDIgRm91bmQnKTsKLSAgICBoZWFk
ZXIoJ0xvY2F0aW9uOiBwb3N0LXJlZGlyZWN0LWdldC5waHA/ZmluaXNoPXRydWUnKTsKLSAgICBl
eGl0KCk7Ci19Ci0/PgotPGh0bWw+Ci08Ym9keT4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Ci08
c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci19Ci0gICAgCi1mdW5jdGlv
biBsb2dBbmRGaW5pc2gobWVzc2FnZSkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cmVzdWx0IikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobWVzc2FnZSkpOwot
ICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7Ci0gICAgeGhyLm9wZW4oIkdFVCIsICIu
Li9yZXNvdXJjZXMvcmVzZXQtdGVtcC1maWxlLnBocD9maWxlbmFtZT1jYWNoZV9wb3N0LXJlZGly
ZWN0LWdldF9zdGF0ZSIsIGZhbHNlKTsKLSAgICB4aHIuc2VuZChudWxsKTsKLSAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfQotPC9z
Y3JpcHQ+Ci08P3BocAotY2xlYXJzdGF0Y2FjaGUoKTsKLWlmICgkX0dFVFsiZmluaXNoIl0gPT0g
InRydWUiKSB7Ci0gICAgLy8gVGhlIGluaXRpYWwgbG9hZCBvZiB0aGUgaW1hZ2UgbWlnaHQgaGF2
ZSBiZWVuIGRvbmUgZnJvbSB0aGUgY2FjaGUuIEluIHRoYXQgY2FzZSwgdG91Y2ggdGhlCi0gICAg
Ly8gc3RhdGUgZmlsZSB0byBpbmRpY2F0ZSBhIGxvYWQgaGFzIGFscmVhZHkgb2NjdXJyZWQuCi0g
ICAgaWYgKCFmaWxlX2V4aXN0cyhzeXNfZ2V0X3RlbXBfZGlyKCkgLiAiL2NhY2hlX3Bvc3QtcmVk
aXJlY3QtZ2V0X3N0YXRlIikpIHsKLSAgICAgICAgZWNobyAiPHNjcmlwdD4iOwotICAgICAgICBl
Y2hvICJ4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7IjsKLSAgICAgICAgZWNobyAieGhyLm9wZW4o
J0dFVCcsICcuLi9yZXNvdXJjZXMvdG91Y2gtdGVtcC1maWxlLnBocD9maWxlbmFtZT1jYWNoZV9w
b3N0LXJlZGlyZWN0LWdldF9zdGF0ZScsIGZhbHNlKTsiOwotICAgICAgICBlY2hvICJ4aHIuc2Vu
ZChudWxsKTsiOwotICAgICAgICBlY2hvICI8L3NjcmlwdD4iOwotICAgIH0KLSAgICBlY2hvICI8
aW1nIHNyYz0ncmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnBocD90ZXN0PWNhY2hlX3Bv
c3QtcmVkaXJlY3QtZ2V0JyBvbmxvYWQ9XCJsb2dBbmRGaW5pc2goJ1BBU1MnKTtcIiBvbmVycm9y
PVwibG9nQW5kRmluaXNoKCdGQUlMJyk7XCI+PC9pbWc+IjsKLX0gZWxzZSB7Ci0gICAgZWNobyAi
PGZvcm0gYWN0aW9uPSdwb3N0LXJlZGlyZWN0LWdldC5waHAnIG1ldGhvZD0ncG9zdCc+IjsKLSAg
ICBlY2hvICI8aW5wdXQgdHlwZT0nc3VibWl0JyBpZD0nc3VibWl0JyBuYW1lPSdzdWJtaXQnIHZh
bHVlPSdyZWRpcmVjdCc+IjsKLSAgICBlY2hvICI8L2Zvcm0+IjsKLSAgICBlY2hvICI8aW1nIHNy
Yz0ncmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnBocD90ZXN0PWNhY2hlX3Bvc3QtcmVk
aXJlY3QtZ2V0JyBvbmxvYWQ9XCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3VibWl0JykuY2xp
Y2soKTtcIiBvbmVycm9yPVwibG9nQW5kRmluaXNoKCdGQUlMIG9uIGluaXRpYWwgbG9hZCcpO1wi
PjwvaW1nPiI7Ci19IAotPz4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC5weQkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODMgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKwor
aW1wb3J0IGNnaQoraW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgdGVtcGZpbGUKK2Zyb20g
ZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lZGVsdGEKK2Zyb20gdXJsbGliLnBhcnNlIGlt
cG9ydCBwYXJzZV9xcworCitmaWxlID0gX19maWxlX18uc3BsaXQoJzovY3lnd2luJylbLTFdCito
dHRwX3Jvb3QgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0
aChvcy5wYXRoLmRpcm5hbWUoZmlsZSkpKSkKK3N5cy5wYXRoLmluc2VydCgwLCBodHRwX3Jvb3Qp
CisKK3JlcXVlc3RfbWV0aG9kID0gb3MuZW52aXJvbi5nZXQoJ1JFUVVFU1RfTUVUSE9EJywgJycp
CitleHBpcmVzID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1lLnV0Y25vdygpIC0gdGltZWRl
bHRhKHNlY29uZHM9MSkpLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06JVMnKSkKK2Zpbmlz
aCA9IHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAnJyksIGtlZXBfYmxh
bmtfdmFsdWVzPVRydWUpLmdldCgnZmluaXNoJywgWycnXSlbMF0KKworcmVxdWVzdCA9IHt9Citp
ZiByZXF1ZXN0X21ldGhvZCA9PSAnUE9TVCc6CisgICAgZm9ybSA9IGNnaS5GaWVsZFN0b3JhZ2Uo
KQorICAgIGZvciBrZXkgaW4gc29ydGVkKGZvcm0ua2V5cygpKToKKyAgICAgICAgcmVxdWVzdFtr
ZXldID0gZm9ybS5nZXR2YWx1ZShrZXkpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NhY2hl
LUNvbnRyb2w6IG5vLWNhY2hlLCBuby1zdG9yZSwgbXVzdC1yZXZhbGlkYXRlLCBtYXgtYWdlPTBc
clxuJworICAgICdQcmFnbWE6IG5vLWNhY2hlXHJcbicKKyAgICBmJ0V4cGlyZXM6IHtleHBpcmVz
fVxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcbicKKykKKworaWYgcmVxdWVz
dC5nZXQoJ3N1Ym1pdCcsICcnKSA9PSAncmVkaXJlY3QnOgorICAgIHN5cy5zdGRvdXQud3JpdGUo
CisgICAgICAgICdzdGF0dXM6IDMwMlxyXG4nCisgICAgICAgICdMb2NhdGlvbjogcG9zdC1yZWRp
cmVjdC1nZXQucHk/ZmluaXNoPXRydWVcclxuXHJcbicKKyAgICApCisgICAgc3lzLmV4aXQoMCkK
Kworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnXHJcbicKKyAgICAnPGh0bWw+XHJcbicKKyAgICAn
PGJvZHk+XHJcbicKKyAgICAnPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj5cclxuJworICAgICc8c2Ny
aXB0PlxyXG4nCisgICAgJ2lmICh3aW5kb3cudGVzdFJ1bm5lcikge1xyXG4nCisgICAgJyAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTtcclxuJworICAgICcgICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7XHJcbicKKyAgICAnfVxyXG4nCisgICAgJyAgICBcclxuJworICAgICdmdW5jdGlv
biBsb2dBbmRGaW5pc2gobWVzc2FnZSlcclxuJworICAgICd7XHJcbicKKyAgICAnICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZShtZXNzYWdlKSk7XHJcbicKKyAgICAnICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJl
cXVlc3Q7XHJcbicKKyAgICAnICAgIHhoci5vcGVuKCJHRVQiLCAiLi4vcmVzb3VyY2VzL3Jlc2V0
LXRlbXAtZmlsZS5weT9maWxlbmFtZT1jYWNoZV9wb3N0LXJlZGlyZWN0LWdldF9zdGF0ZSIsIGZh
bHNlKTtcclxuJworICAgICcgICAgeGhyLnNlbmQobnVsbCk7XHJcbicKKyAgICAnICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcilcclxuJworICAgICcgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpO1xyXG4nCisgICAgJ31cclxuJworICAgICc8L3NjcmlwdD5cclxuJworKQorCitpZiBmaW5p
c2ggPT0gJ3RydWUnOgorICAgIHRtcEZpbGUgPSBvcy5wYXRoLmpvaW4odGVtcGZpbGUuZ2V0dGVt
cGRpcigpLCAnY2FjaGVfcG9zdC1yZWRpcmVjdC1nZXRfc3RhdGUnKQorICAgIGlmIG5vdCBvcy5w
YXRoLmlzZmlsZSh0bXBGaWxlKToKKyAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAg
ICAgICc8c2NyaXB0PicKKyAgICAgICAgICAgICd4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7Jwor
ICAgICAgICAgICAgJ3hoci5vcGVuKFwnR0VUXCcsIFwnLi4vcmVzb3VyY2VzL3RvdWNoLXRlbXAt
ZmlsZS5weT9maWxlbmFtZT1jYWNoZV9wb3N0LXJlZGlyZWN0LWdldF9zdGF0ZVwnLCBmYWxzZSk7
JworICAgICAgICAgICAgJ3hoci5zZW5kKG51bGwpOycKKyAgICAgICAgICAgICc8L3NjcmlwdD4n
CisgICAgICAgICkKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCc8aW1nIHNyYz1cJ3Jlc291cmNlcy9w
b3N0LWltYWdlLXRvLXZlcmlmeS5waHA/dGVzdD1jYWNoZV9wb3N0LXJlZGlyZWN0LWdldFwnIG9u
bG9hZD0ibG9nQW5kRmluaXNoKFwnUEFTU1wnKTsiIG9uZXJyb3I9ImxvZ0FuZEZpbmlzaChcJ0ZB
SUxcJyk7Ij48L2ltZz4nKQorZWxzZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAn
PGZvcm0gYWN0aW9uPVwncG9zdC1yZWRpcmVjdC1nZXQucHlcJyBtZXRob2Q9XCdwb3N0XCc+Jwor
ICAgICAgICAnPGlucHV0IHR5cGU9XCdzdWJtaXRcJyBpZD1cJ3N1Ym1pdFwnIG5hbWU9XCdzdWJt
aXRcJyB2YWx1ZT1cJ3JlZGlyZWN0XCc+JworICAgICAgICAnPC9mb3JtPicKKyAgICAgICAgJzxp
bWcgc3JjPVwncmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnB5P3Rlc3Q9Y2FjaGVfcG9z
dC1yZWRpcmVjdC1nZXRcJyBvbmxvYWQ9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwnc3VibWl0
XCcpLmNsaWNrKCk7IiBvbmVycm9yPSJsb2dBbmRGaW5pc2goXCdGQUlMIG9uIGluaXRpYWwgbG9h
ZFwnKTsiPjwvaW1nPicKKyAgICApCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJzwvYm9keT5c
bicKKyAgICAnPC9odG1sPlxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVj
dC1nZXQucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIwor
KgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLnBocAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVz
b3VyY2VzLnBocAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy5waHAJKG5vbmV4aXN0ZW50KQpAQCAt
MSw1NCArMCwwIEBACi08P3BocAotcmVxdWlyZV9vbmNlICcuLi9yZXNvdXJjZXMvcG9ydGFiaWxp
dHlMYXllci5waHAnOwotCi0vLyBUaGlzIHRlc3QgbG9hZHMgYW4gdW5jYWNoZWFibGUgbWFpbiBy
ZXNvdXJjZSBhbmQgYSBjYWNoZWFibGUgaW1hZ2Ugc3VicmVzb3VyY2UuCi0vLyBXZSByZXF1ZXN0
IHRoaXMgcGFnZSBhcyBhIEdFVCwgdGhlbiByZWxvYWQgdGhpcyBwYWdlIHdpdGggYSBQT1NULgot
Ly8gT24gdGhlIHBvc3QgcmVxdWVzdCwgdGhlIGltYWdlIHNob3VsZCBiZSBsb2FkZWQgZnJvbSB0
aGUgY2FjaGUgYW5kIG5vIEhUVFAKLS8vIHJlcXVlc3Qgc2hvdWxkIGJlIHNlbnQuIFRoZSBpbWFn
ZSByZXNvdXJjZSB3aWxsIHJldHVybiA0MDQgaWYgaXQgcmVjZWl2ZXMKLS8vIGEgc2Vjb25kIHJl
cXVlc3QsIHdoaWNoIHdpbGwgY2F1c2UgdXMgdG8gRkFJTC4KLS8vIFNlZSBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg2OTAKLWhlYWRlcignQ2FjaGUtQ29udHJvbDog
bm8tY2FjaGUsIG5vLXN0b3JlLCBtdXN0LXJldmFsaWRhdGUsIG1heC1hZ2U9MCcpOwotaGVhZGVy
KCdQcmFnbWE6IG5vLWNhY2hlJyk7Ci1oZWFkZXIoJ0V4cGlyZXM6ICcgLiBnbWRhdGUoREFURV9S
RkMxMTIzLCB0aW1lKCktMSkpOwotPz4KLTxodG1sPgotPGJvZHk+Ci08ZGl2IGlkPSJyZXN1bHQi
PjwvZGl2PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotfQotICAg
IAotZnVuY3Rpb24gbG9nQW5kRmluaXNoKG1lc3NhZ2UpCi17Ci0gICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInJlc3VsdCIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1l
c3NhZ2UpKTsKLSAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0OwotICAgIHhoci5vcGVu
KCJHRVQiLCAiLi4vcmVzb3VyY2VzL3Jlc2V0LXRlbXAtZmlsZS5waHA/ZmlsZW5hbWU9Y2FjaGVf
cG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXNfc3RhdGUiLCBmYWxzZSk7Ci0gICAgeGhyLnNl
bmQobnVsbCk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKLX0KLTwvc2NyaXB0PgotPD9waHAKLWNsZWFyc3RhdGNhY2hlKCk7Ci1p
ZiAoJF9QT1NUWyJzdWJtaXQiXSA9PSAiZmluaXNoIikgewotICAgIC8vIFRoZSBpbml0aWFsIGxv
YWQgb2YgdGhlIGltYWdlIG1pZ2h0IGhhdmUgYmVlbiBkb25lIGZyb20gdGhlIGNhY2hlLiBJbiB0
aGF0IGNhc2UsIHRvdWNoIHRoZQotICAgIC8vIHN0YXRlIGZpbGUgdG8gaW5kaWNhdGUgYSBsb2Fk
IGhhcyBhbHJlYWR5IG9jY3VycmVkLgotICAgIGlmICghZmlsZV9leGlzdHMoc3lzX2dldF90ZW1w
X2RpcigpIC4gIi9jYWNoZV9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlc19zdGF0ZSIpKSB7
Ci0gICAgICAgIGVjaG8gIjxzY3JpcHQ+IjsKLSAgICAgICAgZWNobyAieGhyID0gbmV3IFhNTEh0
dHBSZXF1ZXN0OyI7Ci0gICAgICAgIGVjaG8gInhoci5vcGVuKCdHRVQnLCAnLi4vcmVzb3VyY2Vz
L3RvdWNoLXRlbXAtZmlsZS5waHA/ZmlsZW5hbWU9Y2FjaGVfcG9zdC13aXRoLWNhY2hlZC1zdWJy
ZXNvdXJjZXNfc3RhdGUnLCBmYWxzZSk7IjsKLSAgICAgICAgZWNobyAieGhyLnNlbmQobnVsbCk7
IjsKLSAgICAgICAgZWNobyAiPC9zY3JpcHQ+IjsKLSAgICB9Ci0gICAgZWNobyAiPGltZyBzcmM9
J3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5waHA/dGVzdD1jYWNoZV9wb3N0LXdpdGgt
Y2FjaGVkLXN1YnJlc291cmNlcycgb25sb2FkPVwibG9nQW5kRmluaXNoKCdQQVNTJyk7XCIgb25l
cnJvcj1cImxvZ0FuZEZpbmlzaCgnRkFJTCcpO1wiPjwvaW1nPiI7Ci19IGVsc2UgewotICAgIGVj
aG8gIjxmb3JtIGFjdGlvbj0ncG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMucGhwJyBtZXRo
b2Q9J3Bvc3QnPiI7Ci0gICAgZWNobyAiPGlucHV0IHR5cGU9J3N1Ym1pdCcgaWQ9J3N1Ym1pdCcg
bmFtZT0nc3VibWl0JyB2YWx1ZT0nZmluaXNoJz4iOwotICAgIGVjaG8gIjwvZm9ybT4iOwotICAg
IGVjaG8gIjxpbWcgc3JjPSdyZXNvdXJjZXMvcG9zdC1pbWFnZS10by12ZXJpZnkucGhwP3Rlc3Q9
Y2FjaGVfcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMnIG9ubG9hZD1cImRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdzdWJtaXQnKS5jbGljaygpO1wiIG9uZXJyb3I9XCJsb2dBbmRGaW5pc2go
J0ZBSUwgb24gaW5pdGlhbCBsb2FkJyk7XCI+PC9pbWc+IjsKLX0gCi0/PgotPC9ib2R5PgotPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVk
LXN1YnJlc291cmNlcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLnB5CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMu
cHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4MSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9u
MworCitpbXBvcnQgY2dpCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCB0ZW1wZmlsZQor
ZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0YQorCisjIFRoaXMgdGVzdCBs
b2FkcyBhbiB1bmNhY2hlYWJsZSBtYWluIHJlc291cmNlIGFuZCBhIGNhY2hlYWJsZSBpbWFnZSBz
dWJyZXNvdXJjZS4KKyMgV2UgcmVxdWVzdCB0aGlzIHBhZ2UgYXMgYSBHRVQsIHRoZW4gcmVsb2Fk
IHRoaXMgcGFnZSB3aXRoIGEgUE9TVC4KKyMgT24gdGhlIHBvc3QgcmVxdWVzdCwgdGhlIGltYWdl
IHNob3VsZCBiZSBsb2FkZWQgZnJvbSB0aGUgY2FjaGUgYW5kIG5vIEhUVFAKKyMgcmVxdWVzdCBz
aG91bGQgYmUgc2VudC4gVGhlIGltYWdlIHJlc291cmNlIHdpbGwgcmV0dXJuIDQwNCBpZiBpdCBy
ZWNlaXZlcworIyBhIHNlY29uZCByZXF1ZXN0LCB3aGljaCB3aWxsIGNhdXNlIHVzIHRvIEZBSUwu
CisjIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg2OTAKKwor
ZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5Z3dpbicpWy0xXQoraHR0cF9yb290ID0gb3MucGF0
aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1l
KGZpbGUpKSkpCitzeXMucGF0aC5pbnNlcnQoMCwgaHR0cF9yb290KQorCityZXF1ZXN0X21ldGhv
ZCA9IG9zLmVudmlyb24uZ2V0KCdSRVFVRVNUX01FVEhPRCcsICcnKQorZXhwX3RpbWUgPSBkYXRl
dGltZS51dGNub3coKSAtIHRpbWVkZWx0YShzZWNvbmRzPTEpCisKK3N5cy5zdGRvdXQud3JpdGUo
CisgICAgJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBuby1zdG9yZSwgbXVzdC1yZXZhbGlkYXRl
LCBtYXgtYWdlPTBcclxuJworICAgICdQcmFnbWE6IG5vLWNhY2hlXHJcbicKKyAgICAnRXhwaXJl
czoge30gKzAwMDBcclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJy5m
b3JtYXQoZXhwX3RpbWUuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorKQorCitz
eXMuc3Rkb3V0LndyaXRlKAorICAgICc8aHRtbD5cbicKKyAgICAnPGJvZHk+XG4nCisgICAgJzxk
aXYgaWQ9InJlc3VsdCI+PC9kaXY+XG4nCisgICAgJzxzY3JpcHQ+XG4nCisgICAgJ2lmICh3aW5k
b3cudGVzdFJ1bm5lcikge1xuJworICAgICcgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7XG4n
CisgICAgJyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTtcbicKKyAgICAnfVxuJworICAg
ICcgICAgXG4nCisgICAgJ2Z1bmN0aW9uIGxvZ0FuZEZpbmlzaChtZXNzYWdlKVxuJworICAgICd7
XG4nCisgICAgJyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuYXBwZW5kQ2hp
bGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobWVzc2FnZSkpO1xuJworICAgICcgICAgdmFyIHho
ciA9IG5ldyBYTUxIdHRwUmVxdWVzdDtcbicKKyAgICAnICAgIHhoci5vcGVuKCJHRVQiLCAiLi4v
cmVzb3VyY2VzL3Jlc2V0LXRlbXAtZmlsZS5weT9maWxlbmFtZT1jYWNoZV9wb3N0LXdpdGgtY2Fj
aGVkLXN1YnJlc291cmNlc19zdGF0ZSIsIGZhbHNlKTtcbicKKyAgICAnICAgIHhoci5zZW5kKG51
bGwpO1xuJworICAgICcgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKVxuJworICAgICcgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpO1xuJworICAgICd9XG4nCisgICAgJzwvc2NyaXB0Plxu
JworKQorCityZXF1ZXN0ID0ge30KK2lmIHJlcXVlc3RfbWV0aG9kID09ICdQT1NUJzoKKyAgICBm
b3JtID0gY2dpLkZpZWxkU3RvcmFnZSgpCisgICAgZm9yIGtleSBpbiBzb3J0ZWQoZm9ybS5rZXlz
KCkpOgorICAgICAgICByZXF1ZXN0W2tleV0gPSBmb3JtLmdldHZhbHVlKGtleSkKKworaWYgcmVx
dWVzdC5nZXQoJ3N1Ym1pdCcsICcnKSA9PSAnZmluaXNoJzoKKyAgICB0bXBGaWxlUGF0aCA9IG9z
LnBhdGguam9pbih0ZW1wZmlsZS5nZXR0ZW1wZGlyKCksICdjYWNoZV9wb3N0LXdpdGgtY2FjaGVk
LXN1YnJlc291cmNlc19zdGF0ZScpCisgICAgaWYgb3MucGF0aC5leGlzdHModG1wRmlsZVBhdGgp
OgorICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAgICAgJzxzY3JpcHQ+JworICAg
ICAgICAgICAgJ3hociA9IG5ldyBYTUxIdHRwUmVxdWVzdDsnCisgICAgICAgICAgICAneGhyLm9w
ZW4oXCdHRVRcJywgXCcuLi9yZXNvdXJjZXMvdG91Y2gtdGVtcC1maWxlLnB5P2ZpbGVuYW1lPWNh
Y2hlX3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzX3N0YXRlXCcsIGZhbHNlKTsnCisgICAg
ICAgICAgICAneGhyLnNlbmQobnVsbCk7JworICAgICAgICAgICAgJzwvc2NyaXB0PicKKyAgICAg
ICAgKQorCisgICAgc3lzLnN0ZG91dC53cml0ZSgnPGltZyBzcmM9XCdyZXNvdXJjZXMvcG9zdC1p
bWFnZS10by12ZXJpZnkucHk/dGVzdD1jYWNoZV9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNl
c1wnIG9ubG9hZD0ibG9nQW5kRmluaXNoKFwnUEFTU1wnKTsiIG9uZXJyb3I9ImxvZ0FuZEZpbmlz
aChcJ0ZBSUxcJyk7Ij48L2ltZz4nKQorZWxzZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAg
ICAgICAnPGZvcm0gYWN0aW9uPVwncG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMucHlcJyBt
ZXRob2Q9XCdwb3N0XCc+JworICAgICAgICAnPGlucHV0IHR5cGU9XCdzdWJtaXRcJyBpZD1cJ3N1
Ym1pdFwnIG5hbWU9XCdzdWJtaXRcJyB2YWx1ZT1cJ2ZpbmlzaFwnPicKKyAgICAgICAgJzwvZm9y
bT4nCisgICAgICAgICc8aW1nIHNyYz1cJ3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5w
eT90ZXN0PWNhY2hlX3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzXCcgb25sb2FkPVwiZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCdzdWJtaXRcJykuY2xpY2soKTtcIiBvbmVycm9yPVwibG9n
QW5kRmluaXNoKFwnRkFJTCBvbiBpbml0aWFsIGxvYWRcJyk7XCI+PC9pbWc+JworICAgICkKKwor
c3lzLnN0ZG91dC53cml0ZSgKKyAgICAnPC9ib2R5PlxuJworICAgICc8L2h0bWw+XG4nCispClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy5weQpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVjdXJzaXZlLXZhbGlkYXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3JlY3Vyc2l2ZS12YWxpZGF0aW9uLmh0bWwJKHJldmlzaW9uIDI3NDI1NSkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVjdXJzaXZlLXZhbGlkYXRpb24uaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtNiw3ICs2LDcgQEAgZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBy
ZWN1cnNpdmVseSBsb2FkaQogCiBmdW5jdGlvbiBsb2FkKGNvbXBsZXRpb24pIHsKICAgICB2YXIg
eGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Ci0gICAgeGhyLm9wZW4oJ0dFVCcsICJyZXNvdXJj
ZXMvbm8tY2FjaGUtd2l0aC12YWxpZGF0aW9uLnBocCIpOworICAgIHhoci5vcGVuKCdHRVQnLCAi
cmVzb3VyY2VzL25vLWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5weSIpOwogICAgIHhoci5vbmxvYWQg
PSBjb21wbGV0aW9uOwogICAgIHhoci5zZW5kKCk7CiB9CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3JlZGlyZWN0LXJlZmVyZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3JlZGlyZWN0LXJlZmVyZXIuaHRtbAkocmV2aXNpb24gMjc0
MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZWRpcmVjdC1yZWZlcmVyLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNyArMSw3IEBACiA8Ym9keT4KIDxzY3JpcHQ+CiB2YXIg
cm5kID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDAwMDAwMDAwMDAwMCk7Ci12YXIg
aWZyYW1lU3JjID0gInJlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucGhwP2xvY2F0aW9uPXJl
ZGlyZWN0LXJlZmVyZXItaWZyYW1lLmh0bWwmcm5kPSIgKyBybmQ7Cit2YXIgaWZyYW1lU3JjID0g
InJlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucHk/bG9jYXRpb249cmVkaXJlY3QtcmVmZXJl
ci1pZnJhbWUuaHRtbCZybmQ9IiArIHJuZDsKIAogdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImlmcmFtZSIpOwogaWZyYW1lLnNyYyA9IGlmcmFtZVNyYzsKSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVsb2FkLW1haW4tcmVzb3VyY2UucGhwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVsb2FkLW1haW4tcmVzb3VyY2Uu
cGhwCShyZXZpc2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
bG9hZC1tYWluLXJlc291cmNlLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDI3ICswLDAgQEAKLTw/
cGhwCi1yZXF1aXJlX29uY2UgJy4uL3Jlc291cmNlcy9wb3J0YWJpbGl0eUxheWVyLnBocCc7Ci1j
bGVhcnN0YXRjYWNoZSgpOwotaWYgKGZpbGVfZXhpc3RzKHN5c19nZXRfdGVtcF9kaXIoKSAuICIv
Y2FjaGUtcmVsb2FkLW1haW4tcmVzb3VyY2UudG1wIikpCi0gICAgdW5saW5rKHN5c19nZXRfdGVt
cF9kaXIoKSAuICIvY2FjaGUtcmVsb2FkLW1haW4tcmVzb3VyY2UudG1wIik7Ci0/PgotCi08Ym9k
eT4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHJlbG9hZElmcmFtZSgpIHsKLSAgICB3aW5kb3cu
ZnJhbWVzWzBdLmxvY2F0aW9uLnJlbG9hZCgpOwotfQotCi1mdW5jdGlvbiBmaW5pc2goKSB7Ci0g
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVyVGV4dCA9ICJQQVNTIjsK
LSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwotfQotPC9zY3JpcHQ+Ci08aWZyYW1lIHNyYz0icmVzb3VyY2VzL3JlbG9hZC1tYWluLXJl
c291cmNlLWlmcmFtZS5waHAiIG9ubG9hZD0icmVsb2FkSWZyYW1lKCk7Ij48L2lmcmFtZT4KLTwv
Ym9keT4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVsb2FkLW1haW4tcmVz
b3VyY2UucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZWxv
YWQtbWFpbi1yZXNvdXJjZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3JlbG9hZC1tYWluLXJlc291cmNlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMzcgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lz
CitpbXBvcnQgdGVtcGZpbGUKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5Z3dpbicpWy0x
XQoraHR0cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFi
c3BhdGgob3MucGF0aC5kaXJuYW1lKGZpbGUpKSkpCitzeXMucGF0aC5pbnNlcnQoMCwgaHR0cF9y
b290KQorCit0bXBGaWxlID0gb3MucGF0aC5qb2luKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwgJ2Nh
Y2hlLXJlbG9hZC1tYWluLXJlc291cmNlLnRtcCcpCitpZiBvcy5wYXRoLmlzZmlsZSh0bXBGaWxl
KToKKyAgICBvcy5yZW1vdmUodG1wRmlsZSkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ29u
dGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICAnPGJvZHk+XG4nCisgICAgJzxkaXYg
aWQ9InJlc3VsdCI+PC9kaXY+XG4nCisgICAgJzxzY3JpcHQ+XG4nCisgICAgJ2lmICh3aW5kb3cu
dGVzdFJ1bm5lcikge1xuJworICAgICcgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7XG4nCisg
ICAgJyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTtcbicKKyAgICAnfVxuJworICAgICdc
bicKKyAgICAnZnVuY3Rpb24gcmVsb2FkSWZyYW1lKCkge1xuJworICAgICcgICAgd2luZG93LmZy
YW1lc1swXS5sb2NhdGlvbi5yZWxvYWQoKTtcbicKKyAgICAnfVxuJworICAgICdcbicKKyAgICAn
ZnVuY3Rpb24gZmluaXNoKCkge1xuJworICAgICcgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InJlc3VsdCIpLmlubmVyVGV4dCA9ICJQQVNTIjtcbicKKyAgICAnICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcilcbicKKyAgICAnICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTtcbicKKyAg
ICAnfVxuJworICAgICc8L3NjcmlwdD5cbicKKyAgICAnPGlmcmFtZSBzcmM9InJlc291cmNlcy9y
ZWxvYWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucHkiIG9ubG9hZD0icmVsb2FkSWZyYW1lKCk7Ij48
L2lmcmFtZT5cbicKKyAgICAnPC9ib2R5PlxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVs
b2FkLW1haW4tcmVzb3VyY2UucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMg
LTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3N0eWxlc2hlZXQtc2hhcmluZy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvc3R5bGVzaGVldC1zaGFyaW5nLmh0
bWwJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvc3R5
bGVzaGVldC1zaGFyaW5nLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE2LDcgKzE2LDcgQEAgZnVu
Y3Rpb24gd2FpdEZvclN0eWxlc2hlZXQoaWZyYW1lLCBjb21wbAogZnVuY3Rpb24gbG9hZChzcmMs
IGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJpZnJhbWUiKTsKLSAgICBpZnJhbWUuc3JjID0gInJlc291cmNlcy9zdHlsZXNoZWV0
LWh0bWwucGhwP3NoZWV0PSIgKyBzcmM7CisgICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvc3R5
bGVzaGVldC1odG1sLnB5P3NoZWV0PSIgKyBzcmM7CiAgICAgaWZyYW1lLm9ubG9hZCA9IGZ1bmN0
aW9uICgpIHsKICAgICAgICAgaWZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5Lm9mZnNldFdpZHRo
OwogICAgICAgICB3YWl0Rm9yU3R5bGVzaGVldChpZnJhbWUsIGNvbXBsZXRpb25IYW5kbGVyKTsK
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvdmFyeS1mcmFtZWxlc3MtZG9jdW1l
bnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Zhcnkt
ZnJhbWVsZXNzLWRvY3VtZW50Lmh0bWwJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvdmFyeS1mcmFtZWxlc3MtZG9jdW1lbnQuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMyw3ICszLDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKIAotdmFyIHN2Z0RvY3VtZW50U3RyaW5nID0gJzxzdmc+PHVzZSB4
PSI1MCIgeT0iMTAiIHhsaW5rOmhyZWY9InJlc291cmNlcy9zdmctZGVmcy12YXJ5LnBocCNjaXJj
bGUiIC8+PC9zdmc+JzsKK3ZhciBzdmdEb2N1bWVudFN0cmluZyA9ICc8c3ZnPjx1c2UgeD0iNTAi
IHk9IjEwIiB4bGluazpocmVmPSJyZXNvdXJjZXMvc3ZnLWRlZnMtdmFyeS5weSNjaXJjbGUiIC8+
PC9zdmc+JzsKIGZ1bmN0aW9uIG1ha2VEb2N1bWVudCgpIHsKICAgICB2YXIgZG9jID0gZG9jdW1l
bnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCcnKTsKICAgICBkb2Mub3Blbigp
OwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS94LWZyYW1lLW9wdGlvbnMtMzA0
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS94LWZyYW1l
LW9wdGlvbnMtMzA0Lmh0bWwJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUveC1mcmFtZS1vcHRpb25zLTMwNC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
Nyw5ICsxNyw5IEBAIGZ1bmN0aW9uIHRlc3QoKSB7CiAKICAgICBkb2N1bWVudC5ib2R5LnJlbW92
ZUNoaWxkKGRvY3VtZW50LmJvZHkubGFzdENoaWxkKTsKICAgICB2YXIgaWZyYW1lID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMv
eC1mcmFtZS1vcHRpb25zLnBocCIKKyAgICBpZnJhbWUuc3JjID0gInJlc291cmNlcy94LWZyYW1l
LW9wdGlvbnMucHkiCiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOwogfQog
PC9zY3JpcHQ+Ci08aWZyYW1lIHNyYz0icmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5waHAiPjwv
aWZyYW1lPgorPGlmcmFtZSBzcmM9InJlc291cmNlcy94LWZyYW1lLW9wdGlvbnMucHkiPjwvaWZy
YW1lPgogPC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS94aHItYm9k
eS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUveGhyLWJv
ZHkuaHRtbAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS94aHItYm9keS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xOCw3ICsxOCw3IEBAIGZ1bmN0aW9u
IHRlc3QoKSB7CiAgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24o
KSB7IGxvZygibG9hZCIpOyByZXBlYXQoKTsgfSwgZmFsc2UpOwogICAgIHJlcXVlc3QuYWRkRXZl
bnRMaXN0ZW5lcigiZXJyb3IiLCBmdW5jdGlvbigpIHsgbG9nKCJlcnJvciIpOyByZXBlYXQoKTsg
fSwgZmFsc2UpOwogICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCBmdW5jdGlv
bigpIHsgbG9nKCJhYm9ydCIpOyByZXBlYXQoKTsgfSwgZmFsc2UpOwotICAgIHJlcXVlc3Qub3Bl
bigiR0VUIiwgInJlc291cmNlcy9ib2R5LnBocCIsIHRydWUpOworICAgIHJlcXVlc3Qub3Blbigi
R0VUIiwgInJlc291cmNlcy9ib2R5LnB5IiwgdHJ1ZSk7CiAgICAgcmVxdWVzdC5zZW5kKCk7CiB9
CiAKQEAgLTM2LDcgKzM2LDcgQEAgZnVuY3Rpb24gcmVwZWF0KCkgewogICAgIHNlY29uZFJlcXVl
c3QuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uKCkgeyBzZWNvbmRSZXF1ZXN0Rmlu
aXNoZWQoKTsgfSwgZmFsc2UpOwogICAgIHNlY29uZFJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigi
ZXJyb3IiLCBmdW5jdGlvbigpIHsgbG9nKCJlcnJvciIpOyBlbmQoKTsgfSwgZmFsc2UpOwogICAg
IHNlY29uZFJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCBmdW5jdGlvbigpIHsgbG9n
KCJhYm9ydCIpOyBlbmQoKTsgfSwgZmFsc2UpOwotICAgIHNlY29uZFJlcXVlc3Qub3BlbigiUE9T
VCIsICJyZXNvdXJjZXMvYm9keS5waHAiLCB0cnVlKTsKKyAgICBzZWNvbmRSZXF1ZXN0Lm9wZW4o
IlBPU1QiLCAicmVzb3VyY2VzL2JvZHkucHkiLCB0cnVlKTsKICAgICBzZWNvbmRSZXF1ZXN0LnNl
bmQoIlRoaXMgaHR0cCBib2R5IHNob3VsZCBiZSB2aXNpYmxlIik7CiB9CiAKSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUveGhyLXZhcnktaGVhZGVyLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS94aHItdmFyeS1oZWFkZXIuaHRtbAkocmV2
aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS94aHItdmFyeS1o
ZWFkZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTIsNyArMTIsNyBAQCB2YXIgdGVzdFN0ZXAg
PSAxOwogZnVuY3Rpb24gdGVzdENyb3NzT3JpZ2luKCkKIHsKICAgICB2YXIgcmVxID0gbmV3IFhN
TEh0dHBSZXF1ZXN0OwotICAgIHJlcS5vcGVuKCJnZXQiLCAiaHR0cDovL2xvY2FsaG9zdDo4MDAw
L2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItcmVzcG9uc2UucGhwIik7CisgICAgcmVx
Lm9wZW4oImdldCIsICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY2FjaGUvcmVzb3VyY2VzL3hoci12
YXJ5LWhlYWRlci1yZXNwb25zZS5weSIpOwogICAgIHJlcS5vbmxvYWQ9ZnVuY3Rpb24oKSB7IHJl
Y2VpdmVkUmVzcG9uc2UocmVxLnJlc3BvbnNlVGV4dCkgfQogICAgIHJlcS5zZW5kKCk7CiB9Cklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1y
ZWRpcmVjdC10by1kYXRhLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtcmVkaXJlY3QtdG8tZGF0YS5odG1sCShyZXZp
c2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUv
ZGlzay1jYWNoZS1yZWRpcmVjdC10by1kYXRhLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNSAr
MSw1IEBACiA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPXJlc291cmNlcy9yZWRpcmVjdC10by1kYXRhLnBocD48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9yZWRpcmVjdC10by1kYXRhLnB5Pjwvc2NyaXB0
PgogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJUZXN0IHRoYXQgSFRUUCByZWRpcmVjdCB0byBhIGRh
dGEgVVJMIGRvZXMgbm90IGNyYXNoIG9yIGFzc2VydCBpbiB0aGUgbmV0d29yayBwcm9jZXNzLiIp
Owogc2hvdWxkQmVUcnVlKCJzdWNjZXNzIik7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZW1vdmUtc2V2ZXJhbC1wZW5kaW5nLXdyaXRl
cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9kaXNrLWNhY2hlLXJlbW92ZS1zZXZlcmFsLXBlbmRpbmctd3JpdGVzLmh0bWwJKHJldmlz
aW9uIDI3NDI1NSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9k
aXNrLWNhY2hlLXJlbW92ZS1zZXZlcmFsLXBlbmRpbmctd3JpdGVzLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTIyLDcgKzIyLDcgQEAgZnVuY3Rpb24gZmV0Y2godXJsKSB7CiAKIGZ1bmN0aW9uIGZl
dGNoUmVzb3VyY2UoKSB7CiAgIGludGVybmFscy5jbGVhck1lbW9yeUNhY2hlKCk7Ci0gIHJldHVy
biBmZXRjaCgncmVzb3VyY2VzL2pzb24ucGhwP2lkPScgKyBpZCkudGhlbihmdW5jdGlvbiAocmVz
cCkgeworICByZXR1cm4gZmV0Y2goJ3Jlc291cmNlcy9qc29uLnB5P2lkPScgKyBpZCkudGhlbihm
dW5jdGlvbiAocmVzcCkgewogICAgIGlmIChyZXNwLmJvZHkudmVyc2lvbiA9PT0gMikgewogICAg
ICAgYnVnUmVwcm9kdWNlZCA9IGZhbHNlOwogICAgIH0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZWRpcmVjdC1jaGFpbi1saW1pdHMuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVkaXJlY3Qt
Y2hhaW4tbGltaXRzLmh0bWwJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZWRpcmVjdC1jaGFpbi1saW1pdHMuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtOSw3ICs5LDcgQEAgZnVuY3Rpb24gcmVkaXJlY3RDaGFpbihsZW5ndGgsIHVu
aXF1ZUlkLAogewogICAgIGludGVybmFscy5jbGVhck1lbW9yeUNhY2hlKCkKIAotICAgIHZhciB1
cmwgPSAicmVzb3VyY2VzL3JlZGlyZWN0LWNoYWluLnBocD9sZW5ndGg9IiArIGxlbmd0aCArICIm
dW5pcXVlSWQ9IiArIHVuaXF1ZUlkOworICAgIHZhciB1cmwgPSAicmVzb3VyY2VzL3JlZGlyZWN0
LWNoYWluLnB5P2xlbmd0aD0iICsgbGVuZ3RoICsgIiZ1bmlxdWVJZD0iICsgdW5pcXVlSWQ7CiAK
ICAgICB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICB4aHIub25sb2FkID0gb25sb2Fk
OwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNl
cy9qc29uLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rp
c2stY2FjaGUvcmVzb3VyY2VzL2pzb24ucGhwCShyZXZpc2lvbiAyNzQyNTUpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL2pzb24ucGhwCShub25l
eGlzdGVudCkKQEAgLTEsNDIgKzAsMCBAQAotPD9waHAKLQotZnVuY3Rpb24gc2VuZDMwNCgpCi17
Ci0gICAgaGVhZGVyKCJIVFRQLzEuMSAzMDQgTm90IE1vZGlmaWVkIik7Ci0gICAgaGVhZGVyKCJF
VGFnOiBmb28iKTsKLX0KLQotJGlkID0gJF9HRVRbImlkIl07Ci0kY291bnQgPSAxOwotaWYgKGlz
c2V0KCRfQ09PS0lFWyRpZF0pKSB7Ci0gICAgJGNvdW50ID0gJF9DT09LSUVbJGlkXTsKLX0KLQot
c2V0Y29va2llKCRpZCwgJGNvdW50ICsgMSk7Ci0KLWlmICgkY291bnQgPT0gMSkgewotICAgIGhl
YWRlcigiQ2FjaGUtQ29udHJvbDogbXVzdC1yZXZhbGlkYXRlIik7Ci0gICAgaGVhZGVyKCJFVGFn
OiBmb28iKTsKLSAgICBoZWFkZXIoIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIpOwot
ICAgIGVjaG8gJ3sidmVyc2lvbiI6IDF9JzsKLX0gZWxzZSBpZiAoJGNvdW50ID09IDIpIHsKLSAg
ICBzZW5kMzA0KCk7Ci19IGVsc2UgaWYgKCRjb3VudCA9PSAzKSB7Ci0gICAgaGVhZGVyKCJIVFRQ
LzEuMSA0MDQgTm90IEZvdW5kIik7Ci0gICAgaGVhZGVyKCJDYWNoZS1Db250cm9sOiBtdXN0LXJl
dmFsaWRhdGUiKTsKLSAgICBoZWFkZXIoIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIp
OwotICAgIGVjaG8gJ3sibm90IjogImZvdW5kIn0nOwotfSBlbHNlIGlmICgkY291bnQgPT0gNCkg
ewotICAgIGlmICgkX1NFUlZFUlsiSFRUUF9JRl9OT05FX01BVENIIl0gPT0gImZvbyIpIHsKLSAg
ICAgICAgc2VuZDMwNCgpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGhlYWRlcigiQ2FjaGUtQ29u
dHJvbDogbXVzdC1yZXZhbGlkYXRlIik7Ci0gICAgICAgIGhlYWRlcigiRVRhZzogZm9vIik7Ci0g
ICAgICAgIGhlYWRlcigiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uIik7Ci0gICAgICAg
IGVjaG8gJ3sidmVyc2lvbiI6IDJ9JzsKLSAgICB9Ci19IGVsc2UgewotICAgIHNlbmQzMDQoKTsK
LX0KLQotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9y
ZXNvdXJjZXMvanNvbi5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL2pzb24ucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9qc29uLnB5CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNTUgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1w
b3J0IG9zCitpbXBvcnQgc3lzCitmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMKKwor
ZGVmIHNlbmQzMDQoKToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnQ29udGVudC1U
eXBlOiB0ZXh0L2h0bWxcclxuJworICAgICAgICAnc3RhdHVzOiAzMDRcclxuJworICAgICAgICAn
RVRhZzogZm9vXHJcblxyXG4nCisgICAgKQorCitpZGVudCA9IHBhcnNlX3FzKG9zLmVudmlyb24u
Z2V0KCdRVUVSWV9TVFJJTkcnLCAnJyksIGtlZXBfYmxhbmtfdmFsdWVzPVRydWUpLmdldCgnaWQn
LCBbJyddKVswXQorY29va2llcyA9IHt9CitpZiAnSFRUUF9DT09LSUUnIGluIG9zLmVudmlyb246
CisgICAgaGVhZGVyX2Nvb2tpZXMgPSBvcy5lbnZpcm9uWydIVFRQX0NPT0tJRSddCisgICAgaGVh
ZGVyX2Nvb2tpZXMgPSBoZWFkZXJfY29va2llcy5zcGxpdCgnOyAnKQorCisgICAgZm9yIGNvb2tp
ZSBpbiBoZWFkZXJfY29va2llczoKKyAgICAgICAgY29va2llID0gY29va2llLnNwbGl0KCc9JykK
KyAgICAgICAgY29va2llc1tjb29raWVbMF1dID0gY29va2llWzFdCisKK2NvdW50ID0gMQoraWYg
Y29va2llcy5nZXQoaWRlbnQsIE5vbmUpOgorICAgIGNvdW50ID0gaW50KGNvb2tpZXMuZ2V0KGlk
ZW50LCAwKSkKKworc3lzLnN0ZG91dC53cml0ZShmJ1NldC1Db29raWU6IHtpZGVudH09e2NvdW50
ICsgMX1cclxuJykKKworaWYgY291bnQgPT0gMToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAg
ICAgICAnQ2FjaGUtQ29udHJvbDogbXVzdC1yZXZhbGlkYXRlXHJcbicKKyAgICAgICAgJ0VUYWc6
IGZvb1xyXG4nCisgICAgICAgICdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb25cclxuXHJc
bicKKyAgICAgICAgJ3sidmVyc2lvbiI6IDF9JworICAgICkKK2VsaWYgY291bnQgPT0gMzoKKyAg
ICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnc3RhdHVzOiA0MDRcclxuJworICAgICAgICAn
Q2FjaGUtQ29udHJvbDogbXVzdC1yZXZhbGlkYXRlXHJcbicKKyAgICAgICAgJ0NvbnRlbnQtVHlw
ZTogYXBwbGljYXRpb24vanNvblxyXG5cclxuJworICAgICAgICAneyJub3QiOiAiZm91bmQifScK
KyAgICApCitlbGlmIGNvdW50ID09IDQ6CisgICAgaWYgb3MuZW52aXJvbi5nZXQoJ0hUVFBfSUZf
Tk9ORV9NQVRDSCcsICcnKSA9PSAnZm9vJzoKKyAgICAgICAgc2VuZDMwNCgpCisgICAgZWxzZToK
KyAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgICAgICdDYWNoZS1Db250cm9sOiBt
dXN0LXJldmFsaWRhdGVcclxuJworICAgICAgICAgICAgJ0VUYWc6IGZvb1xyXG4nCisgICAgICAg
ICAgICAnQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uXHJcblxyXG4nCisgICAgICAgICAg
ICAneyJ2ZXJzaW9uIjogMn0nCisgICAgICAgICkKK2Vsc2U6CisgICAgc2VuZDMwNCgpClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9qc29uLnB5Cl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNh
Y2hlL3Jlc291cmNlcy9yZWRpcmVjdC1jaGFpbi5waHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1jaGFpbi5w
aHAJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtY2hhaW4ucGhwCShub25leGlzdGVudCkKQEAgLTEs
MTMgKzAsMCBAQAotPD8KLSRsZW5ndGggPSAkX0dFVFsnbGVuZ3RoJ107Ci1pZiAoJGxlbmd0aCA9
PSAwKSB7Ci0gICAgaGVhZGVyKCdTdGF0dXM6IDIwMCcpOwotICAgIGhlYWRlcignQ2FjaGUtQ29u
dHJvbDogbWF4LWFnZT0xMDAnKTsKLSAgICBleGl0KCk7Ci19Ci0kbGVuZ3RoID0gJGxlbmd0aCAt
IDE7Ci0KLWhlYWRlcignU3RhdHVzOiAzMDInKTsKLWhlYWRlcignQ2FjaGUtQ29udHJvbDogbWF4
LWFnZT0xMDAnKTsKLWhlYWRlcignTG9jYXRpb246IHJlZGlyZWN0LWNoYWluLnBocD9sZW5ndGg9
JyAuICRsZW5ndGggLiAnJnVuaXF1ZUlkPScgLiAkX0dFVFsndW5pcXVlSWQnXSAuICcmcmFuZG9t
PScgLiByYW5kKCkpOwotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtY2hhaW4ucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1jaGFp
bi5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LWNoYWluLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMjUgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lz
Citmcm9tIHJhbmRvbSBpbXBvcnQgcmFuZGludAorZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBh
cnNlX3FzCisKK3F1ZXJ5ID0gcGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklORycs
ICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkKK2xlbmd0aCA9IGludChxdWVyeS5nZXQoJ2xl
bmd0aCcsIFswXSlbMF0pCit1bmlxdWVfaWQgPSBxdWVyeS5nZXQoJ3VuaXF1ZUlkJywgWycnXSlb
MF0KKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0xMDBc
clxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nCispCisKK2lmIGxlbmd0aCA9
PSAwOgorICAgIHN5cy5zdGRvdXQud3JpdGUoJ3N0YXR1czogMjAwXHJcblxyXG4nKQorICAgIHN5
cy5leGl0KDApCisKK2xlbmd0aCAtPSAxCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdzdGF0dXM6
IDMwMlxyXG4nCisgICAgZidMb2NhdGlvbjogcmVkaXJlY3QtY2hhaW4ucHk/bGVuZ3RoPXtsZW5n
dGh9JnVuaXF1ZUlkPXt1bmlxdWVfaWR9JnJhbmRvbT17cmFuZGludCgwLCBzeXMubWF4c2l6ZSl9
XHJcblxyXG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9y
ZWRpcmVjdC1jaGFpbi5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCww
ICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tZGF0
YS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNh
Y2hlL3Jlc291cmNlcy9yZWRpcmVjdC10by1kYXRhLnBocAkocmV2aXNpb24gMjc0MjU1KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVj
dC10by1kYXRhLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotPD8KLWhlYWRlcign
U3RhdHVzOiAzMDEgTW92ZWQgUGVybWFuZW50bHknKTsKLWhlYWRlcignTG9jYXRpb246IGRhdGE6
YXBwbGljYXRpb24vamF2YXNjcmlwdCxzdWNjZXNzPXRydWU7Jyk7Ci0/PgpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC10by1k
YXRhLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tZGF0YS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LXRv
LWRhdGEucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw5IEBACisjIS91c3IvYmluL2VudiBw
eXRob24zCisKK2ltcG9ydCBzeXMKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnc3RhdHVzOiAz
MDFcclxuJworICAgICdMb2NhdGlvbjogZGF0YTphcHBsaWNhdGlvbi9qYXZhc2NyaXB0LHN1Y2Nl
c3M9dHJ1ZTtcclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworKQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tZGF0
YS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL2NhY2hlYWJsZS1yZWRp
cmVjdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL2NhY2hlYWJsZS1yZWRpcmVjdC5odG1sCShy
ZXZpc2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2Fj
aGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9jYWNoZWFibGUtcmVkaXJlY3QuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMTYsNyArMTYsNyBAQCBmdW5jdGlvbiBmcmFtZUxvYWRlZCgpCiAgICAgICAg
IC8vIE5hdmlnYXRlIGZyYW1lIHRvIGl0cyBvcmlnaW5hbCBsb2NhdGlvbiBhZ2Fpbi4gVGhpcyB0
aW1lIGl0IHNob3VsZCBzcGVjdWxhdGl2ZWx5CiAgICAgICAgIC8vIHZhbGlkYXRlIHN1YnJlc291
cmNlcyBhcyB3ZSBoYXZlIHN1YnJlc291cmNlIGxvYWRzIG1ldGFkYXRhIGluIHRoZSBkaXNrIGNh
Y2hlLgogICAgICAgICBzdGF0ZSA9ICJzcGVjdWxhdGl2ZVJldmFsaWRhdGlvbiI7Ci0gICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RnJhbWUiKS5zcmMgPSAicmVzb3VyY2VzL2Nh
Y2hlYWJsZS1yZWRpcmVjdC1mcmFtZS5waHAiOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGVzdEZyYW1lIikuc3JjID0gInJlc291cmNlcy9jYWNoZWFibGUtcmVkaXJlY3QtZnJh
bWUucHkiOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlmIChzdGF0ZSA9PSAic3BlY3Vs
YXRpdmVSZXZhbGlkYXRpb24iKSB7CkBAIC0yOCw1ICsyOCw1IEBAIGZ1bmN0aW9uIGZyYW1lTG9h
ZGVkKCkKIH0KIAogPC9zY3JpcHQ+Ci08aWZyYW1lIGlkPSJ0ZXN0RnJhbWUiIHNyYz0icmVzb3Vy
Y2VzL2NhY2hlYWJsZS1yZWRpcmVjdC1mcmFtZS5waHAiIG9ubG9hZD0iZnJhbWVMb2FkZWQoKSI+
PC9pZnJhbWU+Cis8aWZyYW1lIGlkPSJ0ZXN0RnJhbWUiIHNyYz0icmVzb3VyY2VzL2NhY2hlYWJs
ZS1yZWRpcmVjdC1mcmFtZS5weSIgb25sb2FkPSJmcmFtZUxvYWRlZCgpIj48L2lmcmFtZT4KIDxz
Y3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2
ZS12YWxpZGF0aW9uL2h0dHAtYXV0aC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL2h0dHAtYXV0
aC5odG1sCShyZXZpc2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9odHRwLWF1dGguaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMTIsNyArMTIsNyBAQCBzdGF0ZSA9ICJ3YXJtdXAiOwogZnVuY3Rpb24gY2xl
YXJDcmVkZW50aWFsU3RvcmFnZSgpCiB7CiAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7
Ci0gICAgeGhyLm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvcmVzb3VyY2Utd2l0aC1hdXRoLnBocD9v
dGhlciIsIGZhbHNlLCAiYmFkVXNlcm5hbWUiLCAiYmFkUGFzc3dvcmQiKTsKKyAgICB4aHIub3Bl
bigiR0VUIiwgInJlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucHk/b3RoZXIiLCBmYWxzZSwg
ImJhZFVzZXJuYW1lIiwgImJhZFBhc3N3b3JkIik7CiAgICAgeGhyLnNlbmQoKTsKICAgICBzaG91
bGRCZSgieGhyLnN0YXR1cyIsICI0MDEiKTsKIH0KQEAgLTM1LDcgKzM1LDcgQEAgZnVuY3Rpb24g
ZnJhbWVMb2FkZWQoKQogICAgICAgICAvLyBOYXZpZ2F0ZSBmcmFtZSB0byBpdHMgb3JpZ2luYWwg
bG9jYXRpb24gYWdhaW4uIFRoaXMgdGltZSBpdCBzaG91bGQgc3BlY3VsYXRpdmVseQogICAgICAg
ICAvLyB2YWxpZGF0ZSBzdWJyZXNvdXJjZXMgYXMgd2UgaGF2ZSBzdWJyZXNvdXJjZSBsb2FkcyBt
ZXRhZGF0YSBpbiB0aGUgZGlzayBjYWNoZS4KICAgICAgICAgc3RhdGUgPSAic3BlY3VsYXRpdmVS
ZXZhbGlkYXRpb24iOwotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdEZyYW1l
Iikuc3JjID0gInJlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRpY2F0ZWQtcmVzb3VyY2UucGhw
IjsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RGcmFtZSIpLnNyYyA9ICJy
ZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnB5IjsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KICAgICBpZiAoc3RhdGUgPT0gInNwZWN1bGF0aXZlUmV2YWxpZGF0aW9u
IikgewpAQCAtNDcsNSArNDcsNSBAQCBmdW5jdGlvbiBmcmFtZUxvYWRlZCgpCiB9CiAKIDwvc2Ny
aXB0PgotPGlmcmFtZSBpZD0idGVzdEZyYW1lIiBzcmM9InJlc291cmNlcy9mcmFtZS13aXRoLWF1
dGhlbnRpY2F0ZWQtcmVzb3VyY2UucGhwIiBvbmxvYWQ9ImZyYW1lTG9hZGVkKCkiPjwvaWZyYW1l
PgorPGlmcmFtZSBpZD0idGVzdEZyYW1lIiBzcmM9InJlc291cmNlcy9mcmFtZS13aXRoLWF1dGhl
bnRpY2F0ZWQtcmVzb3VyY2UucHkiIG9ubG9hZD0iZnJhbWVMb2FkZWQoKSI+PC9pZnJhbWU+CiA8
c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRp
dmUtdmFsaWRhdGlvbi92YWxpZGF0aW9uLXJlcXVlc3QuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlv
bi92YWxpZGF0aW9uLXJlcXVlc3QuaHRtbAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vdmFs
aWRhdGlvbi1yZXF1ZXN0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAgZnVu
Y3Rpb24gZnJhbWVMb2FkZWQoKQogICAgICAgICAvLyBOYXZpZ2F0ZSBmcmFtZSB0byBpdHMgb3Jp
Z2luYWwgbG9jYXRpb24gYWdhaW4uIFRoaXMgdGltZSBpdCBzaG91bGQgc3BlY3VsYXRpdmVseQog
ICAgICAgICAvLyB2YWxpZGF0ZSBzdWJyZXNvdXJjZXMgYXMgd2UgaGF2ZSBzdWJyZXNvdXJjZSBs
b2FkcyBtZXRhZGF0YSBpbiB0aGUgZGlzayBjYWNoZS4KICAgICAgICAgc3RhdGUgPSAic3BlY3Vs
YXRpdmVSZXZhbGlkYXRpb24iOwotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVz
dEZyYW1lIikuc3JjID0gInJlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucGhwIjsK
KyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RGcmFtZSIpLnNyYyA9ICJyZXNv
dXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1lLnB5IjsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KICAgICBpZiAoc3RhdGUgPT0gInNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uIikgewpAQCAtNTAs
NSArNTAsNSBAQCBmdW5jdGlvbiBmcmFtZUxvYWRlZCgpCiB9CiAKIDwvc2NyaXB0PgotPGlmcmFt
ZSBpZD0idGVzdEZyYW1lIiBzcmM9InJlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUu
cGhwIiBvbmxvYWQ9ImZyYW1lTG9hZGVkKCkiPjwvaWZyYW1lPgorPGlmcmFtZSBpZD0idGVzdEZy
YW1lIiBzcmM9InJlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucHkiIG9ubG9hZD0i
ZnJhbWVMb2FkZWQoKSI+PC9pZnJhbWU+CiA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY2FjaGVh
YmxlLXJlZGlyZWN0LWZyYW1lLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY2Fj
aGVhYmxlLXJlZGlyZWN0LWZyYW1lLnBocAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVz
b3VyY2VzL2NhY2hlYWJsZS1yZWRpcmVjdC1mcmFtZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwx
NyArMCwwIEBACi08P3BocAotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbCcpOwotaGVh
ZGVyKCdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTAnKTsKLWhlYWRlcignRXRhZzogMTIzNDU2Nzg5
Jyk7Ci0KLT8+Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08bGluayByZWw9InN0
eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJyZWRpcmVjdC10by1jc3MucGhwIj4KLTwv
aGVhZD4KLTxib2R5PgotPGRpdiBpZD0idGVzdERpdiIgY2xhc3M9InRlc3RDbGFzcyI+Ci1URVNU
Ci08L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jYWNoZWFi
bGUtcmVkaXJlY3QtZnJhbWUucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2NhY2hl
YWJsZS1yZWRpcmVjdC1mcmFtZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMv
Y2FjaGVhYmxlLXJlZGlyZWN0LWZyYW1lLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAg
QEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IHN5cworCitzeXMuc3Rkb3V0Lndy
aXRlKAorICAgICdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTBcclxuJworICAgICdFdGFnOiAxMjM0
NTY3ODlcclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworICAgICc8
IURPQ1RZUEUgaHRtbD5cbicKKyAgICAnPGh0bWw+XG4nCisgICAgJzxoZWFkPlxuJworICAgICc8
bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJyZWRpcmVjdC10by1j
c3MucHkiPlxuJworICAgICc8L2hlYWQ+XG4nCisgICAgJzxib2R5PlxuJworICAgICc8ZGl2IGlk
PSJ0ZXN0RGl2IiBjbGFzcz0idGVzdENsYXNzIj5cbicKKyAgICAnVEVTVFxuJworICAgICc8L2Rp
dj5cbicKKyAgICAnPC9ib2R5PlxuJworICAgICc8L2h0bWw+XG4nCispClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2NhY2hl
YWJsZS1yZWRpcmVjdC1mcmFtZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQoj
IyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0
aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5waHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24v
cmVzb3VyY2VzL2Nzcy10by1yZXZhbGlkYXRlLnBocAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRp
b24vcmVzb3VyY2VzL2Nzcy10by1yZXZhbGlkYXRlLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDE3
ICswLDAgQEAKLTw/cGhwCi1pZiAoJF9TRVJWRVJbIkhUVFBfSUZfTk9ORV9NQVRDSCJdID09ICJm
b28iKSB7Ci0gICAgaGVhZGVyKCJIVFRQLzEuMSAzMDQgTm90IE1vZGlmaWVkIik7Ci0gICAgaGVh
ZGVyKCJFVGFnOiBmb28iKTsKLSAgICByZXR1cm47Ci19Ci0KLWhlYWRlcigiQ29udGVudC1UeXBl
OiB0ZXh0L2NzcyIpOwotaGVhZGVyKCJFVGFnOiBmb28iKTsKLWhlYWRlcigiQ2FjaGUtQ29udHJv
bDogbWF4LWFnZT0wIik7Ci0KLT8+Ci0KLS50ZXN0Q2xhc3MKLXsKLSAgICBjb2xvcjogZ3JlZW47
Ci19CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3Vs
YXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY3NzLXRvLXJldmFsaWRhdGUucHkKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZl
LXZhbGlkYXRpb24vcmVzb3VyY2VzL2Nzcy10by1yZXZhbGlkYXRlLnB5CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12
YWxpZGF0aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5weQkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDIzIEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1w
b3J0IHN5cworCittYXRjaCA9IG9zLmVudmlyb24uZ2V0KCdIVFRQX0lGX05PTkVfTUFUQ0gnLCAn
JykKK2lmIG1hdGNoID09ICdmb28nOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICdz
dGF0dXM6IDMwNFxyXG4nCisgICAgICAgICdFVGFnOiBmb29cclxuJworICAgICAgICAnQ29udGVu
dC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICApCisgICAgc3lzLmV4aXQoMCkKKworc3lz
LnN0ZG91dC53cml0ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2Nzc1xyXG4nCisgICAgJ0VU
YWc6IGZvb1xyXG4nCisgICAgJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MFxyXG5cclxuJworICAg
ICcudGVzdENsYXNzXG4nCisgICAgJ3tcbicKKyAgICAnICAgIGNvbG9yOiBncmVlbjtcbicKKyAg
ICAnfVxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12
YWxpZGF0aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5weQpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9z
cGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRpY2F0ZWQt
cmVzb3VyY2UucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9mcmFtZS13aXRoLWF1
dGhlbnRpY2F0ZWQtcmVzb3VyY2UucGhwCShyZXZpc2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNv
dXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnBocAkobm9uZXhpc3RlbnQp
CkBAIC0xLDEwICswLDAgQEAKLTw/cGhwCi1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1s
Jyk7Ci1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MCcpOwotaGVhZGVyKCdFdGFnOiAx
MjM0NTY3ODknKTsKLQotPz4KLTwhRE9DVFlQRSBodG1sPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0i
cmVzb3VyY2Utd2l0aC1hdXRoLnBocCI+PC9zY3JpcHQ+Ci08L2JvZHk+CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9y
ZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnB5Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12
YWxpZGF0aW9uL3Jlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRpY2F0ZWQtcmVzb3VyY2UucHkJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hl
L3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2ZyYW1lLXdpdGgtYXV0aGVudGljYXRl
ZC1yZXNvdXJjZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACisjIS91c3IvYmlu
L2VudiBweXRob24zCisKK2ltcG9ydCBzeXMKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ2Fj
aGUtQ29udHJvbDogbWF4LWFnZT0wXHJcbicKKyAgICAnRXRhZzogMTIzNDU2Nzg5XHJcbicKKyAg
ICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICAnPCFET0NUWVBFIGh0bWw+
XG4nCisgICAgJzxib2R5PlxuJworICAgICc8c2NyaXB0IHNyYz0icmVzb3VyY2Utd2l0aC1hdXRo
LnB5Ij48L3NjcmlwdD5cbicKKyAgICAnPC9ib2R5PlxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9mcmFtZS13aXRo
LWF1dGhlbnRpY2F0ZWQtcmVzb3VyY2UucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFi
bGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFs
aWRhdGlvbi9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tY3NzLnBocAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlv
bi9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tY3NzLnBocAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRp
b24vcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWNzcy5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw2ICsw
LDAgQEAKLTw/cGhwCi1oZWFkZXIoJ0hUVFAvMS4xIDMwMiBGb3VuZCcpOwotaGVhZGVyKCdMb2Nh
dGlvbjogL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMv
Y3NzLXRvLXJldmFsaWRhdGUucGhwJyk7Ci1oZWFkZXIoJ0V4cGlyZXM6IFRodSwgMDEgRGVjIDIw
MDMgMTY6MDA6MDAgR01UJyk7Ci1oZWFkZXIoJ0VUYWc6IGZvbycpOwotPz4KSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9u
L3Jlc291cmNlcy9yZWRpcmVjdC10by1jc3MucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3Vy
Y2VzL3JlZGlyZWN0LXRvLWNzcy5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMv
cmVkaXJlY3QtdG8tY3NzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTEgQEAKKyMhL3Vz
ci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IHN5cworCitzeXMuc3Rkb3V0LndyaXRlKAorICAg
ICdzdGF0dXM6IDMwMlxyXG4nCisgICAgJ0xvY2F0aW9uOiAvY2FjaGUvZGlzay1jYWNoZS9zcGVj
dWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5weVxyXG4nCisg
ICAgJ0V4cGlyZXM6IFRodSwgMDEgRGVjIDIwMDMgMTY6MDA6MDAgR01UXHJcbicKKyAgICAnRVRh
ZzogZm9vXHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKykKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNv
dXJjZXMvcmVkaXJlY3QtdG8tY3NzLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxl
CiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlk
YXRpb24vcmVzb3VyY2VzL3Jlc291cmNlLXdpdGgtYXV0aC5waHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRp
b24vcmVzb3VyY2VzL3Jlc291cmNlLXdpdGgtYXV0aC5waHAJKHJldmlzaW9uIDI3NDI1NSkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxp
ZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucGhwCShub25leGlzdGVudCkKQEAg
LTEsMTggKzAsMCBAQAotPD9waHAKLSRleHBlY3RlZFVzZXJuYW1lID0gJ3Rlc3RVc2VybmFtZSc7
Ci0kZXhwZWN0ZWRQYXNzd29yZCA9ICd0ZXN0UGFzc3dvcmQnOwotJHJlYWxtID0gJF9TRVJWRVJb
J1JFUVVFU1RfVVJJJ107Ci0KLWhlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQn
KTsKLWhlYWRlcignQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0wJyk7Ci1oZWFkZXIoJ0V0YWc6IDEy
MzQ1Njc4OScpOwotCi1pZiAoIWlzc2V0KCRfU0VSVkVSWydQSFBfQVVUSF9VU0VSJ10pIHx8ICRf
U0VSVkVSWydQSFBfQVVUSF9VU0VSJ10gIT0gJGV4cGVjdGVkVXNlcm5hbWUgfHwKLSAgICAhaXNz
ZXQoJF9TRVJWRVJbJ1BIUF9BVVRIX1BXJ10pIHx8ICRfU0VSVkVSWydQSFBfQVVUSF9QVyddICE9
ICRleHBlY3RlZFBhc3N3b3JkKSB7Ci0gICAgaGVhZGVyKCJXV1ctQXV0aGVudGljYXRlOiBCYXNp
YyByZWFsbT1cIiIgLiAkcmVhbG0gLiAiXCIiKTsKLSAgICBoZWFkZXIoJ0hUVFAvMS4wIDQwMSBV
bmF1dGhvcml6ZWQnKTsKLSAgICBwcmludCAnU2VudCB1c2VybmFtZTpwYXNzd29yZCBvZiAoJyAu
ICRfU0VSVkVSWydQSFBfQVVUSF9VU0VSJ10gLiAnOicgLiAkX1NFUlZFUlsnUEhQX0FVVEhfUFcn
XSAuICcpIHdoaWNoIGlzIG5vdCB3aGF0IHdhcyBleHBlY3RlZCc7Ci0gICAgZXhpdDsKLX0KLT8+
Ci1sb2FkZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNr
LWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3Jlc291cmNlLXdpdGgtYXV0
aC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2Fj
aGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVzb3VyY2Utd2l0aC1hdXRoLnB5
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucHkJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwor
CitpbXBvcnQgYmFzZTY0CitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworY3JlZGVudGlhbHMgPSBi
YXNlNjQuYjY0ZGVjb2RlKG9zLmVudmlyb24uZ2V0KCdIVFRQX0FVVEhPUklaQVRJT04nLCAnIE9n
PT0nKS5zcGxpdCgnICcpWzFdKS5kZWNvZGUoKS5zcGxpdCgnOicpCit1c2VybmFtZSA9IGNyZWRl
bnRpYWxzWzBdCitwYXNzd29yZCA9ICc6Jy5qb2luKGNyZWRlbnRpYWxzWzE6XSkKKworZXhwZWN0
ZWRVc2VybmFtZSA9ICd0ZXN0VXNlcm5hbWUnCitleHBlY3RlZFBhc3N3b3JkID0gJ3Rlc3RQYXNz
d29yZCcKK3JlYWxtID0gb3MuZW52aXJvbi5nZXQoJ1JFUVVFU1RfVVJJJywgJycpCisKK3N5cy5z
dGRvdXQud3JpdGUoCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0XHJcbicKKyAg
ICAnQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0wXHJcbicKKyAgICAnRXRhZzogMTIzNDU2Nzg5XHJc
bicKKykKKworaWYgdXNlcm5hbWUgIT0gZXhwZWN0ZWRVc2VybmFtZSBvciBwYXNzd29yZCAhPSBl
eHBlY3RlZFBhc3N3b3JkOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgIGYnV1dXLUF1
dGhlbnRpY2F0ZTogQmFzaWMgcmVhbG09IntyZWFsbX0iXHJcbicKKyAgICAgICAgJ3N0YXR1czog
NDAxXHJcblxyXG4nCisgICAgICAgIGYnU2VudCB1c2VybmFtZTpwYXNzd29yZCBvZiAoe3VzZXJu
YW1lfTp7cGFzc3dvcmR9KSB3aGljaCBpcyBub3Qgd2hhdCB3YXMgZXhwZWN0ZWRcbicKKyAgICAp
CisgICAgc3lzLmV4aXQoMCkKKworc3lzLnN0ZG91dC53cml0ZSgnXHJcbmxvYWRlZCA9IHRydWU7
XG4nKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0
aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucHkKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3Vs
YXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1lLnBocAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3Bl
Y3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1lLnBo
cAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNr
LWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3ZhbGlkYXRpb24tcmVxdWVz
dC1mcmFtZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNiArMCwwIEBACi08P3BocAotaGVhZGVy
KCdDb250ZW50LVR5cGU6IHRleHQvaHRtbCcpOwotaGVhZGVyKCdDYWNoZS1Db250cm9sOiBtYXgt
YWdlPTAnKTsKLWhlYWRlcignRXRhZzogMTIzNDU2Nzg5Jyk7Ci0kY29va2llID0gInNwZWN1bGF0
aXZlUmVxdWVzdFZhbGlkYXRpb249IiAuIHVuaXFpZCgpOwotaGVhZGVyKCdTZXQtQ29va2llOiAn
IC4gJGNvb2tpZSk7Ci0/PgotPCFET0NUWVBFIGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSJy
ZXF1ZXN0LWhlYWRlcnMtc2NyaXB0LnBocCI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotPD9waHAKLWVj
aG8gInNlbnRTZXRDb29raWVIZWFkZXIgPSAnIiAuICRjb29raWUgLiAiJzsiOwotPz4KLTwvc2Ny
aXB0PgotPC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNh
Y2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3ZhbGlkYXRpb24tcmVxdWVzdC1m
cmFtZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0
LWZyYW1lLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJl
cXVlc3QtZnJhbWUucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorIyEvdXNyL2Jp
bi9lbnYgcHl0aG9uMworCitpbXBvcnQgc3lzCitmcm9tIHV1aWQgaW1wb3J0IHV1aWQxCisKK2Nv
b2tpZSA9IGYnc3BlY3VsYXRpdmVSZXF1ZXN0VmFsaWRhdGlvbj17dXVpZDEoKX0nCisKK3N5cy5z
dGRvdXQud3JpdGUoCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcbicKKyAgICAnQ2Fj
aGUtQ29udHJvbDogbWF4LWFnZT0wXHJcbicKKyAgICAnRXRhZzogMTIzNDU2Nzg5XHJcbicKKyAg
ICBmJ1NldC1Db29raWU6IHtjb29raWV9XHJcblxyXG4nCisgICAgJzwhRE9DVFlQRSBodG1sPlxu
JworICAgICc8Ym9keT5cbicKKyAgICAnPHNjcmlwdCBzcmM9InJlcXVlc3QtaGVhZGVycy1zY3Jp
cHQucGhwIj48L3NjcmlwdD5cbicKKyAgICAnPHNjcmlwdD5cbicKKyAgICBmJ3NlbnRTZXRDb29r
aWVIZWFkZXIgPSBcJ3tjb29raWV9XCc7XG4nCisgICAgJzwvc2NyaXB0PlxuJworICAgICc8L2Jv
ZHk+XG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZh
bGlkYXRpb24vcmVzb3VyY2VzL3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFtZS5weQpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL2JvZHkucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL2JvZHkucGhwCShyZXZpc2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9ib2R5LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAs
MCBAQAotPD9waHAKLWhlYWRlcignRXRhZzogMTIzNDU2Nzg5Jyk7Ci1lY2hvIGZpbGVfZ2V0X2Nv
bnRlbnRzKCdwaHA6Ly9pbnB1dCcpOwotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL2JvZHkucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9yZXNvdXJjZXMvYm9keS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9ib2R5LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMTEgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IHN5cworCitkYXRh
ID0gJycuam9pbihzeXMuc3RkaW4ucmVhZGxpbmVzKCkpCisKK3N5cy5zdGRvdXQud3JpdGUoCisg
ICAgJ0V0YWc6IDEyMzQ1Njc4OVxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJc
blxyXG4nCisgICAgZid7ZGF0YX0nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMv
Ym9keS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisq
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3QucGhwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRy
b2wtcmVkaXJlY3QucGhwCShyZXZpc2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0LnBocAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDI3ICswLDAgQEAKLTw/cGhwCi0gICAgJGNvZGUgPSAkX0dFVFsnY29kZSddOwot
ICAgIGlmICghaXNzZXQoJGNvZGUpKQotICAgICAgICAkY29kZSA9IDMwMjsKLSAgICBoZWFkZXIo
J0hUVFAvMS4xICcgLiAkY29kZSk7Ci0KLSAgICAkdXJsID0gJF9HRVRbJ3VybCddOwotICAgICRy
YW5kb21faWQgPSAkX0dFVFsncmFuZG9tX2lkJ107Ci0gICAgaWYgKGlzc2V0KCRyYW5kb21faWQp
KSB7Ci0gICAgICAgICRpZCA9ICcnOwotICAgICAgICAkY2hhcnNldCA9ICdBQkNERUZHSElLTE1O
T1BRUlNUVVZXWFlaMDEyMzQ1Njc4OSc7Ci0gICAgICAgIGZvciAoJGkgPSAwOyAkaSA8IDE2OyAk
aSsrKQotICAgICAgICAgICAgJGlkIC49ICRjaGFyc2V0W3JhbmQoMCwgc3RybGVuKCRjaGFyc2V0
KSAtIDEpXTsKLSAgICAgICAgaGVhZGVyKCdMb2NhdGlvbjogJyAuICR1cmwgLiAnP2lkPScgLiAk
aWQpOwotICAgIH0KLSAgICBlbHNlCi0gICAgICAgIGhlYWRlcignTG9jYXRpb246ICcgLiAkdXJs
KTsKLQotICAgICRleHBpcmF0aW9uID0gJF9HRVRbJ2V4cGlyYXRpb24nXTsKLSAgICBpZiAoaXNz
ZXQoJGV4cGlyYXRpb24pKSB7Ci0gICAgICAgICRleHBpcmVzID0gZ21kYXRlKERBVEVfUkZDMTEy
MywgdGltZSgpICsgJGV4cGlyYXRpb24pOwotICAgICAgICBoZWFkZXIoJ0V4cGlyZXM6ICcgLiAk
ZXhwaXJlcyk7Ci0gICAgfQotCi0gICAgJGNhY2hlX2NvbnRyb2wgPSAkX0dFVFsnY2FjaGVfY29u
dHJvbCddOwotICAgIGhlYWRlcignQ2FjaGUtQ29udHJvbDogJyAuICRjYWNoZV9jb250cm9sKTsK
LT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1j
b250cm9sLXJlZGlyZWN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3QucHkJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGUtY29udHJvbC1y
ZWRpcmVjdC5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM0IEBACisjIS91c3IvYmluL2Vu
diBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSBkYXRldGltZSBpbXBvcnQg
ZGF0ZXRpbWUsIHRpbWVkZWx0YQorZnJvbSByYW5kb20gaW1wb3J0IHJhbmRpbnQKK2Zyb20gdXJs
bGliLnBhcnNlIGltcG9ydCBwYXJzZV9xcworCitxdWVyeSA9IHBhcnNlX3FzKG9zLmVudmlyb24u
Z2V0KCdRVUVSWV9TVFJJTkcnLCAnJyksIGtlZXBfYmxhbmtfdmFsdWVzPVRydWUpCitjb2RlID0g
cXVlcnkuZ2V0KCdjb2RlJywgWzMwMl0pWzBdCit1cmwgPSBxdWVyeS5nZXQoJ3VybCcsIFsnaW5k
ZXguaHRtbCddKVswXQorcmFuZG9tX2lkID0gcXVlcnkuZ2V0KCdyYW5kb21faWQnLCBbJyddKVsw
XQorZXhwaXJhdGlvbiA9IHF1ZXJ5LmdldCgnZXhwaXJhdGlvbicsIFswXSlbMF0KK2NhY2hlX2Nv
bnRyb2wgPSBxdWVyeS5nZXQoJ2NhY2hlX2NvbnRyb2wnLCBbJyddKVswXQorCitzeXMuc3Rkb3V0
LndyaXRlKAorICAgIGYnc3RhdHVzOiB7Y29kZX1cclxuJworICAgICdDb250ZW50LVR5cGU6IHRl
eHQvaHRtbFxyXG4nCispCisKK2lmIHJhbmRvbV9pZCBpcyBub3QgJyc6CisgICAgaWRlbnQgPSAn
JworICAgIGNoYXJzZXQgPSAnQUJDREVGR0hJS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODknCisg
ICAgZm9yIGkgaW4gcmFuZ2UoMCwgMTYpOgorICAgICAgICBpZGVudCArPSBjaGFyc2V0W3JhbmRp
bnQoMCwgbGVuKGNoYXJzZXQpKV0KKyAgICBzeXMuc3Rkb3V0LndyaXRlKGYnTG9jYXRpb246IHt1
cmx9P2lkPXtpZGVudH1cclxuJykKK2Vsc2U6CisgICAgc3lzLnN0ZG91dC53cml0ZShmJ0xvY2F0
aW9uOiB7dXJsfVxyXG4nKQorCitpZiBleHBpcmF0aW9uIGlzIG5vdCAwOgorICAgIGV4cGlyZXMg
PSAne30gKzAwMDAnLmZvcm1hdCgoZGF0ZXRpbWUudXRjbm93KCkgKyB0aW1lZGVsdGEoc2Vjb25k
cz1leHBpcmF0aW9uKSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorICAgIHN5
cy5zdGRvdXQud3JpdGUoZidFeHBpcmVzOiB7ZXhwaXJhdGlvbn1cclxuJykKKworc3lzLnN0ZG91
dC53cml0ZShmJ0NhY2hlLUNvbnRyb2w6IHtjYWNoZV9jb250cm9sfVxyXG5cclxuJykKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0LnB5Cl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9y
ZXNvdXJjZXMvY2FjaGVhYmxlLWlmcmFtZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLWlmcmFtZS5waHAJKHJldmlzaW9u
IDI3NDI1NSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hl
YWJsZS1pZnJhbWUucGhwCShub25leGlzdGVudCkKQEAgLTEsMTEgKzAsMCBAQAotPD9waHAKLXJl
cXVpcmVfb25jZSAnLi4vLi4vcmVzb3VyY2VzL3BvcnRhYmlsaXR5TGF5ZXIucGhwJzsKLQotJG1h
eF9hZ2UgPSAxMiAqIDMxICogMjQgKiA2MCAqIDYwOyAvL29uZSB5ZWFyCi0kZXhwaXJlcyA9IGdt
ZGF0ZShEQVRFX1JGQzExMjMsIHRpbWUoKSArICRtYXhfYWdlKTsKLQotaGVhZGVyKCdDYWNoZS1D
b250cm9sOiBwdWJsaWMsIG1heC1hZ2U9JyAuICRtYXhfYWdlKTsKLWhlYWRlcignRXhwaXJlczog
JyAuICRleHBpcmVzKTsKLWhlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0L2h0bWwnKTsKLWV4aXQo
KTsKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNo
ZWFibGUtaWZyYW1lLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1pZnJhbWUucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLWlmcmFtZS5weQkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2lt
cG9ydCBzeXMKKworbWF4X2FnZSA9IDEyICogMzEgKiAyNCAqIDYwICogNjAKK2V4cGlyZXMgPSAn
e30gKzAwMDAnLmZvcm1hdCgoZGF0ZXRpbWUudXRjbm93KCkgKyB0aW1lZGVsdGEoc2Vjb25kcz1t
YXhfYWdlKSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorCitzeXMuc3Rkb3V0
LndyaXRlKAorICAgIGYnQ2FjaGUtQ29udHJvbDogcHVibGljLCBtYXgtYWdlPXttYXhfYWdlfVxy
XG4nCisgICAgZidFeHBpcmVzOiB7ZXhwaXJlc31cclxuJworICAgICdDb250ZW50LVR5cGU6IHRl
eHQvaHRtbFxyXG4nCispCitzeXMuZXhpdCgwKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL2NhY2hlYWJsZS1pZnJhbWUucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUK
IyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRl
eHQucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5waHAJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5w
aHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBACi08P3BocAotICAgICRtYXhfYWdlID0g
MTIgKiAzMSAqIDI0ICogNjAgKiA2MDsgLy9vbmUgeWVhcgotICAgIGhlYWRlcignQ2FjaGUtQ29u
dHJvbDogcHVibGljLCBtYXgtYWdlPScgLiAkbWF4X2FnZSk7Ci0gICAgaGVhZGVyKCdDb250ZW50
LVR5cGU6IHRleHQvaHRtbCcpOwotCi0gICAgJGlkID0gJEdFVFsnaWQnXTsKLSAgICBpZiAoIWlz
c2V0KCRHRVRbJ3JhbmRvbV9pZCddKSkgewotICAgICAgICAkaWQgPSAnJzsKLSAgICAgICAgJGNo
YXJzZXQgPSAnQUJDREVGR0hJS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODknOwotICAgICAgICBm
b3IgKCRpID0gMDsgJGkgPCAxNjsgJGkrKykKLSAgICAgICAgICAgICRpZCAuPSAkY2hhcnNldFty
YW5kKDAsIHN0cmxlbigkY2hhcnNldCkgLSAxKV07Ci0gICAgfQotICAgIGVjaG8gJzxodG1sPjxi
b2R5PlNvbWUgcmFuZG9tIHRleHQnIC4gJGlkIC4gICc8L2htbD48L2JvZHk+JzsKLT8+CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9t
LXRleHQucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNv
dXJjZXMvY2FjaGVhYmxlLXJhbmRvbS10ZXh0LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5weQko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI1IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisK
K2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSByYW5kb20gaW1wb3J0IHJhbmRpbnQKK2Zyb20g
dXJsbGliLnBhcnNlIGltcG9ydCBwYXJzZV9xcworCitxdWVyeSA9IHBhcnNlX3FzKG9zLmVudmly
b24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAnJyksIGtlZXBfYmxhbmtfdmFsdWVzPVRydWUpCitpZGVu
dCA9IHF1ZXJ5LmdldCgnaWQnLCBbJyddKVswXQorCittYXhfYWdlID0gMTIgKiAzMSAqIDI0ICog
NjAgKiA2MAorcmFuZG9tX2lkZW50ID0gVHJ1ZSBpZiBxdWVyeS5nZXQoJ3JhbmRvbV9pZCcsIFtO
b25lXSlbMF0gaXMgbm90IE5vbmUgZWxzZSBGYWxzZQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAg
IGYnQ2FjaGUtQ29udHJvbDogcHVibGljLCBtYXgtYWdlPXttYXhfYWdlfVxyXG4nCisgICAgJ0Nv
bnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCispCisKK2lmIG5vdCByYW5kb21faWRlbnQ6
CisgICAgaWRlbnQgPSAnJworICAgIGNoYXJzZXQgPSAnQUJDREVGR0hJS0xNTk9QUVJTVFVWV1hZ
WjAxMjM0NTY3ODknCisgICAgZm9yIGkgaW4gcmFuZ2UoMCwgMTYpOgorICAgICAgICBpZGVudCAr
PSBjaGFyc2V0W3JhbmRpbnQoMCwgbGVuKGNoYXJzZXQpIC0gMSldCisKK3N5cy5zdGRvdXQud3Jp
dGUoZic8aHRtbD48Ym9keT5Tb21lIHJhbmRvbSB0ZXh0e2lkZW50fTwvaG1sPjwvYm9keT4nKQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5weQpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBocAkocmV2aXNpb24gMjc0MjU1KQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBocAko
bm9uZXhpc3RlbnQpCkBAIC0xLDIxICswLDAgQEAKLTw/cGhwDQotcmVxdWlyZV9vbmNlICcuLi8u
Li9yZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXllci5waHAnOw0KLQ0KLWNsZWFyc3RhdGNhY2hlKCk7
DQotDQotaWYgKCRfU0VSVkVSWyJIVFRQX0lGX01PRElGSUVEX1NJTkNFIl0pIHsNCi0gICAgaGVh
ZGVyKCJIVFRQLzEuMSAzMDQgTm90IE1vZGlmaWVkIik7DQotICAgIGV4aXQoKTsNCi19DQotJG9u
ZV95ZWFyID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MDsNCi0kbGFzdF9tb2RpZmllZCA9IGdtZGF0
ZShEQVRFX1JGQzExMjMsIHRpbWUoKSAtICRvbmVfeWVhcik7DQotJGV4cGlyZXMgPSBnbWRhdGUo
REFURV9SRkMxMTIzLCB0aW1lKCkgKyAkb25lX3llYXIpOw0KLQ0KLWhlYWRlcignQ2FjaGUtQ29u
dHJvbDogbm8tY2FjaGUsIG1heC1hZ2U9JyAuICRvbmVfeWVhcik7DQotaGVhZGVyKCdFeHBpcmVz
OiAnIC4gJGV4cGlyZXMpOw0KLWhlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0L2h0bWwnKTsNCi1o
ZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoOiAwJyk7DQotaGVhZGVyKCdFdGFnOiAxMjM0NTY3ODknKTsN
Ci1oZWFkZXIoJ0xhc3QtTW9kaWZpZWQ6ICcgLiAkbGFzdF9tb2RpZmllZCk7DQotZXhpdCgpOw0K
LT8+DQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1l
MzA0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL2lmcmFtZTMwNC5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwy
NyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zy
b20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lZGVsdGEKKworbW9kaWZpZWRfc2luY2Ug
PSBvcy5lbnZpcm9uLmdldCgnSFRUUF9JRl9NT0RJRklFRF9TSU5DRScsICcnKQorCitzeXMuc3Rk
b3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nKQorCitpZiBtb2RpZmllZF9z
aW5jZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdzdGF0dXM6IDMwNFxyXG5cclxuJykKKyAgICBz
eXMuZXhpdCgwKQorCitvbmVfeWVhciA9IDEyICogMzEgKiAyNCAqIDYwICogNjAKK2xhc3RfbW9k
aWZpZWQgPSAne30gKzAwMDAnLmZvcm1hdCgoZGF0ZXRpbWUudXRjbm93KCkgLSB0aW1lZGVsdGEo
c2Vjb25kcz1vbmVfeWVhcikpLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06JVMnKSkKK2V4
cGlyZXMgPSAne30gKzAwMDAnLmZvcm1hdCgoZGF0ZXRpbWUudXRjbm93KCkgKyB0aW1lZGVsdGEo
c2Vjb25kcz1vbmVfeWVhcikpLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06JVMnKSkKKwor
c3lzLnN0ZG91dC53cml0ZSgKKyAgICBmJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBtYXgtYWdl
PXtvbmVfeWVhcn1cclxuJworICAgIGYnRXhwaXJlczoge2V4cGlyZXN9XHJcbicKKyAgICAnQ29u
dGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJworICAgICdDb250ZW50LUxlbmd0aDogMFxyXG4nCisg
ICAgJ0V0YWc6IDEyMzQ1Njc4OVxyXG4nCisgICAgZidMYXN0LU1vZGlmaWVkOiB7bGFzdF9tb2Rp
ZmllZH1cclxuJworKQorc3lzLmV4aXQoMCkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9pZnJhbWUzMDQucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCAr
MSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDRib2R5LnBocAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDRib2R5
LnBocAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9y
ZXNvdXJjZXMvaWZyYW1lMzA0Ym9keS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBA
Ci08P3BocA0KLXJlcXVpcmVfb25jZSAnLi4vLi4vcmVzb3VyY2VzL3BvcnRhYmlsaXR5TGF5ZXIu
cGhwJzsNCi0NCi1jbGVhcnN0YXRjYWNoZSgpOw0KLQ0KLWlmICgkX1NFUlZFUlsiSFRUUF9JRl9N
T0RJRklFRF9TSU5DRSJdKSB7DQotICAgIGhlYWRlcigiSFRUUC8xLjEgMzA0IE5vdCBNb2RpZmll
ZCIpOw0KLSAgICBleGl0KCk7DQotfQ0KLWhlYWRlcignQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUn
KTsNCi1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sJyk7DQotaGVhZGVyKCdFdGFnOiAx
MjM0NTY3ODknKTsNCi0/Pg0KLWJvZHkgdGV4dApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNGJv
ZHkucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvaWZyYW1lMzA0Ym9keS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDRib2R5LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMTggQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQg
c3lzCisKK21vZGlmaWVkX3NpbmNlID0gb3MuZW52aXJvbi5nZXQoJ0hUVFBfSUZfTU9ESUZJRURf
U0lOQ0UnLCAnJykKKworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxc
clxuJykKKworaWYgbW9kaWZpZWRfc2luY2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgnc3RhdHVz
OiAzMDRcclxuXHJcbicpCisgICAgc3lzLmV4aXQoMCkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAg
ICAnQ2FjaGUtQ29udHJvbDogbm8tY2FjaGVcclxuJworICAgICdFdGFnOiAxMjM0NTY3ODlcclxu
XHJcbicKKyAgICAnYm9keSB0ZXh0JworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L2lmcmFtZTMwNGJvZHkucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAs
MCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLW5l
eHQucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5waHAJKHJldmlzaW9uIDI3NDI1NSkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVz
b3VyY2UtbmV4dC5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMSArMCwwIEBACi08P3BocAotaGVh
ZGVyKCJDYWNoZS1jb250cm9sOiBuby1jYWNoZSwgbWF4LWFnZT0wIik7Ci1oZWFkZXIoIkxhc3Qt
TW9kaWZpZWQ6IFRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UIik7Ci1oZWFkZXIoJ0NvbnRl
bnQtVHlwZTogdGV4dC9odG1sJyk7Ci0KLXByaW50ICI8c2NyaXB0PlxuIjsKLXByaW50ICJ2YXIg
cmFuZG9tTnVtYmVyID0gIiAuIHJhbmQoKSAuICI7XG4iOwotPz4KLQotb3BlbmVyLnBvc3RNZXNz
YWdlKHJhbmRvbU51bWJlciwgJyonKTsKLTwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS1uZXh0LnB5Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNh
Y2hlLW1haW4tcmVzb3VyY2UtbmV4dC5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLW5leHQucHkJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwor
CitpbXBvcnQgc3lzCitmcm9tIHJhbmRvbSBpbXBvcnQgcmFuZGludAorCitzeXMuc3Rkb3V0Lndy
aXRlKAorICAgICdDYWNoZS1jb250cm9sOiBuby1jYWNoZSwgbWF4LWFnZT0wXHJcbicKKyAgICAn
TGFzdC1Nb2RpZmllZDogVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHTVRcclxuJworICAgICdD
b250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworICAgICc8c2NyaXB0PlxuJworICAgIGYn
dmFyIHJhbmRvbU51bWJlciA9IHtyYW5kaW50KDAsIHN5cy5tYXhzaXplKX07XG4nCisgICAgJ29w
ZW5lci5wb3N0TWVzc2FnZShyYW5kb21OdW1iZXIsIFwnKlwnKTtcbicKKyAgICAnPC9zY3JpcHQ+
XG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNv
dXJjZS1uZXh0LnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEg
IyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS5waHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2Fj
aGUtbWFpbi1yZXNvdXJjZS5waHAJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UucGhwCShub25l
eGlzdGVudCkKQEAgLTEsMzQgKzAsMCBAQAotPD9waHAKLWhlYWRlcigiQ2FjaGUtY29udHJvbDog
bm8tY2FjaGUsIG1heC1hZ2U9MCIpOwotaGVhZGVyKCJMYXN0LU1vZGlmaWVkOiBUaHUsIDAxIEph
biAxOTcwIDAwOjAwOjAwIEdNVCIpOwotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbCcp
OwotCi1wcmludCAiPHNjcmlwdD5cbiI7Ci1wcmludCAidmFyIHJhbmRvbU51bWJlciA9ICIgLiBy
YW5kKCkgLiAiO1xuIjsKLT8+Ci0KLW9wZW5lci5wb3N0TWVzc2FnZShyYW5kb21OdW1iZXIsICcq
Jyk7Ci0KLS8vIE91ciBvcGVuZXIgd2lsbCB0ZWxsIHVzIHRvIHBlcmZvcm0gdmFyaW91cyBsb2Fk
cy4KLXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24oZXZlbnQpIHsK
LQotICAgIC8vIEdvIGZvcndhcmQgYW5kIGJhY2suCi0gICAgaWYgKGV2ZW50LmRhdGEgPT09ICdn
by1mb3J3YXJkLWFuZC1iYWNrJykgewotICAgICAgICB3aW5kb3cubG9jYXRpb24gPSAnaGlzdG9y
eS1iYWNrLmh0bWwnOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gUmVsb2FkLgot
ICAgIGlmIChldmVudC5kYXRhID09PSAncmVsb2FkJykgewotICAgICAgICB3aW5kb3cubG9jYXRp
b24ucmVsb2FkKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBOb3JtYWwgbmF2
aWdhdGlvbiwgbmV4dC4KLSAgICBpZiAoZXZlbnQuZGF0YSA9PT0gJ25leHQnKSB7Ci0gICAgICAg
IHdpbmRvdy5sb2NhdGlvbiA9ICduby1jYWNoZS1tYWluLXJlc291cmNlLW5leHQucGhwJzsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLQotfSwgZmFsc2UpOwotPC9zY3JpcHQ+CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNl
LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L25vLWNhY2hlLW1haW4tcmVzb3VyY2UucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS5weQkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDM3IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2lt
cG9ydCBzeXMKK2Zyb20gcmFuZG9tIGltcG9ydCByYW5kaW50CisKK3N5cy5zdGRvdXQud3JpdGUo
CisgICAgJ0NhY2hlLWNvbnRyb2w6IG5vLWNhY2hlLCBtYXgtYWdlPTBcclxuJworICAgICdMYXN0
LU1vZGlmaWVkOiBUaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIEdNVFxyXG4nCisgICAgJ0NvbnRl
bnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCisgICAgJzxzY3JpcHQ+XG4nCisgICAgZid2YXIg
cmFuZG9tTnVtYmVyID0ge3JhbmRpbnQoMCwgc3lzLm1heHNpemUgKyAxKX07XG4nCisgICAgJ29w
ZW5lci5wb3N0TWVzc2FnZShyYW5kb21OdW1iZXIsIFwnKlwnKTtcbicKKyAgICAnXG4nCisgICAg
Jy8vIE91ciBvcGVuZXIgd2lsbCB0ZWxsIHVzIHRvIHBlcmZvcm0gdmFyaW91cyBsb2Fkcy5cbicK
KyAgICAnd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCdtZXNzYWdlXCcsIGZ1bmN0aW9uKGV2ZW50
KSB7XG4nCisgICAgJ1xuJworICAgICcgICAgLy8gR28gZm9yd2FyZCBhbmQgYmFjay5cbicKKyAg
ICAnICAgIGlmIChldmVudC5kYXRhID09PSBcJ2dvLWZvcndhcmQtYW5kLWJhY2tcJykge1xuJwor
ICAgICcgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IFwnaGlzdG9yeS1iYWNrLmh0bWxcJztcbicK
KyAgICAnICAgICAgICByZXR1cm47XG4nCisgICAgJyAgICB9XG4nCisgICAgJ1xuJworICAgICcg
ICAgLy8gUmVsb2FkLlxuJworICAgICcgICAgaWYgKGV2ZW50LmRhdGEgPT09IFwncmVsb2FkXCcp
IHtcbicKKyAgICAnICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4nCisgICAgJyAg
ICAgICAgcmV0dXJuO1xuJworICAgICcgICAgfVxuJworICAgICdcbicKKyAgICAnICAgIC8vIE5v
cm1hbCBuYXZpZ2F0aW9uLCBuZXh0LlxuJworICAgICcgICAgaWYgKGV2ZW50LmRhdGEgPT09IFwn
bmV4dFwnKSB7XG4nCisgICAgJyAgICAgICAgd2luZG93LmxvY2F0aW9uID0gXCduby1jYWNoZS1t
YWluLXJlc291cmNlLW5leHQucHlcJztcbicKKyAgICAnICAgICAgICByZXR1cm47XG4nCisgICAg
JyAgICB9XG4nCisgICAgJ1xuJworICAgICd9LCBmYWxzZSk7XG4nCisgICAgJzwvc2NyaXB0Plxu
JworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3Vy
Y2UucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS13aXRoLXZhbGlkYXRpb24ucGhwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLXdp
dGgtdmFsaWRhdGlvbi5waHAJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5waHAJKG5vbmV4
aXN0ZW50KQpAQCAtMSwxMCArMCwwIEBACi08P3BocAotaWYgKCRfU0VSVkVSWyJIVFRQX0lGX01P
RElGSUVEX1NJTkNFIl0pIHsKLSAgICBoZWFkZXIoIkhUVFAvMS4wIDMwNCBOb3QgTW9kaWZpZWQi
KTsKLSAgICBleGl0KCk7Ci19Ci1oZWFkZXIoIkNhY2hlLWNvbnRyb2w6IG5vLWNhY2hlIik7Ci1o
ZWFkZXIoIkxhc3QtTW9kaWZpZWQ6IFRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UIik7Ci1o
ZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbiIpOwotPz4KLWZvbwpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtd2l0aC12YWxpZGF0aW9u
LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L25vLWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS13aXRoLXZhbGlkYXRpb24ucHkJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxOCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwor
CitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworbW9kaWZpZWRfc2luY2UgPSBvcy5lbnZpcm9uLmdl
dCgnSFRUUF9JRl9NT0RJRklFRF9TSU5DRScsICcnKQorCitzeXMuc3Rkb3V0LndyaXRlKCdDb250
ZW50LVR5cGU6IHRleHQvcGxhaW5cclxuJykKKworaWYgbW9kaWZpZWRfc2luY2U6CisgICAgc3lz
LnN0ZG91dC53cml0ZSgnc3RhdHVzOiAzMDRcclxuXHJcbicpCisgICAgc3lzLmV4aXQoMCkKKwor
c3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ2FjaGUtY29udHJvbDogbm8tY2FjaGVcclxuJworICAg
ICdMYXN0LU1vZGlmaWVkOiBUaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIEdNVFxyXG5cclxuJwor
ICAgICdmb29cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS13
aXRoLXZhbGlkYXRpb24ucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAs
MCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucGhwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Blcm1h
bmVudC1yZWRpcmVjdC5waHAJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Blcm1hbmVudC1yZWRpcmVjdC5waHAJKG5vbmV4aXN0ZW50
KQpAQCAtMSw2ICswLDAgQEAKLTw/Ci0kbG9jYXRpb24gPSAkX0dFVFsnbG9jYXRpb24nXTsKLQot
aGVhZGVyKCdIVFRQLzEuMSAzMDEgUGVybWFuZW50IFJlZGlyZWN0Jyk7Ci1oZWFkZXIoJ0xvY2F0
aW9uOicgLiAkbG9jYXRpb24pOwotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL3Blcm1hbmVudC1yZWRpcmVjdC5weQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucHkJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGVy
bWFuZW50LXJlZGlyZWN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKKyMhL3Vz
ci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitmcm9tIHVybGxpYi5w
YXJzZSBpbXBvcnQgcGFyc2VfcXMKKworbG9jYXRpb24gPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdl
dCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKS5nZXQoJ2xvY2F0
aW9uJywgWydpbmRleC5odG1sJ10pWzBdCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ3N0YXR1
czogMzAxXHJcbicKKyAgICBmJ0xvY2F0aW9uOiB7bG9jYXRpb259XHJcbicKKyAgICAnQ29udGVu
dC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFi
bGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZl
cmlmeS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5weQkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDQ4IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2lt
cG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHRlbXBmaWxlCitmcm9tIGRhdGV0aW1lIGltcG9y
dCBkYXRldGltZSwgdGltZWRlbHRhCitmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMK
KworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5Z3dpbicpWy0xXQoraHR0cF9yb290ID0gb3Mu
cGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJu
YW1lKGZpbGUpKSkpCitzeXMucGF0aC5pbnNlcnQoMCwgaHR0cF9yb290KQorCit0ZXN0ID0gcGFy
c2VfcXMob3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklORycsICcnKSwga2VlcF9ibGFua192YWx1
ZXM9VHJ1ZSkuZ2V0KCd0ZXN0JywgWydzdGF0ZSddKVswXQordG1wRmlsZVBhdGggPSBvcy5wYXRo
LmpvaW4odGVtcGZpbGUuZ2V0dGVtcGRpcigpLCAne31fc3RhdGUnLmZvcm1hdCh0ZXN0KSkKKwor
aWYgb3MucGF0aC5pc2ZpbGUodG1wRmlsZVBhdGgpOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisg
ICAgICAgICdzdGF0dXM6IDQwNFxyXG4nCisgICAgICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRt
bFxyXG5cclxue30nLmZvcm1hdCh0bXBGaWxlUGF0aCkKKyAgICApCisgICAgc3lzLmV4aXQoMCkK
KwordG1wRmlsZSA9IG9wZW4odG1wRmlsZVBhdGgsICd3KycpCit0bXBGaWxlLmNsb3NlKCkKKwor
ZmlsZVBhdGggPSBvcy5wYXRoLmpvaW4oJy8nLmpvaW4oX19maWxlX18uc3BsaXQoJy8nKVswOi0x
XSksICdjb21wYXNzLW5vLWNhY2hlLmpwZycpCitzdGF0ID0gb3Muc3RhdChmaWxlUGF0aCkKK2Zp
bGVtdGltZSA9IHN0YXQuc3RfbXRpbWUKK2ZpbGVzaXplID0gc3RhdC5zdF9zaXplCisKK2V0YWcg
PSAnInt9LXt9IicuZm9ybWF0KGZpbGVzaXplLCBmaWxlbXRpbWUpCitsYXN0X21vZGlmaWVkID0g
J3t9ICswMDAwJy5mb3JtYXQoZGF0ZXRpbWUudXRjZnJvbXRpbWVzdGFtcChmaWxlbXRpbWUpLnN0
cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06JVMnKSkKK21heF9hZ2UgPSAxMiAqIDMxICogMjQg
KiA2MCAqIDYwCitleHBpcmVzID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1lLnV0Y25vdygp
ICsgdGltZWRlbHRhKHNlY29uZHM9bWF4X2FnZSkpLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6
JU06JVMnKSkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ2FjaGUtQ29udHJvbDogcHVibGlj
LCBtYXgtYWdlPXt9XHJcbicKKyAgICAnRXhwaXJlczoge31cclxuJworICAgICdDb250ZW50LVR5
cGU6IGltYWdlL3BuZ1xyXG4nCisgICAgJ0NvbnRlbnQtTGVuZ3RoOiB7fVxyXG4nCisgICAgJ0V0
YWc6IHt9XHJcbicKKyAgICAnTGFzdC1Nb2RpZmllZDoge31cclxuXHJcbicuZm9ybWF0KG1heF9h
Z2UsIGV4cGlyZXMsIGZpbGVzaXplLCBldGFnLCBsYXN0X21vZGlmaWVkKQorKQorCitzeXMuc3Rk
b3V0LmZsdXNoKCkKK3dpdGggb3BlbihmaWxlUGF0aCwgJ3JiJykgYXMgZmlsZToKKyAgICBzeXMu
c3Rkb3V0LmJ1ZmZlci53cml0ZShmaWxlLnJlYWQoKSkKK3N5cy5leGl0KDApClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcG9zdC1pbWFnZS10by12ZXJpZnkucHkKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBocAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3Vy
Y2UtaWZyYW1lLnBocAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLWlmcmFtZS5waHAJKG5v
bmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08P3BocAotaWYgKCRfU0VSVkVSWyJIVFRQX1BV
UlBPU0UiXSA9PSAicHJlZmV0Y2giKSB7Ci0gICAgZWNobyAiPHNjcmlwdD4iOwotICAgIGVjaG8g
InBhcmVudC53aW5kb3cucG9zdE1lc3NhZ2UoJ0ZBSUwnLCAnKicpOyI7Ci0gICAgZWNobyAiPC9z
Y3JpcHQ+IjsKLQotICAgIGV4aXQoKTsKLX0KLQotZWNobyAiPHNjcmlwdD4iOwotZWNobyAicGFy
ZW50LndpbmRvdy5wb3N0TWVzc2FnZSgnUEFTUycsICcqJyk7IjsKLWVjaG8gIjwvc2NyaXB0PiI7
Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0
Y2hlZC1tYWluLXJlc291cmNlLWlmcmFtZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1l
LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucHkJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwyMiBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9y
dCBzeXMKKworcHVycG9zZSA9IG9zLmVudmlyb24uZ2V0KCdIVFRQX1BVUlBPU0UnLCAnJykKKwor
c3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicpCisKK2lm
IHB1cnBvc2UgPT0gJ3ByZWZldGNoJzoKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAn
PHNjcmlwdD5cbicKKyAgICAgICAgJ3BhcmVudC53aW5kb3cucG9zdE1lc3NhZ2UoXCdGQUlMXCcs
IFwnKlwnKTtcbicKKyAgICAgICAgJzwvc2NyaXB0PlxuJworICAgICkKKyAgICBzeXMuZXhpdCgw
KQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICc8c2NyaXB0PlxuJworICAgICdwYXJlbnQud2lu
ZG93LnBvc3RNZXNzYWdlKFwnUEFTU1wnLCBcJypcJyk7XG4nCisgICAgJzwvc2NyaXB0PlxuJwor
KQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJj
ZS1pZnJhbWUucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAj
IworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UucGhwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZl
dGNoZWQtbWFpbi1yZXNvdXJjZS5waHAJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5waHAJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwyMSArMCwwIEBACi08P3BocAotaGVhZGVyKCdDYWNoZS1Db250
cm9sOiBtYXgtYWdlPTM2MDAnKTsKLT8+Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+
Ci08c2NyaXB0PgotCi1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgZmV0Y2goJ2h0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLnBo
cCcpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICBpZiAoaW50ZXJuYWxzLmZldGNoUmVz
cG9uc2VTb3VyY2UocmVzcG9uc2UpICE9ICJEaXNrIGNhY2hlIikgewotICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2xvZycpLmlubmVyVGV4dCA9ICdGQUlMOiByZXNvdXJjZSBpcyBub3Qg
aW4gdGhlIGRpc2sgY2FjaGUuJzsKLSAgICB9Ci0gICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
Ci0gIH0pOwotfQotCi08L3NjcmlwdD4KLTxkaXYgaWQ9ImxvZyI+PD9waHAgaWYgKCRfU0VSVkVS
WyJIVFRQX1BVUlBPU0UiXSA9PSAicHJlZmV0Y2giKSBlY2hvICdQQVNTJzsgZWxzZSBlY2hvICdG
QUlMJzsgPz48L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5weQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVk
LW1haW4tcmVzb3VyY2UucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLnB5CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMzggQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9z
CitpbXBvcnQgc3lzCisKK3B1cnBvc2UgPSBvcy5lbnZpcm9uLmdldCgnSFRUUF9QVVJQT1NFJywg
JycpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MzYw
MFxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCisgICAgJzwhRE9D
VFlQRSBodG1sPlxuJworICAgICc8aHRtbD5cbicKKyAgICAnPGJvZHk+XG4nCisgICAgJzxzY3Jp
cHQ+XG4nCisgICAgJ1xuJworICAgICdpZiAod2luZG93LnRlc3RSdW5uZXIpIHtcbicKKyAgICAn
ICBmZXRjaChcJ2h0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hl
ZC1tYWluLXJlc291cmNlLnB5XCcpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHtcbicKKyAgICAn
ICAgIGlmIChpbnRlcm5hbHMuZmV0Y2hSZXNwb25zZVNvdXJjZShyZXNwb25zZSkgIT0gIkRpc2sg
Y2FjaGUiKSB7XG4nCisgICAgJyAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwnbG9nXCcp
LmlubmVyVGV4dCA9IFwnRkFJTDogcmVzb3VyY2UgaXMgbm90IGluIHRoZSBkaXNrIGNhY2hlLlwn
O1xuJworICAgICcgICAgfVxuJworICAgICcgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7XG4n
CisgICAgJyAgfSk7XG4nCisgICAgJ31cbicKKyAgICAnXG4nCisgICAgJzwvc2NyaXB0PlxuJwor
ICAgICc8ZGl2IGlkPSJsb2ciPicKKykKKworaWYgcHVycG9zZSA9PSAncHJlZmV0Y2gnOgorICAg
IHN5cy5zdGRvdXQud3JpdGUoJ1BBU1MnKQorZWxzZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdG
QUlMJykKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnPC9kaXY+XG4nCisgICAgJzwvYm9keT5c
bicKKyAgICAnPC9odG1sPlxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3By
ZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJs
ZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3JlbG9hZC1tYWluLXJlc291
cmNlLWlmcmFtZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvcmVsb2FkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBocAkocmV2aXNpb24gMjc0
MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVsb2FkLW1h
aW4tcmVzb3VyY2UtaWZyYW1lLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDIzICswLDAgQEAKLTw/
cGhwCi1pZiAoZmlsZV9leGlzdHMoc3lzX2dldF90ZW1wX2RpcigpIC4gIi9jYWNoZS1yZWxvYWQt
bWFpbi1yZXNvdXJjZS50bXAiKSkgewotICAgIHVubGluayhzeXNfZ2V0X3RlbXBfZGlyKCkgLiAi
L2NhY2hlLXJlbG9hZC1tYWluLXJlc291cmNlLnRtcCIpOwotICAgIGVjaG8gIjxib2R5PiI7Ci0g
ICAgZWNobyAiPHNjcmlwdD4iOwotICAgIGVjaG8gIndpbmRvdy5wYXJlbnQuZmluaXNoKCk7IjsK
LSAgICBlY2hvICI8L3NjcmlwdD4iOwotICAgIGVjaG8gIjwvYm9keT4iOwotICAgIGV4aXQoKTsK
LX0KLQotJHRtcEZpbGUgPSBmb3BlbihzeXNfZ2V0X3RlbXBfZGlyKCkgLiAiL2NhY2hlLXJlbG9h
ZC1tYWluLXJlc291cmNlLnRtcCIsICd3Jyk7Ci1mY2xvc2UoJHRtcEZpbGUpOwotCi0kbWF4X2Fn
ZSA9IDEyICogMzEgKiAyNCAqIDYwICogNjA7IC8vb25lIHllYXIKLSRsYXN0X21vZGlmaWVkID0g
Z21kYXRlKERBVEVfUkZDMTEyMywgdGltZSgpICsgJG1heF9hZ2UpOwotJGV4cGlyZXMgPSBnbWRh
dGUoREFURV9SRkMxMTIzLCB0aW1lKCkgKyAkbWF4X2FnZSk7Ci0KLWhlYWRlcignQ2FjaGUtQ29u
dHJvbDogcHVibGljLCBtYXgtYWdlPScgLiAkbWF4X2FnZSk7Ci1oZWFkZXIoJ0V4cGlyZXM6ICcg
LiAkZXhwaXJlcyk7Ci1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sJyk7Ci1oZWFkZXIo
J0xhc3QtTW9kaWZpZWQ6ICcgLiAkbGFzdF9tb2RpZmllZCk7Ci0/PgpJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVsb2FkLW1haW4tcmVzb3VyY2UtaWZyYW1l
LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L3JlbG9hZC1tYWluLXJlc291cmNlLWlmcmFtZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9yZWxvYWQtbWFpbi1yZXNvdXJjZS1pZnJh
bWUucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0
aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCB0ZW1wZmlsZQorZnJvbSBkYXRl
dGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0YQorCitmaWxlID0gX19maWxlX18uc3BsaXQo
JzovY3lnd2luJylbLTFdCitodHRwX3Jvb3QgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJu
YW1lKG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoZmlsZSkpKSkKK3N5cy5wYXRoLmlu
c2VydCgwLCBodHRwX3Jvb3QpCisKK3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQtVHlwZTogdGV4
dC9odG1sXHJcblxyXG4nKQorCit0bXBGaWxlID0gb3MucGF0aC5qb2luKHRlbXBmaWxlLmdldHRl
bXBkaXIoKSwgJ2NhY2hlLXJlbG9hZC1tYWluLXJlc291cmNlLnRtcCcpCitpZiBvcy5wYXRoLmlz
ZmlsZSh0bXBGaWxlKToKKyAgICBvcy5yZW1vdmUodG1wRmlsZSkKKyAgICBzeXMuc3Rkb3V0Lndy
aXRlKAorICAgICAgICAnPGJvZHk+XG4nCisgICAgICAgICc8c2NyaXB0PlxuJworICAgICAgICAn
d2luZG93LnBhcmVudC5maW5pc2goKTtcbicKKyAgICAgICAgJzwvc2NyaXB0PlxuJworICAgICAg
ICAnPC9ib2R5PlxuJworICAgICkKKyAgICBzeXMuZXhpdCgwKQorCitmaWxlID0gb3Blbih0bXBG
aWxlLCAndysnKQorZmlsZS5jbG9zZSgpCisKK21heF9hZ2UgPSAxMiAqIDMxICogMjQgKiA2MCAq
IDYwCitsYXN0X21vZGlmaWVkID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1lLnV0Y25vdygp
ICsgdGltZWRlbHRhKHNlY29uZHM9bWF4X2FnZSkpLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6
JU06JVMnKSkKK2V4cGlyZXMgPSAne30gKzAwMDAnLmZvcm1hdCgoZGF0ZXRpbWUudXRjbm93KCkg
KyB0aW1lZGVsdGEoc2Vjb25kcz1tYXhfYWdlKSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDol
TTolUycpKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgIGYnQ2FjaGUtQ29udHJvbDogcHVibGlj
LCBtYXgtYWdlPXttYXhfYWdlfVxyXG4nCisgICAgZidFeHBpcmVzOiB7ZXhwaXJlc31cclxuJwor
ICAgIGYnTGFzdC1Nb2RpZmllZDoge2xhc3RfbW9kaWZpZWR9XHJcblxyXG4nCispClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVsb2FkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnB5Cl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvc2xvdy1pZnJhbWUucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Nsb3ctaWZyYW1lLnBocAkocmV2aXNpb24gMjc0MjU1
KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc2xvdy1pZnJhbWUu
cGhwCShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi08P3BocCAKLXNsZWVwKDEpOwotaGVh
ZGVyKCJDb250ZW50LVR5cGU6IHRleHQvaHRtbCIpOyAKLWVjaG8oIjxzY3JpcHQ+YWxlcnQoJ1BB
U1MgLSBpZnJhbWUgbG9hZGVkJyk7IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7IDwvc2NyaXB0PiIpOyAKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9zbG93LWlmcmFtZS5weQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zbG93LWlmcmFtZS5weQkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zbG93LWlmcmFt
ZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExIEBACisjIS91c3IvYmluL2VudiBweXRo
b24zCisKK2ltcG9ydCBzeXMKK2ltcG9ydCB0aW1lCisKK3RpbWUuc2xlZXAoMSkKKworc3lzLnN0
ZG91dC53cml0ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICAn
PHNjcmlwdD5hbGVydChcJ1BBU1MgLSBpZnJhbWUgbG9hZGVkXCcpOyBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOyA8L3NjcmlwdD5cbicKKykKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zbG93LWlmcmFtZS5weQpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxl
c2hlZXQzMDQtYmFkLWNvbnRlbnQtdHlwZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldDMwNC1iYWQtY29udGVudC10eXBl
LnBocAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9y
ZXNvdXJjZXMvc3R5bGVzaGVldDMwNC1iYWQtY29udGVudC10eXBlLnBocAkobm9uZXhpc3RlbnQp
CkBAIC0xLDIxICswLDAgQEAKLTw/cGhwCi1yZXF1aXJlX29uY2UgJy4uLy4uL3Jlc291cmNlcy9w
b3J0YWJpbGl0eUxheWVyLnBocCc7Ci0KLWNsZWFyc3RhdGNhY2hlKCk7Ci0KLWlmICgkX1NFUlZF
UlsiSFRUUF9JRl9NT0RJRklFRF9TSU5DRSJdKSB7Ci0gICAgaGVhZGVyKCJIVFRQLzEuMCAzMDQg
Tm90IE1vZGlmaWVkIik7Ci0gICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvcGxhaW4iKTsK
LSAgICBleGl0KCk7Ci19Ci0kb25lX3llYXIgPSAxMiAqIDMxICogMjQgKiA2MCAqIDYwOwotJGxh
c3RfbW9kaWZpZWQgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgLSAkb25lX3llYXIpOwot
JGV4cGlyZXMgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgKyAkb25lX3llYXIpOwotCi1o
ZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IHB1YmxpYywgbWF4LWFnZT0nIC4gJG9uZV95ZWFyKTsKLWhl
YWRlcignRXhwaXJlczogJyAuICRleHBpcmVzKTsKLWhlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0
L2NzcycpOwotaGVhZGVyKCdFdGFnOiAxMjM0NTY3ODknKTsKLWhlYWRlcignTGFzdC1Nb2RpZmll
ZDogJyAuICRsYXN0X21vZGlmaWVkKTsKLT8+Ci0jdGVzdCB7IGJhY2tncm91bmQtY29sb3I6IHJn
YigwLCAyNTUsIDApOyB9CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9zdHlsZXNoZWV0MzA0LWJhZC1jb250ZW50LXR5cGUucHkKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldDMwNC1iYWQtY29u
dGVudC10eXBlLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQtYmFkLWNvbnRlbnQtdHlwZS5weQkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDI2IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBv
cworaW1wb3J0IHN5cworZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0YQor
Cittb2RpZmllZF9zaW5jZSA9IG9zLmVudmlyb24uZ2V0KCdIVFRQX0lGX01PRElGSUVEX1NJTkNF
JywgJycpCitpZiBtb2RpZmllZF9zaW5jZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAg
ICAnc3RhdHVzOjMwNFxyXG4nCisgICAgICAgICdDb250ZW50LVR5cGU6IHRleHQvcGxhaW5cclxu
XHJcbicKKyAgICApCisgICAgc3lzLmV4aXQoMCkKKworb25lX3llYXIgPSAxMiAqIDMxICogMjQg
KiA2MCAqIDYwCitsYXN0X21vZGlmaWVkID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1lLnV0
Y25vdygpIC0gdGltZWRlbHRhKHNlY29uZHM9b25lX3llYXIpKS5zdHJmdGltZSgnJWEsICVkICVi
ICVZICVIOiVNOiVTJykpCitleHBpcmVzID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1lLnV0
Y25vdygpICsgdGltZWRlbHRhKHNlY29uZHM9b25lX3llYXIpKS5zdHJmdGltZSgnJWEsICVkICVi
ICVZICVIOiVNOiVTJykpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgZidDYWNoZS1Db250cm9s
OiBwdWJsaWMsIG1heC1hZ2U9e29uZV95ZWFyfVxyXG4nCisgICAgZidFeHBpcmVzOiB7ZXhwaXJl
c31cclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvY3NzXHJcbicKKyAgICAnRXRhZzogMTIz
NDU2Nzg5XHJcbicKKyAgICBmJ0xhc3QtTW9kaWZpZWQ6IHtsYXN0X21vZGlmaWVkfVxyXG5cclxu
JworICAgICcjdGVzdCB7IGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAyNTUsIDApOyB9JworKQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQtYmFkLWNvbnRlbnQt
dHlwZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisq
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQucGhwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQucGhwCShy
ZXZpc2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9zdHlsZXNoZWV0MzA0LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDIxICswLDAgQEAKLTw/cGhw
DQotcmVxdWlyZV9vbmNlICcuLi8uLi9yZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXllci5waHAnOw0K
LQ0KLWNsZWFyc3RhdGNhY2hlKCk7DQotDQotaWYgKCRfU0VSVkVSWyJIVFRQX0lGX01PRElGSUVE
X1NJTkNFIl0pIHsNCi0gICAgaGVhZGVyKCJIVFRQLzEuMCAzMDQgTm90IE1vZGlmaWVkIik7DQot
ICAgIGV4aXQoKTsNCi19DQotJG9uZV95ZWFyID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MDsNCi0k
bGFzdF9tb2RpZmllZCA9IGdtZGF0ZShEQVRFX1JGQzExMjMsIHRpbWUoKSAtICRvbmVfeWVhcik7
DQotJGV4cGlyZXMgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgKyAkb25lX3llYXIpOw0K
LQ0KLWhlYWRlcignQ2FjaGUtQ29udHJvbDogcHVibGljLCBtYXgtYWdlPScgLiAkb25lX3llYXIp
Ow0KLWhlYWRlcignRXhwaXJlczogJyAuICRleHBpcmVzKTsNCi1oZWFkZXIoJ0NvbnRlbnQtVHlw
ZTogdGV4dC9jc3MnKTsNCi1oZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoOiAwJyk7DQotaGVhZGVyKCdF
dGFnOiAxMjM0NTY3ODknKTsNCi1oZWFkZXIoJ0xhc3QtTW9kaWZpZWQ6ICcgLiAkbGFzdF9tb2Rp
ZmllZCk7DQotZXhpdCgpOw0KLT8+DQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvc3R5bGVzaGVldC1odG1sLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwucGhwCShyZXZpc2lv
biAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHls
ZXNoZWV0LWh0bWwucGhwCShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi08P3BocAotZWNo
byAiPGxpbmsgcmVsPXN0eWxlc2hlZXQgaHJlZj0iIC4gJF9HRVRbJ3NoZWV0J10gLiAiPiI7Ci0/
PgotPGRpdiBpZD10ZXN0MT48L2Rpdj4KLTxkaXYgaWQ9dGVzdDI+PC9kaXY+CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwucHkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVz
aGVldC1odG1sLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQtaHRtbC5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDE0IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cwor
ZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNlX3FzCisKK3NoZWV0ID0gcGFyc2VfcXMob3Mu
ZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklORycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSku
Z2V0KCdzaGVldCcsIFsnNDA0LmNzcyddKVswXQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdD
b250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworICAgIGYnPGxpbmsgcmVsPXN0eWxlc2hl
ZXQgaHJlZj17c2hlZXR9PicKKyAgICAnPGRpdiBpZD10ZXN0MT48L2Rpdj5cbicKKyAgICAnPGRp
diBpZD10ZXN0Mj48L2Rpdj5cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9z
dHlsZXNoZWV0LWh0bWwucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAs
MCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdmctZGVmcy12YXJ5LnBocAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdmctZGVmcy12
YXJ5LnBocAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvc3ZnLWRlZnMtdmFyeS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMiArMCww
IEBACi08P3BocAotaGVhZGVyKCJDb250ZW50LVR5cGU6IGltYWdlL3N2Zyt4bWwiKTsKLWhlYWRl
cigiVmFyeTogQ29va2llIik7Ci1oZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MzE1MzYw
MDAiKTsKLT8+Ci08c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6
eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgotPGRlZnM+Ci08ZyBpZD0iY2ly
Y2xlIj4KLTxjaXJjbGUgc3R5bGU9ImZpbGw6Z3JlZW4iIHI9IjEwIi8+Ci08L2c+Ci08L2RlZnM+
Ci08L3N2Zz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N2
Zy1kZWZzLXZhcnkucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvc3ZnLWRlZnMtdmFyeS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdmctZGVmcy12YXJ5LnB5CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMTYgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IHN5
cworCitzeXMuc3RvZHV0LndyaXRlKAorICAgICdDb250ZW50LVR5cGU6IGltYWdlL3N2Zyt4bWxc
clxuJworICAgICdWYXJ5OiBDb29raWVcclxuJworICAgICdDYWNoZS1Db250cm9sOiBtYXgtYWdl
PTMxNTM2MDAwXHJcblxyXG4nCisgICAgJzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+XG4nCisg
ICAgJzxkZWZzPlxuJworICAgICc8ZyBpZD0iY2lyY2xlIj5cbicKKyAgICAnPGNpcmNsZSBzdHls
ZT0iZmlsbDpncmVlbiIgcj0iMTAiLz5cbicKKyAgICAnPC9nPlxuJworICAgICc8L2RlZnM+XG4n
CisgICAgJzwvc3ZnPlxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N2Zy1k
ZWZzLXZhcnkucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAj
IworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94LWZyYW1lLW9wdGlvbnMucGhwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9u
cy5waHAJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwyNiArMCww
IEBACi08P3BocA0KLXJlcXVpcmVfb25jZSAnLi4vLi4vcmVzb3VyY2VzL3BvcnRhYmlsaXR5TGF5
ZXIucGhwJzsNCi0NCi1jbGVhcnN0YXRjYWNoZSgpOw0KLQ0KLWlmICgkX1NFUlZFUlsiSFRUUF9J
Rl9NT0RJRklFRF9TSU5DRSJdKSB7DQotICAgIGhlYWRlcigiSFRUUC8xLjAgMzA0IE5vdCBNb2Rp
ZmllZCIpOw0KLSAgICBleGl0KCk7DQotfQ0KLSRvbmVfeWVhciA9IDEyICogMzEgKiAyNCAqIDYw
ICogNjA7DQotJGxhc3RfbW9kaWZpZWQgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgLSAk
b25lX3llYXIpOw0KLSRleHBpcmVzID0gZ21kYXRlKERBVEVfUkZDMTEyMywgdGltZSgpICsgJG9u
ZV95ZWFyKTsNCi0KLQ0KLWhlYWRlcignQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUsIG1heC1hZ2U9
JyAuICRvbmVfeWVhcik7DQotaGVhZGVyKCdFeHBpcmVzOiAnIC4gJGV4cGlyZXMpOw0KLWhlYWRl
cignQ29udGVudC1UeXBlOiB0ZXh0L2h0bWwnKTsNCi1oZWFkZXIoJ0V0YWc6IDEyMzQ1Njc4OScp
Ow0KLWhlYWRlcignTGFzdC1Nb2RpZmllZDogJyAuICRsYXN0X21vZGlmaWVkKTsNCi1oZWFkZXIo
J1gtRlJBTUUtT1BUSU9OUzogQUxMT1dBTEwnKTsKLQotZWNobyAiPGJvZHk+PHNjcmlwdD5cbiI7
Ci1lY2hvICJ3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7IHdpbmRvdy5wYXJlbnQudGVzdCgp
OyB9XG4iOwotZWNobyAiPC9zY3JpcHQ+PC9ib2R5PlxuIjsKLQ0KLT8+DQpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveC1mcmFtZS1vcHRpb25zLnB5Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3gtZnJhbWUt
b3B0aW9ucy5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy94LWZyYW1lLW9wdGlvbnMucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwy
OSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zy
b20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lZGVsdGEKKworbW9kaWZpZWRfc2luY2Ug
PSBvcy5lbnZpcm9uLmdldCgnSFRUUF9JRl9NT0RJRklFRF9TSU5DRScsICcnKQorCitzeXMuc3Rk
b3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nKQorCitpZiBtb2RpZmllZF9z
aW5jZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdzdGF0dXM6IDMwNFxyXG5cclxuJykKKyAgICBz
eXMuZXhpdCgwKQorCitvbmVfeWVhciA9IDEyICogMzEgKiAyNCAqIDYwICogNjAKK2xhc3RfbW9k
aWZpZWQgPSAne30gKzAwMDAnLmZvcm1hdCgoZGF0ZXRpbWUudXRjbm93KCkgLSB0aW1lZGVsdGEo
c2Vjb25kcz1vbmVfeWVhcikpLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06JVMnKSkKK2V4
cGlyZXMgPSAne30gKzAwMDAnLmZvcm1hdCgoZGF0ZXRpbWUudXRjbm93KCkgKyB0aW1lZGVsdGEo
c2Vjb25kcz1vbmVfeWVhcikpLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06JVMnKSkKKwor
c3lzLnN0ZG91dC53cml0ZSgKKyAgICBmJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBtYXgtYWdl
PXtvbmVfeWVhcn1cclxuJworICAgIGYnRXhwaXJlczoge2V4cGlyZXN9XHJcbicKKyAgICAnQ29u
dGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJworICAgICdFdGFnOiAxMjM0NTY3ODlcclxuJworICAg
IGYnTGFzdC1Nb2RpZmllZDoge2xhc3RfbW9kaWZpZWR9XHJcbicKKyAgICAnWC1GUkFNRS1PUFRJ
T05TOiBBTExPV0FMTFxyXG5cclxuJworICAgICc8Ym9keT48c2NyaXB0PlxuJworICAgICd3aW5k
b3cub25sb2FkID0gZnVuY3Rpb24oKSB7IHdpbmRvdy5wYXJlbnQudGVzdCgpOyB9XG4nCisgICAg
Jzwvc2NyaXB0PjwvYm9keT5cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94
LWZyYW1lLW9wdGlvbnMucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAs
MCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItcmVzcG9uc2Uu
cGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L3hoci12YXJ5LWhlYWRlci1yZXNwb25zZS5waHAJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25z
ZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMSArMCwwIEBACi08P3BocAotaGVhZGVyKCJWYXJ5
OiBPcmlnaW4iKTsKLWhlYWRlcigiQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0zMTUzNjAwMCIpOwot
aWYgKGlzc2V0KCRfU0VSVkVSWydIVFRQX09SSUdJTiddKSkgewotICAgIGhlYWRlcigiQWNjZXNz
LUNvbnRyb2wtQWxsb3ctT3JpZ2luOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAiKTsKLSAgICBlY2hv
ICJDcm9zcyBvcmlnaW4gIjsKLX0gZWxzZSB7Ci0gICAgZWNobyAiU2FtZSBvcmlnaW4gIjsKLX0K
LT8+Ci1yZXNwb25zZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25zZS5w
eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94
aHItdmFyeS1oZWFkZXItcmVzcG9uc2UucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXJlc3BvbnNlLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjIgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKwor
aW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK29yaWdpbiA9IFRydWUgaWYgb3MuZW52aXJvbi5nZXQo
J0hUVFBfT1JJR0lOJywgTm9uZSkgaXMgbm90IE5vbmUgZWxzZSBGYWxzZQorCitzeXMuc3Rkb3V0
LndyaXRlKAorICAgICdWYXJ5OiBPcmlnaW5cclxuJworICAgICdDYWNoZS1Db250cm9sOiBtYXgt
YWdlPTMxNTM2MDAwXHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJworKQor
CitpZiBvcmlnaW46CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ0FjY2Vzcy1Db250
cm9sLUFsbG93LU9yaWdpbjogaHR0cDovLzEyNy4wLjAuMTo4MDAwXHJcblxyXG4nCisgICAgICAg
ICdDcm9zcyBvcmlnaW4gJworICAgICkKK2Vsc2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgnXHJc
blNhbWUgb3JpZ2luICcpCisKK3N5cy5zdGRvdXQud3JpdGUoJ3Jlc3BvbnNlJykKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItcmVzcG9uc2UucHkKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy94aHItdmFyeS1oZWFkZXItc3ViZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItc3ViZnJh
bWUuaHRtbAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXN1YmZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTIsNyArMiw3IEBACiBmdW5jdGlvbiB0ZXN0U2FtZU9yaWdpbigpCiB7CiAgICAgdmFyIHJl
cSA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKLSAgICByZXEub3BlbigiR0VUIiwgInhoci12YXJ5LWhl
YWRlci1yZXNwb25zZS5waHAiKTsKKyAgICByZXEub3BlbigiR0VUIiwgInhoci12YXJ5LWhlYWRl
ci1yZXNwb25zZS5weSIpOwogICAgIHJlcS5vbmxvYWQ9ZnVuY3Rpb24oKSB7IHBhcmVudC5wb3N0
TWVzc2FnZShyZXEucmVzcG9uc2VUZXh0LCAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIikgfQogICAg
IHJlcS5zZW5kKCk7CiB9CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24v
d2luZG93LW9wZW4tcmVkaXJlY3QtYW5kLXJlbW92ZS1vcGVuZXIuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vd2luZG93LW9wZW4tcmVkaXJlY3Qt
YW5kLXJlbW92ZS1vcGVuZXIuaHRtbAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3dpbmRvdy1vcGVuLXJlZGlyZWN0LWFuZC1yZW1vdmUtb3Bl
bmVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE4LDcgKzE4LDcgQEAgZnVuY3Rpb24gcmVtb3Zl
SWZyYW1lQSgpCiA8cD5UZXN0cyB0aGF0IHdlIGRvIG5vdCBjcmFzaCB3aGVuIHJlbW92aW5nIHRo
ZSBvcGVuZXIgYWZ0ZXIgdXNpbmcgd2luZG93Lm9wZW4oKSB0byBsb2FkIGEgcmVzb3VyY2UgdGhh
dCByZWRpcmVjdHMuPC9wPgogPGlmcmFtZSBuYW1lPSJBIiBzcmNkb2M9JwogPHNjcmlwdD4KLXdp
bmRvdy5vcGVuKCJodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNv
bnRyb2wtcmVkaXJlY3QucGhwP3VybD1odHRwOi8vMTI3LjAuMC4xOjgwMDAvbmF2aWdhdGlvbi9y
ZXNvdXJjZXMvd2luZG93LW9wZW4tcmVkaXJlY3QtYW5kLXJlbW92ZS1vcGVuZXIuaHRtbCIsICJC
Iik7Cit3aW5kb3cub3BlbigiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9j
YWNoZS1jb250cm9sLXJlZGlyZWN0LnB5P3VybD1odHRwOi8vMTI3LjAuMC4xOjgwMDAvbmF2aWdh
dGlvbi9yZXNvdXJjZXMvd2luZG93LW9wZW4tcmVkaXJlY3QtYW5kLXJlbW92ZS1vcGVuZXIuaHRt
bCIsICJCIik7CiBwYXJlbnQucmVtb3ZlSWZyYW1lQSgpOwogPC9zY3JpcHQ+CiAnPjwvaWZyYW1l
PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvdG91Y2gtdGVtcC1maWxl
LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL3RvdWNo
LXRlbXAtZmlsZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlcy90b3VjaC10ZW1wLWZpbGUucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNyBA
QAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9y
dCB0ZW1wZmlsZQorZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNlX3FzCisKK2ZpbGUgPSBf
X2ZpbGVfXy5zcGxpdCgnOi9jeWd3aW4nKVstMV0KK2h0dHBfcm9vdCA9IG9zLnBhdGguZGlybmFt
ZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShmaWxlKSkp
KQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKworZmlsZW5hbWUgPSBwYXJzZV9xcyhv
cy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVl
KS5nZXQoJ2ZpbGVuYW1lJywgWydzdGF0ZS50eHQnXSlbMF0KK3RtcEZpbGVQYXRoID0gb3MucGF0
aC5qb2luKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwgZmlsZW5hbWUpCisKK3N5cy5zdGRvdXQud3Jp
dGUoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nKQorCitzdGF0ID0gb3Muc3RhdCh0
bXBGaWxlUGF0aCkKK2lmIG5vdCBzdGF0OgorICAgIHN5cy5zdGRvdXQud3JpdGUoJ0ZBSUw6IHN0
YXQoKSBjYWxsIGZhaWxlZC5cbicpCisgICAgc3lzLmV4aXQoMCkKKworYXRpbWUgPSBzdGF0LnN0
X2F0aW1lCittdGltZSA9IHN0YXQuc3RfbXRpbWUKK3RyeToKKyAgICBvcy51dGltZSh0bXBGaWxl
UGF0aCwgdGltZXM9KGF0aW1lLCBtdGltZSArIDEpKQorZXhjZXB0OgorICAgIHN5cy5zdGRvdXQu
d3JpdGUoJ0ZBSUw6IHRvdWNoKCkgY2FsbCBmYWlsZWQuXG4nKQpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VzL3RvdWNoLXRlbXAtZmlsZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJs
ZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyNzQy
NTUpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwkod29ya2lu
ZyBjb3B5KQpAQCAtMjM2OCw3ICsyMzY4LDcgQEAgaHR0cC90ZXN0cy9jYWNoZS9jb250ZW50LXR5
cGUtaWdub3JlZC1kdQogaHR0cC90ZXN0cy9jYWNoZS9tYWluLXJlc291cmNlLTMwNC1yZWxvYWQu
aHRtbCBbIEZhaWx1cmUgXQogaHR0cC90ZXN0cy9jYWNoZS9wYXJ0aXRpb25lZC1jYWNoZS5odG1s
IFsgRmFpbHVyZSBdCiBodHRwL3Rlc3RzL2NhY2hlL3BhcnRpdGlvbmVkLWNhY2hlLWlmcmFtZS5o
dG1sIFsgRmFpbHVyZSBdCi1odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LnBocCBb
IEZhaWx1cmUgXSAjIEVhc3kKK2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucHkg
WyBGYWlsdXJlIF0gIyBFYXN5CiBodHRwL3Rlc3RzL2NhbnZhcy9jYW52YXMtc2xvdy1mb250LWxv
YWRpbmcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaHR0cC90ZXN0cy9jc3MvY3NzLWltYWdl
LXZhbHVlZC1zaGFwZS5odG1sIFsgRmFpbHVyZSBdCiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2V0LWNv
b2tpZS1vbi1yZWRpcmVjdC5odG1sIFsgUGFzcyBGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422895</attachid>
            <date>2021-03-10 19:58:26 -0800</date>
            <delta_ts>2021-03-11 08:23:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222935-20210310225825.patch</filename>
            <type>text/plain</type>
            <size>102329</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NDI2NikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDEwMyBAQAorMjAyMS0wMy0xMCAgQ2hyaXMgR2FtYnJlbGwg
IDxjZ2FtYnJlbGxAYXBwbGUuY29tPgorCisgICAgICAgIFtMYXlvdXRUZXN0c10gQ29udmVydCBo
dHRwL3Rlc3RzL2NhY2hlIGNvbnZlcnQgUEhQIHRvIFB5dGhvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyOTM1CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS83NTE4MzMxND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvY2FjaGUtcmVkaXJlY3Rpb25zLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9jYWNoZS9jYWNoZWQtbWFpbi1yZXNvdXJjZS5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvY2FjaGVkRW50cnktd2FpdHMtZm9yLXJlc3BvbnNlLXBvbGlj
eS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvY29udGVudC10eXBlLWlnbm9yZWQt
ZHVyaW5nLXJldmFsaWRhdGlvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9kaXNrLWNhY2hlLXJlZGlyZWN0LXRvLWRhdGEuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZW1vdmUtc2V2ZXJhbC1wZW5kaW5n
LXdyaXRlcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZWRp
cmVjdC1jaGFpbi1saW1pdHMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvcmVzb3VyY2VzL2pzb24ucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvanNvbi5weTogQWRkZWQuCisgICAgICAgIChzZW5k
MzA0KToKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3Jl
ZGlyZWN0LWNoYWluLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rp
c2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LWNoYWluLnB5OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWRhdGEucGhw
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJj
ZXMvcmVkaXJlY3QtdG8tZGF0YS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vY2FjaGVhYmxlLXJlZGlyZWN0Lmh0
bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZh
bGlkYXRpb24vaHR0cC1hdXRoLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNr
LWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2NhY2hlYWJsZS1yZWRpcmVj
dC1mcmFtZS5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNh
Y2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2NhY2hlYWJsZS1yZWRpcmVjdC1m
cmFtZS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Nw
ZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2Nzcy10by1yZXZhbGlkYXRlLnBocDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUt
dmFsaWRhdGlvbi9yZXNvdXJjZXMvY3NzLXRvLXJldmFsaWRhdGUucHk6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jl
c291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRpY2F0ZWQtcmVzb3VyY2UucGhwOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0
aW9uL3Jlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRpY2F0ZWQtcmVzb3VyY2UucHk6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxp
ZGF0aW9uL3Jlc291cmNlcy9yZWRpcmVjdC10by1jc3MucGhwOiBSZW1vdmVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291
cmNlcy9yZWRpcmVjdC10by1jc3MucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13
aXRoLWF1dGgucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgu
cHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxh
dGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucGhwOiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2
ZS12YWxpZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucHk6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxp
ZGF0aW9uL3ZhbGlkYXRpb24tcmVxdWVzdC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvaGlzdG9yeS1uYXZpZ2F0aW9uLW5vLXJlc291cmNlLXJldmFsaWRhdGlvbi5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWw6CisgICAgICAg
ICogaHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtZGV0YWNoLmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9jYWNoZS9saW5rLXByZWZldGNoLW1haW4tcmVzb3VyY2UtaWZyYW1lLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9jYWNoZS9saW5rLXByZWZldGNoLW1haW4tcmVzb3VyY2UuaHRtbDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL21haW4tcmVzb3VyY2UtMzA0LXJlbG9hZC5odG1s
OgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucGhwOiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucHk6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNv
dXJjZXMucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRo
LWNhY2hlZC1zdWJyZXNvdXJjZXMucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvcmVjdXJzaXZlLXZhbGlkYXRpb24uaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hl
L3JlZGlyZWN0LXJlZmVyZXIuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3JlbG9h
ZC1tYWluLXJlc291cmNlLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hl
L3JlbG9hZC1tYWluLXJlc291cmNlLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9ib2R5LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9ib2R5LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0LnBocDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0LnB5OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtaWZy
YW1lLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9j
YWNoZWFibGUtaWZyYW1lLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRleHQucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5weTogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBocDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucHk6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNGJv
ZHkucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lm
cmFtZTMwNGJvZHkucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5waHA6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS1uZXh0LnB5
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1t
YWluLXJlc291cmNlLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS13aXRoLXZhbGlkYXRpb24ucGhwOiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLXdpdGgt
dmFsaWRhdGlvbi5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvcGVybWFuZW50LXJlZGlyZWN0LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucHk6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnB5OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4t
cmVzb3VyY2UtaWZyYW1lLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnB5OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3Vy
Y2UucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3By
ZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvcmVsb2FkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBocDogUmVtb3ZlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9yZWxvYWQtbWFpbi1yZXNvdXJj
ZS1pZnJhbWUucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L3Nsb3ctaWZyYW1lLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9zbG93LWlmcmFtZS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvc3R5bGVzaGVldC1odG1sLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwucHk6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQtYmFkLWNvbnRlbnQt
dHlwZS5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMv
c3R5bGVzaGVldDMwNC1iYWQtY29udGVudC10eXBlLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0MzA0LnBocDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdmctZGVmcy12YXJ5LnBocDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdmctZGVmcy12YXJ5LnB5
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1o
ZWFkZXItcmVzcG9uc2UucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25zZS5weTogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXN1YmZyYW1lLmh0bWw6
CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9zdHlsZXNoZWV0LXNoYXJpbmcuaHRtbDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3ZhcnktZnJhbWVsZXNzLWRvY3VtZW50Lmh0bWw6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS94LWZyYW1lLW9wdGlvbnMtMzA0Lmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9jYWNoZS94aHItYm9keS5odG1sOgorICAgICAgICAqIGh0dHAvdGVz
dHMvY2FjaGUveGhyLXZhcnktaGVhZGVyLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9uYXZp
Z2F0aW9uL3dpbmRvdy1vcGVuLXJlZGlyZWN0LWFuZC1yZW1vdmUtb3BlbmVyLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZXMvdG91Y2gtdGVtcC1maWxlLnB5OiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0wMy0xMCAgUGVu
ZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFtHUFUgUHJvY2Vzc10gQXNz
ZXJ0aW9uIHVuZGVyIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVx
dWlyZW1lbnRzKCkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY2FjaGUtcmVk
aXJlY3Rpb25zLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9jYWNoZS1yZWRpcmVjdGlvbnMuaHRtbAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9jYWNoZS1yZWRpcmVjdGlvbnMuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMTUsNyArMTUsNyBAQCB0ZXN0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBjb3VudGVy
ID0gMDsKIHZhciByZXNvdXJjZSA9ICJObyI7Ci12YXIgYmFzZVVSTCA9ICJyZXNvdXJjZXMvY2Fj
aGUtY29udHJvbC1yZWRpcmVjdD9jb2RlPTMwMiZ1cmw9Y2FjaGVhYmxlLXJhbmRvbS10ZXh0LnBo
cCZyYW5kb21faWQ9MSI7Cit2YXIgYmFzZVVSTCA9ICJyZXNvdXJjZXMvY2FjaGUtY29udHJvbC1y
ZWRpcmVjdD9jb2RlPTMwMiZ1cmw9Y2FjaGVhYmxlLXJhbmRvbS10ZXh0LnB5JnJhbmRvbV9pZD0x
IjsKIHZhciB0ZXN0Q2FzZXMgPSBbCiB7bmFtZSA6ICJTaG91bGQgcmV1c2UgcmVzb3VyY2UgKGNh
Y2hlYWJsZSByZWRpcmVjdGlvbikiLCBleHBlY3RlZCA6IHRydWUsIHVybCA6IGJhc2VVUkwgKyAi
JmNhY2hlX2NvbnRyb2w9cHVibGljLCBtYXgtYWdlPTEwMDAiLCByZWxvYWREZWxheSA6IDB9LAog
e25hbWUgOiAiU2hvdWxkIHJlbG9hZCByZXNvdXJjZSAobm8tc3RvcmUgcmVkaXJlY3Rpb24pIiwg
ZXhwZWN0ZWQgOiBmYWxzZSwgdXJsOiBiYXNlVVJMICsgIiZjYWNoZV9jb250cm9sPW5vLXN0b3Jl
Jm1heF9hZ2U9MTAwMCIsIHJlbG9hZERlbGF5IDogMH0sCkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2NhY2hlZC1tYWluLXJlc291cmNlLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jYWNoZWQtbWFpbi1yZXNvdXJjZS5odG1sCShyZXZp
c2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2NhY2hlZC1tYWlu
LXJlc291cmNlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTExLDcgKzExLDcgQEAgZnVuY3Rpb24g
cmVtb3ZlQW5kUmVsb2FkKCkKIHsKICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJpZnJhbWUiKSk7CiAgICAgdmFyIG5ld0lmcmFtZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIG5ld0lmcmFtZS5zcmMgPSAicmVzb3Vy
Y2VzL2NhY2hlYWJsZS1pZnJhbWUucGhwIjsKKyAgICBuZXdJZnJhbWUuc3JjID0gInJlc291cmNl
cy9jYWNoZWFibGUtaWZyYW1lLnB5IjsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG5l
d0lmcmFtZSk7CiAgICAgdmFyIGZyb21DYWNoZSA9IGludGVybmFscy5pc0xvYWRpbmdGcm9tTWVt
b3J5Q2FjaGUobmV3SWZyYW1lLnNyYyk7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJl
c3VsdCIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGZyb21DYWNoZSA/ICJQ
QVNTIiA6ICJGQUlMIikpOwpAQCAtMTksNiArMTksNiBAQCBmdW5jdGlvbiByZW1vdmVBbmRSZWxv
YWQoKQogICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKIH0KIDwvc2NyaXB0PgotPGlm
cmFtZSBpZD0iaWZyYW1lIiBzcmM9InJlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnBocCI+PC9p
ZnJhbWU+Cis8aWZyYW1lIGlkPSJpZnJhbWUiIHNyYz0icmVzb3VyY2VzL2NhY2hlYWJsZS1pZnJh
bWUucHkiPjwvaWZyYW1lPgogPC9ib2R5PgogPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9jYWNoZWRFbnRyeS13YWl0cy1mb3ItcmVzcG9uc2UtcG9saWN5Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jYWNoZWRFbnRyeS13
YWl0cy1mb3ItcmVzcG9uc2UtcG9saWN5Lmh0bWwJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY2FjaGVkRW50cnktd2FpdHMtZm9yLXJlc3BvbnNlLXBv
bGljeS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yMCwxMCArMjAsMTAgQEAgZnVuY3Rpb24gY3Jl
YXRlRnJhbWUodXJsKSB7CiAgICAgfSk7CiB9CiAKLWNyZWF0ZUZyYW1lKCIvY2FjaGUvcmVzb3Vy
Y2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5waHAiKS50aGVuKGZ1bmN0aW9uKGZyYW1lKSB7Citj
cmVhdGVGcmFtZSgiL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRleHQucHkiKS50
aGVuKGZ1bmN0aW9uKGZyYW1lKSB7CiAgICAgZnJhbWUucmVtb3ZlKCk7CiAgICAgaW50ZXJuYWxz
LmNsZWFyTWVtb3J5Q2FjaGUoKTsKLSAgICBjcmVhdGVGcmFtZSgiL2NhY2hlL3Jlc291cmNlcy9j
YWNoZWFibGUtcmFuZG9tLXRleHQucGhwIikudGhlbihmdW5jdGlvbihmcmFtZSkgeworICAgIGNy
ZWF0ZUZyYW1lKCIvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5weSIpLnRo
ZW4oZnVuY3Rpb24oZnJhbWUpIHsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAg
ICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgfSk7CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2NvbnRlbnQtdHlwZS1pZ25vcmVkLWR1cmluZy1yZXZhbGlk
YXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Nv
bnRlbnQtdHlwZS1pZ25vcmVkLWR1cmluZy1yZXZhbGlkYXRpb24uaHRtbAkocmV2aXNpb24gMjc0
MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jb250ZW50LXR5cGUtaWdub3Jl
ZC1kdXJpbmctcmV2YWxpZGF0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNyArMSw3IEBA
CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Ci0gICAgPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSJyZXNvdXJjZXMvc3R5bGVzaGVldDMwNC1iYWQtY29udGVudC10eXBlLnBocCI+
CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJjZXMvc3R5bGVzaGVldDMw
NC1iYWQtY29udGVudC10eXBlLnB5Ij4KIDwvaGVhZD4KIDxib2R5PgogICAgIDxkaXYgaWQ9InRl
c3QiPlRoaXMgZGl2IHNob3VsZCBoYXZlIGEgZ3JlZW4gYmFja2dyb3VuZC48L2Rpdj4KSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvaGlzdG9yeS1uYXZpZ2F0aW9uLW5vLXJlc291
cmNlLXJldmFsaWRhdGlvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvaGlzdG9yeS1uYXZpZ2F0aW9uLW5vLXJlc291cmNlLXJldmFsaWRhdGlvbi5odG1s
CShyZXZpc2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2hpc3Rv
cnktbmF2aWdhdGlvbi1uby1yZXNvdXJjZS1yZXZhbGlkYXRpb24uaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtNzMsNyArNzMsNyBAQAogCiAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKICAgICAgICAg
Ly8gT3BlbiB0aGUgdGFyZ2V0IHdpbmRvdyBhbmQgaXQgd2lsbCBiZWdpbiB0byBzZW5kIHVzIG1l
c3NhZ2VzLgotICAgICAgICB0YXJnZXQgPSB3aW5kb3cub3BlbignaHR0cHM6Ly8xMjcuMC4wLjE6
ODQ0My9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS5waHAnKTsKKyAgICAg
ICAgdGFyZ2V0ID0gd2luZG93Lm9wZW4oJ2h0dHBzOi8vMTI3LjAuMC4xOjg0NDMvY2FjaGUvcmVz
b3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UucHknKTsKICAgICB9CiAgICAgPC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtMzA0LWNy
YXNoLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL2lmcmFtZS0zMDQtY3Jhc2gtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNzQyNTUpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2lmcmFtZS0zMDQtY3Jhc2gtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDggKzEsOCBAQAotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nh
Y2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucGhwIC0gd2lsbFNlbmRSZXF1ZXN0IDxOU1VSTFJlcXVl
c3QgVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBo
cCwgbWFpbiBkb2N1bWVudCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL2lmcmFtZS0z
MDQtY3Jhc2guaHRtbCwgaHR0cCBtZXRob2QgR0VUPiByZWRpcmVjdFJlc3BvbnNlIChudWxsKQor
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucHkgLSB3aWxs
U2VuZFJlcXVlc3QgPE5TVVJMUmVxdWVzdCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hl
L3Jlc291cmNlcy9pZnJhbWUzMDQucHksIG1haW4gZG9jdW1lbnQgVVJMIGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWwsIGh0dHAgbWV0aG9kIEdFVD4gcmVk
aXJlY3RSZXNwb25zZSAobnVsbCkKIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9pZnJhbWUt
MzA0LWNyYXNoLmh0bWwgLSBkaWRGaW5pc2hMb2FkaW5nCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAv
Y2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAgLSBkaWRSZWNlaXZlUmVzcG9uc2UgPE5TVVJM
UmVzcG9uc2UgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQu
cGhwLCBodHRwIHN0YXR1cyBjb2RlIDIwMD4KLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9y
ZXNvdXJjZXMvaWZyYW1lMzA0LnBocCAtIGRpZEZpbmlzaExvYWRpbmcKLWh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBocCAtIHdpbGxTZW5kUmVxdWVzdCA8
TlNVUkxSZXF1ZXN0IFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lm
cmFtZTMwNC5waHAsIG1haW4gZG9jdW1lbnQgVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNo
ZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWwsIGh0dHAgbWV0aG9kIEdFVD4gcmVkaXJlY3RSZXNwb25z
ZSAobnVsbCkKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0
LnBocCAtIGRpZFJlY2VpdmVSZXNwb25zZSA8TlNVUkxSZXNwb25zZSBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAsIGh0dHAgc3RhdHVzIGNvZGUgMzA0
PgotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucGhwIC0g
ZGlkRmluaXNoTG9hZGluZworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9p
ZnJhbWUzMDQucHkgLSBkaWRSZWNlaXZlUmVzcG9uc2UgPE5TVVJMUmVzcG9uc2UgaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucHksIGh0dHAgc3RhdHVzIGNv
ZGUgMjAwPgoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQu
cHkgLSBkaWRGaW5pc2hMb2FkaW5nCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3Vy
Y2VzL2lmcmFtZTMwNC5weSAtIHdpbGxTZW5kUmVxdWVzdCA8TlNVUkxSZXF1ZXN0IFVSTCBodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5weSwgbWFpbiBkb2N1
bWVudCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL2lmcmFtZS0zMDQtY3Jhc2guaHRt
bCwgaHR0cCBtZXRob2QgR0VUPiByZWRpcmVjdFJlc3BvbnNlIChudWxsKQoraHR0cDovLzEyNy4w
LjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucHkgLSBkaWRSZWNlaXZlUmVzcG9u
c2UgPE5TVVJMUmVzcG9uc2UgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9p
ZnJhbWUzMDQucHksIGh0dHAgc3RhdHVzIGNvZGUgMzA0PgoraHR0cDovLzEyNy4wLjAuMTo4MDAw
L2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucHkgLSBkaWRGaW5pc2hMb2FkaW5nCiAKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC5o
dG1sCShyZXZpc2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2lm
cmFtZS0zMDQtY3Jhc2guaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTAsNyArMTAsNyBAQCBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKIGZ1bmN0aW9uIHJlbW92ZUFuZFJlcGxhY2VJZnJhbWUoKSB7
CiAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
aWZyYW1lIikpOwogICAgIHZhciBuZXdJZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJp
ZnJhbWUiKTsKLSAgICBuZXdJZnJhbWUuc3JjID0gInJlc291cmNlcy9pZnJhbWUzMDQucGhwIjsK
KyAgICBuZXdJZnJhbWUuc3JjID0gInJlc291cmNlcy9pZnJhbWUzMDQucHkiOwogICAgIG5ld0lm
cmFtZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsgc2V0VGltZW91dChmaW5pc2gsIDApOyB9CiAgICAg
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChuZXdJZnJhbWUpOwogfQpAQCAtMjIsNiArMjIsNiBA
QCBmdW5jdGlvbiBmaW5pc2goKSB7CiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IG9ubG9hZD0i
c2V0VGltZW91dChyZW1vdmVBbmRSZXBsYWNlSWZyYW1lLCAwKSI+Ci08aWZyYW1lIGlkPSJpZnJh
bWUiIHNyYz0icmVzb3VyY2VzL2lmcmFtZTMwNC5waHAiPjwvaWZyYW1lPgorPGlmcmFtZSBpZD0i
aWZyYW1lIiBzcmM9InJlc291cmNlcy9pZnJhbWUzMDQucHkiPjwvaWZyYW1lPgogPC9ib2R5Pgog
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtZGV0YWNo
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUt
ZGV0YWNoLmh0bWwJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvaWZyYW1lLWRldGFjaC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsNyBAQAog
PGh0bWw+CiA8Ym9keT4KIDxkaXYgaWQ9InNoYWRvdyI+Ci08aWZyYW1lIHNyYz0icmVzb3VyY2Vz
L3Nsb3ctaWZyYW1lLnBocCI+PC9pZnJhbWU+Cis8aWZyYW1lIHNyYz0icmVzb3VyY2VzL3Nsb3ct
aWZyYW1lLnB5Ij48L2lmcmFtZT4KIDwvZGl2PgogCiA8ZGl2IGlkPSJlbXB0eSI+PC9kaXY+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2xpbmstcHJlZmV0Y2gtbWFpbi1yZXNv
dXJjZS1pZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL2xpbmstcHJlZmV0Y2gtbWFpbi1yZXNvdXJjZS1pZnJhbWUuaHRtbAkocmV2aXNpb24gMjc0
MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9saW5rLXByZWZldGNoLW1haW4t
cmVzb3VyY2UtaWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIyLDcgKzIyLDcgQEAgZnVu
Y3Rpb24gaWZyYW1lTG9hZEZpbmlzaGVkKCkKIGZ1bmN0aW9uIGxvYWRBZnRlclByZWZldGNoKCkK
IHsKICAgICB2YXIgbmV3SWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7
Ci0gICAgbmV3SWZyYW1lLnNyYyA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY2FjaGUvcmVzb3Vy
Y2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucGhwIjsKKyAgICBuZXdJZnJhbWUu
c3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1t
YWluLXJlc291cmNlLWlmcmFtZS5weSI7CiAgICAgbmV3SWZyYW1lLm9ubG9hZCA9IGlmcmFtZUxv
YWRGaW5pc2hlZDsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG5ld0lmcmFtZSk7CiB9
CkBAIC0zNSw3ICszNSw3IEBAIHdpbmRvdy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlKQog
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKICAgICB2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImxpbmsiKTsKICAgICBsaW5rLnJlbCA9ICJwcmVmZXRjaCI7Ci0gICAgbGluay5ocmVmID0g
Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJl
c291cmNlLWlmcmFtZS5waHAiOworICAgIGxpbmsuaHJlZiA9ICJodHRwOi8vbG9jYWxob3N0Ojgw
MDAvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucHkiOwog
ICAgIGlmIChpbnRlcm5hbHMpCiAgICAgICAgIGludGVybmFscy5hZGRQcmVmZXRjaExvYWRFdmVu
dExpc3RlbmVyKGxpbmssICgpID0+IHsgbG9hZEFmdGVyUHJlZmV0Y2goKTsgfSk7CiAgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvbGluay1wcmVmZXRjaC1tYWluLXJlc291cmNlLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9saW5rLXByZWZldGNoLW1haW4tcmVzb3VyY2Uu
aHRtbAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9s
aW5rLXByZWZldGNoLW1haW4tcmVzb3VyY2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNywxMyAr
NywxMyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKIAogZnVuY3Rpb24gbG9hZEFmdGVyUHJl
ZmV0Y2goKQogewotICAgICB3aW5kb3cubG9jYXRpb24uYXNzaWduKCdodHRwOi8vbG9jYWxob3N0
OjgwMDAvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5waHAnKTsKKyAg
ICAgd2luZG93LmxvY2F0aW9uLmFzc2lnbignaHR0cDovL2xvY2FsaG9zdDo4MDAwL2NhY2hlL3Jl
c291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UucHknKTsKIH0KIAogZnVuY3Rpb24gcnVu
VGVzdCgpIHsKICAgICB2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTsK
ICAgICBsaW5rLnJlbCA9ICJwcmVmZXRjaCI7Ci0gICAgbGluay5ocmVmID0gImh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLnBocCI7
CisgICAgbGluay5ocmVmID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMv
cHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLnB5IjsKICAgICBpZiAoaW50ZXJuYWxzKQogICAgICAg
ICBpbnRlcm5hbHMuYWRkUHJlZmV0Y2hMb2FkRXZlbnRMaXN0ZW5lcihsaW5rLCAoKSA9PiB7IGxv
YWRBZnRlclByZWZldGNoKCk7IH0pOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGlu
ayk7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL21haW4tcmVzb3VyY2UtMzA0
LXJlbG9hZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
bWFpbi1yZXNvdXJjZS0zMDQtcmVsb2FkLmh0bWwJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvbWFpbi1yZXNvdXJjZS0zMDQtcmVsb2FkLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTExLDcgKzExLDcgQEAgZnVuY3Rpb24gbG9hZEZyYW1lKG9ubG9hZCkK
ICAgICBpZiAoaWZyYW1lKQogICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGlmcmFt
ZSk7CiAgICAgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAg
aWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvaWZyYW1lMzA0Ym9keS5waHAiOworICAgIGlmcmFtZS5z
cmMgPSAicmVzb3VyY2VzL2lmcmFtZTMwNGJvZHkucHkiOwogICAgIGlmcmFtZS5vbmxvYWQgPSBv
bmxvYWQ7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOwogfQpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC5waHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC5w
aHAJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcG9z
dC1yZWRpcmVjdC1nZXQucGhwCShub25leGlzdGVudCkKQEAgLTEsNjAgKzAsMCBAQAotPD9waHAK
LXJlcXVpcmVfb25jZSAnLi4vcmVzb3VyY2VzL3BvcnRhYmlsaXR5TGF5ZXIucGhwJzsKLQotLy8g
VGhpcyB0ZXN0IGxvYWRzIGFuIHVuY2FjaGVhYmxlIG1haW4gcmVzb3VyY2UgYW5kIGEgY2FjaGVh
YmxlIGltYWdlIHN1YnJlc291cmNlLgotLy8gV2UgdGhlbiB0cmlnZ2VyIGEgUE9TVCByZXF1ZXN0
LCB3aGljaCByZWRpcmVjdHMgYXMgYSBHRVQgYmFjayB0byB0aGlzIHBhZ2UuCi0vLyBPbiB0aGlz
IEdFVCByZXF1ZXN0LCB0aGUgaW1hZ2Ugc2hvdWxkIGJlIGxvYWRlZCBmcm9tIHRoZSBjYWNoZSBh
bmQgbm8gSFRUUAotLy8gcmVxdWVzdCBzaG91bGQgYmUgc2VudC4gVGhlIGltYWdlIHJlc291cmNl
IHdpbGwgcmV0dXJuIDQwNCBpZiBpdCByZWNlaXZlcwotLy8gYSBzZWNvbmQgcmVxdWVzdCwgd2hp
Y2ggd2lsbCBjYXVzZSB1cyB0byBGQUlMLgotLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zODY5MAotaGVhZGVyKCdDYWNoZS1Db250cm9sOiBuby1jYWNoZSwg
bm8tc3RvcmUsIG11c3QtcmV2YWxpZGF0ZSwgbWF4LWFnZT0wJyk7Ci1oZWFkZXIoJ1ByYWdtYTog
bm8tY2FjaGUnKTsKLWhlYWRlcignRXhwaXJlczogJyAuIGdtZGF0ZShEQVRFX1JGQzExMjMsIHRp
bWUoKS0xKSk7Ci0KLWlmICgkX1BPU1RbInN1Ym1pdCJdID09ICJyZWRpcmVjdCIpIHsKLSAgICBo
ZWFkZXIoJ0hUVFAvMS4xIDMwMiBGb3VuZCcpOwotICAgIGhlYWRlcignTG9jYXRpb246IHBvc3Qt
cmVkaXJlY3QtZ2V0LnBocD9maW5pc2g9dHJ1ZScpOwotICAgIGV4aXQoKTsKLX0KLT8+Ci08aHRt
bD4KLTxib2R5PgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLTxzY3JpcHQ+Ci1pZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKLX0KLSAgICAKLWZ1bmN0aW9uIGxvZ0FuZEZpbmlzaChtZXNz
YWdlKQotewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtZXNzYWdlKSk7Ci0gICAgdmFyIHhociA9IG5ldyBY
TUxIdHRwUmVxdWVzdDsKLSAgICB4aHIub3BlbigiR0VUIiwgIi4uL3Jlc291cmNlcy9yZXNldC10
ZW1wLWZpbGUucGhwP2ZpbGVuYW1lPWNhY2hlX3Bvc3QtcmVkaXJlY3QtZ2V0X3N0YXRlIiwgZmFs
c2UpOwotICAgIHhoci5zZW5kKG51bGwpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19Ci08L3NjcmlwdD4KLTw/cGhwCi1jbGVh
cnN0YXRjYWNoZSgpOwotaWYgKCRfR0VUWyJmaW5pc2giXSA9PSAidHJ1ZSIpIHsKLSAgICAvLyBU
aGUgaW5pdGlhbCBsb2FkIG9mIHRoZSBpbWFnZSBtaWdodCBoYXZlIGJlZW4gZG9uZSBmcm9tIHRo
ZSBjYWNoZS4gSW4gdGhhdCBjYXNlLCB0b3VjaCB0aGUKLSAgICAvLyBzdGF0ZSBmaWxlIHRvIGlu
ZGljYXRlIGEgbG9hZCBoYXMgYWxyZWFkeSBvY2N1cnJlZC4KLSAgICBpZiAoIWZpbGVfZXhpc3Rz
KHN5c19nZXRfdGVtcF9kaXIoKSAuICIvY2FjaGVfcG9zdC1yZWRpcmVjdC1nZXRfc3RhdGUiKSkg
ewotICAgICAgICBlY2hvICI8c2NyaXB0PiI7Ci0gICAgICAgIGVjaG8gInhociA9IG5ldyBYTUxI
dHRwUmVxdWVzdDsiOwotICAgICAgICBlY2hvICJ4aHIub3BlbignR0VUJywgJy4uL3Jlc291cmNl
cy90b3VjaC10ZW1wLWZpbGUucGhwP2ZpbGVuYW1lPWNhY2hlX3Bvc3QtcmVkaXJlY3QtZ2V0X3N0
YXRlJywgZmFsc2UpOyI7Ci0gICAgICAgIGVjaG8gInhoci5zZW5kKG51bGwpOyI7Ci0gICAgICAg
IGVjaG8gIjwvc2NyaXB0PiI7Ci0gICAgfQotICAgIGVjaG8gIjxpbWcgc3JjPSdyZXNvdXJjZXMv
cG9zdC1pbWFnZS10by12ZXJpZnkucGhwP3Rlc3Q9Y2FjaGVfcG9zdC1yZWRpcmVjdC1nZXQnIG9u
bG9hZD1cImxvZ0FuZEZpbmlzaCgnUEFTUycpO1wiIG9uZXJyb3I9XCJsb2dBbmRGaW5pc2goJ0ZB
SUwnKTtcIj48L2ltZz4iOwotfSBlbHNlIHsKLSAgICBlY2hvICI8Zm9ybSBhY3Rpb249J3Bvc3Qt
cmVkaXJlY3QtZ2V0LnBocCcgbWV0aG9kPSdwb3N0Jz4iOwotICAgIGVjaG8gIjxpbnB1dCB0eXBl
PSdzdWJtaXQnIGlkPSdzdWJtaXQnIG5hbWU9J3N1Ym1pdCcgdmFsdWU9J3JlZGlyZWN0Jz4iOwot
ICAgIGVjaG8gIjwvZm9ybT4iOwotICAgIGVjaG8gIjxpbWcgc3JjPSdyZXNvdXJjZXMvcG9zdC1p
bWFnZS10by12ZXJpZnkucGhwP3Rlc3Q9Y2FjaGVfcG9zdC1yZWRpcmVjdC1nZXQnIG9ubG9hZD1c
ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdWJtaXQnKS5jbGljaygpO1wiIG9uZXJyb3I9XCJs
b2dBbmRGaW5pc2goJ0ZBSUwgb24gaW5pdGlhbCBsb2FkJyk7XCI+PC9pbWc+IjsKLX0gCi0/Pgot
PC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0
LXJlZGlyZWN0LWdldC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucHkJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw4MyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgY2dpCitpbXBvcnQg
b3MKK2ltcG9ydCBzeXMKK2ltcG9ydCB0ZW1wZmlsZQorZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0
ZXRpbWUsIHRpbWVkZWx0YQorZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNlX3FzCisKK2Zp
bGUgPSBfX2ZpbGVfXy5zcGxpdCgnOi9jeWd3aW4nKVstMV0KK2h0dHBfcm9vdCA9IG9zLnBhdGgu
ZGlybmFtZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShm
aWxlKSkpKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKworcmVxdWVzdF9tZXRob2Qg
PSBvcy5lbnZpcm9uLmdldCgnUkVRVUVTVF9NRVRIT0QnLCAnJykKK2V4cGlyZXMgPSAne30gKzAw
MDAnLmZvcm1hdCgoZGF0ZXRpbWUudXRjbm93KCkgLSB0aW1lZGVsdGEoc2Vjb25kcz0xKSkuc3Ry
ZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorZmluaXNoID0gcGFyc2VfcXMob3MuZW52
aXJvbi5nZXQoJ1FVRVJZX1NUUklORycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkuZ2V0
KCdmaW5pc2gnLCBbJyddKVswXQorCityZXF1ZXN0ID0ge30KK2lmIHJlcXVlc3RfbWV0aG9kID09
ICdQT1NUJzoKKyAgICBmb3JtID0gY2dpLkZpZWxkU3RvcmFnZSgpCisgICAgZm9yIGtleSBpbiBz
b3J0ZWQoZm9ybS5rZXlzKCkpOgorICAgICAgICByZXF1ZXN0W2tleV0gPSBmb3JtLmdldHZhbHVl
KGtleSkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUs
IG5vLXN0b3JlLCBtdXN0LXJldmFsaWRhdGUsIG1heC1hZ2U9MFxyXG4nCisgICAgJ1ByYWdtYTog
bm8tY2FjaGVcclxuJworICAgIGYnRXhwaXJlczoge2V4cGlyZXN9XHJcbicKKyAgICAnQ29udGVu
dC1UeXBlOiB0ZXh0L2h0bWxcclxuJworKQorCitpZiByZXF1ZXN0LmdldCgnc3VibWl0JywgJycp
ID09ICdyZWRpcmVjdCc6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ3N0YXR1czog
MzAyXHJcbicKKyAgICAgICAgJ0xvY2F0aW9uOiBwb3N0LXJlZGlyZWN0LWdldC5weT9maW5pc2g9
dHJ1ZVxyXG5cclxuJworICAgICkKKyAgICBzeXMuZXhpdCgwKQorCitzeXMuc3Rkb3V0LndyaXRl
KAorICAgICdcclxuJworICAgICc8aHRtbD5cclxuJworICAgICc8Ym9keT5cclxuJworICAgICc8
ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PlxyXG4nCisgICAgJzxzY3JpcHQ+XHJcbicKKyAgICAnaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7XHJcbicKKyAgICAnICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpO1xyXG4nCisgICAgJyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTtcclxuJworICAg
ICd9XHJcbicKKyAgICAnICAgIFxyXG4nCisgICAgJ2Z1bmN0aW9uIGxvZ0FuZEZpbmlzaChtZXNz
YWdlKVxyXG4nCisgICAgJ3tcclxuJworICAgICcgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InJlc3VsdCIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2UpKTtc
clxuJworICAgICcgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdDtcclxuJworICAgICcg
ICAgeGhyLm9wZW4oIkdFVCIsICIuLi9yZXNvdXJjZXMvcmVzZXQtdGVtcC1maWxlLnB5P2ZpbGVu
YW1lPWNhY2hlX3Bvc3QtcmVkaXJlY3QtZ2V0X3N0YXRlIiwgZmFsc2UpO1xyXG4nCisgICAgJyAg
ICB4aHIuc2VuZChudWxsKTtcclxuJworICAgICcgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKVxy
XG4nCisgICAgJyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7XHJcbicKKyAgICAnfVxy
XG4nCisgICAgJzwvc2NyaXB0PlxyXG4nCispCisKK2lmIGZpbmlzaCA9PSAndHJ1ZSc6CisgICAg
dG1wRmlsZSA9IG9zLnBhdGguam9pbih0ZW1wZmlsZS5nZXR0ZW1wZGlyKCksICdjYWNoZV9wb3N0
LXJlZGlyZWN0LWdldF9zdGF0ZScpCisgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKHRtcEZpbGUp
OgorICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAgICAgJzxzY3JpcHQ+JworICAg
ICAgICAgICAgJ3hociA9IG5ldyBYTUxIdHRwUmVxdWVzdDsnCisgICAgICAgICAgICAneGhyLm9w
ZW4oXCdHRVRcJywgXCcuLi9yZXNvdXJjZXMvdG91Y2gtdGVtcC1maWxlLnB5P2ZpbGVuYW1lPWNh
Y2hlX3Bvc3QtcmVkaXJlY3QtZ2V0X3N0YXRlXCcsIGZhbHNlKTsnCisgICAgICAgICAgICAneGhy
LnNlbmQobnVsbCk7JworICAgICAgICAgICAgJzwvc2NyaXB0PicKKyAgICAgICAgKQorICAgIHN5
cy5zdGRvdXQud3JpdGUoJzxpbWcgc3JjPVwncmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5
LnBocD90ZXN0PWNhY2hlX3Bvc3QtcmVkaXJlY3QtZ2V0XCcgb25sb2FkPSJsb2dBbmRGaW5pc2go
XCdQQVNTXCcpOyIgb25lcnJvcj0ibG9nQW5kRmluaXNoKFwnRkFJTFwnKTsiPjwvaW1nPicpCitl
bHNlOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICc8Zm9ybSBhY3Rpb249XCdwb3N0
LXJlZGlyZWN0LWdldC5weVwnIG1ldGhvZD1cJ3Bvc3RcJz4nCisgICAgICAgICc8aW5wdXQgdHlw
ZT1cJ3N1Ym1pdFwnIGlkPVwnc3VibWl0XCcgbmFtZT1cJ3N1Ym1pdFwnIHZhbHVlPVwncmVkaXJl
Y3RcJz4nCisgICAgICAgICc8L2Zvcm0+JworICAgICAgICAnPGltZyBzcmM9XCdyZXNvdXJjZXMv
cG9zdC1pbWFnZS10by12ZXJpZnkucHk/dGVzdD1jYWNoZV9wb3N0LXJlZGlyZWN0LWdldFwnIG9u
bG9hZD0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCdzdWJtaXRcJykuY2xpY2soKTsiIG9uZXJy
b3I9ImxvZ0FuZEZpbmlzaChcJ0ZBSUwgb24gaW5pdGlhbCBsb2FkXCcpOyI+PC9pbWc+JworICAg
ICkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnPC9ib2R5PlxuJworICAgICc8L2h0bWw+XG4n
CispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC5weQpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13
aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMucGhwCShyZXZpc2lv
biAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNo
ZWQtc3VicmVzb3VyY2VzLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDU0ICswLDAgQEAKLTw/cGhw
Ci1yZXF1aXJlX29uY2UgJy4uL3Jlc291cmNlcy9wb3J0YWJpbGl0eUxheWVyLnBocCc7Ci0KLS8v
IFRoaXMgdGVzdCBsb2FkcyBhbiB1bmNhY2hlYWJsZSBtYWluIHJlc291cmNlIGFuZCBhIGNhY2hl
YWJsZSBpbWFnZSBzdWJyZXNvdXJjZS4KLS8vIFdlIHJlcXVlc3QgdGhpcyBwYWdlIGFzIGEgR0VU
LCB0aGVuIHJlbG9hZCB0aGlzIHBhZ2Ugd2l0aCBhIFBPU1QuCi0vLyBPbiB0aGUgcG9zdCByZXF1
ZXN0LCB0aGUgaW1hZ2Ugc2hvdWxkIGJlIGxvYWRlZCBmcm9tIHRoZSBjYWNoZSBhbmQgbm8gSFRU
UAotLy8gcmVxdWVzdCBzaG91bGQgYmUgc2VudC4gVGhlIGltYWdlIHJlc291cmNlIHdpbGwgcmV0
dXJuIDQwNCBpZiBpdCByZWNlaXZlcwotLy8gYSBzZWNvbmQgcmVxdWVzdCwgd2hpY2ggd2lsbCBj
YXVzZSB1cyB0byBGQUlMLgotLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zODY5MAotaGVhZGVyKCdDYWNoZS1Db250cm9sOiBuby1jYWNoZSwgbm8tc3RvcmUs
IG11c3QtcmV2YWxpZGF0ZSwgbWF4LWFnZT0wJyk7Ci1oZWFkZXIoJ1ByYWdtYTogbm8tY2FjaGUn
KTsKLWhlYWRlcignRXhwaXJlczogJyAuIGdtZGF0ZShEQVRFX1JGQzExMjMsIHRpbWUoKS0xKSk7
Ci0/PgotPGh0bWw+Ci08Ym9keT4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Ci08c2NyaXB0Pgot
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0g
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci19Ci0gICAgCi1mdW5jdGlvbiBsb2dBbmRG
aW5pc2gobWVzc2FnZSkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0Iiku
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobWVzc2FnZSkpOwotICAgIHZhciB4
aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7Ci0gICAgeGhyLm9wZW4oIkdFVCIsICIuLi9yZXNvdXJj
ZXMvcmVzZXQtdGVtcC1maWxlLnBocD9maWxlbmFtZT1jYWNoZV9wb3N0LXdpdGgtY2FjaGVkLXN1
YnJlc291cmNlc19zdGF0ZSIsIGZhbHNlKTsKLSAgICB4aHIuc2VuZChudWxsKTsKLSAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfQot
PC9zY3JpcHQ+Ci08P3BocAotY2xlYXJzdGF0Y2FjaGUoKTsKLWlmICgkX1BPU1RbInN1Ym1pdCJd
ID09ICJmaW5pc2giKSB7Ci0gICAgLy8gVGhlIGluaXRpYWwgbG9hZCBvZiB0aGUgaW1hZ2UgbWln
aHQgaGF2ZSBiZWVuIGRvbmUgZnJvbSB0aGUgY2FjaGUuIEluIHRoYXQgY2FzZSwgdG91Y2ggdGhl
Ci0gICAgLy8gc3RhdGUgZmlsZSB0byBpbmRpY2F0ZSBhIGxvYWQgaGFzIGFscmVhZHkgb2NjdXJy
ZWQuCi0gICAgaWYgKCFmaWxlX2V4aXN0cyhzeXNfZ2V0X3RlbXBfZGlyKCkgLiAiL2NhY2hlX3Bv
c3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzX3N0YXRlIikpIHsKLSAgICAgICAgZWNobyAiPHNj
cmlwdD4iOwotICAgICAgICBlY2hvICJ4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7IjsKLSAgICAg
ICAgZWNobyAieGhyLm9wZW4oJ0dFVCcsICcuLi9yZXNvdXJjZXMvdG91Y2gtdGVtcC1maWxlLnBo
cD9maWxlbmFtZT1jYWNoZV9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlc19zdGF0ZScsIGZh
bHNlKTsiOwotICAgICAgICBlY2hvICJ4aHIuc2VuZChudWxsKTsiOwotICAgICAgICBlY2hvICI8
L3NjcmlwdD4iOwotICAgIH0KLSAgICBlY2hvICI8aW1nIHNyYz0ncmVzb3VyY2VzL3Bvc3QtaW1h
Z2UtdG8tdmVyaWZ5LnBocD90ZXN0PWNhY2hlX3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2Vz
JyBvbmxvYWQ9XCJsb2dBbmRGaW5pc2goJ1BBU1MnKTtcIiBvbmVycm9yPVwibG9nQW5kRmluaXNo
KCdGQUlMJyk7XCI+PC9pbWc+IjsKLX0gZWxzZSB7Ci0gICAgZWNobyAiPGZvcm0gYWN0aW9uPSdw
b3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy5waHAnIG1ldGhvZD0ncG9zdCc+IjsKLSAgICBl
Y2hvICI8aW5wdXQgdHlwZT0nc3VibWl0JyBpZD0nc3VibWl0JyBuYW1lPSdzdWJtaXQnIHZhbHVl
PSdmaW5pc2gnPiI7Ci0gICAgZWNobyAiPC9mb3JtPiI7Ci0gICAgZWNobyAiPGltZyBzcmM9J3Jl
c291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5waHA/dGVzdD1jYWNoZV9wb3N0LXdpdGgtY2Fj
aGVkLXN1YnJlc291cmNlcycgb25sb2FkPVwiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Ym1p
dCcpLmNsaWNrKCk7XCIgb25lcnJvcj1cImxvZ0FuZEZpbmlzaCgnRkFJTCBvbiBpbml0aWFsIGxv
YWQnKTtcIj48L2ltZz4iOwotfSAKLT8+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLnB5Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hl
ZC1zdWJyZXNvdXJjZXMucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy5weQkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDgxIEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBjZ2kKK2lt
cG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHRlbXBmaWxlCitmcm9tIGRhdGV0aW1lIGltcG9y
dCBkYXRldGltZSwgdGltZWRlbHRhCisKKyMgVGhpcyB0ZXN0IGxvYWRzIGFuIHVuY2FjaGVhYmxl
IG1haW4gcmVzb3VyY2UgYW5kIGEgY2FjaGVhYmxlIGltYWdlIHN1YnJlc291cmNlLgorIyBXZSBy
ZXF1ZXN0IHRoaXMgcGFnZSBhcyBhIEdFVCwgdGhlbiByZWxvYWQgdGhpcyBwYWdlIHdpdGggYSBQ
T1NULgorIyBPbiB0aGUgcG9zdCByZXF1ZXN0LCB0aGUgaW1hZ2Ugc2hvdWxkIGJlIGxvYWRlZCBm
cm9tIHRoZSBjYWNoZSBhbmQgbm8gSFRUUAorIyByZXF1ZXN0IHNob3VsZCBiZSBzZW50LiBUaGUg
aW1hZ2UgcmVzb3VyY2Ugd2lsbCByZXR1cm4gNDA0IGlmIGl0IHJlY2VpdmVzCisjIGEgc2Vjb25k
IHJlcXVlc3QsIHdoaWNoIHdpbGwgY2F1c2UgdXMgdG8gRkFJTC4KKyMgU2VlIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODY5MAorCitmaWxlID0gX19maWxlX18uc3Bs
aXQoJzovY3lnd2luJylbLTFdCitodHRwX3Jvb3QgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5k
aXJuYW1lKG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoZmlsZSkpKSkKK3N5cy5wYXRo
Lmluc2VydCgwLCBodHRwX3Jvb3QpCisKK3JlcXVlc3RfbWV0aG9kID0gb3MuZW52aXJvbi5nZXQo
J1JFUVVFU1RfTUVUSE9EJywgJycpCitleHBfdGltZSA9IGRhdGV0aW1lLnV0Y25vdygpIC0gdGlt
ZWRlbHRhKHNlY29uZHM9MSkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ2FjaGUtQ29udHJv
bDogbm8tY2FjaGUsIG5vLXN0b3JlLCBtdXN0LXJldmFsaWRhdGUsIG1heC1hZ2U9MFxyXG4nCisg
ICAgJ1ByYWdtYTogbm8tY2FjaGVcclxuJworICAgICdFeHBpcmVzOiB7fSArMDAwMFxyXG4nCisg
ICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nLmZvcm1hdChleHBfdGltZS5zdHJm
dGltZSgnJWEsICVkICViICVZICVIOiVNOiVTJykpCispCisKK3N5cy5zdGRvdXQud3JpdGUoCisg
ICAgJzxodG1sPlxuJworICAgICc8Ym9keT5cbicKKyAgICAnPGRpdiBpZD0icmVzdWx0Ij48L2Rp
dj5cbicKKyAgICAnPHNjcmlwdD5cbicKKyAgICAnaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7XG4n
CisgICAgJyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTtcbicKKyAgICAnICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpO1xuJworICAgICd9XG4nCisgICAgJyAgICBcbicKKyAgICAnZnVu
Y3Rpb24gbG9nQW5kRmluaXNoKG1lc3NhZ2UpXG4nCisgICAgJ3tcbicKKyAgICAnICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZShtZXNzYWdlKSk7XG4nCisgICAgJyAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1
ZXN0O1xuJworICAgICcgICAgeGhyLm9wZW4oIkdFVCIsICIuLi9yZXNvdXJjZXMvcmVzZXQtdGVt
cC1maWxlLnB5P2ZpbGVuYW1lPWNhY2hlX3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzX3N0
YXRlIiwgZmFsc2UpO1xuJworICAgICcgICAgeGhyLnNlbmQobnVsbCk7XG4nCisgICAgJyAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpXG4nCisgICAgJyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7XG4nCisgICAgJ31cbicKKyAgICAnPC9zY3JpcHQ+XG4nCispCisKK3JlcXVlc3QgPSB7
fQoraWYgcmVxdWVzdF9tZXRob2QgPT0gJ1BPU1QnOgorICAgIGZvcm0gPSBjZ2kuRmllbGRTdG9y
YWdlKCkKKyAgICBmb3Iga2V5IGluIHNvcnRlZChmb3JtLmtleXMoKSk6CisgICAgICAgIHJlcXVl
c3Rba2V5XSA9IGZvcm0uZ2V0dmFsdWUoa2V5KQorCitpZiByZXF1ZXN0LmdldCgnc3VibWl0Jywg
JycpID09ICdmaW5pc2gnOgorICAgIHRtcEZpbGVQYXRoID0gb3MucGF0aC5qb2luKHRlbXBmaWxl
LmdldHRlbXBkaXIoKSwgJ2NhY2hlX3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzX3N0YXRl
JykKKyAgICBpZiBvcy5wYXRoLmV4aXN0cyh0bXBGaWxlUGF0aCk6CisgICAgICAgIHN5cy5zdGRv
dXQud3JpdGUoCisgICAgICAgICAgICAnPHNjcmlwdD4nCisgICAgICAgICAgICAneGhyID0gbmV3
IFhNTEh0dHBSZXF1ZXN0OycKKyAgICAgICAgICAgICd4aHIub3BlbihcJ0dFVFwnLCBcJy4uL3Jl
c291cmNlcy90b3VjaC10ZW1wLWZpbGUucHk/ZmlsZW5hbWU9Y2FjaGVfcG9zdC13aXRoLWNhY2hl
ZC1zdWJyZXNvdXJjZXNfc3RhdGVcJywgZmFsc2UpOycKKyAgICAgICAgICAgICd4aHIuc2VuZChu
dWxsKTsnCisgICAgICAgICAgICAnPC9zY3JpcHQ+JworICAgICAgICApCisKKyAgICBzeXMuc3Rk
b3V0LndyaXRlKCc8aW1nIHNyYz1cJ3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5weT90
ZXN0PWNhY2hlX3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzXCcgb25sb2FkPSJsb2dBbmRG
aW5pc2goXCdQQVNTXCcpOyIgb25lcnJvcj0ibG9nQW5kRmluaXNoKFwnRkFJTFwnKTsiPjwvaW1n
PicpCitlbHNlOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICc8Zm9ybSBhY3Rpb249
XCdwb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy5weVwnIG1ldGhvZD1cJ3Bvc3RcJz4nCisg
ICAgICAgICc8aW5wdXQgdHlwZT1cJ3N1Ym1pdFwnIGlkPVwnc3VibWl0XCcgbmFtZT1cJ3N1Ym1p
dFwnIHZhbHVlPVwnZmluaXNoXCc+JworICAgICAgICAnPC9mb3JtPicKKyAgICAgICAgJzxpbWcg
c3JjPVwncmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnB5P3Rlc3Q9Y2FjaGVfcG9zdC13
aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXNcJyBvbmxvYWQ9XCJkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZChcJ3N1Ym1pdFwnKS5jbGljaygpO1wiIG9uZXJyb3I9XCJsb2dBbmRGaW5pc2goXCdGQUlMIG9u
IGluaXRpYWwgbG9hZFwnKTtcIj48L2ltZz4nCisgICAgKQorCitzeXMuc3Rkb3V0LndyaXRlKAor
ICAgICc8L2JvZHk+XG4nCisgICAgJzwvaHRtbD5cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLnB5Cl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
eGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZWN1cnNpdmUtdmFsaWRhdGlv
bi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVjdXJz
aXZlLXZhbGlkYXRpb24uaHRtbAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9yZWN1cnNpdmUtdmFsaWRhdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC02LDcgKzYsNyBAQCBkZXNjcmlwdGlvbigiVGVzdCB0aGF0IHJlY3Vyc2l2ZWx5IGxvYWRpCiAK
IGZ1bmN0aW9uIGxvYWQoY29tcGxldGlvbikgewogICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJl
cXVlc3QoKTsKLSAgICB4aHIub3BlbignR0VUJywgInJlc291cmNlcy9uby1jYWNoZS13aXRoLXZh
bGlkYXRpb24ucGhwIik7CisgICAgeGhyLm9wZW4oJ0dFVCcsICJyZXNvdXJjZXMvbm8tY2FjaGUt
d2l0aC12YWxpZGF0aW9uLnB5Iik7CiAgICAgeGhyLm9ubG9hZCA9IGNvbXBsZXRpb247CiAgICAg
eGhyLnNlbmQoKTsKIH0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVkaXJl
Y3QtcmVmZXJlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVkaXJlY3QtcmVmZXJlci5odG1sCShyZXZpc2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3JlZGlyZWN0LXJlZmVyZXIuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMSw3ICsxLDcgQEAKIDxib2R5PgogPHNjcmlwdD4KIHZhciBybmQgPSBNYXRoLmZsb29yKE1h
dGgucmFuZG9tKCkgKiAxMDAwMDAwMDAwMDAwMDAwKTsKLXZhciBpZnJhbWVTcmMgPSAicmVzb3Vy
Y2VzL3Blcm1hbmVudC1yZWRpcmVjdC5waHA/bG9jYXRpb249cmVkaXJlY3QtcmVmZXJlci1pZnJh
bWUuaHRtbCZybmQ9IiArIHJuZDsKK3ZhciBpZnJhbWVTcmMgPSAicmVzb3VyY2VzL3Blcm1hbmVu
dC1yZWRpcmVjdC5weT9sb2NhdGlvbj1yZWRpcmVjdC1yZWZlcmVyLWlmcmFtZS5odG1sJnJuZD0i
ICsgcm5kOwogCiB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7
CiBpZnJhbWUuc3JjID0gaWZyYW1lU3JjOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZWxvYWQtbWFpbi1yZXNvdXJjZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZWxvYWQtbWFpbi1yZXNvdXJjZS5waHAJKHJldmlzaW9uIDI3NDI1
NSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVsb2FkLW1haW4tcmVzb3VyY2Uu
cGhwCShub25leGlzdGVudCkKQEAgLTEsMjcgKzAsMCBAQAotPD9waHAKLXJlcXVpcmVfb25jZSAn
Li4vcmVzb3VyY2VzL3BvcnRhYmlsaXR5TGF5ZXIucGhwJzsKLWNsZWFyc3RhdGNhY2hlKCk7Ci1p
ZiAoZmlsZV9leGlzdHMoc3lzX2dldF90ZW1wX2RpcigpIC4gIi9jYWNoZS1yZWxvYWQtbWFpbi1y
ZXNvdXJjZS50bXAiKSkKLSAgICB1bmxpbmsoc3lzX2dldF90ZW1wX2RpcigpIC4gIi9jYWNoZS1y
ZWxvYWQtbWFpbi1yZXNvdXJjZS50bXAiKTsKLT8+Ci0KLTxib2R5PgotPGRpdiBpZD0icmVzdWx0
Ij48L2Rpdj4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLX0KLQot
ZnVuY3Rpb24gcmVsb2FkSWZyYW1lKCkgewotICAgIHdpbmRvdy5mcmFtZXNbMF0ubG9jYXRpb24u
cmVsb2FkKCk7Ci19Ci0KLWZ1bmN0aW9uIGZpbmlzaCgpIHsKLSAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicmVzdWx0IikuaW5uZXJUZXh0ID0gIlBBU1MiOwotICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19Ci08L3NjcmlwdD4K
LTxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvcmVsb2FkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBocCIg
b25sb2FkPSJyZWxvYWRJZnJhbWUoKTsiPjwvaWZyYW1lPgotPC9ib2R5PgpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZWxvYWQtbWFpbi1yZXNvdXJjZS5weQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3JlbG9hZC1tYWluLXJlc291cmNlLnB5
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVsb2FkLW1h
aW4tcmVzb3VyY2UucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNyBAQAorIyEvdXNyL2Jp
bi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCB0ZW1wZmlsZQor
CitmaWxlID0gX19maWxlX18uc3BsaXQoJzovY3lnd2luJylbLTFdCitodHRwX3Jvb3QgPSBvcy5w
YXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5h
bWUoZmlsZSkpKSkKK3N5cy5wYXRoLmluc2VydCgwLCBodHRwX3Jvb3QpCisKK3RtcEZpbGUgPSBv
cy5wYXRoLmpvaW4odGVtcGZpbGUuZ2V0dGVtcGRpcigpLCAnY2FjaGUtcmVsb2FkLW1haW4tcmVz
b3VyY2UudG1wJykKK2lmIG9zLnBhdGguaXNmaWxlKHRtcEZpbGUpOgorICAgIG9zLnJlbW92ZSh0
bXBGaWxlKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRt
bFxyXG5cclxuJworICAgICc8Ym9keT5cbicKKyAgICAnPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj5c
bicKKyAgICAnPHNjcmlwdD5cbicKKyAgICAnaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7XG4nCisg
ICAgJyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTtcbicKKyAgICAnICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpO1xuJworICAgICd9XG4nCisgICAgJ1xuJworICAgICdmdW5jdGlvbiBy
ZWxvYWRJZnJhbWUoKSB7XG4nCisgICAgJyAgICB3aW5kb3cuZnJhbWVzWzBdLmxvY2F0aW9uLnJl
bG9hZCgpO1xuJworICAgICd9XG4nCisgICAgJ1xuJworICAgICdmdW5jdGlvbiBmaW5pc2goKSB7
XG4nCisgICAgJyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJUZXh0
ID0gIlBBU1MiO1xuJworICAgICcgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKVxuJworICAgICcg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpO1xuJworICAgICd9XG4nCisgICAgJzwvc2Ny
aXB0PlxuJworICAgICc8aWZyYW1lIHNyYz0icmVzb3VyY2VzL3JlbG9hZC1tYWluLXJlc291cmNl
LWlmcmFtZS5weSIgb25sb2FkPSJyZWxvYWRJZnJhbWUoKTsiPjwvaWZyYW1lPlxuJworICAgICc8
L2JvZHk+XG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZWxvYWQtbWFpbi1yZXNvdXJjZS5w
eQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvc3R5bGVzaGVldC1zaGFyaW5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9zdHlsZXNoZWV0LXNoYXJpbmcuaHRtbAkocmV2aXNpb24gMjc0MjU1
KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9zdHlsZXNoZWV0LXNoYXJpbmcuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMTYsNyArMTYsNyBAQCBmdW5jdGlvbiB3YWl0Rm9yU3R5bGVz
aGVldChpZnJhbWUsIGNvbXBsCiBmdW5jdGlvbiBsb2FkKHNyYywgY29tcGxldGlvbkhhbmRsZXIp
CiB7CiAgICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwot
ICAgIGlmcmFtZS5zcmMgPSAicmVzb3VyY2VzL3N0eWxlc2hlZXQtaHRtbC5waHA/c2hlZXQ9IiAr
IHNyYzsKKyAgICBpZnJhbWUuc3JjID0gInJlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwucHk/c2hl
ZXQ9IiArIHNyYzsKICAgICBpZnJhbWUub25sb2FkID0gZnVuY3Rpb24gKCkgewogICAgICAgICBp
ZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGg7CiAgICAgICAgIHdhaXRGb3JT
dHlsZXNoZWV0KGlmcmFtZSwgY29tcGxldGlvbkhhbmRsZXIpOwpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS92YXJ5LWZyYW1lbGVzcy1kb2N1bWVudC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvdmFyeS1mcmFtZWxlc3MtZG9jdW1lbnQu
aHRtbAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS92
YXJ5LWZyYW1lbGVzcy1kb2N1bWVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBA
QAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwog
Ci12YXIgc3ZnRG9jdW1lbnRTdHJpbmcgPSAnPHN2Zz48dXNlIHg9IjUwIiB5PSIxMCIgeGxpbms6
aHJlZj0icmVzb3VyY2VzL3N2Zy1kZWZzLXZhcnkucGhwI2NpcmNsZSIgLz48L3N2Zz4nOwordmFy
IHN2Z0RvY3VtZW50U3RyaW5nID0gJzxzdmc+PHVzZSB4PSI1MCIgeT0iMTAiIHhsaW5rOmhyZWY9
InJlc291cmNlcy9zdmctZGVmcy12YXJ5LnB5I2NpcmNsZSIgLz48L3N2Zz4nOwogZnVuY3Rpb24g
bWFrZURvY3VtZW50KCkgewogICAgIHZhciBkb2MgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5j
cmVhdGVIVE1MRG9jdW1lbnQoJycpOwogICAgIGRvYy5vcGVuKCk7CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3gtZnJhbWUtb3B0aW9ucy0zMDQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3gtZnJhbWUtb3B0aW9ucy0zMDQuaHRtbAko
cmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS94LWZyYW1l
LW9wdGlvbnMtMzA0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE3LDkgKzE3LDkgQEAgZnVuY3Rp
b24gdGVzdCgpIHsKIAogICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuYm9k
eS5sYXN0Q2hpbGQpOwogICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJp
ZnJhbWUiKTsKLSAgICBpZnJhbWUuc3JjID0gInJlc291cmNlcy94LWZyYW1lLW9wdGlvbnMucGhw
IgorICAgIGlmcmFtZS5zcmMgPSAicmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5weSIKICAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7CiB9CiA8L3NjcmlwdD4KLTxpZnJhbWUg
c3JjPSJyZXNvdXJjZXMveC1mcmFtZS1vcHRpb25zLnBocCI+PC9pZnJhbWU+Cis8aWZyYW1lIHNy
Yz0icmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5weSI+PC9pZnJhbWU+CiA8L2JvZHk+CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3hoci1ib2R5Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS94aHItYm9keS5odG1sCShyZXZpc2lvbiAy
NzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3hoci1ib2R5Lmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTE4LDcgKzE4LDcgQEAgZnVuY3Rpb24gdGVzdCgpIHsKICAgICByZXF1
ZXN0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbigpIHsgbG9nKCJsb2FkIik7IHJl
cGVhdCgpOyB9LCBmYWxzZSk7CiAgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIs
IGZ1bmN0aW9uKCkgeyBsb2coImVycm9yIik7IHJlcGVhdCgpOyB9LCBmYWxzZSk7CiAgICAgcmVx
dWVzdC5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsIGZ1bmN0aW9uKCkgeyBsb2coImFib3J0Iik7
IHJlcGVhdCgpOyB9LCBmYWxzZSk7Ci0gICAgcmVxdWVzdC5vcGVuKCJHRVQiLCAicmVzb3VyY2Vz
L2JvZHkucGhwIiwgdHJ1ZSk7CisgICAgcmVxdWVzdC5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL2Jv
ZHkucHkiLCB0cnVlKTsKICAgICByZXF1ZXN0LnNlbmQoKTsKIH0KIApAQCAtMzYsNyArMzYsNyBA
QCBmdW5jdGlvbiByZXBlYXQoKSB7CiAgICAgc2Vjb25kUmVxdWVzdC5hZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgZnVuY3Rpb24oKSB7IHNlY29uZFJlcXVlc3RGaW5pc2hlZCgpOyB9LCBmYWxzZSk7
CiAgICAgc2Vjb25kUmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsIGZ1bmN0aW9uKCkg
eyBsb2coImVycm9yIik7IGVuZCgpOyB9LCBmYWxzZSk7CiAgICAgc2Vjb25kUmVxdWVzdC5hZGRF
dmVudExpc3RlbmVyKCJhYm9ydCIsIGZ1bmN0aW9uKCkgeyBsb2coImFib3J0Iik7IGVuZCgpOyB9
LCBmYWxzZSk7Ci0gICAgc2Vjb25kUmVxdWVzdC5vcGVuKCJQT1NUIiwgInJlc291cmNlcy9ib2R5
LnBocCIsIHRydWUpOworICAgIHNlY29uZFJlcXVlc3Qub3BlbigiUE9TVCIsICJyZXNvdXJjZXMv
Ym9keS5weSIsIHRydWUpOwogICAgIHNlY29uZFJlcXVlc3Quc2VuZCgiVGhpcyBodHRwIGJvZHkg
c2hvdWxkIGJlIHZpc2libGUiKTsKIH0KIApJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS94aHItdmFyeS1oZWFkZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3hoci12YXJ5LWhlYWRlci5odG1sCShyZXZpc2lvbiAyNzQyNTUpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3hoci12YXJ5LWhlYWRlci5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0xMiw3ICsxMiw3IEBAIHZhciB0ZXN0U3RlcCA9IDE7CiBmdW5jdGlvbiB0ZXN0
Q3Jvc3NPcmlnaW4oKQogewogICAgIHZhciByZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7Ci0gICAg
cmVxLm9wZW4oImdldCIsICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY2FjaGUvcmVzb3VyY2VzL3ho
ci12YXJ5LWhlYWRlci1yZXNwb25zZS5waHAiKTsKKyAgICByZXEub3BlbigiZ2V0IiwgImh0dHA6
Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXJlc3BvbnNl
LnB5Iik7CiAgICAgcmVxLm9ubG9hZD1mdW5jdGlvbigpIHsgcmVjZWl2ZWRSZXNwb25zZShyZXEu
cmVzcG9uc2VUZXh0KSB9CiAgICAgcmVxLnNlbmQoKTsKIH0KSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hlLXJlZGlyZWN0LXRvLWRhdGEuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUv
ZGlzay1jYWNoZS1yZWRpcmVjdC10by1kYXRhLmh0bWwJKHJldmlzaW9uIDI3NDI1NSkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hlLXJlZGlyZWN0
LXRvLWRhdGEuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIDxzY3JpcHQgc3Jj
PSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9cmVzb3VyY2VzL3JlZGlyZWN0LXRvLWRhdGEucGhwPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
cmVzb3VyY2VzL3JlZGlyZWN0LXRvLWRhdGEucHk+PC9zY3JpcHQ+CiA8c2NyaXB0PgogZGVzY3Jp
cHRpb24oIlRlc3QgdGhhdCBIVFRQIHJlZGlyZWN0IHRvIGEgZGF0YSBVUkwgZG9lcyBub3QgY3Jh
c2ggb3IgYXNzZXJ0IGluIHRoZSBuZXR3b3JrIHByb2Nlc3MuIik7CiBzaG91bGRCZVRydWUoInN1
Y2Nlc3MiKTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9k
aXNrLWNhY2hlLXJlbW92ZS1zZXZlcmFsLXBlbmRpbmctd3JpdGVzLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtcmVt
b3ZlLXNldmVyYWwtcGVuZGluZy13cml0ZXMuaHRtbAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtcmVtb3ZlLXNl
dmVyYWwtcGVuZGluZy13cml0ZXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjIsNyArMjIsNyBA
QCBmdW5jdGlvbiBmZXRjaCh1cmwpIHsKIAogZnVuY3Rpb24gZmV0Y2hSZXNvdXJjZSgpIHsKICAg
aW50ZXJuYWxzLmNsZWFyTWVtb3J5Q2FjaGUoKTsKLSAgcmV0dXJuIGZldGNoKCdyZXNvdXJjZXMv
anNvbi5waHA/aWQ9JyArIGlkKS50aGVuKGZ1bmN0aW9uIChyZXNwKSB7CisgIHJldHVybiBmZXRj
aCgncmVzb3VyY2VzL2pzb24ucHk/aWQ9JyArIGlkKS50aGVuKGZ1bmN0aW9uIChyZXNwKSB7CiAg
ICAgaWYgKHJlc3AuYm9keS52ZXJzaW9uID09PSAyKSB7CiAgICAgICBidWdSZXByb2R1Y2VkID0g
ZmFsc2U7CiAgICAgfQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNh
Y2hlL3JlZGlyZWN0LWNoYWluLWxpbWl0cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZWRpcmVjdC1jaGFpbi1saW1pdHMuaHRtbAko
cmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNh
Y2hlL3JlZGlyZWN0LWNoYWluLWxpbWl0cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC05LDcgKzks
NyBAQCBmdW5jdGlvbiByZWRpcmVjdENoYWluKGxlbmd0aCwgdW5pcXVlSWQsCiB7CiAgICAgaW50
ZXJuYWxzLmNsZWFyTWVtb3J5Q2FjaGUoKQogCi0gICAgdmFyIHVybCA9ICJyZXNvdXJjZXMvcmVk
aXJlY3QtY2hhaW4ucGhwP2xlbmd0aD0iICsgbGVuZ3RoICsgIiZ1bmlxdWVJZD0iICsgdW5pcXVl
SWQ7CisgICAgdmFyIHVybCA9ICJyZXNvdXJjZXMvcmVkaXJlY3QtY2hhaW4ucHk/bGVuZ3RoPSIg
KyBsZW5ndGggKyAiJnVuaXF1ZUlkPSIgKyB1bmlxdWVJZDsKIAogICAgIHhociA9IG5ldyBYTUxI
dHRwUmVxdWVzdCgpOwogICAgIHhoci5vbmxvYWQgPSBvbmxvYWQ7CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL2pzb24ucGhwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMv
anNvbi5waHAJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvanNvbi5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw0MiAr
MCwwIEBACi08P3BocAotCi1mdW5jdGlvbiBzZW5kMzA0KCkKLXsKLSAgICBoZWFkZXIoIkhUVFAv
MS4xIDMwNCBOb3QgTW9kaWZpZWQiKTsKLSAgICBoZWFkZXIoIkVUYWc6IGZvbyIpOwotfQotCi0k
aWQgPSAkX0dFVFsiaWQiXTsKLSRjb3VudCA9IDE7Ci1pZiAoaXNzZXQoJF9DT09LSUVbJGlkXSkp
IHsKLSAgICAkY291bnQgPSAkX0NPT0tJRVskaWRdOwotfQotCi1zZXRjb29raWUoJGlkLCAkY291
bnQgKyAxKTsKLQotaWYgKCRjb3VudCA9PSAxKSB7Ci0gICAgaGVhZGVyKCJDYWNoZS1Db250cm9s
OiBtdXN0LXJldmFsaWRhdGUiKTsKLSAgICBoZWFkZXIoIkVUYWc6IGZvbyIpOwotICAgIGhlYWRl
cigiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uIik7Ci0gICAgZWNobyAneyJ2ZXJzaW9u
IjogMX0nOwotfSBlbHNlIGlmICgkY291bnQgPT0gMikgewotICAgIHNlbmQzMDQoKTsKLX0gZWxz
ZSBpZiAoJGNvdW50ID09IDMpIHsKLSAgICBoZWFkZXIoIkhUVFAvMS4xIDQwNCBOb3QgRm91bmQi
KTsKLSAgICBoZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG11c3QtcmV2YWxpZGF0ZSIpOwotICAgIGhl
YWRlcigiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uIik7Ci0gICAgZWNobyAneyJub3Qi
OiAiZm91bmQifSc7Ci19IGVsc2UgaWYgKCRjb3VudCA9PSA0KSB7Ci0gICAgaWYgKCRfU0VSVkVS
WyJIVFRQX0lGX05PTkVfTUFUQ0giXSA9PSAiZm9vIikgewotICAgICAgICBzZW5kMzA0KCk7Ci0g
ICAgfSBlbHNlIHsKLSAgICAgICAgaGVhZGVyKCJDYWNoZS1Db250cm9sOiBtdXN0LXJldmFsaWRh
dGUiKTsKLSAgICAgICAgaGVhZGVyKCJFVGFnOiBmb28iKTsKLSAgICAgICAgaGVhZGVyKCJDb250
ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24iKTsKLSAgICAgICAgZWNobyAneyJ2ZXJzaW9uIjog
Mn0nOwotICAgIH0KLX0gZWxzZSB7Ci0gICAgc2VuZDMwNCgpOwotfQotCi0/PgpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9qc29uLnB5Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNv
dXJjZXMvanNvbi5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL2pzb24ucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw1NSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMK
K2Zyb20gdXJsbGliLnBhcnNlIGltcG9ydCBwYXJzZV9xcworCitkZWYgc2VuZDMwNCgpOgorICAg
IHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4n
CisgICAgICAgICdzdGF0dXM6IDMwNFxyXG4nCisgICAgICAgICdFVGFnOiBmb29cclxuXHJcbicK
KyAgICApCisKK2lkZW50ID0gcGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklORycs
ICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkuZ2V0KCdpZCcsIFsnJ10pWzBdCitjb29raWVz
ID0ge30KK2lmICdIVFRQX0NPT0tJRScgaW4gb3MuZW52aXJvbjoKKyAgICBoZWFkZXJfY29va2ll
cyA9IG9zLmVudmlyb25bJ0hUVFBfQ09PS0lFJ10KKyAgICBoZWFkZXJfY29va2llcyA9IGhlYWRl
cl9jb29raWVzLnNwbGl0KCc7ICcpCisKKyAgICBmb3IgY29va2llIGluIGhlYWRlcl9jb29raWVz
OgorICAgICAgICBjb29raWUgPSBjb29raWUuc3BsaXQoJz0nKQorICAgICAgICBjb29raWVzW2Nv
b2tpZVswXV0gPSBjb29raWVbMV0KKworY291bnQgPSAxCitpZiBjb29raWVzLmdldChpZGVudCwg
Tm9uZSk6CisgICAgY291bnQgPSBpbnQoY29va2llcy5nZXQoaWRlbnQsIDApKQorCitzeXMuc3Rk
b3V0LndyaXRlKGYnU2V0LUNvb2tpZToge2lkZW50fT17Y291bnQgKyAxfVxyXG4nKQorCitpZiBj
b3VudCA9PSAxOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICdDYWNoZS1Db250cm9s
OiBtdXN0LXJldmFsaWRhdGVcclxuJworICAgICAgICAnRVRhZzogZm9vXHJcbicKKyAgICAgICAg
J0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvblxyXG5cclxuJworICAgICAgICAneyJ2ZXJz
aW9uIjogMX0nCisgICAgKQorZWxpZiBjb3VudCA9PSAzOgorICAgIHN5cy5zdGRvdXQud3JpdGUo
CisgICAgICAgICdzdGF0dXM6IDQwNFxyXG4nCisgICAgICAgICdDYWNoZS1Db250cm9sOiBtdXN0
LXJldmFsaWRhdGVcclxuJworICAgICAgICAnQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29u
XHJcblxyXG4nCisgICAgICAgICd7Im5vdCI6ICJmb3VuZCJ9JworICAgICkKK2VsaWYgY291bnQg
PT0gNDoKKyAgICBpZiBvcy5lbnZpcm9uLmdldCgnSFRUUF9JRl9OT05FX01BVENIJywgJycpID09
ICdmb28nOgorICAgICAgICBzZW5kMzA0KCkKKyAgICBlbHNlOgorICAgICAgICBzeXMuc3Rkb3V0
LndyaXRlKAorICAgICAgICAgICAgJ0NhY2hlLUNvbnRyb2w6IG11c3QtcmV2YWxpZGF0ZVxyXG4n
CisgICAgICAgICAgICAnRVRhZzogZm9vXHJcbicKKyAgICAgICAgICAgICdDb250ZW50LVR5cGU6
IGFwcGxpY2F0aW9uL2pzb25cclxuXHJcbicKKyAgICAgICAgICAgICd7InZlcnNpb24iOiAyfScK
KyAgICAgICAgKQorZWxzZToKKyAgICBzZW5kMzA0KCkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rp
c2stY2FjaGUvcmVzb3VyY2VzL2pzb24ucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFi
bGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGly
ZWN0LWNoYWluLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LWNoYWluLnBocAkocmV2aXNpb24gMjc0MjU1
KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9y
ZWRpcmVjdC1jaGFpbi5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08PwotJGxl
bmd0aCA9ICRfR0VUWydsZW5ndGgnXTsKLWlmICgkbGVuZ3RoID09IDApIHsKLSAgICBoZWFkZXIo
J1N0YXR1czogMjAwJyk7Ci0gICAgaGVhZGVyKCdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTEwMCcp
OwotICAgIGV4aXQoKTsKLX0KLSRsZW5ndGggPSAkbGVuZ3RoIC0gMTsKLQotaGVhZGVyKCdTdGF0
dXM6IDMwMicpOwotaGVhZGVyKCdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTEwMCcpOwotaGVhZGVy
KCdMb2NhdGlvbjogcmVkaXJlY3QtY2hhaW4ucGhwP2xlbmd0aD0nIC4gJGxlbmd0aCAuICcmdW5p
cXVlSWQ9JyAuICRfR0VUWyd1bmlxdWVJZCddIC4gJyZyYW5kb209JyAuIHJhbmQoKSk7Ci0/PgpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9y
ZWRpcmVjdC1jaGFpbi5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LWNoYWluLnB5CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvcmVk
aXJlY3QtY2hhaW4ucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNSBAQAorIyEvdXNyL2Jp
bi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zyb20gcmFuZG9tIGltcG9y
dCByYW5kaW50Citmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMKKworcXVlcnkgPSBw
YXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3Zh
bHVlcz1UcnVlKQorbGVuZ3RoID0gaW50KHF1ZXJ5LmdldCgnbGVuZ3RoJywgWzBdKVswXSkKK3Vu
aXF1ZV9pZCA9IHF1ZXJ5LmdldCgndW5pcXVlSWQnLCBbJyddKVswXQorCitzeXMuc3Rkb3V0Lndy
aXRlKAorICAgICdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTEwMFxyXG4nCisgICAgJ0NvbnRlbnQt
VHlwZTogdGV4dC9odG1sXHJcbicKKykKKworaWYgbGVuZ3RoID09IDA6CisgICAgc3lzLnN0ZG91
dC53cml0ZSgnc3RhdHVzOiAyMDBcclxuXHJcbicpCisgICAgc3lzLmV4aXQoMCkKKworbGVuZ3Ro
IC09IDEKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ3N0YXR1czogMzAyXHJcbicKKyAgICBmJ0xv
Y2F0aW9uOiByZWRpcmVjdC1jaGFpbi5weT9sZW5ndGg9e2xlbmd0aH0mdW5pcXVlSWQ9e3VuaXF1
ZV9pZH0mcmFuZG9tPXtyYW5kaW50KDAsIHN5cy5tYXhzaXplKX1cclxuXHJcbicKKykKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LWNoYWluLnB5Cl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC10by1kYXRhLnBocAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGly
ZWN0LXRvLWRhdGEucGhwCShyZXZpc2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWRhdGEucGhwCShub25l
eGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi08PwotaGVhZGVyKCdTdGF0dXM6IDMwMSBNb3ZlZCBQ
ZXJtYW5lbnRseScpOwotaGVhZGVyKCdMb2NhdGlvbjogZGF0YTphcHBsaWNhdGlvbi9qYXZhc2Ny
aXB0LHN1Y2Nlc3M9dHJ1ZTsnKTsKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWRhdGEucHkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRp
cmVjdC10by1kYXRhLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tZGF0YS5weQkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDkgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IHN5
cworCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdzdGF0dXM6IDMwMVxyXG4nCisgICAgJ0xvY2F0
aW9uOiBkYXRhOmFwcGxpY2F0aW9uL2phdmFzY3JpcHQsc3VjY2Vzcz10cnVlO1xyXG4nCisgICAg
J0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC10by1kYXRhLnB5Cl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hl
L3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vY2FjaGVhYmxlLXJlZGlyZWN0Lmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZl
LXZhbGlkYXRpb24vY2FjaGVhYmxlLXJlZGlyZWN0Lmh0bWwJKHJldmlzaW9uIDI3NDI1NSkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxp
ZGF0aW9uL2NhY2hlYWJsZS1yZWRpcmVjdC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xNiw3ICsx
Niw3IEBAIGZ1bmN0aW9uIGZyYW1lTG9hZGVkKCkKICAgICAgICAgLy8gTmF2aWdhdGUgZnJhbWUg
dG8gaXRzIG9yaWdpbmFsIGxvY2F0aW9uIGFnYWluLiBUaGlzIHRpbWUgaXQgc2hvdWxkIHNwZWN1
bGF0aXZlbHkKICAgICAgICAgLy8gdmFsaWRhdGUgc3VicmVzb3VyY2VzIGFzIHdlIGhhdmUgc3Vi
cmVzb3VyY2UgbG9hZHMgbWV0YWRhdGEgaW4gdGhlIGRpc2sgY2FjaGUuCiAgICAgICAgIHN0YXRl
ID0gInNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uIjsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRlc3RGcmFtZSIpLnNyYyA9ICJyZXNvdXJjZXMvY2FjaGVhYmxlLXJlZGlyZWN0LWZy
YW1lLnBocCI7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RnJhbWUiKS5z
cmMgPSAicmVzb3VyY2VzL2NhY2hlYWJsZS1yZWRpcmVjdC1mcmFtZS5weSI7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAgICAgaWYgKHN0YXRlID09ICJzcGVjdWxhdGl2ZVJldmFsaWRhdGlvbiIp
IHsKQEAgLTI4LDUgKzI4LDUgQEAgZnVuY3Rpb24gZnJhbWVMb2FkZWQoKQogfQogCiA8L3Njcmlw
dD4KLTxpZnJhbWUgaWQ9InRlc3RGcmFtZSIgc3JjPSJyZXNvdXJjZXMvY2FjaGVhYmxlLXJlZGly
ZWN0LWZyYW1lLnBocCIgb25sb2FkPSJmcmFtZUxvYWRlZCgpIj48L2lmcmFtZT4KKzxpZnJhbWUg
aWQ9InRlc3RGcmFtZSIgc3JjPSJyZXNvdXJjZXMvY2FjaGVhYmxlLXJlZGlyZWN0LWZyYW1lLnB5
IiBvbmxvYWQ9ImZyYW1lTG9hZGVkKCkiPjwvaWZyYW1lPgogPHNjcmlwdCBzcmM9Ii9qcy10ZXN0
LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vaHR0cC1h
dXRoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNr
LWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vaHR0cC1hdXRoLmh0bWwJKHJldmlzaW9uIDI3
NDI1NSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxh
dGl2ZS12YWxpZGF0aW9uL2h0dHAtYXV0aC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMiw3ICsx
Miw3IEBAIHN0YXRlID0gIndhcm11cCI7CiBmdW5jdGlvbiBjbGVhckNyZWRlbnRpYWxTdG9yYWdl
KCkKIHsKICAgICB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKLSAgICB4aHIub3BlbigiR0VU
IiwgInJlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucGhwP290aGVyIiwgZmFsc2UsICJiYWRV
c2VybmFtZSIsICJiYWRQYXNzd29yZCIpOworICAgIHhoci5vcGVuKCJHRVQiLCAicmVzb3VyY2Vz
L3Jlc291cmNlLXdpdGgtYXV0aC5weT9vdGhlciIsIGZhbHNlLCAiYmFkVXNlcm5hbWUiLCAiYmFk
UGFzc3dvcmQiKTsKICAgICB4aHIuc2VuZCgpOwogICAgIHNob3VsZEJlKCJ4aHIuc3RhdHVzIiwg
IjQwMSIpOwogfQpAQCAtMzUsNyArMzUsNyBAQCBmdW5jdGlvbiBmcmFtZUxvYWRlZCgpCiAgICAg
ICAgIC8vIE5hdmlnYXRlIGZyYW1lIHRvIGl0cyBvcmlnaW5hbCBsb2NhdGlvbiBhZ2Fpbi4gVGhp
cyB0aW1lIGl0IHNob3VsZCBzcGVjdWxhdGl2ZWx5CiAgICAgICAgIC8vIHZhbGlkYXRlIHN1YnJl
c291cmNlcyBhcyB3ZSBoYXZlIHN1YnJlc291cmNlIGxvYWRzIG1ldGFkYXRhIGluIHRoZSBkaXNr
IGNhY2hlLgogICAgICAgICBzdGF0ZSA9ICJzcGVjdWxhdGl2ZVJldmFsaWRhdGlvbiI7Ci0gICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RnJhbWUiKS5zcmMgPSAicmVzb3VyY2Vz
L2ZyYW1lLXdpdGgtYXV0aGVudGljYXRlZC1yZXNvdXJjZS5waHAiOworICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgidGVzdEZyYW1lIikuc3JjID0gInJlc291cmNlcy9mcmFtZS13aXRo
LWF1dGhlbnRpY2F0ZWQtcmVzb3VyY2UucHkiOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAg
IGlmIChzdGF0ZSA9PSAic3BlY3VsYXRpdmVSZXZhbGlkYXRpb24iKSB7CkBAIC00Nyw1ICs0Nyw1
IEBAIGZ1bmN0aW9uIGZyYW1lTG9hZGVkKCkKIH0KIAogPC9zY3JpcHQ+Ci08aWZyYW1lIGlkPSJ0
ZXN0RnJhbWUiIHNyYz0icmVzb3VyY2VzL2ZyYW1lLXdpdGgtYXV0aGVudGljYXRlZC1yZXNvdXJj
ZS5waHAiIG9ubG9hZD0iZnJhbWVMb2FkZWQoKSI+PC9pZnJhbWU+Cis8aWZyYW1lIGlkPSJ0ZXN0
RnJhbWUiIHNyYz0icmVzb3VyY2VzL2ZyYW1lLXdpdGgtYXV0aGVudGljYXRlZC1yZXNvdXJjZS5w
eSIgb25sb2FkPSJmcmFtZUxvYWRlZCgpIj48L2lmcmFtZT4KIDxzY3JpcHQgc3JjPSIvanMtdGVz
dC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3ZhbGlk
YXRpb24tcmVxdWVzdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3ZhbGlkYXRpb24tcmVxdWVz
dC5odG1sCShyZXZpc2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi92YWxpZGF0aW9uLXJlcXVlc3QuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQCBmdW5jdGlvbiBmcmFtZUxvYWRlZCgp
CiAgICAgICAgIC8vIE5hdmlnYXRlIGZyYW1lIHRvIGl0cyBvcmlnaW5hbCBsb2NhdGlvbiBhZ2Fp
bi4gVGhpcyB0aW1lIGl0IHNob3VsZCBzcGVjdWxhdGl2ZWx5CiAgICAgICAgIC8vIHZhbGlkYXRl
IHN1YnJlc291cmNlcyBhcyB3ZSBoYXZlIHN1YnJlc291cmNlIGxvYWRzIG1ldGFkYXRhIGluIHRo
ZSBkaXNrIGNhY2hlLgogICAgICAgICBzdGF0ZSA9ICJzcGVjdWxhdGl2ZVJldmFsaWRhdGlvbiI7
Ci0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RnJhbWUiKS5zcmMgPSAicmVz
b3VyY2VzL3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFtZS5waHAiOworICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidGVzdEZyYW1lIikuc3JjID0gInJlc291cmNlcy92YWxpZGF0aW9uLXJl
cXVlc3QtZnJhbWUucHkiOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlmIChzdGF0ZSA9
PSAic3BlY3VsYXRpdmVSZXZhbGlkYXRpb24iKSB7CkBAIC01MCw1ICs1MCw1IEBAIGZ1bmN0aW9u
IGZyYW1lTG9hZGVkKCkKIH0KIAogPC9zY3JpcHQ+Ci08aWZyYW1lIGlkPSJ0ZXN0RnJhbWUiIHNy
Yz0icmVzb3VyY2VzL3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFtZS5waHAiIG9ubG9hZD0iZnJhbWVM
b2FkZWQoKSI+PC9pZnJhbWU+Cis8aWZyYW1lIGlkPSJ0ZXN0RnJhbWUiIHNyYz0icmVzb3VyY2Vz
L3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFtZS5weSIgb25sb2FkPSJmcmFtZUxvYWRlZCgpIj48L2lm
cmFtZT4KIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9z
cGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jYWNoZWFibGUtcmVkaXJlY3QtZnJhbWUu
cGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jYWNoZWFibGUtcmVkaXJlY3QtZnJh
bWUucGhwCShyZXZpc2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY2FjaGVhYmxlLXJl
ZGlyZWN0LWZyYW1lLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDE3ICswLDAgQEAKLTw/cGhwCi1o
ZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sJyk7Ci1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6
IG1heC1hZ2U9MCcpOwotaGVhZGVyKCdFdGFnOiAxMjM0NTY3ODknKTsKLQotPz4KLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4
dC9jc3MiIGhyZWY9InJlZGlyZWN0LXRvLWNzcy5waHAiPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2
IGlkPSJ0ZXN0RGl2IiBjbGFzcz0idGVzdENsYXNzIj4KLVRFU1QKLTwvZGl2PgotPC9ib2R5Pgot
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Nw
ZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2NhY2hlYWJsZS1yZWRpcmVjdC1mcmFtZS5w
eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUv
c3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY2FjaGVhYmxlLXJlZGlyZWN0LWZyYW1l
LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jYWNoZWFibGUtcmVkaXJlY3Qt
ZnJhbWUucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorIyEvdXNyL2Jpbi9lbnYg
cHl0aG9uMworCitpbXBvcnQgc3lzCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NhY2hlLUNv
bnRyb2w6IG1heC1hZ2U9MFxyXG4nCisgICAgJ0V0YWc6IDEyMzQ1Njc4OVxyXG4nCisgICAgJ0Nv
bnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCisgICAgJzwhRE9DVFlQRSBodG1sPlxuJwor
ICAgICc8aHRtbD5cbicKKyAgICAnPGhlYWQ+XG4nCisgICAgJzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InJlZGlyZWN0LXRvLWNzcy5weSI+XG4nCisgICAgJzwv
aGVhZD5cbicKKyAgICAnPGJvZHk+XG4nCisgICAgJzxkaXYgaWQ9InRlc3REaXYiIGNsYXNzPSJ0
ZXN0Q2xhc3MiPlxuJworICAgICdURVNUXG4nCisgICAgJzwvZGl2PlxuJworICAgICc8L2JvZHk+
XG4nCisgICAgJzwvaHRtbD5cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUv
c3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY2FjaGVhYmxlLXJlZGlyZWN0LWZyYW1l
LnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2Nzcy10
by1yZXZhbGlkYXRlLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY3NzLXRvLXJl
dmFsaWRhdGUucGhwCShyZXZpc2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY3NzLXRv
LXJldmFsaWRhdGUucGhwCShub25leGlzdGVudCkKQEAgLTEsMTcgKzAsMCBAQAotPD9waHAKLWlm
ICgkX1NFUlZFUlsiSFRUUF9JRl9OT05FX01BVENIIl0gPT0gImZvbyIpIHsKLSAgICBoZWFkZXIo
IkhUVFAvMS4xIDMwNCBOb3QgTW9kaWZpZWQiKTsKLSAgICBoZWFkZXIoIkVUYWc6IGZvbyIpOwot
ICAgIHJldHVybjsKLX0KLQotaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvY3NzIik7Ci1oZWFk
ZXIoIkVUYWc6IGZvbyIpOwotaGVhZGVyKCJDYWNoZS1Db250cm9sOiBtYXgtYWdlPTAiKTsKLQot
Pz4KLQotLnRlc3RDbGFzcwotewotICAgIGNvbG9yOiBncmVlbjsKLX0KSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jl
c291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJj
ZXMvY3NzLXRvLXJldmFsaWRhdGUucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2Vz
L2Nzcy10by1yZXZhbGlkYXRlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjMgQEAKKyMh
L3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK21hdGNoID0g
b3MuZW52aXJvbi5nZXQoJ0hUVFBfSUZfTk9ORV9NQVRDSCcsICcnKQoraWYgbWF0Y2ggPT0gJ2Zv
byc6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ3N0YXR1czogMzA0XHJcbicKKyAg
ICAgICAgJ0VUYWc6IGZvb1xyXG4nCisgICAgICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxy
XG5cclxuJworICAgICkKKyAgICBzeXMuZXhpdCgwKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAg
ICdDb250ZW50LVR5cGU6IHRleHQvY3NzXHJcbicKKyAgICAnRVRhZzogZm9vXHJcbicKKyAgICAn
Q2FjaGUtQ29udHJvbDogbWF4LWFnZT0wXHJcblxyXG4nCisgICAgJy50ZXN0Q2xhc3NcbicKKyAg
ICAne1xuJworICAgICcgICAgY29sb3I6IGdyZWVuO1xuJworICAgICd9XG4nCispClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2Vz
L2Nzcy10by1yZXZhbGlkYXRlLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMj
IC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRp
b24vcmVzb3VyY2VzL2ZyYW1lLXdpdGgtYXV0aGVudGljYXRlZC1yZXNvdXJjZS5waHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0
aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2ZyYW1lLXdpdGgtYXV0aGVudGljYXRlZC1yZXNvdXJj
ZS5waHAJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9mcmFtZS13aXRoLWF1
dGhlbnRpY2F0ZWQtcmVzb3VyY2UucGhwCShub25leGlzdGVudCkKQEAgLTEsMTAgKzAsMCBAQAot
PD9waHAKLWhlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0L2h0bWwnKTsKLWhlYWRlcignQ2FjaGUt
Q29udHJvbDogbWF4LWFnZT0wJyk7Ci1oZWFkZXIoJ0V0YWc6IDEyMzQ1Njc4OScpOwotCi0/Pgot
PCFET0NUWVBFIGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZS13aXRoLWF1dGgu
cGhwIj48L3NjcmlwdD4KLTwvYm9keT4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9mcmFtZS13aXRo
LWF1dGhlbnRpY2F0ZWQtcmVzb3VyY2UucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2Vz
L2ZyYW1lLXdpdGgtYXV0aGVudGljYXRlZC1yZXNvdXJjZS5weQkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRh
dGlvbi9yZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnB5CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1w
b3J0IHN5cworCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdDYWNoZS1Db250cm9sOiBtYXgtYWdl
PTBcclxuJworICAgICdFdGFnOiAxMjM0NTY3ODlcclxuJworICAgICdDb250ZW50LVR5cGU6IHRl
eHQvaHRtbFxyXG5cclxuJworICAgICc8IURPQ1RZUEUgaHRtbD5cbicKKyAgICAnPGJvZHk+XG4n
CisgICAgJzxzY3JpcHQgc3JjPSJyZXNvdXJjZS13aXRoLWF1dGgucHkiPjwvc2NyaXB0PlxuJwor
ICAgICc8L2JvZHk+XG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1
bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2ZyYW1lLXdpdGgtYXV0aGVudGljYXRlZC1yZXNv
dXJjZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisq
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9y
ZWRpcmVjdC10by1jc3MucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZWRpcmVj
dC10by1jc3MucGhwCShyZXZpc2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVkaXJl
Y3QtdG8tY3NzLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDYgKzAsMCBAQAotPD9waHAKLWhlYWRl
cignSFRUUC8xLjEgMzAyIEZvdW5kJyk7Ci1oZWFkZXIoJ0xvY2F0aW9uOiAvY2FjaGUvZGlzay1j
YWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5w
aHAnKTsKLWhlYWRlcignRXhwaXJlczogVGh1LCAwMSBEZWMgMjAwMyAxNjowMDowMCBHTVQnKTsK
LWhlYWRlcignRVRhZzogZm9vJyk7Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3JlZGlyZWN0
LXRvLWNzcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rp
c2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tY3Nz
LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZWRpcmVjdC10by1jc3MucHkJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwor
CitpbXBvcnQgc3lzCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ3N0YXR1czogMzAyXHJcbicK
KyAgICAnTG9jYXRpb246IC9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24v
cmVzb3VyY2VzL2Nzcy10by1yZXZhbGlkYXRlLnB5XHJcbicKKyAgICAnRXhwaXJlczogVGh1LCAw
MSBEZWMgMjAwMyAxNjowMDowMCBHTVRcclxuJworICAgICdFVGFnOiBmb29cclxuJworICAgICdD
b250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZWRpcmVjdC10by1j
c3MucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVz
b3VyY2Utd2l0aC1hdXRoLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVzb3Vy
Y2Utd2l0aC1hdXRoLnBocAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3Jl
c291cmNlLXdpdGgtYXV0aC5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxOCArMCwwIEBACi08P3Bo
cAotJGV4cGVjdGVkVXNlcm5hbWUgPSAndGVzdFVzZXJuYW1lJzsKLSRleHBlY3RlZFBhc3N3b3Jk
ID0gJ3Rlc3RQYXNzd29yZCc7Ci0kcmVhbG0gPSAkX1NFUlZFUlsnUkVRVUVTVF9VUkknXTsKLQot
aGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdCcpOwotaGVhZGVyKCdDYWNoZS1D
b250cm9sOiBtYXgtYWdlPTAnKTsKLWhlYWRlcignRXRhZzogMTIzNDU2Nzg5Jyk7Ci0KLWlmICgh
aXNzZXQoJF9TRVJWRVJbJ1BIUF9BVVRIX1VTRVInXSkgfHwgJF9TRVJWRVJbJ1BIUF9BVVRIX1VT
RVInXSAhPSAkZXhwZWN0ZWRVc2VybmFtZSB8fAotICAgICFpc3NldCgkX1NFUlZFUlsnUEhQX0FV
VEhfUFcnXSkgfHwgJF9TRVJWRVJbJ1BIUF9BVVRIX1BXJ10gIT0gJGV4cGVjdGVkUGFzc3dvcmQp
IHsKLSAgICBoZWFkZXIoIldXVy1BdXRoZW50aWNhdGU6IEJhc2ljIHJlYWxtPVwiIiAuICRyZWFs
bSAuICJcIiIpOwotICAgIGhlYWRlcignSFRUUC8xLjAgNDAxIFVuYXV0aG9yaXplZCcpOwotICAg
IHByaW50ICdTZW50IHVzZXJuYW1lOnBhc3N3b3JkIG9mICgnIC4gJF9TRVJWRVJbJ1BIUF9BVVRI
X1VTRVInXSAuICc6JyAuICRfU0VSVkVSWydQSFBfQVVUSF9QVyddIC4gJykgd2hpY2ggaXMgbm90
IHdoYXQgd2FzIGV4cGVjdGVkJzsKLSAgICBleGl0OwotfQotPz4KLWxvYWRlZCA9IHRydWU7Cklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUt
dmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVzb3VyY2Utd2l0aC1hdXRoLnB5Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxp
ZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucHkJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlk
YXRpb24vcmVzb3VyY2VzL3Jlc291cmNlLXdpdGgtYXV0aC5weQkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDI5IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBiYXNlNjQKK2lt
cG9ydCBvcworaW1wb3J0IHN5cworCitjcmVkZW50aWFscyA9IGJhc2U2NC5iNjRkZWNvZGUob3Mu
ZW52aXJvbi5nZXQoJ0hUVFBfQVVUSE9SSVpBVElPTicsICcgT2c9PScpLnNwbGl0KCcgJylbMV0p
LmRlY29kZSgpLnNwbGl0KCc6JykKK3VzZXJuYW1lID0gY3JlZGVudGlhbHNbMF0KK3Bhc3N3b3Jk
ID0gJzonLmpvaW4oY3JlZGVudGlhbHNbMTpdKQorCitleHBlY3RlZFVzZXJuYW1lID0gJ3Rlc3RV
c2VybmFtZScKK2V4cGVjdGVkUGFzc3dvcmQgPSAndGVzdFBhc3N3b3JkJworcmVhbG0gPSBvcy5l
bnZpcm9uLmdldCgnUkVRVUVTVF9VUkknLCAnJykKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAn
Q29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHRcclxuJworICAgICdDYWNoZS1Db250cm9sOiBt
YXgtYWdlPTBcclxuJworICAgICdFdGFnOiAxMjM0NTY3ODlcclxuJworKQorCitpZiB1c2VybmFt
ZSAhPSBleHBlY3RlZFVzZXJuYW1lIG9yIHBhc3N3b3JkICE9IGV4cGVjdGVkUGFzc3dvcmQ6Cisg
ICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgZidXV1ctQXV0aGVudGljYXRlOiBCYXNpYyBy
ZWFsbT0ie3JlYWxtfSJcclxuJworICAgICAgICAnc3RhdHVzOiA0MDFcclxuXHJcbicKKyAgICAg
ICAgZidTZW50IHVzZXJuYW1lOnBhc3N3b3JkIG9mICh7dXNlcm5hbWV9OntwYXNzd29yZH0pIHdo
aWNoIGlzIG5vdCB3aGF0IHdhcyBleHBlY3RlZFxuJworICAgICkKKyAgICBzeXMuZXhpdCgwKQor
CitzeXMuc3Rkb3V0LndyaXRlKCdcclxubG9hZGVkID0gdHJ1ZTtcbicpClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3Jlc291
cmNlLXdpdGgtYXV0aC5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCww
ICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jl
c291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucGhwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9u
L3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucGhwCShyZXZpc2lvbiAyNzQyNTUp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUt
dmFsaWRhdGlvbi9yZXNvdXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1lLnBocAkobm9uZXhp
c3RlbnQpCkBAIC0xLDE2ICswLDAgQEAKLTw/cGhwCi1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4
dC9odG1sJyk7Ci1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MCcpOwotaGVhZGVyKCdF
dGFnOiAxMjM0NTY3ODknKTsKLSRjb29raWUgPSAic3BlY3VsYXRpdmVSZXF1ZXN0VmFsaWRhdGlv
bj0iIC4gdW5pcWlkKCk7Ci1oZWFkZXIoJ1NldC1Db29raWU6ICcgLiAkY29va2llKTsKLT8+Ci08
IURPQ1RZUEUgaHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9InJlcXVlc3QtaGVhZGVycy1zY3Jp
cHQucGhwIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci08P3BocAotZWNobyAic2VudFNldENvb2tpZUhl
YWRlciA9ICciIC4gJGNvb2tpZSAuICInOyI7Ci0/PgotPC9zY3JpcHQ+Ci08L2JvZHk+CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFs
aWRhdGlvbi9yZXNvdXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1lLnB5Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12
YWxpZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucHkJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0
aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFtZS5weQkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDIwIEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2lt
cG9ydCBzeXMKK2Zyb20gdXVpZCBpbXBvcnQgdXVpZDEKKworY29va2llID0gZidzcGVjdWxhdGl2
ZVJlcXVlc3RWYWxpZGF0aW9uPXt1dWlkMSgpfScKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAn
Q29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJworICAgICdDYWNoZS1Db250cm9sOiBtYXgtYWdl
PTBcclxuJworICAgICdFdGFnOiAxMjM0NTY3ODlcclxuJworICAgIGYnU2V0LUNvb2tpZToge2Nv
b2tpZX1cclxuXHJcbicKKyAgICAnPCFET0NUWVBFIGh0bWw+XG4nCisgICAgJzxib2R5PlxuJwor
ICAgICc8c2NyaXB0IHNyYz0icmVxdWVzdC1oZWFkZXJzLXNjcmlwdC5waHAiPjwvc2NyaXB0Plxu
JworICAgICc8c2NyaXB0PlxuJworICAgIGYnc2VudFNldENvb2tpZUhlYWRlciA9IFwne2Nvb2tp
ZX1cJztcbicKKyAgICAnPC9zY3JpcHQ+XG4nCisgICAgJzwvYm9keT5cbicKKykKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMv
dmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1lLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRh
YmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvYm9keS5waHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvYm9keS5waHAJ
KHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL2JvZHkucGhwCShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi08P3BocAotaGVhZGVy
KCdFdGFnOiAxMjM0NTY3ODknKTsKLWVjaG8gZmlsZV9nZXRfY29udGVudHMoJ3BocDovL2lucHV0
Jyk7Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvYm9k
eS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9ib2R5LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL2JvZHkucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMSBAQAorIyEvdXNy
L2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgc3lzCisKK2RhdGEgPSAnJy5qb2luKHN5cy5zdGRp
bi5yZWFkbGluZXMoKSkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnRXRhZzogMTIzNDU2Nzg5
XHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICBmJ3tkYXRh
fScKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9ib2R5LnB5Cl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvY2FjaGUtY29udHJvbC1yZWRpcmVjdC5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGUtY29udHJvbC1yZWRpcmVjdC5waHAJKHJl
dmlzaW9uIDI3NDI1NSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L2NhY2hlLWNvbnRyb2wtcmVkaXJlY3QucGhwCShub25leGlzdGVudCkKQEAgLTEsMjcgKzAsMCBA
QAotPD9waHAKLSAgICAkY29kZSA9ICRfR0VUWydjb2RlJ107Ci0gICAgaWYgKCFpc3NldCgkY29k
ZSkpCi0gICAgICAgICRjb2RlID0gMzAyOwotICAgIGhlYWRlcignSFRUUC8xLjEgJyAuICRjb2Rl
KTsKLQotICAgICR1cmwgPSAkX0dFVFsndXJsJ107Ci0gICAgJHJhbmRvbV9pZCA9ICRfR0VUWydy
YW5kb21faWQnXTsKLSAgICBpZiAoaXNzZXQoJHJhbmRvbV9pZCkpIHsKLSAgICAgICAgJGlkID0g
Jyc7Ci0gICAgICAgICRjaGFyc2V0ID0gJ0FCQ0RFRkdISUtMTU5PUFFSU1RVVldYWVowMTIzNDU2
Nzg5JzsKLSAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgMTY7ICRpKyspCi0gICAgICAgICAgICAk
aWQgLj0gJGNoYXJzZXRbcmFuZCgwLCBzdHJsZW4oJGNoYXJzZXQpIC0gMSldOwotICAgICAgICBo
ZWFkZXIoJ0xvY2F0aW9uOiAnIC4gJHVybCAuICc/aWQ9JyAuICRpZCk7Ci0gICAgfQotICAgIGVs
c2UKLSAgICAgICAgaGVhZGVyKCdMb2NhdGlvbjogJyAuICR1cmwpOwotCi0gICAgJGV4cGlyYXRp
b24gPSAkX0dFVFsnZXhwaXJhdGlvbiddOwotICAgIGlmIChpc3NldCgkZXhwaXJhdGlvbikpIHsK
LSAgICAgICAgJGV4cGlyZXMgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgKyAkZXhwaXJh
dGlvbik7Ci0gICAgICAgIGhlYWRlcignRXhwaXJlczogJyAuICRleHBpcmVzKTsKLSAgICB9Ci0K
LSAgICAkY2FjaGVfY29udHJvbCA9ICRfR0VUWydjYWNoZV9jb250cm9sJ107Ci0gICAgaGVhZGVy
KCdDYWNoZS1Db250cm9sOiAnIC4gJGNhY2hlX2NvbnRyb2wpOwotPz4KSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3QucHkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2Fj
aGUtY29udHJvbC1yZWRpcmVjdC5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0LnB5CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0
IG9zCitpbXBvcnQgc3lzCitmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZSwgdGltZWRlbHRh
Citmcm9tIHJhbmRvbSBpbXBvcnQgcmFuZGludAorZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBh
cnNlX3FzCisKK3F1ZXJ5ID0gcGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklORycs
ICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkKK2NvZGUgPSBxdWVyeS5nZXQoJ2NvZGUnLCBb
MzAyXSlbMF0KK3VybCA9IHF1ZXJ5LmdldCgndXJsJywgWydpbmRleC5odG1sJ10pWzBdCityYW5k
b21faWQgPSBxdWVyeS5nZXQoJ3JhbmRvbV9pZCcsIFsnJ10pWzBdCitleHBpcmF0aW9uID0gcXVl
cnkuZ2V0KCdleHBpcmF0aW9uJywgWzBdKVswXQorY2FjaGVfY29udHJvbCA9IHF1ZXJ5LmdldCgn
Y2FjaGVfY29udHJvbCcsIFsnJ10pWzBdCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgZidzdGF0
dXM6IHtjb2RlfVxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcbicKKykKKwor
aWYgcmFuZG9tX2lkIGlzIG5vdCAnJzoKKyAgICBpZGVudCA9ICcnCisgICAgY2hhcnNldCA9ICdB
QkNERUZHSElLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OScKKyAgICBmb3IgaSBpbiByYW5nZSgw
LCAxNik6CisgICAgICAgIGlkZW50ICs9IGNoYXJzZXRbcmFuZGludCgwLCBsZW4oY2hhcnNldCkp
XQorICAgIHN5cy5zdGRvdXQud3JpdGUoZidMb2NhdGlvbjoge3VybH0/aWQ9e2lkZW50fVxyXG4n
KQorZWxzZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKGYnTG9jYXRpb246IHt1cmx9XHJcbicpCisK
K2lmIGV4cGlyYXRpb24gaXMgbm90IDA6CisgICAgZXhwaXJlcyA9ICd7fSArMDAwMCcuZm9ybWF0
KChkYXRldGltZS51dGNub3coKSArIHRpbWVkZWx0YShzZWNvbmRzPWV4cGlyYXRpb24pKS5zdHJm
dGltZSgnJWEsICVkICViICVZICVIOiVNOiVTJykpCisgICAgc3lzLnN0ZG91dC53cml0ZShmJ0V4
cGlyZXM6IHtleHBpcmF0aW9ufVxyXG4nKQorCitzeXMuc3Rkb3V0LndyaXRlKGYnQ2FjaGUtQ29u
dHJvbDoge2NhY2hlX2NvbnRyb2x9XHJcblxyXG4nKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3QucHkKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4
ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUt
aWZyYW1lLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnBocAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLWlmcmFtZS5waHAJKG5v
bmV4aXN0ZW50KQpAQCAtMSwxMSArMCwwIEBACi08P3BocAotcmVxdWlyZV9vbmNlICcuLi8uLi9y
ZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXllci5waHAnOwotCi0kbWF4X2FnZSA9IDEyICogMzEgKiAy
NCAqIDYwICogNjA7IC8vb25lIHllYXIKLSRleHBpcmVzID0gZ21kYXRlKERBVEVfUkZDMTEyMywg
dGltZSgpICsgJG1heF9hZ2UpOwotCi1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IHB1YmxpYywgbWF4
LWFnZT0nIC4gJG1heF9hZ2UpOwotaGVhZGVyKCdFeHBpcmVzOiAnIC4gJGV4cGlyZXMpOwotaGVh
ZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbCcpOwotZXhpdCgpOwotPz4KSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1pZnJhbWUucHkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGVh
YmxlLWlmcmFtZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMTMgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IHN5cworCittYXhfYWdl
ID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MAorZXhwaXJlcyA9ICd7fSArMDAwMCcuZm9ybWF0KChk
YXRldGltZS51dGNub3coKSArIHRpbWVkZWx0YShzZWNvbmRzPW1heF9hZ2UpKS5zdHJmdGltZSgn
JWEsICVkICViICVZICVIOiVNOiVTJykpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgZidDYWNo
ZS1Db250cm9sOiBwdWJsaWMsIG1heC1hZ2U9e21heF9hZ2V9XHJcbicKKyAgICBmJ0V4cGlyZXM6
IHtleHBpcmVzfVxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcbicKKykKK3N5
cy5leGl0KDApClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLWlmcmFt
ZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5waHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLXJhbmRv
bS10ZXh0LnBocAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLXJhbmRvbS10ZXh0LnBocAkobm9uZXhpc3RlbnQpCkBA
IC0xLDE0ICswLDAgQEAKLTw/cGhwCi0gICAgJG1heF9hZ2UgPSAxMiAqIDMxICogMjQgKiA2MCAq
IDYwOyAvL29uZSB5ZWFyCi0gICAgaGVhZGVyKCdDYWNoZS1Db250cm9sOiBwdWJsaWMsIG1heC1h
Z2U9JyAuICRtYXhfYWdlKTsKLSAgICBoZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sJyk7
Ci0KLSAgICAkaWQgPSAkR0VUWydpZCddOwotICAgIGlmICghaXNzZXQoJEdFVFsncmFuZG9tX2lk
J10pKSB7Ci0gICAgICAgICRpZCA9ICcnOwotICAgICAgICAkY2hhcnNldCA9ICdBQkNERUZHSElL
TE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OSc7Ci0gICAgICAgIGZvciAoJGkgPSAwOyAkaSA8IDE2
OyAkaSsrKQotICAgICAgICAgICAgJGlkIC49ICRjaGFyc2V0W3JhbmQoMCwgc3RybGVuKCRjaGFy
c2V0KSAtIDEpXTsKLSAgICB9Ci0gICAgZWNobyAnPGh0bWw+PGJvZHk+U29tZSByYW5kb20gdGV4
dCcgLiAkaWQgLiAgJzwvaG1sPjwvYm9keT4nOwotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5weQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFu
ZG9tLXRleHQucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvY2FjaGVhYmxlLXJhbmRvbS10ZXh0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMjUgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQg
c3lzCitmcm9tIHJhbmRvbSBpbXBvcnQgcmFuZGludAorZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0
IHBhcnNlX3FzCisKK3F1ZXJ5ID0gcGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklO
RycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkKK2lkZW50ID0gcXVlcnkuZ2V0KCdpZCcs
IFsnJ10pWzBdCisKK21heF9hZ2UgPSAxMiAqIDMxICogMjQgKiA2MCAqIDYwCityYW5kb21faWRl
bnQgPSBUcnVlIGlmIHF1ZXJ5LmdldCgncmFuZG9tX2lkJywgW05vbmVdKVswXSBpcyBub3QgTm9u
ZSBlbHNlIEZhbHNlCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgZidDYWNoZS1Db250cm9sOiBw
dWJsaWMsIG1heC1hZ2U9e21heF9hZ2V9XHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0
bWxcclxuXHJcbicKKykKKworaWYgbm90IHJhbmRvbV9pZGVudDoKKyAgICBpZGVudCA9ICcnCisg
ICAgY2hhcnNldCA9ICdBQkNERUZHSElLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OScKKyAgICBm
b3IgaSBpbiByYW5nZSgwLCAxNik6CisgICAgICAgIGlkZW50ICs9IGNoYXJzZXRbcmFuZGludCgw
LCBsZW4oY2hhcnNldCkgLSAxKV0KKworc3lzLnN0ZG91dC53cml0ZShmJzxodG1sPjxib2R5PlNv
bWUgcmFuZG9tIHRleHR7aWRlbnR9PC9obWw+PC9ib2R5PicpClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvY2FjaGVhYmxlLXJhbmRvbS10ZXh0LnB5Cl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1l
MzA0LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9pZnJhbWUzMDQucGhwCShyZXZpc2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucGhwCShub25leGlzdGVudCkKQEAgLTEs
MjEgKzAsMCBAQAotPD9waHANCi1yZXF1aXJlX29uY2UgJy4uLy4uL3Jlc291cmNlcy9wb3J0YWJp
bGl0eUxheWVyLnBocCc7DQotDQotY2xlYXJzdGF0Y2FjaGUoKTsNCi0NCi1pZiAoJF9TRVJWRVJb
IkhUVFBfSUZfTU9ESUZJRURfU0lOQ0UiXSkgew0KLSAgICBoZWFkZXIoIkhUVFAvMS4xIDMwNCBO
b3QgTW9kaWZpZWQiKTsNCi0gICAgZXhpdCgpOw0KLX0NCi0kb25lX3llYXIgPSAxMiAqIDMxICog
MjQgKiA2MCAqIDYwOw0KLSRsYXN0X21vZGlmaWVkID0gZ21kYXRlKERBVEVfUkZDMTEyMywgdGlt
ZSgpIC0gJG9uZV95ZWFyKTsNCi0kZXhwaXJlcyA9IGdtZGF0ZShEQVRFX1JGQzExMjMsIHRpbWUo
KSArICRvbmVfeWVhcik7DQotDQotaGVhZGVyKCdDYWNoZS1Db250cm9sOiBuby1jYWNoZSwgbWF4
LWFnZT0nIC4gJG9uZV95ZWFyKTsNCi1oZWFkZXIoJ0V4cGlyZXM6ICcgLiAkZXhwaXJlcyk7DQot
aGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbCcpOw0KLWhlYWRlcignQ29udGVudC1MZW5n
dGg6IDAnKTsNCi1oZWFkZXIoJ0V0YWc6IDEyMzQ1Njc4OScpOw0KLWhlYWRlcignTGFzdC1Nb2Rp
ZmllZDogJyAuICRsYXN0X21vZGlmaWVkKTsNCi1leGl0KCk7DQotPz4NCkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucHkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lm
cmFtZTMwNC5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACisjIS91c3IvYmluL2Vu
diBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSBkYXRldGltZSBpbXBvcnQg
ZGF0ZXRpbWUsIHRpbWVkZWx0YQorCittb2RpZmllZF9zaW5jZSA9IG9zLmVudmlyb24uZ2V0KCdI
VFRQX0lGX01PRElGSUVEX1NJTkNFJywgJycpCisKK3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQt
VHlwZTogdGV4dC9odG1sXHJcbicpCisKK2lmIG1vZGlmaWVkX3NpbmNlOgorICAgIHN5cy5zdGRv
dXQud3JpdGUoJ3N0YXR1czogMzA0XHJcblxyXG4nKQorICAgIHN5cy5leGl0KDApCisKK29uZV95
ZWFyID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MAorbGFzdF9tb2RpZmllZCA9ICd7fSArMDAwMCcu
Zm9ybWF0KChkYXRldGltZS51dGNub3coKSAtIHRpbWVkZWx0YShzZWNvbmRzPW9uZV95ZWFyKSku
c3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorZXhwaXJlcyA9ICd7fSArMDAwMCcu
Zm9ybWF0KChkYXRldGltZS51dGNub3coKSArIHRpbWVkZWx0YShzZWNvbmRzPW9uZV95ZWFyKSku
c3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorCitzeXMuc3Rkb3V0LndyaXRlKAor
ICAgIGYnQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUsIG1heC1hZ2U9e29uZV95ZWFyfVxyXG4nCisg
ICAgZidFeHBpcmVzOiB7ZXhwaXJlc31cclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRt
bFxyXG4nCisgICAgJ0NvbnRlbnQtTGVuZ3RoOiAwXHJcbicKKyAgICAnRXRhZzogMTIzNDU2Nzg5
XHJcbicKKyAgICBmJ0xhc3QtTW9kaWZpZWQ6IHtsYXN0X21vZGlmaWVkfVxyXG4nCispCitzeXMu
ZXhpdCgwKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5weQpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL2lmcmFtZTMwNGJvZHkucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNGJvZHkucGhwCShyZXZpc2lvbiAyNzQy
NTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDRi
b2R5LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDE0ICswLDAgQEAKLTw/cGhwDQotcmVxdWlyZV9v
bmNlICcuLi8uLi9yZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXllci5waHAnOw0KLQ0KLWNsZWFyc3Rh
dGNhY2hlKCk7DQotDQotaWYgKCRfU0VSVkVSWyJIVFRQX0lGX01PRElGSUVEX1NJTkNFIl0pIHsN
Ci0gICAgaGVhZGVyKCJIVFRQLzEuMSAzMDQgTm90IE1vZGlmaWVkIik7DQotICAgIGV4aXQoKTsN
Ci19DQotaGVhZGVyKCdDYWNoZS1Db250cm9sOiBuby1jYWNoZScpOw0KLWhlYWRlcignQ29udGVu
dC1UeXBlOiB0ZXh0L2h0bWwnKTsNCi1oZWFkZXIoJ0V0YWc6IDEyMzQ1Njc4OScpOw0KLT8+DQot
Ym9keSB0ZXh0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0Ym9keS5weQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDRib2R5LnB5
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L2lmcmFtZTMwNGJvZHkucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxOCBAQAorIyEvdXNy
L2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworbW9kaWZpZWRfc2lu
Y2UgPSBvcy5lbnZpcm9uLmdldCgnSFRUUF9JRl9NT0RJRklFRF9TSU5DRScsICcnKQorCitzeXMu
c3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nKQorCitpZiBtb2RpZmll
ZF9zaW5jZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdzdGF0dXM6IDMwNFxyXG5cclxuJykKKyAg
ICBzeXMuZXhpdCgwKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdDYWNoZS1Db250cm9sOiBu
by1jYWNoZVxyXG4nCisgICAgJ0V0YWc6IDEyMzQ1Njc4OVxyXG5cclxuJworICAgICdib2R5IHRl
eHQnCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0Ym9keS5weQpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5waHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1y
ZXNvdXJjZS1uZXh0LnBocAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS1uZXh0LnBocAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDExICswLDAgQEAKLTw/cGhwCi1oZWFkZXIoIkNhY2hlLWNvbnRyb2w6
IG5vLWNhY2hlLCBtYXgtYWdlPTAiKTsKLWhlYWRlcigiTGFzdC1Nb2RpZmllZDogVGh1LCAwMSBK
YW4gMTk3MCAwMDowMDowMCBHTVQiKTsKLWhlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0L2h0bWwn
KTsKLQotcHJpbnQgIjxzY3JpcHQ+XG4iOwotcHJpbnQgInZhciByYW5kb21OdW1iZXIgPSAiIC4g
cmFuZCgpIC4gIjtcbiI7Ci0/PgotCi1vcGVuZXIucG9zdE1lc3NhZ2UocmFuZG9tTnVtYmVyLCAn
KicpOwotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLW5leHQucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS1u
ZXh0LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5weQkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDE0IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBzeXMKK2Zyb20g
cmFuZG9tIGltcG9ydCByYW5kaW50CisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NhY2hlLWNv
bnRyb2w6IG5vLWNhY2hlLCBtYXgtYWdlPTBcclxuJworICAgICdMYXN0LU1vZGlmaWVkOiBUaHUs
IDAxIEphbiAxOTcwIDAwOjAwOjAwIEdNVFxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9o
dG1sXHJcblxyXG4nCisgICAgJzxzY3JpcHQ+XG4nCisgICAgZid2YXIgcmFuZG9tTnVtYmVyID0g
e3JhbmRpbnQoMCwgc3lzLm1heHNpemUpfTtcbicKKyAgICAnb3BlbmVyLnBvc3RNZXNzYWdlKHJh
bmRvbU51bWJlciwgXCcqXCcpO1xuJworICAgICc8L3NjcmlwdD5cbicKKykKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLW5leHQucHkKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnBocAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnBo
cAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNv
dXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwzNCAr
MCwwIEBACi08P3BocAotaGVhZGVyKCJDYWNoZS1jb250cm9sOiBuby1jYWNoZSwgbWF4LWFnZT0w
Iik7Ci1oZWFkZXIoIkxhc3QtTW9kaWZpZWQ6IFRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01U
Iik7Ci1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sJyk7Ci0KLXByaW50ICI8c2NyaXB0
PlxuIjsKLXByaW50ICJ2YXIgcmFuZG9tTnVtYmVyID0gIiAuIHJhbmQoKSAuICI7XG4iOwotPz4K
LQotb3BlbmVyLnBvc3RNZXNzYWdlKHJhbmRvbU51bWJlciwgJyonKTsKLQotLy8gT3VyIG9wZW5l
ciB3aWxsIHRlbGwgdXMgdG8gcGVyZm9ybSB2YXJpb3VzIGxvYWRzLgotd2luZG93LmFkZEV2ZW50
TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbihldmVudCkgewotCi0gICAgLy8gR28gZm9yd2Fy
ZCBhbmQgYmFjay4KLSAgICBpZiAoZXZlbnQuZGF0YSA9PT0gJ2dvLWZvcndhcmQtYW5kLWJhY2sn
KSB7Ci0gICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9ICdoaXN0b3J5LWJhY2suaHRtbCc7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBSZWxvYWQuCi0gICAgaWYgKGV2ZW50LmRhdGEg
PT09ICdyZWxvYWQnKSB7Ci0gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLQotICAgIC8vIE5vcm1hbCBuYXZpZ2F0aW9uLCBuZXh0LgotICAg
IGlmIChldmVudC5kYXRhID09PSAnbmV4dCcpIHsKLSAgICAgICAgd2luZG93LmxvY2F0aW9uID0g
J25vLWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5waHAnOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi19LCBmYWxzZSk7Ci08L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNv
dXJjZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMzcgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IHN5cworZnJvbSByYW5k
b20gaW1wb3J0IHJhbmRpbnQKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ2FjaGUtY29udHJv
bDogbm8tY2FjaGUsIG1heC1hZ2U9MFxyXG4nCisgICAgJ0xhc3QtTW9kaWZpZWQ6IFRodSwgMDEg
SmFuIDE5NzAgMDA6MDA6MDAgR01UXHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxc
clxuXHJcbicKKyAgICAnPHNjcmlwdD5cbicKKyAgICBmJ3ZhciByYW5kb21OdW1iZXIgPSB7cmFu
ZGludCgwLCBzeXMubWF4c2l6ZSArIDEpfTtcbicKKyAgICAnb3BlbmVyLnBvc3RNZXNzYWdlKHJh
bmRvbU51bWJlciwgXCcqXCcpO1xuJworICAgICdcbicKKyAgICAnLy8gT3VyIG9wZW5lciB3aWxs
IHRlbGwgdXMgdG8gcGVyZm9ybSB2YXJpb3VzIGxvYWRzLlxuJworICAgICd3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcihcJ21lc3NhZ2VcJywgZnVuY3Rpb24oZXZlbnQpIHtcbicKKyAgICAnXG4nCisg
ICAgJyAgICAvLyBHbyBmb3J3YXJkIGFuZCBiYWNrLlxuJworICAgICcgICAgaWYgKGV2ZW50LmRh
dGEgPT09IFwnZ28tZm9yd2FyZC1hbmQtYmFja1wnKSB7XG4nCisgICAgJyAgICAgICAgd2luZG93
LmxvY2F0aW9uID0gXCdoaXN0b3J5LWJhY2suaHRtbFwnO1xuJworICAgICcgICAgICAgIHJldHVy
bjtcbicKKyAgICAnICAgIH1cbicKKyAgICAnXG4nCisgICAgJyAgICAvLyBSZWxvYWQuXG4nCisg
ICAgJyAgICBpZiAoZXZlbnQuZGF0YSA9PT0gXCdyZWxvYWRcJykge1xuJworICAgICcgICAgICAg
IHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbicKKyAgICAnICAgICAgICByZXR1cm47XG4nCisg
ICAgJyAgICB9XG4nCisgICAgJ1xuJworICAgICcgICAgLy8gTm9ybWFsIG5hdmlnYXRpb24sIG5l
eHQuXG4nCisgICAgJyAgICBpZiAoZXZlbnQuZGF0YSA9PT0gXCduZXh0XCcpIHtcbicKKyAgICAn
ICAgICAgICB3aW5kb3cubG9jYXRpb24gPSBcJ25vLWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5w
eVwnO1xuJworICAgICcgICAgICAgIHJldHVybjtcbicKKyAgICAnICAgIH1cbicKKyAgICAnXG4n
CisgICAgJ30sIGZhbHNlKTtcbicKKyAgICAnPC9zY3JpcHQ+XG4nCispClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS5weQpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L25vLWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtd2l0aC12YWxpZGF0aW9uLnBocAko
cmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvbm8tY2FjaGUtd2l0aC12YWxpZGF0aW9uLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDEwICsw
LDAgQEAKLTw/cGhwCi1pZiAoJF9TRVJWRVJbIkhUVFBfSUZfTU9ESUZJRURfU0lOQ0UiXSkgewot
ICAgIGhlYWRlcigiSFRUUC8xLjAgMzA0IE5vdCBNb2RpZmllZCIpOwotICAgIGV4aXQoKTsKLX0K
LWhlYWRlcigiQ2FjaGUtY29udHJvbDogbm8tY2FjaGUiKTsKLWhlYWRlcigiTGFzdC1Nb2RpZmll
ZDogVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHTVQiKTsKLWhlYWRlcigiQ29udGVudC1UeXBl
OiB0ZXh0L3BsYWluIik7Ci0/PgotZm9vCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9uby1jYWNoZS13aXRoLXZhbGlkYXRpb24ucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtd2l0aC12YWxp
ZGF0aW9uLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL25vLWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5weQkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDE4IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0
IHN5cworCittb2RpZmllZF9zaW5jZSA9IG9zLmVudmlyb24uZ2V0KCdIVFRQX0lGX01PRElGSUVE
X1NJTkNFJywgJycpCisKK3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQtVHlwZTogdGV4dC9wbGFp
blxyXG4nKQorCitpZiBtb2RpZmllZF9zaW5jZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdzdGF0
dXM6IDMwNFxyXG5cclxuJykKKyAgICBzeXMuZXhpdCgwKQorCitzeXMuc3Rkb3V0LndyaXRlKAor
ICAgICdDYWNoZS1jb250cm9sOiBuby1jYWNoZVxyXG4nCisgICAgJ0xhc3QtTW9kaWZpZWQ6IFRo
dSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UXHJcblxyXG4nCisgICAgJ2Zvb1xuJworKQpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5weQpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL3Blcm1hbmVudC1yZWRpcmVjdC5waHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGVybWFuZW50LXJlZGlyZWN0LnBocAko
cmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvcGVybWFuZW50LXJlZGlyZWN0LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDYgKzAsMCBAQAot
PD8KLSRsb2NhdGlvbiA9ICRfR0VUWydsb2NhdGlvbiddOwotCi1oZWFkZXIoJ0hUVFAvMS4xIDMw
MSBQZXJtYW5lbnQgUmVkaXJlY3QnKTsKLWhlYWRlcignTG9jYXRpb246JyAuICRsb2NhdGlvbik7
Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGVybWFu
ZW50LXJlZGlyZWN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL3Blcm1hbmVudC1yZWRpcmVjdC5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucHkJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwor
CitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9ydCBwYXJzZV9x
cworCitsb2NhdGlvbiA9IHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAn
JyksIGtlZXBfYmxhbmtfdmFsdWVzPVRydWUpLmdldCgnbG9jYXRpb24nLCBbJ2luZGV4Lmh0bWwn
XSlbMF0KKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnc3RhdHVzOiAzMDFcclxuJworICAgIGYn
TG9jYXRpb246IHtsb2NhdGlvbn1cclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxy
XG5cclxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Blcm1hbmVudC1yZWRp
cmVjdC5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisq
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnB5Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8t
dmVyaWZ5LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsNDggQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lz
CitpbXBvcnQgdGVtcGZpbGUKK2Zyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lZGVs
dGEKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9ydCBwYXJzZV9xcworCitmaWxlID0gX19maWxlX18u
c3BsaXQoJzovY3lnd2luJylbLTFdCitodHRwX3Jvb3QgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0
aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoZmlsZSkpKSkKK3N5cy5w
YXRoLmluc2VydCgwLCBodHRwX3Jvb3QpCisKK3Rlc3QgPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdl
dCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKS5nZXQoJ3Rlc3Qn
LCBbJ3N0YXRlJ10pWzBdCit0bXBGaWxlUGF0aCA9IG9zLnBhdGguam9pbih0ZW1wZmlsZS5nZXR0
ZW1wZGlyKCksICd7fV9zdGF0ZScuZm9ybWF0KHRlc3QpKQorCitpZiBvcy5wYXRoLmlzZmlsZSh0
bXBGaWxlUGF0aCk6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ3N0YXR1czogNDA0
XHJcbicKKyAgICAgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG57fScuZm9ybWF0
KHRtcEZpbGVQYXRoKQorICAgICkKKyAgICBzeXMuZXhpdCgwKQorCit0bXBGaWxlID0gb3Blbih0
bXBGaWxlUGF0aCwgJ3crJykKK3RtcEZpbGUuY2xvc2UoKQorCitmaWxlUGF0aCA9IG9zLnBhdGgu
am9pbignLycuam9pbihfX2ZpbGVfXy5zcGxpdCgnLycpWzA6LTFdKSwgJ2NvbXBhc3Mtbm8tY2Fj
aGUuanBnJykKK3N0YXQgPSBvcy5zdGF0KGZpbGVQYXRoKQorZmlsZW10aW1lID0gc3RhdC5zdF9t
dGltZQorZmlsZXNpemUgPSBzdGF0LnN0X3NpemUKKworZXRhZyA9ICcie30te30iJy5mb3JtYXQo
ZmlsZXNpemUsIGZpbGVtdGltZSkKK2xhc3RfbW9kaWZpZWQgPSAne30gKzAwMDAnLmZvcm1hdChk
YXRldGltZS51dGNmcm9tdGltZXN0YW1wKGZpbGVtdGltZSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAl
WSAlSDolTTolUycpKQorbWF4X2FnZSA9IDEyICogMzEgKiAyNCAqIDYwICogNjAKK2V4cGlyZXMg
PSAne30gKzAwMDAnLmZvcm1hdCgoZGF0ZXRpbWUudXRjbm93KCkgKyB0aW1lZGVsdGEoc2Vjb25k
cz1tYXhfYWdlKSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorCitzeXMuc3Rk
b3V0LndyaXRlKAorICAgICdDYWNoZS1Db250cm9sOiBwdWJsaWMsIG1heC1hZ2U9e31cclxuJwor
ICAgICdFeHBpcmVzOiB7fVxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogaW1hZ2UvcG5nXHJcbicK
KyAgICAnQ29udGVudC1MZW5ndGg6IHt9XHJcbicKKyAgICAnRXRhZzoge31cclxuJworICAgICdM
YXN0LU1vZGlmaWVkOiB7fVxyXG5cclxuJy5mb3JtYXQobWF4X2FnZSwgZXhwaXJlcywgZmlsZXNp
emUsIGV0YWcsIGxhc3RfbW9kaWZpZWQpCispCisKK3N5cy5zdGRvdXQuZmx1c2goKQord2l0aCBv
cGVuKGZpbGVQYXRoLCAncmInKSBhcyBmaWxlOgorICAgIHN5cy5zdGRvdXQuYnVmZmVyLndyaXRl
KGZpbGUucmVhZCgpKQorc3lzLmV4aXQoMCkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9wb3N0LWltYWdlLXRvLXZlcmlmeS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJs
ZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1y
ZXNvdXJjZS1pZnJhbWUucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucGhwCShyZXZp
c2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9w
cmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDEz
ICswLDAgQEAKLTw/cGhwCi1pZiAoJF9TRVJWRVJbIkhUVFBfUFVSUE9TRSJdID09ICJwcmVmZXRj
aCIpIHsKLSAgICBlY2hvICI8c2NyaXB0PiI7Ci0gICAgZWNobyAicGFyZW50LndpbmRvdy5wb3N0
TWVzc2FnZSgnRkFJTCcsICcqJyk7IjsKLSAgICBlY2hvICI8L3NjcmlwdD4iOwotCi0gICAgZXhp
dCgpOwotfQotCi1lY2hvICI8c2NyaXB0PiI7Ci1lY2hvICJwYXJlbnQud2luZG93LnBvc3RNZXNz
YWdlKCdQQVNTJywgJyonKTsiOwotZWNobyAiPC9zY3JpcHQ+IjsKLT8+CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2Ut
aWZyYW1lLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucHkJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWlu
LXJlc291cmNlLWlmcmFtZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIyIEBACisjIS91
c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitwdXJwb3NlID0g
b3MuZW52aXJvbi5nZXQoJ0hUVFBfUFVSUE9TRScsICcnKQorCitzeXMuc3Rkb3V0LndyaXRlKCdD
b250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJykKKworaWYgcHVycG9zZSA9PSAncHJlZmV0
Y2gnOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICc8c2NyaXB0PlxuJworICAgICAg
ICAncGFyZW50LndpbmRvdy5wb3N0TWVzc2FnZShcJ0ZBSUxcJywgXCcqXCcpO1xuJworICAgICAg
ICAnPC9zY3JpcHQ+XG4nCisgICAgKQorICAgIHN5cy5leGl0KDApCisKK3N5cy5zdGRvdXQud3Jp
dGUoCisgICAgJzxzY3JpcHQ+XG4nCisgICAgJ3BhcmVudC53aW5kb3cucG9zdE1lc3NhZ2UoXCdQ
QVNTXCcsIFwnKlwnKTtcbicKKyAgICAnPC9zY3JpcHQ+XG4nCispClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLWlmcmFtZS5weQpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5waHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNl
LnBocAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9y
ZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLnBocAkobm9uZXhpc3RlbnQpCkBAIC0x
LDIxICswLDAgQEAKLTw/cGhwCi1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MzYwMCcp
OwotPz4KLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0KLWlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewotICBmZXRjaCgnaHR0cDovL2xvY2FsaG9zdDo4MDAwL2NhY2hl
L3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UucGhwJykudGhlbihmdW5jdGlvbihy
ZXNwb25zZSkgewotICAgIGlmIChpbnRlcm5hbHMuZmV0Y2hSZXNwb25zZVNvdXJjZShyZXNwb25z
ZSkgIT0gIkRpc2sgY2FjaGUiKSB7Ci0gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbG9n
JykuaW5uZXJUZXh0ID0gJ0ZBSUw6IHJlc291cmNlIGlzIG5vdCBpbiB0aGUgZGlzayBjYWNoZS4n
OwotICAgIH0KLSAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgfSk7Ci19Ci0KLTwvc2Ny
aXB0PgotPGRpdiBpZD0ibG9nIj48P3BocCBpZiAoJF9TRVJWRVJbIkhUVFBfUFVSUE9TRSJdID09
ICJwcmVmZXRjaCIpIGVjaG8gJ1BBU1MnOyBlbHNlIGVjaG8gJ0ZBSUwnOyA/PjwvZGl2PgotPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5weQko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9w
cmVmZXRjaGVkLW1haW4tcmVzb3VyY2UucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOCBA
QAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworcHVy
cG9zZSA9IG9zLmVudmlyb24uZ2V0KCdIVFRQX1BVUlBPU0UnLCAnJykKKworc3lzLnN0ZG91dC53
cml0ZSgKKyAgICAnQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0zNjAwXHJcbicKKyAgICAnQ29udGVu
dC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICAnPCFET0NUWVBFIGh0bWw+XG4nCisgICAg
JzxodG1sPlxuJworICAgICc8Ym9keT5cbicKKyAgICAnPHNjcmlwdD5cbicKKyAgICAnXG4nCisg
ICAgJ2lmICh3aW5kb3cudGVzdFJ1bm5lcikge1xuJworICAgICcgIGZldGNoKFwnaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UucHlc
JykudGhlbihmdW5jdGlvbihyZXNwb25zZSkge1xuJworICAgICcgICAgaWYgKGludGVybmFscy5m
ZXRjaFJlc3BvbnNlU291cmNlKHJlc3BvbnNlKSAhPSAiRGlzayBjYWNoZSIpIHtcbicKKyAgICAn
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCdsb2dcJykuaW5uZXJUZXh0ID0gXCdGQUlM
OiByZXNvdXJjZSBpcyBub3QgaW4gdGhlIGRpc2sgY2FjaGUuXCc7XG4nCisgICAgJyAgICB9XG4n
CisgICAgJyAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTtcbicKKyAgICAnICB9KTtcbicKKyAg
ICAnfVxuJworICAgICdcbicKKyAgICAnPC9zY3JpcHQ+XG4nCisgICAgJzxkaXYgaWQ9ImxvZyI+
JworKQorCitpZiBwdXJwb3NlID09ICdwcmVmZXRjaCc6CisgICAgc3lzLnN0ZG91dC53cml0ZSgn
UEFTUycpCitlbHNlOgorICAgIHN5cy5zdGRvdXQud3JpdGUoJ0ZBSUwnKQorCitzeXMuc3Rkb3V0
LndyaXRlKAorICAgICc8L2Rpdj5cbicKKyAgICAnPC9ib2R5PlxuJworICAgICc8L2h0bWw+XG4n
CispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291
cmNlLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVsb2FkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBocAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9yZWxvYWQt
bWFpbi1yZXNvdXJjZS1pZnJhbWUucGhwCShyZXZpc2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9yZWxvYWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUu
cGhwCShub25leGlzdGVudCkKQEAgLTEsMjMgKzAsMCBAQAotPD9waHAKLWlmIChmaWxlX2V4aXN0
cyhzeXNfZ2V0X3RlbXBfZGlyKCkgLiAiL2NhY2hlLXJlbG9hZC1tYWluLXJlc291cmNlLnRtcCIp
KSB7Ci0gICAgdW5saW5rKHN5c19nZXRfdGVtcF9kaXIoKSAuICIvY2FjaGUtcmVsb2FkLW1haW4t
cmVzb3VyY2UudG1wIik7Ci0gICAgZWNobyAiPGJvZHk+IjsKLSAgICBlY2hvICI8c2NyaXB0PiI7
Ci0gICAgZWNobyAid2luZG93LnBhcmVudC5maW5pc2goKTsiOwotICAgIGVjaG8gIjwvc2NyaXB0
PiI7Ci0gICAgZWNobyAiPC9ib2R5PiI7Ci0gICAgZXhpdCgpOwotfQotCi0kdG1wRmlsZSA9IGZv
cGVuKHN5c19nZXRfdGVtcF9kaXIoKSAuICIvY2FjaGUtcmVsb2FkLW1haW4tcmVzb3VyY2UudG1w
IiwgJ3cnKTsKLWZjbG9zZSgkdG1wRmlsZSk7Ci0KLSRtYXhfYWdlID0gMTIgKiAzMSAqIDI0ICog
NjAgKiA2MDsgLy9vbmUgeWVhcgotJGxhc3RfbW9kaWZpZWQgPSBnbWRhdGUoREFURV9SRkMxMTIz
LCB0aW1lKCkgKyAkbWF4X2FnZSk7Ci0kZXhwaXJlcyA9IGdtZGF0ZShEQVRFX1JGQzExMjMsIHRp
bWUoKSArICRtYXhfYWdlKTsKLQotaGVhZGVyKCdDYWNoZS1Db250cm9sOiBwdWJsaWMsIG1heC1h
Z2U9JyAuICRtYXhfYWdlKTsKLWhlYWRlcignRXhwaXJlczogJyAuICRleHBpcmVzKTsKLWhlYWRl
cignQ29udGVudC1UeXBlOiB0ZXh0L2h0bWwnKTsKLWhlYWRlcignTGFzdC1Nb2RpZmllZDogJyAu
ICRsYXN0X21vZGlmaWVkKTsKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9yZWxvYWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVsb2FkLW1haW4tcmVzb3Vy
Y2UtaWZyYW1lLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL3JlbG9hZC1tYWluLXJlc291cmNlLWlmcmFtZS5weQkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDM3IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcwor
aW1wb3J0IHN5cworaW1wb3J0IHRlbXBmaWxlCitmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGlt
ZSwgdGltZWRlbHRhCisKK2ZpbGUgPSBfX2ZpbGVfXy5zcGxpdCgnOi9jeWd3aW4nKVstMV0KK2h0
dHBfcm9vdCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRo
KG9zLnBhdGguZGlybmFtZShmaWxlKSkpKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkK
Kworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicpCisK
K3RtcEZpbGUgPSBvcy5wYXRoLmpvaW4odGVtcGZpbGUuZ2V0dGVtcGRpcigpLCAnY2FjaGUtcmVs
b2FkLW1haW4tcmVzb3VyY2UudG1wJykKK2lmIG9zLnBhdGguaXNmaWxlKHRtcEZpbGUpOgorICAg
IG9zLnJlbW92ZSh0bXBGaWxlKQorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICc8Ym9k
eT5cbicKKyAgICAgICAgJzxzY3JpcHQ+XG4nCisgICAgICAgICd3aW5kb3cucGFyZW50LmZpbmlz
aCgpO1xuJworICAgICAgICAnPC9zY3JpcHQ+XG4nCisgICAgICAgICc8L2JvZHk+XG4nCisgICAg
KQorICAgIHN5cy5leGl0KDApCisKK2ZpbGUgPSBvcGVuKHRtcEZpbGUsICd3KycpCitmaWxlLmNs
b3NlKCkKKworbWF4X2FnZSA9IDEyICogMzEgKiAyNCAqIDYwICogNjAKK2xhc3RfbW9kaWZpZWQg
PSAne30gKzAwMDAnLmZvcm1hdCgoZGF0ZXRpbWUudXRjbm93KCkgKyB0aW1lZGVsdGEoc2Vjb25k
cz1tYXhfYWdlKSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorZXhwaXJlcyA9
ICd7fSArMDAwMCcuZm9ybWF0KChkYXRldGltZS51dGNub3coKSArIHRpbWVkZWx0YShzZWNvbmRz
PW1heF9hZ2UpKS5zdHJmdGltZSgnJWEsICVkICViICVZICVIOiVNOiVTJykpCisKK3N5cy5zdGRv
dXQud3JpdGUoCisgICAgZidDYWNoZS1Db250cm9sOiBwdWJsaWMsIG1heC1hZ2U9e21heF9hZ2V9
XHJcbicKKyAgICBmJ0V4cGlyZXM6IHtleHBpcmVzfVxyXG4nCisgICAgZidMYXN0LU1vZGlmaWVk
OiB7bGFzdF9tb2RpZmllZH1cclxuXHJcbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9yZWxvYWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucHkKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zbG93LWlm
cmFtZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNv
dXJjZXMvc2xvdy1pZnJhbWUucGhwCShyZXZpc2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zbG93LWlmcmFtZS5waHAJKG5vbmV4aXN0ZW50KQpA
QCAtMSw1ICswLDAgQEAKLTw/cGhwIAotc2xlZXAoMSk7Ci1oZWFkZXIoIkNvbnRlbnQtVHlwZTog
dGV4dC9odG1sIik7IAotZWNobygiPHNjcmlwdD5hbGVydCgnUEFTUyAtIGlmcmFtZSBsb2FkZWQn
KTsgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsgPC9zY3Jp
cHQ+Iik7IAotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L3Nsb3ctaWZyYW1lLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL3Nsb3ctaWZyYW1lLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Nsb3ctaWZyYW1lLnB5CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMTEgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IHN5cwor
aW1wb3J0IHRpbWUKKwordGltZS5zbGVlcCgxKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdD
b250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworICAgICc8c2NyaXB0PmFsZXJ0KFwnUEFT
UyAtIGlmcmFtZSBsb2FkZWRcJyk7IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7IDwvc2NyaXB0PlxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL3Nsb3ctaWZyYW1lLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0w
LDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldDMwNC1iYWQtY29udGVu
dC10eXBlLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9zdHlsZXNoZWV0MzA0LWJhZC1jb250ZW50LXR5cGUucGhwCShyZXZpc2lvbiAyNzQy
NTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0
MzA0LWJhZC1jb250ZW50LXR5cGUucGhwCShub25leGlzdGVudCkKQEAgLTEsMjEgKzAsMCBAQAot
PD9waHAKLXJlcXVpcmVfb25jZSAnLi4vLi4vcmVzb3VyY2VzL3BvcnRhYmlsaXR5TGF5ZXIucGhw
JzsKLQotY2xlYXJzdGF0Y2FjaGUoKTsKLQotaWYgKCRfU0VSVkVSWyJIVFRQX0lGX01PRElGSUVE
X1NJTkNFIl0pIHsKLSAgICBoZWFkZXIoIkhUVFAvMS4wIDMwNCBOb3QgTW9kaWZpZWQiKTsKLSAg
ICBoZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbiIpOwotICAgIGV4aXQoKTsKLX0KLSRv
bmVfeWVhciA9IDEyICogMzEgKiAyNCAqIDYwICogNjA7Ci0kbGFzdF9tb2RpZmllZCA9IGdtZGF0
ZShEQVRFX1JGQzExMjMsIHRpbWUoKSAtICRvbmVfeWVhcik7Ci0kZXhwaXJlcyA9IGdtZGF0ZShE
QVRFX1JGQzExMjMsIHRpbWUoKSArICRvbmVfeWVhcik7Ci0KLWhlYWRlcignQ2FjaGUtQ29udHJv
bDogcHVibGljLCBtYXgtYWdlPScgLiAkb25lX3llYXIpOwotaGVhZGVyKCdFeHBpcmVzOiAnIC4g
JGV4cGlyZXMpOwotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvY3NzJyk7Ci1oZWFkZXIoJ0V0
YWc6IDEyMzQ1Njc4OScpOwotaGVhZGVyKCdMYXN0LU1vZGlmaWVkOiAnIC4gJGxhc3RfbW9kaWZp
ZWQpOwotPz4KLSN0ZXN0IHsgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDI1NSwgMCk7IH0KSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQt
YmFkLWNvbnRlbnQtdHlwZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0MzA0LWJhZC1jb250ZW50LXR5cGUucHkJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVz
aGVldDMwNC1iYWQtY29udGVudC10eXBlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjYg
QEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitmcm9t
IGRhdGV0aW1lIGltcG9ydCBkYXRldGltZSwgdGltZWRlbHRhCisKK21vZGlmaWVkX3NpbmNlID0g
b3MuZW52aXJvbi5nZXQoJ0hUVFBfSUZfTU9ESUZJRURfU0lOQ0UnLCAnJykKK2lmIG1vZGlmaWVk
X3NpbmNlOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICdzdGF0dXM6MzA0XHJcbicK
KyAgICAgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpblxyXG5cclxuJworICAgICkKKyAgICBz
eXMuZXhpdCgwKQorCitvbmVfeWVhciA9IDEyICogMzEgKiAyNCAqIDYwICogNjAKK2xhc3RfbW9k
aWZpZWQgPSAne30gKzAwMDAnLmZvcm1hdCgoZGF0ZXRpbWUudXRjbm93KCkgLSB0aW1lZGVsdGEo
c2Vjb25kcz1vbmVfeWVhcikpLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06JVMnKSkKK2V4
cGlyZXMgPSAne30gKzAwMDAnLmZvcm1hdCgoZGF0ZXRpbWUudXRjbm93KCkgKyB0aW1lZGVsdGEo
c2Vjb25kcz1vbmVfeWVhcikpLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06JVMnKSkKKwor
c3lzLnN0ZG91dC53cml0ZSgKKyAgICBmJ0NhY2hlLUNvbnRyb2w6IHB1YmxpYywgbWF4LWFnZT17
b25lX3llYXJ9XHJcbicKKyAgICBmJ0V4cGlyZXM6IHtleHBpcmVzfVxyXG4nCisgICAgJ0NvbnRl
bnQtVHlwZTogdGV4dC9jc3NcclxuJworICAgICdFdGFnOiAxMjM0NTY3ODlcclxuJworICAgIGYn
TGFzdC1Nb2RpZmllZDoge2xhc3RfbW9kaWZpZWR9XHJcblxyXG4nCisgICAgJyN0ZXN0IHsgYmFj
a2dyb3VuZC1jb2xvcjogcmdiKDAsIDI1NSwgMCk7IH0nCispClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvc3R5bGVzaGVldDMwNC1iYWQtY29udGVudC10eXBlLnB5Cl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvc3R5bGVzaGVldDMwNC5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldDMwNC5waHAJKHJldmlzaW9uIDI3NDI1NSkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQucGhw
CShub25leGlzdGVudCkKQEAgLTEsMjEgKzAsMCBAQAotPD9waHANCi1yZXF1aXJlX29uY2UgJy4u
Ly4uL3Jlc291cmNlcy9wb3J0YWJpbGl0eUxheWVyLnBocCc7DQotDQotY2xlYXJzdGF0Y2FjaGUo
KTsNCi0NCi1pZiAoJF9TRVJWRVJbIkhUVFBfSUZfTU9ESUZJRURfU0lOQ0UiXSkgew0KLSAgICBo
ZWFkZXIoIkhUVFAvMS4wIDMwNCBOb3QgTW9kaWZpZWQiKTsNCi0gICAgZXhpdCgpOw0KLX0NCi0k
b25lX3llYXIgPSAxMiAqIDMxICogMjQgKiA2MCAqIDYwOw0KLSRsYXN0X21vZGlmaWVkID0gZ21k
YXRlKERBVEVfUkZDMTEyMywgdGltZSgpIC0gJG9uZV95ZWFyKTsNCi0kZXhwaXJlcyA9IGdtZGF0
ZShEQVRFX1JGQzExMjMsIHRpbWUoKSArICRvbmVfeWVhcik7DQotDQotaGVhZGVyKCdDYWNoZS1D
b250cm9sOiBwdWJsaWMsIG1heC1hZ2U9JyAuICRvbmVfeWVhcik7DQotaGVhZGVyKCdFeHBpcmVz
OiAnIC4gJGV4cGlyZXMpOw0KLWhlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0L2NzcycpOw0KLWhl
YWRlcignQ29udGVudC1MZW5ndGg6IDAnKTsNCi1oZWFkZXIoJ0V0YWc6IDEyMzQ1Njc4OScpOw0K
LWhlYWRlcignTGFzdC1Nb2RpZmllZDogJyAuICRsYXN0X21vZGlmaWVkKTsNCi1leGl0KCk7DQot
Pz4NCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNo
ZWV0LWh0bWwucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL3N0eWxlc2hlZXQtaHRtbC5waHAJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQtaHRtbC5waHAJKG5v
bmV4aXN0ZW50KQpAQCAtMSw1ICswLDAgQEAKLTw/cGhwCi1lY2hvICI8bGluayByZWw9c3R5bGVz
aGVldCBocmVmPSIgLiAkX0dFVFsnc2hlZXQnXSAuICI+IjsKLT8+Ci08ZGl2IGlkPXRlc3QxPjwv
ZGl2PgotPGRpdiBpZD10ZXN0Mj48L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQtaHRtbC5weQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwucHkJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVz
aGVldC1odG1sLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQgQEAKKyMhL3Vzci9iaW4v
ZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitmcm9tIHVybGxpYi5wYXJzZSBp
bXBvcnQgcGFyc2VfcXMKKworc2hlZXQgPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllf
U1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKS5nZXQoJ3NoZWV0JywgWyc0MDQu
Y3NzJ10pWzBdCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9o
dG1sXHJcblxyXG4nCisgICAgZic8bGluayByZWw9c3R5bGVzaGVldCBocmVmPXtzaGVldH0+Jwor
ICAgICc8ZGl2IGlkPXRlc3QxPjwvZGl2PlxuJworICAgICc8ZGl2IGlkPXRlc3QyPjwvZGl2Plxu
JworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQtaHRtbC5weQpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL3N2Zy1kZWZzLXZhcnkucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N2Zy1kZWZzLXZhcnkucGhwCShyZXZpc2lvbiAy
NzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdmctZGVm
cy12YXJ5LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyICswLDAgQEAKLTw/cGhwCi1oZWFkZXIo
IkNvbnRlbnQtVHlwZTogaW1hZ2Uvc3ZnK3htbCIpOwotaGVhZGVyKCJWYXJ5OiBDb29raWUiKTsK
LWhlYWRlcigiQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0zMTUzNjAwMCIpOwotPz4KLTxzdmcgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53
My5vcmcvMTk5OS94bGluayI+Ci08ZGVmcz4KLTxnIGlkPSJjaXJjbGUiPgotPGNpcmNsZSBzdHls
ZT0iZmlsbDpncmVlbiIgcj0iMTAiLz4KLTwvZz4KLTwvZGVmcz4KLTwvc3ZnPgpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3ZnLWRlZnMtdmFyeS5weQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdmctZGVm
cy12YXJ5LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL3N2Zy1kZWZzLXZhcnkucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNiBA
QAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgc3lzCisKK3N5cy5zdG9kdXQud3Jp
dGUoCisgICAgJ0NvbnRlbnQtVHlwZTogaW1hZ2Uvc3ZnK3htbFxyXG4nCisgICAgJ1Zhcnk6IENv
b2tpZVxyXG4nCisgICAgJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MzE1MzYwMDBcclxuXHJcbicK
KyAgICAnPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5r
PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj5cbicKKyAgICAnPGRlZnM+XG4nCisgICAg
JzxnIGlkPSJjaXJjbGUiPlxuJworICAgICc8Y2lyY2xlIHN0eWxlPSJmaWxsOmdyZWVuIiByPSIx
MCIvPlxuJworICAgICc8L2c+XG4nCisgICAgJzwvZGVmcz5cbicKKyAgICAnPC9zdmc+XG4nCisp
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3ZnLWRlZnMtdmFyeS5weQpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25zZS5waHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXJlc3BvbnNl
LnBocAkocmV2aXNpb24gMjc0MjU1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9y
ZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXJlc3BvbnNlLnBocAkobm9uZXhpc3RlbnQpCkBAIC0x
LDExICswLDAgQEAKLTw/cGhwCi1oZWFkZXIoIlZhcnk6IE9yaWdpbiIpOwotaGVhZGVyKCJDYWNo
ZS1Db250cm9sOiBtYXgtYWdlPTMxNTM2MDAwIik7Ci1pZiAoaXNzZXQoJF9TRVJWRVJbJ0hUVFBf
T1JJR0lOJ10pKSB7Ci0gICAgaGVhZGVyKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW46IGh0
dHA6Ly8xMjcuMC4wLjE6ODAwMCIpOwotICAgIGVjaG8gIkNyb3NzIG9yaWdpbiAiOwotfSBlbHNl
IHsKLSAgICBlY2hvICJTYW1lIG9yaWdpbiAiOwotfQotPz4KLXJlc3BvbnNlClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNv
dXJjZXMveGhyLXZhcnktaGVhZGVyLXJlc3BvbnNlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25zZS5w
eQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy94aHItdmFyeS1oZWFkZXItcmVzcG9uc2UucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwy
MiBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKwor
b3JpZ2luID0gVHJ1ZSBpZiBvcy5lbnZpcm9uLmdldCgnSFRUUF9PUklHSU4nLCBOb25lKSBpcyBu
b3QgTm9uZSBlbHNlIEZhbHNlCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ1Zhcnk6IE9yaWdp
blxyXG4nCisgICAgJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MzE1MzYwMDBcclxuJworICAgICdD
b250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nCispCisKK2lmIG9yaWdpbjoKKyAgICBzeXMuc3Rk
b3V0LndyaXRlKAorICAgICAgICAnQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiBodHRwOi8v
MTI3LjAuMC4xOjgwMDBcclxuXHJcbicKKyAgICAgICAgJ0Nyb3NzIG9yaWdpbiAnCisgICAgKQor
ZWxzZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdcclxuU2FtZSBvcmlnaW4gJykKKworc3lzLnN0
ZG91dC53cml0ZSgncmVzcG9uc2UnKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ho
ci12YXJ5LWhlYWRlci1yZXNwb25zZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJs
ZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1z
dWJmcmFtZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1zdWJmcmFtZS5odG1sCShyZXZpc2lvbiAyNzQyNTUp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFk
ZXItc3ViZnJhbWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMiw3ICsyLDcgQEAKIGZ1bmN0aW9u
IHRlc3RTYW1lT3JpZ2luKCkKIHsKICAgICB2YXIgcmVxID0gbmV3IFhNTEh0dHBSZXF1ZXN0Owot
ICAgIHJlcS5vcGVuKCJHRVQiLCAieGhyLXZhcnktaGVhZGVyLXJlc3BvbnNlLnBocCIpOworICAg
IHJlcS5vcGVuKCJHRVQiLCAieGhyLXZhcnktaGVhZGVyLXJlc3BvbnNlLnB5Iik7CiAgICAgcmVx
Lm9ubG9hZD1mdW5jdGlvbigpIHsgcGFyZW50LnBvc3RNZXNzYWdlKHJlcS5yZXNwb25zZVRleHQs
ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiKSB9CiAgICAgcmVxLnNlbmQoKTsKIH0KSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi93aW5kb3ctb3Blbi1yZWRpcmVjdC1hbmQt
cmVtb3ZlLW9wZW5lci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bmF2aWdhdGlvbi93aW5kb3ctb3Blbi1yZWRpcmVjdC1hbmQtcmVtb3ZlLW9wZW5lci5odG1sCShy
ZXZpc2lvbiAyNzQyNTUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vd2lu
ZG93LW9wZW4tcmVkaXJlY3QtYW5kLXJlbW92ZS1vcGVuZXIuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMTgsNyArMTgsNyBAQCBmdW5jdGlvbiByZW1vdmVJZnJhbWVBKCkKIDxwPlRlc3RzIHRoYXQg
d2UgZG8gbm90IGNyYXNoIHdoZW4gcmVtb3ZpbmcgdGhlIG9wZW5lciBhZnRlciB1c2luZyB3aW5k
b3cub3BlbigpIHRvIGxvYWQgYSByZXNvdXJjZSB0aGF0IHJlZGlyZWN0cy48L3A+CiA8aWZyYW1l
IG5hbWU9IkEiIHNyY2RvYz0nCiA8c2NyaXB0Pgotd2luZG93Lm9wZW4oImh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvY2FjaGUtY29udHJvbC1yZWRpcmVjdC5waHA/dXJsPWh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL3Jlc291cmNlcy93aW5kb3ctb3Blbi1yZWRp
cmVjdC1hbmQtcmVtb3ZlLW9wZW5lci5odG1sIiwgIkIiKTsKK3dpbmRvdy5vcGVuKCJodHRwOi8v
MTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3QucHk/
dXJsPWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL3Jlc291cmNlcy93aW5kb3ctb3Bl
bi1yZWRpcmVjdC1hbmQtcmVtb3ZlLW9wZW5lci5odG1sIiwgIkIiKTsKIHBhcmVudC5yZW1vdmVJ
ZnJhbWVBKCk7CiA8L3NjcmlwdD4KICc+PC9pZnJhbWU+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlcy90b3VjaC10ZW1wLWZpbGUucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvdG91Y2gtdGVtcC1maWxlLnB5CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL3RvdWNoLXRlbXAtZmlsZS5w
eQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACisjIS91c3IvYmluL2VudiBweXRob24z
CisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHRlbXBmaWxlCitmcm9tIHVybGxpYi5w
YXJzZSBpbXBvcnQgcGFyc2VfcXMKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5Z3dpbicp
Wy0xXQoraHR0cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRo
LmFic3BhdGgob3MucGF0aC5kaXJuYW1lKGZpbGUpKSkpCitzeXMucGF0aC5pbnNlcnQoMCwgaHR0
cF9yb290KQorCitmaWxlbmFtZSA9IHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJ
TkcnLCAnJyksIGtlZXBfYmxhbmtfdmFsdWVzPVRydWUpLmdldCgnZmlsZW5hbWUnLCBbJ3N0YXRl
LnR4dCddKVswXQordG1wRmlsZVBhdGggPSBvcy5wYXRoLmpvaW4odGVtcGZpbGUuZ2V0dGVtcGRp
cigpLCBmaWxlbmFtZSkKKworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L2h0
bWxcclxuXHJcbicpCisKK3N0YXQgPSBvcy5zdGF0KHRtcEZpbGVQYXRoKQoraWYgbm90IHN0YXQ6
CisgICAgc3lzLnN0ZG91dC53cml0ZSgnRkFJTDogc3RhdCgpIGNhbGwgZmFpbGVkLlxuJykKKyAg
ICBzeXMuZXhpdCgwKQorCithdGltZSA9IHN0YXQuc3RfYXRpbWUKK210aW1lID0gc3RhdC5zdF9t
dGltZQordHJ5OgorICAgIG9zLnV0aW1lKHRtcEZpbGVQYXRoLCB0aW1lcz0oYXRpbWUsIG10aW1l
ICsgMSkpCitleGNlcHQ6CisgICAgc3lzLnN0ZG91dC53cml0ZSgnRkFJTDogdG91Y2goKSBjYWxs
IGZhaWxlZC5cbicpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvdG91Y2gtdGVtcC1maWxlLnB5
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDI3NDI1NSkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC0yMzY4LDcgKzIzNjgs
NyBAQCBodHRwL3Rlc3RzL2NhY2hlL2NvbnRlbnQtdHlwZS1pZ25vcmVkLWR1CiBodHRwL3Rlc3Rz
L2NhY2hlL21haW4tcmVzb3VyY2UtMzA0LXJlbG9hZC5odG1sIFsgRmFpbHVyZSBdCiBodHRwL3Rl
c3RzL2NhY2hlL3BhcnRpdGlvbmVkLWNhY2hlLmh0bWwgWyBGYWlsdXJlIF0KIGh0dHAvdGVzdHMv
Y2FjaGUvcGFydGl0aW9uZWQtY2FjaGUtaWZyYW1lLmh0bWwgWyBGYWlsdXJlIF0KLWh0dHAvdGVz
dHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucGhwIFsgRmFpbHVyZSBdICMgRWFzeQoraHR0cC90
ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC5weSBbIEZhaWx1cmUgXSAjIEVhc3kKIGh0dHAv
dGVzdHMvY2FudmFzL2NhbnZhcy1zbG93LWZvbnQtbG9hZGluZy5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiBodHRwL3Rlc3RzL2Nzcy9jc3MtaW1hZ2UtdmFsdWVkLXNoYXBlLmh0bWwgWyBGYWls
dXJlIF0KIGh0dHAvdGVzdHMvY29va2llcy9zZXQtY29va2llLW9uLXJlZGlyZWN0Lmh0bWwgWyBQ
YXNzIEZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422933</attachid>
            <date>2021-03-11 08:23:58 -0800</date>
            <delta_ts>2021-03-11 15:08:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222935-20210311112357.patch</filename>
            <type>text/plain</type>
            <size>98799</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NDI3OCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDEwMCBAQAorMjAyMS0wMy0xMSAgQ2hyaXMgR2FtYnJlbGwg
IDxjZ2FtYnJlbGxAYXBwbGUuY29tPgorCisgICAgICAgIFtMYXlvdXRUZXN0c10gQ29udmVydCBo
dHRwL3Rlc3RzL2NhY2hlIGNvbnZlcnQgUEhQIHRvIFB5dGhvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyOTM1CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS83NTE4MzMxND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvY2FjaGUtcmVkaXJlY3Rpb25zLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9jYWNoZS9jYWNoZWQtbWFpbi1yZXNvdXJjZS5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvY2FjaGVkRW50cnktd2FpdHMtZm9yLXJlc3BvbnNlLXBvbGlj
eS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvY29udGVudC10eXBlLWlnbm9yZWQt
ZHVyaW5nLXJldmFsaWRhdGlvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9kaXNrLWNhY2hlLXJlZGlyZWN0LXRvLWRhdGEuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZW1vdmUtc2V2ZXJhbC1wZW5kaW5n
LXdyaXRlcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZWRp
cmVjdC1jaGFpbi1saW1pdHMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvcmVzb3VyY2VzL2pzb24ucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvanNvbi5weTogQWRkZWQuCisgICAgICAgIChzZW5k
MzA0KToKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3Jl
ZGlyZWN0LWNoYWluLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rp
c2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LWNoYWluLnB5OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWRhdGEucGhw
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJj
ZXMvcmVkaXJlY3QtdG8tZGF0YS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vY2FjaGVhYmxlLXJlZGlyZWN0Lmh0
bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZh
bGlkYXRpb24vaHR0cC1hdXRoLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNr
LWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2NhY2hlYWJsZS1yZWRpcmVj
dC1mcmFtZS5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNh
Y2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2NhY2hlYWJsZS1yZWRpcmVjdC1m
cmFtZS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Nw
ZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2Nzcy10by1yZXZhbGlkYXRlLnBocDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUt
dmFsaWRhdGlvbi9yZXNvdXJjZXMvY3NzLXRvLXJldmFsaWRhdGUucHk6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jl
c291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRpY2F0ZWQtcmVzb3VyY2UucGhwOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0
aW9uL3Jlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRpY2F0ZWQtcmVzb3VyY2UucHk6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxp
ZGF0aW9uL3Jlc291cmNlcy9yZWRpcmVjdC10by1jc3MucGhwOiBSZW1vdmVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291
cmNlcy9yZWRpcmVjdC10by1jc3MucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13
aXRoLWF1dGgucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgu
cHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxh
dGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucGhwOiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2
ZS12YWxpZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucHk6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxp
ZGF0aW9uL3ZhbGlkYXRpb24tcmVxdWVzdC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvaGlzdG9yeS1uYXZpZ2F0aW9uLW5vLXJlc291cmNlLXJldmFsaWRhdGlvbi5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWw6CisgICAgICAg
ICogaHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtZGV0YWNoLmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9jYWNoZS9saW5rLXByZWZldGNoLW1haW4tcmVzb3VyY2UtaWZyYW1lLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9jYWNoZS9saW5rLXByZWZldGNoLW1haW4tcmVzb3VyY2UuaHRtbDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL21haW4tcmVzb3VyY2UtMzA0LXJlbG9hZC5odG1s
OgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucGhwOiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucHk6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNv
dXJjZXMucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRo
LWNhY2hlZC1zdWJyZXNvdXJjZXMucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvcmVjdXJzaXZlLXZhbGlkYXRpb24uaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hl
L3JlZGlyZWN0LXJlZmVyZXIuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3JlbG9h
ZC1tYWluLXJlc291cmNlLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hl
L3JlbG9hZC1tYWluLXJlc291cmNlLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9ib2R5LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9ib2R5LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnB5OiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRleHQucGhw
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJs
ZS1yYW5kb20tdGV4dC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNv
dXJjZXMvaWZyYW1lMzA0LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9pZnJhbWUzMDQucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL2lmcmFtZTMwNGJvZHkucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNGJvZHkucHk6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5w
aHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2Fj
aGUtbWFpbi1yZXNvdXJjZS1uZXh0LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnBocDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnB5
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS13
aXRoLXZhbGlkYXRpb24ucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL25vLWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5weTogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGVybWFuZW50LXJlZGlyZWN0LnBocDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJl
Y3QucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Bvc3Qt
aW1hZ2UtdG8tdmVyaWZ5LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBocDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3Vy
Y2UtaWZyYW1lLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5weTogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVsb2FkLW1haW4tcmVzb3Vy
Y2UtaWZyYW1lLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9yZWxvYWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucHk6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Nsb3ctaWZyYW1lLnBocDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zbG93LWlmcmFtZS5weTogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldC1odG1sLnBocDog
UmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0
LWh0bWwucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0
eWxlc2hlZXQzMDQtYmFkLWNvbnRlbnQtdHlwZS5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldDMwNC1iYWQtY29udGVudC10eXBlLnB5
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0
MzA0LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9z
dmctZGVmcy12YXJ5LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9zdmctZGVmcy12YXJ5LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItcmVzcG9uc2UucGhwOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25z
ZS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveGhyLXZh
cnktaGVhZGVyLXN1YmZyYW1lLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9zdHls
ZXNoZWV0LXNoYXJpbmcuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3ZhcnktZnJh
bWVsZXNzLWRvY3VtZW50Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS94aHItYm9k
eS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUveGhyLXZhcnktaGVhZGVyLmh0bWw6
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZXMvdG91Y2gtdGVtcC1maWxlLnB5OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2NhY2hlYWJsZS1jcm9zcy1v
cmlnaW4tcmVkaXJlY3QtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vVGVzdEV4
cGVjdGF0aW9uczoKKwogMjAyMS0wMy0xMSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29t
PgogCiAgICAgICAgIENsZWFudXAgcmVmZXJlbmNlcyB0byBmbG9hdCBhbmQgb3V0LW9mLWZsb3cg
cmVuZGVyZXJzIGJlZm9yZSBkZXN0cm95aW5nIHRoZW0uCkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2NhY2hlLXJlZGlyZWN0aW9ucy5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY2FjaGUtcmVkaXJlY3Rpb25zLmh0bWwJKHJldmlzaW9u
IDI3NDI3OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY2FjaGUtcmVkaXJlY3Rp
b25zLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE1LDcgKzE1LDcgQEAgdGVzdC5zdGVwKGZ1bmN0
aW9uKCkgewogCiB2YXIgY291bnRlciA9IDA7CiB2YXIgcmVzb3VyY2UgPSAiTm8iOwotdmFyIGJh
c2VVUkwgPSAicmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3Q/Y29kZT0zMDImdXJsPWNh
Y2hlYWJsZS1yYW5kb20tdGV4dC5waHAmcmFuZG9tX2lkPTEiOwordmFyIGJhc2VVUkwgPSAicmVz
b3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3QucGhwP2NvZGU9MzAyJnVybD1jYWNoZWFibGUt
cmFuZG9tLXRleHQucHkmcmFuZG9tX2lkPTEiOwogdmFyIHRlc3RDYXNlcyA9IFsKIHtuYW1lIDog
IlNob3VsZCByZXVzZSByZXNvdXJjZSAoY2FjaGVhYmxlIHJlZGlyZWN0aW9uKSIsIGV4cGVjdGVk
IDogdHJ1ZSwgdXJsIDogYmFzZVVSTCArICImY2FjaGVfY29udHJvbD1wdWJsaWMsIG1heC1hZ2U9
MTAwMCIsIHJlbG9hZERlbGF5IDogMH0sCiB7bmFtZSA6ICJTaG91bGQgcmVsb2FkIHJlc291cmNl
IChuby1zdG9yZSByZWRpcmVjdGlvbikiLCBleHBlY3RlZCA6IGZhbHNlLCB1cmw6IGJhc2VVUkwg
KyAiJmNhY2hlX2NvbnRyb2w9bm8tc3RvcmUmbWF4X2FnZT0xMDAwIiwgcmVsb2FkRGVsYXkgOiAw
fSwKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY2FjaGVkLW1haW4tcmVzb3Vy
Y2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2NhY2hl
ZC1tYWluLXJlc291cmNlLmh0bWwJKHJldmlzaW9uIDI3NDI3OCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvY2FjaGVkLW1haW4tcmVzb3VyY2UuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMTEsNyArMTEsNyBAQCBmdW5jdGlvbiByZW1vdmVBbmRSZWxvYWQoKQogewogICAgIGRvY3Vt
ZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlmcmFtZSIpKTsK
ICAgICB2YXIgbmV3SWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0g
ICAgbmV3SWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvY2FjaGVhYmxlLWlmcmFtZS5waHAiOworICAg
IG5ld0lmcmFtZS5zcmMgPSAicmVzb3VyY2VzL2NhY2hlYWJsZS1pZnJhbWUucHkiOwogICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobmV3SWZyYW1lKTsKICAgICB2YXIgZnJvbUNhY2hlID0g
aW50ZXJuYWxzLmlzTG9hZGluZ0Zyb21NZW1vcnlDYWNoZShuZXdJZnJhbWUuc3JjKTsKICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3Jl
YXRlVGV4dE5vZGUoZnJvbUNhY2hlID8gIlBBU1MiIDogIkZBSUwiKSk7CkBAIC0xOSw2ICsxOSw2
IEBAIGZ1bmN0aW9uIHJlbW92ZUFuZFJlbG9hZCgpCiAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwogfQogPC9zY3JpcHQ+Ci08aWZyYW1lIGlkPSJpZnJhbWUiIHNyYz0icmVzb3VyY2Vz
L2NhY2hlYWJsZS1pZnJhbWUucGhwIj48L2lmcmFtZT4KKzxpZnJhbWUgaWQ9ImlmcmFtZSIgc3Jj
PSJyZXNvdXJjZXMvY2FjaGVhYmxlLWlmcmFtZS5weSI+PC9pZnJhbWU+CiA8L2JvZHk+CiA8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2NhY2hlZEVudHJ5LXdhaXRz
LWZvci1yZXNwb25zZS1wb2xpY3kuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2NhY2hlZEVudHJ5LXdhaXRzLWZvci1yZXNwb25zZS1wb2xpY3kuaHRtbAko
cmV2aXNpb24gMjc0Mjc4KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jYWNoZWRF
bnRyeS13YWl0cy1mb3ItcmVzcG9uc2UtcG9saWN5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIw
LDEwICsyMCwxMCBAQCBmdW5jdGlvbiBjcmVhdGVGcmFtZSh1cmwpIHsKICAgICB9KTsKIH0KIAot
Y3JlYXRlRnJhbWUoIi9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLXJhbmRvbS10ZXh0LnBocCIp
LnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsKK2NyZWF0ZUZyYW1lKCIvY2FjaGUvcmVzb3VyY2VzL2Nh
Y2hlYWJsZS1yYW5kb20tdGV4dC5weSIpLnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsKICAgICBmcmFt
ZS5yZW1vdmUoKTsKICAgICBpbnRlcm5hbHMuY2xlYXJNZW1vcnlDYWNoZSgpOwotICAgIGNyZWF0
ZUZyYW1lKCIvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5waHAiKS50aGVu
KGZ1bmN0aW9uKGZyYW1lKSB7CisgICAgY3JlYXRlRnJhbWUoIi9jYWNoZS9yZXNvdXJjZXMvY2Fj
aGVhYmxlLXJhbmRvbS10ZXh0LnB5IikudGhlbihmdW5jdGlvbihmcmFtZSkgewogICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKICAgICB9KTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY29udGVudC10
eXBlLWlnbm9yZWQtZHVyaW5nLXJldmFsaWRhdGlvbi5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY29udGVudC10eXBlLWlnbm9yZWQtZHVyaW5nLXJldmFs
aWRhdGlvbi5odG1sCShyZXZpc2lvbiAyNzQyNzgpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL2NvbnRlbnQtdHlwZS1pZ25vcmVkLWR1cmluZy1yZXZhbGlkYXRpb24uaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMSw3ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVh
ZD4KLSAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9zdHlsZXNoZWV0
MzA0LWJhZC1jb250ZW50LXR5cGUucGhwIj4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9InJlc291cmNlcy9zdHlsZXNoZWV0MzA0LWJhZC1jb250ZW50LXR5cGUucHkiPgogPC9oZWFk
PgogPGJvZHk+CiAgICAgPGRpdiBpZD0idGVzdCI+VGhpcyBkaXYgc2hvdWxkIGhhdmUgYSBncmVl
biBiYWNrZ3JvdW5kLjwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9o
aXN0b3J5LW5hdmlnYXRpb24tbm8tcmVzb3VyY2UtcmV2YWxpZGF0aW9uLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9oaXN0b3J5LW5hdmlnYXRpb24tbm8t
cmVzb3VyY2UtcmV2YWxpZGF0aW9uLmh0bWwJKHJldmlzaW9uIDI3NDI3OCkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvaGlzdG9yeS1uYXZpZ2F0aW9uLW5vLXJlc291cmNlLXJldmFs
aWRhdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC03Myw3ICs3Myw3IEBACiAKICAgICBmdW5j
dGlvbiBydW5UZXN0KCkgewogICAgICAgICAvLyBPcGVuIHRoZSB0YXJnZXQgd2luZG93IGFuZCBp
dCB3aWxsIGJlZ2luIHRvIHNlbmQgdXMgbWVzc2FnZXMuCi0gICAgICAgIHRhcmdldCA9IHdpbmRv
dy5vcGVuKCdodHRwczovLzEyNy4wLjAuMTo4NDQzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1t
YWluLXJlc291cmNlLnBocCcpOworICAgICAgICB0YXJnZXQgPSB3aW5kb3cub3BlbignaHR0cHM6
Ly8xMjcuMC4wLjE6ODQ0My9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS5w
eScpOwogICAgIH0KICAgICA8L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2lmcmFtZS0zMDQtY3Jhc2gtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDI3NDI3OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvaWZy
YW1lLTMwNC1jcmFzaC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsOCArMSw4IEBA
Ci1odHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAgLSB3
aWxsU2VuZFJlcXVlc3QgPE5TVVJMUmVxdWVzdCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nh
Y2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucGhwLCBtYWluIGRvY3VtZW50IFVSTCBodHRwOi8vMTI3
LjAuMC4xOjgwMDAvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC5odG1sLCBodHRwIG1ldGhvZCBHRVQ+
IHJlZGlyZWN0UmVzcG9uc2UgKG51bGwpCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVz
b3VyY2VzL2lmcmFtZTMwNC5weSAtIHdpbGxTZW5kUmVxdWVzdCA8TlNVUkxSZXF1ZXN0IFVSTCBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5weSwgbWFpbiBk
b2N1bWVudCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL2lmcmFtZS0zMDQtY3Jhc2gu
aHRtbCwgaHR0cCBtZXRob2QgR0VUPiByZWRpcmVjdFJlc3BvbnNlIChudWxsKQogaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2NhY2hlL2lmcmFtZS0zMDQtY3Jhc2guaHRtbCAtIGRpZEZpbmlzaExvYWRp
bmcKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBocCAt
IGRpZFJlY2VpdmVSZXNwb25zZSA8TlNVUkxSZXNwb25zZSBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
Y2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAsIGh0dHAgc3RhdHVzIGNvZGUgMjAwPgotaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucGhwIC0gZGlkRmlu
aXNoTG9hZGluZwotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUz
MDQucGhwIC0gd2lsbFNlbmRSZXF1ZXN0IDxOU1VSTFJlcXVlc3QgVVJMIGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBocCwgbWFpbiBkb2N1bWVudCBVUkwg
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL2lmcmFtZS0zMDQtY3Jhc2guaHRtbCwgaHR0cCBt
ZXRob2QgR0VUPiByZWRpcmVjdFJlc3BvbnNlIChudWxsKQotaHR0cDovLzEyNy4wLjAuMTo4MDAw
L2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucGhwIC0gZGlkUmVjZWl2ZVJlc3BvbnNlIDxOU1VS
TFJlc3BvbnNlIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0
LnBocCwgaHR0cCBzdGF0dXMgY29kZSAzMDQ+Ci1odHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUv
cmVzb3VyY2VzL2lmcmFtZTMwNC5waHAgLSBkaWRGaW5pc2hMb2FkaW5nCitodHRwOi8vMTI3LjAu
MC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5weSAtIGRpZFJlY2VpdmVSZXNwb25z
ZSA8TlNVUkxSZXNwb25zZSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lm
cmFtZTMwNC5weSwgaHR0cCBzdGF0dXMgY29kZSAyMDA+CitodHRwOi8vMTI3LjAuMC4xOjgwMDAv
Y2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5weSAtIGRpZEZpbmlzaExvYWRpbmcKK2h0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5IC0gd2lsbFNlbmRSZXF1
ZXN0IDxOU1VSTFJlcXVlc3QgVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJj
ZXMvaWZyYW1lMzA0LnB5LCBtYWluIGRvY3VtZW50IFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
Y2FjaGUvaWZyYW1lLTMwNC1jcmFzaC5odG1sLCBodHRwIG1ldGhvZCBHRVQ+IHJlZGlyZWN0UmVz
cG9uc2UgKG51bGwpCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFt
ZTMwNC5weSAtIGRpZFJlY2VpdmVSZXNwb25zZSA8TlNVUkxSZXNwb25zZSBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5weSwgaHR0cCBzdGF0dXMgY29kZSAz
MDQ+CitodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5weSAt
IGRpZEZpbmlzaExvYWRpbmcKIApJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9p
ZnJhbWUtMzA0LWNyYXNoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWwJKHJldmlzaW9uIDI3NDI3OCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xMCw3ICsxMCw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogZnVuY3Rpb24g
cmVtb3ZlQW5kUmVwbGFjZUlmcmFtZSgpIHsKICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxk
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZnJhbWUiKSk7CiAgICAgdmFyIG5ld0lmcmFtZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIG5ld0lmcmFtZS5zcmMgPSAi
cmVzb3VyY2VzL2lmcmFtZTMwNC5waHAiOworICAgIG5ld0lmcmFtZS5zcmMgPSAicmVzb3VyY2Vz
L2lmcmFtZTMwNC5weSI7CiAgICAgbmV3SWZyYW1lLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeyBzZXRU
aW1lb3V0KGZpbmlzaCwgMCk7IH0KICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG5ld0lm
cmFtZSk7CiB9CkBAIC0yMiw2ICsyMiw2IEBAIGZ1bmN0aW9uIGZpbmlzaCgpIHsKIDwvc2NyaXB0
PgogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KHJlbW92ZUFuZFJlcGxhY2VJZnJh
bWUsIDApIj4KLTxpZnJhbWUgaWQ9ImlmcmFtZSIgc3JjPSJyZXNvdXJjZXMvaWZyYW1lMzA0LnBo
cCI+PC9pZnJhbWU+Cis8aWZyYW1lIGlkPSJpZnJhbWUiIHNyYz0icmVzb3VyY2VzL2lmcmFtZTMw
NC5weSI+PC9pZnJhbWU+CiA8L2JvZHk+CiA8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2lmcmFtZS1kZXRhY2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL2lmcmFtZS1kZXRhY2guaHRtbAkocmV2aXNpb24gMjc0Mjc4KQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtZGV0YWNoLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEsNyArMSw3IEBACiA8aHRtbD4KIDxib2R5PgogPGRpdiBpZD0ic2hhZG93
Ij4KLTxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvc2xvdy1pZnJhbWUucGhwIj48L2lmcmFtZT4KKzxp
ZnJhbWUgc3JjPSJyZXNvdXJjZXMvc2xvdy1pZnJhbWUucHkiPjwvaWZyYW1lPgogPC9kaXY+CiAK
IDxkaXYgaWQ9ImVtcHR5Ij48L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvbGluay1wcmVmZXRjaC1tYWluLXJlc291cmNlLWlmcmFtZS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvbGluay1wcmVmZXRjaC1tYWluLXJlc291cmNl
LWlmcmFtZS5odG1sCShyZXZpc2lvbiAyNzQyNzgpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL2xpbmstcHJlZmV0Y2gtbWFpbi1yZXNvdXJjZS1pZnJhbWUuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMjIsNyArMjIsNyBAQCBmdW5jdGlvbiBpZnJhbWVMb2FkRmluaXNoZWQoKQogZnVu
Y3Rpb24gbG9hZEFmdGVyUHJlZmV0Y2goKQogewogICAgIHZhciBuZXdJZnJhbWUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBuZXdJZnJhbWUuc3JjID0gImh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLWlm
cmFtZS5waHAiOworICAgIG5ld0lmcmFtZS5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nh
Y2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnB5IjsKICAgICBu
ZXdJZnJhbWUub25sb2FkID0gaWZyYW1lTG9hZEZpbmlzaGVkOwogICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQobmV3SWZyYW1lKTsKIH0KQEAgLTM1LDcgKzM1LDcgQEAgd2luZG93Lm9ubWVz
c2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2UpCiBmdW5jdGlvbiBydW5UZXN0KCkgewogICAgIHZhciBs
aW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpOwogICAgIGxpbmsucmVsID0gInBy
ZWZldGNoIjsKLSAgICBsaW5rLmhyZWYgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2NhY2hlL3Jl
c291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBocCI7CisgICAgbGluay5o
cmVmID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1t
YWluLXJlc291cmNlLWlmcmFtZS5weSI7CiAgICAgaWYgKGludGVybmFscykKICAgICAgICAgaW50
ZXJuYWxzLmFkZFByZWZldGNoTG9hZEV2ZW50TGlzdGVuZXIobGluaywgKCkgPT4geyBsb2FkQWZ0
ZXJQcmVmZXRjaCgpOyB9KTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspOwpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9saW5rLXByZWZldGNoLW1haW4tcmVz
b3VyY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2xp
bmstcHJlZmV0Y2gtbWFpbi1yZXNvdXJjZS5odG1sCShyZXZpc2lvbiAyNzQyNzgpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2xpbmstcHJlZmV0Y2gtbWFpbi1yZXNvdXJjZS5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC03LDEzICs3LDEzIEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewogCiBmdW5jdGlvbiBsb2FkQWZ0ZXJQcmVmZXRjaCgpCiB7Ci0gICAgIHdpbmRvdy5sb2NhdGlv
bi5hc3NpZ24oJ2h0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hl
ZC1tYWluLXJlc291cmNlLnBocCcpOworICAgICB3aW5kb3cubG9jYXRpb24uYXNzaWduKCdodHRw
Oi8vbG9jYWxob3N0OjgwMDAvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJj
ZS5weScpOwogfQogCiBmdW5jdGlvbiBydW5UZXN0KCkgewogICAgIHZhciBsaW5rID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgibGluayIpOwogICAgIGxpbmsucmVsID0gInByZWZldGNoIjsKLSAg
ICBsaW5rLmhyZWYgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVm
ZXRjaGVkLW1haW4tcmVzb3VyY2UucGhwIjsKKyAgICBsaW5rLmhyZWYgPSAiaHR0cDovL2xvY2Fs
aG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UucHkiOwog
ICAgIGlmIChpbnRlcm5hbHMpCiAgICAgICAgIGludGVybmFscy5hZGRQcmVmZXRjaExvYWRFdmVu
dExpc3RlbmVyKGxpbmssICgpID0+IHsgbG9hZEFmdGVyUHJlZmV0Y2goKTsgfSk7CiAgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvbWFpbi1yZXNvdXJjZS0zMDQtcmVsb2FkLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9tYWluLXJlc291cmNlLTMwNC1yZWxvYWQuaHRtbAko
cmV2aXNpb24gMjc0Mjc4KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9tYWluLXJl
c291cmNlLTMwNC1yZWxvYWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTEsNyArMTEsNyBAQCBm
dW5jdGlvbiBsb2FkRnJhbWUob25sb2FkKQogICAgIGlmIChpZnJhbWUpCiAgICAgICAgIGRvY3Vt
ZW50LmJvZHkucmVtb3ZlQ2hpbGQoaWZyYW1lKTsKICAgICBpZnJhbWUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBpZnJhbWUuc3JjID0gInJlc291cmNlcy9pZnJhbWUz
MDRib2R5LnBocCI7CisgICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvaWZyYW1lMzA0Ym9keS5w
eSI7CiAgICAgaWZyYW1lLm9ubG9hZCA9IG9ubG9hZDsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGlmcmFtZSk7CiB9CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bv
c3QtcmVkaXJlY3QtZ2V0LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LnBocAkocmV2aXNpb24gMjc0Mjc4KQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC5waHAJKG5vbmV4aXN0ZW50
KQpAQCAtMSw2MCArMCwwIEBACi08P3BocAotcmVxdWlyZV9vbmNlICcuLi9yZXNvdXJjZXMvcG9y
dGFiaWxpdHlMYXllci5waHAnOwotCi0vLyBUaGlzIHRlc3QgbG9hZHMgYW4gdW5jYWNoZWFibGUg
bWFpbiByZXNvdXJjZSBhbmQgYSBjYWNoZWFibGUgaW1hZ2Ugc3VicmVzb3VyY2UuCi0vLyBXZSB0
aGVuIHRyaWdnZXIgYSBQT1NUIHJlcXVlc3QsIHdoaWNoIHJlZGlyZWN0cyBhcyBhIEdFVCBiYWNr
IHRvIHRoaXMgcGFnZS4KLS8vIE9uIHRoaXMgR0VUIHJlcXVlc3QsIHRoZSBpbWFnZSBzaG91bGQg
YmUgbG9hZGVkIGZyb20gdGhlIGNhY2hlIGFuZCBubyBIVFRQCi0vLyByZXF1ZXN0IHNob3VsZCBi
ZSBzZW50LiBUaGUgaW1hZ2UgcmVzb3VyY2Ugd2lsbCByZXR1cm4gNDA0IGlmIGl0IHJlY2VpdmVz
Ci0vLyBhIHNlY29uZCByZXF1ZXN0LCB3aGljaCB3aWxsIGNhdXNlIHVzIHRvIEZBSUwuCi0vLyBT
ZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4NjkwCi1oZWFkZXIo
J0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBuby1zdG9yZSwgbXVzdC1yZXZhbGlkYXRlLCBtYXgt
YWdlPTAnKTsKLWhlYWRlcignUHJhZ21hOiBuby1jYWNoZScpOwotaGVhZGVyKCdFeHBpcmVzOiAn
IC4gZ21kYXRlKERBVEVfUkZDMTEyMywgdGltZSgpLTEpKTsKLQotaWYgKCRfUE9TVFsic3VibWl0
Il0gPT0gInJlZGlyZWN0IikgewotICAgIGhlYWRlcignSFRUUC8xLjEgMzAyIEZvdW5kJyk7Ci0g
ICAgaGVhZGVyKCdMb2NhdGlvbjogcG9zdC1yZWRpcmVjdC1nZXQucGhwP2ZpbmlzaD10cnVlJyk7
Ci0gICAgZXhpdCgpOwotfQotPz4KLTxodG1sPgotPGJvZHk+Ci08ZGl2IGlkPSJyZXN1bHQiPjwv
ZGl2PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotfQotICAgIAot
ZnVuY3Rpb24gbG9nQW5kRmluaXNoKG1lc3NhZ2UpCi17Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInJlc3VsdCIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1lc3Nh
Z2UpKTsKLSAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0OwotICAgIHhoci5vcGVuKCJH
RVQiLCAiLi4vcmVzb3VyY2VzL3Jlc2V0LXRlbXAtZmlsZS5waHA/ZmlsZW5hbWU9Y2FjaGVfcG9z
dC1yZWRpcmVjdC1nZXRfc3RhdGUiLCBmYWxzZSk7Ci0gICAgeGhyLnNlbmQobnVsbCk7Ci0gICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
LX0KLTwvc2NyaXB0PgotPD9waHAKLWNsZWFyc3RhdGNhY2hlKCk7Ci1pZiAoJF9HRVRbImZpbmlz
aCJdID09ICJ0cnVlIikgewotICAgIC8vIFRoZSBpbml0aWFsIGxvYWQgb2YgdGhlIGltYWdlIG1p
Z2h0IGhhdmUgYmVlbiBkb25lIGZyb20gdGhlIGNhY2hlLiBJbiB0aGF0IGNhc2UsIHRvdWNoIHRo
ZQotICAgIC8vIHN0YXRlIGZpbGUgdG8gaW5kaWNhdGUgYSBsb2FkIGhhcyBhbHJlYWR5IG9jY3Vy
cmVkLgotICAgIGlmICghZmlsZV9leGlzdHMoc3lzX2dldF90ZW1wX2RpcigpIC4gIi9jYWNoZV9w
b3N0LXJlZGlyZWN0LWdldF9zdGF0ZSIpKSB7Ci0gICAgICAgIGVjaG8gIjxzY3JpcHQ+IjsKLSAg
ICAgICAgZWNobyAieGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0OyI7Ci0gICAgICAgIGVjaG8gInho
ci5vcGVuKCdHRVQnLCAnLi4vcmVzb3VyY2VzL3RvdWNoLXRlbXAtZmlsZS5waHA/ZmlsZW5hbWU9
Y2FjaGVfcG9zdC1yZWRpcmVjdC1nZXRfc3RhdGUnLCBmYWxzZSk7IjsKLSAgICAgICAgZWNobyAi
eGhyLnNlbmQobnVsbCk7IjsKLSAgICAgICAgZWNobyAiPC9zY3JpcHQ+IjsKLSAgICB9Ci0gICAg
ZWNobyAiPGltZyBzcmM9J3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5waHA/dGVzdD1j
YWNoZV9wb3N0LXJlZGlyZWN0LWdldCcgb25sb2FkPVwibG9nQW5kRmluaXNoKCdQQVNTJyk7XCIg
b25lcnJvcj1cImxvZ0FuZEZpbmlzaCgnRkFJTCcpO1wiPjwvaW1nPiI7Ci19IGVsc2UgewotICAg
IGVjaG8gIjxmb3JtIGFjdGlvbj0ncG9zdC1yZWRpcmVjdC1nZXQucGhwJyBtZXRob2Q9J3Bvc3Qn
PiI7Ci0gICAgZWNobyAiPGlucHV0IHR5cGU9J3N1Ym1pdCcgaWQ9J3N1Ym1pdCcgbmFtZT0nc3Vi
bWl0JyB2YWx1ZT0ncmVkaXJlY3QnPiI7Ci0gICAgZWNobyAiPC9mb3JtPiI7Ci0gICAgZWNobyAi
PGltZyBzcmM9J3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5waHA/dGVzdD1jYWNoZV9w
b3N0LXJlZGlyZWN0LWdldCcgb25sb2FkPVwiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Ym1p
dCcpLmNsaWNrKCk7XCIgb25lcnJvcj1cImxvZ0FuZEZpbmlzaCgnRkFJTCBvbiBpbml0aWFsIGxv
YWQnKTtcIj48L2ltZz4iOwotfSAKLT8+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LnB5Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucHkJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdl
dC5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDgzIEBACisjIS91c3IvYmluL2VudiBweXRo
b24zCisKK2ltcG9ydCBjZ2kKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHRlbXBmaWxl
Citmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZSwgdGltZWRlbHRhCitmcm9tIHVybGxpYi5w
YXJzZSBpbXBvcnQgcGFyc2VfcXMKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5Z3dpbicp
Wy0xXQoraHR0cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRo
LmFic3BhdGgob3MucGF0aC5kaXJuYW1lKGZpbGUpKSkpCitzeXMucGF0aC5pbnNlcnQoMCwgaHR0
cF9yb290KQorCityZXF1ZXN0X21ldGhvZCA9IG9zLmVudmlyb24uZ2V0KCdSRVFVRVNUX01FVEhP
RCcsICcnKQorZXhwaXJlcyA9ICd7fSArMDAwMCcuZm9ybWF0KChkYXRldGltZS51dGNub3coKSAt
IHRpbWVkZWx0YShzZWNvbmRzPTEpKS5zdHJmdGltZSgnJWEsICVkICViICVZICVIOiVNOiVTJykp
CitmaW5pc2ggPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBr
ZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKS5nZXQoJ2ZpbmlzaCcsIFsnJ10pWzBdCisKK3JlcXVlc3Qg
PSB7fQoraWYgcmVxdWVzdF9tZXRob2QgPT0gJ1BPU1QnOgorICAgIGZvcm0gPSBjZ2kuRmllbGRT
dG9yYWdlKCkKKyAgICBmb3Iga2V5IGluIHNvcnRlZChmb3JtLmtleXMoKSk6CisgICAgICAgIHJl
cXVlc3Rba2V5XSA9IGZvcm0uZ2V0dmFsdWUoa2V5KQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAg
ICdDYWNoZS1Db250cm9sOiBuby1jYWNoZSwgbm8tc3RvcmUsIG11c3QtcmV2YWxpZGF0ZSwgbWF4
LWFnZT0wXHJcbicKKyAgICAnUHJhZ21hOiBuby1jYWNoZVxyXG4nCisgICAgZidFeHBpcmVzOiB7
ZXhwaXJlc31cclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nCispCisKK2lm
IHJlcXVlc3QuZ2V0KCdzdWJtaXQnLCAnJykgPT0gJ3JlZGlyZWN0JzoKKyAgICBzeXMuc3Rkb3V0
LndyaXRlKAorICAgICAgICAnc3RhdHVzOiAzMDJcclxuJworICAgICAgICAnTG9jYXRpb246IHBv
c3QtcmVkaXJlY3QtZ2V0LnB5P2ZpbmlzaD10cnVlXHJcblxyXG4nCisgICAgKQorICAgIHN5cy5l
eGl0KDApCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ1xyXG4nCisgICAgJzxodG1sPlxyXG4n
CisgICAgJzxib2R5PlxyXG4nCisgICAgJzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+XHJcbicKKyAg
ICAnPHNjcmlwdD5cclxuJworICAgICdpZiAod2luZG93LnRlc3RSdW5uZXIpIHtcclxuJworICAg
ICcgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7XHJcbicKKyAgICAnICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpO1xyXG4nCisgICAgJ31cclxuJworICAgICcgICAgXHJcbicKKyAgICAn
ZnVuY3Rpb24gbG9nQW5kRmluaXNoKG1lc3NhZ2UpXHJcbicKKyAgICAne1xyXG4nCisgICAgJyAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlVGV4dE5vZGUobWVzc2FnZSkpO1xyXG4nCisgICAgJyAgICB2YXIgeGhyID0gbmV3IFhN
TEh0dHBSZXF1ZXN0O1xyXG4nCisgICAgJyAgICB4aHIub3BlbigiR0VUIiwgIi4uL3Jlc291cmNl
cy9yZXNldC10ZW1wLWZpbGUucHk/ZmlsZW5hbWU9Y2FjaGVfcG9zdC1yZWRpcmVjdC1nZXRfc3Rh
dGUiLCBmYWxzZSk7XHJcbicKKyAgICAnICAgIHhoci5zZW5kKG51bGwpO1xyXG4nCisgICAgJyAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpXHJcbicKKyAgICAnICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTtcclxuJworICAgICd9XHJcbicKKyAgICAnPC9zY3JpcHQ+XHJcbicKKykKKwor
aWYgZmluaXNoID09ICd0cnVlJzoKKyAgICB0bXBGaWxlID0gb3MucGF0aC5qb2luKHRlbXBmaWxl
LmdldHRlbXBkaXIoKSwgJ2NhY2hlX3Bvc3QtcmVkaXJlY3QtZ2V0X3N0YXRlJykKKyAgICBpZiBu
b3Qgb3MucGF0aC5pc2ZpbGUodG1wRmlsZSk6CisgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoCisg
ICAgICAgICAgICAnPHNjcmlwdD4nCisgICAgICAgICAgICAneGhyID0gbmV3IFhNTEh0dHBSZXF1
ZXN0OycKKyAgICAgICAgICAgICd4aHIub3BlbihcJ0dFVFwnLCBcJy4uL3Jlc291cmNlcy90b3Vj
aC10ZW1wLWZpbGUucHk/ZmlsZW5hbWU9Y2FjaGVfcG9zdC1yZWRpcmVjdC1nZXRfc3RhdGVcJywg
ZmFsc2UpOycKKyAgICAgICAgICAgICd4aHIuc2VuZChudWxsKTsnCisgICAgICAgICAgICAnPC9z
Y3JpcHQ+JworICAgICAgICApCisgICAgc3lzLnN0ZG91dC53cml0ZSgnPGltZyBzcmM9XCdyZXNv
dXJjZXMvcG9zdC1pbWFnZS10by12ZXJpZnkucHk/dGVzdD1jYWNoZV9wb3N0LXJlZGlyZWN0LWdl
dFwnIG9ubG9hZD0ibG9nQW5kRmluaXNoKFwnUEFTU1wnKTsiIG9uZXJyb3I9ImxvZ0FuZEZpbmlz
aChcJ0ZBSUxcJyk7Ij48L2ltZz4nKQorZWxzZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAg
ICAgICAnPGZvcm0gYWN0aW9uPVwncG9zdC1yZWRpcmVjdC1nZXQucHlcJyBtZXRob2Q9XCdwb3N0
XCc+JworICAgICAgICAnPGlucHV0IHR5cGU9XCdzdWJtaXRcJyBpZD1cJ3N1Ym1pdFwnIG5hbWU9
XCdzdWJtaXRcJyB2YWx1ZT1cJ3JlZGlyZWN0XCc+JworICAgICAgICAnPC9mb3JtPicKKyAgICAg
ICAgJzxpbWcgc3JjPVwncmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnB5P3Rlc3Q9Y2Fj
aGVfcG9zdC1yZWRpcmVjdC1nZXRcJyBvbmxvYWQ9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwn
c3VibWl0XCcpLmNsaWNrKCk7IiBvbmVycm9yPSJsb2dBbmRGaW5pc2goXCdGQUlMIG9uIGluaXRp
YWwgbG9hZFwnKTsiPjwvaW1nPicKKyAgICApCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJzwv
Ym9keT5cbicKKyAgICAnPC9odG1sPlxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1y
ZWRpcmVjdC1nZXQucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCAr
MSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLnBocAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQt
c3VicmVzb3VyY2VzLnBocAkocmV2aXNpb24gMjc0Mjc4KQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy5waHAJKG5vbmV4aXN0ZW50
KQpAQCAtMSw1NCArMCwwIEBACi08P3BocAotcmVxdWlyZV9vbmNlICcuLi9yZXNvdXJjZXMvcG9y
dGFiaWxpdHlMYXllci5waHAnOwotCi0vLyBUaGlzIHRlc3QgbG9hZHMgYW4gdW5jYWNoZWFibGUg
bWFpbiByZXNvdXJjZSBhbmQgYSBjYWNoZWFibGUgaW1hZ2Ugc3VicmVzb3VyY2UuCi0vLyBXZSBy
ZXF1ZXN0IHRoaXMgcGFnZSBhcyBhIEdFVCwgdGhlbiByZWxvYWQgdGhpcyBwYWdlIHdpdGggYSBQ
T1NULgotLy8gT24gdGhlIHBvc3QgcmVxdWVzdCwgdGhlIGltYWdlIHNob3VsZCBiZSBsb2FkZWQg
ZnJvbSB0aGUgY2FjaGUgYW5kIG5vIEhUVFAKLS8vIHJlcXVlc3Qgc2hvdWxkIGJlIHNlbnQuIFRo
ZSBpbWFnZSByZXNvdXJjZSB3aWxsIHJldHVybiA0MDQgaWYgaXQgcmVjZWl2ZXMKLS8vIGEgc2Vj
b25kIHJlcXVlc3QsIHdoaWNoIHdpbGwgY2F1c2UgdXMgdG8gRkFJTC4KLS8vIFNlZSBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg2OTAKLWhlYWRlcignQ2FjaGUtQ29u
dHJvbDogbm8tY2FjaGUsIG5vLXN0b3JlLCBtdXN0LXJldmFsaWRhdGUsIG1heC1hZ2U9MCcpOwot
aGVhZGVyKCdQcmFnbWE6IG5vLWNhY2hlJyk7Ci1oZWFkZXIoJ0V4cGlyZXM6ICcgLiBnbWRhdGUo
REFURV9SRkMxMTIzLCB0aW1lKCktMSkpOwotPz4KLTxodG1sPgotPGJvZHk+Ci08ZGl2IGlkPSJy
ZXN1bHQiPjwvZGl2PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwot
fQotICAgIAotZnVuY3Rpb24gbG9nQW5kRmluaXNoKG1lc3NhZ2UpCi17Ci0gICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHRO
b2RlKG1lc3NhZ2UpKTsKLSAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0OwotICAgIHho
ci5vcGVuKCJHRVQiLCAiLi4vcmVzb3VyY2VzL3Jlc2V0LXRlbXAtZmlsZS5waHA/ZmlsZW5hbWU9
Y2FjaGVfcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXNfc3RhdGUiLCBmYWxzZSk7Ci0gICAg
eGhyLnNlbmQobnVsbCk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKLX0KLTwvc2NyaXB0PgotPD9waHAKLWNsZWFyc3RhdGNhY2hl
KCk7Ci1pZiAoJF9QT1NUWyJzdWJtaXQiXSA9PSAiZmluaXNoIikgewotICAgIC8vIFRoZSBpbml0
aWFsIGxvYWQgb2YgdGhlIGltYWdlIG1pZ2h0IGhhdmUgYmVlbiBkb25lIGZyb20gdGhlIGNhY2hl
LiBJbiB0aGF0IGNhc2UsIHRvdWNoIHRoZQotICAgIC8vIHN0YXRlIGZpbGUgdG8gaW5kaWNhdGUg
YSBsb2FkIGhhcyBhbHJlYWR5IG9jY3VycmVkLgotICAgIGlmICghZmlsZV9leGlzdHMoc3lzX2dl
dF90ZW1wX2RpcigpIC4gIi9jYWNoZV9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlc19zdGF0
ZSIpKSB7Ci0gICAgICAgIGVjaG8gIjxzY3JpcHQ+IjsKLSAgICAgICAgZWNobyAieGhyID0gbmV3
IFhNTEh0dHBSZXF1ZXN0OyI7Ci0gICAgICAgIGVjaG8gInhoci5vcGVuKCdHRVQnLCAnLi4vcmVz
b3VyY2VzL3RvdWNoLXRlbXAtZmlsZS5waHA/ZmlsZW5hbWU9Y2FjaGVfcG9zdC13aXRoLWNhY2hl
ZC1zdWJyZXNvdXJjZXNfc3RhdGUnLCBmYWxzZSk7IjsKLSAgICAgICAgZWNobyAieGhyLnNlbmQo
bnVsbCk7IjsKLSAgICAgICAgZWNobyAiPC9zY3JpcHQ+IjsKLSAgICB9Ci0gICAgZWNobyAiPGlt
ZyBzcmM9J3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5waHA/dGVzdD1jYWNoZV9wb3N0
LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcycgb25sb2FkPVwibG9nQW5kRmluaXNoKCdQQVNTJyk7
XCIgb25lcnJvcj1cImxvZ0FuZEZpbmlzaCgnRkFJTCcpO1wiPjwvaW1nPiI7Ci19IGVsc2Ugewot
ICAgIGVjaG8gIjxmb3JtIGFjdGlvbj0ncG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMucGhw
JyBtZXRob2Q9J3Bvc3QnPiI7Ci0gICAgZWNobyAiPGlucHV0IHR5cGU9J3N1Ym1pdCcgaWQ9J3N1
Ym1pdCcgbmFtZT0nc3VibWl0JyB2YWx1ZT0nZmluaXNoJz4iOwotICAgIGVjaG8gIjwvZm9ybT4i
OwotICAgIGVjaG8gIjxpbWcgc3JjPSdyZXNvdXJjZXMvcG9zdC1pbWFnZS10by12ZXJpZnkucGhw
P3Rlc3Q9Y2FjaGVfcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMnIG9ubG9hZD1cImRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdzdWJtaXQnKS5jbGljaygpO1wiIG9uZXJyb3I9XCJsb2dBbmRG
aW5pc2goJ0ZBSUwgb24gaW5pdGlhbCBsb2FkJyk7XCI+PC9pbWc+IjsKLX0gCi0/PgotPC9ib2R5
PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgt
Y2FjaGVkLXN1YnJlc291cmNlcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLnB5CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNv
dXJjZXMucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4MSBAQAorIyEvdXNyL2Jpbi9lbnYg
cHl0aG9uMworCitpbXBvcnQgY2dpCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCB0ZW1w
ZmlsZQorZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0YQorCisjIFRoaXMg
dGVzdCBsb2FkcyBhbiB1bmNhY2hlYWJsZSBtYWluIHJlc291cmNlIGFuZCBhIGNhY2hlYWJsZSBp
bWFnZSBzdWJyZXNvdXJjZS4KKyMgV2UgcmVxdWVzdCB0aGlzIHBhZ2UgYXMgYSBHRVQsIHRoZW4g
cmVsb2FkIHRoaXMgcGFnZSB3aXRoIGEgUE9TVC4KKyMgT24gdGhlIHBvc3QgcmVxdWVzdCwgdGhl
IGltYWdlIHNob3VsZCBiZSBsb2FkZWQgZnJvbSB0aGUgY2FjaGUgYW5kIG5vIEhUVFAKKyMgcmVx
dWVzdCBzaG91bGQgYmUgc2VudC4gVGhlIGltYWdlIHJlc291cmNlIHdpbGwgcmV0dXJuIDQwNCBp
ZiBpdCByZWNlaXZlcworIyBhIHNlY29uZCByZXF1ZXN0LCB3aGljaCB3aWxsIGNhdXNlIHVzIHRv
IEZBSUwuCisjIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg2
OTAKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5Z3dpbicpWy0xXQoraHR0cF9yb290ID0g
b3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgob3MucGF0aC5k
aXJuYW1lKGZpbGUpKSkpCitzeXMucGF0aC5pbnNlcnQoMCwgaHR0cF9yb290KQorCityZXF1ZXN0
X21ldGhvZCA9IG9zLmVudmlyb24uZ2V0KCdSRVFVRVNUX01FVEhPRCcsICcnKQorZXhwX3RpbWUg
PSBkYXRldGltZS51dGNub3coKSAtIHRpbWVkZWx0YShzZWNvbmRzPTEpCisKK3N5cy5zdGRvdXQu
d3JpdGUoCisgICAgJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBuby1zdG9yZSwgbXVzdC1yZXZh
bGlkYXRlLCBtYXgtYWdlPTBcclxuJworICAgICdQcmFnbWE6IG5vLWNhY2hlXHJcbicKKyAgICAn
RXhwaXJlczoge30gKzAwMDBcclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5c
clxuJy5mb3JtYXQoZXhwX3RpbWUuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQor
KQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICc8aHRtbD5cbicKKyAgICAnPGJvZHk+XG4nCisg
ICAgJzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+XG4nCisgICAgJzxzY3JpcHQ+XG4nCisgICAgJ2lm
ICh3aW5kb3cudGVzdFJ1bm5lcikge1xuJworICAgICcgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7XG4nCisgICAgJyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTtcbicKKyAgICAnfVxu
JworICAgICcgICAgXG4nCisgICAgJ2Z1bmN0aW9uIGxvZ0FuZEZpbmlzaChtZXNzYWdlKVxuJwor
ICAgICd7XG4nCisgICAgJyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobWVzc2FnZSkpO1xuJworICAgICcgICAg
dmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdDtcbicKKyAgICAnICAgIHhoci5vcGVuKCJHRVQi
LCAiLi4vcmVzb3VyY2VzL3Jlc2V0LXRlbXAtZmlsZS5weT9maWxlbmFtZT1jYWNoZV9wb3N0LXdp
dGgtY2FjaGVkLXN1YnJlc291cmNlc19zdGF0ZSIsIGZhbHNlKTtcbicKKyAgICAnICAgIHhoci5z
ZW5kKG51bGwpO1xuJworICAgICcgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKVxuJworICAgICcg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpO1xuJworICAgICd9XG4nCisgICAgJzwvc2Ny
aXB0PlxuJworKQorCityZXF1ZXN0ID0ge30KK2lmIHJlcXVlc3RfbWV0aG9kID09ICdQT1NUJzoK
KyAgICBmb3JtID0gY2dpLkZpZWxkU3RvcmFnZSgpCisgICAgZm9yIGtleSBpbiBzb3J0ZWQoZm9y
bS5rZXlzKCkpOgorICAgICAgICByZXF1ZXN0W2tleV0gPSBmb3JtLmdldHZhbHVlKGtleSkKKwor
aWYgcmVxdWVzdC5nZXQoJ3N1Ym1pdCcsICcnKSA9PSAnZmluaXNoJzoKKyAgICB0bXBGaWxlUGF0
aCA9IG9zLnBhdGguam9pbih0ZW1wZmlsZS5nZXR0ZW1wZGlyKCksICdjYWNoZV9wb3N0LXdpdGgt
Y2FjaGVkLXN1YnJlc291cmNlc19zdGF0ZScpCisgICAgaWYgb3MucGF0aC5leGlzdHModG1wRmls
ZVBhdGgpOgorICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAgICAgJzxzY3JpcHQ+
JworICAgICAgICAgICAgJ3hociA9IG5ldyBYTUxIdHRwUmVxdWVzdDsnCisgICAgICAgICAgICAn
eGhyLm9wZW4oXCdHRVRcJywgXCcuLi9yZXNvdXJjZXMvdG91Y2gtdGVtcC1maWxlLnB5P2ZpbGVu
YW1lPWNhY2hlX3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzX3N0YXRlXCcsIGZhbHNlKTsn
CisgICAgICAgICAgICAneGhyLnNlbmQobnVsbCk7JworICAgICAgICAgICAgJzwvc2NyaXB0PicK
KyAgICAgICAgKQorCisgICAgc3lzLnN0ZG91dC53cml0ZSgnPGltZyBzcmM9XCdyZXNvdXJjZXMv
cG9zdC1pbWFnZS10by12ZXJpZnkucHk/dGVzdD1jYWNoZV9wb3N0LXdpdGgtY2FjaGVkLXN1YnJl
c291cmNlc1wnIG9ubG9hZD0ibG9nQW5kRmluaXNoKFwnUEFTU1wnKTsiIG9uZXJyb3I9ImxvZ0Fu
ZEZpbmlzaChcJ0ZBSUxcJyk7Ij48L2ltZz4nKQorZWxzZToKKyAgICBzeXMuc3Rkb3V0LndyaXRl
KAorICAgICAgICAnPGZvcm0gYWN0aW9uPVwncG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMu
cHlcJyBtZXRob2Q9XCdwb3N0XCc+JworICAgICAgICAnPGlucHV0IHR5cGU9XCdzdWJtaXRcJyBp
ZD1cJ3N1Ym1pdFwnIG5hbWU9XCdzdWJtaXRcJyB2YWx1ZT1cJ2ZpbmlzaFwnPicKKyAgICAgICAg
JzwvZm9ybT4nCisgICAgICAgICc8aW1nIHNyYz1cJ3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZl
cmlmeS5weT90ZXN0PWNhY2hlX3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzXCcgb25sb2Fk
PVwiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCdzdWJtaXRcJykuY2xpY2soKTtcIiBvbmVycm9y
PVwibG9nQW5kRmluaXNoKFwnRkFJTCBvbiBpbml0aWFsIGxvYWRcJyk7XCI+PC9pbWc+JworICAg
ICkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnPC9ib2R5PlxuJworICAgICc8L2h0bWw+XG4n
CispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy5w
eQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVjdXJzaXZlLXZhbGlkYXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3JlY3Vyc2l2ZS12YWxpZGF0aW9uLmh0bWwJKHJldmlzaW9uIDI3
NDI3OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVjdXJzaXZlLXZhbGlkYXRp
b24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNiw3ICs2LDcgQEAgZGVzY3JpcHRpb24oIlRlc3Qg
dGhhdCByZWN1cnNpdmVseSBsb2FkaQogCiBmdW5jdGlvbiBsb2FkKGNvbXBsZXRpb24pIHsKICAg
ICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Ci0gICAgeGhyLm9wZW4oJ0dFVCcsICJy
ZXNvdXJjZXMvbm8tY2FjaGUtd2l0aC12YWxpZGF0aW9uLnBocCIpOworICAgIHhoci5vcGVuKCdH
RVQnLCAicmVzb3VyY2VzL25vLWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5weSIpOwogICAgIHhoci5v
bmxvYWQgPSBjb21wbGV0aW9uOwogICAgIHhoci5zZW5kKCk7CiB9CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3JlZGlyZWN0LXJlZmVyZXIuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3JlZGlyZWN0LXJlZmVyZXIuaHRtbAkocmV2aXNp
b24gMjc0Mjc4KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZWRpcmVjdC1yZWZl
cmVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNyArMSw3IEBACiA8Ym9keT4KIDxzY3JpcHQ+
CiB2YXIgcm5kID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDAwMDAwMDAwMDAwMCk7
Ci12YXIgaWZyYW1lU3JjID0gInJlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucGhwP2xvY2F0
aW9uPXJlZGlyZWN0LXJlZmVyZXItaWZyYW1lLmh0bWwmcm5kPSIgKyBybmQ7Cit2YXIgaWZyYW1l
U3JjID0gInJlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucHk/bG9jYXRpb249cmVkaXJlY3Qt
cmVmZXJlci1pZnJhbWUuaHRtbCZybmQ9IiArIHJuZDsKIAogdmFyIGlmcmFtZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwogaWZyYW1lLnNyYyA9IGlmcmFtZVNyYzsKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVsb2FkLW1haW4tcmVzb3VyY2UucGhwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVsb2FkLW1haW4tcmVz
b3VyY2UucGhwCShyZXZpc2lvbiAyNzQyNzgpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3JlbG9hZC1tYWluLXJlc291cmNlLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDI3ICswLDAg
QEAKLTw/cGhwCi1yZXF1aXJlX29uY2UgJy4uL3Jlc291cmNlcy9wb3J0YWJpbGl0eUxheWVyLnBo
cCc7Ci1jbGVhcnN0YXRjYWNoZSgpOwotaWYgKGZpbGVfZXhpc3RzKHN5c19nZXRfdGVtcF9kaXIo
KSAuICIvY2FjaGUtcmVsb2FkLW1haW4tcmVzb3VyY2UudG1wIikpCi0gICAgdW5saW5rKHN5c19n
ZXRfdGVtcF9kaXIoKSAuICIvY2FjaGUtcmVsb2FkLW1haW4tcmVzb3VyY2UudG1wIik7Ci0/Pgot
Ci08Ym9keT4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHJlbG9hZElmcmFtZSgpIHsKLSAgICB3
aW5kb3cuZnJhbWVzWzBdLmxvY2F0aW9uLnJlbG9hZCgpOwotfQotCi1mdW5jdGlvbiBmaW5pc2go
KSB7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVyVGV4dCA9ICJQ
QVNTIjsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwotfQotPC9zY3JpcHQ+Ci08aWZyYW1lIHNyYz0icmVzb3VyY2VzL3JlbG9hZC1t
YWluLXJlc291cmNlLWlmcmFtZS5waHAiIG9ubG9hZD0icmVsb2FkSWZyYW1lKCk7Ij48L2lmcmFt
ZT4KLTwvYm9keT4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVsb2FkLW1h
aW4tcmVzb3VyY2UucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZWxvYWQtbWFpbi1yZXNvdXJjZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3JlbG9hZC1tYWluLXJlc291cmNlLnB5CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMzcgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBv
cnQgc3lzCitpbXBvcnQgdGVtcGZpbGUKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5Z3dp
bicpWy0xXQoraHR0cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5w
YXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1lKGZpbGUpKSkpCitzeXMucGF0aC5pbnNlcnQoMCwg
aHR0cF9yb290KQorCit0bXBGaWxlID0gb3MucGF0aC5qb2luKHRlbXBmaWxlLmdldHRlbXBkaXIo
KSwgJ2NhY2hlLXJlbG9hZC1tYWluLXJlc291cmNlLnRtcCcpCitpZiBvcy5wYXRoLmlzZmlsZSh0
bXBGaWxlKToKKyAgICBvcy5yZW1vdmUodG1wRmlsZSkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAg
ICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICAnPGJvZHk+XG4nCisgICAg
JzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+XG4nCisgICAgJzxzY3JpcHQ+XG4nCisgICAgJ2lmICh3
aW5kb3cudGVzdFJ1bm5lcikge1xuJworICAgICcgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
XG4nCisgICAgJyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTtcbicKKyAgICAnfVxuJwor
ICAgICdcbicKKyAgICAnZnVuY3Rpb24gcmVsb2FkSWZyYW1lKCkge1xuJworICAgICcgICAgd2lu
ZG93LmZyYW1lc1swXS5sb2NhdGlvbi5yZWxvYWQoKTtcbicKKyAgICAnfVxuJworICAgICdcbicK
KyAgICAnZnVuY3Rpb24gZmluaXNoKCkge1xuJworICAgICcgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInJlc3VsdCIpLmlubmVyVGV4dCA9ICJQQVNTIjtcbicKKyAgICAnICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcilcbicKKyAgICAnICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTtc
bicKKyAgICAnfVxuJworICAgICc8L3NjcmlwdD5cbicKKyAgICAnPGlmcmFtZSBzcmM9InJlc291
cmNlcy9yZWxvYWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucHkiIG9ubG9hZD0icmVsb2FkSWZyYW1l
KCk7Ij48L2lmcmFtZT5cbicKKyAgICAnPC9ib2R5PlxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVsb2FkLW1haW4tcmVzb3VyY2UucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFi
bGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3N0eWxlc2hlZXQtc2hhcmluZy5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvc3R5bGVzaGVldC1zaGFy
aW5nLmh0bWwJKHJldmlzaW9uIDI3NDI3OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvc3R5bGVzaGVldC1zaGFyaW5nLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE2LDcgKzE2LDcg
QEAgZnVuY3Rpb24gd2FpdEZvclN0eWxlc2hlZXQoaWZyYW1lLCBjb21wbAogZnVuY3Rpb24gbG9h
ZChzcmMsIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBpZnJhbWUuc3JjID0gInJlc291cmNlcy9zdHls
ZXNoZWV0LWh0bWwucGhwP3NoZWV0PSIgKyBzcmM7CisgICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJj
ZXMvc3R5bGVzaGVldC1odG1sLnB5P3NoZWV0PSIgKyBzcmM7CiAgICAgaWZyYW1lLm9ubG9hZCA9
IGZ1bmN0aW9uICgpIHsKICAgICAgICAgaWZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5Lm9mZnNl
dFdpZHRoOwogICAgICAgICB3YWl0Rm9yU3R5bGVzaGVldChpZnJhbWUsIGNvbXBsZXRpb25IYW5k
bGVyKTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvdmFyeS1mcmFtZWxlc3Mt
ZG9jdW1lbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3ZhcnktZnJhbWVsZXNzLWRvY3VtZW50Lmh0bWwJKHJldmlzaW9uIDI3NDI3OCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvdmFyeS1mcmFtZWxlc3MtZG9jdW1lbnQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAotdmFyIHN2Z0RvY3VtZW50U3RyaW5nID0gJzxzdmc+
PHVzZSB4PSI1MCIgeT0iMTAiIHhsaW5rOmhyZWY9InJlc291cmNlcy9zdmctZGVmcy12YXJ5LnBo
cCNjaXJjbGUiIC8+PC9zdmc+JzsKK3ZhciBzdmdEb2N1bWVudFN0cmluZyA9ICc8c3ZnPjx1c2Ug
eD0iNTAiIHk9IjEwIiB4bGluazpocmVmPSJyZXNvdXJjZXMvc3ZnLWRlZnMtdmFyeS5weSNjaXJj
bGUiIC8+PC9zdmc+JzsKIGZ1bmN0aW9uIG1ha2VEb2N1bWVudCgpIHsKICAgICB2YXIgZG9jID0g
ZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCcnKTsKICAgICBkb2Mu
b3BlbigpOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS94aHItYm9keS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUveGhyLWJvZHkuaHRt
bAkocmV2aXNpb24gMjc0Mjc4KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS94aHIt
Ym9keS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xOCw3ICsxOCw3IEBAIGZ1bmN0aW9uIHRlc3Qo
KSB7CiAgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7IGxv
ZygibG9hZCIpOyByZXBlYXQoKTsgfSwgZmFsc2UpOwogICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0
ZW5lcigiZXJyb3IiLCBmdW5jdGlvbigpIHsgbG9nKCJlcnJvciIpOyByZXBlYXQoKTsgfSwgZmFs
c2UpOwogICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCBmdW5jdGlvbigpIHsg
bG9nKCJhYm9ydCIpOyByZXBlYXQoKTsgfSwgZmFsc2UpOwotICAgIHJlcXVlc3Qub3BlbigiR0VU
IiwgInJlc291cmNlcy9ib2R5LnBocCIsIHRydWUpOworICAgIHJlcXVlc3Qub3BlbigiR0VUIiwg
InJlc291cmNlcy9ib2R5LnB5IiwgdHJ1ZSk7CiAgICAgcmVxdWVzdC5zZW5kKCk7CiB9CiAKQEAg
LTM2LDcgKzM2LDcgQEAgZnVuY3Rpb24gcmVwZWF0KCkgewogICAgIHNlY29uZFJlcXVlc3QuYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uKCkgeyBzZWNvbmRSZXF1ZXN0RmluaXNoZWQo
KTsgfSwgZmFsc2UpOwogICAgIHNlY29uZFJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3Ii
LCBmdW5jdGlvbigpIHsgbG9nKCJlcnJvciIpOyBlbmQoKTsgfSwgZmFsc2UpOwogICAgIHNlY29u
ZFJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCBmdW5jdGlvbigpIHsgbG9nKCJhYm9y
dCIpOyBlbmQoKTsgfSwgZmFsc2UpOwotICAgIHNlY29uZFJlcXVlc3Qub3BlbigiUE9TVCIsICJy
ZXNvdXJjZXMvYm9keS5waHAiLCB0cnVlKTsKKyAgICBzZWNvbmRSZXF1ZXN0Lm9wZW4oIlBPU1Qi
LCAicmVzb3VyY2VzL2JvZHkucHkiLCB0cnVlKTsKICAgICBzZWNvbmRSZXF1ZXN0LnNlbmQoIlRo
aXMgaHR0cCBib2R5IHNob3VsZCBiZSB2aXNpYmxlIik7CiB9CiAKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUveGhyLXZhcnktaGVhZGVyLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS94aHItdmFyeS1oZWFkZXIuaHRtbAkocmV2aXNpb24g
Mjc0Mjc4KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS94aHItdmFyeS1oZWFkZXIu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTIsNyArMTIsNyBAQCB2YXIgdGVzdFN0ZXAgPSAxOwog
ZnVuY3Rpb24gdGVzdENyb3NzT3JpZ2luKCkKIHsKICAgICB2YXIgcmVxID0gbmV3IFhNTEh0dHBS
ZXF1ZXN0OwotICAgIHJlcS5vcGVuKCJnZXQiLCAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2NhY2hl
L3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItcmVzcG9uc2UucGhwIik7CisgICAgcmVxLm9wZW4o
ImdldCIsICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhl
YWRlci1yZXNwb25zZS5weSIpOwogICAgIHJlcS5vbmxvYWQ9ZnVuY3Rpb24oKSB7IHJlY2VpdmVk
UmVzcG9uc2UocmVxLnJlc3BvbnNlVGV4dCkgfQogICAgIHJlcS5zZW5kKCk7CiB9CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZWRpcmVj
dC10by1kYXRhLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtcmVkaXJlY3QtdG8tZGF0YS5odG1sCShyZXZpc2lvbiAy
NzQyNzgpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1j
YWNoZS1yZWRpcmVjdC10by1kYXRhLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBA
CiA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPXJlc291cmNlcy9yZWRpcmVjdC10by1kYXRhLnBocD48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPXJlc291cmNlcy9yZWRpcmVjdC10by1kYXRhLnB5Pjwvc2NyaXB0PgogPHNj
cmlwdD4KIGRlc2NyaXB0aW9uKCJUZXN0IHRoYXQgSFRUUCByZWRpcmVjdCB0byBhIGRhdGEgVVJM
IGRvZXMgbm90IGNyYXNoIG9yIGFzc2VydCBpbiB0aGUgbmV0d29yayBwcm9jZXNzLiIpOwogc2hv
dWxkQmVUcnVlKCJzdWNjZXNzIik7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZW1vdmUtc2V2ZXJhbC1wZW5kaW5nLXdyaXRlcy5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9k
aXNrLWNhY2hlLXJlbW92ZS1zZXZlcmFsLXBlbmRpbmctd3JpdGVzLmh0bWwJKHJldmlzaW9uIDI3
NDI3OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNh
Y2hlLXJlbW92ZS1zZXZlcmFsLXBlbmRpbmctd3JpdGVzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTIyLDcgKzIyLDcgQEAgZnVuY3Rpb24gZmV0Y2godXJsKSB7CiAKIGZ1bmN0aW9uIGZldGNoUmVz
b3VyY2UoKSB7CiAgIGludGVybmFscy5jbGVhck1lbW9yeUNhY2hlKCk7Ci0gIHJldHVybiBmZXRj
aCgncmVzb3VyY2VzL2pzb24ucGhwP2lkPScgKyBpZCkudGhlbihmdW5jdGlvbiAocmVzcCkgewor
ICByZXR1cm4gZmV0Y2goJ3Jlc291cmNlcy9qc29uLnB5P2lkPScgKyBpZCkudGhlbihmdW5jdGlv
biAocmVzcCkgewogICAgIGlmIChyZXNwLmJvZHkudmVyc2lvbiA9PT0gMikgewogICAgICAgYnVn
UmVwcm9kdWNlZCA9IGZhbHNlOwogICAgIH0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9yZWRpcmVjdC1jaGFpbi1saW1pdHMuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVkaXJlY3QtY2hhaW4t
bGltaXRzLmh0bWwJKHJldmlzaW9uIDI3NDI3OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9yZWRpcmVjdC1jaGFpbi1saW1pdHMuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtOSw3ICs5LDcgQEAgZnVuY3Rpb24gcmVkaXJlY3RDaGFpbihsZW5ndGgsIHVuaXF1ZUlk
LAogewogICAgIGludGVybmFscy5jbGVhck1lbW9yeUNhY2hlKCkKIAotICAgIHZhciB1cmwgPSAi
cmVzb3VyY2VzL3JlZGlyZWN0LWNoYWluLnBocD9sZW5ndGg9IiArIGxlbmd0aCArICImdW5pcXVl
SWQ9IiArIHVuaXF1ZUlkOworICAgIHZhciB1cmwgPSAicmVzb3VyY2VzL3JlZGlyZWN0LWNoYWlu
LnB5P2xlbmd0aD0iICsgbGVuZ3RoICsgIiZ1bmlxdWVJZD0iICsgdW5pcXVlSWQ7CiAKICAgICB4
aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICB4aHIub25sb2FkID0gb25sb2FkOwpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9qc29u
LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2Fj
aGUvcmVzb3VyY2VzL2pzb24ucGhwCShyZXZpc2lvbiAyNzQyNzgpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL2pzb24ucGhwCShub25leGlzdGVu
dCkKQEAgLTEsNDIgKzAsMCBAQAotPD9waHAKLQotZnVuY3Rpb24gc2VuZDMwNCgpCi17Ci0gICAg
aGVhZGVyKCJIVFRQLzEuMSAzMDQgTm90IE1vZGlmaWVkIik7Ci0gICAgaGVhZGVyKCJFVGFnOiBm
b28iKTsKLX0KLQotJGlkID0gJF9HRVRbImlkIl07Ci0kY291bnQgPSAxOwotaWYgKGlzc2V0KCRf
Q09PS0lFWyRpZF0pKSB7Ci0gICAgJGNvdW50ID0gJF9DT09LSUVbJGlkXTsKLX0KLQotc2V0Y29v
a2llKCRpZCwgJGNvdW50ICsgMSk7Ci0KLWlmICgkY291bnQgPT0gMSkgewotICAgIGhlYWRlcigi
Q2FjaGUtQ29udHJvbDogbXVzdC1yZXZhbGlkYXRlIik7Ci0gICAgaGVhZGVyKCJFVGFnOiBmb28i
KTsKLSAgICBoZWFkZXIoIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIpOwotICAgIGVj
aG8gJ3sidmVyc2lvbiI6IDF9JzsKLX0gZWxzZSBpZiAoJGNvdW50ID09IDIpIHsKLSAgICBzZW5k
MzA0KCk7Ci19IGVsc2UgaWYgKCRjb3VudCA9PSAzKSB7Ci0gICAgaGVhZGVyKCJIVFRQLzEuMSA0
MDQgTm90IEZvdW5kIik7Ci0gICAgaGVhZGVyKCJDYWNoZS1Db250cm9sOiBtdXN0LXJldmFsaWRh
dGUiKTsKLSAgICBoZWFkZXIoIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIpOwotICAg
IGVjaG8gJ3sibm90IjogImZvdW5kIn0nOwotfSBlbHNlIGlmICgkY291bnQgPT0gNCkgewotICAg
IGlmICgkX1NFUlZFUlsiSFRUUF9JRl9OT05FX01BVENIIl0gPT0gImZvbyIpIHsKLSAgICAgICAg
c2VuZDMwNCgpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGhlYWRlcigiQ2FjaGUtQ29udHJvbDog
bXVzdC1yZXZhbGlkYXRlIik7Ci0gICAgICAgIGhlYWRlcigiRVRhZzogZm9vIik7Ci0gICAgICAg
IGhlYWRlcigiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uIik7Ci0gICAgICAgIGVjaG8g
J3sidmVyc2lvbiI6IDJ9JzsKLSAgICB9Ci19IGVsc2UgewotICAgIHNlbmQzMDQoKTsKLX0KLQot
Pz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJj
ZXMvanNvbi5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rp
c2stY2FjaGUvcmVzb3VyY2VzL2pzb24ucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9qc29uLnB5CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNTUgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9z
CitpbXBvcnQgc3lzCitmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMKKworZGVmIHNl
bmQzMDQoKToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnQ29udGVudC1UeXBlOiB0
ZXh0L2h0bWxcclxuJworICAgICAgICAnc3RhdHVzOiAzMDRcclxuJworICAgICAgICAnRVRhZzog
Zm9vXHJcblxyXG4nCisgICAgKQorCitpZGVudCA9IHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdR
VUVSWV9TVFJJTkcnLCAnJyksIGtlZXBfYmxhbmtfdmFsdWVzPVRydWUpLmdldCgnaWQnLCBbJydd
KVswXQorY29va2llcyA9IHt9CitpZiAnSFRUUF9DT09LSUUnIGluIG9zLmVudmlyb246CisgICAg
aGVhZGVyX2Nvb2tpZXMgPSBvcy5lbnZpcm9uWydIVFRQX0NPT0tJRSddCisgICAgaGVhZGVyX2Nv
b2tpZXMgPSBoZWFkZXJfY29va2llcy5zcGxpdCgnOyAnKQorCisgICAgZm9yIGNvb2tpZSBpbiBo
ZWFkZXJfY29va2llczoKKyAgICAgICAgY29va2llID0gY29va2llLnNwbGl0KCc9JykKKyAgICAg
ICAgY29va2llc1tjb29raWVbMF1dID0gY29va2llWzFdCisKK2NvdW50ID0gMQoraWYgY29va2ll
cy5nZXQoaWRlbnQsIE5vbmUpOgorICAgIGNvdW50ID0gaW50KGNvb2tpZXMuZ2V0KGlkZW50LCAw
KSkKKworc3lzLnN0ZG91dC53cml0ZShmJ1NldC1Db29raWU6IHtpZGVudH09e2NvdW50ICsgMX1c
clxuJykKKworaWYgY291bnQgPT0gMToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAn
Q2FjaGUtQ29udHJvbDogbXVzdC1yZXZhbGlkYXRlXHJcbicKKyAgICAgICAgJ0VUYWc6IGZvb1xy
XG4nCisgICAgICAgICdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb25cclxuXHJcbicKKyAg
ICAgICAgJ3sidmVyc2lvbiI6IDF9JworICAgICkKK2VsaWYgY291bnQgPT0gMzoKKyAgICBzeXMu
c3Rkb3V0LndyaXRlKAorICAgICAgICAnc3RhdHVzOiA0MDRcclxuJworICAgICAgICAnQ2FjaGUt
Q29udHJvbDogbXVzdC1yZXZhbGlkYXRlXHJcbicKKyAgICAgICAgJ0NvbnRlbnQtVHlwZTogYXBw
bGljYXRpb24vanNvblxyXG5cclxuJworICAgICAgICAneyJub3QiOiAiZm91bmQifScKKyAgICAp
CitlbGlmIGNvdW50ID09IDQ6CisgICAgaWYgb3MuZW52aXJvbi5nZXQoJ0hUVFBfSUZfTk9ORV9N
QVRDSCcsICcnKSA9PSAnZm9vJzoKKyAgICAgICAgc2VuZDMwNCgpCisgICAgZWxzZToKKyAgICAg
ICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgICAgICdDYWNoZS1Db250cm9sOiBtdXN0LXJl
dmFsaWRhdGVcclxuJworICAgICAgICAgICAgJ0VUYWc6IGZvb1xyXG4nCisgICAgICAgICAgICAn
Q29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uXHJcblxyXG4nCisgICAgICAgICAgICAneyJ2
ZXJzaW9uIjogMn0nCisgICAgICAgICkKK2Vsc2U6CisgICAgc2VuZDMwNCgpClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9qc29uLnB5Cl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jl
c291cmNlcy9yZWRpcmVjdC1jaGFpbi5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1jaGFpbi5waHAJKHJl
dmlzaW9uIDI3NDI3OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9yZXNvdXJjZXMvcmVkaXJlY3QtY2hhaW4ucGhwCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAs
MCBAQAotPD8KLSRsZW5ndGggPSAkX0dFVFsnbGVuZ3RoJ107Ci1pZiAoJGxlbmd0aCA9PSAwKSB7
Ci0gICAgaGVhZGVyKCdTdGF0dXM6IDIwMCcpOwotICAgIGhlYWRlcignQ2FjaGUtQ29udHJvbDog
bWF4LWFnZT0xMDAnKTsKLSAgICBleGl0KCk7Ci19Ci0kbGVuZ3RoID0gJGxlbmd0aCAtIDE7Ci0K
LWhlYWRlcignU3RhdHVzOiAzMDInKTsKLWhlYWRlcignQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0x
MDAnKTsKLWhlYWRlcignTG9jYXRpb246IHJlZGlyZWN0LWNoYWluLnBocD9sZW5ndGg9JyAuICRs
ZW5ndGggLiAnJnVuaXF1ZUlkPScgLiAkX0dFVFsndW5pcXVlSWQnXSAuICcmcmFuZG9tPScgLiBy
YW5kKCkpOwotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9yZXNvdXJjZXMvcmVkaXJlY3QtY2hhaW4ucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1jaGFpbi5weQko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUv
cmVzb3VyY2VzL3JlZGlyZWN0LWNoYWluLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjUg
QEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitmcm9t
IHJhbmRvbSBpbXBvcnQgcmFuZGludAorZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNlX3Fz
CisKK3F1ZXJ5ID0gcGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklORycsICcnKSwg
a2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkKK2xlbmd0aCA9IGludChxdWVyeS5nZXQoJ2xlbmd0aCcs
IFswXSlbMF0pCit1bmlxdWVfaWQgPSBxdWVyeS5nZXQoJ3VuaXF1ZUlkJywgWycnXSlbMF0KKwor
c3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0xMDBcclxuJwor
ICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nCispCisKK2lmIGxlbmd0aCA9PSAwOgor
ICAgIHN5cy5zdGRvdXQud3JpdGUoJ3N0YXR1czogMjAwXHJcblxyXG4nKQorICAgIHN5cy5leGl0
KDApCisKK2xlbmd0aCAtPSAxCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdzdGF0dXM6IDMwMlxy
XG4nCisgICAgZidMb2NhdGlvbjogcmVkaXJlY3QtY2hhaW4ucHk/bGVuZ3RoPXtsZW5ndGh9JnVu
aXF1ZUlkPXt1bmlxdWVfaWR9JnJhbmRvbT17cmFuZGludCgwLCBzeXMubWF4c2l6ZSl9XHJcblxy
XG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVj
dC1jaGFpbi5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMj
CisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tZGF0YS5waHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jl
c291cmNlcy9yZWRpcmVjdC10by1kYXRhLnBocAkocmV2aXNpb24gMjc0Mjc4KQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC10by1k
YXRhLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotPD8KLWhlYWRlcignU3RhdHVz
OiAzMDEgTW92ZWQgUGVybWFuZW50bHknKTsKLWhlYWRlcignTG9jYXRpb246IGRhdGE6YXBwbGlj
YXRpb24vamF2YXNjcmlwdCxzdWNjZXNzPXRydWU7Jyk7Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC10by1kYXRhLnB5
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9y
ZXNvdXJjZXMvcmVkaXJlY3QtdG8tZGF0YS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWRhdGEu
cHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw5IEBACisjIS91c3IvYmluL2VudiBweXRob24z
CisKK2ltcG9ydCBzeXMKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnc3RhdHVzOiAzMDFcclxu
JworICAgICdMb2NhdGlvbjogZGF0YTphcHBsaWNhdGlvbi9qYXZhc2NyaXB0LHN1Y2Nlc3M9dHJ1
ZTtcclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworKQpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tZGF0YS5weQpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL2NhY2hlYWJsZS1yZWRpcmVjdC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL2NhY2hlYWJsZS1yZWRpcmVjdC5odG1sCShyZXZpc2lv
biAyNzQyNzgpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3Bl
Y3VsYXRpdmUtdmFsaWRhdGlvbi9jYWNoZWFibGUtcmVkaXJlY3QuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMTYsNyArMTYsNyBAQCBmdW5jdGlvbiBmcmFtZUxvYWRlZCgpCiAgICAgICAgIC8vIE5h
dmlnYXRlIGZyYW1lIHRvIGl0cyBvcmlnaW5hbCBsb2NhdGlvbiBhZ2Fpbi4gVGhpcyB0aW1lIGl0
IHNob3VsZCBzcGVjdWxhdGl2ZWx5CiAgICAgICAgIC8vIHZhbGlkYXRlIHN1YnJlc291cmNlcyBh
cyB3ZSBoYXZlIHN1YnJlc291cmNlIGxvYWRzIG1ldGFkYXRhIGluIHRoZSBkaXNrIGNhY2hlLgog
ICAgICAgICBzdGF0ZSA9ICJzcGVjdWxhdGl2ZVJldmFsaWRhdGlvbiI7Ci0gICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RnJhbWUiKS5zcmMgPSAicmVzb3VyY2VzL2NhY2hlYWJs
ZS1yZWRpcmVjdC1mcmFtZS5waHAiOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGVzdEZyYW1lIikuc3JjID0gInJlc291cmNlcy9jYWNoZWFibGUtcmVkaXJlY3QtZnJhbWUucHki
OwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlmIChzdGF0ZSA9PSAic3BlY3VsYXRpdmVS
ZXZhbGlkYXRpb24iKSB7CkBAIC0yOCw1ICsyOCw1IEBAIGZ1bmN0aW9uIGZyYW1lTG9hZGVkKCkK
IH0KIAogPC9zY3JpcHQ+Ci08aWZyYW1lIGlkPSJ0ZXN0RnJhbWUiIHNyYz0icmVzb3VyY2VzL2Nh
Y2hlYWJsZS1yZWRpcmVjdC1mcmFtZS5waHAiIG9ubG9hZD0iZnJhbWVMb2FkZWQoKSI+PC9pZnJh
bWU+Cis8aWZyYW1lIGlkPSJ0ZXN0RnJhbWUiIHNyYz0icmVzb3VyY2VzL2NhY2hlYWJsZS1yZWRp
cmVjdC1mcmFtZS5weSIgb25sb2FkPSJmcmFtZUxvYWRlZCgpIj48L2lmcmFtZT4KIDxzY3JpcHQg
c3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxp
ZGF0aW9uL2h0dHAtYXV0aC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL2h0dHAtYXV0aC5odG1s
CShyZXZpc2lvbiAyNzQyNzgpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9odHRwLWF1dGguaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMTIsNyArMTIsNyBAQCBzdGF0ZSA9ICJ3YXJtdXAiOwogZnVuY3Rpb24gY2xlYXJDcmVk
ZW50aWFsU3RvcmFnZSgpCiB7CiAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Ci0gICAg
eGhyLm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvcmVzb3VyY2Utd2l0aC1hdXRoLnBocD9vdGhlciIs
IGZhbHNlLCAiYmFkVXNlcm5hbWUiLCAiYmFkUGFzc3dvcmQiKTsKKyAgICB4aHIub3BlbigiR0VU
IiwgInJlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucHk/b3RoZXIiLCBmYWxzZSwgImJhZFVz
ZXJuYW1lIiwgImJhZFBhc3N3b3JkIik7CiAgICAgeGhyLnNlbmQoKTsKICAgICBzaG91bGRCZSgi
eGhyLnN0YXR1cyIsICI0MDEiKTsKIH0KQEAgLTM1LDcgKzM1LDcgQEAgZnVuY3Rpb24gZnJhbWVM
b2FkZWQoKQogICAgICAgICAvLyBOYXZpZ2F0ZSBmcmFtZSB0byBpdHMgb3JpZ2luYWwgbG9jYXRp
b24gYWdhaW4uIFRoaXMgdGltZSBpdCBzaG91bGQgc3BlY3VsYXRpdmVseQogICAgICAgICAvLyB2
YWxpZGF0ZSBzdWJyZXNvdXJjZXMgYXMgd2UgaGF2ZSBzdWJyZXNvdXJjZSBsb2FkcyBtZXRhZGF0
YSBpbiB0aGUgZGlzayBjYWNoZS4KICAgICAgICAgc3RhdGUgPSAic3BlY3VsYXRpdmVSZXZhbGlk
YXRpb24iOwotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdEZyYW1lIikuc3Jj
ID0gInJlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRpY2F0ZWQtcmVzb3VyY2UucGhwIjsKKyAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RGcmFtZSIpLnNyYyA9ICJyZXNvdXJj
ZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnB5IjsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KICAgICBpZiAoc3RhdGUgPT0gInNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uIikgewpA
QCAtNDcsNSArNDcsNSBAQCBmdW5jdGlvbiBmcmFtZUxvYWRlZCgpCiB9CiAKIDwvc2NyaXB0Pgot
PGlmcmFtZSBpZD0idGVzdEZyYW1lIiBzcmM9InJlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRp
Y2F0ZWQtcmVzb3VyY2UucGhwIiBvbmxvYWQ9ImZyYW1lTG9hZGVkKCkiPjwvaWZyYW1lPgorPGlm
cmFtZSBpZD0idGVzdEZyYW1lIiBzcmM9InJlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRpY2F0
ZWQtcmVzb3VyY2UucHkiIG9ubG9hZD0iZnJhbWVMb2FkZWQoKSI+PC9pZnJhbWU+CiA8c2NyaXB0
IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFs
aWRhdGlvbi92YWxpZGF0aW9uLXJlcXVlc3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi92YWxp
ZGF0aW9uLXJlcXVlc3QuaHRtbAkocmV2aXNpb24gMjc0Mjc4KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vdmFsaWRhdGlv
bi1yZXF1ZXN0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAgZnVuY3Rpb24g
ZnJhbWVMb2FkZWQoKQogICAgICAgICAvLyBOYXZpZ2F0ZSBmcmFtZSB0byBpdHMgb3JpZ2luYWwg
bG9jYXRpb24gYWdhaW4uIFRoaXMgdGltZSBpdCBzaG91bGQgc3BlY3VsYXRpdmVseQogICAgICAg
ICAvLyB2YWxpZGF0ZSBzdWJyZXNvdXJjZXMgYXMgd2UgaGF2ZSBzdWJyZXNvdXJjZSBsb2FkcyBt
ZXRhZGF0YSBpbiB0aGUgZGlzayBjYWNoZS4KICAgICAgICAgc3RhdGUgPSAic3BlY3VsYXRpdmVS
ZXZhbGlkYXRpb24iOwotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdEZyYW1l
Iikuc3JjID0gInJlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucGhwIjsKKyAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RGcmFtZSIpLnNyYyA9ICJyZXNvdXJjZXMv
dmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1lLnB5IjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAg
ICBpZiAoc3RhdGUgPT0gInNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uIikgewpAQCAtNTAsNSArNTAs
NSBAQCBmdW5jdGlvbiBmcmFtZUxvYWRlZCgpCiB9CiAKIDwvc2NyaXB0PgotPGlmcmFtZSBpZD0i
dGVzdEZyYW1lIiBzcmM9InJlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucGhwIiBv
bmxvYWQ9ImZyYW1lTG9hZGVkKCkiPjwvaWZyYW1lPgorPGlmcmFtZSBpZD0idGVzdEZyYW1lIiBz
cmM9InJlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucHkiIG9ubG9hZD0iZnJhbWVM
b2FkZWQoKSI+PC9pZnJhbWU+CiA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY2FjaGVhYmxlLXJl
ZGlyZWN0LWZyYW1lLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY2FjaGVhYmxl
LXJlZGlyZWN0LWZyYW1lLnBocAkocmV2aXNpb24gMjc0Mjc4KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2Vz
L2NhY2hlYWJsZS1yZWRpcmVjdC1mcmFtZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNyArMCww
IEBACi08P3BocAotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbCcpOwotaGVhZGVyKCdD
YWNoZS1Db250cm9sOiBtYXgtYWdlPTAnKTsKLWhlYWRlcignRXRhZzogMTIzNDU2Nzg5Jyk7Ci0K
LT8+Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hl
ZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJyZWRpcmVjdC10by1jc3MucGhwIj4KLTwvaGVhZD4K
LTxib2R5PgotPGRpdiBpZD0idGVzdERpdiIgY2xhc3M9InRlc3RDbGFzcyI+Ci1URVNUCi08L2Rp
dj4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jYWNoZWFibGUtcmVk
aXJlY3QtZnJhbWUucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2NhY2hlYWJsZS1y
ZWRpcmVjdC1mcmFtZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY2FjaGVh
YmxlLXJlZGlyZWN0LWZyYW1lLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKKyMh
L3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IHN5cworCitzeXMuc3Rkb3V0LndyaXRlKAor
ICAgICdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTBcclxuJworICAgICdFdGFnOiAxMjM0NTY3ODlc
clxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworICAgICc8IURPQ1RZ
UEUgaHRtbD5cbicKKyAgICAnPGh0bWw+XG4nCisgICAgJzxoZWFkPlxuJworICAgICc8bGluayBy
ZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJyZWRpcmVjdC10by1jc3MucHki
PlxuJworICAgICc8L2hlYWQ+XG4nCisgICAgJzxib2R5PlxuJworICAgICc8ZGl2IGlkPSJ0ZXN0
RGl2IiBjbGFzcz0idGVzdENsYXNzIj5cbicKKyAgICAnVEVTVFxuJworICAgICc8L2Rpdj5cbicK
KyAgICAnPC9ib2R5PlxuJworICAgICc8L2h0bWw+XG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2NhY2hlYWJsZS1y
ZWRpcmVjdC1mcmFtZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCww
ICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jl
c291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3Vy
Y2VzL2Nzcy10by1yZXZhbGlkYXRlLnBocAkocmV2aXNpb24gMjc0Mjc4KQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVz
b3VyY2VzL2Nzcy10by1yZXZhbGlkYXRlLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDE3ICswLDAg
QEAKLTw/cGhwCi1pZiAoJF9TRVJWRVJbIkhUVFBfSUZfTk9ORV9NQVRDSCJdID09ICJmb28iKSB7
Ci0gICAgaGVhZGVyKCJIVFRQLzEuMSAzMDQgTm90IE1vZGlmaWVkIik7Ci0gICAgaGVhZGVyKCJF
VGFnOiBmb28iKTsKLSAgICByZXR1cm47Ci19Ci0KLWhlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0
L2NzcyIpOwotaGVhZGVyKCJFVGFnOiBmb28iKTsKLWhlYWRlcigiQ2FjaGUtQ29udHJvbDogbWF4
LWFnZT0wIik7Ci0KLT8+Ci0KLS50ZXN0Q2xhc3MKLXsKLSAgICBjb2xvcjogZ3JlZW47Ci19Cklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUt
dmFsaWRhdGlvbi9yZXNvdXJjZXMvY3NzLXRvLXJldmFsaWRhdGUucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlk
YXRpb24vcmVzb3VyY2VzL2Nzcy10by1yZXZhbGlkYXRlLnB5CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0
aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDIzIEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5
cworCittYXRjaCA9IG9zLmVudmlyb24uZ2V0KCdIVFRQX0lGX05PTkVfTUFUQ0gnLCAnJykKK2lm
IG1hdGNoID09ICdmb28nOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICdzdGF0dXM6
IDMwNFxyXG4nCisgICAgICAgICdFVGFnOiBmb29cclxuJworICAgICAgICAnQ29udGVudC1UeXBl
OiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICApCisgICAgc3lzLmV4aXQoMCkKKworc3lzLnN0ZG91
dC53cml0ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2Nzc1xyXG4nCisgICAgJ0VUYWc6IGZv
b1xyXG4nCisgICAgJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MFxyXG5cclxuJworICAgICcudGVz
dENsYXNzXG4nCisgICAgJ3tcbicKKyAgICAnICAgIGNvbG9yOiBncmVlbjtcbicKKyAgICAnfVxu
JworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0
aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5weQpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxh
dGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRpY2F0ZWQtcmVzb3Vy
Y2UucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRp
Y2F0ZWQtcmVzb3VyY2UucGhwCShyZXZpc2lvbiAyNzQyNzgpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMv
ZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnBocAkobm9uZXhpc3RlbnQpCkBAIC0x
LDEwICswLDAgQEAKLTw/cGhwCi1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sJyk7Ci1o
ZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MCcpOwotaGVhZGVyKCdFdGFnOiAxMjM0NTY3
ODknKTsKLQotPz4KLTwhRE9DVFlQRSBodG1sPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0icmVzb3Vy
Y2Utd2l0aC1hdXRoLnBocCI+PC9zY3JpcHQ+Ci08L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJj
ZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnB5Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0
aW9uL3Jlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRpY2F0ZWQtcmVzb3VyY2UucHkJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1
bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2ZyYW1lLXdpdGgtYXV0aGVudGljYXRlZC1yZXNv
dXJjZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACisjIS91c3IvYmluL2VudiBw
eXRob24zCisKK2ltcG9ydCBzeXMKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ2FjaGUtQ29u
dHJvbDogbWF4LWFnZT0wXHJcbicKKyAgICAnRXRhZzogMTIzNDU2Nzg5XHJcbicKKyAgICAnQ29u
dGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICAnPCFET0NUWVBFIGh0bWw+XG4nCisg
ICAgJzxib2R5PlxuJworICAgICc8c2NyaXB0IHNyYz0icmVzb3VyY2Utd2l0aC1hdXRoLnB5Ij48
L3NjcmlwdD5cbicKKyAgICAnPC9ib2R5PlxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9mcmFtZS13aXRoLWF1dGhl
bnRpY2F0ZWQtcmVzb3VyY2UucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMg
LTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlv
bi9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tY3NzLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNv
dXJjZXMvcmVkaXJlY3QtdG8tY3NzLnBocAkocmV2aXNpb24gMjc0Mjc4KQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVz
b3VyY2VzL3JlZGlyZWN0LXRvLWNzcy5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw2ICswLDAgQEAK
LTw/cGhwCi1oZWFkZXIoJ0hUVFAvMS4xIDMwMiBGb3VuZCcpOwotaGVhZGVyKCdMb2NhdGlvbjog
L2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY3NzLXRv
LXJldmFsaWRhdGUucGhwJyk7Ci1oZWFkZXIoJ0V4cGlyZXM6IFRodSwgMDEgRGVjIDIwMDMgMTY6
MDA6MDAgR01UJyk7Ci1oZWFkZXIoJ0VUYWc6IGZvbycpOwotPz4KSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291
cmNlcy9yZWRpcmVjdC10by1jc3MucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3Jl
ZGlyZWN0LXRvLWNzcy5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVkaXJl
Y3QtdG8tY3NzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTEgQEAKKyMhL3Vzci9iaW4v
ZW52IHB5dGhvbjMKKworaW1wb3J0IHN5cworCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdzdGF0
dXM6IDMwMlxyXG4nCisgICAgJ0xvY2F0aW9uOiAvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2
ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5weVxyXG4nCisgICAgJ0V4
cGlyZXM6IFRodSwgMDEgRGVjIDIwMDMgMTY6MDA6MDAgR01UXHJcbicKKyAgICAnRVRhZzogZm9v
XHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKykKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMv
cmVkaXJlY3QtdG8tY3NzLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0w
LDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24v
cmVzb3VyY2VzL3Jlc291cmNlLXdpdGgtYXV0aC5waHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVz
b3VyY2VzL3Jlc291cmNlLXdpdGgtYXV0aC5waHAJKHJldmlzaW9uIDI3NDI3OCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9u
L3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucGhwCShub25leGlzdGVudCkKQEAgLTEsMTgg
KzAsMCBAQAotPD9waHAKLSRleHBlY3RlZFVzZXJuYW1lID0gJ3Rlc3RVc2VybmFtZSc7Ci0kZXhw
ZWN0ZWRQYXNzd29yZCA9ICd0ZXN0UGFzc3dvcmQnOwotJHJlYWxtID0gJF9TRVJWRVJbJ1JFUVVF
U1RfVVJJJ107Ci0KLWhlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQnKTsKLWhl
YWRlcignQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0wJyk7Ci1oZWFkZXIoJ0V0YWc6IDEyMzQ1Njc4
OScpOwotCi1pZiAoIWlzc2V0KCRfU0VSVkVSWydQSFBfQVVUSF9VU0VSJ10pIHx8ICRfU0VSVkVS
WydQSFBfQVVUSF9VU0VSJ10gIT0gJGV4cGVjdGVkVXNlcm5hbWUgfHwKLSAgICAhaXNzZXQoJF9T
RVJWRVJbJ1BIUF9BVVRIX1BXJ10pIHx8ICRfU0VSVkVSWydQSFBfQVVUSF9QVyddICE9ICRleHBl
Y3RlZFBhc3N3b3JkKSB7Ci0gICAgaGVhZGVyKCJXV1ctQXV0aGVudGljYXRlOiBCYXNpYyByZWFs
bT1cIiIgLiAkcmVhbG0gLiAiXCIiKTsKLSAgICBoZWFkZXIoJ0hUVFAvMS4wIDQwMSBVbmF1dGhv
cml6ZWQnKTsKLSAgICBwcmludCAnU2VudCB1c2VybmFtZTpwYXNzd29yZCBvZiAoJyAuICRfU0VS
VkVSWydQSFBfQVVUSF9VU0VSJ10gLiAnOicgLiAkX1NFUlZFUlsnUEhQX0FVVEhfUFcnXSAuICcp
IHdoaWNoIGlzIG5vdCB3aGF0IHdhcyBleHBlY3RlZCc7Ci0gICAgZXhpdDsKLX0KLT8+Ci1sb2Fk
ZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hl
L3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3Jlc291cmNlLXdpdGgtYXV0aC5weQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3Bl
Y3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVzb3VyY2Utd2l0aC1hdXRoLnB5CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVj
dWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucHkJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwyOSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBv
cnQgYmFzZTY0CitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworY3JlZGVudGlhbHMgPSBiYXNlNjQu
YjY0ZGVjb2RlKG9zLmVudmlyb24uZ2V0KCdIVFRQX0FVVEhPUklaQVRJT04nLCAnIE9nPT0nKS5z
cGxpdCgnICcpWzFdKS5kZWNvZGUoKS5zcGxpdCgnOicpCit1c2VybmFtZSA9IGNyZWRlbnRpYWxz
WzBdCitwYXNzd29yZCA9ICc6Jy5qb2luKGNyZWRlbnRpYWxzWzE6XSkKKworZXhwZWN0ZWRVc2Vy
bmFtZSA9ICd0ZXN0VXNlcm5hbWUnCitleHBlY3RlZFBhc3N3b3JkID0gJ3Rlc3RQYXNzd29yZCcK
K3JlYWxtID0gb3MuZW52aXJvbi5nZXQoJ1JFUVVFU1RfVVJJJywgJycpCisKK3N5cy5zdGRvdXQu
d3JpdGUoCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0XHJcbicKKyAgICAnQ2Fj
aGUtQ29udHJvbDogbWF4LWFnZT0wXHJcbicKKyAgICAnRXRhZzogMTIzNDU2Nzg5XHJcbicKKykK
KworaWYgdXNlcm5hbWUgIT0gZXhwZWN0ZWRVc2VybmFtZSBvciBwYXNzd29yZCAhPSBleHBlY3Rl
ZFBhc3N3b3JkOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgIGYnV1dXLUF1dGhlbnRp
Y2F0ZTogQmFzaWMgcmVhbG09IntyZWFsbX0iXHJcbicKKyAgICAgICAgJ3N0YXR1czogNDAxXHJc
blxyXG4nCisgICAgICAgIGYnU2VudCB1c2VybmFtZTpwYXNzd29yZCBvZiAoe3VzZXJuYW1lfTp7
cGFzc3dvcmR9KSB3aGljaCBpcyBub3Qgd2hhdCB3YXMgZXhwZWN0ZWRcbicKKyAgICApCisgICAg
c3lzLmV4aXQoMCkKKworc3lzLnN0ZG91dC53cml0ZSgnXHJcbmxvYWRlZCA9IHRydWU7XG4nKQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jl
c291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1
dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUt
dmFsaWRhdGlvbi9yZXNvdXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1lLnBocAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRp
dmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1lLnBocAkocmV2
aXNpb24gMjc0Mjc4KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hl
L3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFt
ZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNiArMCwwIEBACi08P3BocAotaGVhZGVyKCdDb250
ZW50LVR5cGU6IHRleHQvaHRtbCcpOwotaGVhZGVyKCdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTAn
KTsKLWhlYWRlcignRXRhZzogMTIzNDU2Nzg5Jyk7Ci0kY29va2llID0gInNwZWN1bGF0aXZlUmVx
dWVzdFZhbGlkYXRpb249IiAuIHVuaXFpZCgpOwotaGVhZGVyKCdTZXQtQ29va2llOiAnIC4gJGNv
b2tpZSk7Ci0/PgotPCFET0NUWVBFIGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSJyZXF1ZXN0
LWhlYWRlcnMtc2NyaXB0LnBocCI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotPD9waHAKLWVjaG8gInNl
bnRTZXRDb29raWVIZWFkZXIgPSAnIiAuICRjb29raWUgLiAiJzsiOwotPz4KLTwvc2NyaXB0Pgot
PC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Nw
ZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFtZS5w
eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUv
c3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1l
LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3Qt
ZnJhbWUucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorIyEvdXNyL2Jpbi9lbnYg
cHl0aG9uMworCitpbXBvcnQgc3lzCitmcm9tIHV1aWQgaW1wb3J0IHV1aWQxCisKK2Nvb2tpZSA9
IGYnc3BlY3VsYXRpdmVSZXF1ZXN0VmFsaWRhdGlvbj17dXVpZDEoKX0nCisKK3N5cy5zdGRvdXQu
d3JpdGUoCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcbicKKyAgICAnQ2FjaGUtQ29u
dHJvbDogbWF4LWFnZT0wXHJcbicKKyAgICAnRXRhZzogMTIzNDU2Nzg5XHJcbicKKyAgICBmJ1Nl
dC1Db29raWU6IHtjb29raWV9XHJcblxyXG4nCisgICAgJzwhRE9DVFlQRSBodG1sPlxuJworICAg
ICc8Ym9keT5cbicKKyAgICAnPHNjcmlwdCBzcmM9InJlcXVlc3QtaGVhZGVycy1zY3JpcHQucGhw
Ij48L3NjcmlwdD5cbicKKyAgICAnPHNjcmlwdD5cbicKKyAgICBmJ3NlbnRTZXRDb29raWVIZWFk
ZXIgPSBcJ3tjb29raWV9XCc7XG4nCisgICAgJzwvc2NyaXB0PlxuJworICAgICc8L2JvZHk+XG4n
CispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRp
b24vcmVzb3VyY2VzL3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFtZS5weQpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2Jv
ZHkucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL2JvZHkucGhwCShyZXZpc2lvbiAyNzQyNzgpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9ib2R5LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAot
PD9waHAKLWhlYWRlcignRXRhZzogMTIzNDU2Nzg5Jyk7Ci1lY2hvIGZpbGVfZ2V0X2NvbnRlbnRz
KCdwaHA6Ly9pbnB1dCcpOwotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL2JvZHkucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvYm9keS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9ib2R5LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MTEgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IHN5cworCitkYXRhID0gJycu
am9pbihzeXMuc3RkaW4ucmVhZGxpbmVzKCkpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0V0
YWc6IDEyMzQ1Njc4OVxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4n
CisgICAgZid7ZGF0YX0nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvYm9keS5w
eQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1pZnJhbWUucGhwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1pZnJhbWUucGhwCShy
ZXZpc2lvbiAyNzQyNzgpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9jYWNoZWFibGUtaWZyYW1lLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDExICswLDAgQEAKLTw/
cGhwCi1yZXF1aXJlX29uY2UgJy4uLy4uL3Jlc291cmNlcy9wb3J0YWJpbGl0eUxheWVyLnBocCc7
Ci0KLSRtYXhfYWdlID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MDsgLy9vbmUgeWVhcgotJGV4cGly
ZXMgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgKyAkbWF4X2FnZSk7Ci0KLWhlYWRlcign
Q2FjaGUtQ29udHJvbDogcHVibGljLCBtYXgtYWdlPScgLiAkbWF4X2FnZSk7Ci1oZWFkZXIoJ0V4
cGlyZXM6ICcgLiAkZXhwaXJlcyk7Ci1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sJyk7
Ci1leGl0KCk7Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvY2FjaGVhYmxlLWlmcmFtZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnB5CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1pZnJhbWUu
cHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9u
MworCitpbXBvcnQgc3lzCisKK21heF9hZ2UgPSAxMiAqIDMxICogMjQgKiA2MCAqIDYwCitleHBp
cmVzID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1lLnV0Y25vdygpICsgdGltZWRlbHRhKHNl
Y29uZHM9bWF4X2FnZSkpLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06JVMnKSkKKworc3lz
LnN0ZG91dC53cml0ZSgKKyAgICBmJ0NhY2hlLUNvbnRyb2w6IHB1YmxpYywgbWF4LWFnZT17bWF4
X2FnZX1cclxuJworICAgIGYnRXhwaXJlczoge2V4cGlyZXN9XHJcbicKKyAgICAnQ29udGVudC1U
eXBlOiB0ZXh0L2h0bWxcclxuJworKQorc3lzLmV4aXQoMCkKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVj
dXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLXJh
bmRvbS10ZXh0LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRleHQucGhwCShyZXZpc2lvbiAyNzQyNzgpCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9t
LXRleHQucGhwCShub25leGlzdGVudCkKQEAgLTEsMTQgKzAsMCBAQAotPD9waHAKLSAgICAkbWF4
X2FnZSA9IDEyICogMzEgKiAyNCAqIDYwICogNjA7IC8vb25lIHllYXIKLSAgICBoZWFkZXIoJ0Nh
Y2hlLUNvbnRyb2w6IHB1YmxpYywgbWF4LWFnZT0nIC4gJG1heF9hZ2UpOwotICAgIGhlYWRlcign
Q29udGVudC1UeXBlOiB0ZXh0L2h0bWwnKTsKLQotICAgICRpZCA9ICRHRVRbJ2lkJ107Ci0gICAg
aWYgKCFpc3NldCgkR0VUWydyYW5kb21faWQnXSkpIHsKLSAgICAgICAgJGlkID0gJyc7Ci0gICAg
ICAgICRjaGFyc2V0ID0gJ0FCQ0RFRkdISUtMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5JzsKLSAg
ICAgICAgZm9yICgkaSA9IDA7ICRpIDwgMTY7ICRpKyspCi0gICAgICAgICAgICAkaWQgLj0gJGNo
YXJzZXRbcmFuZCgwLCBzdHJsZW4oJGNoYXJzZXQpIC0gMSldOwotICAgIH0KLSAgICBlY2hvICc8
aHRtbD48Ym9keT5Tb21lIHJhbmRvbSB0ZXh0JyAuICRpZCAuICAnPC9obWw+PC9ib2R5Pic7Ci0/
PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxl
LXJhbmRvbS10ZXh0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5weQkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRl
eHQucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0
aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zyb20gcmFuZG9tIGltcG9ydCByYW5kaW50
Citmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMKKworcXVlcnkgPSBwYXJzZV9xcyhv
cy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVl
KQoraWRlbnQgPSBxdWVyeS5nZXQoJ2lkJywgWycnXSlbMF0KKworbWF4X2FnZSA9IDEyICogMzEg
KiAyNCAqIDYwICogNjAKK3JhbmRvbV9pZGVudCA9IFRydWUgaWYgcXVlcnkuZ2V0KCdyYW5kb21f
aWQnLCBbTm9uZV0pWzBdIGlzIG5vdCBOb25lIGVsc2UgRmFsc2UKKworc3lzLnN0ZG91dC53cml0
ZSgKKyAgICBmJ0NhY2hlLUNvbnRyb2w6IHB1YmxpYywgbWF4LWFnZT17bWF4X2FnZX1cclxuJwor
ICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworKQorCitpZiBub3QgcmFuZG9t
X2lkZW50OgorICAgIGlkZW50ID0gJycKKyAgICBjaGFyc2V0ID0gJ0FCQ0RFRkdISUtMTU5PUFFS
U1RVVldYWVowMTIzNDU2Nzg5JworICAgIGZvciBpIGluIHJhbmdlKDAsIDE2KToKKyAgICAgICAg
aWRlbnQgKz0gY2hhcnNldFtyYW5kaW50KDAsIGxlbihjaGFyc2V0KSAtIDEpXQorCitzeXMuc3Rk
b3V0LndyaXRlKGYnPGh0bWw+PGJvZHk+U29tZSByYW5kb20gdGV4dHtpZGVudH08L2htbD48L2Jv
ZHk+JykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRl
eHQucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucGhwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAJKHJldmlzaW9uIDI3
NDI3OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMw
NC5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMSArMCwwIEBACi08P3BocA0KLXJlcXVpcmVfb25j
ZSAnLi4vLi4vcmVzb3VyY2VzL3BvcnRhYmlsaXR5TGF5ZXIucGhwJzsNCi0NCi1jbGVhcnN0YXRj
YWNoZSgpOw0KLQ0KLWlmICgkX1NFUlZFUlsiSFRUUF9JRl9NT0RJRklFRF9TSU5DRSJdKSB7DQot
ICAgIGhlYWRlcigiSFRUUC8xLjEgMzA0IE5vdCBNb2RpZmllZCIpOw0KLSAgICBleGl0KCk7DQot
fQ0KLSRvbmVfeWVhciA9IDEyICogMzEgKiAyNCAqIDYwICogNjA7DQotJGxhc3RfbW9kaWZpZWQg
PSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgLSAkb25lX3llYXIpOw0KLSRleHBpcmVzID0g
Z21kYXRlKERBVEVfUkZDMTEyMywgdGltZSgpICsgJG9uZV95ZWFyKTsNCi0NCi1oZWFkZXIoJ0Nh
Y2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBtYXgtYWdlPScgLiAkb25lX3llYXIpOw0KLWhlYWRlcign
RXhwaXJlczogJyAuICRleHBpcmVzKTsNCi1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1s
Jyk7DQotaGVhZGVyKCdDb250ZW50LUxlbmd0aDogMCcpOw0KLWhlYWRlcignRXRhZzogMTIzNDU2
Nzg5Jyk7DQotaGVhZGVyKCdMYXN0LU1vZGlmaWVkOiAnIC4gJGxhc3RfbW9kaWZpZWQpOw0KLWV4
aXQoKTsNCi0/Pg0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L2lmcmFtZTMwNC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9pZnJhbWUzMDQucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMjcgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQg
c3lzCitmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZSwgdGltZWRlbHRhCisKK21vZGlmaWVk
X3NpbmNlID0gb3MuZW52aXJvbi5nZXQoJ0hUVFBfSUZfTU9ESUZJRURfU0lOQ0UnLCAnJykKKwor
c3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJykKKworaWYgbW9k
aWZpZWRfc2luY2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgnc3RhdHVzOiAzMDRcclxuXHJcbicp
CisgICAgc3lzLmV4aXQoMCkKKworb25lX3llYXIgPSAxMiAqIDMxICogMjQgKiA2MCAqIDYwCits
YXN0X21vZGlmaWVkID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1lLnV0Y25vdygpIC0gdGlt
ZWRlbHRhKHNlY29uZHM9b25lX3llYXIpKS5zdHJmdGltZSgnJWEsICVkICViICVZICVIOiVNOiVT
JykpCitleHBpcmVzID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1lLnV0Y25vdygpICsgdGlt
ZWRlbHRhKHNlY29uZHM9b25lX3llYXIpKS5zdHJmdGltZSgnJWEsICVkICViICVZICVIOiVNOiVT
JykpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgZidDYWNoZS1Db250cm9sOiBuby1jYWNoZSwg
bWF4LWFnZT17b25lX3llYXJ9XHJcbicKKyAgICBmJ0V4cGlyZXM6IHtleHBpcmVzfVxyXG4nCisg
ICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcbicKKyAgICAnQ29udGVudC1MZW5ndGg6IDBc
clxuJworICAgICdFdGFnOiAxMjM0NTY3ODlcclxuJworICAgIGYnTGFzdC1Nb2RpZmllZDoge2xh
c3RfbW9kaWZpZWR9XHJcbicKKykKK3N5cy5leGl0KDApClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9y
ZXNvdXJjZXMvaWZyYW1lMzA0LnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMj
IC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0Ym9keS5waHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1l
MzA0Ym9keS5waHAJKHJldmlzaW9uIDI3NDI3OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNGJvZHkucGhwCShub25leGlzdGVudCkKQEAgLTEsMTQg
KzAsMCBAQAotPD9waHANCi1yZXF1aXJlX29uY2UgJy4uLy4uL3Jlc291cmNlcy9wb3J0YWJpbGl0
eUxheWVyLnBocCc7DQotDQotY2xlYXJzdGF0Y2FjaGUoKTsNCi0NCi1pZiAoJF9TRVJWRVJbIkhU
VFBfSUZfTU9ESUZJRURfU0lOQ0UiXSkgew0KLSAgICBoZWFkZXIoIkhUVFAvMS4xIDMwNCBOb3Qg
TW9kaWZpZWQiKTsNCi0gICAgZXhpdCgpOw0KLX0NCi1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG5v
LWNhY2hlJyk7DQotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbCcpOw0KLWhlYWRlcign
RXRhZzogMTIzNDU2Nzg5Jyk7DQotPz4NCi1ib2R5IHRleHQKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJh
bWUzMDRib2R5LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL2lmcmFtZTMwNGJvZHkucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0Ym9keS5weQkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDE4IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcwor
aW1wb3J0IHN5cworCittb2RpZmllZF9zaW5jZSA9IG9zLmVudmlyb24uZ2V0KCdIVFRQX0lGX01P
RElGSUVEX1NJTkNFJywgJycpCisKK3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQtVHlwZTogdGV4
dC9odG1sXHJcbicpCisKK2lmIG1vZGlmaWVkX3NpbmNlOgorICAgIHN5cy5zdGRvdXQud3JpdGUo
J3N0YXR1czogMzA0XHJcblxyXG4nKQorICAgIHN5cy5leGl0KDApCisKK3N5cy5zdGRvdXQud3Jp
dGUoCisgICAgJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlXHJcbicKKyAgICAnRXRhZzogMTIzNDU2
Nzg5XHJcblxyXG4nCisgICAgJ2JvZHkgdGV4dCcKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9pZnJhbWUzMDRib2R5LnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxl
CiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNv
dXJjZS1uZXh0LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLW5leHQucGhwCShyZXZpc2lvbiAyNzQy
NzgpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1t
YWluLXJlc291cmNlLW5leHQucGhwCShub25leGlzdGVudCkKQEAgLTEsMTEgKzAsMCBAQAotPD9w
aHAKLWhlYWRlcigiQ2FjaGUtY29udHJvbDogbm8tY2FjaGUsIG1heC1hZ2U9MCIpOwotaGVhZGVy
KCJMYXN0LU1vZGlmaWVkOiBUaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIEdNVCIpOwotaGVhZGVy
KCdDb250ZW50LVR5cGU6IHRleHQvaHRtbCcpOwotCi1wcmludCAiPHNjcmlwdD5cbiI7Ci1wcmlu
dCAidmFyIHJhbmRvbU51bWJlciA9ICIgLiByYW5kKCkgLiAiO1xuIjsKLT8+Ci0KLW9wZW5lci5w
b3N0TWVzc2FnZShyYW5kb21OdW1iZXIsICcqJyk7Ci08L3NjcmlwdD4KSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4
dC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9uby1jYWNoZS1tYWluLXJlc291cmNlLW5leHQucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS1u
ZXh0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQgQEAKKyMhL3Vzci9iaW4vZW52IHB5
dGhvbjMKKworaW1wb3J0IHN5cworZnJvbSByYW5kb20gaW1wb3J0IHJhbmRpbnQKKworc3lzLnN0
ZG91dC53cml0ZSgKKyAgICAnQ2FjaGUtY29udHJvbDogbm8tY2FjaGUsIG1heC1hZ2U9MFxyXG4n
CisgICAgJ0xhc3QtTW9kaWZpZWQ6IFRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UXHJcbicK
KyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICAnPHNjcmlwdD5cbicK
KyAgICBmJ3ZhciByYW5kb21OdW1iZXIgPSB7cmFuZGludCgwLCBzeXMubWF4c2l6ZSl9O1xuJwor
ICAgICdvcGVuZXIucG9zdE1lc3NhZ2UocmFuZG9tTnVtYmVyLCBcJypcJyk7XG4nCisgICAgJzwv
c2NyaXB0PlxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1h
aW4tcmVzb3VyY2UtbmV4dC5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAt
MCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2Uu
cGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L25vLWNhY2hlLW1haW4tcmVzb3VyY2UucGhwCShyZXZpc2lvbiAyNzQyNzgpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnBo
cAkobm9uZXhpc3RlbnQpCkBAIC0xLDM0ICswLDAgQEAKLTw/cGhwCi1oZWFkZXIoIkNhY2hlLWNv
bnRyb2w6IG5vLWNhY2hlLCBtYXgtYWdlPTAiKTsKLWhlYWRlcigiTGFzdC1Nb2RpZmllZDogVGh1
LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHTVQiKTsKLWhlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0
L2h0bWwnKTsKLQotcHJpbnQgIjxzY3JpcHQ+XG4iOwotcHJpbnQgInZhciByYW5kb21OdW1iZXIg
PSAiIC4gcmFuZCgpIC4gIjtcbiI7Ci0/PgotCi1vcGVuZXIucG9zdE1lc3NhZ2UocmFuZG9tTnVt
YmVyLCAnKicpOwotCi0vLyBPdXIgb3BlbmVyIHdpbGwgdGVsbCB1cyB0byBwZXJmb3JtIHZhcmlv
dXMgbG9hZHMuCi13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uKGV2
ZW50KSB7Ci0KLSAgICAvLyBHbyBmb3J3YXJkIGFuZCBiYWNrLgotICAgIGlmIChldmVudC5kYXRh
ID09PSAnZ28tZm9yd2FyZC1hbmQtYmFjaycpIHsKLSAgICAgICAgd2luZG93LmxvY2F0aW9uID0g
J2hpc3RvcnktYmFjay5odG1sJzsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIC8vIFJl
bG9hZC4KLSAgICBpZiAoZXZlbnQuZGF0YSA9PT0gJ3JlbG9hZCcpIHsKLSAgICAgICAgd2luZG93
LmxvY2F0aW9uLnJlbG9hZCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gTm9y
bWFsIG5hdmlnYXRpb24sIG5leHQuCi0gICAgaWYgKGV2ZW50LmRhdGEgPT09ICduZXh0Jykgewot
ICAgICAgICB3aW5kb3cubG9jYXRpb24gPSAnbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS1uZXh0LnBo
cCc7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLX0sIGZhbHNlKTsKLTwvc2NyaXB0PgpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1y
ZXNvdXJjZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnB5CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2Uu
cHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9u
MworCitpbXBvcnQgc3lzCitmcm9tIHJhbmRvbSBpbXBvcnQgcmFuZGludAorCitzeXMuc3Rkb3V0
LndyaXRlKAorICAgICdDYWNoZS1jb250cm9sOiBuby1jYWNoZSwgbWF4LWFnZT0wXHJcbicKKyAg
ICAnTGFzdC1Nb2RpZmllZDogVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHTVRcclxuJworICAg
ICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworICAgICc8c2NyaXB0PlxuJworICAg
IGYndmFyIHJhbmRvbU51bWJlciA9IHtyYW5kaW50KDAsIHN5cy5tYXhzaXplICsgMSl9O1xuJwor
ICAgICdvcGVuZXIucG9zdE1lc3NhZ2UocmFuZG9tTnVtYmVyLCBcJypcJyk7XG4nCisgICAgJ1xu
JworICAgICcvLyBPdXIgb3BlbmVyIHdpbGwgdGVsbCB1cyB0byBwZXJmb3JtIHZhcmlvdXMgbG9h
ZHMuXG4nCisgICAgJ3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwnbWVzc2FnZVwnLCBmdW5jdGlv
bihldmVudCkge1xuJworICAgICdcbicKKyAgICAnICAgIC8vIEdvIGZvcndhcmQgYW5kIGJhY2su
XG4nCisgICAgJyAgICBpZiAoZXZlbnQuZGF0YSA9PT0gXCdnby1mb3J3YXJkLWFuZC1iYWNrXCcp
IHtcbicKKyAgICAnICAgICAgICB3aW5kb3cubG9jYXRpb24gPSBcJ2hpc3RvcnktYmFjay5odG1s
XCc7XG4nCisgICAgJyAgICAgICAgcmV0dXJuO1xuJworICAgICcgICAgfVxuJworICAgICdcbicK
KyAgICAnICAgIC8vIFJlbG9hZC5cbicKKyAgICAnICAgIGlmIChldmVudC5kYXRhID09PSBcJ3Jl
bG9hZFwnKSB7XG4nCisgICAgJyAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuJwor
ICAgICcgICAgICAgIHJldHVybjtcbicKKyAgICAnICAgIH1cbicKKyAgICAnXG4nCisgICAgJyAg
ICAvLyBOb3JtYWwgbmF2aWdhdGlvbiwgbmV4dC5cbicKKyAgICAnICAgIGlmIChldmVudC5kYXRh
ID09PSBcJ25leHRcJykge1xuJworICAgICcgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IFwnbm8t
Y2FjaGUtbWFpbi1yZXNvdXJjZS1uZXh0LnB5XCc7XG4nCisgICAgJyAgICAgICAgcmV0dXJuO1xu
JworICAgICcgICAgfVxuJworICAgICdcbicKKyAgICAnfSwgZmFsc2UpO1xuJworICAgICc8L3Nj
cmlwdD5cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWlu
LXJlc291cmNlLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEg
IyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtd2l0aC12YWxpZGF0aW9uLnBocAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1j
YWNoZS13aXRoLXZhbGlkYXRpb24ucGhwCShyZXZpc2lvbiAyNzQyNzgpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS13aXRoLXZhbGlkYXRpb24ucGhw
CShub25leGlzdGVudCkKQEAgLTEsMTAgKzAsMCBAQAotPD9waHAKLWlmICgkX1NFUlZFUlsiSFRU
UF9JRl9NT0RJRklFRF9TSU5DRSJdKSB7Ci0gICAgaGVhZGVyKCJIVFRQLzEuMCAzMDQgTm90IE1v
ZGlmaWVkIik7Ci0gICAgZXhpdCgpOwotfQotaGVhZGVyKCJDYWNoZS1jb250cm9sOiBuby1jYWNo
ZSIpOwotaGVhZGVyKCJMYXN0LU1vZGlmaWVkOiBUaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIEdN
VCIpOwotaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvcGxhaW4iKTsKLT8+Ci1mb28KSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLXdpdGgtdmFs
aWRhdGlvbi5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9uby1jYWNoZS13aXRoLXZhbGlkYXRpb24ucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtd2l0aC12YWxpZGF0
aW9uLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTggQEAKKyMhL3Vzci9iaW4vZW52IHB5
dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK21vZGlmaWVkX3NpbmNlID0gb3MuZW52
aXJvbi5nZXQoJ0hUVFBfSUZfTU9ESUZJRURfU0lOQ0UnLCAnJykKKworc3lzLnN0ZG91dC53cml0
ZSgnQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluXHJcbicpCisKK2lmIG1vZGlmaWVkX3NpbmNlOgor
ICAgIHN5cy5zdGRvdXQud3JpdGUoJ3N0YXR1czogMzA0XHJcblxyXG4nKQorICAgIHN5cy5leGl0
KDApCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NhY2hlLWNvbnRyb2w6IG5vLWNhY2hlXHJc
bicKKyAgICAnTGFzdC1Nb2RpZmllZDogVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHTVRcclxu
XHJcbicKKyAgICAnZm9vXG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8t
Y2FjaGUtd2l0aC12YWxpZGF0aW9uLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxl
CiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGVybWFuZW50LXJlZGlyZWN0
LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9wZXJtYW5lbnQtcmVkaXJlY3QucGhwCShyZXZpc2lvbiAyNzQyNzgpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucGhwCShub25l
eGlzdGVudCkKQEAgLTEsNiArMCwwIEBACi08PwotJGxvY2F0aW9uID0gJF9HRVRbJ2xvY2F0aW9u
J107Ci0KLWhlYWRlcignSFRUUC8xLjEgMzAxIFBlcm1hbmVudCBSZWRpcmVjdCcpOwotaGVhZGVy
KCdMb2NhdGlvbjonIC4gJGxvY2F0aW9uKTsKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGVybWFuZW50LXJlZGlyZWN0
LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL3Blcm1hbmVudC1yZWRpcmVjdC5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBA
CisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSB1
cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNlX3FzCisKK2xvY2F0aW9uID0gcGFyc2VfcXMob3MuZW52
aXJvbi5nZXQoJ1FVRVJZX1NUUklORycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkuZ2V0
KCdsb2NhdGlvbicsIFsnaW5kZXguaHRtbCddKVswXQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAg
ICdzdGF0dXM6IDMwMVxyXG4nCisgICAgZidMb2NhdGlvbjoge2xvY2F0aW9ufVxyXG4nCisgICAg
J0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvcGVybWFuZW50LXJlZGlyZWN0LnB5Cl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
eGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcG9zdC1pbWFn
ZS10by12ZXJpZnkucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvcG9zdC1pbWFnZS10by12ZXJpZnkucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcG9zdC1pbWFnZS10by12ZXJpZnku
cHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0OCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9u
MworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCB0ZW1wZmlsZQorZnJvbSBkYXRldGlt
ZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0YQorZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBh
cnNlX3FzCisKK2ZpbGUgPSBfX2ZpbGVfXy5zcGxpdCgnOi9jeWd3aW4nKVstMV0KK2h0dHBfcm9v
dCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKG9zLnBh
dGguZGlybmFtZShmaWxlKSkpKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKwordGVz
dCA9IHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAnJyksIGtlZXBfYmxh
bmtfdmFsdWVzPVRydWUpLmdldCgndGVzdCcsIFsnc3RhdGUnXSlbMF0KK3RtcEZpbGVQYXRoID0g
b3MucGF0aC5qb2luKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwgJ3t9X3N0YXRlJy5mb3JtYXQodGVz
dCkpCisKK2lmIG9zLnBhdGguaXNmaWxlKHRtcEZpbGVQYXRoKToKKyAgICBzeXMuc3Rkb3V0Lndy
aXRlKAorICAgICAgICAnc3RhdHVzOiA0MDRcclxuJworICAgICAgICAnQ29udGVudC1UeXBlOiB0
ZXh0L2h0bWxcclxuXHJcbnt9Jy5mb3JtYXQodG1wRmlsZVBhdGgpCisgICAgKQorICAgIHN5cy5l
eGl0KDApCisKK3RtcEZpbGUgPSBvcGVuKHRtcEZpbGVQYXRoLCAndysnKQordG1wRmlsZS5jbG9z
ZSgpCisKK2ZpbGVQYXRoID0gb3MucGF0aC5qb2luKCcvJy5qb2luKF9fZmlsZV9fLnNwbGl0KCcv
JylbMDotMV0pLCAnY29tcGFzcy1uby1jYWNoZS5qcGcnKQorc3RhdCA9IG9zLnN0YXQoZmlsZVBh
dGgpCitmaWxlbXRpbWUgPSBzdGF0LnN0X210aW1lCitmaWxlc2l6ZSA9IHN0YXQuc3Rfc2l6ZQor
CitldGFnID0gJyJ7fS17fSInLmZvcm1hdChmaWxlc2l6ZSwgZmlsZW10aW1lKQorbGFzdF9tb2Rp
ZmllZCA9ICd7fSArMDAwMCcuZm9ybWF0KGRhdGV0aW1lLnV0Y2Zyb210aW1lc3RhbXAoZmlsZW10
aW1lKS5zdHJmdGltZSgnJWEsICVkICViICVZICVIOiVNOiVTJykpCittYXhfYWdlID0gMTIgKiAz
MSAqIDI0ICogNjAgKiA2MAorZXhwaXJlcyA9ICd7fSArMDAwMCcuZm9ybWF0KChkYXRldGltZS51
dGNub3coKSArIHRpbWVkZWx0YShzZWNvbmRzPW1heF9hZ2UpKS5zdHJmdGltZSgnJWEsICVkICVi
ICVZICVIOiVNOiVTJykpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NhY2hlLUNvbnRyb2w6
IHB1YmxpYywgbWF4LWFnZT17fVxyXG4nCisgICAgJ0V4cGlyZXM6IHt9XHJcbicKKyAgICAnQ29u
dGVudC1UeXBlOiBpbWFnZS9wbmdcclxuJworICAgICdDb250ZW50LUxlbmd0aDoge31cclxuJwor
ICAgICdFdGFnOiB7fVxyXG4nCisgICAgJ0xhc3QtTW9kaWZpZWQ6IHt9XHJcblxyXG4nLmZvcm1h
dChtYXhfYWdlLCBleHBpcmVzLCBmaWxlc2l6ZSwgZXRhZywgbGFzdF9tb2RpZmllZCkKKykKKwor
c3lzLnN0ZG91dC5mbHVzaCgpCit3aXRoIG9wZW4oZmlsZVBhdGgsICdyYicpIGFzIGZpbGU6Cisg
ICAgc3lzLnN0ZG91dC5idWZmZXIud3JpdGUoZmlsZS5yZWFkKCkpCitzeXMuZXhpdCgwKQpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnB5Cl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9y
ZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLWlmcmFtZS5waHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWlu
LXJlc291cmNlLWlmcmFtZS5waHAJKHJldmlzaW9uIDI3NDI3OCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUu
cGhwCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPD9waHAKLWlmICgkX1NFUlZFUlsi
SFRUUF9QVVJQT1NFIl0gPT0gInByZWZldGNoIikgewotICAgIGVjaG8gIjxzY3JpcHQ+IjsKLSAg
ICBlY2hvICJwYXJlbnQud2luZG93LnBvc3RNZXNzYWdlKCdGQUlMJywgJyonKTsiOwotICAgIGVj
aG8gIjwvc2NyaXB0PiI7Ci0KLSAgICBleGl0KCk7Ci19Ci0KLWVjaG8gIjxzY3JpcHQ+IjsKLWVj
aG8gInBhcmVudC53aW5kb3cucG9zdE1lc3NhZ2UoJ1BBU1MnLCAnKicpOyI7Ci1lY2hvICI8L3Nj
cmlwdD4iOwotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNl
LWlmcmFtZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnB5CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMjIgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9z
CitpbXBvcnQgc3lzCisKK3B1cnBvc2UgPSBvcy5lbnZpcm9uLmdldCgnSFRUUF9QVVJQT1NFJywg
JycpCisKK3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4n
KQorCitpZiBwdXJwb3NlID09ICdwcmVmZXRjaCc6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAg
ICAgICAgJzxzY3JpcHQ+XG4nCisgICAgICAgICdwYXJlbnQud2luZG93LnBvc3RNZXNzYWdlKFwn
RkFJTFwnLCBcJypcJyk7XG4nCisgICAgICAgICc8L3NjcmlwdD5cbicKKyAgICApCisgICAgc3lz
LmV4aXQoMCkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnPHNjcmlwdD5cbicKKyAgICAncGFy
ZW50LndpbmRvdy5wb3N0TWVzc2FnZShcJ1BBU1NcJywgXCcqXCcpO1xuJworICAgICc8L3Njcmlw
dD5cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4t
cmVzb3VyY2UtaWZyYW1lLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0w
LDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNl
LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UucGhwCShyZXZpc2lvbiAyNzQyNzgpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3Vy
Y2UucGhwCShub25leGlzdGVudCkKQEAgLTEsMjEgKzAsMCBAQAotPD9waHAKLWhlYWRlcignQ2Fj
aGUtQ29udHJvbDogbWF4LWFnZT0zNjAwJyk7Ci0/PgotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxib2R5PgotPHNjcmlwdD4KLQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gIGZldGNoKCdo
dHRwOi8vbG9jYWxob3N0OjgwMDAvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNv
dXJjZS5waHAnKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgaWYgKGludGVybmFscy5m
ZXRjaFJlc3BvbnNlU291cmNlKHJlc3BvbnNlKSAhPSAiRGlzayBjYWNoZSIpIHsKLSAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2cnKS5pbm5lclRleHQgPSAnRkFJTDogcmVzb3VyY2Ug
aXMgbm90IGluIHRoZSBkaXNrIGNhY2hlLic7Ci0gICAgfQotICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwotICB9KTsKLX0KLQotPC9zY3JpcHQ+Ci08ZGl2IGlkPSJsb2ciPjw/cGhwIGlmICgk
X1NFUlZFUlsiSFRUUF9QVVJQT1NFIl0gPT0gInByZWZldGNoIikgZWNobyAnUEFTUyc7IGVsc2Ug
ZWNobyAnRkFJTCc7ID8+PC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UucHkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJl
ZmV0Y2hlZC1tYWluLXJlc291cmNlLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5weQkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDM4IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2lt
cG9ydCBvcworaW1wb3J0IHN5cworCitwdXJwb3NlID0gb3MuZW52aXJvbi5nZXQoJ0hUVFBfUFVS
UE9TRScsICcnKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdDYWNoZS1Db250cm9sOiBtYXgt
YWdlPTM2MDBcclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworICAg
ICc8IURPQ1RZUEUgaHRtbD5cbicKKyAgICAnPGh0bWw+XG4nCisgICAgJzxib2R5PlxuJworICAg
ICc8c2NyaXB0PlxuJworICAgICdcbicKKyAgICAnaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7XG4n
CisgICAgJyAgZmV0Y2goXCdodHRwOi8vbG9jYWxob3N0OjgwMDAvY2FjaGUvcmVzb3VyY2VzL3By
ZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5weVwnKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7XG4n
CisgICAgJyAgICBpZiAoaW50ZXJuYWxzLmZldGNoUmVzcG9uc2VTb3VyY2UocmVzcG9uc2UpICE9
ICJEaXNrIGNhY2hlIikge1xuJworICAgICcgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChc
J2xvZ1wnKS5pbm5lclRleHQgPSBcJ0ZBSUw6IHJlc291cmNlIGlzIG5vdCBpbiB0aGUgZGlzayBj
YWNoZS5cJztcbicKKyAgICAnICAgIH1cbicKKyAgICAnICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpO1xuJworICAgICcgIH0pO1xuJworICAgICd9XG4nCisgICAgJ1xuJworICAgICc8L3Njcmlw
dD5cbicKKyAgICAnPGRpdiBpZD0ibG9nIj4nCispCisKK2lmIHB1cnBvc2UgPT0gJ3ByZWZldGNo
JzoKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdQQVNTJykKK2Vsc2U6CisgICAgc3lzLnN0ZG91dC53
cml0ZSgnRkFJTCcpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJzwvZGl2PlxuJworICAgICc8
L2JvZHk+XG4nCisgICAgJzwvaHRtbD5cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UucHkKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4
ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9yZWxvYWQtbWFp
bi1yZXNvdXJjZS1pZnJhbWUucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL3JlbG9hZC1tYWluLXJlc291cmNlLWlmcmFtZS5waHAJKHJldmlz
aW9uIDI3NDI3OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Jl
bG9hZC1tYWluLXJlc291cmNlLWlmcmFtZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMyArMCww
IEBACi08P3BocAotaWYgKGZpbGVfZXhpc3RzKHN5c19nZXRfdGVtcF9kaXIoKSAuICIvY2FjaGUt
cmVsb2FkLW1haW4tcmVzb3VyY2UudG1wIikpIHsKLSAgICB1bmxpbmsoc3lzX2dldF90ZW1wX2Rp
cigpIC4gIi9jYWNoZS1yZWxvYWQtbWFpbi1yZXNvdXJjZS50bXAiKTsKLSAgICBlY2hvICI8Ym9k
eT4iOwotICAgIGVjaG8gIjxzY3JpcHQ+IjsKLSAgICBlY2hvICJ3aW5kb3cucGFyZW50LmZpbmlz
aCgpOyI7Ci0gICAgZWNobyAiPC9zY3JpcHQ+IjsKLSAgICBlY2hvICI8L2JvZHk+IjsKLSAgICBl
eGl0KCk7Ci19Ci0KLSR0bXBGaWxlID0gZm9wZW4oc3lzX2dldF90ZW1wX2RpcigpIC4gIi9jYWNo
ZS1yZWxvYWQtbWFpbi1yZXNvdXJjZS50bXAiLCAndycpOwotZmNsb3NlKCR0bXBGaWxlKTsKLQot
JG1heF9hZ2UgPSAxMiAqIDMxICogMjQgKiA2MCAqIDYwOyAvL29uZSB5ZWFyCi0kbGFzdF9tb2Rp
ZmllZCA9IGdtZGF0ZShEQVRFX1JGQzExMjMsIHRpbWUoKSArICRtYXhfYWdlKTsKLSRleHBpcmVz
ID0gZ21kYXRlKERBVEVfUkZDMTEyMywgdGltZSgpICsgJG1heF9hZ2UpOwotCi1oZWFkZXIoJ0Nh
Y2hlLUNvbnRyb2w6IHB1YmxpYywgbWF4LWFnZT0nIC4gJG1heF9hZ2UpOwotaGVhZGVyKCdFeHBp
cmVzOiAnIC4gJGV4cGlyZXMpOwotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbCcpOwot
aGVhZGVyKCdMYXN0LU1vZGlmaWVkOiAnIC4gJGxhc3RfbW9kaWZpZWQpOwotPz4KSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3JlbG9hZC1tYWluLXJlc291cmNl
LWlmcmFtZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9yZWxvYWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucHkJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVsb2FkLW1haW4tcmVzb3Vy
Y2UtaWZyYW1lLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzcgQEAKKyMhL3Vzci9iaW4v
ZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgdGVtcGZpbGUKK2Zy
b20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lZGVsdGEKKworZmlsZSA9IF9fZmlsZV9f
LnNwbGl0KCc6L2N5Z3dpbicpWy0xXQoraHR0cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBh
dGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1lKGZpbGUpKSkpCitzeXMu
cGF0aC5pbnNlcnQoMCwgaHR0cF9yb290KQorCitzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5
cGU6IHRleHQvaHRtbFxyXG5cclxuJykKKwordG1wRmlsZSA9IG9zLnBhdGguam9pbih0ZW1wZmls
ZS5nZXR0ZW1wZGlyKCksICdjYWNoZS1yZWxvYWQtbWFpbi1yZXNvdXJjZS50bXAnKQoraWYgb3Mu
cGF0aC5pc2ZpbGUodG1wRmlsZSk6CisgICAgb3MucmVtb3ZlKHRtcEZpbGUpCisgICAgc3lzLnN0
ZG91dC53cml0ZSgKKyAgICAgICAgJzxib2R5PlxuJworICAgICAgICAnPHNjcmlwdD5cbicKKyAg
ICAgICAgJ3dpbmRvdy5wYXJlbnQuZmluaXNoKCk7XG4nCisgICAgICAgICc8L3NjcmlwdD5cbicK
KyAgICAgICAgJzwvYm9keT5cbicKKyAgICApCisgICAgc3lzLmV4aXQoMCkKKworZmlsZSA9IG9w
ZW4odG1wRmlsZSwgJ3crJykKK2ZpbGUuY2xvc2UoKQorCittYXhfYWdlID0gMTIgKiAzMSAqIDI0
ICogNjAgKiA2MAorbGFzdF9tb2RpZmllZCA9ICd7fSArMDAwMCcuZm9ybWF0KChkYXRldGltZS51
dGNub3coKSArIHRpbWVkZWx0YShzZWNvbmRzPW1heF9hZ2UpKS5zdHJmdGltZSgnJWEsICVkICVi
ICVZICVIOiVNOiVTJykpCitleHBpcmVzID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1lLnV0
Y25vdygpICsgdGltZWRlbHRhKHNlY29uZHM9bWF4X2FnZSkpLnN0cmZ0aW1lKCclYSwgJWQgJWIg
JVkgJUg6JU06JVMnKSkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICBmJ0NhY2hlLUNvbnRyb2w6
IHB1YmxpYywgbWF4LWFnZT17bWF4X2FnZX1cclxuJworICAgIGYnRXhwaXJlczoge2V4cGlyZXN9
XHJcbicKKyAgICBmJ0xhc3QtTW9kaWZpZWQ6IHtsYXN0X21vZGlmaWVkfVxyXG5cclxuJworKQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3JlbG9hZC1tYWluLXJlc291cmNlLWlmcmFt
ZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL3Nsb3ctaWZyYW1lLnBocAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zbG93LWlmcmFtZS5waHAJKHJldmlzaW9u
IDI3NDI3OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Nsb3ct
aWZyYW1lLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDUgKzAsMCBAQAotPD9waHAgCi1zbGVlcCgx
KTsKLWhlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L2h0bWwiKTsgCi1lY2hvKCI8c2NyaXB0PmFs
ZXJ0KCdQQVNTIC0gaWZyYW1lIGxvYWRlZCcpOyBpZiAod2luZG93LnRlc3RSdW5uZXIpIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOyA8L3NjcmlwdD4iKTsgCi0/PgpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc2xvdy1pZnJhbWUucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc2xvdy1pZnJhbWUucHkJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc2xv
dy1pZnJhbWUucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMSBAQAorIyEvdXNyL2Jpbi9l
bnYgcHl0aG9uMworCitpbXBvcnQgc3lzCitpbXBvcnQgdGltZQorCit0aW1lLnNsZWVwKDEpCisK
K3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4n
CisgICAgJzxzY3JpcHQ+YWxlcnQoXCdQQVNTIC0gaWZyYW1lIGxvYWRlZFwnKTsgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsgPC9zY3JpcHQ+XG4nCispClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc2xvdy1pZnJhbWUucHkKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9zdHlsZXNoZWV0MzA0LWJhZC1jb250ZW50LXR5cGUucGhwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQtYmFkLWNvbnRl
bnQtdHlwZS5waHAJKHJldmlzaW9uIDI3NDI3OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQtYmFkLWNvbnRlbnQtdHlwZS5waHAJKG5vbmV4
aXN0ZW50KQpAQCAtMSwyMSArMCwwIEBACi08P3BocAotcmVxdWlyZV9vbmNlICcuLi8uLi9yZXNv
dXJjZXMvcG9ydGFiaWxpdHlMYXllci5waHAnOwotCi1jbGVhcnN0YXRjYWNoZSgpOwotCi1pZiAo
JF9TRVJWRVJbIkhUVFBfSUZfTU9ESUZJRURfU0lOQ0UiXSkgewotICAgIGhlYWRlcigiSFRUUC8x
LjAgMzA0IE5vdCBNb2RpZmllZCIpOwotICAgIGhlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L3Bs
YWluIik7Ci0gICAgZXhpdCgpOwotfQotJG9uZV95ZWFyID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2
MDsKLSRsYXN0X21vZGlmaWVkID0gZ21kYXRlKERBVEVfUkZDMTEyMywgdGltZSgpIC0gJG9uZV95
ZWFyKTsKLSRleHBpcmVzID0gZ21kYXRlKERBVEVfUkZDMTEyMywgdGltZSgpICsgJG9uZV95ZWFy
KTsKLQotaGVhZGVyKCdDYWNoZS1Db250cm9sOiBwdWJsaWMsIG1heC1hZ2U9JyAuICRvbmVfeWVh
cik7Ci1oZWFkZXIoJ0V4cGlyZXM6ICcgLiAkZXhwaXJlcyk7Ci1oZWFkZXIoJ0NvbnRlbnQtVHlw
ZTogdGV4dC9jc3MnKTsKLWhlYWRlcignRXRhZzogMTIzNDU2Nzg5Jyk7Ci1oZWFkZXIoJ0xhc3Qt
TW9kaWZpZWQ6ICcgLiAkbGFzdF9tb2RpZmllZCk7Ci0/PgotI3Rlc3QgeyBiYWNrZ3JvdW5kLWNv
bG9yOiByZ2IoMCwgMjU1LCAwKTsgfQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvc3R5bGVzaGVldDMwNC1iYWQtY29udGVudC10eXBlLnB5Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQt
YmFkLWNvbnRlbnQtdHlwZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0MzA0LWJhZC1jb250ZW50LXR5cGUucHkJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitp
bXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1l
ZGVsdGEKKworbW9kaWZpZWRfc2luY2UgPSBvcy5lbnZpcm9uLmdldCgnSFRUUF9JRl9NT0RJRklF
RF9TSU5DRScsICcnKQoraWYgbW9kaWZpZWRfc2luY2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgK
KyAgICAgICAgJ3N0YXR1czozMDRcclxuJworICAgICAgICAnQ29udGVudC1UeXBlOiB0ZXh0L3Bs
YWluXHJcblxyXG4nCisgICAgKQorICAgIHN5cy5leGl0KDApCisKK29uZV95ZWFyID0gMTIgKiAz
MSAqIDI0ICogNjAgKiA2MAorbGFzdF9tb2RpZmllZCA9ICd7fSArMDAwMCcuZm9ybWF0KChkYXRl
dGltZS51dGNub3coKSAtIHRpbWVkZWx0YShzZWNvbmRzPW9uZV95ZWFyKSkuc3RyZnRpbWUoJyVh
LCAlZCAlYiAlWSAlSDolTTolUycpKQorZXhwaXJlcyA9ICd7fSArMDAwMCcuZm9ybWF0KChkYXRl
dGltZS51dGNub3coKSArIHRpbWVkZWx0YShzZWNvbmRzPW9uZV95ZWFyKSkuc3RyZnRpbWUoJyVh
LCAlZCAlYiAlWSAlSDolTTolUycpKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgIGYnQ2FjaGUt
Q29udHJvbDogcHVibGljLCBtYXgtYWdlPXtvbmVfeWVhcn1cclxuJworICAgIGYnRXhwaXJlczog
e2V4cGlyZXN9XHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2Nzc1xyXG4nCisgICAgJ0V0
YWc6IDEyMzQ1Njc4OVxyXG4nCisgICAgZidMYXN0LU1vZGlmaWVkOiB7bGFzdF9tb2RpZmllZH1c
clxuXHJcbicKKyAgICAnI3Rlc3QgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMjU1LCAwKTsg
fScKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0MzA0LWJhZC1j
b250ZW50LXR5cGUucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCAr
MSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0MzA0LnBocAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0MzA0
LnBocAkocmV2aXNpb24gMjc0Mjc4KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9y
ZXNvdXJjZXMvc3R5bGVzaGVldDMwNC5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMSArMCwwIEBA
Ci08P3BocA0KLXJlcXVpcmVfb25jZSAnLi4vLi4vcmVzb3VyY2VzL3BvcnRhYmlsaXR5TGF5ZXIu
cGhwJzsNCi0NCi1jbGVhcnN0YXRjYWNoZSgpOw0KLQ0KLWlmICgkX1NFUlZFUlsiSFRUUF9JRl9N
T0RJRklFRF9TSU5DRSJdKSB7DQotICAgIGhlYWRlcigiSFRUUC8xLjAgMzA0IE5vdCBNb2RpZmll
ZCIpOw0KLSAgICBleGl0KCk7DQotfQ0KLSRvbmVfeWVhciA9IDEyICogMzEgKiAyNCAqIDYwICog
NjA7DQotJGxhc3RfbW9kaWZpZWQgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgLSAkb25l
X3llYXIpOw0KLSRleHBpcmVzID0gZ21kYXRlKERBVEVfUkZDMTEyMywgdGltZSgpICsgJG9uZV95
ZWFyKTsNCi0NCi1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IHB1YmxpYywgbWF4LWFnZT0nIC4gJG9u
ZV95ZWFyKTsNCi1oZWFkZXIoJ0V4cGlyZXM6ICcgLiAkZXhwaXJlcyk7DQotaGVhZGVyKCdDb250
ZW50LVR5cGU6IHRleHQvY3NzJyk7DQotaGVhZGVyKCdDb250ZW50LUxlbmd0aDogMCcpOw0KLWhl
YWRlcignRXRhZzogMTIzNDU2Nzg5Jyk7DQotaGVhZGVyKCdMYXN0LU1vZGlmaWVkOiAnIC4gJGxh
c3RfbW9kaWZpZWQpOw0KLWV4aXQoKTsNCi0/Pg0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQtaHRtbC5waHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldC1odG1sLnBocAko
cmV2aXNpb24gMjc0Mjc4KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvc3R5bGVzaGVldC1odG1sLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDUgKzAsMCBAQAotPD9w
aHAKLWVjaG8gIjxsaW5rIHJlbD1zdHlsZXNoZWV0IGhyZWY9IiAuICRfR0VUWydzaGVldCddIC4g
Ij4iOwotPz4KLTxkaXYgaWQ9dGVzdDE+PC9kaXY+Ci08ZGl2IGlkPXRlc3QyPjwvZGl2PgpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldC1odG1s
LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L3N0eWxlc2hlZXQtaHRtbC5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwucHkJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwxNCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9y
dCBzeXMKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9ydCBwYXJzZV9xcworCitzaGVldCA9IHBhcnNl
X3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAnJyksIGtlZXBfYmxhbmtfdmFsdWVz
PVRydWUpLmdldCgnc2hlZXQnLCBbJzQwNC5jc3MnXSlbMF0KKworc3lzLnN0ZG91dC53cml0ZSgK
KyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICBmJzxsaW5rIHJlbD1z
dHlsZXNoZWV0IGhyZWY9e3NoZWV0fT4nCisgICAgJzxkaXYgaWQ9dGVzdDE+PC9kaXY+XG4nCisg
ICAgJzxkaXYgaWQ9dGVzdDI+PC9kaXY+XG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNv
dXJjZXMvc3R5bGVzaGVldC1odG1sLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxl
CiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3ZnLWRlZnMtdmFyeS5waHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3Zn
LWRlZnMtdmFyeS5waHAJKHJldmlzaW9uIDI3NDI3OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL3N2Zy1kZWZzLXZhcnkucGhwCShub25leGlzdGVudCkKQEAgLTEs
MTIgKzAsMCBAQAotPD9waHAKLWhlYWRlcigiQ29udGVudC1UeXBlOiBpbWFnZS9zdmcreG1sIik7
Ci1oZWFkZXIoIlZhcnk6IENvb2tpZSIpOwotaGVhZGVyKCJDYWNoZS1Db250cm9sOiBtYXgtYWdl
PTMxNTM2MDAwIik7Ci0/PgotPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmci
IHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KLTxkZWZzPgotPGcg
aWQ9ImNpcmNsZSI+Ci08Y2lyY2xlIHN0eWxlPSJmaWxsOmdyZWVuIiByPSIxMCIvPgotPC9nPgot
PC9kZWZzPgotPC9zdmc+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9zdmctZGVmcy12YXJ5LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL3N2Zy1kZWZzLXZhcnkucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3ZnLWRlZnMtdmFyeS5weQkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDE2IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2lt
cG9ydCBzeXMKKworc3lzLnN0b2R1dC53cml0ZSgKKyAgICAnQ29udGVudC1UeXBlOiBpbWFnZS9z
dmcreG1sXHJcbicKKyAgICAnVmFyeTogQ29va2llXHJcbicKKyAgICAnQ2FjaGUtQ29udHJvbDog
bWF4LWFnZT0zMTUzNjAwMFxyXG5cclxuJworICAgICc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3Lncz
Lm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsi
PlxuJworICAgICc8ZGVmcz5cbicKKyAgICAnPGcgaWQ9ImNpcmNsZSI+XG4nCisgICAgJzxjaXJj
bGUgc3R5bGU9ImZpbGw6Z3JlZW4iIHI9IjEwIi8+XG4nCisgICAgJzwvZz5cbicKKyAgICAnPC9k
ZWZzPlxuJworICAgICc8L3N2Zz5cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9zdmctZGVmcy12YXJ5LnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0w
LDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXJlc3BvbnNl
LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy94aHItdmFyeS1oZWFkZXItcmVzcG9uc2UucGhwCShyZXZpc2lvbiAyNzQyNzgpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItcmVzcG9u
c2UucGhwCShub25leGlzdGVudCkKQEAgLTEsMTEgKzAsMCBAQAotPD9waHAKLWhlYWRlcigiVmFy
eTogT3JpZ2luIik7Ci1oZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MzE1MzYwMDAiKTsK
LWlmIChpc3NldCgkX1NFUlZFUlsnSFRUUF9PUklHSU4nXSkpIHsKLSAgICBoZWFkZXIoIkFjY2Vz
cy1Db250cm9sLUFsbG93LU9yaWdpbjogaHR0cDovLzEyNy4wLjAuMTo4MDAwIik7Ci0gICAgZWNo
byAiQ3Jvc3Mgb3JpZ2luICI7Ci19IGVsc2UgewotICAgIGVjaG8gIlNhbWUgb3JpZ2luICI7Ci19
Ci0/PgotcmVzcG9uc2UKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItcmVzcG9uc2Uu
cHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMv
eGhyLXZhcnktaGVhZGVyLXJlc3BvbnNlLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25zZS5weQko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIyIEBACisjIS91c3IvYmluL2VudiBweXRob24zCisK
K2ltcG9ydCBvcworaW1wb3J0IHN5cworCitvcmlnaW4gPSBUcnVlIGlmIG9zLmVudmlyb24uZ2V0
KCdIVFRQX09SSUdJTicsIE5vbmUpIGlzIG5vdCBOb25lIGVsc2UgRmFsc2UKKworc3lzLnN0ZG91
dC53cml0ZSgKKyAgICAnVmFyeTogT3JpZ2luXHJcbicKKyAgICAnQ2FjaGUtQ29udHJvbDogbWF4
LWFnZT0zMTUzNjAwMFxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcbicKKykK
KworaWYgb3JpZ2luOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICdBY2Nlc3MtQ29u
dHJvbC1BbGxvdy1PcmlnaW46IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMFxyXG5cclxuJworICAgICAg
ICAnQ3Jvc3Mgb3JpZ2luICcKKyAgICApCitlbHNlOgorICAgIHN5cy5zdGRvdXQud3JpdGUoJ1xy
XG5TYW1lIG9yaWdpbiAnKQorCitzeXMuc3Rkb3V0LndyaXRlKCdyZXNwb25zZScpClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXJlc3BvbnNlLnB5Cl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9y
ZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXN1YmZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXN1YmZy
YW1lLmh0bWwJKHJldmlzaW9uIDI3NDI3OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1zdWJmcmFtZS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0yLDcgKzIsNyBAQAogZnVuY3Rpb24gdGVzdFNhbWVPcmlnaW4oKQogewogICAgIHZhciBy
ZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7Ci0gICAgcmVxLm9wZW4oIkdFVCIsICJ4aHItdmFyeS1o
ZWFkZXItcmVzcG9uc2UucGhwIik7CisgICAgcmVxLm9wZW4oIkdFVCIsICJ4aHItdmFyeS1oZWFk
ZXItcmVzcG9uc2UucHkiKTsKICAgICByZXEub25sb2FkPWZ1bmN0aW9uKCkgeyBwYXJlbnQucG9z
dE1lc3NhZ2UocmVxLnJlc3BvbnNlVGV4dCwgImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIpIH0KICAg
ICByZXEuc2VuZCgpOwogfQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMv
dG91Y2gtdGVtcC1maWxlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VzL3RvdWNoLXRlbXAtZmlsZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlcy90b3VjaC10ZW1wLWZpbGUucHkJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyNyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2lt
cG9ydCBzeXMKK2ltcG9ydCB0ZW1wZmlsZQorZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNl
X3FzCisKK2ZpbGUgPSBfX2ZpbGVfXy5zcGxpdCgnOi9jeWd3aW4nKVstMV0KK2h0dHBfcm9vdCA9
IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKG9zLnBhdGgu
ZGlybmFtZShmaWxlKSkpKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKworZmlsZW5h
bWUgPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2Js
YW5rX3ZhbHVlcz1UcnVlKS5nZXQoJ2ZpbGVuYW1lJywgWydzdGF0ZS50eHQnXSlbMF0KK3RtcEZp
bGVQYXRoID0gb3MucGF0aC5qb2luKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwgZmlsZW5hbWUpCisK
K3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nKQorCitz
dGF0ID0gb3Muc3RhdCh0bXBGaWxlUGF0aCkKK2lmIG5vdCBzdGF0OgorICAgIHN5cy5zdGRvdXQu
d3JpdGUoJ0ZBSUw6IHN0YXQoKSBjYWxsIGZhaWxlZC5cbicpCisgICAgc3lzLmV4aXQoMCkKKwor
YXRpbWUgPSBzdGF0LnN0X2F0aW1lCittdGltZSA9IHN0YXQuc3RfbXRpbWUKK3RyeToKKyAgICBv
cy51dGltZSh0bXBGaWxlUGF0aCwgdGltZXM9KGF0aW1lLCBtdGltZSArIDEpKQorZXhjZXB0Ogor
ICAgIHN5cy5zdGRvdXQud3JpdGUoJ0ZBSUw6IHRvdWNoKCkgY2FsbCBmYWlsZWQuXG4nKQpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VzL3RvdWNoLXRlbXAtZmlsZS5weQpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvY2Fj
aGVhYmxlLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1jcmFzaC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvY2FjaGVhYmxlLWNyb3NzLW9yaWdp
bi1yZWRpcmVjdC1jcmFzaC5odG1sCShyZXZpc2lvbiAyNzQyNzgpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2NhY2hlYWJsZS1jcm9zcy1vcmlnaW4tcmVkaXJlY3Qt
Y3Jhc2guaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNiw3ICs2LDcgQEAKIGRlc2NyaXB0aW9uKCJU
ZXN0cyB0aGF0IHdlIGRvIG5vdCBjcmFzaCB3aGVuIFhIUiByZXVzZXMgYSBjYWNoZWQgcmVzb3Vy
Y2UgdGhhdCBjb250YWlucyBhIHNpbXBsZSBjcm9zcyBvcmlnaW4gcmVkaXJlY3QuIik7CiBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKIAotY29uc3QgdXJsID0gIi9jYWNoZS9yZXNvdXJjZXMvY2FjaGUt
Y29udHJvbC1yZWRpcmVjdD9jb2RlPTMwMiZjYWNoZV9jb250cm9sPXB1YmxpYyxtYXgtYWdlPTEw
MDAmdXJsPWh0dHAlM0ElMkYlMkZsb2NhbGhvc3QlM0E4MDAwJTJGc2VjdXJpdHklMkZyZXNvdXJj
ZXMlMkZhbGxvdy1pZi1vcmlnaW4ucHklM0ZhbGxvd0NhY2hlJTI2YWxsb3dDcmVkZW50aWFscyUy
Nm9yaWdpbiUzRGh0dHAlMjUzQSUyNTJGJTI1MkYxMjcuMC4wLjElMjUzQTgwMDAiOworY29uc3Qg
dXJsID0gIi9jYWNoZS9yZXNvdXJjZXMvY2FjaGUtY29udHJvbC1yZWRpcmVjdC5waHA/Y29kZT0z
MDImY2FjaGVfY29udHJvbD1wdWJsaWMsbWF4LWFnZT0xMDAwJnVybD1odHRwJTNBJTJGJTJGbG9j
YWxob3N0JTNBODAwMCUyRnNlY3VyaXR5JTJGcmVzb3VyY2VzJTJGYWxsb3ctaWYtb3JpZ2luLnB5
JTNGYWxsb3dDYWNoZSUyNmFsbG93Q3JlZGVudGlhbHMlMjZvcmlnaW4lM0RodHRwJTI1M0ElMjUy
RiUyNTJGMTI3LjAuMC4xJTI1M0E4MDAwIjsKIAogeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7
CiB4aHIud2l0aENyZWRlbnRpYWxzID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyNzQyNzgpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtMjM2OCw3ICsy
MzY4LDcgQEAgaHR0cC90ZXN0cy9jYWNoZS9jb250ZW50LXR5cGUtaWdub3JlZC1kdQogaHR0cC90
ZXN0cy9jYWNoZS9tYWluLXJlc291cmNlLTMwNC1yZWxvYWQuaHRtbCBbIEZhaWx1cmUgXQogaHR0
cC90ZXN0cy9jYWNoZS9wYXJ0aXRpb25lZC1jYWNoZS5odG1sIFsgRmFpbHVyZSBdCiBodHRwL3Rl
c3RzL2NhY2hlL3BhcnRpdGlvbmVkLWNhY2hlLWlmcmFtZS5odG1sIFsgRmFpbHVyZSBdCi1odHRw
L3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LnBocCBbIEZhaWx1cmUgXSAjIEVhc3kKK2h0
dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucHkgWyBGYWlsdXJlIF0gIyBFYXN5CiBo
dHRwL3Rlc3RzL2NhbnZhcy9jYW52YXMtc2xvdy1mb250LWxvYWRpbmcuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQogaHR0cC90ZXN0cy9jc3MvY3NzLWltYWdlLXZhbHVlZC1zaGFwZS5odG1sIFsg
RmFpbHVyZSBdCiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5odG1s
IFsgUGFzcyBGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422977</attachid>
            <date>2021-03-11 15:08:15 -0800</date>
            <delta_ts>2021-03-11 15:20:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222935-20210311180814.patch</filename>
            <type>text/plain</type>
            <size>115755</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NDMwMikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDExNiBAQAorMjAyMS0wMy0xMSAgQ2hyaXMgR2FtYnJlbGwg
IDxjZ2FtYnJlbGxAYXBwbGUuY29tPgorCisgICAgICAgIFtMYXlvdXRUZXN0c10gQ29udmVydCBo
dHRwL3Rlc3RzL2NhY2hlIGNvbnZlcnQgUEhQIHRvIFB5dGhvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyOTM1CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS83NTE4MzMxND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvY2FjaGUtcmVkaXJlY3Rpb25zLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9jYWNoZS9jYWNoZWQtbWFpbi1yZXNvdXJjZS5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvY2FjaGVkRW50cnktd2FpdHMtZm9yLXJlc3BvbnNlLXBvbGlj
eS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvY29udGVudC10eXBlLWlnbm9yZWQt
ZHVyaW5nLXJldmFsaWRhdGlvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9kaXNrLWNhY2hlLXJlZGlyZWN0LXRvLWRhdGEuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZW1vdmUtc2V2ZXJhbC1wZW5kaW5n
LXdyaXRlcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZWRp
cmVjdC1jaGFpbi1saW1pdHMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvcmVzb3VyY2VzL2pzb24ucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvanNvbi5weTogQWRkZWQuCisgICAgICAgIChzZW5k
MzA0KToKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL21h
a2Utc2hhMS1jb2xsaXNpb24ucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvbWFrZS1zaGExLWNvbGxpc2lvbi5weTogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1j
aGFpbi5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hl
L3Jlc291cmNlcy9yZWRpcmVjdC1jaGFpbi5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC10by1kYXRhLnBocDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGly
ZWN0LXRvLWRhdGEucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zaGF0dGVyZWQtZGVkdXBsaWNhdGlvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL2NhY2hlYWJsZS1yZWRpcmVj
dC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2
ZS12YWxpZGF0aW9uL2h0dHAtYXV0aC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jYWNoZWFibGUtcmVk
aXJlY3QtZnJhbWUucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jYWNoZWFibGUtcmVkaXJl
Y3QtZnJhbWUucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5waHA6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0
aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2Nzcy10by1yZXZhbGlkYXRlLnB5OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlv
bi9yZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnBocDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFs
aWRhdGlvbi9yZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnB5OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUt
dmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tY3NzLnBocDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9y
ZXNvdXJjZXMvcmVkaXJlY3QtdG8tY3NzLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVxdWVz
dC1oZWFkZXJzLXNjcmlwdC5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3JlcXVlc3QtaGVh
ZGVycy1zY3JpcHQucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgu
cGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVj
dWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucHk6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxp
ZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucGhwOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0
aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucHk6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Zh
bGlkYXRpb24tcmVxdWVzdC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvaGlzdG9y
eS1uYXZpZ2F0aW9uLW5vLXJlc291cmNlLXJldmFsaWRhdGlvbi5odG1sOgorICAgICAgICAqIGh0
dHAvdGVzdHMvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
aHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9jYWNoZS9pZnJhbWUtZGV0YWNoLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNo
ZS9saW5rLXByZWZldGNoLW1haW4tcmVzb3VyY2UtaWZyYW1lLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9jYWNoZS9saW5rLXByZWZldGNoLW1haW4tcmVzb3VyY2UuaHRtbDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL2NhY2hlL21haW4tcmVzb3VyY2UtMzA0LXJlbG9hZC5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucGhwOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucHk6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMucGhw
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1z
dWJyZXNvdXJjZXMucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVjdXJz
aXZlLXZhbGlkYXRpb24uaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3JlZGlyZWN0
LXJlZmVyZXIuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3JlbG9hZC1tYWluLXJl
c291cmNlLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3JlbG9hZC1t
YWluLXJlc291cmNlLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9ib2R5LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9ib2R5LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9jYWNoZWFibGUtaWZyYW1lLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRleHQucGhwOiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20t
dGV4dC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZy
YW1lMzA0LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9pZnJhbWUzMDQucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL2lmcmFtZTMwNGJvZHkucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL2lmcmFtZTMwNGJvZHkucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL2xvYWQtYW5kLWNoZWNrLXJlZmVyZXIucGhwOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2xvYWQtYW5kLWNoZWNrLXJlZmVy
ZXIucHk6IEFkZGVkLgorICAgICAgICAoY29udGVudFR5cGUpOgorICAgICAgICAqIGh0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5waHA6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1y
ZXNvdXJjZS1uZXh0LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnB5OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS13aXRoLXZhbGlk
YXRpb24ucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L25vLWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9uZWQtY2FjaGUtZWNoby1zdGF0ZS5waHA6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9uZWQtY2Fj
aGUtZWNoby1zdGF0ZS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNv
dXJjZXMvcGFydGl0aW9uZWQtY2FjaGUtbG9hZGVyLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvcGVybWFuZW50LXJlZGlyZWN0LnBocDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucHk6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8t
dmVyaWZ5LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9w
cmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1l
LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRj
aGVkLW1haW4tcmVzb3VyY2UucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5weTogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtcmVmZXJlci1pZnJhbWUuaHRt
bDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9yZWxvYWQtbWFpbi1yZXNv
dXJjZS1pZnJhbWUucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL3JlbG9hZC1tYWluLXJlc291cmNlLWlmcmFtZS5weTogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc2xvdy1pZnJhbWUucGhwOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Nsb3ctaWZyYW1lLnB5OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwucGhw
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hl
ZXQtaHRtbC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMv
c3R5bGVzaGVldDMwNC1iYWQtY29udGVudC10eXBlLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0MzA0LWJhZC1jb250ZW50LXR5cGUu
cHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hl
ZXQzMDQucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L3N2Zy1kZWZzLXZhcnkucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL3N2Zy1kZWZzLXZhcnkucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5waHA6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveC1mcmFtZS1vcHRpb25zLnB5OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItcmVzcG9u
c2UucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ho
ci12YXJ5LWhlYWRlci1yZXNwb25zZS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXN1YmZyYW1lLmh0bWw6CisgICAgICAgICog
aHR0cC90ZXN0cy9jYWNoZS9zdHlsZXNoZWV0LXNoYXJpbmcuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL3ZhcnktZnJhbWVsZXNzLWRvY3VtZW50Lmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9jYWNoZS94LWZyYW1lLW9wdGlvbnMtMzA0Lmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9jYWNoZS94aHItYm9keS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUveGhy
LXZhcnktaGVhZGVyLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZXMvdG91Y2gt
dGVtcC1maWxlLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlcy93cml0
ZS10ZW1wLWZpbGUucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3QvY2FjaGVhYmxlLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1jcmFzaC5odG1sOgorICAgICAgICAq
IHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTAzLTExICBBZGl0eWEgS2Vl
cnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXVtGQ1JdIFVwZGF0ZSBk
aXNhYmxlZCBzdGF0ZSBmb3IgYnV0dG9uLWxpa2UgY29udHJvbHMKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvY2FjaGUtcmVkaXJlY3Rpb25zLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jYWNoZS1yZWRpcmVjdGlvbnMuaHRtbAkocmV2
aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jYWNoZS1yZWRp
cmVjdGlvbnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTUsNyArMTUsNyBAQCB0ZXN0LnN0ZXAo
ZnVuY3Rpb24oKSB7CiAKIHZhciBjb3VudGVyID0gMDsKIHZhciByZXNvdXJjZSA9ICJObyI7Ci12
YXIgYmFzZVVSTCA9ICJyZXNvdXJjZXMvY2FjaGUtY29udHJvbC1yZWRpcmVjdD9jb2RlPTMwMiZ1
cmw9Y2FjaGVhYmxlLXJhbmRvbS10ZXh0LnBocCZyYW5kb21faWQ9MSI7Cit2YXIgYmFzZVVSTCA9
ICJyZXNvdXJjZXMvY2FjaGUtY29udHJvbC1yZWRpcmVjdC5waHA/Y29kZT0zMDImdXJsPWNhY2hl
YWJsZS1yYW5kb20tdGV4dC5weSZyYW5kb21faWQ9MSI7CiB2YXIgdGVzdENhc2VzID0gWwoge25h
bWUgOiAiU2hvdWxkIHJldXNlIHJlc291cmNlIChjYWNoZWFibGUgcmVkaXJlY3Rpb24pIiwgZXhw
ZWN0ZWQgOiB0cnVlLCB1cmwgOiBiYXNlVVJMICsgIiZjYWNoZV9jb250cm9sPXB1YmxpYywgbWF4
LWFnZT0xMDAwIiwgcmVsb2FkRGVsYXkgOiAwfSwKIHtuYW1lIDogIlNob3VsZCByZWxvYWQgcmVz
b3VyY2UgKG5vLXN0b3JlIHJlZGlyZWN0aW9uKSIsIGV4cGVjdGVkIDogZmFsc2UsIHVybDogYmFz
ZVVSTCArICImY2FjaGVfY29udHJvbD1uby1zdG9yZSZtYXhfYWdlPTEwMDAiLCByZWxvYWREZWxh
eSA6IDB9LApJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jYWNoZWQtbWFpbi1y
ZXNvdXJjZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
Y2FjaGVkLW1haW4tcmVzb3VyY2UuaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9jYWNoZWQtbWFpbi1yZXNvdXJjZS5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xMSw3ICsxMSw3IEBAIGZ1bmN0aW9uIHJlbW92ZUFuZFJlbG9hZCgpCiB7CiAgICAg
ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWZyYW1l
IikpOwogICAgIHZhciBuZXdJZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUi
KTsKLSAgICBuZXdJZnJhbWUuc3JjID0gInJlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnBocCI7
CisgICAgbmV3SWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvY2FjaGVhYmxlLWlmcmFtZS5weSI7CiAg
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChuZXdJZnJhbWUpOwogICAgIHZhciBmcm9tQ2Fj
aGUgPSBpbnRlcm5hbHMuaXNMb2FkaW5nRnJvbU1lbW9yeUNhY2hlKG5ld0lmcmFtZS5zcmMpOwog
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVUZXh0Tm9kZShmcm9tQ2FjaGUgPyAiUEFTUyIgOiAiRkFJTCIpKTsKQEAgLTE5LDYg
KzE5LDYgQEAgZnVuY3Rpb24gcmVtb3ZlQW5kUmVsb2FkKCkKICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7CiB9CiA8L3NjcmlwdD4KLTxpZnJhbWUgaWQ9ImlmcmFtZSIgc3JjPSJyZXNv
dXJjZXMvY2FjaGVhYmxlLWlmcmFtZS5waHAiPjwvaWZyYW1lPgorPGlmcmFtZSBpZD0iaWZyYW1l
IiBzcmM9InJlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnB5Ij48L2lmcmFtZT4KIDwvYm9keT4K
IDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY2FjaGVkRW50cnkt
d2FpdHMtZm9yLXJlc3BvbnNlLXBvbGljeS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvY2FjaGVkRW50cnktd2FpdHMtZm9yLXJlc3BvbnNlLXBvbGljeS5o
dG1sCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Nh
Y2hlZEVudHJ5LXdhaXRzLWZvci1yZXNwb25zZS1wb2xpY3kuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMjAsMTAgKzIwLDEwIEBAIGZ1bmN0aW9uIGNyZWF0ZUZyYW1lKHVybCkgewogICAgIH0pOwog
fQogCi1jcmVhdGVGcmFtZSgiL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRleHQu
cGhwIikudGhlbihmdW5jdGlvbihmcmFtZSkgeworY3JlYXRlRnJhbWUoIi9jYWNoZS9yZXNvdXJj
ZXMvY2FjaGVhYmxlLXJhbmRvbS10ZXh0LnB5IikudGhlbihmdW5jdGlvbihmcmFtZSkgewogICAg
IGZyYW1lLnJlbW92ZSgpOwogICAgIGludGVybmFscy5jbGVhck1lbW9yeUNhY2hlKCk7Ci0gICAg
Y3JlYXRlRnJhbWUoIi9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLXJhbmRvbS10ZXh0LnBocCIp
LnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsKKyAgICBjcmVhdGVGcmFtZSgiL2NhY2hlL3Jlc291cmNl
cy9jYWNoZWFibGUtcmFuZG9tLXRleHQucHkiKS50aGVuKGZ1bmN0aW9uKGZyYW1lKSB7CiAgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwogICAgIH0pOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jb250
ZW50LXR5cGUtaWdub3JlZC1kdXJpbmctcmV2YWxpZGF0aW9uLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jb250ZW50LXR5cGUtaWdub3JlZC1kdXJpbmct
cmV2YWxpZGF0aW9uLmh0bWwJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvY29udGVudC10eXBlLWlnbm9yZWQtZHVyaW5nLXJldmFsaWRhdGlvbi5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4K
IDxoZWFkPgotICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2VzL3N0eWxl
c2hlZXQzMDQtYmFkLWNvbnRlbnQtdHlwZS5waHAiPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0icmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQtYmFkLWNvbnRlbnQtdHlwZS5weSI+CiA8
L2hlYWQ+CiA8Ym9keT4KICAgICA8ZGl2IGlkPSJ0ZXN0Ij5UaGlzIGRpdiBzaG91bGQgaGF2ZSBh
IGdyZWVuIGJhY2tncm91bmQuPC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL2hpc3RvcnktbmF2aWdhdGlvbi1uby1yZXNvdXJjZS1yZXZhbGlkYXRpb24uaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2hpc3RvcnktbmF2aWdhdGlv
bi1uby1yZXNvdXJjZS1yZXZhbGlkYXRpb24uaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9oaXN0b3J5LW5hdmlnYXRpb24tbm8tcmVzb3VyY2Ut
cmV2YWxpZGF0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTczLDcgKzczLDcgQEAKIAogICAg
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgICAgIC8vIE9wZW4gdGhlIHRhcmdldCB3aW5kb3cg
YW5kIGl0IHdpbGwgYmVnaW4gdG8gc2VuZCB1cyBtZXNzYWdlcy4KLSAgICAgICAgdGFyZ2V0ID0g
d2luZG93Lm9wZW4oJ2h0dHBzOi8vMTI3LjAuMC4xOjg0NDMvY2FjaGUvcmVzb3VyY2VzL25vLWNh
Y2hlLW1haW4tcmVzb3VyY2UucGhwJyk7CisgICAgICAgIHRhcmdldCA9IHdpbmRvdy5vcGVuKCdo
dHRwczovLzEyNy4wLjAuMTo4NDQzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291
cmNlLnB5Jyk7CiAgICAgfQogICAgIDwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIvanMtdGVz
dC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9pZnJhbWUtMzA0LWNyYXNoLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICsx
LDggQEAKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBo
cCAtIHdpbGxTZW5kUmVxdWVzdCA8TlNVUkxSZXF1ZXN0IFVSTCBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAsIG1haW4gZG9jdW1lbnQgVVJMIGh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWwsIGh0dHAgbWV0aG9k
IEdFVD4gcmVkaXJlY3RSZXNwb25zZSAobnVsbCkKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNo
ZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5IC0gd2lsbFNlbmRSZXF1ZXN0IDxOU1VSTFJlcXVlc3Qg
VVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5LCBt
YWluIGRvY3VtZW50IFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvaWZyYW1lLTMwNC1j
cmFzaC5odG1sLCBodHRwIG1ldGhvZCBHRVQ+IHJlZGlyZWN0UmVzcG9uc2UgKG51bGwpCiBodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC5odG1sIC0gZGlkRmluaXNo
TG9hZGluZwotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQu
cGhwIC0gZGlkUmVjZWl2ZVJlc3BvbnNlIDxOU1VSTFJlc3BvbnNlIGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBocCwgaHR0cCBzdGF0dXMgY29kZSAyMDA+
Ci1odHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAgLSBk
aWRGaW5pc2hMb2FkaW5nCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lm
cmFtZTMwNC5waHAgLSB3aWxsU2VuZFJlcXVlc3QgPE5TVVJMUmVxdWVzdCBVUkwgaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucGhwLCBtYWluIGRvY3VtZW50
IFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC5odG1sLCBo
dHRwIG1ldGhvZCBHRVQ+IHJlZGlyZWN0UmVzcG9uc2UgKG51bGwpCi1odHRwOi8vMTI3LjAuMC4x
OjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAgLSBkaWRSZWNlaXZlUmVzcG9uc2Ug
PE5TVVJMUmVzcG9uc2UgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJh
bWUzMDQucGhwLCBodHRwIHN0YXR1cyBjb2RlIDMwND4KLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9j
YWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBocCAtIGRpZEZpbmlzaExvYWRpbmcKK2h0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5IC0gZGlkUmVjZWl2ZVJl
c3BvbnNlIDxOU1VSTFJlc3BvbnNlIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJj
ZXMvaWZyYW1lMzA0LnB5LCBodHRwIHN0YXR1cyBjb2RlIDIwMD4KK2h0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5IC0gZGlkRmluaXNoTG9hZGluZworaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucHkgLSB3aWxsU2Vu
ZFJlcXVlc3QgPE5TVVJMUmVxdWVzdCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jl
c291cmNlcy9pZnJhbWUzMDQucHksIG1haW4gZG9jdW1lbnQgVVJMIGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWwsIGh0dHAgbWV0aG9kIEdFVD4gcmVkaXJl
Y3RSZXNwb25zZSAobnVsbCkKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMv
aWZyYW1lMzA0LnB5IC0gZGlkUmVjZWl2ZVJlc3BvbnNlIDxOU1VSTFJlc3BvbnNlIGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5LCBodHRwIHN0YXR1cyBj
b2RlIDMwND4KK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0
LnB5IC0gZGlkRmluaXNoTG9hZGluZwogCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL2lmcmFtZS0zMDQtY3Jhc2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2lmcmFtZS0zMDQtY3Jhc2guaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEwLDcgKzEwLDcgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiBmdW5j
dGlvbiByZW1vdmVBbmRSZXBsYWNlSWZyYW1lKCkgewogICAgIGRvY3VtZW50LmJvZHkucmVtb3Zl
Q2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlmcmFtZSIpKTsKICAgICB2YXIgbmV3SWZy
YW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgbmV3SWZyYW1lLnNy
YyA9ICJyZXNvdXJjZXMvaWZyYW1lMzA0LnBocCI7CisgICAgbmV3SWZyYW1lLnNyYyA9ICJyZXNv
dXJjZXMvaWZyYW1lMzA0LnB5IjsKICAgICBuZXdJZnJhbWUub25sb2FkID0gZnVuY3Rpb24oKSB7
IHNldFRpbWVvdXQoZmluaXNoLCAwKTsgfQogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
bmV3SWZyYW1lKTsKIH0KQEAgLTIyLDYgKzIyLDYgQEAgZnVuY3Rpb24gZmluaXNoKCkgewogPC9z
Y3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQocmVtb3ZlQW5kUmVwbGFj
ZUlmcmFtZSwgMCkiPgotPGlmcmFtZSBpZD0iaWZyYW1lIiBzcmM9InJlc291cmNlcy9pZnJhbWUz
MDQucGhwIj48L2lmcmFtZT4KKzxpZnJhbWUgaWQ9ImlmcmFtZSIgc3JjPSJyZXNvdXJjZXMvaWZy
YW1lMzA0LnB5Ij48L2lmcmFtZT4KIDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvaWZyYW1lLWRldGFjaC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvaWZyYW1lLWRldGFjaC5odG1sCShyZXZpc2lvbiAyNzQy
OTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2lmcmFtZS1kZXRhY2guaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMSw3ICsxLDcgQEAKIDxodG1sPgogPGJvZHk+CiA8ZGl2IGlkPSJz
aGFkb3ciPgotPGlmcmFtZSBzcmM9InJlc291cmNlcy9zbG93LWlmcmFtZS5waHAiPjwvaWZyYW1l
PgorPGlmcmFtZSBzcmM9InJlc291cmNlcy9zbG93LWlmcmFtZS5weSI+PC9pZnJhbWU+CiA8L2Rp
dj4KIAogPGRpdiBpZD0iZW1wdHkiPjwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9saW5rLXByZWZldGNoLW1haW4tcmVzb3VyY2UtaWZyYW1lLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9saW5rLXByZWZldGNoLW1haW4tcmVz
b3VyY2UtaWZyYW1lLmh0bWwJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvbGluay1wcmVmZXRjaC1tYWluLXJlc291cmNlLWlmcmFtZS5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMiw3ICsyMiw3IEBAIGZ1bmN0aW9uIGlmcmFtZUxvYWRGaW5pc2hlZCgp
CiBmdW5jdGlvbiBsb2FkQWZ0ZXJQcmVmZXRjaCgpCiB7CiAgICAgdmFyIG5ld0lmcmFtZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIG5ld0lmcmFtZS5zcmMgPSAiaHR0
cDovL2xvY2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3Vy
Y2UtaWZyYW1lLnBocCI7CisgICAgbmV3SWZyYW1lLnNyYyA9ICJodHRwOi8vbG9jYWxob3N0Ojgw
MDAvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucHkiOwog
ICAgIG5ld0lmcmFtZS5vbmxvYWQgPSBpZnJhbWVMb2FkRmluaXNoZWQ7CiAgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChuZXdJZnJhbWUpOwogfQpAQCAtMzUsNyArMzUsNyBAQCB3aW5kb3cu
b25tZXNzYWdlID0gZnVuY3Rpb24obWVzc2FnZSkKIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAg
dmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7CiAgICAgbGluay5yZWwg
PSAicHJlZmV0Y2giOwotICAgIGxpbmsuaHJlZiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY2Fj
aGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucGhwIjsKKyAgICBs
aW5rLmhyZWYgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRj
aGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnB5IjsKICAgICBpZiAoaW50ZXJuYWxzKQogICAgICAg
ICBpbnRlcm5hbHMuYWRkUHJlZmV0Y2hMb2FkRXZlbnRMaXN0ZW5lcihsaW5rLCAoKSA9PiB7IGxv
YWRBZnRlclByZWZldGNoKCk7IH0pOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGlu
ayk7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2xpbmstcHJlZmV0Y2gtbWFp
bi1yZXNvdXJjZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvbGluay1wcmVmZXRjaC1tYWluLXJlc291cmNlLmh0bWwJKHJldmlzaW9uIDI3NDI5MikKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvbGluay1wcmVmZXRjaC1tYWluLXJlc291cmNl
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTcsMTMgKzcsMTMgQEAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CiAKIGZ1bmN0aW9uIGxvYWRBZnRlclByZWZldGNoKCkKIHsKLSAgICAgd2luZG93Lmxv
Y2F0aW9uLmFzc2lnbignaHR0cDovL2xvY2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVm
ZXRjaGVkLW1haW4tcmVzb3VyY2UucGhwJyk7CisgICAgIHdpbmRvdy5sb2NhdGlvbi5hc3NpZ24o
J2h0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJl
c291cmNlLnB5Jyk7CiB9CiAKIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgdmFyIGxpbmsgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7CiAgICAgbGluay5yZWwgPSAicHJlZmV0Y2gi
OwotICAgIGxpbmsuaHJlZiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY2FjaGUvcmVzb3VyY2Vz
L3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5waHAiOworICAgIGxpbmsuaHJlZiA9ICJodHRwOi8v
bG9jYWxob3N0OjgwMDAvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5w
eSI7CiAgICAgaWYgKGludGVybmFscykKICAgICAgICAgaW50ZXJuYWxzLmFkZFByZWZldGNoTG9h
ZEV2ZW50TGlzdGVuZXIobGluaywgKCkgPT4geyBsb2FkQWZ0ZXJQcmVmZXRjaCgpOyB9KTsKICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9tYWluLXJlc291cmNlLTMwNC1yZWxvYWQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL21haW4tcmVzb3VyY2UtMzA0LXJlbG9hZC5o
dG1sCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL21h
aW4tcmVzb3VyY2UtMzA0LXJlbG9hZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMSw3ICsxMSw3
IEBAIGZ1bmN0aW9uIGxvYWRGcmFtZShvbmxvYWQpCiAgICAgaWYgKGlmcmFtZSkKICAgICAgICAg
ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChpZnJhbWUpOwogICAgIGlmcmFtZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIGlmcmFtZS5zcmMgPSAicmVzb3VyY2VzL2lm
cmFtZTMwNGJvZHkucGhwIjsKKyAgICBpZnJhbWUuc3JjID0gInJlc291cmNlcy9pZnJhbWUzMDRi
b2R5LnB5IjsKICAgICBpZnJhbWUub25sb2FkID0gb25sb2FkOwogICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQoaWZyYW1lKTsKIH0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcG9zdC1yZWRpcmVjdC1nZXQucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucGhwCShyZXZpc2lvbiAyNzQyOTIpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LnBocAkobm9uZXhp
c3RlbnQpCkBAIC0xLDYwICswLDAgQEAKLTw/cGhwCi1yZXF1aXJlX29uY2UgJy4uL3Jlc291cmNl
cy9wb3J0YWJpbGl0eUxheWVyLnBocCc7Ci0KLS8vIFRoaXMgdGVzdCBsb2FkcyBhbiB1bmNhY2hl
YWJsZSBtYWluIHJlc291cmNlIGFuZCBhIGNhY2hlYWJsZSBpbWFnZSBzdWJyZXNvdXJjZS4KLS8v
IFdlIHRoZW4gdHJpZ2dlciBhIFBPU1QgcmVxdWVzdCwgd2hpY2ggcmVkaXJlY3RzIGFzIGEgR0VU
IGJhY2sgdG8gdGhpcyBwYWdlLgotLy8gT24gdGhpcyBHRVQgcmVxdWVzdCwgdGhlIGltYWdlIHNo
b3VsZCBiZSBsb2FkZWQgZnJvbSB0aGUgY2FjaGUgYW5kIG5vIEhUVFAKLS8vIHJlcXVlc3Qgc2hv
dWxkIGJlIHNlbnQuIFRoZSBpbWFnZSByZXNvdXJjZSB3aWxsIHJldHVybiA0MDQgaWYgaXQgcmVj
ZWl2ZXMKLS8vIGEgc2Vjb25kIHJlcXVlc3QsIHdoaWNoIHdpbGwgY2F1c2UgdXMgdG8gRkFJTC4K
LS8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg2OTAKLWhl
YWRlcignQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUsIG5vLXN0b3JlLCBtdXN0LXJldmFsaWRhdGUs
IG1heC1hZ2U9MCcpOwotaGVhZGVyKCdQcmFnbWE6IG5vLWNhY2hlJyk7Ci1oZWFkZXIoJ0V4cGly
ZXM6ICcgLiBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCktMSkpOwotCi1pZiAoJF9QT1NUWyJz
dWJtaXQiXSA9PSAicmVkaXJlY3QiKSB7Ci0gICAgaGVhZGVyKCdIVFRQLzEuMSAzMDIgRm91bmQn
KTsKLSAgICBoZWFkZXIoJ0xvY2F0aW9uOiBwb3N0LXJlZGlyZWN0LWdldC5waHA/ZmluaXNoPXRy
dWUnKTsKLSAgICBleGl0KCk7Ci19Ci0/PgotPGh0bWw+Ci08Ym9keT4KLTxkaXYgaWQ9InJlc3Vs
dCI+PC9kaXY+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci19Ci0g
ICAgCi1mdW5jdGlvbiBsb2dBbmRGaW5pc2gobWVzc2FnZSkKLXsKLSAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicmVzdWx0IikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUo
bWVzc2FnZSkpOwotICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7Ci0gICAgeGhyLm9w
ZW4oIkdFVCIsICIuLi9yZXNvdXJjZXMvcmVzZXQtdGVtcC1maWxlLnBocD9maWxlbmFtZT1jYWNo
ZV9wb3N0LXJlZGlyZWN0LWdldF9zdGF0ZSIsIGZhbHNlKTsKLSAgICB4aHIuc2VuZChudWxsKTsK
LSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwotfQotPC9zY3JpcHQ+Ci08P3BocAotY2xlYXJzdGF0Y2FjaGUoKTsKLWlmICgkX0dFVFsi
ZmluaXNoIl0gPT0gInRydWUiKSB7Ci0gICAgLy8gVGhlIGluaXRpYWwgbG9hZCBvZiB0aGUgaW1h
Z2UgbWlnaHQgaGF2ZSBiZWVuIGRvbmUgZnJvbSB0aGUgY2FjaGUuIEluIHRoYXQgY2FzZSwgdG91
Y2ggdGhlCi0gICAgLy8gc3RhdGUgZmlsZSB0byBpbmRpY2F0ZSBhIGxvYWQgaGFzIGFscmVhZHkg
b2NjdXJyZWQuCi0gICAgaWYgKCFmaWxlX2V4aXN0cyhzeXNfZ2V0X3RlbXBfZGlyKCkgLiAiL2Nh
Y2hlX3Bvc3QtcmVkaXJlY3QtZ2V0X3N0YXRlIikpIHsKLSAgICAgICAgZWNobyAiPHNjcmlwdD4i
OwotICAgICAgICBlY2hvICJ4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7IjsKLSAgICAgICAgZWNo
byAieGhyLm9wZW4oJ0dFVCcsICcuLi9yZXNvdXJjZXMvdG91Y2gtdGVtcC1maWxlLnBocD9maWxl
bmFtZT1jYWNoZV9wb3N0LXJlZGlyZWN0LWdldF9zdGF0ZScsIGZhbHNlKTsiOwotICAgICAgICBl
Y2hvICJ4aHIuc2VuZChudWxsKTsiOwotICAgICAgICBlY2hvICI8L3NjcmlwdD4iOwotICAgIH0K
LSAgICBlY2hvICI8aW1nIHNyYz0ncmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnBocD90
ZXN0PWNhY2hlX3Bvc3QtcmVkaXJlY3QtZ2V0JyBvbmxvYWQ9XCJsb2dBbmRGaW5pc2goJ1BBU1Mn
KTtcIiBvbmVycm9yPVwibG9nQW5kRmluaXNoKCdGQUlMJyk7XCI+PC9pbWc+IjsKLX0gZWxzZSB7
Ci0gICAgZWNobyAiPGZvcm0gYWN0aW9uPSdwb3N0LXJlZGlyZWN0LWdldC5waHAnIG1ldGhvZD0n
cG9zdCc+IjsKLSAgICBlY2hvICI8aW5wdXQgdHlwZT0nc3VibWl0JyBpZD0nc3VibWl0JyBuYW1l
PSdzdWJtaXQnIHZhbHVlPSdyZWRpcmVjdCc+IjsKLSAgICBlY2hvICI8L2Zvcm0+IjsKLSAgICBl
Y2hvICI8aW1nIHNyYz0ncmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnBocD90ZXN0PWNh
Y2hlX3Bvc3QtcmVkaXJlY3QtZ2V0JyBvbmxvYWQ9XCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
c3VibWl0JykuY2xpY2soKTtcIiBvbmVycm9yPVwibG9nQW5kRmluaXNoKCdGQUlMIG9uIGluaXRp
YWwgbG9hZCcpO1wiPjwvaW1nPiI7Ci19IAotPz4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucHkKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC5weQko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJl
Y3QtZ2V0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODMgQEAKKyMhL3Vzci9iaW4vZW52
IHB5dGhvbjMKKworaW1wb3J0IGNnaQoraW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgdGVt
cGZpbGUKK2Zyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lZGVsdGEKK2Zyb20gdXJs
bGliLnBhcnNlIGltcG9ydCBwYXJzZV9xcworCitmaWxlID0gX19maWxlX18uc3BsaXQoJzovY3ln
d2luJylbLTFdCitodHRwX3Jvb3QgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKG9z
LnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoZmlsZSkpKSkKK3N5cy5wYXRoLmluc2VydCgw
LCBodHRwX3Jvb3QpCisKK3JlcXVlc3RfbWV0aG9kID0gb3MuZW52aXJvbi5nZXQoJ1JFUVVFU1Rf
TUVUSE9EJywgJycpCitleHBpcmVzID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1lLnV0Y25v
dygpIC0gdGltZWRlbHRhKHNlY29uZHM9MSkpLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06
JVMnKSkKK2ZpbmlzaCA9IHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAn
JyksIGtlZXBfYmxhbmtfdmFsdWVzPVRydWUpLmdldCgnZmluaXNoJywgWycnXSlbMF0KKworcmVx
dWVzdCA9IHt9CitpZiByZXF1ZXN0X21ldGhvZCA9PSAnUE9TVCc6CisgICAgZm9ybSA9IGNnaS5G
aWVsZFN0b3JhZ2UoKQorICAgIGZvciBrZXkgaW4gc29ydGVkKGZvcm0ua2V5cygpKToKKyAgICAg
ICAgcmVxdWVzdFtrZXldID0gZm9ybS5nZXR2YWx1ZShrZXkpCisKK3N5cy5zdGRvdXQud3JpdGUo
CisgICAgJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBuby1zdG9yZSwgbXVzdC1yZXZhbGlkYXRl
LCBtYXgtYWdlPTBcclxuJworICAgICdQcmFnbWE6IG5vLWNhY2hlXHJcbicKKyAgICBmJ0V4cGly
ZXM6IHtleHBpcmVzfVxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcbicKKykK
KworaWYgcmVxdWVzdC5nZXQoJ3N1Ym1pdCcsICcnKSA9PSAncmVkaXJlY3QnOgorICAgIHN5cy5z
dGRvdXQud3JpdGUoCisgICAgICAgICdzdGF0dXM6IDMwMlxyXG4nCisgICAgICAgICdMb2NhdGlv
bjogcG9zdC1yZWRpcmVjdC1nZXQucHk/ZmluaXNoPXRydWVcclxuXHJcbicKKyAgICApCisgICAg
c3lzLmV4aXQoMCkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnXHJcbicKKyAgICAnPGh0bWw+
XHJcbicKKyAgICAnPGJvZHk+XHJcbicKKyAgICAnPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj5cclxu
JworICAgICc8c2NyaXB0PlxyXG4nCisgICAgJ2lmICh3aW5kb3cudGVzdFJ1bm5lcikge1xyXG4n
CisgICAgJyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTtcclxuJworICAgICcgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7XHJcbicKKyAgICAnfVxyXG4nCisgICAgJyAgICBcclxuJwor
ICAgICdmdW5jdGlvbiBsb2dBbmRGaW5pc2gobWVzc2FnZSlcclxuJworICAgICd7XHJcbicKKyAg
ICAnICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5hcHBlbmRDaGlsZChkb2N1
bWVudC5jcmVhdGVUZXh0Tm9kZShtZXNzYWdlKSk7XHJcbicKKyAgICAnICAgIHZhciB4aHIgPSBu
ZXcgWE1MSHR0cFJlcXVlc3Q7XHJcbicKKyAgICAnICAgIHhoci5vcGVuKCJHRVQiLCAiLi4vcmVz
b3VyY2VzL3Jlc2V0LXRlbXAtZmlsZS5weT9maWxlbmFtZT1jYWNoZV9wb3N0LXJlZGlyZWN0LWdl
dF9zdGF0ZSIsIGZhbHNlKTtcclxuJworICAgICcgICAgeGhyLnNlbmQobnVsbCk7XHJcbicKKyAg
ICAnICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcilcclxuJworICAgICcgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpO1xyXG4nCisgICAgJ31cclxuJworICAgICc8L3NjcmlwdD5cclxuJwor
KQorCitpZiBmaW5pc2ggPT0gJ3RydWUnOgorICAgIHRtcEZpbGUgPSBvcy5wYXRoLmpvaW4odGVt
cGZpbGUuZ2V0dGVtcGRpcigpLCAnY2FjaGVfcG9zdC1yZWRpcmVjdC1nZXRfc3RhdGUnKQorICAg
IGlmIG5vdCBvcy5wYXRoLmlzZmlsZSh0bXBGaWxlKToKKyAgICAgICAgc3lzLnN0ZG91dC53cml0
ZSgKKyAgICAgICAgICAgICc8c2NyaXB0PicKKyAgICAgICAgICAgICd4aHIgPSBuZXcgWE1MSHR0
cFJlcXVlc3Q7JworICAgICAgICAgICAgJ3hoci5vcGVuKFwnR0VUXCcsIFwnLi4vcmVzb3VyY2Vz
L3RvdWNoLXRlbXAtZmlsZS5weT9maWxlbmFtZT1jYWNoZV9wb3N0LXJlZGlyZWN0LWdldF9zdGF0
ZVwnLCBmYWxzZSk7JworICAgICAgICAgICAgJ3hoci5zZW5kKG51bGwpOycKKyAgICAgICAgICAg
ICc8L3NjcmlwdD4nCisgICAgICAgICkKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCc8aW1nIHNyYz1c
J3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5weT90ZXN0PWNhY2hlX3Bvc3QtcmVkaXJl
Y3QtZ2V0XCcgb25sb2FkPSJsb2dBbmRGaW5pc2goXCdQQVNTXCcpOyIgb25lcnJvcj0ibG9nQW5k
RmluaXNoKFwnRkFJTFwnKTsiPjwvaW1nPicpCitlbHNlOgorICAgIHN5cy5zdGRvdXQud3JpdGUo
CisgICAgICAgICc8Zm9ybSBhY3Rpb249XCdwb3N0LXJlZGlyZWN0LWdldC5weVwnIG1ldGhvZD1c
J3Bvc3RcJz4nCisgICAgICAgICc8aW5wdXQgdHlwZT1cJ3N1Ym1pdFwnIGlkPVwnc3VibWl0XCcg
bmFtZT1cJ3N1Ym1pdFwnIHZhbHVlPVwncmVkaXJlY3RcJz4nCisgICAgICAgICc8L2Zvcm0+Jwor
ICAgICAgICAnPGltZyBzcmM9XCdyZXNvdXJjZXMvcG9zdC1pbWFnZS10by12ZXJpZnkucHk/dGVz
dD1jYWNoZV9wb3N0LXJlZGlyZWN0LWdldFwnIG9ubG9hZD0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoXCdzdWJtaXRcJykuY2xpY2soKTsiIG9uZXJyb3I9ImxvZ0FuZEZpbmlzaChcJ0ZBSUwgb24g
aW5pdGlhbCBsb2FkXCcpOyI+PC9pbWc+JworICAgICkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAg
ICAnPC9ib2R5PlxuJworICAgICc8L2h0bWw+XG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9w
b3N0LXJlZGlyZWN0LWdldC5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAt
MCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMucGhw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNh
Y2hlZC1zdWJyZXNvdXJjZXMucGhwCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLnBocAkobm9uZXhp
c3RlbnQpCkBAIC0xLDU0ICswLDAgQEAKLTw/cGhwCi1yZXF1aXJlX29uY2UgJy4uL3Jlc291cmNl
cy9wb3J0YWJpbGl0eUxheWVyLnBocCc7Ci0KLS8vIFRoaXMgdGVzdCBsb2FkcyBhbiB1bmNhY2hl
YWJsZSBtYWluIHJlc291cmNlIGFuZCBhIGNhY2hlYWJsZSBpbWFnZSBzdWJyZXNvdXJjZS4KLS8v
IFdlIHJlcXVlc3QgdGhpcyBwYWdlIGFzIGEgR0VULCB0aGVuIHJlbG9hZCB0aGlzIHBhZ2Ugd2l0
aCBhIFBPU1QuCi0vLyBPbiB0aGUgcG9zdCByZXF1ZXN0LCB0aGUgaW1hZ2Ugc2hvdWxkIGJlIGxv
YWRlZCBmcm9tIHRoZSBjYWNoZSBhbmQgbm8gSFRUUAotLy8gcmVxdWVzdCBzaG91bGQgYmUgc2Vu
dC4gVGhlIGltYWdlIHJlc291cmNlIHdpbGwgcmV0dXJuIDQwNCBpZiBpdCByZWNlaXZlcwotLy8g
YSBzZWNvbmQgcmVxdWVzdCwgd2hpY2ggd2lsbCBjYXVzZSB1cyB0byBGQUlMLgotLy8gU2VlIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODY5MAotaGVhZGVyKCdDYWNo
ZS1Db250cm9sOiBuby1jYWNoZSwgbm8tc3RvcmUsIG11c3QtcmV2YWxpZGF0ZSwgbWF4LWFnZT0w
Jyk7Ci1oZWFkZXIoJ1ByYWdtYTogbm8tY2FjaGUnKTsKLWhlYWRlcignRXhwaXJlczogJyAuIGdt
ZGF0ZShEQVRFX1JGQzExMjMsIHRpbWUoKS0xKSk7Ci0/PgotPGh0bWw+Ci08Ym9keT4KLTxkaXYg
aWQ9InJlc3VsdCI+PC9kaXY+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0g
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7Ci19Ci0gICAgCi1mdW5jdGlvbiBsb2dBbmRGaW5pc2gobWVzc2FnZSkKLXsKLSAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRl
VGV4dE5vZGUobWVzc2FnZSkpOwotICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7Ci0g
ICAgeGhyLm9wZW4oIkdFVCIsICIuLi9yZXNvdXJjZXMvcmVzZXQtdGVtcC1maWxlLnBocD9maWxl
bmFtZT1jYWNoZV9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlc19zdGF0ZSIsIGZhbHNlKTsK
LSAgICB4aHIuc2VuZChudWxsKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfQotPC9zY3JpcHQ+Ci08P3BocAotY2xlYXJzdGF0
Y2FjaGUoKTsKLWlmICgkX1BPU1RbInN1Ym1pdCJdID09ICJmaW5pc2giKSB7Ci0gICAgLy8gVGhl
IGluaXRpYWwgbG9hZCBvZiB0aGUgaW1hZ2UgbWlnaHQgaGF2ZSBiZWVuIGRvbmUgZnJvbSB0aGUg
Y2FjaGUuIEluIHRoYXQgY2FzZSwgdG91Y2ggdGhlCi0gICAgLy8gc3RhdGUgZmlsZSB0byBpbmRp
Y2F0ZSBhIGxvYWQgaGFzIGFscmVhZHkgb2NjdXJyZWQuCi0gICAgaWYgKCFmaWxlX2V4aXN0cyhz
eXNfZ2V0X3RlbXBfZGlyKCkgLiAiL2NhY2hlX3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2Vz
X3N0YXRlIikpIHsKLSAgICAgICAgZWNobyAiPHNjcmlwdD4iOwotICAgICAgICBlY2hvICJ4aHIg
PSBuZXcgWE1MSHR0cFJlcXVlc3Q7IjsKLSAgICAgICAgZWNobyAieGhyLm9wZW4oJ0dFVCcsICcu
Li9yZXNvdXJjZXMvdG91Y2gtdGVtcC1maWxlLnBocD9maWxlbmFtZT1jYWNoZV9wb3N0LXdpdGgt
Y2FjaGVkLXN1YnJlc291cmNlc19zdGF0ZScsIGZhbHNlKTsiOwotICAgICAgICBlY2hvICJ4aHIu
c2VuZChudWxsKTsiOwotICAgICAgICBlY2hvICI8L3NjcmlwdD4iOwotICAgIH0KLSAgICBlY2hv
ICI8aW1nIHNyYz0ncmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnBocD90ZXN0PWNhY2hl
X3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzJyBvbmxvYWQ9XCJsb2dBbmRGaW5pc2goJ1BB
U1MnKTtcIiBvbmVycm9yPVwibG9nQW5kRmluaXNoKCdGQUlMJyk7XCI+PC9pbWc+IjsKLX0gZWxz
ZSB7Ci0gICAgZWNobyAiPGZvcm0gYWN0aW9uPSdwb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNl
cy5waHAnIG1ldGhvZD0ncG9zdCc+IjsKLSAgICBlY2hvICI8aW5wdXQgdHlwZT0nc3VibWl0JyBp
ZD0nc3VibWl0JyBuYW1lPSdzdWJtaXQnIHZhbHVlPSdmaW5pc2gnPiI7Ci0gICAgZWNobyAiPC9m
b3JtPiI7Ci0gICAgZWNobyAiPGltZyBzcmM9J3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlm
eS5waHA/dGVzdD1jYWNoZV9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcycgb25sb2FkPVwi
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Ym1pdCcpLmNsaWNrKCk7XCIgb25lcnJvcj1cImxv
Z0FuZEZpbmlzaCgnRkFJTCBvbiBpbml0aWFsIGxvYWQnKTtcIj48L2ltZz4iOwotfSAKLT8+Ci08
L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qt
d2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMucHkJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1
YnJlc291cmNlcy5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDgxIEBACisjIS91c3IvYmlu
L2VudiBweXRob24zCisKK2ltcG9ydCBjZ2kKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0
IHRlbXBmaWxlCitmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZSwgdGltZWRlbHRhCisKKyMg
VGhpcyB0ZXN0IGxvYWRzIGFuIHVuY2FjaGVhYmxlIG1haW4gcmVzb3VyY2UgYW5kIGEgY2FjaGVh
YmxlIGltYWdlIHN1YnJlc291cmNlLgorIyBXZSByZXF1ZXN0IHRoaXMgcGFnZSBhcyBhIEdFVCwg
dGhlbiByZWxvYWQgdGhpcyBwYWdlIHdpdGggYSBQT1NULgorIyBPbiB0aGUgcG9zdCByZXF1ZXN0
LCB0aGUgaW1hZ2Ugc2hvdWxkIGJlIGxvYWRlZCBmcm9tIHRoZSBjYWNoZSBhbmQgbm8gSFRUUAor
IyByZXF1ZXN0IHNob3VsZCBiZSBzZW50LiBUaGUgaW1hZ2UgcmVzb3VyY2Ugd2lsbCByZXR1cm4g
NDA0IGlmIGl0IHJlY2VpdmVzCisjIGEgc2Vjb25kIHJlcXVlc3QsIHdoaWNoIHdpbGwgY2F1c2Ug
dXMgdG8gRkFJTC4KKyMgU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zODY5MAorCitmaWxlID0gX19maWxlX18uc3BsaXQoJzovY3lnd2luJylbLTFdCitodHRwX3Jv
b3QgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChvcy5w
YXRoLmRpcm5hbWUoZmlsZSkpKSkKK3N5cy5wYXRoLmluc2VydCgwLCBodHRwX3Jvb3QpCisKK3Jl
cXVlc3RfbWV0aG9kID0gb3MuZW52aXJvbi5nZXQoJ1JFUVVFU1RfTUVUSE9EJywgJycpCitleHBf
dGltZSA9IGRhdGV0aW1lLnV0Y25vdygpIC0gdGltZWRlbHRhKHNlY29uZHM9MSkKKworc3lzLnN0
ZG91dC53cml0ZSgKKyAgICAnQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUsIG5vLXN0b3JlLCBtdXN0
LXJldmFsaWRhdGUsIG1heC1hZ2U9MFxyXG4nCisgICAgJ1ByYWdtYTogbm8tY2FjaGVcclxuJwor
ICAgICdFeHBpcmVzOiB7fSArMDAwMFxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1s
XHJcblxyXG4nLmZvcm1hdChleHBfdGltZS5zdHJmdGltZSgnJWEsICVkICViICVZICVIOiVNOiVT
JykpCispCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJzxodG1sPlxuJworICAgICc8Ym9keT5c
bicKKyAgICAnPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj5cbicKKyAgICAnPHNjcmlwdD5cbicKKyAg
ICAnaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7XG4nCisgICAgJyAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTtcbicKKyAgICAnICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpO1xuJworICAg
ICd9XG4nCisgICAgJyAgICBcbicKKyAgICAnZnVuY3Rpb24gbG9nQW5kRmluaXNoKG1lc3NhZ2Up
XG4nCisgICAgJ3tcbicKKyAgICAnICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQi
KS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtZXNzYWdlKSk7XG4nCisgICAg
JyAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0O1xuJworICAgICcgICAgeGhyLm9wZW4o
IkdFVCIsICIuLi9yZXNvdXJjZXMvcmVzZXQtdGVtcC1maWxlLnB5P2ZpbGVuYW1lPWNhY2hlX3Bv
c3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzX3N0YXRlIiwgZmFsc2UpO1xuJworICAgICcgICAg
eGhyLnNlbmQobnVsbCk7XG4nCisgICAgJyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpXG4nCisg
ICAgJyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7XG4nCisgICAgJ31cbicKKyAgICAn
PC9zY3JpcHQ+XG4nCispCisKK3JlcXVlc3QgPSB7fQoraWYgcmVxdWVzdF9tZXRob2QgPT0gJ1BP
U1QnOgorICAgIGZvcm0gPSBjZ2kuRmllbGRTdG9yYWdlKCkKKyAgICBmb3Iga2V5IGluIHNvcnRl
ZChmb3JtLmtleXMoKSk6CisgICAgICAgIHJlcXVlc3Rba2V5XSA9IGZvcm0uZ2V0dmFsdWUoa2V5
KQorCitpZiByZXF1ZXN0LmdldCgnc3VibWl0JywgJycpID09ICdmaW5pc2gnOgorICAgIHRtcEZp
bGVQYXRoID0gb3MucGF0aC5qb2luKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwgJ2NhY2hlX3Bvc3Qt
d2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzX3N0YXRlJykKKyAgICBpZiBvcy5wYXRoLmV4aXN0cyh0
bXBGaWxlUGF0aCk6CisgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICAgICAnPHNj
cmlwdD4nCisgICAgICAgICAgICAneGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0OycKKyAgICAgICAg
ICAgICd4aHIub3BlbihcJ0dFVFwnLCBcJy4uL3Jlc291cmNlcy90b3VjaC10ZW1wLWZpbGUucHk/
ZmlsZW5hbWU9Y2FjaGVfcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXNfc3RhdGVcJywgZmFs
c2UpOycKKyAgICAgICAgICAgICd4aHIuc2VuZChudWxsKTsnCisgICAgICAgICAgICAnPC9zY3Jp
cHQ+JworICAgICAgICApCisKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCc8aW1nIHNyYz1cJ3Jlc291
cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5weT90ZXN0PWNhY2hlX3Bvc3Qtd2l0aC1jYWNoZWQt
c3VicmVzb3VyY2VzXCcgb25sb2FkPSJsb2dBbmRGaW5pc2goXCdQQVNTXCcpOyIgb25lcnJvcj0i
bG9nQW5kRmluaXNoKFwnRkFJTFwnKTsiPjwvaW1nPicpCitlbHNlOgorICAgIHN5cy5zdGRvdXQu
d3JpdGUoCisgICAgICAgICc8Zm9ybSBhY3Rpb249XCdwb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291
cmNlcy5weVwnIG1ldGhvZD1cJ3Bvc3RcJz4nCisgICAgICAgICc8aW5wdXQgdHlwZT1cJ3N1Ym1p
dFwnIGlkPVwnc3VibWl0XCcgbmFtZT1cJ3N1Ym1pdFwnIHZhbHVlPVwnZmluaXNoXCc+JworICAg
ICAgICAnPC9mb3JtPicKKyAgICAgICAgJzxpbWcgc3JjPVwncmVzb3VyY2VzL3Bvc3QtaW1hZ2Ut
dG8tdmVyaWZ5LnB5P3Rlc3Q9Y2FjaGVfcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXNcJyBv
bmxvYWQ9XCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcJ3N1Ym1pdFwnKS5jbGljaygpO1wiIG9u
ZXJyb3I9XCJsb2dBbmRGaW5pc2goXCdGQUlMIG9uIGluaXRpYWwgbG9hZFwnKTtcIj48L2ltZz4n
CisgICAgKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICc8L2JvZHk+XG4nCisgICAgJzwvaHRt
bD5cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3Vy
Y2VzLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9yZWN1cnNpdmUtdmFsaWRhdGlvbi5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVjdXJzaXZlLXZhbGlkYXRpb24uaHRtbAkocmV2aXNp
b24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZWN1cnNpdmUtdmFs
aWRhdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC02LDcgKzYsNyBAQCBkZXNjcmlwdGlvbigi
VGVzdCB0aGF0IHJlY3Vyc2l2ZWx5IGxvYWRpCiAKIGZ1bmN0aW9uIGxvYWQoY29tcGxldGlvbikg
ewogICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKLSAgICB4aHIub3BlbignR0VU
JywgInJlc291cmNlcy9uby1jYWNoZS13aXRoLXZhbGlkYXRpb24ucGhwIik7CisgICAgeGhyLm9w
ZW4oJ0dFVCcsICJyZXNvdXJjZXMvbm8tY2FjaGUtd2l0aC12YWxpZGF0aW9uLnB5Iik7CiAgICAg
eGhyLm9ubG9hZCA9IGNvbXBsZXRpb247CiAgICAgeGhyLnNlbmQoKTsKIH0KSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVkaXJlY3QtcmVmZXJlci5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVkaXJlY3QtcmVmZXJlci5odG1sCShy
ZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3JlZGlyZWN0
LXJlZmVyZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw3ICsxLDcgQEAKIDxib2R5PgogPHNj
cmlwdD4KIHZhciBybmQgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDAwMDAwMDAwMDAw
MDAwKTsKLXZhciBpZnJhbWVTcmMgPSAicmVzb3VyY2VzL3Blcm1hbmVudC1yZWRpcmVjdC5waHA/
bG9jYXRpb249cmVkaXJlY3QtcmVmZXJlci1pZnJhbWUuaHRtbCZybmQ9IiArIHJuZDsKK3ZhciBp
ZnJhbWVTcmMgPSAicmVzb3VyY2VzL3Blcm1hbmVudC1yZWRpcmVjdC5weT9sb2NhdGlvbj1yZWRp
cmVjdC1yZWZlcmVyLWlmcmFtZS5odG1sJnJuZD0iICsgcm5kOwogCiB2YXIgaWZyYW1lID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CiBpZnJhbWUuc3JjID0gaWZyYW1lU3JjOwpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZWxvYWQtbWFpbi1yZXNvdXJjZS5w
aHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZWxvYWQtbWFp
bi1yZXNvdXJjZS5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvcmVsb2FkLW1haW4tcmVzb3VyY2UucGhwCShub25leGlzdGVudCkKQEAgLTEsMjcg
KzAsMCBAQAotPD9waHAKLXJlcXVpcmVfb25jZSAnLi4vcmVzb3VyY2VzL3BvcnRhYmlsaXR5TGF5
ZXIucGhwJzsKLWNsZWFyc3RhdGNhY2hlKCk7Ci1pZiAoZmlsZV9leGlzdHMoc3lzX2dldF90ZW1w
X2RpcigpIC4gIi9jYWNoZS1yZWxvYWQtbWFpbi1yZXNvdXJjZS50bXAiKSkKLSAgICB1bmxpbmso
c3lzX2dldF90ZW1wX2RpcigpIC4gIi9jYWNoZS1yZWxvYWQtbWFpbi1yZXNvdXJjZS50bXAiKTsK
LT8+Ci0KLTxib2R5PgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLTxzY3JpcHQ+Ci1pZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLX0KLQotZnVuY3Rpb24gcmVsb2FkSWZyYW1lKCkgewot
ICAgIHdpbmRvdy5mcmFtZXNbMF0ubG9jYXRpb24ucmVsb2FkKCk7Ci19Ci0KLWZ1bmN0aW9uIGZp
bmlzaCgpIHsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJUZXh0
ID0gIlBBU1MiOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7Ci19Ci08L3NjcmlwdD4KLTxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvcmVs
b2FkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBocCIgb25sb2FkPSJyZWxvYWRJZnJhbWUoKTsiPjwv
aWZyYW1lPgotPC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZWxv
YWQtbWFpbi1yZXNvdXJjZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3JlbG9hZC1tYWluLXJlc291cmNlLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVsb2FkLW1haW4tcmVzb3VyY2UucHkJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzNyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MK
K2ltcG9ydCBzeXMKK2ltcG9ydCB0ZW1wZmlsZQorCitmaWxlID0gX19maWxlX18uc3BsaXQoJzov
Y3lnd2luJylbLTFdCitodHRwX3Jvb3QgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1l
KG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoZmlsZSkpKSkKK3N5cy5wYXRoLmluc2Vy
dCgwLCBodHRwX3Jvb3QpCisKK3RtcEZpbGUgPSBvcy5wYXRoLmpvaW4odGVtcGZpbGUuZ2V0dGVt
cGRpcigpLCAnY2FjaGUtcmVsb2FkLW1haW4tcmVzb3VyY2UudG1wJykKK2lmIG9zLnBhdGguaXNm
aWxlKHRtcEZpbGUpOgorICAgIG9zLnJlbW92ZSh0bXBGaWxlKQorCitzeXMuc3Rkb3V0LndyaXRl
KAorICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworICAgICc8Ym9keT5cbicK
KyAgICAnPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj5cbicKKyAgICAnPHNjcmlwdD5cbicKKyAgICAn
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7XG4nCisgICAgJyAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTtcbicKKyAgICAnICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpO1xuJworICAgICd9
XG4nCisgICAgJ1xuJworICAgICdmdW5jdGlvbiByZWxvYWRJZnJhbWUoKSB7XG4nCisgICAgJyAg
ICB3aW5kb3cuZnJhbWVzWzBdLmxvY2F0aW9uLnJlbG9hZCgpO1xuJworICAgICd9XG4nCisgICAg
J1xuJworICAgICdmdW5jdGlvbiBmaW5pc2goKSB7XG4nCisgICAgJyAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJUZXh0ID0gIlBBU1MiO1xuJworICAgICcgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKVxuJworICAgICcgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpO1xuJworICAgICd9XG4nCisgICAgJzwvc2NyaXB0PlxuJworICAgICc8aWZyYW1lIHNyYz0i
cmVzb3VyY2VzL3JlbG9hZC1tYWluLXJlc291cmNlLWlmcmFtZS5weSIgb25sb2FkPSJyZWxvYWRJ
ZnJhbWUoKTsiPjwvaWZyYW1lPlxuJworICAgICc8L2JvZHk+XG4nCispClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZWxvYWQtbWFpbi1yZXNvdXJjZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhl
Y3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvc3R5bGVzaGVldC1zaGFyaW5nLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9zdHlsZXNoZWV0
LXNoYXJpbmcuaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9zdHlsZXNoZWV0LXNoYXJpbmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTYsNyAr
MTYsNyBAQCBmdW5jdGlvbiB3YWl0Rm9yU3R5bGVzaGVldChpZnJhbWUsIGNvbXBsCiBmdW5jdGlv
biBsb2FkKHNyYywgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgdmFyIGlmcmFtZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIGlmcmFtZS5zcmMgPSAicmVzb3VyY2Vz
L3N0eWxlc2hlZXQtaHRtbC5waHA/c2hlZXQ9IiArIHNyYzsKKyAgICBpZnJhbWUuc3JjID0gInJl
c291cmNlcy9zdHlsZXNoZWV0LWh0bWwucHk/c2hlZXQ9IiArIHNyYzsKICAgICBpZnJhbWUub25s
b2FkID0gZnVuY3Rpb24gKCkgewogICAgICAgICBpZnJhbWUuY29udGVudERvY3VtZW50LmJvZHku
b2Zmc2V0V2lkdGg7CiAgICAgICAgIHdhaXRGb3JTdHlsZXNoZWV0KGlmcmFtZSwgY29tcGxldGlv
bkhhbmRsZXIpOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS92YXJ5LWZyYW1l
bGVzcy1kb2N1bWVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvdmFyeS1mcmFtZWxlc3MtZG9jdW1lbnQuaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS92YXJ5LWZyYW1lbGVzcy1kb2N1bWVudC5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQog
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCi12YXIgc3ZnRG9jdW1lbnRTdHJpbmcgPSAn
PHN2Zz48dXNlIHg9IjUwIiB5PSIxMCIgeGxpbms6aHJlZj0icmVzb3VyY2VzL3N2Zy1kZWZzLXZh
cnkucGhwI2NpcmNsZSIgLz48L3N2Zz4nOwordmFyIHN2Z0RvY3VtZW50U3RyaW5nID0gJzxzdmc+
PHVzZSB4PSI1MCIgeT0iMTAiIHhsaW5rOmhyZWY9InJlc291cmNlcy9zdmctZGVmcy12YXJ5LnB5
I2NpcmNsZSIgLz48L3N2Zz4nOwogZnVuY3Rpb24gbWFrZURvY3VtZW50KCkgewogICAgIHZhciBk
b2MgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoJycpOwogICAg
IGRvYy5vcGVuKCk7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3gtZnJhbWUt
b3B0aW9ucy0zMDQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3gtZnJhbWUtb3B0aW9ucy0zMDQuaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS94LWZyYW1lLW9wdGlvbnMtMzA0Lmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTE3LDkgKzE3LDkgQEAgZnVuY3Rpb24gdGVzdCgpIHsKIAogICAgIGRvY3VtZW50
LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuYm9keS5sYXN0Q2hpbGQpOwogICAgIHZhciBpZnJh
bWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBpZnJhbWUuc3JjID0g
InJlc291cmNlcy94LWZyYW1lLW9wdGlvbnMucGhwIgorICAgIGlmcmFtZS5zcmMgPSAicmVzb3Vy
Y2VzL3gtZnJhbWUtb3B0aW9ucy5weSIKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlm
cmFtZSk7CiB9CiA8L3NjcmlwdD4KLTxpZnJhbWUgc3JjPSJyZXNvdXJjZXMveC1mcmFtZS1vcHRp
b25zLnBocCI+PC9pZnJhbWU+Cis8aWZyYW1lIHNyYz0icmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9u
cy5weSI+PC9pZnJhbWU+CiA8L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3hoci1ib2R5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS94aHItYm9keS5odG1sCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3hoci1ib2R5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE4LDcgKzE4LDcg
QEAgZnVuY3Rpb24gdGVzdCgpIHsKICAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBmdW5jdGlvbigpIHsgbG9nKCJsb2FkIik7IHJlcGVhdCgpOyB9LCBmYWxzZSk7CiAgICAgcmVx
dWVzdC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsIGZ1bmN0aW9uKCkgeyBsb2coImVycm9yIik7
IHJlcGVhdCgpOyB9LCBmYWxzZSk7CiAgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJhYm9y
dCIsIGZ1bmN0aW9uKCkgeyBsb2coImFib3J0Iik7IHJlcGVhdCgpOyB9LCBmYWxzZSk7Ci0gICAg
cmVxdWVzdC5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL2JvZHkucGhwIiwgdHJ1ZSk7CisgICAgcmVx
dWVzdC5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL2JvZHkucHkiLCB0cnVlKTsKICAgICByZXF1ZXN0
LnNlbmQoKTsKIH0KIApAQCAtMzYsNyArMzYsNyBAQCBmdW5jdGlvbiByZXBlYXQoKSB7CiAgICAg
c2Vjb25kUmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7IHNlY29u
ZFJlcXVlc3RGaW5pc2hlZCgpOyB9LCBmYWxzZSk7CiAgICAgc2Vjb25kUmVxdWVzdC5hZGRFdmVu
dExpc3RlbmVyKCJlcnJvciIsIGZ1bmN0aW9uKCkgeyBsb2coImVycm9yIik7IGVuZCgpOyB9LCBm
YWxzZSk7CiAgICAgc2Vjb25kUmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsIGZ1bmN0
aW9uKCkgeyBsb2coImFib3J0Iik7IGVuZCgpOyB9LCBmYWxzZSk7Ci0gICAgc2Vjb25kUmVxdWVz
dC5vcGVuKCJQT1NUIiwgInJlc291cmNlcy9ib2R5LnBocCIsIHRydWUpOworICAgIHNlY29uZFJl
cXVlc3Qub3BlbigiUE9TVCIsICJyZXNvdXJjZXMvYm9keS5weSIsIHRydWUpOwogICAgIHNlY29u
ZFJlcXVlc3Quc2VuZCgiVGhpcyBodHRwIGJvZHkgc2hvdWxkIGJlIHZpc2libGUiKTsKIH0KIApJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS94aHItdmFyeS1oZWFkZXIuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3hoci12YXJ5LWhlYWRl
ci5odG1sCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3hoci12YXJ5LWhlYWRlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMiw3ICsxMiw3IEBAIHZh
ciB0ZXN0U3RlcCA9IDE7CiBmdW5jdGlvbiB0ZXN0Q3Jvc3NPcmlnaW4oKQogewogICAgIHZhciBy
ZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7Ci0gICAgcmVxLm9wZW4oImdldCIsICJodHRwOi8vbG9j
YWxob3N0OjgwMDAvY2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25zZS5waHAi
KTsKKyAgICByZXEub3BlbigiZ2V0IiwgImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNv
dXJjZXMveGhyLXZhcnktaGVhZGVyLXJlc3BvbnNlLnB5Iik7CiAgICAgcmVxLm9ubG9hZD1mdW5j
dGlvbigpIHsgcmVjZWl2ZWRSZXNwb25zZShyZXEucmVzcG9uc2VUZXh0KSB9CiAgICAgcmVxLnNl
bmQoKTsKIH0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9k
aXNrLWNhY2hlLXJlZGlyZWN0LXRvLWRhdGEuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZWRpcmVjdC10by1kYXRh
Lmh0bWwJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9kaXNrLWNhY2hlLXJlZGlyZWN0LXRvLWRhdGEuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMSw1ICsxLDUgQEAKIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9cmVzb3VyY2VzL3JlZGlyZWN0LXRvLWRh
dGEucGhwPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL3JlZGlyZWN0LXRvLWRhdGEu
cHk+PC9zY3JpcHQ+CiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBIVFRQIHJlZGly
ZWN0IHRvIGEgZGF0YSBVUkwgZG9lcyBub3QgY3Jhc2ggb3IgYXNzZXJ0IGluIHRoZSBuZXR3b3Jr
IHByb2Nlc3MuIik7CiBzaG91bGRCZVRydWUoInN1Y2Nlc3MiKTsKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hlLXJlbW92ZS1zZXZlcmFsLXBl
bmRpbmctd3JpdGVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtcmVtb3ZlLXNldmVyYWwtcGVuZGluZy13cml0ZXMu
aHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9k
aXNrLWNhY2hlL2Rpc2stY2FjaGUtcmVtb3ZlLXNldmVyYWwtcGVuZGluZy13cml0ZXMuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMjIsNyArMjIsNyBAQCBmdW5jdGlvbiBmZXRjaCh1cmwpIHsKIAog
ZnVuY3Rpb24gZmV0Y2hSZXNvdXJjZSgpIHsKICAgaW50ZXJuYWxzLmNsZWFyTWVtb3J5Q2FjaGUo
KTsKLSAgcmV0dXJuIGZldGNoKCdyZXNvdXJjZXMvanNvbi5waHA/aWQ9JyArIGlkKS50aGVuKGZ1
bmN0aW9uIChyZXNwKSB7CisgIHJldHVybiBmZXRjaCgncmVzb3VyY2VzL2pzb24ucHk/aWQ9JyAr
IGlkKS50aGVuKGZ1bmN0aW9uIChyZXNwKSB7CiAgICAgaWYgKHJlc3AuYm9keS52ZXJzaW9uID09
PSAyKSB7CiAgICAgICBidWdSZXByb2R1Y2VkID0gZmFsc2U7CiAgICAgfQpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3JlZGlyZWN0LWNoYWluLWxpbWl0cy5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9yZWRpcmVjdC1jaGFpbi1saW1pdHMuaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3JlZGlyZWN0LWNoYWluLWxpbWl0cy5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC05LDcgKzksNyBAQCBmdW5jdGlvbiByZWRpcmVjdENoYWlu
KGxlbmd0aCwgdW5pcXVlSWQsCiB7CiAgICAgaW50ZXJuYWxzLmNsZWFyTWVtb3J5Q2FjaGUoKQog
Ci0gICAgdmFyIHVybCA9ICJyZXNvdXJjZXMvcmVkaXJlY3QtY2hhaW4ucGhwP2xlbmd0aD0iICsg
bGVuZ3RoICsgIiZ1bmlxdWVJZD0iICsgdW5pcXVlSWQ7CisgICAgdmFyIHVybCA9ICJyZXNvdXJj
ZXMvcmVkaXJlY3QtY2hhaW4ucHk/bGVuZ3RoPSIgKyBsZW5ndGggKyAiJnVuaXF1ZUlkPSIgKyB1
bmlxdWVJZDsKIAogICAgIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgIHhoci5vbmxv
YWQgPSBvbmxvYWQ7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2Fj
aGUvc2hhdHRlcmVkLWRlZHVwbGljYXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc2hhdHRlcmVkLWRlZHVwbGljYXRpb24uaHRt
bAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNr
LWNhY2hlL3NoYXR0ZXJlZC1kZWR1cGxpY2F0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTUs
NyArNSw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKIAogZnVuY3Rpb24gbWFrZUNvbGxpc2lv
bihmaWxlKQogewotICAgIHJldHVybiAicmVzb3VyY2VzL21ha2Utc2hhMS1jb2xsaXNpb24ucGhw
P3BhdGg9IiArIGZpbGU7CisgICAgcmV0dXJuICJyZXNvdXJjZXMvbWFrZS1zaGExLWNvbGxpc2lv
bi5weT9wYXRoPSIgKyBmaWxlOwogfQogCiBmdW5jdGlvbiBhZGRJbWFnZUZyYW1lKHNyYywgdGlt
ZW91dCkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNv
dXJjZXMvanNvbi5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9qc29uLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9qc29uLnBocAko
bm9uZXhpc3RlbnQpCkBAIC0xLDQyICswLDAgQEAKLTw/cGhwCi0KLWZ1bmN0aW9uIHNlbmQzMDQo
KQotewotICAgIGhlYWRlcigiSFRUUC8xLjEgMzA0IE5vdCBNb2RpZmllZCIpOwotICAgIGhlYWRl
cigiRVRhZzogZm9vIik7Ci19Ci0KLSRpZCA9ICRfR0VUWyJpZCJdOwotJGNvdW50ID0gMTsKLWlm
IChpc3NldCgkX0NPT0tJRVskaWRdKSkgewotICAgICRjb3VudCA9ICRfQ09PS0lFWyRpZF07Ci19
Ci0KLXNldGNvb2tpZSgkaWQsICRjb3VudCArIDEpOwotCi1pZiAoJGNvdW50ID09IDEpIHsKLSAg
ICBoZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG11c3QtcmV2YWxpZGF0ZSIpOwotICAgIGhlYWRlcigi
RVRhZzogZm9vIik7Ci0gICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24i
KTsKLSAgICBlY2hvICd7InZlcnNpb24iOiAxfSc7Ci19IGVsc2UgaWYgKCRjb3VudCA9PSAyKSB7
Ci0gICAgc2VuZDMwNCgpOwotfSBlbHNlIGlmICgkY291bnQgPT0gMykgewotICAgIGhlYWRlcigi
SFRUUC8xLjEgNDA0IE5vdCBGb3VuZCIpOwotICAgIGhlYWRlcigiQ2FjaGUtQ29udHJvbDogbXVz
dC1yZXZhbGlkYXRlIik7Ci0gICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pz
b24iKTsKLSAgICBlY2hvICd7Im5vdCI6ICJmb3VuZCJ9JzsKLX0gZWxzZSBpZiAoJGNvdW50ID09
IDQpIHsKLSAgICBpZiAoJF9TRVJWRVJbIkhUVFBfSUZfTk9ORV9NQVRDSCJdID09ICJmb28iKSB7
Ci0gICAgICAgIHNlbmQzMDQoKTsKLSAgICB9IGVsc2UgewotICAgICAgICBoZWFkZXIoIkNhY2hl
LUNvbnRyb2w6IG11c3QtcmV2YWxpZGF0ZSIpOwotICAgICAgICBoZWFkZXIoIkVUYWc6IGZvbyIp
OwotICAgICAgICBoZWFkZXIoIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIpOwotICAg
ICAgICBlY2hvICd7InZlcnNpb24iOiAyfSc7Ci0gICAgfQotfSBlbHNlIHsKLSAgICBzZW5kMzA0
KCk7Ci19Ci0KLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2Fj
aGUvcmVzb3VyY2VzL2pzb24ucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9qc29uLnB5CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvanNvbi5weQko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU1IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisK
K2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNlX3Fz
CisKK2RlZiBzZW5kMzA0KCk6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ0NvbnRl
bnQtVHlwZTogdGV4dC9odG1sXHJcbicKKyAgICAgICAgJ3N0YXR1czogMzA0XHJcbicKKyAgICAg
ICAgJ0VUYWc6IGZvb1xyXG5cclxuJworICAgICkKKworaWRlbnQgPSBwYXJzZV9xcyhvcy5lbnZp
cm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKS5nZXQo
J2lkJywgWycnXSlbMF0KK2Nvb2tpZXMgPSB7fQoraWYgJ0hUVFBfQ09PS0lFJyBpbiBvcy5lbnZp
cm9uOgorICAgIGhlYWRlcl9jb29raWVzID0gb3MuZW52aXJvblsnSFRUUF9DT09LSUUnXQorICAg
IGhlYWRlcl9jb29raWVzID0gaGVhZGVyX2Nvb2tpZXMuc3BsaXQoJzsgJykKKworICAgIGZvciBj
b29raWUgaW4gaGVhZGVyX2Nvb2tpZXM6CisgICAgICAgIGNvb2tpZSA9IGNvb2tpZS5zcGxpdCgn
PScpCisgICAgICAgIGNvb2tpZXNbY29va2llWzBdXSA9IGNvb2tpZVsxXQorCitjb3VudCA9IDEK
K2lmIGNvb2tpZXMuZ2V0KGlkZW50LCBOb25lKToKKyAgICBjb3VudCA9IGludChjb29raWVzLmdl
dChpZGVudCwgMCkpCisKK3N5cy5zdGRvdXQud3JpdGUoZidTZXQtQ29va2llOiB7aWRlbnR9PXtj
b3VudCArIDF9XHJcbicpCisKK2lmIGNvdW50ID09IDE6CisgICAgc3lzLnN0ZG91dC53cml0ZSgK
KyAgICAgICAgJ0NhY2hlLUNvbnRyb2w6IG11c3QtcmV2YWxpZGF0ZVxyXG4nCisgICAgICAgICdF
VGFnOiBmb29cclxuJworICAgICAgICAnQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uXHJc
blxyXG4nCisgICAgICAgICd7InZlcnNpb24iOiAxfScKKyAgICApCitlbGlmIGNvdW50ID09IDM6
CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ3N0YXR1czogNDA0XHJcbicKKyAgICAg
ICAgJ0NhY2hlLUNvbnRyb2w6IG11c3QtcmV2YWxpZGF0ZVxyXG4nCisgICAgICAgICdDb250ZW50
LVR5cGU6IGFwcGxpY2F0aW9uL2pzb25cclxuXHJcbicKKyAgICAgICAgJ3sibm90IjogImZvdW5k
In0nCisgICAgKQorZWxpZiBjb3VudCA9PSA0OgorICAgIGlmIG9zLmVudmlyb24uZ2V0KCdIVFRQ
X0lGX05PTkVfTUFUQ0gnLCAnJykgPT0gJ2Zvbyc6CisgICAgICAgIHNlbmQzMDQoKQorICAgIGVs
c2U6CisgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICAgICAnQ2FjaGUtQ29udHJv
bDogbXVzdC1yZXZhbGlkYXRlXHJcbicKKyAgICAgICAgICAgICdFVGFnOiBmb29cclxuJworICAg
ICAgICAgICAgJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvblxyXG5cclxuJworICAgICAg
ICAgICAgJ3sidmVyc2lvbiI6IDJ9JworICAgICAgICApCitlbHNlOgorICAgIHNlbmQzMDQoKQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvanNvbi5weQpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9yZXNvdXJjZXMvbWFrZS1zaGExLWNvbGxpc2lvbi5waHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9tYWtlLXNo
YTEtY29sbGlzaW9uLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9tYWtlLXNoYTEtY29sbGlzaW9uLnBocAko
bm9uZXhpc3RlbnQpCkBAIC0xLDkgKzAsMCBAQAotPD8KLSRwYXRoID0gJF9HRVRbJ3BhdGgnXTsK
LWhlYWRlcignSFRUUC8xLjEgMjAwIE9LJyk7Ci1oZWFkZXIoIkNhY2hlLWNvbnRyb2w6IG1heC1h
Z2U9MTAwMDAiKTsKLWhlYWRlcigiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9wZGYiKTsKLSRj
b250ZW50ID0gZmlsZV9nZXRfY29udGVudHMoJHBhdGgpOwotJGNvbGxpZGluZ0NvbnRlbnQgPSBz
dHJfcmVwbGFjZSgiU1ZOIGlzIHRoZSBiZXN0ISIsICJTSEEtMSBpcyBkZWFkISEhIiwgJGNvbnRl
bnQpOwotZWNobyAkY29sbGlkaW5nQ29udGVudDsKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL21ha2Utc2hhMS1jb2xsaXNpb24ucHkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jl
c291cmNlcy9tYWtlLXNoYTEtY29sbGlzaW9uLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvbWFrZS1zaGExLWNvbGxp
c2lvbi5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE3IEBACisjIS91c3IvYmluL2VudiBw
eXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0
IHBhcnNlX3FzCisKK3BhdGggPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5H
JywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKS5nZXQoJ3BhdGgnLCBbJyddKVswXQorCitz
eXMuc3Rkb3V0LndyaXRlKAorICAgICdzdGF0dXM6IDIwMFxyXG4nCisgICAgJ0NhY2hlLWNvbnRy
b2w6IG1heC1hZ2U9MTAwMDBcclxuJworICAgICdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3Bk
ZlxyXG5cclxuJworKQorCitzeXMuc3Rkb3V0LmZsdXNoKCkKK3dpdGggb3Blbihvcy5wYXRoLmpv
aW4oJy8nLmpvaW4oX19maWxlX18uc3BsaXQoJy8nKVswOi0xXSksIHBhdGgpLCAncmInKSBhcyBm
aWxlOgorICAgIHN5cy5zdGRvdXQuYnVmZmVyLndyaXRlKGZpbGUucmVhZCgpLnJlcGxhY2UoYidT
Vk4gaXMgdGhlIGJlc3QhJywgYidTSEEtMSBpcyBkZWFkISEhJykpClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9tYWtlLXNoYTEtY29sbGlzaW9uLnB5Cl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNr
LWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1jaGFpbi5waHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1jaGFp
bi5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtY2hhaW4ucGhwCShub25leGlzdGVudCkKQEAg
LTEsMTMgKzAsMCBAQAotPD8KLSRsZW5ndGggPSAkX0dFVFsnbGVuZ3RoJ107Ci1pZiAoJGxlbmd0
aCA9PSAwKSB7Ci0gICAgaGVhZGVyKCdTdGF0dXM6IDIwMCcpOwotICAgIGhlYWRlcignQ2FjaGUt
Q29udHJvbDogbWF4LWFnZT0xMDAnKTsKLSAgICBleGl0KCk7Ci19Ci0kbGVuZ3RoID0gJGxlbmd0
aCAtIDE7Ci0KLWhlYWRlcignU3RhdHVzOiAzMDInKTsKLWhlYWRlcignQ2FjaGUtQ29udHJvbDog
bWF4LWFnZT0xMDAnKTsKLWhlYWRlcignTG9jYXRpb246IHJlZGlyZWN0LWNoYWluLnBocD9sZW5n
dGg9JyAuICRsZW5ndGggLiAnJnVuaXF1ZUlkPScgLiAkX0dFVFsndW5pcXVlSWQnXSAuICcmcmFu
ZG9tPScgLiByYW5kKCkpOwotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtY2hhaW4ucHkKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1j
aGFpbi5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rp
c2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LWNoYWluLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMjUgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQg
c3lzCitmcm9tIHJhbmRvbSBpbXBvcnQgcmFuZGludAorZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0
IHBhcnNlX3FzCisKK3F1ZXJ5ID0gcGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklO
RycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkKK2xlbmd0aCA9IGludChxdWVyeS5nZXQo
J2xlbmd0aCcsIFswXSlbMF0pCit1bmlxdWVfaWQgPSBxdWVyeS5nZXQoJ3VuaXF1ZUlkJywgWycn
XSlbMF0KKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0x
MDBcclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nCispCisKK2lmIGxlbmd0
aCA9PSAwOgorICAgIHN5cy5zdGRvdXQud3JpdGUoJ3N0YXR1czogMjAwXHJcblxyXG4nKQorICAg
IHN5cy5leGl0KDApCisKK2xlbmd0aCAtPSAxCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdzdGF0
dXM6IDMwMlxyXG4nCisgICAgZidMb2NhdGlvbjogcmVkaXJlY3QtY2hhaW4ucHk/bGVuZ3RoPXts
ZW5ndGh9JnVuaXF1ZUlkPXt1bmlxdWVfaWR9JnJhbmRvbT17cmFuZGludCgwLCBzeXMubWF4c2l6
ZSl9XHJcblxyXG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNl
cy9yZWRpcmVjdC1jaGFpbi5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAt
MCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtdG8t
ZGF0YS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNr
LWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC10by1kYXRhLnBocAkocmV2aXNpb24gMjc0MjkyKQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRp
cmVjdC10by1kYXRhLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotPD8KLWhlYWRl
cignU3RhdHVzOiAzMDEgTW92ZWQgUGVybWFuZW50bHknKTsKLWhlYWRlcignTG9jYXRpb246IGRh
dGE6YXBwbGljYXRpb24vamF2YXNjcmlwdCxzdWNjZXNzPXRydWU7Jyk7Ci0/PgpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC10
by1kYXRhLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tZGF0YS5weQkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0
LXRvLWRhdGEucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw5IEBACisjIS91c3IvYmluL2Vu
diBweXRob24zCisKK2ltcG9ydCBzeXMKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnc3RhdHVz
OiAzMDFcclxuJworICAgICdMb2NhdGlvbjogZGF0YTphcHBsaWNhdGlvbi9qYXZhc2NyaXB0LHN1
Y2Nlc3M9dHJ1ZTtcclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJwor
KQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtdG8t
ZGF0YS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisq
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL2NhY2hlYWJsZS1y
ZWRpcmVjdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL2NhY2hlYWJsZS1yZWRpcmVjdC5odG1s
CShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9jYWNoZWFibGUtcmVkaXJlY3QuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMTYsNyArMTYsNyBAQCBmdW5jdGlvbiBmcmFtZUxvYWRlZCgpCiAgICAg
ICAgIC8vIE5hdmlnYXRlIGZyYW1lIHRvIGl0cyBvcmlnaW5hbCBsb2NhdGlvbiBhZ2Fpbi4gVGhp
cyB0aW1lIGl0IHNob3VsZCBzcGVjdWxhdGl2ZWx5CiAgICAgICAgIC8vIHZhbGlkYXRlIHN1YnJl
c291cmNlcyBhcyB3ZSBoYXZlIHN1YnJlc291cmNlIGxvYWRzIG1ldGFkYXRhIGluIHRoZSBkaXNr
IGNhY2hlLgogICAgICAgICBzdGF0ZSA9ICJzcGVjdWxhdGl2ZVJldmFsaWRhdGlvbiI7Ci0gICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RnJhbWUiKS5zcmMgPSAicmVzb3VyY2Vz
L2NhY2hlYWJsZS1yZWRpcmVjdC1mcmFtZS5waHAiOworICAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGVzdEZyYW1lIikuc3JjID0gInJlc291cmNlcy9jYWNoZWFibGUtcmVkaXJlY3Qt
ZnJhbWUucHkiOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlmIChzdGF0ZSA9PSAic3Bl
Y3VsYXRpdmVSZXZhbGlkYXRpb24iKSB7CkBAIC0yOCw1ICsyOCw1IEBAIGZ1bmN0aW9uIGZyYW1l
TG9hZGVkKCkKIH0KIAogPC9zY3JpcHQ+Ci08aWZyYW1lIGlkPSJ0ZXN0RnJhbWUiIHNyYz0icmVz
b3VyY2VzL2NhY2hlYWJsZS1yZWRpcmVjdC1mcmFtZS5waHAiIG9ubG9hZD0iZnJhbWVMb2FkZWQo
KSI+PC9pZnJhbWU+Cis8aWZyYW1lIGlkPSJ0ZXN0RnJhbWUiIHNyYz0icmVzb3VyY2VzL2NhY2hl
YWJsZS1yZWRpcmVjdC1mcmFtZS5weSIgb25sb2FkPSJmcmFtZUxvYWRlZCgpIj48L2lmcmFtZT4K
IDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxh
dGl2ZS12YWxpZGF0aW9uL2h0dHAtYXV0aC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL2h0dHAt
YXV0aC5odG1sCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9odHRwLWF1dGguaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMTIsNyArMTIsNyBAQCBzdGF0ZSA9ICJ3YXJtdXAiOwogZnVuY3Rpb24g
Y2xlYXJDcmVkZW50aWFsU3RvcmFnZSgpCiB7CiAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0
KCk7Ci0gICAgeGhyLm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvcmVzb3VyY2Utd2l0aC1hdXRoLnBo
cD9vdGhlciIsIGZhbHNlLCAiYmFkVXNlcm5hbWUiLCAiYmFkUGFzc3dvcmQiKTsKKyAgICB4aHIu
b3BlbigiR0VUIiwgInJlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucHk/b3RoZXIiLCBmYWxz
ZSwgImJhZFVzZXJuYW1lIiwgImJhZFBhc3N3b3JkIik7CiAgICAgeGhyLnNlbmQoKTsKICAgICBz
aG91bGRCZSgieGhyLnN0YXR1cyIsICI0MDEiKTsKIH0KQEAgLTM1LDcgKzM1LDcgQEAgZnVuY3Rp
b24gZnJhbWVMb2FkZWQoKQogICAgICAgICAvLyBOYXZpZ2F0ZSBmcmFtZSB0byBpdHMgb3JpZ2lu
YWwgbG9jYXRpb24gYWdhaW4uIFRoaXMgdGltZSBpdCBzaG91bGQgc3BlY3VsYXRpdmVseQogICAg
ICAgICAvLyB2YWxpZGF0ZSBzdWJyZXNvdXJjZXMgYXMgd2UgaGF2ZSBzdWJyZXNvdXJjZSBsb2Fk
cyBtZXRhZGF0YSBpbiB0aGUgZGlzayBjYWNoZS4KICAgICAgICAgc3RhdGUgPSAic3BlY3VsYXRp
dmVSZXZhbGlkYXRpb24iOwotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdEZy
YW1lIikuc3JjID0gInJlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRpY2F0ZWQtcmVzb3VyY2Uu
cGhwIjsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RGcmFtZSIpLnNyYyA9
ICJyZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnB5IjsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KICAgICBpZiAoc3RhdGUgPT0gInNwZWN1bGF0aXZlUmV2YWxpZGF0
aW9uIikgewpAQCAtNDcsNSArNDcsNSBAQCBmdW5jdGlvbiBmcmFtZUxvYWRlZCgpCiB9CiAKIDwv
c2NyaXB0PgotPGlmcmFtZSBpZD0idGVzdEZyYW1lIiBzcmM9InJlc291cmNlcy9mcmFtZS13aXRo
LWF1dGhlbnRpY2F0ZWQtcmVzb3VyY2UucGhwIiBvbmxvYWQ9ImZyYW1lTG9hZGVkKCkiPjwvaWZy
YW1lPgorPGlmcmFtZSBpZD0idGVzdEZyYW1lIiBzcmM9InJlc291cmNlcy9mcmFtZS13aXRoLWF1
dGhlbnRpY2F0ZWQtcmVzb3VyY2UucHkiIG9ubG9hZD0iZnJhbWVMb2FkZWQoKSI+PC9pZnJhbWU+
CiA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3Vs
YXRpdmUtdmFsaWRhdGlvbi92YWxpZGF0aW9uLXJlcXVlc3QuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRh
dGlvbi92YWxpZGF0aW9uLXJlcXVlc3QuaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24v
dmFsaWRhdGlvbi1yZXF1ZXN0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAg
ZnVuY3Rpb24gZnJhbWVMb2FkZWQoKQogICAgICAgICAvLyBOYXZpZ2F0ZSBmcmFtZSB0byBpdHMg
b3JpZ2luYWwgbG9jYXRpb24gYWdhaW4uIFRoaXMgdGltZSBpdCBzaG91bGQgc3BlY3VsYXRpdmVs
eQogICAgICAgICAvLyB2YWxpZGF0ZSBzdWJyZXNvdXJjZXMgYXMgd2UgaGF2ZSBzdWJyZXNvdXJj
ZSBsb2FkcyBtZXRhZGF0YSBpbiB0aGUgZGlzayBjYWNoZS4KICAgICAgICAgc3RhdGUgPSAic3Bl
Y3VsYXRpdmVSZXZhbGlkYXRpb24iOwotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGVzdEZyYW1lIikuc3JjID0gInJlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucGhw
IjsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RGcmFtZSIpLnNyYyA9ICJy
ZXNvdXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1lLnB5IjsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KICAgICBpZiAoc3RhdGUgPT0gInNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uIikgewpAQCAt
NTAsNSArNTAsNSBAQCBmdW5jdGlvbiBmcmFtZUxvYWRlZCgpCiB9CiAKIDwvc2NyaXB0PgotPGlm
cmFtZSBpZD0idGVzdEZyYW1lIiBzcmM9InJlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJh
bWUucGhwIiBvbmxvYWQ9ImZyYW1lTG9hZGVkKCkiPjwvaWZyYW1lPgorPGlmcmFtZSBpZD0idGVz
dEZyYW1lIiBzcmM9InJlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucHkiIG9ubG9h
ZD0iZnJhbWVMb2FkZWQoKSI+PC9pZnJhbWU+CiA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY2Fj
aGVhYmxlLXJlZGlyZWN0LWZyYW1lLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMv
Y2FjaGVhYmxlLXJlZGlyZWN0LWZyYW1lLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24v
cmVzb3VyY2VzL2NhY2hlYWJsZS1yZWRpcmVjdC1mcmFtZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAt
MSwxNyArMCwwIEBACi08P3BocAotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbCcpOwot
aGVhZGVyKCdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTAnKTsKLWhlYWRlcignRXRhZzogMTIzNDU2
Nzg5Jyk7Ci0KLT8+Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08bGluayByZWw9
InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJyZWRpcmVjdC10by1jc3MucGhwIj4K
LTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0idGVzdERpdiIgY2xhc3M9InRlc3RDbGFzcyI+Ci1U
RVNUCi08L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jYWNo
ZWFibGUtcmVkaXJlY3QtZnJhbWUucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2Nh
Y2hlYWJsZS1yZWRpcmVjdC1mcmFtZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJj
ZXMvY2FjaGVhYmxlLXJlZGlyZWN0LWZyYW1lLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MjAgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IHN5cworCitzeXMuc3Rkb3V0
LndyaXRlKAorICAgICdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTBcclxuJworICAgICdFdGFnOiAx
MjM0NTY3ODlcclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworICAg
ICc8IURPQ1RZUEUgaHRtbD5cbicKKyAgICAnPGh0bWw+XG4nCisgICAgJzxoZWFkPlxuJworICAg
ICc8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJyZWRpcmVjdC10
by1jc3MucHkiPlxuJworICAgICc8L2hlYWQ+XG4nCisgICAgJzxib2R5PlxuJworICAgICc8ZGl2
IGlkPSJ0ZXN0RGl2IiBjbGFzcz0idGVzdENsYXNzIj5cbicKKyAgICAnVEVTVFxuJworICAgICc8
L2Rpdj5cbicKKyAgICAnPC9ib2R5PlxuJworICAgICc8L2h0bWw+XG4nCispClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2Nh
Y2hlYWJsZS1yZWRpcmVjdC1mcmFtZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJs
ZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxp
ZGF0aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5waHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRp
b24vcmVzb3VyY2VzL2Nzcy10by1yZXZhbGlkYXRlLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlk
YXRpb24vcmVzb3VyY2VzL2Nzcy10by1yZXZhbGlkYXRlLnBocAkobm9uZXhpc3RlbnQpCkBAIC0x
LDE3ICswLDAgQEAKLTw/cGhwCi1pZiAoJF9TRVJWRVJbIkhUVFBfSUZfTk9ORV9NQVRDSCJdID09
ICJmb28iKSB7Ci0gICAgaGVhZGVyKCJIVFRQLzEuMSAzMDQgTm90IE1vZGlmaWVkIik7Ci0gICAg
aGVhZGVyKCJFVGFnOiBmb28iKTsKLSAgICByZXR1cm47Ci19Ci0KLWhlYWRlcigiQ29udGVudC1U
eXBlOiB0ZXh0L2NzcyIpOwotaGVhZGVyKCJFVGFnOiBmb28iKTsKLWhlYWRlcigiQ2FjaGUtQ29u
dHJvbDogbWF4LWFnZT0wIik7Ci0KLT8+Ci0KLS50ZXN0Q2xhc3MKLXsKLSAgICBjb2xvcjogZ3Jl
ZW47Ci19CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3Bl
Y3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY3NzLXRvLXJldmFsaWRhdGUucHkKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0
aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2Nzcy10by1yZXZhbGlkYXRlLnB5CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2
ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5weQkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDIzIEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcwor
aW1wb3J0IHN5cworCittYXRjaCA9IG9zLmVudmlyb24uZ2V0KCdIVFRQX0lGX05PTkVfTUFUQ0gn
LCAnJykKK2lmIG1hdGNoID09ICdmb28nOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAg
ICdzdGF0dXM6IDMwNFxyXG4nCisgICAgICAgICdFVGFnOiBmb29cclxuJworICAgICAgICAnQ29u
dGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICApCisgICAgc3lzLmV4aXQoMCkKKwor
c3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2Nzc1xyXG4nCisgICAg
J0VUYWc6IGZvb1xyXG4nCisgICAgJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MFxyXG5cclxuJwor
ICAgICcudGVzdENsYXNzXG4nCisgICAgJ3tcbicKKyAgICAnICAgIGNvbG9yOiBncmVlbjtcbicK
KyAgICAnfVxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2
ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5weQpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRpY2F0
ZWQtcmVzb3VyY2UucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9mcmFtZS13aXRo
LWF1dGhlbnRpY2F0ZWQtcmVzb3VyY2UucGhwCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9y
ZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnBocAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDEwICswLDAgQEAKLTw/cGhwCi1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9o
dG1sJyk7Ci1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MCcpOwotaGVhZGVyKCdFdGFn
OiAxMjM0NTY3ODknKTsKLQotPz4KLTwhRE9DVFlQRSBodG1sPgotPGJvZHk+Ci08c2NyaXB0IHNy
Yz0icmVzb3VyY2Utd2l0aC1hdXRoLnBocCI+PC9zY3JpcHQ+Ci08L2JvZHk+CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlv
bi9yZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnB5Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2
ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRpY2F0ZWQtcmVzb3VyY2Uu
cHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNh
Y2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2ZyYW1lLXdpdGgtYXV0aGVudGlj
YXRlZC1yZXNvdXJjZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACisjIS91c3Iv
YmluL2VudiBweXRob24zCisKK2ltcG9ydCBzeXMKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAn
Q2FjaGUtQ29udHJvbDogbWF4LWFnZT0wXHJcbicKKyAgICAnRXRhZzogMTIzNDU2Nzg5XHJcbicK
KyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICAnPCFET0NUWVBFIGh0
bWw+XG4nCisgICAgJzxib2R5PlxuJworICAgICc8c2NyaXB0IHNyYz0icmVzb3VyY2Utd2l0aC1h
dXRoLnB5Ij48L3NjcmlwdD5cbicKKyAgICAnPC9ib2R5PlxuJworKQpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9mcmFtZS13
aXRoLWF1dGhlbnRpY2F0ZWQtcmVzb3VyY2UucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1
dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUt
dmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tY3NzLnBocAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRh
dGlvbi9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tY3NzLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlk
YXRpb24vcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWNzcy5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw2
ICswLDAgQEAKLTw/cGhwCi1oZWFkZXIoJ0hUVFAvMS4xIDMwMiBGb3VuZCcpOwotaGVhZGVyKCdM
b2NhdGlvbjogL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJj
ZXMvY3NzLXRvLXJldmFsaWRhdGUucGhwJyk7Ci1oZWFkZXIoJ0V4cGlyZXM6IFRodSwgMDEgRGVj
IDIwMDMgMTY6MDA6MDAgR01UJyk7Ci1oZWFkZXIoJ0VUYWc6IGZvbycpOwotPz4KSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0
aW9uL3Jlc291cmNlcy9yZWRpcmVjdC10by1jc3MucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVz
b3VyY2VzL3JlZGlyZWN0LXRvLWNzcy5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJj
ZXMvcmVkaXJlY3QtdG8tY3NzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTEgQEAKKyMh
L3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IHN5cworCitzeXMuc3Rkb3V0LndyaXRlKAor
ICAgICdzdGF0dXM6IDMwMlxyXG4nCisgICAgJ0xvY2F0aW9uOiAvY2FjaGUvZGlzay1jYWNoZS9z
cGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5weVxyXG4n
CisgICAgJ0V4cGlyZXM6IFRodSwgMDEgRGVjIDIwMDMgMTY6MDA6MDAgR01UXHJcbicKKyAgICAn
RVRhZzogZm9vXHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKykK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9y
ZXNvdXJjZXMvcmVkaXJlY3QtdG8tY3NzLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRh
YmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZh
bGlkYXRpb24vcmVzb3VyY2VzL3JlcXVlc3QtaGVhZGVycy1zY3JpcHQucGhwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12
YWxpZGF0aW9uL3Jlc291cmNlcy9yZXF1ZXN0LWhlYWRlcnMtc2NyaXB0LnBocAkocmV2aXNpb24g
Mjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1
bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3JlcXVlc3QtaGVhZGVycy1zY3JpcHQucGhwCShu
b25leGlzdGVudCkKQEAgLTEsMTIgKzAsMCBAQAotPD9waHAKLWhlYWRlcignQ29udGVudC1UeXBl
OiB0ZXh0L2phdmFzY3JpcHQnKTsKLWhlYWRlcignQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0wJyk7
Ci1oZWFkZXIoJ0V0YWc6IDEyMzQ1Njc4OScpOwotCi0/PgotYWxsUmVxdWVzdEhlYWRlcnMgPSBb
XTsKLTw/cGhwCi1mb3JlYWNoIChnZXRhbGxoZWFkZXJzKCkgYXMgJG5hbWUgPT4gJHZhbHVlKSB7
Ci0gICAgZWNobyAiYWxsUmVxdWVzdEhlYWRlcnNbJyIgLiAkbmFtZSAuICInXSA9ICciIC4gJHZh
bHVlIC4gIic7IjsKLX0KLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rp
c2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVxdWVzdC1oZWFkZXJz
LXNjcmlwdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rp
c2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVxdWVzdC1oZWFkZXJz
LXNjcmlwdC5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVxdWVzdC1oZWFk
ZXJzLXNjcmlwdC5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIwIEBACisjIS91c3IvYmlu
L2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitoZWFkZXJzID0ge30KK2Zv
ciBoZWFkZXJuYW1lLCBoZWFkZXJ2YWx1ZSBpbiBvcy5lbnZpcm9uLml0ZW1zKCk6CisgICAgaWYg
bm90IGhlYWRlcm5hbWUuc3RhcnRzd2l0aCgnSFRUUF8nKToKKyAgICAgICAgY29udGludWUKKyAg
ICBoZWFkZXJzWyctJy5qb2luKCcgJy5qb2luKGhlYWRlcm5hbWVbNTpdLmxvd2VyKCkucmVwbGFj
ZSgnXycsICctJykuc3BsaXQoJy0nKSkudGl0bGUoKS5zcGxpdCgnICcpKV0gPSBoZWFkZXJ2YWx1
ZQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdDb250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlw
dFxyXG4nCisgICAgJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MFxyXG4nCisgICAgJ0V0YWc6IDEy
MzQ1Njc4OVxyXG5cclxuJworICAgICdhbGxSZXF1ZXN0SGVhZGVycyA9IFtdO1xuJworKQorCitm
b3Iga2V5IGluIGhlYWRlcnM6CisgICAgc3lzLnN0ZG91dC53cml0ZShmJ2FsbFJlcXVlc3RIZWFk
ZXJzW1wne2tleX1cJ10gPSBcJ3toZWFkZXJzW2tleV19XCc7JykKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVxdWVzdC1o
ZWFkZXJzLXNjcmlwdC5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCww
ICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jl
c291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291
cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucGhwCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9y
ZXNvdXJjZXMvcmVzb3VyY2Utd2l0aC1hdXRoLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDE4ICsw
LDAgQEAKLTw/cGhwCi0kZXhwZWN0ZWRVc2VybmFtZSA9ICd0ZXN0VXNlcm5hbWUnOwotJGV4cGVj
dGVkUGFzc3dvcmQgPSAndGVzdFBhc3N3b3JkJzsKLSRyZWFsbSA9ICRfU0VSVkVSWydSRVFVRVNU
X1VSSSddOwotCi1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0Jyk7Ci1oZWFk
ZXIoJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MCcpOwotaGVhZGVyKCdFdGFnOiAxMjM0NTY3ODkn
KTsKLQotaWYgKCFpc3NldCgkX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddKSB8fCAkX1NFUlZFUlsn
UEhQX0FVVEhfVVNFUiddICE9ICRleHBlY3RlZFVzZXJuYW1lIHx8Ci0gICAgIWlzc2V0KCRfU0VS
VkVSWydQSFBfQVVUSF9QVyddKSB8fCAkX1NFUlZFUlsnUEhQX0FVVEhfUFcnXSAhPSAkZXhwZWN0
ZWRQYXNzd29yZCkgewotICAgIGhlYWRlcigiV1dXLUF1dGhlbnRpY2F0ZTogQmFzaWMgcmVhbG09
XCIiIC4gJHJlYWxtIC4gIlwiIik7Ci0gICAgaGVhZGVyKCdIVFRQLzEuMCA0MDEgVW5hdXRob3Jp
emVkJyk7Ci0gICAgcHJpbnQgJ1NlbnQgdXNlcm5hbWU6cGFzc3dvcmQgb2YgKCcgLiAkX1NFUlZF
UlsnUEhQX0FVVEhfVVNFUiddIC4gJzonIC4gJF9TRVJWRVJbJ1BIUF9BVVRIX1BXJ10gLiAnKSB3
aGljaCBpcyBub3Qgd2hhdCB3YXMgZXhwZWN0ZWQnOwotICAgIGV4aXQ7Ci19Ci0/PgotbG9hZGVk
ID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9z
cGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucHkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1
bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3Jlc291cmNlLXdpdGgtYXV0aC5weQkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3Vs
YXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVzb3VyY2Utd2l0aC1hdXRoLnB5CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0
IGJhc2U2NAoraW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK2NyZWRlbnRpYWxzID0gYmFzZTY0LmI2
NGRlY29kZShvcy5lbnZpcm9uLmdldCgnSFRUUF9BVVRIT1JJWkFUSU9OJywgJyBPZz09Jykuc3Bs
aXQoJyAnKVsxXSkuZGVjb2RlKCkuc3BsaXQoJzonKQordXNlcm5hbWUgPSBjcmVkZW50aWFsc1sw
XQorcGFzc3dvcmQgPSAnOicuam9pbihjcmVkZW50aWFsc1sxOl0pCisKK2V4cGVjdGVkVXNlcm5h
bWUgPSAndGVzdFVzZXJuYW1lJworZXhwZWN0ZWRQYXNzd29yZCA9ICd0ZXN0UGFzc3dvcmQnCity
ZWFsbSA9IG9zLmVudmlyb24uZ2V0KCdSRVFVRVNUX1VSSScsICcnKQorCitzeXMuc3Rkb3V0Lndy
aXRlKAorICAgICdDb250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdFxyXG4nCisgICAgJ0NhY2hl
LUNvbnRyb2w6IG1heC1hZ2U9MFxyXG4nCisgICAgJ0V0YWc6IDEyMzQ1Njc4OVxyXG4nCispCisK
K2lmIHVzZXJuYW1lICE9IGV4cGVjdGVkVXNlcm5hbWUgb3IgcGFzc3dvcmQgIT0gZXhwZWN0ZWRQ
YXNzd29yZDoKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICBmJ1dXVy1BdXRoZW50aWNh
dGU6IEJhc2ljIHJlYWxtPSJ7cmVhbG19IlxyXG4nCisgICAgICAgICdzdGF0dXM6IDQwMVxyXG5c
clxuJworICAgICAgICBmJ1NlbnQgdXNlcm5hbWU6cGFzc3dvcmQgb2YgKHt1c2VybmFtZX06e3Bh
c3N3b3JkfSkgd2hpY2ggaXMgbm90IHdoYXQgd2FzIGV4cGVjdGVkXG4nCisgICAgKQorICAgIHN5
cy5leGl0KDApCisKK3N5cy5zdGRvdXQud3JpdGUoJ1xyXG5sb2FkZWQgPSB0cnVlO1xuJykKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNv
dXJjZXMvcmVzb3VyY2Utd2l0aC1hdXRoLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRh
YmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZh
bGlkYXRpb24vcmVzb3VyY2VzL3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFtZS5waHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZl
LXZhbGlkYXRpb24vcmVzb3VyY2VzL3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFtZS5waHAJKHJldmlz
aW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9z
cGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUu
cGhwCShub25leGlzdGVudCkKQEAgLTEsMTYgKzAsMCBAQAotPD9waHAKLWhlYWRlcignQ29udGVu
dC1UeXBlOiB0ZXh0L2h0bWwnKTsKLWhlYWRlcignQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0wJyk7
Ci1oZWFkZXIoJ0V0YWc6IDEyMzQ1Njc4OScpOwotJGNvb2tpZSA9ICJzcGVjdWxhdGl2ZVJlcXVl
c3RWYWxpZGF0aW9uPSIgLiB1bmlxaWQoKTsKLWhlYWRlcignU2V0LUNvb2tpZTogJyAuICRjb29r
aWUpOwotPz4KLTwhRE9DVFlQRSBodG1sPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0icmVxdWVzdC1o
ZWFkZXJzLXNjcmlwdC5waHAiPjwvc2NyaXB0PgotPHNjcmlwdD4KLTw/cGhwCi1lY2hvICJzZW50
U2V0Q29va2llSGVhZGVyID0gJyIgLiAkY29va2llIC4gIic7IjsKLT8+Ci08L3NjcmlwdD4KLTwv
Ym9keT4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVj
dWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucHkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Nw
ZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFtZS5w
eQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2Fj
aGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0LWZy
YW1lLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKKyMhL3Vzci9iaW4vZW52IHB5
dGhvbjMKKworaW1wb3J0IHN5cworZnJvbSB1dWlkIGltcG9ydCB1dWlkMQorCitjb29raWUgPSBm
J3NwZWN1bGF0aXZlUmVxdWVzdFZhbGlkYXRpb249e3V1aWQxKCl9JworCitzeXMuc3Rkb3V0Lndy
aXRlKAorICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nCisgICAgJ0NhY2hlLUNvbnRy
b2w6IG1heC1hZ2U9MFxyXG4nCisgICAgJ0V0YWc6IDEyMzQ1Njc4OVxyXG4nCisgICAgZidTZXQt
Q29va2llOiB7Y29va2llfVxyXG5cclxuJworICAgICc8IURPQ1RZUEUgaHRtbD5cbicKKyAgICAn
PGJvZHk+XG4nCisgICAgJzxzY3JpcHQgc3JjPSJyZXF1ZXN0LWhlYWRlcnMtc2NyaXB0LnB5Ij48
L3NjcmlwdD5cbicKKyAgICAnPHNjcmlwdD5cbicKKyAgICBmJ3NlbnRTZXRDb29raWVIZWFkZXIg
PSBcJ3tjb29raWV9XCc7XG4nCisgICAgJzwvc2NyaXB0PlxuJworICAgICc8L2JvZHk+XG4nCisp
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24v
cmVzb3VyY2VzL3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFtZS5weQpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2JvZHku
cGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L2JvZHkucGhwCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9ib2R5LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotPD9w
aHAKLWhlYWRlcignRXRhZzogMTIzNDU2Nzg5Jyk7Ci1lY2hvIGZpbGVfZ2V0X2NvbnRlbnRzKCdw
aHA6Ly9pbnB1dCcpOwotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL2JvZHkucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvYm9keS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9ib2R5LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTEg
QEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IHN5cworCitkYXRhID0gJycuam9p
bihzeXMuc3RkaW4ucmVhZGxpbmVzKCkpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0V0YWc6
IDEyMzQ1Njc4OVxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCisg
ICAgZid7ZGF0YX0nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvYm9keS5weQpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1pZnJhbWUucGhwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1pZnJhbWUucGhwCShyZXZp
c2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9j
YWNoZWFibGUtaWZyYW1lLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDExICswLDAgQEAKLTw/cGhw
Ci1yZXF1aXJlX29uY2UgJy4uLy4uL3Jlc291cmNlcy9wb3J0YWJpbGl0eUxheWVyLnBocCc7Ci0K
LSRtYXhfYWdlID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MDsgLy9vbmUgeWVhcgotJGV4cGlyZXMg
PSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgKyAkbWF4X2FnZSk7Ci0KLWhlYWRlcignQ2Fj
aGUtQ29udHJvbDogcHVibGljLCBtYXgtYWdlPScgLiAkbWF4X2FnZSk7Ci1oZWFkZXIoJ0V4cGly
ZXM6ICcgLiAkZXhwaXJlcyk7Ci1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sJyk7Ci1l
eGl0KCk7Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMv
Y2FjaGVhYmxlLWlmcmFtZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnB5CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1pZnJhbWUucHkJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwor
CitpbXBvcnQgc3lzCisKK21heF9hZ2UgPSAxMiAqIDMxICogMjQgKiA2MCAqIDYwCitleHBpcmVz
ID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1lLnV0Y25vdygpICsgdGltZWRlbHRhKHNlY29u
ZHM9bWF4X2FnZSkpLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06JVMnKSkKKworc3lzLnN0
ZG91dC53cml0ZSgKKyAgICBmJ0NhY2hlLUNvbnRyb2w6IHB1YmxpYywgbWF4LWFnZT17bWF4X2Fn
ZX1cclxuJworICAgIGYnRXhwaXJlczoge2V4cGlyZXN9XHJcbicKKyAgICAnQ29udGVudC1UeXBl
OiB0ZXh0L2h0bWxcclxuJworKQorc3lzLmV4aXQoMCkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRh
YmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLXJhbmRv
bS10ZXh0LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRleHQucGhwCShyZXZpc2lvbiAyNzQyOTIpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRl
eHQucGhwCShub25leGlzdGVudCkKQEAgLTEsMTQgKzAsMCBAQAotPD9waHAKLSAgICAkbWF4X2Fn
ZSA9IDEyICogMzEgKiAyNCAqIDYwICogNjA7IC8vb25lIHllYXIKLSAgICBoZWFkZXIoJ0NhY2hl
LUNvbnRyb2w6IHB1YmxpYywgbWF4LWFnZT0nIC4gJG1heF9hZ2UpOwotICAgIGhlYWRlcignQ29u
dGVudC1UeXBlOiB0ZXh0L2h0bWwnKTsKLQotICAgICRpZCA9ICRHRVRbJ2lkJ107Ci0gICAgaWYg
KCFpc3NldCgkR0VUWydyYW5kb21faWQnXSkpIHsKLSAgICAgICAgJGlkID0gJyc7Ci0gICAgICAg
ICRjaGFyc2V0ID0gJ0FCQ0RFRkdISUtMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5JzsKLSAgICAg
ICAgZm9yICgkaSA9IDA7ICRpIDwgMTY7ICRpKyspCi0gICAgICAgICAgICAkaWQgLj0gJGNoYXJz
ZXRbcmFuZCgwLCBzdHJsZW4oJGNoYXJzZXQpIC0gMSldOwotICAgIH0KLSAgICBlY2hvICc8aHRt
bD48Ym9keT5Tb21lIHJhbmRvbSB0ZXh0JyAuICRpZCAuICAnPC9obWw+PC9ib2R5Pic7Ci0/PgpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLXJh
bmRvbS10ZXh0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRleHQu
cHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9u
MworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zyb20gcmFuZG9tIGltcG9ydCByYW5kaW50Citm
cm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMKKworcXVlcnkgPSBwYXJzZV9xcyhvcy5l
bnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKQor
aWRlbnQgPSBxdWVyeS5nZXQoJ2lkJywgWycnXSlbMF0KKworbWF4X2FnZSA9IDEyICogMzEgKiAy
NCAqIDYwICogNjAKK3JhbmRvbV9pZGVudCA9IFRydWUgaWYgcXVlcnkuZ2V0KCdyYW5kb21faWQn
LCBbTm9uZV0pWzBdIGlzIG5vdCBOb25lIGVsc2UgRmFsc2UKKworc3lzLnN0ZG91dC53cml0ZSgK
KyAgICBmJ0NhY2hlLUNvbnRyb2w6IHB1YmxpYywgbWF4LWFnZT17bWF4X2FnZX1cclxuJworICAg
ICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworKQorCitpZiBub3QgcmFuZG9tX2lk
ZW50OgorICAgIGlkZW50ID0gJycKKyAgICBjaGFyc2V0ID0gJ0FCQ0RFRkdISUtMTU5PUFFSU1RV
VldYWVowMTIzNDU2Nzg5JworICAgIGZvciBpIGluIHJhbmdlKDAsIDE2KToKKyAgICAgICAgaWRl
bnQgKz0gY2hhcnNldFtyYW5kaW50KDAsIGxlbihjaGFyc2V0KSAtIDEpXQorCitzeXMuc3Rkb3V0
LndyaXRlKGYnPGh0bWw+PGJvZHk+U29tZSByYW5kb20gdGV4dHtpZGVudH08L2htbD48L2JvZHk+
JykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRleHQu
cHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAJKHJldmlzaW9uIDI3NDI5
MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5w
aHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMSArMCwwIEBACi08P3BocA0KLXJlcXVpcmVfb25jZSAn
Li4vLi4vcmVzb3VyY2VzL3BvcnRhYmlsaXR5TGF5ZXIucGhwJzsNCi0NCi1jbGVhcnN0YXRjYWNo
ZSgpOw0KLQ0KLWlmICgkX1NFUlZFUlsiSFRUUF9JRl9NT0RJRklFRF9TSU5DRSJdKSB7DQotICAg
IGhlYWRlcigiSFRUUC8xLjEgMzA0IE5vdCBNb2RpZmllZCIpOw0KLSAgICBleGl0KCk7DQotfQ0K
LSRvbmVfeWVhciA9IDEyICogMzEgKiAyNCAqIDYwICogNjA7DQotJGxhc3RfbW9kaWZpZWQgPSBn
bWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgLSAkb25lX3llYXIpOw0KLSRleHBpcmVzID0gZ21k
YXRlKERBVEVfUkZDMTEyMywgdGltZSgpICsgJG9uZV95ZWFyKTsNCi0NCi1oZWFkZXIoJ0NhY2hl
LUNvbnRyb2w6IG5vLWNhY2hlLCBtYXgtYWdlPScgLiAkb25lX3llYXIpOw0KLWhlYWRlcignRXhw
aXJlczogJyAuICRleHBpcmVzKTsNCi1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sJyk7
DQotaGVhZGVyKCdDb250ZW50LUxlbmd0aDogMCcpOw0KLWhlYWRlcignRXRhZzogMTIzNDU2Nzg5
Jyk7DQotaGVhZGVyKCdMYXN0LU1vZGlmaWVkOiAnIC4gJGxhc3RfbW9kaWZpZWQpOw0KLWV4aXQo
KTsNCi0/Pg0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lm
cmFtZTMwNC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9pZnJhbWUzMDQucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMjcgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lz
Citmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZSwgdGltZWRlbHRhCisKK21vZGlmaWVkX3Np
bmNlID0gb3MuZW52aXJvbi5nZXQoJ0hUVFBfSUZfTU9ESUZJRURfU0lOQ0UnLCAnJykKKworc3lz
LnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJykKKworaWYgbW9kaWZp
ZWRfc2luY2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgnc3RhdHVzOiAzMDRcclxuXHJcbicpCisg
ICAgc3lzLmV4aXQoMCkKKworb25lX3llYXIgPSAxMiAqIDMxICogMjQgKiA2MCAqIDYwCitsYXN0
X21vZGlmaWVkID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1lLnV0Y25vdygpIC0gdGltZWRl
bHRhKHNlY29uZHM9b25lX3llYXIpKS5zdHJmdGltZSgnJWEsICVkICViICVZICVIOiVNOiVTJykp
CitleHBpcmVzID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1lLnV0Y25vdygpICsgdGltZWRl
bHRhKHNlY29uZHM9b25lX3llYXIpKS5zdHJmdGltZSgnJWEsICVkICViICVZICVIOiVNOiVTJykp
CisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgZidDYWNoZS1Db250cm9sOiBuby1jYWNoZSwgbWF4
LWFnZT17b25lX3llYXJ9XHJcbicKKyAgICBmJ0V4cGlyZXM6IHtleHBpcmVzfVxyXG4nCisgICAg
J0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcbicKKyAgICAnQ29udGVudC1MZW5ndGg6IDBcclxu
JworICAgICdFdGFnOiAxMjM0NTY3ODlcclxuJworICAgIGYnTGFzdC1Nb2RpZmllZDoge2xhc3Rf
bW9kaWZpZWR9XHJcbicKKykKK3N5cy5leGl0KDApClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNv
dXJjZXMvaWZyYW1lMzA0LnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0w
LDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0Ym9keS5waHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0
Ym9keS5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL2lmcmFtZTMwNGJvZHkucGhwCShub25leGlzdGVudCkKQEAgLTEsMTQgKzAs
MCBAQAotPD9waHANCi1yZXF1aXJlX29uY2UgJy4uLy4uL3Jlc291cmNlcy9wb3J0YWJpbGl0eUxh
eWVyLnBocCc7DQotDQotY2xlYXJzdGF0Y2FjaGUoKTsNCi0NCi1pZiAoJF9TRVJWRVJbIkhUVFBf
SUZfTU9ESUZJRURfU0lOQ0UiXSkgew0KLSAgICBoZWFkZXIoIkhUVFAvMS4xIDMwNCBOb3QgTW9k
aWZpZWQiKTsNCi0gICAgZXhpdCgpOw0KLX0NCi1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG5vLWNh
Y2hlJyk7DQotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbCcpOw0KLWhlYWRlcignRXRh
ZzogMTIzNDU2Nzg5Jyk7DQotPz4NCi1ib2R5IHRleHQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUz
MDRib2R5LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL2lmcmFtZTMwNGJvZHkucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0Ym9keS5weQkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDE4IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1w
b3J0IHN5cworCittb2RpZmllZF9zaW5jZSA9IG9zLmVudmlyb24uZ2V0KCdIVFRQX0lGX01PRElG
SUVEX1NJTkNFJywgJycpCisKK3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQtVHlwZTogdGV4dC9o
dG1sXHJcbicpCisKK2lmIG1vZGlmaWVkX3NpbmNlOgorICAgIHN5cy5zdGRvdXQud3JpdGUoJ3N0
YXR1czogMzA0XHJcblxyXG4nKQorICAgIHN5cy5leGl0KDApCisKK3N5cy5zdGRvdXQud3JpdGUo
CisgICAgJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlXHJcbicKKyAgICAnRXRhZzogMTIzNDU2Nzg5
XHJcblxyXG4nCisgICAgJ2JvZHkgdGV4dCcKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9pZnJhbWUzMDRib2R5LnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMj
IC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbG9hZC1hbmQtY2hlY2stcmVmZXJl
ci5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvbG9hZC1hbmQtY2hlY2stcmVmZXJlci5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2xvYWQtYW5kLWNoZWNrLXJlZmVyZXIu
cGhwCShub25leGlzdGVudCkKQEAgLTEsNDAgKzAsMCBAQAotPD8KLWZ1bmN0aW9uIGNvbnRlbnRU
eXBlKCRwYXRoKQotewotICAgIGlmIChwcmVnX21hdGNoKCIvXC5odG1sJC8iLCAkcGF0aCkpCi0g
ICAgICAgIHJldHVybiAidGV4dC9odG1sIjsKLSAgICBpZiAocHJlZ19tYXRjaCgiL1wubWFuaWZl
c3QkLyIsICRwYXRoKSkKLSAgICAgICAgcmV0dXJuICJ0ZXh0L2NhY2hlLW1hbmlmZXN0IjsKLSAg
ICBpZiAocHJlZ19tYXRjaCgiL1wuanMkLyIsICRwYXRoKSkKLSAgICAgICAgcmV0dXJuICJ0ZXh0
L2phdmFzY3JpcHQiOwotICAgIGlmIChwcmVnX21hdGNoKCIvXC54bWwkLyIsICRwYXRoKSkKLSAg
ICAgICAgcmV0dXJuICJhcHBsaWNhdGlvbi94bWwiOwotICAgIGlmIChwcmVnX21hdGNoKCIvXC54
aHRtbCQvIiwgJHBhdGgpKQotICAgICAgICByZXR1cm4gImFwcGxpY2F0aW9uL3hodG1sK3htbCI7
Ci0gICAgaWYgKHByZWdfbWF0Y2goIi9cLnN2ZyQvIiwgJHBhdGgpKQotICAgICAgICByZXR1cm4g
ImFwcGxpY2F0aW9uL3N2Zyt4bWwiOwotICAgIGlmIChwcmVnX21hdGNoKCIvXC54c2wkLyIsICRw
YXRoKSkKLSAgICAgICAgcmV0dXJuICJhcHBsaWNhdGlvbi94c2x0K3htbCI7Ci0gICAgaWYgKHBy
ZWdfbWF0Y2goIi9cLmdpZiQvIiwgJHBhdGgpKQotICAgICAgICByZXR1cm4gImltYWdlL2dpZiI7
Ci0gICAgaWYgKHByZWdfbWF0Y2goIi9cLmpwZyQvIiwgJHBhdGgpKQotICAgICAgICByZXR1cm4g
ImltYWdlL2pwZWciOwotICAgIGlmIChwcmVnX21hdGNoKCIvXC5wbmckLyIsICRwYXRoKSkKLSAg
ICAgICAgcmV0dXJuICJpbWFnZS9wbmciOwotICAgIHJldHVybiAidGV4dC9wbGFpbiI7Ci19Ci0K
LSRwYXRoID0gJF9HRVRbJ3BhdGgnXTsKLSRleHBlY3RlZFJlZmVyZXIgPSAkX0dFVFsnZXhwZWN0
ZWQtcmVmZXJlciddOwotJHJlZmVyZXIgPSAkX1NFUlZFUlsiSFRUUF9SRUZFUkVSIl07Ci0KLWlm
ICgkZXhwZWN0ZWRSZWZlcmVyID09ICRyZWZlcmVyICYmIGZpbGVfZXhpc3RzKCRwYXRoKSkgewot
ICAgIGhlYWRlcignSFRUUC8xLjEgMjAwIE9LJyk7Ci0gICAgaGVhZGVyKCJDYWNoZS1jb250cm9s
OiBuby1zdG9yZSIpOwotICAgIGhlYWRlcigiQ29udGVudC1UeXBlOiAiIC4gY29udGVudFR5cGUo
JHBhdGgpKTsKLSAgICBwcmludCBmaWxlX2dldF9jb250ZW50cygkcGF0aCk7Ci19IGVsc2Ugewot
ICAgIGhlYWRlcignSFRUUC8xLjEgNDA0IE5vdCBGb3VuZCcpOwotfQotCi0/PgpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbG9hZC1hbmQtY2hlY2stcmVmZXJl
ci5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9sb2FkLWFuZC1jaGVjay1yZWZlcmVyLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2xvYWQtYW5kLWNoZWNrLXJlZmVyZXIucHkJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw1MCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitp
bXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9ydCBwYXJzZV9xcwor
CitkZWYgY29udGVudFR5cGUocGF0aCk6CisgICAgaWYgcGF0aC5lbmRzd2l0aCgnLmh0bWwnKToK
KyAgICAgICAgcmV0dXJuICd0ZXh0L2h0bWwnCisgICAgaWYgcGF0aC5lbmRzd2l0aCgnLm1hbmlm
ZXN0Jyk6CisgICAgICAgIHJldHVybiAndGV4dC9jYWNoZS1tYW5pZmVzdCcKKyAgICBpZiBwYXRo
LmVuZHN3aXRoKCcuanMnKToKKyAgICAgICAgcmV0dXJuICd0ZXh0L2phdmFzY3JpcHQnCisgICAg
aWYgcGF0aC5lbmRzd2l0aCgnLnhtbCcpOgorICAgICAgICByZXR1cm4gJ2FwcGxpY2F0aW9uL3ht
bCcKKyAgICBpZiBwYXRoLmVuZHN3aXRoKCcueGh0bWwnKToKKyAgICAgICAgcmV0dXJuICdhcHBs
aWNhdGlvbi94aHRtbCt4bWwnCisgICAgaWYgcGF0aC5lbmRzd2l0aCgnLnN2ZycpOgorICAgICAg
ICByZXR1cm4gJ2FwcGxpY2F0aW9uL3N2Zyt4bWwnCisgICAgaWYgcGF0aC5lbmRzd2l0aCgnLnhz
bCcpOgorICAgICAgICByZXR1cm4gJ2FwcGxpY2F0aW9uL3hzbHQreG1sJworICAgIGlmIHBhdGgu
ZW5kc3dpdGgoJy5naWYnKToKKyAgICAgICAgcmV0dXJuICdpbWFnZS9naWYnCisgICAgaWYgcGF0
aC5lbmRzd2l0aCgnLmpwZycpOgorICAgICAgICByZXR1cm4gJ2ltYWdlL2pwZWcnCisgICAgaWYg
cGF0aC5lbmRzd2l0aCgnLnBuZycpOgorICAgICAgICByZXR1cm4gJ2ltYWdlL3BuZycKKyAgICBy
ZXR1cm4gJ3RleHQvcGxhaW4nCisKK3JlZmVyZXIgPSBvcy5lbnZpcm9uLmdldCgnSFRUUF9SRUZF
UkVSJywgJycpCisKK3F1ZXJ5ID0gcGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklO
RycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkKK3BhdGggPSBxdWVyeS5nZXQoJ3BhdGgn
LCBbJyddKVswXQorZXhwZWN0ZWRfcmVmZXJlciA9IHF1ZXJ5LmdldCgnZXhwZWN0ZWQtcmVmZXJl
cicsIFsnJ10pWzBdCisKK2lmIGV4cGVjdGVkX3JlZmVyZXIgPT0gcmVmZXJlciBhbmQgb3MucGF0
aC5pc2ZpbGUocGF0aCk6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ3N0YXR1czog
MjAwXHJcbicKKyAgICAgICAgJ0NhY2hlLWNvbnRyb2w6IG5vLXN0b3JlXHJcbicKKyAgICAgICAg
ZidDb250ZW50LVR5cGU6IHtjb250ZW50VHlwZShwYXRoKX1cclxuXHJcbicKKyAgICApCisKKyAg
ICBzeXMuc3Rkb3V0LmZsdXNoKCkKKyAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKCcvJy5qb2lu
KF9fZmlsZV9fLnNwbGl0KCcvJylbMDotMV0pLCBwYXRoKSwgJ3JiJykgYXMgZmlsZToKKyAgICAg
ICAgc3lzLnN0ZG91dC5idWZmZXIud3JpdGUoZmlsZS5yZWFkKCkpCitlbHNlOgorICAgIHN5cy5z
dGRvdXQud3JpdGUoCisgICAgICAgICdzdGF0dXM6IDQwNFxyXG4nCisgICAgICAgICdDb250ZW50
LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworICAgICkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9sb2FkLWFuZC1jaGVjay1yZWZlcmVyLnB5Cl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
eGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUt
bWFpbi1yZXNvdXJjZS1uZXh0LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLW5leHQucGhwCShyZXZp
c2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9u
by1jYWNoZS1tYWluLXJlc291cmNlLW5leHQucGhwCShub25leGlzdGVudCkKQEAgLTEsMTEgKzAs
MCBAQAotPD9waHAKLWhlYWRlcigiQ2FjaGUtY29udHJvbDogbm8tY2FjaGUsIG1heC1hZ2U9MCIp
OwotaGVhZGVyKCJMYXN0LU1vZGlmaWVkOiBUaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIEdNVCIp
OwotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbCcpOwotCi1wcmludCAiPHNjcmlwdD5c
biI7Ci1wcmludCAidmFyIHJhbmRvbU51bWJlciA9ICIgLiByYW5kKCkgLiAiO1xuIjsKLT8+Ci0K
LW9wZW5lci5wb3N0TWVzc2FnZShyYW5kb21OdW1iZXIsICcqJyk7Ci08L3NjcmlwdD4KSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVz
b3VyY2UtbmV4dC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLW5leHQucHkJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1y
ZXNvdXJjZS1uZXh0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQgQEAKKyMhL3Vzci9i
aW4vZW52IHB5dGhvbjMKKworaW1wb3J0IHN5cworZnJvbSByYW5kb20gaW1wb3J0IHJhbmRpbnQK
Kworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ2FjaGUtY29udHJvbDogbm8tY2FjaGUsIG1heC1h
Z2U9MFxyXG4nCisgICAgJ0xhc3QtTW9kaWZpZWQ6IFRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAg
R01UXHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICAnPHNj
cmlwdD5cbicKKyAgICBmJ3ZhciByYW5kb21OdW1iZXIgPSB7cmFuZGludCgwLCBzeXMubWF4c2l6
ZSl9O1xuJworICAgICdvcGVuZXIucG9zdE1lc3NhZ2UocmFuZG9tTnVtYmVyLCBcJypcJyk7XG4n
CisgICAgJzwvc2NyaXB0PlxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25v
LWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0
YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4t
cmVzb3VyY2UucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UucGhwCShyZXZpc2lvbiAyNzQyOTIpCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJl
c291cmNlLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDM0ICswLDAgQEAKLTw/cGhwCi1oZWFkZXIo
IkNhY2hlLWNvbnRyb2w6IG5vLWNhY2hlLCBtYXgtYWdlPTAiKTsKLWhlYWRlcigiTGFzdC1Nb2Rp
ZmllZDogVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHTVQiKTsKLWhlYWRlcignQ29udGVudC1U
eXBlOiB0ZXh0L2h0bWwnKTsKLQotcHJpbnQgIjxzY3JpcHQ+XG4iOwotcHJpbnQgInZhciByYW5k
b21OdW1iZXIgPSAiIC4gcmFuZCgpIC4gIjtcbiI7Ci0/PgotCi1vcGVuZXIucG9zdE1lc3NhZ2Uo
cmFuZG9tTnVtYmVyLCAnKicpOwotCi0vLyBPdXIgb3BlbmVyIHdpbGwgdGVsbCB1cyB0byBwZXJm
b3JtIHZhcmlvdXMgbG9hZHMuCi13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1
bmN0aW9uKGV2ZW50KSB7Ci0KLSAgICAvLyBHbyBmb3J3YXJkIGFuZCBiYWNrLgotICAgIGlmIChl
dmVudC5kYXRhID09PSAnZ28tZm9yd2FyZC1hbmQtYmFjaycpIHsKLSAgICAgICAgd2luZG93Lmxv
Y2F0aW9uID0gJ2hpc3RvcnktYmFjay5odG1sJzsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQot
ICAgIC8vIFJlbG9hZC4KLSAgICBpZiAoZXZlbnQuZGF0YSA9PT0gJ3JlbG9hZCcpIHsKLSAgICAg
ICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0g
ICAgLy8gTm9ybWFsIG5hdmlnYXRpb24sIG5leHQuCi0gICAgaWYgKGV2ZW50LmRhdGEgPT09ICdu
ZXh0JykgewotICAgICAgICB3aW5kb3cubG9jYXRpb24gPSAnbm8tY2FjaGUtbWFpbi1yZXNvdXJj
ZS1uZXh0LnBocCc7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLX0sIGZhbHNlKTsKLTwvc2Ny
aXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2Fj
aGUtbWFpbi1yZXNvdXJjZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnB5CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4t
cmVzb3VyY2UucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNyBAQAorIyEvdXNyL2Jpbi9l
bnYgcHl0aG9uMworCitpbXBvcnQgc3lzCitmcm9tIHJhbmRvbSBpbXBvcnQgcmFuZGludAorCitz
eXMuc3Rkb3V0LndyaXRlKAorICAgICdDYWNoZS1jb250cm9sOiBuby1jYWNoZSwgbWF4LWFnZT0w
XHJcbicKKyAgICAnTGFzdC1Nb2RpZmllZDogVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHTVRc
clxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworICAgICc8c2NyaXB0
PlxuJworICAgIGYndmFyIHJhbmRvbU51bWJlciA9IHtyYW5kaW50KDAsIHN5cy5tYXhzaXplICsg
MSl9O1xuJworICAgICdvcGVuZXIucG9zdE1lc3NhZ2UocmFuZG9tTnVtYmVyLCBcJypcJyk7XG4n
CisgICAgJ1xuJworICAgICcvLyBPdXIgb3BlbmVyIHdpbGwgdGVsbCB1cyB0byBwZXJmb3JtIHZh
cmlvdXMgbG9hZHMuXG4nCisgICAgJ3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwnbWVzc2FnZVwn
LCBmdW5jdGlvbihldmVudCkge1xuJworICAgICdcbicKKyAgICAnICAgIC8vIEdvIGZvcndhcmQg
YW5kIGJhY2suXG4nCisgICAgJyAgICBpZiAoZXZlbnQuZGF0YSA9PT0gXCdnby1mb3J3YXJkLWFu
ZC1iYWNrXCcpIHtcbicKKyAgICAnICAgICAgICB3aW5kb3cubG9jYXRpb24gPSBcJ2hpc3Rvcnkt
YmFjay5odG1sXCc7XG4nCisgICAgJyAgICAgICAgcmV0dXJuO1xuJworICAgICcgICAgfVxuJwor
ICAgICdcbicKKyAgICAnICAgIC8vIFJlbG9hZC5cbicKKyAgICAnICAgIGlmIChldmVudC5kYXRh
ID09PSBcJ3JlbG9hZFwnKSB7XG4nCisgICAgJyAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9h
ZCgpO1xuJworICAgICcgICAgICAgIHJldHVybjtcbicKKyAgICAnICAgIH1cbicKKyAgICAnXG4n
CisgICAgJyAgICAvLyBOb3JtYWwgbmF2aWdhdGlvbiwgbmV4dC5cbicKKyAgICAnICAgIGlmIChl
dmVudC5kYXRhID09PSBcJ25leHRcJykge1xuJworICAgICcgICAgICAgIHdpbmRvdy5sb2NhdGlv
biA9IFwnbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS1uZXh0LnB5XCc7XG4nCisgICAgJyAgICAgICAg
cmV0dXJuO1xuJworICAgICcgICAgfVxuJworICAgICdcbicKKyAgICAnfSwgZmFsc2UpO1xuJwor
ICAgICc8L3NjcmlwdD5cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1j
YWNoZS1tYWluLXJlc291cmNlLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMj
IC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtd2l0aC12YWxpZGF0
aW9uLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9uby1jYWNoZS13aXRoLXZhbGlkYXRpb24ucGhwCShyZXZpc2lvbiAyNzQyOTIpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS13aXRoLXZhbGlk
YXRpb24ucGhwCShub25leGlzdGVudCkKQEAgLTEsMTAgKzAsMCBAQAotPD9waHAKLWlmICgkX1NF
UlZFUlsiSFRUUF9JRl9NT0RJRklFRF9TSU5DRSJdKSB7Ci0gICAgaGVhZGVyKCJIVFRQLzEuMCAz
MDQgTm90IE1vZGlmaWVkIik7Ci0gICAgZXhpdCgpOwotfQotaGVhZGVyKCJDYWNoZS1jb250cm9s
OiBuby1jYWNoZSIpOwotaGVhZGVyKCJMYXN0LU1vZGlmaWVkOiBUaHUsIDAxIEphbiAxOTcwIDAw
OjAwOjAwIEdNVCIpOwotaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvcGxhaW4iKTsKLT8+Ci1m
b28KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hl
LXdpdGgtdmFsaWRhdGlvbi5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS13aXRoLXZhbGlkYXRpb24ucHkJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtd2l0
aC12YWxpZGF0aW9uLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTggQEAKKyMhL3Vzci9i
aW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK21vZGlmaWVkX3NpbmNl
ID0gb3MuZW52aXJvbi5nZXQoJ0hUVFBfSUZfTU9ESUZJRURfU0lOQ0UnLCAnJykKKworc3lzLnN0
ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluXHJcbicpCisKK2lmIG1vZGlmaWVk
X3NpbmNlOgorICAgIHN5cy5zdGRvdXQud3JpdGUoJ3N0YXR1czogMzA0XHJcblxyXG4nKQorICAg
IHN5cy5leGl0KDApCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NhY2hlLWNvbnRyb2w6IG5v
LWNhY2hlXHJcbicKKyAgICAnTGFzdC1Nb2RpZmllZDogVGh1LCAwMSBKYW4gMTk3MCAwMDowMDow
MCBHTVRcclxuXHJcbicKKyAgICAnZm9vXG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNv
dXJjZXMvbm8tY2FjaGUtd2l0aC12YWxpZGF0aW9uLnB5Cl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
eGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9u
ZWQtY2FjaGUtZWNoby1zdGF0ZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9uZWQtY2FjaGUtZWNoby1zdGF0ZS5waHAJKHJl
dmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L3BhcnRpdGlvbmVkLWNhY2hlLWVjaG8tc3RhdGUucGhwCShub25leGlzdGVudCkKQEAgLTEsMTAg
KzAsMCBAQAotPD9waHAKLXJlcXVpcmVfb25jZSAnLi4vLi4vcmVzb3VyY2VzL3BvcnRhYmlsaXR5
TGF5ZXIucGhwJzsKLQotaGVhZGVyKCdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2phdmFzY3Jp
cHQnKTsKLWhlYWRlcignQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0zNjAwJyk7Ci0KLSMgVGhpcyBz
Y3JpcHQgbWF5IG9ubHkgYmUgdXNlZCBieSBjYWNoZS9wYXJ0aXRpb25lZC1jYWNoZS5odG1sIHRl
c3QsIHNpbmNlIGl0IHVzZXMgZ2xvYmFsIGRhdGEuCi0kdG1wRmlsZSA9IHN5c19nZXRfdGVtcF9k
aXIoKSAuICIvIiAuICJjYWNoZS1wYXJ0aXRpb25lZC1jYWNoZS1zdGF0ZSI7Ci0/PgotdmFyIHJl
c3BvbnNlID0gJzw/cGhwIHByaW50IGZpbGVfZ2V0X2NvbnRlbnRzKCR0bXBGaWxlKTsgPz4nOwpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9uZWQt
Y2FjaGUtZWNoby1zdGF0ZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9wYXJ0aXRpb25lZC1jYWNoZS1lY2hvLXN0YXRlLnB5CShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3BhcnRpdGlv
bmVkLWNhY2hlLWVjaG8tc3RhdGUucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAor
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCB0
ZW1wZmlsZQorCitmaWxlID0gX19maWxlX18uc3BsaXQoJzovY3lnd2luJylbLTFdCitodHRwX3Jv
b3QgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChvcy5w
YXRoLmRpcm5hbWUoZmlsZSkpKSkKK3N5cy5wYXRoLmluc2VydCgwLCBodHRwX3Jvb3QpCisKK3Rt
cEZpbGUgPSBvcy5wYXRoLmpvaW4odGVtcGZpbGUuZ2V0dGVtcGRpcigpLCAnY2FjaGUtcGFydGl0
aW9uZWQtY2FjaGUtc3RhdGUnKQorZmlsZSA9IG9wZW4odG1wRmlsZSwgJ3InKQorCitzeXMuc3Rk
b3V0LndyaXRlKAorICAgICdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2phdmFzY3JpcHRcclxu
JworICAgICdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTM2MDBcclxuXHJcbicKKyAgICBmJ3ZhciBy
ZXNwb25zZSA9IFwne2ZpbGUucmVhZCgpfVwnO1xuJworKQorCitmaWxlLmNsb3NlKCkKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wYXJ0aXRpb25lZC1jYWNoZS1lY2hvLXN0YXRlLnB5
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvcGFydGl0aW9uZWQtY2FjaGUtbG9hZGVyLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9uZWQtY2Fj
aGUtbG9hZGVyLmh0bWwJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL3BhcnRpdGlvbmVkLWNhY2hlLWxvYWRlci5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC04LDcgKzgsNyBAQCBpZiAod2luZG93LmludGVybmFscykKIGZ1bmN0aW9uIHNl
dFNlcnZlclN0YXRlKHN0cmluZykKIHsKICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0
OwotICAgIHhoci5vcGVuKCdQT1NUJywgJy9yZXNvdXJjZXMvd3JpdGUtdGVtcC1maWxlLnBocD9m
aWxlbmFtZT1jYWNoZS1wYXJ0aXRpb25lZC1jYWNoZS1zdGF0ZSZkYXRhPScgKyBzdHJpbmcsIGZh
bHNlKTsKKyAgICB4aHIub3BlbignUE9TVCcsICcvcmVzb3VyY2VzL3dyaXRlLXRlbXAtZmlsZS5w
eT9maWxlbmFtZT1jYWNoZS1wYXJ0aXRpb25lZC1jYWNoZS1zdGF0ZSZkYXRhPScgKyBzdHJpbmcs
IGZhbHNlKTsKICAgICB4aHIuc2VuZCgpOwogfQogCkBAIC0xNyw3ICsxNyw3IEBAIGNvbnNvbGUu
bG9nKCdTZXR0aW5nIHNlcnZlci1zaWRlIHBlcnNpc3QKIHNldFNlcnZlclN0YXRlKGRvY3VtZW50
LmRvbWFpbik7CiAKIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
c2NyaXB0Jyk7Ci1zY3JpcHRFbGVtZW50LnNldEF0dHJpYnV0ZSgnc3JjJywgJ2h0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9uZWQtY2FjaGUtZWNoby1zdGF0ZS5w
aHAnKTsKK3NjcmlwdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdzcmMnLCAnaHR0cDovL2xvY2FsaG9z
dDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wYXJ0aXRpb25lZC1jYWNoZS1lY2hvLXN0YXRlLnB5Jyk7
CiBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdEVsZW1lbnQpOwogCiB3aW5kb3cub25s
b2FkID0gZnVuY3Rpb24oKSB7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Blcm1hbmVudC1yZWRpcmVjdC5waHAJKHJldmlz
aW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Bl
cm1hbmVudC1yZWRpcmVjdC5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw2ICswLDAgQEAKLTw/Ci0k
bG9jYXRpb24gPSAkX0dFVFsnbG9jYXRpb24nXTsKLQotaGVhZGVyKCdIVFRQLzEuMSAzMDEgUGVy
bWFuZW50IFJlZGlyZWN0Jyk7Ci1oZWFkZXIoJ0xvY2F0aW9uOicgLiAkbG9jYXRpb24pOwotPz4K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Blcm1hbmVudC1y
ZWRpcmVjdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGVybWFuZW50LXJlZGlyZWN0LnB5CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1w
b3J0IG9zCitpbXBvcnQgc3lzCitmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMKKwor
bG9jYXRpb24gPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBr
ZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKS5nZXQoJ2xvY2F0aW9uJywgWydpbmRleC5odG1sJ10pWzBd
CisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ3N0YXR1czogMzAxXHJcbicKKyAgICBmJ0xvY2F0
aW9uOiB7bG9jYXRpb259XHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJc
bicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3Qu
cHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5weQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlm
eS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ4
IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1w
b3J0IHRlbXBmaWxlCitmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZSwgdGltZWRlbHRhCitm
cm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0
KCc6L2N5Z3dpbicpWy0xXQoraHR0cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGly
bmFtZShvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1lKGZpbGUpKSkpCitzeXMucGF0aC5p
bnNlcnQoMCwgaHR0cF9yb290KQorCit0ZXN0ID0gcGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FV
RVJZX1NUUklORycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkuZ2V0KCd0ZXN0JywgWydz
dGF0ZSddKVswXQordG1wRmlsZVBhdGggPSBvcy5wYXRoLmpvaW4odGVtcGZpbGUuZ2V0dGVtcGRp
cigpLCAne31fc3RhdGUnLmZvcm1hdCh0ZXN0KSkKKworaWYgb3MucGF0aC5pc2ZpbGUodG1wRmls
ZVBhdGgpOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICdzdGF0dXM6IDQwNFxyXG4n
CisgICAgICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxue30nLmZvcm1hdCh0bXBG
aWxlUGF0aCkKKyAgICApCisgICAgc3lzLmV4aXQoMCkKKwordG1wRmlsZSA9IG9wZW4odG1wRmls
ZVBhdGgsICd3KycpCit0bXBGaWxlLmNsb3NlKCkKKworZmlsZVBhdGggPSBvcy5wYXRoLmpvaW4o
Jy8nLmpvaW4oX19maWxlX18uc3BsaXQoJy8nKVswOi0xXSksICdjb21wYXNzLW5vLWNhY2hlLmpw
ZycpCitzdGF0ID0gb3Muc3RhdChmaWxlUGF0aCkKK2ZpbGVtdGltZSA9IHN0YXQuc3RfbXRpbWUK
K2ZpbGVzaXplID0gc3RhdC5zdF9zaXplCisKK2V0YWcgPSAnInt9LXt9IicuZm9ybWF0KGZpbGVz
aXplLCBmaWxlbXRpbWUpCitsYXN0X21vZGlmaWVkID0gJ3t9ICswMDAwJy5mb3JtYXQoZGF0ZXRp
bWUudXRjZnJvbXRpbWVzdGFtcChmaWxlbXRpbWUpLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6
JU06JVMnKSkKK21heF9hZ2UgPSAxMiAqIDMxICogMjQgKiA2MCAqIDYwCitleHBpcmVzID0gJ3t9
ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1lLnV0Y25vdygpICsgdGltZWRlbHRhKHNlY29uZHM9bWF4
X2FnZSkpLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06JVMnKSkKKworc3lzLnN0ZG91dC53
cml0ZSgKKyAgICAnQ2FjaGUtQ29udHJvbDogcHVibGljLCBtYXgtYWdlPXt9XHJcbicKKyAgICAn
RXhwaXJlczoge31cclxuJworICAgICdDb250ZW50LVR5cGU6IGltYWdlL3BuZ1xyXG4nCisgICAg
J0NvbnRlbnQtTGVuZ3RoOiB7fVxyXG4nCisgICAgJ0V0YWc6IHt9XHJcbicKKyAgICAnTGFzdC1N
b2RpZmllZDoge31cclxuXHJcbicuZm9ybWF0KG1heF9hZ2UsIGV4cGlyZXMsIGZpbGVzaXplLCBl
dGFnLCBsYXN0X21vZGlmaWVkKQorKQorCitzeXMuc3Rkb3V0LmZsdXNoKCkKK3dpdGggb3Blbihm
aWxlUGF0aCwgJ3JiJykgYXMgZmlsZToKKyAgICBzeXMuc3Rkb3V0LmJ1ZmZlci53cml0ZShmaWxl
LnJlYWQoKSkKK3N5cy5leGl0KDApClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcG9z
dC1pbWFnZS10by12ZXJpZnkucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMg
LTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3Vy
Y2UtaWZyYW1lLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBocAkocmV2aXNpb24g
Mjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0
Y2hlZC1tYWluLXJlc291cmNlLWlmcmFtZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCww
IEBACi08P3BocAotaWYgKCRfU0VSVkVSWyJIVFRQX1BVUlBPU0UiXSA9PSAicHJlZmV0Y2giKSB7
Ci0gICAgZWNobyAiPHNjcmlwdD4iOwotICAgIGVjaG8gInBhcmVudC53aW5kb3cucG9zdE1lc3Nh
Z2UoJ0ZBSUwnLCAnKicpOyI7Ci0gICAgZWNobyAiPC9zY3JpcHQ+IjsKLQotICAgIGV4aXQoKTsK
LX0KLQotZWNobyAiPHNjcmlwdD4iOwotZWNobyAicGFyZW50LndpbmRvdy5wb3N0TWVzc2FnZSgn
UEFTUycsICcqJyk7IjsKLWVjaG8gIjwvc2NyaXB0PiI7Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLWlmcmFt
ZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnB5CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNv
dXJjZS1pZnJhbWUucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMiBAQAorIyEvdXNyL2Jp
bi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworcHVycG9zZSA9IG9zLmVu
dmlyb24uZ2V0KCdIVFRQX1BVUlBPU0UnLCAnJykKKworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVu
dC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicpCisKK2lmIHB1cnBvc2UgPT0gJ3ByZWZldGNoJzoK
KyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnPHNjcmlwdD5cbicKKyAgICAgICAgJ3Bh
cmVudC53aW5kb3cucG9zdE1lc3NhZ2UoXCdGQUlMXCcsIFwnKlwnKTtcbicKKyAgICAgICAgJzwv
c2NyaXB0PlxuJworICAgICkKKyAgICBzeXMuZXhpdCgwKQorCitzeXMuc3Rkb3V0LndyaXRlKAor
ICAgICc8c2NyaXB0PlxuJworICAgICdwYXJlbnQud2luZG93LnBvc3RNZXNzYWdlKFwnUEFTU1wn
LCBcJypcJyk7XG4nCisgICAgJzwvc2NyaXB0PlxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucHkKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5waHAJ
KHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMSAr
MCwwIEBACi08P3BocAotaGVhZGVyKCdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTM2MDAnKTsKLT8+
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08c2NyaXB0PgotCi1pZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKLSAgZmV0Y2goJ2h0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNv
dXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLnBocCcpLnRoZW4oZnVuY3Rpb24ocmVzcG9u
c2UpIHsKLSAgICBpZiAoaW50ZXJuYWxzLmZldGNoUmVzcG9uc2VTb3VyY2UocmVzcG9uc2UpICE9
ICJEaXNrIGNhY2hlIikgewotICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xvZycpLmlu
bmVyVGV4dCA9ICdGQUlMOiByZXNvdXJjZSBpcyBub3QgaW4gdGhlIGRpc2sgY2FjaGUuJzsKLSAg
ICB9Ci0gICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gIH0pOwotfQotCi08L3NjcmlwdD4K
LTxkaXYgaWQ9ImxvZyI+PD9waHAgaWYgKCRfU0VSVkVSWyJIVFRQX1BVUlBPU0UiXSA9PSAicHJl
ZmV0Y2giKSBlY2hvICdQQVNTJzsgZWxzZSBlY2hvICdGQUlMJzsgPz48L2Rpdj4KLTwvYm9keT4K
LTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3By
ZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UucHkJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0
Y2hlZC1tYWluLXJlc291cmNlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzggQEAKKyMh
L3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK3B1cnBvc2Ug
PSBvcy5lbnZpcm9uLmdldCgnSFRUUF9QVVJQT1NFJywgJycpCisKK3N5cy5zdGRvdXQud3JpdGUo
CisgICAgJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MzYwMFxyXG4nCisgICAgJ0NvbnRlbnQtVHlw
ZTogdGV4dC9odG1sXHJcblxyXG4nCisgICAgJzwhRE9DVFlQRSBodG1sPlxuJworICAgICc8aHRt
bD5cbicKKyAgICAnPGJvZHk+XG4nCisgICAgJzxzY3JpcHQ+XG4nCisgICAgJ1xuJworICAgICdp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHtcbicKKyAgICAnICBmZXRjaChcJ2h0dHA6Ly9sb2NhbGhv
c3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLnB5XCcpLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHtcbicKKyAgICAnICAgIGlmIChpbnRlcm5hbHMuZmV0Y2hS
ZXNwb25zZVNvdXJjZShyZXNwb25zZSkgIT0gIkRpc2sgY2FjaGUiKSB7XG4nCisgICAgJyAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwnbG9nXCcpLmlubmVyVGV4dCA9IFwnRkFJTDogcmVz
b3VyY2UgaXMgbm90IGluIHRoZSBkaXNrIGNhY2hlLlwnO1xuJworICAgICcgICAgfVxuJworICAg
ICcgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7XG4nCisgICAgJyAgfSk7XG4nCisgICAgJ31c
bicKKyAgICAnXG4nCisgICAgJzwvc2NyaXB0PlxuJworICAgICc8ZGl2IGlkPSJsb2ciPicKKykK
KworaWYgcHVycG9zZSA9PSAncHJlZmV0Y2gnOgorICAgIHN5cy5zdGRvdXQud3JpdGUoJ1BBU1Mn
KQorZWxzZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdGQUlMJykKKworc3lzLnN0ZG91dC53cml0
ZSgKKyAgICAnPC9kaXY+XG4nCisgICAgJzwvYm9keT5cbicKKyAgICAnPC9odG1sPlxuJworKQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5w
eQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LXJlZmVyZXItaWZyYW1lLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtcmVmZXJl
ci1pZnJhbWUuaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtcmVmZXJlci1pZnJhbWUuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMSArMSBAQAotPGltZyBzcmM9ImxvYWQtYW5kLWNoZWNrLXJlZmVyZXIucGhwP3Bh
dGg9Y29tcGFzcy1uby1jYWNoZS5qcGcmZXhwZWN0ZWQtcmVmZXJlcj1odHRwOi8vMTI3LjAuMC4x
OjgwMDAvY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LXJlZmVyZXItaWZyYW1lLmh0bWwiPgorPGlt
ZyBzcmM9ImxvYWQtYW5kLWNoZWNrLXJlZmVyZXIucHk/cGF0aD1jb21wYXNzLW5vLWNhY2hlLmpw
ZyZleHBlY3RlZC1yZWZlcmVyPWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMv
cmVkaXJlY3QtcmVmZXJlci1pZnJhbWUuaHRtbCI+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9yZWxvYWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucGhwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3JlbG9hZC1t
YWluLXJlc291cmNlLWlmcmFtZS5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3JlbG9hZC1tYWluLXJlc291cmNlLWlmcmFtZS5w
aHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMyArMCwwIEBACi08P3BocAotaWYgKGZpbGVfZXhpc3Rz
KHN5c19nZXRfdGVtcF9kaXIoKSAuICIvY2FjaGUtcmVsb2FkLW1haW4tcmVzb3VyY2UudG1wIikp
IHsKLSAgICB1bmxpbmsoc3lzX2dldF90ZW1wX2RpcigpIC4gIi9jYWNoZS1yZWxvYWQtbWFpbi1y
ZXNvdXJjZS50bXAiKTsKLSAgICBlY2hvICI8Ym9keT4iOwotICAgIGVjaG8gIjxzY3JpcHQ+IjsK
LSAgICBlY2hvICJ3aW5kb3cucGFyZW50LmZpbmlzaCgpOyI7Ci0gICAgZWNobyAiPC9zY3JpcHQ+
IjsKLSAgICBlY2hvICI8L2JvZHk+IjsKLSAgICBleGl0KCk7Ci19Ci0KLSR0bXBGaWxlID0gZm9w
ZW4oc3lzX2dldF90ZW1wX2RpcigpIC4gIi9jYWNoZS1yZWxvYWQtbWFpbi1yZXNvdXJjZS50bXAi
LCAndycpOwotZmNsb3NlKCR0bXBGaWxlKTsKLQotJG1heF9hZ2UgPSAxMiAqIDMxICogMjQgKiA2
MCAqIDYwOyAvL29uZSB5ZWFyCi0kbGFzdF9tb2RpZmllZCA9IGdtZGF0ZShEQVRFX1JGQzExMjMs
IHRpbWUoKSArICRtYXhfYWdlKTsKLSRleHBpcmVzID0gZ21kYXRlKERBVEVfUkZDMTEyMywgdGlt
ZSgpICsgJG1heF9hZ2UpOwotCi1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IHB1YmxpYywgbWF4LWFn
ZT0nIC4gJG1heF9hZ2UpOwotaGVhZGVyKCdFeHBpcmVzOiAnIC4gJGV4cGlyZXMpOwotaGVhZGVy
KCdDb250ZW50LVR5cGU6IHRleHQvaHRtbCcpOwotaGVhZGVyKCdMYXN0LU1vZGlmaWVkOiAnIC4g
JGxhc3RfbW9kaWZpZWQpOwotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL3JlbG9hZC1tYWluLXJlc291cmNlLWlmcmFtZS5weQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9yZWxvYWQtbWFpbi1yZXNvdXJj
ZS1pZnJhbWUucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvcmVsb2FkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnB5CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMzcgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitp
bXBvcnQgc3lzCitpbXBvcnQgdGVtcGZpbGUKK2Zyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1l
LCB0aW1lZGVsdGEKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5Z3dpbicpWy0xXQoraHR0
cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgo
b3MucGF0aC5kaXJuYW1lKGZpbGUpKSkpCitzeXMucGF0aC5pbnNlcnQoMCwgaHR0cF9yb290KQor
CitzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJykKKwor
dG1wRmlsZSA9IG9zLnBhdGguam9pbih0ZW1wZmlsZS5nZXR0ZW1wZGlyKCksICdjYWNoZS1yZWxv
YWQtbWFpbi1yZXNvdXJjZS50bXAnKQoraWYgb3MucGF0aC5pc2ZpbGUodG1wRmlsZSk6CisgICAg
b3MucmVtb3ZlKHRtcEZpbGUpCisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJzxib2R5
PlxuJworICAgICAgICAnPHNjcmlwdD5cbicKKyAgICAgICAgJ3dpbmRvdy5wYXJlbnQuZmluaXNo
KCk7XG4nCisgICAgICAgICc8L3NjcmlwdD5cbicKKyAgICAgICAgJzwvYm9keT5cbicKKyAgICAp
CisgICAgc3lzLmV4aXQoMCkKKworZmlsZSA9IG9wZW4odG1wRmlsZSwgJ3crJykKK2ZpbGUuY2xv
c2UoKQorCittYXhfYWdlID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MAorbGFzdF9tb2RpZmllZCA9
ICd7fSArMDAwMCcuZm9ybWF0KChkYXRldGltZS51dGNub3coKSArIHRpbWVkZWx0YShzZWNvbmRz
PW1heF9hZ2UpKS5zdHJmdGltZSgnJWEsICVkICViICVZICVIOiVNOiVTJykpCitleHBpcmVzID0g
J3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1lLnV0Y25vdygpICsgdGltZWRlbHRhKHNlY29uZHM9
bWF4X2FnZSkpLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06JVMnKSkKKworc3lzLnN0ZG91
dC53cml0ZSgKKyAgICBmJ0NhY2hlLUNvbnRyb2w6IHB1YmxpYywgbWF4LWFnZT17bWF4X2FnZX1c
clxuJworICAgIGYnRXhwaXJlczoge2V4cGlyZXN9XHJcbicKKyAgICBmJ0xhc3QtTW9kaWZpZWQ6
IHtsYXN0X21vZGlmaWVkfVxyXG5cclxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL3JlbG9hZC1tYWluLXJlc291cmNlLWlmcmFtZS5weQpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Nsb3ctaWZy
YW1lLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9zbG93LWlmcmFtZS5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Nsb3ctaWZyYW1lLnBocAkobm9uZXhpc3RlbnQpCkBA
IC0xLDUgKzAsMCBAQAotPD9waHAgCi1zbGVlcCgxKTsKLWhlYWRlcigiQ29udGVudC1UeXBlOiB0
ZXh0L2h0bWwiKTsgCi1lY2hvKCI8c2NyaXB0PmFsZXJ0KCdQQVNTIC0gaWZyYW1lIGxvYWRlZCcp
OyBpZiAod2luZG93LnRlc3RSdW5uZXIpIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOyA8L3Njcmlw
dD4iKTsgCi0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMv
c2xvdy1pZnJhbWUucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvc2xvdy1pZnJhbWUucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc2xvdy1pZnJhbWUucHkJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwxMSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgc3lzCitp
bXBvcnQgdGltZQorCit0aW1lLnNsZWVwKDEpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0Nv
bnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCisgICAgJzxzY3JpcHQ+YWxlcnQoXCdQQVNT
IC0gaWZyYW1lIGxvYWRlZFwnKTsgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsgPC9zY3JpcHQ+XG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvc2xvdy1pZnJhbWUucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAs
MCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0MzA0LWJhZC1jb250ZW50
LXR5cGUucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL3N0eWxlc2hlZXQzMDQtYmFkLWNvbnRlbnQtdHlwZS5waHAJKHJldmlzaW9uIDI3NDI5
MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQz
MDQtYmFkLWNvbnRlbnQtdHlwZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMSArMCwwIEBACi08
P3BocAotcmVxdWlyZV9vbmNlICcuLi8uLi9yZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXllci5waHAn
OwotCi1jbGVhcnN0YXRjYWNoZSgpOwotCi1pZiAoJF9TRVJWRVJbIkhUVFBfSUZfTU9ESUZJRURf
U0lOQ0UiXSkgewotICAgIGhlYWRlcigiSFRUUC8xLjAgMzA0IE5vdCBNb2RpZmllZCIpOwotICAg
IGhlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluIik7Ci0gICAgZXhpdCgpOwotfQotJG9u
ZV95ZWFyID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MDsKLSRsYXN0X21vZGlmaWVkID0gZ21kYXRl
KERBVEVfUkZDMTEyMywgdGltZSgpIC0gJG9uZV95ZWFyKTsKLSRleHBpcmVzID0gZ21kYXRlKERB
VEVfUkZDMTEyMywgdGltZSgpICsgJG9uZV95ZWFyKTsKLQotaGVhZGVyKCdDYWNoZS1Db250cm9s
OiBwdWJsaWMsIG1heC1hZ2U9JyAuICRvbmVfeWVhcik7Ci1oZWFkZXIoJ0V4cGlyZXM6ICcgLiAk
ZXhwaXJlcyk7Ci1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9jc3MnKTsKLWhlYWRlcignRXRh
ZzogMTIzNDU2Nzg5Jyk7Ci1oZWFkZXIoJ0xhc3QtTW9kaWZpZWQ6ICcgLiAkbGFzdF9tb2RpZmll
ZCk7Ci0/PgotI3Rlc3QgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMjU1LCAwKTsgfQpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldDMwNC1i
YWQtY29udGVudC10eXBlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQtYmFkLWNvbnRlbnQtdHlwZS5weQkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNo
ZWV0MzA0LWJhZC1jb250ZW50LXR5cGUucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBA
QAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zyb20g
ZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lZGVsdGEKKworbW9kaWZpZWRfc2luY2UgPSBv
cy5lbnZpcm9uLmdldCgnSFRUUF9JRl9NT0RJRklFRF9TSU5DRScsICcnKQoraWYgbW9kaWZpZWRf
c2luY2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ3N0YXR1czozMDRcclxuJwor
ICAgICAgICAnQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluXHJcblxyXG4nCisgICAgKQorICAgIHN5
cy5leGl0KDApCisKK29uZV95ZWFyID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MAorbGFzdF9tb2Rp
ZmllZCA9ICd7fSArMDAwMCcuZm9ybWF0KChkYXRldGltZS51dGNub3coKSAtIHRpbWVkZWx0YShz
ZWNvbmRzPW9uZV95ZWFyKSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorZXhw
aXJlcyA9ICd7fSArMDAwMCcuZm9ybWF0KChkYXRldGltZS51dGNub3coKSArIHRpbWVkZWx0YShz
ZWNvbmRzPW9uZV95ZWFyKSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorCitz
eXMuc3Rkb3V0LndyaXRlKAorICAgIGYnQ2FjaGUtQ29udHJvbDogcHVibGljLCBtYXgtYWdlPXtv
bmVfeWVhcn1cclxuJworICAgIGYnRXhwaXJlczoge2V4cGlyZXN9XHJcbicKKyAgICAnQ29udGVu
dC1UeXBlOiB0ZXh0L2Nzc1xyXG4nCisgICAgJ0V0YWc6IDEyMzQ1Njc4OVxyXG4nCisgICAgZidM
YXN0LU1vZGlmaWVkOiB7bGFzdF9tb2RpZmllZH1cclxuXHJcbicKKyAgICAnI3Rlc3QgeyBiYWNr
Z3JvdW5kLWNvbG9yOiByZ2IoMCwgMjU1LCAwKTsgfScKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9zdHlsZXNoZWV0MzA0LWJhZC1jb250ZW50LXR5cGUucHkKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9zdHlsZXNoZWV0MzA0LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0MzA0LnBocAkocmV2aXNpb24gMjc0MjkyKQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldDMwNC5waHAJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwyMSArMCwwIEBACi08P3BocA0KLXJlcXVpcmVfb25jZSAnLi4v
Li4vcmVzb3VyY2VzL3BvcnRhYmlsaXR5TGF5ZXIucGhwJzsNCi0NCi1jbGVhcnN0YXRjYWNoZSgp
Ow0KLQ0KLWlmICgkX1NFUlZFUlsiSFRUUF9JRl9NT0RJRklFRF9TSU5DRSJdKSB7DQotICAgIGhl
YWRlcigiSFRUUC8xLjAgMzA0IE5vdCBNb2RpZmllZCIpOw0KLSAgICBleGl0KCk7DQotfQ0KLSRv
bmVfeWVhciA9IDEyICogMzEgKiAyNCAqIDYwICogNjA7DQotJGxhc3RfbW9kaWZpZWQgPSBnbWRh
dGUoREFURV9SRkMxMTIzLCB0aW1lKCkgLSAkb25lX3llYXIpOw0KLSRleHBpcmVzID0gZ21kYXRl
KERBVEVfUkZDMTEyMywgdGltZSgpICsgJG9uZV95ZWFyKTsNCi0NCi1oZWFkZXIoJ0NhY2hlLUNv
bnRyb2w6IHB1YmxpYywgbWF4LWFnZT0nIC4gJG9uZV95ZWFyKTsNCi1oZWFkZXIoJ0V4cGlyZXM6
ICcgLiAkZXhwaXJlcyk7DQotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvY3NzJyk7DQotaGVh
ZGVyKCdDb250ZW50LUxlbmd0aDogMCcpOw0KLWhlYWRlcignRXRhZzogMTIzNDU2Nzg5Jyk7DQot
aGVhZGVyKCdMYXN0LU1vZGlmaWVkOiAnIC4gJGxhc3RfbW9kaWZpZWQpOw0KLWV4aXQoKTsNCi0/
Pg0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hl
ZXQtaHRtbC5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9y
ZXNvdXJjZXMvc3R5bGVzaGVldC1odG1sLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldC1odG1sLnBocAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDUgKzAsMCBAQAotPD9waHAKLWVjaG8gIjxsaW5rIHJlbD1zdHlsZXNo
ZWV0IGhyZWY9IiAuICRfR0VUWydzaGVldCddIC4gIj4iOwotPz4KLTxkaXYgaWQ9dGVzdDE+PC9k
aXY+Ci08ZGl2IGlkPXRlc3QyPjwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldC1odG1sLnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQtaHRtbC5weQkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNo
ZWV0LWh0bWwucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNCBAQAorIyEvdXNyL2Jpbi9l
bnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zyb20gdXJsbGliLnBhcnNlIGlt
cG9ydCBwYXJzZV9xcworCitzaGVldCA9IHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9T
VFJJTkcnLCAnJyksIGtlZXBfYmxhbmtfdmFsdWVzPVRydWUpLmdldCgnc2hlZXQnLCBbJzQwNC5j
c3MnXSlbMF0KKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0
bWxcclxuXHJcbicKKyAgICBmJzxsaW5rIHJlbD1zdHlsZXNoZWV0IGhyZWY9e3NoZWV0fT4nCisg
ICAgJzxkaXYgaWQ9dGVzdDE+PC9kaXY+XG4nCisgICAgJzxkaXYgaWQ9dGVzdDI+PC9kaXY+XG4n
CispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldC1odG1sLnB5Cl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvc3ZnLWRlZnMtdmFyeS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3ZnLWRlZnMtdmFyeS5waHAJKHJldmlzaW9uIDI3
NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N2Zy1kZWZz
LXZhcnkucGhwCShub25leGlzdGVudCkKQEAgLTEsMTIgKzAsMCBAQAotPD9waHAKLWhlYWRlcigi
Q29udGVudC1UeXBlOiBpbWFnZS9zdmcreG1sIik7Ci1oZWFkZXIoIlZhcnk6IENvb2tpZSIpOwot
aGVhZGVyKCJDYWNoZS1Db250cm9sOiBtYXgtYWdlPTMxNTM2MDAwIik7Ci0/PgotPHN2ZyB4bWxu
cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5L3hsaW5rIj4KLTxkZWZzPgotPGcgaWQ9ImNpcmNsZSI+Ci08Y2lyY2xlIHN0eWxl
PSJmaWxsOmdyZWVuIiByPSIxMCIvPgotPC9nPgotPC9kZWZzPgotPC9zdmc+CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdmctZGVmcy12YXJ5LnB5Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N2Zy1kZWZz
LXZhcnkucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9y
ZXNvdXJjZXMvc3ZnLWRlZnMtdmFyeS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE2IEBA
CisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBzeXMKKworc3lzLnN0b2R1dC53cml0
ZSgKKyAgICAnQ29udGVudC1UeXBlOiBpbWFnZS9zdmcreG1sXHJcbicKKyAgICAnVmFyeTogQ29v
a2llXHJcbicKKyAgICAnQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0zMTUzNjAwMFxyXG5cclxuJwor
ICAgICc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9
Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPlxuJworICAgICc8ZGVmcz5cbicKKyAgICAn
PGcgaWQ9ImNpcmNsZSI+XG4nCisgICAgJzxjaXJjbGUgc3R5bGU9ImZpbGw6Z3JlZW4iIHI9IjEw
Ii8+XG4nCisgICAgJzwvZz5cbicKKyAgICAnPC9kZWZzPlxuJworICAgICc8L3N2Zz5cbicKKykK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdmctZGVmcy12YXJ5LnB5Cl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNv
dXJjZXMveC1mcmFtZS1vcHRpb25zLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94LWZyYW1lLW9wdGlvbnMucGhwCShyZXZpc2lvbiAyNzQy
OTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94LWZyYW1lLW9w
dGlvbnMucGhwCShub25leGlzdGVudCkKQEAgLTEsMjYgKzAsMCBAQAotPD9waHANCi1yZXF1aXJl
X29uY2UgJy4uLy4uL3Jlc291cmNlcy9wb3J0YWJpbGl0eUxheWVyLnBocCc7DQotDQotY2xlYXJz
dGF0Y2FjaGUoKTsNCi0NCi1pZiAoJF9TRVJWRVJbIkhUVFBfSUZfTU9ESUZJRURfU0lOQ0UiXSkg
ew0KLSAgICBoZWFkZXIoIkhUVFAvMS4wIDMwNCBOb3QgTW9kaWZpZWQiKTsNCi0gICAgZXhpdCgp
Ow0KLX0NCi0kb25lX3llYXIgPSAxMiAqIDMxICogMjQgKiA2MCAqIDYwOw0KLSRsYXN0X21vZGlm
aWVkID0gZ21kYXRlKERBVEVfUkZDMTEyMywgdGltZSgpIC0gJG9uZV95ZWFyKTsNCi0kZXhwaXJl
cyA9IGdtZGF0ZShEQVRFX1JGQzExMjMsIHRpbWUoKSArICRvbmVfeWVhcik7DQotCi0NCi1oZWFk
ZXIoJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBtYXgtYWdlPScgLiAkb25lX3llYXIpOw0KLWhl
YWRlcignRXhwaXJlczogJyAuICRleHBpcmVzKTsNCi1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4
dC9odG1sJyk7DQotaGVhZGVyKCdFdGFnOiAxMjM0NTY3ODknKTsNCi1oZWFkZXIoJ0xhc3QtTW9k
aWZpZWQ6ICcgLiAkbGFzdF9tb2RpZmllZCk7DQotaGVhZGVyKCdYLUZSQU1FLU9QVElPTlM6IEFM
TE9XQUxMJyk7Ci0KLWVjaG8gIjxib2R5PjxzY3JpcHQ+XG4iOwotZWNobyAid2luZG93Lm9ubG9h
ZCA9IGZ1bmN0aW9uKCkgeyB3aW5kb3cucGFyZW50LnRlc3QoKTsgfVxuIjsKLWVjaG8gIjwvc2Ny
aXB0PjwvYm9keT5cbiI7Ci0NCi0/Pg0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94LWZyYW1lLW9wdGlvbnMucHkJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveC1mcmFtZS1v
cHRpb25zLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjEgQEAKKyMhL3Vzci9iaW4vZW52
IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitmcm9tIGRhdGV0aW1lIGltcG9ydCBk
YXRldGltZSwgdGltZWRlbHRhCisKK29uZV95ZWFyID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MAor
bGFzdF9tb2RpZmllZCA9ICd7fSArMDAwMCcuZm9ybWF0KChkYXRldGltZS51dGNub3coKSAtIHRp
bWVkZWx0YShzZWNvbmRzPW9uZV95ZWFyKSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTol
UycpKQorZXhwaXJlcyA9ICd7fSArMDAwMCcuZm9ybWF0KChkYXRldGltZS51dGNub3coKSArIHRp
bWVkZWx0YShzZWNvbmRzPW9uZV95ZWFyKSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTol
UycpKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgIGYnQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUs
IG1heC1hZ2U9e29uZV95ZWFyfVxyXG4nCisgICAgZidFeHBpcmVzOiB7ZXhwaXJlc31cclxuJwor
ICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nCisgICAgJ0V0YWc6IDEyMzQ1Njc4OVxy
XG4nCisgICAgZidMYXN0LU1vZGlmaWVkOiB7bGFzdF9tb2RpZmllZH1cclxuJworICAgICdYLUZS
QU1FLU9QVElPTlM6IEFMTE9XQUxMXHJcblxyXG4nCisgICAgJzxib2R5PjxzY3JpcHQ+XG4nCisg
ICAgJ3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsgd2luZG93LnBhcmVudC50ZXN0KCk7IH1c
bicKKyAgICAnPC9zY3JpcHQ+PC9ib2R5PlxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJs
ZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1y
ZXNwb25zZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9y
ZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXJlc3BvbnNlLnBocAkocmV2aXNpb24gMjc0MjkyKQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveGhyLXZhcnktaGVhZGVy
LXJlc3BvbnNlLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDExICswLDAgQEAKLTw/cGhwCi1oZWFk
ZXIoIlZhcnk6IE9yaWdpbiIpOwotaGVhZGVyKCJDYWNoZS1Db250cm9sOiBtYXgtYWdlPTMxNTM2
MDAwIik7Ci1pZiAoaXNzZXQoJF9TRVJWRVJbJ0hUVFBfT1JJR0lOJ10pKSB7Ci0gICAgaGVhZGVy
KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW46IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIpOwot
ICAgIGVjaG8gIkNyb3NzIG9yaWdpbiAiOwotfSBlbHNlIHsKLSAgICBlY2hvICJTYW1lIG9yaWdp
biAiOwotfQotPz4KLXJlc3BvbnNlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXJl
c3BvbnNlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25zZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItcmVzcG9u
c2UucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMiBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0
aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworb3JpZ2luID0gVHJ1ZSBpZiBvcy5lbnZp
cm9uLmdldCgnSFRUUF9PUklHSU4nLCBOb25lKSBpcyBub3QgTm9uZSBlbHNlIEZhbHNlCisKK3N5
cy5zdGRvdXQud3JpdGUoCisgICAgJ1Zhcnk6IE9yaWdpblxyXG4nCisgICAgJ0NhY2hlLUNvbnRy
b2w6IG1heC1hZ2U9MzE1MzYwMDBcclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxy
XG4nCispCisKK2lmIG9yaWdpbjoKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiBodHRwOi8vMTI3LjAuMC4xOjgwMDBcclxuXHJcbicK
KyAgICAgICAgJ0Nyb3NzIG9yaWdpbiAnCisgICAgKQorZWxzZToKKyAgICBzeXMuc3Rkb3V0Lndy
aXRlKCdcclxuU2FtZSBvcmlnaW4gJykKKworc3lzLnN0ZG91dC53cml0ZSgncmVzcG9uc2UnKQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25zZS5w
eQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1zdWJmcmFtZS5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRl
ci1zdWJmcmFtZS5odG1sCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItc3ViZnJhbWUuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMiw3ICsyLDcgQEAKIGZ1bmN0aW9uIHRlc3RTYW1lT3JpZ2luKCkKIHsKICAg
ICB2YXIgcmVxID0gbmV3IFhNTEh0dHBSZXF1ZXN0OwotICAgIHJlcS5vcGVuKCJHRVQiLCAieGhy
LXZhcnktaGVhZGVyLXJlc3BvbnNlLnBocCIpOworICAgIHJlcS5vcGVuKCJHRVQiLCAieGhyLXZh
cnktaGVhZGVyLXJlc3BvbnNlLnB5Iik7CiAgICAgcmVxLm9ubG9hZD1mdW5jdGlvbigpIHsgcGFy
ZW50LnBvc3RNZXNzYWdlKHJlcS5yZXNwb25zZVRleHQsICJodHRwOi8vMTI3LjAuMC4xOjgwMDAi
KSB9CiAgICAgcmVxLnNlbmQoKTsKIH0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VzL3RvdWNoLXRlbXAtZmlsZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlcy90b3VjaC10ZW1wLWZpbGUucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvdG91Y2gtdGVtcC1maWxlLnB5CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMjcgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0
IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgdGVtcGZpbGUKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9y
dCBwYXJzZV9xcworCitmaWxlID0gX19maWxlX18uc3BsaXQoJzovY3lnd2luJylbLTFdCitodHRw
X3Jvb3QgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChv
cy5wYXRoLmRpcm5hbWUoZmlsZSkpKSkKK3N5cy5wYXRoLmluc2VydCgwLCBodHRwX3Jvb3QpCisK
K2ZpbGVuYW1lID0gcGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklORycsICcnKSwg
a2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkuZ2V0KCdmaWxlbmFtZScsIFsnc3RhdGUudHh0J10pWzBd
Cit0bXBGaWxlUGF0aCA9IG9zLnBhdGguam9pbih0ZW1wZmlsZS5nZXR0ZW1wZGlyKCksIGZpbGVu
YW1lKQorCitzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxu
JykKKworc3RhdCA9IG9zLnN0YXQodG1wRmlsZVBhdGgpCitpZiBub3Qgc3RhdDoKKyAgICBzeXMu
c3Rkb3V0LndyaXRlKCdGQUlMOiBzdGF0KCkgY2FsbCBmYWlsZWQuXG4nKQorICAgIHN5cy5leGl0
KDApCisKK2F0aW1lID0gc3RhdC5zdF9hdGltZQorbXRpbWUgPSBzdGF0LnN0X210aW1lCit0cnk6
CisgICAgb3MudXRpbWUodG1wRmlsZVBhdGgsIHRpbWVzPShhdGltZSwgbXRpbWUgKyAxKSkKK2V4
Y2VwdDoKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdGQUlMOiB0b3VjaCgpIGNhbGwgZmFpbGVkLlxu
JykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy90b3VjaC10ZW1wLWZpbGUucHkKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy93
cml0ZS10ZW1wLWZpbGUucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZXMvd3JpdGUtdGVtcC1maWxlLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VzL3dyaXRlLXRlbXAtZmlsZS5weQkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDI3IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1w
b3J0IHN5cworaW1wb3J0IHRlbXBmaWxlCitmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2Vf
cXMKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5Z3dpbicpWy0xXQoraHR0cF9yb290ID0g
b3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgob3MucGF0aC5k
aXJuYW1lKGZpbGUpKSkpCitzeXMucGF0aC5pbnNlcnQoMCwgaHR0cF9yb290KQorCitxdWVyeSA9
IHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAnJyksIGtlZXBfYmxhbmtf
dmFsdWVzPVRydWUpCitmaWxlbmFtZSA9IHF1ZXJ5LmdldCgnZmlsZW5hbWUnLCBbJ3N0YXRlLnR4
dCddKVswXQorZGF0YSA9IHF1ZXJ5LmdldCgnZGF0YScsIFsnJ10pWzBdCisKK3RtcEZpbGUgPSBv
cy5wYXRoLmpvaW4odGVtcGZpbGUuZ2V0dGVtcGRpcigpLCBmaWxlbmFtZSkKK3N5cy5zdGRvdXQu
d3JpdGUoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nKQorCit0cnk6CisgICAgZmls
ZSA9IG9wZW4odG1wRmlsZSwgJ3cnKQorICAgIGZpbGUud3JpdGUoZGF0YSkKKyAgICBmaWxlLmNs
b3NlKCkKK2V4Y2VwdDoKKyAgICBzeXMuc3Rkb3V0LndyaXRlKGYnRkFJTDogdW5hYmxlIHRvIHdy
aXRlIHRvIGZpbGU6IHt0bXBGaWxlfVxuJykKKyAgICBzeXMuZXhpdCgwKQorCitzeXMuc3Rkb3V0
LndyaXRlKGYne3RtcEZpbGV9XG4nKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL3dyaXRlLXRl
bXAtZmlsZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMj
CisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvY2FjaGVhYmxlLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1j
cmFzaC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJl
cXVlc3QvY2FjaGVhYmxlLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1jcmFzaC5odG1sCShyZXZpc2lv
biAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2NhY2hl
YWJsZS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtY3Jhc2guaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
Niw3ICs2LDcgQEAKIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHdlIGRvIG5vdCBjcmFzaCB3aGVu
IFhIUiByZXVzZXMgYSBjYWNoZWQgcmVzb3VyY2UgdGhhdCBjb250YWlucyBhIHNpbXBsZSBjcm9z
cyBvcmlnaW4gcmVkaXJlY3QuIik7CiBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotY29uc3QgdXJs
ID0gIi9jYWNoZS9yZXNvdXJjZXMvY2FjaGUtY29udHJvbC1yZWRpcmVjdD9jb2RlPTMwMiZjYWNo
ZV9jb250cm9sPXB1YmxpYyxtYXgtYWdlPTEwMDAmdXJsPWh0dHAlM0ElMkYlMkZsb2NhbGhvc3Ql
M0E4MDAwJTJGc2VjdXJpdHklMkZyZXNvdXJjZXMlMkZhbGxvdy1pZi1vcmlnaW4ucHklM0ZhbGxv
d0NhY2hlJTI2YWxsb3dDcmVkZW50aWFscyUyNm9yaWdpbiUzRGh0dHAlMjUzQSUyNTJGJTI1MkYx
MjcuMC4wLjElMjUzQTgwMDAiOworY29uc3QgdXJsID0gIi9jYWNoZS9yZXNvdXJjZXMvY2FjaGUt
Y29udHJvbC1yZWRpcmVjdC5waHA/Y29kZT0zMDImY2FjaGVfY29udHJvbD1wdWJsaWMsbWF4LWFn
ZT0xMDAwJnVybD1odHRwJTNBJTJGJTJGbG9jYWxob3N0JTNBODAwMCUyRnNlY3VyaXR5JTJGcmVz
b3VyY2VzJTJGYWxsb3ctaWYtb3JpZ2luLnB5JTNGYWxsb3dDYWNoZSUyNmFsbG93Q3JlZGVudGlh
bHMlMjZvcmlnaW4lM0RodHRwJTI1M0ElMjUyRiUyNTJGMTI3LjAuMC4xJTI1M0E4MDAwIjsKIAog
eGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiB4aHIud2l0aENyZWRlbnRpYWxzID0gdHJ1ZTsK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lv
biAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwko
d29ya2luZyBjb3B5KQpAQCAtMjM2OCw3ICsyMzY4LDcgQEAgaHR0cC90ZXN0cy9jYWNoZS9jb250
ZW50LXR5cGUtaWdub3JlZC1kdQogaHR0cC90ZXN0cy9jYWNoZS9tYWluLXJlc291cmNlLTMwNC1y
ZWxvYWQuaHRtbCBbIEZhaWx1cmUgXQogaHR0cC90ZXN0cy9jYWNoZS9wYXJ0aXRpb25lZC1jYWNo
ZS5odG1sIFsgRmFpbHVyZSBdCiBodHRwL3Rlc3RzL2NhY2hlL3BhcnRpdGlvbmVkLWNhY2hlLWlm
cmFtZS5odG1sIFsgRmFpbHVyZSBdCi1odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0
LnBocCBbIEZhaWx1cmUgXSAjIEVhc3kKK2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1n
ZXQucHkgWyBGYWlsdXJlIF0gIyBFYXN5CiBodHRwL3Rlc3RzL2NhbnZhcy9jYW52YXMtc2xvdy1m
b250LWxvYWRpbmcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaHR0cC90ZXN0cy9jc3MvY3Nz
LWltYWdlLXZhbHVlZC1zaGFwZS5odG1sIFsgRmFpbHVyZSBdCiBodHRwL3Rlc3RzL2Nvb2tpZXMv
c2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5odG1sIFsgUGFzcyBGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422981</attachid>
            <date>2021-03-11 15:21:03 -0800</date>
            <delta_ts>2021-03-12 09:13:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222935-20210311182052.patch</filename>
            <type>text/plain</type>
            <size>112558</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NDMwMykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDExMyBAQAorMjAyMS0wMy0xMSAgQ2hyaXMgR2FtYnJlbGwg
IDxjZ2FtYnJlbGxAYXBwbGUuY29tPgorCisgICAgICAgIFtMYXlvdXRUZXN0c10gQ29udmVydCBo
dHRwL3Rlc3RzL2NhY2hlIGNvbnZlcnQgUEhQIHRvIFB5dGhvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyOTM1CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS83NTE4MzMxND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvY2FjaGUtcmVkaXJlY3Rpb25zLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9jYWNoZS9jYWNoZWQtbWFpbi1yZXNvdXJjZS5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvY2FjaGVkRW50cnktd2FpdHMtZm9yLXJlc3BvbnNlLXBvbGlj
eS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvY29udGVudC10eXBlLWlnbm9yZWQt
ZHVyaW5nLXJldmFsaWRhdGlvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9kaXNrLWNhY2hlLXJlZGlyZWN0LXRvLWRhdGEuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZW1vdmUtc2V2ZXJhbC1wZW5kaW5n
LXdyaXRlcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZWRp
cmVjdC1jaGFpbi1saW1pdHMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvcmVzb3VyY2VzL2pzb24ucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvanNvbi5weTogQWRkZWQuCisgICAgICAgIChzZW5k
MzA0KToKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL21h
a2Utc2hhMS1jb2xsaXNpb24ucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvbWFrZS1zaGExLWNvbGxpc2lvbi5weTogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1j
aGFpbi5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hl
L3Jlc291cmNlcy9yZWRpcmVjdC1jaGFpbi5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC10by1kYXRhLnBocDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGly
ZWN0LXRvLWRhdGEucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zaGF0dGVyZWQtZGVkdXBsaWNhdGlvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL2NhY2hlYWJsZS1yZWRpcmVj
dC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2
ZS12YWxpZGF0aW9uL2h0dHAtYXV0aC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jYWNoZWFibGUtcmVk
aXJlY3QtZnJhbWUucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jYWNoZWFibGUtcmVkaXJl
Y3QtZnJhbWUucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5waHA6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0
aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2Nzcy10by1yZXZhbGlkYXRlLnB5OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlv
bi9yZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnBocDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFs
aWRhdGlvbi9yZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnB5OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUt
dmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tY3NzLnBocDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9y
ZXNvdXJjZXMvcmVkaXJlY3QtdG8tY3NzLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVxdWVz
dC1oZWFkZXJzLXNjcmlwdC5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3JlcXVlc3QtaGVh
ZGVycy1zY3JpcHQucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgu
cGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVj
dWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucHk6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxp
ZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucGhwOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0
aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucHk6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Zh
bGlkYXRpb24tcmVxdWVzdC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvaGlzdG9y
eS1uYXZpZ2F0aW9uLW5vLXJlc291cmNlLXJldmFsaWRhdGlvbi5odG1sOgorICAgICAgICAqIGh0
dHAvdGVzdHMvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
aHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9jYWNoZS9pZnJhbWUtZGV0YWNoLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNo
ZS9saW5rLXByZWZldGNoLW1haW4tcmVzb3VyY2UtaWZyYW1lLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9jYWNoZS9saW5rLXByZWZldGNoLW1haW4tcmVzb3VyY2UuaHRtbDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL2NhY2hlL21haW4tcmVzb3VyY2UtMzA0LXJlbG9hZC5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucGhwOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucHk6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMucGhw
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1z
dWJyZXNvdXJjZXMucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVjdXJz
aXZlLXZhbGlkYXRpb24uaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3JlZGlyZWN0
LXJlZmVyZXIuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3JlbG9hZC1tYWluLXJl
c291cmNlLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3JlbG9hZC1t
YWluLXJlc291cmNlLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9ib2R5LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9ib2R5LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9jYWNoZWFibGUtaWZyYW1lLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRleHQucGhwOiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20t
dGV4dC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZy
YW1lMzA0LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9pZnJhbWUzMDQucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL2lmcmFtZTMwNGJvZHkucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL2lmcmFtZTMwNGJvZHkucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL2xvYWQtYW5kLWNoZWNrLXJlZmVyZXIucGhwOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2xvYWQtYW5kLWNoZWNrLXJlZmVy
ZXIucHk6IEFkZGVkLgorICAgICAgICAoY29udGVudFR5cGUpOgorICAgICAgICAqIGh0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5waHA6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1y
ZXNvdXJjZS1uZXh0LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnB5OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS13aXRoLXZhbGlk
YXRpb24ucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L25vLWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9uZWQtY2FjaGUtZWNoby1zdGF0ZS5waHA6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9uZWQtY2Fj
aGUtZWNoby1zdGF0ZS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNv
dXJjZXMvcGFydGl0aW9uZWQtY2FjaGUtbG9hZGVyLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvcGVybWFuZW50LXJlZGlyZWN0LnBocDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucHk6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8t
dmVyaWZ5LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9w
cmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1l
LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRj
aGVkLW1haW4tcmVzb3VyY2UucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5weTogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtcmVmZXJlci1pZnJhbWUuaHRt
bDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9yZWxvYWQtbWFpbi1yZXNv
dXJjZS1pZnJhbWUucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL3JlbG9hZC1tYWluLXJlc291cmNlLWlmcmFtZS5weTogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc2xvdy1pZnJhbWUucGhwOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Nsb3ctaWZyYW1lLnB5OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwucGhw
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hl
ZXQtaHRtbC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMv
c3R5bGVzaGVldDMwNC1iYWQtY29udGVudC10eXBlLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0MzA0LWJhZC1jb250ZW50LXR5cGUu
cHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hl
ZXQzMDQucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L3N2Zy1kZWZzLXZhcnkucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL3N2Zy1kZWZzLXZhcnkucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25zZS5waHA6IFJlbW92ZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXJlc3Bv
bnNlLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHIt
dmFyeS1oZWFkZXItc3ViZnJhbWUuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3N0
eWxlc2hlZXQtc2hhcmluZy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvdmFyeS1m
cmFtZWxlc3MtZG9jdW1lbnQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3hoci1i
b2R5Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS94aHItdmFyeS1oZWFkZXIuaHRt
bDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlcy90b3VjaC10ZW1wLWZpbGUucHk6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VzL3dyaXRlLXRlbXAtZmlsZS5weTog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9jYWNoZWFibGUtY3Jv
c3Mtb3JpZ2luLXJlZGlyZWN0LWNyYXNoLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rl
c3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDMtMTEgIEFkaXR5YSBLZWVydGhpICA8YWtlZXJ0aGlA
YXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdW0ZDUl0gVXBkYXRlIGRpc2FibGVkIHN0YXRlIGZv
ciBidXR0b24tbGlrZSBjb250cm9scwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9jYWNoZS1yZWRpcmVjdGlvbnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2NhY2hlLXJlZGlyZWN0aW9ucy5odG1sCShyZXZpc2lvbiAyNzQyOTIpCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2NhY2hlLXJlZGlyZWN0aW9ucy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xNSw3ICsxNSw3IEBAIHRlc3Quc3RlcChmdW5jdGlvbigpIHsKIAog
dmFyIGNvdW50ZXIgPSAwOwogdmFyIHJlc291cmNlID0gIk5vIjsKLXZhciBiYXNlVVJMID0gInJl
c291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0P2NvZGU9MzAyJnVybD1jYWNoZWFibGUtcmFu
ZG9tLXRleHQucGhwJnJhbmRvbV9pZD0xIjsKK3ZhciBiYXNlVVJMID0gInJlc291cmNlcy9jYWNo
ZS1jb250cm9sLXJlZGlyZWN0LnBocD9jb2RlPTMwMiZ1cmw9Y2FjaGVhYmxlLXJhbmRvbS10ZXh0
LnB5JnJhbmRvbV9pZD0xIjsKIHZhciB0ZXN0Q2FzZXMgPSBbCiB7bmFtZSA6ICJTaG91bGQgcmV1
c2UgcmVzb3VyY2UgKGNhY2hlYWJsZSByZWRpcmVjdGlvbikiLCBleHBlY3RlZCA6IHRydWUsIHVy
bCA6IGJhc2VVUkwgKyAiJmNhY2hlX2NvbnRyb2w9cHVibGljLCBtYXgtYWdlPTEwMDAiLCByZWxv
YWREZWxheSA6IDB9LAoge25hbWUgOiAiU2hvdWxkIHJlbG9hZCByZXNvdXJjZSAobm8tc3RvcmUg
cmVkaXJlY3Rpb24pIiwgZXhwZWN0ZWQgOiBmYWxzZSwgdXJsOiBiYXNlVVJMICsgIiZjYWNoZV9j
b250cm9sPW5vLXN0b3JlJm1heF9hZ2U9MTAwMCIsIHJlbG9hZERlbGF5IDogMH0sCkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2NhY2hlZC1tYWluLXJlc291cmNlLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jYWNoZWQtbWFpbi1yZXNv
dXJjZS5odG1sCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL2NhY2hlZC1tYWluLXJlc291cmNlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTExLDcgKzEx
LDcgQEAgZnVuY3Rpb24gcmVtb3ZlQW5kUmVsb2FkKCkKIHsKICAgICBkb2N1bWVudC5ib2R5LnJl
bW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZnJhbWUiKSk7CiAgICAgdmFyIG5l
d0lmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIG5ld0lmcmFt
ZS5zcmMgPSAicmVzb3VyY2VzL2NhY2hlYWJsZS1pZnJhbWUucGhwIjsKKyAgICBuZXdJZnJhbWUu
c3JjID0gInJlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnB5IjsKICAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKG5ld0lmcmFtZSk7CiAgICAgdmFyIGZyb21DYWNoZSA9IGludGVybmFscy5p
c0xvYWRpbmdGcm9tTWVtb3J5Q2FjaGUobmV3SWZyYW1lLnNyYyk7CiAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInJlc3VsdCIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2Rl
KGZyb21DYWNoZSA/ICJQQVNTIiA6ICJGQUlMIikpOwpAQCAtMTksNiArMTksNiBAQCBmdW5jdGlv
biByZW1vdmVBbmRSZWxvYWQoKQogICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKIH0K
IDwvc2NyaXB0PgotPGlmcmFtZSBpZD0iaWZyYW1lIiBzcmM9InJlc291cmNlcy9jYWNoZWFibGUt
aWZyYW1lLnBocCI+PC9pZnJhbWU+Cis8aWZyYW1lIGlkPSJpZnJhbWUiIHNyYz0icmVzb3VyY2Vz
L2NhY2hlYWJsZS1pZnJhbWUucHkiPjwvaWZyYW1lPgogPC9ib2R5PgogPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jYWNoZWRFbnRyeS13YWl0cy1mb3ItcmVzcG9u
c2UtcG9saWN5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9jYWNoZWRFbnRyeS13YWl0cy1mb3ItcmVzcG9uc2UtcG9saWN5Lmh0bWwJKHJldmlzaW9uIDI3
NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY2FjaGVkRW50cnktd2FpdHMt
Zm9yLXJlc3BvbnNlLXBvbGljeS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yMCwxMCArMjAsMTAg
QEAgZnVuY3Rpb24gY3JlYXRlRnJhbWUodXJsKSB7CiAgICAgfSk7CiB9CiAKLWNyZWF0ZUZyYW1l
KCIvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5waHAiKS50aGVuKGZ1bmN0
aW9uKGZyYW1lKSB7CitjcmVhdGVGcmFtZSgiL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFu
ZG9tLXRleHQucHkiKS50aGVuKGZ1bmN0aW9uKGZyYW1lKSB7CiAgICAgZnJhbWUucmVtb3ZlKCk7
CiAgICAgaW50ZXJuYWxzLmNsZWFyTWVtb3J5Q2FjaGUoKTsKLSAgICBjcmVhdGVGcmFtZSgiL2Nh
Y2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRleHQucGhwIikudGhlbihmdW5jdGlvbihm
cmFtZSkgeworICAgIGNyZWF0ZUZyYW1lKCIvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5k
b20tdGV4dC5weSIpLnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsKICAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQogICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgfSk7
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2NvbnRlbnQtdHlwZS1pZ25vcmVk
LWR1cmluZy1yZXZhbGlkYXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2NvbnRlbnQtdHlwZS1pZ25vcmVkLWR1cmluZy1yZXZhbGlkYXRpb24uaHRt
bAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jb250
ZW50LXR5cGUtaWdub3JlZC1kdXJpbmctcmV2YWxpZGF0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTEsNyArMSw3IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Ci0gICAgPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJjZXMvc3R5bGVzaGVldDMwNC1iYWQtY29u
dGVudC10eXBlLnBocCI+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJj
ZXMvc3R5bGVzaGVldDMwNC1iYWQtY29udGVudC10eXBlLnB5Ij4KIDwvaGVhZD4KIDxib2R5Pgog
ICAgIDxkaXYgaWQ9InRlc3QiPlRoaXMgZGl2IHNob3VsZCBoYXZlIGEgZ3JlZW4gYmFja2dyb3Vu
ZC48L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvaGlzdG9yeS1uYXZp
Z2F0aW9uLW5vLXJlc291cmNlLXJldmFsaWRhdGlvbi5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvaGlzdG9yeS1uYXZpZ2F0aW9uLW5vLXJlc291cmNlLXJl
dmFsaWRhdGlvbi5odG1sCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL2hpc3RvcnktbmF2aWdhdGlvbi1uby1yZXNvdXJjZS1yZXZhbGlkYXRpb24uaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtNzMsNyArNzMsNyBAQAogCiAgICAgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKICAgICAgICAgLy8gT3BlbiB0aGUgdGFyZ2V0IHdpbmRvdyBhbmQgaXQgd2lsbCBiZWdp
biB0byBzZW5kIHVzIG1lc3NhZ2VzLgotICAgICAgICB0YXJnZXQgPSB3aW5kb3cub3BlbignaHR0
cHM6Ly8xMjcuMC4wLjE6ODQ0My9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJj
ZS5waHAnKTsKKyAgICAgICAgdGFyZ2V0ID0gd2luZG93Lm9wZW4oJ2h0dHBzOi8vMTI3LjAuMC4x
Ojg0NDMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UucHknKTsKICAgICB9
CiAgICAgPC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9pZnJhbWUtMzA0LWNyYXNoLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL2lmcmFtZS0zMDQtY3Jhc2gtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2lmcmFtZS0zMDQtY3Jh
c2gtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDggKzEsOCBAQAotaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucGhwIC0gd2lsbFNlbmRSZXF1
ZXN0IDxOU1VSTFJlcXVlc3QgVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJj
ZXMvaWZyYW1lMzA0LnBocCwgbWFpbiBkb2N1bWVudCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAw
L2NhY2hlL2lmcmFtZS0zMDQtY3Jhc2guaHRtbCwgaHR0cCBtZXRob2QgR0VUPiByZWRpcmVjdFJl
c3BvbnNlIChudWxsKQoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJh
bWUzMDQucHkgLSB3aWxsU2VuZFJlcXVlc3QgPE5TVVJMUmVxdWVzdCBVUkwgaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucHksIG1haW4gZG9jdW1lbnQgVVJM
IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWwsIGh0dHAg
bWV0aG9kIEdFVD4gcmVkaXJlY3RSZXNwb25zZSAobnVsbCkKIGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWwgLSBkaWRGaW5pc2hMb2FkaW5nCi1odHRwOi8v
MTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAgLSBkaWRSZWNlaXZl
UmVzcG9uc2UgPE5TVVJMUmVzcG9uc2UgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291
cmNlcy9pZnJhbWUzMDQucGhwLCBodHRwIHN0YXR1cyBjb2RlIDIwMD4KLWh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBocCAtIGRpZEZpbmlzaExvYWRpbmcK
LWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBocCAtIHdp
bGxTZW5kUmVxdWVzdCA8TlNVUkxSZXF1ZXN0IFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2Fj
aGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAsIG1haW4gZG9jdW1lbnQgVVJMIGh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWwsIGh0dHAgbWV0aG9kIEdFVD4g
cmVkaXJlY3RSZXNwb25zZSAobnVsbCkKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNv
dXJjZXMvaWZyYW1lMzA0LnBocCAtIGRpZFJlY2VpdmVSZXNwb25zZSA8TlNVUkxSZXNwb25zZSBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAsIGh0dHAg
c3RhdHVzIGNvZGUgMzA0PgotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9p
ZnJhbWUzMDQucGhwIC0gZGlkRmluaXNoTG9hZGluZworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nh
Y2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucHkgLSBkaWRSZWNlaXZlUmVzcG9uc2UgPE5TVVJMUmVz
cG9uc2UgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucHks
IGh0dHAgc3RhdHVzIGNvZGUgMjAwPgoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291
cmNlcy9pZnJhbWUzMDQucHkgLSBkaWRGaW5pc2hMb2FkaW5nCitodHRwOi8vMTI3LjAuMC4xOjgw
MDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5weSAtIHdpbGxTZW5kUmVxdWVzdCA8TlNVUkxS
ZXF1ZXN0IFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMw
NC5weSwgbWFpbiBkb2N1bWVudCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL2lmcmFt
ZS0zMDQtY3Jhc2guaHRtbCwgaHR0cCBtZXRob2QgR0VUPiByZWRpcmVjdFJlc3BvbnNlIChudWxs
KQoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucHkgLSBk
aWRSZWNlaXZlUmVzcG9uc2UgPE5TVVJMUmVzcG9uc2UgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nh
Y2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucHksIGh0dHAgc3RhdHVzIGNvZGUgMzA0PgoraHR0cDov
LzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucHkgLSBkaWRGaW5pc2hM
b2FkaW5nCiAKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvaWZyYW1lLTMwNC1j
cmFzaC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvaWZy
YW1lLTMwNC1jcmFzaC5odG1sCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2lmcmFtZS0zMDQtY3Jhc2guaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTAs
NyArMTAsNyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKIGZ1bmN0aW9uIHJlbW92ZUFuZFJl
cGxhY2VJZnJhbWUoKSB7CiAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiaWZyYW1lIikpOwogICAgIHZhciBuZXdJZnJhbWUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBuZXdJZnJhbWUuc3JjID0gInJlc291cmNlcy9p
ZnJhbWUzMDQucGhwIjsKKyAgICBuZXdJZnJhbWUuc3JjID0gInJlc291cmNlcy9pZnJhbWUzMDQu
cHkiOwogICAgIG5ld0lmcmFtZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsgc2V0VGltZW91dChmaW5p
c2gsIDApOyB9CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChuZXdJZnJhbWUpOwogfQpA
QCAtMjIsNiArMjIsNiBAQCBmdW5jdGlvbiBmaW5pc2goKSB7CiA8L3NjcmlwdD4KIDwvaGVhZD4K
IDxib2R5IG9ubG9hZD0ic2V0VGltZW91dChyZW1vdmVBbmRSZXBsYWNlSWZyYW1lLCAwKSI+Ci08
aWZyYW1lIGlkPSJpZnJhbWUiIHNyYz0icmVzb3VyY2VzL2lmcmFtZTMwNC5waHAiPjwvaWZyYW1l
PgorPGlmcmFtZSBpZD0iaWZyYW1lIiBzcmM9InJlc291cmNlcy9pZnJhbWUzMDQucHkiPjwvaWZy
YW1lPgogPC9ib2R5PgogPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9pZnJhbWUtZGV0YWNoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9pZnJhbWUtZGV0YWNoLmh0bWwJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvaWZyYW1lLWRldGFjaC5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDcgKzEsNyBAQAogPGh0bWw+CiA8Ym9keT4KIDxkaXYgaWQ9InNoYWRvdyI+Ci08aWZyYW1l
IHNyYz0icmVzb3VyY2VzL3Nsb3ctaWZyYW1lLnBocCI+PC9pZnJhbWU+Cis8aWZyYW1lIHNyYz0i
cmVzb3VyY2VzL3Nsb3ctaWZyYW1lLnB5Ij48L2lmcmFtZT4KIDwvZGl2PgogCiA8ZGl2IGlkPSJl
bXB0eSI+PC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2xpbmstcHJl
ZmV0Y2gtbWFpbi1yZXNvdXJjZS1pZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL2xpbmstcHJlZmV0Y2gtbWFpbi1yZXNvdXJjZS1pZnJhbWUuaHRt
bAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9saW5r
LXByZWZldGNoLW1haW4tcmVzb3VyY2UtaWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIy
LDcgKzIyLDcgQEAgZnVuY3Rpb24gaWZyYW1lTG9hZEZpbmlzaGVkKCkKIGZ1bmN0aW9uIGxvYWRB
ZnRlclByZWZldGNoKCkKIHsKICAgICB2YXIgbmV3SWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaWZyYW1lIik7Ci0gICAgbmV3SWZyYW1lLnNyYyA9ICJodHRwOi8vbG9jYWxob3N0Ojgw
MDAvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucGhwIjsK
KyAgICBuZXdJZnJhbWUuc3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJj
ZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLWlmcmFtZS5weSI7CiAgICAgbmV3SWZyYW1lLm9u
bG9hZCA9IGlmcmFtZUxvYWRGaW5pc2hlZDsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KG5ld0lmcmFtZSk7CiB9CkBAIC0zNSw3ICszNSw3IEBAIHdpbmRvdy5vbm1lc3NhZ2UgPSBmdW5j
dGlvbihtZXNzYWdlKQogZnVuY3Rpb24gcnVuVGVzdCgpIHsKICAgICB2YXIgbGluayA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTsKICAgICBsaW5rLnJlbCA9ICJwcmVmZXRjaCI7Ci0g
ICAgbGluay5ocmVmID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMvcHJl
ZmV0Y2hlZC1tYWluLXJlc291cmNlLWlmcmFtZS5waHAiOworICAgIGxpbmsuaHJlZiA9ICJodHRw
Oi8vbG9jYWxob3N0OjgwMDAvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJj
ZS1pZnJhbWUucHkiOwogICAgIGlmIChpbnRlcm5hbHMpCiAgICAgICAgIGludGVybmFscy5hZGRQ
cmVmZXRjaExvYWRFdmVudExpc3RlbmVyKGxpbmssICgpID0+IHsgbG9hZEFmdGVyUHJlZmV0Y2go
KTsgfSk7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTsKSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvbGluay1wcmVmZXRjaC1tYWluLXJlc291cmNlLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9saW5rLXByZWZldGNo
LW1haW4tcmVzb3VyY2UuaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9saW5rLXByZWZldGNoLW1haW4tcmVzb3VyY2UuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtNywxMyArNywxMyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKIAogZnVuY3Rp
b24gbG9hZEFmdGVyUHJlZmV0Y2goKQogewotICAgICB3aW5kb3cubG9jYXRpb24uYXNzaWduKCdo
dHRwOi8vbG9jYWxob3N0OjgwMDAvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNv
dXJjZS5waHAnKTsKKyAgICAgd2luZG93LmxvY2F0aW9uLmFzc2lnbignaHR0cDovL2xvY2FsaG9z
dDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UucHknKTsKIH0K
IAogZnVuY3Rpb24gcnVuVGVzdCgpIHsKICAgICB2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImxpbmsiKTsKICAgICBsaW5rLnJlbCA9ICJwcmVmZXRjaCI7Ci0gICAgbGluay5ocmVm
ID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWlu
LXJlc291cmNlLnBocCI7CisgICAgbGluay5ocmVmID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9j
YWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLnB5IjsKICAgICBpZiAoaW50
ZXJuYWxzKQogICAgICAgICBpbnRlcm5hbHMuYWRkUHJlZmV0Y2hMb2FkRXZlbnRMaXN0ZW5lcihs
aW5rLCAoKSA9PiB7IGxvYWRBZnRlclByZWZldGNoKCk7IH0pOwogICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQobGluayk7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL21h
aW4tcmVzb3VyY2UtMzA0LXJlbG9hZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvbWFpbi1yZXNvdXJjZS0zMDQtcmVsb2FkLmh0bWwJKHJldmlzaW9uIDI3
NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvbWFpbi1yZXNvdXJjZS0zMDQt
cmVsb2FkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTExLDcgKzExLDcgQEAgZnVuY3Rpb24gbG9h
ZEZyYW1lKG9ubG9hZCkKICAgICBpZiAoaWZyYW1lKQogICAgICAgICBkb2N1bWVudC5ib2R5LnJl
bW92ZUNoaWxkKGlmcmFtZSk7CiAgICAgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
aWZyYW1lIik7Ci0gICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvaWZyYW1lMzA0Ym9keS5waHAi
OworICAgIGlmcmFtZS5zcmMgPSAicmVzb3VyY2VzL2lmcmFtZTMwNGJvZHkucHkiOwogICAgIGlm
cmFtZS5vbmxvYWQgPSBvbmxvYWQ7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJh
bWUpOwogfQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0
LWdldC5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0
LXJlZGlyZWN0LWdldC5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucGhwCShub25leGlzdGVudCkKQEAgLTEsNjAg
KzAsMCBAQAotPD9waHAKLXJlcXVpcmVfb25jZSAnLi4vcmVzb3VyY2VzL3BvcnRhYmlsaXR5TGF5
ZXIucGhwJzsKLQotLy8gVGhpcyB0ZXN0IGxvYWRzIGFuIHVuY2FjaGVhYmxlIG1haW4gcmVzb3Vy
Y2UgYW5kIGEgY2FjaGVhYmxlIGltYWdlIHN1YnJlc291cmNlLgotLy8gV2UgdGhlbiB0cmlnZ2Vy
IGEgUE9TVCByZXF1ZXN0LCB3aGljaCByZWRpcmVjdHMgYXMgYSBHRVQgYmFjayB0byB0aGlzIHBh
Z2UuCi0vLyBPbiB0aGlzIEdFVCByZXF1ZXN0LCB0aGUgaW1hZ2Ugc2hvdWxkIGJlIGxvYWRlZCBm
cm9tIHRoZSBjYWNoZSBhbmQgbm8gSFRUUAotLy8gcmVxdWVzdCBzaG91bGQgYmUgc2VudC4gVGhl
IGltYWdlIHJlc291cmNlIHdpbGwgcmV0dXJuIDQwNCBpZiBpdCByZWNlaXZlcwotLy8gYSBzZWNv
bmQgcmVxdWVzdCwgd2hpY2ggd2lsbCBjYXVzZSB1cyB0byBGQUlMLgotLy8gU2VlIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODY5MAotaGVhZGVyKCdDYWNoZS1Db250
cm9sOiBuby1jYWNoZSwgbm8tc3RvcmUsIG11c3QtcmV2YWxpZGF0ZSwgbWF4LWFnZT0wJyk7Ci1o
ZWFkZXIoJ1ByYWdtYTogbm8tY2FjaGUnKTsKLWhlYWRlcignRXhwaXJlczogJyAuIGdtZGF0ZShE
QVRFX1JGQzExMjMsIHRpbWUoKS0xKSk7Ci0KLWlmICgkX1BPU1RbInN1Ym1pdCJdID09ICJyZWRp
cmVjdCIpIHsKLSAgICBoZWFkZXIoJ0hUVFAvMS4xIDMwMiBGb3VuZCcpOwotICAgIGhlYWRlcign
TG9jYXRpb246IHBvc3QtcmVkaXJlY3QtZ2V0LnBocD9maW5pc2g9dHJ1ZScpOwotICAgIGV4aXQo
KTsKLX0KLT8+Ci08aHRtbD4KLTxib2R5PgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLTxzY3Jp
cHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLX0KLSAgICAKLWZ1bmN0aW9uIGxv
Z0FuZEZpbmlzaChtZXNzYWdlKQotewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1
bHQiKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtZXNzYWdlKSk7Ci0gICAg
dmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKLSAgICB4aHIub3BlbigiR0VUIiwgIi4uL3Jl
c291cmNlcy9yZXNldC10ZW1wLWZpbGUucGhwP2ZpbGVuYW1lPWNhY2hlX3Bvc3QtcmVkaXJlY3Qt
Z2V0X3N0YXRlIiwgZmFsc2UpOwotICAgIHhoci5zZW5kKG51bGwpOwotICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19Ci08L3Njcmlw
dD4KLTw/cGhwCi1jbGVhcnN0YXRjYWNoZSgpOwotaWYgKCRfR0VUWyJmaW5pc2giXSA9PSAidHJ1
ZSIpIHsKLSAgICAvLyBUaGUgaW5pdGlhbCBsb2FkIG9mIHRoZSBpbWFnZSBtaWdodCBoYXZlIGJl
ZW4gZG9uZSBmcm9tIHRoZSBjYWNoZS4gSW4gdGhhdCBjYXNlLCB0b3VjaCB0aGUKLSAgICAvLyBz
dGF0ZSBmaWxlIHRvIGluZGljYXRlIGEgbG9hZCBoYXMgYWxyZWFkeSBvY2N1cnJlZC4KLSAgICBp
ZiAoIWZpbGVfZXhpc3RzKHN5c19nZXRfdGVtcF9kaXIoKSAuICIvY2FjaGVfcG9zdC1yZWRpcmVj
dC1nZXRfc3RhdGUiKSkgewotICAgICAgICBlY2hvICI8c2NyaXB0PiI7Ci0gICAgICAgIGVjaG8g
InhociA9IG5ldyBYTUxIdHRwUmVxdWVzdDsiOwotICAgICAgICBlY2hvICJ4aHIub3BlbignR0VU
JywgJy4uL3Jlc291cmNlcy90b3VjaC10ZW1wLWZpbGUucGhwP2ZpbGVuYW1lPWNhY2hlX3Bvc3Qt
cmVkaXJlY3QtZ2V0X3N0YXRlJywgZmFsc2UpOyI7Ci0gICAgICAgIGVjaG8gInhoci5zZW5kKG51
bGwpOyI7Ci0gICAgICAgIGVjaG8gIjwvc2NyaXB0PiI7Ci0gICAgfQotICAgIGVjaG8gIjxpbWcg
c3JjPSdyZXNvdXJjZXMvcG9zdC1pbWFnZS10by12ZXJpZnkucGhwP3Rlc3Q9Y2FjaGVfcG9zdC1y
ZWRpcmVjdC1nZXQnIG9ubG9hZD1cImxvZ0FuZEZpbmlzaCgnUEFTUycpO1wiIG9uZXJyb3I9XCJs
b2dBbmRGaW5pc2goJ0ZBSUwnKTtcIj48L2ltZz4iOwotfSBlbHNlIHsKLSAgICBlY2hvICI8Zm9y
bSBhY3Rpb249J3Bvc3QtcmVkaXJlY3QtZ2V0LnBocCcgbWV0aG9kPSdwb3N0Jz4iOwotICAgIGVj
aG8gIjxpbnB1dCB0eXBlPSdzdWJtaXQnIGlkPSdzdWJtaXQnIG5hbWU9J3N1Ym1pdCcgdmFsdWU9
J3JlZGlyZWN0Jz4iOwotICAgIGVjaG8gIjwvZm9ybT4iOwotICAgIGVjaG8gIjxpbWcgc3JjPSdy
ZXNvdXJjZXMvcG9zdC1pbWFnZS10by12ZXJpZnkucGhwP3Rlc3Q9Y2FjaGVfcG9zdC1yZWRpcmVj
dC1nZXQnIG9ubG9hZD1cImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdWJtaXQnKS5jbGljaygp
O1wiIG9uZXJyb3I9XCJsb2dBbmRGaW5pc2goJ0ZBSUwgb24gaW5pdGlhbCBsb2FkJyk7XCI+PC9p
bWc+IjsKLX0gCi0/PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LnB5CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucHkJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw4MyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBv
cnQgY2dpCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCB0ZW1wZmlsZQorZnJvbSBkYXRl
dGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0YQorZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0
IHBhcnNlX3FzCisKK2ZpbGUgPSBfX2ZpbGVfXy5zcGxpdCgnOi9jeWd3aW4nKVstMV0KK2h0dHBf
cm9vdCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKG9z
LnBhdGguZGlybmFtZShmaWxlKSkpKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKwor
cmVxdWVzdF9tZXRob2QgPSBvcy5lbnZpcm9uLmdldCgnUkVRVUVTVF9NRVRIT0QnLCAnJykKK2V4
cGlyZXMgPSAne30gKzAwMDAnLmZvcm1hdCgoZGF0ZXRpbWUudXRjbm93KCkgLSB0aW1lZGVsdGEo
c2Vjb25kcz0xKSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorZmluaXNoID0g
cGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklORycsICcnKSwga2VlcF9ibGFua192
YWx1ZXM9VHJ1ZSkuZ2V0KCdmaW5pc2gnLCBbJyddKVswXQorCityZXF1ZXN0ID0ge30KK2lmIHJl
cXVlc3RfbWV0aG9kID09ICdQT1NUJzoKKyAgICBmb3JtID0gY2dpLkZpZWxkU3RvcmFnZSgpCisg
ICAgZm9yIGtleSBpbiBzb3J0ZWQoZm9ybS5rZXlzKCkpOgorICAgICAgICByZXF1ZXN0W2tleV0g
PSBmb3JtLmdldHZhbHVlKGtleSkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ2FjaGUtQ29u
dHJvbDogbm8tY2FjaGUsIG5vLXN0b3JlLCBtdXN0LXJldmFsaWRhdGUsIG1heC1hZ2U9MFxyXG4n
CisgICAgJ1ByYWdtYTogbm8tY2FjaGVcclxuJworICAgIGYnRXhwaXJlczoge2V4cGlyZXN9XHJc
bicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJworKQorCitpZiByZXF1ZXN0Lmdl
dCgnc3VibWl0JywgJycpID09ICdyZWRpcmVjdCc6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAg
ICAgICAgJ3N0YXR1czogMzAyXHJcbicKKyAgICAgICAgJ0xvY2F0aW9uOiBwb3N0LXJlZGlyZWN0
LWdldC5weT9maW5pc2g9dHJ1ZVxyXG5cclxuJworICAgICkKKyAgICBzeXMuZXhpdCgwKQorCitz
eXMuc3Rkb3V0LndyaXRlKAorICAgICdcclxuJworICAgICc8aHRtbD5cclxuJworICAgICc8Ym9k
eT5cclxuJworICAgICc8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PlxyXG4nCisgICAgJzxzY3JpcHQ+
XHJcbicKKyAgICAnaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7XHJcbicKKyAgICAnICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpO1xyXG4nCisgICAgJyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTtcclxuJworICAgICd9XHJcbicKKyAgICAnICAgIFxyXG4nCisgICAgJ2Z1bmN0aW9uIGxv
Z0FuZEZpbmlzaChtZXNzYWdlKVxyXG4nCisgICAgJ3tcclxuJworICAgICcgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHRO
b2RlKG1lc3NhZ2UpKTtcclxuJworICAgICcgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVz
dDtcclxuJworICAgICcgICAgeGhyLm9wZW4oIkdFVCIsICIuLi9yZXNvdXJjZXMvcmVzZXQtdGVt
cC1maWxlLnB5P2ZpbGVuYW1lPWNhY2hlX3Bvc3QtcmVkaXJlY3QtZ2V0X3N0YXRlIiwgZmFsc2Up
O1xyXG4nCisgICAgJyAgICB4aHIuc2VuZChudWxsKTtcclxuJworICAgICcgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKVxyXG4nCisgICAgJyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
XHJcbicKKyAgICAnfVxyXG4nCisgICAgJzwvc2NyaXB0PlxyXG4nCispCisKK2lmIGZpbmlzaCA9
PSAndHJ1ZSc6CisgICAgdG1wRmlsZSA9IG9zLnBhdGguam9pbih0ZW1wZmlsZS5nZXR0ZW1wZGly
KCksICdjYWNoZV9wb3N0LXJlZGlyZWN0LWdldF9zdGF0ZScpCisgICAgaWYgbm90IG9zLnBhdGgu
aXNmaWxlKHRtcEZpbGUpOgorICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAgICAg
JzxzY3JpcHQ+JworICAgICAgICAgICAgJ3hociA9IG5ldyBYTUxIdHRwUmVxdWVzdDsnCisgICAg
ICAgICAgICAneGhyLm9wZW4oXCdHRVRcJywgXCcuLi9yZXNvdXJjZXMvdG91Y2gtdGVtcC1maWxl
LnB5P2ZpbGVuYW1lPWNhY2hlX3Bvc3QtcmVkaXJlY3QtZ2V0X3N0YXRlXCcsIGZhbHNlKTsnCisg
ICAgICAgICAgICAneGhyLnNlbmQobnVsbCk7JworICAgICAgICAgICAgJzwvc2NyaXB0PicKKyAg
ICAgICAgKQorICAgIHN5cy5zdGRvdXQud3JpdGUoJzxpbWcgc3JjPVwncmVzb3VyY2VzL3Bvc3Qt
aW1hZ2UtdG8tdmVyaWZ5LnB5P3Rlc3Q9Y2FjaGVfcG9zdC1yZWRpcmVjdC1nZXRcJyBvbmxvYWQ9
ImxvZ0FuZEZpbmlzaChcJ1BBU1NcJyk7IiBvbmVycm9yPSJsb2dBbmRGaW5pc2goXCdGQUlMXCcp
OyI+PC9pbWc+JykKK2Vsc2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJzxmb3Jt
IGFjdGlvbj1cJ3Bvc3QtcmVkaXJlY3QtZ2V0LnB5XCcgbWV0aG9kPVwncG9zdFwnPicKKyAgICAg
ICAgJzxpbnB1dCB0eXBlPVwnc3VibWl0XCcgaWQ9XCdzdWJtaXRcJyBuYW1lPVwnc3VibWl0XCcg
dmFsdWU9XCdyZWRpcmVjdFwnPicKKyAgICAgICAgJzwvZm9ybT4nCisgICAgICAgICc8aW1nIHNy
Yz1cJ3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5weT90ZXN0PWNhY2hlX3Bvc3QtcmVk
aXJlY3QtZ2V0XCcgb25sb2FkPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcJ3N1Ym1pdFwnKS5j
bGljaygpOyIgb25lcnJvcj0ibG9nQW5kRmluaXNoKFwnRkFJTCBvbiBpbml0aWFsIGxvYWRcJyk7
Ij48L2ltZz4nCisgICAgKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICc8L2JvZHk+XG4nCisg
ICAgJzwvaHRtbD5cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0
LnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy5waHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNl
cy5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMucGhwCShub25leGlzdGVudCkKQEAgLTEsNTQg
KzAsMCBAQAotPD9waHAKLXJlcXVpcmVfb25jZSAnLi4vcmVzb3VyY2VzL3BvcnRhYmlsaXR5TGF5
ZXIucGhwJzsKLQotLy8gVGhpcyB0ZXN0IGxvYWRzIGFuIHVuY2FjaGVhYmxlIG1haW4gcmVzb3Vy
Y2UgYW5kIGEgY2FjaGVhYmxlIGltYWdlIHN1YnJlc291cmNlLgotLy8gV2UgcmVxdWVzdCB0aGlz
IHBhZ2UgYXMgYSBHRVQsIHRoZW4gcmVsb2FkIHRoaXMgcGFnZSB3aXRoIGEgUE9TVC4KLS8vIE9u
IHRoZSBwb3N0IHJlcXVlc3QsIHRoZSBpbWFnZSBzaG91bGQgYmUgbG9hZGVkIGZyb20gdGhlIGNh
Y2hlIGFuZCBubyBIVFRQCi0vLyByZXF1ZXN0IHNob3VsZCBiZSBzZW50LiBUaGUgaW1hZ2UgcmVz
b3VyY2Ugd2lsbCByZXR1cm4gNDA0IGlmIGl0IHJlY2VpdmVzCi0vLyBhIHNlY29uZCByZXF1ZXN0
LCB3aGljaCB3aWxsIGNhdXNlIHVzIHRvIEZBSUwuCi0vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTM4NjkwCi1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG5vLWNh
Y2hlLCBuby1zdG9yZSwgbXVzdC1yZXZhbGlkYXRlLCBtYXgtYWdlPTAnKTsKLWhlYWRlcignUHJh
Z21hOiBuby1jYWNoZScpOwotaGVhZGVyKCdFeHBpcmVzOiAnIC4gZ21kYXRlKERBVEVfUkZDMTEy
MywgdGltZSgpLTEpKTsKLT8+Ci08aHRtbD4KLTxib2R5PgotPGRpdiBpZD0icmVzdWx0Ij48L2Rp
dj4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLX0KLSAgICAKLWZ1
bmN0aW9uIGxvZ0FuZEZpbmlzaChtZXNzYWdlKQotewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJyZXN1bHQiKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtZXNzYWdl
KSk7Ci0gICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKLSAgICB4aHIub3BlbigiR0VU
IiwgIi4uL3Jlc291cmNlcy9yZXNldC10ZW1wLWZpbGUucGhwP2ZpbGVuYW1lPWNhY2hlX3Bvc3Qt
d2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzX3N0YXRlIiwgZmFsc2UpOwotICAgIHhoci5zZW5kKG51
bGwpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7Ci19Ci08L3NjcmlwdD4KLTw/cGhwCi1jbGVhcnN0YXRjYWNoZSgpOwotaWYgKCRf
UE9TVFsic3VibWl0Il0gPT0gImZpbmlzaCIpIHsKLSAgICAvLyBUaGUgaW5pdGlhbCBsb2FkIG9m
IHRoZSBpbWFnZSBtaWdodCBoYXZlIGJlZW4gZG9uZSBmcm9tIHRoZSBjYWNoZS4gSW4gdGhhdCBj
YXNlLCB0b3VjaCB0aGUKLSAgICAvLyBzdGF0ZSBmaWxlIHRvIGluZGljYXRlIGEgbG9hZCBoYXMg
YWxyZWFkeSBvY2N1cnJlZC4KLSAgICBpZiAoIWZpbGVfZXhpc3RzKHN5c19nZXRfdGVtcF9kaXIo
KSAuICIvY2FjaGVfcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXNfc3RhdGUiKSkgewotICAg
ICAgICBlY2hvICI8c2NyaXB0PiI7Ci0gICAgICAgIGVjaG8gInhociA9IG5ldyBYTUxIdHRwUmVx
dWVzdDsiOwotICAgICAgICBlY2hvICJ4aHIub3BlbignR0VUJywgJy4uL3Jlc291cmNlcy90b3Vj
aC10ZW1wLWZpbGUucGhwP2ZpbGVuYW1lPWNhY2hlX3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3Vy
Y2VzX3N0YXRlJywgZmFsc2UpOyI7Ci0gICAgICAgIGVjaG8gInhoci5zZW5kKG51bGwpOyI7Ci0g
ICAgICAgIGVjaG8gIjwvc2NyaXB0PiI7Ci0gICAgfQotICAgIGVjaG8gIjxpbWcgc3JjPSdyZXNv
dXJjZXMvcG9zdC1pbWFnZS10by12ZXJpZnkucGhwP3Rlc3Q9Y2FjaGVfcG9zdC13aXRoLWNhY2hl
ZC1zdWJyZXNvdXJjZXMnIG9ubG9hZD1cImxvZ0FuZEZpbmlzaCgnUEFTUycpO1wiIG9uZXJyb3I9
XCJsb2dBbmRGaW5pc2goJ0ZBSUwnKTtcIj48L2ltZz4iOwotfSBlbHNlIHsKLSAgICBlY2hvICI8
Zm9ybSBhY3Rpb249J3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLnBocCcgbWV0aG9kPSdw
b3N0Jz4iOwotICAgIGVjaG8gIjxpbnB1dCB0eXBlPSdzdWJtaXQnIGlkPSdzdWJtaXQnIG5hbWU9
J3N1Ym1pdCcgdmFsdWU9J2ZpbmlzaCc+IjsKLSAgICBlY2hvICI8L2Zvcm0+IjsKLSAgICBlY2hv
ICI8aW1nIHNyYz0ncmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnBocD90ZXN0PWNhY2hl
X3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzJyBvbmxvYWQ9XCJkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnc3VibWl0JykuY2xpY2soKTtcIiBvbmVycm9yPVwibG9nQW5kRmluaXNoKCdGQUlM
IG9uIGluaXRpYWwgbG9hZCcpO1wiPjwvaW1nPiI7Ci19IAotPz4KLTwvYm9keT4KLTwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJy
ZXNvdXJjZXMucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9w
b3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODEgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKwor
aW1wb3J0IGNnaQoraW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgdGVtcGZpbGUKK2Zyb20g
ZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lZGVsdGEKKworIyBUaGlzIHRlc3QgbG9hZHMg
YW4gdW5jYWNoZWFibGUgbWFpbiByZXNvdXJjZSBhbmQgYSBjYWNoZWFibGUgaW1hZ2Ugc3VicmVz
b3VyY2UuCisjIFdlIHJlcXVlc3QgdGhpcyBwYWdlIGFzIGEgR0VULCB0aGVuIHJlbG9hZCB0aGlz
IHBhZ2Ugd2l0aCBhIFBPU1QuCisjIE9uIHRoZSBwb3N0IHJlcXVlc3QsIHRoZSBpbWFnZSBzaG91
bGQgYmUgbG9hZGVkIGZyb20gdGhlIGNhY2hlIGFuZCBubyBIVFRQCisjIHJlcXVlc3Qgc2hvdWxk
IGJlIHNlbnQuIFRoZSBpbWFnZSByZXNvdXJjZSB3aWxsIHJldHVybiA0MDQgaWYgaXQgcmVjZWl2
ZXMKKyMgYSBzZWNvbmQgcmVxdWVzdCwgd2hpY2ggd2lsbCBjYXVzZSB1cyB0byBGQUlMLgorIyBT
ZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4NjkwCisKK2ZpbGUg
PSBfX2ZpbGVfXy5zcGxpdCgnOi9jeWd3aW4nKVstMV0KK2h0dHBfcm9vdCA9IG9zLnBhdGguZGly
bmFtZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShmaWxl
KSkpKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKworcmVxdWVzdF9tZXRob2QgPSBv
cy5lbnZpcm9uLmdldCgnUkVRVUVTVF9NRVRIT0QnLCAnJykKK2V4cF90aW1lID0gZGF0ZXRpbWUu
dXRjbm93KCkgLSB0aW1lZGVsdGEoc2Vjb25kcz0xKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAg
ICdDYWNoZS1Db250cm9sOiBuby1jYWNoZSwgbm8tc3RvcmUsIG11c3QtcmV2YWxpZGF0ZSwgbWF4
LWFnZT0wXHJcbicKKyAgICAnUHJhZ21hOiBuby1jYWNoZVxyXG4nCisgICAgJ0V4cGlyZXM6IHt9
ICswMDAwXHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicuZm9ybWF0
KGV4cF90aW1lLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06JVMnKSkKKykKKworc3lzLnN0
ZG91dC53cml0ZSgKKyAgICAnPGh0bWw+XG4nCisgICAgJzxib2R5PlxuJworICAgICc8ZGl2IGlk
PSJyZXN1bHQiPjwvZGl2PlxuJworICAgICc8c2NyaXB0PlxuJworICAgICdpZiAod2luZG93LnRl
c3RSdW5uZXIpIHtcbicKKyAgICAnICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpO1xuJworICAg
ICcgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7XG4nCisgICAgJ31cbicKKyAgICAnICAg
IFxuJworICAgICdmdW5jdGlvbiBsb2dBbmRGaW5pc2gobWVzc2FnZSlcbicKKyAgICAne1xuJwor
ICAgICcgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2UpKTtcbicKKyAgICAnICAgIHZhciB4aHIgPSBu
ZXcgWE1MSHR0cFJlcXVlc3Q7XG4nCisgICAgJyAgICB4aHIub3BlbigiR0VUIiwgIi4uL3Jlc291
cmNlcy9yZXNldC10ZW1wLWZpbGUucHk/ZmlsZW5hbWU9Y2FjaGVfcG9zdC13aXRoLWNhY2hlZC1z
dWJyZXNvdXJjZXNfc3RhdGUiLCBmYWxzZSk7XG4nCisgICAgJyAgICB4aHIuc2VuZChudWxsKTtc
bicKKyAgICAnICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcilcbicKKyAgICAnICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTtcbicKKyAgICAnfVxuJworICAgICc8L3NjcmlwdD5cbicKKykK
KworcmVxdWVzdCA9IHt9CitpZiByZXF1ZXN0X21ldGhvZCA9PSAnUE9TVCc6CisgICAgZm9ybSA9
IGNnaS5GaWVsZFN0b3JhZ2UoKQorICAgIGZvciBrZXkgaW4gc29ydGVkKGZvcm0ua2V5cygpKToK
KyAgICAgICAgcmVxdWVzdFtrZXldID0gZm9ybS5nZXR2YWx1ZShrZXkpCisKK2lmIHJlcXVlc3Qu
Z2V0KCdzdWJtaXQnLCAnJykgPT0gJ2ZpbmlzaCc6CisgICAgdG1wRmlsZVBhdGggPSBvcy5wYXRo
LmpvaW4odGVtcGZpbGUuZ2V0dGVtcGRpcigpLCAnY2FjaGVfcG9zdC13aXRoLWNhY2hlZC1zdWJy
ZXNvdXJjZXNfc3RhdGUnKQorICAgIGlmIG9zLnBhdGguZXhpc3RzKHRtcEZpbGVQYXRoKToKKyAg
ICAgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgICAgICc8c2NyaXB0PicKKyAgICAgICAg
ICAgICd4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7JworICAgICAgICAgICAgJ3hoci5vcGVuKFwn
R0VUXCcsIFwnLi4vcmVzb3VyY2VzL3RvdWNoLXRlbXAtZmlsZS5weT9maWxlbmFtZT1jYWNoZV9w
b3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlc19zdGF0ZVwnLCBmYWxzZSk7JworICAgICAgICAg
ICAgJ3hoci5zZW5kKG51bGwpOycKKyAgICAgICAgICAgICc8L3NjcmlwdD4nCisgICAgICAgICkK
KworICAgIHN5cy5zdGRvdXQud3JpdGUoJzxpbWcgc3JjPVwncmVzb3VyY2VzL3Bvc3QtaW1hZ2Ut
dG8tdmVyaWZ5LnB5P3Rlc3Q9Y2FjaGVfcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXNcJyBv
bmxvYWQ9ImxvZ0FuZEZpbmlzaChcJ1BBU1NcJyk7IiBvbmVycm9yPSJsb2dBbmRGaW5pc2goXCdG
QUlMXCcpOyI+PC9pbWc+JykKK2Vsc2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAg
Jzxmb3JtIGFjdGlvbj1cJ3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLnB5XCcgbWV0aG9k
PVwncG9zdFwnPicKKyAgICAgICAgJzxpbnB1dCB0eXBlPVwnc3VibWl0XCcgaWQ9XCdzdWJtaXRc
JyBuYW1lPVwnc3VibWl0XCcgdmFsdWU9XCdmaW5pc2hcJz4nCisgICAgICAgICc8L2Zvcm0+Jwor
ICAgICAgICAnPGltZyBzcmM9XCdyZXNvdXJjZXMvcG9zdC1pbWFnZS10by12ZXJpZnkucHk/dGVz
dD1jYWNoZV9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlc1wnIG9ubG9hZD1cImRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKFwnc3VibWl0XCcpLmNsaWNrKCk7XCIgb25lcnJvcj1cImxvZ0FuZEZp
bmlzaChcJ0ZBSUwgb24gaW5pdGlhbCBsb2FkXCcpO1wiPjwvaW1nPicKKyAgICApCisKK3N5cy5z
dGRvdXQud3JpdGUoCisgICAgJzwvYm9keT5cbicKKyAgICAnPC9odG1sPlxuJworKQpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMucHkKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3JlY3Vy
c2l2ZS12YWxpZGF0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZWN1cnNpdmUtdmFsaWRhdGlvbi5odG1sCShyZXZpc2lvbiAyNzQyOTIpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3JlY3Vyc2l2ZS12YWxpZGF0aW9uLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTYsNyArNiw3IEBAIGRlc2NyaXB0aW9uKCJUZXN0IHRoYXQgcmVjdXJz
aXZlbHkgbG9hZGkKIAogZnVuY3Rpb24gbG9hZChjb21wbGV0aW9uKSB7CiAgICAgdmFyIHhociA9
IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwotICAgIHhoci5vcGVuKCdHRVQnLCAicmVzb3VyY2VzL25v
LWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5waHAiKTsKKyAgICB4aHIub3BlbignR0VUJywgInJlc291
cmNlcy9uby1jYWNoZS13aXRoLXZhbGlkYXRpb24ucHkiKTsKICAgICB4aHIub25sb2FkID0gY29t
cGxldGlvbjsKICAgICB4aHIuc2VuZCgpOwogfQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZWRpcmVjdC1yZWZlcmVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZWRpcmVjdC1yZWZlcmVyLmh0bWwJKHJldmlzaW9uIDI3NDI5MikK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVkaXJlY3QtcmVmZXJlci5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsNyBAQAogPGJvZHk+CiA8c2NyaXB0PgogdmFyIHJuZCA9
IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDAwMDAwMDAwMDApOwotdmFyIGlmcmFt
ZVNyYyA9ICJyZXNvdXJjZXMvcGVybWFuZW50LXJlZGlyZWN0LnBocD9sb2NhdGlvbj1yZWRpcmVj
dC1yZWZlcmVyLWlmcmFtZS5odG1sJnJuZD0iICsgcm5kOwordmFyIGlmcmFtZVNyYyA9ICJyZXNv
dXJjZXMvcGVybWFuZW50LXJlZGlyZWN0LnB5P2xvY2F0aW9uPXJlZGlyZWN0LXJlZmVyZXItaWZy
YW1lLmh0bWwmcm5kPSIgKyBybmQ7CiAKIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJpZnJhbWUiKTsKIGlmcmFtZS5zcmMgPSBpZnJhbWVTcmM7CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3JlbG9hZC1tYWluLXJlc291cmNlLnBocAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3JlbG9hZC1tYWluLXJlc291cmNlLnBocAko
cmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZWxvYWQt
bWFpbi1yZXNvdXJjZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwyNyArMCwwIEBACi08P3BocAot
cmVxdWlyZV9vbmNlICcuLi9yZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXllci5waHAnOwotY2xlYXJz
dGF0Y2FjaGUoKTsKLWlmIChmaWxlX2V4aXN0cyhzeXNfZ2V0X3RlbXBfZGlyKCkgLiAiL2NhY2hl
LXJlbG9hZC1tYWluLXJlc291cmNlLnRtcCIpKQotICAgIHVubGluayhzeXNfZ2V0X3RlbXBfZGly
KCkgLiAiL2NhY2hlLXJlbG9hZC1tYWluLXJlc291cmNlLnRtcCIpOwotPz4KLQotPGJvZHk+Ci08
ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwotfQotCi1mdW5jdGlvbiByZWxvYWRJZnJhbWUoKSB7Ci0gICAgd2luZG93LmZyYW1l
c1swXS5sb2NhdGlvbi5yZWxvYWQoKTsKLX0KLQotZnVuY3Rpb24gZmluaXNoKCkgewotICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lclRleHQgPSAiUEFTUyI7Ci0gICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
LX0KLTwvc2NyaXB0PgotPGlmcmFtZSBzcmM9InJlc291cmNlcy9yZWxvYWQtbWFpbi1yZXNvdXJj
ZS1pZnJhbWUucGhwIiBvbmxvYWQ9InJlbG9hZElmcmFtZSgpOyI+PC9pZnJhbWU+Ci08L2JvZHk+
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3JlbG9hZC1tYWluLXJlc291cmNl
LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVsb2FkLW1h
aW4tcmVzb3VyY2UucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZWxvYWQtbWFpbi1yZXNvdXJjZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM3
IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1w
b3J0IHRlbXBmaWxlCisKK2ZpbGUgPSBfX2ZpbGVfXy5zcGxpdCgnOi9jeWd3aW4nKVstMV0KK2h0
dHBfcm9vdCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRo
KG9zLnBhdGguZGlybmFtZShmaWxlKSkpKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkK
KwordG1wRmlsZSA9IG9zLnBhdGguam9pbih0ZW1wZmlsZS5nZXR0ZW1wZGlyKCksICdjYWNoZS1y
ZWxvYWQtbWFpbi1yZXNvdXJjZS50bXAnKQoraWYgb3MucGF0aC5pc2ZpbGUodG1wRmlsZSk6Cisg
ICAgb3MucmVtb3ZlKHRtcEZpbGUpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NvbnRlbnQt
VHlwZTogdGV4dC9odG1sXHJcblxyXG4nCisgICAgJzxib2R5PlxuJworICAgICc8ZGl2IGlkPSJy
ZXN1bHQiPjwvZGl2PlxuJworICAgICc8c2NyaXB0PlxuJworICAgICdpZiAod2luZG93LnRlc3RS
dW5uZXIpIHtcbicKKyAgICAnICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpO1xuJworICAgICcg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7XG4nCisgICAgJ31cbicKKyAgICAnXG4nCisg
ICAgJ2Z1bmN0aW9uIHJlbG9hZElmcmFtZSgpIHtcbicKKyAgICAnICAgIHdpbmRvdy5mcmFtZXNb
MF0ubG9jYXRpb24ucmVsb2FkKCk7XG4nCisgICAgJ31cbicKKyAgICAnXG4nCisgICAgJ2Z1bmN0
aW9uIGZpbmlzaCgpIHtcbicKKyAgICAnICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1
bHQiKS5pbm5lclRleHQgPSAiUEFTUyI7XG4nCisgICAgJyAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpXG4nCisgICAgJyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7XG4nCisgICAgJ31c
bicKKyAgICAnPC9zY3JpcHQ+XG4nCisgICAgJzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvcmVsb2Fk
LW1haW4tcmVzb3VyY2UtaWZyYW1lLnB5IiBvbmxvYWQ9InJlbG9hZElmcmFtZSgpOyI+PC9pZnJh
bWU+XG4nCisgICAgJzwvYm9keT5cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3JlbG9hZC1t
YWluLXJlc291cmNlLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAg
KzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9zdHlsZXNoZWV0LXNoYXJpbmcuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3N0eWxlc2hlZXQtc2hhcmluZy5odG1sCShy
ZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3N0eWxlc2hl
ZXQtc2hhcmluZy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xNiw3ICsxNiw3IEBAIGZ1bmN0aW9u
IHdhaXRGb3JTdHlsZXNoZWV0KGlmcmFtZSwgY29tcGwKIGZ1bmN0aW9uIGxvYWQoc3JjLCBjb21w
bGV0aW9uSGFuZGxlcikKIHsKICAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiaWZyYW1lIik7Ci0gICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvc3R5bGVzaGVldC1odG1s
LnBocD9zaGVldD0iICsgc3JjOworICAgIGlmcmFtZS5zcmMgPSAicmVzb3VyY2VzL3N0eWxlc2hl
ZXQtaHRtbC5weT9zaGVldD0iICsgc3JjOwogICAgIGlmcmFtZS5vbmxvYWQgPSBmdW5jdGlvbiAo
KSB7CiAgICAgICAgIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aDsKICAg
ICAgICAgd2FpdEZvclN0eWxlc2hlZXQoaWZyYW1lLCBjb21wbGV0aW9uSGFuZGxlcik7CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3ZhcnktZnJhbWVsZXNzLWRvY3VtZW50Lmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS92YXJ5LWZyYW1l
bGVzcy1kb2N1bWVudC5odG1sCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3ZhcnktZnJhbWVsZXNzLWRvY3VtZW50Lmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTMsNyArMyw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CiAKLXZhciBzdmdEb2N1bWVudFN0cmluZyA9ICc8c3ZnPjx1c2UgeD0iNTAi
IHk9IjEwIiB4bGluazpocmVmPSJyZXNvdXJjZXMvc3ZnLWRlZnMtdmFyeS5waHAjY2lyY2xlIiAv
Pjwvc3ZnPic7Cit2YXIgc3ZnRG9jdW1lbnRTdHJpbmcgPSAnPHN2Zz48dXNlIHg9IjUwIiB5PSIx
MCIgeGxpbms6aHJlZj0icmVzb3VyY2VzL3N2Zy1kZWZzLXZhcnkucHkjY2lyY2xlIiAvPjwvc3Zn
Pic7CiBmdW5jdGlvbiBtYWtlRG9jdW1lbnQoKSB7CiAgICAgdmFyIGRvYyA9IGRvY3VtZW50Lmlt
cGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgnJyk7CiAgICAgZG9jLm9wZW4oKTsKSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUveGhyLWJvZHkuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3hoci1ib2R5Lmh0bWwJKHJldmlzaW9u
IDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUveGhyLWJvZHkuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMTgsNyArMTgsNyBAQCBmdW5jdGlvbiB0ZXN0KCkgewogICAgIHJl
cXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uKCkgeyBsb2coImxvYWQiKTsg
cmVwZWF0KCk7IH0sIGZhbHNlKTsKICAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoImVycm9y
IiwgZnVuY3Rpb24oKSB7IGxvZygiZXJyb3IiKTsgcmVwZWF0KCk7IH0sIGZhbHNlKTsKICAgICBy
ZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwgZnVuY3Rpb24oKSB7IGxvZygiYWJvcnQi
KTsgcmVwZWF0KCk7IH0sIGZhbHNlKTsKLSAgICByZXF1ZXN0Lm9wZW4oIkdFVCIsICJyZXNvdXJj
ZXMvYm9keS5waHAiLCB0cnVlKTsKKyAgICByZXF1ZXN0Lm9wZW4oIkdFVCIsICJyZXNvdXJjZXMv
Ym9keS5weSIsIHRydWUpOwogICAgIHJlcXVlc3Quc2VuZCgpOwogfQogCkBAIC0zNiw3ICszNiw3
IEBAIGZ1bmN0aW9uIHJlcGVhdCgpIHsKICAgICBzZWNvbmRSZXF1ZXN0LmFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBmdW5jdGlvbigpIHsgc2Vjb25kUmVxdWVzdEZpbmlzaGVkKCk7IH0sIGZhbHNl
KTsKICAgICBzZWNvbmRSZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwgZnVuY3Rpb24o
KSB7IGxvZygiZXJyb3IiKTsgZW5kKCk7IH0sIGZhbHNlKTsKICAgICBzZWNvbmRSZXF1ZXN0LmFk
ZEV2ZW50TGlzdGVuZXIoImFib3J0IiwgZnVuY3Rpb24oKSB7IGxvZygiYWJvcnQiKTsgZW5kKCk7
IH0sIGZhbHNlKTsKLSAgICBzZWNvbmRSZXF1ZXN0Lm9wZW4oIlBPU1QiLCAicmVzb3VyY2VzL2Jv
ZHkucGhwIiwgdHJ1ZSk7CisgICAgc2Vjb25kUmVxdWVzdC5vcGVuKCJQT1NUIiwgInJlc291cmNl
cy9ib2R5LnB5IiwgdHJ1ZSk7CiAgICAgc2Vjb25kUmVxdWVzdC5zZW5kKCJUaGlzIGh0dHAgYm9k
eSBzaG91bGQgYmUgdmlzaWJsZSIpOwogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3hoci12YXJ5LWhlYWRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUveGhyLXZhcnktaGVhZGVyLmh0bWwJKHJldmlzaW9uIDI3NDI5MikKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUveGhyLXZhcnktaGVhZGVyLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEyLDcgKzEyLDcgQEAgdmFyIHRlc3RTdGVwID0gMTsKIGZ1bmN0aW9uIHRl
c3RDcm9zc09yaWdpbigpCiB7CiAgICAgdmFyIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKLSAg
ICByZXEub3BlbigiZ2V0IiwgImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMv
eGhyLXZhcnktaGVhZGVyLXJlc3BvbnNlLnBocCIpOworICAgIHJlcS5vcGVuKCJnZXQiLCAiaHR0
cDovL2xvY2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItcmVzcG9u
c2UucHkiKTsKICAgICByZXEub25sb2FkPWZ1bmN0aW9uKCkgeyByZWNlaXZlZFJlc3BvbnNlKHJl
cS5yZXNwb25zZVRleHQpIH0KICAgICByZXEuc2VuZCgpOwogfQpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtcmVkaXJlY3QtdG8tZGF0YS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9kaXNrLWNhY2hlLXJlZGlyZWN0LXRvLWRhdGEuaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtcmVkaXJl
Y3QtdG8tZGF0YS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogPHNjcmlwdCBz
cmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz1yZXNvdXJjZXMvcmVkaXJlY3QtdG8tZGF0YS5waHA+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz1yZXNvdXJjZXMvcmVkaXJlY3QtdG8tZGF0YS5weT48L3NjcmlwdD4KIDxzY3JpcHQ+CiBkZXNj
cmlwdGlvbigiVGVzdCB0aGF0IEhUVFAgcmVkaXJlY3QgdG8gYSBkYXRhIFVSTCBkb2VzIG5vdCBj
cmFzaCBvciBhc3NlcnQgaW4gdGhlIG5ldHdvcmsgcHJvY2Vzcy4iKTsKIHNob3VsZEJlVHJ1ZSgi
c3VjY2VzcyIpOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hl
L2Rpc2stY2FjaGUtcmVtb3ZlLXNldmVyYWwtcGVuZGluZy13cml0ZXMuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1y
ZW1vdmUtc2V2ZXJhbC1wZW5kaW5nLXdyaXRlcy5odG1sCShyZXZpc2lvbiAyNzQyOTIpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZW1vdmUt
c2V2ZXJhbC1wZW5kaW5nLXdyaXRlcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw3ICsyMiw3
IEBAIGZ1bmN0aW9uIGZldGNoKHVybCkgewogCiBmdW5jdGlvbiBmZXRjaFJlc291cmNlKCkgewog
ICBpbnRlcm5hbHMuY2xlYXJNZW1vcnlDYWNoZSgpOwotICByZXR1cm4gZmV0Y2goJ3Jlc291cmNl
cy9qc29uLnBocD9pZD0nICsgaWQpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHsKKyAgcmV0dXJuIGZl
dGNoKCdyZXNvdXJjZXMvanNvbi5weT9pZD0nICsgaWQpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHsK
ICAgICBpZiAocmVzcC5ib2R5LnZlcnNpb24gPT09IDIpIHsKICAgICAgIGJ1Z1JlcHJvZHVjZWQg
PSBmYWxzZTsKICAgICB9CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvcmVkaXJlY3QtY2hhaW4tbGltaXRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3JlZGlyZWN0LWNoYWluLWxpbWl0cy5odG1s
CShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvcmVkaXJlY3QtY2hhaW4tbGltaXRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTksNyAr
OSw3IEBAIGZ1bmN0aW9uIHJlZGlyZWN0Q2hhaW4obGVuZ3RoLCB1bmlxdWVJZCwKIHsKICAgICBp
bnRlcm5hbHMuY2xlYXJNZW1vcnlDYWNoZSgpCiAKLSAgICB2YXIgdXJsID0gInJlc291cmNlcy9y
ZWRpcmVjdC1jaGFpbi5waHA/bGVuZ3RoPSIgKyBsZW5ndGggKyAiJnVuaXF1ZUlkPSIgKyB1bmlx
dWVJZDsKKyAgICB2YXIgdXJsID0gInJlc291cmNlcy9yZWRpcmVjdC1jaGFpbi5weT9sZW5ndGg9
IiArIGxlbmd0aCArICImdW5pcXVlSWQ9IiArIHVuaXF1ZUlkOwogCiAgICAgeGhyID0gbmV3IFhN
TEh0dHBSZXF1ZXN0KCk7CiAgICAgeGhyLm9ubG9hZCA9IG9ubG9hZDsKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zaGF0dGVyZWQtZGVkdXBsaWNhdGlvbi5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9zaGF0dGVyZWQtZGVkdXBsaWNhdGlvbi5odG1sCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc2hhdHRlcmVkLWRlZHVwbGljYXRp
b24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNSw3ICs1LDcgQEAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQogCiBmdW5jdGlvbiBtYWtlQ29sbGlzaW9uKGZpbGUpCiB7Ci0gICAgcmV0dXJuICJyZXNv
dXJjZXMvbWFrZS1zaGExLWNvbGxpc2lvbi5waHA/cGF0aD0iICsgZmlsZTsKKyAgICByZXR1cm4g
InJlc291cmNlcy9tYWtlLXNoYTEtY29sbGlzaW9uLnB5P3BhdGg9IiArIGZpbGU7CiB9CiAKIGZ1
bmN0aW9uIGFkZEltYWdlRnJhbWUoc3JjLCB0aW1lb3V0KQpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9qc29uLnBocAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL2pzb24u
cGhwCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rp
c2stY2FjaGUvcmVzb3VyY2VzL2pzb24ucGhwCShub25leGlzdGVudCkKQEAgLTEsNDIgKzAsMCBA
QAotPD9waHAKLQotZnVuY3Rpb24gc2VuZDMwNCgpCi17Ci0gICAgaGVhZGVyKCJIVFRQLzEuMSAz
MDQgTm90IE1vZGlmaWVkIik7Ci0gICAgaGVhZGVyKCJFVGFnOiBmb28iKTsKLX0KLQotJGlkID0g
JF9HRVRbImlkIl07Ci0kY291bnQgPSAxOwotaWYgKGlzc2V0KCRfQ09PS0lFWyRpZF0pKSB7Ci0g
ICAgJGNvdW50ID0gJF9DT09LSUVbJGlkXTsKLX0KLQotc2V0Y29va2llKCRpZCwgJGNvdW50ICsg
MSk7Ci0KLWlmICgkY291bnQgPT0gMSkgewotICAgIGhlYWRlcigiQ2FjaGUtQ29udHJvbDogbXVz
dC1yZXZhbGlkYXRlIik7Ci0gICAgaGVhZGVyKCJFVGFnOiBmb28iKTsKLSAgICBoZWFkZXIoIkNv
bnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIpOwotICAgIGVjaG8gJ3sidmVyc2lvbiI6IDF9
JzsKLX0gZWxzZSBpZiAoJGNvdW50ID09IDIpIHsKLSAgICBzZW5kMzA0KCk7Ci19IGVsc2UgaWYg
KCRjb3VudCA9PSAzKSB7Ci0gICAgaGVhZGVyKCJIVFRQLzEuMSA0MDQgTm90IEZvdW5kIik7Ci0g
ICAgaGVhZGVyKCJDYWNoZS1Db250cm9sOiBtdXN0LXJldmFsaWRhdGUiKTsKLSAgICBoZWFkZXIo
IkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIpOwotICAgIGVjaG8gJ3sibm90IjogImZv
dW5kIn0nOwotfSBlbHNlIGlmICgkY291bnQgPT0gNCkgewotICAgIGlmICgkX1NFUlZFUlsiSFRU
UF9JRl9OT05FX01BVENIIl0gPT0gImZvbyIpIHsKLSAgICAgICAgc2VuZDMwNCgpOwotICAgIH0g
ZWxzZSB7Ci0gICAgICAgIGhlYWRlcigiQ2FjaGUtQ29udHJvbDogbXVzdC1yZXZhbGlkYXRlIik7
Ci0gICAgICAgIGhlYWRlcigiRVRhZzogZm9vIik7Ci0gICAgICAgIGhlYWRlcigiQ29udGVudC1U
eXBlOiBhcHBsaWNhdGlvbi9qc29uIik7Ci0gICAgICAgIGVjaG8gJ3sidmVyc2lvbiI6IDJ9JzsK
LSAgICB9Ci19IGVsc2UgewotICAgIHNlbmQzMDQoKTsKLX0KLQotPz4KSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvanNvbi5weQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2Vz
L2pzb24ucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9k
aXNrLWNhY2hlL3Jlc291cmNlcy9qc29uLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTUg
QEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitmcm9t
IHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMKKworZGVmIHNlbmQzMDQoKToKKyAgICBzeXMu
c3Rkb3V0LndyaXRlKAorICAgICAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJworICAg
ICAgICAnc3RhdHVzOiAzMDRcclxuJworICAgICAgICAnRVRhZzogZm9vXHJcblxyXG4nCisgICAg
KQorCitpZGVudCA9IHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAnJyks
IGtlZXBfYmxhbmtfdmFsdWVzPVRydWUpLmdldCgnaWQnLCBbJyddKVswXQorY29va2llcyA9IHt9
CitpZiAnSFRUUF9DT09LSUUnIGluIG9zLmVudmlyb246CisgICAgaGVhZGVyX2Nvb2tpZXMgPSBv
cy5lbnZpcm9uWydIVFRQX0NPT0tJRSddCisgICAgaGVhZGVyX2Nvb2tpZXMgPSBoZWFkZXJfY29v
a2llcy5zcGxpdCgnOyAnKQorCisgICAgZm9yIGNvb2tpZSBpbiBoZWFkZXJfY29va2llczoKKyAg
ICAgICAgY29va2llID0gY29va2llLnNwbGl0KCc9JykKKyAgICAgICAgY29va2llc1tjb29raWVb
MF1dID0gY29va2llWzFdCisKK2NvdW50ID0gMQoraWYgY29va2llcy5nZXQoaWRlbnQsIE5vbmUp
OgorICAgIGNvdW50ID0gaW50KGNvb2tpZXMuZ2V0KGlkZW50LCAwKSkKKworc3lzLnN0ZG91dC53
cml0ZShmJ1NldC1Db29raWU6IHtpZGVudH09e2NvdW50ICsgMX1cclxuJykKKworaWYgY291bnQg
PT0gMToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnQ2FjaGUtQ29udHJvbDogbXVz
dC1yZXZhbGlkYXRlXHJcbicKKyAgICAgICAgJ0VUYWc6IGZvb1xyXG4nCisgICAgICAgICdDb250
ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb25cclxuXHJcbicKKyAgICAgICAgJ3sidmVyc2lvbiI6
IDF9JworICAgICkKK2VsaWYgY291bnQgPT0gMzoKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAg
ICAgICAnc3RhdHVzOiA0MDRcclxuJworICAgICAgICAnQ2FjaGUtQ29udHJvbDogbXVzdC1yZXZh
bGlkYXRlXHJcbicKKyAgICAgICAgJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvblxyXG5c
clxuJworICAgICAgICAneyJub3QiOiAiZm91bmQifScKKyAgICApCitlbGlmIGNvdW50ID09IDQ6
CisgICAgaWYgb3MuZW52aXJvbi5nZXQoJ0hUVFBfSUZfTk9ORV9NQVRDSCcsICcnKSA9PSAnZm9v
JzoKKyAgICAgICAgc2VuZDMwNCgpCisgICAgZWxzZToKKyAgICAgICAgc3lzLnN0ZG91dC53cml0
ZSgKKyAgICAgICAgICAgICdDYWNoZS1Db250cm9sOiBtdXN0LXJldmFsaWRhdGVcclxuJworICAg
ICAgICAgICAgJ0VUYWc6IGZvb1xyXG4nCisgICAgICAgICAgICAnQ29udGVudC1UeXBlOiBhcHBs
aWNhdGlvbi9qc29uXHJcblxyXG4nCisgICAgICAgICAgICAneyJ2ZXJzaW9uIjogMn0nCisgICAg
ICAgICkKK2Vsc2U6CisgICAgc2VuZDMwNCgpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNh
Y2hlL3Jlc291cmNlcy9qc29uLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMj
IC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9tYWtlLXNoYTEt
Y29sbGlzaW9uLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2Rpc2stY2FjaGUvcmVzb3VyY2VzL21ha2Utc2hhMS1jb2xsaXNpb24ucGhwCShyZXZpc2lvbiAy
NzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3Vy
Y2VzL21ha2Utc2hhMS1jb2xsaXNpb24ucGhwCShub25leGlzdGVudCkKQEAgLTEsOSArMCwwIEBA
Ci08PwotJHBhdGggPSAkX0dFVFsncGF0aCddOwotaGVhZGVyKCdIVFRQLzEuMSAyMDAgT0snKTsK
LWhlYWRlcigiQ2FjaGUtY29udHJvbDogbWF4LWFnZT0xMDAwMCIpOwotaGVhZGVyKCJDb250ZW50
LVR5cGU6IGFwcGxpY2F0aW9uL3BkZiIpOwotJGNvbnRlbnQgPSBmaWxlX2dldF9jb250ZW50cygk
cGF0aCk7Ci0kY29sbGlkaW5nQ29udGVudCA9IHN0cl9yZXBsYWNlKCJTVk4gaXMgdGhlIGJlc3Qh
IiwgIlNIQS0xIGlzIGRlYWQhISEiLCAkY29udGVudCk7Ci1lY2hvICRjb2xsaWRpbmdDb250ZW50
OwotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNv
dXJjZXMvbWFrZS1zaGExLWNvbGxpc2lvbi5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL21ha2Utc2hhMS1jb2xsaXNpb24u
cHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNh
Y2hlL3Jlc291cmNlcy9tYWtlLXNoYTEtY29sbGlzaW9uLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMTcgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQg
c3lzCitmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMKKworcGF0aCA9IHBhcnNlX3Fz
KG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAnJyksIGtlZXBfYmxhbmtfdmFsdWVzPVRy
dWUpLmdldCgncGF0aCcsIFsnJ10pWzBdCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ3N0YXR1
czogMjAwXHJcbicKKyAgICAnQ2FjaGUtY29udHJvbDogbWF4LWFnZT0xMDAwMFxyXG4nCisgICAg
J0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vcGRmXHJcblxyXG4nCispCisKK3N5cy5zdGRvdXQu
Zmx1c2goKQord2l0aCBvcGVuKG9zLnBhdGguam9pbignLycuam9pbihfX2ZpbGVfXy5zcGxpdCgn
LycpWzA6LTFdKSwgcGF0aCksICdyYicpIGFzIGZpbGU6CisgICAgc3lzLnN0ZG91dC5idWZmZXIu
d3JpdGUoZmlsZS5yZWFkKCkucmVwbGFjZShiJ1NWTiBpcyB0aGUgYmVzdCEnLCBiJ1NIQS0xIGlz
IGRlYWQhISEnKSkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL21h
a2Utc2hhMS1jb2xsaXNpb24ucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMg
LTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LWNo
YWluLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LWNoYWluLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVj
dC1jaGFpbi5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08PwotJGxlbmd0aCA9
ICRfR0VUWydsZW5ndGgnXTsKLWlmICgkbGVuZ3RoID09IDApIHsKLSAgICBoZWFkZXIoJ1N0YXR1
czogMjAwJyk7Ci0gICAgaGVhZGVyKCdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTEwMCcpOwotICAg
IGV4aXQoKTsKLX0KLSRsZW5ndGggPSAkbGVuZ3RoIC0gMTsKLQotaGVhZGVyKCdTdGF0dXM6IDMw
MicpOwotaGVhZGVyKCdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTEwMCcpOwotaGVhZGVyKCdMb2Nh
dGlvbjogcmVkaXJlY3QtY2hhaW4ucGhwP2xlbmd0aD0nIC4gJGxlbmd0aCAuICcmdW5pcXVlSWQ9
JyAuICRfR0VUWyd1bmlxdWVJZCddIC4gJyZyYW5kb209JyAuIHJhbmQoKSk7Ci0/PgpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVj
dC1jaGFpbi5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rp
c2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LWNoYWluLnB5CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3Qt
Y2hhaW4ucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNSBAQAorIyEvdXNyL2Jpbi9lbnYg
cHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zyb20gcmFuZG9tIGltcG9ydCByYW5k
aW50Citmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMKKworcXVlcnkgPSBwYXJzZV9x
cyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1U
cnVlKQorbGVuZ3RoID0gaW50KHF1ZXJ5LmdldCgnbGVuZ3RoJywgWzBdKVswXSkKK3VuaXF1ZV9p
ZCA9IHF1ZXJ5LmdldCgndW5pcXVlSWQnLCBbJyddKVswXQorCitzeXMuc3Rkb3V0LndyaXRlKAor
ICAgICdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTEwMFxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTog
dGV4dC9odG1sXHJcbicKKykKKworaWYgbGVuZ3RoID09IDA6CisgICAgc3lzLnN0ZG91dC53cml0
ZSgnc3RhdHVzOiAyMDBcclxuXHJcbicpCisgICAgc3lzLmV4aXQoMCkKKworbGVuZ3RoIC09IDEK
K3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ3N0YXR1czogMzAyXHJcbicKKyAgICBmJ0xvY2F0aW9u
OiByZWRpcmVjdC1jaGFpbi5weT9sZW5ndGg9e2xlbmd0aH0mdW5pcXVlSWQ9e3VuaXF1ZV9pZH0m
cmFuZG9tPXtyYW5kaW50KDAsIHN5cy5tYXhzaXplKX1cclxuXHJcbicKKykKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LWNoYWluLnB5Cl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNr
LWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC10by1kYXRhLnBocAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LXRv
LWRhdGEucGhwCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWRhdGEucGhwCShub25leGlzdGVu
dCkKQEAgLTEsNCArMCwwIEBACi08PwotaGVhZGVyKCdTdGF0dXM6IDMwMSBNb3ZlZCBQZXJtYW5l
bnRseScpOwotaGVhZGVyKCdMb2NhdGlvbjogZGF0YTphcHBsaWNhdGlvbi9qYXZhc2NyaXB0LHN1
Y2Nlc3M9dHJ1ZTsnKTsKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rp
c2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWRhdGEucHkKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC10
by1kYXRhLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tZGF0YS5weQkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDkgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IHN5cworCitz
eXMuc3Rkb3V0LndyaXRlKAorICAgICdzdGF0dXM6IDMwMVxyXG4nCisgICAgJ0xvY2F0aW9uOiBk
YXRhOmFwcGxpY2F0aW9uL2phdmFzY3JpcHQsc3VjY2Vzcz10cnVlO1xyXG4nCisgICAgJ0NvbnRl
bnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNr
LWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC10by1kYXRhLnB5Cl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1
bGF0aXZlLXZhbGlkYXRpb24vY2FjaGVhYmxlLXJlZGlyZWN0Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlk
YXRpb24vY2FjaGVhYmxlLXJlZGlyZWN0Lmh0bWwJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9u
L2NhY2hlYWJsZS1yZWRpcmVjdC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xNiw3ICsxNiw3IEBA
IGZ1bmN0aW9uIGZyYW1lTG9hZGVkKCkKICAgICAgICAgLy8gTmF2aWdhdGUgZnJhbWUgdG8gaXRz
IG9yaWdpbmFsIGxvY2F0aW9uIGFnYWluLiBUaGlzIHRpbWUgaXQgc2hvdWxkIHNwZWN1bGF0aXZl
bHkKICAgICAgICAgLy8gdmFsaWRhdGUgc3VicmVzb3VyY2VzIGFzIHdlIGhhdmUgc3VicmVzb3Vy
Y2UgbG9hZHMgbWV0YWRhdGEgaW4gdGhlIGRpc2sgY2FjaGUuCiAgICAgICAgIHN0YXRlID0gInNw
ZWN1bGF0aXZlUmV2YWxpZGF0aW9uIjsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRlc3RGcmFtZSIpLnNyYyA9ICJyZXNvdXJjZXMvY2FjaGVhYmxlLXJlZGlyZWN0LWZyYW1lLnBo
cCI7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RnJhbWUiKS5zcmMgPSAi
cmVzb3VyY2VzL2NhY2hlYWJsZS1yZWRpcmVjdC1mcmFtZS5weSI7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAgICAgaWYgKHN0YXRlID09ICJzcGVjdWxhdGl2ZVJldmFsaWRhdGlvbiIpIHsKQEAg
LTI4LDUgKzI4LDUgQEAgZnVuY3Rpb24gZnJhbWVMb2FkZWQoKQogfQogCiA8L3NjcmlwdD4KLTxp
ZnJhbWUgaWQ9InRlc3RGcmFtZSIgc3JjPSJyZXNvdXJjZXMvY2FjaGVhYmxlLXJlZGlyZWN0LWZy
YW1lLnBocCIgb25sb2FkPSJmcmFtZUxvYWRlZCgpIj48L2lmcmFtZT4KKzxpZnJhbWUgaWQ9InRl
c3RGcmFtZSIgc3JjPSJyZXNvdXJjZXMvY2FjaGVhYmxlLXJlZGlyZWN0LWZyYW1lLnB5IiBvbmxv
YWQ9ImZyYW1lTG9hZGVkKCkiPjwvaWZyYW1lPgogPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vaHR0cC1hdXRoLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hl
L3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vaHR0cC1hdXRoLmh0bWwJKHJldmlzaW9uIDI3NDI5MikK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12
YWxpZGF0aW9uL2h0dHAtYXV0aC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMiw3ICsxMiw3IEBA
IHN0YXRlID0gIndhcm11cCI7CiBmdW5jdGlvbiBjbGVhckNyZWRlbnRpYWxTdG9yYWdlKCkKIHsK
ICAgICB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKLSAgICB4aHIub3BlbigiR0VUIiwgInJl
c291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucGhwP290aGVyIiwgZmFsc2UsICJiYWRVc2VybmFt
ZSIsICJiYWRQYXNzd29yZCIpOworICAgIHhoci5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL3Jlc291
cmNlLXdpdGgtYXV0aC5weT9vdGhlciIsIGZhbHNlLCAiYmFkVXNlcm5hbWUiLCAiYmFkUGFzc3dv
cmQiKTsKICAgICB4aHIuc2VuZCgpOwogICAgIHNob3VsZEJlKCJ4aHIuc3RhdHVzIiwgIjQwMSIp
OwogfQpAQCAtMzUsNyArMzUsNyBAQCBmdW5jdGlvbiBmcmFtZUxvYWRlZCgpCiAgICAgICAgIC8v
IE5hdmlnYXRlIGZyYW1lIHRvIGl0cyBvcmlnaW5hbCBsb2NhdGlvbiBhZ2Fpbi4gVGhpcyB0aW1l
IGl0IHNob3VsZCBzcGVjdWxhdGl2ZWx5CiAgICAgICAgIC8vIHZhbGlkYXRlIHN1YnJlc291cmNl
cyBhcyB3ZSBoYXZlIHN1YnJlc291cmNlIGxvYWRzIG1ldGFkYXRhIGluIHRoZSBkaXNrIGNhY2hl
LgogICAgICAgICBzdGF0ZSA9ICJzcGVjdWxhdGl2ZVJldmFsaWRhdGlvbiI7Ci0gICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RnJhbWUiKS5zcmMgPSAicmVzb3VyY2VzL2ZyYW1l
LXdpdGgtYXV0aGVudGljYXRlZC1yZXNvdXJjZS5waHAiOworICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGVzdEZyYW1lIikuc3JjID0gInJlc291cmNlcy9mcmFtZS13aXRoLWF1dGhl
bnRpY2F0ZWQtcmVzb3VyY2UucHkiOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlmIChz
dGF0ZSA9PSAic3BlY3VsYXRpdmVSZXZhbGlkYXRpb24iKSB7CkBAIC00Nyw1ICs0Nyw1IEBAIGZ1
bmN0aW9uIGZyYW1lTG9hZGVkKCkKIH0KIAogPC9zY3JpcHQ+Ci08aWZyYW1lIGlkPSJ0ZXN0RnJh
bWUiIHNyYz0icmVzb3VyY2VzL2ZyYW1lLXdpdGgtYXV0aGVudGljYXRlZC1yZXNvdXJjZS5waHAi
IG9ubG9hZD0iZnJhbWVMb2FkZWQoKSI+PC9pZnJhbWU+Cis8aWZyYW1lIGlkPSJ0ZXN0RnJhbWUi
IHNyYz0icmVzb3VyY2VzL2ZyYW1lLXdpdGgtYXV0aGVudGljYXRlZC1yZXNvdXJjZS5weSIgb25s
b2FkPSJmcmFtZUxvYWRlZCgpIj48L2lmcmFtZT4KIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3ZhbGlkYXRpb24t
cmVxdWVzdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3ZhbGlkYXRpb24tcmVxdWVzdC5odG1s
CShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi92YWxpZGF0aW9uLXJlcXVlc3QuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQCBmdW5jdGlvbiBmcmFtZUxvYWRlZCgpCiAgICAg
ICAgIC8vIE5hdmlnYXRlIGZyYW1lIHRvIGl0cyBvcmlnaW5hbCBsb2NhdGlvbiBhZ2Fpbi4gVGhp
cyB0aW1lIGl0IHNob3VsZCBzcGVjdWxhdGl2ZWx5CiAgICAgICAgIC8vIHZhbGlkYXRlIHN1YnJl
c291cmNlcyBhcyB3ZSBoYXZlIHN1YnJlc291cmNlIGxvYWRzIG1ldGFkYXRhIGluIHRoZSBkaXNr
IGNhY2hlLgogICAgICAgICBzdGF0ZSA9ICJzcGVjdWxhdGl2ZVJldmFsaWRhdGlvbiI7Ci0gICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RnJhbWUiKS5zcmMgPSAicmVzb3VyY2Vz
L3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFtZS5waHAiOworICAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGVzdEZyYW1lIikuc3JjID0gInJlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3Qt
ZnJhbWUucHkiOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlmIChzdGF0ZSA9PSAic3Bl
Y3VsYXRpdmVSZXZhbGlkYXRpb24iKSB7CkBAIC01MCw1ICs1MCw1IEBAIGZ1bmN0aW9uIGZyYW1l
TG9hZGVkKCkKIH0KIAogPC9zY3JpcHQ+Ci08aWZyYW1lIGlkPSJ0ZXN0RnJhbWUiIHNyYz0icmVz
b3VyY2VzL3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFtZS5waHAiIG9ubG9hZD0iZnJhbWVMb2FkZWQo
KSI+PC9pZnJhbWU+Cis8aWZyYW1lIGlkPSJ0ZXN0RnJhbWUiIHNyYz0icmVzb3VyY2VzL3ZhbGlk
YXRpb24tcmVxdWVzdC1mcmFtZS5weSIgb25sb2FkPSJmcmFtZUxvYWRlZCgpIj48L2lmcmFtZT4K
IDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxh
dGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jYWNoZWFibGUtcmVkaXJlY3QtZnJhbWUucGhwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVj
dWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jYWNoZWFibGUtcmVkaXJlY3QtZnJhbWUucGhw
CShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY2FjaGVhYmxlLXJlZGlyZWN0
LWZyYW1lLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDE3ICswLDAgQEAKLTw/cGhwCi1oZWFkZXIo
J0NvbnRlbnQtVHlwZTogdGV4dC9odG1sJyk7Ci1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG1heC1h
Z2U9MCcpOwotaGVhZGVyKCdFdGFnOiAxMjM0NTY3ODknKTsKLQotPz4KLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3Mi
IGhyZWY9InJlZGlyZWN0LXRvLWNzcy5waHAiPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJ0
ZXN0RGl2IiBjbGFzcz0idGVzdENsYXNzIj4KLVRFU1QKLTwvZGl2PgotPC9ib2R5PgotPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0
aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2NhY2hlYWJsZS1yZWRpcmVjdC1mcmFtZS5weQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3Vs
YXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY2FjaGVhYmxlLXJlZGlyZWN0LWZyYW1lLnB5CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9z
cGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jYWNoZWFibGUtcmVkaXJlY3QtZnJhbWUu
cHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9u
MworCitpbXBvcnQgc3lzCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NhY2hlLUNvbnRyb2w6
IG1heC1hZ2U9MFxyXG4nCisgICAgJ0V0YWc6IDEyMzQ1Njc4OVxyXG4nCisgICAgJ0NvbnRlbnQt
VHlwZTogdGV4dC9odG1sXHJcblxyXG4nCisgICAgJzwhRE9DVFlQRSBodG1sPlxuJworICAgICc8
aHRtbD5cbicKKyAgICAnPGhlYWQ+XG4nCisgICAgJzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlw
ZT0idGV4dC9jc3MiIGhyZWY9InJlZGlyZWN0LXRvLWNzcy5weSI+XG4nCisgICAgJzwvaGVhZD5c
bicKKyAgICAnPGJvZHk+XG4nCisgICAgJzxkaXYgaWQ9InRlc3REaXYiIGNsYXNzPSJ0ZXN0Q2xh
c3MiPlxuJworICAgICdURVNUXG4nCisgICAgJzwvZGl2PlxuJworICAgICc8L2JvZHk+XG4nCisg
ICAgJzwvaHRtbD5cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3Vs
YXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY2FjaGVhYmxlLXJlZGlyZWN0LWZyYW1lLnB5Cl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2Nzcy10by1yZXZh
bGlkYXRlLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rp
c2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY3NzLXRvLXJldmFsaWRh
dGUucGhwCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY3NzLXRvLXJldmFs
aWRhdGUucGhwCShub25leGlzdGVudCkKQEAgLTEsMTcgKzAsMCBAQAotPD9waHAKLWlmICgkX1NF
UlZFUlsiSFRUUF9JRl9OT05FX01BVENIIl0gPT0gImZvbyIpIHsKLSAgICBoZWFkZXIoIkhUVFAv
MS4xIDMwNCBOb3QgTW9kaWZpZWQiKTsKLSAgICBoZWFkZXIoIkVUYWc6IGZvbyIpOwotICAgIHJl
dHVybjsKLX0KLQotaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvY3NzIik7Ci1oZWFkZXIoIkVU
YWc6IGZvbyIpOwotaGVhZGVyKCJDYWNoZS1Db250cm9sOiBtYXgtYWdlPTAiKTsKLQotPz4KLQot
LnRlc3RDbGFzcwotewotICAgIGNvbG9yOiBncmVlbjsKLX0KSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNl
cy9jc3MtdG8tcmV2YWxpZGF0ZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY3Nz
LXRvLXJldmFsaWRhdGUucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2Nzcy10
by1yZXZhbGlkYXRlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjMgQEAKKyMhL3Vzci9i
aW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK21hdGNoID0gb3MuZW52
aXJvbi5nZXQoJ0hUVFBfSUZfTk9ORV9NQVRDSCcsICcnKQoraWYgbWF0Y2ggPT0gJ2Zvbyc6Cisg
ICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ3N0YXR1czogMzA0XHJcbicKKyAgICAgICAg
J0VUYWc6IGZvb1xyXG4nCisgICAgICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxu
JworICAgICkKKyAgICBzeXMuZXhpdCgwKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdDb250
ZW50LVR5cGU6IHRleHQvY3NzXHJcbicKKyAgICAnRVRhZzogZm9vXHJcbicKKyAgICAnQ2FjaGUt
Q29udHJvbDogbWF4LWFnZT0wXHJcblxyXG4nCisgICAgJy50ZXN0Q2xhc3NcbicKKyAgICAne1xu
JworICAgICcgICAgY29sb3I6IGdyZWVuO1xuJworICAgICd9XG4nCispClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2Nzcy10
by1yZXZhbGlkYXRlLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAg
KzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVz
b3VyY2VzL2ZyYW1lLXdpdGgtYXV0aGVudGljYXRlZC1yZXNvdXJjZS5waHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZh
bGlkYXRpb24vcmVzb3VyY2VzL2ZyYW1lLXdpdGgtYXV0aGVudGljYXRlZC1yZXNvdXJjZS5waHAJ
KHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRp
Y2F0ZWQtcmVzb3VyY2UucGhwCShub25leGlzdGVudCkKQEAgLTEsMTAgKzAsMCBAQAotPD9waHAK
LWhlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0L2h0bWwnKTsKLWhlYWRlcignQ2FjaGUtQ29udHJv
bDogbWF4LWFnZT0wJyk7Ci1oZWFkZXIoJ0V0YWc6IDEyMzQ1Njc4OScpOwotCi0/PgotPCFET0NU
WVBFIGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZS13aXRoLWF1dGgucGhwIj48
L3NjcmlwdD4KLTwvYm9keT4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9mcmFtZS13aXRoLWF1dGhl
bnRpY2F0ZWQtcmVzb3VyY2UucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2ZyYW1l
LXdpdGgtYXV0aGVudGljYXRlZC1yZXNvdXJjZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9y
ZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnB5CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMTMgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IHN5
cworCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTBcclxu
JworICAgICdFdGFnOiAxMjM0NTY3ODlcclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRt
bFxyXG5cclxuJworICAgICc8IURPQ1RZUEUgaHRtbD5cbicKKyAgICAnPGJvZHk+XG4nCisgICAg
JzxzY3JpcHQgc3JjPSJyZXNvdXJjZS13aXRoLWF1dGgucHkiPjwvc2NyaXB0PlxuJworICAgICc8
L2JvZHk+XG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZl
LXZhbGlkYXRpb24vcmVzb3VyY2VzL2ZyYW1lLXdpdGgtYXV0aGVudGljYXRlZC1yZXNvdXJjZS5w
eQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZWRpcmVj
dC10by1jc3MucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZWRpcmVjdC10by1j
c3MucGhwCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVkaXJlY3QtdG8t
Y3NzLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDYgKzAsMCBAQAotPD9waHAKLWhlYWRlcignSFRU
UC8xLjEgMzAyIEZvdW5kJyk7Ci1oZWFkZXIoJ0xvY2F0aW9uOiAvY2FjaGUvZGlzay1jYWNoZS9z
cGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5waHAnKTsK
LWhlYWRlcignRXhwaXJlczogVGh1LCAwMSBEZWMgMjAwMyAxNjowMDowMCBHTVQnKTsKLWhlYWRl
cignRVRhZzogZm9vJyk7Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9k
aXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWNz
cy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2Fj
aGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tY3NzLnB5CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9z
cGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZWRpcmVjdC10by1jc3MucHkJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwxMSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBv
cnQgc3lzCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ3N0YXR1czogMzAyXHJcbicKKyAgICAn
TG9jYXRpb246IC9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3Vy
Y2VzL2Nzcy10by1yZXZhbGlkYXRlLnB5XHJcbicKKyAgICAnRXhwaXJlczogVGh1LCAwMSBEZWMg
MjAwMyAxNjowMDowMCBHTVRcclxuJworICAgICdFVGFnOiBmb29cclxuJworICAgICdDb250ZW50
LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZWRpcmVjdC10by1jc3MucHkK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVxdWVzdC1o
ZWFkZXJzLXNjcmlwdC5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3JlcXVlc3Qt
aGVhZGVycy1zY3JpcHQucGhwCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMv
cmVxdWVzdC1oZWFkZXJzLXNjcmlwdC5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMiArMCwwIEBA
Ci08P3BocAotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdCcpOwotaGVhZGVy
KCdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTAnKTsKLWhlYWRlcignRXRhZzogMTIzNDU2Nzg5Jyk7
Ci0KLT8+Ci1hbGxSZXF1ZXN0SGVhZGVycyA9IFtdOwotPD9waHAKLWZvcmVhY2ggKGdldGFsbGhl
YWRlcnMoKSBhcyAkbmFtZSA9PiAkdmFsdWUpIHsKLSAgICBlY2hvICJhbGxSZXF1ZXN0SGVhZGVy
c1snIiAuICRuYW1lIC4gIiddID0gJyIgLiAkdmFsdWUgLiAiJzsiOwotfQotPz4KSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0
aW9uL3Jlc291cmNlcy9yZXF1ZXN0LWhlYWRlcnMtc2NyaXB0LnB5Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0
aW9uL3Jlc291cmNlcy9yZXF1ZXN0LWhlYWRlcnMtc2NyaXB0LnB5CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxp
ZGF0aW9uL3Jlc291cmNlcy9yZXF1ZXN0LWhlYWRlcnMtc2NyaXB0LnB5CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMjAgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitp
bXBvcnQgc3lzCisKK2hlYWRlcnMgPSB7fQorZm9yIGhlYWRlcm5hbWUsIGhlYWRlcnZhbHVlIGlu
IG9zLmVudmlyb24uaXRlbXMoKToKKyAgICBpZiBub3QgaGVhZGVybmFtZS5zdGFydHN3aXRoKCdI
VFRQXycpOgorICAgICAgICBjb250aW51ZQorICAgIGhlYWRlcnNbJy0nLmpvaW4oJyAnLmpvaW4o
aGVhZGVybmFtZVs1Ol0ubG93ZXIoKS5yZXBsYWNlKCdfJywgJy0nKS5zcGxpdCgnLScpKS50aXRs
ZSgpLnNwbGl0KCcgJykpXSA9IGhlYWRlcnZhbHVlCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAg
J0NvbnRlbnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0XHJcbicKKyAgICAnQ2FjaGUtQ29udHJvbDog
bWF4LWFnZT0wXHJcbicKKyAgICAnRXRhZzogMTIzNDU2Nzg5XHJcblxyXG4nCisgICAgJ2FsbFJl
cXVlc3RIZWFkZXJzID0gW107XG4nCispCisKK2ZvciBrZXkgaW4gaGVhZGVyczoKKyAgICBzeXMu
c3Rkb3V0LndyaXRlKGYnYWxsUmVxdWVzdEhlYWRlcnNbXCd7a2V5fVwnXSA9IFwne2hlYWRlcnNb
a2V5XX1cJzsnKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12
YWxpZGF0aW9uL3Jlc291cmNlcy9yZXF1ZXN0LWhlYWRlcnMtc2NyaXB0LnB5Cl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNh
Y2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3Jlc291cmNlLXdpdGgtYXV0aC5w
aHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hl
L3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3Jlc291cmNlLXdpdGgtYXV0aC5waHAJ
KHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgu
cGhwCShub25leGlzdGVudCkKQEAgLTEsMTggKzAsMCBAQAotPD9waHAKLSRleHBlY3RlZFVzZXJu
YW1lID0gJ3Rlc3RVc2VybmFtZSc7Ci0kZXhwZWN0ZWRQYXNzd29yZCA9ICd0ZXN0UGFzc3dvcmQn
OwotJHJlYWxtID0gJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ107Ci0KLWhlYWRlcignQ29udGVudC1U
eXBlOiB0ZXh0L2phdmFzY3JpcHQnKTsKLWhlYWRlcignQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0w
Jyk7Ci1oZWFkZXIoJ0V0YWc6IDEyMzQ1Njc4OScpOwotCi1pZiAoIWlzc2V0KCRfU0VSVkVSWydQ
SFBfQVVUSF9VU0VSJ10pIHx8ICRfU0VSVkVSWydQSFBfQVVUSF9VU0VSJ10gIT0gJGV4cGVjdGVk
VXNlcm5hbWUgfHwKLSAgICAhaXNzZXQoJF9TRVJWRVJbJ1BIUF9BVVRIX1BXJ10pIHx8ICRfU0VS
VkVSWydQSFBfQVVUSF9QVyddICE9ICRleHBlY3RlZFBhc3N3b3JkKSB7Ci0gICAgaGVhZGVyKCJX
V1ctQXV0aGVudGljYXRlOiBCYXNpYyByZWFsbT1cIiIgLiAkcmVhbG0gLiAiXCIiKTsKLSAgICBo
ZWFkZXIoJ0hUVFAvMS4wIDQwMSBVbmF1dGhvcml6ZWQnKTsKLSAgICBwcmludCAnU2VudCB1c2Vy
bmFtZTpwYXNzd29yZCBvZiAoJyAuICRfU0VSVkVSWydQSFBfQVVUSF9VU0VSJ10gLiAnOicgLiAk
X1NFUlZFUlsnUEhQX0FVVEhfUFcnXSAuICcpIHdoaWNoIGlzIG5vdCB3aGF0IHdhcyBleHBlY3Rl
ZCc7Ci0gICAgZXhpdDsKLX0KLT8+Ci1sb2FkZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3Vy
Y2VzL3Jlc291cmNlLXdpdGgtYXV0aC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMv
cmVzb3VyY2Utd2l0aC1hdXRoLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9y
ZXNvdXJjZS13aXRoLWF1dGgucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOSBAQAorIyEv
dXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgYmFzZTY0CitpbXBvcnQgb3MKK2ltcG9ydCBz
eXMKKworY3JlZGVudGlhbHMgPSBiYXNlNjQuYjY0ZGVjb2RlKG9zLmVudmlyb24uZ2V0KCdIVFRQ
X0FVVEhPUklaQVRJT04nLCAnIE9nPT0nKS5zcGxpdCgnICcpWzFdKS5kZWNvZGUoKS5zcGxpdCgn
OicpCit1c2VybmFtZSA9IGNyZWRlbnRpYWxzWzBdCitwYXNzd29yZCA9ICc6Jy5qb2luKGNyZWRl
bnRpYWxzWzE6XSkKKworZXhwZWN0ZWRVc2VybmFtZSA9ICd0ZXN0VXNlcm5hbWUnCitleHBlY3Rl
ZFBhc3N3b3JkID0gJ3Rlc3RQYXNzd29yZCcKK3JlYWxtID0gb3MuZW52aXJvbi5nZXQoJ1JFUVVF
U1RfVVJJJywgJycpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4
dC9qYXZhc2NyaXB0XHJcbicKKyAgICAnQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0wXHJcbicKKyAg
ICAnRXRhZzogMTIzNDU2Nzg5XHJcbicKKykKKworaWYgdXNlcm5hbWUgIT0gZXhwZWN0ZWRVc2Vy
bmFtZSBvciBwYXNzd29yZCAhPSBleHBlY3RlZFBhc3N3b3JkOgorICAgIHN5cy5zdGRvdXQud3Jp
dGUoCisgICAgICAgIGYnV1dXLUF1dGhlbnRpY2F0ZTogQmFzaWMgcmVhbG09IntyZWFsbX0iXHJc
bicKKyAgICAgICAgJ3N0YXR1czogNDAxXHJcblxyXG4nCisgICAgICAgIGYnU2VudCB1c2VybmFt
ZTpwYXNzd29yZCBvZiAoe3VzZXJuYW1lfTp7cGFzc3dvcmR9KSB3aGljaCBpcyBub3Qgd2hhdCB3
YXMgZXhwZWN0ZWRcbicKKyAgICApCisgICAgc3lzLmV4aXQoMCkKKworc3lzLnN0ZG91dC53cml0
ZSgnXHJcbmxvYWRlZCA9IHRydWU7XG4nKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucHkK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvdmFsaWRhdGlv
bi1yZXF1ZXN0LWZyYW1lLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvdmFsaWRh
dGlvbi1yZXF1ZXN0LWZyYW1lLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3Vy
Y2VzL3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFtZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNiAr
MCwwIEBACi08P3BocAotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbCcpOwotaGVhZGVy
KCdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTAnKTsKLWhlYWRlcignRXRhZzogMTIzNDU2Nzg5Jyk7
Ci0kY29va2llID0gInNwZWN1bGF0aXZlUmVxdWVzdFZhbGlkYXRpb249IiAuIHVuaXFpZCgpOwot
aGVhZGVyKCdTZXQtQ29va2llOiAnIC4gJGNvb2tpZSk7Ci0/PgotPCFET0NUWVBFIGh0bWw+Ci08
Ym9keT4KLTxzY3JpcHQgc3JjPSJyZXF1ZXN0LWhlYWRlcnMtc2NyaXB0LnBocCI+PC9zY3JpcHQ+
Ci08c2NyaXB0PgotPD9waHAKLWVjaG8gInNlbnRTZXRDb29raWVIZWFkZXIgPSAnIiAuICRjb29r
aWUgLiAiJzsiOwotPz4KLTwvc2NyaXB0PgotPC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2Vz
L3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFtZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJj
ZXMvdmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1lLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jl
c291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucHkJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwyMCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgc3lzCitmcm9tIHV1
aWQgaW1wb3J0IHV1aWQxCisKK2Nvb2tpZSA9IGYnc3BlY3VsYXRpdmVSZXF1ZXN0VmFsaWRhdGlv
bj17dXVpZDEoKX0nCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4
dC9odG1sXHJcbicKKyAgICAnQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0wXHJcbicKKyAgICAnRXRh
ZzogMTIzNDU2Nzg5XHJcbicKKyAgICBmJ1NldC1Db29raWU6IHtjb29raWV9XHJcblxyXG4nCisg
ICAgJzwhRE9DVFlQRSBodG1sPlxuJworICAgICc8Ym9keT5cbicKKyAgICAnPHNjcmlwdCBzcmM9
InJlcXVlc3QtaGVhZGVycy1zY3JpcHQucHkiPjwvc2NyaXB0PlxuJworICAgICc8c2NyaXB0Plxu
JworICAgIGYnc2VudFNldENvb2tpZUhlYWRlciA9IFwne2Nvb2tpZX1cJztcbicKKyAgICAnPC9z
Y3JpcHQ+XG4nCisgICAgJzwvYm9keT5cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0
LWZyYW1lLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMK
KyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvYm9keS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvYm9keS5waHAJKHJldmlzaW9uIDI3NDI5MikK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2JvZHkucGhwCShub25l
eGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi08P3BocAotaGVhZGVyKCdFdGFnOiAxMjM0NTY3ODkn
KTsKLWVjaG8gZmlsZV9nZXRfY29udGVudHMoJ3BocDovL2lucHV0Jyk7Ci0/PgpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvYm9keS5weQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9ib2R5LnB5CShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2JvZHkucHkJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwor
CitpbXBvcnQgc3lzCisKK2RhdGEgPSAnJy5qb2luKHN5cy5zdGRpbi5yZWFkbGluZXMoKSkKKwor
c3lzLnN0ZG91dC53cml0ZSgKKyAgICAnRXRhZzogMTIzNDU2Nzg5XHJcbicKKyAgICAnQ29udGVu
dC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICBmJ3tkYXRhfScKKykKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9ib2R5LnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRh
YmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLWlmcmFt
ZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvY2FjaGVhYmxlLWlmcmFtZS5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1pZnJhbWUucGhwCShub25leGlz
dGVudCkKQEAgLTEsMTEgKzAsMCBAQAotPD9waHAKLXJlcXVpcmVfb25jZSAnLi4vLi4vcmVzb3Vy
Y2VzL3BvcnRhYmlsaXR5TGF5ZXIucGhwJzsKLQotJG1heF9hZ2UgPSAxMiAqIDMxICogMjQgKiA2
MCAqIDYwOyAvL29uZSB5ZWFyCi0kZXhwaXJlcyA9IGdtZGF0ZShEQVRFX1JGQzExMjMsIHRpbWUo
KSArICRtYXhfYWdlKTsKLQotaGVhZGVyKCdDYWNoZS1Db250cm9sOiBwdWJsaWMsIG1heC1hZ2U9
JyAuICRtYXhfYWdlKTsKLWhlYWRlcignRXhwaXJlczogJyAuICRleHBpcmVzKTsKLWhlYWRlcign
Q29udGVudC1UeXBlOiB0ZXh0L2h0bWwnKTsKLWV4aXQoKTsKLT8+CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnB5Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1p
ZnJhbWUucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9y
ZXNvdXJjZXMvY2FjaGVhYmxlLWlmcmFtZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEz
IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBzeXMKKworbWF4X2FnZSA9IDEy
ICogMzEgKiAyNCAqIDYwICogNjAKK2V4cGlyZXMgPSAne30gKzAwMDAnLmZvcm1hdCgoZGF0ZXRp
bWUudXRjbm93KCkgKyB0aW1lZGVsdGEoc2Vjb25kcz1tYXhfYWdlKSkuc3RyZnRpbWUoJyVhLCAl
ZCAlYiAlWSAlSDolTTolUycpKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgIGYnQ2FjaGUtQ29u
dHJvbDogcHVibGljLCBtYXgtYWdlPXttYXhfYWdlfVxyXG4nCisgICAgZidFeHBpcmVzOiB7ZXhw
aXJlc31cclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nCispCitzeXMuZXhp
dCgwKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1pZnJhbWUucHkK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRleHQucGhwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4
dC5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwx
NCArMCwwIEBACi08P3BocAotICAgICRtYXhfYWdlID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MDsg
Ly9vbmUgeWVhcgotICAgIGhlYWRlcignQ2FjaGUtQ29udHJvbDogcHVibGljLCBtYXgtYWdlPScg
LiAkbWF4X2FnZSk7Ci0gICAgaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbCcpOwotCi0g
ICAgJGlkID0gJEdFVFsnaWQnXTsKLSAgICBpZiAoIWlzc2V0KCRHRVRbJ3JhbmRvbV9pZCddKSkg
ewotICAgICAgICAkaWQgPSAnJzsKLSAgICAgICAgJGNoYXJzZXQgPSAnQUJDREVGR0hJS0xNTk9Q
UVJTVFVWV1hZWjAxMjM0NTY3ODknOwotICAgICAgICBmb3IgKCRpID0gMDsgJGkgPCAxNjsgJGkr
KykKLSAgICAgICAgICAgICRpZCAuPSAkY2hhcnNldFtyYW5kKDAsIHN0cmxlbigkY2hhcnNldCkg
LSAxKV07Ci0gICAgfQotICAgIGVjaG8gJzxodG1sPjxib2R5PlNvbWUgcmFuZG9tIHRleHQnIC4g
JGlkIC4gICc8L2htbD48L2JvZHk+JzsKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRleHQucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLXJhbmRvbS10
ZXh0LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDI1IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cwor
ZnJvbSByYW5kb20gaW1wb3J0IHJhbmRpbnQKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9ydCBwYXJz
ZV9xcworCitxdWVyeSA9IHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAn
JyksIGtlZXBfYmxhbmtfdmFsdWVzPVRydWUpCitpZGVudCA9IHF1ZXJ5LmdldCgnaWQnLCBbJydd
KVswXQorCittYXhfYWdlID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MAorcmFuZG9tX2lkZW50ID0g
VHJ1ZSBpZiBxdWVyeS5nZXQoJ3JhbmRvbV9pZCcsIFtOb25lXSlbMF0gaXMgbm90IE5vbmUgZWxz
ZSBGYWxzZQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgIGYnQ2FjaGUtQ29udHJvbDogcHVibGlj
LCBtYXgtYWdlPXttYXhfYWdlfVxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJc
blxyXG4nCispCisKK2lmIG5vdCByYW5kb21faWRlbnQ6CisgICAgaWRlbnQgPSAnJworICAgIGNo
YXJzZXQgPSAnQUJDREVGR0hJS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODknCisgICAgZm9yIGkg
aW4gcmFuZ2UoMCwgMTYpOgorICAgICAgICBpZGVudCArPSBjaGFyc2V0W3JhbmRpbnQoMCwgbGVu
KGNoYXJzZXQpIC0gMSldCisKK3N5cy5zdGRvdXQud3JpdGUoZic8aHRtbD48Ym9keT5Tb21lIHJh
bmRvbSB0ZXh0e2lkZW50fTwvaG1sPjwvYm9keT4nKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5weQpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhl
Y3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5w
aHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMv
aWZyYW1lMzA0LnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDIxICsw
LDAgQEAKLTw/cGhwDQotcmVxdWlyZV9vbmNlICcuLi8uLi9yZXNvdXJjZXMvcG9ydGFiaWxpdHlM
YXllci5waHAnOw0KLQ0KLWNsZWFyc3RhdGNhY2hlKCk7DQotDQotaWYgKCRfU0VSVkVSWyJIVFRQ
X0lGX01PRElGSUVEX1NJTkNFIl0pIHsNCi0gICAgaGVhZGVyKCJIVFRQLzEuMSAzMDQgTm90IE1v
ZGlmaWVkIik7DQotICAgIGV4aXQoKTsNCi19DQotJG9uZV95ZWFyID0gMTIgKiAzMSAqIDI0ICog
NjAgKiA2MDsNCi0kbGFzdF9tb2RpZmllZCA9IGdtZGF0ZShEQVRFX1JGQzExMjMsIHRpbWUoKSAt
ICRvbmVfeWVhcik7DQotJGV4cGlyZXMgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgKyAk
b25lX3llYXIpOw0KLQ0KLWhlYWRlcignQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUsIG1heC1hZ2U9
JyAuICRvbmVfeWVhcik7DQotaGVhZGVyKCdFeHBpcmVzOiAnIC4gJGV4cGlyZXMpOw0KLWhlYWRl
cignQ29udGVudC1UeXBlOiB0ZXh0L2h0bWwnKTsNCi1oZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoOiAw
Jyk7DQotaGVhZGVyKCdFdGFnOiAxMjM0NTY3ODknKTsNCi1oZWFkZXIoJ0xhc3QtTW9kaWZpZWQ6
ICcgLiAkbGFzdF9tb2RpZmllZCk7DQotZXhpdCgpOw0KLT8+DQpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5weQkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUz
MDQucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0
aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0
aW1lLCB0aW1lZGVsdGEKKworbW9kaWZpZWRfc2luY2UgPSBvcy5lbnZpcm9uLmdldCgnSFRUUF9J
Rl9NT0RJRklFRF9TSU5DRScsICcnKQorCitzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6
IHRleHQvaHRtbFxyXG4nKQorCitpZiBtb2RpZmllZF9zaW5jZToKKyAgICBzeXMuc3Rkb3V0Lndy
aXRlKCdzdGF0dXM6IDMwNFxyXG5cclxuJykKKyAgICBzeXMuZXhpdCgwKQorCitvbmVfeWVhciA9
IDEyICogMzEgKiAyNCAqIDYwICogNjAKK2xhc3RfbW9kaWZpZWQgPSAne30gKzAwMDAnLmZvcm1h
dCgoZGF0ZXRpbWUudXRjbm93KCkgLSB0aW1lZGVsdGEoc2Vjb25kcz1vbmVfeWVhcikpLnN0cmZ0
aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06JVMnKSkKK2V4cGlyZXMgPSAne30gKzAwMDAnLmZvcm1h
dCgoZGF0ZXRpbWUudXRjbm93KCkgKyB0aW1lZGVsdGEoc2Vjb25kcz1vbmVfeWVhcikpLnN0cmZ0
aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06JVMnKSkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICBm
J0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBtYXgtYWdlPXtvbmVfeWVhcn1cclxuJworICAgIGYn
RXhwaXJlczoge2V4cGlyZXN9XHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxu
JworICAgICdDb250ZW50LUxlbmd0aDogMFxyXG4nCisgICAgJ0V0YWc6IDEyMzQ1Njc4OVxyXG4n
CisgICAgZidMYXN0LU1vZGlmaWVkOiB7bGFzdF9tb2RpZmllZH1cclxuJworKQorc3lzLmV4aXQo
MCkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucHkKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9pZnJhbWUzMDRib2R5LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDRib2R5LnBocAkocmV2aXNpb24gMjc0MjkyKQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0Ym9keS5w
aHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBACi08P3BocA0KLXJlcXVpcmVfb25jZSAn
Li4vLi4vcmVzb3VyY2VzL3BvcnRhYmlsaXR5TGF5ZXIucGhwJzsNCi0NCi1jbGVhcnN0YXRjYWNo
ZSgpOw0KLQ0KLWlmICgkX1NFUlZFUlsiSFRUUF9JRl9NT0RJRklFRF9TSU5DRSJdKSB7DQotICAg
IGhlYWRlcigiSFRUUC8xLjEgMzA0IE5vdCBNb2RpZmllZCIpOw0KLSAgICBleGl0KCk7DQotfQ0K
LWhlYWRlcignQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUnKTsNCi1oZWFkZXIoJ0NvbnRlbnQtVHlw
ZTogdGV4dC9odG1sJyk7DQotaGVhZGVyKCdFdGFnOiAxMjM0NTY3ODknKTsNCi0/Pg0KLWJvZHkg
dGV4dApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNGJvZHkucHkKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0Ym9keS5weQkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJh
bWUzMDRib2R5LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTggQEAKKyMhL3Vzci9iaW4v
ZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK21vZGlmaWVkX3NpbmNlID0g
b3MuZW52aXJvbi5nZXQoJ0hUVFBfSUZfTU9ESUZJRURfU0lOQ0UnLCAnJykKKworc3lzLnN0ZG91
dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJykKKworaWYgbW9kaWZpZWRfc2lu
Y2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgnc3RhdHVzOiAzMDRcclxuXHJcbicpCisgICAgc3lz
LmV4aXQoMCkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ2FjaGUtQ29udHJvbDogbm8tY2Fj
aGVcclxuJworICAgICdFdGFnOiAxMjM0NTY3ODlcclxuXHJcbicKKyAgICAnYm9keSB0ZXh0Jwor
KQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNGJvZHkucHkKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9sb2FkLWFuZC1jaGVjay1yZWZlcmVyLnBocAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9sb2FkLWFuZC1jaGVjay1yZWZlcmVyLnBo
cAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNv
dXJjZXMvbG9hZC1hbmQtY2hlY2stcmVmZXJlci5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw0MCAr
MCwwIEBACi08PwotZnVuY3Rpb24gY29udGVudFR5cGUoJHBhdGgpCi17Ci0gICAgaWYgKHByZWdf
bWF0Y2goIi9cLmh0bWwkLyIsICRwYXRoKSkKLSAgICAgICAgcmV0dXJuICJ0ZXh0L2h0bWwiOwot
ICAgIGlmIChwcmVnX21hdGNoKCIvXC5tYW5pZmVzdCQvIiwgJHBhdGgpKQotICAgICAgICByZXR1
cm4gInRleHQvY2FjaGUtbWFuaWZlc3QiOwotICAgIGlmIChwcmVnX21hdGNoKCIvXC5qcyQvIiwg
JHBhdGgpKQotICAgICAgICByZXR1cm4gInRleHQvamF2YXNjcmlwdCI7Ci0gICAgaWYgKHByZWdf
bWF0Y2goIi9cLnhtbCQvIiwgJHBhdGgpKQotICAgICAgICByZXR1cm4gImFwcGxpY2F0aW9uL3ht
bCI7Ci0gICAgaWYgKHByZWdfbWF0Y2goIi9cLnhodG1sJC8iLCAkcGF0aCkpCi0gICAgICAgIHJl
dHVybiAiYXBwbGljYXRpb24veGh0bWwreG1sIjsKLSAgICBpZiAocHJlZ19tYXRjaCgiL1wuc3Zn
JC8iLCAkcGF0aCkpCi0gICAgICAgIHJldHVybiAiYXBwbGljYXRpb24vc3ZnK3htbCI7Ci0gICAg
aWYgKHByZWdfbWF0Y2goIi9cLnhzbCQvIiwgJHBhdGgpKQotICAgICAgICByZXR1cm4gImFwcGxp
Y2F0aW9uL3hzbHQreG1sIjsKLSAgICBpZiAocHJlZ19tYXRjaCgiL1wuZ2lmJC8iLCAkcGF0aCkp
Ci0gICAgICAgIHJldHVybiAiaW1hZ2UvZ2lmIjsKLSAgICBpZiAocHJlZ19tYXRjaCgiL1wuanBn
JC8iLCAkcGF0aCkpCi0gICAgICAgIHJldHVybiAiaW1hZ2UvanBlZyI7Ci0gICAgaWYgKHByZWdf
bWF0Y2goIi9cLnBuZyQvIiwgJHBhdGgpKQotICAgICAgICByZXR1cm4gImltYWdlL3BuZyI7Ci0g
ICAgcmV0dXJuICJ0ZXh0L3BsYWluIjsKLX0KLQotJHBhdGggPSAkX0dFVFsncGF0aCddOwotJGV4
cGVjdGVkUmVmZXJlciA9ICRfR0VUWydleHBlY3RlZC1yZWZlcmVyJ107Ci0kcmVmZXJlciA9ICRf
U0VSVkVSWyJIVFRQX1JFRkVSRVIiXTsKLQotaWYgKCRleHBlY3RlZFJlZmVyZXIgPT0gJHJlZmVy
ZXIgJiYgZmlsZV9leGlzdHMoJHBhdGgpKSB7Ci0gICAgaGVhZGVyKCdIVFRQLzEuMSAyMDAgT0sn
KTsKLSAgICBoZWFkZXIoIkNhY2hlLWNvbnRyb2w6IG5vLXN0b3JlIik7Ci0gICAgaGVhZGVyKCJD
b250ZW50LVR5cGU6ICIgLiBjb250ZW50VHlwZSgkcGF0aCkpOwotICAgIHByaW50IGZpbGVfZ2V0
X2NvbnRlbnRzKCRwYXRoKTsKLX0gZWxzZSB7Ci0gICAgaGVhZGVyKCdIVFRQLzEuMSA0MDQgTm90
IEZvdW5kJyk7Ci19Ci0KLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9sb2FkLWFuZC1jaGVjay1yZWZlcmVyLnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2xvYWQtYW5kLWNoZWNrLXJlZmVyZXIucHkJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMv
bG9hZC1hbmQtY2hlY2stcmVmZXJlci5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUwIEBA
CisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSB1
cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNlX3FzCisKK2RlZiBjb250ZW50VHlwZShwYXRoKToKKyAg
ICBpZiBwYXRoLmVuZHN3aXRoKCcuaHRtbCcpOgorICAgICAgICByZXR1cm4gJ3RleHQvaHRtbCcK
KyAgICBpZiBwYXRoLmVuZHN3aXRoKCcubWFuaWZlc3QnKToKKyAgICAgICAgcmV0dXJuICd0ZXh0
L2NhY2hlLW1hbmlmZXN0JworICAgIGlmIHBhdGguZW5kc3dpdGgoJy5qcycpOgorICAgICAgICBy
ZXR1cm4gJ3RleHQvamF2YXNjcmlwdCcKKyAgICBpZiBwYXRoLmVuZHN3aXRoKCcueG1sJyk6Cisg
ICAgICAgIHJldHVybiAnYXBwbGljYXRpb24veG1sJworICAgIGlmIHBhdGguZW5kc3dpdGgoJy54
aHRtbCcpOgorICAgICAgICByZXR1cm4gJ2FwcGxpY2F0aW9uL3hodG1sK3htbCcKKyAgICBpZiBw
YXRoLmVuZHN3aXRoKCcuc3ZnJyk6CisgICAgICAgIHJldHVybiAnYXBwbGljYXRpb24vc3ZnK3ht
bCcKKyAgICBpZiBwYXRoLmVuZHN3aXRoKCcueHNsJyk6CisgICAgICAgIHJldHVybiAnYXBwbGlj
YXRpb24veHNsdCt4bWwnCisgICAgaWYgcGF0aC5lbmRzd2l0aCgnLmdpZicpOgorICAgICAgICBy
ZXR1cm4gJ2ltYWdlL2dpZicKKyAgICBpZiBwYXRoLmVuZHN3aXRoKCcuanBnJyk6CisgICAgICAg
IHJldHVybiAnaW1hZ2UvanBlZycKKyAgICBpZiBwYXRoLmVuZHN3aXRoKCcucG5nJyk6CisgICAg
ICAgIHJldHVybiAnaW1hZ2UvcG5nJworICAgIHJldHVybiAndGV4dC9wbGFpbicKKworcmVmZXJl
ciA9IG9zLmVudmlyb24uZ2V0KCdIVFRQX1JFRkVSRVInLCAnJykKKworcXVlcnkgPSBwYXJzZV9x
cyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1U
cnVlKQorcGF0aCA9IHF1ZXJ5LmdldCgncGF0aCcsIFsnJ10pWzBdCitleHBlY3RlZF9yZWZlcmVy
ID0gcXVlcnkuZ2V0KCdleHBlY3RlZC1yZWZlcmVyJywgWycnXSlbMF0KKworaWYgZXhwZWN0ZWRf
cmVmZXJlciA9PSByZWZlcmVyIGFuZCBvcy5wYXRoLmlzZmlsZShwYXRoKToKKyAgICBzeXMuc3Rk
b3V0LndyaXRlKAorICAgICAgICAnc3RhdHVzOiAyMDBcclxuJworICAgICAgICAnQ2FjaGUtY29u
dHJvbDogbm8tc3RvcmVcclxuJworICAgICAgICBmJ0NvbnRlbnQtVHlwZToge2NvbnRlbnRUeXBl
KHBhdGgpfVxyXG5cclxuJworICAgICkKKworICAgIHN5cy5zdGRvdXQuZmx1c2goKQorICAgIHdp
dGggb3Blbihvcy5wYXRoLmpvaW4oJy8nLmpvaW4oX19maWxlX18uc3BsaXQoJy8nKVswOi0xXSks
IHBhdGgpLCAncmInKSBhcyBmaWxlOgorICAgICAgICBzeXMuc3Rkb3V0LmJ1ZmZlci53cml0ZShm
aWxlLnJlYWQoKSkKK2Vsc2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ3N0YXR1
czogNDA0XHJcbicKKyAgICAgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCisg
ICAgKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2xvYWQtYW5kLWNoZWNrLXJlZmVy
ZXIucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLW5leHQucGhwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hl
LW1haW4tcmVzb3VyY2UtbmV4dC5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5w
aHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMSArMCwwIEBACi08P3BocAotaGVhZGVyKCJDYWNoZS1j
b250cm9sOiBuby1jYWNoZSwgbWF4LWFnZT0wIik7Ci1oZWFkZXIoIkxhc3QtTW9kaWZpZWQ6IFRo
dSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UIik7Ci1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4
dC9odG1sJyk7Ci0KLXByaW50ICI8c2NyaXB0PlxuIjsKLXByaW50ICJ2YXIgcmFuZG9tTnVtYmVy
ID0gIiAuIHJhbmQoKSAuICI7XG4iOwotPz4KLQotb3BlbmVyLnBvc3RNZXNzYWdlKHJhbmRvbU51
bWJlciwgJyonKTsKLTwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS1uZXh0LnB5Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVz
b3VyY2UtbmV4dC5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLW5leHQucHkJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwxNCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgc3lz
Citmcm9tIHJhbmRvbSBpbXBvcnQgcmFuZGludAorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdD
YWNoZS1jb250cm9sOiBuby1jYWNoZSwgbWF4LWFnZT0wXHJcbicKKyAgICAnTGFzdC1Nb2RpZmll
ZDogVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHTVRcclxuJworICAgICdDb250ZW50LVR5cGU6
IHRleHQvaHRtbFxyXG5cclxuJworICAgICc8c2NyaXB0PlxuJworICAgIGYndmFyIHJhbmRvbU51
bWJlciA9IHtyYW5kaW50KDAsIHN5cy5tYXhzaXplKX07XG4nCisgICAgJ29wZW5lci5wb3N0TWVz
c2FnZShyYW5kb21OdW1iZXIsIFwnKlwnKTtcbicKKyAgICAnPC9zY3JpcHQ+XG4nCispClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS1uZXh0LnB5
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS5waHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNv
dXJjZS5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UucGhwCShub25leGlzdGVudCkKQEAg
LTEsMzQgKzAsMCBAQAotPD9waHAKLWhlYWRlcigiQ2FjaGUtY29udHJvbDogbm8tY2FjaGUsIG1h
eC1hZ2U9MCIpOwotaGVhZGVyKCJMYXN0LU1vZGlmaWVkOiBUaHUsIDAxIEphbiAxOTcwIDAwOjAw
OjAwIEdNVCIpOwotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbCcpOwotCi1wcmludCAi
PHNjcmlwdD5cbiI7Ci1wcmludCAidmFyIHJhbmRvbU51bWJlciA9ICIgLiByYW5kKCkgLiAiO1xu
IjsKLT8+Ci0KLW9wZW5lci5wb3N0TWVzc2FnZShyYW5kb21OdW1iZXIsICcqJyk7Ci0KLS8vIE91
ciBvcGVuZXIgd2lsbCB0ZWxsIHVzIHRvIHBlcmZvcm0gdmFyaW91cyBsb2Fkcy4KLXdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24oZXZlbnQpIHsKLQotICAgIC8vIEdv
IGZvcndhcmQgYW5kIGJhY2suCi0gICAgaWYgKGV2ZW50LmRhdGEgPT09ICdnby1mb3J3YXJkLWFu
ZC1iYWNrJykgewotICAgICAgICB3aW5kb3cubG9jYXRpb24gPSAnaGlzdG9yeS1iYWNrLmh0bWwn
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gUmVsb2FkLgotICAgIGlmIChldmVu
dC5kYXRhID09PSAncmVsb2FkJykgewotICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7
Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBOb3JtYWwgbmF2aWdhdGlvbiwgbmV4
dC4KLSAgICBpZiAoZXZlbnQuZGF0YSA9PT0gJ25leHQnKSB7Ci0gICAgICAgIHdpbmRvdy5sb2Nh
dGlvbiA9ICduby1jYWNoZS1tYWluLXJlc291cmNlLW5leHQucGhwJzsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotfSwgZmFsc2UpOwotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnB5Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1h
aW4tcmVzb3VyY2UucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS5weQkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDM3IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBzeXMKK2Zy
b20gcmFuZG9tIGltcG9ydCByYW5kaW50CisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NhY2hl
LWNvbnRyb2w6IG5vLWNhY2hlLCBtYXgtYWdlPTBcclxuJworICAgICdMYXN0LU1vZGlmaWVkOiBU
aHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIEdNVFxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4
dC9odG1sXHJcblxyXG4nCisgICAgJzxzY3JpcHQ+XG4nCisgICAgZid2YXIgcmFuZG9tTnVtYmVy
ID0ge3JhbmRpbnQoMCwgc3lzLm1heHNpemUgKyAxKX07XG4nCisgICAgJ29wZW5lci5wb3N0TWVz
c2FnZShyYW5kb21OdW1iZXIsIFwnKlwnKTtcbicKKyAgICAnXG4nCisgICAgJy8vIE91ciBvcGVu
ZXIgd2lsbCB0ZWxsIHVzIHRvIHBlcmZvcm0gdmFyaW91cyBsb2Fkcy5cbicKKyAgICAnd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoXCdtZXNzYWdlXCcsIGZ1bmN0aW9uKGV2ZW50KSB7XG4nCisgICAg
J1xuJworICAgICcgICAgLy8gR28gZm9yd2FyZCBhbmQgYmFjay5cbicKKyAgICAnICAgIGlmIChl
dmVudC5kYXRhID09PSBcJ2dvLWZvcndhcmQtYW5kLWJhY2tcJykge1xuJworICAgICcgICAgICAg
IHdpbmRvdy5sb2NhdGlvbiA9IFwnaGlzdG9yeS1iYWNrLmh0bWxcJztcbicKKyAgICAnICAgICAg
ICByZXR1cm47XG4nCisgICAgJyAgICB9XG4nCisgICAgJ1xuJworICAgICcgICAgLy8gUmVsb2Fk
LlxuJworICAgICcgICAgaWYgKGV2ZW50LmRhdGEgPT09IFwncmVsb2FkXCcpIHtcbicKKyAgICAn
ICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4nCisgICAgJyAgICAgICAgcmV0dXJu
O1xuJworICAgICcgICAgfVxuJworICAgICdcbicKKyAgICAnICAgIC8vIE5vcm1hbCBuYXZpZ2F0
aW9uLCBuZXh0LlxuJworICAgICcgICAgaWYgKGV2ZW50LmRhdGEgPT09IFwnbmV4dFwnKSB7XG4n
CisgICAgJyAgICAgICAgd2luZG93LmxvY2F0aW9uID0gXCduby1jYWNoZS1tYWluLXJlc291cmNl
LW5leHQucHlcJztcbicKKyAgICAnICAgICAgICByZXR1cm47XG4nCisgICAgJyAgICB9XG4nCisg
ICAgJ1xuJworICAgICd9LCBmYWxzZSk7XG4nCisgICAgJzwvc2NyaXB0PlxuJworKQpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UucHkKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9uby1jYWNoZS13aXRoLXZhbGlkYXRpb24ucGhwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLXdpdGgtdmFsaWRhdGlv
bi5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL25vLWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5waHAJKG5vbmV4aXN0ZW50KQpAQCAt
MSwxMCArMCwwIEBACi08P3BocAotaWYgKCRfU0VSVkVSWyJIVFRQX0lGX01PRElGSUVEX1NJTkNF
Il0pIHsKLSAgICBoZWFkZXIoIkhUVFAvMS4wIDMwNCBOb3QgTW9kaWZpZWQiKTsKLSAgICBleGl0
KCk7Ci19Ci1oZWFkZXIoIkNhY2hlLWNvbnRyb2w6IG5vLWNhY2hlIik7Ci1oZWFkZXIoIkxhc3Qt
TW9kaWZpZWQ6IFRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UIik7Ci1oZWFkZXIoIkNvbnRl
bnQtVHlwZTogdGV4dC9wbGFpbiIpOwotPz4KLWZvbwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtd2l0aC12YWxpZGF0aW9uLnB5Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLXdp
dGgtdmFsaWRhdGlvbi5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS13aXRoLXZhbGlkYXRpb24ucHkJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwxOCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MK
K2ltcG9ydCBzeXMKKworbW9kaWZpZWRfc2luY2UgPSBvcy5lbnZpcm9uLmdldCgnSFRUUF9JRl9N
T0RJRklFRF9TSU5DRScsICcnKQorCitzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRl
eHQvcGxhaW5cclxuJykKKworaWYgbW9kaWZpZWRfc2luY2U6CisgICAgc3lzLnN0ZG91dC53cml0
ZSgnc3RhdHVzOiAzMDRcclxuXHJcbicpCisgICAgc3lzLmV4aXQoMCkKKworc3lzLnN0ZG91dC53
cml0ZSgKKyAgICAnQ2FjaGUtY29udHJvbDogbm8tY2FjaGVcclxuJworICAgICdMYXN0LU1vZGlm
aWVkOiBUaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIEdNVFxyXG5cclxuJworICAgICdmb29cbicK
KykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS13aXRoLXZhbGlkYXRp
b24ucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9wYXJ0aXRpb25lZC1jYWNoZS1lY2hvLXN0YXRlLnBocAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wYXJ0aXRp
b25lZC1jYWNoZS1lY2hvLXN0YXRlLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9uZWQtY2FjaGUtZWNoby1zdGF0
ZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMCArMCwwIEBACi08P3BocAotcmVxdWlyZV9vbmNl
ICcuLi8uLi9yZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXllci5waHAnOwotCi1oZWFkZXIoJ0NvbnRl
bnQtVHlwZTogYXBwbGljYXRpb24vamF2YXNjcmlwdCcpOwotaGVhZGVyKCdDYWNoZS1Db250cm9s
OiBtYXgtYWdlPTM2MDAnKTsKLQotIyBUaGlzIHNjcmlwdCBtYXkgb25seSBiZSB1c2VkIGJ5IGNh
Y2hlL3BhcnRpdGlvbmVkLWNhY2hlLmh0bWwgdGVzdCwgc2luY2UgaXQgdXNlcyBnbG9iYWwgZGF0
YS4KLSR0bXBGaWxlID0gc3lzX2dldF90ZW1wX2RpcigpIC4gIi8iIC4gImNhY2hlLXBhcnRpdGlv
bmVkLWNhY2hlLXN0YXRlIjsKLT8+Ci12YXIgcmVzcG9uc2UgPSAnPD9waHAgcHJpbnQgZmlsZV9n
ZXRfY29udGVudHMoJHRtcEZpbGUpOyA/Pic7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9wYXJ0aXRpb25lZC1jYWNoZS1lY2hvLXN0YXRlLnB5Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3BhcnRpdGlvbmVk
LWNhY2hlLWVjaG8tc3RhdGUucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9uZWQtY2FjaGUtZWNoby1zdGF0ZS5weQkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDIwIEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2lt
cG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHRlbXBmaWxlCisKK2ZpbGUgPSBfX2ZpbGVfXy5z
cGxpdCgnOi9jeWd3aW4nKVstMV0KK2h0dHBfcm9vdCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRo
LmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShmaWxlKSkpKQorc3lzLnBh
dGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKwordG1wRmlsZSA9IG9zLnBhdGguam9pbih0ZW1wZmls
ZS5nZXR0ZW1wZGlyKCksICdjYWNoZS1wYXJ0aXRpb25lZC1jYWNoZS1zdGF0ZScpCitmaWxlID0g
b3Blbih0bXBGaWxlLCAncicpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NvbnRlbnQtVHlw
ZTogYXBwbGljYXRpb24vamF2YXNjcmlwdFxyXG4nCisgICAgJ0NhY2hlLUNvbnRyb2w6IG1heC1h
Z2U9MzYwMFxyXG5cclxuJworICAgIGYndmFyIHJlc3BvbnNlID0gXCd7ZmlsZS5yZWFkKCl9XCc7
XG4nCispCisKK2ZpbGUuY2xvc2UoKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Bh
cnRpdGlvbmVkLWNhY2hlLWVjaG8tc3RhdGUucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1
dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wYXJ0aXRpb25lZC1j
YWNoZS1sb2FkZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9wYXJ0aXRpb25lZC1jYWNoZS1sb2FkZXIuaHRtbAkocmV2aXNpb24gMjc0
MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9u
ZWQtY2FjaGUtbG9hZGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTgsNyArOCw3IEBAIGlmICh3
aW5kb3cuaW50ZXJuYWxzKQogZnVuY3Rpb24gc2V0U2VydmVyU3RhdGUoc3RyaW5nKQogewogICAg
IHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7Ci0gICAgeGhyLm9wZW4oJ1BPU1QnLCAnL3Jl
c291cmNlcy93cml0ZS10ZW1wLWZpbGUucGhwP2ZpbGVuYW1lPWNhY2hlLXBhcnRpdGlvbmVkLWNh
Y2hlLXN0YXRlJmRhdGE9JyArIHN0cmluZywgZmFsc2UpOworICAgIHhoci5vcGVuKCdQT1NUJywg
Jy9yZXNvdXJjZXMvd3JpdGUtdGVtcC1maWxlLnB5P2ZpbGVuYW1lPWNhY2hlLXBhcnRpdGlvbmVk
LWNhY2hlLXN0YXRlJmRhdGE9JyArIHN0cmluZywgZmFsc2UpOwogICAgIHhoci5zZW5kKCk7CiB9
CiAKQEAgLTE3LDcgKzE3LDcgQEAgY29uc29sZS5sb2coJ1NldHRpbmcgc2VydmVyLXNpZGUgcGVy
c2lzdAogc2V0U2VydmVyU3RhdGUoZG9jdW1lbnQuZG9tYWluKTsKIAogdmFyIHNjcmlwdEVsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKLXNjcmlwdEVsZW1lbnQuc2V0
QXR0cmlidXRlKCdzcmMnLCAnaHR0cDovL2xvY2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9w
YXJ0aXRpb25lZC1jYWNoZS1lY2hvLXN0YXRlLnBocCcpOworc2NyaXB0RWxlbWVudC5zZXRBdHRy
aWJ1dGUoJ3NyYycsICdodHRwOi8vbG9jYWxob3N0OjgwMDAvY2FjaGUvcmVzb3VyY2VzL3BhcnRp
dGlvbmVkLWNhY2hlLWVjaG8tc3RhdGUucHknKTsKIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQo
c2NyaXB0RWxlbWVudCk7CiAKIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Blcm1hbmVudC1yZWRpcmVjdC5w
aHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMv
cGVybWFuZW50LXJlZGlyZWN0LnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGVybWFuZW50LXJlZGlyZWN0LnBocAkobm9uZXhp
c3RlbnQpCkBAIC0xLDYgKzAsMCBAQAotPD8KLSRsb2NhdGlvbiA9ICRfR0VUWydsb2NhdGlvbidd
OwotCi1oZWFkZXIoJ0hUVFAvMS4xIDMwMSBQZXJtYW5lbnQgUmVkaXJlY3QnKTsKLWhlYWRlcign
TG9jYXRpb246JyAuICRsb2NhdGlvbik7Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvcGVybWFuZW50LXJlZGlyZWN0LnB5Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Blcm1hbmVudC1yZWRpcmVjdC5w
eQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9wZXJtYW5lbnQtcmVkaXJlY3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAor
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zyb20gdXJs
bGliLnBhcnNlIGltcG9ydCBwYXJzZV9xcworCitsb2NhdGlvbiA9IHBhcnNlX3FzKG9zLmVudmly
b24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAnJyksIGtlZXBfYmxhbmtfdmFsdWVzPVRydWUpLmdldCgn
bG9jYXRpb24nLCBbJ2luZGV4Lmh0bWwnXSlbMF0KKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAn
c3RhdHVzOiAzMDFcclxuJworICAgIGYnTG9jYXRpb246IHtsb2NhdGlvbn1cclxuJworICAgICdD
b250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL3Blcm1hbmVudC1yZWRpcmVjdC5weQpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhl
Y3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Bvc3QtaW1hZ2Ut
dG8tdmVyaWZ5LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnB5CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnB5
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMK
KworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgdGVtcGZpbGUKK2Zyb20gZGF0ZXRpbWUg
aW1wb3J0IGRhdGV0aW1lLCB0aW1lZGVsdGEKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9ydCBwYXJz
ZV9xcworCitmaWxlID0gX19maWxlX18uc3BsaXQoJzovY3lnd2luJylbLTFdCitodHRwX3Jvb3Qg
PSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChvcy5wYXRo
LmRpcm5hbWUoZmlsZSkpKSkKK3N5cy5wYXRoLmluc2VydCgwLCBodHRwX3Jvb3QpCisKK3Rlc3Qg
PSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5r
X3ZhbHVlcz1UcnVlKS5nZXQoJ3Rlc3QnLCBbJ3N0YXRlJ10pWzBdCit0bXBGaWxlUGF0aCA9IG9z
LnBhdGguam9pbih0ZW1wZmlsZS5nZXR0ZW1wZGlyKCksICd7fV9zdGF0ZScuZm9ybWF0KHRlc3Qp
KQorCitpZiBvcy5wYXRoLmlzZmlsZSh0bXBGaWxlUGF0aCk6CisgICAgc3lzLnN0ZG91dC53cml0
ZSgKKyAgICAgICAgJ3N0YXR1czogNDA0XHJcbicKKyAgICAgICAgJ0NvbnRlbnQtVHlwZTogdGV4
dC9odG1sXHJcblxyXG57fScuZm9ybWF0KHRtcEZpbGVQYXRoKQorICAgICkKKyAgICBzeXMuZXhp
dCgwKQorCit0bXBGaWxlID0gb3Blbih0bXBGaWxlUGF0aCwgJ3crJykKK3RtcEZpbGUuY2xvc2Uo
KQorCitmaWxlUGF0aCA9IG9zLnBhdGguam9pbignLycuam9pbihfX2ZpbGVfXy5zcGxpdCgnLycp
WzA6LTFdKSwgJ2NvbXBhc3Mtbm8tY2FjaGUuanBnJykKK3N0YXQgPSBvcy5zdGF0KGZpbGVQYXRo
KQorZmlsZW10aW1lID0gc3RhdC5zdF9tdGltZQorZmlsZXNpemUgPSBzdGF0LnN0X3NpemUKKwor
ZXRhZyA9ICcie30te30iJy5mb3JtYXQoZmlsZXNpemUsIGZpbGVtdGltZSkKK2xhc3RfbW9kaWZp
ZWQgPSAne30gKzAwMDAnLmZvcm1hdChkYXRldGltZS51dGNmcm9tdGltZXN0YW1wKGZpbGVtdGlt
ZSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorbWF4X2FnZSA9IDEyICogMzEg
KiAyNCAqIDYwICogNjAKK2V4cGlyZXMgPSAne30gKzAwMDAnLmZvcm1hdCgoZGF0ZXRpbWUudXRj
bm93KCkgKyB0aW1lZGVsdGEoc2Vjb25kcz1tYXhfYWdlKSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAl
WSAlSDolTTolUycpKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdDYWNoZS1Db250cm9sOiBw
dWJsaWMsIG1heC1hZ2U9e31cclxuJworICAgICdFeHBpcmVzOiB7fVxyXG4nCisgICAgJ0NvbnRl
bnQtVHlwZTogaW1hZ2UvcG5nXHJcbicKKyAgICAnQ29udGVudC1MZW5ndGg6IHt9XHJcbicKKyAg
ICAnRXRhZzoge31cclxuJworICAgICdMYXN0LU1vZGlmaWVkOiB7fVxyXG5cclxuJy5mb3JtYXQo
bWF4X2FnZSwgZXhwaXJlcywgZmlsZXNpemUsIGV0YWcsIGxhc3RfbW9kaWZpZWQpCispCisKK3N5
cy5zdGRvdXQuZmx1c2goKQord2l0aCBvcGVuKGZpbGVQYXRoLCAncmInKSBhcyBmaWxlOgorICAg
IHN5cy5zdGRvdXQuYnVmZmVyLndyaXRlKGZpbGUucmVhZCgpKQorc3lzLmV4aXQoMCkKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5weQpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucGhwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1y
ZXNvdXJjZS1pZnJhbWUucGhwCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBo
cAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTw/cGhwCi1pZiAoJF9TRVJWRVJbIkhU
VFBfUFVSUE9TRSJdID09ICJwcmVmZXRjaCIpIHsKLSAgICBlY2hvICI8c2NyaXB0PiI7Ci0gICAg
ZWNobyAicGFyZW50LndpbmRvdy5wb3N0TWVzc2FnZSgnRkFJTCcsICcqJyk7IjsKLSAgICBlY2hv
ICI8L3NjcmlwdD4iOwotCi0gICAgZXhpdCgpOwotfQotCi1lY2hvICI8c2NyaXB0PiI7Ci1lY2hv
ICJwYXJlbnQud2luZG93LnBvc3RNZXNzYWdlKCdQQVNTJywgJyonKTsiOwotZWNobyAiPC9zY3Jp
cHQ+IjsKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9w
cmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1p
ZnJhbWUucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9y
ZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLWlmcmFtZS5weQkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDIyIEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcwor
aW1wb3J0IHN5cworCitwdXJwb3NlID0gb3MuZW52aXJvbi5nZXQoJ0hUVFBfUFVSUE9TRScsICcn
KQorCitzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJykK
KworaWYgcHVycG9zZSA9PSAncHJlZmV0Y2gnOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAg
ICAgICc8c2NyaXB0PlxuJworICAgICAgICAncGFyZW50LndpbmRvdy5wb3N0TWVzc2FnZShcJ0ZB
SUxcJywgXCcqXCcpO1xuJworICAgICAgICAnPC9zY3JpcHQ+XG4nCisgICAgKQorICAgIHN5cy5l
eGl0KDApCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJzxzY3JpcHQ+XG4nCisgICAgJ3BhcmVu
dC53aW5kb3cucG9zdE1lc3NhZ2UoXCdQQVNTXCcsIFwnKlwnKTtcbicKKyAgICAnPC9zY3JpcHQ+
XG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJl
c291cmNlLWlmcmFtZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCww
ICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5w
aHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMv
cHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNl
LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDIxICswLDAgQEAKLTw/cGhwCi1oZWFkZXIoJ0NhY2hl
LUNvbnRyb2w6IG1heC1hZ2U9MzYwMCcpOwotPz4KLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
Ym9keT4KLTxzY3JpcHQ+Ci0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICBmZXRjaCgnaHR0
cDovL2xvY2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3Vy
Y2UucGhwJykudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGlmIChpbnRlcm5hbHMuZmV0
Y2hSZXNwb25zZVNvdXJjZShyZXNwb25zZSkgIT0gIkRpc2sgY2FjaGUiKSB7Ci0gICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnbG9nJykuaW5uZXJUZXh0ID0gJ0ZBSUw6IHJlc291cmNlIGlz
IG5vdCBpbiB0aGUgZGlzayBjYWNoZS4nOwotICAgIH0KLSAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKLSAgfSk7Ci19Ci0KLTwvc2NyaXB0PgotPGRpdiBpZD0ibG9nIj48P3BocCBpZiAoJF9T
RVJWRVJbIkhUVFBfUFVSUE9TRSJdID09ICJwcmVmZXRjaCIpIGVjaG8gJ1BBU1MnOyBlbHNlIGVj
aG8gJ0ZBSUwnOyA/PjwvZGl2PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLnB5Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZl
dGNoZWQtbWFpbi1yZXNvdXJjZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UucHkJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzOCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBv
cnQgb3MKK2ltcG9ydCBzeXMKKworcHVycG9zZSA9IG9zLmVudmlyb24uZ2V0KCdIVFRQX1BVUlBP
U0UnLCAnJykKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ2FjaGUtQ29udHJvbDogbWF4LWFn
ZT0zNjAwXHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICAn
PCFET0NUWVBFIGh0bWw+XG4nCisgICAgJzxodG1sPlxuJworICAgICc8Ym9keT5cbicKKyAgICAn
PHNjcmlwdD5cbicKKyAgICAnXG4nCisgICAgJ2lmICh3aW5kb3cudGVzdFJ1bm5lcikge1xuJwor
ICAgICcgIGZldGNoKFwnaHR0cDovL2xvY2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVm
ZXRjaGVkLW1haW4tcmVzb3VyY2UucHlcJykudGhlbihmdW5jdGlvbihyZXNwb25zZSkge1xuJwor
ICAgICcgICAgaWYgKGludGVybmFscy5mZXRjaFJlc3BvbnNlU291cmNlKHJlc3BvbnNlKSAhPSAi
RGlzayBjYWNoZSIpIHtcbicKKyAgICAnICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCds
b2dcJykuaW5uZXJUZXh0ID0gXCdGQUlMOiByZXNvdXJjZSBpcyBub3QgaW4gdGhlIGRpc2sgY2Fj
aGUuXCc7XG4nCisgICAgJyAgICB9XG4nCisgICAgJyAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTtcbicKKyAgICAnICB9KTtcbicKKyAgICAnfVxuJworICAgICdcbicKKyAgICAnPC9zY3JpcHQ+
XG4nCisgICAgJzxkaXYgaWQ9ImxvZyI+JworKQorCitpZiBwdXJwb3NlID09ICdwcmVmZXRjaCc6
CisgICAgc3lzLnN0ZG91dC53cml0ZSgnUEFTUycpCitlbHNlOgorICAgIHN5cy5zdGRvdXQud3Jp
dGUoJ0ZBSUwnKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICc8L2Rpdj5cbicKKyAgICAnPC9i
b2R5PlxuJworICAgICc8L2h0bWw+XG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVj
dXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtcmVm
ZXJlci1pZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9yZWRpcmVjdC1yZWZlcmVyLWlmcmFtZS5odG1sCShyZXZpc2lvbiAyNzQy
OTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1y
ZWZlcmVyLWlmcmFtZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi08aW1nIHNyYz0i
bG9hZC1hbmQtY2hlY2stcmVmZXJlci5waHA/cGF0aD1jb21wYXNzLW5vLWNhY2hlLmpwZyZleHBl
Y3RlZC1yZWZlcmVyPWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvcmVkaXJl
Y3QtcmVmZXJlci1pZnJhbWUuaHRtbCI+Cis8aW1nIHNyYz0ibG9hZC1hbmQtY2hlY2stcmVmZXJl
ci5weT9wYXRoPWNvbXBhc3Mtbm8tY2FjaGUuanBnJmV4cGVjdGVkLXJlZmVyZXI9aHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1yZWZlcmVyLWlmcmFtZS5odG1s
Ij4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3JlbG9hZC1t
YWluLXJlc291cmNlLWlmcmFtZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVsb2FkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBocAkocmV2
aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMv
cmVsb2FkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDIzICsw
LDAgQEAKLTw/cGhwCi1pZiAoZmlsZV9leGlzdHMoc3lzX2dldF90ZW1wX2RpcigpIC4gIi9jYWNo
ZS1yZWxvYWQtbWFpbi1yZXNvdXJjZS50bXAiKSkgewotICAgIHVubGluayhzeXNfZ2V0X3RlbXBf
ZGlyKCkgLiAiL2NhY2hlLXJlbG9hZC1tYWluLXJlc291cmNlLnRtcCIpOwotICAgIGVjaG8gIjxi
b2R5PiI7Ci0gICAgZWNobyAiPHNjcmlwdD4iOwotICAgIGVjaG8gIndpbmRvdy5wYXJlbnQuZmlu
aXNoKCk7IjsKLSAgICBlY2hvICI8L3NjcmlwdD4iOwotICAgIGVjaG8gIjwvYm9keT4iOwotICAg
IGV4aXQoKTsKLX0KLQotJHRtcEZpbGUgPSBmb3BlbihzeXNfZ2V0X3RlbXBfZGlyKCkgLiAiL2Nh
Y2hlLXJlbG9hZC1tYWluLXJlc291cmNlLnRtcCIsICd3Jyk7Ci1mY2xvc2UoJHRtcEZpbGUpOwot
Ci0kbWF4X2FnZSA9IDEyICogMzEgKiAyNCAqIDYwICogNjA7IC8vb25lIHllYXIKLSRsYXN0X21v
ZGlmaWVkID0gZ21kYXRlKERBVEVfUkZDMTEyMywgdGltZSgpICsgJG1heF9hZ2UpOwotJGV4cGly
ZXMgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgKyAkbWF4X2FnZSk7Ci0KLWhlYWRlcign
Q2FjaGUtQ29udHJvbDogcHVibGljLCBtYXgtYWdlPScgLiAkbWF4X2FnZSk7Ci1oZWFkZXIoJ0V4
cGlyZXM6ICcgLiAkZXhwaXJlcyk7Ci1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sJyk7
Ci1oZWFkZXIoJ0xhc3QtTW9kaWZpZWQ6ICcgLiAkbGFzdF9tb2RpZmllZCk7Ci0/PgpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVsb2FkLW1haW4tcmVzb3Vy
Y2UtaWZyYW1lLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL3JlbG9hZC1tYWluLXJlc291cmNlLWlmcmFtZS5weQkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9yZWxvYWQtbWFpbi1yZXNv
dXJjZS1pZnJhbWUucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNyBAQAorIyEvdXNyL2Jp
bi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCB0ZW1wZmlsZQor
ZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0YQorCitmaWxlID0gX19maWxl
X18uc3BsaXQoJzovY3lnd2luJylbLTFdCitodHRwX3Jvb3QgPSBvcy5wYXRoLmRpcm5hbWUob3Mu
cGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoZmlsZSkpKSkKK3N5
cy5wYXRoLmluc2VydCgwLCBodHRwX3Jvb3QpCisKK3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQt
VHlwZTogdGV4dC9odG1sXHJcblxyXG4nKQorCit0bXBGaWxlID0gb3MucGF0aC5qb2luKHRlbXBm
aWxlLmdldHRlbXBkaXIoKSwgJ2NhY2hlLXJlbG9hZC1tYWluLXJlc291cmNlLnRtcCcpCitpZiBv
cy5wYXRoLmlzZmlsZSh0bXBGaWxlKToKKyAgICBvcy5yZW1vdmUodG1wRmlsZSkKKyAgICBzeXMu
c3Rkb3V0LndyaXRlKAorICAgICAgICAnPGJvZHk+XG4nCisgICAgICAgICc8c2NyaXB0PlxuJwor
ICAgICAgICAnd2luZG93LnBhcmVudC5maW5pc2goKTtcbicKKyAgICAgICAgJzwvc2NyaXB0Plxu
JworICAgICAgICAnPC9ib2R5PlxuJworICAgICkKKyAgICBzeXMuZXhpdCgwKQorCitmaWxlID0g
b3Blbih0bXBGaWxlLCAndysnKQorZmlsZS5jbG9zZSgpCisKK21heF9hZ2UgPSAxMiAqIDMxICog
MjQgKiA2MCAqIDYwCitsYXN0X21vZGlmaWVkID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1l
LnV0Y25vdygpICsgdGltZWRlbHRhKHNlY29uZHM9bWF4X2FnZSkpLnN0cmZ0aW1lKCclYSwgJWQg
JWIgJVkgJUg6JU06JVMnKSkKK2V4cGlyZXMgPSAne30gKzAwMDAnLmZvcm1hdCgoZGF0ZXRpbWUu
dXRjbm93KCkgKyB0aW1lZGVsdGEoc2Vjb25kcz1tYXhfYWdlKSkuc3RyZnRpbWUoJyVhLCAlZCAl
YiAlWSAlSDolTTolUycpKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgIGYnQ2FjaGUtQ29udHJv
bDogcHVibGljLCBtYXgtYWdlPXttYXhfYWdlfVxyXG4nCisgICAgZidFeHBpcmVzOiB7ZXhwaXJl
c31cclxuJworICAgIGYnTGFzdC1Nb2RpZmllZDoge2xhc3RfbW9kaWZpZWR9XHJcblxyXG4nCisp
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVsb2FkLW1haW4tcmVzb3VyY2UtaWZy
YW1lLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc2xvdy1pZnJhbWUucGhwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Nsb3ctaWZyYW1lLnBocAkocmV2aXNp
b24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc2xv
dy1pZnJhbWUucGhwCShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi08P3BocCAKLXNsZWVw
KDEpOwotaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvaHRtbCIpOyAKLWVjaG8oIjxzY3JpcHQ+
YWxlcnQoJ1BBU1MgLSBpZnJhbWUgbG9hZGVkJyk7IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7IDwvc2NyaXB0PiIpOyAKLT8+CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zbG93LWlmcmFtZS5weQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zbG93LWlmcmFtZS5weQko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9z
bG93LWlmcmFtZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExIEBACisjIS91c3IvYmlu
L2VudiBweXRob24zCisKK2ltcG9ydCBzeXMKK2ltcG9ydCB0aW1lCisKK3RpbWUuc2xlZXAoMSkK
Kworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJc
bicKKyAgICAnPHNjcmlwdD5hbGVydChcJ1BBU1MgLSBpZnJhbWUgbG9hZGVkXCcpOyBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOyA8L3NjcmlwdD5cbicKKykK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zbG93LWlmcmFtZS5weQpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL3N0eWxlc2hlZXQzMDQtYmFkLWNvbnRlbnQtdHlwZS5waHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldDMwNC1iYWQtY29u
dGVudC10eXBlLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldDMwNC1iYWQtY29udGVudC10eXBlLnBocAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDIxICswLDAgQEAKLTw/cGhwCi1yZXF1aXJlX29uY2UgJy4uLy4uL3Jl
c291cmNlcy9wb3J0YWJpbGl0eUxheWVyLnBocCc7Ci0KLWNsZWFyc3RhdGNhY2hlKCk7Ci0KLWlm
ICgkX1NFUlZFUlsiSFRUUF9JRl9NT0RJRklFRF9TSU5DRSJdKSB7Ci0gICAgaGVhZGVyKCJIVFRQ
LzEuMCAzMDQgTm90IE1vZGlmaWVkIik7Ci0gICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQv
cGxhaW4iKTsKLSAgICBleGl0KCk7Ci19Ci0kb25lX3llYXIgPSAxMiAqIDMxICogMjQgKiA2MCAq
IDYwOwotJGxhc3RfbW9kaWZpZWQgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgLSAkb25l
X3llYXIpOwotJGV4cGlyZXMgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgKyAkb25lX3ll
YXIpOwotCi1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IHB1YmxpYywgbWF4LWFnZT0nIC4gJG9uZV95
ZWFyKTsKLWhlYWRlcignRXhwaXJlczogJyAuICRleHBpcmVzKTsKLWhlYWRlcignQ29udGVudC1U
eXBlOiB0ZXh0L2NzcycpOwotaGVhZGVyKCdFdGFnOiAxMjM0NTY3ODknKTsKLWhlYWRlcignTGFz
dC1Nb2RpZmllZDogJyAuICRsYXN0X21vZGlmaWVkKTsKLT8+Ci0jdGVzdCB7IGJhY2tncm91bmQt
Y29sb3I6IHJnYigwLCAyNTUsIDApOyB9CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0MzA0LWJhZC1jb250ZW50LXR5cGUucHkKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldDMw
NC1iYWQtY29udGVudC10eXBlLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQtYmFkLWNvbnRlbnQtdHlwZS5weQko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisK
K2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRp
bWVkZWx0YQorCittb2RpZmllZF9zaW5jZSA9IG9zLmVudmlyb24uZ2V0KCdIVFRQX0lGX01PRElG
SUVEX1NJTkNFJywgJycpCitpZiBtb2RpZmllZF9zaW5jZToKKyAgICBzeXMuc3Rkb3V0LndyaXRl
KAorICAgICAgICAnc3RhdHVzOjMwNFxyXG4nCisgICAgICAgICdDb250ZW50LVR5cGU6IHRleHQv
cGxhaW5cclxuXHJcbicKKyAgICApCisgICAgc3lzLmV4aXQoMCkKKworb25lX3llYXIgPSAxMiAq
IDMxICogMjQgKiA2MCAqIDYwCitsYXN0X21vZGlmaWVkID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRh
dGV0aW1lLnV0Y25vdygpIC0gdGltZWRlbHRhKHNlY29uZHM9b25lX3llYXIpKS5zdHJmdGltZSgn
JWEsICVkICViICVZICVIOiVNOiVTJykpCitleHBpcmVzID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRh
dGV0aW1lLnV0Y25vdygpICsgdGltZWRlbHRhKHNlY29uZHM9b25lX3llYXIpKS5zdHJmdGltZSgn
JWEsICVkICViICVZICVIOiVNOiVTJykpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgZidDYWNo
ZS1Db250cm9sOiBwdWJsaWMsIG1heC1hZ2U9e29uZV95ZWFyfVxyXG4nCisgICAgZidFeHBpcmVz
OiB7ZXhwaXJlc31cclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvY3NzXHJcbicKKyAgICAn
RXRhZzogMTIzNDU2Nzg5XHJcbicKKyAgICBmJ0xhc3QtTW9kaWZpZWQ6IHtsYXN0X21vZGlmaWVk
fVxyXG5cclxuJworICAgICcjdGVzdCB7IGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAyNTUsIDAp
OyB9JworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQtYmFk
LWNvbnRlbnQtdHlwZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCww
ICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQucGhwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQz
MDQucGhwCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9zdHlsZXNoZWV0MzA0LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDIxICswLDAg
QEAKLTw/cGhwDQotcmVxdWlyZV9vbmNlICcuLi8uLi9yZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXll
ci5waHAnOw0KLQ0KLWNsZWFyc3RhdGNhY2hlKCk7DQotDQotaWYgKCRfU0VSVkVSWyJIVFRQX0lG
X01PRElGSUVEX1NJTkNFIl0pIHsNCi0gICAgaGVhZGVyKCJIVFRQLzEuMCAzMDQgTm90IE1vZGlm
aWVkIik7DQotICAgIGV4aXQoKTsNCi19DQotJG9uZV95ZWFyID0gMTIgKiAzMSAqIDI0ICogNjAg
KiA2MDsNCi0kbGFzdF9tb2RpZmllZCA9IGdtZGF0ZShEQVRFX1JGQzExMjMsIHRpbWUoKSAtICRv
bmVfeWVhcik7DQotJGV4cGlyZXMgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgKyAkb25l
X3llYXIpOw0KLQ0KLWhlYWRlcignQ2FjaGUtQ29udHJvbDogcHVibGljLCBtYXgtYWdlPScgLiAk
b25lX3llYXIpOw0KLWhlYWRlcignRXhwaXJlczogJyAuICRleHBpcmVzKTsNCi1oZWFkZXIoJ0Nv
bnRlbnQtVHlwZTogdGV4dC9jc3MnKTsNCi1oZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoOiAwJyk7DQot
aGVhZGVyKCdFdGFnOiAxMjM0NTY3ODknKTsNCi1oZWFkZXIoJ0xhc3QtTW9kaWZpZWQ6ICcgLiAk
bGFzdF9tb2RpZmllZCk7DQotZXhpdCgpOw0KLT8+DQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldC1odG1sLnBocAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwucGhw
CShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9zdHlsZXNoZWV0LWh0bWwucGhwCShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi08
P3BocAotZWNobyAiPGxpbmsgcmVsPXN0eWxlc2hlZXQgaHJlZj0iIC4gJF9HRVRbJ3NoZWV0J10g
LiAiPiI7Ci0/PgotPGRpdiBpZD10ZXN0MT48L2Rpdj4KLTxkaXYgaWQ9dGVzdDI+PC9kaXY+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0LWh0
bWwucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvc3R5bGVzaGVldC1odG1sLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQtaHRtbC5weQkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDE0IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1w
b3J0IHN5cworZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNlX3FzCisKK3NoZWV0ID0gcGFy
c2VfcXMob3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklORycsICcnKSwga2VlcF9ibGFua192YWx1
ZXM9VHJ1ZSkuZ2V0KCdzaGVldCcsIFsnNDA0LmNzcyddKVswXQorCitzeXMuc3Rkb3V0LndyaXRl
KAorICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworICAgIGYnPGxpbmsgcmVs
PXN0eWxlc2hlZXQgaHJlZj17c2hlZXR9PicKKyAgICAnPGRpdiBpZD10ZXN0MT48L2Rpdj5cbicK
KyAgICAnPGRpdiBpZD10ZXN0Mj48L2Rpdj5cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9zdHlsZXNoZWV0LWh0bWwucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFi
bGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdmctZGVmcy12YXJ5LnBo
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9z
dmctZGVmcy12YXJ5LnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3ZnLWRlZnMtdmFyeS5waHAJKG5vbmV4aXN0ZW50KQpAQCAt
MSwxMiArMCwwIEBACi08P3BocAotaGVhZGVyKCJDb250ZW50LVR5cGU6IGltYWdlL3N2Zyt4bWwi
KTsKLWhlYWRlcigiVmFyeTogQ29va2llIik7Ci1oZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG1heC1h
Z2U9MzE1MzYwMDAiKTsKLT8+Ci08c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2
ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgotPGRlZnM+Ci08
ZyBpZD0iY2lyY2xlIj4KLTxjaXJjbGUgc3R5bGU9ImZpbGw6Z3JlZW4iIHI9IjEwIi8+Ci08L2c+
Ci08L2RlZnM+Ci08L3N2Zz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL3N2Zy1kZWZzLXZhcnkucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3ZnLWRlZnMtdmFyeS5weQkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdmctZGVmcy12YXJ5LnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTYgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKwor
aW1wb3J0IHN5cworCitzeXMuc3RvZHV0LndyaXRlKAorICAgICdDb250ZW50LVR5cGU6IGltYWdl
L3N2Zyt4bWxcclxuJworICAgICdWYXJ5OiBDb29raWVcclxuJworICAgICdDYWNoZS1Db250cm9s
OiBtYXgtYWdlPTMxNTM2MDAwXHJcblxyXG4nCisgICAgJzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu
ayI+XG4nCisgICAgJzxkZWZzPlxuJworICAgICc8ZyBpZD0iY2lyY2xlIj5cbicKKyAgICAnPGNp
cmNsZSBzdHlsZT0iZmlsbDpncmVlbiIgcj0iMTAiLz5cbicKKyAgICAnPC9nPlxuJworICAgICc8
L2RlZnM+XG4nCisgICAgJzwvc3ZnPlxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL3N2Zy1kZWZzLXZhcnkucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMg
LTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItcmVzcG9u
c2UucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25zZS5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNw
b25zZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMSArMCwwIEBACi08P3BocAotaGVhZGVyKCJW
YXJ5OiBPcmlnaW4iKTsKLWhlYWRlcigiQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0zMTUzNjAwMCIp
OwotaWYgKGlzc2V0KCRfU0VSVkVSWydIVFRQX09SSUdJTiddKSkgewotICAgIGhlYWRlcigiQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAiKTsKLSAgICBl
Y2hvICJDcm9zcyBvcmlnaW4gIjsKLX0gZWxzZSB7Ci0gICAgZWNobyAiU2FtZSBvcmlnaW4gIjsK
LX0KLT8+Ci1yZXNwb25zZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25z
ZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy94aHItdmFyeS1oZWFkZXItcmVzcG9uc2UucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXJlc3BvbnNlLnB5
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjIgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMK
KworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK29yaWdpbiA9IFRydWUgaWYgb3MuZW52aXJvbi5n
ZXQoJ0hUVFBfT1JJR0lOJywgTm9uZSkgaXMgbm90IE5vbmUgZWxzZSBGYWxzZQorCitzeXMuc3Rk
b3V0LndyaXRlKAorICAgICdWYXJ5OiBPcmlnaW5cclxuJworICAgICdDYWNoZS1Db250cm9sOiBt
YXgtYWdlPTMxNTM2MDAwXHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJwor
KQorCitpZiBvcmlnaW46CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ0FjY2Vzcy1D
b250cm9sLUFsbG93LU9yaWdpbjogaHR0cDovLzEyNy4wLjAuMTo4MDAwXHJcblxyXG4nCisgICAg
ICAgICdDcm9zcyBvcmlnaW4gJworICAgICkKK2Vsc2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgn
XHJcblNhbWUgb3JpZ2luICcpCisKK3N5cy5zdGRvdXQud3JpdGUoJ3Jlc3BvbnNlJykKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItcmVzcG9uc2UucHkKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItc3ViZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItc3Vi
ZnJhbWUuaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXN1YmZyYW1lLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTIsNyArMiw3IEBACiBmdW5jdGlvbiB0ZXN0U2FtZU9yaWdpbigpCiB7CiAgICAgdmFy
IHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKLSAgICByZXEub3BlbigiR0VUIiwgInhoci12YXJ5
LWhlYWRlci1yZXNwb25zZS5waHAiKTsKKyAgICByZXEub3BlbigiR0VUIiwgInhoci12YXJ5LWhl
YWRlci1yZXNwb25zZS5weSIpOwogICAgIHJlcS5vbmxvYWQ9ZnVuY3Rpb24oKSB7IHBhcmVudC5w
b3N0TWVzc2FnZShyZXEucmVzcG9uc2VUZXh0LCAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIikgfQog
ICAgIHJlcS5zZW5kKCk7CiB9CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
cy90b3VjaC10ZW1wLWZpbGUucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZXMvdG91Y2gtdGVtcC1maWxlLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL3RvdWNoLXRlbXAtZmlsZS5weQkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDI3IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcwor
aW1wb3J0IHN5cworaW1wb3J0IHRlbXBmaWxlCitmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFy
c2VfcXMKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5Z3dpbicpWy0xXQoraHR0cF9yb290
ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgob3MucGF0
aC5kaXJuYW1lKGZpbGUpKSkpCitzeXMucGF0aC5pbnNlcnQoMCwgaHR0cF9yb290KQorCitmaWxl
bmFtZSA9IHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAnJyksIGtlZXBf
YmxhbmtfdmFsdWVzPVRydWUpLmdldCgnZmlsZW5hbWUnLCBbJ3N0YXRlLnR4dCddKVswXQordG1w
RmlsZVBhdGggPSBvcy5wYXRoLmpvaW4odGVtcGZpbGUuZ2V0dGVtcGRpcigpLCBmaWxlbmFtZSkK
Kworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicpCisK
K3N0YXQgPSBvcy5zdGF0KHRtcEZpbGVQYXRoKQoraWYgbm90IHN0YXQ6CisgICAgc3lzLnN0ZG91
dC53cml0ZSgnRkFJTDogc3RhdCgpIGNhbGwgZmFpbGVkLlxuJykKKyAgICBzeXMuZXhpdCgwKQor
CithdGltZSA9IHN0YXQuc3RfYXRpbWUKK210aW1lID0gc3RhdC5zdF9tdGltZQordHJ5OgorICAg
IG9zLnV0aW1lKHRtcEZpbGVQYXRoLCB0aW1lcz0oYXRpbWUsIG10aW1lICsgMSkpCitleGNlcHQ6
CisgICAgc3lzLnN0ZG91dC53cml0ZSgnRkFJTDogdG91Y2goKSBjYWxsIGZhaWxlZC5cbicpClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvdG91Y2gtdGVtcC1maWxlLnB5Cl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvd3JpdGUt
dGVtcC1maWxlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VzL3dyaXRlLXRlbXAtZmlsZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlcy93cml0ZS10ZW1wLWZpbGUucHkJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwyNyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBz
eXMKK2ltcG9ydCB0ZW1wZmlsZQorZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNlX3FzCisK
K2ZpbGUgPSBfX2ZpbGVfXy5zcGxpdCgnOi9jeWd3aW4nKVstMV0KK2h0dHBfcm9vdCA9IG9zLnBh
dGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFt
ZShmaWxlKSkpKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKworcXVlcnkgPSBwYXJz
ZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVl
cz1UcnVlKQorZmlsZW5hbWUgPSBxdWVyeS5nZXQoJ2ZpbGVuYW1lJywgWydzdGF0ZS50eHQnXSlb
MF0KK2RhdGEgPSBxdWVyeS5nZXQoJ2RhdGEnLCBbJyddKVswXQorCit0bXBGaWxlID0gb3MucGF0
aC5qb2luKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwgZmlsZW5hbWUpCitzeXMuc3Rkb3V0LndyaXRl
KCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJykKKwordHJ5OgorICAgIGZpbGUgPSBv
cGVuKHRtcEZpbGUsICd3JykKKyAgICBmaWxlLndyaXRlKGRhdGEpCisgICAgZmlsZS5jbG9zZSgp
CitleGNlcHQ6CisgICAgc3lzLnN0ZG91dC53cml0ZShmJ0ZBSUw6IHVuYWJsZSB0byB3cml0ZSB0
byBmaWxlOiB7dG1wRmlsZX1cbicpCisgICAgc3lzLmV4aXQoMCkKKworc3lzLnN0ZG91dC53cml0
ZShmJ3t0bXBGaWxlfVxuJykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy93cml0ZS10ZW1wLWZp
bGUucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L2NhY2hlYWJsZS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtY3Jhc2gu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L2NhY2hlYWJsZS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtY3Jhc2guaHRtbAkocmV2aXNpb24gMjc0
MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9jYWNoZWFibGUt
Y3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWNyYXNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTYsNyAr
Niw3IEBACiBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB3ZSBkbyBub3QgY3Jhc2ggd2hlbiBYSFIg
cmV1c2VzIGEgY2FjaGVkIHJlc291cmNlIHRoYXQgY29udGFpbnMgYSBzaW1wbGUgY3Jvc3Mgb3Jp
Z2luIHJlZGlyZWN0LiIpOwoganNUZXN0SXNBc3luYyA9IHRydWU7CiAKLWNvbnN0IHVybCA9ICIv
Y2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3Q/Y29kZT0zMDImY2FjaGVfY29u
dHJvbD1wdWJsaWMsbWF4LWFnZT0xMDAwJnVybD1odHRwJTNBJTJGJTJGbG9jYWxob3N0JTNBODAw
MCUyRnNlY3VyaXR5JTJGcmVzb3VyY2VzJTJGYWxsb3ctaWYtb3JpZ2luLnB5JTNGYWxsb3dDYWNo
ZSUyNmFsbG93Q3JlZGVudGlhbHMlMjZvcmlnaW4lM0RodHRwJTI1M0ElMjUyRiUyNTJGMTI3LjAu
MC4xJTI1M0E4MDAwIjsKK2NvbnN0IHVybCA9ICIvY2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRy
b2wtcmVkaXJlY3QucGhwP2NvZGU9MzAyJmNhY2hlX2NvbnRyb2w9cHVibGljLG1heC1hZ2U9MTAw
MCZ1cmw9aHR0cCUzQSUyRiUyRmxvY2FsaG9zdCUzQTgwMDAlMkZzZWN1cml0eSUyRnJlc291cmNl
cyUyRmFsbG93LWlmLW9yaWdpbi5weSUzRmFsbG93Q2FjaGUlMjZhbGxvd0NyZWRlbnRpYWxzJTI2
b3JpZ2luJTNEaHR0cCUyNTNBJTI1MkYlMjUyRjEyNy4wLjAuMSUyNTNBODAwMCI7CiAKIHhociA9
IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogeGhyLndpdGhDcmVkZW50aWFscyA9IHRydWU7CkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjc0
MjkyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtp
bmcgY29weSkKQEAgLTIzNjgsNyArMjM2OCw3IEBAIGh0dHAvdGVzdHMvY2FjaGUvY29udGVudC10
eXBlLWlnbm9yZWQtZHUKIGh0dHAvdGVzdHMvY2FjaGUvbWFpbi1yZXNvdXJjZS0zMDQtcmVsb2Fk
Lmh0bWwgWyBGYWlsdXJlIF0KIGh0dHAvdGVzdHMvY2FjaGUvcGFydGl0aW9uZWQtY2FjaGUuaHRt
bCBbIEZhaWx1cmUgXQogaHR0cC90ZXN0cy9jYWNoZS9wYXJ0aXRpb25lZC1jYWNoZS1pZnJhbWUu
aHRtbCBbIEZhaWx1cmUgXQotaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC5waHAg
WyBGYWlsdXJlIF0gIyBFYXN5CitodHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LnB5
IFsgRmFpbHVyZSBdICMgRWFzeQogaHR0cC90ZXN0cy9jYW52YXMvY2FudmFzLXNsb3ctZm9udC1s
b2FkaW5nLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGh0dHAvdGVzdHMvY3NzL2Nzcy1pbWFn
ZS12YWx1ZWQtc2hhcGUuaHRtbCBbIEZhaWx1cmUgXQogaHR0cC90ZXN0cy9jb29raWVzL3NldC1j
b29raWUtb24tcmVkaXJlY3QuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423056</attachid>
            <date>2021-03-12 09:13:58 -0800</date>
            <delta_ts>2021-03-15 11:27:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222935-20210312091357.patch</filename>
            <type>text/plain</type>
            <size>112534</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NDM1OCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDExMyBAQAorMjAyMS0wMy0xMiAgQ2hyaXMgR2FtYnJlbGwg
IDxjZ2FtYnJlbGxAYXBwbGUuY29tPgorCisgICAgICAgIFtMYXlvdXRUZXN0c10gQ29udmVydCBo
dHRwL3Rlc3RzL2NhY2hlIGNvbnZlcnQgUEhQIHRvIFB5dGhvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyOTM1CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS83NTE4MzMxND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvY2FjaGUtcmVkaXJlY3Rpb25zLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9jYWNoZS9jYWNoZWQtbWFpbi1yZXNvdXJjZS5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvY2FjaGVkRW50cnktd2FpdHMtZm9yLXJlc3BvbnNlLXBvbGlj
eS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvY29udGVudC10eXBlLWlnbm9yZWQt
ZHVyaW5nLXJldmFsaWRhdGlvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9kaXNrLWNhY2hlLXJlZGlyZWN0LXRvLWRhdGEuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZW1vdmUtc2V2ZXJhbC1wZW5kaW5n
LXdyaXRlcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZWRp
cmVjdC1jaGFpbi1saW1pdHMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvcmVzb3VyY2VzL2pzb24ucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvanNvbi5weTogQWRkZWQuCisgICAgICAgIChzZW5k
MzA0KToKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL21h
a2Utc2hhMS1jb2xsaXNpb24ucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvbWFrZS1zaGExLWNvbGxpc2lvbi5weTogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1j
aGFpbi5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hl
L3Jlc291cmNlcy9yZWRpcmVjdC1jaGFpbi5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC10by1kYXRhLnBocDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGly
ZWN0LXRvLWRhdGEucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zaGF0dGVyZWQtZGVkdXBsaWNhdGlvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL2NhY2hlYWJsZS1yZWRpcmVj
dC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2
ZS12YWxpZGF0aW9uL2h0dHAtYXV0aC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jYWNoZWFibGUtcmVk
aXJlY3QtZnJhbWUucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jYWNoZWFibGUtcmVkaXJl
Y3QtZnJhbWUucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5waHA6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0
aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2Nzcy10by1yZXZhbGlkYXRlLnB5OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlv
bi9yZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnBocDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFs
aWRhdGlvbi9yZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnB5OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUt
dmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tY3NzLnBocDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9y
ZXNvdXJjZXMvcmVkaXJlY3QtdG8tY3NzLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVxdWVz
dC1oZWFkZXJzLXNjcmlwdC5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3JlcXVlc3QtaGVh
ZGVycy1zY3JpcHQucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgu
cGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVj
dWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucHk6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxp
ZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucGhwOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0
aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucHk6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Zh
bGlkYXRpb24tcmVxdWVzdC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvaGlzdG9y
eS1uYXZpZ2F0aW9uLW5vLXJlc291cmNlLXJldmFsaWRhdGlvbi5odG1sOgorICAgICAgICAqIGh0
dHAvdGVzdHMvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
aHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9jYWNoZS9pZnJhbWUtZGV0YWNoLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNo
ZS9saW5rLXByZWZldGNoLW1haW4tcmVzb3VyY2UtaWZyYW1lLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9jYWNoZS9saW5rLXByZWZldGNoLW1haW4tcmVzb3VyY2UuaHRtbDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL2NhY2hlL21haW4tcmVzb3VyY2UtMzA0LXJlbG9hZC5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucGhwOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucHk6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMucGhw
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1z
dWJyZXNvdXJjZXMucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVjdXJz
aXZlLXZhbGlkYXRpb24uaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3JlZGlyZWN0
LXJlZmVyZXIuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3JlbG9hZC1tYWluLXJl
c291cmNlLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3JlbG9hZC1t
YWluLXJlc291cmNlLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9ib2R5LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9ib2R5LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9jYWNoZWFibGUtaWZyYW1lLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRleHQucGhwOiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20t
dGV4dC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZy
YW1lMzA0LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9pZnJhbWUzMDQucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL2lmcmFtZTMwNGJvZHkucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL2lmcmFtZTMwNGJvZHkucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL2xvYWQtYW5kLWNoZWNrLXJlZmVyZXIucGhwOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2xvYWQtYW5kLWNoZWNrLXJlZmVy
ZXIucHk6IEFkZGVkLgorICAgICAgICAoY29udGVudFR5cGUpOgorICAgICAgICAqIGh0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5waHA6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1y
ZXNvdXJjZS1uZXh0LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnB5OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS13aXRoLXZhbGlk
YXRpb24ucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L25vLWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9uZWQtY2FjaGUtZWNoby1zdGF0ZS5waHA6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9uZWQtY2Fj
aGUtZWNoby1zdGF0ZS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNv
dXJjZXMvcGFydGl0aW9uZWQtY2FjaGUtbG9hZGVyLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvcGVybWFuZW50LXJlZGlyZWN0LnBocDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucHk6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8t
dmVyaWZ5LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9w
cmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1l
LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRj
aGVkLW1haW4tcmVzb3VyY2UucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5weTogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtcmVmZXJlci1pZnJhbWUuaHRt
bDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9yZWxvYWQtbWFpbi1yZXNv
dXJjZS1pZnJhbWUucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL3JlbG9hZC1tYWluLXJlc291cmNlLWlmcmFtZS5weTogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc2xvdy1pZnJhbWUucGhwOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Nsb3ctaWZyYW1lLnB5OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwucGhw
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hl
ZXQtaHRtbC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMv
c3R5bGVzaGVldDMwNC1iYWQtY29udGVudC10eXBlLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0MzA0LWJhZC1jb250ZW50LXR5cGUu
cHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hl
ZXQzMDQucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L3N2Zy1kZWZzLXZhcnkucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL3N2Zy1kZWZzLXZhcnkucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25zZS5waHA6IFJlbW92ZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXJlc3Bv
bnNlLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHIt
dmFyeS1oZWFkZXItc3ViZnJhbWUuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3N0
eWxlc2hlZXQtc2hhcmluZy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvdmFyeS1m
cmFtZWxlc3MtZG9jdW1lbnQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3hoci1i
b2R5Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS94aHItdmFyeS1oZWFkZXIuaHRt
bDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlcy90b3VjaC10ZW1wLWZpbGUucHk6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VzL3dyaXRlLXRlbXAtZmlsZS5weTog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9jYWNoZWFibGUtY3Jv
c3Mtb3JpZ2luLXJlZGlyZWN0LWNyYXNoLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rl
c3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDMtMTIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgogCiAgICAgICAgIE1ha2UgUlRDRGF0YUNoYW5uZWwgdHJhbnNmZXJhYmxlCkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2NhY2hlLXJlZGlyZWN0aW9ucy5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY2FjaGUtcmVkaXJlY3Rp
b25zLmh0bWwJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvY2FjaGUtcmVkaXJlY3Rpb25zLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE1LDcgKzE1LDcg
QEAgdGVzdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgY291bnRlciA9IDA7CiB2YXIgcmVzb3Vy
Y2UgPSAiTm8iOwotdmFyIGJhc2VVUkwgPSAicmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJl
Y3Q/Y29kZT0zMDImdXJsPWNhY2hlYWJsZS1yYW5kb20tdGV4dC5waHAmcmFuZG9tX2lkPTEiOwor
dmFyIGJhc2VVUkwgPSAicmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3QucGhwP2NvZGU9
MzAyJnVybD1jYWNoZWFibGUtcmFuZG9tLXRleHQucHkmcmFuZG9tX2lkPTEiOwogdmFyIHRlc3RD
YXNlcyA9IFsKIHtuYW1lIDogIlNob3VsZCByZXVzZSByZXNvdXJjZSAoY2FjaGVhYmxlIHJlZGly
ZWN0aW9uKSIsIGV4cGVjdGVkIDogdHJ1ZSwgdXJsIDogYmFzZVVSTCArICImY2FjaGVfY29udHJv
bD1wdWJsaWMsIG1heC1hZ2U9MTAwMCIsIHJlbG9hZERlbGF5IDogMH0sCiB7bmFtZSA6ICJTaG91
bGQgcmVsb2FkIHJlc291cmNlIChuby1zdG9yZSByZWRpcmVjdGlvbikiLCBleHBlY3RlZCA6IGZh
bHNlLCB1cmw6IGJhc2VVUkwgKyAiJmNhY2hlX2NvbnRyb2w9bm8tc3RvcmUmbWF4X2FnZT0xMDAw
IiwgcmVsb2FkRGVsYXkgOiAwfSwKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
Y2FjaGVkLW1haW4tcmVzb3VyY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2NhY2hlZC1tYWluLXJlc291cmNlLmh0bWwJKHJldmlzaW9uIDI3NDI5MikK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY2FjaGVkLW1haW4tcmVzb3VyY2UuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMTEsNyArMTEsNyBAQCBmdW5jdGlvbiByZW1vdmVBbmRSZWxv
YWQoKQogewogICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImlmcmFtZSIpKTsKICAgICB2YXIgbmV3SWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaWZyYW1lIik7Ci0gICAgbmV3SWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvY2FjaGVhYmxl
LWlmcmFtZS5waHAiOworICAgIG5ld0lmcmFtZS5zcmMgPSAicmVzb3VyY2VzL2NhY2hlYWJsZS1p
ZnJhbWUucHkiOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobmV3SWZyYW1lKTsKICAg
ICB2YXIgZnJvbUNhY2hlID0gaW50ZXJuYWxzLmlzTG9hZGluZ0Zyb21NZW1vcnlDYWNoZShuZXdJ
ZnJhbWUuc3JjKTsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZnJvbUNhY2hlID8gIlBBU1MiIDogIkZBSUwi
KSk7CkBAIC0xOSw2ICsxOSw2IEBAIGZ1bmN0aW9uIHJlbW92ZUFuZFJlbG9hZCgpCiAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfQogPC9zY3JpcHQ+Ci08aWZyYW1lIGlkPSJpZnJh
bWUiIHNyYz0icmVzb3VyY2VzL2NhY2hlYWJsZS1pZnJhbWUucGhwIj48L2lmcmFtZT4KKzxpZnJh
bWUgaWQ9ImlmcmFtZSIgc3JjPSJyZXNvdXJjZXMvY2FjaGVhYmxlLWlmcmFtZS5weSI+PC9pZnJh
bWU+CiA8L2JvZHk+CiA8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2NhY2hlZEVudHJ5LXdhaXRzLWZvci1yZXNwb25zZS1wb2xpY3kuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2NhY2hlZEVudHJ5LXdhaXRzLWZvci1yZXNw
b25zZS1wb2xpY3kuaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9jYWNoZWRFbnRyeS13YWl0cy1mb3ItcmVzcG9uc2UtcG9saWN5Lmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTIwLDEwICsyMCwxMCBAQCBmdW5jdGlvbiBjcmVhdGVGcmFtZSh1cmwp
IHsKICAgICB9KTsKIH0KIAotY3JlYXRlRnJhbWUoIi9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxl
LXJhbmRvbS10ZXh0LnBocCIpLnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsKK2NyZWF0ZUZyYW1lKCIv
Y2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5weSIpLnRoZW4oZnVuY3Rpb24o
ZnJhbWUpIHsKICAgICBmcmFtZS5yZW1vdmUoKTsKICAgICBpbnRlcm5hbHMuY2xlYXJNZW1vcnlD
YWNoZSgpOwotICAgIGNyZWF0ZUZyYW1lKCIvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5k
b20tdGV4dC5waHAiKS50aGVuKGZ1bmN0aW9uKGZyYW1lKSB7CisgICAgY3JlYXRlRnJhbWUoIi9j
YWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLXJhbmRvbS10ZXh0LnB5IikudGhlbihmdW5jdGlvbihm
cmFtZSkgewogICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICB9KTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvY29udGVudC10eXBlLWlnbm9yZWQtZHVyaW5nLXJldmFsaWRhdGlvbi5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY29udGVudC10eXBlLWln
bm9yZWQtZHVyaW5nLXJldmFsaWRhdGlvbi5odG1sCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2NvbnRlbnQtdHlwZS1pZ25vcmVkLWR1cmluZy1yZXZh
bGlkYXRpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw3ICsxLDcgQEAKIDwhRE9DVFlQRSBo
dG1sPgogPGh0bWw+CiA8aGVhZD4KLSAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJl
c291cmNlcy9zdHlsZXNoZWV0MzA0LWJhZC1jb250ZW50LXR5cGUucGhwIj4KKyAgICA8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9zdHlsZXNoZWV0MzA0LWJhZC1jb250ZW50
LXR5cGUucHkiPgogPC9oZWFkPgogPGJvZHk+CiAgICAgPGRpdiBpZD0idGVzdCI+VGhpcyBkaXYg
c2hvdWxkIGhhdmUgYSBncmVlbiBiYWNrZ3JvdW5kLjwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9oaXN0b3J5LW5hdmlnYXRpb24tbm8tcmVzb3VyY2UtcmV2YWxpZGF0
aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9oaXN0
b3J5LW5hdmlnYXRpb24tbm8tcmVzb3VyY2UtcmV2YWxpZGF0aW9uLmh0bWwJKHJldmlzaW9uIDI3
NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvaGlzdG9yeS1uYXZpZ2F0aW9u
LW5vLXJlc291cmNlLXJldmFsaWRhdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC03Myw3ICs3
Myw3IEBACiAKICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewogICAgICAgICAvLyBPcGVuIHRoZSB0
YXJnZXQgd2luZG93IGFuZCBpdCB3aWxsIGJlZ2luIHRvIHNlbmQgdXMgbWVzc2FnZXMuCi0gICAg
ICAgIHRhcmdldCA9IHdpbmRvdy5vcGVuKCdodHRwczovLzEyNy4wLjAuMTo4NDQzL2NhY2hlL3Jl
c291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnBocCcpOworICAgICAgICB0YXJnZXQgPSB3
aW5kb3cub3BlbignaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My9jYWNoZS9yZXNvdXJjZXMvbm8tY2Fj
aGUtbWFpbi1yZXNvdXJjZS5weScpOwogICAgIH0KICAgICA8L3NjcmlwdD4KICAgICA8c2NyaXB0
IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2lmcmFtZS0zMDQtY3Jhc2gtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvaWZyYW1lLTMw
NC1jcmFzaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsOCArMSw4IEBACi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2Vz
L2lmcmFtZTMwNC5waHAgLSB3aWxsU2VuZFJlcXVlc3QgPE5TVVJMUmVxdWVzdCBVUkwgaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucGhwLCBtYWluIGRvY3Vt
ZW50IFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC5odG1s
LCBodHRwIG1ldGhvZCBHRVQ+IHJlZGlyZWN0UmVzcG9uc2UgKG51bGwpCitodHRwOi8vMTI3LjAu
MC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5weSAtIHdpbGxTZW5kUmVxdWVzdCA8
TlNVUkxSZXF1ZXN0IFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lm
cmFtZTMwNC5weSwgbWFpbiBkb2N1bWVudCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hl
L2lmcmFtZS0zMDQtY3Jhc2guaHRtbCwgaHR0cCBtZXRob2QgR0VUPiByZWRpcmVjdFJlc3BvbnNl
IChudWxsKQogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL2lmcmFtZS0zMDQtY3Jhc2guaHRt
bCAtIGRpZEZpbmlzaExvYWRpbmcKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJj
ZXMvaWZyYW1lMzA0LnBocCAtIGRpZFJlY2VpdmVSZXNwb25zZSA8TlNVUkxSZXNwb25zZSBodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAsIGh0dHAgc3Rh
dHVzIGNvZGUgMjAwPgotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJh
bWUzMDQucGhwIC0gZGlkRmluaXNoTG9hZGluZwotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hl
L3Jlc291cmNlcy9pZnJhbWUzMDQucGhwIC0gd2lsbFNlbmRSZXF1ZXN0IDxOU1VSTFJlcXVlc3Qg
VVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBocCwg
bWFpbiBkb2N1bWVudCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL2lmcmFtZS0zMDQt
Y3Jhc2guaHRtbCwgaHR0cCBtZXRob2QgR0VUPiByZWRpcmVjdFJlc3BvbnNlIChudWxsKQotaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucGhwIC0gZGlkUmVj
ZWl2ZVJlc3BvbnNlIDxOU1VSTFJlc3BvbnNlIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9y
ZXNvdXJjZXMvaWZyYW1lMzA0LnBocCwgaHR0cCBzdGF0dXMgY29kZSAzMDQ+Ci1odHRwOi8vMTI3
LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAgLSBkaWRGaW5pc2hMb2Fk
aW5nCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5weSAt
IGRpZFJlY2VpdmVSZXNwb25zZSA8TlNVUkxSZXNwb25zZSBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
Y2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5weSwgaHR0cCBzdGF0dXMgY29kZSAyMDA+CitodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5weSAtIGRpZEZpbmlz
aExvYWRpbmcKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0
LnB5IC0gd2lsbFNlbmRSZXF1ZXN0IDxOU1VSTFJlcXVlc3QgVVJMIGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5LCBtYWluIGRvY3VtZW50IFVSTCBodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC5odG1sLCBodHRwIG1ldGhv
ZCBHRVQ+IHJlZGlyZWN0UmVzcG9uc2UgKG51bGwpCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2Fj
aGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5weSAtIGRpZFJlY2VpdmVSZXNwb25zZSA8TlNVUkxSZXNw
b25zZSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5weSwg
aHR0cCBzdGF0dXMgY29kZSAzMDQ+CitodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3Vy
Y2VzL2lmcmFtZTMwNC5weSAtIGRpZEZpbmlzaExvYWRpbmcKIApJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWwJKHJldmlzaW9u
IDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvaWZyYW1lLTMwNC1jcmFz
aC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMCw3ICsxMCw3IEBAIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewogZnVuY3Rpb24gcmVtb3ZlQW5kUmVwbGFjZUlmcmFtZSgpIHsKICAgICBkb2N1bWVu
dC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZnJhbWUiKSk7CiAg
ICAgdmFyIG5ld0lmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAg
IG5ld0lmcmFtZS5zcmMgPSAicmVzb3VyY2VzL2lmcmFtZTMwNC5waHAiOworICAgIG5ld0lmcmFt
ZS5zcmMgPSAicmVzb3VyY2VzL2lmcmFtZTMwNC5weSI7CiAgICAgbmV3SWZyYW1lLm9ubG9hZCA9
IGZ1bmN0aW9uKCkgeyBzZXRUaW1lb3V0KGZpbmlzaCwgMCk7IH0KICAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKG5ld0lmcmFtZSk7CiB9CkBAIC0yMiw2ICsyMiw2IEBAIGZ1bmN0aW9uIGZp
bmlzaCgpIHsKIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KHJl
bW92ZUFuZFJlcGxhY2VJZnJhbWUsIDApIj4KLTxpZnJhbWUgaWQ9ImlmcmFtZSIgc3JjPSJyZXNv
dXJjZXMvaWZyYW1lMzA0LnBocCI+PC9pZnJhbWU+Cis8aWZyYW1lIGlkPSJpZnJhbWUiIHNyYz0i
cmVzb3VyY2VzL2lmcmFtZTMwNC5weSI+PC9pZnJhbWU+CiA8L2JvZHk+CiA8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2lmcmFtZS1kZXRhY2guaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2lmcmFtZS1kZXRhY2guaHRtbAko
cmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUt
ZGV0YWNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNyArMSw3IEBACiA8aHRtbD4KIDxib2R5
PgogPGRpdiBpZD0ic2hhZG93Ij4KLTxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvc2xvdy1pZnJhbWUu
cGhwIj48L2lmcmFtZT4KKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvc2xvdy1pZnJhbWUucHkiPjwv
aWZyYW1lPgogPC9kaXY+CiAKIDxkaXYgaWQ9ImVtcHR5Ij48L2Rpdj4KSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvbGluay1wcmVmZXRjaC1tYWluLXJlc291cmNlLWlmcmFtZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvbGluay1wcmVm
ZXRjaC1tYWluLXJlc291cmNlLWlmcmFtZS5odG1sCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2xpbmstcHJlZmV0Y2gtbWFpbi1yZXNvdXJjZS1pZnJh
bWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjIsNyArMjIsNyBAQCBmdW5jdGlvbiBpZnJhbWVM
b2FkRmluaXNoZWQoKQogZnVuY3Rpb24gbG9hZEFmdGVyUHJlZmV0Y2goKQogewogICAgIHZhciBu
ZXdJZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBuZXdJZnJh
bWUuc3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hl
ZC1tYWluLXJlc291cmNlLWlmcmFtZS5waHAiOworICAgIG5ld0lmcmFtZS5zcmMgPSAiaHR0cDov
L2xvY2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2Ut
aWZyYW1lLnB5IjsKICAgICBuZXdJZnJhbWUub25sb2FkID0gaWZyYW1lTG9hZEZpbmlzaGVkOwog
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobmV3SWZyYW1lKTsKIH0KQEAgLTM1LDcgKzM1
LDcgQEAgd2luZG93Lm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2UpCiBmdW5jdGlvbiBydW5U
ZXN0KCkgewogICAgIHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpOwog
ICAgIGxpbmsucmVsID0gInByZWZldGNoIjsKLSAgICBsaW5rLmhyZWYgPSAiaHR0cDovL2xvY2Fs
aG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1l
LnBocCI7CisgICAgbGluay5ocmVmID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNv
dXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLWlmcmFtZS5weSI7CiAgICAgaWYgKGludGVy
bmFscykKICAgICAgICAgaW50ZXJuYWxzLmFkZFByZWZldGNoTG9hZEV2ZW50TGlzdGVuZXIobGlu
aywgKCkgPT4geyBsb2FkQWZ0ZXJQcmVmZXRjaCgpOyB9KTsKICAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGxpbmspOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9saW5r
LXByZWZldGNoLW1haW4tcmVzb3VyY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL2xpbmstcHJlZmV0Y2gtbWFpbi1yZXNvdXJjZS5odG1sCShyZXZpc2lv
biAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2xpbmstcHJlZmV0Y2gt
bWFpbi1yZXNvdXJjZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC03LDEzICs3LDEzIEBAIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewogCiBmdW5jdGlvbiBsb2FkQWZ0ZXJQcmVmZXRjaCgpCiB7Ci0g
ICAgIHdpbmRvdy5sb2NhdGlvbi5hc3NpZ24oJ2h0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9y
ZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLnBocCcpOworICAgICB3aW5kb3cubG9j
YXRpb24uYXNzaWduKCdodHRwOi8vbG9jYWxob3N0OjgwMDAvY2FjaGUvcmVzb3VyY2VzL3ByZWZl
dGNoZWQtbWFpbi1yZXNvdXJjZS5weScpOwogfQogCiBmdW5jdGlvbiBydW5UZXN0KCkgewogICAg
IHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpOwogICAgIGxpbmsucmVs
ID0gInByZWZldGNoIjsKLSAgICBsaW5rLmhyZWYgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nh
Y2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UucGhwIjsKKyAgICBsaW5rLmhy
ZWYgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1h
aW4tcmVzb3VyY2UucHkiOwogICAgIGlmIChpbnRlcm5hbHMpCiAgICAgICAgIGludGVybmFscy5h
ZGRQcmVmZXRjaExvYWRFdmVudExpc3RlbmVyKGxpbmssICgpID0+IHsgbG9hZEFmdGVyUHJlZmV0
Y2goKTsgfSk7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTsKSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvbWFpbi1yZXNvdXJjZS0zMDQtcmVsb2FkLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9tYWluLXJlc291cmNl
LTMwNC1yZWxvYWQuaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9tYWluLXJlc291cmNlLTMwNC1yZWxvYWQuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMTEsNyArMTEsNyBAQCBmdW5jdGlvbiBsb2FkRnJhbWUob25sb2FkKQogICAgIGlmIChpZnJh
bWUpCiAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoaWZyYW1lKTsKICAgICBpZnJh
bWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBpZnJhbWUuc3JjID0g
InJlc291cmNlcy9pZnJhbWUzMDRib2R5LnBocCI7CisgICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJj
ZXMvaWZyYW1lMzA0Ym9keS5weSI7CiAgICAgaWZyYW1lLm9ubG9hZCA9IG9ubG9hZDsKICAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7CiB9CkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LnBocAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LnBocAkocmV2aXNpb24g
Mjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdl
dC5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw2MCArMCwwIEBACi08P3BocAotcmVxdWlyZV9vbmNl
ICcuLi9yZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXllci5waHAnOwotCi0vLyBUaGlzIHRlc3QgbG9h
ZHMgYW4gdW5jYWNoZWFibGUgbWFpbiByZXNvdXJjZSBhbmQgYSBjYWNoZWFibGUgaW1hZ2Ugc3Vi
cmVzb3VyY2UuCi0vLyBXZSB0aGVuIHRyaWdnZXIgYSBQT1NUIHJlcXVlc3QsIHdoaWNoIHJlZGly
ZWN0cyBhcyBhIEdFVCBiYWNrIHRvIHRoaXMgcGFnZS4KLS8vIE9uIHRoaXMgR0VUIHJlcXVlc3Qs
IHRoZSBpbWFnZSBzaG91bGQgYmUgbG9hZGVkIGZyb20gdGhlIGNhY2hlIGFuZCBubyBIVFRQCi0v
LyByZXF1ZXN0IHNob3VsZCBiZSBzZW50LiBUaGUgaW1hZ2UgcmVzb3VyY2Ugd2lsbCByZXR1cm4g
NDA0IGlmIGl0IHJlY2VpdmVzCi0vLyBhIHNlY29uZCByZXF1ZXN0LCB3aGljaCB3aWxsIGNhdXNl
IHVzIHRvIEZBSUwuCi0vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM4NjkwCi1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBuby1zdG9yZSwgbXVz
dC1yZXZhbGlkYXRlLCBtYXgtYWdlPTAnKTsKLWhlYWRlcignUHJhZ21hOiBuby1jYWNoZScpOwot
aGVhZGVyKCdFeHBpcmVzOiAnIC4gZ21kYXRlKERBVEVfUkZDMTEyMywgdGltZSgpLTEpKTsKLQot
aWYgKCRfUE9TVFsic3VibWl0Il0gPT0gInJlZGlyZWN0IikgewotICAgIGhlYWRlcignSFRUUC8x
LjEgMzAyIEZvdW5kJyk7Ci0gICAgaGVhZGVyKCdMb2NhdGlvbjogcG9zdC1yZWRpcmVjdC1nZXQu
cGhwP2ZpbmlzaD10cnVlJyk7Ci0gICAgZXhpdCgpOwotfQotPz4KLTxodG1sPgotPGJvZHk+Ci08
ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwotfQotICAgIAotZnVuY3Rpb24gbG9nQW5kRmluaXNoKG1lc3NhZ2UpCi17Ci0gICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZVRleHROb2RlKG1lc3NhZ2UpKTsKLSAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0
OwotICAgIHhoci5vcGVuKCJHRVQiLCAiLi4vcmVzb3VyY2VzL3Jlc2V0LXRlbXAtZmlsZS5waHA/
ZmlsZW5hbWU9Y2FjaGVfcG9zdC1yZWRpcmVjdC1nZXRfc3RhdGUiLCBmYWxzZSk7Ci0gICAgeGhy
LnNlbmQobnVsbCk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKLX0KLTwvc2NyaXB0PgotPD9waHAKLWNsZWFyc3RhdGNhY2hlKCk7
Ci1pZiAoJF9HRVRbImZpbmlzaCJdID09ICJ0cnVlIikgewotICAgIC8vIFRoZSBpbml0aWFsIGxv
YWQgb2YgdGhlIGltYWdlIG1pZ2h0IGhhdmUgYmVlbiBkb25lIGZyb20gdGhlIGNhY2hlLiBJbiB0
aGF0IGNhc2UsIHRvdWNoIHRoZQotICAgIC8vIHN0YXRlIGZpbGUgdG8gaW5kaWNhdGUgYSBsb2Fk
IGhhcyBhbHJlYWR5IG9jY3VycmVkLgotICAgIGlmICghZmlsZV9leGlzdHMoc3lzX2dldF90ZW1w
X2RpcigpIC4gIi9jYWNoZV9wb3N0LXJlZGlyZWN0LWdldF9zdGF0ZSIpKSB7Ci0gICAgICAgIGVj
aG8gIjxzY3JpcHQ+IjsKLSAgICAgICAgZWNobyAieGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0OyI7
Ci0gICAgICAgIGVjaG8gInhoci5vcGVuKCdHRVQnLCAnLi4vcmVzb3VyY2VzL3RvdWNoLXRlbXAt
ZmlsZS5waHA/ZmlsZW5hbWU9Y2FjaGVfcG9zdC1yZWRpcmVjdC1nZXRfc3RhdGUnLCBmYWxzZSk7
IjsKLSAgICAgICAgZWNobyAieGhyLnNlbmQobnVsbCk7IjsKLSAgICAgICAgZWNobyAiPC9zY3Jp
cHQ+IjsKLSAgICB9Ci0gICAgZWNobyAiPGltZyBzcmM9J3Jlc291cmNlcy9wb3N0LWltYWdlLXRv
LXZlcmlmeS5waHA/dGVzdD1jYWNoZV9wb3N0LXJlZGlyZWN0LWdldCcgb25sb2FkPVwibG9nQW5k
RmluaXNoKCdQQVNTJyk7XCIgb25lcnJvcj1cImxvZ0FuZEZpbmlzaCgnRkFJTCcpO1wiPjwvaW1n
PiI7Ci19IGVsc2UgewotICAgIGVjaG8gIjxmb3JtIGFjdGlvbj0ncG9zdC1yZWRpcmVjdC1nZXQu
cGhwJyBtZXRob2Q9J3Bvc3QnPiI7Ci0gICAgZWNobyAiPGlucHV0IHR5cGU9J3N1Ym1pdCcgaWQ9
J3N1Ym1pdCcgbmFtZT0nc3VibWl0JyB2YWx1ZT0ncmVkaXJlY3QnPiI7Ci0gICAgZWNobyAiPC9m
b3JtPiI7Ci0gICAgZWNobyAiPGltZyBzcmM9J3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlm
eS5waHA/dGVzdD1jYWNoZV9wb3N0LXJlZGlyZWN0LWdldCcgb25sb2FkPVwiZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3N1Ym1pdCcpLmNsaWNrKCk7XCIgb25lcnJvcj1cImxvZ0FuZEZpbmlzaCgn
RkFJTCBvbiBpbml0aWFsIGxvYWQnKTtcIj48L2ltZz4iOwotfSAKLT8+Ci08L2JvZHk+Ci08L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0
LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRp
cmVjdC1nZXQucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9wb3N0LXJlZGlyZWN0LWdldC5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDgzIEBACisj
IS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBjZ2kKK2ltcG9ydCBvcworaW1wb3J0IHN5
cworaW1wb3J0IHRlbXBmaWxlCitmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZSwgdGltZWRl
bHRhCitmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMKKworZmlsZSA9IF9fZmlsZV9f
LnNwbGl0KCc6L2N5Z3dpbicpWy0xXQoraHR0cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBh
dGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1lKGZpbGUpKSkpCitzeXMu
cGF0aC5pbnNlcnQoMCwgaHR0cF9yb290KQorCityZXF1ZXN0X21ldGhvZCA9IG9zLmVudmlyb24u
Z2V0KCdSRVFVRVNUX01FVEhPRCcsICcnKQorZXhwaXJlcyA9ICd7fSArMDAwMCcuZm9ybWF0KChk
YXRldGltZS51dGNub3coKSAtIHRpbWVkZWx0YShzZWNvbmRzPTEpKS5zdHJmdGltZSgnJWEsICVk
ICViICVZICVIOiVNOiVTJykpCitmaW5pc2ggPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVF
UllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKS5nZXQoJ2ZpbmlzaCcsIFsn
J10pWzBdCisKK3JlcXVlc3QgPSB7fQoraWYgcmVxdWVzdF9tZXRob2QgPT0gJ1BPU1QnOgorICAg
IGZvcm0gPSBjZ2kuRmllbGRTdG9yYWdlKCkKKyAgICBmb3Iga2V5IGluIHNvcnRlZChmb3JtLmtl
eXMoKSk6CisgICAgICAgIHJlcXVlc3Rba2V5XSA9IGZvcm0uZ2V0dmFsdWUoa2V5KQorCitzeXMu
c3Rkb3V0LndyaXRlKAorICAgICdDYWNoZS1Db250cm9sOiBuby1jYWNoZSwgbm8tc3RvcmUsIG11
c3QtcmV2YWxpZGF0ZSwgbWF4LWFnZT0wXHJcbicKKyAgICAnUHJhZ21hOiBuby1jYWNoZVxyXG4n
CisgICAgZidFeHBpcmVzOiB7ZXhwaXJlc31cclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQv
aHRtbFxyXG4nCispCisKK2lmIHJlcXVlc3QuZ2V0KCdzdWJtaXQnLCAnJykgPT0gJ3JlZGlyZWN0
JzoKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnc3RhdHVzOiAzMDJcclxuJworICAg
ICAgICAnTG9jYXRpb246IHBvc3QtcmVkaXJlY3QtZ2V0LnB5P2ZpbmlzaD10cnVlXHJcblxyXG4n
CisgICAgKQorICAgIHN5cy5leGl0KDApCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ1xyXG4n
CisgICAgJzxodG1sPlxyXG4nCisgICAgJzxib2R5PlxyXG4nCisgICAgJzxkaXYgaWQ9InJlc3Vs
dCI+PC9kaXY+XHJcbicKKyAgICAnPHNjcmlwdD5cclxuJworICAgICdpZiAod2luZG93LnRlc3RS
dW5uZXIpIHtcclxuJworICAgICcgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7XHJcbicKKyAg
ICAnICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpO1xyXG4nCisgICAgJ31cclxuJworICAg
ICcgICAgXHJcbicKKyAgICAnZnVuY3Rpb24gbG9nQW5kRmluaXNoKG1lc3NhZ2UpXHJcbicKKyAg
ICAne1xyXG4nCisgICAgJyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobWVzc2FnZSkpO1xyXG4nCisgICAgJyAg
ICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0O1xyXG4nCisgICAgJyAgICB4aHIub3Blbigi
R0VUIiwgIi4uL3Jlc291cmNlcy9yZXNldC10ZW1wLWZpbGUucHk/ZmlsZW5hbWU9Y2FjaGVfcG9z
dC1yZWRpcmVjdC1nZXRfc3RhdGUiLCBmYWxzZSk7XHJcbicKKyAgICAnICAgIHhoci5zZW5kKG51
bGwpO1xyXG4nCisgICAgJyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpXHJcbicKKyAgICAnICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTtcclxuJworICAgICd9XHJcbicKKyAgICAnPC9z
Y3JpcHQ+XHJcbicKKykKKworaWYgZmluaXNoID09ICd0cnVlJzoKKyAgICB0bXBGaWxlID0gb3Mu
cGF0aC5qb2luKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwgJ2NhY2hlX3Bvc3QtcmVkaXJlY3QtZ2V0
X3N0YXRlJykKKyAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUodG1wRmlsZSk6CisgICAgICAgIHN5
cy5zdGRvdXQud3JpdGUoCisgICAgICAgICAgICAnPHNjcmlwdD4nCisgICAgICAgICAgICAneGhy
ID0gbmV3IFhNTEh0dHBSZXF1ZXN0OycKKyAgICAgICAgICAgICd4aHIub3BlbihcJ0dFVFwnLCBc
Jy4uL3Jlc291cmNlcy90b3VjaC10ZW1wLWZpbGUucHk/ZmlsZW5hbWU9Y2FjaGVfcG9zdC1yZWRp
cmVjdC1nZXRfc3RhdGVcJywgZmFsc2UpOycKKyAgICAgICAgICAgICd4aHIuc2VuZChudWxsKTsn
CisgICAgICAgICAgICAnPC9zY3JpcHQ+JworICAgICAgICApCisgICAgc3lzLnN0ZG91dC53cml0
ZSgnPGltZyBzcmM9XCdyZXNvdXJjZXMvcG9zdC1pbWFnZS10by12ZXJpZnkucHk/dGVzdD1jYWNo
ZV9wb3N0LXJlZGlyZWN0LWdldFwnIG9ubG9hZD0ibG9nQW5kRmluaXNoKFwnUEFTU1wnKTsiIG9u
ZXJyb3I9ImxvZ0FuZEZpbmlzaChcJ0ZBSUxcJyk7Ij48L2ltZz4nKQorZWxzZToKKyAgICBzeXMu
c3Rkb3V0LndyaXRlKAorICAgICAgICAnPGZvcm0gYWN0aW9uPVwncG9zdC1yZWRpcmVjdC1nZXQu
cHlcJyBtZXRob2Q9XCdwb3N0XCc+JworICAgICAgICAnPGlucHV0IHR5cGU9XCdzdWJtaXRcJyBp
ZD1cJ3N1Ym1pdFwnIG5hbWU9XCdzdWJtaXRcJyB2YWx1ZT1cJ3JlZGlyZWN0XCc+JworICAgICAg
ICAnPC9mb3JtPicKKyAgICAgICAgJzxpbWcgc3JjPVwncmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8t
dmVyaWZ5LnB5P3Rlc3Q9Y2FjaGVfcG9zdC1yZWRpcmVjdC1nZXRcJyBvbmxvYWQ9ImRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKFwnc3VibWl0XCcpLmNsaWNrKCk7IiBvbmVycm9yPSJsb2dBbmRGaW5p
c2goXCdGQUlMIG9uIGluaXRpYWwgbG9hZFwnKTsiPjwvaW1nPicKKyAgICApCisKK3N5cy5zdGRv
dXQud3JpdGUoCisgICAgJzwvYm9keT5cbicKKyAgICAnPC9odG1sPlxuJworKQpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucHkKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4
ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3Vi
cmVzb3VyY2VzLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNl
cy5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw1NCArMCwwIEBACi08P3BocAotcmVxdWlyZV9vbmNl
ICcuLi9yZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXllci5waHAnOwotCi0vLyBUaGlzIHRlc3QgbG9h
ZHMgYW4gdW5jYWNoZWFibGUgbWFpbiByZXNvdXJjZSBhbmQgYSBjYWNoZWFibGUgaW1hZ2Ugc3Vi
cmVzb3VyY2UuCi0vLyBXZSByZXF1ZXN0IHRoaXMgcGFnZSBhcyBhIEdFVCwgdGhlbiByZWxvYWQg
dGhpcyBwYWdlIHdpdGggYSBQT1NULgotLy8gT24gdGhlIHBvc3QgcmVxdWVzdCwgdGhlIGltYWdl
IHNob3VsZCBiZSBsb2FkZWQgZnJvbSB0aGUgY2FjaGUgYW5kIG5vIEhUVFAKLS8vIHJlcXVlc3Qg
c2hvdWxkIGJlIHNlbnQuIFRoZSBpbWFnZSByZXNvdXJjZSB3aWxsIHJldHVybiA0MDQgaWYgaXQg
cmVjZWl2ZXMKLS8vIGEgc2Vjb25kIHJlcXVlc3QsIHdoaWNoIHdpbGwgY2F1c2UgdXMgdG8gRkFJ
TC4KLS8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg2OTAK
LWhlYWRlcignQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUsIG5vLXN0b3JlLCBtdXN0LXJldmFsaWRh
dGUsIG1heC1hZ2U9MCcpOwotaGVhZGVyKCdQcmFnbWE6IG5vLWNhY2hlJyk7Ci1oZWFkZXIoJ0V4
cGlyZXM6ICcgLiBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCktMSkpOwotPz4KLTxodG1sPgot
PGJvZHk+Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwotfQotICAgIAotZnVuY3Rpb24gbG9nQW5kRmluaXNoKG1lc3NhZ2Up
Ci17Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2UpKTsKLSAgICB2YXIgeGhyID0gbmV3IFhNTEh0
dHBSZXF1ZXN0OwotICAgIHhoci5vcGVuKCJHRVQiLCAiLi4vcmVzb3VyY2VzL3Jlc2V0LXRlbXAt
ZmlsZS5waHA/ZmlsZW5hbWU9Y2FjaGVfcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXNfc3Rh
dGUiLCBmYWxzZSk7Ci0gICAgeGhyLnNlbmQobnVsbCk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0KLTwvc2NyaXB0PgotPD9w
aHAKLWNsZWFyc3RhdGNhY2hlKCk7Ci1pZiAoJF9QT1NUWyJzdWJtaXQiXSA9PSAiZmluaXNoIikg
ewotICAgIC8vIFRoZSBpbml0aWFsIGxvYWQgb2YgdGhlIGltYWdlIG1pZ2h0IGhhdmUgYmVlbiBk
b25lIGZyb20gdGhlIGNhY2hlLiBJbiB0aGF0IGNhc2UsIHRvdWNoIHRoZQotICAgIC8vIHN0YXRl
IGZpbGUgdG8gaW5kaWNhdGUgYSBsb2FkIGhhcyBhbHJlYWR5IG9jY3VycmVkLgotICAgIGlmICgh
ZmlsZV9leGlzdHMoc3lzX2dldF90ZW1wX2RpcigpIC4gIi9jYWNoZV9wb3N0LXdpdGgtY2FjaGVk
LXN1YnJlc291cmNlc19zdGF0ZSIpKSB7Ci0gICAgICAgIGVjaG8gIjxzY3JpcHQ+IjsKLSAgICAg
ICAgZWNobyAieGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0OyI7Ci0gICAgICAgIGVjaG8gInhoci5v
cGVuKCdHRVQnLCAnLi4vcmVzb3VyY2VzL3RvdWNoLXRlbXAtZmlsZS5waHA/ZmlsZW5hbWU9Y2Fj
aGVfcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXNfc3RhdGUnLCBmYWxzZSk7IjsKLSAgICAg
ICAgZWNobyAieGhyLnNlbmQobnVsbCk7IjsKLSAgICAgICAgZWNobyAiPC9zY3JpcHQ+IjsKLSAg
ICB9Ci0gICAgZWNobyAiPGltZyBzcmM9J3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5w
aHA/dGVzdD1jYWNoZV9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcycgb25sb2FkPVwibG9n
QW5kRmluaXNoKCdQQVNTJyk7XCIgb25lcnJvcj1cImxvZ0FuZEZpbmlzaCgnRkFJTCcpO1wiPjwv
aW1nPiI7Ci19IGVsc2UgewotICAgIGVjaG8gIjxmb3JtIGFjdGlvbj0ncG9zdC13aXRoLWNhY2hl
ZC1zdWJyZXNvdXJjZXMucGhwJyBtZXRob2Q9J3Bvc3QnPiI7Ci0gICAgZWNobyAiPGlucHV0IHR5
cGU9J3N1Ym1pdCcgaWQ9J3N1Ym1pdCcgbmFtZT0nc3VibWl0JyB2YWx1ZT0nZmluaXNoJz4iOwot
ICAgIGVjaG8gIjwvZm9ybT4iOwotICAgIGVjaG8gIjxpbWcgc3JjPSdyZXNvdXJjZXMvcG9zdC1p
bWFnZS10by12ZXJpZnkucGhwP3Rlc3Q9Y2FjaGVfcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJj
ZXMnIG9ubG9hZD1cImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdWJtaXQnKS5jbGljaygpO1wi
IG9uZXJyb3I9XCJsb2dBbmRGaW5pc2goJ0ZBSUwgb24gaW5pdGlhbCBsb2FkJyk7XCI+PC9pbWc+
IjsKLX0gCi0/PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy5weQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2Vz
LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13
aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4MSBA
QAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgY2dpCitpbXBvcnQgb3MKK2ltcG9y
dCBzeXMKK2ltcG9ydCB0ZW1wZmlsZQorZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRp
bWVkZWx0YQorCisjIFRoaXMgdGVzdCBsb2FkcyBhbiB1bmNhY2hlYWJsZSBtYWluIHJlc291cmNl
IGFuZCBhIGNhY2hlYWJsZSBpbWFnZSBzdWJyZXNvdXJjZS4KKyMgV2UgcmVxdWVzdCB0aGlzIHBh
Z2UgYXMgYSBHRVQsIHRoZW4gcmVsb2FkIHRoaXMgcGFnZSB3aXRoIGEgUE9TVC4KKyMgT24gdGhl
IHBvc3QgcmVxdWVzdCwgdGhlIGltYWdlIHNob3VsZCBiZSBsb2FkZWQgZnJvbSB0aGUgY2FjaGUg
YW5kIG5vIEhUVFAKKyMgcmVxdWVzdCBzaG91bGQgYmUgc2VudC4gVGhlIGltYWdlIHJlc291cmNl
IHdpbGwgcmV0dXJuIDQwNCBpZiBpdCByZWNlaXZlcworIyBhIHNlY29uZCByZXF1ZXN0LCB3aGlj
aCB3aWxsIGNhdXNlIHVzIHRvIEZBSUwuCisjIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Mzg2OTAKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5Z3dpbicp
Wy0xXQoraHR0cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRo
LmFic3BhdGgob3MucGF0aC5kaXJuYW1lKGZpbGUpKSkpCitzeXMucGF0aC5pbnNlcnQoMCwgaHR0
cF9yb290KQorCityZXF1ZXN0X21ldGhvZCA9IG9zLmVudmlyb24uZ2V0KCdSRVFVRVNUX01FVEhP
RCcsICcnKQorZXhwX3RpbWUgPSBkYXRldGltZS51dGNub3coKSAtIHRpbWVkZWx0YShzZWNvbmRz
PTEpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBu
by1zdG9yZSwgbXVzdC1yZXZhbGlkYXRlLCBtYXgtYWdlPTBcclxuJworICAgICdQcmFnbWE6IG5v
LWNhY2hlXHJcbicKKyAgICAnRXhwaXJlczoge30gKzAwMDBcclxuJworICAgICdDb250ZW50LVR5
cGU6IHRleHQvaHRtbFxyXG5cclxuJy5mb3JtYXQoZXhwX3RpbWUuc3RyZnRpbWUoJyVhLCAlZCAl
YiAlWSAlSDolTTolUycpKQorKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICc8aHRtbD5cbicK
KyAgICAnPGJvZHk+XG4nCisgICAgJzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+XG4nCisgICAgJzxz
Y3JpcHQ+XG4nCisgICAgJ2lmICh3aW5kb3cudGVzdFJ1bm5lcikge1xuJworICAgICcgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7XG4nCisgICAgJyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTtcbicKKyAgICAnfVxuJworICAgICcgICAgXG4nCisgICAgJ2Z1bmN0aW9uIGxvZ0FuZEZp
bmlzaChtZXNzYWdlKVxuJworICAgICd7XG4nCisgICAgJyAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicmVzdWx0IikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobWVzc2Fn
ZSkpO1xuJworICAgICcgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdDtcbicKKyAgICAn
ICAgIHhoci5vcGVuKCJHRVQiLCAiLi4vcmVzb3VyY2VzL3Jlc2V0LXRlbXAtZmlsZS5weT9maWxl
bmFtZT1jYWNoZV9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlc19zdGF0ZSIsIGZhbHNlKTtc
bicKKyAgICAnICAgIHhoci5zZW5kKG51bGwpO1xuJworICAgICcgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKVxuJworICAgICcgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpO1xuJworICAg
ICd9XG4nCisgICAgJzwvc2NyaXB0PlxuJworKQorCityZXF1ZXN0ID0ge30KK2lmIHJlcXVlc3Rf
bWV0aG9kID09ICdQT1NUJzoKKyAgICBmb3JtID0gY2dpLkZpZWxkU3RvcmFnZSgpCisgICAgZm9y
IGtleSBpbiBzb3J0ZWQoZm9ybS5rZXlzKCkpOgorICAgICAgICByZXF1ZXN0W2tleV0gPSBmb3Jt
LmdldHZhbHVlKGtleSkKKworaWYgcmVxdWVzdC5nZXQoJ3N1Ym1pdCcsICcnKSA9PSAnZmluaXNo
JzoKKyAgICB0bXBGaWxlUGF0aCA9IG9zLnBhdGguam9pbih0ZW1wZmlsZS5nZXR0ZW1wZGlyKCks
ICdjYWNoZV9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlc19zdGF0ZScpCisgICAgaWYgb3Mu
cGF0aC5leGlzdHModG1wRmlsZVBhdGgpOgorICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAg
ICAgICAgICAgJzxzY3JpcHQ+JworICAgICAgICAgICAgJ3hociA9IG5ldyBYTUxIdHRwUmVxdWVz
dDsnCisgICAgICAgICAgICAneGhyLm9wZW4oXCdHRVRcJywgXCcuLi9yZXNvdXJjZXMvdG91Y2gt
dGVtcC1maWxlLnB5P2ZpbGVuYW1lPWNhY2hlX3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2Vz
X3N0YXRlXCcsIGZhbHNlKTsnCisgICAgICAgICAgICAneGhyLnNlbmQobnVsbCk7JworICAgICAg
ICAgICAgJzwvc2NyaXB0PicKKyAgICAgICAgKQorCisgICAgc3lzLnN0ZG91dC53cml0ZSgnPGlt
ZyBzcmM9XCdyZXNvdXJjZXMvcG9zdC1pbWFnZS10by12ZXJpZnkucHk/dGVzdD1jYWNoZV9wb3N0
LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlc1wnIG9ubG9hZD0ibG9nQW5kRmluaXNoKFwnUEFTU1wn
KTsiIG9uZXJyb3I9ImxvZ0FuZEZpbmlzaChcJ0ZBSUxcJyk7Ij48L2ltZz4nKQorZWxzZToKKyAg
ICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnPGZvcm0gYWN0aW9uPVwncG9zdC13aXRoLWNh
Y2hlZC1zdWJyZXNvdXJjZXMucHlcJyBtZXRob2Q9XCdwb3N0XCc+JworICAgICAgICAnPGlucHV0
IHR5cGU9XCdzdWJtaXRcJyBpZD1cJ3N1Ym1pdFwnIG5hbWU9XCdzdWJtaXRcJyB2YWx1ZT1cJ2Zp
bmlzaFwnPicKKyAgICAgICAgJzwvZm9ybT4nCisgICAgICAgICc8aW1nIHNyYz1cJ3Jlc291cmNl
cy9wb3N0LWltYWdlLXRvLXZlcmlmeS5weT90ZXN0PWNhY2hlX3Bvc3Qtd2l0aC1jYWNoZWQtc3Vi
cmVzb3VyY2VzXCcgb25sb2FkPVwiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCdzdWJtaXRcJyku
Y2xpY2soKTtcIiBvbmVycm9yPVwibG9nQW5kRmluaXNoKFwnRkFJTCBvbiBpbml0aWFsIGxvYWRc
Jyk7XCI+PC9pbWc+JworICAgICkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnPC9ib2R5Plxu
JworICAgICc8L2h0bWw+XG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2Fj
aGVkLXN1YnJlc291cmNlcy5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAt
MCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVjdXJzaXZlLXZhbGlkYXRpb24uaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3JlY3Vyc2l2ZS12YWxpZGF0aW9u
Lmh0bWwJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVjdXJzaXZlLXZhbGlkYXRpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNiw3ICs2LDcgQEAg
ZGVzY3JpcHRpb24oIlRlc3QgdGhhdCByZWN1cnNpdmVseSBsb2FkaQogCiBmdW5jdGlvbiBsb2Fk
KGNvbXBsZXRpb24pIHsKICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Ci0gICAg
eGhyLm9wZW4oJ0dFVCcsICJyZXNvdXJjZXMvbm8tY2FjaGUtd2l0aC12YWxpZGF0aW9uLnBocCIp
OworICAgIHhoci5vcGVuKCdHRVQnLCAicmVzb3VyY2VzL25vLWNhY2hlLXdpdGgtdmFsaWRhdGlv
bi5weSIpOwogICAgIHhoci5vbmxvYWQgPSBjb21wbGV0aW9uOwogICAgIHhoci5zZW5kKCk7CiB9
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3JlZGlyZWN0LXJlZmVyZXIuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3JlZGlyZWN0LXJl
ZmVyZXIuaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZWRpcmVjdC1yZWZlcmVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNyArMSw3IEBA
CiA8Ym9keT4KIDxzY3JpcHQ+CiB2YXIgcm5kID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICog
MTAwMDAwMDAwMDAwMDAwMCk7Ci12YXIgaWZyYW1lU3JjID0gInJlc291cmNlcy9wZXJtYW5lbnQt
cmVkaXJlY3QucGhwP2xvY2F0aW9uPXJlZGlyZWN0LXJlZmVyZXItaWZyYW1lLmh0bWwmcm5kPSIg
KyBybmQ7Cit2YXIgaWZyYW1lU3JjID0gInJlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucHk/
bG9jYXRpb249cmVkaXJlY3QtcmVmZXJlci1pZnJhbWUuaHRtbCZybmQ9IiArIHJuZDsKIAogdmFy
IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwogaWZyYW1lLnNyYyA9
IGlmcmFtZVNyYzsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVsb2FkLW1h
aW4tcmVzb3VyY2UucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVsb2FkLW1haW4tcmVzb3VyY2UucGhwCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3JlbG9hZC1tYWluLXJlc291cmNlLnBocAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDI3ICswLDAgQEAKLTw/cGhwCi1yZXF1aXJlX29uY2UgJy4uL3Jlc291cmNlcy9w
b3J0YWJpbGl0eUxheWVyLnBocCc7Ci1jbGVhcnN0YXRjYWNoZSgpOwotaWYgKGZpbGVfZXhpc3Rz
KHN5c19nZXRfdGVtcF9kaXIoKSAuICIvY2FjaGUtcmVsb2FkLW1haW4tcmVzb3VyY2UudG1wIikp
Ci0gICAgdW5saW5rKHN5c19nZXRfdGVtcF9kaXIoKSAuICIvY2FjaGUtcmVsb2FkLW1haW4tcmVz
b3VyY2UudG1wIik7Ci0/PgotCi08Ym9keT4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Ci08c2Ny
aXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHJlbG9h
ZElmcmFtZSgpIHsKLSAgICB3aW5kb3cuZnJhbWVzWzBdLmxvY2F0aW9uLnJlbG9hZCgpOwotfQot
Ci1mdW5jdGlvbiBmaW5pc2goKSB7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3Vs
dCIpLmlubmVyVGV4dCA9ICJQQVNTIjsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfQotPC9zY3JpcHQ+Ci08aWZyYW1lIHNyYz0i
cmVzb3VyY2VzL3JlbG9hZC1tYWluLXJlc291cmNlLWlmcmFtZS5waHAiIG9ubG9hZD0icmVsb2Fk
SWZyYW1lKCk7Ij48L2lmcmFtZT4KLTwvYm9keT4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvcmVsb2FkLW1haW4tcmVzb3VyY2UucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9yZWxvYWQtbWFpbi1yZXNvdXJjZS5weQkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3JlbG9hZC1tYWluLXJlc291cmNlLnB5
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzcgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMK
KworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgdGVtcGZpbGUKKworZmlsZSA9IF9fZmls
ZV9fLnNwbGl0KCc6L2N5Z3dpbicpWy0xXQoraHR0cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9z
LnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1lKGZpbGUpKSkpCitz
eXMucGF0aC5pbnNlcnQoMCwgaHR0cF9yb290KQorCit0bXBGaWxlID0gb3MucGF0aC5qb2luKHRl
bXBmaWxlLmdldHRlbXBkaXIoKSwgJ2NhY2hlLXJlbG9hZC1tYWluLXJlc291cmNlLnRtcCcpCitp
ZiBvcy5wYXRoLmlzZmlsZSh0bXBGaWxlKToKKyAgICBvcy5yZW1vdmUodG1wRmlsZSkKKworc3lz
LnN0ZG91dC53cml0ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAg
ICAnPGJvZHk+XG4nCisgICAgJzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+XG4nCisgICAgJzxzY3Jp
cHQ+XG4nCisgICAgJ2lmICh3aW5kb3cudGVzdFJ1bm5lcikge1xuJworICAgICcgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7XG4nCisgICAgJyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTtcbicKKyAgICAnfVxuJworICAgICdcbicKKyAgICAnZnVuY3Rpb24gcmVsb2FkSWZyYW1lKCkg
e1xuJworICAgICcgICAgd2luZG93LmZyYW1lc1swXS5sb2NhdGlvbi5yZWxvYWQoKTtcbicKKyAg
ICAnfVxuJworICAgICdcbicKKyAgICAnZnVuY3Rpb24gZmluaXNoKCkge1xuJworICAgICcgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVyVGV4dCA9ICJQQVNTIjtcbicK
KyAgICAnICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcilcbicKKyAgICAnICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTtcbicKKyAgICAnfVxuJworICAgICc8L3NjcmlwdD5cbicKKyAgICAn
PGlmcmFtZSBzcmM9InJlc291cmNlcy9yZWxvYWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucHkiIG9u
bG9hZD0icmVsb2FkSWZyYW1lKCk7Ij48L2lmcmFtZT5cbicKKyAgICAnPC9ib2R5PlxuJworKQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVsb2FkLW1haW4tcmVzb3VyY2UucHkKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3N0eWxlc2hl
ZXQtc2hhcmluZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvc3R5bGVzaGVldC1zaGFyaW5nLmh0bWwJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvc3R5bGVzaGVldC1zaGFyaW5nLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTE2LDcgKzE2LDcgQEAgZnVuY3Rpb24gd2FpdEZvclN0eWxlc2hlZXQoaWZyYW1lLCBj
b21wbAogZnVuY3Rpb24gbG9hZChzcmMsIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIHZhciBp
ZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBpZnJhbWUuc3Jj
ID0gInJlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwucGhwP3NoZWV0PSIgKyBzcmM7CisgICAgaWZy
YW1lLnNyYyA9ICJyZXNvdXJjZXMvc3R5bGVzaGVldC1odG1sLnB5P3NoZWV0PSIgKyBzcmM7CiAg
ICAgaWZyYW1lLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgaWZyYW1lLmNvbnRlbnRE
b2N1bWVudC5ib2R5Lm9mZnNldFdpZHRoOwogICAgICAgICB3YWl0Rm9yU3R5bGVzaGVldChpZnJh
bWUsIGNvbXBsZXRpb25IYW5kbGVyKTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvdmFyeS1mcmFtZWxlc3MtZG9jdW1lbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3ZhcnktZnJhbWVsZXNzLWRvY3VtZW50Lmh0bWwJKHJldmlzaW9u
IDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvdmFyeS1mcmFtZWxlc3Mt
ZG9jdW1lbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAotdmFyIHN2Z0RvY3Vt
ZW50U3RyaW5nID0gJzxzdmc+PHVzZSB4PSI1MCIgeT0iMTAiIHhsaW5rOmhyZWY9InJlc291cmNl
cy9zdmctZGVmcy12YXJ5LnBocCNjaXJjbGUiIC8+PC9zdmc+JzsKK3ZhciBzdmdEb2N1bWVudFN0
cmluZyA9ICc8c3ZnPjx1c2UgeD0iNTAiIHk9IjEwIiB4bGluazpocmVmPSJyZXNvdXJjZXMvc3Zn
LWRlZnMtdmFyeS5weSNjaXJjbGUiIC8+PC9zdmc+JzsKIGZ1bmN0aW9uIG1ha2VEb2N1bWVudCgp
IHsKICAgICB2YXIgZG9jID0gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3Vt
ZW50KCcnKTsKICAgICBkb2Mub3BlbigpOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS94aHItYm9keS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUveGhyLWJvZHkuaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS94aHItYm9keS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xOCw3ICsxOCw3
IEBAIGZ1bmN0aW9uIHRlc3QoKSB7CiAgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgZnVuY3Rpb24oKSB7IGxvZygibG9hZCIpOyByZXBlYXQoKTsgfSwgZmFsc2UpOwogICAgIHJl
cXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCBmdW5jdGlvbigpIHsgbG9nKCJlcnJvciIp
OyByZXBlYXQoKTsgfSwgZmFsc2UpOwogICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigiYWJv
cnQiLCBmdW5jdGlvbigpIHsgbG9nKCJhYm9ydCIpOyByZXBlYXQoKTsgfSwgZmFsc2UpOwotICAg
IHJlcXVlc3Qub3BlbigiR0VUIiwgInJlc291cmNlcy9ib2R5LnBocCIsIHRydWUpOworICAgIHJl
cXVlc3Qub3BlbigiR0VUIiwgInJlc291cmNlcy9ib2R5LnB5IiwgdHJ1ZSk7CiAgICAgcmVxdWVz
dC5zZW5kKCk7CiB9CiAKQEAgLTM2LDcgKzM2LDcgQEAgZnVuY3Rpb24gcmVwZWF0KCkgewogICAg
IHNlY29uZFJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uKCkgeyBzZWNv
bmRSZXF1ZXN0RmluaXNoZWQoKTsgfSwgZmFsc2UpOwogICAgIHNlY29uZFJlcXVlc3QuYWRkRXZl
bnRMaXN0ZW5lcigiZXJyb3IiLCBmdW5jdGlvbigpIHsgbG9nKCJlcnJvciIpOyBlbmQoKTsgfSwg
ZmFsc2UpOwogICAgIHNlY29uZFJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCBmdW5j
dGlvbigpIHsgbG9nKCJhYm9ydCIpOyBlbmQoKTsgfSwgZmFsc2UpOwotICAgIHNlY29uZFJlcXVl
c3Qub3BlbigiUE9TVCIsICJyZXNvdXJjZXMvYm9keS5waHAiLCB0cnVlKTsKKyAgICBzZWNvbmRS
ZXF1ZXN0Lm9wZW4oIlBPU1QiLCAicmVzb3VyY2VzL2JvZHkucHkiLCB0cnVlKTsKICAgICBzZWNv
bmRSZXF1ZXN0LnNlbmQoIlRoaXMgaHR0cCBib2R5IHNob3VsZCBiZSB2aXNpYmxlIik7CiB9CiAK
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUveGhyLXZhcnktaGVhZGVyLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS94aHItdmFyeS1oZWFk
ZXIuaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS94aHItdmFyeS1oZWFkZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTIsNyArMTIsNyBAQCB2
YXIgdGVzdFN0ZXAgPSAxOwogZnVuY3Rpb24gdGVzdENyb3NzT3JpZ2luKCkKIHsKICAgICB2YXIg
cmVxID0gbmV3IFhNTEh0dHBSZXF1ZXN0OwotICAgIHJlcS5vcGVuKCJnZXQiLCAiaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItcmVzcG9uc2UucGhw
Iik7CisgICAgcmVxLm9wZW4oImdldCIsICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY2FjaGUvcmVz
b3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25zZS5weSIpOwogICAgIHJlcS5vbmxvYWQ9ZnVu
Y3Rpb24oKSB7IHJlY2VpdmVkUmVzcG9uc2UocmVxLnJlc3BvbnNlVGV4dCkgfQogICAgIHJlcS5z
ZW5kKCk7CiB9CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUv
ZGlzay1jYWNoZS1yZWRpcmVjdC10by1kYXRhLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtcmVkaXJlY3QtdG8tZGF0
YS5odG1sCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZWRpcmVjdC10by1kYXRhLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNSArMSw1IEBACiA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPXJlc291cmNlcy9yZWRpcmVjdC10by1k
YXRhLnBocD48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9yZWRpcmVjdC10by1kYXRh
LnB5Pjwvc2NyaXB0PgogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJUZXN0IHRoYXQgSFRUUCByZWRp
cmVjdCB0byBhIGRhdGEgVVJMIGRvZXMgbm90IGNyYXNoIG9yIGFzc2VydCBpbiB0aGUgbmV0d29y
ayBwcm9jZXNzLiIpOwogc2hvdWxkQmVUcnVlKCJzdWNjZXNzIik7CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZW1vdmUtc2V2ZXJhbC1w
ZW5kaW5nLXdyaXRlcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hlLXJlbW92ZS1zZXZlcmFsLXBlbmRpbmctd3JpdGVz
Lmh0bWwJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9kaXNrLWNhY2hlLXJlbW92ZS1zZXZlcmFsLXBlbmRpbmctd3JpdGVzLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTIyLDcgKzIyLDcgQEAgZnVuY3Rpb24gZmV0Y2godXJsKSB7CiAK
IGZ1bmN0aW9uIGZldGNoUmVzb3VyY2UoKSB7CiAgIGludGVybmFscy5jbGVhck1lbW9yeUNhY2hl
KCk7Ci0gIHJldHVybiBmZXRjaCgncmVzb3VyY2VzL2pzb24ucGhwP2lkPScgKyBpZCkudGhlbihm
dW5jdGlvbiAocmVzcCkgeworICByZXR1cm4gZmV0Y2goJ3Jlc291cmNlcy9qc29uLnB5P2lkPScg
KyBpZCkudGhlbihmdW5jdGlvbiAocmVzcCkgewogICAgIGlmIChyZXNwLmJvZHkudmVyc2lvbiA9
PT0gMikgewogICAgICAgYnVnUmVwcm9kdWNlZCA9IGZhbHNlOwogICAgIH0KSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZWRpcmVjdC1jaGFpbi1saW1pdHMu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2Fj
aGUvcmVkaXJlY3QtY2hhaW4tbGltaXRzLmh0bWwJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZWRpcmVjdC1jaGFpbi1saW1pdHMu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtOSw3ICs5LDcgQEAgZnVuY3Rpb24gcmVkaXJlY3RDaGFp
bihsZW5ndGgsIHVuaXF1ZUlkLAogewogICAgIGludGVybmFscy5jbGVhck1lbW9yeUNhY2hlKCkK
IAotICAgIHZhciB1cmwgPSAicmVzb3VyY2VzL3JlZGlyZWN0LWNoYWluLnBocD9sZW5ndGg9IiAr
IGxlbmd0aCArICImdW5pcXVlSWQ9IiArIHVuaXF1ZUlkOworICAgIHZhciB1cmwgPSAicmVzb3Vy
Y2VzL3JlZGlyZWN0LWNoYWluLnB5P2xlbmd0aD0iICsgbGVuZ3RoICsgIiZ1bmlxdWVJZD0iICsg
dW5pcXVlSWQ7CiAKICAgICB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICB4aHIub25s
b2FkID0gb25sb2FkOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNh
Y2hlL3NoYXR0ZXJlZC1kZWR1cGxpY2F0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NoYXR0ZXJlZC1kZWR1cGxpY2F0aW9uLmh0
bWwJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9zaGF0dGVyZWQtZGVkdXBsaWNhdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC01
LDcgKzUsNyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAKIGZ1bmN0aW9uIG1ha2VDb2xsaXNp
b24oZmlsZSkKIHsKLSAgICByZXR1cm4gInJlc291cmNlcy9tYWtlLXNoYTEtY29sbGlzaW9uLnBo
cD9wYXRoPSIgKyBmaWxlOworICAgIHJldHVybiAicmVzb3VyY2VzL21ha2Utc2hhMS1jb2xsaXNp
b24ucHk/cGF0aD0iICsgZmlsZTsKIH0KIAogZnVuY3Rpb24gYWRkSW1hZ2VGcmFtZShzcmMsIHRp
bWVvdXQpCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVz
b3VyY2VzL2pzb24ucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvanNvbi5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvanNvbi5waHAJ
KG5vbmV4aXN0ZW50KQpAQCAtMSw0MiArMCwwIEBACi08P3BocAotCi1mdW5jdGlvbiBzZW5kMzA0
KCkKLXsKLSAgICBoZWFkZXIoIkhUVFAvMS4xIDMwNCBOb3QgTW9kaWZpZWQiKTsKLSAgICBoZWFk
ZXIoIkVUYWc6IGZvbyIpOwotfQotCi0kaWQgPSAkX0dFVFsiaWQiXTsKLSRjb3VudCA9IDE7Ci1p
ZiAoaXNzZXQoJF9DT09LSUVbJGlkXSkpIHsKLSAgICAkY291bnQgPSAkX0NPT0tJRVskaWRdOwot
fQotCi1zZXRjb29raWUoJGlkLCAkY291bnQgKyAxKTsKLQotaWYgKCRjb3VudCA9PSAxKSB7Ci0g
ICAgaGVhZGVyKCJDYWNoZS1Db250cm9sOiBtdXN0LXJldmFsaWRhdGUiKTsKLSAgICBoZWFkZXIo
IkVUYWc6IGZvbyIpOwotICAgIGhlYWRlcigiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29u
Iik7Ci0gICAgZWNobyAneyJ2ZXJzaW9uIjogMX0nOwotfSBlbHNlIGlmICgkY291bnQgPT0gMikg
ewotICAgIHNlbmQzMDQoKTsKLX0gZWxzZSBpZiAoJGNvdW50ID09IDMpIHsKLSAgICBoZWFkZXIo
IkhUVFAvMS4xIDQwNCBOb3QgRm91bmQiKTsKLSAgICBoZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG11
c3QtcmV2YWxpZGF0ZSIpOwotICAgIGhlYWRlcigiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9q
c29uIik7Ci0gICAgZWNobyAneyJub3QiOiAiZm91bmQifSc7Ci19IGVsc2UgaWYgKCRjb3VudCA9
PSA0KSB7Ci0gICAgaWYgKCRfU0VSVkVSWyJIVFRQX0lGX05PTkVfTUFUQ0giXSA9PSAiZm9vIikg
ewotICAgICAgICBzZW5kMzA0KCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaGVhZGVyKCJDYWNo
ZS1Db250cm9sOiBtdXN0LXJldmFsaWRhdGUiKTsKLSAgICAgICAgaGVhZGVyKCJFVGFnOiBmb28i
KTsKLSAgICAgICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24iKTsKLSAg
ICAgICAgZWNobyAneyJ2ZXJzaW9uIjogMn0nOwotICAgIH0KLX0gZWxzZSB7Ci0gICAgc2VuZDMw
NCgpOwotfQotCi0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNh
Y2hlL3Jlc291cmNlcy9qc29uLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvanNvbi5weQkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL2pzb24ucHkJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwor
CitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9ydCBwYXJzZV9x
cworCitkZWYgc2VuZDMwNCgpOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICdDb250
ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nCisgICAgICAgICdzdGF0dXM6IDMwNFxyXG4nCisgICAg
ICAgICdFVGFnOiBmb29cclxuXHJcbicKKyAgICApCisKK2lkZW50ID0gcGFyc2VfcXMob3MuZW52
aXJvbi5nZXQoJ1FVRVJZX1NUUklORycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkuZ2V0
KCdpZCcsIFsnJ10pWzBdCitjb29raWVzID0ge30KK2lmICdIVFRQX0NPT0tJRScgaW4gb3MuZW52
aXJvbjoKKyAgICBoZWFkZXJfY29va2llcyA9IG9zLmVudmlyb25bJ0hUVFBfQ09PS0lFJ10KKyAg
ICBoZWFkZXJfY29va2llcyA9IGhlYWRlcl9jb29raWVzLnNwbGl0KCc7ICcpCisKKyAgICBmb3Ig
Y29va2llIGluIGhlYWRlcl9jb29raWVzOgorICAgICAgICBjb29raWUgPSBjb29raWUuc3BsaXQo
Jz0nKQorICAgICAgICBjb29raWVzW2Nvb2tpZVswXV0gPSBjb29raWVbMV0KKworY291bnQgPSAx
CitpZiBjb29raWVzLmdldChpZGVudCwgTm9uZSk6CisgICAgY291bnQgPSBpbnQoY29va2llcy5n
ZXQoaWRlbnQsIDApKQorCitzeXMuc3Rkb3V0LndyaXRlKGYnU2V0LUNvb2tpZToge2lkZW50fT17
Y291bnQgKyAxfVxyXG4nKQorCitpZiBjb3VudCA9PSAxOgorICAgIHN5cy5zdGRvdXQud3JpdGUo
CisgICAgICAgICdDYWNoZS1Db250cm9sOiBtdXN0LXJldmFsaWRhdGVcclxuJworICAgICAgICAn
RVRhZzogZm9vXHJcbicKKyAgICAgICAgJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvblxy
XG5cclxuJworICAgICAgICAneyJ2ZXJzaW9uIjogMX0nCisgICAgKQorZWxpZiBjb3VudCA9PSAz
OgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICdzdGF0dXM6IDQwNFxyXG4nCisgICAg
ICAgICdDYWNoZS1Db250cm9sOiBtdXN0LXJldmFsaWRhdGVcclxuJworICAgICAgICAnQ29udGVu
dC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uXHJcblxyXG4nCisgICAgICAgICd7Im5vdCI6ICJmb3Vu
ZCJ9JworICAgICkKK2VsaWYgY291bnQgPT0gNDoKKyAgICBpZiBvcy5lbnZpcm9uLmdldCgnSFRU
UF9JRl9OT05FX01BVENIJywgJycpID09ICdmb28nOgorICAgICAgICBzZW5kMzA0KCkKKyAgICBl
bHNlOgorICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAgICAgJ0NhY2hlLUNvbnRy
b2w6IG11c3QtcmV2YWxpZGF0ZVxyXG4nCisgICAgICAgICAgICAnRVRhZzogZm9vXHJcbicKKyAg
ICAgICAgICAgICdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb25cclxuXHJcbicKKyAgICAg
ICAgICAgICd7InZlcnNpb24iOiAyfScKKyAgICAgICAgKQorZWxzZToKKyAgICBzZW5kMzA0KCkK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL2pzb24ucHkKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rp
c2stY2FjaGUvcmVzb3VyY2VzL21ha2Utc2hhMS1jb2xsaXNpb24ucGhwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvbWFrZS1z
aGExLWNvbGxpc2lvbi5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvbWFrZS1zaGExLWNvbGxpc2lvbi5waHAJ
KG5vbmV4aXN0ZW50KQpAQCAtMSw5ICswLDAgQEAKLTw/Ci0kcGF0aCA9ICRfR0VUWydwYXRoJ107
Ci1oZWFkZXIoJ0hUVFAvMS4xIDIwMCBPSycpOwotaGVhZGVyKCJDYWNoZS1jb250cm9sOiBtYXgt
YWdlPTEwMDAwIik7Ci1oZWFkZXIoIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vcGRmIik7Ci0k
Y29udGVudCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRoKTsKLSRjb2xsaWRpbmdDb250ZW50ID0g
c3RyX3JlcGxhY2UoIlNWTiBpcyB0aGUgYmVzdCEiLCAiU0hBLTEgaXMgZGVhZCEhISIsICRjb250
ZW50KTsKLWVjaG8gJGNvbGxpZGluZ0NvbnRlbnQ7Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9tYWtlLXNoYTEtY29sbGlzaW9uLnB5
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9y
ZXNvdXJjZXMvbWFrZS1zaGExLWNvbGxpc2lvbi5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL21ha2Utc2hhMS1jb2xs
aXNpb24ucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNyBAQAorIyEvdXNyL2Jpbi9lbnYg
cHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9y
dCBwYXJzZV9xcworCitwYXRoID0gcGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklO
RycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkuZ2V0KCdwYXRoJywgWycnXSlbMF0KKwor
c3lzLnN0ZG91dC53cml0ZSgKKyAgICAnc3RhdHVzOiAyMDBcclxuJworICAgICdDYWNoZS1jb250
cm9sOiBtYXgtYWdlPTEwMDAwXHJcbicKKyAgICAnQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9w
ZGZcclxuXHJcbicKKykKKworc3lzLnN0ZG91dC5mbHVzaCgpCit3aXRoIG9wZW4ob3MucGF0aC5q
b2luKCcvJy5qb2luKF9fZmlsZV9fLnNwbGl0KCcvJylbMDotMV0pLCBwYXRoKSwgJ3JiJykgYXMg
ZmlsZToKKyAgICBzeXMuc3Rkb3V0LmJ1ZmZlci53cml0ZShmaWxlLnJlYWQoKS5yZXBsYWNlKGIn
U1ZOIGlzIHRoZSBiZXN0IScsIGInU0hBLTEgaXMgZGVhZCEhIScpKQpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvbWFrZS1zaGExLWNvbGxpc2lvbi5weQpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtY2hhaW4ucGhwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtY2hh
aW4ucGhwCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LWNoYWluLnBocAkobm9uZXhpc3RlbnQpCkBA
IC0xLDEzICswLDAgQEAKLTw/Ci0kbGVuZ3RoID0gJF9HRVRbJ2xlbmd0aCddOwotaWYgKCRsZW5n
dGggPT0gMCkgewotICAgIGhlYWRlcignU3RhdHVzOiAyMDAnKTsKLSAgICBoZWFkZXIoJ0NhY2hl
LUNvbnRyb2w6IG1heC1hZ2U9MTAwJyk7Ci0gICAgZXhpdCgpOwotfQotJGxlbmd0aCA9ICRsZW5n
dGggLSAxOwotCi1oZWFkZXIoJ1N0YXR1czogMzAyJyk7Ci1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6
IG1heC1hZ2U9MTAwJyk7Ci1oZWFkZXIoJ0xvY2F0aW9uOiByZWRpcmVjdC1jaGFpbi5waHA/bGVu
Z3RoPScgLiAkbGVuZ3RoIC4gJyZ1bmlxdWVJZD0nIC4gJF9HRVRbJ3VuaXF1ZUlkJ10gLiAnJnJh
bmRvbT0nIC4gcmFuZCgpKTsKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LWNoYWluLnB5Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3Qt
Y2hhaW4ucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9k
aXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1jaGFpbi5weQkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDI1IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0
IHN5cworZnJvbSByYW5kb20gaW1wb3J0IHJhbmRpbnQKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9y
dCBwYXJzZV9xcworCitxdWVyeSA9IHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJ
TkcnLCAnJyksIGtlZXBfYmxhbmtfdmFsdWVzPVRydWUpCitsZW5ndGggPSBpbnQocXVlcnkuZ2V0
KCdsZW5ndGgnLCBbMF0pWzBdKQordW5pcXVlX2lkID0gcXVlcnkuZ2V0KCd1bmlxdWVJZCcsIFsn
J10pWzBdCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9
MTAwXHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJworKQorCitpZiBsZW5n
dGggPT0gMDoKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdzdGF0dXM6IDIwMFxyXG5cclxuJykKKyAg
ICBzeXMuZXhpdCgwKQorCitsZW5ndGggLT0gMQorc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnc3Rh
dHVzOiAzMDJcclxuJworICAgIGYnTG9jYXRpb246IHJlZGlyZWN0LWNoYWluLnB5P2xlbmd0aD17
bGVuZ3RofSZ1bmlxdWVJZD17dW5pcXVlX2lkfSZyYW5kb209e3JhbmRpbnQoMCwgc3lzLm1heHNp
emUpfVxyXG5cclxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJj
ZXMvcmVkaXJlY3QtY2hhaW4ucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMg
LTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LXRv
LWRhdGEucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tZGF0YS5waHAJKHJldmlzaW9uIDI3NDI5MikK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvcmVk
aXJlY3QtdG8tZGF0YS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLTw/Ci1oZWFk
ZXIoJ1N0YXR1czogMzAxIE1vdmVkIFBlcm1hbmVudGx5Jyk7Ci1oZWFkZXIoJ0xvY2F0aW9uOiBk
YXRhOmFwcGxpY2F0aW9uL2phdmFzY3JpcHQsc3VjY2Vzcz10cnVlOycpOwotPz4KSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3Qt
dG8tZGF0YS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rp
c2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWRhdGEucHkJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVj
dC10by1kYXRhLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOSBAQAorIyEvdXNyL2Jpbi9l
bnYgcHl0aG9uMworCitpbXBvcnQgc3lzCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ3N0YXR1
czogMzAxXHJcbicKKyAgICAnTG9jYXRpb246IGRhdGE6YXBwbGljYXRpb24vamF2YXNjcmlwdCxz
dWNjZXNzPXRydWU7XHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicK
KykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LXRv
LWRhdGEucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIwor
KgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9jYWNoZWFibGUt
cmVkaXJlY3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9jYWNoZWFibGUtcmVkaXJlY3QuaHRt
bAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNr
LWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vY2FjaGVhYmxlLXJlZGlyZWN0Lmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTE2LDcgKzE2LDcgQEAgZnVuY3Rpb24gZnJhbWVMb2FkZWQoKQogICAg
ICAgICAvLyBOYXZpZ2F0ZSBmcmFtZSB0byBpdHMgb3JpZ2luYWwgbG9jYXRpb24gYWdhaW4uIFRo
aXMgdGltZSBpdCBzaG91bGQgc3BlY3VsYXRpdmVseQogICAgICAgICAvLyB2YWxpZGF0ZSBzdWJy
ZXNvdXJjZXMgYXMgd2UgaGF2ZSBzdWJyZXNvdXJjZSBsb2FkcyBtZXRhZGF0YSBpbiB0aGUgZGlz
ayBjYWNoZS4KICAgICAgICAgc3RhdGUgPSAic3BlY3VsYXRpdmVSZXZhbGlkYXRpb24iOwotICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdEZyYW1lIikuc3JjID0gInJlc291cmNl
cy9jYWNoZWFibGUtcmVkaXJlY3QtZnJhbWUucGhwIjsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInRlc3RGcmFtZSIpLnNyYyA9ICJyZXNvdXJjZXMvY2FjaGVhYmxlLXJlZGlyZWN0
LWZyYW1lLnB5IjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBpZiAoc3RhdGUgPT0gInNw
ZWN1bGF0aXZlUmV2YWxpZGF0aW9uIikgewpAQCAtMjgsNSArMjgsNSBAQCBmdW5jdGlvbiBmcmFt
ZUxvYWRlZCgpCiB9CiAKIDwvc2NyaXB0PgotPGlmcmFtZSBpZD0idGVzdEZyYW1lIiBzcmM9InJl
c291cmNlcy9jYWNoZWFibGUtcmVkaXJlY3QtZnJhbWUucGhwIiBvbmxvYWQ9ImZyYW1lTG9hZGVk
KCkiPjwvaWZyYW1lPgorPGlmcmFtZSBpZD0idGVzdEZyYW1lIiBzcmM9InJlc291cmNlcy9jYWNo
ZWFibGUtcmVkaXJlY3QtZnJhbWUucHkiIG9ubG9hZD0iZnJhbWVMb2FkZWQoKSI+PC9pZnJhbWU+
CiA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3Vs
YXRpdmUtdmFsaWRhdGlvbi9odHRwLWF1dGguaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9odHRw
LWF1dGguaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vaHR0cC1hdXRoLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTEyLDcgKzEyLDcgQEAgc3RhdGUgPSAid2FybXVwIjsKIGZ1bmN0aW9u
IGNsZWFyQ3JlZGVudGlhbFN0b3JhZ2UoKQogewogICAgIHhociA9IG5ldyBYTUxIdHRwUmVxdWVz
dCgpOwotICAgIHhoci5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL3Jlc291cmNlLXdpdGgtYXV0aC5w
aHA/b3RoZXIiLCBmYWxzZSwgImJhZFVzZXJuYW1lIiwgImJhZFBhc3N3b3JkIik7CisgICAgeGhy
Lm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvcmVzb3VyY2Utd2l0aC1hdXRoLnB5P290aGVyIiwgZmFs
c2UsICJiYWRVc2VybmFtZSIsICJiYWRQYXNzd29yZCIpOwogICAgIHhoci5zZW5kKCk7CiAgICAg
c2hvdWxkQmUoInhoci5zdGF0dXMiLCAiNDAxIik7CiB9CkBAIC0zNSw3ICszNSw3IEBAIGZ1bmN0
aW9uIGZyYW1lTG9hZGVkKCkKICAgICAgICAgLy8gTmF2aWdhdGUgZnJhbWUgdG8gaXRzIG9yaWdp
bmFsIGxvY2F0aW9uIGFnYWluLiBUaGlzIHRpbWUgaXQgc2hvdWxkIHNwZWN1bGF0aXZlbHkKICAg
ICAgICAgLy8gdmFsaWRhdGUgc3VicmVzb3VyY2VzIGFzIHdlIGhhdmUgc3VicmVzb3VyY2UgbG9h
ZHMgbWV0YWRhdGEgaW4gdGhlIGRpc2sgY2FjaGUuCiAgICAgICAgIHN0YXRlID0gInNwZWN1bGF0
aXZlUmV2YWxpZGF0aW9uIjsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RG
cmFtZSIpLnNyYyA9ICJyZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNl
LnBocCI7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RnJhbWUiKS5zcmMg
PSAicmVzb3VyY2VzL2ZyYW1lLXdpdGgtYXV0aGVudGljYXRlZC1yZXNvdXJjZS5weSI7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKHN0YXRlID09ICJzcGVjdWxhdGl2ZVJldmFsaWRh
dGlvbiIpIHsKQEAgLTQ3LDUgKzQ3LDUgQEAgZnVuY3Rpb24gZnJhbWVMb2FkZWQoKQogfQogCiA8
L3NjcmlwdD4KLTxpZnJhbWUgaWQ9InRlc3RGcmFtZSIgc3JjPSJyZXNvdXJjZXMvZnJhbWUtd2l0
aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnBocCIgb25sb2FkPSJmcmFtZUxvYWRlZCgpIj48L2lm
cmFtZT4KKzxpZnJhbWUgaWQ9InRlc3RGcmFtZSIgc3JjPSJyZXNvdXJjZXMvZnJhbWUtd2l0aC1h
dXRoZW50aWNhdGVkLXJlc291cmNlLnB5IiBvbmxvYWQ9ImZyYW1lTG9hZGVkKCkiPjwvaWZyYW1l
PgogPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1
bGF0aXZlLXZhbGlkYXRpb24vdmFsaWRhdGlvbi1yZXF1ZXN0Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlk
YXRpb24vdmFsaWRhdGlvbi1yZXF1ZXN0Lmh0bWwJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9u
L3ZhbGlkYXRpb24tcmVxdWVzdC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBA
IGZ1bmN0aW9uIGZyYW1lTG9hZGVkKCkKICAgICAgICAgLy8gTmF2aWdhdGUgZnJhbWUgdG8gaXRz
IG9yaWdpbmFsIGxvY2F0aW9uIGFnYWluLiBUaGlzIHRpbWUgaXQgc2hvdWxkIHNwZWN1bGF0aXZl
bHkKICAgICAgICAgLy8gdmFsaWRhdGUgc3VicmVzb3VyY2VzIGFzIHdlIGhhdmUgc3VicmVzb3Vy
Y2UgbG9hZHMgbWV0YWRhdGEgaW4gdGhlIGRpc2sgY2FjaGUuCiAgICAgICAgIHN0YXRlID0gInNw
ZWN1bGF0aXZlUmV2YWxpZGF0aW9uIjsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRlc3RGcmFtZSIpLnNyYyA9ICJyZXNvdXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1lLnBo
cCI7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RnJhbWUiKS5zcmMgPSAi
cmVzb3VyY2VzL3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFtZS5weSI7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAgICAgaWYgKHN0YXRlID09ICJzcGVjdWxhdGl2ZVJldmFsaWRhdGlvbiIpIHsKQEAg
LTUwLDUgKzUwLDUgQEAgZnVuY3Rpb24gZnJhbWVMb2FkZWQoKQogfQogCiA8L3NjcmlwdD4KLTxp
ZnJhbWUgaWQ9InRlc3RGcmFtZSIgc3JjPSJyZXNvdXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0LWZy
YW1lLnBocCIgb25sb2FkPSJmcmFtZUxvYWRlZCgpIj48L2lmcmFtZT4KKzxpZnJhbWUgaWQ9InRl
c3RGcmFtZSIgc3JjPSJyZXNvdXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1lLnB5IiBvbmxv
YWQ9ImZyYW1lTG9hZGVkKCkiPjwvaWZyYW1lPgogPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2Nh
Y2hlYWJsZS1yZWRpcmVjdC1mcmFtZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2Vz
L2NhY2hlYWJsZS1yZWRpcmVjdC1mcmFtZS5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9u
L3Jlc291cmNlcy9jYWNoZWFibGUtcmVkaXJlY3QtZnJhbWUucGhwCShub25leGlzdGVudCkKQEAg
LTEsMTcgKzAsMCBAQAotPD9waHAKLWhlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0L2h0bWwnKTsK
LWhlYWRlcignQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0wJyk7Ci1oZWFkZXIoJ0V0YWc6IDEyMzQ1
Njc4OScpOwotCi0/PgotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0icmVkaXJlY3QtdG8tY3NzLnBocCI+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9InRlc3REaXYiIGNsYXNzPSJ0ZXN0Q2xhc3MiPgot
VEVTVAotPC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY2Fj
aGVhYmxlLXJlZGlyZWN0LWZyYW1lLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9j
YWNoZWFibGUtcmVkaXJlY3QtZnJhbWUucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3Vy
Y2VzL2NhY2hlYWJsZS1yZWRpcmVjdC1mcmFtZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDIwIEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBzeXMKKworc3lzLnN0ZG91
dC53cml0ZSgKKyAgICAnQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0wXHJcbicKKyAgICAnRXRhZzog
MTIzNDU2Nzg5XHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAg
ICAnPCFET0NUWVBFIGh0bWw+XG4nCisgICAgJzxodG1sPlxuJworICAgICc8aGVhZD5cbicKKyAg
ICAnPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0icmVkaXJlY3Qt
dG8tY3NzLnB5Ij5cbicKKyAgICAnPC9oZWFkPlxuJworICAgICc8Ym9keT5cbicKKyAgICAnPGRp
diBpZD0idGVzdERpdiIgY2xhc3M9InRlc3RDbGFzcyI+XG4nCisgICAgJ1RFU1RcbicKKyAgICAn
PC9kaXY+XG4nCisgICAgJzwvYm9keT5cbicKKyAgICAnPC9odG1sPlxuJworKQpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9j
YWNoZWFibGUtcmVkaXJlY3QtZnJhbWUucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFi
bGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFs
aWRhdGlvbi9yZXNvdXJjZXMvY3NzLXRvLXJldmFsaWRhdGUucGhwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0
aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5waHAJKHJldmlzaW9uIDI3NDI5MikKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxp
ZGF0aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAt
MSwxNyArMCwwIEBACi08P3BocAotaWYgKCRfU0VSVkVSWyJIVFRQX0lGX05PTkVfTUFUQ0giXSA9
PSAiZm9vIikgewotICAgIGhlYWRlcigiSFRUUC8xLjEgMzA0IE5vdCBNb2RpZmllZCIpOwotICAg
IGhlYWRlcigiRVRhZzogZm9vIik7Ci0gICAgcmV0dXJuOwotfQotCi1oZWFkZXIoIkNvbnRlbnQt
VHlwZTogdGV4dC9jc3MiKTsKLWhlYWRlcigiRVRhZzogZm9vIik7Ci1oZWFkZXIoIkNhY2hlLUNv
bnRyb2w6IG1heC1hZ2U9MCIpOwotCi0/PgotCi0udGVzdENsYXNzCi17Ci0gICAgY29sb3I6IGdy
ZWVuOwotfQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Nw
ZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2Nzcy10by1yZXZhbGlkYXRlLnB5Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxh
dGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5weQkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRp
dmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY3NzLXRvLXJldmFsaWRhdGUucHkJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwyMyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MK
K2ltcG9ydCBzeXMKKworbWF0Y2ggPSBvcy5lbnZpcm9uLmdldCgnSFRUUF9JRl9OT05FX01BVENI
JywgJycpCitpZiBtYXRjaCA9PSAnZm9vJzoKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAg
ICAnc3RhdHVzOiAzMDRcclxuJworICAgICAgICAnRVRhZzogZm9vXHJcbicKKyAgICAgICAgJ0Nv
bnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCisgICAgKQorICAgIHN5cy5leGl0KDApCisK
K3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9jc3NcclxuJworICAg
ICdFVGFnOiBmb29cclxuJworICAgICdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTBcclxuXHJcbicK
KyAgICAnLnRlc3RDbGFzc1xuJworICAgICd7XG4nCisgICAgJyAgICBjb2xvcjogZ3JlZW47XG4n
CisgICAgJ31cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRp
dmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY3NzLXRvLXJldmFsaWRhdGUucHkKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2Fj
aGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNh
dGVkLXJlc291cmNlLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvZnJhbWUtd2l0
aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24v
cmVzb3VyY2VzL2ZyYW1lLXdpdGgtYXV0aGVudGljYXRlZC1yZXNvdXJjZS5waHAJKG5vbmV4aXN0
ZW50KQpAQCAtMSwxMCArMCwwIEBACi08P3BocAotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQv
aHRtbCcpOwotaGVhZGVyKCdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTAnKTsKLWhlYWRlcignRXRh
ZzogMTIzNDU2Nzg5Jyk7Ci0KLT8+Ci08IURPQ1RZUEUgaHRtbD4KLTxib2R5PgotPHNjcmlwdCBz
cmM9InJlc291cmNlLXdpdGgtYXV0aC5waHAiPjwvc2NyaXB0PgotPC9ib2R5PgpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRp
b24vcmVzb3VyY2VzL2ZyYW1lLXdpdGgtYXV0aGVudGljYXRlZC1yZXNvdXJjZS5weQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRp
dmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNl
LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRp
Y2F0ZWQtcmVzb3VyY2UucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorIyEvdXNy
L2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgc3lzCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAg
J0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MFxyXG4nCisgICAgJ0V0YWc6IDEyMzQ1Njc4OVxyXG4n
CisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCisgICAgJzwhRE9DVFlQRSBo
dG1sPlxuJworICAgICc8Ym9keT5cbicKKyAgICAnPHNjcmlwdCBzcmM9InJlc291cmNlLXdpdGgt
YXV0aC5weSI+PC9zY3JpcHQ+XG4nCisgICAgJzwvYm9keT5cbicKKykKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvZnJhbWUt
d2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVj
dXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZl
LXZhbGlkYXRpb24vcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWNzcy5waHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlk
YXRpb24vcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWNzcy5waHAJKHJldmlzaW9uIDI3NDI5MikKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxp
ZGF0aW9uL3Jlc291cmNlcy9yZWRpcmVjdC10by1jc3MucGhwCShub25leGlzdGVudCkKQEAgLTEs
NiArMCwwIEBACi08P3BocAotaGVhZGVyKCdIVFRQLzEuMSAzMDIgRm91bmQnKTsKLWhlYWRlcign
TG9jYXRpb246IC9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3Vy
Y2VzL2Nzcy10by1yZXZhbGlkYXRlLnBocCcpOwotaGVhZGVyKCdFeHBpcmVzOiBUaHUsIDAxIERl
YyAyMDAzIDE2OjAwOjAwIEdNVCcpOwotaGVhZGVyKCdFVGFnOiBmb28nKTsKLT8+CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRh
dGlvbi9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tY3NzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jl
c291cmNlcy9yZWRpcmVjdC10by1jc3MucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3Vy
Y2VzL3JlZGlyZWN0LXRvLWNzcy5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExIEBACisj
IS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBzeXMKKworc3lzLnN0ZG91dC53cml0ZSgK
KyAgICAnc3RhdHVzOiAzMDJcclxuJworICAgICdMb2NhdGlvbjogL2NhY2hlL2Rpc2stY2FjaGUv
c3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY3NzLXRvLXJldmFsaWRhdGUucHlcclxu
JworICAgICdFeHBpcmVzOiBUaHUsIDAxIERlYyAyMDAzIDE2OjAwOjAwIEdNVFxyXG4nCisgICAg
J0VUYWc6IGZvb1xyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCisp
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24v
cmVzb3VyY2VzL3JlZGlyZWN0LXRvLWNzcy5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0
YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12
YWxpZGF0aW9uL3Jlc291cmNlcy9yZXF1ZXN0LWhlYWRlcnMtc2NyaXB0LnBocAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUt
dmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVxdWVzdC1oZWFkZXJzLXNjcmlwdC5waHAJKHJldmlzaW9u
IDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVj
dWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXF1ZXN0LWhlYWRlcnMtc2NyaXB0LnBocAko
bm9uZXhpc3RlbnQpCkBAIC0xLDEyICswLDAgQEAKLTw/cGhwCi1oZWFkZXIoJ0NvbnRlbnQtVHlw
ZTogdGV4dC9qYXZhc2NyaXB0Jyk7Ci1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MCcp
OwotaGVhZGVyKCdFdGFnOiAxMjM0NTY3ODknKTsKLQotPz4KLWFsbFJlcXVlc3RIZWFkZXJzID0g
W107Ci08P3BocAotZm9yZWFjaCAoZ2V0YWxsaGVhZGVycygpIGFzICRuYW1lID0+ICR2YWx1ZSkg
ewotICAgIGVjaG8gImFsbFJlcXVlc3RIZWFkZXJzWyciIC4gJG5hbWUgLiAiJ10gPSAnIiAuICR2
YWx1ZSAuICInOyI7Ci19Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9k
aXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3JlcXVlc3QtaGVhZGVy
cy1zY3JpcHQucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9k
aXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3JlcXVlc3QtaGVhZGVy
cy1zY3JpcHQucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3JlcXVlc3QtaGVh
ZGVycy1zY3JpcHQucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorIyEvdXNyL2Jp
bi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworaGVhZGVycyA9IHt9Citm
b3IgaGVhZGVybmFtZSwgaGVhZGVydmFsdWUgaW4gb3MuZW52aXJvbi5pdGVtcygpOgorICAgIGlm
IG5vdCBoZWFkZXJuYW1lLnN0YXJ0c3dpdGgoJ0hUVFBfJyk6CisgICAgICAgIGNvbnRpbnVlCisg
ICAgaGVhZGVyc1snLScuam9pbignICcuam9pbihoZWFkZXJuYW1lWzU6XS5sb3dlcigpLnJlcGxh
Y2UoJ18nLCAnLScpLnNwbGl0KCctJykpLnRpdGxlKCkuc3BsaXQoJyAnKSldID0gaGVhZGVydmFs
dWUKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3Jp
cHRcclxuJworICAgICdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTBcclxuJworICAgICdFdGFnOiAx
MjM0NTY3ODlcclxuXHJcbicKKyAgICAnYWxsUmVxdWVzdEhlYWRlcnMgPSBbXTtcbicKKykKKwor
Zm9yIGtleSBpbiBoZWFkZXJzOgorICAgIHN5cy5zdGRvdXQud3JpdGUoZidhbGxSZXF1ZXN0SGVh
ZGVyc1tcJ3trZXl9XCddID0gXCd7aGVhZGVyc1trZXldfVwnOycpClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3JlcXVlc3Qt
aGVhZGVycy1zY3JpcHQucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAs
MCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9y
ZXNvdXJjZXMvcmVzb3VyY2Utd2l0aC1hdXRoLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNv
dXJjZXMvcmVzb3VyY2Utd2l0aC1hdXRoLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24v
cmVzb3VyY2VzL3Jlc291cmNlLXdpdGgtYXV0aC5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxOCAr
MCwwIEBACi08P3BocAotJGV4cGVjdGVkVXNlcm5hbWUgPSAndGVzdFVzZXJuYW1lJzsKLSRleHBl
Y3RlZFBhc3N3b3JkID0gJ3Rlc3RQYXNzd29yZCc7Ci0kcmVhbG0gPSAkX1NFUlZFUlsnUkVRVUVT
VF9VUkknXTsKLQotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdCcpOwotaGVh
ZGVyKCdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTAnKTsKLWhlYWRlcignRXRhZzogMTIzNDU2Nzg5
Jyk7Ci0KLWlmICghaXNzZXQoJF9TRVJWRVJbJ1BIUF9BVVRIX1VTRVInXSkgfHwgJF9TRVJWRVJb
J1BIUF9BVVRIX1VTRVInXSAhPSAkZXhwZWN0ZWRVc2VybmFtZSB8fAotICAgICFpc3NldCgkX1NF
UlZFUlsnUEhQX0FVVEhfUFcnXSkgfHwgJF9TRVJWRVJbJ1BIUF9BVVRIX1BXJ10gIT0gJGV4cGVj
dGVkUGFzc3dvcmQpIHsKLSAgICBoZWFkZXIoIldXVy1BdXRoZW50aWNhdGU6IEJhc2ljIHJlYWxt
PVwiIiAuICRyZWFsbSAuICJcIiIpOwotICAgIGhlYWRlcignSFRUUC8xLjAgNDAxIFVuYXV0aG9y
aXplZCcpOwotICAgIHByaW50ICdTZW50IHVzZXJuYW1lOnBhc3N3b3JkIG9mICgnIC4gJF9TRVJW
RVJbJ1BIUF9BVVRIX1VTRVInXSAuICc6JyAuICRfU0VSVkVSWydQSFBfQVVUSF9QVyddIC4gJykg
d2hpY2ggaXMgbm90IHdoYXQgd2FzIGV4cGVjdGVkJzsKLSAgICBleGl0OwotfQotPz4KLWxvYWRl
ZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUv
c3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVzb3VyY2Utd2l0aC1hdXRoLnB5Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVj
dWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucHkJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1
bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3Jlc291cmNlLXdpdGgtYXV0aC5weQkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDI5IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9y
dCBiYXNlNjQKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitjcmVkZW50aWFscyA9IGJhc2U2NC5i
NjRkZWNvZGUob3MuZW52aXJvbi5nZXQoJ0hUVFBfQVVUSE9SSVpBVElPTicsICcgT2c9PScpLnNw
bGl0KCcgJylbMV0pLmRlY29kZSgpLnNwbGl0KCc6JykKK3VzZXJuYW1lID0gY3JlZGVudGlhbHNb
MF0KK3Bhc3N3b3JkID0gJzonLmpvaW4oY3JlZGVudGlhbHNbMTpdKQorCitleHBlY3RlZFVzZXJu
YW1lID0gJ3Rlc3RVc2VybmFtZScKK2V4cGVjdGVkUGFzc3dvcmQgPSAndGVzdFBhc3N3b3JkJwor
cmVhbG0gPSBvcy5lbnZpcm9uLmdldCgnUkVRVUVTVF9VUkknLCAnJykKKworc3lzLnN0ZG91dC53
cml0ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHRcclxuJworICAgICdDYWNo
ZS1Db250cm9sOiBtYXgtYWdlPTBcclxuJworICAgICdFdGFnOiAxMjM0NTY3ODlcclxuJworKQor
CitpZiB1c2VybmFtZSAhPSBleHBlY3RlZFVzZXJuYW1lIG9yIHBhc3N3b3JkICE9IGV4cGVjdGVk
UGFzc3dvcmQ6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgZidXV1ctQXV0aGVudGlj
YXRlOiBCYXNpYyByZWFsbT0ie3JlYWxtfSJcclxuJworICAgICAgICAnc3RhdHVzOiA0MDFcclxu
XHJcbicKKyAgICAgICAgZidTZW50IHVzZXJuYW1lOnBhc3N3b3JkIG9mICh7dXNlcm5hbWV9Ontw
YXNzd29yZH0pIHdoaWNoIGlzIG5vdCB3aGF0IHdhcyBleHBlY3RlZFxuJworICAgICkKKyAgICBz
eXMuZXhpdCgwKQorCitzeXMuc3Rkb3V0LndyaXRlKCdcclxubG9hZGVkID0gdHJ1ZTtcbicpClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVz
b3VyY2VzL3Jlc291cmNlLXdpdGgtYXV0aC5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0
YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12
YWxpZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucGhwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2
ZS12YWxpZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucGhwCShyZXZp
c2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUv
c3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1l
LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDE2ICswLDAgQEAKLTw/cGhwCi1oZWFkZXIoJ0NvbnRl
bnQtVHlwZTogdGV4dC9odG1sJyk7Ci1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MCcp
OwotaGVhZGVyKCdFdGFnOiAxMjM0NTY3ODknKTsKLSRjb29raWUgPSAic3BlY3VsYXRpdmVSZXF1
ZXN0VmFsaWRhdGlvbj0iIC4gdW5pcWlkKCk7Ci1oZWFkZXIoJ1NldC1Db29raWU6ICcgLiAkY29v
a2llKTsKLT8+Ci08IURPQ1RZUEUgaHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9InJlcXVlc3Qt
aGVhZGVycy1zY3JpcHQucGhwIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci08P3BocAotZWNobyAic2Vu
dFNldENvb2tpZUhlYWRlciA9ICciIC4gJGNvb2tpZSAuICInOyI7Ci0/PgotPC9zY3JpcHQ+Ci08
L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3Bl
Y3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1lLnB5
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9z
cGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUu
cHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNh
Y2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3ZhbGlkYXRpb24tcmVxdWVzdC1m
cmFtZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIwIEBACisjIS91c3IvYmluL2VudiBw
eXRob24zCisKK2ltcG9ydCBzeXMKK2Zyb20gdXVpZCBpbXBvcnQgdXVpZDEKKworY29va2llID0g
ZidzcGVjdWxhdGl2ZVJlcXVlc3RWYWxpZGF0aW9uPXt1dWlkMSgpfScKKworc3lzLnN0ZG91dC53
cml0ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJworICAgICdDYWNoZS1Db250
cm9sOiBtYXgtYWdlPTBcclxuJworICAgICdFdGFnOiAxMjM0NTY3ODlcclxuJworICAgIGYnU2V0
LUNvb2tpZToge2Nvb2tpZX1cclxuXHJcbicKKyAgICAnPCFET0NUWVBFIGh0bWw+XG4nCisgICAg
Jzxib2R5PlxuJworICAgICc8c2NyaXB0IHNyYz0icmVxdWVzdC1oZWFkZXJzLXNjcmlwdC5weSI+
PC9zY3JpcHQ+XG4nCisgICAgJzxzY3JpcHQ+XG4nCisgICAgZidzZW50U2V0Q29va2llSGVhZGVy
ID0gXCd7Y29va2llfVwnO1xuJworICAgICc8L3NjcmlwdD5cbicKKyAgICAnPC9ib2R5PlxuJwor
KQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9u
L3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucHkKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9ib2R5
LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9ib2R5LnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvYm9keS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLTw/
cGhwCi1oZWFkZXIoJ0V0YWc6IDEyMzQ1Njc4OScpOwotZWNobyBmaWxlX2dldF9jb250ZW50cygn
cGhwOi8vaW5wdXQnKTsKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9ib2R5LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL2JvZHkucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9yZXNvdXJjZXMvYm9keS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEx
IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBzeXMKKworZGF0YSA9ICcnLmpv
aW4oc3lzLnN0ZGluLnJlYWRsaW5lcygpKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdFdGFn
OiAxMjM0NTY3ODlcclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJwor
ICAgIGYne2RhdGF9JworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2JvZHkucHkK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnBocAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnBocAkocmV2
aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMv
Y2FjaGVhYmxlLWlmcmFtZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMSArMCwwIEBACi08P3Bo
cAotcmVxdWlyZV9vbmNlICcuLi8uLi9yZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXllci5waHAnOwot
Ci0kbWF4X2FnZSA9IDEyICogMzEgKiAyNCAqIDYwICogNjA7IC8vb25lIHllYXIKLSRleHBpcmVz
ID0gZ21kYXRlKERBVEVfUkZDMTEyMywgdGltZSgpICsgJG1heF9hZ2UpOwotCi1oZWFkZXIoJ0Nh
Y2hlLUNvbnRyb2w6IHB1YmxpYywgbWF4LWFnZT0nIC4gJG1heF9hZ2UpOwotaGVhZGVyKCdFeHBp
cmVzOiAnIC4gJGV4cGlyZXMpOwotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbCcpOwot
ZXhpdCgpOwotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L2NhY2hlYWJsZS1pZnJhbWUucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLWlmcmFtZS5weQkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnB5
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMK
KworaW1wb3J0IHN5cworCittYXhfYWdlID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MAorZXhwaXJl
cyA9ICd7fSArMDAwMCcuZm9ybWF0KChkYXRldGltZS51dGNub3coKSArIHRpbWVkZWx0YShzZWNv
bmRzPW1heF9hZ2UpKS5zdHJmdGltZSgnJWEsICVkICViICVZICVIOiVNOiVTJykpCisKK3N5cy5z
dGRvdXQud3JpdGUoCisgICAgZidDYWNoZS1Db250cm9sOiBwdWJsaWMsIG1heC1hZ2U9e21heF9h
Z2V9XHJcbicKKyAgICBmJ0V4cGlyZXM6IHtleHBpcmVzfVxyXG4nCisgICAgJ0NvbnRlbnQtVHlw
ZTogdGV4dC9odG1sXHJcblxyXG4nCispCitzeXMuZXhpdCgwKQpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1pZnJhbWUucHkKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4
ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUt
cmFuZG9tLXRleHQucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5waHAJKHJldmlzaW9uIDI3NDI5MikK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5k
b20tdGV4dC5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBACi08P3BocAotICAgICRt
YXhfYWdlID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MDsgLy9vbmUgeWVhcgotICAgIGhlYWRlcign
Q2FjaGUtQ29udHJvbDogcHVibGljLCBtYXgtYWdlPScgLiAkbWF4X2FnZSk7Ci0gICAgaGVhZGVy
KCdDb250ZW50LVR5cGU6IHRleHQvaHRtbCcpOwotCi0gICAgJGlkID0gJEdFVFsnaWQnXTsKLSAg
ICBpZiAoIWlzc2V0KCRHRVRbJ3JhbmRvbV9pZCddKSkgewotICAgICAgICAkaWQgPSAnJzsKLSAg
ICAgICAgJGNoYXJzZXQgPSAnQUJDREVGR0hJS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODknOwot
ICAgICAgICBmb3IgKCRpID0gMDsgJGkgPCAxNjsgJGkrKykKLSAgICAgICAgICAgICRpZCAuPSAk
Y2hhcnNldFtyYW5kKDAsIHN0cmxlbigkY2hhcnNldCkgLSAxKV07Ci0gICAgfQotICAgIGVjaG8g
JzxodG1sPjxib2R5PlNvbWUgcmFuZG9tIHRleHQnIC4gJGlkIC4gICc8L2htbD48L2JvZHk+JzsK
LT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFi
bGUtcmFuZG9tLXRleHQucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLXJhbmRvbS10ZXh0LnB5CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20t
dGV4dC5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI1IEBACisjIS91c3IvYmluL2VudiBw
eXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSByYW5kb20gaW1wb3J0IHJhbmRp
bnQKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9ydCBwYXJzZV9xcworCitxdWVyeSA9IHBhcnNlX3Fz
KG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAnJyksIGtlZXBfYmxhbmtfdmFsdWVzPVRy
dWUpCitpZGVudCA9IHF1ZXJ5LmdldCgnaWQnLCBbJyddKVswXQorCittYXhfYWdlID0gMTIgKiAz
MSAqIDI0ICogNjAgKiA2MAorcmFuZG9tX2lkZW50ID0gVHJ1ZSBpZiBxdWVyeS5nZXQoJ3JhbmRv
bV9pZCcsIFtOb25lXSlbMF0gaXMgbm90IE5vbmUgZWxzZSBGYWxzZQorCitzeXMuc3Rkb3V0Lndy
aXRlKAorICAgIGYnQ2FjaGUtQ29udHJvbDogcHVibGljLCBtYXgtYWdlPXttYXhfYWdlfVxyXG4n
CisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCispCisKK2lmIG5vdCByYW5k
b21faWRlbnQ6CisgICAgaWRlbnQgPSAnJworICAgIGNoYXJzZXQgPSAnQUJDREVGR0hJS0xNTk9Q
UVJTVFVWV1hZWjAxMjM0NTY3ODknCisgICAgZm9yIGkgaW4gcmFuZ2UoMCwgMTYpOgorICAgICAg
ICBpZGVudCArPSBjaGFyc2V0W3JhbmRpbnQoMCwgbGVuKGNoYXJzZXQpIC0gMSldCisKK3N5cy5z
dGRvdXQud3JpdGUoZic8aHRtbD48Ym9keT5Tb21lIHJhbmRvbSB0ZXh0e2lkZW50fTwvaG1sPjwv
Ym9keT4nKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20t
dGV4dC5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisq
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBocAkocmV2aXNpb24g
Mjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1l
MzA0LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDIxICswLDAgQEAKLTw/cGhwDQotcmVxdWlyZV9v
bmNlICcuLi8uLi9yZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXllci5waHAnOw0KLQ0KLWNsZWFyc3Rh
dGNhY2hlKCk7DQotDQotaWYgKCRfU0VSVkVSWyJIVFRQX0lGX01PRElGSUVEX1NJTkNFIl0pIHsN
Ci0gICAgaGVhZGVyKCJIVFRQLzEuMSAzMDQgTm90IE1vZGlmaWVkIik7DQotICAgIGV4aXQoKTsN
Ci19DQotJG9uZV95ZWFyID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MDsNCi0kbGFzdF9tb2RpZmll
ZCA9IGdtZGF0ZShEQVRFX1JGQzExMjMsIHRpbWUoKSAtICRvbmVfeWVhcik7DQotJGV4cGlyZXMg
PSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgKyAkb25lX3llYXIpOw0KLQ0KLWhlYWRlcign
Q2FjaGUtQ29udHJvbDogbm8tY2FjaGUsIG1heC1hZ2U9JyAuICRvbmVfeWVhcik7DQotaGVhZGVy
KCdFeHBpcmVzOiAnIC4gJGV4cGlyZXMpOw0KLWhlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0L2h0
bWwnKTsNCi1oZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoOiAwJyk7DQotaGVhZGVyKCdFdGFnOiAxMjM0
NTY3ODknKTsNCi1oZWFkZXIoJ0xhc3QtTW9kaWZpZWQ6ICcgLiAkbGFzdF9tb2RpZmllZCk7DQot
ZXhpdCgpOw0KLT8+DQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvaWZyYW1lMzA0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucHkJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwyNyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9y
dCBzeXMKK2Zyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lZGVsdGEKKworbW9kaWZp
ZWRfc2luY2UgPSBvcy5lbnZpcm9uLmdldCgnSFRUUF9JRl9NT0RJRklFRF9TSU5DRScsICcnKQor
CitzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nKQorCitpZiBt
b2RpZmllZF9zaW5jZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdzdGF0dXM6IDMwNFxyXG5cclxu
JykKKyAgICBzeXMuZXhpdCgwKQorCitvbmVfeWVhciA9IDEyICogMzEgKiAyNCAqIDYwICogNjAK
K2xhc3RfbW9kaWZpZWQgPSAne30gKzAwMDAnLmZvcm1hdCgoZGF0ZXRpbWUudXRjbm93KCkgLSB0
aW1lZGVsdGEoc2Vjb25kcz1vbmVfeWVhcikpLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06
JVMnKSkKK2V4cGlyZXMgPSAne30gKzAwMDAnLmZvcm1hdCgoZGF0ZXRpbWUudXRjbm93KCkgKyB0
aW1lZGVsdGEoc2Vjb25kcz1vbmVfeWVhcikpLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06
JVMnKSkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICBmJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hl
LCBtYXgtYWdlPXtvbmVfeWVhcn1cclxuJworICAgIGYnRXhwaXJlczoge2V4cGlyZXN9XHJcbicK
KyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJworICAgICdDb250ZW50LUxlbmd0aDog
MFxyXG4nCisgICAgJ0V0YWc6IDEyMzQ1Njc4OVxyXG4nCisgICAgZidMYXN0LU1vZGlmaWVkOiB7
bGFzdF9tb2RpZmllZH1cclxuJworKQorc3lzLmV4aXQoMCkKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9pZnJhbWUzMDQucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUK
IyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDRib2R5LnBocAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJh
bWUzMDRib2R5LnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0Ym9keS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwx
NCArMCwwIEBACi08P3BocA0KLXJlcXVpcmVfb25jZSAnLi4vLi4vcmVzb3VyY2VzL3BvcnRhYmls
aXR5TGF5ZXIucGhwJzsNCi0NCi1jbGVhcnN0YXRjYWNoZSgpOw0KLQ0KLWlmICgkX1NFUlZFUlsi
SFRUUF9JRl9NT0RJRklFRF9TSU5DRSJdKSB7DQotICAgIGhlYWRlcigiSFRUUC8xLjEgMzA0IE5v
dCBNb2RpZmllZCIpOw0KLSAgICBleGl0KCk7DQotfQ0KLWhlYWRlcignQ2FjaGUtQ29udHJvbDog
bm8tY2FjaGUnKTsNCi1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sJyk7DQotaGVhZGVy
KCdFdGFnOiAxMjM0NTY3ODknKTsNCi0/Pg0KLWJvZHkgdGV4dApcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lm
cmFtZTMwNGJvZHkucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvaWZyYW1lMzA0Ym9keS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDRib2R5LnB5CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMTggQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9z
CitpbXBvcnQgc3lzCisKK21vZGlmaWVkX3NpbmNlID0gb3MuZW52aXJvbi5nZXQoJ0hUVFBfSUZf
TU9ESUZJRURfU0lOQ0UnLCAnJykKKworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0
ZXh0L2h0bWxcclxuJykKKworaWYgbW9kaWZpZWRfc2luY2U6CisgICAgc3lzLnN0ZG91dC53cml0
ZSgnc3RhdHVzOiAzMDRcclxuXHJcbicpCisgICAgc3lzLmV4aXQoMCkKKworc3lzLnN0ZG91dC53
cml0ZSgKKyAgICAnQ2FjaGUtQ29udHJvbDogbm8tY2FjaGVcclxuJworICAgICdFdGFnOiAxMjM0
NTY3ODlcclxuXHJcbicKKyAgICAnYm9keSB0ZXh0JworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL2lmcmFtZTMwNGJvZHkucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFi
bGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9sb2FkLWFuZC1jaGVjay1y
ZWZlcmVyLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9sb2FkLWFuZC1jaGVjay1yZWZlcmVyLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbG9hZC1hbmQtY2hlY2stcmVm
ZXJlci5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw0MCArMCwwIEBACi08PwotZnVuY3Rpb24gY29u
dGVudFR5cGUoJHBhdGgpCi17Ci0gICAgaWYgKHByZWdfbWF0Y2goIi9cLmh0bWwkLyIsICRwYXRo
KSkKLSAgICAgICAgcmV0dXJuICJ0ZXh0L2h0bWwiOwotICAgIGlmIChwcmVnX21hdGNoKCIvXC5t
YW5pZmVzdCQvIiwgJHBhdGgpKQotICAgICAgICByZXR1cm4gInRleHQvY2FjaGUtbWFuaWZlc3Qi
OwotICAgIGlmIChwcmVnX21hdGNoKCIvXC5qcyQvIiwgJHBhdGgpKQotICAgICAgICByZXR1cm4g
InRleHQvamF2YXNjcmlwdCI7Ci0gICAgaWYgKHByZWdfbWF0Y2goIi9cLnhtbCQvIiwgJHBhdGgp
KQotICAgICAgICByZXR1cm4gImFwcGxpY2F0aW9uL3htbCI7Ci0gICAgaWYgKHByZWdfbWF0Y2go
Ii9cLnhodG1sJC8iLCAkcGF0aCkpCi0gICAgICAgIHJldHVybiAiYXBwbGljYXRpb24veGh0bWwr
eG1sIjsKLSAgICBpZiAocHJlZ19tYXRjaCgiL1wuc3ZnJC8iLCAkcGF0aCkpCi0gICAgICAgIHJl
dHVybiAiYXBwbGljYXRpb24vc3ZnK3htbCI7Ci0gICAgaWYgKHByZWdfbWF0Y2goIi9cLnhzbCQv
IiwgJHBhdGgpKQotICAgICAgICByZXR1cm4gImFwcGxpY2F0aW9uL3hzbHQreG1sIjsKLSAgICBp
ZiAocHJlZ19tYXRjaCgiL1wuZ2lmJC8iLCAkcGF0aCkpCi0gICAgICAgIHJldHVybiAiaW1hZ2Uv
Z2lmIjsKLSAgICBpZiAocHJlZ19tYXRjaCgiL1wuanBnJC8iLCAkcGF0aCkpCi0gICAgICAgIHJl
dHVybiAiaW1hZ2UvanBlZyI7Ci0gICAgaWYgKHByZWdfbWF0Y2goIi9cLnBuZyQvIiwgJHBhdGgp
KQotICAgICAgICByZXR1cm4gImltYWdlL3BuZyI7Ci0gICAgcmV0dXJuICJ0ZXh0L3BsYWluIjsK
LX0KLQotJHBhdGggPSAkX0dFVFsncGF0aCddOwotJGV4cGVjdGVkUmVmZXJlciA9ICRfR0VUWydl
eHBlY3RlZC1yZWZlcmVyJ107Ci0kcmVmZXJlciA9ICRfU0VSVkVSWyJIVFRQX1JFRkVSRVIiXTsK
LQotaWYgKCRleHBlY3RlZFJlZmVyZXIgPT0gJHJlZmVyZXIgJiYgZmlsZV9leGlzdHMoJHBhdGgp
KSB7Ci0gICAgaGVhZGVyKCdIVFRQLzEuMSAyMDAgT0snKTsKLSAgICBoZWFkZXIoIkNhY2hlLWNv
bnRyb2w6IG5vLXN0b3JlIik7Ci0gICAgaGVhZGVyKCJDb250ZW50LVR5cGU6ICIgLiBjb250ZW50
VHlwZSgkcGF0aCkpOwotICAgIHByaW50IGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRoKTsKLX0gZWxz
ZSB7Ci0gICAgaGVhZGVyKCdIVFRQLzEuMSA0MDQgTm90IEZvdW5kJyk7Ci19Ci0KLT8+CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9sb2FkLWFuZC1jaGVjay1y
ZWZlcmVyLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL2xvYWQtYW5kLWNoZWNrLXJlZmVyZXIucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbG9hZC1hbmQtY2hlY2stcmVmZXJlci5w
eQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUwIEBACisjIS91c3IvYmluL2VudiBweXRob24z
CisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNl
X3FzCisKK2RlZiBjb250ZW50VHlwZShwYXRoKToKKyAgICBpZiBwYXRoLmVuZHN3aXRoKCcuaHRt
bCcpOgorICAgICAgICByZXR1cm4gJ3RleHQvaHRtbCcKKyAgICBpZiBwYXRoLmVuZHN3aXRoKCcu
bWFuaWZlc3QnKToKKyAgICAgICAgcmV0dXJuICd0ZXh0L2NhY2hlLW1hbmlmZXN0JworICAgIGlm
IHBhdGguZW5kc3dpdGgoJy5qcycpOgorICAgICAgICByZXR1cm4gJ3RleHQvamF2YXNjcmlwdCcK
KyAgICBpZiBwYXRoLmVuZHN3aXRoKCcueG1sJyk6CisgICAgICAgIHJldHVybiAnYXBwbGljYXRp
b24veG1sJworICAgIGlmIHBhdGguZW5kc3dpdGgoJy54aHRtbCcpOgorICAgICAgICByZXR1cm4g
J2FwcGxpY2F0aW9uL3hodG1sK3htbCcKKyAgICBpZiBwYXRoLmVuZHN3aXRoKCcuc3ZnJyk6Cisg
ICAgICAgIHJldHVybiAnYXBwbGljYXRpb24vc3ZnK3htbCcKKyAgICBpZiBwYXRoLmVuZHN3aXRo
KCcueHNsJyk6CisgICAgICAgIHJldHVybiAnYXBwbGljYXRpb24veHNsdCt4bWwnCisgICAgaWYg
cGF0aC5lbmRzd2l0aCgnLmdpZicpOgorICAgICAgICByZXR1cm4gJ2ltYWdlL2dpZicKKyAgICBp
ZiBwYXRoLmVuZHN3aXRoKCcuanBnJyk6CisgICAgICAgIHJldHVybiAnaW1hZ2UvanBlZycKKyAg
ICBpZiBwYXRoLmVuZHN3aXRoKCcucG5nJyk6CisgICAgICAgIHJldHVybiAnaW1hZ2UvcG5nJwor
ICAgIHJldHVybiAndGV4dC9wbGFpbicKKworcmVmZXJlciA9IG9zLmVudmlyb24uZ2V0KCdIVFRQ
X1JFRkVSRVInLCAnJykKKworcXVlcnkgPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllf
U1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKQorcGF0aCA9IHF1ZXJ5LmdldCgn
cGF0aCcsIFsnJ10pWzBdCitleHBlY3RlZF9yZWZlcmVyID0gcXVlcnkuZ2V0KCdleHBlY3RlZC1y
ZWZlcmVyJywgWycnXSlbMF0KKworaWYgZXhwZWN0ZWRfcmVmZXJlciA9PSByZWZlcmVyIGFuZCBv
cy5wYXRoLmlzZmlsZShwYXRoKToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnc3Rh
dHVzOiAyMDBcclxuJworICAgICAgICAnQ2FjaGUtY29udHJvbDogbm8tc3RvcmVcclxuJworICAg
ICAgICBmJ0NvbnRlbnQtVHlwZToge2NvbnRlbnRUeXBlKHBhdGgpfVxyXG5cclxuJworICAgICkK
KworICAgIHN5cy5zdGRvdXQuZmx1c2goKQorICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4oJy8n
LmpvaW4oX19maWxlX18uc3BsaXQoJy8nKVswOi0xXSksIHBhdGgpLCAncmInKSBhcyBmaWxlOgor
ICAgICAgICBzeXMuc3Rkb3V0LmJ1ZmZlci53cml0ZShmaWxlLnJlYWQoKSkKK2Vsc2U6CisgICAg
c3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ3N0YXR1czogNDA0XHJcbicKKyAgICAgICAgJ0Nv
bnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCisgICAgKQpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL2xvYWQtYW5kLWNoZWNrLXJlZmVyZXIucHkKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1j
YWNoZS1tYWluLXJlc291cmNlLW5leHQucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5waHAJ
KHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwx
MSArMCwwIEBACi08P3BocAotaGVhZGVyKCJDYWNoZS1jb250cm9sOiBuby1jYWNoZSwgbWF4LWFn
ZT0wIik7Ci1oZWFkZXIoIkxhc3QtTW9kaWZpZWQ6IFRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAg
R01UIik7Ci1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sJyk7Ci0KLXByaW50ICI8c2Ny
aXB0PlxuIjsKLXByaW50ICJ2YXIgcmFuZG9tTnVtYmVyID0gIiAuIHJhbmQoKSAuICI7XG4iOwot
Pz4KLQotb3BlbmVyLnBvc3RNZXNzYWdlKHJhbmRvbU51bWJlciwgJyonKTsKLTwvc2NyaXB0PgpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFp
bi1yZXNvdXJjZS1uZXh0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5weQkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1t
YWluLXJlc291cmNlLW5leHQucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNCBAQAorIyEv
dXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgc3lzCitmcm9tIHJhbmRvbSBpbXBvcnQgcmFu
ZGludAorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdDYWNoZS1jb250cm9sOiBuby1jYWNoZSwg
bWF4LWFnZT0wXHJcbicKKyAgICAnTGFzdC1Nb2RpZmllZDogVGh1LCAwMSBKYW4gMTk3MCAwMDow
MDowMCBHTVRcclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworICAg
ICc8c2NyaXB0PlxuJworICAgIGYndmFyIHJhbmRvbU51bWJlciA9IHtyYW5kaW50KDAsIHN5cy5t
YXhzaXplKX07XG4nCisgICAgJ29wZW5lci5wb3N0TWVzc2FnZShyYW5kb21OdW1iZXIsIFwnKlwn
KTtcbicKKyAgICAnPC9zY3JpcHQ+XG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS1uZXh0LnB5Cl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
eGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUt
bWFpbi1yZXNvdXJjZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS5waHAJKHJldmlzaW9uIDI3NDI5
MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1h
aW4tcmVzb3VyY2UucGhwCShub25leGlzdGVudCkKQEAgLTEsMzQgKzAsMCBAQAotPD9waHAKLWhl
YWRlcigiQ2FjaGUtY29udHJvbDogbm8tY2FjaGUsIG1heC1hZ2U9MCIpOwotaGVhZGVyKCJMYXN0
LU1vZGlmaWVkOiBUaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIEdNVCIpOwotaGVhZGVyKCdDb250
ZW50LVR5cGU6IHRleHQvaHRtbCcpOwotCi1wcmludCAiPHNjcmlwdD5cbiI7Ci1wcmludCAidmFy
IHJhbmRvbU51bWJlciA9ICIgLiByYW5kKCkgLiAiO1xuIjsKLT8+Ci0KLW9wZW5lci5wb3N0TWVz
c2FnZShyYW5kb21OdW1iZXIsICcqJyk7Ci0KLS8vIE91ciBvcGVuZXIgd2lsbCB0ZWxsIHVzIHRv
IHBlcmZvcm0gdmFyaW91cyBsb2Fkcy4KLXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdl
JywgZnVuY3Rpb24oZXZlbnQpIHsKLQotICAgIC8vIEdvIGZvcndhcmQgYW5kIGJhY2suCi0gICAg
aWYgKGV2ZW50LmRhdGEgPT09ICdnby1mb3J3YXJkLWFuZC1iYWNrJykgewotICAgICAgICB3aW5k
b3cubG9jYXRpb24gPSAnaGlzdG9yeS1iYWNrLmh0bWwnOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgLy8gUmVsb2FkLgotICAgIGlmIChldmVudC5kYXRhID09PSAncmVsb2FkJykgewot
ICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0KLSAgICAvLyBOb3JtYWwgbmF2aWdhdGlvbiwgbmV4dC4KLSAgICBpZiAoZXZlbnQuZGF0YSA9
PT0gJ25leHQnKSB7Ci0gICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9ICduby1jYWNoZS1tYWluLXJl
c291cmNlLW5leHQucGhwJzsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotfSwgZmFsc2UpOwot
PC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9u
by1jYWNoZS1tYWluLXJlc291cmNlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UucHkJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUt
bWFpbi1yZXNvdXJjZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM3IEBACisjIS91c3Iv
YmluL2VudiBweXRob24zCisKK2ltcG9ydCBzeXMKK2Zyb20gcmFuZG9tIGltcG9ydCByYW5kaW50
CisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NhY2hlLWNvbnRyb2w6IG5vLWNhY2hlLCBtYXgt
YWdlPTBcclxuJworICAgICdMYXN0LU1vZGlmaWVkOiBUaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAw
IEdNVFxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCisgICAgJzxz
Y3JpcHQ+XG4nCisgICAgZid2YXIgcmFuZG9tTnVtYmVyID0ge3JhbmRpbnQoMCwgc3lzLm1heHNp
emUgKyAxKX07XG4nCisgICAgJ29wZW5lci5wb3N0TWVzc2FnZShyYW5kb21OdW1iZXIsIFwnKlwn
KTtcbicKKyAgICAnXG4nCisgICAgJy8vIE91ciBvcGVuZXIgd2lsbCB0ZWxsIHVzIHRvIHBlcmZv
cm0gdmFyaW91cyBsb2Fkcy5cbicKKyAgICAnd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCdtZXNz
YWdlXCcsIGZ1bmN0aW9uKGV2ZW50KSB7XG4nCisgICAgJ1xuJworICAgICcgICAgLy8gR28gZm9y
d2FyZCBhbmQgYmFjay5cbicKKyAgICAnICAgIGlmIChldmVudC5kYXRhID09PSBcJ2dvLWZvcndh
cmQtYW5kLWJhY2tcJykge1xuJworICAgICcgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IFwnaGlz
dG9yeS1iYWNrLmh0bWxcJztcbicKKyAgICAnICAgICAgICByZXR1cm47XG4nCisgICAgJyAgICB9
XG4nCisgICAgJ1xuJworICAgICcgICAgLy8gUmVsb2FkLlxuJworICAgICcgICAgaWYgKGV2ZW50
LmRhdGEgPT09IFwncmVsb2FkXCcpIHtcbicKKyAgICAnICAgICAgICB3aW5kb3cubG9jYXRpb24u
cmVsb2FkKCk7XG4nCisgICAgJyAgICAgICAgcmV0dXJuO1xuJworICAgICcgICAgfVxuJworICAg
ICdcbicKKyAgICAnICAgIC8vIE5vcm1hbCBuYXZpZ2F0aW9uLCBuZXh0LlxuJworICAgICcgICAg
aWYgKGV2ZW50LmRhdGEgPT09IFwnbmV4dFwnKSB7XG4nCisgICAgJyAgICAgICAgd2luZG93Lmxv
Y2F0aW9uID0gXCduby1jYWNoZS1tYWluLXJlc291cmNlLW5leHQucHlcJztcbicKKyAgICAnICAg
ICAgICByZXR1cm47XG4nCisgICAgJyAgICB9XG4nCisgICAgJ1xuJworICAgICd9LCBmYWxzZSk7
XG4nCisgICAgJzwvc2NyaXB0PlxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L25vLWNhY2hlLW1haW4tcmVzb3VyY2UucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFi
bGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS13aXRoLXZh
bGlkYXRpb24ucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL25vLWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5waHAJKHJldmlzaW9uIDI3NDI5MikK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLXdpdGgt
dmFsaWRhdGlvbi5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMCArMCwwIEBACi08P3BocAotaWYg
KCRfU0VSVkVSWyJIVFRQX0lGX01PRElGSUVEX1NJTkNFIl0pIHsKLSAgICBoZWFkZXIoIkhUVFAv
MS4wIDMwNCBOb3QgTW9kaWZpZWQiKTsKLSAgICBleGl0KCk7Ci19Ci1oZWFkZXIoIkNhY2hlLWNv
bnRyb2w6IG5vLWNhY2hlIik7Ci1oZWFkZXIoIkxhc3QtTW9kaWZpZWQ6IFRodSwgMDEgSmFuIDE5
NzAgMDA6MDA6MDAgR01UIik7Ci1oZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbiIpOwot
Pz4KLWZvbwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8t
Y2FjaGUtd2l0aC12YWxpZGF0aW9uLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5weQkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNo
ZS13aXRoLXZhbGlkYXRpb24ucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxOCBAQAorIyEv
dXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworbW9kaWZpZWRf
c2luY2UgPSBvcy5lbnZpcm9uLmdldCgnSFRUUF9JRl9NT0RJRklFRF9TSU5DRScsICcnKQorCitz
eXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvcGxhaW5cclxuJykKKworaWYgbW9k
aWZpZWRfc2luY2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgnc3RhdHVzOiAzMDRcclxuXHJcbicp
CisgICAgc3lzLmV4aXQoMCkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ2FjaGUtY29udHJv
bDogbm8tY2FjaGVcclxuJworICAgICdMYXN0LU1vZGlmaWVkOiBUaHUsIDAxIEphbiAxOTcwIDAw
OjAwOjAwIEdNVFxyXG5cclxuJworICAgICdmb29cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9uby1jYWNoZS13aXRoLXZhbGlkYXRpb24ucHkKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wYXJ0
aXRpb25lZC1jYWNoZS1lY2hvLXN0YXRlLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wYXJ0aXRpb25lZC1jYWNoZS1lY2hvLXN0YXRlLnBo
cAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNv
dXJjZXMvcGFydGl0aW9uZWQtY2FjaGUtZWNoby1zdGF0ZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAt
MSwxMCArMCwwIEBACi08P3BocAotcmVxdWlyZV9vbmNlICcuLi8uLi9yZXNvdXJjZXMvcG9ydGFi
aWxpdHlMYXllci5waHAnOwotCi1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vamF2
YXNjcmlwdCcpOwotaGVhZGVyKCdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTM2MDAnKTsKLQotIyBU
aGlzIHNjcmlwdCBtYXkgb25seSBiZSB1c2VkIGJ5IGNhY2hlL3BhcnRpdGlvbmVkLWNhY2hlLmh0
bWwgdGVzdCwgc2luY2UgaXQgdXNlcyBnbG9iYWwgZGF0YS4KLSR0bXBGaWxlID0gc3lzX2dldF90
ZW1wX2RpcigpIC4gIi8iIC4gImNhY2hlLXBhcnRpdGlvbmVkLWNhY2hlLXN0YXRlIjsKLT8+Ci12
YXIgcmVzcG9uc2UgPSAnPD9waHAgcHJpbnQgZmlsZV9nZXRfY29udGVudHMoJHRtcEZpbGUpOyA/
Pic7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wYXJ0aXRp
b25lZC1jYWNoZS1lY2hvLXN0YXRlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL3BhcnRpdGlvbmVkLWNhY2hlLWVjaG8tc3RhdGUucHkJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGFy
dGl0aW9uZWQtY2FjaGUtZWNoby1zdGF0ZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIw
IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1w
b3J0IHRlbXBmaWxlCisKK2ZpbGUgPSBfX2ZpbGVfXy5zcGxpdCgnOi9jeWd3aW4nKVstMV0KK2h0
dHBfcm9vdCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRo
KG9zLnBhdGguZGlybmFtZShmaWxlKSkpKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkK
KwordG1wRmlsZSA9IG9zLnBhdGguam9pbih0ZW1wZmlsZS5nZXR0ZW1wZGlyKCksICdjYWNoZS1w
YXJ0aXRpb25lZC1jYWNoZS1zdGF0ZScpCitmaWxlID0gb3Blbih0bXBGaWxlLCAncicpCisKK3N5
cy5zdGRvdXQud3JpdGUoCisgICAgJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vamF2YXNjcmlw
dFxyXG4nCisgICAgJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MzYwMFxyXG5cclxuJworICAgIGYn
dmFyIHJlc3BvbnNlID0gXCd7ZmlsZS5yZWFkKCl9XCc7XG4nCispCisKK2ZpbGUuY2xvc2UoKQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3BhcnRpdGlvbmVkLWNhY2hlLWVjaG8tc3Rh
dGUucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9wYXJ0aXRpb25lZC1jYWNoZS1sb2FkZXIuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wYXJ0aXRpb25l
ZC1jYWNoZS1sb2FkZXIuaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9uZWQtY2FjaGUtbG9hZGVyLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTgsNyArOCw3IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogZnVuY3Rp
b24gc2V0U2VydmVyU3RhdGUoc3RyaW5nKQogewogICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJl
cXVlc3Q7Ci0gICAgeGhyLm9wZW4oJ1BPU1QnLCAnL3Jlc291cmNlcy93cml0ZS10ZW1wLWZpbGUu
cGhwP2ZpbGVuYW1lPWNhY2hlLXBhcnRpdGlvbmVkLWNhY2hlLXN0YXRlJmRhdGE9JyArIHN0cmlu
ZywgZmFsc2UpOworICAgIHhoci5vcGVuKCdQT1NUJywgJy9yZXNvdXJjZXMvd3JpdGUtdGVtcC1m
aWxlLnB5P2ZpbGVuYW1lPWNhY2hlLXBhcnRpdGlvbmVkLWNhY2hlLXN0YXRlJmRhdGE9JyArIHN0
cmluZywgZmFsc2UpOwogICAgIHhoci5zZW5kKCk7CiB9CiAKQEAgLTE3LDcgKzE3LDcgQEAgY29u
c29sZS5sb2coJ1NldHRpbmcgc2VydmVyLXNpZGUgcGVyc2lzdAogc2V0U2VydmVyU3RhdGUoZG9j
dW1lbnQuZG9tYWluKTsKIAogdmFyIHNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdzY3JpcHQnKTsKLXNjcmlwdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdzcmMnLCAnaHR0cDov
L2xvY2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wYXJ0aXRpb25lZC1jYWNoZS1lY2hvLXN0
YXRlLnBocCcpOworc2NyaXB0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3NyYycsICdodHRwOi8vbG9j
YWxob3N0OjgwMDAvY2FjaGUvcmVzb3VyY2VzL3BhcnRpdGlvbmVkLWNhY2hlLWVjaG8tc3RhdGUu
cHknKTsKIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0RWxlbWVudCk7CiAKIHdpbmRv
dy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL3Blcm1hbmVudC1yZWRpcmVjdC5waHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGVybWFuZW50LXJlZGlyZWN0LnBocAko
cmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvcGVybWFuZW50LXJlZGlyZWN0LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDYgKzAsMCBAQAot
PD8KLSRsb2NhdGlvbiA9ICRfR0VUWydsb2NhdGlvbiddOwotCi1oZWFkZXIoJ0hUVFAvMS4xIDMw
MSBQZXJtYW5lbnQgUmVkaXJlY3QnKTsKLWhlYWRlcignTG9jYXRpb246JyAuICRsb2NhdGlvbik7
Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGVybWFu
ZW50LXJlZGlyZWN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL3Blcm1hbmVudC1yZWRpcmVjdC5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucHkJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwor
CitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9ydCBwYXJzZV9x
cworCitsb2NhdGlvbiA9IHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAn
JyksIGtlZXBfYmxhbmtfdmFsdWVzPVRydWUpLmdldCgnbG9jYXRpb24nLCBbJ2luZGV4Lmh0bWwn
XSlbMF0KKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnc3RhdHVzOiAzMDFcclxuJworICAgIGYn
TG9jYXRpb246IHtsb2NhdGlvbn1cclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxy
XG5cclxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Blcm1hbmVudC1yZWRp
cmVjdC5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisq
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnB5Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8t
dmVyaWZ5LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsNDggQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lz
CitpbXBvcnQgdGVtcGZpbGUKK2Zyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lZGVs
dGEKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9ydCBwYXJzZV9xcworCitmaWxlID0gX19maWxlX18u
c3BsaXQoJzovY3lnd2luJylbLTFdCitodHRwX3Jvb3QgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0
aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoZmlsZSkpKSkKK3N5cy5w
YXRoLmluc2VydCgwLCBodHRwX3Jvb3QpCisKK3Rlc3QgPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdl
dCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKS5nZXQoJ3Rlc3Qn
LCBbJ3N0YXRlJ10pWzBdCit0bXBGaWxlUGF0aCA9IG9zLnBhdGguam9pbih0ZW1wZmlsZS5nZXR0
ZW1wZGlyKCksICd7fV9zdGF0ZScuZm9ybWF0KHRlc3QpKQorCitpZiBvcy5wYXRoLmlzZmlsZSh0
bXBGaWxlUGF0aCk6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ3N0YXR1czogNDA0
XHJcbicKKyAgICAgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG57fScuZm9ybWF0
KHRtcEZpbGVQYXRoKQorICAgICkKKyAgICBzeXMuZXhpdCgwKQorCit0bXBGaWxlID0gb3Blbih0
bXBGaWxlUGF0aCwgJ3crJykKK3RtcEZpbGUuY2xvc2UoKQorCitmaWxlUGF0aCA9IG9zLnBhdGgu
am9pbignLycuam9pbihfX2ZpbGVfXy5zcGxpdCgnLycpWzA6LTFdKSwgJ2NvbXBhc3Mtbm8tY2Fj
aGUuanBnJykKK3N0YXQgPSBvcy5zdGF0KGZpbGVQYXRoKQorZmlsZW10aW1lID0gc3RhdC5zdF9t
dGltZQorZmlsZXNpemUgPSBzdGF0LnN0X3NpemUKKworZXRhZyA9ICcie30te30iJy5mb3JtYXQo
ZmlsZXNpemUsIGZpbGVtdGltZSkKK2xhc3RfbW9kaWZpZWQgPSAne30gKzAwMDAnLmZvcm1hdChk
YXRldGltZS51dGNmcm9tdGltZXN0YW1wKGZpbGVtdGltZSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAl
WSAlSDolTTolUycpKQorbWF4X2FnZSA9IDEyICogMzEgKiAyNCAqIDYwICogNjAKK2V4cGlyZXMg
PSAne30gKzAwMDAnLmZvcm1hdCgoZGF0ZXRpbWUudXRjbm93KCkgKyB0aW1lZGVsdGEoc2Vjb25k
cz1tYXhfYWdlKSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorCitzeXMuc3Rk
b3V0LndyaXRlKAorICAgICdDYWNoZS1Db250cm9sOiBwdWJsaWMsIG1heC1hZ2U9e31cclxuJwor
ICAgICdFeHBpcmVzOiB7fVxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogaW1hZ2UvcG5nXHJcbicK
KyAgICAnQ29udGVudC1MZW5ndGg6IHt9XHJcbicKKyAgICAnRXRhZzoge31cclxuJworICAgICdM
YXN0LU1vZGlmaWVkOiB7fVxyXG5cclxuJy5mb3JtYXQobWF4X2FnZSwgZXhwaXJlcywgZmlsZXNp
emUsIGV0YWcsIGxhc3RfbW9kaWZpZWQpCispCisKK3N5cy5zdGRvdXQuZmx1c2goKQord2l0aCBv
cGVuKGZpbGVQYXRoLCAncmInKSBhcyBmaWxlOgorICAgIHN5cy5zdGRvdXQuYnVmZmVyLndyaXRl
KGZpbGUucmVhZCgpKQorc3lzLmV4aXQoMCkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9wb3N0LWltYWdlLXRvLXZlcmlmeS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJs
ZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1y
ZXNvdXJjZS1pZnJhbWUucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucGhwCShyZXZp
c2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9w
cmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDEz
ICswLDAgQEAKLTw/cGhwCi1pZiAoJF9TRVJWRVJbIkhUVFBfUFVSUE9TRSJdID09ICJwcmVmZXRj
aCIpIHsKLSAgICBlY2hvICI8c2NyaXB0PiI7Ci0gICAgZWNobyAicGFyZW50LndpbmRvdy5wb3N0
TWVzc2FnZSgnRkFJTCcsICcqJyk7IjsKLSAgICBlY2hvICI8L3NjcmlwdD4iOwotCi0gICAgZXhp
dCgpOwotfQotCi1lY2hvICI8c2NyaXB0PiI7Ci1lY2hvICJwYXJlbnQud2luZG93LnBvc3RNZXNz
YWdlKCdQQVNTJywgJyonKTsiOwotZWNobyAiPC9zY3JpcHQ+IjsKLT8+CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2Ut
aWZyYW1lLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucHkJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWlu
LXJlc291cmNlLWlmcmFtZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIyIEBACisjIS91
c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitwdXJwb3NlID0g
b3MuZW52aXJvbi5nZXQoJ0hUVFBfUFVSUE9TRScsICcnKQorCitzeXMuc3Rkb3V0LndyaXRlKCdD
b250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJykKKworaWYgcHVycG9zZSA9PSAncHJlZmV0
Y2gnOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICc8c2NyaXB0PlxuJworICAgICAg
ICAncGFyZW50LndpbmRvdy5wb3N0TWVzc2FnZShcJ0ZBSUxcJywgXCcqXCcpO1xuJworICAgICAg
ICAnPC9zY3JpcHQ+XG4nCisgICAgKQorICAgIHN5cy5leGl0KDApCisKK3N5cy5zdGRvdXQud3Jp
dGUoCisgICAgJzxzY3JpcHQ+XG4nCisgICAgJ3BhcmVudC53aW5kb3cucG9zdE1lc3NhZ2UoXCdQ
QVNTXCcsIFwnKlwnKTtcbicKKyAgICAnPC9zY3JpcHQ+XG4nCispClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLWlmcmFtZS5weQpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5waHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNl
LnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9y
ZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLnBocAkobm9uZXhpc3RlbnQpCkBAIC0x
LDIxICswLDAgQEAKLTw/cGhwCi1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MzYwMCcp
OwotPz4KLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0KLWlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewotICBmZXRjaCgnaHR0cDovL2xvY2FsaG9zdDo4MDAwL2NhY2hl
L3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UucGhwJykudGhlbihmdW5jdGlvbihy
ZXNwb25zZSkgewotICAgIGlmIChpbnRlcm5hbHMuZmV0Y2hSZXNwb25zZVNvdXJjZShyZXNwb25z
ZSkgIT0gIkRpc2sgY2FjaGUiKSB7Ci0gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbG9n
JykuaW5uZXJUZXh0ID0gJ0ZBSUw6IHJlc291cmNlIGlzIG5vdCBpbiB0aGUgZGlzayBjYWNoZS4n
OwotICAgIH0KLSAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgfSk7Ci19Ci0KLTwvc2Ny
aXB0PgotPGRpdiBpZD0ibG9nIj48P3BocCBpZiAoJF9TRVJWRVJbIkhUVFBfUFVSUE9TRSJdID09
ICJwcmVmZXRjaCIpIGVjaG8gJ1BBU1MnOyBlbHNlIGVjaG8gJ0ZBSUwnOyA/PjwvZGl2PgotPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5weQko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9w
cmVmZXRjaGVkLW1haW4tcmVzb3VyY2UucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOCBA
QAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworcHVy
cG9zZSA9IG9zLmVudmlyb24uZ2V0KCdIVFRQX1BVUlBPU0UnLCAnJykKKworc3lzLnN0ZG91dC53
cml0ZSgKKyAgICAnQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0zNjAwXHJcbicKKyAgICAnQ29udGVu
dC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICAnPCFET0NUWVBFIGh0bWw+XG4nCisgICAg
JzxodG1sPlxuJworICAgICc8Ym9keT5cbicKKyAgICAnPHNjcmlwdD5cbicKKyAgICAnXG4nCisg
ICAgJ2lmICh3aW5kb3cudGVzdFJ1bm5lcikge1xuJworICAgICcgIGZldGNoKFwnaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UucHlc
JykudGhlbihmdW5jdGlvbihyZXNwb25zZSkge1xuJworICAgICcgICAgaWYgKGludGVybmFscy5m
ZXRjaFJlc3BvbnNlU291cmNlKHJlc3BvbnNlKSAhPSAiRGlzayBjYWNoZSIpIHtcbicKKyAgICAn
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCdsb2dcJykuaW5uZXJUZXh0ID0gXCdGQUlM
OiByZXNvdXJjZSBpcyBub3QgaW4gdGhlIGRpc2sgY2FjaGUuXCc7XG4nCisgICAgJyAgICB9XG4n
CisgICAgJyAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTtcbicKKyAgICAnICB9KTtcbicKKyAg
ICAnfVxuJworICAgICdcbicKKyAgICAnPC9zY3JpcHQ+XG4nCisgICAgJzxkaXYgaWQ9ImxvZyI+
JworKQorCitpZiBwdXJwb3NlID09ICdwcmVmZXRjaCc6CisgICAgc3lzLnN0ZG91dC53cml0ZSgn
UEFTUycpCitlbHNlOgorICAgIHN5cy5zdGRvdXQud3JpdGUoJ0ZBSUwnKQorCitzeXMuc3Rkb3V0
LndyaXRlKAorICAgICc8L2Rpdj5cbicKKyAgICAnPC9ib2R5PlxuJworICAgICc8L2h0bWw+XG4n
CispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291
cmNlLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtcmVmZXJlci1pZnJhbWUuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1y
ZWZlcmVyLWlmcmFtZS5odG1sCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1yZWZlcmVyLWlmcmFtZS5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xICsxIEBACi08aW1nIHNyYz0ibG9hZC1hbmQtY2hlY2stcmVmZXJlci5w
aHA/cGF0aD1jb21wYXNzLW5vLWNhY2hlLmpwZyZleHBlY3RlZC1yZWZlcmVyPWh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtcmVmZXJlci1pZnJhbWUuaHRtbCI+
Cis8aW1nIHNyYz0ibG9hZC1hbmQtY2hlY2stcmVmZXJlci5weT9wYXRoPWNvbXBhc3Mtbm8tY2Fj
aGUuanBnJmV4cGVjdGVkLXJlZmVyZXI9aHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291
cmNlcy9yZWRpcmVjdC1yZWZlcmVyLWlmcmFtZS5odG1sIj4KSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3JlbG9hZC1tYWluLXJlc291cmNlLWlmcmFtZS5waHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVs
b2FkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVsb2FkLW1haW4tcmVzb3VyY2UtaWZy
YW1lLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDIzICswLDAgQEAKLTw/cGhwCi1pZiAoZmlsZV9l
eGlzdHMoc3lzX2dldF90ZW1wX2RpcigpIC4gIi9jYWNoZS1yZWxvYWQtbWFpbi1yZXNvdXJjZS50
bXAiKSkgewotICAgIHVubGluayhzeXNfZ2V0X3RlbXBfZGlyKCkgLiAiL2NhY2hlLXJlbG9hZC1t
YWluLXJlc291cmNlLnRtcCIpOwotICAgIGVjaG8gIjxib2R5PiI7Ci0gICAgZWNobyAiPHNjcmlw
dD4iOwotICAgIGVjaG8gIndpbmRvdy5wYXJlbnQuZmluaXNoKCk7IjsKLSAgICBlY2hvICI8L3Nj
cmlwdD4iOwotICAgIGVjaG8gIjwvYm9keT4iOwotICAgIGV4aXQoKTsKLX0KLQotJHRtcEZpbGUg
PSBmb3BlbihzeXNfZ2V0X3RlbXBfZGlyKCkgLiAiL2NhY2hlLXJlbG9hZC1tYWluLXJlc291cmNl
LnRtcCIsICd3Jyk7Ci1mY2xvc2UoJHRtcEZpbGUpOwotCi0kbWF4X2FnZSA9IDEyICogMzEgKiAy
NCAqIDYwICogNjA7IC8vb25lIHllYXIKLSRsYXN0X21vZGlmaWVkID0gZ21kYXRlKERBVEVfUkZD
MTEyMywgdGltZSgpICsgJG1heF9hZ2UpOwotJGV4cGlyZXMgPSBnbWRhdGUoREFURV9SRkMxMTIz
LCB0aW1lKCkgKyAkbWF4X2FnZSk7Ci0KLWhlYWRlcignQ2FjaGUtQ29udHJvbDogcHVibGljLCBt
YXgtYWdlPScgLiAkbWF4X2FnZSk7Ci1oZWFkZXIoJ0V4cGlyZXM6ICcgLiAkZXhwaXJlcyk7Ci1o
ZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sJyk7Ci1oZWFkZXIoJ0xhc3QtTW9kaWZpZWQ6
ICcgLiAkbGFzdF9tb2RpZmllZCk7Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvcmVsb2FkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnB5Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3JlbG9hZC1tYWluLXJl
c291cmNlLWlmcmFtZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9yZWxvYWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucHkJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzNyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQg
b3MKK2ltcG9ydCBzeXMKK2ltcG9ydCB0ZW1wZmlsZQorZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0
ZXRpbWUsIHRpbWVkZWx0YQorCitmaWxlID0gX19maWxlX18uc3BsaXQoJzovY3lnd2luJylbLTFd
CitodHRwX3Jvb3QgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJz
cGF0aChvcy5wYXRoLmRpcm5hbWUoZmlsZSkpKSkKK3N5cy5wYXRoLmluc2VydCgwLCBodHRwX3Jv
b3QpCisKK3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4n
KQorCit0bXBGaWxlID0gb3MucGF0aC5qb2luKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwgJ2NhY2hl
LXJlbG9hZC1tYWluLXJlc291cmNlLnRtcCcpCitpZiBvcy5wYXRoLmlzZmlsZSh0bXBGaWxlKToK
KyAgICBvcy5yZW1vdmUodG1wRmlsZSkKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAn
PGJvZHk+XG4nCisgICAgICAgICc8c2NyaXB0PlxuJworICAgICAgICAnd2luZG93LnBhcmVudC5m
aW5pc2goKTtcbicKKyAgICAgICAgJzwvc2NyaXB0PlxuJworICAgICAgICAnPC9ib2R5PlxuJwor
ICAgICkKKyAgICBzeXMuZXhpdCgwKQorCitmaWxlID0gb3Blbih0bXBGaWxlLCAndysnKQorZmls
ZS5jbG9zZSgpCisKK21heF9hZ2UgPSAxMiAqIDMxICogMjQgKiA2MCAqIDYwCitsYXN0X21vZGlm
aWVkID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1lLnV0Y25vdygpICsgdGltZWRlbHRhKHNl
Y29uZHM9bWF4X2FnZSkpLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06JVMnKSkKK2V4cGly
ZXMgPSAne30gKzAwMDAnLmZvcm1hdCgoZGF0ZXRpbWUudXRjbm93KCkgKyB0aW1lZGVsdGEoc2Vj
b25kcz1tYXhfYWdlKSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorCitzeXMu
c3Rkb3V0LndyaXRlKAorICAgIGYnQ2FjaGUtQ29udHJvbDogcHVibGljLCBtYXgtYWdlPXttYXhf
YWdlfVxyXG4nCisgICAgZidFeHBpcmVzOiB7ZXhwaXJlc31cclxuJworICAgIGYnTGFzdC1Nb2Rp
ZmllZDoge2xhc3RfbW9kaWZpZWR9XHJcblxyXG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9y
ZXNvdXJjZXMvcmVsb2FkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnB5Cl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc2xv
dy1pZnJhbWUucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL3Nsb3ctaWZyYW1lLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc2xvdy1pZnJhbWUucGhwCShub25leGlzdGVu
dCkKQEAgLTEsNSArMCwwIEBACi08P3BocCAKLXNsZWVwKDEpOwotaGVhZGVyKCJDb250ZW50LVR5
cGU6IHRleHQvaHRtbCIpOyAKLWVjaG8oIjxzY3JpcHQ+YWxlcnQoJ1BBU1MgLSBpZnJhbWUgbG9h
ZGVkJyk7IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7IDwv
c2NyaXB0PiIpOyAKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9zbG93LWlmcmFtZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9zbG93LWlmcmFtZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zbG93LWlmcmFtZS5weQkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDExIEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBz
eXMKK2ltcG9ydCB0aW1lCisKK3RpbWUuc2xlZXAoMSkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAg
ICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICAnPHNjcmlwdD5hbGVydChc
J1BBU1MgLSBpZnJhbWUgbG9hZGVkXCcpOyBpZiAod2luZG93LnRlc3RSdW5uZXIpIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOyA8L3NjcmlwdD5cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9zbG93LWlmcmFtZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQoj
IyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQtYmFkLWNv
bnRlbnQtdHlwZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvc3R5bGVzaGVldDMwNC1iYWQtY29udGVudC10eXBlLnBocAkocmV2aXNpb24g
Mjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVz
aGVldDMwNC1iYWQtY29udGVudC10eXBlLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDIxICswLDAg
QEAKLTw/cGhwCi1yZXF1aXJlX29uY2UgJy4uLy4uL3Jlc291cmNlcy9wb3J0YWJpbGl0eUxheWVy
LnBocCc7Ci0KLWNsZWFyc3RhdGNhY2hlKCk7Ci0KLWlmICgkX1NFUlZFUlsiSFRUUF9JRl9NT0RJ
RklFRF9TSU5DRSJdKSB7Ci0gICAgaGVhZGVyKCJIVFRQLzEuMCAzMDQgTm90IE1vZGlmaWVkIik7
Ci0gICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvcGxhaW4iKTsKLSAgICBleGl0KCk7Ci19
Ci0kb25lX3llYXIgPSAxMiAqIDMxICogMjQgKiA2MCAqIDYwOwotJGxhc3RfbW9kaWZpZWQgPSBn
bWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgLSAkb25lX3llYXIpOwotJGV4cGlyZXMgPSBnbWRh
dGUoREFURV9SRkMxMTIzLCB0aW1lKCkgKyAkb25lX3llYXIpOwotCi1oZWFkZXIoJ0NhY2hlLUNv
bnRyb2w6IHB1YmxpYywgbWF4LWFnZT0nIC4gJG9uZV95ZWFyKTsKLWhlYWRlcignRXhwaXJlczog
JyAuICRleHBpcmVzKTsKLWhlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0L2NzcycpOwotaGVhZGVy
KCdFdGFnOiAxMjM0NTY3ODknKTsKLWhlYWRlcignTGFzdC1Nb2RpZmllZDogJyAuICRsYXN0X21v
ZGlmaWVkKTsKLT8+Ci0jdGVzdCB7IGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAyNTUsIDApOyB9
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0
MzA0LWJhZC1jb250ZW50LXR5cGUucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldDMwNC1iYWQtY29udGVudC10eXBlLnB5CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0
eWxlc2hlZXQzMDQtYmFkLWNvbnRlbnQtdHlwZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDI2IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cwor
ZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0YQorCittb2RpZmllZF9zaW5j
ZSA9IG9zLmVudmlyb24uZ2V0KCdIVFRQX0lGX01PRElGSUVEX1NJTkNFJywgJycpCitpZiBtb2Rp
ZmllZF9zaW5jZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnc3RhdHVzOjMwNFxy
XG4nCisgICAgICAgICdDb250ZW50LVR5cGU6IHRleHQvcGxhaW5cclxuXHJcbicKKyAgICApCisg
ICAgc3lzLmV4aXQoMCkKKworb25lX3llYXIgPSAxMiAqIDMxICogMjQgKiA2MCAqIDYwCitsYXN0
X21vZGlmaWVkID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1lLnV0Y25vdygpIC0gdGltZWRl
bHRhKHNlY29uZHM9b25lX3llYXIpKS5zdHJmdGltZSgnJWEsICVkICViICVZICVIOiVNOiVTJykp
CitleHBpcmVzID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1lLnV0Y25vdygpICsgdGltZWRl
bHRhKHNlY29uZHM9b25lX3llYXIpKS5zdHJmdGltZSgnJWEsICVkICViICVZICVIOiVNOiVTJykp
CisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgZidDYWNoZS1Db250cm9sOiBwdWJsaWMsIG1heC1h
Z2U9e29uZV95ZWFyfVxyXG4nCisgICAgZidFeHBpcmVzOiB7ZXhwaXJlc31cclxuJworICAgICdD
b250ZW50LVR5cGU6IHRleHQvY3NzXHJcbicKKyAgICAnRXRhZzogMTIzNDU2Nzg5XHJcbicKKyAg
ICBmJ0xhc3QtTW9kaWZpZWQ6IHtsYXN0X21vZGlmaWVkfVxyXG5cclxuJworICAgICcjdGVzdCB7
IGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAyNTUsIDApOyB9JworKQpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQtYmFkLWNvbnRlbnQtdHlwZS5weQpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL3N0eWxlc2hlZXQzMDQucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQucGhwCShyZXZpc2lvbiAyNzQyOTIp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0MzA0
LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDIxICswLDAgQEAKLTw/cGhwDQotcmVxdWlyZV9vbmNl
ICcuLi8uLi9yZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXllci5waHAnOw0KLQ0KLWNsZWFyc3RhdGNh
Y2hlKCk7DQotDQotaWYgKCRfU0VSVkVSWyJIVFRQX0lGX01PRElGSUVEX1NJTkNFIl0pIHsNCi0g
ICAgaGVhZGVyKCJIVFRQLzEuMCAzMDQgTm90IE1vZGlmaWVkIik7DQotICAgIGV4aXQoKTsNCi19
DQotJG9uZV95ZWFyID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MDsNCi0kbGFzdF9tb2RpZmllZCA9
IGdtZGF0ZShEQVRFX1JGQzExMjMsIHRpbWUoKSAtICRvbmVfeWVhcik7DQotJGV4cGlyZXMgPSBn
bWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgKyAkb25lX3llYXIpOw0KLQ0KLWhlYWRlcignQ2Fj
aGUtQ29udHJvbDogcHVibGljLCBtYXgtYWdlPScgLiAkb25lX3llYXIpOw0KLWhlYWRlcignRXhw
aXJlczogJyAuICRleHBpcmVzKTsNCi1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9jc3MnKTsN
Ci1oZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoOiAwJyk7DQotaGVhZGVyKCdFdGFnOiAxMjM0NTY3ODkn
KTsNCi1oZWFkZXIoJ0xhc3QtTW9kaWZpZWQ6ICcgLiAkbGFzdF9tb2RpZmllZCk7DQotZXhpdCgp
Ow0KLT8+DQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5
bGVzaGVldC1odG1sLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwucGhwCShyZXZpc2lvbiAyNzQyOTIpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwucGhw
CShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi08P3BocAotZWNobyAiPGxpbmsgcmVsPXN0
eWxlc2hlZXQgaHJlZj0iIC4gJF9HRVRbJ3NoZWV0J10gLiAiPiI7Ci0/PgotPGRpdiBpZD10ZXN0
MT48L2Rpdj4KLTxkaXYgaWQ9dGVzdDI+PC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwucHkKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldC1odG1sLnB5CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0
eWxlc2hlZXQtaHRtbC5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0IEBACisjIS91c3Iv
YmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSB1cmxsaWIucGFy
c2UgaW1wb3J0IHBhcnNlX3FzCisKK3NoZWV0ID0gcGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FV
RVJZX1NUUklORycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkuZ2V0KCdzaGVldCcsIFsn
NDA0LmNzcyddKVswXQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdDb250ZW50LVR5cGU6IHRl
eHQvaHRtbFxyXG5cclxuJworICAgIGYnPGxpbmsgcmVsPXN0eWxlc2hlZXQgaHJlZj17c2hlZXR9
PicKKyAgICAnPGRpdiBpZD10ZXN0MT48L2Rpdj5cbicKKyAgICAnPGRpdiBpZD10ZXN0Mj48L2Rp
dj5cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwu
cHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9zdmctZGVmcy12YXJ5LnBocAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdmctZGVmcy12YXJ5LnBocAkocmV2aXNp
b24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3Zn
LWRlZnMtdmFyeS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMiArMCwwIEBACi08P3BocAotaGVh
ZGVyKCJDb250ZW50LVR5cGU6IGltYWdlL3N2Zyt4bWwiKTsKLWhlYWRlcigiVmFyeTogQ29va2ll
Iik7Ci1oZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MzE1MzYwMDAiKTsKLT8+Ci08c3Zn
IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93
d3cudzMub3JnLzE5OTkveGxpbmsiPgotPGRlZnM+Ci08ZyBpZD0iY2lyY2xlIj4KLTxjaXJjbGUg
c3R5bGU9ImZpbGw6Z3JlZW4iIHI9IjEwIi8+Ci08L2c+Ci08L2RlZnM+Ci08L3N2Zz4KSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N2Zy1kZWZzLXZhcnkucHkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3Zn
LWRlZnMtdmFyeS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9zdmctZGVmcy12YXJ5LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MTYgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IHN5cworCitzeXMuc3RvZHV0
LndyaXRlKAorICAgICdDb250ZW50LVR5cGU6IGltYWdlL3N2Zyt4bWxcclxuJworICAgICdWYXJ5
OiBDb29raWVcclxuJworICAgICdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTMxNTM2MDAwXHJcblxy
XG4nCisgICAgJzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4
bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+XG4nCisgICAgJzxkZWZzPlxuJwor
ICAgICc8ZyBpZD0iY2lyY2xlIj5cbicKKyAgICAnPGNpcmNsZSBzdHlsZT0iZmlsbDpncmVlbiIg
cj0iMTAiLz5cbicKKyAgICAnPC9nPlxuJworICAgICc8L2RlZnM+XG4nCisgICAgJzwvc3ZnPlxu
JworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N2Zy1kZWZzLXZhcnkucHkKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItcmVzcG9uc2UucGhwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNw
b25zZS5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25zZS5waHAJKG5vbmV4aXN0ZW50KQpA
QCAtMSwxMSArMCwwIEBACi08P3BocAotaGVhZGVyKCJWYXJ5OiBPcmlnaW4iKTsKLWhlYWRlcigi
Q2FjaGUtQ29udHJvbDogbWF4LWFnZT0zMTUzNjAwMCIpOwotaWYgKGlzc2V0KCRfU0VSVkVSWydI
VFRQX09SSUdJTiddKSkgewotICAgIGhlYWRlcigiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu
OiBodHRwOi8vMTI3LjAuMC4xOjgwMDAiKTsKLSAgICBlY2hvICJDcm9zcyBvcmlnaW4gIjsKLX0g
ZWxzZSB7Ci0gICAgZWNobyAiU2FtZSBvcmlnaW4gIjsKLX0KLT8+Ci1yZXNwb25zZQpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25zZS5weQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItcmVzcG9u
c2UucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNv
dXJjZXMveGhyLXZhcnktaGVhZGVyLXJlc3BvbnNlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMjIgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lz
CisKK29yaWdpbiA9IFRydWUgaWYgb3MuZW52aXJvbi5nZXQoJ0hUVFBfT1JJR0lOJywgTm9uZSkg
aXMgbm90IE5vbmUgZWxzZSBGYWxzZQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdWYXJ5OiBP
cmlnaW5cclxuJworICAgICdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTMxNTM2MDAwXHJcbicKKyAg
ICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJworKQorCitpZiBvcmlnaW46CisgICAgc3lz
LnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbjogaHR0
cDovLzEyNy4wLjAuMTo4MDAwXHJcblxyXG4nCisgICAgICAgICdDcm9zcyBvcmlnaW4gJworICAg
ICkKK2Vsc2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgnXHJcblNhbWUgb3JpZ2luICcpCisKK3N5
cy5zdGRvdXQud3JpdGUoJ3Jlc3BvbnNlJykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy94aHItdmFyeS1oZWFkZXItcmVzcG9uc2UucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1
dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFk
ZXItc3ViZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItc3ViZnJhbWUuaHRtbAkocmV2aXNpb24gMjc0
MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveGhyLXZhcnkt
aGVhZGVyLXN1YmZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIsNyArMiw3IEBACiBmdW5j
dGlvbiB0ZXN0U2FtZU9yaWdpbigpCiB7CiAgICAgdmFyIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVz
dDsKLSAgICByZXEub3BlbigiR0VUIiwgInhoci12YXJ5LWhlYWRlci1yZXNwb25zZS5waHAiKTsK
KyAgICByZXEub3BlbigiR0VUIiwgInhoci12YXJ5LWhlYWRlci1yZXNwb25zZS5weSIpOwogICAg
IHJlcS5vbmxvYWQ9ZnVuY3Rpb24oKSB7IHBhcmVudC5wb3N0TWVzc2FnZShyZXEucmVzcG9uc2VU
ZXh0LCAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIikgfQogICAgIHJlcS5zZW5kKCk7CiB9CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy90b3VjaC10ZW1wLWZpbGUucHkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvdG91Y2gtdGVtcC1m
aWxlLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2Vz
L3RvdWNoLXRlbXAtZmlsZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACisjIS91
c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHRlbXBm
aWxlCitmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMKKworZmlsZSA9IF9fZmlsZV9f
LnNwbGl0KCc6L2N5Z3dpbicpWy0xXQoraHR0cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBh
dGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1lKGZpbGUpKSkpCitzeXMu
cGF0aC5pbnNlcnQoMCwgaHR0cF9yb290KQorCitmaWxlbmFtZSA9IHBhcnNlX3FzKG9zLmVudmly
b24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAnJyksIGtlZXBfYmxhbmtfdmFsdWVzPVRydWUpLmdldCgn
ZmlsZW5hbWUnLCBbJ3N0YXRlLnR4dCddKVswXQordG1wRmlsZVBhdGggPSBvcy5wYXRoLmpvaW4o
dGVtcGZpbGUuZ2V0dGVtcGRpcigpLCBmaWxlbmFtZSkKKworc3lzLnN0ZG91dC53cml0ZSgnQ29u
dGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicpCisKK3N0YXQgPSBvcy5zdGF0KHRtcEZpbGVQ
YXRoKQoraWYgbm90IHN0YXQ6CisgICAgc3lzLnN0ZG91dC53cml0ZSgnRkFJTDogc3RhdCgpIGNh
bGwgZmFpbGVkLlxuJykKKyAgICBzeXMuZXhpdCgwKQorCithdGltZSA9IHN0YXQuc3RfYXRpbWUK
K210aW1lID0gc3RhdC5zdF9tdGltZQordHJ5OgorICAgIG9zLnV0aW1lKHRtcEZpbGVQYXRoLCB0
aW1lcz0oYXRpbWUsIG10aW1lICsgMSkpCitleGNlcHQ6CisgICAgc3lzLnN0ZG91dC53cml0ZSgn
RkFJTDogdG91Y2goKSBjYWxsIGZhaWxlZC5cbicpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMv
dG91Y2gtdGVtcC1maWxlLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0w
LDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvd3JpdGUtdGVtcC1maWxlLnB5Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL3dyaXRlLXRlbXAtZmlsZS5weQko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy93cml0ZS10
ZW1wLWZpbGUucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAorIyEvdXNyL2Jpbi9l
bnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCB0ZW1wZmlsZQorZnJv
bSB1cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNlX3FzCisKK2ZpbGUgPSBfX2ZpbGVfXy5zcGxpdCgn
Oi9jeWd3aW4nKVstMV0KK2h0dHBfcm9vdCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5h
bWUob3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShmaWxlKSkpKQorc3lzLnBhdGguaW5z
ZXJ0KDAsIGh0dHBfcm9vdCkKKworcXVlcnkgPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVF
UllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKQorZmlsZW5hbWUgPSBxdWVy
eS5nZXQoJ2ZpbGVuYW1lJywgWydzdGF0ZS50eHQnXSlbMF0KK2RhdGEgPSBxdWVyeS5nZXQoJ2Rh
dGEnLCBbJyddKVswXQorCit0bXBGaWxlID0gb3MucGF0aC5qb2luKHRlbXBmaWxlLmdldHRlbXBk
aXIoKSwgZmlsZW5hbWUpCitzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRt
bFxyXG5cclxuJykKKwordHJ5OgorICAgIGZpbGUgPSBvcGVuKHRtcEZpbGUsICd3JykKKyAgICBm
aWxlLndyaXRlKGRhdGEpCisgICAgZmlsZS5jbG9zZSgpCitleGNlcHQ6CisgICAgc3lzLnN0ZG91
dC53cml0ZShmJ0ZBSUw6IHVuYWJsZSB0byB3cml0ZSB0byBmaWxlOiB7dG1wRmlsZX1cbicpCisg
ICAgc3lzLmV4aXQoMCkKKworc3lzLnN0ZG91dC53cml0ZShmJ3t0bXBGaWxlfVxuJykKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlcy93cml0ZS10ZW1wLWZpbGUucHkKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2NhY2hl
YWJsZS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtY3Jhc2guaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2NhY2hlYWJsZS1jcm9zcy1vcmlnaW4t
cmVkaXJlY3QtY3Jhc2guaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy94bWxodHRwcmVxdWVzdC9jYWNoZWFibGUtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWNy
YXNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTYsNyArNiw3IEBACiBkZXNjcmlwdGlvbigiVGVz
dHMgdGhhdCB3ZSBkbyBub3QgY3Jhc2ggd2hlbiBYSFIgcmV1c2VzIGEgY2FjaGVkIHJlc291cmNl
IHRoYXQgY29udGFpbnMgYSBzaW1wbGUgY3Jvc3Mgb3JpZ2luIHJlZGlyZWN0LiIpOwoganNUZXN0
SXNBc3luYyA9IHRydWU7CiAKLWNvbnN0IHVybCA9ICIvY2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNv
bnRyb2wtcmVkaXJlY3Q/Y29kZT0zMDImY2FjaGVfY29udHJvbD1wdWJsaWMsbWF4LWFnZT0xMDAw
JnVybD1odHRwJTNBJTJGJTJGbG9jYWxob3N0JTNBODAwMCUyRnNlY3VyaXR5JTJGcmVzb3VyY2Vz
JTJGYWxsb3ctaWYtb3JpZ2luLnB5JTNGYWxsb3dDYWNoZSUyNmFsbG93Q3JlZGVudGlhbHMlMjZv
cmlnaW4lM0RodHRwJTI1M0ElMjUyRiUyNTJGMTI3LjAuMC4xJTI1M0E4MDAwIjsKK2NvbnN0IHVy
bCA9ICIvY2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3QucGhwP2NvZGU9MzAy
JmNhY2hlX2NvbnRyb2w9cHVibGljLG1heC1hZ2U9MTAwMCZ1cmw9aHR0cCUzQSUyRiUyRmxvY2Fs
aG9zdCUzQTgwMDAlMkZzZWN1cml0eSUyRnJlc291cmNlcyUyRmFsbG93LWlmLW9yaWdpbi5weSUz
RmFsbG93Q2FjaGUlMjZhbGxvd0NyZWRlbnRpYWxzJTI2b3JpZ2luJTNEaHR0cCUyNTNBJTI1MkYl
MjUyRjEyNy4wLjAuMSUyNTNBODAwMCI7CiAKIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwog
eGhyLndpdGhDcmVkZW50aWFscyA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTIzNjgsNyArMjM2
OCw3IEBAIGh0dHAvdGVzdHMvY2FjaGUvY29udGVudC10eXBlLWlnbm9yZWQtZHUKIGh0dHAvdGVz
dHMvY2FjaGUvbWFpbi1yZXNvdXJjZS0zMDQtcmVsb2FkLmh0bWwgWyBGYWlsdXJlIF0KIGh0dHAv
dGVzdHMvY2FjaGUvcGFydGl0aW9uZWQtY2FjaGUuaHRtbCBbIEZhaWx1cmUgXQogaHR0cC90ZXN0
cy9jYWNoZS9wYXJ0aXRpb25lZC1jYWNoZS1pZnJhbWUuaHRtbCBbIEZhaWx1cmUgXQotaHR0cC90
ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC5waHAgWyBGYWlsdXJlIF0gIyBFYXN5CitodHRw
L3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LnB5IFsgRmFpbHVyZSBdICMgRWFzeQogaHR0
cC90ZXN0cy9jYW52YXMvY2FudmFzLXNsb3ctZm9udC1sb2FkaW5nLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIGh0dHAvdGVzdHMvY3NzL2Nzcy1pbWFnZS12YWx1ZWQtc2hhcGUuaHRtbCBbIEZh
aWx1cmUgXQogaHR0cC90ZXN0cy9jb29raWVzL3NldC1jb29raWUtb24tcmVkaXJlY3QuaHRtbCBb
IFBhc3MgRmFpbHVyZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423204</attachid>
            <date>2021-03-15 11:28:01 -0700</date>
            <delta_ts>2021-03-16 11:44:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222935-20210315142759.patch</filename>
            <type>text/plain</type>
            <size>112630</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NDQyOSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDExMyBAQAorMjAyMS0wMy0xNSAgQ2hyaXMgR2FtYnJlbGwg
IDxjZ2FtYnJlbGxAYXBwbGUuY29tPgorCisgICAgICAgIFtMYXlvdXRUZXN0c10gQ29udmVydCBo
dHRwL3Rlc3RzL2NhY2hlIGNvbnZlcnQgUEhQIHRvIFB5dGhvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyOTM1CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS83NTE4MzMxND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvY2FjaGUtcmVkaXJlY3Rpb25zLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9jYWNoZS9jYWNoZWQtbWFpbi1yZXNvdXJjZS5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvY2FjaGVkRW50cnktd2FpdHMtZm9yLXJlc3BvbnNlLXBvbGlj
eS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvY29udGVudC10eXBlLWlnbm9yZWQt
ZHVyaW5nLXJldmFsaWRhdGlvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9kaXNrLWNhY2hlLXJlZGlyZWN0LXRvLWRhdGEuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZW1vdmUtc2V2ZXJhbC1wZW5kaW5n
LXdyaXRlcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZWRp
cmVjdC1jaGFpbi1saW1pdHMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvcmVzb3VyY2VzL2pzb24ucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvanNvbi5weTogQWRkZWQuCisgICAgICAgIChzZW5k
MzA0KToKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL21h
a2Utc2hhMS1jb2xsaXNpb24ucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvbWFrZS1zaGExLWNvbGxpc2lvbi5weTogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1j
aGFpbi5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hl
L3Jlc291cmNlcy9yZWRpcmVjdC1jaGFpbi5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC10by1kYXRhLnBocDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGly
ZWN0LXRvLWRhdGEucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zaGF0dGVyZWQtZGVkdXBsaWNhdGlvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL2NhY2hlYWJsZS1yZWRpcmVj
dC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2
ZS12YWxpZGF0aW9uL2h0dHAtYXV0aC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jYWNoZWFibGUtcmVk
aXJlY3QtZnJhbWUucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jYWNoZWFibGUtcmVkaXJl
Y3QtZnJhbWUucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5waHA6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0
aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2Nzcy10by1yZXZhbGlkYXRlLnB5OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlv
bi9yZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnBocDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFs
aWRhdGlvbi9yZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnB5OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUt
dmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tY3NzLnBocDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9y
ZXNvdXJjZXMvcmVkaXJlY3QtdG8tY3NzLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVxdWVz
dC1oZWFkZXJzLXNjcmlwdC5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3JlcXVlc3QtaGVh
ZGVycy1zY3JpcHQucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgu
cGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVj
dWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucHk6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxp
ZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucGhwOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0
aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucHk6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Zh
bGlkYXRpb24tcmVxdWVzdC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvaGlzdG9y
eS1uYXZpZ2F0aW9uLW5vLXJlc291cmNlLXJldmFsaWRhdGlvbi5odG1sOgorICAgICAgICAqIGh0
dHAvdGVzdHMvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
aHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9jYWNoZS9pZnJhbWUtZGV0YWNoLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNo
ZS9saW5rLXByZWZldGNoLW1haW4tcmVzb3VyY2UtaWZyYW1lLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9jYWNoZS9saW5rLXByZWZldGNoLW1haW4tcmVzb3VyY2UuaHRtbDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL2NhY2hlL21haW4tcmVzb3VyY2UtMzA0LXJlbG9hZC5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucGhwOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucHk6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMucGhw
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1z
dWJyZXNvdXJjZXMucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVjdXJz
aXZlLXZhbGlkYXRpb24uaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3JlZGlyZWN0
LXJlZmVyZXIuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3JlbG9hZC1tYWluLXJl
c291cmNlLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3JlbG9hZC1t
YWluLXJlc291cmNlLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9ib2R5LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9ib2R5LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9jYWNoZWFibGUtaWZyYW1lLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRleHQucGhwOiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20t
dGV4dC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZy
YW1lMzA0LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9pZnJhbWUzMDQucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL2lmcmFtZTMwNGJvZHkucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL2lmcmFtZTMwNGJvZHkucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL2xvYWQtYW5kLWNoZWNrLXJlZmVyZXIucGhwOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2xvYWQtYW5kLWNoZWNrLXJlZmVy
ZXIucHk6IEFkZGVkLgorICAgICAgICAoY29udGVudFR5cGUpOgorICAgICAgICAqIGh0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5waHA6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1y
ZXNvdXJjZS1uZXh0LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnB5OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS13aXRoLXZhbGlk
YXRpb24ucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L25vLWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9uZWQtY2FjaGUtZWNoby1zdGF0ZS5waHA6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9uZWQtY2Fj
aGUtZWNoby1zdGF0ZS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNv
dXJjZXMvcGFydGl0aW9uZWQtY2FjaGUtbG9hZGVyLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvcGVybWFuZW50LXJlZGlyZWN0LnBocDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucHk6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8t
dmVyaWZ5LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9w
cmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1l
LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRj
aGVkLW1haW4tcmVzb3VyY2UucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5weTogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtcmVmZXJlci1pZnJhbWUuaHRt
bDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9yZWxvYWQtbWFpbi1yZXNv
dXJjZS1pZnJhbWUucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL3JlbG9hZC1tYWluLXJlc291cmNlLWlmcmFtZS5weTogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc2xvdy1pZnJhbWUucGhwOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Nsb3ctaWZyYW1lLnB5OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwucGhw
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hl
ZXQtaHRtbC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMv
c3R5bGVzaGVldDMwNC1iYWQtY29udGVudC10eXBlLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0MzA0LWJhZC1jb250ZW50LXR5cGUu
cHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hl
ZXQzMDQucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L3N2Zy1kZWZzLXZhcnkucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL3N2Zy1kZWZzLXZhcnkucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25zZS5waHA6IFJlbW92ZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXJlc3Bv
bnNlLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHIt
dmFyeS1oZWFkZXItc3ViZnJhbWUuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3N0
eWxlc2hlZXQtc2hhcmluZy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvdmFyeS1m
cmFtZWxlc3MtZG9jdW1lbnQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3hoci1i
b2R5Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS94aHItdmFyeS1oZWFkZXIuaHRt
bDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlcy90b3VjaC10ZW1wLWZpbGUucHk6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VzL3dyaXRlLXRlbXAtZmlsZS5weTog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9jYWNoZWFibGUtY3Jv
c3Mtb3JpZ2luLXJlZGlyZWN0LWNyYXNoLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rl
c3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDMtMTUgIFBlbmcgTGl1ICA8cGVuZy5saXU2QGFwcGxl
LmNvbT4KIAogICAgICAgICBbR1BVUF1bTVNFXSBBZGQgYW4gSVBDIG1lc3NhZ2UgdG8gaW1wbGVt
ZW50IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNhblN3aXRjaFRvVHlwZSgpCkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2NhY2hlLXJlZGlyZWN0aW9ucy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY2FjaGUtcmVkaXJlY3Rpb25z
Lmh0bWwJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
Y2FjaGUtcmVkaXJlY3Rpb25zLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE1LDcgKzE1LDcgQEAg
dGVzdC5zdGVwKGZ1bmN0aW9uKCkgewogCiB2YXIgY291bnRlciA9IDA7CiB2YXIgcmVzb3VyY2Ug
PSAiTm8iOwotdmFyIGJhc2VVUkwgPSAicmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3Q/
Y29kZT0zMDImdXJsPWNhY2hlYWJsZS1yYW5kb20tdGV4dC5waHAmcmFuZG9tX2lkPTEiOwordmFy
IGJhc2VVUkwgPSAicmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3QucGhwP2NvZGU9MzAy
JnVybD1jYWNoZWFibGUtcmFuZG9tLXRleHQucHkmcmFuZG9tX2lkPTEiOwogdmFyIHRlc3RDYXNl
cyA9IFsKIHtuYW1lIDogIlNob3VsZCByZXVzZSByZXNvdXJjZSAoY2FjaGVhYmxlIHJlZGlyZWN0
aW9uKSIsIGV4cGVjdGVkIDogdHJ1ZSwgdXJsIDogYmFzZVVSTCArICImY2FjaGVfY29udHJvbD1w
dWJsaWMsIG1heC1hZ2U9MTAwMCIsIHJlbG9hZERlbGF5IDogMH0sCiB7bmFtZSA6ICJTaG91bGQg
cmVsb2FkIHJlc291cmNlIChuby1zdG9yZSByZWRpcmVjdGlvbikiLCBleHBlY3RlZCA6IGZhbHNl
LCB1cmw6IGJhc2VVUkwgKyAiJmNhY2hlX2NvbnRyb2w9bm8tc3RvcmUmbWF4X2FnZT0xMDAwIiwg
cmVsb2FkRGVsYXkgOiAwfSwKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY2Fj
aGVkLW1haW4tcmVzb3VyY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL2NhY2hlZC1tYWluLXJlc291cmNlLmh0bWwJKHJldmlzaW9uIDI3NDI5MikKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY2FjaGVkLW1haW4tcmVzb3VyY2UuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMTEsNyArMTEsNyBAQCBmdW5jdGlvbiByZW1vdmVBbmRSZWxvYWQo
KQogewogICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImlmcmFtZSIpKTsKICAgICB2YXIgbmV3SWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiaWZyYW1lIik7Ci0gICAgbmV3SWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvY2FjaGVhYmxlLWlm
cmFtZS5waHAiOworICAgIG5ld0lmcmFtZS5zcmMgPSAicmVzb3VyY2VzL2NhY2hlYWJsZS1pZnJh
bWUucHkiOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobmV3SWZyYW1lKTsKICAgICB2
YXIgZnJvbUNhY2hlID0gaW50ZXJuYWxzLmlzTG9hZGluZ0Zyb21NZW1vcnlDYWNoZShuZXdJZnJh
bWUuc3JjKTsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuYXBwZW5kQ2hp
bGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZnJvbUNhY2hlID8gIlBBU1MiIDogIkZBSUwiKSk7
CkBAIC0xOSw2ICsxOSw2IEBAIGZ1bmN0aW9uIHJlbW92ZUFuZFJlbG9hZCgpCiAgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfQogPC9zY3JpcHQ+Ci08aWZyYW1lIGlkPSJpZnJhbWUi
IHNyYz0icmVzb3VyY2VzL2NhY2hlYWJsZS1pZnJhbWUucGhwIj48L2lmcmFtZT4KKzxpZnJhbWUg
aWQ9ImlmcmFtZSIgc3JjPSJyZXNvdXJjZXMvY2FjaGVhYmxlLWlmcmFtZS5weSI+PC9pZnJhbWU+
CiA8L2JvZHk+CiA8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Nh
Y2hlZEVudHJ5LXdhaXRzLWZvci1yZXNwb25zZS1wb2xpY3kuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2NhY2hlZEVudHJ5LXdhaXRzLWZvci1yZXNwb25z
ZS1wb2xpY3kuaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9jYWNoZWRFbnRyeS13YWl0cy1mb3ItcmVzcG9uc2UtcG9saWN5Lmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTIwLDEwICsyMCwxMCBAQCBmdW5jdGlvbiBjcmVhdGVGcmFtZSh1cmwpIHsK
ICAgICB9KTsKIH0KIAotY3JlYXRlRnJhbWUoIi9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLXJh
bmRvbS10ZXh0LnBocCIpLnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsKK2NyZWF0ZUZyYW1lKCIvY2Fj
aGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5weSIpLnRoZW4oZnVuY3Rpb24oZnJh
bWUpIHsKICAgICBmcmFtZS5yZW1vdmUoKTsKICAgICBpbnRlcm5hbHMuY2xlYXJNZW1vcnlDYWNo
ZSgpOwotICAgIGNyZWF0ZUZyYW1lKCIvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20t
dGV4dC5waHAiKS50aGVuKGZ1bmN0aW9uKGZyYW1lKSB7CisgICAgY3JlYXRlRnJhbWUoIi9jYWNo
ZS9yZXNvdXJjZXMvY2FjaGVhYmxlLXJhbmRvbS10ZXh0LnB5IikudGhlbihmdW5jdGlvbihmcmFt
ZSkgewogICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKICAgICB9KTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvY29udGVudC10eXBlLWlnbm9yZWQtZHVyaW5nLXJldmFsaWRhdGlvbi5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY29udGVudC10eXBlLWlnbm9y
ZWQtZHVyaW5nLXJldmFsaWRhdGlvbi5odG1sCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2NvbnRlbnQtdHlwZS1pZ25vcmVkLWR1cmluZy1yZXZhbGlk
YXRpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw3ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1s
PgogPGh0bWw+CiA8aGVhZD4KLSAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291
cmNlcy9zdHlsZXNoZWV0MzA0LWJhZC1jb250ZW50LXR5cGUucGhwIj4KKyAgICA8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9zdHlsZXNoZWV0MzA0LWJhZC1jb250ZW50LXR5
cGUucHkiPgogPC9oZWFkPgogPGJvZHk+CiAgICAgPGRpdiBpZD0idGVzdCI+VGhpcyBkaXYgc2hv
dWxkIGhhdmUgYSBncmVlbiBiYWNrZ3JvdW5kLjwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9oaXN0b3J5LW5hdmlnYXRpb24tbm8tcmVzb3VyY2UtcmV2YWxpZGF0aW9u
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9oaXN0b3J5
LW5hdmlnYXRpb24tbm8tcmVzb3VyY2UtcmV2YWxpZGF0aW9uLmh0bWwJKHJldmlzaW9uIDI3NDI5
MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvaGlzdG9yeS1uYXZpZ2F0aW9uLW5v
LXJlc291cmNlLXJldmFsaWRhdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC03Myw3ICs3Myw3
IEBACiAKICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewogICAgICAgICAvLyBPcGVuIHRoZSB0YXJn
ZXQgd2luZG93IGFuZCBpdCB3aWxsIGJlZ2luIHRvIHNlbmQgdXMgbWVzc2FnZXMuCi0gICAgICAg
IHRhcmdldCA9IHdpbmRvdy5vcGVuKCdodHRwczovLzEyNy4wLjAuMTo4NDQzL2NhY2hlL3Jlc291
cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnBocCcpOworICAgICAgICB0YXJnZXQgPSB3aW5k
b3cub3BlbignaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUt
bWFpbi1yZXNvdXJjZS5weScpOwogICAgIH0KICAgICA8L3NjcmlwdD4KICAgICA8c2NyaXB0IHNy
Yz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2lmcmFtZS0zMDQtY3Jhc2gtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvaWZyYW1lLTMwNC1j
cmFzaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsOCArMSw4IEBACi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lm
cmFtZTMwNC5waHAgLSB3aWxsU2VuZFJlcXVlc3QgPE5TVVJMUmVxdWVzdCBVUkwgaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucGhwLCBtYWluIGRvY3VtZW50
IFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC5odG1sLCBo
dHRwIG1ldGhvZCBHRVQ+IHJlZGlyZWN0UmVzcG9uc2UgKG51bGwpCitodHRwOi8vMTI3LjAuMC4x
OjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5weSAtIHdpbGxTZW5kUmVxdWVzdCA8TlNV
UkxSZXF1ZXN0IFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFt
ZTMwNC5weSwgbWFpbiBkb2N1bWVudCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL2lm
cmFtZS0zMDQtY3Jhc2guaHRtbCwgaHR0cCBtZXRob2QgR0VUPiByZWRpcmVjdFJlc3BvbnNlIChu
dWxsKQogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL2lmcmFtZS0zMDQtY3Jhc2guaHRtbCAt
IGRpZEZpbmlzaExvYWRpbmcKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMv
aWZyYW1lMzA0LnBocCAtIGRpZFJlY2VpdmVSZXNwb25zZSA8TlNVUkxSZXNwb25zZSBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAsIGh0dHAgc3RhdHVz
IGNvZGUgMjAwPgotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUz
MDQucGhwIC0gZGlkRmluaXNoTG9hZGluZwotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jl
c291cmNlcy9pZnJhbWUzMDQucGhwIC0gd2lsbFNlbmRSZXF1ZXN0IDxOU1VSTFJlcXVlc3QgVVJM
IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBocCwgbWFp
biBkb2N1bWVudCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL2lmcmFtZS0zMDQtY3Jh
c2guaHRtbCwgaHR0cCBtZXRob2QgR0VUPiByZWRpcmVjdFJlc3BvbnNlIChudWxsKQotaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucGhwIC0gZGlkUmVjZWl2
ZVJlc3BvbnNlIDxOU1VSTFJlc3BvbnNlIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNv
dXJjZXMvaWZyYW1lMzA0LnBocCwgaHR0cCBzdGF0dXMgY29kZSAzMDQ+Ci1odHRwOi8vMTI3LjAu
MC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAgLSBkaWRGaW5pc2hMb2FkaW5n
CitodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5weSAtIGRp
ZFJlY2VpdmVSZXNwb25zZSA8TlNVUkxSZXNwb25zZSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2Fj
aGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5weSwgaHR0cCBzdGF0dXMgY29kZSAyMDA+CitodHRwOi8v
MTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5weSAtIGRpZEZpbmlzaExv
YWRpbmcKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5
IC0gd2lsbFNlbmRSZXF1ZXN0IDxOU1VSTFJlcXVlc3QgVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5LCBtYWluIGRvY3VtZW50IFVSTCBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC5odG1sLCBodHRwIG1ldGhvZCBH
RVQ+IHJlZGlyZWN0UmVzcG9uc2UgKG51bGwpCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUv
cmVzb3VyY2VzL2lmcmFtZTMwNC5weSAtIGRpZFJlY2VpdmVSZXNwb25zZSA8TlNVUkxSZXNwb25z
ZSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5weSwgaHR0
cCBzdGF0dXMgY29kZSAzMDQ+CitodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2Vz
L2lmcmFtZTMwNC5weSAtIGRpZEZpbmlzaExvYWRpbmcKIApJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWwJKHJldmlzaW9uIDI3
NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMCw3ICsxMCw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgewogZnVuY3Rpb24gcmVtb3ZlQW5kUmVwbGFjZUlmcmFtZSgpIHsKICAgICBkb2N1bWVudC5i
b2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZnJhbWUiKSk7CiAgICAg
dmFyIG5ld0lmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIG5l
d0lmcmFtZS5zcmMgPSAicmVzb3VyY2VzL2lmcmFtZTMwNC5waHAiOworICAgIG5ld0lmcmFtZS5z
cmMgPSAicmVzb3VyY2VzL2lmcmFtZTMwNC5weSI7CiAgICAgbmV3SWZyYW1lLm9ubG9hZCA9IGZ1
bmN0aW9uKCkgeyBzZXRUaW1lb3V0KGZpbmlzaCwgMCk7IH0KICAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKG5ld0lmcmFtZSk7CiB9CkBAIC0yMiw2ICsyMiw2IEBAIGZ1bmN0aW9uIGZpbmlz
aCgpIHsKIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KHJlbW92
ZUFuZFJlcGxhY2VJZnJhbWUsIDApIj4KLTxpZnJhbWUgaWQ9ImlmcmFtZSIgc3JjPSJyZXNvdXJj
ZXMvaWZyYW1lMzA0LnBocCI+PC9pZnJhbWU+Cis8aWZyYW1lIGlkPSJpZnJhbWUiIHNyYz0icmVz
b3VyY2VzL2lmcmFtZTMwNC5weSI+PC9pZnJhbWU+CiA8L2JvZHk+CiA8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2lmcmFtZS1kZXRhY2guaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2lmcmFtZS1kZXRhY2guaHRtbAkocmV2
aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtZGV0
YWNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNyArMSw3IEBACiA8aHRtbD4KIDxib2R5Pgog
PGRpdiBpZD0ic2hhZG93Ij4KLTxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvc2xvdy1pZnJhbWUucGhw
Ij48L2lmcmFtZT4KKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvc2xvdy1pZnJhbWUucHkiPjwvaWZy
YW1lPgogPC9kaXY+CiAKIDxkaXYgaWQ9ImVtcHR5Ij48L2Rpdj4KSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvbGluay1wcmVmZXRjaC1tYWluLXJlc291cmNlLWlmcmFtZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvbGluay1wcmVmZXRj
aC1tYWluLXJlc291cmNlLWlmcmFtZS5odG1sCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2xpbmstcHJlZmV0Y2gtbWFpbi1yZXNvdXJjZS1pZnJhbWUu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjIsNyArMjIsNyBAQCBmdW5jdGlvbiBpZnJhbWVMb2Fk
RmluaXNoZWQoKQogZnVuY3Rpb24gbG9hZEFmdGVyUHJlZmV0Y2goKQogewogICAgIHZhciBuZXdJ
ZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBuZXdJZnJhbWUu
c3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1t
YWluLXJlc291cmNlLWlmcmFtZS5waHAiOworICAgIG5ld0lmcmFtZS5zcmMgPSAiaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZy
YW1lLnB5IjsKICAgICBuZXdJZnJhbWUub25sb2FkID0gaWZyYW1lTG9hZEZpbmlzaGVkOwogICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobmV3SWZyYW1lKTsKIH0KQEAgLTM1LDcgKzM1LDcg
QEAgd2luZG93Lm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2UpCiBmdW5jdGlvbiBydW5UZXN0
KCkgewogICAgIHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpOwogICAg
IGxpbmsucmVsID0gInByZWZldGNoIjsKLSAgICBsaW5rLmhyZWYgPSAiaHR0cDovL2xvY2FsaG9z
dDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBo
cCI7CisgICAgbGluay5ocmVmID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJj
ZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLWlmcmFtZS5weSI7CiAgICAgaWYgKGludGVybmFs
cykKICAgICAgICAgaW50ZXJuYWxzLmFkZFByZWZldGNoTG9hZEV2ZW50TGlzdGVuZXIobGluaywg
KCkgPT4geyBsb2FkQWZ0ZXJQcmVmZXRjaCgpOyB9KTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGxpbmspOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9saW5rLXBy
ZWZldGNoLW1haW4tcmVzb3VyY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2xpbmstcHJlZmV0Y2gtbWFpbi1yZXNvdXJjZS5odG1sCShyZXZpc2lvbiAy
NzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2xpbmstcHJlZmV0Y2gtbWFp
bi1yZXNvdXJjZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC03LDEzICs3LDEzIEBAIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikgewogCiBmdW5jdGlvbiBsb2FkQWZ0ZXJQcmVmZXRjaCgpCiB7Ci0gICAg
IHdpbmRvdy5sb2NhdGlvbi5hc3NpZ24oJ2h0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNv
dXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLnBocCcpOworICAgICB3aW5kb3cubG9jYXRp
b24uYXNzaWduKCdodHRwOi8vbG9jYWxob3N0OjgwMDAvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNo
ZWQtbWFpbi1yZXNvdXJjZS5weScpOwogfQogCiBmdW5jdGlvbiBydW5UZXN0KCkgewogICAgIHZh
ciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpOwogICAgIGxpbmsucmVsID0g
InByZWZldGNoIjsKLSAgICBsaW5rLmhyZWYgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2NhY2hl
L3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UucGhwIjsKKyAgICBsaW5rLmhyZWYg
PSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4t
cmVzb3VyY2UucHkiOwogICAgIGlmIChpbnRlcm5hbHMpCiAgICAgICAgIGludGVybmFscy5hZGRQ
cmVmZXRjaExvYWRFdmVudExpc3RlbmVyKGxpbmssICgpID0+IHsgbG9hZEFmdGVyUHJlZmV0Y2go
KTsgfSk7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTsKSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvbWFpbi1yZXNvdXJjZS0zMDQtcmVsb2FkLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9tYWluLXJlc291cmNlLTMw
NC1yZWxvYWQuaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9tYWluLXJlc291cmNlLTMwNC1yZWxvYWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MTEsNyArMTEsNyBAQCBmdW5jdGlvbiBsb2FkRnJhbWUob25sb2FkKQogICAgIGlmIChpZnJhbWUp
CiAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoaWZyYW1lKTsKICAgICBpZnJhbWUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBpZnJhbWUuc3JjID0gInJl
c291cmNlcy9pZnJhbWUzMDRib2R5LnBocCI7CisgICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMv
aWZyYW1lMzA0Ym9keS5weSI7CiAgICAgaWZyYW1lLm9ubG9hZCA9IG9ubG9hZDsKICAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7CiB9CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LnBocAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LnBocAkocmV2aXNpb24gMjc0
MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC5w
aHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw2MCArMCwwIEBACi08P3BocAotcmVxdWlyZV9vbmNlICcu
Li9yZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXllci5waHAnOwotCi0vLyBUaGlzIHRlc3QgbG9hZHMg
YW4gdW5jYWNoZWFibGUgbWFpbiByZXNvdXJjZSBhbmQgYSBjYWNoZWFibGUgaW1hZ2Ugc3VicmVz
b3VyY2UuCi0vLyBXZSB0aGVuIHRyaWdnZXIgYSBQT1NUIHJlcXVlc3QsIHdoaWNoIHJlZGlyZWN0
cyBhcyBhIEdFVCBiYWNrIHRvIHRoaXMgcGFnZS4KLS8vIE9uIHRoaXMgR0VUIHJlcXVlc3QsIHRo
ZSBpbWFnZSBzaG91bGQgYmUgbG9hZGVkIGZyb20gdGhlIGNhY2hlIGFuZCBubyBIVFRQCi0vLyBy
ZXF1ZXN0IHNob3VsZCBiZSBzZW50LiBUaGUgaW1hZ2UgcmVzb3VyY2Ugd2lsbCByZXR1cm4gNDA0
IGlmIGl0IHJlY2VpdmVzCi0vLyBhIHNlY29uZCByZXF1ZXN0LCB3aGljaCB3aWxsIGNhdXNlIHVz
IHRvIEZBSUwuCi0vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTM4NjkwCi1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBuby1zdG9yZSwgbXVzdC1y
ZXZhbGlkYXRlLCBtYXgtYWdlPTAnKTsKLWhlYWRlcignUHJhZ21hOiBuby1jYWNoZScpOwotaGVh
ZGVyKCdFeHBpcmVzOiAnIC4gZ21kYXRlKERBVEVfUkZDMTEyMywgdGltZSgpLTEpKTsKLQotaWYg
KCRfUE9TVFsic3VibWl0Il0gPT0gInJlZGlyZWN0IikgewotICAgIGhlYWRlcignSFRUUC8xLjEg
MzAyIEZvdW5kJyk7Ci0gICAgaGVhZGVyKCdMb2NhdGlvbjogcG9zdC1yZWRpcmVjdC1nZXQucGhw
P2ZpbmlzaD10cnVlJyk7Ci0gICAgZXhpdCgpOwotfQotPz4KLTxodG1sPgotPGJvZHk+Ci08ZGl2
IGlkPSJyZXN1bHQiPjwvZGl2PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewot
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwotfQotICAgIAotZnVuY3Rpb24gbG9nQW5kRmluaXNoKG1lc3NhZ2UpCi17Ci0gICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZVRleHROb2RlKG1lc3NhZ2UpKTsKLSAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0Owot
ICAgIHhoci5vcGVuKCJHRVQiLCAiLi4vcmVzb3VyY2VzL3Jlc2V0LXRlbXAtZmlsZS5waHA/Zmls
ZW5hbWU9Y2FjaGVfcG9zdC1yZWRpcmVjdC1nZXRfc3RhdGUiLCBmYWxzZSk7Ci0gICAgeGhyLnNl
bmQobnVsbCk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKLX0KLTwvc2NyaXB0PgotPD9waHAKLWNsZWFyc3RhdGNhY2hlKCk7Ci1p
ZiAoJF9HRVRbImZpbmlzaCJdID09ICJ0cnVlIikgewotICAgIC8vIFRoZSBpbml0aWFsIGxvYWQg
b2YgdGhlIGltYWdlIG1pZ2h0IGhhdmUgYmVlbiBkb25lIGZyb20gdGhlIGNhY2hlLiBJbiB0aGF0
IGNhc2UsIHRvdWNoIHRoZQotICAgIC8vIHN0YXRlIGZpbGUgdG8gaW5kaWNhdGUgYSBsb2FkIGhh
cyBhbHJlYWR5IG9jY3VycmVkLgotICAgIGlmICghZmlsZV9leGlzdHMoc3lzX2dldF90ZW1wX2Rp
cigpIC4gIi9jYWNoZV9wb3N0LXJlZGlyZWN0LWdldF9zdGF0ZSIpKSB7Ci0gICAgICAgIGVjaG8g
IjxzY3JpcHQ+IjsKLSAgICAgICAgZWNobyAieGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0OyI7Ci0g
ICAgICAgIGVjaG8gInhoci5vcGVuKCdHRVQnLCAnLi4vcmVzb3VyY2VzL3RvdWNoLXRlbXAtZmls
ZS5waHA/ZmlsZW5hbWU9Y2FjaGVfcG9zdC1yZWRpcmVjdC1nZXRfc3RhdGUnLCBmYWxzZSk7IjsK
LSAgICAgICAgZWNobyAieGhyLnNlbmQobnVsbCk7IjsKLSAgICAgICAgZWNobyAiPC9zY3JpcHQ+
IjsKLSAgICB9Ci0gICAgZWNobyAiPGltZyBzcmM9J3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZl
cmlmeS5waHA/dGVzdD1jYWNoZV9wb3N0LXJlZGlyZWN0LWdldCcgb25sb2FkPVwibG9nQW5kRmlu
aXNoKCdQQVNTJyk7XCIgb25lcnJvcj1cImxvZ0FuZEZpbmlzaCgnRkFJTCcpO1wiPjwvaW1nPiI7
Ci19IGVsc2UgewotICAgIGVjaG8gIjxmb3JtIGFjdGlvbj0ncG9zdC1yZWRpcmVjdC1nZXQucGhw
JyBtZXRob2Q9J3Bvc3QnPiI7Ci0gICAgZWNobyAiPGlucHV0IHR5cGU9J3N1Ym1pdCcgaWQ9J3N1
Ym1pdCcgbmFtZT0nc3VibWl0JyB2YWx1ZT0ncmVkaXJlY3QnPiI7Ci0gICAgZWNobyAiPC9mb3Jt
PiI7Ci0gICAgZWNobyAiPGltZyBzcmM9J3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5w
aHA/dGVzdD1jYWNoZV9wb3N0LXJlZGlyZWN0LWdldCcgb25sb2FkPVwiZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3N1Ym1pdCcpLmNsaWNrKCk7XCIgb25lcnJvcj1cImxvZ0FuZEZpbmlzaCgnRkFJ
TCBvbiBpbml0aWFsIGxvYWQnKTtcIj48L2ltZz4iOwotfSAKLT8+Ci08L2JvZHk+Ci08L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LnB5
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVj
dC1nZXQucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9w
b3N0LXJlZGlyZWN0LWdldC5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDgzIEBACisjIS91
c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBjZ2kKK2ltcG9ydCBvcworaW1wb3J0IHN5cwor
aW1wb3J0IHRlbXBmaWxlCitmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZSwgdGltZWRlbHRh
Citmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMKKworZmlsZSA9IF9fZmlsZV9fLnNw
bGl0KCc6L2N5Z3dpbicpWy0xXQoraHR0cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGgu
ZGlybmFtZShvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1lKGZpbGUpKSkpCitzeXMucGF0
aC5pbnNlcnQoMCwgaHR0cF9yb290KQorCityZXF1ZXN0X21ldGhvZCA9IG9zLmVudmlyb24uZ2V0
KCdSRVFVRVNUX01FVEhPRCcsICcnKQorZXhwaXJlcyA9ICd7fSArMDAwMCcuZm9ybWF0KChkYXRl
dGltZS51dGNub3coKSAtIHRpbWVkZWx0YShzZWNvbmRzPTEpKS5zdHJmdGltZSgnJWEsICVkICVi
ICVZICVIOiVNOiVTJykpCitmaW5pc2ggPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllf
U1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKS5nZXQoJ2ZpbmlzaCcsIFsnJ10p
WzBdCisKK3JlcXVlc3QgPSB7fQoraWYgcmVxdWVzdF9tZXRob2QgPT0gJ1BPU1QnOgorICAgIGZv
cm0gPSBjZ2kuRmllbGRTdG9yYWdlKCkKKyAgICBmb3Iga2V5IGluIHNvcnRlZChmb3JtLmtleXMo
KSk6CisgICAgICAgIHJlcXVlc3Rba2V5XSA9IGZvcm0uZ2V0dmFsdWUoa2V5KQorCitzeXMuc3Rk
b3V0LndyaXRlKAorICAgICdDYWNoZS1Db250cm9sOiBuby1jYWNoZSwgbm8tc3RvcmUsIG11c3Qt
cmV2YWxpZGF0ZSwgbWF4LWFnZT0wXHJcbicKKyAgICAnUHJhZ21hOiBuby1jYWNoZVxyXG4nCisg
ICAgZidFeHBpcmVzOiB7ZXhwaXJlc31cclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRt
bFxyXG4nCispCisKK2lmIHJlcXVlc3QuZ2V0KCdzdWJtaXQnLCAnJykgPT0gJ3JlZGlyZWN0JzoK
KyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnc3RhdHVzOiAzMDJcclxuJworICAgICAg
ICAnTG9jYXRpb246IHBvc3QtcmVkaXJlY3QtZ2V0LnB5P2ZpbmlzaD10cnVlXHJcblxyXG4nCisg
ICAgKQorICAgIHN5cy5leGl0KDApCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ1xyXG4nCisg
ICAgJzxodG1sPlxyXG4nCisgICAgJzxib2R5PlxyXG4nCisgICAgJzxkaXYgaWQ9InJlc3VsdCI+
PC9kaXY+XHJcbicKKyAgICAnPHNjcmlwdD5cclxuJworICAgICdpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHtcclxuJworICAgICcgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7XHJcbicKKyAgICAn
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpO1xyXG4nCisgICAgJ31cclxuJworICAgICcg
ICAgXHJcbicKKyAgICAnZnVuY3Rpb24gbG9nQW5kRmluaXNoKG1lc3NhZ2UpXHJcbicKKyAgICAn
e1xyXG4nCisgICAgJyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobWVzc2FnZSkpO1xyXG4nCisgICAgJyAgICB2
YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0O1xyXG4nCisgICAgJyAgICB4aHIub3BlbigiR0VU
IiwgIi4uL3Jlc291cmNlcy9yZXNldC10ZW1wLWZpbGUucHk/ZmlsZW5hbWU9Y2FjaGVfcG9zdC1y
ZWRpcmVjdC1nZXRfc3RhdGUiLCBmYWxzZSk7XHJcbicKKyAgICAnICAgIHhoci5zZW5kKG51bGwp
O1xyXG4nCisgICAgJyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpXHJcbicKKyAgICAnICAgICAg
ICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTtcclxuJworICAgICd9XHJcbicKKyAgICAnPC9zY3Jp
cHQ+XHJcbicKKykKKworaWYgZmluaXNoID09ICd0cnVlJzoKKyAgICB0bXBGaWxlID0gb3MucGF0
aC5qb2luKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwgJ2NhY2hlX3Bvc3QtcmVkaXJlY3QtZ2V0X3N0
YXRlJykKKyAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUodG1wRmlsZSk6CisgICAgICAgIHN5cy5z
dGRvdXQud3JpdGUoCisgICAgICAgICAgICAnPHNjcmlwdD4nCisgICAgICAgICAgICAneGhyID0g
bmV3IFhNTEh0dHBSZXF1ZXN0OycKKyAgICAgICAgICAgICd4aHIub3BlbihcJ0dFVFwnLCBcJy4u
L3Jlc291cmNlcy90b3VjaC10ZW1wLWZpbGUucHk/ZmlsZW5hbWU9Y2FjaGVfcG9zdC1yZWRpcmVj
dC1nZXRfc3RhdGVcJywgZmFsc2UpOycKKyAgICAgICAgICAgICd4aHIuc2VuZChudWxsKTsnCisg
ICAgICAgICAgICAnPC9zY3JpcHQ+JworICAgICAgICApCisgICAgc3lzLnN0ZG91dC53cml0ZSgn
PGltZyBzcmM9XCdyZXNvdXJjZXMvcG9zdC1pbWFnZS10by12ZXJpZnkucHk/dGVzdD1jYWNoZV9w
b3N0LXJlZGlyZWN0LWdldFwnIG9ubG9hZD0ibG9nQW5kRmluaXNoKFwnUEFTU1wnKTsiIG9uZXJy
b3I9ImxvZ0FuZEZpbmlzaChcJ0ZBSUxcJyk7Ij48L2ltZz4nKQorZWxzZToKKyAgICBzeXMuc3Rk
b3V0LndyaXRlKAorICAgICAgICAnPGZvcm0gYWN0aW9uPVwncG9zdC1yZWRpcmVjdC1nZXQucHlc
JyBtZXRob2Q9XCdwb3N0XCc+JworICAgICAgICAnPGlucHV0IHR5cGU9XCdzdWJtaXRcJyBpZD1c
J3N1Ym1pdFwnIG5hbWU9XCdzdWJtaXRcJyB2YWx1ZT1cJ3JlZGlyZWN0XCc+JworICAgICAgICAn
PC9mb3JtPicKKyAgICAgICAgJzxpbWcgc3JjPVwncmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVy
aWZ5LnB5P3Rlc3Q9Y2FjaGVfcG9zdC1yZWRpcmVjdC1nZXRcJyBvbmxvYWQ9ImRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKFwnc3VibWl0XCcpLmNsaWNrKCk7IiBvbmVycm9yPSJsb2dBbmRGaW5pc2go
XCdGQUlMIG9uIGluaXRpYWwgbG9hZFwnKTsiPjwvaW1nPicKKyAgICApCisKK3N5cy5zdGRvdXQu
d3JpdGUoCisgICAgJzwvYm9keT5cbicKKyAgICAnPC9odG1sPlxuJworKQpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1
dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVz
b3VyY2VzLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bv
c3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy5w
aHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw1NCArMCwwIEBACi08P3BocAotcmVxdWlyZV9vbmNlICcu
Li9yZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXllci5waHAnOwotCi0vLyBUaGlzIHRlc3QgbG9hZHMg
YW4gdW5jYWNoZWFibGUgbWFpbiByZXNvdXJjZSBhbmQgYSBjYWNoZWFibGUgaW1hZ2Ugc3VicmVz
b3VyY2UuCi0vLyBXZSByZXF1ZXN0IHRoaXMgcGFnZSBhcyBhIEdFVCwgdGhlbiByZWxvYWQgdGhp
cyBwYWdlIHdpdGggYSBQT1NULgotLy8gT24gdGhlIHBvc3QgcmVxdWVzdCwgdGhlIGltYWdlIHNo
b3VsZCBiZSBsb2FkZWQgZnJvbSB0aGUgY2FjaGUgYW5kIG5vIEhUVFAKLS8vIHJlcXVlc3Qgc2hv
dWxkIGJlIHNlbnQuIFRoZSBpbWFnZSByZXNvdXJjZSB3aWxsIHJldHVybiA0MDQgaWYgaXQgcmVj
ZWl2ZXMKLS8vIGEgc2Vjb25kIHJlcXVlc3QsIHdoaWNoIHdpbGwgY2F1c2UgdXMgdG8gRkFJTC4K
LS8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg2OTAKLWhl
YWRlcignQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUsIG5vLXN0b3JlLCBtdXN0LXJldmFsaWRhdGUs
IG1heC1hZ2U9MCcpOwotaGVhZGVyKCdQcmFnbWE6IG5vLWNhY2hlJyk7Ci1oZWFkZXIoJ0V4cGly
ZXM6ICcgLiBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCktMSkpOwotPz4KLTxodG1sPgotPGJv
ZHk+Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwotfQotICAgIAotZnVuY3Rpb24gbG9nQW5kRmluaXNoKG1lc3NhZ2UpCi17
Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2UpKTsKLSAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBS
ZXF1ZXN0OwotICAgIHhoci5vcGVuKCJHRVQiLCAiLi4vcmVzb3VyY2VzL3Jlc2V0LXRlbXAtZmls
ZS5waHA/ZmlsZW5hbWU9Y2FjaGVfcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXNfc3RhdGUi
LCBmYWxzZSk7Ci0gICAgeGhyLnNlbmQobnVsbCk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0KLTwvc2NyaXB0PgotPD9waHAK
LWNsZWFyc3RhdGNhY2hlKCk7Ci1pZiAoJF9QT1NUWyJzdWJtaXQiXSA9PSAiZmluaXNoIikgewot
ICAgIC8vIFRoZSBpbml0aWFsIGxvYWQgb2YgdGhlIGltYWdlIG1pZ2h0IGhhdmUgYmVlbiBkb25l
IGZyb20gdGhlIGNhY2hlLiBJbiB0aGF0IGNhc2UsIHRvdWNoIHRoZQotICAgIC8vIHN0YXRlIGZp
bGUgdG8gaW5kaWNhdGUgYSBsb2FkIGhhcyBhbHJlYWR5IG9jY3VycmVkLgotICAgIGlmICghZmls
ZV9leGlzdHMoc3lzX2dldF90ZW1wX2RpcigpIC4gIi9jYWNoZV9wb3N0LXdpdGgtY2FjaGVkLXN1
YnJlc291cmNlc19zdGF0ZSIpKSB7Ci0gICAgICAgIGVjaG8gIjxzY3JpcHQ+IjsKLSAgICAgICAg
ZWNobyAieGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0OyI7Ci0gICAgICAgIGVjaG8gInhoci5vcGVu
KCdHRVQnLCAnLi4vcmVzb3VyY2VzL3RvdWNoLXRlbXAtZmlsZS5waHA/ZmlsZW5hbWU9Y2FjaGVf
cG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXNfc3RhdGUnLCBmYWxzZSk7IjsKLSAgICAgICAg
ZWNobyAieGhyLnNlbmQobnVsbCk7IjsKLSAgICAgICAgZWNobyAiPC9zY3JpcHQ+IjsKLSAgICB9
Ci0gICAgZWNobyAiPGltZyBzcmM9J3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5waHA/
dGVzdD1jYWNoZV9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcycgb25sb2FkPVwibG9nQW5k
RmluaXNoKCdQQVNTJyk7XCIgb25lcnJvcj1cImxvZ0FuZEZpbmlzaCgnRkFJTCcpO1wiPjwvaW1n
PiI7Ci19IGVsc2UgewotICAgIGVjaG8gIjxmb3JtIGFjdGlvbj0ncG9zdC13aXRoLWNhY2hlZC1z
dWJyZXNvdXJjZXMucGhwJyBtZXRob2Q9J3Bvc3QnPiI7Ci0gICAgZWNobyAiPGlucHV0IHR5cGU9
J3N1Ym1pdCcgaWQ9J3N1Ym1pdCcgbmFtZT0nc3VibWl0JyB2YWx1ZT0nZmluaXNoJz4iOwotICAg
IGVjaG8gIjwvZm9ybT4iOwotICAgIGVjaG8gIjxpbWcgc3JjPSdyZXNvdXJjZXMvcG9zdC1pbWFn
ZS10by12ZXJpZnkucGhwP3Rlc3Q9Y2FjaGVfcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMn
IG9ubG9hZD1cImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdWJtaXQnKS5jbGljaygpO1wiIG9u
ZXJyb3I9XCJsb2dBbmRGaW5pc2goJ0ZBSUwgb24gaW5pdGlhbCBsb2FkJyk7XCI+PC9pbWc+IjsK
LX0gCi0/PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy5weQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLnB5
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRo
LWNhY2hlZC1zdWJyZXNvdXJjZXMucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4MSBAQAor
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgY2dpCitpbXBvcnQgb3MKK2ltcG9ydCBz
eXMKK2ltcG9ydCB0ZW1wZmlsZQorZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVk
ZWx0YQorCisjIFRoaXMgdGVzdCBsb2FkcyBhbiB1bmNhY2hlYWJsZSBtYWluIHJlc291cmNlIGFu
ZCBhIGNhY2hlYWJsZSBpbWFnZSBzdWJyZXNvdXJjZS4KKyMgV2UgcmVxdWVzdCB0aGlzIHBhZ2Ug
YXMgYSBHRVQsIHRoZW4gcmVsb2FkIHRoaXMgcGFnZSB3aXRoIGEgUE9TVC4KKyMgT24gdGhlIHBv
c3QgcmVxdWVzdCwgdGhlIGltYWdlIHNob3VsZCBiZSBsb2FkZWQgZnJvbSB0aGUgY2FjaGUgYW5k
IG5vIEhUVFAKKyMgcmVxdWVzdCBzaG91bGQgYmUgc2VudC4gVGhlIGltYWdlIHJlc291cmNlIHdp
bGwgcmV0dXJuIDQwNCBpZiBpdCByZWNlaXZlcworIyBhIHNlY29uZCByZXF1ZXN0LCB3aGljaCB3
aWxsIGNhdXNlIHVzIHRvIEZBSUwuCisjIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Mzg2OTAKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5Z3dpbicpWy0x
XQoraHR0cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFi
c3BhdGgob3MucGF0aC5kaXJuYW1lKGZpbGUpKSkpCitzeXMucGF0aC5pbnNlcnQoMCwgaHR0cF9y
b290KQorCityZXF1ZXN0X21ldGhvZCA9IG9zLmVudmlyb24uZ2V0KCdSRVFVRVNUX01FVEhPRCcs
ICcnKQorZXhwX3RpbWUgPSBkYXRldGltZS51dGNub3coKSAtIHRpbWVkZWx0YShzZWNvbmRzPTEp
CisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBuby1z
dG9yZSwgbXVzdC1yZXZhbGlkYXRlLCBtYXgtYWdlPTBcclxuJworICAgICdQcmFnbWE6IG5vLWNh
Y2hlXHJcbicKKyAgICAnRXhwaXJlczoge30gKzAwMDBcclxuJworICAgICdDb250ZW50LVR5cGU6
IHRleHQvaHRtbFxyXG5cclxuJy5mb3JtYXQoZXhwX3RpbWUuc3RyZnRpbWUoJyVhLCAlZCAlYiAl
WSAlSDolTTolUycpKQorKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICc8aHRtbD5cbicKKyAg
ICAnPGJvZHk+XG4nCisgICAgJzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+XG4nCisgICAgJzxzY3Jp
cHQ+XG4nCisgICAgJ2lmICh3aW5kb3cudGVzdFJ1bm5lcikge1xuJworICAgICcgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7XG4nCisgICAgJyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTtcbicKKyAgICAnfVxuJworICAgICcgICAgXG4nCisgICAgJ2Z1bmN0aW9uIGxvZ0FuZEZpbmlz
aChtZXNzYWdlKVxuJworICAgICd7XG4nCisgICAgJyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicmVzdWx0IikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobWVzc2FnZSkp
O1xuJworICAgICcgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdDtcbicKKyAgICAnICAg
IHhoci5vcGVuKCJHRVQiLCAiLi4vcmVzb3VyY2VzL3Jlc2V0LXRlbXAtZmlsZS5weT9maWxlbmFt
ZT1jYWNoZV9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlc19zdGF0ZSIsIGZhbHNlKTtcbicK
KyAgICAnICAgIHhoci5zZW5kKG51bGwpO1xuJworICAgICcgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKVxuJworICAgICcgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpO1xuJworICAgICd9
XG4nCisgICAgJzwvc2NyaXB0PlxuJworKQorCityZXF1ZXN0ID0ge30KK2lmIHJlcXVlc3RfbWV0
aG9kID09ICdQT1NUJzoKKyAgICBmb3JtID0gY2dpLkZpZWxkU3RvcmFnZSgpCisgICAgZm9yIGtl
eSBpbiBzb3J0ZWQoZm9ybS5rZXlzKCkpOgorICAgICAgICByZXF1ZXN0W2tleV0gPSBmb3JtLmdl
dHZhbHVlKGtleSkKKworaWYgcmVxdWVzdC5nZXQoJ3N1Ym1pdCcsICcnKSA9PSAnZmluaXNoJzoK
KyAgICB0bXBGaWxlUGF0aCA9IG9zLnBhdGguam9pbih0ZW1wZmlsZS5nZXR0ZW1wZGlyKCksICdj
YWNoZV9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlc19zdGF0ZScpCisgICAgaWYgb3MucGF0
aC5leGlzdHModG1wRmlsZVBhdGgpOgorICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAg
ICAgICAgJzxzY3JpcHQ+JworICAgICAgICAgICAgJ3hociA9IG5ldyBYTUxIdHRwUmVxdWVzdDsn
CisgICAgICAgICAgICAneGhyLm9wZW4oXCdHRVRcJywgXCcuLi9yZXNvdXJjZXMvdG91Y2gtdGVt
cC1maWxlLnB5P2ZpbGVuYW1lPWNhY2hlX3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzX3N0
YXRlXCcsIGZhbHNlKTsnCisgICAgICAgICAgICAneGhyLnNlbmQobnVsbCk7JworICAgICAgICAg
ICAgJzwvc2NyaXB0PicKKyAgICAgICAgKQorCisgICAgc3lzLnN0ZG91dC53cml0ZSgnPGltZyBz
cmM9XCdyZXNvdXJjZXMvcG9zdC1pbWFnZS10by12ZXJpZnkucHk/dGVzdD1jYWNoZV9wb3N0LXdp
dGgtY2FjaGVkLXN1YnJlc291cmNlc1wnIG9ubG9hZD0ibG9nQW5kRmluaXNoKFwnUEFTU1wnKTsi
IG9uZXJyb3I9ImxvZ0FuZEZpbmlzaChcJ0ZBSUxcJyk7Ij48L2ltZz4nKQorZWxzZToKKyAgICBz
eXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnPGZvcm0gYWN0aW9uPVwncG9zdC13aXRoLWNhY2hl
ZC1zdWJyZXNvdXJjZXMucHlcJyBtZXRob2Q9XCdwb3N0XCc+JworICAgICAgICAnPGlucHV0IHR5
cGU9XCdzdWJtaXRcJyBpZD1cJ3N1Ym1pdFwnIG5hbWU9XCdzdWJtaXRcJyB2YWx1ZT1cJ2Zpbmlz
aFwnPicKKyAgICAgICAgJzwvZm9ybT4nCisgICAgICAgICc8aW1nIHNyYz1cJ3Jlc291cmNlcy9w
b3N0LWltYWdlLXRvLXZlcmlmeS5weT90ZXN0PWNhY2hlX3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVz
b3VyY2VzXCcgb25sb2FkPVwiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCdzdWJtaXRcJykuY2xp
Y2soKTtcIiBvbmVycm9yPVwibG9nQW5kRmluaXNoKFwnRkFJTCBvbiBpbml0aWFsIGxvYWRcJyk7
XCI+PC9pbWc+JworICAgICkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnPC9ib2R5PlxuJwor
ICAgICc8L2h0bWw+XG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVk
LXN1YnJlc291cmNlcy5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCww
ICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVjdXJzaXZlLXZhbGlkYXRpb24uaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3JlY3Vyc2l2ZS12YWxpZGF0aW9uLmh0
bWwJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVj
dXJzaXZlLXZhbGlkYXRpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNiw3ICs2LDcgQEAgZGVz
Y3JpcHRpb24oIlRlc3QgdGhhdCByZWN1cnNpdmVseSBsb2FkaQogCiBmdW5jdGlvbiBsb2FkKGNv
bXBsZXRpb24pIHsKICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Ci0gICAgeGhy
Lm9wZW4oJ0dFVCcsICJyZXNvdXJjZXMvbm8tY2FjaGUtd2l0aC12YWxpZGF0aW9uLnBocCIpOwor
ICAgIHhoci5vcGVuKCdHRVQnLCAicmVzb3VyY2VzL25vLWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5w
eSIpOwogICAgIHhoci5vbmxvYWQgPSBjb21wbGV0aW9uOwogICAgIHhoci5zZW5kKCk7CiB9Cklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3JlZGlyZWN0LXJlZmVyZXIuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3JlZGlyZWN0LXJlZmVy
ZXIuaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZWRpcmVjdC1yZWZlcmVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNyArMSw3IEBACiA8
Ym9keT4KIDxzY3JpcHQ+CiB2YXIgcm5kID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAw
MDAwMDAwMDAwMDAwMCk7Ci12YXIgaWZyYW1lU3JjID0gInJlc291cmNlcy9wZXJtYW5lbnQtcmVk
aXJlY3QucGhwP2xvY2F0aW9uPXJlZGlyZWN0LXJlZmVyZXItaWZyYW1lLmh0bWwmcm5kPSIgKyBy
bmQ7Cit2YXIgaWZyYW1lU3JjID0gInJlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucHk/bG9j
YXRpb249cmVkaXJlY3QtcmVmZXJlci1pZnJhbWUuaHRtbCZybmQ9IiArIHJuZDsKIAogdmFyIGlm
cmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwogaWZyYW1lLnNyYyA9IGlm
cmFtZVNyYzsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVsb2FkLW1haW4t
cmVzb3VyY2UucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVsb2FkLW1haW4tcmVzb3VyY2UucGhwCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3JlbG9hZC1tYWluLXJlc291cmNlLnBocAkobm9uZXhpc3RlbnQp
CkBAIC0xLDI3ICswLDAgQEAKLTw/cGhwCi1yZXF1aXJlX29uY2UgJy4uL3Jlc291cmNlcy9wb3J0
YWJpbGl0eUxheWVyLnBocCc7Ci1jbGVhcnN0YXRjYWNoZSgpOwotaWYgKGZpbGVfZXhpc3RzKHN5
c19nZXRfdGVtcF9kaXIoKSAuICIvY2FjaGUtcmVsb2FkLW1haW4tcmVzb3VyY2UudG1wIikpCi0g
ICAgdW5saW5rKHN5c19nZXRfdGVtcF9kaXIoKSAuICIvY2FjaGUtcmVsb2FkLW1haW4tcmVzb3Vy
Y2UudG1wIik7Ci0/PgotCi08Ym9keT4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Ci08c2NyaXB0
PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHJlbG9hZElm
cmFtZSgpIHsKLSAgICB3aW5kb3cuZnJhbWVzWzBdLmxvY2F0aW9uLnJlbG9hZCgpOwotfQotCi1m
dW5jdGlvbiBmaW5pc2goKSB7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIp
LmlubmVyVGV4dCA9ICJQQVNTIjsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfQotPC9zY3JpcHQ+Ci08aWZyYW1lIHNyYz0icmVz
b3VyY2VzL3JlbG9hZC1tYWluLXJlc291cmNlLWlmcmFtZS5waHAiIG9ubG9hZD0icmVsb2FkSWZy
YW1lKCk7Ij48L2lmcmFtZT4KLTwvYm9keT4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVsb2FkLW1haW4tcmVzb3VyY2UucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZWxvYWQtbWFpbi1yZXNvdXJjZS5weQkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3JlbG9hZC1tYWluLXJlc291cmNlLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzcgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKwor
aW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgdGVtcGZpbGUKKworZmlsZSA9IF9fZmlsZV9f
LnNwbGl0KCc6L2N5Z3dpbicpWy0xXQoraHR0cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBh
dGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1lKGZpbGUpKSkpCitzeXMu
cGF0aC5pbnNlcnQoMCwgaHR0cF9yb290KQorCit0bXBGaWxlID0gb3MucGF0aC5qb2luKHRlbXBm
aWxlLmdldHRlbXBkaXIoKSwgJ2NhY2hlLXJlbG9hZC1tYWluLXJlc291cmNlLnRtcCcpCitpZiBv
cy5wYXRoLmlzZmlsZSh0bXBGaWxlKToKKyAgICBvcy5yZW1vdmUodG1wRmlsZSkKKworc3lzLnN0
ZG91dC53cml0ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICAn
PGJvZHk+XG4nCisgICAgJzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+XG4nCisgICAgJzxzY3JpcHQ+
XG4nCisgICAgJ2lmICh3aW5kb3cudGVzdFJ1bm5lcikge1xuJworICAgICcgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7XG4nCisgICAgJyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTtc
bicKKyAgICAnfVxuJworICAgICdcbicKKyAgICAnZnVuY3Rpb24gcmVsb2FkSWZyYW1lKCkge1xu
JworICAgICcgICAgd2luZG93LmZyYW1lc1swXS5sb2NhdGlvbi5yZWxvYWQoKTtcbicKKyAgICAn
fVxuJworICAgICdcbicKKyAgICAnZnVuY3Rpb24gZmluaXNoKCkge1xuJworICAgICcgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVyVGV4dCA9ICJQQVNTIjtcbicKKyAg
ICAnICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcilcbicKKyAgICAnICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTtcbicKKyAgICAnfVxuJworICAgICc8L3NjcmlwdD5cbicKKyAgICAnPGlm
cmFtZSBzcmM9InJlc291cmNlcy9yZWxvYWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucHkiIG9ubG9h
ZD0icmVsb2FkSWZyYW1lKCk7Ij48L2lmcmFtZT5cbicKKyAgICAnPC9ib2R5PlxuJworKQpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVsb2FkLW1haW4tcmVzb3VyY2UucHkKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3N0eWxlc2hlZXQt
c2hhcmluZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
c3R5bGVzaGVldC1zaGFyaW5nLmh0bWwJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvc3R5bGVzaGVldC1zaGFyaW5nLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTE2LDcgKzE2LDcgQEAgZnVuY3Rpb24gd2FpdEZvclN0eWxlc2hlZXQoaWZyYW1lLCBjb21w
bAogZnVuY3Rpb24gbG9hZChzcmMsIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIHZhciBpZnJh
bWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBpZnJhbWUuc3JjID0g
InJlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwucGhwP3NoZWV0PSIgKyBzcmM7CisgICAgaWZyYW1l
LnNyYyA9ICJyZXNvdXJjZXMvc3R5bGVzaGVldC1odG1sLnB5P3NoZWV0PSIgKyBzcmM7CiAgICAg
aWZyYW1lLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgaWZyYW1lLmNvbnRlbnREb2N1
bWVudC5ib2R5Lm9mZnNldFdpZHRoOwogICAgICAgICB3YWl0Rm9yU3R5bGVzaGVldChpZnJhbWUs
IGNvbXBsZXRpb25IYW5kbGVyKTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
dmFyeS1mcmFtZWxlc3MtZG9jdW1lbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3ZhcnktZnJhbWVsZXNzLWRvY3VtZW50Lmh0bWwJKHJldmlzaW9uIDI3
NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvdmFyeS1mcmFtZWxlc3MtZG9j
dW1lbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAotdmFyIHN2Z0RvY3VtZW50
U3RyaW5nID0gJzxzdmc+PHVzZSB4PSI1MCIgeT0iMTAiIHhsaW5rOmhyZWY9InJlc291cmNlcy9z
dmctZGVmcy12YXJ5LnBocCNjaXJjbGUiIC8+PC9zdmc+JzsKK3ZhciBzdmdEb2N1bWVudFN0cmlu
ZyA9ICc8c3ZnPjx1c2UgeD0iNTAiIHk9IjEwIiB4bGluazpocmVmPSJyZXNvdXJjZXMvc3ZnLWRl
ZnMtdmFyeS5weSNjaXJjbGUiIC8+PC9zdmc+JzsKIGZ1bmN0aW9uIG1ha2VEb2N1bWVudCgpIHsK
ICAgICB2YXIgZG9jID0gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50
KCcnKTsKICAgICBkb2Mub3BlbigpOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS94aHItYm9keS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUveGhyLWJvZHkuaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS94aHItYm9keS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xOCw3ICsxOCw3IEBA
IGZ1bmN0aW9uIHRlc3QoKSB7CiAgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
ZnVuY3Rpb24oKSB7IGxvZygibG9hZCIpOyByZXBlYXQoKTsgfSwgZmFsc2UpOwogICAgIHJlcXVl
c3QuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCBmdW5jdGlvbigpIHsgbG9nKCJlcnJvciIpOyBy
ZXBlYXQoKTsgfSwgZmFsc2UpOwogICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQi
LCBmdW5jdGlvbigpIHsgbG9nKCJhYm9ydCIpOyByZXBlYXQoKTsgfSwgZmFsc2UpOwotICAgIHJl
cXVlc3Qub3BlbigiR0VUIiwgInJlc291cmNlcy9ib2R5LnBocCIsIHRydWUpOworICAgIHJlcXVl
c3Qub3BlbigiR0VUIiwgInJlc291cmNlcy9ib2R5LnB5IiwgdHJ1ZSk7CiAgICAgcmVxdWVzdC5z
ZW5kKCk7CiB9CiAKQEAgLTM2LDcgKzM2LDcgQEAgZnVuY3Rpb24gcmVwZWF0KCkgewogICAgIHNl
Y29uZFJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uKCkgeyBzZWNvbmRS
ZXF1ZXN0RmluaXNoZWQoKTsgfSwgZmFsc2UpOwogICAgIHNlY29uZFJlcXVlc3QuYWRkRXZlbnRM
aXN0ZW5lcigiZXJyb3IiLCBmdW5jdGlvbigpIHsgbG9nKCJlcnJvciIpOyBlbmQoKTsgfSwgZmFs
c2UpOwogICAgIHNlY29uZFJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCBmdW5jdGlv
bigpIHsgbG9nKCJhYm9ydCIpOyBlbmQoKTsgfSwgZmFsc2UpOwotICAgIHNlY29uZFJlcXVlc3Qu
b3BlbigiUE9TVCIsICJyZXNvdXJjZXMvYm9keS5waHAiLCB0cnVlKTsKKyAgICBzZWNvbmRSZXF1
ZXN0Lm9wZW4oIlBPU1QiLCAicmVzb3VyY2VzL2JvZHkucHkiLCB0cnVlKTsKICAgICBzZWNvbmRS
ZXF1ZXN0LnNlbmQoIlRoaXMgaHR0cCBib2R5IHNob3VsZCBiZSB2aXNpYmxlIik7CiB9CiAKSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUveGhyLXZhcnktaGVhZGVyLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS94aHItdmFyeS1oZWFkZXIu
aHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS94
aHItdmFyeS1oZWFkZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTIsNyArMTIsNyBAQCB2YXIg
dGVzdFN0ZXAgPSAxOwogZnVuY3Rpb24gdGVzdENyb3NzT3JpZ2luKCkKIHsKICAgICB2YXIgcmVx
ID0gbmV3IFhNTEh0dHBSZXF1ZXN0OwotICAgIHJlcS5vcGVuKCJnZXQiLCAiaHR0cDovL2xvY2Fs
aG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItcmVzcG9uc2UucGhwIik7
CisgICAgcmVxLm9wZW4oImdldCIsICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY2FjaGUvcmVzb3Vy
Y2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25zZS5weSIpOwogICAgIHJlcS5vbmxvYWQ9ZnVuY3Rp
b24oKSB7IHJlY2VpdmVkUmVzcG9uc2UocmVxLnJlc3BvbnNlVGV4dCkgfQogICAgIHJlcS5zZW5k
KCk7CiB9CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlz
ay1jYWNoZS1yZWRpcmVjdC10by1kYXRhLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtcmVkaXJlY3QtdG8tZGF0YS5o
dG1sCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rp
c2stY2FjaGUvZGlzay1jYWNoZS1yZWRpcmVjdC10by1kYXRhLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTEsNSArMSw1IEBACiA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPXJlc291cmNlcy9yZWRpcmVjdC10by1kYXRh
LnBocD48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9yZWRpcmVjdC10by1kYXRhLnB5
Pjwvc2NyaXB0PgogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJUZXN0IHRoYXQgSFRUUCByZWRpcmVj
dCB0byBhIGRhdGEgVVJMIGRvZXMgbm90IGNyYXNoIG9yIGFzc2VydCBpbiB0aGUgbmV0d29yayBw
cm9jZXNzLiIpOwogc2hvdWxkQmVUcnVlKCJzdWNjZXNzIik7CkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZW1vdmUtc2V2ZXJhbC1wZW5k
aW5nLXdyaXRlcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvZGlzay1jYWNoZS9kaXNrLWNhY2hlLXJlbW92ZS1zZXZlcmFsLXBlbmRpbmctd3JpdGVzLmh0
bWwJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9kaXNrLWNhY2hlLXJlbW92ZS1zZXZlcmFsLXBlbmRpbmctd3JpdGVzLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTIyLDcgKzIyLDcgQEAgZnVuY3Rpb24gZmV0Y2godXJsKSB7CiAKIGZ1
bmN0aW9uIGZldGNoUmVzb3VyY2UoKSB7CiAgIGludGVybmFscy5jbGVhck1lbW9yeUNhY2hlKCk7
Ci0gIHJldHVybiBmZXRjaCgncmVzb3VyY2VzL2pzb24ucGhwP2lkPScgKyBpZCkudGhlbihmdW5j
dGlvbiAocmVzcCkgeworICByZXR1cm4gZmV0Y2goJ3Jlc291cmNlcy9qc29uLnB5P2lkPScgKyBp
ZCkudGhlbihmdW5jdGlvbiAocmVzcCkgewogICAgIGlmIChyZXNwLmJvZHkudmVyc2lvbiA9PT0g
MikgewogICAgICAgYnVnUmVwcm9kdWNlZCA9IGZhbHNlOwogICAgIH0KSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZWRpcmVjdC1jaGFpbi1saW1pdHMuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUv
cmVkaXJlY3QtY2hhaW4tbGltaXRzLmh0bWwJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZWRpcmVjdC1jaGFpbi1saW1pdHMuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtOSw3ICs5LDcgQEAgZnVuY3Rpb24gcmVkaXJlY3RDaGFpbihs
ZW5ndGgsIHVuaXF1ZUlkLAogewogICAgIGludGVybmFscy5jbGVhck1lbW9yeUNhY2hlKCkKIAot
ICAgIHZhciB1cmwgPSAicmVzb3VyY2VzL3JlZGlyZWN0LWNoYWluLnBocD9sZW5ndGg9IiArIGxl
bmd0aCArICImdW5pcXVlSWQ9IiArIHVuaXF1ZUlkOworICAgIHZhciB1cmwgPSAicmVzb3VyY2Vz
L3JlZGlyZWN0LWNoYWluLnB5P2xlbmd0aD0iICsgbGVuZ3RoICsgIiZ1bmlxdWVJZD0iICsgdW5p
cXVlSWQ7CiAKICAgICB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICB4aHIub25sb2Fk
ID0gb25sb2FkOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hl
L3NoYXR0ZXJlZC1kZWR1cGxpY2F0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NoYXR0ZXJlZC1kZWR1cGxpY2F0aW9uLmh0bWwJ
KHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zaGF0dGVyZWQtZGVkdXBsaWNhdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC01LDcg
KzUsNyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAKIGZ1bmN0aW9uIG1ha2VDb2xsaXNpb24o
ZmlsZSkKIHsKLSAgICByZXR1cm4gInJlc291cmNlcy9tYWtlLXNoYTEtY29sbGlzaW9uLnBocD9w
YXRoPSIgKyBmaWxlOworICAgIHJldHVybiAicmVzb3VyY2VzL21ha2Utc2hhMS1jb2xsaXNpb24u
cHk/cGF0aD0iICsgZmlsZTsKIH0KIAogZnVuY3Rpb24gYWRkSW1hZ2VGcmFtZShzcmMsIHRpbWVv
dXQpCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3Vy
Y2VzL2pzb24ucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9yZXNvdXJjZXMvanNvbi5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvanNvbi5waHAJKG5v
bmV4aXN0ZW50KQpAQCAtMSw0MiArMCwwIEBACi08P3BocAotCi1mdW5jdGlvbiBzZW5kMzA0KCkK
LXsKLSAgICBoZWFkZXIoIkhUVFAvMS4xIDMwNCBOb3QgTW9kaWZpZWQiKTsKLSAgICBoZWFkZXIo
IkVUYWc6IGZvbyIpOwotfQotCi0kaWQgPSAkX0dFVFsiaWQiXTsKLSRjb3VudCA9IDE7Ci1pZiAo
aXNzZXQoJF9DT09LSUVbJGlkXSkpIHsKLSAgICAkY291bnQgPSAkX0NPT0tJRVskaWRdOwotfQot
Ci1zZXRjb29raWUoJGlkLCAkY291bnQgKyAxKTsKLQotaWYgKCRjb3VudCA9PSAxKSB7Ci0gICAg
aGVhZGVyKCJDYWNoZS1Db250cm9sOiBtdXN0LXJldmFsaWRhdGUiKTsKLSAgICBoZWFkZXIoIkVU
YWc6IGZvbyIpOwotICAgIGhlYWRlcigiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uIik7
Ci0gICAgZWNobyAneyJ2ZXJzaW9uIjogMX0nOwotfSBlbHNlIGlmICgkY291bnQgPT0gMikgewot
ICAgIHNlbmQzMDQoKTsKLX0gZWxzZSBpZiAoJGNvdW50ID09IDMpIHsKLSAgICBoZWFkZXIoIkhU
VFAvMS4xIDQwNCBOb3QgRm91bmQiKTsKLSAgICBoZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG11c3Qt
cmV2YWxpZGF0ZSIpOwotICAgIGhlYWRlcigiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29u
Iik7Ci0gICAgZWNobyAneyJub3QiOiAiZm91bmQifSc7Ci19IGVsc2UgaWYgKCRjb3VudCA9PSA0
KSB7Ci0gICAgaWYgKCRfU0VSVkVSWyJIVFRQX0lGX05PTkVfTUFUQ0giXSA9PSAiZm9vIikgewot
ICAgICAgICBzZW5kMzA0KCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaGVhZGVyKCJDYWNoZS1D
b250cm9sOiBtdXN0LXJldmFsaWRhdGUiKTsKLSAgICAgICAgaGVhZGVyKCJFVGFnOiBmb28iKTsK
LSAgICAgICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24iKTsKLSAgICAg
ICAgZWNobyAneyJ2ZXJzaW9uIjogMn0nOwotICAgIH0KLX0gZWxzZSB7Ci0gICAgc2VuZDMwNCgp
OwotfQotCi0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hl
L3Jlc291cmNlcy9qc29uLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvanNvbi5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL2pzb24ucHkJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw1NSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitp
bXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9ydCBwYXJzZV9xcwor
CitkZWYgc2VuZDMwNCgpOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICdDb250ZW50
LVR5cGU6IHRleHQvaHRtbFxyXG4nCisgICAgICAgICdzdGF0dXM6IDMwNFxyXG4nCisgICAgICAg
ICdFVGFnOiBmb29cclxuXHJcbicKKyAgICApCisKK2lkZW50ID0gcGFyc2VfcXMob3MuZW52aXJv
bi5nZXQoJ1FVRVJZX1NUUklORycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkuZ2V0KCdp
ZCcsIFsnJ10pWzBdCitjb29raWVzID0ge30KK2lmICdIVFRQX0NPT0tJRScgaW4gb3MuZW52aXJv
bjoKKyAgICBoZWFkZXJfY29va2llcyA9IG9zLmVudmlyb25bJ0hUVFBfQ09PS0lFJ10KKyAgICBo
ZWFkZXJfY29va2llcyA9IGhlYWRlcl9jb29raWVzLnNwbGl0KCc7ICcpCisKKyAgICBmb3IgY29v
a2llIGluIGhlYWRlcl9jb29raWVzOgorICAgICAgICBjb29raWUgPSBjb29raWUuc3BsaXQoJz0n
KQorICAgICAgICBjb29raWVzW2Nvb2tpZVswXV0gPSBjb29raWVbMV0KKworY291bnQgPSAxCitp
ZiBjb29raWVzLmdldChpZGVudCwgTm9uZSk6CisgICAgY291bnQgPSBpbnQoY29va2llcy5nZXQo
aWRlbnQsIDApKQorCitzeXMuc3Rkb3V0LndyaXRlKGYnU2V0LUNvb2tpZToge2lkZW50fT17Y291
bnQgKyAxfVxyXG4nKQorCitpZiBjb3VudCA9PSAxOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisg
ICAgICAgICdDYWNoZS1Db250cm9sOiBtdXN0LXJldmFsaWRhdGVcclxuJworICAgICAgICAnRVRh
ZzogZm9vXHJcbicKKyAgICAgICAgJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvblxyXG5c
clxuJworICAgICAgICAneyJ2ZXJzaW9uIjogMX0nCisgICAgKQorZWxpZiBjb3VudCA9PSAzOgor
ICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICdzdGF0dXM6IDQwNFxyXG4nCisgICAgICAg
ICdDYWNoZS1Db250cm9sOiBtdXN0LXJldmFsaWRhdGVcclxuJworICAgICAgICAnQ29udGVudC1U
eXBlOiBhcHBsaWNhdGlvbi9qc29uXHJcblxyXG4nCisgICAgICAgICd7Im5vdCI6ICJmb3VuZCJ9
JworICAgICkKK2VsaWYgY291bnQgPT0gNDoKKyAgICBpZiBvcy5lbnZpcm9uLmdldCgnSFRUUF9J
Rl9OT05FX01BVENIJywgJycpID09ICdmb28nOgorICAgICAgICBzZW5kMzA0KCkKKyAgICBlbHNl
OgorICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAgICAgJ0NhY2hlLUNvbnRyb2w6
IG11c3QtcmV2YWxpZGF0ZVxyXG4nCisgICAgICAgICAgICAnRVRhZzogZm9vXHJcbicKKyAgICAg
ICAgICAgICdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb25cclxuXHJcbicKKyAgICAgICAg
ICAgICd7InZlcnNpb24iOiAyfScKKyAgICAgICAgKQorZWxzZToKKyAgICBzZW5kMzA0KCkKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL2pzb24ucHkKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvcmVzb3VyY2VzL21ha2Utc2hhMS1jb2xsaXNpb24ucGhwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvbWFrZS1zaGEx
LWNvbGxpc2lvbi5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvbWFrZS1zaGExLWNvbGxpc2lvbi5waHAJKG5v
bmV4aXN0ZW50KQpAQCAtMSw5ICswLDAgQEAKLTw/Ci0kcGF0aCA9ICRfR0VUWydwYXRoJ107Ci1o
ZWFkZXIoJ0hUVFAvMS4xIDIwMCBPSycpOwotaGVhZGVyKCJDYWNoZS1jb250cm9sOiBtYXgtYWdl
PTEwMDAwIik7Ci1oZWFkZXIoIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vcGRmIik7Ci0kY29u
dGVudCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRoKTsKLSRjb2xsaWRpbmdDb250ZW50ID0gc3Ry
X3JlcGxhY2UoIlNWTiBpcyB0aGUgYmVzdCEiLCAiU0hBLTEgaXMgZGVhZCEhISIsICRjb250ZW50
KTsKLWVjaG8gJGNvbGxpZGluZ0NvbnRlbnQ7Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9tYWtlLXNoYTEtY29sbGlzaW9uLnB5Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNv
dXJjZXMvbWFrZS1zaGExLWNvbGxpc2lvbi5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL21ha2Utc2hhMS1jb2xsaXNp
b24ucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0
aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9ydCBw
YXJzZV9xcworCitwYXRoID0gcGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklORycs
ICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkuZ2V0KCdwYXRoJywgWycnXSlbMF0KKworc3lz
LnN0ZG91dC53cml0ZSgKKyAgICAnc3RhdHVzOiAyMDBcclxuJworICAgICdDYWNoZS1jb250cm9s
OiBtYXgtYWdlPTEwMDAwXHJcbicKKyAgICAnQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9wZGZc
clxuXHJcbicKKykKKworc3lzLnN0ZG91dC5mbHVzaCgpCit3aXRoIG9wZW4ob3MucGF0aC5qb2lu
KCcvJy5qb2luKF9fZmlsZV9fLnNwbGl0KCcvJylbMDotMV0pLCBwYXRoKSwgJ3JiJykgYXMgZmls
ZToKKyAgICBzeXMuc3Rkb3V0LmJ1ZmZlci53cml0ZShmaWxlLnJlYWQoKS5yZXBsYWNlKGInU1ZO
IGlzIHRoZSBiZXN0IScsIGInU0hBLTEgaXMgZGVhZCEhIScpKQpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvbWFrZS1zaGExLWNvbGxpc2lvbi5weQpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtY2hhaW4ucGhwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtY2hhaW4u
cGhwCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rp
c2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LWNoYWluLnBocAkobm9uZXhpc3RlbnQpCkBAIC0x
LDEzICswLDAgQEAKLTw/Ci0kbGVuZ3RoID0gJF9HRVRbJ2xlbmd0aCddOwotaWYgKCRsZW5ndGgg
PT0gMCkgewotICAgIGhlYWRlcignU3RhdHVzOiAyMDAnKTsKLSAgICBoZWFkZXIoJ0NhY2hlLUNv
bnRyb2w6IG1heC1hZ2U9MTAwJyk7Ci0gICAgZXhpdCgpOwotfQotJGxlbmd0aCA9ICRsZW5ndGgg
LSAxOwotCi1oZWFkZXIoJ1N0YXR1czogMzAyJyk7Ci1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG1h
eC1hZ2U9MTAwJyk7Ci1oZWFkZXIoJ0xvY2F0aW9uOiByZWRpcmVjdC1jaGFpbi5waHA/bGVuZ3Ro
PScgLiAkbGVuZ3RoIC4gJyZ1bmlxdWVJZD0nIC4gJF9HRVRbJ3VuaXF1ZUlkJ10gLiAnJnJhbmRv
bT0nIC4gcmFuZCgpKTsKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rp
c2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LWNoYWluLnB5Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtY2hh
aW4ucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNr
LWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1jaGFpbi5weQkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDI1IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5
cworZnJvbSByYW5kb20gaW1wb3J0IHJhbmRpbnQKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9ydCBw
YXJzZV9xcworCitxdWVyeSA9IHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJTkcn
LCAnJyksIGtlZXBfYmxhbmtfdmFsdWVzPVRydWUpCitsZW5ndGggPSBpbnQocXVlcnkuZ2V0KCds
ZW5ndGgnLCBbMF0pWzBdKQordW5pcXVlX2lkID0gcXVlcnkuZ2V0KCd1bmlxdWVJZCcsIFsnJ10p
WzBdCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MTAw
XHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJworKQorCitpZiBsZW5ndGgg
PT0gMDoKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdzdGF0dXM6IDIwMFxyXG5cclxuJykKKyAgICBz
eXMuZXhpdCgwKQorCitsZW5ndGggLT0gMQorc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnc3RhdHVz
OiAzMDJcclxuJworICAgIGYnTG9jYXRpb246IHJlZGlyZWN0LWNoYWluLnB5P2xlbmd0aD17bGVu
Z3RofSZ1bmlxdWVJZD17dW5pcXVlX2lkfSZyYW5kb209e3JhbmRpbnQoMCwgc3lzLm1heHNpemUp
fVxyXG5cclxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMv
cmVkaXJlY3QtY2hhaW4ucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAs
MCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWRh
dGEucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tZGF0YS5waHAJKHJldmlzaW9uIDI3NDI5MikKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJl
Y3QtdG8tZGF0YS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLTw/Ci1oZWFkZXIo
J1N0YXR1czogMzAxIE1vdmVkIFBlcm1hbmVudGx5Jyk7Ci1oZWFkZXIoJ0xvY2F0aW9uOiBkYXRh
OmFwcGxpY2F0aW9uL2phdmFzY3JpcHQsc3VjY2Vzcz10cnVlOycpOwotPz4KSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtdG8t
ZGF0YS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWRhdGEucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC10
by1kYXRhLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOSBAQAorIyEvdXNyL2Jpbi9lbnYg
cHl0aG9uMworCitpbXBvcnQgc3lzCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ3N0YXR1czog
MzAxXHJcbicKKyAgICAnTG9jYXRpb246IGRhdGE6YXBwbGljYXRpb24vamF2YXNjcmlwdCxzdWNj
ZXNzPXRydWU7XHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKykK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWRh
dGEucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9jYWNoZWFibGUtcmVk
aXJlY3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rp
c2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9jYWNoZWFibGUtcmVkaXJlY3QuaHRtbAko
cmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNh
Y2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vY2FjaGVhYmxlLXJlZGlyZWN0Lmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTE2LDcgKzE2LDcgQEAgZnVuY3Rpb24gZnJhbWVMb2FkZWQoKQogICAgICAg
ICAvLyBOYXZpZ2F0ZSBmcmFtZSB0byBpdHMgb3JpZ2luYWwgbG9jYXRpb24gYWdhaW4uIFRoaXMg
dGltZSBpdCBzaG91bGQgc3BlY3VsYXRpdmVseQogICAgICAgICAvLyB2YWxpZGF0ZSBzdWJyZXNv
dXJjZXMgYXMgd2UgaGF2ZSBzdWJyZXNvdXJjZSBsb2FkcyBtZXRhZGF0YSBpbiB0aGUgZGlzayBj
YWNoZS4KICAgICAgICAgc3RhdGUgPSAic3BlY3VsYXRpdmVSZXZhbGlkYXRpb24iOwotICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdEZyYW1lIikuc3JjID0gInJlc291cmNlcy9j
YWNoZWFibGUtcmVkaXJlY3QtZnJhbWUucGhwIjsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRlc3RGcmFtZSIpLnNyYyA9ICJyZXNvdXJjZXMvY2FjaGVhYmxlLXJlZGlyZWN0LWZy
YW1lLnB5IjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBpZiAoc3RhdGUgPT0gInNwZWN1
bGF0aXZlUmV2YWxpZGF0aW9uIikgewpAQCAtMjgsNSArMjgsNSBAQCBmdW5jdGlvbiBmcmFtZUxv
YWRlZCgpCiB9CiAKIDwvc2NyaXB0PgotPGlmcmFtZSBpZD0idGVzdEZyYW1lIiBzcmM9InJlc291
cmNlcy9jYWNoZWFibGUtcmVkaXJlY3QtZnJhbWUucGhwIiBvbmxvYWQ9ImZyYW1lTG9hZGVkKCki
PjwvaWZyYW1lPgorPGlmcmFtZSBpZD0idGVzdEZyYW1lIiBzcmM9InJlc291cmNlcy9jYWNoZWFi
bGUtcmVkaXJlY3QtZnJhbWUucHkiIG9ubG9hZD0iZnJhbWVMb2FkZWQoKSI+PC9pZnJhbWU+CiA8
c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRp
dmUtdmFsaWRhdGlvbi9odHRwLWF1dGguaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9odHRwLWF1
dGguaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vaHR0cC1hdXRoLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEyLDcgKzEyLDcgQEAgc3RhdGUgPSAid2FybXVwIjsKIGZ1bmN0aW9uIGNs
ZWFyQ3JlZGVudGlhbFN0b3JhZ2UoKQogewogICAgIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgp
OwotICAgIHhoci5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL3Jlc291cmNlLXdpdGgtYXV0aC5waHA/
b3RoZXIiLCBmYWxzZSwgImJhZFVzZXJuYW1lIiwgImJhZFBhc3N3b3JkIik7CisgICAgeGhyLm9w
ZW4oIkdFVCIsICJyZXNvdXJjZXMvcmVzb3VyY2Utd2l0aC1hdXRoLnB5P290aGVyIiwgZmFsc2Us
ICJiYWRVc2VybmFtZSIsICJiYWRQYXNzd29yZCIpOwogICAgIHhoci5zZW5kKCk7CiAgICAgc2hv
dWxkQmUoInhoci5zdGF0dXMiLCAiNDAxIik7CiB9CkBAIC0zNSw3ICszNSw3IEBAIGZ1bmN0aW9u
IGZyYW1lTG9hZGVkKCkKICAgICAgICAgLy8gTmF2aWdhdGUgZnJhbWUgdG8gaXRzIG9yaWdpbmFs
IGxvY2F0aW9uIGFnYWluLiBUaGlzIHRpbWUgaXQgc2hvdWxkIHNwZWN1bGF0aXZlbHkKICAgICAg
ICAgLy8gdmFsaWRhdGUgc3VicmVzb3VyY2VzIGFzIHdlIGhhdmUgc3VicmVzb3VyY2UgbG9hZHMg
bWV0YWRhdGEgaW4gdGhlIGRpc2sgY2FjaGUuCiAgICAgICAgIHN0YXRlID0gInNwZWN1bGF0aXZl
UmV2YWxpZGF0aW9uIjsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RGcmFt
ZSIpLnNyYyA9ICJyZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnBo
cCI7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RnJhbWUiKS5zcmMgPSAi
cmVzb3VyY2VzL2ZyYW1lLXdpdGgtYXV0aGVudGljYXRlZC1yZXNvdXJjZS5weSI7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAgICAgaWYgKHN0YXRlID09ICJzcGVjdWxhdGl2ZVJldmFsaWRhdGlv
biIpIHsKQEAgLTQ3LDUgKzQ3LDUgQEAgZnVuY3Rpb24gZnJhbWVMb2FkZWQoKQogfQogCiA8L3Nj
cmlwdD4KLTxpZnJhbWUgaWQ9InRlc3RGcmFtZSIgc3JjPSJyZXNvdXJjZXMvZnJhbWUtd2l0aC1h
dXRoZW50aWNhdGVkLXJlc291cmNlLnBocCIgb25sb2FkPSJmcmFtZUxvYWRlZCgpIj48L2lmcmFt
ZT4KKzxpZnJhbWUgaWQ9InRlc3RGcmFtZSIgc3JjPSJyZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRo
ZW50aWNhdGVkLXJlc291cmNlLnB5IiBvbmxvYWQ9ImZyYW1lTG9hZGVkKCkiPjwvaWZyYW1lPgog
PHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0
aXZlLXZhbGlkYXRpb24vdmFsaWRhdGlvbi1yZXF1ZXN0Lmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRp
b24vdmFsaWRhdGlvbi1yZXF1ZXN0Lmh0bWwJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Zh
bGlkYXRpb24tcmVxdWVzdC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBAIGZ1
bmN0aW9uIGZyYW1lTG9hZGVkKCkKICAgICAgICAgLy8gTmF2aWdhdGUgZnJhbWUgdG8gaXRzIG9y
aWdpbmFsIGxvY2F0aW9uIGFnYWluLiBUaGlzIHRpbWUgaXQgc2hvdWxkIHNwZWN1bGF0aXZlbHkK
ICAgICAgICAgLy8gdmFsaWRhdGUgc3VicmVzb3VyY2VzIGFzIHdlIGhhdmUgc3VicmVzb3VyY2Ug
bG9hZHMgbWV0YWRhdGEgaW4gdGhlIGRpc2sgY2FjaGUuCiAgICAgICAgIHN0YXRlID0gInNwZWN1
bGF0aXZlUmV2YWxpZGF0aW9uIjsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRl
c3RGcmFtZSIpLnNyYyA9ICJyZXNvdXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1lLnBocCI7
CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RnJhbWUiKS5zcmMgPSAicmVz
b3VyY2VzL3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFtZS5weSI7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAgICAgaWYgKHN0YXRlID09ICJzcGVjdWxhdGl2ZVJldmFsaWRhdGlvbiIpIHsKQEAgLTUw
LDUgKzUwLDUgQEAgZnVuY3Rpb24gZnJhbWVMb2FkZWQoKQogfQogCiA8L3NjcmlwdD4KLTxpZnJh
bWUgaWQ9InRlc3RGcmFtZSIgc3JjPSJyZXNvdXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1l
LnBocCIgb25sb2FkPSJmcmFtZUxvYWRlZCgpIj48L2lmcmFtZT4KKzxpZnJhbWUgaWQ9InRlc3RG
cmFtZSIgc3JjPSJyZXNvdXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1lLnB5IiBvbmxvYWQ9
ImZyYW1lTG9hZGVkKCkiPjwvaWZyYW1lPgogPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2NhY2hl
YWJsZS1yZWRpcmVjdC1mcmFtZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2Nh
Y2hlYWJsZS1yZWRpcmVjdC1mcmFtZS5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jl
c291cmNlcy9jYWNoZWFibGUtcmVkaXJlY3QtZnJhbWUucGhwCShub25leGlzdGVudCkKQEAgLTEs
MTcgKzAsMCBAQAotPD9waHAKLWhlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0L2h0bWwnKTsKLWhl
YWRlcignQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0wJyk7Ci1oZWFkZXIoJ0V0YWc6IDEyMzQ1Njc4
OScpOwotCi0/PgotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0icmVkaXJlY3QtdG8tY3NzLnBocCI+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9InRlc3REaXYiIGNsYXNzPSJ0ZXN0Q2xhc3MiPgotVEVT
VAotPC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY2FjaGVh
YmxlLXJlZGlyZWN0LWZyYW1lLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jYWNo
ZWFibGUtcmVkaXJlY3QtZnJhbWUucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2Vz
L2NhY2hlYWJsZS1yZWRpcmVjdC1mcmFtZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIw
IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBzeXMKKworc3lzLnN0ZG91dC53
cml0ZSgKKyAgICAnQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0wXHJcbicKKyAgICAnRXRhZzogMTIz
NDU2Nzg5XHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICAn
PCFET0NUWVBFIGh0bWw+XG4nCisgICAgJzxodG1sPlxuJworICAgICc8aGVhZD5cbicKKyAgICAn
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0icmVkaXJlY3QtdG8t
Y3NzLnB5Ij5cbicKKyAgICAnPC9oZWFkPlxuJworICAgICc8Ym9keT5cbicKKyAgICAnPGRpdiBp
ZD0idGVzdERpdiIgY2xhc3M9InRlc3RDbGFzcyI+XG4nCisgICAgJ1RFU1RcbicKKyAgICAnPC9k
aXY+XG4nCisgICAgJzwvYm9keT5cbicKKyAgICAnPC9odG1sPlxuJworKQpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jYWNo
ZWFibGUtcmVkaXJlY3QtZnJhbWUucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUK
IyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRh
dGlvbi9yZXNvdXJjZXMvY3NzLXRvLXJldmFsaWRhdGUucGhwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9u
L3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0
aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwx
NyArMCwwIEBACi08P3BocAotaWYgKCRfU0VSVkVSWyJIVFRQX0lGX05PTkVfTUFUQ0giXSA9PSAi
Zm9vIikgewotICAgIGhlYWRlcigiSFRUUC8xLjEgMzA0IE5vdCBNb2RpZmllZCIpOwotICAgIGhl
YWRlcigiRVRhZzogZm9vIik7Ci0gICAgcmV0dXJuOwotfQotCi1oZWFkZXIoIkNvbnRlbnQtVHlw
ZTogdGV4dC9jc3MiKTsKLWhlYWRlcigiRVRhZzogZm9vIik7Ci1oZWFkZXIoIkNhY2hlLUNvbnRy
b2w6IG1heC1hZ2U9MCIpOwotCi0/PgotCi0udGVzdENsYXNzCi17Ci0gICAgY29sb3I6IGdyZWVu
OwotfQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1
bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2Nzcy10by1yZXZhbGlkYXRlLnB5Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2
ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5weQkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUt
dmFsaWRhdGlvbi9yZXNvdXJjZXMvY3NzLXRvLXJldmFsaWRhdGUucHkJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyMyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2lt
cG9ydCBzeXMKKworbWF0Y2ggPSBvcy5lbnZpcm9uLmdldCgnSFRUUF9JRl9OT05FX01BVENIJywg
JycpCitpZiBtYXRjaCA9PSAnZm9vJzoKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAn
c3RhdHVzOiAzMDRcclxuJworICAgICAgICAnRVRhZzogZm9vXHJcbicKKyAgICAgICAgJ0NvbnRl
bnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCisgICAgKQorICAgIHN5cy5leGl0KDApCisKK3N5
cy5zdGRvdXQud3JpdGUoCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9jc3NcclxuJworICAgICdF
VGFnOiBmb29cclxuJworICAgICdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTBcclxuXHJcbicKKyAg
ICAnLnRlc3RDbGFzc1xuJworICAgICd7XG4nCisgICAgJyAgICBjb2xvcjogZ3JlZW47XG4nCisg
ICAgJ31cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUt
dmFsaWRhdGlvbi9yZXNvdXJjZXMvY3NzLXRvLXJldmFsaWRhdGUucHkKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUv
c3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVk
LXJlc291cmNlLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvZnJhbWUtd2l0aC1h
dXRoZW50aWNhdGVkLXJlc291cmNlLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVz
b3VyY2VzL2ZyYW1lLXdpdGgtYXV0aGVudGljYXRlZC1yZXNvdXJjZS5waHAJKG5vbmV4aXN0ZW50
KQpAQCAtMSwxMCArMCwwIEBACi08P3BocAotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRt
bCcpOwotaGVhZGVyKCdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTAnKTsKLWhlYWRlcignRXRhZzog
MTIzNDU2Nzg5Jyk7Ci0KLT8+Ci08IURPQ1RZUEUgaHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9
InJlc291cmNlLXdpdGgtYXV0aC5waHAiPjwvc2NyaXB0PgotPC9ib2R5PgpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24v
cmVzb3VyY2VzL2ZyYW1lLXdpdGgtYXV0aGVudGljYXRlZC1yZXNvdXJjZS5weQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUt
dmFsaWRhdGlvbi9yZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnB5
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRpY2F0
ZWQtcmVzb3VyY2UucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorIyEvdXNyL2Jp
bi9lbnYgcHl0aG9uMworCitpbXBvcnQgc3lzCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0Nh
Y2hlLUNvbnRyb2w6IG1heC1hZ2U9MFxyXG4nCisgICAgJ0V0YWc6IDEyMzQ1Njc4OVxyXG4nCisg
ICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCisgICAgJzwhRE9DVFlQRSBodG1s
PlxuJworICAgICc8Ym9keT5cbicKKyAgICAnPHNjcmlwdCBzcmM9InJlc291cmNlLXdpdGgtYXV0
aC5weSI+PC9zY3JpcHQ+XG4nCisgICAgJzwvYm9keT5cbicKKykKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvZnJhbWUtd2l0
aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRh
YmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZh
bGlkYXRpb24vcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWNzcy5waHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRp
b24vcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWNzcy5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0
aW9uL3Jlc291cmNlcy9yZWRpcmVjdC10by1jc3MucGhwCShub25leGlzdGVudCkKQEAgLTEsNiAr
MCwwIEBACi08P3BocAotaGVhZGVyKCdIVFRQLzEuMSAzMDIgRm91bmQnKTsKLWhlYWRlcignTG9j
YXRpb246IC9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2Vz
L2Nzcy10by1yZXZhbGlkYXRlLnBocCcpOwotaGVhZGVyKCdFeHBpcmVzOiBUaHUsIDAxIERlYyAy
MDAzIDE2OjAwOjAwIEdNVCcpOwotaGVhZGVyKCdFVGFnOiBmb28nKTsKLT8+CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlv
bi9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tY3NzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291
cmNlcy9yZWRpcmVjdC10by1jc3MucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2Vz
L3JlZGlyZWN0LXRvLWNzcy5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExIEBACisjIS91
c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBzeXMKKworc3lzLnN0ZG91dC53cml0ZSgKKyAg
ICAnc3RhdHVzOiAzMDJcclxuJworICAgICdMb2NhdGlvbjogL2NhY2hlL2Rpc2stY2FjaGUvc3Bl
Y3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY3NzLXRvLXJldmFsaWRhdGUucHlcclxuJwor
ICAgICdFeHBpcmVzOiBUaHUsIDAxIERlYyAyMDAzIDE2OjAwOjAwIEdNVFxyXG4nCisgICAgJ0VU
YWc6IGZvb1xyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCispClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVz
b3VyY2VzL3JlZGlyZWN0LXRvLWNzcy5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJs
ZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxp
ZGF0aW9uL3Jlc291cmNlcy9yZXF1ZXN0LWhlYWRlcnMtc2NyaXB0LnBocAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFs
aWRhdGlvbi9yZXNvdXJjZXMvcmVxdWVzdC1oZWFkZXJzLXNjcmlwdC5waHAJKHJldmlzaW9uIDI3
NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxh
dGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXF1ZXN0LWhlYWRlcnMtc2NyaXB0LnBocAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDEyICswLDAgQEAKLTw/cGhwCi1oZWFkZXIoJ0NvbnRlbnQtVHlwZTog
dGV4dC9qYXZhc2NyaXB0Jyk7Ci1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MCcpOwot
aGVhZGVyKCdFdGFnOiAxMjM0NTY3ODknKTsKLQotPz4KLWFsbFJlcXVlc3RIZWFkZXJzID0gW107
Ci08P3BocAotZm9yZWFjaCAoZ2V0YWxsaGVhZGVycygpIGFzICRuYW1lID0+ICR2YWx1ZSkgewot
ICAgIGVjaG8gImFsbFJlcXVlc3RIZWFkZXJzWyciIC4gJG5hbWUgLiAiJ10gPSAnIiAuICR2YWx1
ZSAuICInOyI7Ci19Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNr
LWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3JlcXVlc3QtaGVhZGVycy1z
Y3JpcHQucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNr
LWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3JlcXVlc3QtaGVhZGVycy1z
Y3JpcHQucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9k
aXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3JlcXVlc3QtaGVhZGVy
cy1zY3JpcHQucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorIyEvdXNyL2Jpbi9l
bnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworaGVhZGVycyA9IHt9Citmb3Ig
aGVhZGVybmFtZSwgaGVhZGVydmFsdWUgaW4gb3MuZW52aXJvbi5pdGVtcygpOgorICAgIGlmIG5v
dCBoZWFkZXJuYW1lLnN0YXJ0c3dpdGgoJ0hUVFBfJyk6CisgICAgICAgIGNvbnRpbnVlCisgICAg
aGVhZGVyc1snLScuam9pbignICcuam9pbihoZWFkZXJuYW1lWzU6XS5sb3dlcigpLnJlcGxhY2Uo
J18nLCAnLScpLnNwbGl0KCctJykpLnRpdGxlKCkuc3BsaXQoJyAnKSldID0gaGVhZGVydmFsdWUK
Kworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHRc
clxuJworICAgICdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTBcclxuJworICAgICdFdGFnOiAxMjM0
NTY3ODlcclxuXHJcbicKKyAgICAnYWxsUmVxdWVzdEhlYWRlcnMgPSBbXTtcbicKKykKKworZm9y
IGtleSBpbiBoZWFkZXJzOgorICAgIHN5cy5zdGRvdXQud3JpdGUoZidhbGxSZXF1ZXN0SGVhZGVy
c1tcJ3trZXl9XCddID0gXCd7aGVhZGVyc1trZXldfVwnOycpClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3JlcXVlc3QtaGVh
ZGVycy1zY3JpcHQucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCAr
MSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNv
dXJjZXMvcmVzb3VyY2Utd2l0aC1hdXRoLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJj
ZXMvcmVzb3VyY2Utd2l0aC1hdXRoLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVz
b3VyY2VzL3Jlc291cmNlLXdpdGgtYXV0aC5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxOCArMCww
IEBACi08P3BocAotJGV4cGVjdGVkVXNlcm5hbWUgPSAndGVzdFVzZXJuYW1lJzsKLSRleHBlY3Rl
ZFBhc3N3b3JkID0gJ3Rlc3RQYXNzd29yZCc7Ci0kcmVhbG0gPSAkX1NFUlZFUlsnUkVRVUVTVF9V
UkknXTsKLQotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdCcpOwotaGVhZGVy
KCdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTAnKTsKLWhlYWRlcignRXRhZzogMTIzNDU2Nzg5Jyk7
Ci0KLWlmICghaXNzZXQoJF9TRVJWRVJbJ1BIUF9BVVRIX1VTRVInXSkgfHwgJF9TRVJWRVJbJ1BI
UF9BVVRIX1VTRVInXSAhPSAkZXhwZWN0ZWRVc2VybmFtZSB8fAotICAgICFpc3NldCgkX1NFUlZF
UlsnUEhQX0FVVEhfUFcnXSkgfHwgJF9TRVJWRVJbJ1BIUF9BVVRIX1BXJ10gIT0gJGV4cGVjdGVk
UGFzc3dvcmQpIHsKLSAgICBoZWFkZXIoIldXVy1BdXRoZW50aWNhdGU6IEJhc2ljIHJlYWxtPVwi
IiAuICRyZWFsbSAuICJcIiIpOwotICAgIGhlYWRlcignSFRUUC8xLjAgNDAxIFVuYXV0aG9yaXpl
ZCcpOwotICAgIHByaW50ICdTZW50IHVzZXJuYW1lOnBhc3N3b3JkIG9mICgnIC4gJF9TRVJWRVJb
J1BIUF9BVVRIX1VTRVInXSAuICc6JyAuICRfU0VSVkVSWydQSFBfQVVUSF9QVyddIC4gJykgd2hp
Y2ggaXMgbm90IHdoYXQgd2FzIGV4cGVjdGVkJzsKLSAgICBleGl0OwotfQotPz4KLWxvYWRlZCA9
IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3Bl
Y3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVzb3VyY2Utd2l0aC1hdXRoLnB5Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxh
dGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucHkJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0
aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3Jlc291cmNlLXdpdGgtYXV0aC5weQkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDI5IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBi
YXNlNjQKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitjcmVkZW50aWFscyA9IGJhc2U2NC5iNjRk
ZWNvZGUob3MuZW52aXJvbi5nZXQoJ0hUVFBfQVVUSE9SSVpBVElPTicsICcgT2c9PScpLnNwbGl0
KCcgJylbMV0pLmRlY29kZSgpLnNwbGl0KCc6JykKK3VzZXJuYW1lID0gY3JlZGVudGlhbHNbMF0K
K3Bhc3N3b3JkID0gJzonLmpvaW4oY3JlZGVudGlhbHNbMTpdKQorCitleHBlY3RlZFVzZXJuYW1l
ID0gJ3Rlc3RVc2VybmFtZScKK2V4cGVjdGVkUGFzc3dvcmQgPSAndGVzdFBhc3N3b3JkJworcmVh
bG0gPSBvcy5lbnZpcm9uLmdldCgnUkVRVUVTVF9VUkknLCAnJykKKworc3lzLnN0ZG91dC53cml0
ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHRcclxuJworICAgICdDYWNoZS1D
b250cm9sOiBtYXgtYWdlPTBcclxuJworICAgICdFdGFnOiAxMjM0NTY3ODlcclxuJworKQorCitp
ZiB1c2VybmFtZSAhPSBleHBlY3RlZFVzZXJuYW1lIG9yIHBhc3N3b3JkICE9IGV4cGVjdGVkUGFz
c3dvcmQ6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgZidXV1ctQXV0aGVudGljYXRl
OiBCYXNpYyByZWFsbT0ie3JlYWxtfSJcclxuJworICAgICAgICAnc3RhdHVzOiA0MDFcclxuXHJc
bicKKyAgICAgICAgZidTZW50IHVzZXJuYW1lOnBhc3N3b3JkIG9mICh7dXNlcm5hbWV9OntwYXNz
d29yZH0pIHdoaWNoIGlzIG5vdCB3aGF0IHdhcyBleHBlY3RlZFxuJworICAgICkKKyAgICBzeXMu
ZXhpdCgwKQorCitzeXMuc3Rkb3V0LndyaXRlKCdcclxubG9hZGVkID0gdHJ1ZTtcbicpClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3Vy
Y2VzL3Jlc291cmNlLXdpdGgtYXV0aC5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJs
ZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxp
ZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucGhwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12
YWxpZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucGhwCShyZXZpc2lv
biAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3Bl
Y3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1lLnBo
cAkobm9uZXhpc3RlbnQpCkBAIC0xLDE2ICswLDAgQEAKLTw/cGhwCi1oZWFkZXIoJ0NvbnRlbnQt
VHlwZTogdGV4dC9odG1sJyk7Ci1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MCcpOwot
aGVhZGVyKCdFdGFnOiAxMjM0NTY3ODknKTsKLSRjb29raWUgPSAic3BlY3VsYXRpdmVSZXF1ZXN0
VmFsaWRhdGlvbj0iIC4gdW5pcWlkKCk7Ci1oZWFkZXIoJ1NldC1Db29raWU6ICcgLiAkY29va2ll
KTsKLT8+Ci08IURPQ1RZUEUgaHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9InJlcXVlc3QtaGVh
ZGVycy1zY3JpcHQucGhwIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci08P3BocAotZWNobyAic2VudFNl
dENvb2tpZUhlYWRlciA9ICciIC4gJGNvb2tpZSAuICInOyI7Ci0/PgotPC9zY3JpcHQ+Ci08L2Jv
ZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3Vs
YXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1lLnB5Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVj
dWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucHkJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hl
L3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFt
ZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIwIEBACisjIS91c3IvYmluL2VudiBweXRo
b24zCisKK2ltcG9ydCBzeXMKK2Zyb20gdXVpZCBpbXBvcnQgdXVpZDEKKworY29va2llID0gZidz
cGVjdWxhdGl2ZVJlcXVlc3RWYWxpZGF0aW9uPXt1dWlkMSgpfScKKworc3lzLnN0ZG91dC53cml0
ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJworICAgICdDYWNoZS1Db250cm9s
OiBtYXgtYWdlPTBcclxuJworICAgICdFdGFnOiAxMjM0NTY3ODlcclxuJworICAgIGYnU2V0LUNv
b2tpZToge2Nvb2tpZX1cclxuXHJcbicKKyAgICAnPCFET0NUWVBFIGh0bWw+XG4nCisgICAgJzxi
b2R5PlxuJworICAgICc8c2NyaXB0IHNyYz0icmVxdWVzdC1oZWFkZXJzLXNjcmlwdC5weSI+PC9z
Y3JpcHQ+XG4nCisgICAgJzxzY3JpcHQ+XG4nCisgICAgZidzZW50U2V0Q29va2llSGVhZGVyID0g
XCd7Y29va2llfVwnO1xuJworICAgICc8L3NjcmlwdD5cbicKKyAgICAnPC9ib2R5PlxuJworKQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jl
c291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucHkKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9ib2R5LnBo
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9i
b2R5LnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvYm9keS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLTw/cGhw
Ci1oZWFkZXIoJ0V0YWc6IDEyMzQ1Njc4OScpOwotZWNobyBmaWxlX2dldF9jb250ZW50cygncGhw
Oi8vaW5wdXQnKTsKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9ib2R5LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL2JvZHkucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvYm9keS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExIEBA
CisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBzeXMKKworZGF0YSA9ICcnLmpvaW4o
c3lzLnN0ZGluLnJlYWRsaW5lcygpKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdFdGFnOiAx
MjM0NTY3ODlcclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworICAg
IGYne2RhdGF9JworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2JvZHkucHkKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnBocAkocmV2aXNp
b24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2Fj
aGVhYmxlLWlmcmFtZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMSArMCwwIEBACi08P3BocAot
cmVxdWlyZV9vbmNlICcuLi8uLi9yZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXllci5waHAnOwotCi0k
bWF4X2FnZSA9IDEyICogMzEgKiAyNCAqIDYwICogNjA7IC8vb25lIHllYXIKLSRleHBpcmVzID0g
Z21kYXRlKERBVEVfUkZDMTEyMywgdGltZSgpICsgJG1heF9hZ2UpOwotCi1oZWFkZXIoJ0NhY2hl
LUNvbnRyb2w6IHB1YmxpYywgbWF4LWFnZT0nIC4gJG1heF9hZ2UpOwotaGVhZGVyKCdFeHBpcmVz
OiAnIC4gJGV4cGlyZXMpOwotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbCcpOwotZXhp
dCgpOwotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2Nh
Y2hlYWJsZS1pZnJhbWUucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLWlmcmFtZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKwor
aW1wb3J0IHN5cworZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0YQorCitt
YXhfYWdlID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MAorZXhwaXJlcyA9ICd7fSArMDAwMCcuZm9y
bWF0KChkYXRldGltZS51dGNub3coKSArIHRpbWVkZWx0YShzZWNvbmRzPW1heF9hZ2UpKS5zdHJm
dGltZSgnJWEsICVkICViICVZICVIOiVNOiVTJykpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAg
ZidDYWNoZS1Db250cm9sOiBwdWJsaWMsIG1heC1hZ2U9e21heF9hZ2V9XHJcbicKKyAgICBmJ0V4
cGlyZXM6IHtleHBpcmVzfVxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxy
XG4nCispCitzeXMuZXhpdCgwKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hl
YWJsZS1pZnJhbWUucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCAr
MSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRleHQucGhwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hl
YWJsZS1yYW5kb20tdGV4dC5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5waHAJKG5vbmV4
aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBACi08P3BocAotICAgICRtYXhfYWdlID0gMTIgKiAzMSAq
IDI0ICogNjAgKiA2MDsgLy9vbmUgeWVhcgotICAgIGhlYWRlcignQ2FjaGUtQ29udHJvbDogcHVi
bGljLCBtYXgtYWdlPScgLiAkbWF4X2FnZSk7Ci0gICAgaGVhZGVyKCdDb250ZW50LVR5cGU6IHRl
eHQvaHRtbCcpOwotCi0gICAgJGlkID0gJEdFVFsnaWQnXTsKLSAgICBpZiAoIWlzc2V0KCRHRVRb
J3JhbmRvbV9pZCddKSkgewotICAgICAgICAkaWQgPSAnJzsKLSAgICAgICAgJGNoYXJzZXQgPSAn
QUJDREVGR0hJS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODknOwotICAgICAgICBmb3IgKCRpID0g
MDsgJGkgPCAxNjsgJGkrKykKLSAgICAgICAgICAgICRpZCAuPSAkY2hhcnNldFtyYW5kKDAsIHN0
cmxlbigkY2hhcnNldCkgLSAxKV07Ci0gICAgfQotICAgIGVjaG8gJzxodG1sPjxib2R5PlNvbWUg
cmFuZG9tIHRleHQnIC4gJGlkIC4gICc8L2htbD48L2JvZHk+JzsKLT8+CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRleHQucHkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2Fj
aGVhYmxlLXJhbmRvbS10ZXh0LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5weQkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDI1IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBv
cworaW1wb3J0IHN5cworZnJvbSByYW5kb20gaW1wb3J0IHJhbmRpbnQKK2Zyb20gdXJsbGliLnBh
cnNlIGltcG9ydCBwYXJzZV9xcworCitxdWVyeSA9IHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdR
VUVSWV9TVFJJTkcnLCAnJyksIGtlZXBfYmxhbmtfdmFsdWVzPVRydWUpCitpZGVudCA9IHF1ZXJ5
LmdldCgnaWQnLCBbJyddKVswXQorCittYXhfYWdlID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MAor
cmFuZG9tX2lkZW50ID0gVHJ1ZSBpZiBxdWVyeS5nZXQoJ3JhbmRvbV9pZCcsIFtOb25lXSlbMF0g
aXMgbm90IE5vbmUgZWxzZSBGYWxzZQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgIGYnQ2FjaGUt
Q29udHJvbDogcHVibGljLCBtYXgtYWdlPXttYXhfYWdlfVxyXG4nCisgICAgJ0NvbnRlbnQtVHlw
ZTogdGV4dC9odG1sXHJcblxyXG4nCispCisKK2lmIG5vdCByYW5kb21faWRlbnQ6CisgICAgaWRl
bnQgPSAnJworICAgIGNoYXJzZXQgPSAnQUJDREVGR0hJS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3
ODknCisgICAgZm9yIGkgaW4gcmFuZ2UoMCwgMTYpOgorICAgICAgICBpZGVudCArPSBjaGFyc2V0
W3JhbmRpbnQoMCwgbGVuKGNoYXJzZXQpIC0gMSldCisKK3N5cy5zdGRvdXQud3JpdGUoZic8aHRt
bD48Ym9keT5Tb21lIHJhbmRvbSB0ZXh0e2lkZW50fTwvaG1sPjwvYm9keT4nKQpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5weQpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL2lmcmFtZTMwNC5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBocAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDIxICswLDAgQEAKLTw/cGhwDQotcmVxdWlyZV9vbmNlICcuLi8uLi9yZXNvdXJj
ZXMvcG9ydGFiaWxpdHlMYXllci5waHAnOw0KLQ0KLWNsZWFyc3RhdGNhY2hlKCk7DQotDQotaWYg
KCRfU0VSVkVSWyJIVFRQX0lGX01PRElGSUVEX1NJTkNFIl0pIHsNCi0gICAgaGVhZGVyKCJIVFRQ
LzEuMSAzMDQgTm90IE1vZGlmaWVkIik7DQotICAgIGV4aXQoKTsNCi19DQotJG9uZV95ZWFyID0g
MTIgKiAzMSAqIDI0ICogNjAgKiA2MDsNCi0kbGFzdF9tb2RpZmllZCA9IGdtZGF0ZShEQVRFX1JG
QzExMjMsIHRpbWUoKSAtICRvbmVfeWVhcik7DQotJGV4cGlyZXMgPSBnbWRhdGUoREFURV9SRkMx
MTIzLCB0aW1lKCkgKyAkb25lX3llYXIpOw0KLQ0KLWhlYWRlcignQ2FjaGUtQ29udHJvbDogbm8t
Y2FjaGUsIG1heC1hZ2U9JyAuICRvbmVfeWVhcik7DQotaGVhZGVyKCdFeHBpcmVzOiAnIC4gJGV4
cGlyZXMpOw0KLWhlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0L2h0bWwnKTsNCi1oZWFkZXIoJ0Nv
bnRlbnQtTGVuZ3RoOiAwJyk7DQotaGVhZGVyKCdFdGFnOiAxMjM0NTY3ODknKTsNCi1oZWFkZXIo
J0xhc3QtTW9kaWZpZWQ6ICcgLiAkbGFzdF9tb2RpZmllZCk7DQotZXhpdCgpOw0KLT8+DQpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lmcmFt
ZTMwNC5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9pZnJhbWUzMDQucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAorIyEv
dXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zyb20gZGF0ZXRp
bWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lZGVsdGEKKworbW9kaWZpZWRfc2luY2UgPSBvcy5lbnZp
cm9uLmdldCgnSFRUUF9JRl9NT0RJRklFRF9TSU5DRScsICcnKQorCitzeXMuc3Rkb3V0LndyaXRl
KCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nKQorCitpZiBtb2RpZmllZF9zaW5jZToKKyAg
ICBzeXMuc3Rkb3V0LndyaXRlKCdzdGF0dXM6IDMwNFxyXG5cclxuJykKKyAgICBzeXMuZXhpdCgw
KQorCitvbmVfeWVhciA9IDEyICogMzEgKiAyNCAqIDYwICogNjAKK2xhc3RfbW9kaWZpZWQgPSAn
e30gKzAwMDAnLmZvcm1hdCgoZGF0ZXRpbWUudXRjbm93KCkgLSB0aW1lZGVsdGEoc2Vjb25kcz1v
bmVfeWVhcikpLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06JVMnKSkKK2V4cGlyZXMgPSAn
e30gKzAwMDAnLmZvcm1hdCgoZGF0ZXRpbWUudXRjbm93KCkgKyB0aW1lZGVsdGEoc2Vjb25kcz1v
bmVfeWVhcikpLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06JVMnKSkKKworc3lzLnN0ZG91
dC53cml0ZSgKKyAgICBmJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBtYXgtYWdlPXtvbmVfeWVh
cn1cclxuJworICAgIGYnRXhwaXJlczoge2V4cGlyZXN9XHJcbicKKyAgICAnQ29udGVudC1UeXBl
OiB0ZXh0L2h0bWxcclxuJworICAgICdDb250ZW50LUxlbmd0aDogMFxyXG4nCisgICAgJ0V0YWc6
IDEyMzQ1Njc4OVxyXG4nCisgICAgZidMYXN0LU1vZGlmaWVkOiB7bGFzdF9tb2RpZmllZH1cclxu
JworKQorc3lzLmV4aXQoMCkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUz
MDQucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDRib2R5LnBocAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDRib2R5LnBocAkocmV2
aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMv
aWZyYW1lMzA0Ym9keS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBACi08P3BocA0K
LXJlcXVpcmVfb25jZSAnLi4vLi4vcmVzb3VyY2VzL3BvcnRhYmlsaXR5TGF5ZXIucGhwJzsNCi0N
Ci1jbGVhcnN0YXRjYWNoZSgpOw0KLQ0KLWlmICgkX1NFUlZFUlsiSFRUUF9JRl9NT0RJRklFRF9T
SU5DRSJdKSB7DQotICAgIGhlYWRlcigiSFRUUC8xLjEgMzA0IE5vdCBNb2RpZmllZCIpOw0KLSAg
ICBleGl0KCk7DQotfQ0KLWhlYWRlcignQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUnKTsNCi1oZWFk
ZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sJyk7DQotaGVhZGVyKCdFdGFnOiAxMjM0NTY3ODkn
KTsNCi0/Pg0KLWJvZHkgdGV4dApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNGJvZHkucHkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1l
MzA0Ym9keS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9pZnJhbWUzMDRib2R5LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTgg
QEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK21v
ZGlmaWVkX3NpbmNlID0gb3MuZW52aXJvbi5nZXQoJ0hUVFBfSUZfTU9ESUZJRURfU0lOQ0UnLCAn
JykKKworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJykKKwor
aWYgbW9kaWZpZWRfc2luY2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgnc3RhdHVzOiAzMDRcclxu
XHJcbicpCisgICAgc3lzLmV4aXQoMCkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ2FjaGUt
Q29udHJvbDogbm8tY2FjaGVcclxuJworICAgICdFdGFnOiAxMjM0NTY3ODlcclxuXHJcbicKKyAg
ICAnYm9keSB0ZXh0JworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMw
NGJvZHkucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIwor
KgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9sb2FkLWFuZC1jaGVjay1yZWZlcmVyLnBocAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9sb2FkLWFuZC1j
aGVjay1yZWZlcmVyLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbG9hZC1hbmQtY2hlY2stcmVmZXJlci5waHAJKG5vbmV4aXN0
ZW50KQpAQCAtMSw0MCArMCwwIEBACi08PwotZnVuY3Rpb24gY29udGVudFR5cGUoJHBhdGgpCi17
Ci0gICAgaWYgKHByZWdfbWF0Y2goIi9cLmh0bWwkLyIsICRwYXRoKSkKLSAgICAgICAgcmV0dXJu
ICJ0ZXh0L2h0bWwiOwotICAgIGlmIChwcmVnX21hdGNoKCIvXC5tYW5pZmVzdCQvIiwgJHBhdGgp
KQotICAgICAgICByZXR1cm4gInRleHQvY2FjaGUtbWFuaWZlc3QiOwotICAgIGlmIChwcmVnX21h
dGNoKCIvXC5qcyQvIiwgJHBhdGgpKQotICAgICAgICByZXR1cm4gInRleHQvamF2YXNjcmlwdCI7
Ci0gICAgaWYgKHByZWdfbWF0Y2goIi9cLnhtbCQvIiwgJHBhdGgpKQotICAgICAgICByZXR1cm4g
ImFwcGxpY2F0aW9uL3htbCI7Ci0gICAgaWYgKHByZWdfbWF0Y2goIi9cLnhodG1sJC8iLCAkcGF0
aCkpCi0gICAgICAgIHJldHVybiAiYXBwbGljYXRpb24veGh0bWwreG1sIjsKLSAgICBpZiAocHJl
Z19tYXRjaCgiL1wuc3ZnJC8iLCAkcGF0aCkpCi0gICAgICAgIHJldHVybiAiYXBwbGljYXRpb24v
c3ZnK3htbCI7Ci0gICAgaWYgKHByZWdfbWF0Y2goIi9cLnhzbCQvIiwgJHBhdGgpKQotICAgICAg
ICByZXR1cm4gImFwcGxpY2F0aW9uL3hzbHQreG1sIjsKLSAgICBpZiAocHJlZ19tYXRjaCgiL1wu
Z2lmJC8iLCAkcGF0aCkpCi0gICAgICAgIHJldHVybiAiaW1hZ2UvZ2lmIjsKLSAgICBpZiAocHJl
Z19tYXRjaCgiL1wuanBnJC8iLCAkcGF0aCkpCi0gICAgICAgIHJldHVybiAiaW1hZ2UvanBlZyI7
Ci0gICAgaWYgKHByZWdfbWF0Y2goIi9cLnBuZyQvIiwgJHBhdGgpKQotICAgICAgICByZXR1cm4g
ImltYWdlL3BuZyI7Ci0gICAgcmV0dXJuICJ0ZXh0L3BsYWluIjsKLX0KLQotJHBhdGggPSAkX0dF
VFsncGF0aCddOwotJGV4cGVjdGVkUmVmZXJlciA9ICRfR0VUWydleHBlY3RlZC1yZWZlcmVyJ107
Ci0kcmVmZXJlciA9ICRfU0VSVkVSWyJIVFRQX1JFRkVSRVIiXTsKLQotaWYgKCRleHBlY3RlZFJl
ZmVyZXIgPT0gJHJlZmVyZXIgJiYgZmlsZV9leGlzdHMoJHBhdGgpKSB7Ci0gICAgaGVhZGVyKCdI
VFRQLzEuMSAyMDAgT0snKTsKLSAgICBoZWFkZXIoIkNhY2hlLWNvbnRyb2w6IG5vLXN0b3JlIik7
Ci0gICAgaGVhZGVyKCJDb250ZW50LVR5cGU6ICIgLiBjb250ZW50VHlwZSgkcGF0aCkpOwotICAg
IHByaW50IGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRoKTsKLX0gZWxzZSB7Ci0gICAgaGVhZGVyKCdI
VFRQLzEuMSA0MDQgTm90IEZvdW5kJyk7Ci19Ci0KLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9sb2FkLWFuZC1jaGVjay1yZWZlcmVyLnB5Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2xvYWQtYW5kLWNo
ZWNrLXJlZmVyZXIucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvbG9hZC1hbmQtY2hlY2stcmVmZXJlci5weQkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDUwIEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1w
b3J0IHN5cworZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNlX3FzCisKK2RlZiBjb250ZW50
VHlwZShwYXRoKToKKyAgICBpZiBwYXRoLmVuZHN3aXRoKCcuaHRtbCcpOgorICAgICAgICByZXR1
cm4gJ3RleHQvaHRtbCcKKyAgICBpZiBwYXRoLmVuZHN3aXRoKCcubWFuaWZlc3QnKToKKyAgICAg
ICAgcmV0dXJuICd0ZXh0L2NhY2hlLW1hbmlmZXN0JworICAgIGlmIHBhdGguZW5kc3dpdGgoJy5q
cycpOgorICAgICAgICByZXR1cm4gJ3RleHQvamF2YXNjcmlwdCcKKyAgICBpZiBwYXRoLmVuZHN3
aXRoKCcueG1sJyk6CisgICAgICAgIHJldHVybiAnYXBwbGljYXRpb24veG1sJworICAgIGlmIHBh
dGguZW5kc3dpdGgoJy54aHRtbCcpOgorICAgICAgICByZXR1cm4gJ2FwcGxpY2F0aW9uL3hodG1s
K3htbCcKKyAgICBpZiBwYXRoLmVuZHN3aXRoKCcuc3ZnJyk6CisgICAgICAgIHJldHVybiAnYXBw
bGljYXRpb24vc3ZnK3htbCcKKyAgICBpZiBwYXRoLmVuZHN3aXRoKCcueHNsJyk6CisgICAgICAg
IHJldHVybiAnYXBwbGljYXRpb24veHNsdCt4bWwnCisgICAgaWYgcGF0aC5lbmRzd2l0aCgnLmdp
ZicpOgorICAgICAgICByZXR1cm4gJ2ltYWdlL2dpZicKKyAgICBpZiBwYXRoLmVuZHN3aXRoKCcu
anBnJyk6CisgICAgICAgIHJldHVybiAnaW1hZ2UvanBlZycKKyAgICBpZiBwYXRoLmVuZHN3aXRo
KCcucG5nJyk6CisgICAgICAgIHJldHVybiAnaW1hZ2UvcG5nJworICAgIHJldHVybiAndGV4dC9w
bGFpbicKKworcmVmZXJlciA9IG9zLmVudmlyb24uZ2V0KCdIVFRQX1JFRkVSRVInLCAnJykKKwor
cXVlcnkgPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVw
X2JsYW5rX3ZhbHVlcz1UcnVlKQorcGF0aCA9IHF1ZXJ5LmdldCgncGF0aCcsIFsnJ10pWzBdCitl
eHBlY3RlZF9yZWZlcmVyID0gcXVlcnkuZ2V0KCdleHBlY3RlZC1yZWZlcmVyJywgWycnXSlbMF0K
KworaWYgZXhwZWN0ZWRfcmVmZXJlciA9PSByZWZlcmVyIGFuZCBvcy5wYXRoLmlzZmlsZShwYXRo
KToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnc3RhdHVzOiAyMDBcclxuJworICAg
ICAgICAnQ2FjaGUtY29udHJvbDogbm8tc3RvcmVcclxuJworICAgICAgICBmJ0NvbnRlbnQtVHlw
ZToge2NvbnRlbnRUeXBlKHBhdGgpfVxyXG5cclxuJworICAgICkKKworICAgIHN5cy5zdGRvdXQu
Zmx1c2goKQorICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4oJy8nLmpvaW4oX19maWxlX18uc3Bs
aXQoJy8nKVswOi0xXSksIHBhdGgpLCAncmInKSBhcyBmaWxlOgorICAgICAgICBzeXMuc3Rkb3V0
LmJ1ZmZlci53cml0ZShmaWxlLnJlYWQoKSkKK2Vsc2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgK
KyAgICAgICAgJ3N0YXR1czogNDA0XHJcbicKKyAgICAgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9o
dG1sXHJcblxyXG4nCisgICAgKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2xvYWQt
YW5kLWNoZWNrLXJlZmVyZXIucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMg
LTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNl
LW5leHQucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5waHAJKHJldmlzaW9uIDI3NDI5MikK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4t
cmVzb3VyY2UtbmV4dC5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMSArMCwwIEBACi08P3BocAot
aGVhZGVyKCJDYWNoZS1jb250cm9sOiBuby1jYWNoZSwgbWF4LWFnZT0wIik7Ci1oZWFkZXIoIkxh
c3QtTW9kaWZpZWQ6IFRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UIik7Ci1oZWFkZXIoJ0Nv
bnRlbnQtVHlwZTogdGV4dC9odG1sJyk7Ci0KLXByaW50ICI8c2NyaXB0PlxuIjsKLXByaW50ICJ2
YXIgcmFuZG9tTnVtYmVyID0gIiAuIHJhbmQoKSAuICI7XG4iOwotPz4KLQotb3BlbmVyLnBvc3RN
ZXNzYWdlKHJhbmRvbU51bWJlciwgJyonKTsKLTwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS1uZXh0LnB5
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25v
LWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLW5leHQu
cHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9u
MworCitpbXBvcnQgc3lzCitmcm9tIHJhbmRvbSBpbXBvcnQgcmFuZGludAorCitzeXMuc3Rkb3V0
LndyaXRlKAorICAgICdDYWNoZS1jb250cm9sOiBuby1jYWNoZSwgbWF4LWFnZT0wXHJcbicKKyAg
ICAnTGFzdC1Nb2RpZmllZDogVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHTVRcclxuJworICAg
ICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworICAgICc8c2NyaXB0PlxuJworICAg
IGYndmFyIHJhbmRvbU51bWJlciA9IHtyYW5kaW50KDAsIHN5cy5tYXhzaXplKX07XG4nCisgICAg
J29wZW5lci5wb3N0TWVzc2FnZShyYW5kb21OdW1iZXIsIFwnKlwnKTtcbicKKyAgICAnPC9zY3Jp
cHQ+XG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1y
ZXNvdXJjZS1uZXh0LnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAg
KzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS5waHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8t
Y2FjaGUtbWFpbi1yZXNvdXJjZS5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UucGhwCShu
b25leGlzdGVudCkKQEAgLTEsMzQgKzAsMCBAQAotPD9waHAKLWhlYWRlcigiQ2FjaGUtY29udHJv
bDogbm8tY2FjaGUsIG1heC1hZ2U9MCIpOwotaGVhZGVyKCJMYXN0LU1vZGlmaWVkOiBUaHUsIDAx
IEphbiAxOTcwIDAwOjAwOjAwIEdNVCIpOwotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRt
bCcpOwotCi1wcmludCAiPHNjcmlwdD5cbiI7Ci1wcmludCAidmFyIHJhbmRvbU51bWJlciA9ICIg
LiByYW5kKCkgLiAiO1xuIjsKLT8+Ci0KLW9wZW5lci5wb3N0TWVzc2FnZShyYW5kb21OdW1iZXIs
ICcqJyk7Ci0KLS8vIE91ciBvcGVuZXIgd2lsbCB0ZWxsIHVzIHRvIHBlcmZvcm0gdmFyaW91cyBs
b2Fkcy4KLXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24oZXZlbnQp
IHsKLQotICAgIC8vIEdvIGZvcndhcmQgYW5kIGJhY2suCi0gICAgaWYgKGV2ZW50LmRhdGEgPT09
ICdnby1mb3J3YXJkLWFuZC1iYWNrJykgewotICAgICAgICB3aW5kb3cubG9jYXRpb24gPSAnaGlz
dG9yeS1iYWNrLmh0bWwnOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gUmVsb2Fk
LgotICAgIGlmIChldmVudC5kYXRhID09PSAncmVsb2FkJykgewotICAgICAgICB3aW5kb3cubG9j
YXRpb24ucmVsb2FkKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBOb3JtYWwg
bmF2aWdhdGlvbiwgbmV4dC4KLSAgICBpZiAoZXZlbnQuZGF0YSA9PT0gJ25leHQnKSB7Ci0gICAg
ICAgIHdpbmRvdy5sb2NhdGlvbiA9ICduby1jYWNoZS1tYWluLXJlc291cmNlLW5leHQucGhwJzsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotfSwgZmFsc2UpOwotPC9zY3JpcHQ+CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291
cmNlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS5weQko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM3IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisK
K2ltcG9ydCBzeXMKK2Zyb20gcmFuZG9tIGltcG9ydCByYW5kaW50CisKK3N5cy5zdGRvdXQud3Jp
dGUoCisgICAgJ0NhY2hlLWNvbnRyb2w6IG5vLWNhY2hlLCBtYXgtYWdlPTBcclxuJworICAgICdM
YXN0LU1vZGlmaWVkOiBUaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIEdNVFxyXG4nCisgICAgJ0Nv
bnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCisgICAgJzxzY3JpcHQ+XG4nCisgICAgZid2
YXIgcmFuZG9tTnVtYmVyID0ge3JhbmRpbnQoMCwgc3lzLm1heHNpemUgKyAxKX07XG4nCisgICAg
J29wZW5lci5wb3N0TWVzc2FnZShyYW5kb21OdW1iZXIsIFwnKlwnKTtcbicKKyAgICAnXG4nCisg
ICAgJy8vIE91ciBvcGVuZXIgd2lsbCB0ZWxsIHVzIHRvIHBlcmZvcm0gdmFyaW91cyBsb2Fkcy5c
bicKKyAgICAnd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCdtZXNzYWdlXCcsIGZ1bmN0aW9uKGV2
ZW50KSB7XG4nCisgICAgJ1xuJworICAgICcgICAgLy8gR28gZm9yd2FyZCBhbmQgYmFjay5cbicK
KyAgICAnICAgIGlmIChldmVudC5kYXRhID09PSBcJ2dvLWZvcndhcmQtYW5kLWJhY2tcJykge1xu
JworICAgICcgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IFwnaGlzdG9yeS1iYWNrLmh0bWxcJztc
bicKKyAgICAnICAgICAgICByZXR1cm47XG4nCisgICAgJyAgICB9XG4nCisgICAgJ1xuJworICAg
ICcgICAgLy8gUmVsb2FkLlxuJworICAgICcgICAgaWYgKGV2ZW50LmRhdGEgPT09IFwncmVsb2Fk
XCcpIHtcbicKKyAgICAnICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4nCisgICAg
JyAgICAgICAgcmV0dXJuO1xuJworICAgICcgICAgfVxuJworICAgICdcbicKKyAgICAnICAgIC8v
IE5vcm1hbCBuYXZpZ2F0aW9uLCBuZXh0LlxuJworICAgICcgICAgaWYgKGV2ZW50LmRhdGEgPT09
IFwnbmV4dFwnKSB7XG4nCisgICAgJyAgICAgICAgd2luZG93LmxvY2F0aW9uID0gXCduby1jYWNo
ZS1tYWluLXJlc291cmNlLW5leHQucHlcJztcbicKKyAgICAnICAgICAgICByZXR1cm47XG4nCisg
ICAgJyAgICB9XG4nCisgICAgJ1xuJworICAgICd9LCBmYWxzZSk7XG4nCisgICAgJzwvc2NyaXB0
PlxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVz
b3VyY2UucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIwor
KgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS13aXRoLXZhbGlkYXRpb24ucGhwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hl
LXdpdGgtdmFsaWRhdGlvbi5waHAJKHJldmlzaW9uIDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5waHAJKG5v
bmV4aXN0ZW50KQpAQCAtMSwxMCArMCwwIEBACi08P3BocAotaWYgKCRfU0VSVkVSWyJIVFRQX0lG
X01PRElGSUVEX1NJTkNFIl0pIHsKLSAgICBoZWFkZXIoIkhUVFAvMS4wIDMwNCBOb3QgTW9kaWZp
ZWQiKTsKLSAgICBleGl0KCk7Ci19Ci1oZWFkZXIoIkNhY2hlLWNvbnRyb2w6IG5vLWNhY2hlIik7
Ci1oZWFkZXIoIkxhc3QtTW9kaWZpZWQ6IFRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UIik7
Ci1oZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbiIpOwotPz4KLWZvbwpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtd2l0aC12YWxpZGF0
aW9uLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL25vLWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS13aXRoLXZhbGlkYXRpb24u
cHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxOCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9u
MworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworbW9kaWZpZWRfc2luY2UgPSBvcy5lbnZpcm9u
LmdldCgnSFRUUF9JRl9NT0RJRklFRF9TSU5DRScsICcnKQorCitzeXMuc3Rkb3V0LndyaXRlKCdD
b250ZW50LVR5cGU6IHRleHQvcGxhaW5cclxuJykKKworaWYgbW9kaWZpZWRfc2luY2U6CisgICAg
c3lzLnN0ZG91dC53cml0ZSgnc3RhdHVzOiAzMDRcclxuXHJcbicpCisgICAgc3lzLmV4aXQoMCkK
Kworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ2FjaGUtY29udHJvbDogbm8tY2FjaGVcclxuJwor
ICAgICdMYXN0LU1vZGlmaWVkOiBUaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIEdNVFxyXG5cclxu
JworICAgICdmb29cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNo
ZS13aXRoLXZhbGlkYXRpb24ucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMg
LTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wYXJ0aXRpb25lZC1jYWNoZS1lY2hv
LXN0YXRlLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9wYXJ0aXRpb25lZC1jYWNoZS1lY2hvLXN0YXRlLnBocAkocmV2aXNpb24gMjc0Mjky
KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9uZWQt
Y2FjaGUtZWNoby1zdGF0ZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMCArMCwwIEBACi08P3Bo
cAotcmVxdWlyZV9vbmNlICcuLi8uLi9yZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXllci5waHAnOwot
Ci1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vamF2YXNjcmlwdCcpOwotaGVhZGVy
KCdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTM2MDAnKTsKLQotIyBUaGlzIHNjcmlwdCBtYXkgb25s
eSBiZSB1c2VkIGJ5IGNhY2hlL3BhcnRpdGlvbmVkLWNhY2hlLmh0bWwgdGVzdCwgc2luY2UgaXQg
dXNlcyBnbG9iYWwgZGF0YS4KLSR0bXBGaWxlID0gc3lzX2dldF90ZW1wX2RpcigpIC4gIi8iIC4g
ImNhY2hlLXBhcnRpdGlvbmVkLWNhY2hlLXN0YXRlIjsKLT8+Ci12YXIgcmVzcG9uc2UgPSAnPD9w
aHAgcHJpbnQgZmlsZV9nZXRfY29udGVudHMoJHRtcEZpbGUpOyA/Pic7CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wYXJ0aXRpb25lZC1jYWNoZS1lY2hvLXN0
YXRlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL3BhcnRpdGlvbmVkLWNhY2hlLWVjaG8tc3RhdGUucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9uZWQtY2FjaGUtZWNo
by1zdGF0ZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIwIEBACisjIS91c3IvYmluL2Vu
diBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHRlbXBmaWxlCisKK2Zp
bGUgPSBfX2ZpbGVfXy5zcGxpdCgnOi9jeWd3aW4nKVstMV0KK2h0dHBfcm9vdCA9IG9zLnBhdGgu
ZGlybmFtZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShm
aWxlKSkpKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkKKwordG1wRmlsZSA9IG9zLnBh
dGguam9pbih0ZW1wZmlsZS5nZXR0ZW1wZGlyKCksICdjYWNoZS1wYXJ0aXRpb25lZC1jYWNoZS1z
dGF0ZScpCitmaWxlID0gb3Blbih0bXBGaWxlLCAncicpCisKK3N5cy5zdGRvdXQud3JpdGUoCisg
ICAgJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vamF2YXNjcmlwdFxyXG4nCisgICAgJ0NhY2hl
LUNvbnRyb2w6IG1heC1hZ2U9MzYwMFxyXG5cclxuJworICAgIGYndmFyIHJlc3BvbnNlID0gXCd7
ZmlsZS5yZWFkKCl9XCc7XG4nCispCisKK2ZpbGUuY2xvc2UoKQpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL3BhcnRpdGlvbmVkLWNhY2hlLWVjaG8tc3RhdGUucHkKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9wYXJ0aXRpb25lZC1jYWNoZS1sb2FkZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wYXJ0aXRpb25lZC1jYWNoZS1sb2FkZXIuaHRt
bAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNv
dXJjZXMvcGFydGl0aW9uZWQtY2FjaGUtbG9hZGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTgs
NyArOCw3IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogZnVuY3Rpb24gc2V0U2VydmVyU3RhdGUo
c3RyaW5nKQogewogICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7Ci0gICAgeGhyLm9w
ZW4oJ1BPU1QnLCAnL3Jlc291cmNlcy93cml0ZS10ZW1wLWZpbGUucGhwP2ZpbGVuYW1lPWNhY2hl
LXBhcnRpdGlvbmVkLWNhY2hlLXN0YXRlJmRhdGE9JyArIHN0cmluZywgZmFsc2UpOworICAgIHho
ci5vcGVuKCdQT1NUJywgJy9yZXNvdXJjZXMvd3JpdGUtdGVtcC1maWxlLnB5P2ZpbGVuYW1lPWNh
Y2hlLXBhcnRpdGlvbmVkLWNhY2hlLXN0YXRlJmRhdGE9JyArIHN0cmluZywgZmFsc2UpOwogICAg
IHhoci5zZW5kKCk7CiB9CiAKQEAgLTE3LDcgKzE3LDcgQEAgY29uc29sZS5sb2coJ1NldHRpbmcg
c2VydmVyLXNpZGUgcGVyc2lzdAogc2V0U2VydmVyU3RhdGUoZG9jdW1lbnQuZG9tYWluKTsKIAog
dmFyIHNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKLXNj
cmlwdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdzcmMnLCAnaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nh
Y2hlL3Jlc291cmNlcy9wYXJ0aXRpb25lZC1jYWNoZS1lY2hvLXN0YXRlLnBocCcpOworc2NyaXB0
RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3NyYycsICdodHRwOi8vbG9jYWxob3N0OjgwMDAvY2FjaGUv
cmVzb3VyY2VzL3BhcnRpdGlvbmVkLWNhY2hlLWVjaG8tc3RhdGUucHknKTsKIGRvY3VtZW50Lmhl
YWQuYXBwZW5kQ2hpbGQoc2NyaXB0RWxlbWVudCk7CiAKIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlv
bigpIHsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Blcm1h
bmVudC1yZWRpcmVjdC5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvcGVybWFuZW50LXJlZGlyZWN0LnBocAkocmV2aXNpb24gMjc0MjkyKQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGVybWFuZW50LXJlZGly
ZWN0LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDYgKzAsMCBAQAotPD8KLSRsb2NhdGlvbiA9ICRf
R0VUWydsb2NhdGlvbiddOwotCi1oZWFkZXIoJ0hUVFAvMS4xIDMwMSBQZXJtYW5lbnQgUmVkaXJl
Y3QnKTsKLWhlYWRlcignTG9jYXRpb246JyAuICRsb2NhdGlvbik7Ci0/PgpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGVybWFuZW50LXJlZGlyZWN0LnB5Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Blcm1h
bmVudC1yZWRpcmVjdC5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucHkJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwxMyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9y
dCBzeXMKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9ydCBwYXJzZV9xcworCitsb2NhdGlvbiA9IHBh
cnNlX3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAnJyksIGtlZXBfYmxhbmtfdmFs
dWVzPVRydWUpLmdldCgnbG9jYXRpb24nLCBbJ2luZGV4Lmh0bWwnXSlbMF0KKworc3lzLnN0ZG91
dC53cml0ZSgKKyAgICAnc3RhdHVzOiAzMDFcclxuJworICAgIGYnTG9jYXRpb246IHtsb2NhdGlv
bn1cclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworKQpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Blcm1hbmVudC1yZWRpcmVjdC5weQpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnB5CShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Bvc3QtaW1h
Z2UtdG8tdmVyaWZ5LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKKyMhL3Vzci9i
aW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgdGVtcGZpbGUK
K2Zyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lZGVsdGEKK2Zyb20gdXJsbGliLnBh
cnNlIGltcG9ydCBwYXJzZV9xcworCitmaWxlID0gX19maWxlX18uc3BsaXQoJzovY3lnd2luJylb
LTFdCitodHRwX3Jvb3QgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKG9zLnBhdGgu
YWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoZmlsZSkpKSkKK3N5cy5wYXRoLmluc2VydCgwLCBodHRw
X3Jvb3QpCisKK3Rlc3QgPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywg
JycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKS5nZXQoJ3Rlc3QnLCBbJ3N0YXRlJ10pWzBdCit0
bXBGaWxlUGF0aCA9IG9zLnBhdGguam9pbih0ZW1wZmlsZS5nZXR0ZW1wZGlyKCksICd7fV9zdGF0
ZScuZm9ybWF0KHRlc3QpKQorCitpZiBvcy5wYXRoLmlzZmlsZSh0bXBGaWxlUGF0aCk6CisgICAg
c3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ3N0YXR1czogNDA0XHJcbicKKyAgICAgICAgJ0Nv
bnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG57fScuZm9ybWF0KHRtcEZpbGVQYXRoKQorICAg
ICkKKyAgICBzeXMuZXhpdCgwKQorCit0bXBGaWxlID0gb3Blbih0bXBGaWxlUGF0aCwgJ3crJykK
K3RtcEZpbGUuY2xvc2UoKQorCitmaWxlUGF0aCA9IG9zLnBhdGguam9pbignLycuam9pbihfX2Zp
bGVfXy5zcGxpdCgnLycpWzA6LTFdKSwgJ2NvbXBhc3Mtbm8tY2FjaGUuanBnJykKK3N0YXQgPSBv
cy5zdGF0KGZpbGVQYXRoKQorZmlsZW10aW1lID0gc3RhdC5zdF9tdGltZQorZmlsZXNpemUgPSBz
dGF0LnN0X3NpemUKKworZXRhZyA9ICcie30te30iJy5mb3JtYXQoZmlsZXNpemUsIGZpbGVtdGlt
ZSkKK2xhc3RfbW9kaWZpZWQgPSAne30gKzAwMDAnLmZvcm1hdChkYXRldGltZS51dGNmcm9tdGlt
ZXN0YW1wKGZpbGVtdGltZSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorbWF4
X2FnZSA9IDEyICogMzEgKiAyNCAqIDYwICogNjAKK2V4cGlyZXMgPSAne30gKzAwMDAnLmZvcm1h
dCgoZGF0ZXRpbWUudXRjbm93KCkgKyB0aW1lZGVsdGEoc2Vjb25kcz1tYXhfYWdlKSkuc3RyZnRp
bWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdD
YWNoZS1Db250cm9sOiBwdWJsaWMsIG1heC1hZ2U9e31cclxuJworICAgICdFeHBpcmVzOiB7fVxy
XG4nCisgICAgJ0NvbnRlbnQtVHlwZTogaW1hZ2UvcG5nXHJcbicKKyAgICAnQ29udGVudC1MZW5n
dGg6IHt9XHJcbicKKyAgICAnRXRhZzoge31cclxuJworICAgICdMYXN0LU1vZGlmaWVkOiB7fVxy
XG5cclxuJy5mb3JtYXQobWF4X2FnZSwgZXhwaXJlcywgZmlsZXNpemUsIGV0YWcsIGxhc3RfbW9k
aWZpZWQpCispCisKK3N5cy5zdGRvdXQuZmx1c2goKQord2l0aCBvcGVuKGZpbGVQYXRoLCAncmIn
KSBhcyBmaWxlOgorICAgIHN5cy5zdGRvdXQuYnVmZmVyLndyaXRlKGZpbGUucmVhZCgpKQorc3lz
LmV4aXQoMCkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZl
cmlmeS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisq
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucGhw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3By
ZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucGhwCShyZXZpc2lvbiAyNzQyOTIpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVz
b3VyY2UtaWZyYW1lLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTw/cGhwCi1p
ZiAoJF9TRVJWRVJbIkhUVFBfUFVSUE9TRSJdID09ICJwcmVmZXRjaCIpIHsKLSAgICBlY2hvICI8
c2NyaXB0PiI7Ci0gICAgZWNobyAicGFyZW50LndpbmRvdy5wb3N0TWVzc2FnZSgnRkFJTCcsICcq
Jyk7IjsKLSAgICBlY2hvICI8L3NjcmlwdD4iOwotCi0gICAgZXhpdCgpOwotfQotCi1lY2hvICI8
c2NyaXB0PiI7Ci1lY2hvICJwYXJlbnQud2luZG93LnBvc3RNZXNzYWdlKCdQQVNTJywgJyonKTsi
OwotZWNobyAiPC9zY3JpcHQ+IjsKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnB5Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQt
bWFpbi1yZXNvdXJjZS1pZnJhbWUucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLWlmcmFtZS5w
eQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIyIEBACisjIS91c3IvYmluL2VudiBweXRob24z
CisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitwdXJwb3NlID0gb3MuZW52aXJvbi5nZXQoJ0hU
VFBfUFVSUE9TRScsICcnKQorCitzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQv
aHRtbFxyXG5cclxuJykKKworaWYgcHVycG9zZSA9PSAncHJlZmV0Y2gnOgorICAgIHN5cy5zdGRv
dXQud3JpdGUoCisgICAgICAgICc8c2NyaXB0PlxuJworICAgICAgICAncGFyZW50LndpbmRvdy5w
b3N0TWVzc2FnZShcJ0ZBSUxcJywgXCcqXCcpO1xuJworICAgICAgICAnPC9zY3JpcHQ+XG4nCisg
ICAgKQorICAgIHN5cy5leGl0KDApCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJzxzY3JpcHQ+
XG4nCisgICAgJ3BhcmVudC53aW5kb3cucG9zdE1lc3NhZ2UoXCdQQVNTXCcsIFwnKlwnKTtcbicK
KyAgICAnPC9zY3JpcHQ+XG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJl
ZmV0Y2hlZC1tYWluLXJlc291cmNlLWlmcmFtZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhl
Y3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQt
bWFpbi1yZXNvdXJjZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLnBocAkocmV2aXNpb24gMjc0
MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hl
ZC1tYWluLXJlc291cmNlLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDIxICswLDAgQEAKLTw/cGhw
Ci1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MzYwMCcpOwotPz4KLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewotICBmZXRjaCgnaHR0cDovL2xvY2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRj
aGVkLW1haW4tcmVzb3VyY2UucGhwJykudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgIGlm
IChpbnRlcm5hbHMuZmV0Y2hSZXNwb25zZVNvdXJjZShyZXNwb25zZSkgIT0gIkRpc2sgY2FjaGUi
KSB7Ci0gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbG9nJykuaW5uZXJUZXh0ID0gJ0ZB
SUw6IHJlc291cmNlIGlzIG5vdCBpbiB0aGUgZGlzayBjYWNoZS4nOwotICAgIH0KLSAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgfSk7Ci19Ci0KLTwvc2NyaXB0PgotPGRpdiBpZD0ibG9n
Ij48P3BocCBpZiAoJF9TRVJWRVJbIkhUVFBfUFVSUE9TRSJdID09ICJwcmVmZXRjaCIpIGVjaG8g
J1BBU1MnOyBlbHNlIGVjaG8gJ0ZBSUwnOyA/PjwvZGl2PgotPC9ib2R5PgotPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWlu
LXJlc291cmNlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5weQkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVz
b3VyY2UucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOCBAQAorIyEvdXNyL2Jpbi9lbnYg
cHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworcHVycG9zZSA9IG9zLmVudmlyb24u
Z2V0KCdIVFRQX1BVUlBPU0UnLCAnJykKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ2FjaGUt
Q29udHJvbDogbWF4LWFnZT0zNjAwXHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxc
clxuXHJcbicKKyAgICAnPCFET0NUWVBFIGh0bWw+XG4nCisgICAgJzxodG1sPlxuJworICAgICc8
Ym9keT5cbicKKyAgICAnPHNjcmlwdD5cbicKKyAgICAnXG4nCisgICAgJ2lmICh3aW5kb3cudGVz
dFJ1bm5lcikge1xuJworICAgICcgIGZldGNoKFwnaHR0cDovL2xvY2FsaG9zdDo4MDAwL2NhY2hl
L3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UucHlcJykudGhlbihmdW5jdGlvbihy
ZXNwb25zZSkge1xuJworICAgICcgICAgaWYgKGludGVybmFscy5mZXRjaFJlc3BvbnNlU291cmNl
KHJlc3BvbnNlKSAhPSAiRGlzayBjYWNoZSIpIHtcbicKKyAgICAnICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoXCdsb2dcJykuaW5uZXJUZXh0ID0gXCdGQUlMOiByZXNvdXJjZSBpcyBub3Qg
aW4gdGhlIGRpc2sgY2FjaGUuXCc7XG4nCisgICAgJyAgICB9XG4nCisgICAgJyAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTtcbicKKyAgICAnICB9KTtcbicKKyAgICAnfVxuJworICAgICdcbicK
KyAgICAnPC9zY3JpcHQ+XG4nCisgICAgJzxkaXYgaWQ9ImxvZyI+JworKQorCitpZiBwdXJwb3Nl
ID09ICdwcmVmZXRjaCc6CisgICAgc3lzLnN0ZG91dC53cml0ZSgnUEFTUycpCitlbHNlOgorICAg
IHN5cy5zdGRvdXQud3JpdGUoJ0ZBSUwnKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICc8L2Rp
dj5cbicKKyAgICAnPC9ib2R5PlxuJworICAgICc8L2h0bWw+XG4nCispClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLnB5Cl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvcmVkaXJlY3QtcmVmZXJlci1pZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1yZWZlcmVyLWlmcmFtZS5odG1s
CShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9yZWRpcmVjdC1yZWZlcmVyLWlmcmFtZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xICsx
IEBACi08aW1nIHNyYz0ibG9hZC1hbmQtY2hlY2stcmVmZXJlci5waHA/cGF0aD1jb21wYXNzLW5v
LWNhY2hlLmpwZyZleHBlY3RlZC1yZWZlcmVyPWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9y
ZXNvdXJjZXMvcmVkaXJlY3QtcmVmZXJlci1pZnJhbWUuaHRtbCI+Cis8aW1nIHNyYz0ibG9hZC1h
bmQtY2hlY2stcmVmZXJlci5weT9wYXRoPWNvbXBhc3Mtbm8tY2FjaGUuanBnJmV4cGVjdGVkLXJl
ZmVyZXI9aHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1yZWZl
cmVyLWlmcmFtZS5odG1sIj4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL3JlbG9hZC1tYWluLXJlc291cmNlLWlmcmFtZS5waHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVsb2FkLW1haW4tcmVzb3VyY2Ut
aWZyYW1lLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvcmVsb2FkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBocAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDIzICswLDAgQEAKLTw/cGhwCi1pZiAoZmlsZV9leGlzdHMoc3lzX2dldF90ZW1w
X2RpcigpIC4gIi9jYWNoZS1yZWxvYWQtbWFpbi1yZXNvdXJjZS50bXAiKSkgewotICAgIHVubGlu
ayhzeXNfZ2V0X3RlbXBfZGlyKCkgLiAiL2NhY2hlLXJlbG9hZC1tYWluLXJlc291cmNlLnRtcCIp
OwotICAgIGVjaG8gIjxib2R5PiI7Ci0gICAgZWNobyAiPHNjcmlwdD4iOwotICAgIGVjaG8gIndp
bmRvdy5wYXJlbnQuZmluaXNoKCk7IjsKLSAgICBlY2hvICI8L3NjcmlwdD4iOwotICAgIGVjaG8g
IjwvYm9keT4iOwotICAgIGV4aXQoKTsKLX0KLQotJHRtcEZpbGUgPSBmb3BlbihzeXNfZ2V0X3Rl
bXBfZGlyKCkgLiAiL2NhY2hlLXJlbG9hZC1tYWluLXJlc291cmNlLnRtcCIsICd3Jyk7Ci1mY2xv
c2UoJHRtcEZpbGUpOwotCi0kbWF4X2FnZSA9IDEyICogMzEgKiAyNCAqIDYwICogNjA7IC8vb25l
IHllYXIKLSRsYXN0X21vZGlmaWVkID0gZ21kYXRlKERBVEVfUkZDMTEyMywgdGltZSgpICsgJG1h
eF9hZ2UpOwotJGV4cGlyZXMgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgKyAkbWF4X2Fn
ZSk7Ci0KLWhlYWRlcignQ2FjaGUtQ29udHJvbDogcHVibGljLCBtYXgtYWdlPScgLiAkbWF4X2Fn
ZSk7Ci1oZWFkZXIoJ0V4cGlyZXM6ICcgLiAkZXhwaXJlcyk7Ci1oZWFkZXIoJ0NvbnRlbnQtVHlw
ZTogdGV4dC9odG1sJyk7Ci1oZWFkZXIoJ0xhc3QtTW9kaWZpZWQ6ICcgLiAkbGFzdF9tb2RpZmll
ZCk7Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVs
b2FkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3JlbG9hZC1tYWluLXJlc291cmNlLWlmcmFtZS5weQko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9y
ZWxvYWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
NyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2lt
cG9ydCB0ZW1wZmlsZQorZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0YQor
CitmaWxlID0gX19maWxlX18uc3BsaXQoJzovY3lnd2luJylbLTFdCitodHRwX3Jvb3QgPSBvcy5w
YXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5h
bWUoZmlsZSkpKSkKK3N5cy5wYXRoLmluc2VydCgwLCBodHRwX3Jvb3QpCisKK3N5cy5zdGRvdXQu
d3JpdGUoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nKQorCit0bXBGaWxlID0gb3Mu
cGF0aC5qb2luKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwgJ2NhY2hlLXJlbG9hZC1tYWluLXJlc291
cmNlLnRtcCcpCitpZiBvcy5wYXRoLmlzZmlsZSh0bXBGaWxlKToKKyAgICBvcy5yZW1vdmUodG1w
RmlsZSkKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnPGJvZHk+XG4nCisgICAgICAg
ICc8c2NyaXB0PlxuJworICAgICAgICAnd2luZG93LnBhcmVudC5maW5pc2goKTtcbicKKyAgICAg
ICAgJzwvc2NyaXB0PlxuJworICAgICAgICAnPC9ib2R5PlxuJworICAgICkKKyAgICBzeXMuZXhp
dCgwKQorCitmaWxlID0gb3Blbih0bXBGaWxlLCAndysnKQorZmlsZS5jbG9zZSgpCisKK21heF9h
Z2UgPSAxMiAqIDMxICogMjQgKiA2MCAqIDYwCitsYXN0X21vZGlmaWVkID0gJ3t9ICswMDAwJy5m
b3JtYXQoKGRhdGV0aW1lLnV0Y25vdygpICsgdGltZWRlbHRhKHNlY29uZHM9bWF4X2FnZSkpLnN0
cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06JVMnKSkKK2V4cGlyZXMgPSAne30gKzAwMDAnLmZv
cm1hdCgoZGF0ZXRpbWUudXRjbm93KCkgKyB0aW1lZGVsdGEoc2Vjb25kcz1tYXhfYWdlKSkuc3Ry
ZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAg
IGYnQ2FjaGUtQ29udHJvbDogcHVibGljLCBtYXgtYWdlPXttYXhfYWdlfVxyXG4nCisgICAgZidF
eHBpcmVzOiB7ZXhwaXJlc31cclxuJworICAgIGYnTGFzdC1Nb2RpZmllZDoge2xhc3RfbW9kaWZp
ZWR9XHJcblxyXG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVsb2FkLW1h
aW4tcmVzb3VyY2UtaWZyYW1lLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMj
IC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc2xvdy1pZnJhbWUucGhwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Nsb3ctaWZy
YW1lLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvc2xvdy1pZnJhbWUucGhwCShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBA
Ci08P3BocCAKLXNsZWVwKDEpOwotaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvaHRtbCIpOyAK
LWVjaG8oIjxzY3JpcHQ+YWxlcnQoJ1BBU1MgLSBpZnJhbWUgbG9hZGVkJyk7IGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7IDwvc2NyaXB0PiIpOyAKLT8+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zbG93LWlmcmFtZS5w
eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9z
bG93LWlmcmFtZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9zbG93LWlmcmFtZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEx
IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBzeXMKK2ltcG9ydCB0aW1lCisK
K3RpbWUuc2xlZXAoMSkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0
ZXh0L2h0bWxcclxuXHJcbicKKyAgICAnPHNjcmlwdD5hbGVydChcJ1BBU1MgLSBpZnJhbWUgbG9h
ZGVkXCcpOyBpZiAod2luZG93LnRlc3RSdW5uZXIpIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOyA8
L3NjcmlwdD5cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zbG93LWlmcmFt
ZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQtYmFkLWNvbnRlbnQtdHlwZS5waHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVz
aGVldDMwNC1iYWQtY29udGVudC10eXBlLnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldDMwNC1iYWQtY29udGVu
dC10eXBlLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDIxICswLDAgQEAKLTw/cGhwCi1yZXF1aXJl
X29uY2UgJy4uLy4uL3Jlc291cmNlcy9wb3J0YWJpbGl0eUxheWVyLnBocCc7Ci0KLWNsZWFyc3Rh
dGNhY2hlKCk7Ci0KLWlmICgkX1NFUlZFUlsiSFRUUF9JRl9NT0RJRklFRF9TSU5DRSJdKSB7Ci0g
ICAgaGVhZGVyKCJIVFRQLzEuMCAzMDQgTm90IE1vZGlmaWVkIik7Ci0gICAgaGVhZGVyKCJDb250
ZW50LVR5cGU6IHRleHQvcGxhaW4iKTsKLSAgICBleGl0KCk7Ci19Ci0kb25lX3llYXIgPSAxMiAq
IDMxICogMjQgKiA2MCAqIDYwOwotJGxhc3RfbW9kaWZpZWQgPSBnbWRhdGUoREFURV9SRkMxMTIz
LCB0aW1lKCkgLSAkb25lX3llYXIpOwotJGV4cGlyZXMgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0
aW1lKCkgKyAkb25lX3llYXIpOwotCi1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IHB1YmxpYywgbWF4
LWFnZT0nIC4gJG9uZV95ZWFyKTsKLWhlYWRlcignRXhwaXJlczogJyAuICRleHBpcmVzKTsKLWhl
YWRlcignQ29udGVudC1UeXBlOiB0ZXh0L2NzcycpOwotaGVhZGVyKCdFdGFnOiAxMjM0NTY3ODkn
KTsKLWhlYWRlcignTGFzdC1Nb2RpZmllZDogJyAuICRsYXN0X21vZGlmaWVkKTsKLT8+Ci0jdGVz
dCB7IGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAyNTUsIDApOyB9CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0MzA0LWJhZC1jb250ZW50LXR5
cGUucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvc3R5bGVzaGVldDMwNC1iYWQtY29udGVudC10eXBlLnB5CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQtYmFkLWNv
bnRlbnQtdHlwZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACisjIS91c3IvYmlu
L2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSBkYXRldGltZSBpbXBv
cnQgZGF0ZXRpbWUsIHRpbWVkZWx0YQorCittb2RpZmllZF9zaW5jZSA9IG9zLmVudmlyb24uZ2V0
KCdIVFRQX0lGX01PRElGSUVEX1NJTkNFJywgJycpCitpZiBtb2RpZmllZF9zaW5jZToKKyAgICBz
eXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnc3RhdHVzOjMwNFxyXG4nCisgICAgICAgICdDb250
ZW50LVR5cGU6IHRleHQvcGxhaW5cclxuXHJcbicKKyAgICApCisgICAgc3lzLmV4aXQoMCkKKwor
b25lX3llYXIgPSAxMiAqIDMxICogMjQgKiA2MCAqIDYwCitsYXN0X21vZGlmaWVkID0gJ3t9ICsw
MDAwJy5mb3JtYXQoKGRhdGV0aW1lLnV0Y25vdygpIC0gdGltZWRlbHRhKHNlY29uZHM9b25lX3ll
YXIpKS5zdHJmdGltZSgnJWEsICVkICViICVZICVIOiVNOiVTJykpCitleHBpcmVzID0gJ3t9ICsw
MDAwJy5mb3JtYXQoKGRhdGV0aW1lLnV0Y25vdygpICsgdGltZWRlbHRhKHNlY29uZHM9b25lX3ll
YXIpKS5zdHJmdGltZSgnJWEsICVkICViICVZICVIOiVNOiVTJykpCisKK3N5cy5zdGRvdXQud3Jp
dGUoCisgICAgZidDYWNoZS1Db250cm9sOiBwdWJsaWMsIG1heC1hZ2U9e29uZV95ZWFyfVxyXG4n
CisgICAgZidFeHBpcmVzOiB7ZXhwaXJlc31cclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQv
Y3NzXHJcbicKKyAgICAnRXRhZzogMTIzNDU2Nzg5XHJcbicKKyAgICBmJ0xhc3QtTW9kaWZpZWQ6
IHtsYXN0X21vZGlmaWVkfVxyXG5cclxuJworICAgICcjdGVzdCB7IGJhY2tncm91bmQtY29sb3I6
IHJnYigwLCAyNTUsIDApOyB9JworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0
eWxlc2hlZXQzMDQtYmFkLWNvbnRlbnQtdHlwZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhl
Y3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQz
MDQucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL3N0eWxlc2hlZXQzMDQucGhwCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0MzA0LnBocAkobm9uZXhpc3RlbnQp
CkBAIC0xLDIxICswLDAgQEAKLTw/cGhwDQotcmVxdWlyZV9vbmNlICcuLi8uLi9yZXNvdXJjZXMv
cG9ydGFiaWxpdHlMYXllci5waHAnOw0KLQ0KLWNsZWFyc3RhdGNhY2hlKCk7DQotDQotaWYgKCRf
U0VSVkVSWyJIVFRQX0lGX01PRElGSUVEX1NJTkNFIl0pIHsNCi0gICAgaGVhZGVyKCJIVFRQLzEu
MCAzMDQgTm90IE1vZGlmaWVkIik7DQotICAgIGV4aXQoKTsNCi19DQotJG9uZV95ZWFyID0gMTIg
KiAzMSAqIDI0ICogNjAgKiA2MDsNCi0kbGFzdF9tb2RpZmllZCA9IGdtZGF0ZShEQVRFX1JGQzEx
MjMsIHRpbWUoKSAtICRvbmVfeWVhcik7DQotJGV4cGlyZXMgPSBnbWRhdGUoREFURV9SRkMxMTIz
LCB0aW1lKCkgKyAkb25lX3llYXIpOw0KLQ0KLWhlYWRlcignQ2FjaGUtQ29udHJvbDogcHVibGlj
LCBtYXgtYWdlPScgLiAkb25lX3llYXIpOw0KLWhlYWRlcignRXhwaXJlczogJyAuICRleHBpcmVz
KTsNCi1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9jc3MnKTsNCi1oZWFkZXIoJ0NvbnRlbnQt
TGVuZ3RoOiAwJyk7DQotaGVhZGVyKCdFdGFnOiAxMjM0NTY3ODknKTsNCi1oZWFkZXIoJ0xhc3Qt
TW9kaWZpZWQ6ICcgLiAkbGFzdF9tb2RpZmllZCk7DQotZXhpdCgpOw0KLT8+DQpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldC1odG1sLnBocAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHls
ZXNoZWV0LWh0bWwucGhwCShyZXZpc2lvbiAyNzQyOTIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwucGhwCShub25leGlzdGVudCkKQEAg
LTEsNSArMCwwIEBACi08P3BocAotZWNobyAiPGxpbmsgcmVsPXN0eWxlc2hlZXQgaHJlZj0iIC4g
JF9HRVRbJ3NoZWV0J10gLiAiPiI7Ci0/PgotPGRpdiBpZD10ZXN0MT48L2Rpdj4KLTxkaXYgaWQ9
dGVzdDI+PC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9zdHlsZXNoZWV0LWh0bWwucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldC1odG1sLnB5CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQtaHRtbC5weQko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisK
K2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNlX3Fz
CisKK3NoZWV0ID0gcGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklORycsICcnKSwg
a2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkuZ2V0KCdzaGVldCcsIFsnNDA0LmNzcyddKVswXQorCitz
eXMuc3Rkb3V0LndyaXRlKAorICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJwor
ICAgIGYnPGxpbmsgcmVsPXN0eWxlc2hlZXQgaHJlZj17c2hlZXR9PicKKyAgICAnPGRpdiBpZD10
ZXN0MT48L2Rpdj5cbicKKyAgICAnPGRpdiBpZD10ZXN0Mj48L2Rpdj5cbicKKykKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwucHkKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9z
dmctZGVmcy12YXJ5LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9zdmctZGVmcy12YXJ5LnBocAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3ZnLWRlZnMtdmFyeS5waHAJKG5v
bmV4aXN0ZW50KQpAQCAtMSwxMiArMCwwIEBACi08P3BocAotaGVhZGVyKCJDb250ZW50LVR5cGU6
IGltYWdlL3N2Zyt4bWwiKTsKLWhlYWRlcigiVmFyeTogQ29va2llIik7Ci1oZWFkZXIoIkNhY2hl
LUNvbnRyb2w6IG1heC1hZ2U9MzE1MzYwMDAiKTsKLT8+Ci08c3ZnIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxp
bmsiPgotPGRlZnM+Ci08ZyBpZD0iY2lyY2xlIj4KLTxjaXJjbGUgc3R5bGU9ImZpbGw6Z3JlZW4i
IHI9IjEwIi8+Ci08L2c+Ci08L2RlZnM+Ci08L3N2Zz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N2Zy1kZWZzLXZhcnkucHkKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3ZnLWRlZnMtdmFyeS5weQkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdmct
ZGVmcy12YXJ5LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTYgQEAKKyMhL3Vzci9iaW4v
ZW52IHB5dGhvbjMKKworaW1wb3J0IHN5cworCitzeXMuc3RvZHV0LndyaXRlKAorICAgICdDb250
ZW50LVR5cGU6IGltYWdlL3N2Zyt4bWxcclxuJworICAgICdWYXJ5OiBDb29raWVcclxuJworICAg
ICdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTMxNTM2MDAwXHJcblxyXG4nCisgICAgJzxzdmcgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53
My5vcmcvMTk5OS94bGluayI+XG4nCisgICAgJzxkZWZzPlxuJworICAgICc8ZyBpZD0iY2lyY2xl
Ij5cbicKKyAgICAnPGNpcmNsZSBzdHlsZT0iZmlsbDpncmVlbiIgcj0iMTAiLz5cbicKKyAgICAn
PC9nPlxuJworICAgICc8L2RlZnM+XG4nCisgICAgJzwvc3ZnPlxuJworKQpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL3N2Zy1kZWZzLXZhcnkucHkKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFy
eS1oZWFkZXItcmVzcG9uc2UucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25zZS5waHAJKHJldmlzaW9u
IDI3NDI5MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3hoci12
YXJ5LWhlYWRlci1yZXNwb25zZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMSArMCwwIEBACi08
P3BocAotaGVhZGVyKCJWYXJ5OiBPcmlnaW4iKTsKLWhlYWRlcigiQ2FjaGUtQ29udHJvbDogbWF4
LWFnZT0zMTUzNjAwMCIpOwotaWYgKGlzc2V0KCRfU0VSVkVSWydIVFRQX09SSUdJTiddKSkgewot
ICAgIGhlYWRlcigiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiBodHRwOi8vMTI3LjAuMC4x
OjgwMDAiKTsKLSAgICBlY2hvICJDcm9zcyBvcmlnaW4gIjsKLX0gZWxzZSB7Ci0gICAgZWNobyAi
U2FtZSBvcmlnaW4gIjsKLX0KLT8+Ci1yZXNwb25zZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5
LWhlYWRlci1yZXNwb25zZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItcmVzcG9uc2UucHkJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveGhyLXZhcnktaGVh
ZGVyLXJlc3BvbnNlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjIgQEAKKyMhL3Vzci9i
aW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK29yaWdpbiA9IFRydWUg
aWYgb3MuZW52aXJvbi5nZXQoJ0hUVFBfT1JJR0lOJywgTm9uZSkgaXMgbm90IE5vbmUgZWxzZSBG
YWxzZQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdWYXJ5OiBPcmlnaW5cclxuJworICAgICdD
YWNoZS1Db250cm9sOiBtYXgtYWdlPTMxNTM2MDAwXHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0
ZXh0L2h0bWxcclxuJworKQorCitpZiBvcmlnaW46CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAg
ICAgICAgJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbjogaHR0cDovLzEyNy4wLjAuMTo4MDAw
XHJcblxyXG4nCisgICAgICAgICdDcm9zcyBvcmlnaW4gJworICAgICkKK2Vsc2U6CisgICAgc3lz
LnN0ZG91dC53cml0ZSgnXHJcblNhbWUgb3JpZ2luICcpCisKK3N5cy5zdGRvdXQud3JpdGUoJ3Jl
c3BvbnNlJykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXIt
cmVzcG9uc2UucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAj
IworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItc3ViZnJhbWUuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHIt
dmFyeS1oZWFkZXItc3ViZnJhbWUuaHRtbAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXN1YmZyYW1lLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTIsNyArMiw3IEBACiBmdW5jdGlvbiB0ZXN0U2FtZU9yaWdp
bigpCiB7CiAgICAgdmFyIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKLSAgICByZXEub3Blbigi
R0VUIiwgInhoci12YXJ5LWhlYWRlci1yZXNwb25zZS5waHAiKTsKKyAgICByZXEub3BlbigiR0VU
IiwgInhoci12YXJ5LWhlYWRlci1yZXNwb25zZS5weSIpOwogICAgIHJlcS5vbmxvYWQ9ZnVuY3Rp
b24oKSB7IHBhcmVudC5wb3N0TWVzc2FnZShyZXEucmVzcG9uc2VUZXh0LCAiaHR0cDovLzEyNy4w
LjAuMTo4MDAwIikgfQogICAgIHJlcS5zZW5kKCk7CiB9CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlcy90b3VjaC10ZW1wLWZpbGUucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvdG91Y2gtdGVtcC1maWxlLnB5CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL3RvdWNoLXRlbXAtZmlsZS5w
eQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACisjIS91c3IvYmluL2VudiBweXRob24z
CisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHRlbXBmaWxlCitmcm9tIHVybGxpYi5w
YXJzZSBpbXBvcnQgcGFyc2VfcXMKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5Z3dpbicp
Wy0xXQoraHR0cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRo
LmFic3BhdGgob3MucGF0aC5kaXJuYW1lKGZpbGUpKSkpCitzeXMucGF0aC5pbnNlcnQoMCwgaHR0
cF9yb290KQorCitmaWxlbmFtZSA9IHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJ
TkcnLCAnJyksIGtlZXBfYmxhbmtfdmFsdWVzPVRydWUpLmdldCgnZmlsZW5hbWUnLCBbJ3N0YXRl
LnR4dCddKVswXQordG1wRmlsZVBhdGggPSBvcy5wYXRoLmpvaW4odGVtcGZpbGUuZ2V0dGVtcGRp
cigpLCBmaWxlbmFtZSkKKworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L2h0
bWxcclxuXHJcbicpCisKK3N0YXQgPSBvcy5zdGF0KHRtcEZpbGVQYXRoKQoraWYgbm90IHN0YXQ6
CisgICAgc3lzLnN0ZG91dC53cml0ZSgnRkFJTDogc3RhdCgpIGNhbGwgZmFpbGVkLlxuJykKKyAg
ICBzeXMuZXhpdCgwKQorCithdGltZSA9IHN0YXQuc3RfYXRpbWUKK210aW1lID0gc3RhdC5zdF9t
dGltZQordHJ5OgorICAgIG9zLnV0aW1lKHRtcEZpbGVQYXRoLCB0aW1lcz0oYXRpbWUsIG10aW1l
ICsgMSkpCitleGNlcHQ6CisgICAgc3lzLnN0ZG91dC53cml0ZSgnRkFJTDogdG91Y2goKSBjYWxs
IGZhaWxlZC5cbicpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvdG91Y2gtdGVtcC1maWxlLnB5
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZXMvd3JpdGUtdGVtcC1maWxlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VzL3dyaXRlLXRlbXAtZmlsZS5weQkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy93cml0ZS10ZW1wLWZpbGUucHkJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBv
cnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCB0ZW1wZmlsZQorZnJvbSB1cmxsaWIucGFyc2UgaW1w
b3J0IHBhcnNlX3FzCisKK2ZpbGUgPSBfX2ZpbGVfXy5zcGxpdCgnOi9jeWd3aW4nKVstMV0KK2h0
dHBfcm9vdCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRo
KG9zLnBhdGguZGlybmFtZShmaWxlKSkpKQorc3lzLnBhdGguaW5zZXJ0KDAsIGh0dHBfcm9vdCkK
KworcXVlcnkgPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBr
ZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKQorZmlsZW5hbWUgPSBxdWVyeS5nZXQoJ2ZpbGVuYW1lJywg
WydzdGF0ZS50eHQnXSlbMF0KK2RhdGEgPSBxdWVyeS5nZXQoJ2RhdGEnLCBbJyddKVswXQorCit0
bXBGaWxlID0gb3MucGF0aC5qb2luKHRlbXBmaWxlLmdldHRlbXBkaXIoKSwgZmlsZW5hbWUpCitz
eXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJykKKwordHJ5
OgorICAgIGZpbGUgPSBvcGVuKHRtcEZpbGUsICd3JykKKyAgICBmaWxlLndyaXRlKGRhdGEpCisg
ICAgZmlsZS5jbG9zZSgpCitleGNlcHQ6CisgICAgc3lzLnN0ZG91dC53cml0ZShmJ0ZBSUw6IHVu
YWJsZSB0byB3cml0ZSB0byBmaWxlOiB7dG1wRmlsZX1cbicpCisgICAgc3lzLmV4aXQoMCkKKwor
c3lzLnN0ZG91dC53cml0ZShmJ3t0bXBGaWxlfVxuJykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
cy93cml0ZS10ZW1wLWZpbGUucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMg
LTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2NhY2hlYWJsZS1jcm9zcy1vcmlnaW4t
cmVkaXJlY3QtY3Jhc2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L2NhY2hlYWJsZS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtY3Jhc2guaHRt
bAkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9jYWNoZWFibGUtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWNyYXNoLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTYsNyArNiw3IEBACiBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB3ZSBkbyBub3Qg
Y3Jhc2ggd2hlbiBYSFIgcmV1c2VzIGEgY2FjaGVkIHJlc291cmNlIHRoYXQgY29udGFpbnMgYSBz
aW1wbGUgY3Jvc3Mgb3JpZ2luIHJlZGlyZWN0LiIpOwoganNUZXN0SXNBc3luYyA9IHRydWU7CiAK
LWNvbnN0IHVybCA9ICIvY2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3Q/Y29k
ZT0zMDImY2FjaGVfY29udHJvbD1wdWJsaWMsbWF4LWFnZT0xMDAwJnVybD1odHRwJTNBJTJGJTJG
bG9jYWxob3N0JTNBODAwMCUyRnNlY3VyaXR5JTJGcmVzb3VyY2VzJTJGYWxsb3ctaWYtb3JpZ2lu
LnB5JTNGYWxsb3dDYWNoZSUyNmFsbG93Q3JlZGVudGlhbHMlMjZvcmlnaW4lM0RodHRwJTI1M0El
MjUyRiUyNTJGMTI3LjAuMC4xJTI1M0E4MDAwIjsKK2NvbnN0IHVybCA9ICIvY2FjaGUvcmVzb3Vy
Y2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3QucGhwP2NvZGU9MzAyJmNhY2hlX2NvbnRyb2w9cHVi
bGljLG1heC1hZ2U9MTAwMCZ1cmw9aHR0cCUzQSUyRiUyRmxvY2FsaG9zdCUzQTgwMDAlMkZzZWN1
cml0eSUyRnJlc291cmNlcyUyRmFsbG93LWlmLW9yaWdpbi5weSUzRmFsbG93Q2FjaGUlMjZhbGxv
d0NyZWRlbnRpYWxzJTI2b3JpZ2luJTNEaHR0cCUyNTNBJTI1MkYlMjUyRjEyNy4wLjAuMSUyNTNB
ODAwMCI7CiAKIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogeGhyLndpdGhDcmVkZW50aWFs
cyA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9u
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9u
cwkocmV2aXNpb24gMjc0MjkyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBl
Y3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTIzNjgsNyArMjM2OCw3IEBAIGh0dHAvdGVzdHMv
Y2FjaGUvY29udGVudC10eXBlLWlnbm9yZWQtZHUKIGh0dHAvdGVzdHMvY2FjaGUvbWFpbi1yZXNv
dXJjZS0zMDQtcmVsb2FkLmh0bWwgWyBGYWlsdXJlIF0KIGh0dHAvdGVzdHMvY2FjaGUvcGFydGl0
aW9uZWQtY2FjaGUuaHRtbCBbIEZhaWx1cmUgXQogaHR0cC90ZXN0cy9jYWNoZS9wYXJ0aXRpb25l
ZC1jYWNoZS1pZnJhbWUuaHRtbCBbIEZhaWx1cmUgXQotaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJl
ZGlyZWN0LWdldC5waHAgWyBGYWlsdXJlIF0gIyBFYXN5CitodHRwL3Rlc3RzL2NhY2hlL3Bvc3Qt
cmVkaXJlY3QtZ2V0LnB5IFsgRmFpbHVyZSBdICMgRWFzeQogaHR0cC90ZXN0cy9jYW52YXMvY2Fu
dmFzLXNsb3ctZm9udC1sb2FkaW5nLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGh0dHAvdGVz
dHMvY3NzL2Nzcy1pbWFnZS12YWx1ZWQtc2hhcGUuaHRtbCBbIEZhaWx1cmUgXQogaHR0cC90ZXN0
cy9jb29raWVzL3NldC1jb29raWUtb24tcmVkaXJlY3QuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423370</attachid>
            <date>2021-03-16 11:44:58 -0700</date>
            <delta_ts>2021-03-24 08:56:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222935-20210316144456.patch</filename>
            <type>text/plain</type>
            <size>113747</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NDUwMCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDExMyBAQAorMjAyMS0wMy0xNiAgQ2hyaXMgR2FtYnJlbGwg
IDxjZ2FtYnJlbGxAYXBwbGUuY29tPgorCisgICAgICAgIFtMYXlvdXRUZXN0c10gQ29udmVydCBo
dHRwL3Rlc3RzL2NhY2hlIGNvbnZlcnQgUEhQIHRvIFB5dGhvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyOTM1CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS83NTE4MzMxND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvY2FjaGUtcmVkaXJlY3Rpb25zLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9jYWNoZS9jYWNoZWQtbWFpbi1yZXNvdXJjZS5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvY2FjaGVkRW50cnktd2FpdHMtZm9yLXJlc3BvbnNlLXBvbGlj
eS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvY29udGVudC10eXBlLWlnbm9yZWQt
ZHVyaW5nLXJldmFsaWRhdGlvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9kaXNrLWNhY2hlLXJlZGlyZWN0LXRvLWRhdGEuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZW1vdmUtc2V2ZXJhbC1wZW5kaW5n
LXdyaXRlcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZWRp
cmVjdC1jaGFpbi1saW1pdHMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvcmVzb3VyY2VzL2pzb24ucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvanNvbi5weTogQWRkZWQuCisgICAgICAgIChzZW5k
MzA0KToKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL21h
a2Utc2hhMS1jb2xsaXNpb24ucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvbWFrZS1zaGExLWNvbGxpc2lvbi5weTogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1j
aGFpbi5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hl
L3Jlc291cmNlcy9yZWRpcmVjdC1jaGFpbi5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC10by1kYXRhLnBocDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGly
ZWN0LXRvLWRhdGEucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zaGF0dGVyZWQtZGVkdXBsaWNhdGlvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL2NhY2hlYWJsZS1yZWRpcmVj
dC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2
ZS12YWxpZGF0aW9uL2h0dHAtYXV0aC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jYWNoZWFibGUtcmVk
aXJlY3QtZnJhbWUucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jYWNoZWFibGUtcmVkaXJl
Y3QtZnJhbWUucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5waHA6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0
aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2Nzcy10by1yZXZhbGlkYXRlLnB5OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlv
bi9yZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnBocDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFs
aWRhdGlvbi9yZXNvdXJjZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnB5OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUt
dmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tY3NzLnBocDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9y
ZXNvdXJjZXMvcmVkaXJlY3QtdG8tY3NzLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVxdWVz
dC1oZWFkZXJzLXNjcmlwdC5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3JlcXVlc3QtaGVh
ZGVycy1zY3JpcHQucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgu
cGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVj
dWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucHk6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxp
ZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucGhwOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0
aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucHk6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Zh
bGlkYXRpb24tcmVxdWVzdC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvaGlzdG9y
eS1uYXZpZ2F0aW9uLW5vLXJlc291cmNlLXJldmFsaWRhdGlvbi5odG1sOgorICAgICAgICAqIGh0
dHAvdGVzdHMvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
aHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9jYWNoZS9pZnJhbWUtZGV0YWNoLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNo
ZS9saW5rLXByZWZldGNoLW1haW4tcmVzb3VyY2UtaWZyYW1lLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9jYWNoZS9saW5rLXByZWZldGNoLW1haW4tcmVzb3VyY2UuaHRtbDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL2NhY2hlL21haW4tcmVzb3VyY2UtMzA0LXJlbG9hZC5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucGhwOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucHk6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMucGhw
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1z
dWJyZXNvdXJjZXMucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVjdXJz
aXZlLXZhbGlkYXRpb24uaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3JlZGlyZWN0
LXJlZmVyZXIuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3JlbG9hZC1tYWluLXJl
c291cmNlLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3JlbG9hZC1t
YWluLXJlc291cmNlLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9ib2R5LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9ib2R5LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9jYWNoZWFibGUtaWZyYW1lLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRleHQucGhwOiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20t
dGV4dC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZy
YW1lMzA0LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9pZnJhbWUzMDQucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL2lmcmFtZTMwNGJvZHkucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL2lmcmFtZTMwNGJvZHkucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL2xvYWQtYW5kLWNoZWNrLXJlZmVyZXIucGhwOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2xvYWQtYW5kLWNoZWNrLXJlZmVy
ZXIucHk6IEFkZGVkLgorICAgICAgICAoY29udGVudFR5cGUpOgorICAgICAgICAqIGh0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5waHA6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1y
ZXNvdXJjZS1uZXh0LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnB5OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS13aXRoLXZhbGlk
YXRpb24ucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L25vLWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9uZWQtY2FjaGUtZWNoby1zdGF0ZS5waHA6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9uZWQtY2Fj
aGUtZWNoby1zdGF0ZS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNv
dXJjZXMvcGFydGl0aW9uZWQtY2FjaGUtbG9hZGVyLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvcGVybWFuZW50LXJlZGlyZWN0LnB5OiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5waHA6IFJl
bW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcG9zdC1pbWFnZS10
by12ZXJpZnkucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucGhwOiBSZW1vdmVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJh
bWUucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZl
dGNoZWQtbWFpbi1yZXNvdXJjZS5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLnB5OiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1yZWZlcmVyLWlmcmFtZS5o
dG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3JlbG9hZC1tYWluLXJl
c291cmNlLWlmcmFtZS5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9y
ZXNvdXJjZXMvcmVsb2FkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnB5OiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zbG93LWlmcmFtZS5waHA6IFJlbW92ZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc2xvdy1pZnJhbWUucHk6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQtaHRtbC5w
aHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVz
aGVldC1odG1sLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9zdHlsZXNoZWV0MzA0LWJhZC1jb250ZW50LXR5cGUucGhwOiBSZW1vdmVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQtYmFkLWNvbnRlbnQtdHlw
ZS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVz
aGVldDMwNC5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvc3ZnLWRlZnMtdmFyeS5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvc3ZnLWRlZnMtdmFyeS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXJlc3BvbnNlLnBocDogUmVtb3ZlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItcmVz
cG9uc2UucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ho
ci12YXJ5LWhlYWRlci1zdWJmcmFtZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUv
c3R5bGVzaGVldC1zaGFyaW5nLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS92YXJ5
LWZyYW1lbGVzcy1kb2N1bWVudC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUveGhy
LWJvZHkuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3hoci12YXJ5LWhlYWRlci5o
dG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VzL3RvdWNoLXRlbXAtZmlsZS5weTog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZXMvd3JpdGUtdGVtcC1maWxlLnB5
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2NhY2hlYWJsZS1j
cm9zcy1vcmlnaW4tcmVkaXJlY3QtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4v
VGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0wMy0xNiAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBw
bGUuY29tPgogCiAgICAgICAgIFtHUFVQXSBTb21lIHdlYiBhdWRpbyBXUFQgdGVzdHMgZmFpbCB3
aGVuIG1lZGlhIGluIEdQVSBQcm9jZXNzIGlzIGVuYWJsZWQKSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvY2FjaGUtcmVkaXJlY3Rpb25zLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jYWNoZS1yZWRpcmVjdGlvbnMuaHRtbAkocmV2aXNp
b24gMjc0NDkxKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jYWNoZS1yZWRpcmVj
dGlvbnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTUsNyArMTUsNyBAQCB0ZXN0LnN0ZXAoZnVu
Y3Rpb24oKSB7CiAKIHZhciBjb3VudGVyID0gMDsKIHZhciByZXNvdXJjZSA9ICJObyI7Ci12YXIg
YmFzZVVSTCA9ICJyZXNvdXJjZXMvY2FjaGUtY29udHJvbC1yZWRpcmVjdD9jb2RlPTMwMiZ1cmw9
Y2FjaGVhYmxlLXJhbmRvbS10ZXh0LnBocCZyYW5kb21faWQ9MSI7Cit2YXIgYmFzZVVSTCA9ICJy
ZXNvdXJjZXMvY2FjaGUtY29udHJvbC1yZWRpcmVjdC5waHA/Y29kZT0zMDImdXJsPWNhY2hlYWJs
ZS1yYW5kb20tdGV4dC5weSZyYW5kb21faWQ9MSI7CiB2YXIgdGVzdENhc2VzID0gWwoge25hbWUg
OiAiU2hvdWxkIHJldXNlIHJlc291cmNlIChjYWNoZWFibGUgcmVkaXJlY3Rpb24pIiwgZXhwZWN0
ZWQgOiB0cnVlLCB1cmwgOiBiYXNlVVJMICsgIiZjYWNoZV9jb250cm9sPXB1YmxpYywgbWF4LWFn
ZT0xMDAwIiwgcmVsb2FkRGVsYXkgOiAwfSwKIHtuYW1lIDogIlNob3VsZCByZWxvYWQgcmVzb3Vy
Y2UgKG5vLXN0b3JlIHJlZGlyZWN0aW9uKSIsIGV4cGVjdGVkIDogZmFsc2UsIHVybDogYmFzZVVS
TCArICImY2FjaGVfY29udHJvbD1uby1zdG9yZSZtYXhfYWdlPTEwMDAiLCByZWxvYWREZWxheSA6
IDB9LApJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jYWNoZWQtbWFpbi1yZXNv
dXJjZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY2Fj
aGVkLW1haW4tcmVzb3VyY2UuaHRtbAkocmV2aXNpb24gMjc0NDkxKQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9jYWNoZWQtbWFpbi1yZXNvdXJjZS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0xMSw3ICsxMSw3IEBAIGZ1bmN0aW9uIHJlbW92ZUFuZFJlbG9hZCgpCiB7CiAgICAgZG9j
dW1lbnQuYm9keS5yZW1vdmVDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWZyYW1lIikp
OwogICAgIHZhciBuZXdJZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsK
LSAgICBuZXdJZnJhbWUuc3JjID0gInJlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnBocCI7Cisg
ICAgbmV3SWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvY2FjaGVhYmxlLWlmcmFtZS5weSI7CiAgICAg
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChuZXdJZnJhbWUpOwogICAgIHZhciBmcm9tQ2FjaGUg
PSBpbnRlcm5hbHMuaXNMb2FkaW5nRnJvbU1lbW9yeUNhY2hlKG5ld0lmcmFtZS5zcmMpOwogICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVUZXh0Tm9kZShmcm9tQ2FjaGUgPyAiUEFTUyIgOiAiRkFJTCIpKTsKQEAgLTE5LDYgKzE5
LDYgQEAgZnVuY3Rpb24gcmVtb3ZlQW5kUmVsb2FkKCkKICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7CiB9CiA8L3NjcmlwdD4KLTxpZnJhbWUgaWQ9ImlmcmFtZSIgc3JjPSJyZXNvdXJj
ZXMvY2FjaGVhYmxlLWlmcmFtZS5waHAiPjwvaWZyYW1lPgorPGlmcmFtZSBpZD0iaWZyYW1lIiBz
cmM9InJlc291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnB5Ij48L2lmcmFtZT4KIDwvYm9keT4KIDwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY2FjaGVkRW50cnktd2Fp
dHMtZm9yLXJlc3BvbnNlLXBvbGljeS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvY2FjaGVkRW50cnktd2FpdHMtZm9yLXJlc3BvbnNlLXBvbGljeS5odG1s
CShyZXZpc2lvbiAyNzQ0OTEpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2NhY2hl
ZEVudHJ5LXdhaXRzLWZvci1yZXNwb25zZS1wb2xpY3kuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MjAsMTAgKzIwLDEwIEBAIGZ1bmN0aW9uIGNyZWF0ZUZyYW1lKHVybCkgewogICAgIH0pOwogfQog
Ci1jcmVhdGVGcmFtZSgiL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUtcmFuZG9tLXRleHQucGhw
IikudGhlbihmdW5jdGlvbihmcmFtZSkgeworY3JlYXRlRnJhbWUoIi9jYWNoZS9yZXNvdXJjZXMv
Y2FjaGVhYmxlLXJhbmRvbS10ZXh0LnB5IikudGhlbihmdW5jdGlvbihmcmFtZSkgewogICAgIGZy
YW1lLnJlbW92ZSgpOwogICAgIGludGVybmFscy5jbGVhck1lbW9yeUNhY2hlKCk7Ci0gICAgY3Jl
YXRlRnJhbWUoIi9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLXJhbmRvbS10ZXh0LnBocCIpLnRo
ZW4oZnVuY3Rpb24oZnJhbWUpIHsKKyAgICBjcmVhdGVGcmFtZSgiL2NhY2hlL3Jlc291cmNlcy9j
YWNoZWFibGUtcmFuZG9tLXRleHQucHkiKS50aGVuKGZ1bmN0aW9uKGZyYW1lKSB7CiAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwogICAgIH0pOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jb250ZW50
LXR5cGUtaWdub3JlZC1kdXJpbmctcmV2YWxpZGF0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jb250ZW50LXR5cGUtaWdub3JlZC1kdXJpbmctcmV2
YWxpZGF0aW9uLmh0bWwJKHJldmlzaW9uIDI3NDQ5MSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvY29udGVudC10eXBlLWlnbm9yZWQtZHVyaW5nLXJldmFsaWRhdGlvbi5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxo
ZWFkPgotICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2VzL3N0eWxlc2hl
ZXQzMDQtYmFkLWNvbnRlbnQtdHlwZS5waHAiPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0icmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQtYmFkLWNvbnRlbnQtdHlwZS5weSI+CiA8L2hl
YWQ+CiA8Ym9keT4KICAgICA8ZGl2IGlkPSJ0ZXN0Ij5UaGlzIGRpdiBzaG91bGQgaGF2ZSBhIGdy
ZWVuIGJhY2tncm91bmQuPC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2hpc3RvcnktbmF2aWdhdGlvbi1uby1yZXNvdXJjZS1yZXZhbGlkYXRpb24uaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2hpc3RvcnktbmF2aWdhdGlvbi1u
by1yZXNvdXJjZS1yZXZhbGlkYXRpb24uaHRtbAkocmV2aXNpb24gMjc0NDkxKQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9oaXN0b3J5LW5hdmlnYXRpb24tbm8tcmVzb3VyY2UtcmV2
YWxpZGF0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTczLDcgKzczLDcgQEAKIAogICAgIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgICAgIC8vIE9wZW4gdGhlIHRhcmdldCB3aW5kb3cgYW5k
IGl0IHdpbGwgYmVnaW4gdG8gc2VuZCB1cyBtZXNzYWdlcy4KLSAgICAgICAgdGFyZ2V0ID0gd2lu
ZG93Lm9wZW4oJ2h0dHBzOi8vMTI3LjAuMC4xOjg0NDMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hl
LW1haW4tcmVzb3VyY2UucGhwJyk7CisgICAgICAgIHRhcmdldCA9IHdpbmRvdy5vcGVuKCdodHRw
czovLzEyNy4wLjAuMTo4NDQzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNl
LnB5Jyk7CiAgICAgfQogICAgIDwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMjc0NDkxKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9p
ZnJhbWUtMzA0LWNyYXNoLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICsxLDgg
QEAKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBocCAt
IHdpbGxTZW5kUmVxdWVzdCA8TlNVUkxSZXF1ZXN0IFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
Y2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAsIG1haW4gZG9jdW1lbnQgVVJMIGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWwsIGh0dHAgbWV0aG9kIEdF
VD4gcmVkaXJlY3RSZXNwb25zZSAobnVsbCkKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9y
ZXNvdXJjZXMvaWZyYW1lMzA0LnB5IC0gd2lsbFNlbmRSZXF1ZXN0IDxOU1VSTFJlcXVlc3QgVVJM
IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5LCBtYWlu
IGRvY3VtZW50IFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvaWZyYW1lLTMwNC1jcmFz
aC5odG1sLCBodHRwIG1ldGhvZCBHRVQ+IHJlZGlyZWN0UmVzcG9uc2UgKG51bGwpCiBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC5odG1sIC0gZGlkRmluaXNoTG9h
ZGluZwotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucGhw
IC0gZGlkUmVjZWl2ZVJlc3BvbnNlIDxOU1VSTFJlc3BvbnNlIGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBocCwgaHR0cCBzdGF0dXMgY29kZSAyMDA+Ci1o
dHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAgLSBkaWRG
aW5pc2hMb2FkaW5nCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFt
ZTMwNC5waHAgLSB3aWxsU2VuZFJlcXVlc3QgPE5TVVJMUmVxdWVzdCBVUkwgaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucGhwLCBtYWluIGRvY3VtZW50IFVS
TCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvaWZyYW1lLTMwNC1jcmFzaC5odG1sLCBodHRw
IG1ldGhvZCBHRVQ+IHJlZGlyZWN0UmVzcG9uc2UgKG51bGwpCi1odHRwOi8vMTI3LjAuMC4xOjgw
MDAvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5waHAgLSBkaWRSZWNlaXZlUmVzcG9uc2UgPE5T
VVJMUmVzcG9uc2UgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUz
MDQucGhwLCBodHRwIHN0YXR1cyBjb2RlIDMwND4KLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNo
ZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnBocCAtIGRpZEZpbmlzaExvYWRpbmcKK2h0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5IC0gZGlkUmVjZWl2ZVJlc3Bv
bnNlIDxOU1VSTFJlc3BvbnNlIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMv
aWZyYW1lMzA0LnB5LCBodHRwIHN0YXR1cyBjb2RlIDIwMD4KK2h0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5IC0gZGlkRmluaXNoTG9hZGluZworaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucHkgLSB3aWxsU2VuZFJl
cXVlc3QgPE5TVVJMUmVxdWVzdCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291
cmNlcy9pZnJhbWUzMDQucHksIG1haW4gZG9jdW1lbnQgVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWwsIGh0dHAgbWV0aG9kIEdFVD4gcmVkaXJlY3RS
ZXNwb25zZSAobnVsbCkKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZy
YW1lMzA0LnB5IC0gZGlkUmVjZWl2ZVJlc3BvbnNlIDxOU1VSTFJlc3BvbnNlIGh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5LCBodHRwIHN0YXR1cyBjb2Rl
IDMwND4KK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5
IC0gZGlkRmluaXNoTG9hZGluZwogCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2lmcmFtZS0zMDQtY3Jhc2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL2lmcmFtZS0zMDQtY3Jhc2guaHRtbAkocmV2aXNpb24gMjc0NDkxKQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9pZnJhbWUtMzA0LWNyYXNoLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTEwLDcgKzEwLDcgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiBmdW5jdGlv
biByZW1vdmVBbmRSZXBsYWNlSWZyYW1lKCkgewogICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hp
bGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlmcmFtZSIpKTsKICAgICB2YXIgbmV3SWZyYW1l
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgbmV3SWZyYW1lLnNyYyA9
ICJyZXNvdXJjZXMvaWZyYW1lMzA0LnBocCI7CisgICAgbmV3SWZyYW1lLnNyYyA9ICJyZXNvdXJj
ZXMvaWZyYW1lMzA0LnB5IjsKICAgICBuZXdJZnJhbWUub25sb2FkID0gZnVuY3Rpb24oKSB7IHNl
dFRpbWVvdXQoZmluaXNoLCAwKTsgfQogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobmV3
SWZyYW1lKTsKIH0KQEAgLTIyLDYgKzIyLDYgQEAgZnVuY3Rpb24gZmluaXNoKCkgewogPC9zY3Jp
cHQ+CiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQocmVtb3ZlQW5kUmVwbGFjZUlm
cmFtZSwgMCkiPgotPGlmcmFtZSBpZD0iaWZyYW1lIiBzcmM9InJlc291cmNlcy9pZnJhbWUzMDQu
cGhwIj48L2lmcmFtZT4KKzxpZnJhbWUgaWQ9ImlmcmFtZSIgc3JjPSJyZXNvdXJjZXMvaWZyYW1l
MzA0LnB5Ij48L2lmcmFtZT4KIDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvaWZyYW1lLWRldGFjaC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvaWZyYW1lLWRldGFjaC5odG1sCShyZXZpc2lvbiAyNzQ0OTEp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2lmcmFtZS1kZXRhY2guaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMSw3ICsxLDcgQEAKIDxodG1sPgogPGJvZHk+CiA8ZGl2IGlkPSJzaGFk
b3ciPgotPGlmcmFtZSBzcmM9InJlc291cmNlcy9zbG93LWlmcmFtZS5waHAiPjwvaWZyYW1lPgor
PGlmcmFtZSBzcmM9InJlc291cmNlcy9zbG93LWlmcmFtZS5weSI+PC9pZnJhbWU+CiA8L2Rpdj4K
IAogPGRpdiBpZD0iZW1wdHkiPjwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9saW5rLXByZWZldGNoLW1haW4tcmVzb3VyY2UtaWZyYW1lLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9saW5rLXByZWZldGNoLW1haW4tcmVzb3Vy
Y2UtaWZyYW1lLmh0bWwJKHJldmlzaW9uIDI3NDQ5MSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvbGluay1wcmVmZXRjaC1tYWluLXJlc291cmNlLWlmcmFtZS5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0yMiw3ICsyMiw3IEBAIGZ1bmN0aW9uIGlmcmFtZUxvYWRGaW5pc2hlZCgpCiBm
dW5jdGlvbiBsb2FkQWZ0ZXJQcmVmZXRjaCgpCiB7CiAgICAgdmFyIG5ld0lmcmFtZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIG5ld0lmcmFtZS5zcmMgPSAiaHR0cDov
L2xvY2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2Ut
aWZyYW1lLnBocCI7CisgICAgbmV3SWZyYW1lLnNyYyA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAv
Y2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucHkiOwogICAg
IG5ld0lmcmFtZS5vbmxvYWQgPSBpZnJhbWVMb2FkRmluaXNoZWQ7CiAgICAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChuZXdJZnJhbWUpOwogfQpAQCAtMzUsNyArMzUsNyBAQCB3aW5kb3cub25t
ZXNzYWdlID0gZnVuY3Rpb24obWVzc2FnZSkKIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgdmFy
IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7CiAgICAgbGluay5yZWwgPSAi
cHJlZmV0Y2giOwotICAgIGxpbmsuaHJlZiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY2FjaGUv
cmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucGhwIjsKKyAgICBsaW5r
LmhyZWYgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVk
LW1haW4tcmVzb3VyY2UtaWZyYW1lLnB5IjsKICAgICBpZiAoaW50ZXJuYWxzKQogICAgICAgICBp
bnRlcm5hbHMuYWRkUHJlZmV0Y2hMb2FkRXZlbnRMaXN0ZW5lcihsaW5rLCAoKSA9PiB7IGxvYWRB
ZnRlclByZWZldGNoKCk7IH0pOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2xpbmstcHJlZmV0Y2gtbWFpbi1y
ZXNvdXJjZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
bGluay1wcmVmZXRjaC1tYWluLXJlc291cmNlLmh0bWwJKHJldmlzaW9uIDI3NDQ5MSkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvbGluay1wcmVmZXRjaC1tYWluLXJlc291cmNlLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTcsMTMgKzcsMTMgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7CiAKIGZ1bmN0aW9uIGxvYWRBZnRlclByZWZldGNoKCkKIHsKLSAgICAgd2luZG93LmxvY2F0
aW9uLmFzc2lnbignaHR0cDovL2xvY2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRj
aGVkLW1haW4tcmVzb3VyY2UucGhwJyk7CisgICAgIHdpbmRvdy5sb2NhdGlvbi5hc3NpZ24oJ2h0
dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291
cmNlLnB5Jyk7CiB9CiAKIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgdmFyIGxpbmsgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7CiAgICAgbGluay5yZWwgPSAicHJlZmV0Y2giOwot
ICAgIGxpbmsuaHJlZiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvY2FjaGUvcmVzb3VyY2VzL3By
ZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5waHAiOworICAgIGxpbmsuaHJlZiA9ICJodHRwOi8vbG9j
YWxob3N0OjgwMDAvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5weSI7
CiAgICAgaWYgKGludGVybmFscykKICAgICAgICAgaW50ZXJuYWxzLmFkZFByZWZldGNoTG9hZEV2
ZW50TGlzdGVuZXIobGluaywgKCkgPT4geyBsb2FkQWZ0ZXJQcmVmZXRjaCgpOyB9KTsKICAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9tYWluLXJlc291cmNlLTMwNC1yZWxvYWQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL21haW4tcmVzb3VyY2UtMzA0LXJlbG9hZC5odG1s
CShyZXZpc2lvbiAyNzQ0OTEpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL21haW4t
cmVzb3VyY2UtMzA0LXJlbG9hZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMSw3ICsxMSw3IEBA
IGZ1bmN0aW9uIGxvYWRGcmFtZShvbmxvYWQpCiAgICAgaWYgKGlmcmFtZSkKICAgICAgICAgZG9j
dW1lbnQuYm9keS5yZW1vdmVDaGlsZChpZnJhbWUpOwogICAgIGlmcmFtZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIGlmcmFtZS5zcmMgPSAicmVzb3VyY2VzL2lmcmFt
ZTMwNGJvZHkucGhwIjsKKyAgICBpZnJhbWUuc3JjID0gInJlc291cmNlcy9pZnJhbWUzMDRib2R5
LnB5IjsKICAgICBpZnJhbWUub25sb2FkID0gb25sb2FkOwogICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoaWZyYW1lKTsKIH0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cG9zdC1yZWRpcmVjdC1nZXQucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucGhwCShyZXZpc2lvbiAyNzQ0OTEpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LnBocAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDYwICswLDAgQEAKLTw/cGhwCi1yZXF1aXJlX29uY2UgJy4uL3Jlc291cmNlcy9w
b3J0YWJpbGl0eUxheWVyLnBocCc7Ci0KLS8vIFRoaXMgdGVzdCBsb2FkcyBhbiB1bmNhY2hlYWJs
ZSBtYWluIHJlc291cmNlIGFuZCBhIGNhY2hlYWJsZSBpbWFnZSBzdWJyZXNvdXJjZS4KLS8vIFdl
IHRoZW4gdHJpZ2dlciBhIFBPU1QgcmVxdWVzdCwgd2hpY2ggcmVkaXJlY3RzIGFzIGEgR0VUIGJh
Y2sgdG8gdGhpcyBwYWdlLgotLy8gT24gdGhpcyBHRVQgcmVxdWVzdCwgdGhlIGltYWdlIHNob3Vs
ZCBiZSBsb2FkZWQgZnJvbSB0aGUgY2FjaGUgYW5kIG5vIEhUVFAKLS8vIHJlcXVlc3Qgc2hvdWxk
IGJlIHNlbnQuIFRoZSBpbWFnZSByZXNvdXJjZSB3aWxsIHJldHVybiA0MDQgaWYgaXQgcmVjZWl2
ZXMKLS8vIGEgc2Vjb25kIHJlcXVlc3QsIHdoaWNoIHdpbGwgY2F1c2UgdXMgdG8gRkFJTC4KLS8v
IFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg2OTAKLWhlYWRl
cignQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUsIG5vLXN0b3JlLCBtdXN0LXJldmFsaWRhdGUsIG1h
eC1hZ2U9MCcpOwotaGVhZGVyKCdQcmFnbWE6IG5vLWNhY2hlJyk7Ci1oZWFkZXIoJ0V4cGlyZXM6
ICcgLiBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCktMSkpOwotCi1pZiAoJF9QT1NUWyJzdWJt
aXQiXSA9PSAicmVkaXJlY3QiKSB7Ci0gICAgaGVhZGVyKCdIVFRQLzEuMSAzMDIgRm91bmQnKTsK
LSAgICBoZWFkZXIoJ0xvY2F0aW9uOiBwb3N0LXJlZGlyZWN0LWdldC5waHA/ZmluaXNoPXRydWUn
KTsKLSAgICBleGl0KCk7Ci19Ci0/PgotPGh0bWw+Ci08Ym9keT4KLTxkaXYgaWQ9InJlc3VsdCI+
PC9kaXY+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci19Ci0gICAg
Ci1mdW5jdGlvbiBsb2dBbmRGaW5pc2gobWVzc2FnZSkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicmVzdWx0IikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobWVz
c2FnZSkpOwotICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7Ci0gICAgeGhyLm9wZW4o
IkdFVCIsICIuLi9yZXNvdXJjZXMvcmVzZXQtdGVtcC1maWxlLnBocD9maWxlbmFtZT1jYWNoZV9w
b3N0LXJlZGlyZWN0LWdldF9zdGF0ZSIsIGZhbHNlKTsKLSAgICB4aHIuc2VuZChudWxsKTsKLSAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OwotfQotPC9zY3JpcHQ+Ci08P3BocAotY2xlYXJzdGF0Y2FjaGUoKTsKLWlmICgkX0dFVFsiZmlu
aXNoIl0gPT0gInRydWUiKSB7Ci0gICAgLy8gVGhlIGluaXRpYWwgbG9hZCBvZiB0aGUgaW1hZ2Ug
bWlnaHQgaGF2ZSBiZWVuIGRvbmUgZnJvbSB0aGUgY2FjaGUuIEluIHRoYXQgY2FzZSwgdG91Y2gg
dGhlCi0gICAgLy8gc3RhdGUgZmlsZSB0byBpbmRpY2F0ZSBhIGxvYWQgaGFzIGFscmVhZHkgb2Nj
dXJyZWQuCi0gICAgaWYgKCFmaWxlX2V4aXN0cyhzeXNfZ2V0X3RlbXBfZGlyKCkgLiAiL2NhY2hl
X3Bvc3QtcmVkaXJlY3QtZ2V0X3N0YXRlIikpIHsKLSAgICAgICAgZWNobyAiPHNjcmlwdD4iOwot
ICAgICAgICBlY2hvICJ4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7IjsKLSAgICAgICAgZWNobyAi
eGhyLm9wZW4oJ0dFVCcsICcuLi9yZXNvdXJjZXMvdG91Y2gtdGVtcC1maWxlLnBocD9maWxlbmFt
ZT1jYWNoZV9wb3N0LXJlZGlyZWN0LWdldF9zdGF0ZScsIGZhbHNlKTsiOwotICAgICAgICBlY2hv
ICJ4aHIuc2VuZChudWxsKTsiOwotICAgICAgICBlY2hvICI8L3NjcmlwdD4iOwotICAgIH0KLSAg
ICBlY2hvICI8aW1nIHNyYz0ncmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnBocD90ZXN0
PWNhY2hlX3Bvc3QtcmVkaXJlY3QtZ2V0JyBvbmxvYWQ9XCJsb2dBbmRGaW5pc2goJ1BBU1MnKTtc
IiBvbmVycm9yPVwibG9nQW5kRmluaXNoKCdGQUlMJyk7XCI+PC9pbWc+IjsKLX0gZWxzZSB7Ci0g
ICAgZWNobyAiPGZvcm0gYWN0aW9uPSdwb3N0LXJlZGlyZWN0LWdldC5waHAnIG1ldGhvZD0ncG9z
dCc+IjsKLSAgICBlY2hvICI8aW5wdXQgdHlwZT0nc3VibWl0JyBpZD0nc3VibWl0JyBuYW1lPSdz
dWJtaXQnIHZhbHVlPSdyZWRpcmVjdCc+IjsKLSAgICBlY2hvICI8L2Zvcm0+IjsKLSAgICBlY2hv
ICI8aW1nIHNyYz0ncmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnBocD90ZXN0PWNhY2hl
X3Bvc3QtcmVkaXJlY3QtZ2V0JyBvbmxvYWQ9XCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3Vi
bWl0JykuY2xpY2soKTtcIiBvbmVycm9yPVwibG9nQW5kRmluaXNoKCdGQUlMIG9uIGluaXRpYWwg
bG9hZCcpO1wiPjwvaW1nPiI7Ci19IAotPz4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucHkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC5weQkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3Qt
Z2V0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODkgQEAKKyMhL3Vzci9iaW4vZW52IHB5
dGhvbjMKKworaW1wb3J0IGNnaQoraW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgdGVtcGZp
bGUKK2Zyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lZGVsdGEKK2Zyb20gdXJsbGli
LnBhcnNlIGltcG9ydCBwYXJzZV9xcworCisjIFRoaXMgdGVzdCBsb2FkcyBhbiB1bmNhY2hlYWJs
ZSBtYWluIHJlc291cmNlIGFuZCBhIGNhY2hlYWJsZSBpbWFnZSBzdWJyZXNvdXJjZS4KKyMgV2Ug
dGhlbiB0cmlnZ2VyIGEgUE9TVCByZXF1ZXN0LCB3aGljaCByZWRpcmVjdHMgYXMgYSBHRVQgYmFj
ayB0byB0aGlzIHBhZ2UuCisjIE9uIHRoaXMgR0VUIHJlcXVlc3QsIHRoZSBpbWFnZSBzaG91bGQg
YmUgbG9hZGVkIGZyb20gdGhlIGNhY2hlIGFuZCBubyBIVFRQCisjIHJlcXVlc3Qgc2hvdWxkIGJl
IHNlbnQuIFRoZSBpbWFnZSByZXNvdXJjZSB3aWxsIHJldHVybiA0MDQgaWYgaXQgcmVjZWl2ZXMK
KyMgYSBzZWNvbmQgcmVxdWVzdCwgd2hpY2ggd2lsbCBjYXVzZSB1cyB0byBGQUlMLgorIyBTZWUg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4NjkwCisKK2ZpbGUgPSBf
X2ZpbGVfXy5zcGxpdCgnOi9jeWd3aW4nKVstMV0KK2h0dHBfcm9vdCA9IG9zLnBhdGguZGlybmFt
ZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShmaWxlKSkp
KQorCityZXF1ZXN0X21ldGhvZCA9IG9zLmVudmlyb24uZ2V0KCdSRVFVRVNUX01FVEhPRCcsICcn
KQorZXhwaXJlcyA9ICd7fSArMDAwMCcuZm9ybWF0KChkYXRldGltZS51dGNub3coKSAtIHRpbWVk
ZWx0YShzZWNvbmRzPTEpKS5zdHJmdGltZSgnJWEsICVkICViICVZICVIOiVNOiVTJykpCitmaW5p
c2ggPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2Js
YW5rX3ZhbHVlcz1UcnVlKS5nZXQoJ2ZpbmlzaCcsIFsnJ10pWzBdCisKK3JlcXVlc3QgPSB7fQor
aWYgcmVxdWVzdF9tZXRob2QgPT0gJ1BPU1QnOgorICAgIGZvcm0gPSBjZ2kuRmllbGRTdG9yYWdl
KCkKKyAgICBmb3Iga2V5IGluIHNvcnRlZChmb3JtLmtleXMoKSk6CisgICAgICAgIHJlcXVlc3Rb
a2V5XSA9IGZvcm0uZ2V0dmFsdWUoa2V5KQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdDYWNo
ZS1Db250cm9sOiBuby1jYWNoZSwgbm8tc3RvcmUsIG11c3QtcmV2YWxpZGF0ZSwgbWF4LWFnZT0w
XHJcbicKKyAgICAnUHJhZ21hOiBuby1jYWNoZVxyXG4nCisgICAgZidFeHBpcmVzOiB7ZXhwaXJl
c31cclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nCispCisKK2lmIHJlcXVl
c3QuZ2V0KCdzdWJtaXQnLCAnJykgPT0gJ3JlZGlyZWN0JzoKKyAgICBzeXMuc3Rkb3V0LndyaXRl
KAorICAgICAgICAnc3RhdHVzOiAzMDJcclxuJworICAgICAgICAnTG9jYXRpb246IHBvc3QtcmVk
aXJlY3QtZ2V0LnB5P2ZpbmlzaD10cnVlXHJcblxyXG4nCisgICAgKQorICAgIHN5cy5leGl0KDAp
CisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ1xyXG4nCisgICAgJzxodG1sPlxuJworICAgICc8
Ym9keT5cbicKKyAgICAnPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj5cbicKKyAgICAnPHNjcmlwdD5c
bicKKyAgICAnaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7XG4nCisgICAgJyAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTtcbicKKyAgICAnICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpO1xu
JworICAgICd9XG4nCisgICAgJyAgICBcbicKKyAgICAnZnVuY3Rpb24gbG9nQW5kRmluaXNoKG1l
c3NhZ2UpXG4nCisgICAgJ3tcbicKKyAgICAnICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJy
ZXN1bHQiKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtZXNzYWdlKSk7XG4n
CisgICAgJyAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0O1xuJworICAgICcgICAgeGhy
Lm9wZW4oIkdFVCIsICIuLi9yZXNvdXJjZXMvcmVzZXQtdGVtcC1maWxlLnB5P2ZpbGVuYW1lPWNh
Y2hlX3Bvc3QtcmVkaXJlY3QtZ2V0X3N0YXRlIiwgZmFsc2UpO1xuJworICAgICcgICAgeGhyLnNl
bmQobnVsbCk7XG4nCisgICAgJyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpXG4nCisgICAgJyAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7XG4nCisgICAgJ31cbicKKyAgICAnPC9zY3Jp
cHQ+XG4nCispCisKK2lmIGZpbmlzaCA9PSAndHJ1ZSc6CisgICAgdG1wRmlsZSA9IG9zLnBhdGgu
am9pbih0ZW1wZmlsZS5nZXR0ZW1wZGlyKCksICdjYWNoZV9wb3N0LXJlZGlyZWN0LWdldF9zdGF0
ZScpCisgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKHRtcEZpbGUpOgorICAgICAgICBzeXMuc3Rk
b3V0LndyaXRlKAorICAgICAgICAgICAgJzxzY3JpcHQ+JworICAgICAgICAgICAgJ3hociA9IG5l
dyBYTUxIdHRwUmVxdWVzdDsnCisgICAgICAgICAgICAneGhyLm9wZW4oXCdHRVRcJywgXCcuLi9y
ZXNvdXJjZXMvdG91Y2gtdGVtcC1maWxlLnB5P2ZpbGVuYW1lPWNhY2hlX3Bvc3QtcmVkaXJlY3Qt
Z2V0X3N0YXRlXCcsIGZhbHNlKTsnCisgICAgICAgICAgICAneGhyLnNlbmQobnVsbCk7JworICAg
ICAgICAgICAgJzwvc2NyaXB0PicKKyAgICAgICAgKQorICAgIHN5cy5zdGRvdXQud3JpdGUoJzxp
bWcgc3JjPVwncmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnB5P3Rlc3Q9Y2FjaGVfcG9z
dC1yZWRpcmVjdC1nZXRcJyBvbmxvYWQ9ImxvZ0FuZEZpbmlzaChcJ1BBU1NcJyk7IiBvbmVycm9y
PSJsb2dBbmRGaW5pc2goXCdGQUlMXCcpOyI+PC9pbWc+JykKK2Vsc2U6CisgICAgc3lzLnN0ZG91
dC53cml0ZSgKKyAgICAgICAgJzxmb3JtIGFjdGlvbj1cJ3Bvc3QtcmVkaXJlY3QtZ2V0LnB5XCcg
bWV0aG9kPVwncG9zdFwnPicKKyAgICAgICAgJzxpbnB1dCB0eXBlPVwnc3VibWl0XCcgaWQ9XCdz
dWJtaXRcJyBuYW1lPVwnc3VibWl0XCcgdmFsdWU9XCdyZWRpcmVjdFwnPicKKyAgICAgICAgJzwv
Zm9ybT4nCisgICAgICAgICc8aW1nIHNyYz1cJ3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlm
eS5weT90ZXN0PWNhY2hlX3Bvc3QtcmVkaXJlY3QtZ2V0XCcgb25sb2FkPSJkb2N1bWVudC5nZXRF
bGVtZW50QnlJZChcJ3N1Ym1pdFwnKS5jbGljaygpOyIgb25lcnJvcj0ibG9nQW5kRmluaXNoKFwn
RkFJTCBvbiBpbml0aWFsIGxvYWRcJyk7Ij48L2ltZz4nCisgICAgKQorCitzeXMuc3Rkb3V0Lndy
aXRlKAorICAgICc8L2JvZHk+XG4nCisgICAgJzwvaHRtbD5cbicKKykKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRh
YmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291
cmNlcy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0
LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy5waHAJKHJldmlzaW9uIDI3NDQ5MSkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMucGhw
CShub25leGlzdGVudCkKQEAgLTEsNTQgKzAsMCBAQAotPD9waHAKLXJlcXVpcmVfb25jZSAnLi4v
cmVzb3VyY2VzL3BvcnRhYmlsaXR5TGF5ZXIucGhwJzsKLQotLy8gVGhpcyB0ZXN0IGxvYWRzIGFu
IHVuY2FjaGVhYmxlIG1haW4gcmVzb3VyY2UgYW5kIGEgY2FjaGVhYmxlIGltYWdlIHN1YnJlc291
cmNlLgotLy8gV2UgcmVxdWVzdCB0aGlzIHBhZ2UgYXMgYSBHRVQsIHRoZW4gcmVsb2FkIHRoaXMg
cGFnZSB3aXRoIGEgUE9TVC4KLS8vIE9uIHRoZSBwb3N0IHJlcXVlc3QsIHRoZSBpbWFnZSBzaG91
bGQgYmUgbG9hZGVkIGZyb20gdGhlIGNhY2hlIGFuZCBubyBIVFRQCi0vLyByZXF1ZXN0IHNob3Vs
ZCBiZSBzZW50LiBUaGUgaW1hZ2UgcmVzb3VyY2Ugd2lsbCByZXR1cm4gNDA0IGlmIGl0IHJlY2Vp
dmVzCi0vLyBhIHNlY29uZCByZXF1ZXN0LCB3aGljaCB3aWxsIGNhdXNlIHVzIHRvIEZBSUwuCi0v
LyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4NjkwCi1oZWFk
ZXIoJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBuby1zdG9yZSwgbXVzdC1yZXZhbGlkYXRlLCBt
YXgtYWdlPTAnKTsKLWhlYWRlcignUHJhZ21hOiBuby1jYWNoZScpOwotaGVhZGVyKCdFeHBpcmVz
OiAnIC4gZ21kYXRlKERBVEVfUkZDMTEyMywgdGltZSgpLTEpKTsKLT8+Ci08aHRtbD4KLTxib2R5
PgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKLX0KLSAgICAKLWZ1bmN0aW9uIGxvZ0FuZEZpbmlzaChtZXNzYWdlKQotewot
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVUZXh0Tm9kZShtZXNzYWdlKSk7Ci0gICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVx
dWVzdDsKLSAgICB4aHIub3BlbigiR0VUIiwgIi4uL3Jlc291cmNlcy9yZXNldC10ZW1wLWZpbGUu
cGhwP2ZpbGVuYW1lPWNhY2hlX3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzX3N0YXRlIiwg
ZmFsc2UpOwotICAgIHhoci5zZW5kKG51bGwpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19Ci08L3NjcmlwdD4KLTw/cGhwCi1j
bGVhcnN0YXRjYWNoZSgpOwotaWYgKCRfUE9TVFsic3VibWl0Il0gPT0gImZpbmlzaCIpIHsKLSAg
ICAvLyBUaGUgaW5pdGlhbCBsb2FkIG9mIHRoZSBpbWFnZSBtaWdodCBoYXZlIGJlZW4gZG9uZSBm
cm9tIHRoZSBjYWNoZS4gSW4gdGhhdCBjYXNlLCB0b3VjaCB0aGUKLSAgICAvLyBzdGF0ZSBmaWxl
IHRvIGluZGljYXRlIGEgbG9hZCBoYXMgYWxyZWFkeSBvY2N1cnJlZC4KLSAgICBpZiAoIWZpbGVf
ZXhpc3RzKHN5c19nZXRfdGVtcF9kaXIoKSAuICIvY2FjaGVfcG9zdC13aXRoLWNhY2hlZC1zdWJy
ZXNvdXJjZXNfc3RhdGUiKSkgewotICAgICAgICBlY2hvICI8c2NyaXB0PiI7Ci0gICAgICAgIGVj
aG8gInhociA9IG5ldyBYTUxIdHRwUmVxdWVzdDsiOwotICAgICAgICBlY2hvICJ4aHIub3Blbign
R0VUJywgJy4uL3Jlc291cmNlcy90b3VjaC10ZW1wLWZpbGUucGhwP2ZpbGVuYW1lPWNhY2hlX3Bv
c3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzX3N0YXRlJywgZmFsc2UpOyI7Ci0gICAgICAgIGVj
aG8gInhoci5zZW5kKG51bGwpOyI7Ci0gICAgICAgIGVjaG8gIjwvc2NyaXB0PiI7Ci0gICAgfQot
ICAgIGVjaG8gIjxpbWcgc3JjPSdyZXNvdXJjZXMvcG9zdC1pbWFnZS10by12ZXJpZnkucGhwP3Rl
c3Q9Y2FjaGVfcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMnIG9ubG9hZD1cImxvZ0FuZEZp
bmlzaCgnUEFTUycpO1wiIG9uZXJyb3I9XCJsb2dBbmRGaW5pc2goJ0ZBSUwnKTtcIj48L2ltZz4i
OwotfSBlbHNlIHsKLSAgICBlY2hvICI8Zm9ybSBhY3Rpb249J3Bvc3Qtd2l0aC1jYWNoZWQtc3Vi
cmVzb3VyY2VzLnBocCcgbWV0aG9kPSdwb3N0Jz4iOwotICAgIGVjaG8gIjxpbnB1dCB0eXBlPSdz
dWJtaXQnIGlkPSdzdWJtaXQnIG5hbWU9J3N1Ym1pdCcgdmFsdWU9J2ZpbmlzaCc+IjsKLSAgICBl
Y2hvICI8L2Zvcm0+IjsKLSAgICBlY2hvICI8aW1nIHNyYz0ncmVzb3VyY2VzL3Bvc3QtaW1hZ2Ut
dG8tdmVyaWZ5LnBocD90ZXN0PWNhY2hlX3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzJyBv
bmxvYWQ9XCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3VibWl0JykuY2xpY2soKTtcIiBvbmVy
cm9yPVwibG9nQW5kRmluaXNoKCdGQUlMIG9uIGluaXRpYWwgbG9hZCcpO1wiPjwvaW1nPiI7Ci19
IAotPz4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy5weQko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1j
YWNoZWQtc3VicmVzb3VyY2VzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODAgQEAKKyMh
L3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IGNnaQoraW1wb3J0IG9zCitpbXBvcnQgc3lz
CitpbXBvcnQgdGVtcGZpbGUKK2Zyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lZGVs
dGEKKworIyBUaGlzIHRlc3QgbG9hZHMgYW4gdW5jYWNoZWFibGUgbWFpbiByZXNvdXJjZSBhbmQg
YSBjYWNoZWFibGUgaW1hZ2Ugc3VicmVzb3VyY2UuCisjIFdlIHJlcXVlc3QgdGhpcyBwYWdlIGFz
IGEgR0VULCB0aGVuIHJlbG9hZCB0aGlzIHBhZ2Ugd2l0aCBhIFBPU1QuCisjIE9uIHRoZSBwb3N0
IHJlcXVlc3QsIHRoZSBpbWFnZSBzaG91bGQgYmUgbG9hZGVkIGZyb20gdGhlIGNhY2hlIGFuZCBu
byBIVFRQCisjIHJlcXVlc3Qgc2hvdWxkIGJlIHNlbnQuIFRoZSBpbWFnZSByZXNvdXJjZSB3aWxs
IHJldHVybiA0MDQgaWYgaXQgcmVjZWl2ZXMKKyMgYSBzZWNvbmQgcmVxdWVzdCwgd2hpY2ggd2ls
bCBjYXVzZSB1cyB0byBGQUlMLgorIyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTM4NjkwCisKK2ZpbGUgPSBfX2ZpbGVfXy5zcGxpdCgnOi9jeWd3aW4nKVstMV0K
K2h0dHBfcm9vdCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNw
YXRoKG9zLnBhdGguZGlybmFtZShmaWxlKSkpKQorCityZXF1ZXN0X21ldGhvZCA9IG9zLmVudmly
b24uZ2V0KCdSRVFVRVNUX01FVEhPRCcsICcnKQorZXhwX3RpbWUgPSBkYXRldGltZS51dGNub3co
KSAtIHRpbWVkZWx0YShzZWNvbmRzPTEpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NhY2hl
LUNvbnRyb2w6IG5vLWNhY2hlLCBuby1zdG9yZSwgbXVzdC1yZXZhbGlkYXRlLCBtYXgtYWdlPTBc
clxuJworICAgICdQcmFnbWE6IG5vLWNhY2hlXHJcbicKKyAgICAnRXhwaXJlczoge30gKzAwMDBc
clxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJy5mb3JtYXQoZXhwX3Rp
bWUuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorKQorCitzeXMuc3Rkb3V0Lndy
aXRlKAorICAgICc8aHRtbD5cbicKKyAgICAnPGJvZHk+XG4nCisgICAgJzxkaXYgaWQ9InJlc3Vs
dCI+PC9kaXY+XG4nCisgICAgJzxzY3JpcHQ+XG4nCisgICAgJ2lmICh3aW5kb3cudGVzdFJ1bm5l
cikge1xuJworICAgICcgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7XG4nCisgICAgJyAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTtcbicKKyAgICAnfVxuJworICAgICcgICAgXG4nCisg
ICAgJ2Z1bmN0aW9uIGxvZ0FuZEZpbmlzaChtZXNzYWdlKVxuJworICAgICd7XG4nCisgICAgJyAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlVGV4dE5vZGUobWVzc2FnZSkpO1xuJworICAgICcgICAgdmFyIHhociA9IG5ldyBYTUxI
dHRwUmVxdWVzdDtcbicKKyAgICAnICAgIHhoci5vcGVuKCJHRVQiLCAiLi4vcmVzb3VyY2VzL3Jl
c2V0LXRlbXAtZmlsZS5weT9maWxlbmFtZT1jYWNoZV9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291
cmNlc19zdGF0ZSIsIGZhbHNlKTtcbicKKyAgICAnICAgIHhoci5zZW5kKG51bGwpO1xuJworICAg
ICcgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKVxuJworICAgICcgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpO1xuJworICAgICd9XG4nCisgICAgJzwvc2NyaXB0PlxuJworKQorCityZXF1
ZXN0ID0ge30KK2lmIHJlcXVlc3RfbWV0aG9kID09ICdQT1NUJzoKKyAgICBmb3JtID0gY2dpLkZp
ZWxkU3RvcmFnZSgpCisgICAgZm9yIGtleSBpbiBzb3J0ZWQoZm9ybS5rZXlzKCkpOgorICAgICAg
ICByZXF1ZXN0W2tleV0gPSBmb3JtLmdldHZhbHVlKGtleSkKKworaWYgcmVxdWVzdC5nZXQoJ3N1
Ym1pdCcsICcnKSA9PSAnZmluaXNoJzoKKyAgICB0bXBGaWxlUGF0aCA9IG9zLnBhdGguam9pbih0
ZW1wZmlsZS5nZXR0ZW1wZGlyKCksICdjYWNoZV9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNl
c19zdGF0ZScpCisgICAgaWYgb3MucGF0aC5leGlzdHModG1wRmlsZVBhdGgpOgorICAgICAgICBz
eXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAgICAgJzxzY3JpcHQ+JworICAgICAgICAgICAgJ3ho
ciA9IG5ldyBYTUxIdHRwUmVxdWVzdDsnCisgICAgICAgICAgICAneGhyLm9wZW4oXCdHRVRcJywg
XCcuLi9yZXNvdXJjZXMvdG91Y2gtdGVtcC1maWxlLnB5P2ZpbGVuYW1lPWNhY2hlX3Bvc3Qtd2l0
aC1jYWNoZWQtc3VicmVzb3VyY2VzX3N0YXRlXCcsIGZhbHNlKTsnCisgICAgICAgICAgICAneGhy
LnNlbmQobnVsbCk7JworICAgICAgICAgICAgJzwvc2NyaXB0PicKKyAgICAgICAgKQorCisgICAg
c3lzLnN0ZG91dC53cml0ZSgnPGltZyBzcmM9XCdyZXNvdXJjZXMvcG9zdC1pbWFnZS10by12ZXJp
ZnkucHk/dGVzdD1jYWNoZV9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlc1wnIG9ubG9hZD0i
bG9nQW5kRmluaXNoKFwnUEFTU1wnKTsiIG9uZXJyb3I9ImxvZ0FuZEZpbmlzaChcJ0ZBSUxcJyk7
Ij48L2ltZz4nKQorZWxzZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnPGZvcm0g
YWN0aW9uPVwncG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMucHlcJyBtZXRob2Q9XCdwb3N0
XCc+JworICAgICAgICAnPGlucHV0IHR5cGU9XCdzdWJtaXRcJyBpZD1cJ3N1Ym1pdFwnIG5hbWU9
XCdzdWJtaXRcJyB2YWx1ZT1cJ2ZpbmlzaFwnPicKKyAgICAgICAgJzwvZm9ybT4nCisgICAgICAg
ICc8aW1nIHNyYz1cJ3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5weT90ZXN0PWNhY2hl
X3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzXCcgb25sb2FkPVwiZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoXCdzdWJtaXRcJykuY2xpY2soKTtcIiBvbmVycm9yPVwibG9nQW5kRmluaXNoKFwn
RkFJTCBvbiBpbml0aWFsIGxvYWRcJyk7XCI+PC9pbWc+JworICAgICkKKworc3lzLnN0ZG91dC53
cml0ZSgKKyAgICAnPC9ib2R5PlxuJworICAgICc8L2h0bWw+XG4nCispClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy5weQpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVjdXJzaXZlLXZh
bGlkYXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3JlY3Vyc2l2ZS12YWxpZGF0aW9uLmh0bWwJKHJldmlzaW9uIDI3NDQ5MSkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVjdXJzaXZlLXZhbGlkYXRpb24uaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtNiw3ICs2LDcgQEAgZGVzY3JpcHRpb24oIlRlc3QgdGhhdCByZWN1cnNpdmVseSBs
b2FkaQogCiBmdW5jdGlvbiBsb2FkKGNvbXBsZXRpb24pIHsKICAgICB2YXIgeGhyID0gbmV3IFhN
TEh0dHBSZXF1ZXN0KCk7Ci0gICAgeGhyLm9wZW4oJ0dFVCcsICJyZXNvdXJjZXMvbm8tY2FjaGUt
d2l0aC12YWxpZGF0aW9uLnBocCIpOworICAgIHhoci5vcGVuKCdHRVQnLCAicmVzb3VyY2VzL25v
LWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5weSIpOwogICAgIHhoci5vbmxvYWQgPSBjb21wbGV0aW9u
OwogICAgIHhoci5zZW5kKCk7CiB9CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3JlZGlyZWN0LXJlZmVyZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3JlZGlyZWN0LXJlZmVyZXIuaHRtbAkocmV2aXNpb24gMjc0NDkxKQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZWRpcmVjdC1yZWZlcmVyLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNyArMSw3IEBACiA8Ym9keT4KIDxzY3JpcHQ+CiB2YXIgcm5kID0gTWF0aC5m
bG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDAwMDAwMDAwMDAwMCk7Ci12YXIgaWZyYW1lU3JjID0g
InJlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucGhwP2xvY2F0aW9uPXJlZGlyZWN0LXJlZmVy
ZXItaWZyYW1lLmh0bWwmcm5kPSIgKyBybmQ7Cit2YXIgaWZyYW1lU3JjID0gInJlc291cmNlcy9w
ZXJtYW5lbnQtcmVkaXJlY3QucHk/bG9jYXRpb249cmVkaXJlY3QtcmVmZXJlci1pZnJhbWUuaHRt
bCZybmQ9IiArIHJuZDsKIAogdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlm
cmFtZSIpOwogaWZyYW1lLnNyYyA9IGlmcmFtZVNyYzsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVsb2FkLW1haW4tcmVzb3VyY2UucGhwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVsb2FkLW1haW4tcmVzb3VyY2UucGhwCShyZXZpc2lv
biAyNzQ0OTEpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3JlbG9hZC1tYWluLXJl
c291cmNlLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDI3ICswLDAgQEAKLTw/cGhwCi1yZXF1aXJl
X29uY2UgJy4uL3Jlc291cmNlcy9wb3J0YWJpbGl0eUxheWVyLnBocCc7Ci1jbGVhcnN0YXRjYWNo
ZSgpOwotaWYgKGZpbGVfZXhpc3RzKHN5c19nZXRfdGVtcF9kaXIoKSAuICIvY2FjaGUtcmVsb2Fk
LW1haW4tcmVzb3VyY2UudG1wIikpCi0gICAgdW5saW5rKHN5c19nZXRfdGVtcF9kaXIoKSAuICIv
Y2FjaGUtcmVsb2FkLW1haW4tcmVzb3VyY2UudG1wIik7Ci0/PgotCi08Ym9keT4KLTxkaXYgaWQ9
InJlc3VsdCI+PC9kaXY+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
Ci19Ci0KLWZ1bmN0aW9uIHJlbG9hZElmcmFtZSgpIHsKLSAgICB3aW5kb3cuZnJhbWVzWzBdLmxv
Y2F0aW9uLnJlbG9hZCgpOwotfQotCi1mdW5jdGlvbiBmaW5pc2goKSB7Ci0gICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVyVGV4dCA9ICJQQVNTIjsKLSAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfQotPC9z
Y3JpcHQ+Ci08aWZyYW1lIHNyYz0icmVzb3VyY2VzL3JlbG9hZC1tYWluLXJlc291cmNlLWlmcmFt
ZS5waHAiIG9ubG9hZD0icmVsb2FkSWZyYW1lKCk7Ij48L2lmcmFtZT4KLTwvYm9keT4KSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVsb2FkLW1haW4tcmVzb3VyY2UucHkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZWxvYWQtbWFpbi1yZXNv
dXJjZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
bG9hZC1tYWluLXJlc291cmNlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzYgQEAKKyMh
L3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgdGVt
cGZpbGUKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5Z3dpbicpWy0xXQoraHR0cF9yb290
ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgob3MucGF0
aC5kaXJuYW1lKGZpbGUpKSkpCisKK3RtcEZpbGUgPSBvcy5wYXRoLmpvaW4odGVtcGZpbGUuZ2V0
dGVtcGRpcigpLCAnY2FjaGUtcmVsb2FkLW1haW4tcmVzb3VyY2UudG1wJykKK2lmIG9zLnBhdGgu
aXNmaWxlKHRtcEZpbGUpOgorICAgIG9zLnJlbW92ZSh0bXBGaWxlKQorCitzeXMuc3Rkb3V0Lndy
aXRlKAorICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworICAgICc8Ym9keT5c
bicKKyAgICAnPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj5cbicKKyAgICAnPHNjcmlwdD5cbicKKyAg
ICAnaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7XG4nCisgICAgJyAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTtcbicKKyAgICAnICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpO1xuJworICAg
ICd9XG4nCisgICAgJ1xuJworICAgICdmdW5jdGlvbiByZWxvYWRJZnJhbWUoKSB7XG4nCisgICAg
JyAgICB3aW5kb3cuZnJhbWVzWzBdLmxvY2F0aW9uLnJlbG9hZCgpO1xuJworICAgICd9XG4nCisg
ICAgJ1xuJworICAgICdmdW5jdGlvbiBmaW5pc2goKSB7XG4nCisgICAgJyAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJUZXh0ID0gIlBBU1MiO1xuJworICAgICcgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKVxuJworICAgICcgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpO1xuJworICAgICd9XG4nCisgICAgJzwvc2NyaXB0PlxuJworICAgICc8aWZyYW1lIHNy
Yz0icmVzb3VyY2VzL3JlbG9hZC1tYWluLXJlc291cmNlLWlmcmFtZS5weSIgb25sb2FkPSJyZWxv
YWRJZnJhbWUoKTsiPjwvaWZyYW1lPlxuJworICAgICc8L2JvZHk+XG4nCispClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9yZWxvYWQtbWFpbi1yZXNvdXJjZS5weQpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvc3R5bGVzaGVldC1zaGFyaW5n
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9zdHlsZXNo
ZWV0LXNoYXJpbmcuaHRtbAkocmV2aXNpb24gMjc0NDkxKQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9zdHlsZXNoZWV0LXNoYXJpbmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTYs
NyArMTYsNyBAQCBmdW5jdGlvbiB3YWl0Rm9yU3R5bGVzaGVldChpZnJhbWUsIGNvbXBsCiBmdW5j
dGlvbiBsb2FkKHNyYywgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgdmFyIGlmcmFtZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIGlmcmFtZS5zcmMgPSAicmVzb3Vy
Y2VzL3N0eWxlc2hlZXQtaHRtbC5waHA/c2hlZXQ9IiArIHNyYzsKKyAgICBpZnJhbWUuc3JjID0g
InJlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwucHk/c2hlZXQ9IiArIHNyYzsKICAgICBpZnJhbWUu
b25sb2FkID0gZnVuY3Rpb24gKCkgewogICAgICAgICBpZnJhbWUuY29udGVudERvY3VtZW50LmJv
ZHkub2Zmc2V0V2lkdGg7CiAgICAgICAgIHdhaXRGb3JTdHlsZXNoZWV0KGlmcmFtZSwgY29tcGxl
dGlvbkhhbmRsZXIpOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS92YXJ5LWZy
YW1lbGVzcy1kb2N1bWVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvdmFyeS1mcmFtZWxlc3MtZG9jdW1lbnQuaHRtbAkocmV2aXNpb24gMjc0NDkxKQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS92YXJ5LWZyYW1lbGVzcy1kb2N1bWVudC5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCi12YXIgc3ZnRG9jdW1lbnRTdHJpbmcg
PSAnPHN2Zz48dXNlIHg9IjUwIiB5PSIxMCIgeGxpbms6aHJlZj0icmVzb3VyY2VzL3N2Zy1kZWZz
LXZhcnkucGhwI2NpcmNsZSIgLz48L3N2Zz4nOwordmFyIHN2Z0RvY3VtZW50U3RyaW5nID0gJzxz
dmc+PHVzZSB4PSI1MCIgeT0iMTAiIHhsaW5rOmhyZWY9InJlc291cmNlcy9zdmctZGVmcy12YXJ5
LnB5I2NpcmNsZSIgLz48L3N2Zz4nOwogZnVuY3Rpb24gbWFrZURvY3VtZW50KCkgewogICAgIHZh
ciBkb2MgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoJycpOwog
ICAgIGRvYy5vcGVuKCk7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3hoci1i
b2R5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS94aHIt
Ym9keS5odG1sCShyZXZpc2lvbiAyNzQ0OTEpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3hoci1ib2R5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE4LDcgKzE4LDcgQEAgZnVuY3Rp
b24gdGVzdCgpIHsKICAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlv
bigpIHsgbG9nKCJsb2FkIik7IHJlcGVhdCgpOyB9LCBmYWxzZSk7CiAgICAgcmVxdWVzdC5hZGRF
dmVudExpc3RlbmVyKCJlcnJvciIsIGZ1bmN0aW9uKCkgeyBsb2coImVycm9yIik7IHJlcGVhdCgp
OyB9LCBmYWxzZSk7CiAgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsIGZ1bmN0
aW9uKCkgeyBsb2coImFib3J0Iik7IHJlcGVhdCgpOyB9LCBmYWxzZSk7Ci0gICAgcmVxdWVzdC5v
cGVuKCJHRVQiLCAicmVzb3VyY2VzL2JvZHkucGhwIiwgdHJ1ZSk7CisgICAgcmVxdWVzdC5vcGVu
KCJHRVQiLCAicmVzb3VyY2VzL2JvZHkucHkiLCB0cnVlKTsKICAgICByZXF1ZXN0LnNlbmQoKTsK
IH0KIApAQCAtMzYsNyArMzYsNyBAQCBmdW5jdGlvbiByZXBlYXQoKSB7CiAgICAgc2Vjb25kUmVx
dWVzdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7IHNlY29uZFJlcXVlc3RG
aW5pc2hlZCgpOyB9LCBmYWxzZSk7CiAgICAgc2Vjb25kUmVxdWVzdC5hZGRFdmVudExpc3RlbmVy
KCJlcnJvciIsIGZ1bmN0aW9uKCkgeyBsb2coImVycm9yIik7IGVuZCgpOyB9LCBmYWxzZSk7CiAg
ICAgc2Vjb25kUmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsIGZ1bmN0aW9uKCkgeyBs
b2coImFib3J0Iik7IGVuZCgpOyB9LCBmYWxzZSk7Ci0gICAgc2Vjb25kUmVxdWVzdC5vcGVuKCJQ
T1NUIiwgInJlc291cmNlcy9ib2R5LnBocCIsIHRydWUpOworICAgIHNlY29uZFJlcXVlc3Qub3Bl
bigiUE9TVCIsICJyZXNvdXJjZXMvYm9keS5weSIsIHRydWUpOwogICAgIHNlY29uZFJlcXVlc3Qu
c2VuZCgiVGhpcyBodHRwIGJvZHkgc2hvdWxkIGJlIHZpc2libGUiKTsKIH0KIApJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS94aHItdmFyeS1oZWFkZXIuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3hoci12YXJ5LWhlYWRlci5odG1sCShy
ZXZpc2lvbiAyNzQ0OTEpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3hoci12YXJ5
LWhlYWRlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMiw3ICsxMiw3IEBAIHZhciB0ZXN0U3Rl
cCA9IDE7CiBmdW5jdGlvbiB0ZXN0Q3Jvc3NPcmlnaW4oKQogewogICAgIHZhciByZXEgPSBuZXcg
WE1MSHR0cFJlcXVlc3Q7Ci0gICAgcmVxLm9wZW4oImdldCIsICJodHRwOi8vbG9jYWxob3N0Ojgw
MDAvY2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25zZS5waHAiKTsKKyAgICBy
ZXEub3BlbigiZ2V0IiwgImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMveGhy
LXZhcnktaGVhZGVyLXJlc3BvbnNlLnB5Iik7CiAgICAgcmVxLm9ubG9hZD1mdW5jdGlvbigpIHsg
cmVjZWl2ZWRSZXNwb25zZShyZXEucmVzcG9uc2VUZXh0KSB9CiAgICAgcmVxLnNlbmQoKTsKIH0K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hl
LXJlZGlyZWN0LXRvLWRhdGEuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZWRpcmVjdC10by1kYXRhLmh0bWwJKHJl
dmlzaW9uIDI3NDQ5MSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9kaXNrLWNhY2hlLXJlZGlyZWN0LXRvLWRhdGEuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw1
ICsxLDUgQEAKIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9cmVzb3VyY2VzL3JlZGlyZWN0LXRvLWRhdGEucGhwPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL3JlZGlyZWN0LXRvLWRhdGEucHk+PC9zY3Jp
cHQ+CiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBIVFRQIHJlZGlyZWN0IHRvIGEg
ZGF0YSBVUkwgZG9lcyBub3QgY3Jhc2ggb3IgYXNzZXJ0IGluIHRoZSBuZXR3b3JrIHByb2Nlc3Mu
Iik7CiBzaG91bGRCZVRydWUoInN1Y2Nlc3MiKTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hlLXJlbW92ZS1zZXZlcmFsLXBlbmRpbmctd3Jp
dGVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNr
LWNhY2hlL2Rpc2stY2FjaGUtcmVtb3ZlLXNldmVyYWwtcGVuZGluZy13cml0ZXMuaHRtbAkocmV2
aXNpb24gMjc0NDkxKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hl
L2Rpc2stY2FjaGUtcmVtb3ZlLXNldmVyYWwtcGVuZGluZy13cml0ZXMuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMjIsNyArMjIsNyBAQCBmdW5jdGlvbiBmZXRjaCh1cmwpIHsKIAogZnVuY3Rpb24g
ZmV0Y2hSZXNvdXJjZSgpIHsKICAgaW50ZXJuYWxzLmNsZWFyTWVtb3J5Q2FjaGUoKTsKLSAgcmV0
dXJuIGZldGNoKCdyZXNvdXJjZXMvanNvbi5waHA/aWQ9JyArIGlkKS50aGVuKGZ1bmN0aW9uIChy
ZXNwKSB7CisgIHJldHVybiBmZXRjaCgncmVzb3VyY2VzL2pzb24ucHk/aWQ9JyArIGlkKS50aGVu
KGZ1bmN0aW9uIChyZXNwKSB7CiAgICAgaWYgKHJlc3AuYm9keS52ZXJzaW9uID09PSAyKSB7CiAg
ICAgICBidWdSZXByb2R1Y2VkID0gZmFsc2U7CiAgICAgfQpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3JlZGlyZWN0LWNoYWluLWxpbWl0cy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZWRpcmVj
dC1jaGFpbi1saW1pdHMuaHRtbAkocmV2aXNpb24gMjc0NDkxKQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3JlZGlyZWN0LWNoYWluLWxpbWl0cy5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC05LDcgKzksNyBAQCBmdW5jdGlvbiByZWRpcmVjdENoYWluKGxlbmd0aCwg
dW5pcXVlSWQsCiB7CiAgICAgaW50ZXJuYWxzLmNsZWFyTWVtb3J5Q2FjaGUoKQogCi0gICAgdmFy
IHVybCA9ICJyZXNvdXJjZXMvcmVkaXJlY3QtY2hhaW4ucGhwP2xlbmd0aD0iICsgbGVuZ3RoICsg
IiZ1bmlxdWVJZD0iICsgdW5pcXVlSWQ7CisgICAgdmFyIHVybCA9ICJyZXNvdXJjZXMvcmVkaXJl
Y3QtY2hhaW4ucHk/bGVuZ3RoPSIgKyBsZW5ndGggKyAiJnVuaXF1ZUlkPSIgKyB1bmlxdWVJZDsK
IAogICAgIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgIHhoci5vbmxvYWQgPSBvbmxv
YWQ7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc2hhdHRl
cmVkLWRlZHVwbGljYXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL2Rpc2stY2FjaGUvc2hhdHRlcmVkLWRlZHVwbGljYXRpb24uaHRtbAkocmV2aXNp
b24gMjc0NDkxKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3No
YXR0ZXJlZC1kZWR1cGxpY2F0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTUsNyArNSw3IEBA
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKIAogZnVuY3Rpb24gbWFrZUNvbGxpc2lvbihmaWxlKQog
ewotICAgIHJldHVybiAicmVzb3VyY2VzL21ha2Utc2hhMS1jb2xsaXNpb24ucGhwP3BhdGg9IiAr
IGZpbGU7CisgICAgcmV0dXJuICJyZXNvdXJjZXMvbWFrZS1zaGExLWNvbGxpc2lvbi5weT9wYXRo
PSIgKyBmaWxlOwogfQogCiBmdW5jdGlvbiBhZGRJbWFnZUZyYW1lKHNyYywgdGltZW91dCkKSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvanNv
bi5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNh
Y2hlL3Jlc291cmNlcy9qc29uLnBocAkocmV2aXNpb24gMjc0NDkxKQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9qc29uLnBocAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDQyICswLDAgQEAKLTw/cGhwCi0KLWZ1bmN0aW9uIHNlbmQzMDQoKQotewotICAg
IGhlYWRlcigiSFRUUC8xLjEgMzA0IE5vdCBNb2RpZmllZCIpOwotICAgIGhlYWRlcigiRVRhZzog
Zm9vIik7Ci19Ci0KLSRpZCA9ICRfR0VUWyJpZCJdOwotJGNvdW50ID0gMTsKLWlmIChpc3NldCgk
X0NPT0tJRVskaWRdKSkgewotICAgICRjb3VudCA9ICRfQ09PS0lFWyRpZF07Ci19Ci0KLXNldGNv
b2tpZSgkaWQsICRjb3VudCArIDEpOwotCi1pZiAoJGNvdW50ID09IDEpIHsKLSAgICBoZWFkZXIo
IkNhY2hlLUNvbnRyb2w6IG11c3QtcmV2YWxpZGF0ZSIpOwotICAgIGhlYWRlcigiRVRhZzogZm9v
Iik7Ci0gICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24iKTsKLSAgICBl
Y2hvICd7InZlcnNpb24iOiAxfSc7Ci19IGVsc2UgaWYgKCRjb3VudCA9PSAyKSB7Ci0gICAgc2Vu
ZDMwNCgpOwotfSBlbHNlIGlmICgkY291bnQgPT0gMykgewotICAgIGhlYWRlcigiSFRUUC8xLjEg
NDA0IE5vdCBGb3VuZCIpOwotICAgIGhlYWRlcigiQ2FjaGUtQ29udHJvbDogbXVzdC1yZXZhbGlk
YXRlIik7Ci0gICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24iKTsKLSAg
ICBlY2hvICd7Im5vdCI6ICJmb3VuZCJ9JzsKLX0gZWxzZSBpZiAoJGNvdW50ID09IDQpIHsKLSAg
ICBpZiAoJF9TRVJWRVJbIkhUVFBfSUZfTk9ORV9NQVRDSCJdID09ICJmb28iKSB7Ci0gICAgICAg
IHNlbmQzMDQoKTsKLSAgICB9IGVsc2UgewotICAgICAgICBoZWFkZXIoIkNhY2hlLUNvbnRyb2w6
IG11c3QtcmV2YWxpZGF0ZSIpOwotICAgICAgICBoZWFkZXIoIkVUYWc6IGZvbyIpOwotICAgICAg
ICBoZWFkZXIoIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiIpOwotICAgICAgICBlY2hv
ICd7InZlcnNpb24iOiAyfSc7Ci0gICAgfQotfSBlbHNlIHsKLSAgICBzZW5kMzA0KCk7Ci19Ci0K
LT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3Vy
Y2VzL2pzb24ucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9k
aXNrLWNhY2hlL3Jlc291cmNlcy9qc29uLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvanNvbi5weQkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDU1IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBv
cworaW1wb3J0IHN5cworZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNlX3FzCisKK2RlZiBz
ZW5kMzA0KCk6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ0NvbnRlbnQtVHlwZTog
dGV4dC9odG1sXHJcbicKKyAgICAgICAgJ3N0YXR1czogMzA0XHJcbicKKyAgICAgICAgJ0VUYWc6
IGZvb1xyXG5cclxuJworICAgICkKKworaWRlbnQgPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgn
UVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKS5nZXQoJ2lkJywgWycn
XSlbMF0KK2Nvb2tpZXMgPSB7fQoraWYgJ0hUVFBfQ09PS0lFJyBpbiBvcy5lbnZpcm9uOgorICAg
IGhlYWRlcl9jb29raWVzID0gb3MuZW52aXJvblsnSFRUUF9DT09LSUUnXQorICAgIGhlYWRlcl9j
b29raWVzID0gaGVhZGVyX2Nvb2tpZXMuc3BsaXQoJzsgJykKKworICAgIGZvciBjb29raWUgaW4g
aGVhZGVyX2Nvb2tpZXM6CisgICAgICAgIGNvb2tpZSA9IGNvb2tpZS5zcGxpdCgnPScpCisgICAg
ICAgIGNvb2tpZXNbY29va2llWzBdXSA9IGNvb2tpZVsxXQorCitjb3VudCA9IDEKK2lmIGNvb2tp
ZXMuZ2V0KGlkZW50LCBOb25lKToKKyAgICBjb3VudCA9IGludChjb29raWVzLmdldChpZGVudCwg
MCkpCisKK3N5cy5zdGRvdXQud3JpdGUoZidTZXQtQ29va2llOiB7aWRlbnR9PXtjb3VudCArIDF9
XHJcbicpCisKK2lmIGNvdW50ID09IDE6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAg
J0NhY2hlLUNvbnRyb2w6IG11c3QtcmV2YWxpZGF0ZVxyXG4nCisgICAgICAgICdFVGFnOiBmb29c
clxuJworICAgICAgICAnQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uXHJcblxyXG4nCisg
ICAgICAgICd7InZlcnNpb24iOiAxfScKKyAgICApCitlbGlmIGNvdW50ID09IDM6CisgICAgc3lz
LnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ3N0YXR1czogNDA0XHJcbicKKyAgICAgICAgJ0NhY2hl
LUNvbnRyb2w6IG11c3QtcmV2YWxpZGF0ZVxyXG4nCisgICAgICAgICdDb250ZW50LVR5cGU6IGFw
cGxpY2F0aW9uL2pzb25cclxuXHJcbicKKyAgICAgICAgJ3sibm90IjogImZvdW5kIn0nCisgICAg
KQorZWxpZiBjb3VudCA9PSA0OgorICAgIGlmIG9zLmVudmlyb24uZ2V0KCdIVFRQX0lGX05PTkVf
TUFUQ0gnLCAnJykgPT0gJ2Zvbyc6CisgICAgICAgIHNlbmQzMDQoKQorICAgIGVsc2U6CisgICAg
ICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICAgICAnQ2FjaGUtQ29udHJvbDogbXVzdC1y
ZXZhbGlkYXRlXHJcbicKKyAgICAgICAgICAgICdFVGFnOiBmb29cclxuJworICAgICAgICAgICAg
J0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvblxyXG5cclxuJworICAgICAgICAgICAgJ3si
dmVyc2lvbiI6IDJ9JworICAgICAgICApCitlbHNlOgorICAgIHNlbmQzMDQoKQpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvanNvbi5weQpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9y
ZXNvdXJjZXMvbWFrZS1zaGExLWNvbGxpc2lvbi5waHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9tYWtlLXNoYTEtY29sbGlz
aW9uLnBocAkocmV2aXNpb24gMjc0NDkxKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9tYWtlLXNoYTEtY29sbGlzaW9uLnBocAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDkgKzAsMCBAQAotPD8KLSRwYXRoID0gJF9HRVRbJ3BhdGgnXTsKLWhlYWRlcign
SFRUUC8xLjEgMjAwIE9LJyk7Ci1oZWFkZXIoIkNhY2hlLWNvbnRyb2w6IG1heC1hZ2U9MTAwMDAi
KTsKLWhlYWRlcigiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9wZGYiKTsKLSRjb250ZW50ID0g
ZmlsZV9nZXRfY29udGVudHMoJHBhdGgpOwotJGNvbGxpZGluZ0NvbnRlbnQgPSBzdHJfcmVwbGFj
ZSgiU1ZOIGlzIHRoZSBiZXN0ISIsICJTSEEtMSBpcyBkZWFkISEhIiwgJGNvbnRlbnQpOwotZWNo
byAkY29sbGlkaW5nQ29udGVudDsKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL21ha2Utc2hhMS1jb2xsaXNpb24ucHkKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9t
YWtlLXNoYTEtY29sbGlzaW9uLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvbWFrZS1zaGExLWNvbGxpc2lvbi5weQko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE3IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisK
K2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNlX3Fz
CisKK3BhdGggPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBr
ZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKS5nZXQoJ3BhdGgnLCBbJyddKVswXQorCitzeXMuc3Rkb3V0
LndyaXRlKAorICAgICdzdGF0dXM6IDIwMFxyXG4nCisgICAgJ0NhY2hlLWNvbnRyb2w6IG1heC1h
Z2U9MTAwMDBcclxuJworICAgICdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3BkZlxyXG5cclxu
JworKQorCitzeXMuc3Rkb3V0LmZsdXNoKCkKK3dpdGggb3Blbihvcy5wYXRoLmpvaW4oJy8nLmpv
aW4oX19maWxlX18uc3BsaXQoJy8nKVswOi0xXSksIHBhdGgpLCAncmInKSBhcyBmaWxlOgorICAg
IHN5cy5zdGRvdXQuYnVmZmVyLndyaXRlKGZpbGUucmVhZCgpLnJlcGxhY2UoYidTVk4gaXMgdGhl
IGJlc3QhJywgYidTSEEtMSBpcyBkZWFkISEhJykpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNr
LWNhY2hlL3Jlc291cmNlcy9tYWtlLXNoYTEtY29sbGlzaW9uLnB5Cl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jl
c291cmNlcy9yZWRpcmVjdC1jaGFpbi5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1jaGFpbi5waHAJKHJl
dmlzaW9uIDI3NDQ5MSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9yZXNvdXJjZXMvcmVkaXJlY3QtY2hhaW4ucGhwCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAs
MCBAQAotPD8KLSRsZW5ndGggPSAkX0dFVFsnbGVuZ3RoJ107Ci1pZiAoJGxlbmd0aCA9PSAwKSB7
Ci0gICAgaGVhZGVyKCdTdGF0dXM6IDIwMCcpOwotICAgIGhlYWRlcignQ2FjaGUtQ29udHJvbDog
bWF4LWFnZT0xMDAnKTsKLSAgICBleGl0KCk7Ci19Ci0kbGVuZ3RoID0gJGxlbmd0aCAtIDE7Ci0K
LWhlYWRlcignU3RhdHVzOiAzMDInKTsKLWhlYWRlcignQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0x
MDAnKTsKLWhlYWRlcignTG9jYXRpb246IHJlZGlyZWN0LWNoYWluLnBocD9sZW5ndGg9JyAuICRs
ZW5ndGggLiAnJnVuaXF1ZUlkPScgLiAkX0dFVFsndW5pcXVlSWQnXSAuICcmcmFuZG9tPScgLiBy
YW5kKCkpOwotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9yZXNvdXJjZXMvcmVkaXJlY3QtY2hhaW4ucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC1jaGFpbi5weQko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUv
cmVzb3VyY2VzL3JlZGlyZWN0LWNoYWluLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjUg
QEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitmcm9t
IHJhbmRvbSBpbXBvcnQgcmFuZGludAorZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNlX3Fz
CisKK3F1ZXJ5ID0gcGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklORycsICcnKSwg
a2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkKK2xlbmd0aCA9IGludChxdWVyeS5nZXQoJ2xlbmd0aCcs
IFswXSlbMF0pCit1bmlxdWVfaWQgPSBxdWVyeS5nZXQoJ3VuaXF1ZUlkJywgWycnXSlbMF0KKwor
c3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0xMDBcclxuJwor
ICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nCispCisKK2lmIGxlbmd0aCA9PSAwOgor
ICAgIHN5cy5zdGRvdXQud3JpdGUoJ3N0YXR1czogMjAwXHJcblxyXG4nKQorICAgIHN5cy5leGl0
KDApCisKK2xlbmd0aCAtPSAxCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdzdGF0dXM6IDMwMlxy
XG4nCisgICAgZidMb2NhdGlvbjogcmVkaXJlY3QtY2hhaW4ucHk/bGVuZ3RoPXtsZW5ndGh9JnVu
aXF1ZUlkPXt1bmlxdWVfaWR9JnJhbmRvbT17cmFuZGludCgwLCBzeXMubWF4c2l6ZSl9XHJcblxy
XG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVj
dC1jaGFpbi5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMj
CisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tZGF0YS5waHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jl
c291cmNlcy9yZWRpcmVjdC10by1kYXRhLnBocAkocmV2aXNpb24gMjc0NDkxKQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC10by1k
YXRhLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotPD8KLWhlYWRlcignU3RhdHVz
OiAzMDEgTW92ZWQgUGVybWFuZW50bHknKTsKLWhlYWRlcignTG9jYXRpb246IGRhdGE6YXBwbGlj
YXRpb24vamF2YXNjcmlwdCxzdWNjZXNzPXRydWU7Jyk7Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9yZWRpcmVjdC10by1kYXRhLnB5
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9y
ZXNvdXJjZXMvcmVkaXJlY3QtdG8tZGF0YS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWRhdGEu
cHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw5IEBACisjIS91c3IvYmluL2VudiBweXRob24z
CisKK2ltcG9ydCBzeXMKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnc3RhdHVzOiAzMDFcclxu
JworICAgICdMb2NhdGlvbjogZGF0YTphcHBsaWNhdGlvbi9qYXZhc2NyaXB0LHN1Y2Nlc3M9dHJ1
ZTtcclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworKQpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tZGF0YS5weQpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL2NhY2hlYWJsZS1yZWRpcmVjdC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL2NhY2hlYWJsZS1yZWRpcmVjdC5odG1sCShyZXZpc2lv
biAyNzQ0OTEpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3Bl
Y3VsYXRpdmUtdmFsaWRhdGlvbi9jYWNoZWFibGUtcmVkaXJlY3QuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMTYsNyArMTYsNyBAQCBmdW5jdGlvbiBmcmFtZUxvYWRlZCgpCiAgICAgICAgIC8vIE5h
dmlnYXRlIGZyYW1lIHRvIGl0cyBvcmlnaW5hbCBsb2NhdGlvbiBhZ2Fpbi4gVGhpcyB0aW1lIGl0
IHNob3VsZCBzcGVjdWxhdGl2ZWx5CiAgICAgICAgIC8vIHZhbGlkYXRlIHN1YnJlc291cmNlcyBh
cyB3ZSBoYXZlIHN1YnJlc291cmNlIGxvYWRzIG1ldGFkYXRhIGluIHRoZSBkaXNrIGNhY2hlLgog
ICAgICAgICBzdGF0ZSA9ICJzcGVjdWxhdGl2ZVJldmFsaWRhdGlvbiI7Ci0gICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RnJhbWUiKS5zcmMgPSAicmVzb3VyY2VzL2NhY2hlYWJs
ZS1yZWRpcmVjdC1mcmFtZS5waHAiOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGVzdEZyYW1lIikuc3JjID0gInJlc291cmNlcy9jYWNoZWFibGUtcmVkaXJlY3QtZnJhbWUucHki
OwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlmIChzdGF0ZSA9PSAic3BlY3VsYXRpdmVS
ZXZhbGlkYXRpb24iKSB7CkBAIC0yOCw1ICsyOCw1IEBAIGZ1bmN0aW9uIGZyYW1lTG9hZGVkKCkK
IH0KIAogPC9zY3JpcHQ+Ci08aWZyYW1lIGlkPSJ0ZXN0RnJhbWUiIHNyYz0icmVzb3VyY2VzL2Nh
Y2hlYWJsZS1yZWRpcmVjdC1mcmFtZS5waHAiIG9ubG9hZD0iZnJhbWVMb2FkZWQoKSI+PC9pZnJh
bWU+Cis8aWZyYW1lIGlkPSJ0ZXN0RnJhbWUiIHNyYz0icmVzb3VyY2VzL2NhY2hlYWJsZS1yZWRp
cmVjdC1mcmFtZS5weSIgb25sb2FkPSJmcmFtZUxvYWRlZCgpIj48L2lmcmFtZT4KIDxzY3JpcHQg
c3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxp
ZGF0aW9uL2h0dHAtYXV0aC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL2h0dHAtYXV0aC5odG1s
CShyZXZpc2lvbiAyNzQ0OTEpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9odHRwLWF1dGguaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMTIsNyArMTIsNyBAQCBzdGF0ZSA9ICJ3YXJtdXAiOwogZnVuY3Rpb24gY2xlYXJDcmVk
ZW50aWFsU3RvcmFnZSgpCiB7CiAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Ci0gICAg
eGhyLm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvcmVzb3VyY2Utd2l0aC1hdXRoLnBocD9vdGhlciIs
IGZhbHNlLCAiYmFkVXNlcm5hbWUiLCAiYmFkUGFzc3dvcmQiKTsKKyAgICB4aHIub3BlbigiR0VU
IiwgInJlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucHk/b3RoZXIiLCBmYWxzZSwgImJhZFVz
ZXJuYW1lIiwgImJhZFBhc3N3b3JkIik7CiAgICAgeGhyLnNlbmQoKTsKICAgICBzaG91bGRCZSgi
eGhyLnN0YXR1cyIsICI0MDEiKTsKIH0KQEAgLTM1LDcgKzM1LDcgQEAgZnVuY3Rpb24gZnJhbWVM
b2FkZWQoKQogICAgICAgICAvLyBOYXZpZ2F0ZSBmcmFtZSB0byBpdHMgb3JpZ2luYWwgbG9jYXRp
b24gYWdhaW4uIFRoaXMgdGltZSBpdCBzaG91bGQgc3BlY3VsYXRpdmVseQogICAgICAgICAvLyB2
YWxpZGF0ZSBzdWJyZXNvdXJjZXMgYXMgd2UgaGF2ZSBzdWJyZXNvdXJjZSBsb2FkcyBtZXRhZGF0
YSBpbiB0aGUgZGlzayBjYWNoZS4KICAgICAgICAgc3RhdGUgPSAic3BlY3VsYXRpdmVSZXZhbGlk
YXRpb24iOwotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdEZyYW1lIikuc3Jj
ID0gInJlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRpY2F0ZWQtcmVzb3VyY2UucGhwIjsKKyAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RGcmFtZSIpLnNyYyA9ICJyZXNvdXJj
ZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnB5IjsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KICAgICBpZiAoc3RhdGUgPT0gInNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uIikgewpA
QCAtNDcsNSArNDcsNSBAQCBmdW5jdGlvbiBmcmFtZUxvYWRlZCgpCiB9CiAKIDwvc2NyaXB0Pgot
PGlmcmFtZSBpZD0idGVzdEZyYW1lIiBzcmM9InJlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRp
Y2F0ZWQtcmVzb3VyY2UucGhwIiBvbmxvYWQ9ImZyYW1lTG9hZGVkKCkiPjwvaWZyYW1lPgorPGlm
cmFtZSBpZD0idGVzdEZyYW1lIiBzcmM9InJlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRpY2F0
ZWQtcmVzb3VyY2UucHkiIG9ubG9hZD0iZnJhbWVMb2FkZWQoKSI+PC9pZnJhbWU+CiA8c2NyaXB0
IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFs
aWRhdGlvbi92YWxpZGF0aW9uLXJlcXVlc3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi92YWxp
ZGF0aW9uLXJlcXVlc3QuaHRtbAkocmV2aXNpb24gMjc0NDkxKQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vdmFsaWRhdGlv
bi1yZXF1ZXN0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAgZnVuY3Rpb24g
ZnJhbWVMb2FkZWQoKQogICAgICAgICAvLyBOYXZpZ2F0ZSBmcmFtZSB0byBpdHMgb3JpZ2luYWwg
bG9jYXRpb24gYWdhaW4uIFRoaXMgdGltZSBpdCBzaG91bGQgc3BlY3VsYXRpdmVseQogICAgICAg
ICAvLyB2YWxpZGF0ZSBzdWJyZXNvdXJjZXMgYXMgd2UgaGF2ZSBzdWJyZXNvdXJjZSBsb2FkcyBt
ZXRhZGF0YSBpbiB0aGUgZGlzayBjYWNoZS4KICAgICAgICAgc3RhdGUgPSAic3BlY3VsYXRpdmVS
ZXZhbGlkYXRpb24iOwotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdEZyYW1l
Iikuc3JjID0gInJlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucGhwIjsKKyAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RGcmFtZSIpLnNyYyA9ICJyZXNvdXJjZXMv
dmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1lLnB5IjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAg
ICBpZiAoc3RhdGUgPT0gInNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uIikgewpAQCAtNTAsNSArNTAs
NSBAQCBmdW5jdGlvbiBmcmFtZUxvYWRlZCgpCiB9CiAKIDwvc2NyaXB0PgotPGlmcmFtZSBpZD0i
dGVzdEZyYW1lIiBzcmM9InJlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucGhwIiBv
bmxvYWQ9ImZyYW1lTG9hZGVkKCkiPjwvaWZyYW1lPgorPGlmcmFtZSBpZD0idGVzdEZyYW1lIiBz
cmM9InJlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucHkiIG9ubG9hZD0iZnJhbWVM
b2FkZWQoKSI+PC9pZnJhbWU+CiA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY2FjaGVhYmxlLXJl
ZGlyZWN0LWZyYW1lLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY2FjaGVhYmxl
LXJlZGlyZWN0LWZyYW1lLnBocAkocmV2aXNpb24gMjc0NDkxKQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2Vz
L2NhY2hlYWJsZS1yZWRpcmVjdC1mcmFtZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNyArMCww
IEBACi08P3BocAotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbCcpOwotaGVhZGVyKCdD
YWNoZS1Db250cm9sOiBtYXgtYWdlPTAnKTsKLWhlYWRlcignRXRhZzogMTIzNDU2Nzg5Jyk7Ci0K
LT8+Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hl
ZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJyZWRpcmVjdC10by1jc3MucGhwIj4KLTwvaGVhZD4K
LTxib2R5PgotPGRpdiBpZD0idGVzdERpdiIgY2xhc3M9InRlc3RDbGFzcyI+Ci1URVNUCi08L2Rp
dj4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jYWNoZWFibGUtcmVk
aXJlY3QtZnJhbWUucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2NhY2hlYWJsZS1y
ZWRpcmVjdC1mcmFtZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY2FjaGVh
YmxlLXJlZGlyZWN0LWZyYW1lLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKKyMh
L3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IHN5cworCitzeXMuc3Rkb3V0LndyaXRlKAor
ICAgICdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTBcclxuJworICAgICdFdGFnOiAxMjM0NTY3ODlc
clxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworICAgICc8IURPQ1RZ
UEUgaHRtbD5cbicKKyAgICAnPGh0bWw+XG4nCisgICAgJzxoZWFkPlxuJworICAgICc8bGluayBy
ZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJyZWRpcmVjdC10by1jc3MucHki
PlxuJworICAgICc8L2hlYWQ+XG4nCisgICAgJzxib2R5PlxuJworICAgICc8ZGl2IGlkPSJ0ZXN0
RGl2IiBjbGFzcz0idGVzdENsYXNzIj5cbicKKyAgICAnVEVTVFxuJworICAgICc8L2Rpdj5cbicK
KyAgICAnPC9ib2R5PlxuJworICAgICc8L2h0bWw+XG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2NhY2hlYWJsZS1y
ZWRpcmVjdC1mcmFtZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCww
ICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jl
c291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3Vy
Y2VzL2Nzcy10by1yZXZhbGlkYXRlLnBocAkocmV2aXNpb24gMjc0NDkxKQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVz
b3VyY2VzL2Nzcy10by1yZXZhbGlkYXRlLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDE3ICswLDAg
QEAKLTw/cGhwCi1pZiAoJF9TRVJWRVJbIkhUVFBfSUZfTk9ORV9NQVRDSCJdID09ICJmb28iKSB7
Ci0gICAgaGVhZGVyKCJIVFRQLzEuMSAzMDQgTm90IE1vZGlmaWVkIik7Ci0gICAgaGVhZGVyKCJF
VGFnOiBmb28iKTsKLSAgICByZXR1cm47Ci19Ci0KLWhlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0
L2NzcyIpOwotaGVhZGVyKCJFVGFnOiBmb28iKTsKLWhlYWRlcigiQ2FjaGUtQ29udHJvbDogbWF4
LWFnZT0wIik7Ci0KLT8+Ci0KLS50ZXN0Q2xhc3MKLXsKLSAgICBjb2xvcjogZ3JlZW47Ci19Cklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUt
dmFsaWRhdGlvbi9yZXNvdXJjZXMvY3NzLXRvLXJldmFsaWRhdGUucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlk
YXRpb24vcmVzb3VyY2VzL2Nzcy10by1yZXZhbGlkYXRlLnB5CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0
aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDIzIEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5
cworCittYXRjaCA9IG9zLmVudmlyb24uZ2V0KCdIVFRQX0lGX05PTkVfTUFUQ0gnLCAnJykKK2lm
IG1hdGNoID09ICdmb28nOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICdzdGF0dXM6
IDMwNFxyXG4nCisgICAgICAgICdFVGFnOiBmb29cclxuJworICAgICAgICAnQ29udGVudC1UeXBl
OiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICApCisgICAgc3lzLmV4aXQoMCkKKworc3lzLnN0ZG91
dC53cml0ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2Nzc1xyXG4nCisgICAgJ0VUYWc6IGZv
b1xyXG4nCisgICAgJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MFxyXG5cclxuJworICAgICcudGVz
dENsYXNzXG4nCisgICAgJ3tcbicKKyAgICAnICAgIGNvbG9yOiBncmVlbjtcbicKKyAgICAnfVxu
JworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0
aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5weQpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxh
dGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRpY2F0ZWQtcmVzb3Vy
Y2UucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRp
Y2F0ZWQtcmVzb3VyY2UucGhwCShyZXZpc2lvbiAyNzQ0OTEpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMv
ZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnBocAkobm9uZXhpc3RlbnQpCkBAIC0x
LDEwICswLDAgQEAKLTw/cGhwCi1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sJyk7Ci1o
ZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MCcpOwotaGVhZGVyKCdFdGFnOiAxMjM0NTY3
ODknKTsKLQotPz4KLTwhRE9DVFlQRSBodG1sPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0icmVzb3Vy
Y2Utd2l0aC1hdXRoLnBocCI+PC9zY3JpcHQ+Ci08L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJj
ZXMvZnJhbWUtd2l0aC1hdXRoZW50aWNhdGVkLXJlc291cmNlLnB5Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0
aW9uL3Jlc291cmNlcy9mcmFtZS13aXRoLWF1dGhlbnRpY2F0ZWQtcmVzb3VyY2UucHkJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1
bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL2ZyYW1lLXdpdGgtYXV0aGVudGljYXRlZC1yZXNv
dXJjZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACisjIS91c3IvYmluL2VudiBw
eXRob24zCisKK2ltcG9ydCBzeXMKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ2FjaGUtQ29u
dHJvbDogbWF4LWFnZT0wXHJcbicKKyAgICAnRXRhZzogMTIzNDU2Nzg5XHJcbicKKyAgICAnQ29u
dGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICAnPCFET0NUWVBFIGh0bWw+XG4nCisg
ICAgJzxib2R5PlxuJworICAgICc8c2NyaXB0IHNyYz0icmVzb3VyY2Utd2l0aC1hdXRoLnB5Ij48
L3NjcmlwdD5cbicKKyAgICAnPC9ib2R5PlxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9mcmFtZS13aXRoLWF1dGhl
bnRpY2F0ZWQtcmVzb3VyY2UucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMg
LTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlv
bi9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tY3NzLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNv
dXJjZXMvcmVkaXJlY3QtdG8tY3NzLnBocAkocmV2aXNpb24gMjc0NDkxKQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVz
b3VyY2VzL3JlZGlyZWN0LXRvLWNzcy5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw2ICswLDAgQEAK
LTw/cGhwCi1oZWFkZXIoJ0hUVFAvMS4xIDMwMiBGb3VuZCcpOwotaGVhZGVyKCdMb2NhdGlvbjog
L2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvY3NzLXRv
LXJldmFsaWRhdGUucGhwJyk7Ci1oZWFkZXIoJ0V4cGlyZXM6IFRodSwgMDEgRGVjIDIwMDMgMTY6
MDA6MDAgR01UJyk7Ci1oZWFkZXIoJ0VUYWc6IGZvbycpOwotPz4KSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291
cmNlcy9yZWRpcmVjdC10by1jc3MucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2VzL3Jl
ZGlyZWN0LXRvLWNzcy5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVkaXJl
Y3QtdG8tY3NzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTEgQEAKKyMhL3Vzci9iaW4v
ZW52IHB5dGhvbjMKKworaW1wb3J0IHN5cworCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdzdGF0
dXM6IDMwMlxyXG4nCisgICAgJ0xvY2F0aW9uOiAvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2
ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9jc3MtdG8tcmV2YWxpZGF0ZS5weVxyXG4nCisgICAgJ0V4
cGlyZXM6IFRodSwgMDEgRGVjIDIwMDMgMTY6MDA6MDAgR01UXHJcbicKKyAgICAnRVRhZzogZm9v
XHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKykKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMv
cmVkaXJlY3QtdG8tY3NzLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0w
LDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24v
cmVzb3VyY2VzL3JlcXVlc3QtaGVhZGVycy1zY3JpcHQucGhwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9u
L3Jlc291cmNlcy9yZXF1ZXN0LWhlYWRlcnMtc2NyaXB0LnBocAkocmV2aXNpb24gMjc0NDkxKQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZh
bGlkYXRpb24vcmVzb3VyY2VzL3JlcXVlc3QtaGVhZGVycy1zY3JpcHQucGhwCShub25leGlzdGVu
dCkKQEAgLTEsMTIgKzAsMCBAQAotPD9waHAKLWhlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0L2ph
dmFzY3JpcHQnKTsKLWhlYWRlcignQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0wJyk7Ci1oZWFkZXIo
J0V0YWc6IDEyMzQ1Njc4OScpOwotCi0/PgotYWxsUmVxdWVzdEhlYWRlcnMgPSBbXTsKLTw/cGhw
Ci1mb3JlYWNoIChnZXRhbGxoZWFkZXJzKCkgYXMgJG5hbWUgPT4gJHZhbHVlKSB7Ci0gICAgZWNo
byAiYWxsUmVxdWVzdEhlYWRlcnNbJyIgLiAkbmFtZSAuICInXSA9ICciIC4gJHZhbHVlIC4gIic7
IjsKLX0KLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUv
c3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVxdWVzdC1oZWFkZXJzLXNjcmlwdC5w
eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUv
c3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVxdWVzdC1oZWFkZXJzLXNjcmlwdC5w
eQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2Fj
aGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVxdWVzdC1oZWFkZXJzLXNjcmlw
dC5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIwIEBACisjIS91c3IvYmluL2VudiBweXRo
b24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitoZWFkZXJzID0ge30KK2ZvciBoZWFkZXJu
YW1lLCBoZWFkZXJ2YWx1ZSBpbiBvcy5lbnZpcm9uLml0ZW1zKCk6CisgICAgaWYgbm90IGhlYWRl
cm5hbWUuc3RhcnRzd2l0aCgnSFRUUF8nKToKKyAgICAgICAgY29udGludWUKKyAgICBoZWFkZXJz
WyctJy5qb2luKCcgJy5qb2luKGhlYWRlcm5hbWVbNTpdLmxvd2VyKCkucmVwbGFjZSgnXycsICct
Jykuc3BsaXQoJy0nKSkudGl0bGUoKS5zcGxpdCgnICcpKV0gPSBoZWFkZXJ2YWx1ZQorCitzeXMu
c3Rkb3V0LndyaXRlKAorICAgICdDb250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdFxyXG4nCisg
ICAgJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MFxyXG4nCisgICAgJ0V0YWc6IDEyMzQ1Njc4OVxy
XG5cclxuJworICAgICdhbGxSZXF1ZXN0SGVhZGVycyA9IFtdO1xuJworKQorCitmb3Iga2V5IGlu
IGhlYWRlcnM6CisgICAgc3lzLnN0ZG91dC53cml0ZShmJ2FsbFJlcXVlc3RIZWFkZXJzW1wne2tl
eX1cJ10gPSBcJ3toZWFkZXJzW2tleV19XCc7JykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVxdWVzdC1oZWFkZXJzLXNj
cmlwdC5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisq
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9y
ZXNvdXJjZS13aXRoLWF1dGgucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNv
dXJjZS13aXRoLWF1dGgucGhwCShyZXZpc2lvbiAyNzQ0OTEpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMv
cmVzb3VyY2Utd2l0aC1hdXRoLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDE4ICswLDAgQEAKLTw/
cGhwCi0kZXhwZWN0ZWRVc2VybmFtZSA9ICd0ZXN0VXNlcm5hbWUnOwotJGV4cGVjdGVkUGFzc3dv
cmQgPSAndGVzdFBhc3N3b3JkJzsKLSRyZWFsbSA9ICRfU0VSVkVSWydSRVFVRVNUX1VSSSddOwot
Ci1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9qYXZhc2NyaXB0Jyk7Ci1oZWFkZXIoJ0NhY2hl
LUNvbnRyb2w6IG1heC1hZ2U9MCcpOwotaGVhZGVyKCdFdGFnOiAxMjM0NTY3ODknKTsKLQotaWYg
KCFpc3NldCgkX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddKSB8fCAkX1NFUlZFUlsnUEhQX0FVVEhf
VVNFUiddICE9ICRleHBlY3RlZFVzZXJuYW1lIHx8Ci0gICAgIWlzc2V0KCRfU0VSVkVSWydQSFBf
QVVUSF9QVyddKSB8fCAkX1NFUlZFUlsnUEhQX0FVVEhfUFcnXSAhPSAkZXhwZWN0ZWRQYXNzd29y
ZCkgewotICAgIGhlYWRlcigiV1dXLUF1dGhlbnRpY2F0ZTogQmFzaWMgcmVhbG09XCIiIC4gJHJl
YWxtIC4gIlwiIik7Ci0gICAgaGVhZGVyKCdIVFRQLzEuMCA0MDEgVW5hdXRob3JpemVkJyk7Ci0g
ICAgcHJpbnQgJ1NlbnQgdXNlcm5hbWU6cGFzc3dvcmQgb2YgKCcgLiAkX1NFUlZFUlsnUEhQX0FV
VEhfVVNFUiddIC4gJzonIC4gJF9TRVJWRVJbJ1BIUF9BVVRIX1BXJ10gLiAnKSB3aGljaCBpcyBu
b3Qgd2hhdCB3YXMgZXhwZWN0ZWQnOwotICAgIGV4aXQ7Ci19Ci0/PgotbG9hZGVkID0gdHJ1ZTsK
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2
ZS12YWxpZGF0aW9uL3Jlc291cmNlcy9yZXNvdXJjZS13aXRoLWF1dGgucHkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZh
bGlkYXRpb24vcmVzb3VyY2VzL3Jlc291cmNlLXdpdGgtYXV0aC5weQkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFs
aWRhdGlvbi9yZXNvdXJjZXMvcmVzb3VyY2Utd2l0aC1hdXRoLnB5CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMjkgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IGJhc2U2NAor
aW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK2NyZWRlbnRpYWxzID0gYmFzZTY0LmI2NGRlY29kZShv
cy5lbnZpcm9uLmdldCgnSFRUUF9BVVRIT1JJWkFUSU9OJywgJyBPZz09Jykuc3BsaXQoJyAnKVsx
XSkuZGVjb2RlKCkuc3BsaXQoJzonKQordXNlcm5hbWUgPSBjcmVkZW50aWFsc1swXQorcGFzc3dv
cmQgPSAnOicuam9pbihjcmVkZW50aWFsc1sxOl0pCisKK2V4cGVjdGVkVXNlcm5hbWUgPSAndGVz
dFVzZXJuYW1lJworZXhwZWN0ZWRQYXNzd29yZCA9ICd0ZXN0UGFzc3dvcmQnCityZWFsbSA9IG9z
LmVudmlyb24uZ2V0KCdSRVFVRVNUX1VSSScsICcnKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAg
ICdDb250ZW50LVR5cGU6IHRleHQvamF2YXNjcmlwdFxyXG4nCisgICAgJ0NhY2hlLUNvbnRyb2w6
IG1heC1hZ2U9MFxyXG4nCisgICAgJ0V0YWc6IDEyMzQ1Njc4OVxyXG4nCispCisKK2lmIHVzZXJu
YW1lICE9IGV4cGVjdGVkVXNlcm5hbWUgb3IgcGFzc3dvcmQgIT0gZXhwZWN0ZWRQYXNzd29yZDoK
KyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICBmJ1dXVy1BdXRoZW50aWNhdGU6IEJhc2lj
IHJlYWxtPSJ7cmVhbG19IlxyXG4nCisgICAgICAgICdzdGF0dXM6IDQwMVxyXG5cclxuJworICAg
ICAgICBmJ1NlbnQgdXNlcm5hbWU6cGFzc3dvcmQgb2YgKHt1c2VybmFtZX06e3Bhc3N3b3JkfSkg
d2hpY2ggaXMgbm90IHdoYXQgd2FzIGV4cGVjdGVkXG4nCisgICAgKQorICAgIHN5cy5leGl0KDAp
CisKK3N5cy5zdGRvdXQud3JpdGUoJ1xyXG5sb2FkZWQgPSB0cnVlO1xuJykKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3VsYXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvcmVz
b3VyY2Utd2l0aC1hdXRoLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0w
LDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24v
cmVzb3VyY2VzL3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFtZS5waHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRp
b24vcmVzb3VyY2VzL3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFtZS5waHAJKHJldmlzaW9uIDI3NDQ5
MSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2
ZS12YWxpZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucGhwCShub25l
eGlzdGVudCkKQEAgLTEsMTYgKzAsMCBAQAotPD9waHAKLWhlYWRlcignQ29udGVudC1UeXBlOiB0
ZXh0L2h0bWwnKTsKLWhlYWRlcignQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0wJyk7Ci1oZWFkZXIo
J0V0YWc6IDEyMzQ1Njc4OScpOwotJGNvb2tpZSA9ICJzcGVjdWxhdGl2ZVJlcXVlc3RWYWxpZGF0
aW9uPSIgLiB1bmlxaWQoKTsKLWhlYWRlcignU2V0LUNvb2tpZTogJyAuICRjb29raWUpOwotPz4K
LTwhRE9DVFlQRSBodG1sPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0icmVxdWVzdC1oZWFkZXJzLXNj
cmlwdC5waHAiPjwvc2NyaXB0PgotPHNjcmlwdD4KLTw/cGhwCi1lY2hvICJzZW50U2V0Q29va2ll
SGVhZGVyID0gJyIgLiAkY29va2llIC4gIic7IjsKLT8+Ci08L3NjcmlwdD4KLTwvYm9keT4KSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9zcGVjdWxhdGl2ZS12
YWxpZGF0aW9uL3Jlc291cmNlcy92YWxpZGF0aW9uLXJlcXVlc3QtZnJhbWUucHkKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZl
LXZhbGlkYXRpb24vcmVzb3VyY2VzL3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFtZS5weQkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvc3BlY3Vs
YXRpdmUtdmFsaWRhdGlvbi9yZXNvdXJjZXMvdmFsaWRhdGlvbi1yZXF1ZXN0LWZyYW1lLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKwor
aW1wb3J0IHN5cworZnJvbSB1dWlkIGltcG9ydCB1dWlkMQorCitjb29raWUgPSBmJ3NwZWN1bGF0
aXZlUmVxdWVzdFZhbGlkYXRpb249e3V1aWQxKCl9JworCitzeXMuc3Rkb3V0LndyaXRlKAorICAg
ICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nCisgICAgJ0NhY2hlLUNvbnRyb2w6IG1heC1h
Z2U9MFxyXG4nCisgICAgJ0V0YWc6IDEyMzQ1Njc4OVxyXG4nCisgICAgZidTZXQtQ29va2llOiB7
Y29va2llfVxyXG5cclxuJworICAgICc8IURPQ1RZUEUgaHRtbD5cbicKKyAgICAnPGJvZHk+XG4n
CisgICAgJzxzY3JpcHQgc3JjPSJyZXF1ZXN0LWhlYWRlcnMtc2NyaXB0LnB5Ij48L3NjcmlwdD5c
bicKKyAgICAnPHNjcmlwdD5cbicKKyAgICBmJ3NlbnRTZXRDb29raWVIZWFkZXIgPSBcJ3tjb29r
aWV9XCc7XG4nCisgICAgJzwvc2NyaXB0PlxuJworICAgICc8L2JvZHk+XG4nCispClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3NwZWN1bGF0aXZlLXZhbGlkYXRpb24vcmVzb3VyY2Vz
L3ZhbGlkYXRpb24tcmVxdWVzdC1mcmFtZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0
YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2JvZHkucGhwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2JvZHkucGhw
CShyZXZpc2lvbiAyNzQ0OTEpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9ib2R5LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotPD9waHAKLWhlYWRl
cignRXRhZzogMTIzNDU2Nzg5Jyk7Ci1lY2hvIGZpbGVfZ2V0X2NvbnRlbnRzKCdwaHA6Ly9pbnB1
dCcpOwotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2Jv
ZHkucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvYm9keS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9ib2R5LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTEgQEAKKyMhL3Vz
ci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IHN5cworCitkYXRhID0gJycuam9pbihzeXMuc3Rk
aW4ucmVhZGxpbmVzKCkpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0V0YWc6IDEyMzQ1Njc4
OVxyXG4nCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCisgICAgZid7ZGF0
YX0nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvYm9keS5weQpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL2NhY2hlYWJsZS1pZnJhbWUucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1pZnJhbWUucGhwCShyZXZpc2lvbiAyNzQ0
OTEpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUt
aWZyYW1lLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDExICswLDAgQEAKLTw/cGhwCi1yZXF1aXJl
X29uY2UgJy4uLy4uL3Jlc291cmNlcy9wb3J0YWJpbGl0eUxheWVyLnBocCc7Ci0KLSRtYXhfYWdl
ID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MDsgLy9vbmUgeWVhcgotJGV4cGlyZXMgPSBnbWRhdGUo
REFURV9SRkMxMTIzLCB0aW1lKCkgKyAkbWF4X2FnZSk7Ci0KLWhlYWRlcignQ2FjaGUtQ29udHJv
bDogcHVibGljLCBtYXgtYWdlPScgLiAkbWF4X2FnZSk7Ci1oZWFkZXIoJ0V4cGlyZXM6ICcgLiAk
ZXhwaXJlcyk7Ci1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sJyk7Ci1leGl0KCk7Ci0/
PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxl
LWlmcmFtZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9jYWNoZWFibGUtaWZyYW1lLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1pZnJhbWUucHkJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwxNCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQg
c3lzCitmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZSwgdGltZWRlbHRhCisKK21heF9hZ2Ug
PSAxMiAqIDMxICogMjQgKiA2MCAqIDYwCitleHBpcmVzID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRh
dGV0aW1lLnV0Y25vdygpICsgdGltZWRlbHRhKHNlY29uZHM9bWF4X2FnZSkpLnN0cmZ0aW1lKCcl
YSwgJWQgJWIgJVkgJUg6JU06JVMnKSkKKworc3lzLnN0ZG91dC53cml0ZSgKKyAgICBmJ0NhY2hl
LUNvbnRyb2w6IHB1YmxpYywgbWF4LWFnZT17bWF4X2FnZX1cclxuJworICAgIGYnRXhwaXJlczog
e2V4cGlyZXN9XHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKykK
K3N5cy5leGl0KDApClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLWlm
cmFtZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisq
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5waHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLXJh
bmRvbS10ZXh0LnBocAkocmV2aXNpb24gMjc0NDkxKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLXJhbmRvbS10ZXh0LnBocAkobm9uZXhpc3RlbnQp
CkBAIC0xLDE0ICswLDAgQEAKLTw/cGhwCi0gICAgJG1heF9hZ2UgPSAxMiAqIDMxICogMjQgKiA2
MCAqIDYwOyAvL29uZSB5ZWFyCi0gICAgaGVhZGVyKCdDYWNoZS1Db250cm9sOiBwdWJsaWMsIG1h
eC1hZ2U9JyAuICRtYXhfYWdlKTsKLSAgICBoZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1s
Jyk7Ci0KLSAgICAkaWQgPSAkR0VUWydpZCddOwotICAgIGlmICghaXNzZXQoJEdFVFsncmFuZG9t
X2lkJ10pKSB7Ci0gICAgICAgICRpZCA9ICcnOwotICAgICAgICAkY2hhcnNldCA9ICdBQkNERUZH
SElLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OSc7Ci0gICAgICAgIGZvciAoJGkgPSAwOyAkaSA8
IDE2OyAkaSsrKQotICAgICAgICAgICAgJGlkIC49ICRjaGFyc2V0W3JhbmQoMCwgc3RybGVuKCRj
aGFyc2V0KSAtIDEpXTsKLSAgICB9Ci0gICAgZWNobyAnPGh0bWw+PGJvZHk+U29tZSByYW5kb20g
dGV4dCcgLiAkaWQgLiAgJzwvaG1sPjwvYm9keT4nOwotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlYWJsZS1yYW5kb20tdGV4dC5weQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZWFibGUt
cmFuZG9tLXRleHQucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLXJhbmRvbS10ZXh0LnB5CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMjUgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBv
cnQgc3lzCitmcm9tIHJhbmRvbSBpbXBvcnQgcmFuZGludAorZnJvbSB1cmxsaWIucGFyc2UgaW1w
b3J0IHBhcnNlX3FzCisKK3F1ZXJ5ID0gcGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NU
UklORycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkKK2lkZW50ID0gcXVlcnkuZ2V0KCdp
ZCcsIFsnJ10pWzBdCisKK21heF9hZ2UgPSAxMiAqIDMxICogMjQgKiA2MCAqIDYwCityYW5kb21f
aWRlbnQgPSBUcnVlIGlmIHF1ZXJ5LmdldCgncmFuZG9tX2lkJywgW05vbmVdKVswXSBpcyBub3Qg
Tm9uZSBlbHNlIEZhbHNlCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgZidDYWNoZS1Db250cm9s
OiBwdWJsaWMsIG1heC1hZ2U9e21heF9hZ2V9XHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0
L2h0bWxcclxuXHJcbicKKykKKworaWYgbm90IHJhbmRvbV9pZGVudDoKKyAgICBpZGVudCA9ICcn
CisgICAgY2hhcnNldCA9ICdBQkNERUZHSElLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OScKKyAg
ICBmb3IgaSBpbiByYW5nZSgwLCAxNik6CisgICAgICAgIGlkZW50ICs9IGNoYXJzZXRbcmFuZGlu
dCgwLCBsZW4oY2hhcnNldCkgLSAxKV0KKworc3lzLnN0ZG91dC53cml0ZShmJzxodG1sPjxib2R5
PlNvbWUgcmFuZG9tIHRleHR7aWRlbnR9PC9obWw+PC9ib2R5PicpClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvY2FjaGVhYmxlLXJhbmRvbS10ZXh0LnB5Cl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZy
YW1lMzA0LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9pZnJhbWUzMDQucGhwCShyZXZpc2lvbiAyNzQ0OTEpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucGhwCShub25leGlzdGVudCkKQEAg
LTEsMjEgKzAsMCBAQAotPD9waHANCi1yZXF1aXJlX29uY2UgJy4uLy4uL3Jlc291cmNlcy9wb3J0
YWJpbGl0eUxheWVyLnBocCc7DQotDQotY2xlYXJzdGF0Y2FjaGUoKTsNCi0NCi1pZiAoJF9TRVJW
RVJbIkhUVFBfSUZfTU9ESUZJRURfU0lOQ0UiXSkgew0KLSAgICBoZWFkZXIoIkhUVFAvMS4xIDMw
NCBOb3QgTW9kaWZpZWQiKTsNCi0gICAgZXhpdCgpOw0KLX0NCi0kb25lX3llYXIgPSAxMiAqIDMx
ICogMjQgKiA2MCAqIDYwOw0KLSRsYXN0X21vZGlmaWVkID0gZ21kYXRlKERBVEVfUkZDMTEyMywg
dGltZSgpIC0gJG9uZV95ZWFyKTsNCi0kZXhwaXJlcyA9IGdtZGF0ZShEQVRFX1JGQzExMjMsIHRp
bWUoKSArICRvbmVfeWVhcik7DQotDQotaGVhZGVyKCdDYWNoZS1Db250cm9sOiBuby1jYWNoZSwg
bWF4LWFnZT0nIC4gJG9uZV95ZWFyKTsNCi1oZWFkZXIoJ0V4cGlyZXM6ICcgLiAkZXhwaXJlcyk7
DQotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbCcpOw0KLWhlYWRlcignQ29udGVudC1M
ZW5ndGg6IDAnKTsNCi1oZWFkZXIoJ0V0YWc6IDEyMzQ1Njc4OScpOw0KLWhlYWRlcignTGFzdC1N
b2RpZmllZDogJyAuICRsYXN0X21vZGlmaWVkKTsNCi1leGl0KCk7DQotPz4NCkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDQucHkKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0LnB5
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L2lmcmFtZTMwNC5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACisjIS91c3IvYmlu
L2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSBkYXRldGltZSBpbXBv
cnQgZGF0ZXRpbWUsIHRpbWVkZWx0YQorCittb2RpZmllZF9zaW5jZSA9IG9zLmVudmlyb24uZ2V0
KCdIVFRQX0lGX01PRElGSUVEX1NJTkNFJywgJycpCisKK3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRl
bnQtVHlwZTogdGV4dC9odG1sXHJcbicpCisKK2lmIG1vZGlmaWVkX3NpbmNlOgorICAgIHN5cy5z
dGRvdXQud3JpdGUoJ3N0YXR1czogMzA0XHJcblxyXG4nKQorICAgIHN5cy5leGl0KDApCisKK29u
ZV95ZWFyID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MAorbGFzdF9tb2RpZmllZCA9ICd7fSArMDAw
MCcuZm9ybWF0KChkYXRldGltZS51dGNub3coKSAtIHRpbWVkZWx0YShzZWNvbmRzPW9uZV95ZWFy
KSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorZXhwaXJlcyA9ICd7fSArMDAw
MCcuZm9ybWF0KChkYXRldGltZS51dGNub3coKSArIHRpbWVkZWx0YShzZWNvbmRzPW9uZV95ZWFy
KSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorCitzeXMuc3Rkb3V0LndyaXRl
KAorICAgIGYnQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUsIG1heC1hZ2U9e29uZV95ZWFyfVxyXG4n
CisgICAgZidFeHBpcmVzOiB7ZXhwaXJlc31cclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQv
aHRtbFxyXG4nCisgICAgJ0NvbnRlbnQtTGVuZ3RoOiAwXHJcbicKKyAgICAnRXRhZzogMTIzNDU2
Nzg5XHJcbicKKyAgICBmJ0xhc3QtTW9kaWZpZWQ6IHtsYXN0X21vZGlmaWVkfVxyXG4nCispCitz
eXMuZXhpdCgwKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNC5weQpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL2lmcmFtZTMwNGJvZHkucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2lmcmFtZTMwNGJvZHkucGhwCShyZXZpc2lvbiAy
NzQ0OTEpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUz
MDRib2R5LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDE0ICswLDAgQEAKLTw/cGhwDQotcmVxdWly
ZV9vbmNlICcuLi8uLi9yZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXllci5waHAnOw0KLQ0KLWNsZWFy
c3RhdGNhY2hlKCk7DQotDQotaWYgKCRfU0VSVkVSWyJIVFRQX0lGX01PRElGSUVEX1NJTkNFIl0p
IHsNCi0gICAgaGVhZGVyKCJIVFRQLzEuMSAzMDQgTm90IE1vZGlmaWVkIik7DQotICAgIGV4aXQo
KTsNCi19DQotaGVhZGVyKCdDYWNoZS1Db250cm9sOiBuby1jYWNoZScpOw0KLWhlYWRlcignQ29u
dGVudC1UeXBlOiB0ZXh0L2h0bWwnKTsNCi1oZWFkZXIoJ0V0YWc6IDEyMzQ1Njc4OScpOw0KLT8+
DQotYm9keSB0ZXh0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0Ym9keS5weQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9pZnJhbWUzMDRib2R5
LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL2lmcmFtZTMwNGJvZHkucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxOCBAQAorIyEv
dXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworbW9kaWZpZWRf
c2luY2UgPSBvcy5lbnZpcm9uLmdldCgnSFRUUF9JRl9NT0RJRklFRF9TSU5DRScsICcnKQorCitz
eXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nKQorCitpZiBtb2Rp
ZmllZF9zaW5jZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdzdGF0dXM6IDMwNFxyXG5cclxuJykK
KyAgICBzeXMuZXhpdCgwKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdDYWNoZS1Db250cm9s
OiBuby1jYWNoZVxyXG4nCisgICAgJ0V0YWc6IDEyMzQ1Njc4OVxyXG5cclxuJworICAgICdib2R5
IHRleHQnCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvaWZyYW1lMzA0Ym9keS5w
eQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL2xvYWQtYW5kLWNoZWNrLXJlZmVyZXIucGhwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2xvYWQtYW5kLWNoZWNrLXJl
ZmVyZXIucGhwCShyZXZpc2lvbiAyNzQ0OTEpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9sb2FkLWFuZC1jaGVjay1yZWZlcmVyLnBocAkobm9uZXhpc3RlbnQpCkBA
IC0xLDQwICswLDAgQEAKLTw/Ci1mdW5jdGlvbiBjb250ZW50VHlwZSgkcGF0aCkKLXsKLSAgICBp
ZiAocHJlZ19tYXRjaCgiL1wuaHRtbCQvIiwgJHBhdGgpKQotICAgICAgICByZXR1cm4gInRleHQv
aHRtbCI7Ci0gICAgaWYgKHByZWdfbWF0Y2goIi9cLm1hbmlmZXN0JC8iLCAkcGF0aCkpCi0gICAg
ICAgIHJldHVybiAidGV4dC9jYWNoZS1tYW5pZmVzdCI7Ci0gICAgaWYgKHByZWdfbWF0Y2goIi9c
LmpzJC8iLCAkcGF0aCkpCi0gICAgICAgIHJldHVybiAidGV4dC9qYXZhc2NyaXB0IjsKLSAgICBp
ZiAocHJlZ19tYXRjaCgiL1wueG1sJC8iLCAkcGF0aCkpCi0gICAgICAgIHJldHVybiAiYXBwbGlj
YXRpb24veG1sIjsKLSAgICBpZiAocHJlZ19tYXRjaCgiL1wueGh0bWwkLyIsICRwYXRoKSkKLSAg
ICAgICAgcmV0dXJuICJhcHBsaWNhdGlvbi94aHRtbCt4bWwiOwotICAgIGlmIChwcmVnX21hdGNo
KCIvXC5zdmckLyIsICRwYXRoKSkKLSAgICAgICAgcmV0dXJuICJhcHBsaWNhdGlvbi9zdmcreG1s
IjsKLSAgICBpZiAocHJlZ19tYXRjaCgiL1wueHNsJC8iLCAkcGF0aCkpCi0gICAgICAgIHJldHVy
biAiYXBwbGljYXRpb24veHNsdCt4bWwiOwotICAgIGlmIChwcmVnX21hdGNoKCIvXC5naWYkLyIs
ICRwYXRoKSkKLSAgICAgICAgcmV0dXJuICJpbWFnZS9naWYiOwotICAgIGlmIChwcmVnX21hdGNo
KCIvXC5qcGckLyIsICRwYXRoKSkKLSAgICAgICAgcmV0dXJuICJpbWFnZS9qcGVnIjsKLSAgICBp
ZiAocHJlZ19tYXRjaCgiL1wucG5nJC8iLCAkcGF0aCkpCi0gICAgICAgIHJldHVybiAiaW1hZ2Uv
cG5nIjsKLSAgICByZXR1cm4gInRleHQvcGxhaW4iOwotfQotCi0kcGF0aCA9ICRfR0VUWydwYXRo
J107Ci0kZXhwZWN0ZWRSZWZlcmVyID0gJF9HRVRbJ2V4cGVjdGVkLXJlZmVyZXInXTsKLSRyZWZl
cmVyID0gJF9TRVJWRVJbIkhUVFBfUkVGRVJFUiJdOwotCi1pZiAoJGV4cGVjdGVkUmVmZXJlciA9
PSAkcmVmZXJlciAmJiBmaWxlX2V4aXN0cygkcGF0aCkpIHsKLSAgICBoZWFkZXIoJ0hUVFAvMS4x
IDIwMCBPSycpOwotICAgIGhlYWRlcigiQ2FjaGUtY29udHJvbDogbm8tc3RvcmUiKTsKLSAgICBo
ZWFkZXIoIkNvbnRlbnQtVHlwZTogIiAuIGNvbnRlbnRUeXBlKCRwYXRoKSk7Ci0gICAgcHJpbnQg
ZmlsZV9nZXRfY29udGVudHMoJHBhdGgpOwotfSBlbHNlIHsKLSAgICBoZWFkZXIoJ0hUVFAvMS4x
IDQwNCBOb3QgRm91bmQnKTsKLX0KLQotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL2xvYWQtYW5kLWNoZWNrLXJlZmVyZXIucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbG9hZC1hbmQtY2hlY2stcmVm
ZXJlci5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9sb2FkLWFuZC1jaGVjay1yZWZlcmVyLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsNTAgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lz
Citmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMKKworZGVmIGNvbnRlbnRUeXBlKHBh
dGgpOgorICAgIGlmIHBhdGguZW5kc3dpdGgoJy5odG1sJyk6CisgICAgICAgIHJldHVybiAndGV4
dC9odG1sJworICAgIGlmIHBhdGguZW5kc3dpdGgoJy5tYW5pZmVzdCcpOgorICAgICAgICByZXR1
cm4gJ3RleHQvY2FjaGUtbWFuaWZlc3QnCisgICAgaWYgcGF0aC5lbmRzd2l0aCgnLmpzJyk6Cisg
ICAgICAgIHJldHVybiAndGV4dC9qYXZhc2NyaXB0JworICAgIGlmIHBhdGguZW5kc3dpdGgoJy54
bWwnKToKKyAgICAgICAgcmV0dXJuICdhcHBsaWNhdGlvbi94bWwnCisgICAgaWYgcGF0aC5lbmRz
d2l0aCgnLnhodG1sJyk6CisgICAgICAgIHJldHVybiAnYXBwbGljYXRpb24veGh0bWwreG1sJwor
ICAgIGlmIHBhdGguZW5kc3dpdGgoJy5zdmcnKToKKyAgICAgICAgcmV0dXJuICdhcHBsaWNhdGlv
bi9zdmcreG1sJworICAgIGlmIHBhdGguZW5kc3dpdGgoJy54c2wnKToKKyAgICAgICAgcmV0dXJu
ICdhcHBsaWNhdGlvbi94c2x0K3htbCcKKyAgICBpZiBwYXRoLmVuZHN3aXRoKCcuZ2lmJyk6Cisg
ICAgICAgIHJldHVybiAnaW1hZ2UvZ2lmJworICAgIGlmIHBhdGguZW5kc3dpdGgoJy5qcGcnKToK
KyAgICAgICAgcmV0dXJuICdpbWFnZS9qcGVnJworICAgIGlmIHBhdGguZW5kc3dpdGgoJy5wbmcn
KToKKyAgICAgICAgcmV0dXJuICdpbWFnZS9wbmcnCisgICAgcmV0dXJuICd0ZXh0L3BsYWluJwor
CityZWZlcmVyID0gb3MuZW52aXJvbi5nZXQoJ0hUVFBfUkVGRVJFUicsICcnKQorCitxdWVyeSA9
IHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAnJyksIGtlZXBfYmxhbmtf
dmFsdWVzPVRydWUpCitwYXRoID0gcXVlcnkuZ2V0KCdwYXRoJywgWycnXSlbMF0KK2V4cGVjdGVk
X3JlZmVyZXIgPSBxdWVyeS5nZXQoJ2V4cGVjdGVkLXJlZmVyZXInLCBbJyddKVswXQorCitpZiBl
eHBlY3RlZF9yZWZlcmVyID09IHJlZmVyZXIgYW5kIG9zLnBhdGguaXNmaWxlKHBhdGgpOgorICAg
IHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICdzdGF0dXM6IDIwMFxyXG4nCisgICAgICAgICdD
YWNoZS1jb250cm9sOiBuby1zdG9yZVxyXG4nCisgICAgICAgIGYnQ29udGVudC1UeXBlOiB7Y29u
dGVudFR5cGUocGF0aCl9XHJcblxyXG4nCisgICAgKQorCisgICAgc3lzLnN0ZG91dC5mbHVzaCgp
CisgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbignLycuam9pbihfX2ZpbGVfXy5zcGxpdCgnLycp
WzA6LTFdKSwgcGF0aCksICdyYicpIGFzIGZpbGU6CisgICAgICAgIHN5cy5zdGRvdXQuYnVmZmVy
LndyaXRlKGZpbGUucmVhZCgpKQorZWxzZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAg
ICAnc3RhdHVzOiA0MDRcclxuJworICAgICAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxu
XHJcbicKKyAgICApClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbG9hZC1hbmQtY2hl
Y2stcmVmZXJlci5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsx
ICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5w
aHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMv
bm8tY2FjaGUtbWFpbi1yZXNvdXJjZS1uZXh0LnBocAkocmV2aXNpb24gMjc0NDkxKQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJj
ZS1uZXh0LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDExICswLDAgQEAKLTw/cGhwCi1oZWFkZXIo
IkNhY2hlLWNvbnRyb2w6IG5vLWNhY2hlLCBtYXgtYWdlPTAiKTsKLWhlYWRlcigiTGFzdC1Nb2Rp
ZmllZDogVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHTVQiKTsKLWhlYWRlcignQ29udGVudC1U
eXBlOiB0ZXh0L2h0bWwnKTsKLQotcHJpbnQgIjxzY3JpcHQ+XG4iOwotcHJpbnQgInZhciByYW5k
b21OdW1iZXIgPSAiIC4gcmFuZCgpIC4gIjtcbiI7Ci0/PgotCi1vcGVuZXIucG9zdE1lc3NhZ2Uo
cmFuZG9tTnVtYmVyLCAnKicpOwotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLW5leHQucHkKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUt
bWFpbi1yZXNvdXJjZS1uZXh0LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5weQkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDE0IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2lt
cG9ydCBzeXMKK2Zyb20gcmFuZG9tIGltcG9ydCByYW5kaW50CisKK3N5cy5zdGRvdXQud3JpdGUo
CisgICAgJ0NhY2hlLWNvbnRyb2w6IG5vLWNhY2hlLCBtYXgtYWdlPTBcclxuJworICAgICdMYXN0
LU1vZGlmaWVkOiBUaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIEdNVFxyXG4nCisgICAgJ0NvbnRl
bnQtVHlwZTogdGV4dC9odG1sXHJcblxyXG4nCisgICAgJzxzY3JpcHQ+XG4nCisgICAgZid2YXIg
cmFuZG9tTnVtYmVyID0ge3JhbmRpbnQoMCwgc3lzLm1heHNpemUpfTtcbicKKyAgICAnb3BlbmVy
LnBvc3RNZXNzYWdlKHJhbmRvbU51bWJlciwgXCcqXCcpO1xuJworICAgICc8L3NjcmlwdD5cbicK
KykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNl
LW5leHQucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIwor
KgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnBocAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1t
YWluLXJlc291cmNlLnBocAkocmV2aXNpb24gMjc0NDkxKQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS5waHAJKG5vbmV4aXN0
ZW50KQpAQCAtMSwzNCArMCwwIEBACi08P3BocAotaGVhZGVyKCJDYWNoZS1jb250cm9sOiBuby1j
YWNoZSwgbWF4LWFnZT0wIik7Ci1oZWFkZXIoIkxhc3QtTW9kaWZpZWQ6IFRodSwgMDEgSmFuIDE5
NzAgMDA6MDA6MDAgR01UIik7Ci1oZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sJyk7Ci0K
LXByaW50ICI8c2NyaXB0PlxuIjsKLXByaW50ICJ2YXIgcmFuZG9tTnVtYmVyID0gIiAuIHJhbmQo
KSAuICI7XG4iOwotPz4KLQotb3BlbmVyLnBvc3RNZXNzYWdlKHJhbmRvbU51bWJlciwgJyonKTsK
LQotLy8gT3VyIG9wZW5lciB3aWxsIHRlbGwgdXMgdG8gcGVyZm9ybSB2YXJpb3VzIGxvYWRzLgot
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbihldmVudCkgewotCi0g
ICAgLy8gR28gZm9yd2FyZCBhbmQgYmFjay4KLSAgICBpZiAoZXZlbnQuZGF0YSA9PT0gJ2dvLWZv
cndhcmQtYW5kLWJhY2snKSB7Ci0gICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9ICdoaXN0b3J5LWJh
Y2suaHRtbCc7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBSZWxvYWQuCi0gICAg
aWYgKGV2ZW50LmRhdGEgPT09ICdyZWxvYWQnKSB7Ci0gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5y
ZWxvYWQoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIC8vIE5vcm1hbCBuYXZpZ2F0
aW9uLCBuZXh0LgotICAgIGlmIChldmVudC5kYXRhID09PSAnbmV4dCcpIHsKLSAgICAgICAgd2lu
ZG93LmxvY2F0aW9uID0gJ25vLWNhY2hlLW1haW4tcmVzb3VyY2UtbmV4dC5waHAnOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi19LCBmYWxzZSk7Ci08L3NjcmlwdD4KSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLW1haW4tcmVzb3VyY2UucHkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8t
Y2FjaGUtbWFpbi1yZXNvdXJjZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS1tYWluLXJlc291cmNlLnB5CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMzcgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0
IHN5cworZnJvbSByYW5kb20gaW1wb3J0IHJhbmRpbnQKKworc3lzLnN0ZG91dC53cml0ZSgKKyAg
ICAnQ2FjaGUtY29udHJvbDogbm8tY2FjaGUsIG1heC1hZ2U9MFxyXG4nCisgICAgJ0xhc3QtTW9k
aWZpZWQ6IFRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UXHJcbicKKyAgICAnQ29udGVudC1U
eXBlOiB0ZXh0L2h0bWxcclxuXHJcbicKKyAgICAnPHNjcmlwdD5cbicKKyAgICBmJ3ZhciByYW5k
b21OdW1iZXIgPSB7cmFuZGludCgwLCBzeXMubWF4c2l6ZSArIDEpfTtcbicKKyAgICAnb3BlbmVy
LnBvc3RNZXNzYWdlKHJhbmRvbU51bWJlciwgXCcqXCcpO1xuJworICAgICdcbicKKyAgICAnLy8g
T3VyIG9wZW5lciB3aWxsIHRlbGwgdXMgdG8gcGVyZm9ybSB2YXJpb3VzIGxvYWRzLlxuJworICAg
ICd3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcJ21lc3NhZ2VcJywgZnVuY3Rpb24oZXZlbnQpIHtc
bicKKyAgICAnXG4nCisgICAgJyAgICAvLyBHbyBmb3J3YXJkIGFuZCBiYWNrLlxuJworICAgICcg
ICAgaWYgKGV2ZW50LmRhdGEgPT09IFwnZ28tZm9yd2FyZC1hbmQtYmFja1wnKSB7XG4nCisgICAg
JyAgICAgICAgd2luZG93LmxvY2F0aW9uID0gXCdoaXN0b3J5LWJhY2suaHRtbFwnO1xuJworICAg
ICcgICAgICAgIHJldHVybjtcbicKKyAgICAnICAgIH1cbicKKyAgICAnXG4nCisgICAgJyAgICAv
LyBSZWxvYWQuXG4nCisgICAgJyAgICBpZiAoZXZlbnQuZGF0YSA9PT0gXCdyZWxvYWRcJykge1xu
JworICAgICcgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbicKKyAgICAnICAgICAg
ICByZXR1cm47XG4nCisgICAgJyAgICB9XG4nCisgICAgJ1xuJworICAgICcgICAgLy8gTm9ybWFs
IG5hdmlnYXRpb24sIG5leHQuXG4nCisgICAgJyAgICBpZiAoZXZlbnQuZGF0YSA9PT0gXCduZXh0
XCcpIHtcbicKKyAgICAnICAgICAgICB3aW5kb3cubG9jYXRpb24gPSBcJ25vLWNhY2hlLW1haW4t
cmVzb3VyY2UtbmV4dC5weVwnO1xuJworICAgICcgICAgICAgIHJldHVybjtcbicKKyAgICAnICAg
IH1cbicKKyAgICAnXG4nCisgICAgJ30sIGZhbHNlKTtcbicKKyAgICAnPC9zY3JpcHQ+XG4nCisp
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtbWFpbi1yZXNvdXJjZS5w
eQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5waHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtd2l0aC12
YWxpZGF0aW9uLnBocAkocmV2aXNpb24gMjc0NDkxKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvbm8tY2FjaGUtd2l0aC12YWxpZGF0aW9uLnBocAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDEwICswLDAgQEAKLTw/cGhwCi1pZiAoJF9TRVJWRVJbIkhUVFBfSUZfTU9ESUZJ
RURfU0lOQ0UiXSkgewotICAgIGhlYWRlcigiSFRUUC8xLjAgMzA0IE5vdCBNb2RpZmllZCIpOwot
ICAgIGV4aXQoKTsKLX0KLWhlYWRlcigiQ2FjaGUtY29udHJvbDogbm8tY2FjaGUiKTsKLWhlYWRl
cigiTGFzdC1Nb2RpZmllZDogVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHTVQiKTsKLWhlYWRl
cigiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluIik7Ci0/PgotZm9vCkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uby1jYWNoZS13aXRoLXZhbGlkYXRpb24ucHkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbm8t
Y2FjaGUtd2l0aC12YWxpZGF0aW9uLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLXdpdGgtdmFsaWRhdGlvbi5weQkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDE4IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2lt
cG9ydCBvcworaW1wb3J0IHN5cworCittb2RpZmllZF9zaW5jZSA9IG9zLmVudmlyb24uZ2V0KCdI
VFRQX0lGX01PRElGSUVEX1NJTkNFJywgJycpCisKK3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQt
VHlwZTogdGV4dC9wbGFpblxyXG4nKQorCitpZiBtb2RpZmllZF9zaW5jZToKKyAgICBzeXMuc3Rk
b3V0LndyaXRlKCdzdGF0dXM6IDMwNFxyXG5cclxuJykKKyAgICBzeXMuZXhpdCgwKQorCitzeXMu
c3Rkb3V0LndyaXRlKAorICAgICdDYWNoZS1jb250cm9sOiBuby1jYWNoZVxyXG4nCisgICAgJ0xh
c3QtTW9kaWZpZWQ6IFRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UXHJcblxyXG4nCisgICAg
J2Zvb1xuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL25vLWNhY2hlLXdpdGgt
dmFsaWRhdGlvbi5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsx
ICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3BhcnRpdGlvbmVkLWNhY2hlLWVjaG8tc3RhdGUu
cGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L3BhcnRpdGlvbmVkLWNhY2hlLWVjaG8tc3RhdGUucGhwCShyZXZpc2lvbiAyNzQ0OTEpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wYXJ0aXRpb25lZC1jYWNoZS1l
Y2hvLXN0YXRlLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDEwICswLDAgQEAKLTw/cGhwCi1yZXF1
aXJlX29uY2UgJy4uLy4uL3Jlc291cmNlcy9wb3J0YWJpbGl0eUxheWVyLnBocCc7Ci0KLWhlYWRl
cignQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0Jyk7Ci1oZWFkZXIoJ0NhY2hl
LUNvbnRyb2w6IG1heC1hZ2U9MzYwMCcpOwotCi0jIFRoaXMgc2NyaXB0IG1heSBvbmx5IGJlIHVz
ZWQgYnkgY2FjaGUvcGFydGl0aW9uZWQtY2FjaGUuaHRtbCB0ZXN0LCBzaW5jZSBpdCB1c2VzIGds
b2JhbCBkYXRhLgotJHRtcEZpbGUgPSBzeXNfZ2V0X3RlbXBfZGlyKCkgLiAiLyIgLiAiY2FjaGUt
cGFydGl0aW9uZWQtY2FjaGUtc3RhdGUiOwotPz4KLXZhciByZXNwb25zZSA9ICc8P3BocCBwcmlu
dCBmaWxlX2dldF9jb250ZW50cygkdG1wRmlsZSk7ID8+JzsKSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3BhcnRpdGlvbmVkLWNhY2hlLWVjaG8tc3RhdGUucHkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGFy
dGl0aW9uZWQtY2FjaGUtZWNoby1zdGF0ZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wYXJ0aXRpb25lZC1jYWNoZS1lY2hvLXN0YXRl
LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTkgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhv
bjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgdGVtcGZpbGUKKworZmlsZSA9IF9f
ZmlsZV9fLnNwbGl0KCc6L2N5Z3dpbicpWy0xXQoraHR0cF9yb290ID0gb3MucGF0aC5kaXJuYW1l
KG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1lKGZpbGUpKSkp
CisKK3RtcEZpbGUgPSBvcy5wYXRoLmpvaW4odGVtcGZpbGUuZ2V0dGVtcGRpcigpLCAnY2FjaGUt
cGFydGl0aW9uZWQtY2FjaGUtc3RhdGUnKQorZmlsZSA9IG9wZW4odG1wRmlsZSwgJ3InKQorCitz
eXMuc3Rkb3V0LndyaXRlKAorICAgICdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2phdmFzY3Jp
cHRcclxuJworICAgICdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTM2MDBcclxuXHJcbicKKyAgICBm
J3ZhciByZXNwb25zZSA9IFwne2ZpbGUucmVhZCgpfVwnO1xuJworKQorCitmaWxlLmNsb3NlKCkK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wYXJ0aXRpb25lZC1jYWNoZS1lY2hvLXN0
YXRlLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9uZWQtY2FjaGUtbG9hZGVyLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9u
ZWQtY2FjaGUtbG9hZGVyLmh0bWwJKHJldmlzaW9uIDI3NDQ5MSkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3BhcnRpdGlvbmVkLWNhY2hlLWxvYWRlci5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC04LDcgKzgsNyBAQCBpZiAod2luZG93LmludGVybmFscykKIGZ1bmN0
aW9uIHNldFNlcnZlclN0YXRlKHN0cmluZykKIHsKICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBS
ZXF1ZXN0OwotICAgIHhoci5vcGVuKCdQT1NUJywgJy9yZXNvdXJjZXMvd3JpdGUtdGVtcC1maWxl
LnBocD9maWxlbmFtZT1jYWNoZS1wYXJ0aXRpb25lZC1jYWNoZS1zdGF0ZSZkYXRhPScgKyBzdHJp
bmcsIGZhbHNlKTsKKyAgICB4aHIub3BlbignUE9TVCcsICcvcmVzb3VyY2VzL3dyaXRlLXRlbXAt
ZmlsZS5weT9maWxlbmFtZT1jYWNoZS1wYXJ0aXRpb25lZC1jYWNoZS1zdGF0ZSZkYXRhPScgKyBz
dHJpbmcsIGZhbHNlKTsKICAgICB4aHIuc2VuZCgpOwogfQogCkBAIC0xNyw3ICsxNyw3IEBAIGNv
bnNvbGUubG9nKCdTZXR0aW5nIHNlcnZlci1zaWRlIHBlcnNpc3QKIHNldFNlcnZlclN0YXRlKGRv
Y3VtZW50LmRvbWFpbik7CiAKIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnc2NyaXB0Jyk7Ci1zY3JpcHRFbGVtZW50LnNldEF0dHJpYnV0ZSgnc3JjJywgJ2h0dHA6
Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMvcGFydGl0aW9uZWQtY2FjaGUtZWNoby1z
dGF0ZS5waHAnKTsKK3NjcmlwdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdzcmMnLCAnaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL2NhY2hlL3Jlc291cmNlcy9wYXJ0aXRpb25lZC1jYWNoZS1lY2hvLXN0YXRl
LnB5Jyk7CiBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdEVsZW1lbnQpOwogCiB3aW5k
b3cub25sb2FkID0gZnVuY3Rpb24oKSB7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGVybWFuZW50LXJlZGlyZWN0LnB5CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Bl
cm1hbmVudC1yZWRpcmVjdC5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACisjIS91
c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSB1cmxsaWIu
cGFyc2UgaW1wb3J0IHBhcnNlX3FzCisKK2xvY2F0aW9uID0gcGFyc2VfcXMob3MuZW52aXJvbi5n
ZXQoJ1FVRVJZX1NUUklORycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkuZ2V0KCdsb2Nh
dGlvbicsIFsnJ10pWzBdCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ3N0YXR1czogMzAxXHJc
bicKKyAgICAnTG9jYXRpb246IHt9XHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxc
clxuXHJcbicuZm9ybWF0KGxvY2F0aW9uKQorKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL3Blcm1hbmVudC1yZWRpcmVjdC5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJs
ZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVy
aWZ5LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5waHAJKHJldmlzaW9uIDI3NDQ5MSkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Bvc3QtaW1hZ2UtdG8tdmVyaWZ5LnBo
cAkobm9uZXhpc3RlbnQpCkBAIC0xLDM0ICswLDAgQEAKLTw/cGhwCi1yZXF1aXJlX29uY2UgJy4u
Ly4uL3Jlc291cmNlcy9wb3J0YWJpbGl0eUxheWVyLnBocCc7Ci0KLWNsZWFyc3RhdGNhY2hlKCk7
Ci1pZiAoZmlsZV9leGlzdHMoc3lzX2dldF90ZW1wX2RpcigpIC4gIi8iIC4gJF9HRVRbInRlc3Qi
XSAuICJfc3RhdGUiKSkgewotICAgIGhlYWRlcignSFRUUC8xLjEgNDA0IE5vdCBGb3VuZCcpOwot
ICAgIGV4aXQoKTsKLX0gZWxzZSB7Ci0gICAgJHRtcEZpbGUgPSBmb3BlbihzeXNfZ2V0X3RlbXBf
ZGlyKCkgLiAiLyIgLiAkX0dFVFsidGVzdCJdIC4gIl9zdGF0ZSIsICd3Jyk7Ci0gICAgZmNsb3Nl
KCR0bXBGaWxlKTsKLSAgICAKLSAgICAkZmlsZW5hbWUgPSAnY29tcGFzcy1uby1jYWNoZS5qcGcn
OwotICAgICRmaWxlbXRpbWUgPSBmaWxlbXRpbWUoJGZpbGVuYW1lKTsKLSAgICAkZmlsZXNpemUg
PSBmaWxlc2l6ZSgkZmlsZW5hbWUpOwotCi0gICAgJGV0YWcgPSAnIicgLiAkZmlsZXNpemUgLiAn
LScgLiAkZmlsZW10aW1lIC4gJyInOwotICAgICRsYXN0X21vZGlmaWVkID0gZ21kYXRlKERBVEVf
UkZDMTEyMywgJGZpbGVtdGltZSk7Ci0gICAgJG1heF9hZ2UgPSAxMiAqIDMxICogMjQgKiA2MCAq
IDYwOyAvL29uZSB5ZWFyCi0gICAgJGV4cGlyZXMgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1l
KCkgKyAkbWF4X2FnZSk7Ci0KLSAgICAkaGFuZGxlID0gZm9wZW4oJGZpbGVuYW1lLCAncmInKTsK
LSAgICAkY29udGVudHMgPSBmcmVhZCgkaGFuZGxlLCAkZmlsZXNpemUpOwotICAgIGZjbG9zZSgk
aGFuZGxlKTsKLQotICAgIGhlYWRlcignQ2FjaGUtQ29udHJvbDogcHVibGljLCBtYXgtYWdlPScg
LiAkbWF4X2FnZSk7Ci0gICAgaGVhZGVyKCdFeHBpcmVzOiAnIC4gJGV4cGlyZXMpOwotICAgIGhl
YWRlcignQ29udGVudC1UeXBlOiBpbWFnZS9wbmcnKTsKLSAgICBoZWFkZXIoJ0NvbnRlbnQtTGVu
Z3RoOiAnIC4gJGZpbGVzaXplKTsKLSAgICBoZWFkZXIoJ0V0YWc6ICcgLiAkZXRhZyk7Ci0gICAg
aGVhZGVyKCdMYXN0LU1vZGlmaWVkOiAnIC4gJGxhc3RfbW9kaWZpZWQpOwotICAgIGVjaG8gJGNv
bnRlbnRzOwotICAgIGV4aXQoKTsKLX0KLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5weQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlm
eS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9wb3N0LWltYWdlLXRvLXZlcmlmeS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ4
IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1w
b3J0IHRlbXBmaWxlCitmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZSwgdGltZWRlbHRhCitm
cm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0
KCc6L2N5Z3dpbicpWy0xXQoraHR0cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGly
bmFtZShvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1lKGZpbGUpKSkpCitzeXMucGF0aC5p
bnNlcnQoMCwgaHR0cF9yb290KQorCit0ZXN0ID0gcGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FV
RVJZX1NUUklORycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkuZ2V0KCd0ZXN0JywgWydz
dGF0ZSddKVswXQordG1wRmlsZVBhdGggPSBvcy5wYXRoLmpvaW4odGVtcGZpbGUuZ2V0dGVtcGRp
cigpLCAne31fc3RhdGUnLmZvcm1hdCh0ZXN0KSkKKworaWYgb3MucGF0aC5pc2ZpbGUodG1wRmls
ZVBhdGgpOgorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICdzdGF0dXM6IDQwNFxyXG4n
CisgICAgICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxue30nLmZvcm1hdCh0bXBG
aWxlUGF0aCkKKyAgICApCisgICAgc3lzLmV4aXQoMCkKKwordG1wRmlsZSA9IG9wZW4odG1wRmls
ZVBhdGgsICd3KycpCit0bXBGaWxlLmNsb3NlKCkKKworZmlsZVBhdGggPSBvcy5wYXRoLmpvaW4o
Jy8nLmpvaW4oX19maWxlX18uc3BsaXQoJy8nKVswOi0xXSksICdjb21wYXNzLW5vLWNhY2hlLmpw
ZycpCitzdGF0ID0gb3Muc3RhdChmaWxlUGF0aCkKK2ZpbGVtdGltZSA9IHN0YXQuc3RfbXRpbWUK
K2ZpbGVzaXplID0gc3RhdC5zdF9zaXplCisKK2V0YWcgPSAnInt9LXt9IicuZm9ybWF0KGZpbGVz
aXplLCBmaWxlbXRpbWUpCitsYXN0X21vZGlmaWVkID0gJ3t9ICswMDAwJy5mb3JtYXQoZGF0ZXRp
bWUudXRjZnJvbXRpbWVzdGFtcChmaWxlbXRpbWUpLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6
JU06JVMnKSkKK21heF9hZ2UgPSAxMiAqIDMxICogMjQgKiA2MCAqIDYwCitleHBpcmVzID0gJ3t9
ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1lLnV0Y25vdygpICsgdGltZWRlbHRhKHNlY29uZHM9bWF4
X2FnZSkpLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06JVMnKSkKKworc3lzLnN0ZG91dC53
cml0ZSgKKyAgICAnQ2FjaGUtQ29udHJvbDogcHVibGljLCBtYXgtYWdlPXt9XHJcbicKKyAgICAn
RXhwaXJlczoge31cclxuJworICAgICdDb250ZW50LVR5cGU6IGltYWdlL3BuZ1xyXG4nCisgICAg
J0NvbnRlbnQtTGVuZ3RoOiB7fVxyXG4nCisgICAgJ0V0YWc6IHt9XHJcbicKKyAgICAnTGFzdC1N
b2RpZmllZDoge31cclxuXHJcbicuZm9ybWF0KG1heF9hZ2UsIGV4cGlyZXMsIGZpbGVzaXplLCBl
dGFnLCBsYXN0X21vZGlmaWVkKQorKQorCitzeXMuc3Rkb3V0LmZsdXNoKCkKK3dpdGggb3Blbihm
aWxlUGF0aCwgJ3JiJykgYXMgZmlsZToKKyAgICBzeXMuc3Rkb3V0LmJ1ZmZlci53cml0ZShmaWxl
LnJlYWQoKSkKK3N5cy5leGl0KDApClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcG9z
dC1pbWFnZS10by12ZXJpZnkucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMg
LTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3Vy
Y2UtaWZyYW1lLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnBocAkocmV2aXNpb24g
Mjc0NDkxKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0
Y2hlZC1tYWluLXJlc291cmNlLWlmcmFtZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCww
IEBACi08P3BocAotaWYgKCRfU0VSVkVSWyJIVFRQX1BVUlBPU0UiXSA9PSAicHJlZmV0Y2giKSB7
Ci0gICAgZWNobyAiPHNjcmlwdD4iOwotICAgIGVjaG8gInBhcmVudC53aW5kb3cucG9zdE1lc3Nh
Z2UoJ0ZBSUwnLCAnKicpOyI7Ci0gICAgZWNobyAiPC9zY3JpcHQ+IjsKLQotICAgIGV4aXQoKTsK
LX0KLQotZWNobyAiPHNjcmlwdD4iOwotZWNobyAicGFyZW50LndpbmRvdy5wb3N0TWVzc2FnZSgn
UEFTUycsICcqJyk7IjsKLWVjaG8gIjwvc2NyaXB0PiI7Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLWlmcmFt
ZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnB5CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNv
dXJjZS1pZnJhbWUucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMiBAQAorIyEvdXNyL2Jp
bi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworcHVycG9zZSA9IG9zLmVu
dmlyb24uZ2V0KCdIVFRQX1BVUlBPU0UnLCAnJykKKworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVu
dC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicpCisKK2lmIHB1cnBvc2UgPT0gJ3ByZWZldGNoJzoK
KyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnPHNjcmlwdD5cbicKKyAgICAgICAgJ3Bh
cmVudC53aW5kb3cucG9zdE1lc3NhZ2UoXCdGQUlMXCcsIFwnKlwnKTtcbicKKyAgICAgICAgJzwv
c2NyaXB0PlxuJworICAgICkKKyAgICBzeXMuZXhpdCgwKQorCitzeXMuc3Rkb3V0LndyaXRlKAor
ICAgICc8c2NyaXB0PlxuJworICAgICdwYXJlbnQud2luZG93LnBvc3RNZXNzYWdlKFwnUEFTU1wn
LCBcJypcJyk7XG4nCisgICAgJzwvc2NyaXB0PlxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucHkKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5waHAJ
KHJldmlzaW9uIDI3NDQ5MSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMSAr
MCwwIEBACi08P3BocAotaGVhZGVyKCdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTM2MDAnKTsKLT8+
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08c2NyaXB0PgotCi1pZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKLSAgZmV0Y2goJ2h0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jYWNoZS9yZXNv
dXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLnBocCcpLnRoZW4oZnVuY3Rpb24ocmVzcG9u
c2UpIHsKLSAgICBpZiAoaW50ZXJuYWxzLmZldGNoUmVzcG9uc2VTb3VyY2UocmVzcG9uc2UpICE9
ICJEaXNrIGNhY2hlIikgewotICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xvZycpLmlu
bmVyVGV4dCA9ICdGQUlMOiByZXNvdXJjZSBpcyBub3QgaW4gdGhlIGRpc2sgY2FjaGUuJzsKLSAg
ICB9Ci0gICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gIH0pOwotfQotCi08L3NjcmlwdD4K
LTxkaXYgaWQ9ImxvZyI+PD9waHAgaWYgKCRfU0VSVkVSWyJIVFRQX1BVUlBPU0UiXSA9PSAicHJl
ZmV0Y2giKSBlY2hvICdQQVNTJzsgZWxzZSBlY2hvICdGQUlMJzsgPz48L2Rpdj4KLTwvYm9keT4K
LTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3By
ZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wcmVmZXRjaGVkLW1haW4tcmVzb3VyY2UucHkJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0
Y2hlZC1tYWluLXJlc291cmNlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzggQEAKKyMh
L3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK3B1cnBvc2Ug
PSBvcy5lbnZpcm9uLmdldCgnSFRUUF9QVVJQT1NFJywgJycpCisKK3N5cy5zdGRvdXQud3JpdGUo
CisgICAgJ0NhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MzYwMFxyXG4nCisgICAgJ0NvbnRlbnQtVHlw
ZTogdGV4dC9odG1sXHJcblxyXG4nCisgICAgJzwhRE9DVFlQRSBodG1sPlxuJworICAgICc8aHRt
bD5cbicKKyAgICAnPGJvZHk+XG4nCisgICAgJzxzY3JpcHQ+XG4nCisgICAgJ1xuJworICAgICdp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHtcbicKKyAgICAnICBmZXRjaChcJ2h0dHA6Ly9sb2NhbGhv
c3Q6ODAwMC9jYWNoZS9yZXNvdXJjZXMvcHJlZmV0Y2hlZC1tYWluLXJlc291cmNlLnB5XCcpLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHtcbicKKyAgICAnICAgIGlmIChpbnRlcm5hbHMuZmV0Y2hS
ZXNwb25zZVNvdXJjZShyZXNwb25zZSkgIT0gIkRpc2sgY2FjaGUiKSB7XG4nCisgICAgJyAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwnbG9nXCcpLmlubmVyVGV4dCA9IFwnRkFJTDogcmVz
b3VyY2UgaXMgbm90IGluIHRoZSBkaXNrIGNhY2hlLlwnO1xuJworICAgICcgICAgfVxuJworICAg
ICcgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7XG4nCisgICAgJyAgfSk7XG4nCisgICAgJ31c
bicKKyAgICAnXG4nCisgICAgJzwvc2NyaXB0PlxuJworICAgICc8ZGl2IGlkPSJsb2ciPicKKykK
KworaWYgcHVycG9zZSA9PSAncHJlZmV0Y2gnOgorICAgIHN5cy5zdGRvdXQud3JpdGUoJ1BBU1Mn
KQorZWxzZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdGQUlMJykKKworc3lzLnN0ZG91dC53cml0
ZSgKKyAgICAnPC9kaXY+XG4nCisgICAgJzwvYm9keT5cbicKKyAgICAnPC9odG1sPlxuJworKQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3ByZWZldGNoZWQtbWFpbi1yZXNvdXJjZS5w
eQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LXJlZmVyZXItaWZyYW1lLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtcmVmZXJl
ci1pZnJhbWUuaHRtbAkocmV2aXNpb24gMjc0NDkxKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvcmVkaXJlY3QtcmVmZXJlci1pZnJhbWUuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMSArMSBAQAotPGltZyBzcmM9ImxvYWQtYW5kLWNoZWNrLXJlZmVyZXIucGhwP3Bh
dGg9Y29tcGFzcy1uby1jYWNoZS5qcGcmZXhwZWN0ZWQtcmVmZXJlcj1odHRwOi8vMTI3LjAuMC4x
OjgwMDAvY2FjaGUvcmVzb3VyY2VzL3JlZGlyZWN0LXJlZmVyZXItaWZyYW1lLmh0bWwiPgorPGlt
ZyBzcmM9ImxvYWQtYW5kLWNoZWNrLXJlZmVyZXIucHk/cGF0aD1jb21wYXNzLW5vLWNhY2hlLmpw
ZyZleHBlY3RlZC1yZWZlcmVyPWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMv
cmVkaXJlY3QtcmVmZXJlci1pZnJhbWUuaHRtbCI+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9yZWxvYWQtbWFpbi1yZXNvdXJjZS1pZnJhbWUucGhwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3JlbG9hZC1t
YWluLXJlc291cmNlLWlmcmFtZS5waHAJKHJldmlzaW9uIDI3NDQ5MSkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3JlbG9hZC1tYWluLXJlc291cmNlLWlmcmFtZS5w
aHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMyArMCwwIEBACi08P3BocAotaWYgKGZpbGVfZXhpc3Rz
KHN5c19nZXRfdGVtcF9kaXIoKSAuICIvY2FjaGUtcmVsb2FkLW1haW4tcmVzb3VyY2UudG1wIikp
IHsKLSAgICB1bmxpbmsoc3lzX2dldF90ZW1wX2RpcigpIC4gIi9jYWNoZS1yZWxvYWQtbWFpbi1y
ZXNvdXJjZS50bXAiKTsKLSAgICBlY2hvICI8Ym9keT4iOwotICAgIGVjaG8gIjxzY3JpcHQ+IjsK
LSAgICBlY2hvICJ3aW5kb3cucGFyZW50LmZpbmlzaCgpOyI7Ci0gICAgZWNobyAiPC9zY3JpcHQ+
IjsKLSAgICBlY2hvICI8L2JvZHk+IjsKLSAgICBleGl0KCk7Ci19Ci0KLSR0bXBGaWxlID0gZm9w
ZW4oc3lzX2dldF90ZW1wX2RpcigpIC4gIi9jYWNoZS1yZWxvYWQtbWFpbi1yZXNvdXJjZS50bXAi
LCAndycpOwotZmNsb3NlKCR0bXBGaWxlKTsKLQotJG1heF9hZ2UgPSAxMiAqIDMxICogMjQgKiA2
MCAqIDYwOyAvL29uZSB5ZWFyCi0kbGFzdF9tb2RpZmllZCA9IGdtZGF0ZShEQVRFX1JGQzExMjMs
IHRpbWUoKSArICRtYXhfYWdlKTsKLSRleHBpcmVzID0gZ21kYXRlKERBVEVfUkZDMTEyMywgdGlt
ZSgpICsgJG1heF9hZ2UpOwotCi1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IHB1YmxpYywgbWF4LWFn
ZT0nIC4gJG1heF9hZ2UpOwotaGVhZGVyKCdFeHBpcmVzOiAnIC4gJGV4cGlyZXMpOwotaGVhZGVy
KCdDb250ZW50LVR5cGU6IHRleHQvaHRtbCcpOwotaGVhZGVyKCdMYXN0LU1vZGlmaWVkOiAnIC4g
JGxhc3RfbW9kaWZpZWQpOwotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL3JlbG9hZC1tYWluLXJlc291cmNlLWlmcmFtZS5weQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9yZWxvYWQtbWFpbi1yZXNvdXJj
ZS1pZnJhbWUucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvcmVsb2FkLW1haW4tcmVzb3VyY2UtaWZyYW1lLnB5CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMzYgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitp
bXBvcnQgc3lzCitpbXBvcnQgdGVtcGZpbGUKK2Zyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1l
LCB0aW1lZGVsdGEKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5Z3dpbicpWy0xXQoraHR0
cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgo
b3MucGF0aC5kaXJuYW1lKGZpbGUpKSkpCisKK3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQtVHlw
ZTogdGV4dC9odG1sXHJcblxyXG4nKQorCit0bXBGaWxlID0gb3MucGF0aC5qb2luKHRlbXBmaWxl
LmdldHRlbXBkaXIoKSwgJ2NhY2hlLXJlbG9hZC1tYWluLXJlc291cmNlLnRtcCcpCitpZiBvcy5w
YXRoLmlzZmlsZSh0bXBGaWxlKToKKyAgICBvcy5yZW1vdmUodG1wRmlsZSkKKyAgICBzeXMuc3Rk
b3V0LndyaXRlKAorICAgICAgICAnPGJvZHk+XG4nCisgICAgICAgICc8c2NyaXB0PlxuJworICAg
ICAgICAnd2luZG93LnBhcmVudC5maW5pc2goKTtcbicKKyAgICAgICAgJzwvc2NyaXB0PlxuJwor
ICAgICAgICAnPC9ib2R5PlxuJworICAgICkKKyAgICBzeXMuZXhpdCgwKQorCitmaWxlID0gb3Bl
bih0bXBGaWxlLCAndysnKQorZmlsZS5jbG9zZSgpCisKK21heF9hZ2UgPSAxMiAqIDMxICogMjQg
KiA2MCAqIDYwCitsYXN0X21vZGlmaWVkID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1lLnV0
Y25vdygpICsgdGltZWRlbHRhKHNlY29uZHM9bWF4X2FnZSkpLnN0cmZ0aW1lKCclYSwgJWQgJWIg
JVkgJUg6JU06JVMnKSkKK2V4cGlyZXMgPSAne30gKzAwMDAnLmZvcm1hdCgoZGF0ZXRpbWUudXRj
bm93KCkgKyB0aW1lZGVsdGEoc2Vjb25kcz1tYXhfYWdlKSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAl
WSAlSDolTTolUycpKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgIGYnQ2FjaGUtQ29udHJvbDog
cHVibGljLCBtYXgtYWdlPXttYXhfYWdlfVxyXG4nCisgICAgZidFeHBpcmVzOiB7ZXhwaXJlc31c
clxuJworICAgIGYnTGFzdC1Nb2RpZmllZDoge2xhc3RfbW9kaWZpZWR9XHJcblxyXG4nCispClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcmVsb2FkLW1haW4tcmVzb3VyY2UtaWZyYW1l
LnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvc2xvdy1pZnJhbWUucGhwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Nsb3ctaWZyYW1lLnBocAkocmV2aXNpb24g
Mjc0NDkxKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc2xvdy1p
ZnJhbWUucGhwCShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi08P3BocCAKLXNsZWVwKDEp
OwotaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvaHRtbCIpOyAKLWVjaG8oIjxzY3JpcHQ+YWxl
cnQoJ1BBU1MgLSBpZnJhbWUgbG9hZGVkJyk7IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7IDwvc2NyaXB0PiIpOyAKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zbG93LWlmcmFtZS5weQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zbG93LWlmcmFtZS5weQkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zbG93
LWlmcmFtZS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExIEBACisjIS91c3IvYmluL2Vu
diBweXRob24zCisKK2ltcG9ydCBzeXMKK2ltcG9ydCB0aW1lCisKK3RpbWUuc2xlZXAoMSkKKwor
c3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicK
KyAgICAnPHNjcmlwdD5hbGVydChcJ1BBU1MgLSBpZnJhbWUgbG9hZGVkXCcpOyBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOyA8L3NjcmlwdD5cbicKKykKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zbG93LWlmcmFtZS5weQpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L3N0eWxlc2hlZXQzMDQtYmFkLWNvbnRlbnQtdHlwZS5waHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldDMwNC1iYWQtY29udGVu
dC10eXBlLnBocAkocmV2aXNpb24gMjc0NDkxKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldDMwNC1iYWQtY29udGVudC10eXBlLnBocAkobm9uZXhp
c3RlbnQpCkBAIC0xLDIxICswLDAgQEAKLTw/cGhwCi1yZXF1aXJlX29uY2UgJy4uLy4uL3Jlc291
cmNlcy9wb3J0YWJpbGl0eUxheWVyLnBocCc7Ci0KLWNsZWFyc3RhdGNhY2hlKCk7Ci0KLWlmICgk
X1NFUlZFUlsiSFRUUF9JRl9NT0RJRklFRF9TSU5DRSJdKSB7Ci0gICAgaGVhZGVyKCJIVFRQLzEu
MCAzMDQgTm90IE1vZGlmaWVkIik7Ci0gICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvcGxh
aW4iKTsKLSAgICBleGl0KCk7Ci19Ci0kb25lX3llYXIgPSAxMiAqIDMxICogMjQgKiA2MCAqIDYw
OwotJGxhc3RfbW9kaWZpZWQgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgLSAkb25lX3ll
YXIpOwotJGV4cGlyZXMgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgKyAkb25lX3llYXIp
OwotCi1oZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IHB1YmxpYywgbWF4LWFnZT0nIC4gJG9uZV95ZWFy
KTsKLWhlYWRlcignRXhwaXJlczogJyAuICRleHBpcmVzKTsKLWhlYWRlcignQ29udGVudC1UeXBl
OiB0ZXh0L2NzcycpOwotaGVhZGVyKCdFdGFnOiAxMjM0NTY3ODknKTsKLWhlYWRlcignTGFzdC1N
b2RpZmllZDogJyAuICRsYXN0X21vZGlmaWVkKTsKLT8+Ci0jdGVzdCB7IGJhY2tncm91bmQtY29s
b3I6IHJnYigwLCAyNTUsIDApOyB9CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3Jlc291cmNlcy9zdHlsZXNoZWV0MzA0LWJhZC1jb250ZW50LXR5cGUucHkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldDMwNC1i
YWQtY29udGVudC10eXBlLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQtYmFkLWNvbnRlbnQtdHlwZS5weQkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2lt
cG9ydCBvcworaW1wb3J0IHN5cworZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVk
ZWx0YQorCittb2RpZmllZF9zaW5jZSA9IG9zLmVudmlyb24uZ2V0KCdIVFRQX0lGX01PRElGSUVE
X1NJTkNFJywgJycpCitpZiBtb2RpZmllZF9zaW5jZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAor
ICAgICAgICAnc3RhdHVzOjMwNFxyXG4nCisgICAgICAgICdDb250ZW50LVR5cGU6IHRleHQvcGxh
aW5cclxuXHJcbicKKyAgICApCisgICAgc3lzLmV4aXQoMCkKKworb25lX3llYXIgPSAxMiAqIDMx
ICogMjQgKiA2MCAqIDYwCitsYXN0X21vZGlmaWVkID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0
aW1lLnV0Y25vdygpIC0gdGltZWRlbHRhKHNlY29uZHM9b25lX3llYXIpKS5zdHJmdGltZSgnJWEs
ICVkICViICVZICVIOiVNOiVTJykpCitleHBpcmVzID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0
aW1lLnV0Y25vdygpICsgdGltZWRlbHRhKHNlY29uZHM9b25lX3llYXIpKS5zdHJmdGltZSgnJWEs
ICVkICViICVZICVIOiVNOiVTJykpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgZidDYWNoZS1D
b250cm9sOiBwdWJsaWMsIG1heC1hZ2U9e29uZV95ZWFyfVxyXG4nCisgICAgZidFeHBpcmVzOiB7
ZXhwaXJlc31cclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvY3NzXHJcbicKKyAgICAnRXRh
ZzogMTIzNDU2Nzg5XHJcbicKKyAgICBmJ0xhc3QtTW9kaWZpZWQ6IHtsYXN0X21vZGlmaWVkfVxy
XG5cclxuJworICAgICcjdGVzdCB7IGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAyNTUsIDApOyB9
JworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQtYmFkLWNv
bnRlbnQtdHlwZS5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsx
ICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQucGhwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQzMDQu
cGhwCShyZXZpc2lvbiAyNzQ0OTEpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9zdHlsZXNoZWV0MzA0LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDIxICswLDAgQEAK
LTw/cGhwDQotcmVxdWlyZV9vbmNlICcuLi8uLi9yZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXllci5w
aHAnOw0KLQ0KLWNsZWFyc3RhdGNhY2hlKCk7DQotDQotaWYgKCRfU0VSVkVSWyJIVFRQX0lGX01P
RElGSUVEX1NJTkNFIl0pIHsNCi0gICAgaGVhZGVyKCJIVFRQLzEuMCAzMDQgTm90IE1vZGlmaWVk
Iik7DQotICAgIGV4aXQoKTsNCi19DQotJG9uZV95ZWFyID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2
MDsNCi0kbGFzdF9tb2RpZmllZCA9IGdtZGF0ZShEQVRFX1JGQzExMjMsIHRpbWUoKSAtICRvbmVf
eWVhcik7DQotJGV4cGlyZXMgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgKyAkb25lX3ll
YXIpOw0KLQ0KLWhlYWRlcignQ2FjaGUtQ29udHJvbDogcHVibGljLCBtYXgtYWdlPScgLiAkb25l
X3llYXIpOw0KLWhlYWRlcignRXhwaXJlczogJyAuICRleHBpcmVzKTsNCi1oZWFkZXIoJ0NvbnRl
bnQtVHlwZTogdGV4dC9jc3MnKTsNCi1oZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoOiAwJyk7DQotaGVh
ZGVyKCdFdGFnOiAxMjM0NTY3ODknKTsNCi1oZWFkZXIoJ0xhc3QtTW9kaWZpZWQ6ICcgLiAkbGFz
dF9tb2RpZmllZCk7DQotZXhpdCgpOw0KLT8+DQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvc3R5bGVzaGVldC1odG1sLnBocAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwucGhwCShy
ZXZpc2lvbiAyNzQ0OTEpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9zdHlsZXNoZWV0LWh0bWwucGhwCShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi08P3Bo
cAotZWNobyAiPGxpbmsgcmVsPXN0eWxlc2hlZXQgaHJlZj0iIC4gJF9HRVRbJ3NoZWV0J10gLiAi
PiI7Ci0/PgotPGRpdiBpZD10ZXN0MT48L2Rpdj4KLTxkaXYgaWQ9dGVzdDI+PC9kaXY+CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdHlsZXNoZWV0LWh0bWwu
cHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMv
c3R5bGVzaGVldC1odG1sLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL3N0eWxlc2hlZXQtaHRtbC5weQkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDE0IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0
IHN5cworZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBhcnNlX3FzCisKK3NoZWV0ID0gcGFyc2Vf
cXMob3MuZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklORycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9
VHJ1ZSkuZ2V0KCdzaGVldCcsIFsnNDA0LmNzcyddKVswXQorCitzeXMuc3Rkb3V0LndyaXRlKAor
ICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxuJworICAgIGYnPGxpbmsgcmVsPXN0
eWxlc2hlZXQgaHJlZj17c2hlZXR9PicKKyAgICAnPGRpdiBpZD10ZXN0MT48L2Rpdj5cbicKKyAg
ICAnPGRpdiBpZD10ZXN0Mj48L2Rpdj5cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291
cmNlcy9zdHlsZXNoZWV0LWh0bWwucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUK
IyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdmctZGVmcy12YXJ5LnBocAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdmct
ZGVmcy12YXJ5LnBocAkocmV2aXNpb24gMjc0NDkxKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvc3ZnLWRlZnMtdmFyeS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwx
MiArMCwwIEBACi08P3BocAotaGVhZGVyKCJDb250ZW50LVR5cGU6IGltYWdlL3N2Zyt4bWwiKTsK
LWhlYWRlcigiVmFyeTogQ29va2llIik7Ci1oZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG1heC1hZ2U9
MzE1MzYwMDAiKTsKLT8+Ci08c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIg
eG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgotPGRlZnM+Ci08ZyBp
ZD0iY2lyY2xlIj4KLTxjaXJjbGUgc3R5bGU9ImZpbGw6Z3JlZW4iIHI9IjEwIi8+Ci08L2c+Ci08
L2RlZnM+Ci08L3N2Zz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL3N2Zy1kZWZzLXZhcnkucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvc3ZnLWRlZnMtdmFyeS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9zdmctZGVmcy12YXJ5LnB5CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMTYgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1w
b3J0IHN5cworCitzeXMuc3RvZHV0LndyaXRlKAorICAgICdDb250ZW50LVR5cGU6IGltYWdlL3N2
Zyt4bWxcclxuJworICAgICdWYXJ5OiBDb29raWVcclxuJworICAgICdDYWNoZS1Db250cm9sOiBt
YXgtYWdlPTMxNTM2MDAwXHJcblxyXG4nCisgICAgJzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+
XG4nCisgICAgJzxkZWZzPlxuJworICAgICc8ZyBpZD0iY2lyY2xlIj5cbicKKyAgICAnPGNpcmNs
ZSBzdHlsZT0iZmlsbDpncmVlbiIgcj0iMTAiLz5cbicKKyAgICAnPC9nPlxuJworICAgICc8L2Rl
ZnM+XG4nCisgICAgJzwvc3ZnPlxuJworKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L3N2Zy1kZWZzLXZhcnkucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAs
MCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItcmVzcG9uc2Uu
cGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L3hoci12YXJ5LWhlYWRlci1yZXNwb25zZS5waHAJKHJldmlzaW9uIDI3NDQ5MSkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25z
ZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMSArMCwwIEBACi08P3BocAotaGVhZGVyKCJWYXJ5
OiBPcmlnaW4iKTsKLWhlYWRlcigiQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0zMTUzNjAwMCIpOwot
aWYgKGlzc2V0KCRfU0VSVkVSWydIVFRQX09SSUdJTiddKSkgewotICAgIGhlYWRlcigiQWNjZXNz
LUNvbnRyb2wtQWxsb3ctT3JpZ2luOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAiKTsKLSAgICBlY2hv
ICJDcm9zcyBvcmlnaW4gIjsKLX0gZWxzZSB7Ci0gICAgZWNobyAiU2FtZSBvcmlnaW4gIjsKLX0K
LT8+Ci1yZXNwb25zZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3hoci12YXJ5LWhlYWRlci1yZXNwb25zZS5w
eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94
aHItdmFyeS1oZWFkZXItcmVzcG9uc2UucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXJlc3BvbnNlLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjIgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKwor
aW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK29yaWdpbiA9IFRydWUgaWYgb3MuZW52aXJvbi5nZXQo
J0hUVFBfT1JJR0lOJywgTm9uZSkgaXMgbm90IE5vbmUgZWxzZSBGYWxzZQorCitzeXMuc3Rkb3V0
LndyaXRlKAorICAgICdWYXJ5OiBPcmlnaW5cclxuJworICAgICdDYWNoZS1Db250cm9sOiBtYXgt
YWdlPTMxNTM2MDAwXHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJworKQor
CitpZiBvcmlnaW46CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ0FjY2Vzcy1Db250
cm9sLUFsbG93LU9yaWdpbjogaHR0cDovLzEyNy4wLjAuMTo4MDAwXHJcblxyXG4nCisgICAgICAg
ICdDcm9zcyBvcmlnaW4gJworICAgICkKK2Vsc2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgnXHJc
blNhbWUgb3JpZ2luICcpCisKK3N5cy5zdGRvdXQud3JpdGUoJ3Jlc3BvbnNlJykKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItcmVzcG9uc2UucHkKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy94aHItdmFyeS1oZWFkZXItc3ViZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94aHItdmFyeS1oZWFkZXItc3ViZnJh
bWUuaHRtbAkocmV2aXNpb24gMjc0NDkxKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMveGhyLXZhcnktaGVhZGVyLXN1YmZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTIsNyArMiw3IEBACiBmdW5jdGlvbiB0ZXN0U2FtZU9yaWdpbigpCiB7CiAgICAgdmFyIHJl
cSA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKLSAgICByZXEub3BlbigiR0VUIiwgInhoci12YXJ5LWhl
YWRlci1yZXNwb25zZS5waHAiKTsKKyAgICByZXEub3BlbigiR0VUIiwgInhoci12YXJ5LWhlYWRl
ci1yZXNwb25zZS5weSIpOwogICAgIHJlcS5vbmxvYWQ9ZnVuY3Rpb24oKSB7IHBhcmVudC5wb3N0
TWVzc2FnZShyZXEucmVzcG9uc2VUZXh0LCAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIikgfQogICAg
IHJlcS5zZW5kKCk7CiB9CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy90
b3VjaC10ZW1wLWZpbGUucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZXMvdG91Y2gtdGVtcC1maWxlLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VzL3RvdWNoLXRlbXAtZmlsZS5weQkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDI2IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1w
b3J0IHN5cworaW1wb3J0IHRlbXBmaWxlCitmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2Vf
cXMKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5Z3dpbicpWy0xXQoraHR0cF9yb290ID0g
b3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgob3MucGF0aC5k
aXJuYW1lKGZpbGUpKSkpCisKK2ZpbGVuYW1lID0gcGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FV
RVJZX1NUUklORycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkuZ2V0KCdmaWxlbmFtZScs
IFsnc3RhdGUudHh0J10pWzBdCit0bXBGaWxlUGF0aCA9IG9zLnBhdGguam9pbih0ZW1wZmlsZS5n
ZXR0ZW1wZGlyKCksIGZpbGVuYW1lKQorCitzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6
IHRleHQvaHRtbFxyXG5cclxuJykKKworc3RhdCA9IG9zLnN0YXQodG1wRmlsZVBhdGgpCitpZiBu
b3Qgc3RhdDoKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdGQUlMOiBzdGF0KCkgY2FsbCBmYWlsZWQu
XG4nKQorICAgIHN5cy5leGl0KDApCisKK2F0aW1lID0gc3RhdC5zdF9hdGltZQorbXRpbWUgPSBz
dGF0LnN0X210aW1lCit0cnk6CisgICAgb3MudXRpbWUodG1wRmlsZVBhdGgsIHRpbWVzPShhdGlt
ZSwgbXRpbWUgKyAxKSkKK2V4Y2VwdDoKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdGQUlMOiB0b3Vj
aCgpIGNhbGwgZmFpbGVkLlxuJykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy90b3VjaC10ZW1w
LWZpbGUucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIwor
KgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlcy93cml0ZS10ZW1wLWZpbGUucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvd3JpdGUtdGVtcC1maWxlLnB5CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL3dyaXRlLXRlbXAtZmlsZS5w
eQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBACisjIS91c3IvYmluL2VudiBweXRob24z
CisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHRlbXBmaWxlCitmcm9tIHVybGxpYi5w
YXJzZSBpbXBvcnQgcGFyc2VfcXMKKworZmlsZSA9IF9fZmlsZV9fLnNwbGl0KCc6L2N5Z3dpbicp
Wy0xXQoraHR0cF9yb290ID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRo
LmFic3BhdGgob3MucGF0aC5kaXJuYW1lKGZpbGUpKSkpCisKK3F1ZXJ5ID0gcGFyc2VfcXMob3Mu
ZW52aXJvbi5nZXQoJ1FVRVJZX1NUUklORycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkK
K2ZpbGVuYW1lID0gcXVlcnkuZ2V0KCdmaWxlbmFtZScsIFsnc3RhdGUudHh0J10pWzBdCitkYXRh
ID0gcXVlcnkuZ2V0KCdkYXRhJywgWycnXSlbMF0KKwordG1wRmlsZSA9IG9zLnBhdGguam9pbih0
ZW1wZmlsZS5nZXR0ZW1wZGlyKCksIGZpbGVuYW1lKQorc3lzLnN0ZG91dC53cml0ZSgnQ29udGVu
dC1UeXBlOiB0ZXh0L2h0bWxcclxuXHJcbicpCisKK3RyeToKKyAgICBmaWxlID0gb3Blbih0bXBG
aWxlLCAndycpCisgICAgZmlsZS53cml0ZShkYXRhKQorICAgIGZpbGUuY2xvc2UoKQorZXhjZXB0
OgorICAgIHN5cy5zdGRvdXQud3JpdGUoZidGQUlMOiB1bmFibGUgdG8gd3JpdGUgdG8gZmlsZTog
e3RtcEZpbGV9XG4nKQorICAgIHN5cy5leGl0KDApCisKK3N5cy5zdGRvdXQud3JpdGUoZid7dG1w
RmlsZX1cbicpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvd3JpdGUtdGVtcC1maWxlLnB5Cl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxo
dHRwcmVxdWVzdC9jYWNoZWFibGUtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWNyYXNoLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9jYWNoZWFi
bGUtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWNyYXNoLmh0bWwJKHJldmlzaW9uIDI3NDQ5MSkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvY2FjaGVhYmxlLWNyb3NzLW9y
aWdpbi1yZWRpcmVjdC1jcmFzaC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC02LDcgKzYsNyBAQAog
ZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgd2UgZG8gbm90IGNyYXNoIHdoZW4gWEhSIHJldXNlcyBh
IGNhY2hlZCByZXNvdXJjZSB0aGF0IGNvbnRhaW5zIGEgc2ltcGxlIGNyb3NzIG9yaWdpbiByZWRp
cmVjdC4iKTsKIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi1jb25zdCB1cmwgPSAiL2NhY2hlL3Jl
c291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0P2NvZGU9MzAyJmNhY2hlX2NvbnRyb2w9cHVi
bGljLG1heC1hZ2U9MTAwMCZ1cmw9aHR0cCUzQSUyRiUyRmxvY2FsaG9zdCUzQTgwMDAlMkZzZWN1
cml0eSUyRnJlc291cmNlcyUyRmFsbG93LWlmLW9yaWdpbi5weSUzRmFsbG93Q2FjaGUlMjZhbGxv
d0NyZWRlbnRpYWxzJTI2b3JpZ2luJTNEaHR0cCUyNTNBJTI1MkYlMjUyRjEyNy4wLjAuMSUyNTNB
ODAwMCI7Citjb25zdCB1cmwgPSAiL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGly
ZWN0LnBocD9jb2RlPTMwMiZjYWNoZV9jb250cm9sPXB1YmxpYyxtYXgtYWdlPTEwMDAmdXJsPWh0
dHAlM0ElMkYlMkZsb2NhbGhvc3QlM0E4MDAwJTJGc2VjdXJpdHklMkZyZXNvdXJjZXMlMkZhbGxv
dy1pZi1vcmlnaW4ucHklM0ZhbGxvd0NhY2hlJTI2YWxsb3dDcmVkZW50aWFscyUyNm9yaWdpbiUz
RGh0dHAlMjUzQSUyNTJGJTI1MkYxMjcuMC4wLjElMjUzQTgwMDAiOwogCiB4aHIgPSBuZXcgWE1M
SHR0cFJlcXVlc3QoKTsKIHhoci53aXRoQ3JlZGVudGlhbHMgPSB0cnVlOwpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDI3NDQ5MSkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkp
CkBAIC0yMzY4LDcgKzIzNjgsNyBAQCBodHRwL3Rlc3RzL2NhY2hlL2NvbnRlbnQtdHlwZS1pZ25v
cmVkLWR1CiBodHRwL3Rlc3RzL2NhY2hlL21haW4tcmVzb3VyY2UtMzA0LXJlbG9hZC5odG1sIFsg
RmFpbHVyZSBdCiBodHRwL3Rlc3RzL2NhY2hlL3BhcnRpdGlvbmVkLWNhY2hlLmh0bWwgWyBGYWls
dXJlIF0KIGh0dHAvdGVzdHMvY2FjaGUvcGFydGl0aW9uZWQtY2FjaGUtaWZyYW1lLmh0bWwgWyBG
YWlsdXJlIF0KLWh0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQucGhwIFsgRmFpbHVy
ZSBdICMgRWFzeQoraHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC5weSBbIEZhaWx1
cmUgXSAjIEVhc3kKIGh0dHAvdGVzdHMvY2FudmFzL2NhbnZhcy1zbG93LWZvbnQtbG9hZGluZy5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBodHRwL3Rlc3RzL2Nzcy9jc3MtaW1hZ2UtdmFsdWVk
LXNoYXBlLmh0bWwgWyBGYWlsdXJlIF0KIGh0dHAvdGVzdHMvY29va2llcy9zZXQtY29va2llLW9u
LXJlZGlyZWN0Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424137</attachid>
            <date>2021-03-24 08:56:55 -0700</date>
            <delta_ts>2021-03-24 09:11:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222935-20210324115654.patch</filename>
            <type>text/plain</type>
            <size>10650</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NDkzOSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDIxLTAzLTI0ICBDaHJpcyBHYW1icmVsbCAg
PGNnYW1icmVsbEBhcHBsZS5jb20+CisKKyAgICAgICAgW0xheW91dFRlc3RzXSBDb252ZXJ0IGh0
dHAvdGVzdHMvY2FjaGUgY29udmVydCBQSFAgdG8gUHl0aG9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI5MzUKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzc1MTgzMzE0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9jYWNoZS1yZWRpcmVjdGlvbnMuaHRtbDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0LnBo
cDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1j
b250cm9sLXJlZGlyZWN0LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5waHA6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveC1mcmFtZS1vcHRpb25zLnB5OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3gtZnJhbWUtb3B0aW9ucy0zMDQuaHRtbDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL25hdmlnYXRpb24vd2luZG93LW9wZW4tcmVkaXJlY3QtYW5k
LXJlbW92ZS1vcGVuZXIuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L2NhY2hlYWJsZS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtY3Jhc2guaHRtbDoKKwogMjAyMS0wMy0y
NCAgQ2hyaXMgTG9yZCAgPGNsb3JkQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dMSUJdIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jYW52YXMvb2Zmc2NyZWVuL21hbnVhbC9k
cmF3LWdlbmVyaWMtZmFtaWx5LzJkLnRleHQuZHJhdy5nZW5lcmljLmZhbWlseS53Lmh0bWwgaXMg
Zmxha3kgZmFpbGluZwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jYWNoZS1y
ZWRpcmVjdGlvbnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL2NhY2hlLXJlZGlyZWN0aW9ucy5odG1sCShyZXZpc2lvbiAyNzQ5MzgpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2NhY2hlLXJlZGlyZWN0aW9ucy5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xNSw3ICsxNSw3IEBAIHRlc3Quc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIGNvdW50
ZXIgPSAwOwogdmFyIHJlc291cmNlID0gIk5vIjsKLXZhciBiYXNlVVJMID0gInJlc291cmNlcy9j
YWNoZS1jb250cm9sLXJlZGlyZWN0LnBocD9jb2RlPTMwMiZ1cmw9Y2FjaGVhYmxlLXJhbmRvbS10
ZXh0LnB5JnJhbmRvbV9pZD0xIjsKK3ZhciBiYXNlVVJMID0gInJlc291cmNlcy9jYWNoZS1jb250
cm9sLXJlZGlyZWN0LnB5P2NvZGU9MzAyJnVybD1jYWNoZWFibGUtcmFuZG9tLXRleHQucHkmcmFu
ZG9tX2lkPTEiOwogdmFyIHRlc3RDYXNlcyA9IFsKIHtuYW1lIDogIlNob3VsZCByZXVzZSByZXNv
dXJjZSAoY2FjaGVhYmxlIHJlZGlyZWN0aW9uKSIsIGV4cGVjdGVkIDogdHJ1ZSwgdXJsIDogYmFz
ZVVSTCArICImY2FjaGVfY29udHJvbD1wdWJsaWMsIG1heC1hZ2U9MTAwMCIsIHJlbG9hZERlbGF5
IDogMH0sCiB7bmFtZSA6ICJTaG91bGQgcmVsb2FkIHJlc291cmNlIChuby1zdG9yZSByZWRpcmVj
dGlvbikiLCBleHBlY3RlZCA6IGZhbHNlLCB1cmw6IGJhc2VVUkwgKyAiJmNhY2hlX2NvbnRyb2w9
bm8tc3RvcmUmbWF4X2FnZT0xMDAwIiwgcmVsb2FkRGVsYXkgOiAwfSwKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUveC1mcmFtZS1vcHRpb25zLTMwNC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUveC1mcmFtZS1vcHRpb25zLTMwNC5odG1s
CShyZXZpc2lvbiAyNzQ5MzgpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3gtZnJh
bWUtb3B0aW9ucy0zMDQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTcsOSArMTcsOSBAQCBmdW5j
dGlvbiB0ZXN0KCkgewogCiAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChkb2N1bWVudC5i
b2R5Lmxhc3RDaGlsZCk7CiAgICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImlmcmFtZSIpOwotICAgIGlmcmFtZS5zcmMgPSAicmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5w
aHAiCisgICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMveC1mcmFtZS1vcHRpb25zLnB5IgogICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKIH0KIDwvc2NyaXB0PgotPGlmcmFt
ZSBzcmM9InJlc291cmNlcy94LWZyYW1lLW9wdGlvbnMucGhwIj48L2lmcmFtZT4KKzxpZnJhbWUg
c3JjPSJyZXNvdXJjZXMveC1mcmFtZS1vcHRpb25zLnB5Ij48L2lmcmFtZT4KIDwvYm9keT4KSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wt
cmVkaXJlY3QucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
cmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3QucGhwCShyZXZpc2lvbiAyNzQ5MzgpCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJl
ZGlyZWN0LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDI3ICswLDAgQEAKLTw/cGhwCi0gICAgJGNv
ZGUgPSAkX0dFVFsnY29kZSddOwotICAgIGlmICghaXNzZXQoJGNvZGUpKQotICAgICAgICAkY29k
ZSA9IDMwMjsKLSAgICBoZWFkZXIoJ0hUVFAvMS4xICcgLiAkY29kZSk7Ci0KLSAgICAkdXJsID0g
JF9HRVRbJ3VybCddOwotICAgICRyYW5kb21faWQgPSAkX0dFVFsncmFuZG9tX2lkJ107Ci0gICAg
aWYgKGlzc2V0KCRyYW5kb21faWQpKSB7Ci0gICAgICAgICRpZCA9ICcnOwotICAgICAgICAkY2hh
cnNldCA9ICdBQkNERUZHSElLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OSc7Ci0gICAgICAgIGZv
ciAoJGkgPSAwOyAkaSA8IDE2OyAkaSsrKQotICAgICAgICAgICAgJGlkIC49ICRjaGFyc2V0W3Jh
bmQoMCwgc3RybGVuKCRjaGFyc2V0KSAtIDEpXTsKLSAgICAgICAgaGVhZGVyKCdMb2NhdGlvbjog
JyAuICR1cmwgLiAnP2lkPScgLiAkaWQpOwotICAgIH0KLSAgICBlbHNlCi0gICAgICAgIGhlYWRl
cignTG9jYXRpb246ICcgLiAkdXJsKTsKLQotICAgICRleHBpcmF0aW9uID0gJF9HRVRbJ2V4cGly
YXRpb24nXTsKLSAgICBpZiAoaXNzZXQoJGV4cGlyYXRpb24pKSB7Ci0gICAgICAgICRleHBpcmVz
ID0gZ21kYXRlKERBVEVfUkZDMTEyMywgdGltZSgpICsgJGV4cGlyYXRpb24pOwotICAgICAgICBo
ZWFkZXIoJ0V4cGlyZXM6ICcgLiAkZXhwaXJlcyk7Ci0gICAgfQotCi0gICAgJGNhY2hlX2NvbnRy
b2wgPSAkX0dFVFsnY2FjaGVfY29udHJvbCddOwotICAgIGhlYWRlcignQ2FjaGUtQ29udHJvbDog
JyAuICRjYWNoZV9jb250cm9sKTsKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0LnB5Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJl
Y3QucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNv
dXJjZXMvY2FjaGUtY29udHJvbC1yZWRpcmVjdC5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDM1IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cwor
ZnJvbSByYW5kb20gaW1wb3J0IHJhbmRpbnQKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9ydCBwYXJz
ZV9xcworCitxdWVyeSA9IHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAn
JyksIGtlZXBfYmxhbmtfdmFsdWVzPVRydWUpCitjYWNoZV9jb250cm9sID0gcXVlcnkuZ2V0KCdj
YWNoZV9jb250cm9sJywgWycnXSlbMF0KK2NvZGUgPSBxdWVyeS5nZXQoJ2NvZGUnLCBbTm9uZV0p
Wy0xXQorZXhwaXJhdGlvbiA9IHF1ZXJ5LmdldCgnZXhwaXJhdGlvbicsIFtOb25lXSlbMF0KK3Jh
bmRvbV9pZCA9IHF1ZXJ5LmdldCgncmFuZG9tX2lkJywgW05vbmVdKVswXQordXJsID0gcXVlcnku
Z2V0KCd1cmwnLCBbJyddKVswXQorCitpZiBjb2RlIGlzIE5vbmU6CisgICAgY29kZSA9IDMwMgor
c3lzLnN0ZG91dC53cml0ZSgnc3RhdHVzOiB7fVxyXG4nLmZvcm1hdChpbnQoY29kZSkpKQorCitp
ZiByYW5kb21faWQgaXMgbm90IE5vbmU6CisgICAgaWRlbnQgPSAnJworICAgIGNoYXJzZXQgPSAn
QUJDREVGR0hJS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODknCisgICAgZm9yIF8gaW4gcmFuZ2Uo
MCwgMTYpOgorICAgICAgICBpZGVudCArPSBjaGFyc2V0W3JhbmRpbnQoMCwgbGVuKGNoYXJzZXQp
IC0gMSldCisgICAgc3lzLnN0ZG91dC53cml0ZSgnTG9jYXRpb246IHt9P2lkPXt9XHJcbicuZm9y
bWF0KHVybCwgaWRlbnQpKQorZWxzZToKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdMb2NhdGlvbjog
e31cclxuJy5mb3JtYXQodXJsKSkKKworaWYgZXhwaXJhdGlvbiBpcyBub3QgTm9uZToKKyAgICBl
eHBpcmVzID0gJ3t9ICswMDAwJy5mb3JtYXQoZXhwaXJlcy5zdHJmdGltZSgnJWEsICVkICViICVZ
ICVIOiVNOiVTJykpCisgICAgc3lzLnN0ZG91dC53cml0ZSgnRXhwaXJlczoge31cclxuJy5mb3Jt
YXQoZXhwaXJlcykpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4
dC9odG1sXHJcbicKKyAgICAnQ2FjaGUtQ29udHJvbDoge31cclxuXHJcbicuZm9ybWF0KGNhY2hl
X2NvbnRyb2wpCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGUtY29udHJv
bC1yZWRpcmVjdC5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsx
ICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Blcm1hbmVudC1yZWRpcmVjdC5waHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvcGVybWFuZW50
LXJlZGlyZWN0LnBocAkocmV2aXNpb24gMjc0OTM4KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMvcGVybWFuZW50LXJlZGlyZWN0LnBocAkobm9uZXhpc3RlbnQpCkBA
IC0xLDYgKzAsMCBAQAotPD8KLSRsb2NhdGlvbiA9ICRfR0VUWydsb2NhdGlvbiddOwotCi1oZWFk
ZXIoJ0hUVFAvMS4xIDMwMSBQZXJtYW5lbnQgUmVkaXJlY3QnKTsKLWhlYWRlcignTG9jYXRpb246
JyAuICRsb2NhdGlvbik7Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9y
ZXNvdXJjZXMveC1mcmFtZS1vcHRpb25zLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94LWZyYW1lLW9wdGlvbnMucGhwCShyZXZpc2lvbiAy
NzQ5MzgpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94LWZyYW1l
LW9wdGlvbnMucGhwCShub25leGlzdGVudCkKQEAgLTEsMjYgKzAsMCBAQAotPD9waHANCi1yZXF1
aXJlX29uY2UgJy4uLy4uL3Jlc291cmNlcy9wb3J0YWJpbGl0eUxheWVyLnBocCc7DQotDQotY2xl
YXJzdGF0Y2FjaGUoKTsNCi0NCi1pZiAoJF9TRVJWRVJbIkhUVFBfSUZfTU9ESUZJRURfU0lOQ0Ui
XSkgew0KLSAgICBoZWFkZXIoIkhUVFAvMS4wIDMwNCBOb3QgTW9kaWZpZWQiKTsNCi0gICAgZXhp
dCgpOw0KLX0NCi0kb25lX3llYXIgPSAxMiAqIDMxICogMjQgKiA2MCAqIDYwOw0KLSRsYXN0X21v
ZGlmaWVkID0gZ21kYXRlKERBVEVfUkZDMTEyMywgdGltZSgpIC0gJG9uZV95ZWFyKTsNCi0kZXhw
aXJlcyA9IGdtZGF0ZShEQVRFX1JGQzExMjMsIHRpbWUoKSArICRvbmVfeWVhcik7DQotCi0NCi1o
ZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBtYXgtYWdlPScgLiAkb25lX3llYXIpOw0K
LWhlYWRlcignRXhwaXJlczogJyAuICRleHBpcmVzKTsNCi1oZWFkZXIoJ0NvbnRlbnQtVHlwZTog
dGV4dC9odG1sJyk7DQotaGVhZGVyKCdFdGFnOiAxMjM0NTY3ODknKTsNCi1oZWFkZXIoJ0xhc3Qt
TW9kaWZpZWQ6ICcgLiAkbGFzdF9tb2RpZmllZCk7DQotaGVhZGVyKCdYLUZSQU1FLU9QVElPTlM6
IEFMTE9XQUxMJyk7Ci0KLWVjaG8gIjxib2R5PjxzY3JpcHQ+XG4iOwotZWNobyAid2luZG93Lm9u
bG9hZCA9IGZ1bmN0aW9uKCkgeyB3aW5kb3cucGFyZW50LnRlc3QoKTsgfVxuIjsKLWVjaG8gIjwv
c2NyaXB0PjwvYm9keT5cbiI7Ci0NCi0/Pg0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5weQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94LWZyYW1lLW9wdGlvbnMucHkJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveC1mcmFt
ZS1vcHRpb25zLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKKyMhL3Vzci9iaW4v
ZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitmcm9tIGRhdGV0aW1lIGltcG9y
dCBkYXRldGltZSwgdGltZWRlbHRhCisKK21vZGlmaWVkX3NpbmNlID0gb3MuZW52aXJvbi5nZXQo
J0hUVFBfSUZfTU9ESUZJRURfU0lOQ0UnLCAnJykKKworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVu
dC1UeXBlOiB0ZXh0L2h0bWxcclxuJykKKworaWYgbW9kaWZpZWRfc2luY2U6CisgICAgc3lzLnN0
ZG91dC53cml0ZSgnc3RhdHVzOiAzMDRcclxuXHJcbicpCisgICAgc3lzLmV4aXQoMCkKKworb25l
X3llYXIgPSAxMiAqIDMxICogMjQgKiA2MCAqIDYwCitsYXN0X21vZGlmaWVkID0gJ3t9ICswMDAw
Jy5mb3JtYXQoKGRhdGV0aW1lLnV0Y25vdygpIC0gdGltZWRlbHRhKHNlY29uZHM9b25lX3llYXIp
KS5zdHJmdGltZSgnJWEsICVkICViICVZICVIOiVNOiVTJykpCitleHBpcmVzID0gJ3t9ICswMDAw
Jy5mb3JtYXQoKGRhdGV0aW1lLnV0Y25vdygpICsgdGltZWRlbHRhKHNlY29uZHM9b25lX3llYXIp
KS5zdHJmdGltZSgnJWEsICVkICViICVZICVIOiVNOiVTJykpCisKK3N5cy5zdGRvdXQud3JpdGUo
CisgICAgJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBtYXgtYWdlPXt9XHJcbicKKyAgICAnRXhw
aXJlczoge31cclxuJworICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nCisgICAgJ0V0
YWc6IDEyMzQ1Njc4OVxyXG4nCisgICAgJ0xhc3QtTW9kaWZpZWQ6IHt9XHJcbicKKyAgICAnWC1G
UkFNRS1PUFRJT05TOiBBTExPV0FMTFxyXG5cclxuJworICAgICc8Ym9keT48c2NyaXB0PlxuJwor
ICAgICd3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7eyB3aW5kb3cucGFyZW50LnRlc3QoKTsg
fX1cbicKKyAgICAnPC9zY3JpcHQ+PC9ib2R5PlxuJy5mb3JtYXQob25lX3llYXIsIGV4cGlyZXMs
IGxhc3RfbW9kaWZpZWQpCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveC1mcmFt
ZS1vcHRpb25zLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEg
IyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3dpbmRvdy1vcGVuLXJlZGlyZWN0LWFuZC1yZW1vdmUtb3Bl
bmVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L3dpbmRvdy1vcGVuLXJlZGlyZWN0LWFuZC1yZW1vdmUtb3BlbmVyLmh0bWwJKHJldmlzaW9uIDI3
NDkzOCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi93aW5kb3ctb3Blbi1y
ZWRpcmVjdC1hbmQtcmVtb3ZlLW9wZW5lci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xOCw3ICsx
OCw3IEBAIGZ1bmN0aW9uIHJlbW92ZUlmcmFtZUEoKQogPHA+VGVzdHMgdGhhdCB3ZSBkbyBub3Qg
Y3Jhc2ggd2hlbiByZW1vdmluZyB0aGUgb3BlbmVyIGFmdGVyIHVzaW5nIHdpbmRvdy5vcGVuKCkg
dG8gbG9hZCBhIHJlc291cmNlIHRoYXQgcmVkaXJlY3RzLjwvcD4KIDxpZnJhbWUgbmFtZT0iQSIg
c3JjZG9jPScKIDxzY3JpcHQ+Ci13aW5kb3cub3BlbigiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nh
Y2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0LnBocD91cmw9aHR0cDovLzEyNy4w
LjAuMTo4MDAwL25hdmlnYXRpb24vcmVzb3VyY2VzL3dpbmRvdy1vcGVuLXJlZGlyZWN0LWFuZC1y
ZW1vdmUtb3BlbmVyLmh0bWwiLCAiQiIpOword2luZG93Lm9wZW4oImh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9jYWNoZS9yZXNvdXJjZXMvY2FjaGUtY29udHJvbC1yZWRpcmVjdC5weT91cmw9aHR0cDov
LzEyNy4wLjAuMTo4MDAwL25hdmlnYXRpb24vcmVzb3VyY2VzL3dpbmRvdy1vcGVuLXJlZGlyZWN0
LWFuZC1yZW1vdmUtb3BlbmVyLmh0bWwiLCAiQiIpOwogcGFyZW50LnJlbW92ZUlmcmFtZUEoKTsK
IDwvc2NyaXB0PgogJz48L2lmcmFtZT4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1s
aHR0cHJlcXVlc3QvY2FjaGVhYmxlLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1jcmFzaC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvY2FjaGVh
YmxlLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1jcmFzaC5odG1sCShyZXZpc2lvbiAyNzQ5MzgpCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2NhY2hlYWJsZS1jcm9zcy1v
cmlnaW4tcmVkaXJlY3QtY3Jhc2guaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNiw3ICs2LDcgQEAK
IGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHdlIGRvIG5vdCBjcmFzaCB3aGVuIFhIUiByZXVzZXMg
YSBjYWNoZWQgcmVzb3VyY2UgdGhhdCBjb250YWlucyBhIHNpbXBsZSBjcm9zcyBvcmlnaW4gcmVk
aXJlY3QuIik7CiBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotY29uc3QgdXJsID0gIi9jYWNoZS9y
ZXNvdXJjZXMvY2FjaGUtY29udHJvbC1yZWRpcmVjdC5waHA/Y29kZT0zMDImY2FjaGVfY29udHJv
bD1wdWJsaWMsbWF4LWFnZT0xMDAwJnVybD1odHRwJTNBJTJGJTJGbG9jYWxob3N0JTNBODAwMCUy
RnNlY3VyaXR5JTJGcmVzb3VyY2VzJTJGYWxsb3ctaWYtb3JpZ2luLnB5JTNGYWxsb3dDYWNoZSUy
NmFsbG93Q3JlZGVudGlhbHMlMjZvcmlnaW4lM0RodHRwJTI1M0ElMjUyRiUyNTJGMTI3LjAuMC4x
JTI1M0E4MDAwIjsKK2NvbnN0IHVybCA9ICIvY2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wt
cmVkaXJlY3QucHk/Y29kZT0zMDImY2FjaGVfY29udHJvbD1wdWJsaWMsbWF4LWFnZT0xMDAwJnVy
bD1odHRwJTNBJTJGJTJGbG9jYWxob3N0JTNBODAwMCUyRnNlY3VyaXR5JTJGcmVzb3VyY2VzJTJG
YWxsb3ctaWYtb3JpZ2luLnB5JTNGYWxsb3dDYWNoZSUyNmFsbG93Q3JlZGVudGlhbHMlMjZvcmln
aW4lM0RodHRwJTI1M0ElMjUyRiUyNTJGMTI3LjAuMC4xJTI1M0E4MDAwIjsKIAogeGhyID0gbmV3
IFhNTEh0dHBSZXF1ZXN0KCk7CiB4aHIud2l0aENyZWRlbnRpYWxzID0gdHJ1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424139</attachid>
            <date>2021-03-24 09:11:09 -0700</date>
            <delta_ts>2021-03-24 10:14:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222935-20210324121107.patch</filename>
            <type>text/plain</type>
            <size>10648</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NDk0MCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDIxLTAzLTI0ICBDaHJpcyBHYW1icmVsbCAg
PGNnYW1icmVsbEBhcHBsZS5jb20+CisKKyAgICAgICAgW0xheW91dFRlc3RzXSBDb252ZXJ0IGh0
dHAvdGVzdHMvY2FjaGUgY29udmVydCBQSFAgdG8gUHl0aG9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI5MzUKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzc1MTgzMzE0PgorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvY2FjaGUtcmVkaXJlY3Rpb25zLmh0bWw6CisgICAgICAg
ICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGUtY29udHJvbC1yZWRpcmVjdC5waHA6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGUtY29u
dHJvbC1yZWRpcmVjdC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNv
dXJjZXMvcGVybWFuZW50LXJlZGlyZWN0LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy94LWZyYW1lLW9wdGlvbnMucGhwOiBSZW1vdmVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5weTogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS94LWZyYW1lLW9wdGlvbnMtMzA0Lmh0bWw6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3dpbmRvdy1vcGVuLXJlZGlyZWN0LWFuZC1y
ZW1vdmUtb3BlbmVyLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9j
YWNoZWFibGUtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWNyYXNoLmh0bWw6CisKIDIwMjEtMDMtMjQg
IENocmlzIExvcmQgIDxjbG9yZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHTElCXSBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY2FudmFzL29mZnNjcmVlbi9tYW51YWwvZHJh
dy1nZW5lcmljLWZhbWlseS8yZC50ZXh0LmRyYXcuZ2VuZXJpYy5mYW1pbHkudy5odG1sIGlzIGZs
YWt5IGZhaWxpbmcKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY2FjaGUtcmVk
aXJlY3Rpb25zLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9jYWNoZS1yZWRpcmVjdGlvbnMuaHRtbAkocmV2aXNpb24gMjc0OTQwKQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9jYWNoZS1yZWRpcmVjdGlvbnMuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMTUsNyArMTUsNyBAQCB0ZXN0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBjb3VudGVy
ID0gMDsKIHZhciByZXNvdXJjZSA9ICJObyI7Ci12YXIgYmFzZVVSTCA9ICJyZXNvdXJjZXMvY2Fj
aGUtY29udHJvbC1yZWRpcmVjdC5waHA/Y29kZT0zMDImdXJsPWNhY2hlYWJsZS1yYW5kb20tdGV4
dC5weSZyYW5kb21faWQ9MSI7Cit2YXIgYmFzZVVSTCA9ICJyZXNvdXJjZXMvY2FjaGUtY29udHJv
bC1yZWRpcmVjdC5weT9jb2RlPTMwMiZ1cmw9Y2FjaGVhYmxlLXJhbmRvbS10ZXh0LnB5JnJhbmRv
bV9pZD0xIjsKIHZhciB0ZXN0Q2FzZXMgPSBbCiB7bmFtZSA6ICJTaG91bGQgcmV1c2UgcmVzb3Vy
Y2UgKGNhY2hlYWJsZSByZWRpcmVjdGlvbikiLCBleHBlY3RlZCA6IHRydWUsIHVybCA6IGJhc2VV
UkwgKyAiJmNhY2hlX2NvbnRyb2w9cHVibGljLCBtYXgtYWdlPTEwMDAiLCByZWxvYWREZWxheSA6
IDB9LAoge25hbWUgOiAiU2hvdWxkIHJlbG9hZCByZXNvdXJjZSAobm8tc3RvcmUgcmVkaXJlY3Rp
b24pIiwgZXhwZWN0ZWQgOiBmYWxzZSwgdXJsOiBiYXNlVVJMICsgIiZjYWNoZV9jb250cm9sPW5v
LXN0b3JlJm1heF9hZ2U9MTAwMCIsIHJlbG9hZERlbGF5IDogMH0sCkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3gtZnJhbWUtb3B0aW9ucy0zMDQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3gtZnJhbWUtb3B0aW9ucy0zMDQuaHRtbAko
cmV2aXNpb24gMjc0OTQwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS94LWZyYW1l
LW9wdGlvbnMtMzA0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE3LDkgKzE3LDkgQEAgZnVuY3Rp
b24gdGVzdCgpIHsKIAogICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuYm9k
eS5sYXN0Q2hpbGQpOwogICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJp
ZnJhbWUiKTsKLSAgICBpZnJhbWUuc3JjID0gInJlc291cmNlcy94LWZyYW1lLW9wdGlvbnMucGhw
IgorICAgIGlmcmFtZS5zcmMgPSAicmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5weSIKICAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7CiB9CiA8L3NjcmlwdD4KLTxpZnJhbWUg
c3JjPSJyZXNvdXJjZXMveC1mcmFtZS1vcHRpb25zLnBocCI+PC9pZnJhbWU+Cis8aWZyYW1lIHNy
Yz0icmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5weSI+PC9pZnJhbWU+CiA8L2JvZHk+CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJl
ZGlyZWN0LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0LnBocAkocmV2aXNpb24gMjc0OTQwKQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGUtY29udHJvbC1yZWRp
cmVjdC5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwyNyArMCwwIEBACi08P3BocAotICAgICRjb2Rl
ID0gJF9HRVRbJ2NvZGUnXTsKLSAgICBpZiAoIWlzc2V0KCRjb2RlKSkKLSAgICAgICAgJGNvZGUg
PSAzMDI7Ci0gICAgaGVhZGVyKCdIVFRQLzEuMSAnIC4gJGNvZGUpOwotCi0gICAgJHVybCA9ICRf
R0VUWyd1cmwnXTsKLSAgICAkcmFuZG9tX2lkID0gJF9HRVRbJ3JhbmRvbV9pZCddOwotICAgIGlm
IChpc3NldCgkcmFuZG9tX2lkKSkgewotICAgICAgICAkaWQgPSAnJzsKLSAgICAgICAgJGNoYXJz
ZXQgPSAnQUJDREVGR0hJS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODknOwotICAgICAgICBmb3Ig
KCRpID0gMDsgJGkgPCAxNjsgJGkrKykKLSAgICAgICAgICAgICRpZCAuPSAkY2hhcnNldFtyYW5k
KDAsIHN0cmxlbigkY2hhcnNldCkgLSAxKV07Ci0gICAgICAgIGhlYWRlcignTG9jYXRpb246ICcg
LiAkdXJsIC4gJz9pZD0nIC4gJGlkKTsKLSAgICB9Ci0gICAgZWxzZQotICAgICAgICBoZWFkZXIo
J0xvY2F0aW9uOiAnIC4gJHVybCk7Ci0KLSAgICAkZXhwaXJhdGlvbiA9ICRfR0VUWydleHBpcmF0
aW9uJ107Ci0gICAgaWYgKGlzc2V0KCRleHBpcmF0aW9uKSkgewotICAgICAgICAkZXhwaXJlcyA9
IGdtZGF0ZShEQVRFX1JGQzExMjMsIHRpbWUoKSArICRleHBpcmF0aW9uKTsKLSAgICAgICAgaGVh
ZGVyKCdFeHBpcmVzOiAnIC4gJGV4cGlyZXMpOwotICAgIH0KLQotICAgICRjYWNoZV9jb250cm9s
ID0gJF9HRVRbJ2NhY2hlX2NvbnRyb2wnXTsKLSAgICBoZWFkZXIoJ0NhY2hlLUNvbnRyb2w6ICcg
LiAkY2FjaGVfY29udHJvbCk7Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9yZXNvdXJjZXMvY2FjaGUtY29udHJvbC1yZWRpcmVjdC5weQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0
LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
NSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zy
b20gcmFuZG9tIGltcG9ydCByYW5kaW50Citmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2Vf
cXMKKworcXVlcnkgPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycp
LCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKQorY2FjaGVfY29udHJvbCA9IHF1ZXJ5LmdldCgnY2Fj
aGVfY29udHJvbCcsIFsnJ10pWzBdCitjb2RlID0gcXVlcnkuZ2V0KCdjb2RlJywgW05vbmVdKVst
MV0KK2V4cGlyYXRpb24gPSBxdWVyeS5nZXQoJ2V4cGlyYXRpb24nLCBbTm9uZV0pWzBdCityYW5k
b21faWQgPSBxdWVyeS5nZXQoJ3JhbmRvbV9pZCcsIFtOb25lXSlbMF0KK3VybCA9IHF1ZXJ5Lmdl
dCgndXJsJywgWycnXSlbMF0KKworaWYgY29kZSBpcyBOb25lOgorICAgIGNvZGUgPSAzMDIKK3N5
cy5zdGRvdXQud3JpdGUoJ3N0YXR1czoge31cclxuJy5mb3JtYXQoaW50KGNvZGUpKSkKKworaWYg
cmFuZG9tX2lkIGlzIG5vdCBOb25lOgorICAgIGlkZW50ID0gJycKKyAgICBjaGFyc2V0ID0gJ0FC
Q0RFRkdISUtMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5JworICAgIGZvciBfIGluIHJhbmdlKDAs
IDE2KToKKyAgICAgICAgaWRlbnQgKz0gY2hhcnNldFtyYW5kaW50KDAsIGxlbihjaGFyc2V0KSAt
IDEpXQorICAgIHN5cy5zdGRvdXQud3JpdGUoJ0xvY2F0aW9uOiB7fT9pZD17fVxyXG4nLmZvcm1h
dCh1cmwsIGlkZW50KSkKK2Vsc2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgnTG9jYXRpb246IHt9
XHJcbicuZm9ybWF0KHVybCkpCisKK2lmIGV4cGlyYXRpb24gaXMgbm90IE5vbmU6CisgICAgZXhw
aXJlcyA9ICd7fSArMDAwMCcuZm9ybWF0KGV4cGlyZXMuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAl
SDolTTolUycpKQorICAgIHN5cy5zdGRvdXQud3JpdGUoJ0V4cGlyZXM6IHt9XHJcbicuZm9ybWF0
KGV4cGlyZXMpKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdDb250ZW50LVR5cGU6IHRleHQv
aHRtbFxyXG4nCisgICAgJ0NhY2hlLUNvbnRyb2w6IHt9XHJcblxyXG4nLmZvcm1hdChjYWNoZV9j
b250cm9sKQorKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wt
cmVkaXJlY3QucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAj
IworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucGhwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Blcm1hbmVudC1y
ZWRpcmVjdC5waHAJKHJldmlzaW9uIDI3NDk0MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL3Blcm1hbmVudC1yZWRpcmVjdC5waHAJKG5vbmV4aXN0ZW50KQpAQCAt
MSw2ICswLDAgQEAKLTw/Ci0kbG9jYXRpb24gPSAkX0dFVFsnbG9jYXRpb24nXTsKLQotaGVhZGVy
KCdIVFRQLzEuMSAzMDEgUGVybWFuZW50IFJlZGlyZWN0Jyk7Ci1oZWFkZXIoJ0xvY2F0aW9uOicg
LiAkbG9jYXRpb24pOwotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveC1mcmFtZS1vcHRpb25zLnBocAkocmV2aXNpb24gMjc0
OTQwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveC1mcmFtZS1v
cHRpb25zLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDI2ICswLDAgQEAKLTw/cGhwDQotcmVxdWly
ZV9vbmNlICcuLi8uLi9yZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXllci5waHAnOw0KLQ0KLWNsZWFy
c3RhdGNhY2hlKCk7DQotDQotaWYgKCRfU0VSVkVSWyJIVFRQX0lGX01PRElGSUVEX1NJTkNFIl0p
IHsNCi0gICAgaGVhZGVyKCJIVFRQLzEuMCAzMDQgTm90IE1vZGlmaWVkIik7DQotICAgIGV4aXQo
KTsNCi19DQotJG9uZV95ZWFyID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MDsNCi0kbGFzdF9tb2Rp
ZmllZCA9IGdtZGF0ZShEQVRFX1JGQzExMjMsIHRpbWUoKSAtICRvbmVfeWVhcik7DQotJGV4cGly
ZXMgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgKyAkb25lX3llYXIpOw0KLQotDQotaGVh
ZGVyKCdDYWNoZS1Db250cm9sOiBuby1jYWNoZSwgbWF4LWFnZT0nIC4gJG9uZV95ZWFyKTsNCi1o
ZWFkZXIoJ0V4cGlyZXM6ICcgLiAkZXhwaXJlcyk7DQotaGVhZGVyKCdDb250ZW50LVR5cGU6IHRl
eHQvaHRtbCcpOw0KLWhlYWRlcignRXRhZzogMTIzNDU2Nzg5Jyk7DQotaGVhZGVyKCdMYXN0LU1v
ZGlmaWVkOiAnIC4gJGxhc3RfbW9kaWZpZWQpOw0KLWhlYWRlcignWC1GUkFNRS1PUFRJT05TOiBB
TExPV0FMTCcpOwotCi1lY2hvICI8Ym9keT48c2NyaXB0PlxuIjsKLWVjaG8gIndpbmRvdy5vbmxv
YWQgPSBmdW5jdGlvbigpIHsgd2luZG93LnBhcmVudC50ZXN0KCk7IH1cbiI7Ci1lY2hvICI8L3Nj
cmlwdD48L2JvZHk+XG4iOwotDQotPz4NCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy94LWZyYW1lLW9wdGlvbnMucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveC1mcmFtZS1vcHRpb25zLnB5CShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3gtZnJhbWUt
b3B0aW9ucy5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5IEBACisjIS91c3IvYmluL2Vu
diBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSBkYXRldGltZSBpbXBvcnQg
ZGF0ZXRpbWUsIHRpbWVkZWx0YQorCittb2RpZmllZF9zaW5jZSA9IG9zLmVudmlyb24uZ2V0KCdI
VFRQX0lGX01PRElGSUVEX1NJTkNFJywgJycpCisKK3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQt
VHlwZTogdGV4dC9odG1sXHJcbicpCisKK2lmIG1vZGlmaWVkX3NpbmNlOgorICAgIHN5cy5zdGRv
dXQud3JpdGUoJ3N0YXR1czogMzA0XHJcblxyXG4nKQorICAgIHN5cy5leGl0KDApCisKK29uZV95
ZWFyID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MAorbGFzdF9tb2RpZmllZCA9ICd7fSArMDAwMCcu
Zm9ybWF0KChkYXRldGltZS51dGNub3coKSAtIHRpbWVkZWx0YShzZWNvbmRzPW9uZV95ZWFyKSku
c3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorZXhwaXJlcyA9ICd7fSArMDAwMCcu
Zm9ybWF0KChkYXRldGltZS51dGNub3coKSArIHRpbWVkZWx0YShzZWNvbmRzPW9uZV95ZWFyKSku
c3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorCitzeXMuc3Rkb3V0LndyaXRlKAor
ICAgICdDYWNoZS1Db250cm9sOiBuby1jYWNoZSwgbWF4LWFnZT17fVxyXG4nCisgICAgJ0V4cGly
ZXM6IHt9XHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJworICAgICdFdGFn
OiAxMjM0NTY3ODlcclxuJworICAgICdMYXN0LU1vZGlmaWVkOiB7fVxyXG4nCisgICAgJ1gtRlJB
TUUtT1BUSU9OUzogQUxMT1dBTExcclxuXHJcbicKKyAgICAnPGJvZHk+PHNjcmlwdD5cbicKKyAg
ICAnd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkge3sgd2luZG93LnBhcmVudC50ZXN0KCk7IH19
XG4nCisgICAgJzwvc2NyaXB0PjwvYm9keT5cbicuZm9ybWF0KG9uZV95ZWFyLCBleHBpcmVzLCBs
YXN0X21vZGlmaWVkKQorKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3gtZnJhbWUt
b3B0aW9ucy5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMj
CisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbmF2aWdhdGlvbi93aW5kb3ctb3Blbi1yZWRpcmVjdC1hbmQtcmVtb3ZlLW9wZW5l
ci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi93
aW5kb3ctb3Blbi1yZWRpcmVjdC1hbmQtcmVtb3ZlLW9wZW5lci5odG1sCShyZXZpc2lvbiAyNzQ5
NDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vd2luZG93LW9wZW4tcmVk
aXJlY3QtYW5kLXJlbW92ZS1vcGVuZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTgsNyArMTgs
NyBAQCBmdW5jdGlvbiByZW1vdmVJZnJhbWVBKCkKIDxwPlRlc3RzIHRoYXQgd2UgZG8gbm90IGNy
YXNoIHdoZW4gcmVtb3ZpbmcgdGhlIG9wZW5lciBhZnRlciB1c2luZyB3aW5kb3cub3BlbigpIHRv
IGxvYWQgYSByZXNvdXJjZSB0aGF0IHJlZGlyZWN0cy48L3A+CiA8aWZyYW1lIG5hbWU9IkEiIHNy
Y2RvYz0nCiA8c2NyaXB0Pgotd2luZG93Lm9wZW4oImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNo
ZS9yZXNvdXJjZXMvY2FjaGUtY29udHJvbC1yZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9uYXZpZ2F0aW9uL3Jlc291cmNlcy93aW5kb3ctb3Blbi1yZWRpcmVjdC1hbmQtcmVt
b3ZlLW9wZW5lci5odG1sIiwgIkIiKTsKK3dpbmRvdy5vcGVuKCJodHRwOi8vMTI3LjAuMC4xOjgw
MDAvY2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3QucHk/dXJsPWh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL3Jlc291cmNlcy93aW5kb3ctb3Blbi1yZWRpcmVjdC1h
bmQtcmVtb3ZlLW9wZW5lci5odG1sIiwgIkIiKTsKIHBhcmVudC5yZW1vdmVJZnJhbWVBKCk7CiA8
L3NjcmlwdD4KICc+PC9pZnJhbWU+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L2NhY2hlYWJsZS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtY3Jhc2guaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2NhY2hlYWJs
ZS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtY3Jhc2guaHRtbAkocmV2aXNpb24gMjc0OTQwKQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9jYWNoZWFibGUtY3Jvc3Mtb3Jp
Z2luLXJlZGlyZWN0LWNyYXNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTYsNyArNiw3IEBACiBk
ZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB3ZSBkbyBub3QgY3Jhc2ggd2hlbiBYSFIgcmV1c2VzIGEg
Y2FjaGVkIHJlc291cmNlIHRoYXQgY29udGFpbnMgYSBzaW1wbGUgY3Jvc3Mgb3JpZ2luIHJlZGly
ZWN0LiIpOwoganNUZXN0SXNBc3luYyA9IHRydWU7CiAKLWNvbnN0IHVybCA9ICIvY2FjaGUvcmVz
b3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3QucGhwP2NvZGU9MzAyJmNhY2hlX2NvbnRyb2w9
cHVibGljLG1heC1hZ2U9MTAwMCZ1cmw9aHR0cCUzQSUyRiUyRmxvY2FsaG9zdCUzQTgwMDAlMkZz
ZWN1cml0eSUyRnJlc291cmNlcyUyRmFsbG93LWlmLW9yaWdpbi5weSUzRmFsbG93Q2FjaGUlMjZh
bGxvd0NyZWRlbnRpYWxzJTI2b3JpZ2luJTNEaHR0cCUyNTNBJTI1MkYlMjUyRjEyNy4wLjAuMSUy
NTNBODAwMCI7Citjb25zdCB1cmwgPSAiL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJl
ZGlyZWN0LnB5P2NvZGU9MzAyJmNhY2hlX2NvbnRyb2w9cHVibGljLG1heC1hZ2U9MTAwMCZ1cmw9
aHR0cCUzQSUyRiUyRmxvY2FsaG9zdCUzQTgwMDAlMkZzZWN1cml0eSUyRnJlc291cmNlcyUyRmFs
bG93LWlmLW9yaWdpbi5weSUzRmFsbG93Q2FjaGUlMjZhbGxvd0NyZWRlbnRpYWxzJTI2b3JpZ2lu
JTNEaHR0cCUyNTNBJTI1MkYlMjUyRjEyNy4wLjAuMSUyNTNBODAwMCI7CiAKIHhociA9IG5ldyBY
TUxIdHRwUmVxdWVzdCgpOwogeGhyLndpdGhDcmVkZW50aWFscyA9IHRydWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424151</attachid>
            <date>2021-03-24 10:14:43 -0700</date>
            <delta_ts>2021-03-31 18:34:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222935-20210324131442.patch</filename>
            <type>text/plain</type>
            <size>9549</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NDk0NCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDIxLTAzLTI0ICBDaHJpcyBHYW1icmVsbCAg
PGNnYW1icmVsbEBhcHBsZS5jb20+CisKKyAgICAgICAgW0xheW91dFRlc3RzXSBDb252ZXJ0IGh0
dHAvdGVzdHMvY2FjaGUgY29udmVydCBQSFAgdG8gUHl0aG9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI5MzUKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzc1MTgzMzE0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9jYWNoZS1yZWRpcmVjdGlvbnMuaHRtbDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0LnBo
cDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1j
b250cm9sLXJlZGlyZWN0LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5weTogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9jYWNoZS94LWZyYW1lLW9wdGlvbnMtMzA0Lmh0bWw6CisgICAgICAgICog
aHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3dpbmRvdy1vcGVuLXJlZGlyZWN0LWFuZC1yZW1vdmUtb3Bl
bmVyLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9jYWNoZWFibGUt
Y3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWNyYXNoLmh0bWw6CisKIDIwMjEtMDMtMjQgIENocmlzIExv
cmQgIDxjbG9yZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHTElCXSBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvY2FudmFzL29mZnNjcmVlbi9tYW51YWwvZHJhdy1nZW5lcmlj
LWZhbWlseS8yZC50ZXh0LmRyYXcuZ2VuZXJpYy5mYW1pbHkudy5odG1sIGlzIGZsYWt5IGZhaWxp
bmcKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvY2FjaGUtcmVkaXJlY3Rpb25z
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jYWNoZS1y
ZWRpcmVjdGlvbnMuaHRtbAkocmV2aXNpb24gMjc0OTQwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9jYWNoZS1yZWRpcmVjdGlvbnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTUs
NyArMTUsNyBAQCB0ZXN0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZhciBjb3VudGVyID0gMDsKIHZh
ciByZXNvdXJjZSA9ICJObyI7Ci12YXIgYmFzZVVSTCA9ICJyZXNvdXJjZXMvY2FjaGUtY29udHJv
bC1yZWRpcmVjdC5waHA/Y29kZT0zMDImdXJsPWNhY2hlYWJsZS1yYW5kb20tdGV4dC5weSZyYW5k
b21faWQ9MSI7Cit2YXIgYmFzZVVSTCA9ICJyZXNvdXJjZXMvY2FjaGUtY29udHJvbC1yZWRpcmVj
dC5weT9jb2RlPTMwMiZ1cmw9Y2FjaGVhYmxlLXJhbmRvbS10ZXh0LnB5JnJhbmRvbV9pZD0xIjsK
IHZhciB0ZXN0Q2FzZXMgPSBbCiB7bmFtZSA6ICJTaG91bGQgcmV1c2UgcmVzb3VyY2UgKGNhY2hl
YWJsZSByZWRpcmVjdGlvbikiLCBleHBlY3RlZCA6IHRydWUsIHVybCA6IGJhc2VVUkwgKyAiJmNh
Y2hlX2NvbnRyb2w9cHVibGljLCBtYXgtYWdlPTEwMDAiLCByZWxvYWREZWxheSA6IDB9LAoge25h
bWUgOiAiU2hvdWxkIHJlbG9hZCByZXNvdXJjZSAobm8tc3RvcmUgcmVkaXJlY3Rpb24pIiwgZXhw
ZWN0ZWQgOiBmYWxzZSwgdXJsOiBiYXNlVVJMICsgIiZjYWNoZV9jb250cm9sPW5vLXN0b3JlJm1h
eF9hZ2U9MTAwMCIsIHJlbG9hZERlbGF5IDogMH0sCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3gtZnJhbWUtb3B0aW9ucy0zMDQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3gtZnJhbWUtb3B0aW9ucy0zMDQuaHRtbAkocmV2aXNpb24g
Mjc0OTQwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS94LWZyYW1lLW9wdGlvbnMt
MzA0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE3LDkgKzE3LDkgQEAgZnVuY3Rpb24gdGVzdCgp
IHsKIAogICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuYm9keS5sYXN0Q2hp
bGQpOwogICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsK
LSAgICBpZnJhbWUuc3JjID0gInJlc291cmNlcy94LWZyYW1lLW9wdGlvbnMucGhwIgorICAgIGlm
cmFtZS5zcmMgPSAicmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5weSIKICAgICBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7CiB9CiA8L3NjcmlwdD4KLTxpZnJhbWUgc3JjPSJyZXNv
dXJjZXMveC1mcmFtZS1vcHRpb25zLnBocCI+PC9pZnJhbWU+Cis8aWZyYW1lIHNyYz0icmVzb3Vy
Y2VzL3gtZnJhbWUtb3B0aW9ucy5weSI+PC9pZnJhbWU+CiA8L2JvZHk+CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0LnBo
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9j
YWNoZS1jb250cm9sLXJlZGlyZWN0LnBocAkocmV2aXNpb24gMjc0OTQwKQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGUtY29udHJvbC1yZWRpcmVjdC5waHAJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwyNyArMCwwIEBACi08P3BocAotICAgICRjb2RlID0gJF9HRVRb
J2NvZGUnXTsKLSAgICBpZiAoIWlzc2V0KCRjb2RlKSkKLSAgICAgICAgJGNvZGUgPSAzMDI7Ci0g
ICAgaGVhZGVyKCdIVFRQLzEuMSAnIC4gJGNvZGUpOwotCi0gICAgJHVybCA9ICRfR0VUWyd1cmwn
XTsKLSAgICAkcmFuZG9tX2lkID0gJF9HRVRbJ3JhbmRvbV9pZCddOwotICAgIGlmIChpc3NldCgk
cmFuZG9tX2lkKSkgewotICAgICAgICAkaWQgPSAnJzsKLSAgICAgICAgJGNoYXJzZXQgPSAnQUJD
REVGR0hJS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODknOwotICAgICAgICBmb3IgKCRpID0gMDsg
JGkgPCAxNjsgJGkrKykKLSAgICAgICAgICAgICRpZCAuPSAkY2hhcnNldFtyYW5kKDAsIHN0cmxl
bigkY2hhcnNldCkgLSAxKV07Ci0gICAgICAgIGhlYWRlcignTG9jYXRpb246ICcgLiAkdXJsIC4g
Jz9pZD0nIC4gJGlkKTsKLSAgICB9Ci0gICAgZWxzZQotICAgICAgICBoZWFkZXIoJ0xvY2F0aW9u
OiAnIC4gJHVybCk7Ci0KLSAgICAkZXhwaXJhdGlvbiA9ICRfR0VUWydleHBpcmF0aW9uJ107Ci0g
ICAgaWYgKGlzc2V0KCRleHBpcmF0aW9uKSkgewotICAgICAgICAkZXhwaXJlcyA9IGdtZGF0ZShE
QVRFX1JGQzExMjMsIHRpbWUoKSArICRleHBpcmF0aW9uKTsKLSAgICAgICAgaGVhZGVyKCdFeHBp
cmVzOiAnIC4gJGV4cGlyZXMpOwotICAgIH0KLQotICAgICRjYWNoZV9jb250cm9sID0gJF9HRVRb
J2NhY2hlX2NvbnRyb2wnXTsKLSAgICBoZWFkZXIoJ0NhY2hlLUNvbnRyb2w6ICcgLiAkY2FjaGVf
Y29udHJvbCk7Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMvY2FjaGUtY29udHJvbC1yZWRpcmVjdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0LnB5CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hl
LWNvbnRyb2wtcmVkaXJlY3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNSBAQAorIyEv
dXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zyb20gcmFuZG9t
IGltcG9ydCByYW5kaW50Citmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMKKworcXVl
cnkgPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2Js
YW5rX3ZhbHVlcz1UcnVlKQorY2FjaGVfY29udHJvbCA9IHF1ZXJ5LmdldCgnY2FjaGVfY29udHJv
bCcsIFsnJ10pWzBdCitjb2RlID0gcXVlcnkuZ2V0KCdjb2RlJywgW05vbmVdKVstMV0KK2V4cGly
YXRpb24gPSBxdWVyeS5nZXQoJ2V4cGlyYXRpb24nLCBbTm9uZV0pWzBdCityYW5kb21faWQgPSBx
dWVyeS5nZXQoJ3JhbmRvbV9pZCcsIFtOb25lXSlbMF0KK3VybCA9IHF1ZXJ5LmdldCgndXJsJywg
WycnXSlbMF0KKworaWYgY29kZSBpcyBOb25lOgorICAgIGNvZGUgPSAzMDIKK3N5cy5zdGRvdXQu
d3JpdGUoJ3N0YXR1czoge31cclxuJy5mb3JtYXQoaW50KGNvZGUpKSkKKworaWYgcmFuZG9tX2lk
IGlzIG5vdCBOb25lOgorICAgIGlkZW50ID0gJycKKyAgICBjaGFyc2V0ID0gJ0FCQ0RFRkdISUtM
TU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5JworICAgIGZvciBfIGluIHJhbmdlKDAsIDE2KToKKyAg
ICAgICAgaWRlbnQgKz0gY2hhcnNldFtyYW5kaW50KDAsIGxlbihjaGFyc2V0KSAtIDEpXQorICAg
IHN5cy5zdGRvdXQud3JpdGUoJ0xvY2F0aW9uOiB7fT9pZD17fVxyXG4nLmZvcm1hdCh1cmwsIGlk
ZW50KSkKK2Vsc2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgnTG9jYXRpb246IHt9XHJcbicuZm9y
bWF0KHVybCkpCisKK2lmIGV4cGlyYXRpb24gaXMgbm90IE5vbmU6CisgICAgZXhwaXJlcyA9ICd7
fSArMDAwMCcuZm9ybWF0KGV4cGlyZXMuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycp
KQorICAgIHN5cy5zdGRvdXQud3JpdGUoJ0V4cGlyZXM6IHt9XHJcbicuZm9ybWF0KGV4cGlyZXMp
KQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4n
CisgICAgJ0NhY2hlLUNvbnRyb2w6IHt9XHJcblxyXG4nLmZvcm1hdChjYWNoZV9jb250cm9sKQor
KQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3Qu
cHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucGhwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Blcm1hbmVudC1yZWRpcmVjdC5w
aHAJKHJldmlzaW9uIDI3NDk0MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL3Blcm1hbmVudC1yZWRpcmVjdC5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw2ICswLDAg
QEAKLTw/Ci0kbG9jYXRpb24gPSAkX0dFVFsnbG9jYXRpb24nXTsKLQotaGVhZGVyKCdIVFRQLzEu
MSAzMDEgUGVybWFuZW50IFJlZGlyZWN0Jyk7Ci1oZWFkZXIoJ0xvY2F0aW9uOicgLiAkbG9jYXRp
b24pOwotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3gt
ZnJhbWUtb3B0aW9ucy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Jlc291cmNlcy94LWZyYW1lLW9wdGlvbnMucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveC1mcmFtZS1vcHRpb25zLnB5CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1w
b3J0IG9zCitpbXBvcnQgc3lzCitmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZSwgdGltZWRl
bHRhCisKK21vZGlmaWVkX3NpbmNlID0gb3MuZW52aXJvbi5nZXQoJ0hUVFBfSUZfTU9ESUZJRURf
U0lOQ0UnLCAnJykKKworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxc
clxuJykKKworaWYgbW9kaWZpZWRfc2luY2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgnc3RhdHVz
OiAzMDRcclxuXHJcbicpCisgICAgc3lzLmV4aXQoMCkKKworb25lX3llYXIgPSAxMiAqIDMxICog
MjQgKiA2MCAqIDYwCitsYXN0X21vZGlmaWVkID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1l
LnV0Y25vdygpIC0gdGltZWRlbHRhKHNlY29uZHM9b25lX3llYXIpKS5zdHJmdGltZSgnJWEsICVk
ICViICVZICVIOiVNOiVTJykpCitleHBpcmVzID0gJ3t9ICswMDAwJy5mb3JtYXQoKGRhdGV0aW1l
LnV0Y25vdygpICsgdGltZWRlbHRhKHNlY29uZHM9b25lX3llYXIpKS5zdHJmdGltZSgnJWEsICVk
ICViICVZICVIOiVNOiVTJykpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NhY2hlLUNvbnRy
b2w6IG5vLWNhY2hlLCBtYXgtYWdlPXt9XHJcbicKKyAgICAnRXhwaXJlczoge31cclxuJworICAg
ICdDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4nCisgICAgJ0V0YWc6IDEyMzQ1Njc4OVxyXG4n
CisgICAgJ0xhc3QtTW9kaWZpZWQ6IHt9XHJcbicKKyAgICAnWC1GUkFNRS1PUFRJT05TOiBBTExP
V0FMTFxyXG5cclxuJworICAgICc8Ym9keT48c2NyaXB0PlxuJworICAgICd3aW5kb3cub25sb2Fk
ID0gZnVuY3Rpb24oKSB7eyB3aW5kb3cucGFyZW50LnRlc3QoKTsgfX1cbicKKyAgICAnPC9zY3Jp
cHQ+PC9ib2R5PlxuJy5mb3JtYXQob25lX3llYXIsIGV4cGlyZXMsIGxhc3RfbW9kaWZpZWQpCisp
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveC1mcmFtZS1vcHRpb25zLnB5Cl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL3dpbmRvdy1vcGVuLXJlZGlyZWN0LWFuZC1yZW1vdmUtb3BlbmVyLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3dpbmRvdy1vcGVuLXJlZGly
ZWN0LWFuZC1yZW1vdmUtb3BlbmVyLmh0bWwJKHJldmlzaW9uIDI3NDk0MCkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi93aW5kb3ctb3Blbi1yZWRpcmVjdC1hbmQtcmVtb3Zl
LW9wZW5lci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xOCw3ICsxOCw3IEBAIGZ1bmN0aW9uIHJl
bW92ZUlmcmFtZUEoKQogPHA+VGVzdHMgdGhhdCB3ZSBkbyBub3QgY3Jhc2ggd2hlbiByZW1vdmlu
ZyB0aGUgb3BlbmVyIGFmdGVyIHVzaW5nIHdpbmRvdy5vcGVuKCkgdG8gbG9hZCBhIHJlc291cmNl
IHRoYXQgcmVkaXJlY3RzLjwvcD4KIDxpZnJhbWUgbmFtZT0iQSIgc3JjZG9jPScKIDxzY3JpcHQ+
Ci13aW5kb3cub3BlbigiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2NhY2hlL3Jlc291cmNlcy9jYWNo
ZS1jb250cm9sLXJlZGlyZWN0LnBocD91cmw9aHR0cDovLzEyNy4wLjAuMTo4MDAwL25hdmlnYXRp
b24vcmVzb3VyY2VzL3dpbmRvdy1vcGVuLXJlZGlyZWN0LWFuZC1yZW1vdmUtb3BlbmVyLmh0bWwi
LCAiQiIpOword2luZG93Lm9wZW4oImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJj
ZXMvY2FjaGUtY29udHJvbC1yZWRpcmVjdC5weT91cmw9aHR0cDovLzEyNy4wLjAuMTo4MDAwL25h
dmlnYXRpb24vcmVzb3VyY2VzL3dpbmRvdy1vcGVuLXJlZGlyZWN0LWFuZC1yZW1vdmUtb3BlbmVy
Lmh0bWwiLCAiQiIpOwogcGFyZW50LnJlbW92ZUlmcmFtZUEoKTsKIDwvc2NyaXB0PgogJz48L2lm
cmFtZT4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvY2FjaGVh
YmxlLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1jcmFzaC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvY2FjaGVhYmxlLWNyb3NzLW9yaWdpbi1y
ZWRpcmVjdC1jcmFzaC5odG1sCShyZXZpc2lvbiAyNzQ5NDApCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L2NhY2hlYWJsZS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtY3Jh
c2guaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNiw3ICs2LDcgQEAKIGRlc2NyaXB0aW9uKCJUZXN0
cyB0aGF0IHdlIGRvIG5vdCBjcmFzaCB3aGVuIFhIUiByZXVzZXMgYSBjYWNoZWQgcmVzb3VyY2Ug
dGhhdCBjb250YWlucyBhIHNpbXBsZSBjcm9zcyBvcmlnaW4gcmVkaXJlY3QuIik7CiBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKIAotY29uc3QgdXJsID0gIi9jYWNoZS9yZXNvdXJjZXMvY2FjaGUtY29u
dHJvbC1yZWRpcmVjdC5waHA/Y29kZT0zMDImY2FjaGVfY29udHJvbD1wdWJsaWMsbWF4LWFnZT0x
MDAwJnVybD1odHRwJTNBJTJGJTJGbG9jYWxob3N0JTNBODAwMCUyRnNlY3VyaXR5JTJGcmVzb3Vy
Y2VzJTJGYWxsb3ctaWYtb3JpZ2luLnB5JTNGYWxsb3dDYWNoZSUyNmFsbG93Q3JlZGVudGlhbHMl
MjZvcmlnaW4lM0RodHRwJTI1M0ElMjUyRiUyNTJGMTI3LjAuMC4xJTI1M0E4MDAwIjsKK2NvbnN0
IHVybCA9ICIvY2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3QucHk/Y29kZT0z
MDImY2FjaGVfY29udHJvbD1wdWJsaWMsbWF4LWFnZT0xMDAwJnVybD1odHRwJTNBJTJGJTJGbG9j
YWxob3N0JTNBODAwMCUyRnNlY3VyaXR5JTJGcmVzb3VyY2VzJTJGYWxsb3ctaWYtb3JpZ2luLnB5
JTNGYWxsb3dDYWNoZSUyNmFsbG93Q3JlZGVudGlhbHMlMjZvcmlnaW4lM0RodHRwJTI1M0ElMjUy
RiUyNTJGMTI3LjAuMC4xJTI1M0E4MDAwIjsKIAogeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7
CiB4aHIud2l0aENyZWRlbnRpYWxzID0gdHJ1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424856</attachid>
            <date>2021-03-31 18:34:25 -0700</date>
            <delta_ts>2021-04-01 14:33:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222935-20210331213424.patch</filename>
            <type>text/plain</type>
            <size>10546</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NTMzMikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDIxLTAzLTMxICBDaHJpcyBHYW1icmVsbCAg
PGNnYW1icmVsbEBhcHBsZS5jb20+CisKKyAgICAgICAgW0xheW91dFRlc3RzXSBDb252ZXJ0IGh0
dHAvdGVzdHMvY2FjaGUgY29udmVydCBQSFAgdG8gUHl0aG9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI5MzUKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzc1MTgzMzE0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9jYWNoZS1yZWRpcmVjdGlvbnMuaHRtbDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0LnBo
cDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1j
b250cm9sLXJlZGlyZWN0LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5waHA6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveC1mcmFtZS1vcHRpb25zLnB5OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3gtZnJhbWUtb3B0aW9ucy0zMDQuaHRtbDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL25hdmlnYXRpb24vd2luZG93LW9wZW4tcmVkaXJlY3QtYW5k
LXJlbW92ZS1vcGVuZXIuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L2NhY2hlYWJsZS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtY3Jhc2guaHRtbDoKKwogMjAyMS0wMy0z
MSAgQ2hyaXMgR2FtYnJlbGwgIDxjZ2FtYnJlbGxAYXBwbGUuY29tPgogCiAgICAgICAgIFtMYXlv
dXRUZXN0c10gQ29udmVydCBodHRwL3Rlc3RzL2FwcGNhY2hlIGNvbnZlcnQgUEhQIHRvIFB5dGhv
bgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jYWNoZS1yZWRpcmVjdGlvbnMu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2NhY2hlLXJl
ZGlyZWN0aW9ucy5odG1sCShyZXZpc2lvbiAyNzUzMzIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL2NhY2hlLXJlZGlyZWN0aW9ucy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xNSw3
ICsxNSw3IEBAIHRlc3Quc3RlcChmdW5jdGlvbigpIHsKIAogdmFyIGNvdW50ZXIgPSAwOwogdmFy
IHJlc291cmNlID0gIk5vIjsKLXZhciBiYXNlVVJMID0gInJlc291cmNlcy9jYWNoZS1jb250cm9s
LXJlZGlyZWN0LnBocD9jb2RlPTMwMiZ1cmw9Y2FjaGVhYmxlLXJhbmRvbS10ZXh0LnB5JnJhbmRv
bV9pZD0xIjsKK3ZhciBiYXNlVVJMID0gInJlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0
LnB5P2NvZGU9MzAyJnVybD1jYWNoZWFibGUtcmFuZG9tLXRleHQucHkmcmFuZG9tX2lkPTEiOwog
dmFyIHRlc3RDYXNlcyA9IFsKIHtuYW1lIDogIlNob3VsZCByZXVzZSByZXNvdXJjZSAoY2FjaGVh
YmxlIHJlZGlyZWN0aW9uKSIsIGV4cGVjdGVkIDogdHJ1ZSwgdXJsIDogYmFzZVVSTCArICImY2Fj
aGVfY29udHJvbD1wdWJsaWMsIG1heC1hZ2U9MTAwMCIsIHJlbG9hZERlbGF5IDogMH0sCiB7bmFt
ZSA6ICJTaG91bGQgcmVsb2FkIHJlc291cmNlIChuby1zdG9yZSByZWRpcmVjdGlvbikiLCBleHBl
Y3RlZCA6IGZhbHNlLCB1cmw6IGJhc2VVUkwgKyAiJmNhY2hlX2NvbnRyb2w9bm8tc3RvcmUmbWF4
X2FnZT0xMDAwIiwgcmVsb2FkRGVsYXkgOiAwfSwKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUveC1mcmFtZS1vcHRpb25zLTMwNC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUveC1mcmFtZS1vcHRpb25zLTMwNC5odG1sCShyZXZpc2lvbiAy
NzUzMzIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3gtZnJhbWUtb3B0aW9ucy0z
MDQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTcsOSArMTcsOSBAQCBmdW5jdGlvbiB0ZXN0KCkg
ewogCiAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChkb2N1bWVudC5ib2R5Lmxhc3RDaGls
ZCk7CiAgICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwot
ICAgIGlmcmFtZS5zcmMgPSAicmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5waHAiCisgICAgaWZy
YW1lLnNyYyA9ICJyZXNvdXJjZXMveC1mcmFtZS1vcHRpb25zLnB5IgogICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKIH0KIDwvc2NyaXB0PgotPGlmcmFtZSBzcmM9InJlc291
cmNlcy94LWZyYW1lLW9wdGlvbnMucGhwIj48L2lmcmFtZT4KKzxpZnJhbWUgc3JjPSJyZXNvdXJj
ZXMveC1mcmFtZS1vcHRpb25zLnB5Ij48L2lmcmFtZT4KIDwvYm9keT4KSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3QucGhw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2Nh
Y2hlLWNvbnRyb2wtcmVkaXJlY3QucGhwCShyZXZpc2lvbiAyNzUzMzIpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0LnBocAko
bm9uZXhpc3RlbnQpCkBAIC0xLDI3ICswLDAgQEAKLTw/cGhwCi0gICAgJGNvZGUgPSAkX0dFVFsn
Y29kZSddOwotICAgIGlmICghaXNzZXQoJGNvZGUpKQotICAgICAgICAkY29kZSA9IDMwMjsKLSAg
ICBoZWFkZXIoJ0hUVFAvMS4xICcgLiAkY29kZSk7Ci0KLSAgICAkdXJsID0gJF9HRVRbJ3VybCdd
OwotICAgICRyYW5kb21faWQgPSAkX0dFVFsncmFuZG9tX2lkJ107Ci0gICAgaWYgKGlzc2V0KCRy
YW5kb21faWQpKSB7Ci0gICAgICAgICRpZCA9ICcnOwotICAgICAgICAkY2hhcnNldCA9ICdBQkNE
RUZHSElLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OSc7Ci0gICAgICAgIGZvciAoJGkgPSAwOyAk
aSA8IDE2OyAkaSsrKQotICAgICAgICAgICAgJGlkIC49ICRjaGFyc2V0W3JhbmQoMCwgc3RybGVu
KCRjaGFyc2V0KSAtIDEpXTsKLSAgICAgICAgaGVhZGVyKCdMb2NhdGlvbjogJyAuICR1cmwgLiAn
P2lkPScgLiAkaWQpOwotICAgIH0KLSAgICBlbHNlCi0gICAgICAgIGhlYWRlcignTG9jYXRpb246
ICcgLiAkdXJsKTsKLQotICAgICRleHBpcmF0aW9uID0gJF9HRVRbJ2V4cGlyYXRpb24nXTsKLSAg
ICBpZiAoaXNzZXQoJGV4cGlyYXRpb24pKSB7Ci0gICAgICAgICRleHBpcmVzID0gZ21kYXRlKERB
VEVfUkZDMTEyMywgdGltZSgpICsgJGV4cGlyYXRpb24pOwotICAgICAgICBoZWFkZXIoJ0V4cGly
ZXM6ICcgLiAkZXhwaXJlcyk7Ci0gICAgfQotCi0gICAgJGNhY2hlX2NvbnRyb2wgPSAkX0dFVFsn
Y2FjaGVfY29udHJvbCddOwotICAgIGhlYWRlcignQ2FjaGUtQ29udHJvbDogJyAuICRjYWNoZV9j
b250cm9sKTsKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNl
cy9jYWNoZS1jb250cm9sLXJlZGlyZWN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3QucHkJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGUt
Y29udHJvbC1yZWRpcmVjdC5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMzIEBACisjIS91
c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSByYW5kb20g
aW1wb3J0IHJhbmRpbnQKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9ydCBwYXJzZV9xcworCitxdWVy
eSA9IHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAnJyksIGtlZXBfYmxh
bmtfdmFsdWVzPVRydWUpCitjYWNoZV9jb250cm9sID0gcXVlcnkuZ2V0KCdjYWNoZV9jb250cm9s
JywgWycnXSlbMF0KK2NvZGUgPSBxdWVyeS5nZXQoJ2NvZGUnLCBbMzAyXSlbLTFdCitleHBpcmF0
aW9uID0gcXVlcnkuZ2V0KCdleHBpcmF0aW9uJywgW05vbmVdKVswXQorcmFuZG9tX2lkID0gcXVl
cnkuZ2V0KCdyYW5kb21faWQnLCBbTm9uZV0pWzBdCit1cmwgPSBxdWVyeS5nZXQoJ3VybCcsIFsn
J10pWzBdCisKK3N5cy5zdGRvdXQud3JpdGUoJ3N0YXR1czoge31cclxuJy5mb3JtYXQoaW50KGNv
ZGUpKSkKKworaWYgcmFuZG9tX2lkIGlzIG5vdCBOb25lOgorICAgIGlkZW50ID0gJycKKyAgICBj
aGFyc2V0ID0gJ0FCQ0RFRkdISUtMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5JworICAgIGZvciBf
IGluIHJhbmdlKDAsIDE2KToKKyAgICAgICAgaWRlbnQgKz0gY2hhcnNldFtyYW5kaW50KDAsIGxl
bihjaGFyc2V0KSAtIDEpXQorICAgIHN5cy5zdGRvdXQud3JpdGUoJ0xvY2F0aW9uOiB7fT9pZD17
fVxyXG4nLmZvcm1hdCh1cmwsIGlkZW50KSkKK2Vsc2U6CisgICAgc3lzLnN0ZG91dC53cml0ZSgn
TG9jYXRpb246IHt9XHJcbicuZm9ybWF0KHVybCkpCisKK2lmIGV4cGlyYXRpb24gaXMgbm90IE5v
bmU6CisgICAgZXhwaXJlcyA9ICd7fSArMDAwMCcuZm9ybWF0KGV4cGlyZXMuc3RyZnRpbWUoJyVh
LCAlZCAlYiAlWSAlSDolTTolUycpKQorICAgIHN5cy5zdGRvdXQud3JpdGUoJ0V4cGlyZXM6IHt9
XHJcbicuZm9ybWF0KGV4cGlyZXMpKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdDb250ZW50
LVR5cGU6IHRleHQvaHRtbFxyXG4nCisgICAgJ0NhY2hlLUNvbnRyb2w6IHt9XHJcblxyXG4nLmZv
cm1hdChjYWNoZV9jb250cm9sKQorKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL2Nh
Y2hlLWNvbnRyb2wtcmVkaXJlY3QucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUK
IyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3Qu
cGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2Vz
L3Blcm1hbmVudC1yZWRpcmVjdC5waHAJKHJldmlzaW9uIDI3NTMzMikKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvcmVzb3VyY2VzL3Blcm1hbmVudC1yZWRpcmVjdC5waHAJKG5vbmV4
aXN0ZW50KQpAQCAtMSw2ICswLDAgQEAKLTw/Ci0kbG9jYXRpb24gPSAkX0dFVFsnbG9jYXRpb24n
XTsKLQotaGVhZGVyKCdIVFRQLzEuMSAzMDEgUGVybWFuZW50IFJlZGlyZWN0Jyk7Ci1oZWFkZXIo
J0xvY2F0aW9uOicgLiAkbG9jYXRpb24pOwotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUvcmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5waHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveC1mcmFtZS1vcHRpb25zLnBocAko
cmV2aXNpb24gMjc1MzMyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJj
ZXMveC1mcmFtZS1vcHRpb25zLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDI2ICswLDAgQEAKLTw/
cGhwDQotcmVxdWlyZV9vbmNlICcuLi8uLi9yZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXllci5waHAn
Ow0KLQ0KLWNsZWFyc3RhdGNhY2hlKCk7DQotDQotaWYgKCRfU0VSVkVSWyJIVFRQX0lGX01PRElG
SUVEX1NJTkNFIl0pIHsNCi0gICAgaGVhZGVyKCJIVFRQLzEuMCAzMDQgTm90IE1vZGlmaWVkIik7
DQotICAgIGV4aXQoKTsNCi19DQotJG9uZV95ZWFyID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MDsN
Ci0kbGFzdF9tb2RpZmllZCA9IGdtZGF0ZShEQVRFX1JGQzExMjMsIHRpbWUoKSAtICRvbmVfeWVh
cik7DQotJGV4cGlyZXMgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgKyAkb25lX3llYXIp
Ow0KLQotDQotaGVhZGVyKCdDYWNoZS1Db250cm9sOiBuby1jYWNoZSwgbWF4LWFnZT0nIC4gJG9u
ZV95ZWFyKTsNCi1oZWFkZXIoJ0V4cGlyZXM6ICcgLiAkZXhwaXJlcyk7DQotaGVhZGVyKCdDb250
ZW50LVR5cGU6IHRleHQvaHRtbCcpOw0KLWhlYWRlcignRXRhZzogMTIzNDU2Nzg5Jyk7DQotaGVh
ZGVyKCdMYXN0LU1vZGlmaWVkOiAnIC4gJGxhc3RfbW9kaWZpZWQpOw0KLWhlYWRlcignWC1GUkFN
RS1PUFRJT05TOiBBTExPV0FMTCcpOwotCi1lY2hvICI8Ym9keT48c2NyaXB0PlxuIjsKLWVjaG8g
IndpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsgd2luZG93LnBhcmVudC50ZXN0KCk7IH1cbiI7
Ci1lY2hvICI8L3NjcmlwdD48L2JvZHk+XG4iOwotDQotPz4NCkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94LWZyYW1lLW9wdGlvbnMucHkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveC1mcmFtZS1vcHRpb25z
LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL3gtZnJhbWUtb3B0aW9ucy5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5IEBACisj
IS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSBkYXRl
dGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0YQorCittb2RpZmllZF9zaW5jZSA9IG9zLmVu
dmlyb24uZ2V0KCdIVFRQX0lGX01PRElGSUVEX1NJTkNFJywgJycpCisKK3N5cy5zdGRvdXQud3Jp
dGUoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcbicpCisKK2lmIG1vZGlmaWVkX3NpbmNlOgor
ICAgIHN5cy5zdGRvdXQud3JpdGUoJ3N0YXR1czogMzA0XHJcblxyXG4nKQorICAgIHN5cy5leGl0
KDApCisKK29uZV95ZWFyID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MAorbGFzdF9tb2RpZmllZCA9
ICd7fSArMDAwMCcuZm9ybWF0KChkYXRldGltZS51dGNub3coKSAtIHRpbWVkZWx0YShzZWNvbmRz
PW9uZV95ZWFyKSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorZXhwaXJlcyA9
ICd7fSArMDAwMCcuZm9ybWF0KChkYXRldGltZS51dGNub3coKSArIHRpbWVkZWx0YShzZWNvbmRz
PW9uZV95ZWFyKSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycpKQorCitzeXMuc3Rk
b3V0LndyaXRlKAorICAgICdDYWNoZS1Db250cm9sOiBuby1jYWNoZSwgbWF4LWFnZT17fVxyXG4n
CisgICAgJ0V4cGlyZXM6IHt9XHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxu
JworICAgICdFdGFnOiAxMjM0NTY3ODlcclxuJworICAgICdMYXN0LU1vZGlmaWVkOiB7fVxyXG4n
CisgICAgJ1gtRlJBTUUtT1BUSU9OUzogQUxMT1dBTExcclxuXHJcbicKKyAgICAnPGJvZHk+PHNj
cmlwdD5cbicKKyAgICAnd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkge3sgd2luZG93LnBhcmVu
dC50ZXN0KCk7IH19XG4nCisgICAgJzwvc2NyaXB0PjwvYm9keT5cbicuZm9ybWF0KG9uZV95ZWFy
LCBleHBpcmVzLCBsYXN0X21vZGlmaWVkKQorKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvcmVzb3Vy
Y2VzL3gtZnJhbWUtb3B0aW9ucy5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQoj
IyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi93aW5kb3ctb3Blbi1yZWRpcmVjdC1hbmQt
cmVtb3ZlLW9wZW5lci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bmF2aWdhdGlvbi93aW5kb3ctb3Blbi1yZWRpcmVjdC1hbmQtcmVtb3ZlLW9wZW5lci5odG1sCShy
ZXZpc2lvbiAyNzUzMzIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vd2lu
ZG93LW9wZW4tcmVkaXJlY3QtYW5kLXJlbW92ZS1vcGVuZXIuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMTgsNyArMTgsNyBAQCBmdW5jdGlvbiByZW1vdmVJZnJhbWVBKCkKIDxwPlRlc3RzIHRoYXQg
d2UgZG8gbm90IGNyYXNoIHdoZW4gcmVtb3ZpbmcgdGhlIG9wZW5lciBhZnRlciB1c2luZyB3aW5k
b3cub3BlbigpIHRvIGxvYWQgYSByZXNvdXJjZSB0aGF0IHJlZGlyZWN0cy48L3A+CiA8aWZyYW1l
IG5hbWU9IkEiIHNyY2RvYz0nCiA8c2NyaXB0Pgotd2luZG93Lm9wZW4oImh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvY2FjaGUtY29udHJvbC1yZWRpcmVjdC5waHA/dXJsPWh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL3Jlc291cmNlcy93aW5kb3ctb3Blbi1yZWRp
cmVjdC1hbmQtcmVtb3ZlLW9wZW5lci5odG1sIiwgIkIiKTsKK3dpbmRvdy5vcGVuKCJodHRwOi8v
MTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3QucHk/
dXJsPWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL3Jlc291cmNlcy93aW5kb3ctb3Bl
bi1yZWRpcmVjdC1hbmQtcmVtb3ZlLW9wZW5lci5odG1sIiwgIkIiKTsKIHBhcmVudC5yZW1vdmVJ
ZnJhbWVBKCk7CiA8L3NjcmlwdD4KICc+PC9pZnJhbWU+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L2NhY2hlYWJsZS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtY3Jh
c2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1
ZXN0L2NhY2hlYWJsZS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtY3Jhc2guaHRtbAkocmV2aXNpb24g
Mjc1MzMyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9jYWNoZWFi
bGUtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWNyYXNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTYs
NyArNiw3IEBACiBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB3ZSBkbyBub3QgY3Jhc2ggd2hlbiBY
SFIgcmV1c2VzIGEgY2FjaGVkIHJlc291cmNlIHRoYXQgY29udGFpbnMgYSBzaW1wbGUgY3Jvc3Mg
b3JpZ2luIHJlZGlyZWN0LiIpOwoganNUZXN0SXNBc3luYyA9IHRydWU7CiAKLWNvbnN0IHVybCA9
ICIvY2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3QucGhwP2NvZGU9MzAyJmNh
Y2hlX2NvbnRyb2w9cHVibGljLG1heC1hZ2U9MTAwMCZ1cmw9aHR0cCUzQSUyRiUyRmxvY2FsaG9z
dCUzQTgwMDAlMkZzZWN1cml0eSUyRnJlc291cmNlcyUyRmFsbG93LWlmLW9yaWdpbi5weSUzRmFs
bG93Q2FjaGUlMjZhbGxvd0NyZWRlbnRpYWxzJTI2b3JpZ2luJTNEaHR0cCUyNTNBJTI1MkYlMjUy
RjEyNy4wLjAuMSUyNTNBODAwMCI7Citjb25zdCB1cmwgPSAiL2NhY2hlL3Jlc291cmNlcy9jYWNo
ZS1jb250cm9sLXJlZGlyZWN0LnB5P2NvZGU9MzAyJmNhY2hlX2NvbnRyb2w9cHVibGljLG1heC1h
Z2U9MTAwMCZ1cmw9aHR0cCUzQSUyRiUyRmxvY2FsaG9zdCUzQTgwMDAlMkZzZWN1cml0eSUyRnJl
c291cmNlcyUyRmFsbG93LWlmLW9yaWdpbi5weSUzRmFsbG93Q2FjaGUlMjZhbGxvd0NyZWRlbnRp
YWxzJTI2b3JpZ2luJTNEaHR0cCUyNTNBJTI1MkYlMjUyRjEyNy4wLjAuMSUyNTNBODAwMCI7CiAK
IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogeGhyLndpdGhDcmVkZW50aWFscyA9IHRydWU7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424949</attachid>
            <date>2021-04-01 14:33:27 -0700</date>
            <delta_ts>2021-04-01 15:39:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222935-20210401173326.patch</filename>
            <type>text/plain</type>
            <size>10558</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NTM4MCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDIxLTA0LTAxICBDaHJpcyBHYW1icmVsbCAg
PGNnYW1icmVsbEBhcHBsZS5jb20+CisKKyAgICAgICAgW0xheW91dFRlc3RzXSBDb252ZXJ0IGh0
dHAvdGVzdHMvY2FjaGUgY29udmVydCBQSFAgdG8gUHl0aG9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI5MzUKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzc1MTgzMzE0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9jYWNoZS1yZWRpcmVjdGlvbnMuaHRtbDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0LnBo
cDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1j
b250cm9sLXJlZGlyZWN0LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jl
c291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvY2FjaGUvcmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5weTogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9jYWNoZS94LWZyYW1lLW9wdGlvbnMtMzA0Lmh0bWw6CisgICAgICAgICog
aHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3dpbmRvdy1vcGVuLXJlZGlyZWN0LWFuZC1yZW1vdmUtb3Bl
bmVyLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9jYWNoZWFibGUt
Y3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWNyYXNoLmh0bWw6CisKIDIwMjEtMDQtMDEgIENocmlzIEdh
bWJyZWxsICA8Y2dhbWJyZWxsQGFwcGxlLmNvbT4KIAogICAgICAgICBMYXlvdXRUZXN0c10gQ29u
dmVydCBodHRwL3Rlc3RzL2Rvd25sb2FkIGNvbnZlcnQgUEhQIHRvIFB5dGhvbgpAQCAtMTg1LDYg
KzIwMiwyNCBAQAogCiAyMDIxLTAzLTMxICBDaHJpcyBHYW1icmVsbCAgPGNnYW1icmVsbEBhcHBs
ZS5jb20+CiAKKyAgICAgICAgW0xheW91dFRlc3RzXSBDb252ZXJ0IGh0dHAvdGVzdHMvY2FjaGUg
Y29udmVydCBQSFAgdG8gUHl0aG9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjI5MzUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1MTgzMzE0Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90
ZXN0cy9jYWNoZS9jYWNoZS1yZWRpcmVjdGlvbnMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0LnBocDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0
LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wZXJtYW5l
bnQtcmVkaXJlY3QucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvcmVz
b3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9jYWNoZS9yZXNvdXJjZXMveC1mcmFtZS1vcHRpb25zLnB5OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2NhY2hlL3gtZnJhbWUtb3B0aW9ucy0zMDQuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL25hdmlnYXRpb24vd2luZG93LW9wZW4tcmVkaXJlY3QtYW5kLXJlbW92ZS1vcGVuZXIu
aHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2NhY2hlYWJsZS1jcm9z
cy1vcmlnaW4tcmVkaXJlY3QtY3Jhc2guaHRtbDoKKworMjAyMS0wMy0zMSAgQ2hyaXMgR2FtYnJl
bGwgIDxjZ2FtYnJlbGxAYXBwbGUuY29tPgorCiAgICAgICAgIFtMYXlvdXRUZXN0c10gQ29udmVy
dCBodHRwL3Rlc3RzL2FwcGNhY2hlIGNvbnZlcnQgUEhQIHRvIFB5dGhvbgogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMjg2CiAgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS83Mzg5Mzg0ND4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
Y2FjaGUtcmVkaXJlY3Rpb25zLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9jYWNoZS1yZWRpcmVjdGlvbnMuaHRtbAkocmV2aXNpb24gMjc1MzgwKQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9jYWNoZS1yZWRpcmVjdGlvbnMuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMTUsNyArMTUsNyBAQCB0ZXN0LnN0ZXAoZnVuY3Rpb24oKSB7CiAKIHZh
ciBjb3VudGVyID0gMDsKIHZhciByZXNvdXJjZSA9ICJObyI7Ci12YXIgYmFzZVVSTCA9ICJyZXNv
dXJjZXMvY2FjaGUtY29udHJvbC1yZWRpcmVjdC5waHA/Y29kZT0zMDImdXJsPWNhY2hlYWJsZS1y
YW5kb20tdGV4dC5weSZyYW5kb21faWQ9MSI7Cit2YXIgYmFzZVVSTCA9ICJyZXNvdXJjZXMvY2Fj
aGUtY29udHJvbC1yZWRpcmVjdC5weT9jb2RlPTMwMiZ1cmw9Y2FjaGVhYmxlLXJhbmRvbS10ZXh0
LnB5JnJhbmRvbV9pZD0xIjsKIHZhciB0ZXN0Q2FzZXMgPSBbCiB7bmFtZSA6ICJTaG91bGQgcmV1
c2UgcmVzb3VyY2UgKGNhY2hlYWJsZSByZWRpcmVjdGlvbikiLCBleHBlY3RlZCA6IHRydWUsIHVy
bCA6IGJhc2VVUkwgKyAiJmNhY2hlX2NvbnRyb2w9cHVibGljLCBtYXgtYWdlPTEwMDAiLCByZWxv
YWREZWxheSA6IDB9LAoge25hbWUgOiAiU2hvdWxkIHJlbG9hZCByZXNvdXJjZSAobm8tc3RvcmUg
cmVkaXJlY3Rpb24pIiwgZXhwZWN0ZWQgOiBmYWxzZSwgdXJsOiBiYXNlVVJMICsgIiZjYWNoZV9j
b250cm9sPW5vLXN0b3JlJm1heF9hZ2U9MTAwMCIsIHJlbG9hZERlbGF5IDogMH0sCkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3gtZnJhbWUtb3B0aW9ucy0zMDQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3gtZnJhbWUtb3B0aW9ucy0z
MDQuaHRtbAkocmV2aXNpb24gMjc1MzgwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS94LWZyYW1lLW9wdGlvbnMtMzA0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE3LDkgKzE3LDkg
QEAgZnVuY3Rpb24gdGVzdCgpIHsKIAogICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9j
dW1lbnQuYm9keS5sYXN0Q2hpbGQpOwogICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJpZnJhbWUiKTsKLSAgICBpZnJhbWUuc3JjID0gInJlc291cmNlcy94LWZyYW1lLW9w
dGlvbnMucGhwIgorICAgIGlmcmFtZS5zcmMgPSAicmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5w
eSIKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7CiB9CiA8L3NjcmlwdD4K
LTxpZnJhbWUgc3JjPSJyZXNvdXJjZXMveC1mcmFtZS1vcHRpb25zLnBocCI+PC9pZnJhbWU+Cis8
aWZyYW1lIHNyYz0icmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5weSI+PC9pZnJhbWU+CiA8L2Jv
ZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1j
b250cm9sLXJlZGlyZWN0LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0LnBocAkocmV2aXNpb24gMjc1
MzgwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGUtY29u
dHJvbC1yZWRpcmVjdC5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwyNyArMCwwIEBACi08P3BocAot
ICAgICRjb2RlID0gJF9HRVRbJ2NvZGUnXTsKLSAgICBpZiAoIWlzc2V0KCRjb2RlKSkKLSAgICAg
ICAgJGNvZGUgPSAzMDI7Ci0gICAgaGVhZGVyKCdIVFRQLzEuMSAnIC4gJGNvZGUpOwotCi0gICAg
JHVybCA9ICRfR0VUWyd1cmwnXTsKLSAgICAkcmFuZG9tX2lkID0gJF9HRVRbJ3JhbmRvbV9pZCdd
OwotICAgIGlmIChpc3NldCgkcmFuZG9tX2lkKSkgewotICAgICAgICAkaWQgPSAnJzsKLSAgICAg
ICAgJGNoYXJzZXQgPSAnQUJDREVGR0hJS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODknOwotICAg
ICAgICBmb3IgKCRpID0gMDsgJGkgPCAxNjsgJGkrKykKLSAgICAgICAgICAgICRpZCAuPSAkY2hh
cnNldFtyYW5kKDAsIHN0cmxlbigkY2hhcnNldCkgLSAxKV07Ci0gICAgICAgIGhlYWRlcignTG9j
YXRpb246ICcgLiAkdXJsIC4gJz9pZD0nIC4gJGlkKTsKLSAgICB9Ci0gICAgZWxzZQotICAgICAg
ICBoZWFkZXIoJ0xvY2F0aW9uOiAnIC4gJHVybCk7Ci0KLSAgICAkZXhwaXJhdGlvbiA9ICRfR0VU
WydleHBpcmF0aW9uJ107Ci0gICAgaWYgKGlzc2V0KCRleHBpcmF0aW9uKSkgewotICAgICAgICAk
ZXhwaXJlcyA9IGdtZGF0ZShEQVRFX1JGQzExMjMsIHRpbWUoKSArICRleHBpcmF0aW9uKTsKLSAg
ICAgICAgaGVhZGVyKCdFeHBpcmVzOiAnIC4gJGV4cGlyZXMpOwotICAgIH0KLQotICAgICRjYWNo
ZV9jb250cm9sID0gJF9HRVRbJ2NhY2hlX2NvbnRyb2wnXTsKLSAgICBoZWFkZXIoJ0NhY2hlLUNv
bnRyb2w6ICcgLiAkY2FjaGVfY29udHJvbCk7Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9yZXNvdXJjZXMvY2FjaGUtY29udHJvbC1yZWRpcmVjdC5weQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9s
LXJlZGlyZWN0LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3QucHkJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzMyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9y
dCBzeXMKK2Zyb20gcmFuZG9tIGltcG9ydCByYW5kaW50Citmcm9tIHVybGxpYi5wYXJzZSBpbXBv
cnQgcGFyc2VfcXMKKworcXVlcnkgPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RS
SU5HJywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKQorY2FjaGVfY29udHJvbCA9IHF1ZXJ5
LmdldCgnY2FjaGVfY29udHJvbCcsIFsnJ10pWzBdCitjb2RlID0gcXVlcnkuZ2V0KCdjb2RlJywg
WzMwMl0pWy0xXQorZXhwaXJhdGlvbiA9IHF1ZXJ5LmdldCgnZXhwaXJhdGlvbicsIFtOb25lXSlb
MF0KK3JhbmRvbV9pZCA9IHF1ZXJ5LmdldCgncmFuZG9tX2lkJywgW05vbmVdKVswXQordXJsID0g
cXVlcnkuZ2V0KCd1cmwnLCBbJyddKVswXQorCitzeXMuc3Rkb3V0LndyaXRlKCdzdGF0dXM6IHt9
XHJcbicuZm9ybWF0KGludChjb2RlKSkpCisKK2lmIHJhbmRvbV9pZCBpcyBub3QgTm9uZToKKyAg
ICBpZGVudCA9ICcnCisgICAgY2hhcnNldCA9ICdBQkNERUZHSElLTE1OT1BRUlNUVVZXWFlaMDEy
MzQ1Njc4OScKKyAgICBmb3IgXyBpbiByYW5nZSgwLCAxNik6CisgICAgICAgIGlkZW50ICs9IGNo
YXJzZXRbcmFuZGludCgwLCBsZW4oY2hhcnNldCkgLSAxKV0KKyAgICBzeXMuc3Rkb3V0LndyaXRl
KCdMb2NhdGlvbjoge30/aWQ9e31cclxuJy5mb3JtYXQodXJsLCBpZGVudCkpCitlbHNlOgorICAg
IHN5cy5zdGRvdXQud3JpdGUoJ0xvY2F0aW9uOiB7fVxyXG4nLmZvcm1hdCh1cmwpKQorCitpZiBl
eHBpcmF0aW9uIGlzIG5vdCBOb25lOgorICAgIGV4cGlyZXMgPSAne30gKzAwMDAnLmZvcm1hdChl
eHBpcmVzLnN0cmZ0aW1lKCclYSwgJWQgJWIgJVkgJUg6JU06JVMnKSkKKyAgICBzeXMuc3Rkb3V0
LndyaXRlKCdFeHBpcmVzOiB7fVxyXG4nLmZvcm1hdChleHBpcmVzKSkKKworc3lzLnN0ZG91dC53
cml0ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJworICAgICdDYWNoZS1Db250
cm9sOiB7fVxyXG5cclxuJy5mb3JtYXQoY2FjaGVfY29udHJvbCkKKykKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL3Jlc291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0LnB5Cl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMv
cGVybWFuZW50LXJlZGlyZWN0LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3Jlc291cmNlcy9wZXJtYW5lbnQtcmVkaXJlY3QucGhwCShyZXZpc2lvbiAyNzUz
ODApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9wZXJtYW5lbnQt
cmVkaXJlY3QucGhwCShub25leGlzdGVudCkKQEAgLTEsNiArMCwwIEBACi08PwotJGxvY2F0aW9u
ID0gJF9HRVRbJ2xvY2F0aW9uJ107Ci0KLWhlYWRlcignSFRUUC8xLjEgMzAxIFBlcm1hbmVudCBS
ZWRpcmVjdCcpOwotaGVhZGVyKCdMb2NhdGlvbjonIC4gJGxvY2F0aW9uKTsKLT8+CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy94LWZyYW1lLW9wdGlvbnMucHkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMveC1m
cmFtZS1vcHRpb25zLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5weQkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDI5IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5
cworZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0YQorCittb2RpZmllZF9z
aW5jZSA9IG9zLmVudmlyb24uZ2V0KCdIVFRQX0lGX01PRElGSUVEX1NJTkNFJywgJycpCisKK3N5
cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcbicpCisKK2lmIG1vZGlm
aWVkX3NpbmNlOgorICAgIHN5cy5zdGRvdXQud3JpdGUoJ3N0YXR1czogMzA0XHJcblxyXG4nKQor
ICAgIHN5cy5leGl0KDApCisKK29uZV95ZWFyID0gMTIgKiAzMSAqIDI0ICogNjAgKiA2MAorbGFz
dF9tb2RpZmllZCA9ICd7fSArMDAwMCcuZm9ybWF0KChkYXRldGltZS51dGNub3coKSAtIHRpbWVk
ZWx0YShzZWNvbmRzPW9uZV95ZWFyKSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycp
KQorZXhwaXJlcyA9ICd7fSArMDAwMCcuZm9ybWF0KChkYXRldGltZS51dGNub3coKSArIHRpbWVk
ZWx0YShzZWNvbmRzPW9uZV95ZWFyKSkuc3RyZnRpbWUoJyVhLCAlZCAlYiAlWSAlSDolTTolUycp
KQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdDYWNoZS1Db250cm9sOiBuby1jYWNoZSwgbWF4
LWFnZT17fVxyXG4nCisgICAgJ0V4cGlyZXM6IHt9XHJcbicKKyAgICAnQ29udGVudC1UeXBlOiB0
ZXh0L2h0bWxcclxuJworICAgICdFdGFnOiAxMjM0NTY3ODlcclxuJworICAgICdMYXN0LU1vZGlm
aWVkOiB7fVxyXG4nCisgICAgJ1gtRlJBTUUtT1BUSU9OUzogQUxMT1dBTExcclxuXHJcbicKKyAg
ICAnPGJvZHk+PHNjcmlwdD5cbicKKyAgICAnd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkge3sg
d2luZG93LnBhcmVudC50ZXN0KCk7IH19XG4nCisgICAgJzwvc2NyaXB0PjwvYm9keT5cbicuZm9y
bWF0KG9uZV95ZWFyLCBleHBpcmVzLCBsYXN0X21vZGlmaWVkKQorKQpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUvcmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy5weQpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi93aW5kb3ctb3Blbi1y
ZWRpcmVjdC1hbmQtcmVtb3ZlLW9wZW5lci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbmF2aWdhdGlvbi93aW5kb3ctb3Blbi1yZWRpcmVjdC1hbmQtcmVtb3ZlLW9w
ZW5lci5odG1sCShyZXZpc2lvbiAyNzUzODApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25h
dmlnYXRpb24vd2luZG93LW9wZW4tcmVkaXJlY3QtYW5kLXJlbW92ZS1vcGVuZXIuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMTgsNyArMTgsNyBAQCBmdW5jdGlvbiByZW1vdmVJZnJhbWVBKCkKIDxw
PlRlc3RzIHRoYXQgd2UgZG8gbm90IGNyYXNoIHdoZW4gcmVtb3ZpbmcgdGhlIG9wZW5lciBhZnRl
ciB1c2luZyB3aW5kb3cub3BlbigpIHRvIGxvYWQgYSByZXNvdXJjZSB0aGF0IHJlZGlyZWN0cy48
L3A+CiA8aWZyYW1lIG5hbWU9IkEiIHNyY2RvYz0nCiA8c2NyaXB0Pgotd2luZG93Lm9wZW4oImh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9jYWNoZS9yZXNvdXJjZXMvY2FjaGUtY29udHJvbC1yZWRpcmVj
dC5waHA/dXJsPWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL3Jlc291cmNlcy93aW5k
b3ctb3Blbi1yZWRpcmVjdC1hbmQtcmVtb3ZlLW9wZW5lci5odG1sIiwgIkIiKTsKK3dpbmRvdy5v
cGVuKCJodHRwOi8vMTI3LjAuMC4xOjgwMDAvY2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wt
cmVkaXJlY3QucHk/dXJsPWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL3Jlc291cmNl
cy93aW5kb3ctb3Blbi1yZWRpcmVjdC1hbmQtcmVtb3ZlLW9wZW5lci5odG1sIiwgIkIiKTsKIHBh
cmVudC5yZW1vdmVJZnJhbWVBKCk7CiA8L3NjcmlwdD4KICc+PC9pZnJhbWU+CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2NhY2hlYWJsZS1jcm9zcy1vcmlnaW4t
cmVkaXJlY3QtY3Jhc2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L2NhY2hlYWJsZS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtY3Jhc2guaHRt
bAkocmV2aXNpb24gMjc1MzgwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9jYWNoZWFibGUtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWNyYXNoLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTYsNyArNiw3IEBACiBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB3ZSBkbyBub3Qg
Y3Jhc2ggd2hlbiBYSFIgcmV1c2VzIGEgY2FjaGVkIHJlc291cmNlIHRoYXQgY29udGFpbnMgYSBz
aW1wbGUgY3Jvc3Mgb3JpZ2luIHJlZGlyZWN0LiIpOwoganNUZXN0SXNBc3luYyA9IHRydWU7CiAK
LWNvbnN0IHVybCA9ICIvY2FjaGUvcmVzb3VyY2VzL2NhY2hlLWNvbnRyb2wtcmVkaXJlY3QucGhw
P2NvZGU9MzAyJmNhY2hlX2NvbnRyb2w9cHVibGljLG1heC1hZ2U9MTAwMCZ1cmw9aHR0cCUzQSUy
RiUyRmxvY2FsaG9zdCUzQTgwMDAlMkZzZWN1cml0eSUyRnJlc291cmNlcyUyRmFsbG93LWlmLW9y
aWdpbi5weSUzRmFsbG93Q2FjaGUlMjZhbGxvd0NyZWRlbnRpYWxzJTI2b3JpZ2luJTNEaHR0cCUy
NTNBJTI1MkYlMjUyRjEyNy4wLjAuMSUyNTNBODAwMCI7Citjb25zdCB1cmwgPSAiL2NhY2hlL3Jl
c291cmNlcy9jYWNoZS1jb250cm9sLXJlZGlyZWN0LnB5P2NvZGU9MzAyJmNhY2hlX2NvbnRyb2w9
cHVibGljLG1heC1hZ2U9MTAwMCZ1cmw9aHR0cCUzQSUyRiUyRmxvY2FsaG9zdCUzQTgwMDAlMkZz
ZWN1cml0eSUyRnJlc291cmNlcyUyRmFsbG93LWlmLW9yaWdpbi5weSUzRmFsbG93Q2FjaGUlMjZh
bGxvd0NyZWRlbnRpYWxzJTI2b3JpZ2luJTNEaHR0cCUyNTNBJTI1MkYlMjUyRjEyNy4wLjAuMSUy
NTNBODAwMCI7CiAKIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogeGhyLndpdGhDcmVkZW50
aWFscyA9IHRydWU7Cg==
</data>
<flag name="review"
          id="444754"
          type_id="1"
          status="+"
          setter="jbedard"
    />
          </attachment>
      

    </bug>

</bugzilla>